(57)【特許請求の範囲】
【請求項１】
画像データに基づく所望の画像の印刷を印刷装置に実行させる印刷データを生成する画像処理方法であって、
前記画像データに基づいて、所定長のデータ単位毎にデータ処理を行うデータ処理工程と、
前記データ処理工程のデータ処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいて前記データ処理結果の書き込みをデータ処理単位毎に行うデータ書き込み工程と、を含み、
前記書き込みデータテーブルが、前記データ処理工程のエンディアンと、前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンと、に基づいて構成され、
前記書き込みデータテーブルには、前記データ処理工程のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが同じ場合に対応する第１書き込みデータテーブルと、前記データ処理工程のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが異なる場合に対応する第２書き込みデータテーブルと、が含まれ、
前記データ書き込み工程が、前記データ処理工程のエンディアンと、前記書き込み先の画像処理系のエンディアンと、に対応して、前記第１書き込みデータテーブル、あるいは前記第２書き込みデータテーブルのいずれかを選択する工程を含むことを特徴とする画像処理方法。
【請求項２】
前記データ処理工程が、前記所望の画像を構成するドットの有無および／または大きさのデータを含むハーフトーンデータを生成するハーフトーン処理工程であることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
画像データに基づく所望の画像の印刷を印刷装置に実行させる印刷データを生成する画像処理装置であって、
前記画像データに基づいて、所定長のデータ単位毎にデータ処理を行うデータ処理部と、
前記データ処理部のデータ処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいて前記データ処理結果の書き込みをデータ処理単位毎に行うデータ書き込み部と、を備え、
前記書き込みデータテーブルが、前記データ処理部のエンディアンと、前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンと、に基づいて構成され、
前記書き込みデータテーブルとして、前記データ処理部のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが同じ場合に対応する第１書き込みデータテーブルと、前記データ処理部のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが異なる場合に対応する第２書き込みデータテーブルと、を備え、
前記データ書き込み部が、前記データ処理部のエンディアンと、前記書き込み先の画像処理系のエンディアンと、に対応して、前記第１書き込みデータテーブル、あるいは前記第２書き込みデータテーブルのいずれかを選択することを特徴とする画像処理装置。
【請求項４】
請求項３に記載の印刷装置および画像処理装置を備えることを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに基づき印刷装置に印刷を実行させる印刷データを生成する画像処理方法、該画像処理方法によって印刷データを生成する画像処理装置、および該画像処理装置を備える印刷システムに関する。
【背景技術】
【０００２】
印刷装置としてのインクジェット式プリンターは、画像処理技術と共に印刷技術の革新が進み、様々な印刷媒体に対して様々な表現手段を用い、様々な形態の印刷が可能になった。その結果、例えば、ポスター、看板、販促物、包装紙、衣料品などの作成に対応する商業用途向けの中型プリンターや、製品の生産ラインに組み込む工業用途向けの大型プリンターなどに盛んに用いられるようになった。それに伴い、大判で且つ高精細の印刷を行うための画像データのサイズが益々大きなものとなり、プリンターを駆動するための印刷データを生成する画像処理に要する時間が長大となった。これに対し、画像処理エンジンとして汎用ＤＳＰ（Digital Signal Processor）を用いるなど、処理の高速化が図られている。
【０００３】
印刷システムに汎用ＤＳＰを用いた場合に、メインのＣＰＵのエンディアンとＤＳＰのエンディアンとが異なる場合があり、その場合には、エンディアンの違いを吸収する手段を新たに設ける必要がある。例えば、特許文献１には、システム内にエンディアンの異なるＣＰＵが存在する場合の作業負担を低減できるようにするＣＰＵ間データ通信システムが記載されている。このＣＰＵ間データ通信システムは、ビッグエンディアンまたはリトルエンディアンのいずれか一方を、システム全体の統一エンディアンとして設定し、自己のエンディアンが統一エンディアンと異なるときに、ＣＰＵにて実行される通信用プログラムにおいて、通信相手のエンディアンにかかわらず、統一エンディアンとなるようにデータを並び替えて送信する送信側の並び替え処理を行う処理部分と、受信したデータを自己のエンディアンに並び替えてメモリーに格納する受信側の並び替え処理を行う処理部分とのうちの少なくとも一方を有するように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２２７９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のＣＰＵ間データ通信システムは、送信側あるいは受信側のいずれかで行う並び替え処理に要する時間が長大となってしまう場合があり、印刷システムにおけるメインＣＰＵとＤＳＰとの間でエンディアンの違いを吸収する手段としてこの並び替え処理の手段を活用した場合には、印刷効率を下げてしまう場合があるという課題があった。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題を解決するためになされたものであり、以下の適用例または形態として実現することが可能である。
【０００７】
［適用例１］  本適用例にかかる画像処理方法は、画像データに基づく所望の画像の印刷を印刷装置に実行させる印刷データを生成する画像処理方法であって、前記画像データに基づいて、所定長のデータ単位毎にデータ処理を行うデータ処理工程と、前記データ処理工程のデータ処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいて前記データ処理結果の書き込みをデータ処理単位毎に行うデータ書き込み工程と、を含み、前記書き込みデータテーブルが、前記データ処理工程のエンディアンと、前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンと、に基づいて構成されていることを特徴とする。
【０００８】
本適用例によれば、データ処理結果に応じた書き込みデータが配列された書き込みデータテーブルが、データ処理工程のエンディアンと、データ処理結果を書き込む書き込み先の画像処理系のエンディアンと、に基づいて構成されているため、データ処理結果の書き込みを行う都度、適切なエンディアンでの書き込みを完了させることができる。その為、改めてデータ処理が完了したデータ処理結果を書き込み先の画像処理系のエンディアンに合わせて並び替える処理を行う必要がなく、その結果、より高速に印刷データの生成を行うことができる。
【０００９】
［適用例２］  上記適用例にかかる画像処理方法において、前記書き込みデータテーブルには、前記データ処理工程のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが同じ場合に対応する第１書き込みデータテーブルと、前記データ処理工程のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが異なる場合に対応する第２書き込みデータテーブルと、が含まれ、前記データ書き込み工程が、前記データ処理工程のエンディアンと、前記書き込み先の画像処理系のエンディアンと、に対応して、前記第１書き込みデータテーブル、あるいは前記第２書き込みデータテーブルのいずれかを選択する工程を含むことを特徴とする。
【００１０】
本適用例によれば、データ処理工程のエンディアンと、データ処理結果を書き込む書き込み先の画像処理系のエンディアンとに対応させて適切な書き込みデータテーブルが選択されるため、印刷データを生成する画像処理系にエンディアンの異なる複数の画像処理系が含まれる場合や、画像処理系の一部をエンディアンの異なる画像処理系に取り換えた場合などにおいて、よりフレキシブルに対応させることができる。
【００１１】
［適用例３］  上記適用例にかかる画像処理方法において、前記データ処理工程が、前記所望の画像を構成するドットの有無および／または大きさのデータを含むハーフトーンデータを生成するハーフトーン処理工程であることを特徴とする。
【００１２】
本適用例によれば、ハーフトーン処理工程の処理結果を、その後の画像処理工程のエンディアンに対応させて書き込むことができるため、ハーフトーン処理工程におけるエンディアンと、ハーフトーン処理の結果を処理するその後の画像処理工程のエンディアンとが異なった場合においても、改めてハーフトーン処理が完了したデータを書き込み先の画像処理系のエンディアンに合わせて並び替える処理を行う必要がなく、その結果、より高速に印刷データの生成を行うことができる。
【００１３】
［適用例４］  本適用例にかかる画像処理装置は、画像データに基づく所望の画像の印刷を印刷装置に実行させる印刷データを生成する画像処理装置であって、前記画像データに基づいて、所定長のデータ単位毎にデータ処理を行うデータ処理部と、前記データ処理部のデータ処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいて前記データ処理結果の書き込みをデータ処理単位毎に行うデータ書き込み部と、を備え、前記書き込みデータテーブルが、前記データ処理部のエンディアンと、前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンと、に基づいて構成されていることを特徴とする。
【００１４】
本適用例によれば、データ処理結果に応じた書き込みデータが配列された書き込みデータテーブルが、データ処理部のエンディアンと、データ処理結果を書き込む書き込み先の画像処理系のエンディアンと、に基づいて構成されているため、データ処理結果の書き込みを行う都度、適切なエンディアンでの書き込みを完了させることができる。その為、改めてデータ処理が完了したデータ処理結果を書き込み先の画像処理系のエンディアンに合わせて並び替える処理を行う必要がなく、その結果、より高速に印刷データの生成を行うことができる。
【００１５】
［適用例５］  上記適用例にかかる画像処理装置において、前記書き込みデータテーブルとして、前記データ処理部のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが同じ場合に対応する第１書き込みデータテーブルと、前記データ処理部のエンディアンと前記データ処理結果を書き込む書き込み先の画像処理系のエンディアンとが異なる場合に対応する第２書き込みデータテーブルと、を備え、前記データ書き込み部が、前記データ処理部のエンディアンと、前記書き込み先の画像処理系のエンディアンと、に対応して、前記第１書き込みデータテーブル、あるいは前記第２書き込みデータテーブルのいずれかを選択することを特徴とする。
【００１６】
本適用例によれば、データ処理部のエンディアンと、データ処理結果を書き込む書き込み先の画像処理系のエンディアンとに対応させて適切な書き込みデータテーブルが選択されるため、画像処理装置において、印刷データを生成する画像処理系にエンディアンの異なる複数の画像処理系が含まれる場合や、画像処理系の一部をエンディアンの異なる画像処理系に取り換えた場合などにおいて、よりフレキシブルに対応させることができる。
【００１７】
［適用例６］  本適用例にかかる印刷システムは、上記適用例に記載の印刷装置および画像処理装置を備えることを特徴とする。
【００１８】
本適用例によれば、画像データに基づく所望の画像の印刷を印刷装置に実行させる印刷データを生成する画像処理装置が、より高速に印刷データの生成を行うことができるため、より効率的に印刷を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態１に係る印刷システムの構成を示す正面図
【図２】実施形態１に係る印刷システムの構成を示すブロック図
【図３】プリンタードライバーの基本機能の説明図
【図４】ハーフトーン処理を行った結果の画素データの配列の例を示す概念図
【図５】書き込みを行うデータをバイト単位で時間軸に並べた概念図
【図６】ハーフトーン処理を行った結果の画素データの配列を誤って認識した例を示す概念図
【図７】第１書き込みデータテーブルの例を示す概念図
【図８】第２書き込みデータテーブルの例を示す概念図
【図９】実施例１における印刷データ生成処理のフローを示すフローチャート
【図１０】実施例２における印刷データ生成処理のフローを示すフローチャート
【発明を実施するための形態】
【００２０】
以下に本発明を具体化した実施形態について、図面を参照して説明する。以下は、本発明の一実施形態であって、本発明を限定するものではない。なお、以下の各図においては、説明を分かりやすくするため、実際とは異なる尺度で記載している場合がある。また、図面に付記する座標においては、Ｚ軸方向が上下方向、＋Ｚ方向が上方向、Ｙ軸方向が前後方向、＋Ｙ方向が手前方向、Ｘ軸方向が左右方向、＋Ｘ方向が左方向、Ｘ−Ｙ平面が水平面としている。
【００２１】
（実施形態１）
＜印刷システム＞
図１は、実施形態１に係る印刷システム１の構成を示す正面図、図２は、同ブロック図である。
印刷システム１は、印刷装置１００および印刷装置１００に接続される「画像処理装置」としてのパーソナルコンピューター１１０（以下ＰＣ１１０と言う）から構成される。印刷装置１００は、ＰＣ１１０から受信する印刷データに基づいて、ロール状に巻かれた状態で供給される長尺状の印刷媒体５に所望の画像を印刷するインクジェットプリンターである。
【００２２】
＜画像処理装置（ＰＣ１１０）の基本構成＞
ＰＣ１１０は、プリンター制御部１１１、入力部１１２、表示部１１３、記憶部１１４などを備え、印刷装置１００に印刷を行わせる印刷ジョブの制御を行う。
ＰＣ１１０が動作するソフトウェアには、印刷する画像データを扱う一般的な画像処理アプリケーションソフトウェア（以下アプリケーションと言う）や、印刷装置１００の制御や、印刷装置１００に印刷を実行させるための印刷データを生成するプリンタードライバーソフトウェア（以下プリンタードライバーと言う）が含まれる。
【００２３】
プリンター制御部１１１は、ＣＰＵ（Central Processing Unit）１１５や、ＡＳＩＣ（Application Specific Integrated Circuit）１１６、ＤＳＰ（Digital Signal Processor）１１７、メモリー１１８、プリンターインターフェイス部１１９などを備え、印刷システム１全体の集中管理を行う。
入力部１１２は、ヒューマンインターフェイスとして情報入力手段である。具体的には、例えば、キーボードや情報入力機器が接続されるポートなどである。
表示部１１３は、ヒューマンインターフェイスとしての情報表示手段（ディスプレー）であり、プリンター制御部１１１の制御の基に、入力部１１２から入力される情報や、印刷装置１００に印刷する画像、印刷ジョブに関係する情報などが表示される。
記憶部１１４は、ハードディスクドライブ（ＨＤＤ）やメモリーカードなどの書き換え可能な記憶媒体であり、ＰＣ１１０が動作するソフトウェア（プリンター制御部１１１で動作するプログラム）や、印刷する画像、印刷ジョブに関係する情報などが記憶される。
メモリー１１８は、ＣＰＵ１１５が動作するプログラムを格納する領域や動作する作業領域などを確保する記憶媒体であり、ＲＡＭ、ＥＥＰＲＯＭなどの記憶素子によって構成される。また、メモリー１１８には、ＤＳＰ１１７により、後述する「データ処理結果」が記憶される。
【００２４】
＜印刷装置１００の基本構成＞
印刷装置１００は、印刷部１０、印刷媒体移動部２０、制御部３０などから構成されている。ＰＣ１１０から印刷データを受信した印刷装置１００は、制御部３０によって印刷部１０、印刷媒体移動部２０を制御し、印刷媒体５に画像を印刷（画像形成）する。
印刷データは、例えば、デジタルカメラなどによって得られた一般的な画像データ（例えば、ＲＧＢのデジタル画像情報）を、ＰＣ１１０が備えるアプリケーションおよびプリンタードライバーによって印刷装置１００で印刷できるように変換処理した画像形成用のデータであり、印刷装置１００を制御するコマンドを含んでいる。
【００２５】
印刷部１０は、印刷ヘッド１１、印刷ヘッド制御部１２などから構成されている。
印刷媒体移動部２０は、主走査部４０、副走査部５０などから構成されている。主走査部４０は、キャリッジ４１、ガイド軸４２、キャリッジモーター（図示省略）などから構成されている。副走査部５０は、供給部５１、収納部５２、搬送ローラー５３、プラテン５５などから構成されている。
【００２６】
印刷ヘッド１１は、印刷用インク（以下インクと言う）を液滴（以下インク滴とも言う）として吐出する複数のノズル（ノズル列）を有している。印刷ヘッド１１は、キャリッジ４１に搭載され、走査方向（図１に示すＹ軸方向）に移動するキャリッジ４１に伴って走査方向に往復移動する。印刷ヘッド１１が走査方向に移動しながら制御部３０の制御の下に、プラテン５５に支持される印刷媒体５にインク滴を吐出することによって、走査方向に沿ったドットの列（ラスタライン）が印刷媒体５に形成される。
【００２７】
インクには、例えば、濃インク組成物からなるインクセットとして、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）の３色のインクセットにブラック（Ｋ）を加えた４色のインクセットなどがある。また、例えば、それぞれの色材の濃度を淡くした淡インク組成物からなるライトシアン（Ｌｃ）、ライトマゼンタ（Ｌｍ）、ライトイエロー（Ｌｙ）、ライトブラック（Ｌｋ）などのインクセットを加えた８色のインクセットなどがある。
【００２８】
インク滴を吐出する方式（インクジェット方式）としては、好適例としてピエゾ方式を用いている。ピエゾ方式は、圧力室に貯留されたインクに圧電素子（ピエゾ素子）により印刷情報信号に応じた圧力を加え、圧力室に連通するノズルからインク滴を噴射（吐出）し印刷する方式である。
なお、インク滴を吐出する方式は、これに限定するものではなく、インクを液滴状に噴射させ、印刷媒体上にドット群を形成する他の記録方式であってもよい。例えば、小型ポンプでインクに圧力を加え、ノズルを水晶振動子などで機械的に振動させることにより、強制的にインク滴を噴射させる方式、インクを記録情報信号に従って微小電極で加熱発泡させ、インク滴を噴射し記録する方式（サーマルジェット方式）などであってもよい。
【００２９】
印刷媒体移動部２０（主走査部４０、副走査部５０）は、制御部３０の制御の下に、印刷媒体５を印刷部１０に対し相対移動させる。
ガイド軸４２は、走査方向に延在しキャリッジ４１を摺接可能な状態で支持し、また、キャリッジモーターは、キャリッジ４１をガイド軸４２に沿って往復移動させる際の駆動源となる。つまり、主走査部４０（キャリッジ４１、ガイド軸４２、キャリッジモーター）は、制御部３０の制御の下にキャリッジ４１を（つまりは、印刷ヘッド１１を）ガイド軸４２に沿って走査方向に移動させる。
【００３０】
供給部５１は、印刷媒体５がロール状に巻かれたリールを回転可能に支持し、印刷媒体５を搬送経路に送り出す。収納部５２は、印刷媒体５を巻き取るリールを回転可能に支持し、印刷が完了した印刷媒体５を搬送経路から巻き取る。
搬送ローラー５３は、印刷媒体５を走査方向と交差する副走査方向（図１に示すＸ軸方向）に移動させる駆動ローラーや印刷媒体５の移動に伴って回転する従動ローラーなどから成り、印刷媒体５を供給部５１から印刷部１０の印刷領域（プラテン５５の上面で印刷ヘッド１１が走査移動する領域）を経由し、収納部５２に搬送する搬送経路を構成する。
【００３１】
制御部３０は、インターフェイス部３１、ＣＰＵ３２、メモリー３３、駆動制御部３４、駆動データセット部３５などを備え、印刷装置１００の制御を行う。
インターフェイス部３１は、プリンターインターフェイス部１１９に接続され、ＰＣ１１０と印刷装置１００との間でデータの送受信を行う。
ＣＰＵ３２は、印刷装置１００全体の制御を行うための演算処理装置である。
メモリー３３は、ＣＰＵ３２が動作するプログラムを格納する領域や動作する作業領域などを確保する記憶媒体であり、ＲＡＭ、ＥＥＰＲＯＭなどの記憶素子によって構成される。
ＣＰＵ３２は、メモリー３３に格納されているプログラム、およびＰＣ１１０から受信した印刷データに従って、駆動制御部３４を介して印刷媒体移動部２０（主走査部４０、副走査部５０）、印刷部１０（印刷ヘッド１１）を制御すると共に、駆動データセット部３５を介して後述するヘッド駆動データを順次印刷ヘッド制御部１２に送出する。
【００３２】
以上の構成により、制御部３０は、副走査部５０（供給部５１、搬送ローラー５３）によって印刷領域に供給された印刷媒体５に対し、ガイド軸４２に沿って印刷ヘッド１１を支持するキャリッジ４１を走査方向（Ｙ軸方向）移動させながら印刷ヘッド１１からインク滴を吐出する動作と、副走査部５０（搬送ローラー５３）により走査方向と交差する搬送方向（＋Ｘ方向）に印刷媒体５を移動させる動作とを交互に繰り返すことにより、印刷媒体５に所望の画像を形成（印刷）する。
【００３３】
＜プリンタードライバーの基本機能＞
図３は、プリンタードライバーの基本機能の説明図である。
印刷媒体５への印刷は、ＰＣ１１０から印刷装置１００に印刷データが送信されることにより開始される。印刷データは、プリンタードライバーによって生成される。
以下、印刷データの生成処理について、図３を参照しながら説明する。
【００３４】
プリンタードライバーは、アプリケーションから画像データ（例えば、テキストデータやフルカラーのイメージデータなど）を受け取り、印刷装置１００が解釈できる形式の印刷データに変換し、印刷データを印刷装置１００に出力する。アプリケーションからの画像データを印刷データに変換する際に、プリンタードライバーは、解像度変換処理・色変換処理・ハーフトーン処理・ラスタライズ処理・コマンド付加処理などを行う。
【００３５】
解像度変換処理は、アプリケーションから出力された画像データを、印刷媒体５に印刷する際の解像度（印刷解像度）に変換する処理である。例えば、印刷解像度が７２０×７２０ｄｐｉに指定されている場合、アプリケーションから受け取ったベクター形式の画像データを７２０×７２０ｄｐｉの解像度のビットマップ形式の画像データに変換する。解像度変換処理後の画像データの各画素データは、マトリクス状に配置された画素から構成されている。各画素はＲＧＢ色空間の例えば２５６階調の階調値を有している。つまり、解像度変換後の画素データは、対応する画素の階調値を示すものである。
マトリクス状に配置された画素の内の所定の方向に並ぶ１列分の画素に対応する画素データを、ラスタデータと言う。なお、ラスタデータに対応する画素が並ぶ所定の方向は、画像を印刷するときの印刷ヘッド１１の移動方向（走査方向）と対応している。
【００３６】
色変換処理は、ＲＧＢデータをＣＭＹＫ色系空間のデータに変換する処理である。ＣＭＹＫ色とは、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）であり、ＣＭＹＫ色系空間の画像データは、印刷装置１００が有するインクの色に対応したデータである。従って、例えば、印刷装置１００がＣＭＹＫ色系の１０種類のインクを使用する場合には、プリンタードライバーは、ＲＧＢデータに基づいて、ＣＭＹＫ色系の１０次元空間の画像データを生成する。
この色変換処理は、ＲＧＢデータの階調値とＣＭＹＫ色系データの階調値とを対応づけたテーブル（色変換ルックアップテーブルＬＵＴ）に基づいて行われる。なお、色変換処理後の画素データは、ＣＭＹＫ色系空間により表される例えば２５６階調のＣＭＹＫ色系データである。
【００３７】
ハーフトーン処理は、高階調数（２５６階調）のデータを、印刷装置１００が形成可能な階調数のデータに変換する処理である。このハーフトーン処理により、２５６階調を示すデータが、２階調（ドット有り、無し）を示す１ビットデータや、４階調（ドット無し、小ドット、中ドット、大ドット）を示す２ビットデータに変換される。具体的には、階調値（０〜２５５）とドット生成率が対応したドット生成率テーブルから、階調値に対応するドットの生成率（例えば、４階調の場合は、ドット無し、小ドット、中ドット、大ドットのそれぞれの生成率）を求め、得られた生成率において、ディザ法・誤差拡散法などを利用して、ドットが分散して形成されるように画素データが作成される。
つまり、ハーフトーン処理後の画素データは、１ビットまたは２ビットのデータであり、この画素データは各画素でのドットの形成（ドットの有無、ドットの大きさ）を示すデータになる。例えば、２ビット（４階調）の場合、ドット無しに対応するドット階調値［００］、小ドットの形成に対応するドット階調値［０１］、中ドットの形成に対応するドット階調値［１０］、および、大ドットの形成に対応するドット階調値［１１］のように４段階に変換される。
なお、本実施形態においては、ハーフトーン処理工程が、所定長のデータ単位毎にデータ処理を行う「データ処理工程」に該当する。
【００３８】
図４は、ハーフトーン処理を行った結果の画素データの配列の例を示している。図示する例では、高階調数（２５６階調）の画像データを、ハーフトーン処理により４×４のマトリクスの２ビットデータに展開した結果を示している。これは１つのインクに対応するものであり、インク色毎に、このような２ビットデータに展開される。
４×４のマトリクスに並ぶｄ１〜ｄ１６は、それぞれドットの形成位置に対応する２ビットデータであり、ハーフトーン処理によって得られた［００］、［０１］、［１０］、［１１］のいずれかのデータが入る。
なお、以下の説明は、ハーフトーン処理後の画素データが２ビット（４階調：ドット無し、小ドット、中ドット、大ドット）の場合について行う。
【００３９】
ラスタライズ処理は、マトリクス状に並ぶ画素データ（２ビットのデータ）を、印刷時のドット形成順序に従って並べ替える処理である。
コマンド付加処理は、ラスタライズ処理されたデータに、印刷方式に応じたコマンドデータを付加する処理である。コマンドデータとしては、例えば媒体の搬送仕様（副走査方向への移動量や速度など）に関わる搬送データなどがある。
プリンタードライバーによるこれらの処理は、ＣＰＵ１１５の制御の元にＡＳＩＣ１１６およびＤＳＰ１１７（図２参照）によって行われ、生成された印刷データは、プリンターインターフェイス部１１９を介して印刷装置１００に送信される。
【００４０】
以上説明した印刷データの生成処理（画像処理）は、印刷する画像のサイズが大きくなり、使用インク数が増加し、品質（解像度）が高くなるほど、処理を行う画素数が多くなるため、画像処理に要する時間が長くなる。その結果、印刷データが生成されるまで印刷を開始できないため、この画像処理時間によっては、印刷効率が著しく低下する場合がある。
そこで、本実施形態では、印刷データの生成処理の内、最も処理負荷の大きなハーフトーン処理を、より高速に演算を行うことができるＤＳＰ１１７により実行させている。ＤＳＰ１１７には、汎用のＤＳＰを使用することが可能であり、画像処理の負荷がより大きくなった場合には、複数のＤＳＰ１１７を用い、並行処理させることも可能である。
【００４１】
しかしながら、ＤＳＰ１１７に汎用のＤＳＰを用いた場合、ＡＳＩＣ１１６のエンディアンと、ＤＳＰ１１７のエンディアンが異なる場合がある。エンディアンの違いにより処理結果に影響が出てしまう場合は、処理結果をエンディアンに合わせて変換処理を行うことで対処できるが、この変換処理に時間を要することにより、印刷データの生成、つまりは印刷の効率を低下させることとなる。
印刷データの生成処理においては、高階調数（２５６階調）の画像データが、ハーフトーン処理により４×４のマトリクスの２ビットデータ（２ビット×１６個＝３２ビット＝４バイト）に展開されるため、バイト単位で処理される順番が変わると処理結果に影響が発生してしまう。つまり、少なくとも、ハーフトーン処理の前後では、エンディアンの違いを吸収するする処理が必要となる。そこで、本実施形態では、更に、画素毎にハーフトーン処理を行った結果の書き込み処理にあたり、処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいて処理結果の書き込みをデータ処理単位毎に行う際に、書き込みデータテーブルを、ＡＳＩＣ１１６のエンディアンと、ＤＳＰ１１７のエンディアンとに基づいて構成することで、その後の変換処理を行う必要が無いようにしている。
なお、本実施形態においては、ハーフトーン処理を行った結果の書き込み処理を行う工程が「データ書き込み工程」に該当する。
以下に具体的に説明する。
【００４２】
まず、ハーフトーン処理結果の引き渡しにおけるエンディアンの違いによる影響について説明する。ハーフトーン処理結果の引き渡しとは、ＤＳＰ１１７によるハーフトーン処理の結果を、引き続くＡＳＩＣ１１６によるラスタライズ処理への引き渡しを意味しており、具体的には、メモリー１１８への書き込みを行う処理である。
【００４３】
ＤＳＰ１１７は、高階調数（２５６階調）の画像データに対応するハーフトーン処理を完了し、図４に示す４×４のマトリクスを構成する２ビットデータのセット（ｄ１〜ｄ１６）を出力する。２ビットデータの４×４のマトリクスセットは、２ビット×１６個＝３２ビット＝４バイトのデータであり、例えば、ＤＳＰ１１７がビッグエンディアンの記録方式により、メモリー１１８にデータを書き込む場合、図５に示すように、上位バイトからの書き込みを行う。図５は、書き込みを行うデータをバイト単位で時間軸に並べた図である。メモリー１１８には、ビッグエンディアンの記録方式により記録されるため、図５に示す並びのままのデータ列として３２ビット＝４バイトのデータが記録される。
【００４４】
これに対し、例えば、ＡＳＩＣ１１６によるラスタライズ処理が、リトルエンディアンによる記録方式により行われる場合、２ビットデータの４×４のマトリクスセットが、下位バイトからの書き込みが行われたデータとして認識されるため、ＡＳＩＣ１１６は、４×４のマトリクスに構成した場合、図６に示す並びのマトリクスとして誤って認識してしまう。
そこで、本実施形態では、この誤認識を防ぐために、ＤＳＰ１１７が、書き込み先の画像処理系のエンディアンであるＡＳＩＣ１１６のエンディアンに合わせて書き込みを行うようにしている。
【００４５】
ハーフトーン処理結果の書き込みは、具体的には、以下の処理を行っている。
まず、書き込み先の画像処理系のエンディアンが同一の場合の方法について説明する。
ハーフトーン処理結果の書き込みは、ハーフトーン処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいて処理結果の書き込みをデータ処理単位毎に行っている。
【００４６】
図７は、「データ処理工程」としてのハーフトーン処理工程のエンディアンと、データ処理結果（ハーフトーン処理結果）を書き込む書き込み先の画像処理系のエンディアン（ＡＳＩＣ１１６のエンディアン）とが同じ場合に対応する書き込みデータテーブル（第１書き込みデータテーブル）の例である。このデータテーブル（以下、第１書き込みデータテーブルと言う）は、図４に示す２ビットデータの４×４のマトリクスセットに対応するデータ列としての３２ビット＝４バイトのデータ列（図５に示す単位長のデータ列）を生成するためのデータテーブルである。図７における上中下段の４行毎のブロックは、それぞれ小ドット、中ドット、大ドットに対応しており、各ブロックの１〜４行、Ａ〜Ｄ列は、図４の４×４のマトリクス位置に対応している。また、枠内に示す数値は１６進の表記をしている。
【００４７】
ハーフトーン処理結果の書き込み工程では、この第１書き込みデータテーブルの数値を用いて、書き込みを行う３２ビット＝４バイトのデータ列を生成する。具体的には、ハーフトーン処理によって得られた４×４のマトリクスのマトリクス内の位置とその位置の２ビットデータ（４階調）の値に対応する位置のデータ（対応するビットを１としているデータ）を選択し、選択された１６個のデータをすべて加算することにより、書き込みを行う３２ビット＝４バイトのデータ列が生成される。
【００４８】
例えば、ハーフトーン処理の結果、ｄ１〜ｄ４が［０１］、［１０］、［１１］、［００］（つまり小ドット、中ドット、大ドット、ドット無し）、ｄ５〜ｄ１６が［００］（つまりドット無し）と変換された場合を説明する。第１書き込みデータテーブル（図７）から、まず、ｄ１＝小ドットに対応する位置（小１行Ａ列）のデータ（４０００００００）が選択される。同様に、ｄ２＝中ドットに対応する位置（中１行Ｂ列）のデータ（２０００００００）が選択され、ｄ３＝大ドットに対応する位置（大１行Ｃ列）のデータ（０Ｃ００００００）が選択される。ｄ４〜ｄ１６は、ドット無しのためデータ（００００００００）が選択される。これらのデータを加算すると、６Ｃ００００００となる。２進表記にすると、６Ｃの部分は０１１０１１００であり、このビットの並びは、ｄ１〜ｄ４の並び［０１］、［１０］、［１１］、［００］が、最上位バイトの位置に置かれたデータ列となる。
【００４９】
図８は、「データ処理工程」としてのハーフトーン処理工程のエンディアンと、データ処理結果（ハーフトーン処理結果）を書き込む書き込み先の画像処理系のエンディアンとが異なる場合に対応する書き込みデータテーブル（第２書き込みデータテーブル）の例である。このデータテーブル（以下、第２書き込みデータテーブルと言う）を用いて、上記と同様の処理を行うことにより、異なるエンディアンに合わせて書き込みを行う３２ビット＝４バイトのデータ列が生成される。
【００５０】
例えば、上記と同様にハーフトーン処理の結果、ｄ１〜ｄ４が［０１］、［１０］、［１１］、［００］、ｄ５〜ｄ１６が［００］と変換された場合を説明する。第２書き込みデータテーブル（図８）から、まず、ｄ１＝小ドットに対応する位置（小１行Ａ列）のデータ（００００００４０）が選択される。同様に、ｄ２＝中ドットに対応する位置（中１行Ｂ列）のデータ（００００００２０）が選択され、ｄ３＝大ドットに対応する位置（大１行Ｃ列）のデータ（０００００００Ｃ）が選択される。ｄ４〜ｄ１６＝ドット無しのためデータ（００００００００）が選択される。これらのデータを加算すると、００００００６Ｃとなる。２進表記にすると、６Ｃの部分は０１１０１１００であり、このビットの並びは、ｄ１〜ｄ４の並び［０１］、［１０］、［１１］、［００］が、最下位バイトの位置に置かれたデータ列となる。
【００５１】
このように、ハーフトーン処理結果に応じた書き込みデータが配列された書き込みデータテーブルを、ハーフトーン処理工程のエンディアンと、書き込み先の画像処理系のエンディアンとを考慮して構成することで、新たな変換処理を行うことなくエンディアンに整合した適切な書き込みを行うことができる。この方法を活用するいくつかの画像処理装置（ＰＣ１１０）の実施例について説明する。
【００５２】
（実施例１）
実施例１に係る画像処理装置は、図２に示すＰＣ１１０において、ＡＳＩＣ１１６とエンディアンが異なるＤＳＰ１１７を１つ用いた場合の構成である。
印刷データの生成処理は、解像度変換処理および色変換処理をＡＳＩＣ１１６にて行い、その後のハーフトーン処理をＤＳＰ１１７に実行させる。また、ＤＳＰ１１７は、ハーフトーン処理結果をメモリー１１８に書き込み、ＡＳＩＣ１１６は、その後のラスタライズ処理以降を行う。記憶部１１４には、予め第２書き込みデータテーブルを記憶させておく。
【００５３】
図９は、実施例１における「画像処理方法」としての印刷データ生成処理のフローを示すフローチャートである。
実施例１の構成において、画像データに基づいて、所定長のデータ単位毎にデータ処理を行う「データ処理部」は、ハーフトーン処理を行うＤＳＰ１１７の機能部１２０として構成される。また、データ処理部のデータ処理結果に応じた書き込みデータが配列された書き込みデータテーブルに基づいてデータ処理結果の書き込みをデータ処理単位毎に行う「データ書き込み部」は、ハーフトーン処理結果に応じた書き込みデータが配列された第２書き込みデータテーブルに基づいてハーフトーン処理結果の書き込みをデータ処理単位毎に行うＤＳＰ１１７の機能部１２１として構成される。
【００５４】
プリンタードライバーは、アプリケーションから画像データを受け取り、ＡＳＩＣ１１６にて解像度変換処理および色変換処理を行う（ステップＳ１、Ｓ２）。
次に、ＤＳＰ１１７は、機能部１２０において、色変換処理結果を受けてハーフトーン処理を行う（ステップＳ３）。
次に、ＤＳＰ１１７は、機能部１２１において、第２書き込みデータテーブルを参照して書き込みデータ（図５に示す単位長のデータ列）を生成し（ステップＳ４）、メモリー１１８にハーフトーン処理結果として書き込みを行う（ステップＳ５）。
【００５５】
次に、ＡＳＩＣ１１６は、メモリー１１８からハーフトーン処理結果を読み込み、引き続くラスタライズ処理およびコマンド付加処理を行い、印刷データを完成させる（ステップＳ６、Ｓ７）。
【００５６】
（実施例２）
実施例２に係る画像処理装置は、図２に示すＰＣ１１０において、ＡＳＩＣ１１６とエンディアンが異なるＤＳＰ１１７を含むＤＳＰ１１７を複数用いた場合の構成である。つまり、エンディアンの異なるＤＳＰ１１７が混在する場合の例である。
印刷データの生成処理は、解像度変換処理および色変換処理をＡＳＩＣ１１６にて行い、その後のハーフトーン処理を複数のＤＳＰ１１７に分担して実行させる。また、複数のＤＳＰ１１７のそれぞれは、ハーフトーン処理結果をメモリー１１８に書き込み、ＡＳＩＣ１１６は、その後のラスタライズ処理以降を行う。記憶部１１４には、予め第１書き込みデータテーブルおよび第２書き込みデータテーブルを記憶させておく。
【００５７】
図１０は、実施例２における「画像処理方法」としての印刷データ生成処理のフローを示すフローチャートである。図１０は、複数のＤＳＰ１１７としてＤＳＰ１１７ａとＤＳＰ１１７ｂの２つを用いた場合のフローを示している。ＤＳＰ１１７ａはＡＳＩＣ１１６とエンディアンが同じであり、ＤＳＰ１１７ｂはＡＳＩＣ１１６とエンディアンが異なる。なお、ＤＳＰ１１７の数は、２つに限定するものではない。例えば、インクの数に対応する数のＤＳＰ１１７を搭載し、インクの種類毎にハーフトーン処理を分担する構成であっても良い。
【００５８】
プリンタードライバーは、アプリケーションから画像データを受け取り、ＡＳＩＣ１１６にて解像度変換処理および色変換処理を行う（ステップＳ１、Ｓ２）。
次に、ＤＳＰ１１７ａおよびＤＳＰ１１７ｂは、それぞれの機能部１２０において、色変換処理結果を受けてそれぞれの分担のハーフトーン処理を行う（ステップＳ３）。
【００５９】
次に、ＤＳＰ１１７ａおよびＤＳＰ１１７ｂは、それぞれの機能部１２１において、それぞれのエンディアンを認識し（ステップＳ４）、認識したエンディアンに対応する書き込みデータテーブルを選択する（ステップＳ５）。具体的には、ＤＳＰ１１７ａは、エンディアンが同じ場合に対応する第１書き込みデータテーブルを選択し、ＤＳＰ１１７ｂは、エンディアンが異なる場合に対応する第２書き込みデータテーブルを選択する。次にそれぞれが選択した書き込みデータテーブルを参照し、書き込みデータ（図５に示す単位長のデータ列）を生成し（ステップＳ６）、メモリー１１８にハーフトーン処理結果として書き込みを行う（ステップＳ７）。
なお、ステップＳ４のエンディアンの認識とステップＳ５の書き込みデータテーブルの選択は、初回のみ行えば良く、２回目からの書き込みデータの生成（ステップＳ６）は、初回に選択された同じ書き込みデータテーブルを参照して行えば良い。
【００６０】
次に、ＡＳＩＣ１１６は、メモリー１１８からハーフトーン処理結果を読み込み、引き続くラスタライズ処理およびコマンド付加処理を行い、印刷データを完成させる（ステップＳ８、Ｓ９）。
【００６１】
以上述べたように、本実施形態による画像処理方法、画像処理装置、および印刷システムによれば、以下の効果を得ることができる。
ハーフトーン処理結果に応じた書き込みデータが配列された書き込みデータテーブル（第１書き込みデータテーブルおよび第２書き込みデータテーブル）が、ハーフトーン処理工程（ＤＳＰ１１７）のエンディアンと、ハーフトーン処理結果を書き込む書き込み先の画像処理系（ＡＳＩＣ１１６）のエンディアンと、に基づいて構成されているため、ハーフトーン処理結果の書き込みを行う都度、適切なエンディアンでの書き込みを完了させることができる。その為、改めてハーフトーン処理が完了した処理結果を書き込み先の画像処理系（ＡＳＩＣ１１６）のエンディアンに合わせて並び替える処理を行う必要がなく、その結果、より高速に印刷データの生成を行うことができる。
【００６２】
また、実施例２においては、ハーフトーン処理工程（ＤＳＰ１１７）のエンディアンと、ハーフトーン処理結果を書き込む書き込み先の画像処理系（ＡＳＩＣ１１６）のエンディアンとに対応させて適切な書き込みデータテーブルが選択されるため、印刷データを生成する画像処理系にエンディアンの異なる複数の画像処理系が含まれる場合や、画像処理系の一部をエンディアンの異なる画像処理系に取り換えた場合などにおいて、よりフレキシブルに対応させることができる。
【００６３】
また、印刷システム１は、印刷装置１００および画像処理装置（ＰＣ１１０）を備えることにより、画像データに基づく所望の画像の印刷を印刷装置１００に実行させる印刷データを生成する画像処理装置（ＰＣ１１０）が、より高速に印刷データの生成を行うことができるため、より効率的に印刷を行うことができる。
【００６４】
なお、上述した実施例２では、ＡＳＩＣ１１６とエンディアンが異なるＤＳＰ１１７を含むＤＳＰ１１７を複数用いた場合の構成を説明したが、画像処理装置（ＰＣ１１０）の構成としては、予め搭載するＤＳＰ１１７のタイプおよび数を固定して画像処理装置として構成し完成させておく場合と、印刷を行う際に必要に応じて必要な数のＤＳＰ１１７を増設して構成する場合の両方が考えられる。
予め搭載するＤＳＰ１１７のタイプおよび数を固定して構成する場合には、画像処理装置を構成した段階で、画像処理装置としてエンディアンの構成を認識し、対応する書き込みデータテーブルを設定しておけば良い。また、印刷を行う際に必要に応じて必要な数のＤＳＰ１１７を増設して構成する場合には、ＤＳＰ１１７を増設するなど、画像処理装置の構成を変更する都度、エンディアンの構成を認識し、対応する必要な書き込みデータテーブルを選択するように構成すれば良い。いずれにしろ、ＤＳＰ１１７においてハーフトーン処理を行う段階で、個々のＤＳＰ１１７のエンディアンの認識とそれに対応する書き込みデータテーブルの選択が完了していれば、実施例２において説明したステップＳ４とステップＳ５の段階で改めて実施する必要は無い。
【符号の説明】
【００６５】
１…印刷システム、５…印刷媒体、１０…印刷部、１１…印刷ヘッド、１２…印刷ヘッド制御部、２０…印刷媒体移動部、３０…制御部、３１…インターフェイス部、３２…ＣＰＵ、３３…メモリー、３４…駆動制御部、３５…駆動データセット部、４０…主走査部、４１…キャリッジ、４２…ガイド軸、５０…副走査部、５１…供給部、５２…収納部、５３…搬送ローラー、５５…プラテン、１００…印刷装置、１１０…パーソナルコンピューター（ＰＣ）、１１１…プリンター制御部、１１２…入力部、１１３…表示部、１１４…記憶部、１１５…ＣＰＵ、１１６…ＡＳＩＣ、１１７…ＤＳＰ、１１８…メモリー、１１９…プリンターインターフェイス部、１２０，１２１…機能部。
【図１】
0006540458.tif 000002
【図２】
0006540458.tif 000003
【図３】
0006540458.tif 000004
【図４】
0006540458.tif 000005
【図５】
0006540458.tif 000006
【図６】
0006540458.tif 000007
【図７】
0006540458.tif 000008
【図８】
0006540458.tif 000009
【図９】
0006540458.tif 000010
【図１０】
0006540458.tif 000011