以下添付図面を参照して本発明の好適な実施形態について、さらに具体的かつ詳細に説明する。
なお、この明細書において、「印刷」「記録」(以下、「プリント」ともいう)とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、広く記録媒体上に画像、模様、パターン等を形成する、又は媒体の加工を行う場合も表すものとする。また、人間が視覚で知覚し得るように顕在化したものであるか否かを問わない。
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
さらに、「インク」(「液体」と言う場合もある)とは、上記「記録(プリント)」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理(例えば記録媒体に付与されるインク中の色剤の凝固または不溶化)に供され得る液体を表すものとする。
またさらに、「記録要素(ノズル)という場合もある」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
またさらに、「ASIC」とは一般にはアプリケーション専用集積回路の意味であるが、特にアプリケーション専用という意味に限定される必要はなく、この明細書では複数の機能を果たす回路が集積された「集積回路」を指すものである。
<記録装置の全体概要(図1〜図3)>
図1は本発明の代表的な実施例であるインクジェット記録装置(以下、記録装置)の概略構成を示す斜視図である。
図1には、キャリッジ202にYMCKの色のインクをそれぞれ収容した4つのインクタンク200Y、200M、200C、200Kとこれらのインクタンクから供給されたインクをインク液滴として吐出する記録ヘッド201を搭載した例が示されている。しかしながら、なお、この実施例で用いる記録ヘッド201は複数のASICを備えたコントローラ(後述)により制御され、後述するように12色のインクを用いて記録を行う。
このため、記録ヘッド201はこれらの色に対応して12個のノズル列をキャリッジ移動方向に配列して備える。12色はシアン(C)、フォトシアン(PC)、ブルー(B)、グリーン(G)、フォトブラック(BK)、マットブラック(MBK)、グレイ(GY)、フォトグレイ(PGY)、マゼンタ(M)、フォトマゼンタ(PM)、レッド(R)、イエロ(Y)である。従って、コントローラが12の色成分の記録データを生成して、これを記録ヘッド201へ送信する。
そして、キャリッジ202を主走査方向に一定速度で往復移動しながら、その速度に対応した周波数で記録ヘッド201からインク液滴を吐出して記録媒体に画像を記録する。1回の主走査方向への記録が終了するごとに、記録媒体203は、主走査方向との直角の副走査方向(搬送方向)に所定の量だけ搬送される。記録媒体203は、2組の搬送ローラ対204A、204B、205A、205Bが記録媒体203を挟持して、これらの搬送ローラを搬送モータ(不図示)により駆動することにより、副走査方向に搬送される。
このような主走査方向への記録と搬送動作とを間欠的に繰り返すことにより、記録媒体203に段階的に画像が記録される。このような動作も後述するコントローラ301により制御される。従って、コントローラ301が記録制御装置として役割を果たす。
図2はコントローラ301の詳細な内部構成を示すブロック図である。
記録のために必要な画像データや印刷条件の情報からなる印刷ジョブの生成などを行うホストコンピュータ(以下、ホスト)302はホストインタフェースコネクタ303を介して記録データの生成と記録装置全体の制御を行うコントローラ301と接続される。記録データの生成に必要な印刷ジョブは、ホスト302からホストインタフェースコネクタ(以下、ホストIFコネクタ)303を経由して受信する。記録ヘッド201への記録のために必要な記録データの送信は、ヘッドインタフェースコネクタ(以下、ヘッドIFコネクタ)304を介してなされる。
コントローラ301内の構成がどのようなものでもホストIFコネクタ303とヘッドIFコネクタ304によって外部と接続されることになる。
なお、この実施例の記録ヘッド201は12色のインクを吐出して記録が可能であるため、コントローラ301で12色の色成分の記録データを生成して、記録ヘッド201へ送信する。
コントローラ301は、上述したホストIFコネクタ303とヘッドIFコネクタ304と、図2に示されているように複数の同じ構成のASIC100、110、120と、RAM101、111、121と、ROM102、112、122から構成される。
なお、これら3つのASICは同じ構成であるが、それぞれの役割は異なる。ASIC100はホスト302との通信とASIC110、120への送信データの制御を主な役割とし、ASIC110、120は、インク色に関わる記録データの処理と記録ヘッドの制御を主な役割としている。ROM102、112、122は、ASIC100、110、120により記録装置を制御するためのプログラムを格納している。RAM101、111、121は、各ASICによるプログラムの実行領域や各種データの格納領域として使用される。ASIC100、110、120はそれぞれが専用のCPU103、113、123を備え、これらのCPUが、ROM102、112、122に格納されたプログラムを実行することによりASIC100、110、120を経由して記録装置を制御する。
ホストIF制御部108は、ホストIFコネクタ303を介して信号群150によってホスト302と接続され、ホスト302との通信を行い、印刷ジョブの受信などを行い、これをRAM101へ格納する。このとき、印刷ジョブに含まれる画像データは2種類ある。1つ、1画素がレッド(R)、グリーン(G)、ブルー(B)の3色で構成され、1色の階調ビットが8ビットである多階調の画像データ(以下、多値画像データ)である。もう1つは、1画素が12色のインク色で構成され、各色の階調ビットが1ビットである低階調の画像データ(以下、インク色量子化画像データ)である。インク色量子化画像データは記録データとして後述するようにヘッドIF制御部で直接使用することができる。
なお、ASIC110、120にもホストIF制御部118、128が搭載されているが、ホストIFコネクタ303と接続されないため、この実施例では使用されない。なお、この実施例では、ホストインタフェースを有線LANとし、ネットワーク上のプロトコル処理は、ホストIF制御部108やCPU103によって実行される。
ASIC間インタフェース制御部(以降、ASIC間IF)105は、信号群170を介してASIC110と接続され、RAM101に格納される印刷ジョブに含まれる多値画像データと処理パラメータをASIC110へ送信する制御を行う。ここで、処理パラメータとは、印刷ジョブの印刷条件に従って予めCPU103が用意した記録データ処理部及びヘッドIF制御部で参照されるパラメータである。
図2に示されているように、ASIC100、110、120には、ASICを相互接続するためのインタフェース制御部が2つ搭載されている。この実施例では、ASICを3個使用する構成であるため、合計6個用意されている。ASIC100とASIC110の接続には、ASIC間IF制御部105、114が用いられ、ASIC110とASIC120の接続にはASIC間IF制御部115、124が用いられる。なお、ASIC間IF制御部104、125は接続先のASICがないため、この実施例では使用されない。
ASIC間IF制御部114は信号群170を介してASIC100と接続され、ASIC100から受信した画像データと処理パラメータをRAM111へ格納する。ASIC間IF制御部115は信号群171を介してASIC120と接続され、RAM111に格納される画像データと処理パラメータをASIC120へ送信する。ASIC間IF制御部124は信号群171を介してASIC110と接続され、ASIC110から受信した画像データと処理パラメータをRAM121へ格納する。
このとき、送受信する画像データは同じ画像データである。また、処理パラメータは共通パラメータと個別パラメータがあり、共通パラメータはASIC110、120へ展開され、個別パラメータはASIC110とASIC120で処理すべき内容に応じて展開される。例えば、sRGB空間からdRGB空間への色変換テーブルの処理パラメータは共通であり、dRGB空間からインク色の色空間への色変換テーブルの処理パラメータやインク色ごとの低階調化処理の処理パラメータは個別パラメータである。
また、この実施例ではASIC間IFをPCIExpress(PCIe)を採用し、PCIeのプロトコル処理及びDMA制御をASIC間IF制御部が行う。
記録データ処理部116では、RAM111に格納された処理パラメータに従って、RAM111に格納されたRGB多値画像データに対して記録ヘッド201で記録可能な記録データを生成する処理を実行する。生成された記録データはRAM111へ格納される。記録データ処理部126は、記録データ処理部116と同様に、RAM121に格納された処理パラメータに従って、RAM121に格納されたRGB多値画像データに対して記録ヘッド201で記録可能な記録データを生成する処理を実行する。生成された記録データはRAM121へ格納される。なお、この実施例では、記録データ処理部106は、ASIC100でインク色に関わる処理を実行しない構成であるため使用されない。
このとき、記録データ処理部では、共通パラメータに従ってインク色依存のないデータ処理を行い、具体的には、sRGB空間からdRGB空間への色変換を行い、dRGB空間での多値画像データを生成する。続けて、個別パラメータに従って、そのASICで担当するインク色に関わる内容が指示され、dRGB空間での多値画像データをインク色への色空間変換を実行し、記録可能な記録データを生成する低階調化処理を行う。この実施例では、記録可能な記録データは2値画像データとする。つまり、その2値画像データはインク色量子化画像データと同じフォーマットになる。
ヘッドIF制御部117はRAM111に格納された処理パラメータに従って、RAM111に格納された記録データである2値画像データ、信号群160を介してヘッドIFコネクタ304へ送信する。ヘッドIF制御部127は、ヘッドIF制御部117と同様に、RAM121に格納された処理パラメータに従って、RAM121に格納された記録データである2値画像データを信号群161を介してヘッドIFコネクタ304へ送信する。
共有バス109、119、129は、ホストIF制御部、CPU、2つのASIC間IF制御部、記録データ処理部、ヘッドIF制御部を各ASICで内部的に接続し、RAMとROMを外部接続することが可能な複数の信号線からなる信号群である。共有バス109、119、129を通じて、接続された構成要素同士での通信が可能となる。また、信号群160、161とヘッドIFコネクタ304と記録ヘッド201との接続構成は、記録データ処理部116、126で担当するインク色によって決定される。
インク色の割り当てを工夫することで記録ヘッド201とフレキシブルにASICを接続することができ、ASIC単体のコストを削減することが可能になる。
具体的には、記録データ処理部で処理するインク色とヘッドIF制御部で制御するインク色を同じにすることで、ASIC間IF制御部でデータの双方向の授受が軽減され、IFの規模削減が期待できる。なお、この実施例におけるインク色の割当ては、ASIC110にBK、MBK、GY、PGYの4色、ASIC120にC、PC、B、G、M、PM、R、Yの8色である。
次に、以上のような構成の記録装置を用いて、RGB多値画像データとインク色量子化画像データのASIC間での送受信の実施例について説明する。
図3はASIC間IF制御部の内部構成を示すブロック図である。図3(a)はASIC間IF制御部105とASIC間IF制御部114の内部構成を示し、図3(b)はASIC間IF制御部115とASIC間IF制御部124の内部構成を示す。
図3(a)に示されているように、ASIC間IF制御部105は、共有バス通信部311、伝送部312、受信用アドレス変換部313、内部通信レジスタ部314で構成される。内部通信レジスタ部314には、次の複数のレジスタが設けられている。即ち、変換元開始アドレス・レジスタ315と変換元終了アドレス・レジスタ316と変換先開始アドレス・レジスタ317である。
ASIC間IF制御部114、115、124の構成はASIC間IF制御部105と同様の構成であるが、個別的に各構成要素に言及できるように図3(a)と図3(b)に示すように、各ASIC間IF制御部の同様の構成要素には異なる参照番号を付す。
まず、ASIC100からASIC110へのデータ転送について説明する。
ASIC100の共有バス109から取得したアドレス情報を伴ったデータを、共有バス通信部311から伝送部312に対して転送する。その際、転送先のアドレス情報とデータはそのまま転送される。伝送部312から信号群170を介してASIC110の伝送部322へ転送され、伝送部322から受信用アドレス変換部323に転送される。受信用アドレス変換部323では、転送されたアドレスの特定の領域を別のアドレス領域へ変換する。
そのアドレス変換では、内部通信レジスタ部324にある変換元開始アドレス・レジスタ325のアドレス設定と、変換元終了アドレス・レジスタ326の領域設定を用いて、入力されたアドレスが、変換すべき領域かどうかを判断する。ここで、その入力アドレスが変換すべき領域であった場合には、変換先開始アドレス・レジスタ327の設定値に従って変換される。これに対して、その入力アドレスが変換しない領域であった場合には、アドレス変更は無しとなる。なお、このレジスタ群を複数持つことで、複数のアドレス空間を変換することも可能であるが、説明を簡単にするために、この実施例ではレジスタ群は1つのみとする。なお、内部通信レジスタ部324のレジスタへのアクセスは、信号群170および共有バス119のいずれからもアクセス可能である。このようにして、受信用アドレス変換部323から出力されたアドレス情報とともに共有バス通信部321へデータが転送される。さらに、共有バス通信部321から共有バス119へデータが転送される。
このような構成を用いることで、ASIC100から伝送されたデータをASIC110の所望のアドレス領域へ転送することが可能となる。例えば、ASIC100からASIC110のRAM111へのアクセスや、ASIC間IF制御部115へのアクセスが可能になる。具体的には、ASIC100からは共有バス109上のアドレスでデータが伝送されてくるため、ASIC間IF制御部114がこれを受信したときにアドレス変換の有無を切り替える。アドレス変換がないときは、同じ共有バスのアドレスのままでASIC間IF制御部115へデータが送られる。これに対して、アドレス変換があるときは、その変換先をRAM111に割り当てることでRAM111へデータが送られる。
さらに、この機能を使うことで、ASIC100がASIC120のRAM121に直接アクセスできるようになる。具体的には、ASIC間IF制御部114ではアドレス変換を実行せず、ASIC間IF制御部124でRAM121に割り当てるようにアドレス変換を実行すれば、それが可能になる。
次に、上記の機能を用いたときのメモリマップについて説明する。
まず、ASIC内のメモリマップを説明する。
図4は1つのASIC内のメモリマップを示した図である。この実施例ではASIC100、110、120は同じ構成のASICを用いるため同じメモリマップになる。ASICの共有バス上のメモリマップアドレス空間400は、合計4GBのメモリマップアドレス空間を備える。図4に示す例では、4GBの空間のうち、この実施例に関わるRAMと、2つのASIC間IF制御部について説明する。そのため、一方のASIC間IF制御部には“A”という符号を付し、他のASIC間IF制御部には“B”という符号を付す。
アドレス空間410は、RAMへアクセスするための空間で、0x0000_0000〜0x7FFF_FFFFの2GBのメモリアドレス空間が指定されている。この実施例では、その2GBのうち64MBを画像バッファとして使用する。画像バッファのアドレス空間411は、0x0400_0000〜0x07FF_FFFFとする。
アドレス空間420、421は、ASIC間IF制御部Bへアクセスするための空間であり、0x8400_0000〜0x8BFF_FFFFの128MBのメモリアドレス空間が指定されている。この実施例では、128MBのうち64MBずつ2つの領域に分割して使用する。具体的には、2つのアドレス空間は、アドレス空間420が0x8400_0000〜0x87FF_FFFFであり、アドレス空間421が0x8800_0000〜0x8BFF_FFFFである。
アドレス空間430、431は、ASIC間IF制御部Aへアクセスするための空間であり、0x9400_0000〜0x9BFF_FFFFの128MBのメモリアドレス空間が指定されている。この実施例では、128MBのうち64MBずつ2つの領域に分割して使用する。具体的には、2つのアドレス空間は、アドレス空間430が0x9400_0000〜0x97FF_FFFFであり、アドレス空間431が0x9800_0000〜0x9BFF_FFFFである。
このように、1つのASIC内では共有バスのアドレスは固定されており、異なるASICからアクセスするためには、アドレス変換が必要となる。
次に、アドレス変換機能を用いた場合のメモリマップとデータパスの関係について説明する。
図5はASIC間のメモリマップとデータパスの関係の概要を模式的に示す図である。
ここでは、図5を参照して具体的なアドレス変換の設定とメモリマップとデータパスについて説明する。この実施例によれば、ASIC間IF制御部114のレジスタ設定値514とASIC間IF制御部124のレジスタ設定値524を用いることで、ASIC100から直接ASIC110とASIC120のRAMへアクセスすることができる。
特に、画像データの格納場所は、ASIC110と120に記録データ処理を実行させるために、RAM内の画像バッファを指定したい。そのため、変換先開始アドレス・レジスタ327と347は共にアドレス空間411の先頭アドレスである、0x4000_0000とする。
次に、ASIC100の共有バスからアクセスするために、ASIC間IF制御部105経由でアクセス可能なアドレス空間128MBを各ASICに割り当てる必要がある。そして、自分自身のASICにアクセスが来たときだけ、自分自身のASICのRAMにアクセス可能なように、変換元のアドレス・レジスタを設定する。具体的には、変換元開始アドレス・レジスタ325に0x8400_0000を、変換元終了アドレス・レジスタ326に0x87FF_FFFFを設定する。
これにより、ASIC100から見えるアドレス空間420をASIC110のRAM111内のアドレス空間411に割当てることができ、図5で破線で示したデータパス550を実現できる。
一方、ASIC110のASIC間IF制御部114では、アドレス空間0x8800_0000〜0x8BFF_FFFFをアドレス変換を実行しないため、そのまま共有バス119経由でASIC間IF制御部115へアクセスされる。つまり、アドレス変換されなければ、ASIC間IF制御部を経由してさらに隣のASICへアクセスすることになる。これを利用して、変換元開始アドレス・レジスタ345に0x8800_0000を、変換元終了アドレス・レジスタ346に0x8BFF_FFFFを設定する。
これにより、ASIC100から見えるアドレス空間421をASIC120のRAM121内のアドレス空間411に割当てることができ、図5で破線で示したデータパス552を実現できる。
なお、ASIC110がASIC120のRAM121のアドレス空間411へアクセスしたい場合は、ASIC110のアドレス空間421へアクセスすればよい。これらのアドレスにアクセスされた場合、先ほどのデータパス552と同様に、アドレス変換を実行することによりRAM121へアクセス可能になり、データパス551を実現できる。
さらに、この実施例での画像データの送受信に関わるパラメータについて説明する。
図6はASIC100のCPUが印刷ジョブに基づいて生成する印刷パラメータ情報を示す図である。
図6において、パラメータ情報701、702はRGB多値画像データを受信した場合のものであり、パラメータ情報711、712はインク色量子化画像データを受信した場合のものである。
まず、パラメータ情報701と702について説明する。
パラメータ情報701は、印刷ジョブの印刷条件に含まれる情報からASIC110と120で使用する内容を○・×で示しており、ともに記録データ処理部とヘッドIF制御部は使用する旨を示す“○”が指定されている。
パラメータ情報702は、ASIC100がどのような送信方法で画像データを送るかを指定したものであり、その送信方法にはマルチキャスト送信とユニキャスト送信の2つがある。マルチキャスト送信は、ASIC100が画像データを1回の送信動作を行うとASIC110と120それぞれに同じ画像データを送信することができる方法である。この方法によれば、ASIC100は同じ画像データを2回送信せずに済むので、ASIC間のIF帯域やRAM帯域を軽減することができる。一方、ユニキャスト送信は、ASIC100がASIC110やASIC120へ直接画像データを送信することができる方法である。この方法によれば、例えば、ASIC110にとって不要な画像データを自身のRAM111へ送信せずに済むので、ASIC110のRAM帯域を軽減することができる。このことは、ASIC120にとっても同様である。また、ユニキャスト送信の場合は、どのASICに送信したいかを示す情報が必要になる。
この例では、パラメータ情報702に、送信方法としてマルチキャストが設定されている。これは、ASIC110とASIC120は共にRGB多値画像データを用いてそれぞれ自身のASIC内で処理すべきインク色成分のデータに変換する処理を行う必要があるためである。
次に、インク色量子化画像データを受信した際に生成されるパラメータ情報711と712について説明する。
パラメータ情報711には、ASIC110とASIC120はともに記録データ処理部に“×”が指定され、未使用の設定となっている。これは、インク色量子化画像データはすでにヘッドIF制御部で制御可能な記録データになっているため、記録データ処理部での処理が必要ないからである。
パラメータ情報712には、ユニキャストが設定されている。これは、インク色量子化画像データは既にインク色毎のデータになっているため、該当するインク色の処理を担当するASICへ直接送信した方が、ASIC110のRAM111の帯域を軽減できるからである。なお、インク色によって担当するASICが異なるため、パラメータ情報712にじゃASIC110とASIC120にどのインク色に対応するデータを送信するかの情報も含まれている。
この実施例では、パラメータ情報701、702、711、712に基づいて画像データの内容に応じて画像データ送信が行われる。
続けて、画像データの内容に応じてデータパスを切り替える動作についてフローチャートを参照して説明する。
図7はASIC100がASIC110と120へ画像データを送信する送信処理と、ASIC110と120がASIC100から画像データを受信する受信処理をそれぞれ示したフローチャートである。図7(a)がその送信処理を示し、図7(b)がその受信処理を示している。
(1)画像データの送信処理(図7(a))
ステップS600では、CPU103から送信された画像データの形式を解析する。具体的には、受信した画像データが、RGB多値画像データであるかインク色量子化画像データあるかを解析する。
受信画像データが、RGB多値画像データであるかインク色量子化画像データあるかによってこれ以降の処理が多少異なる。
・受信画像データがRGB画像データである場合
ステップS601では、CPU103は画像データの解析結果に従って、ASIC110と120の記録データ処理部116と126、ヘッドIF制御部117と127で使用する印刷パラメータ情報を生成し、RAM101へ格納する。ここでいう印刷パラメータ情報とはパラメータ情報701とパラメータ情報702(ASIC間のデータ転送方法)のことである。また、1印刷ジョブ内の印刷ページ数Yも印刷ジョブから入手する。
さらに、ステップS602では、CPU103が印刷パラメータ情報(パラメータ情報701、702)をRAM101から取り出し、ASIC間IF制御部105を介して、ASIC間IF制御部114へ送信する。その後、ステップS603では、ASIC110とASIC120の印刷準備が完了したことの通知を待ち合わせ、その通知が来ると処理はステップS604へ進む。ステップS604では、CPU103がASIC間IF制御部105のDMACに対して、1ページ分の画像データをバンド単位に送るためのバンド数Zと1バンドあたりのデータサイズを設定する。
続いて、送信先アドレスを決定するために、ステップS605〜S608に示す処理を実行する。即ち、ステップS605では、画像データの送信方法がユニキャスト送信であるかどうかを調べる。ここで、その送信方法がユニキャスト送信であると判定された場合、処理はステップS606へ進み、ユニキャスト送信でない(即ち、マルチキャスト送信)と判定された場合、処理はステップS607へ進む。ステップS606〜S608の処理については後述する。図6に示すパラメータ情報702の例では、画像データはRGB多値画像データであり、マルチキャストが指定されているので処理はステップS607へ進む。
ステップS607で、CPU103がASIC間IF制御部105のDMACの送信先アドレスをアドレス空間420に設定する。その後、処理はステップS609に進む。
ステップS609では、CPU103がDMACを起動して、設定されたアドレス先へ画像データをバンド単位でDMA送信し、1バンド分転送が完了後、処理はステップS610へ進む。ステップS610では、Zバンド分のDMA送信が完了したかどうかを調べ、Zバンド分のDMA送信が未完了の場合、処理はステップS605へ戻り、Zバンド分のDMA送信が完了した場合、処理はステップS611へ進む。
ステップS611では、画像データYページ分のDMA送信が完了したかどうかを調べる。ここで、Yページ分のDMA送信が未完了の場合、処理はステップS604へ戻り、次の画像データサイズに応じてバンド数Zと1バンドあたりのデータサイズを設定する。これに対して、Yページ分のDMA送信が完了した場合、処理はステップS612へ進む。ステップS612では、画像データの送信が完了したことをASIC110と120へASIC間IF制御部105を介して通知し、画像データの送信処理を終了する。
・受信画像データがインク色量子化画像データである場合
ここでは、受信画像データがRGB多値画像データである場合との相違点について説明する。
ステップS602では印刷パラメータ情報として、パラメータ情報711、712を生成する。ステップS603〜S604の処理後、ステップS605では、図6に示すようにパラメータ情報712でユニキャスト送信が指定されているため、処理はステップS606へ進む。
ステップS606では、送信される画像データの色成分がASIC120が処理を担当するインク色成分であるかどうかを調べる。ここで、送信される画像データの色成分がASIC120が処理を担当するインク色成分であれば、処理はステップS608に進み、CPU103がASIC間IF制御部105のDMACの送信先アドレスをアドレス空間421に設定する。その後、処理はステップS609に進む。これに対して、送信される画像データの色成分がASIC120が処理を担当するインク色成分でなければ、処理はステップS607に進み、前述の処理を実行する。
例えば、図6のパラメータ情報702が示すように、画像データの色成分がCであれば、ASIC120が処理担当となるので処理はステップS608へ進む。これに対して、画像データの色成分がBKであれば、ASIC110が処理担当となるので、処理はステップS607へ進む。
以降、ステップS609〜S612の処理は前述した通りである。
受信画像データがインク色量子化画像データである場合、それがRGB多値画像データである場合との相違点は、送信方法がユニキャストであり、画像データの色成分に応じて送信先のASICが変化し、画像データを送信するアドレス先を変更する点にある。
(2)画像データの受信処理(図7(b))
・RGB多値画像データを受信する場合
まず、ステップS651では、ASIC間IF制御部114で受信したパラメータ情報701、702をRAM111へ格納する。ステップS652では、CPU113がRAM111に格納されたパラメータ情報701、702を読出し、記録データ処理部116とヘッドIF制御部117のパラメータ設定を行う。
特に、パラメータ情報701によって記録データ処理部とヘッドIF制御部のON/OFFの設定がなされる。また、パラメータ情報702によって、画像データをユニキャスト送信で受信するのか、マルチキャスト送信で受信するのかを判別する。マルチキャスト送信の場合、ASIC120へも画像データが送信するため、この受信処理と並行して同じ画像データをASIC間IF制御部を経由して(データパス551により)RAM121へ送信する。なお、この場合、送信先を切り替えは生じないため、その詳細は省略する。印刷準備が完了すると、処理はステップS653へ進む。
ステップS653では、ASIC間IF制御部114を介してCPU113が印刷準備完了通知をASIC100へ送信する。送信した印刷準備完了の通知はステップS603で処理されることになる。
ステップS654では、ASIC間IF制御部114で画像データを受信し、伝送部322にデータとアドレスを取り込む。ステップS655で、伝送部322が受信したデータのアドレスを受信用アドレス変換部323へアドレスを送信する。
ステップS656では、受信用アドレス変換部323は、受信したデータのアドレスが変換元開始アドレス・レジスタ325と変換元終了アドレス・レジスタ326に設定した変換領域の範囲内にあるかどうかを調べる。ここで、そのデータのアドレスが変換領域にないと判断された場合、処理はステップS658へ進み、変換領域にあると判断された場合、処理はステップS657へ進む。
図4と図5(レジスタ設定値514を参照)によれば、ASIC110では、メモリアドレス空間420はアドレス変換の領域内であるため、処理はステップS657へ進む。ステップS657では、データのアドレスを受信用アドレス変換部323が変換先開始アドレス・レジスタ327の設定値に基づいてアドレス変換を実行し、データとともに変換後のアドレスを共有バス通信部321を経由して共有バス119へ出力する。
そして、ステップS659では、変換後のアドレスへデータを出力することでRAM111へ画像データを送信する。
ステップS660で、ASIC100から1印刷ジョブの送信が完了したかどうかをステップS612においてASIC100から送信されるジョブ終了通知に基づいて判定する。ここで、ジョブ終了通知を受信していない場合、処理はステップS654へ戻り、画像データ受信制御を続行し、ジョブ終了通知を受信した場合、受信処理を終了する。
以上のようにして、データパス550によるデータ転送を実現することができる。このように、RGB多値画像データをASIC100から各ASICへ送信する際は、データパス550やデータパス551を用いて画像データを送信することになる。従って、ASIC100は1回のDMA動作を実行するだけで、ASIC110と120へ画像データを送信することができる。
・インク色量子化画像データを受信する場合
ここでは、RGB多値画像データを受信する場合との相違点について説明する。
ステップS651の処理後、ステップS652ではパラメータ情報711に基づいて記録データ処理部116をOFFに、ヘッドIF制御部117をONに設定する。ステップS653〜S655では前述した処理を実行する。
ステップS656では、受信用アドレス変換部323は、受信したデータのアドレスが変換元開始アドレス・レジスタ325と変換元終了アドレス・レジスタ326に設定した変換領域の範囲内にあるかどうかを調べる。ただし、データがインク色量子化画像データである場合、ASIC100から送信されるデータに対応するインク色によって判定結果が異なる。例えば、前述のように、インク色がCとBKの場合を考える。
インク色がCの場合、画像データの送信先はASIC120のRAM121なので、図4と図5から分かるようにメモリアドレス空間421にデータが送信される。このとき、メモリアドレス空間421のアドレスは図5が示すレジスタ設定値514のアドレス値から分かるようにアドレス変換領域外となる。このため、ステップS656では処理はステップS658へ進むと判断される。
一方、インク色がBKの場合、画像データの送信先はASIC110のRAM111なので、図4と図5から分かるようにメモリアドレス空間420へデータが送信される。このとき、メモリアドレス空間420のアドレスは図5が示すレジスタ設定値514のアドレス値から分かるようにアドレス変換領域内となる。このため、ステップS656では処理はステップS657へ進むと判断される。
なお、ステップS657以降の処理は前述した通りである。
ステップS658では、アドレス変換を実行せず、そのままのアドレスが共有バス119に出力される。その後、ステップS659では、アドレス変換されないアドレスへデータを出力することでASIC間IF制御部115へ画像データを送信され、その画像データはそのままASIC120へ送信されることになる。
最後に、ASIC120の受信処理について説明する。
ASIC120でもステップS651〜S655は前述したASIC110と同じ処理を実行する。ステップS656では、ASIC110の動作によりメモリアドレス空間421へアクセスできるため、図5が示すレジスタ設定値524のアドレス値から分かるようにそのアドレスは変換領域内となる。このため、処理はステップS657へ進み、前述したRGB多値画像データの受信処理と同様の処理を実行する。
このようにして、インク色量子化画像データをASIC100からASIC120へ直接送信する際は、データパス552が形成され、そのパスによりデータを送信することになる。これにより、ASIC110にとって不要なインク色量子化画像データ分のRAM帯域やRAM内のバッファ確保の容量を削減することができる。
従って以上説明した実施例に従えば、インク色に対応するデータ毎に処理担当のASICを分散させる構成で、画像データの特徴に応じてASIC間のデータ送信方法を変更するので、同じ画像データ送信の繰り返しや不要な画像データの受信を制限できる。これにより、ASIC間IF帯域やRAM帯域及びメモリ容量の削減に貢献する。
実施例1では、RGB多値画像データとインク色量子化画像データのASIC間の画像データ転送について説明した。ここ実施例では、この画像データに画素単位で付加される属性値が含まれる場合の処理について説明する。この実施例と実施例1との相違点は付加される属性値に関する点にあるため、以下の説明では、この実施例に特有の特徴についてのみ説明する。
図8は実施例2に従う印刷パラメータ情報を示す図である。
図8と図6とを比較すると、パラメータ情報801、802、811、812はそれぞれパラメータ情報701、702、711、712に対応しており、パラメータ情報801、811とパラメータ情報701、711とはそれぞれ同じである。一方、パラメータ情報802、812はパラメータ情報702、712に対してそれぞれ属性値が付加されている。
パラメータ情報802、812は、属性値として、画像データと同様に送信方法が指定できる。その属性値は画素に対して付加されている情報であり、各ASICで画像データとともに処理されるものであるため、各ASICに送信する必要がある。そのため、パラメータ情報802、812の属性値はマルチキャストが指定されている。
なお、属性データの送受信処理は、実施例1で説明したRGB多値画像データと同じである。図8から分かるように、属性データの送信方法として、マルチキャストが指定されているため、データパスとしてデータパス550と551を使用する。
従って以上説明した実施例に従えば、インク色に対応するデータ毎に処理担当のASICを分散させる構成で、画像データと属性データの特徴に応じてASIC間のデータ送信方法を変更することができる。これにより、同じ画像データ送信の繰り返しや不要な画像データの受信を制限し、さらに一層、ASIC間IF帯域やRAM帯域及びメモリ容量の削減に貢献することができる。
なお、本発明は以上の実施例で説明したインク色に限定される構成ではない、例えば、レッド(R)の代わりにホワイト(W)インクを使用してもよい。また、コントローラに用いるRAMはSRAMでもDRAMでも良く、本発明がRAMの種類に限定されるものではない。さらに、以上の説明ではASIC100から送信する画像データ形式をRGBとしたが、本発明はこれにより限定されるものではなく、例えば、CMYKでもよい。いずれにせよ、ASIC100から送信する多階調の画像データからインク色成分の記録データが生成できる形式であれば良い。
またさらに、以上の実施例で説明したコントローラの構成によって本発明が限定されるものではない。例えば、以上実施例では、ホストIFを1つとしたが、ホストIFコネクタとホストIF制御部が複数個備えられ、ASIC100に接続される構成であってもよく、ホストIFの数に限定されない。ホストIFについては有線LANとして説明したが、USBや無線LANであってもよく、ホストIFの種類に限定されない。本発明ではユーザ側からデータ入力可能なIFであればよく、そのIFからの受信を直接ASICが制御できるか、あるいは変換ICを介してASICが制御できればよい。従って、ASIC内にUSBデバイス制御が可能な機能が備えられていれば、ホストIFをUSBとしてもよい。また、無線LAN制御ICを経由してLANやUSBのIFで受信可能なように、ホストIFを無線LANとしてもよい。また、複数のホストIFを制御できるのであれば、1つのホストIFに限定する必要もない。
また、以上の実施例ではASIC100のホストIF制御部を使用するとしたが、ASIC110やASIC120のホストIF制御部を用いてもよい。即ち、記録データ処理部を用いるASICへ同じ画像データを送信できる構成であれば、説明した実施例の構成に限定されるものではない。さらに、以上実施例ではASIC間IF制御部のマスタをデータ送信側と仮定して説明したが、データ送受信はどちらの制御部がマスタになってもよい。つまり、記録データ処理部を用いるASICへ同じ画像データを送信できる構成であれば、マスタ/スレーブの関係によって本発明が限定されるものではない。
またさらに、以上の実施例で説明したコンピュータの共有バスの接続構成により本発明は限定されるものではなく、少なくともASIC内部の制御部や処理部やCPUがRAMにアクセスでき、CPUがROMにアクセスできる構成であればよい。さらに、ASICの構成に関して、以上説明した実施例では複数のASICが全て同じ構成としたが、本発明がこれに限定よってされるものではない。例えば、インク色に関する処理を実行するASICの構成が同じであればよく、インク色に係らない処理を実行するASICは異なるASICを採用してもよく、汎用的なASSPであってもよい。また、以上説明した実施例では、ホストIFコネクタと接続するASIC100がインク色に関する処理をしない構成としたが、ASIC100とASIC110の機能を1つのASICに統合した構成でもよい。
またさらに以上説明した実施例では、ASIC間IFにPCIExpressを採用したしたが、本発明はこれに限定されるものでない。例えば、ASIC間で画像データを送信可能なIFであればよく、そのIFを介してメモリからの画像データの読出しやメモリへの画像データの書込みが可能であればよい。
またさらに以上説明した実施例では、記録ヘッドからインクを吐出する機構としてヒータボードチップを用い、インク吐出エネルギーとして熱エネルギーを用いる構成としたが本発明はこれによって限定されるものではない。例えば、インク液滴を吐出するために記録素子として、例えば、圧電素子(ピエゾ素子)を用いてもよい。
また、共通パラメータをdRGB空間への色空間処理で使用する処理パラメータとしたが、インク色に関わる処理パラメータでなければ、これに限定されるものではない。例えば、共通パラメータを、RGB空間から色を識別できる属性情報を生成する処理パラメータとしてもよい。一方、個別パラメータをインク色空間変換や低階調化処理で使用するパラメータとしたが、インク色に関わる処理であれば、これに限定されるものではない。例えば、インク色ごとに吐出量を調整するためのガンマ補正処理に係るパラメータとしてもよい。さらに以上説明した実施例では、共通パラメータに関する処理をASIC110と120の記録データ処理部で実行したが、ASIC100の記録データ処理部106で実行するような構成でもよい。即ち、インク色に関わるデータ処理がASIC110と120で分散される構成であれば、以上説明した実施例で示した構成に限定されるものではない。
またさらに以上説明した実施例では、量子化画像データや記録可能な記録データを2値画像データとしたが本発明はこれによって限定されるものではない。例えば、1色成分1画素当り2ビットや4ビットの多値データであってもよく、ヘッドIF制御部が記録ヘッドに対して制御可能な記録データであればよい。例えば、2ビットの記録データであっても記録ヘッドへのデータが0、1のON/OFFの2値しか送信できない場合は、ヘッドIF制御部で1ビットデータに間引く処理を行ってもよい。
なお、上述した実施例では、単機能の記録装置を例として説明したが本発明はこれによって限定されるものではない。例えば、説明した記録装置に画像読取装置(スキャナ装置)とを備える多機能プリンタ(複写機)としても良いし、さらに複写機にファクシミリ機能を加えた複合機としても良い。