(57)【特許請求の範囲】
【請求項１】
ユーザがシステムの種々な機能を制御する際にガイドとなるテキスト情報を表わすテキスト・データを処理する方法であって、前記テキスト情報は第１テキスト・ストリングと、フォーマットの違いを除いて前記第１テキスト・ストリングと同一である第２テキスト・ストリングと、を含んでいるものにおいて、
前記第２テキスト・ストリングを、メモリに置かれた前記第１テキスト・ストリングを表わすテキスト・データと関連づけられたフォーマット変更コード・ワードによって表現するステップと、
前記テキスト・データを前記メモリから取り出すステップであって、前記フォーマット変更コード・ワードが前記第１テキスト・ストリングを表わす前記テキスト・データと関連づけられているとき、前記第１テキスト・ストリングを表わすテキスト・データを前記第２テキスト・ストリングを表わすテキスト・データに変換するステップを含んでいるものと、
前記テキスト情報をディスプレイ・デバイスにより表示させることができるテキスト表示信号を、前記取り出されたテキスト・データに応答して生成するステップと、
を含んでいることを特徴とする方法。
【請求項２】
前記第１テキスト・ストリングは比較的頻繁に前記テキスト情報の中に現れ、前記第１テキスト・ストリングを表わす前記テキスト・データよりも少ないビットを含んでいる、テキスト・ストリングを表わすコード・ワードによって表現されており、
前記メモリから取り出すステップは、前記テキスト・ストリングを表わすコード・ワードを前記第１ストリングを表わす前記テキスト・データに変換し、さらに前記フォーマット変更コード・ワードが前記テキスト・ストリングを表わすコード・ワードと関連づけられているときには、前記テキスト・ストリングを表わすコード・ワードを前記第２テキスト・ストリングを表わす前記テキスト・データに変換するステップを含む、
ことを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザがシステムの種々な機能を制御する際にガイドとなるテキスト情報を表わすテキスト・データを処理する方法に関するものである。
【０００２】
さらに詳述すると本発明は、テキスト・データ圧縮を利用したテレビジョン・オンスクリーン・ディスプレイシステムに関し、特に本発明は、比較的小さなメモリを装備したコンピュータ・ベース制御システムを採用したコンシューマ・エレクトロニクス製品用のオンスクリーン・ディスプレイ・システムで使用するのに特に適しているテキスト・データ圧縮方法に関する。
【０００３】
なお、本明細書の記述は本件出願の優先権の基礎たる米国特許出願第０８／３６６，４１６号（１９９４年１２月２９日出願）の明細書の記載に基づくものであって、当該米国特許出願の番号を参照することによって当該米国特許出願の明細書の記載内容が本明細書の一部分を構成するものとする。
【０００４】
【従来の技術】
精巧なフィーチャ（ｆｅａｔｕｒｅ  −  特徴）は、テレビジョン受信装置、衛星放送受信装置、ビデオ・カセット・レコーダ（ＶＣＲ）およびカムコーダ（ｃａｍｃｏｒｄｅｒ）  などのコンシューマ・エレクトロニクス製品でますます採用されるようになっている。このようなフィーチャは製品に対する使用者の満足度を高めているが、他方では、使い方が複雑化する傾向にある。これに応じて、「オンスクリーン」ディスプレイ（”ｏｎ−ｓｃｒｅｅｎ”  ｄｉｓｐｌａｙ  −  ＯＳＤ）  と呼ばれるシステムがコンシューマ・エレクトロニクス製品で採用される傾向が増大している。このシステムは、表示されているスクリーンを介して指示（インストラクション）、ステータス（状況）およびその他の情報を表示して、これらフィーチャの使い方を容易化している。ＯＳＤシステムは、テキスト・メニューを表示することがよくある。これらのテキスト・メニューは階層構造になっていて、順次にアクセスすることにより、使用者がフィーチャを系統的に使用できるようにガイドする。
【０００５】
表示されるテキストを表すデータは、リードオンリ・メモリ（ＲＯＭ）に格納されている。この場合、ＲＯＭはコンシューマ・エレクトロニクス製品の動作を制御するために使用されるマイクロプロセッサに内蔵している場合と、外付けされる場合とがある。テキスト・データは、特に階層メニューの場合には、大量のメモリを使用する可能性がある。メモリのサイズはそのコストと直接に関係するために、ストアしておくテキスト・データ量を制限して、コンシューマ・エレクトロニクス製品のコストをできるかぎり低く抑えることが重要である。また、制御ファンクション（機能）とフィーチャ用に利用できるメモリ量を最大限にするために、テキスト・データ量を制限することも重要になっている。
【０００６】
【発明が解決しようとする課題】
テキスト・データ圧縮手法は、ストアしておく必要のあるテキスト・データ量を低減する方法として知られている。例えば、テキスト・データは、ＡＳＣＩＩコードまたはフォーマットと呼ばれる形式でストアされているのが普通であり、この場合、各テキスト文字は、固有の８ビット・ワードまたはバイトで表されている。ハフマン符号化（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）などの、統計的符号化手法（ｓｔａｔｉｓｔｉｃａｌ  ｃｏｄｉｎｇ  ｔｅｃｈｎｉｑｕｅ）を使用すると、８未満のビットを使用して常用される文字を表すことが可能になっている。この種の符号化によると、得られる圧縮比（圧縮されたテキストの量と、未処理（ｒａｗ）  テキストの量との比率）が非常に高くなることがよくある。しかし、圧縮されたテキスト・データは、ＡＳＣＩＩと同じフォーマットになっていない（つまり、８ビット・ワードになっていない）ので、伸張（ｄｅｃｏｍｐｒｅｓｓｉｏｎ−デコード化）  を行うとき容易に認識することができない。
【０００７】
別の圧縮手法では、よく使用される（ｃｏｍｍｏｎ）ワードやフレーズの辞書を使用している。この辞書の各エントリは、例えば、非ＡＳＣＩＩワードに対応する８ビットの固有コード・ワードで表されており、最終的にストアされたテキスト・データ内のワードやフレーズと置き換えるために使用されている。
【０００８】
【課題を解決するための手段】
本発明は、ケース（大文字と小文字）などのフォーマットの違いを除いて、第１のテキスト「ストリング」（１個のワードまたはワードの列を含む）と同一である第２のテキスト・ストリングを表すテキスト・データを、フォーマット変更コード・ワード（これは、第１のテキスト・ストリングをどのように変更すると第２のテキスト・ストリングが得られるかを示している）で置き換えると、テキスト圧縮が達成できるとの認識に基づいてなされたものである。ケース・フォーマット変更（ｃａｓｅ  ｆｏｒｍａｔ  ｃｈａｎｇｅ）の１つの例では、ケースの違いとは、小文字または大小混合文字になっている第１のテキスト・ストリングを大文字にすると、第２のテキスト・ストリングが得られるような場合である。別の例では、ケースの違いとは、小文字または大小文字になっている第１のテキスト・ストリングを「タイトル・ケース（ｔｉｔｌｅ  ｃａｓｅ）」バージョン（各ワードの先頭文字が大文字になっている）にすると、第２のテキスト・ストリングが得られるような場合である。この種のテキスト・データ圧縮手法は、ＡＳＣＩＩのように、同一文字の小文字バージョンと大文字バージョンが異なる８ビット・コードで表わされるようなコードが採用され、同じテキスト・ストリングの異なるケース・バージョンが１つまたは２つ以上のオンスクリーン・メッセージの中で表示されるようなときに利点がある。
【０００９】
本発明のもう１つの特徴は、上に示したケース・テキスト圧縮手法を、ディクショナリ・テキスト・データ圧縮手法などの、他のテキスト・データ圧縮手法と統合化するときの方法に係わるものである。
【００１０】
本発明の上記およびその他の特徴ついては、以下、添付図面を参照して説明する。
【００１１】
【発明の実施の形態】
図１に示すテレビジョン受信装置は、複数のテレビジョン信号を受信するための入力１と、複数の受信テレビジョン信号の１つを選択し、該選択したテレビジョン信号からビデオ信号とオーディオ信号を導き出す入力選択ユニット３と、ビデオ信号とオーディオ信号を処理する信号処理セクション５と、処理されたビデオ信号とオーディオ信号が取り出される出力７と９とを備えている。出力７と９のそれぞれから取り出された、処理済みビデオ信号とオーディオ信号は、ディスプレイ・ユニット１１およびサウンド再生ユニット１３のそれぞれに結合されている。
【００１２】
一般的には、入力選択ユニット３と信号処理ユニット５の種々のファンクションと、テレビジョン受信装置の種々のフィーチャは、ユーザ・コントロール・ユニット１７から受信された制御信号に応答してマイクロプロセッサまたはマイクロコンピュータ１５によって制御される。ユーザ・コントロール・ユニット１７は、リモート・コントロール送信装置とリモート・コントロール受信装置（図示せず）を含んでいる場合がある。マイクロプロセッサ１５は、中央演算処理ユニット（ＣＰＵ）１９と、リードオンリ・メモリ（ＲＯＭ）２１と、ランダム・アクセス・メモリ（ＲＡＭ）２３を内蔵している。ＲＯＭ２１はテレビジョン受信装置を制御するための制御プログラムとその他のデータを格納しており、ＣＰＵ１９によって生成されたアドレス（Ａ）ワードによってアドレスされる。ＲＯＭ２１に格納されたデータ（Ｄ）はＣＰＵ１９に結合され、そこでデータが処理される。ＲＡＭ２３は、ＣＰＵ１９によって処理されたデータを一時的にストアしている。ＲＯＭ２１とＲＡＭ２３は、破線で囲んで示しているように、ＣＰＵ１９と同じ集積回路に一体的に実装されているものとして示されているが、ＲＯＭ２１とＲＡＭ２３はどちらか一方を別ユニットにすることも、両方を別ユニットにすることも可能である。
【００１３】
図１に示すテレビジョン受信装置は、ディスプレイ・ユニット１１とサウンド再生ユニット３がその「セット」内に一体的に含まれている「テレビジョン・セット」である場合と、ビデオ・カセット・レコーダ（ＶＣＲ）である場合とがあり、ＶＣＲの場合には、ディスプレイ・ユニット１１とサウンド再生ユニット１３は外部のテレビジョン・セット内に含まれている。後者の場合には、ビデオ信号とオーディオ信号はベースバンド信号の形で直接に外部のテレビジョン・セットに結合されている場合もあれば、変調されてＲＦ搬送波に乗せられ、外部のテレビジョン・セットのＲＦ入力に結合されている場合もある。テレビジョン受信装置は地上放送ステーションから、あるいはケーブル分配ネットワークから送信されたＲＦ信号を受信する従来のテレビジョン受信装置である場合もあれば、地球軌道上の衛星から送信されたマイクロ波信号を受信する衛星テレビジョン受信装置である場合もあれば、電話網からのテレビジョン信号を受信するテレビジョン受信装置である場合もある。
【００１４】
上記に示したテレビジョン受信装置の各タイプの最新版は、かなり複雑な制御ファンクションとフィーチャを非常に多数を備えており、これらはユーザが制御することが可能になっている。これらのファンクションとフィーチャを使い易くするために、図１に示すテレビジョン受信装置は、文字（キャラクタ）を表わす信号を生成するキャラクタ・ジェネレータ２５を備えており、この信号を受けて、ディスプレイ・ユニット１１は、ユーザのガイトとなるテキスト命令、ステータスおよびその他の情報を表示している。キャラクタ（文字）信号は信号処理セクション５に結合され、そこで、文字信号がディスプレイ・ユニット１１に結合されるビデオ信号に挿入される。文字信号は、以下に説明するように、マイクロプロセッサ１５のＲＯＭ２１に格納されているテキスト・データに応答して生成される。
【００１５】
任意の時点で表示されるテキスト情報はテキスト「スクリーン」（ｔｅｘｔ  ｓｃｒｅｅｎ）  と呼ばれている。各スクリーンはいくつかのテキスト・ストリングからなり、これは、短いものは１テキスト・ワードの場合もあれば、数行にわたる長さの場合もある。各テキスト文字（テキスト・キャラクタ）は文字を表わす固有のコード・ワードで表わされている。例を挙げると、各文字は、よく知られている８ビット（１バイト）のＡＳＣＩＩコードで表わすことができる。スクリーンのテキスト・データはＲＯＭ２１の「スクリーン」部分に格納されている。スクリーンを表示する必要があるときは、対応するテキスト・データがＲＯＭ２１のスクリーン部分から取り出され、文字生成制御データ（ｃｈａｒａｃｔｅｒ  ｇｅｎｅｒａｔｉｏｎ  ｃｏｎｔｒｏｌ  ｄａｔａ）  に変換される。この文字生成制御データはＲＡＭ２３のディスプレイ・バッファ部分に蓄積されていき、そのあと、キャラクタ・ジェネレータ２５に結合される。
【００１６】
ユーザが制御オペレーションを進めていくとき順次に表示されるスクリーンには、種々の制御ファンクションやフィーチャのために必要になるものがいくつかある。例えば、ユーザがユーザ・コントロール・ユニット１７のキーを操作したとき順次に表示される階層メニューがガイドとなって、ユーザは制御オペレーションを進めていくことができる。このようなＯＳＤの装備（ＯＳＤ  ｐｒｏｖｉｓｉｏｎｓ）は、ユーザが多数の複雑なファンクションやフィーチャを制御できるようにするために極めて重要であるが、そのためには非常に大量のテキスト・データが必要になる。この結果、ＲＯＭ２１のサイズが大きくなるか（従ってコストが増加する）、あるいは制御ファンクション用に利用できるメモリ・スペースが制限されることになる（またはその両方が起こることになる）。
【００１７】
先に述べたように、統計的テキスト・データ圧縮手法を用いると、ストアしておく必要のあるテキスト・データ量を削減することができる。これらの手法は、ユーザがテレビジョン受信装置の種々のファンクションやフィーチャを使用するときのガイドとなるスクリーンが、いくつかの共通テキスト・ストリングやサブストリングを含んでいるのが一般的であるとの認識を利用している。一例を挙げると、使用頻度の最も高いテキスト・ストリングを表わすテキスト・データは、未圧縮形式（ｕｎｃｏｍｐｒｅｓｓｅｄ  ｆｏｒｍ）  でＲＯＭ２１の「ディクショナリ」部分にストアされている場合がある。ディクショナリ・エントリの各々は、固有のディクショナリ・エントリを表わすコード・ワードで識別されているが、このコード・ワードは、文字を表わす（例えば、ＡＳＣＩＩ）コード・ワードのどれにも対応していない。ディクショナリ・エントリがスクリーンに現われるたびに、そのエントリは、それぞれのディクショナリ・エントリを表わすコード・ワードで置き換えられている。ディクショナリ・エントリを表わすコード・ワードは、ＲＯＭ２１のディクショナリ部分のそれぞれのメモリ・ロケーションのアドレスに対応しており、そこには、常用される種々のテキスト・ストリングを表わす未圧縮テキスト・データが収められている。スクリーンのテキスト・データがアセンブルされるとき、ディクショナリ・エントリを表わすコード・ワードがＲＯＭ２１のスクリーン部分に現われるたびに、それぞれの未圧縮テキスト・データがＲＯＭ２１のディクショナリ部分から読み出される。その結果、テキスト・スクリーン用に必要なＲＯＭ２１のメモリ・スペース量は大幅に削減されることになる。
【００１８】
統計的データ圧縮手法では、ストアしておく必要のあるテキスト・データ量を削減するが、追加の制御ファンクション用に利用できるメモリ・スペース量を最大限にし、コンシューマ・エレクトロニクス製品のアプリケーション用のメモリのサイズ（従ってコスト）を最小限にするために、より以上の削減が望まれる。本発明は、ユーザがテレビジョン受信装置などのコンシューマ・エレクトロニクス製品を使用するときのガイドとなるスクリーンが、すべて大文字の英字の使用といったように、フォーマットを除いて同一であるテキスト・ストリングとサブストリングを含んでおり、大文字の英字が種々のスクリーンでこれらのストリングとサブストリングを選択的に強調表示したり、ハイライト化（高輝度表示）するために使用されているという事実を利用したものである。具体的には、本発明は特殊なフォーマット変更コード・ワードを使用して、小文字（ｌｏｗｅｒ  ｃａｓｅ）または大小混合文字（ｍｉｘｅｄ  ｃａｓｅ）から大文字への変更といった、フォーマットの変更を示している。この点に関して注目すべきことは、ＡＳＣＩＩコードでは、同じ英字の大文字と小文字が２つの異なるコード・ワードで表わされていることである。フォーマット変更制御ワードは、第１のテキスト・ストリングを表わすテキスト・データの隣に、例えば、その直前にストアされて、フォーマットの変更を除いて第１のテキスト・ストリングと同一である第２のストリングを表わすようにしている。フォーマット変更コード・ワードが見つかると、第１のストリングを表わす隣接テキスト・データは第２のストリングを表わすテキスト・データに変換される。その結果、小文字または大小混合文字の第１のテキスト・ストリングの各文字を表わすテキスト・データだけでなく、大文字の第２のテキスト・ストリングの各文字を表わすテキスト・データをストアしなくても、第１のストリングを表示させるときは第１のストリングの各文字を表わすテキスト・データを単独でストアし、第２のストリングを表示させるときはフォーマット変更コード・ワードと一緒にストアするだけで済むことになる。数学的には、このことは、第１および第２のテキスト・ストリングの各々がＮ個の文字を含んでいれば、２ストリングについて２Ｎバイトではなく、Ｎ＋１バイトをストアするだけで済むことになる。
【００１９】
フォーマット変更コード・ワードは、ＲＯＭ２１のスクリーン部分内のテキスト・データだけに使用することも可能であるが、本発明の別の形態によれば、フォーマット変更コード・ワードをＲＯＭ２１のディクショナリ部分内で使用して、ストアしておく必要のあるテキストをさらに削減している。
【００２０】
以下の表は本発明によるテキスト・データ圧縮のいくつかの例を示している。この表においては、次のようなコード化記号（ｃｏｄｉｎｇ  ｓｙｍｂｏｌ）  が用いられている。
【００２１】
ＸＸＸ
テキスト・ストリングＸＸＸを表わすテキスト・データを示している。
【００２２】
［ＵＩ＿ＸＸＸ］
ＸＸＸテキスト・ストリングに対応する８ビット・ディクショナリ・エントリ・コード・ワードを示している。
【００２３】
［ＵＰＰＥＲ＿ＴＥＸＴ］
そのあとに続くテキスト・データで表わされたテキストを、小文字または大小混合文字から大文字へ変換させる１バイト・フォーマット変更コード・ワードを示している。
【００２４】
−
コード・ワードのラベル中の１文字スペースを示している。
【００２５】
【表１】
0003599867.tif 000002
例１と例２は、ディクショナリを使用して、頻繁に現われる  ”Ａｎｔｅｎｎａ”（アンテナ）というワード（単語）を圧縮する場合である。例１を参照して説明すると、ＲＯＭ２１のスクリーン部分にストアされたテキスト・データにディクショナリ・エントリ・コード・ワード［ＵＩ＿Ａｎｔｅｎｎａ］が見つかったとき、”Ａｎｔｅｎｎａ”  の語を表す未圧縮テキスト・データを収めているＲＯＭ２１のディクショナリ部分のメモリ・ロケーションがアドレスされ、その内容が取り出され、”Ａｎｔｅｎｎａ”  というワードの文字生成制御データを生成するために使用される。そのあと、”Ａ”の文字を表わす未圧縮テキスト・データが見つかると、”Ａ”の文字の文字生成制御データが直接に生成される。このようにして、”Ａｎｔｅｎｎａ  Ａ”  というテキスト・ストリングが表示される。テキスト・ストリング”Ａｎｔｅｎｎａ  Ｂ”  は、例２に示すように同じように表示される。
【００２６】
例３と例４は、ディクショナリ・エントリが係わりをもつとき、フォーマット変更制御ワードを使用して、小文字または大小混合文字から大文字へ変更する場合である。”Ａｎｔ”  というワードは”Ａｎｔｅｎｎａ”  というワードの短縮語であり、スクリーンでは頻繁に使用されないため、例３に示すようにディクショナリ・エントリをもっていない。”Ａｎｔ”  というワードを大文字に変換したものである、”ＡＮＴ”  というワードを表わすためには、例４に示すように、”Ａｎｔ”  というワードを表わす未圧縮テキスト・データの直前に置かれた大文字変更コード・ワード［ＵＰＰＥＲ＿ＮＥＸＴ］を使用することが可能である。しかし、”ＡＮＴ”  というワードがスクリーンで使用される回数に応じて、また”ＡＮＴ”  というワードは３文字だけからなるので、”ＡＮＴ”  というワードを直接に表わすテキスト・データをストアするだけにした方が実用的である。
【００２７】
例５と例６は、ディクショナリ・エントリが係わりをもたないとき、フォーマット変更制御ワードを使用して小文字または大小混合文字から大文字へ変更する場合である。”Ａｕｄｉｏ”  というワードはスクリーンで頻繁に使用されるので、例５に示すようにディクショナリ・エントリをもっている。”Ａｕｄｉｏ”  というワードを大文字に変換したものである”ＡＵＤＩＯ”  というワードを表わすために、例６に示すように、大文字変更コード・ワード［ＵＰＰＥＲ＿ＮＥＸＴ］は、”Ａｕｄｉｏ”  に対応するディクショナリ・エントリ・コード・ワード［ＵＩ＿Ａｕｄｉｏ］の直前に置かれている。
【００２８】
例７は、ディクショナリ・エントリにあるワードとディクショナリにないワードが共に係わりをもつとき、フォーマット変更制御ワードを使用して小文字または大小混合文字を大文字へ変換する場合である。”Ａｕｄｉｏ”  というワードと接尾部（ｓｕｆｆｉｘ）”ｏｒ”は共にスクリーンで頻繁に使用されるため、それぞれのディクショナリ・エントリ・コード・ワード［ＵＩ＿Ａｕｄｉｏ］と［ＵＩ＿ｏｒ］  をもっている。しかし、”Ｐｒｏｃｅｓｓ”  というワードは頻繁に使用されないので、ディクショナリ・エントリ・コード・ワードをもっていない。”Ａｕｄｉｏ  Ｐｒｏｃｅｓｓｏｒ”  というテキスト・ストリングは［ＵＩ＿Ａｕｄｉｏ］  Ｐｒｏｃｅｓｓ［ＵＩ＿ｏｒ］  によって表わされ、”ＡＵＤＩＯ  ＰＲＯＣＥＳＳＯＲ”  というテキスト・ストリングは［ＵＰＰＥＲ＿ＮＥＸＴ］［ＵＩ＿Ａｕｄｉｏ］  Ｐｒｏｃｅｓｓ［ＵＩ＿ｏｒ］  によって表わされる。
【００２９】
大文字フォーマット変更制御ワード［ＵＰＰＥＲ＿ＮＥＸＴ］は、テキスト・ストリングを直接に表わしている（必要ならば、ＲＯＭ２１のディクショナリ部分から取り出した後の）、そのあとに続くテキスト・データの英字を表わす各バイトを、その英字に対応する大文字を表わすように１バイトずつ変換するものである。従って、テキスト・ストリング全体を表わすテキスト・データの最後を判断できることが必要である。テキスト・ストリングの最後は、ＲＯＭ２１のスクリーン部分において特殊なテキスト・ストリング終了コード・ワード（ｅｎｄ  ｏｆ  ｔｅｘｔ  ｓｔｒｉｎｇ  ｃｏｄｅ  ｗｏｒｄ：例えば、１６進コードの０）で示される。しかし、このテキスト・ストリング終了コード・ワードは、ＲＯＭ２１のディクショナリ部分では使用されない。その代わりに、テキスト・ストリングに含まれるバイト（文字）の数が各ディクショナリ・エントリごとにストアされ、テキスト・ストリングの最後は、処理されたバイトの数をカウントすることにより判断される。テキスト・データ伸張（ｄｅｃｏｍｐｒｅｓｓｉｏｎ）  プロセスがもつ上記形態とその他の形態については、図２に示すように、ＲＯＭ２１に格納された制御プログラムのテキスト・データ伸張部分のフローチャートを参照して、以下に詳しく説明する。
【００３０】
既述のように、表示される情報は、１つまたは２つ以上のテキスト・ストリングを含むスクリーンによって編成される。スクリーンのテキスト・データはＲＯＭ２１に格納されている。スクリーンを表示するときは、スクリーンの種々のテキスト・ストリングは、テキスト・ストリングのすべてのテキスト・データが処理されるまで、スクリーン制御プログラム（図２に１ブロックで示されている）に従って順次に処理されていく。このスクリーン制御プログラムは、テキスト・ストリングに対応するテキスト・データの各バイトをＲＯＭ２１のスクリーン部分から読み出し、ストリングの最後に達するまでテキスト伸張プログラム（図２の残余部分に示されている）に従って１バイトずつ処理していく。テキスト・ストリングの最後は、特殊なテキスト・ストリング終了コード・ワードによって示される。そのあと、次のテキスト・ストリングのテキスト・データが処理される。
【００３１】
次に処理されるバイトはステップ００１で取り出され、ステップ００２で検査されて、それが制御コード・ワードであるかどうかが判断される。そのバイトが制御コード・ワードであれば、ステップ００３で検査され、それが大文字フォーマット変更コード・ワードであるか、ディクショナリ・エントリ・コード・ワードであるかが判断される。検査されているバイトが大文字フォーマット変更コード・ワードであれば、この出現バイトがセットされたことを示すように大文字フラグがステップ００４でセットされ、次のバイトがステップ００１で取り出される。検査されているバイトがディクショナリ・エントリ・コード・ワードであれば、ＲＯＭ２１のスクリーン部分に入っている次のバイトのアドレスがストリング・ポインタ・レジスタに格納され、ＲＯＭ２１のディクショナリ部分に入っているそれぞれのテキスト・ストリングと、それぞれのテキスト・ストリングのバイト（キャラクタ）数がステップ００５で判断される。次のバイトのアドレスをＲＯＭ２１のスクリーン部分に格納しておく必要があるのは、ＣＰＵ１９の同じアドレス・レジスタがＲＯＭ２１のスクリーン部分とディクショナリ部分の両方のために使用されるからである。テキスト・ストリングのアドレスと文字数は、同じくＲＯＭ２１のディクショナリ部分に格納されているルックアップ・テーブル（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ）  から判断される。そのあと、ディクショナリ・エントリ・フラグは、コード・ワードがディクショナリ・エントリ・コード・ワードであることを示すようにステップ００６でセットされ、次のバイトがステップ００１で取り出される。
【００３２】
検査されているバイトがコード・ワードでなければ（ステップ００２）、検査されているバイトがディクショナリ・エントリの一部であるかどうかがステップ００７で判断される。これは、ディクショナリ・エントリ・フラグのステート（状態）を調べることによって行われる。検査されているバイトがディクショナリ・エントリの一部であれば、ディクショナリ・エントリ内のバイト（キャラクタ）数を格納している文字カウント・レジスタの内容が、ステップ００８で１だけデクリメント（減少）される。そのあと、ディクショナリ・エントリの最後に達したかどうかがステップ００９で判断されるが、これは、バイト（キャラクタ）カウント・レジスタの内容がゼロに達したかどうかを調べることによって行われる。ディクショナリ・エントリの最後に達していれば、ストリング・ポインタ・レジスタがステップ０１０で使用され、ＲＯＭ２１のスクリーン部分に置かれた次のバイトのアドレスを示すようにアドレス・レジスタをセットする。ディクショナリ・エントリの最後にまだ達していなければ（ステップ００９）、あるいはアドレス・レジスタの内容がＲＯＭ２１のスクリーン部分内の次のバイトを示すようにセットされたあとで（ステップ０１０）、大文字フォーマット変更コード・ワードがディクショナリ・エントリ・ストリングを表わすテキスト・データの前に置かれていたかどうかがステップ０１１で判断されるが、これは、大文字フラグがセットされていたかどうかを判断することにより行われる。大文字フラグがセットされていれば、処理されているバイトは、その処理中のバイトが表わしている英字の大文字を表わすバイトに変換される（ステップ０１２）。これは、ＡＳＣＩＩコードが使用されていれば、オフセット値を処理中のバイトに加えることにより、そうでなければ、ルックアップ・テーブルによって行うことができる。この変換は、処理中のバイトがすでに大文字の英字を表わしている場合は、行われない。大文字フラグがセットされていなければ（ステップ０１１）、あるいは大文字コード変換が行われたあと（ステップ０１２）、キャラクタ・ジェネレータ２５用の文字生成制御データがステップ０１３で生成される。
【００３３】
検査されているバイトがコード・ワードでなく（ステップ００２）、かつ、ディクショナリ・エントリの一部でなければ（ステップ００７）、大文字フォーマット変更コード・ワードが、ＲＯＭ  ２１のスクリーン部分でストリングを表わすテキスト・データの前に置かれていたかどうかがステップ０１１で即時に判断される。上述したのと同じように、大文字フラグがセットされていなければ（ステップ０１１）、あるいは大文字コード変換が行われたあと（ステップ０１２）、キャラクタ・ジェネレータ２５用の文字生成制御データがステップ０１３で生成される。
【００３４】
ディクショナリ手法を使用すると、ハフマン・デコード化（Ｈｕｆｆｍａｎ  ｄｅｃｏｄｉｎｇ）などの他のタイプのデータ圧縮手法に比べていくつかの利点が得られる。この手法では、認識がし易く、扱い易いテキスト・データが使用されている。この手法によれば、未圧縮テキスト・データを透過的に（ｔｒａｎｓｐａｒｅｎｔｌｙ）  受け渡しするテキスト・データ・デコード化手順が可能であるので、圧縮テキスト・データと未圧縮テキスト・データのテキスト・デコード化プロセスを別々にしないで済むことになる。従って、計算ステップと処理時間を最小限にするのに役立つことになる。実際のデータ圧縮に加えて、計算ステップを節減すると、メモリ・スペースを追加の制御ファンクションやフィーチャのために利用することが可能になる。
【００３５】
フォーマット変更制御コード化をディクショナリ・コード化と統合化すると、テキスト・ストリングやサブストリングの重複が除去されるので圧縮効率が向上する。
【００３６】
さまざまなテキスト・スクリーンのテキスト・データをＲＯＭ  ２１に格納することは、製造工程で行われる。テキスト・データ圧縮は、コンピュータ・プログラマが未処理テキスト（ｒａｗ  ｔｅｘｔ）を分析し、どのテキスト・ストリングやサブストリングが頻繁に現われるためにディクショナリに含めておくべきか、どのテキスト・ストリングやサブストリングが大文字変換コード・ワードを必要とするかを判断することにより、手作業で行うことが可能である。別の方法として、テキスト圧縮のすべてまたは一部を、コンピュータ・プログラムで行うことも可能である。このようなコンピュータ・プログラムのフローチャートは図３に示されている。
【００３７】
図３に示すフローチャートのステップ００１から００３までと００６は説明するまでもない。ステップ００４は、結果としてテキスト・データ圧縮が行われないディクショナリ・エントリの除去に係わるもので、このステップでは、一度しか現われないエントリや長さが一文字だけのエントリの除去が行われる。ステップ００５では、エントリ数と使用可能なディクショナリ・エントリ・コード・ワード数とを対比する評価が行われる。例えば、８ビットが使用されるときは、可能とされる固有コード・ワードは２５６（２８）個である。ＡＳＣＩＩキャラクタ用に必要になるのは、２５６個のコード・ワードのうち１２８個であり、この中には、大小混合文字テキスト・ストリング用に格納しておくべき大文字の英字やＡＳＣＩＩ制御ワードである大文字の英字が含まれている。従って、ディクショナリ・エントリが１２８個を越えるときは、一部を除去する必要がある。どのエントリを除去するべきかの判断を行うためには、コード・ワードで表わされたテキスト・ストリングがどのような頻度でテキスト・ストリングに現われ、各テキスト・ストリングに含まれる文字がいくつであるかを評価する必要がある。削除すべきエントリには、出現頻度が最も少ないエントリや、含んでいる文字数が最も少ないエントリがある。
【００３８】
これまでは、テレビジョン受信装置と関連づけて本発明を説明してきたが、以上の説明から理解されるように、本発明は、ビデオ・ディスク再生器やビデオ・ゲーム機器のように、コスト、従ってメモリ・サイズを削除することが関心事となっている他のタイプのコンシューマ・エレクトロニクス製品にも適用可能である。その意味において、本発明は、テキスト情報を大量に表示して種々のファンクションやフィーチャの使用を容易化し、しかもメモリ・サイズを制限することが望ましいとされるような、どのシステムにも適用可能である。
【００３９】
また、これまでは、すべて小文字または大小混合文字から大文字への変更を表わすフォーマット変更コード・ワードを利用するテキスト圧縮の場合を例にして本発明を説明してきたが、異なるタイプの大小文字のフォーマット変更を表わす他のフォーマット変更コード・ワードを利用することも可能である。例えば、テキスト・ストリングの各ワード（単語）の先頭文字を大文字にして、タイトル・ケース・バージョンにすることを示すフォーマット変更コード・ワードを利用することが可能である。同じように、下線付きでない（ｕｎ−ｕｎｄｅｒｌｉｎｅｄ）  テキストから下線付きの（ｕｎｄｅｒｌｉｎｅｄ）テキストへの変更や、非イタリック（ｕｎ−ｉｔａｌｉｃｉｚｅｄ）  テキストからイタリック（ｉｔａｌｉｃｉｚｅｄ）テキストへの変更、通常テキストからボールド体（太字）テキストへの変更といったように、大小文字の変更以外の他のフォーマットの変更を示すために、他のフォーマット変更コード・ワードを利用することも可能である。さらに、フォント・スタイルやサイズの変更を示すために他のフォーマット変更コード・ワードを使用することも可能である。また、これまでは、好適実施例として、ディクショナリ・タイプのテキスト・データ圧縮を説明してきたが、他のタイプの統計的テキスト・データ圧縮手法を利用することも可能である。
【００４０】
これまでに説明してきた本発明で使用されるフォーマット変更コード・ワードは、変換すべきテキストを表わすテキスト・データの前に置かれていたが、このフォーマット変更コード・ワードは、変換すべきテキストを表わすテキスト・データのあとに置くことも可能である。
【００４１】
これまでに説明してきた本発明で使用される圧縮手法では、フォーマット・タイプのテキスト・データ圧縮が別タイプのテキスト圧縮手法と統合された形で使用されているが、このフォーマット・タイプのテキスト・データ圧縮は、他のタイプのテキスト・データ圧縮と切り離して使用することも、単独で使用することも可能である。
【００４２】
これまでに説明してきた本発明で使用されるオンスクリーン・ディスプレイ（ＯＳＤ）システムでは、テキスト情報は、ビデオ・イメージ（映像）を表示するために使用されるものと同じディスプレイ・デバイスによって表示されたが、本発明は、操作に関する情報を表示するために特別に用意されたディスプレイ・デバイスを含んでいる製品に使用することも可能である。
【００４３】
上記に列挙した変更およびその他の変更は、特許請求の範囲に明確化されている本発明の範囲に属するものである。
【図面の簡単な説明】
【図１】本発明の一形態に従って構成された「オンスクリーン」ディスプレイ（ＯＳＤ）システムを含んでいるテレビジョン受信装置を示すブロック図である。
【図２】本発明の他の形態に従いテキスト・データを取り出し、テキスト・データを伸張（圧縮の復元）し、図１に示すＯＳＤシステムによる表示のためにデータを提示する方法を示すフローチャートである。
【図３】本発明の他の形態に従い図１に示すＯＳＤシステムにストアするためにテキスト・データを圧縮する方法を示すフローチャートである。
【符号の説明】
３  入力選択ユニット
５  信号処理セクション
１１  ディスプレイ・ユニット
１３  サウンド再生ユニット
１５  マイクロプロセッサ
１７  ユーザ・コントロール・ユニット
１９  ＣＰＵ
２１  リードオンリ・メモリ（ＲＯＭ）
２３  ランダム・アクセス・メモリ（ＲＡＭ）
２５  キャラクタ・ジェネレータ
【図１】
0003599867.tif 000003
【図２】
0003599867.tif 000004
【図３】
0003599867.tif 000005