JP3560124B2 - Image data interpolation device, image data interpolation method, and medium recording image data interpolation program - Google Patents

Image data interpolation device, image data interpolation method, and medium recording image data interpolation program Download PDF

Info

Publication number
JP3560124B2
JP3560124B2 JP09900798A JP9900798A JP3560124B2 JP 3560124 B2 JP3560124 B2 JP 3560124B2 JP 09900798 A JP09900798 A JP 09900798A JP 9900798 A JP9900798 A JP 9900798A JP 3560124 B2 JP3560124 B2 JP 3560124B2
Authority
JP
Japan
Prior art keywords
interpolation
pixel
image data
meta
command
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.)
Expired - Fee Related
Application number
JP09900798A
Other languages
Japanese (ja)
Other versions
JPH11296671A (en
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP09900798A priority Critical patent/JP3560124B2/en
Priority to PCT/JP1999/001853 priority patent/WO1999053441A1/en
Priority to EP99913574A priority patent/EP1018706A4/en
Priority to US09/445,475 priority patent/US6611632B1/en
Publication of JPH11296671A publication Critical patent/JPH11296671A/en
Application granted granted Critical
Publication of JP3560124B2 publication Critical patent/JP3560124B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation

Description

【0001】
【発明の属する技術分野】
本発明は、ドットマトリクス状の画素からなる画像データを補間する画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体に関する。
【0002】
【従来の技術】
コンピュータなどで画像を扱う際には、画像をドットマトリクス状の画素で表現し、各画素を階調値で表している。例えば、コンピュータの画面で水平方向に640ドット、垂直方向に480ドットの画素で写真やコンピュータグラフィックスを表示することが多い。
【0003】
一方、カラープリンタの性能向上がめざましく、そのドット密度は720dpiというように極めて高精度となっている。すると、640×480ドットの画像をドット単位で対応させて印刷させようとすると極めて小さくなってしまう。この場合、階調値も異なる上、解像度の意味合い自体が異なるのであるから、ドット間を補間して印刷用のデータに変換しなければならない。
【0004】
従来、このような場合にドットを補間する手法として、最近隣内挿法(ニアリストネイバ補間:以下、ニアリスト法と呼ぶ)や、3次たたみ込み内挿法(キュービックコンボリューション補間:以下、キュービック法と呼ぶ)などの手法が知られている。また、特開平6−225140号公報にはドットを補間したときの縁部のスムージングを行うにあたり、縁部がスムーズとなるような拡大形態となるようにドットパターンを用意しておく技術が開示されている。
【0005】
【発明が解決しようとする課題】
上述した従来の補間技術においては、次のような課題があった。
【0006】
ニアリスト法やキュービック法などの各種の手法は処理対象の種類に応じて得失がある。一方、近時においては、印刷しようとする一つの書類の中に複数の種類の処理対象が含まれることが多いので、一つの処理対象で補間処理しようとすれば不得手な処理態様について補間結果の品質が低下する。
【0007】
一方、特開平6−225140号公報に開示された発明においては、カラーの画像を前提とするとパターンの数が膨大となって予め用意しておくこと自体が困難である。
【0008】
さらに、メタコマンド画素については低解像度で画素生成するときに演算誤差などに起因してノイズの画素が生じることがあるが、かかるノイズの画素まで正確に補間処理で拡大してしまう。
【0009】
本発明は、上記課題にかんがみてなされたもので、複数の種類の処理対象が含まれる場合に見栄えの良い補間結果を得ることが可能な画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体の提供を目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、メタコマンドに対応する画像データとこれ以外の画像データとを入力してそれぞれを識別可能としつつ所定の順序で重ね合わせて仮想領域に描画する仮想描画手段と、上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出す際に周縁領域を広げておいて所定の補間倍率となるように補間処理する非メタコマンド画素補間手段と、上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理する際に元のメタコマンドに対応するように補間画素を生成するメタコマンド画素補間手段と、上記非メタコマンド画素補間手段の補間結果と上記メタコマンド画素補間手段の補間結果とを合成するとともにその重なり部分において上記メタコマンド画素補間手段の補間結果を優先させる重ね合わせ手段とを具備する構成としてある。
【0011】
上記のように構成した請求項1にかかる発明においては、仮想描画手段がメタコマンドに対応する画像データとこれ以外の画像データとを入力すると、それぞれを識別可能なように所定の順序で重ね合わせて仮想領域に描画する。すると、非メタコマンド画素補間手段は上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出して所定の補間倍率となるように補間処理するが、この際に周縁領域を広げておいて補間処理する。従って、本来の領域よりも広くなった補間画像が得られる。一方、メタコマンド画素補間手段も上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理するが、このメタコマンド画素補間手段では補間処理するにあたって元のメタコマンドに対応するように補間画素を生成する。そして、重ね合わせ手段は上記非メタコマンド画素補間手段の補間結果と上記メタコマンド画素補間手段の補間結果とを合成するが、その重なり部分においては上記メタコマンド画素補間手段の補間結果を優先させる。
【0012】
すなわち、メタコマンドの画像は仮想領域においていわゆるドットマトリクス状の画素の集まりとなっているものの、補間処理するにあたって元のメタコマンドに対応させてスムーズな輪郭形状となるが、これによって輪郭の形状は補間処理前とは変化せざるを得ない。輪郭の形状が変化すれば隣接するメタコマンド以外の画像との境界で重なる部分も生じれば隙間ができる部分も生じうる。これに対して、メタコマンド以外の画像については本来よりも広く生成されているので、隙間が生じる可能性は少なく、かつ、重なる部分ではメタコマンドの画像が優先されるのでスムーズな輪郭形状が残ることになる。
【0013】
ここでいうメタコマンドとは、形状をベクトル的に示すものを意味している。従って、描画アプリケーションであれば、そのコマンドを解釈して図形などを描画していくことになり、拡大や縮小を繰り返しても画質が劣化していくようなことはない。一方、これ以外の画像は描画した時点で一つ一つの画素の情報が与えられるものであり、縮小した時点で情報は失われ、拡大しても元に戻らない。なお、このような意味でメタコマンドは画像のみならず文字も対象としている。
【0014】
このような性質を持つメタコマンドであってもコンピュータにおける処理として常にその特性を維持できるわけではない。従って、ある時点で画素の集まりとして表されるとそれ以降の処理では他の画像と同等の処理を受けざるを得ない。ただし、メタコマンドで描画されたか否かが分かれば、拡大する補間処理において補間手法を変化させる余地がある。例えば、メタコマンドによるものであれば概ね境界はスムーズにして補間するべきであると考えられる。これに対して、他の画像であればスムーズにすることが妥当か否かは一概に決められない。従って、それぞれ異なる方針で補間処理されることになると、補間処理後の境界形状にはずれが生じうる。本発明では、このような状況を背景として生まれている。
【0015】
一方、上記仮想描画手段はメタコマンドに対応する画像データとこれ以外の画像データとに基づいて仮想領域に描画するが、それぞれを識別可能としている。このように識別可能とする手法は各種のものを採用可能であり、例えば、別にアトリビュートエリアを設けておいて、仮想領域における個々のデータの種別を書き込めるようにしておいても良いし、あるいは個々のデータに属性を埋め込むようにしても良い。また、色数を減らせる場合にはあるビットを属性に割り当てるということも可能である。
【0016】
非メタコマンド画素補間手段はこの仮想領域からメタコマンド以外の画像データに対応する画素を読み出して補間処理する。例えば、画像データの種別をアトリビュートエリアから判断できるのであれば、当該アトリビュートエリアを参照して選択しながらメタコマンド以外の画像データに対応する画素を読み出すとともに、対応する補間処理で画素を補間する。
【0017】
補間処理としては各種のものが採用可能であり、例えば、キュービック法の補間処理は自然画に対して適切であるし、ニアリスト法はコンピュータグラフィックスなどの非自然画に対しては適切である。
【0018】
また、非メタコマンド画素補間手段は周縁領域を広げておいて補間処理するが、広げるに際しての具体的な処理も様々である。その一例として、請求項2にかかる発明は、請求項1に記載の画像データ補間装置において、上記非メタコマンド画素補間手段は、周縁領域の画素の情報を当該領域の外方の画素の情報に利用する構成としてある。
【0019】
上記のように構成した請求項2にかかる発明においては、周縁領域を広げるといってもそこには画素の情報がないため、当該周辺領域の画素の情報を広げる領域の画素の情報として利用する。従って、そのまま情報を複写して利用しても良いし、段階的に変化させながら複写していっても良い。また、複写するのは作業領域で行えばよいし、実際に複写する作業をしなくても実質的に利用する状況となっていればよい。このようにして広げる領域の大きさは特に限定されるものではないが、メタコマンド画素補間手段が画素を生成する際に生じる境界の凹凸に依存しており、メタコマンドの画素で凹部が生じても重ね合わせ時に隙間が生じない程度であればよい。例えば、仮想領域から1ライン毎に画素情報を読み出す場合、メタコマンドの画素の両端を一画素分だけ広げるといった処理でも十分である。
【0020】
メタコマンド画素補間手段も上記仮想領域からメタコマンドに対応する画素を選択して読み出す。このメタコマンド画素補間手段では元のメタコマンドに対応するように補間画素を生成する。例えば、画像として考えた場合には境界をスムーズにするとか、角部を鋭角にするようなことが該当する。
【0021】
これに対し、文字を表すメタコマンドは小領域において複雑に屈曲する図形情報を含むものであるため、画素を生成する際の演算精度などによって余分ドットが生じやすいという特徴がある。このような特徴に鑑みた好適な一例として、請求項3にかかる発明は、請求項1または請求項2のいずれかに記載の画像データ補間装置において、上記メタコマンド画素補間手段は、文字を表すメタコマンドを補間処理するにあたり、メタコマンドに基づく画素生成時におけるノイズの画素を消去して画素補間する構成としてある。
【0022】
上記のように構成した請求項3にかかる発明においては、文字を表すメタコマンドに基づいて画素生成する際に、ノイズの画素であるか否かを判断し、ノイズの画素である場合にはこれを消去して画素補間する。ノイズの画素であるか否かは、文字の特性から概ね判断できる。例えば、直線部分でありながら一画素だけ突き出ているとか、二辺が交わる部分において不自然に突き出る画素があるとか、曲線部分の終わりで不自然に突き出る画素があるとかいった具合である。すなわち、複数のベクトルデータで文字を表す場合の連結部位あたりに生じうる画素などを意味している。
【0023】
また、補間処理は二次元的な処理を行うため、仮想領域からの読み込み時にもそれに対応して画素を読み込む必要がある。その一例として、請求項4にかかる発明は、請求項1〜請求項3のいずれかに記載の画像データ補間装置において、上記メタコマンド画素補間手段は、上記仮想領域から上記画素を読み出すにあたって複数ライン分の画素を読み込んで補間処理する構成としてある。
【0024】
上記のように構成した請求項4にかかる発明においては、二次元的な補間処理を実現するために複数ラインの画像データを読み込んで補間処理している。
【0025】
メタコマンド画素補間手段でも補間処理は各種のものが採用可能である。しかしながら、上述したようなノイズの画素の有無を考慮するなど、元のメタコマンドに対応するように補間画素を生成するため、予め、処理を分類化することも可能である。そのような場合に好適な一例として、請求項5にかかる発明は、請求項4に記載の画像データ補間装置において、上記メタコマンド画素補間手段は、所定の大きさの領域における画素情報の有無に対応するパターンデータと各パターンデータに対応する所定の補間倍率の補間画素情報を備えるとともに、上記仮想領域から対応する領域の画素を読み出して比較データとし、同パターンデータとマッチングさせてマッチングしたパターンデータに対応して用意されている補間画素情報に基づいて補間処理する構成としてある。
【0026】
上記のように構成した請求項5にかかる発明においては、所定の大きさの小領域についてパターンマッチングによって補間処理を実行する。すなわち、同領域に対応して画素情報の有無に対応するパターンデータを用意しておき、上記仮想領域から対応する領域の画素を読み出して比較データとする。そして、パターンマッチングしたパターンデータに対応して用意されている所定の補間倍率の補間画素情報に基づいて補間処理する。従って、予想されうるノイズの画素をパターンデータとして備えておき、このパターンデータに対応してノイズの画素を消去した補間画素情報を用意しておくといったことが可能となる。
【0027】
このようなパターンマッチングでは注目領域を移動させて新たなパターンマッチングを行うに際に、全部の比較データを更新するのは煩雑である。このため、請求項6にかかる発明は、請求項5に記載の画像データ補間装置において、上記メタコマンド画素補間手段では、上記パターンデータが同時処理可能なデータ幅に対する画素数の矩形領域であるとともに、対象となる矩形領域を移動させる方向における新たな画素列を先入れ先出し処理で上記比較データに組み入れてパターンデータとのマッチングを継続する構成としてある。
【0028】
上記のように構成した請求項6にかかる発明においては、同時処理できるデータ幅に対する画素数の矩形領域であれば、一領域について一回の演算処理でパターンマッチングが可能となる。また、注目領域を移動させて新たなパターンマッチングを行うに際に、必ずしも全部の比較データを更新する必要はなく、移動方向における新たな画素列を先入れ先出し処理で比較データに組み入れる。より具体的に言うならば、4×4画素のパターンマッチングは16画素のパターンデータと比較するが、この正方領域を一画素移動させるとすると、実質的には三列分の画素の情報は変化せず、移動方向前方側の一列の4画素の有無が比較データとして組み入れられとともに、後方側の一列の4画素の有無が対象外となる。従って、4画素について比較データに先入れ先出しすることにより、全部の比較データを更新しなくてもよくなる。
【0029】
パターンマッチングをカラーの画像に適用しようとすると、画素の有無だけで判断することはできないため、本来ならば各色毎にパターンデータを用意することになって非現実的となる。これに対して、請求項7にかかる発明は、請求項5または請求項6のいずれかに記載の画像データ補間装置において、上記メタコマンド画素補間手段では、上記パターンデータに対応する補間画素情報は上記比較データにおける各画素の色の割り振り情報を含む構成としてある。
【0030】
上記のように構成した請求項7にかかる発明においては、パターンデータとして画素の有無を表す比較データとマッチさせるが、マッチングした場合に参照される補間画素情報には色の割り振り情報が含まれているので、この割り振りによって実質的にカラーの画像についてのパターンマッチングによる補間を実現する。
【0031】
一方、重ね合わせ手段は上記非メタコマンド画素補間手段の補間結果と上記メタコマンド画素補間手段の補間結果とを合成させ、その重なり部分においては上記メタコマンド画素補間手段の補間結果を優先させる。
【0032】
このように一方を優先させる処理の一例として、請求項8にかかる発明は、請求項1〜請求項7のいずれかに記載の画像データ補間装置において、上記重ね合わせ手段は、上記非メタコマンド画素補間手段の補間結果を先に所定領域に書き込んだ後で上記メタコマンド画素補間手段の補間結果における背景画素以外の画素を上書きする構成としてある。
【0033】
上記のように構成した請求項8にかかる発明においては、上記非メタコマンド画素補間手段の補間結果と上記メタコマンド画素補間手段の補間処理結果を一時的に別領域に保持するのであれば、別領域に保持されている補間処理結果を所定の順番で重ね合わせるようにすればよいし、また、所定の順番に従って順次補間処理を実行させつつ、補間結果を出力用領域に書き込んでいくようにしても良い。
【0034】
このように、メタコマンド以外の画像データについては周縁領域を広げておくとともにメタコマンドに対応する画像データについては元のメタコマンドに対応するように補間画素を生成し、重ね合わせ部分でメタコマンドに対応する画像データを優先させる手法は必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。
【0035】
このため、請求項9にかかる発明は、画像をドットマトリクス状の画素で表現して描画する画像データに基づいてその構成画素数を増やす画像データ補間方法であって、メタコマンドに対応する画像データとこれ以外の画像データとを入力してそれぞれを識別可能なように所定の順序で重ね合わせて描画する工程と、上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出す際に周縁領域を広げておいて所定の補間倍率となるように補間処理する工程と、上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理する際に元のメタコマンドに対応するように補間画素を生成する工程と、両工程に基づく補間結果とを合成する際にその重なり部分において上記メタコマンドに対応する補間結果を優先させて合成する工程とを具備する構成としてある。
【0036】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【0037】
ところで、このような画像データ補間装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【0038】
発明の思想の具現化例として画像データ補間装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【0039】
その一例として、請求項10にかかる発明は、画像をドットマトリクス状の画素で表現して描画する画像データに基づいてその構成画素数を増やすようにコンピュータにて補間処理を実行する補間処理プログラムを記録した媒体であって、メタコマンドに対応する画像データとこれ以外の画像データとを入力してそれぞれを識別可能なように所定の順序で重ね合わせて描画するステップと、上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出す際に周縁領域を広げておいて所定の補間倍率となるように補間処理するステップと、上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理する際に元のメタコマンドに対応するように補間画素を生成するステップと、両工程に基づく補間結果とを合成する際にその重なり部分において上記メタコマンドに対応する補間結果を優先させて合成するステップとを具備する構成としてある。
【0040】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。
【0041】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0042】
【発明の効果】
以上説明したように本発明は、メタコマンドに対する画像の補間処理で境界形状を積極的にスムージングするような処理を行っても境界部分で隙間などが生じないので、見栄えの良い補間結果を得ることが可能な画像データ補間装置を提供することができる。
【0043】
また、請求項2にかかる発明によれば、周縁領域を広げる処理が簡易になる。
【0044】
さらに、請求項3にかかる発明によれば、文字を表すメタコマンドに表れやすいノイズの画素を消去することができる。
【0045】
さらに、請求項4にかかる発明によれば、複数ラインの画像データを読み込むことにより、補間処理を実現できる。
【0046】
さらに、請求項5にかかる発明によれば、パターンマッチングによる補間処理で元のメタコマンドに対応した補間処理を実現しやすくなる。
【0047】
さらに、請求項6にかかる発明によれば、パターンマッチングを極めて簡易かつ能率良く行うことができる。
【0048】
さらに、請求項7にかかる発明によれば、カラー画像においてもパターンマッチングで補間処理することができる。
【0049】
さらに、請求項8にかかる発明によれば、順序によって調整するので、処理が簡易となる。
【0050】
さらに、請求項9にかかる発明によれば、同様の効果を奏する画像データ補間方法を提供でき、請求項10にかかる発明によれば、同様の効果を奏する補間処理プログラムを記録した媒体を提供できる。
【0051】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
【0052】
図1は、本発明の画像データ補間装置を表すクレーム対応図である。
【0053】
コンピュータなどでのデータ処理では、画像はドットマトリクス状の画素で表現し、各画素を表すデータの集まりで画像データが構成される。ここでいう画像は写真やコンピュータグラフィックなどのいわゆるビットマップの画像に限らず、文字やビジネスグラフなどのいわゆるメタコマンドで描画される画像も含まれる。ビットマップ系の画像もメタコマンド系の画像も画像であるという意味で共通するものの、描画性質が微妙に異なり、その性質に応じて補間処理との相性も異なる。
【0054】
このような描画性質の相違に鑑み、仮想描画手段C1がメタコマンドに対応する画像データとこれ以外の画像データとを入力すると、それぞれを識別可能なように所定の順序で重ね合わせて仮想領域に描画する。すると、非メタコマンド画素補間手段C2は上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出して所定の補間倍率となるように補間処理するが、この際に周縁領域を広げておいて補間処理する。従って、本来の領域よりも広くなった補間画像が得られる。一方、メタコマンド画素補間手段C3も上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理するが、このメタコマンド画素補間手段C3では補間処理するにあたって元のメタコマンドに対応するように補間画素を生成する。そして、重ね合わせ手段C4は上記非メタコマンド画素補間手段C2の補間結果と上記メタコマンド画素補間手段C3の補間結果とを合成するが、その重なり部分においては上記メタコマンド画素補間手段C3の補間結果を優先させる。
【0055】
本実施形態においてはこのような画像データ補間装置を実現するハードウェアの一例としてコンピュータシステム10を採用している。
【0056】
図2は、同コンピュータシステム10をブロック図により示している。
【0057】
本コンピュータシステム10は、画像入力デバイスとして、スキャナ11aとデジタルスチルカメラ11bとビデオカメラ11cとを備えており、コンピュータ本体12に接続されている。それぞれの入力デバイスは画像をドットマトリクス状の画素で表現した画像データを生成してコンピュータ本体12に出力可能となっており、ここで同画像データはRGBの三原色においてそれぞれ256階調表示することにより、約1670万色を表現可能となっている。
【0058】
コンピュータ本体12には、外部補助記憶装置としてのフロッピーディスクドライブ13aとハードディスク13bとCD−ROMドライブ13cとが接続されており、ハードディスク13bにはシステム関連の主要プログラムが記録されており、フロッピーディスクやCD−ROMなどから適宜必要なプログラムなどを読み込み可能となっている。
【0059】
また、コンピュータ本体12を外部のネットワークなどに接続するための通信デバイスとしてモデム14aが接続されており、外部のネットワークに同公衆通信回線を介して接続し、ソフトウェアやデータをダウンロードして導入可能となっている。この例ではモデム14aにて電話回線を介して外部にアクセスするようにしているが、LANアダプタを介してネットワークに対してアクセスする構成とすることも可能である。この他、コンピュータ本体12の操作用にキーボード15aやマウス15bも接続されている。
【0060】
さらに、画像出力デバイスとして、ディスプレイ17aとカラープリンタ17bとを備えている。ディスプレイ17aについては水平方向に800画素と垂直方向に600画素の表示エリアを備えており、各画素毎に上述した1670万色の表示が可能となっている。むろん、この解像度は一例に過ぎず、640×480画素であったり、1024×720画素であるなど、適宜、変更可能である。
【0061】
また、カラープリンタ17bはインクジェットプリンタであり、CMYKの四色の色インクを用いて記録媒体たる印刷用紙上にドットを付して画像を印刷可能となっている。画像密度は360×360dpiや720×720dpiといった高密度印刷が可能となっているが、階調表限については色インクを付すか否かといった2階調表現となっている。
【0062】
一方、このような画像入力デバイスを使用して画像を入力しつつ、画像出力デバイスに表示あるいは出力するため、コンピュータ本体12内では所定のプログラムが実行されることになる。そのうち、基本プログラムとして稼働しているのはオペレーティングシステム(OS)12aであり、このオペレーティングシステム12aにはディスプレイ17aでの表示を行わせるディスプレイドライバ(DSP DRV)12bとカラープリンタ17bに印刷出力を行わせるプリンタドライバ(PRT DRV)12cが組み込まれている。これらのドライバ12b,12cの類はディスプレイ17aやカラープリンタ17bの機種に依存しており、それぞれの機種に応じてオペレーティングシステム12aに対して追加変更可能である。また、機種に依存して標準処理以上の付加機能を実現することもできるようになっている。すなわち、オペレーティングシステム12aという標準システム上で共通化した処理体系を維持しつつ、許容される範囲内での各種の追加的処理を実現できる。
【0063】
この基本プログラムとしてのオペレーティングシステム12a上でアプリケーション12dが実行される。アプリケーション12dの処理内容は様々であり、操作デバイスとしてのキーボード15aやマウス15bの操作を監視し、操作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、処理結果をディスプレイ17aに表示したり、カラープリンタ17bに出力したりすることになる。
【0064】
かかるコンピュータシステム10では、画像入力デバイスであるスキャナ11aなどで写真などを読み取って画像データを取得することができる。また、ワードプロセッサなどのアプリケーション12dでは、文章だけでなく、読み取った写真画像を張り付けたり、あるいは表計算結果に基づくビジネスグラフを張り付けるといったことができる。このように作成した統合文書は、画像出力デバイスとしてのディスプレイ17aやカラープリンタ17bに表示出力することが可能である。かかる統合文書は、文字や写真やビジネスグラフという差異はあるものの、画素の集まりによって画像を構成する点で共通する。
【0065】
この統合文書を表示出力するにあたり、ディスプレイ17a上で表示している画素をそのままカラープリンタ17bの画素に対応させることはできない。アプリケーション12dで作成してディスプレイ17a上に表示しているときの画素密度とカラープリンタ17bの画素密度とが一致しないからである。むろん、一致することもあり得るが、多くの場合、高画質化のために画素密度の向上が図られているカラープリンタ17bの画素密度の方が一般的なディスプレイ17aにおける画素密度よりも高密度である。
【0066】
このため、オペレーティングシステム12aで基準となる画素密度を決定しつつ実際のデバイスごとの画素密度の相違を解消するために解像度変換が実施される。例えば、ディスプレイ17aの解像度が72dpiであるとするときに、オペレーティングシステム12aで360dpiを基準とするならば、ディスプレイドライバ12bが両者の間の解像度変換を実施するし、カラープリンタ17bの解像度が720dpiであればプリンタドライバ12cが解像度変換を実施する。
【0067】
解像度変換は画像データにおける構成画素数を増やす処理にあたるので補間処理に該当し、これらのディスプレイドライバ12bやプリンタドライバ12cがその機能の一つとして補間処理を実施する。
【0068】
本実施形態においては、以下に詳述するようにディスプレイドライバ12bやプリンタドライバ12cが、入力される画像データに基づいて仮想領域に対して画像を書き込むが、このときにメタコマンドで描画される画素とそれ以外の画素とを識別可能となるようにしておく。そして、同仮想画面から種別毎に画素を読み出し、適切な補間手法で補間処理して重ね合わせて最終画像を生成し、ディスプレイ17aやカラープリンタ17bに出力することになる。
【0069】
この意味でディスプレイドライバ12bやプリンタドライバ12cが、上述した仮想描画手段C1や、非メタコマンド画素補間手段C2や、メタコマンド画素補間手段C3や、重ね合わせ手段C4を構成する。なお、かかるディスプレイドライバ12bやプリンタドライバ12cは、ハードディスク13bに記憶されており、起動時にコンピュータ本体12にて読み込まれて稼働する。また、導入時にはCD−ROMであるとかフロッピーディスクなどの媒体に記録されてインストールされる。従って、これらの媒体は画像データ補間プログラムを記録した媒体を構成する。
【0070】
本実施形態においては、画像データ補間装置をコンピュータシステム10として実現しているが、必ずしもかかるコンピュータシステムを必要とするわけではなく、同様にメタコマンドで描画される画素とそれ以外の画素に対して補間処理が必要なシステムであればよい。例えば、図3はネットワークコンピュータ19aを示しており、公衆電話回線などを介して外部の広域ネットワークに接続されている。このような広域ネットワークでは文字情報や写真画像などを含めて種々の異なる描画性質を有する画像データが送受されており、ネットワークコンピュータ19aはかかる画像データを取得して適宜テレビモニタ19bに表示したり図示しないプリンタに出力できる。この場合にも、画像解像度を変換する必要が生じるし、あるいは操作者がその意思によって一部を拡大したいと思うときには、ズーミングなどの操作に対応して補間処理して表示する。
【0071】
また、かかる補間処理をコンピュータの側で行うのではなく、表示出力デバイスの側で行うようにしても良い。カラープリンタの例であれば、スクリプト形式の印刷データを入力し、自己の印刷解像度に合わせる際に上述したような補間処理を実行すればよい。
【0072】
図4は、上述したプリンタドライバ12cが実行する解像度変換に関連するソフトウェアフローを示している。
【0073】
ステップST102では画像データを入力し、重ね合わせに応じてソートする。すなわち、アプリケーション12dにてスキャナ11aから読み込んだ画像や、キーボード15aで入力した文字や、表計算ソフトで作成したビジネスグラフを一つの統合文書として張り合わせるが、この場合に重ね合わせが生じる。特に、DTP分野では画像と文字とを直に重ね合わせて一つの絵のように作成することが多いが、この場合には複雑に重ね合わせが生じている。むろん、重ね合わされた下層の画像は見えないが、データ上は存在しており、プリンタドライバ12cにおいて改めてデータを重ね合わせることになる。各画像を重ね合わせる際に層という概念を利用するものとし、上下の層の並びとなるように画像データのコマンドをソートしておいて下層のものから画像データを書き込むのに備える。
【0074】
次のステップ104ではこのようにして並べ替えた画像データに基づいて仮想領域としての仮想描画面に書き込む。この仮想描画面への書き込みを図5に模式的に示している。レイヤの並びに基づいて画像データのコマンドをソートしたら、それぞれに応じた描画関数を呼び出してメモリに割り当てられた色情報仮想描画面と属性情報仮想描画面に対して画素毎にデータを書き込む。色情報仮想描画面は各画素毎に赤緑青の色成分に対応する3バイトを割り当て、水平方向の画素数×垂直方向の画素数分のメモリ領域が割り当てられている。
【0075】
一方、属性情報仮想描画面は各画素が「非メタコマンド画素(N)」かメタコマンド画素のうち「文字(C)か「ビジネスグラフ(B)」かを判別できるようにするものであり、各画素毎に1バイトを割り当てて属性の識別コード(「N」「C」「B」)を書き込む。具体的には、ここではビットマップ画像データを非メタコマンド画素として処理する。ビットマップ画像データには写真の他、コンピュータグラフィックスも含まれるが、特にこれらを分けて補間処理を変化させても良いし、一律に一定の補間処理を適用しても良い。写真であるかコンピュータグラフィックスであるかは画像データを解析して区別することが可能であり、一例として、利用色数が多い場合には自然画と判断するとともに利用色数が少ない場合には非自然画と判断することもできる。自然画は同じ色の物体でも陰影などによって複数の色数と計上されるからである。
【0076】
図6は、このようにして書き込まれる色情報仮想描画面と属性情報仮想描画面との対応を示している。基準の解像度における水平方向の1ラインを想定すると、各画素毎に当該画素の色が書き込まれるとともにその画素の種別も書き込まれる。従って、属性情報の書き込み情報から非メタコマンド画素の画素を選び出したり、文字の画素を選び出したり、ビジネスグラフの画素を選び出すことができる。
【0077】
この例では、属性情報を色情報と分離して仮想描画面に書き込むようにしているが、必ずしもかかる手法に限定されるわけではない。例えば、色情報に加えてもう1バイトを属性情報とし、各画素毎に4バイトを割り当てていくようにしても良い。また、重ね合わせ情報を書き込む画面と、各種別毎に色の情報を書き込む画面とを分離し、重ね合わせ時に重ね合わせ情報を参照して重ね合わせるようにしても良い。
【0078】
ステップST106では、図5に示す仮想描画面から画像の種別毎に画像データを読み出し、画像の種別に応じた最適な補間処理を実行する。ここで、本実施形態において用意されている補間処理の各手法について説明する。
【0079】
非メタコマンド画素の一例である写真のような自然画に適した補間処理として、キュービック法の補間処理を実行可能である。キュービック法は図7に示すように、内挿したい点Puvを取り囲む四つの格子点のみならず、その一周り外周の格子点を含む計16の格子点のデータを利用する。3次たたみ込み関数を用いた一般式は次式のようになる。
【0080】
【数1】

Figure 0003560124
【0081】
となる。
【0082】
このキュービック法では一方の格子点から他方の格子点へと近づくにつれて徐々に変化していき、その変化具合がいわゆる3次関数的になるという特徴を有している。
【0083】
非メタコマンド画素の他の一例であるコンピュータグラフィックスのような非自然画に適した補間処理として、ニアリスト法の補間処理を実行可能である。ニアリスト法は図8に示すように、周囲の四つの格子点Pij,Pi+1j,Pij+1,Pi+1j+1と内挿したい点Puvとの距離を求め、もっとも近い格子点のデータをそのまま移行させる。これを一般式で表すと、
Puv=Pij
ここで、i=[u+0.5}、j=[v+0.5}である。なお、[]はガウス記号で整数部分を取ることを示している。
【0084】
図9は、ニアリスト法で画素数を縦横3倍ずつに補間する状況を示している。補間される画素は最初の四隅の画素のうちもっとも近い画素のデータをそのまま移行させることになる。従って、図10に示すように白い画素を背景として黒い画素が斜めに配置される元画像は、図11に示すように黒の画素が縦横に3倍に拡大されつつ斜め方向に配置される関係が保持される。
【0085】
ニアリスト法においては、画像のエッジがそのまま保持される特徴を有する。それ故に拡大すればシャギーが目立つもののエッジはエッジとして保持される。これに対して他の補間処理では補間される画素を周りの画素のデータを利用してなだらかに変化するようにする。従って、シャギーが目立たなくなる反面、本来の元画像の情報は削られていってしまい、エッジがなくなることになってコンピュータグラフィックスやビジネスグラフなどの非自然画には適さなくなる。
【0086】
本実施形態においては、上述したニアリスト法とキュービック法とを使用するが、これらの特性の理解のために他の補間手法である共1次内挿法(バイリニア補間:以下、バイリニア法と呼ぶ)について説明する。
【0087】
バイリニア法は、図12に示すように、一方の格子点から他方の格子点へと近づくにつれて徐々に変化していく点でキュービック法に近いが、その変化が両側の格子点のデータだけに依存する一次関数的である点で異なる。すなわち、内挿したい点Puvを取り囲む四つの格子点Pij,Pi+1j,Pij+1,Pi+1j+1で区画される領域を当該内挿点Puvで四つの区画に分割し、その面積比で対角位置のデータに重み付けする。これを式で表すと、
P={(i+1)−u}{(j+1)−v}Pij
+{(i+1)−u}{v−j}Pij+1
+{u−i }{(j+1)−v}Pi+1j
+{u−i }{v−j}Pi+1j+1
となる。なお、i=[u]、j=[v]である。
【0088】
キュービック法もバイリニア法も一方の格子点から他方の格子点へと近づくにつれて徐々に変化していく点で共通するが、その変化状況が3次関数的であるか1次関数的であるかが異なり、画像としてみたときの差異は大きい。図13はニアリスト法とキュービック法とバイリニア法における補間結果の相違を理解しやすくするために二次元的に表した図である。同図において、横軸に位置を示し、縦軸に補間関数を示している。t=0、t=1、t=2の位置に格子点が存在し、内挿点はt=0〜1の位置となる。
【0089】
バイリニア法の場合、隣接する二点間(t=0〜1)で直線的に変化するだけであるので境界をスムージングすることになり、画面の印象はぼやけてしまう。すなわち、角部のスムージングと異なり、境界がスムージングされると、コンピュータグラフィックスでは、本来あるべき輪郭がなくなってしまうし、写真においてはピントが甘くなってしまう。
【0090】
一方、キュービック法においては、隣接する二点間(t=0〜1)においては山形の凸を描いて徐々に近接するのみならず、さらに同二点間の外側(t=1〜2)において下方に押し下げる効果をもつ。すなわち、あるエッジ部分は段差が生じない程度に大きな高低差を有するように変化され、写真においてはシャープさを増しつつ段差が生じないという好適な影響を及ぼす。ただし、コンピュータグラフィックスでは、エッジのもつ意味合いがアナログ的な変化を意味するものではないので、好適とは言えない。
【0091】
次に、メタコマンド画素に適用して好適なパターンマッチングの補間処理について説明する。
【0092】
図14は色情報仮想描画面に書き込まれた文字画像である。文字も水平方向と垂直方向とに並べられるドットマトリクス状の画素からなり、図15に示すようにドットを付したところ(●)が画像画素となり、ドットを付していないところ(○)が背景画素である。
【0093】
パターンマッチングでは、図15に示すような4×4画素の正方領域である16画素を一つの領域として予め用意されているパターンデータとマッチングさせ、内側の2×2画素の4画素からなる正方領域について補間画素を生成する。4画素の正方領域であるにも関わらず一回り外側の画素を合わせて参照するのは、周囲の画素の有無によって4画素の正方領域に対する補間結果も変化するからである。図15においても、4画素としてみたときには一致するものの16画素として見たときには異なることになる二つのパターンデータを示しており、パターンデータAでは上下の方向にドットが並びつつ1ドットだけ横に突き出る状況であり、パターンデータBでは周りにはドットが付されず、4画素のうちの3画素にドットが付されている状況である。パターンデータAでは突き出るイメージを示すためにも全体として山形のドットとすることが好ましいが、3画素を付すものでは三角形を表すように介するのが好ましい。従って、それぞれに対応する補間画素パターンも異なってくる。
【0094】
ところで、画像データに応じた描画関数を呼び出して色情報仮想描画面と属性情報仮想描画面に対して画素毎にデータを書き込む際、非メタコマンド画素については書き込まれる画素が特定されているが、メタコマンド画素については描画関数が書き込む画素を演算によって求めることになる。このような性質を有するがために、アプリケーション12dの側でコマンドのパラメータを変えることによって任意の大きさの図形を描画することが可能となる。しかしながら、文字のように、一つの図形に複数のコマンドが対応している場合にはノイズとしての画素が生じてしまうことがある。すなわち、ある倍率ではドットが生じないものの、別の倍率では無意味なドットが生じるのである。特に、複数のコマンドで描画される線分の連結点などで生じやすい。むろん、かかるノイズとしてのドットは無い方が好ましい。
【0095】
図16は、本実施形態において採用しているノイズとしてのドットの消去手法を示している。同図(a)がオリジナルの画像であるとする。文字の一部を示しているが、枠状の図形の角部であることが分かり、複数の描画コマンドの連結点であると想像できる。むろん、必ずしも連結点である必要はない。
【0096】
ここで、二点鎖線に囲まれたドットに注目してみると、このドットが特に必要であるようには思われない。なぜなら、他の部分では2ドットの幅の線を示しているようであり、その角部においてことさら突き出るドットを付す必要性が想定しにくいからである。すなわち、本来であれば同図(b)に示すようにこのドットは付されるべきではないと判断することが妥当と思われるのである。むろん、このような判断は領域が小さくなってくると一概には判断できないが、本実施形態のように16画素をまとめてパターンデータと比較する場合においては、付随的にこのような判断が可能となる。
【0097】
このような前提のもとで、同図(c)に示すドットがあるパターンデータに対しては、同図(d)に示すようなドットがないことを想定した上での補間画素情報を対応させておく。すると、パターンマッチングを経ることによって、メタコマンド画素を解釈して描画した際に生じたノイズとしての画素は、あたかもそれを変換過程において発見して消去した上で、元のメタコマンド画素に対応するように補間画素を生成したのと同じ結果が得られる。
【0098】
このようなドットの消去は、メタコマンド全般にも適用できるのは明らかである。従って、16画素の正方範囲でノイズらしきドットが生じればそのパターンデータにはドットを消去したものとしての補間画素情報を対応づけておけばよい。ただ、文字については小領域に多数の描画コマンドが適用されるという特殊性があり、それが故にノイズとしてのドットが発生しやすいし、ノイズの特定が比較的容易であるといえる。
【0099】
補間画素パターンは倍率毎に複数セットが用意されており、図17では縦横方向に1.5倍とする場合の一例を示している。
【0100】
ところで、パターンマッチングをカラーデータに対応させようとすると、4画素の例であっても極めて多大な数のパターンデータを用意させておかなければならないはずである。すなわち、各画素の取り得る色数の順列に相当する組合せが生じるからである。しかしながら、本実施例においては、パターンの比較はドットの有無で行ない、色の割り振りでカラーデータに対応することとしてその問題を解決した。図18はその一例を示している。16画素のパターンデータで比較するのは先程の例と同様として、4画素については各画素の色を補間画素のどの画素に割り当てるか対応づけている。これにより、補間画素の色を決定する前処理も不要となるし、パターンデータの数も少なくなるので、処理量や資源量などは極めて低減する。
【0101】
一方、このように16画素を基準とするパターンマッチングのより具体的な手法について図19に示している。同図(a)は補間処理する元の画素の並びを示しており、16画素の小領域をずらしながらパターンマッチングを行う。このとき、この小領域を移動させるごとに16画素の情報を全て更新する必要はない。同図(a)では画素として「EFGHIJKLMNOPQRST」という16画素を対象としており、同図(b)はこれを処理する上でのCPUなどのデータレジスタ領域を示している。各画素にドットが付されているか否かを1ビットの「1」または「0」で表すことにより、16ビットのデータ幅があればパターンマッチングは可能である。そして、同図(a)に示すように小領域を1画素分だけ移動させる場合には「ABCD」の4画素が新たに小領域に含まれることになるし、「QRST」の4画素が小領域から外れることになる。すると、同図(c)に示すようにデータレジスタ領域で4ビットシフトし、LSB側の4ビットに「ABCD」の4画素に対応する4ビットを導入するだけでよい。
【0102】
さらにいうならば、パターンデータの並びについても16ビットをアドレスとして利用すればマッチングさせる処理というのはアドレスを指定するだけの処理となり、そのまま補間画素情報を取得できるようになる。
【0103】
以上のような補間処理が実行可能であることを前提として、ステップST106では画像を種別ごとに読み出して補間処理する。ここでは、大きく分けると非メタコマンド画素とメタコマンド画素とに分類でき、前者のものについては図20に示すフローでキュービック法やニアリスト法の補間処理を実行するし、後者のものについては図21に示すフローでパターンマッチングによる補間処理を実行する。図22は、このようにして種別毎に1ラインを読み出す状況を示しており、属性情報仮想描画面に基づいて色情報仮想描画面の各画素が非メタコマンド画素(「N」)であるかメタコマンド画素(「C」「B」)であるかを判断しながら画素を拾い出していく。なお、このときに予め背景画素として初期化しておいた上で拾い出した画素情報をあてはめていく。
【0104】
また、補間処理を実行するには水平方向の画素の並びだけでは不十分であり、垂直方向の画素の情報も必要となってくる。従って、図23に示すように、実際には4ライン分の画素を読み出してはワークエリアに記憶し、補間処理を実行することになる。この例で4ライン分としているのは、上述したキュービック法やパターンマッチングにおいて4×4画素の正方16画素を一つの処理単位とするためであり、必要に応じて適宜増減可能である。
【0105】
ところで、上述したパターンマッチングによる補間処理ではメタコマンド画素として付されていたドットが消去されることがある。このドットはノイズとして生じていたドットであるから、消去することによってメタコマンド画素は本来の輪郭を取り戻すことになる。しかし、消去されるドットを別の画素で埋め合わす処理は実行していない。従って、種別の異なる画素が隣接しているときにドットが消去されれば、そこには隙間が生じかねない。
【0106】
このような場合に予め隣接する画像について領域を拡大させておけば、もう一方の画像にてついて補間処理したときに境界部分が背景画素が生じても下地には隣接画像領域の画素が生成されているので隙間が見えてしまうことがなくなる。
【0107】
このため、非メタコマンド画素については、ステップST202にて境界延長処理を実行する。この境界延長処理は、予め、画素の周縁でその境界を広げておく処理である。図22には非メタコマンド画素が読み出されたときに背景画素に隣接する画素について一画素分だけ外側に複写することにより境界延長処理を実行している。
【0108】
図24は、このようにして境界延長した後で補間処理される場合の対策を示している。同図(a)は9画素のうちの3画素(A〜C)に画素情報が含まれ、残りの6画素は背景画素となっている。そして、同図(b)に示すように、境界に隣接する一画素について境界の外側に複写することにより、境界を延長している。境界延長しない場合には補間処理しても同図(c)に示すようになるだけであるが、境界を延長しておいてから補間処理する場合には同図(d)に示すように本来の境界が外側に広がる。これにより、隣接する画素に対して下地を作っておくことになる。なお、この例では一画素分だけ外側に境界を延長しているが、隣接するメタコマンド画素についてパターンマッチングで消去されるドット数に応じた必要な画素数分だけ境界を延長すればよい。
【0109】
ステップST202ではこのような意味で境界延長処理を施しておき、ステップST204にてキュービック法によって補間処理する。すなわち、メタコマンド画素を識別して読み出し、自然画などに対して最適な補間処理を実行することができる。
【0110】
ここで、図20に示すフローでは、一点鎖線で自然画か否かの判断処理と、ニアリスト法による補間処理を示している。上述したように本実施形態においては、ビットマップ画像をメタコマンド画素と判断するものの、さらに画像が自然画であるか否かを判断しても良いことを示した。従って、メタコマンド画素についての種別が分かるようにして仮想領域に書き込んでおくとともに、ステップST208にて自然画であるか否かを判断し、自然画であれば上述したようにステップST204にてキュービック法による補間処理を実行するし、自然画でなければステップST210にてニアリスト法による補間処理を実行するようにしてもよい。
【0111】
一方、メタコマンド画素についてはステップST306にてパターンマッチングで補間処理する。これにより、文字についてはノイズとして生じていたドットが消去されて美しい線の文字となるし、ビジネスグラフについては不自然なドットのない滑らかな画像となり、最適な補間処理を実行できる。
【0112】
メタコマンド画素については、補間処理の際にドットの欠けが生じることがあるが、その対策は隣接する非メタコマンド画素について境界延長しておくとともに、メタコマンド画素を上書きすることで対処している。すなわち、非メタコマンド画素については、補間処理を終えた後、ステップST206にて先書き込みを行ない、メタコマンド画素については、補間処理を終えた後、ステップST308にて後書き込みを行う。なお、図20および図21のフローチャートでは、これらのステップST206とステップST308を一点鎖線で表している。これは実際にはこれらの処理が図4のフローチャートに示すステップST108の補間画像重ね合わせ処理に該当するからである。
【0113】
ステップST206の先書き込みの処理とステップST308の後書き込みの処理が意味するところは、非メタコマンド画素とメタコマンド画素とを分離してそれぞれ別個のワークエリアにおいて画素補間した後、それぞれを合体せしめるにあたり、境界延長した非メタコマンド画素を先に書き込み、元のメタコマンド画素に対応した補間処理を実現したメタコマンド画素を後に書き込むということである。この場合、先に書き込んである画素と後に書き込む画素とが重ならない場合は先に書き込んである画素は残るものの、重なる場合は後に書き込む画素が残ることになる。従って、両者が隣接する境界で後に書き込む側の境界形状が変化したとしても下地が表れることはない。むろん、背景画素については上書きする必要が無く、上書きされるのは背景画素以外の画素であることは当然である。
【0114】
この先後の順序は重ね合わせ処理の際の優先処理の一態様である。かかる優先処理の書き込み制御は実際のプログラムにおいてはテクニックによってどのようにでもなる。このため、実質的に優先処理が維持されればよく、先後に限らず他の手法で同様の処理を実現するようにしても良い。
【0115】
補間処理された画素を重ね合わせたら、ステップST110ではRGBからCMYKへの色座標を変換するために色補正を実行し、ステップST112ではカラープリンタ17bにおける階調表現が二階調であることに鑑みてハーフトーン処理を実行する。そして、ステップST114ではカラープリンタ17bに対して印刷データを出力することになる。
【0116】
以上はプリンタドライバ12cについて説明しているが、ディスプレイドライバ12bについても同様に実行可能である。
【0117】
このように、メタコマンドに対応して生成される画素について元のメタコマンドを考慮して補間処理することにより、補間処理した画像自体は向上するもののその境界領域が隣接画素と一致しなくなる不自然さを解消すべく、非メタコマンド画素については境界を延長して補間処理するととともに、両者の重なり部分でメタコマンド画素を優先させるようにしたため、延長された境界のほとんどは隣接領域の下地となって隠れてしまいつつも、境界形状の変化が生じた場合には背景画素が生じてしまうことを防止することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる画像データ補間装置のクレーム対応図である。
【図2】同画像データ補間装置の具体的ハードウェアのブロック図である。
【図3】本発明の画像データ補間装置の他の適用例を示す概略ブロック図である。
【図4】本発明の画像データ補間装置におけるメインフローチャートである。
【図5】仮想描画面への書き込みを示す模式図である。
【図6】仮想描画面での色情報と属性情報の対比を示す模式図である。
【図7】キュービック法の概念図である。
【図8】ニアリスト法の概念図である。
【図9】ニアリスト法で各格子点のデータが移行される状況を示す図である。
【図10】ニアリスト法の補間前の状況を示す概略図である。
【図11】ニアリスト法の補間後の状況を示す概略図である。
【図12】バイリニア法の概念図である。
【図13】補間関数の変化状況を示す図である。
【図14】色情報仮想描画面に書き込まれた文字画像を示す図である。
【図15】パターンマッチングによって補間情報を得る状況を示す図である。
【図16】文字において生じるノイズのドットをパターンマッチングによって消去する過程を示す図である。
【図17】倍率が異なる場合のパターンマッチングによって補間情報を得る状況を示す図である。
【図18】パターンマッチングによって色の割り振り情報を含む補間情報を得る状況を示す図である。
【図19】パターンマッチングの具体的データ処理手法を示す図である。
【図20】本発明の画像データ補間装置における非メタコマンド画素の補間処理のフローチャートである。
【図21】本発明の画像データ補間装置におけるメタコマンド画素の補間処理のフローチャートである。
【図22】画像データを種別毎に読み出す状況と境界延長処理を示す図である。
【図23】画像データを種別毎にバッファに読み出す状況を示す図である。
【図24】境界延長処理で境界が延長する状況を示す図である。
【符号の説明】
10…コンピュータシステム
11a…スキャナ
11b…デジタルスチルカメラ
11c…ビデオカメラ
12…コンピュータ本体
12a…オペレーティングシステム
12b…ディスプレイドライバ
12b…ドライバ
12c…プリンタドライバ
12d…アプリケーション
13a…フロッピーディスクドライブ
13b…ハードディスク
13c…CD−ROMドライブ
14a…モデム
15a…キーボード
15b…マウス
17a…ディスプレイ
17a1…ディスプレイ
17b…カラープリンタ
17b1…カラープリンタ
17b2…カラープリンタ
19a…ネットワークコンピュータ
19b…テレビモニタ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image data interpolation device for interpolating image data composed of pixels in a dot matrix, an image data interpolation method, and a medium on which an image data interpolation program is recorded.
[0002]
[Prior art]
When an image is handled by a computer or the like, the image is represented by dot matrix pixels, and each pixel is represented by a gradation value. For example, photographs and computer graphics are often displayed on a computer screen with 640 dots in the horizontal direction and 480 dots in the vertical direction.
[0003]
On the other hand, the performance of color printers has been remarkably improved, and the dot density is extremely high, such as 720 dpi. In this case, when an image of 640 × 480 dots is printed in correspondence with each dot, the size becomes extremely small. In this case, since the tone value is different and the meaning of the resolution itself is different, it is necessary to interpolate between dots and convert the data into printing data.
[0004]
Conventionally, as a method of interpolating dots in such a case, a nearest neighbor interpolation method (hereinafter, referred to as a nearest neighbor method) or a cubic convolution interpolation method (a cubic convolution interpolation: hereinafter, A method such as the cubic method) is known. Japanese Patent Application Laid-Open No. 6-225140 discloses a technique in which a dot pattern is prepared so as to form an enlarged form in which the edge is smooth when smoothing the edge when dots are interpolated. ing.
[0005]
[Problems to be solved by the invention]
The above-described conventional interpolation technique has the following problems.
[0006]
Various methods such as the near-list method and the cubic method have advantages and disadvantages depending on the type of processing target. On the other hand, recently, a single document to be printed often includes a plurality of types of processing targets. Of the quality will be reduced.
[0007]
On the other hand, in the invention disclosed in Japanese Patent Application Laid-Open No. 6-225140, the number of patterns is enormous on the premise of a color image, and it is difficult to prepare in advance.
[0008]
Further, when generating a pixel with a low resolution, a noise pixel may be generated due to an arithmetic error or the like in the meta command pixel, but the noise pixel is accurately enlarged by the interpolation process.
[0009]
The present invention has been made in view of the above problems, and has an image data interpolation apparatus, an image data interpolation method, and an image data interpolation program capable of obtaining a good-looking interpolation result when a plurality of types of processing targets are included. The purpose of this is to provide a medium on which is recorded.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, image data corresponding to a meta-command and other image data are input and rendered in a virtual area in a predetermined order while being distinguishable from each other. Virtual rendering means, and non-meta-command pixel interpolation means for performing interpolation processing so as to obtain a predetermined interpolation magnification by expanding the peripheral area when reading pixels corresponding to image data other than the meta-command from the virtual area, A meta command pixel interpolating means for generating an interpolated pixel corresponding to an original meta command when reading a pixel corresponding to a meta command from the virtual area and performing an interpolation process at the interpolation magnification; The interpolation result of the pixel interpolation means and the interpolation result of the meta command pixel interpolation means are synthesized, and the There interpolation result of de-pixel interpolation means a structure comprising a superposition means for priority.
[0011]
In the invention according to claim 1 configured as described above, when the virtual drawing means inputs the image data corresponding to the meta command and the other image data, they are superimposed in a predetermined order so that they can be identified. To draw in the virtual area. Then, the non-meta-command pixel interpolating means reads out the pixels corresponding to the image data other than the meta-command from the virtual area and performs the interpolation processing so as to have a predetermined interpolation magnification. To process. Therefore, an interpolated image wider than the original area is obtained. On the other hand, the meta command pixel interpolating means also reads out the pixel corresponding to the meta command from the virtual area and performs the interpolation processing so as to have the above interpolation magnification. The interpolation pixel is generated as follows. The superposition means combines the interpolation result of the non-metacommand pixel interpolation means with the interpolation result of the metacommand pixel interpolation means, and gives priority to the interpolation result of the metacommand pixel interpolation means in the overlapping portion.
[0012]
That is, although the image of the metacommand is a group of pixels in a so-called dot matrix in the virtual area, the interpolation process has a smooth contour shape corresponding to the original metacommand in the interpolation process. It has to be changed from before interpolation processing. If the shape of the contour changes, there may be a portion that overlaps at the boundary with an image other than the adjacent meta command, or a portion where a gap may occur. On the other hand, since images other than the meta-command are generated wider than originally expected, a gap is less likely to occur, and a smooth contour shape remains because the meta-command image is prioritized in the overlapping portion. Will be.
[0013]
Here, the meta command means a command that indicates the shape in a vector. Therefore, in the case of a drawing application, the command is interpreted to draw a figure or the like, and the image quality does not deteriorate even if the enlargement or reduction is repeated. On the other hand, in other images, information of each pixel is given at the time of drawing, and the information is lost at the time of reduction, and does not return to the original state even if it is enlarged. In this sense, the metacommand targets not only images but also characters.
[0014]
Even a metacommand having such a property cannot always maintain its characteristics as a process in a computer. Therefore, if it is represented as a set of pixels at a certain point in time, the subsequent processing is inevitably subjected to the same processing as other images. However, if it is known whether or not the image has been drawn by the meta command, there is room for changing the interpolation method in the expanding interpolation processing. For example, in the case of a meta command, it is considered that the boundary should be substantially smoothed for interpolation. On the other hand, it is not always possible to determine whether smoothing is appropriate for other images. Therefore, if the interpolation processing is performed according to different policies, the boundary shape after the interpolation processing may deviate. The present invention has been created against such a background.
[0015]
On the other hand, the virtual drawing means draws in the virtual area based on the image data corresponding to the meta command and the other image data, and each of them can be identified. Various methods can be adopted as a method of making such identification possible. For example, an attribute area may be separately provided so that the type of each data in the virtual area can be written, or The attribute may be embedded in the data. When the number of colors can be reduced, a certain bit can be assigned to an attribute.
[0016]
The non-meta-command pixel interpolating means reads out the pixels corresponding to the image data other than the meta-command from the virtual area and performs an interpolation process. For example, if the type of the image data can be determined from the attribute area, the pixel corresponding to the image data other than the meta command is read out while selecting with reference to the attribute area, and the pixel is interpolated by the corresponding interpolation processing.
[0017]
Various types of interpolation processing can be adopted. For example, the cubic interpolation processing is appropriate for natural images, and the near-list method is appropriate for non-natural images such as computer graphics. .
[0018]
The non-meta-command pixel interpolating means expands the peripheral area to perform the interpolation processing, and various specific processings are performed for expanding the peripheral area. As an example, the invention according to claim 2 is the image data interpolation device according to claim 1, wherein the non-metacommand pixel interpolation unit converts the information of the pixels in the peripheral area into the information of the pixels outside the area. There is a configuration to use.
[0019]
In the invention according to claim 2 configured as described above, the peripheral area is expanded, but there is no pixel information there. Therefore, the information of the pixels in the peripheral area is used as the information of the pixels in the expanded area. . Therefore, the information may be copied and used as it is, or may be copied while being changed step by step. Further, copying may be performed in the work area, and it is sufficient that the copying machine is used substantially without actually performing the copying operation. Although the size of the area to be expanded in this way is not particularly limited, it depends on the unevenness of the boundary generated when the metacommand pixel interpolating unit generates a pixel, and a concave portion occurs in the pixel of the metacommand. It suffices if the gap does not occur at the time of superposition. For example, when pixel information is read line by line from the virtual area, a process of expanding both ends of the pixel of the meta command by one pixel is sufficient.
[0020]
The meta command pixel interpolation means also selects and reads out a pixel corresponding to the meta command from the virtual area. This meta command pixel interpolation means generates an interpolation pixel so as to correspond to the original meta command. For example, when considered as an image, it may correspond to smooth boundaries or sharp corners.
[0021]
On the other hand, a metacommand representing a character includes graphic information that is complicatedly bent in a small area, and therefore has a feature that extra dots are likely to occur due to calculation accuracy when generating pixels. As a preferred example in view of such a feature, the invention according to claim 3 is the image data interpolation device according to any one of claims 1 and 2, wherein the meta command pixel interpolation means represents a character. In performing the interpolation processing of the meta-command, a configuration is adopted in which noise pixels at the time of pixel generation based on the meta-command are deleted and pixel interpolation is performed.
[0022]
In the invention according to claim 3 configured as described above, when generating a pixel based on a metacommand representing a character, it is determined whether or not the pixel is a noise pixel. Is erased and pixel interpolation is performed. Whether or not the pixel is a noise pixel can be generally determined from the characteristics of the character. For example, one pixel protrudes even though it is a straight line portion, there is a pixel that protrudes unnaturally at a portion where two sides intersect, or there is a pixel that protrudes unnaturally at the end of a curved portion. That is, it means a pixel or the like that can be generated around a connected part when a character is represented by a plurality of vector data.
[0023]
In addition, since the interpolation process is a two-dimensional process, it is necessary to read pixels correspondingly when reading from a virtual area. As an example, the invention according to claim 4 is the image data interpolation apparatus according to any one of claims 1 to 3, wherein the meta-command pixel interpolation means reads a plurality of lines from the virtual area when reading the pixels from the virtual area. It is configured to read the pixels of the minute and perform the interpolation processing.
[0024]
In the invention according to claim 4 configured as described above, in order to implement two-dimensional interpolation processing, image data of a plurality of lines is read and subjected to interpolation processing.
[0025]
Various kinds of interpolation processing can also be adopted by the meta command pixel interpolation means. However, the process can be classified in advance in order to generate the interpolated pixel so as to correspond to the original metacommand, for example, by considering the presence or absence of the noise pixel as described above. As a preferred example in such a case, the invention according to claim 5 is the image data interpolation device according to claim 4, wherein the meta command pixel interpolation means determines whether or not pixel information exists in an area of a predetermined size. Pattern data that includes corresponding pattern data and interpolated pixel information of a predetermined interpolation magnification corresponding to each pattern data, reads out the pixels of the corresponding area from the virtual area, sets it as comparison data, and matches the pattern data to match the pattern data Is configured to perform an interpolation process based on the interpolation pixel information prepared corresponding to.
[0026]
In the invention according to claim 5 configured as described above, an interpolation process is executed by pattern matching for a small area having a predetermined size. That is, pattern data corresponding to the presence or absence of pixel information is prepared corresponding to the same area, and pixels in the corresponding area are read out from the virtual area and used as comparison data. Then, interpolation processing is performed based on interpolation pixel information of a predetermined interpolation magnification prepared corresponding to the pattern data subjected to pattern matching. Therefore, it is possible to prepare the pixel of the noise that can be expected as the pattern data, and prepare the interpolation pixel information in which the noise pixel is deleted corresponding to the pattern data.
[0027]
In such pattern matching, when performing a new pattern matching by moving the attention area, it is complicated to update all the comparison data. For this reason, the invention according to claim 6 is the image data interpolation device according to claim 5, wherein the meta command pixel interpolating means includes a rectangular area having the number of pixels corresponding to a data width that can be simultaneously processed. The configuration is such that a new pixel row in the direction in which the target rectangular area is moved is incorporated into the comparison data by a first-in first-out process, and matching with the pattern data is continued.
[0028]
In the invention according to claim 6 configured as described above, if the rectangular area has the number of pixels with respect to the data width that can be processed simultaneously, pattern matching can be performed by one operation for one area. Further, when performing new pattern matching by moving the attention area, it is not always necessary to update all the comparison data, and a new pixel row in the moving direction is incorporated into the comparison data by first-in first-out processing. More specifically, the pattern matching of 4 × 4 pixels is compared with the pattern data of 16 pixels. If this square area is moved by one pixel, the information of the pixels in three rows is substantially changed. Instead, the presence / absence of four pixels in one row on the front side in the movement direction is included as comparison data, and the presence / absence of four pixels in one row on the rear side is excluded. Therefore, by first-in-first-out of the comparison data for the four pixels, it is not necessary to update all the comparison data.
[0029]
If pattern matching is to be applied to a color image, it cannot be determined only by the presence or absence of pixels, so that it would be impractical to prepare pattern data for each color. On the other hand, according to a seventh aspect of the present invention, in the image data interpolating device according to any one of the fifth and sixth aspects, the meta command pixel interpolating means uses the interpolation pixel information corresponding to the pattern data as It is configured to include color allocation information of each pixel in the comparison data.
[0030]
In the invention according to claim 7 configured as described above, the pattern data is matched with the comparison data indicating the presence or absence of a pixel, but the interpolation pixel information referred to in the case of matching includes color allocation information. Therefore, this allocation realizes interpolation by pattern matching for a substantially color image.
[0031]
On the other hand, the superposition means combines the interpolation result of the non-metacommand pixel interpolation means with the interpolation result of the metacommand pixel interpolation means, and gives priority to the interpolation result of the metacommand pixel interpolation means in the overlapping portion.
[0032]
As one example of the process of giving priority to one of the above, the invention according to claim 8 is the image data interpolation device according to any one of claims 1 to 7, wherein the superimposing unit includes the non-metacommand pixel. After the interpolation result of the interpolation means is first written into a predetermined area, pixels other than the background pixel in the interpolation result of the meta command pixel interpolation means are overwritten.
[0033]
In the invention according to claim 8 configured as described above, if the interpolation result of the non-metacommand pixel interpolation unit and the interpolation processing result of the metacommand pixel interpolation unit are temporarily held in different areas, What is necessary is just to superimpose the interpolation processing result held in the area in a predetermined order, and to write the interpolation result in the output area while sequentially performing the interpolation processing according to the predetermined order. Is also good.
[0034]
In this way, for image data other than the meta-command, the peripheral area is expanded, and for image data corresponding to the meta-command, an interpolation pixel is generated so as to correspond to the original meta-command. The method of giving priority to the corresponding image data is not necessarily limited to a substantial device, and it can be easily understood that the method also functions as the method.
[0035]
For this reason, the invention according to claim 9 is an image data interpolation method for increasing the number of constituent pixels based on image data in which an image is represented by a dot matrix pixel and drawn, wherein the image data corresponding to the meta command is provided. And a step of inputting image data other than the above and drawing them in a predetermined order so as to be identifiable, and a peripheral area when reading pixels corresponding to image data other than the meta command from the virtual area. A step of performing interpolation processing so as to have a predetermined interpolation magnification after expanding the pixel, and reading out a pixel corresponding to the meta command from the virtual area and performing the interpolation processing so as to have the interpolation magnification according to the original meta command. Generating the interpolated pixel so as to perform the interpolation and the interpolation corresponding to the meta command in the overlapping portion when synthesizing the interpolation result based on both steps. It is constituted comprising a step of synthesizing give priority to the fruit.
[0036]
In other words, there is no difference that the present invention is not necessarily limited to a substantial device and is effective as a method.
[0037]
By the way, such an image data interpolating device may exist alone or may be used in a state of being incorporated in a certain device. The idea of the present invention is not limited to this, but includes various aspects. It is a thing. Therefore, it can be changed as appropriate, such as software or hardware.
[0038]
When the software of the image data interpolating device is realized as an example of realizing the idea of the present invention, it naturally exists on a recording medium on which such software is recorded, and it must be said that the software is used.
[0039]
As an example, the invention according to claim 10 is an interpolation processing program that executes an interpolation process by a computer so as to increase the number of constituent pixels based on image data that is rendered by expressing an image by dot matrix pixels. A step of inputting image data corresponding to the metacommand and other image data and superimposing them in a predetermined order so that they can be identified; and When reading out the pixels corresponding to the image data other than the above, expanding the peripheral area and performing an interpolation process so as to have a predetermined interpolation magnification, and reading out the pixels corresponding to the meta command from the virtual area and performing the interpolation magnification Generating an interpolated pixel so as to correspond to the original meta-command when performing the interpolating process so that In the overlapping portion in the synthesis of the results and it is constituted comprising the step of combining by priority to interpolation results corresponding to the meta-command.
[0040]
Of course, the recording medium may be a magnetic recording medium or a magneto-optical recording medium, and any recording medium to be developed in the future can be considered in the same manner. Further, the duplication stages of the primary duplicated product, the secondary duplicated product and the like are equivalent without any question.
[0041]
Further, even when a part is implemented by software and a part is implemented by hardware, there is no difference in the concept of the invention, and a part is stored on a recording medium and appropriately It may be in a form that can be read.
[0042]
【The invention's effect】
As described above, according to the present invention, even if a process of actively performing smoothing of a boundary shape in an image interpolation process for a meta command is performed, a gap or the like does not occur at a boundary portion, so that a good-looking interpolation result can be obtained. Can be provided.
[0043]
Further, according to the second aspect of the invention, the process of expanding the peripheral area is simplified.
[0044]
Furthermore, according to the third aspect of the present invention, it is possible to eliminate noise pixels that are likely to appear in meta commands representing characters.
[0045]
Further, according to the fourth aspect of the present invention, the interpolation processing can be realized by reading the image data of a plurality of lines.
[0046]
Further, according to the invention according to claim 5, it is easy to realize the interpolation processing corresponding to the original meta-command in the interpolation processing by the pattern matching.
[0047]
Furthermore, according to the invention of claim 6, pattern matching can be performed extremely easily and efficiently.
[0048]
Further, according to the seventh aspect of the present invention, it is possible to perform an interpolation process by pattern matching even in a color image.
[0049]
Further, according to the invention according to claim 8, the adjustment is made according to the order, so that the processing is simplified.
[0050]
Further, according to the ninth aspect of the invention, it is possible to provide an image data interpolation method having the same effect, and according to the tenth aspect of the invention, it is possible to provide a medium recording an interpolation processing program having the same effect. .
[0051]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0052]
FIG. 1 is a claim correspondence diagram showing the image data interpolation device of the present invention.
[0053]
In data processing performed by a computer or the like, an image is represented by pixels in a dot matrix, and image data is composed of a group of data representing each pixel. The image here is not limited to a so-called bitmap image such as a photograph or a computer graphic, but also includes an image drawn by a so-called meta command such as a character or a business graph. Although both bitmap-based images and meta-command-based images are common in the sense that they are images, the drawing properties are slightly different, and the compatibility with the interpolation processing is different depending on the properties.
[0054]
In view of such a difference in the drawing properties, when the virtual drawing means C1 inputs the image data corresponding to the meta command and the other image data, they are superimposed in a predetermined order so as to be identifiable in the virtual area. draw. Then, the non-meta-command pixel interpolation means C2 reads out the pixels corresponding to the image data other than the meta-command from the virtual area and performs the interpolation processing so as to have a predetermined interpolation magnification. Perform interpolation processing. Therefore, an interpolated image wider than the original area is obtained. On the other hand, the meta command pixel interpolating means C3 also reads out the pixel corresponding to the meta command from the virtual area and performs the interpolation processing so as to have the interpolation magnification. Is generated so as to correspond to. The superimposing means C4 combines the interpolation result of the non-metacommand pixel interpolating means C2 with the interpolation result of the metacommand pixel interpolating means C3. Priority.
[0055]
In the present embodiment, the computer system 10 is employed as an example of hardware for realizing such an image data interpolation device.
[0056]
FIG. 2 shows the computer system 10 in a block diagram.
[0057]
The computer system 10 includes a scanner 11a, a digital still camera 11b, and a video camera 11c as image input devices, and is connected to a computer main body 12. Each input device is capable of generating image data representing an image by dot matrix pixels and outputting the image data to the computer main unit 12. Here, the image data is displayed in 256 gradations in three primary colors of RGB. , About 16.7 million colors can be expressed.
[0058]
The computer main body 12 is connected to a floppy disk drive 13a, a hard disk 13b, and a CD-ROM drive 13c as external auxiliary storage devices. The hard disk 13b stores main programs related to the system. Necessary programs and the like can be appropriately read from a CD-ROM or the like.
[0059]
Also, a modem 14a is connected as a communication device for connecting the computer main body 12 to an external network or the like. The modem 14a is connected to the external network via the same public communication line, and software and data can be downloaded and introduced. Has become. In this example, the modem 14a accesses the outside through a telephone line. However, a configuration in which a network is accessed through a LAN adapter is also possible. In addition, a keyboard 15a and a mouse 15b for operating the computer main body 12 are also connected.
[0060]
Further, a display 17a and a color printer 17b are provided as image output devices. The display 17a has a display area of 800 pixels in the horizontal direction and 600 pixels in the vertical direction, and can display the above-mentioned 16.7 million colors for each pixel. Of course, this resolution is merely an example, and can be changed as appropriate, such as 640 × 480 pixels or 1024 × 720 pixels.
[0061]
The color printer 17b is an ink jet printer, and is capable of printing an image with dots on printing paper as a recording medium using four color inks of CMYK. The image density can be printed at a high density of 360 × 360 dpi or 720 × 720 dpi, but the gradation table has a two-gradation expression such as whether or not to apply color ink.
[0062]
On the other hand, a predetermined program is executed in the computer main body 12 in order to display or output an image output device while inputting an image using such an image input device. Of these, an operating system (OS) 12a is operating as a basic program, and the operating system 12a performs a print output to a display driver (DSP DRV) 12b for displaying on a display 17a and a color printer 17b. A printer driver (PRT DRV) 12c to be installed is incorporated. These drivers 12b and 12c depend on the model of the display 17a and the color printer 17b, and can be additionally changed to the operating system 12a according to each model. In addition, additional functions beyond standard processing can be realized depending on the model. That is, it is possible to realize various additional processes within an allowable range while maintaining a common processing system on the standard system of the operating system 12a.
[0063]
The application 12d is executed on the operating system 12a as the basic program. The processing contents of the application 12d are various, monitor the operation of the keyboard 15a and the mouse 15b as operation devices, and when operated, appropriately control various external devices to execute corresponding arithmetic processing, Further, the processing result is displayed on the display 17a or output to the color printer 17b.
[0064]
In the computer system 10, a photograph or the like can be read by the scanner 11a, which is an image input device, to acquire image data. The application 12d such as a word processor can paste not only sentences but also read photographic images or paste a business graph based on a spreadsheet result. The integrated document created in this manner can be displayed and output on a display 17a or a color printer 17b as an image output device. Such an integrated document is different in terms of characters, photographs, and business graphs, but is common in that an image is formed by a collection of pixels.
[0065]
In displaying the integrated document, the pixels displayed on the display 17a cannot correspond to the pixels of the color printer 17b as they are. This is because the pixel density generated by the application 12d and displayed on the display 17a does not match the pixel density of the color printer 17b. Of course, they may coincide with each other, but in many cases, the pixel density of the color printer 17b whose pixel density is improved for higher image quality is higher than that of the general display 17a. It is.
[0066]
For this reason, resolution conversion is performed in order to eliminate the difference in the actual pixel density of each device while determining the reference pixel density in the operating system 12a. For example, when the resolution of the display 17a is 72 dpi and the operating system 12a is based on 360 dpi, the display driver 12b performs resolution conversion between the two, and the resolution of the color printer 17b is 720 dpi. If there is, the printer driver 12c performs resolution conversion.
[0067]
Since the resolution conversion corresponds to a process of increasing the number of constituent pixels in image data, it corresponds to an interpolation process, and the display driver 12b and the printer driver 12c perform the interpolation process as one of the functions.
[0068]
In the present embodiment, as described in detail below, the display driver 12b or the printer driver 12c writes an image in a virtual area based on input image data. And other pixels can be distinguished. Then, pixels are read out from the virtual screen for each type, interpolated by an appropriate interpolation method and superimposed to generate a final image, which is output to the display 17a and the color printer 17b.
[0069]
In this sense, the display driver 12b and the printer driver 12c constitute the above-described virtual drawing means C1, non-metacommand pixel interpolating means C2, metacommand pixel interpolating means C3, and superimposing means C4. The display driver 12b and the printer driver 12c are stored in the hard disk 13b, and are read and operated by the computer main body 12 at the time of startup. At the time of introduction, it is recorded on a medium such as a CD-ROM or a floppy disk and installed. Therefore, these media constitute a medium on which the image data interpolation program is recorded.
[0070]
In the present embodiment, the image data interpolation device is realized as the computer system 10, but such a computer system is not always required. Similarly, the pixel drawn by the meta command and the other pixels are not used. Any system that requires interpolation processing may be used. For example, FIG. 3 shows a network computer 19a, which is connected to an external wide area network via a public telephone line or the like. In such a wide area network, image data having various different drawing characteristics including character information and photographic images are transmitted and received. The network computer 19a acquires such image data and displays it on the television monitor 19b as appropriate, or displays the image data. Can output to a printer that does not. Also in this case, when it is necessary to convert the image resolution, or when the operator wants to enlarge a part by his / her intention, the image is displayed by performing interpolation processing corresponding to an operation such as zooming.
[0071]
Further, the interpolation processing may be performed not on the computer side but on the display output device side. In the case of a color printer, for example, print data in a script format may be input, and the above-described interpolation processing may be executed when the print data is adjusted to its own print resolution.
[0072]
FIG. 4 shows a software flow related to the resolution conversion executed by the printer driver 12c described above.
[0073]
In step ST102, image data is input and sorted according to the superposition. That is, an image read from the scanner 11a by the application 12d, characters input by the keyboard 15a, and a business graph created by spreadsheet software are combined as one integrated document. In this case, overlapping occurs. In particular, in the field of DTP, images and characters are often superimposed directly to create a single picture, but in this case, superposition is complicated. Of course, the superimposed lower layer image is not visible, but exists on the data, and the data is again superimposed in the printer driver 12c. The concept of a layer is used when each image is superimposed, and the commands of the image data are sorted so as to be arranged in the upper and lower layers, and the image data is prepared for writing from the lower layer.
[0074]
In the next step 104, based on the image data rearranged in this way, writing is performed on a virtual drawing surface as a virtual area. This writing on the virtual drawing surface is schematically shown in FIG. After the commands of the image data are sorted based on the arrangement of the layers, the corresponding drawing functions are called to write data for each pixel in the color information virtual drawing surface and the attribute information virtual drawing surface allocated to the memory. In the color information virtual rendering surface, three bytes corresponding to the red, green, and blue color components are allocated to each pixel, and a memory area for the number of pixels in the horizontal direction × the number of pixels in the vertical direction is allocated.
[0075]
On the other hand, the attribute information virtual rendering surface enables each pixel to determine whether it is “character (C)” or “business graph (B)” among the “non-metacommand pixel (N)” and the metacommand pixel. One byte is assigned to each pixel and attribute identification codes ("N", "C", "B") are written. Specifically, here, the bitmap image data is processed as non-metacommand pixels. Bitmap image data includes not only photographs but also computer graphics. In particular, these may be divided and the interpolation process may be changed, or a constant interpolation process may be applied uniformly. It is possible to distinguish image or computer graphics by analyzing image data.For example, when the number of colors used is large, it is determined to be a natural image, and when the number of colors used is small, It can also be determined as a non-natural image. This is because a natural image is counted as a plurality of colors even if the object has the same color due to shading or the like.
[0076]
FIG. 6 shows the correspondence between the color information virtual drawing surface written in this way and the attribute information virtual drawing surface. Assuming one horizontal line at the reference resolution, the color of the pixel is written for each pixel and the type of the pixel is also written. Therefore, it is possible to select a pixel of a non-metacommand pixel, a pixel of a character, or a pixel of a business graph from the write information of the attribute information.
[0077]
In this example, the attribute information is written on the virtual drawing surface separately from the color information. However, the present invention is not necessarily limited to such a method. For example, another byte may be used as attribute information in addition to the color information, and 4 bytes may be assigned to each pixel. Further, a screen for writing the overlay information and a screen for writing the color information for each type may be separated, and the overlay may be performed with reference to the overlay information at the time of the overlay.
[0078]
In step ST106, image data is read from the virtual drawing surface shown in FIG. 5 for each type of image, and an optimal interpolation process according to the type of image is executed. Here, each method of the interpolation processing prepared in the present embodiment will be described.
[0079]
As an interpolation process suitable for a natural image such as a photograph, which is an example of a non-metacommand pixel, an interpolation process using a cubic method can be executed. As shown in FIG. 7, the cubic method uses data of a total of 16 grid points including not only four grid points surrounding a point Puv to be interpolated but also grid points around one point. A general expression using a cubic convolution function is as follows.
[0080]
(Equation 1)
Figure 0003560124
[0081]
It becomes.
[0082]
The cubic method has a feature that the gradual change gradually occurs as one grid point approaches the other grid point, and the degree of the change becomes a so-called cubic function.
[0083]
As an interpolation process suitable for a non-natural image such as computer graphics, which is another example of a non-metacommand pixel, a near-list interpolation process can be executed. In the near-list method, as shown in FIG. 8, the distance between the surrounding four grid points Pij, Pi + 1j, Pij + 1, Pi + 1j + 1 and the point Puv to be interpolated is obtained, and the data of the closest grid point is transferred as it is. If this is represented by a general formula,
Puv = Pij
Here, i = [u + 0.5} and j = [v + 0.5}. [] Indicates that a Gaussian symbol takes an integer part.
[0084]
FIG. 9 shows a situation where the number of pixels is vertically and horizontally tripled by the near-list method. For the pixel to be interpolated, the data of the closest pixel among the first four corner pixels is transferred as it is. Therefore, the original image in which black pixels are arranged obliquely with white pixels as a background as shown in FIG. 10 has a relationship in which black pixels are arranged three times vertically and horizontally and obliquely as shown in FIG. Is held.
[0085]
The near-list method has a feature that an edge of an image is held as it is. Therefore, if the image is enlarged, the edge is retained as an edge although the shaggy is conspicuous. On the other hand, in other interpolation processing, the pixel to be interpolated is changed smoothly using data of surrounding pixels. Therefore, while shaggy is not conspicuous, the information of the original image is cut off, and edges are lost, which is not suitable for non-natural images such as computer graphics and business graphs.
[0086]
In the present embodiment, the above-described near-list method and cubic method are used. However, in order to understand these characteristics, another interpolation method, a bilinear interpolation method (bilinear interpolation: hereinafter, referred to as a bilinear method). ) Will be described.
[0087]
The bilinear method is similar to the cubic method in that it gradually changes from one grid point to the other as shown in FIG. 12, but the change depends only on the data of the grid points on both sides. In that it is linear. That is, a region partitioned by four grid points Pij, Pi + 1j, Pij + 1, and Pi + 1j + 1 surrounding a point Puv to be interpolated is divided into four partitions by the interpolated point Puv, and data on diagonal positions is weighted by the area ratio. I do. Expressing this as an equation,
P = {(i + 1) -u} (j + 1) -v} Pij
+ {(I + 1) -u} {v-j} Pij + 1
+ {U-i} (j + 1) -v @ Pi + 1j
+ {U-i} {v-j} Pi + 1j + 1
It becomes. Note that i = [u] and j = [v].
[0088]
Both the cubic method and the bilinear method are common in that they gradually change from one grid point to the other grid point, but whether the change is a cubic function or a linear function. Differently, when viewed as an image, the difference is large. FIG. 13 is a diagram two-dimensionally showing the difference between the interpolation results in the near-list method, the cubic method, and the bilinear method in order to facilitate understanding. In the figure, the horizontal axis indicates the position, and the vertical axis indicates the interpolation function. Grid points exist at positions of t = 0, t = 1, and t = 2, and interpolation points are at positions of t = 0 to 1.
[0089]
In the case of the bilinear method, since the boundary only changes linearly between two adjacent points (t = 0 to 1), the boundary is smoothed, and the impression of the screen is blurred. That is, unlike the smoothing of the corners, when the boundary is smoothed, the contour which should be originally in computer graphics disappears, and the focus becomes loose in a photograph.
[0090]
On the other hand, in the cubic method, not only the two points adjacent to each other (t = 0 to 1) draw a chevron-shaped protrusion but gradually approach each other, and further, the outside (t = 1 to 2) between the two points. It has the effect of pushing down. That is, a certain edge portion is changed so as to have a large difference in height such that no step is formed, and this has a favorable effect that in a photograph, no step is formed while increasing sharpness. However, in computer graphics, the meaning of an edge does not mean an analog change, so it is not preferable.
[0091]
Next, a description will be given of an interpolation process of pattern matching suitable for the meta-command pixel.
[0092]
FIG. 14 shows a character image written on the color information virtual drawing surface. Characters are also composed of dot matrix pixels arranged in the horizontal direction and the vertical direction. As shown in FIG. 15, dots (●) become image pixels and dots (dots) represent backgrounds as shown in FIG. Pixel.
[0093]
In the pattern matching, 16 pixels, which is a square area of 4 × 4 pixels as shown in FIG. 15, are matched as one area with pattern data prepared in advance, and a square area of 4 pixels of 2 × 2 pixels on the inside is matched. , An interpolation pixel is generated. The reason why the reference is made to the pixels on the one side outside even though it is a square area of four pixels is that the interpolation result for the square area of four pixels also changes depending on the presence or absence of surrounding pixels. FIG. 15 also shows two pattern data that match when viewed as four pixels, but differ when viewed as sixteen pixels. In pattern data A, dots are arranged vertically and project one dot horizontally. In the pattern data B, dots are not added around the pattern data B, and dots are added to three of the four pixels. In the pattern data A, it is preferable to use a chevron-shaped dot as a whole in order to show a protruding image, but it is preferable to use a three-pixel pattern so as to represent a triangle. Therefore, the corresponding interpolated pixel patterns also differ.
[0094]
By the way, when calling a drawing function according to image data and writing data for each pixel to the color information virtual drawing surface and the attribute information virtual drawing surface, pixels to be written are specified for non-metacommand pixels, For the meta-command pixel, the pixel to be written by the drawing function is obtained by calculation. Due to such a property, it is possible to draw a graphic of an arbitrary size by changing the parameter of the command on the application 12d side. However, when a plurality of commands correspond to one figure like a character, a pixel as noise may be generated. In other words, dots are not generated at a certain magnification, but meaningless dots are generated at another magnification. In particular, it is likely to occur at a connection point of a line drawn by a plurality of commands. Of course, it is preferable that there is no dot as such noise.
[0095]
FIG. 16 shows a method of eliminating dots as noise employed in the present embodiment. FIG. 3A shows an original image. Although a part of the character is shown, it can be seen that it is a corner of a frame-like figure, and it can be imagined that it is a connection point of a plurality of drawing commands. Of course, it is not always necessary to be a connection point.
[0096]
Looking at the dot surrounded by the two-dot chain line, it does not seem that this dot is particularly necessary. This is because other portions seem to show a line having a width of 2 dots, and it is difficult to assume that it is necessary to attach a dot that protrudes at the corner. That is, it seems appropriate to judge that this dot should not be added as shown in FIG. Of course, such a determination cannot be made simply when the area becomes smaller. However, in a case where 16 pixels are collectively compared with the pattern data as in the present embodiment, such a determination can be made incidentally. It becomes.
[0097]
Under such a premise, the interpolated pixel information on the assumption that there is no dot as shown in FIG. Let it be. Then, through the pattern matching, the pixel as noise generated when the meta command pixel is interpreted and drawn, as if it were found and deleted in the conversion process, and correspond to the original meta command pixel. Thus, the same result as when the interpolated pixel is generated can be obtained.
[0098]
Obviously, such dot elimination can be applied to metacommands in general. Therefore, if a dot that appears to be noise occurs in a square range of 16 pixels, the pattern data may be associated with interpolation pixel information as if the dot had been deleted. However, a character has a special feature that a large number of drawing commands are applied to a small area. Therefore, it can be said that a dot as a noise is easily generated, and the noise is relatively easily specified.
[0099]
A plurality of sets of interpolated pixel patterns are prepared for each magnification, and FIG. 17 shows an example of a case where the set is 1.5 times in the vertical and horizontal directions.
[0100]
By the way, if pattern matching is to be made to correspond to color data, an extremely large number of pattern data must be prepared even for an example of four pixels. That is, a combination corresponding to the permutation of the number of possible colors of each pixel occurs. However, in the present embodiment, the problem was solved by comparing patterns based on the presence or absence of dots and assigning colors to correspond to color data. FIG. 18 shows an example. The comparison with the pattern data of 16 pixels is performed in the same manner as in the previous example. For 4 pixels, the color of each pixel is assigned to which of the interpolation pixels. As a result, pre-processing for determining the color of the interpolation pixel is not required, and the number of pattern data is reduced, so that the processing amount and the resource amount are extremely reduced.
[0101]
On the other hand, FIG. 19 shows a more specific method of pattern matching based on 16 pixels. FIG. 9A shows the arrangement of the original pixels to be subjected to the interpolation processing, and the pattern matching is performed while shifting the small area of 16 pixels. At this time, it is not necessary to update all information of 16 pixels every time the small area is moved. FIG. 7A shows 16 pixels "EFGHIJKLMNOPQRST" as pixels, and FIG. 7B shows a data register area such as a CPU for processing this. By indicating whether or not each pixel has a dot by 1-bit “1” or “0”, pattern matching is possible if the data width is 16 bits. When the small area is moved by one pixel as shown in FIG. 7A, four pixels “ABCD” are newly included in the small area, and four pixels “QRST” are small. You will be out of range. Then, it is only necessary to shift by 4 bits in the data register area and introduce 4 bits corresponding to 4 pixels of “ABCD” into 4 bits on the LSB side as shown in FIG.
[0102]
In other words, if 16 bits are used as an address for the pattern data arrangement, the matching process is a process of simply specifying the address, and the interpolation pixel information can be obtained as it is.
[0103]
Assuming that the above-described interpolation processing can be performed, in step ST106, an image is read out for each type and interpolation processing is performed. Here, it can be roughly classified into non-meta-command pixels and meta-command pixels. For the former, interpolation processing of the cubic method or the near-list method is executed according to the flow shown in FIG. 20, and for the latter, FIG. An interpolation process by pattern matching is executed according to the flow shown in FIG. FIG. 22 shows a situation in which one line is read for each type in this way. Whether each pixel of the color information virtual drawing surface is a non-metacommand pixel (“N”) based on the attribute information virtual drawing surface Pixels are picked up while determining whether they are meta-command pixels (“C” and “B”). Note that, at this time, pixel information that has been initialized and previously extracted as background pixels is applied.
[0104]
Further, horizontal pixel arrangement alone is not enough to execute the interpolation processing, and information on vertical pixels is also required. Therefore, as shown in FIG. 23, pixels of four lines are actually read, stored in the work area, and the interpolation process is executed. In this example, four lines are used because 16 square pixels of 4 × 4 pixels are used as one processing unit in the above-described cubic method or pattern matching, and can be increased or decreased as needed.
[0105]
By the way, in the interpolation processing by the above-described pattern matching, the dots attached as the meta-command pixels may be deleted. Since this dot has been generated as noise, erasing the meta command pixel restores its original contour. However, the process of filling the dot to be erased with another pixel is not executed. Therefore, if a dot is erased when pixels of different types are adjacent to each other, a gap may be formed there.
[0106]
In such a case, if the area of the adjacent image is enlarged in advance, even if a background pixel occurs at the boundary portion when the interpolation processing is performed on the other image, the pixel of the adjacent image area is generated on the background. So that the gap does not become visible.
[0107]
Therefore, for the non-metacommand pixel, the boundary extension processing is executed in step ST202. This boundary extension process is a process of expanding the boundary at the periphery of a pixel in advance. In FIG. 22, when the non-meta-command pixel is read, the boundary extension processing is executed by copying one pixel outside the pixel adjacent to the background pixel outward.
[0108]
FIG. 24 shows a countermeasure in the case where interpolation processing is performed after the boundary is extended in this way. In FIG. 9A, three of the nine pixels (A to C) contain pixel information, and the remaining six pixels are background pixels. Then, as shown in FIG. 2B, the boundary is extended by copying one pixel adjacent to the boundary outside the boundary. If the boundary is not extended, even if the interpolation processing is performed, the result is only as shown in FIG. 9C. However, if the interpolation processing is performed after the boundary is extended, as shown in FIG. The boundary extends outward. As a result, a base is created for adjacent pixels. In this example, the boundary is extended outward by one pixel, but the boundary may be extended by the required number of pixels corresponding to the number of dots to be erased by pattern matching for the adjacent meta command pixel.
[0109]
In step ST202, boundary extension processing is performed in this sense, and in step ST204, interpolation processing is performed by the cubic method. That is, it is possible to identify and read out the meta-command pixel, and execute the optimal interpolation processing on a natural image or the like.
[0110]
Here, the flow illustrated in FIG. 20 illustrates a process of determining whether or not the image is a natural image by an alternate long and short dash line, and an interpolation process by a near-list method. As described above, in the present embodiment, the bitmap image is determined to be a meta-command pixel, but it may be further determined whether or not the image is a natural image. Therefore, the type of the meta-command pixel is written in the virtual area so as to be known, and whether or not the pixel is a natural image is determined in step ST208. If the pixel is a natural image, the cubic pixel is determined in step ST204 as described above. Alternatively, the interpolation process may be performed using the near-list method in step ST210 if the image is not a natural image.
[0111]
On the other hand, for the meta command pixel, an interpolation process is performed by pattern matching in step ST306. As a result, for a character, dots that have been generated as noise are erased to produce a beautiful line character, and for a business graph, a smooth image without unnatural dots is obtained, and optimal interpolation processing can be performed.
[0112]
In the case of meta command pixels, missing dots may occur during the interpolation process. The countermeasure is to extend the boundary of adjacent non-meta command pixels and overwrite the meta command pixels. . That is, for the non-meta-command pixels, after the interpolation processing is completed, pre-writing is performed in step ST206, and for the meta-command pixels, after the interpolation processing is completed, post-writing is performed in step ST308. In the flowcharts of FIGS. 20 and 21, these steps ST206 and ST308 are represented by dashed lines. This is because these processes actually correspond to the interpolated image superimposing process of step ST108 shown in the flowchart of FIG.
[0113]
The meaning of the pre-writing process of step ST206 and the post-writing process of step ST308 is that the non-metacommand pixel and the metacommand pixel are separated and interpolated in separate work areas, and then combined. That is, the non-meta-command pixel whose boundary has been extended is written first, and the meta-command pixel that has achieved the interpolation processing corresponding to the original meta-command pixel is written later. In this case, if the previously written pixel and the later written pixel do not overlap, the previously written pixel remains, but if it overlaps, the later written pixel remains. Therefore, even if the boundary shape on the side to be written later changes at the boundary where both are adjacent, the background does not appear. Of course, it is not necessary to overwrite the background pixels, and it is natural that the pixels to be overwritten are pixels other than the background pixels.
[0114]
This order is a mode of priority processing in the superimposition processing. Such a write control of the priority processing can be performed in any way in the actual program depending on the technique. Therefore, it is sufficient that the priority processing is substantially maintained, and the same processing may be realized by another method without limitation.
[0115]
After the pixels subjected to the interpolation processing are superimposed, color correction is performed in step ST110 to convert the color coordinates from RGB to CMYK. Perform halftone processing. Then, in step ST114, print data is output to the color printer 17b.
[0116]
Although the above description has been given of the printer driver 12c, the same can be applied to the display driver 12b.
[0117]
As described above, by performing interpolation processing on a pixel generated in response to a metacommand in consideration of the original metacommand, the interpolated image itself is improved, but the boundary region does not match an adjacent pixel. In order to solve the problem, for non-metacommand pixels, the boundary is extended and interpolation processing is performed, and metacommand pixels are prioritized in the overlapping part of both, so most of the extended boundary becomes the base of the adjacent area It is possible to prevent the background pixel from being generated when the boundary shape is changed while being hidden.
[Brief description of the drawings]
FIG. 1 is a diagram corresponding to a claim of an image data interpolation device according to an embodiment of the present invention.
FIG. 2 is a block diagram of specific hardware of the image data interpolation device.
FIG. 3 is a schematic block diagram showing another application example of the image data interpolation device of the present invention.
FIG. 4 is a main flowchart in the image data interpolation device of the present invention.
FIG. 5 is a schematic diagram showing writing on a virtual drawing surface.
FIG. 6 is a schematic diagram showing a comparison between color information and attribute information on a virtual drawing surface.
FIG. 7 is a conceptual diagram of the cubic method.
FIG. 8 is a conceptual diagram of a near-list method.
FIG. 9 is a diagram showing a situation in which data of each grid point is transferred by the near list method.
FIG. 10 is a schematic diagram showing a situation before interpolation in a near-list method.
FIG. 11 is a schematic diagram showing a situation after interpolation in the near-list method.
FIG. 12 is a conceptual diagram of a bilinear method.
FIG. 13 is a diagram showing a change state of an interpolation function.
FIG. 14 is a diagram showing a character image written on a color information virtual drawing surface.
FIG. 15 is a diagram showing a situation in which interpolation information is obtained by pattern matching.
FIG. 16 is a diagram illustrating a process of eliminating noise dots generated in a character by pattern matching.
FIG. 17 is a diagram showing a situation in which interpolation information is obtained by pattern matching when the magnification is different.
FIG. 18 is a diagram showing a situation in which interpolation information including color allocation information is obtained by pattern matching.
FIG. 19 is a diagram showing a specific data processing method of pattern matching.
FIG. 20 is a flowchart of non-metacommand pixel interpolation processing in the image data interpolation device of the present invention.
FIG. 21 is a flowchart of a meta command pixel interpolation process in the image data interpolation device of the present invention.
FIG. 22 is a diagram illustrating a situation in which image data is read for each type and a boundary extension process.
FIG. 23 is a diagram illustrating a situation in which image data is read into a buffer for each type.
FIG. 24 is a diagram illustrating a situation in which a boundary is extended in a boundary extension process.
[Explanation of symbols]
10. Computer system
11a ... Scanner
11b Digital still camera
11c ... Video camera
12 ... Computer body
12a: Operating system
12b ... display driver
12b ... driver
12c: Printer driver
12d… Application
13a: Floppy disk drive
13b ... Hard disk
13c: CD-ROM drive
14a… Modem
15a ... Keyboard
15b… Mouse
17a ... Display
17a1 ... Display
17b ... Color printer
17b1 ... Color printer
17b2 ... Color printer
19a: Network computer
19b… TV monitor

Claims (10)

メタコマンドに対応する画像データとこれ以外の画像データとを入力してそれぞれを識別可能としつつ所定の順序で重ね合わせて仮想領域に描画する仮想描画手段と、
上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出す際に周縁領域を広げておいて所定の補間倍率となるように補間処理する非メタコマンド画素補間手段と、
上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理する際に元のメタコマンドに対応するように補間画素を生成するメタコマンド画素補間手段と、
上記非メタコマンド画素補間手段の補間結果と上記メタコマンド画素補間手段の補間結果とを合成するとともにその重なり部分において上記メタコマンド画素補間手段の補間結果を優先させる重ね合わせ手段とを具備することを特徴とする画像データ補間装置。
Virtual drawing means for inputting image data corresponding to the meta-command and other image data and superimposing them in a predetermined order and drawing them in a virtual area while enabling each to be identified;
Non-meta-command pixel interpolation means for expanding the peripheral area when reading pixels corresponding to image data other than the meta-command from the virtual area and performing interpolation processing so as to have a predetermined interpolation magnification,
A meta-command pixel interpolating unit that reads out a pixel corresponding to a meta-command from the virtual area and generates an interpolated pixel so as to correspond to the original meta-command when performing an interpolation process so as to have the interpolation magnification;
Superimposing means for synthesizing the interpolation result of the non-metacommand pixel interpolating means and the interpolation result of the metacommand pixel interpolating means and giving priority to the interpolation result of the metacommand pixel interpolating means in an overlapping portion thereof. Characteristic image data interpolation device.
上記請求項1に記載の画像データ補間装置において、上記非メタコマンド画素補間手段は、周縁領域の画素の情報を当該領域の外方の画素の情報に利用することを特徴とする画像データ補間装置。2. The image data interpolating apparatus according to claim 1, wherein said non-metacommand pixel interpolating means uses information on pixels in a peripheral area as information on pixels outside the area. . 上記請求項1または請求項2のいずれかに記載の画像データ補間装置において、上記メタコマンド画素補間手段は、文字を表すメタコマンドを補間処理するにあたり、メタコマンドに基づく画素生成時におけるノイズの画素を消去して画素補間することを特徴とする画像データ補間装置。3. The image data interpolating device according to claim 1, wherein the meta command pixel interpolating means interpolates a meta command representing a character and generates a pixel of noise when generating a pixel based on the meta command. An image data interpolation apparatus characterized in that pixel interpolation is performed by deleting the image data. 上記請求項1〜請求項3のいずれかに記載の画像データ補間装置において、上記メタコマンド画素補間手段は、上記仮想領域から上記画素を読み出すにあたって複数ライン分の画素を読み込んで補間処理することを特徴とする画像データ補間装置。The image data interpolation device according to any one of claims 1 to 3, wherein the meta-command pixel interpolation means reads pixels of a plurality of lines and performs an interpolation process when reading the pixels from the virtual area. Characteristic image data interpolation device. 上記請求項4に記載の画像データ補間装置において、上記メタコマンド画素補間手段は、所定の大きさの領域における画素情報の有無に対応するパターンデータと各パターンデータに対応する所定の補間倍率の補間画素情報を備えるとともに、上記仮想領域から対応する領域の画素を読み出して比較データとし、同パターンデータとマッチングさせてマッチングしたパターンデータに対応して用意されている補間画素情報に基づいて補間処理することを特徴とする画像データ補間装置。5. The image data interpolating apparatus according to claim 4, wherein the meta command pixel interpolating means interpolates the pattern data corresponding to the presence or absence of the pixel information in the area of the predetermined size and the predetermined interpolation magnification corresponding to each pattern data. Pixel information is provided, and pixels in the corresponding area are read out from the virtual area as comparison data, and are subjected to interpolation processing based on interpolation pixel information prepared corresponding to the matched pattern data by matching the same pattern data. An image data interpolation device characterized by the above-mentioned. 上記請求項5に記載の画像データ補間装置において、上記メタコマンド画素補間手段では、上記パターンデータが同時処理可能なデータ幅に対する画素数の矩形領域であるとともに、対象となる矩形領域を移動させる方向における新たな画素列を先入れ先出し処理で上記比較データに組み入れてパターンデータとのマッチングを継続することを特徴とする画像データ補間装置。6. The image data interpolating apparatus according to claim 5, wherein the meta command pixel interpolating means is a rectangular area having a number of pixels corresponding to a data width that can be simultaneously processed, and the target rectangular area is moved. 3. The image data interpolation apparatus according to claim 1, wherein a new pixel column is incorporated in said comparison data by a first-in first-out process to continue matching with pattern data. 上記請求項5または請求項6のいずれかに記載の画像データ補間装置において、上記メタコマンド画素補間手段では、上記パターンデータに対応する補間画素情報は上記比較データにおける各画素の色の割り振り情報を含むことを特徴とする画像データ補間装置。In the image data interpolation device according to any one of claims 5 and 6, in the meta command pixel interpolation means, the interpolation pixel information corresponding to the pattern data is the color allocation information of each pixel in the comparison data. An image data interpolation apparatus characterized by including: 上記請求項1〜請求項7のいずれかに記載の画像データ補間装置において、上記重ね合わせ手段は、上記非メタコマンド画素補間手段の補間結果を先に所定領域に書き込んだ後で上記メタコマンド画素補間手段の補間結果における背景画素以外の画素を上書きすることを特徴とする画像データ補間装置。8. The image data interpolating apparatus according to claim 1, wherein the superimposing means writes the interpolation result of the non-meta-command pixel interpolating means in a predetermined area first, and then outputs the meta-command pixel. An image data interpolation device for overwriting pixels other than the background pixel in the interpolation result of the interpolation means. 画像をドットマトリクス状の画素で表現して描画する画像データに基づいてその構成画素数を増やす画像データ補間方法であって、
メタコマンドに対応する画像データとこれ以外の画像データとを入力してそれぞれを識別可能なように所定の順序で重ね合わせて描画する工程と、
上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出す際に周縁領域を広げておいて所定の補間倍率となるように補間処理する工程と、
上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理する際に元のメタコマンドに対応するように補間画素を生成する工程と、
両工程に基づく補間結果とを合成する際にその重なり部分において上記メタコマンドに対応する補間結果を優先させて合成する工程とを具備することを特徴とする画像データ補間方法。
An image data interpolation method for increasing the number of constituent pixels based on image data to be rendered by expressing an image with pixels in a dot matrix,
A step of inputting image data corresponding to the meta command and other image data, and superimposing and drawing in a predetermined order so that each can be identified;
When reading out the pixels corresponding to the image data other than the meta-command from the virtual area, expanding the peripheral area and performing an interpolation process so as to have a predetermined interpolation magnification,
A step of generating an interpolated pixel so as to correspond to the original metacommand when reading a pixel corresponding to a metacommand from the virtual area and performing an interpolation process so as to have the interpolation magnification;
A step of combining the interpolation results based on the two steps and giving priority to the interpolation result corresponding to the meta command in an overlapping portion thereof, and combining them.
画像をドットマトリクス状の画素で表現して描画する画像データに基づいてその構成画素数を増やすようにコンピュータにて補間処理を実行する補間処理プログラムを記録した媒体であって、
メタコマンドに対応する画像データとこれ以外の画像データとを入力してそれぞれを識別可能なように所定の順序で重ね合わせて描画するステップと、
上記仮想領域からメタコマンド以外の画像データに対応する画素を読み出す際に周縁領域を広げておいて所定の補間倍率となるように補間処理するステップと、
上記仮想領域からメタコマンドに対応する画素を読み出して上記補間倍率となるように補間処理する際に元のメタコマンドに対応するように補間画素を生成するステップと、
両工程に基づく補間結果とを合成する際にその重なり部分において上記メタコマンドに対応する補間結果を優先させて合成するステップとを具備することを特徴とする画像データ補間プログラムを記録した媒体。
A medium that records an interpolation processing program that executes an interpolation processing by a computer so as to increase the number of constituent pixels based on image data that is drawn by expressing an image with pixels in a dot matrix shape,
Inputting image data and other image data corresponding to the meta command, and superimposing and drawing in a predetermined order so that each can be identified;
When reading pixels corresponding to image data other than the meta command from the virtual area, expanding the peripheral area and performing an interpolation process so as to have a predetermined interpolation magnification;
A step of generating an interpolated pixel so as to correspond to the original metacommand when reading a pixel corresponding to a metacommand from the virtual area and performing an interpolation process so as to have the interpolation magnification;
A step of combining the interpolation results based on the two processes and giving priority to the interpolation result corresponding to the meta command in an overlapping portion thereof, and combining the results.
JP09900798A 1998-04-10 1998-04-10 Image data interpolation device, image data interpolation method, and medium recording image data interpolation program Expired - Fee Related JP3560124B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP09900798A JP3560124B2 (en) 1998-04-10 1998-04-10 Image data interpolation device, image data interpolation method, and medium recording image data interpolation program
PCT/JP1999/001853 WO1999053441A1 (en) 1998-04-10 1999-04-08 Image data interpolating device, image data interpolating method, and medium on which image data interpolating program is recorded
EP99913574A EP1018706A4 (en) 1998-04-10 1999-04-08 Image data interpolating device, image data interpolating method, and medium on which image data interpolating program is recorded
US09/445,475 US6611632B1 (en) 1998-04-10 1999-04-08 Device and method for interpolating image data and medium on which image data interpolating program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09900798A JP3560124B2 (en) 1998-04-10 1998-04-10 Image data interpolation device, image data interpolation method, and medium recording image data interpolation program

Publications (2)

Publication Number Publication Date
JPH11296671A JPH11296671A (en) 1999-10-29
JP3560124B2 true JP3560124B2 (en) 2004-09-02

Family

ID=14234999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09900798A Expired - Fee Related JP3560124B2 (en) 1998-04-10 1998-04-10 Image data interpolation device, image data interpolation method, and medium recording image data interpolation program

Country Status (1)

Country Link
JP (1) JP3560124B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898864B2 (en) 1999-12-22 2007-03-28 メディアテック インコーポレイテッド Image conversion method, image processing apparatus, and image display apparatus

Also Published As

Publication number Publication date
JPH11296671A (en) 1999-10-29

Similar Documents

Publication Publication Date Title
KR100320298B1 (en) Image processing method and system
JP3166977B2 (en) Pipeline configuration of full-color computer graphics
JPH1098619A (en) Method for changing edge position of continuous tone image smaller
JPH08235367A (en) Antialiasing method by gray masking technique
WO1994022101B1 (en) Method and system for image processing
JP4274238B2 (en) Image processing apparatus, image processing method, and computer program
JP5202281B2 (en) Image processing apparatus and image processing method
US6591020B1 (en) Antialiazed high-resolution frame buffer architecture
US6611632B1 (en) Device and method for interpolating image data and medium on which image data interpolating program is recorded
JP4387907B2 (en) Image processing method and apparatus
JP3111971B2 (en) Image data interpolation apparatus, image data interpolation method, and medium recording image data interpolation program
JP2001169098A (en) Medium recording output picture data correction program, output picture data correction method, output picture data correction device, medium recording picture data reduction program, picture data reduction method, picture data reduction device, medium recording picture data correction program and method and device for correcting picture data
JP3560124B2 (en) Image data interpolation device, image data interpolation method, and medium recording image data interpolation program
JP2000076432A (en) Image data interpolation device and method therefor, and medium having recorded image data interpolation program thereon
JP4109740B2 (en) Convolutional scanning line rendering
JP4164215B2 (en) Image processing method, apparatus, and recording medium
JPH0512402A (en) Character edition processing method for electronic filing system
JPH0457570A (en) Picture processor
JP2005235205A (en) Compositing with clip-to-self functionality without using shape channel
JP3741183B2 (en) Image data interpolation apparatus, image data interpolation method, and medium on which image data interpolation program is recorded
JP3503136B2 (en) Pixel interpolation device and pixel interpolation method
JP3957292B2 (en) Image processing program and recording medium therefor
JP2004334533A (en) Image processing device and method
JPH0594511A (en) Image processor
JPH11317865A (en) Device and method for interpolating picture data, and medium for recording picture data interpolating program

Legal Events

Date Code Title Description
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: 20040506

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040519

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110604

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110604

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees