Контекстное зондирование для компьютерных устройств

Иллюстрации

Показать все

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

Реферат

Область техники, к которой относится изобретение

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

Уровень техники

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

Краткое описание чертежей

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

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

фиг. 3 - блок-схема системы контекстного зондирования в соответствии с вариантами осуществления;

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

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

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

Подробное описание изобретения

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

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

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

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

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

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

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

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

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

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

ЦП 102 можно подсоединить через шину 106 к интерфейсу 108 устройства ввода/вывода (I/O), сконфигурированному для подсоединения вычислительного устройства 100 к одному или более устройствам 110 I/O. Устройства 110 I/O могут включать в себя, например, клавиатуру, указательное устройство, где указательное устройство может включать в себя, среди прочего, сенсорную панель или сенсорный экран. Устройства 110 I/O могут быть встроенными в компонентах вычислительного устройства 100, или могут представлять собой устройства, которые подсоединяются внешним образом к вычислительному устройству 100.

ЦП 102 может быть также связано через шину 106 с интерфейсом 112 дисплея, который сконфигурирован для подсоединения вычислительного устройства 100 к устройству 114 отображения. Устройство 114 отображения может включать в себя экран дисплея, который представляет собой встроенный компонент вычислительного устройства 100. Устройство 114 отображения может также включать в себя, среди прочего, компьютерный монитор, телевизор или проектор, который подсоединен внешним образом к вычислительному устройству 100.

Вычислительное устройство 100 может также включать в себя контроллер 116 сетевого интерфейса (NIC). NIC 116 можно сконфигурировать для подключения вычислительного устройства 100 через шину 106 к сети 118. Сеть 118 может представлять собой среди прочего глобальную сеть (WAN), локальную сеть (LAN) или Интернет.

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

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

Кроме того, запоминающее устройство 122 может включать в себя механизм 126 концентраторов датчиков и механизм 128 цифровой обработки сигналов (DSP). Механизм 126 концентраторов датчиков и механизм 128 DSP можно сконфигурировать для выгрузки процедуры контекстного зондирования из процессора 102 вычислительного устройства 100 и направления процедуры контекстного зондирования, основанной на триггерном механизме на основе контекста, как будет дополнительно обсуждено ниже. Процедуру контекстного зондирования можно выгрузить в механизм 126 концентраторов датчиков из ЦП 102 посредством связи датчиков 120 непосредственно с механизмом 126 концентраторов датчиков вместо центрального ЦП 102, как показано на рис. 1. Более того, в некоторых вариантах осуществления любой из датчиков 120 может быть непосредственно связан с механизмом 128 DSP вместо механизма 126 концентраторов датчиков.

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

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

SOC 200 может включать в себя процессор 204, который можно сконфигурировать для предоставления контекстной информации, полученной во время исполнения процедуры контекстного зондирования, в любое число контекстно-зависимых приложений (не показано), запускаемых на вычислительном устройстве. SOC 202 может также включать в себя механизмы 202А-В выгрузки. Более конкретно, SOC 200 может включать в себя механизм 202А концентратора датчиков и механизм 202 В DSP. Механизм 202А концентраторов датчиков может включать в себя триггерный механизм на основе контекста для направления процедуры контекстного зондирования и числа классификаторов для классификации контекстных данных, полученных во время процедуры контекстного зондирования, как обсуждено в отношении фиг. 3. SOC 200 может также включать в себя механизм 202В DSP, который может взаимодействовать с механизмом 202А концентратора датчиков, и оказывать помощь в направлении процедуры контекстного зондирования аудио.

Механизм 202А концентратора датчиков может быть связан с числом датчиков 206A-G, включающих в себя, например, светочувствительный датчик 206А, барометр 206В, датчик 206С близости, магнитометр 206D, гироскоп 206Е, акселерометр 206F и датчик 206G определения местоположения глобальной навигационной спутниковой системы (GNSS). Механизм 202А концентратора датчиков может быть связан со светочувствительным датчиком 206А, барометром 206В, датчиком 206С близости, магнитометром 206D, гироскопом 206Е и акселерометром 206F через шину межсоединений интегральных схем (I2C) 208. Механизм 202А концентраторов датчиков может быть связан с датчиком 206G определения местоположения GNSS через универсальный асинхронный приемник/передатчик (UART) 210.

Механизм 202В DSP может быть непосредственно связан с аудиодатчиком, таким как микрофон 206Н. В частности, микрофон 206Н может быть связан с аудиокодером/декодером (кодеком) 212, и аудиокодек 212 может быть связан с механизмом 202В DSP через I2C 214 и синхронный последовательный порта (SSP) 216.

Таким образом, в различных вариантах осуществления датчики 206А-Н подсоединены к механизму 202А концентратора датчиков или механизму 202В DSP вместо непосредственного подсоединения к процессору 204. Это позволяет сократить количество потребляемой мощности вычислительным устройством, поскольку процедура контекстного зондирования выгружается из процессора 204 в механизм 202А концентратора датчиков и механизм 202В DSP.

Механизмом 202А концентратора датчиков может принимать контекстную информацию из светочувствительного датчика 206А, барометра 206В, датчика 206С близости, магнитометра 206D, гироскопа 206Е или акселерометра 206F или любой их комбинации. Кроме того, механизм 202В DSP может принимать аудио контекстные данные из микрофона 206Н. Механизмом 202А концентратора датчиков и механизм 202В DSP могут анализировать такие контекстные данные для определения контекстной информации, соответствующей вычислительному устройству. Механизм 202А концентратора датчиков и механизм 202В DSP позволяет затем отправить контекстную информацию в процессор 204, который может переправить контекстную информацию в любое число контекстно-зависимых приложений, которые запросили такую контекстную информацию. Кроме того, в некоторых вариантах осуществления механизм 202А концентратора датчиков и механизм 202В DSP могут отправить контекстную информацию непосредственно в контекстно-зависимые приложения.

Блок-схема, показанная на фиг. 2, не предназначена для того, чтобы показать, что SOC 200 должен включать в себя все компоненты, показанные на фиг. 2. Кроме того, SOC 200 может включать в себя любое количество дополнительных компонентов, не показанных на фиг. 2, в зависимости от деталей конкретной реализации.

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

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

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

В различных вариантах осуществления система 300 контекстного зондирования включает в себя промежуточное программное обеспечение 306 для слияния контекста. Промежуточное программное обеспечение 306 для слияния контекста позволяет объединить всю контекстную информацию, которая поступает от датчиков 206А-Н. Промежуточное программное обеспечение 306 для слияния контекста позволяет определить подходящий интервал для триггерного механизма на основе контекста на основании контекстной информации, как будет дополнительно обсуждено ниже. Кроме того, промежуточное программное обеспечение 306 для слияния контекста может отправлять объединенную контекстную информацию в контекстную структуру 304, которая будет сохраняться, и/или отправлять в любое из контекстно-зависимых приложений 302.

Система 300 контекстного зондирования может также включать в себя ряд контекстных источников 308. Контекстные источники 308 включают в себя плагины, которые сконфигурированы для сбора информации датчиков, полученной с помощью датчиков 206А-Н из механизма 202А концентратора датчиков и механизма 202В DSP. Например, контекстные источники 308 могут включать в себя контекстный плагин 310А классификатора аудио, который сконфигурирован для сбора аудио контекстной информации из механизма 202В DSP. Кроме того, контекстные источники 308 могут включать в себя контекстный плагин 310В физической активности, контекстный плагин 310С терминала и контекстный плагин 310D распознавания жестов, которые настроены, соответственно, для сбора контекстной информации о физической активности, контекстную информацию о терминале и контекстной информации о распознавания жестов из механизма 202А концентратора датчиков.

Контекстная информация о физической активности включает в себя контекстные данные, поступающие от любого датчика 206A-G, которые можно использовать для определения контекст любой физической активности. Соответственно, акселерометр 206F можно использовать для определения физического ускорения, в то время как гироскоп 206Е можно использовать для определения ориентации вычислительного устройства. Более того, датчик 206С близости можно использовать для определения физической близости устройства к другим объектам.

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

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

Механизмом 202А концентратора датчиков может включать в себя ряд компонентов, включающих в себя программно-аппаратные средства 314 концентратора датчиков, драйверы 316 датчиков и ядро 318 операционной системы реального времени (RTOS). Механизм 202А концентратора датчиков может включать в себя ряд компонентов для реализации процедуры контекстного зондирования. Например, механизм 202А концентратора датчиков может включать в себя триггер 320 источника общего контекста. Триггер 320 источника общего контекста можно сконфигурировать для установки частоты дискретизации любого из датчиков 206A-G. Дополнительно, триггер 320 источника общего контекста может отправлять контекстные данные в ряд классификаторов 322А-С в заданные точки триггера или в заданные интервалы триггера. Заданные точки триггера могут возникать в случае, когда данные датчика, полученные с помощью датчика 206A-G, превышают предопределенный порог. Триггер 320 источника общего контекста может предусматривать предварительную обработку или запуск алгоритмов контекстного зондирования в классификаторах 322А-С.

Классификаторы 322А-С включают в себя контекстный классификатор 322А физической активности, контекстный классификатор 322В терминала и контекстный классификатор 322С распознавания жестов. Каждый классификатор 322А-С можно сконфигурировать для выполнения алгоритма контекстного зондирования, соответствующего одному или более датчикам 206A-G. Соответственно, каждый контекстный алгоритм может анализировать контекстные данные из любой комбинации датчиков 206A-G. Например, контекстный классификатор 322А физической активности можно сконфигурировать для выполнения алгоритма контекстного зондирования для анализа контекста данных, полученных с помощью акселерометра 206F. В качестве другого примера, контекстный классификатор 322С распознавания жестов можно сконфигурировать для выполнения алгоритма контекстного зондирования для анализа контекстных данных, полученные с помощью акселерометра 206F и гироскопа 206Е. На основании анализа таких контекстных данных классификаторы 322А-С позволяют определить контекстную информацию, относящуюся к вычислительному устройству. Определенную контекстную информацию можно затем направить в соответствующий плагин 310B-D.

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

Триггер 324 источника контекста аудио механизма 202А концентратора датчиков может поддерживать связь с контекстным классификатором 326 аудио из механизма 202В DSP через связь 328 между процессами (IPC). Основываясь на триггере, полученном из триггера 324 источника контекста аудио, можно сконфигурировать контекстный классификатор 326 аудио для выполнения алгоритма контекстного зондирования для анализа контекстных аудиоданных, полученных из микрофона 206Н. Контекстный классификатор 326 аудио может инициировать алгоритм контекстного зондирования в ответ на ввод, например, из триггера 324 источника контекста аудио. На основании анализа таких контекстных аудиоданных, контекстный классификатор 326 аудио может определить аудио контекстную информацию, относящуюся к вычислительному устройству. Например, контекстный классификатор 326 аудио может использовать захваченные аудиоданные импульсно-кодовой модуляции (РСМ) для классификации аудио контекста вычислительного устройства, например, речи, музыки, шума толпы, тишины, механического звука или звук движения в окружающей среде вычислительного устройства. Определенную аудио контекстную информацию может затем отправить в контекстный плагин 310A классификатора аудио.

В некоторых вариантах осуществления механизм 202В DSP также включает в себя ряд компонентов, таких как программно-аппаратные средства 330 DSP, интерфейс 332 воспроизведения и интерфейс 334 записи. Однако в некоторых случаях интерфейс 332 воспроизведения может быть не включен в механизм 202В DSP.

Кроме того, в некоторых вариантах осуществления контекстный классификатор 322А физической активности, контекстный классификатор 322В терминала, контекстный классификатор 322D распознавания жестов и контекстный классификатор 326 аудио сконфигурированы таким образом, чтобы можно было отличить значащие контекстные данные от незначащих контекстных данных. Классификаторы 322A-D и 326 позволяют затем отменить незначащие контекстные данные и определить контекстную информацию для вычислительного устройства на основе только значащих контекстных данных.

Блок-схема, показанная на фиг. 3, не предназначена для того, чтобы показать, что система 300 контекстного зондирования будет включать в себя все компоненты, показанные на фиг. 3. Кроме того, система 300 контекстного зондирования может включать в себя любое количество дополнительных компонентов, не показанных на фиг. 3, в зависимости от деталей конкретной реализации. Система 300 контекстного зондирования может также включать в себя различное размещение. Например, микрофон 206Н может также непосредственно поддерживать связь с механизмом 202В DSP.

В некоторых вариантах осуществления триггер 320 общего источника контекста действует согласно логике, показанной ниже.

S1: установить частоту дискретизации физического датчика на низкое число, то есть, 20 Герц (Гц);

S2: обнаружить движение на основе данных акселерометра;

if (движение превышает указанную верхнюю границу порога в течение определенного времени) {

запустить контекст терминала;

установить частоту дискретизации акселерометра на 100 Гц;

запустить контекст физической активности;

if (контекст жеста зарегистрирован) {

установить частоту дискретизации гироскоп на 100 Гц;

запустить контекст распознавания жестов;

}

} else if (движение ниже указанной нижней границы порога в течение определенного времени) {

установить частоту дискретизации акселерометра на 20 Гц;

if (гироскоп включен) {

выключить гироскоп;

}

go to S1;

} else {

go to S2;

}

Кроме того, в некоторых вариантах осуществления триггер 324 источника контекста аудио действует согласно логике, показанной ниже.

S1: После того, как триггер контекста аудио попадает в механизм концентратора датчиков, триггер контекста аудио посылает IPC, чтобы побудить механизм DSP инициировать контекстный классификатор аудио;

S2: Определяют следующий уровень L триггера с учетом следующих условий:

(1) Время, чтобы определить, ночь ли это;

(2) Аккумуляторная батарея, чтобы определить, достаточно ли заряда;

(3) Проверяют последние сохраненные результаты для контекстного классификатора физической активности и контекстного классификатора терминала путем сравнения временной метки. Если результаты являются более поздними, чем заданный предел, обновляют контекстный классификатор физической активности и контекстный классификатор терминала и получают результаты;

(4) На основании времени, аккумуляторной батареи, терминала и активности определяют следующий уровень L триггера;

S3: Проверяют результат контекстного классификатора исторического аудио и осуществляют регулировку следующего уровня триггера как L'

Однако следует понимать, что триггер 320 источника общего контекста и триггер 324 источника контекста аудио могут действовать согласно любому количеством изменений приведенной выше логики в зависимости от деталей конкретной реализации.

На фиг. 4 изображена блок-схема последовательности операций процесса, иллюстрирующая способ 400 выполнения контекстного зондирования для вычислительного устройства в соответствии с вариантами осуществления. Способ 400 может предусматривать определение контекста и/или окружающей среды вычислительного устройства, которое может запрашивать любое количество контекстно-зависимых приложений, выполняемых на вычислительном устройстве. В различных вариантах осуществления способ 400 реализован в вычислительном устройстве, таком как вычислительное устройство 100, обсужденное в отношении фиг. 1. Способ 400 можно реализовать в вычислительном устройстве, которое включает в себя систему контекстного зондирования такую, например, как система 300 контекстного зондирования, которая обсуждена в отношении фиг. 3.

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

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

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

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

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