(57)【要約】【課題】より簡易なテレビジョン番組情報取得。【解決手段】テレビジョン番組情報を通信する方法であって、ユーザ装置と前記ユーザ装置から遠隔の地点に位置するテレビジョンスケジュール情報のデータベースとの間の通信リンクを確立し、前記ユーザ装置からのテレビジョン番組選択基準を前記ユーザ装置から遠隔の前記地点に通信し、テレビジョン番組選択基準に基づいてテレビジョンスケジュール情報のデータベースを検索して、データベースから、前記テレビジョン番組選択基準と一致するテレビジョン番組に対応する番組識別データを導き出し、そして前記番組識別データを前記通信リンクを介してユーザ装置に送信するステップを含む方法。【選択図】図８２
2010288303.tif 000002
【特許請求の範囲】
【請求項１】
本願明細書に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にビデオカセットレコーダシステムに関し、特にタイマー使用の予約を実行するのに要する時間を短縮するために符号化情報を使用し、種々の家庭電化製品を遠隔制御し、これらの装置の初期設定ルーチンを容易に実行するための装置及び方法に関する。
【背景技術】
【０００２】
ビデオカセットレコーダ（ＶＣＲ）は、ビデオカメラで撮影したテープの再生や、録画済みテープの再生、あるいはテレビ放送やケーブルテレビ番組の録画再生などのために、非常に多くの人々によって使われている。
【０００３】
今から後に放送されるテレビ番組を録画するには、通常次の２つのステップによって行う。すなわちまず、（１）テレビ番組表から所望の番組のチャンネル番号、日付、時刻、および番組の長さに関する情報（ＣＤＴＬ）を取得し、次に（２）これらのＣＤＴＬ情報をＶＣＲにプログラムすることよって行う。ＶＣＲのモデル、タイプ、年代によってＣＤＴＬ情報をプログラムする方法は、まちまちである。例えば、（ｉ）取り扱い説明書の指示に従ってキーを適切な順序で押していく。（ii）取り扱い説明書の指示に従ってリモートコントローラのキーを適切な順序で押していく（リモートプログラミング）。（iii）
テレビ画面の表示されるメニューに従って、リモートコントローラの一連のキー操作を行う（オンスクリーンプログラミング）等の方法がある。さらにこの他にも、タイマー予約設定の方法として（iv）ライトペンを用いてバーコード情報を読み取る（ライトペンプログラミング）、（ｖ）コンピュータあるいは電話モデムによる指示に従う、などの方法が提案されている。これらのいろいろな方法は、情報を指定する物理的方法が互いに異なってはいるが、そのＣＤＴＬ情報及び電源スイッチ、時計、タイマーオンオフ命令、などの内容は共通である。ただし、プロトコルの細部は、ＶＣＲの機種ごとにそれぞれ異なっている。上記の（ｉ）及び（ii）の方法では、キーの操作回数が１００回もの多くになることもあり、ＶＣＲのタイマー予約方法としては適切なものとは言えない。このような欠点を軽減するために、最近のＶＣＲのモデルは、オンスクリーンプログラム機能、すなわち、テレビ画面上に表示されるメニューに従ってＣＤＴＬ表示をリモート操作で入力していく機能を備えるようになってきている。一般に、ＣＤＴＬ情報をオンスクリーンプログラムで入力するには、平均１８回のキー操作が必要である。この回数は、先の方法と比較すると少なくなっているものの、なお相当に多数の回数を必要としている。一方、他の方法、例えば上記（iv）の方法では、バーコードリーダなどの特別な装置が必要となる。
【０００４】
一般に、従来の方法は多くの欠点を有している。まず、第１に、ＶＣＲに録画予約の設定を行う手順は、非常に複雑で、間違いやすく、また覚えるのが難しい。事実、そのために、多くのＶＣＲのユーザが、せっかくのタイマー録画予約の機能を使おうとしない。第２に、ＣＤＴＬ情報をＶＣＲに間違いなく設定するのは非常に困難である。実際、多くのＶＣＲのユーザが、タイマー録画予約機能についてプログラム設定誤りが頻繁に起こると述べている。第３に、熟練したユーザにとっても、所望の番組について、チャンネル、日付、時刻、長さといった情報を長々と入力していく作業は非常に面倒なものである。第４に、バーコードなどを用いて情報を読み取る技術、あるいはコンピュータを用いる方法は、特別な装置を必要とする。これらの欠点は、ＶＣＲを用いてテレビ番組を録画しようとする際の深刻な障害となっている。その結果、番組録画によるタイムシフトは、過去に期待されたほどには一般的になっていない。従って、より簡単な装置で、ユーザがもっと自由に完全に使いこなせるＶＣＲタイマー録画予約の技術が求められてる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の基本的な目的は、ＶＣＲの録画予約を行う際に必要となるチャネル、日付、時刻、および長さについての情報（ＣＤＴＬ情報）を、従来の方法と比較してより簡単に、よりすばやく、より少ない誤りの選択・入力することができる改良された装置を提供することである。本発明の他の目的はタイマー録画予約を制御する機能を有するテレビジョンを提供することである。
【０００６】
本発明によるビデオ装置の録画予約機能によって、コード化されたビデオ録画再生タイマー予約情報を用いるための装置と方法とが提供される。ここで、目的とするところは、ＶＣＲにタイマー録画予約を行う際に必要となるキー操作回数を著しく低減することである。本発明によれば、ユーザは、１から７桁あるいはそれ以上のコードをＶＣＲに対して入力するだけでよい。この操作は、リモート操作で行うことも、あるいはＶＣＲに直接に行うことも可能である。コードを正しいＣＤＴＬ予約情報に自動的に変換して、そのチャネル、日付、時刻、および長さに対応した録画をＶＣＲを行わせるための解読手段が、リモートコントローラあるいはＶＣＲに組み込まれる。一般に、複数の番組を予約するために、複数のコードを一度に入力することが可能である。上記のコードは、テレビ番組案内にあらかじめ印刷しておき、この印刷されたコードをＶＣＲあるいはリモートコントローラを用いてユーザが選択するようにすることが可能である。
【０００７】
これらの特徴を組み込んだ製品は、現在、市販され、売れ行きも大変よい。ＶＣＲＰｌｕｓ＋の商標で販売されているインスタントプログラマは、録画するテレビ番組のための圧縮符号（各々が１から８桁の長さ）が入力されるハンドヘルドユニットを含む。圧縮符号は、印刷されたテレビ番組表に、極めて一般的に示されている。インスタントプログラマは、プログラマのメモリに記憶される、チャンネル、日付、時間及び長さのコマンドに圧縮コードを復号化する。現在時間に最も近い、メモリ内の番組の日付及び時間が現在時間と一致することが、内部クロックにより判別されると、赤外線発信器及びユニバーサルリモート技術を使用したインスタントプログラマは、チャンネルを正しいチャンネルとするために、赤外線遠隔制御信号をケーブルボックス又はビデオレコーダに送り、そしてレコーダをオンして録画を開始するために、赤外線遠隔制御信号をビデオレコーダに送る。メモリに記憶された番組の長さが完了すると、録画を停止するために赤外線遠隔制御信号が、ビデオレコーダに送られる。
【０００８】
ＶＣＲＰｌｕｓ＋プログラマが使用される以前は、ユーザは、初期設定手順を踏まねばならなかった。この手順は、ユーザのビデオレコーダ及びケーブルボックスのブランド及びモデル名をプログラマに入力し、プログラムマに時間を設定し、あるネットワーク及びケーブルチャンネル用の“全国”チャンネル番組を、ユーザのケーブルシステムで、これらのチャンネルに使用されている実際のチャンネル番号に対応させるローカルチャンネルマップを入力することを含む。インスタントプログラマは、製造時に、多種のケーブルボックス及びビデオレコーダを遠隔制御するために必要な赤外線符号をＲＯＭ中に記憶させている。ケーブルボックス及びビデオレコーダのモデル及びブランドが入力されなければならないのは、インスタントプログラマがユーザの個別のビデオレコーダ及びケーブルボックスのために、ＲＯＭに記憶された赤外線コードの正しいものを使用できるようにするためである。
【０００９】
本出願の親出願に於いて開示された別の実施例では、インスタントプログラマの復号器、メモリ及び赤外線発信器は、ビデオレコーダに内蔵されている。ビデオレコーダのキーを通じてか、又はビデオレコーダの遠隔操作部を通じて、１から８桁の圧縮符号がビデオレコーダに直接入力される。圧縮符号は、ビデオレコーダによりチャンネル、日付、時間及び長さコマンドに復号化され、ビデオレコーダのメモリに記憶される。メモリ中の番組の日付及び時間が、ビデオレコーダのクロックにより供給されている実際の時間と一致すると、ビデオレコーダは、赤外線発信器及びユニバーサル遠隔技術を使用して、赤外線遠隔制御信号をケーブルボックスへ送り、ケーブルボックスは、ケーブルボックスの同調のチャンネルを希望チャンネルへ変更する。ビデオレコーダは、今や正しく同調したケーブルボックスから受信されたテレビ信号の録画を開始するために内部的に信号を出す。メモリに記憶されている時間長が、経過すると、ビデオレコーダは、自身を停止する。
【００１０】
ＶＣＲＰｌｕｓ＋インスタントプログラマのように、内蔵のインスタントプログラム装置及び遠隔制御発信器を備えたビデオレコーダが使用される以前は、初期設定手順を踏む必要があった。ケーブルボックスのブランド及びモデル及びローカルチャンネルマップがビデオレコーダにマニュアルで入力されなければならなかった。
【００１１】
本発明は、インスタントプログラマ及び遠隔制御発信器を内蔵するビデオレコーダの改良に関する。本発明は、遠隔地点からビデオレコーダへ電話線を通じてデータをダウンロードすることに関連する。幾つかの実施例では、ダウンロードされる情報は、本発明によらない場合は、手動でユーザが入力しなければならない初期設定データである。手動入力の代わりに、ユーザは、電話で顧客サービス代理人を呼出し、初期設定を実行するに必要な情報を代理人に口頭で指示することができる。代理人は、必要な情報をコンピュータに入力し、コンピュータは、それをデータを電話線を通じて、電話線に接続されているビデオレコーダにダウンロードする。種々の実施例に於いて、ビデオレコーダは、ビデオレコーダのモジュラーフォーンジャックにより、又はビデオレコーダに接続されたマイクに近接して配置された電話の受話器により電話線に接続される。他の実施例では、データは、ビデオレコーダに直接ではなく、データがビデオレコーダに送信される如何なる方法でもよいが、電話線を通じてＶＣＲ遠隔制御装置にダウンロードされる。以後は、データは、ＶＣＲ遠隔制御装置からビデオレコーダに、ＶＣＲ遠隔制御装置により送信され且つビデオレコーダにより受信される赤外線遠隔制御信号を通じて送信される。
【００１２】
これらのどの実施例でも、ユーザが情報を手動入力する必要はなく、初期設定は、転送され、ビデオレコーダに記憶される。
【００１３】
本発明の他の基本的な目的は解読手段をテレビジョンに組み込むようにすることにある。そのようにすれば、適切な時刻においてテレビジョンが適切なコマンドをＶＣＲおよびケーブルボックスに対して送り、所望の番組を録画することが可能となる。ユーザは、テレビジョンのリモートコントローラから、あるいはテレビジョンに直接に、録画しようとする番組を表すコードを入力することができる。この同じテレビジョンリモートコントローラあるいは直接制御機能を用いて、ユーザは、チャネル選択などの通常のテレビジョン機能の制御を行うことが可能である。コードが入力されると、これがテレビジョンまで伝達されてテレビジョン中に組み込まれたデコーダによってＣＤＴＬ情報が解読される。なお、元のコード自身とＣＤＴＬ情報とを画面上に表示するようにして、ユーザがコードが正しく入力されたかどうかを確認できるようにすることもできる。次に、適当な時刻になると、テレビジョンは適当なコマンドをＶＣＲおよびケーブルボックスに送信し、もし必要があれば、選択された番組の録画を行わせる。この制御機能は、赤外線リンクを用いて実行することができる。その際、赤外線送信器はテレビ受像機のキャビネットに、好適にはキャビネットの角に、設置される。テレビジョン回路に、ＶＣＲおよびケーブルボックス用の赤外コードプロトコルを記憶する、あるいは学習する機能を含ませるようにすることが可能である。
【００１４】
本発明の他の基本的な目的は、解読手段をビデオカセットレコーダ、ケーブルボックス、衛星受信機などのテレビジョンに関係するいろいろな装置に組み込むことである。どのようなシステム構成にするにせよ、解読手段は、どれか１つの装置にだけ組み込んでおけばよい。例えば、ケーブルボックスに組み込んであれば、所定の時刻がくると、ここに組み込んである解読手段から、所望の番組を録画するための所定のコマンドが他の装置、例えばＶＣＲは衛星受信機に送られる。ユーザは、テレビジョンリモートコントローラあるいは、デコーダが組み込まれている装置に直接に録画すべき番組を表すコードを入力することができる。なお、同じテレビジョンリモートコントローラを用いて、通常のテレビジョン制御機能、例えばチャネル選択を行わせるようにすることが可能である。コードが入力されると、デコーダを備えた装置に送られ、ここで、コードがＣＤＴＬ情報に解読される。次に、適当な時刻になると、デコーダを備えた装置は適当なコマンドをＶＣＲや衛星受信機、ケーブルボックスなどのその他の装置に送信し、選択された番組の録画を行わせる。この制御機能は、デコーダを備えた装置に赤外線送信器を設置するようにした赤外線リンクを用いて実行することができる。赤外線送信機は、装置の赤外線ドーム内に設置することもできるし、あるいは、正面パネルの後ろにマウントするようにもできるし、あるいは、デコーダを備えた装置にケーブルを介して接続されたマウスに赤外線送信機を取り付け、このマウスを受信機の近傍に配置するようにもできるし、あるいは、デコーダを備えた装置にケーブルを介して接続されたミニマウスのスティックに送信機を取り付け、このミニマウスを受信機を備えた装置に取り付けるようにすることもできる。デコーダを備えた装置には、他の装置、例えばＶＣＲ、衛星受信機、ケーブルボックスなどに対する赤外コードプロトコルを記憶したりあるいは学習をする機能を含ませるようにすることが可能である。
【００１５】
本発明の他の実施例は、多種の家庭電化製品の制御が可能な多機能型ユニバーサル遠隔制御装置を含む。遠隔制御装置のボタンの機能、及びこれらの機能を実行するために要する赤外線符号は、電話線を通じ遠隔制御装置に設けられたマイクにより受信される送信等によって、遠隔操作でプログラム可能である。
【００１６】
本発明のその他の目的およびこれらに関連する特徴は、添付の図面を参照しながら以下の詳細な説明を読むことによって容易に理解できよう。なお、添付図面において、同様の部分は同様の参照符号を用いて表してある。
【図面の簡単な説明】
【００１７】
【図１】本発明による、ビデオカセットレコーダに組み込まれたコード解読手段を具備した装置を示す図である。
【図２】コマンド制御およびコード解読のためのＶＣＲ組み込みプロセッサの図である。
【図３】本発明のリモートコントローラに組み込まれたコード解読手段に係わる好適な実施例を示す図である。
【図４】リモートコントローラに組み込まれたプロセッサを示す図である。
【図５】コード解読手段を内蔵した汎用リモートコントローラの図である。
【図６】Ｇコード解読方法を示すフローチャートである。
【図７】Ｇコード符号化方法を示すフローチャートである。
【図８】本発明によるテレビジョンカレンダーの一部を示す図である。
【図９】ケーブルチャネルの復号について示したフローチャートである。
【図１０】ケーブルチャネルの符号化について示したフローチャートである。
【図１１】割り当てケーブルチャネル番号からローカルケーブルキャリアチャネル番号への変換を含む、ケーブルチャネルのＧコード復号について示したフローチャートである。
【図１２】スタックメモリを含む復号手段の図である。
【図１３】スタックメモリへのプログラム入力を示すフローチャートである。
【図１４】リモートコントロールからＶＣＲ本体装置へプログラムを送る動作に関するフローチャートである。
【図１５】本発明による圧縮コードを用いてレコーダのプリプログラミングを行う装置の好適な実施例を示す透視図である。
【図１６】図１５の装置の正面図であり、前方を向いた発光ダイオードについて示したものである。
【図１７】マウントスタンドに置かれた図１５の装置の透視図である。
【図１７Ａ】図１７に示されているマウントスタンドに置かれた図１５の装置の正面図である。
【図１８】図１５の装置のＬＣＤ表示部の詳細図である。
【図１９】図１５の装置の、ケーブルボックスおよびＶＣＲに対する置き方を示した透視図である。
【図２０】図１５の装置を、マウントスタンドと共にケーブルボックスおよびＶＣＲの近傍に置いた様子を示す透視図である。
【図２１】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラミングを行う装置を示す図である。
【図２２】図２１の装置を具現化する好適な実施例の詳細図である。
【図２３】図１５の装置へのプログラム入力を示すフローチャートである。
【図２４】図１５の装置に入力されたプログラムの確認および取り消しを示すフローチヤートである。
【図２５】本発明の好適な実施例による、圧縮コードを用いたレコーダのプリプログラミングの実行を示すフローチャートである。
【図２６】プログラムのチャネル、日付、時刻、および長さに係わる情報を１０進圧縮コードへ符号化するプロセスを示すフローチャートである。
【図２７】１０進圧縮コードをプログラムのチャネル、日付、時刻、および長さに係わる情報へ復号するプロセスを示すフローチャートである。
【図２８】割り当てチャネル番号／ローカルチャネル番号テーブルの実施例を示す図である。
【図２９】Ｇコードデコーダを具備したテレビジョンを含むシステムのブロック図である。
【図３０】Ｇコードデコーダを具備したテレビジョンを示す図である。
【図３１】Ｇコード復号機能を有するテレビジョンのＧコードデコーダ装置を示す図である。
【図３２】Ｇコードデコーダを具備したテレビジョン、ＶＣＲ、ケーブルボックス、および衛星受信機を含むシステムのブロック図である。
【図３３】Ｇコードデコーダを具備したＶＣＲ、テレビジョン、ケーブルボックス、および衛星受信機を含むシステムのブロック図である。
【図３４】Ｇコードデコーダを具備したケーブルボックス、テレビジョン、ＶＣＲ、および衛星受信機を含むシステムのブロック図である。
【図３５】Ｇコードデコーダを具備した衛星受信機、テレビジョン、ＶＣＲ、およびケーブルボックスを含むシステムのブロック図である。
【図３６】赤外線送信機を正面パネルの後に具備し、これによってケーブルボックスの赤外線受信機と反射を介して交信を行うようになされたＶＣＲの上に置かれたケーブルボックスを示す透視図である。
【図３７】赤外線送信機をＶＣＲ上部の赤外線ドーム内に具備しこれによってケーブルボックスの赤外線受信機と交信を行うようになされたＶＣＲの上に置かれたケーブルボックスを示す透視図である。
【図３８】ＶＣＲにケーブルを介して接続されたマウスの内部に赤外線送信機を具備しており、そのマウスをケーブルボックスの近傍に配置するようになした、ＶＣＲを示す透視図である。
【図３９】ＶＣＲにケーブルを介して接続されたミニマウスの内部に赤外線送信機を具備しており、そのミニマウスをケーブルボックスの赤外線受信機の近傍に貼り付けるようになした、ＶＣＲを示す透視図である。
【図４０】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラムを行う第２の装置を示す透視図である。
【図４１】図４１の装置の底面図であり、マイクロホン開口と２つの電気的コンタクトホールとを示す図である。
【図４２】図４０の装置が電話と接続されて使用されている状態を示す図である。
【図４３】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラミングを行うための第２の装置を示す図である。
【図４４】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラミングを行うための第２の装置の変形例を示す図である。
【図４５】本発明の好適な実施例による、メモリを具備したリモートコントロールのプログラミングを行うための装置の透視図である。
【図４６】装置のカバーをヒンジによって開いた状態を示した透視図である。
【図４７】図４５の装置の背面図であり、電話およびコンピュータへの入出力ポートを示したものである。
【図４８】図１５の装置の底面図であり、電気接触アクセスホールを示したものである。
【図４９】図１５の装置と結合された状態の図４５の装置を示す透視図である。
【図５０】図４０の装置と結合された状態の図４５の装置を示す透視図である。
【図５１】本発明の好適な実施例による、メモリを具備したリモートコントロールをプログラミングするための装置を示す図である。
【図５２】本発明の好適な実施例によるメモリを具備したリモートコントロールをプログラミングするための装置と、パーソナルコンピュータとの電気的な接続を示す図である。
【図５３】本発明の好適な実施例によるレコーダ予約のために圧縮符号を使用可能のユニバーサル遠隔制御装置の全体斜視図である。
【図５４】図５３の装置の正面図である。
【図５５】マイク開口部及び電気接触アクセス穴を示す、図５３の装置の側面図である。
【図５６】図５３の装置の背面図である。
【図５７】電気接触アクセス穴を示す図５３の装置の裏面図である。
【図５８】図５３の装置の一実施例のブロック図である。
【図５９】図５３の装置の他の実施例のブロック図である。
【図６０】電話ラインで図５３の装置を遠隔操作で予約する処理のフローチャートである。
【図６１】装置の背面でコーヒーテーブルに直立位置にある図５３の装置を示す。
【図６２】図５３の線７−７に沿った断面図である。
【図６３】図５３の線８−８に沿った断面図である。
【図６４】図５３の線９−９に沿った断面図である。
【図６５】図５３の遠隔制御装置の他の実施例の斜視図である。
【図６６】図６５の遠隔制御装置の上面図である。
【図６７】図６５の遠隔制御装置の側面図である。
【図６８】図６５の遠隔制御装置の正面図である。
【図６９】図６５の遠隔制御装置の背面図である。
【図７０】図６５の遠隔制御装置の底面図である。
【図７１】図５３の遠隔制御装置の第二の他の実施例の斜視図である。
【図７２】図７１の遠隔制御装置の上面図である。
【図７３】図７１の遠隔制御装置の側面図である。
【図７４】図７１の遠隔制御装置の背面図である。
【図７５】図７１の遠隔制御装置の正面図である。
【図７６】図７１の遠隔制御装置の底面図である。
【図７７】好適な実施例による、遠隔地点から、遠隔制御装置を通じて、他の装置を制御可能なビデオレコーダに対して初期設定データをダウンロードするためのシステムのブロック図である。
【図７８】好適な実施例による、遠隔地点から、遠隔制御装置を通じて、ビデオレコーダに初期設定データをダウンロードするための方法のフローチャートである。
【図７９】図７７で示されているシステムの他の実施例のブロック図である。
【図８０】図７７で示されているシステムの他の実施例のブロック図である。
【図８１】図７７で示されているシステムの他の実施例のブロック図である。
【図８２】ビデオレコーダ及びチャンネルセレクタの制御のために、テレビ番組データを、電話でダウンロード可能なプログラマへダウンロードするためのシステムの図である。
【図８３】図８２で示されたシステムの動作を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
さて、図面、すなわち図１を参照する。この図１は、本発明による、符号化されたビデオタイマ録画再生予約情報を用いるための装置１０を示したものである。この装置の主要な構成要素は、リモートコントローラ１２とＧコードデコーダを具備したビデオカセット録画再生装置１４であり、このＧコードデコーダを具備したビデオカセット録画再生装置１４は、リモートコントローラ１２によってコマンド信号１６を介して制御できるようになされている。リモートコントローラ１２には、数値キー２０、Ｇコードスイッチ２２、ファンクションキー２４、プログラムキー２６、電源キー２７などのキーを含め、多数のキーが備えられている。またリモートコントローラ１２は、各キーが押されたときに、そのキーの解釈を行い、これに対応する所定のコマンド信号１６を赤外発光ダイオード２８を介してＶＣＲに送るための手段を有している。図１のリモートコントローラ１２は、Ｇコードスイッチ２２を除けば、他のリモートコントローラと機能的に同じものである。Ｇコードスイッチ２２は、Ｇコードを用いているときにユーザがリモートコントローラ１２をＧコードモードにロックできるようにするために備えられているものである。なおここで、Ｇコードというのは、タイマー予約を行うためのＣＤＴＬ情報を圧縮コードにコード化したものである。
【００１９】
このＧコードは特定の番組と関連づけられた１から７桁からなるコードによって構成される。ただし、必要があればもっと桁数を増やすことも可能である。従来のように、実際の情報すなわち、チャネル、日付、時刻、長さ（ＣＤＴＬ）に関するコマンドを入力していくやり方を用いる代わりに、ユーザは、番組案内表の中からＧコードを見つけ出し、このＧコードをリモートコントローラ１２に入力するだけで番組予約ができる。
【００２０】
従来のオンスクリーンプログラムによって数値を直接に入力する方法と比較してみると、このＧコードの利点をよく理解することができる。オンスクリーンプログラムでは、およそ１８回のキー操作が必要であり、このキー操作によってＣＤＴＬ情報を入力する際、ユーザは、ＴＶ画面を見てからリモートコントローラを見、またＴＶ画面を見てというように何度も視線を切り換えなければならない。このような状況は、電話帳を見ながら１８桁の電話番組をダイアルしなければならない状況に例えることができる。視線を何度も切り換えながら多数のキーを押さなければならないことは、間違ったキーを押してしまう可能性を大きくする。録画予約を行うためにオンスクリーンによってＣＤＴＬ情報を入力する典型的な一連のキー操作は以下のようなものである。
〔ＰＲＯＧ〕〔２〕〔１〕〔１５〕〔０７〕〔３０〕〔２〕〔０８〕〔００〕〔２〕〔０４〕〔ＰＲＯＧ〕
まず最初に、〔ＰＲＯＧ〕キー２６を押して予約モードに入る。次に、数値キー２０を押していく。〔２〕は、時刻設定ではなく、タイマー録画であることを意味するものである。〔１〕はユーザがプログラム番号１に対する設定入力をこれから行うことを意味する。〔１５〕は日付である。〔０７〕は開始時間である。〔３０〕は開始時間の次に付される分の値を表している。〔２〕は午後であることを意味する。続く〔０８〕〔００〕〔２〕は停止時刻を意味している。〔０４〕はチャネル番号である。最後に〔ＰＲＯＧ〕がもう一度押されて予約モードから脱出する。
【００２１】
このようなコマンドは、コード化することができる。Ｇコードを用いた典型的な入力では、以下のようになる。〔ＰＲＯＧ〕〔１１３８〕〔ＰＲＯＧ〕なお、コマンドがＧコードであることの識別を行うために、Ｇコードスイッチ２２は「オン」の位置に設定しておく必要がある。スイッチを設ける代わりに、独立したキー〔Ｇ〕を用いるようにすることもできる。この場合には、Ｇコード予約のためのキー操作は〔Ｇ〕〔１１３８〕〔ＰＲＯＧ〕となる。
【００２２】
なお、Ｇコードの使用は、入力したプログラム情報を「オンスクリーン」によって確認することを妨げるものでは決してない。Ｇコードスイッチが「オン」の位置で、キー操作によって〔ＰＲＯＧ〕１１３８〔ＰＲＯＧ〕が入力されると、このＧコードは解読されてテレビ画面に次のようなメッセージが表示される。
プログラム  日付  開始時刻      終了時刻      チャネル
１１３８    １５  ７：３０ＰＭ  ８：００ＰＭ    ４
【００２３】
Ｇコードを利用するためには、Ｇコードを解読することが必要であり、そのための装置が備えられていることが必要である。図１は、リモートコントローラ１２と組み合わせて用いるためのＧコードデコーダ付きビデオカセット録画再生装置１４を示したものである。リモートコントローラ１２から送られたコマンド信号１６はフォトダイオード３２によって検出され、さらにコマンド信号受信器３０によって電気的信号に変換される。この電気的信号はコマンドコントローラ３６に送られ、ここで、コマンドが解釈されてこのコマンドに対してどのような応答をすべきかが決定される。また、図１に示されているように、コマンドコントローラ３６は、通常のＶＣＲに組み込まれているマニュアルコントロール機能によるコマンドも受け付けることができるようになされている。コマンドコントローラ３６は、Ｇコードが送られてきたことを検知すると、そのＧコードを解読のためにＧコードデコーダ３８に送る。Ｇコードデコーダ３８はＧコードをＣＤＴＬ情報に変換する。この変換されたＣＤＴＬ情報に基づいて、コマンドコントローラ３６は時刻／チャネルプログラミング装置４０の設定を行う。ＶＣＲにはクロック４２が組み込まれている。このクロックは日付と時刻とを追尾するために通常のＶＣＲに組み込まれているものと同じである。このクロック４２は、主に時刻／チャネルプログラミング装置４０とＧコードデコーダ３８の動作に用いられる。時刻／チャネルプログラミング装置４０には、コマンドコントローラ３６によってＣＤＴＬ情報がセットアップされる。クロック４２から所定の日付の所定の時刻になったことを読み取ると、時刻／チャネルプログラミング装置４０は、録画再生装置４４を「オン」にして録画を行わせる。同時に、チューナ４６をテレビジョン信号１８の所定のチャネルに同調させる。後で、ユーザは、録画再生装置４４を再生モードにし、テレビジョンモータ４８を介して録画した番組を見ることができる。
【００２４】
録画装置を制御する他の方法として、時刻／チャネルプログラミング装置４０に情報を送る代わりに、コマンドコントローラ３６自身にすべてのＣＤＴＬ情報を保持させるようにしてもよい。また、コマンドコントローラはクロック４２を定期的に読み取ることによって、常に時刻を監視している。コマンドコントローラは時刻／チャネルプログラミング装置４０にコマンドを送って、録画装置とチューナ４６とのオン・オフを行わせて、ＣＤＴＬ情報に合致する所定の時刻にチューナ４６が所定のチャネルに同調するようになす。
【００２５】
また、クロック４２はＧコードデコーダ３８にも入力される。このようにすると、Ｇコードの解読をクロックの関数として行うようにすることができる。これによって解読技術に対する機密保持手段が得られ、容易にコピーすることができないようにすることができる。このようなことができるには、当然のことであるが、符号化もクロックの関数として行われていることが必要である。
【００２６】
図２は、コマンドコントローラ３６およびＧコードデコーダ３８について、具体例を示したものである。コマンドコントローラ３６の機能は、マイクロプロセッサ５０、ランダムアクセスメモリ５２、およびプログラムの記憶に用いるためのリードオンリーメモリ５４とを用いて実現することができる。入出力部５６は、コマンド信号受信器３０、マニュアルコントロール機構３４、およびクロック４２からコマンドを受信し、また、信号を表示部３５、クロック４２、および時刻／チャネルプログラミング装置４０に対して送ることができるようになされている。マイクロプロセッサ５０は、Ｇコードの受信が行われたことを検知すると、そのＧコードをマイクロコントローラ６０に送って解読を行う。マイクロコントローラ６０には、プログラムとテーブルを記憶するためのランダムアクセスメモリ６２とリードオンリーメモリ６４とが内蔵されている。また、マイクロプロセッサ５０およびマイクロコントローラ６０のどちらもクロック４２を読み取ることが可能なようになされている。
【００２７】
マイクロコントローラ６０にＧコードの解読を行わせる代わりに、Ｇコード解読機能を、リードオンリーメモリ５４に記憶されるプログラム中に直接に含ませてしまうことも可能である。この場合には、マイクロコントローラは不要となる。また、他のハードウェアを用いてＧコードの解読を行わせるようにすることも当然可能である。どのような方法を採用するかは、主に経済的な基準で決まる。
【００２８】
図１および図２中に示されている各ブロックは、当該技術としてよく知られているものであり、例えばフィールズによる特許第４,４８１,４１２、ショルツによる特許第４,５１９,００３、ブルグリーラによる特許第４,６３１,６０１に開示されている。例えば、クロック４２は、ショルツの特許中の要素７に相当するものであり、またブルグリーラの特許では要素１７に相当する。さらに他の構成要素の対応を示せば以下のようになる。すなわち、コマンド信号受信器３０は、ショルツの１４およびブルグリーラの１２に；チューナ４６は、ショルツの６およびブルグリーラの１０に；時刻／チャネルプログラミング装置４０はショルツの８、１１およびブルグリーラの１６に；録画再生装置４４は、ショルツの１、２、４に；コマンドコントローラ３６はショルツの１１、１０およびブルグリーラの１２に；マイクロプロセッサ５０は、フィールズの２７に；ＲＡＭ５２は、フィールズの３４に、ＲＯＭ５４はフィールズの３３に；マニュアルコントロール３４は、ショルツの１５、１６に；リモートコントローラ１２はショルツの２６、ブルグリーラの１８に対応している。
【００２９】
図３は、本発明の他の実施例を示したものである。図３に示した実施例では、リモートコントローラはＧコードデコーダ８０を内蔵している。このＧコードデコーダ８０を内蔵したリモートコントローラはＧコードデコーダ８２を付加していることを除けば、リモートコントローラ１２と非常によく似たものである。なお、リモートコントローラには、表示部８４が備えられているが、この表示部８４は、他の任意のリモートコントローラにも付加させることが可能なものであることを付言しておこう。このＧコードデコーダ８０を内蔵したリモートコントローラは、Ｇコードデコーダを内蔵していない通常のビデオカセット録画再生装置７０と組合せて用いることが可能である。ビデオカセット録画再生装置７０は、Ｇコードデコーダ３８がないことを除けば、上記のＧコードデコーダ付きビデオカセット録画再生装置１４と同様の構成要素からなっている。この好適な実施例は、既存のＶＣＲと組み合わせて用いることが可能であるという利点を有している。これらの既存のＶＣＲにはＧコード解読機能が備えられていない。既存のＶＣＲのリモートコントローラをＧコードデコーダを内蔵したリモートコントローラと置き換えることによって、比較的安い出費でそのタイマー予約の機能を非常に大きく改良することができる。
【００３０】
図４は、Ｇコードデコーダ８０内蔵リモートコントローラ中に内蔵するＧコードデコーダ８２の具体例を示したものである。先の場合と同様に、マイクロコントローラ６０によってＧコードの解読がなされ、また、表示部８４、クロック８５、キーパッド８８、および発光ダイオード２８とのインタフェース部が設けられている。あるいは、他のハードウェアを用いてＧコード解読を行わせるようにすることも可能である。リモートコントローラ８０には、クロック８５が備えられており、Ｇコードデコーダ８２が、その入力の１つとしてクロック８５をもつことができるようになされている。これによって、Ｇコードの解読をクロック８５の関数として行うことが可能となり、こうすることによって、解読技術の機密保持対策ができ、容易にはコピーができないようにすることが可能となる。このＧコードデコーダを内蔵したリモートコントローラは上記のように、チャネル、日付、時刻、長さに関する情報をビデオカセット録画再生装置７０に対して送り、ビデオカセット録画再生装置７０は、このＣＤＴＬ情報に基づいて、指定された所定のチャネルにチューニングを行い、所定の開始時刻に録画を開始し、所定の終了時刻に録画を停止させる。ビデオカセット録画再生装置は、ブランド、モデルごとに、チャネル番号や録画開始終了時刻などの各情報を送るのに割り当てられた赤外パルスが異なっている場合があり、リモートコントローラは各ビデオカセット録画再生装置に合わせて特有のものとする必要がある。各キーの種類ごとに割り当てられた特定の赤外パルスは、特定のリモートコントローラのボキャブラリと呼ぶことができる。また、モデルによって、用いられるプロトコル、すなわちタイマー予約設定などの機能を実現するために押すキーの順序が異なっている場合もある。このプロトコルあるいは機能を実現するためのキーの順序は、センテンス構造と呼ぶことができる。各モデルごとに異なる固有のリモートコントローラを必要としている場合には、対応する所定のボキャブラリとセンテンス構造とをリモートコントローラに直接に組み込むようにすることができる。
【００３１】
Ｇコードデコーダを内蔵したリモートコントローラから、チャネル、日付、時刻、および長さに関する情報をビデオカセット録画再生装置７０に送信するための他の方法として、Ｇコードデコーダ内蔵リモートコントローラにさらにいろいろな動作をさせるようにすると、既存のビデオカセット録画再生装置とのインタフェースの問題を簡単化することができる。具体的には、リモートコントローラがＧコードをＣＤＴＬに単に解読するだけでなく、クロック８５を介して時刻を常に監視するようにすると、リモートコントローラがチャネル、録画開始、録画停止に関するコマンドそのものをビデオカセット録画再生装置に対して送るようにすることが可能となる。この場合、通常は、チャネルコマンドと開始終了コマンドの２つが必要な基本的なコマンドであり、プロトコルすなわちセンテンス構造に複雑なものは何もない。従って、この場合には、ビデオカセット録画再生装置のいろいろなモデルと交信するのに、リモートコントローラ内に図４に示したＲＯＭ６４のようなメモリを設け、このメモリに、すべてのモデルに対して、あるいはその大部分を包含する部分集合に対するプロトコルを記憶するようにするだけでよい。Ｇコードが先の場合と同様に、リモートコントローラに入力されると、これがチャネル、日付、時刻、および長さに関する情報に翻訳されて、リモートコントローラに記憶される。クロック８５を介して時刻を監視し、所定の時刻が到来すると、リモートコントローラは自動的にコマンドをＶＣＲ装置に送り、チャネルを所定のチャネルに合わさせて、録画を開始あるいは停止させる。各ビデオカセット録画再生装置モデルのボキャブラリを記憶するには、およそ１５のキーがあればよく、１つのキーごとに単に２バイトが必要なだけである。従って、５０種類のモデルをカバーするために、リモートコントローラが必要とするメモリはたったの３０×５０＝１５００バイトである。リモートコントローラから送られてくる赤外信号をＶＣＲ装置が正しく受信できるようにするため、場合によっては、リモートコントローラをＶＣＲ装置に対して適切な位置に置かねばならないことがある。
【００３２】
他の好適な実施例によって、Ｇコードデコーダを内蔵した汎用のリモートコントローラ９０が提供される。汎用リモートコントローラを用いて、非常に多数存在する異なるリモートコントローラを模擬できる。このようにすることによって、ユーザが所有せねばならないリモートコントローラの数を低減することができる。これは図５に示したように、リモートコントローラに学習機能キー９４を付加することによって実現される。この学習機能キー９４が他のキーと一緒にされると、リモートコントローラは学習モードに入る。学習しようとしている相手のリモートコントローラから到来する赤外パルスをフォトダイオード９６によって検出し、これをフィルターに通して認識可能なビットパターンに波形整形を行う。マイクロコントローラは、このビットパターンをバッテリバックアップされたスタティックＲＡＭに、その特定のキーに付随する固有ＩＲパルスパターンとして記憶させる。これを、すべてのキーに対して個々に行う。
【００３３】
もっと複雑な学習の例は以下のようなものである。もしも、Ｇコードスイッチが「オン」となっているときに、プログラムキー２６といっしょに学習機能キー９４が押された場合には、リモートコントローラは特定のＶＣＲに対し、あらかじめ定められた特定の例についてタイマープログラムの連続キー操作がこれから行われようとしているものと解釈する。次に、ユーザが一連のキー操作を行うと、汎用リモートコントローラ９０はこれからそのタイマープログラムシーケンスのプロトコルを推論し、これを記憶する。このようにしなければならないのは、ＶＣＲの機種によっては、そのタイマープログラムコマンドのフォーマットが異なるからである。
【００３４】
もし、学習機能キー９４が押されずに、どれかのキーが押された場合には、マイクロコントローラは実行モードであるものと認識する。もし、そのキーが指示コマンドキーの１つである場合には、マイクロコントローラはスタティックＲＡＭから記憶されているパルス列を読み出して、パラレル出力Ｉ／Ｏを介してコマンドワードを送出し、さらに出力用発光ダイオード２８からパルスを送出する。
【００３５】
Ｇコードスイッチが「オフ」となっている状態のときに、〔ＰＲＯＧ〕キーが押された場合には、マイクロコントローラは、次いで押される一連のキーのうちもう一度〔ＰＲＯＧ〕が押されるまでのキーがタイマー録画予約ＣＤＴＬコマンドであるものと解釈し、これを発光ダイオード２８から送出する。Ｇコードスイッチ２２が「オン」に設定されている状態でプログラムキー２６が押されると、マイクロコントローラは次いで押される一連のキーのうちもう一度〔ＰＲＯＧ〕が押されるまでのキーをタイマー録画予約のためのＧコードコマンドであるものと解釈する。マイクロコントローラは、Ｇコードをチャネル、日付、開始時刻、および長さ（ＣＤＴＬ）に翻訳し、スタティックＲＡＭの「辞書」中から関連する赤外パルスパターンを見つけ出し、これらを互いに連結してから出力パラレルＩ／Ｏから送り出す。さらに、すべてのメッセージが１つの連続したストリームの形で発光ダイオード２８からＶＣＲに送られる。
【００３６】
図４は、Ｇコードデコーダ９０内蔵型汎用リモートコントローラ中に内蔵させるためのＧコードデコーダの具体例を示したものである。先の場合と同様に、マイクロコントローラ６０によってＧコードの解読がなされ、また、発光ダイオード２８を含む入出力機能部のインタフェース処理がなされる。あるいは、Ｇコードの解読を他のハードウェアを用いて実行させるようにすることも可能である。
【００３７】
また、汎用型リモートコントローラを別の用い方をして、既存のビデオカセット録画再生装置とのインタフェースを簡単に取ることもできる。具体的には、汎用型リモートコントローラがＧコードをＣＤＴＬに単に解読するだけでなく、図４に示したクロック８５を介して時刻を常に監視するようにすると、汎用型リモートコントローラがチャネル、録画開始、録画停止に関するコマンドそのものをビデオカセット録画再生装置に対して送るようにすることが可能となる。すでに説明したように、この場合、通常は基本的な１キーコマンドであり、プロトコルすなわちセンテンス構造に複雑なものは何もない。こうして、単に、汎用リモートコントローラに代替えさせようとしているリモートコントローラの各キーを学習させるだけで、非常に多岐にわたるいろいろなビデオカセット録画再生装置のモデルとの交信ができるようになる。Ｇコードが先の場合と同様に、汎用型リモートコントローラに入力されると、これがチャネル、日付、時刻、および長さに関する情報に翻訳されて、汎用型リモートコントローラに記憶される。クロック８５を介して時刻が監視され、所定の時刻が到来すると、汎用型リモートコントローラは自動的にコマンドをＶＣＲ装置に送り、チャネルを所定のチャネルに合わさせて、録画を開始あるいは停止させる。ただし、汎用型リモートコントローラから送られてくる赤外信号をＶＣＲ装置がうまく受信できるようにするため、汎用型リモートコントローラをＶＣＲ装置に対して適切な位置に置くようにする。
【００３８】
Ｇコードの解読方法についてはいろいろなやり方がある。最も明白は方法は、大きなルックアップテーブルを用意することである。この場合、Ｇコードがインデックスとなる。しかし、不幸なことに、この方法は非常に効率が悪く、多大のメモリを必要とするために高価なデコーダとなってしまう。必要な全メモリ容量は、組合せの総数の関数である。もし、１２８チャネル、１ケ月３１日分のプログラム設定を、１日２４時間につき正時あるいは半時に開始される４８番組について行えるようにし、かつ、長さを３０分きざみで１６種類の設定が可能なようにするものとすると、総組合せ数は、１２８×３１×４８×１６＝3,047,424となる。この組合せ数は７桁の数として表せる。従って、テーブルのアドレスは７桁の数で表せることとなる。ルックアップテーブルは、具体的なプロトコルにも依存するが、最悪の場合、４,０００,０００行で１５あるいは１６桁列を有する。これらの桁列は、「オンスクリーンプログラム」におけるＣＤＴＬ情報に対応するものである。各桁は、４ビットの２進数で表される。従って、ルックアップテーブルに必要となるメモリ容量はおよそ４,０００,０００×１６×４＝256,000,000ビットとなる。最新技術によるメモリの容量は１チップあたり約１メガビットである。従って、Ｇコードの解読のために単純なルックアップテーブルを用いようとすると許容範囲を超えて高価となる数だけのチップを用いなければならない。
【００３９】
幸いなことに、Ｇコードの解読を行うもっとずっと賢い方法がある。図６は、好適なＧコード解読技術のフローチャートを示したものである。Ｇコード解読について容易に理解できるように、図７のフローチャートを参照しながら、まずＧコード符号化について説明し、その後で、Ｇコード解読技術、すなわち、Ｇコード符号化の逆変換について説明することとする。
【００４０】
Ｇコード符号化は、任意のコンピュータ上で行うことが可能であり、この符号化は、Ｇコードを含む番組案内を作成する前に行われる作業である。ステップ１４２において、番組案内に印刷される各番組に対して、チャネル、日付、時刻、および長さ（ＣＤＴＬ）コード１４４を入力する。ステップ１４６において、チャネル、日付、時刻、および長さに対し、それぞれの優先順位を優先順位ベクトル記憶１２２から読み出す。なお、この優先順位ベクトル記憶はリードオンリーメモリ６４中に記憶させるようにできる。優先順位ベクトル記憶１２２には、４つのテーブルが含まれている。すなわち、優先順位ベクトルＣテーブル、優先順位ベクトルＤテーブル１２６、優先順位ベクトルＴテーブル１２８、それに優先順位ベクトルＬテーブル１３０である。
【００４１】
チャネル優先順位テーブルにおける順位は、最も頻繁に用いられるチャネルの順位数が小さな数値となるように定められる。優先順位ベクトルＣテーブル１２４のデータの例を以下に示す。
チャネル  ４  ７  ２  ３  ５  ６  １１  １３・・・・・・
優先順位  ０  １  ２  ３  ４  ５    ６    ７・・・・・・
【００４２】
一般に、月の中の日付は等しい優先順位を有する。従って、若い日付が小さな優先順位数を有するようにするものとすると、優先順位ベクトルＤテーブルは例えば次のようになる。
日付      １  ２  ３  ４  ５  ６  ７  ８・・・・・・
優先順位  ０  １  ２  ３  ４  ５  ６  ７・・・・・・
【００４３】
開始時刻についての優先順位は、ゴーデンアワーには、小さな数値の優先順位を与え、逆に夜間のデッド時間帯の番組には大きな数値の優先順位を与えるようにする。優先順位ベクトルＴテーブルの例は以下のようなものである。
時刻      ６：３０pm    ７：００pm    ８：００pm    ７：３０pm・・・・・・
優先順位    ０            １            ２            ３・・・・・・
【００４４】
優先順位ベクトルＬテーブル１３０のデータの例は次のようなものである。
番組長さ（時間）  0.5 1.0 2.0 1.5 3.0・・・・・・
優先順位          0     1     2     3     4・・・・・・
【００４５】
仮に、チャネル、日付、時刻、長さ（ＣＤＴＬ）１４４のデータが５、１０、１９、００、１.５であったとすると、このデータは、チャネルが５であり、日付が１０日であり、開始時刻が７：００ＰＭであり、長さが１.５時間であることを示している。この場合のＣｐ、Ｄｐ、Ｔｐ、Ｌｐデータは１４８となる。この数値は以下のようにして得られる。まずチャネル、日付、時刻、および長さについての優先順位を図７の優先順位テーブル１２４、１２６、１２８、１３０から見つけ出すと、４、９、１、３である。次にステップ１５０において、Ｃｐ、Ｄｐ、Ｔｐ、Ｌｐデータを２進数に変換する。この変換においてはそれぞれの２進数を表すのに必要なビット数は、含まれる組合せ数によって決まる。例えば、Ｃｐに対して７ビットを用いることとして、ＣｐをＣ7Ｃ6Ｃ5Ｃ4Ｃ3Ｃ2Ｃ1で表すこととすると、この７ビットによって１２８のチャネルを表すことが可能である。Ｄｐに対して５ビットを割り当てると、Ｄｐは、Ｄ5Ｄ4Ｄ3Ｄ2Ｄ1のように表すことができ、これによって１ケ月３１日分の日付を表現できる。Ｔｐに対しては６ビットを割り当てることとすると、Ｔｐは、Ｔ6Ｔ5Ｔ4Ｔ3Ｔ2Ｔ1のように表すことができ、これによって１日２４時間を３０分刻みで区切ったときの４８の開始時刻を表すことができる。また、長さに対しては４ビットを割り当てることとすると、Ｌ4Ｌ3Ｌ2Ｌ1のように表すことができ、これによって３０分を刻み幅としたときの８時間までの長さを表すことができる。これら総てで、結局７＋５＋６＋４＝２２ビットの情報を表すことができ、これは、２22＝４,１９４,３０４の組合せ数に相当する。
【００４６】
次のステップは、ビット階層キー１２０を用いることである。このビット階層キー１２０は２２ビットを並べ換えてリードオンリーメモリ６４に記憶しておくようにできる。ビット階層キー１２０としては、２２ビットの任意の並びを採用できる。ビット階層キーの例をあげれば、例えば次のようなものである。
Ｌ8   Ｃ3 ・・・・・・Ｔ2 Ｃ2 Ｔ1 Ｃ1Ｌ1 Ｄ5 Ｄ4 Ｄ3 Ｄ2 Ｄ1
２１  ２２            10 9 8 7 6 5 4 3 2 1
【００４７】
このビット階層キーは、タイマー番組予約を最も多く行う可能性のある分野の番組に対して小さな優先順位数が与えられるように順序づけるようにするのが理想的である。このようにすれば、最も人気の高い番組を少ないキー操作回数で番組予約することが可能となる。日付についての優先順位は等しいので、Ｄ5Ｄ4Ｄ3Ｄ2Ｄ1のビットを最初にもってくる。次にＴ1Ｃ1Ｌ1が用いられる。その理由は、どのような日付であるにせよ、必ず時刻、チャネル、長さとを有しているはずであり、優先順位ベクトル記憶１２２内の優先順位ベクトルの順序によればＴ1Ｃ1Ｌ1はいずれも最も確率が高いからである。階層キーの次のビットは、いろいろな組合せの微分確率によって決定される。この計算を行うためには、チャネル、時刻、および長さのすべてについてその確率を知っている必要がある。
【００４８】
例えば、チャネルについての確率の例は次のようなものである。
チャネル    ４    ７      ２    ３    ５      ６    １１    １３・・・・・・
優先順位    ０    １      ２    ３    ４      ５      ６      ７・・・・・・
確率（％）  ５    ４.３   ４    ３    ２.９   ２.１   ２      １.８・・・
【００４９】
時刻についての確率は例えば次のようなものである。
時刻        ６：３０pm    ７：００pm    ８：００pm    ７：３０pm・・・・・・
優先順位      ０            １            ２            ３・・・・・・
確率（％）    ８            ７.８         ６            ５・・・・・・
【００５０】
そして、長さに関する確率の例は次のようである。
番組長さ（時間）  ０.５    １.０    ２.０    １.５    ３.０・・・・・・
優先順位          ０       １       ２       ３       ４・・・・・・
確率（％）        ５０     ２０     １５     ５       ４
【００５１】
先に述べたように、各チャネル、時刻、長さに関するこれらの確率を用いて適切な順序決めがなされる。優先順位ベクトルテーブルは最も人気の高いチャネル、時刻、長さに基づいて配列順序がすでに定められているので、ある１つのテーブルでの異なる２進数、例えば異なるＣ7Ｃ6Ｃ5Ｃ4Ｃ3Ｃ2Ｃ1ビットでの選択順序はすでにわかっている。Ｃ1のビットがまず最初に選択される。とういのは、最下位のビットは、チャネル優先順位テーブルの最初の２つのエントリのどちらかから選ばれるからである。次にＣ2ビットが選択され、以下同様にして選択されていく。同様にして、Ｔ1ビットおよびＬ1ビットはその他の時刻および長さのビットよりも前に用いられる。Ｃ1Ｔ1Ｌ1ビットとＤ5Ｄ4Ｄ3Ｄ2Ｄ1ビットとを組み合わせたものを最初に用いるようにする必要がある。この組み合わせによって、チャネル、日付、時刻、および長さのすべての情報を与えることができる。日付ビットはすべて優先順位が同じであるので、Ｄ5Ｄ4Ｄ3Ｄ2Ｄ1ビットはすべてを必ず用いるようにする必要があり、仮にどれかのビットがゼロである場合でも、すべての桁数の値をきちんと明示する必要がある。
【００５２】
この段階では、ビット階層キーは例えば以下のようなものである。
Ｔ1  Ｃ1  Ｌ1  Ｄ5  Ｄ4  Ｄ3  Ｄ2  Ｄ1
【００５３】
最初のチャネル２進ビットＣ1はそれだけで２1＝２のチャネルを選択することができ、この最初の２つのチャネルの確率はそれぞれ５％および４.３％である。従って、Ｃ1の微分確率は９.３である。同様にして、Ｔ1の微分確率は８＋７.８＝１５.８であり、また、Ｌ1の微分確率は５０＋２０＝７０である。ビット階層キーの順序付けの規則を厳格に守ると、ビット階層キーの最初の８ビットは以下のように並んでいなければならない。
Ｃ1  Ｔ1  Ｌ1  Ｄ5  Ｄ4  Ｄ3  Ｄ2  Ｄ1
【００５４】
その理由は、Ｌ1が最も大きな微分優先順位を有しており、従って、これをＤ5に次ぐ上位のビットとし、さらにこれに次ぐ上位のビットとしてＴ1、そしてさらにＣ1というように並べるべきだからである。ここで注意すべきことは、ビット階層キーは、最下位ビットＤ1で開始され、次いで、最も大きな微分確率ビットで埋められていくことである。これは、人気番組を最もコンパクトなコードで構成できるようにするためである。
【００５５】
この段階での符号化処理における問題は、階層キーのＴ2Ｃ2Ｌ2のうちでどれを次に最も最上位とすべきであろうかということである。これも微分確率によって定められ、各ビットについて上記テーブルから算出することができる。我々は２進ビットを取り扱っているので、Ｃ1とＣ2とを組み合わせた場合には、２2＝４だけのチャネル、すなわち、Ｃ1単独の場合よりも２つ多いチャネル数を選択することができる。従って、Ｃ2に対する微分確率は、これら２つのチャネルの和の和確率となり、今の例の場合では４＋３＝７となる。同様にして、Ｃ1とＣ2とにさらにＣ3とを組み合わせると、２3＝８のチャネル数、すなわちＣ1とＣ2とを組み合わせた場合よりもさらに４＝２(3-1)だけ多いチャネル数を選択することができる。従って、Ｃ3に対する微分確率は、これら４つのチャネルの和の和確率となり、今の例の場合では２.９＋２.１＋２＋１.８＝８.８となる。同様にして、Ｔ2およびＬ2の微分確率を計算することができ、それぞれ、６＋５＝１１および１５＋５＝２０となる。すべての微分確率が求まったので、次にすべきステップは、どのビット同志を組み合わせたときの確率が大きくなるかを求めることである。
【００５６】
上記の例の場合に対して、Ｃ1Ｌ1に対してＴ2を組み合わせる場合、Ｔ1Ｌ1に対してＣ2を組み合わせる場合、Ｔ1Ｃ1に対してＬ2を組み合わせる場合のいずれが確率が大きくなるかを求めよう。これによってキーの次のビットが定まる。すなわち、１１×９.３×７０＝７１６１；７×１５.８×７０＝７７４２；２０×１５.８×９.３＝２９３８.８のうちのどれが最大確率であろうか。この場合の最大確率は、Ｔ1Ｌ1にＣ2を組み合わせた場合の７×１５.８×７０＝７７４２が最大である。そこで、ビット階層キーの次のビットとして、Ｃ2を選択することとなる。
【００５７】
さらに次のビットも同様の方法で選択することができる。Ｔ1Ｌ1とＣ3との組み合わせ、Ｃ1またはＣ2とＬ1にさらにＴ2との組み合わせ、Ｃ1あるいはＣ2とＴ1にさらにＬ2とを組み合わせた場合のうちのいずれが確率が大きいであろうか。
【００５８】
すなわち、この例の場合では、８.８×１５.８×７０＝９７３２.８；１１×（９.３＋７）×７０＝１２５５１；２０×（９.３＋７）×１５.８＝５１５０.８のうちの最大確率がいずれであろうかという問題となる。この場合には、最大確率は、Ｃ1あるいはＣ2とＬ1にさらにＴ2とを組み合わせた場合の１１×（９.３＋７）×７０＝１２５５１が最大確率である。従って階層キーの次のビットとしてはＴ2が選択される。この手順をすべての微分確率について繰り返して、すべてのキーを定める。
【００５９】
あるいは、ビット階層キーは単に何らかの任意のビット列として与えるようにすることも可能である。また、優先順位ベクトル同士に相互依存性をもたせるようにすることも可能であり、例えば長さ優先順位ベクトルが異なるチャネルのグループに対して依存するようにしてもよい。さらに他の技術は、図７に示してあるように、ビット階層キー１２０および優先順位ベクトルテーブル１２２がクロック４２の関数となるようにすることである。このようにすれば、キーをコピーすることが非常に困難となり、符号化技術を盗まれることがなくなる。
【００６０】
例えば、ビット階層キー１２０のうちの日付ビットをクロックの関数としてスクランブルをかけてしまうことが可能である。クロックの関数としてビットの順序を入れ換えたとしても、それによって、最も人気のある番組の２進ビット数を低減させるというビット階層キーの有効性が変わるわけではない。その理由は、日付ビットがすべて同じ優先順位を有しているからである。これを最も簡単に行う方法は、Ｄ1ビットとＤ5ビットとを日を単位として、あるいは週を単位として定期的に入れ換えるようにすることである。こうしてビット階層キー１２０は、
・・・Ｃ1  Ｔ1  Ｌ1  Ｄ5  Ｄ4  Ｄ3  Ｄ2  Ｄ1
と
・・・Ｃ1  Ｔ1  Ｌ1  Ｄ1  Ｄ4  Ｄ3  Ｄ2  Ｄ5
とが入れ替わる。明らかなことであるが、ビット階層キーをクロックの関数として入れ替える方法はこの他にも可能である。
【００６１】
優先順位ベクトルテーブルもクロックの関数としてスクランブルをかけるようにすることが可能である。例えば、優先順位チャネルテーブルの中の最初の２つのチャネルを単純に定期的に入れ替えるようにすることができる。この方法に従えば、図７の１４８のＣｐは、例えば
チャネル    ４    ７    ２    ３    ５    ６    １１    １３・・・
優先順位    ０    １    ２    ３    ４    ５      ６  ７  ８・・・
は、クロック４２によって定期的に
チャネル    ７    ４    ２    ３    ５    ６    １１    １３・・・
優先順位    ０    １    ２    ３    ４    ５      ６  ７  ８・・・
と入れ替えられる。これは、かなり巧妙な機密保持技術であり、このようにすると、この方法によらない最初の２つのチャネルを用いたデコーダがうまく作動しなくなるようにできる。符号化技術に対する機密保持のためのクロックに対する依存性のもたせ方は、この他の方法も可能である。
【００６２】
いずれにせよ、方法が定まったならば、ビット階層キー１２０を決定して記憶する。ステップ１５４において、ＣｐＤｐＴｐＬｐの２進ビットがビット階層キー１２０に従って並び替えられて、１つの２２ビットの２進数が生成される。このようにして得られた２２ビット２進数は、２進数・１０進数変換ステップ156において１０進数に変換される。その結果Ｇコード１５８が得られる。
【００６３】
優先順位ベクトルおよびビット階層キーが一般の視聴率傾向によく一致していれば、人気番組は、３桁あるいは４桁のＧコードで表わされるはずである。
【００６４】
以上、符号化方法にいついて説明したが、解読は、この符号化を単純に逆にすることで可能である。すなわち、図６のフローチャートに従って行うことができる。これは、ＶＣＲ１４の中のＧコードデコーダ３８、あるいは図３および図５のリモートコントローラＧコードデコーダ８２、９２に組み込むのに好適なＧコード解読方法である。
【００６５】
最初のステップ１０２において、まずＧコード１０４を入力する。次に、ステップ１０６においてＧコード１０４が２２ビットの２進数に変換される。さらにステップ１０８において、この２進数は、ビット階層キー１２０に従って並び替えられて、再配列ビット１１０が作成される。次いで、ステップ１１２において、この再配列ビットはグループにまとめられて１０進数の形に変換される。この段階で、優先順位ベクトルテーブルの索引となっているデータＣｐＤｐＴｐＬｐ１１４が得られる。上記の例では、この段階のデータは、ベクトル４ ９ １ ３ となる。次いで、ステップ１１６において、優先順位ベクト
ル記録の中から、このデータＣｐＤｐＴｐＬｐ１１４に対応するチャネル、日付、時刻、および長さを探し出す。今の例の場合では、ＣＤＴＬ１１８は、５ １０ １９.００１.５である。すなわち、チャネルが５であり、日付が１０日、時刻が７：００ＰＭ、長さが１.５時間である。
【００６６】
符号化がクロックの関数としてなされている場合には、解読もクロックの関数として行うことが必要である。ビット階層キー１２０および優先順位ベクトルテーブル１２２を図６に示したように、クロック４２の関数となるようにすることが可能である。繰り返すが、このようにすることによって、キーをコピーすることが非常に困難になり、従って符号化方法が盗まれることがなくなる。あるいはまた、解読および符号化を他のあらかじめ定められた、あるいはあらかじめプログラムされたアルゴリズムに基づいて行うようにすることも可能である。
【００６７】
上記のＧコード符号化および解読方法は、好適な例として示したものであり、これ以外にもタイマー録画予約設定のためのキー操作回数を低減させるいろいろな方法があり得る。すなわち、この目的を達成するための、いろいろなＧコード符号化および解読方法があり得る。また、単純にクロックに依存させて符号化および解読方法を変える方法に加えて、さらに機密を確保するためのいろいろな符号化および解読方法があり得る。すなわち、あらかじめ定められた、あるいはあらかじめプログラムされたアルゴリズムに基づいて機密保持を得るようにできる。
【００６８】
また、２進数を用いる代わりに混合した底に基づく数形式を用いたＧコード符号化および解読方法を採用することも可能である。例えば、チャネルがたったの３５しかないものとすれば、この３５のチャネルを２進数で表すには６桁が必要である。しかし、２6＝６４であるから、６桁の２進数は実際には６４チャネルを表すことが可能である。すなわち、この場合に２進数体系を用いたのでは２９の用いられない不要な場所が生じてしまう。その結果として、具体的なＧコードの長さが実際に必要とするよりも長くなってしまう。混合底数体系を用いるとこのような問題を解決することができる。例えば、３５チャネルの場合では、７1の因数と５0の因数とによる混合底数体形を用いると、コードのむだな空きを生じることなしに３５の組み合わせを表すことが可能である。７1の因数によって表すことが可能な数は０、１、２、３、および４である。５0の因数によって表すことが可能な数は０、１、２、３、４、５、および６である。例えば、０は、混合底数体形においては００と表せる。また例えば、数３４は、混合底数体形では４６と表せる。なぜならば、４×７1＋６×５0＝３４となるからである。混合底数体形を採用することの主な利点は階層キーを優先順位付けできることである。もし、最初の５チャネルがほぼ同等の優先順位を有し、また次の３０チャネルガ互いにほぼ同等の優先順位を有する場合には、混合底数体形を用いると、これらを２層に分けて正確に表現することが可能である。ただし、だからといって、混合底数体系が常に好適なものであるというわけではない。２進数はコンピュータで表現するのがより簡単であるし、また、２進数のような固定底数体形を採用すれば、階層キーのピラミッド型の優先順位付けを容易に行うことが可能である。
【００６９】
すべての実施例において有していることが望まれる他の機能は、あるプログラムのＧコードをいったん設定すれば、これを毎日、あるいは毎週繰り返すことができる機能である。通常は、ＣＤＴＬ情報は一度用いられると廃棄される。しかし、同じ番組を毎日あるいは毎週、繰り返して録画する場合には、ＣＤＴＬ情報は取り消されるまで保持されて使用される。番組を毎日あるいは毎週繰り返すことは、ボタン〔毎週〕あるいはボタン〔毎日〕をリモートコントローラあるいはＶＣＲのマニュアルコントロールに設けることで達成される。他の方法として、ある１つのキー、例えば〔ＰＲＯＧ〕キーをある一定の時間の間に多数回、例えば２回押した場合には、毎日の録画を指定し、３回押した場合には毎週の録画を指定するという具合にするやり方がある。例えば、Ｇコードスイッチが「オン」の状態となっており、また、所望の番組のＧコードが９９であるとした場合に、この番組を毎日繰り返し録画するには以下のようなキー操作をすればよい。
【００７０】
〔ＰＲＯＧ〕〔９９〕〔毎日〕〔ＰＲＯＧ〕
あるいは
〔ＰＲＯＧ〕〔９９〕〔ＰＲＯＧ〕〔ＰＲＯＧ〕
このＧコード９９はＣＤＴＬ情報に変換されて保存され、この例の場合では毎日使用されることとなる。録画は指定された日に開始され、その日から後は、同じチャネル・時刻・長さ情報が毎日使用される。これに些細な変更を加えることもできる。例えば、ほとんどの毎日録画番組は土曜日と日曜日には放送されないので、自動的に週末は録画を行わないようにする。
【００７１】
いったん、毎日あるいは毎週録画が設定されると、この設定が無期限に用いられる。リモートコントローラあるいはＶＣＲのマニュアルコントロールに〔取り消し〕ボタンが備えられている場合には、番組を取り消す１つの方法は（通常のＣＤＴＬ、あるいは毎日録画、毎週録画のいずれの場合においても）以下のようなキー操作を行うことである。
〔ＰＲＯＧ〕＊＊〔取り消し〕
なお、上記の＊＊はＧコードを表している。なお、先の場合と同様に、この場合においても、これに代わる実現方法がいろいろとあり得る。
【００７２】
もし、「オンスクリーンプログラム」機能が利用可能な場合には、タイマー録画予約設定を行った番組を画面上で確認することが可能である。毎日および毎週録画番組については、これが毎日あるいは毎週録画番組であることが表示されるようにできる。また、Ｇコードを対応するＣＤＴＬ情報とともに表示することも可能である。このようにすれば、現在の「メニュー」を容易に見ることができ、所望の番組をさらにつけ加えたり、あるいは取り消したりすることが容易となる。
【００７３】
図８は、本発明によるテレビジョンカレンダー２００を示したものである。図示のように、このテレビジョンカレンダーは、複数の年月日表示覧２０２、複数の曜日覧２０４、複数の時刻覧２０６、チャネル識別記号覧２０８、番組名を含む番組内容記述覧２１０を有しており、これらが、一般のテレビ番組案内と同様な方法で並べられている。また、テレビジョンカレンダーには、各チャネル識別記号と関連して、チャネル、日付、時刻、および長さに関する情報を含む圧縮コード表示２１２あるいはＧコードが記されている。図８を見れば、タイマー設定がいかに簡単にできるかがわかろう。ユーザがすべきことは、単に、所望の番組を見つけて圧縮コード表示覧に示されている圧縮コードを入力するだけである。
【００７４】
この方法は、チャネル、日付、時刻、および長さについてすべてをそれぞれ単独に入力していく方法と比べて対照的である。テレビジョン番組案内には少なくとも、チャネル、日付、時刻が明記されている。長さについては、通常は１日の中の時刻を表す覧２０６を見て、次の番組が開始される時刻から長さを計算する必要がある。圧縮Ｇコードを用いれば、このような複雑なことをしなくともよい。
【００７５】
ケーブルテレビジョン番組に、圧縮Ｇコードを用いることは、さらに有用である。通常のテレビ番組案内では、ＣＤＴＬ情報は、すべての通常放送チャネルに対して、例えば、４、７といった番号で表示されている。一方、ケーブルチャネルに対しては、ほとんどのテレビ番組案内では例えば、ＨＢＯ，ＥＳＰＮといったようにチャネル名で表示されている。この理由は、ロスアンジェルスなどのような都市圏においては、テレビジョン番組案内が１種類あるだけであるが、かなりの数のケーブル放送局がＨＢＯあるいはＥＳＰＮといった同じ名前でいろいろな異なるケーブルチャネル番号で放送しているためである。広域で配布されるテレビジョン番組案内において、Ｇコードなどの圧縮コードをケーブルチャネルに適用するには、以下のような手法が用いられる。
【００７６】
まず、すべてのケーブルチャネルに対し、全国全体で有効な固有の番号を恒久的に割り当てる。例えば、ＥＳＰＮをケーブルチャネル１に、ＨＢＯをケーブルチャネル２に、ＳＨＯをケーブルチャネル３といった具合に割り当てる。この割り当ては、必要があればテレビジョン案内に印刷してもよい。
【００７７】
ビデオカセットレコーダ、例えば、リモートコントローラ、ＶＣＲユニット、あるいはこれらの両方に「セット」「ケーブルチャネル」の２つのモードを追加して備えておく。これらのモードに対するインタフェースをユーザに提供する１つの方法は、２つのボタン、すなわち、〔セット〕と〔ケーブルチャネル〕を追加することである。これらのボタンは、図１、３、あるいは５に示されているように、ビデオカセットレコーダユニット自身あるいはリモートコントローラに配置することができる。なお、図では、〔セット〕ボタンは要素１６８で、〔ケーブルチャネル〕ボタンは要素１７０で表されている。他の方法でユーザインタフェースを提供することももちろん可能である。
【００７８】
次に、見たいと思うすべてのケーブルチャネルに対してＶＣＲの「設定」手続きを一回だけ行う必要がある。この「設定」手続きを行うことによって、各ケーブルチャネルに割り当てられたそれぞれの番号がローカルケーブル局のチャネル番号に関連づけられる。以下の表に示したように、例えば、ＥＳＰＮのローカルケーブル局がチャネル６を用いているのであれば、ケーブルチャネル番号１をＥＳＰＮに対して割り当てられる。
【００７９】
ケーブルチャネル名 割り当てチャネル番号 ローカル局チャネル番号
ＥＳＰＮ                  １                        ６
ＨＢＯ                    ２                      ２４
ＳＨＯ                    ３                      ２３
・                      ・                        ・
・                      ・                        ・
・                      ・                        ・
ＤＩＳ                    ８                      ２５
ユーザは、自分のリモートコントローラから以下のようなボタン操作によって「設定」を行うことが可能である。
〔設定〕〔０６〕〔ケーブルチャネル〕〔１〕〔ＰＲＯＧ〕
〔設定〕〔２４〕〔ケーブルチャネル〕〔２〕〔ＰＲＯＧ〕
〔設定〕〔２３〕〔ケーブルチャネル〕〔３〕〔ＰＲＯＧ〕
〔設定〕〔２５〕〔ケーブルチャネル〕〔８〕〔ＰＲＯＧ〕
【００８０】
この「設定」手順を行うことによって、ケーブルチャネルアドレステーブル１６２が作成されてコマンドコントローラ３６のＲＡＭ５２に記憶される。先の例の場合では、ケーブルチャネルアドレステーブル１６２は以下のような情報を含むこととなる。
【００８１】
ケーブルチャネルアドレステーブル１６２
１        ６
２      ２４
３      ２３
・        ・
・        ・
・        ・
８      ２５
【００８２】
この「設定」手続きを行った後でも、ケーブルチャネル選択は従来と同じ方法で行うことができる。例えば、キーパッドボタンを押せばＨＢＯを選択をすることができる。また、新しいやり方でも選択が可能となる。例えば、ケーブルチャネル番号２を押しても、ＨＢＯが選択できる。この新しい方法の利点は、テレビ番組案内の番組内容覧の隣に記されている「Ｃ2」から、直ちに割り当て番号を探すことができ、ＨＢＯがローカルケーブルチャネル番号２４であることを覚えておく必要がないことである。〔ケーブルチャネル〕ボタンが押されると、コマンドコントローラ３６は、ローカルケーブルチャネル番号をケーブルチャネルアドレステーブル１６２から探し出して、このチャネルにＶＣＲを正しく合わせる。
【００８３】
タイマー番組予約設定、および圧縮Ｇコードを用いるに当たって、通常放送とケーブルチャネルとを区別する１つの方法は、第８番目のビットを付加して通常放送に対してはこのビットを０にセットし、ＨＢＯなどのケーブルチャネルに対しては１にセットするようにすることである。この第８番目のビットは、８つのチャネルビットのうちの低位ビット、例えば第３番目のビットＣ3を用いるようにすることが可能である。このようにすると、通常放送であろうとあるいはケーブルチャネルであれ、人気チャネルを指定するために必要なビット数を最小にすることが可能となる。通常放送チャネルに対しては、他の７ビットに関する解読を優先順位ベクトルＣテーブル１２４に従って行うことができる。ケーブルチャネルに対しては、他の７ビットの解読は、別途用意されてマイクロコントローラ３６のＲＯＭ５４に保存されているケーブルチャネル優先順位ベクトルテーブル１６０に従って行うことができる。ケーブルチャネル優先順位ベクトルテーブルの設定は、全国に対し、あるいは少なくともテレビジョン番組案内が刊行されているある広域範囲に対してあらかじめ行っておくことができる。
【００８４】
こうして、Ｇコードとして知られている圧縮コードが記載されるテレビ番組案内に、以下のようなケーブルチャネル情報を印刷する。
【００８５】
６：３０ｐｍ
〔Ｃ2〕 ＨＢＯ ＊＊＊＊＊＊＊＊＊＊（４６７９）
＊＊＊ 番組内容 ＊＊＊＊＊＊＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
ＨＢＯの前に〔Ｃ2〕と記載されているので、〔ケーブルチャネル〕２を押すだけで簡単にＨＢＯを選択することができる。（４６７８）はこの特定の番組のＧコード表示である。
【００８６】
図８はテレビ番組案内の一部を示したものである。すべてのケーブルチャネルは、ニューモニック記号の前に記されているような、それぞれに割り当てられたケーブルチャネル番号１８８をもっている。ケーブルチャネル情報であるということを除けば、チャネルの圧縮Ｇコード２１２が付されて通常放送チャネルと同様な掲載の仕方がなされている。
【００８７】
タイマー番組予約を行うには、単に数値４６７９を装置のＧコード入力手順に従って、例えば〔ＰＲＯＧ〕〔４６７９〕〔ＰＲＯＧ〕のように入力するだけでよい。付加チャネルビットがＧコードがケーブルチャネルに対するものであることを示す「１」となっているので、ＧコードデコーダユニットはこのＧコードを、「ケーブルチャネル２」に復号して、図１および２に示されているようにケーブルチャネル信号１６４をコマンドコントローラ３６に対して送る。先の「設定」手順の実行によってケーブルチャネル２はチャネル２４と関係づけられているので、コマンドコントローラは、ケーブルチャネル信号を受信すると、ケーブルチャネルアドレステーブル１６２から２を探し出してケーブルチャネル２４へ変換し、これを所定の時刻が到来したときの録画チャネルとして採用する。Ｇコードをローカルケーブルチャネル番号ではなしに、割り当てケーブルチャネル番号と関係づけるようにすることによって、１つの番組が別々のローカルケーブルチャネル番号が付された多数の異なるケーブル搬送波を用いて放送されている場合でも、その番組のＧコードはどのローカル地域においても有効となる。
【００８８】
図９および１０は、ケーブルチャネル圧縮Ｇコード機能を含ませるための解読および符号化アルゴリズムを示したものである。まず、符号化について説明し、その後で解読について説明する。図１０が図７と異なる主な点は、ケーブル優先順位ベクトルテーブル１６０が付加されており、ケーブルチャネルの符号化の際に優先順位ルックアップステップ１８０において用いられるということである。
【００８９】
また、ケーブルチャネルの符号化が行われる際には、ステップ１８２のＣｐＤｐＴｐＬｐの２進数への変換ステップにおいてケーブルビットが所定のビット位置に付加される。先に説明したように、この付加ビットとして、ビットＣ3を用いることが可能である。先の場合と同様に、最も人気のある番組のビット数が圧縮されるように、ビット階層キーが定められる。なお、ケーブルチャネルビットを収容するには２３ビットの長さが必要である。２23＝８,３８８,６０８であるから、最長の場合でも、圧縮Ｇコードの長さは７桁である。
【００９０】
図９に示されているように、解読は符号化処理の単純な逆処理である。ステップ１０８に次いで、テストケーブルチャネルビット１７４が付加され、これによってケーブルチャネルビットが「１」であるかどうかが効率的に調べられる。もし、ケーブルチャネルビットが「１」である場合には、図１および２に示したケーブルチャネル信号１６４がコマンドコントローラ３６に対して送られ、このケーブルチャネル信号１６４によって、Ｇコードデコーダ３８から送られようとしているＣＤＴＬ１１８がケーブルチャネル用に対するものであることが伝えられる。次に、コマンドコントローラは、割り当てケーブルチャネル番号に基づいて、ローカルケーブルキャリアチャネル番号のルックアップを行う。さらに、図９のステップ１７６において、ケーブルチャネル優先順位ベクトルテーブル１６０を含む優先順位ベクトルテーブルを用いて、ＣＤＴＬ１１８情報のルックアップが行われる。コマンドコントローラにケーブルチャネル番号１６４を送る他の方法は、割り当てケーブルチャネル番号のローカルケーブルキャリア番号への変換を含むすべての解読をＧコードデコーダで行うようにすることである。図３に示したようなリモートコントローラが採用された場合に、このようになされる。図１１は、このようなステップが含まれる場合の解読の全アルゴリズムを示したものである。なおこれは、割り当てチャネルをローカルケーブルキャリアチャネルに変換するステップ１６６が、付加されているだけであり、このステップでは、ケーブルチャネルビットが当該のコードがケーブルチャネルに対するものであることを指し示している場合に、ケーブルチャネルアドレステーブル１６２のルックアップが行われる。ステップ１６６は、実質的に図９のステップ１７４に置き換わるものである。
【００９１】
議論すべき他の問題は、録画番組予約をすることが可能な番組の数についてであろう。Ｇコードを用いると番組の入力が非常に簡単にできるようになるので、ユーザは、すぐにやり方を覚えて、非常に多数の番組を入力しようとしがちである。しかし、既存のＶＣＲは、８番組まで登録できるものも存在するが、機種によっては、たったの４番組までしか登録できないものもある。その結果、ユーザはＶＣＲの番組登録可能数の制限に失望することとなる。
【００９２】
この問題を解決する１つの手法は、圧縮Ｇコードの解読をリモートコントローラで行うようにすることとし、そこに多数の番組、例えば２０あるいは４０の番組を登録するのに充分なだけのメモリを設けるようにすることである。リモートコントローラに、これらの登録された番組のなかから数番組ずつを定期的にＶＣＲ本体に対して転送する機能を付加するようにすることも可能である。このような機能を付加するには、図１２に示されているように、スタックメモリ７６と呼ばれるメモリをリモートユニット中にさらに備えることが必要である。なお、その他の点では、図１２は図４と同じである。スタックメモリ７６は、例えばマイクロコントローラ自身に内蔵されているＲＡＭ６２のような、ランダムアクセスメモリを用いて実現することができる。
【００９３】
スタックメモリ７６において、新たな入力、タイマー番組予約情報の挿入および削除が実行される。また、編集もここで行われる。スタックの先頭の記憶場所、例えば最初の４つの記憶場所は、ＶＣＲ本体装置のタイマー番組予約メモリにちょうど相当するものである。スタックメモリの先頭部分が変更される度に、新たな情報がＶＣＲ本体装置に送られて、ＶＣＲ本体装置の更新を行う。
【００９４】
図１３は、ユーザがリモートコントローラのキーパッドを介してＧコード番組を入力する際の一連の事象を表したものである。ここでの説明では、ＶＣＲ本体装置は、４つの番組だけを取り扱えるものと仮定しよう。また、スタックメモリは２０の番組についてタイマー予約を行えるだけの容量を有しているものとしよう。図１３のフローチャートを参照する。ステップ２３０において、ユーザがＧコードを入力すると、ステップ２３４においてまずマイクロコントローラ６０はこのＧコードをＣＤＴＬ情報に翻訳し、これに「入力」という語を付して表示ユニットに表示する。次いで、ステップ２３６において、マイクロコントローラは解読された番組をスタックメモリに入力する。
【００９５】
もし、これが入力された最初の番組である場合には、スタックメモリの先頭の記憶場所に記憶される。一方、すでにスタックメモリにすでに番組が登録されている場合には、新しく入力された番組がスタックメモリの後尾にとりあえず暫定的に記憶される。次いで、ステップ２４０において、時間的に最も前のものが先頭の記憶場所にくるように、また時間的に最も後のプログラムが最後の記憶場所にくるように、スタックメモリを正しい時間的順序にソートする。なお、時間的にソートされたスタックメモリの性質として、スタックメモリの記憶場所ｎが変更されるとその位置よりも下の記憶場所がすべて変更される。例えば、スタックメモリがすでに時間的に順序づけられた６つの入力を記憶している状態のときに、時間的な位置が３（位置１が先頭記憶場所である）であるような入力が新たになされたものとしよう。この入力が記憶場所３に配置されると、３、４、５、６の記憶場所に保存されていた情報は記憶場所４、５、６、７にシフトされる。ただし、記憶場所１および２は変更なしにそのまま維持される。
【００９６】
マイクロコントローラ６０は、時間的なソートを行った後、ステップ２４２において、最初のｎ値の入力部分において、ソートを行う前と後とで変化が生じなかったかどうかをチェックする。なお、今の例の場合では、ｎは４である。この場合、新しいプログラムが記憶場所３に配置されたので、以前に記憶場所３に保存されていた入力は記憶場所４に移されている。ＶＣＲ本体装置の番組予約メニューの４つの入力は、スタックメモリの記憶場所１から４に正確に対応していることが必要であるから、ＶＣＲ本体装置の３と４の入力を改訂する必要がある。
【００９７】
そこで、図１３のステップ２４４において、マイクロコントローラは本体装置に入力３と４とを新たに送る。もし、新たに入力された番組が時間的なソートを行った後において、記憶場所５を占めた場合には、入力１から４までについては前と比べて変化がないので、マイクロコントローラは何等のメッセージもＶＣＲ本体装置に送らない。この場合、マイクロコントローラは、ステップ２４６に従って、単にクロック８５およびキーボード８８の監視を再開するだけである。なお、ステップ２３０におけるユーザのＧコードの入力は、リモートコントローラをＶＣＲ本体装置の方に向けて行われるものと仮定している。図１３のその他のステップは非常に高速に行われるので、ステップ２４４における変更情報の伝送は、リモートコントローラが、まだＶＣＲ本体装置に向けられている間に終了してしまう。
【００９８】
もし、ユーザがステップ２３２において番組登録を削除しようと決心した場合には、まずスタックメモリの削除が最初に行われる。その結果、もし、最初の４入力に変化が生じた場合にはマイクロコントローラは改訂情報をＶＣＲ本体装置に対して送付する。最初の４入力に変化がなければ、リモートコントローラは何も送らない。この場合には、削除はスタックの下位部分において行われる（下位は、記憶場所５から２０を指す）。この新しい情報は、所定の時刻が到来したときにＶＣＲに対して送られることとなる。
【００９９】
一方、ＶＣＲ本体装置は１つずつ予約録画登録されたものについてタイマー録画動作を実行していく。４つの録画すべてをすべて終了してしまう前に、リモートコントローラのスタックから何らかの新しい入力をＶＣＲ本体装置に対して補充する必要がある。
【０１００】
マイクロコントローラは、リモートコントローラのリアルタイムクロック８５をモニタして、本体装置の番組登録がいつ使い切られてしまうかを判定する。図１４のフローチャートを参照する。マイクロコントローラは、ステップ２５０において、定期的にクロックと、さらに、ＶＣＲ本体装置のメニューと同一となっているスタックの先頭部分（最初の４入力）の登録番組の時刻とをチェックする。この、定期的なチェックにおいて、本体装置のメニューの録画が完了したことが検知されると、ステップ２５２においてスタックにさらに入力が存在しているかどうかをチェックし、もし存在していれば、ステップ２５８において表示部を点滅モードに設定するか、あるいは点滅するメッセージを表示してさらにプログラムを送ることを知らせる。ユーザが次にリモートユニットを取り上げた際に、この点滅によってＶＣＲ本体装置のプログラムメニューが終了しており、リモートユニットに記憶されている登録番組入力をＶＣＲ本体装置に対して補充すべき時であることを知ることができる。このとき、ユーザが、単にリモートユニットを取り上げてＶＣＲ本体装置の方に向けて〔入力〕キーを押すだけでよい。これによって、ステップ２６０において、スタックメモリの先頭部分が「ポップ」される。すなわち、スタック中のすべての入力が４記憶場所だけ上方にずれる。次に、ステップ２６２において、マイクロコントローラは新しいスタックの「先頭部分」（すなわち、先頭の４つの入力）をＶＣＲ本体装置に送る。以上のプロセスは、スタックが空になってしまうまで反復して行われる。
【０１０１】
圧縮コードを用いて録画装置の録画予約登録を行うための装置に関する他の好適な実施例は、図１５のインスタントプログラマー３００である。このインスタントプログラマー３００は０から９までの番号が付された数値キー３０２、「取り消し」キー３０４、〔確認〕キー３０６、〔毎日〕キー３０８、〔１回〕キー３１０、および〔毎日（月−金）〕キー３１２を具備しており、これらのキーを用いてインスタントプログラマー３００の番組登録が行われる。インスタントプログラマー３００のセットアップに用いられるその他のすべてのキーは通常はカバーで覆われている。カバー３１４を開くと、以下のキーが現れる。すなわち、〔登録〕キー３１６、〔入力〕キー３１８、クロックキー３２０、〔チャネル〕キー３２２、〔時間追加〕キー３２４、〔ＶＣＲ〕キー３２６、〔ケーブル〕キー３２８、それに〔テスト〕キー３３０である。また、図１５のインスタントプログラマー３００は、その他に、液晶表示部３５０と赤色警告発光ダイオード３３２とを備えている。図１６は、インスタントプログラマー３００の正面図であり、正面３３８上には正面赤外（ＩＲ）ダイオード３４０が取り付けられている。インスタントプログラマー３００を、図１９に示されているように、ビデオカセットレコーダ３７０、ケーブルボックス
３７２あるいはテレビジョン374などのプログラムを行おうとしている装置の前に置くことによって、正面赤外（ＩＲ）ダイオード３４０から発せられる信号によって番組の録画を制御することが可能となる。その他の赤外送信ダイオードは赤外光に対して透明なカバー３３６で覆われている。これらの赤外送信ダイオードについては後で説明する。
【０１０２】
図１８は、液晶表示部３５０の詳細を示したものである。この表示部には、いろいろな時に様々な文字３５４が表示される。また、入力表示部３５６を有している。また、表示部の下部には、タイムバー３５２が表示される。このタイムバー３５２の機能については後に説明する。
【０１０３】
インスタントプログラマー３００は、図１７に示されているように、マウントスタンド３６０の左側壁部３６２および右側壁部３６４の間に置けるようになっている。インスタントプログラマー３００は左側壁部３６２と右側壁部３６４との間をマウントスタンド３６０の前面の縁３６５まで滑らせて止められるようになっている。なお、この縁３６５は、図１７Ａに示されているように、左側壁３６２および右側壁３６４との間をよぎってこれらの側壁と連結されている。これらの要素３６２、３６４、３６５によってインスタントプログラマー３００の位置が正しく定められて、図２０に示したようにインスタントプログラマーが使用される際に、図１７に示した赤外光に対して透明なカバー３３６、および赤外ダイオード３４２、３４４、３４６、３４８からの送信が正しくできる向きに保持される。また、マウントスタンド３６０は位置合わせフランジ３６６を有しており、この位置合わせフランジによって、マウントスタンド３６０の後端部、すなわち位置合わせフランジ３６６が取り付けられているマウントスタンドの端の部分をケーブルボックスやＶＣＲあるいはこれらに類似の装置の正面側に、図２０に示されているように位置合わせをすることができる。マウントスタンド３６０を用いてインスタントプログラマー３００を図２０に示されているように位置合わせを行うと、図１７に示されている左側ＩＲダイオード３４２、下側ＩＲダイオード３４４、２つの背面ＩＲダイオード３４６、および右側ＩＲダイオード３４８の位置が、信号をビデオカセットレコーダ３７０およびケーブルボックス３７２に送信するのに適切な位置となる。ＶＣＲおよび／あるいはケーブルボックスがテレビジョン３７４自体に内蔵されている場合には、インスタントプログラマー３００は、図１９に示されているようなやり方か、あるいは、図２０に示されているように、テレビジョンの上にマウントスタンドを設置するようにして、テレビジョン３７４に対して送信できるような位置に置くようにできる。
【０１０４】
マウントスタンド３６０を用いることによって、ユーザはいったんマウントスタンド３６０を正しい位置にきちんと設置しさえすれば、その後は、インスタントプログラマー３００を赤外（ＩＲ）ダイオード３４０からの送信が可能な正しい位置を覚えておく必要がなく、自動的にインスタントプログラマー３００は図１９に示したように正しい位置にセットされる。いろいろなリモートコントローラを用いて実験を行ったところでは、リモートコントローラを、例えばコーヒテーブルなどの上の一定の位置に常に保持するようにすることは困難である。この問題は、マウントスタンド３６０を用い、インスタントプログラマー３００を、制御しようとしている装置とともに配置することで解決ができる。左側ＩＲダイオード３４２、下側ＩＲダイオード３４４、２つの背面ＩＲダイオード３４６、および右側ＩＲダイオード３４８が、それぞれ左側、下側、後ろ側、右側へ信号を送るのに適した位置に設けられている。下側への送信は、プログラムしようとしている装置の上にマウントスタンド３６０が置かれた場合に対応できるようにするものである。左側、および右側への送信は、左側あるいは右側に置かれたプログラムすべき装置への送信を可能とするものである。また、背面側送信のための、背面ＩＲダイオード３４６は、信号を壁または部屋の中の物体で反射させるために備えられているものである。正面ＩＲダイオード３４０、左側ＩＲダイオード３４２、右側ＩＲダイオード３４８、および下側ＩＲダイオード３４４には２５度の放射角度を有するダイオードが用いられる。２つの背面ＩＲダイオードは、背面への放射エネルギーが大きくなるように、５度の放射角度のダイオードが用いられる。これによって、エネルギーがよりよく収束されて、より強いＩＲエネルギーが壁あるいは部屋の物体から反射される。
【０１０５】
大抵のＶＣＲおよびケーブルボックスは、赤外リモートコントローラによって制御することが可能である。しかし、ＶＣＲあるいはケーブルボックスの異なる種類ごとに異なるＩＲコードが用いられている。文字どおり、数百種類ものいろいろな異なるＶＣＲあるいはケーブルボックスのモデルが存在する。しかし、幸いなことには、用いられているＩＲのコードセットは数十種類である。これらのコードセットは、それぞれのセットが、「電源」、「録画」、「チャネルアップ」、「チャネルダウン」、「停止」、「０」、「１」、「２」などのいろいろなキーを表す数十種類の「ワード」を有している。ＶＣＲおよびケーブルボックスの録画制御を行うためには、以下の「ワード」が必要なだけである。すなわち、「０」、「１」、「２」、「３」、「４」、「５」、「６」、「７」、「８」、「９」、「電源」、「録画」および「停止」である。すべてのワードセットに対するこれらのワードのＩＲコードは、インスタントプログラマー３００の、図２１および２２に示されている、マイクロコンピュータ３８０のメモリに記憶される。インスタントプログラマー３００のセットアップの際に、ユーザは、自分の持っているＶＣＲおよびケーブルボックスのタイプおよびモデルをインスタントプログラマー３００に対話的な方法で入力する。すると、以後の実際の制御プロセスにおいては、ＩＲコードの正しいセットが呼び出される。ユーザがＶＣＲだけしか所有していない場合には、その特定のＶＣＲの赤外（ＩＲ）コードが呼び出される。ユーザがＶＣＲとケーブルボックスの両方を所有している場合には、「電源」、「録画」、「停止」のＩＲコードがＶＣＲに対応するコードセットから呼び出され、一方、「０」から「９」までのＩＲコードはケーブルボックスに対応するコードセットから呼び出される。このようにする理由は、この場合、チャネルスイッチの制御がケーブルボックスによって行われるからである。従って、「０」から「９」までのチャネルスイッチング信号はＶＣＲにではなく、ケーブルボックスに対して送るようにする必要があるのである。
【０１０６】
最初に、ユーザは一連のセットアップ操作を行う。まず最初に、ユーザは、プログラムしようとしているＶＣＲのモデル／ブランドに対応する番号をＶＣＲブランド名とそれに対応する２桁のコードの一覧表から探し出す。次に、ＶＣＲをチャネル３あるいはチャネル４のどちらでよいから通常用いる方に合わせて、ＶＣＲの電源を「オフ」にする。ユーザは、次に［ＶＣＲ］キー３２６を押す。表示部にＶＣＲの表示がなされたら、ユーザは、ＶＣＲモデル／ブランド一覧表から見つけ出した２桁のコード（例えば、ＲＣＡは０１である）を入力する。次に、インスタントプログラマー３００をＶＣＲの方に向けて、［入力］キー318を押す。すると、ＶＣＲにテスト信号を送っている間、赤色警告発光ダイオード３３２が点灯する。ＶＣＲの電源が「オン」の状態となり、チャネルが０９に切り替わったならば、［登録］キー３１６を押す。次いで、クロック設定ステップに進む。もし、ＶＣＲが「オン」の状態にならなかった場合には、あるいは「オン」の状態にはなったけれどもチャネルが０９に切り替わらなかった場合には、［入力］キー３１８を再度押し、赤色発光ダイオード３３２が消えるのを待つ。インスタントプログラマー３００は、赤色警告発光ダイオード３３２が点灯しててる間に、次に可能性のあるＶＣＲコードの送信を行う。もし、ＶＣＲの電源が「オン」の状態となり、チャネルが０９に切り替わったならば、［登録］キー３１６を押し、もし、そうならなかった場合には、再度［入力］キー３１８を押す。
【０１０７】
ＶＣＲに適合するＶＣＲコードが見つかるまでこれを繰り返して行う。そのブランドに対して可能性のあるＶＣＲコードがすべて試みられた場合には、表示部に「終了」の表示がなされる。そのような場合には、［ＶＣＲ］キー３２６、コード００を押し、さらに［入力］キー３１８を押して、すべてのブランドに対する可能性のあるすべてのコードを１つずつ試していく。
【０１０８】
正しいＶＣＲコードが見つかって登録されたならば、次のステップはインスタントプログラマー３００のクロックを設定することである。まず最初に、ユーザは、クロックキー３２０を押す。表示部に「年」と表示されているときに、ユーザは年の数値（例えば９０）を入力し、次いで［入力］キー３１８を押す。次に、表示部「月」と表示されるので、月の数値（例えば、７月であれば０７）を入力してから、［入力］キー３１８を押す。同じようにして、「日」が表示されたならば、日付に対応する数値（例えば、１日であれば０１）を入力し、「時間」に対しては、時間に対応する数値（例えば、２時であれば０２）、「分」に対しては、分に対応する数値（例えば５分過ぎであれば０５）、「午前／午後」に対しては、午前の場合には１を午後の場合には２を入力する。以上の手順が終了すると、表示部には「登録」の表示が数秒間だけ現れ、次いで入力された現在時刻と日付とが表示される。この設定がすめば、ＶＣＲのクロックの設定を行う必要はもはやない。
【０１０９】
インスタントプログラマー３００をケーブルボックスコントローラとしても用いる場合には、セットアップを以下のように行う。まず最初に、制御しようとしているケーブルボックスのモデル／ブランドを、ケーブルボックスブランド名とそれに対応する２桁のコードが記載されているケーブルボックス一覧表から探し出す。ＶＣＲをチャネル０３あるいは０４に合わせてから「オフ」にする。次に、ケーブルボックスをチャネル０２または０３のどちらでもよいから通常用いる方に合わせて、「オン」のままにしておく。次いで、［ケーブル］キー３２８を押す。表示部に「ケーブル」と表示されたら、ユーザは、ケーブルボックスモデルブランド名一覧表から見つけ出した２桁のコードを入力してから、インスタントプログラマー３００をケーブルボックス（コンバータ）向けて［入力］キー３１８を押す。すると、赤色警告発光ダイオード３３２が点灯し、ケーブルボックスにテスト信号が送られる。ケーブルボックスのチャネルが０９に切り替わったならば、［登録］キー３１６を押す。もし、ケーブルボックスがチャネル０９に切り替わらなかった場合には、ユーザは、［入力］キー３１８を再び押し、次に可能性のあるコードが送信して赤色警告発光ダイオード３３２が消えるのを待つ。これを、ケーブルボックスがチャネル０９に切り替わるまで繰り返して行い、切り替わったならば、［登録］キー３１６を押す。もし、表示部に「終了」と表示された場合は、そのブランドに対して可能性のあるケーブルボックスコードがすべて試みられたことを意味する。そのような場合には、ケーブルコード００を押してから［入力］キー３１８を押し、可能性のあるブランドコードを、１つずつ試していく。
【０１１０】
あるユーザにとっては、テレビ番組案内に記載されているチャネル、あるいはカレンダーがユーザの所有しているテレビジョンあるいはケーブルのチャネル番号とは異なっていることがある（そのユーザがケーブルあるいは衛星受信機を所有していると、このようなことが起こり得る）。そのような場合には、以下のようにする。まず最初に、ユーザは［チャネル］キー３２２を押す。すると、表示部に「番組案内チャネルＴＶチャネル」といったような表示がなされる。次に、ユーザは、テレビ番組案内あるいはカレンダーに印刷されているチャネル番号（例えば、チャネル２であれば、０２）を入力し、さらに続けて、番組案内に印刷されているそのチャネルを実際に受信するのに用いられているローカルケーブル局のチャネル番号を入力する。次いで、［入力］キー３１８を押す。これを、他のすべてのチャネルについて繰り返す。以上の手順が終了したならば、［登録］キー３１６を押す。
【０１１１】
通常、その地区のテレビ番組案内あるいはカレンダーには各ケーブルチャネルおよび放送チャネル、例えばＨＢＯ、ＣＮＮ、ＡＢＣ、ＣＢＳ、ＮＢＣなどに割り当てられたチャネル番号が記載されている。これは、図２８の左側の２列に相当する。例えば、テレビ番組案内あるいはカレンダーで、チャネル１４がＨＢＯに割り当てられているけれども、実際にユーザが受信しているケーブル局ではＨＢＯをチャネル１８で送信しているものと仮定しよう。この場合、チャネル番号が異なっているから、ユーザは［チャネル］キー３２２を用いる必要がある。すなわち、まず、ユーザは［チャネル］ボタンを押す（表示部の２つ空白分下部の位置に「ガイドチャネル」が点灯する）。次いで１４を入力する（すると、表示部の２つの空白分下部の位置に「テレビチャネル」が点灯する）。さらに、１８を入力してから、［入力］キー３１８を押す。これを、異なっているチャネルすべてに対して繰り返す。終了したら、［登録］キー３１６を押す。
【０１１２】
チャネルの設定が終了したら、［チャネル］キー３２２を押してからさらに［確認］キー３０６を押すことによって設定を確認することができる。［確認］キー３０６を連続して押すと、表示部に設定したチャネルが１つずつスクロールされて表示される。
【０１１３】
次に、ユーザはインスタントプログラマー３００の設置場所が適切であるかどうかのテストを行うことができる。まず最初に、ユーザは、電源コードがコンセントに差し込んである状態でＶＣＲの電源が「オフ」になっており、ケーブルボックス（もし、あるならば）が「オン」の状態となっていることの確認を行う。
【０１１４】
次に、［テスト］キー３３０を押す。ＶＣＲだけしか所有していない場合、もしＶＣＲの電源が「オン」となり、チャネルが０９に切り替わって録画が開始され、次いで電源が「オフ」となれば、ＶＣＲコントローラは適切な場所に設置されている。
【０１１５】
もし、ケーブルボックスも所有している場合には、ＶＣＲの電源が「オン」となり、ケーブルボックスがチャネル０９に切り替わり、ＶＣＲの録画が開始され、次いでＶＣＲが停止して電源が「オフ」となれば、インスタントプログラマー３００は適切な場所に設置されている。
【０１１６】
インスタントプログラマー３００を作動させるには、ＶＣＲは「オフ」が状態となっていてケーブルボックスが「オン」のままにされていることが必要である。ユーザは、まず、テレビ番組案内から録画しようと思う番組の圧縮コードを見つけ出す。圧縮コード２１２は、図８に示されているような形でテレビ番組案内に記載されている。この実施例に用いるテレビ番組案内／カレンダーは、要素188が必要でないことを除いては、図８に示されている要素を含んでいる。選択した番組の圧縮コード２１２を、数値キー３０２を用いてインスタントプログラマー３００に入力し、次に、その番組を何度録画するかの選択を行う。設定時刻においてその番組を１回だけ録画するのであれば、［１回］キー３１０を押す。また、取り消しを行わない限り、設定時刻において、その番組を毎週録画し続けるのであれば、［毎週］キー３０８を押す。また、取り消しを行わない限り、設定時刻において、その番組を月曜日から金曜日まで毎日録画し続けるのであれば、［毎日（月−金）］キー３１２を押す。これは、連続メロドラマのような、週末を除いて毎日放送される番組の予約を行う最も便利な方法である。入力の確認のために、インスタントプログラマー３００は直ちに圧縮コードを解読して、ユーザが入力した番組の日付、チャネル、および開始時刻を表示する。なお、入力された番組の長さは表示部の下部をよぎって設けられているタイムバー３５２に表示される。１つのバーが、１時間（あるいは１時間以下）の番組時間を表す。
【０１１７】
さて、インスタントプログラマー３００からのコマンドが正しく送信できるように、インスタントプログラマー３００をＶＣＲおよびケーブルボックスの近くに置いておく。所定の時刻が到来すると、インスタントプログラマー３００はＶＣＲの電源を「オン」にし、チャネルを所定のチャネルに合わせ、所定の番組を録画し、終了したらＶＣＲを「オフ」にする。ユーザが気を付けなければならないことは、忘れずに未使用テープを装着することだけである。
【０１１８】
［確認］キー３０６を用いると、入力した番組を確認することができる。入力した番組は、日付および時間が古い順から表示される。［確認］キー３０６を押す度ごとに、表示が次の番組に切り替わる。入力された番組がすべて表示し終った場合には「終了」と表示される。さらに［確認］キー３０６を再び押すと、表示部には、現在の日付と時刻とが表示される。ユーザが、ある番組を取り消したいと思うときには、取り消したいと思う番組が表示されるまで［確認］キー306を押し、次いで、［取り消し］キー３０４を押す。このとき表示部には「取り消し終了」と表示される。また、ユーザが間違った番号を押してしまった場合には、どの場合においても、［取り消し］キー３０４を押すことによって入力をやり直すことができる。
【０１１９】
テレビ番組によっては、例えば、スポーツ生放送のような場合には、予定の時間をオーバしてしまうことがある。このような場合に、番組を完全にすべて録画するには、番組が録画中であっても、［時間追加］キー３２４を押せば、録画時間を延長させることができる。この場合、まず［確認］キー３０６を押して番組を表示させ、次いで、［時間追加］キー３２４を押す。［時間追加］キー３２４を１回押す度に、録画時間が１５分追加される。
【０１２０】
現在時刻と日付が表示され、同時に次の２４時間内において録画に必要な未使用テープの量が表示部の下部をよぎって設けられているタイムバー３５２に表示される。バー１つがテープ１時間（あるいはそれ以下）を表す。こうして、ユーザはＶＣＲから離れる前に未使用テープの量が充分かどうかを確認することができる。
【０１２１】
番組コードが入力される度に、インスタントプログラマー３００は入力された番組の間で時間的に重なり合ってしまうものがないかどうかをすべての入力に対して自動的にチェックする。もし、ユーザがすでに入力ずみの番組と時間的に重なり合う番組を入力しようとした場合には、「重複」のメッセージが表示される。すると、図２３のステップ４３２に要点を記述してあるように、ユーザは、次のいずれかを選択することができる。（１）もし、ユーザが先に登録した番組の方を残し、新しい方を放棄したいと思うときには、何もしないでそのまま待っていればよく、ある一定の短時間が経過すると、表示部は現在時刻と日付の表示に戻る。（２）もし、早く開始される番組をその最後まで録画してから、残りの時間を第２番目の番組の録画を行いたければ、［１回］キー３１０を押してから［毎日（月−金）］キー３１２あるいは［毎週］キー３０８を再び押す（コードを入力する際に押した方のキー）。同じ時刻に開始する番組が複数登録された場合には、最も最近登録された番組が最初に録画される。また、「重複」の表示によって、重複に気がつき、ユーザが新しい番組の方が、前に登録した番組よりも重要であると判断した場合には、ユーザは、先に登録された番組を取り消して、新しい番組を再入力してやればよい。
【０１２２】
コロラド州のある地域などのように、地域によっては、ケーブルシステムのあるチャネルの放送が、テレビ番組案内に掲載されている時間よりも３時間遅くあるいは早くに放送される場合がある。これは、そのチャネルが東部の衛星から受信されるのか、あるいは西部の衛星から受信されるのかによる時間差によるものである。テレビ番組案内に記載されている時刻よりも３時間遅い時間に番組を録画する場合の手順は以下の通りである。まず最初に、番組のコードを入力し、次に、［登録］キー３１６（＋）を押してから、さらに、［１回］キー３１０を押し、さらに希望に応じて［毎日（月−金）］キー３１２あるいは［毎週］キー３０８を押す。また、テレビ番組案内に記載されている時刻よりも３時間早い時間に番組を録画する場合の手順は以下の通りである。まず最初に、番組のコードを入力し、次に、［入力］キー３１８（−）を押してから、さらに［１回］キー３１０を押し、さらに希望に応じて［毎日（月−金）］キー３１２あるいは［毎週］キー３０８を押す。なお、インスタントプログラマー３００には、テレビ番組案内に掲載されている時刻ではなしに、実際に録画される時刻が表示される。
【０１２３】
インスタントプログラマー３００をさらにユーザーフレンドリーにするメッセージが用意されている。「電池消耗」の表示は電池交換が必要であることを示すものである。「入力エラー」はセットアップ中に不当な入力がなされたときに表示される。「コードエラー」は入力された番組コードの数値が正しくないことを示すものである。もし、この表示がなされた場合には、テレビ番組案内をチェックして、数値を入力し直す必要がある。「日付エラー」は土曜日あるいは日曜日の番組に対して毎日（月曜日から金曜日まで）の録画を選択しようとしたか、あるいは、インスタントプログラマー３００は毎週録画あるいは毎日録画のオプションは現在の週のプログラム（±７日）に対してだけ適用可能となっているのに、７日以上先の番組に対して毎週録画あるいは毎日録画を選択しようとしたか、あるいは、すでに終了してしまっている番組を入力しようとしたことを示すものである。「満杯」は、インスタントプログラマー３００の内部のランダムアクセスメモリ（ＲＡＭ）によって実現されているスタックメモリが、登録番組で満杯になっていることを示すものである。この場合、１つあるいはそれ以上の番組を取り消せば、新たに別の新しい番組を登録することが可能である。「空」は録画すべき録画番組が存在しないことを意味するものである。インスタントプログラマー３００に登録できる録画番組の数は利用可能なＲＡＭの容量に依存して、１０以上のある範囲内で変化する。
【０１２４】
図２１は、インスタントプログラマー３００を具現化するのに必要な回路図である。この回路は、マイクロコンピュータ３８０、発振器３８２、液晶表示部３８４、キーパッド３８６、５方向赤外トランスミッタ３９０、および赤色警告発光ダイオード３３２からなっている。マイクロコンピュータ３８０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏポート、タイマー、カウンタ、およびクロックからなっている。ＲＯＭはプログラムの記憶用である。ＲＡＭはいろいろな用途に用いられるが、就中、録画しようとする番組を登録するためのスタックメモリとして用いられる。液晶表示部３８４は図１５および１８の表示部３５０である。キーパッド３８６はこれまでに説明したいろいろなキーを具現するためのものである。
【０１２５】
５方向赤外トランスミッタ３９０は正面赤外（ＩＲ）ダイオード３４０、左側IRダイオード３４２、下側ＩＲダイオード３４４、２つの後側ＩＲダイオード346、および右側ＩＲダイオード３４８からなっている。図２２は、インスタントプログラマー３００の回路をさらに詳細に示したものであり、すでに説明した構成要素には同じ参照番号を用いている。マイクロコンピュータは具体的には、ＮＥＣμＰＤ７５３０×を用いることができ、このマイクロコンピュータは表示部、キーパッド、発光ダイオード、発振器と直接にインタフェースをとることが可能である。２５度ＩＲダイオードには、具体的には、ＮＥＣ３１３ＡＣを用いることができ、また５度ＩＲダイオードには、Litton２８７１ＣＩＲダイオードを用いることができる。
【０１２６】
図２３、２４、および２５は、マイクロコンピュータ３８０のリードオンリーメモリ（ＲＯＭ）に記憶され、番組入力、確認および番組取り消し、録画の実行に係わるプログラムに関するフローチャートをそれぞれ示したものである。図23は、すでに説明した番組入力に係わるフローチャートであり、以下のステップからなっている。すなわち、現在の日付、時刻、およびタイムバーを表示するステップ４０２、なお、このステップはインスタントプログラマー３００は非動作状態である；キーボードをスキャンして圧縮コード１０進数値が入力されたかどうかを判定するステップ４０４；入力されたコードを表示するステップ４０６；入力されたコードが正しいかどうかのユーザによるチェックステップ４０８、およびユーザによる［取り消し］キー３０４押圧ステップ４２８；ユーザによる［登録］キー３１６または［入力］キー３１８を押すことによって開始時刻を３時間早めたり遅らせるステップ４１０；ユーザによる［１回］キー３１０、［毎週］キー３０８あるいは［毎日］キー３１２の押圧ステップ４１２；マイクロコンピュータが圧縮コードをＣＤＴＬに解読するステップ４１４；登録番組に時間的な重なりが起こっていないかをテストするステップ４１６、もし起こっている場合には［重複］メッセージを表示するステップ４２０、ユーザが［１回］キー310、［毎週］キー３０８または［毎日］キー３１２を押すステップ４２２、かくして、「重複」オプションに関して上述したように時間的に重なる入力の調停を行うステップ４３２、（＃Ｋ）登録を行わないステップ４２４；表示部に、１回録画に対する日付、チャネル、開始時刻、長さ（タイムバー）、あるいは毎日録画に対するチャネル、開始時刻、長さ（タイムバー）、あるいは毎週録画に対する曜日、チャネル、開始時刻、長さ（タイムバー）を設定するステップ４１８；ユーザが録画時間を１５分延長するための［時間追加］キー３２４を押すステップ４２６；ユーザが表示をチェックするステップ４３０；マイクロコントローラ３８０のＲＡＭの一部であるスタックに登録番組を時間順に入力するステップ４３４；および、必要なテープの長さを算出し、タイムバーを更新するステップ４３６である。
【０１２７】
図２４は、すでに説明した確認および取り消しに係わるフローチャートであり、以下のステップからなっている。すなわち、現在の日付、時刻、およびタイムバーを表示するステップ４０２；［確認］キー３０６を押すステップ４４２；スタックが空であるかをテストするステップ４４４、「空」の表示を行うステップ４４６、現在の日付、時刻の表示に戻ステップ４４８；スタック先頭部の入力を表示するステップ４５０；ユーザが［時間追加］キー３２４を押すステップ452、タイムバーを更新するステップ４６０；ユーザが［確認］キー３０６を押すステップ４５４、スタックを１入力分だけスクロールするステップ４６２；ユーザが［取り消し］キー３０４を押すステップ４５６、「取り消し」を表示して番組を取り消すステップ４６４；およびユーザが何も行わないステップ４５８、マイクロコンピュータ３８０タイマーが３０秒間カウントするまで待機するステップ４６６である。
【０１２８】
図２５は、すでに説明した番組を自動的に録画する録画実行のフローチャートであり、以下のステップからなっている。すなわち、スタックメモリの先頭部分の開始時刻を現在時刻と比較するステップ４７２；番組の開始時刻よりも３分前であるかどうかをテストするステップ４７４；赤色警告ＬＥＤ３３２を３０秒間点滅させるステップ４７６；チャネル、開始時刻を表示し、「開始」メッセージを点滅させるステップ４７８；間違いなく開始時刻に到達したかを確認するステップ４８０、電源オン信号をＶＣＲに送り、「録画」メッセージを表示するステップ４８２；４９０；ケーブルボックスがＶＣＲに入力されているかどうかをチェックするステップ４８４、チャネルスイッチン信号をＶＣＲに送るステップ４８６、チャネルスイッチング信号をケーブルボックスに送るステップ４８８；録画信号をＶＣＲに送るステップ４９０；停止時刻を現在時刻と比較するステップ４９２、停止時刻が到来したかどうかをテストするステップ４９４、「終了」メッセージを表示するステップ４９６；停止信号をＶＣＲに送るステップ４９８；電源オフ信号をＶＣＲに送るステップ５００；そして番組スタックをポップするステップ５０２である。
【０１２９】
図２６は、チャネル、日付、時刻、および長さ（ＣＤＴＬ）を１０進圧縮コードに符号化する方法に関するフローチャート５１０を示したものである。このプロセスは、図８の番組案内あるいはカレンダーに記載される圧縮コード２１２を得るために、汎用コンピュータ上で「オフライン」で行われるものである。符号化の最初のステップは、チャネル、日付、時刻、および長さ（ＣＤＴＬ）を入力するステップ５１２であり、特定の番組についてのチャネル、日付、開始時刻、および長さＣＤＴＬ５１４を入力する。次のステップは、割り当てられたチャネル番号を探し出すステップ５１６であり、各チャネル５１８の割り当てチャネル番号５２２への置き換えを行う。例えば、チャネル２などのネットワーク放送チャネルの場合のように、割り当てチャネル番号が同じであることも多い。しかし、ＨＢＯなどのケーブルチャネルには、別途チャネル番号が割り当てられているので、これをケーブル割り当てチャネルテーブル５２０から探し出す。このケーブル割り当てチャネルテーブル５２０は、図２８の最初の２列と事実上同じである。次のステップは、チャネル、日付、および時刻／長さの優先順位を優先順位ベクトルテーブルから探し出すステップ５２４であり、チャネル、日付、および時刻／長さをそれぞれ索引として優先順位ベクトルチャネル（Ｃ）テーブル５２６、優先順位ベクトル日付（Ｄ）テーブル５２８、優先順位ベクトル時刻／長さ（ＴＬ）テーブル５３０をルックアップし、ベクトルＣp、Ｄp、ＴＬp５３２を生成する。時刻／長さ（ＴＬ）混合テーブルを用いて優先順位を設定することによって、これらの傾向がどのようなものであるかを示す直線的な関係を知ることができる。例えば、午後６：３０には、２時間番組は少なく、ほとんどが短い番組である。この理由は、たぶんこの時間帯が夕食の時間であるからであろう。
【０１３０】
チャネル優先順位テーブルは最も頻繁に使用されるチャネルが小さな優先順位番号をもつように順序づけられている。優先順位Ｃテーブル５２６の中のデータの一例は次のようなものである。
チャネル    ４    ７    ２    ３    ５    ６    １１    １３・・・
優先順位    ０    １    ２    ３    ４    ５      ６      ７・・・
【０１３１】
一般に、月の中の日付はすべて同じ優先順位を有しており、すなわち、同じ頻度で使用されるので、優先順位ベクトルＤテーブル５２８においては、以下の例のように月の中の若い日付が小さな優先番号と対応するようになっている。
日付        １    ２    ３    ４    ５    ６    ７    ８・・・
優先順位    ０    １    ２    ３    ４    ５    ６    ７・・・
番組の開始時刻および長さの優先順位は、それぞれの開始時刻と番組の長さの組合わせに対して優先順位を与えるマトリックとして並べるようにすることができる。このマトリックスは、より人気の高い開始時刻と長さの組み合わせが小さな優先順位番号となり、人気の低い組み合わせの優先順位番号が大きくなるように並べられる。例えば、部分的な優先順位ベクトルＴ／Ｌテーブル５３０は以下のようなものである。
優先順位ＴＬテーブル
時刻            ６：３０pm      ７：００pm      ７：３０pm      ８：００pm・・・長さ（時間）
０.５               ８              ４              ７            １０
１.０             １２            １５            １３            １８
１.５             ２０            １９            １７            ３０
【０１３２】
チャネル、日付、時刻および長さ（ＣＤＴＬ）５１４のデータが、例えば、チャネルが５で、日付が１９９０年２月１０日、時刻が７：００ＰＭ、長さが１.５時間であったとすると、この場合のＣp、Ｄp、ＴＬpのデータ５３２は４９ １９となる。次のステップ５３４で、Ｃp、Ｄp、ＴＬpをそれぞれ２進数に変換し、これらを１つの２進数に連結してデータワード・・・ＴＬ2ＴＬ1・Ｃ2Ｃ1・・・Ｄ2Ｄ1５３６を得る。上記の例に対して・・・ＴＬ2ＴＬ1・・・Ｃ2Ｃ1・・・Ｄ2Ｄ1５３６のワードを変換すると、次の３つの２進数が得られる：・・・００１００１１、・・・０１００、・・・０１００１。各変換に用いられる２進数のビット数は、含まれる組み合わせ数によって決まる。このビット数は、具現方法によって異なるが、１つの好適な実施例においては、Ｃpに対しては８ビットを用い、これをＣ8Ｃ7Ｃ6Ｃ5Ｃ4Ｃ3Ｃ2Ｃ1で表す。この８ビットによって２５６チャネルを表現することができる。また、Ｄpに対しては５ビットを用い、Ｄ5Ｄ4Ｄ3Ｄ2Ｄ1と表す。これによって１月の３１日を表すことができる。また、ＴＬpに対しては１４ビットを用いてＴＬ14・・・ＴＬ3ＴＬ2ＴＬ1と表す。これによって２４時間内の開始時刻を５分単位で、また３時間までの番組長さを５分単位で、３時間から８時間までの番組長さを１５分単位で表すことができる。これは、およそ２８８×（３６＋２０）＝１６,１２８の組み合わせ数であり、これが２14＝１６,３８４個の２進数の組み合わせによって表現される。結局全体として、ＴＬ14・・・ＴＬ2ＴＬ1Ｃ8・Ｃ2Ｃ1Ｄ5・・・Ｄ2Ｄ1の情報を表すのに８＋５＋１４＝２７ビットが用いられる。先の例では、ゼロの埋め込みを行ってこれらを連結すると全２７ビットは、００００００００１００１１０００００１００００１００１となる。
【０１３３】
次のステップは、リードオンリーメモリ６４に記憶されているビット階層キー５４０を用いて、２進数のビットの並び替えを行うステップ５３８である。先に説明したように、ビット階層キー５０４は、・・・ＴＬ2ＴＬI・・・Ｃ2Ｃ1・・・Ｄ2Ｄ1５３６のビットの任意の順序づけであってよいが、一般には、タイマー録画予約が行われる確率が最も主題の番組が小さな圧縮コード２１２を有し、従って少ないキー操作回数ですむように順序づけがなされる。ビット階層キーの順序づけは、すでに説明したように、いろいろなビットの組み合わせの微分確率によって決定することができる。ビット階層キー５４０を導出する詳細は、ビット階層キー１２０に関して説明したのと同じ方法を用いることができる。例えば、ビット階層キーは次のようなものである。
ＴＬ8 Ｃ3・・・ＴＬ10Ｃ2  ＴＬ1  Ｃ1  Ｌ1  Ｄ5  Ｄ4  Ｄ3  Ｄ2  Ｄ1
２７ ２６・・・  10  ９     ８   ７   ６   ５   ４   ３   ２   １
【０１３４】
次のステップは、ビットのグループを結合して、各グループを1０進数に変換し、これを１つの１０進数に連結するステップ５４２である。例えば、ビット階層キーに基づいて並べ変えを行ったときに、００００００００１０１００１０００００１００００１００１であれば、これを００００００００１０１００１００００、００１００００１００１のようにグループ化することができる。これらの２進ビットのグループを１０進数に変換すると３２８、１３７となり、これを１つの１０進数に連結すれば３２８１３７となる。符号化の最後のステップは、10進数を並べ換えるステップ５４６である。ここでは、日付５４８、および特定の月、年に依存する並べ換え関数５４４に基づいて、１０進数の並べ換えを行う。
【０１３５】
こうすることによって、コードの機密保持を行うことができる。１０進数並べ換えステッブ５４６を実行すると、１０進数圧縮コードＧ8・・・Ｇ2Ｇ1は、例えば、２３８７３１のようになる。これらの符号化されたコードは、番組案内あるいはカレンダーに図８に示した圧縮コード表示２１２のように記載される。
【０１３６】
図２７は、図２３のステップ４１４において１０進圧縮コードをチャネル、日付、時刻、および長さ５６０に解読する方法を、フローチャートとして示したものである。ステップ５６２において、１０進圧縮コードＧ8・・・Ｇ2Ｇ1が入力されたならば、これを、図２６に示したステップ５４４および５４６の並べ換え関数を逆に実行する必要がある。まず最初のステップは、日付コードを抽出するステップ５６６であり、１０進圧縮コードの番組の日付コードの抽出を行い、この日付コードをステップ５６８に引き渡す。ステップ５６８では、この日付コードの他に、図２１および２２のマイクロコンピュータ３８０内に具現化されるクロック５７６から現在の日付５７４も受け取る。また、クロック５７６は、現在の月および年を、年と月に依存する関数である並べ換え関数５７０に対して送る。この関数をステップ５６８において実行する。すなわち、もし日付コードがクロックから取得した現在日付と同じかあるいはそれより大きければ、クロックの示す年月に対する並べ換え関数を採用する。そうでない場合には、クロックの示す月の次の月に対する並べ換え関数を採用する。ただし、このとき、クロックの示す月が１２月である場合には次の年を採用する。言い換えれば、番組予約登録は１カ月以内すなわち３１日以内に限られているので、もし番組の日付が現在月日の日と一致しているかあるいはそれよりも大きい場合には、現在月のいずれかの日であることを意味している。そうでなく、もし番組の日付が現在月日の日よりも小さいときには、その番組は翌月の番組のはずである。日付コード抽出ステップ５６６は１０進圧縮コード逆並べ換えステップ５８０の前に行う必要があるが、この日付コード抽出は、日付コード情報が図２６の１０進数並べ換えステップ５４６によってどのように実行されたかに関する知識をあらかじめ有していることによって可能である。
【０１３７】
こうして並べ換え方法５７８が選択され、これを用いて、１０進圧縮コードの逆並べ換えステップ５８０が実行される。上記の例の場合では、ステップ５８０の結果は３２８１３７となる。次のステップは、１０進数のグループを２進数に変換し、これらの２進数を１つの２進数に連結するステップ５８４である。このステップは図２６のステップ５４２に逆のステップであり、上記の例の場合では、２進数として００００００００１０１００１０００００１０００１００１が得られる。次に、ビット階層キー５８８を用いて、ビット階層キーステッブ５８６に基づいて２進数の並べ換えを行う。このステップ５８６は、図２６のステップ５３８の逆ステップであり、これによって、上記の例に対しては、０００００００００１００１１０００００１０００１００１、すなわち・・・ＴＬ2ＴＬ1・・Ｃ2Ｃ1・・・Ｄ2Ｄ1５９２が得られる。これは図２６の５３６に対応するものである。次のステップは、ビットを３つの２進数ＴＬb、Ｃb、Ｄbにグループ分けしてから、これらを１０進数Ｃp、Ｄp、ＴＬpに変換するステップ５９０である。上記の例の場合では、この１０進数として、４、９、１９が得られ、これらは、チャネル、日付、時刻／長さに対する優先順位ベクトルである。さらに、これらの１０進数を用いて、チャネル、日付、時刻および長さ６０４を、優先順位ベクトルチャネル（Ｃ）テーブル５９８、優先順位ベクトル日付（Ｄ）テーブル６００、および優先順位ベクトル時刻／長さ（ＴＬ）テーブル６０２からそれぞれルックアップする。
【０１３８】
ローカルチャネル番号をルックアップするステップ６０６では、割り当てチャネル番号６０８に与えられたローカルチャネル６１２を、割り当てチャネル／ローカルチャネルテーブル６１０からルックアップする。なお、この割り当てチャネル／ローカルチャネルテーブル６１０は、先に説明したように〔チャネル〕キー３２２を介してユーザによってセットアップされたものである。おな、図２８の割り当てチャネル／ローカルチャネルテーブル６２０の右側の２列が、割り当てチャネル／ローカルチャネルテーブル６１０の例である。６２４や６２８などの割り当てチャネル番号と、６２６や６３０などのローカルチャネル番号との対応は、ユーザによるセットアップの際につけられている。例えば、図２８は、対応割り当てチャネル番号５とローカルチャネル番号５とが正確に対応していることを示している。最後のステップは、月および年を日につけ加えるステップ614である。ステップ５６８から正しい月と年が得られるが、この場合も、日コードがクロックの示している日と同じかあるいはそれよりも大きいか、または、クロックの示す日よりも小さいかによって求められる。もし、日コードがクロックが示している日と等しいかあるいは大きい場合には、月および年は、クロックが示している月および年と同じである。もしそうでない場合には、クロックが示している月と次の月が採用され、このとき、もしクロックの示している月が１２月である場合には、年は翌年が採用される。こうして、チャネル、日付、時刻、長さ（ＣＤＴＬ）６１８が得られる。上記の例の場合では、チャネルは５であり、日付が１９９０年２月１０日、時刻が７：００、長さが１.５時間である。
【０１３９】
他の好適な実施例は、解読手段を図２９のようにＧコードデコーダ付きテレビ受像機９５０に組み込むことである。なお、図２９は、Ｇコードデコーダ付きテレビ受像機を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ９５６を用いてテレビ受像機を制御することによって、録画しようとする番組を表すコードの入力を行うことができる。なお、この同じテレビジョンリモートコントローラを用いて、チャネル選択などの通常のテレビジョン制御機能を実行させることも可能である。Ｇコードが入力されると、テレビジョンリモートコントローラからＧコードが赤外送信機９５８を介してＧコードデコーダ付きテレビジョン９５０に送られる。テレビ受像機９５０に具備された赤外受信機９６０は、この送信信号を受信し、受信したコードをＧコードデコーダ954に送付する。Ｇコードデコーダ９５４は、このコードをＣＤＴＬに解読し、この情報と、テレビ受像機９５０にやはり内蔵されているクロックとを用いて、所定の時刻において、所定のコマンドをＶＣＲ９６４およびケーブルボックス９６６に送って、選択された番組が正しい時刻において録画されるようになす。テレビジョン９５０からの送信は、赤外送信機９６２を介して行うことができる。なお、この赤外送信機９６２はテレビのキャビネットの好適な位置、例えば角の部分に配置するようにできる。この送信信号は、赤外受信機９６８を介してＶＣＲ964によって受信される。また、赤外受信機９６９を介してケーブルボックス９６６によって受信される。
【０１４０】
図３０は、Ｇコードデコーダ付きテレビ受像機を示した図である。Ｇコードデコーダ付きテレビ受像機９５０はテレビジョンリモートコントローラ９５６から赤外受信機９６０を介して信号を受信し、この受信信号はコマンドコントローラ９７４か、あるいは直接にＧコードデコーダ９５４に対して送る。コマンドコントローラ９７４は、テレビ受像機に内蔵させて、その他のテレビジョンの機能、例えば、チャネルが変更されたときにチャネル番号を表示する「オンスクリーン」機能も果たすようにすることができる。Ｇコードデコーダ９５４は、クロック９７６が示す日付と時刻とを用いて、送られたＧコードを解読し、所定のコマンドを赤外送信機９６２を介してＶＣＲおよびケーブルボックス９６６に送る。このＧコードおよびその他のコマンドは、マニュアルコントロール９７５を介して、コマンドコントローラに送ることも可能である。Ｇコードの解読が行われると、Ｇコードとともに、解読されたＣＤＴＬ情報とがテレビジョンの表示装置／モニタ９５２のオンスクリーン表示部９７８に「オンスクリーン」で表示される。なお、「オンスクリーン」表示とすることは必ずしも必須のことではなく、他の任意の形式を採用することも可能である。
【０１４１】
図３１は、Ｇコードデコード機能内蔵テレビ受像機内にＧコードデコーダとして備えるための装置を示した図である。この回路は、図２１および２２と非常に類似したものであるが、この回路の場合には、ＬＣＤ３８４やキーパッド３８６に対してではなく、赤外受信機９６０とコマンドコントローラ９７４に対するインタフェースを有している。キーとなる主要構成要素は、マイクロコントローラ９８０と発振器９８２である。ここで、好適な１実施例は、コマンドコントローラ９７４インタフェースに係わるものであり、また、他の実施例は、マニュアルコントロール９７５と、赤外受信機９６０、テレビジョン表示装置／モニタ952、およびＧコードデコーダ９５４を中間にコマンドコントローラ９７４を介することなしに直接的にインタフェースをとる技術に係わる。ＶＣＲand theケーブルボックス・テレビジョン回路はＶＣＲおよびケーブルボックスに対する赤外コードプロトコルを記憶したり学習する機能を含むようにすることができる。警告発光ダイオード９８４をテレビジョンのキャビネットにマウントして、これを用いて録画が始まろうとしていることをユーザに知らせる、ユーザがＶＣＲの録画用テープを準備することができるようにすることができる。
【０１４２】
テレビジョン表示装置／モニタ９５２上に「オンスクリーン」表示を行うようにすることによって、Ｇコードデコーダ付きテレビ受像機９５０は、図２３、24、および２５に示した録画番組予約入力、予約番組確認、予約取り消し、および圧縮コードを用いたレコーダの番組録画予約と事実上同じことができるようになる。ＬＣＤ３８４に表示されるものは、すべてテレビジョンモニタ９５２上に表示させるようにすることが可能である。唯一の差異は、ユーザがテレビジョンリモートコントローラ９５６を、Ｇコード入力、送信、登録番組確認、登録番組取り消しを行うためのモードとしたとき、「オンスクリーン」が単にステップ４０２（現在日付、時刻、およびタイムバーの表示）を実行するだけである点である。図２６に示した、番組のチャネル、日付、時刻および長さに関する情報を１０進圧縮コードに符号化する方法、また、図２７に示した、圧縮コードを番組のチャネル、日付、時刻および長さに関する情報に解読する方法、および、図２８に示したチャネル番号をローカルチャネル番号に割り当てる方法のすべてが、ここでも利用される。
【０１４３】
本発明の他の好適な実施例は、解読手段をビデオカセットレコーダ、ケーブルボックス、あるいは衛星受信機などのテレビジョンに関連するいろいろな装置に組み込むことである。どのようなシステムに解読手段を組み込むにしろ、解読手段は、どれか１つの装置、例えばケーブルボックスだけに組み込むだけでよく、所定の時刻が到来するとこの解読手段が組み込まれた装置から所定のコマンドが他の装置、例えばＶＣＲや衛星受信機に対して送られ、所望の番組の録画が行われる。
【０１４４】
図３２は、Ｇコードデコーダ内蔵テレビジョン９５０、ＶＣＲ９６４、ケーブルボックス９６６、および衛星受信機９８６を含むシステムのブロック図である。このシステムは、衛星受信機がシステムに含まれている点を除けば、図２９に示したシステムと全く同じように動作する。システムに含まれている衛星受信機は、Ｇコードデコード内蔵テレビ受像機９５０にマウントされている赤外送信機962から送られてくるコマンドを赤外受信機９８８を介して受信できるようになっている。衛星受信機で受信されるコマンドには、オン／オフコマンド、チャネル選択コマンドが含まれる。衛星受信機９８６は、テレビジョン信号をＶＣＲ９６４に供給することができ、ＶＣＲは番組を録画および／あるいはテレビジョン表示装置／モニタ９５２に中継する。
【０１４５】
図３３は、Ｇコードデコーダ内蔵ＶＣＲ９９１、テレビジョン９５２、ケーブルボックス９６６、および衛星受信機９８６を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ９５６、あるいはＶＣＲ９９１上のコントロールを用いて、録画しようとしている番組を表すコードの入力を行うことができる。Ｇコードが入力されると、テレビジョンリモートコントローラは、このＧコードを、赤外送信機９５８を介してＧコードデコーダ９９２を内蔵したＶＣＲ９９１に対して送る。ＶＣＲ９９１上の赤外受信機９９０がこの送信を受信し、受信したコードをＧコードデコーダ９９２に対して送る。Ｇコードデコーダ９９２は、このコードをＣＤＴＬに解読し、この情報と、ＶＣＲ９９１にやはり内蔵されているクロックとを用いて、所定の時刻が到来すると、所定のコマンドをケーブルボックス９６６および衛星受信機９８６に対して送り、所定の時刻の選択された番組の録画を行う。ＶＣＲ９９１からの送信はＶＣＲの好適な場所に設置された赤外送信機９９４から行うようにすることができる。この送信は、赤外受信機９６９を介してケーブルボックス９６６に、また赤外受信機９８８を介して衛星受信機９８６によって受信される。
【０１４６】
他の好適な実施例は、図３６に示されたような、装置間で送信を行うための方法と装置に係わるものである。図３６の透視図には、ＶＣＲ３７０と、その上に置かれたケーブルボックス３７２とが示されているが、このＶＣＲ３７０の正面パネル１００９の後ろには赤外送信機１００８が備えられており、この赤外送信機１００８からの送信は、壁などの周囲の反射面から反射されてケーブルボックス３７２の赤外受信機１０１０によって受信され、こうしてＶＣＲ３７０とケーブルボックス３７２との交信が行われる。
【０１４７】
さらに他の好適な実施例は、図３７に示されたような、装置間で送信を行うための方法と装置に係わるものである。この図３７の透視図には、ＶＣＲ３７０と、その上に置かれたケーブルボックス３７２とが示されているが、このＶＣＲ370の上には赤外送信機１０１４を中に備えた赤外ドーム１０１２が置かれており、この赤外送信機１０１４からの送信は、赤外ドーム１０１２とケーブルボックスの赤外受信機１０１０との相対的な位置関係によって直接にあるいは壁などの周囲の反射面から反射された後にケーブルボックス３７２の赤外受信機１０１０によって受信され、こうしてＶＣＲ３７０とケーブルボックス３７２との交信が行われる。
【０１４８】
さらに他の好適な実施例は、図３８に示されたような、装置間で送信を行うための方法と装置に係わるものであり、この図３８の透視図に示されているＶＣＲ３７０は、赤外送信機１０２２を内蔵したマウス１０２０を有しており、このマウス１０２０とＶＣＲとはケーブル１０１８と、さらにＶＣＲのリセクタプル１０１６に差し込まれたプラグ１０１７を介して接続されている。このマウス１０２０は、ケーブルボックスの赤外受信機１０１０の近傍に置かれる。この実施例は、ケーブルボックスとＶＣＲが例えばキャビネットの壁などによって隔てられているために、直接的な赤外送信も反射による送信も妨げられている場合に非常に効果的に用いることができる。
【０１４９】
他の好適な実施例は、図３９に示されたような、装置間で送信を行うための方法と装置に係わるものであり、この図３９の透視図に示されているＶＣＲ３７０には、ミニマウス１０２４がケーブル１０１８およびＶＣＲのリセクタプル1016に差し込まれたプラグ１０１７を介して接続されている。ミニマウス１０２４のスティックには赤外送信機１０２６が内蔵されている。ミニマウス１０２４のスティックは、ケーブルボックスの赤外受信機１０１０のすぐ近傍の位置に取り付けられる。この実施例もやはり、ケーブルボックスとＶＣＲが例えばキャビネットの壁などによって隔てられているために、直接的な赤外送信も反射による送信も妨げられている場合に用いると非常に効果的である。
【０１５０】
図３６、３７、３８および３９の送信方法および装置は、図３２のシステムにおいて、Ｇコードデコーダ付きテレビ受像機９５０からＶＣＲ９６４、ケーブルボックス９６６、および衛星受信機９８６へ情報を送信するのに用いることも可能である。
【０１５１】
図３４は、Ｇコードデコーダを内蔵したケーブルボックス９９７、テレビジョン９５２、ＶＣＲ９６４、および衛星受信機９８６を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ９５６、あるいはケーブルボックス９９７のコントロールを用いて録画すべき番組を表すコードの入力を行うことができる。Ｇコードが入力されると、テレビジョンリモートコントローラは、このＧコードを、赤外送信機９５８を介してＧコードデコーダ９９８を内蔵したケーブルボックス９９７に対して送る。ケーブルボックス９９７上の赤外受信機９９６は、この送信を受信し、受信したコードをＧコードデコーダ９９８に対して送る。Ｇコードデコーダ９９８は、このコードをＣＤＴＬに解読し、この情報と、ケーブルボックス９９７にやはり内蔵されているクロックとを用いて、所定の時刻が到来すると、所定のコマンドをＶＣＲ９６４および衛星受信機986に対して送り、所定の時刻において、選択された番組の録画を行う。ケーブルボックス９９７からの送信はケーブルボックス上の好適な場所に設置された赤外送信機１０００から行うようにすることができる。この送信は、赤外受信機９６８を介してＶＣＲ９６４に、また赤外受信機９８８を介して衛星受信機９８６によって受信される。また、図３６、３７、３８および３９の送信方法および装置は、図３４のシステムにおいて、ケーブルボックス９９７からＶＣＲ９６４および衛星受信機９８６へ情報を送信するのに用いることも可能である。
【０１５２】
図３５は、Ｇコードデコーダを内蔵した衛星受信機１００５、テレビジョン９５２、ＶＣＲ９６４、およびケーブルボックス９６６を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ９５６、あるいは衛星受信機１００５のコントロールを用いて録画すべき番組を表すコードの入力を行うことができる。Ｇコードが入力されると、テレビジョンリモートコントローラは、このＧコードを、赤外送信機９５８を介してＧコードデコーダ１００４を内蔵した衛星受信機１００５に対して送る。衛星受信機１００５上の赤外受信機１００２は、この送信を受信し、受信したコードをＧコードデコーダ１００４に対して送る。Ｇコードデコーダ１００４は、このコードをＣＤＴＬに解読し、この情報と、衛星受信機１００５にやはり内蔵されているクロックとを用いて、所定の時刻が到来すると、所定のコマンドをＶＣＲ９６４およびケーブルボックス９６６に対して送り、所定の時刻において、選択された番組の録画を行う。衛星受信機１００５からの送信は衛星受信機上の好適な場所に設置された赤外送信機１００６から行うようにすることができる。この送信は、赤外受信機９６８を介してＶＣＲ９６４に、また赤外受信機９６９を介してケーブルボックス９６６によって受信される。また、図３６、３７、３８および３９の送信方法および装置を図３５のシステムに適用して、衛星受信機１００５からＶＣＲ９６４およびケーブルボックス９６６へ情報を送信するのに用いることも可能である。
【０１５３】
番組の録画予約登録を行うための圧縮コードを用いた装置に係わる他の好適な実施例は、図４０および４１に示したカスタムプログラマ１１００である。このカスタムプログラマ１１００は、インスタントプログラマ３００と同様に、０から９までの番号が付された数値キー１１０２、〔取り消し〕キー１１０４、〔確認〕キー１１０６、〔毎週〕キー１１０８、〔１回〕キー１１１０、および〔毎日（月−金）〕キー１１１２を具備しており、これらのキーを用いてこのカスタムプログラマ１１００の番組登録が行われる。なお、上記のキー１１０４〜1112はインスタントプログラマー３００のキー３０２〜３１２と直接的に対応しているものである。インスタントプログラマー３００と同様に、カスタムプログラマ１１００のセットアップに用いられるその他のすべてのキーは通常はカバーで覆われている。カバー１１１４を開くと、図示されていない以下のキーが現れる。すなわち、〔登録〕キー、〔入力〕キー、クロックキー、〔チャネル〕キー、〔時間追加〕キー、〔ＶＣＲ〕キー、〔ケーブル〕キー、それに〔テスト〕キーである。カスタムプログラマ１１００のこれらのキーは、インスタントプログラマー３００のキー３１６〜３３０にそれぞれ対応しており、事実上同じように動作する。また、図４０に示したカスタムプログラマ１１００には、液晶表示部１１３４、と赤色警告発光ダイオード１１３２およびＩＲダイオード１１３４が備えられており、これらは、図１５の液晶表示部３５０、赤色発光ダイオード３３２およびＩＲダイオード３４２〜３４８に対応するものである。
【０１５４】
インスタントプログラマ３００を用いるに当たっては、先に説明したように、まず、ＶＣＲのモデル／ブランドに対するプロトコルの選択、現在の実際の時刻の設定、ケーブルボックスのモデル／ブランドに対するプロトコルの選択、および一連のチャネル番号割り当て入力からなるセットアップシーケンスが実行される。インスタントプログラマー３００を用いると、テレビ番組の録画が非常に簡単になるとはいえ、インスタントプログラマー３００の初期設定手順は、かなり複雑であり、そのため、ユーザによってはインスタントプログラマーを用いることを思い止まってしまう。カスタムプログラマ１１００はマイクロホン開口1140を具備しており、この開口を介してカスタムプログラマ１１００の内部に備えられた少なくとも１つのマイクロホンが、カスタムプログラマの初期設定に必要な情報とこの情報をカスタムプログラマ１１００に記憶させるためのコマンドとを含む電気的に符号化されたオーディオ信号を受信するようになされている。
【０１５５】
ユーザは、ある特別な電話番号に電話をかけることによって、これらのオーディオ信号を受信することができる。この電話番号は、料金無料番号の８００を用いるようにしてもよいし、または分単位課金電話番号の９００を用いてもよいし、あるいは標準の課金がかかる標準の電話番号を用いるようにしてもよい。顧客は、自分の所有しているＶＣＲのモデルとブランド、郵便番号、ケーブルボックスのモデルとブランド、および顧客が圧縮コードをそこから得る新聞名あるいはその他の刊行物名とをオペレータに対して告げる。これが、カスタムプログラマ1100の初期設定を行うのに必要な情報のすべてである。郵便番号情報から、オペレータはどのケーブルシステムが接続されているかを知ることができ、このデータと顧客が用いている刊行物名とから、その顧客に適したローカルチャネルマップテーブルを選択する。
【０１５６】
次いで、オペレータは、顧客に指定されたプログラミングキーを押すように指示する。なお、この好適な実施例の場合には、このときに指定されるキーは、カバー１１１４の下に配置されている〔チャネル〕キーである。〔チャネル〕キーが押されると、表示部１１３４に「電話１キー２」というメッセージが表示される。数値キー「２」を押すと、カスタムプログラマのモードがマニュアルチャネルテーブルプログラムモードとなる。このモードは、インスタントプログラマー３００において〔チャネル〕キー３２２を押したときに入るモードと同じである。数値キー「１」を押すと、リモートプログラムモードが開始される。こうして、カスタムプログラマ１１００のオーディオ信号を受信する準備が整い、表示部１１３４には、「お待ち下さい」というメッセージが表示される。
【０１５７】
オペレータは、顧客に電話の送受話器の受話器部分１１４２を、図４２の全体図に示されているように、顧客プログラマ１１００のマイクロホン開口１１４０上部に置くように指示する。受話器は、カスタムプログラマ１１００上に直接に置くようにする必要はなく、マイクロホン開口から１インチ以上離れた場所に置いても通常は満足な結果が得られる。顧客が受話器を適切な場所に置くのに必要なだけの充分な時間が経過した後、オペレータは、初期設定デコーダのダウンロードを開始し、初期設定プログラミングコマンドが電話回線１１４６を介してオーディオ信号によって顧客のカスタムプログラマ１１００に送信される。
【０１５８】
初期設定データがカスタムプログラマ１１００にうまく転送されると、カスタムプログラマ１１００の表示部１１３４に「終了」というメッセージが表示される。もし、初期設定データの受信が、あらかじめ定められた制限時間内にうまく終了しなかった場合には、赤色警告発光ダイオード１１３２が点滅し、情報のダウンロードを再び試みる前に、受話器の位置を調節するように顧客に知らせる。
【０１５９】
この調節に必要な待機時間の後に、初期設定データおよびコマンドが電話回線を介して再送信される。ダウンロードがあらかじめ定められた回数だけ試みても、なお初期設定情報がうまく転送できない場合には、液晶表示部１１３４に「失敗」というメッセージが表示され、オペレータが電話に再び出て、顧客に対して、受話器の位置を適切な位置に置くための援助を行う。
【０１６０】
あるいは代替実施例として、ローカルケーブル会社のオペレータが直接に応答するようにし、電話回線を介して、あるいは既存のケーブルシテスムのケーブルその他の伝送手段を介してカスタムプログラマ１１００に初期設定情報をダウンロードするようにすることも可能である。もし、ローカルケーブル会社がオペレータの直接応答サービスを提供する場合においては、顧客の地域の設置されているケーブルボックスのモデルとブランド名、およびそのケーブルシテスムにおけるローカルチャネルに関する必要データはローカルケーブル会社が既に知っているから、顧客から得なければならない情報は、ＶＣＲのブランドとモデル名および顧客が用いようとしている圧縮コードを記載した刊行物の種類だけでよい。
【０１６１】
図４３および４４は、カスタムプログラマ１１００に係わる上記の代替実施例を具現化するのに必要な回路を示した図である。この回路は、マイクロコンピュータ１１５０、発振器１１５２、液晶表示部１１５４、キーパッド１１５６、５方向ＩＲ送信機１１５８、および赤色警告発光ダイオード１１６０からなっている。これらの構成要素は、それぞれ、インスタントプログラマ３００のマイクロコンピュータ３８０、発振器３８２、液晶表示部３８４、キーパッド３８６、５方向赤外トランスミッタ３８８、および赤色警告発光ダイオード３３２と直接対応するものであり、これらと同様な動作をするものである。図４３および４４において、受話器から一連のオーディオ信号が発せられ、この信号がマイクロホン１１６２によって受信される。
【０１６２】
図４３に示されているように、マイクロホン１１６２によって受信されたオーディオ信号は、増幅器１１６４を通過し、さらにＤＴＭＦデコーダ回路を経由してマイクロコンピュータ１１５０のシリアルポートに入力される。図４４の代替回路例においては、マイクロホン１１６２によって受信されたオーディオ信号は増幅器１１６６を通過し、さらにおよそ１から５ＫHzの遮断周波数を有する高域通過フィルタ１１６６を通り、第２の増幅器１１７０を経由してマイクロコンピュータ１１５０のシリアルポートに入力される。
【０１６３】
あるいは、デュアルマイクロホンシステム（図示せず）を採用して、信頼性、特にカスタムプログラマ１１００のプログラムが背景雑音の大きな環境で行われ、単一マイクロホン音響手段を用いた場合ではデータ伝送が雑音によって妨害されてしまう場合における信頼性を向上することができる。このシステムでは、１つのマイクロホンを受話器の近傍に配置し、また第２のマイクロホンを背景雑音を検出するために受話器から一定距離隔たった場所に配置するようになされる。
【０１６４】
オーディオ信号打ち消し回路を用いて、第１のマイクロホンが検出したオーディオデータ信号と背景雑音の両方を含む信号から、第２のマイクロホンで検出された背景雑音を効果的に「引く」ことによって、純粋なオーディオデータ信号のみを得ることができる。
【０１６５】
他の好適な実施例は、図４５に示すような分離型初期設定プログラマ１２００に係わるものである。この初期設定プログラマ１２００は、カスタムプログラマ１１００の電話によるオーディオ信号プログラミング機能と基本的に同じ役割を果たすものである。すなわち、インスタントプログラマ３００あるいはカスタムプログラマ１１００の全セットアップを顧客に最小の負担をかけるだけで行えるものである。初期設定プログラマ１２００は、インスタントプログラマ３００あるいはカスタムプログラマ１１００の販売人によって所持使用されるものである。初期設定プログラマは、ケーブルシテスムに対するローカルチャネルテーブルと、販売人の地域におけるＧコードを付帯したテレビジョンカレンダーとをプログラムしておくことができる。顧客がインスタントプログラマ３００あるいはカスタムプログラマ１１００を購入した際に、販売人は、顧客の住所地域、その顧客が使用しているテレビジョンカレンダーとから、初期設定プログラマ１２００を用いてその顧客のために、適切なローカルチャネルテーブルのダウンロードを行うことができる。さらにまた、初期設定プログラマ１２００は、顧客のインスタントプログラマ３００あるいはカスタムプログラマ１１００に対して、クロック、ＶＣＲのブランドおよびモデル、ケーブルボックスのブランドおよびモデルの設定を行うことも可能である。
【０１６６】
初期設定プログラマ１２００は、キーボード１２０２、表示部１２０４、エンクロージャ１２０６、カバー１２０８を有しており、また上端にはヒンジ1209が備えられており、これによってカバー１２０８を開けると、図４６に示されているように凹部１２１０と２つの電気接続ピン１２１２が現れ、そこにインスタントプログラマ３００あるいはカスタムプログラマ１１００を保持することができるようになされている。初期設定プログラマ１２００は、図４７に示されているように、電話用モジュラージャック１２３０、およびシリアルポート１２３２を具備しており、これによってコンピュータとのデータの送受を直接あるいは電話回線を介して行うことができるようになされている。
【０１６７】
図４８は、インスタントプログラマ３００の底面に設けられている２つのアクセスホール１２１３を示したものであり、これによって、インスタントプログラマ３００内部の回路基板（図示せず）上の２つの接続点にアクセスすることが可能なようになされている。図４９は、初期設定プログラマ１２００の凹部1210にインスタントプログラマ３００を差し込み、２つの接続ピン１２１２がインスタントプログラマ３００の底面のアクセスホール１２１３を通って上方へ伸張するように接続した状態を示したものである。また、図５０は、初期設定プログラマ１２００の凹部１２１０にカスタムプログラマ１１００を差し込み、２つの接続ピン１２１２がカスタムプログラマ１１００の底面のアクセスホール１１３６を通って上方へ伸張するように接続した状態を示したものである。
【０１６８】
図５１は、初期設定プログラマ１２００内に含まれる回路を示した図である。
【０１６９】
初期設定プログラマ１２００は、マイクロコントローラ（ＮＥＣμＰＤ７５３０×）１２１４、液晶表示部１２１６、キーパッド１２１８、スタティックランダムアクセスメモリ（スタティックＲＡＭ）１２２０、コンピュータポート、およびプログラミングピン１２２４とを含んでいる。ローカルチャネルテーブルをコンピュータから初期設定プログラマ１２００へ転送して、スタティックＲＡＭ１２２０に記憶することができるようになされている。
【０１７０】
図５２は、パーソナルコンピュータ１２２６と初期設定プログラマ１２００とのデータ転送接続を示した図である。ローカルチャネルテーブルは、シリアルＲＳ−２３２ポートを介して＋１２Ｖおよび−１２Ｖの信号としてパーソナルコンピュータ１２２６から出力される。＋１２Ｖおよび−１２Ｖの信号はレベル変換器１２２８によってＴＴＬコンパチブルな０Ｖおよび５Ｖの信号に変換されてマイクロコントローラ１２１４に入力される。レベル変換器１２２８は、初期設定プログラマ１２００の外部に設置するようにもできるし、あるいは内部に設けるようにもできる。
【０１７１】
あるいは、ローカルチャネルテーブルデータの初期設定プログラマ１２００への転送を、電話回線を介してオーディオ信号によって行うようにすることも可能である。さらに、初期設定プログラマへのローカルチャネルテーブルの入力は、キーボード１２０２を介して、インスタントプログラマ３００あるいはカスタムプログラマ１１００に対してローカルチャネルテーブルの入力を行うのと同じやり方で行うことも可能である。
【０１７２】
キーボード１２０２には、［クロック送信］、［チャネル送信］、［ケーブル送信］、および［ＶＣＲ送信］が含まれており、これらによって、それぞれクロックの設定、ローカルチャネルテーブルのダウンロード、ケーブルボックスのブランドおよびモデルに対応するプロトコルの選択、ＶＣＲのフランドおよびモデルに対応するプロトコルの選択が行われる。情報が初期設定プログラマ１２００に接続されたインスタントプログラマ３００あるいはカスタムプログラマ1100にうまく転送されると、表示部１２０４に「転送成功」のメッセージが表示される。うまく転送されなかった場合には、「転送エラー」のメッセージが表示部1204に表示される。
【０１７３】
インスタントプログラマ３００およびカスタムプログラマ１１００へのデータの転送は、２つの接続ピン１２１２を介して行われる。これらのピンのうち最初のものはグランドピンである。第２のピンは、図２２のテストポイント３９２に接続されている。テストポイント３９２は、マイクロコンピュータ３８０の割り込みピンと入出力（Ｉ／Ｏ）ピンの１つとに接続されている。これら２つのピンは、１つのピンで入力と出力の両方が実現できるように、オープンコレクタ法で互いに結合されている。２つの接続ピン１２１２は、カスタムプログラマ1100のマイクロコンピュータ１１５０に対しても同様の機能ピンに接続される。データは、これらのピンを介してＴＴＬ電圧レベルで４８００ボーの速度でシリアルに転送される。すべての転送データを受信し終わると、インスタントプログラマ３００およびカスタムプログラマ１１００は、あらかじめ定められた長さのローパルスを初期設定プログラマ１２００に対して返す。
【０１７４】
本発明の好適な実施例のカスタムプログラマ１１００および初期設定プログラマ１２００は、テレビジョン、ビデオカセットレコーダ、ケーブルボックス、あるいは衛生受信機中に容易に含ませるようにすることが可能である。カスタムプログラマ１１００あるいは初期設定プログラマ１２００を、テレビジョン、ビデオカセットレコーダ、ケーブルボックス、あるいは衛生受信機中に組み込むことは複雑なことではなく、適当なケーブル接続あるいはその他の伝送手段をこれらのいろいろなビデオ機器間に付加するだけで実現可能である。
【０１７５】
本発明の他の実施例は、図５３乃至５８に示されているカスタムコントローラ１３００である。カスタムコントローラは、カスタムプログラマ１１００と同一の回路を含み、同一の機能を有すが、自動的に設定可能な全自動ユニバーサル遠隔制御装置の機能をも実行する。カスタムコントローラは、その主制御表面１３０２及び補助制御表面１３０４上に、カスタムプログラマのボタン１１０２−１１１２及び１１５６と同様な機能を実行するボタンと、表示部１１３４、１１５４と同様な機能を実行する表示部１８０６と、ＩＲ発信器１１３１、１１５８と同様な機能を実行するIＲ発信器１３１４とを含む。カスタム
コントローラは、又、カスタムコントローラ１１００上の蓋１１１４、及びインスタントプログラマ３００上の蓋３１６及びキー３１６−３３０のように、カスタムコントローラを設定するのに使用される隠れたキー（図示せず）を覆う蓋（図示せず）が設けられている。蓋の下のキーは、インスタントプログラマ及びカスタムプログラマのように、記憶、入力、クロック、チャンネル、時間追加、ＶＴＲ、ケーブル及びテストキーを含む。
【０１７６】
カスタムプログラマは、マイク１３０８を含み、マイク３１０８は、カスタムプログラマのマイク１１４０と同様な機能を実行し、マイクアクセス穴１３０９を通じてアクセス可能である。マイクにより、カスタムコントローラは、インスタント又はカスタムプログラマとして機能するために必要な設定情報（即ち、チャンネルマップ、一日の時間、ケーブルボックス及びＶＴＲのモデル／ブランド）総てをプログラムする。これに替えて、カスタムコントローラは、インスタント及びカスタムプログラマの図面を参照して説明したと同様な方法で、図４５乃至４７及び図４９乃至５１で示される初期設定プログラマ１２００によりプログラム可能である。対応して、カスタムコントローラは、設定プログラマ１２００の接触ピン１２１２と接触がなされる、アクセス穴１３１０を含む。
【０１７７】
カスタムコントローラ１３００は、又、赤外線遠隔制御装置により制御可能な如何なる家庭電化製品を操作するのにも使用可能なその制御表面１３０２、１３０４上に追加ボタンを含む。これらの標準赤外線遠隔制御装置は、制御される装置により実行される異なった機能の各々に対して異なったＩＲ符号を送信することにより動作する。カスタムコントローラの各ボタンは、他の遠隔制御装置により普通に送信されるＩＲ符号の送信を起動する。種々の家庭電化製品を制御するのに使用されるこれらＩＲ符号の実際の構成は、ウエルズ（Wells）による米国特許番号4,623,887により詳しく説明されていて、参考としてここに編入されている。
【０１７８】
殆どの時間は、カスタムコントローラは、テレビ、ＶＣＲ、ケーブルボックス、衛星受信機、ハイファイオーディオ装置を制御するのに使用される。インスタントプログラマ３００及びカスタムプログラマ１１００の両方は、ビデオレコーダ、ケーブルボックス、テレビ及び衛星受信機に対してユニバーサル遠隔制御装置として既に機能している。この両方は、これらの機器の種々のブランド及びモデルを制御可能だからである。しかし、インスタント及びカスタムプログラマは、ユニバーサル遠隔制御特性を、ケーブルボックス、ビデオレコーダ、テレビ及び生成受信機のチャンネルの変更及び選択、ビデオレコーダによる録画の開始、停止、及びこれらの装置の電源の投入、及び切断に使用しているのみである。しかし、カスタムコントローラの図面は、図４３及び４４に示されるカスタムプログラマの図面と同様であり、違いは、カスタムコントローラは、より多くのボタンを備えたキーパッド（１１５６参照）を含み、マイクロコンピュータ（１１５０参照）に於けるＲＯＭ及びＲＡＭの必要容量がカスタムプログラマに於けるより大きいことである。図５８及び図５９は、カスタムコントローラの二つの他の実施例のブロック図である。これらの二つのブロック図は、同じ基本部品を含むが、ＲＡＭ１３２４及び１３８０、ＲＯＭ１３２６及び１３３２の使用法及び最小容量は、異なる。
【０１７９】
完全ユニバーサル遠隔制御特性を備えたカスタムコントローラは、以下のように動作する。カスタムコントローラの制御表面１３０２、１３０４上に設けられているキーボード１３２０の各ボタンは、ボタンが押される度に発生されるボタン符号又はメモリアドレスと直接、接続されている。マイクロコンピュータ１３２２は、押されたボタンにより発生した符号又はアドレスを受信し、ボタンが、符号を発生すると、ボタン符号のアドレスを呼び出すために、ルックアップテーブルを参照する。このルックアップテーブル、及びマイクロプロセッサの動作を制御する命令は、ＲＯＭ１３６２及び１３３２に記憶されている。
【０１８０】
図５８の実施例では、マイクロプロセッサは、押されたボタンからのアドレスに於いて、ＲＡＭ１３２４からのＩＲ符号を呼び出す。この実施例では、ＲＯＭが、ボタン符号ルックアップテーブル及びマイクロプロセッサ命令を記憶することが必要なだけなので、ＲＯＭの最小の容量は小さい。しかし、ＲＯＭの容量は、キーボードの各ボタンの符号を記憶するに十分な程度に大きいことが必要である。
【０１８１】
図５９の実施例では、マイクロプロセッサは、実際のＩＲ符号を含むＲＯＭ１３３２に対するアドレスを含むＲＡＭに於けるルックアップテーブルを参照する。ＲＯＭアドレスは、キーボード１３２０上の押されたボタンからのアドレスに於いてＲＡＭから呼び出される。ＩＲ符号は、ＲＡＭから呼び出されたアドレスに於けるＲＯＭから呼び出される。この実施例では、ＲＯＭは、多数の家庭電化製品のためのＩＲ符号で予めプログラムされている。これにより、ＲＯＭの最小容量は、実質的に増加するが、ＲＯＭアドレスは、ＩＲ符号より一般に短いために、ＲＡＭの最小容量は、低減する。
【０１８２】
図５８、５９の実施例では、ＲＯＭ又はＲＡＭから呼び出されたＩＲコードは、ＩＲ発信器１３２８に送られ、ここから送信される。
【０１８３】
完全ユニバーサル遠隔制御装置としてカスタムコントローラが使用可能となる以前は、それが制御しようとする家庭電化製品の機能、ブランド及びモデルのためのＩＲ符号でプログラムされねばならなかった。これは、従来、二つの異なった方法でなされてきた。第一に、カスタムコントローラは、各製品と共に支給された遠隔制御装置から、制御する製品のＩＲ符号を“学習”できる。カスタムコントローラは、他の遠隔制御装置からＩＲ符号を受信し、これらの符号を記憶し、カスタムコントローラのどのボタンにより各符号がＲＡＭに関連づけられるかとを記憶する、ＩＲ受信器（図示せず）を含む。この種の“学習”コントローラは、通常、図５８の回路を使用している。第二の従来のプログラム方法は、家庭電化製品の殆どのブランド及びモデルの殆どの機能のＩＲ符号を含むＲＯＭを提供することである。ユーザは、ユーザがカスタムコントローラを使用する家庭電化製品のどのブランド／モデルであるかをカスタムコントローラに入力する。この方法に於いては、家庭電化製品の各ブランド及びモデルについて、カスタムコントローラは、又、製品用の符号と、ＩＲ符号の送信を起動するカスタムコントローラのキーとの間の関連をＲＯＭに保持する。この第二のプログラム方法を使用しているコントローラは、図５９の回路を使用している。
【０１８４】
他の実施例に於いては、カスタムコントローラは、これらのいずれかでプログラム可能である。他の遠隔制御装置から“学習”されたＩＲ符号は、図５８のＲＡＭ１３２４に記憶される。これに替えて、図に示されるＲＯＭ１３３２は、殆どのＶＣＲ、ケーブルボックス、衛星受信機、テレビ及びステレオ装置用のＩＲ符号と、彼又は彼女が使用するこれらの装置がどのブランド／モデルであるかをプログラムする能力とを含む。更に、他の実施例では、図５８及び５９に示された実施例が、ＲＡＭ１３２４及び１３３０に記憶されたデータ中のフラグビットを含ませることによって、組み合わせることが可能である。このフラグビットが、セットされると、そのアドレスに於ける残りのデータは、ＲＯＭ１３３２に於けるＩＲ符号の位置を示すＲＯＭアドレスとなる。フラグビットがセットされない場合は、そのアドレスに於ける残りのデータは、実際のＩＲ符号データを含む。
【０１８５】
図５３乃至６０の好適な実施例に於いては、ＩＲ符号は、チャンネルマップ、ケーブルボックス及びＶＣＲのブランド／モデル及び一日の時間を設定するのに使用されるマイク１３０８を通じて、カスタムコントローラのメモリにプログラムされる。図６０に於いて示される処理に於いて、これはカスタムプログラマ１１００に関して既に説明された処理に類似した処理であるが、ブロック1340に於いて、ユーザは、料金無料の８００番、分単位料金の９００番といった特定の電話番号、又は標準の料金が適用される標準の電話番号を呼び出す。ブロック１３４２では、顧客は、電話にて、遠隔地点の顧客サービス代理人に対して、話しかける。顧客サービス代理人は、カスタムコントローラを顧客が使用しようとする各家庭電化製品のブランド及びモデルについての情報を顧客から口頭で問い合わせる。ブロック１３４６及び１３４８では、顧客は、制御面１３０２及び１３０４の各ボタンがどの機能を実行するかにつき代理人に通報する機会を持つ。ブロック１３５０では、代理人は、この情報を遠隔地点のコンピュータに入力する。
【０１８６】
顧客が、どの機能を実行するためにカスタムコントローラのどのボタンを使用するかにつき特に好みがなければ、代理人は、コンピュータに如何なる好みも指定せず、コンピュータは、コンピュータに既に記憶されているボタンと、機能との間のデフォルト設定された関係に依存する。
【０１８７】
この情報が一旦コンピュータに入ると、ブロック１３５４で、コンピュータは、図５８及び図５９のいずれの実施例が使用されるかにより、少なくとも二つの異なった方法でカスタムプログラマをプログラムする。図５８の実施例が使用されるとすると、カスタムプログラマに関連して既に説明され、且つ図４３及び４４に示されたいずれかの方法によりマイクアセンブリ１３３４を通じて、必要なＩＲ符号の総てを、使用者の明示された希望に沿って、コンピュータは、キーボード１３２０上のボタンに関連するアドレスに於いてＲＡＭ１３２４にダウンロードする。この方法が使用されると、製造時に、カスタムコントローラのＲＯＭにＩＲ符号を記憶する必要がなくなる。
【０１８８】
図５９の実施例が使用されると、製造時にカスタムコントローラに装着されたＲＯＭ１３３２は、家庭電化製品の多数の異なったブランド、モデル及び種類のＩＲ符号でプログラムされる。この場合、コンピュータは、マイクアセンブリ１３３４を通じて、必要なＩＲ符号の総てのためのＲＯＭアドレスを、ＩＲ符号自身をダウンロードする代わりに、ＲＡＭ１３３０にダウンロードする。
【０１８９】
他の実施例では、ＲＯＭ１３３２は、ＩＲ符号と、カスタムコントローラのボタンとの間のデフォルト設定された関係を記憶し、従って、顧客がボタンと、ＩＲ符号との関係が、デフォルト設定された関係とは異なっているものを要求しなければ、これらの関係は、ダウンロードされる必要はない。この方法は、遠隔地点からカスタムコントローラヘ電話線を通じて送る必要のあるデータ量を低減するが、カスタムコントローラに装備されるＲＯＭの容量及びコストを上昇させる可能性がある。顧客が制御したいと思う装置のＩＲ符号が、ＲＯＭに含まれないといった稀な場合は、コンピュータは、図５８に関連して既に説明した第一のプログラム方法に於けるように、その装置のＩＲ符号自身をダウンロードするだけである。
【０１９０】
図５８及び５９に示された実施例の両方に於いて、図４３又は４４からのマイク及び復号化アセンブリが使用されることは注目される。好適には、図４４のマイク及び復号化アセンブリは、ＤＴＭＦ復号器１１６６を使用している図４３のアセンブリよりもより安価であるという理由で、使用される。図４４に示されるシステムは、ＤＴＭＦシステムに於けるような多数の二重周波数信号でなくて、二つの単周波数信号を使用している。第一信号は、約３０００Ｈｚのトーンであり、２進の“１”を意味するのに使用され、第二信号は、約５００Ｈｚのトーンであり、２進の“０”を意味するのに使用される。５００Ｈｚの信号が、この実施例では使用されるので、図４４の１０００−５０００Ｈｚの広域通過フィルタ１１６８の帯域幅は、マイク及び復号器アセンブリ１３３４に含まれる場合は、５００Ｈｚを含むように広帯域化する必要がある。
【０１９１】
これら二つのトーンの列が、電話線に送られ、２進の列を表現する。トーンの列の各トーンの間で無信号の短期区間が含まれ、二つの連なった５００Ｈｚの信号又は二つの連なった３０００Ｈｚの信号は、二つの連続した信号と解釈され、一つの連続した長い信号とは解釈されないようになっている。他の実施例では、信号トーンの列は、所定のクロックスピードで送られる。
【０１９２】
復号器（図不指示）が、マイクアセンブリ１３３４とマイクロプロセッサ１３２２とに間に含まれ、３０００Ｈｚの信号を高い電気信号へ、５００Ｈｚの信号を低い電気信号へ変換し、シリアル入力としてマイクロプロセッサに入力する。クロック信号は、同時に、低い又は高い信号でもって、マイクプロセッサに入力される。
【０１９３】
これに替えて、初期設定プログラマ１２００が、マイク／電話インタフェースを使用する代わりに、カスタムコントローラ１３００のＩＲ符号のプログラムを実行するのに使用される。
【０１９４】
カスタムコントローラは、更に幾つかの特徴を有している。第一に、カスタムコントローラの背面１３１２は、十分に広いのでカスタムコントローラは、図６１に示すように背面を下にして直立し、転倒しにくい。カスタムコントローラをこの直立位置に配置可能とする効果は、ＩＲ発信器１３１４が、カスタムコントローラが設置される面上のかなり高い位置にあるということである。これは、枕、新聞紙、雑誌又は他の雑多なものがカスタムコントローラの頂部に不注意に置かれる可能性を低める。カスタムコントローラが直立位置では、カスタムコントローラの頂部に雑多なものをバランスを維持して置くことは困難だからである。
【０１９５】
更に、カスタムコントローラの側に置かれた枕、雑誌及び他の雑多なものの積み重ねが、カスタムコントローラのＩＲの送信を妨げないほど、カスタムコントローラは、高くなければならない。この特徴は、非常に重要である。何故なら、ケーブルボックス及びＶＣＲの側に常設ホールダーを雑誌や枕から離して備えることが可能なインスタントプログラマと異なって、完全ユニバーサル遠隔制御能力を有すカスタムコントローラは、ビデオ装置からある距離離れて置かれるように設計されているからである。更に、自動ビデオコントローラとして適切に機能するためには、カスタムコントローラのＩＲ送信器は、制御するビデオ装置のＩＲ受信器に対して直線で見通せることが必要である。
【０１９６】
背面１３１２の広がりの程度は、カスタムコントローラが、図５８に示された直立位置に配置されたときに、安定し、転倒しないように十分広ければよい。背面の適当な大きさを決定するには、幾つかのファクタが考慮される。第一に、背面の長さ及び幅がほぼ同じであることが通常好ましい。長さが、幅よりかなり長い場合は（従来のユニバーサル遠隔制御装置の場合はそうであるが）、カスタムコントローラは、背面の幅方向の広がりに沿った軸に沿って容易に転倒する。次に、コントローラの高さに対する、背面の長さ及び幅の比が、大きすぎてはいけない。コントローラの背面の長さと高さの比、背面の幅と高さの比は、大体３から１であれば、通常、十分である。しかし、この比は、カスタムコントローラの密度の一様性、従って重心に依存する。カスタムコントローラの上部（直立の位置の配置の場合）が、下部よりより密度が高い場合は、重心は、高くなり、背面の幅及び長さの比は、低める必要がある。一方、下部がより密度が高いと、重心は、低く、比を高めても安全である。カスタムコントローラに於いて重心を低くする方法は、バッテリ１８１６を、比較的密度が高いので、背面に非常に近接して配置する方法である。
【０１９７】
カスタムコントローラの安定度の他のファクタは、カスタムコントローラの重心の横方向位置である。カスタムコントローラが、直立に配置されたとき重心が背面中心に近いほど、カスタムコントローラは、より安定する。図５３乃至５８に示されるカスタムコントローラの実施例の上部は、中心から外れていることは注目される。これにより、重心は、背面中心から若干はずれ、カスタムコントローラの外観を改善している。
【０１９８】
背面の形状は、特に重要ではないが、背面を通じた最短距離とされる。一方、カスタムコントローラの底面の形状は、重要である。底面は、半円形か、ほぼ半円形であることが好ましい。裏面が半円筒状に近いほど、カスタムコントローラは、顧客がカスタムコントローラを把握したとき、より心地よい。円筒形状は、人の手によりぴったりとなじむからである。
【０１９９】
カスタムコントローラの他の特徴は、二つの制御平面１３０２、１３０４である。初期制御平面１３０４は、カスタムコントローラが直立位置のときにもっとよく使用されるボタン、例えば、音量大、小のつまみを含むように設計されている。補助制御平面と背面とに間の角度は、４５°以下である。この角度を４５°以下とするのは、補助制御平面上のボタンを押すのに要する力の少なくとも半分がテーブルか、又はカスタムコントローラが置かれている他の面の方に、下方に向かい、カスタムコントローラが直立の配置にあるときカスタムコントローラを転倒させる可能性のある側方に向かわせないようにしている。
【０２００】
カスタムコントーラ１３００の２つの代替的実施例が図６５−７０及び図７１−７６に示されている。これらのコントローラは、背面に対して４５度以下の角度を有する制御平面と、実質的に円形の底面と、従来の遠隔制御装置と比較してより大きい背面とを有している。
【０２０１】
カスタムコントローラの更に他の特徴は、ワンタッチチャンネルボタンである。これらのボタンは、ＨＢＯ，ＥＳＰＮ，ＣＮＮ又はＭＴＶといった特定のテレビ又はケーブルチャンネルに割り当てられているものである。例えば、あるボタンが、ＣＮＮに割り当てられているとすると、ＣＮＮボタンが押されると、カスタムコントローラが、テレビ、ケーブルボックス又は衛星受信器でチャンネルをＣＮＮが放送されているチャンネル番号に変更する。ユーザが、カスタムコントローラを設定するとき、彼又は彼女は、代理人に彼又は彼女が最も見たいチャンネルを伝え、代理人は、コンピュータにこれらのチャンネルに、カスタムコントローラ上の選択キーを同調させるように指令する。顧客は、代理人に、どのチャンネルに同調するために、彼又は彼女がカスタムコントローラ上のどのキーを望むかを連絡するか、又は代理人が、キーを選択できる。キー及びチャンネルが選択された後、顧客は、チャンネル名に同調するキーの側にそのチャンネル名を書き込むか、異なったチャンネル名のラベルが、支給され、カスタムコントローラの適当なボタンの側に貼り付けられる。これらのワンタッチ同調ボタンは、特に、補助制御平面上のボタンとしてプログラムするのに適切であり、従って、使用者は、カスタムコントローラを把持することなくこれらのボタンを操作することが可能である。
【０２０２】
図７７及び７８に示されている他の実施例は、図３３に示されている実施例の変形例である。初期設定ルーチンは、図３３の実施例のＶＣＲで実行されなければならず、これは、インスタントプログラマ３００で実行されなければならないものと類似している。これは、ローカルチャンネルマップ、現在時間及びＶＣＲにより制御されるケーブルボックス、テレビ又は衛星受信機の識別を、ＶＣＲに入力することを含む。図３３の実施例では、ＶＣＲ自身、又はＶＣＲを制御するの使用されるテレビ遠隔制御装置９５６の一連のキーを押すインスタントプログラマに於けると同様の方法で、ユーザにより手動により実行される。図７７で示される本実施例では、図３３からのテレビ遠隔制御装置は、自動プログラミングＶＣＲ遠隔制御装置１４００（“ＶＣＲ遠隔装置”）により置き換わる。ＶＣＲ遠隔装置は、ＣＰＵ１４０２、ＲＡＭ１４０４、Ｒ０Ｍ１４０６、キーボード１４０８及びＩＲ発信器１４１０を含み、これらは、ＩＲ遠隔制御装置ユニットに一般的である。更に、ＶＣＲ遠隔装置は、マイク１４１２及びオーディオ信号復号器１４１４を含む。マイク及び復号器は、図４３及び４４に示される実施例１１６６又は１１６８乃至１１７０のいずれかである。以上説明したカスタムコントローラに於けるように、図４４の復号器１１６８−１１７０及び図５８−５９の１３３４が、より経済的な実施例として好適である。
【０２０３】
以上の好適な実施例では、変形ＶＣＲ遠隔装置１４００は、又、カスタムコントローラの構造及び機能の総てを有するカスタムコントローラ１３００といったユニバーサル遠隔装置でもある。こうして、ＶＣＲ遠隔装置は、ケーブルボックス１４２８、ＶＴＲ１４１６、テレビ１４８２、ＩＲ遠隔制御可能であるほかのどの補助家庭電化製品１４３４をも制御可能である。
【０２０４】
ＶＣＲ遠隔制御装置の重要な効果は、初期設定のためにＶＣＲ１４１６に入力する必要のあるデータは、電話によりＶＣＲ遠隔制御装置に遠隔地点から、初めにダウンロード可能であるということである。これを実行するために、顧客は、電話で遠隔地点を呼出し、遠隔地点の人員の初期設定を実行するに要する情報を口頭で伝える。遠隔地点の人員は、ユーザにＶＣＲ遠隔装置のマイクを電話の受話器に近接して配置するように指示し、初期設定がダウンロードされる。以降、ユーザは、“送信”キー又は“送信”シーケンスのキーを押すことによりＶＣＲ遠隔制御装置からＶＣＲ自身にＩＲ送信により、データのダウンロードを容易に実行できる。ＶＣＲは、初期設定データを受信し、それをメモリ１４２０に記憶し、インスタントプログラマとして使用可能状態にある。
【０２０５】
図７９に示されている他の実施例では、図３３に示されるようなインスタントプログラマ３００の構成要素をＶＣＲに内蔵する代わりに、図４０−４４に示されているマイク１４５０及び復号器アセンブリ１４５２を含むカスタムプログラマ１１００の構造的要素が、ＶＣＲ１４５４に内蔵される。この実施例に於いては、ユーザは、遠隔地点から直接初期設定データをＶＣＲにダウンロードするために、ＶＣＲに内蔵されたマイクに電話１４５６の受話器を当てる。この実施例の困難な点は、ユーザのＶＣＲ及び電話は、時として、ＶＣＲに接近して電話の受話器を置くに十分なほど接近して配置されていないことである。これに対しては、電話に延長コードをすればよく、ＶＣＲを、電話により近く置くことは、利便的でない。
【０２０６】
図８０に示される他の実施例では、カスタムプログラマが内蔵されたＶＣＲのマイクは、ＶＣＲの復号器アセンブリ１４５２に直接接続されるモジュラーフォーンジャック１４５８により置き換わっている。標準電話線１４６０は、ＶＣＲをモジュラーＴ型コネクタに接続され、ＶＣＲ及び独立の電話１４６４が電話線１４６６へ接続されている。顧客は、遠隔地点を呼出し、話すために電話を使用し、データが直接ＶＣＲに送信される。この方法によるデータの転送は、オーディオトーンによる送信より、より正確である。しかし、この実施例は、顧客の電話の引き出し口にＶＣＲを近接するという同じ問題がある。
【０２０７】
図７７に示されている実施例では、しかし、顧客の電話又は電話のジャックがＶＣＲに近接しているのは、重要ではなかった。顧客は、遠隔装置を彼又は彼女の電話のところにもってきて、初期データがＶＣＲの遠隔装置へダウンロードされる。顧客は、遠隔装置を、ＶＣＲの近くの位置にもってきて、初期設定データをＶＣＲにダウンロードする。
【０２０８】
図８１の他の実施例によれば、モジュラージャック１４６６は、ＶＣＲ遠隔装置１４００内に装備されている。この実施例では、ＶＣＲ遠隔装置は、Ｔ型コネクタ１４６８により電話に接続される。初期設定データがＶＣＲに転送された後、ＶＣＲ遠隔装置はＶＣＲに近接して置かれ、初期設定データが、ＩＲ送信によりＶＴＲにダウンロードされること以外は、既に説明し、図８０に示されたモジュラージャックを内蔵したＶＣＲと同様に動作する。この実施例がモジュラージャック内蔵型のＶＣＲより優れる一つの効果は、ＶＣＲが電話から遠く離れて置かれた場合でも、ＶＣＲ遠隔装置を電話まで移動可能であることである。また、ＤＴＭＦ発生器をＶＣＲ遠隔装置に付加することも可能で、こうするとＶＣＲ遠隔装置のキーパッド１４０８は、遠隔地点の電話番号をダイヤルするのに使用可能である。これに替えて、遠隔地点の電話番号は、ＶＣＲ遠隔装置のメモリに記憶することも可能であり、こうすると顧客は、最小限の数のキーを押すことにより遠隔地点をダイヤルすることが可能である。
【０２０９】
ＶＣＲの動作の詳細を以下に説明する。図７８に示されるブロック１４４０の第一ステップで、顧客は、顧客サービス代理人に対して８００番、９００番又は通常料金の呼出しラインにて電話呼出しをする。ブロック１４４２で、代理人は、顧客のＺＩＰ符号又は顧客のケーブル会社の名称、使用者が使用しているテレビガイド、顧客のケーブルボックスのブランド及びモデル（このデータは、時として、ＺＩＰ符号又はケーブル会社の名称データから検索できる）及び顧客のＶＴＲのブランド及びモデルといった、初期設定を実行するに要する情報を顧客に問い合わせる。カスタムプログラマの初期設定でそうであるように、チャンネルマップ及びケーブルボックスＩＲ符号は、このデータから判別できる。ＶＣＲ遠隔制御装置が、また、ユニバーサル遠隔制御装置の場合は、代理人は、顧客がＶＣＲ遠隔制御装置で制御したいと思う他のＩＲ制御可能な家庭電化製品のいずれについてもそのブランド及びモデルについても問い合わせる。
【０２１０】
ダウンロードされるチャンネルマップ及びＩＲ符号データがブロック１４４２で一旦識別されると、チャンネルマップ、ＩＲ符号データ及び日付を含む現在時間を含む初期設定データがＶＣＲ遠隔制御装置に電話ラインによりダウンロードされる。好適な実施例では、初期設定データは、代理人の位置に存在するか、又は代理人に接続されているコンピュータにより発生され、オーディオ信号の形で電話線に送信され、ＶＣＲの遠隔制御装置のマイク又はモジュラーフォーンジャック及び復号器により受信され、ＣＰＵ１４０２によりＲＡＭ１４０４内に記憶される。
【０２１１】
ブロック１４４８では、顧客は、“送信”キーか、又はＩＲ発信器を通じてＶＣＲ受信器への初期設定データの送信を起動するキーのシーケンスを押す。ＶＣＲ遠隔制御装置が、ユニバーサル遠隔装置なら、ケーブルボックス以外のＩＲ制御可能な装置のＩＲ符号は、ＶＣＲに送信されないのが好ましい。これらは、ＶＣＲではなく、ＶＣＲ遠隔制御装置自身で使用されるからである。データは、ＶＣＲのＣＰＵによりＶＣＲのＲＡＭに記憶される。
【０２１２】
他の実施例に於いては、ＶＣＲ遠隔制御装置のＩＲ発信器は、多重指向性でも、広角度ＩＲ発信器でもない。より高価な多重指向性又は広角度のＩＲ発信器は、必要とされない。ＶＣＲ遠隔制御装置がテーブル上にあるか、ケーブルボックス又はＶＣＲ上にあるときは、ＩＲ発信器は、ＩＲ信号を送信するのには使用されないからである。
【０２１３】
いずれにせよ、好適な実施例では、多重指向性又は広角度のＩＲ発信器は、総ての初期設定データの正常なダウンロードを可能性を増すためには、有効である。初期設定データの量は、大量ではないが、かなりの量ではある。かなりの期間の遮断されないＩＲの流れが、ＶＣＲ遠隔制御装置からＶＣＲへ送られることが必要である。ＩＲ信号の放射が多様であるほど、ＩＲ信号の流れの全てが、直接か、又は反射により、ＶＣＲのＩＲ受信器に達する可能性が高くなる。
【０２１４】
現在のＶＣＲ遠隔制御装置以前に製造され、且つ、遠隔制御装置の使用を通じて初期設定を可能とする内蔵のインスタントプログラマ及びＩＲ発信器を備える従来のＶＣＲについて、ＶＣＲ遠隔制御装置は、遠隔制御装置を使用した初期設定にこの従来のＶＣＲ自身のプロトコルを使用するために、製造時ＲＯＭに記憶されたプログラムによるか、又はＲＡＭに電話入力するかにより、プログラム可能である。言い換えると、ＶＣＲ遠隔制御装置は、初期設定を実行するためのＶＣＲの元の遠隔制御装置を使用する使用者をまねるためにプログラムされる。
【０２１５】
特にＶＣＲ遠隔制御装置と共に使用するために設計されたＶＣＲでは、ＶＣＲに送信されたＩＲ送信の長さを短縮するために設計された特定のプロトコルが使用される。他の実施例では、この特定のプロトコルの部分は、ＶＣＲによる初期設定データの全体の流れの受信を確実とするために、従来の誤り検出手法及び誤り訂正手法又はいずれかと組合わさった受信確認信号を使用することを含む。使用可能な従来の誤り検出手法は、データの各バイトのパリティーチェックを使用し、全体のデータの流れの長さを示すデータの流れのある点に符号を埋め込むことを含む。これら、及び他の従来の誤り検出手法及び誤り訂正手法の使用により、ＶＣＲは、初期設定データが誤り無しで完全な流れが受信できたかどうかを確認することができる。受信されたデータが正しく、完全であることが確認された場合は、ＶＣＲは、初期設定データが正常に受信されたことを示す、オーディオ又はビジュアルの指示を発生する。受信データが正しく且つ完全であることが、確認されないと、ＶＣＲは、指示は発生させず、送信が正常ではないことを示す第二の指示を発生する。正常でない送信の場合は、消費者は、ＶＣＲ遠隔制御装置の、ＶＣＲに対する位置関係を調整し、初期設定データを再度送信する。
【０２１６】
他の実施例は、ＶＣＲ及びＶＣＲ遠隔制御装置にモジュラーフォーンジャックを備え、ＶＣＲ遠隔制御装置からＶＣＲへ初期設定データをダウンロードする。この実施例は、初期設定データのより誤りのない送信を提供するが、使用者に、ＶＣＲ遠隔制御装置とＶＣＲとを接続するために、ケーブルを接続したり、切り離したり、保管したりする作業を強いる。
【０２１７】
更に、他の実施例は、ＶＣＲ遠隔制御装置に於けるマイク及び復号器アセンブリ１４１２−１４１４に類似したマイク及び復号器アセンブリを、ＶＣＲに備える。符号器及びスピーカ（図示せず）が、ＶＣＲ遠隔制御装置に追加される。この実施例では、初期設定データは、ＶＣＲ遠隔制御装置へ電話ラインを使用して初期設定データをダウンロードするのに使用されるようなオーディオ信号と同様な種類を使用して、ＶＣＲ遠隔制御装置からＶＣＲへ送信される。顧客が、ＶＣＲ遠隔制御装置からＶＣＲへ初期設定データを送信する準備ができると、彼又は彼女は、ＶＣＲ遠隔制御装置のスピーカをＶＣＲのマイクに対して保持し、送信を起動するためのキーを押す。この実施例の好適例では、現在のスピーカ及びマイク技術を使用して、ＶＣＲ遠隔制御装置のスピーカ及びマイクは、単一のマイク／スピーカユニットに統合可能である。
【０２１８】
ブロック１４４６乃至１４５２のダウンロードのプロセスに於いては、ＶＣＲのチャンネルマップデータ及びＩＲ符号データが送信され、ＶＣＲ遠隔制御装置のＲＡＭへ、まず、記憶される。以後、データは、ＶＣＲに再送信され、ＶＣＲのメモリに記憶される。ＶＣＲのチャンネルマップデータ及びＩＲ符号データのＶＣＲへの送信が完了した後、ＶＣＲのチャンネルマップ及びＩＲ符号データは、ＶＣＲ遠隔制御装置のＲＡＭから消去される。ＶＣＲ遠隔制御装置自身により使用されるためのＩＲ符号データは、まず、ＶＣＲのチャンネルマップデータ及びＩＲ符号データで、ダウンロードされ、このデータは、勿論、ＶＣＲ遠隔制御装置のＲＡＭから消去はされない。
【０２１９】
図５３乃至７６、特に図５８及び５９で示されるカスタムコントローラ１３００に関して以上説明したように、直接か、又はＶＣＲ遠隔装置を通じてかによって、ＶＣＲに電話ラインを通じてダウンロードされる、ケーブルボックス及び他の遠隔操作可能な電子装置の制御用のＩＲ符号は、異なった方法で、異なった実施例に於いて記憶される。多数のケーブルボックス及び他の装置のためのＩＲ符号は、ＶＣＲ及びＶＣＲ遠隔装置のＲＯＭに、ＶＣＲ及びＶＣＲ遠隔装置にダウンロードされる、特定のケーブルボックス又は他の装置のためのＩＲ符号のアドレスでもって、記憶することが可能である。これに替えて、ＩＲ符号自身がＶＣＲ又はＶＣＲ遠隔制御装置のＲＡＭにダウンロードすることが可能である。
【０２２０】
ＶＣＲ遠隔装置１４００の種々の実施例にて示されるように、本発明は、テレビ、ケーブルボックス、衛星受信機、又は遠隔制御発信器を含むオーディオ・ビジュアルユニットと共に容易に使用可能である。これらの実施例に於ける動作の唯一の違いは、ＩＲ符号、及びＶＣＲ遠隔装置が使用しているダウンロードプロトコルである。しかし、以上説明したＶＣＲは、これらの符号及びプロトコルを初期設定データと共に電話によりダウンロードする能力を有す。
【０２２１】
図４０乃至８１、及び付随する説明に示された実施例の全てに於いて、カスタムプログラマ１１００、初期設定プログラマ１２００、カスタムコントローラ１３００、ＩＲ発信器及び直接電話入力内蔵のＶＣＲ（図７９から８０）及びＶＣＲ遠隔装置１４００（集合的には、“電話ダウンロード可能なプログラマ”）にダウンロードされるデータ種類として与えられた例は、初期設定データである。
【０２２２】
この初期設定データは、ＩＲ符号、又は他の電子装置のための遠隔制御装置のＩＲ符号アドレス、ローカルチャンネルマップ及び現在時間を含む。図８２及び８３で示される、電話でダウンロード可能なプログラマに対する変形例では、初期設定データに追加して、録画か、視聴したい番組を表すデータが、種々のダウンロード可能なプログラマにダウンロードされる。電話でダウンロード可能ないずれのプログラマについても、録画された番組を表すダウンロードされたデータは、番組のチャンネル、日付、時間、及び長さの実際の値である。これに替えて、インスタントプログラマ３００の機能をまた実行する電話でダウンロード可能なプログラマは、録画されるか、視聴される番組を表すダウンロードされたデータは、圧縮符号か、又はＧ符号の形式をとり、これは、番組のチャンネル、日付、時間及び長さを含む。
【０２２３】
番組情報をダウンロードするこの実施例の物理的構成は、図８２に示される。
【０２２４】
図８３は、本実施例による番組情報を選択し、ダウンロードするための処理のフローチャートである。ブロック１５００では、ユーザは、分単位料金又は呼出し単位料金の９００番、料金無料の８００番か、又は通常の有料番号かにより、電話で遠隔地点の顧客サービス代理人１５２０を呼び出す。ブロック１５０２では、ユーザは、ユーザが特定のショーを録画したいか、あるいは、録画するか、視聴したいショーの種類を特に指定せずより一般的な説明で、電話口で口頭で伝える。こういった一般的な特徴は、状況喜劇、ドラマ、アクションショー、ミステリ、警察探偵もの、実録の救助、緊急又は警察ショー、ゲームショー、ニュースマガジン、毎日のニュース番組、ドキュメンタリー、スポーツ、映画等である。
【０２２５】
一般的な説明は、特定の俳優又は女優が出演する、又はある監督により監督された映画又はショー（例えば、“全てのハンフリー・ポガード出演の映画”）、特定のチーム及び特定のスポーツ又はいずれかが関係するスポーツ（例えば、“全てのＵ．Ｃ．Ｌ．Ａ．バスケットボールゲーム”）、異なったチャンネルで一週の内で何回も上演されるショー（例えば、“今週の'アイ・ラブ・ルーシ'の全て”）といったより具体的な説明を含む。
【０２２６】
ブロック１５０４では、代理人は、ブロック１５０２でユーザにより与えられた情報をコンピュータ１５２２へ入力する。このコンピュータは、ハードディスクといった大容量記憶装置１５２６に記憶された将来放送されるテレビ番組の大きいデータベースを含む。コンピュータは、代理人により入力された情報に一致するテレビ番組を求めてデータベースを検索し、入力された情報に一致する各番組のチャンネル、日付、時間及び時間長のデータを呼び出す。ブロック１５０６で、コンピュータは、自動的に、互いに重複する番組間の時間的重複についてデータベース検索で呼び出された番組の全てについて、日付、時間及び時間長データをチェックする。
【０２２７】
時間重複がある場合は、コンピュータは、時間的重複があり、関連する番組があるということにつき代理人に対して注意を促す。ブロック１５０８では、代理人は、時間重複及び重複番組につきユーザに通報する。ユーザは、重複している番組につき、彼又は彼女がそのいずれを録画又は視聴したいかにつき決定する。これに替えて、重複をさけるために、録画した他の番組と部分的に重複する番組の非重複部分のみを選択できる。例えば、日曜日午後８時に始まる二つの番組を選択する場合、一つは、一時間番組であり、一つは、二時間番組であると、ユーザは、一時間番組を録画し、二時間番組の二時間目を録画するように選択できる。ユーザは、代理人にどう重複を処理したいかにつき連絡し、ブロック１５１０で、代理人は、この情報をコンピュータに入力し、コンピュータは、ブロック1512で、選択された番組をそのように調整する。
【０２２８】
一実施例では、ブロック１５１４で、コンピュータは、データベース検索後、時間重複があればその時間重複を解決した後に残っている番組の各々のチャンネル、日付、時間、及び長さを、インスタントプログラマ３００の機能を実行するダウンロード可能なプログラマで使用するためにＧ符号に変換する。そのようなプログラマは、破線で示されるプログラマ１５２４であり、ＣＰＵ１５２６と、マイクと区域通過フィルタ１５２８（図４４で示されるプログラマ１１００と類似の）と、ＣＤＴＬ情報を記憶するためのスタックメモリを含むランダムアクセスメモリ（ＲＡＭ）１５３２と、ＲＯＭ１５３０とを含む。ブロック１５１６で、コンピュータは、インスタントプログラマ３００の機能を実行する電話でダウンロード可能のプログラマに電話ラインでＧ符号をダウンロードする。
【０２２９】
他の実施例では、ブロック１５１４及び１５１６は、単一のブロック（図示せず）で置き換わり、そのブロックでは、コンピュータは、データベースの検索で選択され、時間重複がある場合はその時間重複を解決した番組の各々のチャンネル、日付、時間及び長さを表すデータを、電話でダウンロード可能なプログラマ１５２４へ電話ラインでダウンロードする。
【０２３０】
番組データが電話でダウンロード可能なプログラマヘダウンロードされた後、Ｇ符号がダウンロードされた場合は、番組データは、チャンネル、日付、時間及び長さに復号化され、ＣＤＴＬデータがいずれの電話ダウンロード可能なプログラマのメモリ、例えばRＡ
Ｍ１５８２のスタックメモリに記憶される。これは、番組データが、以上のべたようなG符号から復号化された後、インスタントプログラマ３００の、図１２のスタックメモリ７６といった、スタックメモリに記憶されると同様な方法でなされる。番組データがメモリに記憶されると、既に説明した種々の電話ダウンロード可能なプログラムで実行されると同様な方法で、このデータにより番組の録画の制御がなされる。
【０２３１】
他の実施例では、番組データは、ＶＣＲの制御のためではなく、テレビ又はケーブルボックスの制御のために、電話ダウンロード可能なプログラマにダウンロードされる。この実施例では、ユーザは、電話ダウンロード可能なプログラマを使用して、ユーザが何時にあるかを忘れたり、他のショーに夢中になったり、あるいはユーザが単にマニュアルでチャンネルを変更したくないために、大事なショーを逃さない目的で、彼又は彼女のテレビ又はケーブルボックスのチャンネルを単に変更することが可能である。
【０２３２】
テレビ番組の将来のテレビ放送についての多量の情報量を記憶するためのデータベースのフォーマットと、及びデータベースを操作したり、検索したりするに使用されるデータベースプログラムとは、従来のいずれのデータベースフォーマット及び対応するデータベースエンジンでもよい。好適な実施例では、使用のデータベースフォーマットは、一連のレコードを含み、各レコードは、フィールドの所定の組み合わせを含み、このフィールドの所定の組み合わせは、データベースのいずれの他のレコードに於けるフィールドの組み合わせとも同一である。各テレビ番組は、データベースの一つのレコードに対応する。各レコードは、番組のタイトル、チャンネル、日付、開始時間及び時間長のためのフィールドを含む。
【０２３３】
更に、各レコードは、一連のブールフィールドを含み、各フィールドは、状況喜劇、ロマンチックな映画、スポーツ番組といったテレビ番組のカテゴリーを表す。この実施例の効果は、多数の異なったカテゴリーが容易に表現され、検索され、スペースは殆ど必要としない。この実施例は、百を越える異なったカテゴリーフィールドがある場合にも、通常、ブールフィールドは、殆どのデータベースファイルフォーマットの各レコードの１ビットか、多くても１バイトのスペースを占有するのみである。各カテゴリーフィールドの小さいサイズは、あるカテゴリーに於ける全ての番組につきデータベースの高速な検索を容易にしている。この実施例では、多重、重複カテゴリーが許される。例えば、データベースは、犯罪を主題としたもの、コメディー、フィクションの別のカテゴリーフィールドを備える。一つのテレビ番組は、犯罪に関するフィクションコメディーとすると、これらの三つのカテゴリーフィールドに於いて“真”の値である。一方、番組が、犯罪に関する実録のドラマとすると、これらの三つのカテゴリーの一つ、犯罪を主題としたフィールドに於いてのみ“真”値を含む。
【０２３４】
ブールカテゴリーフィールドに加えて、各レコードは、幾つかの“人”フィールドを含む。“人”フィールドの内容は、番組のキャラクター、俳優及び女優、監督、及び番組作成に携わった作家を含む。こうして、ユーザが、ある人、キャラクター、俳優、番組の作成者にかかわる全ての番組をプログラムしたい場合、コンピュータは、この情報のために“人”フィールドを検索する。これに替えて、個々に、キャラクター、俳優、女優及び番組の作成者の個別フィールドを設けてもよい。
【０２３５】
各レコードは、テレビ番組の暴力、セックスの内容のためのフィールドを含んでもよい。映画の場合は、映画協会による等級のフィールドが使用できる。各レコードに於いて、若干の暴力、明白な暴力、半裸体描写、裸体描写、不敬、アダルト描写、及びセックス描写といった記述のためのブールフィールドが使用可能である。こうして、番組は、これらの一般内容情報の基づいて、検索により取捨選択される。
【０２３６】
データベースの各レコードは、番組の簡単な説明からなる要約を含んでもよい。これにより、全ての要約フィールドをあるキーワード又はキーワードの組み合わせにより検索することにより、時間はかかるが、特定の番組の内容の詳細で、広範囲な検索が可能となる。
【０２３７】
以上の説明によって、本発明による、テレビ番組の録画予約のための圧縮コードを用いた装置と方法、およびそれに付随する利点とについて理解できたであろう。また、以上の説明は、単に好適な実施例として示したものであり、本発明の主旨と範囲を逸脱することなく、また本質的な利点を犠牲にすることなしに形式、構造、構成部品の配列をいろいろに変更することが可能である。
【図１】
2010288303.tif 000003
【図２】
2010288303.tif 000004
【図３】
2010288303.tif 000005
【図４】
2010288303.tif 000006
【図５】
2010288303.tif 000007
【図６】
2010288303.tif 000008
【図７】
2010288303.tif 000009
【図８】
2010288303.tif 000010
【図９】
2010288303.tif 000011
【図１０】
2010288303.tif 000012
【図１１】
2010288303.tif 000013
【図１２】
2010288303.tif 000014
【図１３】
2010288303.tif 000015
【図１４】
2010288303.tif 000016
【図１５】
2010288303.tif 000017
【図１６】
2010288303.tif 000018
【図１７】
2010288303.tif 000019
【図１７Ａ】
2010288303.tif 000020
【図１８】
2010288303.tif 000021
【図１９】
2010288303.tif 000022
【図２０】
2010288303.tif 000023
【図２１】
2010288303.tif 000024
【図２２】
2010288303.tif 000025
【図２３】
2010288303.tif 000026
【図２４】
2010288303.tif 000027
【図２５】
2010288303.tif 000028
【図２６】
2010288303.tif 000029
【図２７】
2010288303.tif 000030
【図２８】
2010288303.tif 000031
【図２９】
2010288303.tif 000032
【図３０】
2010288303.tif 000033
【図３１】
2010288303.tif 000034
【図３２】
2010288303.tif 000035
【図３３】
2010288303.tif 000036
【図３４】
2010288303.tif 000037
【図３５】
2010288303.tif 000038
【図３６】
2010288303.tif 000039
【図３７】
2010288303.tif 000040
【図３８】
2010288303.tif 000041
【図３９】
2010288303.tif 000042
【図４０】
2010288303.tif 000043
【図４１】
2010288303.tif 000044
【図４２】
2010288303.tif 000045
【図４３】
2010288303.tif 000046
【図４４】
2010288303.tif 000047
【図４５】
2010288303.tif 000048
【図４６】
2010288303.tif 000049
【図４７】
2010288303.tif 000050
【図４８】
2010288303.tif 000051
【図４９】
2010288303.tif 000052
【図５０】
2010288303.tif 000053
【図５１】
2010288303.tif 000054
【図５２】
2010288303.tif 000055
【図５３】
2010288303.tif 000056
【図５４】
2010288303.tif 000057
【図５５】
2010288303.tif 000058
【図５６】
2010288303.tif 000059
【図５７】
2010288303.tif 000060
【図５８】
2010288303.tif 000061
【図５９】
2010288303.tif 000062
【図６０】
2010288303.tif 000063
【図６１】
2010288303.tif 000064
【図６２】
2010288303.tif 000065
【図６３】
2010288303.tif 000066
【図６４】
2010288303.tif 000067
【図６５】
2010288303.tif 000068
【図６６】
2010288303.tif 000069
【図６７】
2010288303.tif 000070
【図６８】
2010288303.tif 000071
【図６９】
2010288303.tif 000072
【図７０】
2010288303.tif 000073
【図７１】
2010288303.tif 000074
【図７２】
2010288303.tif 000075
【図７３】
2010288303.tif 000076
【図７４】
2010288303.tif 000077
【図７５】
2010288303.tif 000078
【図７６】
2010288303.tif 000079
【図７７】
2010288303.tif 000080
【図７８】
2010288303.tif 000081
【図７９】
2010288303.tif 000082
【図８０】
2010288303.tif 000083
【図８１】
2010288303.tif 000084
【図８２】
2010288303.tif 000085
【図８３】
2010288303.tif 000086