Ввод данных при использовании gui-интерфейса

Изобретение относится к устройствам ввода данных при использовании GUI-интерфейса и может быть использовано в бытовых электронных устройствах, таких как приемники-декодеры для работы с сигналами цифрового телевидения. Техническим результатом является повышение удобства работы, простота использования клавишной панели. Указанный результат достигается за счет одновременного отображения на экране множества шаблонов функций для клавиш клавишной панели с возможностью выбора одного из упомянутых шаблонов, а также отображение изображения клавишной панели и перемещение упомянутого изображения относительно упомянутых шаблонов. 5 н. и 4 з.п. ф-лы, 10 ил., 3 табл.

 

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

В данном тексте делается ссылка на поданную в ЕПВ заявку 00300832.3 на имя компании КАНАЛЬ + Сосьетэ Аноним, содержимое которой включено в данный текст посредством ссылки.

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

Обычно такие устройства имеют лишь цифровые клавишные панели с клавишами для каждой цифры от 0 до 9 и, возможно, с несколькими другими клавишами, например "#" и "*". Для того чтобы можно было ввести текст, требуются по меньшей мере 26 дополнительных клавишных функций для букв алфавита и, кроме того, требуются еще несколько клавишных функций для верхнего и нижнего регистров (прописные/строчные буквы), знаков препинания и символов, а также букв с апокрифическими значками (акцентированных букв).

В известных клавишных панелях, используемых для ввода текста, каждой клавише присваиваются несколько функций, и пользователь последовательно и циклически перебирает имеющиеся функции, нажимая клавишу несколько раз, причем эти различные функции обычно отображаются на экране. Когда пользователь доходит до желаемой функции данной клавиши, эта функция выбирается обычно путем нажатия клавиши выбора или же перемещением экранного курсора. Очевидно, что, когда необходимо обеспечить полный набор функций, каждая клавиша клавишной панели обязательно связана с несколькими различными функциями. Например, клавиша "2" клавишной панели может иметь следующие функции: А, В, С, а, b, с, 2, Д, д, Б, б, В, в, А, а, Е, е, Ж, ж, 3 и з и может дополнительно иметь функции-символы. Всякий раз, когда требуется конкретная буква, цифра или символ, эту клавишу приходится нажимать несколько раз. Совершенно очевидно, что это может занимать много времени и является малоэффективным. Кроме того, конструктивные ограничения и физический размер клавиш часто приводят к тому, что не все буквы и символы, к которым можно получить доступ с помощью какой-либо конкретной клавиши, могут быть отображены для пользователя. Таким образом, если пользователь желает ввести какую-либо букву или символ, ему часто приходится прибегать к методу проб и ошибок, чтобы найти клавишу, которая связана с этой буквой или символом.

Решение, которое используется для некоторых моделей мобильных телефонов, состоит в применении QWERTY-клавиатуры (клавиатуры, содержащей клавиши в соответствии с американским стандартом расположения клавиш), но оно определенно не является идеальным для случаев, когда желательна небольшая клавишная панель; клавиши должны оставаться достаточно большими, чтобы их можно было использовать.

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

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

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

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

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

Предпочтительно функция клавиши является изменяемой.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Предпочтительно предлагаемый способ дополнительно включает выбор одного из отображенных шаблонов.

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

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

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

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

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

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

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

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

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

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

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

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

Упомянутые функции, входящие в упомянутые шаблоны, могут быть скомпонованы в соответствии с клавиатурой с американским стандартом расположения клавиш (QWERTY), причем упомянутая клавиатура разбивается на различные зоны для упомянутого изображения клавишной панели. Например, в одном положении упомянутая клавишная панель может использоваться для ввода букв q, w, e, a, s, d, z, x, с и "пробела".

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

Функции, предоставляемые одной клавишей клавиатуры с шаблоном, могут охватывать более одной буквы, цифры или символа. Например, при использовании упомянутой клавишной панели с Web-браузером одна из клавиш может использоваться для ввода текстовой строки, например "http:\" или "www".

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

В соответствии с еще одним аспектом настоящего изобретения предлагается шаблон для клавишной панели. Предпочтительно этот шаблон является отображаемым (т.е. может быть отображен) в GUI-интерфейсе.

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

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

Предпочтительно предлагаемый способ ввода данных предусматривает отдельное приложение и включает операцию вызова упомянутого приложения. Этот признак особенно важен и может реализовываться независимо.

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

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

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

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

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

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

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

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

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

Упомянутое приложение может само обнаруживать, какое приложение и/или клавишную панель использует пользователь, или это может сообщать ему пользователь.

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

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

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

В соответствии с еще одним аспектом настоящего изобретения предлагается компьютерная программа для осуществления предлагаемого согласно настоящему изобретению способа.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Предлагаемым клавишной панели и/или шаблонам может придаваться вид в соответствии со способом, описанным в поданной в ЕПВ заявке 00300832.3.

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

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

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

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

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

Упомянутые изобретения также распространяются на программные продукты для компьютера, например, содержащие программное обеспечение для компьютера и/или обновленные версии программного обеспечения для компьютера. Такие программные продукты для компьютера могут, например, передаваться пользователю из центра вещания посредством, например, кабельного или спутникового вещания. Эти программные продукты для компьютера могут предоставляться на диске, например CD-ROM.

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

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

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

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

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

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

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

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

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

фиг.1a - общий вид типичной системы цифрового телевидения;

фиг.1b - общая архитектура системы интерактивного телевидения;

фиг.2а - блок-схема приемника-декодера;

фиг.2b - архитектура приемника-декодера;

фиг.2с - архитектура приемника-декодера;

фиг.3 - пульт дистанционного управления для навигации в Web-браузере;

фиг.4 - схема, иллюстрирующая работу виртуальной клавиатуры;

фиг.5 - типичное распределение символов по клавишам виртуальной клавиатуры;

фиг.6 - примеры виртуальной клавиатуры; и

фиг.7 - типичные размеры виртуальной клавиатуры.

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

На фиг.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). Термин "смарт-карта", как он применяется в данном тексте, охватывает (но не ограничиваясь ими!) любое устройство в виде карты, содержащее микросхему, или предмет с аналогичными функциями и рабочими характеристиками, снабженный, например, микропроцессором и/или запоминающим устройством. Этот термин также охватывает устройства, имеющие отличную от карты физическую форму, например устройства в форме ключа, подобные тем, которые часто используются в системах с телевизионными декодерами.

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

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

Интерактивная система

Интерактивная система 16, также подключенная к мультиплексору 4 и приемнику-декодеру 13 и также размещенная частично в центре вещания и частично в приемнике-декодере, позволяет конечному пользователю в интерактивном режиме взаимодействовать с различными приложениями через обратный модемный канал 17. Этот обратный модемный канал может также использоваться для обмена информацией, используемого системой 15 условного доступа.

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

Например, интерактивная система 16 позволяет конечному пользователю покупать товары из экранного каталога, просматривать местные новости и карты погоды по запросу, а также играть в игры с использованием своего телевизора.

Интерактивная система 16 содержит, в общем, четыре основных элемента:

- средство 4004 разработки, расположенное в центре вещания или в ином месте, позволяющее провайдеру вещания создавать, разрабатывать, отлаживать и тестировать приложения;

- сервер 4006 приложений и данных, расположенный в центре вещания и соединенный со средством 4004 разработки, позволяющий провайдеру вешания подготавливать, заверять аутентичность и форматировать приложения и данные для передачи в мультиплексор-скремблер 4, для введения в транспортный поток MPEG-2 (обычно в его приватную секцию) и вещания конечному пользователю;

- виртуальную машину, включающую в себя подсистему поддержки выполнения (run-time engine - RTE) 4008, представляющую собой исполняемый код, установленный на приемнике-декодере 13, принадлежащем конечному пользователю или арендуемом им, позволяющий конечному пользователю принимать, проверять аутентичность, декомпрессировать и загружать приложения в оперативную память декодера 13 для выполнения. Подсистема 4008 также выполняет резидентные приложения общего назначения. Подсистема 4008 является независимой от аппаратного обеспечения и операционной системы; и

- модемный обратный канал 17 между приемником-декодером 13 и сервером 4006 приложений и данных, позволяющий передавать сигналы, приказывающие серверу 4006 вставлять данные и приложения в транспортный поток MPEG-2 по запросу конечного пользователя.

Упомянутая система интерактивного телевидения использует в своей работе "приложения", которые управляют функциями (операциями) приемника-декодера и различными устройствами, содержащимися в нем. Приложения представлены в подсистеме 4008 как "файлы ресурсов". "Модуль" - это набор файлов ресурсов и данных. "Том памяти" приемника-декодера - это память для модулей. Модули могут загружаться в приемник-декодер 13 из транспортного потока MPEG-2.

Приемник-декодер

Ниже со ссылками на фиг.2а в терминах функциональных блоков будут описаны различные элементы приемника-декодера 13.

Приемник-декодер 13, который может быть, например, цифровой приставкой для телевизора (STB), содержит центральный процессор 220, снабженный соответствующими элементами памяти и выполненный с возможностью приема данных от последовательного интерфейса 221, параллельного интерфейса 222, модема (подключенного к модемному обратному каналу 17, показанному на фиг.1а) и переключающих контактов 224 на передней панели декодера.

Приемник-декодер дополнительно выполнен с возможностью приема входных сигналов от инфракрасного пульта 225 дистанционного управления через блок 226 управления, а также снабжен двумя устройствами 227, 228 считывания смарт-карт, выполненными с возможностью считывания соответственно банковской или абонентской смарт-карт 242, 240. Устройство 228 считывания абонентских смарт-карт взаимодействует с установленной абонентской картой 240 и блоком 229 условного доступа, чтобы передать необходимое управляющее слово в демультиплексор-десклемблер 230, чтобы сделать возможным дескремблирование зашифрованного вещаемого сигнала. Декодер также содержит обычный тюнер 231 и демодулятор 232 для приема и демодулирования переданных со спутника данных перед их фильтрацией и демультиплексированием блоком 230.

Обработку данных в приемнике-декодере осуществляет, в общем, центральный процессор 220. На фиг.2b изображена архитектура программного обеспечения центрального процессора 220 приемника-декодера. Как показано на фиг.2b, эта программная архитектура включает в себя подсистему поддержки выполнения 4008 (RTE), менеджер 4068 устройств и множество устройств 4062 и драйверов 4066 устройств для выполнения одного или нескольких приложений 4056.

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

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

Приложения хранятся в ячейках памяти в приемнике-декодере 13 и представляются в виде файлов ресурсов. К файлам ресурсов могут, например, относиться файлы библиотек описаний графических объектов, файлы библиотек блоков переменных, файлы последовательностей команд, файлы приложений и файлы данных, как описано более подробно в вышеупомянутых патентных описаниях.

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

Архитектура программного обеспечения

Можно рассматривать центральный процессор 220 как имеющий основной своей функцией обеспечение работы подсистемы 4008 поддержки выполнения, являющейся частью виртуальной машины 4007. Она с одной стороны (стороны "высокого уровня") соединена с приложениями, а с другой стороны (стороны "низкого уровня") - через различные промежуточные логические устройства, описываемые ниже, с аппаратными средствами 4061 приемника-декодера, включающими в себя различные порты, упомянутые выше (т.е., например, последовательный интерфейс 221, параллельный интерфейс 222, модем 223 и блок 226 управления).

Обратимся к фиг.2b; с виртуальной машиной 4007 связаны различные приложения 4057; некоторые из приложений, которые используются относительно часто, могут быть более или менее постоянно резидентными в системе, как обозначено позицией 4057, тогда как другие приложения будут загружаться в систему, например, из потока данных MPEG или из других портов, по необходимости.

Помимо подсистемы 4008 поддержки выполнения, виртуальная машина 4007 включает в себя функции 4006 резидентной библиотеки, в том числе набор инструментальных средств 4058. В библиотеку входят различные функции на языке С, используемые подсистемой 4008, в том числе используемые для обработки данных, например сжатия, декомпрессии или сравнения структур данных, рисования линий и т.п. Библиотека 4006 содержит также информацию об аппаратно-программном обеспечении (firmware) приемника-декодера 13, такую как номера версий аппаратного и программного обеспечения и имеющийся объем ОЗУ, а также функцию, используемую при загрузке нового устройства 4062. Возможна загрузка функций в библиотеку с сохранением во флэш-памяти или ПЗУ.

Подсистема 4008 поддержки выполнения соединена с менеджером 4068 устройств, соединенным с множеством устройств 4062, которые соединены с драйверами 4060 устройств, которые, в свою очередь, соединены с портами или интерфейсами. В широком смысле драйвер устройства можно считать определяющим логический интерфейс, так что два различных драйвера могут быть соединены с общим физическим портом. Устройство обычно подключается к нескольким драйверам устройств; если какое-либо устройство подключается к одному драйверу, такое устройство обычно реализуется таким образом, чтобы сочетать в себе все функции, необходимые для осуществления передачи данных, так что отпадает необходимость в отдельных драйверах устройств. Некоторые устройства могут обмениваться данными между собой.

В программной архитектуре приемника-декодера 13 каждая функция приемника-декодера 13 представлена как устройство 4062. Устройства могут быть либо локальными, либо удаленными. К локальным устройствам 4064 относятся смарт-карты, европейский унифицированный соединитель "СКАРТ" (SCART), модемы, последовательный и параллельный интерфейсы, проигрыватели MPEG видео- и аудиоинформации и средство извлечения MPEG-секций и MPEG-таблиц. Удаленные устройства 4066, реализованные в удаленном месте, отличаются от локальных устройств тем, что порт и процедуру должен определять менеджер системы или разработчик, а не устройство и драйвер устройства, разработанные и предоставленные изготовителем приемника-декодера.

Подсистема 4008 поддержки выполнения работает под управлением микропроцессора и общего интерфейса прикладных программ (API). Их устанавливают в каждый приемник-декодер 13 так, что все приемники-декодеры 13, с точки зрения приложений, идентичны.

Подсистема 4008 выполняет приложения 4056 на приемнике-декодере 13. Она выполняет интерактивные приложения 4056 и получает события извне приемника-декодера 13, отображает графику и текст, обращается к устройствам с запросами на предоставление услуг и для некоторых определенных вычислений использует функции библиотеки 4006, соединенной с подсистемой 4008.

Подсистема 4008 поддержки выполнения представляет собой исполняемый код, устанавливаемый в каждый приемник-декодер 13, и содержит интерпретатор для интерпретации и выполнения приложений. Подсистема 4008 совместима с любой операционной системой, включая однозадачную операционную систему (такую как MS-DOS). Подсистема 4008 основывается на применении блоков последовательной обработки (автоматов) (которые принимают различные события, такие как нажатие клавиши, для выполнения в ответ различных действий) и содержит собственный планировщик для управления очередями событий различных аппаратных интерфейсов. Она также управляет отображением графики и текста. Блок последовательной обработки (process sequencer unit) содержит набор групп действий. Каждое событие переводит блок последовательной обработки из его текущей группы действий в другую группу действий в зависимости от характера события и инициирует выполнение им действий этой новой группы действий.

Подсистема 4008 содержит загрузчик кода для загрузки приложений 4056 в память приемника-декодера. Для обеспечения оптимального использования ресурсов в ОЗУ или флэш-память загружается только необходимый код. Загруженные данные проверяются с использованием процедуры проверки аутентичности для того, чтобы предотвратить какие-либо изменения в приложении 4056 или выполнение несанкционированного приложения. Подсистема 4008 также содержит декомпрессор. Поскольку код приложения (разновидность промежуточного кода) сжат для экономии места и ускорения загрузки данных из MPEG-потока или через встроенный модем приемника-декодера, этот код должен быть декомпрессирован перед его загрузкой в ОЗУ. Подсистема 4008 также включает в себя интерпретатор для интерпретации кода приложения для обновления значений различных переменных и определения изменений состояния, а также блок проверки на наличие ошибок.

Архитектура приемника-декодера

Приемник-декодер имеет пять программных уровней, организованных таким образом, чтобы программное обеспечение можно было реализовать в любом приемнике-декодере и с любой операционной системой. Как показано на фиг.2с, этими различными программными уровнями являются уровень 250 приложений, уровень 252 интерфейса прикладных приложений (уровень API), уровень 254 виртуальной машины, уровень 256 устройств и уровень 258 системного программного/аппаратного обеспечения.

Уровень 250 приложений охватывает приложения, которые либо являются резидентными в приемнике-декодере, либо загружаются в него. Это могут быть используемые пользователями интерактивные приложения, написанные, например, на Java, HTML, MHEG-5 или других языках, или это могут быть приложения, используемые приемником-декодером для выполнения таких приложений. Этот уровень основан на множестве API-интерфейсов, обеспечиваемых уровнем виртуальной машины. Эта система позволяет загружать приложения во флэш-память или ОЗУ приемника-декодера оперативно (по мере необходимости) или по требованию. Код приложения может передаваться в сжатом или несжатом виде с использованием таких протоколов, как DSMCC, NSF или других протоколов.

Интерактивные приложения - это приложения, с которыми пользователь взаимодействует, например, чтобы получить товары, услуги или сервисы, такие как электронный гид по программам (EPG), приложения для осуществления банковских операций (telebanking) и игры.

Для этих загружаемых приложений и данных предусматриваются разнообразные меры безопасности, как-то:

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

- менеджер безопасности ограничивает доступ приложений к различным областям памяти, гарантируя тем самым целостность данных;

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

Для управления интерактивными приложениями используются следующие резидентные приложения:

- Загрузка. Загрузочное приложение 260 - это первое приложение, запускаемое после включения приемника-декодера. Загрузочное приложение запускает различные "менеджеры" виртуальной машины, первым из которых является менеджер 262 приложений.

- Менеджер приложений. Менеджер 262 приложений управляет интерактивными приложениями, выполняемыми в приемнике-декодере, т.е. запускает, завершает, приостанавливает, возобновляет, обрабатывает события и организует обмен данными между приложениями. Он позволяет одновременно выполнять несколько приложений и таким образом участвует в распределении ресурсов между ними. Это приложение полностью прозрачно для пользователя.

- Настройка. Предназначение приложения 264 настройки состоит в конфигурировании приемника-декодера, главным образом при первом его использовании. Оно выполняет такие действия, как сканирование частот для нахождения телевизионных каналов, установка даты и времени, установка пользовательских параметров-предпочтений и т.п. однако приложение настройки может быть использовано пользователем в любое время для изменения конфигурации приемника-декодера.

- Переключение каналов. Приложение 268 переключения каналов используется для переключения каналов с использованием клавиш "на программу вверх", "на программу вниз" и цифровых клавиш. При использовании другой формы переключения каналов, например с помощью баннерного (пилотного) приложения (banner, pilot application), выполнение приложения переключения каналов завершается.

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

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

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

Уровень 254 виртуальной машины состоит из языковых интерпретаторов и различных модулей и систем. Он включает в себя все необходимое для приема и выполнения в приемнике-декодере интерактивных приложений, включая следующее:

- Языковые интерпретаторы. Для обеспечения соответствия типу приложений, которые будут считываться, могут устанавливаться различные интерпретаторы, в том числе интерпретаторы Java, HTML, MHEG-5 и другие.

- Подсистема служебной информации (SI-подсистема). SI-подсистема загружает и контролирует обычные DVB-или PSIP-таблицы и помещает их в кэш. Она обеспечивает доступ к этим таблицам-приложениям, которым нужны содержащиеся в этих таблицах данные.

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

- Менеджер памяти. Этот модуль управляет доступом к памяти. Он также при необходимости автоматически сжимает данные в памяти и выполняет автоматическую "сборку мусора".

- Менеджер событий. Этот модуль позволяет обрабатывать события в соответствии с их приоритетом. Он управляет таймером и перехватом событий и позволяет приложениям посылать события друг другу.

- Динамический компоновщик. Этот модуль позволяет осуществлять преобразование адресов при использовании собственных функций Java, загружает собственные методы Java-класса, загруженного в ОЗУ, и позволяет осуществлять вызовы к ПЗУ из загруженного собственного кода.

- Загрузчик. Этот модуль использует автоматическую загрузку данных из удаленной DSMCC-карусели или через протокол NFS, при этом доступ к загруженным файлам производится таким же образом, как и к резидентным. Предусматриваются также чистка памяти, сжатие и проверка подлинности.

- Менеджер классов. Этот модуль загружает классы и решает любые проблемы, связанные со ссылками на классы.

- Файловая система. Этот модуль компактен и оптимизирован для управления иерархической файловой системой с множеством различных томов - ПЗУ, флэш-память, ОЗУ и DSMCC-память. Гарантируется целостность флэш-памяти при любых непредвиденных обстоятельствах.

- Менеджер безопасности. Этот модуль проверяет подлинность (аутентичность) приложений и контролирует доступ приложений к критически "уязвимой" памяти и другим участкам приставки для телевизора.

- Графическая система. Эта система является объектно-ориентированной и оптимизированной. Она осуществляет, в том числе, управление графическими окнами и объектами, а также включает в себя подсистему работы с векторными шрифтами с многоязыковой поддержкой.

Более того, поддерживается предложенная Советом по цифровым аудиовизуальным технологиям (DAVIC) модель уведомления о ресурсах (resourse notification model), что обеспечивает эффективное управление ресурсами клиента.

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

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

В приведенном ниже примере описывается вариант осуществления настоящего изобретения, используемый в Web-браузере приемника-декодера. Структура и работа такого Интернет-браузера более подробно обсуждаются в Европейской патентной заявке 00300832.3.

Пользователь использует Интернет-браузер с телевизором и использует устройство управления телевизором (или подобное устройство) для навигации в браузере.

На фиг.3 показан пример устройства управления, с помощью которого пользователь может перемещаться между объектами на экране (т.е. осуществлять навигацию), выделять объекты и выбирать объекты. В данном примере используемым устройством управления является пульт 1180 дистанционного управления для телевизора. Для ввода данных используются цифровые клавиши 1181; для навигации по экрану используется панель 1182 управления курсором. Панель 1182 управления курсором содержит клавишу "вверх" 1183, клавишу "вниз" 1184, клавишу "влево" 1185 и клавишу "вправо" 1187. Панель 1182 управления курсором имеет также клавишу выбора 1186, которая используется для выбора объектов на экране.

Клавиша "вверх" 1183 и клавиша "вниз" 1184 используются для перемещения фокуса, в данном примере - подсветки, вверх и вниз. После подсветки объекта его можно выбрать с помощью клавиши выбора 1186.

Такой приемник-декодер обеспечивает возможность работы с Интернет и чтения электронной почты.

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

Графическая студия для моделирования навигатора представляет собой совокупность или набор элементарных графических объектов. Каждый графический объект является наглядным представлением на телевизионном экране одной из функций навигатора. Каждая функция навигатора может быть представлена графическим объектом, или последовательностью изображений графического объекта (анимированным изображением), или набором графических объектов (например, изображением на фоне экрана или изображением на фоне диалогового окна, на которое могут быть наложены другие графические объекты). Существует два внутренних формата изображений: MPEG-2 и PIXMAP-GRL.

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

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

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

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

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

Формат изображений PIXMAP-GLR может быть получен путем преобразования из любых других графических форматов (таких как BMP, JPEG, GIF, PNG и т.д.) с использованием известных способов.

Упомянутое разбиение графического объекта на графические элементарные объекты (элементы) производится в соответствии с некоторой матрицей (например, 3×3, 4×4 или 1×4), выбор которой зависит от типа отображаемого объекта.

Максимальный размер экрана составляет 720 пикселей в ширину и 576 пикселей в высоту. Чтобы гарантировать возможность отображения на любом телевизоре низшего ценового класса, необходимо ограничить эти размеры до 592 пикселей в ширину и 480 пикселей в высоту. Чтобы оптимально использовать возможности телевизоров высокого ценового класса, пользователю предоставляется возможность регулировки размеров экрана. Для Интернет-навигатора страницы сайтов обычно имеют размеры 600 пикселей в ширину и 400 - в высоту.

Фокус может быть представлен различными способами: выделением прямоугольником для графических объектов; выделяющая подсветка (другим цветом) фона графического объекта или выделение контура графического объекта цветом.

Нормальное состояние (не имеющий фокуса, активный, без нажатия клавиши) является основным состоянием графического объекта.

Запрещенное состояние графического объекта может быть представлено различными способами: контур объекта показан серым цветом (или виньетирован); на соответствующий графический объект наложен отчетливый запрещающий знак; фон объекта изменен на одноцветный; объект невидим.

"Нажатое" состояние графического объекта - это графическое представление имеющего фокус объекта после нажатия клавиши, но до отпускания клавиши. Это представление может быть инверсным изображением объекта или может быть таким же, как и представление объекта, имеющего фокус.

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

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

Таблица 1

Элементарный графический объектФункцияТипКомментарии
BTN_Flèche_hautПодняться на строку вверхНажимаемое и ненажимаемое PNG-изображениеНажимаемые изображения демонстрируют: "нажатое", "ненажатое" и запрещенное состояния. Ненажимаемые изображения демонстрируют: запрещенное и нормальное состояния.
BTN_Flèche_basОпуститься на строку внизНажимаемое и ненажимаемое PNG-изображениеНажимаемые изображения демонстрируют: "нажатое", "ненажатое" и запрещенное состояния. Ненажимаемые изображения демонстрируют: запрещенное и нормальное состояния.
BTN_Flèche_droiteПереместить курсор впередНажимаемое и ненажимаемое PNG-изображениеНажимаемые изображения демонстрируют: "нажатое", "ненажатое" и запрещенное состояния. Ненажимаемые изображения демонстрируют: запрещенное и нормальное состояния.
BTN_Flèche_gaucheПереместить курсор назадНажимаемое и ненажимаемое PNG-изображениеТри нажимаемых изображения: "нажатое", "ненажатое" и запрещенное состояния Два ненажимаемых изображения: запрещенное и нормальное состояния

BTN_Page_hautПереместить курсор вверх на несколько строк (на полстраницы или на предыдущую страницу)Нажимаемое и ненажимаемое PNG-изображениеТри нажимаемых изображения: "нажатое", "ненажатое" и запрещенное состояния Два ненажимаемых изображения: запрещенное и нормальное состояния
BTN_Page_basПереместить курсор на несколько строк вниз (на полстраницы или на следующую страницу)Нажимаемое и ненажимаемое PNG-изображениеТри нажимаемых изображения: "нажатое", "ненажатое" и запрещенное состояния Два ненажимаемых изображения: запрещенное и нормальное состояния
IMG_Telecommande_filigraneФилигрань (контур клавиш) пульта дистанционного управления для упрощенного ввода с использованием виртуальной клавиатурыКонтурКонтур пульта дистанционного управления накладывается на изображение виртуальной клавиатуры, чтобы клавиши пульта дистанционного управления визуально совпадали с расположением клавиш на виртуальной клавиатуре. Быстрый доступ с использованием зрительная памяти, но не "документальной" памяти. Контуры клавиш пульта дистанционного управления не содержат ни букв, ни символов.

BKG_Clavier_virtuelВиртуальная клавиатура для упрощенного ввода с использованием пульта дистанционного управленияФоновое изображение клавиатурыВиртуальная клавиатура отображается на экране подобно клавиатуре ПК, но без изображений букв или цифр на клавишах. Буквы на клавиши размещает программа: это позволяет определять универсальную международную многоязыковую клавиатуру (с европейским, американским или иным расположением клавиш). Контурное изображение пульта дистанционного управления накладывается на клавиатуру и перемещается вместе с фокусом: благодаря этому визуально отображается как нажатие кнопки на пульте дистанционного управления соответствует нажатию клавиши на клавиатуре без необходимости предварительно запоминать соответствие между ними. Клавиша "ESCape" убирает виртуальную клавиатуру. Некоторые клавиши служат в качестве функциональных: "http://www", ".fr", ".corn", ".org" и т.п., а другие имеют определенные функции: "Enter", "Backspace", "Del" и т.д.

Таблица 2

Функции навигатора
ФункцияОписаниеАктивируетсяГрафические объектыКомментарии
Работа с виртуальной клавиатуройВиртуальная клавиатура для упрощенного ввода с использованием пульта дистанционного управленияКогда фокус имеет объект, допускающий редактированиеBKG_Clavier_Virtuel IMG_Telecommande_filigraneВиртуальная клавиатура отображается на экране подобно клавиатуре ПК, но без изображений букв или цифр на клавишах. Буквы на клавиши размещает программа: это позволяет определять универсальную международную многоязыковую клавиатуру (с европейским, американским или иным расположением клавиш). Контурное изображение пульта дистанционного управления накладывается на клавиатуру и перемещается вместе с фокусом: благодаря этому визуально отображается как нажатие кнопки на пульте дистанционного управления, соответствует нажатию клавиши на клавиатуре без необходимости предварительно запоминать соответствие между ними. Клавиша "ESCape" убирает виртуальную клавиатуру. Некоторые клавиши служат в качестве функциональных: "http://www", ".fr", ".corn", ".org" и т.п., а другие имеют определенные функции: "Enter", "Backspace", "Del" и т.д.

Опишем теперь Java API для Web-браузера.

Ниже приведен перечень нескольких Java-пакетов (package), которые используются в декодере на уровне приложения-навигатора. Этот перечень разделен на две части: классы AWT (Abstract Window Toolkit) пакета JDK 1.1 и интерфейсные Java-классы различных сервисов, написанных на чистом С-коде.

Пакет навигатора, называемый пакетом браузера, объединяет в себе различные пакеты: пакет "browser.drawer", обеспечивающий сервисы, позволяющие считывать в память HTML-документ и реализующие навигацию в браузере документов; и пакет "mediawebtv", позволяющий устанавливать соединение с Интернет с аутентификацией пользователей.

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

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

Оптимально кнопка представляет собой прямоугольную или квадратную зону (например, 32×32 пикселя). Когда графический курсор входит в некоторую зону, эта зона (окно) принимает фокус (ср. с функцией "EnterNotify(WindowId)").

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

Когда указатель мыши покидает прямоугольную или квадратную зону кнопки, эта зона теряет фокус (ср. LeaveNotify)WindowId)).

Ниже, со ссылками на фиг.4-7, будет более подробно рассмотрена виртуальная клавиатура.

На фиг.4 схематически показано, как видимая на данный момент виртуальная клавиатура (1501) отображается в фоновой "сетке" виртуальных клавиатур (1501, 1506).

На фиг.5 показано типичное распределение символов по клавишам виртуальной клавиатуры.

На фиг.6 показаны используемые для этой виртуальной клавиатуры изображения, где фокус имеет соответственно первый (1545) и второй (1546) цифровые блоки (также показаны два различных типа пультов дистанционного управления - 1542 и 1543).

На фиг.7 показана типичная компоновка виртуальной клавиатуры с указанием типичных размеров.

Во-первых, виртуальная клавиатура задумана как средство, не зависимое от приложения, в котором оно используется. Соответственно, она может использоваться в приложении Web-браузера ("WebBrowser") и, равным образом, в почтовой программе ("Mail"). Более того, ее "внешний вид" полностью независим от "внешнего вида" приложения, с которым она используется.

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

Виртуальная клавиатура, видимая на экране (1501), образована тремя блоками (группами) из десяти кнопок каждая (представляющими три цифровых блока пульта дистанционного управления), расположенными рядом (1502, 1503, 1504). Пользователь может передать фокус (1505) от одного блока другому с помощью клавиш со стрелками пульта дистанционного управления. После выбора некоторого блока нажатие клавиши, входящей в цифровой блок пульта дистанционного управления, вводит соответствующий символ, нанесенный на виртуальной клавиатуре.

Пользователь может также использовать клавиши "стрелка вверх" и "стрелка вниз". Это выводит на экран такую же виртуальную клавиатуру, но с другими символами на клавишах (1506). Таким образом, перебирая набор из 5 виртуальных клавиатур, пользователь может отобразить все символы с клавиатуры западного компьютера. Существует также возможность добавления других клавиатур при возникновении такой необходимости.

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

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

Некоторые кнопки имеют важные специальные функции:

- Кнопка "ОК" на пульте дистанционного управления для подтверждения текущего выбора (если данное поле имеет только одну строчку, символ ¶ (1521) также является подтверждающим или, в альтернативном варианте, он может вообще не вызывать никакого действия; в противном случае, он соответствует только возврату каретки).

- Кнопка отмены "Cancel" (1522) на виртуальной клавиатуре служит для выхода из данной сервисной программы без подтверждения (изменения, сделанные после открытия клавиатуры, будут потеряны).

- Кнопка "Backspace" (1523) на виртуальной клавиатуре удаляет последний введенный символ.

- Кнопки "стрелка вверх", "стрелка вниз", "стрелка влево" и "стрелка вправо" предназначены для перемещения по области редактирования.

- Кнопка табуляции ("Tab") (1520) на виртуальной клавиатуре за один раз вставляет устанавливаемое количество пробелов (по умолчанию - четыре).

Клавиатура всегда находится в режиме "вставки".

Пример клавиатуры представлен на фиг.6 и подробнее рассматривается ниже.

С помощью пяти клавиатур (5×3), показанных на фиг.5, и двух шрифтов, установленных для приложения WebBrowser (Arialweb и Courier), можно охватить все символы традиционной клавиатуры. Размеры клавиатуры на экране составляют 272 пикселя в ширину на 184 пикселя в высоту.

Виртуальная клавиатура и функциональные связи, задействуемые при ее использовании в различных приложениях, реализованы в рамках пакета "canalplus.virtualkbd".

В этот пакет входят, в том числе, классы "MhwVirtualKbd" (класс графического описания виртуальной клавиатуры и описания поведения виртуальной клавиатуры), "MhwVkText Field" (класс, производный от "java.awt.Text Field", который позволяет виртуальной клавиатуре, созданной из основного приложения, также использующего класс TextField, работать с событиями) и "MhwTextArea" (класс, унаследованный от "java.awt.TextArea", который позволяет виртуальной клавиатуре, созданной из основного приложения, использующего класс TextArea, работать с событиями).

Опишем несколько подробнее класс "MhwVirtualKbd".

Конструктор класса "MhwVirtualKbd" определен как "private". Соответственно, при запуске основного приложения, которому может понадобиться использовать виртуальную клавиатуру (например, при отсутствии физической клавиатуры), может быть создана только одна единственная виртуальная клавиатура. Задача состоит в том, чтобы предоставить клавиатуру, сконфигурированную специально для текущего приложения и появляющуюся при вводе пользователем данных в текстовое поле (однострочное или многострочное).

После создания клавиатуры задаются четыре основные (статические) переменные, которые можно конфигурировать:

- "предок": контейнер, "предок" виртуальной клавиатуры, который должен существовать на момент создания клавиатуры. Он задается с использованием метода "setParent", который возвращает значение "NullPointerException", если переданный в качестве аргумента "предок" - "null".

- "описательный файл": ASCII-файл, который описывает клавиатуру как в отношении графики, выводимой позади изображений, что касается различных "клавиатур", получаемых при использовании виртуальной клавиатуры, так и в отношении обозначений, наносимых на клавиши. Символы указываются их unicode-кодом. Имя этого описательного файла может быть задано с использованием метода "setScreensFile".

- "количество экранов": количество "цифровых блоков" (групп цифровых клавиш), инициализируемых и используемых виртуальной клавиатурой. Это количество, задаваемое с помощью метода "setScreensNumber", соответствует количеству клавиатур, характеристики которых считываются из упомянутого выше описательного файла.

- "исходные координаты": это координаты левого верхнего угла фонового изображения клавиатуры в контейнере-предке (описанном выше). Они задаются с использованием метода "setCoordInit".

После того как клавиатура будет создана, можно решить, использовать ее или нет, с помощью метода "getInstance", который находит клавиатуру для текущего приложения, если таковая существует (если виртуальная клавиатура для данного приложения еще не существует и если приложение использует таковую, метод "getInstance" создает виртуальную клавиатуру, используя для этого переменные [четыре ранее описанные], которые нужно будет задать).

Опишем теперь обработку событий.

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

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

Клавиши со стрелками

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

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

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

Возврат на одну позицию со стиранием (Backspace): "<" (1523): при нажатии на пульте дистанционного управления соответствующей этому символу кнопки стирается символ, находящийся непосредственно слева от положения курсора в текущем текстовом поле.

Табуляция (Tab): "≫" (1520): при нажатии на пульте дистанционного управления соответствующей этому символу кнопки в текущее положение курсора вставляется установленное количество пробелов ("), по умолчанию - четыре.

Ввод (Enter): "¶" (1521): при нажатии на пульте дистанционного управления соответствующей этому символу кнопки в положении курсора вставляется "перевод строки". Собственно говоря, если текущее текстовое поле является экземпляром класса "MhwVkText Field", т.е. полем с лишь одной редактируемой строкой, "удар" по этой кнопке либо не будет иметь никаких последствий, либо подтвердит ввод в это поле. Если же, напротив, это текстовое поле является экземпляром класса "MhwVkTextArea", то оно будет состоять из нескольких редактируемых строк и этот символ вызовет "перевод строки" (если же курсор установлен на последней редактируемой строке, "удар" по этой кнопке не будет иметь никаких последствий).

Отмена (Cancel): (1522): при нажатии на пульте дистанционного управления соответствующей этому символу кнопки все изменения, сделанные в текущем текстовом поле после открытия виртуальной клавиатуры, отменяются. Другими словами, его содержимое вновь становится таким, каким оно было до внесения упомянутых изменений, и производится "выход" из виртуальной клавиатуры.

Стрелка влево: при нажатии на пульте дистанционного управления соответствующей этому символу кнопки курсор в текущем текстовом поле перемещается на одну позицию влево. Если курсор уже находится в "нулевом" положении (дальнейшее перемещение влево невозможно), нажатие этой кнопки не имеет никаких последствий.

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

Стрелка вверх: при нажатии на пульте дистанционного управления соответствующей этому символу кнопки курсор в текущем текстовом поле перемещается на одну позицию вверх. Если курсор уже находится на первой строке текстового поля (или если в текущем текстовом поле только одна строка - класс MhwVkTextField), нажатие этой кнопки не имеет никаких последствий.

Стрелка вниз: при нажатии на пульте дистанционного управления соответствующей этому символу кнопки курсор в текущем текстовом поле перемещается на одну позицию вниз. Если курсор уже находится на последней строке текстового поля (или если в текущем текстовом поле только одна строка - класс MhwVkTextField), нажатие этой кнопки не имеет никаких последствий.

Метод "find Location" определяет размещение виртуальной клавиатуры на экране, стремясь свести к минимуму "обрезанную" поверхность.

Класс "MhwVkTextField" - это просто развитие класса "TextField" из пакета "java.awt". Дополнительно он поддерживает булево значение, которое указывает на использование (или не использование) виртуальной клавиатуры.

Конструкторы точно такие же, как конструкторы класса "TextField" в пакете "java.awt", с простым дополнительным аргументом: булевым значением, указывающим на использование виртуальной клавиатуры.

Если этим булевым значением является "true", создается "базовый" экземпляр класса "TextField" и в то же время с использованием метода "add Key Listener" также добавляется "прослушиватель" (listener) для виртуальной клавиатуры, доступный в текущем приложении. В противном случае создается "нормальный" TextField.

Когда TextField имеет фокус, если пользователь нажимает "ОК" и упомянутое булево значение указывает, что виртуальная клавиатура используется, виртуальная клавиатура выводится на экран и получает фокус. Она обрабатывает все события и позволяет редактировать текстовое поле. Если пользователь снова нажимает "ОК", этим подтверждается содержащийся в нем текст и клавиатура возвращает фокус. Если использование виртуальной клавиатуры не предусмотрено (булево значение - "false"), "поведение" этого "TextField" будет таким же, как поведение стандартного TextField из пакета "java.awt".

Класс "MhwVkTextArea" - это просто развитие класса "TextArea" из пакета "java.awt". Дополнительно он поддерживает булево значение, которое указывает на использование (или неиспользование) виртуальной клавиатуры.

Конструкторы точно такие же, как конструкторы класса "TextArea" в пакете "java.awt", с простым дополнительным аргументом: булевым значением, указывающим на использование виртуальной клавиатуры.

Если этим булевым значением является "true", создается "базовый" экземпляр класса "TextArea" и в то же время с использованием метода "addKeyListener" также добавляется "прослушиватель" (listener) для виртуальной клавиатуры, доступный в текущем приложении. В противном случае создается "нормальный" TextArea.

Когда TextArea имеет фокус, если пользователь нажимает "ОК" и упомянутое булево значение указывает, что виртуальная клавиатура используется, виртуальная клавиатура выводится на экран и получает фокус. Она обрабатывает все события и позволяет редактировать текстовое поле. Если пользователь снова нажимает "ОК", этим подтверждается содержащийся в нем текст и клавиатура возвращает фокус. Если использование виртуальной клавиатуры не предусмотрено (булево значение - "false"), "поведение" этого "TextArea" будет таким же, как поведение стандартного TextArea из пакета "java.awt".

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

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

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

В электронном гиде по программам (EPG) можно было бы применять подобные способы для интерактивного просмотра и отображения различных каналов, тем, моментов времени и дат.

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

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

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

Термин "кнопка-флажок" ("check box") может обозначать графический объект любой формы, например круглый, который может отображать различные состояния, предпочтительно два состояния, соответствующие состояниям "установлен" и "не установлен" (но возможно и более двух состояний), и который может изменять свое состояние единообразным образом при нажатии на нем или при его выборе пользователем. Состояние "установлен" может указываться птичкой, крестиком или другим декоративным символом кнопки-флажка.

Для простоты использования приведенные ниже используемые в настоящей заявке термины имеют следующие предпочтительные значения:

HTML: язык, описывающий документы, которыми обмениваются в Интернет. Документ может включать в себя ссылки на сайты, форматированную информацию, звуки и изображения и т.п.

HTTP: протокол для обмена данными между Интернет-серверами, на которых хранятся HTML-документы, и приложением-навигатором, отображающим эти HTML-документы.

MPEG-2: способ кодирования динамических изображений и звука в реальном времени.

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

Proxy-сервер: Размещенное на сервере приложение, обеспечивающее безопасность при соединении с Интернет, а также буферизирующее HTTP- и FTP-запросы.

Сеанс: Отображение соединения или приложения некоторого типа в памяти на данный момент времени.

URL: адрес, используемый для нахождения файла или ресурсов в Интернет. Ссылка на сайт указывает адрес ресурса, содержащегося в данной Web-странице.

WWW: Интернет-сеть, в которой используются локальные или удаленные документы. Web-документ - это Web-страница, и ссылки на этой странице позволяют осуществлять перемещение (навигацию) между различными страницами и между различными объектами, независимо от того, находятся ли те в локальной или удаленной сети.

GUI: графический пользовательский интерфейс.

WGT: набор инструментальных средств для создания виджетов (Widget Toolkit).

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

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

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

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

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

Используемый в данном тексте термин "компьютерная система" может быть в равной мере заменен на "компьютер", "система", "оборудование", "устройство", "машина" и подобные термины.

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

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

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

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

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

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

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

6. Устройство по п.5, включающее в себя приемник-декодер, предпочтительно приемник-декодер цифрового или аналогового телевидения, предпочтительно предназначенный для использования с телевизором, или же включающее в себя мобильный телефон.

7. Приемник-декодер, содержащий устройство по любому из п.5 или 6.

8. Телевизионная система, включающая в себя приемник-декодер по п.7 и телевизор, выполненный с возможностью подключения к упомянутому приемнику-декодеру.

9. Телевизионная система, включающая в себя приемник-декодер по п.7 и телевизор, подключенный к упомянутому приемнику-декодеру.



 

Похожие патенты:

Изобретение относится к устройствам вычислительной техники, а именно к устройствам ввода/вывода информации в электронно-вычислительные машины (ЭВМ). .

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

Изобретение относится к вычислительной технике, в частности к способам ввода информации в ЭВМ. .

Изобретение относится к области вычислительной техники и может быть использовано для регистрации доменных имен с использованием национальных языков. .

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

Изобретение относится к области вычислительной техники и может быть использовано для ввода данных в ПЭВМ или в других устройствах с клавишным вводом данных. .

Изобретение относится к устройствам ввода. .

Изобретение относится к устройству ввода данных. .

Изобретение относится к вычислительной технике. .

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

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

Изобретение относится к клавиатуре, включающей левую и правую части, которая предназначена для использования с соответствующей рабочей стороны соответственно левой и правой кистью руки

Изобретение относится к переносному блоку для ввода буквенно-цифровых данных и/или функциональных команд в цифровое устройство

Изобретение относится к электронным аппаратам для хранения и/или передачи данных, в частности к устройствам для ввода указанных аппаратов

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

Изобретение относится к конструкции клавиатуры, как терминала ввода данных
Наверх