Способ и устройство для определения активной области ввода
Иллюстрации
Показать всеИзобретение относится к области обеспечения взаимодействия мобильных устройств с удаленной средой или удаленными клиентами. Техническим результатом является определение активной области ввода в изображении, предоставляемом в удаленную среду. Способ определения активной области ввода содержит получение данных кадрового буфера, задающих область изображения, которая была обновлена; обнаружение курсора, указывающего активную область ввода, в данных кадрового буфера, при этом обнаружение курсора включает определение того, что размеры упомянутой области изображения соответствуют размерам полученной ранее области изображения, связанной с успешным обнаружением курсора; и передачу координат и размеров упомянутой области изображения в удаленную среду. 4 н. и 20 з.п. ф-лы, 11 ил.
Реферат
Область техники
Варианты осуществления настоящего изобретения относятся, в общем, к обеспечению взаимодействия мобильных устройств с удаленной средой или удаленными клиентами и, в частности, к способу и устройству для определения активной области ввода в изображении посредством обработки кадрового буфера дисплея.
Предпосылки создания изобретения
Благодаря развитию мобильных вычислительных устройств вычислительные устройства способны поддерживать новые и мощные приложения. Примеры таких приложений включают технологии определения местоположения и использования карты (например, посредством глобальной системы позиционирования (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) в удаленную среду, например удаленный терминал, головной блок мультимедийной системы автомобиля и т.п., пользователь применяет механизмы ввода, доступные посредством удаленной среды, при этом ввод может направляться в мобильное устройство. С точки зрения действий ввода, осуществляемых пользователем, текстовый ввод может являться одной из операций с наибольшим вовлечением пользователя, поскольку он часто требует более продолжительного внимания и повышенной концентрации внимания на дисплее. Например, если удаленная среда представляет собой головной блок мультимедийной системы автомобиля, пользователь может пожелать осуществить текстовый ввод во время краткой остановки перед светофором. Поэтому необходимы механизмы для привлечения внимания пользователя к активной области изображения, помогающие пользователю осуществить быстрый и внимательный ввод текста. В связи с этим, активная область текстового ввода может быть подсвечена или увеличена по сравнению с остальным изображением, чтобы пользователь мог быстро отличить активную область текстового ввода от остальной мешающей информации на экране.
В различных примерах осуществления настоящего изобретения обеспечивают визуальное выделение активной области текстового ввода путем предварительного определения положения активной области текстового ввода с помощью обнаружения курсора посредством анализа данных кадрового буфера, специфичных для зон дисплея, в которых потенциально может произойти ввод текста, и определения экранных координат положения курсора. Анализ всего кадрового буфера не требуется, что позволяет уменьшить нагрузку обработки, а также повысить скорость и вероятнос