(57)【要約】【課題】画像処理時の各ページ間の時間間隔が必要以上に空くことを防止すると共に、任意のタイミングでレジスタアクセスを行うことができる画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体を提供する。【解決手段】画像処理装置１０００内の制御部２０００は、タイル画像処理部２１４９を備える。タイル画像処理部２１４９は、パケット振り分け部２１０４と、データバス２１０７と、コマンドバス２１０９とを備える。  制御部２０００はパケット振り分け部２１０４において、受信したパケットのヘッダ情報のPcktTypeがデータパケットを示す値であるか否かを判別し、PcktTypeがデータパケットを示す値であるときは、受信したパケットのヘッダ情報のCmdFlgに値が設定されているか否かを判別し、各パケット受信時にパケット振り分けを行う。【選択図】図８
2007158429.tif 000002
【特許請求の範囲】
【請求項１】
画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置において、
所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第１の転送手段と、
前記第１の転送手段が当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第２の転送手段とを備え、
前記第２の転送手段は当該画像データの転送を前記第１の転送手段による画像データの受信順に行うことを特徴とする画像処理装置。
【請求項２】
前記画像データをマトリックス状に分割して受信することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像データは、前記画像処理部において画像処理が行われるデータパケットと、前記画像処理部の動作設定を行うコマンドパケットとに分類されることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記画像データは、前記所定の転送情報及び属性情報を当該パケットのヘッダに包含することを特徴とする請求項３記載の画像処理装置。
【請求項５】
画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御方法において、
所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第１の転送ステップと、
前記第１の転送ステップが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第２の転送ステップとを備え、
前記第２の転送ステップは当該画像データの転送を前記第１の転送ステップによる画像データの受信順に行うことを特徴とする画像データ転送制御方法。
【請求項６】
前記画像データをマトリックス状に分割して受信することを特徴とする請求項５記載の画像データ転送制御方法。
【請求項７】
前記画像データは、前記画像処理部において画像処理が行われるデータパケットと、前記画像処理部の動作設定を行うコマンドパケットとに分類されることを特徴とする請求項５又は６記載の画像データ転送制御方法。
【請求項８】
前記画像データは、前記所定の転送情報及び属性情報を当該パケットのヘッダに包含することを特徴とする請求項７記載の画像データ転送制御方法。
【請求項９】
画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御プログラムにおいて、
所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第１の転送モジュールと、
前記第１の転送モジュールが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第２の転送モジュールとをコンピュータに実行させ、
前記第２の転送モジュールは当該画像データの転送を前記第１の転送モジュールによる画像データの受信順に行うことを特徴とする画像データ転送制御プログラム。
【請求項１０】
請求項９記載の画像データ転送制御プログラムを格納するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体に関し、特に、入力された画像データに画像処理を行う画像処理用ＬＳＩを備える画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
従来の画像処理用ＬＳＩは、その内部の各画像処理モジュールのレジスタ設定を直前の処理が完了した後で行っていた。具体的には、あるページの処理が完了した後に次のページ用のレジスタ設定を行い、全てのレジスタ設定が完了した後に次のページの処理を開始していた。この場合、画像処理モジュールの処理が完了する前に該当するレジスタ設定の変更を行うと、例えば、同一ページ内においてレジスタ設定変更前後の画像品質が異なる。
【０００３】
また、レジスタ設定を行う回数が多くなるにつれて、全てのレジスタ設定の完了に要する時間が長くなり、結果として各ページ間の時間間隔が空いてしまい、これにより、画像処理装置のパフォーマンスが低下する。
【０００４】
これら従来の問題を解決するために、データバス上にコマンドパケットを転送することができる構成の画像処理用ＬＳＩを備えた画像処理装置が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００４−２５３９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、レジスタアクセスのための全コマンドパケットをデータパケットの間に挿入して転送する系であるので、複数の画像処理モジュールが直列に接続して画像処理列を形成している場合の処理には問題があった。例として、１つの画像処理部での処理に時間が掛かると、他の画像処理部へのレジスタアクセスが滞ってしまうことが挙げられる。
【０００６】
さらに、上記従来の技術では、実質的に、レジスタへのリードアクセスが不可能であるという問題もあった。
【０００７】
本発明の目的は、画像処理時の各ページ間の時間間隔が必要以上に空くことを防止すると共に、任意のタイミングでレジスタアクセスを行うことができる画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の画像処理装置は、画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置において、所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第１の転送手段と、前記第１の転送手段が当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第２の転送手段とを備え、前記第２の転送手段は当該画像データの転送を前記第１の転送手段による画像データの受信順に行うことを特徴とする。
【０００９】
請求項５記載の画像データ転送制御方法は、画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御方法において、所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第１の転送ステップと、前記第１の転送ステップが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第２の転送ステップとを備え、前記第２の転送ステップは当該画像データの転送を前記第１の転送ステップによる画像データの受信順に行うことを特徴とする。
【００１０】
請求項９記載の画像データ転送制御プログラムは、画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御プログラムにおいて、所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第１の転送モジュールと、前記第１の転送モジュールが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第２の転送モジュールとをコンピュータに実行させ、前記第２の転送モジュールは当該画像データの転送を前記第１の転送モジュールによる画像データの受信順に行うことを特徴とする。
【００１１】
請求項１０記載の記憶媒体は、請求項９記載の画像データ転送制御プログラムを格納することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、所定の転送情報及び属性情報を有する画像データを受信し、当該画像データを所定の転送情報に基づいて画像処理部及びレジスタ部のいずれか一方に転送する。そして、受信した画像データを画像処理部に転送する場合、その画像データを所定の属性情報に基づいて画像処理部及び前記レジスタ部のいずれか一方にその画像データの受信順に転送する。これにより、画像処理時の各ページ間の時間間隔が必要以上に空くことを防止すると共に、任意のタイミングでレジスタアクセスを行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１４】
＜システム全体＞
図１は、本発明の実施の形態に係る画像処理装置が接続されるネットワークシステムの構成を概略的に示すブロック図である。
【００１５】
図１のネットワークシステム１は、画像処理装置１０００と、データベースサーバ１００１と、データベースクライアント１００２とを備え、これらは互いにローカルエリアネットワーク（以下、「ＬＡＮ」という）１０１０を介して接続されている。さらに、電子メールクライアント１００３と、電子メールサーバ１００４と、ＷＷＷサーバ１００５と、ＤＮＳ（Domain Name System）サーバ１００６とを備え、これらも互いにＬＡＮ１０１０を介して接続されている。
【００１６】
また、ネットワークシステム１は、インターネット／イントラネット１０１２とＬＡＮ１０１０とを接続するルータ１００７を備える。さらに、画像処理装置１０００ａと、データベースサーバ１００１ａと、ＷＷＷサーバ１００５ａと、電子メールサーバ１００４ａとを備え、これらは夫々インターネット／イントラネット１０１２と接続されている。
【００１７】
また、ネットワークシステム１は、ＦＡＸ装置１００８を備え、これは画像処理装置１０００にＰＳＴＮ又はＩＳＤＮ１０１１を介して接続されている。さらに、プリンタ１００９を備え、これはＬＡＮ１０１０に接続されている。
【００１８】
画像処理装置１０００は、後述する図２に示すように画像読み取り装置又は画像入力装置としてのスキャナ２０７０と、プリンタ２０９５と、制御部２０００とから構成される。そして、スキャナ２０７０から読み込んだ画像をＬＡＮ１０１０に転送したり、ＬＡＮ１０１０から受信した画像をプリンタ２０９５によりプリントアウトすることができる。また、スキャナ２０７０により読み込んだ画像を不図示のＦＡＸ送信手段を用いてＰＳＴＮ又はＩＳＤＮ１０１１を介してＦＡＸ装置１００８に送信することができる。さらに、ＰＳＴＮ又はＩＳＤＮ１０１１を介して受信した画像をプリンタ２０９５によりプリントアウトすることができる。
【００１９】
データベースサーバ１００１は、画像処理装置１０００により読み込んだ２値画像及び多値画像をデータベースとして管理する。データベースクライアント１００２は、データベースサーバ１００１のクライアントで、データベースサーバ１００１に保存されている画像データを閲覧／検索等ができる。
【００２０】
電子メールサーバ１００４は、画像処理装置１０００により読み取った画像を電子メールの添付ファイルとして受け取ることができる。電子メールクライアント１００３は、電子メールサーバ１００４が受け取った電子メールを受信及び閲覧することができ、電子メールを送信することができる。
【００２１】
ＷＷＷサーバ１００５は、ＨＴＭＬ文書をＬＡＮ１０１０に提供する。これにより、画像処理装置１０００は、ＷＷＷサーバ１００５が提供するＨＴＭＬ文書をプリントアウトすることができる。プリンタ１００９は、画像処理装置１０００により読み取った画像をプリントアウトすることができる。
【００２２】
画像処理装置１０００ａ、データベースサーバ１００１ａ、ＷＷＷサーバ１００５ａ、電子メールサーバ１００４ａは、画像処理装置１０００、データベースサーバ１００１、ＷＷＷサーバ１００５、電子メールサーバ１００４と同様の機能を有する。
【００２３】
＜画像処理装置の機能構成＞
図２は、図１における画像処理装置１０００の構成を概略的に示すブロック図である。
【００２４】
図２の画像処理装置１０００は、画像入力デバイスであるスキャナ２０７０と、画像出力デバイスであるプリンタ２０９５と、これらと接続すると共に後述するパケット振り分け処理を実行する制御部２０００とから構成される。また、制御部２０００は、ＬＡＮ１０１０やＰＳＴＮ又はＩＳＤＮ１０１１等の公衆回線（ＷＡＮ）に接続する。そして、制御部２０００は、画像情報やデバイス情報の入出力、ＰＤＬデータのイメージ展開を行う為のコントローラとなる。
【００２５】
制御部２０００は、システム制御部２１５０とタイル画像処理部２１４９とに大きく分けられる。ＣＰＵ２００１は、システム全体を制御するプロセッサであり、本実施の形態では２つのＣＰＵを用いた例を示す。これら２つのＣＰＵ２００１は、共通のＣＰＵＢＵＳ２１２６に接続され、さらに、システムバスブリッジ（以下、「ＳＢＢ」という）２００７に接続される。
【００２６】
ＳＢＢ２００７は、バススイッチであり、ＣＰＵＢＵＳ２１２６、ＲＡＭコントローラ２１２４及びＲＯＭコントローラ２１２５が接続される。さらに、ＩＯバスＡ２１２７、サブバススイッチ２１２８、ＩＯバスＢ２１２９、画像リングインターフェースＡ２１４７及び画像リングインターフェースＢ２１４８が接続される。
【００２７】
ＲＡＭ２００２は、ＣＰＵ２００１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。本実施の形態では、ＲＡＭコントローラ２１２４により制御されるダイレクトＲＤＲＡＭを採用する例を示す。ＲＯＭ２００３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。本実施の形態では、ＲＯＭコントローラ２１２５により制御される。
【００２８】
サブバススイッチ２１２８は、第２のバススイッチであり、画像ＤＭＡａ２１３０、画像ＤＭＡｂ２１３２、フォント伸長部２１３４、ソート回路２１３５及びビットマップトレース回路２１３６が接続される。そして、画像ＤＭＡａ２１３０及び画像ＤＭＡｂ２１３２から出力されるメモリアクセス要求を調停し、ＳＢＢ２００７への接続を行う。
【００２９】
画像ＤＭＡａ２１３０は、画像圧縮部２１３１に接続し、レジスタアクセスリング２１３７を介して設定された情報に基いて画像圧縮部２１３１を制御し、ＲＡＭ２００２上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しを行う。本実施の形態では、ＪＰＥＧを圧縮アルゴリズムに採用した例を示す。画像ＤＭＡｂ２１３２は、画像伸張部２１３３に接続し、レジスタアクセスリング２１３７を介して設定された情報に基いて画像伸張部２１３３を制御し、ＲＡＭ２００２上にある圧縮データの読み出し、伸張、伸張後データの書き戻しを行う。本実施の形態では、ＪＰＥＧを伸張アルゴリズムに採用した例を示す。
【００３０】
フォント伸張部２１３４は、ＬＡＮ１０１０等を介して外部より転送されるＰＤＬデータに含まれるフォントコードに基づき、ＲＯＭ２００３若しくはＲＡＭ２００２内に格納された、圧縮フォントデータの伸張を行う。本実施の形態では、ＦＢＥアルゴリズムを採用した例を示す。また、ソート回路２１３５は、ＰＤＬデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路であり、ビットマップトレース回路２１３６は、ビットマップデータにより、エッジ情報を抽出する回路である。
【００３１】
ＩＯバスＡ２１２７は、内部ＩＯバスの一種であり、標準バスであるＵＳＢバスのコントローラ（不図示）が接続される。さらに、ＵＳＢインターフェース２１３８、操作部インターフェース２００６、汎用シリアルポート２１３９、インタラプトコントローラ２１４０及びＧＰＩＯインターフェース２１４１が接続される。また、ＩＯバスＡ２１２７には、バスアービタ（不図示）が含まれる。
【００３２】
操作部インターフェース２００６は、操作部（ＵＩ）２０１２とのインターフェース部で、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部２０１２から画像処理装置１０００にユーザが入力した情報を、ＣＰＵ２００１に伝える役割をする。
【００３３】
ＩＯバスＢ２１２９は、内部ＩＯバスの一種であり、汎用バスインターフェース２１４２及びＬＡＮコントローラ２０１０が接続される。ＩＯバスＢ２１２９にも、バスアービタ（不図示）が含まれる。
【００３４】
汎用バスインターフェース２１４２は、２つの同一のバスインターフェースから成り、標準ＩＯバスをサポートするバスブリッジである。本実施の形態では、ＰＣＩバス２１４３を採用した例を示した。
【００３５】
外部記憶装置２００４は、ハードディスクドライブ（ＨＤＤ）で、システムソフトウェア及び画像データを格納し、ディスクコントローラ２１４４を介して一方のＰＣＩバス２１４３に接続される。
【００３６】
ＬＡＮコントローラ２０１０は、ＭＡＣ回路２１４５及びＰＨＹ／ＰＭＤ回路２１４６を介してＬＡＮ１０１０に接続し、情報の入出力を行う。モデム２０５０は、ＰＳＴＮ又はＩＳＤＮ１０１０等の公衆回線に接続し、情報の入出力を行う。
【００３７】
画像リングインターフェースＡ２１４７及び画像リングインターフェースＢ２１４８は、ＳＢＢ２００７と画像データを高速で転送する画像リング２００８とを接続する。そして、タイル化後の圧縮されたデータをＲＡＭ２００２とタイル画像処理部２１４９と間で転送するＤＭＡコントローラとなる。
【００３８】
画像リング２００８は、一対の単方向接続経路の組み合わせにより構成される。そして、タイル画像処理部２１４９内で、画像リングインターフェースＣ２１０１及び画像リングインターフェースＤ２１０２を介し、タイル伸張部２１０３、パケット振り分け部２１０４、ステータス処理部２１０５、タイル圧縮部２１０６に接続される。後述する図８のパケット振り分け処理は、パケット振り分け部２１０４において実行される。
【００３９】
タイル伸張部２１０３は、画像リングインターフェースＣ２１０１に接続されると共に、パケット振り分け部２１０４及びデータバス２１０７にも接続され、画像リング２００８により入力された圧縮後の画像データを伸張し、データバス２１０７へ転送する。本実施の形態では、多値データにはＪＰＥＧ、２値データにはパックビッツを伸張アルゴリズムとして採用した例を示す。
【００４０】
タイル圧縮部２１０６は、画像リングインターフェースＤ２１０２に接続されると共に、データバス２１０７にも接続され、データバス２１０７から入力された圧縮前の画像データを圧縮し、画像リング２００８へ転送するバスブリッジである。本実施の形態では、多値データにはＪＰＥＧ、２値データにはパックビッツを圧縮アルゴリズムとして採用した例を示す。
【００４１】
パケット振り分け部２１０４は、画像リングインターフェースＣ２１０１及び画像リングインターフェースＤ２１０２に接続されると共に、データバス２１０７、コマンドバス２１０９及びタイル伸張部２１０３に接続される。そして、画像リング２００８を介して入力された画像データをデータバス２１０７に転送する。また、ＣＰＵ２００１より発行されたレジスタ設定要求（コマンド）を、コマンドバス２１０９若しくはデータバス２１０７に転送する。さらに、ＣＰＵ２００１より発行されたレジスタ読み出し要求に基づき、コマンドバス２１０９を介して該当レジスタより情報を読み出し、画像リングインターフェースＤ２１０２に転送する。ステータス処理部２１０５は、各画像処理部の情報を監視する。
【００４２】
データバス２１０７には、上記処理ブロックに加え、レンダリング部インターフェース２１１０、画像入力インターフェース２１１２及び画像出力インターフェース２１１３が接続される。さらに、多値化部２１１９、２値化部２１１８、色空間変換部２１１７、画像回転部２０３０及び解像度変換部２１１６が接続される。
【００４３】
レンダリング部インターフェース２１１０は、後述するレンダリング部２０６０により生成されたビットマップイメージを入力するインターフェースである。レンダリング部２０６０とレンダリング部インターフェース２１１０とは、一般的なビデオ信号２１１１にて接続される。レンダリング部インターフェース２１１０は、データバス２１０７に接続すると共に、メモリバス２１０８及びコマンドバス２１０９に接続する。そして、コマンドバス２１０９を介して設定された所定の方法により、入力されたラスター画像をタイル画像に構造変換すると同時にクロックの同期化を行い、データバス２１０７に対し出力する。
【００４４】
画像入力インターフェース２１１２は、後述するスキャナ用画像処理部２１１４により補正画像処理されたラスターイメージデータを入力とする。そして、コマンドバス２１０９を介して設定された所定の方法により、入力されたラスターイメージデータのタイル画像への構造変換とクロックの同期化を行い、データバス２１０７に対し出力を行う。
【００４５】
画像出力インターフェース２１１３は、データバス２１０７からのタイル画像データを入力とし、ラスター画像への構造変換とクロックレートの変更を行い、ラスター画像を後述するプリンタ用画像処理部２１１５へ出力する。
【００４６】
画像回転部２０３０は画像データの回転を行い、解像度変換部２１１６は画像の解像度の変更を行う。色空間変換部２１１７は、カラー及びグレースケール画像の色空間の変換を行う。２値化部２１１８は多値（カラー或いはグレースケール）画像を２値化し、多値化部２１１９は２値画像を多値データへ変換する。
【００４７】
外部バスインターフェース部２１２０は、画像リングインターフェースＡ〜Ｄ、パケット振り分け部２１０４及びコマンドバス２１０９を介し、ＣＰＵ２００１により発行された書き込み、読み出し要求を外部バスＣ２１２１に変換出力するバスブリッジである。本実施の形態では、外部バスＣ２１２１はプリンタ用画像処理部２１１５及びスキャナ用画像処理部２１１４に接続されている。
【００４８】
メモリ制御部２１２２は、メモリバス２１０８に接続され、各画像処理部の要求に従い、予め設定されたアドレス分割により、画像メモリＡ及び画像メモリＢ２１２３に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施の形態では、画像メモリにＳＤＲＡＭを用いた例を示す。
【００４９】
スキャナ用画像処理部２１１４では、画像入力デバイスであるスキャナ２０７０によりスキャンされた画像データに補正画像処理を行う。プリンタ用画像処理部２１１５では、プリンタ出力のための補正画像処理を行い、結果をプリンタ２０９５へ出力する。
【００５０】
レンダリング部２０６０は、ＰＤＬコード若しくは中間ディスプレイリストをビットマップイメージに展開する。
【００５１】
＜タイル画像（パケット）フォーマット＞
図２における制御部２０００内では、画像データ、ＣＰＵ２００１によるコマンド及び各ブロックより発行される割り込み情報を、パケット化された形式で転送する。本実施の形態では、図３に示すデータパケット、図５に示すコマンドパケットの２種の異なる種類のパケットが使用される。
（１）データパケット（図３）
本実施の形態では、画像データを３２画素×３２画素のタイル単位の画像データに分割して取り扱う例を示す。このタイル単位の画像データに、必要なヘッダ情報及び画像付加情報等を付加してデータパケットとする。
【００５２】
以下、図３を用いてタイル単位の画像データのヘッダ情報に含まれる情報について説明する。
【００５３】
図３のデータパケットのパケットタイプは、ヘッダ情報３００１内のPcktType３００４の値によって区別される。また、PcktType３００４にはリピートフラグ（不図示）が含まれており、データパケットの画像データが１つ前に送信したデータパケットの画像データと同一の場合には、リピートフラグがセットされる。
【００５４】
ChipID３００５は、パケットを送信するターゲットとなるチップのＩＤを示し、ImageType３００６ではデータのタイプを示す。PageID３００７はページ番号を示しており、JobID３００８はソフトウェアで管理するためのＪｏｂＩＤを格納する。
【００５５】
また、タイルの番号は、Ｙ方向のPacketID３００９と、Ｘ方向のPacketID３０１０との組み合わせによる、ＹｎＸｎで表される。
【００５６】
データパケットは、画像データが圧縮されている場合と非圧縮の場合があり、本実施の形態では、圧縮アルゴリズムとして、多値カラー（多値グレースケールを含む）の場合はＪＰＥＧを、２値の場合はパックビッツを採用した例を示す。また、画像データが圧縮されているか非圧縮かの区別は、CompressFlag３０１７で示される。
【００５７】
ProcessInstruction３０１１は、左詰で処理順に設定し、各処理部は処理後にProcessInstruction３０１１を左に８ビットシフトする。ProcessInstruction３０１１には、UnitID３０１９とMode３０２０の組が８組格納されている。UnitID３０１９は各処理部を指定し、Mode３０２０は各処理部での動作モードを指定する。これにより、１つのパケットを８つの処理部で連続して処理することができる。
【００５８】
PacketByteLength３０１２は、パケットのトータルバイト数を示す。ImageDataByteLengh３０１５は画像データ３００２のバイト数を示し、ZDataByteLength３０１６は画像付加情報等３００３のバイト数を示す。ImageDataOffset３０１３及びZDataOffset３０１４は、夫々のデータのパケットの先頭からのオフセットを示している。
【００５９】
CmdFlg３０２１は、このパケットがデータパケットかコマンドパケットかを示すフィールドであり、データパケットの場合はこのフィールドに値は設定されない。
【００６０】
以下、図４を用いて各パケットを管理するパケットテーブルについて説明する。
【００６１】
図４に示すように各パケットは、パケットテーブル４００１によって管理される。パケットテーブル４００１において各パケットは、常に走査方向に並んでおり、Ｙｎ／Ｘｎ＝０００／０００，０００／００１，０００／００２，…という順で並んでいる。また、パケットテーブル４００１のエントリは一意に１つのタイルを示す。また、Ｙｎ／Ｘｍａｘの次のエントリはＹｎ＋１／Ｘ０となる。
【００６２】
パケットテーブル４００１の構成要素は次の通りで、PacketAddressPointer４００２の値に０を５ビット付加するとパケットの先頭アドレス、PacketLength４００５の値に０を５ビット付加するとパケットのバイト長となる。
【００６３】
PacketAddressPointer(２７bit)＋5b00000＝パケットの先頭アドレス      …（１）
PacketLength(１１bit)＋5b00000＝パケットのバイト長                  …（２）
パケットが１つ前のパケットと全く同一のデータである場合は、そのパケットはメモリ上には書かず、パケットテーブル４００１のエントリに１つ前のエントリと同じPacketAddressPointer、PacketLengthを格納する。１つのパケットデータを２つのテーブルエントリが指すようなかたちになり、この場合、２つ目のテーブルエントリのRepeatFlag４００３が設定される。
【００６４】
パケットがチェインＤＭＡにより複数に分断された場合は、DivideFlag４００４を設定し、そのパケットの先頭部分が入っているチェインブロックのChainTableNo.４００６を設定する。
【００６５】
チェインテーブル４０１０のエントリは、ChainBlockAddress４０１１及びChainBlockLength４０１２から成り、各テーブルの最後のエントリにはChainBlockAddress、ChainBlockLength共に０を格納する。
【００６６】
なお、パケットテーブル４００１及びチェインテーブル４０１０は分割されないものとする。
（２）コマンドパケット（図５）
図５のパケットフォーマットは、コマンドバス２１０９へのアクセスを行うためのものである。本パケットを用いることにより、ＣＰＵ２００１より画像メモリ２１２３へのアクセスも可能である。
【００６７】
図５におけるヘッダ情報５００１内のPcktType５００３は、そのパケットがデータパケットかコマンドパケットかを示す値が設定される。本実施の形態においては、本パケットが同期コマンドパケットの場合、コマンドパケットであるにもかかわらず、タイル画像インターフェース上ではデータパケットとして転送されるように、データパケットを示す値が設定されている。また、本パケットが非同期コマンドパケットの場合は、コマンドパケットを示す値が設定されている。
【００６８】
ChipID５００４には、コマンドパケットの送信先となるタイル画像処理部２１４９内のチップを表すＩＤが格納される。CmdType５００５は書き込みか読み込みかのコマンドタイプを示し、Cmdnum５００６はコマンドの数を示す。PageID５００７はソフトウェアで管理するためのＰａｇｅＩＤを格納し、JobID５００８はソフトウェアで管理するためのＪｏｂＩＤを格納する。PacketID５００９は、１次元で表されるデータパケットのＸ座標のみを格納する。PacketByteLength５０１０は１２８バイト固定である。
【００６９】
CmdFlg５０１３は、このコマンドパケットが同期コマンドパケットか非同期コマンドパケットかを示すフィールドであり、同期コマンドパケットの場合は値が設定されており、非同期コマンドパケットの場合は値は設定されていない。CmdFlg５０１３に値が設定されていることによって、チップ内ではコマンドパケットとして扱われると共に、そのパケットが同期コマンドパケットであることの判断情報となる。
【００７０】
コマンド部５００２には、アドレス５０１１とデータ５０１２との組を１つのコマンドとする、最大１２個のコマンドを格納することができる。
【００７１】
図６は、タイルの構成を示し、左上のタイル座標及び画像の座標を（０，０）とする。
【００７２】
図６において、Tile（０，０）等の領域で１つのタイルを示し、その括弧内の数字がタイルの座標を示す。タイル座標のＸ座標は左から右に行くにつれて増加し、タイル座標のＹ座標は上から下に行くにつれて増加するように定める。用紙サイズがＡ４（横）、解像度が６００ｄｐｉ、１つのタイルの大きさが３２画素×３２画素の場合、１ページは２２０（横）×１５６（縦）のタイル数となる。
【００７３】
以下、図２〜図７を用いてタイル画像処理部２１４９にパケットが順次入力された際の動作を説明する。
【００７４】
ここでは、タイル画像処理部２１４９に、第１のデータパケット、同期コマンドパケット（レジスタライト）、第２のデータパケット、非同期コマンドパケット（レジスタリード）、第３のデータパケットをこの順で入力する。また、説明を簡単にするために、これら５つのパケットは全て同じ解像度変換部２１１６に向けたパケットとする。
【００７５】
まず、第１のデータパケットは、上記パケットＤＭＡを用いて画像リングインターフェースＡ２１４７から画像リングインターフェースＣ２１０１の経路でタイル画像処理部２１４９に入力される。入力された第１のデータパケットは、画像リングインターフェースＣ２１０１からパケット振り分け部２１０４に転送される。
【００７６】
次に、パケット振り分け部２１０４では、上記第１のデータパケットのヘッダ情報３００１内のPcktType３００４、CmdFlg３０２１、及びProcessInstruction３０１１内のUnitID３０１９を確認する。
【００７７】
上記第１のデータパケットのPcktType３００４にはデータパケットを示す値、UnitID３０１９にはタイル伸張部２１０３のユニットＩＤが設定され、CmdFlg３０２１には値が設定されていない。よって、この第１のデータパケットは、まず、タイル伸張部２１０３に送られる。
【００７８】
そして、タイル伸張部２１０３での伸張動作中に、コマンドパケット（レジスタライト）がパケット振り分け部２１０４に入力される。ここで、このコマンドパケット内のヘッダ情報には、このコマンドパケットをデータパケットと同期して動作させるべく、PcktType５００３にデータパケットを示す値、UnitID（不図示）には解像度変換部２１１６のユニットＩＤが設定される。さらに、CmdFlg５０１３にはコマンドパケットとして扱われるように値が設定されている。このため、パケット振り分け部２１０４は解像度変換部２１１６にこのコマンドパケットを転送しようとするが、次の問題がある。それは、第１のデータパケットはタイル伸張部２１０３で処理中であるため、解像度変換部２１１６においては動作を完了していないという問題である。よって、次のパケットを受け取ることができないため、パケット振り分け部２１０４内でパケットを留める。
【００７９】
タイル伸張部２１０３での処理が完了し、速やかに画像データが解像度変換部２１１６に転送されると、解像度変換部２１１６は解像度変換処理を開始する。処理が完了すると、解像度変換部２１１６は画像処理完了信号（不図示）をパケット振り分け部２１０４に対して転送する。パケット振り分け部２１０４は、この信号をきっかけとしてそれまで留め置いていた同期コマンドパケットをコマンドバス形式に変換すると共に、コマンドバス２１０９を介して解像度変換部２１１６に転送する。
【００８０】
上述のように、第１のデータパケット及びコマンドパケット（レジスタライト）を順に目的の解像度変換部２１１６に転送することができる。
【００８１】
続いて、第２のデータパケットがタイル画像処理部２１４９に入力される。ここで、例えば、データバス２１０７が何らかの原因で転送が停滞している等の理由でタイル伸張部２１０３が上記画像データをデータバス２１０７に出力できなかった場合を除き、上記第２のデータパケットはタイル伸張部２１０３に転送される。また、上記コマンドバス２１０９を介してのレジスタアクセスが完了していない場合を除き、上記第２のデータパケットはタイル伸張部２１０３に転送される。
【００８２】
タイル伸張部２１０３に入力された第２のデータパケットは同様に伸張処理を施され、データバス２１０７に出力される。ここで、直前のコマンドパケット（レジスタライト）は解像度変換部２１１６にてレジスタ設定を完了しているので、確実に解像度変換部２１１６の機能変更が完了した後に、第２のデータパケットは自動的に解像度変換部２１１６に入力される。これにより、第１のデータパケットと第２のデータパケットとは、解像度変換部２１１６において異なる動作モード・設定にて処理が行われる。このように、第１のデータパケットとコマンドパケット（レジスタライト）と第２のデータパケットの順番は保証され、上記コマンドパケットのレジスタアクセスは第１のデータパケット及び第２のデータパケットと同期して設定されることになる。
【００８３】
次に、非同期コマンドパケット（レジスタリード）がタイル画像処理部２１４９に入力される。このコマンドパケット内のヘッダ情報には、このコマンドパケットをデータパケットと非同期で動作させるべく、PcktType５００３にコマンドパケットを示す値が設定され、CmdFlg５０１３には値が設定されていない。このコマンドパケットは無条件でコマンドバス２１０９に転送されるため、直前の第２のデータパケットの画像処理がどのような状態であっても解像度変換部２１１６に転送される。このレジスタアクセスはリードアクセスであるため、上記第２のデータパケットが処理中であってもレジスタ値を読み出すことができる。
【００８４】
また、上記非同期コマンドパケットを使用してレジスタライトを行うことも可能であるが、通常の動作時に使用されることはない。これは、通常動作時に画像処理に関連したレジスタを書き換えられてしまうと画像品質が変わってしまうため、レジスタ書き換えを上記非同期コマンドパケットで行う場合には、確実に画像処理が完了しているタイミングを確認の上で行う必要がある。また、動作中に印刷用紙ジャムや何らかの異常が発生し途中で処理を停止させる等の画像処理中にも関わらずレジスタ書き換えを必要とする場合に、速やかに動作を停止させるために上記非同期コマンドパケットは使用されると考えられる。
【００８５】
また、画像処理中に各種レジスタ値の読み出しを任意のタイミングで行う必要がある場合にも上記非同期コマンドパケットは使用されると考えられる。これは、例えば、動作中のステータスの確認用にレジスタ値の読み出しが発生した場合が考えられる。この場合は、例えば、同期コマンドパケットによるレジスタ書き換えを行っている最中であっても、一旦当該同期コマンドパケットのアクセスを停止して、最優先で上記非同期コマンドパケットによるアクセスを行う。このような優先度の制御もパケット振り分け部２１０４においてコマンドバス２１０９へのコマンドデータ転送の順番を制御することで行う。
【００８６】
最後に、第３のデータパケットは上記非同期コマンドパケットによるレジスタアクセスの状態に関わらずタイル伸張部２１０３に転送される。そして、第１のデータパケット及び第２のデータパケットと同様に、タイル伸張部２１０３において伸張処理が行われた後に、解像度変換部２１１６に転送され処理が行われる。
【００８７】
本実施の形態によれば、パケットヘッダ情報内のCmdFlg３０２１，５０１３及びPcktType３００４，５００３の情報によって一意に転送されるバスが決定される。
上記実施例では、リードコマンドでは同期／非同期の動作を行い、ライトコマンドでは同期動作のみを説明したが、パケットヘッダ情報の設定次第では非同期のライトコマンドを行うこともできる。
【００８８】
但し、画像データと非同期にレジスタライトを行う場合においては、レジスタライトコマンドの前後で、レジスタ値を変更された画像処理部の動作モードが変更されてしまう。これにより、例えば、同一ページ内においてページの前半と後半とで画像の品質が著しく変化してしまう。図７に示すように、１ページ内の７０３のタイミングでレジスタライトを行った場合、ページ前半の画像７０１とページ後半の画像７０２とは画像品質が異なってしまう。これを防ぐために、非同期コマンドパケットでレジスタライトを行う場合には、レジスタ設定タイミングをソフトウェアで制御する必要がある。
【００８９】
また、画像処理部が複数連なっている場合は、画像データにおいては各画像処理部に順番に転送される。そして、コマンドバス２１０９を介して予め動作設定が行われているので、設定された動作モードに応じて各画像処理部にて順番に画像処理が行われる。
【００９０】
図８は、図２における制御部２０００が実行するパケット振り分け処理の手順を示すフローチャートである。
【００９１】
本処理は、制御部２０００におけるパケット振り分け部２１０４において実行される。
【００９２】
図８において、まず、受信したパケットをデータパケットとして転送させるか否かを判断すべく、受信したパケットのヘッダ情報のPcktType３００４，５００３（転送情報）がデータパケットを示す値であるか否かを判別する（ステップＳ８０１）。
【００９３】
ステップＳ８０１の判別の結果、PcktType３００４，５００３がデータパケットを示す値であるときは、受信したパケットのヘッダ情報のCmdFlg３０２１，５０１３（属性情報）に値が設定されているか否かを判別する（ステップＳ８０２）。
【００９４】
ステップＳ８０２の判別の結果、CmdFlg３０２１，５０１３に値が設定されているときは、そのパケットは同期コマンドパケットであり、その同期コマンドパケットの直前のパケットがデータパケットであるか否かを判別する（ステップＳ８０３）。
【００９５】
ステップＳ８０３の判別の結果、直前のパケットがデータパケットであるときは、次の画像データ用のレジスタ設定を行う。しかし、直前のデータパケットの画像処理の完了前に、レジスタ設定は行えないため、画像処理が完了したか否かを判別する（ステップＳ８０４）。ステップＳ８０４の判別は、画像処理完了信号（不図示）の有無を確認することによって行う。
【００９６】
ステップＳ８０４の判別の結果、画像処理が完了したときは、そのコマンドパケットのコマンドデータをコマンドバス２１０９に転送することによりレジスタアクセスを行う（ステップＳ８０６）（第２の転送手段）。
【００９７】
そして、全てのコマンドデータの転送によるレジスタアクセスが完了したか否かを判別し（ステップＳ８０７）、全てのコマンドデータの転送が完了したときは、本処理を終了する。ステップＳ８０７の判別は、レジスタアクセスバスのプロトコルとしてレジスタアクセスの完了確認がサポートされているときは、レジスタアクセスを制御するシーケンサの状態を確認することで行う。
【００９８】
ステップＳ８０３の判別の結果、直前のパケットがデータパケットでないときは、直前のパケットは同期コマンドパケットであり、直前のコマンドパケットによるレジスタアクセスが完了したか否かを判別する（ステップＳ８０５）。ステップＳ８０５の判別もステップＳ８０７の判別と同様に、レジスタアクセスバスのプロトコルとしてレジスタアクセスの完了確認がサポートされているときは、レジスタアクセスを制御するシーケンサの状態を確認することで行う。
【００９９】
ステップＳ８０５の判別の結果、直前のコマンドパケットによるレジスタアクセスが完了したときは、ステップＳ８０６の処理へ進む。
【０１００】
ステップＳ８０２の判別の結果、CmdFlg３０２１，５０１３に値が設定されていないときは、そのパケットはデータパケットであり、そのデータパケットの直前のパケットがコマンドパケットであるか否かを判別する（ステップＳ８０８）。
【０１０１】
ステップＳ８０８の判別の結果、直前のパケットがコマンドパケットであるときは、直前のコマンドパケットによるレジスタアクセスの完了前に、データパケットの画像データの転送は行えない。そのため、レジスタアクセスが完了したか否かを判別する（ステップＳ８０９）。ステップＳ８０９の判別もステップＳ８０５，８０７の判別と同様に、レジスタアクセスバスのプロトコルとしてレジスタアクセスの完了確認がサポートされているときは、レジスタアクセスを制御するシーケンサの状態を確認することで行う。
【０１０２】
ステップＳ８０９の判別の結果、レジスタアクセスが完了したときは、そのデータパケットの画像データをデータバス２１０７に転送する（ステップＳ８１０）（第２の転送手段）。
【０１０３】
次いで、そのパケットが最終パケットであるか否かを判別する（ステップＳ８１１）。ステップＳ８１１の判別は、例えば、１ページ単位で判断する場合、１ページ内のデータパケット数を指定する手段と、受信したデータパケットの個数を計数する手段とで最終パケットであるかどうかを確認することで行う。
【０１０４】
ステップＳ８１１の判別の結果、最終パケットであるときは、画像処理完了信号を出力して（ステップＳ８１２）、本処理を終了し、最終パケットでないときは、そのまま本処理を終了する。
【０１０５】
ステップＳ８１２において出力される画像処理完了信号は、タイル画像処理部２１４９で生成され、本パケット振り分け部２１０４に送信される。この信号は上述のように、例えば、１ページ単位での画像処理の終了タイミングを通知するためのものであり、その信号を受信することによって、次のコマンドパケットによるレジスタアクセスを監視することができる。
【０１０６】
ステップＳ８０８の判別の結果、直前のパケットがコマンドパケットでないときは、直前のパケットはデータパケットであり、この場合、続けてデータパケットの画像データの転送を行えるため、ステップＳ８１０の処理へ進む。
【０１０７】
ステップＳ８０１の判別の結果、PcktType３００４，５００３がデータパケットを示す値でないときは、そのパケットは非同期コマンドパケットである。この場合、その非同期コマンドパケットによるレジスタアクセスはすぐに行えるため、その非同期コマンドパケットのコマンドデータをコマンドバス２１０９に転送する（ステップＳ８１３）（第１の転送手段）。そして、ステップＳ８１３の処理が完了した場合、本処理を終了する。
【０１０８】
図８のパケット振り分け処理によれば、まず、受信したパケットのヘッダ情報のPcktTypeがデータパケットを示す値であるか否かを判別する（ステップＳ８０１）。次いで、PcktTypeがデータパケットを示す値であるときは（ステップＳ８０１でＹＥＳ）、受信したパケットのヘッダ情報のCmdFlgに値が設定されているか否かを判別する（ステップＳ８０２）。これにより、パケット振り分け部２１０４において、各パケット受信時にパケット振り分けを行うことができる。
【０１０９】
従って、本実施の形態によれば、コマンドパケットのコマンドデータを、データパケットの画像データと同期させて送信したい場合には、画像バス経由で転送することができ、独立させて送信したい場合には、コマンドバス経由で転送することができる。これにより、画像データをページの途中で破壊することなくレジスタ設定を変更することができる。さらに、仮にデータバスに処理の重い画像処理モジュールが存在し、その下流のモジュールに対してレジスタアクセスを行いたい場合においても、任意のタイミングでレジスタアクセスを行うことができる。これにより、画像処理時の各ページ間の時間間隔が必要以上に空くことを防止することができ画像処理装置のパフォーマンスを向上させることができる。
【０１１０】
また、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給する場合を考える。ここで、本発明の目的は、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【０１１１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１２】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク等を用いることができる。あるいは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１１３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合だけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１１４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合を考える。この場合に、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も本発明に含まれる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の形態に係る画像処理装置が接続されるネットワークシステムの構成を概略的に示すブロック図である。
【図２】図１における画像処理装置の構成を概略的に示すブロック図である。
【図３】図２における制御部内で転送されるデータパケットの構成を説明する図である。
【図４】図２における制御部内で転送されるパケットを管理するパケットテーブルを説明する図である。
【図５】図２における制御部内で転送されるコマンドパケットの構成を説明する図である。
【図６】Ａ４用紙１ページの画像データのタイル構成を説明する図である。
【図７】画像７０１及び画像７０２の画像品質を説明する図である。
【図８】図２における制御部が実行するパケット振り分け処理の手順を示すフローチャートである。
【符号の説明】
【０１１６】
１  ネットワークシステム
１０００  画像処理装置
２０００  制御部
２１０４  パケット振り分け部
２１０７  データバス
２１０９  コマンドバス
２１４９  タイル画像処理部
【図１】
2007158429.tif 000003
【図２】
2007158429.tif 000004
【図３】
2007158429.tif 000005
【図４】
2007158429.tif 000006
【図５】
2007158429.tif 000007
【図６】
2007158429.tif 000008
【図７】
2007158429.tif 000009
【図８】
2007158429.tif 000010