説明

テレビジョン番組情報を通信する方法

【課題】より簡易なテレビジョン番組情報取得。
【解決手段】テレビジョン番組情報を通信する方法であって、ユーザ装置と前記ユーザ装置から遠隔の地点に位置するテレビジョンスケジュール情報のデータベースとの間の通信リンクを確立し、前記ユーザ装置からのテレビジョン番組選択基準を前記ユーザ装置から遠隔の前記地点に通信し、テレビジョン番組選択基準に基づいてテレビジョンスケジュール情報のデータベースを検索して、データベースから、前記テレビジョン番組選択基準と一致するテレビジョン番組に対応する番組識別データを導き出し、そして前記番組識別データを前記通信リンクを介してユーザ装置に送信するステップを含む方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にビデオカセットレコーダシステムに関し、特にタイマー使用の予約を実行するのに要する時間を短縮するために符号化情報を使用し、種々の家庭電化製品を遠隔制御し、これらの装置の初期設定ルーチンを容易に実行するための装置及び方法に関する。
【背景技術】
【0002】
ビデオカセットレコーダ(VCR)は、ビデオカメラで撮影したテープの再生や、録画済みテープの再生、あるいはテレビ放送やケーブルテレビ番組の録画再生などのために、非常に多くの人々によって使われている。
【0003】
今から後に放送されるテレビ番組を録画するには、通常次の2つのステップによって行う。すなわちまず、(1)テレビ番組表から所望の番組のチャンネル番号、日付、時刻、および番組の長さに関する情報(CDTL)を取得し、次に(2)これらのCDTL情報をVCRにプログラムすることよって行う。VCRのモデル、タイプ、年代によってCDTL情報をプログラムする方法は、まちまちである。例えば、(i)取り扱い説明書の指示に従ってキーを適切な順序で押していく。(ii)取り扱い説明書の指示に従ってリモートコントローラのキーを適切な順序で押していく(リモートプログラミング)。(iii)
テレビ画面の表示されるメニューに従って、リモートコントローラの一連のキー操作を行う(オンスクリーンプログラミング)等の方法がある。さらにこの他にも、タイマー予約設定の方法として(iv)ライトペンを用いてバーコード情報を読み取る(ライトペンプログラミング)、(v)コンピュータあるいは電話モデムによる指示に従う、などの方法が提案されている。これらのいろいろな方法は、情報を指定する物理的方法が互いに異なってはいるが、そのCDTL情報及び電源スイッチ、時計、タイマーオンオフ命令、などの内容は共通である。ただし、プロトコルの細部は、VCRの機種ごとにそれぞれ異なっている。上記の(i)及び(ii)の方法では、キーの操作回数が100回もの多くになることもあり、VCRのタイマー予約方法としては適切なものとは言えない。このような欠点を軽減するために、最近のVCRのモデルは、オンスクリーンプログラム機能、すなわち、テレビ画面上に表示されるメニューに従ってCDTL表示をリモート操作で入力していく機能を備えるようになってきている。一般に、CDTL情報をオンスクリーンプログラムで入力するには、平均18回のキー操作が必要である。この回数は、先の方法と比較すると少なくなっているものの、なお相当に多数の回数を必要としている。一方、他の方法、例えば上記(iv)の方法では、バーコードリーダなどの特別な装置が必要となる。
【0004】
一般に、従来の方法は多くの欠点を有している。まず、第1に、VCRに録画予約の設定を行う手順は、非常に複雑で、間違いやすく、また覚えるのが難しい。事実、そのために、多くのVCRのユーザが、せっかくのタイマー録画予約の機能を使おうとしない。第2に、CDTL情報をVCRに間違いなく設定するのは非常に困難である。実際、多くのVCRのユーザが、タイマー録画予約機能についてプログラム設定誤りが頻繁に起こると述べている。第3に、熟練したユーザにとっても、所望の番組について、チャンネル、日付、時刻、長さといった情報を長々と入力していく作業は非常に面倒なものである。第4に、バーコードなどを用いて情報を読み取る技術、あるいはコンピュータを用いる方法は、特別な装置を必要とする。これらの欠点は、VCRを用いてテレビ番組を録画しようとする際の深刻な障害となっている。その結果、番組録画によるタイムシフトは、過去に期待されたほどには一般的になっていない。従って、より簡単な装置で、ユーザがもっと自由に完全に使いこなせるVCRタイマー録画予約の技術が求められてる。
【発明の概要】
【課題を解決するための手段】
【0005】
本発明の基本的な目的は、VCRの録画予約を行う際に必要となるチャネル、日付、時刻、および長さについての情報(CDTL情報)を、従来の方法と比較してより簡単に、よりすばやく、より少ない誤りの選択・入力することができる改良された装置を提供することである。本発明の他の目的はタイマー録画予約を制御する機能を有するテレビジョンを提供することである。
【0006】
本発明によるビデオ装置の録画予約機能によって、コード化されたビデオ録画再生タイマー予約情報を用いるための装置と方法とが提供される。ここで、目的とするところは、VCRにタイマー録画予約を行う際に必要となるキー操作回数を著しく低減することである。本発明によれば、ユーザは、1から7桁あるいはそれ以上のコードをVCRに対して入力するだけでよい。この操作は、リモート操作で行うことも、あるいはVCRに直接に行うことも可能である。コードを正しいCDTL予約情報に自動的に変換して、そのチャネル、日付、時刻、および長さに対応した録画をVCRを行わせるための解読手段が、リモートコントローラあるいはVCRに組み込まれる。一般に、複数の番組を予約するために、複数のコードを一度に入力することが可能である。上記のコードは、テレビ番組案内にあらかじめ印刷しておき、この印刷されたコードをVCRあるいはリモートコントローラを用いてユーザが選択するようにすることが可能である。
【0007】
これらの特徴を組み込んだ製品は、現在、市販され、売れ行きも大変よい。VCRPlus+の商標で販売されているインスタントプログラマは、録画するテレビ番組のための圧縮符号(各々が1から8桁の長さ)が入力されるハンドヘルドユニットを含む。圧縮符号は、印刷されたテレビ番組表に、極めて一般的に示されている。インスタントプログラマは、プログラマのメモリに記憶される、チャンネル、日付、時間及び長さのコマンドに圧縮コードを復号化する。現在時間に最も近い、メモリ内の番組の日付及び時間が現在時間と一致することが、内部クロックにより判別されると、赤外線発信器及びユニバーサルリモート技術を使用したインスタントプログラマは、チャンネルを正しいチャンネルとするために、赤外線遠隔制御信号をケーブルボックス又はビデオレコーダに送り、そしてレコーダをオンして録画を開始するために、赤外線遠隔制御信号をビデオレコーダに送る。メモリに記憶された番組の長さが完了すると、録画を停止するために赤外線遠隔制御信号が、ビデオレコーダに送られる。
【0008】
VCRPlus+プログラマが使用される以前は、ユーザは、初期設定手順を踏まねばならなかった。この手順は、ユーザのビデオレコーダ及びケーブルボックスのブランド及びモデル名をプログラマに入力し、プログラムマに時間を設定し、あるネットワーク及びケーブルチャンネル用の“全国”チャンネル番組を、ユーザのケーブルシステムで、これらのチャンネルに使用されている実際のチャンネル番号に対応させるローカルチャンネルマップを入力することを含む。インスタントプログラマは、製造時に、多種のケーブルボックス及びビデオレコーダを遠隔制御するために必要な赤外線符号をROM中に記憶させている。ケーブルボックス及びビデオレコーダのモデル及びブランドが入力されなければならないのは、インスタントプログラマがユーザの個別のビデオレコーダ及びケーブルボックスのために、ROMに記憶された赤外線コードの正しいものを使用できるようにするためである。
【0009】
本出願の親出願に於いて開示された別の実施例では、インスタントプログラマの復号器、メモリ及び赤外線発信器は、ビデオレコーダに内蔵されている。ビデオレコーダのキーを通じてか、又はビデオレコーダの遠隔操作部を通じて、1から8桁の圧縮符号がビデオレコーダに直接入力される。圧縮符号は、ビデオレコーダによりチャンネル、日付、時間及び長さコマンドに復号化され、ビデオレコーダのメモリに記憶される。メモリ中の番組の日付及び時間が、ビデオレコーダのクロックにより供給されている実際の時間と一致すると、ビデオレコーダは、赤外線発信器及びユニバーサル遠隔技術を使用して、赤外線遠隔制御信号をケーブルボックスへ送り、ケーブルボックスは、ケーブルボックスの同調のチャンネルを希望チャンネルへ変更する。ビデオレコーダは、今や正しく同調したケーブルボックスから受信されたテレビ信号の録画を開始するために内部的に信号を出す。メモリに記憶されている時間長が、経過すると、ビデオレコーダは、自身を停止する。
【0010】
VCRPlus+インスタントプログラマのように、内蔵のインスタントプログラム装置及び遠隔制御発信器を備えたビデオレコーダが使用される以前は、初期設定手順を踏む必要があった。ケーブルボックスのブランド及びモデル及びローカルチャンネルマップがビデオレコーダにマニュアルで入力されなければならなかった。
【0011】
本発明は、インスタントプログラマ及び遠隔制御発信器を内蔵するビデオレコーダの改良に関する。本発明は、遠隔地点からビデオレコーダへ電話線を通じてデータをダウンロードすることに関連する。幾つかの実施例では、ダウンロードされる情報は、本発明によらない場合は、手動でユーザが入力しなければならない初期設定データである。手動入力の代わりに、ユーザは、電話で顧客サービス代理人を呼出し、初期設定を実行するに必要な情報を代理人に口頭で指示することができる。代理人は、必要な情報をコンピュータに入力し、コンピュータは、それをデータを電話線を通じて、電話線に接続されているビデオレコーダにダウンロードする。種々の実施例に於いて、ビデオレコーダは、ビデオレコーダのモジュラーフォーンジャックにより、又はビデオレコーダに接続されたマイクに近接して配置された電話の受話器により電話線に接続される。他の実施例では、データは、ビデオレコーダに直接ではなく、データがビデオレコーダに送信される如何なる方法でもよいが、電話線を通じてVCR遠隔制御装置にダウンロードされる。以後は、データは、VCR遠隔制御装置からビデオレコーダに、VCR遠隔制御装置により送信され且つビデオレコーダにより受信される赤外線遠隔制御信号を通じて送信される。
【0012】
これらのどの実施例でも、ユーザが情報を手動入力する必要はなく、初期設定は、転送され、ビデオレコーダに記憶される。
【0013】
本発明の他の基本的な目的は解読手段をテレビジョンに組み込むようにすることにある。そのようにすれば、適切な時刻においてテレビジョンが適切なコマンドをVCRおよびケーブルボックスに対して送り、所望の番組を録画することが可能となる。ユーザは、テレビジョンのリモートコントローラから、あるいはテレビジョンに直接に、録画しようとする番組を表すコードを入力することができる。この同じテレビジョンリモートコントローラあるいは直接制御機能を用いて、ユーザは、チャネル選択などの通常のテレビジョン機能の制御を行うことが可能である。コードが入力されると、これがテレビジョンまで伝達されてテレビジョン中に組み込まれたデコーダによってCDTL情報が解読される。なお、元のコード自身とCDTL情報とを画面上に表示するようにして、ユーザがコードが正しく入力されたかどうかを確認できるようにすることもできる。次に、適当な時刻になると、テレビジョンは適当なコマンドをVCRおよびケーブルボックスに送信し、もし必要があれば、選択された番組の録画を行わせる。この制御機能は、赤外線リンクを用いて実行することができる。その際、赤外線送信器はテレビ受像機のキャビネットに、好適にはキャビネットの角に、設置される。テレビジョン回路に、VCRおよびケーブルボックス用の赤外コードプロトコルを記憶する、あるいは学習する機能を含ませるようにすることが可能である。
【0014】
本発明の他の基本的な目的は、解読手段をビデオカセットレコーダ、ケーブルボックス、衛星受信機などのテレビジョンに関係するいろいろな装置に組み込むことである。どのようなシステム構成にするにせよ、解読手段は、どれか1つの装置にだけ組み込んでおけばよい。例えば、ケーブルボックスに組み込んであれば、所定の時刻がくると、ここに組み込んである解読手段から、所望の番組を録画するための所定のコマンドが他の装置、例えばVCRは衛星受信機に送られる。ユーザは、テレビジョンリモートコントローラあるいは、デコーダが組み込まれている装置に直接に録画すべき番組を表すコードを入力することができる。なお、同じテレビジョンリモートコントローラを用いて、通常のテレビジョン制御機能、例えばチャネル選択を行わせるようにすることが可能である。コードが入力されると、デコーダを備えた装置に送られ、ここで、コードがCDTL情報に解読される。次に、適当な時刻になると、デコーダを備えた装置は適当なコマンドをVCRや衛星受信機、ケーブルボックスなどのその他の装置に送信し、選択された番組の録画を行わせる。この制御機能は、デコーダを備えた装置に赤外線送信器を設置するようにした赤外線リンクを用いて実行することができる。赤外線送信機は、装置の赤外線ドーム内に設置することもできるし、あるいは、正面パネルの後ろにマウントするようにもできるし、あるいは、デコーダを備えた装置にケーブルを介して接続されたマウスに赤外線送信機を取り付け、このマウスを受信機の近傍に配置するようにもできるし、あるいは、デコーダを備えた装置にケーブルを介して接続されたミニマウスのスティックに送信機を取り付け、このミニマウスを受信機を備えた装置に取り付けるようにすることもできる。デコーダを備えた装置には、他の装置、例えばVCR、衛星受信機、ケーブルボックスなどに対する赤外コードプロトコルを記憶したりあるいは学習をする機能を含ませるようにすることが可能である。
【0015】
本発明の他の実施例は、多種の家庭電化製品の制御が可能な多機能型ユニバーサル遠隔制御装置を含む。遠隔制御装置のボタンの機能、及びこれらの機能を実行するために要する赤外線符号は、電話線を通じ遠隔制御装置に設けられたマイクにより受信される送信等によって、遠隔操作でプログラム可能である。
【0016】
本発明のその他の目的およびこれらに関連する特徴は、添付の図面を参照しながら以下の詳細な説明を読むことによって容易に理解できよう。なお、添付図面において、同様の部分は同様の参照符号を用いて表してある。
【図面の簡単な説明】
【0017】
【図1】本発明による、ビデオカセットレコーダに組み込まれたコード解読手段を具備した装置を示す図である。
【図2】コマンド制御およびコード解読のためのVCR組み込みプロセッサの図である。
【図3】本発明のリモートコントローラに組み込まれたコード解読手段に係わる好適な実施例を示す図である。
【図4】リモートコントローラに組み込まれたプロセッサを示す図である。
【図5】コード解読手段を内蔵した汎用リモートコントローラの図である。
【図6】Gコード解読方法を示すフローチャートである。
【図7】Gコード符号化方法を示すフローチャートである。
【図8】本発明によるテレビジョンカレンダーの一部を示す図である。
【図9】ケーブルチャネルの復号について示したフローチャートである。
【図10】ケーブルチャネルの符号化について示したフローチャートである。
【図11】割り当てケーブルチャネル番号からローカルケーブルキャリアチャネル番号への変換を含む、ケーブルチャネルのGコード復号について示したフローチャートである。
【図12】スタックメモリを含む復号手段の図である。
【図13】スタックメモリへのプログラム入力を示すフローチャートである。
【図14】リモートコントロールからVCR本体装置へプログラムを送る動作に関するフローチャートである。
【図15】本発明による圧縮コードを用いてレコーダのプリプログラミングを行う装置の好適な実施例を示す透視図である。
【図16】図15の装置の正面図であり、前方を向いた発光ダイオードについて示したものである。
【図17】マウントスタンドに置かれた図15の装置の透視図である。
【図17A】図17に示されているマウントスタンドに置かれた図15の装置の正面図である。
【図18】図15の装置のLCD表示部の詳細図である。
【図19】図15の装置の、ケーブルボックスおよびVCRに対する置き方を示した透視図である。
【図20】図15の装置を、マウントスタンドと共にケーブルボックスおよびVCRの近傍に置いた様子を示す透視図である。
【図21】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラミングを行う装置を示す図である。
【図22】図21の装置を具現化する好適な実施例の詳細図である。
【図23】図15の装置へのプログラム入力を示すフローチャートである。
【図24】図15の装置に入力されたプログラムの確認および取り消しを示すフローチヤートである。
【図25】本発明の好適な実施例による、圧縮コードを用いたレコーダのプリプログラミングの実行を示すフローチャートである。
【図26】プログラムのチャネル、日付、時刻、および長さに係わる情報を10進圧縮コードへ符号化するプロセスを示すフローチャートである。
【図27】10進圧縮コードをプログラムのチャネル、日付、時刻、および長さに係わる情報へ復号するプロセスを示すフローチャートである。
【図28】割り当てチャネル番号/ローカルチャネル番号テーブルの実施例を示す図である。
【図29】Gコードデコーダを具備したテレビジョンを含むシステムのブロック図である。
【図30】Gコードデコーダを具備したテレビジョンを示す図である。
【図31】Gコード復号機能を有するテレビジョンのGコードデコーダ装置を示す図である。
【図32】Gコードデコーダを具備したテレビジョン、VCR、ケーブルボックス、および衛星受信機を含むシステムのブロック図である。
【図33】Gコードデコーダを具備したVCR、テレビジョン、ケーブルボックス、および衛星受信機を含むシステムのブロック図である。
【図34】Gコードデコーダを具備したケーブルボックス、テレビジョン、VCR、および衛星受信機を含むシステムのブロック図である。
【図35】Gコードデコーダを具備した衛星受信機、テレビジョン、VCR、およびケーブルボックスを含むシステムのブロック図である。
【図36】赤外線送信機を正面パネルの後に具備し、これによってケーブルボックスの赤外線受信機と反射を介して交信を行うようになされたVCRの上に置かれたケーブルボックスを示す透視図である。
【図37】赤外線送信機をVCR上部の赤外線ドーム内に具備しこれによってケーブルボックスの赤外線受信機と交信を行うようになされたVCRの上に置かれたケーブルボックスを示す透視図である。
【図38】VCRにケーブルを介して接続されたマウスの内部に赤外線送信機を具備しており、そのマウスをケーブルボックスの近傍に配置するようになした、VCRを示す透視図である。
【図39】VCRにケーブルを介して接続されたミニマウスの内部に赤外線送信機を具備しており、そのミニマウスをケーブルボックスの赤外線受信機の近傍に貼り付けるようになした、VCRを示す透視図である。
【図40】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラムを行う第2の装置を示す透視図である。
【図41】図41の装置の底面図であり、マイクロホン開口と2つの電気的コンタクトホールとを示す図である。
【図42】図40の装置が電話と接続されて使用されている状態を示す図である。
【図43】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラミングを行うための第2の装置を示す図である。
【図44】本発明の好適な実施例による、圧縮コードを用いてレコーダのプリプログラミングを行うための第2の装置の変形例を示す図である。
【図45】本発明の好適な実施例による、メモリを具備したリモートコントロールのプログラミングを行うための装置の透視図である。
【図46】装置のカバーをヒンジによって開いた状態を示した透視図である。
【図47】図45の装置の背面図であり、電話およびコンピュータへの入出力ポートを示したものである。
【図48】図15の装置の底面図であり、電気接触アクセスホールを示したものである。
【図49】図15の装置と結合された状態の図45の装置を示す透視図である。
【図50】図40の装置と結合された状態の図45の装置を示す透視図である。
【図51】本発明の好適な実施例による、メモリを具備したリモートコントロールをプログラミングするための装置を示す図である。
【図52】本発明の好適な実施例によるメモリを具備したリモートコントロールをプログラミングするための装置と、パーソナルコンピュータとの電気的な接続を示す図である。
【図53】本発明の好適な実施例によるレコーダ予約のために圧縮符号を使用可能のユニバーサル遠隔制御装置の全体斜視図である。
【図54】図53の装置の正面図である。
【図55】マイク開口部及び電気接触アクセス穴を示す、図53の装置の側面図である。
【図56】図53の装置の背面図である。
【図57】電気接触アクセス穴を示す図53の装置の裏面図である。
【図58】図53の装置の一実施例のブロック図である。
【図59】図53の装置の他の実施例のブロック図である。
【図60】電話ラインで図53の装置を遠隔操作で予約する処理のフローチャートである。
【図61】装置の背面でコーヒーテーブルに直立位置にある図53の装置を示す。
【図62】図53の線7−7に沿った断面図である。
【図63】図53の線8−8に沿った断面図である。
【図64】図53の線9−9に沿った断面図である。
【図65】図53の遠隔制御装置の他の実施例の斜視図である。
【図66】図65の遠隔制御装置の上面図である。
【図67】図65の遠隔制御装置の側面図である。
【図68】図65の遠隔制御装置の正面図である。
【図69】図65の遠隔制御装置の背面図である。
【図70】図65の遠隔制御装置の底面図である。
【図71】図53の遠隔制御装置の第二の他の実施例の斜視図である。
【図72】図71の遠隔制御装置の上面図である。
【図73】図71の遠隔制御装置の側面図である。
【図74】図71の遠隔制御装置の背面図である。
【図75】図71の遠隔制御装置の正面図である。
【図76】図71の遠隔制御装置の底面図である。
【図77】好適な実施例による、遠隔地点から、遠隔制御装置を通じて、他の装置を制御可能なビデオレコーダに対して初期設定データをダウンロードするためのシステムのブロック図である。
【図78】好適な実施例による、遠隔地点から、遠隔制御装置を通じて、ビデオレコーダに初期設定データをダウンロードするための方法のフローチャートである。
【図79】図77で示されているシステムの他の実施例のブロック図である。
【図80】図77で示されているシステムの他の実施例のブロック図である。
【図81】図77で示されているシステムの他の実施例のブロック図である。
【図82】ビデオレコーダ及びチャンネルセレクタの制御のために、テレビ番組データを、電話でダウンロード可能なプログラマへダウンロードするためのシステムの図である。
【図83】図82で示されたシステムの動作を説明するフローチャートである。
【発明を実施するための形態】
【0018】
さて、図面、すなわち図1を参照する。この図1は、本発明による、符号化されたビデオタイマ録画再生予約情報を用いるための装置10を示したものである。この装置の主要な構成要素は、リモートコントローラ12とGコードデコーダを具備したビデオカセット録画再生装置14であり、このGコードデコーダを具備したビデオカセット録画再生装置14は、リモートコントローラ12によってコマンド信号16を介して制御できるようになされている。リモートコントローラ12には、数値キー20、Gコードスイッチ22、ファンクションキー24、プログラムキー26、電源キー27などのキーを含め、多数のキーが備えられている。またリモートコントローラ12は、各キーが押されたときに、そのキーの解釈を行い、これに対応する所定のコマンド信号16を赤外発光ダイオード28を介してVCRに送るための手段を有している。図1のリモートコントローラ12は、Gコードスイッチ22を除けば、他のリモートコントローラと機能的に同じものである。Gコードスイッチ22は、Gコードを用いているときにユーザがリモートコントローラ12をGコードモードにロックできるようにするために備えられているものである。なおここで、Gコードというのは、タイマー予約を行うためのCDTL情報を圧縮コードにコード化したものである。
【0019】
このGコードは特定の番組と関連づけられた1から7桁からなるコードによって構成される。ただし、必要があればもっと桁数を増やすことも可能である。従来のように、実際の情報すなわち、チャネル、日付、時刻、長さ(CDTL)に関するコマンドを入力していくやり方を用いる代わりに、ユーザは、番組案内表の中からGコードを見つけ出し、このGコードをリモートコントローラ12に入力するだけで番組予約ができる。
【0020】
従来のオンスクリーンプログラムによって数値を直接に入力する方法と比較してみると、このGコードの利点をよく理解することができる。オンスクリーンプログラムでは、およそ18回のキー操作が必要であり、このキー操作によってCDTL情報を入力する際、ユーザは、TV画面を見てからリモートコントローラを見、またTV画面を見てというように何度も視線を切り換えなければならない。このような状況は、電話帳を見ながら18桁の電話番組をダイアルしなければならない状況に例えることができる。視線を何度も切り換えながら多数のキーを押さなければならないことは、間違ったキーを押してしまう可能性を大きくする。録画予約を行うためにオンスクリーンによってCDTL情報を入力する典型的な一連のキー操作は以下のようなものである。
〔PROG〕〔2〕〔1〕〔15〕〔07〕〔30〕〔2〕〔08〕〔00〕〔2〕〔04〕〔PROG〕
まず最初に、〔PROG〕キー26を押して予約モードに入る。次に、数値キー20を押していく。〔2〕は、時刻設定ではなく、タイマー録画であることを意味するものである。〔1〕はユーザがプログラム番号1に対する設定入力をこれから行うことを意味する。〔15〕は日付である。〔07〕は開始時間である。〔30〕は開始時間の次に付される分の値を表している。〔2〕は午後であることを意味する。続く〔08〕〔00〕〔2〕は停止時刻を意味している。〔04〕はチャネル番号である。最後に〔PROG〕がもう一度押されて予約モードから脱出する。
【0021】
このようなコマンドは、コード化することができる。Gコードを用いた典型的な入力では、以下のようになる。〔PROG〕〔1138〕〔PROG〕なお、コマンドがGコードであることの識別を行うために、Gコードスイッチ22は「オン」の位置に設定しておく必要がある。スイッチを設ける代わりに、独立したキー〔G〕を用いるようにすることもできる。この場合には、Gコード予約のためのキー操作は〔G〕〔1138〕〔PROG〕となる。
【0022】
なお、Gコードの使用は、入力したプログラム情報を「オンスクリーン」によって確認することを妨げるものでは決してない。Gコードスイッチが「オン」の位置で、キー操作によって〔PROG〕1138〔PROG〕が入力されると、このGコードは解読されてテレビ画面に次のようなメッセージが表示される。
プログラム 日付 開始時刻 終了時刻 チャネル
1138 15 7:30PM 8:00PM 4
【0023】
Gコードを利用するためには、Gコードを解読することが必要であり、そのための装置が備えられていることが必要である。図1は、リモートコントローラ12と組み合わせて用いるためのGコードデコーダ付きビデオカセット録画再生装置14を示したものである。リモートコントローラ12から送られたコマンド信号16はフォトダイオード32によって検出され、さらにコマンド信号受信器30によって電気的信号に変換される。この電気的信号はコマンドコントローラ36に送られ、ここで、コマンドが解釈されてこのコマンドに対してどのような応答をすべきかが決定される。また、図1に示されているように、コマンドコントローラ36は、通常のVCRに組み込まれているマニュアルコントロール機能によるコマンドも受け付けることができるようになされている。コマンドコントローラ36は、Gコードが送られてきたことを検知すると、そのGコードを解読のためにGコードデコーダ38に送る。Gコードデコーダ38はGコードをCDTL情報に変換する。この変換されたCDTL情報に基づいて、コマンドコントローラ36は時刻/チャネルプログラミング装置40の設定を行う。VCRにはクロック42が組み込まれている。このクロックは日付と時刻とを追尾するために通常のVCRに組み込まれているものと同じである。このクロック42は、主に時刻/チャネルプログラミング装置40とGコードデコーダ38の動作に用いられる。時刻/チャネルプログラミング装置40には、コマンドコントローラ36によってCDTL情報がセットアップされる。クロック42から所定の日付の所定の時刻になったことを読み取ると、時刻/チャネルプログラミング装置40は、録画再生装置44を「オン」にして録画を行わせる。同時に、チューナ46をテレビジョン信号18の所定のチャネルに同調させる。後で、ユーザは、録画再生装置44を再生モードにし、テレビジョンモータ48を介して録画した番組を見ることができる。
【0024】
録画装置を制御する他の方法として、時刻/チャネルプログラミング装置40に情報を送る代わりに、コマンドコントローラ36自身にすべてのCDTL情報を保持させるようにしてもよい。また、コマンドコントローラはクロック42を定期的に読み取ることによって、常に時刻を監視している。コマンドコントローラは時刻/チャネルプログラミング装置40にコマンドを送って、録画装置とチューナ46とのオン・オフを行わせて、CDTL情報に合致する所定の時刻にチューナ46が所定のチャネルに同調するようになす。
【0025】
また、クロック42はGコードデコーダ38にも入力される。このようにすると、Gコードの解読をクロックの関数として行うようにすることができる。これによって解読技術に対する機密保持手段が得られ、容易にコピーすることができないようにすることができる。このようなことができるには、当然のことであるが、符号化もクロックの関数として行われていることが必要である。
【0026】
図2は、コマンドコントローラ36およびGコードデコーダ38について、具体例を示したものである。コマンドコントローラ36の機能は、マイクロプロセッサ50、ランダムアクセスメモリ52、およびプログラムの記憶に用いるためのリードオンリーメモリ54とを用いて実現することができる。入出力部56は、コマンド信号受信器30、マニュアルコントロール機構34、およびクロック42からコマンドを受信し、また、信号を表示部35、クロック42、および時刻/チャネルプログラミング装置40に対して送ることができるようになされている。マイクロプロセッサ50は、Gコードの受信が行われたことを検知すると、そのGコードをマイクロコントローラ60に送って解読を行う。マイクロコントローラ60には、プログラムとテーブルを記憶するためのランダムアクセスメモリ62とリードオンリーメモリ64とが内蔵されている。また、マイクロプロセッサ50およびマイクロコントローラ60のどちらもクロック42を読み取ることが可能なようになされている。
【0027】
マイクロコントローラ60にGコードの解読を行わせる代わりに、Gコード解読機能を、リードオンリーメモリ54に記憶されるプログラム中に直接に含ませてしまうことも可能である。この場合には、マイクロコントローラは不要となる。また、他のハードウェアを用いてGコードの解読を行わせるようにすることも当然可能である。どのような方法を採用するかは、主に経済的な基準で決まる。
【0028】
図1および図2中に示されている各ブロックは、当該技術としてよく知られているものであり、例えばフィールズによる特許第4,481,412、ショルツによる特許第4,519,003、ブルグリーラによる特許第4,631,601に開示されている。例えば、クロック42は、ショルツの特許中の要素7に相当するものであり、またブルグリーラの特許では要素17に相当する。さらに他の構成要素の対応を示せば以下のようになる。すなわち、コマンド信号受信器30は、ショルツの14およびブルグリーラの12に;チューナ46は、ショルツの6およびブルグリーラの10に;時刻/チャネルプログラミング装置40はショルツの8、11およびブルグリーラの16に;録画再生装置44は、ショルツの1、2、4に;コマンドコントローラ36はショルツの11、10およびブルグリーラの12に;マイクロプロセッサ50は、フィールズの27に;RAM52は、フィールズの34に、ROM54はフィールズの33に;マニュアルコントロール34は、ショルツの15、16に;リモートコントローラ12はショルツの26、ブルグリーラの18に対応している。
【0029】
図3は、本発明の他の実施例を示したものである。図3に示した実施例では、リモートコントローラはGコードデコーダ80を内蔵している。このGコードデコーダ80を内蔵したリモートコントローラはGコードデコーダ82を付加していることを除けば、リモートコントローラ12と非常によく似たものである。なお、リモートコントローラには、表示部84が備えられているが、この表示部84は、他の任意のリモートコントローラにも付加させることが可能なものであることを付言しておこう。このGコードデコーダ80を内蔵したリモートコントローラは、Gコードデコーダを内蔵していない通常のビデオカセット録画再生装置70と組合せて用いることが可能である。ビデオカセット録画再生装置70は、Gコードデコーダ38がないことを除けば、上記のGコードデコーダ付きビデオカセット録画再生装置14と同様の構成要素からなっている。この好適な実施例は、既存のVCRと組み合わせて用いることが可能であるという利点を有している。これらの既存のVCRにはGコード解読機能が備えられていない。既存のVCRのリモートコントローラをGコードデコーダを内蔵したリモートコントローラと置き換えることによって、比較的安い出費でそのタイマー予約の機能を非常に大きく改良することができる。
【0030】
図4は、Gコードデコーダ80内蔵リモートコントローラ中に内蔵するGコードデコーダ82の具体例を示したものである。先の場合と同様に、マイクロコントローラ60によってGコードの解読がなされ、また、表示部84、クロック85、キーパッド88、および発光ダイオード28とのインタフェース部が設けられている。あるいは、他のハードウェアを用いてGコード解読を行わせるようにすることも可能である。リモートコントローラ80には、クロック85が備えられており、Gコードデコーダ82が、その入力の1つとしてクロック85をもつことができるようになされている。これによって、Gコードの解読をクロック85の関数として行うことが可能となり、こうすることによって、解読技術の機密保持対策ができ、容易にはコピーができないようにすることが可能となる。このGコードデコーダを内蔵したリモートコントローラは上記のように、チャネル、日付、時刻、長さに関する情報をビデオカセット録画再生装置70に対して送り、ビデオカセット録画再生装置70は、このCDTL情報に基づいて、指定された所定のチャネルにチューニングを行い、所定の開始時刻に録画を開始し、所定の終了時刻に録画を停止させる。ビデオカセット録画再生装置は、ブランド、モデルごとに、チャネル番号や録画開始終了時刻などの各情報を送るのに割り当てられた赤外パルスが異なっている場合があり、リモートコントローラは各ビデオカセット録画再生装置に合わせて特有のものとする必要がある。各キーの種類ごとに割り当てられた特定の赤外パルスは、特定のリモートコントローラのボキャブラリと呼ぶことができる。また、モデルによって、用いられるプロトコル、すなわちタイマー予約設定などの機能を実現するために押すキーの順序が異なっている場合もある。このプロトコルあるいは機能を実現するためのキーの順序は、センテンス構造と呼ぶことができる。各モデルごとに異なる固有のリモートコントローラを必要としている場合には、対応する所定のボキャブラリとセンテンス構造とをリモートコントローラに直接に組み込むようにすることができる。
【0031】
Gコードデコーダを内蔵したリモートコントローラから、チャネル、日付、時刻、および長さに関する情報をビデオカセット録画再生装置70に送信するための他の方法として、Gコードデコーダ内蔵リモートコントローラにさらにいろいろな動作をさせるようにすると、既存のビデオカセット録画再生装置とのインタフェースの問題を簡単化することができる。具体的には、リモートコントローラがGコードをCDTLに単に解読するだけでなく、クロック85を介して時刻を常に監視するようにすると、リモートコントローラがチャネル、録画開始、録画停止に関するコマンドそのものをビデオカセット録画再生装置に対して送るようにすることが可能となる。この場合、通常は、チャネルコマンドと開始終了コマンドの2つが必要な基本的なコマンドであり、プロトコルすなわちセンテンス構造に複雑なものは何もない。従って、この場合には、ビデオカセット録画再生装置のいろいろなモデルと交信するのに、リモートコントローラ内に図4に示したROM64のようなメモリを設け、このメモリに、すべてのモデルに対して、あるいはその大部分を包含する部分集合に対するプロトコルを記憶するようにするだけでよい。Gコードが先の場合と同様に、リモートコントローラに入力されると、これがチャネル、日付、時刻、および長さに関する情報に翻訳されて、リモートコントローラに記憶される。クロック85を介して時刻を監視し、所定の時刻が到来すると、リモートコントローラは自動的にコマンドをVCR装置に送り、チャネルを所定のチャネルに合わさせて、録画を開始あるいは停止させる。各ビデオカセット録画再生装置モデルのボキャブラリを記憶するには、およそ15のキーがあればよく、1つのキーごとに単に2バイトが必要なだけである。従って、50種類のモデルをカバーするために、リモートコントローラが必要とするメモリはたったの30×50=1500バイトである。リモートコントローラから送られてくる赤外信号をVCR装置が正しく受信できるようにするため、場合によっては、リモートコントローラをVCR装置に対して適切な位置に置かねばならないことがある。
【0032】
他の好適な実施例によって、Gコードデコーダを内蔵した汎用のリモートコントローラ90が提供される。汎用リモートコントローラを用いて、非常に多数存在する異なるリモートコントローラを模擬できる。このようにすることによって、ユーザが所有せねばならないリモートコントローラの数を低減することができる。これは図5に示したように、リモートコントローラに学習機能キー94を付加することによって実現される。この学習機能キー94が他のキーと一緒にされると、リモートコントローラは学習モードに入る。学習しようとしている相手のリモートコントローラから到来する赤外パルスをフォトダイオード96によって検出し、これをフィルターに通して認識可能なビットパターンに波形整形を行う。マイクロコントローラは、このビットパターンをバッテリバックアップされたスタティックRAMに、その特定のキーに付随する固有IRパルスパターンとして記憶させる。これを、すべてのキーに対して個々に行う。
【0033】
もっと複雑な学習の例は以下のようなものである。もしも、Gコードスイッチが「オン」となっているときに、プログラムキー26といっしょに学習機能キー94が押された場合には、リモートコントローラは特定のVCRに対し、あらかじめ定められた特定の例についてタイマープログラムの連続キー操作がこれから行われようとしているものと解釈する。次に、ユーザが一連のキー操作を行うと、汎用リモートコントローラ90はこれからそのタイマープログラムシーケンスのプロトコルを推論し、これを記憶する。このようにしなければならないのは、VCRの機種によっては、そのタイマープログラムコマンドのフォーマットが異なるからである。
【0034】
もし、学習機能キー94が押されずに、どれかのキーが押された場合には、マイクロコントローラは実行モードであるものと認識する。もし、そのキーが指示コマンドキーの1つである場合には、マイクロコントローラはスタティックRAMから記憶されているパルス列を読み出して、パラレル出力I/Oを介してコマンドワードを送出し、さらに出力用発光ダイオード28からパルスを送出する。
【0035】
Gコードスイッチが「オフ」となっている状態のときに、〔PROG〕キーが押された場合には、マイクロコントローラは、次いで押される一連のキーのうちもう一度〔PROG〕が押されるまでのキーがタイマー録画予約CDTLコマンドであるものと解釈し、これを発光ダイオード28から送出する。Gコードスイッチ22が「オン」に設定されている状態でプログラムキー26が押されると、マイクロコントローラは次いで押される一連のキーのうちもう一度〔PROG〕が押されるまでのキーをタイマー録画予約のためのGコードコマンドであるものと解釈する。マイクロコントローラは、Gコードをチャネル、日付、開始時刻、および長さ(CDTL)に翻訳し、スタティックRAMの「辞書」中から関連する赤外パルスパターンを見つけ出し、これらを互いに連結してから出力パラレルI/Oから送り出す。さらに、すべてのメッセージが1つの連続したストリームの形で発光ダイオード28からVCRに送られる。
【0036】
図4は、Gコードデコーダ90内蔵型汎用リモートコントローラ中に内蔵させるためのGコードデコーダの具体例を示したものである。先の場合と同様に、マイクロコントローラ60によってGコードの解読がなされ、また、発光ダイオード28を含む入出力機能部のインタフェース処理がなされる。あるいは、Gコードの解読を他のハードウェアを用いて実行させるようにすることも可能である。
【0037】
また、汎用型リモートコントローラを別の用い方をして、既存のビデオカセット録画再生装置とのインタフェースを簡単に取ることもできる。具体的には、汎用型リモートコントローラがGコードをCDTLに単に解読するだけでなく、図4に示したクロック85を介して時刻を常に監視するようにすると、汎用型リモートコントローラがチャネル、録画開始、録画停止に関するコマンドそのものをビデオカセット録画再生装置に対して送るようにすることが可能となる。すでに説明したように、この場合、通常は基本的な1キーコマンドであり、プロトコルすなわちセンテンス構造に複雑なものは何もない。こうして、単に、汎用リモートコントローラに代替えさせようとしているリモートコントローラの各キーを学習させるだけで、非常に多岐にわたるいろいろなビデオカセット録画再生装置のモデルとの交信ができるようになる。Gコードが先の場合と同様に、汎用型リモートコントローラに入力されると、これがチャネル、日付、時刻、および長さに関する情報に翻訳されて、汎用型リモートコントローラに記憶される。クロック85を介して時刻が監視され、所定の時刻が到来すると、汎用型リモートコントローラは自動的にコマンドをVCR装置に送り、チャネルを所定のチャネルに合わさせて、録画を開始あるいは停止させる。ただし、汎用型リモートコントローラから送られてくる赤外信号をVCR装置がうまく受信できるようにするため、汎用型リモートコントローラをVCR装置に対して適切な位置に置くようにする。
【0038】
Gコードの解読方法についてはいろいろなやり方がある。最も明白は方法は、大きなルックアップテーブルを用意することである。この場合、Gコードがインデックスとなる。しかし、不幸なことに、この方法は非常に効率が悪く、多大のメモリを必要とするために高価なデコーダとなってしまう。必要な全メモリ容量は、組合せの総数の関数である。もし、128チャネル、1ケ月31日分のプログラム設定を、1日24時間につき正時あるいは半時に開始される48番組について行えるようにし、かつ、長さを30分きざみで16種類の設定が可能なようにするものとすると、総組合せ数は、128×31×48×16=3,047,424となる。この組合せ数は7桁の数として表せる。従って、テーブルのアドレスは7桁の数で表せることとなる。ルックアップテーブルは、具体的なプロトコルにも依存するが、最悪の場合、4,000,000行で15あるいは16桁列を有する。これらの桁列は、「オンスクリーンプログラム」におけるCDTL情報に対応するものである。各桁は、4ビットの2進数で表される。従って、ルックアップテーブルに必要となるメモリ容量はおよそ4,000,000×16×4=256,000,000ビットとなる。最新技術によるメモリの容量は1チップあたり約1メガビットである。従って、Gコードの解読のために単純なルックアップテーブルを用いようとすると許容範囲を超えて高価となる数だけのチップを用いなければならない。
【0039】
幸いなことに、Gコードの解読を行うもっとずっと賢い方法がある。図6は、好適なGコード解読技術のフローチャートを示したものである。Gコード解読について容易に理解できるように、図7のフローチャートを参照しながら、まずGコード符号化について説明し、その後で、Gコード解読技術、すなわち、Gコード符号化の逆変換について説明することとする。
【0040】
Gコード符号化は、任意のコンピュータ上で行うことが可能であり、この符号化は、Gコードを含む番組案内を作成する前に行われる作業である。ステップ142において、番組案内に印刷される各番組に対して、チャネル、日付、時刻、および長さ(CDTL)コード144を入力する。ステップ146において、チャネル、日付、時刻、および長さに対し、それぞれの優先順位を優先順位ベクトル記憶122から読み出す。なお、この優先順位ベクトル記憶はリードオンリーメモリ64中に記憶させるようにできる。優先順位ベクトル記憶122には、4つのテーブルが含まれている。すなわち、優先順位ベクトルCテーブル、優先順位ベクトルDテーブル126、優先順位ベクトルTテーブル128、それに優先順位ベクトルLテーブル130である。
【0041】
チャネル優先順位テーブルにおける順位は、最も頻繁に用いられるチャネルの順位数が小さな数値となるように定められる。優先順位ベクトルCテーブル124のデータの例を以下に示す。
チャネル 4 7 2 3 5 6 11 13・・・・・・
優先順位 0 1 2 3 4 5 6 7・・・・・・
【0042】
一般に、月の中の日付は等しい優先順位を有する。従って、若い日付が小さな優先順位数を有するようにするものとすると、優先順位ベクトルDテーブルは例えば次のようになる。
日付 1 2 3 4 5 6 7 8・・・・・・
優先順位 0 1 2 3 4 5 6 7・・・・・・
【0043】
開始時刻についての優先順位は、ゴーデンアワーには、小さな数値の優先順位を与え、逆に夜間のデッド時間帯の番組には大きな数値の優先順位を与えるようにする。優先順位ベクトルTテーブルの例は以下のようなものである。
時刻 6:30pm 7:00pm 8:00pm 7:30pm・・・・・・
優先順位 0 1 2 3・・・・・・
【0044】
優先順位ベクトルLテーブル130のデータの例は次のようなものである。
番組長さ(時間) 0.5 1.0 2.0 1.5 3.0・・・・・・
優先順位 0 1 2 3 4・・・・・・
【0045】
仮に、チャネル、日付、時刻、長さ(CDTL)144のデータが5、10、19、00、1.5であったとすると、このデータは、チャネルが5であり、日付が10日であり、開始時刻が7:00PMであり、長さが1.5時間であることを示している。この場合のCp、Dp、Tp、Lpデータは148となる。この数値は以下のようにして得られる。まずチャネル、日付、時刻、および長さについての優先順位を図7の優先順位テーブル124、126、128、130から見つけ出すと、4、9、1、3である。次にステップ150において、Cp、Dp、Tp、Lpデータを2進数に変換する。この変換においてはそれぞれの2進数を表すのに必要なビット数は、含まれる組合せ数によって決まる。例えば、Cpに対して7ビットを用いることとして、CpをC7654321で表すこととすると、この7ビットによって128のチャネルを表すことが可能である。Dpに対して5ビットを割り当てると、Dpは、D54321のように表すことができ、これによって1ケ月31日分の日付を表現できる。Tpに対しては6ビットを割り当てることとすると、Tpは、T654321のように表すことができ、これによって1日24時間を30分刻みで区切ったときの48の開始時刻を表すことができる。また、長さに対しては4ビットを割り当てることとすると、L4321のように表すことができ、これによって30分を刻み幅としたときの8時間までの長さを表すことができる。これら総てで、結局7+5+6+4=22ビットの情報を表すことができ、これは、222=4,194,304の組合せ数に相当する。
【0046】
次のステップは、ビット階層キー120を用いることである。このビット階層キー120は22ビットを並べ換えてリードオンリーメモリ64に記憶しておくようにできる。ビット階層キー120としては、22ビットの任意の並びを採用できる。ビット階層キーの例をあげれば、例えば次のようなものである。
83 ・・・・・・T2211154321
21 22 10 9 8 7 6 5 4 3 2 1
【0047】
このビット階層キーは、タイマー番組予約を最も多く行う可能性のある分野の番組に対して小さな優先順位数が与えられるように順序づけるようにするのが理想的である。このようにすれば、最も人気の高い番組を少ないキー操作回数で番組予約することが可能となる。日付についての優先順位は等しいので、D54321のビットを最初にもってくる。次にT111が用いられる。その理由は、どのような日付であるにせよ、必ず時刻、チャネル、長さとを有しているはずであり、優先順位ベクトル記憶122内の優先順位ベクトルの順序によればT111はいずれも最も確率が高いからである。階層キーの次のビットは、いろいろな組合せの微分確率によって決定される。この計算を行うためには、チャネル、時刻、および長さのすべてについてその確率を知っている必要がある。
【0048】
例えば、チャネルについての確率の例は次のようなものである。
チャネル 4 7 2 3 5 6 11 13・・・・・・
優先順位 0 1 2 3 4 5 6 7・・・・・・
確率(%) 5 4.3 4 3 2.9 2.1 2 1.8・・・
【0049】
時刻についての確率は例えば次のようなものである。
時刻 6:30pm 7:00pm 8:00pm 7:30pm・・・・・・
優先順位 0 1 2 3・・・・・・
確率(%) 8 7.8 6 5・・・・・・
【0050】
そして、長さに関する確率の例は次のようである。
番組長さ(時間) 0.5 1.0 2.0 1.5 3.0・・・・・・
優先順位 0 1 2 3 4・・・・・・
確率(%) 50 20 15 5 4
【0051】
先に述べたように、各チャネル、時刻、長さに関するこれらの確率を用いて適切な順序決めがなされる。優先順位ベクトルテーブルは最も人気の高いチャネル、時刻、長さに基づいて配列順序がすでに定められているので、ある1つのテーブルでの異なる2進数、例えば異なるC7654321ビットでの選択順序はすでにわかっている。C1のビットがまず最初に選択される。とういのは、最下位のビットは、チャネル優先順位テーブルの最初の2つのエントリのどちらかから選ばれるからである。次にC2ビットが選択され、以下同様にして選択されていく。同様にして、T1ビットおよびL1ビットはその他の時刻および長さのビットよりも前に用いられる。C111ビットとD54321ビットとを組み合わせたものを最初に用いるようにする必要がある。この組み合わせによって、チャネル、日付、時刻、および長さのすべての情報を与えることができる。日付ビットはすべて優先順位が同じであるので、D54321ビットはすべてを必ず用いるようにする必要があり、仮にどれかのビットがゼロである場合でも、すべての桁数の値をきちんと明示する必要がある。
【0052】
この段階では、ビット階層キーは例えば以下のようなものである。
11154321
【0053】
最初のチャネル2進ビットC1はそれだけで21=2のチャネルを選択することができ、この最初の2つのチャネルの確率はそれぞれ5%および4.3%である。従って、C1の微分確率は9.3である。同様にして、T1の微分確率は8+7.8=15.8であり、また、L1の微分確率は50+20=70である。ビット階層キーの順序付けの規則を厳格に守ると、ビット階層キーの最初の8ビットは以下のように並んでいなければならない。
11154321
【0054】
その理由は、L1が最も大きな微分優先順位を有しており、従って、これをD5に次ぐ上位のビットとし、さらにこれに次ぐ上位のビットとしてT1、そしてさらにC1というように並べるべきだからである。ここで注意すべきことは、ビット階層キーは、最下位ビットD1で開始され、次いで、最も大きな微分確率ビットで埋められていくことである。これは、人気番組を最もコンパクトなコードで構成できるようにするためである。
【0055】
この段階での符号化処理における問題は、階層キーのT222のうちでどれを次に最も最上位とすべきであろうかということである。これも微分確率によって定められ、各ビットについて上記テーブルから算出することができる。我々は2進ビットを取り扱っているので、C1とC2とを組み合わせた場合には、22=4だけのチャネル、すなわち、C1単独の場合よりも2つ多いチャネル数を選択することができる。従って、C2に対する微分確率は、これら2つのチャネルの和の和確率となり、今の例の場合では4+3=7となる。同様にして、C1とC2とにさらにC3とを組み合わせると、23=8のチャネル数、すなわちC1とC2とを組み合わせた場合よりもさらに4=2(3-1)だけ多いチャネル数を選択することができる。従って、C3に対する微分確率は、これら4つのチャネルの和の和確率となり、今の例の場合では2.9+2.1+2+1.8=8.8となる。同様にして、T2およびL2の微分確率を計算することができ、それぞれ、6+5=11および15+5=20となる。すべての微分確率が求まったので、次にすべきステップは、どのビット同志を組み合わせたときの確率が大きくなるかを求めることである。
【0056】
上記の例の場合に対して、C11に対してT2を組み合わせる場合、T11に対してC2を組み合わせる場合、T11に対してL2を組み合わせる場合のいずれが確率が大きくなるかを求めよう。これによってキーの次のビットが定まる。すなわち、11×9.3×70=7161;7×15.8×70=7742;20×15.8×9.3=2938.8のうちのどれが最大確率であろうか。この場合の最大確率は、T11にC2を組み合わせた場合の7×15.8×70=7742が最大である。そこで、ビット階層キーの次のビットとして、C2を選択することとなる。
【0057】
さらに次のビットも同様の方法で選択することができる。T11とC3との組み合わせ、C1またはC2とL1にさらにT2との組み合わせ、C1あるいはC2とT1にさらにL2とを組み合わせた場合のうちのいずれが確率が大きいであろうか。
【0058】
すなわち、この例の場合では、8.8×15.8×70=9732.8;11×(9.3+7)×70=12551;20×(9.3+7)×15.8=5150.8のうちの最大確率がいずれであろうかという問題となる。この場合には、最大確率は、C1あるいはC2とL1にさらにT2とを組み合わせた場合の11×(9.3+7)×70=12551が最大確率である。従って階層キーの次のビットとしてはT2が選択される。この手順をすべての微分確率について繰り返して、すべてのキーを定める。
【0059】
あるいは、ビット階層キーは単に何らかの任意のビット列として与えるようにすることも可能である。また、優先順位ベクトル同士に相互依存性をもたせるようにすることも可能であり、例えば長さ優先順位ベクトルが異なるチャネルのグループに対して依存するようにしてもよい。さらに他の技術は、図7に示してあるように、ビット階層キー120および優先順位ベクトルテーブル122がクロック42の関数となるようにすることである。このようにすれば、キーをコピーすることが非常に困難となり、符号化技術を盗まれることがなくなる。
【0060】
例えば、ビット階層キー120のうちの日付ビットをクロックの関数としてスクランブルをかけてしまうことが可能である。クロックの関数としてビットの順序を入れ換えたとしても、それによって、最も人気のある番組の2進ビット数を低減させるというビット階層キーの有効性が変わるわけではない。その理由は、日付ビットがすべて同じ優先順位を有しているからである。これを最も簡単に行う方法は、D1ビットとD5ビットとを日を単位として、あるいは週を単位として定期的に入れ換えるようにすることである。こうしてビット階層キー120は、
・・・C11154321

・・・C11114325
とが入れ替わる。明らかなことであるが、ビット階層キーをクロックの関数として入れ替える方法はこの他にも可能である。
【0061】
優先順位ベクトルテーブルもクロックの関数としてスクランブルをかけるようにすることが可能である。例えば、優先順位チャネルテーブルの中の最初の2つのチャネルを単純に定期的に入れ替えるようにすることができる。この方法に従えば、図7の148のCpは、例えば
チャネル 4 7 2 3 5 6 11 13・・・
優先順位 0 1 2 3 4 5 6 7 8・・・
は、クロック42によって定期的に
チャネル 7 4 2 3 5 6 11 13・・・
優先順位 0 1 2 3 4 5 6 7 8・・・
と入れ替えられる。これは、かなり巧妙な機密保持技術であり、このようにすると、この方法によらない最初の2つのチャネルを用いたデコーダがうまく作動しなくなるようにできる。符号化技術に対する機密保持のためのクロックに対する依存性のもたせ方は、この他の方法も可能である。
【0062】
いずれにせよ、方法が定まったならば、ビット階層キー120を決定して記憶する。ステップ154において、CpDpTpLpの2進ビットがビット階層キー120に従って並び替えられて、1つの22ビットの2進数が生成される。このようにして得られた22ビット2進数は、2進数・10進数変換ステップ156において10進数に変換される。その結果Gコード158が得られる。
【0063】
優先順位ベクトルおよびビット階層キーが一般の視聴率傾向によく一致していれば、人気番組は、3桁あるいは4桁のGコードで表わされるはずである。
【0064】
以上、符号化方法にいついて説明したが、解読は、この符号化を単純に逆にすることで可能である。すなわち、図6のフローチャートに従って行うことができる。これは、VCR14の中のGコードデコーダ38、あるいは図3および図5のリモートコントローラGコードデコーダ82、92に組み込むのに好適なGコード解読方法である。
【0065】
最初のステップ102において、まずGコード104を入力する。次に、ステップ106においてGコード104が22ビットの2進数に変換される。さらにステップ108において、この2進数は、ビット階層キー120に従って並び替えられて、再配列ビット110が作成される。次いで、ステップ112において、この再配列ビットはグループにまとめられて10進数の形に変換される。この段階で、優先順位ベクトルテーブルの索引となっているデータCpDpTpLp114が得られる。上記の例では、この段階のデータは、ベクトル4 9 1 3 となる。次いで、ステップ116において、優先順位ベクト
ル記録の中から、このデータCpDpTpLp114に対応するチャネル、日付、時刻、および長さを探し出す。今の例の場合では、CDTL118は、5 10 19.001.5である。すなわち、チャネルが5であり、日付が10日、時刻が7:00PM、長さが1.5時間である。
【0066】
符号化がクロックの関数としてなされている場合には、解読もクロックの関数として行うことが必要である。ビット階層キー120および優先順位ベクトルテーブル122を図6に示したように、クロック42の関数となるようにすることが可能である。繰り返すが、このようにすることによって、キーをコピーすることが非常に困難になり、従って符号化方法が盗まれることがなくなる。あるいはまた、解読および符号化を他のあらかじめ定められた、あるいはあらかじめプログラムされたアルゴリズムに基づいて行うようにすることも可能である。
【0067】
上記のGコード符号化および解読方法は、好適な例として示したものであり、これ以外にもタイマー録画予約設定のためのキー操作回数を低減させるいろいろな方法があり得る。すなわち、この目的を達成するための、いろいろなGコード符号化および解読方法があり得る。また、単純にクロックに依存させて符号化および解読方法を変える方法に加えて、さらに機密を確保するためのいろいろな符号化および解読方法があり得る。すなわち、あらかじめ定められた、あるいはあらかじめプログラムされたアルゴリズムに基づいて機密保持を得るようにできる。
【0068】
また、2進数を用いる代わりに混合した底に基づく数形式を用いたGコード符号化および解読方法を採用することも可能である。例えば、チャネルがたったの35しかないものとすれば、この35のチャネルを2進数で表すには6桁が必要である。しかし、26=64であるから、6桁の2進数は実際には64チャネルを表すことが可能である。すなわち、この場合に2進数体系を用いたのでは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×71+6×50=34となるからである。混合底数体形を採用することの主な利点は階層キーを優先順位付けできることである。もし、最初の5チャネルがほぼ同等の優先順位を有し、また次の30チャネルガ互いにほぼ同等の優先順位を有する場合には、混合底数体形を用いると、これらを2層に分けて正確に表現することが可能である。ただし、だからといって、混合底数体系が常に好適なものであるというわけではない。2進数はコンピュータで表現するのがより簡単であるし、また、2進数のような固定底数体形を採用すれば、階層キーのピラミッド型の優先順位付けを容易に行うことが可能である。
【0069】
すべての実施例において有していることが望まれる他の機能は、あるプログラムのGコードをいったん設定すれば、これを毎日、あるいは毎週繰り返すことができる機能である。通常は、CDTL情報は一度用いられると廃棄される。しかし、同じ番組を毎日あるいは毎週、繰り返して録画する場合には、CDTL情報は取り消されるまで保持されて使用される。番組を毎日あるいは毎週繰り返すことは、ボタン〔毎週〕あるいはボタン〔毎日〕をリモートコントローラあるいはVCRのマニュアルコントロールに設けることで達成される。他の方法として、ある1つのキー、例えば〔PROG〕キーをある一定の時間の間に多数回、例えば2回押した場合には、毎日の録画を指定し、3回押した場合には毎週の録画を指定するという具合にするやり方がある。例えば、Gコードスイッチが「オン」の状態となっており、また、所望の番組のGコードが99であるとした場合に、この番組を毎日繰り返し録画するには以下のようなキー操作をすればよい。
【0070】
〔PROG〕〔99〕〔毎日〕〔PROG〕
あるいは
〔PROG〕〔99〕〔PROG〕〔PROG〕
このGコード99はCDTL情報に変換されて保存され、この例の場合では毎日使用されることとなる。録画は指定された日に開始され、その日から後は、同じチャネル・時刻・長さ情報が毎日使用される。これに些細な変更を加えることもできる。例えば、ほとんどの毎日録画番組は土曜日と日曜日には放送されないので、自動的に週末は録画を行わないようにする。
【0071】
いったん、毎日あるいは毎週録画が設定されると、この設定が無期限に用いられる。リモートコントローラあるいはVCRのマニュアルコントロールに〔取り消し〕ボタンが備えられている場合には、番組を取り消す1つの方法は(通常のCDTL、あるいは毎日録画、毎週録画のいずれの場合においても)以下のようなキー操作を行うことである。
〔PROG〕**〔取り消し〕
なお、上記の**はGコードを表している。なお、先の場合と同様に、この場合においても、これに代わる実現方法がいろいろとあり得る。
【0072】
もし、「オンスクリーンプログラム」機能が利用可能な場合には、タイマー録画予約設定を行った番組を画面上で確認することが可能である。毎日および毎週録画番組については、これが毎日あるいは毎週録画番組であることが表示されるようにできる。また、Gコードを対応するCDTL情報とともに表示することも可能である。このようにすれば、現在の「メニュー」を容易に見ることができ、所望の番組をさらにつけ加えたり、あるいは取り消したりすることが容易となる。
【0073】
図8は、本発明によるテレビジョンカレンダー200を示したものである。図示のように、このテレビジョンカレンダーは、複数の年月日表示覧202、複数の曜日覧204、複数の時刻覧206、チャネル識別記号覧208、番組名を含む番組内容記述覧210を有しており、これらが、一般のテレビ番組案内と同様な方法で並べられている。また、テレビジョンカレンダーには、各チャネル識別記号と関連して、チャネル、日付、時刻、および長さに関する情報を含む圧縮コード表示212あるいはGコードが記されている。図8を見れば、タイマー設定がいかに簡単にできるかがわかろう。ユーザがすべきことは、単に、所望の番組を見つけて圧縮コード表示覧に示されている圧縮コードを入力するだけである。
【0074】
この方法は、チャネル、日付、時刻、および長さについてすべてをそれぞれ単独に入力していく方法と比べて対照的である。テレビジョン番組案内には少なくとも、チャネル、日付、時刻が明記されている。長さについては、通常は1日の中の時刻を表す覧206を見て、次の番組が開始される時刻から長さを計算する必要がある。圧縮Gコードを用いれば、このような複雑なことをしなくともよい。
【0075】
ケーブルテレビジョン番組に、圧縮Gコードを用いることは、さらに有用である。通常のテレビ番組案内では、CDTL情報は、すべての通常放送チャネルに対して、例えば、4、7といった番号で表示されている。一方、ケーブルチャネルに対しては、ほとんどのテレビ番組案内では例えば、HBO,ESPNといったようにチャネル名で表示されている。この理由は、ロスアンジェルスなどのような都市圏においては、テレビジョン番組案内が1種類あるだけであるが、かなりの数のケーブル放送局がHBOあるいはESPNといった同じ名前でいろいろな異なるケーブルチャネル番号で放送しているためである。広域で配布されるテレビジョン番組案内において、Gコードなどの圧縮コードをケーブルチャネルに適用するには、以下のような手法が用いられる。
【0076】
まず、すべてのケーブルチャネルに対し、全国全体で有効な固有の番号を恒久的に割り当てる。例えば、ESPNをケーブルチャネル1に、HBOをケーブルチャネル2に、SHOをケーブルチャネル3といった具合に割り当てる。この割り当ては、必要があればテレビジョン案内に印刷してもよい。
【0077】
ビデオカセットレコーダ、例えば、リモートコントローラ、VCRユニット、あるいはこれらの両方に「セット」「ケーブルチャネル」の2つのモードを追加して備えておく。これらのモードに対するインタフェースをユーザに提供する1つの方法は、2つのボタン、すなわち、〔セット〕と〔ケーブルチャネル〕を追加することである。これらのボタンは、図1、3、あるいは5に示されているように、ビデオカセットレコーダユニット自身あるいはリモートコントローラに配置することができる。なお、図では、〔セット〕ボタンは要素168で、〔ケーブルチャネル〕ボタンは要素170で表されている。他の方法でユーザインタフェースを提供することももちろん可能である。
【0078】
次に、見たいと思うすべてのケーブルチャネルに対してVCRの「設定」手続きを一回だけ行う必要がある。この「設定」手続きを行うことによって、各ケーブルチャネルに割り当てられたそれぞれの番号がローカルケーブル局のチャネル番号に関連づけられる。以下の表に示したように、例えば、ESPNのローカルケーブル局がチャネル6を用いているのであれば、ケーブルチャネル番号1をESPNに対して割り当てられる。
【0079】
ケーブルチャネル名 割り当てチャネル番号 ローカル局チャネル番号
ESPN 1 6
HBO 2 24
SHO 3 23
・ ・ ・
・ ・ ・
・ ・ ・
DIS 8 25

ユーザは、自分のリモートコントローラから以下のようなボタン操作によって「設定」を行うことが可能である。
〔設定〕〔06〕〔ケーブルチャネル〕〔1〕〔PROG〕
〔設定〕〔24〕〔ケーブルチャネル〕〔2〕〔PROG〕
〔設定〕〔23〕〔ケーブルチャネル〕〔3〕〔PROG〕
〔設定〕〔25〕〔ケーブルチャネル〕〔8〕〔PROG〕
【0080】
この「設定」手順を行うことによって、ケーブルチャネルアドレステーブル162が作成されてコマンドコントローラ36のRAM52に記憶される。先の例の場合では、ケーブルチャネルアドレステーブル162は以下のような情報を含むこととなる。
【0081】
ケーブルチャネルアドレステーブル162
1 6
2 24
3 23
・ ・
・ ・
・ ・
8 25
【0082】
この「設定」手続きを行った後でも、ケーブルチャネル選択は従来と同じ方法で行うことができる。例えば、キーパッドボタンを押せばHBOを選択をすることができる。また、新しいやり方でも選択が可能となる。例えば、ケーブルチャネル番号2を押しても、HBOが選択できる。この新しい方法の利点は、テレビ番組案内の番組内容覧の隣に記されている「C2」から、直ちに割り当て番号を探すことができ、HBOがローカルケーブルチャネル番号24であることを覚えておく必要がないことである。〔ケーブルチャネル〕ボタンが押されると、コマンドコントローラ36は、ローカルケーブルチャネル番号をケーブルチャネルアドレステーブル162から探し出して、このチャネルにVCRを正しく合わせる。
【0083】
タイマー番組予約設定、および圧縮Gコードを用いるに当たって、通常放送とケーブルチャネルとを区別する1つの方法は、第8番目のビットを付加して通常放送に対してはこのビットを0にセットし、HBOなどのケーブルチャネルに対しては1にセットするようにすることである。この第8番目のビットは、8つのチャネルビットのうちの低位ビット、例えば第3番目のビットC3を用いるようにすることが可能である。このようにすると、通常放送であろうとあるいはケーブルチャネルであれ、人気チャネルを指定するために必要なビット数を最小にすることが可能となる。通常放送チャネルに対しては、他の7ビットに関する解読を優先順位ベクトルCテーブル124に従って行うことができる。ケーブルチャネルに対しては、他の7ビットの解読は、別途用意されてマイクロコントローラ36のROM54に保存されているケーブルチャネル優先順位ベクトルテーブル160に従って行うことができる。ケーブルチャネル優先順位ベクトルテーブルの設定は、全国に対し、あるいは少なくともテレビジョン番組案内が刊行されているある広域範囲に対してあらかじめ行っておくことができる。
【0084】
こうして、Gコードとして知られている圧縮コードが記載されるテレビ番組案内に、以下のようなケーブルチャネル情報を印刷する。
【0085】
6:30pm
〔C2〕 HBO **********(4679)
*** 番組内容 *******
*****************
HBOの前に〔C2〕と記載されているので、〔ケーブルチャネル〕2を押すだけで簡単にHBOを選択することができる。(4678)はこの特定の番組のGコード表示である。
【0086】
図8はテレビ番組案内の一部を示したものである。すべてのケーブルチャネルは、ニューモニック記号の前に記されているような、それぞれに割り当てられたケーブルチャネル番号188をもっている。ケーブルチャネル情報であるということを除けば、チャネルの圧縮Gコード212が付されて通常放送チャネルと同様な掲載の仕方がなされている。
【0087】
タイマー番組予約を行うには、単に数値4679を装置のGコード入力手順に従って、例えば〔PROG〕〔4679〕〔PROG〕のように入力するだけでよい。付加チャネルビットがGコードがケーブルチャネルに対するものであることを示す「1」となっているので、GコードデコーダユニットはこのGコードを、「ケーブルチャネル2」に復号して、図1および2に示されているようにケーブルチャネル信号164をコマンドコントローラ36に対して送る。先の「設定」手順の実行によってケーブルチャネル2はチャネル24と関係づけられているので、コマンドコントローラは、ケーブルチャネル信号を受信すると、ケーブルチャネルアドレステーブル162から2を探し出してケーブルチャネル24へ変換し、これを所定の時刻が到来したときの録画チャネルとして採用する。Gコードをローカルケーブルチャネル番号ではなしに、割り当てケーブルチャネル番号と関係づけるようにすることによって、1つの番組が別々のローカルケーブルチャネル番号が付された多数の異なるケーブル搬送波を用いて放送されている場合でも、その番組のGコードはどのローカル地域においても有効となる。
【0088】
図9および10は、ケーブルチャネル圧縮Gコード機能を含ませるための解読および符号化アルゴリズムを示したものである。まず、符号化について説明し、その後で解読について説明する。図10が図7と異なる主な点は、ケーブル優先順位ベクトルテーブル160が付加されており、ケーブルチャネルの符号化の際に優先順位ルックアップステップ180において用いられるということである。
【0089】
また、ケーブルチャネルの符号化が行われる際には、ステップ182のCpDpTpLpの2進数への変換ステップにおいてケーブルビットが所定のビット位置に付加される。先に説明したように、この付加ビットとして、ビットC3を用いることが可能である。先の場合と同様に、最も人気のある番組のビット数が圧縮されるように、ビット階層キーが定められる。なお、ケーブルチャネルビットを収容するには23ビットの長さが必要である。223=8,388,608であるから、最長の場合でも、圧縮Gコードの長さは7桁である。
【0090】
図9に示されているように、解読は符号化処理の単純な逆処理である。ステップ108に次いで、テストケーブルチャネルビット174が付加され、これによってケーブルチャネルビットが「1」であるかどうかが効率的に調べられる。もし、ケーブルチャネルビットが「1」である場合には、図1および2に示したケーブルチャネル信号164がコマンドコントローラ36に対して送られ、このケーブルチャネル信号164によって、Gコードデコーダ38から送られようとしているCDTL118がケーブルチャネル用に対するものであることが伝えられる。次に、コマンドコントローラは、割り当てケーブルチャネル番号に基づいて、ローカルケーブルキャリアチャネル番号のルックアップを行う。さらに、図9のステップ176において、ケーブルチャネル優先順位ベクトルテーブル160を含む優先順位ベクトルテーブルを用いて、CDTL118情報のルックアップが行われる。コマンドコントローラにケーブルチャネル番号164を送る他の方法は、割り当てケーブルチャネル番号のローカルケーブルキャリア番号への変換を含むすべての解読をGコードデコーダで行うようにすることである。図3に示したようなリモートコントローラが採用された場合に、このようになされる。図11は、このようなステップが含まれる場合の解読の全アルゴリズムを示したものである。なおこれは、割り当てチャネルをローカルケーブルキャリアチャネルに変換するステップ166が、付加されているだけであり、このステップでは、ケーブルチャネルビットが当該のコードがケーブルチャネルに対するものであることを指し示している場合に、ケーブルチャネルアドレステーブル162のルックアップが行われる。ステップ166は、実質的に図9のステップ174に置き換わるものである。
【0091】
議論すべき他の問題は、録画番組予約をすることが可能な番組の数についてであろう。Gコードを用いると番組の入力が非常に簡単にできるようになるので、ユーザは、すぐにやり方を覚えて、非常に多数の番組を入力しようとしがちである。しかし、既存のVCRは、8番組まで登録できるものも存在するが、機種によっては、たったの4番組までしか登録できないものもある。その結果、ユーザはVCRの番組登録可能数の制限に失望することとなる。
【0092】
この問題を解決する1つの手法は、圧縮Gコードの解読をリモートコントローラで行うようにすることとし、そこに多数の番組、例えば20あるいは40の番組を登録するのに充分なだけのメモリを設けるようにすることである。リモートコントローラに、これらの登録された番組のなかから数番組ずつを定期的にVCR本体に対して転送する機能を付加するようにすることも可能である。このような機能を付加するには、図12に示されているように、スタックメモリ76と呼ばれるメモリをリモートユニット中にさらに備えることが必要である。なお、その他の点では、図12は図4と同じである。スタックメモリ76は、例えばマイクロコントローラ自身に内蔵されているRAM62のような、ランダムアクセスメモリを用いて実現することができる。
【0093】
スタックメモリ76において、新たな入力、タイマー番組予約情報の挿入および削除が実行される。また、編集もここで行われる。スタックの先頭の記憶場所、例えば最初の4つの記憶場所は、VCR本体装置のタイマー番組予約メモリにちょうど相当するものである。スタックメモリの先頭部分が変更される度に、新たな情報がVCR本体装置に送られて、VCR本体装置の更新を行う。
【0094】
図13は、ユーザがリモートコントローラのキーパッドを介してGコード番組を入力する際の一連の事象を表したものである。ここでの説明では、VCR本体装置は、4つの番組だけを取り扱えるものと仮定しよう。また、スタックメモリは20の番組についてタイマー予約を行えるだけの容量を有しているものとしよう。図13のフローチャートを参照する。ステップ230において、ユーザがGコードを入力すると、ステップ234においてまずマイクロコントローラ60はこのGコードをCDTL情報に翻訳し、これに「入力」という語を付して表示ユニットに表示する。次いで、ステップ236において、マイクロコントローラは解読された番組をスタックメモリに入力する。
【0095】
もし、これが入力された最初の番組である場合には、スタックメモリの先頭の記憶場所に記憶される。一方、すでにスタックメモリにすでに番組が登録されている場合には、新しく入力された番組がスタックメモリの後尾にとりあえず暫定的に記憶される。次いで、ステップ240において、時間的に最も前のものが先頭の記憶場所にくるように、また時間的に最も後のプログラムが最後の記憶場所にくるように、スタックメモリを正しい時間的順序にソートする。なお、時間的にソートされたスタックメモリの性質として、スタックメモリの記憶場所nが変更されるとその位置よりも下の記憶場所がすべて変更される。例えば、スタックメモリがすでに時間的に順序づけられた6つの入力を記憶している状態のときに、時間的な位置が3(位置1が先頭記憶場所である)であるような入力が新たになされたものとしよう。この入力が記憶場所3に配置されると、3、4、5、6の記憶場所に保存されていた情報は記憶場所4、5、6、7にシフトされる。ただし、記憶場所1および2は変更なしにそのまま維持される。
【0096】
マイクロコントローラ60は、時間的なソートを行った後、ステップ242において、最初のn値の入力部分において、ソートを行う前と後とで変化が生じなかったかどうかをチェックする。なお、今の例の場合では、nは4である。この場合、新しいプログラムが記憶場所3に配置されたので、以前に記憶場所3に保存されていた入力は記憶場所4に移されている。VCR本体装置の番組予約メニューの4つの入力は、スタックメモリの記憶場所1から4に正確に対応していることが必要であるから、VCR本体装置の3と4の入力を改訂する必要がある。
【0097】
そこで、図13のステップ244において、マイクロコントローラは本体装置に入力3と4とを新たに送る。もし、新たに入力された番組が時間的なソートを行った後において、記憶場所5を占めた場合には、入力1から4までについては前と比べて変化がないので、マイクロコントローラは何等のメッセージもVCR本体装置に送らない。この場合、マイクロコントローラは、ステップ246に従って、単にクロック85およびキーボード88の監視を再開するだけである。なお、ステップ230におけるユーザのGコードの入力は、リモートコントローラをVCR本体装置の方に向けて行われるものと仮定している。図13のその他のステップは非常に高速に行われるので、ステップ244における変更情報の伝送は、リモートコントローラが、まだVCR本体装置に向けられている間に終了してしまう。
【0098】
もし、ユーザがステップ232において番組登録を削除しようと決心した場合には、まずスタックメモリの削除が最初に行われる。その結果、もし、最初の4入力に変化が生じた場合にはマイクロコントローラは改訂情報をVCR本体装置に対して送付する。最初の4入力に変化がなければ、リモートコントローラは何も送らない。この場合には、削除はスタックの下位部分において行われる(下位は、記憶場所5から20を指す)。この新しい情報は、所定の時刻が到来したときにVCRに対して送られることとなる。
【0099】
一方、VCR本体装置は1つずつ予約録画登録されたものについてタイマー録画動作を実行していく。4つの録画すべてをすべて終了してしまう前に、リモートコントローラのスタックから何らかの新しい入力をVCR本体装置に対して補充する必要がある。
【0100】
マイクロコントローラは、リモートコントローラのリアルタイムクロック85をモニタして、本体装置の番組登録がいつ使い切られてしまうかを判定する。図14のフローチャートを参照する。マイクロコントローラは、ステップ250において、定期的にクロックと、さらに、VCR本体装置のメニューと同一となっているスタックの先頭部分(最初の4入力)の登録番組の時刻とをチェックする。この、定期的なチェックにおいて、本体装置のメニューの録画が完了したことが検知されると、ステップ252においてスタックにさらに入力が存在しているかどうかをチェックし、もし存在していれば、ステップ258において表示部を点滅モードに設定するか、あるいは点滅するメッセージを表示してさらにプログラムを送ることを知らせる。ユーザが次にリモートユニットを取り上げた際に、この点滅によってVCR本体装置のプログラムメニューが終了しており、リモートユニットに記憶されている登録番組入力をVCR本体装置に対して補充すべき時であることを知ることができる。このとき、ユーザが、単にリモートユニットを取り上げてVCR本体装置の方に向けて〔入力〕キーを押すだけでよい。これによって、ステップ260において、スタックメモリの先頭部分が「ポップ」される。すなわち、スタック中のすべての入力が4記憶場所だけ上方にずれる。次に、ステップ262において、マイクロコントローラは新しいスタックの「先頭部分」(すなわち、先頭の4つの入力)をVCR本体装置に送る。以上のプロセスは、スタックが空になってしまうまで反復して行われる。
【0101】
圧縮コードを用いて録画装置の録画予約登録を行うための装置に関する他の好適な実施例は、図15のインスタントプログラマー300である。このインスタントプログラマー300は0から9までの番号が付された数値キー302、「取り消し」キー304、〔確認〕キー306、〔毎日〕キー308、〔1回〕キー310、および〔毎日(月−金)〕キー312を具備しており、これらのキーを用いてインスタントプログラマー300の番組登録が行われる。インスタントプログラマー300のセットアップに用いられるその他のすべてのキーは通常はカバーで覆われている。カバー314を開くと、以下のキーが現れる。すなわち、〔登録〕キー316、〔入力〕キー318、クロックキー320、〔チャネル〕キー322、〔時間追加〕キー324、〔VCR〕キー326、〔ケーブル〕キー328、それに〔テスト〕キー330である。また、図15のインスタントプログラマー300は、その他に、液晶表示部350と赤色警告発光ダイオード332とを備えている。図16は、インスタントプログラマー300の正面図であり、正面338上には正面赤外(IR)ダイオード340が取り付けられている。インスタントプログラマー300を、図19に示されているように、ビデオカセットレコーダ370、ケーブルボックス
372あるいはテレビジョン374などのプログラムを行おうとしている装置の前に置くことによって、正面赤外(IR)ダイオード340から発せられる信号によって番組の録画を制御することが可能となる。その他の赤外送信ダイオードは赤外光に対して透明なカバー336で覆われている。これらの赤外送信ダイオードについては後で説明する。
【0102】
図18は、液晶表示部350の詳細を示したものである。この表示部には、いろいろな時に様々な文字354が表示される。また、入力表示部356を有している。また、表示部の下部には、タイムバー352が表示される。このタイムバー352の機能については後に説明する。
【0103】
インスタントプログラマー300は、図17に示されているように、マウントスタンド360の左側壁部362および右側壁部364の間に置けるようになっている。インスタントプログラマー300は左側壁部362と右側壁部364との間をマウントスタンド360の前面の縁365まで滑らせて止められるようになっている。なお、この縁365は、図17Aに示されているように、左側壁362および右側壁364との間をよぎってこれらの側壁と連結されている。これらの要素362、364、365によってインスタントプログラマー300の位置が正しく定められて、図20に示したようにインスタントプログラマーが使用される際に、図17に示した赤外光に対して透明なカバー336、および赤外ダイオード342、344、346、348からの送信が正しくできる向きに保持される。また、マウントスタンド360は位置合わせフランジ366を有しており、この位置合わせフランジによって、マウントスタンド360の後端部、すなわち位置合わせフランジ366が取り付けられているマウントスタンドの端の部分をケーブルボックスやVCRあるいはこれらに類似の装置の正面側に、図20に示されているように位置合わせをすることができる。マウントスタンド360を用いてインスタントプログラマー300を図20に示されているように位置合わせを行うと、図17に示されている左側IRダイオード342、下側IRダイオード344、2つの背面IRダイオード346、および右側IRダイオード348の位置が、信号をビデオカセットレコーダ370およびケーブルボックス372に送信するのに適切な位置となる。VCRおよび/あるいはケーブルボックスがテレビジョン374自体に内蔵されている場合には、インスタントプログラマー300は、図19に示されているようなやり方か、あるいは、図20に示されているように、テレビジョンの上にマウントスタンドを設置するようにして、テレビジョン374に対して送信できるような位置に置くようにできる。
【0104】
マウントスタンド360を用いることによって、ユーザはいったんマウントスタンド360を正しい位置にきちんと設置しさえすれば、その後は、インスタントプログラマー300を赤外(IR)ダイオード340からの送信が可能な正しい位置を覚えておく必要がなく、自動的にインスタントプログラマー300は図19に示したように正しい位置にセットされる。いろいろなリモートコントローラを用いて実験を行ったところでは、リモートコントローラを、例えばコーヒテーブルなどの上の一定の位置に常に保持するようにすることは困難である。この問題は、マウントスタンド360を用い、インスタントプログラマー300を、制御しようとしている装置とともに配置することで解決ができる。左側IRダイオード342、下側IRダイオード344、2つの背面IRダイオード346、および右側IRダイオード348が、それぞれ左側、下側、後ろ側、右側へ信号を送るのに適した位置に設けられている。下側への送信は、プログラムしようとしている装置の上にマウントスタンド360が置かれた場合に対応できるようにするものである。左側、および右側への送信は、左側あるいは右側に置かれたプログラムすべき装置への送信を可能とするものである。また、背面側送信のための、背面IRダイオード346は、信号を壁または部屋の中の物体で反射させるために備えられているものである。正面IRダイオード340、左側IRダイオード342、右側IRダイオード348、および下側IRダイオード344には25度の放射角度を有するダイオードが用いられる。2つの背面IRダイオードは、背面への放射エネルギーが大きくなるように、5度の放射角度のダイオードが用いられる。これによって、エネルギーがよりよく収束されて、より強いIRエネルギーが壁あるいは部屋の物体から反射される。
【0105】
大抵のVCRおよびケーブルボックスは、赤外リモートコントローラによって制御することが可能である。しかし、VCRあるいはケーブルボックスの異なる種類ごとに異なるIRコードが用いられている。文字どおり、数百種類ものいろいろな異なるVCRあるいはケーブルボックスのモデルが存在する。しかし、幸いなことには、用いられているIRのコードセットは数十種類である。これらのコードセットは、それぞれのセットが、「電源」、「録画」、「チャネルアップ」、「チャネルダウン」、「停止」、「0」、「1」、「2」などのいろいろなキーを表す数十種類の「ワード」を有している。VCRおよびケーブルボックスの録画制御を行うためには、以下の「ワード」が必要なだけである。すなわち、「0」、「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」、「電源」、「録画」および「停止」である。すべてのワードセットに対するこれらのワードのIRコードは、インスタントプログラマー300の、図21および22に示されている、マイクロコンピュータ380のメモリに記憶される。インスタントプログラマー300のセットアップの際に、ユーザは、自分の持っているVCRおよびケーブルボックスのタイプおよびモデルをインスタントプログラマー300に対話的な方法で入力する。すると、以後の実際の制御プロセスにおいては、IRコードの正しいセットが呼び出される。ユーザがVCRだけしか所有していない場合には、その特定のVCRの赤外(IR)コードが呼び出される。ユーザがVCRとケーブルボックスの両方を所有している場合には、「電源」、「録画」、「停止」のIRコードがVCRに対応するコードセットから呼び出され、一方、「0」から「9」までのIRコードはケーブルボックスに対応するコードセットから呼び出される。このようにする理由は、この場合、チャネルスイッチの制御がケーブルボックスによって行われるからである。従って、「0」から「9」までのチャネルスイッチング信号はVCRにではなく、ケーブルボックスに対して送るようにする必要があるのである。
【0106】
最初に、ユーザは一連のセットアップ操作を行う。まず最初に、ユーザは、プログラムしようとしているVCRのモデル/ブランドに対応する番号をVCRブランド名とそれに対応する2桁のコードの一覧表から探し出す。次に、VCRをチャネル3あるいはチャネル4のどちらでよいから通常用いる方に合わせて、VCRの電源を「オフ」にする。ユーザは、次に[VCR]キー326を押す。表示部にVCRの表示がなされたら、ユーザは、VCRモデル/ブランド一覧表から見つけ出した2桁のコード(例えば、RCAは01である)を入力する。次に、インスタントプログラマー300をVCRの方に向けて、[入力]キー318を押す。すると、VCRにテスト信号を送っている間、赤色警告発光ダイオード332が点灯する。VCRの電源が「オン」の状態となり、チャネルが09に切り替わったならば、[登録]キー316を押す。次いで、クロック設定ステップに進む。もし、VCRが「オン」の状態にならなかった場合には、あるいは「オン」の状態にはなったけれどもチャネルが09に切り替わらなかった場合には、[入力]キー318を再度押し、赤色発光ダイオード332が消えるのを待つ。インスタントプログラマー300は、赤色警告発光ダイオード332が点灯しててる間に、次に可能性のあるVCRコードの送信を行う。もし、VCRの電源が「オン」の状態となり、チャネルが09に切り替わったならば、[登録]キー316を押し、もし、そうならなかった場合には、再度[入力]キー318を押す。
【0107】
VCRに適合するVCRコードが見つかるまでこれを繰り返して行う。そのブランドに対して可能性のあるVCRコードがすべて試みられた場合には、表示部に「終了」の表示がなされる。そのような場合には、[VCR]キー326、コード00を押し、さらに[入力]キー318を押して、すべてのブランドに対する可能性のあるすべてのコードを1つずつ試していく。
【0108】
正しいVCRコードが見つかって登録されたならば、次のステップはインスタントプログラマー300のクロックを設定することである。まず最初に、ユーザは、クロックキー320を押す。表示部に「年」と表示されているときに、ユーザは年の数値(例えば90)を入力し、次いで[入力]キー318を押す。次に、表示部「月」と表示されるので、月の数値(例えば、7月であれば07)を入力してから、[入力]キー318を押す。同じようにして、「日」が表示されたならば、日付に対応する数値(例えば、1日であれば01)を入力し、「時間」に対しては、時間に対応する数値(例えば、2時であれば02)、「分」に対しては、分に対応する数値(例えば5分過ぎであれば05)、「午前/午後」に対しては、午前の場合には1を午後の場合には2を入力する。以上の手順が終了すると、表示部には「登録」の表示が数秒間だけ現れ、次いで入力された現在時刻と日付とが表示される。この設定がすめば、VCRのクロックの設定を行う必要はもはやない。
【0109】
インスタントプログラマー300をケーブルボックスコントローラとしても用いる場合には、セットアップを以下のように行う。まず最初に、制御しようとしているケーブルボックスのモデル/ブランドを、ケーブルボックスブランド名とそれに対応する2桁のコードが記載されているケーブルボックス一覧表から探し出す。VCRをチャネル03あるいは04に合わせてから「オフ」にする。次に、ケーブルボックスをチャネル02または03のどちらでもよいから通常用いる方に合わせて、「オン」のままにしておく。次いで、[ケーブル]キー328を押す。表示部に「ケーブル」と表示されたら、ユーザは、ケーブルボックスモデルブランド名一覧表から見つけ出した2桁のコードを入力してから、インスタントプログラマー300をケーブルボックス(コンバータ)向けて[入力]キー318を押す。すると、赤色警告発光ダイオード332が点灯し、ケーブルボックスにテスト信号が送られる。ケーブルボックスのチャネルが09に切り替わったならば、[登録]キー316を押す。もし、ケーブルボックスがチャネル09に切り替わらなかった場合には、ユーザは、[入力]キー318を再び押し、次に可能性のあるコードが送信して赤色警告発光ダイオード332が消えるのを待つ。これを、ケーブルボックスがチャネル09に切り替わるまで繰り返して行い、切り替わったならば、[登録]キー316を押す。もし、表示部に「終了」と表示された場合は、そのブランドに対して可能性のあるケーブルボックスコードがすべて試みられたことを意味する。そのような場合には、ケーブルコード00を押してから[入力]キー318を押し、可能性のあるブランドコードを、1つずつ試していく。
【0110】
あるユーザにとっては、テレビ番組案内に記載されているチャネル、あるいはカレンダーがユーザの所有しているテレビジョンあるいはケーブルのチャネル番号とは異なっていることがある(そのユーザがケーブルあるいは衛星受信機を所有していると、このようなことが起こり得る)。そのような場合には、以下のようにする。まず最初に、ユーザは[チャネル]キー322を押す。すると、表示部に「番組案内チャネルTVチャネル」といったような表示がなされる。次に、ユーザは、テレビ番組案内あるいはカレンダーに印刷されているチャネル番号(例えば、チャネル2であれば、02)を入力し、さらに続けて、番組案内に印刷されているそのチャネルを実際に受信するのに用いられているローカルケーブル局のチャネル番号を入力する。次いで、[入力]キー318を押す。これを、他のすべてのチャネルについて繰り返す。以上の手順が終了したならば、[登録]キー316を押す。
【0111】
通常、その地区のテレビ番組案内あるいはカレンダーには各ケーブルチャネルおよび放送チャネル、例えばHBO、CNN、ABC、CBS、NBCなどに割り当てられたチャネル番号が記載されている。これは、図28の左側の2列に相当する。例えば、テレビ番組案内あるいはカレンダーで、チャネル14がHBOに割り当てられているけれども、実際にユーザが受信しているケーブル局ではHBOをチャネル18で送信しているものと仮定しよう。この場合、チャネル番号が異なっているから、ユーザは[チャネル]キー322を用いる必要がある。すなわち、まず、ユーザは[チャネル]ボタンを押す(表示部の2つ空白分下部の位置に「ガイドチャネル」が点灯する)。次いで14を入力する(すると、表示部の2つの空白分下部の位置に「テレビチャネル」が点灯する)。さらに、18を入力してから、[入力]キー318を押す。これを、異なっているチャネルすべてに対して繰り返す。終了したら、[登録]キー316を押す。
【0112】
チャネルの設定が終了したら、[チャネル]キー322を押してからさらに[確認]キー306を押すことによって設定を確認することができる。[確認]キー306を連続して押すと、表示部に設定したチャネルが1つずつスクロールされて表示される。
【0113】
次に、ユーザはインスタントプログラマー300の設置場所が適切であるかどうかのテストを行うことができる。まず最初に、ユーザは、電源コードがコンセントに差し込んである状態でVCRの電源が「オフ」になっており、ケーブルボックス(もし、あるならば)が「オン」の状態となっていることの確認を行う。
【0114】
次に、[テスト]キー330を押す。VCRだけしか所有していない場合、もしVCRの電源が「オン」となり、チャネルが09に切り替わって録画が開始され、次いで電源が「オフ」となれば、VCRコントローラは適切な場所に設置されている。
【0115】
もし、ケーブルボックスも所有している場合には、VCRの電源が「オン」となり、ケーブルボックスがチャネル09に切り替わり、VCRの録画が開始され、次いでVCRが停止して電源が「オフ」となれば、インスタントプログラマー300は適切な場所に設置されている。
【0116】
インスタントプログラマー300を作動させるには、VCRは「オフ」が状態となっていてケーブルボックスが「オン」のままにされていることが必要である。ユーザは、まず、テレビ番組案内から録画しようと思う番組の圧縮コードを見つけ出す。圧縮コード212は、図8に示されているような形でテレビ番組案内に記載されている。この実施例に用いるテレビ番組案内/カレンダーは、要素188が必要でないことを除いては、図8に示されている要素を含んでいる。選択した番組の圧縮コード212を、数値キー302を用いてインスタントプログラマー300に入力し、次に、その番組を何度録画するかの選択を行う。設定時刻においてその番組を1回だけ録画するのであれば、[1回]キー310を押す。また、取り消しを行わない限り、設定時刻において、その番組を毎週録画し続けるのであれば、[毎週]キー308を押す。また、取り消しを行わない限り、設定時刻において、その番組を月曜日から金曜日まで毎日録画し続けるのであれば、[毎日(月−金)]キー312を押す。これは、連続メロドラマのような、週末を除いて毎日放送される番組の予約を行う最も便利な方法である。入力の確認のために、インスタントプログラマー300は直ちに圧縮コードを解読して、ユーザが入力した番組の日付、チャネル、および開始時刻を表示する。なお、入力された番組の長さは表示部の下部をよぎって設けられているタイムバー352に表示される。1つのバーが、1時間(あるいは1時間以下)の番組時間を表す。
【0117】
さて、インスタントプログラマー300からのコマンドが正しく送信できるように、インスタントプログラマー300をVCRおよびケーブルボックスの近くに置いておく。所定の時刻が到来すると、インスタントプログラマー300はVCRの電源を「オン」にし、チャネルを所定のチャネルに合わせ、所定の番組を録画し、終了したらVCRを「オフ」にする。ユーザが気を付けなければならないことは、忘れずに未使用テープを装着することだけである。
【0118】
[確認]キー306を用いると、入力した番組を確認することができる。入力した番組は、日付および時間が古い順から表示される。[確認]キー306を押す度ごとに、表示が次の番組に切り替わる。入力された番組がすべて表示し終った場合には「終了」と表示される。さらに[確認]キー306を再び押すと、表示部には、現在の日付と時刻とが表示される。ユーザが、ある番組を取り消したいと思うときには、取り消したいと思う番組が表示されるまで[確認]キー306を押し、次いで、[取り消し]キー304を押す。このとき表示部には「取り消し終了」と表示される。また、ユーザが間違った番号を押してしまった場合には、どの場合においても、[取り消し]キー304を押すことによって入力をやり直すことができる。
【0119】
テレビ番組によっては、例えば、スポーツ生放送のような場合には、予定の時間をオーバしてしまうことがある。このような場合に、番組を完全にすべて録画するには、番組が録画中であっても、[時間追加]キー324を押せば、録画時間を延長させることができる。この場合、まず[確認]キー306を押して番組を表示させ、次いで、[時間追加]キー324を押す。[時間追加]キー324を1回押す度に、録画時間が15分追加される。
【0120】
現在時刻と日付が表示され、同時に次の24時間内において録画に必要な未使用テープの量が表示部の下部をよぎって設けられているタイムバー352に表示される。バー1つがテープ1時間(あるいはそれ以下)を表す。こうして、ユーザはVCRから離れる前に未使用テープの量が充分かどうかを確認することができる。
【0121】
番組コードが入力される度に、インスタントプログラマー300は入力された番組の間で時間的に重なり合ってしまうものがないかどうかをすべての入力に対して自動的にチェックする。もし、ユーザがすでに入力ずみの番組と時間的に重なり合う番組を入力しようとした場合には、「重複」のメッセージが表示される。すると、図23のステップ432に要点を記述してあるように、ユーザは、次のいずれかを選択することができる。(1)もし、ユーザが先に登録した番組の方を残し、新しい方を放棄したいと思うときには、何もしないでそのまま待っていればよく、ある一定の短時間が経過すると、表示部は現在時刻と日付の表示に戻る。(2)もし、早く開始される番組をその最後まで録画してから、残りの時間を第2番目の番組の録画を行いたければ、[1回]キー310を押してから[毎日(月−金)]キー312あるいは[毎週]キー308を再び押す(コードを入力する際に押した方のキー)。同じ時刻に開始する番組が複数登録された場合には、最も最近登録された番組が最初に録画される。また、「重複」の表示によって、重複に気がつき、ユーザが新しい番組の方が、前に登録した番組よりも重要であると判断した場合には、ユーザは、先に登録された番組を取り消して、新しい番組を再入力してやればよい。
【0122】
コロラド州のある地域などのように、地域によっては、ケーブルシステムのあるチャネルの放送が、テレビ番組案内に掲載されている時間よりも3時間遅くあるいは早くに放送される場合がある。これは、そのチャネルが東部の衛星から受信されるのか、あるいは西部の衛星から受信されるのかによる時間差によるものである。テレビ番組案内に記載されている時刻よりも3時間遅い時間に番組を録画する場合の手順は以下の通りである。まず最初に、番組のコードを入力し、次に、[登録]キー316(+)を押してから、さらに、[1回]キー310を押し、さらに希望に応じて[毎日(月−金)]キー312あるいは[毎週]キー308を押す。また、テレビ番組案内に記載されている時刻よりも3時間早い時間に番組を録画する場合の手順は以下の通りである。まず最初に、番組のコードを入力し、次に、[入力]キー318(−)を押してから、さらに[1回]キー310を押し、さらに希望に応じて[毎日(月−金)]キー312あるいは[毎週]キー308を押す。なお、インスタントプログラマー300には、テレビ番組案内に掲載されている時刻ではなしに、実際に録画される時刻が表示される。
【0123】
インスタントプログラマー300をさらにユーザーフレンドリーにするメッセージが用意されている。「電池消耗」の表示は電池交換が必要であることを示すものである。「入力エラー」はセットアップ中に不当な入力がなされたときに表示される。「コードエラー」は入力された番組コードの数値が正しくないことを示すものである。もし、この表示がなされた場合には、テレビ番組案内をチェックして、数値を入力し直す必要がある。「日付エラー」は土曜日あるいは日曜日の番組に対して毎日(月曜日から金曜日まで)の録画を選択しようとしたか、あるいは、インスタントプログラマー300は毎週録画あるいは毎日録画のオプションは現在の週のプログラム(±7日)に対してだけ適用可能となっているのに、7日以上先の番組に対して毎週録画あるいは毎日録画を選択しようとしたか、あるいは、すでに終了してしまっている番組を入力しようとしたことを示すものである。「満杯」は、インスタントプログラマー300の内部のランダムアクセスメモリ(RAM)によって実現されているスタックメモリが、登録番組で満杯になっていることを示すものである。この場合、1つあるいはそれ以上の番組を取り消せば、新たに別の新しい番組を登録することが可能である。「空」は録画すべき録画番組が存在しないことを意味するものである。インスタントプログラマー300に登録できる録画番組の数は利用可能なRAMの容量に依存して、10以上のある範囲内で変化する。
【0124】
図21は、インスタントプログラマー300を具現化するのに必要な回路図である。この回路は、マイクロコンピュータ380、発振器382、液晶表示部384、キーパッド386、5方向赤外トランスミッタ390、および赤色警告発光ダイオード332からなっている。マイクロコンピュータ380は、CPU、ROM、RAM、I/Oポート、タイマー、カウンタ、およびクロックからなっている。ROMはプログラムの記憶用である。RAMはいろいろな用途に用いられるが、就中、録画しようとする番組を登録するためのスタックメモリとして用いられる。液晶表示部384は図15および18の表示部350である。キーパッド386はこれまでに説明したいろいろなキーを具現するためのものである。
【0125】
5方向赤外トランスミッタ390は正面赤外(IR)ダイオード340、左側IRダイオード342、下側IRダイオード344、2つの後側IRダイオード346、および右側IRダイオード348からなっている。図22は、インスタントプログラマー300の回路をさらに詳細に示したものであり、すでに説明した構成要素には同じ参照番号を用いている。マイクロコンピュータは具体的には、NECμPD7530×を用いることができ、このマイクロコンピュータは表示部、キーパッド、発光ダイオード、発振器と直接にインタフェースをとることが可能である。25度IRダイオードには、具体的には、NEC313ACを用いることができ、また5度IRダイオードには、Litton2871CIRダイオードを用いることができる。
【0126】
図23、24、および25は、マイクロコンピュータ380のリードオンリーメモリ(ROM)に記憶され、番組入力、確認および番組取り消し、録画の実行に係わるプログラムに関するフローチャートをそれぞれ示したものである。図23は、すでに説明した番組入力に係わるフローチャートであり、以下のステップからなっている。すなわち、現在の日付、時刻、およびタイムバーを表示するステップ402、なお、このステップはインスタントプログラマー300は非動作状態である;キーボードをスキャンして圧縮コード10進数値が入力されたかどうかを判定するステップ404;入力されたコードを表示するステップ406;入力されたコードが正しいかどうかのユーザによるチェックステップ408、およびユーザによる[取り消し]キー304押圧ステップ428;ユーザによる[登録]キー316または[入力]キー318を押すことによって開始時刻を3時間早めたり遅らせるステップ410;ユーザによる[1回]キー310、[毎週]キー308あるいは[毎日]キー312の押圧ステップ412;マイクロコンピュータが圧縮コードをCDTLに解読するステップ414;登録番組に時間的な重なりが起こっていないかをテストするステップ416、もし起こっている場合には[重複]メッセージを表示するステップ420、ユーザが[1回]キー310、[毎週]キー308または[毎日]キー312を押すステップ422、かくして、「重複」オプションに関して上述したように時間的に重なる入力の調停を行うステップ432、(#K)登録を行わないステップ424;表示部に、1回録画に対する日付、チャネル、開始時刻、長さ(タイムバー)、あるいは毎日録画に対するチャネル、開始時刻、長さ(タイムバー)、あるいは毎週録画に対する曜日、チャネル、開始時刻、長さ(タイムバー)を設定するステップ418;ユーザが録画時間を15分延長するための[時間追加]キー324を押すステップ426;ユーザが表示をチェックするステップ430;マイクロコントローラ380のRAMの一部であるスタックに登録番組を時間順に入力するステップ434;および、必要なテープの長さを算出し、タイムバーを更新するステップ436である。
【0127】
図24は、すでに説明した確認および取り消しに係わるフローチャートであり、以下のステップからなっている。すなわち、現在の日付、時刻、およびタイムバーを表示するステップ402;[確認]キー306を押すステップ442;スタックが空であるかをテストするステップ444、「空」の表示を行うステップ446、現在の日付、時刻の表示に戻ステップ448;スタック先頭部の入力を表示するステップ450;ユーザが[時間追加]キー324を押すステップ452、タイムバーを更新するステップ460;ユーザが[確認]キー306を押すステップ454、スタックを1入力分だけスクロールするステップ462;ユーザが[取り消し]キー304を押すステップ456、「取り消し」を表示して番組を取り消すステップ464;およびユーザが何も行わないステップ458、マイクロコンピュータ380タイマーが30秒間カウントするまで待機するステップ466である。
【0128】
図25は、すでに説明した番組を自動的に録画する録画実行のフローチャートであり、以下のステップからなっている。すなわち、スタックメモリの先頭部分の開始時刻を現在時刻と比較するステップ472;番組の開始時刻よりも3分前であるかどうかをテストするステップ474;赤色警告LED332を30秒間点滅させるステップ476;チャネル、開始時刻を表示し、「開始」メッセージを点滅させるステップ478;間違いなく開始時刻に到達したかを確認するステップ480、電源オン信号をVCRに送り、「録画」メッセージを表示するステップ482;490;ケーブルボックスがVCRに入力されているかどうかをチェックするステップ484、チャネルスイッチン信号をVCRに送るステップ486、チャネルスイッチング信号をケーブルボックスに送るステップ488;録画信号をVCRに送るステップ490;停止時刻を現在時刻と比較するステップ492、停止時刻が到来したかどうかをテストするステップ494、「終了」メッセージを表示するステップ496;停止信号をVCRに送るステップ498;電源オフ信号をVCRに送るステップ500;そして番組スタックをポップするステップ502である。
【0129】
図26は、チャネル、日付、時刻、および長さ(CDTL)を10進圧縮コードに符号化する方法に関するフローチャート510を示したものである。このプロセスは、図8の番組案内あるいはカレンダーに記載される圧縮コード212を得るために、汎用コンピュータ上で「オフライン」で行われるものである。符号化の最初のステップは、チャネル、日付、時刻、および長さ(CDTL)を入力するステップ512であり、特定の番組についてのチャネル、日付、開始時刻、および長さCDTL514を入力する。次のステップは、割り当てられたチャネル番号を探し出すステップ516であり、各チャネル518の割り当てチャネル番号522への置き換えを行う。例えば、チャネル2などのネットワーク放送チャネルの場合のように、割り当てチャネル番号が同じであることも多い。しかし、HBOなどのケーブルチャネルには、別途チャネル番号が割り当てられているので、これをケーブル割り当てチャネルテーブル520から探し出す。このケーブル割り当てチャネルテーブル520は、図28の最初の2列と事実上同じである。次のステップは、チャネル、日付、および時刻/長さの優先順位を優先順位ベクトルテーブルから探し出すステップ524であり、チャネル、日付、および時刻/長さをそれぞれ索引として優先順位ベクトルチャネル(C)テーブル526、優先順位ベクトル日付(D)テーブル528、優先順位ベクトル時刻/長さ(TL)テーブル530をルックアップし、ベクトルCp、Dp、TLp532を生成する。時刻/長さ(TL)混合テーブルを用いて優先順位を設定することによって、これらの傾向がどのようなものであるかを示す直線的な関係を知ることができる。例えば、午後6:30には、2時間番組は少なく、ほとんどが短い番組である。この理由は、たぶんこの時間帯が夕食の時間であるからであろう。
【0130】
チャネル優先順位テーブルは最も頻繁に使用されるチャネルが小さな優先順位番号をもつように順序づけられている。優先順位Cテーブル526の中のデータの一例は次のようなものである。
チャネル 4 7 2 3 5 6 11 13・・・
優先順位 0 1 2 3 4 5 6 7・・・
【0131】
一般に、月の中の日付はすべて同じ優先順位を有しており、すなわち、同じ頻度で使用されるので、優先順位ベクトルDテーブル528においては、以下の例のように月の中の若い日付が小さな優先番号と対応するようになっている。
日付 1 2 3 4 5 6 7 8・・・
優先順位 0 1 2 3 4 5 6 7・・・
番組の開始時刻および長さの優先順位は、それぞれの開始時刻と番組の長さの組合わせに対して優先順位を与えるマトリックとして並べるようにすることができる。このマトリックスは、より人気の高い開始時刻と長さの組み合わせが小さな優先順位番号となり、人気の低い組み合わせの優先順位番号が大きくなるように並べられる。例えば、部分的な優先順位ベクトルT/Lテーブル530は以下のようなものである。

優先順位TLテーブル
時刻 6:30pm 7:00pm 7:30pm 8:00pm・・・長さ(時間)
0.5 8 4 7 10
1.0 12 15 13 18
1.5 20 19 17 30
【0132】
チャネル、日付、時刻および長さ(CDTL)514のデータが、例えば、チャネルが5で、日付が1990年2月10日、時刻が7:00PM、長さが1.5時間であったとすると、この場合のCp、Dp、TLpのデータ532は49 19となる。次のステップ534で、Cp、Dp、TLpをそれぞれ2進数に変換し、これらを1つの2進数に連結してデータワード・・・TL2TL1・C21・・・D21536を得る。上記の例に対して・・・TL2TL1・・・C21・・・D21536のワードを変換すると、次の3つの2進数が得られる:・・・0010011、・・・0100、・・・01001。各変換に用いられる2進数のビット数は、含まれる組み合わせ数によって決まる。このビット数は、具現方法によって異なるが、1つの好適な実施例においては、Cpに対しては8ビットを用い、これをC87654321で表す。この8ビットによって256チャネルを表現することができる。また、Dpに対しては5ビットを用い、D54321と表す。これによって1月の31日を表すことができる。また、TLpに対しては14ビットを用いてTL14・・・TL3TL2TL1と表す。これによって24時間内の開始時刻を5分単位で、また3時間までの番組長さを5分単位で、3時間から8時間までの番組長さを15分単位で表すことができる。これは、およそ288×(36+20)=16,128の組み合わせ数であり、これが214=16,384個の2進数の組み合わせによって表現される。結局全体として、TL14・・・TL2TL18・C215・・・D21の情報を表すのに8+5+14=27ビットが用いられる。先の例では、ゼロの埋め込みを行ってこれらを連結すると全27ビットは、000000001001100000100001001となる。
【0133】
次のステップは、リードオンリーメモリ64に記憶されているビット階層キー540を用いて、2進数のビットの並び替えを行うステップ538である。先に説明したように、ビット階層キー504は、・・・TL2TLI・・・C21・・・D21536のビットの任意の順序づけであってよいが、一般には、タイマー録画予約が行われる確率が最も主題の番組が小さな圧縮コード212を有し、従って少ないキー操作回数ですむように順序づけがなされる。ビット階層キーの順序づけは、すでに説明したように、いろいろなビットの組み合わせの微分確率によって決定することができる。ビット階層キー540を導出する詳細は、ビット階層キー120に関して説明したのと同じ方法を用いることができる。例えば、ビット階層キーは次のようなものである。
TL83・・・TL102 TL11154321
27 26・・・ 10 9 8 7 6 5 4 3 2 1
【0134】
次のステップは、ビットのグループを結合して、各グループを10進数に変換し、これを1つの10進数に連結するステップ542である。例えば、ビット階層キーに基づいて並べ変えを行ったときに、0000000010100100000100001001であれば、これを000000001010010000、00100001001のようにグループ化することができる。これらの2進ビットのグループを10進数に変換すると328、137となり、これを1つの10進数に連結すれば328137となる。符号化の最後のステップは、10進数を並べ換えるステップ546である。ここでは、日付548、および特定の月、年に依存する並べ換え関数544に基づいて、10進数の並べ換えを行う。
【0135】
こうすることによって、コードの機密保持を行うことができる。10進数並べ換えステッブ546を実行すると、10進数圧縮コードG8・・・G21は、例えば、238731のようになる。これらの符号化されたコードは、番組案内あるいはカレンダーに図8に示した圧縮コード表示212のように記載される。
【0136】
図27は、図23のステップ414において10進圧縮コードをチャネル、日付、時刻、および長さ560に解読する方法を、フローチャートとして示したものである。ステップ562において、10進圧縮コードG8・・・G21が入力されたならば、これを、図26に示したステップ544および546の並べ換え関数を逆に実行する必要がある。まず最初のステップは、日付コードを抽出するステップ566であり、10進圧縮コードの番組の日付コードの抽出を行い、この日付コードをステップ568に引き渡す。ステップ568では、この日付コードの他に、図21および22のマイクロコンピュータ380内に具現化されるクロック576から現在の日付574も受け取る。また、クロック576は、現在の月および年を、年と月に依存する関数である並べ換え関数570に対して送る。この関数をステップ568において実行する。すなわち、もし日付コードがクロックから取得した現在日付と同じかあるいはそれより大きければ、クロックの示す年月に対する並べ換え関数を採用する。そうでない場合には、クロックの示す月の次の月に対する並べ換え関数を採用する。ただし、このとき、クロックの示す月が12月である場合には次の年を採用する。言い換えれば、番組予約登録は1カ月以内すなわち31日以内に限られているので、もし番組の日付が現在月日の日と一致しているかあるいはそれよりも大きい場合には、現在月のいずれかの日であることを意味している。そうでなく、もし番組の日付が現在月日の日よりも小さいときには、その番組は翌月の番組のはずである。日付コード抽出ステップ566は10進圧縮コード逆並べ換えステップ580の前に行う必要があるが、この日付コード抽出は、日付コード情報が図26の10進数並べ換えステップ546によってどのように実行されたかに関する知識をあらかじめ有していることによって可能である。
【0137】
こうして並べ換え方法578が選択され、これを用いて、10進圧縮コードの逆並べ換えステップ580が実行される。上記の例の場合では、ステップ580の結果は328137となる。次のステップは、10進数のグループを2進数に変換し、これらの2進数を1つの2進数に連結するステップ584である。このステップは図26のステップ542に逆のステップであり、上記の例の場合では、2進数として000000001010010000010001001が得られる。次に、ビット階層キー588を用いて、ビット階層キーステッブ586に基づいて2進数の並べ換えを行う。このステップ586は、図26のステップ538の逆ステップであり、これによって、上記の例に対しては、000000000100110000010001001、すなわち・・・TL2TL1・・C21・・・D21592が得られる。これは図26の536に対応するものである。次のステップは、ビットを3つの2進数TLb、Cb、Dbにグループ分けしてから、これらを10進数Cp、Dp、TLpに変換するステップ590である。上記の例の場合では、この10進数として、4、9、19が得られ、これらは、チャネル、日付、時刻/長さに対する優先順位ベクトルである。さらに、これらの10進数を用いて、チャネル、日付、時刻および長さ604を、優先順位ベクトルチャネル(C)テーブル598、優先順位ベクトル日付(D)テーブル600、および優先順位ベクトル時刻/長さ(TL)テーブル602からそれぞれルックアップする。
【0138】
ローカルチャネル番号をルックアップするステップ606では、割り当てチャネル番号608に与えられたローカルチャネル612を、割り当てチャネル/ローカルチャネルテーブル610からルックアップする。なお、この割り当てチャネル/ローカルチャネルテーブル610は、先に説明したように〔チャネル〕キー322を介してユーザによってセットアップされたものである。おな、図28の割り当てチャネル/ローカルチャネルテーブル620の右側の2列が、割り当てチャネル/ローカルチャネルテーブル610の例である。624や628などの割り当てチャネル番号と、626や630などのローカルチャネル番号との対応は、ユーザによるセットアップの際につけられている。例えば、図28は、対応割り当てチャネル番号5とローカルチャネル番号5とが正確に対応していることを示している。最後のステップは、月および年を日につけ加えるステップ614である。ステップ568から正しい月と年が得られるが、この場合も、日コードがクロックの示している日と同じかあるいはそれよりも大きいか、または、クロックの示す日よりも小さいかによって求められる。もし、日コードがクロックが示している日と等しいかあるいは大きい場合には、月および年は、クロックが示している月および年と同じである。もしそうでない場合には、クロックが示している月と次の月が採用され、このとき、もしクロックの示している月が12月である場合には、年は翌年が採用される。こうして、チャネル、日付、時刻、長さ(CDTL)618が得られる。上記の例の場合では、チャネルは5であり、日付が1990年2月10日、時刻が7:00、長さが1.5時間である。
【0139】
他の好適な実施例は、解読手段を図29のようにGコードデコーダ付きテレビ受像機950に組み込むことである。なお、図29は、Gコードデコーダ付きテレビ受像機を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ956を用いてテレビ受像機を制御することによって、録画しようとする番組を表すコードの入力を行うことができる。なお、この同じテレビジョンリモートコントローラを用いて、チャネル選択などの通常のテレビジョン制御機能を実行させることも可能である。Gコードが入力されると、テレビジョンリモートコントローラからGコードが赤外送信機958を介してGコードデコーダ付きテレビジョン950に送られる。テレビ受像機950に具備された赤外受信機960は、この送信信号を受信し、受信したコードをGコードデコーダ954に送付する。Gコードデコーダ954は、このコードをCDTLに解読し、この情報と、テレビ受像機950にやはり内蔵されているクロックとを用いて、所定の時刻において、所定のコマンドをVCR964およびケーブルボックス966に送って、選択された番組が正しい時刻において録画されるようになす。テレビジョン950からの送信は、赤外送信機962を介して行うことができる。なお、この赤外送信機962はテレビのキャビネットの好適な位置、例えば角の部分に配置するようにできる。この送信信号は、赤外受信機968を介してVCR964によって受信される。また、赤外受信機969を介してケーブルボックス966によって受信される。
【0140】
図30は、Gコードデコーダ付きテレビ受像機を示した図である。Gコードデコーダ付きテレビ受像機950はテレビジョンリモートコントローラ956から赤外受信機960を介して信号を受信し、この受信信号はコマンドコントローラ974か、あるいは直接にGコードデコーダ954に対して送る。コマンドコントローラ974は、テレビ受像機に内蔵させて、その他のテレビジョンの機能、例えば、チャネルが変更されたときにチャネル番号を表示する「オンスクリーン」機能も果たすようにすることができる。Gコードデコーダ954は、クロック976が示す日付と時刻とを用いて、送られたGコードを解読し、所定のコマンドを赤外送信機962を介してVCRおよびケーブルボックス966に送る。このGコードおよびその他のコマンドは、マニュアルコントロール975を介して、コマンドコントローラに送ることも可能である。Gコードの解読が行われると、Gコードとともに、解読されたCDTL情報とがテレビジョンの表示装置/モニタ952のオンスクリーン表示部978に「オンスクリーン」で表示される。なお、「オンスクリーン」表示とすることは必ずしも必須のことではなく、他の任意の形式を採用することも可能である。
【0141】
図31は、Gコードデコード機能内蔵テレビ受像機内にGコードデコーダとして備えるための装置を示した図である。この回路は、図21および22と非常に類似したものであるが、この回路の場合には、LCD384やキーパッド386に対してではなく、赤外受信機960とコマンドコントローラ974に対するインタフェースを有している。キーとなる主要構成要素は、マイクロコントローラ980と発振器982である。ここで、好適な1実施例は、コマンドコントローラ974インタフェースに係わるものであり、また、他の実施例は、マニュアルコントロール975と、赤外受信機960、テレビジョン表示装置/モニタ952、およびGコードデコーダ954を中間にコマンドコントローラ974を介することなしに直接的にインタフェースをとる技術に係わる。VCRand theケーブルボックス・テレビジョン回路はVCRおよびケーブルボックスに対する赤外コードプロトコルを記憶したり学習する機能を含むようにすることができる。警告発光ダイオード984をテレビジョンのキャビネットにマウントして、これを用いて録画が始まろうとしていることをユーザに知らせる、ユーザがVCRの録画用テープを準備することができるようにすることができる。
【0142】
テレビジョン表示装置/モニタ952上に「オンスクリーン」表示を行うようにすることによって、Gコードデコーダ付きテレビ受像機950は、図23、24、および25に示した録画番組予約入力、予約番組確認、予約取り消し、および圧縮コードを用いたレコーダの番組録画予約と事実上同じことができるようになる。LCD384に表示されるものは、すべてテレビジョンモニタ952上に表示させるようにすることが可能である。唯一の差異は、ユーザがテレビジョンリモートコントローラ956を、Gコード入力、送信、登録番組確認、登録番組取り消しを行うためのモードとしたとき、「オンスクリーン」が単にステップ402(現在日付、時刻、およびタイムバーの表示)を実行するだけである点である。図26に示した、番組のチャネル、日付、時刻および長さに関する情報を10進圧縮コードに符号化する方法、また、図27に示した、圧縮コードを番組のチャネル、日付、時刻および長さに関する情報に解読する方法、および、図28に示したチャネル番号をローカルチャネル番号に割り当てる方法のすべてが、ここでも利用される。
【0143】
本発明の他の好適な実施例は、解読手段をビデオカセットレコーダ、ケーブルボックス、あるいは衛星受信機などのテレビジョンに関連するいろいろな装置に組み込むことである。どのようなシステムに解読手段を組み込むにしろ、解読手段は、どれか1つの装置、例えばケーブルボックスだけに組み込むだけでよく、所定の時刻が到来するとこの解読手段が組み込まれた装置から所定のコマンドが他の装置、例えばVCRや衛星受信機に対して送られ、所望の番組の録画が行われる。
【0144】
図32は、Gコードデコーダ内蔵テレビジョン950、VCR964、ケーブルボックス966、および衛星受信機986を含むシステムのブロック図である。このシステムは、衛星受信機がシステムに含まれている点を除けば、図29に示したシステムと全く同じように動作する。システムに含まれている衛星受信機は、Gコードデコード内蔵テレビ受像機950にマウントされている赤外送信機962から送られてくるコマンドを赤外受信機988を介して受信できるようになっている。衛星受信機で受信されるコマンドには、オン/オフコマンド、チャネル選択コマンドが含まれる。衛星受信機986は、テレビジョン信号をVCR964に供給することができ、VCRは番組を録画および/あるいはテレビジョン表示装置/モニタ952に中継する。
【0145】
図33は、Gコードデコーダ内蔵VCR991、テレビジョン952、ケーブルボックス966、および衛星受信機986を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ956、あるいはVCR991上のコントロールを用いて、録画しようとしている番組を表すコードの入力を行うことができる。Gコードが入力されると、テレビジョンリモートコントローラは、このGコードを、赤外送信機958を介してGコードデコーダ992を内蔵したVCR991に対して送る。VCR991上の赤外受信機990がこの送信を受信し、受信したコードをGコードデコーダ992に対して送る。Gコードデコーダ992は、このコードをCDTLに解読し、この情報と、VCR991にやはり内蔵されているクロックとを用いて、所定の時刻が到来すると、所定のコマンドをケーブルボックス966および衛星受信機986に対して送り、所定の時刻の選択された番組の録画を行う。VCR991からの送信はVCRの好適な場所に設置された赤外送信機994から行うようにすることができる。この送信は、赤外受信機969を介してケーブルボックス966に、また赤外受信機988を介して衛星受信機986によって受信される。
【0146】
他の好適な実施例は、図36に示されたような、装置間で送信を行うための方法と装置に係わるものである。図36の透視図には、VCR370と、その上に置かれたケーブルボックス372とが示されているが、このVCR370の正面パネル1009の後ろには赤外送信機1008が備えられており、この赤外送信機1008からの送信は、壁などの周囲の反射面から反射されてケーブルボックス372の赤外受信機1010によって受信され、こうしてVCR370とケーブルボックス372との交信が行われる。
【0147】
さらに他の好適な実施例は、図37に示されたような、装置間で送信を行うための方法と装置に係わるものである。この図37の透視図には、VCR370と、その上に置かれたケーブルボックス372とが示されているが、このVCR370の上には赤外送信機1014を中に備えた赤外ドーム1012が置かれており、この赤外送信機1014からの送信は、赤外ドーム1012とケーブルボックスの赤外受信機1010との相対的な位置関係によって直接にあるいは壁などの周囲の反射面から反射された後にケーブルボックス372の赤外受信機1010によって受信され、こうしてVCR370とケーブルボックス372との交信が行われる。
【0148】
さらに他の好適な実施例は、図38に示されたような、装置間で送信を行うための方法と装置に係わるものであり、この図38の透視図に示されているVCR370は、赤外送信機1022を内蔵したマウス1020を有しており、このマウス1020とVCRとはケーブル1018と、さらにVCRのリセクタプル1016に差し込まれたプラグ1017を介して接続されている。このマウス1020は、ケーブルボックスの赤外受信機1010の近傍に置かれる。この実施例は、ケーブルボックスとVCRが例えばキャビネットの壁などによって隔てられているために、直接的な赤外送信も反射による送信も妨げられている場合に非常に効果的に用いることができる。
【0149】
他の好適な実施例は、図39に示されたような、装置間で送信を行うための方法と装置に係わるものであり、この図39の透視図に示されているVCR370には、ミニマウス1024がケーブル1018およびVCRのリセクタプル1016に差し込まれたプラグ1017を介して接続されている。ミニマウス1024のスティックには赤外送信機1026が内蔵されている。ミニマウス1024のスティックは、ケーブルボックスの赤外受信機1010のすぐ近傍の位置に取り付けられる。この実施例もやはり、ケーブルボックスとVCRが例えばキャビネットの壁などによって隔てられているために、直接的な赤外送信も反射による送信も妨げられている場合に用いると非常に効果的である。
【0150】
図36、37、38および39の送信方法および装置は、図32のシステムにおいて、Gコードデコーダ付きテレビ受像機950からVCR964、ケーブルボックス966、および衛星受信機986へ情報を送信するのに用いることも可能である。
【0151】
図34は、Gコードデコーダを内蔵したケーブルボックス997、テレビジョン952、VCR964、および衛星受信機986を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ956、あるいはケーブルボックス997のコントロールを用いて録画すべき番組を表すコードの入力を行うことができる。Gコードが入力されると、テレビジョンリモートコントローラは、このGコードを、赤外送信機958を介してGコードデコーダ998を内蔵したケーブルボックス997に対して送る。ケーブルボックス997上の赤外受信機996は、この送信を受信し、受信したコードをGコードデコーダ998に対して送る。Gコードデコーダ998は、このコードをCDTLに解読し、この情報と、ケーブルボックス997にやはり内蔵されているクロックとを用いて、所定の時刻が到来すると、所定のコマンドをVCR964および衛星受信機986に対して送り、所定の時刻において、選択された番組の録画を行う。ケーブルボックス997からの送信はケーブルボックス上の好適な場所に設置された赤外送信機1000から行うようにすることができる。この送信は、赤外受信機968を介してVCR964に、また赤外受信機988を介して衛星受信機986によって受信される。また、図36、37、38および39の送信方法および装置は、図34のシステムにおいて、ケーブルボックス997からVCR964および衛星受信機986へ情報を送信するのに用いることも可能である。
【0152】
図35は、Gコードデコーダを内蔵した衛星受信機1005、テレビジョン952、VCR964、およびケーブルボックス966を含むシステムのブロック図である。ユーザは、テレビジョンリモートコントローラ956、あるいは衛星受信機1005のコントロールを用いて録画すべき番組を表すコードの入力を行うことができる。Gコードが入力されると、テレビジョンリモートコントローラは、このGコードを、赤外送信機958を介してGコードデコーダ1004を内蔵した衛星受信機1005に対して送る。衛星受信機1005上の赤外受信機1002は、この送信を受信し、受信したコードをGコードデコーダ1004に対して送る。Gコードデコーダ1004は、このコードをCDTLに解読し、この情報と、衛星受信機1005にやはり内蔵されているクロックとを用いて、所定の時刻が到来すると、所定のコマンドをVCR964およびケーブルボックス966に対して送り、所定の時刻において、選択された番組の録画を行う。衛星受信機1005からの送信は衛星受信機上の好適な場所に設置された赤外送信機1006から行うようにすることができる。この送信は、赤外受信機968を介してVCR964に、また赤外受信機969を介してケーブルボックス966によって受信される。また、図36、37、38および39の送信方法および装置を図35のシステムに適用して、衛星受信機1005からVCR964およびケーブルボックス966へ情報を送信するのに用いることも可能である。
【0153】
番組の録画予約登録を行うための圧縮コードを用いた装置に係わる他の好適な実施例は、図40および41に示したカスタムプログラマ1100である。このカスタムプログラマ1100は、インスタントプログラマ300と同様に、0から9までの番号が付された数値キー1102、〔取り消し〕キー1104、〔確認〕キー1106、〔毎週〕キー1108、〔1回〕キー1110、および〔毎日(月−金)〕キー1112を具備しており、これらのキーを用いてこのカスタムプログラマ1100の番組登録が行われる。なお、上記のキー1104〜1112はインスタントプログラマー300のキー302〜312と直接的に対応しているものである。インスタントプログラマー300と同様に、カスタムプログラマ1100のセットアップに用いられるその他のすべてのキーは通常はカバーで覆われている。カバー1114を開くと、図示されていない以下のキーが現れる。すなわち、〔登録〕キー、〔入力〕キー、クロックキー、〔チャネル〕キー、〔時間追加〕キー、〔VCR〕キー、〔ケーブル〕キー、それに〔テスト〕キーである。カスタムプログラマ1100のこれらのキーは、インスタントプログラマー300のキー316〜330にそれぞれ対応しており、事実上同じように動作する。また、図40に示したカスタムプログラマ1100には、液晶表示部1134、と赤色警告発光ダイオード1132およびIRダイオード1134が備えられており、これらは、図15の液晶表示部350、赤色発光ダイオード332およびIRダイオード342〜348に対応するものである。
【0154】
インスタントプログラマ300を用いるに当たっては、先に説明したように、まず、VCRのモデル/ブランドに対するプロトコルの選択、現在の実際の時刻の設定、ケーブルボックスのモデル/ブランドに対するプロトコルの選択、および一連のチャネル番号割り当て入力からなるセットアップシーケンスが実行される。インスタントプログラマー300を用いると、テレビ番組の録画が非常に簡単になるとはいえ、インスタントプログラマー300の初期設定手順は、かなり複雑であり、そのため、ユーザによってはインスタントプログラマーを用いることを思い止まってしまう。カスタムプログラマ1100はマイクロホン開口1140を具備しており、この開口を介してカスタムプログラマ1100の内部に備えられた少なくとも1つのマイクロホンが、カスタムプログラマの初期設定に必要な情報とこの情報をカスタムプログラマ1100に記憶させるためのコマンドとを含む電気的に符号化されたオーディオ信号を受信するようになされている。
【0155】
ユーザは、ある特別な電話番号に電話をかけることによって、これらのオーディオ信号を受信することができる。この電話番号は、料金無料番号の800を用いるようにしてもよいし、または分単位課金電話番号の900を用いてもよいし、あるいは標準の課金がかかる標準の電話番号を用いるようにしてもよい。顧客は、自分の所有しているVCRのモデルとブランド、郵便番号、ケーブルボックスのモデルとブランド、および顧客が圧縮コードをそこから得る新聞名あるいはその他の刊行物名とをオペレータに対して告げる。これが、カスタムプログラマ1100の初期設定を行うのに必要な情報のすべてである。郵便番号情報から、オペレータはどのケーブルシステムが接続されているかを知ることができ、このデータと顧客が用いている刊行物名とから、その顧客に適したローカルチャネルマップテーブルを選択する。
【0156】
次いで、オペレータは、顧客に指定されたプログラミングキーを押すように指示する。なお、この好適な実施例の場合には、このときに指定されるキーは、カバー1114の下に配置されている〔チャネル〕キーである。〔チャネル〕キーが押されると、表示部1134に「電話1キー2」というメッセージが表示される。数値キー「2」を押すと、カスタムプログラマのモードがマニュアルチャネルテーブルプログラムモードとなる。このモードは、インスタントプログラマー300において〔チャネル〕キー322を押したときに入るモードと同じである。数値キー「1」を押すと、リモートプログラムモードが開始される。こうして、カスタムプログラマ1100のオーディオ信号を受信する準備が整い、表示部1134には、「お待ち下さい」というメッセージが表示される。
【0157】
オペレータは、顧客に電話の送受話器の受話器部分1142を、図42の全体図に示されているように、顧客プログラマ1100のマイクロホン開口1140上部に置くように指示する。受話器は、カスタムプログラマ1100上に直接に置くようにする必要はなく、マイクロホン開口から1インチ以上離れた場所に置いても通常は満足な結果が得られる。顧客が受話器を適切な場所に置くのに必要なだけの充分な時間が経過した後、オペレータは、初期設定デコーダのダウンロードを開始し、初期設定プログラミングコマンドが電話回線1146を介してオーディオ信号によって顧客のカスタムプログラマ1100に送信される。
【0158】
初期設定データがカスタムプログラマ1100にうまく転送されると、カスタムプログラマ1100の表示部1134に「終了」というメッセージが表示される。もし、初期設定データの受信が、あらかじめ定められた制限時間内にうまく終了しなかった場合には、赤色警告発光ダイオード1132が点滅し、情報のダウンロードを再び試みる前に、受話器の位置を調節するように顧客に知らせる。
【0159】
この調節に必要な待機時間の後に、初期設定データおよびコマンドが電話回線を介して再送信される。ダウンロードがあらかじめ定められた回数だけ試みても、なお初期設定情報がうまく転送できない場合には、液晶表示部1134に「失敗」というメッセージが表示され、オペレータが電話に再び出て、顧客に対して、受話器の位置を適切な位置に置くための援助を行う。
【0160】
あるいは代替実施例として、ローカルケーブル会社のオペレータが直接に応答するようにし、電話回線を介して、あるいは既存のケーブルシテスムのケーブルその他の伝送手段を介してカスタムプログラマ1100に初期設定情報をダウンロードするようにすることも可能である。もし、ローカルケーブル会社がオペレータの直接応答サービスを提供する場合においては、顧客の地域の設置されているケーブルボックスのモデルとブランド名、およびそのケーブルシテスムにおけるローカルチャネルに関する必要データはローカルケーブル会社が既に知っているから、顧客から得なければならない情報は、VCRのブランドとモデル名および顧客が用いようとしている圧縮コードを記載した刊行物の種類だけでよい。
【0161】
図43および44は、カスタムプログラマ1100に係わる上記の代替実施例を具現化するのに必要な回路を示した図である。この回路は、マイクロコンピュータ1150、発振器1152、液晶表示部1154、キーパッド1156、5方向IR送信機1158、および赤色警告発光ダイオード1160からなっている。これらの構成要素は、それぞれ、インスタントプログラマ300のマイクロコンピュータ380、発振器382、液晶表示部384、キーパッド386、5方向赤外トランスミッタ388、および赤色警告発光ダイオード332と直接対応するものであり、これらと同様な動作をするものである。図43および44において、受話器から一連のオーディオ信号が発せられ、この信号がマイクロホン1162によって受信される。
【0162】
図43に示されているように、マイクロホン1162によって受信されたオーディオ信号は、増幅器1164を通過し、さらにDTMFデコーダ回路を経由してマイクロコンピュータ1150のシリアルポートに入力される。図44の代替回路例においては、マイクロホン1162によって受信されたオーディオ信号は増幅器1166を通過し、さらにおよそ1から5KHzの遮断周波数を有する高域通過フィルタ1166を通り、第2の増幅器1170を経由してマイクロコンピュータ1150のシリアルポートに入力される。
【0163】
あるいは、デュアルマイクロホンシステム(図示せず)を採用して、信頼性、特にカスタムプログラマ1100のプログラムが背景雑音の大きな環境で行われ、単一マイクロホン音響手段を用いた場合ではデータ伝送が雑音によって妨害されてしまう場合における信頼性を向上することができる。このシステムでは、1つのマイクロホンを受話器の近傍に配置し、また第2のマイクロホンを背景雑音を検出するために受話器から一定距離隔たった場所に配置するようになされる。
【0164】
オーディオ信号打ち消し回路を用いて、第1のマイクロホンが検出したオーディオデータ信号と背景雑音の両方を含む信号から、第2のマイクロホンで検出された背景雑音を効果的に「引く」ことによって、純粋なオーディオデータ信号のみを得ることができる。
【0165】
他の好適な実施例は、図45に示すような分離型初期設定プログラマ1200に係わるものである。この初期設定プログラマ1200は、カスタムプログラマ1100の電話によるオーディオ信号プログラミング機能と基本的に同じ役割を果たすものである。すなわち、インスタントプログラマ300あるいはカスタムプログラマ1100の全セットアップを顧客に最小の負担をかけるだけで行えるものである。初期設定プログラマ1200は、インスタントプログラマ300あるいはカスタムプログラマ1100の販売人によって所持使用されるものである。初期設定プログラマは、ケーブルシテスムに対するローカルチャネルテーブルと、販売人の地域におけるGコードを付帯したテレビジョンカレンダーとをプログラムしておくことができる。顧客がインスタントプログラマ300あるいはカスタムプログラマ1100を購入した際に、販売人は、顧客の住所地域、その顧客が使用しているテレビジョンカレンダーとから、初期設定プログラマ1200を用いてその顧客のために、適切なローカルチャネルテーブルのダウンロードを行うことができる。さらにまた、初期設定プログラマ1200は、顧客のインスタントプログラマ300あるいはカスタムプログラマ1100に対して、クロック、VCRのブランドおよびモデル、ケーブルボックスのブランドおよびモデルの設定を行うことも可能である。
【0166】
初期設定プログラマ1200は、キーボード1202、表示部1204、エンクロージャ1206、カバー1208を有しており、また上端にはヒンジ1209が備えられており、これによってカバー1208を開けると、図46に示されているように凹部1210と2つの電気接続ピン1212が現れ、そこにインスタントプログラマ300あるいはカスタムプログラマ1100を保持することができるようになされている。初期設定プログラマ1200は、図47に示されているように、電話用モジュラージャック1230、およびシリアルポート1232を具備しており、これによってコンピュータとのデータの送受を直接あるいは電話回線を介して行うことができるようになされている。
【0167】
図48は、インスタントプログラマ300の底面に設けられている2つのアクセスホール1213を示したものであり、これによって、インスタントプログラマ300内部の回路基板(図示せず)上の2つの接続点にアクセスすることが可能なようになされている。図49は、初期設定プログラマ1200の凹部1210にインスタントプログラマ300を差し込み、2つの接続ピン1212がインスタントプログラマ300の底面のアクセスホール1213を通って上方へ伸張するように接続した状態を示したものである。また、図50は、初期設定プログラマ1200の凹部1210にカスタムプログラマ1100を差し込み、2つの接続ピン1212がカスタムプログラマ1100の底面のアクセスホール1136を通って上方へ伸張するように接続した状態を示したものである。
【0168】
図51は、初期設定プログラマ1200内に含まれる回路を示した図である。
【0169】
初期設定プログラマ1200は、マイクロコントローラ(NECμPD7530×)1214、液晶表示部1216、キーパッド1218、スタティックランダムアクセスメモリ(スタティックRAM)1220、コンピュータポート、およびプログラミングピン1224とを含んでいる。ローカルチャネルテーブルをコンピュータから初期設定プログラマ1200へ転送して、スタティックRAM1220に記憶することができるようになされている。
【0170】
図52は、パーソナルコンピュータ1226と初期設定プログラマ1200とのデータ転送接続を示した図である。ローカルチャネルテーブルは、シリアルRS−232ポートを介して+12Vおよび−12Vの信号としてパーソナルコンピュータ1226から出力される。+12Vおよび−12Vの信号はレベル変換器1228によってTTLコンパチブルな0Vおよび5Vの信号に変換されてマイクロコントローラ1214に入力される。レベル変換器1228は、初期設定プログラマ1200の外部に設置するようにもできるし、あるいは内部に設けるようにもできる。
【0171】
あるいは、ローカルチャネルテーブルデータの初期設定プログラマ1200への転送を、電話回線を介してオーディオ信号によって行うようにすることも可能である。さらに、初期設定プログラマへのローカルチャネルテーブルの入力は、キーボード1202を介して、インスタントプログラマ300あるいはカスタムプログラマ1100に対してローカルチャネルテーブルの入力を行うのと同じやり方で行うことも可能である。
【0172】
キーボード1202には、[クロック送信]、[チャネル送信]、[ケーブル送信]、および[VCR送信]が含まれており、これらによって、それぞれクロックの設定、ローカルチャネルテーブルのダウンロード、ケーブルボックスのブランドおよびモデルに対応するプロトコルの選択、VCRのフランドおよびモデルに対応するプロトコルの選択が行われる。情報が初期設定プログラマ1200に接続されたインスタントプログラマ300あるいはカスタムプログラマ1100にうまく転送されると、表示部1204に「転送成功」のメッセージが表示される。うまく転送されなかった場合には、「転送エラー」のメッセージが表示部1204に表示される。
【0173】
インスタントプログラマ300およびカスタムプログラマ1100へのデータの転送は、2つの接続ピン1212を介して行われる。これらのピンのうち最初のものはグランドピンである。第2のピンは、図22のテストポイント392に接続されている。テストポイント392は、マイクロコンピュータ380の割り込みピンと入出力(I/O)ピンの1つとに接続されている。これら2つのピンは、1つのピンで入力と出力の両方が実現できるように、オープンコレクタ法で互いに結合されている。2つの接続ピン1212は、カスタムプログラマ1100のマイクロコンピュータ1150に対しても同様の機能ピンに接続される。データは、これらのピンを介してTTL電圧レベルで4800ボーの速度でシリアルに転送される。すべての転送データを受信し終わると、インスタントプログラマ300およびカスタムプログラマ1100は、あらかじめ定められた長さのローパルスを初期設定プログラマ1200に対して返す。
【0174】
本発明の好適な実施例のカスタムプログラマ1100および初期設定プログラマ1200は、テレビジョン、ビデオカセットレコーダ、ケーブルボックス、あるいは衛生受信機中に容易に含ませるようにすることが可能である。カスタムプログラマ1100あるいは初期設定プログラマ1200を、テレビジョン、ビデオカセットレコーダ、ケーブルボックス、あるいは衛生受信機中に組み込むことは複雑なことではなく、適当なケーブル接続あるいはその他の伝送手段をこれらのいろいろなビデオ機器間に付加するだけで実現可能である。
【0175】
本発明の他の実施例は、図53乃至58に示されているカスタムコントローラ1300である。カスタムコントローラは、カスタムプログラマ1100と同一の回路を含み、同一の機能を有すが、自動的に設定可能な全自動ユニバーサル遠隔制御装置の機能をも実行する。カスタムコントローラは、その主制御表面1302及び補助制御表面1304上に、カスタムプログラマのボタン1102−1112及び1156と同様な機能を実行するボタンと、表示部1134、1154と同様な機能を実行する表示部1806と、IR発信器1131、1158と同様な機能を実行するIR発信器1314とを含む。カスタム
コントローラは、又、カスタムコントローラ1100上の蓋1114、及びインスタントプログラマ300上の蓋316及びキー316−330のように、カスタムコントローラを設定するのに使用される隠れたキー(図示せず)を覆う蓋(図示せず)が設けられている。蓋の下のキーは、インスタントプログラマ及びカスタムプログラマのように、記憶、入力、クロック、チャンネル、時間追加、VTR、ケーブル及びテストキーを含む。
【0176】
カスタムプログラマは、マイク1308を含み、マイク3108は、カスタムプログラマのマイク1140と同様な機能を実行し、マイクアクセス穴1309を通じてアクセス可能である。マイクにより、カスタムコントローラは、インスタント又はカスタムプログラマとして機能するために必要な設定情報(即ち、チャンネルマップ、一日の時間、ケーブルボックス及びVTRのモデル/ブランド)総てをプログラムする。これに替えて、カスタムコントローラは、インスタント及びカスタムプログラマの図面を参照して説明したと同様な方法で、図45乃至47及び図49乃至51で示される初期設定プログラマ1200によりプログラム可能である。対応して、カスタムコントローラは、設定プログラマ1200の接触ピン1212と接触がなされる、アクセス穴1310を含む。
【0177】
カスタムコントローラ1300は、又、赤外線遠隔制御装置により制御可能な如何なる家庭電化製品を操作するのにも使用可能なその制御表面1302、1304上に追加ボタンを含む。これらの標準赤外線遠隔制御装置は、制御される装置により実行される異なった機能の各々に対して異なったIR符号を送信することにより動作する。カスタムコントローラの各ボタンは、他の遠隔制御装置により普通に送信されるIR符号の送信を起動する。種々の家庭電化製品を制御するのに使用されるこれらIR符号の実際の構成は、ウエルズ(Wells)による米国特許番号4,623,887により詳しく説明されていて、参考としてここに編入されている。
【0178】
殆どの時間は、カスタムコントローラは、テレビ、VCR、ケーブルボックス、衛星受信機、ハイファイオーディオ装置を制御するのに使用される。インスタントプログラマ300及びカスタムプログラマ1100の両方は、ビデオレコーダ、ケーブルボックス、テレビ及び衛星受信機に対してユニバーサル遠隔制御装置として既に機能している。この両方は、これらの機器の種々のブランド及びモデルを制御可能だからである。しかし、インスタント及びカスタムプログラマは、ユニバーサル遠隔制御特性を、ケーブルボックス、ビデオレコーダ、テレビ及び生成受信機のチャンネルの変更及び選択、ビデオレコーダによる録画の開始、停止、及びこれらの装置の電源の投入、及び切断に使用しているのみである。しかし、カスタムコントローラの図面は、図43及び44に示されるカスタムプログラマの図面と同様であり、違いは、カスタムコントローラは、より多くのボタンを備えたキーパッド(1156参照)を含み、マイクロコンピュータ(1150参照)に於けるROM及びRAMの必要容量がカスタムプログラマに於けるより大きいことである。図58及び図59は、カスタムコントローラの二つの他の実施例のブロック図である。これらの二つのブロック図は、同じ基本部品を含むが、RAM1324及び1380、ROM1326及び1332の使用法及び最小容量は、異なる。
【0179】
完全ユニバーサル遠隔制御特性を備えたカスタムコントローラは、以下のように動作する。カスタムコントローラの制御表面1302、1304上に設けられているキーボード1320の各ボタンは、ボタンが押される度に発生されるボタン符号又はメモリアドレスと直接、接続されている。マイクロコンピュータ1322は、押されたボタンにより発生した符号又はアドレスを受信し、ボタンが、符号を発生すると、ボタン符号のアドレスを呼び出すために、ルックアップテーブルを参照する。このルックアップテーブル、及びマイクロプロセッサの動作を制御する命令は、ROM1362及び1332に記憶されている。
【0180】
図58の実施例では、マイクロプロセッサは、押されたボタンからのアドレスに於いて、RAM1324からのIR符号を呼び出す。この実施例では、ROMが、ボタン符号ルックアップテーブル及びマイクロプロセッサ命令を記憶することが必要なだけなので、ROMの最小の容量は小さい。しかし、ROMの容量は、キーボードの各ボタンの符号を記憶するに十分な程度に大きいことが必要である。
【0181】
図59の実施例では、マイクロプロセッサは、実際のIR符号を含むROM1332に対するアドレスを含むRAMに於けるルックアップテーブルを参照する。ROMアドレスは、キーボード1320上の押されたボタンからのアドレスに於いてRAMから呼び出される。IR符号は、RAMから呼び出されたアドレスに於けるROMから呼び出される。この実施例では、ROMは、多数の家庭電化製品のためのIR符号で予めプログラムされている。これにより、ROMの最小容量は、実質的に増加するが、ROMアドレスは、IR符号より一般に短いために、RAMの最小容量は、低減する。
【0182】
図58、59の実施例では、ROM又はRAMから呼び出されたIRコードは、IR発信器1328に送られ、ここから送信される。
【0183】
完全ユニバーサル遠隔制御装置としてカスタムコントローラが使用可能となる以前は、それが制御しようとする家庭電化製品の機能、ブランド及びモデルのためのIR符号でプログラムされねばならなかった。これは、従来、二つの異なった方法でなされてきた。第一に、カスタムコントローラは、各製品と共に支給された遠隔制御装置から、制御する製品のIR符号を“学習”できる。カスタムコントローラは、他の遠隔制御装置からIR符号を受信し、これらの符号を記憶し、カスタムコントローラのどのボタンにより各符号がRAMに関連づけられるかとを記憶する、IR受信器(図示せず)を含む。この種の“学習”コントローラは、通常、図58の回路を使用している。第二の従来のプログラム方法は、家庭電化製品の殆どのブランド及びモデルの殆どの機能のIR符号を含むROMを提供することである。ユーザは、ユーザがカスタムコントローラを使用する家庭電化製品のどのブランド/モデルであるかをカスタムコントローラに入力する。この方法に於いては、家庭電化製品の各ブランド及びモデルについて、カスタムコントローラは、又、製品用の符号と、IR符号の送信を起動するカスタムコントローラのキーとの間の関連をROMに保持する。この第二のプログラム方法を使用しているコントローラは、図59の回路を使用している。
【0184】
他の実施例に於いては、カスタムコントローラは、これらのいずれかでプログラム可能である。他の遠隔制御装置から“学習”されたIR符号は、図58のRAM1324に記憶される。これに替えて、図に示されるROM1332は、殆どのVCR、ケーブルボックス、衛星受信機、テレビ及びステレオ装置用のIR符号と、彼又は彼女が使用するこれらの装置がどのブランド/モデルであるかをプログラムする能力とを含む。更に、他の実施例では、図58及び59に示された実施例が、RAM1324及び1330に記憶されたデータ中のフラグビットを含ませることによって、組み合わせることが可能である。このフラグビットが、セットされると、そのアドレスに於ける残りのデータは、ROM1332に於けるIR符号の位置を示すROMアドレスとなる。フラグビットがセットされない場合は、そのアドレスに於ける残りのデータは、実際のIR符号データを含む。
【0185】
図53乃至60の好適な実施例に於いては、IR符号は、チャンネルマップ、ケーブルボックス及びVCRのブランド/モデル及び一日の時間を設定するのに使用されるマイク1308を通じて、カスタムコントローラのメモリにプログラムされる。図60に於いて示される処理に於いて、これはカスタムプログラマ1100に関して既に説明された処理に類似した処理であるが、ブロック1340に於いて、ユーザは、料金無料の800番、分単位料金の900番といった特定の電話番号、又は標準の料金が適用される標準の電話番号を呼び出す。ブロック1342では、顧客は、電話にて、遠隔地点の顧客サービス代理人に対して、話しかける。顧客サービス代理人は、カスタムコントローラを顧客が使用しようとする各家庭電化製品のブランド及びモデルについての情報を顧客から口頭で問い合わせる。ブロック1346及び1348では、顧客は、制御面1302及び1304の各ボタンがどの機能を実行するかにつき代理人に通報する機会を持つ。ブロック1350では、代理人は、この情報を遠隔地点のコンピュータに入力する。
【0186】
顧客が、どの機能を実行するためにカスタムコントローラのどのボタンを使用するかにつき特に好みがなければ、代理人は、コンピュータに如何なる好みも指定せず、コンピュータは、コンピュータに既に記憶されているボタンと、機能との間のデフォルト設定された関係に依存する。
【0187】
この情報が一旦コンピュータに入ると、ブロック1354で、コンピュータは、図58及び図59のいずれの実施例が使用されるかにより、少なくとも二つの異なった方法でカスタムプログラマをプログラムする。図58の実施例が使用されるとすると、カスタムプログラマに関連して既に説明され、且つ図43及び44に示されたいずれかの方法によりマイクアセンブリ1334を通じて、必要なIR符号の総てを、使用者の明示された希望に沿って、コンピュータは、キーボード1320上のボタンに関連するアドレスに於いてRAM1324にダウンロードする。この方法が使用されると、製造時に、カスタムコントローラのROMにIR符号を記憶する必要がなくなる。
【0188】
図59の実施例が使用されると、製造時にカスタムコントローラに装着されたROM1332は、家庭電化製品の多数の異なったブランド、モデル及び種類のIR符号でプログラムされる。この場合、コンピュータは、マイクアセンブリ1334を通じて、必要なIR符号の総てのためのROMアドレスを、IR符号自身をダウンロードする代わりに、RAM1330にダウンロードする。
【0189】
他の実施例では、ROM1332は、IR符号と、カスタムコントローラのボタンとの間のデフォルト設定された関係を記憶し、従って、顧客がボタンと、IR符号との関係が、デフォルト設定された関係とは異なっているものを要求しなければ、これらの関係は、ダウンロードされる必要はない。この方法は、遠隔地点からカスタムコントローラヘ電話線を通じて送る必要のあるデータ量を低減するが、カスタムコントローラに装備されるROMの容量及びコストを上昇させる可能性がある。顧客が制御したいと思う装置のIR符号が、ROMに含まれないといった稀な場合は、コンピュータは、図58に関連して既に説明した第一のプログラム方法に於けるように、その装置のIR符号自身をダウンロードするだけである。
【0190】
図58及び59に示された実施例の両方に於いて、図43又は44からのマイク及び復号化アセンブリが使用されることは注目される。好適には、図44のマイク及び復号化アセンブリは、DTMF復号器1166を使用している図43のアセンブリよりもより安価であるという理由で、使用される。図44に示されるシステムは、DTMFシステムに於けるような多数の二重周波数信号でなくて、二つの単周波数信号を使用している。第一信号は、約3000Hzのトーンであり、2進の“1”を意味するのに使用され、第二信号は、約500Hzのトーンであり、2進の“0”を意味するのに使用される。500Hzの信号が、この実施例では使用されるので、図44の1000−5000Hzの広域通過フィルタ1168の帯域幅は、マイク及び復号器アセンブリ1334に含まれる場合は、500Hzを含むように広帯域化する必要がある。
【0191】
これら二つのトーンの列が、電話線に送られ、2進の列を表現する。トーンの列の各トーンの間で無信号の短期区間が含まれ、二つの連なった500Hzの信号又は二つの連なった3000Hzの信号は、二つの連続した信号と解釈され、一つの連続した長い信号とは解釈されないようになっている。他の実施例では、信号トーンの列は、所定のクロックスピードで送られる。
【0192】
復号器(図不指示)が、マイクアセンブリ1334とマイクロプロセッサ1322とに間に含まれ、3000Hzの信号を高い電気信号へ、500Hzの信号を低い電気信号へ変換し、シリアル入力としてマイクロプロセッサに入力する。クロック信号は、同時に、低い又は高い信号でもって、マイクプロセッサに入力される。
【0193】
これに替えて、初期設定プログラマ1200が、マイク/電話インタフェースを使用する代わりに、カスタムコントローラ1300のIR符号のプログラムを実行するのに使用される。
【0194】
カスタムコントローラは、更に幾つかの特徴を有している。第一に、カスタムコントローラの背面1312は、十分に広いのでカスタムコントローラは、図61に示すように背面を下にして直立し、転倒しにくい。カスタムコントローラをこの直立位置に配置可能とする効果は、IR発信器1314が、カスタムコントローラが設置される面上のかなり高い位置にあるということである。これは、枕、新聞紙、雑誌又は他の雑多なものがカスタムコントローラの頂部に不注意に置かれる可能性を低める。カスタムコントローラが直立位置では、カスタムコントローラの頂部に雑多なものをバランスを維持して置くことは困難だからである。
【0195】
更に、カスタムコントローラの側に置かれた枕、雑誌及び他の雑多なものの積み重ねが、カスタムコントローラのIRの送信を妨げないほど、カスタムコントローラは、高くなければならない。この特徴は、非常に重要である。何故なら、ケーブルボックス及びVCRの側に常設ホールダーを雑誌や枕から離して備えることが可能なインスタントプログラマと異なって、完全ユニバーサル遠隔制御能力を有すカスタムコントローラは、ビデオ装置からある距離離れて置かれるように設計されているからである。更に、自動ビデオコントローラとして適切に機能するためには、カスタムコントローラのIR送信器は、制御するビデオ装置のIR受信器に対して直線で見通せることが必要である。
【0196】
背面1312の広がりの程度は、カスタムコントローラが、図58に示された直立位置に配置されたときに、安定し、転倒しないように十分広ければよい。背面の適当な大きさを決定するには、幾つかのファクタが考慮される。第一に、背面の長さ及び幅がほぼ同じであることが通常好ましい。長さが、幅よりかなり長い場合は(従来のユニバーサル遠隔制御装置の場合はそうであるが)、カスタムコントローラは、背面の幅方向の広がりに沿った軸に沿って容易に転倒する。次に、コントローラの高さに対する、背面の長さ及び幅の比が、大きすぎてはいけない。コントローラの背面の長さと高さの比、背面の幅と高さの比は、大体3から1であれば、通常、十分である。しかし、この比は、カスタムコントローラの密度の一様性、従って重心に依存する。カスタムコントローラの上部(直立の位置の配置の場合)が、下部よりより密度が高い場合は、重心は、高くなり、背面の幅及び長さの比は、低める必要がある。一方、下部がより密度が高いと、重心は、低く、比を高めても安全である。カスタムコントローラに於いて重心を低くする方法は、バッテリ1816を、比較的密度が高いので、背面に非常に近接して配置する方法である。
【0197】
カスタムコントローラの安定度の他のファクタは、カスタムコントローラの重心の横方向位置である。カスタムコントローラが、直立に配置されたとき重心が背面中心に近いほど、カスタムコントローラは、より安定する。図53乃至58に示されるカスタムコントローラの実施例の上部は、中心から外れていることは注目される。これにより、重心は、背面中心から若干はずれ、カスタムコントローラの外観を改善している。
【0198】
背面の形状は、特に重要ではないが、背面を通じた最短距離とされる。一方、カスタムコントローラの底面の形状は、重要である。底面は、半円形か、ほぼ半円形であることが好ましい。裏面が半円筒状に近いほど、カスタムコントローラは、顧客がカスタムコントローラを把握したとき、より心地よい。円筒形状は、人の手によりぴったりとなじむからである。
【0199】
カスタムコントローラの他の特徴は、二つの制御平面1302、1304である。初期制御平面1304は、カスタムコントローラが直立位置のときにもっとよく使用されるボタン、例えば、音量大、小のつまみを含むように設計されている。補助制御平面と背面とに間の角度は、45°以下である。この角度を45°以下とするのは、補助制御平面上のボタンを押すのに要する力の少なくとも半分がテーブルか、又はカスタムコントローラが置かれている他の面の方に、下方に向かい、カスタムコントローラが直立の配置にあるときカスタムコントローラを転倒させる可能性のある側方に向かわせないようにしている。
【0200】
カスタムコントーラ1300の2つの代替的実施例が図65−70及び図71−76に示されている。これらのコントローラは、背面に対して45度以下の角度を有する制御平面と、実質的に円形の底面と、従来の遠隔制御装置と比較してより大きい背面とを有している。
【0201】
カスタムコントローラの更に他の特徴は、ワンタッチチャンネルボタンである。これらのボタンは、HBO,ESPN,CNN又はMTVといった特定のテレビ又はケーブルチャンネルに割り当てられているものである。例えば、あるボタンが、CNNに割り当てられているとすると、CNNボタンが押されると、カスタムコントローラが、テレビ、ケーブルボックス又は衛星受信器でチャンネルをCNNが放送されているチャンネル番号に変更する。ユーザが、カスタムコントローラを設定するとき、彼又は彼女は、代理人に彼又は彼女が最も見たいチャンネルを伝え、代理人は、コンピュータにこれらのチャンネルに、カスタムコントローラ上の選択キーを同調させるように指令する。顧客は、代理人に、どのチャンネルに同調するために、彼又は彼女がカスタムコントローラ上のどのキーを望むかを連絡するか、又は代理人が、キーを選択できる。キー及びチャンネルが選択された後、顧客は、チャンネル名に同調するキーの側にそのチャンネル名を書き込むか、異なったチャンネル名のラベルが、支給され、カスタムコントローラの適当なボタンの側に貼り付けられる。これらのワンタッチ同調ボタンは、特に、補助制御平面上のボタンとしてプログラムするのに適切であり、従って、使用者は、カスタムコントローラを把持することなくこれらのボタンを操作することが可能である。
【0202】
図77及び78に示されている他の実施例は、図33に示されている実施例の変形例である。初期設定ルーチンは、図33の実施例のVCRで実行されなければならず、これは、インスタントプログラマ300で実行されなければならないものと類似している。これは、ローカルチャンネルマップ、現在時間及びVCRにより制御されるケーブルボックス、テレビ又は衛星受信機の識別を、VCRに入力することを含む。図33の実施例では、VCR自身、又はVCRを制御するの使用されるテレビ遠隔制御装置956の一連のキーを押すインスタントプログラマに於けると同様の方法で、ユーザにより手動により実行される。図77で示される本実施例では、図33からのテレビ遠隔制御装置は、自動プログラミングVCR遠隔制御装置1400(“VCR遠隔装置”)により置き換わる。VCR遠隔装置は、CPU1402、RAM1404、R0M1406、キーボード1408及びIR発信器1410を含み、これらは、IR遠隔制御装置ユニットに一般的である。更に、VCR遠隔装置は、マイク1412及びオーディオ信号復号器1414を含む。マイク及び復号器は、図43及び44に示される実施例1166又は1168乃至1170のいずれかである。以上説明したカスタムコントローラに於けるように、図44の復号器1168−1170及び図58−59の1334が、より経済的な実施例として好適である。
【0203】
以上の好適な実施例では、変形VCR遠隔装置1400は、又、カスタムコントローラの構造及び機能の総てを有するカスタムコントローラ1300といったユニバーサル遠隔装置でもある。こうして、VCR遠隔装置は、ケーブルボックス1428、VTR1416、テレビ1482、IR遠隔制御可能であるほかのどの補助家庭電化製品1434をも制御可能である。
【0204】
VCR遠隔制御装置の重要な効果は、初期設定のためにVCR1416に入力する必要のあるデータは、電話によりVCR遠隔制御装置に遠隔地点から、初めにダウンロード可能であるということである。これを実行するために、顧客は、電話で遠隔地点を呼出し、遠隔地点の人員の初期設定を実行するに要する情報を口頭で伝える。遠隔地点の人員は、ユーザにVCR遠隔装置のマイクを電話の受話器に近接して配置するように指示し、初期設定がダウンロードされる。以降、ユーザは、“送信”キー又は“送信”シーケンスのキーを押すことによりVCR遠隔制御装置からVCR自身にIR送信により、データのダウンロードを容易に実行できる。VCRは、初期設定データを受信し、それをメモリ1420に記憶し、インスタントプログラマとして使用可能状態にある。
【0205】
図79に示されている他の実施例では、図33に示されるようなインスタントプログラマ300の構成要素をVCRに内蔵する代わりに、図40−44に示されているマイク1450及び復号器アセンブリ1452を含むカスタムプログラマ1100の構造的要素が、VCR1454に内蔵される。この実施例に於いては、ユーザは、遠隔地点から直接初期設定データをVCRにダウンロードするために、VCRに内蔵されたマイクに電話1456の受話器を当てる。この実施例の困難な点は、ユーザのVCR及び電話は、時として、VCRに接近して電話の受話器を置くに十分なほど接近して配置されていないことである。これに対しては、電話に延長コードをすればよく、VCRを、電話により近く置くことは、利便的でない。
【0206】
図80に示される他の実施例では、カスタムプログラマが内蔵されたVCRのマイクは、VCRの復号器アセンブリ1452に直接接続されるモジュラーフォーンジャック1458により置き換わっている。標準電話線1460は、VCRをモジュラーT型コネクタに接続され、VCR及び独立の電話1464が電話線1466へ接続されている。顧客は、遠隔地点を呼出し、話すために電話を使用し、データが直接VCRに送信される。この方法によるデータの転送は、オーディオトーンによる送信より、より正確である。しかし、この実施例は、顧客の電話の引き出し口にVCRを近接するという同じ問題がある。
【0207】
図77に示されている実施例では、しかし、顧客の電話又は電話のジャックがVCRに近接しているのは、重要ではなかった。顧客は、遠隔装置を彼又は彼女の電話のところにもってきて、初期データがVCRの遠隔装置へダウンロードされる。顧客は、遠隔装置を、VCRの近くの位置にもってきて、初期設定データをVCRにダウンロードする。
【0208】
図81の他の実施例によれば、モジュラージャック1466は、VCR遠隔装置1400内に装備されている。この実施例では、VCR遠隔装置は、T型コネクタ1468により電話に接続される。初期設定データがVCRに転送された後、VCR遠隔装置はVCRに近接して置かれ、初期設定データが、IR送信によりVTRにダウンロードされること以外は、既に説明し、図80に示されたモジュラージャックを内蔵したVCRと同様に動作する。この実施例がモジュラージャック内蔵型のVCRより優れる一つの効果は、VCRが電話から遠く離れて置かれた場合でも、VCR遠隔装置を電話まで移動可能であることである。また、DTMF発生器をVCR遠隔装置に付加することも可能で、こうするとVCR遠隔装置のキーパッド1408は、遠隔地点の電話番号をダイヤルするのに使用可能である。これに替えて、遠隔地点の電話番号は、VCR遠隔装置のメモリに記憶することも可能であり、こうすると顧客は、最小限の数のキーを押すことにより遠隔地点をダイヤルすることが可能である。
【0209】
VCRの動作の詳細を以下に説明する。図78に示されるブロック1440の第一ステップで、顧客は、顧客サービス代理人に対して800番、900番又は通常料金の呼出しラインにて電話呼出しをする。ブロック1442で、代理人は、顧客のZIP符号又は顧客のケーブル会社の名称、使用者が使用しているテレビガイド、顧客のケーブルボックスのブランド及びモデル(このデータは、時として、ZIP符号又はケーブル会社の名称データから検索できる)及び顧客のVTRのブランド及びモデルといった、初期設定を実行するに要する情報を顧客に問い合わせる。カスタムプログラマの初期設定でそうであるように、チャンネルマップ及びケーブルボックスIR符号は、このデータから判別できる。VCR遠隔制御装置が、また、ユニバーサル遠隔制御装置の場合は、代理人は、顧客がVCR遠隔制御装置で制御したいと思う他のIR制御可能な家庭電化製品のいずれについてもそのブランド及びモデルについても問い合わせる。
【0210】
ダウンロードされるチャンネルマップ及びIR符号データがブロック1442で一旦識別されると、チャンネルマップ、IR符号データ及び日付を含む現在時間を含む初期設定データがVCR遠隔制御装置に電話ラインによりダウンロードされる。好適な実施例では、初期設定データは、代理人の位置に存在するか、又は代理人に接続されているコンピュータにより発生され、オーディオ信号の形で電話線に送信され、VCRの遠隔制御装置のマイク又はモジュラーフォーンジャック及び復号器により受信され、CPU1402によりRAM1404内に記憶される。
【0211】
ブロック1448では、顧客は、“送信”キーか、又はIR発信器を通じてVCR受信器への初期設定データの送信を起動するキーのシーケンスを押す。VCR遠隔制御装置が、ユニバーサル遠隔装置なら、ケーブルボックス以外のIR制御可能な装置のIR符号は、VCRに送信されないのが好ましい。これらは、VCRではなく、VCR遠隔制御装置自身で使用されるからである。データは、VCRのCPUによりVCRのRAMに記憶される。
【0212】
他の実施例に於いては、VCR遠隔制御装置のIR発信器は、多重指向性でも、広角度IR発信器でもない。より高価な多重指向性又は広角度のIR発信器は、必要とされない。VCR遠隔制御装置がテーブル上にあるか、ケーブルボックス又はVCR上にあるときは、IR発信器は、IR信号を送信するのには使用されないからである。
【0213】
いずれにせよ、好適な実施例では、多重指向性又は広角度のIR発信器は、総ての初期設定データの正常なダウンロードを可能性を増すためには、有効である。初期設定データの量は、大量ではないが、かなりの量ではある。かなりの期間の遮断されないIRの流れが、VCR遠隔制御装置からVCRへ送られることが必要である。IR信号の放射が多様であるほど、IR信号の流れの全てが、直接か、又は反射により、VCRのIR受信器に達する可能性が高くなる。
【0214】
現在のVCR遠隔制御装置以前に製造され、且つ、遠隔制御装置の使用を通じて初期設定を可能とする内蔵のインスタントプログラマ及びIR発信器を備える従来のVCRについて、VCR遠隔制御装置は、遠隔制御装置を使用した初期設定にこの従来のVCR自身のプロトコルを使用するために、製造時ROMに記憶されたプログラムによるか、又はRAMに電話入力するかにより、プログラム可能である。言い換えると、VCR遠隔制御装置は、初期設定を実行するためのVCRの元の遠隔制御装置を使用する使用者をまねるためにプログラムされる。
【0215】
特にVCR遠隔制御装置と共に使用するために設計されたVCRでは、VCRに送信されたIR送信の長さを短縮するために設計された特定のプロトコルが使用される。他の実施例では、この特定のプロトコルの部分は、VCRによる初期設定データの全体の流れの受信を確実とするために、従来の誤り検出手法及び誤り訂正手法又はいずれかと組合わさった受信確認信号を使用することを含む。使用可能な従来の誤り検出手法は、データの各バイトのパリティーチェックを使用し、全体のデータの流れの長さを示すデータの流れのある点に符号を埋め込むことを含む。これら、及び他の従来の誤り検出手法及び誤り訂正手法の使用により、VCRは、初期設定データが誤り無しで完全な流れが受信できたかどうかを確認することができる。受信されたデータが正しく、完全であることが確認された場合は、VCRは、初期設定データが正常に受信されたことを示す、オーディオ又はビジュアルの指示を発生する。受信データが正しく且つ完全であることが、確認されないと、VCRは、指示は発生させず、送信が正常ではないことを示す第二の指示を発生する。正常でない送信の場合は、消費者は、VCR遠隔制御装置の、VCRに対する位置関係を調整し、初期設定データを再度送信する。
【0216】
他の実施例は、VCR及びVCR遠隔制御装置にモジュラーフォーンジャックを備え、VCR遠隔制御装置からVCRへ初期設定データをダウンロードする。この実施例は、初期設定データのより誤りのない送信を提供するが、使用者に、VCR遠隔制御装置とVCRとを接続するために、ケーブルを接続したり、切り離したり、保管したりする作業を強いる。
【0217】
更に、他の実施例は、VCR遠隔制御装置に於けるマイク及び復号器アセンブリ1412−1414に類似したマイク及び復号器アセンブリを、VCRに備える。符号器及びスピーカ(図示せず)が、VCR遠隔制御装置に追加される。この実施例では、初期設定データは、VCR遠隔制御装置へ電話ラインを使用して初期設定データをダウンロードするのに使用されるようなオーディオ信号と同様な種類を使用して、VCR遠隔制御装置からVCRへ送信される。顧客が、VCR遠隔制御装置からVCRへ初期設定データを送信する準備ができると、彼又は彼女は、VCR遠隔制御装置のスピーカをVCRのマイクに対して保持し、送信を起動するためのキーを押す。この実施例の好適例では、現在のスピーカ及びマイク技術を使用して、VCR遠隔制御装置のスピーカ及びマイクは、単一のマイク/スピーカユニットに統合可能である。
【0218】
ブロック1446乃至1452のダウンロードのプロセスに於いては、VCRのチャンネルマップデータ及びIR符号データが送信され、VCR遠隔制御装置のRAMへ、まず、記憶される。以後、データは、VCRに再送信され、VCRのメモリに記憶される。VCRのチャンネルマップデータ及びIR符号データのVCRへの送信が完了した後、VCRのチャンネルマップ及びIR符号データは、VCR遠隔制御装置のRAMから消去される。VCR遠隔制御装置自身により使用されるためのIR符号データは、まず、VCRのチャンネルマップデータ及びIR符号データで、ダウンロードされ、このデータは、勿論、VCR遠隔制御装置のRAMから消去はされない。
【0219】
図53乃至76、特に図58及び59で示されるカスタムコントローラ1300に関して以上説明したように、直接か、又はVCR遠隔装置を通じてかによって、VCRに電話ラインを通じてダウンロードされる、ケーブルボックス及び他の遠隔操作可能な電子装置の制御用のIR符号は、異なった方法で、異なった実施例に於いて記憶される。多数のケーブルボックス及び他の装置のためのIR符号は、VCR及びVCR遠隔装置のROMに、VCR及びVCR遠隔装置にダウンロードされる、特定のケーブルボックス又は他の装置のためのIR符号のアドレスでもって、記憶することが可能である。これに替えて、IR符号自身がVCR又はVCR遠隔制御装置のRAMにダウンロードすることが可能である。
【0220】
VCR遠隔装置1400の種々の実施例にて示されるように、本発明は、テレビ、ケーブルボックス、衛星受信機、又は遠隔制御発信器を含むオーディオ・ビジュアルユニットと共に容易に使用可能である。これらの実施例に於ける動作の唯一の違いは、IR符号、及びVCR遠隔装置が使用しているダウンロードプロトコルである。しかし、以上説明したVCRは、これらの符号及びプロトコルを初期設定データと共に電話によりダウンロードする能力を有す。
【0221】
図40乃至81、及び付随する説明に示された実施例の全てに於いて、カスタムプログラマ1100、初期設定プログラマ1200、カスタムコントローラ1300、IR発信器及び直接電話入力内蔵のVCR(図79から80)及びVCR遠隔装置1400(集合的には、“電話ダウンロード可能なプログラマ”)にダウンロードされるデータ種類として与えられた例は、初期設定データである。
【0222】
この初期設定データは、IR符号、又は他の電子装置のための遠隔制御装置のIR符号アドレス、ローカルチャンネルマップ及び現在時間を含む。図82及び83で示される、電話でダウンロード可能なプログラマに対する変形例では、初期設定データに追加して、録画か、視聴したい番組を表すデータが、種々のダウンロード可能なプログラマにダウンロードされる。電話でダウンロード可能ないずれのプログラマについても、録画された番組を表すダウンロードされたデータは、番組のチャンネル、日付、時間、及び長さの実際の値である。これに替えて、インスタントプログラマ300の機能をまた実行する電話でダウンロード可能なプログラマは、録画されるか、視聴される番組を表すダウンロードされたデータは、圧縮符号か、又はG符号の形式をとり、これは、番組のチャンネル、日付、時間及び長さを含む。
【0223】
番組情報をダウンロードするこの実施例の物理的構成は、図82に示される。
【0224】
図83は、本実施例による番組情報を選択し、ダウンロードするための処理のフローチャートである。ブロック1500では、ユーザは、分単位料金又は呼出し単位料金の900番、料金無料の800番か、又は通常の有料番号かにより、電話で遠隔地点の顧客サービス代理人1520を呼び出す。ブロック1502では、ユーザは、ユーザが特定のショーを録画したいか、あるいは、録画するか、視聴したいショーの種類を特に指定せずより一般的な説明で、電話口で口頭で伝える。こういった一般的な特徴は、状況喜劇、ドラマ、アクションショー、ミステリ、警察探偵もの、実録の救助、緊急又は警察ショー、ゲームショー、ニュースマガジン、毎日のニュース番組、ドキュメンタリー、スポーツ、映画等である。
【0225】
一般的な説明は、特定の俳優又は女優が出演する、又はある監督により監督された映画又はショー(例えば、“全てのハンフリー・ポガード出演の映画”)、特定のチーム及び特定のスポーツ又はいずれかが関係するスポーツ(例えば、“全てのU.C.L.A.バスケットボールゲーム”)、異なったチャンネルで一週の内で何回も上演されるショー(例えば、“今週の'アイ・ラブ・ルーシ'の全て”)といったより具体的な説明を含む。
【0226】
ブロック1504では、代理人は、ブロック1502でユーザにより与えられた情報をコンピュータ1522へ入力する。このコンピュータは、ハードディスクといった大容量記憶装置1526に記憶された将来放送されるテレビ番組の大きいデータベースを含む。コンピュータは、代理人により入力された情報に一致するテレビ番組を求めてデータベースを検索し、入力された情報に一致する各番組のチャンネル、日付、時間及び時間長のデータを呼び出す。ブロック1506で、コンピュータは、自動的に、互いに重複する番組間の時間的重複についてデータベース検索で呼び出された番組の全てについて、日付、時間及び時間長データをチェックする。
【0227】
時間重複がある場合は、コンピュータは、時間的重複があり、関連する番組があるということにつき代理人に対して注意を促す。ブロック1508では、代理人は、時間重複及び重複番組につきユーザに通報する。ユーザは、重複している番組につき、彼又は彼女がそのいずれを録画又は視聴したいかにつき決定する。これに替えて、重複をさけるために、録画した他の番組と部分的に重複する番組の非重複部分のみを選択できる。例えば、日曜日午後8時に始まる二つの番組を選択する場合、一つは、一時間番組であり、一つは、二時間番組であると、ユーザは、一時間番組を録画し、二時間番組の二時間目を録画するように選択できる。ユーザは、代理人にどう重複を処理したいかにつき連絡し、ブロック1510で、代理人は、この情報をコンピュータに入力し、コンピュータは、ブロック1512で、選択された番組をそのように調整する。
【0228】
一実施例では、ブロック1514で、コンピュータは、データベース検索後、時間重複があればその時間重複を解決した後に残っている番組の各々のチャンネル、日付、時間、及び長さを、インスタントプログラマ300の機能を実行するダウンロード可能なプログラマで使用するためにG符号に変換する。そのようなプログラマは、破線で示されるプログラマ1524であり、CPU1526と、マイクと区域通過フィルタ1528(図44で示されるプログラマ1100と類似の)と、CDTL情報を記憶するためのスタックメモリを含むランダムアクセスメモリ(RAM)1532と、ROM1530とを含む。ブロック1516で、コンピュータは、インスタントプログラマ300の機能を実行する電話でダウンロード可能のプログラマに電話ラインでG符号をダウンロードする。
【0229】
他の実施例では、ブロック1514及び1516は、単一のブロック(図示せず)で置き換わり、そのブロックでは、コンピュータは、データベースの検索で選択され、時間重複がある場合はその時間重複を解決した番組の各々のチャンネル、日付、時間及び長さを表すデータを、電話でダウンロード可能なプログラマ1524へ電話ラインでダウンロードする。
【0230】
番組データが電話でダウンロード可能なプログラマヘダウンロードされた後、G符号がダウンロードされた場合は、番組データは、チャンネル、日付、時間及び長さに復号化され、CDTLデータがいずれの電話ダウンロード可能なプログラマのメモリ、例えばRA
M1582のスタックメモリに記憶される。これは、番組データが、以上のべたようなG符号から復号化された後、インスタントプログラマ300の、図12のスタックメモリ76といった、スタックメモリに記憶されると同様な方法でなされる。番組データがメモリに記憶されると、既に説明した種々の電話ダウンロード可能なプログラムで実行されると同様な方法で、このデータにより番組の録画の制御がなされる。
【0231】
他の実施例では、番組データは、VCRの制御のためではなく、テレビ又はケーブルボックスの制御のために、電話ダウンロード可能なプログラマにダウンロードされる。この実施例では、ユーザは、電話ダウンロード可能なプログラマを使用して、ユーザが何時にあるかを忘れたり、他のショーに夢中になったり、あるいはユーザが単にマニュアルでチャンネルを変更したくないために、大事なショーを逃さない目的で、彼又は彼女のテレビ又はケーブルボックスのチャンネルを単に変更することが可能である。
【0232】
テレビ番組の将来のテレビ放送についての多量の情報量を記憶するためのデータベースのフォーマットと、及びデータベースを操作したり、検索したりするに使用されるデータベースプログラムとは、従来のいずれのデータベースフォーマット及び対応するデータベースエンジンでもよい。好適な実施例では、使用のデータベースフォーマットは、一連のレコードを含み、各レコードは、フィールドの所定の組み合わせを含み、このフィールドの所定の組み合わせは、データベースのいずれの他のレコードに於けるフィールドの組み合わせとも同一である。各テレビ番組は、データベースの一つのレコードに対応する。各レコードは、番組のタイトル、チャンネル、日付、開始時間及び時間長のためのフィールドを含む。
【0233】
更に、各レコードは、一連のブールフィールドを含み、各フィールドは、状況喜劇、ロマンチックな映画、スポーツ番組といったテレビ番組のカテゴリーを表す。この実施例の効果は、多数の異なったカテゴリーが容易に表現され、検索され、スペースは殆ど必要としない。この実施例は、百を越える異なったカテゴリーフィールドがある場合にも、通常、ブールフィールドは、殆どのデータベースファイルフォーマットの各レコードの1ビットか、多くても1バイトのスペースを占有するのみである。各カテゴリーフィールドの小さいサイズは、あるカテゴリーに於ける全ての番組につきデータベースの高速な検索を容易にしている。この実施例では、多重、重複カテゴリーが許される。例えば、データベースは、犯罪を主題としたもの、コメディー、フィクションの別のカテゴリーフィールドを備える。一つのテレビ番組は、犯罪に関するフィクションコメディーとすると、これらの三つのカテゴリーフィールドに於いて“真”の値である。一方、番組が、犯罪に関する実録のドラマとすると、これらの三つのカテゴリーの一つ、犯罪を主題としたフィールドに於いてのみ“真”値を含む。
【0234】
ブールカテゴリーフィールドに加えて、各レコードは、幾つかの“人”フィールドを含む。“人”フィールドの内容は、番組のキャラクター、俳優及び女優、監督、及び番組作成に携わった作家を含む。こうして、ユーザが、ある人、キャラクター、俳優、番組の作成者にかかわる全ての番組をプログラムしたい場合、コンピュータは、この情報のために“人”フィールドを検索する。これに替えて、個々に、キャラクター、俳優、女優及び番組の作成者の個別フィールドを設けてもよい。
【0235】
各レコードは、テレビ番組の暴力、セックスの内容のためのフィールドを含んでもよい。映画の場合は、映画協会による等級のフィールドが使用できる。各レコードに於いて、若干の暴力、明白な暴力、半裸体描写、裸体描写、不敬、アダルト描写、及びセックス描写といった記述のためのブールフィールドが使用可能である。こうして、番組は、これらの一般内容情報の基づいて、検索により取捨選択される。
【0236】
データベースの各レコードは、番組の簡単な説明からなる要約を含んでもよい。これにより、全ての要約フィールドをあるキーワード又はキーワードの組み合わせにより検索することにより、時間はかかるが、特定の番組の内容の詳細で、広範囲な検索が可能となる。
【0237】
以上の説明によって、本発明による、テレビ番組の録画予約のための圧縮コードを用いた装置と方法、およびそれに付随する利点とについて理解できたであろう。また、以上の説明は、単に好適な実施例として示したものであり、本発明の主旨と範囲を逸脱することなく、また本質的な利点を犠牲にすることなしに形式、構造、構成部品の配列をいろいろに変更することが可能である。

【特許請求の範囲】
【請求項1】
テレビジョン番組情報を通信する方法であって、
前記方法は、
ユーザ機器とテレビジョンスケジュール情報のデータベースとの間に通信リンクを確立することであって、前記データベースは、前記ユーザ機器から離れた場所にあるサイトに配置されている、ことと、
前記ユーザ機器から、前記ユーザ機器から離れた場所にある前記サイトに、テレビジョン番組選択基準を通信することであって、前記テレビジョン番組選択基準は、前記テレビジョン番組のコンテンツに関する情報を含み、前記選択基準は、前記テレビジョンスケジュール情報内で、将来の録画のために選択可能な複数の番組を識別するために用いられる、ことと、
前記テレビジョン番組選択基準に基づいて、テレビジョンスケジュール情報の前記データベースをサーチし、前記データベースから番組識別データを導出することであって、前記番組識別データは、前記番組選択基準を満たすテレビジョン番組に対応する、ことと、
前記番組識別データを前記通信リンクを介して前記ユーザ機器に伝送することと
を含む、方法。
【請求項2】
前記番組識別データによって識別されたテレビジョン番組の録画を制御することをさらに含み、前記制御することは、前記ユーザ機器によって実行される、請求項1に記載の方法。
【請求項3】
前記番組識別データによって識別された番組の視聴を制御することをさらに含み、前記制御することは、前記ユーザ機器によって実行される、請求項1に記載の方法。
【請求項4】
前記通信リンクを確立することは、前記ユーザ機器と前記テレビジョンスケジュール情報の前記データベースとの間に電話接続を確立することを含む、請求項1に記載の方法。
【請求項5】
前記番組識別データは、番組のチャンネルおよび時刻の表現を含む、請求項1に記載の方法。
【請求項6】
前記番組識別データは、圧縮された番組コードを含む、請求項1に記載の方法。
【請求項7】
前記テレビジョン番組選択基準は、カテゴリーと、テーマと、番組に登場するパーソナリティと、番組の制作に関与するパーソナリティと、ライターと、スポーツチームと、番組タイトルと、番組タイトルの一部分と、番組放送の期間と、コンテンツの評価とから構成されるグループのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
前記ユーザ機器は、ケーブルボックスコントローラを含む、請求項1に記載の方法。
【請求項9】
前記ユーザ機器は、衛星受信機コントローラを含む、請求項1に記載の方法。
【請求項10】
テレビジョン番組情報を通信するシステムであって、
前記システムは、
ユーザ機器と、
前記ユーザ機器から離れた場所にあるサイトに配置された番組スケジュール情報のデータベースであって、前記データベースは、テレビジョン番組選択基準に基づいて、サーチされるように構成されており、かつ、前記テレビジョン番組選択基準に対応する少なくとも1つのテレビジョン番組に対する番組識別データを導出するようにさらに構成されており、前記テレビジョン番組選択基準は、前記テレビジョン番組のコンテンツに関する情報を含み、前記選択基準は、前記テレビジョンスケジュール情報内で、将来の録画のために選択可能な複数の番組を識別するために用いられる、データベースと、
前記ユーザ機器と前記ユーザ機器から離れた場所にある前記サイトとの間の通信リンクであって、前記通信リンクは、前記ユーザ機器から、前記ユーザ機器から離れた場所にある前記サイトに、前記テレビジョン番組選択基準を伝送し、かつ、前記ユーザ機器から離れた場所にある前記サイトから前記ユーザ機器に前記番組識別データを伝送するように構成されている、通信リンクと
を含む、システム。
【請求項11】
前記ユーザ機器は、前記番組識別データによって識別されたテレビジョン番組の録画を制御するように構成されている、請求項10に記載のシステム。
【請求項12】
前記ユーザ機器は、前記番組識別データによって識別されたテレビジョン番組の視聴を制御するように構成されている、請求項10に記載のシステム。
【請求項13】
前記通信リンクは、前記ユーザ機器と前記離れた場所にあるサイトとの間の電話接続を含む、請求項10に記載のシステム。
【請求項14】
前記番組識別データは、番組のチャンネルおよび時刻の表現を含む、請求項10に記載のシステム。
【請求項15】
前記番組識別データは、圧縮された番組コードを含む、請求項10に記載のシステム。
【請求項16】
前記テレビジョン番組選択基準は、カテゴリーと、テーマと、番組に登場するパーソナリティと、番組の制作に関与するパーソナリティと、ライターと、スポーツチームと、番組タイトルと、番組タイトルの一部分と、番組放送の期間と、コンテンツの評価とから構成されるグループのうちの少なくとも1つを含む、請求項10に記載のシステム。
【請求項17】
前記ユーザ機器は、ケーブルボックスコントローラを含む、請求項10に記載のシステム。
【請求項18】
前記ユーザ機器は、衛星受信機コントローラを含む、請求項10に記載のシステム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図17A】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate

【図64】
image rotate

【図65】
image rotate

【図66】
image rotate

【図67】
image rotate

【図68】
image rotate

【図69】
image rotate

【図70】
image rotate

【図71】
image rotate

【図72】
image rotate

【図73】
image rotate

【図74】
image rotate

【図75】
image rotate

【図76】
image rotate

【図77】
image rotate

【図78】
image rotate

【図79】
image rotate

【図80】
image rotate

【図81】
image rotate

【図82】
image rotate

【図83】
image rotate


【公開番号】特開2011−15412(P2011−15412A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2010−167637(P2010−167637)
【出願日】平成22年7月26日(2010.7.26)
【分割の表示】特願2008−291565(P2008−291565)の分割
【原出願日】平成6年2月22日(1994.2.22)
【出願人】(505150626)ジェムスター ディベロプメント コーポレイション (16)
【Fターム(参考)】