(57)【要約】【課題】  異なる色情報を有する画像を編集する際の処理負担を軽減する。【解決手段】  複数の異なる色情報を有する１枚の入力画像を複数のタイルに分割し、分割したタイル単位で画像データを処理するに際し、係数選択回路３０１は、変換される色情報ごとに設定された変換用の係数値のうちの１つを、入力したタイルの色情報に基づいて選択し、選択した係数値と、入力された画像データの値とを用いて行列演算回路３０２が演算を行い、色情報を変換する。これにより、複数の異なる色情報を有する１枚の入力画像を１つの色情報に統一することが、１つのパスにて実現できるようになる。【選択図】  図３
2006287604.tif 000002
【特許請求の範囲】
【請求項１】
複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールを有し、
前記第１〜第ｎの画像処理モジュールの少なくとも１つは、
前記画像の色空間を前記タイル単位で変換する色空間変換手段と、
前記色空間変換手段で色空間の変換を行うために必要な色変換情報を記録する記録手段とを有し、
前記色空間変換手段は、前記色空間の変換対象となるタイルの色情報に基づいて、前記記録手段に記録された色変換情報を読み出して、前記タイルの色空間を変換することを特徴とする画像処理装置。
【請求項２】
前記画像を複数のタイルに分割する分割手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記色空間変換手段は、色空間変換用のマトリックス回路を有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記色空間変換手段は、前記色空間変換用のマトリックス回路を有し、
前記色変換情報は、前記色空間変換用のマトリックス回路で用いられる変換係数であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記変換係数は、前記タイルの色情報に応じて設定されており、
前記色空間変換手段は、前記色空間の変換対象となるタイルの色情報に応じて前記変換係数を選択し、選択した変換係数を用いて、前記タイルの色空間を変換することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記色空間変換手段により色空間が変換されたタイルを少なくとも１つ含む複数のタイルを用いて画像を形成する画像形成手段を有することを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項７】
複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールの少なくとも１つが、
前記画像の色空間を前記タイル単位で変換する色空間変換ステップと、
前記色空間変換手段で色空間の変換を行うために必要な色変換情報を記録する記録ステップとを行い、
前記色空間変換ステップは、前記色空間の変換対象となるタイルの色情報に基づいて、前記記録手段に記録された色変換情報を読み出して、前記タイルの色空間を変換することを特徴とする画像処理方法。
【請求項８】
複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールの少なくとも１つが、
前記画像の色空間を前記タイル単位で変換する色空間変換ステップと、
前記色空間変換手段で色空間の変換を行うために必要な色変換情報を記録する記録ステップとを行うことをコンピュータに実行させ、
前記色空間変換ステップは、前記色空間の変換対象となるタイルの色情報に基づいて、前記記録手段に記録された色変換情報を読み出して、前記タイルの色空間を変換することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びコンピュータプログラムに関し、特に、１枚の画像を複数の小さなブロック（以下タイルと記す）単位で処理するために用いて好適なものである。
【背景技術】
【０００２】
従来から、画像を複数のタイルに分割し、分割したタイル単位で画像データを処理し、管理する画像処理システムがある（例えば、特許文献１を参照）。このような画像処理システムの従来例を以下に説明する。
【０００３】
［画像処理装置の構成］
図８は、画像を複数のタイルに分割し、分割したタイル単位で画像データを処理し、管理する画像処理システムの構成の従来例を示すブロック図である。図８において、画像処理装置コントローラ２０００は、画像入力デバイスであるスキャナ２０７０や画像出力デバイスであるプリンタ２０９５と接続される。また、ＬＡＮ２０１１や公衆回線（ＷＡＮ）２０５１を介して外部機器との間でデータを授受する。このようにして、画像処理装置コントローラ２０００は、画像の入出力を行うことができる。
【０００４】
システム制御部２１５０は、内部にＣＰＵ２００１ａ、２００１ｂを含み、画像処理装置全体を制御する。尚、図８では、２つのＣＰＵ２００１ａ、２００１ｂを用いた例を示す。これら２つのＣＰＵ２００１ａ、２００１ｂは、共通のＣＰＵバス２１２６を介してシステムバスブリッジ（ＳＢＢ）２００７に接続される。
【０００５】
システムバスブリッジ２００７は第１のバススイッチとして機能する。このシステムバスブリッジ２００７には、ＣＰＵバス２１２６、ＲＡＭコントローラ２１２４、ＲＯＭコントローラ２１２５、第１のＩＯバス２１２７、サブバススイッチ２１２８、第２のＩＯバス２１２９、第１の画像リングインターフェース２１４７、及び第２の画像リングインターフェース２１４８が接続される。
【０００６】
サブバススイッチ２１２８は、第２のバススイッチとして機能する。このサブバススイッチ２１２８には、第１の画像ＤＭＡ２１３０、第２の画像ＤＭＡ２１３２、フォント伸張部２１３４、ソート回路２１３５、及びビットマップトレース部２１３６が接続されている。また、サブバススイッチ２１２８は、これらの画像ＤＭＡ２１３０、２１３２から出力されるメモリーアクセス要求を調停し、システムバスブリッジ２００７への接続を行う。
【０００７】
第２のＩＯバス２１２９には、第１の汎用バスインターフェース２１４２ａ、第２の汎用バスインターフェース２１４２ｂ、及びＬＡＮコントローラ２０１０が接続される。第１の汎用バスインターフェース２１４２ａには、第１のＰＣバス２１４３ａを介して、レンダリング部２０６０、ディスクコントローラ２１４４、及びモデム２０５０が接続されている。公衆回線２０５１を介した外部とのデータのやり取りは、モデム２０５０を通して行われる。また、外部記憶装置２００４とのデータのやり取りは、ディスクコントローラ２１４４を通して行われる。
【０００８】
第１のＩＯバス２１２７には、ＵＳＢインターフェース２１３８、ＵＩ２０１２に接続された操作部インターフェース２００６、第１〜第３のシリアルポート２１３９ａ〜２１３９ｃ、インタラプトコントローラ２１４０及びGPIOインターフェース２１４１が接続されている。
【０００９】
ＲＡＭ２００２は、ＣＰＵ２００１が動作するためのシステムワークメモリーであり、画像データを一時的に記憶するための画像メモリーでもある。また、このＲＡＭ２００２は、ＲＡＭコントローラ２１２４により制御される。尚、本例では、ＲＡＭ２００２として、例えばダイレクトＲＤＲＡＭを採用している。
ＲＯＭ２００３はブートＲＯＭであり、システムのブートプログラムが格納されている。また、このＲＯＭ２００３はＲＯＭコントローラ２１２５により制御される。
【００１０】
第１の画像ＤＭＡ２１３０は、画像圧縮部２１３１に接続され、レジスタアクセスリング２１３７を介して設定された情報に基づき、画像圧縮部２１３１による、ＲＡＭ２００２上にある非圧縮データの読み出しと、圧縮と、圧縮後データの書き戻しとの制御を行う。尚、本例では、例えばＪＰＥＧを圧縮アルゴリズムとして採用している。
【００１１】
第２の画像ＤＭＡ２１３２は、画像伸張部２１３３に接続され、レジスタアクセスリング２１３７を介して設定された情報に基づき、画像伸張部２１３３による、ＲＡＭ２００２上にある圧縮データの読み出しと、伸張と、伸張後データの書き戻しとの制御を行う。尚、本例では、上述した圧縮アルゴリズムに対応した伸張アルゴリズムとしてＪＰＥＧを採用している。
【００１２】
第１の画像リングインターフェース２１４７及び第２の画像リングインターフェース２１４８は、システムバスブリッジ２００７を、画像データを高速で転送する画像リング２００８ａ、２００８ｂに接続するためのインターフェースであり、圧縮画像データをＲＡＭ２００２と画像処理部２１４９との間で転送するためのＤＭＡコントローラとして機能する。
【００１３】
第１及び第２のタイル伸張部２１０３ａ、２１０３ｂは、第３の画像リングインターフェース２１０１に接続されると共に、タイルバス２１０７にも接続される。これら第１及び第２のタイル伸張部２１０３ａ、２１０３ｂは、画像リング２００８を介して入力された圧縮後の画像データ（圧縮画像データ）を伸張し、タイルバス２１０７へ転送するバスブリッジである。尚、本例では、例えば多値データにはＪＰＥＧを、また２値データにはパックビッツをそれぞれ伸張アルゴリズムとして採用している。
【００１４】
第１〜第３のタイル圧縮部２１０６ａ〜２１０６ｃは、第４の画像リングインターフェース２１０２に接続されると共に、タイルバス２１０７にも接続される。これら第１〜第３のタイル圧縮部２１０６ａ〜２１０６ｃは、タイルバス２１０７を介して入力された圧縮前の画像データを圧縮し、画像リング２００８ｂへ転送するバスブリッジである。尚、本例では、上述の伸張アルゴリズムに対応して、多値データにはＪＰＥＧを、２値データにはパックビッツを圧縮アルゴリズムとして採用している。
【００１５】
コマンド処理部２１０４は、第３及び第４の画像リングインターフェース２１０１、２１０２に接続されると共に、タイルバス２１０７を介してレジスタ設定バス２１０９にも接続される。このコマンド処理部２１０４は、ＣＰＵ２００１より発行され、画像リング２００８ａを介して入力したレジスタ設定要求を、レジスタ設定バス２１０９に接続される該当ブロックへ書き込むための処理を行う。また、ＣＰＵ２００１より発行されたレジスタ読み出し要求に基づき、レジスタ設定バス２１０９を介して該当レジスタより情報を読み出し、第４の画像リングインターフェース２１０２に転送する。
【００１６】
ステータス処理部２１０５は、各画像データ処理部（後述する多値化部２１１９、２値化部２１１８、色空間変換部２１１７、画像回転部２０３０、変倍処理部２１１６の情報を監視する。そして、ＣＰＵ２００１に対してインタラプトを発行するためのインタラプトパケットを生成し、第４の画像リングインターフェース２１０２に出力する。
また、タイルバス２１０７には、上述のブロックに加え、次の機能ブロックが接続される。すなわち、レンダリング部インターフェース２１１０、画像入力インターフェース２１１２、及び画像出力インターフェース２１１３が接続される。また、タイルバス２１０７及びメモリーバス２１０８を介して、外部バスインターフェース部２１２０、多値化部２１１９、２値化部２１１８、色空間変換部２１１７、画像回転部２０３０、及び変倍処理部２１１６が接続される。また、画像入力インターフェース２１１２には、スキャナ２０７０からの画像を取り込んで処理するスキャナ用画像処理部２１１４が接続され、画像出力インターフェース２１１３には、プリンタ２０９５へ出力する画像を処理するプリンタ用画像処理部２１１５が接続される。
【００１７】
［パケット構成］
次に、画像を複数のタイルに分割し、分割したタイル単位で画像データを処理し、管理する画像処理システムに用いられるパケットのフォーマットについて説明する。本例における画像処理装置コントローラ２０００は、画像データ、ＣＰＵ２００１によるコマンド、及び各画像データ処理部２１１６、２１１７、２１１８、２１１９、２０３０より発行される割り込み情報を、パケット化された形式で転送する。パケットデータには、以下の種類がある。
【００１８】
（１）データパケット（図９）
図９に示すデータパケットは所定の画素数（ここでは３２pixel×３２pixelとする）で分割したタイル単位の画像データ３００２と、後述する制御情報を格納するヘッダ情報３００１と、画像付加情報等３００３とを含んで構成される。
【００１９】
以下、ヘッダ情報３００１内に含まれる情報について説明を行う。
PcktType３００４はパケット・タイプを識別するための情報である。このPcktType３００４にはリピートフラグが含まれており、画像データ３００２が１つ前に送信したデータパケットの画像データと同一の場合、リピートフラグがセットされる。
ChipID３００５は、パケットの送信先を示す情報である。
ImageType３００６は、画像データのタイプを示す情報である。
【００２０】
PageID３００７は、画像データのページ番号を示す情報である。
JobID３００８は、ソフトウェアで画像処理を管理するためのジョブＩＤである。
PacketIDY３００９及びPacketIDX３０１０は、パケットに含まれる（又は指定される）画像データが、画像全体においてどの位置におけるタイルに相当するかを示す情報である。ここでタイル位置は、Ｙ方向の位置を示す情報（PacketIDY３００９）とＸ方向の位置を示す情報（PacketIDX３０１０）との組み合わせＹnＸnで表される。
【００２１】
データパケットは画像データが圧縮されている場合と非圧縮の場合とがある。本例では、圧縮アルゴリズムとして、多値カラー（多値グレースケールを含む）の場合はＪＰＥＧを、２値の場合はパックビッツを採用するものとする。圧縮されている場合と非圧縮の場合との区別は、CompressFlag３０１７で示される。
【００２２】
Process Instruction３０１１は、５ビットのUnitID３０１９と３ビットのMode３０２０との組である第１〜第８の処理ユニットを含んで構成され、各処理ユニットは、左（下位）から順番に処理される。処理されたUnitID及びModeは廃棄され、次に処理されるUnitID及びModeが左端に位置するように、Process Instruction３０１１全体が左に８ビットシフトされる。
【００２３】
Process Instruction３０１１には、UnitID３０１９とMode３０２０との組が最大８組格納される。UnitID３０１９は、各画像データ処理部を指定する。Mode３０２０は、各画像データ処理部での動作モードを指定する。これにより、１つの画像データパケットに含まれる（又は指定される）画像データに対して、最大でのべ８つの画像データ処理部による連続処理を指定することが可能である。
【００２４】
PacketByteLength３０１２はパケットのトータルバイト数を示す情報である。
ImageDataByteLengh３０１５は画像データのバイト数を示す情報である。
ZdataByteLength３０１６は画像付加情報のバイト数を示す情報である。
ImageDataOffset３０１３、ZdataOffset３０１４はそれぞれ、画像データ及び画像付加情報の、パケットの先頭からのオフセットを示す情報である。
【００２５】
（２）コマンドパケット（図１０）
図１０に示すコマンドパケットは、レジスタ設定バス２１０９へのアクセスを行うためのものである。このパケットを用いることにより、ＣＰＵ２００１より画像メモリー２１２３ａ、２１３９ｂへのアクセスも可能である。また、コマンドパケットは、ヘッダ４００１及びコマンド（パケットデータ部）４００２を含んで構成される。
【００２６】
このヘッダ４００１におけるChipID４００４には、コマンドパケットの送信先となる画像処理部２１４９を表すＩＤが格納される。
PageID４００７及びJobID４００８には、それぞれ、ソフトウェアで管理するためのPage ID及びJob IDが格納される。
Packet ID４００９は１次元で表され、Data PacketのX-coordinateのみを使用する。
PacketByteLength４０１０は１２８Byteで固定である。
【００２７】
一方、コマンド（パケットデータ部）４００２には、アドレス４０１１とデータ４０１２との組を１つのコマンドとして最大１２個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはCmdType４００５で示され、コマンドの数はCmdnum４００６で示される。
【００２８】
（３）インタラプトパケット（図１１）
図１１に示すインタラプトパケットは、ヘッダ５００１及びインタラプトデータ（パケットデータ部）５００２を含んでおり、画像処理部２１４９からＣＰＵ２００１への割り込みを通知するために用いられる。
ステータス処理部２１０５は、インタラプトパケットを送信すると、次に送信の許可がされるまではインタラプトパケットを送信してはならない。
【００２９】
PacketByteLength５００６は１２８Byteで固定である。
インタラプトデータ（パケットデータ部）５００２には、画像処理部２１４９の各々の内部モジュールのステータス情報５００７が格納されている。ステータス処理部２１０５は画像処理部２１４９内のモジュールのステータス情報を集め、一括してシステム制御部２１５０に送ることができる。
【００３０】
ChipID５００４には、インタラプトパケットの送信先となるシステム制御部２１５０を表すＩＤが格納される。また、IntChipID５００５には、インタラプトパケットの送信元となる画像処理部２１４９を表すＩＤが格納される。
【００３１】
［パケットテーブルの構成］
上述した各パケットは、図１２に示すようなパケットテーブル６００１によって管理される。このパケットテーブル６００１は、画像データと対で使用され、画像データが図８に示したＲＡＭ２００２に展開されている場合は、ＲＡＭ２００２上で管理される。また、画像データが外部記憶装置２００４に格納される場合には、このパケットテーブル６００１も同時に外部記憶装置２００４に格納される。外部記憶装置２００４に格納された画像データが再びＲＡＭ２００２に展開されると、このパケットテーブル６００１もＲＡＭ２００２に読み出され、画像データが展開されるアドレス情報に応じてアドレス情報の書き換えが行われる。
【００３２】
パケットテーブル６００１の値（ポインタ及び長さ）に５bit付加すると、パケットの先頭Address（Packet Start Address）、パケットのバイト長（Packet Byte Length）６００５となる。即ち、以下の（１）式、及び（２式）が成立する。
Packet Address Pointer（２７bit）＋5b00000＝Packet先頭Address・・・（１）
Packet  Length（１１bit）＋5b00000＝Packet Byte Length・・・（２）
尚、パケットテーブル６００１とチェーンテーブル（Chain Table）６０１０とは分割されないものとする。
【００３３】
パケットテーブル６００１は、常に走査方向に並んでおり、Yn/Xn＝000/000,000/001,000/002,…という順に並んでいる。このパケットテーブル６００１のエントリは一意に１つのタイルを示す。また、Yn/Xmaxの次のエントリはYn+1/X0となる。ここで、パケットがひとつ前のパケットとまったく同じデータである場合は、そのパケットはメモリー上に格納されず、パケットテーブル６００１のエントリに、１つ前のエントリと同じPacket Address Pointer６００２と、Packet Length６００５とを格納する。つまり、１つのパケットデータを２つのテーブルエントリが指すようなかたちになる。この場合、２つ目のテーブルエントリのRepeat Flag６００３がセットされる。
【００３４】
また、チェーンＤＭＡによりパケットが複数に分断された場合、Divide Flag６００４をセットし、そのパケットの先頭部分が入っているチェーンブロックのチェーンテーブル番号（Chain Table No.）６００６をセットする。
チェーンテーブル６０１０のエントリは、Chain Block Address６０１１とChain Block Length６０１２とを含んで構成され、チェーンテーブル６０１０の最後のエントリには、Chain Block Address６０１１、Chain Block Length６０１２共に０を格納しておく。
【００３５】
［実際の画像処理］
次に、以上のような従来の画像処理システムで行われる実際の画像処理として変倍処理を例に挙げて詳述する。
なお、以下では、スキャナ２０７０あるいは外部機器から画像データを事前に取り込み、その画像データはＲＡＭ２００２にすでに存在するとして説明を行う。
まず、システム制御部２１５０がＲＡＭ２００２からタイルデータを読み出し、図９に示したデータパケットを生成し、生成したデータパケットを第１の画像リングインターフェース２１４７を介して、画像処理部２１４９へ出力する。このとき、生成されたデータパケットのProcess Instruction３０１１には、「タイル伸張部２１０３→変倍処理部２１１６→タイル圧縮部２０１６に格納」の順で処理を行うためのデータが格納されている。
【００３６】
次に、システム制御部２１５０から出力されたデータパケットは、画像リング２００８を介して第３の画像リングインターフェース２１０１に入力される。この第３の画像リングインターフェース２１０１は第１のタイル伸張部２１０３を選択して、データパケットを転送する。ここで、第１のタイル伸張部２１０３の選択は、図３０００に示したパケットフォーマットのProcess Instruction３０１１に従って行われる。
【００３７】
第１のタイル伸張部２１０３では転送されたデータパケットをＪＰＥＧ伸張して、非圧縮の画像データに変換する。次に、第１のタイル伸張部２１０３は、タイルバス２１０７に対して変倍処理部２１１６への接続要求を行う。そして、第１のタイル伸張部２１０３は、タイルバス２１０７を介して変倍処理部２１１６に接続されると、データパケットを変倍処理部２１１６に転送する。
【００３８】
変倍処理部２１１６は変倍処理を実施する。その後、変倍処理部２１１６はタイルバス２１０７に対してタイル圧縮部２０１６への接続要求を行う。そして、変倍処理部２１１６はタイルバス２１０７を介してタイル圧縮部２０１６に接続されると、データパケットをタイル圧縮部２０１６に転送する。
【００３９】
タイル圧縮部２０１６ではデータパケットをＪＰＥＧ圧縮し、ＪＰＥＧ圧縮したデータパケットを第４の画像リングインターフェース２１０２に転送する。第４の画像リングインターフェース２１０２は、画像リング２００８ｂを介して、ＪＰＥＧ圧縮したデータパケットをシステム制御部２１５０に転送する。そして、システム制御部２１５０が、転送されてきたデータパケットのタイルデータをＲＡＭ２００２に格納することによって、一連の変倍処理が終了する。
【００４０】
【特許文献１】特開２００３−２３４９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００４１】
しかしながら、上記従来の画像処理システムにおいては、例えば、１枚の画像内に異なる色情報を持つタイルが混在した場合には、１枚の画像全体を１つの色情報に統一する。このため、統一しようとしている色情報の画像タイル部分を抜き出して、色変換処理を実行した後、希望する画像処理（例えば変倍処理やプリントアウト処理）を実行する必要があり、処理手順が複雑になると同時に処理を行うループ回数が増えるため処理時間がかかるといった問題があった。
【００４２】
本発明は、前述の問題点に鑑みてなされたものであり、異なる色情報を有する画像を編集する際の処理負担を軽減することを目的とする。
【課題を解決するための手段】
【００４３】
本発明の画像処理装置は、複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールを有し、前記第１〜第ｎの画像処理モジュールの少なくとも１つは、前記画像の色空間を前記タイル単位で変換する色空間変換手段と、前記色空間変換手段で色空間の変換を行うために必要な色変換情報を記録する記録手段とを有し、前記色空間変換手段は、前記色空間の変換対象となるタイルの色情報に基づいて、前記記録手段に記録された色変換情報を読み出して、前記タイルの色空間を変換することを特徴とする。
【００４４】
本発明の画像処理方法は、複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールの少なくとも１つが、前記画像の色空間を前記タイル単位で変換する色空間変換ステップと、前記色空間変換手段で色空間の変換を行うために必要な色変換情報を記録する記録ステップとを行い、前記色空間変換ステップは、前記色空間の変換対象となるタイルの色情報に基づいて、前記記録手段に記録された色変換情報を読み出して、前記タイルの色空間を変換することを特徴とする。
【００４５】
本発明のコンピュータプログラムは、複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールの少なくとも１つが、前記画像の色空間を前記タイル単位で変換する色空間変換ステップと、前記色空間変換手段で色空間の変換を行うために必要な色変換情報を記録する記録ステップとを行うことをコンピュータに実行させ、前記色空間変換ステップは、前記色空間の変換対象となるタイルの色情報に基づいて、前記記録手段に記録された色変換情報を読み出して、前記タイルの色空間を変換することを特徴とする。
【発明の効果】
【００４６】
本発明によれば、複数のタイルに分割された画像を、前記分割されたタイル毎に処理する第１〜第ｎ（ｎは自然数）の画像処理モジュールの少なくとも１つが、色空間の変換対象となるタイルの色情報に基づいて、前記色空間の変換を行うために必要な色変換情報を読み出して、前記タイルの色空間を変換するようにしたので、複数の色情報を有する１枚画像を、可及的に高速に処理して、色情報が統一された画像を形成することができる。
【発明を実施するための最良の形態】
【００４７】
次に、図面を参照しながら、本発明の実施形態について説明する。
(第１の実施形態)
図１は、本実施形態の画像処理システムの構成の一例を示すブロック図である。なお、本実施形態の説明において、上述した図８と同一の部分については、図１に付した符号と同一の符号を付し、詳細な説明を省略する。
【００４８】
図１において、１２１０３ａ、１２１０３ｂはタイル伸張部、１２０３０は画像回転部、１２１１６は変倍処理部、１２１１３は画像出力インターフェースであり、それらの内部には、それぞれ色情報変換用マトリックス回路１０１ａ〜１０１ｅが組み込まれている。その他のブロックについては、図８に示したものと同様である。
【００４９】
ここで、図２に示すような画像の編集を行うとする。スキャナより取り込んだＡ４サイズの画像データ２０１と、レンダリングにより生成されたＡ４サイズの画像データ２０２とを、１枚のＡ４サイズの用紙に出力する画像データ２０３を生成することを行うとする。またスキャナで取り込んだ画像はＹＵＶフォーマット、レンダリングインターフェースより取り込まれた画像はＲＧＢフォーマットであるとする。これらの画像は、すでに画像処理システムに取り込まれており、システム制御部２１５０に接続された外部ＲＡＭ２００２上に格納されているとする。
【００５０】
各画像データ２０１、２０２は、各々に示された矢印の方向に矢印の側から反対側へ順にタイル番号が振られ、また、その矢印の方向に画像が生成されているので、出力を行う際に行わなければならない処理としては、スキャナによる画像データ２０１の回転処理と、両画像データ２０１、２０２の色情報をあわせることと、縮小処理とが必要になる。これらの処理を行う場合について以下に詳述する。
【００５１】
まず、システム制御部２１５０がＲＡＭ２００２からタイルデータを読み出し、図９に示したデータパケットを生成し、生成したデータパケットを第１の画像リングインターフェース２１４７を介して、画像処理部２１４９へ出力する。この場合、タイルの順番がプリント出力の順番となるように、システム制御部２１５０がデータパケットを出力できるように、ＣＰＵ２００１にてパケットテーブルを生成する。そうすると、スキャナによるイメージは画素の並び順が変わってしまう。このため、画素の並び順を正しくするように（具体的には時計方向に９０度）画像データ２０１を回転するような処理を行う。
【００５２】
つまり、データパケットのProcess Instruction３０１１に、「タイル伸張部１２１０３→回転処理部１２０３０→変倍処理部１２１１６→画像出力インターフェース２１１３」の順で処理を行うためのデータを設定し、かつ、回転処理部１２０３０のモードに対してはスキャナによる画像データ２０１のタイルに対しては９０度時計方向の回転していから出力することを、レンダリングによる画像データ２０２のタイルに対してはそのまま出力することをそれぞれ指定する。
【００５３】
具体的には、第１のUnitIDにタイル伸張部１２１０３のＩＤが格納され、第２のUnitIDに回転処理部１２０３０のＩＤが格納され、第３のUnitIDに変倍処理部１２１１６のＩＤが格納され、第４のUnitIDに画像出力インターフェース２１１３が格納される。そして、第１のMode、第３のMode、及び第４のModeには各処理部で行われる処理に対応した値が格納され、第２のModeには各タイルの画像ソースに従った値（上記の時計方向９０度回転かそのままかの何れかを示す値）が格納される。
【００５４】
次に、各画像処理部にて必要な各種レジスタ設定を、上記コマンドパケットを用いて設定する。このとき、画像回転部１２０３０の出力色情報を、例えばスキャナによる画像データ２０１と同じＹＣＣフォーマットとするならば、各色情報に対しマトリックス処理後の色情報がＹＣＣとなるような設定を、画像回転部１２０３０の色情報変換マトリックス回路１０１に対して行う。
【００５５】
すべての設定が終了したらシステム制御部２１５０からデータの出力を開始する。
システム制御部２１５０から出力されたデータパケットは、画像リング２００８ａを介して第３の画像リングインターフェース２１０１に入力される。この第３の画像リングインターフェース２１０１は、第１のタイル伸張部１２１０３ａを選択して、データパケットを転送する。ここで、第１のタイル伸張部１２１０３ａの選択は、図９に示したパケットフォーマットのProcess Instruction３０１１に従って行われる。
【００５６】
第１のタイル伸張部１２１０３ａは、転送されたデータパケットをＪＰＥＧ伸張して、非圧縮の画像データに変換する。次に、第１のタイル伸張部１２１０３ａは、タイルバス２１０７に対して画像回転部１２０３０への接続要求を行う。そして、第１のタイル伸張部１２１０３ａは、タイルバス２１０７を介して画像回転部１２０３０に接続されると、データパケットを画像回転部１２０３０に転送する。
【００５７】
画像回転部１２０３０は、Modeに設定されたタイルヘッダーの色情報に応じたマトリックス演算を、画像回転部１２０３０内に設けられた色情報変換用マトリックス回路１０１で実施して、回転処理を実行すべく画素の並び替えを行う。そして、タイルの位置情報PacketIDY３００９とPacketIDX３０１０とを、回転処理した後の正しい値に設定し直してから、タイルバス２１０７に対して変倍処理部１２１１６への接続要求を行う。そして、画像回転部１２０３０から変倍処理部１２１１６への接続がなされると、データパケットを変倍処理部１２１１６に転送する。
【００５８】
変倍処理部１２１１６は、先に設定された変倍率に従って画像回転部１２０３０から入力された画像データに対して変倍処理を行い、その出力を転送するためにタイルバス２１０７に対して画像出力インターフェース１２１１３への接続要求を行う。そして、変倍処理部１２１１６から画像出力インターフェース１２１１３への接続がなされるとデータパケットを画像出力インターフェース１２１１３に転送する。
【００５９】
画像出力インターフェース１２１１３は、変倍処理部１２１１６より転送された画像データを、メモリーバス２１０８を介してメモリー制御部２１２２に転送しタイル形式からラスタ形式に戻した後プリンタインターフェースを介してプリンタ用画像処理部２１１５に画像データを出力し、一連の処理を終了する。
【００６０】
図３は、色情報変換マトリックス回路１０１の構成の一例を示すブロック図である。
図３において、３０１は係数選択回路、３０２は行列演算回路である。係数選択回路３０１には、レジスタ設定バス２１０９を用いて被変換色情報ごとに変換に必要な係数値が予め設定されており、変換すべきタイルが入力されると、そのタイルの色情報が入力され、その色情報に基づいた適切な変換係数が選択され、行列演算回路３０２へ出力される。
【００６１】
行列演算回路３０２は係数選択回路３０１にて選択された係数値と、入力された画像データの値とを用いて演算を行い、その結果を出力するものである。
行列演算回路３０２の具体例を図４に示す。ここまでは、ＲＧＢ形式の色情報をＹＣＣ形式の色情報に変換する場合を例に挙げて説明してきたが、図４に示す行列演算回路３０２では、例えばCMYK形式の色情報であってもよいように４つの入力とした例を示している。行列演算回路３０２は、図４では以下の（３）式に示すマトリックス演算を実行するように、乗算回路１７と加算回路１８とを備えた４つの行列演算回路３０２ａ〜３０２ｄを備えている。
【００６２】
【数１】
2006287604.tif 000003
【００６３】
また、図４では、入力についてはＷ＝Ｒ、Ｘ＝Ｇ、Ｙ＝Ｂとして記してあり、Ｚは今回の例では０に固定される。一方、出力側はＷ'＝Ｙ、Ｘ'＝Ｃｒ、Ｙ'＝Ｃｂとして記してありＺ'は今回の例では未使用である。
【００６４】
図５に、係数選択回路３０１の構成の一例を示す。
図５において、５０１は一致検出回路、５０２はデコーダ回路、５０３は選択回路である。一致選択回路５０１は、レジスタ設定バス２１０９を用いて予め設定されている係数値と、その係数値を用いるImage Typeコード値とが予め設定されており、入力されたタイルのImage Typeコードと一致するImage Typeコードが設定されているデコード前の選択信号として「１」を出力する。デコード回路５０２は一致検出回路５０１からの信号をデコードし、その結果を選択回路５０３に出力する。選択回路５０３はデコード回路５０２の結果に基づき対応する係数値を行列演算回路３０２に与えるものである。
以下にImage Typeと色情報との対応例と、設定例とを示す。
【００６５】
【表１】
2006287604.tif 000004
【００６６】
つまり、スキャナ２０７０による画像はＹＣＣ色情報であるので上記表では選択信号として「１」が選択され、その場合の系数値（この場合何も行わないような係数値が設定される）が選択される。一方、レンダリングによる画像はＲＧＢ色情報であるので、上記表では選択信号として「０」が選択され、行列演算回路３０２に設定される係数値はＲＧＢからＹＣＣへの色情報変換が行われるような系数値が与えられる。
【００６７】
以上のように本実施形態では、複数の異なる色情報を有する１枚の入力画像を複数のタイルに分割し、分割したタイル単位で画像データを処理するに際し、係数選択回路３０１は、変換される色情報ごとに設定された変換用の係数値のうちの１つを、入力したタイルの色情報に基づいて選択し、選択した係数値と、入力された画像データの値とを用いて行列演算回路３０２が演算を行い、色情報を変換するようにしたので、複数の異なる色情報を有する１枚の入力画像を１つの色情報に統一することが、１つのパスにて実現できるようになる。これにより、入力画像を編集する際の処理負担を軽減し、処理速度を向上させることが可能になる。
【００６８】
（第１の変形例）
本実施形態では回転処理を伴うため、画像回転部１２０３０にて２つの異なる色情報の統一を行ったが、色情報の統一を行う場所は画像回転部１２０３０に限定されるものではなく処理過程における適する個所にて行えばよい。例えば、図６のように向きもそろった２つの異なる色情報の画像を、大きさも向きも変えずただＡ３サイズに出力する場合には、タイル伸張部１２１０３あるいは画像出力インターフェース１２１１３にて色情報の統一を行えばよい。
【００６９】
（第２の変形例）
また、１つの色情報変換用マトリックス回路１０１ですべての色情報を１つに統一する必要はない。つまり、１枚の被処理画像が３つの異なる色情報領域を有し、その中の１つの色情報に統一した処理結果画像を単にプリントアウトする場合を考えた場合、例えば、第１の領域における色情報の変更をタイル伸張部１２１０３にて行い、もう１つの変更すべき第２の領域における色情報の変更を画像出力インターフェース１２１１３にて行わせることも可能である。この場合、各画像処理部内の色情報変換用マトリックス回路１０１には、予め設定された変換すべき色情報と、その場合に用いられるマトリックス係数のみを格納すればよい。このため、複数の画像処理部にて同じ係数を格納する必要がなくなり、回路規模の増大を抑えながら上述した実施形態と同様な効果が得られる。
【００７０】
図７は、このようにする場合の係数選択回路の構成のブロック図である。図７において、一致検出回路７０１は、レジスタ設定バス２１０９にて予め設定されたImage Typeと、タイルにて入力されたImage Typeとが一致するかどうかだけを判断すればよい。また、選択回路７０３は、レジスタ設定バス２１０９にて予め設定された変換用系数値、あるいは同じくレジスタ設定バス２１０９にて予め設定された変換用係数値または固定の無変換用の係数値のどちらかを出力する。
また、一致検出回路７０１からの出力により、行列演算回路３０２の出力、あるいは行列演算回路３０２の入力(つまりスルー)のどちらかを選択させることも可能である。
【００７１】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００７２】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７３】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００７４】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態を示し、画像処理システムの構成の一例を示すブロック図である。
【図２】本発明の実施形態を示し、編集を行う画像データの一例を示した図である。
【図３】本発明の実施形態を示し、色情報変換マトリックス回路の構成の一例を示すブロック図である。
【図４】本発明の実施形態を示し、行列演算回路の構成の一例を示す図である。
【図５】本発明の実施形態を示し、係数選択回路の構成の一例を示す図である。
【図６】本発明の実施形態の第１の変形例を示し、編集を行う画像データの一例を示した図である。
【図７】本発明の実施形態の第２の変形例を示し、係数選択回路の構成の一例を示す図である。
【図８】従来の技術を示し、画像処理システムの構成を示すブロック図である。
【図９】従来の技術を示し、データパケットの構成を概念的に示した図である。
【図１０】従来の技術を示し、コマンドパケットの構成を概念的に示した図である。
【図１１】従来の技術を示し、インタラプトパケットの構成を概念的に示した図である。
【図１２】従来の技術を示し、パケットテーブルの構成を概念的に示した図である。
【符号の説明】
【００７６】
１７  乗算回路
１８  加算回路
１０１  色情報変換用マトリックス回路
２０１  スキャナより取り込んだ画像データ
２０２  レンダリングにより生成された画像データ２０２
２０３  出力する画像データ
３０１  係数選択回路
３０２  行列演算回路
５０１  一致検出回路
５０２  デコーダ回路
５０３  選択回路
１２０３０  画像回転部
１２１０３  タイル伸張部
１２１１３  画像出力インターフェース
１２１１６  変倍処理部
【図１】
2006287604.tif 000005
【図２】
2006287604.tif 000006
【図３】
2006287604.tif 000007
【図４】
2006287604.tif 000008
【図５】
2006287604.tif 000009
【図６】
2006287604.tif 000010
【図７】
2006287604.tif 000011
【図８】
2006287604.tif 000012
【図９】
2006287604.tif 000013
【図１０】
2006287604.tif 000014
【図１１】
2006287604.tif 000015
【図１２】
2006287604.tif 000016