(57)【要約】【課題】  輪郭線が分からない場合においてもエッジ処理データを生成することができ、これにより、既に出来あがっているカラーデータに基づいてエッジ処理データを生成することができるエッジ処理データ生成方法を提供する。【解決手段】  ドットマップによる表示データを横方向にスキャンして表示画像のエッジドットを検出し、検出された１または連続する複数のエッジドットについて予め決められた計算式に基づいてエッジ処理データを算出する。次に、表示データを縦方向にスキャンして表示画像のエッジドットを検出し、検出された１または連続する複数のエッジドットについて計算式に基づいてエッジ処理データを算出する。そして、同じドットについてそれぞれ異なるエッジ処理データが得られた場合に、予め決められた規則に従っていずれか一方を選択する。【選択図】    図１
2005234992.tif 000002
【特許請求の範囲】
【請求項１】
ドットマップによる表示データを横方向にスキャンして表示画像のエッジドットを検出する第１の処理と、
前記第１の処理によって検出された１または連続する複数のエッジドットについて予め決められた計算式に基づいてエッジ処理データを算出する第２の処理と、
前記表示データを縦方向にスキャンして表示画像のエッジドットを検出する第３の処理と、
前記第３の処理によって検出された１または連続する複数のエッジドットについて前記計算式に基づいてエッジ処理データを算出する第４の処理と、
同じドットについて前記第２および第４の処理によってそれぞれ異なるエッジ処理データが得られた場合に、予め決められた規則に従っていずれか一方を選択する第５の処理と、
を有することを特徴とする表示画像のエッジ処理データ生成方法。
【請求項２】
前記第２または第４の処理は、前記第１または第３の処理によって検出された１または複数の連続するエッジドットの前後のドットの状態に応じて決まる計算式によってエッジ処理データを算出することを特徴とする請求項１に記載の表示画像のエッジ処理データ生成方法。
【請求項３】
前記計算式は、
前が透明ドット、後ろが表示ドットの場合、
s=(2i+1)/2n
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前が表示ドット、後ろが透明ドットの場合、
s=1-｛(2i+1)/2n｝
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも透明ドットの場合、
s=(2i+1)/n・・・i=0,・・・,n/2-1（nが偶数の場合），i=0,・・・,(n-1)/2-1（nが奇数の場合)
s=2-｛(2i+1)/n｝・・・i=n/2,・・・,n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=1-(1/2n)  ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも表示ドットの場合、
s=1-｛(2i+1)/n｝・・・i=0,・・・,n/2-1(nが偶数の場合)，i=0,・・・,(n-1)/2-1(nが奇          数の場合）
s={(2i+1)/n}-1・・・i=n/2,・・・,n-1(nが偶数の場合)，i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=l/2n ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
であることを特徴とする請求項２に記載の表示画像のエッジ処理データ生成方法。
【請求項４】
前記第２または第４の処理は、前記第１または第３の処理によって検出された１または複数の連続するエッジドットの前後のドットの状態および該前後のドットの下または上の判定ドットの状態に応じて決まる計算式によってエッジ処理データを算出することを特徴とする請求項１に記載の表示画像のエッジ処理データ生成方法。
【請求項５】
前記計算式は、
前が透明ドット、後ろが表示ドットの場合、
s=(2i+1)/2n・・・(1)
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前が表示ドット、後ろが透明ドットの場合、
s=1-｛(2i+1)/2n｝・・・(2)
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも透明ドットであって前記判定ドットが共に透明ドットの場合、
エッジ処理データを設定しない
前後とも透明ドットであって前記判定ドットが共に表示ドットの場合、
s=(2i+1)/n・・・i=0,・・・n/2-1（nが偶数の場合），i=0,・・・,n-1/2-1（nが奇数の場合)
s=2-｛(2i+1)/n｝・・・i=n/2,・・・n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=1-(l/2n)  ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも透明ドットであって前の判定ドットが表示ドット、後ろの判定ドットが透明ドットの場合、
前記(1)式
前後とも透明ドットであって前の判定ドットが透明ドット、後ろの判定ドットが表示ドットの場合、
前記(2)式
前後とも表示ドットであって前記判定ドットが共に表示ドットの場合、
エッジ処理データを設定しない
前後とも表示ドットであって前記判定ドットが共に透明ドットの場合、
s=1-｛(2i+1)/n｝・・・i=0,・・・n/2-1（nが偶数の場合），i=0,・・・,n-1/2-1（nが奇数の場合)
s=｛(2i+1)/n｝-1・・・i=n/2,・・・n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=l/2n  ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも表示ドットであって前の判定ドットが表示ドット、後ろの判定ドットが透明ドットの場合、
前記(1)式
前後とも表示ドットであって前の判定ドットが透明ドット、後ろの判定ドットが表示ドットの場合、
前記(2)式
であることを特徴とする請求項４に記載の表示画像のエッジ処理データ生成方法。
【請求項６】
前記予め決められた規則は、
横スキャンでエッジ処理データを求めなかったドットについて縦スキャンでαデータが求められた場合には、縦スキャンのαデータを採用し、
横スキャンでエッジ処理データを求めたが、表示される面積が半分だったドットについて、縦スキャンでエッジ処理データを求めたドットの場合には、縦スキャンのエッジ処理データを採用し、そうでなければ横スキャンのエッジ処理データを採用し、
横スキャンでエッジ処理データを求めたが、表示される面積が半分ではないドットについては、横スキャンのαデータを採用する
規則であることを特徴とする請求項１〜請求項５のいずれかの項に記載の表示画像のエッジ処理データ生成方法。
【請求項７】
ドットマップによる表示データを横方向にスキャンして表示画像のエッジドットを検出する第１の手段と、
前記第１の処理によって検出された１または連続する複数のエッジドットについて予め決められた計算式に基づいてエッジ処理データを算出する第２の手段と、
前記表示データを縦方向にスキャンして表示画像のエッジドットを検出する第３の手段と、
前記第３の処理によって検出された１または連続する複数のエッジドットについて前記計算式に基づいてエッジ処理データを算出する第４の手段と、
同じドットについて前記第２および第４の処理によってそれぞれ異なるエッジ処理データが得られた場合に、予め決められた規則に従っていずれか一方を選択する第５の手段と、
を有することを特徴とする表示画像のエッジ処理データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画像のエッジを処理するエッジ処理データを生成するエッジ処理データ生成方法および装置に関する。
【背景技術】
【０００２】
パターングラフィックスによる画像表示においては、画像のエッジが特に斜めの場合にギザギザになる問題があり、このギザギザを緩和する方法としてアンチエイリアス処理が知られている。このアンチエイリアス処理は、画像のエッジとなるドットのどの位置を画像の輪郭線が通過するかに応じてエッジ処理データ（以下、αデータという）を決め、このαデータに基づいて表示画像のカラーデータとバック画像のカラーデータとを混合して表示する方法である。例えば、輪郭線がドットの中央を通過している場合は、αデータが１／２となり、表示画像のカラーデータに１／２を乗算した値と、バック画像のカラーデータに１／２を乗算した値を加算して得られるカラーデータによってそのドットの表示を行う。また、輪郭線がドットの表示画像寄りの１／４の位置を通過している場合は、αデータが１／４となり、表示画像のカラーデータに１／４を乗算した値と、バック画像のカラーデータに３／４を乗算した値を加算して得られるカラーデータによってそのドットの表示を行う。
なお、αデータを使用した画像処理装置として、出願人は先に、
特願2003-001140
を出願している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、従来、アンチエイリアス処理を行うためのαデータの生成は、画像の輪郭線に基づいて行われており、このため、輪郭線が分からない場合はαデータを生成することができず、例えば、パターングラフィックスで使用するスプライトのカラーデータからαデータを生成することはできなかった。
本発明は上記事情を考慮してなされたもので、その目的は、輪郭線が分からない場合においてもαデータを生成することができ、これにより、既に出来あがっているカラーデータに基づいてαデータを生成することができるエッジ処理データ生成方法および装置を提供することにある。
【課題を解決するための手段】
【０００４】
この発明は上記の課題を解決するためになされたもので、請求項１に記載の発明は、ドットマップによる表示データを横方向にスキャンして表示画像のエッジドットを検出する第１の処理と、前記第１の処理によって検出された１または連続する複数のエッジドットについて予め決められた計算式に基づいてエッジ処理データを算出する第２の処理と、前記表示データを縦方向にスキャンして表示画像のエッジドットを検出する第３の処理と、前記第３の処理によって検出された１または連続する複数のエッジドットについて前記計算式に基づいてエッジ処理データを算出する第４の処理と、同じドットについて前記第２および第４の処理によってそれぞれ異なるエッジ処理データが得られた場合に、予め決められた規則に従っていずれか一方を選択する第５の処理とを有することを特徴とする表示画像のエッジ処理データ生成方法である。
【０００５】
請求項２に記載の発明は、請求項１に記載の表示画像のエッジ処理データ生成方法において、前記第２または第４の処理は、前記第１または第３の処理によって検出された１または複数の連続するエッジドットの前後のドットの状態に応じて決まる計算式によってエッジ処理データを算出することを特徴とする。
【０００６】
請求項３に記載の発明は、請求項２に記載の表示画像のエッジ処理データ生成方法において、前記計算式は、
前が透明ドット、後ろが表示ドットの場合、
s=(2i+1)/2n
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前が表示ドット、後ろが透明ドットの場合、
s=1-｛(2i+1)/2n｝
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも透明ドットの場合、
s=(2i+1)/n・・・i=0,・・・,n/2-1（nが偶数の場合），i=0,・・・,(n-1)/2-1（nが奇数の場合)
s=2-｛(2i+1)/n｝・・・i=n/2,・・・,n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=1-(1/2n)  ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも表示ドットの場合、
s=1-｛(2i+1)/n｝・・・i=0,・・・,n/2-1(nが偶数の場合)，i=0,・・・,(n-1)/2-1(nが奇数の場合）
s={(2i+1)/n}-1・・・i=n/2,・・・,n-1(nが偶数の場合)，i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=l/2n・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
であることを特徴とする。
【０００７】
請求項４に記載の発明は、前記第２または第４の処理は、請求項１に記載の表示画像のエッジ処理データ生成方法において、前記第１または第３の処理によって検出された１または複数の連続するエッジドットの前後のドットの状態および該前後のドットの下または上の判定ドットの状態に応じて決まる計算式によってエッジ処理データを算出することを特徴とする。
【０００８】
請求項５に記載の発明は、請求項４に記載の表示画像のエッジ処理データ生成方法において、前記計算式は、
前が透明ドット、後ろが表示ドットの場合、
s=(2i+1)/2n・・・(1)
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前が表示ドット、後ろが透明ドットの場合、
s=1-｛(2i+1)/2n｝・・・(2)
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも透明ドットであって前記判定ドットが共に透明ドットの場合、
エッジ処理データを設定しない
前後とも透明ドットであって前記判定ドットが共に表示ドットの場合、
s=(2i+1)/n・・・i=0,・・・n/2-1（nが偶数の場合），i=0,・・・,n-1/2-1（nが奇数の場合)
s=2-｛(2i+1)/n｝・・・i=n/2,・・・n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=1-(l/2n)  ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも透明ドットであって前の判定ドットが表示ドット、後ろの判定ドットが透明ドットの場合、
前記(1)式
前後とも透明ドットであって前の判定ドットが透明ドット、後ろの判定ドットが表示ドットの場合、
前記(2)式
前後とも表示ドットであって前記判定ドットが共に表示ドットの場合、
エッジ処理データを設定しない
前後とも表示ドットであって前記判定ドットが共に透明ドットの場合、
s=1-｛(2i+1)/n｝・・・i=0,・・・n/2-1（nが偶数の場合），i=0,・・・,n-1/2-1（nが奇数の場合)
s=｛(2i+1)/n｝-1・・・i=n/2,・・・n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=l/2n  ・・・nが奇数の場合の中心点{i=(n-1)/2}
但し、s：エッジ処理データ
n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
前後とも表示ドットであって前の判定ドットが表示ドット、後ろの判定ドットが透明ドットの場合、
前記(1)式
前後とも表示ドットであって前の判定ドットが透明ドット、後ろの判定ドットが表示ドットの場合、
前記(2)式
であることを特徴とする。
【０００９】
請求項６に記載の発明は、請求項１〜請求項５のいずれかの項に記載の表示画像のエッジ処理データ生成方法において、前記予め決められた規則は、
横スキャンでエッジ処理データを求めなかったドットについて縦スキャンでαデータが求められた場合には、縦スキャンのαデータを採用し、
横スキャンでエッジ処理データを求めたが、表示される面積が半分だったドットについて、縦スキャンでエッジ処理データを求めたドットの場合には、縦スキャンのエッジ処理データを採用し、そうでなければ横スキャンのエッジ処理データを採用し、
横スキャンでエッジ処理データを求めたが、表示される面積が半分ではないドットについては、横スキャンのαデータを採用する
規則であることを特徴とする。
【００１０】
請求項７に記載の発明は、ドットマップによる表示データを横方向にスキャンして表示画像のエッジドットを検出する第１の手段と、
前記第１の処理によって検出された１または連続する複数のエッジドットについて予め決められた計算式に基づいてエッジ処理データを算出する第２の手段と、前記表示データを縦方向にスキャンして表示画像のエッジドットを検出する第３の手段と、前記第３の処理によって検出された１または連続する複数のエッジドットについて前記計算式に基づいてエッジ処理データを算出する第４の手段と、同じドットについて前記第２および第４の処理によってそれぞれ異なるエッジ処理データが得られた場合に、予め決められた規則に従っていずれか一方を選択する第５の手段とを有することを特徴とする表示画像のエッジ処理データ生成装置である。
【発明の効果】
【００１１】
この発明によれば、輪郭線が分からない場合においてもαデータ（エッジ処理データ）を生成することができ、これにより、既に出来あがっている表示データに基づいて自動的にαデータを生成することができる。この結果、複雑な処理を行うことなく画像の輪郭部分へのアンチエイリアス処理が可能となる。
【発明を実施するための最良の形態】
【００１２】
＜第１実施形態＞
以下、図面を参照し、この発明の第１の実施の形態によるエッジ処理データ生成方法を説明する。
この実施形態による方法においては、パターングラフィックスデバイスで表示するスプライトの輪郭に、アンチエイリアス処理を行うため、スプライトに使用する表示データからαデータを抽出する。スプライトに使用する表示データには、表示するドットのデータと透明にするドットのデータが含まれており、透明ドットに隣接する表示ドットをエッジドットとして検出し、アンチエイリアス処理のためのエッジ処理データ生成を行う。この方法を使用して表示データからαデータを作成するためには、表示データに含まれる各ドットデータが表示ドットのデータであるか非表示（透明）ドットのデータであるかが分からなければならず、したがって、次のいずれかの条件が満たされる必要がある。
(1)各ドットの表示、非表示を表すマスクデータが存在する。
(2)非表示にするドットの色が決まっている。
【００１３】
＜処理の概略＞
この実施形態による方法においては、まず、表示データ(もしくはマスクデータ)から表示するドットのエッジ（輪郭)を抽出する（図１（ａ）参照）。次に、抽出したエッジのドット間を図１（ｂ）に示すように直線補間し、この補間した直線にしたがって、各エッジドットでアンチエイリアスを行うのに必要になるαデータを求める。
また、この実施形態による方法においては、横、縦方向に画像全体のデータをスキャンしてエッジを探し、見つかったエッジに対してαデータを求める。これにより、１つのドットについて２つのαデータが生成される。最終的には２つのαデータをマージして１つのαデータを生成する。図２はαデータ生成の大まかな流れを示すフローチャートであり、各ステップは次の通りである。
Ｓａ１：スプライトの表示データ（またはマスクデータ）を横方向ヘスキャンして画像のエッジドットを抽出し、αデータを生成する。
Ｓａ２：スプライトの表示データ（またはマスクデータ）を縦方向ヘスキャンして画像のエッジドットを抽出し、αデータを生成する。
Ｓａ３：ステップＳａ１、Ｓａ２において生成したαデータをマージすることで、最終的なαデータを生成する。
【００１４】
＜エッジ抽出＞
次に、エッジを抽出する方法を図３に示すフローチャートを参照して説明する。図３は、横スキャン（Ｓａ１）内で実施されるエッジ抽出処理であり、水平に近いエッジを抽出する。
（１）カラーデータ（またはマスクデータ）を、図４に示すように、左上から横方向（左から右）へスキャンし、表示ドットを探す。そして対象ドットが非表示ドットで、かつ、現在エッジカウント中でなければ次のドット処理に移る（ステップＳｂ１が［ＮＯ」、ステップＳｂ２が「ＮＯ」）。なお、エッジカウントについては後述する。
（２）表示ドットが見つかった場合において（ステップＳｂ１が「ＹＥＳ」）、エッジカウント中でない場合（ステップＳｂ３が「ＮＯ」）、見つかったドットの上下のドットに着目する。上下のドットのうちどちらか片方だけが表示ドットだった場合（ステップＳｂ４が「ＹＥＳ」）、エッジの始点であると判断し、エッジカウンタをリセットし、エッジのカウントを開始する。この時、上下のうちどちらのドットが表示ドットだったかを記憶しておく（ステップＳｂ５）。
【００１５】
（３）次のドットをスキャンし、表示ドットであって、かつ、エッジカウント中であった場合（ステップＳｂ１、Ｓｂ３が「ＹＥＳ」）、上下のドットを確認する。その状態により以下のような処理を行う。
・上下の状態が始点ドットと同じだった場合（ステップＳｂ７が「ＹＥＳ」）→エッジが続いていると判断して記憶し、エッジカウンタを歩進し（ステップＳｂ８）、スキャンを続ける。
・上下の状態が始点ドットと異なっている場合（ステップＳｂ７が「ＮＯ」）、１つ前のドットをエッジの終点とし、始点から終点までのαデータを求める（ステップＳｂ９）。なお、αデータの求め方は後述する。さらに、上下片方のドットが表示ドットの場合（ステップＳｂ１０が「ＹＥＳ」）、現在のドットをエッジの始点とし、上下のドットのどちらが表示ドットかを記憶し、エッジカウンタをリセットしてエッジカウントを開始する（ステップＳｂ１１）。その後、次のエッジを抽出するためスキャンを続ける。
・上下が透明ドットの場合（ステップＳｂ１０が「ＮＯ」）、１つ前のドットをエッジの終点とみなし、その後、次のエッジを抽出するためスキャンを続ける。
・上下が表示ドットの場合（ステップＳｂ１０が「ＮＯ」）、１つ前のドットをエッジの終点とみなし、その後、次のエッジを抽出するためスキャンを続ける。
【００１６】
（４）エッジカウント中において、次のドットをスキャンし、表示ドットでなかった場合（ステップＳｂ１が「ＮＯ」、Ｓｂ２が「ＹＥＳ」）、１つ前のドットをエッジの終点とし、始点から終点までのαデータを求める（ステップＳｂ１２）。その後、次のエッジを抽出するためスキャンを続ける。
【００１７】
＜αデータの計算＞
エッジの始点と終点ドットが求まった時点で、各エッジドットのαデータの計算を行う（図３のＳｂ９、Ｓｂ１２）。すなわち、エッジの始点と終点を何らかの方法（直線補間、スプライン補間等）を用いて補間し、表示する画像の輪郭線と仮定し、各エッジドットで輪郭線の内側となる面積によって、αデータを決定する。この実施形態においては、エッジの始点と終点の補間に直線補間を用いる。以下、詳細に説明する。
【００１８】
図５はαデータの計算過程を示すフローチャートである。この計算においては、まず、連続するエッジドットの前後のドットをチェックし（ステップＳｃ１）、前が透明ドット、後ろが表示ドットであった場合は以下に説明する計算式１を用いて計算する（ステップＳｃ２）。また、前が表示ドット、後ろが透明ドットであった場合は計算式２を用いて計算し（ステップＳｃ３）、両方とも透明ドットであった場合は計算式３を用いて計算し（ステップＳｃ４）、両方とも表示ドットであった場合は計算式４を用いて計算する（ステップＳｃ５）。以下、計算式１〜４について説明する。
○計算式１
エッジの始点と終点を図６のように直線補間する。左の図において直線より下（右の図では上）の部分の面積により、各エッジドットのαデータを求める。積分の結果、各ドットにおける面積は次の式によって求められる。
s=(2i+1)/2n
但し、n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
このデータをテーブルを用いて設定可能なαデータに変換する。以下も同様である。
【００１９】
○計算式２
エッジの始点と終点を図７のように直線補間する。左の図において直線より下（右の図では上）の部分の面積により、各エッジドットのαデータを求める。積分の結果、各ドットでの面積は次の式によって求められる。
s=1-｛(2i+1)/2n｝
但し、n：エッジの総ドット数
i：始点(i=0)から数えて何ドット目かを示す数
○計算式３
エッジの始点と終点を図８のように直線補間する。左の図で直線より下（右の図では上）の部分の面積により、各エッジドットのαデータを求める。積分の結果、各ドットでの面積は以下の式によって求められる。
s=(2i+1)/n・・・i=0,・・・,n/2-1（nが偶数の場合），i=0,・・・,(n-1)/2-1（nが奇数の場合)
s=2-｛(2i+1)/n｝・・・i=n/2,・・・,n-1（nが偶数の場合），i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=1-(1/2n)  ・・・nが奇数の場合の中心点{i=(n-1)/2}
○計算式４
エッジの始点と終点を図９のように直線補間する。左の図で直線より下（右の図では上）の部分の面積により、各エッジドットのαデータを求める。積分の結果、各ドットでの面積は以下の式によって求められる。
s=1-｛(2i+1)/n｝・・・i=0,・・・,n/2-1(nが偶数の場合)，i=0,・・・,(n-1)/2-1(nが奇数の場合）
s={(2i+1)/n}-1・・・i=n/2,・・・,n-1(nが偶数の場合)，i=(n-1)/2+1,・・・,n-1（nが奇数の場合)
s=l/2n・・・nが奇数の場合の中心点{i=(n-1)/2}
【００２０】
＜縦方向のスキャンとαデータのマージ＞
図３のように、横方向のスキャンをした場合、補間した直線の傾きの絶対値が１以下の場合は適切なαデータを求めることができる。しかし、直線の傾きの絶対値が１以上の場合はその限りではない。図１０はその状態を説明するための図であり、同図（ａ）に示すエッジおよび補間直線を求めたいにも拘わらず、横方向スキャンをした場合、同図（ｂ）に示すエッジおよび補間直線しか求めることができない。よって、別途、縦スキャンにより垂直に近いエッジを抽出する必要がある。
【００２１】
これに対応するため、この実施形態による方法においては、縦方向（上から下）にもスキャンを行い、上記と同様の方法でαデータを求める。但し、図３における上下の標記は左右に読み替える必要がある。そして、最終結果は横スキャンと縦スキャンによって得られた２つのαデータをマージして求める。各ドットのマージの仕方は、直線補間の場合次の通りである。なお、輪郭線の補間の仕方によって最適な方法は変わってくると考えられる。
・横スキャンでαデータを求めなかったドットについては、縦スキャンでαデータが求められた場合、縦スキャンのαデータを採用する。
・横スキャンでαデータを求めたが、表示される面積が半分だったドットについては、縦スキャンでαデータが求められた場合、縦スキャンのαデータを採用する。そうでなければ横スキャンのαデータを採用する。
・横スキャンでαデータを求められ、表示される面積が半分ではないドットについては、横スキャンのαデータを採用する。
【００２２】
＜第２実施形態＞
以下、この発明の第２の実施形態によるエッジ処理データ生成方法について説明する。この方法が上述した第１の実施形態による方法と異なる点は、αデータの計算方法（図５参照）である。
図１１は第２の実施形態によるエッジ処理データ生成方法におけるαデータの算出方法を示すフローチャートである。この計算においては、まず、連続するエッジドットの前後のドットをチェックし（ステップＳｄ１）、前が透明ドット、後ろが表示ドットであった場合は前述した計算式１を用いて計算する（ステップＳｄ２）。また、前が表示ドット、後ろが透明ドットであった場合は前述した計算式２を用いて計算する（ステップＳｄ３）。ここまでは、第１の実施形態と同様である。
【００２３】
これに対し、連続するエッジドットの前後のドットが共に透明ドットあるいは共に表示ドットの場合、第１の実施形態の方法でαデータを決定すると、好ましくない結果が生じる。特に、水平、垂直の線では補間をしない方がよい結果が得られる。これに対応するため、第２の実施形態においては、計算式の選択条件を下記のように細分化する。
（Ａ）エッジの始点の前、終点の後のドットが共に透明ドットの場合
図１２に示すように、エッジの始点の前、終点の後のドットの下、または上（図の矢印の位置）のドットを計算式の判定ドットとし、各ドットの状態により、エッジでの直線補間の仕方、αデータ算出に用いる計算式を選択する。補間の仕方、計算式は次の通りである。なお、詳細には、エッジの始点、終点の下が表示ドットの場合には、エッジの始点の前、終点の後のドットの下のドットが判定ドットとなり、エッジの始点、終点の上が表示ドットの場合には、エッジの始点の前、終点の後の上のドットが判定ドットとなる。
(a)両判定ドットが表示ドットの場合→計算式３
(b)始点側の判定ドットが表示ドット、終点側が透明ドットの場合→計算式１
(c)始点側の判定ドットが透明ドット、終点側が表示ドットの場合→計算式２
(d)両判定ドットドットが透明ドットの場合→αデータを設定しない
【００２４】
（Ｂ）エッジの始点の前、終点の後のドットが共に表示ドットの場合
図１３に示すように、エッジの始点の前、終点の後のドットの２つ上、または下（図の矢印の位置）のドットを計算式の判定ドットとし、各ドットの状態により、エッジでの直線補間の仕方、αデータ算出に用いる計算式を選択する。補間の仕方、計算式は次の通りである。なお、詳細には、エッジの始点、終点の下が表示ドットの場合には、エッジの始点の前、終点の後のドットの２つ上のドットが判定ドットとなり、エッジの始点、終点の上が表示ドットの場合には、エッジの始点の前、終点の後のドットの２つ下のドットが判定ドットとなる。
(a)両判定ドットが透明ドットの場合→計算式４
(b)始点側の判定ドットが表示、終点側が透明ドットの場合→計算式１
(c)始点側の判定ドットが透明、終点側が表示ドットの場合→計算式２
(d)両判定ドットが表示ドットの場合→αデータを設定しない
【００２５】
＜外枠、終端処理＞
画像の表示部分がスプライトの外周に達している場合がある。この時、上下、左右のドットを確認することができず、外周部分のエッジではαデータを求めることができない。解決方法として、スプライト外周のさらに外に１ドット分のダミーデータを入れる方法がある。
【００２６】
＜ハードウエア＞    
上述した第１、第２の実施形態によるカラーデータ生成方法は、図１４に示すカラーデータおよびαデータ作成用コンピュータ１によって実行される。そして、生成されたカラーデータおよびαデータは、表示装置２へ送られ、画像メモリ５に書き込まれる。あるいは、ＲＯＭに書き込まれ、そのＲＯＭが画像メモリ５として使用される。表示装置２において、画像処理装置４は表示処理用コンピュータ３の指示にしたがって画像メモリ５からカラーデータおよびαデータを読み出し、αデータに基づくアンチエイリアス処理を行って液晶表示パネル６へ出力する。液晶表示パネル６は画像処理装置４から出力されたアンチエイリアス処理済みのカラーデータのカラー表示を行う。
また、場合によっては、画像メモリ５にカラーデータのみが記憶され、画像処理装置４または表示処理用コンピュータ３が上述したエッジ処理データ生成方法によってαデータを生成し、生成したαデータを使用してアンチエイリアス処理を行うようにすることも可能である。
【図面の簡単な説明】
【００２７】
【図１】この発明の第１の実施形態によるエッジ処理データ生成方法を説明するための図である。
【図２】同エッジ処理データ生成方法の処理過程の概略を示すフローチャートである。
【図３】同エッジ処理データ生成方法において使用されるエッジ検出方法を説明するためのフローチャートである。
【図４】同エッジ検出方法におけるスキャンルートを説明するための図である。
【図５】同エッジ処理データ生成方法において使用されるαデータ計算過程を説明するためのフローチャートである。
【図６】同αデータ計算過程を説明するための説明図である。
【図７】同αデータ計算過程を説明するための説明図である。
【図８】同αデータ計算過程を説明するための説明図である。
【図９】同αデータ計算過程を説明するための説明図である。
【図１０】同エッジ処理データ生成方法において使用される横スキャンおよび縦スキャンの必要性を説明するための図である。
【図１１】この発明の第２の実施形態によるエッジ処理データ生成方法を説明するためのフローチャートである。
【図１２】同第２の実施形態におけるαデータ計算過程を説明するための説明図である。
【図１３】同第２の実施形態におけるαデータ計算過程を説明するための説明図である。
【図１４】この発明の第１、第２の実施形態によるエッジ処理データ生成方法が適用されるハードウエアのブロック図である。
【符号の説明】
【００２８】
１…カラーデータおよびαデータ作成用コンピュータ、２…表示装置、３…表示処理用コンピュータ、４…画像処理装置、５…液晶表示パネル。
【図１】
2005234992.tif 000003
【図２】
2005234992.tif 000004
【図３】
2005234992.tif 000005
【図４】
2005234992.tif 000006
【図５】
2005234992.tif 000007
【図６】
2005234992.tif 000008
【図７】
2005234992.tif 000009
【図８】
2005234992.tif 000010
【図９】
2005234992.tif 000011
【図１０】
2005234992.tif 000012
【図１１】
2005234992.tif 000013
【図１２】
2005234992.tif 000014
【図１３】
2005234992.tif 000015
【図１４】
2005234992.tif 000016