(57)【特許請求の範囲】
【請求項１】
記憶手段を有する画像処理装置であって、
画像を入力する入力手段と、
前記入力手段により入力された前記画像を分割して、分割する画像である本身領域の画像と、該本身領域の周辺の領域を示すオーバラップ領域の画像とを含む、複数のタイル画像を生成する第１の生成手段と、
前記第１の生成手段により生成された前記複数のタイル画像それぞれにおいて前記本身領域の画像と、前記オーバラップ領域の画像を別々に符号化して前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データを生成する第２の生成手段と、
前記第２の生成手段により生成された前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データとを関連付けて前記記憶手段に記憶するよう制御する制御手段とを有することを特徴とする画像処理装置。
【請求項２】
前記本身領域の画像を用いて画像処理を実行する際に前記オーバラップ領域の画像を使用するか否か判断する判断手段と、
前記本身領域の画像を用いて画像処理を実行する際に、前記オーバラップ領域の画像を使用すると前記判断手段が判断した場合には、前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データを前記記憶手段から読み出し、前記本身領域の画像を用いて画像処理を実行する際に前記オーバラップ領域の画像を使用しないと前記判断手段が判断した場合には、前記オーバラップ領域の画像の符号化データは前記記憶手段から読み出さずに、前記本身領域の画像の符号化データを前記記憶手段から読み出す読出手段とを更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の生成手段は、複数種類のオーバラップ領域の画像を別々に符号化して前記複数種類のオーバラップ領域の画像の符号化データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記本身領域の画像を用いて画像処理を実行する際に使用すべきオーバラップ領域の画像の種類を特定する特定手段と、
前記本身領域の画像を用いて画像処理を実行する際に、前記特定手段により特定されなかった種類のオーバラップ領域の画像の符号化データは前記記憶手段から読み出さずに、前記本身領域の画像の符号化データと前記特定手段により特定された種類のオーバラップ領域の画像の符号化データを前記記憶手段から読み出す読出手段とを更に有することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
記憶手段を有する画像処理装置の制御方法であって、
入力手段が、画像を入力する入力ステップと、
第１の生成手段が、前記入力ステップにおいて入力された前記画像を分割して、分割する画像である本身領域の画像と、該本身領域の周辺の領域を示すオーバラップ領域の画像とを含む、複数のタイル画像を生成する第１の生成ステップと、
第２の生成手段が、前記第１の生成ステップにおいて生成された前記複数のタイル画像それぞれにおいて前記本身領域の画像と、前記オーバラップ領域の画像を別々に符号化して前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データを生成する第２の生成ステップと、
制御手段が、前記第２の生成ステップにおいて生成された前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データを関連付けて前記記憶手段に記憶するよう制御する制御ステップと
を実行することを特徴とする画像処理装置の制御方法。
【請求項６】
請求項５に記載の画像処理装置の制御方法における各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、画像処理装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
複写機、ファクシミリ、レーザプリンタ等の画像処理装置は、入力された画像データをラインごとにラインメモリに格納し、回転や各種フィルタ処理等を行うことにより、入力画像の回転、拡大縮小及びエッジ強調等の画像処理を実行している。このため画像処理装置は、一般に、ページメモリや画像処理／編集用途として、回転部、フィルタ処理部等を有する画像処理部を備える。例えば、入力された画像を回転させる場合、ページメモリに所定の方向から順に書き込まれて格納された入力画像は、回転させたい角度と方向に応じて順に読み出される。このような画像の回転処理は、ライン読出部のアドレスを制御することにより実現される。しかし、このような回転処理を実現するためには、１ページの最大サイズに対応する巨大なページメモリが必要となる。さらには、近年の高解像度化に伴って当該ページメモリとして必要とされるメモリ容量が増大しており、コスト高の要因となっている。
【０００３】
上記問題を解決する手法として、入力されたページ画像をタイル画像に分割してデータフォーマットとして定義し、回転処理等を実行する技術が提案されている。この場合、回転処理に用いられるページメモリとしては、分割されたタイル画像に対応するメモリ容量が確保されればよく、効率的にメモリを使用することができる。しかし、回転処理以外の拡大縮小処理及びエッジ強調処理等の画像処理においては、当該画像処理を実行する際に、処理対象となる注目画素の周辺画素も必要となる。したがって、タイル画像の境界にあたる画素が注目画素である場合のように、１つのタイル画像だけでは演算できない場合がある。つまり、タイル画像の境界にあたる画素を注目画素とする場合には、周辺画素を含めて演算するためにフィルタ演算のサイズに応じてバンドメモリを有する必要があり、高解像度化に対して依然としてコスト高の一因となっている。
【０００４】
このような周辺画素を参照する演算に対する解決手法として、特許文献１には、原画像をタイル画像に分割する際に、境界近傍部分の注目画素が周辺画素を参照可能なようにオーバラップさせて分割する技術が提案されている。したがって、周辺画素を保持するためのラインメモリを必要とせず、このオーバラップ領域の画素を参照しフィルタ演算等を行うことにより適切な処理を実現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１９８１２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来技術では、タイル画像に分割する際にオーバラップ領域を付与し分割するため、各々のタイル画像のデータ量は、オーバラップされていない領域の画像データ量とオーバラップ領域の画像データ量とを加算したデータ量となる。例えば、タイル画像が１６画素×１６画素（２５６画素）の場合であって、各方向に２画素分の周辺画素を付与した場合には、トータルのデータ量は２０画素×２０画素（４００画素）となる。このような場合、タイル画像を読み出す際のメモリに必要とされるスループット（必要帯域）は、オーバラップを付与しなかった場合のタイル画像のデータ量と比較して約１．５倍必要となる。
【０００７】
また、画像処理の内容によってオーバラップ画像データが必要な場合と、不要な場合が考えられる。しかし、従来の画像データフォーマットでは、タイル画像データとオーバラップ画像データとがまとめて圧縮されているため、不要なオーバラップ画像データを切り分けることが不可能である。また、非圧縮画像データを用いると、タイル画像データとオーバラップ画像データとを切り分けることは可能であるが、圧縮データと比べて１画素あたりのデータ量が増大してしまう。さらに、システムとして要求されるスループットが足りない場合には、メモリ仕様として周波数の増加や、バス幅の増加などを必要とするため、さらなるメモリコストの増大が問題となっている。
【０００８】
本発明は、上述の問題に鑑みて成されたものであり、画像処理用のメモリ領域を低減するとともに、画像処理部に画像データを転送する際の処理負荷を低減する画像処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、記憶手段を有する画像処理装置であって、画像を入力する入力手段と、前記入力手段により入力された前記画像を分割して、分割する画像である本身領域の画像と、該本身領域の周辺の領域を示すオーバラップ領域の画像とを含む、複数のタイル画像を生成する第１の生成手段と、前記第１の生成手段により生成された前記複数のタイル画像それぞれにおいて前記本身領域の画像と、前記オーバラップ領域の画像を別々に符号化して前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データを生成する第２の生成手段と、前記第２の生成手段により生成された前記本身領域の画像の符号化データと前記オーバラップ領域の画像の符号化データとを関連付けて前記記憶手段に記憶するよう制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明は、例えば、画像処理用のメモリ領域を低減するとともに、画像処理部に画像データを転送する際の処理負荷を低減する画像処理装置及びその制御方法を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る画像処理装置１０の構成例を示すブロック図である。
【図２】本実施形態に係る画像処理装置１０の機能構成を示すブロック図である。
【図３】本実施形態に係るタイル分割ＤＭＡＣ１１９の内部構成例を示す図である。
【図４】本実施形態に係る画像データのタイル分割を説明する図である。
【図５】本実施形態におけるタイル分割用ラインバッファ１２５からタイル画像データを読み出す手順を説明する図である。
【図６】本実施形態に係るパケットデータのフォーマットを示す図である。
【図７】本実施形態に係るパケットデータのヘッダフォーマットを示す図である。
【図８】本実施形態に係るパケット格納用バッファ１２６に格納されたパケットデータを示す図である。
【図９】本実施形態に係る画象処理フローにおけるオーバラップを含めたタイル単位の読出し手順を説明する図である。
【図１０】本実施形態に係るプリント動作の処理手順を示すローチャートである。
【発明を実施するための形態】
【００１２】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１３】
＜画像処理装置の構成＞
以下では、図１乃至図１１を参照して、本発明の実施形態について説明する。まず、図１を参照して、本実施形態における画像処理装置１０の構成例について説明する。なお、ここでは、主に本発明を実施する上で必要となるコンポーネントについて説明する。したがって、本発明における画像処理装置１０は、他のコンポーネントを含んで実現されてもよい。
【００１４】
画像処理装置１０は、システム制御部１００、スキャナ１０１、プリンタ１０２及び操作部１１０を備える。また、システム制御部１００は、ＣＰＵ１０５、ＲＡＭ１０６、ＲＯＭ１０７、ＨＤＤ１０８、操作部Ｉ／Ｆ１０９、ネットワークＩ／Ｆ１１１、モデム１１２、イメージバスＩ／Ｆ１１４、ＲＩＰ部１１６、デバイスＩ／Ｆ１１７、スキャナ画像処理部１１８、タイル分割ＤＭＡＣ１１９、画像圧縮部１２０、パケット生成部１２１、パケット読出ＤＭＡＣ１２２、画像伸張部１２３、画像編集用画像処理部１２４、タイル分割用ラインバッファ１２５、パケット格納用バッファ１２６、及びＣＭＭ１３０を備える。また、システム制御部１００は、スキャナ１０１、プリンタ１０２、及び操作部１１０と接続され、画像データの読み取り、プリント出力、ユーザ操作の受け付け等の制御を行う。さらに、システム制御部１００は、ＬＡＮ１０３や公衆回線１０４と接続され、画像情報やデバイス情報をＬＡＮ１０３経由で入出力するための制御を行う。
【００１５】
ＣＰＵ１０５は、システム制御部１００を含む画像処理装置全体を制御するための中央処理装置である。ＲＡＭ１０６は、ＣＰＵ１０５が動作するためのシステムワークメモリであり、入力された画像データを一時的に記憶するための画像メモリでもある。ＲＯＭ１０７は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ１０８は、ハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。
【００１６】
操作部Ｉ／Ｆ１０９は、画像データ等を表示可能な表示画面を有する操作部１１０に対するインタフェースであり、操作部１１０に対して操作画面データを出力する。また、操作部Ｉ／Ｆ１０９は、操作部１１０から操作者が入力した情報をＣＰＵ１０５に通知する。ネットワークＩ／Ｆ１１１は、例えばＬＡＮカード等で実現され、ＬＡＮ１０３に接続して外部装置との間で情報の入出力を行う。モデム１１２は、公衆回線１０４に接続し、外部装置との間で情報の入出力を行う。図１に示すように、以上のコンポーネントがシステムバス１１３上に配置されている。
【００１７】
イメージバスＩ／Ｆ１１４は、システムバス１１３と画像データを高速で転送する画像バス１１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。ラスタイメージプロセッサ（ＲＩＰ）部１１６は、ページ記述言語（ＰＤＬ）コードや後述するベクトルデータをイメージに展開する。デバイスＩ／Ｆ１１７は、スキャナ１０１及びプリンタ１０２とシステム制御部１００とを接続し、画像データの同期系／非同期系の変換処理を行う。
【００１８】
スキャナ画像処理部１１８は、スキャナ１０１から入力した画像データに対して、補正、加工、編集等の各種画像処理を実行する。タイル分割ＤＭＡＣ１１９は、タイル分割用ラインバッファ１２５に格納された入力画像データを、タイル分割して読み出すための画像処理用のラインメモリである。画像圧縮部１２０は、所定の圧縮方式で画像データを符号化する。パケット生成部１２１は、圧縮されたタイル画像データをパケットフォーマットに従ってパケット化する。パケット読出ＤＭＡＣ１２２は、パケット格納用バッファ１２６に格納されたパケットデータのうち、画像編集用画像処理部１２４に必要なオーバラップ画像データを含むデータを読み出す。画像伸張部１２３は、パケット化された圧縮画像データを、プリンタ１０２で出力する場合において復号化し伸張する。画像編集用画像処理部１２４は、画像伸張部１２３にて伸張された画像データの回転や、トリミング・マスキング等の各種画像処理を行う。ＣＭＭ１３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理とも称する。）を施す専用ハードウェアモジュールである。ここで、プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータは、スキャナ１０１やプリンタ１０２の色再現特性を修正するためのデータである。
【００１９】
次に、図２を参照して、本実施形態におけるＣＰＵ１０５がＲＯＭ１０７等のメモリから読み出したプログラムを実行することにより、実現される機能について説明する。ＣＰＵ１０５は、ジョブコントロール処理部２０１、ネットワーク処理部２０２、ＵＩ処理部２０３、ＦＡＸ処理部２０４、プリント処理部２０７、色変換処理部２０８、スキャン処理部２０９、及びＲＩＰ処理部２１０を実現する。
【００２０】
ジョブコントロール処理部２０１は、各機能を統括的に制御し、コピー、プリント、スキャン、ＦＡＸ送受信などの画像処理装置１０で発生する全てのジョブを制御する。ネットワーク処理部２０２は、主にネットワークＩ／Ｆ１１１を介して行われる、外部との通信を制御し、ＬＡＮ１０３上の各機器との通信を制御する。ネットワーク処理部２０２は、ＬＡＮ１０３の各機器からの制御コマンドやデータを受信すると、その内容を、ジョブコントロール処理部２０１へ通知する。また、ジョブコントロール処理部２０１からの指示に基づき、ＬＡＮ１０３に接続された各機器へ制御コマンドやデータの送信を行う。ＵＩ処理部２０３は、主に操作部１１０、操作部Ｉ／Ｆ１０９に係わる制御を行う。具体的には、ＵＩ処理部２０３は、操作者が操作部１１０を操作した内容を、ジョブコントロール処理部２０１へ通知するとともに、ジョブコントロール処理部２０１からの指示に基づいて、操作部１１０上の表示画面の表示内容を制御する。
【００２１】
ＦＡＸ処理部２０４は、ＦＡＸ機能の制御を行う。ＦＡＸ処理部２０４は、モデム１１２を介してＦＡＸ受信を行い、ＦＡＸ画像特有の画像処理を施した後に、受信画像をジョブコントロール処理部２０１へ通知する。また、ＦＡＸ処理部２０４は、ジョブコントロール処理部２０１から指定される画像を、指定通知先へＦＡＸ送信を行う。
【００２２】
プリント処理部２０７は、ジョブコントロール処理部２０１の指示に基づいて、画像編集用画像処理部１２４及びプリンタ１０２を制御し、指定画像の印刷処理を行う。プリント処理部２０７は、ジョブコントロール処理部２０１から、画像データ、画像情報（画像データのサイズ、カラーモード、解像度など）、レイアウト情報（オフセット、拡大縮小、面つけなど）及び出力用紙情報（サイズ、印字方向など）を取得する。また、プリント処理部２０７は、タイル分割ＤＭＡＣ１１９、画像圧縮部１２０、パケット生成部１２１、パケット読出ＤＭＡＣ１２２、画像伸張部１２３、画像編集用画像処理部１２４を制御して、画像データに対して適切な画像処理を行う。その後、プリント処理部２０７は、プリンタ１０２を制御して、画像処理を施した画像データに従って指定用紙へ印刷を行う。
【００２３】
スキャン処理部２０９は、ジョブコントロール処理部２０１の指示に基づいて、スキャナ１０１及びスキャナ画像処理部１１８を制御して、スキャナ１０１上にある原稿の読み込みを行わせる。ジョブコントロール処理部２０１の指示には、カラーモードの情報が含まれており、スキャン処理部２０９ではカラーモードに応じた処理が行われる。つまり、カラーモードがカラーであれば、原稿をカラー画像として入力し、カラーモードがモノクロであれば、原稿をモノクロ画像として入力する。また、カラーモードがＡｕｔｏである場合には、プレスキャンなどにより原稿のカラー／モノクロ判定を行った後に、判定結果に基づいた画像として再度原稿をスキャンして画像を入力する。スキャン処理部２０９は、スキャナ１０１の原稿台にある原稿のスキャンを実行し、デジタルデータとして画像の入力を行う。入力した画像のカラー情報は、ジョブコントロール処理部２０１へ通知される。さらに、スキャン処理部２０９は入力画像に対し、スキャナ画像処理部１１８を制御して画像の圧縮等、適切な画像処理を施した後、ジョブコントロール処理部２０１へ画像処理済みの入力画像を通知する。
【００２４】
色変換処理部２０８は、ジョブコントロール処理部２０１の指示に基づいて、指示画像に対して色変換処理を行い、色変換処理後の画像をジョブコントロール処理部２０１へ通知する。ジョブコントロール処理部２０１は、色変換処理部２０８に対して、入力色空間情報、出力色空間情報及び色変換を適用する画像を通知する。色変換処理部２０８に通知された出力色空間が、入力機器に依存しない色空間（例えばＬａｂ空間）である場合には、入力機器に依存する入力色空間（例えば、ＲＧＢ）からＬａｂに変換するための情報である入力プロファイル情報も通知される。この場合、色変換処理部２０８は入力プロファイルより、入力色空間からＬａｂ空間へマッピングするルックアップテーブル（ＬＵＴ）を作成し、このＬＵＴを利用して入力画像の色変換を行う。
【００２５】
また、色変換処理部２０８に通知された入力色空間が、Ｌａｂ空間である場合には、Ｌａｂ空間から出力機器に依存する出力色空間に変換するための出力プロファイル情報も通知される。この場合、色変換処理部２０８は出力プロファイルより、Ｌａｂ色空間から出力色空間へマッピングするＬＵＴを作成し、このＬＵＴを利用して入力画像の色変換を行う。また、色変換処理部２０８に通知された入力色空間、出力色空間の双方が、デバイスに依存する色空間である場合には、入力プロファイルと出力プロファイルの双方が通知される。この場合、色変換処理部２０８は入力プロファイル及び出力プロファイルより、入力色空間から出力色空間へダイレクトにマッピングするＬＵＴを作成し、このＬＵＴを利用して入力画像の色変換を行う。色変換処理部２０８では、ＣＭＭ１３０が機器内にあれば、ＣＭＭ１３０へ生成したＬＵＴを設定することより、ＣＭＭ１３０を利用して色変換が行われる。一方、ＣＭＭ１３０がない場合には、例えば、ＣＰＵ１０５が色変換処理を行う。
【００２６】
なお、色変換処理部２０８は、予めリファレンス画像の色変換を実行することにより、入力プロファイルのみが指定された場合の色変換処理に要する時間を保持する。また、色変換処理部２０８は、出力プロファイルのみが指定された場合の色変換に要する時間を保持する。さらに、色変換処理部２０８は、入力プロファイルと出力プロファイルとが指定された場合の色変換に要する時間を保持する。
【００２７】
ＲＩＰ処理部２１０は、ジョブコントロール処理部２０１の指示に基づいて、ＰＤＬ（ページ記述言語）の解釈（インタプリット）を行い、ＲＩＰ部１１６を制御してレンダリングすることで、ビットマップイメージへの展開を行う。
【００２８】
＜プリント動作＞
上述した構成を用いた本実施形態におけるプリント動作について説明する。上述したように、ＬＡＮ１０３を介して送信されてきたＰＤＬ（ページ記述言語）は、ネットワークＩ／Ｆ１１１にて受信され、イメージパスＩ／Ｆ１１４によりＲＩＰ部１１６へ入力される。ＲＩＰ部１１６は、送信されたＰＤＬの解釈（インタプリット）を行い、レンダリングを実行させることでビットマップ形式の画像データとしてタイル分割用ラインバッファ１２５に展開する。ここで使用するタイル分割用ラインバッファ１２５のメモリサイズは、主走査方向における複数のラインのバッファサイズである。
【００２９】
展開された画像データは、タイル分割ＤＭＡＣ１１９においてオーバラップ領域を含んだタイル画像データに分割される。その後、タイル画像データと、オーバラップ画像データとが別々に読み出され、画像圧縮部１２０において所定の画像圧縮方式を用いて符号化される。符号化されたタイル画像データと、オーバラップ画像データとは、パケット生成部１２１においてパケット化される。パケットフォーマットは、タイル画像データ、オーバラップ画像データの、ページにおける位置情報や画像データの種類の情報などが記載されたヘッダ情報、ブロック分割した画像データ、及びオーバラップ画像データから構成される。
【００３０】
パケット画像データは、パケット格納用バッファ１２６に格納され、パケット読出ＤＭＡＣ１２２によって、必要なオーバラップ画像データを含むパケットデータとして読み出され、画像編集用画像処理部１２４に通知される。パケットデータは、デバイスＩ／Ｆ１１７を介して画像伸張部１２３にて復号化され、伸張されることで画像データに復元される。復元された画像データは、画像編集用画像処理部１２４によって所望の画像処理が実行される。その後、プリンタ１０２によって、印刷が実行される。
【００３１】
＜タイル分割ＤＭＡＣ＞
次に、図３を参照して、タイル分割ＤＭＡＣ１１９の内部構成について説明する。タイル分割ＤＭＡＣ１１９は、メモリ読出部３０１とアドレス制御部３０２とを備える。アドレス制御部３０２は、画像データを読み出す際のアドレスを生成する。メモリ読出部３０１は、生成されたアドレスに基づいてＲＡＭ１０６へリード要求トランザクションを発行する。これにより、所望のデータを読み出すことが可能となる。ＲＡＭ１０６から読み出されたデータは、タイル分割用ラインバッファ１２５に格納される。
【００３２】
＜タイル分割処理＞
次に、図４及び図５を参照して、タイル分割処理について説明する。図４は、３２×３２画素のタイル画像データに周囲４画素ずつのオーバラップタイル画像を付加した４０×４０のタイルデータを読み出す場合の、展開された画像データをタイル分割用ラインバッファ１２５に読み出した様子を示す。本実施形態では、図４に示すように、主走査方向３ライン分のバッファ４０１を用いる。これにより、オーバラップ領域の画像データもＲＡＭ１０６から読み出すことができる。
【００３３】
タイル画像領域（ブロック領域）４０２は、本味の画像データ領域を示す。４０３、４０４は、それぞれオーバラップ領域を示す。点線で示す領域４０５は、タイル画像領域４０２、及びオーバラップ領域４０３、４０４を含めたタイル部分を示す。オーバラップ領域４０３は本味のタイル画像領域４０２が直接参照するデータ領域である。一方、オーバラップ領域４０４はオーバラップ領域４０３が参照するデータ領域である。また、矢印４０６は主走査方向（Ｘ座標軸）を示し、矢印４０７は副走査方向（Ｙ座標軸）を示す。本実施形態では、主走査方向における３ライン分の画像データをタイル分割用ラインバッファ１２５に読み出し、パケット読出ＤＭＡＣ１２２によってタイル画像領域と、画像処理に必要となるオーバラップ領域との画像データをＲＡＭ１０６に読み出す。これにより、画像処理装置１０は、画像データを複数のタイル画像に分割する。
【００３４】
図５は、タイル画像領域４０２、オーバラップ領域４０３、オーバラップ領域４０４の順に、タイル分割用ラインバッファ１２５から画像データを読み出す手順を示す。図５において、５０１、５０２、５０３は、各領域の画像データをラインごとに読み出す際の順序を示す。アドレス制御部３０２は、まず３２×３２の本味のタイル画像領域４０２に対して、５０１に示す順序でアクセスするためのアドレス情報を生成する。次に、アドレス制御部３０２は、オーバラップ領域４０３及びオーバラップ領域４０４を、５０２、５０３に示す順序でアクセスするためのアドレス情報を生成する。その後、メモリ読出部３０１は、生成されたアドレス情報に従って各画像領域のデータを別々にタイル分割用ラインバッファ１２５から読み出す。読み出された本味の画像データ及び各オーバラップ画像データは、画像圧縮部１２０によって個別に符号化される。
【００３５】
＜パケットデータ＞
次に、図６及び図７を参照して、本実施形態に係るパケットデータについて説明する。まず、図６を参照して、パケットデータのフォーマットについて説明する。図６に示すパケット６０１は、パケット生成部１２１によって生成される。パケット生成部１２１によって生成されるパケット６０１は、符号化されたブロック領域と、当該ブロック領域に対応する、符号化されたオーバラップ領域とを含む。具体的には、パケット６０１は、ヘッダ情報６０２、符号化された本味のタイル画像データ６０３、及び、符号化されたオーバラップ画像データ６０４を含む。オーバラップ画像データ６０４は、オーバラップ領域４０３、４０４の画像データを含む。パケット生成部１２１は、このようなパケットフォーマットで各タイル画像のパケット６０１を生成し、生成したパケット６０１をパケット格納用バッファ１２６に格納する。パケット格納用バッファ１２６には、各パケットがアドレス０番地からパケット間で間隔を持たずに詰めて格納される。
【００３６】
図７は、パケット６０１におけるヘッダ情報６０２のフォーマットを示す。ヘッダ情報６０２には、本味の画像データと、オーバラップ画像データとについての情報が定義されている。本実施形態では、ヘッダ情報６０２のサイズを３２Ｂｙｔｅとする。ＴｉｌｅＩＤ−Ｙ−ｃｏｏｒｄｉｎａｔｅ７０１、及び、ＴｉｌｅＩＤ−Ｘ−ｃｏｏｒｄｉｎａｔｅ７０２には、それぞれページにおける本味の画像データのＹ座標、Ｘ座標が定義される。ＴｉｌｅＰｒｏｃｅｓｓＩｎｓｔｒｕｃｔｉｏｎ７０３は、本味の画像データを転送する先の画像処理モジュールを表す。
【００３７】
ＴｉｌｅＬｅｎｇｔｈ７０６には、図６に示すように、本味の画像データのパケットフォーマット内でのアドレス領域幅６０５を表す。Ｏｖｅｒｌａｐ１Ｌｅｎｇｔｈ７０７、及びＯｖｅｒｌａｐ２Ｌｅｎｇｔｈ７０８は、各領域のオーバラップ画像データのパケットフォーマット内でのアドレス領域幅６０６、６０７を表す。ＨｅａｄｅｒＬｅｎｇｔｈ７０５は、ヘッダ情報６０２のパケットフォーマット内でのアドレス領域幅（ここでは、３２Ｂｙｔｅ）を表す。ＰａｃｋｅｔＢｙｔｅＬｅｎｇｔｈ７０４は、パケット６０１のアドレス領域幅６０８を表す。ＰａｃｋｅｔＢｙｔｅＬｅｎｇｔｈ７０４の値は、ＨｅａｄｅｒＬｅｎｇｔｈ７０５（３２Ｂｙｔｅ）、ＴｉｌｅＬｅｎｇｔｈ７０６、Ｏｖｅｒｌａｐ１Ｌｅｎｇｔｈ７０７、Ｏｖｅｒｌａｐ２Ｌｅｎｇｔｈ７０８を加算した値である。これらの値は、画像圧縮部１２０によって画像データが符号化された際に決定され、ヘッダ情報６０２に書き込まれる。
【００３８】
このように、本実施形態では、１つのタイル画像領域４０２に対して、複数のオーバラップ領域４０３、４０４を定義する。さらに、本実施形態では、分割したタイル画像領域４０２と、複数のオーバラップ領域４０３、４０４とを個別に符号化して、パケット化する。これにより、本実施形態に係る画像処理装置１０は、元画像に対して実行する画像処理に応じて、タイル画像領域４０２とともに、当該画像処理に必要となるオーバラップ領域を画像編集用画像処理部１２４に転送することができる。したがって、画像処理装置１０は、画像編集用画像処理部１２４に対して、画像処理に必要となる最低限の画像データを転送することができ、転送用のバス幅や、画像データの転送及び画像処理に関する処理負荷を低減することができる。
【００３９】
＜パケットデータの読出処理＞
次に、図８及び図９を参照して、パケット格納用バッファ１２６に格納されたパケットデータの読出処理について説明する。パケットデータの読出処理は、パケット読出ＤＭＡＣ１２２によって制御される。図８に示すように、パケット読出ＤＭＡＣ１２２は、転送範囲設定レジスタ８０１及びパケットバッファ読出部８０２を含む。転送範囲設定レジスタ８０１は、画像データの転送範囲を設定するための２ビット構成のレジスタである。転送範囲設定レジスタ８０１の値は０、１、２が設定可能である。転送範囲設定レジスタ８０１の値が２の場合、パケットバッファ読出部８０２は、符号化された本味のタイル画像領域４０２と、２ラインのオーバラップ領域４０３、４０４との画像データを読み出す。また、転送範囲設定レジスタ８０１の値が１の場合、パケットバッファ読出部８０２は、符号化された本味のタイル画像領域４０２と、２ラインのオーバラップ領域４０３との画像データを読み出す。また、転送範囲設定レジスタ８０１の値が０の場合、パケットバッファ読出部８０２は、符号化された本味のタイル画像領域４０２の画像データを読み出す。
【００４０】
上述のように、ヘッダ内の各Ｌｅｎｇｔｈと、転送範囲設定レジスタ８０１との値に基づき、本味の画像データと必要なオーバラップデータとが抽出される。抽出されたデータは、画像編集用画像処理部１２４に転送される。パケット６０１のオーバラップ画像データ６０４のうち、画像編集用画像処理部１２４に必要なオーバラップ領域は、画像編集用画像処理部１２４での処理内容によって変化する。したがって、画像データに対する処理内容に従ってヘッダ内のＴｉｌｅＰｒｏｃｅｓｓＩｎｓｔｒｕｃｔｉｏｎ７０３には、画像編集用画像処理部１２４でのパケット画像データの処理手順が書き込まれる。
【００４１】
具体的には、ＴｉｌｅＰｒｏｃｅｓｓＩｎｓｔｒｕｃｔｉｏｎ７０３には、画像編集用画像処理部１２４に含まれる画像処理モジュールの種別を表すＡ、Ｂ、Ｃ、Ｄ、Ｅが処理の順序に従って書き込まれる。なお、ここでは、画像編集用画像処理部１２４が画像処理モジュールＡ乃至Ｅを含む例について説明するが、本発明はこれに限定されず他の画像処理モジュールをさらに含んでもよい。各画像処理モジュールについては以下のように規定する。
【００４２】
画像処理モジュールＡは、スクリーン処理を行い、タイル領域と、オーバラップ領域を２ライン参照する。画像処理モジュールＢは、色空間変換処理を行い、タイル領域のみを参照する。画像処理モジュールＣは、スムージング処理を行い、タイル領域と、オーバラップ領域を２ライン参照する。画像処理モジュールＤは、解像度変換処理を行い、タイル領域のみを参照する。画像処理モジュールＥは、トリミング処理を行い、タイル領域のみを参照する。
【００４３】
図９に示すパターン９０１は、パケットデータが画像編集用画像処理部１２４内の画像処理モジュールＡ、Ｂ、Ｃ、Ｄ、Ｅで処理される場合である。画像処理モジュールＡ、画像処理モジュールＣでスクリーン処理、スムージング処理を行い、オーバラップ領域をそれぞれ２ラインずつ参照する。そのため、パケット読出ＤＭＡＣ１２２は、ヘッダ情報６０２、符号化された本味のタイル画像領域４０２、２ラインのオーバラップ領域４０３、４０４の画像データを読み出す必要がある。よって、転送範囲設定レジスタ８０１には２が設定される。これに従い、パケット読出ＤＭＡＣ１２２は、ヘッダからＨｅａｄｅｒＬｅｎｇｔｈ７０５、ＴｉｌｅＬｅｎｇｔｈ７０６、Ｏｖｅｒｌａｐ１Ｌｅｎｇｔｈ７０７、Ｏｖｅｒｌａｐ２Ｌｅｎｇｔｈ７０８を参照する。その後、パケット読出ＤＭＡＣ１２２は、パケット格納用バッファ１２６から、参照したＨｅａｄｅｒＬｅｎｇｔｈ７０５、ＴｉｌｅＬｅｎｇｔｈ７０６、Ｏｖｅｒｌａｐ１Ｌｅｎｇｔｈ７０７、Ｏｖｅｒｌａｐ２Ｌｅｎｇｔｈ７０８の値の合計の領域分だけデータを読み出す。読み出したデータ６０１１は、画像伸張部１２３に転送される。画像伸張部１２３は、符号化されたデータを復号化し、画像編集用画像処理部１２４に転送する。
【００４４】
図９に示すパターン９０２は、パケットデータが画像編集用画像処理部１２４内の画像処理モジュールＤ、Ｅで処理される場合である。画像処理モジュールＥでスクリーン処理を行うため、１ラインのオーバラップ領域を参照する。そのため、パケット読出ＤＭＡＣ１２２は、ヘッダ情報６０２、符号化された本味のタイル画像領域４０２、１ラインのオーバラップ領域４０３の画像データを読みだす必要がある。よって、転送範囲設定レジスタ８０１には１が設定される。これに従い、パケット読出ＤＭＡＣ１２２は、ヘッダからＨｅａｄｅｒＬｅｎｇｔｈ７０５、ＴｉｌｅＬｅｎｇｔｈ７０６、Ｏｖｅｒｌａｐ１Ｌｅｎｇｔｈ７０７を参照する。その後、パケット読出ＤＭＡＣ１２２は、パケット格納用バッファ１２６から、参照したＨｅａｄｅｒＬｅｎｇｔｈ７０５、ＴｉｌｅＬｅｎｇｔｈ７０６、Ｏｖｅｒｌａｐ１Ｌｅｎｇｔｈ７０７の値の合計の領域分だけデータを読み出す。読み出したデータ６０１２は、画像伸張部１２３に転送される。画像伸張部１２３は、符号化されたデータを復号化し、画像編集用画像処理部１２４に転送する。
【００４５】
図９に示すパターン９０３は、パケットデータが画像編集用画像処理部１２４内の画像処理モジュールＤで処理される場合である。オーバラップ領域を参照する画像処理モジュールを通らないため、パケット読出ＤＭＡＣ１２２は、ヘッダ情報６０２、符号化された本味のタイル画像領域４０２を読みだす必要がある。そのため、転送範囲設定レジスタ８０１には０が設定される。これに従い、パケット読出ＤＭＡＣ１２２は、ヘッダからＰａｃｋｅｔＢｙｔｅＬｅｎｇｔｈ７０４、ＨｅａｄｅｒＬｅｎｇｔｈ７０５、ＴｉｌｅＬｅｎｇｔｈ７０６を参照する。その後、パケット読出ＤＭＡＣ１２２は、パケット格納用バッファ１２６から、参照したＨｅａｄｅｒＬｅｎｇｔｈ７０５、ＴｉｌｅＬｅｎｇｔｈ７０６の値の合計の領域分だけデータを読み出す。読み出したデータ６０１３は、画像伸張部１２３に転送される。画像伸張部１２３は、符号化されたデータを復号化し、画像編集用画像処理部１２４に転送する。
【００４６】
＜プリント動作＞
次に、図１０を参照して、プリント動作における処理手順について説明する。以下で説明する処理は、図２に示すＣＰＵ１０５によって統括的に制御される。なお、以下で説明するＳに続く番号はフローチャートにおけるステップ番号を示す。まず、Ｓ１０１において、ＣＰＵ１０５は、ネットワークＩ／Ｆ１１１によってＬＡＮ１０３を介して送信されてきたＰＤＬ（ページ記述言語）を受信し、イメージパスＩ／Ｆ１１４を介してＲＩＰ部１１６へ入力する。ＲＩＰ部１１６は、送信されたＰＤＬの解釈（インタプリット）を行い、レンダリングを実行する。具体的には、Ｓ１０１の処理は、ジョブコントロール処理部２０１、ネットワーク処理部２０２、及びＲＩＰ処理部２１０によって制御される。なお、Ｓ１０２以降の処理は、主にプリント処理部２０７によって制御される。
【００４７】
次に、Ｓ１０２において、ＣＰＵ１０５は、レンダリングされ、ビットマップ形式の画像データへ展開された画像データを、ＲＡＭ１０６に格納する。続いて、Ｓ１０３において、ＣＰＵ１０５は、格納した画像データを、タイル分割ＤＭＡＣ１１９によってオーバラップ領域を含んだタイル画像データに分割し、本味のタイル画像領域４０２と、各オーバラップ領域４０３、４０４のデータとを別々にＲＡＭ１０６に格納する。その後、Ｓ１０４において、ＣＰＵ１０５は、格納されたタイル画像データを、画像圧縮部１２０によって所定の画像圧縮方式を用いて符号化させる。
【００４８】
次に、Ｓ１０５において、パケット生成部１２１は、圧縮タイル画像データをパケットフォーマットに従ってパケット化し、Ｓ１０６においてパケット格納用バッファ１２６に格納する。続いて、Ｓ１０７において、パケット読出ＤＭＡＣ１２２は、転送範囲設定レジスタ８０１のレジスタ値に従って、実行する画像処理においてオーバラップデータ領域が必要であるか否かを判定する。ここで、オーバラップデータ領域が必要である場合はＳ１０８に進み、必要でない場合はＳ１０９に進む。
【００４９】
Ｓ１０８において、パケット読出ＤＭＡＣ１２２は、転送範囲設定レジスタ８０１の値に従って必要なオーバラップ領域のデータを含むパケットデータを読み出し、Ｓ１１０に進む。一方、Ｓ１０９において、パケット読出ＤＭＡＣ１２２は、転送範囲設定レジスタ８０１の値に従ってオーバラップ領域のデータを含まないパケットデータを読み出し、Ｓ１１０に進む。
【００５０】
Ｓ１１０において、画像伸張部１２３は、読み出されたパケットデータを復号化する。Ｓ１１１において、画像編集用画像処理部１２４は、画像伸張されたパケットデータに対して、所定の画像処理を実行する。続いて、Ｓ１１２において、ＣＰＵ１０５は、全てのタイル画像を読み出したか否かを判定する。読み出していない場合は、Ｓ１０６に処理を戻し、読み出された場合はＳ１１３に進む。Ｓ１１３において、ＣＰＵ１０５は、画像処理されたパケットデータを、プリンタ１０２によってプリントさせる。
【００５１】
以上説明したように、本実施形態に係る画像処理装置は、元画像を、複数のブロック領域と、各ブロック領域における所定範囲の周辺画素を含むオーバラップ領域とに分割する。また、画像処理装置は、分割されたブロック領域と、オーバラップ領域とを個別に符号化するとともに、パケット化を行う。さらに、画像処理装置は、実行する画像処理に応じて、オーバラップ領域が必要か否かを判定し、ブロック領域と、必要なオーバラップ領域とを画像処理部に転送する。このように、本画像処理装置は、ブロック領域に分割して画像処理を実行することにより、画像処理用のメモリ領域、例えば、ラインバッファのサイズを低減することができ、コストを削減することができる。さらには、本画像処理装置は、画像処理に必要であればオーバラップ領域の画像データをブロック領域の画像データとともに画像処理部に転送するため、データ転送用のバス幅や画像処理に関する処理負荷を低減することができる。
【００５２】
なお、本発明は、上記実施形態に限らず様々な変形が可能である。例えば、本画像処理装置は、１つのブロック領域に対して、複数のオーバラップ領域を元画像から分割してもよい。つまり、オーバラップ領域をより詳細に分割する。これにより、本画像処理装置は、画像処理部に対して、ブロック領域の画像データとともに、必要となる最低限のオーバラップ領域の画像データを転送することができる。
【００５３】
また、上記実施形態では、画像処理装置１０の内部に設けられた画像編集用画像処理部１２４に対する画像データの転送方法について説明した。しかし、本発明は、これに限定されず、ネットワークを介して接続された外部装置に設けられた画像処理部に対して、上記実施形態と同様の転送方法で画像データを転送する画像処理システムとしても実現できる。
【００５４】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005538792.tif 000002
【図２】
0005538792.tif 000003
【図３】
0005538792.tif 000004
【図４】
0005538792.tif 000005
【図５】
0005538792.tif 000006
【図６】
0005538792.tif 000007
【図７】
0005538792.tif 000008
【図８】
0005538792.tif 000009
【図９】
0005538792.tif 000010
【図１０】
0005538792.tif 000011