[go: up one dir, main page]

JP2019004380A - 画像処理装置とその制御方法、及びプログラム - Google Patents

画像処理装置とその制御方法、及びプログラム Download PDF

Info

Publication number
JP2019004380A
JP2019004380A JP2017118840A JP2017118840A JP2019004380A JP 2019004380 A JP2019004380 A JP 2019004380A JP 2017118840 A JP2017118840 A JP 2017118840A JP 2017118840 A JP2017118840 A JP 2017118840A JP 2019004380 A JP2019004380 A JP 2019004380A
Authority
JP
Japan
Prior art keywords
processing
aliasing
line width
dither
image
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.)
Pending
Application number
JP2017118840A
Other languages
English (en)
Inventor
隆司 矢部
Takashi Yabe
隆司 矢部
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017118840A priority Critical patent/JP2019004380A/ja
Publication of JP2019004380A publication Critical patent/JP2019004380A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color, Gradation (AREA)

Abstract

【課題】従来のアンチエイリアスの技術では、細線の円や斜め線をアンチエイリアスすると、線幅が均一となるが、画素の濃度が中間調(ハーフトーン)となるため、プリンタでは、細線の再現が不安定になり、線がかすれたり、ジャギーが発生する。【解決手段】描画コマンドを解釈してレンダリングする画像処理装置とその制御方法であって、描画コマンドに含まれる、所定の線幅以下の細線を検出し、検出された細線の線幅を所定の線幅に太らせ、その太らせた細線をレンダリングしてアンチエイリアス処理を行う。そして、アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行う。【選択図】 図3

Description

本発明は、画像処理装置とその制御方法、及びプログラムに関する。
PC上で実行されるアプリケーションで作成され、プリンタドライバでPDLコマンドに変換された印刷ジョブを受信して印刷できるプリンタとして、シングルファンクションプリンタ(SFP)やマルチファンクションプリンタ(MFP)が知られている。そのようなアプリケーションでは、描画される細線の太さを種々の太さに指定可能で、プリンタドライバは、その細線を指定するコマンドをプリンタ記述言語に変換する。こうして変換されたプリンタ記述言語は、プリンタ内のコントローラで解釈され、レンダリング処理によってビットマップ化されて印刷される。このとき、円や斜線の場合、同じ太さの細線であっても、印刷すると、描画される線の角度によって太くなったり細くなったりする場合がある。
この対策として、アンチエイリアスという技術が知られている。このアンチエイリアスの一つの実現例を次に示す。目的の解像度よりも高い分解能で描画した高解像度の画像データを生成し、その高解像度の画像データを目的の解像度の画像データに変換(縮小)する。その際、縮小された画像データの各画素に対応する高解像度の画像データの複数画素の濃度の平均値を、縮小された画像データの画素の濃度とすることによって、前景と背景の境界がなめらかな画像を生成できる。また、全ての画素にアンチエイリアス処理を行うのではなく、効果の少ない大きな文字の画素には行わず、小さい文字の画素のみに行うことが記載されている。
特開2006−91280号公報
しかしながら、上記従来技術は、画像データを表示する場合のみの説明で、印刷する画像に関するものではない。また、上述のアンチエイリアスの技術では、画像の複数画素の濃度の平均値を、アンチエイリアス後の画素の濃度とするため、細線の円や斜め線をアンチエイリアスすると、線幅が均一となるが、画素の濃度が中間調(ハーフトーン)となる。即ち、細線が中間調(ハーフトーン)で再現されるため、電子写真のようなプリンタでは、細線の再現が不安定になったり、プリントされた線がかすれたり、ジャギーが発生するという課題があった。
本発明の目的は、上記従来技術の課題を解決することにある。
本発明の目的は、細線にアンチエイリアス処理を行っても、細線の再現が安定し、かすれずにジャギーも発生しない技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
描画コマンドを解釈してレンダリングする画像処理装置であって、
前記描画コマンドに含まれる、所定の線幅以下の細線を検出する検出手段と、
前記検出手段で検出された前記細線の線幅を所定の線幅に太らせる太らせ手段と、
前記太らせ手段により太らせた前記細線をレンダリングしてアンチエイリアス処理を行うアンチエイリアス処理手段と、
前記アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行うディザ処理手段と、を有することを特徴とする。
本発明によれば、細線を太らせた後にアンチエイリアス処理することにより、細線を安定して再現できるようになるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係る印刷装置の構成例を説明するブロック図。 実施形態に係る印刷装置がPDLコマンドを解釈し、ディザ処理を行って印刷するまでの処理を説明するブロック図。 実施形態に係る印刷装置によるPDLデータの処理を説明するフローチャート。 イメージデータにディザ処理を適用した例を説明する図。 実施形態においてアプリケーションが指定した線の太さと傾きの一例を示す図。 線幅が1ドットの線で、従来のアンチエイリアス無しの例と、アンチエイリアス有りの場合の一例を示す図。 実施形態において線幅の太らせ処理を実行したときのレンダリング処理の結果を説明する図。 図7(C)のレンダリング後の画像データに付与されたアンチエイリアスフラグの具体例を説明する図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、本発明に係る画像処理装置を印刷装置を例に説明するが、本発明はこのような印刷装置に限らず、PCやタブレットなどの情報端末や通信装置等にも適用できる。
図1は、本発明の実施形態に係る印刷装置100の構成例を説明するブロック図である。
この印刷装置100は、PC(パーソナルコンピュータ)101で実行されるアプリケーションにより作成された印刷ジョブから、プリンタドライバにより作成されたPDLコマンドをネットワーク102を介して受信する。印刷装置100は、内部バス103で相互に接続されたCPU104、メモリ105、HDD106、表示部107、画像処理部108、印刷部109、ネットワークインタフェース(I/F)110を有している。ネットワークI/F110は、ネットワーク102と接続されている。
CPU104は、HDD106に格納されるプログラムをメモリ(RAM)105に展開し、その展開したプログラムを実行することにより、内部バス103を介して接続された各部を制御してこの印刷装置100を統括的に制御する。またCPU104は、PDLコマンドを解釈し、解釈したPDLデータからビットマップデータを作成するレンダリング処理を行う。メモリ105は、CPU104が、印刷装置100を制御するためにプログラムを展開し、CPU104のワークエリアとして機能するRAMと、ブートプログラムを格納するROMを含んでいる。HDD106は、CPU104により実行される各種プログラムや、PC101等から受信したPDLデータ、レンダリング後のビットマップデータや各種設定データ等を保存する。表示部107は、タッチスクリーン機能を有する表示パネルなどを有し、種々の情報が表示される他、ユーザは、この表示部107に表示される画面を介して各種指示を行うことができる。画像処理部108は、中間調(ハーフトーン)の文字や線などの縁(エッジ)を判定したり、レンダリング後のビットマップデータを印刷装置100で印刷できるようにスクリーン処理の一つであるディザ処理を行う。この画像処理部108は、例えばASIC等のハードウェアで構成されても、或いは、CPU104がプログラムを実行することによりその機能が達成される構成でも良い。印刷部109は、画像処理部108でディザ処理が施されて2値化されたイメージデータを受け取って、紙などに印刷する。ネットワークI/F110は、LANやインターネット等のネットワーク102を介して接続されているPC101との間で、PDLコマンドの受信などの通信を行うためのインタフェースである。
尚、この印刷装置100の構成要素は、上述の内容に限定されない。例えば、タッチスクリーンに代えてユーザが各種操作を行うためのポインティングデバイスやキーボード等を含む入力部を設けてもよく、印刷装置の構成は、その用途等に応じて適宜追加・変更され得る。
図2は、実施形態に係る印刷装置100がPDLコマンドを解釈し、ディザ処理を行って印刷するまでの処理を説明するブロック図である。
PDL処理ブロック210は、CPU104がプログラムを実行して実現するPDL解釈部201、レンダリング処理部202を含んでいる。また画像処理部108の機能は、縁取り処理フラグ生成部203、ディザ処理部204とを含んでいる。尚、この画像処理部108の機能はCPU104が、前述のプログラムを実行して実現しても良い。
PDL解釈部201は、PC101から受信したPDLコマンド(描画コマンド)を解釈し、ビットマップデータにレンダリング処理してPDLデータを生成する。レンダリング処理部202は、PDLデータから印刷部109の解像度に合わせたビットマップデータを生成する。またレンダリング処理部202は、アンチエイリアス処理を適用し、ビットマップデータを作成する際に、ビットマップデータとともに、アンチエイリアス処理を行った部分にアンチエイリアス処理フラグを付与する。
縁取り処理フラグ生成部203は、レンダリング処理後のビットマップデータから、オブジェクトのエッジである縁取り処理を適用する部分に縁取り処理フラグを付与する。また、アンチエイリアス処理を行った部分のアンチエイリアス処理フラグが付与された箇所は、エッジとみなす。そしてそのエッジ部には、縁取り処理を適用したほうがジャギーが減らせるので、アンチエイリアス処理フラグに置き換えて、縁取り処理フラグを付与する。ディザ処理部204は、ビットマップデータの縁取り処理フラグが付与されている箇所に対しては、縁取りに適したジャギーが起こりにくい、平坦化ディザ処理を適用してディザ処理する。また縁取り処理フラグが付与されていないグラフィックやイメージ部に対しては、通常の階調再現に適した通常処理用の階調ディザ処理を適用する。またテキストやライン部は、通常の解像度再現に適した通常処理用の解像度ディザ処理を適用する。
図4は、イメージデータにディザ処理を適用した例を説明する図である。
図4(A)は、元のイメージデータの一例を示す。図4(B)は、平坦化ディザ処理を適用した一例を示し、図4(C)は、階調ディザ処理を適用した一例を示す。図4(B)の平坦化ディザ処理では、ドットの集中がなくジャギーが出にくい特徴がある。また、ここでは平坦化ディザを用いて説明したが、誤差拡散などの、ドットの集中がなくジャギーが発生しにくいディザであればこれに限ったものではない。印刷部109は、このようにディザ処理されたイメージデータに基づいて用紙に画像を印刷する。
図3は、実施形態に係る印刷装置100によるPDLデータの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU104がHDD106からメモリ105に展開したプログラムを実行することにより達成される。
まずS301でCPU104は、PC101から受信したPDLコマンドの中から、例えば図5に示すような線の太さが指定された線の線幅を検出する。
図5は、実施形態においてアプリケーションが指定した線の太さと傾きの一例を示す図で、ここでは線幅が0.5ドットで、傾きが10度の線が描画されている。
そしてCPU104はS301で、その検出した線幅が所定の太さ(2ドット幅)よりも小さいか否かを判定する。ここで、所定の太さの2ドット幅は、あくまでも一例であって、印刷装置100の仕様に合わせて、印刷装置100が安定して再現できる線の太さを予め記憶しておいても良い。
図6は、線幅が1ドットの線で、従来のアンチエイリアス無しの例と、アンチエイリアス有りの場合の一例を示す図である。この線は、アプリケーション上では、例えば図6(A)のように表示されている。そのPDLデータをアンチエイリアス無しでレンダリングすると図6(B)のようになる。その後、ジャギーを減らすスパースムージング処理をした例を図6(D)に示す。アンチエイリアスをしないと図6(D)に示すように、602では、線幅は指定された1ドット幅であるが、601と603では、線幅は2ドット幅となり、場所によって線の太さが異なっている。
また図6(A)のPDLデータを、アンチエイリアス有りでレンダリングすると、図6(C)のようになる。図6(C)では、線が中間調(ハーフトーン)で表され、604〜606のそれぞれでは、線幅は指定された1ドット幅となり、場所に寄らず線の太さが同じになっている。しかし、アンチエイリアス有りの場合では、線が中間調(ハーフトーン)で表現されるため、プリンタエンジンによっては線の再現が厳しく、線がかすれたり消えたりしてしまう。
図6(A)の例では、線幅が1ドット幅であるため、所定の太さ以下と判定されてS301からS302に進むが、そうでないときはS305に進む。S302でCPU104は、PDLコマンドの線幅指定を、所定の太さである、例えば600dpiで2ドット幅にする太らせ処理を行う。例えば、図6(A)の1ドットの線幅を、図7(A)のように2ドット幅に太らせてS303に進む。
図7は、実施形態において、線幅の太らせ処理を実行したときのレンダリング処理の結果を説明する図である。
次にS303に進みCPU104は、所定の線幅以下では、細線の円や斜め線は通常のレンダリング処理では太さが場所によって異なってしまうのを防ぐため、アンチエイリアスレンダリング処理を行う。このアンチエイリアスレンダリング処理は、印刷部109の解像度に応じて、それぞれの画素に線がどのくらい含まれるかが濃淡で表され、その結果、図7(C)のように、アンチエイリアスレンダリング処理されたビットマップデータとなる。図7(C)では、斜め線が中間調(ハーフトーン)で再現され、図7(C)の704〜706では、線の太さが同じになっている。
一方、アンチエイリアスをしないで通常レンダリング処理し、その後ジャギーを減らすスパースムージング処理をした例を図7(D)に示す。図7(D)では、段差の部分のみ中間調(ハーフトーン)になっているのみで、図7(D)の701と702のように、斜め線の線幅が2.5から3.0ドット幅となり、不均一となってしまう。
次にS304に進みCPU104は、S303で作成されたアンチエイリアスレンダリング処理が適用された画素にアンチエイリアスフラグである「1」を付与し、処理が適用されていない部分には「0」を付与してS306に処理を進める。例えば、図7(C)のレンダリング後、画像データに付与するフラグは図8に示すようになる。
図8は、図7(C)のレンダリング後の画像データに付与されたアンチエイリアスフラグの具体例を説明する図である。
一方、S301でCPU104が、線幅が所定の太さ(例えば解像度が600dpiで、2ドット幅)よりも小さくないと判定したときはS305に進む。S305でCPU104は、所定の太さ(例えば2ドット)以下でない線や線以外のオブジェクトを通常のレンダリング処理によりイメージデータの展開してS306に進む。
S306でCPU104は、まずアンチエイリアスフラグがあるか判定し、あると判定した場合はS307に進み、そうでないときはS308に進む。S307でCPU104は、アンチエイリアスフラグを縁取り処理フラグに置き換えてS309に処理を進める。一方、S308でCPU104は、レンダリングされたビットマップデータから、縁取りを行う必要のあるエッジ部かどうか判定する。そしてエッジ部と判定すると縁取り処理フラグとして「1」を付与し、エッジ部と判定しない「0」を付与してS309に処理を進める。
S309でCPU104は、まず縁取り処理フラグが「1」かどうか判定し、縁取り処理フラグが「1」の場合はS310に進み、そうでないときはS311に進む。S310でCPU104は、ハーフトーンのビットマップでもジャギーが発生しにくい図4(A)のような平坦化ディザを使用してディザ処理を行う。ここでは平坦化ディザを用いているが誤差拡散ディザ等のジャギーが目立たないディザでも問題ない。
一方、S311でCPU104は、グラフィックやイメージ部は、通常の階調再現に適した通常処理用の階調ディザでディザ処理を行い、テキストやライン部は、通常の解像度再現に適した通常処理用の解像度ディザでディザ処理を行う。
尚、S310で平坦化ディザを使用するとしたが、ジャギーが目立たないディザであればこれに限らない。また階調ディザは、線数が低い安定したディザで、解像度ディザは線数が高く解像度が高いディザが好ましい。
以上説明したように実施形態によれば、細線の太らせ処理の後にアンチエイリアスレンダリング処理を実施することにより、細線の印刷時、安定して、その細線を再現でき、細線の角度による太さの差をなくすことが可能となる。
またアンチエイリアスレンダリング処理を行った部分を、縁取り処理の適用範囲とすることで、中間調処理で平坦化スクリーンが適用され、中間調(ハーフトーン)でもスクリーンによるジャギーの発生を防ぐことが可能となる。
従って、通常のアンチエイリアスレンダリング処理を行ってプリンタで印刷する際に発生するジャギーやかすれを補正し、細線の角度によらず、均一な線幅で印刷できるようになる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
100…印刷装置、101…PC、104…CPU、105…メモリ、106…HDD、108…画像処理部、109…印刷部、PDL解釈部、202…レンダリング処理部、203…縁取り処理フラグ生成部、204…ディザ処理部

Claims (9)

  1. 描画コマンドを解釈してレンダリングする画像処理装置であって、
    前記描画コマンドに含まれる、所定の線幅以下の細線を検出する検出手段と、
    前記検出手段で検出された前記細線の線幅を所定の線幅に太らせる太らせ手段と、
    前記太らせ手段により太らせた前記細線をレンダリングしてアンチエイリアス処理を行うアンチエイリアス処理手段と、
    前記アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行うディザ処理手段と、
    を有することを特徴とする画像処理装置。
  2. 前記アンチエイリアス処理手段は、目的の解像度よりも高い解像度の画像データでレンダリングし、当該高い解像度の画像データを前記目的の解像度の画像データに縮小し、当該縮小された画像データの各画素の濃度を、前記縮小された画像データの画素に対応する前記高い解像度の画像データの画素の平均値とすることを特徴とする請求項1に記載の画像処理装置。
  3. 前記太らせ手段は、前記所定の線幅以下の細線の描画コマンドの線幅を、前記所定の線幅よりも大きい線幅に設定することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記所定の線幅は、解像度が600dpiで、2ドット幅であることを特徴とする請求項3に記載の画像処理装置。
  5. 前記ディザ処理手段は、平坦化ディザ、或いは誤差拡散ディザによりディザ処理を行うことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記アンチエイリアス処理手段は、前記アンチエイリアス処理を行った画像データの画素に対応づけて、前記アンチエイリアス処理を実行したことを示すフラグを付与し、
    前記ディザ処理手段は、前記フラグが付与された画像に対して前記ディザ処理を行うことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
  7. 前記ディザ処理手段は、更に、前記アンチエイリアス処理を実行した画素の他に、エッジ部と判定した画素に対しても前記ディザ処理を行うことを特徴とする請求項1に記載の画像処理装置。
  8. 描画コマンドを解釈してレンダリングする画像処理装置を制御する制御方法であって、
    前記描画コマンドに含まれる、所定の線幅以下の細線を検出する検出工程と、
    前記検出工程で検出された前記細線の線幅を所定の線幅に太らせる太らせ工程と、
    前記太らせ工程で太らせた前記細線をレンダリングしてアンチエイリアス処理を行うアンチエイリアス処理工程と、
    前記アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行うディザ処理工程と、
    を有することを特徴とする制御方法。
  9. コンピュータを、請求項1乃至7のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
JP2017118840A 2017-06-16 2017-06-16 画像処理装置とその制御方法、及びプログラム Pending JP2019004380A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017118840A JP2019004380A (ja) 2017-06-16 2017-06-16 画像処理装置とその制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017118840A JP2019004380A (ja) 2017-06-16 2017-06-16 画像処理装置とその制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2019004380A true JP2019004380A (ja) 2019-01-10

Family

ID=65006189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017118840A Pending JP2019004380A (ja) 2017-06-16 2017-06-16 画像処理装置とその制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2019004380A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020146851A (ja) * 2019-03-11 2020-09-17 キヤノン株式会社 画像形成装置、その制御方法、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020146851A (ja) * 2019-03-11 2020-09-17 キヤノン株式会社 画像形成装置、その制御方法、およびプログラム
JP7250574B2 (ja) 2019-03-11 2023-04-03 キヤノン株式会社 画像形成装置、その制御方法、およびプログラム

Similar Documents

Publication Publication Date Title
JP3142550B2 (ja) 図形処理装置
JP6202908B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5863001B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP4564986B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
US9715362B2 (en) Print controlling apparatus, image forming apparatus, method of controlling print, method of image forming and computer-readable recording medium
JP2019098580A (ja) 画像形成装置
US8614823B2 (en) Technique for processing print data in parallel using plural raster image processors in order to increase printing speed
JP4522801B2 (ja) 画像処理装置および画像処理装置の制御方法および画像形成装置および画像形成装置の制御装置およびプログラムおよび記録媒体
US20190007582A1 (en) Information processing apparatus, information processing method, and storage medium
JP2019004380A (ja) 画像処理装置とその制御方法、及びプログラム
JP6464695B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2018157270A (ja) 画像処理装置と画像処理方法、及びプログラム
JP2009129342A (ja) 画像処理装置及び方法
US9363414B2 (en) Halftone mechanism
JP5990217B2 (ja) 画像処理装置、画像形成装置、およびそれらの制御方法
WO2013103559A1 (en) Halftone screen generation mechanism
US9978005B2 (en) Printer for drawing bold character, method for controlling the same, and storage medium
JP2017097463A (ja) 印刷制御システム、印刷制御装置およびプログラム
JP2019121870A (ja) 画像処理装置とその制御方法、及びプログラム
JP5526863B2 (ja) プリンタドライバ、及び印刷制御装置
JP6145877B2 (ja) カラーモード判定装置およびプログラム
KR100571788B1 (ko) 문서의 지정영역을 확대 출력하는 방법
RU2405201C1 (ru) Способ и система для снижения расхода краски при печати
JP2008219418A (ja) 画像形成装置、画像処理方法、及び画像処理プログラム
US20080007741A1 (en) Image processing setting device, image processing device, image forming system, image processing setting method, image processing method, and image forming method