КОНТЕКСТНОЕ ЗОНДИРОВАНИЕ ДЛЯ КОМПЬЮТЕРНЫХ УСТРОЙСТВ
CONTEXT SENSING FOR COMPUTER DEVICES

Область техники, к которой относится изобретение
Настоящее изобретение относится, в общем, к контекстному зондированию для вычислительных устройств. Более конкретно, настоящее изобретение относится к контекстному зондированию для мобильных вычислительных устройств согласно триггерному механизму на основе контекста.
Уровень техники
Типичные контекстные алгоритмы используется для предоставления контекстной информации для мобильных вычислительных устройств. Однако такие контекстные алгоритмы зависят от возможностей безостановочного зондирования, поэтому мобильному вычислительному устройству всегда должно быть известно о самой последней информации, касающейся внешней среды, или о статусе устройства. Наличие таких контекстных алгоритмов, беспрерывно исполняемых на главном хост-процессоре мобильного вычислительного устройства, может привести к большому потреблению электроэнергии, в результате чего аккумуляторная батарея может очень быстро разрядиться.
Краткое описание чертежей
Фиг. 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 анализируют контекстные данные для классификации контекста вычислительного устройства или определения контекстной информации, относящейся к вычислительному устройству. Контекст можно направить в процессор вычислительного устройства, и процессор может отправить контекст в любое из ряда контекстно-зависимых приложений. Кроме того, контекстные данные можно анализировать для определения изменений в окружающей среде вычислительного устройства, и процессор можно уведомить об изменениях в окружающей среде. В некоторых вариантах осуществления процессор может выполнять любое количество подходящих действий, основанных на контексте или окружающей среде вычислительного устройства.
В различных вариантах осуществления контекстные данные анализируют для определения значащих контекстных данных и незначащих контекстных данных. Значащие контекстные данные могут представлять собой любые контекстные данные, которые были определены как представляющие интерес, и могут изменяться в зависимости от конкретного вычислительного устройства или конкретной реализации вычислительного устройства, как описано выше. Контекстные данные, которые не были определены как представляющие интерес, можно идентифицировать как незначащие контекстные данные. Незначащие контекстные данные можно отбросить, и можно анализировать только значащие контекстные данные, чтобы классифицировать контекст вычислительного устройства.
Кроме того, в различных вариантах осуществления алгоритм слияния можно использовать для объединения всех контекстных данных, полученных от датчиков. Объединенные контекстные данные можно затем анализировать для определения подходящих точек триггера или подходящего интервала триггера для процедуры контекстного зондирования. Определенный интервал триггера может соответствовать специфическому порогу для увеличения частоты дискретизации датчиков. В некоторых вариантах осуществления потребляемую мощность вычислительного устройства можно учитывать при определении интервала триггера. Например, если потребляемая мощность вычислительного устройства превышает специфический порог, уровень триггера и, таким образом, порог можно увеличить. Это позволяет уменьшить потребляемую мощность вычислительного устройства, поскольку частоты дискретизации датчиков не повышаются так часто. Более того, в некоторых вариантах осуществления, если уровень мощности вычислительного устройства падает ниже специфического нижнего порога, частоты дискретизации датчиков можно уменьшить, и процедуру контекстного зондирования можно временно заблокировать для экономии мощности.
Кроме того, в некоторых вариантах осуществления, интервалы триггера можно отрегулировать на основании контекста вычислительного устройства. Например, если определено, что вычислительное устройство находится в движущемся транспортном средстве, интервал триггера и, таким образом, порог для получения контекстных аудиоданных можно увеличить таким образом, чтобы микрофон активизировался только с помощью очень громких шумов.
Схема последовательности операций процесса, показанная на фиг. 4, не предназначена для того, чтобы показать, что этапы способа 400 должны выполняться в любом конкретном порядке, или что все этапы должны быть включены в каждом случае. Кроме того, любое число дополнительных этапов можно включить в способ 400 в зависимости от деталей конкретной реализации.
На фиг. 5 изображена блок-схема, показывающая материальные невременные машиночитаемые носители 500, которые сохраняют код для контекстного зондирования в соответствии с вариантами осуществления. Доступ к материальным, невременным машиночитаемым носителям 500 можно осуществить с помощью процессора 502 по компьютерной шине 504. Кроме того, материальные невременные машиночитаемые носители 500 могут включать в себя код, сконфигурированный для направления процессора 502 выполнять технологии, описанные в данном документе.
Различные программные компоненты, обсужденные в данном документе, можно хранить на материальных невременных машиночитаемых носителях 500, как показано на фиг. 5. Например, модуль 506 триггера контекстного зондирования можно сконфигурировать для определения того, превышают ли данные датчика, полученные из любого числа датчиков, порог, который определяется на основании специфического интервала триггера. Если данные датчика превышают порог, модуль 506 триггера контекстного зондирования можно сконфигурировать для увеличения частоты дискретизации датчиков, чтобы получить контекстные данные. Модуль 508 классификатора контекстного зондирования можно сконфигурировать для анализа контекстных данных, полученных из этих датчиков для классификации контекста, представленного контекстными данными. В дополнение, модуль 510 слияния контекста можно сконфигурировать для анализа контекстных данных, полученных из любого числа датчиков для определения интервала триггера и соответствующего порога для модуля 506 триггера контекстного зондирования.
Блок-схема, показанная на фиг. 5, не предназначена для того, чтобы показать, что материальные невременные машиночитаемые носители 500 должны включать в себя все компоненты, показанные на фиг. 5. Кроме того, материальные невременные машиночитаемые носители 500 могут включать в себя любое число дополнительных компонентов, не показанных на фиг. 5, в зависимости от деталей конкретной реализации.
Пример 1
Далее приводится описание способа контекстного зондирования. Способ включает в себя этап, на котором определяют, превысили ли предопределенный порог данные датчика, полученные с помощью ряда датчиков, и если данные датчика превышают порог, повышают частоту дискретизации любого из датчиков для того, чтобы получить контекстные данные, соответствующие вычислительному устройству. Способ также включает в себя этап, на котором анализируют контекстные данные для классификации контекста вычислительного устройства.
Способ может включать в себя этап, на котором предоставляют контекст для процессора вычислительного устройства, где процессор сконфигурирован для отправки контекста в любое число контекстно-зависимых приложений. Способ может также включать в себя этапы, на которых анализируют контекстные данные для того, чтобы определить изменения в окружающей среде вычислительного устройства, и уведомляют процессор вычислительного устройства об изменениях в окружающей среде. Кроме того, способ может включать в себя этапы, на котором анализируют контекстные данные для того, чтобы определить значащие контекстные данные и незначащие контекстные данные, отбрасывают незначащие контекстных данных и анализируют значащие контекстные данные для того, чтобы классифицировать контекст вычислительного устройства.
Способ может включать в себя этапы, на котором объединяют контекстные данные, полученные с помощью датчиков и анализируют объединенные контекстные данные для того, чтобы определить порог. Способ может также включать в себя этапы, на котором определяют уровень мощности вычислительного устройства и уменьшают частоту дискретизации датчиков, если уровень мощности ниже специфического нижнего порога. В некоторых вариантах осуществления способ включает в себя этап, на котором увеличивают частоту дискретизации ряда датчиков общего контекста с помощью триггера источника общего контекста системы контекстного зондирования, когда данные датчика, полученные от датчиков общего контекста превышают порог. Кроме того, в некоторых вариантах осуществления способ включает в себя этап, на котором увеличивают частоту дискретизации аудиодатчика с помощью триггера классификатора аудио системы контекстного зондирования, когда данные датчика, полученные из аудиодатчика, превышают порог.
Пример 2
Ниже приводится описание вычислительного устройства. Вычислительное устройство включает в себя систему контекстного зондирования, которая сконфигурирована для увеличения частоты дискретизации ряда датчиков, когда данные датчиков, полученные с помощью датчиков, превышают порог, и для получения контекстных данных, соответствующих вычислительному устройству с помощью датчиков. Система контекстного зондирования также сконфигурирована для анализа контекстных данных для того, чтобы определить контекстную информацию, соответствующую вычислительному устройству, и для отправления контекстной информации в центральный процессор (ЦП) вычислительного устройства. Центральный процессор (ЦП) сконфигурирован для приема контекстной информации из системы контекстного зондирования и отправки контекстной информации в контекстно-зависимое приложение.
Систему контекстного зондирования можно также сконфигурировать для анализа контекстных данных, для того, чтобы определить изменения в окружающей среде вычислительного устройства и уведомить ЦП об изменениях в окружающей среде. Триггер источника общего контекста системы контекстного зондирования можно сконфигурировать для увеличения частоты дискретизации числа датчиков общего контекста, когда данные датчиков, полученные от датчиков общего контекста, превышают общий порог. Триггер классификатора аудио системы контекстного зондирования можно сконфигурировать для увеличения частоты дискретизации датчика контекста аудио, когда данные датчика, полученные от датчика контекста аудио, превышают порог.
В некоторых вариантах осуществления система контекстного зондирования, сконфигурированная для объединения контекстных данных, поступающих от датчиков, и анализа объединенных контекстных данных для того, чтобы определить порог для увеличения частоты дискретизации датчиков. Кроме того, в некоторых вариантах осуществления система контекстного зондирования сконфигурирована для анализа контекстных данных для того, чтобы определить значащие контекстные данные и незначащие контекстные данные, отбрасывания незначащих контекстных данных и анализа значащих контекстных данных для того, чтобы определить контекстную информацию, соответствующую вычислительному устройству.
Систему контекстного зондирования можно сконфигурировать для определения уровня мощности вычислительного устройства и уменьшения частоты дискретизации датчиков, если уровень мощности ниже специфического нижнего порога. Систему контекстного зондирования можно также сконфигурировать для определения порога на основании потребляемой мощности вычислительного устройства и увеличения порога, если потребляемая мощность превышает специфический верхний порог. В дополнение, систему контекстного зондирования можно сконфигурировать для приема запроса контекстной информации из контекстно-зависимого приложения через ЦП, определения контекстной информации и возврата контекстной информации в ЦП. ЦП сконфигурирован для отправки контекстной информации в контекстно-зависимое приложение.
Пример 3
По меньшей мере, один машиночитаемый носитель описан в данном документе. По меньшей мере, один машиночитаемый носитель имеет инструкции, которые хранятся на нем, которые, в ответ на исполнение на вычислительном устройстве, побуждают вычислительное устройство увеличивать частоту дискретизации ряда датчиков, когда данные датчика, полученные с помощью датчиков, превышают порог, получать контекстные данные, соответствующие вычислительному устройству, с помощью датчиков и анализировать контекстные данные для классификации контекста вычислительного устройства.
Инструкции также побуждают вычислительные устройства отправлять контекст в центральный процессор (ЦП) вычислительного устройства, где ЦП сконфигурирован для отправки контекста в любое число контекстно-зависимых приложений, исполняемых на ЦП. Кроме того, в некоторых вариантах осуществления порог определяется на основании потребляемой мощности вычислительного устройства, и порог увеличивается в случае, если потребляемая мощность вычислительного устройства превышает специфический верхний порог.
Следует понимать, что особенности в вышеупомянутых примерах можно использовать в любом месте в одном или более вариантах осуществления. Например, все дополнительные признаки вычислительного устройства, описанные выше, можно также реализовать по отношению к любому из способов или машиночитаемому носителю, которые описаны в данном документе. Кроме того, хотя схемы последовательности операций и/или схемы состояний использовались здесь для описания вариантов осуществления, изобретение не ограничивается здесь этими схемами или соответствующими описаниями. Например, последовательность операций не нужно перемещать через каждый иллюстрированный блок или состояние или точно в том же порядке, как иллюстрировано и описано здесь.
Изобретение не ограничивается конкретными деталями, перечисленными в данном документе. Действительно, специалисты в данной области техники благодаря этому раскрытию оценят, что многие другие изменения из вышеприведенного описания и чертежей можно выполнить в пределах объема настоящего изобретения. Соответственно, последующая формула изобретения включает в себя любые поправки к нему, которые определяют объем изобретения.