JP2007108499A - 画像データ生成装置および方法、プログラム並びに記録媒体 - Google Patents
画像データ生成装置および方法、プログラム並びに記録媒体 Download PDFInfo
- Publication number
- JP2007108499A JP2007108499A JP2005300204A JP2005300204A JP2007108499A JP 2007108499 A JP2007108499 A JP 2007108499A JP 2005300204 A JP2005300204 A JP 2005300204A JP 2005300204 A JP2005300204 A JP 2005300204A JP 2007108499 A JP2007108499 A JP 2007108499A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- font
- image
- width
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】低コストのキャラクタジェネレータ方式のOSD表示において、プロポーショナルフォントを適切に表示させることができるようにする。
【解決手段】プロポーショナルフォントの文字列「Normal」を含むGUIボタンである領域221において各フォントのフォントサイズを取得して文字列の幅を演算し、文字列の右端から領域221の右端のGUIパーツまでのドット数を計算する。次に、文字列の右端から領域221の右端のGUIパーツまでのスペースを空白のブロックで埋め、オフセットをブロック数として演算する。領域221右端に表示されるGUIパーツのブロック位置としては、サイズが18dotのブロックの位置に、オフセットを加算したブロック位置とし、それ以降の右側のGUIパーツ表示が可能となる。
【選択図】図6
【解決手段】プロポーショナルフォントの文字列「Normal」を含むGUIボタンである領域221において各フォントのフォントサイズを取得して文字列の幅を演算し、文字列の右端から領域221の右端のGUIパーツまでのドット数を計算する。次に、文字列の右端から領域221の右端のGUIパーツまでのスペースを空白のブロックで埋め、オフセットをブロック数として演算する。領域221右端に表示されるGUIパーツのブロック位置としては、サイズが18dotのブロックの位置に、オフセットを加算したブロック位置とし、それ以降の右側のGUIパーツ表示が可能となる。
【選択図】図6
Description
本発明は、画像データ生成装置および方法、プログラム並びに記録媒体に関し、特に、低コストのキャラクタジェネレータ方式のOSD表示において、プロポーショナルフォントを適切に表示させることができるようにする画像データ生成装置および方法、プログラム並びに記録媒体に関する。
テレビジョン受像機、コンピュータのディスプレイなどの表示機器において表示されるOSD(On Screen Display)では、キャラクタジェネレータ方式が用いられることが多い。
従来、キャラクタジェネレータ方式では、文字列の場合は、図1に示されるように文字列の各文字に対応するフォントROMのアドレスを特定し、そのアドレスに対応したフォントデータを、フォントROMからVRAM(Video RAM)にブロック単位に展開することで文字列を画面上に表示している。また、文字以外のGUIパーツ部品、例えばボタン枠の場合、図2に示されるように、各GUIパーツに相当するフォントROMアドレスを特定し、そのアドレスに対応した部品データをVRAMにブロック単位に展開することで文字列とGUI部品を画面上に表示している。ここで、ブロックは、1つの文字フォントまたは1部分のGUIパーツが格納されているデータの単位であって、例えば24dot×32dotが1ブロックとされる。
このキャラクタジェネレータ方式において、文字フォントとGUI部品が全て同じドット幅で構成されていれば、文字フォントとGUI部品の両方の表示を制御する場合でも、OSDの表示は格別困難ではない。しかしながら、文字によって文字フォントの幅が異なるプロポーショナルフォントを用いてOSDの表示を行うことは難しい。
例えば、プロポーショナルフォントを用いてOSDの表示を行うと、表示される文字によって文字フォントの幅が異なるため、同じ10ブロックの文字列であっても、文字列の右端のブロックの位置に差異がでてしまうことがあり、文字列の右端の第10番目のブロックの次の第11番目のブロックからGUI部品を配置する処理になっていると、GUIボタン枠の右端側のパーツは希望の表示位置から左側にずれてしまう。
そこで、プロポーショナルフォントを用いた表示の制御を行う技術が提案されている(例えば、特許文献1、特許文献2、または特許文献3参照)。
しかしながら、特許文献1の技術は、ビットマップのGUI枠が配置座標を指定されることで、あるポジションに配置され、そのGUI枠内にプロポーショナル制御された文字列幅をカウントすることで、枠内の中央に配置することができるというものである。これはビットマップを指定座標に配置できるモジュール機能によって実現できるものであり、キャラクタジェネレータ方式のOSDの表示に用いることはできない。
特許文献2または特許文献3の技術は、キャラクタジェネレータ方式によるOSDの表示でも利用することができる。
しかしながら、特許文献2の技術は、格納されている文字パターンに対して余白サイズを各々情報として格納するものであり、特許文献3の技術は、あらかじめ2種類のフォントを搭載しておき、文字列を表示する際に表示エリアをオーバーしていた際には、小さい方のフォントを使用したり、表示範囲を超える場合は、組み文字フォントを使用する手法であり、例えば、GUIボタンの枠内にプロポーショナルフォントの文字列を挿入する場合などのOSDの表示の制御を行うときは、VRAMに複数のレイヤーを設けて、1つのレイヤーで生成されたGUIボタンの枠と、別のレイヤーで生成された文字列を重ね合わせて表示する必要があり、コスト高となってしまう。
このように、キャラクタジェネレータ方式のOSDの表示では、プロポーショナルフォントの文字列とGUI部品の表示の制御をVRAMの同じレイヤーで行うことが困難とされていた。さらに、フォントの種類や文字列の表示方向が異なる言語を切り替えて用いる場合は、複雑さを増すことになる。
本発明はこのような状況に鑑みてなされたものであり、低コストのキャラクタジェネレータ方式のOSD表示において、プロポーショナルフォントを適切に表示させることができるようにするものである。
本発明の一側面は、キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置であって、前記画像の描画枠に挿入すべき文字列の情報を取得する文字列取得手段と、前記文字列取得手段により取得された前記文字列に対応するフォントが前記画像において表示される幅であって文字列幅を演算する文字列幅演算手段と、前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅を特定する特定手段と、特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報を算出する算出手段と、前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータを生成する生成手段とを備える画像データ生成装置である。
前記文字列のフォントは、プロポーショナルフォントであるようにすることができる。
前記文字列幅演算手段は、前記文字列のそれぞれの文字に対応するフォントのフォントサイズを判定して前記文字列幅を演算するようにすることができる。
前記文字列幅演算手段は、前記文字列のそれぞれの文字に対応するフォントを、標準フォントと例外フォントに区別し、前記例外フォントに属するフォントのフォントサイズを判定するようにすることができる。
前記画像は、テレビジョン受像機の表示画面においてOSDとして表示されるようにすることができる。
本発明の一側面は、キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置の画像データ生成方法であって、前記画像の描画枠に挿入すべき文字列の情報を取得し、前記取得された文字列に対応するフォントが前記画像において表示される幅であって文字列幅を演算し、前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅を特定し、特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報を算出し、前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータを生成するステップを含む画像データ生成方法である。
本発明の一側面は、キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置に画像データ生成処理を実行させるプログラムであって、前記画像の描画枠に挿入すべき文字列の情報の取得を制御し、前記取得された文字列に対応するフォントが前記画像において表示される幅であって文字列幅の演算を制御し、前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅の特定を制御し、特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報の算出を制御し、前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータの生成を制御するステップを含むコンピュータが読み取り可能なプログラムである。
本発明の一側面においては、画像の描画枠に挿入すべき文字列の情報が取得され、前記取得された文字列に対応するフォントが前記画像において表示される幅であって文字列幅が演算され、前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅が特定され、特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報が算出され、前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータが生成される。
本発明の一側面によれば、低コストのキャラクタジェネレータ方式のOSD表示において、プロポーショナルフォントを適切に表示させることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の画像データ生成装置は、キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置(例えば、図3のOSDモジュール123)であって、前記画像の描画枠に挿入すべき文字列の情報を取得する文字列取得手段(例えば、図8のステップS121の処理を実行する図3のOSDC143)と、前記文字列取得手段により取得された前記文字列に対応するフォントが前記画像において表示される幅であって文字列幅を演算する文字列幅演算手段(例えば、図8のステップS122の処理を実行する図3のOSDC143)と、前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅を特定する特定手段(例えば、図8のステップS123の処理を実行する図3のOSDC143)と、特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報(例えば、オフセット)を算出する算出手段(例えば、図8のステップS124の処理を実行する図3のOSDC143)と、前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータを生成する生成手段(例えば、図8のステップS125の処理を実行する図3のOSDC143)とを備える。
本発明の一側面の画像データ生成方法は、キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置(例えば、図3のOSDモジュール123)の画像データ生成方法であって、前記画像の描画枠に挿入すべき文字列の情報を取得し(例えば、図8のステップS121の処理)、前記取得された文字列に対応するフォントが前記画像において表示される幅であって文字列幅を演算し(例えば、図8のステップS122の処理)、前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅を特定し(例えば、図8のステップS123の処理)、特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報(例えば、オフセット)を算出し(例えば、図8のステップS124の処理)、前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータを生成する(例えば、図8のステップS125の処理)ステップを含む。
以下、図面を参照して、本発明の実施の形態について説明する。図3は、本発明を適用したテレビジョン受像機100の一実施形態に係る構成例を示す図である。
図3において、チューナ121は、図示せぬアンテナなどを介して取得される放送信号を受信し、受信した放送信号のうち所定のチャネルの信号に基づいてコンポジットビデオ信号とオーディオ信号とを復調し、コンポジットビデオ信号を画像信号として高画質回路124に出力する。ビデオ入力端子122は、図示せぬ再生装置などから供給される画像信号を高画質回路124に出力する。
OSD(On Screen Display)制御モジュール123は、表示すべきOSDに対応する画像信号を生成する機能ブロックであり、フォントROM141、VRAM(Video RAM)142、およびOSDC(On Screen Display Controller)143が設けられている。なお、OSD制御モジュール123は、OSDの画像を生成する場合、キャラクタジェネレータ方式により画像を生成する。
OSDの表示に用いられる各種の文字フォントまたはGUI(Graphical User Interface)パーツは、フォントROM141に格納されている。OSDC143は、予め生成されたフォントROM141のアドレスと、各種の文字フォントまたはGUIパーツを対応づけるテーブルなどに基づいて、表示すべきOSDにおいて必要となる文字フォントまたはGUI(Graphical User Interface)パーツに対応づけられたフォントROM141のアドレスを特定して、OSDとして表示すべき文字フォントまたはGUI(Graphical User Interface)パーツをフォントROM141から読み出す。
フォントROM141から読み出された文字フォントまたはGUIパーツは、VRAM142に展開される。例えば、表示すべきGUIパーツと文字フォントがVRAM142の所定の記憶位置に画面の左側に位置するGUIパーツまたは文字フォントから順番に並べられることにより、OSDとして表示すべき画像(例えば、GUIなど)がVRAM142の中に生成されることになる。
そしてOSDC143は、VRAM142の中に生成された、例えばGUIの画像に対応する画像信号を生成し、高画質回路124に出力する。
OSD制御モジュール123においては、VRAM142のレイヤーは1とされる。すなわち、例えば、GUIボタンの枠の画像と、GUIボタンの枠内に挿入すべき文字列の画像が、VRAM142の中で別々に生成されて後から合成されることはなく、GUIボタンの枠の画像と、GUIボタンの枠内に挿入すべき文字列の画像がVRAM142の中で同一の画面上に生成されることになる。このように、VRAM142のレイヤーを1とすることで、OSD制御モジュール123の構成を簡素化することができ、その結果、テレビジョン受像機100の製造コストを抑制することができる。
高画質回路124は、チューナ121またはビデオ入力端子122から供給される画像信号に対応する画像と、OSD制御モジュール123から供給される画像信号に対応する画像とを合成した画像に対応する画像信号を生成して表示部125に出力する。
表示部125は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などにより構成され、高画質回路124から供給される画像信号に対応する画像を表示させる。これにより、必要に応じてテレビジョン放送またはビデオなどの画像にOSDが重畳された画像が表示される。
テレビジョン受像機100におけるOSDの表示においては、プロポーショナルフォントが用いられる。
ここで、プロポーショナルフォントを用いたOSDの表示について説明する。通常、日本語でのOSDの表示には、各文字の幅が等しい当幅フォントが用いられることが多いが、プロポーショナルフォントは、文字ごとに異なった幅を持つフォントであり、プロポーショナルフォントを用いることでアルファベットなどを美しく表示できる。
図4は、同じ文字列を当幅フォントで表示した場合と、プロポーショナルフォントで表示した場合の例を示す図である。同図においては、「Picture」という文字列を、当幅フォントで表示した場合の表示例201と、プロポーショナルフォントで表示した場合の表示例202が示されている。表示例201においては、全ての文字が同じ文字幅をもつフォントとして、図中均等の大きさの四角形の枠内に1文字ずつ文字(フォント)が表示されている。これに対して、表示例202においては、大文字である「P」に対して小文字である「icture」はより小さい幅のフォントで表示されており、それら小文字のフォントの中でも「i」、「t」はさらに小さい幅のフォントで表示されている。
このように、プロポーショナルフォントを用いる場合、同じ文字数で構成される文字列であっても、文字の種類に応じて文字列全体の幅が異なってしまう。
例えば、キャラクタジェネレータ方式でGUIを生成する場合であって、文字列の右側に他のGUIパーツが表示される場合、各文字のフォントデータが、フォントROMからVRAMにブロック単位に展開されることで文字列を画面上に表示し、文字列の最終(最右端)のブロックの次のブロックに、フォントROMから読み出されたGUIパーツのデータが展開されることで文字列とGUIパーツがGUI画面として生成される。ここで、ブロックは、1つの文字フォントまたは1部分のGUIパーツが格納されているデータの単位であって、例えば24dot×32dotが1ブロックとされる。
しかしながら、均等幅フォントを用いてGUIを表示する場合、同じ文字列の文字幅は等しいものになるが、プロポーショナルフォントを用いてGUIを表示する場合、同じ文字数で構成される文字列であっても、文字の種類に応じて文字列全体の幅が異なるため、GUIの表示が不自然になってしまう場合がある。
例えば、図4に示されるように、画面の左端に1ブロックの空白のブロックを挿入し、文字列「Picture」に2ブロックの空白のブロックを挿入し、その右側にGUIパーツを表示させる場合、GUIパーツは第11ブロック目から表示されることになるが、表示例201と、表示例202では、第11ブロック目の表示位置が異なっている。また、プロポーショナルフォントを用いる場合、文字列を構成する文字の種類が変われば、第11ブロック目の表示位置は、表示例202の場合とは異なるものとなることもある。
図5は、プロポーショナルフォントを用いて適切に表示されたGUIの例を示す図である。同図においては、図中四角形で囲まれた領域A乃至領域Dにおいて、プロポーショナルフォントの文字列が表示されており、同図のように自然で見易いGUI画面を生成するためには、プロポーショナルフォントの文字列の右側の表示位置であって、図中円で囲まれた14の表示位置を適切に特定する必要がある。
このため、本発明においては、GUIを生成する場合、プロポーショナルフォントで表示される文字列の後(右側)に挿入すべき空白のブロックをオフセットとして予め算出する。
図6を参照して、OSD制御モジュール123におけるオフセットの算出について説明する。図6は、やはりプロポーショナルフォントを用いて適切に表示されたGUIの例を示す図であり、ここでは、文字列「Normal」を含むGUIボタンである領域221におけるオフセットの算出を例として説明する。なお、図中上端に表示される0乃至18までの数値は、サイズ(ブロックの幅)が18dotのブロックの位置を表している。
OSDC143は、予め記憶しているフォントサイズテーブルを参照し、表示すべき文字列の幅を演算する。この例では、「o」、「r」、「a」「l」の4つの文字のフォントサイズが12dot、「N」、「m」の文字またはGUIパーツのフォントサイズが18dotとする。今の場合、文字列「Normal」の幅は、84(=12×4+18×2)dotとなる。
文字列の幅が演算された後、OSDC143は、文字列の右端から領域221の右端のGUIパーツまでのドット数を計算する。いまの場合、領域221のGUIパーツを除く部分は、18dotのブロックとして換算した場合、13ブロックあることになり、全体で234(=13×18)dotとなる。従って、文字列の右端から領域221の右端のGUIパーツまでのドット数は、150(=234−84)dotと求めることができる。
次に、OSDC143は、文字列の右端から領域221の右端のGUIパーツまでのスペースを空白のブロックで埋める。ここで、空白のブロックは、サイズが12dotのものを優先的に用い、サイズ12dotの空白のブロックでスペースを埋めることができない場合は、適宜サイズ18dotの空白のブロックを用いることとする。いまの場合、150(dot)を12(dot)で割った商は11で、余りが18となるので、12dotの空白のブロック11個および18dotの空白のブロック1個で文字列の右端から領域221の右端のGUIパーツまでのスペースを埋める。
そしてOSDC143は、オフセットをブロック数として演算する。ここでオフセットは、次のようにして演算される。
オフセット=(空白のブロック数+文字列のブロック数)−領域221のGUIパーツを除く部分を18dotのブロックとして換算した場合のブロック数
いまの場合、空白のブロック数が12であり、文字列(Normal)のブロック数は6なので、領域221のGUIパーツを除く部分のブロック数は18となる。OSDC143は、オフセットを5(=18-13)ブロックと求める。領域221右端に表示されるGUIパーツのブロック位置としては、サイズが18dotのブロックの位置に、オフセットを加算したブロック位置とし、それ以降の右側のGUIパーツ表示が可能となる。
このようにすることで、文字フォントやGUIパーツをブロック単位で表示するキャラクタジェネレータ方式において、プロポーショナルフォントを用いたGUIを適切に表示することができる。
また、このようにすることで、GUI枠の中に文字列を挿入するようなGUIの画像を生成する場合であっても、VRAM142のレイヤーを1とすることができ、コストを抑制することが可能となる。
次に、図7のフローチャートを参照して、テレビジョン受像機100における情報表示処理について説明する。この処理は、例えば、テレビジョン受像機100において、OSDが表示されるとき実行される。
ステップS101において、OSDC143は、OSDとして表示する画面の言語を判定する。このとき、例えば、ユーザの選択、または予め設定されたパラメータなどに基づいて、日本語の画面であるか、英語の画面であるかが判定される。
ステップS102において、OSDC143は、表示画面の情報を取得する。このとき、例えば、図示せぬリモコンなどを介して入力されるユーザからのコマンドなどに対応して表示すべき画面のレイアウトが取得される。なお、OSDとして表示すべき画面のレイアウトは、例えば、OSD制御モジュール123内の図示せぬ記憶部などに、複数の種類のレイアウトが予め記憶されており、リモコンなどを介して入力されるユーザからのコマンドなどに対応して所定の画面(例えば、図5に示されるような画面)のレイアウトが選択されて取得される。
ステップS103において、OSDC143は、表示すべきGUI枠の情報を取得する。このとき、例えば、ステップS102の処理で取得された画面のレイアウトにおける個々のGUI枠(例えば、図6に示される領域221など)が取得される。ここでGUI枠は、上述したオフセットを演算して、プロポーショナルフォントを用いた表示が適正に行われるようにするために取得されるものであり、例えば、図5において図中円で囲まれた表示位置を特定するために必要となる全てのGUI枠(この例では14個のGUI枠)が取得される。
ステップS104において、OSDC143は、図8を参照して後述するGUI枠描画処理を実行する。これにより、ステップS103で取得された個々のGUI枠について、キャラクタジェネレータ方式で表示画像が生成されて画像が描画される。
次に、図8のフローチャートを参照して、図7のステップS104のGUI枠描画処理の詳細について説明する。
ステップS121において、OSDC143は、文字列を取得する。このとき、GUI枠の中に挿入されて表示されるべき文字列が取得される。
ステップS122において、OSDC143は、図9のフローチャートを参照して後述する文字列幅演算処理を実行する。これにより、ステップS121の処理で取得された文字列がプロポーショナルフォントで表示された場合の幅(文字列の幅)が演算される。
ここで、図9のフローチャートを参照して、図8のステップS122の文字列幅演算処理の詳細について説明する。
ステップS141において、OSDC143は、変数Nに値1をセットする。
ステップS142において、OSDC143は、N番目の文字があるか否かを判定し、N番目の文字があると判定された場合、処理は、ステップS143に進む。
ステップS143において、OSDC143は、N番目の文字は例外フォントか否かを判定する。このとき、OSDC143は、予め記憶しているフォントサイズテーブルを参照する。フォントサイズテーブルは、例えば、OSD制御モジュール123に設けられる図示せぬ記憶部などに記憶されており、例えば、文字コードなどのその文字を特定する情報と、フォントROM141に記憶されているその文字のフォントの種類とを対応づけるテーブルとされる。
フォントサイズテーブルにおいては、フォントの種類として、「標準(18dot)」と「例外」に区別され、「例外」に該当するフォントは、さらに「Sサイズ(12dot)」と「Lサイズ(24dot)」に区別される。例えば、アルファベットのフォントの場合、「A」、「B」、「C」などのフォントは、フォントの種類が「標準(18dot)」に該当し、「M」、「W」、「I」などのフォントは、フォントの種類が「例外」に該当する。このうち、「M」、「W」は、標準のフォントより広い幅で表示される「Lサイズ(24dot)」のフォントとされ、「I」は、標準のフォントより狭い幅で表示される「Sサイズ(12dot)」のフォントとされる。すなわち、アルファベットのフォントの中で最も数の多い18dotのフォントサイズの文字(フォント)は「標準」とされ、それ以外の文字(フォント)が「例外」とされている。
ステップS143において、N番目の文字は例外フォントではないと判定された場合、処理は、ステップS144に進み、OSDC143は、文字列幅に18dotを加算する。
一方、ステップS143において、N番目の文字は例外フォントであると判定された場合、処理は、ステップS145に進み、OSDC143は、N番目の文字のフォントサイズを判定する。
ステップS143において、N番目の文字のフォントサイズは、「Sサイズ」であると判定された場合、処理は、ステップS146に進み、OSDC143は、文字列幅に12dotを加算する。一方、ステップS143において、N番目の文字のフォントサイズは、「Lサイズ」であると判定された場合、処理は、ステップS146に進み、OSDC143は、文字列幅に24dotを加算する。
例えば、「A」は18dot、「B」は18dot、「C」は18dot、・・・のように、文字毎にその文字のフォントサイズを記憶させておくことも可能であるが、このようにすると、各文字のフォントサイズを都度、取得する必要があり処理に時間がかかる。そこで、本発明においては、最初に文字のフォントの種類が「標準」であるか「例外」であるかが判定され、「標準」に該当する文字のフォントサイズは、全て18dotが割り当てられ、「例外」に該当する文字のフォントサイズは、その文字毎にフォントサイズが取得され24dotまたは12dotが割り当てられる。
このようにすることで、アルファベットの中で、比較的少ない文字(「例外」)についてのみフォントサイズを取得(判定)するようにすることができ、処理にかかる時間を短縮することが可能となる。
ステップS144、S146、またはS147の処理の後、処理は、ステップS148に進み、変数Nの値が1だけインクリメントされ、処理は、ステップS142に戻り、それ以後の処理が繰り返し実行される。
そして、ステップS142において、N番目の文字はないと判定された場合、処理は終了する。
このようにして、プロポーショナルフォントで表示された場合の文字列の幅が演算される。
図8に戻って、ステップS122の処理の後、処理は、ステップS123に進み、OSDC143は、空白のブロック数を特定する。このとき、例えば、図6を参照して上述したように、文字列の右端からGUI枠(例えば、領域221)の右端のGUIパーツまでのスペースを埋めるための空白のブロックの数が特定される。なお、上述したように空白のブロックは、サイズが12dotのものが優先的に用いられ、サイズ12dotの空白のブロックでスペースを埋めることができない場合は、適宜サイズ18dotの空白のブロックが用いられる。
ステップS124において、OSDC143は、図6を参照して上述したようにオフセットを計算する。
ステップS125において、OSDC143は、ステップS121で取得された文字列の各文字のフォントをフォントROM141から読み出してVRAM142に展開し、GUI枠の右端に表示されるGUIパーツのブロック位置を、サイズが18dotのブロックの位置に、オフセットを加算したブロック位置として、GUI枠を描画する。
なお、図7のステップS104のGUI枠描画処理は、表示すべきGUI枠のそれぞれについて行われる。例えば、ステップS102で取得された画面の情報が図5に示されるような画面の情報であった場合、図中円で囲まれる14の表示位置を求めるためのオフセットがそれぞれ演算され、個々のGUI枠の描画が行われる。
図10乃至図13を参照してさらに詳しく説明する。
例えば、図7のステップS103の処理で、図10に示されるようなGUI枠251が取得されたとする。この例では、GUI枠251は、18dotのブロックで換算すると11ブロック(198(=11×18)dot)のGUI枠とされている。そして、GUI枠251の右端のブロック271の位置にGUIパーツを表示すべく、以降の処理が行われるものとする。GUI枠251の左端のブロック261(GUIパーツ)と、GUI枠251の右端のブロック271との間の9ブロックが文字列の挿入部位となる。
図8のステップS121の処理では、図11に示されるような文字列が、GUI枠251の中に挿入されるべき文字列として取得されたものとする。この例では、「Picture」という文字列が取得されている。
そして、ステップS122の処理では、文字列「Picture」をプロポーショナルフォントで表示した場合の文字列の幅が演算される。文字列「Picture」のうち、「i」、「t」、「r」は、「例外」に区別されるフォントとされ、そのサイズはSサイズ(12dot)とされる。図12においては、「標準(18dot)」に区別されるフォントである「P」、「c」、「u」、「e」は、「M」と記述され、Sサイズのフォントは、「S」と記述され、文字列「Picture」の幅が108(=18×4+12×3)dotと演算されている。
さらに、ステップS123の処理では、文字列(「Picture」)の右端(「e」)からGUI枠の右端のGUIパーツまでのスペースを埋めるための空白のブロックの数が特定される。いまの場合、文字列「Picture」の幅(108dot)と、GUI枠251の幅(左端のGUIパーツを含まず)(180dot)との差分(スペースの幅)は、72(=198-126)dotなので、このスペースを埋める空白のブロック数は、4と特定される。なお、空白のブロック4個のうち3個は、12dotのブロックであり、1個は18dotのブロックとされる。
文字列のブロック数7と、空白のブロック数4とを足すと11となり、18dotのブロックに換算した場合のブロック数9との差分がオフセットとされ、ステップS124の処理で算出される。
これにより、OSDC143は、図13に示されるように、GUI枠251の9ブロックの文字列挿入部位に、7文字の文字列(「Picture」)を挿入し、挿入された文字列の右端(「e」)から2ブロックの空白ブロックを挿入した後、さらに2ブロックの空白ブロックを挿入して、ブロック271のブロック位置にGUIパーツを挿入することでGUI枠251の描画を行う。
このようにして、キャラクタジェネレータ方式によるプロポーショナルフォントを用いたGUIの表示の制御が行われ、表示部125にOSDとして表示される。
以上においては、アルファベットを例として説明したが、他の言語で用いられる文字をプロポーショナルフォントで表示する場合にも本発明を適用することができる。
また、以上においては、左から右に記述される文字列を例として説明したが、例えば、アラビア語のように、右から左へ記述される文字列であっても本発明を適用することができる。この場合、例えば、図14に示されるように、演算されたオフセットに基づいて、GUI枠の右端のブロック位置を特定し、文字列の右端(いまの場合、「e」)から先ほどとは逆の順序で枠内の右側からVRAM142にフォントデータを展開していくようにすればよい。
以上においては、本発明をテレビジョン受像機100に適用した例について説明したが、本発明を汎用のパーソナルコンピュータ500に適用することも可能である。図15は、パーソナルコンピュータ500の構成例を示すブロック図である。
図15において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース505も接続されている。
入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部509が接続されている。通信部509は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア511などからなる記録媒体からインストールされる。
なお、この記録媒体は、図15に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア511により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部508に含まれるハードディスクなどで構成されるものも含む。
本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
100 テレビジョン受像機, 123 OSD制御モジュール, 124 高画質回路, 125 表示部
Claims (8)
- キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置であって、
前記画像の描画枠に挿入すべき文字列の情報を取得する文字列取得手段と、
前記文字列取得手段により取得された前記文字列に対応するフォントが前記画像において表示される幅であって文字列幅を演算する文字列幅演算手段と、
前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅を特定する特定手段と、
特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報を算出する算出手段と、
前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータを生成する生成手段と
を備える画像データ生成装置。 - 前記文字列のフォントは、プロポーショナルフォントである
請求項1に記載の画像データ生成装置。 - 前記文字列幅演算手段は、
前記文字列のそれぞれの文字に対応するフォントのフォントサイズを判定して前記文字列幅を演算する
請求項1に記載の画像データ生成装置。 - 前記文字列幅演算手段は、
前記文字列のそれぞれの文字に対応するフォントを、標準フォントと例外フォントに区別し、前記例外フォントに属するフォントのフォントサイズを判定する
請求項3に記載の画像データ生成装置。 - 前記画像は、テレビジョン受像機の表示画面においてOSDとして表示される
請求項1に記載の画像データ生成装置。 - キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置の画像データ生成方法であって、
前記画像の描画枠に挿入すべき文字列の情報を取得し、
前記取得された文字列に対応するフォントが前記画像において表示される幅であって文字列幅を演算し、
前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅を特定し、
特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報を算出し、
前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータを生成する
ステップを含む画像データ生成方法。 - キャラクタジェネレータ方式により表示すべき画像のデータを生成する画像データ生成装置に画像データ生成処理を実行させるプログラムであって、
前記画像の描画枠に挿入すべき文字列の情報の取得を制御し、
前記取得された文字列に対応するフォントが前記画像において表示される幅であって文字列幅の演算を制御し、
前記文字列が挿入された状態の前記画像の描画枠におけるスペースの幅の特定を制御し、
特定された前記スペースの幅に基づいて、前記描画枠の表示位置を特定するための制御情報の算出を制御し、
前記描画枠の描画開始位置の画像から順に、前記文字列のフォント、および前記特定手段により特定されたスペースを描画するとともに、前記制御情報に基づいて前記描画枠の描画終了位置の画像を描画して前記画像のデータの生成を制御する
ステップを含むコンピュータが読み取り可能なプログラム。 - 請求項7に記載のプログラムが記録されていることを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005300204A JP2007108499A (ja) | 2005-10-14 | 2005-10-14 | 画像データ生成装置および方法、プログラム並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005300204A JP2007108499A (ja) | 2005-10-14 | 2005-10-14 | 画像データ生成装置および方法、プログラム並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007108499A true JP2007108499A (ja) | 2007-04-26 |
Family
ID=38034394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005300204A Withdrawn JP2007108499A (ja) | 2005-10-14 | 2005-10-14 | 画像データ生成装置および方法、プログラム並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007108499A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215591A (ja) * | 2010-03-16 | 2011-10-27 | Denso Corp | 表示位置設定装置 |
JP2012053264A (ja) * | 2010-09-01 | 2012-03-15 | Nec Infrontia Corp | フォント変換装置及び方法、それを用いた構内交換機システム |
CN110971847A (zh) * | 2018-09-28 | 2020-04-07 | 杭州海康威视数字技术股份有限公司 | 屏幕显示内容叠加方法、装置、电子设备以及存储介质 |
-
2005
- 2005-10-14 JP JP2005300204A patent/JP2007108499A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215591A (ja) * | 2010-03-16 | 2011-10-27 | Denso Corp | 表示位置設定装置 |
JP2012053264A (ja) * | 2010-09-01 | 2012-03-15 | Nec Infrontia Corp | フォント変換装置及び方法、それを用いた構内交換機システム |
CN110971847A (zh) * | 2018-09-28 | 2020-04-07 | 杭州海康威视数字技术股份有限公司 | 屏幕显示内容叠加方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9716801B2 (en) | Information processing device editing map acquired from server | |
JP2005044279A (ja) | 帳票処理方法、帳票処理プログラム、帳票処理装置 | |
US20100020104A1 (en) | Display processing device, display processing method, and display processing program | |
US7187391B2 (en) | Projection display apparatus, display method for same and image display apparatus | |
JP2007108499A (ja) | 画像データ生成装置および方法、プログラム並びに記録媒体 | |
JP2024513380A (ja) | 字幕の処理方法、装置、機器及び記憶媒体 | |
JP2876942B2 (ja) | データ変換装置 | |
TW202103490A (zh) | 圖像處理裝置、圖像處理方法及顯示裝置 | |
JP2009290485A (ja) | 画像処理装置 | |
US20080273799A1 (en) | Information processing apparatus, information processing method, program, and program storage medium | |
KR100510145B1 (ko) | 비례 폰트를 지원하는 온 스크린 표시 장치 및 그 방법 | |
JP2013097354A (ja) | 画像表示装置 | |
WO2014181563A1 (ja) | 文書処理装置および文書処理用プログラム | |
JPS63187331A (ja) | マルチウインドウによるデ−タ表示方式 | |
JP5612973B2 (ja) | コミック画稿配置装置、コミック画稿配置方法、及びプログラム | |
JP2011151703A (ja) | 画像処理装置、文字拡大処理方法および文字拡大プログラム | |
JP7197875B1 (ja) | プログラム、画像処理方法及び画像処理装置 | |
KR20160115214A (ko) | 디스플레이 장치 및 그의 디스플레이 방법 | |
JP2006072915A (ja) | 情報処理装置 | |
JP2002372909A (ja) | 道路地図表示装置及び道路地図表示方法並びに道路地図表示のためのプログラム | |
JP2001195560A (ja) | 画像位置調整方法およびそのための装置、並びに前記画像位置調整方法を実現するためのプログラムを記録した記録媒体 | |
JP2003023583A (ja) | 画像表示装置 | |
JPH1095144A (ja) | 文書作成装置 | |
JP3014720B2 (ja) | 絵画鑑賞システム | |
JP2000322586A (ja) | 輪郭情報生成装置、輪郭情報展開装置、輪郭情報生成プログラム記憶媒体、輪郭情報展開プログラム記憶媒体、輪郭情報生成方法及び輪郭情報展開方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090106 |