(57)【要約】【課題】本発明は、描画データを描画フレームに描画して両面印刷する場合に、描画フレームの描画データを意図する印刷結果となるように適切に処理する画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体に関する。【解決手段】プリンタＰｒは、両面印刷時、複数の描画フレームをＲＡＭ１１に作成して、該複数の描画フレームのうち選択された２つの描画フレームに印刷データに基づいて順次描画データを描画し、該印刷データの両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の選択または／及び該描画フレーム間の描画データの移しを行う。【選択図】          図１
2008282325.tif 000002
【特許請求の範囲】
【請求項１】
印刷データに基づいて描画フレームに描画データを描画し、該描画フレームの描画データに基づいて印刷媒体の表面と裏面に順次印刷する両面印刷を行う画像形成装置において、所定のフレーム用記憶手段に複数の描画フレームを作成するフレーム作成手段と、該複数の描画フレームのうち選択された２つの描画フレームに指定の順序で前記印刷データに基づいて順次描画データを描画する描画手段と、前記印刷データの前記両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて前記複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の指定または／及び該複数の描画フレーム間の描画データの移し処理を行う制御手段と、を備えていることを特徴とする画像形成装置。
【請求項２】
前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が該描画フレームへの描画後に判明する場合、前記描画手段に該表面用描画フレームと該裏面用描画フレームに該印刷データに基づいて描画データを描画させ、該描画後に該表面用描画フレームに裏面用描画データが描画され該裏面用描画フレームに表面用描画データが描画されていることが判明すると、該表面用描画フレームの該裏面用描画データと該裏面用描画フレームの該表面用描画データを入れ替えることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が該描画フレームへの描画前に判明していると、前記描画手段に、表面用の印刷データに基づいて該表面用描画フレームに前記表面用描画データを描画させ、裏面用の印刷データに基づいて該裏面用描画フレームに前記裏面用描画データを描画させることを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が前記描画前に判明しており、裏面用の印刷データが先で次の表面用の印刷データがなく該先の裏面用を表面用に変更する場合には、前記描画手段に該先の裏面用の印刷データに基づいて該表面用描画フレームに描画データを描画させた後、該裏面用描画フレームの該描画データを該表面用描画フレームに移すことを特徴とする請求項１記載の画像形成装置。
【請求項５】
前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が前記描画前に判明しており、裏面用の印刷データが先で次の表面用の印刷データがない場合、前記描画手段に、該先の裏面用の印刷データに基づいて該裏面用描画フレームに描画データを描画させ、該表面用描画フレームにダミーデータを描画させることを特徴とする請求項１記載の画像形成装置。
【請求項６】
前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレーム及び予備描画フレームの３つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が該描画フレームへの描画後に判明する場合、前記描画手段に前記描画法則に従って該３つの描画フレームのうちの２つの描画フレームに指定の順序で順次描画させ、該描画後に該表面用描画フレームと該裏面用描画フレームのうち少なくともいずれかに表面用描画データと裏面用描画データが描画されていないことが判明すると、該３つの描画フレームを利用して該表面用描画フレームに表面用描画データが描画され該裏面用描画フレームに裏面用描画データが描画されている状態に描画データを移すことを特徴とする請求項１記載の画像形成装置。
【請求項７】
前記制御手段は、前記描画法則として、前記表面用描画フレームと前記裏面用描画フレームに順次描画する描画法則、前記裏面用描画フレームと前記予備描画フレームに順次描画する描画法則、前記表面用描画フレームと前記予備描画フレームに順次描画する描画法則、最初の描画対象の描画フレームを固定し次の描画対象の描画フレームを該次の描画対象の印刷データのデータ量に基づいて決定する描画法則及び順次描画する２つの描画フレームを該描画対象の印刷データのデータ量等に基づいて処理速度を優先させて決定する描画法則のうちいずれかの描画法則を用いることを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレーム及び予備描画フレームの３つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が前記描画フレームへの描画前に判明しており、前記印刷データのデータ順序が裏面用の印刷データが先で次に表面用の印刷データがある場合には、前記描画手段に、該先の裏面用の印刷データに基づいて該裏面用描画フレームに裏面用描画データを描画させ、該次の表面用の印刷データに基づいて該予備描画フレームに次の表面用描画データを描画させ、該表面用描画フレームにダミーデータを描画させることを特徴とする請求項１記載の画像形成装置。
【請求項９】
前記制御手段は、フレーム作成手段の作成した前記予備描画フレームを、次ページの処理においてそのまま利用することを特徴とする請求項６から請求項８のいずれかに記載の画像形成装置。
【請求項１０】
前記フレーム作成手段は、前記フレーム用記憶手段の記憶容量との関係で前記描画フレームの数が前記作成対象の数よりも少ない数しか該フレーム用記憶手段に作成できないときには、該不足している描画フレームを他の記憶手段に一時的に作成することを特徴とする請求項１から請求項９のいずれかに記載の画像形成装置。
【請求項１１】
印刷データに基づいて描画フレームに描画データを描画し、該描画フレームの描画データに基づいて印刷媒体の表面と裏面に順次印刷する両面印刷を行う画像形成方法において、複数の描画フレームを作成するフレーム作成処理ステップと、該複数の描画フレームのうち選択された２つの描画フレームに指定の順序で前記印刷データに基づいて順次描画データを描画する描画処理ステップと、該印刷データの前記両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて前記複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の選択または／及び該複数の描画フレーム間の描画データの移しを行う制御処理ステップと、を有することを特徴とする画像形成方法。
【請求項１２】
画像形成装置に請求項１から請求項１０のいずれかに記載の画像形成装置として機能させることを特徴とする画像形成制御プログラム。
【請求項１３】
請求項１２記載の画像形成制御プログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体に関し、詳細には、描画データを描画フレームに描画して印刷する場合に、描画データを意図する印刷結果となるように適切に処理するプリンタ、複合装置、複写装置等の画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年、プリンタ等の画像形成装置においては、紙資源の節約を図るために、用紙の両面に印刷する両面印刷が行われている。
【０００３】
このような両面印刷を行う画像形成装置には、用紙の反転処理を画像形成装置内で自動的に行って、自動的に用紙の両面にページ順に自動両面印刷を行う画像形成装置と、印刷データの奇数ページの画像のみを用紙の片面に順次印刷して排紙トレイに排出し、印刷データの奇数ページの印刷を完了すると、手動で該排紙トレイ上に排出された用紙を反対面を印刷面として給紙トレイや手差しトレイ等にセットされて印刷指示があると、印刷データの偶数ページを該片面印刷済の反対面に順次印刷する手動両面印刷を行う画像形成装置とがある。
【０００４】
このような自動両面印刷においては、従来、ホスト装置から送られてくる印刷対象データとしてのＰＤＬ（Page Description Language：ページ記述言語）データに基づいて描画するための画像データを生成し、該生成した画像データを第１面及び第２面を用紙等の印刷媒体の表裏の関係とした両面印刷情報として個別に管理して、両面印刷を制御するために、その両面印刷情報の属性を定義したページ情報を情報管理手段と画像形成手段との間で通信し、このページ情報に従って情報処理装置から画像形成装置に第１面または第２面の両面印刷情報の送信を行って、該両面印刷情報に基づいて画像形成手段で画像を形成する技術が開示されている（特許文献１参照）。
【０００５】
また、従来、受信した印刷データに基づいて用紙の複数ページの表面印刷と複数ページの裏面印刷とを順に行って両面印刷を行う場合に、両面印刷文書の印刷データの末尾に両面印刷の終了を意味する両面印刷終了指定コマンドを付加し、該両面印刷終了指定コマンドを検出すると、プリンタ内の用紙を外部に排出して両面印刷を終了する技術が開示されている（特許文献２参照）。
【０００６】
【特許文献１】特開２００１−１３００６８号公報
【特許文献２】特許第３３８０５９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術にあっては、画像データを両面印刷の用紙の表裏面と関連させた両面印刷情報に基づいて両面印刷を行ったり、両面印刷終了指定コマンドでプリンタ内の用紙を排出しているのみであるため、メモリ上の描画フレームに展開した描画データ自体を入れ替えたり、削除して、意図する状態で両面印刷を行わせることができず、改良の必要があった。
【０００８】
すなわち、従来技術にあっては、複数の描画フレームを同時にメモリ上に作成して描画データを描画して印刷を行う場合、ユーザの希望する印刷結果を得るためには、メモリ上に描画フレームに展開した描画データを入れ替えたり、メモリ上の一部の描画フレームの描画データを削除して残りを印刷するような処理が必要になることがあるが、従来技術にあっては、メモリ上の描画フレームに展開された描画データ自体を処理する技術がなかったため、ユーザの意図する印刷結果を得る上で、改良の必要があった。
【０００９】
すなわち、従来技術にあっては、描画フレームは、その作成した順番に表面・裏面として処理しなければならず、また、複数の描画フレームがメモリ上に存在する場合、最初のページの描画フレームの描画データのみを削除することはできず、削除する場合には、最後のページの描画フレームの描画データから削除する必要があり、この場合、全ての描画フレームの描画データを削除して、意図する印刷条件に応じた印刷データを再送してメモリ上の描画フレームの描画データとして展開し直す必要があり、利用性が悪いという問題があった。
【００１０】
具体的には、従来の通常のページ記述言語による両面印においては、２つの描画フレームを作成して、最初のフレーム（第１フレーム）を表面用、次の第２フレームを裏面用とし、印刷データを描画データに変換して、該第１フレームと第２フレームへ順次描画するというフレーム作成・描画処理を繰り返し実行するが、基本的には、以下の通常処理順序で処理が流れる。
【００１１】
表面の描画データ→表面のフレーム作成→表面描画→印刷実行→裏面の描画データ→裏面のフレーム作成→裏面描画→印刷実行→両面一枚の印刷実行完了
また、従来の通常のページ記述言語による両面印刷においては、表面が白紙の場合には、以下の表面白紙処理流れの処理順序で処理が流れる。
【００１２】
表面の描画データ（白紙）→表面のフレーム作成→表面描画（白紙）→印刷実行→裏面のフレーム作成→裏面の描画データ→裏面描画→印刷実行→両面一枚の印刷実行完了
このように、印刷データが表面のページデータから順番に送信されてくると、用紙に表面→裏面・・・と順番に適切に印刷することができる。
【００１３】
そして、ページ記述言語によっては、上記通常処理順序の両面２面描画終了時に、その面が裏面であるか表面であるかが確定したり、描画後に、描画データの入れ替え要求が発生するものがある。通常、上述のように、印刷データの送信順に描画するが、最後に表面であるか裏面であるかが決定し、意図する印刷順序が送信の順番とは逆の順番になる場合がある。このような場合、裏面が先に存在しており、両面印刷で裏面指定のみの場合は、従来では規定されていないため、裏面を表面に変更して、片面１ページで印刷し、その次に両面印刷＋表面の印刷を行うこととなるので、次に裏面の描画データがくるのを待つ。ところが、その次に片面印刷で、表面の印刷データがくると、両面印刷＋表面の印刷設定を片面印刷に変更して該次の印刷データの印刷を行うか、次に該ページを両面の裏面に変更して両面印刷を行う結果となり、意図した印刷結果とは、異なる印刷結果となる。
【００１４】
また、ページ記述言語によっては、上記通常処理順序の両面２面描画終了時に、表面をキャンセルし、裏面を表面に変更して印刷実行するものがあるが、この場合も、従来技術では、第１フレームのみ削除して、第２フレームを描画実行することができず、意図する印刷を行うことができない。
【００１５】
さらに、ページ記述言語によっては、上記通常処理順序の両面２面描画終了時に、表面をキャンセルし、裏面のみを印刷実行するものがあるが、この場合も、従来技術では、第１フレームのみを削除して、第２フレームのみを描画実行することができず、意図する印刷を行うことができない。
【００１６】
また、表面を白紙にして、裏面だけ印刷する場合には、表面の描画データとしてダミーデータを第１フレームに展開する必要があるが、この場合、ページ記述言語がダミーデータの送信を行ってくるときには、データ送信処理及びデータ解析処理が発生し、印刷処理のスループットが悪くなる。また、ページ記述言語がダミーデータを作成するようなデータや指示コマンドの存在しない言語であると、第１フレームに白紙の表面データの描画処理を行うことができず、裏面の描画処理を行うこととなって、適切な両面印刷を行うことができないおそれがある。
【００１７】
そこで、本発明は、複数の描画フレームを作成して描画する場合に、印刷データのデータ構成や印刷目的等に応じて描画処理や描画データのデータ処理を適宜制御して、利用性が良好で意図する両面印刷を適切かつ速やかに行う画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【００１８】
請求項１記載の発明の画像形成装置は、印刷データに基づいて描画フレームに描画データを描画し、該描画フレームの描画データに基づいて印刷媒体の表面と裏面に順次印刷する両面印刷を行う画像形成装置において、所定のフレーム用記憶手段に複数の描画フレームを作成するフレーム作成手段と、該複数の描画フレームのうち選択された２つの描画フレームに指定の順序で前記印刷データに基づいて順次描画データを描画する描画手段と、前記印刷データの前記両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて前記複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の指定または／及び該複数の描画フレーム間の描画データの移し処理を行う制御手段と、を備えていることにより、上記目的を達成している。
【００１９】
この場合、例えば、請求項２に記載するように、前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が該描画フレームへの描画後に判明する場合、前記描画手段に該表面用描画フレームと該裏面用描画フレームに該印刷データに基づいて描画データを描画させ、該描画後に該表面用描画フレームに裏面用描画データが描画され該裏面用描画フレームに表面用描画データが描画されていることが判明すると、該表面用描画フレームの該裏面用描画データと該裏面用描画フレームの該表面用描画データを入れ替えてもよい。
【００２０】
また、請求項１の場合、例えば、請求項３に記載するように、前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が該描画フレームへの描画前に判明していると、前記描画手段に、表面用の印刷データに基づいて該表面用描画フレームに前記表面用描画データを描画させ、裏面用の印刷データに基づいて該裏面用描画フレームに前記裏面用描画データを描画させてもよい。
【００２１】
さらに、請求項１の場合、例えば、請求項４に記載するように、前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が前記描画前に判明しており、裏面用の印刷データが先で次の表面用の印刷データがなく該先の裏面用を表面用に変更する場合には、前記描画手段に該先の裏面用の印刷データに基づいて該表面用描画フレームに描画データを描画させた後、該裏面用描画フレームの該描画データを該表面用描画フレームに移してもよい。
【００２２】
また、請求項１の場合、例えば、請求項５に記載するように、前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレームの２つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が前記描画前に判明しており、裏面用の印刷データが先で次の表面用の印刷データがない場合、前記描画手段に、該先の裏面用の印刷データに基づいて該裏面用描画フレームに描画データを描画させ、該表面用描画フレームにダミーデータを描画させてもよい。
【００２３】
さらに、請求項１の場合、例えば、請求項６に記載するように、前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレーム及び予備描画フレームの３つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が該描画フレームへの描画後に判明する場合、前記描画手段に前記描画法則に従って該３つの描画フレームのうちの２つの描画フレームに指定の順序で順次描画させ、該描画後に該表面用描画フレームと該裏面用描画フレームのうち少なくともいずれかに表面用描画データと裏面用描画データが描画されていないことが判明すると、該３つの描画フレームを利用して該表面用描画フレームに表面用描画データが描画され該裏面用描画フレームに裏面用描画データが描画されている状態に描画データを移してもよい。
【００２４】
また、請求項６の場合、例えば、請求項７に記載するように、前記制御手段は、前記描画法則として、前記表面用描画フレームと前記裏面用描画フレームに順次描画する描画法則、前記裏面用描画フレームと前記予備描画フレームに順次描画する描画法則、前記表面用描画フレームと前記予備描画フレームに順次描画する描画法則、最初の描画対象の描画フレームを固定し次の描画対象の描画フレームを該次の描画対象の印刷データのデータ量に基づいて決定する描画法則及び順次描画する２つの描画フレームを該描画対象の印刷データのデータ量等に基づいて処理速度を優先させて決定する描画法則のうちいずれかの描画法則を用いてもよい。
【００２５】
さらに、請求項１の場合、例えば、請求項８に記載するように、前記フレーム作成手段は、前記描画フレームとして表面用描画フレームと裏面用描画フレーム及び予備描画フレームの３つの描画フレームを作成し、前記制御手段は、前記印刷データのデータ順序が前記描画フレームへの描画前に判明しており、前記印刷データのデータ順序が裏面用の印刷データが先で次に表面用の印刷データがある場合には、前記描画手段に、該先の裏面用の印刷データに基づいて該裏面用描画フレームに裏面用描画データを描画させ、該次の表面用の印刷データに基づいて該予備描画フレームに次の表面用描画データを描画させ、該表面用描画フレームにダミーデータを描画させてもよい。
【００２６】
また、請求項６または請求項７の場合、例えば、請求項９に記載するように、前記制御手段は、フレーム作成手段の作成した前記予備描画フレームを、次ページの処理においてそのまま利用してもよい。
【００２７】
さらに、請求項１から請求項９の場合、例えば、請求項１０に記載するように、前記フレーム作成手段は、前記フレーム用記憶手段の記憶容量との関係で前記描画フレームの数が前記作成対象の数よりも少ない数しか該フレーム用記憶手段に作成できないときには、該不足している描画フレームを他の記憶手段に一時的に作成してもよい。
【００２８】
請求項１１記載の発明の画像形成方法は、印刷データに基づいて描画フレームに描画データを描画し、該描画フレームの描画データに基づいて印刷媒体の表面と裏面に順次印刷する両面印刷を行う画像形成方法において、複数の描画フレームを作成するフレーム作成処理ステップと、該複数の描画フレームのうち選択された２つの描画フレームに指定の順序で前記印刷データに基づいて順次描画データを描画する描画処理ステップと、該印刷データの前記両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて前記複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の選択または／及び該複数の描画フレーム間の描画データの移しを行う制御処理ステップと、を有することにより、上記目的を達成している。
【００２９】
請求項１２記載の発明の画像形成制御プログラムは、画像形成装置に請求項１から請求項１０のいずれかに記載の画像形成装置として機能させることにより、上記目的を達成している。
【００３０】
請求項１３記載の発明の記録媒体は、請求項１２記載の画像形成制御プログラムを記録したことにより、上記目的を達成している。
【発明の効果】
【００３１】
本発明によれば、複数の描画フレームを作成して、該複数の描画フレームのうち選択された２つの描画フレーム印刷データに基づいて順次描画データを描画し、該印刷データの両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の指定または／及び複数の該描画フレーム間の描画データの移しを行っているので、印刷データのデータ構成や印刷目的等に応じて描画処理や描画データのデータ処理等を適宜制御することができ、利用性が良好で意図する両面印刷を適切かつ速やかに行うことができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００３３】
図１〜図４は、本発明の画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体の第１実施例を示す図であり、図１は、本発明の画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体の第１実施例を適用したプリンタ（画像形成装置）Ｐｒの要部ブロック構成図である。
【００３４】
図１において、プリンタＰｒは、コントローラ１０、エンジン３０、ＳＤ  Ｉ／Ｆ３１、カードＩ／Ｆ３２等を備えており、ホスト装置ＨＳが接続されている。
【００３５】
コントローラ１０は、実際のページ記述言語により変換された印刷デ−タを、プリンタＰｒ本体またはホスト装置ＨＳのドライバ等により設定された印刷補正モ−ドの条件下で、描画データ（ビデオデ−タ）に変換してエンジン３０へ出力する制御機構の総称であり、以下のようなモジュ−ル構想を有している。すなわち、コントローラ１０は、ＲＡＭ（Random Access Memory）１１、ＲＯＭ（Read Only Memory）１２、フォントＲＯＭ１３、ＣＰＵ（Central Processing Unit ）１４、ＡＳＩＣ（Application Specific Integrated Circuit）１５、エンジンＩ／Ｆ１６、ホストＩ／Ｆ１７、ハードディスク（ＨＤＤ）１８、ＮＩＣ（Network Interface Card）１９及びタイマ２０等を備えており、上記各部は、バス２１により接続されている。
【００３６】
エンジン３０は、コントローラ１０から描画データと制御信号を受け取り、該受け取った描画データ及び制御信号により、所定の方式、例えば、電子写真方式により印刷処理を行う。すなわち、エンジン３０は、電子写真方式で印刷処理を行う場合、図示しないが、電子写真方式で用紙（印刷媒体）に描画データに基づいて印刷処理を行うのに必要な部品、例えば、感光体、光書込部、現像部、帯電部及びクリーニング部等を備えており、描画データ及び制御信号により光書込部を動作させて感光体上に静電潜像を形成し、現像部によりトナーを感光体上に供給して現像してトナー画像を形成する。エンジン３０は、給紙部から用紙を感光体と転写部との間に給紙して、感光体上のトナー画像を用紙に転写させ、トナー画像の転写された用紙を定着部に搬送して、定着部で加熱・加圧して用紙上のトナー画像を定着させることで、印刷処理を行う。
【００３７】
ＳＤ  Ｉ／Ｆ３１は、着脱可能な外部記録メディア（例えば、ＳＤ（Secure Digital）カード等、以下、メモリカードという。）へのインターフェイスまたは挿入スロットであり、ＳＤ  Ｉ／Ｆ３１へのメモリカードの挿入、引き抜きを電圧の変化等で認識して、認識結果をＣＰＵ１４に出力する。
【００３８】
カードＩ／Ｆ３２は、外部課金装置を接続したり、認証カードを挿入するスロットであり、該外部課金装置との間でデータのやり取りを行ったり、認証カードとの間で信号の授受を行う。
【００３９】
コントローラ１０は、そのＮＩＣ１９に、パーソナルコンピュータ等のホスト装置ＨＳが接続され、ホストＩ／Ｆ１７は、ＮＩＣ１９に接続されたホスト装置ＨＳからプリンタＰｒに送られてくる印刷データや制御信号の受信及びプリンタＰｒからホスト装置ＨＳへのステ−タス信号の送信を行うインターフェイスである。
【００４０】
ＲＯＭ１２は、プリンタＰｒとしての基本プログラムや後述するデータの描画制御印刷処理プログラム（画像形成制御プログラム）及び必要なデータ等を格納しており、これらのプログラム、特に、描画制御印刷処理プログラムは、ＲＯＭ１２に格納されているものに限るものではなく、例えば、ハードディスク１８等に格納されていてもよい。
【００４１】
ＣＰＵ１４は、ＲＯＭ１２内のプログラムに基づいてプリンタＰｒの各部を制御し、プリンタＰｒとしての基本制御処理を実行するとともに、後述する描画制御印刷処理を実行する。
【００４２】
ＲＡＭ（フレーム用記憶手段）１１は、ＣＰＵ１４のワークメモリとして利用されるとともに、ホスト装置ＨＳからの印刷データをページ単位に管理して一時記憶するバッファ、該バッファとして記憶したデータが実際の印字パターンに変換された描画データの描画される描画フレーム（ビットマップメモリ）等として使用される。
【００４３】
フォントＲＯＭ１３は、プリンタＰｒでの印字に使用される各種フォントが予め格納されており、ＣＰＵ１４により読み出されて、印字処理に供される。
【００４４】
ＡＳＩＣ１５は、ＲＯＭ１２内のプログラムに基づいてプリンタＰｒとしての基本データ処理や後述する描画制御印刷処理でのデータ処理を実行する。
【００４５】
すなわち、上記ＣＰＵ１４及びＡＳＩＣ１５は、全体として、ＲＡＭ１１に複数の描画フレームを作成するフレーム作成手段、該複数の描画フレームのうち選択された２つの描画フレームに印刷データに基づいて順次描画データを描画する描画手段と、印刷データの両面印刷の表裏面のデータ順序と該データ順序の判明時期及び所定の描画法則に基づいて複数の描画フレームのうち描画する２つの描画フレームの選択と該選択した描画フレームへの描画順序の選択または／及び該複数の描画フレーム間の描画データの移し処理を行う制御手段として機能する。
【００４６】
エンジンＩ／Ｆ１６には、上記エンジン３０が接続され、エンジンＩ／Ｆ１６は、コントローラ１０からエンジン３０への制御信号の出力、エンジン３０からコントローラ１０に送られてくるステータス信号の受信等を行う。
【００４７】
ハードディスク（他の記憶手段）１８は、ＣＰＵ１４やＡＳＩＣ１５の制御下で、文書データ情報、文書データ、印刷データ等が保存され、また、必要に応じて、描画フレームが作成されて、該描画フレームに描画データが描画がされる。
【００４８】
タイマ２０は、発振器及び分周回路等を備え、現在時刻の計時や任意の時刻の計時を行う。
【００４９】
そして、プリンタＰｒは、ＣＤ（Compact Disc）、ＭＯ（光磁気ディスク）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Video Disk）、メモリカードフレキシブルディスク等の記録媒体に記録されている上記描画制御印刷処理プログラム（画像形成制御プログラム）を、上記ＲＯＭ１２またはハードディスク１８等に読み込んで格納して、実行することで、後述する描画制御印刷処理を実行するプリンタＰｒとして構築されている。
【００５０】
そして、プリンタＰｒは、ＮＩＣ１９に接続されたホスト装置ＨＳから印刷データを受け取ると、ＣＰＵ１４が、該受け取った印刷データをＲＯＭ１２またはハードディスク１８上の描画制御印刷処理プログラムのデータ解析プログラムに従って解析し、印字データ及び印刷制御データ（ＳＰ、ＣＲ、ＬＦ、ＨＴ、ＶＴ、・・・等）とその他に分ける。ＣＰＵ１４は、印字データ及び印刷制御データをＲＡＭ１１上の受信バッファに一旦記憶し、該一旦記憶した受信データを、描画制御印刷処理プログラムに従って一つずつ取り出して、該受信データの処理を行う。例えば、ＣＰＵ１４は、取り出したデータが文字コードであれば、印字位置、印字サイズ、文字コード、フォント情報等を備えた中間コードを作成して、ＲＡＭ１１上に設けられた中間バッファに収納し、取り出したデータが制御コードやエスケープシーケンス等のコマンドであると、それらに予め定義された処理を行う。具体的には、ＣＰＵ１４は、コマンドが印字位置の指定であると、次にきた文字コードの位置を指定された位置に設定し、また、コマンドがフォントの変更であると、次にきた文字コードのフォント情報を指定されたフォントにする等の処理を行う。そして、ＣＰＵ１４は、このようにしてホスト装置ＨＳからのプリント命令の処理を行うか、または、コマンドで指定された処理を行ったデータが１ページ分を超えると、次に中間バッファに貯えられた中間コードを、描画制御印刷処理プログラムに従って、ＲＡＭ１１上に作成した描画フレームに描画データに変換して描画する描画処理を行う。ＣＰＵ１４は、中間コードの描画データへの変換が終了すると、コントローラ１０は、エンジンＩ／Ｆ１６を通してエンジン３０にプリントスタートの命令を出し、この命令に同期して描画データをエンジン３０に転送する。プリンタＰｒは、上述のような一連の流れの処理を行うことで、ホスト装置ＨＳからの印刷データをエンジン３０で用紙に印刷出力するという出力処理を行う。
【００５１】
そして、プリンタＰｒは、ホスト装置ＨＳからの印刷データに両面印刷の指定があると、２つ以上の複数の描画フレームをＲＡＭ１１に作成して、該描画フレームの２つに順次描画データを描画し、該２つの描画フレームの描画データによってエンジン３０で１枚の用紙の表裏面に印刷する両面印刷機能を備えている。
【００５２】
次に、本実施例の作用を説明する。本実施例のプリンタＰｒは、両面印刷において、２つの描画フレームを作成して、該２つの描画フレームへの描画データの描画や描画データの描画フレーム間での移しを印刷面に合わせて適切に処理する。
【００５３】
両面印刷においては、ページ記述言語で、両面印刷コマンド、印刷データ（ページ１）、印刷データ（ページ２）、面指定（変更）コマンド及び指定ページキャンセルコマンド等が用いられるが、面指定コマンドや指定ページキャンセルコマンドが２面印刷データの最後に付加されていると、描画処理が完了したときに、該データの表裏面が確定し、面指定コマンドが２面印刷データの最初に付加されていると、描画処理の前にデータの表裏面が確定していることとなる。
【００５４】
コントローラ１０は、ホスト装置ＨＳから印刷データを受信すると、上述のように、ＣＰＵ１４が、該受け取った印刷データをＲＯＭ１２またはハードディスク１８上の描画制御印刷処理プログラムのデータ解析プログラムに従って解析し、印字データ及び印刷制御データとその他に分けて、印字データ及び印刷制御データをＲＡＭ１１上の受信バッファに一旦記憶し、該一旦記憶した受信データを、ＲＯＭ１２またはハードディスク１８上の描画制御印刷処理プログラムに従って一つずつ取り出して、該受信データの処理を行って、図２に示す描画制御印刷処理を行う。
【００５５】
すなわち、コントローラ１０は、図２に示すように、印刷データを受信すると（ステップＳ１０１）、上記データ解析を行って、両面印刷であるかチェックし（ステップＳ１０２）、両面印刷のときには、ＲＡＭ１１上に、図３に示すように、表面用の第１フレーム（表面用描画フレーム）と裏面用の第２フレーム（裏面用描画フレーム）の２面の描画フレームを作成する描画フレーム作成処理を行って（ステップＳ１０３）、最初の印刷データが表面用の印刷データ（表面用印刷データ）であるかチェックする（ステップＳ１０４）。
【００５６】
ステップＳ１０４で、表面用印刷データであると、コントローラ１０は、該表面用印刷データに基づいて第１フレームに表面用描画データを描画し（ステップＳ１０５）、次の印刷データに基づいて第２フレームに裏面用描画データを描画する描画処理を行って（ステップＳ１０６）、面変更コマンドがあるかチェックする（ステップＳ１０７）。
【００５７】
ステップＳ１０７で、面変更コマンドがないときには、コントローラ１０は、第１フレームの描画データをエンジンＩ／Ｆ１６を介してエンジン３０に送ってエンジン３０で印刷させ、次いで、第２フレームの描画データをエンジン３０に送ってエンジン３０で印刷させる両面印刷処理を実行する（ステップＳ１０８）。
【００５８】
そして、上記表面用印刷データ、裏面用印刷データの順で印刷データを受信した場合に、ステップＳ１０７で、面変更コマンドがあると、コントローラ１０は、第１フレームの描画データと第２フレームの描画データを入れ替えて、裏面を表面に、表面を裏面に入れ替える描画フレーム入れ替え処理（制御処理）を行い（ステップＳ１０９）、該入れ替え後の第１フレームと第２フレームのデータによって両面印刷処理を行う（ステップＳ１０８）。
【００５９】
また、ステップＳ１０４で、最初の印刷データが表面用印刷データでないか、表裏面が分からないときには、コントローラ１０は、裏面用印刷データであるかチェックし（ステップＳ１１０）、印刷データの表裏のデータ順が分かっていて、裏面用印刷データのときには、図４（ａ）の上部に示すように、該裏面用印刷データに基づいて第２フレームに描画データを描画する描画処理を行って（ステップＳ１１１）、次の印刷データが表面用印刷データであるかチェックする（ステップＳ１１２）。
【００６０】
すなわち、コントローラ１０は、印刷データが裏面用印刷データから先に送られてくるときには、図４（ａ）の上部に示すように、該裏面用印刷データに基づいて裏面用の第２フレームに描画データを描画する。
【００６１】
ステップＳ１１２で、次の印刷データが表面用印刷データのときには、コントローラ１０は、図４（ａ）の下部に示すように、該表面用印刷データに基づいて第１フレームに描画データを描画して、第１フレームに、表面用描画データを、第２フレームに裏面用描画データをそれぞれ描画する描画処理を行い（ステップＳ１１３）、面変更コマンドがあるかチェックする（ステップＳ１０７）。
【００６２】
ステップＳ１０７で、面変更コマンドがないときには、コントローラ１０は、第１フレームの描画データのエンジン３０での印刷、次いで、第２フレームの描画データのエンジン３０での印刷を行う両面印刷処理を実行し（ステップＳ１０８）、ステップＳ１０７で、面変更コマンドがあると、第１フレームの描画データと第２フレームの描画データを入れ替えて、裏面を表面に、表面を裏面に入れ替える描画フレーム入れ替え処理（制御処理）を行って（ステップＳ１０９）、該入れ替え後の第１フレームと第２フレームの描画データによって両面印刷処理を行う（ステップＳ１０８）。
【００６３】
ステップＳ１１２で、次の印刷データが表面用印刷データでないときには、コントローラ１０は、図４（ｃ）に示すように、第１フレームにダミーデータを描画する描画処理を行って（ステップＳ１１４）、面変更コマンドがあるかチェックする（ステップＳ１０７）。すなわち、コントローラ１０は、裏面用印刷データから送られてきて、表面用印刷データが送られてこないときには、表面用印刷データの描画データの代わりに、ダミーデータを第１フレームに挿入して、白紙の表面を印刷した後、裏面を印刷できるように描画処理する。
【００６４】
そして、ステップＳ１０７で、面変更コマンドがないときには、コントローラ１０は、第１フレームのダミーデータのエンジン３０での印刷、次いで、第２フレームの裏面用描画データのエンジン３０での印刷を行う両面印刷処理を実行する（ステップＳ１０８）。
【００６５】
そして、ステップＳ１０７で、面変更コマンドがあると、第１フレームの描画データと第２フレームの描画データを入れ替える描画フレーム入れ替え処理（制御処理）を行って（ステップＳ１０９）、該入れ替え後の第１フレームと第２フレームの描画データによって両面印刷処理を行う（ステップＳ１０８）。
【００６６】
ステップＳ１１０で、次の印刷データが裏面用印刷データでないとき、すなわち、印刷データの表面、裏面が不明等のときには、コントローラ１０は、該印刷データに基づく描画データを第１フレームまたは第２フレームに描画する描画処理を行って（ステップＳ１１５）、面変更コマンドがあるかチェックする（ステップＳ１０７）。
【００６７】
そして、ステップＳ１１６で、描画データを第１フレームに描画していて、ステップＳ１０７で、面変更コマンドがないと、コントローラ１０は、片面表面印刷に変更して、該第１描画フレームの描画データの印刷を実行する（ステップＳ１０８）。
【００６８】
また、ステップＳ１１５で、描画データを第２フレームに描画し、第１フレームに描画データが描画されていて、ステップＳ１０７で、面変更コマンドが発生していると、コントローラ１０は、第１フレームの描画データと第２フレームの描画データを入れ替える描画フレーム入れ替え処理（制御処理）を行って（ステップＳ１０９）、該入れ替え後の第１フレームと第２フレームのデータによって印刷処理を行う（ステップＳ１０８）。
【００６９】
また、ステップＳ１１５で、描画データを第１フレームに描画し、ステップＳ１０７で、面変更コマンドが発生していると、コントローラ１０は、片面表面印刷に変更して、該第１フレームの描画データによって印刷処理を行う（ステップＳ１０８）。
【００７０】
さらに、ステップＳ１１５で、図４（ｂ）に示すように、第２フレームに描画データを描画し、ステップＳ１０７で、面変更コマンドがあると、コントローラ１０は、第２フレームの描画データを第１フレームにコピーする描画データ処理（制御処理）を行い（ステップＳ１０９）、第１フレームの描画データのみを片面表面印刷に変更して、印刷を実行する（ステップＳ１０８）。
【００７１】
そして、上記ステップＳ１０２で、両面印刷ではなく、片面印刷であると、コントローラ１０は、描画フレームを１面のみ作成して、受信した印刷データに基づいて該描画フレームに描画データを描画する描画処理を行い（ステップＳ１１６）、該描画フレームの描画データをエンジンＩ／Ｆ１６を介してエンジン３０に送ってエンジン３０で印刷させる片面印刷処理を実行する（ステップＳ１０８）。
【００７２】
このように、本実施例のプリンタＰｒは、両面印刷時、２つの描画フレームをＲＡＭ１１に作成して、該２つの描画フレームに印刷データに基づいて描画データを描画し、該印刷データの両面印刷の表裏面のデータ順序と該データ順序の判明時期に基づいて２つの描画フレームへの描画順序の指定または／及び該描画フレーム間の描画データの移し処理を行っている。
【００７３】
したがって、印刷データのデータ構成や印刷目的等に応じて描画処理や描画データ処理を適宜制御することができ、利用性が良好で意図する両面印刷を適切かつ速やかに行うことができる。
【００７４】
また、本実施例のプリンタＰｒは、ＣＰＵ１４が、描画フレームとして表面用描画フレームである第１フレームと裏面用描画フレームである第２フレームの２つの描画フレームをＲＡＭ１１に作成し、印刷データのデータ順序が該描画フレームへの描画後に判明する場合、該印刷データに基づいて第１フレームと第２フレームに順次描画データを描画し、該描画後に該第１フレームに裏面用描画データが描画され第２フレームに表面用描画データが描画されていることが判明すると、第１フレームの該裏面用描画データと第２フレームの該表面用描画データを入れ替えている。
【００７５】
したがって、印刷データのデータ順序が該描画フレームへの描画後に判明する場合にも、両面印刷の印刷面と表面用描画データ及び裏面用描画データを適切に合わせて印刷することができる。
【００７６】
さらに、本実施例のプリンタＰｒは、ＣＰＵ１４が、印刷データのデータ順序が描画フレームへの描画前に判明していると、表面用描画データを第１フレームに描画し、裏面用描画データを第２フレームに描画している。
【００７７】
したがって、印刷データのデータ順序が該描画フレームへの描画前に判明する場合には、両面印刷の印刷面と表面用描画データ及び裏面用描画データを適切に合わせて描画することができ、描画データのコピー等の処理を省いて、より一層速やかにかつ適切に両面印刷することができる。
【００７８】
また、本実施例のプリンタＰｒは、印刷データのデータ順序が描画前に判明しており、裏面用の印刷データが先で次の表面用の印刷データがない場合には、該先の裏面用の印刷データに基づいて第２フレームに描画データを描画し、第１フレームにダミーデータを描画している。
【００７９】
したがって、表面を白紙にして、裏面だけ印刷する場合に、無駄なダミーデータの送信やデータ解析を行うことなく、ダミーデータを第１フレームに描画して、スループットを向上させつつ、適切に両面印刷を行うことができる。
【００８０】
なお、本実施例のプリンタＰｒにおいて、印刷データのデータ順序が描画前に判明しており、裏面用の印刷データが先で次の表面用の印刷データがなく先の裏面用を表面用に変更する場合には、該先の裏面用の印刷データに基づいて第２フレームに描画データを描画した後、第２フレームの該描画データを第１フレームに移してもよい。
【００８１】
このようにすると、裏面用の印刷データが先で次の表面用の印刷データがなく先の裏面用を表面用に変更するような場合にも、適切かつ速やかに両面印刷することができる。
【実施例２】
【００８２】
図５〜図１２は、本発明の画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体の第２実施例を示す図であり、図５は、本発明の画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体の第２実施例を適用したプリンタによる描画制御印刷処理を示すフローチャートである。
【００８３】
なお、本実施例は、上記第１実施例のプリンタＰｒと同様のプリンタに適用したものであり、本実施例の説明においては、必要に応じて上記第１実施例で用いた符号をそのまま用いて説明する。
【００８４】
本実施例のプリンタＰｒは、描画フレームを３つ作成して、図５に示す描画制御印刷処理を行う。すなわち、プリンタＰｒは、図５に示すように、データを受信すると（ステップＳ２０１）、コントローラ１０が、データ解析を行って、両面印刷であるかチェックし（ステップＳ２０２）、両面印刷のときには、ＲＡＭ１１上に３面の描画フレームを作成するフレーム作成処理を行い（ステップＳ２０３）、印刷データの表裏面が確定しているかチェックする（ステップＳ２０４）。
【００８５】
ステップＳ２０４で、印刷データの表裏面が確定しているときには、コントローラ１０は、表面用の印刷データを描画データに変換して第１フレームに描画し、裏面用の印刷データを描画データに変換して第２フレームに描画する面確定描画処理を行い（ステップＳ２０５）、面変更コマンドがあるかチェックする（ステップＳ２０６）。
【００８６】
ステップＳ２０４で、印刷データの表裏面が未確定のときには、上記作成した３つの描画フレームのうち２つの描画フレームに所定の描画法則に従って受信順に印刷データを描画データに変換して描画する面未確定描画処理を行い（ステップＳ２０９）、面変更コマンドがあるかチェックする（ステップＳ２０６）。
【００８７】
すなわち、コントローラ１０は、両面印刷であると、図６に示すように、ＲＡＭ１１上に、表面用の第１フレーム（表面用描画フレーム）、裏面用の第２フレーム（裏面用描画フレーム）及びテンポラリ用の第３フレーム（予備描画フレーム）を作成し、印刷データの表裏面が描画フレームに描画データとして描画した後に確定する場合、所定の描画法則により選択した２つの描画フレームに印刷データを描画データに変換して描画する。この描画法則としては、例えば、図７に示すように、第１フレーム→第２フレームの順に受信した印刷データに基づいて描画データを順次描画する第１・第２フレーム順描画法則、図８に示すように、第２フレーム→第３フレームの順に受信した印刷データに基づいて描画データを順次描画する第２・第３フレーム描画法則、図９に示すように、第１フレーム→第３フレームの順に受信した印刷データに基づいて描画データを順次描画する第１・第３フレーム順描画法則、図示しないが、最初に受信した印刷データによって描画データを描画する描画フレームは予め設定した描画フレームとし次に受信した印刷データによって描画データを描画する描画フレームを該次の印刷データのデータサイズ（データ量）に基づいて残る２つの描画フレームのうちいずれかの描画フレームに決定するデータサイズ描画法則、裏面の印刷データから送られてくることが確定している場合には、裏面の印刷データによる描画データを第２フレームに描画して次の印刷データが片面印刷の表面用印刷データであると該印刷データによる描画データを第３フレームに描画し第１フレームにダミーデータ（白紙）を描画する裏面優先描画法則、そして、上記各描画法則のうち処理速度が最も早くなる描画法則または３つの描画フレームのうち処理速度が最も速くなる描画フレームを描画データ量等で選択する速度優先描画法則等を用いることができる。この速度優先描画法則を用いる場合には、各ページの描画領域面積のサイズやデータ量をページ情報コマンドとしてホスト装置ＨＳから最初に通知してもらい、このページ情報コマンドで通知された情報に基づいてサイズの大きいページデータの描画先の描画フレームから他の描画フレームに描画データがコピーされることの少ない描画法則や描画フレームを選択する。
【００８８】
また、上記説明では、３つの描画フレームをＲＡＭ１１上に作成するものとして説明しているが、ＲＡＭ１１の容量が３つの描画フレームを作成する余裕がないときには、ハードディスク１８等の他の記憶媒体に描画フレームを確保して、該他の記憶媒体に描画した描画データを印刷に利用するときに、ＲＡＭ１１上に該描画データを移して利用するようにしてもよい。
【００８９】
さらに、ＣＰＵ１４は、１ページの印刷が完了すると、第３フレームを、次ページの処理にそのまま利用してもよい。例えば、第３フレームは、印刷に利用しないため、印刷完了のときに、該第３フレームにデータが存在しないと、次の両面印刷のページ処理の描画フレームの作成時に、該第３フレームをそのまま利用してもよい。
【００９０】
そして、ステップＳ２０６で、面変更コマンドがないときには、コントローラ１０は、第１フレームの描画データをエンジンＩ／Ｆ１６を介してエンジン３０に送ってエンジン３０で印刷させ、次いで、第２フレームの描画データをエンジン３０に送ってエンジン３０で印刷させる両面印刷処理を実行する（ステップＳ２０７）。
【００９１】
ステップＳ２０６で、面変更コマンドがあると、コントローラ１０は、面変更処理（制御処理）を行って、第１フレームに指定の表面用描画データが描画され、第２フレームに指定の裏面用描画データが描画されている状態とし（ステップＳ２０８）、該面変更処理後の第１フレームの描画データをエンジンＩ／Ｆ１６を介してエンジン３０に送ってエンジン３０で印刷させ、次いで、第２フレームの描画データをエンジン３０に送ってエンジン３０で印刷させる両面印刷処理を実行する（ステップＳ２０７）。
【００９２】
そして、ステップＳ２０８の面変更処理では、コントローラ１０は、図１０から図１２に示す面変更処理のうち、上記描画法則に応じた面変更処理を行う。
【００９３】
すなわち、コントローラ１０は、図７に示した第１・第２フレーム順描画法則によって描画した場合、図１０に示すように、まず、第１フレームの描画データが裏面用描画データであるかチェックし（ステップＳ３０１）、第１フレームの描画データが表面用描画データであるときには、面変更を行う必要がないと判断してそのまま処理を終了する。
【００９４】
ステップＳ３０１で、第１フレームの描画データが裏面用描画データであると、コントローラ１０は、面変更を行う必要があると判断して、まず、第１フレームの裏面用描画データを第３フレームにコピーし（ステップＳ３０２）、第２フレームの表面用描画データを第１フレームにコピーする（ステップＳ１０３）。次に、コントローラ１０は、第３フレームにコピーした裏面用描画データを第２フレームにコピーして、第１フレームに表面用描画データが描画され第２フレームに裏面用描画データが描画されている状態とする（ステップＳ３０４）。
【００９５】
なお、第１・第２フレーム順描画法則の場合の面変更処理は、上記手順に限るものではなく、例えば、図７に示す手順で面変更処理を行ってもよい。すなわち、コントローラ１０は、まず、図７（ａ）に示すように、第２フレームの表面用描画データを第３フレームにコピーし、次に、図７（ｂ）に示すように、第１フレームの裏面用描画データを第２フレームにコピーする。そして、コントローラ１０は、図７（ｃ）に示すように、第３フレームにコピーした表面用描画データを第１フレームにコピーして、図７（ｄ）に示すように、第１フレームに表面用描画データが、第２フレームに裏面用描画データが描画された状態とする。
【００９６】
また、コントローラ１０は、図８に示した第２・第３フレーム描画法則によって描画した場合、図１１に示すように、まず、第２フレームが裏面用描画データであるかチェックし（ステップＳ４０１）、図８（ａ）に示すように、第２フレームの描画データが裏面用描画データであるときには、第３フレームのデータが表面用描画データであると判断して、第３フレームの表面用描画データを第１フレームにコピーして（ステップＳ４０２）、図８（ｂ）に示すように、第１フレームに表面用描画データが描画され第２フレームに裏面用描画データが描画された状態として、面変更処理を終了する。
【００９７】
ステップＳ４０１で、図８（ｃ）に示すように、第２フレームの描画データが裏面用描画データではなく表面用描画データであると、コントローラ１０は、まず、第２フレームの表面用描画データを第１フレームにコピーし（ステップＳ４０３）、次に、図８（ｄ）に示すように、第３フレームの裏面用描画データを第２フレームにコピーして（ステップＳ４０４）、図８（ｅ）に示すように、第１フレームに表面用描画データが、第２フレームに裏面用描画データが描画されている状態として、面変更処理を終了する。
【００９８】
さらに、コントローラ１０は、図９に示した第１・第３フレーム描画法則によって描画した場合、図１２に示すように、まず、第３フレームが裏面用描画データであるかチェックし（ステップＳ５０１）、第３フレームが裏面用描画データであるときには、第１フレームの描画データは表面用描画データであると判断して、第３フレームの裏面用描画データを第２フレームにコピーして（ステップＳ５０２）、第１フレームに表面用描画データが、第２フレームに裏面用描画データが描画された状態として、面変更処理を終了する。
【００９９】
ステップＳ５０１で、図９（ａ）に示すように、第３フレームの描画データが裏面用描画データではなく表面用描画データであると、コントローラ１０は、第１フレームの描画データが裏面用描画データであると判断して、まず、第１フレームの裏面用描画データを第２フレームにコピーし（ステップＳ５０３）、次に、図９（ｂ）に示すように、第３フレームの表面用描画データを第１フレームにコピーして（ステップＳ５０４）、図９（ｃ）に示すように、第１フレームに表面用描画データが、第２フレームに裏面用描画データが描画されている状態として、面変更処理を終了する。
【０１００】
このように、本実施例のプリンタＰｒは、ＣＰＵ１４が、描画フレームとして表面用描画フレームである第１フレームと裏面用描画フレームである第２フレーム及び予備描画フレームである第３フレームの３つの描画フレームを作成し、印刷データのデータ順序が該描画フレームへの描画後に判明する場合、適宜の描画法則に従って該３つの描画フレームのうちの２つの描画フレームに順次描画し、該描画後に第１フレームと第２フレームのうち少なくともいずれかに表面用描画データと裏面用描画データが描画されていないことが判明すると、該３つの描画フレームを利用して第１フレームに表面用描画データが描画され第２フレームに裏面用描画データが描画されている状態に描画データを移している。
【０１０１】
したがって、印刷データのデータ構造や印刷目的等に応じて適宜描画処理を行うとともに、描画データの移し処理をより一層速やかにかつ適切に行うことができ、意図する両面印刷を適切かつより一層速やかに行うことができる。
【０１０２】
また、本実施例のプリンタＰｒは、ＣＰＵ１４が、描画法則として、第１フレームと第２フレームに順次描画する描画法則（第１・第２フレーム順描画法則）、第２フレームと第３フレームに順次描画する描画法則（第２・第３フレーム描画法則）、第１フレームと第３フレームに順次描画する描画法則（第１・第３フレーム順描画法則）、最初の描画対象の描画フレームを固定し次の描画対象の描画フレームを該次の描画対象の印刷データのデータ量に基づいて決定する描画法則（データサイズ描画法則）及び順次描画する２つの描画フレームを該描画対象の印刷データのデータ量等に基づいて処理速度を優先させて決定する描画法則（速度優先描画法則）等のうちいずれかの描画法則を用いている。
【０１０３】
したがって、印刷データのデータ構造や印刷目的等に応じて描画処理や描画データ処理を適宜行うことができるとともに、描画データの移し処理を削減することができ、意図する両面印刷を適切かつより一層速やかに行うことができる。
【０１０４】
さらに、本実施例のプリンタＰｒは、ＣＰＵ１４が、印刷データのデータ順序が描画フレームへの描画前に判明しており、印刷データのデータ順序が裏面用印刷データが先で次に表面用印刷データがある場合には、該先の裏面用印刷データに基づいて裏面用描画データを第２フレームに描画し、該次の表面用印刷データを第３フレームに描画し、第１フレームにダミーデータを描画している。
【０１０５】
したがって、表面を白紙にして、裏面だけ印刷する場合に、無駄なダミーデータの送信やデータ解析を行うことなく、ダミーデータを第１フレームに描画して、スループットを向上させつつ、適切に両面印刷を行うことができる。
【０１０６】
また、本実施例のプリンタＰｒは、ＣＰＵ１４が、１枚の用紙への両面印刷が完了すると、一旦作成した第３フレームを次のページの処理にそのまま利用している。
【０１０７】
したがって、描画フレーム作成処理時間を短縮することができ、両面印刷での処理時間をより一層向上させることができる。
【０１０８】
上記各実施例において、フレーム用記憶手段であるＲＡＭ１１の記憶容量との関係で描画フレームの数が作成対象の数（第１実施例では、２つ、第２実施例では３つ）よりも少ない数しかＲＡＭ１１に作成できないときには、該不足している描画フレームをハードディスク１８等の他の記憶媒体に一時的に作成している。
【０１０９】
したがって、プリンタＰｒの他の処理等でＲＡＭ１１の残り容量が少ないときにも、適切に描画フレームを作成して、両面印刷を適切に行うことができる。
【０１１０】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１１１】
本発明は、描画データを描画フレームに描画して印刷する場合に、意図する印刷結果となるように適切に描画データを処理するプリンタ、複合装置、複写装置等の画像形成装置、画像形成方法、画像形成制御プログラム及び記録媒体に利用することができる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１実施例を適用したプリンタの要部ブロック構成図。
【図２】図１のプリンタによる描画制御印刷処理を示すフローチャート。
【図３】図２の描画制御印刷処理で作成される２つの描画フレームの概念図。
【図４】図２の描画制御印刷処理による描画制御処理の説明図。
【図５】本発明の第２実施例を適用したプリンタによる描画制御印刷処理を示すフローチャート。
【図６】図５の描画制御印刷処理で作成される３つの描画フレームの概念図。
【図７】図５の描画制御印刷処理での第１・第２フレーム順描画法則による描画データの面変更処理の説明図。
【図８】図５の描画制御印刷処理での第２・第３フレーム順描画法則による描画データの面変更処理の説明図。
【図９】図５の描画制御印刷処理での第１・第３フレーム順描画法則による描画データの面変更処理の説明図。
【図１０】図５の描画制御印刷処理での第１・第２フレーム順描画法則による描画データの面変更処理を示すフローチャート。
【図１１】図５の描画制御印刷処理での第２・第３フレーム順描画法則による描画データの面変更処理を示すフローチャート。
【図１２】図５の描画制御印刷処理での第１・第３フレーム順描画法則による描画データの面変更処理を示すフローチャート。
【符号の説明】
【０１１３】
Ｐｒ  プリンタ
１０  コントローラ
１１  ＲＡＭ
１２  ＲＯＭ
１３  フォントＲＯＭ
１４  ＣＰＵ
１５  ＡＳＩＣ
１６  エンジンＩ／Ｆ
１７  ホストＩ／Ｆ
１８  ハードディスク
１９  ＮＩＣ
２０  タイマ
２１  バス
３０  エンジン
３１  ＳＤ  Ｉ／Ｆ
３２  カードＩ／Ｆ
ＨＳ  ホスト装置
【図１】
2008282325.tif 000003
【図２】
2008282325.tif 000004
【図３】
2008282325.tif 000005
【図４】
2008282325.tif 000006
【図５】
2008282325.tif 000007
【図６】
2008282325.tif 000008
【図７】
2008282325.tif 000009
【図８】
2008282325.tif 000010
【図９】
2008282325.tif 000011
【図１０】
2008282325.tif 000012
【図１１】
2008282325.tif 000013
【図１２】
2008282325.tif 000014