以下に、本発明の各実施の形態について図を用いて説明する。
なお、以下の各実施の形態の図においては、同一または同様なものについては、同一または同様の番号を付け、各実施の形態の説明においてその記載及び説明を省略する場合がある。
また、図に記載した各構成要素は、本発明を説明するために便宜的に分割したものであり、その実装形態は図の構成、分割、名称等に限定されない。また、分割の仕方自体も図に示した分割に限定されない。
また、図中及び以下の説明の記載における「・・部」は、例えば「・・手段」(「・・処理手段」)、「・・機能単位」(「・・処理機能単位」)、「・・回路」(「・・処理回路」)、「・・装置」(「・・処理装置」)、「・・処理」、「・・ステップ」、「・・処理ステップ」と呼び換えたものを新たな実施の形態とてもよい。また、「・・部」を「・・処理」、「・・ステップ」、「・・処理ステップ」と呼び換えた場合は、処理フローの図とみなしてもよい。
実施の形態1.
以下に、本発明の実施の形態1について図1から図14を用いて説明する。
図1は、本発明の実施の形態1における、フォントキャッシュ装置を有する文字描画処理装置の内部構成の概略の例を示す図である。
図1において、1は文字描画処理装置、10は文字取得部、20は形状記憶部、30はラスタライズ部、40は決定部、50はキャッシュメモリ、60はフレームバッファ部、70はフォントキャッシュ装置、A〜Hは情報、信号およびデータの少なくとも1つ(以下、情報等と記載。)、矢印は情報等の流れの向きを示す。
なお、図示しない構成要素を含む広義の文字描画処理装置1またはフォントキャッシュ装置70を各種定義することも可能である。例えば、(1)電源機能、(2)各種演算機能、(3)通信機能、(4)各種インターフェース機能、(5)表示機能、(6)(8)各種アプリケーション処理機能、の中で1つ以上を含む装置を定義することが可能である。
また、以下の説明において「入力」及び「出力」の語を、各図に示した構成要素の間の信号等のやり取りに関して用いるが、上記のような広義の装置を定義する場合には、各図で示した構成要素と追加される構成要素との関係で、明示的に「入力」及び「出力」が定義または実装がされない場合がありうる。
文字取得部10は、描画処理の対象となる文字を識別する情報(例えば文字コード、書体、大きさ。以下、文字識別情報と記載。)を入力する。 また、文字取得部10は、取得した文字識別情報をラスタライズ部30へ出力する。 なお、文字識別情報(またはその一部)が第1の情報に対応する。
形状記憶部20は、各種の文字の形状を表す情報(例えばアウトラインフォントデータ。以下、文字形状情報と記載。)を記憶する。 また、形状記憶部20は、ラスタライズ部30から文字識別情報を入力し、文字識別情報に対応する文字形状情報をラスタライズ部30へ出力する。
フォントキャッシュ装置70は、ラスタライズ部30、決定部40、キャッシュメモリ50を有する。
また、フォントキャッシュ装置70は、文字取得部10から入力した文字識別情報に対応して、描画用データ(例えばビットマップデータ)を生成しフレームバッファ部60へ出力する。
ラスタライズ部30は、文字取得部10から入力した文字識別情報に対し、形状記憶部20から入力した文字形状情報を用いて、文字識別情報の入力順に描画用データ(例えばビットマップデータ)を生成しフレームバッファ部60へ出力する。
また、ラスタライズ部30は、文字取得部10から入力した文字識別情報のうちで少なくとも、どの文字かという情報(例えば文字コード)A、を決定部40に出力する。 また、ラスタライズ部30は、決定部40から、新たにキャッシュする描画用データ(例えばビットマップデータ)を記憶させるためのメモリ領域を示すメモリ領域情報(例えばメモリのアドレスを表す情報)Bを入力する。
また、ラスタライズ部30は、キャッシュメモリ50に新たにキャッシュしようとする描画用データ(例えばビットマップデータ)に対し、必要なメモリ領域が不足しているかを判断し、さらに、キャッシュメモリ50における描画用データ(例えばビットマップデータ)の入替えを決定するために必要な制御情報Cを出力する。 情報Cの実装形態としては、例えばメモリ領域情報Bを用いることができ、その他に入替え制御に必要各種情報およびデータとして例えば、後述する優先度Gを含んでいてもよい。
また、ラスタライズ部30は、キャッシュメモリ50に対し、(1)既にキャッシュされている描画用データ(例えばビットマップデータ)を出力するよう指示するための、または(2)新たにキャッシュする描画用データ(例えばビットマップデータ)をキャッシュするよう指示するための、制御情報Dを出力する。 制御情報Dは、メモリ領域情報(例えばメモリのアドレス)Bの他に、キャッシュメモリの制御のための各種情報およびデータ、例えばメモリ動作開始指示情報、を含んでいてもよい。
なお、(2)の場合、制御情報Dには、新たにキャッシュする描画用データ(例えばビットマップデータ)が含まれる。 また、ラスタライズ部30は、キャッシュメモリ50から、既にキャッシュされている描画用データ(例えばビットマップデータ)Eを入力する。
決定部40は、ラスタライズ部30から、文字識別情報のうち少なくとも、どの文字かという情報(例えば文字コード)A、を入力する。 また、決定部40は、ラスタライズ部30に、新たにキャッシュする描画用データ(例えばビットマップデータ)のためのメモリ領域情報Bを出力する。
また、決定部40は、描画用データ(例えばビットマップデータ)の入替を決定するための制御情報Cをラスタライズ部30から、入力する、 また、決定部40は、ラスタライズ部30から入力した制御情報Cに対応して、入替えを指示するための制御情報Hをキャッシュメモリ50に出力する。
決定部40の詳細については図2を用いて後述する。
なお、本実施の形態では、決定部40と、ラスタライズ部30(主にキャッシュメモリの動作に係る処理を行う部分)が、キャッシュメモリを制御する制御手段に対応する。
キャッシュメモリ50は、ラスタライズ部30からの制御情報Dに応じて、(1)メモリ領域情報Bおよび新たにキャッシュする描画用データ(例えばビットマップデータ)をラスタライズ部30から入力し、描画用データ(例えばビットマップデータ)を記憶する、または(2)既にキャッシュされている描画用データ(例えばビットマップデータ)Eを出力する。 また、キャッシュメモリ50は、入替えを指示する制御情報Hを決定部40から入力し、既にキャッシュされたデータと新たにキャッシュするデータを入替る。
図2は、本発明の実施の形態1における、決定部の内部構成の概略を示す図である。
図2において、40は決定部、41は情報取得部、42はデータベース、43は優先度決定部、44はメモリ領域決定部、45は入替え決定部、50はキャッシュメモリを示す。
情報取得部41は、少なくとも1つの情報(外部情報)Fを取得する。 なお、この情報Fが第2の情報に対応する。
ここで、情報(外部情報)Fとしては、文字識別情報とは異なる種類の情報で特定の概念を表す情報を想定する。 図2は、情報取得部41が取得する情報の種類として、時刻情報、位置情報、・・・、圧力情報を取得する場合の例となっている。
文字描画処理装置1およびフォントキャッシュ装置70の実装形態における情報(外部情報)Fの種類および組合せは、例えば、(1)文字描画装置1またフォントキャッシュ装置70を使用する場面、(2)キャッシュメモリを備えた各種装置の使用形態または使用状況、(3)キャッシュメモリを使用するアプリケーションの種類、の1つ以上に応じて予め設定または決定されるか、または、(4)複数の場面および状況等の組合せに対して汎用的に使用できるよう予め設定または決定される。
また、図2は、情報取得部41が決定部40内で閉じた構成となっている場合の例を示している。 この場合、情報取得部41の実装形態としては、例えば時刻情報および位置情報に関して、GPS(Global Positioning System)で例示される検出機器(回路)を用いることができる。 また、圧力情報に関して、気圧計で例示される検出機器(回路)を用いることができる。
なお、情報取得部41の実装形態としては、図示した情報の種類以外の種類の情報を取得するよう構成してもよく、図の構成に限定されない。 例えば、(1)方角情報、(2)キャッシュメモリを備えた各種装置の操作者の情報、(3)温度情報、(4)湿度情報、(5)速度情報、(6)照度情報、のうちの一部または全部を取得するようにできる。
データベース42は、文字列の集合(文字列集合)を複数有する。 各集合に対しては、(1)集合の優先度、および(2)集合の種類(または種類に属する概念)に関連する複数の文字列、が予め設定される。 また、データベース42は、優先度決定部43との間で情報およびデータのやり取りを行う。
なお、データベース42の実装形態におけるデータベース42内の情報またはデータの種類は、たとえば(1)情報取得部41で実際に取得する情報の種類に対応して予め設定する、(2)情報取得部41で取得可能な情報の種類に対応して予め設定する、(3)汎用的なデータベースとして予め設定する、という設定方法の少なくとも1つを用いることができる。
また、データベースの設定方法の実装形態としては公知および新規な各種方法が適用可能であり、例えば、(1)図示しない入力インターフェースを介して外部から設定する方法、(2)情報およびデータを記憶した記憶媒体を実装する方法、の一方または両方を用いることができる。
図3は、本発明の実施の形態1における、データベース構造の例を示す図である。 図において、各々の四角形が文字列集合を示す。
図3は、情報取得部41における情報の種類に対応して、情報の種類に関連する複数の用語を有する文字列集合の例を示している。 また、各文字列集合には、情報の種類に対して優先度が設定されている。
図4は、本発明の実施の形態1における、データベースのデータ構造の別の例を示す図である。
図4は、図3に示した各情報の種類に対し、情報の種類に関連する下位概念が設定され、下位概念毎に文字列集合が設定されている場合を示している。 また、図3と同様に最上位の集合に対し優先度が設定されている場合の例を示している。
例えば位置情報に関して、都道府県別の市町村名という下位概念に関する文字列集合が設定され、優先度1が設定されている。 例えば、文字列描画装置1を、カーナビゲーション装置のように地図情報が使用される装置に適用する場合を想定することができる。
また、例えば時刻情報に関して、天気・季節、朝食、レジャーという下位概念により文字列集合が設定されている。 例えば文字列描画装置1を、テレビ装置のように電子番組表(EPG:Electronic program guide)機能を有する装置に適用する場合を想定することができる。
なお、データベース42の実装形態において、どの種類の情報または文字列集合にどの優先度を設定するかは、図の設定の仕方に限定されない。 また、(1)図4の位置情報のように、上位の種類(ここでは位置。)に直接属するような下位概念により並列的に分類された集合であるか、(2)時刻情報のように、上位の情報の種類(=時刻)に関連する概念を下位概念として分類された集合であるか、についても図の設定の仕方に限定されない。
また、図4においてはツリー構造の最上位の集合に対してどの優先度が設定されているが、データベース42の実装形態は図の設定の仕方に限定されない。 例えば、(1)下位の集合に対して優先度を設定するデータベース、(2)上位および下位の集合の両方に対し優先度を設定するデータベース、の一方を実装することもできる。
優先度決定部43は、ラスタライズ部30から、文字取得部10から入力した文字識別情報のうち少なくとも、どの文字かという情報(例えば文字コード)Aを入力する。 また、優先度決定部43は、情報取得部41から、情報(外部情報)Fを入力する。 また、優先度決定部43は、情報取得部41から入力した情報(外部情報)Fに応じて、情報(外部情報)Fに関連する部分文字列集合と、その部分文字列集合に設定された優先度とを、データベース42から入力して保持する。
なお、ここでおよび以下の説明において、「部分文字列集合」の語は、ある文字列集合の一部分を示す場合の他に、その文字列集合の全体を示す場合を含む概念として用いる。 すなわち、情報(外部情報)Fに関連する文字列集合の一部分を保持するように実装しても、または全体を保持するようにしてもよく、優先度決定部43の実装形態に応じて異なってもよい。
また、優先度決定部43は、どの文字かという情報(例えば文字コード)Aが示す文字を含みかつ第2の情報(外部情報)Fに関連する文字列を含む部分文字列集合、を決定する。 すなわち、優先度決定部43は、情報取得部41から入力した情報(外部情報)Fに対応するとともに新たにキャッシュしようとする文字フォントが示す文字を含む部分文字列集合、を決定する。
そして、優先度決定部43は、決定した部分文字列集合の優先度、にしたがって新たにキャッシュしようとする文字フォントの優先度Gを決定する。 新たにキャッシュしようとする文字フォントの優先度Gの実装形態としては、決定した部分文字列集合の優先度と文字フォントの優先度Gとが対応していればよい。 例えば(1)決定した部分文字列集合の優先度の値をそのまま用いる、(2)決定した部分文字列集合の優先度の値を一定値ずらした値を用いる、から選択して実装することができる。
メモリ領域決定部44は、優先度決定部43から、優先度(新たにキャッシュしようとする文字フォントの優先度)Gを入力する。 また、メモリ領域決定部44は、入力した優先度G別に、新たにキャッシュする描画用データ(例えばビットマップデータ)のためのメモリ領域情報Bをラスタライズ部30へ出力する。
入替決定部45は、ラスタライズ部30から、描画用データ(例えばビットマップデータ)の入替えを決定するために必要な情報Cを入力する。 また、入替え決定部45は、入力した制御情報Cに対応して、入替えを制御するための制御情報Hをキャッシュメモリ50へ出力する。
キャッシュメモリ50は、ラスタライズ部30から入力した制御情報Dに応じて、(1)メモリ領域情報Bおよび新たにキャッシュする描画用データ(例えばビットマップデータ)をラスタライズ部30から入力し、描画用データを記憶する、または、(2)既にキャッシュされている描画用データ(例えばビットマップデータ)Eを出力する。 また、キャッシュメモリ50は、データの入替えを指示する制御情報Hを入替決定部45から入力し、既にキャッシュされたデータと新たにキャッシュするデータとを入替る。
図5は、本発明の実施の形態1における、キャッシュメモリのデータ構造の例を示す図である。
図5において、メモリa、・・・、zはメモリ領域の番号等を示す情報、黒塗りの四角形は文字の種類の情報を記憶するメモリ領域(例えば「漢」は漢字であることを示す。)、白抜きの四角形中の文字は描画用データ(例えばビットマップデータ)を記憶するメモリ領域を示す。 なお、メモリ領域の番号等を示す情報および文字の種類を表す情報は、検索用テーブルとして別途記憶するようにしてもよい。
図5は、図の上方のメモリ領域ほど優先度の高い描画用データ(例えばビットマップデータ)を記憶するメモリ領域とし、各メモリ領域を同じサイズのメモリ領域をブロック化している場合の例となっている。 また、図は、漢字について、(1)「京都」「東京」といった位置情報に関連する用語において用いられる文字の描画用データが最も優先度高いデータとしてメモリ領域(メモリa)に記憶され、(2)「午後」「午前」といった時刻情報に関連する用語において用いられる文字の描画用データが次に優先度高いデータとしてメモリ領域(メモリb)に記憶されている場合の例となっている。 また図5は、メモリ領域zには描画用データがキャッシュされていない場合の例となっている。
なお、各メモリ領域の中をさらにブロックに分けてキャッシュメモリを管理してもよい。
図6は、本発明の実施の形態1における、キャッシュメモリのデータ構造の別の例を示す図である。 図の見方は図5と同様である。
図6は、図5に示した漢字のためのメモリ領域の他に、英字、記号、ひらがな、カタカナについて別途メモリ領域を設定する場合の例となっている。 なお、この場合、英字、記号、ひらがな、カタカナの集合に対する取扱い方法の実装形態としては各種方法が可能である。 例えば、(1)データベース42において集合別の固定的な優先度を設定する、(2)図5の漢字と同様に、データベース42において情報(外部)Fの種類に応じて優先度を設定する、(3)優先度を規定せず漢字とは別扱いする、のうちから選択した方法を実装することができる。
次に、本実施の形態の文字描画処理装置1の動作例の概要について説明する。
なお、以下の動作例の説明においては、キャッシュメモリ50にビットマップデータをキャッシュする場合の例を用いて説明する。
図7は、本発明の実施の形態1における、文字描画処理装置およびフォントキャッシュ装置の処理フローの概略を示す図である。 また、図8は、優先度決定処理のフローの概略を示す図である。 また、図9は、メモリ領域決定処理のフローの概略を示す図である。
まず、文字取得部10が、描画処理の対象となる文字の文字識別情報(例えば文字コード、書体、大きさ。)を取得し、取得した文字識別情報をラスタライズ部30へ出力する。 (図7:ステップ701)
次に、ラスタライズ部30が、入力した文字識別情報に対応するビットマップデータが既にキャッシュメモリ50に記憶されているか確認する。 ビットマップデータがキャッシュメモリ50に記憶されている場合はステップ703に移行し、記憶されていない場合はステップ706に移行する。 (図7:ステップ702)
ビットマップデータがキャッシュメモリ50に記憶されている場合は、ラスタライズ部30が、ビットマップデータが記憶されているメモリ領域情報(例えばメモリ領域のアドレスの情報)Bを取得(または確認)する。 (図7:ステップ703)
次に、ラスタライズ部30が、キャッシュメモリ50に対し、新たにキャッシュする描画用データ(例えばビットマップデータ)をキャッシュさせるための制御情報Dを出力する。 そして、ラスタライズ部30は、キャッシュメモリ50から、既にキャッシュされている描画用データ(例えばビットマップデータ)Eを入力する。 (図7:ステップ704)
次に、ラスタライズ部30が、キャッシュメモリ50から入力した描画用データ(例えばビットマップデータ)を、フレームバッファ部60へ出力する。 (図7:ステップ705)
一方、ステップ702においてビットマップデータがキャッシュメモリ50に記憶されていな場合は、ラスタライズ部30が、形状記憶部20から、文字取得部10から入力した文字識別情報に対応する文字形状情報を入力する。
次に、ラスタライズ部30が、入力した文字形状情報を用いて、文字識別情報の入力順に描画用データ(例えばビットマップデータ)を生成する。 (図7:ステップ707)
次に、ラスタライズ部30が、文字取得部10から入力した文字識別情報のうちで少なくとも、どの文字かという情報(例えば文字コード)A、を決定部40に出力する。
次に、優先度決定部43は、ラスタライズ部30から、情報(例えば文字コード)Aを入力する。 また、優先度決定部43は、情報取得部41から、情報(外部情報)Fを入力する。 (図8:ステップ801)
次に、優先度決定部43は、入力した情報(外部情報)Fに応じて、データベース42から、情報(外部情報)Fに関連する部分文字列集合を入力する。 (図8:ステップ802―804)
例えば、データベース42として図4に示すデータ構造を有し、情報(外部情報)Fとして位置情報に属する情報である「東京」付近の位置の情報を入力した場合、東京に存在する市町村名を部分文字列集合としてデータベース42から入力する。 また、例えば、時刻情報取得部から時刻情報を入力し、それが「平日、6:00〜7:00の間」の時刻であった場合、朝食に関係する用語を部分文字列集合としてデータベース42から入力する。
また、優先度決定部43は、入力した部分文字列集合に設定された優先度を、データベース42から入力して保持する。 (図8:ステップ805)
また、優先度決定部43は、どの文字かという情報(例えば文字コード)Aが示す文字を含み、かつ前記第2の情報Fに関連する文字列を含む部分文字列集合、を決定する。 すなわち、優先度決定部43は、情報取得部41から入力した情報(外部情報)Fに対応するとともに新たにキャッシュしようとする文字フォントが示す文字を含む部分文字列集合、を決定する。
そして、優先度決定部43は、決定した部分文字列集合の優先度、にしたがって新たにキャッシュしようとする文字フォントの優先度Gを決定し、メモリ領域決定部44に出力する。 (図7:ステップ708、図8:ステップ806)
次に、メモリ領域決定部44が、優先度決定部43から、文字フォントの優先度Gを入力する。
次に、メモリ領域決定部44は、(1)メモリ領域があるか、および(2)優先度Gに対応するメモリ領域に空きがあるかを確認する。
(1)の場合、すなわちメモリ領域がキャッシュメモリ50内に設定されていない場合、メモリ領域を設定する。 (図9:ステップ901)
(2)の場合、すなわち優先度Gに対応するメモリ領域に空きがある場合、および、およびステップ901でメモリ領域が設定された後、メモリ領域決定部44は、入力した優先度Gの値を識別する。 (図9:ステップ902)
次に、メモリ領域決定部44は、識別した優先度Gに対応するメモリ領域を選択し、新たにキャッシュする描画用データ(例えばビットマップデータ)のためのメモリ領域情報Bをラスタライズ部30に出力する。 (図9:ステップ903、図7:ステップ709)
次に、入替決定部45が、ラスタライズ部30から、描画用データ(例えばビットマップデータ)の入替えを決定するために必要な情報C(たとえばメモリ領域情報Bを含む情報)を入力する。 そして、文字フォントの優先度Gに対応するメモリ領域における空き領域を確認する。 そして、空き領域がある場合は制御情報Dに応じて新たな文字フォントがキャッシュメモリ50にキャッシュされることになるので、入替えの制御は行わない。
一方、空き領域がない場合は、入替えを制御するための制御情報Hをキャッシュメモリ50に出力する。 (図7:ステップ710)
次に、キャッシュメモリ50が、ラスタライズ部30からの制御情報Dに応じて、(1)メモリ領域情報Bおよび新たにキャッシュする描画用データ(例えばビットマップデータ)をラスタライズ部30から入力し、記憶する、または(2)既にキャッシュされている描画用データ(例えばビットマップデータ)Eを出力する。
図10は、本発明の実施の形態1における、文字入力に対するキャッシュ結果の例を示す図である。
図10は、キャッシュメモリ50におけるデータ構造が図6の場合で、文字取得部10において新たに描画するための文字として「あけましてオメデトウ今年も宜しくお願いします2014元旦」が取得された場合のキャッシュ結果の例となっている。 図において、天気・季節に関連する文字列に用いられる漢字(「今」、「年」など。)が同じメモリ領域にキャッシュされていることが分かる。
図11は、本発明の実施の形態1における、キャッシュメモリの入替えを説明するための図である。 図において、白抜きの点線の四角形はデータが削除されるメモリ領域、を示す。
キャッシュメモリ50は、入替えを指示する制御情報Hを入替決定部45から入力した場合、既にキャッシュされたデータと新たにキャッシュするデータとを入替る。 キャッシュの入替えは、同じ優先度Gに対応するメモリ領域に既にキャッシュされている文字フォントのなかで使用頻度の少ないものを、新たにキャッシュする文字フォントと入替る。
図11は、天気・季節に関連する文字列に用いられるメモリ領域zのデータ(「紅」「葉」等)の文字フォントデータが削除され、「桜」の文字フォントがキャッシュされる場合の例となっている。 なお、メモリ領域の設定自体を一度削除して、再度設定してから文字フォントを削除してもよい。
次に、ラスタライズ部30が、生成した描画用のデータ(例えばビットマップデータ)をフレームバッファ部60へ出力する。(図7:ステップ705)
以上のように、本実施の形態のフォントキャッシュ装置及び文字描画処理装置によれば、外部情報に応じた文字列集合およびその優先度を設定することができるので、外部情報に応じたキャッシュメモリの制御が可能となるとともに、キャッシュメモリの動作の高速化および効率的な使用が図れる。
また、本実施の形態においては、優先度決定部43が、入力した情報(外部情報)Fに関連する部分文字列集合をデータベース42から入力して保持している。 このため、情報(外部情報)Fに関連する文字を使用する文字フォントを新たにキャッシュしようとする場合に、データベース42にアクセスする必要がないので、文字フォントに対する優先度の決定を高速化することができる。ひいては描画処理を高速化することができる。
なお、本実施の形態の上記説明では、形状記憶部20にアウトラインフォントデータを記憶し、キャッシュメモリ50にビットマップデータを記憶する場合について説明したが、キャッシュメモリ50にアウトラインフォントデータも記憶するように構成し、ラスタライズ部30でビットマップデータに変換するようにしてもよい。
形状記憶部20には多数の文字の文字形状情報を記憶するため、一般的にキャッシュメモリと比較して応答速度が遅い代わりに大量のデータを記憶できる記憶回路を用いることが想定されるが、アウトラインフォントデータも記憶できるように構成することで、使用頻度の高い形状の文字について高速に描画処理を行うことができる。
また、本実施の形態においては、時刻情報、位置情報、・・・、圧力情報を取得しているが、フォントキャッシュ装置70および文字描画処理装置1の実装形態は、図の構成に限定されない。 例えば(1)上記以外の情報を取得する、(2)図示した情報の一部又は全部および上記(1)の情報を取得する、(3)前記(1)および(2)が可能なように装置を構成するが制御により使用しないようにする、といった各種の実装形態が可能である。
本実施の形態においては、キャッシュメモリ50内の各メモリ領域の大きさ、または、キャッシュデータの入替単位となる領域のサイズ、が固定サイズのブロックを構成し、管理するので、データ検索用のテーブルを小さくすることができ、文字フォントのキャッシュのためのメモリ領域をその分大きくすることができる。
なお、本実施の形態のようにブロック単位でキャッシュメモリ50を制御するか文字単位で制御するかは、フォントキャッシュ装置及び文字描画処理装置の実装形態に応じて異なってよい。
また、本実施の形態においては、情報取得部41がフォントキャッシュ装置70の内部で閉じた構成となっている場合を例に説明したが、図の構成に限定されない。
図12は、本発明の実施の形態1における、決定部の内部構成の別の例の概略を示す図である。
図12は、情報取得部41内の各種情報取得部が決定部40の外部から情報を取得する場合の例となっている。 この場合、情報取得部41内の各種情報取得部は、情報を入力するインターフェースとすることができる。 例えば、(1)単なるコネクタ、(2)アナログ・デジタル変換器、(3)通信回路、のうちの一部又は全部を用いることができる。
なお、図においては、一方的に情報を入力する場合に例となっているが、双方向制御が可能な回路などを用いて情報のやり取りを行うよう装置を構成してもよく、図の矢印の方向に限定されない。
また、本実施の形態においては、データベース42が決定部40の内部に含まれている構成となっている場合を例に説明したが、図の構成に限定されない。
図13は、本発明の実施の形態1における、決定部の内部構成の別の例の概略を示す図である。
図においては、決定部40内に通信手段46を有し、優先度決定部43が通信手段46を介してデータベース42と情報およびデータをやり取りする。 通信手段の実装形態としては、公知および新規な各種通信回路及び各種通信方式の中から選択して用いることができる。 例えば通信回路及び通信方式として、例えば(1)無線通信回路(方式)、(2)有線通信回路(方式)、(3)前記(1)及び(2)の組合せ、のうちの一部又は全部を適用することができる。
また、図13においてはデータベース42が決定部40の外部に存在することしか提示されないが、具体的には、例えば(1)決定部40の外部でかつ文字描画装置1の内部、(2)文字描画装置1の外部、(3)文字描画装置1を使用する各種機器の外部、のいずれかにより実装することができる。 例えば、(3)の場合でカーナビゲーション装置の例では、カーナビゲーション装置を搭載(または設置)している車両の外部にあるサーバー装置に実装してもよい。
また、本実施の形態においては、データベース42のデータが予め設定されて変更されない構成となっている場合となっているがが、図の構成に限定されない。
図14は、本発明の実施の形態1における、決定部の内部構成の別の例の概略を示す図である。
図においては、データベース42を更新するためのデータ更新部47を備えている。 データ更新部47の実装形態としては、各種の更新形態が選択可能である。 例えば(1)データベース42の位置情報として地図情報を有する場合に最新の地図情報に更新する、(2)文字描画装置1を使用する各種機器の使用場面に応じて更新する、といった実装形態とすることができる。
また、本実施の形態においては、優先度決定部43において保持する文字列の決定(およびデータの保持処理)と、文字フォントの優先度Gの決定と、が直列的に行われるように説明しているが、並列的な動作として行われるように構成してもよく、上記直列的な場合に限定さない。
実施の形態2.
以下に、本発明の各実施の形態2について図15を用いて説明する。
本実施の形態と上記実施の形態1との主要な差異は、(1)文字描画処理装置1およびフォントキャッシュ装置70を使用するアプリケーション、(2)文字描画処理装置1およびフォントキャッシュ装置70を使用する装置の種類、等の文字描画処理装置1およびフォントキャッシュ装置70の用途(以下、動作モードと記載。)の違いに応じて優先度を決定する点である。 その他の構成及び動作については、上記実施の形態1と同様であるので、以下ではその説明を省略する。
また、上記実施の形態1においては、文字描画装置1として特定の1つの用途に用いる場合の例を説明したが、本実施の形態においては、複数のアプリケーションに対応可能な場合となっている。
図15は、本発明の実施の形態2における、決定部の内部構成の別の例の概略を示す図である。 図15は、文字描画処理装置およびフォントキャッシュ装置70の用途としてEPG、ナビゲーションおよびGUI(Graphical User Interface)が選択可能、すなわち文字描画処理装置1がEPG、ナビゲーションおよびGUI用に共用される場合な場合の例となっている。
図において、48はモード切替部、42aはEPG用データベース、42bはナビゲーション用データベース、42nはGUI用データベース、43aはEPG用優先度決定部、43bはナビゲーション用優先度決定部、43nはGUI用優先度決定部を示す。
情報取得部41からの情報(外部情報)Fは、各優先度決定部43a、・・・、43nに分配されて出力される。
各データベース42a、・・・、42nは、文字描画処理装置1を用いて文字を描画するアプリケーションまたは各種応用装置の種類(以下、動作モードと記載。)に対応して、専用のデータベースが設定される。 なお、図においては個々のデータベース42a、…、42nが区別されているが、各データベースのデータが区別可能であればよく、データベース42a、…、42nの実装形態としては必ずしも物理的に区別可能に実装する必要はない。
各優先度決定部43a、・・・、43nは、用途別に、新たにキャッシュする文字フォントに対し優先度を決定する。 各優先度決定部43a、・・・、43nは、決定した優先度Gをモード切替部4に出力する。
モード切替部4は、文字描画装置の用途に応じて、優先度情報の入力先を切替え、選択した優先度決定部からの優先度Gをメモリ領域決定部44に出力する。
以上のように、本実施の形態のフォントキャッシュ装置および文字描画処理装置によれば、上記実施の形態1と同様な効果を奏することができる。
また、 決定部40を図のように構成することで、用途及び動作に適した文字列集合の定義(集合の範囲)および優先度の設定をすることができるので、複数の用途に使用する場合において効率的なキャッシュメモリの制御ができ、ひいては文字描画処理の高速化を図ることができる。
図16は、本発明の実施の形態2における、文字描画処理装置の内部構成の別の例の概略を示す図である。 なお、図16は、情報(外部情報)Fをフォントキャッシュ部70の外部から取得する場合の例となっている。
図において、80はアプリケーション部、90は表示部を示す。
アプリケーション部80は、例えば図15に示した用途であるEPG、ナビゲーション、GUIのための回路およびプログラムを含むことができる。
アプリケーション部80は、表示部90に表示させたい文字の文字識別情報を生成し、文字取得部10へ出力する。 また、アプリケーション部80は、動作モードに関する情報または動作モードにおいて使用する情報を決定部40に出力する。
表示部90は、フレームバッファ部60から描画用データを入力し、表示器(図示しない)に表示する。 表示器の実装形態としては、公知および新規な各種回路および装置を適用でき、例えば(1)液晶ディスプレイ、(2)有機ELディスプレイ、から選択して実装することができる。
以上のように、本実施の形態のフォントキャッシュ装置および文字描画処理装置によれば、上記実施の形態1と同様な効果を奏することができる。
なお、上記実施の形態1および実施の形態2に記載した各種変形は本実施の形態にも適用可能であり、新たな実施の形態の例とすることができる。
また、本実施の形態においては、表示部90において実際に表示させているが、(1)出力インターフェースのみの構成とし外部表示装置に表示させる、または、(2)出力インターフェースを備え外部表示装置に表示可能に構成する、ようにしてもよく上記説明の構成に限定されない。
実施の形態3.
以下に、本発明の実施の形態3について図17を用いて説明する。
なお、上記各実施の形態と同一または同様な動作については、その説明を省略する場合がある。
図17は、本発明の実施の形態7における、文字描画処理装置の内部構成の概要を示す図である。
図において、171はCPU(Central Processing Unit)、172は入力インターフェース、173は制御用インターフェース、174はバス(Bus)、175はRAM(Random Access Memory)、176はROM(Read Only Memory)、177は出力インターフェース、198は表示回路を示す。
なお、図示しない機能または構成要素を含む広義の文字描画処理装置1を各種定義することも可能である。 例えば、(1)電源機能、(2)各種演算機能、(3)通信機能、(4)各種インターフェース機能、(5)各種アプリケーション処理機能、(6)表示制御機能、の中の1つ以上を含む装置を定義することが可能である。 また、図中の構成要素の一部を用いてフォントキャッシュ装置70の内部構成の概要を示す図としてみることもできる。
CPU191は、各種処理、例えば(1)制御処理、(2)演算処理、(3)決定処理のうち1つ以上を行なう。
入力インターフェース172は、文字描画処理装置1またはフォントキャッシュ装置70の外部から、例えば(1)信号、(2)情報、(3)プログラムのうち少なくとも1つ以上を入力する。
制御用インターフェース173は、文字描画処理装置1またはフォントキャッシュ装置70の外部、たとえば文字描画処理装置1またはフォントキャッシュ装置70のユーザ、との間で各種制御情報をやり取りする。
バス174は、図に示したブロックの間を接続し、各種信号、データ、情報のうちの1つ以上のやり取りに用いられる。 なお、バス174の接続関係は図に示した接続関係に限定されず、文字描画処理装置1またはフォントキャッシュ装置70の実装形態によって異なってよい。
RAM175及びROM176は、フォントキャッシュ装置70および文字描画処理装置1の動作において記憶することが必要な、例えば(1)各種信号データ、(2)各種情報、(3)処理中の一時的なデータ、(4)フォントキャッシュ装置70および文字描画処理装置1として機能させためのプログラム、のうちの1つ以上を記憶する。
出力インターフェース177は、文字描画処理装置1またはフォントキャッシュ装置70の外部へ、例えば(1)各種処理結果、(2)各種処理途中の情報等、(3)外部の機器へ制御信号、のうちの1つ以上を出力する。
表示回路178は、文字描画処理装置1における各種処理結果を表示する。 なお、表示用の制御回路のみを有し、表示は汎用の外部表示装置(いわゆるモニタ)の画面に表示させるように文字描画処理装置1を構成してもよい。
本実施の形態においては、図17に示した構成要素と、上記各実施の形態の図に示したいずれか1つまたは複数の構成要素と、を対応させることができる。
例えば、主にRAM195を、キャッシュメモリ50、フレームバッファ部60に対応させることができる。
また、例えば、主にROM176を、形状記憶部20、データベース42に対応させることができる。
また、例えば、主にCPU191、RAM195、ROM196を、ラスタライズ部30、決定部40、モード切替部48、アプリケーション部80に対応させることができる。
また、例えば、主にCPU191、RAM195、表示回路198を、表示部80に対応させることができる。
また、例えば、主に入力インターフェース172を、情報取得部41に対応させることができる。
また、例えば、主に入力インターフェース172および出力インターフェース177を、通信手段46に対応させることができる。
以上のように、本実施の形態のフォントキャッシュ装置及び文字描画処理装置によれば、対応させる上記実施の形態に応じて、対応させた実施の形態に記載した効果と同じ効果または同様な効果を奏する。
なお、本実施の形態の上記説明においては単に「CPU」と記載しているが、各種実装形態が選択可能であり、決定処理に代表される各種処理を実現可能であればよく、例えば、(1)マイクロプロセッサ(Microprocessor)、(2)FPGA(Field Programmable Gate Array)、(3)ASIC(Application Specific Integrated Circuit)、(4)DSP(Digital Signal Processor)、(5)FPGA(Field−Programmable Gate Array)に代表されるPLD(Programmable Logic Device)のいずれか1つ、または複数の選択肢の組合せであってもよい。 また、汎用品を用いても、専用品を用いても、両者を組み合わせて構成してもよい。
また、図においてCPU191は1つのみ記載しているが、各種実装形態が選択可能であり、例えば、(1)複数のCPUを有して、複数の処理機能、例えば各種制御処理と画像データ演算処理、を異なるCPUで処理をする、(2)複数のCPUが連携して1つの処理をする、ように構成してもよい。 その他の構成要素についても同様である。
また、各種の処理の実装形態としては、(1)アナログ処理、(2)デジタル処理、(3)両者の混在処理、のいずれであってもよい。さらに、(1)ハードウェアによる実装、(2)ソフトウェア(プログラム)による実装、(3)両者の混在による実装、などが可能である。
また、上記説明においては単に「RAM」と記載しているが、データを揮発的に記憶保持可能なものであればよく、例えば、(1)SRAM(Static RAM)、(2)DRAM(Dynamic RAM)、(3)SDRAM(Synchronous DRAM)、(4)DDR−SDRAM(Double Data Rate SDRAM)、(5)HDD(Hard Disk Drive)、(6)SSD(Solid State Device)であってもよい。また、その数も1つに限定されない。
また、RAM75は、(1)ハードウェアによる実装、(2)ソフトウェアによる実装、(3)両者の混在による実装、などが選択可能である。
また、上記説明においては単に「ROM」と記載しているが、データを記憶保持可能なものであればよく、例えば、(1)EPROM(Electrical Programmable ROM)、(2)EEPROM(Electrically Erasable Programmable ROM)、であってもよい。また、ハードウェアによる実装、ソフトウェアによる実装、両者の混在による実装、などが可能である。
また、図のその他の各構成要素についても、(1)ハードウェアによる実装、(2)ソフトウェアによる実装、(3)両者の混在による実装、などが選択可能である。
また、バス174によって運ばれる信号および情報の内容は、各装置の内部構成の分割の仕方によって変わることがあり、その場合、信号および情報が、(1)明示的に実装されるか否か、また(2)明示的に規定される情報か否か、といった情報の属性が異なってもよい。
また、上記各実施の形態の図において実線及び矢印でやり取りされる情報等の内容は、各装置の内部構成の分割の仕方によってその属性が変わることがあり、その場合、(1)明示的に実装されるものか黙示的に実装されるものか、また、(2)明示的に規定されるものか否か、といった属性が異なってもよい。また、上記各実施の形態に記載した以外の情報等を含んでいてもよい。
また、各実施の形態において説明した各種処理は、(1)実質的に等価(または相当する)処理(または動作)に変形して実装する、(2)実質的に等価な複数の処理に分割して実装する、(3)複数のブロックに共通する処理はそれらを含むブロックの処理として実装する、(4)あるブロックがまとめて実装する、など本発明の課題及び効果の範囲で各種変形が可能である。
また、上記各実施の形態における装置の構成、機能および処理の分割のしかたは一例であり、装置の実装においては、等価な機能を実現できればよく各本実施の形態に限定されない。