Область изобретения.
Настоящее изобретение относится в основном к кассетным видеорекодерным (записывающим) системам и в частности к свойству предварительной программируемости таймера кассетных видеорекодеров, а также к устройству и способу для использования закодированной информации для сокращения времени, необходимого для выполнения предварительного программирования таймера.
Известный уровень техники.
Кассетный видеорекодер имеет несколько применений, включающих воспроизведение с лент, записанных с помощью видеокамеры, воспроизведение предварительно записанных лент и записывание и воспроизведение вещательных и кабельных телевизионных программ.
Чтобы записать телевизионную программу, перед ее просмотром часто приходится выполнять двухэтапную операцию: (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.
Вероятности, ассоциированные с каждым каналом, временем и длительностью, приведенные выше в примерах, используются для определения должного порядка следования.
Поскольку таблицы приоритетных векторов уже упорядочены выбором наиболее популярных каналов, времен и продолжительностей, порядок, в котором надлежит выбирать между различными битами одной таблицы, например, для выбора между битами C7 C6 C5 C4 C3 C2 C1, также известен. Бит C1 будет выбран первым, поскольку, он, будучи наименьшего порядка двоичным битом, будет избран при выборе из первых двух записей в таблице канальных приоритетов. Затем будет выбран бит C2, и так далее. Аналогично, биты T1 и L1 будут предшествовать любые биты, относящиеся к времени и длительности. Первыми будут использоваться биты, составляющие комбинацию C1 T1 L1 и D5 D4 D3 D2 D1, представляющие всю необходимую информацию о номере канала, дате, времени и длительности. Биты D5 D4 D3 D2 D1 всегда используются, поскольку биты о дате имеют одинаковый приоритет, и они все нужны для указания даты, даже если некоторые из этих битов представлены двоичными нулями.
В этот момент ключ битовой иерархии может быть записан так:
T1 C1 L1 D5 D4 D3 D2 D1
Один первый двоичный бит каналов C можно использовать для выбора между двумя каналами 21 = 2 канала, и первые два канала имеют вероятности (в процентах) 5 и 4.3 соответственно. Поэтому разностная вероятность C1 равна 9.3. Аналогично, разностная вероятность T1 равна 8 + 7.8 = 15.8, и разностная вероятность L1 равна 50 + 20 = 70. Если строго соблюдать правила упорядочивания применительно к ключу битовой иерархии, то первыми восемью битами ключа битовой иерархии будут следующие:
C1 T1 L1 D5 D4 D3 D2 D1;
поскольку L1 имеет наивысший разностный приоритет, он появляется первым, потом T1 и затем C1.
Возникает вопрос; какой из битов T2 C2 L2 будет следующим в ключе иерархий. Это определяется разностными вероятностями, которые можно вычислить по приведенным выше таблицам для каждого индивидуального бита. Поскольку мы имеем дело с двоичными битами, бит C2 в комбинации с битом C1 позволяет сделать выбор между 22 = 4 каналами или на два канала более, чем один бит C1. Разностная вероятность для C2 поэтому равна сумме вероятностей этих двух дополнительных каналов и, для примера, равна 4 + 3 = 7. Подобным же образом бит C3 в комбинации с C1 и C2 позволяет сделать выбор между 23 = 8 каналами или из числа каналов, которые превышает на 4 = 2(3-1), то число, которое определяется комбинацией битов C1 и C2. Поэтому разностная вероятность C3 является суммой вероятностей этих четырех дополнительных каналов и, для примера, равно: 2.9 + 2.1 + 2 + 1.8 = 8.8. Таким же образом, разностные вероятности T2 и L2 оказываются равными 6 + 5 = 11 и 15 + 5 = 20 соответственно. После вычисления всех разностных вероятностей следующим шагом является определение битовых комбинаций, которые являются наиболее вероятными.
Применительно к приведенному выше примеру возникает вопрос: какая комбинация - T2 с C1 L1, C2 с T1 L1, L2 с T1 C1 - более вероятна. Это определит следующий бит в ключе. Таким образом надо найти большее число их 11 x 9.3 x 70 = 7161, 20 x 15.8 x 9.3 = 2938.8. В данном случае комбинацией с наибольшей вероятностью будет 7 x 15.8 x 70 = 7742, которая соответствует комбинации C2 с T1 L1. Поэтому C2 назначается следующим битом в ключе битовой иерархии.
Следующий бит выбирают аналогичным образом. Какая из комбинаций наиболее вероятна: C с T L , T с C1 или C2 и L1, L2 с C1 или C2 и T1. Применительно к примеру это перефразируется так: Какое из чисел 8.5 x 15.8 x 70; 11 x (9.3 + 7) x 70 = 12551 или 20 x (9.3 + 7) x 15.8 = 5150.8 наиболее вероятно? В данном случае наиболее вероятной комбинацией является 11 x (9.3 + 7) x 70 = 12551, которая соответствует T2 с C1 или C2 и L1. Поэтому T2 назначается следующим битом в ключе битовой иерархии. Эта процедура повторяется для каждой из разностных вероятностей, пока не будет полностью составлен ключ иерархии.
Альтернативно, ключом битовой иерархии может быть любая произвольная последовательность битов. Возможно также сделать вектора приоритетности взаимозависимыми, для чего, например, можно сделать вектор приоритетности длительностей зависимым от различных групп каналов. Другой способ состоит в том, чтобы сделать ключ битовой последовательности 120 и таблицы векторов приоритетности 122 функцией часов, как это иллюстрирует фиг.7. Это делает затруднительным дублирование или копирование ключа и, следовательно, самого способа кодирования.
Например, есть возможность смешать биты дат в ключе битовой иерархии 120 как функцию часов. Это не изменит эффективность ключа битовой иерархии в сокращении числа двоичных битов для наиболее популярных программ, поскольку биты дат имеют одинаковый приоритет. Это можно осуществить простым переставлением битов 0 и 0 периодически, ежедневно или еженедельно. Таким образом ключ битовой иерархии будет попеременно иметь вид:
... C1 T1 L1 D5 D4 D3 D2 D1
... C1 T1 L1 D1 D4 D3 D2 D5
Ясно, что можно определить другие перестановки в ключе иерархии битов в функции часов.
Таблицы векторов приоритетности также можно перемешивать в функции часов. Например, первые два канала в таблице приоритетов каналов можно периодически менять местами. Если следовать этому способу, тогда Cp 148 на фиг.7 будет изменяться как функция часов 42. Например, таблица векторов приоритетности (см. табл. 10) будет периодически изменяться на таблицу, приведенную ниже (см. табл. 11).
Это сравнительно бесхитростный способ обеспечения секретности, поскольку декодер будет ошибаться лишь в тех случаях, когда используются первые два канала. Чтобы обеспечить секретность способа кодирования, можно определить другие зависимости от часов.
После определения каким угодно способом ключ битовой иерархии 120 заполняется. На шаге 154 двоичные биты Cp Dp Tp Lp переставлены в соответствии с ключом битовой иерархии 120 для создания одного 22-битногодвоичного числа. Затем это 22-битное число преобразуется в десятичное число при выполнении шага "преобразования двоичного числа в десятичный G-код" 156. Результатом будет G-код 158.
Если вектор приоритетности и ключ битовой иерархии хорошо согласуются с зрительскими привычками большинства населения, то можно ожидать, что G-код каждой из наиболее популярных программ будет состоять не более чем из 3 - 4 цифр.
Поскольку способ кодирования получил выше разъяснение, то следует напомнить, что декодирование является обратным действием относительно кодирования. Декодирование выполняется в соответствии с алгоритмом, приведенным на фиг. 6. Это предпочтительный вариант декодирования G-кода, который можно заложить в декодер G-кода 38 кассетного видеорекодера 14 или декодеры G-кода 82 и 92 дистанционного контроллера, изображенные на фиг.3 и 5.
Первым шагом является ввод G-кода 104. Следующий G-код преобразуется в 22-битное двоичное число на шаге 106. Затем на шаге 108 биты переставляются в соответствии с ключом иерархии 120 для получения последовательности переставленных битов 110. Затем эти биты группируются и преобразуются к десятичному виду на шаге 112. Здесь получают данные Cp Dp Tp Lp 114, которые являются индексами применительно к таблицам векторной приоритетности. На этом шаге для рассматриваемого примера будет получен вектор 4 9 1 3. Затем на шаге 116 данные Cp Dp Tp Lp 114 используются для поиска номера канала, даты, времени и длительности в памяти векторов приоритетности 122. Применительно к рассматриваемому примеру CDTL 118 (код номера канала, даты, времени и длительности) будет иметь вид 5 10 19.00 1.5, означая канал 5, десятый день месяца, 7:00 пополудни и длительность 1.5 часа.
Если способ кодирования является функцией часов, то и способ декодирования надо сделать функцией часов. Возможно сделать ключ битовой иерархии 120 и таблицы векторной приоритетности 122 функцией часов 42, как это проиллюстрировано на фиг. 6. Это также затрудняет дублирование или копирование ключа и, следовательно, способа кодирования. Возможно сделать способы кодирования и декодирования зависимыми от любого другого предопределенного или предварительно программируемого алгоритма.
Хотя описанные выше способы кодирования и декодирования G-кода являются предпочтительными, должно быть ясно, что существуют другие способы для осуществления цели настоящего изобретения, состоящей в сокращении числа нажимов клавиш, необходимого для предварительного программирования таймера. Для достижения этой цели есть множество способов осуществления кодирования и декодирования G-кода.
Есть также много способов сделать способы кодирования и декодирования более секретными, помимо определения их как функции часов. Секретность может обеспечить любой предопределенный или предварительно запрограммированный алгоритм.
При выполнении кодирования и декодирования G-кода можно использовать системами со смешанными основаниями, помимо двоичных чисел. Например, предположим, что имеется лишь 35 каналов, для определения которых требуется лишь 6 двоичных битов; однако 6 двоичных битов можно использовать для нумерации 64 каналов, поскольку 26 = 64. В результате система с двоичным основанием будет иметь 29 лишних позиций. Это может привести к тому, что некоторый конкретный G-код может оказаться длиннее, чем действительно необходимо. Система со смешанными основаниями счисления устраняет этот недостаток, Например, при наличии 35 каналов система со смешанными основаниями с факторами 71 и 50 способна представить 35 комбинаций без пустых позиций в коде. Пусть числами для фактора 71 являются 0,1, 2,3 и 4. Пусть допустимыми числами для фактора 50 являются 0, 1, 2, 3, 4, 5 и 6. Например, цифра 0 представляется в виде 00 в системе со смешанными основаниями. Десятичная цифра 34 в системе со смешанными основаниями представляется как 46, поскольку 4 x 71 + 6 x 50 = 34. Основным преимуществом системы со смешанными основаниями счисления является приоритезация ключа иерархии. Если первые пять каналов обладают почти одинаковыми приоритетами и следующие 30 каналов также обладают почти одинаковыми приоритетами, то система со смешанными основаниями счисления позволяет весьма точно обозначить эти два множества. Это не означает, что система со смешанными основаниями счисления обязательно предпочтительна. Двоичные числа проще представлять в компьютере, и использование системы счисления с постоянным основанием, подобной системы двоичных чисел, позволяет весьма просто представлять пирамиду приоритетов в ключе иерархии.
Другим признаком, который желателен во всех вариантах осуществления, является способность ввода G-коду однажды для каждой программы, чтобы затем иметь окончательную информацию о номере канала, дате, времени и длительности для использования ежедневно или еженедельно. Обычно после одноразового использования информация о номере канала, дате, времени и длительности уничтожается. В том случае, если одна и та же программа записывается ежедневно или еженедельно, информация о номере канала, дате, времени и длительности запоминается и применяется, пока не последует ее уничтожение. Чтобы можно было осуществить желание записывать программу ежедневно или еженедельно, надо иметь клавишу "Ежедневно" или "Еженедельно" на дистанционном контроллере или среди органов ручного управления кассетного видеорекодера. Возможен другой способ, когда используется одна клавиша, подобная клавише "Программа", которую нажимают несколько раз за определенный период времени, например, дважды, чтобы задать ежедневность, и трижды, чтобы задать еженедельность. Например, если переключатель "G-код" состоит в позиции "Включен" и G-код желаемой программы представлен числом 99, то ежедневное записывание этой программы можно задать следующими клавишными нажимами: "PROG 99 DAILY PROG". или "PROG 99 PROG PROG". G-код будет преобразован в информацию о номере канала, дате, времени и длительности, которая затем будет запомнена и, в данном случае, использоваться ежедневно. Записывание будет начинаться в назначенную дату и продолжаться ежедневно после этого, используя ту же самую информацию о канале, времени и длительности. Незначительное отклонение может состоять в том, что ежедневное записывание может быть автоматически приостановлено в выходные дни, поскольку большинство программ изменяются по субботам и воскресеньям.
После однократной настройки программы, она будет использоваться постоянно ежедневно или еженедельно. Если понадобится отменить программу или если есть клавиша "Исключить" на дистанционном контроллере или в качестве органа ручного управления на кассетном видеорекодере, то один из способов исключить программу (будь она нормальной еженедельной записью об информации о номере канала, дате, времени и длительности) надо ввести следующее: "PROG xx CANCEL", где "xx" проставлено вместо G-кода.
Как и прежде, есть альтернативные способы для выполнения этого.
Если есть возможность выполнять "экранное программирование", то программы, которые были выбраны для предварительного программирования таймера, можно наблюдать на экране. Ежедневные и еженедельные программы будут должным образом отмечены. Можно также вывести на экран G-коды с сопроводительной информацией о номере канала, дате, времени и длительности. Это сделает весьма простым просмотреть текущее "меню" или добавить или исключить программы при желании.
Фиг.8 иллюстрирует телевизионный календарь 200, соответствующий настоящему изобретению. Как показано, телевизионный календарь имеет разделы 202 кратных (повторяющихся) дней года, разделы дней (недели) 204, разделы повторяющихся времен дня 206, обозначения каналов 208 и описания программ 210, составленные так, как это принято для публикаций телевизионных справочников. Рядом с обозначением каждого канала размещен сжатый код 212, или G-код, содержащий информацию о номере канала, дате, времени и длительности именно для этой записи в телевизионном календаре. Фиг.8 ясно показывает, как просто осуществлять предварительное программирование таймера. Все, что надо сделать - это отыскать программу, которую желательно посмотреть, и ввести сжатый код. Это выгодно противостоит необходимости иметь дело с выводом по отдельности каждой записи, указывающей номер канала, дату, время и длительность. По крайней мере, номер канала, дата и время точно указываются в телевизионном справочнике. Длительность обычно можно определить лишь в результате просмотра справочника в разделе "время дня" 204 с целью поиска начала новой программы и последующих арифметических вычислений. При использовании сжатого G-кода все эти недостатки исчезают.
Что касается программ кабельного телевидения, есть еще один пункт, который следует осветить, чтобы подчеркнуть полезность G-кода. В обычном телевизионном справочнике информация о номере канала, дате, времени и длительности представляется для всех нормальных вещательных каналов в форме чисел, включающих номера каналов, подобных 4 или 7. Однако для кабельных каналов, подобных НВО, ESPN, т.д., только наименования этих каналов проставляются в телевизионных справочниках. Причина в том, что в некоторых областях метрополии, подобных Лос-Анжелосу, может распространяться лишь одна (1) редакция телевизионного справочника, но может быть достаточно много кабельных носителей, каждый из которых может присваивать НВО или ESPN совершенно различным кабельным каналам. Чтобы сделать сжатый код, подобный G-коду, применимым к кабельным каналам, проставленным в телевизионном справочнике, предназначенном для распространения на обширной территории, можно использовать следующий подход.
Во-первых, каждому из кабельных каналов надо присвоить постоянный уникальный номер, который будет действовать повсеместно (на территории страны). Например, можно присвоить ESPN кабельному каналу 1, НВО кабельному каналу 2, SNO кабельному каналу 3, т.д. Такое распределение (каналов) должно быть опубликовано в телевизионных справочниках.
Затем, кассетное видеозаписывающее устройство (рекодер), подобный дистанционному контроллеру, кассетному видеорекодеру или одновременно оба, можно снабдить двумя дополнительными режимами: "Настройка" и "Кабельный канал". Один из способов предоставления возможности пользователю управлять этими режимами состоит в введении двух дополнительных кнопок: одной под названием "Настройка" и другой - "Кабельный канал". Эти кнопки можно расположить на кассетном видеорекодере или на дистанционном контроллере, как это проиллюстрировано фиг.1, 3 и 5, где кнопка "Настройка" обозначена позицией 168 и кнопка "Кабельный канал" позицией 170. Конечно, возможны другие способы осуществления сопряжения с пользователем.
Далее, телезритель должен однажды выполнить процедуру "настройки" своего кассетного видеорекодера на все кабельные каналы, которые он намеревается обозревать. Эта настроечная процедура сопоставляет присвоенные кабельным каналам номера с локальными кабельными носителями. Например, предположим, что локальный кабельный носитель использует канал 6 для ESPN; в таком случае первый канальный номер может быть присвоен ESPN, как это иллюстрирует табл. 12.
Пользователь может выполнить настроечную процедуру нажимами клавиш на своем дистанционном контроллере следующим образом:
SET 06 CABLE CHANNEL 1 PROGRAM
SET 24 CABLE CHANNEL 2 PROGRAM
SET 23 CABLE CHANNEL 3 PROGRAM
SET 25 CABLE CHANNEL 9 PROGRAM
Настроечная процедура создает адресную таблицу кабельных каналов 162, которая может быть загружена в память произвольного доступа 52 командного контроллера 36. Применительно к приведенному выше примеру таблица адресов кабельных каналов будет содержать следующую информацию.
Таблица адресов кабельных каналов 162
1 - 6
2 - 24
3 - 23
...... - ......
...... - ......
8 - 25
После завершения настроечной процедуры телезритель может выбирать кабельные каналы для просмотра старым способом; например, нажим клавиш клавиатуры, задающих число 24, выберет НВО. Однако он может сделать это по-новому; например, он может нажать CABLE CHANNEL 2, что также влечет выбор НВО. Преимущество нового способа состоит в том, что телевизионный справочник будет указывать (C2) рядом с описанием программы, чтобы телезритель искал в нем присвоенный номер канала, а не старался бы вспомнить, что НВО является 24 локальным кабельным каналом. Когда нажата клавиша "Кабельный канал", командный контроллер 36 знает, что он должен искать номер локального кабельного канала в таблице адресов кабельного канала 162, чтобы наносить кассетный видеорекодер на правильный канал.
Для предварительного программирования таймера и для использования сжатого (сокращенного) G-кода способ разделения вещательных и кабельных каналов состоит в добавлении восьмого канального бита, который будет устанавливаться в "0" для обычных вещательных каналов и устанавливаться в "1" для кабельных каналов, подобных НВО.
Восьмым канальным битом может быть один из наименее значащих битов, каким является, например, третий бит C3 из восьмиканальных битов, чтобы число битов, указывающих популярные каналы, было минимальным, будь то нормальные вещательные или кабельные каналы. Для обычного вещательного канала семь других битов могут декодироваться в соответствии с таблицей C векторов приоритетности 124.
Для кабельных каналов семь других битов могут декодироваться в соответствии с самостоятельной таблицей векторов приоритетности каналов 160, которая может храниться в только считываемой память 54 микроконтроллера 36. Таблицу векторов приоритетности кабельных каналов можно создать наперед для всей страны или по крайней мере для области, на которую рассчитан достаточно обширный телевизионный справочник.
Телевизионный справочник, содержащий сокращенный код, известный G-код, будет содержать печатную информацию о кабельном канале, приведенную в табл. 13.
Фиг.8 иллюстрирует часть телевизионного справочника.
Кабельным каналам присвоен кабельный канальный номер 188, проставляемый после мнемоники кабельного канала. Во всем остальном информация о кабельном канале организуется точно так, как и для вещательных каналов со сжатым G-кодом 212, ассоциированным с каналом.
Для предварительного программирования таймера зрителю лишь нужно ввести номер 4 679 в соответствии с процедурой ввода G-кода в устройство; например, PROG 4 679 PROG. Декодер G-кода декодирует этот G-код в "кабельный канал 2" и также сигнализирует командный контроллер 36 посылкой сигнала кабельного канала 164, как это показывают фиг.1 и 2, поскольку дополнительный канальный бит будет равен 1, что означает, что G-код должен применяться к кабельному каналу; затем поскольку ассоциация между "кабельный канал 2" и каналом 24 была ранее учреждена в ходе настроечной процедуры, командный контроллер, если получит сигнал кабельного канала, немедленно найдет 2 в таблице адресов кабельных каналов 162, чтобы перевести это число в кабельный канал 24, который в заданное время станет записываемым каналом. Ассоциирование G-кода с присвоенным номером кабельного канала, а не с локальным кабельным номером, сделает G-код программы действующим для целой области, которая может обладать несколькими различными кабельными носителями, каждый из которых может быть обозначен различными локальными номерами кабельных каналов.
Декодирующий и кодирующий алгоритмы, реализующие использование сокращенных G-кодов кабельных каналов, представлены на фиг.9 и 10 соответственно. Кодирование будет описано перед декодированием. Основным отличием содержимого фиг. 10 от фиг.7 является то, что добавлена таблица векторов приоритетности кабельных каналов 160, которая используется на шаге "опознание приоритетности" 180, если кодируется кабельный канал. Также, если кодируется кабельный канал, бит "кабельный канал" вставляется на заданную битовую позицию на шаге "преобразование Cp Dp Tp Lp в двоичные числа" 182. Им может быть бит C3, как сказано выше. Может быть определен ключ битовой иерархии, как это разъяснено выше, для уменьшения числа битов в номерах наиболее популярных программ; однако он должен быть длиной 23 бита, чтобы вместить бит "кабельный канал". Максимальной длиной сокращенного G-кода по-прежнему могут быть 7 цифр, поскольку 223 = 8388608.
Декодирование проиллюстрировано на фиг.9, и оно является обратным процессом относительно кодирования. После шага 108 добавляется тестирование бита кабельного канала 174 и тестируется бит кабельного канала с целью определения его равенства "l". Если он действительно равен 1, командный контроллер 36 оповещается сигналом "кабельный канал" 164 (см. фиг.1 и 2), что код о номере канала, дате, времени и длительности 118, который будет выслан ему декодером G-кода 38 относится к кабельному каналу. После этого командный контроллер знает, что надо искать номер канала локального кабельного носителя, учитывая приписанный номер кабельного канала. На шаге 176 фиг.9 таблицы векторной приоритетности, включая таблицу векторной приоритетности кабельных каналов 160, используются для поиска информации о коде 118.
Альтернативой к тому, что командный контроллер принимает сигнал "кабельный канал" 164, является то, чтобы заставить декодер G-кода выполнять весь объем декодирования, включая преобразование приписанного кабельного номера в локальный номер кабельного носителя. Это можно было бы учесть при реализации дистанционного контроллера, представленного на фиг.3. Фиг.11 представляет способ реализации целостного алгоритма декодирования, если будет включен этот шаг. Все, что необходимо добавить, - это шаг "преобразовать приписанный канал в канал локального кабельного носителя" 166, на котором выполняется поиск в таблице адресов кабельных каналов 162, если бит "кабельный канал" указывает, что информация относится к кабельному каналу. Шаг 166 полностью заменяет шаг 174 на фиг.9.
Другим пунктом, которому следует уделить внимание, является число программ, которое можно предварительно запрограммировать. Поскольку G-код в большей степени упрощает ввод программ, весьма вероятно, что пользователь быстро обучится это делать и пожелает ввести большое число программ; однако некоторые существующие кассетные видеорекодеры способны запоминать лишь до четырех программ, а другие могут запоминать до восьми. Поэтому пользователь может разочароваться ограниченными способностями к программированию кассетного видеорекодера.
Одним из подходов к решению этой проблемы является выполнение декодирования сокращенного G-кода в дистанционном контроллере и предоставление достаточного объема памяти ему для хранения большего числа программ, например 20 или 40. Дистанционный контроллер мог бы обладать способностью периодически пересылать несколько из хранящихся программ за один раз на основной кассетный видеорекодер. Чтобы обеспечить какую возможность надо встроить дополнительную память, именуемую стековой, 76 в дистанционное устройство, как это иллюстрирует фиг. 12, которая отличается от той, которая представлена на фиг.4. Стек 76 можно реализовать в виде произвольного доступа памяти, которая может быть расположена внутри самого микроконтроллера, подобно памяти произвольного доступа 62.
Стековая память 76 является тем устройством, посредством которого осуществляют ввод, добавление и исключение информации при предварительном программировании таймера. Именно здесь осуществляется редактирование. Верхние запоминающие ячейки стека, которыми, например, могут быть первые четыре ячейки, точно соответствуют наличной памяти, используемой для предварительного программирования таймера, в основном кассетном видеорекодере. При всяком изменении верхней части стековой памяти новая информация будет пересылаться на основной кассетный видеорекодер для его обновления.
Фиг.13 представляет последовательность событий, когда пользователь вводит G-код программы с клавиатуры дистанционного контроллера. Для иллюстрированных целей предположим, что кассетный видеорекодер может иметь дело лишь с четырьмя программами. Дополнительно предположим, что вместимость стековой памяти позволяет предварительно программировать таймер на 20 программ. Как видно по алгоритму на фиг.13, когда пользователь введет G-код на шаге 230, микроконтроллер 60 сначала декодирует его в информацию о номере канала, дате, времени и длительности на шаге 234 и представит его на дисплее с сопроводительным словом "введен". Затем микроконтроллер вводит декодированную программу в стековую память на шаге 236.
Если вводится первая программа, то она размещается в верхней ячейке стековой памяти. Если в стековую память уже записано несколько программ, то вновь введенная программа сначала будет размещена в нижней части стековой памяти. Затем стековая память будет упорядочена во временном аспекте на шаге 240 таким образом, что наиболее ранняя программа окажется в верхней ячейке и последняя по времени программа будет внизу. Обратите внимание, что сущность упорядоченной по времени стековой памяти в том, что изменение содержимого n-ной ячейки памяти влечет изменения во всех ячейках, следующих за ней вниз.
Например, предположим, что в стековой памяти хранится шесть записей, упорядоченных по времени, и введена новая запись, которая при временном упорядочении должна занять третью ячейку (первая ячейка является верхней). Если эту запись сделать в третью ячейку, то информация, которая размещалась в ячейках 3, 4, 4, 6 должна быть смещена в ячейки 4, 5, 6 и 7. Содержимое ячеек 1 и 2 останется неизменным.
Микропроцессор 60 после выполнения упорядочения во времени на шаге 242 проверяет: изменились ли первые n-записей; в рассматриваемом примере n принято равным 4. В этом случае, поскольку новая программа записана в ячейку 3, то, что было содержимым ячейки 3, перемещается в ячейку 4. Поскольку меню программ основного кассетного видеорекодера из четырех записей должно точно соответствовать содержимому ячеек с 1 по 4 стековой памяти, записи 3 и 4 в основном кассетном видеорекодере должны быть изменены. Поэтому микроконтроллер посылает новые записи 3 и 4 на основной видеорекодер, что соответствует шагу 244 на фиг.13. Если вновь введенная программа после упорядочения во времени должна быть вписана в ячейку 5, то записи с 1 по 4 не будут отличаться от прежних и микроконтроллер не пошлет какого-либо сообщения основному кассетному видеорекодеру, и микроконтроллер возобновит слежение за показанием часов 85 и клавиатурой 88, как он это делал на шаге 246. Предполагается, что, когда пользователь вводит G-код на шаге 230, дистанционный контроллер направлен на основной кассетный видеорекодер. Другие шаги, изображенные на фиг.13, выполняются настолько быстро, что изменения пересылаются на шаге 244 за время, пока дистанционный контроллер еще направлен на основной кассетный видеорекодер.
Если пользователь решит исключить некоторую программу на шаге 233, исключение сначала выполняется из стековой памяти. Если подвергаются воздействию первые четыре записи, то микропроцессор пошлет обновленную информацию на основной кассетный видеорекодер. Если первые четыре записи остаются неизменными, то дистанционный контроллер ничего не пошлет. Изменение изменяет лишь нижнюю часть стековой памяти (нижние ячейки с номерами 5-20). Эта новая информация будет послана на основное кассетное видеорекодерное устройство в подходящее время.
А перед этим основной кассетный видеорекодер будет выполнять свою функцию предварительного программирования таймера, выполняя по одной ввод записей о предварительном программировании таймера. Когда все четыре записи будут выполнены, стек дистанционного контроллера перешлет несколько новых записей, чтобы "наполнить" основной кассетный видеорекодер (если стековая память имеет более 4 записей).
За показанием часов физического времени 85 в дистанционном контроллере следит микроконтроллер, чтобы определять, когда надо использовать программы, хранящиеся в основном (видеорекодерном) устройстве. Как показано алгоритмом на фиг.14, микроконтроллер периодически сверяет показание часов с временами программ, расположенных в верхней части стека, на шаге 250 (скажем, первых четырех записей), которые идентичны меню основного устройства кассетного видеорекодера. Если в ходе одной из периодических проверок он установит, что записывание меню основного устройства завершено, то, если в стеке еще остались записи, которые тестировались на шаге 252, дисплей будет переведен в режим мигания или будет выдавать мигающее сообщение на шаге 258, побуждая пользователя заслать еще несколько программ. Когда в следующий раз пользователь возьмет в руки дистанционное устройство, мигание напомнит ему, что программное меню основного устройства кассетного видеорекодера выполнено и что настало время пополнить основное устройство программами, хранящимися в дистанционном устройстве. Для этого пользователю надо лишь взять в руки дистанционное управление и направить его на основное устройство видеорекодера и нажать клавишу "ВВЕСТИ". Это повлечет заполнение верхней части стековой памяти на шаге 260, т.е. все записи в стековой памяти сместятся вверх на четыре ячейки. Затем микроконтроллер перешлет новую "вершину" стека (т.е. 4 верхних записи) на основное устройство видеорекодера на шаге 262. Этот процесс будет продолжаться до исчерпания всего содержимого стековой памяти.
Есть основания полагать, что из приведенного выше описания можно понять устройство и способ для использования закодированной информации для предварительного программирования таймера видеорекодера/плейера, соответствующих настоящему изобретению, а также сопутствующие преимущества; должно быть ясно, что можно сделать разнообразные изменения в форме, конструкции и расположении частей без отклонения от существа и объема настоящего изобретения или упразднения всех его материальных преимуществ, при этом описанная выше форма является лишь предпочтительным или иллюстративным вариантом его осуществления.
На фиг.6:
1 - ввести G-код (от 1 до 7 цифр),
2 - преобразовать десятичное число в 22-битное двоичное число,
3 - переставить все биты в соответствии с ключом битовой иерархии,
4 - сгруппировать биты команд, задающих канал, дату, время и длительность, для формирования четырех двоичных чисел, затем преобразовать в десятичные числа,
5 - поиск канала, даты, времени и длительности в таблицах приоритетности векторов,
6 - G-код,
7 - ключ иерархии битов (зависит от времени),
8 - часы,
9 - таблица приоритетности векторов каналов,
10 - таблица приоритетности векторов дат,
11 - таблица приоритетности векторов времен,
12 - таблица приоритетности векторов длительностей,
13 - место хранения векторов приоритетности (зависящих от времени).
На фиг.7:
1 - ввести канал, дату, время и длительность,
2 - канал дата, время, длительность,
3 - поиск приоритетности канала, даты времени и длительности в таблицах приоритетности векторов,
4 - десятичные числа,
5 - преобразователь .... в двоичные числа,
6 - переставить все биты в соответствии с ключом битной иерархии; создать 22-битное двоичное число,
7 - преобразовать двоичное число в десятичный G-код,
8 - таблица приоритетности векторов каналов,
9 - таблица приоритетности векторов дат,
10 - таблица приоритетности векторов времен,
11 - таблица приоритетности векторов длительностей,
12 - место хранения векторов приоритетности (зависящих от времени),
13 - часы,
14 - ключ битной иерархии (зависящей от времени).
На фиг.9:
1 - ввести G-код,
2 - преобразовать десятичное число в двоичное число,
3 - переставить все биты в соответствии с ключом битной иерархии,
4 - проверить, не является ли бит кабельного канала единичным; если да, то послать сигнал кабельного бита 164 на командный контроллер, исключить бит кабельного канала из 110,
5 - сгруппировать остальные биты, задающие канал, дату, время и длительность, для образования 4 двоичных чисел и преобразовать в десятичные числа,
6 - отыскать канал, дату, время и длительность в таблице приоритетности векторов; если бит кабельного канала равен 1, то использовать таблицу приоритетности векторов кабельных каналов 160,
7 - канал, дата, время и длительность,
8 - ключ битной иерархии (зависящей от времени),
9 - часы,
10 - таблица приоритетности векторов каналов,
11 - таблица приоритетности векторов дат,
12 - таблица приоритетности векторов времен,
13 - таблица приоритетности векторов длительностей,
14 - таблица приоритетности векторов кабельных каналов.
На фиг.10:
1 - ввести канал, дату, время и длительность,
2 - найти приоритетность канала, даты, времени длительности в таблицах приоритетности векторов; если указан кабельный канал, воспользуетесь таблицей (160) приоритетности векторов кабельных каналов,
3 - десятичные числа,
4 - преобразуйте .... в двоичные числа; если указан кабельный канал, то добавьте единичный бит кабельного канала; в противном случае сделайте эти биты нулевым,
5 - расположите последовательно и переставьте все биты в соответствии с ключом иерархии,
6 - преобразуйте двоичные числа в десятичный G-код,
7 - G-код,
8 - таблица приоритетности кабельных каналов,
9 - таблица приоритетности векторов каналов,
10 - таблица приоритетности векторов дат,
11 - таблица приоритетности векторов времен,
12 - таблица приоритетности векторов длительностей,
13 - место хранения приоритетности векторов (зависящих от времени),
14 - часы,
15 - ключ битной иерархии (зависящей от времени).
На фиг.11:
1 - ввести G-код,
2 - преобразовать десятичные числа в двоичные числа,
3 - переставить все биты в соответствии с ключом битной иерархии,
4 - сгруппировать остающиеся биты, указывающие канал, дату, время и длительность, для образования 4 двоичных чисел и преобразовать их в десятичные числа,
5 - найти канал, дату, время и длительность в таблицах приоритетности векторов; если бит "кабельный канал" равен единице, то используйте таблицу приоритетности векторов кабельных каналов,
7 - преобразуйте присвоенные кабельным каналам номера в номера локальных каналов кабельного носителя; если бит "кабельный канал" равен единице, то ищите канал локального кабельного носителя в таблице 162,
8 - канал, дата, время, длительность,
9 - ключ битной иерархии (зависящей от времени),
10 - часы,
11 - таблица приоритетности векторов каналов,
12 - таблица приоритетности векторов дат,
13 - таблица приоритетности векторов времен,
14 - таблица приоритетности векторов длительностей,
15 - место хранения векторов приоритетности (зависящих от времени),
16 - таблица приоритетности векторов кабельных каналов,
17 - таблица адресов кабельных каналов.
На фиг.13:
1 - пользователь вводит программу G-кодом,
2 - микроконтроллер вводит программу декодера в стековую память,
3 - микроконтроллер декодирует G-код и посылает информацию о канале, дате, времени и длительности на дисплей; дисплей показывает "ввод" или "исключение" программы,
4 - микроконтроллер переписывает записи в стековой памяти в правильной временной последовательности,
5 - микроконтроллер проверяет наличие изменений в первых N ячейках, где N - число программ, с которыми может справиться основное устройство кассетного видеорекодера,
6 - нет,
7 - режим резервирования: продолжается слежение за показанием часов реального времени и клавиатурой; переход к 230, 232 или 250 соответственно,
8 - да,
9 - если число измененных записей больше или равно m (m ≤ N), перешлите записи с m по N на основное устройство кассетного видеорекодера,
10 - пользователь вводит ключ для исключения G-кодированной программы,
11 - микроконтроллер исключает программу из стековой памяти.
На фиг.14:
1 - используя часы реального времени, микроконтроллер периодически проверяет, не наступило ли время окончания N-ой программы, записанной в стековой памяти; если число программ в стековой памяти меньше N, проверьте, не прошло ли время останова последней программы (N - число программ, с которыми может справиться основное устройство кассетного видеорекодера),
2 - нет,
3 - да,
4 - число программ в стековой памяти больше N?
5 - микроконтроллер заставляет дисплейное устройство мигать, чтобы привлечь внимание пользователя,
6 - была ли нажата клавиша ВВЕСТИ?
7 - резервный режим (фиг.13),
8 - прекращение мигания дисплейного устройства,
9 - переслать "верхнюю часть стека", т.е. верхние N записей или остающиеся записи, выбирая то, что меньше, на основное устройство кассетного видеорекодера,
10 - "поднять" вверх стека, т.е. сместить вверх содержимое стека на N записей.
Изобретение относится в основном к кассетным видеорекодерным системам, в частности к предварительно программируемым таймерам кассетных видеорекодеров, а также к устройству и способу для использования закодированной информации, которая позволяет программировать устройство для предварительного программирования таймера, встроенное в кассетный видеорекодер с помощью сокращенного кода, который декодирует декодер, встроенный либо в кассетный видеорекодер, либо в дистанционный контроллер, чтобы преобразовать сокращенный код в информацию о канале, дате, времени и длительности. Эта информация поступает на кассетный видеорекодер и используется для активизации его для записи заданной телевизионной программы. Альтернативно, эта информация декодируется непосредственно на дистанционном контроллере и на кассетный видеорекодер поступают лишь команды о начале записи и выборе канала в подходящий момент времени. Алгоритм декодирования сокращенных кодов может быть функцией времени для обеспечения секретности способа декодирования. Описаны способ и устройство для предварительного программирования таймера на большое число программ. Техническим результатом данного изобретения является создание системы, которая существенно проще, быстрее и менее подвержена ошибкам. 4 с. и 3 з.п.ф-лы, 13 табл., 14 ил.
US 4843482 A, 27.06.89 | |||
US 4841132 A,20.06.89 | |||
US 4475153 A, 02.10.84 | |||
Устройство записи сигнала изображения | 1987 |
|
SU1429339A1 |
Устройство записи и воспроизведения телевизионного сигнала | 1978 |
|
SU974601A1 |
Авторы
Даты
1999-02-20—Публикация
1989-12-16—Подача