(57)【要約】【課題】直線の一部を描画した時、あるいは、原画像を拡大縮小してその一部を描画した時、高速に描画ができると同時に、誤差のない正確な画像を描画する。【解決手段】Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とし、（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、Ｘ座標Ｘ２に対応する線分上のＹ座標値の小数部をＦとし、０．５からＦを引いた値をＧとし、もしもＧが負の値ならばＧに１を加えた値を改めてＧとし、Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、ｕ０＿ｄからＨを引いた値をＫとし、もしもＫがｕ０＿ｄと同じであれば０を改めてＫとし、Ｋを画素カウンターの初期値とし、画素カウンターをコンピュータでインクレメントしながら線分の一部であるＸ座標がＸ２から始まる範囲をコンピュータで表示する。【選択図】図２
2006201331.tif 000002
【特許請求の範囲】
【請求項１】
原画像を拡大し、その拡大された画像の一部の領域を表示するコンピュータによるデジタル画像表示方法であって、
表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示方法。
【請求項２】
原画像を画素カウンターを使って拡大し、その拡大された画像の一部の領域を表示するコンピュータによるデジタル画像表示方法であって、
表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示しない領域に含まれる比率に相当する値を前記画素カウンターの初期値とし、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示方法。
【請求項３】
ある座標方向の所定の範囲をｐ倍に拡大した領域の一部である前記座標方向の座標Ｘ０を始点とする範囲を表示するコンピュータによるデジタル画像表示方法であって、
前記座標Ｘ０に対応する拡大前の座標の小数部を前記ｐを分母とする分数表現した時の分子を画素カウンターの初期値とし、
前記画素カウンターをインクレメントしながら前記座標Ｘ０を始点とする範囲を表示する、デジタル画像表示方法。
【請求項４】
２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を表示するコンピュータによるデジタル画像表示方法であって、
前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示方法。
【請求項５】
２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を画素カウンターを使って表示するコンピュータによるデジタル画像表示方法であって、
前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示しない部分に含まれる比率に相当する値を前記画素カウンターの初期値とすることによって、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示方法。
【請求項６】
Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とする時、ＸＹ平面上の座標が（Ｘ０，Ｙ０）と（Ｘ１，Ｙ１）とで与えられる２点間を結ぶ線分の一部であるＸ座標がＸ２から始まる範囲を表示するコンピュータによるデジタル画像表示方法であって、
（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、
前記Ｘ座標Ｘ２に対応する前記線分上のＹ座標値の小数部をＦとし、
０．５から前記Ｆを引いた値をＧとし、
もしもＧが負の値ならばＧに１を加えた値をＧとし、
Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、
ｕ０＿ｄからＨを引いた値をＫとし、
もしもＫがｕ０＿ｄと同じであれば０をＫとし、
前記Ｋの値を画素カウンターの初期値とし、
前記画素カウンターをインクレメントしながら前記線分の一部であるＸ座標がＸ２から始まる範囲を表示する、デジタル画像表示方法。
【請求項７】
原画像を画素カウンターを使って拡大し、その拡大された画像の一部の領域を表示するデジタル画像表示装置であって、
表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示しない領域に含まれる比率に相当する値を前記画素カウンターの初期値とし、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示装置。
【請求項８】
ある座標方向の所定の範囲をｐ倍に拡大した領域の一部である前記座標方向の座標Ｘ０を始点とする範囲を表示するデジタル画像表示装置であって、
前記座標Ｘ０に対応する拡大前の座標の小数部を前記ｐを分母とする分数表現した時の分子を画素カウンターの初期値とし、
前記画素カウンターをインクレメントしながら前記座標Ｘ０を始点とする範囲を表示する、デジタル画像表示装置。
【請求項９】
２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を画素カウンターを使って表示するデジタル画像表示装置であって、
前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示しない部分に含まれる比率に相当する値を前記画素カウンターの初期値とすることによって、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示装置。
【請求項１０】
Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とする時、ＸＹ平面上の座標が（Ｘ０，Ｙ０）と（Ｘ１，Ｙ１）とで与えられる２点間を結ぶ線分の一部であるＸ座標がＸ２から始まる範囲を表示するデジタル画像表示装置であって、
（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、
前記Ｘ座標Ｘ２に対応する前記線分上のＹ座標値の小数部をＦとし、
０．５から前記Ｆを引いた値をＧとし、
もしもＧが負の値ならばＧに１を加えた値をＧとし、
Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、
ｕ０＿ｄからＨを引いた値をＫとし、
もしもＫがｕ０＿ｄと同じであれば０をＫとし、
前記Ｋを画素カウンターの初期値とし、
前記画素カウンターをインクレメントしながら前記線分の一部であるＸ座標がＸ２から始まる範囲を表示する、デジタル画像表示装置。
【請求項１１】
原画像を画素カウンターを使って拡大し、その拡大された画像の一部の領域を表示するコンピュータによって実行されるデジタル画像表示プログラムであって、
表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示しない領域に含まれる比率に相当する値を前記画素カウンターの初期値とし、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示プログラム。
【請求項１２】
ある座標方向の所定の範囲をｐ倍に拡大した領域の一部である前記座標方向の座標Ｘ０を始点とする範囲を表示するコンピュータによって実行されるデジタル画像表示プログラムであって、
前記座標Ｘ０に対応する拡大前の座標の小数部を前記ｐを分母とする分数表現した時の分子を画素カウンターの初期値とし、
前記画素カウンターをインクレメントしながら前記座標Ｘ０を始点とする範囲を表示する、デジタル画像表示プログラム。
【請求項１３】
２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を画素カウンターを使って表示するコンピュータによって実行されるデジタル画像表示プログラムであって、
前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示しない部分に含まれる比率に相当する値を前記画素カウンターの初期値とすることによって、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示プログラム。
【請求項１４】
Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とする時、ＸＹ平面上の座標が（Ｘ０，Ｙ０）と（Ｘ１，Ｙ１）とで与えられる２点間を結ぶ線分の一部であるＸ座標がＸ２から始まる範囲をコンピュータによって実行されるデジタル画像表示プログラムであって、
（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、
前記Ｘ座標Ｘ２に対応する前記線分上のＹ座標値の小数部をＦとし、
０．５から前記Ｆを引いた値をＧとし、
もしもＧが負の値ならばＧに１を加えた値をＧとし、
Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、
ｕ０＿ｄからＨを引いた値をＫとし、
もしもＫがｕ０＿ｄと同じであれば０をＫとし、
前記Ｋを画素カウンターの初期値とし、
前記画素カウンターをインクレメントしながら前記線分の一部であるＸ座標がＸ２から始まる範囲を表示する、デジタル画像表示プログラム。
【請求項１５】
コンピュータによって実行されるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
請求項１１から請求項１４のいずれか１項に記載のデジタル画像表示プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願に係る発明（以後、「本発明」という）は、コンピュータによって表示画面上にデジタル画像を表示するための、あるいは、表示画面上に表示するためのデジタル画像を作成するための、デジタル画像表示方法、デジタル画像表示装置、コンピュータによって実行されるデジタル画像表示プログラム、コンピュータによって実行されるデジタル画像表示プログラムを記録したコンピュータによって読み取り可能な記録媒体に関するものである。
【０００２】
特に、原画像を拡大し、その拡大された画像の一部の領域を表示するための、あるいは、表示画面上に表示するためのデジタル画像を作成するための、デジタル画像表示方法、デジタル画像表示装置、コンピュータによって実行されるデジタル画像表示プログラム、コンピュータによって実行されるデジタル画像表示プログラムを記録したコンピュータによって読み取り可能な記録媒体に関するものである。
【０００３】
さらに、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部を表示画面上にデジタル画像として表示するための、あるいは、表示画面上に表示するためのデジタル画像を作成するための、デジタル画像表示方法、デジタル画像表示装置、コンピュータによって実行されるデジタル画像表示プログラム、コンピュータによって実行されるデジタル画像表示プログラムを記録したコンピュータによって読み取り可能な記録媒体に関するものである。
【背景技術】
【０００４】
従来の、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その全部または一部を表示するためのデジタル画像表示方法等には、例えば、下記特許文献１に記載された「直線描画方式」があった。
【０００５】
図８に、この従来の直線描画方式の一例であるブレゼンハムのアルゴリズムによって、直線を描く方法の一例を示す。
【０００６】
この例は、２点、Ａ（１，３）とＢ（３７，１２）とが与えられ、その間を結ぶ直線を、整数座標の格子点上のドットとして描くものである。例えば、この整数座標の格子点とは、ＣＲＴ表示装置や液晶ディスプレイ等の画面上の各ドットに相当する。
【０００７】
図８では、２点ＡＢを結ぶ本来の直線をＡＢを結ぶ斜線で表しており、この本来の直線を整数座標の格子点上のドットとして描いた直線を小さな連続した円の集合で表している。１つ１つの円が整数座標の格子点上に描かれた１つのドットを表している（他の図でも同様）。
【０００８】
ＡとＢは始点と終点の名前を表し、その後ろの括弧内の２つの数字は、それぞれＸ座標とＹ座標とを示す。
【０００９】
この２点間を結ぶ直線は、（数１）で表される。
【００１０】
【数１】
2006201331.tif 000003
【００１１】
描く直線を構成するＸ座標値が１から３７の間である格子点の、Ｙ座標値は、（数１）のＸに１から３７を代入して計算することができる。例えば、描く直線を構成するＸ座標値が２である格子点の、Ｙ座標値は、１／４＊２＋１１／４＝１３／４のように計算することができる。
【００１２】
しかしながら、このＹ座標値は整数でなく、整数座標の格子点上にはない。
【００１３】
そこで、この（数１）で計算したＹ座標値になるべく近い格子点に直線を描くため、数１の計算で得られたＹ座標値１３／４を、小数第１桁で四捨五入して整数化する。このようにすると、３を得ることができるので、描く直線を構成するＸ座標値が２である格子点の、Ｙ座標値は３とする。正確なＹ座標値の小数部が丁度０．５の時には、切り上げても切り捨てても構わないが、例えば、切り上げると仮定する（以後の背景技術および本発明に係る実施の形態の説明で全て同じ）。
【００１４】
この手順を繰り返すことで、描く直線を構成するＸ座標値が１から３７の間である格子点の、Ｙ座標値を求め、直線を描くことができる。図８はこのようにして描いた状態を示している。しかしながら、この手順は小数演算を含むため、コンピュータで高速に計算することが困難である。
【００１５】
そこで、ブレゼンハムのアルゴリズムでは、この直線上のＹ座標値は、Ｘ座標値が１増える毎に１／４増えることに着目する。
【００１６】
即ち、Ｘ座標値が１増える毎に、Ｙ座標値に１／４を加え、その結果を四捨五入するのではなく、Ｘ座標値が４増える毎に、Ｙ座標値に１を加えることによって、Ｘ座標値が１から３７の間である各格子点のＹ座標値を求め、同じ直線を描くことができる。さらに、この手順は小数演算を含まないため、コンピュータで高速に計算をすることができる。
【００１７】
例えば、図８に示す、２点、Ａ（１，３）とＢ（３７，１２）との間を結ぶ直線は、Ｘ座標値の初期値を１とし、終了値を３７とし、Ｙ座標値の初期値を３とし、誤差項の初期値を２とし、Ｘ座標値を１増やすのと同時に誤差項に１を加え、誤差項が４になった時にＹ座標値に１を加えると同時に誤差項を０に戻す。
【００１８】
この手順を繰り返すことで、描く直線を構成するＸ座標値が１から３７の間である格子点の、Ｙ座標値を求め、直線を描くことができ、さらに、この手順は小数演算を含まないため、コンピュータで高速に計算することが容易である。
【００１９】
この時、Ｙ座標値に１を加える条件となる誤差項の値４は、描く直線の傾きを、分子を１とする分数で表現した時の分母に相当する。
【００２０】
また、誤差項の初期値２は、直線の描画開始点である格子点（格子点であるから、そのＹ座標値は整数であり、その小数部は０）から、Ｙ座標値が四捨五入して１繰り上がる点、即ち、Ｙ座標値の小数部が０．５以上になるまでに１／４を加える回数（０．５−０）／（１／４）＝（２／４）／（１／４）＝２を、４から引いて計算することができ、この例では２である。この値はまた、０．５を分母が４である分数で表現した時の分子でもある。
【００２１】
次に、同じ（数１）で表される直線ＡＢの一部を、従来の直線描画方式の一例であるブレゼンハムのアルゴリズムによって描く方法の一例を、図９に示す。
【００２２】
図９に示す例では、Ｘ座標値が１０から２２の範囲を描くと仮定している。
【００２３】
上記の通り、ＡＢの２点間を結ぶ直線は、（数１）で表されるから、描く直線の一部を構成するＸ座標値が１０から２２の間である格子点の、Ｙ座標値は、（数１）のＸに１０から２２を代入して計算することができる。例えば、描く直線を構成するＸ座標値が１０である格子点の、Ｙ座標値は、１／４＊１０＋１１／４＝２１／４のように計算することができる。しかしながら、このＹ座標値は整数でなく、整数座標の格子点上にはない。そこで、この計算したＹ座標値になるべく近い格子点に直線を描くため、計算で得られたＹ座標値２１／４を、小数第１桁で四捨五入にて整数化する。このようにすると、５を得ることができるので、描く直線を構成するＸ座標値が１０である格子点の、Ｙ座標値は５とする。
【００２４】
この手順を繰り返すことで、描く直線を構成するＸ座標値が１０から２２の間である格子点の、Ｙ座標値を求め、直線を描くことができる。しかしながら上記の通り、この手順は小数演算を含むため、コンピュータで高速に計算することが困難である。
【００２５】
そこで、Ｘ座標値が１増える毎に、Ｙ座標値に１／４を加え、その結果を四捨五入するのではなく、Ｘ座標値が４増える毎に、Ｙ座標値に１を加えることによって、Ｘ座標値が１０から２２の間である各格子点のＹ座標値を求め、直線を描く。
【００２６】
例えば、図９に示す、２点ＡＢ間を結ぶ直線の、Ｘ座標値が１０から２２の範囲を描くには、Ｘ座標値の初期値を１０とし、終了値を２２とし、Ｙ座標値の初期値を５とし、誤差項の初期値を２とし、Ｘ座標値を１増やすのと同時に誤差項に１を加え、誤差項が４になった時にＹ座標値に１を加えると同時に誤差項を０に戻す。
【００２７】
この手順を繰り返すことで、描く直線の一部を構成するＸ座標値が１０から２２の間である格子点の、Ｙ座標値を求め、直線の一部を描くことができ、さらに、この手順は小数演算を含まないため、コンピュータで高速に計算することが容易である。
【特許文献１】特開平４−３７３０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかしながら、一例を図９に示す従来のブレゼンハムのアルゴリズムによって、２次元座標が指定された２点間を結ぶ直線をＸＹ平面上の画素からなる画素集合とし、その全部または一部を表示するためのデジタル画像表示方法等では、その一部を描いた時の直線と全部を描いた時の直線とが正確に一致しないという課題があった。
【００２９】
例えば、図８に示すＡＢ間を結ぶ直線の全部を格子点上に描いた状態から、Ｘ座標値が１０から２２の範囲だけを取り出して、図１０に示す。
【００３０】
図９と図１０とを比較することによって、ＡＢ間を結ぶ直線の全てを描いた時の一部と、ＡＢ間を結ぶ直線の一部を描いた時とでは、誤差が存在することが示される。
【課題を解決するための手段】
【００３１】
本特許出願に係る発明では、上記課題を解決するため、下記の構成を採る。
【００３２】
本特許出願に係る請求項１に記載の発明は、原画像を拡大し、その拡大された画像の一部の領域を表示するコンピュータによるデジタル画像表示方法であって、表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示方法である。
【００３３】
本特許出願に係る請求項２に記載の発明は、原画像を画素カウンターを使って拡大し、その拡大された画像の一部の領域を表示するコンピュータによるデジタル画像表示方法であって、表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示しない領域に含まれる比率に相当する値を前記画素カウンターの初期値とし、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示方法である。
【００３４】
本特許出願に係る請求項３に記載の発明は、ある座標方向の所定の範囲をｐ倍に拡大した領域の一部である前記座標方向の座標Ｘ０を始点とする範囲を表示するコンピュータによるデジタル画像表示方法であって、前記座標Ｘ０に対応する拡大前の座標の小数部を前記ｐを分母とする分数表現した時の分子を画素カウンターの初期値とし、前記画素カウンターをインクレメントしながら前記座標Ｘ０を始点とする範囲を表示する、デジタル画像表示方法である。
【００３５】
本特許出願に係る請求項４に記載の発明は、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を表示するコンピュータによるデジタル画像表示方法であって、前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示方法である。
【００３６】
本特許出願に係る請求項５に記載の発明は、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を画素カウンターを使って表示するコンピュータによるデジタル画像表示方法であって、前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示しない部分に含まれる比率に相当する値を前記画素カウンターの初期値とすることによって、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示方法である。
【００３７】
本特許出願に係る請求項６に記載の発明は、Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とする時、ＸＹ平面上の座標が（Ｘ０，Ｙ０）と（Ｘ１，Ｙ１）とで与えられる２点間を結ぶ線分の一部であるＸ座標がＸ２から始まる範囲を表示するコンピュータによるデジタル画像表示方法であって、（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、前記Ｘ座標Ｘ２に対応する前記線分上のＹ座標値の小数部をＦとし、０．５から前記Ｆを引いた値をＧとし、もしもＧが負の値ならばＧに１を加えた値をＧとし、Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、ｕ０＿ｄからＨを引いた値をＫとし、もしもＫがｕ０＿ｄと同じであれば０をＫとし、前記Ｋの値を画素カウンターの初期値とし、前記画素カウンターをインクレメントしながら前記線分の一部であるＸ座標がＸ２から始まる範囲を表示する、デジタル画像表示方法である。
【００３８】
本特許出願に係る請求項７に記載の発明は、原画像を画素カウンターを使って拡大し、その拡大された画像の一部の領域を表示するデジタル画像表示装置であって、表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示しない領域に含まれる比率に相当する値を前記画素カウンターの初期値とし、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示装置である。
【００３９】
本特許出願に係る請求項８に記載の発明は、ある座標方向の所定の範囲をｐ倍に拡大した領域の一部である前記座標方向の座標Ｘ０を始点とする範囲を表示するデジタル画像表示装置であって、前記座標Ｘ０に対応する拡大前の座標の小数部を前記ｐを分母とする分数表現した時の分子を画素カウンターの初期値とし、前記画素カウンターをインクレメントしながら前記座標Ｘ０を始点とする範囲を表示する、デジタル画像表示装置である。
【００４０】
本特許出願に係る請求項９に記載の発明は、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を画素カウンターを使って表示するデジタル画像表示装置であって、前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示しない部分に含まれる比率に相当する値を前記画素カウンターの初期値とすることによって、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示装置である。
【００４１】
本特許出願に係る請求項１０に記載の発明は、Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とする時、ＸＹ平面上の座標が（Ｘ０，Ｙ０）と（Ｘ１，Ｙ１）とで与えられる２点間を結ぶ線分の一部であるＸ座標がＸ２から始まる範囲を表示するデジタル画像表示装置であって、（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、前記Ｘ座標Ｘ２に対応する前記線分上のＹ座標値の小数部をＦとし、０．５から前記Ｆを引いた値をＧとし、もしもＧが負の値ならばＧに１を加えた値をＧとし、Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、ｕ０＿ｄからＨを引いた値をＫとし、もしもＫがｕ０＿ｄと同じであれば０をＫとし、前記Ｋを画素カウンターの初期値とし、前記画素カウンターをインクレメントしながら前記線分の一部であるＸ座標がＸ２から始まる範囲を表示する、デジタル画像表示装置である。
【００４２】
本特許出願に係る請求項１１に記載の発明は、原画像を画素カウンターを使って拡大し、その拡大された画像の一部の領域を表示するコンピュータによって実行されるデジタル画像表示プログラムであって、表示する原画像の１画素を拡大したセグメントが前記表示する領域と表示しない領域とにまたがる時、そのセグメントの前記表示しない領域に含まれる比率に相当する値を前記画素カウンターの初期値とし、そのセグメントの前記表示する領域に含まれる比率に相当する部分だけを表示する、デジタル画像表示プログラムである。
【００４３】
本特許出願に係る請求項１２に記載の発明は、ある座標方向の所定の範囲をｐ倍に拡大した領域の一部である前記座標方向の座標Ｘ０を始点とする範囲を表示するコンピュータによって実行されるデジタル画像表示プログラムであって、前記座標Ｘ０に対応する拡大前の座標の小数部を前記ｐを分母とする分数表現した時の分子を画素カウンターの初期値とし、前記画素カウンターをインクレメントしながら前記座標Ｘ０を始点とする範囲を表示する、デジタル画像表示プログラムである。
【００４４】
本特許出願に係る請求項１３に記載の発明は、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その一部分を画素カウンターを使って表示するコンピュータによって実行されるデジタル画像表示プログラムであって、前記画素集合に含まれる画素でそのＸ方向位置またはＹ方向位置のどちらかが同一である画素を要素とする画素部分集合のいずれかが、前記表示する一部分とそれ以外の表示しない部分とにまたがる時、前記いずれかの画素部分集合の前記表示しない部分に含まれる比率に相当する値を前記画素カウンターの初期値とすることによって、前記いずれかの画素部分集合の前記表示する一部分に含まれる画素だけを表示する、デジタル画像表示プログラムである。
【００４５】
本特許出願に係る請求項１４に記載の発明は、Ｘ０、Ｙ０、Ｘ１、Ｙ１を（Ｘ１−Ｘ０）＞（Ｙ１−Ｙ０）が成立する任意の自然数とする時、ＸＹ平面上の座標が（Ｘ０，Ｙ０）と（Ｘ１，Ｙ１）とで与えられる２点間を結ぶ線分の一部であるＸ座標がＸ２から始まる範囲をコンピュータによって実行されるデジタル画像表示プログラムであって、（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０）を既約分数表現した時の分母をｕ０＿ｄとし、前記Ｘ座標Ｘ２に対応する前記線分上のＹ座標値の小数部をＦとし、０．５から前記Ｆを引いた値をＧとし、もしもＧが負の値ならばＧに１を加えた値をＧとし、Ｇをｕ０＿ｄを分母とする分数表現した時の分子をＨとし、ｕ０＿ｄからＨを引いた値をＫとし、もしもＫがｕ０＿ｄと同じであれば０をＫとし、前記Ｋを画素カウンターの初期値とし、前記画素カウンターをインクレメントしながら前記線分の一部であるＸ座標がＸ２から始まる範囲を表示する、デジタル画像表示プログラムである。
【００４６】
本特許出願に係る請求項１５に記載の発明は、コンピュータによって実行されるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、請求項１１から請求項１４のいずれか１項に記載のデジタル画像表示プログラムを記録した記録媒体である。
【発明の効果】
【００４７】
本発明によると、直線の一部を描画した時、あるいは、原画像を拡大縮小してその一部を描画した時、高速に描画ができると同時に、誤差のない正確な画像を描画することができる。
【発明を実施するための最良の形態】
【００４８】
以下に、本発明の実施の形態について、図面を参照して説明する。
【００４９】
（実施の形態１）
本発明の実施の形態１では、コンピュータによるデジタル画像表示方法等の、特に、コンピュータによって直線を描く直線描画方法の実施の形態を説明する。
【００５０】
図１に、本発明に係る直線描画方法の実施の形態によって直線を描く携帯電話装置１００の概略ブロック図を示す。
【００５１】
この携帯電話装置１００では、本発明に直接関係する部分だけを示し、その他の部分は省略している。
【００５２】
また、破線で囲んだデジタル画像表示部１９０は、本発明に係るデジタル画像表示装置の実施の形態でもある。
【００５３】
この携帯電話装置１００では、音声入出力部１３６で使用者の音声の入力と、電話音声の出力とを行い、通信部１３４で無線通信を行う。
【００５４】
操作部１３２はボタンスイッチ（図示せず）やその他のスイッチで構成され、携帯電話装置の操作を使用者が行うためのものである。
【００５５】
具体的に直線の描画を行うのはＣＰＵ１２０で、ＣＰＵ１２０は、プログラム用メモリ部１２２に記憶されたプログラムによって制御され、データ用メモリ部１２４とこのメモリ部に記憶されたデータとを使い、上記プログラムの制御によって直線の描画を実行する。
【００５６】
このプログラムは、本発明に係るデジタル画像表示プログラムの実施の形態でもあり、プログラム用メモリ部１２２は本発明に係るデジタル画像表示プログラムを記録した記録媒体の実施の形態でもある。
【００５７】
描画された直線は、具体的には表示用メモリ部１１２に画素データとして記憶され、表示部１１０に表示される。
【００５８】
表示部１１０は例えば、液晶表示パネル等で構成される。また、これらの各要素は内部バス１０６によって接続されている。
【００５９】
尚、この実施の形態はあくまでも一例であって、必ずしもこのような構成に限るものではない。また、この構成は本発明の実施の形態２でも同様であるから、以後詳細な説明は省略する。
【００６０】
図２に、本発明に係る直線描画方法の一実施の形態によって直線を描く方法の、一例を示す。
【００６１】
図２に示す、本発明に係る直線描画方法の実施の形態１によって直線の全部を描く時の手順は、上記従来のブレゼンハムのアルゴリズムによって、２次元座標が指定された２点間を結ぶ線分をＸＹ平面上の画素からなる画素集合とし、その全部または一部を表示するためのデジタル画像表示方法と同じであるから、詳細な説明は省略し、要点だけを示す。
【００６２】
この施の形態１が図８に示す従来の描画方法と異なるのは、この実施の形態１では、直線描画の開始点Ａの座標は（１，２）であり、終了点Ｂの座標は（３７，８）であり、この２点間を結ぶ直線は（数２）で表され、この直線の傾きは１／６で、Ｘ座標値が６増えた時にＹ座標値が１増えることである。
【００６３】
【数２】
2006201331.tif 000004
【００６４】
従って、実施の形態１によってこの直線を描くには、Ｘ座標値の初期値を１とし、終了値を３７とし、Ｙ座標値の初期値を２とし、誤差項の初期値を３とし、Ｘ座標値を１増やすのと同時に誤差項に１を加え、誤差項が６になった時にＹ座標値に１を加えると同時に誤差項を０に戻す。
【００６５】
この手順を繰り返すことで、描く直線を構成するＸ座標値が１から３７の間である格子点の、Ｙ座標値を求め、ＡＢ間を結ぶ直線を描くことができ、さらに、この手順は小数演算を含まないため、コンピュータで高速に計算することが容易である。
【００６６】
この時、Ｙ座標値に１を加える条件となる誤差項の値６は、描く直線の傾きを分数表現した時の分母である。
【００６７】
また、誤差項の初期値３は、直線の描画開始点である格子点（Ｙ座標値の小数部は０）から、Ｙ座標値が四捨五入して１繰り上がる点、即ち、Ｙ座標値の小数部が０．５以上になるまでに１／６を加える回数３を６から引いた値であり、６−（（０．５−０）／（１／６））＝６−（（３／６）／（１／６））＝６−３＝３で計算することができ、この値は、０．５を分母が６である分数で表した時の分子３でもある。
【００６８】
次に、同じ（数２）で表される直線ＡＢの一部を、本発明に係る実施の形態１によって描く方法の、一例を図３に示す。
【００６９】
図３に示す例では、Ｘ座標値が１５から２３の範囲を描くと仮定している。
【００７０】
上記の通り、ＡＢの２点間を結ぶ直線は、（数２）で表されるから、描く直線の一部を構成するＸ座標値が１５から２３の間である格子点の、Ｙ座標値は、（数２）のＸに１５から２３を代入して計算することができる。例えば、描く直線を構成するＸ座標値が１５である格子点の、Ｙ座標値は、１／６＊１５＋１１／６＝２６／６のように計算することができる。しかしながら、このＹ座標値は整数でなく、整数座標の格子点上にはない。
【００７１】
そこで、この計算したＹ座標値になるべく近い格子点に直線を描くため、計算で得られたＹ座標値２６／６を、小数第１桁で四捨五入して整数化する。このようにすると、４を得ることができるので、描く直線を構成する、Ｘ座標値が１５である格子点のＹ座標値は４とする。
【００７２】
この手順を繰り返すことで、描く直線を構成するＸ座標値が１５から２３の間である格子点の、Ｙ座標値を求め、直線を描くことができる。しかしながら上記の通り、この手順は小数演算を含むため、コンピュータで高速に計算することが困難である。
【００７３】
そこで、Ｘ座標値が１増える毎に、Ｙ座標値に１／６を加え、その結果を四捨五入するのではなく、Ｘ座標値が６増える毎に、Ｙ座標値に１を加えることによって、Ｘ座標値が１５から２３の間である格子点のＹ座標値を求め、直線を描く。
【００７４】
例えば、図３に示す、２点ＡＢ間を結ぶ直線の、Ｘ座標値が１５から２３の範囲を描くには、Ｘ座標値の初期値を１５とし、終了値を２３とし、Ｙ座標値の初期値を４とし、Ｘ座標値を１増やすのと同時に誤差項に１を加え、誤差項が６になった時にＹ座標値に１を加えると同時に誤差項を０に戻す。
【００７５】
誤差項の初期値は、図９に示す、従来のブレゼンハムのアルゴリズムでは、常に０から始めて、Ｙ座標値が四捨五入して１繰り上がるまで、即ち、Ｙ座標値の小数部が０．５以上になるまでに１／６を加える回数３を、６から引いた値３とした。
【００７６】
この値は、０．５から定数０を引いた差（０．５）を分母が６である分数で表現した時の分子である３を、６から引いた値３でもある。
【００７７】
しかしながら、本発明の実施の形態１では、誤差項の初期値は、定数０ではなく、直線の描画を開始する点のＸ座標値１５に対応する直線上の点の正確なＹ座標値、即ち、（数２）のＸに１５を代入した時の小数部を含む正確なＹの値から、Ｙ座標値が四捨五入して１繰り上がるまで、即ち、Ｙ座標値の小数部が０．５になるまでに１／６を加える回数を、６から引いた値とする。
【００７８】
この値は、０．５から描画開始点のＹ座標値の小数部を引いた差（もしもマイナスならば１を加える）を分母が６である分数で表現した時の分子を、６から引いた値でもある（但し、その値が６になれば０にする）。
【００７９】
またこの値は、Ｘ座標値に１を加えながら、（数２）によってＹ座標値を計算し、さらにその計算したＹ座標値を四捨五入して整数化をしていった時、前回整数化したＹ座標値が１繰り上がってから現在のＸ座標値（この例では１５）に至るまでに、１が加えられた回数に相当する。
【００８０】
上記の通り、（数２）のＸに１５を代入すると、１／６＊１５＋１１／６＝２６／６であるから、そのＹの値を四捨五入した値は４であり、この四捨五入した値が４になったのはＸ座標値が１０になった時である。
【００８１】
なぜなら、Ｘ座標値が１０の時の正確なＹ座標値は、（数２）から、１／６＊１０＋１１／６＝２１／６であるから、２１／６＝３．５であり、四捨五入すると４になるからである。
【００８２】
従って、誤差項の初期値はＸ座標値が１０から１５になるまでに、Ｘ座標値に１が加えられた回数５である。
【００８３】
同様にこの値は、Ｘ座標値に１を加えながら、（数２）によってＹ座標値を計算し、さらにその計算したＹ座標値を四捨五入して整数化をしていった時、現在のＸ座標値（この例では１５）から、次に四捨五入した時のＹ座標値が１繰り上がるまでに、１を加える回数を６から引いた値に相当する。
【００８４】
四捨五入した時のＹ座標値が１繰り上がるのは、Ｘ座標値に１を６回加える毎だからである。
【００８５】
また、（数２）のＸに１５を代入すると、１／６＊１５＋１１／６＝２６／６であるから、そのＹの値を四捨五入した値は４であり、この四捨五入した値が１繰り上がるのは１／６を１回加えて２７／６になった時である。なぜなら、２７／６＝４．５であり、四捨五入すると５になるからである。
【００８６】
従って、次に四捨五入した時のＹ座標値が１繰り上がるまでに、１を加える回数は１回であり、この回数を６から引いた値は５である。
【００８７】
以上の説明から、この誤差項をｅ０とすると、ｅ０の値は、直線の描画開始点のＸ座標値１５に対応する直線上の正確なＹ座標値２６／６を分数表記した時の分子（ｕ０＿ｎとすると、ｕ０＿ｎ＝２６）と分母（ｕ０＿ｄとすると、ｕ０＿ｄ＝６）とを使って表現できることが示される。
【００８８】
即ち、分子（ｕ０＿ｎ＝２６）の分母（ｕ０＿ｄ＝６）を法とする剰余（２６  ｍｏｄ  ６  ＝  ２）を求め、Ｙ座標値が１繰り上がる時のＹ座標値の小数部（０．５）をこの法（６）を分母として表現した時の分子（３）からこの剰余を引いた差（１）を求め、もしもその値がゼロまたはマイナスになれば６を加え、その値を６から引けばよい。
【００８９】
この計算手順は、（数３）と（数４）とで表すこともできる。但し、（数３）のｉｎｔ（・・・）は、カッコ内の値の小数部を切り捨てて整数化する関数である。
【００９０】
【数３】
2006201331.tif 000005
【００９１】
【数４】
2006201331.tif 000006
【００９２】
なぜなら、（数３）は、ｅ０’が、直線の描画開始点のＸ座標値１５に対応する直線上の正確なＹ座標値２６／６を分数表記した時の分子の、分母を法とする剰余であることを表している。
【００９３】
（数４）は、ｅ０が、Ｙ座標値が１繰り上がる時のＹ座標値の小数部（０．５）をこの法（６）を分母として表現した時の分子（３）から、この剰余を引いた差を求め、もしもその値がゼロまたはマイナスになれば６を加え、その値を６から引いた値であることを表している。
【００９４】
従って、この剰余はＹ座標値が１繰り上がるまでのＸの加算回数を法とする剰余であり、この時の分数表記は、あくまでも、直線の傾き１／６の分母と同じ分母による分数表記でなくてはならない。直線の描画開始点のＸ座標値１５に対応する直線上の正確なＹ座標値２６／６を分数表記して１３／３とし、この時の分子ｕ０＿ｎ＝１３と分母ｕ０＿ｄ＝３と、（数３）と（数４）とを使って求めることはできないことに注意しなければならない。
【００９５】
あるいは、直線の描画開始点のＸ座標値１５に対応する直線上の正確なＹ座標値２６／６を分数表記して１３／３とし、この時の分子ｕ０＿ｎ＝１３と分母ｕ０＿ｄ＝３と（数３）とを使ってｅ０’を計算した時には、この時の分母３に対する直線の傾きの分母６の比率２を上記ｅ０’に掛けなければならないことに注意が必要である。
【００９６】
上記の通り、図３に示す例において、Ｘ座標値１５から２３の間で、直線ＡＢを描く時の誤差項の初期値は５であるから、Ｙ座標値が１繰り上がるまでのＸ座標値の加算回数は１であり、Ｙ座標値が４である点は１つだけであることが示される。
【００９７】
そして、Ｘ座標値が６進む毎にＹ座標値は１繰り上がるので、図３に示す直線が描かれる。
【００９８】
図３に示す、Ｘ座標値１５から２３の間で直線ＡＢを描いた図は、図２に示す直線ＡＢのＸ座標値１５から２３の間の図と寸分違わず、誤差が全く生じていないことが示される。
【００９９】
念のために、誤差項の初期値を、常数０から始めてＹ座標値が四捨五入して１繰り上がるまで、即ち、Ｙ座標値の小数部が０．５以上になるまでに１／６を加える回数３を、６から引いた値３として、Ｘ座標値１５から２３の間で、直線ＡＢを描いた時の図を、図４に示す。
【０１００】
図４は、図３に示すＸ座標値１５から２３の間で直線ＡＢを描いた図、あるいは、図２に示す直線ＡＢのＸ座標値１５から２３の間の図と異なっており、誤差が生じていることが示される。
【０１０１】
（実施の形態２）
本発明の実施の形態２では、コンピュータによるデジタル画像表示方法等の、特に、コンピュータによって図形を拡大表示する、図形拡大表示方法の実施の形態を説明する。
【０１０２】
図５に、本発明に係る図形拡大表示方法の一実施の形態によって図形の一部を拡大表示する方法を示す。
【０１０３】
図５は、（ａ）ＸＹ軸平面上に描かれた元の図形４０１と、（ｂ）ＸＹ軸平面上に描かれた拡大図形４０３および表示図形４０５とを含んでいる。
【０１０４】
この実施の形態では、元の図形４０１は、Ｘ座標が０から４の間の点で構成される四角形であると仮定している。Ｙ軸方向の大きさは、以下の説明では直接使用しないので省略している。
【０１０５】
元の図形４０１をＸ軸方向に６倍に拡大し、左辺をＸ座標が−８の位置に合わせたのが、拡大図形４０３である。
【０１０６】
元の図形４０１は、Ｘ軸方向に５点（座標０から４）から構成されているので、拡大図形４０３は、Ｘ軸方向に３０点から構成され、左辺のＸ座標が−８であるから、右辺のＸ座標は２１である。
【０１０７】
元の図形４０１のＸ軸方向の５点（座標０から４）は、１つの点がそれぞれ６つの点に変換される（６倍に拡大すると仮定しているから）。
【０１０８】
拡大図形４０３を構成するＸ軸方向の３０点を、元の点（ｘ，０）から変換された６つの点からなる５つのグループに分類し、図５（ｂ）では、それぞれを示している。但し、ｘは０から４までの整数である。
【０１０９】
そしてこの実施の形態では、この拡大図形４０３の一部に相当する、Ｘ軸方向の座標が２から１４の間、即ち、図５に示す符号で言うと、点Ａ（２，０）から点Ｂ（１４，０）の間だけを表示すると仮定する。
【０１１０】
このような元の図形４０１から拡大図形４０３への、Ｘ座標の変換は、（数５）で表される。
【０１１１】
【数５】
2006201331.tif 000007
【０１１２】
（数５）において、Ｘは元の図形４０１における座標を表しており、Ｘ’は拡大図形４０３における座標を表している。Ｘ軸方向に６倍に拡大し、元の図形４０１の原点Ｏ（０，０）を、拡大図形４０３の点Ｃ（−８，０）に対応させるからである。
【０１１３】
逆に、拡大図形４０３から、拡大図形４０３を構成する各点に対応する、元の図形４０１を構成する点は、（数６）で求めることができる。
【０１１４】
【数６】
2006201331.tif 000008
【０１１５】
例えば、拡大図形４０３の左端の点である点Ｃ（−８，０）に対応する元の図形４０１の点を求めるには、（数６）のＸ’に−８を代入すると、Ｘ＝（−８＋８）／６＝０であるから、元の図形４０１を構成する原点Ｏ（０，０）が対応することが解る。
【０１１６】
同様に、拡大図形４０３の一部である表示図形４０５の左端の点である点Ａ（２，０）に対応する元の図形４０１の点を求めるには、（数６）のＸ’に２を代入すると、Ｘ＝（２＋８）／６＝１０／６で、この値の小数部を切り捨てて整数化すると１であるから、元の図形４０１を構成する点（１，０）が対応することが解る。
【０１１７】
このようにして（数６）を使い、拡大図形４０３の一部である表示図形４０５を構成するＸ座標値が２から１４の各点について、対応する元の図形４０１の点を求め、表示図形４０５を描くことができる。
【０１１８】
しかしながら、この方法は、（数６）に示す通り、割り算を含むので、コンピュータで高速に計算することは困難である。
【０１１９】
そこで、本発明の実施の形態１と同様に、ブレゼンハムのアルゴリズムでは、表示図形４０５を描くには、元の図形４０１を構成する各点を６つずつ繰り返し描けば良いことに着目する。表示図形４０５は、元の図形４０１を６倍に拡大したものの一部だからである。
【０１２０】
このようにして描いた結果を図６に示す。
【０１２１】
上記の通り、表示図形５０５の左端点Ａ（２，０）に対応する元の図形５０１の点は、点（１，０）であるから、表示図形５０５の左端点Ａ（２，０）から右端点Ｂ（１４，０）まで、点（１，０）と点（２，０）と点（３，０）とを６つずつ繰り返し描くことで、元の図形５０１を６倍に拡大した拡大図形５０３の一部である表示図形５０５を描くことができる。
【０１２２】
しかしながら、図６と図５とを比較することによって解る通り、この方法では誤差を生じることが避けられない。
【０１２３】
そこで、本発明の実施の形態１と同様、誤差項を利用することによって、この誤差を解消する。
【０１２４】
このようにして描いた表示図形６０５を図７に示す。
【０１２５】
具体的には、誤差項の初期値を「４」に設定したうえで、表示図形６０５の左端点Ａ（２，０）から右端点Ｂ（１４，０）まで、点（１，０）と点（２，０）と点（３，０）とを６つずつ繰り返し描く。
【０１２６】
そして、点（１，０）と点（２，０）と点（３，０）とのいずれかを１つ描く毎に、この誤差項に１を加え、誤差項の値が６になった時に、誤差項の値を０に戻すと同時に、描く点を点（１，０）から点（２，０）へ、あるいは、点（２，０）から点（３，０）へと切り替える。
【０１２７】
図７と図５とを比較することによって、このように誤差項を使って描いた表示図形６０５は、拡大図形４０３の一部である表示図形４０５と全く誤差を生じていないことが示される。
【０１２８】
上記、誤差項をｅ０とすると、その初期値「４」は、本発明の第１の実施の形態と同様、表示図形６０５の左端点Ａ（２，０）に対応する元の図形６０１上の点のＸ座標値を、（数６）によって求めた時の、正確な値（小数部を含む値）の小数部を分数表現した時の、分子として求めることができる。
【０１２９】
例えば、表示図形６０５の左端点Ａ（２，０）のＸ座標値２を、（数６）のＸ’に代入すると、（２＋８）／６＝１０／６となり、その小数部は４／６である。従って、ｅ０の初期値を４とする。
【０１３０】
なぜなら、表示図形６０５の左端点Ａ（２，０）に対応する元の図形６０１上の点の正確な座標値は１０／６であり、あと２回１／６を加えるとその値は１２／６、即ち、小数部を切り捨てて整数化すると２になる。従って、元の図形６０１上の対応する点は、点（２，０）になる。
【０１３１】
従って、表示図形６０５の左端点Ａ（２，０）から描画を開始して、２ドット分、右のドットを描画する時には、元の図形上の点（２，０）を描画しなければならない。
【０１３２】
そして、２ドット目を描く時に、描くドットを切り替えるためには、誤差項の初期値を４にしておくことが必要である。従って、誤差項の初期値は４、即ち、表示図形６０５の左端点Ａ（２，０）に対応する元の図形６０１上の点の正確な座標値（１０／６）の小数部（４／６）を分数表現した時の分子（４）でなければならない。
【０１３３】
本発明の実施の形態１と同様、この計算手順は、（数７）で表すこともできる。
【０１３４】
【数７】
2006201331.tif 000009
【０１３５】
但し、（数７）において、ｅ０は上記誤差項の初期値、ｕ０＿ｎは表示図形６０５の描画開始点Ａ（２，０）のＸ座標値（２）に対応する元の図形６０１上の正確なＸ座標値（１０／６）の分子、ｕ０＿ｄは表示図形６０５の描画開始点Ａ（２，０）のＸ座標値（２）に対応する元の図形６０１上の正確なＸ座標値（１０／６）の分母、ｉｎｔ（・・・）は、カッコ内の値の小数部を切り捨てて整数化する関数を表している。
【０１３６】
なぜなら、（数７）は、誤差項の初期値ｅ０が、表示図形６０５の描画開始点Ａ（２，０）のＸ座標値（２）に対応する元の図形６０１上の正確なＸ座標値（１０／６）の分子（１０）の分母（６）を法とする剰余であることを表しており、これは、表示図形６０５の描画開始点Ａ（２，０）のＸ座標値（２）に対応する元の図形６０１上の正確なＸ座標値（１０／６）の小数部（４／６）を分数表記した時の分子（４）と同義である。
【０１３７】
従って、（数７）において、ｕ０＿ｎとｕ０＿ｄとを求める時の分数表記は、あくまでも、図形の拡大倍率６を分母とする分数表記でなくてはならず、表示図形６０５の描画開始点Ａ（２，０）のＸ座標値２に対応する元の図形６０１上の正確なＸ座標値１０／６を、約分計算して５／３を求め、この時の分子５をｕ０＿ｎとし、この時の分母３をｕ０＿ｄとして、（数７）を使ってｅ０を求めることはできないことに注意しなければならない。
【０１３８】
尚、これらのデジタル画像表示方法およびデジタル画像表示装置の実施の形態は、マイクロコンピュータ（マイコン）を始めとするコンピュータとプログラムとによって実施され、そのプログラムはコンピュータ読み取り可能な記録媒体に記録されて実施されることがある。
【産業上の利用可能性】
【０１３９】
以上説明したように、本発明によると、直線の一部を描画した時、あるいは、原画像を拡大縮小してその一部を描画した時、高速に描画ができると同時に、誤差のない正確な画像を描画することができるので、産業上の利用可能性は非常に大きい。
【図面の簡単な説明】
【０１４０】
【図１】本発明に係る直線描画方法の一実施の形態によって直線を描く携帯電話装置の概略ブロック図
【図２】本発明に係る直線描画方法の一実施の形態によって直線を描く方法の一例を示す図
【図３】本発明に係る直線描画方法の一実施の形態によって直線の一部を描く方法の一例を示す図
【図４】本発明に係る直線描画方法の一実施の形態によって直線の一部を描く方法と対比するための図
【図５】本発明に係る図形拡大表示方法の一実施の形態によって図形の一部を拡大表示する方法の一例を示す図
【図６】図形の一部を拡大表示する方法において誤差を生じる例を示す図
【図７】本発明に係る図形拡大表示方法の一実施の形態によって誤差が生じないことを示す図
【図８】従来の直線描画方式の一例であるブレゼンハムのアルゴリズムで直線を描く方法の一例を示す図
【図９】従来の直線描画方式の一例であるブレゼンハムのアルゴリズムで直線の一部を描く方法の一例を示す図
【図１０】従来の直線描画方式の一例であるブレゼンハムのアルゴリズムで直線の一例の一部を描く方法の一例を示す図
【符号の説明】
【０１４１】
１００    携帯電話装置
１０６    内部バス
１１０    表示部
１１２    表示用メモリ部
１２０    ＣＰＵ
１２２    プログラム用メモリ部
１２４    データ用メモリ部
１３２    操作部
１３４    通信部
１３６    音声入出力部
１９０    デジタル画像表示部
４０１，５０１，６０１    元の図形
４０３，５０３，６０３    拡大図形
４０５，５０５，６０５    表示図形
【図１】
2006201331.tif 000010
【図２】
2006201331.tif 000011
【図３】
2006201331.tif 000012
【図４】
2006201331.tif 000013
【図５】
2006201331.tif 000014
【図６】
2006201331.tif 000015
【図７】
2006201331.tif 000016
【図８】
2006201331.tif 000017
【図９】
2006201331.tif 000018
【図１０】
2006201331.tif 000019