RU2265245C2 - Навигация - Google Patents
Навигация Download PDFInfo
- Publication number
- RU2265245C2 RU2265245C2 RU2002119566/09A RU2002119566A RU2265245C2 RU 2265245 C2 RU2265245 C2 RU 2265245C2 RU 2002119566/09 A RU2002119566/09 A RU 2002119566/09A RU 2002119566 A RU2002119566 A RU 2002119566A RU 2265245 C2 RU2265245 C2 RU 2265245C2
- Authority
- RU
- Russia
- Prior art keywords
- objects
- candidate
- level
- directions
- certain
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
- G06F3/04892—Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Navigation (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Digital Computer Display Output (AREA)
Abstract
Изобретение относится к устройству и способу для упрощения перемещения между подлежащими отображению на экране объектами, особенно такими как объекты, определяемые HTML-документами. Его применение позволяет получить технический результат в виде упрощения реализации изобретения и улучшения сервисных возможностей без использования координатно-указательного устройства, вместо которого используется стандартный пульт дистанционного управления бытовой техники. Этот результат достигается благодаря тому, что объекты привязывают к множеству направлений на основе местоположений этих объектов, осуществляют подъем или спуск на один уровень в иерархии таких объектов, причем некоторая группа объектов может быть пройдена как единое целое на первом уровне, а перемещение между ее отдельными элементами или подгруппами может осуществляться на втором уровне. 18 з.п. ф-лы, 26 ил., 5 табл.
Description
Изобретение относится к перемещению между несколькими объектами от одного к другому (что называют также навигацией), обычно отображаемыми на экране, и в предпочтительных вариантах своего осуществления касается перемещения между объектами, определенными в некотором документе, таком как HTML-документ (или подобном), или облегчения выбора таких объектов.
HTML-документы (HTML - язык разметки гипертекстовых документов) хорошо известны и широко используются для передачи информации в сети Интернет. Каждая страница такого документа может содержать несколько активных областей или объектов, которые могут быть активированы путем перевода курсора к этому объекту с помощью координатно-указательного устройства (такого как мышь) и нажатием на клавишу, связанную с этим координатно-указательным устройством. К числу типичных объектов относятся, среди прочего, изображения, всплывающие кнопки, селективные переключатели, кнопки-флажки, всплывающие списки, ссылки на другие документы, выбираемые поля для ввода текста и данных. В общем случае могут рассматриваться самые разнообразные объекты, которые могут быть выбраны или могут получить фокус, и настоящее изобретение предпочтительно относится к выбору таких объектов или к перемещению между ними.
Согласно настоящему изобретению предлагается отображать документ, такой как HTML-документ (или подобный), при помощи устройства, которое может не иметь координатно-указательного устройства, в частности, приемника-декодера для системы цифрового телевидения. При этом возникает проблема, связанная с перемещением между объектами, отображенными на экране. Термин "документ", как он применяется в данном тексте, следует понимать как охватывающий любую структуру данных, способную определять или ссылаться на множество объектов, из которых может быть сделан выбор, или между которыми можно перемещаться; это необязательно должен быть кодированный текст (как в случае HTML). Термин "приемник-декодер", как он применяется в данном тексте, может обозначать приемник для приема как закодированных, так и незакодированных сигналов, например, теле- и/или радиосигналов, которые могут транслироваться путем вещания или передаваться с помощью каких-нибудь других средств. Этот термин может также обозначать декодер для декодирования принятых сигналов. Варианты выполнения такого приемника-декодера могут включать в себя декодер, совмещенный с приемником для декодирования принятых сигналов, как, например, в "приставке для телевизора" (STB), аналогичный декодер, функционирующий в сочетании с физически отдельным приемником, или декодер, снабженный дополнительными функциями, такими как Web-браузер, видеомагнитофон или телевизор. Термин "система цифрового телевидения", как он используется в данном тексте, включает в себя любую спутниковую, наземную, кабельную и другую систему.
В HTML-документе (или подобном) подлежащие отображению объекты последовательно определены в данном документе. Может быть предложен простой способ перемещения между объектами в таком документе, предусматривающий простое пошаговое перемещение от одного определения объекта к следующему, в порядке их следования в данном документе. Преимущество этого заключается в простоте реализации и обеспечении гарантированного прохождения всех объектов. Один из вариантов состоит в том, чтобы просто присвоить клавише со стрелкой вверх или влево функцию перемещения вверх по списку, а клавише со стрелкой вниз или вправо - функцию перемещения вниз по списку.
Однако недостаток этого подхода заключается в том, что, хотя объекты обычно действительно определены в документе в порядке, который в общем соответствует порядку, в котором они отображаются на экране, прямого соответствия здесь нет. Таким образом, хотя с точки зрения обработки процессором и легко определить, каким будет "следующий" объект, навигация может оказаться не столь уж интуитивно понятной для пользователя, которому, чтобы найти нужный объект, просто придется последовательно перебрать целый ряд объектов, причем возможно - в произвольном порядке. На страницах с большим количеством объектов это может вызывать раздражение у пользователя.
Согласно первому аспекту настоящего изобретения предлагается способ назначения порядка перемещения некоторому множеству объектов, подлежащих отображению на экране в соответствующих местоположениях, включающий привязку объектов к некоторому множеству определенных направлений, на основе упомянутых местоположений этих объектов.
Благодаря этому навигация становится более интуитивно понятной, так как она уже может осуществляться на основе местоположений, в которых отображаются объекты, а не на основе порядка (возможно, несколько произвольного), в котором эти объекты определены в документе, или хронологического порядка, в котором эти объекты отображаются.
Предпочтительно объекты привязываются к направлениям в некотором (предпочтительно заранее определенном) порядке. Благодаря этому становится возможным установить преимущественное или приоритетное среди направлений, так что объект, привязанный к какому-нибудь определенному направлению, будет находиться в некоторой зависимости от объекта(ов) (если таковые имеются), привязанного(ых) к другому направлению на предшествующем этапе привязки (если таковой был). Благодаря этому будет легче избежать привязки объектов к нескольким направлениям, и может быть облегчен выбор "разумного" набора объектов, которые привязываются ко всем имеющимся направлениям. Однако объекты могут привязываться к различным направлениям параллельно или одновременно, например, с помощью многопоточного процесса.
Упомянутая привязка объектов к направлениям предпочтительно осуществляется таким образом, что обеспечивается возможность доступа ко всем объектам, расположенным на странице. Это может обусловить такой способ привязки объектов, который необязательно будет обратимым. Другими словами, перемещение в одном направлении и последующее перемещение в обратном направлении не обязательно будут приводить к исходному объекту.
Предпочтительно обеспечивается возможность хотя бы непрямого доступа к каждому представляющему интерес объекту из любого другого представляющего интерес объекта. Термин "представляющий интерес объект", как он используется в данном тексте, предпочтительно обозначает объект, который пользователь предположительно выбрал бы для взаимодействия с ним или для его отображения. Обеспечив возможность доступа к каждому представляющему интерес объекту из любого другого представляющего интерес объекта, можно сделать просмотр страниц более удобным.
Более подробно, предлагаемый способ также включает выбор из упомянутого множества объектов некоторого множества первоначальных объектов-кандидатов, выбор из упомянутого множества объектов-кандидатов некоторой группы принятых объектов-кандидатов и предварительное отклонение остальных объектов, определение того, возможен ли доступ к по меньшей мере одному из предварительно отклоненных объектов-кандидатов из какого-нибудь принятого объекта-кандидата, и замену упомянутым предварительно отклоненным объектом-кандидатом одного из предварительно принятых объектов-кандидатов в случае, если доступ к этому предварительно отклоненному объекту-кандидату при этом невозможен, в результате чего упомянутое предварительное отклонение обращается. Таким образом, можно еще больше усовершенствовать широкий диапазон существующих способов выбора приемлемых объектов-кандидатов.
Предпочтительно предлагаемый способ включает поиск первоначальных объектов-кандидатов в каждом направлении и выбор избранного объекта-кандидата в каждом направлении на основе некоторых предварительно определенных критериев выбора. Благодаря этому можно обеспечить более естественный выбор объектов, чем при простом нахождении первого имеющегося в данном направлении объекта, а также можно обеспечить учет других факторов. Упомянутые критерии выбора могут включать правила различения первоначальных объектов-кандидатов, имеющих разные размеры. Эти критерии выбора также могут включать правила различения первоначальных объектов-кандидатов на основе их близости к некоторому предпочтительному направлению. Эти критерии выбора могут, кроме того, включать правила различения первоначальных объектов-кандидатов на основе объектов-кандидатов, избранных для одного или нескольких других направлений. Эти правила могут быть реализованы в приемнике-декодере с использованием относительно простых команд, например, сложения, вычитания и сравнения целочисленных значений, так что ресурсы ЦП, необходимые для выполнения этой реализации, будут минимальными.
Предпочтительно упомянутый способ дополнительно включает операцию определения того, возможен ли доступ к некоторому неизбранному первоначальному объекту-кандидату, который первоначально не был привязан ни к какому направлению, из другого, избранного первоначального объекта-кандидата, и, если доступ к нему при этом невозможен, операцию привязки упомянутого неизбранного первоначального объекта-кандидата к по меньшей мере одному из упомянутых направлений. Благодаря этому можно обеспечить возможность доступа ко всем представляющим интерес объектам соответствующей страницы. Предпочтительно признаки, имеющие отношение к выбранным и невыбранным объектам-кандидатам, эквивалентны признакам, имеющим отношение к отклоненным и принятым кандидатам, и наоборот.
Упомянутая операция определения того, возможен ли доступ к некоторому неизбранному первоначальному объекту-кандидату из другого, избранного первоначального объекта-кандидата, предпочтительно включает определение того, находится ли упомянутый неизбранный первоначальный объект-кандидат в определенном относительном положении по отношению к упомянутому избранному первоначальному объекту-кандидату. В частности, упомянутая операция определения того, возможен ли доступ к некоторому неизбранному первоначальному объекту-кандидату из другого, избранного первоначального объекта-кандидата, предпочтительно включает определение того, располагается ли упомянутый невыбранный первоначальный объект-кандидат существенно выше, ниже, левее или правее упомянутого избранного первоначального объекта-кандидата. Таким образом может быть обеспечен простой и быстрый способ определения того, возможен ли доступ к какому-либо определенному объекту-кандидату.
На упомянутые объекты обычно будут определены ссылки в некотором документе, и предпочтительно эти объекты привязываются к упомянутому множеству определенных направлений в существенной степени независимо от порядка, в котором в упомянутом документе определены ссылки на эти объекты.
Согласно второму аспекту настоящего изобретения предлагается способ назначения порядка перемещения некоторому множеству объектов, подлежащих отображению, на которые в некотором документе определены ссылки, для упрощения навигации включающий привязку объектов к некоторому множеству определенных направлений независимо от порядка, в котором в упомянутом документе определены ссылки на эти объекты.
Навигация может включать пошаговое перемещение от одного объекта к другому, предпочтительно на основе по меньшей мере одного входного сигнала, указывающего направление перемещения.
Согласно третьему аспекту настоящего изобретения предлагается способ упрощения выбора одного из некоторого множества объектов, на которые определены ссылки в некотором документе, включающий отображение упомянутых объектов и пошаговое перемещение между этими объектами на основе местоположения упомянутых объектов на экране. Пошаговое перемещение предпочтительно осуществляется в ответ на входное воздействие от пользователя, предпочтительно определяющее направление, в котором должно осуществляться это пошаговое перемещение. Предлагаемый способ предпочтительно включает также выбор объекта на основе дополнительного входного воздействия от пользователя.
Предпочтительно упомянутый способ включает определение текущего объекта и объекта, который должен быть выбран следующим (целевого объекта) в каждом из некоторого множества направлений. Предпочтительно упомянутое множество направлений включает по меньшей мере четыре практически перпендикулярных направления, более предпочтительно - вверх, вниз, влево, вправо. Предпочтительно каждому направлению ставится в соответствие некоторая клавиша или другое средство ввода команд (например, клавиши со стрелкой на пульте дистанционного управления). Однако настоящее изобретение не ограничено использованием клавиш ввода, и в усовершенствованном варианте указанные направления могут выбираться посредством голосовых или других команд, или путем реагирования на физическое перемещение устройства управления.
Указанный способ предпочтительно включает подсвечивание текущего объекта, и предпочтительно также (или альтернативно) включает указывание того, какой объект привязан к каждому направлению, предпочтительно способом, отличным от упомянутого подсвечивания, например, с помощью стрелки или другого подсвечивания. Упомянутый способ может включать указывание целевого объекта.
Согласно смежному аспекту настоящего изобретения предлагается способ упрощения перемещения между объектами некоторого множества объектов, на которые определены ссылки в некотором документе, включающий выбор из упомянутого множества объектов некоторого множества первоначальных объектов-кандидатов, выбор из упомянутого множества объектов-кандидатов некоторой группы принятых объектов-кандидатов и предварительное отклонение остальных объектов-кандидатов, определение того, возможен ли доступ к по меньшей мере одному из предварительно отклоненных объектов-кандидатов из какого-нибудь принятого объекта-кандидата, и замену упомянутым предварительно отклоненным объектом-кандидатом одного из предварительно принятых объектов-кандидатов, в случае если доступ к этому предварительно отклоненному объекту-кандидату при этом невозможен. Упомянутый способ может дополнительно включать операцию привязки упомянутой группы принятых объектов-кандидатов к направлениям.
Предпочтительно помимо множества "плоскостных" направлений (таких как, например, вверх, вниз, влево, вправо) навигация может включать подъем или спуск на один уровень в иерархии, или переход по гиперссылке, предпочтительно с помощью команд "ввод" и "выход", или эквивалентных команд. Таким образом может быть облегчено перемещение по фреймам и составньм объектам, таким как списки.
Предпочтительно в случае списка (или другой группы объектов) весь список (или группу) можно пройти как единое целое на первом уровне (т.е. весь список может быть выбран как один объект), а между отдельными элементами (или подгруппами элементов) можно перемещаться на втором уровне.
Другими словами, объект, включающий в себя другие объекты, может быть пройден как единое целое на первом уровне, а между упомянутыми другими объектами можно перемещаться на втором уровне, при этом упомянутым объектом предпочтительно является список, фрейм или карта изображения, а упомянутыми другими объектами являются соответственно элементы списка, объекты, размещенные во фрейме, и области карты изображения.
Так, предпочтительно в случае документа, отображаемого в виде нескольких фреймов, между фреймами в целом можно перемещаться на первом уровне, а между объектами, размещенными во фрейме, можно перемещаться на втором уровне.
Предпочтительно в случае навигации по документу, отображенному в виде нескольких фреймов, перемещение организуется таким образом, чтобы по достижении самого дальнего объекта в некотором направлении (например, крайнего левого, крайнего правого, самого верхнего, самого нижнего) в пределах фрейма дальнейшее продвижение в данном направлении приводило к выбору следующего фрейма в этом направлении. Предпочтительно выбор следующего фрейма приводит далее к выбору первого объекта в этом фрейме в данном направлении.
Упомянутый способ может включать определение исходного объекта, предпочтительно без необходимости в выборе такого объекта пользователем, предпочтительно в соответствии с некоторым предварительно определенным правилом, например, самого верхнего крайнего слева отображаемого объекта. Предпочтительно выбирается только один объект, который получает фокус по умолчанию при отсутствии другого выбора пользователя.
Предпочтительно указанный способ дополнительно включает классификацию упомянутого множества объектов на первичные и вторичные объекты-кандидаты, по отношению к текущему объекту. Операция классификации упомянутого множества объектов предпочтительно включает определение того, находится ли каждый объект в некотором определенном относительном положении по отношению к текущему объекту.
Настоящее изобретение распространяется на соответствующие относящиеся к устройству аспекты, и предпочтительно предлагаемый способ реализуется в приемнике-декодере; настоящее изобретение распространяется на приемник-декодер, выполненный с возможностью осуществления способа в соответствии с любым из упомянутых выше аспектов. В таком случае приемник-декодер предпочтительно имеет пульт дистанционного управления, и клавишам этого пульта дистанционного управления поставлены в соответствие направления.
Согласно первому касающемуся устройства аспекту настоящего изобретения предлагается устройство для назначения порядка перемещения некоторому множеству объектов, подлежащих отображению на экране в соответствующих местоположениях, содержащее средство (например, процессор, осуществляющий привязку) для привязки объектов к некоторому множеству определенных направлений, на основе упомянутых местоположений этих объектов.
Согласно смежному аспекту настоящего изобретения предлагается устройство для назначения порядка перемещения некоторому множеству объектов, подлежащих отображению на экране в соответствующих местоположениях, содержащее процессор, программируемый для привязки объектов к некоторому множеству определенных направлений, на основе упомянутых местоположений этих объектов.
Предпочтительно упомянутое устройство включает в себя память для хранения некоторого представления упомянутого множества подлежащих отображению объектов. Упомянутое множество объектов может быть, например, объектами, на которые определены ссылки в некотором документе, который может храниться в упомянутой памяти. Предпочтительно упомянутое устройство дополнительно содержит средство (такое как графический выходной каскад, который может включать в себя графический процессор) для выдачи в средство отображения сигнала для отображения упомянутого множества объектов.
Согласно второму относящемуся к устройству аспекту предлагается устройство для назначения порядка перемещения некоторому множеству объектов, подлежащих отображению, на которые определены ссылки в некотором документе, для упрощения навигации содержащее средство (например, процессор, осуществляющий привязку) для привязки объектов к некоторому множеству определенных направлений независимо от порядка, в котором на эти объекты определены ссылки в упомянутом документе.
Согласно смежному аспекту предлагается устройство для назначения порядка перемещения некоторому множеству объектов, подлежащих отображению, на которые определены ссылки в некотором документе, для облегчения навигации содержащее процессор, программируемый для привязки объектов к некоторому множеству определенных направлений независимо от порядка, в котором на эти объекты определены ссылки в упомянутом документе. Предпочтительно упомянутое устройство включает в себя память для сохранения (или в которой хранится) некоторого представления упомянутого документа.
Согласно третьему аспекту предлагается устройство для упрощения выбора одного из некоторого множества объектов, на которые определены ссылки в некотором документе, содержащее средство (например, экран или процессор обработки изображений) для отображения упомянутых объектов и пошагового перемещения между этими объектами, на основе местоположения упомянутых объектов на экране. Упомянутое устройство предпочтительно имеет средство (например, устройство ввода, такое как пульт дистанционного управления) для приема входного воздействия от пользователя и для пошагового перемещения в ответ на входное воздействие от пользователя, причем предпочтительно упомянутое входное воздействие определяет направление, в котором должно осуществляться упомянутое пошаговое перемещение. Упомянутое устройство предпочтительно дополнительно содержит средство (например, процессор выбора) для выбора объекта на основе дополнительного входного воздействия от пользователя.
Согласно смежному аспекту предлагается устройство для упрощения выбора одного из некоторого множества объектов, на которые определены ссылки в некотором документе, содержащее средство (например, память) для хранения некоторого представления данного документа, средство (например, графический выходной каскад, который может включать в себя графический процессор) для вывода упомянутого представления данного документа на экран (для отображения на экране), и средство (например, соответствующим образом программируемый процессор) для пошагового перемещения между упомянутыми объектами, на основе местоположений, в которых объекты должны отображаться на экране.
Предлагаемое устройство может содержать клавишу или другое связанное с ним средство ввода команд (например, клавиши со стрелками на пульте дистанционного управления).
Предлагаемое устройство предпочтительно включает в себя средство (например, процессор отображения подсветки) для подсвечивания текущего объекта, и предпочтительно также (или альтернативно) включает в себя средство (например, процессор отображения цели) для указывания того, какой объект привязан к каждому из направлений, предпочтительно способом, отличным от упомянутого подсвечивания, например, с помощью стрелки или иного подсвечивания.
Предпочтительно предлагаемое устройство включает в себя средство (например, подсистему поиска) для поиска первоначальных объектов-кандидатов в каждом направлении и выбора избранного объекта-кандидата в каждом направлении, на основе некоторых предварительно определенных критериев выбора.
Указанное устройство предпочтительно содержит средство (обычно представленное процессором) для привязки объектов к направлениям, выполненное с возможностью обеспечения возможности доступа ко всем представляющим интерес объектам страницы. Предпочтительно обеспечивается возможность хотя бы непрямого доступа к каждому представляющему интерес объекту из любого другого представляющего интерес объекта.
Предпочтительно указанное устройство дополнительно содержит средство (как правило, представленное определяющим процессором) для определения того, возможен ли доступ к некоторому неизбранному первоначальному объекту-кандидату, который не был первоначально привязан ни к какому направлению, из другого, избранного первоначального объекта-кандидата, и средство (обычно представленное тем же или дополнительным процессором) для привязки упомянутого неизбранного первоначального объекта-кандидата, если доступ к нему при этом невозможен, к по меньшей мере одному из направлений.
Упомянутое средство для определения того, возможен ли доступ к некоторому неизбранному первоначальному объекту-кандидату из другого, избранного первоначального объекта-кандидата, предпочтительно включает в себя средство (например, определяющий процессор) для определения того, находится ли упомянутый неизбранный первоначальный объект-кандидат в определенном относительном положении по отношению к упомянутому избранному первоначальному объекту-кандидату. Более конкретно, упомянутое средство для определения того, возможен ли доступ к некоторому неизбранному первоначальному объекту-кандидату из другого, избранного первоначального объекта-кандидата, может включать в себя средство (например, определяющий процессор) для определения того, располагается ли упомянутый невыбранный первоначальный объект-кандидат существенно выше, ниже, левее или правее упомянутого избранного первоначального объекта-кандидата.
Предлагаемое устройство может включать в себя средство (например, устройство выбора исходного объекта) для определения некоторого исходного объекта, предпочтительно без необходимости в выборе такого объекта пользователем, предпочтительно в соответствии с некоторым предварительно заданным правилом, например, самого верхнего крайнего слева отображенного объекта.
Предпочтительно упомянутое средство дополнительно содержит средство для выбора из упомянутого множества объектов некоторого множества первоначальных объектов-кандидатов, средство для выбора из упомянутого множества объектов-кандидатов некоторой группы принятых объектов-кандидатов и предварительного отклонения остальных объектов, средство для определения того, возможен ли доступ к по меньшей мере одному из предварительно отклоненных объектов-кандидатов из какого-нибудь принятого объекта-кандидата, и средство для замены упомянутым предварительно отклоненным объектом-кандидатом, если доступ к нему при этом невозможен, одного из предварительно принятых объектов-кандидатов.
Этот признак может быть также реализован независимо. Соответственно, согласно смежному аспекту предлагается устройство для упрощения перемещения между объектами некоторого множества объектов, на которые определены ссылки в некотором документе, содержащее средство (обычно представленное процессором выбора) для выбора из упомянутого множества объектов некоторого множества первоначальных объектов-кандидатов, средство (обычно представленное тем же или дополнительным процессором выбора) для выбора из упомянутого множества объектов-кандидатов некоторой группы принятых объектов-кандидатов и предварительного отклонения остальных объектов, средство (например, определяющий процессор) для определения того, возможен ли доступ к по меньшей мере одному из предварительно отклоненных объектов-кандидатов из какого-нибудь принятого объекта-кандидата, и средство (обычно представленное тем же или дополнительным процессором) для замены упомянутым предварительно отклоненным объектом-кандидатом, если доступ к нему при этом невозможен, одного из предварительно принятых объектов-кандидатов.
Предложенное устройство может содержать средство (обычно представленное процессором) для классификации упомянутого множества объектов на первичные и вторичные объекты-кандидаты относительно некоторого или конкретного текущего объекта, причем упомянутое средство для классификации упомянутого множества объектов предпочтительно включает в себя средство (обычно представленное тем же или дополнительным процессором) для определения того, находится ли каждый объект в некотором определенном относительном положении по отношению к текущему объекту.
Различные процессоры, упомянутые выше в качестве примеров подходящих средств, могут быть интегрированы в один процессор и реализованы соответствующими его элементами или программным обеспечением, выполняемым данным процессором. В одном предпочтительном варианте осуществления большинство или все относящиеся к устройству признаки реализуются соответствующим программным обеспечением, выполняемым на аппаратной платформе, включающей в себя процессор, память и блок формирования изображений. Указанный процессор предпочтительно обеспечивает среду выполнения для выполнения приложения, например, путем обеспечения операционной системы, в которой может выполняться это приложение, или виртуальной машины, на которой может выполняться это приложение.
Согласно другим аспектам настоящего изобретения предлагается программный продукт для компьютера, или средство, которое может быть прочитано компьютером, включающий(ее) в себя команды для осуществления способа согласно любому из упомянутых выше аспектов, относящихся к способам.
Согласно еще одному аспекту настоящего изобретения предлагается сигнал, заключающий в себе команды для осуществления способа согласно любому из упомянутых выше аспектов, относящихся к способам.
Согласно настоящему изобретению предлагается также устройство или способ, по существу как они описываются в данном тексте со ссылками на прилагаемые фигуры или любую фигуру, и иллюстрируются ими, особенно фиг.4 и последующие.
Ниже будет рассмотрен один из вариантов осуществления настоящего изобретения, со ссылками на прилагаемые фигуры, на которых:
фиг.1 - общий вид типичной системы цифрового телевидения;
фиг.2 - блок-схема приемника-декодера;
фиг.3 - архитектура приемника-декодера;
фиг.4 - пример реализации предпочтительного варианта осуществления;
фиг.5 - четыре основные приоритетные зоны в соответствии с предпочтительным вариантом осуществления;
фиг.6 - определение северо-восточной неприоритетной зоны в соответствии с предпочтительным вариантом осуществления;
фиг.7 - определение северо-западной неприоритетной зоны в соответствии с предпочтительным вариантом осуществления;
фиг.8 - определение юго-восточной неприоритетной зоны в соответствии с предпочтительным вариантом осуществления;
фиг.9 - определение юго-западной неприоритетной зоны в соответствии с предпочтительным вариантом осуществления;
фиг.10 - выбор среди объектов, находящихся на различных расстояниях, в соответствии с предпочтительным вариантом осуществления;
фиг.11 - выбор среди объектов, находящихся на различных высотах, в соответствии с предпочтительным вариантом осуществления;
фиг.12 - выбор центральных объектов-кандидатов в верхней или нижней приоритетной зоне в соответствии с предпочтительным вариантом осуществления;
фиг.13 - выбор левых объектов-кандидатов в верхней или нижней приоритетной зоне в соответствии с предпочтительным вариантом осуществления;
фиг.14 - выбор правых объектов-кандидатов в верхней или нижней приоритетной зоне в соответствии с предпочтительным вариантом осуществления;
фиг.15 - правила выбора среди левых, правых и центральных объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.16 - выбор вторичных объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.17 - выбор среди перекрывающихся объектов в соответствии с предпочтительным вариантом осуществления;
фиг.18 - дополнительная работа с северными и южными объектами-кандидатами в соответствии с предпочтительным вариантом осуществления;
фиг.19 - перемещение по типичному документу в соответствии с предпочтительным вариантом осуществления;
фиг.20 - процедура выбора объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.21 - первый этап процедуры выбора объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.22 - второй этап процедуры выбора объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.23 - третий этап процедуры выбора объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.24 - процедура выбора объектов-кандидатов в соответствии с одной из модификаций предпочтительного варианта осуществления;
фиг.25 - четвертый этап процедуры выбора объектов-кандидатов в соответствии с предпочтительным вариантом осуществления;
фиг.26 - пятый этап процедуры выбора объектов-кандидатов в соответствии с предпочтительным вариантом осуществления.
Для общего представления ниже будет описан приемник-декодер для системы цифрового телевидения, в котором предпочтительно применяется настоящее изобретение; однако настоящее изобретение может быть применено и в других устройствах, например, в персональных компьютерах, или миниатюрных портативных (handheld) компьютерах и КПК, или в портативных компьютерах, или в устройствах связи.
Обзорное описание системы цифрового телевидения
На фиг.1 показана система 1 цифрового телевидения в общем виде. В настоящем изобретении используется в основном обычная система 2 цифрового телевидения, в которой для передачи сжатых цифровых сигналов применяется известная система сжатия MPEG-2. Конкретнее, MPEG-2 компрессор 3 в центре вещания принимает поток цифровых сигналов (обычно поток видеосигналов). Компрессор 3 подключен к мультиплексору-скремблеру 4 посредством соединения 5.
Мультиплексор 4 получает множество дополнительных входных сигналов, компонует транспортный поток и передает сжатые цифровые сигналы в передатчик 6 центра вещания посредством соединения 7, которое, разумеется, может принимать широкое разнообразие форм, включая телекоммуникационные каналы связи. Передатчик 6 передает электромагнитные сигналы по каналу 8 "Земля-спутник" на спутниковый транспондер 9, где они подвергаются обработке электронными средствами; оттуда они передаются путем вещания по виртуальному каналу 10 "спутник-Земля" в наземный приемник 12, обычно в форме тарелки, принадлежащий или арендуемый конечным пользователем. Возможны, разумеется, и другие транспортные каналы для передачи данных, такие как сети наземного вещания, каналы кабельной передачи, комбинированные кабельно-спутниковые соединения, телефонные сети и т.п.
Сигналы, принимаемые приемником 12, передаются в совмещенный приемник-декодер 13, принадлежащий или арендуемый конечным пользователем и подключенный к телевизору 14 конечного пользователя. Приемник-декодер 13 декодирует сжатый MPEG-2 сигнал в телевизионный сигнал для телевизора 14. Хотя на фиг. 1 приемник-декодер показан как отдельный блок, он в равной степени может входить в состав интегрированного цифрового телевизора. Термин "приемник-декодер", как он используется в данном тексте, охватывает как отдельный приемник-декодер, такой как приставка для телевизора (STB), так и телевизор со встроенным в него приемником-декодером.
В многоканальной системе мультиплексор 4 обрабатывает звуковую и видеоинформацию, получаемую из нескольких параллельных источников, и взаимодействует с передатчиком 6 для вещания этой информации по соответствующему количеству каналов. Дополнительно к аудиовизуальной информации в некоторые или во все эти каналы могут вводиться сообщения, или приложения, или цифровые данные любого другого рода, перемежаемые с передаваемой цифровой звуковой и видеоинформацией.
К мультиплексору 4 и приемнику-декодеру 13 подключена система 15 условного доступа, размещенная частично в центре вещания и частично в декодере. Она позволяет конечному пользователю получать доступ к передачам цифрового телевидения одного или нескольких провайдеров вещания. В приемник-декодер 13 может устанавливаться смарт-карта, способная дешифрировать сообщения, относящиеся к коммерческим предложениям (т.е. к одной или нескольким телевизионным программам, продаваемым провайдером вещания). С помощью приемника-декодера 13 и смарт-карты конечный пользователь может покупать коммерческие предложения либо в режиме подписки, либо в режиме оплаты за отдельный просмотр (PPV-режим).
Интерактивная система 16, также подключенная к мультиплексору 4 и приемнику-декодеру 13 и также размещенная частично в центре вещания и частично в декодере, позволяет конечному пользователю взаимодействовать в интерактивном режиме с различными приложениями через модемный обратный канал 17. Этот модемный обратный канал может также использоваться для обмена сообщениями с системой 15 условного доступа.
Приемник-декодер
Ниже со ссылками на фиг.2 в терминах функциональных блоков будут описаны различные элементы приемника-декодера 13.
Приемник-декодер 13, который может быть, например, цифровой приставкой для телевизора (DSTB), содержит центральный процессор 220, снабженный соответствующими элементами памяти и выполненный с возможностью приема данных от последовательного интерфейса 221, параллельного интерфейса 222, модема 223 (подключенного к модемному обратному каналу 17, показанному на фиг.1) и переключающих контактов 224 на передней панели декодера.
Приемник-декодер дополнительно выполнен с возможностью приема входных сигналов от инфракрасного пульта 225 дистанционного управления через блок 226 управления, а также снабжен двумя устройствами 227, 228 считывания смарт-карт, выполненными с возможностью считывания соответственно банковской или абонентской смарт-карт 242, 240. Устройство 228 считывания абонентских смарт-карт взаимодействует с установленной абонентской картой 240 и блоком 229 условного доступа, чтобы передать необходимое управляющее слово в демультиплексор-дескремблер 230, чтобы сделать возможным дескремблирование зашифрованного вещаемого сигнала. Декодер также содержит обычный тюнер 231 и демодулятор 232 для приема и демодулирования переданных со спутника данных перед их фильтрацией и демультиплексированием блоком 230.
В контексте настоящего описания приложение предпочтительно является фрагментом машинного кода для управления высокоуровневыми функциями предпочтительно приемника-декодера 13. Например, когда конечный пользователь передает фокус пульта 225 дистанционного управления объекту-кнопке, отображаемому на экране телевизора 14, и нажимает клавишу подтверждения, выполняется соответствующая этой кнопке последовательность команд.
По запросу конечного пользователя интерактивное приложение предлагает меню и исполняет команды, а также предоставляет данные, соответствующие назначению данного приложения. Приложения могут быть либо резидентными, т.е. сохраненными в ПЗУ (или флэш-памяти, или иной энергонезависимой памяти) приемника-декодера 13, либо передаваться путем вещания и загружаться в ОЗУ или флэш-память приемника-декодера 13.
Приложения хранятся в ячейках памяти в приемнике-декодере 13 и представляются в виде файлов ресурсов. К файлам ресурсов могут, например, относиться файлы библиотек описаний графических объектов, файлы библиотек блоков переменных, файлы последовательностей команд, файлы приложений и файлы данных, как описано более подробно в вышеупомянутых патентных описаниях.
Приемник-декодер содержит память, разделенную на том ОЗУ, том флэш-памяти и том ПЗУ, но эта физическая организация отличается от логической организации. Память может быть дополнительно разделена на тома памяти, ассоциированные с различными интерфейсами. С одной стороны, память можно рассматривать как часть аппаратного обеспечения; с другой стороны, память можно рассматривать как поддерживающую или содержащую в себе всю систему, показанную отдельно от аппаратного обеспечения.
Архитектура приемника-декодера
Приемник-декодер имеет пять программных уровней, организованных таким образом, чтобы программное обеспечение можно было реализовать в любом приемнике-декодере и с любой операционной системой. Как показано на фиг.3, этими различными программными уровнями являются уровень 50 приложений, уровень 52 интерфейса приложений (уровень API), уровень 54 виртуальной машины, уровень 56 устройств и уровень 58 системного программного/аппаратного обеспечения.
Уровень 50 приложений охватывает приложения, которые либо являются резидентными в приемнике-декодере, либо загружаются в него. Это могут быть используемые пользователями интерактивные приложения, написанные, например, на Java, HTML, MHEG-5 или других языках, или это могут быть приложения, используемые приемником-декодером для выполнения таких приложений. Этот уровень основан на множестве API-интерфейсов, обеспечиваемых уровнем виртуальной машины. Эта система позволяет загружать приложения во флэш-память или ОЗУ приемника-декодера оперативно (по мере необходимости) или по требованию. Код приложения может передаваться в сжатом или несжатом виде с использованием таких протоколов, как DSMCC, NSF или других протоколов.
Интерактивные приложения - это приложения, с которыми пользователь взаимодействует, например, чтобы получить товары, услуги или сервисы, такие как электронный гид по программам (EPG), приложения для осуществления банковских операций (telebanking) и игры. Для управления интерактивными приложениями используются следующие резидентные приложения:
- Загрузка. Загрузочное приложение 60 - это первое приложение, запускаемое после включения приемника-декодера. Загрузочное приложение запускает различные "менеджеры" виртуальной машины, первым из которых является менеджер 62 приложений.
- Менеджер приложений. Менеджер 62 приложений управляет интерактивными приложениями, выполняемыми в приемнике-декодере, т.е. запускает, завершает, приостанавливает, возобновляет, обрабатывает события и организует обмен данными между приложениями. Он позволяет одновременно выполнять несколько приложений и, таким образом, участвует в распределении ресурсов между ними. Это приложение полностью прозрачно для пользователя.
- Настройка. Предназначение приложения 64 настройки состоит в конфигурировании приемника-декодера, главным образом при первом его использовании. Оно выполняет такие действия, как сканирование частот для нахождения телевизионных каналов, установка даты и времени, установка пользовательских параметров-предпочтений и т.п. Однако приложение настройки может быть использовано пользователем в любое время для изменения конфигурации приемника-декодера.
- Переключение каналов. Приложение 68 переключения каналов используется для переключения каналов с использованием клавиш "на программу вверх", "на программу вниз" и цифровых клавиш. При использовании другой формы переключения каналов, например, с помощью баннерного (пилотного) приложения (banner, pilot application), выполнение приложения переключения каналов завершается.
- Обратный вызов. Приложение обратного вызова используется для извлечения значений различных параметров, хранящихся в памяти приемника-декодера, и возврата этих значений коммерческому оператору через модемный обратный канал 17 или с помощью других средств.
- Web-браузер. Это приложение используется для приема и отображения Web-страниц, которые могут передаваться как HTML-код, или подобный код, через модем или в сигнале цифрового телевидения. Это приложение включает в себя средство навигации (либо оно связано с этим средством), которое будет описано ниже, обеспечивающее возможность навигации по Web-страницам с помощью клавиш со стрелками или аналогичных средств на пульте дистанционного управления приемника-декодера.
Уровень 52 API предоставляет высокоуровневые утилиты для разработки интерактивных приложений. В него входит несколько пакетов (packages), образующих этот высокоуровневый API. Эти пакеты предоставляют все функции, необходимые для выполнения интерактивных приложений. Эти пакеты доступны для обращения к ним приложений.
В одном из предпочтительных вариантов осуществления настоящего изобретения упомянутый уровень API приспособлен для выполнения приложений, написанных на языке программирования Java. Кроме того, он может интерпретировать HTML и другие форматы, такие как MHEG-5. Помимо этих интерпретаторов, в него входят также другие пакеты и служебные модули, которые можно при необходимости отключать и расширять.
Уровень 54 виртуальной машины состоит из языковых интерпретаторов и различных модулей и систем. Он включает в себя все необходимое для приема и выполнения в приемнике-декодере интерактивных приложений.
Уровень 56 устройств включает в себя менеджер устройств и устройства. Устройства - это программные модули, состоящие из логических ресурсов, необходимых для работы с внешними событиями и физическими интерфейсами. Уровень устройств управляет каналами передачи данных между драйверами и приложениями и обеспечивает улучшенную систему недопущения ошибок. Вот некоторые примеры поддерживаемых устройств: устройства считывания карт, модемы, сеть, PCMCIA-платы, светодиодные индикаторы и т.п. Программистам нет необходимости обращаться непосредственно к этому уровню, поскольку уровень API управляет устройствами сверху.
Уровень 58 системного программного/аппаратного обеспечения предоставляется производителем приемника-декодера. Благодаря модульности системы и тому, что служебные функции, которые предоставляет ОС (такие как планирование событий и управление памятью), являются частью виртуальной машины, верхние уровни не привязываются к какой-либо определенной операционной системе реального времени (RTOS) или какому-либо определенному процессору.
Как было упомянуто выше, приемник-декодер снабжен приложением для отображения Web-страниц, например, принимаемых в виде HTML-кода в сигнале цифрового телевидения или с помощью модема, причем это приложение включает в себя код для подсвечивания гиперссылок и других объектов данной Web-страницы, способных получать фокус. Оно включает в себя (или связано с ним) средство навигации, которое будет описано ниже, предназначенное для того, чтобы облегчить браузинг (поиск и просмотр) информации с использованием пульта дистанционного управления или другого устройства ввода (не показано), используемого вместе с приемником-декодером.
Вариант осуществления способа/средства навигации
Предпочтительным вариантом осуществления средства навигации является минимальная система с пультом дистанционного управления, в которой пользователь имеет возможность доступа к каждому фрейму в HTML-документе (или подобном документе), и к каждой ссылке в каждом фрейме, учитывая при этом структуру данного документа.
Как известно, HTML-документы определяют различные объекты, примеры которых приведены ниже (среди которых особо выделяются гиперссылки), способные "получать фокус", т.е. быть "подсвеченными" (т.е. выделенными) (в обычной системе путем перемещения указателя мыши на объект или приближения указателя мыши к объекту) и затем активированы или выбраны (в обычной системе - нажатием клавиши мыши), чтобы вызвать переход по этой гиперссылке или выполнение другого определенного действия. В контексте данного текста это следует понимать так: может существовать некоторый текущий объект, имеющий фокус, и множество целевых объектов или объектов-кандидатов, которые могут получить фокус в ответ на команду перемещения. После приема команды "ввод" или другой активирующей команды объект, имеющий на данный момент фокус, будет активирован, например, будет осуществлен переход по соответствующей гиперссылке.
Заметим, что в данном предпочтительном варианте осуществления, как правило, какой-либо один объект (текущий объект) обязательно будет иметь фокус, тогда как в обычной системе объектов, имеющих фокус, может и не быть, так что фокус устанавливается только при появлении указателя над объектом. Признак, заключающийся в наличии объекта, имеющего фокус по умолчанию, может быть реализован независимо, как и признак, заключающийся в наличии исходного объекта, имеющего фокус без необходимости в выборе объекта пользователем. Этот исходный объект может быть выбран в соответствии с некоторым предварительно определенным алгоритмом, например, приблизительно определяющим объект, расположенный в центре страницы, или может просто быть первым или левым верхним среди отображенных объектов.
В одном из предпочтительных вариантов для обеспечения перемещения внутри HTML-документа используются шесть средств обеспечения интерфейса. А именно, к ним относятся четыре управляющих средства (например, органы управления, например, клавиши или кнопки) для перемещения вверх, вниз, влево и вправо внутри документа. В данном тексте направления вверх, вниз, вправо и влево, с одной стороны, и северное, южное, восточное и западное, с другой стороны, используются как соответственно взаимозаменяемые (за исключением случаев, когда прямо указывается иное, или иное очевидно из контекста) термины для обозначения направлений на практически плоском дисплее, и не должны истолковываться как ограниченные какой-либо конкретной ориентацией ни в географическом смысле, ни относительно пользователя. Два других управляющих средства позволяют перемещаться вверх и вниз по "уровням" иерархии документа либо передавать фокус составным объектам данного документа, чтобы, например, сделать возможным редактирование объектов типа "текстовое поле". Могут выполняться следующие действия:
- перемещение влево;
- перемещение вправо;
- перемещение вверх;
- перемещение вниз;
- подъем на уровень в иерархии документа, или "выход" из сложной гиперссылки;
- спуск на уровень в иерархии документа, или "вхождение" в сложную гиперссылку.
Может использоваться любое устройство дистанционного управления или ввода, способное обеспечить упомянутые шесть различимых входных (по отношению к средству навигации) воздействий, так что соответствующий пульт дистанционного управления подробно описываться не будет.
Навигация в HTML-документе осуществляется путем перехода от одного активного объекта к другому активному объекту. Если в выбранном направлении не окажется активного объекта-кандидата, будет запущен скроллинг (прокрутка) этого документа, чтобы отобразить объекты, которые, возможно, содержатся в данном документе, но не отображены в данный момент (это предпочтительный признак, который может реализовываться независимо). Если скроллинг документа невозможен, процесс навигации попытается перейти к родительскому объекту; другими словами, он войдет в документ HTML на более высоком уровне иерархии. В одной из модификаций предпочтительного варианта осуществления функции навигации и скроллинга являются отдельными функциями, которые могут настраиваться в соответствии с выбираемыми пользователем настройками. Это разделение функций может придать системе большую гибкость и лучше приспособить ее к нуждам пользователя.
Определение элементов, между которыми можно перемещаться в HTML-документе (элементов, участвующих в навигации)
Фреймы
Фреймы состоят из HTML-документа и могут включать в себя другие фреймы, которые обычно являются объектами, между которыми можно перемещаться. В приведенной ниже таблице 1 перечислены действия, предпринимаемые в ответ на соответствующие управляющие воздействия.
Таблица 1
Управляющее воздействие | Действие |
"Влево" | Переместиться к фрейму, расположенному слева от текущего фрейма |
"Вправо" | Переместиться к фрейму, расположенному справа от текущего фрейма |
"Вверх" | Переместиться к фрейму, расположенному над текущим фреймом |
"Вниз" | Переместиться к фрейму, расположенному под текущим фреймом |
"Ввод" | Выбрать первую гиперссылку в текущем фрейме |
"Выход" | Отдать фокус и передать его родительскому объекту |
- Гиперссылки
Существует три типа гиперссылок:
Гиперссылки типа IsMap
Состоят из изображения. Курсор помещается на изображение, и его можно перемещать в пределах этого изображения. Выбор этого типа гиперссылки приводит к передаче запроса, включающего в себя соответствующий URL (соответствующая ссылка на другой объект) и текущие координаты курсора.
В приведенной ниже таблице 2 перечислены действия, предпринимаемые в ответ на соответствующие управляющие воздействия, для перемещения по гиперссылкам типа IsMap.
Таблица 2
Управляющее воздействие | Действие |
"Влево" | Переместить курсор влево |
"Вправо" | Переместить курсор вправо |
"Вверх" | Переместить курсор вверх |
"Вниз" | Переместить курсор вниз |
"Ввод" | Послать запрос с текущими координатами курсора |
"Выход" | Отдать фокус и передать его родительскому объекту |
Следует отметить, что при изменении масштаба во время отображения HTML-страницы будут вычисляться реальные координаты курсора.
Гиперссылки типа UseMap
Состоят из набора "чувствительных" многоугольных, прямоугольных или круглых зон, каждая из которых соответствует отдельному URL. Доступ к каждой зоне может быть осуществлен с помощью управляющих воздействий для управления перемещением. Навигация по гиперссылкам этого типа может быть сложной (как, например, в случае карты Соединенных Штатов Америки, на которой каждый штат является чувствительной зоной).
В приведенной ниже таблице 3 перечислены действия, предпринимаемые в ответ на соответствующие управляющие воздействия для перемещения по гиперссылкам типа UseMap.
Таблица 3
Управляющее воздействие | Действие |
"Влево" | Переместиться к чувствительной зоне слева от текущей зоны |
"Вправо" | Переместиться к чувствительной зоне справа от текущей зоны |
"Вверх" | Переместиться к чувствительной зоне над текущей зоной |
"Вниз" | Переместиться к чувствительной зоне под текущей зоной |
"Ввод" | Послать запрос с соответствующим URL |
"Выход" | Отдать фокус и передать его родительскому объекту |
Текстовые гиперссылки
Текстовая гиперссылка состоит из прямоугольной зоны, которая может содержать несколько объектов, следующих друг за другом в направлении письма (например, слева направо). Объекты, образующие текстовую гиперссылку, могут занимать несколько последовательных строчек документа.
В приведенной ниже таблице 4 перечислены действия, предпринимаемые в ответ на соответствующие управляющие воздействия для перемещения по текстовым гиперссылкам.
Таблица 4
Управляющее воздействие | Действие |
"Влево" | Переместить фокус на гиперссылку, расположенную слева от текущего элемента |
"Вправо" | Переместить фокус на гиперссылку, расположенную справа от текущего элемента |
"Вверх" | Переместить фокус на гиперссылку, расположенную над текущим элементом |
"Вниз" | Переместить фокус на гиперссылку, расположенную под текущим элементом |
"Ввод" | Послать запрос с соответствующим URL |
"Выход" | Никакого |
Формы
Форма - это объект, который можно рассматривать как группу объектов, обрабатываемых как текстовые гиперссылки. Объект "форма" не отображается, и каждый объект внутри него может получить фокус.
Описание алгоритма для выбора объектов-гиперссылок
Определение текущего фокуса
Описанный ниже алгоритм может быть реализован с помощью простых команд, например сложение, вычитание и сравнение целочисленных значений. Таким образом можно свести к минимуму ресурсы ЦП, требуемые для реализации данного алгоритма в приемнике-декодере. Ниже со ссылками на фиг.4 будет описан вариант реализации, использующий простые команды. Объект-кандидат 80 описывается с помощью координат ХС0, YC0 и ХС1, YC1 его двух противоположных углов. Аналогичным образом объект, имеющий фокус, (текущий объект) 81 описывается с помощью координат XF0, YF0 и XF1, XF1. Для того чтобы определить, расположен ли объект-кандидат 80 к востоку от объекта 81, имеющего фокус, сравнивают координаты ХС1 и XF0, чтобы определить, не меньше ли ХС1, чем XF0.
Текущий фокус предпочтительно определяется прямоугольником, соответствующим зоне, определяемой объектом-гиперссылкой (реализация в случае прямоугольника требует относительно небольших вычислительных ресурсов). Гиперссылка, имеющая фокус, не участвует в поиске объектов-кандидатов.
Определение зон поиска
Определяются четыре приоритетные зоны: северная, южная, восточная и западная. Эти зоны соответствуют протяженности объекта, имеющего фокус, в четырех географических направлениях. Эти зоны являются приоритетными, поскольку соответствуют структуре документа.
Следует отметить, что хотя используются эти четыре направления (реализация такого варианта требует относительно небольшие вычислительные ресурсы и обеспечивает легкое и интуитивно-понятное перемещение по документу), могут использоваться и другие варианты. В одной модификации направление может определяться полярным средством выбора на основе входного воздействия, характеризующего угол, или сигналов поворота по часовой стрелке или против часовой стрелки, и одна или более зон поиска могут определяться на основе этих сигналов поворота; в таком случае объект всякий раз привязывается только к одному-единственному направлению, а для выбора других объектов будет изменяться само направление; настоящее изобретение охватывает и такие варианты осуществления, и такой признак может быть реализован независимо.
Упомянутые зоны показаны на фиг.5, где фиг.5a-5d соответственно изображают зону, обозначенную "фокус", и смежные северную, южную, восточную и западную приоритетные зоны.
В одном из предпочтительных вариантов осуществления упомянутые восточная и западная приоритетные зоны расширены за счет смежных зон на своих северных и южных границах. На фиг.5с и фиг.5d показаны смежные зоны 100, 102 и 104, 106 соответственно восточной и западной приоритетных зон.
Четыре неприоритетные зоны - северо-восточная, северо-западная, юго-восточная и юго-западная - определяются динамически в зависимости от местоположения восточных и западных объектов-кандидатов. Эти зоны используются для того, чтобы переназначать направления, не имеющие ни одного объекта-кандидата в соответствующих приоритетных зонах, и чтобы обеспечить данному алгоритму возможность нахождения каждого из интерактивных объектов в данном документе. Динамическое вычисление этих зон в зависимости от расположенных сбоку объектов-кандидатов позволяет избежать (предпочтительно по меньшей мере для северного и южного направлений) "выпадения" объектов, расположенных дальше, чем восточный или западный (правый или левый) объект-кандидат, как схематически показано на фиг.5е. Использование как приоритетных, так и неприоритетных зон является предпочтительным признаком, который может реализовываться независимо или в сочетании с другими признаками, не ограниченным конкретными зонами, описанными в данном тексте.
Обратимся к фиг.6; северо-восточная неприоритетная зона определяется правой границей 110 северной приоритетной зоны (см. фиг.5а) и линией 112, проходящей от правого верхнего угла текущего объекта (объекта, имеющего фокус) к левому верхнему углу самого верхнего восточного кандидата (восточного объекта-кандидата). Если нет ни одного восточного кандидата, или если верхняя граница самого верхнего восточного кандидата находится ниже верхней границы текущего объекта, граница данной зоны определяется верхней границей восточной приоритетной зоны (см. фиг.5с).
Обратимся к фиг.7; северо-западная неприоритетная зона определяется как дополнение к северной приоритетной зоне (см. фиг.5а) и западному объекту-кандидату или западной приоритетной зоне. А именно, упомянутая зона определяется левой границей 200 северной приоритетной зоны и линией 201, проходящей от верхнего левого угла текущего объекта (объекта, имеющего фокус) к правому верхнему углу самого верхнего западного кандидата (западного объекта-кандидата). Если нет ни одного западного кандидата, или если верхняя граница самого верхнего западного кандидата находится ниже верхней границы текущего объекта, граница данной зоны определяется верхней границей западной приоритетной зоны (см. фиг.5d).
Обратимся к фиг.8; юго-восточная неприоритетная зона определяется аналогичным образом, между южной приоритетной зоной (см. фиг.5b) и восточным объектом-кандидатом или восточной приоритетной зоной. А именно, данная зона определяется правой границей 300 южной приоритетной зоны и линией 301, проходящей от правого нижнего угла текущего объекта (объекта, имеющего фокус) к левому нижнему углу восточного кандидата, являющегося самым южным, или восточного объекта-кандидата. Если нет ни одного восточного кандидата, или верхняя граница восточного кандидата, являющегося самым южным, находится выше нижней границы текущего объекта, граница данной зоны определяется нижней границей восточной приоритетной зоны (см. фиг.5с).
Обратимся к фиг.9; юго-западная неприоритетная зона определяется аналогичным образом, между южной приоритетной зоной (см. фиг.5b) и западным объектом-кандидатом или западной приоритетной зоной. А именно, данная зона определяется левой границей 400 южной приоритетной зоны и линией 401, проходящей от левого нижнего угла текущего объекта (объекта, имеющего фокус) к левому нижнему углу западного кандидата, являющегося самым южным, или западного объекта-кандидата. Если нет ни одного западного кандидата или верхняя граница западного кандидата, являющегося самым южным, находится выше нижней границы текущего объекта, граница данной зоны определяется нижней границей западной приоритетной зоны (см. фиг.5d).
Предпочтительно объекты-кандидаты (целевые объекты) выбираются в определенном порядке (и этот признак может реализовываться независимо). Описав один из возможных вариантов определения приоритетных и неприоритетных зон, опишем теперь предпочтительный способ выбора; следует иметь в виду, что похожие подходы могут применяться в случае, если упомянутые приоритетные и неприоритетные зоны определяются по-другому, и что могут использоваться и другие варианты порядка выбора.
На первом этапе поиск кандидатов ограничивается восточной и западной приоритетными зонами, и все объекты, пересекающиеся с этими зонами, идентифицируются как потенциальные кандидаты.
В предпочтительном варианте осуществления, в котором восточная и западная зоны расширены за счет смежных зон (как показано позициями 100, 102, 104 и 106 на фиг.5с и фиг.5d), поиск кандидатов может быть распространен и на эти смежные зоны, для того чтобы идентифицировать как потенциальных кандидатов объекты, расположенные возле восточной и западной зон.
Перечень потенциальных кандидатов сужается по ходу последующих стадий процесса выбора, как будет описано ниже; такой двухстадийный процесс выбора может реализовываться как независимый предпочтительный признак, даже при использовании иных механизмов выбора. Ниже будет описано несколько правил; каждое из них может быть реализовано независимо или в сочетании с другими правилами, причем раскрытое ниже сочетание правил является особенно предпочтительным, так как позволяет эффективно получить "разумный" набор объектов-кандидатов.
На фиг.10 показаны объекты 410 и 411, расположенные на расстояниях d2 и d1 от объекта, обозначенного "фокус". Если правило определяет, что объектам, более близким к текущему объекту, отдается предпочтение по сравнению с более дальними объектами, тогда объекту 410 отдается предпочтение по сравнению с объектом 411, поскольку расстояние d2 меньше расстояния d1.
На фиг.11а показаны объекты 420 и 421, расположенные на одинаковом расстоянии d от объекта, обозначенного "фокус". Если правило определяет, что в том случае, если объекты находятся на одинаковом расстоянии, оставляется самый верхний объект (самый верхний означает самый северный), тогда объекту 421 отдается предпочтение по сравнению с объектом 420, поскольку объект 421 расположен севернее объекта 420.
На фиг.11b показан объект, обозначенный "фокус", и его западная приоритетная зона 434, расширенная смежными зонами 435 и 436. Объект 437 расположен в западной приоритетной зоне 434 на расстоянии d3 от объекта "фокус". Объект 438, пересекающийся со смежной зоной 436, которая расширяет западную приоритетную зону 434, находится на расстоянии d4 от объекта "фокус", причем величина d4 меньше величины d3. Хотя объект 438 ближе к объекту "фокус", чем объект 437, может быть задано правило, согласно которому будет оставляться объект 437, поскольку объект 438 пересекается лишь со смежной зоной 436, т.е. он не заходит в западную приоритетную зону 434.
На втором этапе осуществляется поиск северных и южных кандидатов в северной и южной приоритетных зонах, а также вторичных кандидатов во вторичных зонах.
Верхние и нижние кандидаты считаются приоритетными кандидатами, если они пересекаются либо с северной, либо с южной зоной.
Два кандидата считаются расположенными на одной линии в следующих случаях:
- оба пересекаются с текущими объектом;
- один объект заключает в себе (охватывает) другой;
- оба находятся на одинаковом расстоянии от текущего объекта (берется расстояние по вертикали между ближайшими горизонтальными границами, т.е. от верхней границы текущего объекта до нижней границы кандидата для верхнего кандидата, и наоборот - для нижнего).
В случае двух кандидатов, считающихся расположенными на одной линии, их классифицируют следующим образом:
- показанный на фиг.12 объект 454, полностью расположенный в приоритетной зоне 455, классифицируется как центральный кандидат;
- показанный на фиг.13 объект 456, пересекающий левую границу приоритетной зоны 455, классифицируется как левый кандидат;
- показанный на фиг.14 объект 457, пересекающий правую границу приоритетной зоны 457, классифицируется как правый кандидат.
Опишем теперь, со ссылками на фиг.15а-15е, выбор среди двух кандидатов, которые считаются расположенными на одной линии. Хотя необходимости в строгости определения приоритетов нет, следует отметить, что описываемый алгоритм является асимметричным (в рассматриваемом примере он предпочитает левого кандидата правому). Этот признак (асимметричность) является важным и может быть реализован независимо; он лучше (чем симметричный алгоритм) гарантирует, что, в конце концов, будут пройдены все объекты, хотя при необходимости можно ввести элемент случайности в по большому счету симметричный алгоритм.
Могут применяться следующие правила:
- левому кандидату 458 отдается предпочтение по сравнению с правым кандидатом 459 (см. фиг.15а);
- центральному кандидату 460 отдается предпочтение по сравнению с левым 461 или правым кандидатом (см. фиг.15b);
- если, как показано на фиг.15с и фиг.15d, два кандидата являются кандидатами одного и того же типа, оставляется тот из них, внутренняя граница которого глубже заходит в зону 455, например, в случае двух левых кандидатов 462 и 463 (см. фиг.15с) оставляется тот, правая граница которого заходит дальше вправо, т.е. кандидат 463, и наоборот; следовательно, в случае двух правых кандидатов 464 и 465 (см. фиг.15d) оставляется тот, левая граница которого заходит дальше влево, т.е. кандидат 464;
- из показанных на фиг.15е двух центральных кандидатов 466 и 467 оставляется тот, чей центр находится ближе к центру текущего объекта.
Если кандидаты не считаются расположенными на одной линии, оставляется тот, который расположен ближе к центру текущего объекта.
Как показано на фиг.16, кандидат считается вторичным кандидатом, если он (т.е. окружающий его прямоугольник) полностью располагается во вторичной зоне 468, как это имеет место в случае кандидатов 469, 470 и 471. Из каждой вторичной зоны оставляются два (предпочтительно) вторичных кандидата. Соответственно, оставляются два вторичных кандидата 469 и 470, тогда как вторичный кандидат 471 отвергается. Окружающий кандидата 472 прямоугольник не полностью находится во вторичной зоне 468; кандидат 472 не может считаться вторичным кандидатом и поэтому отвергается.
Третий (желательный, но необязательный) этап делает возможным привязку вторичного кандидата к направлению, не имеющему кандидата, или привязку одного кандидата к двум различным направлениям. Этот этап может также решить проблемы с объектами, охватывающими другие объекты.
Для перепривязки объектов к восточному и западному и к северному и южному направлениям используются дополняющие способы; ниже будет подробно объяснена привязка только к одному из пары направлений, с указанием в скобках дополняющего направления; те же принципы применимы для другого направления с соответствующими необходимыми изменениями.
Чтобы привязать объекты к восточному (или западному) направлению, рассматриваются вторичные кандидаты с северо-востока и юго-востока (или северо-запада и юго-запада). Оставляется ближайший к текущему объекту по оси север-юг кандидат; при наличии равноудаленных объектов, оставляется объект, ближайший по оси восток-запад.
Аналогичным образом, чтобы привязать объекты к северному (или южному) направлению, рассматриваются вторичные кандидаты с северо-востока и северо-запада (или юго-востока и юго-запада). Оставляется ближайший к текущему объекту по оси север-юг кандидат; при наличии равноудаленных объектов оставляется объект, ближайший по оси восток-запад. При отсутствии объектов во вторичных зонах кандидат выбирается из восточных и западных объектов, предпочтительно тех, которые располагаются над (под) объектом-кандидатом; перепривязка северного (или южного) направления к расположенному сбоку кандидату позволяет перемещаться к самому верхнему (или нижнему) объекту.
На фиг.17 показано множество объектов - объекты А, В, С, D, Е, F и G. Один объект может охватываться другим объектом - если окружающий первый объект прямоугольник полностью располагается внутри прямоугольника, окружающего второй объект. На фиг.17 объекты D и Е охвачены объектом С, который, в свою очередь, охвачен объектом В. Объект G охвачен объектом F.
Ниже будет описан алгоритм обработки объектов, охватывающих другие объекты. Он обеспечивает возможность перемещения по направлению к объекту, являющемуся самым внутренним ("охваченным"), например, от объекта В к объекту С, от объекта С к объектам D и Е, и от объекта F к объекту G (этот признак является предпочтительным, и он может быть реализован независимо, причем могут использоваться алгоритмы, иные чем предпочтительный алгоритм, описанный в данном тексте). В одном из предпочтительных вариантов после прохождения всех внутренних объектов направление прохождения изменяется на обратное, и проходятся все охватывающие объекты.
Используя приведенную ниже таблицу 5, поясним действие упомянутых выше правил применительно к объектам, показанным на фиг.17.
Таблица 5
Текущий объект | Восточный кандидат | Западный кандидат |
А | В | Кандидат отсутствует |
В | С | А |
С | D | В |
D | Е | С |
Е | С | D |
С | В | Е |
В | F | С |
F | G | В |
G | F | F |
F | Кандидат отсутствует | G |
Ниже, со ссылкой на фиг.18, будет пояснен четвертый этап, позволяющий выбирать подходящие объекты для северного и южного направлений таким образом, что обеспечивается возможность перемещения между всеми имеющимися объектами (это является предпочтительной целью и предпочтительным признаком и может быть реализовано независимо, а также может быть воплощено с помощью других алгоритмов).
Обратимся к фиг.18а, на которой показан объект 510 к западу от объекта 512, имеющего фокус, и объект 514 к югу от объекта 512. Еще один объект 516 находится к югу от объекта 510. Используя описанные выше алгоритмы, объект 510 будет считаться западным кандидатом, а объект 514 будет считаться южным кандидатом. Объект 518 расположен таким образом, что к нему нельзя получить доступ от объекта 510, поскольку объект 512 был бы восточным кандидатом, а объект 516 был бы южным кандидатом. Таким образом, четвертый этап предусматривается для того, чтобы обеспечить возможность доступа к объекту 518.
Этот четвертый этап включает перепривязку вместо северного или южного кандидата вторичного кандидата (соответственно стрелки 500, 501), если к этому вторичному кандидату не может быть обеспечен доступ из восточного или западного кандидатов (фиг.18а), т.е. если доступ к этому вторичному кандидату не может быть обеспечен при применении данного способа навигации к восточному или западному кандидату, или если этот вторичный кандидат пересекает северную или южную приоритетные зоны соответственно южного или северного кандидатов.
Фиг.18b иллюстрирует подобную ситуацию, но здесь объект 518 ближе к объекту 514.
Обратившись к фиг.19, рассмотрим теперь результат реализации описанных выше алгоритмов для случая типичного документа. На этой фигуре представленные сплошной линией прямоугольники соответствуют активным объектам в данном документе, а прямоугольники, изображенные пунктирной линией, соответствуют зонам, определяющим гиперссылку.
Изображенные стрелки показывают возможные маршруты перемещения, исходя из описанных выше алгоритмов. Как видно, перемещаясь в одном из четырех направлений, можно обойти все объекты вполне интуитивно-понятным образом. Более того, заметим, что алгоритм необязательно должен быть обратимым; например, перемещение вверх из левого нижнего прямоугольника гиперссылки 600 приводит к прямоугольнику 602, но перемещение оттуда вниз приводит уже к прямоугольнику 604. Аналогичным образом, перемещение вниз от нескольких объектов приводит к удлиненному прямоугольнику внизу гиперссылки 608 (которой может быть, например, строка текста), но перемещение оттуда вверх приводит только к объекту 610.
Опишем теперь более подробно процедуры, используемые в рассматриваемом предпочтительном варианте осуществления для формирования перечня объектов-кандидатов, используя, прежде всего, фиг.20-23.
Ради удобства и облегчения понимания на иллюстрациях используются несколько групп псевдопеременных. Эти переменные определяются следующим образом:
"Кандидат (<первичное направление>)": массив из 4 переменных, ссылающихся на северный, восточный, южный и западный (первичные) объекты-кандидаты.
"Вторичный (<вторичное направление>, <номер=1 или 2>)": многомерный массив из 8 переменных, соответствующий первому и второму вторичным кандидатам в северо-западной, северо-восточной, юго-западной и юго-восточной неприоритетных зонах. Номер 1 соответствует первому вторичному кандидату в соответствующей неприоритетной зоне, номер 2 соответствует второму вторичному кандидату и т.д. Как указывалось выше, может предусматриваться большее или меньшее количество вторичных кандидатов, но для целей данной иллюстрации рассматриваются только два.
На фиг.20 представлена последовательность процедур, выполняемых для формирования перечня объектов-кандидатов. В левом столбце 1200 приведено краткое описание процедур А-С (700, 800, 900), а в правом столбце 1202 представлен соответствующий примерный псевдокод привязываний, которые могут быть осуществлены во время выполнения каждой процедуры.
Процедура А 700 примерно соответствует первому и второму этапам, описанным выше; процедура В 800 примерно соответствует третьему этапу, описанному выше; процедура С 900 примерно соответствует четвертому этапу, описанному выше.
Процедура А 700 включает операцию нахождения всех первичных и вторичных кандидатов для текущего выбранного объекта. Процесс В 800 включает операцию заполнения всех пустых первичных кандидатов подходящими вторичными кандидатами. Наконец, процесс С 900 включает операцию привязки к соответствующим первичным кандидатам вторичных северных и южных кандидатов, к которым невозможен доступ из восточных и западных первичных кандидатов.
Обратившись к фиг.21, опишем более подробно процедуру А 700. Прежде всего, на шагах 704, 706, 708, 710 осуществляют привязку первичных кандидатов. Эта привязка осуществляется в соответствии с используемым способом, применяемым для выбора первичных кандидатов; например, в случае восточного кандидата, выбор ближайшего объекта в восточной приоритетной зоне. После того как была осуществлена привязка всех первичных кандидатов (или, в соответствующем случае, они были оставлены пустыми), на соответствующих шагах 712, 714, 716, 718 осуществляют привязку вторичных кандидатов. Опять же, это привязывание осуществляется в соответствии с используемым способом выбора вторичных кандидатов, таким, как любой из описанных более подробно выше.
Обратившись к фиг.22, опишем теперь процедуру В 800. Шаги 804, 814, 816 позволяют по очереди проверить на шаге 806 каждый из всех первичных кандидатов. Затем на шагах 808, 810 для каждого из кандидатов, у которого нет привязанного к нему объекта, другими словами, который был оставлен пустым процедурой А, осуществляется соответствующая привязка. Как и прежде, конкретный алгоритм, используемый на шаге 808, может быть модифицирован как угодно сильно, но в данном предпочтительном варианте осуществления применяется алгоритм, подробно описанный выше.
Обратившись к фиг.23, опишем теперь завершающую процедуру С 900. Шаги 904, 906, 912, 914, 918, 920 образуют внешний и внутренний цикл, поочередно обрабатывающие вторичных кандидатов из всех неприоритетных зон. Как упоминалось выше, в данном описании рассматривается не более двух вторичных кандидатов (то есть для каждой неприоритетной зоны рассматриваются только первый вторичный кандидат и второй вторичный кандидат). На шагах 908, 910 рассматриваемый алгоритм проверяет, возможен ли доступ к рассматриваемому вторичному кандидату из восточных или западных объектов-кандидатов. Если доступ невозможен, соответствующий северный или южный (первичный) кандидат заменяется рассматриваемым вторичным кандидатом. Например, если обнаружится, что из восточных или западных кандидатов невозможен доступ к некоему вторичному кандидату с юго-запада, последний будет назначен новым южным кандидатом.
Предпочтительный алгоритм для определения того, возможен или невозможен доступ к рассматриваемому вторичному кандидату из восточных или западных объектов-кандидатов, просто проверяет, попадает ли данный вторичный кандидат в одну из четырех приоритетных зон восточного или западного объекта-кандидата. Благодаря этому обеспечивается преимущество, состоящее в том, что обеспечивается возможность доступа к любому объекту без необходимости применения чрезмерно сложного алгоритма. В частности, эта проверка не столь сложна, как сочетание процедур А, В и С, используемое для определения объектов-кандидатов для текущего объекта, и нет необходимости в том, чтобы она была таковой.
На завершающем шаге 922 последнего процесса массив "Кандидате" содержит четыре надлежащих первичных объекта-кандидата. Как упоминалось выше, при последовательном применении описанных выше процедур можно обеспечить возможность доступа к каждому представляющему интерес объекту Web-страницы из любого другого представляющего интерес объекта (объекты, которые не могут быть выбраны, к которым и из которых нельзя перейти, или с которыми нельзя взаимодействовать иным образом, обычно не считаются представляющими интерес объектами).
Показанные на фиг.20-23 блок-схемы могут быть модифицированы, в частности, в том, что касается исключения, изменения или добавления тех или иных этапов, например, чтобы отразить особенности других вариантов осуществления, описанных в данном тексте.
Одна из таких модификаций представлена на фиг.24-26. В этом алгоритме шаг проверки того, возможен ли доступ к некоторому вторичному кандидату из восточного или западного кандидата, выполняется более тщательно, давая потенциально лучшие результаты, платой за которые является потери в скорости. В этом варианте осуществления дополнительно используется еще одна пара массивов:
Восточный_Кандидат (<первичное направление>), Западный_Кандидат (<первичное направление>): структура такая же, как у массива "Кандидат(...)", но они содержат объекты-кандидаты для соответственно восточного и западного объектов-кандидатов.
Как и прежде, процедура А 700 включает шаг нахождения всех первичных и вторичных кандидатов для текущего выбранного объекта, а процедура В 800 включает шаг заполнения любых пустых первичных кандидатов подходящими вторичными кандидатами. Новая процедура D 1000 включает шаг нахождения первичных кандидатов для объектов, соответствующих восточным и западным первичным кандидатам (например, повторение описанных выше процедур А и В для восточных и западных кандидатов). Наконец, процедура Е 1100, подобная по структуре процедуре С 900, включает шаг привязки к соответствующим первичным кандидатам любых северных и южных кандидатов, не присутствующих ни в каком из элементов массивов "Восточный_Кандидат()" и "Западный_Кандидат()".
Процедуры А 700 и В 800 работают так, как описано выше, и подробно описываться не будут.
Обратимся к фиг.25 и опишем процедуру D 900. Шаги 1004, 1006 служат для эффективного повторения процедур А 700 и В 800, но с точки зрения другого объекта (в данном случае восточного кандидата текущего объекта). В рассматриваемом предпочтительном варианте осуществления процедуры А и В реализуются одной функцией, принимающей в качестве параметра, помимо прочего, ссылку на объект, который должен считаться "текущим объектом". Таким образом шаги 1004, 1006 могут быть осуществлены относительно эффективно. В модификациях данного предпочтительного варианта процедуры А и В реализуются несколькими функциями. Шаги 1008, 1010 эквивалентны шагам 1004, 1006, но применительно к западному кандидату текущего объекта. Следует подчеркнуть, что объекты-кандидаты, определяемые для восточных и западных объектов, определяются лишь в первом приближении и не уточняются в соответствии с дополнительными процессами D и Е. Благодаря этому экономятся вычислительные ресурсы; кроме того, это способствует недопущению бесконечной рекурсии.
Опишем теперь, со ссылками на фиг.26, альтернативную завершающую процедуру Е 1100. Как и прежде, шаги 1104, 1106, 1112, 1114, 1120 образуют внешний и внутренний циклы, поочередно обрабатывающие вторичных кандидатов из всех неприоритетных зон. Как упоминалось выше, в рассматриваемом варианте рассматривается не более двух вторичных кандидатов (то есть для каждой неприоритетной зоны рассматриваются только первый вторичный кандидат и второй вторичный кандидат). На шагах 1108, 1110 алгоритм проверяет, является ли рассматриваемый вторичный кандидат одним из элементов массивов "Восточный_Кандидат()" или "Западный_Кандидат()" (то есть возможен ли к нему доступ из восточных или западных объектов-кандидатов). Если доступ невозможен, соответствующий один - северный или южный (первичный) кандидат - заменяется данным вторичным кандидатом. Например, если обнаружится, что вторичный кандидат с юго-востока не доступен из восточных или западных кандидатов, он будет назначен новым южным кандидатом.
Как становится очевидным, описанные в данном тексте способы перемещения по Web-странице особенно пригодны для приемника-декодера, среди прочего благодаря простоте средств управления, для реализации которых достаточно вполне стандартного пульта дистанционного управления. В одной из модификаций предпочтительного варианта осуществления настоящего изобретения все объекты-кандидаты для всех объектов Web-страницы вычисляются сразу же после загрузки страницы и сохраняются в таблице для последующего использования. Благодаря этому может быть обеспечено преимущество, заключающееся в более быстрой обработке при навигации (благодаря тому, что вместо того, чтобы каждый раз вычислять объекты-кандидаты, осуществляется их поиск в таблице). Однако динамическое вычисление объектов-кандидатов также имеет свои преимущества, поскольку, по сравнению с сохранением таблицы, требует меньше памяти приемника-декодера, имеющей относительно небольшой объем. В этом варианте возможно также перемещение по Web-странице уже в процессе загрузки, например, когда относительные положения и размеры объектов на странице могут быть неустановившимися.
"Динамическая" навигация может быть также полезна при использовании JavaScript, который может не только делать объекты Web-страницы видимыми или невидимыми (влияя таким образом на навигационную взаимосвязь между всеми объектами данной страницы), но может также создавать объекты в процессе отображения страницы. Динамический HTML также может делать объекты Web-страницы видимыми или невидимыми, и, соответственно, будут иметь место преимущества описанных выше способов динамической навигации.
При отсутствии указания на противное, все описанные выше признаки могут быть реализованы независимо. Прилагаемый реферат включается в настоящую заявку посредством ссылки. Номера позиций, включенные в формулу изобретения, не имеют никакого ограничивающего действия.
Claims (20)
1. Способ назначения порядка перемещения некоторому множеству объектов, подлежащих отображению на экране в соответствующих местоположениях, согласно которому эти объекты привязывают к некоторому множеству определенных направлений на основе упомянутых местоположений этих объектов, включающий подъем или спуск на один уровень в иерархии таких объектов и отличающийся тем, что некоторая группа объектов может быть пройдена как единое целое на первом уровне, а перемещение между ее отдельными элементами или подгруппами может осуществляться на втором уровне.
2. Способ по п. 1, отличающийся тем, что упомянутые объекты привязываются к направлениям в некотором предварительно определенном порядке.
3. Способ по п. 1 или 2, отличающийся тем, что он дополнительно включает выбор из упомянутого множества объектов некоторого множества объектов-кандидатов, выбор из упомянутого множества объектов-кандидатов некоторой группы принятых объектов и привязку к направлениям упомянутой группы принятых объектов.
4. Способ по п. 1, отличающийся тем, что упомянутая привязка объектов к направлениям осуществляется таким образом, что обеспечивается возможность доступа ко всем представляющим интерес объектам, расположенным на странице.
5. Способ по п. 1, отличающийся тем, что он включает переход по гиперссылке.
6. Способ по п. 1, отличающийся тем, что упомянутая группа объектов представляет собой составной объект.
7. Способ по п. 6, отличающийся тем, что упомянутым составным объектом является "текстовое поле", "список", "IsMap", "UseMap", "фрейм".
8. Способ по п. 1, отличающийся тем, что в случае документа, содержащего несколько фреймов, между фреймами в целом можно перемещаться на первом уровне, а между объектами, размещенными в каждом фрейме, можно перемещаться на втором уровне.
9. Способ по п. 1, отличающийся тем, что он дополнительно включает классификацию упомянутого множества объектов на первичные и вторичные объекты-кандидаты по отношению к текущему объекту.
10. Способ по п. 9, отличающийся тем, что упомянутая операция классификации множества объектов включает определение того, находится ли каждый объект в некотором определенном относительном положении по отношению к текущему объекту.
11. Устройство для назначения порядка перемещения некоторому множеству объектов, подлежащих отображению на экране в соответствующих местоположениях, содержащее средство для привязки этих объектов к некоторому множеству определенных направлений на основе упомянутых местоположений этих объектов и средство для подъема или спуска на один уровень в иерархии таких объектов, отличающееся тем, что упомянутое средство для подъема или спуска на один уровень в иерархии объектов выполнено с возможностью обеспечения прохождения некоторой группы объектов как единого целого на первом уровне и перемещения между ее отдельными элементами или подгруппами на втором уровне.
12. Устройство по п. 11, отличающееся тем, что упомянутое средство для привязки объектов к множеству направлений выполнено с возможностью привязки объектов к направлениям в некотором предварительно определенном порядке.
13. Устройство по п. 11 или 12, отличающееся тем, что оно дополнительно содержит средство для выбора из упомянутого множества объектов некоторого множества объектов-кандидатов, средство для выбора из упомянутого множества объектов-кандидатов некоторой группы принятых объектов и средство для привязки к направлениям упомянутой группы принятых объектов.
14. Устройство по п. 11, отличающееся тем, что упомянутое средство для привязки объектов к множеству направлений выполнено с возможностью обеспечения возможности доступа ко всем представляющим интерес объектам, расположенным на странице.
15. Устройство по п. 11, отличающееся тем, что оно содержит средство для перехода по гиперссылке.
16. Устройство по п. 15, отличающееся тем, что упомянутая группа объектов представляет собой составной объект.
17. Устройство по п. 16, отличающееся тем, что упомянутым составным объектом является "текстовое поле", "список", "IsMap", "UseMap", "фрейм".
18. Устройство по п. 11, отличающееся тем, что в случае документа, содержащего нескольких фреймов, между фреймами в целом можно перемещаться на первом уровне, а между объектами, размещенными в каждом фрейме, можно перемещаться на втором уровне.
19. Устройство по п. 11, отличающееся тем, что оно дополнительно содержит средство для классификации упомянутого множества объектов на первичные и вторичные объекты-кандидаты по отношению к текущему объекту.
20. Устройство по п. 19, отличающееся тем, что упомянутое средство для классификации множества объектов выполнено с возможностью определения того, находится ли каждый объект в некотором определенном относительном положении по отношению к текущему объекту.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99403281.1 | 1999-12-24 | ||
EP99403281A EP1111497A1 (en) | 1999-12-24 | 1999-12-24 | Navigation |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2002119566A RU2002119566A (ru) | 2004-02-27 |
RU2265245C2 true RU2265245C2 (ru) | 2005-11-27 |
Family
ID=8242235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2002119566/09A RU2265245C2 (ru) | 1999-12-24 | 2000-12-22 | Навигация |
Country Status (13)
Country | Link |
---|---|
US (1) | US20030004638A1 (ru) |
EP (3) | EP1111497A1 (ru) |
JP (1) | JP2003518685A (ru) |
KR (1) | KR100805691B1 (ru) |
CN (1) | CN1434935B (ru) |
AU (1) | AU2389901A (ru) |
CA (1) | CA2395536A1 (ru) |
IL (2) | IL150371A0 (ru) |
MY (1) | MY138215A (ru) |
NO (1) | NO330957B1 (ru) |
RU (1) | RU2265245C2 (ru) |
UA (1) | UA76710C2 (ru) |
WO (1) | WO2001048586A2 (ru) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2465740C2 (ru) * | 2008-02-22 | 2012-10-27 | Шарп Кабусики Кайся | Интегрированное интерфейсное устройство и способ управления интегрированным интерфейсным устройством |
RU2480846C1 (ru) * | 2009-02-24 | 2013-04-27 | Ибэй Инк. | Система и способ предоставления многонаправленного визуального просмотра (варианты) |
US8595638B2 (en) | 2008-08-28 | 2013-11-26 | Nokia Corporation | User interface, device and method for displaying special locations on a map |
RU2611965C2 (ru) * | 2012-05-31 | 2017-03-01 | Юс Мобиле Лимитед | Способ и устройство отображения страницы |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050003364A (ko) * | 2002-04-12 | 2005-01-10 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 방송-수신기들로의 프로그램들의 다운로딩 |
US7134089B2 (en) * | 2002-11-13 | 2006-11-07 | Microsoft Corporation | Directional focus navigation |
US7412653B2 (en) | 2003-11-06 | 2008-08-12 | Universal Electronics, Inc. | Remote control having a display with multi-function EL segments |
WO2007007017A1 (en) * | 2005-07-08 | 2007-01-18 | Corizon Limited | Method and apparatus for user interface modification |
US20080222530A1 (en) * | 2007-03-06 | 2008-09-11 | Microsoft Corporation | Navigating user interface controls on a two-dimensional canvas |
US8850358B2 (en) * | 2007-09-28 | 2014-09-30 | Yahoo! Inc. | System and method for keyboard navigation in a search results page |
US7818686B2 (en) * | 2008-09-04 | 2010-10-19 | International Business Machines Corporation | System and method for accelerated web page navigation using keyboard accelerators in a data processing system |
US8595783B2 (en) * | 2010-08-30 | 2013-11-26 | Sony Corporation | Receiving device, receiving method, program, and broadcasting system |
US20140040824A1 (en) * | 2012-08-02 | 2014-02-06 | Comcast Cable Communications, Llc | Systems and methods for data navigation |
EP2704003A1 (de) * | 2012-08-30 | 2014-03-05 | Siemens Aktiengesellschaft | System zur Projektierung oder Einrichtung einer technischen Anlage |
EP2806348A1 (en) | 2013-05-22 | 2014-11-26 | TP Vision Holding B.V. | System and method for navigating in a graphical user interface, using navigation buttons |
US10210275B2 (en) | 2013-07-24 | 2019-02-19 | Xi'an Zhongxing New Software Co., Ltd. | Method and system for controlling focus moving on webpage |
US10963126B2 (en) * | 2014-12-10 | 2021-03-30 | D2L Corporation | Method and system for element navigation |
US9652125B2 (en) | 2015-06-18 | 2017-05-16 | Apple Inc. | Device, method, and graphical user interface for navigating media content |
US9928029B2 (en) | 2015-09-08 | 2018-03-27 | Apple Inc. | Device, method, and graphical user interface for providing audiovisual feedback |
US9990113B2 (en) | 2015-09-08 | 2018-06-05 | Apple Inc. | Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control |
JP6943562B2 (ja) | 2016-11-25 | 2021-10-06 | トヨタ自動車株式会社 | 表示制御装置 |
US10284480B2 (en) * | 2016-12-27 | 2019-05-07 | Netflix, Inc. | Packet loss tolerant transmission control protocol congestion control |
US11922006B2 (en) | 2018-06-03 | 2024-03-05 | Apple Inc. | Media control for screensavers on an electronic device |
US10936163B2 (en) | 2018-07-17 | 2021-03-02 | Methodical Mind, Llc. | Graphical user interface system |
CN110704146A (zh) * | 2019-08-30 | 2020-01-17 | 华为技术有限公司 | 一种应用于电子设备的焦点管理方法及电子设备 |
KR20210057306A (ko) * | 2019-11-12 | 2021-05-21 | 주식회사 모카앤제이에스 | 블록 에디터 기반 문서 편집 서비스 제공 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754179A (en) * | 1995-06-07 | 1998-05-19 | International Business Machines Corporation | Selection facilitation on a graphical interface |
US6034689A (en) * | 1996-06-03 | 2000-03-07 | Webtv Networks, Inc. | Web browser allowing navigation between hypertext objects using remote control |
EP1026888B1 (en) * | 1996-09-18 | 2003-11-05 | Access Co., Ltd. | A program for use in an internet apparatus |
JP4223680B2 (ja) * | 1997-08-28 | 2009-02-12 | トムソン コンシユーマ エレクトロニクス インコーポレイテツド | 異なる表示セクションを有する表示におけるナビゲーションシステム及び方法 |
US6154205A (en) * | 1998-03-25 | 2000-11-28 | Microsoft Corporation | Navigating web-based content in a television-based system |
-
1999
- 1999-12-24 EP EP99403281A patent/EP1111497A1/en not_active Withdrawn
-
2000
- 2000-12-22 WO PCT/IB2000/002026 patent/WO2001048586A2/en active Search and Examination
- 2000-12-22 CA CA002395536A patent/CA2395536A1/en not_active Abandoned
- 2000-12-22 US US10/168,308 patent/US20030004638A1/en not_active Abandoned
- 2000-12-22 IL IL15037100A patent/IL150371A0/xx active IP Right Grant
- 2000-12-22 EP EP00987598A patent/EP1244953A2/en not_active Withdrawn
- 2000-12-22 UA UA2002076154A patent/UA76710C2/ru unknown
- 2000-12-22 RU RU2002119566/09A patent/RU2265245C2/ru not_active IP Right Cessation
- 2000-12-22 KR KR1020027008247A patent/KR100805691B1/ko not_active IP Right Cessation
- 2000-12-22 EP EP03079055A patent/EP1450242A3/en not_active Ceased
- 2000-12-22 AU AU23899/01A patent/AU2389901A/en not_active Abandoned
- 2000-12-22 JP JP2001549172A patent/JP2003518685A/ja active Pending
- 2000-12-22 CN CN00819131XA patent/CN1434935B/zh not_active Expired - Fee Related
- 2000-12-23 MY MYPI20006179A patent/MY138215A/en unknown
-
2002
- 2002-06-19 NO NO20022958A patent/NO330957B1/no not_active IP Right Cessation
- 2002-06-23 IL IL150371A patent/IL150371A/en not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2465740C2 (ru) * | 2008-02-22 | 2012-10-27 | Шарп Кабусики Кайся | Интегрированное интерфейсное устройство и способ управления интегрированным интерфейсным устройством |
US8595638B2 (en) | 2008-08-28 | 2013-11-26 | Nokia Corporation | User interface, device and method for displaying special locations on a map |
RU2500016C2 (ru) * | 2008-08-28 | 2013-11-27 | Нокиа Корпорейшн | Пользовательский интерфейс, устройство и способ отображения особенных местоположений на карте |
RU2480846C1 (ru) * | 2009-02-24 | 2013-04-27 | Ибэй Инк. | Система и способ предоставления многонаправленного визуального просмотра (варианты) |
RU2611965C2 (ru) * | 2012-05-31 | 2017-03-01 | Юс Мобиле Лимитед | Способ и устройство отображения страницы |
Also Published As
Publication number | Publication date |
---|---|
NO330957B1 (no) | 2011-08-22 |
MY138215A (en) | 2009-05-29 |
WO2001048586A3 (en) | 2002-03-14 |
UA76710C2 (ru) | 2006-09-15 |
CN1434935A (zh) | 2003-08-06 |
NO20022958D0 (no) | 2002-06-19 |
EP1244953A2 (en) | 2002-10-02 |
EP1450242A3 (en) | 2009-08-26 |
EP1111497A1 (en) | 2001-06-27 |
IL150371A0 (en) | 2002-12-01 |
CA2395536A1 (en) | 2001-07-05 |
KR100805691B1 (ko) | 2008-02-21 |
WO2001048586A2 (en) | 2001-07-05 |
KR20020065610A (ko) | 2002-08-13 |
US20030004638A1 (en) | 2003-01-02 |
JP2003518685A (ja) | 2003-06-10 |
RU2002119566A (ru) | 2004-02-27 |
CN1434935B (zh) | 2010-05-05 |
EP1450242A2 (en) | 2004-08-25 |
NO20022958L (no) | 2002-08-26 |
AU2389901A (en) | 2001-07-09 |
IL150371A (en) | 2008-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2265245C2 (ru) | Навигация | |
US7197717B2 (en) | Seamless tabbed focus control in active content | |
US6920445B2 (en) | Contents browsing system with multi-level circular index and automated contents analysis function | |
US11523169B2 (en) | Systems and methods for presenting home screen shortcuts | |
US8677280B2 (en) | Sprocket shaped user interface for navigating a dynamic collection of information | |
CA2622900C (en) | Self-contained mini-applications system and method for digital television | |
CN110737840A (zh) | 语音控制方法及显示设备 | |
US6397387B1 (en) | Client and server system | |
US9509750B2 (en) | Apparatus and method for providing content | |
EP1143731B1 (en) | Displaying internet content and television programming | |
US6437836B1 (en) | Extended functionally remote control system and method therefore | |
RU2543299C2 (ru) | Устройство дисплея и способ отображения | |
US20030110448A1 (en) | System and method for portal page layout | |
EP1411427A2 (en) | Method of drawing in a window | |
US20080010664A1 (en) | Method and System for Providing Interactive Services in Digital Television | |
US20070245380A1 (en) | Representation of EPG programming information | |
WO2011099951A1 (en) | Flower look interface | |
PL183663B1 (pl) | Odbiornik-dekoder do odbioru nadawanych sygnałów | |
JP4909680B2 (ja) | Webドキュメントへのリンクを表示させる方法 | |
US20040143816A1 (en) | Information processing apparatus, information processing method, storage medium, and program | |
CN111950288B (zh) | 一种命名实体识别中的实体标注方法及智能设备 | |
US10845979B2 (en) | Method and system for digital content display and interaction | |
EP1463321B1 (en) | Non-modal navigation of interactive multimedia content | |
EP1237365A1 (en) | Representation of EPG programming information | |
CN115309793A (zh) | 一种内容显示方法、显示设备及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20110811 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20171223 |