Способ, устройство и компьютерная программа для обработки данных датчика активности



Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности
Способ, устройство и компьютерная программа для обработки данных датчика активности

 


Владельцы патента RU 2606880:

Нокиа Текнолоджиз Ой (FI)

Изобретение относится к области распознавания активности пользователя на основе датчиков активности. Технический результат – обеспечение эффективной и разносторонней обработки данных датчиков активности, предоставляемых мобильным устройством. Способ обработки данных датчика активности включает: загрузку приложением веб-страницы, включающей встроенный модуль распознавания активности; сбор данных датчика активности по меньшей мере от одного датчика мобильного устройства посредством модуля опроса датчика; передачу данных датчика активности во встроенный модуль распознавания активности; обработку собранных данных датчика посредством встроенного модуля распознавания активности для формирования обработанных данных датчика активности; и прием обработанных данных датчика активности от модуля распознавания активности. 4 н. и 34 з.п. ф-лы, 10 ил.

 

Область техники

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

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

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

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

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

Сущность изобретения

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

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

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

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

В одном варианте веб-страница загружается с веб-сервера.

В одном варианте загруженная веб-страница сохраняется в мобильном устройстве.

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

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

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

В одном варианте веб-страница включает модуль опроса датчика в форме встроенного модуля опроса датчика.

В одном варианте приложение включает модуль опроса датчика.

В одном варианте встроенный алгоритм распознавания активности выбирается из множества встроенных алгоритмов распознавания активности.

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

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

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

В одном варианте осуществляется сбор дополнительных данных; и производится передача дополнительных данных и/или принятых обработанных данных датчика активности обратно по меньшей мере в один модуль распознавания активности.

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

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

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

В одном варианте выбор модуля распознавания активности производится автоматически, выполняется приложением или в ответ на выбор пользователя.

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

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

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

На фиг. 1А показана блок-схема приложения в соответствии с вариантом осуществления.

На фиг. 1В показана блок-схема приложения в соответствии с альтернативным вариантом осуществления.

На фиг. 2 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления.

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

На фиг. 4 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления.

На фиг. 5 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления.

На фиг. 6 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления.

На фиг. 7А показана блок-схема модуля распознавания активности в соответствии с вариантом осуществления.

На фиг. 7В показана блок-схема модуля распознавания активности в соответствии с альтернативным вариантом осуществления.

На фиг. 7С показана блок-схема модуля распознавания активности в соответствии с альтернативным вариантом осуществления.

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

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

На фиг. 9А показана блок-схема устройства в соответствии с вариантом осуществления.

На фиг. 9В показана блок-схема устройства в соответствии с альтернативным вариантом осуществления.

На фиг. 10 показана блок-схема способа в соответствии с вариантом осуществления.

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

Далее настоящее описание поясняется по меньшей мере частично примерами на основе языков HTML5 и JavaScript. Алгоритмы распознавания активности могут быть написаны на языке JavaScript и представлены в Интернете на веб-страницах HTML5. Реализации этих веб-страниц обеспечивают документированные интерфейсы для обмена данными с внешними приложениями. Затем, когда разработчик пишет приложение, которому требуется использовать специализированные алгоритмы распознавания активности, он использует веб-страницу HTML5 с алгоритмами датчика в своем приложении. Однако необходимо указать, что эти примеры не ограничивают настоящее изобретение, и что варианты осуществления могут быть реализованы на основе любого подходящего формата веб-страниц или языка программирования. Кроме того в вариантах осуществления используется термин «алгоритм распознавания активности», который в основном относится к модулю распознавания активности, который является приложением или компонентом программы.

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

На фиг. А1 показана блок-схема приложения 100 в соответствии с вариантом осуществления. Приложение 100 включает модуль 102 логики приложения, который управляет исполнением приложения 100. Модуль 102 логики приложения также управляет отображением данных на интерфейсе 104 пользователя. Когда приложение 100 запущено, модуль 102 логики приложения может выполнять специальные процессы инициализации. Например, модуль логики приложения инициализирует окно 106 браузера и загружает из памяти 116 устройства нужную веб-страницу 108, включающую встроенный алгоритм распознавания активности. Веб-страница 108 может представлять собой веб-страницу на языке HTML5. Встроенный алгоритм 110 распознавания активности относится, например, к алгоритму распознавания активности, который написан на языке JavaScript и встроен в страницу HTML5. Когда веб-страница загружена, модуль 102 логики приложения инициализирует алгоритм 110 распознавания активности через интерфейс 114 данных активности и запускает этот алгоритм и модуль 112 опроса датчика. Интерфейс 114 данных активности осуществляет специальные процессы для обмена данными между алгоритмом 110 распознавания активности и внешними приложениями. Эти процессы могут отличаться в зависимости от платформы, на которой запускается приложение 100. Например, они могут представлять собой платформно-зависимые способы JavaScript для обмена данными с другими программами или платформно-зависимые переменные и объекты, которые доступны из других программ.

На фиг. 1А показано, что веб-страница 108 также включает модуль 112 опроса датчика в форме встроенного модуля или алгоритма. Аналогично алгоритму 110 распознавания активности, модуль 112 опроса датчика может быть написан на языке JavaScript. После запуска алгоритма 110 распознавания активности и модуля 112 опроса датчика, они выполняются в окне 106 браузера.

Модуль 112 опроса датчика собирает данные по меньшей мере от одного датчика (на фиг. 1А не показан) мобильного устройства, в котором запущено приложение 100. Собранные данные датчика пересылаются в алгоритм 110 распознавания активности. Алгоритм 110 распознавания активности обрабатывает собранные данные датчика и пересылает обработанные данные, относящиеся к обнаруженной активности, в модуль 102 логики приложения через интерфейс 114 данных активности. Модуль 102 логики приложения может обеспечивать отображение обработанных данных, по меньшей мере частично, для пользователя мобильного устройства через интерфейс 104 пользователя. Пользователь может неоднократно взаимодействовать с приложением 100 через интерфейс 104 пользователя, и приложение 100 может предоставлять пользователю информацию о текущих и прошлых действиях пользователя и другую сопутствующую информацию.

В указанном выше варианте осуществления, после того как приложение 100 установлено в устройстве пользователя, подключения к сети (например, Интернет) не требуется, поскольку веб-страница 108, включающая встроенные модули, сохраняется в памяти 116 устройства.

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

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

На фиг. 2 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления. Приложение 200 включает модуль 202 логики приложения, который управляет исполнением приложения 200. Модуль 202 логики приложения также управляет отображением данных на интерфейсе 104 пользователя.

В этом варианте осуществления само приложение 200 написано на языках HTML5 и JavaSvript и является веб-страницей, исполняющейся в браузере, веб-представлением в другом приложении или может запускаться внутри приложения, автоматически генерируемого в кросс-платформенной среде (например, PhoneGap). В другом варианте операционная система может допускать запуск страниц HNML5 в виде приложений (как ОС Firefox, ОС Chrome и т.д.). В этом случае страница HTML5, включающая алгоритм, может быть встроена в приложение на основе средств HTML5, например ¡frame.

Встроенная веб-страница 206 включает алгоритм 208 распознавания активности и модуль 210 опроса датчика. Алгоритм 208 распознавания активности и модуль 210 опроса датчика могут быть написаны на языке JavaScript. Модуль 210 опроса датчика собирает данные по меньшей мере от одного датчика (на фиг. 2 не показан) мобильного устройства, в котором исполняется приложение 200. Собранные данные датчика пересылаются в алгоритм 208 распознавания активности. Алгоритм 208 распознавания активности обрабатывает собранные данные датчика и пересылает обработанные данные относительно обнаруженной активности в модуль 202 логики приложения. Модуль 202 логики приложения может обеспечивать отображение обработанных данных, по меньшей мере частично, для пользователя мобильного устройства через интерфейс 204 пользователя. Пользователь может неоднократно взаимодействовать с приложением 200 через интерфейс пользователя, и приложение 200 может предоставлять пользователю информацию о текущей и прошлой деятельности пользователя и другую сопутствующую информацию.

На фиг. 3 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления. Приложение 300 включает модуль 302 логики приложения, который управляет исполнением приложения 300. Модуль 302 логики приложения также управляет предоставлением данных для интерфейса 304 пользователя. Когда приложение 300 запускается, модуль 302 логики приложения выполняет специальные процессы инициализации. Например, модуль логики приложения инициализирует окно 306 браузера и загружает из памяти устройства или из Интернета нужную веб-страницу 306, включающую встроенный алгоритм 310 распознавания активности. Веб-страница 306 может представлять собой вебстраницу на языке HTML5. Встроенный алгоритм 306 распознавания активности относится, например, к алгоритму распознавания активности, который написан на языке JavaScript и встроен в веб-страницу HTML5. Когда веб-страница загружена, модуль 302 логики приложения инициализирует алгоритм 310 распознавания активности через интерфейс 312 данных активности и запускает алгоритм. После того как алгоритм 310 распознавания активности запущен, он выполняется в окне 306 браузера.

Интерфейс 312 данных активности осуществляет специальные процессы для обмена данными между алгоритмом 310 распознавания активности и внешними приложениями. Эти процессы могут отличаться в зависимости от платформы, на которой исполняется приложение 300. Например, они могут представлять собой платформно-зависимые способы JavaScript для обмена данными с другими программами или платформно-зависимые переменные и объекты, которые доступны из других программ.

На фиг. 3 показано, что приложение 300 также включает модуль 308 опроса датчика. Модуль 302 логики приложения также запускает модуль 308 опроса датчиков, и после запуска модуль 308 опроса датчика собирает данные по меньшей мере от одного датчика (на фиг. 3 не показан) мобильного устройства, в котором исполняется приложение 300. Собранные данные датчика пересылаются в алгоритм 310 распознавания активности через интерфейс 312 данных активности. Алгоритм 310 распознавания активности обрабатывает собранные данные датчика и пересылает обработанные данные, относящиеся к обнаруженной активности, в модуль 302 логики приложения через интерфейс 312 данных активности. Модуль 302 логики приложения может обеспечивать отображение обработанных данных, по меньшей мере частично, для пользователя мобильного устройства через интерфейс 304 пользователя. Пользователь может неоднократно взаимодействовать с приложением 300 через интерфейс 304 пользователя, и приложение может предоставлять пользователю информацию о текущих и прошлых действиях пользователя и другую сопутствующую информацию.

На фиг. 4 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления. Вариант осуществления на фиг. 4 аналогичен вариантам осуществления, указанным выше, за исключением того, что существует более одного алгоритма распознавания активности, которые могут быть использованы. Все алгоритмы 406А, 406В, 406С, 406N могут быть реализованы в форме веб-страницы на языке HTML5 и JavaScript, доступной приложению 400.

На фиг. 4 алгоритмы распознавания активности 406А, 406В, 406С, 406N сконфигурированы для сбора данных по меньшей мере от одного датчика (на фиг. 4 не показан) мобильного устройства, в котором исполняется приложение 400. Алгоритмы распознавания активности 406А, 406В, 406С, 406N обрабатывают собранные данные датчика и пересылают обработанные данные в модуль 402 логики приложения.

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

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

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

Помимо этого, алгоритм или алгоритмы распознавания активности 406А, 406В, 406С, 406N не только обрабатывают данные, но также могут пересылать данные и результаты обработки в Интернет (например, в облачный сервис) с целью улучшения текущего и будущего качества работы алгоритма. Кроме того, алгоритм или алгоритмы распознавания активности 406А, 406В, 406С, 406N могут получать из Интернета (например, из облачного сервиса) дополнительную информацию, которая может улучшить текущее и будущее качество работы алгоритма или алгоритмов распознавания активности 406А, 406В, 406С, 406N. Помимо этого данные могут анализироваться разработчиками, и затем может быть выпущена новая усовершенствованная версия алгоритма. В другом варианте данные могут анализироваться автоматически, и по результатам работы алгоритма могут генерироваться исправления и пересылаться обратно в алгоритм также автоматически.

На фиг. 5 показана блок-схема приложения в соответствии с альтернативным вариантом осуществления. Вариант осуществления на фиг. 5 является аналогичным вариантам осуществления, указанным выше, за исключением того, что код 506 веб-страницы или JavaScript самого алгоритма распознавания активности включает две или более реализаций 510А, 510В, 510N аналогичных алгоритмов, которые требуют, например разных сетевых подключений, разных вычислительных средств и разного времени готовности. Код веб-страницы или JavaScript алгоритма 506 также включает модуль 508 логики выбора, который допускает автоматическое или управляемое пользователем или приложением переключение между множеством реализаций 510A, 510В, 510N, например, в зависимости от текущего сетевого подключения, доступной мощности, объема собранных данных и т.п.

Например, когда приложение 500 только что запущено, активируется версия 510A, 510В или 510N, которая не требует первоначальных данных, и эта версия анализирует первые данные датчика. Затем, после того как собран некоторый объем данных, подключается более точная или подходящая версия алгоритма. Если потеряно соединение с Интернетом, подключается автономная версия. Далее, когда устройство питается от аккумуляторной батареи, может подключаться менее точная, но менее энергопотребляющая версия алгоритма. Переключение может происходить автоматически и может быть полностью скрыто от разработчика или пользователя приложения. В другом варианте может использоваться принцип управления, когда изменение в выборе реализации алгоритма вызывается приложением 500 или пользователем.

На фиг. 6 показана блок-схема приложения 600 в соответствии с альтернативным вариантом осуществления. Вариант осуществления на фиг. 6 является аналогичным вариантам осуществления, указанным выше, за исключением того, что приложение включает множество алгоритмов 610А, 610В, 610С, 610N распознавания активности. Модуль 602 логики приложения управляет модулем 606 логики выбора при выборе одного из алгоритмов 610A, 610В, 610С, 610N распознавания активности в зависимости от информации о статусе 608 системы. Информация о статусе системы относится, например, к текущему подключению к Интернету, доступной мощности, объему собранных данных и т.д. Кроме того, модуль 606 логики выбора может переключаться между множеством алгоритмов распознавания активности в зависимости от информации 608 о статусе. Модуль 602 логики приложения также управляет предоставлением обработанных данных датчика активности для интерфейса 604 пользователя.

На фиг. 7А показана блок-схема алгоритма 700 распознавания активности в соответствии с вариантом осуществления. В этом варианте осуществления алгоритм 700 распознавания активности включает множество шагов обработки сигналов датчика.

Исходные данные 702 датчика предварительно обрабатываются и фильтруются на шаге 704, в результате чего получают предварительно обработанные данные 706. На шаге 708 вычисляется вектор или вектора признаков на основе предварительно обработанных данных 706 датчика, в результате чего получается вектор 710 признаков. Классификатор 712 использует вектор 710 признаков для идентификации активности пользователя и получения дополнительной статистики относительно активности пользователя, в результате чего получают решение 714. Решение 714 затем может пересылаться обратно в приложение, и приложение способно предоставлять пользователю статистику через интерфейс пользователя.

На фиг. 7В показана блок-схема алгоритма 724 распознавания активности в соответствии с альтернативным вариантом осуществления. Вариант осуществления на фиг. 7В отличается от варианта осуществления на фиг. 7А тем, что часть обработки производится в облачном сервисе 720.

На шаге 704 выполняется предварительная обработка данных алгоритмом 724 распознавания активности, затем алгоритм распознавания активности пересылает предварительные данные 716 в облачный сервис 720 для вычисления вектора 718 признаков. После вычисления вектора признаков облачный сервис 720 пересылает его обратно в алгоритм 724 распознавания активности.

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

На фиг. 7С показана блок-схема алгоритма 734 распознавания активности в соответствии с альтернативным вариантом осуществления. Вариант осуществления на фиг. 7С отличается от варианта осуществления на фиг. 7А тем, что часть обработки производится в облачном сервисе 730.

Предварительная обработка 704 данных и вычисление 708 вектора признаков выполняются алгоритмом 734 распознавания активности, затем алгоритм 734 распознавания активности пересылает вектор 726 признаков в облачный сервис 730 для классификации посредством классификатора 728. Классификатор 728 пересылает решение 732 обратно в алгоритм 734 распознавания активности.

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

В дополнение к фиг. 7А, 7В, 7С далее приводится несколько примеров того, что может включать предварительная обработка, фильтрация сигналов, вычисление вектора признаков и классификатор.

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

Другим примером фильтрации сигналов является применение сверточного фильтра или фильтра с конечной импульсной характеристикой (КИХ-фильтр), который выводит сумму (свертку) конечного числа предыдущих отсчетов сигнала, умноженных на заданные весовые коэффициенты. Простейшим примером такого фильтра является фильтр скользящего среднего, который для заданного конечного натурального числа N выводит среднее значение для N последних отчетов входного сигнала.

Следующим примером фильтрации сигналов является применение фильтра с бесконечной импульсной характеристикой (БИХ-фильтр), который выводит взвешенную сумму M предыдущих отсчетов выходного сигнала плюс взвешенную сумму N предыдущих отсчетов входного сигнала, где M и N - заданные натуральные числа.

Следующим примером фильтрации сигналов является вычисление численных производных или интегралов от входного сигнала или применение линейных фильтров со специальным преобразованием частоты (которые, как можно доказать, эквивалентны КИХ или БИХ фильтрам).

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

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

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

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

Признаки могут представлять собой математические выборочные моменты различной степени и свойств, такие как простые моменты, центральные выборочные моменты, нормализованные моменты. Примером такого признака может служить асимметрия, которая является центральным моментом 3-го порядка. Другим примером такого признака служит эксцесс, который является центральным моментом 4-го порядка.

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

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

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

Примерами классификаторов являются примитивный классификатор Бейеса, деревья решений, метод k-ближайших соседей, метод опорных векторов, нейронные сети. Далее классификаторы могут группироваться в комитеты и управляться на основе сложных методов голосования, а также обучаться передовыми способами, такими как адаптивное обучение, например AdaBoost.

На фиг. 8А показана блок-схема, отражающая обработку данных датчика в соответствии с вариантом осуществления. На фиг. 8А показаны два мобильных устройства 800, 802, которые сконфигурированы для обработки данных датчика активности, по меньшей мере частично. Мобильное устройство 800 включает алгоритм распознавания активности, который сконфигурирован для выполнения по меньшей мере части обработки, показанной на фиг. 7А. В этом варианте осуществления, более одного устройства, принадлежащих одному пользователю или разным пользователям, но связанные потребностью одного приложения использовать данные датчиков от всех этих устройств, посылают данные в облачный сервис 816. Часть алгоритма, работающего в облачном сервисе 816, принимает в расчет все доступные данные, чтобы получить более точные результаты, и отправляет данные и/или результаты обратно в мобильные устройства.

На шаге 806 вычисления в устройстве алгоритм распознавания активности обрабатывает исходные данные 804 датчика, по меньшей мере частично. Алгоритм распознавания активности в мобильном устройстве 800 может пересылать частично обработанные данные датчика в облачный сервис 816 для облачного вычисления 808. В другом варианте приложение, включающее встроенный алгоритм распознавания активности (например, алгоритм распознавания активности, рассмотренный при описании фиг. 2 или 3), пересылает частично обработанные данные датчика в облачный сервис 816 для облачного вычисления 808. Аналогично на шаге 820 вычисления в устройстве алгоритм распознавания активности обрабатывает исходные данные 818 датчика, по меньшей мере частично. Алгоритм распознавания активности в мобильном устройстве 802 может пересылать частично обработанные данные датчика в облачный сервис 816 для облачного вычисления 820. В другом варианте приложение, включающее встроенный алгоритм распознавания активности (например, алгоритм распознавания активности, рассмотренный при описании фиг. 2 или 3), пересылает частично обработанные данные датчика в облачный сервис 816 для облачного вычисления 820. Облачное вычисление 810 может обеспечивать дополнительные вычисления для результатов облачных вычислений 808 и 820. Результаты вычислений из облачного сервиса 816 пересылаются обратно в мобильное устройство 800 или в оба мобильных устройства 800 и 802. На шаге 812 вычисления в устройстве алгоритм веб-страницы или алгоритм, встроенный в приложение в мобильном устройстве 800, при вычислении решения 814 принимает в расчет данные, принятые из облачного сервиса 816. Аналогично на шаге 822 вычисления в устройстве алгоритм веб-страницы или алгоритм, встроенный в приложение в мобильном устройстве 802, при вычислении решения 824 принимает в расчет данные, принятые из облачного сервиса 816.

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

На фиг. 8В показаны два мобильных устройства, которые конфигурируют для обработки данных датчика активности, по меньшей мере частично. Мобильное устройство 800 включает алгоритм распознавания активности, который конфигурируют для выполнения по меньшей мере части обработки, рассмотренной на основе фиг. 7А. В этом варианте осуществления более одного устройства, принадлежащих одному пользователю или разным пользователям, но связанные потребностью одного приложения использовать данные датчиков от всех этих устройств, посылают данные в облачный сервис 816, и затем часть алгоритма, работающего в облачном сервисе 816, принимает в расчет все доступные данные для того, чтобы получить более точные результаты, и отправляет данные и/или результаты обратно в мобильные устройства.

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

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

На фиг. 9А показано устройство 900, включающее процессор 902, память 904, вход I и выход О. В этом варианте осуществления показаны только один процессор и только одна память, но следует понимать, что в других вариантах осуществления может использоваться более одного процессора и/или более одной памяти (например, одинаковые или разные типы процессоров и/или памяти). Устройство 900 может представлять собой специализированную интегральную микросхему (ASIC; application specific integrated circuit) для портативного электронного устройства. Устройство 900 также может представлять собой модуль для устройства или само устройство, в котором процессор 902 является универсальным процессором, и память 904 является универсальной памятью. Вход I обеспечивает прием сигналов в устройстве 900 от дополнительных компонентов. Выход О обеспечивает передачу сигналов от устройства 900 на дополнительные компоненты. В этом варианте осуществления вход I и выход О являются частью соединительной шины, которая обеспечивает соединение устройства 900 с дополнительными компонентами. Процессор 902 может представлять собой универсальный процессор, предназначенный для исполнения/обработки информации, полученной через вход I в соответствии с командами, которые хранятся в памяти 904 в виде кода компьютерной программы. Выходные сигналы, генерируемые такими операциями, от процессора 902 передаются на дополнительные компоненты через выход О.

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

В этом варианте осуществления вход I, выход О, процессор 902 и память 904 внутренне электрически соединены для осуществления связи между соответствующими компонентами I, О, 902, 904, которые в этом примере расположены близко друг к другу, как в ASIC. В таком случае компоненты I, О, 902, 904 могут быть интегрированы на одном кристалле / в одной схеме, подлежащей установке в электронное устройство. В других вариантах осуществления один или более или все компоненты могут размещаться раздельно (например, по всему портативному электронному устройству). Один или более вариантов устройства 900 могут быть использованы в качестве компонента для другого устройства, как на фиг. 9В, где показан вариант устройства 900, включающего функциональность устройства 900 в отдельных компонентах. В других вариантах устройство 910 может включать устройство 900 в качестве блока (на чертеже показан пунктирной линией как опциональный) для мобильного телефона, КПК, аудио/видео плеера и т.д. Такой блок, модуль и/или устройство может включать только соответствующим образом сконфигурированные память и процессор.

Пример модуля/устройства 910 включает дисплей 918, такой как жидкокристаллический дисплей (LCD), дисплей e-lnk или сенсорный интерфейс пользователя (такой как планшет). Устройство 910 конфигурируют так, чтобы оно могло принимать, включать и/или другим способом получать доступ к данным. Например, устройство 910 включает блок 916 связи (такой как приемник, передатчик и/или приемопередатчик), взаимодействующий с антенной 918 для подключения к беспроводной сети и/или с портом (не показан). Устройство 910 включает память 914 для хранения данных, которые могут быть получены через антенну 918 или интерфейс 920 пользователя. Процессор 912 может принимать данные от интерфейса 920 пользователя, памяти 914 или блока 916 связи. Данные могут выводиться для пользователя устройства 910 через дисплей 918 и/или любые другие устройства вывода, предоставляемые устройством. Процессор 912 может также сохранять данные для следующего пользователя в памяти 914. Устройство включает компоненты, которые соединяются через информационную шину 922.

Блок 916 связи может представлять собой, например, передатчик, приемник и/или приемопередатчик, который взаимодействует с антенной 918 для подключения к беспроводной сети и/или с портом (не показан) для осуществления физического соединения с сетью, так что данные могут быть получены по сети одного или более типов. Соединительная (или информационная) шина 922 обеспечивает активную связь между процессором 912 и памятью 914 (носителем информации), чтобы процессор 912 мог получать доступ к коду компьютерной программы, хранящемуся в памяти 914.

Память 914 включает код компьютерной программы так же как память 904 в устройстве 900, но также может включать и другие данные. Процессор 912 может получать данные от интерфейса 920 пользователя, памяти 914 или блока 916 связи. Независимо от своего источника эти данные могут быть выведены для пользователя устройства 910 через дисплей 918 и/или другие устройства вывода, обеспечиваемые устройством. Процессор 912 также может сохранять данные для следующего пользователя в памяти 914.

На фиг. 10 показана блок-схема способа в соответствии с вариантом осуществления. Данный способ включает загрузку веб-страницы, включающей встроенный модуль распознавания активности (на шаге 1010); сбор данных датчика активности по меньшей мере от одного датчика мобильного устройства посредством модуля опроса датчика (на шаге 1020); передачу данных датчика активности во встроенный модуль распознавания активности (на шаге 1030); обработку собранных данных датчика посредством встроенного модуля распознавания активности для формирования обработанных данных датчика активности (на шаге 1040) и прием обработанных данных датчика активности от модуля распознавания активности (на шаге 1050). Один или более из указанных выше шагов могут осуществляться приложением, работающим в устройстве.

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

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

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

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

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

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

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

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

Варианты осуществления могут быть реализованы в форме программного обеспечения, оборудования, логики приложения или комбинации программного обеспечения, оборудования и логики приложения. Варианты осуществления могут хранить информацию, относящуюся к различным способам, рассмотренным в данном описании. Эта информация может храниться в одном или более запоминающих устройствах, таких как жесткий диск, оптический диск, магнитооптический диск, ОЗУ и т.п. Информация, используемая для реализации вариантов осуществления, может храниться в одной или более базах данных. Базы данных могут быть организованы с использованием структур данных (например, записи, таблицы, массивы, поля, графы, деревья, списки и т.п.), включенных в одно или более запоминающих устройств или накопителей информации, перечисленных выше. Способы, рассмотренные для вариантов осуществления, могут включать подходящие структуры данных для хранения данных, собранных и/или сгенерированных посредством способов, используемых в устройствах или подсистемах вариантов осуществления, помещенные в одну или более баз данных.

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

Сохраненные на одном или комбинации машиночитаемых носителей, варианты осуществления могут включать программное обеспечение для управления компонентами вариантов осуществления, приведения в действие компонентов вариантов осуществления, обеспечения взаимодействия компонентов вариантов осуществления с пользователем-человеком и т.п. Такое программное обеспечение может включать, в качестве неограничивающего примера, драйверы устройств, прошивки, операционные системы, средства разработки, прикладное программное обеспечение и т.п. Машиночитаемый носитель также может включать компьютерную программу варианта осуществления для реализации всей или части обработки (если обработка является распределенной), выполняемой для реализации вариантов осуществления. Компьютерный код вариантов осуществления может включать любой подходящий интерпретируемый или исполняемый механизм кода, включающий в качестве неограничивающего примера сценарии, интерпретируемые программы, библиотеки динамических связей (DDL), классы и апплеты Java, полностью исполняемые программы и т.п. Кроме того, части обработки вариантов осуществления могут быть распределены для повышения производительности, надежности, стоимости и т.п.

Как указано выше, компоненты вариантов осуществления могут включать машиночитаемые носители или запоминающие устройства для хранения команд, разработанных в соответствии с идеями настоящего изобретения, а также для хранения структур данных, таблиц, записей и/или других данных, указанных выше. В варианте осуществления логика приложения, программное обеспечение или набор команд хранятся на любом из различных стандартных машиночитаемых носителей. Применительно к настоящему документу «машиночитаемый носитель» может представлять собой среду или средства, которые включают, хранят, обменивают, распространяют или транспортируют команды, которые используются системой исполнения команд, модулем или устройством, таким как компьютер, или в связи с этими устройствами. Машиночитаемый носитель может включать машиночитаемый носитель данных, который представляет собой среду или средства, которые включают или хранят команды, которые используются системой исполнения команд, модулем или устройством, таким как компьютер, или в связи с этими устройствами. Машиночитаемый носитель может включать любой подходящий носитель данных, который участвует в процессе предоставления процессору команд для исполнения. Такой носитель может принимать множество форм, включая в качестве неограничивающего примера энергонезависимый носитель, энергозависимый носитель, среду передачи и т.п. Энергонезависимый носитель может включать, например, оптические или магнитные диски, магнитооптические диски и т.п. Энергозависимый носитель может включать динамическую память и т.п. Среда передачи может включать коаксиальные кабели, медные провода, оптические волокна и т.п. Среда передачи может также иметь форму акустических, оптических, электромагнитных волн и т.п., таких как генерируемые при связи в радиочастотном диапазоне, в инфракрасном диапазоне и т.п. Стандартные формы машиночитаемых носителей включают, например дискету, гибкий диск, жесткий диск, магнитную ленту, любой другой подходящий магнитный носитель, CD-ROM, CD±R, CD±RW, DVD, DVD-RAM, DVD±RW, DVD±R, HD DVD, HD DVD-R, HD DVD-RW, HD DVD-RAM, диск Blu-ray, любой другой подходящий оптический носитель, перфокарты, бумажную перфоленту, листы с оптическими метками, любой другой подходящий физический носитель с комбинациями отверстий или другими оптически распознаваемыми знаками, RAM, PROM, EPROM, FLASH-EPROM, любой другой подходящий кристалл памяти или плату памяти, электромагнитный сигнал или любой другой подходящий носитель, который компьютер может читать.

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

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

1. Способ обработки данных датчика активности, включающий:

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

сбор данных датчика активности по меньшей мере от одного датчика мобильного устройства посредством модуля опроса датчика;

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

обработку собранных данных датчика посредством встроенного модуля распознавания активности для формирования обработанных данных датчика активности; и

прием обработанных данных датчика активности от модуля распознавания активности.

2. Способ по п. 1, отличающийся тем, что он включает:

загрузку веб-страницы с веб-сервера.

3. Способ по п. 2, отличающийся тем, что он включает также:

сохранение загруженной веб-страницы в мобильном устройстве.

4. Способ по любому из пп. 1-3, отличающийся тем, что обработка собранных данных датчика включает:

предварительную обработку и фильтрацию данных датчика активности для предоставления предварительно обработанных данных;

вычисление вектора признаков; и

идентификацию активности пользователя и/или получение дополнительной статистики на основе вектора признаков.

5. Способ по любому из пп. 1-3, отличающийся тем, что обработка собранных данных датчика включает:

предварительную обработку и фильтрацию данных датчика активности для предоставления предварительно обработанных данных;

передачу предварительно обработанных данных на сетевой сервер для вычисления вектора признаков;

прием вектора признаков от сетевого сервера; и

идентификацию активности пользователя и/или получение дополнительной статистики на основе вектора признаков.

6. Способ по любому из пп. 1-3, отличающийся тем, что обработка собранных данных датчика включает:

предварительную обработку и фильтрацию данных датчика активности для предоставления предварительно обработанных данных;

вычисление вектора признаков;

передачу вектора признаков на сетевой сервер для идентификации активности пользователя и/или получения дополнительной статистики на основе вектора признаков; и

прием данных об активности пользователя и/или дополнительной статистики от сетевого сервера.

7. Способ по любому из пп. 1-3, отличающийся тем, что веб-страница включает модуль опроса датчика в форме встроенного модуля опроса датчика.

8. Способ по любому из пп. 1-3, отличающийся тем, что приложение включает модуль опроса датчика.

9. Способ по п. 1, отличающийся тем, что он включает также:

выбор встроенного алгоритма распознавания активности из множества встроенных алгоритмов распознавания активности.

10. Способ по п. 1, отличающийся тем, что он включает:

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

11. Способ по п. 1, отличающийся тем, что он включает также:

выбор по меньшей мере двух модулей распознавания активности из множества встроенных модулей распознавания активности и/или модулей распознавания активности, предоставляемых операционной системой мобильного устройства, приложениями третьей стороны или сервисами; и

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

12. Способ по любому из пп. 9-11, отличающийся тем, что выбор включает выбор модуля распознавания активности на основании выбора пользователя, предпочтений пользователя, предпочтений системы или автоматического выбора.

13. Способ по любому из пп. 1-3, отличающийся тем, что он включает также:

сбор дополнительных данных; и

передачу дополнительных данных и/или принятых обработанных данных активности датчика обратно по меньшей мере в один модуль распознавания активности.

14. Способ по любому из пп. 1-3, отличающийся тем, что он включает также:

передачу обработанных данных датчика активности и/или данных, предоставленных приложением, через сетевое подключение.

15. Способ по любому из пп. 1-3, отличающийся тем, что обработка собранных данных датчика включает:

передачу данных в облачный сервис;

прием данных, обработанных в облачном сервисе, от облачного сервиса, причем данные, обработанные в облачном сервисе, учитывают данные датчика активности по меньшей мере от одного другого устройства;

при этом обработанные данные датчика активности учитывают данные, обработанные в облачном сервисе.

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

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

17. Способ по п. 16, в котором выбор модуля распознавания активности выполняют автоматически, запускают приложением или выполняют в ответ на выбор пользователя.

18. Способ по любому из пп. 1-3, отличающийся тем, что приложение включает множество реализаций аналогичных модулей распознавания активности, оптимизированных для различных условий, при этом данный способ также включает:

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

19. Устройство для обработки данных датчика активности, включающее:

по меньшей мере один процессор; и

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

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

сбор данных датчика активности по меньшей мере от одного датчика мобильного устройства посредством модуля опроса датчика;

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

обработку собранных данных посредством встроенного модуля распознавания активности для формирования обработанных данных датчика активности; и

прием обработанных данных датчика активности от модуля распознавания активности.

20. Устройство по п. 19, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выполняло:

загрузку веб-страницы с веб-сервера.

21. Устройство по п. 20, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выполняло:

сохранение загруженной страницы на мобильном устройстве.

22. Устройство по любому из пп. 19-21, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором при обработке собранных данных датчика данное устройство выполняло:

предварительную обработку и фильтрацию данных датчика активности для предоставления предварительно обработанных данных;

вычисление вектора признаков; и

идентификацию активности пользователя и/или получение дополнительной статистики на основе вектора признаков.

23. Устройство по любому из пп. 19-21, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором при обработке собранных данных датчика данное устройство выполняло:

предварительную обработку и фильтрацию данных датчика активности для предоставления предварительно обработанных данных;

передачу предварительно обработанных данных на сетевой сервер для вычисления вектора признаков;

прием вектора признаков от сетевого сервера; и

идентификацию активности пользователя и/или получение дополнительной статистики на основе вектора признаков.

24. Устройство по любому из пп. 19-21, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором при обработке собранных данных датчика данное устройство выполняло:

предварительную обработку и фильтрацию данных датчика активности для предоставления предварительно обработанных данных;

вычисление вектора признаков;

передачу вектора признаков на сетевой сервер для идентификации активности пользователя и/или получения дополнительной статистики на основе вектора признаков;

прием данных об активности пользователя и/или дополнительной статистики от сетевого сервера.

25. Устройство по любому из пп. 19-21, отличающееся тем, что веб-страница включает модуль опроса датчика в форме встроенного модуля опроса датчика.

26. Устройство по любому из пп. 19-21, отличающееся тем, что приложение включает модуль опроса датчика.

27. Устройство по п. 19, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выполняло:

выбор встроенного алгоритма распознавания активности из множества встроенных алгоритмов распознавания активности.

28. Устройство по п. 19, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выполняло:

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

29. Устройство по п. 19, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выполняло:

выбор по меньшей мере двух модулей распознавания активности из множества встроенных модулей распознавания активности и/или модулей распознавания активности, предоставленных операционной системой мобильного устройства, приложениями третьей стороны или сервисами;

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

30. Устройство по любому из пп. 27-29, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выбирало модуль распознавания активности на основании выбора пользователя, предпочтений пользователя, предпочтений системы или автоматического выбора.

31. Устройство по любому из пп. 19-21, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором данное устройство выполняло:

сбор дополнительных данных;

передачу дополнительных данных и/или принятых обработанных данных датчика активности обратно по меньшей мере в один модуль распознавания активности.

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

33. Устройство по любому из пп. 19-21, отличающееся тем, что по меньшей мере одно запоминающее устройство и код компьютерной программы конфигурированы так, чтобы при исполнении кода компьютерной программы по меньшей мере одним процессором при обработке собранных данных датчика данное устройство выполняло:

передачу данных в облачный сервис;

прием данных, обработанных в облачном сервисе, от облачного сервиса, причем данные, обработанные в облачном сервисе, учитывают данные датчика активности по меньшей мере от одного другого устройства;

при этом обработанные данные датчика активности учитывают данные, обработанные в облачном сервисе.

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

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

35. Устройство по п. 34, отличающееся тем, что выбор модуля распознавания активности производится автоматически, запускается приложением или выполняется в ответ на выбор пользователя.

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

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

37. Устройство для обработки данных датчика активности, включающее:

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

средства для сбора данных датчика активности по меньшей мере от одного датчика мобильного устройства посредством модуля опроса датчика;

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

средства для обработки собранных данных посредством встроенного модуля распознавания активности для формирования обработанных данных датчика активности, и

средства для приема обработанных данных датчика активности от модуля распознавания активности.

38. Машиночитаемый носитель, на котором хранится компьютерная программа, включающая:

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

код для сбора данных датчика активности по меньшей мере от одного датчика мобильного устройства посредством модуля опроса датчика;

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

код для обработки собранных данных посредством встроенного модуля распознавания активности для формирования обработанных данных датчика активности; и

код для приема обработанных данных датчика активности от модуля распознавания активности.



 

Похожие патенты:

Изобретение относится к области электронных терминалов. Технический результат – повышение эффективности использования ресурсов электронных терминалов для обработки за счет раздельного выполнения процесса пользовательского интерфейса и процесса выполнения прикладной программы.

Изобретение относится к области управления исполнением задач компьютерной системой. Техническим результатом является эффективное управление выполнением задачи при одновременном отслеживании времени исполнения задач.

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

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

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

Изобретение относится к области процессорной обработки. Техническим результатом является надежный перенос ресурсов при сохранении высокоскоростной полосы пропускания между узлами и улучшении производительности системы.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении многопроцессорной производительности.

Группа изобретений относится к компьютерной технике и может быть использована для обработки прерываний в вычислительной среде. Техническим результатом является облегчение управления запросами прерывания.

Группа изобретений относится к вычислительной технике и может быть использована для управления обработкой запросов прерывания. Техническим результатом является обеспечение возможности управления скоростью обработки прерываний.

Изобретение относится к средствам изменения программы в режиме онлайн в системах автоматизации. .

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