(57)【要約】【課題】  １ラインで構成するソースイメージデータを拡大した図形を高速に描画する。【解決手段】  描画データ解析部３は、ソースイメージを解析し、１ピクセルの幅もしくは高さのソースイメージを、ソースイメージをライン方向に対して垂直方向に並べて拡大したイメージ処理であるかを判定する。描画処理部４は、描画データ解析部３の判定結果に従い、ソースイメージを格納するソースイメージバッファ４−１、１ライン分の画像処理後のイメージを格納するラインバッファ４−２およびデスティネーションイメージバッファ４−３を確保し、該ラインバッファ４−２に１ライン分の描画処理結果を格納し、描画処理結果をライン単位でデスティネーションイメージバッファ４−３にコピーすることによりイメージを描画する。【選択図】    図１
2007026285.tif 000002
【特許請求の範囲】
【請求項１】
描画元となるソースイメージに対して画像処理を施してデスティネーションイメージを生成する画像処理装置であって、
前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることを検出する検出手段と、
前記検出手段により前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることが検出されると、前記デスティネーションイメージの高さもしくは幅のサイズのラインバッファをメモリ上に確保するラインバッファ確保手段と、
前記ソースイメージの１ラインに対して画像処理を行う画像処理手段と、
前記画像処理手段により画像処理が施されたデータを前記ラインバッファに格納する格納制御手段と、
前記格納制御手段により前記ラインバッファに格納されたデータを複数回用いて前記デスティネーションイメージを描画する描画手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記描画手段は、前記ラインバッファに格納されたデータをライン単位で複数回複製することにより前記デスティネーションイメージを描画することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記ラインバッファ確保手段は、
前記ソースイメージの高さが１ピクセルであった場合には、前記デスティネーションイメージの幅サイズのラインバッファをメモリ上に確保し、
前記ソースイメージの幅が１ピクセルであった場合には、前記デスティネーションイメージの高さサイズのラインバッファをメモリ上に確保することを特徴とする請求項１記載の画像処理装置。
【請求項４】
描画元となるソースイメージに対して画像処理を施してデスティネーションイメージを生成する画像処理プログラムであって、
前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることを検出する検出ステップと、
前記検出ステップにより前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることが検出されると、前記デスティネーションイメージの高さもしくは幅のサイズのラインバッファをメモリ上に確保するラインバッファ確保ステップと、
前記ソースイメージの１ラインに対して画像処理を行う画像処理ステップと、
前記画像処理手段により画像処理が施されたデータを前記ラインバッファに格納する格納制御ステップと、
前記格納制御手段により前記ラインバッファに格納されたデータを複数回用いて前記デスティネーションイメージを描画する描画ステップと
をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１ラインで構成するソースイメージデータを拡大した図形を描画する画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
従来の画像処理において、ソースイメージデータに対し、演算処理後、デスティネーションバッファへ描画する際、デスティネーションイメージをスキャン変換することにより、各ピクセルに対して対応するソースイメージのピクセルを参照する必要がある。しかしながら、１ラインのソースイメージデータをライン方向に対して垂直向きに拡大したものを描画する場合、スキャン変換でソースイメージ内の同一ピクセルを何度も参照するため効率が悪いという欠点があった。
【０００３】
そこで、グラデーションフィル図形の描画に関し、グラデーションを検知したときに、１ラインのピクセル情報を次のラインのピクセルに複製していく手法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００１−１０１４３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、グラフィックスにより描画命令（中間コード）により新規描画するものを対象とした高速化であり、ピクセルの色を計算してグラディエントなパターンを作成し、複製することでグラデーションを描画するというグラデーションに特化した技術であり、１ラインイメージの拡大といった描画手法に適用することが難しいという問題があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、その目的は、１ラインで構成するソースイメージデータを拡大した図形を高速に描画することができる画像処理装置および画像処理プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、描画元となるソースイメージに対して画像処理を施してデスティネーションイメージを生成する画像処理装置であって、前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることを検出する検出手段と、前記検出手段により前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることが検出されると、前記デスティネーションイメージの高さもしくは幅のサイズのラインバッファをメモリ上に確保するラインバッファ確保手段と、前記ソースイメージの１ラインに対して画像処理を行う画像処理手段と、前記画像処理手段により画像処理が施されたデータを前記ラインバッファに格納する格納制御手段と、前記格納制御手段により前記ラインバッファに格納されたデータを複数回用いて前記デスティネーションイメージを描画する描画手段とを具備することを特徴とする。
【０００７】
本発明は、上記の発明において、前記描画手段は、前記ラインバッファに格納されたデータをライン単位で複数回複製することにより前記デスティネーションイメージを描画することを特徴とする。
【０００８】
本発明は、上記の発明において、前記ラインバッファ確保手段は、前記ソースイメージの高さが１ピクセルであった場合には、前記デスティネーションイメージの幅サイズのラインバッファをメモリ上に確保し、前記ソースイメージの幅が１ピクセルであった場合には、前記デスティネーションイメージの高さサイズのラインバッファをメモリ上に確保することを特徴とする。
【０００９】
また、上述した課題を解決するために、本発明は、描画元となるソースイメージに対して画像処理を施してデスティネーションイメージを生成する画像処理プログラムであって、前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることを検出する検出ステップと、前記検出ステップにより前記ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることが検出されると、前記デスティネーションイメージの高さもしくは幅のサイズのラインバッファをメモリ上に確保するラインバッファ確保ステップと、前記ソースイメージの１ラインに対して画像処理を行う画像処理ステップと、前記画像処理手段により画像処理が施されたデータを前記ラインバッファに格納する格納制御ステップと、前記格納制御手段により前記ラインバッファに格納されたデータを複数回用いて前記デスティネーションイメージを描画する描画ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
この発明によれば、検出手段により、ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることを検出し、ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることが検出されると、ラインバッファ確保手段により、デスティネーションイメージの高さもしくは幅のサイズのラインバッファをメモリ上に確保し、画像処理手段により、ソースイメージの１ラインに対して画像処理を行い、格納制御手段により、画像処理が施されたデータを前記ラインバッファに格納し、描画手段により、ラインバッファに格納されたデータを複数回用いてデスティネーションイメージを描画する。したがって、１ラインのスキャン変換のみで済むので、１ラインで構成するソースイメージデータを拡大した図形を高速に描画することができる。
【００１１】
また、本発明によれば、描画手段により、ラインバッファに格納されたデータをライン単位で複数回複製することによりデスティネーションイメージを描画する。１ラインのスキャン変換のみで済むので、１ラインで構成するソースイメージデータを拡大した図形を高速に描画することができる。
【００１２】
また、本発明によれば、ラインバッファ確保手段により、ソースイメージの高さが１ピクセルであった場合には、デスティネーションイメージの幅サイズのラインバッファをメモリ上に確保し、ソースイメージの幅が１ピクセルであった場合には、デスティネーションイメージの高さサイズのラインバッファをメモリ上に確保する。したがって、１ラインのスキャン変換のみで済むので、１ラインで構成するソースイメージデータを拡大した図形を高速に描画することができる。
【００１３】
また、この発明によれば、ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることを検出する検出ステップと、ソースイメージの高さもしくは幅の少なくとも一方が１ピクセルであることが検出されると、デスティネーションイメージの高さもしくは幅のサイズのラインバッファをメモリ上に確保するラインバッファ確保ステップと、ソースイメージの１ラインに対して画像処理を行う画像処理ステップと、画像処理が施されたデータをラインバッファに格納する格納制御ステップと、ラインバッファに格納されたデータを複数回用いてデスティネーションイメージを描画する描画ステップとをコンピュータに実行させる。したがって、１ラインのスキャン変換のみで済むので、１ラインで構成するソースイメージデータを拡大した図形を高速に描画することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態による画像処理装置を、図面を参照して説明する。
図１は、本発明の実施形態による画像処理装置の構成を示すブロック図である。画像処理装置１は、入力部２、描画データ解析部３、描画処理部４、出力部５からなる。入力部２は、ソースイメージを入力する。描画データ解析部３は、入力部２から入力されるソースイメージを解析し、１ラインのソースイメージの拡大イメージ描画命令コードであるか、すなわち、１ピクセルの幅もしくは高さのソースイメージを、ソースイメージをライン方向に対して垂直方向に並べて拡大したイメージ処理であるかを判定する。
【００１５】
描画処理部４は、描画データ解析部３の判定結果に従い、ソースイメージを格納するソースイメージバッファ４−１、１ライン分の画像処理後のイメージを格納するラインバッファ４−２およびデスティネーションイメージバッファ４−３を確保する。また、描画処理部４は、ソースイメージバッファ４−１内のソースイメージ（１ライン分）に対して、色変換などの描画処理（プロセス）を施し、該１ライン分の描画処理結果をラインバッファ４−２に格納し、さらに、ラインバッファ４−２の描画処理結果をライン単位でデスティネーションイメージバッファ４−３にコピーすることによりイメージを描画する。出力部５は、描画された図形を出力する。
【００１６】
次に、上述した本実施形態の動作について説明する。ここで、図２は、本実施形態による画像処理装置の動作を説明するためのフローチャートである。まず、描画データを解析し（ステップＳ１０）、イメージデータであるか否かを判定する（ステップＳ１２）。そして、イメージデータでない場合には当該処理を終了する。一方、イメージデータである場合には、ソースイメージの高さが１ピクセルであるか、またはソースイメージの幅が１ピクセルであるかを判定する（ステップＳ１４）。すなわち、図３、図４に示すような、１ピクセルの幅もしくは高さのソースイメージを、ソースイメージをライン方向に対して垂直方向に並べて拡大してデスティネーションイメージを生成するイメージ処理であるか否かを検知する。
【００１７】
そして、いずれも１ピクセルでない場合には、従来と同様に、図５に示すように、デスティネーションイメージバッファ４−３の全ピクセルをスキャン変換することにより画像処理を行う（ステップＳ１６）。一方、ソースイメージの高さか幅のいずれかでも１ピクセルである場合には、高さが１ピクセルであるか否かを判定する（ステップＳ１８）。
【００１８】
ここで、ソースイメージの高さが１ピクセルである場合、すなわち、高さが１ピクセルのソースイメージを拡大したイメージを描画する場合には、まず、ソースイメージの幅を元にラインバッファのサイズを計算し（ステップＳ２０）、図６に示すように、デスティネーションイメージバッファ４−３の幅サイズのラインバッファ４−２を確保する（ステップＳ２２）。次に、ソースイメージバッファ４−１内のソースイメージに対して、１水平方向ライン（１スキャンライン）分のイメージの描画処理（プロセス）を行い（ステップＳ２４）、該１スキャンライン分の描画演算処理結果をラインバッファ４−２に格納する（ステップＳ２６）。なお、描画処理(プロセス)では、色変換等の画像処理に加えて、伸張処理などが含まれていてもよい。
【００１９】
次に、図７に示すように、ラインバッファ４−２のデータをデスティネーションイメージバッファ４−３の現在の描画対象ラインにコピーし（ステップＳ２８）、デスティネーションイメージの高さの画素数分の処理を行ったか否かを判定する（ステップＳ３０）。そして、高さの画素数分の処理が終わるまで、ステップＳ２８でコピーを繰り返することで描画する。一方。デスティネーションイメージの高さの画素数分の処理が終了すると、当該処理を終了する。
【００２０】
一方、ソースイメージの高さが１ピクセルでない場合、すなわち、幅が１ピクセルのソースイメージを拡大したイメージを描画する場合には、まず、ソースイメージの高さを元にラインバッファのサイズを計算し（ステップＳ３２）、図８に示すように、デスティネーションイメージバッファ４−３の高さサイズのラインバッファ４−２を確保する（ステップＳ３４）。次に、ソースイメージバッファ４−１内のソースイメージに対して、１垂直方向ライン（各スキャンラインの先頭ピクセル）のイメージの描画処理を行い（ステップＳ３６）、該各スキャンラインの先頭ピクセルの描画演算処理結果をラインバッファ４−２に格納する（ステップＳ３８）。なお、描画処理(プロセス)では、色変換等の画像処理に加えて、伸張処理などが含まれていてもよい。
【００２１】
次に、図９に示すように、ラインバッファ４−２のデータをライン単位でデスティネーションイメージバッファ４−３の現在の描画対象ラインにコピーし（ステップＳ４０）、デスティネーションイメージの幅の画素数分の処理を行ったか否かを判定する（ステップＳ４２）。そして、幅の画素数分の処理が終わるまで、ステップＳ４０でコピーを繰り返すことで描画する。一方、デスティネーションイメージの幅の画素数分の処理が終了すると、当該処理を終了する。
【００２２】
上述した実施形態によれば、１ラインで構成されるソースイメージを拡大した図形を描画する場合、１ラインのスキャン変換のみを行い、専用のラインバッファ４−２に格納し、該ラインバッファ４−２のピクセルデータをライン単位でデスティネーションイメージバッファ４−３にコピーを繰り返すことで図形を描画するようにしたので、ピクセル単位の処理に比べて高速に描画することができる。
【００２３】
なお、上述した実施形態においては、上述した描画データ解析部３および描画処理部４などによる一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。すなわち、描画データ解析部３および描画処理部４などにおける、各処理手段、処理部は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
【００２４】
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態による画像処理装置の構成を示すブロック図である。
【図２】本実施形態による画像処理装置の動作を説明するためのフローチャートである。
【図３】１ピクセルの幅のソースイメージを、ソースイメージをライン方向に対して垂直方向に並べて拡大したイメージ処理を説明するための概念図である。
【図４】１ピクセルの高さのソースイメージを、ソースイメージをライン方向に対して垂直方向に並べて拡大したイメージ処理を説明するための概念図である。
【図５】全ピクセルをスキャン変換することにより画像処理を行う場合の様子を示す概念図である。
【図６】ソースイメージの高さが１ピクセルである場合におけるイメージの描画処理を説明するための概念図である。
【図７】ソースイメージの高さが１ピクセルである場合におけるイメージの描画処理を説明するための概念図である。
【図８】ソースイメージの幅が１ピクセルである場合におけるイメージの描画処理を説明するための概念図である。
【図９】ソースイメージの幅が１ピクセルである場合におけるイメージの描画処理を説明するための概念図である。
【符号の説明】
【００２６】
１  画像処理装置
２  入力部
３  描画データ解析部（検出手段）
４  描画処理部（ラインバッファ確保手段、画像処理手段、格納制御手段、描画手段）
４−１  ソースイメージバッファ
４−２  ラインバッファ
４−３  デスティネーションイメージバッファ
５  出力部
【図１】
2007026285.tif 000003
【図２】
2007026285.tif 000004
【図３】
2007026285.tif 000005
【図４】
2007026285.tif 000006
【図５】
2007026285.tif 000007
【図６】
2007026285.tif 000008
【図７】
2007026285.tif 000009
【図８】
2007026285.tif 000010
【図９】
2007026285.tif 000011