способ и устройство для определения активной области ввода

Классы МПК:G09G5/08 для управления курсором
Автор(ы):,
Патентообладатель(и):Нокиа Корпорейшн (FI)
Приоритеты:
подача заявки:
2010-07-01
публикация патента:

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

способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937 способ и устройство для определения активной области ввода, патент № 2523937

Формула изобретения

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

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

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

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

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

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

4. Способ по п.1, в котором обнаружение курсора в данных кадрового буфера включает:

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

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

5. Способ по п.1, в котором обнаружение курсора в данных кадрового буфера включает:

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

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

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

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

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

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

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

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

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

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

11. Устройство по п.8, в котором обнаружение курсора упомянутым устройством в данных кадрового буфера включает:

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

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

12. Устройство по п.8, в котором обнаружение курсора в данных кадрового буфера включает:

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

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

13. Устройство по п.8, в котором обнаружение курсора в данных кадрового буфера включает определение того, что данные кадрового буфера соответствуют заранее заданной битовой карте курсора, которая была сформирована на основе векторного описания.

14. Устройство по п.8, в котором передача координат и размеров упомянутой области изображения включает передачу информации о положении активной области текстового ввода в удаленную среду.

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

16. Устройство по п.8, также включающее интерфейс связи, сконфигурированный для передачи информации в удаленную среду.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание изобретения к патенту

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

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

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

Благодаря развитию мобильных вычислительных устройств вычислительные устройства способны поддерживать новые и мощные приложения. Примеры таких приложений включают технологии определения местоположения и использования карты (например, посредством глобальной системы позиционирования (Global Positioning System, GPS), технологии воспроизведения мультимедийных данных (например, аудио- и видеоданных), технологии веб-браузеров и т.п.

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

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

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

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

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

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

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

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

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

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

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

На фиг.3 показан пример графа зависимостей для обработки кадрового буфера в соответствии с одним из примеров осуществления настоящего изобретения.

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

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

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

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

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

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

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

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

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

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

В настоящем документе термин "схема" относится к любому из следующего: полностью аппаратные схемные реализации (например, реализации только в виде аналоговых и/или цифровых схем); (b) комбинации схем и программного обеспечения (и/или встроенного программного обеспечения, например, в соответствии с конкретным применением: (i) комбинация процессора (или процессоров) или (ii) фрагментов процессора (или процессоров) / программного обеспечения (включая цифровой сигнальный процессор (или процессоры)), программное обеспечение и память, совместно функционирующие и обеспечивающие выполнение различных функций устройством, например мобильным телефоном или сервером; и (c) схемы, например микропроцессор (или микропроцессоры) или фрагмент микропроцессора (или микропроцессоров), которым для работы необходимо программное обеспечение или встроенное программное обеспечение, даже если упомянутое программное или встроенное программное обеспечение физически не представлено.

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

На фиг.1 показан пример системы в соответствии с различными примерами осуществления настоящего изобретения. Пример системы включает удаленную среду 100, пользовательское устройство (User Equipment, UE) 101 и линию 102 связи.

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

Линия 102 связи может представлять собой линию связи любого типа, способную поддерживать связь между удаленной средой 100 и пользовательским устройством UE 101. В соответствии с некоторыми примерами осуществления настоящего изобретения линия 102 связи представляет собой линию связи Bluetooth. Несмотря на то, что линия 102 связи показана как беспроводная линия связи, подразумевается, что линия 102 связи может быть также проводной линией связи.

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

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

Взаимодействие между пользовательским устройством UE 101 и удаленной средой 100 является примером обеспечения совместимости мобильных устройств, что иногда называют также интеллектуальным пространством, удаленной средой или удаленным клиентом. В связи с этим, функции и возможности пользовательского устройства UE 101 могут проецироваться во внешнее окружение (например, на удаленную среду 100), при этом внешнее окружение может выглядеть так, как будто упомянутые функции и возможности присущи этому внешнему окружению, так что зависимость от пользовательского устройства UE 101 не заметна для пользователя. Проецирование функций и возможностей пользовательского устройства UE 101 может включать экспортирование экрана пользовательского интерфейса (User Interface, UI) пользовательского устройства UE 101, а также команд и управления во внешнее окружение, посредством чего пользователь может комфортно взаимодействовать с упомянутым внешним окружением вместо пользовательского устройства UE 101.

При экспортировании пользовательского интерфейса пользовательского устройства UE 101, например, в удаленную среду 100, пользовательское устройство UE 101 может периодически сканировать кадровый буфер дисплея для определения того, какие части дисплея пользовательского устройства UE 101 изменились, и для передачи этих изменений в удаленную среду 100. Из-за относительно низких возможностей обработки у многих мобильных устройств связи (например, пользовательского устройства UE 101) и повышающегося разрешения дисплеев (например, разрешения четверти высокой четкости (Quarter-High Definition, QHD), широкоэкранной карты видеографики (Wide Video Graphics Array, WVGA) и т.п.), нагрузка обработки, связанная с анализом кадрового буфера может быть значительной, что может влиять на исполнение остальных приложений в пользовательском устройстве UE 101 (например, исполнение может быть замедлено). В свою очередь, восприятие пользователя (User Experience, UX) при доступе к функциональности пользовательского устройства UE 101 посредством удаленной среды 100 может быть ухудшено. Соответственно, необходимо снижение нагрузки обработки, связанной с анализом кадрового буфера и ограничениями обработки, для того, чтобы избежать описанного выше негативного влияния.

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

На фиг.2 показан пример дисплея 110 с заданными зонами дисплея. Зоны дисплея, которые заданы в соответствии с примером дисплея 110, включают зону 111 индикатора уровня сигнала, зону 112 строки заголовка, зону 113 информации о состоянии, зону 114 индикатора заряда батареи, зону 115 контента, зону 116 программных клавиш и зону 117 управления окнами. На основе контента, отображаемого в каждой из этих зон, могут быть выбраны соответствующие критерии обновления.

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

Некоторые из зон дисплея могут быть классифицированы как независимо обновляемые зоны. Независимо обновляемые зоны включают контент на дисплее, который изменяется независимо от событий пользовательского ввода, изменений контекста приложений или изменений контента других зон. Примеры независимо обновляемых зон включают зону 112 индикатора заряда батареи, зону 113 информации о состоянии и, возможно, зону 115 контента (в зависимости, например, от исполняемого приложения). В соответствии с некоторыми примерами осуществления настоящего изобретения, независимо обновляемые зоны могут иметь критерии обновления в виде порогового значения таймера. Если таймер превышает пороговое значение, критерий обновления удовлетворен. Независимо обновляемые зоны могут быть также классифицированы на быстро обновляемые зоны и медленно обновляемые зоны. Для различения между быстро обновляемыми зонами и медленно обновляемыми зонами может использоваться разница в пороговых значениях таймеров. Быстро обновляемые зоны отображают контент, который может изменяться быстро. Например, быстро может изменяться зона 111 индикатора уровня сигнала. Медленно обновляемые зоны отображают контент, который может изменяться относительно медленно. Например, зона 113 информации о состоянии может изменяться более медленно. С другой стороны, некоторые зоны дисплея могут быть классифицированы как зоны с инициируемым обновлением. В зонах с инициируемым обновлением изменения контента могут осуществляться в ответ на такие события, как пользовательский ввод, изменения в контексте приложений (например, запуск или завершение приложений) или изменения контента другой зоны дисплея. Примеры зон с инициируемым обновлением включают зону 112 строки заголовка, зону 116 программных клавиш, зону 117 управления окнами и, возможно, зону 115 контента (в зависимости от исполняемого приложения).

В соответствии с различными примерами осуществления настоящего изобретения описание области, связанной с зоной дисплея (например, координаты области, связанной с одной из зон дисплея), и классификация зоны дисплея или критерии обновления могут храниться в виде метаданных в платформенно-независимом формате, например, на расширяемом языке разметки (Extensible Markup Language, XML). В связи с этим, в соответствии с различными примерами осуществления настоящего изобретения, каждая модель мобильного устройства, исходя, например, из размера экрана, разрешения и конфигурации пользовательского интерфейса может включать файл или иную структуру данных, хранящую метаданные, связанные с экранами пользовательского интерфейса. При этом различные приложения, установленные на устройстве (например, пользовательском устройстве UE 101) могут хранить данные описания областей зон экрана и критерии обновления. В соответствии с некоторыми примерами осуществления настоящего изобретения, нет необходимости хранить данные зон дисплея для каждого экрана пользовательского интерфейса, вместо этого могут быть использованы одна запись с метаданными зон начального экрана пользовательского интерфейса, одна запись с метаданными зон экрана меню пользовательского интерфейса и одна запись с метаданными зон всех остальных экранов пользовательского интерфейса (например, экранов приложений и т.п.)

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

Для моделирования критериев обновления, удовлетворяемых при изменениях в другой зоне дисплея, может быть проведено направленное ребро из инициирующего узла в инициируемый узел. B связи с этим, рассмотрим сценарий, в котором существует направленное ребро из узла A в узел B. Изменение в зоне дисплея, представленной узлом A, может инициировать изменение в зоне дисплея, представленной узлом B. Таким образом, на основе соответствующего графа зависимостей, критерии обновления зоны дисплея, соответствующей узлу B, могут быть удовлетворены, когда происходит изменение в зоне дисплея, соответствующей узлу A. На фиг.3 изменение в данных кадрового буфера для зоны 125 области контента удовлетворяет критериям обновления зоны 124 заголовка.

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

Для моделирования критериев обновления, удовлетворяемых при событии пользовательского ввода, может быть задан узел пользовательского ввода. В связи с этим, направленное ребро между узлом X пользовательского ввода и зоной дисплея, соответствующей узлу Y, указывает на то, что обнаружение пользовательского ввода может удовлетворять критериям обновления зоны дисплея, соответствующей узлу Y. На фиг.3 критерии обновления зоны управления окнами и зоны панели меню могут быть удовлетворены, если произошел пользовательский ввод, что показано с помощью ребер, выходящих из узла 120 пользовательского ввода в узел 121 зоны управления окнами и в узел 122 зоны панели меню.

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

Для моделирования критериев обновления, удовлетворяемых при изменении контекста приложения, может быть задан узел ввода в контексте приложения. В связи с этим, направленное ребро между узлом X ввода в контексте приложения и зоной дисплея, соответствующей узлу Y, указывает на то, что обнаружение изменения в контексте приложения может удовлетворять критериям обновления зоны дисплея для узла Y. На фиг.3 критерии обновления зоны управления окнами, зоны панели меню и зоны строки заголовка могут быть удовлетворены, если произошло изменение в контексте приложения, что указано с помощью ребер, выходящих из узла 123 ввода в контексте приложения в узел 121 зоны управления окнами, в узел 122 зоны панели меню и в узел 124 строки заголовка.

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

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

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

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

Также, как указывалось относительно узлов 121, 122 и 124, показанных на фиг.3, для инициирования анализа данных кадрового буфера соответствующей зоны дисплея могут использоваться два или более набора критериев обновления. Чтобы исключить дублирование проходов зон дисплеев в течение одной итерации, после прохода каждой зоны дисплея соответствующий узел графа зависимостей может быть помечен (например, может быть установлен флаг для этой зоны дисплея) для указания на то, что данная зона дисплея уже была проанализирована. Во время одной итерации помеченные узлы зон дисплеев повторно анализировать не нужно. По завершении итерации пометка может быть удалена.

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

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

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

В различных примерах осуществления настоящего изобретения обеспечивают визуальное выделение активной области текстового ввода путем предварительного определения положения активной области текстового ввода с помощью обнаружения курсора посредством анализа данных кадрового буфера, специфичных для зон дисплея, в которых потенциально может произойти ввод текста, и определения экранных координат положения курсора. Анализ всего кадрового буфера не требуется, что позволяет уменьшить нагрузку обработки, а также повысить скорость и вероятность обнаружения курсора. Например, на фиг.2 для обнаружения и позиционирования текстового курсора могут анализироваться только данные кадрового буфера, соответствующие зоне 115 дисплея. Другими словами, в соответствии с различными примерами осуществления настоящего изобретения, вся зона дисплея, в которой находится курсор, или подраздел зоны дисплея, окружающий курсор в текущий момент времени, может быть активной областью текстового ввода. Таким образом, в соответствии с различными вариантами осуществления настоящего изобретения, обнаружение текущей позиции курсора с использованием данных кадрового буфера обеспечивает информацию, необходимую для определения части изображения, являющейся активной областью текстового ввода (например, зоны дисплея) и для предоставления координат части изображения, являющейся активной областью текстового ввода, в удаленную среду, для обеспечения выделения активной области текстового ввода (например, путем увеличения этой области, изменения цвета фона области и т.п.) на дисплее удаленной среды, чтобы пользователь мог легко отличить активную область текстового ввода от остальной мешающей информации на экране. Различные варианты осуществления настоящего изобретения обеспечивают обнаружение курсора с использованием, например, программных реализаций, исполняемых на мобильном устройстве, которые не требуют изменения аппаратного обеспечения ни мобильного устройства, ни удаленной среды, что дает возможность реализации в различных аппаратных окружениях. При этом определение положения курсора, в соответствии с различными вариантами осуществления настоящего изобретения, не зависит от конкретного исполняемого приложения и может быть использовано в сочетании с любыми приложениями, использующими текстовый ввод с использованием курсора. Другими словами, различные примеры осуществления настоящего изобретения являются независимыми от приложения.

На фиг.5 показаны примеры пользовательского устройства UE 101 (называемого также мобильным устройством) и удаленной среды 100. В связи с этим, на фиг.5 показан пример сценария, в котором определяют положение курсора и на основе положения курсора определяют активную область текстового ввода. Активную область текстового ввода выделяют, например, путем удаления всех остальных частей (например, зон дисплея) изображения на стороне пользовательского устройства UE 101 и отображения активной области текстового ввода пользователю в удаленной среде 100. Рассматривая активную область текстового ввода, показанную на фиг.5, следует отметить, что необязательно вся зона дисплея должна быть назначена для активной области текстового ввода, вместо этого для активной области текстового ввода может быть назначен подраздел зоны дисплея. На фиг.5, в соответствии с различными вариантами осуществления настоящего изобретения, зона дисплея, содержащая курсор, в пользовательском устройстве UE 101 представляет собой всю текстовую форму, при этом активная область текстового ввода, отображаемая в удаленной среде 100, является лишь верхней половиной упомянутой формы/зоны. В соответствии с некоторыми примерами осуществления настоящего изобретения, после того как координаты курсора были определены посредством процедуры обнаружения (описанной ниже), может быть определена активная область текстового ввода, например (но без ограничения этим), как X пикселей над курсором, X пикселей под курсором, а также Y пикселей слева от курсора и Y пикселей справа от курсора.

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

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

На фиг.6 показана блок-схема примера способа определения и предоставления положения курсора в соответствии с некоторыми примерами осуществления настоящего изобретения. Как было описано выше, для позиционирования курсора могут анализироваться данные кадрового буфера. Для обнаружения курсора могут анализироваться данные кадрового буфера, связанные с прямоугольниками, заданными зонами дисплея, которые были обновлены. Для определения того, что положение курсора было подтверждено, или того, что ожидаемое положение курсора некорректно, может быть выполнено некоторое количество итераций обнаружения курсора. Для успешных итераций в одном и том же положении может увеличиваться счетчик успехов (CursorDetected), и при достижении счетчиком успехов порогового значения успехов (SUCCESS_MAX), положение курсора считается подтвержденным. Соответственно, в результате упомянутого подтверждения могут быть предоставлены положение и размер курсора. Аналогично, для неуспешных итераций, может увеличиваться счетчик ошибок (CursorNotDetected), при этом, если счетчик ошибок достигает порогового значения ошибок (FAILURE_MAX), обнаружение курсора заканчивается неуспешно. Соответственно, при неуспешном завершении обнаружения курсора может быть передано уведомление об ошибке. Упомянутые пороговое значение успехов и пороговое значение ошибок могут задаваться исходя из частоты обновления курсора относительно остального дисплея. Например, если курсор мерцает или меняется медленно, а фон меняется быстро, то пороговое значение ошибок может быть более высоким по сравнению с пороговым значением успехов. Альтернативно, для быстро мерцающих или изменяющихся курсоров, пороговое значение успехов может быть выбрано относительно более низким (возможно, равным 1), поскольку положение курсора изменяется быстро.

В дополнение, поскольку размер курсора может изменяться в зависимости от приложения или контекста пользовательского интерфейса, реализуемых в данный момент времени, могут быть заданы диапазоны потенциальной высоты и ширины курсора. В связи с этим, могут быть заданы минимальная высота (MIN_HEIGHT), максимальная высота (МАХ_НEIGHT), минимальная ширина (MIN_WIDTH) и максимальная ширина (MAX_WIDTH).

Рассмотрим теперь конкретные операции, показанные на фиг.6. Пример способа может начинаться на шаге 600, и на шаге 602 может выполняться инициализация переменных отслеживания положения и размера, а также счетчиков. В связи с этим, переменные положения и размера курсора (например, cursor_x, cursor_y, cursor_width и cursor_height) могут быть установлены в значение nil, а счетчики успехов и ошибок (CursorDetected и CursorNotDetected) могут быть обнулены. Переменные cursor_x и cursor_y могут указывать последние известные координаты X и Y положения курсора, соответственно. Аналогично, переменные cursor_width и cursor_height могут указывать последние известные значения ширины и высоты курсора, соответственно.

На шаге 604 может быть определен предполагаемый прямоугольник курсора. Например, предполагаемый прямоугольник курсора может быть обозначен как "U", где (Ux, Uy) - обозначает координаты верхнего левого угла, a Uw и Uh - обозначают ширину и высоту прямоугольника, соответственно. В соответствии с различными вариантами осуществления настоящего изобретения положение и размер предполагаемого прямоугольника курсора могут быть определены с помощью различных средств, включая, но не ограничиваясь этим, регистрацию с помощью драйвера дисплея получения уведомлений об обновлениях или сравнение текущих данных кадрового буфера (или текущих данных кадрового буфера, связанных с выбранной зоной дисплея) с предшествующими данными кадрового буфера для обнаружения различий.

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

На шаге 608 положение и размер предполагаемого прямоугольника курсора могут сравниваться с предшествующим положением и размером успешно обнаруженного прямоугольника курсора для определения совпадения, которое может указывать на то, что курсор по-прежнему находится в том же положении и имеет прежний размер. Другими словами, переменная cursor_x может сравниваться со значением Ux, переменная cursor_y - со значением Uy, переменная curso_width - со значением Uw, а переменная cursor_height - со значением Uh. Если обнаружены совпадения, то на шаге 610 может быть выполнен алгоритм обнаружения курсора (более подробно описан ниже) и может быть получен результат (например, "истина" или "ложь").

На шаге 612 может осуществляться проверка результата алгоритма обнаружения курсора, и если курсор был обнаружен, то на шаге 614 счетчик успехов может быть увеличен (CursorDetected=CursorDetected+1), а счетчик ошибок может быть обнулен (CursorNotDetected=0). На шаге 616 счетчик успехов может сравниваться с пороговым значением успехов для определения, было ли достигнуто или превышено пороговое значение успехов. Если упомянутое пороговое значение было достигнуто или превышено, то предполагаемый прямоугольник курсора считается подтвержденным и становится действительным прямоугольником курсора, при этом на шаге 618 положение и размер действительного прямоугольника курсора (например, Ux, Uy, Uh и Uw) могут быть предоставлены, например, в удаленную среду. В соответствии с некоторыми примерами осуществления настоящего изобретения удаленная среда может быть сконфигурирована для определения, посредством процессора и памяти, активной области текстового ввода на основе положения и размера действительного прямоугольника курсора. Также, в зависимости от контекста пользовательского интерфейса и возможностей дисплея удаленной среды, удаленная среда может задавать размер и/или цвет активной области текстового ввода. Например, если удаленная среда включает относительно большой дисплей, то удаленная среда может отображать активную область текстового ввода в более крупном размере.

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

На шаге 612, если результатом алгоритма обнаружения курсора является "ложь" или если курсор не был обнаружен, на шаге 628 может быть увеличен счетчик ошибок (CursorNotDetected=CursorNotDetected+1). Затем на шаге 630 может быть выполнено определение, достиг ли или превысил ли счетчик ошибок пороговое значение ошибок. Если пороговое значение ошибок не было достигнуто (или превышено), то на шаге 604 может быть определен новый предполагаемый прямоугольник курсора, после чего выполнение данного примера способа может быть продолжено. Если пороговое значение было достигнуто или превышено, то на шаге 632 в удаленную среду может предоставляться уведомление о том, что курсор не был обнаружен, и после этого переменные могут быть снова инициализированы на шаге 602, а выполнение данного примера способа может быть продолжено.

На шаге 608, если положение и размер предполагаемого прямоугольника курсора не совпадают с предшествующим положением и размером успешно обнаруженного ранее прямоугольника курсора, то на шаге 620 может выполняться определение, лежат ли высота и ширина предполагаемого прямоугольника курсора в диапазонах потенциальной высоты и ширины курсора. Другими словами, может быть определено, лежит ли Uh между MIN_HEIGHT и МАХ_НEIGHT, и лежит ли Uw между MIN_WIDTH и MAX_WIDTH. Если, на шаге 620, высота и ширина не попадают в упомянутые диапазоны, то на шаге 628 может быть увеличен счетчик ошибок, и затем выполнение данного примера способа может быть продолжено. Если, на шаге 620, высота и ширина попадают в упомянутые диапазоны, на шаге 622 может быть выполнен алгоритм обнаружения курсора (более подробно описан ниже), при этом может быть получен результат (например, "истина" или "ложь").

На шаге 624 результат алгоритма обнаружения курсора может быть проверен, и если курсор не был обнаружен (например, возвращено значение "ложь"), то на шаге 628 может быть увеличен счетчик ошибок, при этом выполнение данного примера способа может быть продолжено. Если курсор был обнаружен (например, возвращено значение "истина"), то предполагаемый прямоугольник курсора считается подтвержденным и становится действительным прямоугольником курсора. В результате счетчик успехов может быть обнулен (CursorDetected=0), а переменные положения и размера могут быть установлены как положение и размер подтвержденного и являющегося теперь действительным прямоугольника курсора (например, cursor_x=Ux, cursor_y=Uy, cursor_width=Uw, и cursor_height=Uh), на шаге 626. Затем счетчик успехов может быть увеличен (CursorDetected=CursorDetected+1), а счетчик ошибок может быть обнулен (CursorNotDetected=0), на шаге 614, затем выполнение данного примера способа может быть продолжено.

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

Операции 610 и 622, показанные на фиг.6, ссылаются на выполнение алгоритма обнаружения курсора. Далее приведено описание нескольких примеров алгоритмов обнаружения курсора.

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

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

Для второго примера алгоритма обнаружения курсора может быть задан шаблон курсора, который обеспечивает критерии, необходимые для обнаружения курсора. Пример шаблона текстового курсора может быть обозначен как Т={b1, b1 , b1, b1, bY}, где Y - количество видимых состояний курсора, a bi-i-oe состояние курсора, которое представляет собой битовую карту, описывающую визуальное состояние курсора. Курсор, представленный шаблоном Т, может циклически проходить через серию состояний в соответствии со следующими переходами между состояниями b1способ и устройство для определения активной области ввода, патент № 2523937 b2способ и устройство для определения активной области ввода, патент № 2523937 b3способ и устройство для определения активной области ввода, патент № 2523937 b4способ и устройство для определения активной области ввода, патент № 2523937 bYспособ и устройство для определения активной области ввода, патент № 2523937 (зацикливание снова на b1).

На фиг.7а, иллюстрирующей пример шаблона курсора, каждая битовая карта курсора может включать прямоугольную сетку m×n, где m - ширина прямоугольной области курсора, а n - высота прямоугольной области курсора. Каждая ячейка (например, пиксель) упомянутой сетки может быть отмечена как "C", что обозначает, что данная ячейка является частью изображения курсора, находящего на переднем плане, или "B", что обозначает, что данная ячейка является частью фонового изображения курсора. В соответствии с различными вариантами осуществления настоящего изобретения, ячейки, отмеченные как "B", имеют значения цвета, отличающиеся от ячеек, отмеченных как "C". В результате, если курсор находится в видимом состоянии, при этом компонент переднего плана может иметь цвет, контрастирующий с фоновым компонентом. Битовая карта курсора может храниться как объединение двух наборов b C и bB, где bC - набор двухэлементых кортежей (х, у), где (х, у) - представляет позицию ячейки, отмеченной как "С", в упомянутой сетке, а bB - набор двухэлементых кортежей (х, y), где (х, y) - представляет позицию ячейки, отмеченной как "В", в упомянутой сетке. В соответствии с этим b может быть равно bC U bB. Несмотря на то, что цветовые значения для переднего плана и для фона могут быть предсказаны, в различных вариантах осуществления настоящего изобретения не требуется, чтобы цвета переднего плана и фона были известны. Вместо этого может использоваться факт наличия разницы в цвете переднего плана и фона. По существу, в соответствии с различными вариантами осуществления настоящего изобретения, непредсказуемые изменения цвета фона или неоднородный фон не оказывают негативного влияния на результат алгоритма обнаружения курсора. В результате, в соответствии с различными примерами осуществления настоящего изобретения, ситуации, в которых фон приложения изменяется на фон/текстуру, которые не заданы по умолчанию, и система пользовательского интерфейса должна соответственно изменить цвет курсора для поддержания визуального контраста, не оказывают негативного влияния на результат алгоритма.

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

Пример способа может включать также установку счетчика "I" битовой карты в единицу (например, I=1), на шаге 700. Далее, пример способа может включать получение битовой карты b1, где b1=bIC U b IB, и сравнение b1 и R следующим образом. Из R может быть получен первый пиксель, который соответствует первому элементу набора bIC, при этом может извлекаться значение цвета пикселя. Извлекаемое значение цвета может быть обозначено как "K".

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

На шаге 710 может быть извлечено значение цвета для каждого элемента набора bIB , при этом может выполняться проверка для определения того, что каждое упомянутое значение цвета не равно K. В соответствии с некоторыми примерами осуществления настоящего изобретения, если значения цвета для всех элементов набора не равны K, то может быть возвращено указание об обнаружении курсора (например, возвращают "истина"), на шаге 720. Если значение цвета хотя бы одного элемента набора bIB равно K, то данный пример способа переходит к шагу 725, как описано ниже.

Если на шаге 705 значение цвета одного элемента набора b IC не равно K, то битовая карта b1 не соответствует R, и счетчик битовой карты может быть увеличен (I=I+1), на шаге 725. В соответствии с некоторыми примерами осуществления настоящего изобретения вместо увеличения счетчика битовой карты, счетчик битовой карты может быть изменен в соответствии с выражением: I=(I+1) mod Y. На шаге 730 может осуществляться определение, достиг ли или превысил ли счетчик битовой карты количество битовых карт для шаблона курсора (например, выполнено ли условие I=Y?). Если счетчик битовой карты не достиг (и не превысил) количество битовых карт для шаблона курсора, то пример способа может переходить к шагу 705 с новым значением I и другой битовой картой. Если счетчик битовой карты достиг или превысил количество битовых карт для данного шаблона курсора, то может быть возвращено указание о том, что курсор не был обнаружен (например, возвращают "ложь"), на шаге 735. В примерах осуществления настоящего изобретения, в которых на шаге 725 счетчик битовых карт изменяют в соответствии с выражением I=(I+1) mod Y, может выполняться определение, выполнено ли условие I=0 (которое означает, что все битовые карты были проверены), и если да, данный пример способа переходит к шагу 735. Если нет, пример способа переходит к шагу 705.

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

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

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

Настоящее описание иллюстрируют примеры способов, примеры устройств и примеры компьютерных программных продуктов для обработки кадрового буфера дисплея и для определения активной области текстового ввода. На фиг.9 и 10 показаны примеры осуществления устройства настоящего изобретения, сконфигурированные для реализации различной функциональности, описанной здесь. На фиг.9 показан пример устройства, которое сконфигурировано для выполнения различной функциональности с точки зрения пользовательского устройства (например, UE 101) в соответствии с описанием фиг.1 и настоящего описания в целом. На фиг.10 показан пример устройства пользовательского устройства в виде мобильного терминала, сконфигурированного для выполнения различной функциональности с точки зрения пользовательского устройства UE 101, показанного на фиг.1 и в соответствии с настоящим описанием в целом. Примеры устройств, показанные на фиг.9 и 10, могут быть также сконфигурированы для выполнения примеров способов настоящего изобретения, например, в соответствии с описанием со ссылками фиг.4, 6 и 8.

Обратимся к фиг.9. Устройство 200, в соответствии с некоторыми примерами осуществления настоящего изобретения, может быть выполнено в виде устройства связи (или может входить в него как компонент) с функциями проводной или беспроводной связи. Устройство 200 может быть сконфигурировано в соответствии с функциональностью описанного пользовательского устройства. В некоторых из примеров настоящего изобретения устройство 200 может являться частью устройства связи (например, точки доступа 100 или пользовательского устройства UE 100), такого как стационарный или мобильный терминал. В качестве стационарного терминала устройство 200 может быть составной частью точки доступа (например, базовой станции, беспроводного маршрутизатора и т.п.) В качестве мобильного терминала устройство 200 может быть мобильным компьютером, мобильным телефоном, карманным персональным компьютером (portable digital assistant, PDA), пейджером, мобильным телевизором, игровым устройством, мобильным компьютером, портативным компьютером, фотоаппаратом, видеокамерой, аудио/видеоплеером, радиостанцией и/или устройством системы глобального позиционирования (GPS), или любой комбинацией перечисленного и т.п. Независимо от типа устройства связи устройство 200 может также включать вычислительные возможности.

Пример устройства 200 включает процессор 205, запоминающее устройство 210, интерфейс 206 ввода/вывода, интерфейс 215 связи, пользовательский интерфейс 220, анализатор 230 критериев обновления, анализатор 235 данных кадра и детектор 240 курсора в данных кадра или иначе осуществляет с ними связь. Процессор 205 может быть выполнен в виде различных средств, реализующих различную функциональность примеров осуществления настоящего изобретения, включая, например, микропроцессор, сопроцессор, контроллер, интегральную схему специального назначения, например, ASIC (application specific integrated circuit, заказная интегральная схема), FPGA (field programmable gate array, программируемая вентильная карта) или аппаратный ускоритель, процессорные схемы и т.п. В соответствии с одним из примеров осуществления настоящего изобретения процессор 205 может представлять множество процессоров, или один или более многоядерных процессоров, функционирующих совместно. Процессор 205 может включать множество транзисторов, логических вентилей, тактирующей схемы (например, генератор) или других подобных схем для обеспечения выполнения описанной функциональности. Процессор 205 может, но необязательно, включать один или более сопровождающих цифровых сигнальных процессоров. В некоторых примерах осуществления настоящего изобретения процессор 205 сконфигурирован для исполнения инструкций, хранимых в запоминающем устройстве 210 или доступных процессору 205 другим способом. Процессор 205 может быть сконфигурирован для функционирования таким образом, чтобы обеспечивать выполнение устройством 200 различной функциональности, описанной здесь.

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

Запоминающее устройство 210 может представлять собой один или более машиночитаемых носителей данных, которые могут включать энергозависимую и/или энергонезависимую память. В некоторых примерах осуществления настоящего изобретения запоминающее устройство 210 включает память с произвольным доступом (Random Access Memory, RAM), включающую динамическую и/или статическую память RAM, кэш-память, расположенную внутри или вне интегральной схемы и т.п. Также запоминающее устройство 210 может включать энергонезависимую память, которая может быть встроенной и/или съемной и может включать, например, постоянную память, флэш-память, магнитные устройства хранения (например, жесткие диски, приводы гибких дисков, магнитную пленку и т.п.), приводы оптических дисков и/или оптические носители, энергонезависимую память с произвольным доступом (non-volatile random access memory, NVRAM) и т.п. Запоминающее устройство 210 может включать кэш-область для временного хранения данных. В связи с этим, устройство 210 или его часть может входить в состав процессора 205. Запоминающее устройство 210 может включать область кэш для временного хранения данных. Устройство 210, или его часть, может входить в состав процессора 205.

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

Интерфейс 206 ввода/вывода может представлять собой любое устройство, схемы или средства, выполненные в виде аппаратного обеспечения, программного обеспечения или в виде комбинации аппаратного и программного обеспечения, сконфигурированных для обеспечения интерфейса между процессором 205 и другими схемами или устройствами, например интерфейсом 215 связи или пользовательским интерфейсом 220. В некоторых из примеров осуществления настоящего изобретения процессор 205 может взаимодействовать с памятью 210 через интерфейс 206 ввода/вывода. Интерфейс 206 ввода/вывода может быть сконфигурирован для преобразования сигналов и данных в форму, которая может интерпретироваться процессором 205. Интерфейс 206 ввода/вывода может также выполнять буферизацию входных и выходных данных для поддержки функционирования процессора 205. В соответствии с некоторыми примерами осуществления настоящего изобретения процессор 205 и интерфейс 206 ввода/вывода могут быть объединены на одном кристалле или в одной микросхеме, сконфигурированной для выполнения или для обеспечения выполнения устройством 200 различной функциональности в соответствии с настоящим изобретением.

Интерфейс 215 связи может представлять собой любое устройство или средства, выполненные в виде аппаратного обеспечения, компьютерного программного продукта или комбинации аппаратного обеспечения и компьютерного программного продукта, которые сконфигурированы для приема данных из сети 225 и/или передачи данных в сеть 225 и/или любое другое устройство или модуль, осуществляющий связь с вариантом устройства 200 (например, удаленной средой 226). В связи с этим, в соответствии с различными вариантами осуществления настоящего изобретения, устройство 200, посредством интерфейса 215 связи может либо напрямую соединяться с удаленной средой (например, посредством Bluetooth) или соединяться с удаленной средой через сеть 225. Процессор 205 может также быть сконфигурирован для обеспечения связи через интерфейс связи, например, путем управления аппаратным обеспечением, входящим в состав интерфейса 215 связи. В связи с этим, интерфейс 215 связи может включать, например, одну или более антенн, передатчик, приемник, приемопередатчик и/или аппаратное обеспечение поддержки, включающее, например, процессор для обеспечения связи. Посредством интерфейса 215 связи пример устройства 200 может осуществлять связь с различными другими сетевыми объектами по типу "устройство-устройство" и/или посредством непрямых соединений через базовую станцию, точку доступа, сервер, шлюз, маршрутизатор и т.п.

Интерфейс 215 связи может быть сконфигурирован для обеспечения связи в соответствии с любыми стандартами или технологиями проводной или беспроводной связи. Интерфейс 215 связи может быть сконфигурирован для поддержки связи в среде с множеством антенн, например с множеством входов и множеством выходов (Multiple Input Multiple Output, MIMO). Также интерфейс 215 связи может быть сконфигурирован для поддержки сигнализации мультиплексирования с ортогональным частотным разделением (Orthogonal Frequency Division Multiplexing, OFDM). В некоторых примерах осуществления настоящего изобретения интерфейс 215 связи может быть сконфигурирован для осуществления связи по различным технологиям, таким как протоколы беспроводной связи второго поколения (second-generation, 2G) IS-136 (множественный доступ с временным разделением каналов (Time Division Multiple Access, TDMA), глобальная система мобильной связи (Global Systerm for Mobile communications, GSM), IS-95 (множественный доступ с кодовым разделением каналов (Code Division Multiple Access, CDMA)), протоколы беспроводной связи третьего поколения (third-generation, 3G), например, универсальная система мобильной связи (Universal Mobile Telecommunications System, UMTS), множественный доступ с кодовым разделением каналов 2000 (CDMA2000), широкополосный множественный доступ с кодовым разделением каналов (Wideband Code Division Multiple Access, WCDMA), синхронный множественный доступ с кодовым и временным разделением каналов (Time Division-Syncronous Code Division Multiple Access, TD-SCDMA), протоколы беспроводной связи поколения 3.9 (3.9G), например, развитая универсальная наземная сеть радиодоступа (Evolved Universal Terrestrial Radio Access Network, E-UTRAN), протоколы беспроводной связи четвертого поколения (4G), протоколы усовершенствованной международной системы телекоммуникаций (international mobile telephony advanced, IMT-Advanced), протоколы технологии долгосрочного развития (Long Term Evolution, LTE), включая усовершенствованную технологию долгосрочного развития (LTE-advanced) и т.п.Также интерфейс 215 связи может быть сконфигурирован для обеспечения связи в соответствии с такими технологиями как, например, связь в радиочастотном, инфракрасном диапазонах, или с использованием любых других технологий беспроводных сетей, включая технологии WLAN, например, IEEE 802.11 (например, 802.11а, 802.11b, 802.11g, 802.11n и т.п.), протоколы беспроводной локальной сети (wireless local area network, WLAN), технологии всемирной совместимости для доступа в СВЧ-диапазоне (Worldwide Interoperability for Microwave Access, WiMAX), например, IEEE 802.16, и/или технологии беспроводной персональной сети (Wireless Personal Area Network, WPAN), например, IEEE 802.15, BlueTooth (ВТ), версии BlueTooth с малой мощностью, сверхширокополосной связи, Wibree, Zigbee и т.п. Интерфейс 215 связи может быть также сконфигурирован для поддержки связи на сетевом уровне, возможно, посредством протокола Интернента.

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

Анализатор 230 критериев обновления, анализатор 235 данных кадра и/или детектор 240 курсора в данных кадра в примере устройства 200 могут представлять собой любые средства или устройства, выполненные, полностью или частично, в виде аппаратного обеспечения, компьютерного программного продукта или в виде комбинации аппаратного обеспечения и компьютерного программного продукта, например, в виде процессора 205, исполняющего хранимые инструкции для конфигурирования устройства 200, запоминающего устройства 210, хранящего исполняемые инструкции программного кода, сконфигурированные для выполнения описанных функций, или процессора 205, аппаратно сконфигурированного для выполнения функций анализатора 230 критериев обновления, анализатора 235 данных кадра и/или детектора 240 курсора в данных кадра в соответствии с настоящим описанием. В одном из примеров осуществления настоящего изобретения процессор 205 включает анализатор 230 критериев обновления, анализатор 235 данных кадра и/или детектор 240 курсора в данных кадра или управляет ими. Упомянутые анализатор 230 критериев обновления, анализатор 235 данных кадра и/или детектор 240 курсора в данных кадра могут быть, полностью или частично, выполнены в виде процессоров, аналогичных процессору 205, но отдельных от него. В связи с этим, анализатор 230 критериев обновления, анализатор 235 данных кадра и/или детектор 240 курсора в данных кадра могут осуществлять связь с процессором 205. В различных примерах осуществления настоящего изобретения упомянутые анализатор 230 критериев обновления, анализатор 235 данных кадра и/или детектор 240 курсора в данных кадра могут, полностью или частично, располагаться в различных устройствах, так что часть функциональности или вся функциональность анализатора 230 критериев обновления, анализатора 235 данных кадра и/или детектора 240 курсора в данных кадра может выполняться первым устройством, а остальная функциональность анализатора 230 критериев обновления, анализатора 235 данных кадра и/или детектора 240 курсора в данных кадра может выполняться одним или более другими устройствами.

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

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

Устройство 200 и процессор 205 могут быть сконфигурированы для выполнения описанной ниже функциональности посредством анализатора 235 данных кадра. В связи с этим, анализатор 235 планирования может быть сконфигурирован для сравнения текущих данных кадрового буфера одной из зон дисплея с последующими данными кадрового буфера этой же зоны дисплея для определения изменений данных кадрового буфера, связанных с упомянутой зоной дисплея. Текущие данные кадрового буфера и/или последующие данные кадрового буфера могут храниться в кадровом буфере, содержащемся в запоминающем устройстве 210. В соответствии с некоторыми примерами осуществления настоящего изобретения упомянутое сравнение, выполняемое анализатором 235 данных кадра, может осуществляться в ответ на удовлетворение критериев обновления. Также, в соответствии с некоторыми примерами осуществления настоящего изобретения, анализатор 235 данных кадра может быть сконфигурирован для обеспечения представления изменений в данных кадрового буфера в одной из зон дисплея. В связи с этим, упомянутый дисплей может быть дисплеем пользовательского интерфейса 220 или удаленным дисплеем (например, удаленной среды 100).

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

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

Далее на фиг.10 приведен более конкретный пример устройства в соответствии с различными вариантами осуществления настоящего изобретения. Пример устройства фиг.10 представляет собой мобильный терминал 10, сконфигурированный для связи в беспроводной сети, например в сети сотовой связи. Мобильный терминал 10 может быть сконфигурирован для выполнения функциональности пользовательского устройства UE 101 и/или устройства 200 в соответствии с настоящим описанием. Более конкретно, может обеспечиваться выполнение мобильным терминалом 10 функциональности анализатора 230 критериев обновления, анализатора 235 данных кадра и/или детектора 240 курсора в данных кадра посредством процессора 20. В связи с этим, процессор 20 может представлять собой интегральную схему или микросхему, сконфигурированную аналогично процессору 205, например, вместе с интерфейсом 206 ввода/вывода. При этом энергозависимая память 40 и энергонезависимая память 42 могут быть сконфигурированы для поддержки функционирования процессора 20 в качестве машиночитаемых носителей.

Мобильный терминал 10 может дополнительно включать антенну 12, передатчик 14 и приемник 16, которые могут входить в состав интерфейса связи мобильного терминала 10. Громкоговоритель 24, микрофон 26, дисплей 28 и клавиатура 30 могут входить в состав пользовательского интерфейса.

На фиг.4, 6, 7b и 8 показаны блок-схемы алгоритмов для примеров систем, способов и/или компьютерных программных продуктов в соответствии с примерами осуществления настоящего изобретения. Следует понимать, что все блоки или операции упомянутых блок-схем, а также комбинации блоков или операций в них, могут быть реализованы различными средствами. Средства реализации блоков или операций упомянутых блок-схем, комбинаций блоков или операций блок-схем алгоритмов, или другой функциональности описанных примеров осуществления настоящего изобретения могут включать аппаратное обеспечение и/или компьютерный программный продукт, включающий машиночитаемый носитель данных (в отличие от термина "машиночитаемая среда передачи данных", который описывает распространяющийся сигнал) с хранимыми на нем одной или более инструкциями компьютерного программного кода, программными инструкциями или исполняемыми машиночитаемыми инструкциями программного кода. Инструкции программного кода могут храниться в запоминающем устройстве, например запоминающем устройстве 210 примера устройства, например примера устройства 200, и исполняться процессором, например процессором 205. Следует понимать, что все подобные инструкции программного кода могут быть загружены в компьютер или иное программируемое устройство (например, процессор 205, запоминающее устройство 210 и т.д.) с машиночитаемого носителя для формирования конкретного механизма таким образом, что он становится средством реализации функций, указанных в блоке (или блоках) или операции (или операциях) упомянутых блок-схем. Упомянутые инструкции программного кода могут также храниться на машиночитаемом носителе данных, который может управлять компьютером, процессором или иным программируемым устройством, для выполнения конкретных функций, посредством чего формируется конкретный механизм или изделие. Инструкции, хранимые на упомянутом машиночитаемом носителе, могут образовывать изделие, при этом данное изделие становится средством реализации функций, указанных в блоке (или блоках) или операции (или операций) упомянутых блок-схем. Упомянутые инструкции компьютерной программы могут извлекаться из машиночитаемого носителя и загружаться в компьютер, процессор или иное программируемое устройство и конфигурировать компьютер, процессор или иное программируемое устройство для исполнения операций, подлежащих выполнению на этом компьютере, процессоре или ином программируемом устройстве. Извлечение, загрузка и исполнение инструкций программного кода может осуществляться последовательно, так что за один раз извлекают, загружают и исполняют одну инструкцию. В некоторых примерах осуществления настоящего изобретения извлечение, загрузка и/или исполнение может осуществляться параллельно, так что несколько инструкций извлекают, загружают или исполняют совместно. Исполнение упомянутых инструкций программного кода может формировать реализуемый компьютером процесс, в котором инструкции, исполняемые компьютером, процессором или иным программируемым устройством обеспечивают операции для реализации функций, определенных в блоке (или блоках) или операции (или операциях) упомянутых блок-схем.

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

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

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

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

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

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

Класс G09G5/08 для управления курсором

система и способ управления светом -  патент 2485573 (20.06.2013)
гибридное устройство управления курсором оконного интерфейса и/или графического пользовательского интерфейса персонального компьютера -  патент 2465633 (27.10.2012)
способ многопользовательского дистанционного управления компьютером для графических приложений -  патент 2429549 (20.09.2011)
устройство ввода, содержащее узел колеса прокрутки -  патент 2417454 (27.04.2011)
устройство ввода -  патент 2410744 (27.01.2011)
динамическая обратная связь для жестов -  патент 2366006 (27.08.2009)
устройство управления курсором -  патент 2319998 (20.03.2008)
оптическая система оптической мыши -  патент 2295750 (20.03.2007)
оптическая система оптической мыши -  патент 2260203 (10.09.2005)
растровый интерполятор -  патент 2259603 (27.08.2005)
Наверх