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

Реферат

 

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

Область изобретения.

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

Известный уровень техники.

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

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

В зависимости от модели, года выпуска и типа кассетного видеорекодера информацию о номере канала, дате, времени и длительности можно запрограммировать несколькими способами, включающими: (I) нажимание на подходящую последовательность клавиш на консоли в соответствии с инструкциями, содержащимися в руководстве для пользователя, (II) нажимание подходящей последовательности клавиш на ручном дистанционном управляющем устройстве в соответствии с инструкциями, содержащимися в руководстве для пользователя (дистанционное программирование), и (III) выполнение серии нажимов на клавиши ручного дистанционного управляющего устройства, руководствуясь меню, представленным на телевизионном экране (непосредственное программирование). Известны другие способы предварительного программирования таймера, включающие в себя: (IV) записывание определенной информации штриховым кодом с помощью светового пера (программирование световым пером) и (V) ввод команд через компьютер или телефонный модем. Эти различные способы отличаются лишь физическими средствами задания информации, в то время как содержимое, будучи информацией о номере канала, дате, времени и длительности и некоторыми командами включения/отключения питания, часов, таймера, в целом остается единообразным, хотя подробный протокол изменяется вместе с моделью кассетного видеорекодера. При исполнении названных выше способов в отдельности может потребоваться вплоть до 100 нажатий на клавиши, что стало препятствием широкого использования свойства предварительной программируемости таймера кассетных видеорекодеров. Чтобы устранить это неудобство, новые модели кассетных видеорекодеров стали делать со свойствами "непосредственной программируемости", которое допускает дистанционный ввод информации о номере канала, дате, времени и длительности в ответ на меню, предоставленное на телевизионном экране. Как правило, непосредственное (экранное) программирование информации о номере канала, дате, времени и длительности предполагает выполнение около 18 нажимов на клавиши, т.е. число нажимов оказывается меньшим, чем требуется для осуществления более ранних способов, однако по-прежнему значительно. Некоторые другие способы, подобные способы IV (программирование световым пером), требует использования специального оборудования, подобного считывателю штриховых кодов.

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

Краткое описание изобретения.

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

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

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

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

Краткое описание чертежей.

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

Фиг. 2 является схемой встроенных в кассетный видеорекодер процессов управляющих команд и декодирующих коды.

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

Фиг. 4 является схемой процессора, встроенного в дистанционный контроллер.

Фиг. 5 является схемой универсального дистанционного контроллера с декодирующим коды средством, встроенным в универсальный дистанционный контроллер.

Фиг. 6 представляет алгоритм декодирования G-кода.

Фиг. 7 представляет алгоритм кодирования G-кода.

Фиг. 8 является иллюстрацией части телевизионного календаря, соответствующего настоящему изобретению.

Фиг. 9 представляет алгоритм декодирования кабельных каналов.

Фиг. 10 представляет алгоритм кодирования кабельных каналов.

Фиг. 11 представляет алгоритм декодирования G-кода для кабельных каналов, включая переход от абонентского номера кабельного канала к локальному номеру несущего канала кабеля.

Фиг. 12 представляет средство декодирования, включая стековую память.

Фиг. 13 представляет алгоритм ввода программы в стековую память.

Фиг. 14 представляет операционный алгоритм пересылки программ от дистанционного контроллера на основную аппаратную часть кассетного видеорекодера.

Описания предпочтительных вариантов осуществления.

На фиг. 1 изображено устройство для использования закодированной информации о предварительном программировании таймера видеорекодера/плейера, соответствующее настоящему изобретению. Основные компоненты включают в себя дистанционный контроллер 12 и кассетный видеорекодер/плейер с декодером G-кода 14, который может быть управляем дистанционным контроллером 12 посредством командного сигнала 16. Дистанционный контроллер 12 может иметь несколько клавиш, которые включают в себя цифровые клавиши 20, переключатели G-кодов 22, функциональные клавиши 24, программная клавиша 26 и клавиша "питание" 27. В дистанционный контроллер 20 встроены средства, интерпретирующие нажим на любую клавишу и посылают подходящий командный сигнал 16 на кассетный видеорекодер через излучающий инфракрасный свет диод 28. Исключая переключатель G-кода 22 на дистанционном контроллере 12, изображенном на фиг. 1, дистанционный контроллер 12 аналогичен любому другому дистанционному контроллеру функционально. Переключатель G-кода 22 введен для того, чтобы пользователь мог фиксировать дистанционный контроллер 12 в режиме G-кода, когда нужно использовать G-код, под которым подразумевается сжатый код, содержащий закодированную информацию о номере канала, дате, времени и длительности, для выполнения предварительного программирования таймера.

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

Чтобы преимущества применения G-кода стали понятны, ниже дано описание лучшего, что известно на современном уровне техники, а именно: "экранное" (непосредственное программирование с прямым цифровым вводом. Этот способ предполагает выполнение около 18 клавишных нажимов, а также поочередное перенесение взгляда между телевизионным экраном и дистанционным контроллером во время ввода информации о номере канала, дате, времени и длительности. Эта ситуация сродни той, когда пользователь набирает телефонный номер из 18 цифр, считывая его из телефонной книги. Количество цифр и переключение внимания влекут появление ошибок. Типичная последовательность нажимов клавиш, которую надо ввести в таймер при экранном программировании номера канала, даты, времени и длительности, имеет следующий вид: PROG 2 1 15 07 30 2 08 00 2 04.

Первая клавиша "программа" 26 задает режим программирования. Затем набирается последовательность цифровых клавиш 20. Нажим клавиши 2 означает, что будет производиться запись в таймер, а не задание времени. Нажим на клавишу 1 означает, что пользователь вводит параметры для программы 1. Нажимы клавиш 15 вводят дату. Ввод числа 07 задает минуту начала. Нажим клавиши 2 означает "пополудни". Следующая последовательность 08 00 2 задает время окончания. Набор 04 задает номер канала. Наконец, PROG вновь нажимают для выхода из режима программирования.

В противоположность этому, такую команду можно было бы закодировать и ввести как типичную G-кодовую последовательность в следующем виде: PROG 1138 PROG. Для указания, что команда закодирована G-кодом, переключатель "G-код" следует поставить в позицию "Включен". Вместо переключателя можно использовать отдельную клавишу "G-код". В этом случае последовательность клавишных нажимов при программировании G-кодом будет иметь такой вид: G 1138 PROG. Использование G-кода вовсе не исключает "экранное" подтверждение введенной программной информации. Если нажимами на клавиши ввести последовательность "PROG 1138", когда переключатель "G-код" стоит в позиции "Включен", то G-код будет декодирован и на телевизионном экране появляется сообщение, приведенное в табл. 1.

Чтобы G-код стал полезным, он должен декодироваться, и для этой цели создано устройство. Как иллюстрирует фиг.1, созданы кассетный видеорекодер (плейер с декодером G-кода 14), который предназначен для использования совместно с дистанционным контроллером 12. Командный сигнал 16, посланный от дистанционного контроллера 12 воспринимается фотодиодом 32 и преобразуется в электрические сигналы на приемнике командных сигналов 30. Электрические сигналы поступают на командный контроллер 36, который интерпретирует эти команды и решает, как реагировать на эти команды. Как показано на фиг.1, предусмотрена возможность получения командным контроллером 36 команд от органов ручного управления 34, обычно встроенных в кассетный видеорекодер.

Среди других источников команд можно назвать речь, если опознаватель голоса встроен в кассетный видеорекодер, и сканнер штриховых кодов. Если командный контроллер 36 установит, что был принят G-код, то этот G-код будет послан для кодирования на декодер G-кода 38. Декодер G-кода 38 преобразует G-код и информацию о номере канала, дате, времени и длительности, которую использует командный контроллер 36 для настройки канального/временного программирования 40. В кассетный видеорекодер встроены часы 42. Они являются стандартным атрибутом кассетного видеорекодера и используются для слежения за временем.

Часы 42 главным образом используются блоком программирования времени/канала 40 и декодером G-кода 38. Функция программирования времени/канала настраивается информацией о номере канала, дате, времени и длительности, поступающей от командного контроллера 36. Когда часы 42 покажут заданные дату и время, функциональный блок программирования времени-канала 40 включит функциональный блок "записывание/воспроизведение" 44 на записывание. В то же самое время переключатель 46 будет настроен на заданный канал в телевизионном сигнале 18.

Альтернативный способ управления рекодером состоит в том, чтобы заставить командный контроллер 36 хранить всю информацию о номере канала, дате, времени и длительности, вместо того чтобы посылать ее на блок программирования времени/канала 40. Командный контроллер дополнительно следит за временем путем периодического считывания показания часов 42. В таком случае командный контроллер посылает команды на блок программирования времени/канала 40 для включения и отключения рекодера и на переключатель каналов 46, чтобы заставить его настроиться на заданный канал в заданное время в соответствии с информацией о номере канала, дате, времени и длительности.

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

Возможная реализация командного контроллера 36 с декодером G-кода 38 представлена на фиг.2. Функцию командного контроллера может реализовать микропроцессор 50, память произвольного доступа 52 и только считываемая память 54, которая используется для хранения программ. Функция ввода/вывода 56 осуществляет прием команд от приемника командных сигналов 30, органов ручного управления 34 и часов 42 и выдачи сигналов на дисплей 35, часы 42 и функциональный блок программирования времени/канала 40. Если микропроцессор убедится, что принят G-код, то этот G-код пересылается на микроконтроллер 60 для декодирования. Микроконтроллер 60 обладает встроенной памятью произвольного доступа 62 и встроенной памятью произвольного доступа 64 для хранения программ и таблиц. Часы 42 могут давать свои показания микропроцессору 50 и микроконтроллеру 60.

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

Блоки, изображенные на фиг.1 и 2, хорошо известны специалистам в данной области техники и описаны в следующих патентах: Филдс, номер патента 4.481.412; Шольц, номер патента 4.519.003; Бруглера, номер патента 4.631.601.

Например, часы 42 аналогичны элементу 7 в описании патента Шольца и элементу 17 в описании патента Бруглера. Другими аналогичными элементами являются: приемник командных сигналов 30 обозначен позицией 14 Шольцем и 12 Бруглером; переключатель каналов 46 обозначен позицией 6 Шольцем и 12 Бруглером; блок программирования времени/канала 40 обозначен 8, 11 Шольцем и 16 Бруглером; блок записывание-воспроизведение 44 обозначен 1, 2, 4 Шольцем; командный контроллер 36 обозначен 11, 10 Шольцем и 12 Бруглером; микропроцессор 50 обозначен Филдсом 27; произвольного доступа память 62 обозначена 34 Филдсом; только считываемая память 54 обозначена позицией 33 Филдсом; органы ручного управления 34 обозначены позициями 15, 16 Шольцем; дистанционный контроллер 12 обозначен позицией 26 Шольцем и 18 Бруглером.

Фиг. 3 иллюстрирует альтернативный предпочтительный вариант осуществления настоящего изобретения. Изображенный на фиг.3 дистанционный контроллер обладает встроенным декодером G-кода 80. Дистанционный контроллер со встроенным декодером G-кода 80 очень схож с дистанционным контроллером 12, исключая введение декодера G-кода 82. Обратите внимание, что любой дистанционный контроллер можно оснастить дисплеем 84. Дистанционный контроллер со встроенным декодером 82 может использоваться совместно с обычным кассетным видеорекодером/плейером 70, который в таком случае не оснащается декодером G-кода. Части и детали кассетного видеорекодера/плейера 70, оцифрованные одинаково с частями и деталями кассетного видеорекодера/плейера с декодером G-кода 14, выполняют функции, описанные выше применительно к последнему, исключая присущие отсутствующему декодеру G-кода 38. Этот предпочтительный вариант осуществления имеет то преимущество, что его можно использовать совместно с кассетными видеорекодерами более ранних выпусков. Именно с теми, которые не обладают способностью декодировать G-код. Замена таких дистанционных контроллеров на обладающие встроенной способностью способна расширить применимость предварительного программирования таймера при сравнительно умеренных затратах.

Фиг. 4 иллюстрирует возможную реализацию декодера G-кода 82, встроенного в дистанционный контроллер со встроенным декодером G-кода 80. Микропроцессор 60 может использоваться, как и прежде, для декодирования G-кода, а также для сопряжения дисплея 84, часов 85, клавиатуры 88 и светоиспускающего диода 28. Альтернативно, можно применять другие аппаратные средства для исполнения декодирования G-кодов. Часы встроены в дистанционный контроллер 80, чтобы декодер G-кода 82 имел на одном из своих входов сигналы от часов. Это позволяет сделать декодирование G-кодов функцией времени (часов), чем обеспечивается защита от несанкционированного доступа и затрудняется копирование.

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

Альтернативой обладания дистанционным контроллером со встроенным декодером G-кода, который посылает информацию о номере канала, дате, времени и длительности на кассетный видеорекодер-плейер 70, является обладание встроенным декодером G-кода для выполнения операций, упрощающих проблему сопряжения с существующими кассетными видеорекодерами/плейерами. В частности, если дистанционный контроллер не только выполняет декодирование G-кода информации о номере канала, дате, времени и длительности, но также следит за показаниями часов 85, то дистанционный контроллер может посылать лишь номер канала, команды начала и окончания записывания на кассетный видеорекодер/плейер. Эти команды обычно являются основными одноклавишными, что предполагает, что нет надобности следовать сложному протоколу, или строить сложной структуры предложение. Таким образом, чтобы обеспечивалась связь с множеством разнообразных моделей кассетных видеорекодеров/плейеров, надо лишь иметь память внутри дистанционного контроллера, подобную только считываемой памяти 64 на фиг. 4, для хранения словарного запаса всех моделей или по крайней мере возможно большего их числа. G-код можно будет вводить на дистанционном контроллере, как и раньше, и он будет декодироваться в информацию о номере канала, дате, времени и длительности, которая будет храниться в дистанционном контроллере. Часы 85 будут следить за временем и, когда наступит нужный момент, будет посылать автоматически команды на кассетный видеорекодер для переключения на нужный канал и для начала и останова записывания. Оценено, что только два байта на одну клавишу при 15 клавиша необходимо, чтобы запомнить словарный запас любой модели кассетного видеорекодера/плейера. Таким образом, чтобы охватить 50 моделей необходимо лишь около 30 x 50 = 1500 байтов памяти в дистанционном контроллере. Необходимо правильно располагать дистанционный контроллер относительно кассетного видеорекодера, чтобы инфракрасные сигналы, посылаемые дистанционным контроллером были приняты этим устройством.

Другой предпочтительный вариант осуществления предполагает создание универсального дистанционного контроллера 90 со встроенным декодером G-кода. Универсальные дистанционные контроллеры предоставляют возможность воспроизводить действия нескольких различных дистанционных контроллеров. Это ограничивает количество дистанционных контроллеров, которыми должен располагать пользователь. Это достигается введением блока с клавишей "обучение" 94 на универсальный дистанционный контроллер, изображенный на фиг.5. Если нажать клавишу "функция обучения" 94 вместе с другой клавишей, то устройство войдет в режим обучения. Инфракрасные импульсы, входящие от дистанционного контроллера и подлежащие изучению, детектируются инфракрасным фотодиодом 96, фильтруются и преобразуются в опознаваемую битовую последовательность перед тем, как будут записаны микроконтроллером в статическую произвольного доступа память, питаемую батарейкой, в качестве конкретной последовательности инфракрасных импульсов для конкретной клавиши. Это выполняется для каждой отдельной клавиши.

Примером более сложного изучения может быть следующее. Если нажать клавишу "функция обучения" 94 вместе с клавишей "программа" 26, когда переключатель "G-код" стоит в позиции "Выключен", устройство узнает, что ему предстоит записать последовательность клавишных нажимов предопределенного конкретного примера предварительного программирования таймера конкретного кассетного видеорекодера, подвергающегося эксплуатации. Затем пользователь должен ввести последовательность клавишных нажимов, на основании которой универсальный дистанционный контроллер 90 сможет распознать и записать протокол последовательности предварительного программирования таймера. Это необходимо, поскольку различные кассетные видеорекодеры имеют различные форматы команд предварительного программирования таймера.

Если клавиши нажаты, но не нажата клавиша "функция обучения" 94, то микроконтроллер воспримет это как указание о необходимости работать в исполнительском режиме. Если нажата одна из клавиш непосредственных команд, микроконтроллер считает из своей статистической произвольного доступа памяти хранящуюся импульсную последовательность и передаст слова команды со своего выхода, заставляющие светоизлучающий диод 28 выдать импульсную последовательность. Если этой клавишей является клавиша "Программа" и переключатель "G-код" стоит в позиции "Отключен", то микроконтроллер будет воспринимать последующие нажимы клавиш вплоть до следующего нажима на клавишу "Программа" как команду предварительного программирования таймера информацией о номере канала, дате, времени и длительности и передаст ее через посредство светоизлучающего диода 28. Если переключатель "G-код" 22 стоит в позиции "Включен" и нажата клавиша "Программа" 26, то микроконтроллер будет воспринимать последующие нажимы клавиш вплоть до следующего нажима на клавишу "Программа" как команду "G-кода" для предварительного программирования таймера. Он декодирует "G-код" в информацию о номере канала, дате, времени и длительности, и затем микроконтроллер заглянет в "словарь", хранящийся в его статической произвольного доступа памяти, чтобы считать ассоциированные последовательности инфракрасных импульсов и упорядочить их перед посылкой на параллельный выход, чтобы считать ассоциированные последовательности инфракрасных импульсов и упорядочить их перед посылкой на параллельный выход, чтобы заставить светоизлучающий диод 28 передать импульсную последовательность как целое сообщение в виде непрерывного потока на кассетный видеорекодер.

Фиг. 4 иллюстрирует одну из возможных реализаций декодера G-кода 92, который может быть встроен в универсальный дистанционный контроллер со встроенным декодером G-кода 90. Микроконтроллер 60 можно использовать, как и прежде, для декодирования G-кода, а также для сопряжения с функциями ввода/вывода, одну из которых исполняет фотодиод 96. Альтернативно, декодирование G-кода можно осуществлять другими аппаратными средствами.

Универсальным дистанционным контроллером можно также пользоваться другим способом для упрощения проблемы сопряжения с известными кассетными видеорекодерами/плейерами. В частности, если универсальный дистанционный контроллер исполняет не только декодирование G-кода в информацию о номере канала, дате, времени и длительности, но также следит за ходом времени с помощью часов 85, изображенных на фиг.4, то универсальный контроллер оказывается способным посылать лишь команды, задающие номер канала, начало записывания и окончание записывания, на кассетный видеорекодер/плейер, которыми, как разъяснено выше, обычно являются основные одноклавишные команды, что означает, что не используются сложные протоколы или структуры предложения. Таким образом, чтобы иметь связь с обширным набором разнообразных моделей кассетного видеорекодера-плейера, универсальному дистанционному контроллеру необходимо лишь изучить каждую клавишу дистанционного контроллера, которого он подменяет. G-код будет вводиться на универсальном дистанционном контроллере, как и прежде, и декодироваться в информацию о номере канала, дате, времени и длительности, которая будет храниться в универсальном дистанционном контроллере. С помощью часов 85 будет осуществляться слежение за ходом времени, и, когда настанет нужный момент, универсальный дистанционный контроллер автоматически пошлет команды на кассетный видеорекодер-плейер, задающие нужный канал и начало и конец записывания. Необходимо будет правильно расположить универсальный дистанционный контроллер относительно кассетного видеорекодера-плейера, чтобы сигналы, посланные универсальным дистанционным контроллером, достигли кассетного видеорекодера-плейера.

Если несколько способов, которыми можно осуществить декодирование G-кода. Наиболее очевидным является использование обширной справочной таблицы. G-код будет служить индексом. Однако этот способ весьма неэффективен и обязывает использовать дорогой декодер, чему причиной необходимость наличия обширной памяти. Объем необходимой памяти является функцией числа полных комбинаций. Если мы предположим наличие 128 каналов, 31 день в месяц, 48 включений на час и включений на полчаса за 24 часа в сутки и 16 возможных длительностей с получасовым приращением, то полное число комбинаций будет равно 128 x 31 x 48 x 16 = 3047424.

Это число комбинации можно представить 7 десятичными цифрами. Адресом в таблице будет 7-значное десятичное число. В худшем случае это потребует наличие справочной таблицы, в которой около 4000000 строк и 15 - 16 цифровых столбцов, что зависит от конкретного протокола. Эти цифровые столбцы будут соответствовать информации о номере канала, дате, времени и длительности, необходимой при "экранном" (непосредственно) программировании. Каждая цифра представляется четырьмя двоичными числами. Таким образом, общее количество бит памяти, необходимых для создания справочной таблицы, составляет около 4000000 x 16 x 4 = 256000000. На известном уровне техники один чип содержит около одного миллиона битов. Поэтому декодирование G-кода, использующее полную справочную таблицу, потребовало значительных затрат на огромное число чипов.

Однако имеются более изощренные способы выполнения декодирования G-кода. Фиг. 6 представляет вариант предпочтительного способа декодирования G-кода. Чтобы понять сущность декодирования G-кода, проще всего разобраться сначала в сущности кодирования G-кодом, которое проиллюстрировано фиг. 7. Только после этого будут даны разъяснения по вопросам декодирования G-кода, которое является обратным процессом относительно кодирования G-кода.

Кодирование G-кодами можно осуществлять на любом компьютере и применяется перед созданием любого справочника программ, который будет содержать G-коды. Для каждой программы, которая будет указана в справочнике, на шаге 142 вводятся номер канала, дата, время и длительность в виде кода 144. На шаге 146 отдельно считывается приоритетность для номера канала, даты, времени и длительности и заносится в память векторов приоритетности 122, которая располагается в только считываемом запоминающем устройстве 64. 122 содержит четыре таблицы: таблицу C векторов приоритетности 124, таблицу D векторов приоритетности 126, таблицу T векторов приоритетности 128 и таблицу L векторов приоритетности 130.

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

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

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

Пример заполнения таблицы L векторов приоритетности 130 приведен в табл. 5.

Предположим, что данные о номере канала, дате, времени и длительности 144 записаны цифрами 5 10 19.00 1.5, что означает, что номер канала - 5, дата - десятый день месяца, время - 7:00 пополудни и длительность в часах 1.5 часа, тогда данные Cp Dp Tp Lp 148 для приведенного выше примера будут иметь вид 4 9 1 3. Шаг 150 преобразует Cp Dp Tp Lp данные в двоичные числа. Число двоичных битов в каждом преобразовании определяется числом имеющихся комбинаций. Семь битов для Cp, которое можно обозначить C7 C6 C5 C4 C3 C2 C1, дают возможность указывать номера 128 каналов. Пять битов для Dp, которые можно обозначить D5 D4 D3 D2 D1, позволяют указать 31 дней в месяц. Шесть битов для Tp, которые можно обозначить T6 T5 T4 T3 T2 T1, позволяют задавать 48 моментов начала в каждом часе суток. Четыре бита для длительности, которое можно обозначить L4 L3 L2 L1, позволяют задавать длительность программы вплоть до 8 часов с шагом полчаса. Всего предполагается использовать 7 + 5 + 6 + 4 = 22 бита информации, которые соответствуют 222=4194304 комбинациям.

Следующим шагом является использование ключа битовой иерархии 120, хранящегося в только считываемой память 64, для перестановки 22 битов. Ключом битовой иерархии 120 может быть любая последовательность из 22 битов. Например, ключ битовой иерархии может иметь вид, приведенный в табл. 6.

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

Далее следуют T1 C1 L1, поскольку при любой дате необходимо иметь номер канала и длительность, и T1, C1, L1 наиболее вероятны в любом случае в силу порядка следования векторов приоритетности, записанному в памяти векторов приоритетности 122. Следующий бит в ключе иерархии определяется разностными вероятностями различных комбинаций. Следует знать вероятности всех каналов, времен и длительностей для проведения подобного вычисления. Например, вероятность для каналов может быть такой, как показано в табл. 7, вероятности времен - как в табл. 8, вероятности для продолжительностей могут быть такими, как показано в табл. 9.

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

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