(57)【特許請求の範囲】
【請求項１】
ページ単位の画像データをタイル領域に分割したタイル画像データ単位で画像処理する画像処理装置において、
ページ単位の画像データをタイル領域に分割するとともに、前記タイル領域に分割されたタイル画像データに対して行うべき第１の画像処理の処理内容を指定する第１の処理情報及び該第１の画像処理を実行する画像処理手段を指定する第１の指定情報並びに前記タイル画像データに対して行うべき第２の画像処理の処理内容を指定する第２の処理情報及び該第２の画像処理を実行する画像処理手段を指定する第２の指定情報を付加したパケットデータを生成する複数のパケットデータ生成手段と、
前記パケットデータに付加された前記第１の処理情報に基づいて、前記パケットデータに含まれる前記タイル画像データに前記第１の画像処理を行う第１の画像処理手段と、
前記パケットデータに付加された前記第２の処理情報に基づいて、前記パケットデータに含まれる前記タイル画像データに前記第２の画像処理を行う第２の画像処理手段と、
前記複数のパケットデータ生成手段のいずれかにより生成された前記パケットデータに前記第１の画像処理に引き続き前記第２の画像処理を実行すべきとの順序が指定されている場合に、前記パケットデータを前記第１の指定情報にて指定された前記第１の画像処理手段へ転送するとともに、前記第１の画像処理手段にて前記第１の画像処理が行われた前記タイル画像データを含むパケットデータを前記第２の指定情報にて指定された前記第２の画像処理手段へ転送する転送手段と、
第１のバスを介して第１の前記パケットデータ生成手段と前記転送手段を接続し、第２のバスを介して第２の前記パケットデータ生成手段と前記転送手段を接続する接続手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記パケットデータには前記ページ単位の画像データにおけるタイル画像データの位置を示す属性情報が付加されており、
前記第１の画像処理手段及び前記第２の画像処理手段により画像処理された複数の前記タイル画像データを前記属性情報に基づいて連結し、ページ単位の画像データを生成する連結手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数のパケットデータ生成手段は、前記ページ単位の画像データを分割した分割画像を圧縮して前記タイル画像データを生成し、
前記連結手段は、前記画像処理手段にて画像処理された前記タイル画像データを伸張してページ単位の画像データを生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１のパケットデータ生成手段は、外部装置から受信した印刷データを展開した前記ページ単位の画像データに基づいて前記タイル画像データを生成することを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、他の画像処理装置が備える汎用バスに接続される画像処理装置及びその画像処理方法に関する。
【０００２】
【従来の技術】
スキャン機能、プリンタ機能、コピー機能、ＦＡＸ機能、ネットワーク機能等を兼備えるデジタル複合機が知られている。この種のデジタル複合機は、各機能動作を制御、管理するための専用のコントローラを内蔵している。また、コントローラは、内部に画像処理部や画像メモリ等を備え、スキャナ部やネットワークから入力した画像データに対して、様々な画像処理を施し、出力することができる。
【０００３】
従来、スキャナ部で読み込まれた画像や、プリンタ部に出力するラスター画像、ネットワークを介して受信した画像は、ページ単位で処理されていた。このため、画像メモリをページ単位で確保する必要があった。また、画像に対する処理をページ単位で行う場合、その処理が終わるまで、画像処理部等の資源が占有されてしまうので、複数の処理を同時にかつ高速に行うことは困難であった。
【０００４】
【発明が解決しようとする課題】
近年、１ページの画像データを、並列に処理しやすい大きさに分割し、分割した画像データ単位で処理するコントローラが提案されている。このコントローラでは、各資源の占有をできるだけ少なくすることができるので、複数の処理を同時に実行することが容易になる。また、処理の高速化を計ることができる。しかし、分割した画像データによる処理を実現するためには、ページ単位の画像データを分割する処理を行わなければならない。また、分割した画像データを管理しておかなければならない。この様な画像の分割処理及び管理等は、コントローラのＣＰＵがソフトウェアにより行うことが可能である。
【０００５】
しかしながら、画像データのデータ量が大きいと、この作業にかなりの処理性能を取られてしまい、コントローラのＣＰＵへの負荷が増大し処理の高速化が図れないという問題が発生する。
【０００６】
本発明は上述した問題点を解決するためのものであり、他の画像処理装置のCPUの負荷を軽減させることができ、画像処理の高速化を図ることができる画像処理装置及びその画像処理方法を提供することを目的とする。
【０００７】
また、他の画像処理装置のCPUの負荷を軽減させることができ、外部装置との間の分割画像の通信に係る画像処理の高速化を図ることができる画像処理装置及びその画像処理方法を提供することを目的とする。
【０００８】
また、他の画像処理装置のCPUの負荷を軽減させることができ、外部装置との間の原画像の通信に係る画像処理の高速化を図ることができる画像処理装置及びその画像処理方法を提供することを目的とする。
【０００９】
また、画像処理装置のCPUの負荷を軽減させることができ、平行処理の高速化を図ることができる画像処理装置及びその画像処理方法を提供することを目的とする。
【００１０】
また、画像処理ボードのCPUの負荷を軽減させることができ、画像処理の高速化を図ることができる拡張ユニット及びその画像処理方法を提供することを目的とする。
【００１１】
また、複写装置のCPUの負荷を軽減させることができ、画像処理の高速化を図ることができる拡張ユニット及びその画像処理方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理装置は、ページ単位の画像データをタイル領域に分割したタイル画像データ単位で画像処理する画像処理装置において、ページ単位の画像データをタイル領域に分割するとともに、前記タイル領域に分割されたタイル画像データに対して行うべき第１の画像処理の処理内容を指定する第１の処理情報及び該第１の画像処理を実行する画像処理手段を指定する第１の特定情報並びに前記タイル画像データに対して行うべき第２の画像処理の処理内容を指定する第２の処理情報及び該第２の画像処理を実行する画像処理手段を指定する第２の指定情報を付加したパケットデータを生成する複数のパケットデータ生成手段と、前記パケットデータに付加された前記第１の処理情報に基づいて、前記パケットデータに含まれる前記タイル画像データに前記第１の画像処理を行う第１の画像処理手段と、前記パケットデータに付加された前記第２の処理情報に基づいて、前記パケットデータに含まれる前記タイル画像データに前記第２の画像処理を行う第２の画像処理手段と、前記複数のパケットデータ生成手段のいずれかにより生成された前記パケットデータに前記第１の画像処理に引き続き前記第２の画像処理を実行すべきとの順序が指定されている場合に、前記パケットデータを前記第１の指定情報にて指定された前記第１の画像処理手段へ転送するとともに、前記第１の画像処理手段にて前記第１の画像処理が行われた前記タイル画像データを含むパケットデータを前記第２の指定情報にて指定された前記第２の画像処理手段へ転送する転送手段と、第１のバスを介して第１の前記パケットデータ生成手段と前記転送手段を接続し、第２のバスを介して第２の前記パケットデータ生成手段を接続する接続手段とを有することを特徴とする。
【００２４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【００２５】
（第１の実施形態）
[デジタル複合機の使用態様]
図１は、本発明に係るデジタル複合機を、ネットワークに接続して使用する場合のネットワーク構成例を示すブロック図である。
【００２６】
図示の如く、各ネットワーク構成機器がLAN（ローカルエリアネットワーク）(2011)に接続されている。その中において、1001が後述の図２に示す本発明が適用されるデジタル複合機である。デジタル複合機(1001)は、上述した構成により、スキャナ(2070)から読み込んだ画像をLAN（ローカルエリアネットワーク）(2010)に出力したり、LAN(2010)から受信した画像をプリンタ(2095)によりプリントアウトすることができる。また、スキャナ(2070)から読んだ画像を図示しないFAX送信手段によりPSTN（公衆回線網）またはISDN(2051)に送信したり、PSTNまたはISDN(2051)から受信した画像をプリンタ(2095)によりプリントアウトすることもできる。
【００２７】
1002はデータベースサーバであり、デジタル複合機(1001)により読み込んだ２値画像及び多値画像をデータベースとして管理する。1003はデータベースサーバ(1002)のクライアントであり、データベースサーバ(1002)に保存されている画像データを閲覧/検索等できる。
【００２８】
1004は電子メールの送受信機能、メールボックス機能等を備える電子メールサーバである。1005は電子メールサーバ(1004)のクライアントであり、電子メールサーバ(1004)を経由して電子メールの送受信が可能である。電子メールサーバ(1004)および電子メールクライアント(1005)は、デジタル複合機(1001)により読み取った画像を電子メールにおける添付ファイルとして送受信することも可能である。
【００２９】
1006はHTML文書をLAN(2011)に提供するWWWサーバである。このWWWサーバ(1006)で提供されるHTML文書は、デジタル複合機(1001)によりプリントアウトすることができる。
【００３０】
この他に、ドメイン・ネーム・サービスの管理を行うDNSサーバ(1007)、他の画像形成装置としてのプリンタ(1040)もLAN(2011)に接続されている。また、LAN(1010)はルータ(1011)を介してインターネット／イントラネット(1012)に接続される。
【００３１】
なお、インターネット／イントラネット(1012)には、図示のように、上記した各ネットワーク構成機器と同様の機器、すなわち、デジタル複合機(1023)、データベースサーバ(1021)、WWWサーバ(1022)、電子メールサーバ(1023)等が接続される場合もある。
【００３２】
また、デジタル複合機(1001)は、PSTNまたはISDN(2051)を介して、FAX装置(1031)と通信可能になっている。
【００３３】
[デジタル複合機の構成]
図２は、本発明の実施形態に係る画像処理装置を用いたデジタル複合機の構成例を示すブロック図である。なお、図２の構成のデジタル複合機に限らず、本発明は、他の任意の構成を有する画像処理装置に適用可能であることはいうまでもない。
【００３４】
本実施形態の画像処理装置コントローラ(2000)は、画像入力デバイスであるスキャナ(2070)や画像出力デバイスであるプリンタ(2095)と接続され、また、LAN(2011)や公衆回線(WAN)(2051)を介して外部機器との間でデータをやりとりし、画像入出力を行うことができる画像処理装置のコントローラである。
【００３５】
システム制御部(2150)は内部にCPU(2001)を含み、デジタル複合機全体を制御する。本実施形態では２つのCPUを用いた例を示す。これら２つのCPUは、共通のCPUバス(2126)を介してシステムバスブリッジ(2007)に接続される。
【００３６】
2007は、第１のバススイッチとして機能するシステムバスブリッジである。CPUバス(2126)、RAMコントローラ(2124)、ROMコントローラ(2125)、IOバス1(2127)、サブバススイッチ(2128)、IOバス2(2129)、画像リングインタフェース1(2147)、画像リングインタフェース2(2148)が、このシステムバスブリッジ(2007)に接続される。
【００３７】
2128は、第２のバススイッチとして機能するサブバススイッチである。画像DMA1(2130)、画像DMA2(2132)、フォント伸張部(3134)、ソート回路(2135)、ビットマップトレース部(2136)が、このサブバススイッチ(2128)に接続される。サブバススイッチ(2128)は、これらのDMAから出力されるメモリアクセス要求を調停し、システムバスブリッジ(2007)への接続を行う。
【００３８】
RAM(2002)はCPU(2001)が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。このRAM(2002)はRAMコントローラ(2124)により制御される。また、後述するように、画像データをデータパケットの形式で格納するために用いられる。本実施形態では、RAM(2002)には例えばダイレクトRDRAMを採用する。
【００３９】
ROM(2003)はブートROMであり、システムのブートプログラムが格納されている。このROM(2003)はROMコントローラ(2125)により制御される。
【００４０】
画像DMA1(2130)は、画像圧縮部(3131)に接続され、レジスタアクセスリング(2137)を介して設定された情報に基づき、画像圧縮部(2131)による、RAM(2002)上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しの制御を行う。本実施形態では、例えばJPEGを圧縮アルゴリズムとして採用する。
【００４１】
画像DMA2(2132)は、画像伸張部(2133)に接続され、レジスタアクセスリング(2137)を介して設定された情報に基づき、画像伸張部(2133)による、RAM(2002)上にある圧縮データの読み出し、伸張、伸張後データの書き戻しの制御を行う。本実施形態では、上記した圧縮アルゴリズムに対応して、伸張アルゴリズムにはJPEGを採用する。
【００４２】
フォント伸張部(2134)は、LANインタフェース(2010)等を介して外部より転送されるPDL（Page Description Language：ページ記述言語）データに含まれるフォントコードに基づき、ROM(2003)またはRAM(2002)内に格納された圧縮フォントデータの伸張を行う。本実施形態では例えばFBEアルゴリズムを採用する。
【００４３】
ソート回路(2135)は、PDLデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路である。
【００４４】
ビットマップトレース回路(2136)は、ビットマップデータより、エッジ情報を抽出する回路である。
【００４５】
IOバス1(2127)は、内部IOバスの一種であり、標準バスであるUSBバスのコントローラ、USBインタフェース(2138)、汎用シリアルポート(2139)、インタラプトコントローラ(2140)、GPIOインタフェース(2141)が接続される。IOバス1には、バスアービタ(図示せず)が含まれる。
【００４６】
操作部I/F(2006)は操作部(UI)(2012)と接続され、操作部(2012)に表示するための画像データを操作部(2012)に対して出力する。また、使用者によって操作部(2012)から入力された情報を、CPU(2001)に伝える役割を担う。
【００４７】
IOバス2(2129)は内部IOバスの一種であり、汎用バスインタフェース1及び2(2142)と、LANコントローラ(2010)が接続される。IOバス2にはバスアービタ(図示せず)が含まれる。
【００４８】
汎用バスインタフェース(2142)は、２つの同一のバスインタフェースからなり、標準IOバスをサポートするバスブリッジである。本実施形態では、PCIバス(2143)を採用した例を示した。
【００４９】
本実施形態において、PCIバス(2143)は、本実施形態の主要部である画像データ形式変換部(2200)や、レンダリング部(2060)、外部記憶装置(2004)等と接続する。そして、PCIバス(2143)は、これら各部の間で、画像データの自由な転送を実現するとともに、汎用バスインタフェース１または２(2142)を介して、システム制御部(2150)内の各ブロックともデータの転送を行えるようにしている。
【００５０】
画像データ形式変換部(2200)は、本実施形態の主要部であり、外部記憶装置(2004)等に格納されているページ画像データを読み出して分割し、タイル画像データに変換する機能、タイル画像データにヘッダ情報を付加したデータパケットを生成して出力する機能、入力したデータパケットからヘッダ情報を削除しタイル画像データを抽出する機能、複数のタイル画像データを連結してページ画像データに変換して出力する機能、そして、データパケットを管理するための管理テーブルを生成する機能を有する。
【００５１】
外部記憶装置(2004)はハードディスクドライブ（ＨＤＤ）であり、システムソフトウェア、画像データ等を格納する。この外部記憶装置(2004)はディスクコントローラ(2144)を介して一方のPCIバス(2143)に接続される。
【００５２】
LANコントローラ(2010)は、MAC回路(2145)、PHY/PMD回路(2146)を介しLAN(2011)に接続され、情報の入出力を行う。モデム(2050)は公衆回線(2051)に接続され、情報の入出力を行う。
【００５３】
画像リングインタフェース1(2147)および画像リングインタフェース2(2148)は、システムバスブリッジ(2007)を画像データを高速で転送する画像リング(2008)に接続するためのインタフェースであり、圧縮画像データをRAM(2002)と画像処理部(2149)との間で転送するDMAコントローラとして機能する。
【００５４】
画像リング(2008)は、一対の単方向接続経路(画像リング1および画像リング2)の組み合わせにより構成されるバスである。画像リング(2008)は、画像処理部(2149)内で、画像リングインタフェース3(2101)および画像インタフェース4(2102)を介して、タイル伸張部(2103)、コマンド処理部(2104)、ステータス処理部(2105)、タイル圧縮部(2106)に接続される。本実施形態では、タイル伸張部(2103)を２組、タイル圧縮部を３組実装する例を示した。
【００５５】
タイル伸張部(2103)は、画像リングインタフェース3(2101)に接続されるとともに、タイルバス(2107)にも接続される。このタイル伸張部(2103)は、画像リング(2008)より入力された圧縮後の画像データを伸張し、タイルバス(2107)へ転送するバスブリッジである。本実施形態では例えば、多値データにはJPEG、2値データにはパックビッツを伸張アルゴリズムとして採用する。
【００５６】
タイル圧縮部(2106)は、画像リングインタフェース4(2102)に接続されるとともに、タイルバス(2107)にも接続される。このタイル圧縮部(2106)は、タイルバス(2107)より入力された圧縮前の画像データを圧縮し、画像リング(2008)へ転送するバスブリッジである。本実施形態では、上記伸張アルゴリズムに対応して、多値データにはJPEG、2値データにはパックビッツを圧縮アルゴリズムとして採用する。
【００５７】
コマンド処理部(2104)は、画像リングインタフェース3および4（2101,2102）に接続されるとともに、レジスタ設定バス(2109)にも接続され、画像リング(2008)を介して入力したCPU(2001)より発行されたレジスタ設定要求を、レジスタ設定バス(2109)に接続される該当ブロックへ書き込む。また、CPU(2001)より発行されたレジスタ読み出し要求に基づき、レジスタ設定バス(2109)を介して該当レジスタより情報を読み出し、画像リングインタフェース4(2102)に転送する。
【００５８】
ステータス処理部(2105)は、各画像データ処理部（後述する多値化部(2119)、２値化部(2118)、色空間変換部(2117)、画像回転部(2030)、解像度変換部(2116)）の情報を監視し、CPU(2001)に対してインタラプトを発行するためのインタラプトパケットを生成し、画像リングインタフェース4に出力する。
【００５９】
タイルバス(2107)には上記ブロックに加え、以下の機能ブロックが接続される。レンダリング部インタフェース(2110)、画像入力インタフェース(2112)、画像出力インタフェース(2113)、多値化部(2119)、２値化部(2118)、色空間変換部(2117)、画像回転部(2030)、解像度変換部(2116)。
【００６０】
レンダリング部インタフェース(2110)は、後述するレンダリング部(2060)により生成されたビットマップイメージを入力するインタフェースである。レンダリング部(2060)とレンダリング部インタフェース(2110)とは、一般的なビデオ信号(2110)にて接続される。レンダリング部インタフェース(2110)は、タイルバス(2107)に加え、メモリバス(2108)、レジスタ設定バス(2109)に接続される。そして、入力されたラスタ画像をレジスタ設定バス(2109)を介して設定された所定の方法によるタイル画像への構造変換をすると同時にクロックの同期化を行い、タイルバス(2107)に出力する。
【００６１】
画像入力インタフェース(2112)は、後述するスキャナ用画像処理部(2114)により補正画像処理されたラスタイメージデータを入力し、レジスタ設定バス(2109)を介して設定された所定の方法によるタイル画像への構造変換とクロックの同期化を行い、タイルバス(2107)に対し出力を行う。
【００６２】
画像出力インタフェース(2113)は、タイルバス(2107)からのタイル画像データを入力し、ラスタ画像への構造変換及び、クロックレートの変更を行い、ラスタ画像をプリンタ用画像処理部(2115)へ出力する。
【００６３】
画像回転部(2030)は画像データの回転を行う。解像度変換部(2116)は画像データの解像度の変更を行う。この解像度変換部(2116)は変倍手段として機能する。色空間変換部(2117)はカラー及びグレースケール画像の色空間の変換を行う。２値化部(2118)は、多値(カラー、グレースケール)画像を２値化する。多値化部(2119)は２値画像を多値データへ変換する。
【００６４】
外部バスインタフェース部(2120)は、CPU(2001)により発行された、書き込み、読み出し要求を、画像リングインタフェース1，2，3，4（2147,2148,2101,2102）、コマンド処理部(2104)、レジスタ設定バス(2109)を介して受け取り、外部バス3(2121)に変換出力するバスブリッジである。外部バス3(2121)は、本実施形態では、プリンタ用画像処理部(2115)およびスキャナ用画像処理部(2114)に接続されている。
【００６５】
メモリ制御部(2122)は、メモリバス(2108)に接続され、画像処理部(2149)内の各画像データ処理部(2116,2117,2118,2119,2030)の要求に従い、あらかじめアドレス分割された画像メモリ１及び２(2123)に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施形態では、画像メモリに例えばSDRAMを用いる。
【００６６】
スキャナ用画像処理部(2114)は、画像入力デバイスであるスキャナ(2070)によりスキャンされた画像データに対して所定の補正画像処理を行う。また、プリンタ用画像処理部(2115)は、画像形成出力のための所定の補正画像処理を行い、その結果をプリンタ(2095)へ出力する。
【００６７】
レンダリング部(2060)はPDLコードまたは中間ディスプレイリストをビットマップイメージに展開する。
【００６８】
[パケット構成]
次に、実施形態における画像データの処理に用いられるパケットのフォーマットを説明する。実施形態における画像処理装置コントローラ（2000）は、画像データ、CPU(2001)によるコマンド、および、各画像データ処理部(2116,2117,2118,2119,2030)より発行される割り込み情報を、パケット化された形式で転送する。パケットデータには、以下の種類がある。
【００６９】
（１）データパケット（図３）
図３は、本発明の実施形態に係るデータパケットのフォーマットを示す図である。データパケットは、所定画素数（本実施形態では32pixel×32pixelとする）で分割したタイル単位の画像データ(3002)と、後述する制御情報が格納されるヘッダ情報(3001)及び画像付加情報等(3003)とから構成される。
【００７０】
なお、後述のデータパケット処理において、画像付加情報等(3003)に関する処理について、特に何も述べてはいない。しかし、画像付加情報等(3003)は、ヘッダ情報(3001)の生成または削除のタイミングで、ヘッダ情報(3001)と同じように生成及び削除されている。
【００７１】
以下、ヘッダ情報(3001)に含まれる情報について説明を行う。
【００７２】
パケット・タイプはヘッダ情報(3001)内のPcktType(3004)で識別される。PcktType(3004)にはリピートフラグが含まれており、画像データ(3002)が1つ前に送信したデータパケットの画像データと同一の場合、リピートフラグをセットする。
【００７３】
ChipID(3005)はパケットの送信先示す。ImageType(3006)は画像データのタイプを示す。PageID(3007)は画像データのページ番号を示す。JobID(3008)はソフトウェアで画像処理を管理するためのジョブIDを格納する。
【００７４】
PacketIDY(3009)及びPacketIDX(3010)は、パケットに含まれる（又は指定される）画像データが、画像全体においてどの位置におけるタイルに相当するかを示す。タイル位置はY方向（PacketIDY(3009)）とX方向（PacketIDX(3010)）を組み合わせ、YnXnで表される。
【００７５】
データパケットは画像データが圧縮されている場合と非圧縮の場合とがある。本実施形態では、圧縮アルゴリズムとして、多値カラー（多値グレースケールを含む）の場合はJPEGを、2値の場合はパックビッツを採用した例を示した。圧縮されている場合と非圧縮の場合との区別はCompressFlag(3017)で示される。
【００７６】
Process Instruction(3011)は5bitのUnitID(3019)及び3bitのMode(3020)の組である処理Unit1-8から構成され、各処理Unitは左（下位）から順番に処理される。処理されたUnitID及びModeは廃棄され、次に処理されるUnitID及びModeが左端に位置するよう、Process Instruction全体が左に8Bitシフトされる。Process Instruction(3011)にはUnitID(3019)とMode(3020)の組が最大8組格納される。UnitID(3019)は各画像データ処理部を指定し、Mode(3020)は各画像データ処理部での動作モードを指定する。これにより、1つの画像データパケットに含まれる（又は指定される）画像データに対し、最大でのべ8つの画像データ処理部による連続処理を指定することが可能である。
【００７７】
PacketByteLength(3012)はパケットのトータルバイト数を示す。ImageDataByteLengh(3015)は画像データのバイト数を示す。ZDataByteLength(3016)は画像付加情報のバイト数を示す。ImageDataOffset(3013)、ZDataOffset(3014)はそれぞれ、画像データおよび画像付加情報の、パケットの先頭からのオフセットを示す。
【００７８】
（２）コマンドパケット(図４)
図４は、本発明の実施形態に係るコマンドパケットのフォーマットを示す図である。レジスタ設定バス(2109)へのアクセスを行うためのものである。本パケットを用いることにより、CPU(2001)より画像メモリ(2123)へのアクセスも可能である。このコマンドパケットは、ヘッダ(4001)及びコマンド（パケットデータ部）(4002)から構成される。
【００７９】
ヘッダ(4001)におけるChipID(4004)には、コマンドパケットの送信先となる画像処理部(2149)を表すIDが格納される。
【００８０】
PageID(4007)、JobID(4008)はそれぞれ、ソフトウェアで管理するためのPage IDおよびJob IDを格納する。Packet ID(4009)は1次元で表される。Data PacketのX-coordinateのみを使用する。PacketByteLength(4010)は128Byte固定である。
【００８１】
パケットデータ部(4002)には、アドレス(4011)とデータ(4012)の組を１つのコマンドとして、最大12個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはCmdType(4005)で示され、コマンドの数はCmdnum(4006)で示される。
【００８２】
（３）インタラプトパケット(図５)
図５は、本発明の実施形態に係るインタラプトパケットのフォーマットを示す図である。インタラプトパケットはヘッダ(5001)及びインタラプトデータ（パケットデータ部）(5002)からなり、画像処理部(2149)からCPU(2001)への割り込みを通知するために用いられる。
【００８３】
ステータス処理部(2105)はインタラプトパケットを送信すると、次に送信の許可がされるまではインタラプトパケットを送信してはならない。PacketByteLength(5006)は128Byte固定である。
【００８４】
パケットデータ部(5002)には、画像処理部(2149)の各内部モジュールのステータス情報(5007)が格納されている。ステータス処理部(2105)は画像処理部(2149)内の各モジュールのステータス情報を集め、一括してシステム制御部(2150)に送ることができる。
【００８５】
ChipID(5004)にはインタラプトパケットの送信先となるシステム制御部(2150)を表すIDが格納される。また、IntChipID(5005)にはインタラプトパケットの送信元となる画像処理部(2149)を表すIDが格納される。
【００８６】
（パケットテーブルの構成）
上記した各パケットは、図６に示すようなパケットテーブル(6001)によって管理される。このパケットテーブルは画像データと対で使用され、画像データが図3のRAM(2002)に展開されている場合には、RAM(2002)上で管理される。また、画像データが外部記憶装置(2004)に格納される場合には、このパケットテーブル(6001)も同時に外部記憶装置(2004)に格納される。外部記憶装置(2004)に格納された画像データが再びRAM(2002)に展開される場合、同時にこのパケットテーブル(6001)もRAM(2002)に読み出されて、画像データが展開されるアドレス情報に応じてアドレス情報の書き換えが行われる。
【００８７】
テーブルの値に0を5bit付加すると、パケットの先頭Address(Packet Start Address)(6002)、パケットのバイト長(Packet Byte Length)(6005)となる。すなわち、Packet Address Pointer (27bit) + 5b00000 = Packet先頭Address PacketLength (11bit) + 5b00000 = Packet Byte Lengthとなる。
【００８８】
パケットテーブル(6001)とチェーンテーブル(Chain Table)(6010)とは分割されないものとする。
【００８９】
パケットテーブル(6001)は常に走査方向に並んでおり、Yn/Xn＝000/000, 000/001,000/002,....という順に並んでいる。このパケットテーブル(6001)のエントリは一意に１つのタイルを示す。また、Yn/Xmaxの次のエントリはYn+1/X0となる。
【００９０】
パケットがひとつ前のパケットとまったく同じデータである場合は、そのパケットはメモリ上には書かず、パケットテーブルのエントリに１つめのエントリと同じPacket Address Pointer、Packet Lengthを格納する。１つのパケットデータを２つのテーブルエントリが指すようなかたちになる。この場合、２つめのテーブルエントリのRepeat Flag(6003)がセットされる。
【００９１】
パケットがチェーンDMAにより複数に分断された場合は、Divide Flag(6004)をセットし、そのパケットの先頭部分が入っているチェーンブロックのチェーンテーブル番号(6006)をセットする。
【００９２】
チェーンテーブル(6010)のエントリはChain Block Address(6011)とChain Block Length(6012)からなっており、テーブルの最後のエントリにはChain Block Address(6011)、Chain Block Length(6012)共に０を格納しておく。
【００９３】
[画像入出力処理]
次に、本実施形態における画像入出力処理について詳細に説明する。
【００９４】
はじめに、スキャナ(2070)で読み取った画像データからタイル画像データを生成し、ＲＡＭ(2002)に格納する画像入力処理について説明する。
【００９５】
図７は、この例の処理に関連するブロック間のデータの経路を示している。以下の説明では、図２のブロック図に加え、この図７を適宜参照されたい。
【００９６】
まず、スキャナ(2070)において画像の読み取りが行われる。なお、読み取り動作設定等は、コマンド処理部(2104)が、システム制御部(2150)から受け取った上記コマンドパケットを解析し、画像入力インターフェース等に設定信号を出力することにより行われる。
【００９７】
読み取られた画像データはラスタデータとして順次スキャナ用画像処理部(2114)に転送される。スキャナ用画像処理部(2114)はラスタデータの順に必要な画像処理を行い、画像入力インタフェース(2112)に転送する。画像入力インタフェース(2112)はラスタの順に転送されてくる画像データを、メモリバス(2108)を介してメモリ制御部(2122)に転送する。
【００９８】
メモリ制御部(2122)は画像メモリ１(2123)にラスタの形式で展開していく。この画像メモリ１(2123)は、最小容量としてラスタデータ32ライン分で構成されている。32ライン分の画像データが画像メモリ１(2123)に展開されると、画像入力インタフェース(2112)は32pixel×32ラインのタイル画像データの単位で読み出しを開始する。このタイル画像データの読み出しはメモリ制御部(2122)、メモリバス(2108)を介して行われる。
【００９９】
次に、画像入力インタフェース(2112)は、図３のフォーマットに従い、タイル画像データからデータパケットを生成する。そして、画像入力インタフェース(2112)は、タイルバス(2107)に対してタイル圧縮部１(2106)への接続を要求する。その後、画像入力インタフェース(2112)は、タイルバス(2107)によってタイル圧縮部１(2106)に接続されると、データパケットをタイル圧縮部１(2106)に転送する。
【０１００】
タイル圧縮部１(2106)はデータパケットをJPEG圧縮する。JPEG圧縮されたデータパケットは画像リングインタフェース４(2102)に転送される。画像リングインタフェース４(2102)は画像リング(2008)を介して、データパケットをシステム制御部(2150)に転送する。
【０１０１】
システム制御部(2150)では、転送されてきた圧縮データパケットをRAM(2002)に格納する。このとき、CPU(2001)は、格納したデータパケットに対応するパケットテーブル(6001)を生成して、生成したパケットテーブル(6001)をRAM(2002)に格納する。このようにして、スキャナ(2070)で読み取った画像からデータパケットが作成され、データ圧縮された後に、システム制御部(2150)のRAM(2002)に格納されることになる。
【０１０２】
続いて、システム制御部(2150)のRAM(2002)に格納されているデータパケットをもとにプリンタ(2095)でプリントする画像出力処理について説明する。
【０１０３】
図８は、この例の処理に関連するブロック間のデータの経路を示している。以下の説明では、図２のブロック図に加え、この図８を適宜参照されたい。
【０１０４】
なお、印刷動作設定等は、コマンド処理部(2104)が、システム制御部(2150)から受け取った上記コマンドパケットを解析し、画像出力インターフェース等に設定信号を出力することにより行われる。
【０１０５】
まず、CPU（2001）からの指示に応じて、パケットテーブル(6001)に従い、RAM(2002)からデータパケットが読み出され、システム制御部(2150)を介して出力されたデータパケットは、画像リング(2008)を介して、画像リングインタフェース３(2101)に入力される。画像リングインタフェース３(2101)はタイル伸張部1(2103)を選択して、データパケットを転送する。このタイル伸張部１(2103)の選択は前記したパケットフォーマットのProcess Instruction(3011)に従って行われる。
【０１０６】
タイル伸張部１(2103)はデータパケットをJPEG伸張して、非圧縮の画像データに変換する。次にタイル伸張部１(2103)はタイルバス(2107)に対して、画像出力インタフェース(2113)への接続要求を行う。その後、タイル伸張部１(2103)は、タイルバス(2107)によって画像出力インタフェース(2113)に接続されると、データパケットを画像出力インタフェース(2113)に転送する。
【０１０７】
データパケットを受け取った画像出力インタフェース(2113)は、メモリバス(2108)を介して、データパケットからヘッダを取り除き、タイル画像データをメモリ制御部(2122)に転送する。メモリ制御部(2122)は、転送されてくるタイル画像データを画像メモリ２(2123)に展開する。この展開はタイル単位で行うが、画像メモリ２(2123)の内部にはラスタデータの形式で行っていく。
【０１０８】
このラスタデータがプリンタ(2095)で出力する32ライン分のラスタデータとして全て展開されると、画像出力インタフェース(2113)はラスタ順のデータ読み出しを開始する。このラスタデータの読み出しはメモリ制御部(2122)、メモリバス(2108)を介して行われる。ラスタ順にデータを読み出した画像出力インタフェース(2113)は、このデータをプリンタ用画像処理部(2115)に転送する。そして、ラスタデータを受け取ったプリンタ(2095)はラスタデータに基づいてプリントする。
【０１０９】
本実施形態では、上記画像入力処理と画像出力処理とを組み合わせることによって、スキャナ(2070)で読み取った画像をプリントする画像入出力処理、すなわち複写処理が可能となる。このとき、デジタル複合機は、スキャナ(2070)で画像を読み取り、読み取られた画像から生成したデータパケットを、データ圧縮（JPEG圧縮）してシステム制御部(2150)のRAM(2002)に格納する。その後、当該RAM(2002)に格納されたデータパケットに対してデータ伸張（JPEG伸張）した後、ラスタデータに変換し、変換されたラスタデータをプリンタ(2095)でプリントする処理を行う。
【０１１０】
[データパケットによる画像処理]
次に、データパケットによる画像処理について詳細に説明する。本実施形態では、１ページの画像データを並列に処理しやすい大きさ、つまりタイル画像データに分割する。そして、図３に示したように、分割したタイル画像データ(3002)と、属性情報を含むヘッダ情報(3002)、及び画像付加情報等(3003)とから構成されるデータパケットの単位で画像処理する。
【０１１１】
図９に１ページの画像データをタイル画像データに分割する例を示す。図９のように、ラスター画像データとしてスキャナ(2070)やLAN(2001)等から入力された１ページの画像データ(900)が、CPU(2001)により、タイル（Tile）画像データに分割される。各タイル領域は縦３２画素、横３２画素の大きさを有しており、領域毎にタイル画像データが生成される。ここで、Ａ４サイズの原稿をスキャナ部(2070)により６００×６００ｄｐｉの解像度で読み取ったとし、３２×３２画素のタイルで分割したとすると、Ａ４サイズの原稿から３４３２０個のタイル画像データが生成される。
【０１１２】
なお、後述する、タイル画像データからページ画像データへの連結とは、それぞれ個別に扱われていたタイル画像データを、図９の各タイルの括弧内に示されるタイルの位置（座標）の順序に並ぶように連結して、再び１ページの画像を生成することである。
【０１１３】
CPU(2001)は、上述の画像データの分割、連結機能をRAM(2002)等を用いてソフトウェアにより実行することができる。また、本実施形態では、CPU(2001)の他に、主要部である画像データ形式変換部(2200)が、上述の分割機能および連結機能をハードウェアにより実行することができる。
【０１１４】
CPU(2001)は、RAM(2002)に格納された画像データからデータパケットを生成し、生成したデータパケットを画像処理部１(2149)へ転送することにより、画像データに対して所望とする画像処理を施すことができる。例えば、図１０及び図１１の処理経路図に示ような、画像処理Ａ、及び画像処理Ｂを施すことができる。
【０１１５】
画像処理Ａ（図１０）：RAM(2002)に格納された画像データに２値化処理、回転処理を施して、再びRAM(2002)に格納する処理を行う。この場合、CPU(2001)は、Process Instruction(3011)に、先頭から、タイル伸張部１（または２）(2103)、２値化部(2118)、画像回転部(2030)、タイル圧縮部１(2106)の順で、各部のIDと処理内容Modeを書き込む。画像処理部１(2149)へ転送されたデータパケットは、上記Process Instruction(3011)に従い、タイル伸張部１（または２）(2103)、２値化部(2118)、画像回転部(2030)、タイル圧縮部１（または２、３）(2106)の順に転送され、各処理部で処理される。ヘッダ情報(3001)に基づき処理が行われるので、画像処理が行われているとき、CPU(2001)は、各処理部に対して処理の指示及び制御を行う必要はない。したがって、１つ１つの処理ブロックに対して制御信号を送出する必要がある公知のパイプライン処理に比べて、画像処理の制御のための負荷はかからない。
【０１１６】
画像処理Ｂ（図１１）：RAM(2002)に格納された画像データに解像度変換処理、回転処理して、再びRAM(2002)に格納する処理を行う。この場合も、CPU(2001)は、Process Instruction(3011)に、先頭から、タイル伸張部１（または２）(2103)、解像度変換部(2116)、画像回転部(2030)、タイル圧縮部２(2106)の順で、各部のIDと処理内容Modeを書き込めばよい。
【０１１７】
次に、図１２、及び図１３に、タイル画像データに分割したことによる、画像処理部１(2149)における処理の並列性の向上、高速化の例を示す。なお、画像処理部１(2149)は、タイル単位の画像データの画像処理に特化した構成を有しているが、ここでは比較説明を明瞭にするため、ページ単位での画像処理も行えるものとする。
【０１１８】
図１２において、1201、1203はページ単位の画像データを示し、1202、1204はタイル単位の画像データを示す。1205，1206，1208は、画像処理部１(2149)に含まれる画像処理機能(2116)〜(2119)、及び(2030)の、いずれかのプロセスを表している。1207は画像処理機能1205、1206からの出力結果を画像処理機能(1208)に受け渡す際に調停を行う調停部である。本実施形態では、タイルバス(2107)が調停部(1207)の機能を有している。
【０１１９】
1209、1210は画像処理機能(1208)より出力される処理結果を、それぞれページ単位で処理した場合（1209）、タイル単位で処理した場合（1210）を示すタイムフローである。タイムフロー(1209)において、p10、p11は、ページ画像データ(1201)の一部を示し、p20、p21は、タイル画像データ(1203)の一部を示す。タイムフロー(1210)において、t10、t11は、タイル画像データ(1202)の一部を示し、t20、t21は、タイル画像データ(1204)の一部を示す。また、p10とt10のように、pとtで同じ番号は同じ画像データ量とする。画像処理部１(2149)への入力画像データ(1201)，(1202)は画像処理機能(1205)、調停部(1207)、画像処理機能(1208)という流れで処理を行い、画像処理部１(2149)から出力される。同様に、画像処理部１(2149)への入力画像データ(1203)，(1204)は画像処理機能(1206)、調停部(1207)、画像処理機能(1208)という流れで処理を行い、出力される。この際、画像処理機能（1205）、(1206)は、入力データと同じ量の出力データを得るまでにかかる時間が、画像処理機能(1208)より、遅いとする。この際、各画像処理部が同時にデータをページ単位で処理したとすると、タイムフロー(1209)に示すように、１ページの処理が終わるまで、画像処理機能(1208)は次のデータを受け取ることが出来ないので、そのページの処理（p10、p11）が終わるまで、次のページの処理（p20、p21）を処理することが出来ない。
【０１２０】
ここで、色が付加されている部分は、データの出力がされていないことを示す。これに対し、データをタイル単位で同時に処理した場合、タイムフロー(1210)に示すように、最初のタイル（t10）の処理が終わったら、すぐに次のタイル（t20）の処理をすることができる。同様に、t11、t21の処理も連続して行うことができるので、全ての処理が終了する時間をページで処理するのに比べて早くすることができる。
【０１２１】
図１３において、1301、1302は、図１２の画像処理機能(1205)と同じ画像処理機能を示し、図３と同様、画像処理機能(1303)より処理が遅いものとする。タイムフロー(1304)は処理を画像処理機能(1301)のみで行った場合、タイムフロー(1305)は画像処理機能(1301)、(1302)を両方使って行った場合の画像処理機能(1303)から出力される処理結果である。このように、同じページの処理に対して複数の同じ画像処理部を用いる場合、タイル画像データによる画像処理を行うことにより、処理の高速化を容易に達成することができる。
【０１２２】
例えば、上述の画像処理Ａと、画像処理Ｂとを、画像処理部１(2149)を用いて平行処理する場合、画像回転部(2030)において、回転処理の競合が生じることがある。
【０１２３】
しかし、画像データＡ、画像データＢ、２値化部(2118)、 解像度変換部(2118)、画像回転部(2030)が、図１２のタイル画像データ(1202)、タイル画像データ(1204)、画像処理機能(1205)、画像処理機能(1206)、画像処理機能(1208)に、それぞれ相当するものとすれば、競合時においても、画像回転部(2030)における２つの画像データの連続処理が可能となる。したがって、全ての処理が終了する時間をページで処理するのに比べて早くすることができる。
【０１２４】
また、同様に、画像処理Ａのみを行う場合において、画像データＡ、タイル伸張部１(2103)、タイル伸張部２(2013)、２値化部(2118)が、図１３のタイル画像データ(1306)、画像処理機能(1301)、画像処理機能(1302)、画像処理機能(1303)に、それぞれ相当するものとすれば、伸張処理をタイル画像データの単位で行うことにより、処理の高速化を容易に達成することができる。
【０１２５】
[画像データ形式変換部を用いた画像処理]
本発明に係るデジタル複合機が図１のネットワーク構成をとる場合、パケット単位で処理を行う本発明に係るデジタル複合機と、ページ単位で処理を行う他の画像処理装置と接続してデータ転送を行うことになる。したがって、図２に示す画像処理装置コントローラにおいて、LAN(2001)を介してネットワーク経由で受信したページ単位の画像データは、それを受け取った後に何らかの形で、タイル画像データへの分割、及びパケット化のためのヘッダ情報の付加などの作業を行う必要がある。また、画像データの送信時には、データパケットを構成するタイル画像データからページ画像データに変換しなければならない。
【０１２６】
容易な手法としては、CPU(2001)がソフトウェア処理することにより可能であるが、データの量が大きいと、この作業にかなりの処理性能を取られてしまう。例えば、画像データＡをネットワークを介して送信している最中に、画像データＢをＦＡＸ受信した場合、CPU(2001)は、パケット化されている画像データＡをページ画像データへ変換する処理と、画像データＢに関するパケット化処理を平行させて実行させなければならない。したがって、CPU(2001)の負荷が増大し、結果的に、ファクシミリ出力が通常より遅くなってしまうという事態が生じる。
【０１２７】
そこで、本実施形態では、ページ画像データをタイル画像データへ分割する機能、タイル画像データにヘッダ情報を付加してデータパケットを生成する機能、データパケットからヘッダ情報を削除してタイル画像データを生成する機能、タイル画像データをページ画像データへ連結する機能、及びデータパケットの管理テーブルを生成する機能を有する画像データ形式変換部(2200)を、PCIバス(2143)に備えることにより、この問題を解決する。以下、画像データ形式変換部(2200)の詳細について説明する。
【０１２８】
図１４は、本発明を適用した画像データ形式変換部(2200)の内部構成を表す図である。
【０１２９】
画像データ形式変換部(2200)は、上述したようにPCIバス(2143)に接続され、カードの形態を有している。また、以下の各ブロックは、ASIC化されたハードウェアとして構成されるべきものであるが、その処理機能の一部（例えば管理テーブル生成機能）をソフトウェアにより実現されていてもよい。
【０１３０】
画像データ形式変換部(2200)は、画像データ分割部(1401)と画像データ連結部(1402)から構成されている。画像データ分割部(1401)は、ページ単位の画像データをタイル画像データへ分割する機能、及びタイル画像データからデータパケットを生成する機能を実行する。画像データ分割部(1401)は、これらの機能を実行するために、ページ画像DMAC（ダイレクトメモリーアクセスコントローラ）(1403)、属性情報付加部(1404)、管理テーブル生成部(1405)、タイル画像DMAC(1406)を有している。同様に、画像データ分割部(1401)は、データパケットからヘッダ情報を取り除きタイル画像データとする機能、及びタイル画像データをページ単位の画像データへ連結する機能を実行する。画像データ分割部(1401)は、これらの機能を実行するために、タイル画像DMAC(1407)、属性情報削除部(1408)、ページ画像DMAC(1409)を有している。
【０１３１】
次に、画像データ形式変換部(2200)において、ページ単位の画像データからタイル単位のデータパケットを生成する処理について、図１５を用いて説明する。
【０１３２】
なお、図１５に示すフローチャートの処理手順は、画像データ形式変換部(2200)に備えられた図示しないCPUにより制御されている。このCPUは、CPU(2001)と各種制御情報の通信が可能である。
【０１３３】
まず、ページ画像DMAC(1403)が、PCIバス(2143)を介して接続される外部記憶装置(2004)に存在するページ単位の画像データを読み出す。ここで、ページ画像DMAC(1403)は、図９に示されるタイル画像データに分割する大きさごとにアドレスを計算して、分割する分の画像データを読み出す（Ｓ１１）。
【０１３４】
ページ画像DMAC(1403)により、結果的にタイル単位に分割されて読み出された画像データは、属性情報付加部(1404)に転送される。属性情報付加部(1404)は、タイル画像データに図３に示したようなページの中における分割された画像の位置(3009)，(3010)や、ページ番号(3007)などの属性情報を含むヘッダ情報(3001)を付加してデータパケットを生成する（Ｓ１２）。
【０１３５】
属性情報付加部(1404)により出力されたデータパケットは、タイル画像DMAC(1406)に転送される。タイル画像DMAC(1406)は、PCIバス１(2143)へデータパケットを出力する。データパケットは、PCIバス１(2143)、システム制御部(2150)を介してRAM(2002)へ転送され保存される（Ｓ１３）。
【０１３６】
この際、管理テーブル生成部(1405)は、タイル画像データが、外部記憶装置(2004)にどのように保存されているかを管理、もしくは知るための管理テーブルを生成する。管理テーブルは、図６に示したような各タイルの先頭アドレス(6001)，(6002)等を含んでいる。また管理テーブル生成部(1405)はPCIバス(2143)に接続されており、生成した管理テーブルをRAM (2002)に送る（Ｓ１４）。なお、管理テーブル生成部(1405)は、RAM(2002)の管理テーブルを参照することも可能である。
【０１３７】
次に、画像データ形式変換部(2200)において、データパケットからヘッダを取り除き、タイル画像データをページ単位の画像データに戻す処理について、図１６を用いて説明する。
【０１３８】
なお、図１６に示すフローチャートの処理手順は、画像データ形式変換部(2200)に備えられた図示しないCPUにより制御されている。
【０１３９】
まず、タイル画像DMAC(1407)が、PCIバス(2143)を介して接続されるRAM(2002)にある管理テーブルを取得して、取得した管理テーブルを参照する。そして、管理テーブルに基づいてRAM(2002)よりデータパケットを読み出す（Ｓ２１）。
【０１４０】
読み出されたタイル画像データは、属性情報削除部(1408)に送られ、属性情報削除部(1408)はヘッダ情報(3001)を取り除く（Ｓ２２）。
【０１４１】
そして、ページ画像DMAC(1409)は、タイル画像データに関してページ単位で画像がまとまるようにアドレスを計算して（Ｓ２３）、外部記憶装置(2004)に画像データを保存する（Ｓ２４）。
【０１４２】
以上が、図１４の構成に基づく、ページ単位の画像データを分割してタイル画像データを生成し、生成したタイル画像データに属性情報を付加してデータパケットを生成する処理、データパケットからヘッダを取り除き、タイル画像データをページ単位の画像データに戻す処理である。なお、図１４においては、DMACがPCIバス(2143)に直接４つ接続される構成になっているが、図１７のようにDMA調停部(1701)を設け、インターフェイス部分を一つだけにして、４つのDMACの調停を行っても良い。これにより、PCIバス(2143)と画像データ形式変換部(2200)との間の接続及びデータ転送のために用いられるピンの数を減らすことができ、コストの削減が可能となる。
【０１４３】
以上、本実施形態では、複合機コントローラにおける汎用バスに画像データ形式変換部を接続するようにした。そして、画像データ形式変換部が複合機コントローラで用いられるページ単位の画像データを分割してタイル画像データを生成するようにし、その一方でタイル画像データを連結してページ単位の画像を生成するようにした。
【０１４４】
したがって、コントローラのＣＰＵがソフトウェア処理で、この画像データの分割、復元を行う場合に比べ、ハードウェアで自動的に行うことにより、複数の処理をコントローラのソフトウェアで処理しなければいけないような状況の時に、ソフトウェアの処理の負荷を減らすことができるので、システム全体としての性能を向上させることができる。
【０１４５】
また、画像データ形式変換部は、座標情報等を含むヘッダ情報をタイル画像データに付加することによるデータパケットの生成、データパケットからのタイル画像データの抽出、そして管理テーブル生成まで行うので、ソフトウェア処理の負荷をより軽減させることができる。
【０１４６】
また、ＰＣＩバスなどの汎用バスインターフェイスに接続する形態を取ることにより、コントローラから着脱可能な拡張カードととして実装することも可能であり、処理を高速化したいときのオプションとして用いることができる。
【０１４７】
（第２の実施形態）
図１８に第２の実施形態における画像データ形式変換部(2200)の内部構成を示す。
【０１４８】
図１８に示されるように、画像データ形式変換部(2200)は、第１の実施形態と同様に、画像データ分割部(1401)と画像データ連結部(1402)から構成されている。本実施形態では、第１の実施形態に基づいて、ページ画像DMAC(1403)と属性情報付加部(1404)の間に画像圧縮部(1801)、また、タイル画像DMAC(1407)と属性情報削除部(1408)の間に、画像伸長部(1802)を挿入した構成となっている。
【０１４９】
この構成により、画像圧縮されていないページデータをタイル画像に分割する際に、画像圧縮を同時に行うことができる。またタイル画像に分割、圧縮されたデータを元の圧縮されていないページデータに戻す際に、伸長を行うことができる。
【０１５０】
図１８の構成の画像データ形式変換部(2200)において、ページ単位の画像データからタイル単位のデータパケットを生成する処理のフローチャートを、図１９に示す。
【０１５１】
この処理では、図１５のフローチャートと同様な処理を行うが、ステップＳ１１とステップＳ１２との間に、タイル圧縮処理（ステップＳ３１）を実行するようにしている。
【０１５２】
図１８の構成の画像データ形式変換部(2200)において、データパケットからヘッダを取り除き、タイル画像データをページ単位の画像データに戻す処理のフローチャートを、図２０に示す。
【０１５３】
この処理では、図１６のフローチャートと同様な処理を行うが、ステップＳ２１とステップＳ２２との間に、タイル伸張処理（ステップＳ４１）を実行するようにしている。
【０１５４】
なお、第１の実施例同様、図１８において、PCIバス(2143)にDMACが直接４つ接続される構成になっているが、図２１のように、DMA調停部(2101)を設け、インターフェイス部分を一つだけにして、４つのDMACの調停を行っても良い。
【０１５５】
以上、本実施形態では、タイル画像データへの分割時に画像圧縮を同時に行い、その一方でページ画像データへの連結の際に画像伸張を行うことによって、画像データを画像蓄積部等に保持する際の記憶容量の削減、また汎用バス等における転送データ量の削減も可能となる。
【０１５６】
（第３の実施形態）
本実施形態では、外部装置から受信した印刷データをデジタル複合機のプリンタ部(2095)により出力する場合における、タイル画像データ処理について説明する。
【０１５７】
本実施形態における画像データ変換部(2200)とレンダリング部(2060)を図２２に示す。
【０１５８】
図２２において、2200は、第２の実施形態で説明した画像データ形式変換部の内部構成を簡略化して示したブロックである。
【０１５９】
画像データ分割部(2201)は図１４の画像データ分割部(1401)からDMACを除いた構成を内部に含む。同様に、画像データ連結部(2202)は画像データ連結部(1402)からDMACを除いた構成を内部に含む。ここで、画像データ分割部(2201)及び画像データ連結部(2202)は、第２の実施形態で説明したような圧縮／伸張部を含んでいてもよい。2203は画像データ形式変換部(2200)の汎用バススレーブＩ／Ｆもしくは、DMACを示す（以下DMA部(2203)と呼ぶ）。DMA部(2203)は、ページ画像DMAC(1403)、タイル画像DMAC(1406)、タイル画像DMAC(1407)、ページ画像DMAC(1409)を内部に含む。ここで、DMA部(2203)の内部は、第１の実施形態で説明したようなバス調停部が構成されていてもよい。
【０１６０】
2060はラスター画像生成部の内部構成を示すブロックである。2204は汎用バススレーブＩ／Ｆもしくは、DMACを示す（以下DMA部(2204)と呼ぶ）。2205はレンダリング処理部であり、外部より送られてくる印刷データを受け取り、ラスター画像の生成を行う。
【０１６１】
次に、外部装置から受信した画像データをプリンタ部(2095)により出力する際の、タイル画像データの生成処理について説明する。
【０１６２】
まず、ＰＣ等外部装置から印刷データをLAN(2011)を介して受信する。そして、受信された印刷データは、一旦外部記憶装置(2004)に記憶される。
【０１６３】
レンダリング部(2060)のDMA部(2204)は、外部記憶装置(2004)に記憶された印刷データを順次読出し、レンダリング処理部(2205)に送る。レンダリング処理部(2205)は、印刷データ（画像生成データ）を展開し、ラスター画像データを生成し、生成したラスター画像データをDMA部(2204)に送る。
【０１６４】
そして、DMA部(2204)は、ラスター画像データを画像データ形式変換部(2200)に送る。画像データ形式変換部(2200)では、第１、第２の実施形態と同様のタイル画像の生成処理、及びデータパケットの生成処理が行わる。生成されたデータパケットは、RAM(2002)に管理テーブルとともに一旦記憶される。
【０１６５】
そして、CPU(2001)が、RAM(2002)に記憶されたデータパケットを順次読出し、画像処理部１(2149)で、印刷出力のための所定の画像処理をデータパケット単位で行わせる。その後、処理された画像データが画像処理部１(2149)から出力され、プリンタ部(2095)により像形成される。
【０１６６】
以上のプリント出力処理により、CPU(2001)が、タイル分割処理等を行うことなく、プリンタ出力ページ画像をハードウェアでタイル画像に分割することが可能となる。したがって、プリント出力の際も、第１、第２の実施形態と同様に、ソフトウェア処理によるコントローラの負荷を軽減させることができる。
【０１６７】
（第４の実施形態）
第４の実施形態における画像データ形式変換部(2200)とレンダリング部(2060)を図２３に示す。第４の実施形態は、図２２における構成に、レンダリング部(2060)からページ画像分割部(2200)へのダイレクトなパス(2301)をさらに付け加えた形になっている。これにより、PCIバス(2143)の占有率を減らす事ができる。第３の実施形態の構成においては、PCIバス(2143)上を、ラスター画像生成データ（印刷データ）、ラスターページ画像データ、データパケット（タイル画像データ）の転送が発生する。しかし、図２３の構成を採ることにより、汎用バス上に、ラスターページ画像データの転送が無くなり、より高速な処理を行うことが可能となる。
【０１６８】
（第５の実施形態）
これまでは、本発明の適用例として、画像データ形式変換部(2200)における処理を説明してきた。しかし、本発明はこれに限るものではなく、デジタル複合機の他の処理機能部においても適用可能であることは言うまでもない。その一例として、ネットワーク部に本発明を適用した場合について説明する。
【０１６９】
図２４に本実施形態におけるデジタル複合機の構成を示す。図２に示した構成と異なるのは、LANコントローラ(2010)、MAC(2145)、PHY/PMD(2146)によるネットワーク接続機能と、及び画像データ形式変換部(2200)の機能を備えたネットワーク部(2300)を設けた点である。
【０１７０】
ネットワーク部(2300)の内部構成を、図２５に示す。ネットワーク部(2300)は、ネットワーク接続機能と画像データ形式変換機能をあわせ持つ機能拡張ボードである。ネットワーク部(2300)は、DMA部(2501)、画像を変換せずにデータを転送するバイパス経路(2502)及び(2503)、上述の実施形態と同様の機能を有する画像データ分割部(2201)、及び画像データ連結部(2202)、ネットワーク上へデータを出力する送信部(2504)、ネットワークから送られてきたデータを受け取る受信部(2505)を内部に有する。
【０１７１】
ここで、送信部(2504)及び受信部(2505)の二つのブロックによって、LANコントローラ(2010)、MAC(2145)、PHY/PMD(2146)によるネットワーク接続機能と同等の機能を実現するものとする。
【０１７２】
次に、ネットワーク部(2300)が、LAN(2011)で接続された同じネットワーク内の外部装置（ＰＣや他のデジタル複合機等）との間でのタイル画像データの送受信を行う場合について説明する。
【０１７３】
まず、受信部(2505)は外部装置から所定の通信プロトコル及びフォーマットに従い送られてきた画像データを解析し、図３のフォーマットに従うデータパケットを抽出する。
【０１７４】
そして、データパケットのタイル画像データをページ画像データに変換する必要がある場合は、画像データ連結部（2202）が、これまで説明したものと同様のデータ形式変換を行う。そして、DMA部(2501)が、ページ画像データをRAM(2002)や外部記憶装置(2004)等へ転送する。タイル画像データを必要とする場合は、データパケットは、バイパス経路(2503)を介してDMA部(2501)によって外部記憶装置(2004)等へ転送される。
【０１７５】
外部記憶装置(2004)に格納されたページ画像データをネットワーク上の外部機器へ送信する場合、DMA部(2501)が、外部記憶装置(2004)からページ画像データを読み出して、画像データ分割部(2201)により、これまで説明したものと同様のデータパケットへの変換を行う。そして、送信部(2504)が変換後のデータパケットをネットワーク上の外部装置へ送信する。外部装置がページデータを必要とする場合は、バイパス経路(2502)が使われる。
【０１７６】
以上、外部装置との間でデータパケットの送受信を行い、複合機コントローラ内部ではページ画像データに変換して画像を扱う場合について説明した。
【０１７７】
しかし、外部装置との間でページ単位の画像データの送受信を行い、複合機コントローラ内部ではデータパケットに変換して画像を扱うようにネットワーク部(2300)の変換機能を構成してもよい。
【０１７８】
この場合、図２６に示されるように、画像データ分割部(2201)と画像データ連結部(2202)の位置を入れ替えるだけで、容易にネットワーク部(2300)の機能を変更して構成することができる。
【０１７９】
以上説明したように、ネットワーク部においても、画像データ形式変換機能を備えさせるようにした。これにより、これまで説明した実施形態と同様に、コントローラにおけるソフトウェア処理の負荷を軽減させることができる。
【０１８０】
（第６の実施形態）
本実施形態では、図２に示した構成のデジタル複合機において実行される複合処理の一例について説明する。ここでは、以下に示す画像送信処理と、ＦＡＸ受信処理との並行処理について説明する。
【０１８１】
画像送信処理（図２７）：スキャナ(2070)において原稿画像を読み取ることにより得られた画像データＡに対し、２値化処理及び回転処理を施した後、LAN(2011)を介して、画像データＡを図１のデータベースサーバ(1002)に送信する。
【０１８２】
ＦＡＸ受信処理（図２８）：図１のFAX(1031)から通信回線(2051)を介して受信した画像データＢに対し、解像度変換及び回転処理を施した後、画像データＢをプリンタ(2095)において出力する。
【０１８３】
本実施形態では、パケット処理に関して、画像送信処理においては画像データ形式変換部(2200)を用いるが、ＦＡＸ受信処理においては画像データ形式変換部(2200)を用いない例を示す。
【０１８４】
まず、画像送信処理の処理手順を、図２７のフローチャートを用いて説明する。なお、本処理手順は、CPU(2001)が各処理部に対して、制御信号を直接送るか、或いは図４、及び５に示したコマンドパケット及びインタラプトパケットを送ることにより制御される。
【０１８５】
まず、CPU(2001)は、ＵＩ(2012)からの操作者の指示情報等に基づく画像送信のための設定情報を、画像処理部１(2149)、画像データ形式変換部(2200)、LANコントローラ(2010)等に送信する。設定情報を受けた各処理部は、画像データの送信処理を実行するための各種設定を行う（Ｓ５１）。
【０１８６】
スキャナ(2070)にセットされた原稿画像に対し、図７に示した画像入力処理を実行し、画像データＡをRAM(2002)に格納する（Ｓ５２）。
【０１８７】
RAM(2002)に格納された画像データＡに対し、図１０に示した画像処理Ａを施し、再びRAM(2002)に画像データＡを格納する（ステップＳ５３）。
【０１８８】
画像データ形式変換部(2200)が、データパケットとして格納されている画像データＡをRAM(2002)から読み出す。そして、読み出したデータパケットに対し、図１６のヘッダ削除処理及びタイル連結処理を施し、処理により得られたページ画像データＡを外部記憶装置(2004)に格納する（ステップＳ５４）
画像記憶装置(2004)に格納されたページ画像データＡを所定のフォーマット（例えばＴＩＦＦ形式）に変換する。そして変換したページ画像データＡを、LAN(2011)を介してデータベースサーバ(1002)へ送信する（ステップＳ５５）。
【０１８９】
次に、ＦＡＸ受信処理の処理手順を、図２８のフローチャートを用いて説明する。なお本処理手順は、CPU(2001)が各処理部に対して、制御信号を直接送るか、或いは図４、及び５に示したコマンドパケット及びインタラプトパケットを送ることにより制御される。
【０１９０】
まず、Modem(2050)において、公衆回線(2051)を介してFAX(1031)から受信したページ単位の画像データＢを受信する。そして、受信した画像データＢを外部記憶装置(2004)に格納する（ステップＳ６１）。
【０１９１】
CPU(2001)が、ページ画像データとして格納されている画像データＢを外部記憶装置(2004)から読み出す。そして、読み出したページ画像データＢに対し、図１５に示すタイル分割処理及びパケット生成処理を施し、処理により得られたデータパケットＢをRAM(2002)に格納する（ステップＳ６２）。
【０１９２】
RAM(2002)に格納された画像データＢに対し、図１１に示した画像処理Ｂを施し、再びRAM(2002)に画像データＢを格納する（ステップＳ６３）。
【０１９３】
RAM(2002)に格納された画像データＢに対し図８に示した画像出力処理を実行し、画像データＢをプリンタ(2095)により出力する（ステップＳ６４）。
【０１９４】
以上が、画像送信処理及びＦＡＸ受信処理であり、デジタル複合機は、この２つの処理を同時並行処理する。しかし、その場合においても、CPU(2001)には大きな負荷がかからず、かつ高速な平行処理を実行することができる。
【０１９５】
これは、画像データ形式変換部(2200)が、画像送信処理におけるヘッダ削除処理及びタイル連結処理を実行する一方で、CPU(2001)が、ＦＡＸ受信処理におけるタイル分割処理及びパケット生成処理を実行しているためである。
【０１９６】
すなわち、画像データ形式変換部(2200)は、CPU(2001)が行うべきパケット処理を補助するハードウェアアクセラレータとして機能するため、CPUの負荷を分散することができる。
【０１９７】
なお、画像データ形式変換部(2200)が、ＦＡＸ受信処理におけるタイル分割処理及びパケット生成処理を実行する一方で、CPU(2001)が、画像送信処理におけるヘッダ削除処理及びタイル連結処理を実行するようにしてもよい。この場合も、同様にCPUの負荷を分散することができる。また、図２４で示したネットワーク部を用いた構成でも同様の効果が得られる。
【０１９８】
また、本実施形態では、２つの画像データに関する処理について述べたが、これに限るものではなく１つの画像データに関する処理の場合でもよい。
【０１９９】
例えば、上述の画像送信処理において、CPU(2001)及びデータ形式変換部(2200)が、ステップＳ１３で行う画像データＡに関するヘッダ削除処理及びタイル連結処理を、ページ単位で分担して平行処理するように構成してもよく、この場合、画像送信処理単独で処理の高速化が達成される。
【０２００】
また、上記画像送信処理とＦＡＸ受信処理に限るものではなく、ＰＣ等外部装置から送られてくる印刷データを出力する印刷処理や、リモートコピーや重連コピー等におけるリモート機としての出力処理といった、他の画像処理を実行する場合においても、本実施形態と同様な効果が得られることは言うまでもない。
【０２０１】
以上説明してきたように、本実施形態では、画像送信処理に係るタイル画像抽出機能とタイル画像連結機能を画像データ形式変換部によるハードウェア処理により実行し、ＦＡＸ受信処理に係るタイル画像分割機能とパケット生成機能と管理テーブル生成機能とを、ＣＰＵによるソフトウェア処理により実行するようにした。これにより、並行処理を実行する際の、CPUの負荷が軽減されるとともに、処理の高速化を図ることができる。
【０２０２】
（第７の実施形態）
本実施形態では、図２に示したデジタル複合機(1001)のハードウェア構成について説明する。
【０２０３】
図２９に示すように、図２のデジタル複合機は、ユニット化されたスキャナ(2070)と、同じくユニット化されたプリンタ(2095)と、ボード形態の画像処理装置コントローラ(2000)から構成される。このとき、画像処理装置コントローラ(2000)を構成するコントローラ本体ボードは、２つのユニットのいずれかの内部に内蔵されている。
【０２０４】
また、システム制御部(2150)、画像処理部１(2149)は、コントローラ本体ボード上に、ASICとして構成されている。同様にPCIバス(2143)も、コントローラ本体ボード上に構成されている。
【０２０５】
これまで本発明の主要部として説明してきた画像データ形式変換部(2200)は、機能拡張ボード上に、ASICとして構成されている。機能拡張ボードはコントローラ本体ボードから着脱可能であり、画像データ形式変換部(2200)の機能を利用したい場合は、コントローラ本体ボードのPCIバス(2143)に機能拡張ボードを接続する。
【０２０６】
このように、機能拡張ボードの形態の画像データ形式変換部を汎用バスに接続することにより、これまでの実施形態で述べてきたような、デジタル複合機側で行われるパケット処理を補助する機能を実現することができる。また、オプションボードとして接続するという簡単な作業を行うだけでよいので、操作者の要望に応じて、デジタル複合機の装置構成を柔軟に変更することができる。
【０２０７】
（他の実施形態）
上記の各実施形態において、デジタル複合機の画像処理部を、画像処理部１(2149)の１つのみとしたが、本発明はこれに限るものではなく、複数個の画像処理部を備えていてもよい。このとき、CPUは複数の画像処理部に関するパケット処理を管理しなければならない。したがって、本発明を適用した画像データ形式変換部による負荷分散の効果がより大きいものとなる。
【０２０８】
また、画像データ形式変換部が行う処理機能も、上記実施形態において説明したものに限るものではない。例えば、画像データ形式変換部が、Process Instructionへの処理内容を記載する機能も実行できるようにしてもよい。
【０２０９】
上記の各実施形態において、汎用バスとして、ＰＣＩバスを例に説明したが、本発明はこれに限るものではなく、ＩＳＡバス等他のバスを用いてもよい。
【０２１０】
また、本発明を適用した画像データ形式変換部やネットワーク部は、必ずしも汎用バスに直接接続されている必要はなく、例えば、画像データ形式変換部を、デジタル複合機とは別に１ユニットとして構成して、所定のインターフェイス（ＳＣＳＩ等）を介した外部接続の形式により実現されてもよい。
【０２１１】
また、上記各実施形態では、図１に示すデジタル複合機に本発明を適用する例で説明したが、本発明はこれに限るものではなく、タイル画像データの処理が可能であれば、単体のプリンタ装置や、スキャナ装置、ファクシミリ装置、パーソナルコンピュータ等にも適用可能である。
【０２１２】
【発明の効果】
以上説明してきたように、本発明によれば、ページ単位の画像データをタイル領域に分割したタイル画像データ単位で画像処理する画像処理装置において、各タイル画像データに対する画像処理を実行する際に、パイライン処理のように特定の制御部に負荷をかけることなく、第１の画像処理と第２の画像処理を指定された順序かつ指定された処理内容にて連続して実行させることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るデジタル複合機を、ネットワークに接続して使用する場合のネットワーク構成例を示すブロック図である。
【図２】本発明の実施形態に係る画像処理装置を用いたデジタル複合機の構成例を示すブロック図である。
【図３】図３は、本発明の実施形態に係るデータパケットのフォーマットを示す図である。
【図４】本発明の実施形態に係るコマンドパケットのフォーマットを示す図である。
【図５】本発明の実施形態に係るインタラプトパケットのフォーマットを示す図である。
【図６】本発明の実施形態に係るパケットテーブルを示す図である。
【図７】画像入力処理に関連するブロック間のデータの経路を示す図である。
【図８】画像出力処理に関連するブロック間のデータの経路を示す図である。
【図９】１ページの画像データをタイル画像データに分割する例を示す図である。
【図１０】画像処理Ａに関連するブロック間のデータの経路を示す図である。
【図１１】画像処理Ｂに関連するブロック間のデータの経路を示す図である。
【図１２】画像処理部１における処理の並列性の向上、高速化の例を示す図である。
【図１３】画像処理部１における処理の並列性の向上、高速化の例を示す図である。
【図１４】本発明を適用した画像データ形式変換部の内部構成を表す図である。
【図１５】図１４の画像データ形式変換部における、タイル画像データ生成処理及びデータパケット生成処理を示すフローチャートである。
【図１６】図１４の画像データ形式変換部における、ヘッダ削除処理及び、ページ画像データ生成処理を示すフローチャートである。
【図１７】図１４の画像データ形式変換部にDMA調停部を設けた構成を示すブロック図である。
【図１８】図１４の画像データ形式変換部に、画像圧縮部及び画像伸張部を設けた構成を示すブロック図である。
【図１９】図１８の画像データ形式変換部における、タイル画像データ生成処理及びデータパケット生成処理を示すフローチャートである。
【図２０】図１８の画像データ形式変換部における、ヘッダ削除処理及び、ページ画像データ生成処理を示すフローチャートである。
【図２１】図１８の画像データ形式変換部にDMA調停部を設けた構成を示すブロック図である。
【図２２】画像データ形式変換部をレンダリング処理に用いた場合の処理を説明するためのブロック図である。
【図２３】図２２の画像データ形式変換部とレンダリング部との間にパスを設けた場合の構成を説明するためのブロック図である。
【図２４】本発明をネットワーク部に適用した場合のデジタル複合機の構成例を示すブロック図である。
【図２５】本発明を適用したネットワーク部の内部構成を表す図である。
【図２６】本発明を適用したネットワーク部の内部構成を表す図である。
【図２７】図２のデジタル複合機における画像送信処理の処理手順を説明するためのフローチャートである。
【図２８】図２のデジタル複合機におけるＦＡＸ受信処理の処理手順を説明するためのフローチャートである。
【図２９】本発明に係るデジタル複合機のハードウェア構成を説明するための図である。
【符号の説明】
1001  デジタル複合機
1401  画像データ分割部
1402  画像データ連結部
1403  ページ画像DMAC
1404  属性情報付加部
1405  管理テーブル生成部
1406  タイル画像DMAC
1407  タイル画像DMAC
1408  属性情報削除部
1409  ページ画像DMA
1701  DMA部
1801  画像圧縮部
1802  画像伸張部
2000  画像処理装置コントローラ
2070  スキャナ部
2095  プリンタ部
2001  ＣＰＵ
2002  ＲＡＭ
2012  ＵＩ
2149  画像処理部１
2142  汎用バスインタフェース１
2143  PCIバス
2200  画像データ形式変換部
2060  レンダリング部
2300  ネットワーク部
2004  外部記憶装置
2205  レンダリング部
2502  バイパス回路
2503  バイパス回路
2504  送信部
2505  受信部
【図１】
0003862605.tif 000002
【図２】
0003862605.tif 000003
【図３】
0003862605.tif 000004
【図４】
0003862605.tif 000005
【図５】
0003862605.tif 000006
【図６】
0003862605.tif 000007
【図７】
0003862605.tif 000008
【図８】
0003862605.tif 000009
【図９】
0003862605.tif 000010
【図１０】
0003862605.tif 000011
【図１１】
0003862605.tif 000012
【図１２】
0003862605.tif 000013
【図１３】
0003862605.tif 000014
【図１４】
0003862605.tif 000015
【図１５】
0003862605.tif 000016
【図１６】
0003862605.tif 000017
【図１７】
0003862605.tif 000018
【図１８】
0003862605.tif 000019
【図１９】
0003862605.tif 000020
【図２０】
0003862605.tif 000021
【図２１】
0003862605.tif 000022
【図２２】
0003862605.tif 000023
【図２３】
0003862605.tif 000024
【図２４】
0003862605.tif 000025
【図２５】
0003862605.tif 000026
【図２６】
0003862605.tif 000027
【図２７】
0003862605.tif 000028
【図２８】
0003862605.tif 000029
【図２９】
0003862605.tif 000030