説明

画像出力装置及び画像出力プログラム

【課題】フォントキャッシュ数を減少させながら出力可能なフォント数の減少を抑制する。
【解決手段】出力要求された要求フォントをビットマップデータに展開して出力する画像出力装置1であって、同種文字について基本ポイントサイズを有する基本フォントのビットマップデータを格納するキャッシュ部7と、基本フォントに対する要求フォントの変形量を表す変形行列式を生成する生成部9と、キャッシュ部7から要求フォントと同種文字の基本フォントのビットマップデータを読み出す読出部11と、読み出したビットマップデータを変形行列式によって変形して出力する出力部13とを備えたことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力装置及び画像出力プログラムに関するものである。
【背景技術】
【0002】
プリンターや複合機等の画像形成装置では、従来よりフォントキャッシュが用いられている。
【0003】
フォントキャッシュとしては、予めフォントをドット形式の画像データに展開し、この展開画像データをフォントキャッシュメモリーに格納しておく。そして、同一フォントの出力要求がなされた場合には、フォントキャッシュメモリーからフォントキャッシュを読み出すことで処理の迅速化を図ることができる。
【0004】
このようなフォントキャッシュは、同一文字種且つ同一書体の同種文字に対しても、大きさや回転角毎に複数種類が格納され、且つそれぞれが別のフォントとして取り扱われる。結果として、フォントキャッシュ数が増加してメモリー領域の圧迫や読み出し時の検索速度の低下を招くことになる。
【0005】
このため、フォントキャッシュを順に削除するFIFO方式やLRU方式等が一般に採用されている。
【0006】
しかしながら、これらの方式でも、フォントキャッシュ本来の目的を達成する必要性からフォントキャッシュの格納数自体は依然として多く、メモリー領域の圧迫や読み出し時の検索速度の低下を抑制するには限界があった。
【0007】
これに対し、従来技術としては、未登録フォントに対する処理負担を軽減してフォントキャッシュによる処理の迅速化を図るものがある。
【0008】
このような従来技術には、例えば、出力要求された要求フォントに類似するフォントキャッシュを読み出し、このフォントキャッシュを拡大、縮小して要求フォントに近似させるものがある(特許文献1参照)。
【0009】
しかしながら、この技術でも、大きさや回転角度等が相違する多くの類似フォントキャッシュが必要となり、メモリー領域の圧迫や読み出し時の検索速度の低下を抑制するには限界があった。
【0010】
別の従来技術としては、例えば、基本サイズのフォントキャッシュとして所定サイズのフォントとその整数倍のフォントを組として格納しておき、フォントキャッシュを整数倍に拡大して要求フォントに近似させるものがある(特許文献2参照)。
【0011】
しかし、この従来技術では、フォントキャッシュ数を減少させることはできるものの、基本サイズの整数倍以外である任意倍率への拡大、縮小や回転等には適応できず、出力可能なフォント数が減少していた。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平6−183074号公報
【特許文献2】特開平6−274145号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
解決しようとする問題点は、展開画像データの格納数を減少させると出力可能なフォント数が減少する点である。
【課題を解決するための手段】
【0014】
本発明は、展開画像データの格納数を減少させながら出力可能なフォント数の減少を抑制するため、出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力装置であって、同種文字について基本ポイントサイズを有する基本フォントの展開画像データを格納するキャッシュ部と、前記基本フォントに対する前記要求フォントの変形量を表す変形行列式を生成する生成部と、前記キャッシュ部から前記要求フォントと同種文字の基本フォントの展開画像データを読み出す読出部と、前記読み出した展開画像データを前記変形行列式によって変形して出力する出力部とを備えたことを最も主な特徴とする。
【発明の効果】
【0015】
本発明では、基本ポイントサイズを有する基本フォントの展開画像データを格納するので、展開画像データの格納数を大幅に減少させることができる。しかも、本発明では、変形行列式により基本フォントの展開画像データを変形して要求フォントを出力することができ、出力可能なフォント数の減少を抑制することができる。
【図面の簡単な説明】
【0016】
【図1】画像出力装置を示すブロック図である(実施例1)。
【図2】図1の画像出力装置による画像出力処理の概略を示す説明図である(実施例1)。
【図3】図1の画像出力装置による画像出力処理の詳細を示すフローチャートである(実施例1)。
【発明を実施するための形態】
【0017】
展開画像データの格納数を減少させながら出力可能なフォント数の減少を抑制するという目的を、基本フォントの展開画像データを変形行列式によって変形して出力することで実現した。
【実施例1】
【0018】
[画像出力装置の構成]
図1は、本発明の実施例1に係る画像出力装置のブロック図である。
【0019】
画像出力装置1は、出力要求された要求フォントを、ドット形式の画像データであるビットマップデータに展開して出力するものである。この画像処理装置1は、図1のように、コンピューター3と、記憶部5とを備えている。
【0020】
コンピューター3は、CPU及びRAMを備え、記憶部5に格納されたソフトウェアプログラムを実行して画像出力装置1の動作を制御する。
【0021】
記憶部5は、一次記憶装置及び二次記憶装置を備えている。一次記憶装置は、例えば半導体記憶装置等からなり、二次記憶装置は、例えば磁気ディスク装置等からなっている。この記憶部5内には、 各種のソフトウェアプログラムやデータ等の他、画像出力プログラムが記憶されている。
【0022】
この画像出力装置1は、画像出力プログラムをコンピューター3によって実行することで、キャッシュ部7と、生成部9と、読出部11と、出力部13とが構成される。
【0023】
キャッシュ部7は、フォントキャッシュメモリー15、キャッシュ管理部17及びフォント展開部19を備えている。フォントキャッシュメモリー15は、例えばコンピューター3のRAM内に構成されている。このフォントキャッシュメモリー15は、フォントキャッシュとしてフォントのビットマップ展開データを格納するものである。本実施例では、同一文字種且つ同一書体の同種文字について、基本ポイントサイズの基本フォントのビットマップデータのみが格納される。
【0024】
基本フォントは、文字種、書体、基本ポイントサイズを基本情報として備えている。基本ポイントサイズは、任意であり、例えば10ポイント等が設定される。ただし、基本ポイントサイズは、利便性や効率性等を考慮して最も使用頻度が高いポイントサイズを設定することができる。また、基本ポイントサイズは、最小1サイズであり、メモリー容量に応じて複数サイズを設定することも可能である。
【0025】
キャッシュ管理部17は、フォントキャッシュの管理を行う。キャッシュ管理部17は、後述するキャッシュ要求(格納要求)に応じて、フォント展開部19にビットマップ展開処理を行わせる。また、キャッシュ管理部17は、展開されたビットマップデータをフォントキャッシュメモリー15に格納する。なお、キャッシュ管理部17は、フォントキャッシュを格納時刻順に削除するFIFO方式又は使用時刻順に削除してゆくLRU方式等を採用してメモリー領域の有効利用を図るようにしてもよい。
【0026】
フォント展開部19は、キャッシュ要求に応じた基本フォントのアウトラインデータを読み出し、ビットマップデータに展開する。アウトラインデータは、記憶部5内に構成されたアウトラインデータ格納部21に記憶されている。
【0027】
生成部9は、出力要求された要求フォント情報が入力されるようになっている。この生成部9は、基本フォントに対する要求フォントの変形量を表す変形行列式を生成する。
【0028】
すなわち、生成部9は、基本フォントに関する共用条件に応じて、要求フォントを基本ポイントサイズまで素数分解する。この素数分解により、要求フォント情報は、基本フォントの基本情報及び基本フォントに対する変形量を表す変形情報に分離される。なお、変形情報は、例えば拡大、縮小、回転角、平行移動量等である。
【0029】
変形情報の分離では、その共用条件の上限をユーザーインターフェース等によって任意に設定することができる。この場合は、設定された上限内で変形情報の分離処理が行われる。分離された変形情報は、生成部9によって変形行列式に変換される。変形行列式は、基本情報と共に読出部11に転送される。
【0030】
読出部11は、要求フォントの基本情報に基づき、フォントキャッシュメモリー15内の対応する基本フォントのフォントキャッシュを検索する。対応する基本フォントのフォントキャッシュが存在する場合は、そのフォントキャッシュを読み出して変形行列式と共に出力部13に転送する。
【0031】
一方、存在しない場合は、読出部11がキャッシュ管理部17に対してキャッシュ要求を出力する。
【0032】
出力部13は、基本フォントのフォントキャッシュを変形行列式によって変形し、記憶部5内のバンドバッファー23に出力する。
【0033】
すなわち、出力部13は、入力されたフォントキャッシュ及び変形行列式から、描画プリミティブである2値のビットマップデータのビットブリッド用のディスプレイリストを作成する。そして、出力部13は、作成したディスプレイリストを参照しながら要求フォントをバンド単位でバンドバッファー23に描画(出力)する。
[画像出力処理]
図2は、図1の画像出力装置による画像出力処理の概略を示す説明図である。なお、図2では、基本フォントのフォントキャッシュが、10ポイントの文字「愛」である場合について説明する。
【0034】
画像出力装置1では、図2のように、出力要求された要求フォントを、基本フォントのフォントキャッシュを変形することで出力する。変形は、要求フォントと基本フォントとの差分に応じて行われる。
【0035】
例えば、要求フォントが10ポイントの「愛」である場合は、要求フォントと基本フォントとが差分のない同一であるため、基本フォントのフォントキャッシュがそのまま出力される。
【0036】
要求フォントが15ポイントの「愛」である場合は、差分がXY方向への1.5倍であるため、基本フォントのフォントキャッシュをXY方向へ1.5倍に拡大して出力する。
【0037】
同様に、20ポイント且つX方向に平行移動した「愛」を出力する場合は、基本フォントのフォントキャッシュをXY方向へ2倍に拡大すると共にX方向の平行移動量を付加し、20ポイント且つX方向に平行移動した下向き「愛」を出力する場合は、基本フォントのフォントキャッシュをXY方向へ2倍に拡大すると共にX方向の平行移動量を付加して180度回転させる。
【0038】
図3は、図1の画像出力装置による画像出力処理の詳細を示すフローチャートである。なお、図3では、基本フォントのフォントキャッシュがCourier5ポイントの文字「A」である場合に、Courier20ポイントの文字「A」をLandscapeで印字する例について説明する。なお、基本フォントに関する共用条件としては、基本ポイントサイズである5ポイント、変形用の共用条件としては、偶数倍の拡大、90度単位の回転が設定されている。
【0039】
画像出力処理では、図3のように、出力要求された要求フォント情報が生成部9に入力されるとスタートする。本実施例では、要求フォント情報として「20ポイントの文字「A」をLandscapeで印字」が入力される。スタートした画像出力処理は、ステップS1からの処理を実行する。
【0040】
ステップS1では、生成手順の一部として要求フォントの分離処理を実行する。すなわち、生成部9は、共用条件に応じて要求フォント情報を素数分解し、基本情報としての「Courier、5ポイント、文字「A」」及び変形情報としての「XY拡大4倍、回転90度」に分離する。これによりステップS2に移行する。
【0041】
次いで、ステップS2では、生成手順の一部として変形行列式の変換処理を実行する。すなわち、生成部9は、分離した変形情報を3×3の変形行列式に変換する。変形行列式は、基本情報と共に読出部11に転送される。これによりステップS3に移行する。
【0042】
ステップS3では、読出手順の一部としてフォントキャッシュ検索処理を実行する。すなわち、読出部11は、入力された要求フォントの基本情報に基づいて、対応する基本フォント「Courier、5ポイント、文字「A」」のフォントキャッシュをフォントキャッシュメモリー15から検索する。
フォントキャッシュが存在する場合は、ステップS5に移行し(YES)、存在しない場合は、ステップS4に移行する(NO)。
【0043】
ステップS4では、キャッシュ手順としてフォントキャッシュの格納処理を実行する。すなわち、読出部11は、キャッシュ管理部17に対してキャッシュ要求を出力する。このキャッシュ要求に応じ、キャッシュ管理部17は、フォント展開部19に対して要求フォントに対応する基本フォント「Courier、5ポイント、文字「A」」のビットマップ展開を行わせる。展開されたビットマップデータは、フォントキャッシュとしてフォントキャッシュメモリー15内に格納される。これによりステップS4が完了してステップS5に移行する。
【0044】
ステップS5では、読出手順の一部としてフォントキャッシュ読出処理を実行する。すなわち、読出部11は、フォントキャッシュメモリー15から検索されたフォントキャッシュ又は新たに格納されたフォントキャッシュを読み出す。読み出されたフォントキャッシュは、変形行列式と共に出力部13に転送される。これによりステップS5が完了してステップS6に移行する。
【0045】
なお、新たに格納されたフォントキャッシュについては、フォント展開部19で展開されたビットマップデータを、フォントキャッシュメモリー15へ格納すると共に読出部11へ転送してもよい。この場合は、読出部11によるフォントキャッシュの読出処理が不要となる。
【0046】
ステップS6では、出力手順の一部としてディスプレイリスト作成処理を実行する。すなわち、出力部13は、入力された基本フォントのフォントキャッシュ及び変形行列式からビットブリッド用のディスプレイリストを作成する。これによりステップS7へ移行する。
【0047】
次いで、ステップS7では、出力手順の一部として描画処理を実行する。すなわち、出力部13は、ディスプレイリストを参照してバンドバッファー23に要求フォントを描画(出力)する。本実施例では、基本フォント「Courier、5ポイント、文字「A」」のフォントキャッシュを、差分である変形情報「XY拡大4倍、回転90度」の変形行列式によってXY方向に4倍すると共に90度回転させて変形出力する。その後は、出力側のディスプレイ等の画像表示装置或いは複合機やプリンター等の画像形成装置での描画が行われる。
【0048】
なお、上記画像出力処理では、フォントキャッシュの共用条件を、例えばプリンターや複合機等の画像形成装置のハードウェア性能に応じて変更することが可能である。また、ハードウェア性能を数値化することで自動的に共用条件を決定することも可能である。
【0049】
ハードウェア性能が低い場合は、共用条件の倍率を2倍等に制限すれば、処理速度の低下を抑制することができる。
【0050】
また、イメージの拡大、縮小、回転等を専用のハードウェアで処理させれば、拡大、縮小が偶数倍という制限や回転が90度単位の制限もより細かい制御が可能となる。
[実施例1の効果]
本実施例の画像出力装置1は、同種文字について基本ポイントサイズを有する基本フォントのフォントキャッシュを格納するキャッシュ部7と、基本フォントに対する要求フォントの変形量を表す変形行列式を生成する生成部9と、キャッシュ部7から要求フォントと同種文字の基本フォントのフォントキャッシュを読み出す読出部11と、読み出したフォントキャッシュを変形行列式によって変形して出力する出力部13とを備えている。
【0051】
従って、画像出力装置1では、同種文字について基本ポイントサイズを有する基本フォントのフォントキャッシュのみを格納するので、フォントキャッシュ数を大幅に減少させることができる。このため、画像出力装置1では、メモリー領域の圧迫やフォントキャッシュの読み出し時の検索速度の低下を抑制することができる。しかも、フォントキャッシュの格納処理回数も減少するので、全体としての処理の迅速化を図ることができる。
【0052】
このようにフォントキャッシュ数を減少させても、画像出力装置1では、基本フォントに対する変形量を表す変形行列式によって、基本フォントのフォントキャッシュを変形して要求フォントを出力することができる。
【0053】
このため、画像出力装置1では、任意倍率への拡大、縮小や回転等にも適応することができ、出力可能なフォント数が減少を抑制することができる。
【0054】
また、基本ポイントサイズとして複数サイズが設定されている場合は、フォントキャッシュの変形量を小さくして画像劣化を最小限に抑えることができると共に、フォントキャッシュの検索ヒット率を向上することができる。
【0055】
本実施例の画像出力装置1では、生成部9が、要求フォントを素数分解して基本フォントに対応する基本情報及び変形量を表す変形情報に分離し、読出部11が、基本情報からフォントキャッシュを検索して読み出すため、読み出し時のフォントキャッシュの検索ヒット率を向上することができる。
【0056】
また、画像出力装置1では、素数分解した変形情報から求めた変形行列式を用いるため、確実に基本フォントのフォントキャッシュを変形して要求フォントを出力することができる。
【0057】
また、本実施例では、読出部11が、要求フォントに対応する基本フォントのフォントキャッシュが未格納である場合にキャッシュ要求を行い、キャッシュ部7が、キャッシュ要求に応じて基本フォントのフォントキャッシュを格納する。
【0058】
このため、フォントキャッシュが未格納である場合でも、確実に基本フォントのフォントキャッシュを変形して要求フォントを出力することができる。
【0059】
また、生成部9は、基本フォントに対する変形情報の変形制限を設定し、該変形制限の範囲内で基本情報及び変形情報の分離を行うことができるため、ハードウェアの性能に応じて任意の制限を設定して処理速度の減少を抑制することができる。
【0060】
例えば、ハードウェア性能が高い場合は、変形制限の拡大倍率の上限を大きくすることで、基本ポイントサイズ数が少ない場合でもフォントキャッシュ検索のヒット率を向上させることができ、処理の高速化を図ることができる。
【符号の説明】
【0061】
1 画像出力装置
7 キャッシュ部
9 生成部
11 読出部
13 出力部

【特許請求の範囲】
【請求項1】
出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力装置であって、
同種文字について基本ポイントサイズを有する基本フォントの展開画像データを格納するキャッシュ部と、
前記基本フォントに対する前記要求フォントの変形量を表す変形行列式を生成する生成部と、
前記キャッシュ部から前記要求フォントと同種文字の基本フォントの展開画像データを読み出す読出部と、
前記読み出した展開画像データを前記変形行列式によって変形して出力する出力部とを備えた、
ことを特徴とする画像出力装置。
【請求項2】
請求項1記載の画像出力装置であって、
前記生成部は、前記要求フォントを素数分解して前記基本フォントに対応する基本情報及び前記変形量を表す変形情報に分離すると共に該変形情報を前記変形行列式に変換し、
前記読出部は、前記基本情報から前記同種文字の展開画像データを検索して読み出す、
ことを特徴とする画像出力装置。
【請求項3】
請求項1又は2記載の画像出力装置であって、
前記読出部は、前記要求フォントに対応する基本フォントの展開画像データが未格納である場合に、該展開画像データの格納要求を行い、
前記キャッシュ部は、前記格納要求に応じて前記展開画像データを格納する、
ことを特徴とする画像出力装置。
【請求項4】
請求項1〜3の何れかに記載の画像出力装置であって、
前記生成部は、前記基本フォントに対する変形情報の変形制限を設定し、該変形制限の範囲内で前記基本情報及び変形情報の分離を行う、
ことを特徴とする画像出力装置。
【請求項5】
出力要求された要求フォントをドット形式の画像データに展開して出力するための画像出力プログラムであって、
同種文字について基本ポイントサイズを有する基本フォントの展開画像データを格納するキャッシュ手順と、
前記基本フォントに対する前記要求フォントの変形量を表す変形行列式を生成する生成手順と、
前記要求フォントと同種文字の基本フォントの展開画像データを読み出す読出手順と、
前記読み出した展開画像データを前記変形行列式によって変形して出力する出力手順とをコンピューターに実行させる、
ことを特徴とする画像出力プログラム。

【図2】
image rotate

【図1】
image rotate

【図3】
image rotate


【公開番号】特開2011−194859(P2011−194859A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−67360(P2010−67360)
【出願日】平成22年3月24日(2010.3.24)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】