ВЫДЕЛЕНИЕ ОБЪЕКТОВ НА УСТРОЙСТВЕ ОТОБРАЖЕНИЯ
SELECTING OBJECTS ON DISPLAY DEVICE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области пользовательских интерфейсов для устройств отображения, а более конкретно - к управлению выделением одного из множества объектов на устройстве отображения.
УРОВЕНЬ ТЕХНИКИ
В настоящее время экранные пользовательские интерфейсы на многих бытовых электронных устройствах, таких как телевизоры, обеспечивают парадигму пользовательского интерфейса (UI) с "перескакивающим выделением". В них отчетливая визуальная индикация, которой обычно управляют посредством четырехсторонних клавиш курсора, может быть перемещена поверх объектов, показанных на экране.
С другой стороны, компьютерные устройства обычно обеспечивают «указатель», основываясь на парадигме UI. В нем положением х/у графического экранного элемента, который обычно называется "курсором", непосредственно управляют через "двухмерное" устройство ввода, такое как мышь или трекпад.
Интерфейсам (UI) на основе перескакивающего выделения препятствует тот факт, что пользователь должен повторно нажимать различные физические кнопки, обычно клавиши курсора на его пульте дистанционного управления, для управления и перемещения выделения. Они являются, как правило, неэффективными и/или медленными, в частности, если выделение необходимо переместить между объектами на разных сторонах экрана со многими другими объектами, расположенными между ними.
С другой стороны, интерфейсы (UI) указателя требуют, чтобы их курсор был позиционирован поверх объекта для того, чтобы выделить объект. Пользователь может случайно позиционировать указатель на свободное, нефункциональное пространство экрана. Однако по сравнению с перескакивающим выделением, управление положением курсора является гораздо более эффектным и эффективным благодаря "аналоговым/пространственным" свойствам устройств ввода, которые используются для управления курсором, таких как трекпад или мышь.
Пользовательский интерфейс, сталкивающийся с некоторыми из этих проблем, раскрыт в статье Guiard et al. "Указание объекта: дополнение к указанию битовой карты в GUI", Труды конференции SIGCHI по человеческим факторам в вычислительных системах, Вена, 2004 (Guiard et al: Object Pointing: A Complement to Bitmap Pointing in GUIs; Proceedings of the SIGCHI conference on Human factors in computing systems Vienna, 2004). В этой статье описана концепция, которая называется указанием объекта, которая представляет собой технологию взаимодействия, основанную на специальном экранном курсоре, который пропускает свободные пространства. Однако, как описано в секции 3.2 и показано на фигуре 2 этой статьи, перемещение специального экранного курсора не является непрерывным. В результате расстояние перемещения мыши, с помощью которой специальный экранный курсор перемещается, не соответствует расстоянию перемещения самого специального экранного курсора. Этот эффект проявляется сильнее тогда, когда существует несколько объектов на устройстве отображения, которые разделены большими свободными пространствами. Поэтому пользователь может воспринимать управление положением как неудобное.
ЕР 1560105 раскрывает информационное устройство, имеющее устройство указания для управления положением указателя. Для управления выбором объекта используется область объекта и периферийная область объекта вокруг области объекта. Условия относительно остановок перемещения указателя используются для определения того, что объект выбран, когда оператор перемещает указатель в периферийную область. Раскрыт вариант осуществления, в котором условие для выбора объекта заключается в том, что указатель сделал две или более остановки в периферийной области объекта. В другом варианте осуществления, изменение направления перемещения используется в качестве условия. В другом варианте осуществления, отсутствие остановки после изменения направления перемещения используется для того, чтобы избежать выбора.
US 2009/249257 раскрывает систему управления курсором, где положение указателя автоматически перемещается по направлению к ближайшему объекту. Раскрыты варианты осуществления, в которых этим пренебрегают при некоторых условиях, например, посредством использования команд для отключения и возобновления. Раскрыты варианты осуществления, в которых используется высокая скорость перемещения в качестве сигнала для отключения выбора, и в которых используется перемещение от объекта в качестве сигнала для возобновления. И наоборот, команда для включения обходного управления может побудить перемещаться курсор в направлении следующего объекта. Раскрыт вариант осуществления, в котором объект может быть выделен, когда положение указателя может быть перемещено на объект сразу после того, как пользователь переместил курсор по направлению к объекту.
US №5990862 раскрывает систему управления курсором, в которой экранный объект выделяется, когда положение указателя находится в области экрана, которая отображается на этот объект. Курсор принуждают к перемещению от одного выбранного объекта к следующему, и он никогда не будет располагаться в положении, где объект может не быть выбран. Создано логическое отображение, в котором каждый выбранный объект отображается в область. Выделение перемещается к новому выбираемому элементу, и старое выделение стирается, когда перемещение указателя побуждает положение указателя войти в логическую область, идентифицируемую в отображении с помощью нового выбираемого элемента.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Таким образом, было бы желательным обеспечить эффективную стратегию навигации для пользовательского интерфейса, перемещающую выделение наиболее управляемым и пропорциональным образом.
Для более эффективного решения этой задачи, согласно аспекту настоящего изобретения, обеспечен способ управления выделением одного из множества объектов на устройстве отображения. Получают пространственно-непрерывное перемещение положения указания на устройстве отображения, причем положение указания обеспечено посредством пользовательского интерфейса ввода. До тех пор, пока положение указания совпадает с первым одним из множества объектов, управляют первым одним из множества объектов, который должен быть выделен. Когда положение указания приближается ко второму одному из множества объектов, выделением управляют для перескока с первого одного на второй один из множества объектов. Это работает особенно хорошо в случае, когда существует свободное пространство между по меньшей мере некоторыми из объектов.
Перескакиванием выделения управляют на основании расстояния от положения указания до по меньшей мере упомянутого второго одного из множества объектов и дополнительно на основании направления перемещения положения указания. Например, если положение указания находится в пределах некоторого расстояния от второго объекта, выделение перескакивает на него, и перескакивания на относительно близкие объекты можно избежать, если положение указания перемещается от них, так как очевидно, что пользователь не намеревается выделять их.
Пространственно-непрерывное перемещение положения указания может быть обеспечено с помощью устройства пространственного ввода, такого как трекпад или мышь. Выделение по определению всегда позиционируется на одном из (функциональных) объектов, оно не может быть позиционировано на свободном пространстве как курсор. В то же самое время, устройство пространственного ввода перемещает выделение более пропорциональным образом. Перемещение на стороне ввода будет отражать размер экранных объектов: например, для навигации выделения по большим объектам потребуются большие (или более быстрые) перемещения на устройстве ввода по сравнению с меньшими объектами.
Управление позволяет предложить основанное на скорости ускорение подобно курсору компьютера. Это означает, что медленные перемещения на устройстве ввода позволяют пользователю очень точно управлять выделением, например, на экранной клавиатуре с многими маленькими смежными клавишами, тогда как более быстрое перемещение позволяет пользователю осуществлять быструю навигацию выделения от одной стороны экрана к другой.
Перескакиванием выделения можно управлять дополнительно на основании расстояния от положения указания до упомянутого первого одного из множества объектов. Например, перескакивание может быть выполнено, когда расстояние до второго объекта становится меньше, чем расстояние до первого объекта. К вычисленным расстояниям может быть добавлен гистерезис для того, чтобы избежать перескакивания выделения назад или вперед, когда положение указания остается между ними в течение некоторого времени.
Перескакиванием выделения можно управлять дополнительно на основании скорости или ускорения/замедления перемещения положения указания. Например, перескакивания можно избежать в случае незначительного проскакивания положением указания некоторого объекта и сильного замедления и/или низкой скорости, так как очевидно, что пользователь только что переместил положение указания немного дальше и не намеревается перемещать его на другой объект.
Согласно дополнительному варианту осуществления настоящего изобретения, положение указания не отображается. В результате использования такого "виртуального курсора" пользователь не отвлекается на дополнительную информацию на устройстве отображения. Кроме того, положение указания может находиться за пределами устройства отображения. Этот аспект может быть использован для реализации дополнительных функциональных возможностей. Например, если по меньшей мере некоторые из множества объектов размещены в ряд, и если положение указания находится за пределами устройства отображения в продолжении ряда, множеством объектов в ряду можно управлять для того, чтобы прокручивать по устройству отображения. Скорость прокрутки может зависеть от расстояния от положения указания до устройства отображения.
Согласно еще одному варианту осуществления, после того, как непрерывное перемещение положения указания завершено, последним выделенным объектом управляют для того, чтобы оставить выделенным. Затем пользователь может подтвердить операцию, соответствующую выделенному объекту, например, используя клавишу подтверждения. В качестве альтернативы, само завершение непрерывного перемещения служит как подтверждение операции, соответствующей выделенному объекту. Когда непрерывное перемещение положения указания началось, положением указания управляют для того, чтобы оно находилось в центре текущего выделенного объекта. Такой способ взаимодействия имеет в результате то, что он является естественным и понятным для пользователя.
Предпочтительно способ, согласно настоящему изобретению, реализован посредством компьютерной программы.
Компьютерная программа может быть воплощена на считываемом компьютером носителе, или носитель передачи данных может переносить компьютерную программу.
Согласно дополнительному аспекту изобретения, обеспечено устройство, содержащее контроллер для управления выделением одного из множества объектов на устройстве отображения, причем контроллер сконфигурирован для:
- получения пространственно-непрерывного перемещения положения указания на устройстве отображения, причем положение указания обеспечено посредством пользовательского интерфейса ввода,
- до тех пор, пока положение указания совпадает с первым одним из множества объектов, управления первым одним из множества объектов, который должен быть выделен, и
- при приближении положения указания ко второму одному из множества объектов, управления выделением для перескока с первого одного на второй один из множества объектов.
Эти и другие аспекты настоящего изобретения будут очевидны и объяснены со ссылкой на варианты осуществления, подробно описанные ниже по тексту.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение будет более понятным, и его многочисленные задачи и преимущества станут очевидными для специалистов в данной области техники посредством ссылки на приведенные ниже чертежи совместно с сопроводительным описанием, на которых:
Фигура 1 показывает блок-схему последовательности операций управления выделением объектов, согласно примерному варианту осуществления изобретения.
Фигура 2 показывает первый пример выделения одной из клавиш на экранной клавиатуре.
Фигура 3 показывает второй пример выделения одной из клавиш на экранной клавиатуре.
Фигура 4 показывает дополнительный вариант осуществления, согласно настоящему изобретению, в котором учитывается направление перемещения положения указания.
Фигура 5 показывает еще один примерный вариант осуществления изобретения, который позволяет выполнять прокрутку объектов путем определения местоположения положения указания за пределами устройства отображения.
Фигура 6 показывает блок-схему примерного устройства, сконфигурированного для реализации настоящего изобретения.
Фигура 7 показывает выделение объектов и перемещение положения указания в одном направлении в зависимости от времени для варианта осуществления, согласно фигуре 1.
На всех фигурах одинаковые ссылочные позиции относятся к одинаковым элементам.
ПОДРОБНОЕ ОПИСАНИЕ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
Далее, со ссылкой на фигуры 1-3 приводится подробное описание первого примерного варианта осуществления изобретения. Согласно варианту осуществления, пользователь непосредственно управляет положением указания, которое в этом описании также называется "виртуальным курсором", посредством устройства ввода. Устройство ввода, используемое для перемещения положения, может представлять собой любое устройство пространственного 2D ввода, такое как трекпад, шаровой манипулятор или мышь. Согласно варианту осуществления, виртуальный курсор является концепцией, а не фактически видимым экранным элементом. Виртуальный курсор ведет себя почти так же, как и видимый курсор на ПК, например, навигация на большом расстоянии требует большего или более быстрого перемещения мышью, шаровым манипулятором или трекпадом, чем навигация на маленьком расстоянии. Тот факт, что быстрое перемещение на некотором расстоянии устройством ввода приводит к навигации на большее расстояние на устройстве отображения, чем медленное перемещение на том же самом расстоянии устройством ввода, известно как "характеристика ускорения".
Виртуальный курсор ведет себя следующим образом. Когда пользователь касается устройства ввода для того, чтобы начать перемещение виртуального курсора, он позиционируется по центру текущего выделенного объекта пользовательского интерфейса (этап 110). До тех пор, пока виртуальный курсор перемещается, повторно исполняют следующие этапы через короткие интервалы времени. Вычисляют положение виртуального курсора (этап 130). Затем определяют, соответствует ли положение положению одного из множества объектов пользовательского интерфейса на устройстве отображения (этап 140). Если это условие выполняется, то соответствующий объект ("целевой объект") выделяется (этап 160). Если это условие не выполняется, и положение виртуального курсора соответствует свободному пространству на устройстве отображения или находится даже за пределами устройства отображения, то вычисляют расстояние от положения указания до центров всех из множества объектов на устройстве отображения, и определяют объект, который находится ближе всего к положению указания (этап 150). Затем выделяют этот объект ("целевой объект"). Когда целевой объект отличается от текущего выделенного объекта, то выделение перемещается на этот новый объект. Эти этапы повторяют по истечении короткого интервала времени до тех пор, пока пользователь не продолжит пространственно-непрерывное перемещение виртуального курсора. Перемещение положения виртуального курсора пропорционально перемещению пальца на трекпаде или перемещению мыши. При отпускании трекпада или отсутствии перемещения мыши в течение некоторого периода времени (что проверяется на этапе 170), виртуальный курсор становится неактивным, и выделение остается позиционированным на последней цели (этап 180). В результате на устройстве отображения всегда есть выделенный объект независимо от положения виртуального курсора.
На фигуре 2 показано устройство 200 отображения с экранной клавиатурой 210. Пользователь переместил виртуальный курсор 220 вниз и влево. Следует отметить, что хотя это и не показано на фигуре, предпочтительно виртуальный курсор не виден на устройстве отображения. В результате перемещения курсора выделение выполнило перескакивание на клавишу 230 «пробел», так как она представляет собой кнопку, расположенную ближе всего к курсору, как показано окружностью 240 вокруг виртуального курсора и проводящей через центр клавиши "пробел".
В этом примере, показанном на фигуре 3, виртуальный курсор перемещается вверх и вправо, и выделение перемещается к ближайшей клавише, в этом примере кнопка 310 '3'. Хотя виртуальный курсор позиционируется на значительном расстоянии от клавиатуры, выделение все еще остается в пределах клавиатуры, так как ближе нет другого целевого объекта.
o
1
2
3
4
На фигуре 7 показана траектория виртуального курсора (вертикальная ось) и выделение объектов 'A-Β' и 'C-D' в зависимости от времени (горизонтальная ось) для случая пространственно-непрерывного перемещения виртуального курсора в одном направлении (то есть прямолинейное перемещение). Во время t пользователь касается устройства ввода, что приводит в результате к продолжению выделения (показанного на графике посредством ранее выделенного объекта 'A-Β') и позиционированию виртуального курсора в центре этого объекта. Затем пользователь начинает перемещение виртуального курсора, как показано на чертеже непрерывной линией. Во время t виртуальный курсор начинает пересекать свободное пространство между объектами 'A-Β' и 'C-D'. Однако, поскольку расстояние от виртуального курсора до центра объекта 'A-Β' меньше, чем расстояние от виртуального курсора до центра объекта 'C-D', объект 'A-Β' продолжает быть выделенным. Во время t расстояние от виртуального курсора до центра объекта 'C-D' становится меньше, чем расстояние от виртуального курсора до центра объекта 'A-Β', и в результате выделение перескакивает из объекта 'A-Β' на объект 'C-D'. Во время t виртуальный курсор прекращает пересечение свободного пространства и перемещается над объектом 'C-D'. Однако, поскольку виртуальный курсор невидим на устройстве отображения, то он не обращает на себя внимание. Во время t пользователь прекращает перемещение и отпускает устройство ввода. Следовательно, виртуальный курсор становится неактивным, и выделение остается на объекте 'C-D'.
В варианте осуществления, описанном со ссылкой на фигуры 1-3 и 7, решение относительно того, какой объект станет целевым объектом, основано только на расстоянии от объекта до виртуального курсора. В некоторых компоновках преимуществом может быть то, что помимо расстояния учитываются также и другие параметры. Полезным параметром является траектория виртуального курсора и, в частности, его направление. На фигуре 4 показан примерный вариант осуществления, в котором как расстояние, так и направление перемещения виртуального курсора 220 принимаются во внимание. В данном случае, виртуальный курсор начал перемещаться в центре первого объекта 410 между двумя другими объектами 420, 440 по направлению к объекту 430. Виртуальный курсор находится в равноудаленном положении от центров всех четырех объектов 410, 420, 430, 440. Однако, принимая во внимание траекторию 450 виртуального курсора, который четко идет в направлении объекта 430, выделяется последний объект. Предпочтительно направление виртуального курсора в течение некоторого интервала времени выбирается в качестве входного параметра для того, чтобы избежать того, что короткие случайные перемещения выполненные пользователем виртуального курсора не имели отрицательного эффекта.
Согласно примерному варианту осуществления, виртуальный курсор может быть позиционирован за пределами устройства отображения. Это не влияет на выделение, поскольку это может быть выполнено точно так же, как и в случае, когда виртуальный курсор по-прежнему позиционируется на устройстве отображения за счет использования расстояний до объектов на устройстве отображения и возможно других параметров. Расстояние, на котором виртуальный курсор может быть позиционирован за пределами устройства отображения, может быть ограничено максимальным значением с тем, чтобы при достижении этого максимального значения любые дальнейшие перемещения виртуального курсора от устройства отображения не имели какого-либо воздействия на его положение. Позиционирование виртуального курсора за пределами устройства отображения может быть использовано, как показано на фигуре 5, для получения дополнительных функциональных возможностей. Одной такой функциональной возможностью является прокрутка объектов 510, 520, 530, 540, размещенных в ряд на устройстве 200 отображения путем размещения виртуального курсора 220 за пределами устройства отображения в продолжении ряда. Скорость прокрутки может зависеть от расстояния виртуального курсора до устройства отображения.
На фигуре 6 показана блок-схема примерного устройства 600, сконфигурированного для реализации вариантов осуществления, описанных в данном документе выше по тексту. Показаны только те особенности, которые имеют значение для понимания настоящего изобретения. Устройство содержит устройство 610 ввода, контроллер (процессор) 620 со связанной памятью 630 и устройство 640 отображения. Функциональность, показанная на фигурах 1-5 и 7, предпочтительно реализована посредством подходящей компьютерной программы, загруженной в связанную память 630 процессора 620.
Устройство 600 может быть интерактивным телевизором, и устройство 610 ввода может быть пультом дистанционного управления (ДУ) с трекпадом, активизируемым щелчком кнопки. В этом случае в дистанционный пульт управления необходимо загрузить программное обеспечение для преобразования перемещений пользователя по трекпаду в соответствующие команды ДУ, распознаваемые интерактивным телевизором. На основании этих команд перемещение виртуального курсора определяется и "преобразуется" для надлежащего выделения одного из рабочих объектов, отображаемых на телевизоре.
Хотя изобретение было иллюстрировано и подробно описано со ссылкой на чертежи, такая иллюстрация и описание должны рассматриваться иллюстративными или примерными и неограничивающими, при этом изобретение не ограничивается раскрытыми вариантами осуществления.
В этой связи следует отметить, что изобретение не ограничивается двухмерным расположением и его также можно распространить на одномерные или трехмерные расположения.
Кроме того, дополнительные параметры перемещения виртуального курсора могут быть приняты во внимание для определения объекта, который должен быть выделен. Его примерами служат скорость или ускорение/замедление перемещения положения указания.
Кроме того, вместо того, чтобы положение указания сделать невидимым (концепция виртуального курсора), видимый курсор может быть использован для указания положения указания.
Другие изменения в раскрытых вариантах осуществления могут быть понятны и выполнены специалистами в данной области техники при осуществлении на практике заявленного изобретения на основе изучения чертежей, раскрытия и прилагаемой формулы изобретения. В формуле изобретения слово "содержащий" не исключает других элементов или этапов и единственное число не исключает множественного числа. Один процессор или другой блок могут выполнять функции нескольких элементов, изложенных в формуле изобретения. Тот факт, что некоторые меры изложены во взаимно различных зависимых пунктах, не показывает, что комбинации этих мер нельзя использовать для получения преимущества. Компьютерную программу можно хранить/распространять на подходящем носителе, таком как оптический носитель информации или твердотельный носитель информации, поставляемый вместе или в качестве части другого аппаратного обеспечения, но также можно распространять в других формах, таких как через Интернет или другие проводные или беспроводные телекоммуникационные системы. Любые ссылочные позиции в формуле изобретения не должны рассматриваться как ограничивающие ее объем.