Спосіб і пристрій для введення даних при використанні gui-інтерфейсу
Формула / Реферат
1. Спосіб введення даних при використанні GUI-інтерфейсу за допомогою клавіш клавішної панелі, який включає такі стадії:
одночасне відображення, з використанням GUI-інтерфейсу, множини шаблонів функцій для згаданих клавіш клавішної панелі;
вибір одного із згаданих відображених шаблонів; і
використання клавіші клавішної панелі для введення даних, що відповідають функції, призначеній даній клавіші у вибраному шаблоні.
2. Спосіб за п. 1, який додатково включає відображення зображення згаданої клавішної панелі і переміщення згаданого зображення клавішної панелі відносно згаданих шаблонів, для вибору шаблона.
3. Спосіб за будь-яким із попередніх пунктів, який передбачає окрему прикладну програму і який включає операцію виклику цієї прикладної програми.
4. Спосіб за п. 3, який може настроюватися користувачем залежно від прикладної програми, з якої він викликається.
5. Спосіб за будь-яким із пп. 1-4, який здійснюється приймачем-декодером, у варіанті, якому віддається перевага, - приймачем-декодером цифрового або аналогового телебачення, у варіанті, якому віддається перевага, - призначеним для використання з телевізором, або ж який здійснюється мобільним телефоном.
6. Пристрій для введення даних при використанні GUI-інтерфейсу за допомогою клавіш клавішної панелі, який включає в себе:
засіб для одночасного відображення, з використанням GUI-інтерфейсу, множини шаблонів функцій для згаданих клавіш клавішної панелі;
засіб для вибору одного із згаданих відображених шаблонів; і
засіб для використання клавіші клавішної панелі для введення даних, що відповідають функції, призначеній даній клавіші у вибраному шаблоні.
7. Пристрій за п. 6, який додатково включає в себе засіб для відображення зображення згаданої клавішної панелі і засіб для переміщення згаданого зображення клавішної панелі відносно згаданих шаблонів.
8. Пристрій за п. 6 або 7, який входить до складу приймача-декодера, у варіанті, якому віддається перевага, - приймача-декодера цифрового або аналогового телебачення, у варіанті, якому віддається перевага, - призначеного для використання з телевізором, або ж який входить до складу мобільного телефона.
9. Приймач-декодер, який включає в себе пристрій за будь-яким із пп. 6-7.
10. Телевізійна система, яка включає в себе приймач-декодер за п. 9 і телевізор, виконаний з можливістю підключення до згаданого приймача-декодера.
11. Телевізійна система, яка включає в себе приймач-декодер за п. 9 і телевізор, підключений до згаданого приймача-декодера.
Текст
1. Спосіб введення даних при використанні GUI-інтерфейсу за допомогою клавіш клавішної панелі, який включає такі стадії: одночасне відображення, з використанням GUIінтерфейсу, множини шаблонів функцій для згаданих клавіш клавішної панелі; вибір одного із згаданих відображених шаблонів; і використання клавіші клавішної панелі для введення даних, що відповідають функції, призначеній даній клавіші у вибраному шаблоні. 2. Спосіб за п. 1, який додатково включає відображення зображення згаданої клавішної панелі і переміщення згаданого зображення клавішної панелі відносно згаданих шаблонів, для вибору шаблона. 3. Спосіб за будь-яким із попередніх пунктів, який передбачає окрему прикладну програму і який включає операцію виклику цієї прикладної програми. 4. Спосіб за п. 3, який може настроюватися користувачем залежно від прикладної програми, з якої він викликається. 2 (19) 1 3 Цей винахід стосується пристрою і способів введення даних, для відображення екрана для введення даних, приймача-декодера, телевізійної системи, програмного продукту для комп'ютера, носія інформації, який може бути прочитаний комп'ютером, і сигналу. Аспекти цього винаходу особливо (але не виключно!) застосовні в побутових електронних пристроях, таких як приймачідекодери для роботи з сигналами цифрового телебачення. У той же час аспекти цього винаходу також можуть знайти застосування в комп'ютерах загального призначення і іншому обладнанні. У даному тексті робиться посилання на подану в ЕПВ заявку №00300832.3 на ім'я компанії КАНАЛЬ+ Сос'єте Анонім, вміст якої включений до даного тексту шляхом посилання. Пристрої з цифровими клавішними панелями все частіше використовуються для виконання задач, що передбачають записування інформації, в тому числі текстової, з використанням цієї клавішної панелі. Наприклад, мобільні телефони використовуються для введення інформації в пам'ять телефону, наприклад, імен в телефонний довідник даного телефону, або для відправлення текстових повідомлень. Інші приклади включають в себе використання пульта дистанційного керування телевізором для набору тексту на телевізійному екрані, наприклад, при виході в Інтернет за допомогою телевізора, спорядженого приймачем-декодером. Звичайно такі пристрої мають лише цифрові клавішні панелі із клавішами для кожної цифри від 0 до 9, і, можливо, з кількома іншими клавішами, наприклад, "#" і "*". Для того щоб можна було ввести текст, потрібні щонайменше 26 додаткових клавішних функцій для букв алфавіту, і, крім того, потрібно ще кілька клавішних функцій для верхнього і нижнього регістрів (великі/рядкові букви), розділових знаків і символів, а також букв з апокрифічними значками (акцентованих букв). У відомих клавішних панелях, що використовуються для введення тексту, кожній клавіші присвоюються кілька функцій, і користувач послідовно і циклічно перебирає наявні функції, натискаючи клавішу кілька разів, причому ці різні функції звичайно відображаються на екрані. Коли користувач доходить до бажаної функції даної клавіші, ця функція обирається, звичайно шляхом натиснення клавіші вибору або ж переміщенням екранного курсора. Очевидно, що, коли необхідно забезпечити повний набір функцій, кожна клавіша клавішної панелі обов'язково пов'язана з кількома різними функціями. Наприклад, клавіша "2" клавішної панелі може мати такі функції: А, В, С, а, b, с, 2, Ä, ä, Á, á, Â, â, À, à, Å, å, Æ, æ, Æ і ç, і може додатково мати функції-символи. Кожного разу, коли потрібна конкретна буква, цифра або символ, цю клавішу доводиться натискати кілька разів. Абсолютно очевидно, що це може займати багато часу і є малоефективним. Крім того, конструктивні обмеження і фізичний розмір клавіш часто призводять до того, що не всі букви і символи, до яких можна одержати доступ за допомогою якої-небудь конкретної клавіші, можуть бути відображені для користувача. Таким чином, 77390 4 якщо користувач бажає ввести яку-небудь букву або символ, йому часто доводиться вдаватися до методу проб і помилок, щоб знайти клавішу, яка пов'язана з цією буквою або символом. Рішення, яке використовується для певних моделей мобільних телефонів, полягає в застосуванні QWERTY-клавіатури (клавіатури, що містить клавіші відповідно до американського стандарту розташування клавіш), але воно безперечно не є ідеальним для випадків, коли бажана невелика клавішна панель; клавіші повинні залишатися досить великими, щоб їх можна було використовувати. Відповідно до одного аспекту цього винаходу пропонується спосіб введення даних із використанням клавіш клавішної панелі, що включає операцію відображення зображення клавіш зазначеної клавішної панелі і указання функції цих клавіш. Завдяки відображенню функцій клавіш, наприклад, на телевізійному екрані, клавішну панель легше використати і візуалізувати. Зазначені дані можуть включати в себе букви або цифри, а функція відповідної клавіші може полягати в тому, щоб ввести відповідну букву, цифру або символ в текстове поле. Як альтернативний варіант або додатково, зазначені дані можуть включати в себе певну команду або функцію. Зазначене відображення може не показувати всі клавіші клавішної панелі, і може показувати тільки ті з них, які стосуються прикладної програми, що використовується в даний момент. Зазначене відображення у варіанті, якому віддається перевага, включає зображення контурів клавішної панелі, але може включати в себе тільки зазначене зображення клавіш. Зазначене указання функції може бути представлене в письмовій формі або за допомогою символів, і відображається на клавішах або в будь-якому іншому місці. У варіанті, якому віддається перевага, зазначене зображення включає в себе зображення клавішної панелі. У варіанті, якому віддається перевага, зазначене зображення є зображенням тієї клавішної панелі, яка фактично використовується користувачем. Різні клавішні панелі мають, наприклад, різне розташування і кількість клавіш. Завдяки відображенню зображення клавішної панелі, що фактично використовується, користувач може ясно бачити, яка функція присвоєна кожній клавіші. У варіанті, якому віддається перевага, функція клавіші є змінною. Відповідно до ще одного аспекту цього винаходу пропонується клавішна панель із клавішами для виконання функцій, причому кожна із клавіш має функцію-варіант, і ця функція-варіант клавіші є змінною. У одному з варіантів здійснення кожна клавіша має в кожний момент часу тільки одну функціюваріант, так що для виконання цієї функції необхідно натиснути відповідну клавішу тільки один раз. Завдяки тому, що функції-варіанти клавіш можуть змінюватися, зберігається можливість використання клавішної панелі для виконання кількості функцій, що перевищує кількість клавіш, але з'являється можливість підвищити ефективність 5 77390 6 експлуатації. нелі, і/або вибір якого-небудь конкретного шаблоУ варіанті, якому віддається перевага, запрона. понований спосіб включає відображення шаблона У варіанті, якому віддається перевага, запрофункцій для зазначеної клавішної панелі, який є понований спосіб включає операцію відображення змінним. певної множини шаблонів. Завдяки відображенню У варіанті, якому віддається перевага, групу множини наявних шаблонів користувач може баваріантів об'єднують в шаблон для клавішної пачити різні варіанти функцій для своєї клавішної нелі, причому зазначений шаблон є змінним. Напанелі. У варіантах здійснення, яким віддається приклад, якщо зазначена клавішна панель повинперевага, відображаються тільки шаблони, сумісні на використовуватися в одній задачі для набору із клавішною панеллю користувача. тільки цифр, було б неефективно, якби для кожної У варіанті, якому віддається перевага, можлицифри, яку треба ввести, користувачу довелося б ве відображення зазначених шаблонів на екрані. прокручувати по 3 і більше букви. Після змінюванУ варіанті, якому віддається перевага, запроня зазначених варіантів для всіх клавіш клавішної понований спосіб додатково включає вибір одного панелі на "цифри", для набору необхідної цифри з відображених шаблонів. користувачу необхідно буде натиснути відповідну У варіанті, якому віддається перевага, передклавішу всього один раз. Аналогічним чином, якщо бачається кілька різних шаблонів, і запропоновакористувач бажає набирати великими буквами, до ний спосіб включає операцію вибору шаблона для клавішної панелі можна застосувати шаблон "везастосування. У варіанті, якому віддається переваликі букви". Тоді зазначені варіанти функцій клавіш га, зазначений пристрій додатково включає в себе будуть включати в себе тільки великі букви, що засіб (звичайно представлений процесором) для знизить кількість функцій, які користувач повинен вибору шаблона. У варіанті, якому віддається пебуде прокрутити, щоб знайти бажану функцію. ревага, різні шаблони надають клавішній панелі У варіанті, якому віддається перевага, зазнарізні набори функцій. Наприклад, один шаблон чені варіанти клавіш змінюються для зазначеної може призначати цифровим клавішам клавішної клавішної панелі як єдине ціле, але як альтернапанелі великі букви від А до J. Інший шаблон може тивний варіант можна було б змінювати зазначені призначати великі букви від К до Τ тощо. варіанти тільки для певних із зазначених клавіш. У розкритих в даному тексті варіантах здійсВідповідно до ще одного аспекту цього винанення цього винаходу кожний шаблон включає в ходу пропонується спосіб введення даних при висебе тільки 10 функцій, для використання з десякористанні GUI-інтерфейсу за допомогою клавіш тьма клавішами клавішної панелі. У іншому варіаклавішної панелі, що включає визначення множинті здійснення клавішна панель може мати більше ни шаблонів, кожний з яких включає в себе певний клавіш, і в шаблоні можна буде представити весь набір функцій для клавішної панелі. алфавіт. Наприклад, зазначена клавішна панель Зазначені шаблони можуть включати в себе може включати в себе клавіатуру. Можуть бути множину шаблонів для кожного типу клавішної надані різні шаблони, які відповідають різним типанелі і/або різні шаблони для різних типів клавішпам клавіатури, наприклад, для різних мов, різних ної панелі. кількості і розташування клавіш, а також символів і Відповідно до ще одного аспекту цього винаінших знаків. У кожний шаблон можна було б ходу пропонується спосіб, що полегшує введення включити всі необхідні функції, надавши різні шаданих при використанні GUI-інтерфейсу з викорисблони, які відповідають різному розташуванню танням клавішної панелі, який включає визначення клавіш на клавішних панелях або клавіатурах різмножини шаблонів, кожний з яких включає в себе них типів. певний набір функцій для даної клавішної панелі. Термін "клавішна панель", як він використовуВідповідно до ще одного аспекту цього винається в даному тексті, у варіанті, якому віддається ходу пропонується пристрій для використання при перевага, потрібно тлумачити в широкому значенвведенні даних за допомогою клавішної панелі при ні, як такий, що охоплює всі пристрої, споряджені використанні GUI-інтерфейсу, який включає в себе множиною клавіш, або кнопок, або тому подібних множину шаблонів, кожний з яких включає в себе засобів. Відповідно, цей термін у варіанті, якому певний набір функцій для даної клавішної панелі. віддається перевага, охоплює пульти дистанційноУ варіанті, якому віддається перевага, запрого керування, телефони і клавіатури для комп'ютепонований спосіб включає визначення множини рів, а також інші пристрої. наборів шаблонів, причому кожний набір шаблонів У варіанті, якому віддається перевага, запропризначений для використання з певним типом понований спосіб включає операцію відображення клавішної панелі. зазначеного шаблона, наприклад, на екрані комВідповідно, можна використовувати шаблони, п'ютера або телевізора. У варіанті, якому віддаспеціально розроблені для застосування із клавіється перевага, відображається множина наявних шними панелями певних типів. Таким чином, можшаблонів, і у варіанті, якому віддається перевага, на забезпечити сумісність із певною програмою користувач має можливість вибору одного з відоабо прикладною програмою множини різних типів бражених шаблонів для використання. клавішних панелей, а не тільки однієї. Відповідно до ще одного аспекту цього винаУ варіанті, якому віддається перевага, запроходу пропонується спосіб введення даних із викопонований спосіб включає операцію вибору шабристанням клавіш клавішної панелі, який включає лона для клавішної панелі. Цим вибором, напривідображення множини шаблонів функцій для заклад, може бути вибір шаблона або групи значених клавіш і вибір одного з відображених шаблонів, сумісних із певним типом клавішної пашаблонів. 7 77390 8 Зазначений вибір може здійснюватися у відповіддається перевага, функції, що часто використовідь на вибір користувача, наприклад, шляхом вуються користувачем, розміщуються таким чипередавання користувачем фокуса необхідному ном, що вони з'являються в більш ніж одному шашаблону, або іншими способами, наприклад, шляблоні. У варіанті, якому віддається перевага, хом визначення типу даних, які повинні бути ввешаблони можуть настроюватися самим користувадені, і вибору відповідного шаблона. У цьому вичем. падку зазначені шаблони можна було б і не Функції, що надаються однією клавішею клавівідображати. атури з шаблоном, можуть охоплювати більше за У одному з варіантів здійснення, яким віддаодну букву, цифру або символ. Наприклад, при ється перевага, наявні шаблони відображаються у використанні зазначеної клавішної панелі з Webвигляді сітки, і у варіанті, якому віддається перевабраузером, одна із клавіш може використовуватига, користувач обирає бажаний шаблон, викорисся для введення текстового рядка, наприклад, товуючи клавіші керування курсором зазначеної "http:\" або "www". клавішної панелі. Як альтернативний варіант коУ варіанті, якому віддається перевага, зазнаристувач може використати інший пристрій, напричений шаблон клавішної панелі відображається на клад, координатно-вказівний пристрій, наприклад, екрані під час введення зазначених даних корисмишу. тувачем. У варіанті, якому віддається перевага, функції, Відповідно до ще одного аспекту цього винащо входять в зазначений шаблон, відображаються ходу пропонується шаблон для клавішної панелі. У на екрані в конфігурації, яка відповідає розташуваріанті, якому віддається перевага, цей шаблон є ванню відповідних клавіш на клавішній панелі. У таким, що відображається (тобто може бути відоваріанті, якому віддається перевага, запропоновабражений) в GUI-інтерфейсі. ний спосіб включає відображення зображення Відповідно до ще одного аспекту цього винаклавішної панелі. У варіанті, якому віддається пеходу пропонується спосіб введення даних із викоревага, зазначена операція вибору шаблона ристанням клавішної панелі, який включає вибір включає переміщення зазначеного зображення шаблона, що включає в себе певний набір функцій клавішної панелі відносно зазначених шаблонів, для зазначеної клавішної панелі. відображених на екрані. Згідно з цим аспектом цього винаходу пропоУ варіанті, якому віддається перевага, запронується також пристрій для введення даних із випонований спосіб додатково включає відображенкористанням клавішної панелі, який включає в ня зображення клавішної панелі і переміщення себе засіб (представлений, як правило, процесозазначеного зображення клавішної панелі відносром) для відображення шаблона для клавішної но зазначених шаблонів для вибору шаблона. панелі. У варіанті, якому віддається перевага, цей У варіанті, якому віддається перевага, запропристрій включає в себе засіб (представлений, як понований пристрій додатково включає в себе правило, процесором) для відображення множини зображення клавішної панелі, що відображається, шаблонів для клавішної панелі і засіб (представі переважно включає в себе засіб (звичайно предлений, як правило, процесором) для вибору одноставлений процесором) для переміщення зазнаго шаблона. ченого зображення клавішної панелі відносно заУ варіанті, якому віддається перевага, запрозначених відображених шаблонів. понований спосіб введення даних передбачає У варіанті, якому віддається перевага, зазнаокрему прикладну програму і включає операцію чене відображення зображення клавішної панелі виклику зазначеної прикладної програми. Ця ознана екрані включає операцію вибору зазначеного ка особливо важлива і може реалізовуватися незображення клавішної панелі, що підлягає відозалежно. браженню. Розташування клавіш на клавішній паУ варіантах здійснення цього винаходу, яким нелі для різних типів клавішної панелі може бути віддається перевага, зазначена прикладна прорізним, і тому розташування клавіш на відображеграма для введення даних викликається тоді, коли ному шаблоні у варіанті, якому віддається перевакористувач передає фокус області, що допускає га, повинно відповідати розташуванню клавіш на редагування, наприклад, текстовому полю. даній клавішній панелі. У варіанті, якому віддається перевага, зазнаПереважно користувач переміщує зазначене чене відображення шаблонів для клавішної панелі, зображення клавішної панелі відносно зазначених що використовуються для введення даних, не зашаблонів за допомогою клавіш керування курсолежить від якої-небудь іншої прикладної програми, ром, які є на зазначеній клавішній панелі. яка може виконуватися в цей момент зазначеним Зазначені функції, що входять в зазначені шапристроєм. Наприклад, якщо зазначений пристрій блони, можуть бути скомпоновані відповідно до виконує прикладну програму Web-браузера, і неклавіатури з американським стандартом розташуобхідно вводити дані в яке-небудь діалогове вікно, вання клавіш (QWERTY), причому зазначена клакористувач викликає зазначені шаблони для клавіатура розбивається на різні зони для зазначеновішної панелі, які виконуються паралельно із прикго зображення клавішної панелі. Наприклад, в ладною програмою браузера. У варіанті, якому одному положенні зазначена клавішна панель мовіддається перевага, зазначена прикладна проже використовуватися для введення букв q, w, e, грама шаблонів для клавішної панелі може бути a, s, d, z, x, с і "пропуску". викликана із множини прикладних програм, що У інших варіантах здійснення зазначені функвиконуються в даному пристрої. ції, що входять в зазначені шаблони, компонуютьУ варіанті, якому віддається перевага, запрося яким-небудь іншим чином. У варіанті, якому понований спосіб введення даних може настрою 9 77390 10 ватися користувачем в залежності від прикладної для клавішних панелей, і у варіанті, якому віддапрограми, з якої він викликається. ється перевага, додатково зберігається бібліотека У варіанті, якому віддається перевага, шаблозображень клавішних панелей. ни, що відображаються, залежать від прикладної Згідно з даним аспектом цього винаходу пропрограми, що використовується користувачем в понується бібліотека шаблонів для клавішних паданий момент, і, відповідно, від типу даних, які нелей і/або зображень клавішних панелей. повинні вводитися. Наприклад, якщо користувач Відповідно до ще одного аспекту цього винапередає фокус полю, що вимагає введення тільки ходу пропонується комп'ютерна програма для цифр, шаблон, що відображається, міг би містити здійснення способу, що пропонується згідно з цим тільки цифри (і будь-які інші допустимі функції). винаходом. Згідно з цим винаходом, крім того, пропонуВідповідно до ще одного аспекту цього винається спосіб відображення екрана для введення ходу пропонується також пристрій для введення даних із використанням клавішної панелі, що даних при використанні GUI-інтерфейсу за доповключає операцію відображення зображення кламогою клавіш клавішної панелі, який включає в віш зазначеної клавішної панелі і указання функції себе засіб (представлений, як правило, процесоцих клавіш. ром) для відображення зображення клавіш зазнаКрім того пропонується спосіб відображення ченої клавішної панелі і засіб (представлений, як екрана для введення даних із використанням клаправило, процесором) для відображення указання вішної панелі, що включає відображення множини функції зазначених клавіш. шаблонів, кожний з яких включає в себе певний У варіанті, якому віддається перевага, зазнанабір функцій для клавішної панелі. чене зображення включає в себе зображення заУ варіанті, якому віддається перевага, запрозначеної клавішної панелі. У варіанті, якому віддапонований спосіб додатково включає відображенється перевага, запропонований пристрій ня зображення зазначеної клавішної панелі на додатково включає в себе засіб (представлений, шаблоні. У варіанті, якому віддається перевага, як правило, процесором) для змінювання функції шаблон, що відображається, і/або зображення клавіші. Переважно цей пристрій включає в себе клавішної панелі, що відображається, обирається засіб (представлений, як правило, процесором) в залежності від прикладної програми, в якій буде для відображення шаблона функцій для клавішної використовуватися введення даних. панелі і засіб (представлений, як правило, процеЗгідно з цим винаходом пропонується також сором) для зміни шаблона. спосіб приймання даних від клавішної панелі, що Відповідно до ще одного аспекту цього винавключає визначення шаблона для зазначеної клаходу пропонується також пристрій для викорисвішної панелі, що включає в себе певний набір тання при введенні даних при використанні GUIфункцій для клавішної панелі, детектування вхідінтерфейсу за допомогою клавіш клавішної панелі, ної дії від якої-небудь клавіші зазначеної клавішної який включає в себе множину шаблонів, кожний з панелі, визначення для даного шаблона функції яких включає в себе певний набір функцій для зазначеної клавіші і виконання зазначеної функції клавішної панелі, і у варіанті, якому віддається зазначеної клавіші. перевага, містить множину наборів шаблонів, приУ варіанті, якому віддається перевага, запрочому кожний із зазначених наборів призначений понований спосіб додатково включає вибір зазнадля використання з певним типом клавішної паченого шаблона із множини шаблонів. У варіанті, нелі. якому віддається перевага, запропонований спосіб У варіанті, якому віддається перевага, запрододатково включає відображення зазначеного понований пристрій додатково включає в себе шаблона, у варіанті, якому віддається перевага, в засіб (представлений, як правило, процесором) залежності від клавішної панелі і/або прикладної для вибору шаблона для клавішної панелі. програми, в яку повинні вводитися дані. Відповідно до ще одного аспекту цього винаЗазначена прикладна програма може сама виходу пропонується пристрій для введення даних являти, яку прикладну програму і/або клавішну при використанні GUI-інтерфейсу за допомогою панель використовує користувач, або це може клавіш клавішної панелі, який включає в себе засіб повідомляти їй користувач. (представлений, як правило, процесором) для віБудь-який зі способів, що згадуються в цій задображення множини шаблонів функцій для заявці, може здійснюватися приймачем-декодером, у значених клавіш і засіб для вибору одного з відоваріанті, якому віддається перевага, приймачембражених шаблонів. декодером цифрового або аналогового телебаУ варіанті, якому віддається перевага, запрочення, переважно призначеним для використання понований пристрій включає в себе засіб (предз телевізором, або ж може здійснюватися мобільставлений, як правило, процесором) для відобраним телефоном. ження зображення клавішної панелі і засіб для Відповідно до ще одного аспекту цього винапереміщення зазначеного зображення клавішної ходу пропонується також пристрій, здатний викопанелі відносно зазначених шаблонів. нувати прикладні програми, для реалізації GUIВідповідно до ще одного аспекту цього винаінтерфейсу, який включає в себе процесор, паходу пропонується пристрій для відображення м'ять і порт виведення, для видачі сигналу на екекрана для введення даних із використанням кларан, пам'ять із збереженою в ній програмою для вішної панелі, який включає в себе засіб (предстаздійснення одного з аспектів цього винаходу. У влений, як правило, процесором) для відображенваріанті, якому віддається перевага, в зазначеній ня зображення клавіш зазначеної клавішної панелі пам'яті, крім того, зберігається бібліотека шаблонів і засіб (представлений, як правило, процесором) 11 77390 12 для відображення указання функції зазначених шаблон включає в себе певний набір функцій для клавіш. зазначеної клавішної панелі, і цей продукт вклюТакож пропонується пристрій для відображенчає в себе також код для детектування вхідної дії ня екрана для введення даних із використанням від певної клавіші зазначеної клавішної панелі, код клавішної панелі, який включає в себе засіб (преддля визначення для даного шаблона функції заставлений, як правило, процесором) для відобразначеної клавіші і код для виконання зазначеної ження множини шаблонів, кожний з яких включає в функції зазначеної клавіші; і програмний продукт себе певний набір функцій для клавішної панелі. для комп'ютера за будь-яким із пп. 43-46 формули У варіанті, якому віддається перевага, запровинаходу, для використання із приймачемпонований пристрій включає в себе засіб (преддекодером. ставлений, як правило, процесором) для відобраЗгідно з цим винаходом пропонується також ження зображення зазначеної клавішної панелі на програмний продукт для комп'ютера, що включає в зображенні певного шаблона. себе пам'ять і процесор, причому в зазначеній Згідно з цим винаходом пропонується також пам'яті зберігається прикладна програма, і зазнапристрій для приймання даних від клавішної панечений процесор (керований зазначеною прикладлі, який включає в себе засіб (представлений, як ною програмою) виконаний з можливістю здійсправило, процесором) для визначення шаблона нення описаного в цьому тексті способу. для зазначеної клавішної панелі, що включає в Також пропонується програмний продукт для себе певний набір функцій для клавішної панелі, комп'ютера, що включає в себе програму для здійзасіб (представлений, як правило, процесором) снення описаного в цьому тексті способу. для детектування вхідної дії від певної клавіші Запропонований програмний продукт для комзазначеної клавішної панелі, засіб (представлеп'ютера може бути реалізований як матеріальний ний, як правило, процесором) для визначення для об'єкт у вигляді, наприклад, програмного забезпеданого шаблона функції зазначеної клавіші і засіб чення, збереженого на носії інформації, такому як (представлений, як правило, процесором) для вижорсткий диск, енергозалежна або енергонезалеконання зазначеної функції зазначеної клавіші. жна пам'ять, або у вигляді сигналу. У варіанті, якому віддається перевага, запроЗгідно з цим винаходом пропонується також понований пристрій додатково включає в себе комп'ютерна програма для здійснення будь-якого засіб (представлений, як правило, процесором) описаного в даному тексті способу і носій інфордля вибору одного шаблона із множини шаблонів. мації, який може бути прочитаний комп'ютером, на У варіанті, якому віддається перевага, цей приякому зберігається програма для здійснення будьстрій додатково включає в себе бібліотеку шаблоякого описаного в даному тексті способу, і носій нів функцій клавіш і/або бібліотеку зображень клаінформації, який може бути прочитаний комп'ютевішних панелей. ром, на якому зберігається програмний продукт Згідно з цим винаходом пропонується також для комп'ютера, описаний в даному тексті, і сигбібліотека шаблонів функцій клавіш і/або бібліотенал, що фізично вміщує в собі програмний продукт ка зображень клавішних панелей. для комп'ютера, описаний в даному тексті. У варіантах здійснення, яким віддається переПропонується також спосіб, по суті як він опивага, будь-який описаний в цій заявці пристрій саний в цій заявці з посиланням на прикладені може включати в себе приймач-декодер, у варіанфігури креслень і ілюструється ними, і пристрій, по ті, якому віддається перевага, приймач-декодер суті як він описаний в цій заявці з посиланням на для цифрового або аналогового телебачення, у прикладені креслення і ілюструється ними. варіанті, якому віддається перевага, призначений Запропонованим клавішній панелі і/або шабдля використання з телевізором, або може вклюлонам може надаватися вигляд у відповідності зі чати в себе мобільний телефон. способом, описаним в поданій в ЕПВ заявці Згідно з цим винаходом пропонується також №00300832.3. приймач-декодер, що включає в себе описаний в Коли в даному тексті згадуються графічні і інші даному тексті пристрій, і телевізійна система, що об'єкти, відповідний термін потрібно тлумачити в включає в себе описаний в даному тексті приймачширокому значенні. Зокрема, його не треба розудекодер і телевізор, виконаний з можливістю підкміти як такий, що вказує, що відповідні об'єкти фолючення або підключений до зазначеного приймармуються об'єктно-орієнтованим програмним коча-декодера. дом. Згідно з цим винаходом пропонується також Описані в даному тексті способи у варіанті, програмний продукт для комп'ютера, який включає якому віддається перевага, здійснюються з виков себе код для відображення зображення клавіш ристанням пристрою, здатного виконувати прикклавішної панелі і код для відображення указання ладні програми, спорядженого процесором, що функції зазначених клавіш; програмний продукт відповідним чином програмується. для комп'ютера, який включає в себе код для У варіанті, якому віддається перевага, зазнамножини шаблонів, причому кожний із зазначених чені винаходи стосуються мовлення і приймання шаблонів включає в себе певний набір функцій даних, що передаються. для клавішної панелі; програмний продукт для Будь-який із зазначених вище способів може комп'ютера, який включає в себе код для відобраздійснюватися приймачем-декодером, таким як ження множини шаблонів функцій для зазначених приймач-декодер для цифрового або аналогового клавіш і код для вибору шаблона; програмний телебачення. Як альтернативний варіант ці спосопродукт для комп'ютера, який включає в себе шаби можуть здійснюватися мобільним телефоном, блон для клавішної панелі, причому зазначений комп'ютером або іншим пристроєм. 13 77390 14 Описані в цій заявці винаходи також розпоходу за рамки цього винаходу. всюджуються на комп'ютерну програму для здійсКожна ознака, розкрита в описі, а також (у віднення будь-якого з описаних способів, і на носій повідних випадках) в формулі винаходу і на кресінформації, який може бути прочитаний комп'ютеленнях, може реалізовуватися незалежно або в ром, на якому записана програма для здійснення будь-якому придатному поєднанні. будь-якого із зазначених вище способів. Винахід Ознаки одного аспекту можуть бути застосотакож розповсюджується на прикладну програму вані до будь-якого іншого аспекту; ознаки способів для приймача-декодера, виконану з можливістю можуть бути застосовані до аспектів, що стосувиконання способу згідно з будь-яким аспектом ються пристроїв, і навпаки. цього винаходу. У тих випадках, коли ознаки пристрою описуЗазначені винаходи також розповсюджуються ються в даному тексті як "засіб для [певна функна програмні продукти для комп'ютера, наприклад, ція]", мається на увазі, що ці терміни потрібно тлутакі що містять програмне забезпечення для коммачити в широкому значенні і, у варіанті, якому п'ютера і/або оновлені версії програмного забезвіддається перевага, не тлумачити як обмежені печення для комп'ютера. Такі програмні продукти яким-небудь конкретним варіантом здійснення для комп'ютера можуть, наприклад, передаватися цього винаходу, описаним в даному тексті. Ознаки користувачу з центра мовлення шляхом, наприпристрою у варіантах здійснення, яким віддається клад, кабельного або супутникового мовлення. Ці перевага, реалізовуються комп'ютером або компрограмні продукти для комп'ютера можуть надап'ютерами, що програмується відповідним чином, ватися на диску, наприклад, CD-ROM. і, відповідно, ознаки пристрою у варіанті, якому У аспектах цього винаходу, що належать до віддається перевага, реалізовуються відповідними графічних об'єктів, пропонується спосіб формуознаками комп'ютера або продукту, що містить вання цих графічних об'єктів, керування зовнішнім програму для комп'ютера. Наприклад, ознаки привиглядом цих графічних об'єктів, а також відобрастрою можуть реалізовуватися процесором, що ження представлень цих графічних об'єктів на програмується відповідним чином, або іншою часпридатному екрані, наприклад, телевізійному ектиною комп'ютера, наприклад, пам'яттю або засорані або рідкокристалічному екрані мобільного бом для зберігання даних. телефону. Згідно з цим винаходом пропонується Ознаки цього винаходу, яким віддається перетакож пристрій для здійснення цього винаходу і вага, будуть описані нижче у вигляді виключно способів, що пропонуються згідно з цим винахоілюстративного прикладу з посиланнями на прикдом, у варіанті, якому віддається перевага, з виколадені фігури, на яких: ристанням процесора, який відповідним чином Фіг.1а - загальний вид типової системи цифропрограмується. вого телебачення; У варіанті, якому віддається перевага, цей виФіг.1b - загальна архітектура системи інтеракнахід може знайти застосування в галузі цифровотивного телебачення; го телебачення, і у варіанті, якому віддається пеФіг.2а - блок-схема приймача-декодера; ревага, - в Web-браузері для телевізора. Цей Фіг.2b - архітектура приймача-декодера; винахід може бути реалізований в приймачіФіг.2с - архітектура приймача-декодера; декодері, наприклад, для цифрового телебачення. Фіг.3 - пульт дистанційного керування для наОзнаки описаних вище аспектів цього винаходу у вігації в Web-браузері; варіанті, якому віддається перевага, реалізовуФіг.4 - схема, що ілюструє роботу віртуальної ються процесором і/або пам'яттю, наприклад, проклавіатури; цесором і пам'яттю приймача-декодера. Фіг.5 - типовий розподіл символів по клавішах Будь-який з описаних в даному тексті способів віртуальної клавіатури; може здійснюватися приймачем-декодером, таким Фіг.6 - приклади віртуальної клавіатури; і як приймач-декодер для цифрового або аналогоФіг.7 - типові розміри віртуальної клавіатури. вого телебачення. Оглядовий опис системи цифрового телебаТермін "приймач-декодер", як він застосовучення ється в даному тексті, може означати приймач для На Фіг.1а показана в загальному вигляді сисприймання як закодованих, так і незакодованих тема 1 цифрового телебачення. Цей винахід песигналів, наприклад, теле- і/або радіосигналів, які редбачає в основному звичайну систему 2 цифроможуть транслюватися шляхом мовлення або певого телебачення, в якій для передавання редаватися якими-небудь іншими засобами. Цей ущільнених цифрових сигналів використовується термін може також означати декодер для декодувідома система ущільнення, що відповідає станвання прийнятих сигналів. Варіанти виконання дарту MPEG-2. Конкретніше, MPEG-2-компресор 3 такого приймача-декодера можуть включати в сев центрі мовлення приймає потік цифрових сигнабе декодер, суміщений із приймачем для декодулів (звичайно потік відеосигналів). Компресор 3 вання прийнятих сигналів, як, наприклад, в "приспідключений до мультиплексора-скремблера 4 за тавці для телевізора" (STB), декодер, що допомогою з'єднання 5. функціонує в поєднанні з фізично окремим прийМультиплексор 4 одержує множину інших вхімачем, або декодер, який має додаткові функції, дних сигналів, компонує транспортний потік і петакі як Web-браузер, відеомагнітофон або телевіредає ущільнені цифрові сигнали в передавач 6 зор. центра мовлення через з'єднання 7, яке, зрозуміЗрозуміло, що цей винахід описаний в даному ло, може приймати найрізноманітніші форми, тексті у вигляді виключно ілюстративного приклавключаючи телекомунікаційні канали зв'язку. Педу, і деталі реалізації можуть бути змінені без виредавач 6 передає електромагнітні сигнали по 15 77390 16 каналу 8 "Земля-супутник" на супутниковий трансня. Звичайно скрембльовані дані передають разом пондер 9, де їх піддають електронній обробці і із керуючим словом, призначеним для дескрембтранслюють по віртуальному каналу 10 "супутниклювання цих даних, причому саме керуюче слово Земля" в наземний приймач 12, що звичайно має шифрують за допомогою так званого робочого форму тарілки, який належить або орендується ключа і передають в зашифрованій формі. кінцевим користувачем. Можливі, зрозуміло, і інші Скрембльовані дані і зашифроване керуюче транспортні канали для передавання даних, такі як слово потім приймаються декодером 13, який має наземне мовлення, кабельне передавання, комбідоступ до еквівалента робочого ключа, збереженовані кабельно-супутникові канали, телефонні ного на смарт-карті, встановленій в декодер, щоб мережі тощо. дешифрувати зазначене зашифроване керуюче Сигнали, прийняті приймачем 12, передаються слово і після цього дескремблювати передані дані. в суміщений приймач-декодер 13, що належить Абонент, що оплатив передплату, одержить, наабо орендується кінцевим користувачем і підклюприклад, в ЕСМ (повідомленні керування правачений до телевізора 14 кінцевого користувача. ми), що передається щомісяця, робочий ключ, Приймач-декодер 13 декодує ущільнений MPEG-2 необхідний для дешифрування зашифрованого сигнал в телевізійний сигнал для телевізора 14. керуючого слова, без чого неможливий перегляд Хоч на Фіг.1а показаний окремий приймачпередачі. декодер, він в рівній мірі може входити до складу Інтерактивна система інтегрованого цифрового телевізора. Термін Інтерактивна система 16, яка також підключе"приймач-декодер", як він застосовується в даному на до мультиплексора 4 і приймача-декодера 13 і тексті, охоплює і окремий приймач-декодер, такий також розміщена частково в центрі мовлення і як приставка для телевізора (STB), і телевізор із частково в приймачі-декодері, дозволяє кінцевому вбудованим приймачем-декодером. користувачу в інтерактивному режимі взаємодіяти У багатоканальній системі мультиплексор 4 з різними прикладними програмами через зворотобробляє аудіо- і відеоінформацію, що приймаєтьний модемний канал 17. Цей зворотний модемний ся з декількох паралельних джерел, і взаємодіє з канал може також використовуватися для обміну передавачем 6 для передавання цієї інформації по інформацією, яка використовується системою 15 відповідній кількості каналів. Додатково до аудіовіумовного доступу. зуальної інформації в деякі або у всі ці канали моНа Фіг.1b показана загальна архітектура сисжуть вводитися повідомлення, або прикладні протеми 16 інтерактивного телебачення системи 1 грами, або цифрові дані будь-якого іншого роду, цифрового телебачення. що перемежаються з цифровою аудіо- і відеоінНаприклад, інтерактивна система 16 дозволяє формацією, що передається. кінцевому користувачу купувати товари з екранноДо мультиплексора 4 і приймача-декодера 13 го каталогу, переглядати місцеві новини і карти підключена система 15 умовного доступу, розміпогоди за запитом, а також грати в ігри з викорисщена частково в центрі мовлення і частково в танням свого телевізора. приймачі-декодері. Вона дозволяє кінцевому кориІнтерактивна система 16 включає в себе, застувачу одержувати доступ до передач цифрового галом, чотири основних елементи: телебачення одного або декількох провайдерів - засіб 4004 розроблення, розташований в мовлення. У приймач-декодер 13 може встановцентрі мовлення або в іншому місці, який дозволяє люватися смарт-карта, здатна дешифрувати повіпровайдеру мовлення створювати, розробляти, домлення, які стосуються комерційних пропозицій налагоджувати і тестувати прикладні програми; (тобто однієї або декількох телепередач, що про- сервер 4006 прикладних програм і даних, родаються провайдером мовлення). За допомогою зташований в центрі мовлення і об'єднаний з заприймача-декодера 13 і смарт-карти кінцевий кособом 4004 розроблення, який дозволяє провайристувач може купувати комерційні пропозиції або деру мовлення готувати, завіряти автентичність і в режимі передплати, або в режимі оплати за форматувати прикладні програми і дані для переокремий перегляд (PPV). Термін "смарт-карта", як давання в мультиплексор-скремблер 4, для ввевін застосовується в даному тексті, охоплює (але дення в транспортний потік MPEG-2 (звичайно в не обмежуючись ними!) будь-який пристрій у вийого приватну секцію) і мовлення кінцевому корисгляді карти, що включає в себе мікросхему, або тувачу; предмет з аналогічними функціями і робочими - віртуальну машину, що включає в себе підхарактеристиками, споряджений, наприклад, міксистему підтримування виконання (run-time engine ропроцесором і/або запам'ятовувальним пристро- RTE) 4008, що являє собою виконуваний код, єм. Цей термін також охоплює пристрої, що мають встановлений на приймачі-декодері 13, який нафізичну форму, яка відрізняється від карти, наприлежить кінцевому користувачу або орендується клад, пристрої в формі ключа, подібні тим, які часним, що дозволяє кінцевому користувачу приймато використовуються в системах із телевізійними ти, перевіряти автентичність, декомпресувати і декодерами. завантажувати прикладні програми в оперативну Як зазначалося вище, програми, що передапам'ять декодера 13 для виконання. Підсистема ються в зазначеній системі, скремблюються муль4008 також виконує резидентні прикладні програтиплексором 4, причому умови і ключі шифруванми загального призначення. Підсистема 4008 є ня, що застосовуються до конкретної передачі, незалежною від апаратного забезпечення і операвизначаються системою 15 умовного доступу. Пеційної системи; і редавання скрембльованих даних цим способом - модемний зворотний канал 17 між приймадобре відоме в галузі систем платного телебаченчем-декодером 13 і сервером 4006 прикладних 17 77390 18 програм і даних, що дозволяє передавати сигнали, на прикладна програма пропонує меню і виконує які наказують серверу 4006 вставляти дані і приккоманди, а також надає дані, що відповідають приладні програми в транспортний потік MPEG-2 за значенню даної прикладної програми. Прикладні запитом кінцевого користувача. програми можуть бути або резидентними, тобто Зазначена система інтерактивного телебачензбереженими в ПЗП (або флеш-пам'яті, або іншій ня використовує в своїй роботі "прикладні програенергонезалежній пам'яті) приймача-декодера 13, ми", які керують функціями (операціями) приймаабо передаватися шляхом мовлення і завантажуча-декодера і різними пристроями, що входять до ватися в ОЗП або флеш-пам'ять приймачайого складу. Прикладні програми представлені в декодера 13. підсистемі 4008 як "файли ресурсів". "Модуль" - це Прикладні програми зберігаються в елементах набір файлів ресурсів і даних. "Том пам'яті" прийпам'яті в приймачі-декодері 13 і представляються мача-декодера - це пам'ять для модулів. Модулі у вигляді файлів ресурсів. До файлів ресурсів моможуть завантажуватися в приймач-декодер 13 із жуть, наприклад, належати файли бібліотек описів транспортного потоку MPEG-2. графічних об'єктів, файли бібліотек блоків змінних, Приймач-декодер файли послідовностей команд, файли прикладних Нижче з посиланнями на Фіг.2а в термінах фупрограм і файли даних, як описано більш детальнкціональних блоків будуть описані різні елементи но у вищезазначених патентних описах. приймача-декодера 13. Приймач-декодер включає в себе пам'ять, роПриймач-декодер 13, який може бути, напризділену на том ОЗП, том флеш-пам'яті і том ПЗП, клад, цифровою приставкою для телевізора (STB), але ця фізична організація відрізняється від логічвключає в себе центральний процесор 220, споряної організації. Пам'ять може бути додатково розджений відповідними елементами пам'яті і виконаділена на томи пам'яті, асоційовані з різними інтений з можливістю приймання даних від послідоврфейсами. З одного боку, пам'ять можна ного інтерфейсу 221, паралельного інтерфейсу розглядати як частину апаратного забезпечення; з 222, модему (підключеного до модемного зворотіншого боку, пам'ять можна розглядати як таку, що ного каналу 17, показаного на Фіг.1а) і перемикаюпідтримує або включає в себе всю систему, покачих контактів 224 на передній панелі декодера. зану окремо від апаратного забезпечення. Приймач-декодер додатково виконаний з моАрхітектура програмного забезпечення жливістю приймання вхідних сигналів від інфрачеМожна розглядати центральний процесор 220 рвоного пульта 225 дистанційного керування через як такий, що має основною своєю функцією забезблок 226 керування, а також споряджений двома печення роботи підсистеми 4008 підтримування пристроями 227, 228 зчитування смарт-карт, виковиконання, яка є частиною віртуальної машини наними з можливістю зчитування відповідно бан4007. Вона з однієї сторони (сторона "високого ківської або абонентської смарт-карт 242, 240. рівня") з'єднана із прикладними програмами, а з Пристрій 228 зчитування абонентських смарт-карт іншої сторони (сторона "низького рівня") - через взаємодіє із встановленою абонентською картою різні проміжні логічні пристрої, що описуються ни240 і блоком 229 умовного доступу, щоб передати жче, з апаратними засобами 4061 приймачанеобхідне керуюче слово в демультиплексордекодера, що включають в себе різні порти, зазнадесклемблер 230, щоб зробити можливим дескречені вище (тобто, наприклад, послідовний інтермблювання зашифрованого сигналу, що передафейс 221, паралельний інтерфейс 222, модем 223 ється. Декодер також включає в себе звичайний і блок 226 керування). тюнер 231 і демодулятор 232 для приймання і деЗвернемося до Фіг.2b; з віртуальною машиною модулювання переданих зі супутника даних перед 4007 зв'язані різні прикладні програми 4057; певні їх фільтрацією і демультиплексуванням блоком із прикладних програм, які використовуються від230. носно часто, можуть бути більш або менш постійОброблення даних в приймачі-декодері здійсно резидентними в системі, як визначено позицією нює, загалом, центральний процесор 220. На 4057, тоді як інші прикладні програми будуть заваФіг.2b зображена архітектура програмного забезнтажуватися в систему, наприклад, із потоку даних печення центрального процесора 220 приймачаMPEG або з інших портів, за потребою. декодера. Як показано на Фіг.2b, ця програмна Крім підсистеми 4008 підтримування виконанархітектура включає в себе підсистему підтримуня віртуальна машина 4007 включає в себе функвання виконання 4008 (RTE), менеджер 4068 приції 4006 резидентної бібліотеки, в тому числі набір строїв і множину пристроїв 4062 і драйверів 4066 інструментальних засобів 4058. У бібліотеку вхопристроїв, для виконання однієї або декількох придять різні функції на мові С, що використовуються кладних програм 4056. підсистемою 4008, в тому числі ті, що використоУ контексті цього опису прикладна програма вуються для оброблення даних, наприклад, ущільпереважно є фрагментом машинного коду для нення, декомпресування або порівняння структур керування високорівневими функціями, у варіанті, даних, малювання ліній тощо. Бібліотека 4006 місякому віддається перевага, приймача-декодера тить також інформацію про апаратно-програмне 13. Наприклад, коли кінцевий користувач позиціозабезпечення (firmware) приймача-декодера 13, нує фокус пульта 225 дистанційного керування на таку як номери версій апаратного і програмного об'єкті-кнопці, що відображається на екрані телевізабезпечення і наявний об'єм ОЗП, а також функзора 14, і натискає клавішу підтвердження, викоцію, що використовується при завантаженні нового нується послідовність команд, яка відповідає цій пристрою 4062. Можливе завантаження функцій в кнопці. бібліотеку, із збереженням у флеш-пам'яті або За запитом кінцевого користувача інтерактивПЗП. 19 77390 20 Підсистема 4008 підтримування виконання коду для завантаження прикладних програм 4056 об'єднана з менеджером 4068 пристроїв, об'єднав пам'ять приймача-декодера. Для забезпечення ним із множиною пристроїв 4062, які об'єднані із оптимального використання ресурсів в ОЗП або драйверами 4060 пристроїв, які, в свою чергу, флеш-пам'ять завантажується тільки необхідний об'єднані з портами або інтерфейсами. У ширококод. Завантажені дані перевіряються з викорисму значенні драйвер пристрою можна вважати танням процедури перевірки автентичності для таким, що визначає логічний інтерфейс, так що того, щоб запобігти яким-небудь змінам в прикладва різних драйвери можуть бути з'єднані зі спільдній програмі 4056 або виконанню несанкціонованим фізичним портом. Пристрій звичайно підклюної прикладної програми. Підсистема 4008 також чається до декількох драйверів пристроїв; якщо включає в себе декомпресор. Оскільки код прикякий-небудь пристрій підключається до одного ладної програми (різновид проміжного коду) ущідрайвера, такий пристрій звичайно реалізовується льнений для економії місця і прискорення завантаким чином, щоб поєднувати в собі всі функції, таження даних із MPEG-потоку або через необхідні для здійснення передавання даних, так вбудований модем приймача-декодера, цей код що відпадає необхідність в окремих драйверах повинен бути декомпресований перед його заванпристроїв. Певні пристрої можуть обмінюватися таженням в ОЗП. Підсистема 4008 також включає даними між собою. в себе інтерпретатор для інтерпретації коду прикУ програмній архітектурі приймача-декодера ладної програми, для оновлення значень різних 13 кожна функція приймача-декодера 13 предстазмінних і визначення змін стану, а також блок певлена як пристрій 4062. Пристрої можуть бути або ревірки на наявність помилок. локальними, або віддаленими. До локальних приАрхітектура приймача-декодера строїв 4064 належать смарт-карти, європейський Приймач-декодер має п'ять програмних рівнів, уніфікований з'єднувач "СКАРТ" (SCART), модеми, організованих таким чином, щоб програмне забезпослідовний і паралельний інтерфейси, програвачі печення можна було реалізовувати в будь-якому MPEG відео- і аудіоінформації, і засіб добування приймачі-декодері і з будь-якою операційною сисMPEG-секцій і MPEG-таблиць. Віддалені пристрої темою. Як показано на Фіг.2с, цими різними про4066, реалізовані у віддаленому місці, відрізняграмними рівнями є рівень 250 прикладних проються від локальних пристроїв тим, що порт і програм, рівень 252 інтерфейсу прикладних програм цедуру повинен визначати менеджер системи або (рівень АРІ), рівень 254 віртуальної машини, рірозробник, а не пристрій і драйвер пристрою, розвень 256 пристроїв і рівень 258 системного пророблений і наданий виготовлювачем приймачаграмного/апаратного забезпечення. декодера. Рівень 250 прикладних програм охоплює прикПідсистема 4008 підтримування виконання ладні програми, які або є резидентними в приймапрацює під керуванням мікропроцесора і спільного чі-декодері, або завантажуються в нього. Це моінтерфейсу прикладних програм (АРІ). їх встановжуть бути інтерактивні прикладні програми, що люють в кожний приймач-декодер 13, так що всі використовуються користувачами, написані, наприймачі-декодери 13 із точки зору прикладних приклад, на Java, HTML, MHEG-5 або інших мовах, програм ідентичні. або це можуть бути прикладні програми, що викоПідсистема 4008 виконує прикладні програми ристовуються приймачем-декодером для виконан4056 на приймачі-декодері 13. Вона виконує інтеня таких прикладних програм. Цей рівень базоварактивні прикладні програми 4056 і одержує події ний на множині API-інтерфейсів, що ззовні приймача-декодера 13, відображає графіку і забезпечуються рівнем віртуальної машини. Ця текст, звертається до пристроїв із запитами на система дозволяє завантажувати прикладні пронадання послуг і для певних конкретних обчислень грами у флеш-пам'ять або ОЗП приймачавикористовує функції бібліотеки 4006, з'єднаної з декодера оперативно (відповідно до необхідності) підсистемою 4008. або на вимогу. Код прикладної програми може Підсистема 4008 підтримування виконання явпередаватися в ущільненому або неущільненому ляє собою виконуваний код, що встановлюється в вигляді з використанням таких протоколів, як кожний приймач-декодер 13, і містить інтерпретаDSMCC, NSF або інших протоколів. тор для інтерпретації і виконання прикладних проІнтерактивні прикладні програми - це прикладграм. Підсистема 4008 сумісна з будь-якою операні програми, з якими користувач взаємодіє, наприційною системою, включаючи однозадачну клад, щоб одержати товари, послуги або сервіси, операційну систему (таку як MS-DOS). Підсистема такі як електронний гід по програмах (EPG), прик4008 базується на застосуванні блоків послідовноладні програми для здійснення банківських операго оброблення (автоматів) (які приймають різні цій (telebanking) і ігри. події, такі як натиснення клавіші, для виконання у Для цих прикладних програм і даних, що зававідповідь різних дій), і включає в себе власний нтажуються, передбачаються різноманітні заходи планувальник для керування чергами подій різних безпеки, як-от: апаратних інтерфейсів. Вона також керує відобра- нічого не може бути завантажено в приймачженням графіки і тексту. Блок послідовного обробдекодер без попереднього засвідчення його прилення (process sequencer unit) містить набір груп датності для даної мережі, що запобігає виконандій. Кожна подія переводить блок послідовного ню в приймачі-декодері будь-якого незареєстрооброблення з його поточної групи дій в іншу групу ваного програмного забезпечення. Це означає, що дій в залежності від характеру події, і ініціює викобудь-яке програмне забезпечення, що виконується нання ним дій цієї нової групи дій. в приймачі-декодері, розпізнане і повністю перевіПідсистема 4008 включає в себе завантажувач рене; 21 77390 22 - Менеджер Безпеки обмежує доступ прикладформати, такі як MHEG-5. Крім цих інтерпретатоних програм до різних областей пам'яті, гарантуюрів, в нього входять також інші пакети і службові чи тим самим цілісність даних; модулі, які можна при необхідності відключати і - дана система може взаємодіяти з будь-якою розширювати. системою умовного доступу, в якій використовуРівень 254 віртуальної машини складається з ються процесори для забезпечення безпеки (наязикових інтерпретаторів і різних модулів і систем. приклад, смарт-карти, що встановлюються в Він включає в себе все необхідне для приймання і приймач-декодер). виконання в приймачі-декодері інтерактивних приДля керування інтерактивними прикладними кладних програм, включаючи нижченаведене: програмами використовуються такі резидентні - Язикові інтерпретатори. Для забезпечення прикладні програми: відповідності типу прикладних програм, які будуть - Завантаження. Завантажувальна прикладна зчитуватися, можуть встановлюватися різні інтерпрограма 260 - ця перша прикладна програма, що претатори, в тому числі інтерпретатори Java, запускається після ввімкнення приймачаHTML, MHEG-5 і інші. декодера. Завантажувальна прикладна програма - Підсистема службової інформації (SIзапускає різні "менеджери" віртуальної машини, підсистема). SI-підсистема завантажує і контролює першим з яких є менеджер 262 прикладних прозвичайні DVB- або PSIP-таблиці і вміщує їх в кеш. грам. Вона забезпечує доступ до цих таблиць приклад- Менеджер прикладних програм. Менеджер ним програмам, яким потрібні дані, що містяться в 262 прикладних програм керує інтерактивними цих таблицях. прикладними програмами, що виконуються в - Планувальник. Цей модуль дозволяє здійсприймачі-декодері, тобто запускає, завершує, принювати багатопотокове планування з витісненням, пиняє, поновлює, обробляє події і організує обмін при якому кожний потік має власну чергу подій. даними між прикладними програмами. Він дозво- Менеджер пам'яті. Цей модуль керує достуляє одночасно виконувати кілька прикладних пропом до пам'яті. Він також при необхідності автомаграм і, таким чином, бере участь в розподілі ресутично ущільнює дані в пам'яті і виконує автоматирсів між ними. Ця прикладна програма повністю чне "збирання сміття". прозора для користувача. - Менеджер подій. Цей модуль дозволяє обро- Настройка. Призначення прикладної програбляти події відповідно до їх пріоритету. Він керує ми 264 настройки полягає в конфігуруванні прийтаймером і перехопленням подій і дозволяє прикмача-декодера, головним чином при першому його ладним програмам посилати події один одному. використанні. Вона виконує такі дії, як сканування - Динамічний укладач. Цей модуль дозволяє частот для знаходження телевізійних каналів, здійснювати перетворення адрес при використанні установлення дати і часу, установлення параметвласних функцій Java, завантажує власні методи рів передач, яким користувач віддає перевагу, Java-класу, завантаженого в ОЗП, і дозволяє здійтощо. Однак прикладна програма настройки може снювати виклики до ПЗП із завантаженого власнобути використана користувачем в будь-який час го коду. для змінювання конфігурації приймача-декодера. - Завантажувач. Цей модуль використовує ав- Перемикання каналів. Прикладна програма томатичне завантаження даних із віддаленої 268 перемикання каналів використовується для DSMCC-каруселі або через протокол NFS, при перемикання каналів із використанням клавіш "на цьому доступ до завантажених файлів виконуєтьпрограму вгору", "на програму вниз" і цифрових ся таким же чином, як і до резидентних. Передбаклавіш. При використанні іншої форми перемиканчаються також чищення пам'яті, ущільнення і пеня каналів, наприклад, за допомогою банерної ревірка автентичності. (пілотної) прикладної програми (banner, pilot - Менеджер класів. Цей модуль завантажує application), виконання прикладної програми перекласи і вирішує будь-які проблеми, пов'язані з помикання каналів завершується. силаннями на класи. - Зворотний виклик. Прикладна програма зво- Файлова система. Цей модуль компактний і ротного виклику використовується для добування оптимізований для керування ієрархічною файлозначень різних параметрів, що зберігаються в павою системою із множиною різних томів - ПЗП, м'яті приймача-декодера, і повернення цих знафлеш-пам'ять, ОЗП і DSMCC-пам'ять. Гарантуєтьчень комерційному оператору через модемний ся цілісність флеш-пам'яті за будь-яких непередзворотний канал 17 або за допомогою інших засобачених обставин. бів. - Менеджер безпеки. Цей модуль перевіряє Рівень 252 АРІ надає високорівневі утиліти автентичність прикладних програм і контролює для розроблення інтерактивних прикладних продоступ прикладних програм до критично "вразлиграм. У нього входить кілька пакетів (packages), які вої" пам'яті і інших ділянок приставки до телевіутворюють цей високорівневий АРІ. Ці пакети назора. дають всі функції, необхідні для виконання інтера- Графічна система. Ця система є об'єктноктивних прикладних програм. Ці пакети доступні орієнтованою і оптимізованою. Вона здійснює, в для звернення до них прикладних програм. тому числі, керування графічними вікнами і об'єкУ одному з варіантів здійснення цього винахотами, а також включає в себе підсистему роботи з ду, яким віддається перевага, зазначений рівень векторними шрифтами з багатомовною підтримАРІ пристосований для виконання прикладних кою. програм, написаних на мові програмування Java. Більш того підтримується запропонована РаКрім того, він може інтерпретувати HTML і інші дою з цифрових аудіовізуальних технологій 23 77390 24 (DAVIC) модель повідомлення про ресурси чним представленням на телевізійному екрані од(resourse notification model), що забезпечує ефекнієї з функцій навігатора. Кожна функція навігатотивне керування ресурсами клієнта. ра може бути представлена графічним об'єктом, Рівень 256 пристроїв включає в себе менеабо послідовністю зображень графічного об'єкта джер пристроїв і пристрої. Пристрої - це програмні (анімованим зображенням), або набором графічмодулі, що складаються з логічних ресурсів, необних об'єктів (наприклад, зображенням на фоні екхідних для роботи із зовнішніми подіями і фізичрана або зображенням на фоні діалогового вікна, ними інтерфейсами. Рівень пристроїв керує канана яке можуть бути накладені інші графічні об'єклами передавання даних між драйверами і ти). Існує два внутрішніх формати зображень: прикладними програмами і забезпечує поліпшену MPEG-2 і PIXMAP-GRL. систему недопущення помилок. Ось деякі приклаДля елементарних графічних об'єктів, що ди пристроїв, що підтримуються: пристрої зчитупредставляють функціональні можливості "навігавання карт, модеми, мережа, PCMCIA-плати, світційної системи", - завантаження, з'єднання, попелодіодні індикатори тощо. Програмістам немає редній документ, наступний документ, вихід, тощо необхідності звертатися безпосередньо до цього - використовується формат PNG. рівня, оскільки рівень АРІ керує пристроями Для накладення непрямокутного зображення зверху. на графічну площину необхідно використати відсіРівень 258 системного програмнокаючу маску, що визначає видимі (значущі) зони. го/апаратного забезпечення надається виробниЦя маска може надаватися проектувальником в ком приймача-декодера. Завдяки модульності сисформі бітового масиву; ця маска не обчислюється теми і тому, що службові функції, які надає ОС програмою внаслідок обмежень по обчислюваль(такі як планування подій і керування пам'яттю), є ній потужності. частиною віртуальної машини, верхні рівні не приДвома стадіями додавання відсікаючої маски є в'язуються до якої-небудь певної операційної сисвідображення спочатку зображення, а потім, в датеми реального часу (RTOS) або якого-небудь ній графічній площині, заповнення прямокутника, певного процесора. що має такі ж розміри і координати, що і зазначене У наведеному нижче прикладі описується вазображення, прозорим кольором з одночасним ріант здійснення цього винаходу, що використовунакладенням відсікаючої маски, так щоб зробити ється в Web-браузері приймача-декодера. Струквидимою "корисну" частину зображення. тура і робота такого Інтернет-браузера більш Формат зображень PIXMAP-GRL використовудетально обговорюються в Європейській патентється для графічних об'єктів, що представляють ній заявці №00300832.3. ресурси навігатора або інтерфейс користувача: Користувач використовує Інтернет-браузер із вертикальні смуги прокрутки, таблиці, простий телевізором, і використовує пристрій керування вибір, вибір з численними варіантами тощо. телевізором (або подібний пристрій) для навігації в Об'єкти типу РІХМАР - це об'єкти змінного робраузері. зміру (кожний графічний об'єкт або модель розбиНа Фіг.3 показаний приклад пристрою керувається на прості елементарні об'єкти), які мають вання, за допомогою якого користувач може перездатніть забарвлюватися (змінювати колір). міщатися між об'єктами на екрані (тобто здійснюФормат зображень РІХМАР-GLR може бути вати навігацію), виділяти об'єкти і обирати об'єкти. одержаний шляхом перетворення з будь-яких інУ даному прикладі пристроєм керування, що викоших графічних форматів (таких як BMP, JPEG, ристовується, є пульт 1180 дистанційного керуGIF, PNG тощо), з використанням відомих спосовання для телевізора. Для введення даних викобів. ристовуються цифрові клавіші 1181; для навігації Зазначене розбиття графічного об'єкта на по екрану використовується панель 1182 керуванграфічні елементарні об'єкти (елементи) виконуня курсором. Панель 1182 керування курсором ється у відповідності з певною матрицею (напримає клавішу "вгору" 1183, клавішу "вниз" 1184, клад, 3 3, 4 4 або 1 4), вибір якої залежить від клавішу "вліво" 1185 і клавішу "вправо" 1187. Патипу об'єкта, що відображається. нель 1182 керування курсором має також клавішу Максимальний розмір екрана становить 720 вибору 1186, яка використовується для вибору пікселів завширшки і 576 пікселів у висоту. Щоб об'єктів на екрані. гарантувати можливість відображення на будьКлавіша "вгору" 1183 і клавіша "вниз" 1184 виякому телевізорі нижчого цінового класу, необхідкористовуються для переміщення фокуса, в даноно обмежити ці розміри до 592 пікселів завширшки му прикладі - підсвічування, вгору і вниз. Після і 480 пікселів у висоту. Щобоптимально викориспідсвічування об'єкта його можна обрати за допотати можливості телевізорів високого цінового могою клавіші вибору 1186. класу, користувачу надається можливість регулюТакий приймач-декодер забезпечує можливання розмірів екрана. Для Інтернет-навігатора вість роботи з Інтернет і читання електронної посторінки сайтів звичайно мають розміри 600 піксешти. лів завширшки і 400 - у висоту. Розглянемо тепер графічну студію для модеФокус може бути представлений різними сполювання навігатора. Частиною такої графічної собами: виділенням прямокутником для графічних студії є "віртуальна клавіатура", яка використовуоб'єктів; виділяюче підсвічування (іншим кольоється для введення даних в браузері. ром) фону графічного об'єкта або виділення конГрафічна студія для моделювання навігатора тура графічного об'єкта кольором. являє собою сукупність або набір елементарних Нормальний стан (що не має фокуса, активграфічних об'єктів. Кожний графічний об'єкт є наоний, без натиснення клавіші) є основним станом 25 77390 26 графічного об'єкта. женням об'єкта, або може бути таким же, як і Заборонений стан графічного об'єкта може бупредставлення об'єкта, що має фокус. ти представлений різними способами: контур об'єНижче наведені базові відомості про кілька із кта показаний сірим кольором (або він'єтований); графічних об'єктів, що використовуються в інтерна відповідний графічний об'єкт накладений вирафейсі Web-браузера, і їхніх відповідних функціях. зний заборонний знак; фон об'єкта змінений на Нижче наведений перелік, що не є вичерпним, одноколірний; об'єкт невидимий. декількох із графічних об'єктів, які необхідні для "Натиснений" стан графічного об'єкта - це побудови моделі навігатора в декодері. У наведеграфічне представлення об'єкта, що має фокус, ній таблиці ці об'єкти перелічуються елемент за після натиснення клавіші, але до відпущення клаелементом, і вказаний перелік об'єктів, складених віші. Це зображення може бути інверсним зобраіз декількох графічних елементів. Елементарний графічний об'єкт Функція Тип BTN_Flèche_haut PNGзображення, що Піднятися на рядок не натискується, вгору і таке, що натискується BTN_Flèche_bas PNGзображення, що Опуститися на рядок не натискується, вниз і таке, що натискується BTN_Flèche_droite PNGзображення, що Перемістити курсор не натискується, уперед і таке, що натискується BTN_Flèche_gauche BTN_Page_haut BTN_Page_bas Перемістити курсор назад Перемістити курсор вгору на кілька рядків (на півсторінки або на попередню сторінку) Перемістити курсор на кілька рядків вниз (на півсторінки або на наступну сторінку) PNGзображення, що не натискується, і таке, що натискується PNGзображення, що не натискується, і таке, що натискується PNGзображення, що не натискується, і таке, що натискується Філігрань (контур клавіш) пульта дистанційного керуванIMG_Telecommande_filigrane ня для спрощеного Контур введення з використанням віртуальної клавіатури Коментарі Зображення, що натискуються, демонструють: "натиснений", "ненатиснений" і заборонений стани. Зображення, що не натискуються, демонструють: заборонений і нормальний стани. Зображення, що натискуються, демонструють: "натиснений", "ненатиснений" і заборонений стани. Зображення, що не натискуються, демонструють: заборонений і нормальний стани. Зображення, що натискуються, демонструють: "натиснений", "ненатиснений" і заборонений стани. Зображення, що не натискуються, демонструють: заборонений і нормальний стани. Три зображення, що натискуються: "натиснений", "ненатиснений" і заборонений стани. Два зображення, що не натискуються: заборонений і нормальний стани. Три зображення, що натискуються: "натиснений", "ненатиснений" і заборонений стани. Два зображення, що не натискуються: заборонений і нормальний стани. Три зображення, що натискуються: "натиснений", "ненатиснений" і заборонений стани. Два зображення, що не натискуються: заборонений і нормальний стани. Контур пульта дистанційного керування накладається на зображення віртуальної клавіатури, щоб клавіші пульта дистанційного керування візуально співпадали з розташуванням клавіш на віртуальній клавіатурі. Швидкий доступ із використанням зорової пам'яті, але не "документальної" пам'яті. Контури клавіш пульта дистанційного керування не містять ні букв, ні символів. 27 BKG_Clavier_virtuel 77390 28 Віртуальна клавіатура відображається на екрані подібно клавіатурі ПК, але без зображень букв або цифр на клавішах. Букви на клавіші розміщує програма: це дозволяє визначати універсальну міжнародну багатомовну клавіатуру (з європейським, американським або іншим розташуванням клавіш). Контурне зображення пульта Віртуальна клавіадистанційного керування накладаєтьтура для спрощеноФонове зобра- ся на клавіатуру і переміщається раго введення з викоження клавіату- зом із фокусом: завдяки цьому візуаристанням пульта ри льно відображається як натиснення дистанційного керукнопки на пульті дистанційного керування вання відповідає натисненню клавіші на клавіатурі без необхідності заздалегідь запам'ятовувати відповідність між ними. Клавіша "ESCape" прибирає віртуальну клавіатуру. Певні клавіші служать як функціональні: "http://www", ".fr", ".com", ".org" тощо, а інші мають певні функції: "Enter", "Backspace", "Del" тощо. Функції навигатора Функція Опис Активується Графічні об'єкти Коментарі Віртуальна клавіатура відображається на екрані подібно клавіатурі ПК, але без зображень букв або цифр на клавішах. Букви на клавіші розміщує програма: це дозволяє визначати універсальну міжнародну багатомовну клавіатуру (з європейським, американським або іншим розташуванням клавіш). КоВіртуальна нтурне зображення пульта дистаклавіатура для нційного керування накладається спрощеного Коли фокус Робота з на клавіатуру і переміщається равведення з має об'єкт, BKG_Clavier_Virtuel віртуальною зом із фокусом: завдяки цьому вівикористанням що допускає IMG_Telecommande_filigrane клавіатурою зуально відображається як натиспульта диста- редагування нення кнопки на пульті нційного керудистанційного керування відповівання дає натисненню клавіші на клавіатурі без необхідності заздалегідь запам'ятовувати відповідність між ними. Клавіша "ESCape" прибирає віртуальну клавіатуру. Певні клавіші служать як функціональні: "http://www", ".fr", ".com", ".org" і т.п., а інші мають певні функції: "Enter", "Backspace", "Del" і т.д. Опишемо тепер Java API для Web-браузера. Нижче наведений перелік декількох Javaпакетів (package), які використовуються в декодері на рівні прикладної програми-навігатора. Цей пе релік розділений на дві частини: класи AWT (Abstract Window Toolkit) пакету JDK 1.1 і інтерфейсні Java-класи різних сервісів, написаних на чистому С-коді. 29 77390 Класи java.awt. Choice java.awt.Component java.awt.Graphics java.awt.Image java.awt.ImageMask розширює java.awt.Image java.awt.List java.awt.Panel java.awt.Point java.awt.Toolkit java.awt.TextField java.awt.Window java.awt.event.FocusEvent java.awt.event.FocusListener(interface) java.awt.event.KeyEvent java.awt.event.KeyListener(interface) java.awt.event.MouseEvent java.awt.event.MouseListener(interface) Пакет навігатора, званий пакетом браузера, об'єднує в собі різні пакети: пакет "browser.drawer", який забезпечує сервіси, що дозволяють зчитувати в пам'ять HTML-документ і реалізовують навігацію в браузері документів; і пакет "mediawebtv", що дозволяє встановлювати з'єднання з Інтернет з автентифікацією користувачів. Навігатор, що пропонується, вводить в дію 30 Методи Add(String) GetItemCount() GetSelectedIndex() Remove(String) SetSelectedlndex(int) AddKeyListener(KeyListener) AddFocusListener(FocusListener) AddMouseListener(MouseListener) Contains(int, int) enableEvents(long) getLocation() getSize() setBackground(Color) setBackground(ImageMask) setBackground(int) setLocation(int) setSize(int, int) drawlmage getSize setLocation createlmage(String) getHeight() getWidth() setMask(bitmap) List(int) add(String) getltem(num) getItemCount() getSelectedItem() remove(String) replace() setMultipleMode(boolean) setLayout(layout) loadLut(Strmg) getDefaultToolkit() addActionListener(ActionListener) setEchoChar(char) setSecretMode() setModal(boolean) void focusGained(FocusEvent) void focusLost(FocusEvent) void keyPressed(KeyEvent) void keyReleased(KeyEvent) void keyTyped(KeyEvent) void mouseClicked(MouseEvent) void mouseEntered(MouseEvent) void mouseExited(MouseEvent) void mousePressed(MouseEvent) void mouseReleased(MouseEvent) всю наявну графіку (MPEG, РІХМАР) графічної студії. Звернення до функцій або вибір із декількох варіантів, що відображаються на екрані, здійснюється шляхом передавання фокуса за допомогою кнопок зі стрілками (пульта дистанційного керування) або за допомогою клавішної панелі з курсором/вказівником. Вибір певної дії здійснюється за допомогою натиснення ("кліку") керуючого при 31 77390 32 строю або за допомогою наперед визначеної кнопкінці тексту в цій області, що допускає редагуванки (наприклад, "ОК"). ня. Натиснення "ОК" (на пульті дистанційного кеЗа відсутності фізичної клавіатури для вверування або віртуальній клавіатурі) або "Cancel" дення тексту за допомогою пульта дистанційного (на віртуальній клавіатурі) прибирає її. керування необхідно передбачити віртуальну клаВіртуальна клавіатура, видима на екрані віатуру. Це досягається шляхом передавання фо(1501), утворена трьома блоками (групами) з десякуса з наданням можливості швидкого набору, ти кнопок кожна (що представляють три цифрових шляхом відображення (тобто встановлення відпоблоки пульта дистанційного керування), розташовідності) кнопок пульта дистанційного керування вані поруч (1502, 1503, 1504). Користувач може на віртуальну клавіатуру; іншими словами, на зопередати фокус (1505) від одного блоку іншому за браженні віртуальної клавіатури візуально відодопомогою клавіш зі стрілками пульта дистанційбражається контурне або злегка непрозоре зобраного керування. Після вибору певного блоку натиження кнопок пульта дистанційного керування. снення клавіші, що входить в цифровий блок пульБільш детально віртуальна клавіатура обговорюта дистанційного керування, вводить відповідний ється нижче. символ, нанесений на віртуальній клавіатурі. Оптимально кнопка являє собою прямокутну Користувач може також використати клавіші "стрілка вгору" і "стрілка вниз". Це виводить на або квадратну зону (наприклад, 32 32 пікселі). екран таку ж віртуальну клавіатуру, але з іншими Коли графічний курсор входить в певну зону, ця символами на клавішах (1506). Таким чином, пезона (вікно) приймає фокус (порівн. з функцією ребираючи набір із 5 віртуальних клавіатур, корис"EnterNotify(WindowId)"). тувач може відобразити всі символи із клавіатури Якщо графічне зображення кнопки має, напризахідного комп'ютера. Існує також можливість доклад, форму шини, доведеться визначати, чи має повнення інших клавіатур при виникненні такої місце практичне перекриття пікселів цієї шини фанеобхідності. ктичним положенням графічного курсора. Для цьоЯк показано на Фіг.6, щоб можна було відразу го необхідно визначити значення пікселя в "гарявстановити відповідність між цифровим блоком чій" точці, яка указується вказівником миші в пульта дистанційного керування і фокусом, розмівідсікаючій масці даної кнопки (шляхом обчисленщеним на віртуальній клавіатурі, фокус вказується ня відносного положення, виклику getpixel() в відсінакладеним прозорим зображенням пульта дистакаючій масці і подальшої перевірки значення пікнційного керування (1542, 1543). Таким чином, селя). Цей метод визначення дозволяє зробити користувач може легко побачити, що лише одна більш ефективним перевірку того, чи було виконачастина клавіатури має фокус, і що доступ до інно натиснення ("клік") перед початком здійснення ших символів можна забезпечити шляхом переміфункції даної кнопки. щення фокуса за допомогою клавіш зі стрілками. Коли вказівник миші покидає прямокутну або Ця клавіатура створена з урахуванням таких моквадратну зону кнопки, ця зона втрачає фокус (поментів. рівняй LeaveNotify(WindowId)). Висота віртуальної клавіатури є невеликою віНижче, з посиланнями на Фіг.4-7, буде більш дносно висоти екрана і дозволяє легко збільшувадетально розглянута віртуальна клавіатура. ти кількість доступних символів. За умовчанням На Фіг.4 схематично показано, як видима на відображається віртуальна клавіатура з мініатюрданий момент віртуальна клавіатура (1501) відоним алфавітом. бражається в фоновій "сітці" віртуальних клавіатур Певні кнопки мають важливі спеціальні функ(1501, 1506). ції: На Фіг.5 показаний типовий розподіл символів - Кнопка "ОК" на пульті дистанційного керупо клавішах віртуальної клавіатури. вання для підтвердження поточного вибору (якщо На Фіг.6 показані зображення, що використодане поле має тільки один рядок, символ ¶ (1521) вуються для цієї віртуальної клавіатури, де фокус також є підтверджуючим, або, в альтернативному має відповідно перший (1545) і другий (1546) цифваріанті, він може взагалі не викликати ніякої дії; в ровий блок (також показані два різні типи пультів іншому випадку, він відповідає тільки поверненню дистанційного керування, 1542 і 1543). каретки). На Фіг.7 показана типова компоновка віртуа- Кнопка скасування "Cancel" (1522) на віртуальної клавіатури з указаниям типових розмірів. льній клавіатурі служить для виходу з даної сервіПо-перше, віртуальна клавіатура задумана як сної програми без підтвердження (зміни, зроблені засіб, незалежний від прикладної програми, в якій після відкриття клавіатури, будуть втрачені). він використовується. Відповідно, вона може вико- Кнопка "Backspace" (1523) на віртуальній ристовуватися в прикладній програмі Webклавіатурі знищує останній введений символ. браузера ("WebBrowser"), і, тим же чином, в по- Кнопки "стрілка вгору", "стрілка вниз", "стрілштовій програмі ("Mail"). Більш того її "зовнішній ка вліво" і "стрілка вправо" призначені для перевигляд" повністю незалежний від "зовнішнього міщення по області редагування. вигляду" прикладної програми, з якою вона вико- Кнопка табуляцїї ("Tab") (1520) на віртуальній ристовується. клавіатурі за один раз вставляє таку, що встановВіртуальна клавіатура відображається з того люється, кількість пропусків, (за умовчанням - чомоменту, коли користувач, що не має фізичної тири). клавіатури або пульта дистанційного керування, Клавіатура завжди знаходиться в режимі спорядженого клавіатурою, обирає ту, що допус"вставки". кає редагування (тобто таку, в якій можливе редаПриклад клавіатури представлений на Фіг.6 і гування) область екрана. Фокус встановлюється в 33 77390 34 детальніше розглядається нижче. ру для поточної прикладної програми, якщо така існує (якщо віртуальна клавіатура для даної прикЗа допомогою п'яти клавіатур (5 3), показаних ладної програми ще не існує, і якщо прикладна на Фіг.5, і двох шрифтів, встановлених для прикпрограма використовує таку, метод "getlnstance" ладної програми WebBrowser (Arialweb і Courier), створює віртуальну клавіатуру, використовуючи можна охопити всі символи традиційної клавіатудля цього змінні [чотири раніше описані], які треба ри. Розміри клавіатури на екрані становлять 272 буде задати). пікселі завширшки на 184 пікселі у висоту. Опишемо тепер оброблення подій. Віртуальна клавіатура і функціональні зв'язки, Як було зазначено вище, віртуальна клавіатуякі задіюються при її використанні в різних прикра, будучи відображеною, функціонує виключно ладних програмах, реалізовані в рамках пакету шляхом інтерпретації подій, що посилаються їй "canalplus.virtualkbd". цифровим блоком (групою цифрових клавіш), клаУ цей пакет входять, в тому числі, класи вішею "ОК" і чотирма клавішами зі стрілками пуль"MhwVirtualKbd" (клас графічного опису віртуальта дистанційного керування. Для клавіатури, що ної клавіатури і опису поведінки віртуальної клавівикористовується, ці клавіші будуть мати особливі атури), "MhwVkTextField" (клас, похідний від функції. "java.awt.TextField", який дозволяє віртуальній Клавіша "ОК" відіграє важливу роль, оскільки клавіатурі, створеній з основної прикладної продозволяє користувачу робити дві речі: "повертатиграми, що також використовує клас TextField, прася" в текстове поле для введення інформації і поцювати з подіями) і "MhwTextArea" (клас, успадкотім відображати віртуальну клавіатуру і починати її ваний від "java.awt.TextArea", який дозволяє роботу; і "покидати" це текстове поле із збереженвіртуальній клавіатурі, створеній з основної прикням змін. ладної програми, що використовує клас TextArea, Клавіші зі стрілками працювати з подіями). Стрілки "вправо" і "вліво" дозволяють переміОпишемо трохи детальніше клас щати зображення пульта дистанційного керування "MhwVirtualKbd". (що вказує цифровий блок, який має "фокус") на Конструктор класу "MhwVirtualKbd" визначений один із трьох цифрових блоків, представлених на як "private". Відповідно, при запуску основної приквіртуальній клавіатурі. Таким чином, клавіші цифладної програми, якій може знадобитися викорисрового блоку пульта дистанційного керування тати віртуальну клавіатуру (наприклад, за відсут"прив'язуються" до зображення різних символів, в ності фізичної клавіатури), може бути створена залежності від "клавіатури", що має фокус. тільки одна єдина віртуальна клавіатура. Задача У самому загальному випадку "удари" по цих полягає в тому, щоб надати клавіатуру, сконфігукнопках, коли віртуальна клавіатура активна, вировану спеціально для поточної прикладної прокликають автоматичну вставку символа, показанограми і таку, що з'являється при введенні користуго на даній клавіші, в поточне (активне) текстове вачем даних в текстове поле (однорядкове або поле, в положення, вказане курсором. багаторядкове). З символів, що використовуються, шість можПісля створення клавіатури задаються чотири на вважати "спеціальними", і вони не призводять основні (статичні) змінні, які можна конфігурувати: безпосередньо до відображення в текстовому полі - "предок": контейнер, "предок" віртуальної символа, зображеного на клавіші: клавіатури, який повинен існувати на момент Повернення на одну позицію зі стиранням створення клавіатури. Він задається з використан(Backspace): ">" (1520): при натисненні на позаду зображень, що стосується різних "клавіапульті дистанційного керування кнопки, що відпотур", які одержуються при використанні віртуальвідає цьому символу, в поточне положення курсоної клавіатури, так і відносно позначень, що нанора вставляється встановлена кількість пропусків (' сяться на клавіші. Символи вказуються їх unicode'), за умовчанням - чотири. кодом. Ім'я цього описового файла може бути заВведення (Enter): "¶" (1521): при натисненні на дане з використанням методу "setScreensFile". пульті дистанційного керування кнопки, що відпо- "кількість екранів": кількість "цифрових бловідає цьому символу, в положенні курсора вставків" (груп цифрових клавіш), що ініціалізуються і ляється "переведення рядка". Власне кажучи, яквикористовуються віртуальною клавіатурою. Ця що поточне текстове поле є зразком класу кількість, що задається за допомогою методу "MhwVkTextField", тобто полем із лише одним ряд"setScreensNumber", відповідає кількості клавіатур, ком, що редагується, "удар" по цій кнопці або не характеристики яких зчитуються із зазначеного буде мати ніяких наслідків, або підтвердить ввевище описового файла. дення в це поле. Якщо ж, навпаки, це текстове - "початкові координати": це координати лівого поле є зразком класу "MhwVkTextArea", то воно верхнього кута фонового зображення клавіатури в буде складатися з декількох рядків, що редагуютьконтейнері-предку (описаному вище). Вони задася, і цей символ викличе "переведення рядка" ються з використанням методу "setCoordlnit". (якщо ж курсор встановлений на останньому рядПісля того, як клавіатура буде створена, можку, що редагується, "удар" по цій кнопці не буде на вирішити, використовувати її чи ні, за допомомати ніяких наслідків). гою методу "getlnstance", який знаходить клавіату 35 77390 36 ристання віртуальної клавіатури не передбачене Скасування (Cancel): " с " (1522): при натис(булєве значення - "false"), "поведінка" цього ненні на пульті дистанційного керування кнопки, "TextField" буде такою ж, як поведінка стандартнощо відповідає цьому символу, всі зміни, зроблені в го TextField із пакету "java.awt". поточному текстовому полі після відкриття віртуаКлас "MhwVkTextArea" - це просто розвиток льної клавіатури, відміняються. Іншими словами, класу "TextArea" з пакету "java.awt". Додатково він його вміст знову стає таким, яким він був до внепідтримує булєве значення, яке вказує на викориссення зазначених змін, і виконується "вихід" із віртання (або не використання) віртуальної клавіатуальної клавіатури. тури. Стрілка вліво: при натисненні на пульті дистаКонструктори точно такі ж, як конструктори нційного керування кнопки, що відповідає цьому класу "TextArea" в пакеті "java.awt", із простим досимволу, курсор в поточному текстовому полі педатковим аргументом: булєвим значенням, що реміщається на одну позицію ліворуч. Якщо курвказує на використання віртуальної клавіатури. сор вже знаходиться в "нульовому" положенні (поЯкщо цим булєвим значенням є "true", створюдальше переміщення ліворуч неможливе), ється "базовий" зразок класу "TextArea", і в той же натиснення цієї кнопки не має ніяких наслідків. час, із використанням методу "addKeyListener", Стрілка вправо: при натисненні на пульті дистакож додається "прослуховувач" (listener) для танційного керування кнопки, що відповідає цьому віртуальної клавіатури, доступний в поточній приксимволу, курсор в поточному текстовому полі пеладній програмі. У іншому випадку створюється реміщається на одну позицію праворуч. Якщо кур"нормальний" TextArea. сор вже знаходиться після останнього символа в Коли TextArea має фокус, якщо користувач натекстовому полі (і не може бути переміщений далі тискає "ОК" і зазначене булєве значення вказує, праворуч), натиснення цієї кнопки не має ніяких що віртуальна клавіатура використовується, віртунаслідків. альна клавіатура виводиться на екран і одержує Стрілка вгору: при натисненні на пульті дистафокус. Вона обробляє всі події і дозволяє редагунційного керування кнопки, що відповідає цьому вати текстове поле. Якщо користувач знов натиссимволу, курсор в поточному текстовому полі пекає "ОК", цим підтверджується текст, що міститься реміщається на одну позицію вгору. Якщо курсор в ньому, і клавіатура повертає фокус. Якщо виковже знаходиться на першому рядку текстового ристання віртуальної клавіатури не передбачене поля (або якщо в поточному текстовому полі тільки (булєве значення -"false"), "поведінка" цього один рядок - клас MhwVkTextField), натиснення "TextArea" буде такою ж, як поведінка стандартноцієї кнопки не має ніяких наслідків. го TextArea з пакету "java.awt". Стрілка вниз: при натисненні на пульті дистанРізні описані вище способи відображення одційного керування кнопки, що відповідає цьому ного або декількох графічних об'єктів, переміщенсимволу, курсор в поточному текстовому полі пеня (навігація) між множиною таких об'єктів або реміщається на одну позицію вниз. Якщо курсор приймання вхідної дії від користувача можуть в вже знаходиться на останньому рядку текстового рівній мірі застосовуватися в інших галузях, головполя (або якщо в поточному текстовому полі тільки ним чином (але не виключно!) при прийманні транодин рядок - клас MhwVkTextField), натиснення сляційних передач від провайдера мовлення. Зацієї кнопки не має ніяких наслідків. галом, такі способи можуть використовуватися при Метод "findLocation" визначає розміщення вірздійсненні будь-яких функцій приставки для телетуальної клавіатури на екрані, прагнучи звести до візора, що передбачають візуальну взаємодію з мінімуму "обрізану" поверхню. користувачем. Клас "MhwVkTextField" - це просто розвиток Наприклад, віртуальна клавіатураабо інші класу "TextField" із пакету "java.awt". Додатково він ознаки цього винаходу можна було б використати підтримує булєве значення, яке вказує на викорисв прикладній програмі для здійснення покупок із тання (або не використання) віртуальної клавіадому (home shopping), щоб дозволити користувачу тури. виводити на екран товари, переглядати ціни, розКонструктори точно такі ж, як конструктори міщувати замовлення і взаємодіяти з цією приклакласу "TextField" в пакеті "java.awt", із простим додною програмою різними способами. датковим аргументом: булєвим значенням, що З віртуальної клавіатури можна було б вводивказує на використання віртуальної клавіатури. ти будь-яку необхідну від користувача текстову Якщо цим булєвим значенням є "true", створюінформацію, таку як адреса для доставки. ється "базовий" зразок класу "TextField", і в той же У електронному гіді по програмах (EPG) можна час, із використанням методу "addKeyListener", було б застосовувати подібні способи для інтерактакож додається "прослуховувач" (listener) для тивного перегляду і відображення різних каналів, віртуальної клавіатури, доступний в поточній приктем, моментів часу і дат. ладній програмі. У іншому випадку створюється Інші застосування описаних вище способів "нормальний" TextField. включають онлайнові каталоги, новини і прогнози Коли TextField має фокус, якщо користувач напогоди за запитом, ігри і загальне адміністрування тискає "ОК" і зазначене булєве значення вказує, приставки для телевізора (керування її конфігуращо віртуальна клавіатура використовується, віртуцією тощо). У разі ігор віртуальну клавіатуру можальна клавіатура виводиться на екран і одержує на було б використовуватися як альтернативний фокус. Вона обробляє всі події і дозволяє редагуваріант пристрою керування для ігор більш складвати текстове поле. Якщо користувач знов натисних видів. кає "ОК", цим підтверджується текст, що міститься Потрібно також мати на увазі, що всі способи в ньому, і клавіатура повертає фокус. Якщо вико 37 77390 38 взаємодії, в яких використовується пульт дистанмент часу. ційного керування, як описано в даному тексті, URL: адреса, що використовується для знахоможуть бути замінені або доповнені використандження файла або ресурсів в Інтернет. Посилання ням миші (або іншого керуючого переміщенням на сайт вказує адресу ресурсу, що міститься в пристрою, такого як пристрій з кулькою (rollerball) даній Web-сторінці. або джойстик) і/або клавіатури (або іншого приWWW: Інтернет-мережа, в якій використовустрою, що має множину клавіш), або шляхом іміються локальні або віддалені документи. Webтування кнопок пульта дистанційного керування документ - це Web-сторінка, і посилання на цій (наприклад, в якому використовуються цифри 0-9; сторінці дозволяють здійснювати переміщення клавіші зі стрілками, і клавіша введення на клавіа(навігацію) між різними сторінками і між різними турі), або безпосередньо (наприклад, використооб'єктами, незалежно від того, чи знаходяться ті в вуючи мишу для натиснення кнопок і клавіатуру локальній або віддаленій мережі. для безпосереднього введення тексту). GUI: графічний інтерфейс користувача. Описана вище віртуальна клавіатура може буWGT: набір інструментальних засобів для ти реалізована на будь-якому пристрої, що має створення віджетів (Widget Toolkit) кілька клавіш, такому як, наприклад, ігрова присЗрозуміло, що цей винахід був описаний вище тавка або мобільний телефон. У останньому випана виключно ілюстративному прикладі, і деталі дку віртуальна клавіатура могла б відображатися реалізації можуть бути змінені без виходу за рамки практично так, як описано вище, на екрані телецього винаходу. фону (на телефонах із досить великим екраном), Кожна ознака, розкрита в описі, а також (у відабо в скороченій формі (на телефонах із меншими повідних випадках) в формулі винаходу і на кресекранами). Таке скорочення віртуальної клавіатуленнях, може реалізовуватися незалежно або в ри може спричинити відображення лише одного будь-якому придатному поєднанні. цифрового блоку з символами в кожний момент У будь-якому або у всьому з вищезазначеного часу, у варіанті, якому віддається перевага, з укапевні ознаки цього винаходу були реалізовані з занням символів або типів символів, до яких можвикористанням програмного забезпечення для на було б одержати доступ натисненням клавіш комп'ютера. Однак фахівцю в даній галузі техніки "вліво", "вправо", "вгору" і/або "вниз" (або їхніх екбуде абсолютно очевидно, що будь-яка з цих вівалентів, наприклад, у разі керуючих переміщенознак може бути реалізована за допомогою апараням пристроїв кулькового типу). Скорочена віртуатного забезпечення або поєднання апаратного і льна клавіатура може використовуватися і в інших програмного забезпечення. Більш того легко зрозастосуваннях, особливо у випадках, коли для зуміти, що функції, що виконуються апаратним відображення клавіатури відводиться небагато забезпеченням, програмним забезпеченням для місця. комп'ютера тощо виконуються на електричних і Термін "кнопка-прапорець" ("check box") може подібних ним сигналах, або з їх використанням. означати графічний об'єкт будь-якої форми, наОзнаки, пов'язані із зберіганням інформації, приклад, круглий, який може відображати різні можуть бути реалізовані за допомогою придатних стани, переважно два стани, що відповідають стаелементів пам'яті або запам'ятовувальних принам "встановлений" і "невстановлений" (але можстроїв. Ознаки, пов'язані з обробленням інформаливо і більш ніж два стани), і який може змінювати ції, можуть бути реалізовані придатним процесосвій стан одноманітним чином при натисненні на ром або засобом керування, або програмно, або ньому або при його виборі користувачем. Стан апаратно, або з використанням поєднання того і "встановлений" може вказуватися зазначкою (птиіншого. чкою), хрестиком або іншим декоративним симвоУ будь-якому або у всьому з вищезазначеного лом кнопки-прапорця. цей винахід може бути здійснений в будь-якій з Для простоти використання наведені нижче нижченаведених форм, декількох із нижченаведетерміни, що використовуються в цій заявці, мають них форм або у всіх нижченаведених формах: він такі значення, яким віддається перевага: може бути здійснений в способі використання комHTML: мова, що описує документи, якими обп'ютерної системи; він може бути здійснений в мінюються в Інтернет. Документ може включати в самій комп'ютерній системі; він може бути здійснесебе посилання на сайти, форматовану інформаний в комп'ютерній системі, що програмується на цію, звуки і зображення тощо. виконання такого способу використання цієї сисHTTP: протокол для обміну даними між Інтертеми, або пристосованій або виконаній з можливінет-серверами, на яких зберігаються HTMLстю такого виконання; і/або він може бути реалізодокументи, і прикладною програмою-навігатором, ваний в носії інформації, який може бути що відображає ці HTML-документи. прочитаний комп'ютером і на якому записана проMPEG-2: спосіб кодування динамічних зобраграма, пристосована для роботи відповідно до жень і звуку в реальному часі. способу використання цієї системи, що пропонуРРР: протокол обміну даними при віддаленоється. му доступі, що дозволяє з'єднувати один з одним Термін "комп'ютерна система", що використодва комп'ютери через модем. вується в даному тексті, може бути в рівній мірі Proxy-сервер: Розміщена на сервері прикладзамінений на "комп'ютер", "система", "обладнанна програма, що забезпечує безпеку при з'єднанні ня", "пристрій", "машина" і подібні терміни. з Інтернет, а також буферизує HTTP- і FTP-запити. Наведені в формулі винаходу номера позицій Сеанс: Відображення з'єднання або прикладвикористані лише для наочності і не повинні тлуної програми певного типу в пам'яті на даний момачитися як такі, що мають обмежуючу дію на об 39 77390 40 сяг прав, визначуваний формулою винаходу. цим заявляє про своє авторське право відносно Щоб уникнути яких-небудь сумнівів Заявник прикладених графічних матеріалів. 41 77390 42 43 Комп’ютерна верстка О. Гапоненко 77390 Підписне 44 Тираж 26 прим. Міністерство освіти і науки України Державний департамент інтелектуальної власності, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601
ДивитисяДодаткова інформація
Назва патенту англійськоюMethod and device for data entry when using graphical user interface
Назва патенту російськоюСпособ и устройство для ввода данных при использовании графического интерфейса пользователя
МПК / Мітки
МПК: H04N 5/445, G06F 9/44, G06F 3/048, G06F 3/023, H03M 11/04
Мітки: gui-інтерфейсу, введення, даних, використанні, пристрій, спосіб
Код посилання
<a href="https://ua.patents.su/22-77390-sposib-i-pristrijj-dlya-vvedennya-danikh-pri-vikoristanni-gui-interfejjsu.html" target="_blank" rel="follow" title="База патентів України">Спосіб і пристрій для введення даних при використанні gui-інтерфейсу</a>
Попередній патент: Пристрій для визначення параметрів і механічного пошкодження бульб
Наступний патент: Спосіб кондиціонування рудникового повітря та установка для його здійснення
Випадковий патент: Спосіб оцінки активності патологічного процесу порожнини рота при атопічній патології