(57)【要約】【課題】画像処理装置とメモリとの間のデータ転送性能がボトルネックとなる。【解決手段】Ｎ個の成分からなる第１の画像データを格納するメモリから所定長Ｌビットの単位で読込む際に次の制御を行う。画像処理装置はＬビット長の（Ｎ＋Ｋ）個のバッファを備える第１のバッファとＬビット長のＭ個のバッファを備える第２のバッファとを備える。まず、メモリから第１の画像データの（Ｎ−Ｋ）個の各成分に関しＬビットの画像データを第１のバッファの（Ｎ−Ｋ）個のバッファに入力する。また、残りＫ個の各成分に関し２Ｌビットの画像データを第１のバッファの残り２Ｋ個のバッファに入力する。そして、前記Ｎ個のバッファから第１の画像データのＮ個の各成分をＬビット単位で読出して画像処理を行い、Ｍ個の成分からなる第２の画像データを生成し、第２のバッファのＭ個のバッファにそれぞれ出力する。前記入力では２Ｌビット分の画像データを入力する第１の画像データの成分をＬビット単位での前記画像処理ごとに変化させるよう制御する。【選択図】  図６
2015179908.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個の成分からなる第１の画像データを格納するメモリから予め定められた長さであるＬビットの単位で読込んで画像処理を行う画像処理装置であって、
それぞれがＬビットの長さの、（Ｎ＋Ｋ）個のバッファを備える第１の記憶手段と、
それぞれがＬビットの長さの、Ｍ個のバッファを備える第２の記憶手段と、
前記メモリから、前記第１の画像データの内の（Ｎ−Ｋ）個の成分それぞれについてはＬビット分の画像データを前記第１の記憶手段の前記（Ｎ＋Ｋ）個の内の（Ｎ−Ｋ）個のバッファに入力し、前記第１の画像データの内の残りＫ個の成分それぞれについては２Ｌビット分の画像データを前記第１の記憶手段の前記（Ｎ＋Ｋ）個の内の残り２Ｋ個のバッファに入力する入力手段と、
前記第１の記憶手段のＮ個のバッファから前記第１の画像データのＮ個の成分をそれぞれＬビットの単位で読出して画像処理を行い、Ｍ個の成分からなる第２の画像データを生成し、前記第２の画像データを前記Ｍ個の成分に対応して、前記第２の記憶手段の前記Ｍ個のバッファにそれぞれ出力する画像処理手段と、
前記入力手段により、前記２Ｌビット分の画像データを入力する前記第１の画像データの成分を前記画像処理手段におけるＬビットの単位での前記画像処理ごとに変化させるよう制御する入力制御手段とを有することをを特徴とする画像処理装置。
【請求項２】
前記メモリはＳＤＲＡＭであって、
前記入力手段は、前記ＳＤＲＡＭから前記第１の記憶手段への前記第１の画像データの読込を前記ＳＤＲＡＭへのバーストアクセスにより行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の画像データはＮ個の色成分からなり、
前記第２の画像データはＭ個の色成分からなり、
前記画像処理手段は、前記Ｎ個の色成分のデータを前記Ｍ個の色成分のデータに変換する色変換処理を含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
Ｎ＝４個であり、
前記４個の色成分データは、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｂｋ）成分のデータであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
Ｋ＝２個であり、
前記入力制御手段は、前記画像処理手段によるＬビットの単位での前記画像処理ごとに
Ｃ成分データとＭ成分データを前記Ｌビット、入力する一方、Ｙ成分データとＢｋ成分データを前記２Ｌビット、入力することと、
前記Ｃ成分データと前記Ｍ成分データを前記２Ｌビット、入力する一方、前記Ｙ成分データと前記Ｂｋ成分データを前記Ｌビット、入力することとを交互に行うよう制御することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
Ｍ＝１１個であり、
前記１１個の色成分データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）、グレイ（Ｇｙ）、フォトグレイ（ＰＧｙ）、フォトシアン（ＰＣ）、フォトマゼンタ（ＰＭ）、シアン（Ｃ´）、マゼンタ（Ｍ´）、イエロ（Ｙ´）、ブラック（Ｂｋ´）成分のデータであることを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
Ｎ＝３個であり、
前記３個の色成分データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）成分のデータであることを特徴とする請求項３に記載の画像処理装置。
【請求項８】
Ｋ＝１個であり、
前記入力制御手段は、前記画像処理手段によるＬビットの単位での前記画像処理ごとに
Ｒ成分データとＧ成分データを前記Ｌビット、入力する一方、Ｂ成分データを前記２Ｌビット、入力することと、
前記Ｒ成分データと前記Ｂ成分データを前記Ｌビット、入力する一方、前記Ｇ成分データを前記２Ｌビット、入力することと、
前記Ｇ成分データと前記Ｂ成分データを前記Ｌビット、入力する一方、前記Ｒ成分データを前記２Ｌビット、入力することとを繰り返して行うよう制御することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
Ｍ＝２個であり、
前記２個の色成分データは、Ｙ、ＵＶ成分のデータであることを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
請求項１乃至６のいずれか１項に記載の画像処理装置によって出力される前記第２の画像データに基づいて記録媒体に記録を行う記録手段を有することを特徴とする記録装置。
【請求項１１】
Ｎ個の成分からなる第１の画像データを格納するメモリから予め定められた長さであるＬビットの単位で読込んで画像処理を行う画像処理装置の制御方法であって、
前記画像処理装置は、それぞれがＬビットの長さの、（Ｎ＋Ｋ）個のバッファを備える第１のバッファと、それぞれがＬビットの長さの、Ｍ個のバッファを備える第２のバッファとを備えており、
前記メモリから、前記第１の画像データの内の（Ｎ−Ｋ）個の成分それぞれについてはＬビット分の画像データを前記第１のバッファの前記（Ｎ＋Ｋ）個の内の（Ｎ−Ｋ）個のバッファに入力し、前記第１の画像データの内の残りＫ個の成分それぞれについては２Ｌビット分の画像データを前記第１のバッファの前記（Ｎ＋Ｋ）個の内の残り２Ｋ個のバッファに入力する入力工程と、
前記第１のバッファのＮ個のバッファから前記第１の画像データのＮ個の成分をそれぞれＬビットの単位で読出して画像処理を行い、Ｍ個の成分からなる第２の画像データを生成し、前記第２の画像データを前記Ｍ個の成分に対応して、前記第２のバッファの前記Ｍ個のバッファにそれぞれ出力する画像処理工程と、
前記入力工程において、前記２Ｌビット分の画像データを入力する前記第１の画像データの成分を前記画像処理工程におけるＬビットの単位での前記画像処理ごとに変化させるよう制御する制御工程とを有することをを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、その制御方法、及び記録装置に関する。
【背景技術】
【０００２】
従来の、例えば、特許文献１に開示されている画像処理装置では、画像データを一時的に蓄積するトグルバッファを有し、データ転送と画像処理を同時に行うことで、処理速度の低下を防いでいた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２０１７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら上記従来例では、その画像処理装置とメモリとの間のデータ転送性能がボトルネックとなり、速度向上が達成できない場合が生じている。
【０００５】
本発明は上記従来例に鑑みてなされたもので、データ転送性能の向上を行い、スループット低下を抑制することが可能な画像処理装置、その制御方法、記録装置を提供すること目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の画像処理装置は次のような構成からなる。
【０００７】
即ち、Ｎ個の成分からなる第１の画像データを格納するメモリから予め定められた長さであるＬビットの単位で読込んで画像処理を行う画像処理装置であって、それぞれがＬビットの長さの、（Ｎ＋Ｋ）個のバッファを備える第１の記憶手段と、それぞれがＬビットの長さの、Ｍ個のバッファを備える第２の記憶手段と、前記メモリから、前記第１の画像データの内の（Ｎ−Ｋ）個の成分それぞれについてはＬビット分の画像データを前記第１の記憶手段の前記（Ｎ＋Ｋ）個の内の（Ｎ−Ｋ）個のバッファに入力し、前記第１の画像データの内の残りＫ個の成分それぞれについては２Ｌビット分の画像データを前記第１の記憶手段の前記（Ｎ＋Ｋ）個の内の残り２Ｋ個のバッファに入力する入力手段と、前記第１の記憶手段のＮ個のバッファから前記第１の画像データのＮ個の成分をそれぞれＬビットの単位で読出して画像処理を行い、Ｍ個の成分からなる第２の画像データを生成し、前記第２の画像データを前記Ｍ個の成分に対応して、前記第２の記憶手段の前記Ｍ個のバッファにそれぞれ出力する画像処理手段と、前記入力手段により、前記２Ｌビット分の画像データを入力する前記第１の画像データの成分を前記画像処理手段におけるＬビットの単位での前記画像処理ごとに変化させるよう制御する入力制御手段とを有することを特徴とする。
【０００８】
また本発明を別の側面から見れば、上記構成の画像処理装置によって出力される前記第２の画像データに基づいて記録媒体に記録を行う記録手段を有することを特徴とする記録装置を備える。
【０００９】
さらに本発明を別の側面から見れば、Ｎ個の成分からなる第１の画像データを格納するメモリから予め定められた長さであるＬビットの単位で読込んで画像処理を行う画像処理装置の制御方法であって、前記画像処理装置は、それぞれがＬビットの長さの、（Ｎ＋Ｋ）個のバッファを備える第１のバッファと、それぞれがＬビットの長さの、Ｍ個のバッファを備える第２のバッファとを備えており、前記メモリから、前記第１の画像データの内の（Ｎ−Ｋ）個の成分それぞれについてはＬビット分の画像データを前記第１のバッファの前記（Ｎ＋Ｋ）個の内の（Ｎ−Ｋ）個のバッファに入力し、前記第１の画像データの内の残りＫ個の成分それぞれについては２Ｌビット分の画像データを前記第１のバッファの前記（Ｎ＋Ｋ）個の内の残り２Ｋ個のバッファに入力する入力工程と、前記第１のバッファのＮ個のバッファから前記第１の画像データのＮ個の成分をそれぞれＬビットの単位で読出して画像処理を行い、Ｍ個の成分からなる第２の画像データを生成し、前記第２の画像データを前記Ｍ個の成分に対応して、前記第２のバッファの前記Ｍ個のバッファにそれぞれ出力する画像処理工程と、前記入力工程において、前記２Ｌビット分の画像データを入力する前記第１の画像データの成分を前記画像処理工程におけるＬビットの単位での前記画像処理ごとに変化させるよう制御する制御工程とを有することをを特徴とする画像処理装置の制御方法を備える。
【発明の効果】
【００１０】
従って本発明によれば、画像処理装置とメモリとの間のデータ転送性能が向上し、システムのスループットを高めることができるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明の代表的な実施例である記録装置の内部に設けられるプリンタコントローラの構成を示すブロック図である。
【図２】実施例１に従う画像データ処理部の内部構成を示すブロック図である。
【図３】実施例１に従ってＳＤＲＡＭに画像データを格納した様子を模式的に示した図である。
【図４】図２に示す入力バッファの詳細を示した図である。
【図５】図２に示す出力バッファの詳細を示した図である。
【図６】実施例１に従う画像データ処理部の処理に従って入力バッファに格納される画像データがどのように更新されてゆくのかを示す図である。
【図７】ＳＤＲＡＭへのバーストアクセスを行う様子を示す図である。
【図８】実施例１に従うＳＤＲＡＭへのバーストアクセスと従来例に従うＳＤＲＡＭへのバーストアクセスとの比較を示す図である。
【図９】ＳＤＲＡＭに対するアクセス成功とアクセス失敗との様子を模式的に示す図である。
【図１０】実施例１に従うデータ読出しと色変換処理との関係を示す図である。
【図１１】実施例２に従う画像データ処理部の内部構成を示すブロック図である。
【図１２】実施例２に従って図２に示すＳＤＲＡＭにＲＧＢ成分からなる画像データを格納した様子を模式的に示した図である。
【図１３】実施例２に従う入力バッファの詳細な構成を示した図である。
【図１４】実施例２に従う出力バッファの詳細を構成を示した図である。
【図１５】実施例２に従う画像データ処理部の処理に従って入力バッファに格納される画像データがどのように更新されてゆくのかを示す図である。
【発明を実施するための形態】
【００１２】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。ただし、この実施例に記載されている構成要素の相対配置等は、特定の記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１３】
なお、この明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。さらに人間が視覚で知覚し得るように顕在化したものであるか否かも問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００１４】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００１５】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００１６】
図１は本発明の代表的な実施例である記録装置の内部に設けられるプリンタコントローラの構成を示すブロック図である。
【００１７】
図１に示す記録装置はプリンタコントローラ２０１とプリンタエンジン２１３とから構成され、記録装置に直接接続されたホストＰＣ２１５、２１８から、或いは、ネットワークを介して接続されたホスト装置から画像データを受信し、記録を行う。プリンタエンジン２１３はインクジェット方式に従って、インクを記録媒体に吐出して記録を行う。
【００１８】
プリンタコントローラ（以下、コントローラ）２０１はＵＳＢインタフェース２１４を介してホストＰＣ２１５と、ＩＥＥＥ１３９４インタフェースを介してホストＰＣ２１８と接続される。また、ＬＡＮなどのインタフェースを介して複数のホスト装置と接続される。また、コントローラ２０１はエンジンインタフェース２１２を介してプリンタエンジン２１３と接続される。
【００１９】
コントローラ２０１は、コントローラチップ２０２とＲＯＭ２０５とＳＤＲＡＭ２０７と操作パネル２０９とＩＥＥＥ１３９４インタフェース２１７とＬＡＮコントローラ２１９と拡張インタフェース２２０とを含む。コントローラチップ２０２とＬＡＮコントローラ２１９とＩＥＥＥ１３９４インタフェース２１７と拡張インタフェース２２０とは拡張バスを介して互いに接続される。なお、コントローラチップ２０２はＳＯＣ（System On Chip）の構成である。
【００２０】
コントローラチップ２０２は、ＣＰＵ２０３とＲＯＭコントローラ２０４とＳＤＲＡＭコントローラ２０６と操作パネルインタフェース２０８とバスインタフェース２１６とデコーダ２１０と画像データ処理部２１１とを含む。さらに、コントローラチップ２０２はＵＳＢインタフェース２１４とエンジンインタフェース２１２とを含む。これらブロックは内部バスによって相互に接続されている。
【００２１】
ＣＰＵ２０３はＲＯＭ２０５に格納されたプログラムに従って動作し、各種インタフェースを通じてホストＰＣ、プリンタエンジンとの通信や記録装置各部の制御を行う。ＲＯＭコントローラ２０４はＲＯＭ２０５とのインタフェースとなる。ＳＤＲＡＭコントローラ２０６はＳＤＲＡＭ２０７とのインタフェースとなり、ＳＤＲＡＭアクセスタイミングを制御しながら、ＣＰＵ２０３や他のブロックからの要求に従って、ＳＤＲＡＭ２０７へのデータ入出力を制御する。
【００２２】
操作パネルインタフェース２０８は、操作キーやＬＥＤ、ＬＣＤを実装した操作パネル２０９とのインタフェースとなる。ユーザから操作パネル２０９への操作キー入力をＣＰＵ２０３へ伝え、ＣＰＵ２０３からの命令によってＬＥＤ、ＬＣＤの表示が制御される。バスインタフェース２１６は拡張バスを制御し、その拡張バスに接続された各構成要素との通信制御を行う。
【００２３】
デコーダ２１０は、ホストＰＣから送信されＳＤＲＡＭ２０７に格納された圧縮符号化された画像データをＳＤＲＡＭ２０７から読出し、これをデコードしてＳＤＲＡＭ２０７へ書き戻す。画像データ処理部２１１は、デコーダ２１０によってデコードされた画像データをＳＤＲＡＭ２０７から読出し、各インク色に対応するドットデータに変換し、ＳＤＲＡＭ２０７へ書き戻す。エンジンインタフェース２１２は、各インク色に対応するドットデータをＳＤＲＡＭ２０７から読出し、プリンタエンジン２１３へ送信する。
【００２４】
さて、ホストＰＣから送信される画像データは、コントローラ２０１の各インタフェースを介して入力される。ＩＥＥＥ１３９４インタフェース２１７又はＬＡＮコントローラ２１９を経由して入力された画像データは、コントローラチップ２０２のバスインタフェース２１６を経由し、ＳＤＲＡＭコントローラ２０６の制御に従って、ＳＤＲＡＭ２０７へ書込まれる。ＵＳＢインタフェース２１４を介してホストＰＣ２１５から入力された画像データは内部バスを通じてＳＤＲＡＭコントローラ２０６の制御に従って、ＳＤＲＡＭ２０７へ書込まれる。
【００２５】
ＳＤＲＡＭ２０７へ書込まれた画像データは、ＣＰＵ２０３によって各通信プロトコルに従って分解され、その後、デコーダ２１０へ渡され、デコードされる。デコードされた画像データは画像データ処理部２１１によって各インク色に対応するドットデータに変換された後、エンジンインタフェース２１２を通じてプリンタエンジン２１３へ送信される。そして、そのドットデータに基づいてプリンタエンジン２１３に搭載した記録ヘッドにより、複数の色のインクを吐出して記録用紙などの記録媒体に記録される。
【００２６】
次に、コントローラ２０１に内蔵する画像データ処理部２１１の実施例について説明する。
【実施例１】
【００２７】
図２は図１に示す画像データ処理部２１１の内部構成を示すブロック図である。
【００２８】
画像データ処理部２１１は、入力バッファ１０１、入力制御部１０２、インク色色変換処理部（以下、色変換処理部）１０３、出力制御部１０４、出力バッファ１０５で構成される。なお、以下の説明では、画像データはシアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｂｋ）の４つの色成分から構成されているとする。一方、記録ヘッドは、１１色のインクを用いるとする。それらは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）、グレイ（Ｇｙ）、フォトグレイ（ＰＧｙ）、フォトシアン（ＰＣ）、フォトマゼンタ（ＰＭ）、シアン´（Ｃ´）、マゼンタ´（Ｍ´）、イエロ´（Ｙ´）、ブラック´（Ｂｋ´）の１１色である。
【００２９】
入力バッファ１０１は、ＳＤＲＡＭ２０７から読出された画像データを色変換処理部１０３に転送する前に一時保存するバッファである。色変換処理部１０３は入力バッファ１０１から転送されたＣ、Ｍ、Ｙ、Ｂｋの色成分データから色変換テーブルに基づいて、色変換を行う。生成される色データは、後段で行われる画像処理によって異なる。ここでは記録ヘッドが用いる１１の異なるインクに対応して、Ｒ、Ｇ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´に対応するドットデータを生成する。出力バッファ１０５は色変換処理部１０３が生成したドットデータを一時保存するバッファである。出力制御部１０４は出力バッファ１０５に格納されたデータ量が任意のアクセス単位量に達したとき、出力バッファ１０５に格納されたドットデータをＳＤＲＡＭ２０７に書き戻しする。
【００３０】
図３は図２に示すＳＤＲＡＭ２０７に画像データを格納した様子を模式的に示した図である。ＳＤＲＡＭ２０７はデータバスが３２ビット幅で構成される。画像データは任意の処理単位で面順次に格納される。そして、１画素の各色成分を８ビットとして、１ワード（３２ビット）に４画素分の画像データが格納される。
【００３１】
さて、ＳＤＲＡＭ２０７のページサイズが１ＫＢの時、シアン（Ｃ）成分の１〜４画素目が格納されている先頭アドレス０ｘ００００００００とＣ成分の５〜８画素目が格納されている先頭アドレス０ｘ０００００００４は同一ページとなる。同様に、マゼンタ（Ｍ）成分の１〜４画素目が格納されている先頭アドレス０ｘ０００１００００とＭ成分の５〜８画素目が格納されている先頭アドレス０ｘ０００１０００４は同一ページとなる。なお、０ｘ００００００００と０ｘ０００１００００は異ページとなる。
【００３２】
図４は図２に示す入力バッファ１０１の詳細を示した図である。
【００３３】
入力バッファ１０１は６個のバッファ４００〜４０５から構成されており、各バッファ４００〜４０５は３２ビット幅のバッファ４つで構成されている。
【００３４】
図５は図２に示す出力バッファ１０５の詳細を示した図である。
【００３５】
出力バッファ１０５はインクの色の数に対応して１１個のバッファ５００〜５１０から構成されており、各バッファ５００〜５１０は３２ビット幅のバッファが４つで構成されている。
【００３６】
次に、画像データ処理部２１１の動作について説明する。
【００３７】
図６は画像データ処理部の処理に従って入力バッファ１０１に格納される画像データがどのように変化してゆくのかを示す図である。
【００３８】
図７はＳＤＲＡＭ２０７へのバーストアクセスを行う様子を示す図である。
【００３９】
最初に１〜１６画素目の色変換処理を行う。
【００４０】
入力制御部１０２はＳＤＲＡＭ２０７のアドレス０ｘ００００００００へ４ビートのバーストアクセスを行い、Ｃ成分データ１〜１６画素（１２８ビット）を読出す。図７（ａ）はその読出しのタイミングチャートを示している。読出したＣ成分データは入力バッファ１０１のバッファ４００に格納される。
【００４１】
次に、アドレス０ｘ０００１００００へ４ビートのバーストアクセスを行い、Ｍ成分のデータ１〜１６画素（１２８ビット）を読出す。図７（ｂ）はその読出しのタイミングチャートを示している。読出したＭ成分のデータは入力バッファ１０１のバッファ４０１に格納される。
【００４２】
さらに、アドレス０ｘ０００２００００へ８ビートのバーストアクセスを行い、Ｙ成分のデータ１〜３２画素（２５６ビット）を読出す。図７（ｃ）はその読出しのタイミングチャートを示している。読出したＹ成分のデータの内、最初の１〜１６画素（１２８ビット）は入力バッファ１０１のバッファ４０２に、次の１７〜３２画素（１２８ビット）はバッファ４０３に格納される。
【００４３】
またさらに、アドレス０ｘ０００３００００へ８ビートのバーストアクセスを行い、Ｂｋ成分のデータ１〜３２画素（２５６ビット）を読出す。図７（ｄ）はその読出しのタイミングチャートを示している。読出したＢｋ成分のデータの内、最初の１〜１６画素（１２８ビット）は入力バッファ１０１のバッファ４０４に、次の１７〜３２画素（１２８ビット）はバッファ４０５に格納される。
【００４４】
ここでは、Ｙ成分とＢｋ成分のデータ１〜３２画素目を読出す際、８ビートのバーストアクセスを行う例を示したが、４ビートの２回連続アクセスとする制御を実行してもよい。
【００４５】
図６（ａ）はここまでのメモリアクセスにより読込みがなされた入力バッファ１０１の状態を示している。
【００４６】
図８は実施例１に従うＳＤＲＡＭへのバーストアクセスと従来例に従うＳＤＲＡＭへのバーストアクセスとの比較を示す図である。
【００４７】
図８において、（ａ）と（ｂ）が実施例１に従うバーストアクセスのタイミングチャートをに示し、（ｃ）と（ｄ）が従来例に従うバーストアクセスのタイミングチャートを示す。図８（ａ）と（ｂ）と、図８（ｃ）と（ｄ）との比較から分かるように、この実施例に従うメモリアクセスでは同じデータ量に対するアクセス時間が短縮されているのが分かる。
【００４８】
次に、色変換処理部１０３はバッファ４００〜４０４に格納されているＣ、Ｍ、Ｙ、Ｂｋ成分の１画素目のデータを読込み、色変換を実行する。その変換により得られるＲ、Ｇ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´各成分の１画素目のデータは出力バッファ１０５のバッファ５００〜５１０の上位８ビットに書込まれる。同様に、Ｃ、Ｍ、Ｙ、Ｂｋ成分の２〜１６画素目のデータの色変換を実行し、その変換により得られる上記各インク色に対応したデータは出力バッファ１０５のバッファ５００〜５１０に書込まれる。
【００４９】
このようにして、１６画素分の色変換処理の終了後、出力制御部１０４は出力バッファ１０５のバッファ５００に格納されたＲ成分の１〜１６画素のデータをＳＤＲＡＭ２０７のアドレス０ｘ００１０００００へ４ビートのバーストアクセスで書込む。同様に、バッファ５０１〜５１０にＧ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´の各インク色に対応するデータをＳＤＲＡＭ２０７に書込み、１〜１６画素目の色成分データに対する色変換処理が終了する。
【００５０】
次に１７〜３２画素目の色変換処理を行う。
【００５１】
入力制御部１０２はＳＤＲＡＭ２０７のアドレス０ｘ００００００１０へ８ビートのバーストアクセスを行い、Ｃ成分データ１７〜４８画素（２５６ビット）を読出す。図７（ｃ）はその読出しのタイミングチャートを示している。読出したＣ成分データの内、最初の１７〜３２画素（１２８ビット）は入力バッファ１０１のバッファ４００に、次の３３〜４８画素（１２８ビット）はバッファ４０１に格納される。
【００５２】
次に、ＳＤＲＡＭ２０７のアドレス０ｘ０００１００１０へ８ビートのバーストアクセスを行い、Ｍ成分データ１７〜４８画素（２５６ビット）を読出す。読出したＭ成分データの最初の１７〜３２画素（１２８ビット）は入力バッファ１０１のバッファ４０２に、次の３３〜４８画素（１２８ビット）はバッファ４０４に格納される。
【００５３】
図６（ｂ）はここまでのメモリアクセスにより読込みがなされた入力バッファ１０１の状態を示している。図６（ｂ）において斜線で示した部分は図６（ａ）に示す状態に対してデータが書き換わった部分を表わしている。
【００５４】
次に、色変換処理部１０３はバッファ４００、４０２、４０３、４０５に格納されているＣ、Ｍ、Ｙ、Ｂｋ成分の１７画素目のデータを読込み、色変換を実行する。その変換により得られるＲ、Ｇ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´の各インク色に対応する１７画素目のデータは出力バッファ１０５のバッファ５００〜５１０の上位８ビットに書込まれる。同様に、Ｃ、Ｍ、Ｙ、Ｂｋ成分の１８〜３２画素目のデータの色変換を実行し、その変換により得られる上記各インク色に対応したデータは出力バッファ１０５のバッファ５００〜５１０に書込まれる。
【００５５】
このようにして次の１６画素分の色変換処理の終了後、出力制御部１０４は出力バッファ１０５のバッファ５００に格納されたＲ成分の１７〜３２画素のデータをＳＤＲＡＭ２０７のアドレス０ｘ００１０００１０へ４ビートのバーストアクセスで書込む。同様に、バッファ５０１〜５１０にＧ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´の各インク色に対応するデータをＳＤＲＡＭ２０７に書込み、１７〜３２画素目の色成分データに対する色変換処理が終了する。
【００５６】
次に３３〜４８画素目の色変換処理を行う。
【００５７】
入力制御部１０２はＳＤＲＡＭ２０７のアドレス０ｘ０００２００２０へ８ビートのバーストアクセスを行い、Ｙ成分データ３３〜６４画素（２５６ビット）を読出す。図７（ｃ）はその読出しのタイミングチャートを示している。読出したＹ成分データの内、最初の３３〜４８画素（１２８ビット）は入力バッファ１０１のバッファ４００に、次の４９〜６４画素（１２８ビット）はバッファ４０２に格納される。
【００５８】
次に、ＳＤＲＡＭ２０７のアドレス０ｘ０００３００２０へ８ビートのバーストアクセスを行い、Ｂｋ成分データ３３〜６４画素（２５６ビット）を読出す。読出したＢｋ成分データの最初の３３〜４８画素（１２８ビット）は入力バッファ１０１のバッファ４０３に、次の４８〜６４画素（１２８ビット）はバッファ４０５に格納される。
【００５９】
図６（ｃ）はここまでのメモリアクセスにより読込みがなされた入力バッファ１０１の状態を示している。図６（ｃ）において斜線で示した部分は図６（ｂ）に示す状態に対してデータが書き換わった部分を表わしている。
【００６０】
次に、色変換処理部１０３はバッファ４００、４０１、４０３、４０４に格納されているＣ、Ｍ、Ｙ、Ｂｋ成分の３３画素目のデータを読込み、色変換を実行する。その変換により得られるＲ、Ｇ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´の各インク色に対応する３３画素目のデータは出力バッファ１０５のバッファ５００〜５１０の上位８ビットに書込まれる。同様に、Ｃ、Ｍ、Ｙ、Ｂｋ成分の３４〜４８画素目のデータの色変換を実行し、その変換により得られる上記各インク色に対応したデータは出力バッファ１０５のバッファ５００〜５１０に書込まれる。
【００６１】
このようにして更に次の１６画素分の色変換処理の終了後、出力制御部１０４は出力バッファ１０５のバッファ５００に格納されたＲ成分の３３〜４８画素のデータをＳＤＲＡＭ２０７のアドレス０ｘ００１０００２０へ４ビートのバーストアクセスで書込む。同様に、バッファ５０１〜５１０にＧ、Ｂ、Ｇｙ、ＰＧｙ、ＰＣ、ＰＭ、Ｃ´、Ｍ´、Ｙ´、Ｂｋ´の各インク色に対応するデータをＳＤＲＡＭ２０７に書込み、３３〜４８画素目の色成分データに対する色変換処理が終了する。
【００６２】
以上説明したのと同様の処理を繰り返すことによって、ＳＤＲＡＭ２０７に格納された各色成分データの色変換が実行される。即ち、１６画素分の色変換処理毎にＣ、Ｍ成分データを夫々１２８ビット分、入力し、Ｙ、Ｂｋ成分データを夫々２５６ビット分、入力する動作と、Ｃ、Ｍ成分データを２５６ビット分、入力し、Ｙ、Ｂｋ成分データを１２８ビット分、入力する動作を交互に行う。
【００６３】
ＳＤＲＡＭは複数の独立したメモリバンクを内蔵しており、そのバンクは、常にアイドル、アクティブのどちらかの状態にある。別の行にアクセスする場合、まず使用中のメモリバンクをアイドル状態に戻してから、次の行をアクティブにする。このプロセスは、プリチャージと呼ばれる。メモリバンクが完全にアイドル状態になり、次のアクティブ命令を受け付け可能になるまでには、少し時間が必要となる。
【００６４】
図９はＳＤＲＡＭに対するアクセス成功とアクセス失敗との様子を模式的に示す図である。図９において、Ｃ１はＣ成分データの１〜１６画素目の読出しを表し、Ｃ２はＣ成分データの１７〜３２画素目の読出しを表す。また、Ｙ１２はＹ成分データの１〜３２画素目の読出しを表し、Ｃ２３はＣ成分データの１７〜４８画素目の読出しを表す。
【００６５】
従来例では図９（ａ）に示すように全ての４ビートのバーストアクセスでページミスが発生する。これに対して、８ビートのバーストアクセスも実行するこの実施例に従えば、上記のような特性のため、上述のデータ読出し制御によって、図９（ｂ）に示すように示すようにページミスが低減する。また、図９（ｃ）に示すように、８ビートのバーストアクセスを４ビートの２回連続アクセスとした場合にも、Ｙ１からＹ２へのアクセスはページヒットとなり、ページミスによるオーバヘッドが低減する。
【００６６】
図１０は実施例１に従うデータ読出しと色変換処理との関係を示す図である。
【００６７】
図１０において、Ｃ１はＣ成分データの１〜１６画素を示し、Ｍ１はＭ成分データの１〜１６画素を示し、Ｙ２はＹ成分データの１６〜３２画素を示し、Ｋ２はＫ成分データの１６〜３２画素を示す。
【００６８】
図１０に示す構成では、メモリリード１では、Ｃ、Ｍ、Ｙ、Ｂｋ成分データそれぞれの１〜１６画素とＹ、Ｂｋ成分データそれぞれの１６〜３２画素の読出しを行った後、色変換１を実行する。メモリリード２では、Ｃ、Ｍ成分データの１６〜３２画素の読出しを行った後、色変換２を実行する。このようにメモリリードと色変換処理実行のタイミングをずらすことで、バッファ容量を２倍にせずともアクセス効率の向上が可能となる。
【００６９】
以上説明した実施例に従えば、画像データ処理部の入力バッファを６個のバッファで構成し、２色成分ずつのアクセスを行い、色成分毎の読出しデータ量を２倍にするので、バッファ容量の増大を抑制しつつ、バースト長を長くすることが可能になる。これにより、メモリアクセス効率が高まり、その結果、メモリアクセスのスループット高速化を実現することができる。
【実施例２】
【００７０】
実施例１ではＣ、Ｍ、Ｙ、Ｂｋの４つの色成分データの色変換処理を実行する例について説明したが、この実施例ではレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分データの色変換処理を実行する例について説明する。なお、実施例１で説明したのと同様の構成については、その説明は省略し、ここでは、この実施例に特徴的な構成についてのみ説明する。
【００７１】
図１１は実施例２に従う画像データ処理部２１１の内部構成を示すブロック図である。
【００７２】
図１１と図２とを比較すると分かるように、実施例１との違いは画像データ処理部２１１が処理するデータが各色成分８ビットからなる２４ビットのＲＧＢデータを１６ビットのＹＵＶデータに変換する点にある。そのため、インク色色変換処理部１０３の代わりにＲＧＢ−ＹＵＶ変換処理部１００２が備えられる。
【００７３】
図１２は図２に示すＳＤＲＡＭ２０７にＲＧＢ成分からなる画像データを格納した様子を模式的に示した図である。
【００７４】
図１３は実施例２に従う入力バッファ１０１の詳細な構成を示した図である。
【００７５】
図４に示した実施例１との違いは入力バッファ１０１が４個のバッファ１１００〜１１０３から構成されている点である。
【００７６】
図１４は実施例２に従う出力バッファ１０５の詳細を構成を示した図である。
【００７７】
図５に示した実施例１との違いは出力バッファ１０５が２個のバッファ１２００〜１２０１から構成されている点である。
【００７８】
次に、この実施例に従う画像データ処理部２１１の動作について説明する。
【００７９】
図１５は画像データ処理部の処理に従って入力バッファ１０１に格納される画像データがどのように変化してゆくのかを示す図である。
【００８０】
最初に１〜１６画素目のＲＧＢ−ＹＵＶ変換処理を行う。
【００８１】
入力バッファ１０１はＳＤＲＡＭ２０７のアドレス０ｘ００００００００へ４ビートのバーストアクセスを実行し、Ｒ成分データの１〜１６画素（１２８ビット）を読出す。読出したＲ成分データは入力バッファ１０１のバッファ１１００に格納される。次に、ＳＤＲＡＭ２０７のアドレス０ｘ０００１００００へ４ビートのバーストアクセスを実行し、Ｇ成分データの１〜１６画素（１２８ビット）を読出す。読出したＧ成分のデータは入力バッファ１０１のバッファ１１０１に格納される。
【００８２】
次に、ＳＤＲＡＭ２０７のアドレス０ｘ０００２００００へ８ビートのバーストアクセスを実行し、Ｂ成分データの１〜３２画素（２５６ビット）を読出す。読出したＢ成分データの最初の１〜１６画素は入力バッファ１０１のバッファ１１０２に、次の１７〜３２画素はバッファ１１０３に格納される。
【００８３】
図１５（ａ）はここまでのメモリアクセスにより読込みがなされた入力バッファ１０１の状態を示している。
【００８４】
次に、ＲＧＢ−ＹＵＶ変換処理部１００２はバッファ１１００〜１１０２に格納されているＲ、Ｇ、Ｂ成分それぞれの１画素目のデータを読み込み、色変換処理を実行する。その変換により得られたＹ、ＵＶ成分の１画素目のデータをバッファ１２００、１２０１の上位８ビットに書込む。同様に、Ｒ、Ｇ、Ｂ成分それぞれの２〜１６画素目のデータの色変換処理を実行し、バッファ１２００〜１２０１に書込む。
【００８５】
このようにして、１６画素分の色変換処理の終了後、出力制御部１０４は出力バッファ１０５のバッファ１２００に格納されたＹ成分の１〜１６画素のデータをＳＤＲＡＭ２０７のアドレス０ｘ００１０００００へ４ビートのバーストアクセスで書込む。同様に、バッファ１２０１に格納されたＵＶ成分のデータをＳＤＲＡＭ２０７に書込み、１〜１６画素目の色成分データに対する色変換処理が終了する。
【００８６】
次に１７〜３２画素目の色変換処理を行う。
【００８７】
入力制御部１０２はＳＤＲＡＭ２０７のアドレス０ｘ００００００１０へ４ビートのバーストアクセスを実行し、Ｒ成分データの１７〜３２画素（１２８ビット）を読出す。読出したＲ成分データの１７〜３２画素は入力バッファ１０１のバッファ１１００に格納される。次に、ＳＤＲＡＭ２０７のアドレス０ｘ０００１００１０へ８ビートのバーストアクセスを実行し、Ｇ成分のデータ１７〜４８画素（２５６ビット）を読出す。読出したＧ成分データの最初の１７〜３２画素は入力バッファ１０１のバッファ１１０１に、次の３３〜４８画素はバッファ１１０２に格納される。
【００８８】
図１５（ｂ）はここまでのメモリアクセスにより読込みがなされた入力バッファ１０１の状態を示している。図１５（ｂ）において、斜線で示した部分は図１５（ａ）に示す状態に対してデータが書き換わった部分を表わしている。
【００８９】
次に、ＲＧＢ−ＹＵＶ変換処理部１００２は入力バッファ１０１のバッファ１１００、１１０１、１１０３に格納されているＲ、Ｇ、Ｂ成分それぞれの１７画素目のデータを読込み、色変換を実行する。その変換により得られたＹ、ＵＶ成分それぞれの１７画素目のデータを出力バッファ１０５のバッファ１２００、１２０１の上位８ビットに書込む。同様に、Ｒ、Ｇ、Ｂ成分それぞれの１８〜３２画素目のデータの色変換処理を実行し、出力バッファ１０５のバッファ１２００、１２０１に書込む。
【００９０】
このようにして、次の１６画素分の色変換処理の終了後、出力制御部１０４は出力バッファ１０５のバッファ１２００に格納されたＹ成分の１７〜３２画素のデータをＳＤＲＡＭ２０７のアドレス０ｘ００１０００１０へ４ビートのバーストアクセスで書込む。同様に、バッファ１２０１に格納されたＵＶ成分のデータをＳＤＲＡＭ２０７に書込み、１７〜３２画素目の色成分データに対する色変換処理が終了する。
【００９１】
次に３３〜４８画素目の色変換処理を行う。
【００９２】
入力制御部１０２はＳＤＲＡＭ２０７のアドレス０ｘ０００２００２０へ４ビートのバーストアクセスを実行し、Ｂ成分データの３３〜４８画素（１２８ビット）を読出す。読出したＢ成分データの３３〜４８画素は入力バッファ１０１のバッファ１１０３に格納される。次に、ＳＤＲＡＭ２０７のアドレス０ｘ００００００２０へ８ビートのバーストアクセスを実行し、Ｒ成分データの３３〜６４画素（２５６ビット）を読出す。読出したＲ成分データの最初の３３〜４８画素は入力バッファ１０１のバッファ１１００に、次の４９〜６４画素はバッファ１１０１に格納される。
【００９３】
図１５（ｃ）はここまでのメモリアクセスにより読込みがなされた入力バッファ１０１の状態を示している。図１５（ｃ）において、斜線で示した部分は図１５（ｂ）に示す状態に対してデータが書き換わった部分を表わしている。
【００９４】
次に、ＲＧＢ−ＹＵＶ変換処理部１００２は入力バッファ１０１のバッファ１１００、１１０１、１１０３に格納されているＲ、Ｇ、Ｂ成分それぞれの３３画素目のデータを読込み、色変換を実行する。その変換により得られたＹ、ＵＶ成分それぞれの３３画素目のデータを出力バッファ１０５のバッファ１２００、１２０１の上位８ビットに書込む。同様に、Ｒ、Ｇ、Ｂ成分それぞれの３４〜４８画素目のデータの色変換を実行し、出力バッファ１０５のバッファ１２００、１２０１に書込む。
【００９５】
このようにして更に次の１６画素分の色変換処理終了後、出力制御部１０４は出力バッファ１０５のバッファ１２００に格納されたＹ成分の３３〜４８画素のデータをＳＤＲＡＭ２０７のアドレス０ｘ００１０００１０へ４ビートのバーストアクセスで書込む。同様に、バッファ１２０１に格納されたＵＶ成分のデータをＳＤＲＡＭ２０７に書込み、３３〜４８画素目の色成分データに対する色変換処理が終了する。
【００９６】
以上説明したのと同様の処理を繰り返すことによって、ＳＤＲＡＭ２０７に格納されたＲＧＢ色成分データの色変換処理が実行される。
【００９７】
従って以上説明した実施例に従えば、画像データ処理部の入力バッファを４個のバッファで構成し、２色成分データ毎のアクセスを行い、その内の１色成分データについて読出しデータ量を２倍にする。これにより、バッファ容量の増大を抑制しつつ、バースト長を長くすることが可能になり、メモリアクセス効率を高めることができ、その結果、メモリアクセスのスループット高速化を実現することができる。
【００９８】
なお以上説明した２つの実施例において、複数の色成分の画素を点順次でアクセスすることを前提として説明したが、本発明は符号化処理において直前（１つ上）の１ラスタを参照する方式における複数のラスタ要素にも適用することができる。
【００９９】
また以上説明した２つの実施例では、一般的に言えば、Ｎ個の色成分からなる画像データをＳＤＲＡＭから予め定められた長さであるＬビットの単位で読込んで色変換処理を行いＭ個の色成分からなる画像データを出力する画像処理に関するものである。また、入力バッファでは、Ｎ個よりもＫ個多い数のバッファを備える構成とし、（Ｎ−Ｋ）個の色成分データについてはＬビット分のデータを入力するが、残りＫ個の色成分データについては２Ｌビット分のデータを２Ｋ個のバッファに入力するようにしている。これによって、ＳＤＲＡＭでのバースト長を長くすることができる。
【０１００】
そして、実施例１ではＮ＝４個、Ｍ＝１１個、Ｋ＝２個、Ｌ＝３２としての例を扱い、実施例２では、Ｎ＝３個、Ｍ＝２個、Ｋ＝１個、Ｌ＝３２としての例を扱った。しかしながら、このような数値により本発明は限定されるものではなく、他の値が用いられても良い。
【０１０１】
さらに以上説明した２つの実施例では、バーストアクセスを用いた例について説明したが、シングルアクセスにおいても適用可能である。また、バースト長も４や８に限定されるものではないことは言うまでもない。。
【０１０２】
またさらに以上説明した２つの実施例はトグルバッファ構成にも適用可能である。
【０１０３】
また、以上説明した実施例の記録装置のプリンタエンジンは、インクジェット方式のみならず電子写真方式のプリンタエンジンを搭載しても良い。さらに、プリンタコントローラは記録装置の内部に設ける構成のみならず、画像データの生成元であるパーソナルコンピュータ（ＰＣ）やデジタルカメラの内部に設けられる構成としても良い。
【０１０４】
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１０５】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015179908.tif 000003
【図２】
2015179908.tif 000004
【図３】
2015179908.tif 000005
【図４】
2015179908.tif 000006
【図５】
2015179908.tif 000007
【図６】
2015179908.tif 000008
【図７】
2015179908.tif 000009
【図８】
2015179908.tif 000010
【図９】
2015179908.tif 000011
【図１０】
2015179908.tif 000012
【図１１】
2015179908.tif 000013
【図１２】
2015179908.tif 000014
【図１３】
2015179908.tif 000015
【図１４】
2015179908.tif 000016
【図１５】
2015179908.tif 000017