КОМПЕНСАЦИЯ ОЖИДАЕМОГО ДВИЖЕНИЯ УСТРОЙСТВА
COMPENSATING FOR ANTICIPATED MOVEMENT OF DEVICE

Уровень техники
Мобильные вычислительные устройства, такие как мобильные телефоны и портативные аудио/видео устройства, стали все более популярными в последние годы. Поскольку устройства продолжают становиться все более малыми в размерах и более портативными, пользователи начали оперировать устройствами во время выполнения различных действий, таких как ходьба, разминочная пробежка, бег и вождение машины. Например, пользователи прогуливаются, одновременно проверяя сообщения электронной почты. К сожалению, меньший форм-фактор устройств типично дает в результате меньший размер экрана на устройстве. Следовательно, последствия от движения устройства или дрожание во время действий более выражены, что вызывает переутомление глаз и негативно влияет на работу и восприятие пользователем.
Раскрытие изобретения
Варианты осуществления изобретения улучшают взаимодействие пользователя с устройством отображения посредством ожидания движения устройства и компенсации ожидаемого движения. Профили описывают модели движения устройства с течением времени. Данные о движении, сформированные из движения устройства, сравниваются с моделями. На основе сравнения выбирается один из профилей. Выбранный профиль включает в себя компенсационные данные для корректирования данных изображения относительно области отображения устройства в ожидании движения. Откорректированные данные изображения предоставляются устройству для отображения.
Данный раздел представлен для того, чтобы в упрощенной форме представить набор идей, которые дополнительно описываются ниже в подробном описании. Этот раздел не предназначен для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого объекта изобретения, а также не предназначен для того, чтобы быть использованным в качестве помощи при определении области применения заявляемого объекта изобретения.
Краткое описание чертежей
Фиг.1 - примерная блок-схема, иллюстрирующая взаимодействие пользователя с вычислительным устройством.
Фиг.2 - примерная блок-схема, иллюстрирующая устройство отображения, имеющее один или более акселерометров.
Фиг.3A и фиг.3B - примерные блок-схемы, иллюстрирующие движение мобильного вычислительного устройства.
Фиг.4 - примерная блок-схема последовательности операций, иллюстрирующая настройку данных изображения на основе ожидаемого движения устройства отображения.
Фиг.5 - примерная схема, иллюстрирующая активность пользователя во время просмотра мобильного вычислительного устройства.
Фиг.6 - примерная блок-схема, иллюстрирующая последовательность движения устройства отображения и движения текста, отображаемого на устройстве.
На чертежах соответствующие номера ссылочных позиций обозначают соответствующие части.
Осуществление изобретения
Ссылаясь на чертежи, варианты осуществления изобретения автоматически обнаруживают движение устройства 204 отображения и стабилизируют изображение, отображенное на устройстве 204 отображения. Аспекты изобретения работают так, чтобы ожидать движение и динамически компенсировать движение, чтобы сохранять фиксированную линию взгляда между устройством и пользователем 101. Например, изображение сдвигается на количество строк или столбцов пикселей в направлении, противоположном ожидаемому движению. Компенсация эффективно стабилизирует изображение на устройстве 204 отображения относительно движения так, чтобы обеспечивать улучшенное восприятие пользователем независимо от движения.
В то время как аспекты изобретения описываются со ссылкой на устройство 204 отображения, являющееся мобильным вычислительным устройством 302 или другим вычислительным устройством 102, варианты осуществления изобретения могут работать с любым устройством с областью 206 отображения, подверженной движению или дрожанию. Например, аспекты изобретения могут работать с такими устройствами как портативные компьютеры, игровые консоли и карманные или установленные в транспортном средстве навигационные устройства. Дополнительно, в то время как некоторые аспекты изобретения описываются со ссылкой на один или более цифровых акселерометров 208, предоставляющих данные о движении устройства 204 отображения, варианты осуществления изобретения могут работать с другими средствами для определения данных о движении для устройства 204 отображения. Кроме того, в то время как аспекты изобретения описываются со ссылкой на реализацию в программном обеспечении, варианты осуществления изобретения могут работать с реализациями в любой форме, включающей в себя аппаратные средства, программное обеспечение, микропрограммное обеспечение или их любую комбинацию.
На фиг.1 показана примерная блок-схема, иллюстрирующая пользователя 101, взаимодействующего с вычислительным устройством 102. Вычислительное устройство 102 включает в себя процессор 104 и область 106 памяти или другие машиночитаемые носители. Область 106 памяти хранит один или более исполняемых компьютером компонентов, таких как компонент 114 настройки, компонент 116 интерфейса, компонент 116 дрожания, компонент 120 сглаживания и компонент 122 драйвера. Работа этих компонентов описывается со ссылкой на фиг.4 ниже.
Область 106 памяти дополнительно хранит один или более профилей 108, таких как профили #1-#N, где N - положительное целое число. Профили 108 описывают возможное движение вычислительного устройства 102 со временем. Профили 108 могут быть ассоциированы, например, с разными действиями, которые могут выполняться пользователем 101, такими как ходьба, бег или разминочная пробежка. Каждый из профилей 108 включает в себя данные 110 модели и компенсационные данные 112. Компенсационные данные 112 описывают взаимосвязь между данными 202 изображения и областью 206 отображения вычислительного устройства 102 во время движения вычислительного устройства 102. Компенсационные данные 112 применяются к данным 202 изображения в ожидании движения (например, дрожание дисплея) вычислительного устройства 102, чтобы смещать или компенсировать ожидаемое движение. Данные 110 модели включают в себя, например, последовательность ожидаемых движений вычислительного устройства 102, в том числе направление и величину каждого движения. Компенсационные данные 112 включают в себя, например, последовательность корректировок данных 202 изображения (например, корректировки строки и/или столбца пикселей), чтобы нейтрализовать последовательности ожидаемых движений в данных 110 модели.
На фиг.2 показана примерная блок-схема, иллюстрирующая устройство 204 отображения, имеющее один или более акселерометров 208. Акселерометры 208 включают в себя, например, акселерометры #1-#M, где M - положительное целое число. Акселерометры 208, включающие в себя цифровые или аналоговые акселерометры, определяют направление наклона или изменение положения устройства 204 отображения и предоставляют данные об ускорении. В области техники известны различные типы акселерометров, такие как пьезоэлектрический акселерометр, пьезорезистивный акселерометр, тензометрический акселерометр и микроэлектромеханический акселерометр. Аспекты изобретения могут работать с этими и другими типами акселерометров 208. Акселерометры 208 используются, чтобы обнаруживать небольшие нестабильности, указывающие движение устройства 204 отображения, например, характерные для прогуливающегося пользователя 101.
Устройство 204 отображения дополнительно включает в себя область 206 отображения или экран. Область 206 отображения может занимать любую часть передней поверхности устройства 204 отображения. Область 206 отображения может воспроизводить данные 202 изображения, включая видеоданные.
На фиг.3A и фиг.3B показаны примерные блок-схемы, иллюстрирующие движение мобильного вычислительного устройства 302. Фиг.3A иллюстрирует поперечное, горизонтальное движение мобильного вычислительного устройства 302. Фиг.3B иллюстрирует направленное вверх и вниз, вертикальное движение мобильного вычислительного устройства 302. В некоторых вариантах осуществления (не показаны) мобильное вычислительное устройство 302 также движется к и от пользователя 101. В других вариантах осуществления (не показаны) мобильное вычислительное устройство 302 поворачивается вокруг поперечной оси. Варианты осуществления изобретения могут функционировать так, чтобы компенсировать движение в одном или более из трех пространственных измерений или направлений, включая любую комбинацию направлений в любом из измерений. В некоторых вариантах осуществления один акселерометр 208 предоставляет данные, относящиеся к движению в одном из трех пространственных измерений. Например, чтобы получать трехмерные данные о движении, мобильное вычислительное устройство 302 включает в себя три акселерометра 208.
На фиг.4 показана примерная блок-схема последовательности операций, иллюстрирующая корректировку или повторное позиционирование данных 202 изображения на основе ожидаемого движения устройства 204 отображения. Операции, проиллюстрированные на фиг.4, могут быть описаны со ссылкой на машиноисполняемые компоненты, иллюстрированные на фиг.1. Компоненты сохраняют линию взгляда между пользователем 101 и устройством 204 отображения во время движения устройства 204 отображения. Компонент 114 настройки определяет на этапе 402 один или более профилей 108. Профили 108 описывают движение устройства 204 отображения со временем для пользователя 101. В некоторых вариантах осуществления профили 108 являются характерными для пользователя. Например, компонент 114 настройки предлагает пользователю 101 предоставить физические характеристики пользователя 101, по которым нужно определять профили 108. Физические характеристики могут быть использованы, чтобы изменять профили 108 по умолчанию, сохраненные в устройстве 204 отображения. Альтернативно, компонент 114 настройки определяет профили 108 через камеры для покадровой съемки с помощью трекболов, прикрепленных к пользователю 101 или другому человеку. Физические характеристики включают в себя, но не только, длину шага, скорость ходьбы, длину рук и длину ног.
Если данные о движении принимаются или обнаруживаются на этапе 404 компонентом 116 интерфейса, к сохраненным профилям 108 осуществляется доступ на этапе 406. Данные о движении принимаются, например, от одного или более акселерометров 208, ассоциированных с устройством 204 отображения. На этапе 408 принятые данные о движении сравниваются с данными 110 модели, ассоциированными с профилями 108. Один из профилей 108 идентифицируется на этапе 410 на основе, по меньшей мере, сравнения на этапе 408 (например, пользователь 101 начал прогуливаться). Например, идентифицированный профиль 108 является профилем 108, чьи данные 110 модели наиболее близко соответствуют данным о движении, принимаемым от устройства 204 отображения. В некоторых вариантах осуществления компонент 114 интерфейса вычисляет среднее по времени значение принятых данных. Компонент 118 дрожания идентифицирует профиль 108 на основе среднего по времени значения. Компонент 118 дрожания может также вычислять ожидаемое движение частично на основе среднего по времени значения и частично на основе данных 110 модели или компенсационных данных 112, ассоциированных с идентифицированным профилем 108.
Когда данные 202 изображения принимаются на этапе 202, компенсационные данные 112, ассоциированные с идентифицированным профилем 108, применяются к данным 202 изображения, чтобы корректировать данные 202 изображения на этапе 412. Например, компонент 118 дрожания вычисляет ожидаемые движения устройства 204 отображения со временем. Ожидаемые движения измеряются в строках или столбцах пикселей в некоторых вариантах осуществления.
Компонент 120 сглаживания модифицирует данные 202 изображения в соответствующие моменты времени на основе ожидаемых движений, чтобы компенсировать или выравнивать ожидаемые движения, чтобы сохранять стабильность изображения относительно пользователя 101. В примере, в котором устройство 204 отображения включает в себя стандартную область отображения, компонент 120 сглаживания модифицирует данные 202 изображения так, что часть модифицированных данных 202 изображения отображается за пределами стандартной области отображения. Например, ожидаемое движение вычисляется как движение в вертикальном направлении. Данные 202 изображения тогда сдвигаются в вертикальном направлении (например, на одну или более строк пикселей), противоположном ожидаемому движению, как определено компенсационными данными 112. В другом примере ожидаемое движение вычисляется как движение в горизонтальном направлении. Данные 202 изображения тогда сдвигаются в горизонтальном направлении (например, на один или более столбцов пикселей), противоположном ожидаемому движению, как определено компенсационными данными 112. Как правило, компенсационные данные 112 используются, чтобы определять, в каком направлении устройство 204 отображения движется, и смещают пиксели изображения в противоположную этому направлению сторону, чтобы стабилизировать отображение изображения.
Устройство 204 отображения может включать в себя дополнительные строки и столбцы пикселей вокруг области 206 отображения, зарезервированные для использования с аспектами изобретения (например, на каждой стороне области 206 отображения - вверху, внизу, слева и справа - для сдвига данных 202 изображения). Данные о движении (например, от акселерометров 208) используются, чтобы повторно позиционировать изображение на устройстве 204 отображения, используя дополнительные строки и столбцы пикселей в случае необходимости.
Альтернативно или в дополнение, существующие строки и столбцы в области 206 отображения резервируются для использования. Количество зарезервированных строк и столбцов изменяется на основе требуемой величины компенсации, степени ожидаемых движений и степени движения, к которой подвержено устройство 204 отображения. В некоторых вариантах осуществления количество строк и столбцов динамически определяется, когда данные о движении непрерывно принимаются компонентом 116 интерфейса. Например, во время активной деятельности отображаемое изображение может уменьшаться по масштабу или иначе уменьшаться в размере, чтобы делать доступными дополнительные строки и столбцы пикселей, которые должны использоваться, чтобы компенсировать ожидаемые движения.
В некоторых вариантах осуществления компенсационные данные 112, ассоциированные с идентифицированным профилем 108, изменяются на основе данных о движении, непрерывно принимаемых компонентом 116 интерфейса (например, на основе вычисленной частоты движения). Например, если компенсационные данные 112 предписывают смещение изображения на три столбца пикселей, тем не менее данные о движении, принятые недавно, указывают, что устройство 204 отображения, как правило, движется меньше, чем это описывается посредством данных 110 модели, данные 202 изображения могут быть сдвинуты меньше, чем на три столбца пикселей, чтобы точно компенсировать ожидаемое движение. Кроме того, если устройство отметило непрерывные отклонения от ожидаемых данных модели, но профиль использования указывается как остающийся таким же, устройство 204 может обновлять профиль новыми ожидаемыми компенсационными данными, либо посредством выполнения постоянных модификаций в сохраненных данных профиля, либо посредством выдачи временных модификаций, которые сохраняются только в течение продолжительности текущего сеанса использования.
В варианте осуществления, в котором компонент 118 дрожания вычисляет ожидаемое движение устройства 204 отображения от пользователя 101 в определенный момент времени, компонент 120 сглаживания модифицирует данные 202 изображения, увеличивая данные 202 изображения, чтобы сохранять постоянный коэффициент масштабирования для данных 202 изображения.
Компенсационные данные 112 могут быть синхронизированы с данными о движении от устройства 204 отображения (например, на основе текущих данных о движении, принятых компонентом 116 интерфейса), чтобы допускать применение соответствующих частей компенсационных данных 112 к ожидаемым движениям устройства 204 отображения. Компонент 122 драйвера отображает, или предоставляет для отображения, модифицированные данные 202 изображения.
В варианте осуществления, в котором устройство 204 отображения является мобильным вычислительным устройством 302, данные, по меньшей мере, от одного из акселерометров 208 непрерывно принимаются мобильным вычислительным устройством 302. В вариантах осуществления, в которых присутствуют задачи энергосбережения, потребление энергии может быть снижено посредством разрешения режима "автопилота", в котором акселерометры 208 включаются только на короткие интервалы, данные обрабатываются, выбирается профиль, и затем акселерометры 208 выключаются, и ресурсы, оценивающие входящие данные, не используются.
Принятые данные сравниваются с данными 110 модели каждого из профилей 108, и один из профилей 108 идентифицируется (например, профиль 108, чьи данные 110 модели наиболее точно совпадают с принятыми данными). Выполняются операции 412 и 414 на фиг.4. Даже после того, как один из профилей 108 был выбран, данные непрерывно принимаются от акселерометров 208 и сравниваются с данными 110 модели, чтобы идентифицировать изменение в профилях 108. Например, пользователь 101 прекращает бег и начинает ходьбу. Альтернативно или в дополнение, устройство 204 отображения принимает уведомление об изменении (например, через событие) или обнаруживает изменение в движении устройства 204 отображения (например, когда пользователь 101 изменяет деятельность, вызывающую движение устройства 204 отображения). Например, устройство 204 отображения подключается к транспортному средству или отсоединяется от транспортного средства. Другой пример события включает в себя то, что скорость устройства 204 отображения превышает пороговое значение (например, пользователь 101 сел в машину и едет) или скорость устройства 204 отображения падает ниже порогового значения. Другой профиль 108 тогда выбирается на основе принятого уведомления или обнаруженного изменения.
На фиг.5 показана примерная схема, иллюстрирующая пользователя 101, выполняющего действие, при этом он смотрит на мобильное вычислительное устройство 302. Действия включают в себя, например, ходьбу, бег, разминочную пробежку или езду в автотранспортном средстве. Аспекты изобретения работают так, чтобы сохранять фиксированную точку или линию взгляда между пользователем 101 и мобильным вычислительным устройством 302.
На фиг.6 показана примерная блок-схема, иллюстрирующая последовательность движения устройства 204 отображения. Когда устройство 204 отображения движется вверх, аспекты изобретения ожидают движение и определяют количество пикселей противодействия, на которое необходимо откорректировать отображенный текст вниз. Когда устройство 204 отображения движется вниз, аспекты изобретения ожидают движение и определяют количество пикселей противодействия, на которое необходимо откорректировать отображенный текст вверх.
Примерное операционное окружение
В качестве примера, но не ограничения, машиночитаемые носители содержат компьютерные запоминающие носители и среду передачи данных. Компьютерные носители для хранения информации хранят информацию, такую как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Среда связи, типично, содержит машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущее колебание или другой механизм распространения, и включает в себя любую среду для доставки информации. Сочетания любого из вышеперечисленного также следует включить в объем термина «машиночитаемый носитель».
Хотя описаны в связи с примерным вычислительным системным окружением, варианты осуществления изобретения функциональны во множестве других вычислительных системных окружениях или конфигурациях общего назначения или специального назначения. Примеры хорошо известных вычислительных систем, окружений и/или конфигураций, которые могут быть применены для использования с изобретением, включают в себя, но не только, персональные цифровые помощники, мобильные вычислительные устройства, персональные компьютеры, серверные компьютеры, карманные или переносные устройства, портативные музыкальные проигрыватели, многопроцессорные системы, игровые консоли, основанные на микропроцессорах системы, телевизионные приставки, программируемую бытовую электронную аппаратуру, мобильные телефоны, сетевые ПК, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любые из вышеприведенных систем или устройств, и т.п.
Варианты осуществления изобретения могут быть описаны в общем контексте машиноисполняемых инструкций, таких как программные модули, исполняемые одной или более компьютерами или другими устройствами. Машиноисполняемые команды могут быть организованы в один или более машиноисполняемых компонентов или модулей. Программные модули, в общем, включают в себя (но не только) процедуры, программы, объекты, компоненты и структуры данных, которые выполняют отдельные задачи или реализуют отдельные абстрактные типы данных. Аспекты изобретения могут быть реализованы с помощью любого числа и организации таких компонентов или модулей. Например, аспекты изобретения не ограничены конкретными машиноисполняемыми командами или конкретными компонентами либо модулями, проиллюстрированными на чертежах и описанными в данном документе. Другие варианты осуществления изобретения могут включать в себя другие машиноисполняемые команды или компоненты, имеющие большую или меньшую функциональность, чем проиллюстрирована и описана в данном документе.
Варианты осуществления, проиллюстрированные и описанные в данном документе, а также варианты осуществления, специально не описанные в данном документе, но находящиеся в рамках аспектов изобретения, составляют примерное средство корректировки данных 202 изображения в ответ на ожидаемое движение мобильного вычислительного устройства 302, и примерное средство для корректировки данных 202 изображения основано на компенсационных данных 112, ассоциированных с одним из профилей 108, и основано на непрерывно принимаемых данных от акселерометра 208.
Порядок выполнения или исполнения операций варианта осуществления изобретения, проиллюстрированных и описанных в данном документе, является несущественным, если не определено иное. То есть операции могут быть выполнены в любом порядке, если не определено иное, и варианты осуществления изобретения могут включать в себя больше или меньше операций, чем раскрытые в данном документе. Например, предполагается, что выполнение или исполнение отдельной операции перед, одновременно с или после другой операции находится в рамках изобретения.
Термины "содержащий", "включающий в себя" и "имеющий" служат для того, чтобы быть включающими, и означают, что могут быть дополнительные элементы, отличные от перечисленных элементов.
При наличии описанных аспектов изобретения в деталях будет понятно, что модификации и вариации возможны без отступления от рамок аспектов изобретения, как определено в прилагаемой формуле. Поскольку различные изменения могут быть выполнены в вышеуказанных конструкциях, продуктах и способах без отступления от рамок аспектов изобретения, считается, что вся сущность, содержащаяся в вышеприведенном описании и показанная на сопровождающих чертежах, должна интерпретироваться как иллюстративная, но не в ограничивающем смысле.