(57)【要約】【課題】フォント・データの圧縮によるデータ量の低減と、復元に要するオーバーヘッドとの間の兼ね合いを最適にする装置および方法を提供する。【解決手段】圧縮データ記憶形式２１４と非圧縮データ記憶形式２１２を組み合わせたものを用いて、メモリ素子に関連する情報蓄積を向上させる。フォント・データは、圧縮せずに格納される場合があり、それにより、復元に関連するオーバーヘッドが減らされ、また復元後にフォントを格納するのに充分なメモリを提供する必要性が低減される。実行可能コード２１６は格納のため圧縮される。【選択図】　　　　図２
2004017659.tif 000002
【特許請求の範囲】
【請求項１】
フォント・データを、圧縮せずに第１のタイプのメモリに格納し、
実行可能コードを圧縮し、それにより、圧縮された実行可能コードを形成し、
前記圧縮された実行可能コードを、前記第１のタイプのメモリに格納する、
プロセッサ実行可能命令を含む、プロセッサ読取り可能媒体。
【請求項２】
前記圧縮された実行可能コードを、復元するように構成し、それにより、前記実行可能コードを再形成し、
前記実行可能コードを、第２のタイプのメモリに移すように構成する、
命令をさらに含む、請求項１記載のプロセッサ読取り可能媒体。
【請求項３】
前記実行可能コードを、前記第１のタイプのメモリに入っている前記フォント・データにアクセスするように構成する、
命令をさらに含む、請求項１記載のプロセッサ読取り可能媒体。
【請求項４】
前記実行可能コードを、プリンタの機能を制御するように構成する、
命令をさらに含む、請求項１記載のプロセッサ読取り可能媒体。
【請求項５】
ＲＡＭメモリ素子と、
ＲＯＭメモリ素子と、
前記ＲＯＭメモリ素子上に定められ、少なくとも１つの非圧縮フォントに関連するデータを含む非圧縮フォント・データ・ライブラリと、
復元による実行可能コード・ファイルへの変換に基づき、また、前記ＲＡＭメモリ素子への移動に基づき、プリンタの機能をサポートするように構成された圧縮された実行可能コード・ファイルと、
を備えているプリンタ。
【請求項６】
前記ＲＯＭメモリ素子上に定められ、少なくとも１つの圧縮フォントに関連するフォント・データを含む圧縮フォント・データ・ライブラリをさらに備えている、請求項５記載のプリンタ。
【請求項７】
前記圧縮フォント・データ・ライブラリ内で見つけ出されたフォント・データを復元し、それにより、復元されたフォント・データを生成するように構成され、かつ、前記復元されたフォント・データを前記ＲＡＭメモリ素子上に格納するように構成された、前記実行可能コード・ファイル内に配置された復元モジュールをさらに備えている、請求項６記載のプリンタ。
【請求項８】
前記圧縮フォント・データ・ライブラリに格納されたマスタ・フォントと、
前記非圧縮フォント・データ・ライブラリに格納された少なくとも１つのフォント・スタイルのバリアントと、
をさらに含む、請求項６記載のプリンタ。
【請求項９】
圧縮形式および非圧縮形式の情報を用いてファームウェアを構成する方法であって、
非圧縮フォント情報を、ＲＯＭメモリ素子に格納するステップと、
圧縮された実行可能コードを前記ＲＯＭメモリ素子上に格納するステップと、を含み、
前記圧縮された実行可能コードは、復元されて、それにより、実行可能コードを形成するように構成され、またＲＡＭメモリ素子に移されて、前記非圧縮フォント情報にアクセスするように構成される、方法。
【請求項１０】
圧縮されたフォント情報を前記ＲＯＭメモリ素子に格納するステップと、
前記ＲＯＭメモリ素子内の前記圧縮されたフォント情報を復元するように、前記実行可能コードを構成するステップと、
をさらに含む、請求項９記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本開示は、メモリ中の圧縮データと非圧縮データを分離することに関する。
【０００２】
【従来の技術】
多くのプリンタに入っているファームウェアは、実行可能ソフトウェア・コードと、リードオンリーメモリ（ＲＯＭ）に格納されているフォント・データを含む。ソフトウェアも、フォント・データも両方とも、所要のＲＯＭのサイズを最小限に抑えるために圧縮されている。一連の電源投入動作を開始すると、実行可能ソフトウェアは、ＲＯＭから取り出されて、復元され、ランダムアクセスメモリ（ＲＡＭ）に移されて、動作を行う。同様に、フォント・データも、必要に応じて、取り出されて、復元され、ＲＡＭに移される。
【０００３】
【発明が解決しようとする課題】
実行可能ソフトウェアとフォント・データの性質の違いのために、実行可能ソフトウェアの圧縮は、フォント・データの圧縮よりも効果的である。その結果、圧縮プロセスは、フォント・データの格納に必要なＲＯＭスペースを大きく減らすことができない。さらに、復元プロセスは、復元されたフォント・データを格納する追加ＲＡＭスペースだけでなく、達成するための時間とＲＡＭスペースとを必要とする。
【０００４】
安価なプリンタに関連して、圧縮アルゴリズムがフォント・データのサイズを大きく減らすことができず、しかも、オーバーヘッドが復元プロセスに関与してくることは、大きなコスト負担である。よって、安価なプリンタを製造する費用は、削減しにくいものであった。
【０００５】
【課題を解決するための手段】
圧縮データ記憶形式と非圧縮データ記憶形式を組み合わせたものを用いて、メモリ素子に関連する情報蓄積を向上させる。フォント・データは、圧縮せずに格納される場合があり、それにより、復元に関連するオーバーヘッドが減らされ、また復元後にフォントを格納するのに充分なメモリを提供する必要性が低減される。実行可能コードは格納のため圧縮される。
図面の全体を通じて、同じ参照番号を用いて、同じ特徴および構成要素を参照する。
【０００６】
【発明の実施の形態】
圧縮データ記憶形式と非圧縮データ記憶形式を組み合わせたものを用いて、ＲＯＭ、不揮発性ＲＡＭ（ＮＶＲＡＭ）、または他の不揮発性メモリ素子に関連する情報蓄積を向上させる。フォント・データは、圧縮せずに不揮発性メモリ素子（以後、本明細書ではＲＯＭと呼ばれる）に格納されることがあり、それにより、復元に関連するオーバーヘッドが減らされ、また復元後にフォントを格納するのに充分なＲＡＭを提供する必要性が低減される。実行可能コードは格納のため圧縮されて、ＲＯＭに移される。
【０００７】
図１は、圧縮形式と非圧縮記憶形式を用いて向上した情報蓄積の一例がプリンタ１０２で例示されたシステム１００を示している。このプリンタは、ネットワーク１０６上で、ワークステーション１０４または他のクライアント・コンピュータとやり取りする。プリンタ１０２は、図示された模範的なプリンタ、デジタル・コピー機、多機能周辺機器、または他の出力装置などの、ファームウェアが入っている任意の装置であって良い。このネットワークは、ケーブル、ＬＡＮ（ローカル・エリア・ネットワーク）、ＷＡＮ（広域ネットワーク）、インターネット、あるいは、他のネットワーク・トポロジまたはネットワーク技術であって良い。
【０００８】
図２は、図１のプリンタ１０２で例示された一実施形態に入っている構成要素を示すブロック図である。プロセッサ２０２は、ＲＯＭ２０４とＲＡＭ２０６を含むメモリを読み取り、かつ／または、書き込む。このプロセッサは、プリント・エンジン２０８とやり取りしており、さらに、そのプリント・エンジンが、印刷機構２１０を駆動するのに用いられるラスタなどのデータを構成する。この印刷機構は、レーザ・エンジン、または他の印刷技術に基づくことができる。
【０００９】
ＲＯＭ２０４には、非圧縮フォント・ライブラリ２１２が入っている。また、この非圧縮フォント・ライブラリには、少なくとも１つのフォントに関連するフォント・データおよび情報が、非圧縮データ記憶形式で入っている。例えば、タイムズ・ニュー・ローマンのフォントは、非圧縮フォント・ライブラリの中に、非圧縮データ形式で格納され得る。
【００１０】
圧縮フォント・ライブラリ２１４は、オプションとして、含まれて良い。この圧縮フォント・ライブラリには、少なくとも１つのフォントに関連するフォント・データおよび情報が、圧縮データ記憶形式で入っている。例えば、Ａｒｉａｌフォントは、圧縮フォント・ライブラリの中に、圧縮データ形式で格納され得る。一般に、フォントは、それが、絶えず、または多量に使用される場合、また、利用可能ＲＡＭスペースを含むリソースが、フォントの復元および利用に使える場合にのみ、圧縮フォント・ライブラリの中に格納される。
【００１１】
少なくとも１つの圧縮された実行可能コード・ファイル２１６が、ＲＯＭに入っている。この実行可能コード・ファイルは、プリンタの一連のスタートアップ動作または電源投入動作のときに復元されて、ＲＡＭ素子２０６内に見られる実行可能コード・ファイル２１８が得られる。プロセッサ２０２による実行可能コードの実行は、プリンタの機能をサポートし、例えば、実行可能コードの中に含まれる命令により、プロセッサ２０２は、プリント・エンジン２０８および印刷機構２１０の動作を制御することができる。さらに、実行可能コードまたは他の場所内に配置され得る復元モジュール２２０は、圧縮フォント・データ２１４を復元するように構成され、その結果、復元されたフォント・データ２２２がＲＡＭ内に配置される。
【００１２】
マスタ・フォント２２４とは、フォント・バリアント（フォント変形）を追加して、独自のフォントとなるように変えることのできるフォントである。したがって、１つのマスタ・フォントと、複数のフォント・バリアントが、複数の従来のフォントの機能を提供できる。このマスタ・フォントには、通常、すべてのフォントに共通である或る情報が入っている。フォント・バリアントには、異なるフォントの間で変わるセリフなどの情報が含まれる。
【００１３】
マスタ・フォントを多量に使用する場合には、マスタ・フォントは、圧縮形式を取るファイル２２４に入れられて良い。マスタ・フォントを多量には使用しない場合には、マスタ・フォントは、非圧縮フォント・ライブラリ２１２に入れられて良い。同様に、多量に使用されるフォント・バリアントは、圧縮フォント・ライブラリ２１４に格納されて良い。あまり使用しないフォント・バリアントは、非圧縮フォント・ライブラリ２１２に格納されて良い。
【００１４】
マスタ・フォントを、圧縮形式で格納した場合には、マスタ・フォントは復元されて、ＲＡＭ内に配置されたファイル２２８に移される。同様に、任意の圧縮フォント・バリアントは、復元されて、他の復元フォント・データ２２２と一緒に配置される。マスタ・フォントも、どのフォント・バリアントも圧縮しなかった場合には、必要に応じて、ＲＯＭから、このマスタ・フォントまたはフォント・バリアントにアクセスできる。
【００１５】
図３の流れ図は、或る情報を圧縮形式で格納させる一方で、他の情報を非圧縮形式で格納させるファームウェアを構成する一実施形態３００を示している。この実施形態の要素は、任意の所望の手段により、例えば、ディスク、ＲＯＭ、または他のメモリ素子などのプロセッサ読取り可能媒体上に定められたプロセッサ読取り可能命令を実行することにより、実施され得る。さらに、任意のブロックに記載される動作は、他のブロックに記載される動作と同時に実施されるか、代りの順序で行われるか、あるいは、動作を他の２つ以上のブロックと関連づけるやり方で、分散されて良い。
【００１６】
ブロック３０２において、フォント・データを、圧縮せずにＲＯＭメモリ素子に格納する。これは、利用可能フォント・データの全部または一部を含み、また具体的に言えば、すべてのフォント、あまり使用しないフォント、およびフォント・バリアント、に関連するデータおよび情報を含んで良い。
【００１７】
ブロック３０４において、実行可能コードを圧縮して、ＲＯＭメモリ素子に格納する。実行可能コードは、プリント・エンジンおよび印刷機構の指示を含む、プリンタ動作などの任意の目的で構成され得る。
【００１８】
ブロック３０６において、圧縮された実行可能コードは、適切に構成されている通りに、復元され、ＲＡＭに移される。
【００１９】
ブロック３０８において、その実行可能コードは、適切に構成されている通りに、ＲＯＭ内の非圧縮フォント・データにアクセスする。別法として、以前に圧縮されたフォント・データ（例えば、図２中のライブラリ２１４からのもの）に、ＲＡＭからアクセスしても良い。それにより、このフォント・データは、任意の要求、例えば、情報を、プリント・エンジンおよび印刷機構に送るように構成する要求に対して利用できる。
【００２０】
ブロック３１０において、その実行可能コードは、適切に構成されている通りに、プリンタの機能を制御する。これは、プロセッサ、プリント・エンジンの制御のような動作を含む。
【００２１】
図４の流れ図は、非圧縮フォント・ライブラリと圧縮フォント・ライブラリを両方とも構築させて、ＲＯＭ上に配置することのできる一実施形態４００を示している。とくに、この実施形態は、どの特定のフォントを、各ライブラリ内に配置すべきか判定する。この実施形態の要素は、任意の所望の手段により、例えば、ディスク、ＲＯＭ、または他のメモリ素子などのプロセッサ読取り可能媒体上に定められたプロセッサ読取り可能命令を実行することにより、実施され得る。さらに、任意のブロックに記載される動作は、他のブロックに記載される動作と同時に実施されるか、代りの順序で行われるか、あるいは、動作を他の２つ以上のブロックと関連づけるやり方で、分散されて良い。
【００２２】
ブロック４０２において、頻繁に、またはまれに使用されるフォント・データを識別する。各グループのサイズ、構成、正確なメンバシップ（ｍｅｍｂｅｒｓｈｉｐ）は、個々のフォントおよびフォント・グループのサイズ、および、これらのフォントを選択しているユーザの予測される好みだけでなく、利用できるＲＯＭやＲＡＭのサイズによっても、いくらか決定される。よって、任意の個々のフォントと、そのフォントが配置されるフォント・グループの選択は、特定のアプリケーションによって決まり得る。
【００２３】
ブロック４０４において、頻繁に使用されるフォント・データは、圧縮されて、ＲＯＭに格納されるが、一方、まれに使用されるフォント・データは、圧縮せずにＲＯＭに格納される。特に、非圧縮フォント・データと圧縮フォント・データは、図２の非圧縮フォント・ライブラリ２１２と圧縮フォント・ライブラリ２１４内に格納され得る。
【００２４】
ブロック４０６において、実行可能コードは、適切に構成されている通りに、任意の必要とされる圧縮フォント・データを復元して、その復元データをＲＡＭに移す。
【００２５】
図５の流れ図は、どのフォントが、頻繁に、またはまれに使用されると見なされるべきか判定し、それにより、図４のブロック４０２の動作に関するさらに強い洞察力が与えられる一実施形態５００を示している。この実施形態の要素は、任意の所望の手段により、例えば、ディスク、ＲＯＭ、または他のメモリ素子などのプロセッサ読取り可能媒体上に定められたプロセッサ読取り可能命令を実行することにより、実施され得る。さらに、任意のブロックに記載される動作は、他のブロックに記載される動作と同時に実施されるか、代りの順序で行われるか、あるいは、動作を他の２つ以上のブロックと関連づけるやり方で、分散されて良い。
【００２６】
ブロック５０２において、ＲＡＭおよびＲＯＭの利用できる記憶容量にアクセスする。ＲＡＭの利用できる容量が大きければ大きいほど、それだけ、頻繁に使用されると見なせるフォントの数が多くなる。それゆえ、このように頻繁に使用されるフォントは、圧縮されてＲＯＭに格納され、プリンタの動作を遅くすることになるＲＡＭ不足を引き起こすことなく、復元されてＲＡＭで動作される。別法として、ＲＯＭおよびＲＡＭのサイズは、所要のフォントの予想されるニーズに基づいて選択されて良い。さらにもう１つの別法として、ＲＯＭおよびＲＡＭのサイズと、利用できるフォントの数は、プリンタまたは他の装置の総目標費用によって決定されて良い。
【００２７】
ブロック５０４において、コード実行のＲＡＭスペース要件が決定される。このような決定の際には、データに必要なスペースのサイズだけでなく、実行可能コードのサイズも考慮される。それゆえ、コード実行を果たすのに必要なスペースに対する差引き後のＲＡＭの残りは、復元フォントの格納に使用できるものと見なせる最大限度である。
【００２８】
ブロック５０６において、追加の制約条件は、圧縮されてＲＯＭに格納されたフォント・データが、実行可能コードの動作にマイナスの影響を与えることなく、復元状態でＲＡＭに入るように求めている。このような要件は、実行可能コード、および他の所要のデータを格納するのに必要なＲＡＭを考慮して、作成されなければならない。
【００２９】
最後に、圧縮データ記憶形式と非圧縮データ記憶形式を組み合わせたものを用いて、安価なプリンタに関連する情報蓄積を向上させる。フォント・データは、圧縮せずに、ＲＯＭに格納され、それにより、復元に関連するオーバーヘッドが減らされ、また復元後にフォントを格納するのに充分なＲＡＭを提供する必要性が低減される。実行可能コードは、圧縮され、またこの圧縮形式でＲＯＭに格納される。
【００３０】
本開示は、構造上の特徴および／または方法論的ステップに固有の言葉で述べられているが、併記の特許請求の範囲は、このように述べられた特定の特徴またはステップに限定されないものとする。もっと適切に言えば、このような特定の特徴およびステップは、本開示を実施する模範的な形式である。例えば、どのフォントを圧縮すべきか、またどのフォントを圧縮すべきでないか決定させることのできる実施形態を述べるために、いくらか努力をしてきたが、１つまたは複数のフォントをＲＯＭに格納しようとするときに、単に、その１つまたは複数のフォントを圧縮しないだけで、いくらか利益が得られることもある。この結果、ＲＯＭから、この復元フォントにアクセスできるから、ＲＡＭの利用可能性が高まることになる。復元をともなわないから、ＲＡＭのゲイン（ｇａｉｎ）もいくらか、得られ、実行可能コードのＲＡＭ要件が減らされる。さらに、１つまたは複数の実施形態は、これらのブロックに関連する流れ図および本文を用いて開示されているが、これらのブロックは、必ずしも、提示された順序で実施される必要があるとは限らず、代りの順序から、同様な利点が得られることがあるものとする。
【図面の簡単な説明】
【図１】圧縮データと非圧縮データを持つメモリの一実施形態を用いて、情報蓄積を向上させる環境を示す図である。
【図２】図１のプリンタ実施形態に入っている構成要素の詳細を示すブロック図である。
【図３】或る情報を圧縮形式で格納させる一方で、他の情報を非圧縮形式で格納させるファームウェアを構成する一実施形態を記載した流れ図である。
【図４】非圧縮フォント・ライブラリと圧縮フォント・ライブラリを構築させて、ＲＯＭ上に配置させることのできる一実施形態を示す流れ図である。
【図５】どのフォントが、頻繁に、またはまれに使用されると見なされるべきか判定し、それにより、図４のブロック４０２の動作に関するさらに強い洞察力が与えられる一実施形態を示す流れ図である。
【符号の説明】
１０２：プリンタ
２０４：ＲＯＭメモリ素子
２０６：ＲＡＭメモリ素子
２１２：非圧縮フォント・データ・ライブラリ
２１４：圧縮フォント・データ・ライブラリ
２１６：圧縮された実行可能コード・ファイル
２１８：実行コード・ファイル
２２０：復元モジュール
２２２：復元フォント・データ
２２４：マスタ・フォント
２２６：フォント・スタイルのバリアント
【図１】
2004017659.tif 000003
【図２】
2004017659.tif 000004
【図３】
2004017659.tif 000005
【図４】
2004017659.tif 000006
【図５】
2004017659.tif 000007