JPWO2020129201A1 - 情報処理装置、プログラム及び情報処理方法 - Google Patents

情報処理装置、プログラム及び情報処理方法 Download PDF

Info

Publication number
JPWO2020129201A1
JPWO2020129201A1 JP2020560716A JP2020560716A JPWO2020129201A1 JP WO2020129201 A1 JPWO2020129201 A1 JP WO2020129201A1 JP 2020560716 A JP2020560716 A JP 2020560716A JP 2020560716 A JP2020560716 A JP 2020560716A JP WO2020129201 A1 JPWO2020129201 A1 JP WO2020129201A1
Authority
JP
Japan
Prior art keywords
specified
pixel
color value
image
character string
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.)
Granted
Application number
JP2020560716A
Other languages
English (en)
Other versions
JP6861910B2 (ja
Inventor
智史 櫻井
智史 櫻井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2020129201A1 publication Critical patent/JPWO2020129201A1/ja
Application granted granted Critical
Publication of JP6861910B2 publication Critical patent/JP6861910B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像を記憶する記憶部(120,140)と、出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、その複数の識別子の各々を各々が表す複数の識別子部分画像を、文字列に従って配置した文字列識別画像を生成するとともに、出力画像において文字列を描画するためのエリアを特定する第1の処理部(110)と、出力画像において、エリアに含まれる全てのピクセルを特定し、特定されたピクセルに、そのエリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当てるとともに、その特定されたピクセルの全てに対して、割り当てられたラスタライズテクスチャ座標を用いて、文字列識別画像から識別される文字を文字一覧画像から抽出して、抽出された文字の画像を描画する第2の処理部(130)とを備える。

Description

本発明は、情報処理装置、プログラム及び情報処理方法に関する。
様々なコンピュータアプリケーションでは、画面に文字が描画される。近年のPC(Personal Computer)又は組み込みコンピュータは、GPU(Graphics Processing Unit)と呼ばれる描画専用のハードウェアを用いてコンテンツを描画することが多い。しかしながら、GPUは、三角形ポリゴンを描画することに特化しており、主に曲線で構成される文字をそのまま描画できるものは少ない。
そのため、一般的にGPUで文字又は文字列を描画するときは、テクスチャマッピングを用い、CPU(Central Processing Unit)で画像化した文字又は文字列を、2つの三角形ポリゴンで構成される矩形にマッピングすることが多い。
但し、CPUで文字列を描画する処理には時間がかかるため、文字列が頻繁に変化する場合には処理時間が長くなる。これに対して、特許文献1に記載されているコンピュータプログラムのように、アプリケーションが使用する全文字の画像を予め1枚のテクスチャ内に並べておき、描画時には文字数分の矩形を描画して各矩形に1文字分のテクスチャ領域をマッピングする方法が一般的に利用されている。このように、複数の画像を1枚のテクスチャにしたものをテクスチャアトラスという。
特開2017−72977号公報
しかしながら、従来の技術では、描画する文字毎に、頂点位置とテクスチャ座標とを含むポリゴン情報を、CPUで再生成してGPUに転送する必要があり、そのような処理の処理負荷が大きく、そのような処理に時間がかかってしまう。
そこで、本発明の1又は複数の態様は、文字列を描画する場合でも、少ない処理負荷で描画を行うことができるようにすることを目的とする。
本発明の1態様に係る情報処理装置は、複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像を記憶する記憶部と、出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、前記複数の識別子の各々を各々が表す複数の識別子部分画像を、前記文字列に従って配置した文字列識別画像を生成する文字列識別画像生成部と、前記出力画像において前記文字列を描画するためのエリアを特定するエリア特定部と、前記出力画像において、前記エリアに含まれる全てのピクセルを特定し、前記特定されたピクセルに、前記エリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当てる描画処理部と、を備え、前記描画処理部は、前記特定されたピクセルに含まれる1つのピクセルについて、前記1つのピクセルに割り当てられた前記ラスタライズテクスチャ座標を特定し、前記文字列識別画像において、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定し、前記文字一覧画像において、前記特定された識別子部分画像に対応する前記対象部分画像を特定し、前記特定された対象部分画像において、前記特定されたラスタライズテクスチャ座標から、前記1つのピクセルに対応するピクセルである対応ピクセルの色値を特定し、前記特定された色値を用いて、前記出力画像における前記1つのピクセルの色値を変える処理を、前記特定されたピクセルの全てで行うことで、前記エリアに前記文字列を描画することを特徴とする。
本発明の1態様に係るプログラムは、コンピュータを、複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像を記憶する記憶部、出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、前記複数の識別子の各々を各々が表す複数の識別子部分画像を、前記文字列に従って配置した文字列識別画像を生成する文字列識別画像生成部、前記出力画像において前記文字列を描画するためのエリアを特定するエリア特定部、及び、前記出力画像において、前記エリアに含まれる全てのピクセルを特定し、前記特定されたピクセルに、前記エリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当てる描画処理部、として機能させ、前記描画処理部は、前記特定されたピクセルに含まれる1つのピクセルについて、前記1つのピクセルに割り当てられた前記ラスタライズテクスチャ座標を特定し、前記文字列識別画像において、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定し、前記文字一覧画像において、前記特定された識別子部分画像に対応する前記対象部分画像を特定し、前記特定された対象部分画像において、前記特定されたラスタライズテクスチャ座標から、前記1つのピクセルに対応するピクセルである対応ピクセルの色値を特定し、前記特定された色値を用いて、前記出力画像における前記1つのピクセルの色値を変える処理を、前記特定されたピクセルの全てで行うことで、前記エリアに前記文字列を描画することを特徴とする。
本発明の1態様に係る情報処理方法は、出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、前記複数の識別子の各々を各々が表す複数の識別子部分画像を、前記文字列に従って配置した文字列識別画像を生成し、前記出力画像において前記文字列を描画するためのエリアを特定し、前記出力画像において、前記エリアに含まれる全てのピクセルを特定し、前記特定されたピクセルに、前記エリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当て、前記特定されたピクセルに含まれる1つのピクセルについて、前記1つのピクセルに割り当てられた前記ラスタライズテクスチャ座標を特定し、前記文字列識別画像において、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定し、複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像において、前記特定された識別子部分画像に対応する前記対象部分画像を特定し、前記特定された対象部分画像において、前記特定されたラスタライズテクスチャ座標から、前記1つのピクセルに対応するピクセルである対応ピクセルの色値を特定し、前記特定された色値を用いて、前記出力画像における前記1つのピクセルの色値を変える処理を、前記特定されたピクセルの全てで行うことで、前記エリアに前記文字列を描画することを特徴とする。
本発明の1又は複数の態様によれば、文字列が描画する場合でも、少ない処理負荷で描画を行うことができる。
実施の形態に係る画像描画装置の構成を概略的に示すブロック図である。 文字アトラスの一例を示す概略図である。 文字列ID画像の一例を示す概略図である。 ポリゴン情報の一例を示す概略図である。 ピクセル頂点情報を補間する例を示す概略図である。 画像描画装置のハードウェア構成例を示すブロック図である。 画像描画装置での描画動作を示すフローチャートである。
図1は、実施の形態に係る情報処理装置である画像描画装置100の構成を概略的に示すブロック図である。
画像描画装置100は、第1の処理部110と、第1の記憶部120と、第2の処理部130と、第2の記憶部140と、表示部150とを備える。
なお、第1の記憶部120及び第2の記憶部140を単に記憶部ともいう。
第1の処理部110は、第2の処理部130が実行する、文字を描画する描画処理以外の処理を実行する。
第1の処理部110は、アプリケーション実行部111と、文字アトラス生成部112と、文字列ID画像生成部113と、ポリゴン生成部114とを備える。
アプリケーション実行部111は、アプリケーションを実行することで、そのアプリケーションの機能を実現する。例えば、アプリケーション実行部111は、文字列を表示する任意のアプリケーションを実行する。
そして、アプリケーション実行部111は、アプリケーションの実行時に使用する全ての文字の一覧を示す文字一覧情報を、文字アトラス生成部112に与える。アプリケーション実行部111は、この処理を初期化時等に一度だけ実行すればよい。
また、アプリケーション実行部111は、描画時に、描画する文字列と、その表示位置とを示す描画情報を、文字列ID画像生成部113に与える。
文字アトラス生成部112は、文字一覧情報で示される一覧に含まれている全ての文字を一枚の画像上に画像化することで文字アトラスを生成し、生成された文字アトラスを第1の記憶部120に記憶させる。言い換えると、文字アトラスは、アプリケーション実行部111が実行するアプリケーションで使用される全ての文字の各々を、各々が表す複数の対象部分画像を含む文字一覧画像である。
文字アトラス生成部112が文字を画像化する方法は、公知の何れの方法でもよく、例えば、FreeType等のソフトウェアを用いて実現することができる。
また、文字アトラス生成部112は、文字の描画を開始する前に、第1の記憶部120に記憶させた文字アトラスを、第2の記憶部140に送り、記憶させる。
図2は、文字アトラスの一例を示す概略図である。
図2に示されている文字アトラス121は、1文字の画像幅と高さとを共に8ピクセルとして生成されている。言い換えると、8ピクセルの幅と高さとの部分画像が、対象となる1つの文字を示す対象部分画像となる。なお、文字アトラス121には、描画する文字列に使用される、文字が記載されないスペースに対応する空白を示す対象部分画像も含まれている。
図1に戻り、文字列ID画像生成部113は、アプリケーション実行部111が実行しているアプリケーションの出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、特定された複数の識別子の各々を各々が表す複数の識別子部分画像を、その文字列に従って配置した文字列識別画像を生成する文字列識別画像生成部である。
具体的には、文字列ID画像生成部113は、描画情報で示される文字列に含まれている各文字のコードを識別子としてのIDに変換し、変換されたIDの画像である識別子部分画像を、描画情報で示される表示位置に示す文字列ID画像を生成し、第2の記憶部140に記憶させる。また、文字列ID画像生成部113は、生成された文字列ID画像をポリゴン生成部114に与える。
このIDは、各文字が文字アトラス内に格納された位置を特定することができる数値である。例えば、1文字の幅をw(ピクセル)とし、その高さをh(ピクセル)とし、横方向にp個(pは、1以上の整数)、縦方向にq個(qは、1以上の整数)の文字を並べた文字アトラスの場合、n番目の文字が格納された位置は、下記の(1)式及び(2)式で表される位置(uc、vc)で算出でき、ID=nとすることができる。
uc=(n%p)×w (1)
vc=(n/q)×h (2)
但し、(1)式において、「%」は剰余演算を示している。例えば、「n%A」は、nをpで除算した剰余を示している。以下、「%」の意味は同様である。
図3は、文字列ID画像の一例を示す概略図である。
図3に示されている文字列ID画像141は、図2に示されている文字アトラス121において、「String」「A B C 」という2行6列の文字列を表している。
図3に示されている文字列ID画像141も、1文字の画像幅と高さとを共に8ピクセルとして生成されている。言い換えると、8ピクセルの幅と高さとの部分画像が、識別子部分画像となり、文字列ID画像141には、識別子部分画像が行列状に配置されている。このため、文字列ID画像141に含まれている各々の識別子部分画像は、その識別子部分画像が配置されている行及び列を特定することで、識別可能である。
図1に戻り、ポリゴン生成部114は、出力画像において文字列を描画するためのエリアを特定するエリア特定部である。例えば、ポリゴン生成部114は、そのエリアにポリゴンを配置するためのポリゴン情報を生成する。具体的には、ポリゴン生成部114は、アプリケーション実行部111が指定した表示位置に、文字列を包含するサイズの矩形を構成するポリゴン情報を生成する。そして、ポリゴン生成部114は、生成されたポリゴン情報を、第2の処理部130に与える。
通常、矩形は、2つの三角形ポリゴンで表されるが、ここでは簡略化のため、ポリゴンとして矩形をそのまま扱う。
ポリゴン情報は、矩形の4つの頂点を表す4つの頂点情報で構成されている。頂点情報は、頂点の位置座標と、その頂点及び文字列が描画されるテクスチャ画像のマッピングを表すテクスチャ座標とから構成される。
M行N列の文字列を、位置座標P=(x,y)の位置に描画する場合、ポリゴン情報を構成する4つの頂点情報の位置座標P(n=0,1,2,3)とテクスチャ座標Tは、下記の(3)式〜(6)式で表すことができる。
=(x,y) T=(0,0) (3)
=(x+N×w,y) T=(N×w,0) (4)
=(x+N×w,y+M×h) T=(N×w,M×h) (5)
=(x,y+M×h) T=(0,M×h) (6)
図4は、図2に示されている文字アトラスを用い、図3に示されている文字列ID画像141の2行6列の文字列を座標(x,y)に描画する場合のポリゴン情報を表す概略図である。図4に示されているV〜Vは、各頂点情報を識別するための頂点IDである。
図1に戻り、第2の処理部130は、文字を描画する描画処理を実行する描画処理部である。
例えば、第2の処理部130は、出力画像において、文字列が描画されるエリアであるポリゴンエリアに含まれる全てのピクセルを特定する。また、第2の処理部130は、ポリゴンエリアに含まれる全てのピクセルに、ポリゴンエリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当てる。
そして、第2の処理部130は、ポリゴンエリアに含まれる全てのピクセルに含まれる1つのピクセルについて、その1つのピクセルに割り当てられたラスタライズテクスチャ座標を特定し、文字列ID画像において、特定されたラスタライズテクスチャ座標に対応する識別子部分画像を特定する。さらに、第2の処理部130は、文字アトラスにおいて、特定された識別子部分画像に対応する対象部分画像を特定し、特定された対象部分画像において、特定されたラスタライズテクスチャ座標から、その1つのピクセルに対応するピクセルである対応ピクセルの色値を特定する。次に、第2の処理部130は、特定された色値を用いて、出力画像における、その1つのピクセルの色値を変える。第2の処理部130は、以上の処理を、特定されたピクセルの全てで行うことで、ポリゴンエリアに文字列を描画する。
第2の処理部130は、頂点処理部131と、ラスタライズ部132と、ピクセル処理部133と、出力部134とを備える。
頂点処理部131は、ポリゴン生成部114から与えられたポリゴン情報に含まれている頂点情報を構成する位置座標Pを、出力画像上のピクセル座標に対応するピクセル位置座標PPに変換することで、ピクセル位置座標PP及びテクスチャ座標Tからなるピクセルポリゴン情報を、ラスタライズ部132に与える。
ここで、ポリゴン情報に含まれている頂点情報は、ピクセルポリゴン情報におけるピクセル頂点情報に対応し、頂点IDV〜Vは、ピクセル頂点IDPV〜PVに変換されるものとする。
頂点処理部131での処理は、一般的なGPUを用いた描画処理と同様であり、ここでは、与えられたポリゴン情報の頂点座標が予め出力画像上のピクセル座標として生成されているものとして説明する。このため、頂点処理部131は、ポリゴン情報をそのままピクセルポリゴン情報として、ラスタライズ部132に与える。
ラスタライズ部132は、出力画像において、ピクセルポリゴン情報のピクセル位置座標で囲まれる矩形内にあるピクセルのピクセル座標を特定し、特定されたピクセル座標をピクセルポリゴン情報で補間することで、ラスタライズ情報V’を生成する。例えば、ラスタライズ部132は、ピクセルポリゴン情報に含まれているピクセル位置座標PP及びテクスチャ座標T以外の座標については、ピクセルポリゴン情報のピクセル位置座標PP及びテクスチャ座標Tを用いて補間することで、全てのピクセルに座標を割り当てることができる。
例えば、図5に示されているように、出力画像において、ピクセル頂点IDPV〜PVで示されているピクセル頂点情報に囲まれている矩形内のピクセルに対応するピクセル頂点IDPV’のピクセル頂点情報は、下記の(7)式〜(9)式により、補間することができる。
PV03=a×PV+(1−a)×PV (7)
PV14=b×PV+(1−b)×PV (8)
PV’=c×PV14+(1−c)×PV03 (9)
但し、iは、出力画像におけるピクセル頂点情報で囲まれている矩形内のピクセルを示す識別番号であり、a及び(1−a)は、ピクセル頂点IDPV及びピクセル頂点IDPVに対応する線分の内分比である。b及び(1−b)は、ピクセル頂点IDPV及びピクセル頂点IDPVに対応する線分の内分比である。c及び(1−c)は、ピクセル頂点IDPV03及びピクセル頂点IDPV14に対応する線分の内分比である。
以上のようにして、ラスタライズ部132は、出力画像における、ピクセルポリゴン情報のピクセル位置座標PPで囲まれる矩形内にある全てのピクセルに、ラスタライズ位置座標P’=(x’,y’)を割り当てることができ、さらに、テクスチャ座標Tで囲まれる矩形内にある全てのピクセルに、ラスタライズテクスチャ座標T’=(u’,v’)を割り当てることができる。そして、ラスタライズ部132は、ラスタライズ位置座標P’=(x’,y’)と、ラスタライズテクスチャ座標T’=(u’,v’)とを有するラスタライズ情報V’を生成する。
図1に戻り、ピクセル処理部133は、第2の記憶部140に格納された文字アトラスと文字列ID画像とを用いて、ラスタライズ部132により特定された各ピクセルの色値を算出することで、出力画像を第2の記憶部140に生成する。
具体的には、ピクセル処理部133は、下記の(10)式で、ラスタライズテクスチャ座標T’から、取得テクスチャ座標T’’を算出する。
T’’=(u’/w,v’/h) (10)
次に、ピクセル処理部133は、第2の記憶部140に記憶されている文字列ID画像から、取得テクスチャ座標T’’で示される行及び列に対応する識別子部分画像から文字列ID=nを取得する。ここで、「u’/w」が列を示し、「v’/h」が行を示す。
さらに、ピクセル処理部133は、取得されたnを用いて、下記の(11)式で、対応テクスチャ座標T’’’を算出する。
T’’’=((n%p)×w+u’%w,(n/q)×h+v’%h)
(11)
ここで、(11)式では、「(n%p)×w」及び「(n/q)×h」で、文字列ID=nで示される文字の対象部分画像の位置が示される。また、「u’%w」及び「v’%h」により、その対象部分画像内における、ラスタライズ位置座標P’に対応する相対的な位置が特定され、その位置にあるピクセルを対応ピクセルとして特定することができる。従って、対応テクスチャ座標T’’’により、出力画像における1つのピクセルであるラスタライズ位置座標P’に対応する、文字アトラス内のピクセルを特定することができる。
そして、ピクセル処理部133は、文字アトラスから対応テクスチャ座標T’’’で示されるピクセルの色値を取得して、出力画像内の、対応するラスタライズ位置座標P’のピクセルの色値を取得された色値で上書きする。
例えば、ラスタライズ情報V’が、ラスタライズ位置座標P’=(x+10,y+2)及びラスタライズテクスチャ座標T’=(10,2)である場合、図3に示されている文字列ID画像では、上記の(10)式から、取得テクスチャ座標T’’=(10/8,2/8)=(1,0)から、行=0及び列=1を特定し、n=51を取得することができる。
次に、ピクセル処理部133は、上記の(11)式から、対応テクスチャ座標T’’’=((51%8)×8+10%8,(51/8)×8+2%8)=(26,50)となる。このため、ピクセル処理部133は、文字アトラスから、対応テクスチャ座標T’’’=(26,50)の色値を取得して、出力画像のラスタライズ位置座標P’=(x+10,y+2)の位置の色値を取得された色値で上書きする。
以上のようにして、ピクセル処理部133は、ラスタライズ情報V’に含まれている全てのラスタライズ位置座標P’及びラスタライズテクスチャ座標T’について、以上のような処理を行うことで、出力画像を生成することができる。
図1に示されている出力部134は、第2の記憶部140に記憶されている出力画像を、表示部150に出力する。
表示部150は、出力画像を表示する。
図6は、実施の形態に係る画像描画装置100のハードウェア構成を示すブロック図である。
画像描画装置100を構成するハードウェアは、第1の計算装置160と、第2の計算装置161と、第1の記憶装置162と、第2の記憶装置163と、表示装置164とを備えるコンピュータである。
第1の計算装置160は、例えば、CPUである。第1の計算装置160は、例えば、図示されていないHDD(Hard Disk Drive)等の記憶装置に記憶されているプログラムを読み出して実行することで、図1に示されている第1の処理部110として機能する。なお、このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
第2の計算装置161は、例えば、GPUである。第2の計算装置161は、図1に示されている第2の処理部130として機能する。なお、ピクセル処理部133の処理は、通常、GPUのピクセルシェーダ又はフラグメントシェーダとして実装される。
第1の記憶装置162は、例えば、メインメモリとして用いられる揮発性メモリである。第1の記憶装置162は、図1に示されている第1の記憶部120として機能する。
第2の記憶装置163は、例えば、VRAM(Video Random Access Memory)として用いられる揮発性メモリである。第2の記憶装置163は、図1に示されている第2の記憶部140として機能する。
表示装置164は、例えば、モニタである。表示装置164は、図1に示されている表示部150として機能する。
図7は、画像描画装置100での描画動作を示すフローチャートである。
ここでは、既に、アプリケーション実行部111は、アプリケーションの実行時に使用する全ての文字の一覧を示す文字一覧情報を、文字アトラス生成部112に与え、文字アトラス生成部112は、文字一覧情報に対応する文字アトラスを生成して、第2の記憶部140に転送しているものとする。
まず、アプリケーション実行部111は、描画時に、描画する文字列と、その表示位置とを示す描画情報を、文字列ID画像生成部113に与え、文字列ID画像生成部113は、描画情報で示される文字列に含まれている各文字のコードをIDに変換し、変換されたIDを示す画像である文字列ID画像を生成する(S10)。生成された文字列ID画像は、第2の記憶部140に記憶され、また、ポリゴン生成部114に与えられる。
ポリゴン生成部114は、文字列ID画像に基づいて、アプリケーション実行部111が指定した表示位置に、文字列を包含するサイズの矩形を構成するポリゴン情報を生成する(S11)。生成されたポリゴン情報は、頂点処理部131に与えられる。
頂点処理部131は、ポリゴン生成部114から与えられたポリゴン情報に含まれている頂点情報を構成する位置座標Pを、出力画像上のピクセル座標に対応するピクセル位置座標PPに変換することで、ピクセル位置座標PP及びテクスチャ座標Tからなるピクセルポリゴン情報を生成する(S12)。生成されたピクセルポリゴン情報は、ラスタライズ部132に与えられる。
ラスタライズ部132は、出力画像において、ピクセルポリゴン情報のピクセル位置座標で囲まれる矩形内にあるピクセルのピクセル座標を特定し、特定されたピクセル座標におけるピクセル位置座標及びピクセルテクスチャ座標を、ピクセルポリゴン情報で補間することで、ラスタライズ情報V’を生成する(S13)。
ピクセル処理部133は、第2の記憶部140に格納された文字アトラスと文字列ID画像とを用いて、ラスタライズ部132で生成されたラスタライズ情報V’に従って、出力画像を第2の記憶部140に生成する(S14)。
そして、出力部134は、第2の記憶部140に記憶されている出力画像を、表示部150に出力し、表示部150は、出力画像を表示する(S15)。
以上のように、本実施の形態によれば、文字列を描画する場合でも、少ない処理負荷で描画を行うことができる。このため、文字列が変化する場合でも、少ない処理負荷で描画を行うことができる。
以上に記載された実施の形態では、文字アトラスに格納する文字サイズと、描画する文字サイズが同じとして説明したが、ピクセル処理部133は、描画時に、適宜、文字を拡大又は縮小してもよい。
以上に記載された実施の形態では、ピクセル処理部133は、文字アトラスから取得した色値をそのまま出力画像に上書きしたが、本実施の形態は、以上のような例に限定されない。例えば、文字アトラスにはグレースケールの色値を格納し、別途アプリケーションから与えた色値と組み合わせることで、任意の色の文字を描画してもよい。
例えば、ピクセル処理部133は、グレースケールにおける0〜255の値を0〜1.0の値に変換して、変換された値を予め定められたRGB値に掛け合わせることで、出力画像の色値としてもよい。
また、グレースケールの0〜255の値のそれぞれに、特定の色の画素値が予め割り当てられていて、ピクセル処理部133は、文字アトラスから読み取られたグレースケールの値に対応する画素値の色を用いて出力画像の色値としてもよい。
また、アプリケーション実行部111が背景色も指定し、ピクセル処理部133が文字列の矩形範囲内にその背景色を付けてもよい。例えば、ピクセル処理部133は、文字アトラスから取得した色値が文字列を描画する色値(例えば、黒等)である場合には、その色値を出力画像の色値とし、文字アトラスから取得した色値が文字列を描画する色値ではない場合には、指定された背景色の色値とすればよい。
なお、文字をグレースケールで描画する場合、ピクセル処理部133は、0と255以外の色の部分については、背景色と文字色とを組み合わせてもよい。
さらに、文字列ID画像と同じピクセル数の画像を生成し、それぞれに異なる色を格納しておくことで、ピクセル処理部133は、文字列ID画像の値を取得する際に、その異なる色を取得し、文字ごとに異なる色で描画してもよい。
例えば、文字列ID画像生成部113は、複数の識別子部分画像の各々に対応する位置に、その複数の識別子部分画像の各々に表されているIDで識別される文字を描画するために用いられる色の色値である文字色値を示す文字色識別画像をさらに生成して、第2の記憶部140に記憶する。そして、第2の処理部130は、文字色識別画像において、文字列ID画像において特定されたIDを表す識別子部分画像に対応する位置から文字色値を特定し、特定された文字色値を用いて、出力画像のピクセルの色値を変えればよい。
また、背景色についても同様に、ピクセル処理部133は、文字列画像IDと同じピクセル数の画像を生成して利用し、文字毎に異なる背景色で描画してもよい。
例えば、文字列ID画像生成部113は、複数の識別子部分画像の各々に対応する位置に、その複数の識別子部分画像の各々に表されているIDで識別される文字の背景を描画するために用いられる色の色値である背景色値を示す背景色識別画像をさらに生成して、第2の記憶部140に記憶する。そして、第2の処理部130は、背景色識別画像において、文字列ID画像において特定されたIDを表す識別子部分画像に対応する位置から背景色値を特定する。さらに、第2の処理部130は、文字アトラスから特定された色値が文字列を描画する色値である場合には、その色値を用いて出力画像の色値を変え、文字アトラスから特定された色値が文字列を描画する色値とは異なる場合には、その背景色値を用いて出力画像の色値を変えてもよい。
100 画像描画装置、 110 第1の処理部、 111 アプリケーション実行部、 112 文字アトラス生成部、 113 文字列ID画像生成部、 114 ポリゴン生成部、 120 第1の記憶部、 130 第2の処理部、 131 頂点処理部、 132 ラスタライズ部、 133 ピクセル処理部、 134 出力部、 140 第2の記憶部、 150 表示部。

Claims (12)

  1. 複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像を記憶する記憶部と、
    出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、前記複数の識別子の各々を各々が表す複数の識別子部分画像を、前記文字列に従って配置した文字列識別画像を生成する文字列識別画像生成部と、
    前記出力画像において前記文字列を描画するためのエリアを特定するエリア特定部と、
    前記出力画像において、前記エリアに含まれる全てのピクセルを特定し、前記特定されたピクセルに、前記エリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当てる描画処理部と、を備え、
    前記描画処理部は、前記特定されたピクセルに含まれる1つのピクセルについて、前記1つのピクセルに割り当てられた前記ラスタライズテクスチャ座標を特定し、前記文字列識別画像において、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定し、前記文字一覧画像において、前記特定された識別子部分画像に対応する前記対象部分画像を特定し、前記特定された対象部分画像において、前記特定されたラスタライズテクスチャ座標から、前記1つのピクセルに対応するピクセルである対応ピクセルの色値を特定し、前記特定された色値を用いて、前記出力画像における前記1つのピクセルの色値を変える処理を、前記特定されたピクセルの全てで行うことで、前記エリアに前記文字列を描画すること
    を特徴とする情報処理装置。
  2. 前記エリア特定部は、前記エリアにポリゴンを配置するためのポリゴン情報を生成することで、前記エリアを特定すること
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記文字列識別画像では、前記複数の識別子部分画像の各々を行及び列により識別可能に配置されており、
    前記描画処理部は、前記特定されたラスタライズテクスチャ座標に対応する行及び列を特定することで、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定すること
    を特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記描画処理部は、前記特定された識別子部分画像において、前記特定されたラスタライズテクスチャ座標の相対的な位置を特定し、前記特定された対象部分画像において、前記特定された相対的な位置に対応する位置のピクセルを、前記対応ピクセルとすること
    を特徴とする請求項1から3の何れか一項に記載の情報処理装置。
  5. 前記識別子は、前記文字一覧画像における、前記対象部分画像の位置を示すことで、前記文字を識別すること
    を特徴とする請求項1から4の何れか一項に記載の情報処理装置。
  6. 前記描画処理部は、前記1つのピクセルの前記色値を、前記特定された色値に変えること
    を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  7. 前記描画処理部は、前記1つのピクセルの前記色値を、予め定められた色の色値と、前記特定された色値とを組み合わせることで生成された色値に変えること
    を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  8. 前記描画処理部は、前記特定された色値が前記文字列を描画する色値である場合には、前記特定された色値を用いて、前記1つのピクセルの前記色値を変え、前記特定された色値が前記文字列を描画する色値とは異なる場合には、前記1つのピクセルの前記色値を、予め定められた色の色値に変えること
    を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  9. 前記文字列識別画像生成部は、前記複数の識別子部分画像の各々に対応する位置に、前記複数の識別子部分画像の各々に表されている前記識別子で識別される前記文字を描画するために用いられる色の色値である文字色値を示す文字色識別画像をさらに生成し、
    前記描画処理部は、前記文字色識別画像において、前記特定されたラスタライズテクスチャ座標に対応するピクセルの前記文字色値を特定し、前記特定された色値及び前記特定された文字色値を用いて、前記1つのピクセルの前記色値を変えること
    を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  10. 前記文字列識別画像生成部は、前記複数の識別子部分画像の各々に対応する位置に、前記複数の識別子部分画像の各々に表されている前記識別子で識別される前記文字の背景を描画するために用いられる色の色値である背景色値を示す背景色識別画像をさらに生成し、
    前記描画処理部は、前記背景色識別画像において、前記特定されたラスタライズテクスチャ座標に対応するピクセルの前記背景色値を特定し、前記特定された色値が前記文字列を描画する色値である場合には、前記特定された色値を用いて、前記1つのピクセルの前記色値を変え、前記特定された色値が前記文字列を描画する色値とは異なる場合には、前記特定された色値及び前記特定された背景色値を用いて、前記1つのピクセルの前記色値を変えること
    を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  11. コンピュータを、
    複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像を記憶する記憶部、
    出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、前記複数の識別子の各々を各々が表す複数の識別子部分画像を、前記文字列に従って配置した文字列識別画像を生成する文字列識別画像生成部、
    前記出力画像において前記文字列を描画するためのエリアを特定するエリア特定部、及び、
    前記出力画像において、前記エリアに含まれる全てのピクセルを特定し、前記特定されたピクセルに、前記エリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当てる描画処理部、として機能させ、
    前記描画処理部は、前記特定されたピクセルに含まれる1つのピクセルについて、前記1つのピクセルに割り当てられた前記ラスタライズテクスチャ座標を特定し、前記文字列識別画像において、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定し、前記文字一覧画像において、前記特定された識別子部分画像に対応する前記対象部分画像を特定し、前記特定された対象部分画像において、前記特定されたラスタライズテクスチャ座標から、前記1つのピクセルに対応するピクセルである対応ピクセルの色値を特定し、前記特定された色値を用いて、前記出力画像における前記1つのピクセルの色値を変える処理を、前記特定されたピクセルの全てで行うことで、前記エリアに前記文字列を描画すること
    を特徴とするプログラム。
  12. 出力画像に描画する文字列に含まれる各々の文字を各々が識別することのできる複数の識別子を特定し、前記複数の識別子の各々を各々が表す複数の識別子部分画像を、前記文字列に従って配置した文字列識別画像を生成し、
    前記出力画像において前記文字列を描画するためのエリアを特定し、
    前記出力画像において、前記エリアに含まれる全てのピクセルを特定し、前記特定されたピクセルに、前記エリア内における相対的な位置を示すラスタライズテクスチャ座標を割り当て、
    前記特定されたピクセルに含まれる1つのピクセルについて、前記1つのピクセルに割り当てられた前記ラスタライズテクスチャ座標を特定し、前記文字列識別画像において、前記特定されたラスタライズテクスチャ座標に対応する前記識別子部分画像を特定し、複数の文字の各々を各々が表す複数の対象部分画像を含む文字一覧画像において、前記特定された識別子部分画像に対応する前記対象部分画像を特定し、前記特定された対象部分画像において、前記特定されたラスタライズテクスチャ座標から、前記1つのピクセルに対応するピクセルである対応ピクセルの色値を特定し、前記特定された色値を用いて、前記出力画像における前記1つのピクセルの色値を変える処理を、前記特定されたピクセルの全てで行うことで、前記エリアに前記文字列を描画すること
    を特徴とする情報処理方法。
JP2020560716A 2018-12-20 2018-12-20 情報処理装置、プログラム及び情報処理方法 Active JP6861910B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/046901 WO2020129201A1 (ja) 2018-12-20 2018-12-20 情報処理装置、プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JPWO2020129201A1 true JPWO2020129201A1 (ja) 2021-03-25
JP6861910B2 JP6861910B2 (ja) 2021-04-21

Family

ID=71100752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020560716A Active JP6861910B2 (ja) 2018-12-20 2018-12-20 情報処理装置、プログラム及び情報処理方法

Country Status (3)

Country Link
JP (1) JP6861910B2 (ja)
TW (1) TW202025089A (ja)
WO (1) WO2020129201A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007086317A (ja) * 2005-09-21 2007-04-05 Samii Kk 動画像表示装置、動画像表示プログラムおよび動画像表示方法
WO2016151790A1 (ja) * 2015-03-25 2016-09-29 三菱電機株式会社 テクスチャマッピング装置、テクスチャマッピング方法及びプログラム
WO2017158734A1 (ja) * 2016-03-15 2017-09-21 三菱電機株式会社 テクスチャマッピング装置およびテクスチャマッピングプログラム
US20180349444A1 (en) * 2017-06-06 2018-12-06 Espial Group Inc. Glyph management in texture atlases

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007086317A (ja) * 2005-09-21 2007-04-05 Samii Kk 動画像表示装置、動画像表示プログラムおよび動画像表示方法
WO2016151790A1 (ja) * 2015-03-25 2016-09-29 三菱電機株式会社 テクスチャマッピング装置、テクスチャマッピング方法及びプログラム
WO2017158734A1 (ja) * 2016-03-15 2017-09-21 三菱電機株式会社 テクスチャマッピング装置およびテクスチャマッピングプログラム
US20180349444A1 (en) * 2017-06-06 2018-12-06 Espial Group Inc. Glyph management in texture atlases

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
松下康之: ""Mesa3Dで始めるOpenGLプログラミング"", LINUX JAPAN, vol. 第3巻, 第4号, JPN6019004795, 1 April 2000 (2000-04-01), JP, pages 141 - 146, ISSN: 0004454333 *

Also Published As

Publication number Publication date
TW202025089A (zh) 2020-07-01
WO2020129201A1 (ja) 2020-06-25
JP6861910B2 (ja) 2021-04-21

Similar Documents

Publication Publication Date Title
JP6678209B2 (ja) 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整
US10885607B2 (en) Storage for foveated rendering
CN110383337B (zh) 可变速率着色
TWI616846B (zh) 利用以空間及/或時間方式改變取樣圖案之增強型消鋸齒的一種圖形子系統、電腦實施方法及電腦裝置
US7969444B1 (en) Distributed rendering of texture data
KR102275712B1 (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
US10223761B2 (en) Graphics pipeline method and apparatus
JP6530728B2 (ja) 両眼視差映像に対するレンダリング方法及びその装置
KR20150039495A (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
US20180150296A1 (en) Graphics processing apparatus and method of processing texture in graphics pipeline
US20130127858A1 (en) Interception of Graphics API Calls for Optimization of Rendering
KR20180055446A (ko) 타일 기반 렌더링 방법 및 장치
KR20180056316A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
US10783696B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid
KR20060007054A (ko) 이미지 데이터의 래스터화를 슈퍼샘플링하는 방법 및시스템
KR20180037839A (ko) 그래픽스 프로세싱 장치 및 인스트럭션의 실행 방법
JP6861910B2 (ja) 情報処理装置、プログラム及び情報処理方法
JPH09231385A (ja) オブジェクトのラスタ化方法及び装置
WO2020036214A1 (ja) 画像生成装置、画像生成方法及びプログラム
JP3872056B2 (ja) 描画方法
KR20150027638A (ko) 렌더링 방법 및 장치
WO2021245875A1 (ja) 画像合成装置及び画像合成方法
JP2009009428A (ja) ベクター画像描画回路およびベクター画像描画方法
US20180174351A1 (en) Graphics processing apparatus and method of processing graphics pipeline thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201208

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201208

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210330

R150 Certificate of patent or registration of utility model

Ref document number: 6861910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250