【事件の表示】
　特許第３４２７９７５号「プリンタ制御回路、プリンタ及びプリントシステム」の請求項２、５、８に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３４２７９７５号の請求項２、５、８、１１に係る特許を維持する。
【理　由】
１．手続の経緯
　本件特許第３４２７９７５号の請求項２、５及び８に係る発明は、平成１１年７月１日に特許出願され、平成１５年５月１６日に設定登録がなされ、小牧常松より特許異議の申立がなされ、取消理由通知がなされ、その指定期間内である平成１６年６月２８日に訂正請求がなされたものである。
２．訂正の適否について
　ア．訂正の内容
　訂正事項ａ
　特許請求の範囲における請求項２に係る記載
「【請求項２】　ホスト装置とプリンタとの間に接続されるプリンタ制御回路であって、
　１画素データを構成するバイト配列がホスト装置内のＯＳに依存している原画像ラスタデータと、前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータとを、前記ホスト装置から受信する受信手段と、
　前記バイト順序パラメータに基づいて、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と
　前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路とを備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送するプリンタ制御回路。」を、
「【請求項２】　ホスト装置とプリンタとの間に接続されるプリンタ制御回路であって、
　１画素データを構成するバイト配列がホスト装置内のＯＳに依存している原画像ラスタデータと、前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータと、前記原画像ラスタデータを構成するバイトデータ中の有効バイト数を示す有効バイト数パラメータとを、前記ホスト装置から受信する受信手段と、
　前記原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタと、
　前記バイト位置カウンタによるカウント結果と、前記バイト順序パラメータとに基づいて、レジスタのどのバイト位置に各バイトデータを書込むかを判断し、各バイトデータを、前記レジスタの所定のバイト位置に書込むことにより、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と、
　前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路とを備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送するプリンタ制御回路。」と訂正する。
　訂正事項ｂ
　特許請求の範囲における請求項５に係る記載
「【請求項５】　請求項１乃至請求項４のいずれか１項記載のプリンタ制御回路を備えるプリンタ。」を、
「【請求項５】　請求項１、請求項３乃至請求項４のいずれか１項記載のプリンタ制御回路を備えるプリンタ。」と訂正する。
　訂正事項ｃ
　特許請求の範囲に「【請求項１１】　請求項２記載のプリンタ制御回路を備えるプリンタ。」を追加する。
　訂正事項ｄ
　特許請求の範囲における請求項８に係る記載
「【請求項８】　ホスト装置と、
　プリンタと、
　前記ホスト装置と前記プリンタとに接続されたプリンタ制御回路とを備え、
　ホスト装置は、
　１画素データを構成するバイト配列が前記ホスト装置内のＯＳに依存している原画像ラスタデータを作成する原画像ラスタデータ作成手段と、
　前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータを生成するパラメータ生成手段と、
　前記バイト順序パラメータと前記原画像ラスタデータとを、前記プリンタ制御回路に送信する送信手段とを備え、
　前記プリンタ制御回路は、
　前記原画像ラスタデータと前記バイト順序パラメータとを、前記ホスト装置から受信する受信手段と、
　前記バイト順序パラメータに基づいて、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路とを備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送する、
プリントシステム。」を、
「【請求項８】　ホスト装置と、
　プリンタと、
　前記ホスト装置と前記プリンタとに接続されたプリンタ制御回路とを備え、
　ホスト装置は、
　１画素データを構成するバイト配列が前記ホスト装置内のＯＳに依存している原画像ラスタデータを作成する原画像ラスタデータ作成手段と、
　前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータを生成するパラメータ生成手段と、
　前記バイト順序パラメータと前記原画像ラスタデータとを、前記プリンタ制御回路に送信する送信手段とを備え、
　前記プリンタ制御回路は、
　前記原画像ラスタデータと前記バイト順序パラメータと、前記原画像ラスタデータにおける１画素中の有効バイト数を示す有効バイト数パラメータとを、前記ホスト装置から受信する受信手段と、
　前記原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタと、
　前記バイト位置カウンタによるカウント結果と、前記バイト順序パラメータとに基づいて、レジスタのどのバイト位置に各バイトデータを書込むかを判断し、各バイトデータを、前記レジスタの所定のバイト位置に書込むことにより、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路とを備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送する、
プリントシステム。」と訂正する。
イ．訂正の目的の適否、新規事項の有無及び拡張・変更の存否
　訂正事項ａ及びｄについて
　この訂正事項ａ及びｄは、それぞれ訂正前の請求項１及び８に係る発明を「原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタ」を備える点に限定するものであるから、特許請求の範囲の減縮に該当し、特許明細書の段落【００２９】及び【００３２】〜【００３４】の記載から自明の事項であるから、新規事項の追加に該当せず、実質的に特許請求の範囲を拡張又は変更するものではない。
　訂正事項ｂ及びｃについて
　この訂正事項ｂ及びｃは、前記訂正事項ａの訂正に伴って、訂正前の請求項５に係る発明から請求項２を引用する発明を請求項１１に係る発明として分離して記載するものであるから、明りょうでない記載の釈明に該当し、実質的に特許請求の範囲を拡張又は変更するものではない。
　ウ．むすび
　以上のとおり、上記訂正請求は、特許法第１２０条の４第２項及び同条第３項で準用する特許法第１２６条第２項及び第３項の規定に適合するので、当該訂正を認める。
３．特許異議申立について
　ア．本件発明
　訂正後の本件特許明細書の特許請求の範囲の請求項２、５、８及び１１に係る発明（以下、本件発明２、５、８及び１１という。）は次のとおりのものである。
「【請求項２】　ホスト装置とプリンタとの間に接続されるプリンタ制御回路であって、
　１画素データを構成するバイト配列がホスト装置内のＯＳに依存している原画像ラスタデータと、前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータと、前記原画像ラスタデータを構成するバイトデータ中の有効バイト数を示す有効バイト数パラメータとを、前記ホスト装置から受信する受信手段と、
　前記原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタと、
　前記バイト位置カウンタによるカウント結果と、前記バイト順序パラメータとに基づいて、レジスタのどのバイト位置に各バイトデータを書込むかを判断し、各バイトデータを、前記レジスタの所定のバイト位置に書込むことにより、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と
　前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路とを備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送するプリンタ制御回路。
　【請求項５】　請求項１、請求項３乃至請求項４のいずれか１項記載のプリンタ制御回路を備えるプリンタ。
　【請求項８】　ホスト装置と、
　プリンタと、
　前記ホスト装置と前記プリンタとに接続されたプリンタ制御回路とを備え、
　ホスト装置は、
　１画素データを構成するバイト配列が前記ホスト装置内のＯＳに依存している原画像ラスタデータを作成する原画像ラスタデータ作成手段と、
　前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータを生成するパラメータ生成手段と、
　前記バイト順序パラメータと前記原画像ラスタデータとを、前記プリンタ制御回路に送信する送信手段とを備え、
　前記プリンタ制御回路は、
　前記原画像ラスタデータと前記バイト順序パラメータと、前記原画像ラスタデータにおける１画素中の有効バイト数を示す有効バイト数パラメータとを、前記ホスト装置から受信する受信手段と、
　前記原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタと、
　前記バイト位置カウンタによるカウント結果と、前記バイト順序パラメータとに基づいて、レジスタのどのバイト位置に各バイトデータを書込むかを判断し、各バイトデータを、前記レジスタの所定のバイト位置に書込むことにより、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路とを備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送する、
プリントシステム。
　【請求項１１】　請求項２記載のプリンタ制御回路を備えるプリンタ。」
　イ．異議申立の理由の概要
　異議申立人 小牧常松は、証拠として甲第１及び２号証を提出し、本件発明２、５及び８は、特許法第２９条第２項の規定に違反して特許されたものであるから、それらの特許は取り消されるべき旨主張している。
　ウ．異議申立人が提出した甲各号証に記載の発明
　甲第１号証（取消理由通知に引用した刊行物１、特開平８−１６３３２号公報）には、次の事項が記載されている。
「【０６３１】
　図において、９００１はホストマシンで、それぞれのＯＳに依存したシステムプログラムに基づいてデータ処理を行い、イーサネット（商品名）等のネットワーク９００５を介してスキャナプリンタサーバー９００２と通信可能に構成されている。
　【０６３２】
　９００３，９００４はスキャナプリンタとしての画像入出力装置で、画像入出力装置９００３のプリンタエンジンはレーザプリンタエンジンで構成され、画像入出力装置９００４はインクジェットプリンタエンジンで構成されている。
　【０６３３】
　９０１２は変換プログラム部で、アプリケーションソフト９０１３から送られたデータおよびデータ構造名に基づく変換プログラムを蓄えている。９０１１は通信ソフトで、変換プログラム部９０１２から読み出されたいずれか１つの変換プログラムをネットワーク９００５を介してスキャナプリンタサーバー９００２に通信する。
　【０６３４】
　９０２１は通信ソフトで、ネットワーク９００５上のホストマシン９００１および図示しないホストマシンとの通信処理を行う。９０２２は全体制御ソフトで、スキャナプリンタサーバー９００２を総括的に制御する。
　【０６３５】
　９０２３はプリント処理ソフトで、変換ソフト９０２３?１およびプリント処理ソフト９０２３?２とから構成され、変換ソフト９０２３?１は通信された変換プログラムをスキャナプリンタサーバー９００２で実行できる形式に変換する。プリント処理ソフト９０２３?２は、変換ソフト９０２３?１によりプリントデータに変換された内部データを画像入出力装置９００３，９００４に対応した画像データに変換する。
　　　【０６３６】
　９０２４は画像入力処理ソフトで、ホストマシン９００１からの画像入力命令に従って画像入出力装置９００３，９００４のスキャナ部に画像入力を開始するための命令を画像入出力装置制御ソフト９０２５，９０２６に出力し、画像入出力装置９００３，９００４から出力される画像データを全体制御ソフト９０２２，通信ソフト９０２１の制御の基にネットワーク９００５を介してホストマシン９００１に出力する。
　　　【０６３７】
　なお、通信ソフト９０１１は、アプリケーションソフト９０１３のデータ構造からスキャナプリンタサーバー９００２が受け付けるデータ構造に変換するための変換アルゴリズムが入った特定の変換プログラムを変換プログラム部９０１２のなかの１つより選択して、スキャナプリンタサーバー９００２側の通信ソフト９０２１に送信するが、ここでアプリケーションソフト９０１３がウインドウズ（商品名）であれば、ＧＤＩからＣａＰＳＬデータに変換し、マッキントッシュ（Ｍａｃｃｉｎｔｏｓｈ（商品名））であれば、クイックドロー（ＱｕｉｃｋＤｒａｗ）からＣａＰＳＬデータに変換するための特定の変換プログラムを選択する。ちなみに、本実施例で記述するＣａＰＳＬデータとは、スキャナプリンタサーバー９００２が受け付けるデータ構造を指している。
　【０６３８】
　以下、ホストマシン９００１からのスキャナプリンタ要求時の第１のデータ処理動作について説明する。
　【０６３９】
　全体制御ソフト９０２２は、ネットワーク９００５を介して送られてきたデータを解析し、そのときのスキャナプリンタサーバー９００２の状態と送られてきたデータに従い処理を行う。
　【０６４０】
　例えば送られてきたデータがプリント命令である場合は、プリントデータをプリント処理ソフト９０２３に送る。プリント処理ソフト９０２３は、プリントデータおよび変換プログラムを受け取る。そして、先ず、スキャナプリンタサーバー９００２側で受けるデータ形式に変換ソフト９０２３?１で変換する。変換ソフト９０２３−１は変換プログラムをスキャナプリンタサーバー９００２で実行できる形式にしたものである。従って、変換ソフト９０２３−１ではＧＤＩからＣａＰＳＬ（商品名）またはQuickDraw（商品名）からＣａＰＳＬへの変換等が行われる。そして、プリント処理ソフト９０２３の１部分として構成されるプリント処理ソフト９０２３−２は変換されたプリントデータを受け取り、画像入出力装置９００３，９００４が受け入れ可能なデータに変換する。例えばPostScript（商品名）やＣａＰＳＬといったページ記述言語のデータから画像データに変換する。
　【０６４１】
　全体制御ソフト９０２２は、プリント処理ソフト９０２３（９０２３−２）が変換した画像データを画像入出力装置制御ソフト９０２５，９０２６に送り、画像入出力装置制御ソフト９０２５，９０２６は画像データを画像入出力装置９００３，９００４に送りプリントされる。」（５４頁右欄４行段落【０６３１】〜５５頁右欄６行段落【０６４１】）
　甲第２号証（取消理由通知に引用した刊行物２、特許公報第２６４４２１２号）には、次の事項が記載されている。
「【特許請求の範囲】
　【請求項１】　インタフェースを介して与えられるカラー画像データと該カラー画像データを構成する複数のカラーコンポーネントの転送順序情報とを受信する受信手段と、
　前記受信手段によって受信された前記転送順序情報から前記複数のカラーコンポーネントの色の順序を判別する判別手段と、
　前記判別手段の判別結果に従って、前記複数のカラーコンポーネントを色毎に分離する処理手段とを有することを特徴とするカラー画像処理装置。」（１頁左下欄【特許請求の範囲】）
「【０００３】　例えば、（Ｒ1，Ｇ1，Ｂ1），（Ｒ2，Ｇ2，Ｂ2），・・・，（Ｒn，Ｇn，Ｂn）のように、各カラー画像データが一画素分毎に送られたり、または、（Ｒ1，Ｒ2，，Ｒn），（Ｇ1，Ｇ2，，Ｇn），（Ｂ1，Ｂ2，，Ｂn），・・・のように、各カラー画像データが一主走査分毎に送られたり、または、Ｒ成分データを一頁分、Ｇ成分データを一頁分、Ｂ成分データを一頁のように、各カラー画像データが一頁分毎に送られたりする様に、色々な転送パターンが予想される。
　【発明が解決しようとする課題】
　かかる事情において、従来のカラー画像処理装置は、ある一定フォーマットのデータ配列でしかプリントアウトできないので、ホスト装置において、フォーマットの異なるデータを、印刷可能なフォーマットに編集し直したファイルを予め用意しておくか、あるいは、編集し直しながらデータを送るかしなければならず、ホスト装置の負担および処理時間に多大な影響を与えていた。
 【課題を解決するための手段】
　本発明は上述の問題を解決する一手段として、例えば以下の構成を備える。
【０００４】
　即ち、インタフェースを介して与えられるカラー画像データと該カラー画像データを構成する複数のカラーコンポーネントの転送順序情報とを受信する受信手段と、前記受信手段によって受信された前記転送順序情報から前記複数のカラーコンポーネントの色の順序を判別する判別手段と、前記判別手段の判別結果に従って、前記複数のカラーコンポーネントを色毎に分離する処理手段とを有することを特徴とする。」（１頁右欄段落【０００３】〜２頁左欄段落【０００４】）
「【０００９】　４はＲ，Ｇ，Ｂ又はＹ，Ｍ，Ｃ３原色に色分解されたカラー画像情報を、必要に応じて色変換し、階調補正、スミ処理、色補正処理、中間調処理等を施した後、プリンタ５に画像データを送出する。」（２頁右欄段落【０００９】）
「【００１４】
　画像処理ブロック２〜４内の各ＣＰＵと主ＣＰＵ２０３との通信は、各々１対１で個別に行なわれる。主ＣＰＵ２０３は外部装置から画像データが送られるに際し、先ず当該画像データの識別コマンドを解釈し、画像データの種類に対応すべく動作する。即ち、先ず目的の画像処理ブロックを選択すべくＣＰＵ間通信により該当する処理ブロック内ＣＰＵに指令を送る。」（２頁右欄〜３頁左欄段落【００１４】）
「【００３６】
　図１０はカラー画像データの転送に先立つて送られるカラー画像フオーマツトコマンドの構成図である。同様にして、始めの２バイトは当該コマンドが“カラー画像フオーマツトコマンド”であることを示し、次の第１パラメータは連続したカラー画像データの構成単位、つまり引き続き入力される各カラー画像データが一画素毎のものであるか、一主走査毎のものであるか、あるいは一ページ毎のものであるかの指定を行う部分である。
　【００３７】
　次の第２パラメータは、当該データが原画像を左から右へスキャニングしたものであるか又は右から左へスキャニングしたものであるかを指定する部分であり、これに従って実像をプリントアウトすることもまた鏡像をプリントアウトすることも選択可能になる。第３パラメータは第１パラメータで指定した各構成単位のカラー画像データについて色の並び順を示す部分である。また同様にして最後にターミネータが続く。」（４頁右欄段落【００３６】〜【００３７】）
「【００４５】
　ＤＭＡ転送が中断又は終了したならばステツプＳ４でＤＭＡＣ５０２をデイスイネーブル状態にする。ステツプＳ５ではバッファメモリ５０６にストアされたデータを“カラー画像フオーマツトコマンド”の第１及び第３パラメータにより調べ、例えば画素単位のときはステツプＳ６で一画素毎のＲ，Ｇ，Ｂデータを振り分けてＲＡＭ５０５のそれぞれのテンポラリバッファに一主走査分ストアし、また主走査単位のときはステツプＳ７で一主走査毎のＲ，Ｇ，Ｂデータを振り分けてＲＡＭ５０５のそれぞれのテンポラリバッファに一主走査分ストアし、またページ単位のときはステツプＳ８で一ページ毎のＲ，Ｇ，Ｂデータを振り分けてＲＡＭ５０５のそれぞれのテンポラリバッファに一主走査分ストアする。」（５頁左欄段落【００４５】）
「【発明の効果】
　以上説明した如く本発明によれば、インタフェースを介して与えられるカラー画像データを処理する際に、カラー画像データを構成する複数のカラーコンポーネントの転送されてくる色の順序を判別し、判別結果に従って該複数カラーコンポーネントを色毎に分離して処理することができ、簡単な構成及び制御でどのような順序で転送されてくるカラー画像データであっても良好に処理することができる。このため、例えば文字コードとカラー画像データとを処理して合成する様な場合においても良好に処理することができる。」（５頁右欄段落【００５０】）
　エ．対比・判断
　（１）本件発明２及び８について
　本件発明２及び８の「原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタ」を備えることは上記刊行物１及び２のいずれにも記載も示唆もされておらず、当業者に周知の慣用技術でもない。
　そして、本件発明２及び８は、「原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタ」を備えることにより、ホスト装置から送信される原画像ラスタデータ中の有効バイト数にばらつきがあっても、バイト配列の並び替えを可能にしたり、有効バイトの特定を可能にすることにより、転送するデータ量を削減できるという作用効果を呈するものである。
　したがって、本件発明２及び８は、刊行物１及び２に記載の発明及び周知の慣用技術に基づいて当業者が容易に発明をすることができたものとすることができないから、特許法第２９条第２項の規定に違反して特許されたものとすることができない。
　（２）本件発明５について
　本件発明５は、本件発明２を引用しない発明に訂正されたことにより特許異議申立の理由がなくなったから、特許異議の申立が実質的になされていないものである。
　（３）本件発明１１について
　本件発明１１は、上記本件発明２を引用するものであるから、上記「（１）本件発明２及び８について」に記載したと同様の理由により特許法第２９条第２項の規定に違反して特許されたものとすることができない。
　オ．むすび
  以上のとおりであるから、異議申立の理由及び証拠によっては、本件発明２、５、８及び１１についての特許を取り消すことができない。
　また、他に本件発明２、５、８及び１１についての特許を取り消すべき理由を発見しない。
　よって、結論のとおり決定する。
【異議決定日】
平成１６年７月１３日（２００４．７．１３）
【訂正の要旨】
審決（決定）の【理由】欄参照。
（５４）【発明の名称】
プリンタ制御回路、プリンタ及びプリントシステム
（５７）【特許請求の範囲】
　【請求項１】　ホスト装置とプリンタとの間に接続されるプリンタ制御回路であって、
　１画素データを構成するバイト配列がホスト装置内のＯＳに依存している原画像ラスタデータと、前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータとを、前記ホスト装置から受信する受信手段と、
　前記バイト順序パラメータに基づいて、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と
を備え、
　前記受信手段は、前記原画像ラスタデータにおける１画素データ中の有効バイト数を示す有効バイト数パラメータも前記ホスト装置から受信し、
　前記フォーマット変換手段は、前記有効バイト数パラメータを参照し、その結果、前記原画像ラスタデータの前記有効バイト数が前記共通のバイト配列から構成される１画素データのバイト数より少なくて前記共通のバイト配列から構成される１画素データに空きバイトを生じさせてしまうようであれば、前記空きバイトを埋めるためのヌルデータを生成しそのヌルデータで前記空きバイトを埋めるマスク処理を実行する、
プリンタ制御回路。
　【請求項２】　ホスト装置とプリンタとの間に接続されるプリンタ制御回路であって、
　１画素データを構成するバイト配列がホスト装置内のＯＳに依存している原画像ラスタデータと、前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータと
、前記原画像ラスタデータにおける１画素データ中の有効バイト数を示す有効バイト数パラメータと
　
前記原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタと、
　
前記バイト位置カウンタによるカウントの結果と、
と
レジスタのどのバイト位置に各バイトデータを書込むかを判断し、各バイトデータを、前記レジスタの所定のバイト位置に書込むことにより、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と
　前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路と
を備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送するプリンタ制御回路。
　【請求項３】　純粋なハードウェア回路である請求項１記載のプリンタ制御回路。
　【請求項４】　純粋なハードウェア回路である請求項２記載のプリンタ制御回路。
　【請求項５】　請求項
１、請求項３及び
　【請求項６】　請求項１乃至請求項４のいずれか１項記載のプリンタ制御回路を備えるホスト装置。
　【請求項７】　ホスト装置と、
　プリンタと、
　前記ホスト装置と前記プリンタとに接続されたプリンタ制御回路と
を備え、
　ホスト装置は、
　１画素データを構成するバイト配列が前記ホスト装置内のＯＳに依存している原画像ラスタデータを作成する原画像ラスタデータ作成手段と、
　前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータを生成するパラメータ生成手段と、
　前記バイト順序パラメータと前記原画像ラスタデータとを、前記プリンタ制御回路に送信する送信手段と
を備え、
　前記プリンタ制御回路は、
　前記原画像ラスタデータと前記バイト順序パラメータとを、前記ホスト装置から受信する受信手段と、
　前記バイト順序パラメータに基づいて、前記原画像ラスタデータの前記バイト配列を、一定の共通のバイト配列に並び替えるフォーマット変換手段と、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と
を備え、
　前記受信手段は、前記原画像ラスタデータにおける１画素データ中の有効バイト数を示す有効バイト数パラメータも前記ホスト装置から受信し、
　前記フォーマット変換手段は、前記有効バイト数パラメータを参照し、その結果、前記原画像ラスタデータの前記有効バイト数が前記共通のバイト配列から構成される１画素データのバイト数より少なくて前記共通のバイト配列から構成される１画素データに空きバイトを生じさせてしまうようであれば、前記空きバイトを埋めるためのヌルデータを生成しそのヌルデータで前記空きバイトを埋めるマスク処理を実行する、
プリントシステム。
　【請求項８】　ホスト装置と、
　プリンタと、
　前記ホスト装置と前記プリンタとに接続されたプリンタ制御回路と
を備え、
　ホスト装置は、
　１画素データを構成するバイト配列が前記ホスト装置内のＯＳに依存している原画像ラスタデータを作成する原画像ラスタデータ作成手段と、
　前記原画像ラスタデータの前記バイト配列を示したバイト順序パラメータを生成するパラメータ生成手段と、
　前記バイト順序パラメータと前記原画像ラスタデータとを、前記プリンタ制御回路に送信する送信手段と
を備え、
　前記プリンタ制御回路は、
　前記原画像ラスタデータと
、
、前記原画像ラスタデータにおける１画素データ中の有効バイト数を示す有効バイト数パラメータと
　
前記原画像ラスタデータを構成するバイトデータを読み出す度にそれをカウントしていき、カウントした数を、前記有効バイト数パラメータが表す有効バイト数と同じ値でリセットしていくバイト位置カウンタと、
　
前記バイト位置カウンタによるカウントの結果と、
と
レジスタのどのバイト位置に各バイトデータを書込むかを判断し、各バイトデータを、前記レジスタの所定のバイト位置に書込むことにより、
　前記フォーマット変換手段から出力された画像データを前記プリンタが処理できる形式の画像データにして前記プリンタに転送する画像データ転送手段と
前記フォーマット変換手段から出力された画像データに対し、色変換処理及びハーフトーニング処理を行なう回路と
を備え、前記色変換処理及びハーフトーニング処理を行なった後の画像データを前記プリンタに転送する、
プリントシステム。
　【請求項９】　前記プリンタ制御回路が純粋なハードウェア回路である請求項７記載のプリントシステム。
　【請求項１０】　前記プリンタ制御回路が純粋なハードウェア回路である請求項８載のプリントシステム。
　【請求項１１】　請求項２記載のプリンタ制御回路を備えるプリンタ。
【発明の詳細な説明】
　【０００１】
　【発明の技術分野】本発明は、高速印刷のためのプリンタ制御技術に関する。
　【０００２】
　【従来の技術】
　プリントシステムにおいて、ホストコンピュータにおける原画像データは、プリンタ側表色系データ（典型的にはＣＭＹＫデータ）とは必ずしも一致しないホスト側表色系データ、典型的にはＲＧＢデータである。このＲＧＢデータは、マイクロソフト社のＷｉｎｄｏｗｓ９８やアップルコンピュータ社のＭａｃｉｎｔｏｓｈ等の各種ＯＳ毎にフォーマットが異なっている、換言すれば、ＲＧＢデータのフォーマットは、各種ＯＳに依存している。
　【０００３】
　【発明が解決しようとする課題】
　ホストコンピュータにおける原画像データをプリントアウトするための処理、即ち、ＲＧＢデータをＣＭＹＫデータに変換する色変換処理やそのＣＭＹＫデータを２値化するハーフトーニング処理は、ホストコンピュータ内のプリンタドライバ、又は、プリンタ（厳密にはプリンタ内のイメージングソフトウェア）が行なう。
　【０００４】
　色変換やハーフトーニングなどの処理をプリンタ側で行う場合、ホストコンピュータのプリンタドライバは、ホストコンピュータのＯＳから原画像データ、すなわちＲＧＢデータを受けてそれをプリンタに転送する。プリンタドライバは色変換やハーフトーニングの処理を行なわないので、その分、ホストコンピュータのＣＰＵの負担は軽い。ただし、プリンタドライバは、ＲＧＢデータがＯＳに依存したフォーマットになっているので、そのフォーマットを、受け側であるプリンタが理解し上記変換処理を行なえるようなフォーマットに変換しなければならない。
　【０００５】
　このＲＧＢデータのフォーマット変換は、ホストコンピュータのＣＰＵに相当の負担となり、その結果、ホスト装置の開放が遅れ、また、印刷速度が落ちるという問題がある。
　【０００６】
　従って、本発明の目的は、ホスト装置がＲＧＢデータを色変換やハーフトーニングをせずにプリンタ側へ転送するプリントシステムにおいて、ホスト装置の処理負担を軽減し、印刷速度を高めることにある。
　【０００７】
　【課題を解決するための手段】
　本発明によれば、ホスト装置とプリンタとの間に、プリンタ制御回路が設けられる。このプリンタ制御回路は、ホスト装置に内蔵しても良いし、プリンタに内蔵しても良いし、或は両者に対して外付けとしても良い。このプリンタ制御回路は、受信手段と、フォーマット変換手段と、画像データ転送手段とを備える、受信手段は、１画素データを構成するバイト配列がホスト装置内のＯＳに依存している原画像ラスタデータと、原画像ラスタデータのバイト配列を示したバイト順序パラメータとを、ホスト装置から受信する。フォーマット変換手段は、受信したバイト順序パラメータに基づいて、原画像ラスタデータの上記バイト配列を、一定の共通のバイト配列に並び替える。画像データ転送手段は、フォーマット変換手段から出力された画像データをプリンタが処理できる形式の画像データにしてプリンタに転送する。
　【０００８】
　本発明によると、プリンタ制御回路が、原画像ラスタデータの上記バイト配列を、一定の共通のバイト配列に並び替える処理を行うので、ホスト装置ではその処理を行う必要が無くなり、よって、ホスト装置のＣＰＵの負担が軽減されて高速な印刷が可能となる。
　【０００９】
　好適な実施形態では、プリンタ制御回路は、純粋なハードウェア回路である。これにより、プリンタ制御回路は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｅｄ　ＩＣ）などで作れるので、高速ＣＰＵを搭載した従来の高速印刷システムより安価にできる。
　【００１０】
　【００１１】
　好適な実施形態では、受信手段は、原画像ラスタデータにおける１画素データ中の有効バイト数を示す有効バイト数パラメータもホスト装置から受信し、フォーマット変換手段は、有効バイト数パラメータを参照し、その結果、原画像ラスタデータの有効バイト数が共通のバイト配列から構成される１画素データのバイト数より少なくて共通のバイト配列から構成される１画素データに空きバイトを生じさせてしまうようであれば、空きバイトを埋めるためのヌルデータを生成しそのヌルデータでその空きバイトを埋めるマスク処理を実行する。
　【００１２】
　例えば、共通のバイト配列から構成される１画素データが４バイトであるのに対して、原画像ラスタデータの１画素データの有効バイト数が３バイトである場合は、１バイトの空きバイトが生じてしまう。そこで、フォーマット変換手段は、この１バイトの空きバイトに対して、自動的にヌルデータを作成しそのヌルデータでマスク処理を行なう。ヌルデータの作成は、バイト配列の並び替え処理と並行して行なうことができるので、印刷速度の劣化を防ぐことができる。
　【００１３】
　好適な実施形態では、プリンタ制御回路は、フォーマット変換手段から出力された画像データに対し色変換処理及びハーフトーニング処理を行なう回路を更に備え、色変換処理及びハーフトーニング処理を行なった後の画像データをプリンタに転送する。
　【００１４】
　【発明の実施の形態】
　図１は、本発明の一実施形態に係るプリントシステムの全体的な構成を示す。
　【００１５】
　同図に示すプリントシステムでは、ホストコンピュータ１における原画像データ（すなわちＲＧＢデータ）を最終的なＣＭＹＫデータまで変換する処理は、ホストコンピュータ１とプリンタ３との間に設けられた中間ハードウェア４が行なう。即ち、中間ハードウェア４は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｅｄ　ＩＣ）などで作られた純粋ハードウェアであり、ホストコンピュータ１から送られて来るＲＧＢラスタデータをルックアップテーブルなどを用いてＣＭＹＫ系（又はＣＭＹ系）のラスタデータに変換する「色変換」、及び、色変換されたＣＭＹＫラスタデータの例えば各色２５６階調の画素値を誤差拡散やディザなどの手法を用いてＣＭＹＫ各色ドットを打つか打たないかを示した２段階の画素値に変換する「ハーフトーニング」などを行なう。また、プリンタ３が、例えばインクジェットプリンタやインパクトワイヤドットプリンタなどである場合には、画質を高めるために、画素位置の配列順序とは異なる順序でドットを打つ、所謂「インタレース」印刷や「オーバラップ」印刷を行なうための処理も行う。
　【００１６】
　上記各処理を行なう中間ハードウェア４がホストコンピュータ１から受ける原画像データ（ＲＧＢデータ）は、ビットマップ展開されたイメージデータ、つまりラスタイメージデータであり、且つ、ホストコンピュータ１のＯＳ７に依存したフォーマットになっているものである。中間ハードウェア４は、ホストコンピュータからのＯＳ７依存のフォーマットを持ったＲＧＢラスタイメージデータを所定の共通のフォーマットに変換するフォーマット変換回路５と、その共通フォーマットのＲＧＢデータに対して上述した色変換及びハーフトーニング処理を行う色変換・ハーフトーニング回路６とを有する。このフォーマット変換回路５及び色変換・ハーフトーニング回路６は、前述したように、例えばＡＳＩＣのようなハードウェアロジック回路であって、ソフトウェアをＣＰＵで実行するようなコンピュータではなく、よって、高速処理が可能である。
　【００１７】
　ホストコンピュータ１では、プリンタドライバ１１が、アプリケーションソフトにより作成された画像データ９をＯＳ７から受けてそれが図形関数やキャラクタコードで表現されたものであればそれを「ラスタライズ」、つまりビットマップ展開してラスタイメージデータ１０を作成する。このラスタイメージデータ１０の表色系や階調数に関する形式は、典型的にはＲＧＢフルカラー形式、即ち、ＲＧＢ表色系で１画素１色成分が２５６階調表現可能な８ビットワードであるが、勿論、他の形式、例えばＲＧＢ２値、モノクロ２５６階調、モノクロ２値などでもあり得る。以下の説明では、このラスタイメージデータ１０はＲＧＢフルカラーデータであるとし、以下、ＲＧＢ原画像データ１０と呼ぶ。このＲＧＢ原画像データ１０のデータフォーマットは、ＯＳ７の種類によって異なっている。例えば、以下に示す通りである。
　【００１８】
　（１）「第１のＯＳ」のフォーマット：＜Ｒ，Ｇ，Ｂ＞＜Ｒ，Ｇ，Ｂ＞…。ここで、＜＞は１画素分のデータを意味する。このフォーマットでは、１画素分のデータが、Ｒ，Ｇ，Ｂの順で並んだ３バイトで構成される。
　【００１９】
　（２）「第２のＯＳ」のフォーマット：＜Ｒ，Ｇ，Ｂ，ｘ＞＜Ｒ，Ｇ，Ｂ，ｘ＞…。つまり、１画素分のデータが、Ｒ，Ｇ，Ｂ，ｘの順で並んだ４バイトで構成される。ここで、「ｘ」はイメージの属性を示すバイトである。
　【００２０】
　（３）「第３のＯＳ」のフォーマット：＜Ｂ，Ｇ，Ｒ＞＜Ｂ，Ｇ，Ｒ＞…。つまり、１画素分のデータが、Ｂ，Ｇ，Ｒの順で並んだ３バイトで構成される。
　【００２１】
　（４）「第４のＯＳ」のフォーマット：＜ｘ，Ｒ，Ｇ，Ｂ＞＜ｘ，Ｒ，Ｇ，Ｂ＞…。つまり、１画素分のデータが、ｘ，Ｒ，Ｇ，Ｂの順で並んだ４バイトで構成される。
　【００２２】
　プリンタドライバ１１は、ＯＳ７依存のフォーマットを持ったＲＧＢ原画像データ１０を、中間ハードウェア４が理解できるような所定のコマンド形式を持った中間コマンド１３にして、それをＯＳ７を介して中間ハードウェア４に送る。
　【００２３】
　中間ハードウェア４は、ホストコンピュータ１とプリンタ３との間に接続される。中間ハードウェア４のフォーマット変換回路５は、ホストコンピュータ１から中間コマンド１３を受けて、それに含まれているフォーマットパラメータを参照し、それに従ってＲＧＢ原画像データ１０のＯＳ７依存のデータフォーマットを共通のフォーマット（例えば、＜ｘ，Ｒ，Ｇ，Ｂ＞＜ｘ，Ｒ，Ｇ，Ｂ＞…）のＲＧＢデータ５３に変換し、それを色変換・ハーフトーニング回路６へ送る。色変換・ハーフトーニング回路６は、その共通フォーマットのＲＧＢデータ５３を色変換してＣＭＹＫデータにし、更にこれをハーフトーニング処理してＣＭＹＫ２値データに変換しこれをプリンタ３が理解できるプリンタコマンド５５にしてプリンタ３へ送る。
　【００２４】
　以下、更に具体的に説明する。
　【００２５】
　プリンタドライバ１１は、ＲＧＢ原画像データ１０を用いて、図２に示すような構成を持つ中間コマンド１３を作成する。
　【００２６】
　図２は、プリンタドライバ１１が出力する中間コマンド１３の構成を示す。
　【００２７】
　図２に示すように、中間コマンド１３は、コマンド名フィールド１５と、フォーマットパラメータフィールド１７と、ＲＧＢ原画像データ１０がセットされる原画像データフィールド１９とで構成される。
　【００２８】
　コマンド名フィールド１５には、中間コマンド１３であることを示すコマンド名、例えば＜ｘｆｅｒＪ＞が設定される。
　【００２９】
　フォーマットパラメータフィールド１７には、上記ＲＧＢ原画像データフィールド１９にセットされるＲＧＢ原画像データ１０のフォーマットを示すフォーマットパラメータ（以下、ｆパラメータ）が設定される。ｆパラメータは、図３に示すように例えば８ビットワードであり、その下位２ビットに「有効バイト数」パラメータ２１、次の下位５ビットに「バイト順序」パラメータ２３がそれぞれ設定される（残りの１ビットは、例えば空データ）。「有効バイト数」パラメータ２１は、ＲＧＢ原画像データ１０において１画素分の有効データが何バイトで構成されているかを示すものであり、「１１」なら４バイト有効（つまり１画素が４バイトで構成されている）、「１０」なら３バイト有効（つまり１画素が３バイトで構成されている）を示す。「バイト順序」パラメータ２３は、ＲＧＢ原画像データ１０の有効バイト数におけるＲ、Ｇ、Ｂ成分の並び順を示すもので「０００００」なら「Ｂ，Ｇ，Ｒ」、「０１１１０」なら「Ｒ，Ｇ，Ｂ，ｘ」又は「Ｒ，Ｇ，Ｂ」、「１０１１１」なら「ｘ，Ｒ，Ｇ，Ｂ」で並んでいることを示す。具体的には、前述した第１〜第４のＯＳについて次のようにパラメータが設定されている。
　【００３０】
（１）「第１のＯＳ」のフォーマット：＜Ｒ，Ｇ，Ｂ＞＜Ｒ，Ｇ，Ｂ＞…→「１０」「０１１１０」
（２）「第２のＯＳ」のフォーマット：＜Ｒ，Ｇ，Ｂ，ｘ＞＜Ｒ，Ｇ，Ｂ，ｘ＞…→「１１」「０１１１０」
（３）「第３のＯＳ」のフォーマット：＜Ｂ，Ｇ，Ｒ＞＜Ｂ，Ｇ，Ｒ＞…→「１０」「０００００」
（４）「第４のＯＳ」のフォーマット：＜ｘ，Ｒ，Ｇ，Ｂ＞＜ｘ，Ｒ，Ｇ，Ｂ＞…→「１１」「１０１１１」。
　【００３１】
　図４は、中間ハードウェア４の構成を示す。
　【００３２】
　中間ハードウェア４のフォーマット変換回路５は、コマンド解釈回路２５、入力レジスタ２７、位置カウンタ２９、書込みバイト位置デコーダ３１、バイト書込み回路３３、マスクデータ生成回路３５、バイト位置マスク処理回路３７、出力レジスタ３９を備える。プリンタドライバ１１からの中間コマンド１３は、まず、コマンド解釈回路２５が受ける。
　【００３３】
　コマンド解釈回路２５は、上記コマンド名から中間コマンド１３であることを認識すると、そのコマンド１３に含まれるｆパラメータ１７の「有効バイト数」パラメータ２１及び「バイト順序」パラメータ２３を入力レジスタ２７に書込み、ＲＧＢ原画像データ１０をスルーしてバイト書込み回路３３に送る。入力レジスタ２７には、少なくとも、「有効バイト数」パラメータ２１の格納領域４１と、「バイト順序」パラメータ２３の格納領域４３とが確保されている。ＲＧＢ原画像データ１０は、バイト書込み回路３３によって、上記ＯＳ７依存のフォーマットにおける各色データの配列順序に従って、４バイトのうちの相当するバイトプレーンに出力される。例えば、ＲＧＢ原画像データ１０が、上記「第１のＯＳ」依存のフォーマット＜Ｒ，Ｇ，Ｂ＞で構成されていれば、「Ｒ」→「Ｇ」→「Ｂ」という順番でそれぞれ入力され、「第２のＯＳ」依存のフォーマット＜ｘ，Ｒ，Ｇ，Ｂ＞で構成されていれば、「ｘ」→「Ｒ」→「Ｇ」→「Ｂ」という順番でそれぞれ入力される。
　【００３４】
　バイト位置カウンタ２９は、バイト書込み回路３３が上記各色データを読み出す度にそれをカウントしていき、カウントした数を、入力レジスタ２７に記録されている有効バイト数と同じ値でリセットしていく。例えば、上記有効バイト数が４バイトであれば、「０、１、２、３、（リセット）０、１、２、３、（リセット）０、…」のように４回カウントする毎にリセットする。上記有効バイト数が３バイトであれば、「０、１、２、（リセット）０、１、２、（リセット）０、…」のように３回カウントする毎にリセットする。バイト位置カウンタ２９は、このようにしてカウントを行い、上記各色データが読出される度に、それに対するカウント結果（すなわちＲＧＢ原画像データ１０における各色データのバイト位置）４５を、書込みバイト位置デコーダ３１に通知する。
　【００３５】
　書込みバイト位置デコーダ３１は、バイト位置カウンタ２９からカウント結果４５を受けて、それと、入力レジスタ２７に格納されている「バイト順序」パラメータ２３に示されるバイト順序とを参照する。そして、それに基づいて、上記共通フォーマットとなる４バイトデータに対して、どのバイト位置に上記読出された各色データを書込むかを判断し、判断した書込みバイト位置４７をバイト書込み回路３３に指示する。
　【００３６】
　バイト書込み回路３３は、入力レジスタ２７に格納されているＲＧＢ原画像データ１０の各色データをそれぞれ読出し（つまり１バイトずつ読出し）、書込みバイト位置デコーダ３１の指示に従って、それぞれを上記共通フォーマットデータの所定のバイト位置に書込む。これについて、図５を参照して具体的に説明する。ここで、上記共通フォーマットは、＜ｘ，Ｒ，Ｇ，Ｂ＞であるとする。
　【００３７】
　コマンド解釈回路３５を通過して来るＲＧＢ原画像データ１０のフォーマットが、例えば、上記「第１のＯＳ」に依存している場合は（すなわち＜Ｒ、Ｇ，Ｂ＞＜Ｒ、Ｇ，Ｂ＞…）、図５（Ａ）に示すように、「Ｒ」→「Ｇ」→「Ｂ」の順番でバイト書込み回路３３に入力されて来る。バイト書込み回路３３は、書込みバイト位置デコーダ３１の指示に従って、１番目の「Ｒ」をレジスタ４８の２バイト目に、２番目の「Ｇ」を３バイト目に、３番目の「Ｂ」を４バイト目にそれぞれ書込む。上記「第２のＯＳ」に依存している場合は、図５（Ｂ）に示すように、「Ｒ」→「Ｇ」→「Ｂ」→「ｘ」の順番で各データを読出し、上記指示に従って、１番目の「Ｒ」を２バイト目に、２番目の「Ｇ」を３バイト目に、３番目の「Ｂ」を４バイト目に、４番目の「ｘ」を１バイト目にそれぞれ書込む。上記「第３のＯＳ」に依存している場合は、図５（Ｃ）に示すように、「Ｂ」→「Ｇ」→「Ｒ」の順番で各データを読出し、上記指示に従って、１番目の「Ｂ」を４バイト目に、２番目の「Ｇ」を３バイト目に、３番目の「Ｒ」を２バイト目にそれぞれ書込む。上記「第４のＯＳ」に依存している場合は、図５（Ｄ）に示すように、「ｘ」→「Ｒ」→「Ｇ」→「Ｂ」の順番で各データを読出し、上記指示に従って、１番目の「ｘ」を１バイト目に、２番目の「Ｒ」を２バイト目に、３番目の「Ｇ」を３バイト目に、４番目の「Ｂ」を４バイト目にそれぞれ書込む。
　【００３８】
　バイト書込み回路３３は、ＲＧＢ原画像データ１０における１画素分の有効データをそれぞれ読出してそれのバイト書込みが終了したら、書込み後のデータ４９をバイト位置マスク処理回路３７に渡す。
　【００３９】
　図５で説明した１画素分の有効データ（各色データ）の書込みにおいて、その有効データが３バイト（つまり、上記「有効バイト数」が３バイト）である場合、レジスタ４８の１バイト目にはそこに何も書込まれないので元々そこに書いてあった値になっている。そこで、この１バイト目をヌルデータとするために、マスクデータ生成回路３５とバイト位置マスク処理回路３７が１バイト目に対するマスク処理を行なう。
　【００４０】
　すなわち、マスクデータ生成回路３５は、入力レジスタ２７から「有効バイト数」パラメータ２１及び「バイト順序」パラメータ２３を読出し、それぞれを参照して、上記書込み後データ４９のバイト数に対応する４バイトのマスクデータ５１を生成する。すなわち、「有効バイト数」が３バイトである場合は、４バイトのうち１バイト目をヌルデータにするために１バイト目の全ビットが０で、他の３バイトの全ビットが１であるマスクデータ５１を生成する。「有効バイト数」が４バイトの場合は、どのバイトにもマスクをしないように４バイトの全ビットが１であるマスクデータ５１を生成する。マスクデータ生成回路３５は、生成したマスクデータ５１を、バイト位置マスク処理回路３７に渡す。
　【００４１】
　バイト位置マスク処理回路３３は、バイト書込み回路３３から書込み後データ４９を、マスクデータ生成回路３５からマスクデータ５１をそれぞれ受けて、書込み後データ４９と、マスクデータ５１とをＡＮＤ演算し、このＡＮＤ演算結果５３を出力レジスタ３９に書込む。具体的には、上述したように「有効バイト数」が３バイトである場合には、マスクデータ生成回路３５からのマスクデータ５１は、４バイトのうち１バイト目が「０、０、０、…」に設定され、他の３バイトは、「１、１、１、…」と設定されているから、書込み後データ４９とマスクデータ５１とをＡＮＤ演算することにより、演算結果のデータ５３は、１バイト目の「ｘ」が「０、０、０、…」のヌルデータとなり、他の３バイト「Ｒ、Ｇ、Ｂ」は書込み後データ４９の「Ｒ、Ｇ、Ｂ」と同じとなる。また、「有効バイト数」が４バイトの場合は、マスク処理後のデータ５３は書込み後データ４９と全く同じである。バイト位置マスク処理回路３７は、マスク処理後のＲＧＢデータ５３を、出力レジスタ３９の所定のアドレスに書込む。
　【００４２】
　出力レジスタ３９に書込まれた上記ＲＧＢデータ５３は、色変換・ハーフトーニング回路６にとり込まれる。
　【００４３】
　このような実施形態によれば、ホストコンピュータ１（プリンタドライバ１１）は、ＲＧＢ原画像データ１０のフォーマット変換を全く行なう必要が無く、このフォーマット変換は、専用のハードウェア回路（すなわち中間ハードウェア４のフォーマット変換回路５）が行なう。ホストコンピュータ１は、ＲＧＢ原画像データ１０のフォーマット種別を中間ハードウェア４に指定するだけで良い。このため、ホストコンピュータ１のＣＰＵにかかる負担は、従来に比べて相当に軽減されるので、その結果、ホスト装置の開放が遅れることなく、高速な印刷が可能になる。また、ホストコンピュータ１は、任意に「バイト順序」パラメータを設定することができるので、ＯＳ７がどのような種類であっても、或はＯＳ７が要求する画像データ１０のフォーマットが仮に変化したとしても、ソフト的に「バイト順序」の設定を変更することで対応することが可能である。また、ホストコンピュータ１は、原画像データ１０の表色系や階調数に関する形式などに応じて「有効バイト数」パラメータを設定することができ、このことも、次に述べるとおり高速印刷に貢献する。
　【００４４】例えば、原画像データ１０の表色系がモノクロ調である場合は、ホストコンピュータ１からはＲＧＢデータの「Ｇ」データのみが連続的に送出されるので、ホストコンピュータ１は、「有効バイト数」パラメータ２１を「１バイト有効」に設定する。これにより、フォーマット変換回路５は、１バイトの「Ｇ」データを受信する度に、それを指定のバイト位置に書込み、且つ、並行して自動的に空きバイトとなる３バイトのヌルデータを含むマスクデータを生成し、マスク処理を行なう。このように、色データの書込みと並行してヌルデータを生成するので、印刷速度を劣化させること無く高速に印刷を行なうことができる。
　【００４５】
　また、中間ハードウェア４は、ＡＳＩＣなどで作成することができるので、高速ＣＰＵを搭載した従来の高速印刷システムより安価である。
　【００４６】
　なお、中間ハードウェア４の配置形態には、図６に示すような３種類のバリエーションがある。すなわち、図６でブロック１０に示すようにホストコンピュータ３１に内蔵する方式と、ブロック３０に示すようにプリンタ９に内蔵する方式と、ブロック２０に示すようにホストコンピュータ３１及びプリンタ９に外付けする方式である。ホスト内蔵式では、フォーマット変換回路５はホストコンピュータ用のオプションボードのような形態で提供され、ホストコンピュータ３１の内部バスに接続され、プリンタ９に対しては例えばパラレルインタフェースケーブル（又は通信ネットワーク）などで接続することができる。これは、複数台のプリンタに対応できる利点がある。一方、プリンタ内蔵式では、フォーマット変換回路５はプリンタ用オプションボードのような形態で提供され、プリンタ９の内部バスに接続され、ホストコンピュータ３１とは例えばパラレルインタフェースケーブル（又は通信ネットワーク）などで接続することができる。これは、複数台のホストに対応できる利点がある。また、外付け式では、フォーマット変換回路５は、ホストコンピュータ３１及びプリンタ９の双方に対し例えばパラレルインタフェースケーブル（又は通信ネットワーク）などで接続することができる。
　【００４７】
　以上、本発明の好適な幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、中間ハードウェア４の機能の一部は、中間ハードウェア４用のＣＰＵによってソフト的に実現されてもよい。
【図面の簡単な説明】
　【図１】本発明の一実施形態に係るプリントシステムの全体的な構成を示すブロック図。
　【図２】中間コマンド１３の構成を示すブロック図。
　【図３】フォーマットパラメータフィールド１７の構成を示すブロック図。
　【図４】中間ハードウェア４の構成を示すブロック図。
　【図５】第１〜第４のＯＳに依存するＲＧＢ原画像データ１０の各色データのバイト書込みの方法を説明するための図。
　【図６】原画像データフォーマット変換回路５の配置のバリエーションを示す図。
　【符号の説明】
　１　ホストコンピュータ
　３　プリンタ
　４　中間ハードウェア
　５　原画像データフォーマット変換回路
　６　色変換・ハーフトーニング回路
　７　ＯＳ
　１１　プリンタドライバ
　２５　コマンド解釈回路
　２７　入力レジスタ
　２９　バイト位置カウンタ
　３１　書込みバイト位置デコーダ
　３３　バイト書込み回路
　３５　マスクデータ生成回路
　３７　バイト位置マスク処理回路
　３９　出力レジスタ