画像処理装置およびプログラム
【課題】 文字印字やスタンプ印字などの合成用画像データと入力画像データとを画像合成するための画像処理装置を提供すること。
【解決手段】 本画像処理装置(10,120)は、入力画像データ200と、入力画像データと比較して小さな合成用画像データ210とを取得する手段と、上記合成用画像データから、入力画像データの画像に相当する領域を有し、合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段134と、取得される入力画像データと、生成される合成対象画像データとを用いて、合成用画像データの画像が入力画像データの上記所定領域に相当する領域に合成された合成画像220を生成する画像合成手段136とを含む。
【解決手段】 本画像処理装置(10,120)は、入力画像データ200と、入力画像データと比較して小さな合成用画像データ210とを取得する手段と、上記合成用画像データから、入力画像データの画像に相当する領域を有し、合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段134と、取得される入力画像データと、生成される合成対象画像データとを用いて、合成用画像データの画像が入力画像データの上記所定領域に相当する領域に合成された合成画像220を生成する画像合成手段136とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像合成技術に関し、より詳細には、文字印字やスタンプ印字などの合成用画像データと入力画像データとを画像合成するための画像処理装置、および該画像処理装置を実現するためのプログラムに関する。
【背景技術】
【0002】
従来から、複合機などの画像処理装置において、スキャン画像やプリント画像などの入力画像に所定画像を合成する、画像合成機能が知られている。上記画像合成機能としては、例えば、日付け、頁番号、機密管理番号、「マル秘」などの文字印字や、丸秘などスタンプ印字を入力画像に合成して印刷出力する、スタンプ合成機能を挙げることができる。
【0003】
上記画像合成機能においては、入力画像および合成用画像の画像合成処理を行うため充分なメモリ容量を確保することを要す。一方、システムメモリやローカルメモリなど記憶装置の容量増加はコスト増大につながるため、画像合成処理を効率化して、消費メモリ量を削減したいという要望がある。
【0004】
しかしながら、従来の画像合成技術では、入力画像と合成用画像とで、同サイズのメモリ領域を準備し、アプリケーションにおける画像解像度に比例したメモリ量を確保しなければならなかった。このため、従来の画像合成技術では、画像解像度の高精細化などに伴い、合成用画像のサイズとは無関係に消費メモリ量が増大していた。
【0005】
上記消費メモリ量を削減する従来技術が幾つか知られており、特開2001−253134号公報(特許文献1)に開示される技術が知られている。特許文献1の技術は、空きメモリ量によってスタンプ印字画像データの数や大きさが制限され、もしくはメモリを増設する必要があり、コストアップが生じる場合が多かったという課題を解決する目的でなされたものである。特許文献1は、かかる目的を達成するべく、特定の画像データを圧縮状態で記憶手段に記憶し、この記憶手段に記憶されている特定の画像データを伸長して入力画像データに合成する技術を開示する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1に開示される従来技術によれば、消費メモリ容量を幾分削減することができる。しかしながら、特許文献1の従来技術は、メモリ上に展開した入力画像データと、メモリ上に展開した合成用画像データとをメモリ上で合成する技術である。このため、入力画像に合成画像が上書きされてしまうこと等により、入力画像データの再利用ができない場合が発生し、画像合成のたびに入力画像データを伸張してメモリに展開する必要があり、生産性の低下につながってしまうという点で不充分であった。上記入力画像データの再利用ができない場合としては、コピー部単位毎に異なるナンバリングを印字する機密管理ナンバリングを行うケースを挙げることができる。
【0007】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、入力画像データと合成用画像データとの画像合成において、合成用画像のサイズに応じた適切な消費メモリ量を確保するだけで画像合成を可能とし、ひいては、消費メモリ量の削減および画像合成処理の高速化が図られた画像処理装置、および該画像処理装置を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記課題を解決するために、以下の特徴を有する画像処理装置を提供する。本画像処理装置は、入力画像データを取得する手段と、該入力画像データと比較して小さな合成用画像データを取得する手段とを含む。本画像処理装置は、さらに、上記合成用画像データから、上記入力画像データの画像に相当する領域を有し、該合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段を含む。本画像処理装置は、さらに、取得される入力画像データと、生成される合成対象画像データとを用いて、該合成用画像データの画像が入力画像データの上記所定領域に相当する領域に合成された合成画像を生成する画像合成手段を含む。
【0009】
本発明によれば、さらに、上記手段各々として機能する回路構成を実現するためのデバイス実行可能なプログラムを提供することができる。
【発明の効果】
【0010】
上記構成によれば、合成用画像データと入力画像データとの画像合成を、合成用画像データについて必要最小限のメモリを確保するだけで実現可能となり、必要メモリ容量の削減および画像合成処理の高速化が図られる。
【図面の簡単な説明】
【0011】
【図1】本実施形態による複合機のハードウェアおよびソフトウェアの概略構成を説明する図。
【図2】本実施形態による複合機のハードウェア構成図とコピー動作時の画像データフローを示す図。
【図3】本実施形態による複合機のハードウェア構成のうちのASICの詳細な機能ブロック図。
【図4】第1の実施形態による合成回路の詳細な機能ブロック図。
【図5】第1の実施形態における画像合成処理を模式的に示す図。
【図6】第2の実施形態による合成回路の詳細な機能ブロック図。
【図7】第2の実施形態における画像合成処理を模式的に示す図。
【図8】第3の実施形態による合成回路の詳細な機能ブロック図。
【図9】第3の実施形態における画像合成処理を模式的に示す図。
【図10】第4の実施形態における画像合成処理を模式的に示す図。
【図11】第5の実施形態による合成回路の詳細な機能ブロック図。
【図12】第5の実施形態における画像合成処理を模式的に示す図。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、画像合成を実行する画像処理装置の一例として、コピー、スキャナ、プリンタおよびファクシミリなど画像に関する複数機能を備えた複合機について説明する。
【0013】
図1は、本実施形態による複合機のハードウェアおよびソフトウェアの概略構成を説明する図である。図1に示す複合機10は、複数のソフトウェア・コンポーネントからなるソフトウェア群12と、複合機起動部14と、複数のハードウェア・コンポーネントからなるハードウェア資源群16とを含んで構成される。
【0014】
複合機起動部14は、複合機10の電源投入時に最初に実行され、アプリケーション層18およびプラットフォーム層20を起動する。複合機起動部14は、例えば、アプリケーション層18およびプラットフォーム層20の各ソフトウェア・コンポーネントに対応するプログラムを、ハードディスク装置(以下、HDDという。)などの外部記憶装置から読み出し、読み出した各プログラムをメモリ領域に転送して、当該複合機10を起動させる。
【0015】
ハードウェア資源群16は、図1に示す実施形態では、モノクロ・レーザプリンタ(B&W LP)26と、カラー・レーザプリンタ(Color LP)28と、画像変換器30と、その他スキャナやファクシミリなどのハードウェア・リソース32とを含む。
【0016】
ソフトウェア群12は、アプリケーション層18と、プラットフォーム層20とを含んで構成される。アプリケーション層18およびプラットフォーム層20は、UNIX(登録商標)、Windows(登録商標)などの適切なオペレーティング・システム(以下、OSという。)上で動作する。
【0017】
アプリケーション層18は、プリンタ、コピー、ファックシミリおよびスキャナなどの画像処理に関するユーザ・サービスにそれぞれ固有の処理を実行する各種ソフトウェア・コンポーネントを含む。アプリケーション層18には、図1に示す実施形態では、プリンタ・アプリケーション34と、コピー・アプリケーション36と、ファックシミリ・アプリケーション38と、スキャナ・アプリケーション40とが含まれる。
【0018】
プラットフォーム層20は、アプリケーション層18からの処理要求を解釈して、ハードウェア資源の獲得要求を発生するコントロール・サービス層22と、システム・リソース・マネージャ(以下、SRMという。)58と、ハンドラ層24とを含む。SRM58は、ハードウェア資源群16の1以上のハードウェアの管理を行い、コントロール・サービス層22からの獲得要求を調停する。ハンドラ層24は、SRM58からの獲得要求に応答してハードウェア資源群16の管理を行う。
【0019】
コントロール・サービス層22は、図1に示す実施形態では、ネットワーク・コントロール・サービス(以下、NCSという。)42と、デリバリ・コントロール・サービス(以下、DCSという)44と、オペレーションパネル・コントロール・サービス(以下、OCSという。)46と、ファックシミリ・コントロール・サービス(以下、FCSという。)48と、エンジン・コントロール・サービス(以下、ECSという。)50と、メモリ・コントロール・サービス(以下、MCSという。)52と、ユーザインフォメーション・コントロール・サービス(以下、UCSという。)54と、システム・コントロール・サービス(以下、SCSという。)56とを含み、1以上のサービス・モジュールを含んで構成される。
【0020】
プラットフォーム層20は、予め定義された関数により、アプリケーション層18からの処理要求を受信可能とするAPI(Application Programming Interface)66を有する。OSは、アプリケーション層18およびプラットフォーム層20の各ソフトウェア・コンポーネントをプロセスとして並列実行する。
【0021】
NCS42のプロセスは、ネットワーク入出力を必要とするアプリケーションに対し、共通に利用可能なサービスを提供する。NCS42のプロセスは、より具体的には、各種プロトコルに従って、ネットワーク側から受信したデータを各アプリケーションに振り分け、また各アプリケーションからのデータをネットワーク側へ送信する際の仲介処理を実行する。NCS42は、例えば、ネットワークを介して接続されるネットワーク機器とのデータ通信を、httpd(HyperText Transfer Protocol Daemon)により、HTTP(HyperText Transfer Protocol)に従って制御することができる。
【0022】
DCS44のプロセスは、蓄積文書の配信の制御を行う。OCS46のプロセスは、当該複合機10のオペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。FCS48のプロセスは、アプリケーション層18からPSTN(Public Switched Telephone Networks)網またはISDN(Integrated Services Digital Network)網を介したファクシミリ送受信、バックアップ用のメモリで管理されている各種ファクシミリ・スデータの登録や引用、ファクシミリ読み取り、ファクシミリ受信印刷などを行うためのAPIを提供する。
【0023】
ECS50のプロセスは、モノクロ・レーザプリンタ26、カラー・レーザプリンタ28、ハードウェア・リソース32などを含むエンジン部(図1には示さず。)の制御を行う。MCS52のプロセスは、メモリの取得および開放、HDDの利用などのメモリ制御を行う。UCS54は、ユーザ情報の管理を行う。SCS56のプロセスは、アプリケーション管理、操作部制御、システム画面表示、LED表示、ハードウェア資源管理、割り込みアプリケーション制御などを行う。
【0024】
SRM58のプロセスは、SCS56とともに本複合機のシステム制御およびハードウェア資源群16の管理を行う。SRM58のプロセスは、例えば、モノクロ・レーザプリンタ26およびカラー・レーザプリンタ28などのハードウェア資源群16を利用する上位層からの獲得要求に従って調停を行い、実行制御を行う。
【0025】
SRM58のプロセスは、より具体的には、獲得要求されたハードウェア資源群16の資源が利用可能であるか、すなわち他の獲得要求により利用されていないかどうかを判定する。SRM58のプロセスは、利用可能であれば、獲得要求された該資源が利用可能である旨を上位層に通知する。また、SRM58のプロセスは上位層からの獲得要求に対して、ハードウェア資源群16の各資源を利用するためのスケジューリングを行い、要求内容を直接実施する。上記要求内容には、例えば、プリンタ・エンジンによる紙搬送や作像動作、メモリ確保およびファイル生成などを挙げることができる。
【0026】
ハンドラ層24は、ファックス・コントロール・ユニット・ハンドラ(以下、FCUHという。)60と、イメージ・メモリ・ハンドラ(以下、IMHという。)62と、メディア・エディット・ユーティリティ(以下、MEUという。)64とを含む。FCUH60は、上記ハードウェア・リソース32に含まれるファクシミリ・コントロール・ユニット(以下、FCUという。後述する。)の管理を行う。IMH62は、プロセスに対するメモリの割り振りおよびプロセスに割り振ったメモリの管理を行う。MEU64は、画像変換器30を制御する。SRM58およびFCUH60は、予め定義された関数によりハードウェア資源群16に対する処理要求を送信可能とするエンジンI/F68を利用して、ハードウェア資源群16の各資源に対する処理要求を行う。
【0027】
複合機10は、各アプリケーション34〜40で共通的に必要な処理をプラットフォーム層20で一元的に処理することができる。
【0028】
図2は、本実施形態による複合機のハードウェア構成図とコピー動作時の画像データフローを示す図である。図2に示す複合機10は、コントローラ100と、オペレーションパネル150と、FCU152と、画像変換器30と、スキャナ・エンジンおよびプロッタ・エンジンが含まれるエンジン部160とを含み構成される。
【0029】
コントローラ100は、CPU110と、システムメモリ(MEM−P)やローカルメモリ(MEM−C)からなるメモリ112と、ASIC(Application Specific Integrated Circuit)120と、ハードディスク装置(HDD)114と、ROM(Read Only Memory)116と、NIC(Network Interface Card)118を含む。
【0030】
オペレーションパネル150は、コントローラ100のASIC120に接続されている。画像変換器30、FCU152、エンジン部160その他図示しないUSBデバイス、IEEE1394デバイスは、コントローラ100のASIC120にPCIバス接続されている。ASIC120には、メモリ112およびHDD114が接続されるとともに、CPUチップセットのノース・ブリッジを介してCPU110が接続されている。
【0031】
CPU110は、複合機10の全体制御を行う。ROM116は、各種制御プログラムを格納する。NIC118は、複合機10を外部のネットワークと接続する。メモリ112は、複合機10の作業メモリ、描画用メモリ、コピー用画像バッファ、符号バッファとして用いられる。
【0032】
CPU110は、ROM116やHDD114などから各種制御プログラムを読み出し、メモリ112に展開する。これにより、CPU110は、図1に示したNCS42、DCS44、OCS46、FCS48、ECS50、MCS52、UCS54、SCS56、SRM58、FCUH60、IMH62およびMEU64をOS上にそれぞれプロセスとして起動して実行する。CPU110は、さらに、アプリケーション層18のプリンタ・アプリケーション34、コピー・アプリケーション36、ファクシミリ・アプリケーション38およびスキャナ・アプリケーション40を起動して実行する。
【0033】
画像の読み取りは、コピー・アプリケーション36、ファクシミリ・アプリケーション38およびスキャナ・アプリケーション40において要求が発生し、プラットフォーム層20を通じて行われる。プリンタ・アプリケーション34は、NCS42を経由して、NIC118を介して接続された外部端末からの印刷データを受信し、プラットフォーム層20を通じて、ハードウェア資源を使用して、メモリ112やHDD114に書き込む。
【0034】
エンジン部160は、ASIC162と、画像読み取りを行うためのCCD164と、画像形成を行うための作像制御部166とを含む。コントローラ100が備えるASIC120には、エンジン部160のCCD164で読み取られて生成された画像データ、HDD114やメモリ112から読み取った画像データ、NIC118を介して接続される外部端末から受信した画像データが入力される。以下、これらASIC120に入力される画像データを総称して入力画像データという。ASIC120は、上記入力画像データに対して、各種画像処理を施すとともに、本実施形態による画像合成処理を実行することができる。
【0035】
HDD114は、ASIC120が実行する画像合成処理において、入力画像データに合成させるため画像データを格納することができ、該画像データがASIC120によって読み出される。以下、入力画像データに画像合成される画像データを合成用画像データとして参照する。このような合成用画像データとしては、日付、頁番号、機密管理番号、「マル秘」などの文字印字、丸秘などスタンプ印字などの画像データを挙げることができる。なお、日付、頁番号、機密管理番号などの文字印字については、予めHDD114などに画像データとして格納されていることは必ずしも要せず、適宜、フォントデータなどから生成されてもよい。
【0036】
以下、図3、図5を参照して、上述したASIC120による画像合成処理を含む処理動作について説明する。なお、以下の説明では、処理動作の一例として、コピー動作を例に説明するが、プリント動作、ファクシミリ送信動作、ファクシミリ受信動作、スキャナ動作など種々の画像処理動作に対して適用することができる。
【0037】
コピー動作においては、複合機10のオペレータが、オペレーションパネル150を操作して、コピー動作開始を指示したことに応答して、以下に示す処理フローが実行される。
【0038】
まず、第1のステップとして、コピー対象の原稿が、CCD164により画像読み取りされて、デジタル・データに変換される。変換されたデジタル・データ(以下、入力画像データという。)が、エンジン部160のASIC162およびコントローラ100のASIC120を経由して、一旦メモリ112に保存される。
【0039】
第2のステップとして、例えばHDD114に保存されている文字印字やスタンプ印字のための合成用画像データが、HDD114等から読み出されてメモリ112に保存される。
【0040】
第3のステップとして、CPU110の制御の下、メモリ112に蓄積された入力画像データと合成用画像データとが、ASIC120に入力され、画像合成処理が施される。画像合成処理により生成された合成後の画像データ(以下、合成画像データと参照する。)が、作像制御部116に転送されて、その合成画像が転写材上に転写される。
【0041】
図3は、本実施形態による複合機のハードウェア構成のうち、ASIC120の詳細な機能ブロックを表す図である。本実施形態におけるASIC120は、画像データの圧縮および伸張を実行する圧縮伸張器122と、画像データの編集を行う編集器124と、回転器126と、入力器128と、出力器130とを含む。回転器126は、画像データに画像回転を施すブロックである。入力器128は、エンジン部160のCCD164で読み取られた入力画像データをメモリ112へ入力するブロックである。出力器130は、画像データのエンジン部160への出力を行うブロックである。
【0042】
本実施形態によるASIC120は、さらに、図3に示すように、合成回路132を備えており、合成回路132は、入力画像データと合成用画像データとを画像合成する画像合成処理を実行する。なお、合成回路132は、編集器124および出力器130により利用されて、画像データの画像編集処理または画像データのエンジン部160への出力の前処理として、画像合成を実行することができる。
【0043】
本実施形態においては、合成用画像データのサイズにかかわらず、入力画像データに必要なメモリ量と同サイズのメモリ領域を合成用画像データのために確保するというメモリ合成手法は採用しない。代わりに、合成用画像データに応じた適切なメモリ量を確保し、ASIC120の合成回路132において画像合成を行う手法を採用する。以下、本実施形態によるASICで実行される画像合成処理について、図4および図5を参照しながら、より詳細に説明する。
【0044】
図4は、本実施形態による合成回路132の詳細な機能ブロック図である。図4に示すように、合成回路132は、余白データ生成部134と、合成部136と、パラメータ設定部138とを含んで構成される。
【0045】
合成回路132には、入力画像データ200と、入力画像データ200に合成させる合成用画像データ210とが入力される。本実施形態においては、合成用画像データ210は、入力画像データ200と同一サイズのものに限定されず、入力画像データ200に比較して小さなサイズを有するものを直接用いることができる。合成回路132は、本実施形態において、入力画像データを取得する手段および合成用画像データを取得する手段を構成する。
【0046】
入力画像データ200および合成用画像データ210は、各色nビット(例えば8ビット)のRGBデータと、適宜判別用の分離データ(XA_IN、XB_IN)とから構成される。RGBデータは、図4では、入力画像データ200については、RA_IN、GA_IN、BA_INで表され、合成用画像データ210については、RB_IN、GB_IN、BB_INで表されている。上記分離データ(XA_IN、XB_IN)は、画像データの色、文字、写真の種別などを示すデータとして用いられるデータである。
【0047】
パラメータ設定部138は、入力画像データの画像(以下、入力画像という。)中の、合成用画像データの画像(以下、合成用画像という。)が合成される領域(以下、合成領域という。)の位置、該合成領域(合成画像)の大きさ、合成方法などのパラメータを、後述する余白データ生成部134および合成部136に設定する。上記パラメータとしては、例えば、入力画像における合成用画像を合成する合成領域の主走査および副走査の開始画素位置、合成用画像(合成領域)の主走査および副走査の画素数、並びに合成用画像の合成方法を規定する指定値を挙げることができる。
【0048】
上記合成方法としては、上書き合成および透かし合成が挙げられる。上書き合成とは、入力画像中の上記合成領域を合成用画像で上書きする合成方法である。透かし合成とは、入力画像と合成用画像の画素値の大きい方を選択する合成方法であり、より具体的には、写真の上に文字を合成しても写真上に文字が透けて見えるような合成処理である。
【0049】
余白データ生成部134は、合成回路132に入力された合成用画像データ(RB_IN、GB_IN、BB_IN、XB_IN)から、上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)を生成する。余白データ生成部134は、より具体的には、上記パラメータ設定部138からのパラメータ設定を受けて、上記合成対象画像データに対し、入力画像データ中の合成領域に相当する領域以外の領域を埋める余白データを生成し、該余白データで合成用画像データ210を補完する。これにより、上記合成用画像データ210の画像が上記合成領域に相当する領域に配置され、かつ上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データが生成される。
【0050】
上記余白データによる合成用画像データ210の補完は、ASIC120が備える余白追加機能により実現することができる。また、補完される余白部分は、後続する画像合成において、入力画像データの画素値が優先して選択される部分である。余白は、白、黒または透過を意味する色値としてデータが構成される。
【0051】
合成部136には、合成回路132に入力された入力画像データ(RA_IN、GA_IN、BA_IN、XA_IN)と、上記余白データ生成部134が出力する合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)が入力される。合成部136は、これら画像データを用いて、上記合成用画像が入力画像中の上記合成領域に合成された合成画像を生成する。合成部136は、より具体的には、上記合成対象画像データと入力画像データとのRGBデータおよび分離データの合成処理を行って、合成画像データ(R_OUT、G_OUT、B_OUT、X_OUT)を出力する。
【0052】
以下、図5を参照しながら、本実施形態による画像合成処理について、より詳細に説明する。図5は、本実施形態における画像合成処理を模式的に示す図である。図5に示すように、例えばCPU110の制御の下、入力画像データ200および合成用画像データ210が、合成回路132に入力される。このとき、入力画像のサイズを規定する設定情報、入力画像中の合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))が、例えばCPU110により与えられる。合成回路132においてパラメータ設定部138は、与えられた設定情報に従い、余白データ生成部134に対し、合成領域の主走査方向の開始画素位置(Left)、副走査方向の開始画素位置(Top)、合成用画像の主走査方向の画素数(Width)および副走査方向の画素数(Height)などのパラメータを設定する。また、パラメータ設定部138は、与えられた設定情報に従って、合成方法を合成部136に設定する。
【0053】
余白データ生成部134は、副走査方向の第1のラインから開始画素位置(Top)前まで、各ラインが空白値で埋められた余白データを生成する。余白データ生成部134は、副走査方向の開始画素位置(Top)以降−終了画素位置(Top+Height)以前の区間については、合成用画像データの各ラインが画素列として含まれるデータを生成する。より具体的には、余白データ生成部134は、主走査方向の開始画素位置(Left)−終了画素位置(Left+Width)の領域に合成用画像データの画素列を含み、それ以外の領域が空白値で埋められたデータを生成する。主走査方向の第1の画素から開始画素位置(Left)前までの領域および終了画素位置(Left+Width)後から終端位置までの領域は、余白値で埋められる。余白データ生成部134は、副走査方向の終了画素位置(Top+Height)を加算した画素位置)後から最終のラインまで、各ラインが空白値で埋められた余白データを生成する。
【0054】
合成部136は、パラメータとして設定された合成方法にて、入力画像データ(RA_IN、GA_IN、BA_IN、XA_IN)と、合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)とを合成処理する。この際に、上記空白値については、入力画像データ200中の画素値が選択され、合成領域については、上記設定された合成方法にて合成用画像が合成される。
【0055】
上述までの第1の実施形態によれば、入力画像データと合成用画像データとが、ASIC120内の合成回路にて余白作成機能を用いて画像合成が実現される。このとき、合成用画像データは、入力画像データと同じサイズを有している必要はなく、入力画像と比較して小さなサイズを有する合成用画像データをそのまま使用することができる。このため、メモリ112上には、合成用画像データについては、そのサイズに応じたメモリ容量だけが確保される。したがって、上記実施形態によれば、サイズの異なる画像間の画像合成が最小限のメモリ消費で実現され、その際の読み出し負荷も軽減され、画像合成処理を高速化することができる。
【0056】
なお、上述までの実施形態は、合成用画像をそのまま入力画像に合成するものとして説明してきた。しかしながら、他の実施形態では、同様の仕組みを用いることにより、合成用画像をタイル状に並べて入力画像に合成することもできる。以下、図6および図7を参照しながら、第2の実施形態による画像合成処理について説明する。なお、以下に説明する第2の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。第2の実施形態の複合機10は、より具体的には、図1および図2に示したものと同様のソフトウェア構成およびハードウェア構成を備え、第2の実施形態のASIC120は、図3に示すものと同様の構成を備える。
【0057】
図6は、第2の実施形態による合成回路132の詳細な機能ブロック図である。図6に示す第2の実施形態による合成回路132は、図4に示したものと同様に、余白データ生成部134と、合成部136と、パラメータ設定部138とを含んで構成される。図6に示す実施形態では、複合機10は、さらに、繰り返し制御部140を備える。合成部136には、合成回路132に入力された第1入力画像データが入力されるが、第2の実施形態においては、上記繰り返し制御部140の制御の下、さらに、合成部136が一旦出力した合成画像データ220が入力画像データ200に代えて入力される。
【0058】
繰り返し制御部140は、合成画像データを第2の入力画像データとして、合成領域の位置を変更させながら、画像合成を繰り返し行わせる制御を行う。上記制御においては、繰り返し制御部140は、上記余白データ生成部134により第2合成対象画像データを生成させ、合成部136により上記第2入力画像データ(第1合成画像データ)と第2合成対象画像データとを合成させる。繰り返し制御部140は、CPU110による処理またはASIC120内の回路機能として構成することができる。
【0059】
余白データ生成部134は、繰り返し制御部140の制御の下、合成回路132に入力された合成用画像データから、上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データを生成する処理を繰り返す。パラメータ設定部138は、繰り返し制御部140の制御の下、余白データ生成部134に対し、与えられた設定情報から合成領域の位置、該合成領域(合成画像)の大きさなどのパラメータを繰り返し設定する。
【0060】
第2の実施形態による合成部136は、上記繰り返し制御部140の制御の下、合成用画像の画像合成を繰り返すことにより、合成用画像をタイル状に並べて入力画像に合成することができる。合成部136は、より詳細には、上記合成用画像が入力画像中の所定の合成領域に合成された合成画像を生成し、さらに、上記合成用画像が別の合成領域に合成された合成画像をさらに生成し、これを所定回数繰り返す。
【0061】
以下、図7を参照しながら、第2の実施形態による画像合成処理について、より詳細に説明する。図7は、第2の実施形態における画像合成処理を模式的に示す図である。図7に示すように、第2の実施形態においては、おおもとの第1入力画像データ200と、合成用画像データ210とが合成回路132に入力される。
【0062】
このとき、合成用画像のサイズを規定する設定情報(Width,Height)、繰り返し条件を規定する設定情報(Left,Top,Main_Interval,Sub_Interval,Main_Rep,Sub_Rep)が、例えばCPU110から繰り返し制御部140に与えられる。Main_IntervalおよびSub_Intervalは、それぞれ、主走査および副走査における繰り返し画素間隔を指定する値である。Main_RepおよびSub_Repは、それぞれ、主走査および副走査における繰り返し回数を指定する値である。なお、図示の例では、副査方向に可能な限り繰り返すことを意味する設定値「Sub_Rep=full」が設定されており、主走査方向に繰り返し制御を行わないことを意味する設定値「Main_Rep=false」が設定されている。
【0063】
繰り返し制御部140は、各繰り返しサイクルにおいて、入力画像中の合成用画像が合成される合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))を生成し、パラメータ設定部138に与える。合成回路132においてパラメータ設定部138は、繰り返すサイクル毎に、上記与えられた設定情報に従って、余白データ生成部134に、合成領域の主走査の開始画素位置(Left)、副走査の開始画素位置(Top)、合成用画像の主走査の画素数(Width)および副走査の画素数(Height)のパラメータを設定する。
【0064】
第1のサイクルでは、余白データ生成部134は、所定大きさ(Height,Width)の合成用画像が開始画素位置(Top1,Left1)に配置された第1合成対象画像データを生成し、合成部136は、第1合成対象画像データと、第1入力画像データとを画像合成する。生成された第1合成画像データは、メモリを経由して、第2入力画像データとして合成回路132に入力される。第1のサイクルでは、第1合成画像データを格納するためのメモリ領域が別途確保される。
【0065】
第2のサイクルでは、余白データ生成部134は、上記と同様に、所定大きさ(Height,Width)の合成用画像が開始画素位置(Top2,Left2)に配置された第2合成対象画像データを生成し、合成部136は、第2合成対象画像データと、第2入力画像データとを画像合成する。第2のサイクルで生成された第2合成画像データは、メモリを経由して、第3入力画像データとして合成回路132に入力される。なお、第1のサイクルでは第1合成画像データを格納するためのメモリ領域が別途確保されたが、第2のサイクルを含む以降のサイクルでは、第1のサイクルで確保したメモリ領域が使用される。第3および第4のサイクルについても同様であり、最終的に、合成用画像が4行で配列して入力画像に合成された最終合成画像データが得られる。
【0066】
機密管理ナンバリングのような機能においては、部数管理を行うための番号を1面に配列させることがある。上述した第2の実施形態によれば、必要最小限のメモリ消費で、合成用画像がタイル状に1面に配列された状態で画像合成を実現することができる。
【0067】
なお、上述までの実施形態は、ひとつの合成用画像を入力画像に合成するものとして説明してきた。しかしながら、他の実施形態では、合成用画像が複数ある場合について拡張することができる。以下、図8および図9を参照しながら、第3の実施形態による画像合成処理について説明する。なお、以下に説明する第3の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。
【0068】
図8は、第3の実施形態による合成回路132の詳細な機能ブロック図である。図8に示す合成回路132は、第1の実施形態と同様に、余白データ生成部134と、合成部136と、パラメータ設定部138とを含む。第3の実施形態においては、合成回路132には、入力画像データ200と、複数の合成用画像データ210とが入力される。図8に示す例では、2つの合成用画像210a,210bが入力されている。合成用画像データ210a,210bは、それぞれ、入力画像データ200に比較して小さなサイズを有するものを直接用いることができる。
【0069】
パラメータ設定部138は、各合成用画像毎に、入力画像中の合成領域の位置、該合成領域(合成画像)の大きさ、合成方法などのパラメータを余白データ生成部134および合成部136に設定する。
【0070】
余白データ生成部134は、合成回路132に入力された各合成用画像データ(RBn_IN,GB_IN,BBn_IN,XBn_IN:ここでnは、Nを合成用画像の数として、1‥Nの自然数である。)から、上記入力画像に相当する領域サイズを有する合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)を生成する。余白データ生成部134は、より具体的には、上記パラメータ設定部138からのパラメータ設定を受けて、入力画像中の複数の合成領域に相当する領域以外の領域を埋める余白データを生成し、該余白データで複数の合成用画像データ210a,210bを補完する。これにより、各合成用画像が対応する各合成領域に相当する領域に配置され、かつ上記入力画像データ200の画像に相当する領域サイズを有する1つの合成対象画像データが生成される。
【0071】
合成部136には、合成回路132に入力された入力画像データ(RA_IN,GA_IN,BA_IN,XA_IN)と、上記余白データ生成部134が出力する合成対象画像データ(RC_IN,GC_IN,BC_IN,XC_IN)とが入力される。合成部136は、上記合成用画像各々が入力画像データ中の上記合成領域各々に合成された合成画像を生成し、合成画像データ(R_OUT、G_OUT、B_OUT、X_OUT)として出力する。
【0072】
以下、図9を参照しながら、本実施形態による画像合成処理について、より詳細に説明する。図9は、第3の実施形態における画像合成処理を模式的に示す図である。図9に示すように、入力画像データ200および複数の合成用画像データ210が合成回路132に入力される。このとき、入力画像中の各合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))が、例えばCPU110により与えられる。
【0073】
合成回路132においてパラメータ設定部138は、与えられた設定情報に従って、余白データ生成部134に、各合成領域について、主走査の開始画素位置(Left1,Left2)、副走査の開始画素位置(Top1,Top2)、合成用画像の主走査の画素数(Width1,Width2)および副走査の画素数(Height1,Height2)のパラメータを設定する。
【0074】
余白データ生成部134は、各合成用画像の副走査方向の開始画素位置(Top)以降−終了画素位置(Top+Height)以前の区間いずれにも該当しない区間については、各ラインが空白値で埋められた余白データを生成する。余白データ生成部134は、各合成用画像の副走査方向の開始画素位置(Top)以降−終了画素位置(Top+Height)以前の区間に該当する区間については、合成用画像データの各ラインが画素列として含まれるデータを生成する。ここで、複数の合成用画像が重なる領域が存在する場合は、デフォルトとしてまたは予め定められた優先すべき側の合成用画像データの画素値を優先して上書き合成し、あるいは透かし合成を行う。そして、合成部136は、パラメータとして設定された合成方法にて、上記生成された合成対象画像データと、入力画像データとを合成処理する。
【0075】
上述までの実施形態によれば、複数の合成用画像データが、ASIC120内の合成回路にて、余白作成機能を用いて入力画像データに画像合成される。このとき、複数の合成用画像データは、それぞれ入力画像データと同じサイズを有する必要はなく、それぞれ小さなサイズを有する合成用画像データをそのまま使用することができる。したがって、上記第3の実施形態によれば、サイズの異なる3以上の画像間の画像合成を、最小限のメモリ消費で実現することができる。
【0076】
また、他の実施形態では、さらに、第2の実施形態および第3の実施形態を組み合わせて、図10に示す第4の実施形態による画像合成処理を実現することもできる。以下に説明する第4の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。
【0077】
図10は、第4の実施形態における画像合成処理を模式的に示す図である。図10に示すように、第1入力画像データと、複数の合成用画像データとが合成回路132に入力される。なお、図10に示す例では、2つの合成用画像が入力されている。各合成用画像データは、第1入力画像データに比較して小さなサイズを有するものを直接用いることができる。
【0078】
このとき、各合成用画像のサイズを規定する設定情報(Width1,Height1,Width2,Height2)、繰り返し条件を規定する設定情報(Left1,Top1,Left2,Top2,Main_Interval,Sub_Interval,Main_Rep,Sub_Rep)が、例えばCPU110から繰り返し制御部140に与えられる。Main_IntervalおよびSub_Interval、並びにMain_RepおよびSub_Repは、説明する実施形態では、合成画像に共通して与えられている。
【0079】
第4実施形態による繰り返し制御部140は、第3の実施形態と同様に、各繰り返しサイクルにおいて、複数の合成用画像各々について、合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))をパラメータ設定部138に与える。パラメータ設定部138は、繰り返すサイクル毎に、上記与えられた設定情報に従って、余白データ生成部134に、各合成領域について、主走査の開始画素位置(Left1m,Left2m)、副走査の開始画素位置(Top1m,Top2m)、合成用画像の主走査の画素数(Width1,Width2)および副走査の画素数(Height1,Height2)のパラメータを設定する。ここでmは、Mを繰り返し数として、1‥Mの自然数である。
【0080】
第1のサイクルでは、余白データ生成部134は、所定大きさ(Height1,Width1)の第1合成用画像が開始画素位置(Top11,Left11)に配置され、所定大きさ(Height2,Width2)の第2合成用画像が開始画素位置(Top21,Left21)に配置された第1合成対象画像データを生成する。合成部136は、第1合成対象画像データと、第1入力画像データとを画像合成し、第1合成画像データを出力する。
【0081】
第2のサイクルでは、上記第1合成画像データが第2入力データとして入力される。余白データ生成部134は、所定大きさ(Height1,Width1)の第1合成用画像が開始画素位置(Top12,Left12)に配置され、所定大きさ(Height2,Width2)の第2合成用画像が開始画素位置(Top22,Left22)に配置された第2合成対象画像データを生成する。合成部136は、第2合成対象画像データと、第1入力画像データとを画像合成し、第3入力画像データとして合成回路132に入力される。第3および第4のサイクルのついても同様であり、最終的に、複数の合成用画像が各4行に配列して入力画像に合成された最終合成画像データが得られる。
【0082】
上述した第4の実施形態によれば、機密管理ナンバリングのような機能において、必要最小限のメモリ消費で、上記のように複数の合成用画像がタイル状に1面に配列された状態で画像合成を実現することができる。
【0083】
さらに、他の実施形態では、図11および図12に示すような第5の実施形態を実現することもできる。以下に説明する第5の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。図11は、第5の実施形態による合成回路132の詳細な機能ブロック図である。図11に示す第5の実施形態による合成回路132は、図4に示したものと同様に、余白データ生成部134と、合成部136と、パラメータ設定部138とを含む。第5の実施形態においては、合成回路132には、入力画像データ200と、複数の合成用画像データ210−1〜210−nとが入力される。
【0084】
図11に示す実施形態では、複合機10は、さらに、配列制御部142を備える。合成部136には、合成回路132に入力された第1入力画像データが入力されるが、第5の実施形態においては、上記配列制御部142の制御の下、合成部136が一旦出力した合成画像データが、さらに入力画像データに代えて入力される。
【0085】
配列制御部142は、与えられた複数の合成用画像の配列設定に従って、上記複数の合成用画像データの合成用画像各々を配置する合成領域を決定し、入力する合成用画像データを制御し、該合成用画像データの合成位置を制御する。上記配列設定は、合成用画像の並べ方を規定するものであり、例えば、合成用画像データを識別する識別値の1次元または2次元配列として構成することができる。例えば、4つの合成用画像を4行1列に配列させる場合は、(1,2,3,4)のように構成することができる。
【0086】
余白データ生成部134は、第1の実施形態と同様に、合成回路132に入力された合成用画像データから、上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データを生成することを繰り返す。パラメータ設定部138は、余白データ生成部134に対し、与えられた設定情報から合成領域の位置、該合成領域(合成画像)の大きさなどのパラメータを繰り返し設定する。
【0087】
第5の実施形態による合成部136は、上記配列制御部142の制御の下、複数の合成用画像の画像合成を繰り返すことにより、入力される複数の合成用画像を配列設定に従ってタイル状に並べて入力画像データに合成することができる。合成部136は、より詳細には、一の合成用画像が入力画像中の一の合成領域に合成された合成画像を生成し、さらに、他の合成用画像が他の合成領域に合成された合成画像をさらに生成し、これを所定回数繰り返す。
【0088】
以下、図12を参照しながら、第5の実施形態による画像合成処理について、より詳細に説明する。図12は、第5の実施形態における画像合成処理を模式的に示す図である。図12に示すように、第1入力画像データと、複数の合成用画像データとのいずれかが合成回路132に入力される。なお、図12に示す例では、4つの合成用画像が順次入力されている。
【0089】
このとき、各合成用画像のサイズを規定する設定情報(Width,Height)、繰り返し条件を規定する設定情報(Left,Top,Main_Interval,Sub_Interval,Main_Rep,Sub_Rep)および配列設定(Arrangement)が、例えばCPU110から配列制御部142に与えられる。Arrangementは、図に示す例では、ID=2の合成用画像、ID=1の合成用画像、ID=4の合成用画像、ID=3の合成用画像が順に4行1列で並べられることを規定している。Main_Interval、Sub_Interval、Main_RepおよびSub_Repについては、第2の実施形態と同様であるため、詳細な説明は割愛する。
【0090】
配列制御部142は、各繰り返しサイクルにおいて、合成用画像データを合成回路に入力し、合成用画像を識別する識別値(ID)、入力画像中の合成用画像が合成される合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))をパラメータ設定部138に与える。合成回路132においてパラメータ設定部138は、繰り返すサイクル毎に、上記与えられた設定情報に従って、余白データ生成部134に、合成領域の主走査の開始画素位置(Left)、副走査の開始画素位置(Top)、合成用画像の主走査の画素数(Width)および副走査の画素数(Height)のパラメータを設定する。画像合成は、説明する実施形態では、最も若いIDの合成用画像データから行うこととするが、特に限定されるものではなく、他の実施形態では、配置される順序に応じて行うこともできる。
【0091】
第1のサイクルでは、余白データ生成部134は、ID=1で識別される、所定大きさ(Height1,Width1)の第1合成用画像が、開始画素位置(Top11,Left11。第2行目に対応する。)に配置された第1合成対象画像データを生成する。合成部136は、第1合成対象画像データと、第1入力画像データとを画像合成し、第1合成画像データを出力する。
【0092】
第2のサイクルでは、上記第1合成画像データが第2入力データとして入力される。余白データ生成部134は、ID=2で識別される、所定大きさ(Height2,Width2)の第2合成用画像が、開始画素位置(Top12,Left12。第1行目に対応する。)に配置された第2合成対象画像データを生成する。当該サイクルでは、合成部136は、第2合成対象画像データと、第2入力画像データとを画像合成し、第2合成画像データを出力する。第3および第4のサイクルのついても同様であり、最終的に、上方から第2、第1、第4および第3の順に合成用画像が配列されて第1入力画像データの入力画像に合成された最終合成画像データが得られる。
【0093】
上述した第5の実施形態によれば、必要最小限のメモリ消費で、上記のように複数の合成用画像を任意に組み合わせて1面に配列した状態で画像合成を実現することができる。
【0094】
以上説明した実施形態によれば、入力画像データと合成用画像データとの画像合成において、合成用画像のサイズに応じた適切な消費メモリ量を確保するだけで画像合成を可能とし、ひいては、消費メモリ量の削減および画像合成処理の高速化が図られた画像処理装置、および該画像処理装置を実現するためのプログラムを提供することができる。
【0095】
なお、画像合成を行う合成回路は、上述したようにASICとして実装することができ、他の実施形態では、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのプログラマブル・ロジック・デバイス(PLD)上に実装することができる。PLDとして実装する場合には、上記回路構成をPDL上に実現するためにPDLにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits) HDL)、(Verilog-HDL)により記述されたデータなどのプログラムを記録する記録媒体により配布することができる。また、上述した実施形態では、複合機が画像処理装置であるとしているが、他の実施形態による画像処理装置は、上記ASIC120単体として構成されてもよい。
【0096】
これまで本発明を、特定の実施形態および実施例をもって説明してきたが、本発明は、上述した実施形態または実施例に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0097】
10…複合機、12…ソフトウェア群、14…複合機起動部、16…ハードウェア資源群、18…アプリケーション層、20…プラットフォーム層、22…コントロール・サービス層、24…ハンドラ層、26…モノクロ・レーザプリンタ、28…カラー・レーザプリンタ、30…画像変換器、32…ハードウェア・リソース、34…プリンタ・アプリケーション、36…コピー・アプリケーション、38…ファックシミリ・アプリケーション、40…スキャナ・アプリケーション、42…NCS、44…DCS、46…OCS、48…FCS、50…ECS、52…MCS、54…UCS、56…SCS、58…SRM、60…FCUH、62…IMH、64…MEU、66…API、68…エンジンI/F、100…コントローラ、110…CPU、112…メモリ、114…HDD、116…ROM、118…NIC、120…ASIC、122…圧縮伸張器、124…編集器、126…回転器、128…入力器、130…出力器、132…合成回路、134…余白データ生成部、136…合成部、138…パラメータ設定部、140…繰り返し制御部、142…配列制御部、150…オペレーションパネル、152…FCU、160…エンジン部、162…ASIC、164…CCD、166…作像制御部、200…入力画像データ、210…合成用画像データ、220…合成画像データ
【先行技術文献】
【特許文献】
【0098】
【特許文献1】特開2001−253134号公報
【技術分野】
【0001】
本発明は、画像合成技術に関し、より詳細には、文字印字やスタンプ印字などの合成用画像データと入力画像データとを画像合成するための画像処理装置、および該画像処理装置を実現するためのプログラムに関する。
【背景技術】
【0002】
従来から、複合機などの画像処理装置において、スキャン画像やプリント画像などの入力画像に所定画像を合成する、画像合成機能が知られている。上記画像合成機能としては、例えば、日付け、頁番号、機密管理番号、「マル秘」などの文字印字や、丸秘などスタンプ印字を入力画像に合成して印刷出力する、スタンプ合成機能を挙げることができる。
【0003】
上記画像合成機能においては、入力画像および合成用画像の画像合成処理を行うため充分なメモリ容量を確保することを要す。一方、システムメモリやローカルメモリなど記憶装置の容量増加はコスト増大につながるため、画像合成処理を効率化して、消費メモリ量を削減したいという要望がある。
【0004】
しかしながら、従来の画像合成技術では、入力画像と合成用画像とで、同サイズのメモリ領域を準備し、アプリケーションにおける画像解像度に比例したメモリ量を確保しなければならなかった。このため、従来の画像合成技術では、画像解像度の高精細化などに伴い、合成用画像のサイズとは無関係に消費メモリ量が増大していた。
【0005】
上記消費メモリ量を削減する従来技術が幾つか知られており、特開2001−253134号公報(特許文献1)に開示される技術が知られている。特許文献1の技術は、空きメモリ量によってスタンプ印字画像データの数や大きさが制限され、もしくはメモリを増設する必要があり、コストアップが生じる場合が多かったという課題を解決する目的でなされたものである。特許文献1は、かかる目的を達成するべく、特定の画像データを圧縮状態で記憶手段に記憶し、この記憶手段に記憶されている特定の画像データを伸長して入力画像データに合成する技術を開示する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1に開示される従来技術によれば、消費メモリ容量を幾分削減することができる。しかしながら、特許文献1の従来技術は、メモリ上に展開した入力画像データと、メモリ上に展開した合成用画像データとをメモリ上で合成する技術である。このため、入力画像に合成画像が上書きされてしまうこと等により、入力画像データの再利用ができない場合が発生し、画像合成のたびに入力画像データを伸張してメモリに展開する必要があり、生産性の低下につながってしまうという点で不充分であった。上記入力画像データの再利用ができない場合としては、コピー部単位毎に異なるナンバリングを印字する機密管理ナンバリングを行うケースを挙げることができる。
【0007】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、入力画像データと合成用画像データとの画像合成において、合成用画像のサイズに応じた適切な消費メモリ量を確保するだけで画像合成を可能とし、ひいては、消費メモリ量の削減および画像合成処理の高速化が図られた画像処理装置、および該画像処理装置を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記課題を解決するために、以下の特徴を有する画像処理装置を提供する。本画像処理装置は、入力画像データを取得する手段と、該入力画像データと比較して小さな合成用画像データを取得する手段とを含む。本画像処理装置は、さらに、上記合成用画像データから、上記入力画像データの画像に相当する領域を有し、該合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段を含む。本画像処理装置は、さらに、取得される入力画像データと、生成される合成対象画像データとを用いて、該合成用画像データの画像が入力画像データの上記所定領域に相当する領域に合成された合成画像を生成する画像合成手段を含む。
【0009】
本発明によれば、さらに、上記手段各々として機能する回路構成を実現するためのデバイス実行可能なプログラムを提供することができる。
【発明の効果】
【0010】
上記構成によれば、合成用画像データと入力画像データとの画像合成を、合成用画像データについて必要最小限のメモリを確保するだけで実現可能となり、必要メモリ容量の削減および画像合成処理の高速化が図られる。
【図面の簡単な説明】
【0011】
【図1】本実施形態による複合機のハードウェアおよびソフトウェアの概略構成を説明する図。
【図2】本実施形態による複合機のハードウェア構成図とコピー動作時の画像データフローを示す図。
【図3】本実施形態による複合機のハードウェア構成のうちのASICの詳細な機能ブロック図。
【図4】第1の実施形態による合成回路の詳細な機能ブロック図。
【図5】第1の実施形態における画像合成処理を模式的に示す図。
【図6】第2の実施形態による合成回路の詳細な機能ブロック図。
【図7】第2の実施形態における画像合成処理を模式的に示す図。
【図8】第3の実施形態による合成回路の詳細な機能ブロック図。
【図9】第3の実施形態における画像合成処理を模式的に示す図。
【図10】第4の実施形態における画像合成処理を模式的に示す図。
【図11】第5の実施形態による合成回路の詳細な機能ブロック図。
【図12】第5の実施形態における画像合成処理を模式的に示す図。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、画像合成を実行する画像処理装置の一例として、コピー、スキャナ、プリンタおよびファクシミリなど画像に関する複数機能を備えた複合機について説明する。
【0013】
図1は、本実施形態による複合機のハードウェアおよびソフトウェアの概略構成を説明する図である。図1に示す複合機10は、複数のソフトウェア・コンポーネントからなるソフトウェア群12と、複合機起動部14と、複数のハードウェア・コンポーネントからなるハードウェア資源群16とを含んで構成される。
【0014】
複合機起動部14は、複合機10の電源投入時に最初に実行され、アプリケーション層18およびプラットフォーム層20を起動する。複合機起動部14は、例えば、アプリケーション層18およびプラットフォーム層20の各ソフトウェア・コンポーネントに対応するプログラムを、ハードディスク装置(以下、HDDという。)などの外部記憶装置から読み出し、読み出した各プログラムをメモリ領域に転送して、当該複合機10を起動させる。
【0015】
ハードウェア資源群16は、図1に示す実施形態では、モノクロ・レーザプリンタ(B&W LP)26と、カラー・レーザプリンタ(Color LP)28と、画像変換器30と、その他スキャナやファクシミリなどのハードウェア・リソース32とを含む。
【0016】
ソフトウェア群12は、アプリケーション層18と、プラットフォーム層20とを含んで構成される。アプリケーション層18およびプラットフォーム層20は、UNIX(登録商標)、Windows(登録商標)などの適切なオペレーティング・システム(以下、OSという。)上で動作する。
【0017】
アプリケーション層18は、プリンタ、コピー、ファックシミリおよびスキャナなどの画像処理に関するユーザ・サービスにそれぞれ固有の処理を実行する各種ソフトウェア・コンポーネントを含む。アプリケーション層18には、図1に示す実施形態では、プリンタ・アプリケーション34と、コピー・アプリケーション36と、ファックシミリ・アプリケーション38と、スキャナ・アプリケーション40とが含まれる。
【0018】
プラットフォーム層20は、アプリケーション層18からの処理要求を解釈して、ハードウェア資源の獲得要求を発生するコントロール・サービス層22と、システム・リソース・マネージャ(以下、SRMという。)58と、ハンドラ層24とを含む。SRM58は、ハードウェア資源群16の1以上のハードウェアの管理を行い、コントロール・サービス層22からの獲得要求を調停する。ハンドラ層24は、SRM58からの獲得要求に応答してハードウェア資源群16の管理を行う。
【0019】
コントロール・サービス層22は、図1に示す実施形態では、ネットワーク・コントロール・サービス(以下、NCSという。)42と、デリバリ・コントロール・サービス(以下、DCSという)44と、オペレーションパネル・コントロール・サービス(以下、OCSという。)46と、ファックシミリ・コントロール・サービス(以下、FCSという。)48と、エンジン・コントロール・サービス(以下、ECSという。)50と、メモリ・コントロール・サービス(以下、MCSという。)52と、ユーザインフォメーション・コントロール・サービス(以下、UCSという。)54と、システム・コントロール・サービス(以下、SCSという。)56とを含み、1以上のサービス・モジュールを含んで構成される。
【0020】
プラットフォーム層20は、予め定義された関数により、アプリケーション層18からの処理要求を受信可能とするAPI(Application Programming Interface)66を有する。OSは、アプリケーション層18およびプラットフォーム層20の各ソフトウェア・コンポーネントをプロセスとして並列実行する。
【0021】
NCS42のプロセスは、ネットワーク入出力を必要とするアプリケーションに対し、共通に利用可能なサービスを提供する。NCS42のプロセスは、より具体的には、各種プロトコルに従って、ネットワーク側から受信したデータを各アプリケーションに振り分け、また各アプリケーションからのデータをネットワーク側へ送信する際の仲介処理を実行する。NCS42は、例えば、ネットワークを介して接続されるネットワーク機器とのデータ通信を、httpd(HyperText Transfer Protocol Daemon)により、HTTP(HyperText Transfer Protocol)に従って制御することができる。
【0022】
DCS44のプロセスは、蓄積文書の配信の制御を行う。OCS46のプロセスは、当該複合機10のオペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。FCS48のプロセスは、アプリケーション層18からPSTN(Public Switched Telephone Networks)網またはISDN(Integrated Services Digital Network)網を介したファクシミリ送受信、バックアップ用のメモリで管理されている各種ファクシミリ・スデータの登録や引用、ファクシミリ読み取り、ファクシミリ受信印刷などを行うためのAPIを提供する。
【0023】
ECS50のプロセスは、モノクロ・レーザプリンタ26、カラー・レーザプリンタ28、ハードウェア・リソース32などを含むエンジン部(図1には示さず。)の制御を行う。MCS52のプロセスは、メモリの取得および開放、HDDの利用などのメモリ制御を行う。UCS54は、ユーザ情報の管理を行う。SCS56のプロセスは、アプリケーション管理、操作部制御、システム画面表示、LED表示、ハードウェア資源管理、割り込みアプリケーション制御などを行う。
【0024】
SRM58のプロセスは、SCS56とともに本複合機のシステム制御およびハードウェア資源群16の管理を行う。SRM58のプロセスは、例えば、モノクロ・レーザプリンタ26およびカラー・レーザプリンタ28などのハードウェア資源群16を利用する上位層からの獲得要求に従って調停を行い、実行制御を行う。
【0025】
SRM58のプロセスは、より具体的には、獲得要求されたハードウェア資源群16の資源が利用可能であるか、すなわち他の獲得要求により利用されていないかどうかを判定する。SRM58のプロセスは、利用可能であれば、獲得要求された該資源が利用可能である旨を上位層に通知する。また、SRM58のプロセスは上位層からの獲得要求に対して、ハードウェア資源群16の各資源を利用するためのスケジューリングを行い、要求内容を直接実施する。上記要求内容には、例えば、プリンタ・エンジンによる紙搬送や作像動作、メモリ確保およびファイル生成などを挙げることができる。
【0026】
ハンドラ層24は、ファックス・コントロール・ユニット・ハンドラ(以下、FCUHという。)60と、イメージ・メモリ・ハンドラ(以下、IMHという。)62と、メディア・エディット・ユーティリティ(以下、MEUという。)64とを含む。FCUH60は、上記ハードウェア・リソース32に含まれるファクシミリ・コントロール・ユニット(以下、FCUという。後述する。)の管理を行う。IMH62は、プロセスに対するメモリの割り振りおよびプロセスに割り振ったメモリの管理を行う。MEU64は、画像変換器30を制御する。SRM58およびFCUH60は、予め定義された関数によりハードウェア資源群16に対する処理要求を送信可能とするエンジンI/F68を利用して、ハードウェア資源群16の各資源に対する処理要求を行う。
【0027】
複合機10は、各アプリケーション34〜40で共通的に必要な処理をプラットフォーム層20で一元的に処理することができる。
【0028】
図2は、本実施形態による複合機のハードウェア構成図とコピー動作時の画像データフローを示す図である。図2に示す複合機10は、コントローラ100と、オペレーションパネル150と、FCU152と、画像変換器30と、スキャナ・エンジンおよびプロッタ・エンジンが含まれるエンジン部160とを含み構成される。
【0029】
コントローラ100は、CPU110と、システムメモリ(MEM−P)やローカルメモリ(MEM−C)からなるメモリ112と、ASIC(Application Specific Integrated Circuit)120と、ハードディスク装置(HDD)114と、ROM(Read Only Memory)116と、NIC(Network Interface Card)118を含む。
【0030】
オペレーションパネル150は、コントローラ100のASIC120に接続されている。画像変換器30、FCU152、エンジン部160その他図示しないUSBデバイス、IEEE1394デバイスは、コントローラ100のASIC120にPCIバス接続されている。ASIC120には、メモリ112およびHDD114が接続されるとともに、CPUチップセットのノース・ブリッジを介してCPU110が接続されている。
【0031】
CPU110は、複合機10の全体制御を行う。ROM116は、各種制御プログラムを格納する。NIC118は、複合機10を外部のネットワークと接続する。メモリ112は、複合機10の作業メモリ、描画用メモリ、コピー用画像バッファ、符号バッファとして用いられる。
【0032】
CPU110は、ROM116やHDD114などから各種制御プログラムを読み出し、メモリ112に展開する。これにより、CPU110は、図1に示したNCS42、DCS44、OCS46、FCS48、ECS50、MCS52、UCS54、SCS56、SRM58、FCUH60、IMH62およびMEU64をOS上にそれぞれプロセスとして起動して実行する。CPU110は、さらに、アプリケーション層18のプリンタ・アプリケーション34、コピー・アプリケーション36、ファクシミリ・アプリケーション38およびスキャナ・アプリケーション40を起動して実行する。
【0033】
画像の読み取りは、コピー・アプリケーション36、ファクシミリ・アプリケーション38およびスキャナ・アプリケーション40において要求が発生し、プラットフォーム層20を通じて行われる。プリンタ・アプリケーション34は、NCS42を経由して、NIC118を介して接続された外部端末からの印刷データを受信し、プラットフォーム層20を通じて、ハードウェア資源を使用して、メモリ112やHDD114に書き込む。
【0034】
エンジン部160は、ASIC162と、画像読み取りを行うためのCCD164と、画像形成を行うための作像制御部166とを含む。コントローラ100が備えるASIC120には、エンジン部160のCCD164で読み取られて生成された画像データ、HDD114やメモリ112から読み取った画像データ、NIC118を介して接続される外部端末から受信した画像データが入力される。以下、これらASIC120に入力される画像データを総称して入力画像データという。ASIC120は、上記入力画像データに対して、各種画像処理を施すとともに、本実施形態による画像合成処理を実行することができる。
【0035】
HDD114は、ASIC120が実行する画像合成処理において、入力画像データに合成させるため画像データを格納することができ、該画像データがASIC120によって読み出される。以下、入力画像データに画像合成される画像データを合成用画像データとして参照する。このような合成用画像データとしては、日付、頁番号、機密管理番号、「マル秘」などの文字印字、丸秘などスタンプ印字などの画像データを挙げることができる。なお、日付、頁番号、機密管理番号などの文字印字については、予めHDD114などに画像データとして格納されていることは必ずしも要せず、適宜、フォントデータなどから生成されてもよい。
【0036】
以下、図3、図5を参照して、上述したASIC120による画像合成処理を含む処理動作について説明する。なお、以下の説明では、処理動作の一例として、コピー動作を例に説明するが、プリント動作、ファクシミリ送信動作、ファクシミリ受信動作、スキャナ動作など種々の画像処理動作に対して適用することができる。
【0037】
コピー動作においては、複合機10のオペレータが、オペレーションパネル150を操作して、コピー動作開始を指示したことに応答して、以下に示す処理フローが実行される。
【0038】
まず、第1のステップとして、コピー対象の原稿が、CCD164により画像読み取りされて、デジタル・データに変換される。変換されたデジタル・データ(以下、入力画像データという。)が、エンジン部160のASIC162およびコントローラ100のASIC120を経由して、一旦メモリ112に保存される。
【0039】
第2のステップとして、例えばHDD114に保存されている文字印字やスタンプ印字のための合成用画像データが、HDD114等から読み出されてメモリ112に保存される。
【0040】
第3のステップとして、CPU110の制御の下、メモリ112に蓄積された入力画像データと合成用画像データとが、ASIC120に入力され、画像合成処理が施される。画像合成処理により生成された合成後の画像データ(以下、合成画像データと参照する。)が、作像制御部116に転送されて、その合成画像が転写材上に転写される。
【0041】
図3は、本実施形態による複合機のハードウェア構成のうち、ASIC120の詳細な機能ブロックを表す図である。本実施形態におけるASIC120は、画像データの圧縮および伸張を実行する圧縮伸張器122と、画像データの編集を行う編集器124と、回転器126と、入力器128と、出力器130とを含む。回転器126は、画像データに画像回転を施すブロックである。入力器128は、エンジン部160のCCD164で読み取られた入力画像データをメモリ112へ入力するブロックである。出力器130は、画像データのエンジン部160への出力を行うブロックである。
【0042】
本実施形態によるASIC120は、さらに、図3に示すように、合成回路132を備えており、合成回路132は、入力画像データと合成用画像データとを画像合成する画像合成処理を実行する。なお、合成回路132は、編集器124および出力器130により利用されて、画像データの画像編集処理または画像データのエンジン部160への出力の前処理として、画像合成を実行することができる。
【0043】
本実施形態においては、合成用画像データのサイズにかかわらず、入力画像データに必要なメモリ量と同サイズのメモリ領域を合成用画像データのために確保するというメモリ合成手法は採用しない。代わりに、合成用画像データに応じた適切なメモリ量を確保し、ASIC120の合成回路132において画像合成を行う手法を採用する。以下、本実施形態によるASICで実行される画像合成処理について、図4および図5を参照しながら、より詳細に説明する。
【0044】
図4は、本実施形態による合成回路132の詳細な機能ブロック図である。図4に示すように、合成回路132は、余白データ生成部134と、合成部136と、パラメータ設定部138とを含んで構成される。
【0045】
合成回路132には、入力画像データ200と、入力画像データ200に合成させる合成用画像データ210とが入力される。本実施形態においては、合成用画像データ210は、入力画像データ200と同一サイズのものに限定されず、入力画像データ200に比較して小さなサイズを有するものを直接用いることができる。合成回路132は、本実施形態において、入力画像データを取得する手段および合成用画像データを取得する手段を構成する。
【0046】
入力画像データ200および合成用画像データ210は、各色nビット(例えば8ビット)のRGBデータと、適宜判別用の分離データ(XA_IN、XB_IN)とから構成される。RGBデータは、図4では、入力画像データ200については、RA_IN、GA_IN、BA_INで表され、合成用画像データ210については、RB_IN、GB_IN、BB_INで表されている。上記分離データ(XA_IN、XB_IN)は、画像データの色、文字、写真の種別などを示すデータとして用いられるデータである。
【0047】
パラメータ設定部138は、入力画像データの画像(以下、入力画像という。)中の、合成用画像データの画像(以下、合成用画像という。)が合成される領域(以下、合成領域という。)の位置、該合成領域(合成画像)の大きさ、合成方法などのパラメータを、後述する余白データ生成部134および合成部136に設定する。上記パラメータとしては、例えば、入力画像における合成用画像を合成する合成領域の主走査および副走査の開始画素位置、合成用画像(合成領域)の主走査および副走査の画素数、並びに合成用画像の合成方法を規定する指定値を挙げることができる。
【0048】
上記合成方法としては、上書き合成および透かし合成が挙げられる。上書き合成とは、入力画像中の上記合成領域を合成用画像で上書きする合成方法である。透かし合成とは、入力画像と合成用画像の画素値の大きい方を選択する合成方法であり、より具体的には、写真の上に文字を合成しても写真上に文字が透けて見えるような合成処理である。
【0049】
余白データ生成部134は、合成回路132に入力された合成用画像データ(RB_IN、GB_IN、BB_IN、XB_IN)から、上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)を生成する。余白データ生成部134は、より具体的には、上記パラメータ設定部138からのパラメータ設定を受けて、上記合成対象画像データに対し、入力画像データ中の合成領域に相当する領域以外の領域を埋める余白データを生成し、該余白データで合成用画像データ210を補完する。これにより、上記合成用画像データ210の画像が上記合成領域に相当する領域に配置され、かつ上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データが生成される。
【0050】
上記余白データによる合成用画像データ210の補完は、ASIC120が備える余白追加機能により実現することができる。また、補完される余白部分は、後続する画像合成において、入力画像データの画素値が優先して選択される部分である。余白は、白、黒または透過を意味する色値としてデータが構成される。
【0051】
合成部136には、合成回路132に入力された入力画像データ(RA_IN、GA_IN、BA_IN、XA_IN)と、上記余白データ生成部134が出力する合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)が入力される。合成部136は、これら画像データを用いて、上記合成用画像が入力画像中の上記合成領域に合成された合成画像を生成する。合成部136は、より具体的には、上記合成対象画像データと入力画像データとのRGBデータおよび分離データの合成処理を行って、合成画像データ(R_OUT、G_OUT、B_OUT、X_OUT)を出力する。
【0052】
以下、図5を参照しながら、本実施形態による画像合成処理について、より詳細に説明する。図5は、本実施形態における画像合成処理を模式的に示す図である。図5に示すように、例えばCPU110の制御の下、入力画像データ200および合成用画像データ210が、合成回路132に入力される。このとき、入力画像のサイズを規定する設定情報、入力画像中の合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))が、例えばCPU110により与えられる。合成回路132においてパラメータ設定部138は、与えられた設定情報に従い、余白データ生成部134に対し、合成領域の主走査方向の開始画素位置(Left)、副走査方向の開始画素位置(Top)、合成用画像の主走査方向の画素数(Width)および副走査方向の画素数(Height)などのパラメータを設定する。また、パラメータ設定部138は、与えられた設定情報に従って、合成方法を合成部136に設定する。
【0053】
余白データ生成部134は、副走査方向の第1のラインから開始画素位置(Top)前まで、各ラインが空白値で埋められた余白データを生成する。余白データ生成部134は、副走査方向の開始画素位置(Top)以降−終了画素位置(Top+Height)以前の区間については、合成用画像データの各ラインが画素列として含まれるデータを生成する。より具体的には、余白データ生成部134は、主走査方向の開始画素位置(Left)−終了画素位置(Left+Width)の領域に合成用画像データの画素列を含み、それ以外の領域が空白値で埋められたデータを生成する。主走査方向の第1の画素から開始画素位置(Left)前までの領域および終了画素位置(Left+Width)後から終端位置までの領域は、余白値で埋められる。余白データ生成部134は、副走査方向の終了画素位置(Top+Height)を加算した画素位置)後から最終のラインまで、各ラインが空白値で埋められた余白データを生成する。
【0054】
合成部136は、パラメータとして設定された合成方法にて、入力画像データ(RA_IN、GA_IN、BA_IN、XA_IN)と、合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)とを合成処理する。この際に、上記空白値については、入力画像データ200中の画素値が選択され、合成領域については、上記設定された合成方法にて合成用画像が合成される。
【0055】
上述までの第1の実施形態によれば、入力画像データと合成用画像データとが、ASIC120内の合成回路にて余白作成機能を用いて画像合成が実現される。このとき、合成用画像データは、入力画像データと同じサイズを有している必要はなく、入力画像と比較して小さなサイズを有する合成用画像データをそのまま使用することができる。このため、メモリ112上には、合成用画像データについては、そのサイズに応じたメモリ容量だけが確保される。したがって、上記実施形態によれば、サイズの異なる画像間の画像合成が最小限のメモリ消費で実現され、その際の読み出し負荷も軽減され、画像合成処理を高速化することができる。
【0056】
なお、上述までの実施形態は、合成用画像をそのまま入力画像に合成するものとして説明してきた。しかしながら、他の実施形態では、同様の仕組みを用いることにより、合成用画像をタイル状に並べて入力画像に合成することもできる。以下、図6および図7を参照しながら、第2の実施形態による画像合成処理について説明する。なお、以下に説明する第2の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。第2の実施形態の複合機10は、より具体的には、図1および図2に示したものと同様のソフトウェア構成およびハードウェア構成を備え、第2の実施形態のASIC120は、図3に示すものと同様の構成を備える。
【0057】
図6は、第2の実施形態による合成回路132の詳細な機能ブロック図である。図6に示す第2の実施形態による合成回路132は、図4に示したものと同様に、余白データ生成部134と、合成部136と、パラメータ設定部138とを含んで構成される。図6に示す実施形態では、複合機10は、さらに、繰り返し制御部140を備える。合成部136には、合成回路132に入力された第1入力画像データが入力されるが、第2の実施形態においては、上記繰り返し制御部140の制御の下、さらに、合成部136が一旦出力した合成画像データ220が入力画像データ200に代えて入力される。
【0058】
繰り返し制御部140は、合成画像データを第2の入力画像データとして、合成領域の位置を変更させながら、画像合成を繰り返し行わせる制御を行う。上記制御においては、繰り返し制御部140は、上記余白データ生成部134により第2合成対象画像データを生成させ、合成部136により上記第2入力画像データ(第1合成画像データ)と第2合成対象画像データとを合成させる。繰り返し制御部140は、CPU110による処理またはASIC120内の回路機能として構成することができる。
【0059】
余白データ生成部134は、繰り返し制御部140の制御の下、合成回路132に入力された合成用画像データから、上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データを生成する処理を繰り返す。パラメータ設定部138は、繰り返し制御部140の制御の下、余白データ生成部134に対し、与えられた設定情報から合成領域の位置、該合成領域(合成画像)の大きさなどのパラメータを繰り返し設定する。
【0060】
第2の実施形態による合成部136は、上記繰り返し制御部140の制御の下、合成用画像の画像合成を繰り返すことにより、合成用画像をタイル状に並べて入力画像に合成することができる。合成部136は、より詳細には、上記合成用画像が入力画像中の所定の合成領域に合成された合成画像を生成し、さらに、上記合成用画像が別の合成領域に合成された合成画像をさらに生成し、これを所定回数繰り返す。
【0061】
以下、図7を参照しながら、第2の実施形態による画像合成処理について、より詳細に説明する。図7は、第2の実施形態における画像合成処理を模式的に示す図である。図7に示すように、第2の実施形態においては、おおもとの第1入力画像データ200と、合成用画像データ210とが合成回路132に入力される。
【0062】
このとき、合成用画像のサイズを規定する設定情報(Width,Height)、繰り返し条件を規定する設定情報(Left,Top,Main_Interval,Sub_Interval,Main_Rep,Sub_Rep)が、例えばCPU110から繰り返し制御部140に与えられる。Main_IntervalおよびSub_Intervalは、それぞれ、主走査および副走査における繰り返し画素間隔を指定する値である。Main_RepおよびSub_Repは、それぞれ、主走査および副走査における繰り返し回数を指定する値である。なお、図示の例では、副査方向に可能な限り繰り返すことを意味する設定値「Sub_Rep=full」が設定されており、主走査方向に繰り返し制御を行わないことを意味する設定値「Main_Rep=false」が設定されている。
【0063】
繰り返し制御部140は、各繰り返しサイクルにおいて、入力画像中の合成用画像が合成される合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))を生成し、パラメータ設定部138に与える。合成回路132においてパラメータ設定部138は、繰り返すサイクル毎に、上記与えられた設定情報に従って、余白データ生成部134に、合成領域の主走査の開始画素位置(Left)、副走査の開始画素位置(Top)、合成用画像の主走査の画素数(Width)および副走査の画素数(Height)のパラメータを設定する。
【0064】
第1のサイクルでは、余白データ生成部134は、所定大きさ(Height,Width)の合成用画像が開始画素位置(Top1,Left1)に配置された第1合成対象画像データを生成し、合成部136は、第1合成対象画像データと、第1入力画像データとを画像合成する。生成された第1合成画像データは、メモリを経由して、第2入力画像データとして合成回路132に入力される。第1のサイクルでは、第1合成画像データを格納するためのメモリ領域が別途確保される。
【0065】
第2のサイクルでは、余白データ生成部134は、上記と同様に、所定大きさ(Height,Width)の合成用画像が開始画素位置(Top2,Left2)に配置された第2合成対象画像データを生成し、合成部136は、第2合成対象画像データと、第2入力画像データとを画像合成する。第2のサイクルで生成された第2合成画像データは、メモリを経由して、第3入力画像データとして合成回路132に入力される。なお、第1のサイクルでは第1合成画像データを格納するためのメモリ領域が別途確保されたが、第2のサイクルを含む以降のサイクルでは、第1のサイクルで確保したメモリ領域が使用される。第3および第4のサイクルについても同様であり、最終的に、合成用画像が4行で配列して入力画像に合成された最終合成画像データが得られる。
【0066】
機密管理ナンバリングのような機能においては、部数管理を行うための番号を1面に配列させることがある。上述した第2の実施形態によれば、必要最小限のメモリ消費で、合成用画像がタイル状に1面に配列された状態で画像合成を実現することができる。
【0067】
なお、上述までの実施形態は、ひとつの合成用画像を入力画像に合成するものとして説明してきた。しかしながら、他の実施形態では、合成用画像が複数ある場合について拡張することができる。以下、図8および図9を参照しながら、第3の実施形態による画像合成処理について説明する。なお、以下に説明する第3の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。
【0068】
図8は、第3の実施形態による合成回路132の詳細な機能ブロック図である。図8に示す合成回路132は、第1の実施形態と同様に、余白データ生成部134と、合成部136と、パラメータ設定部138とを含む。第3の実施形態においては、合成回路132には、入力画像データ200と、複数の合成用画像データ210とが入力される。図8に示す例では、2つの合成用画像210a,210bが入力されている。合成用画像データ210a,210bは、それぞれ、入力画像データ200に比較して小さなサイズを有するものを直接用いることができる。
【0069】
パラメータ設定部138は、各合成用画像毎に、入力画像中の合成領域の位置、該合成領域(合成画像)の大きさ、合成方法などのパラメータを余白データ生成部134および合成部136に設定する。
【0070】
余白データ生成部134は、合成回路132に入力された各合成用画像データ(RBn_IN,GB_IN,BBn_IN,XBn_IN:ここでnは、Nを合成用画像の数として、1‥Nの自然数である。)から、上記入力画像に相当する領域サイズを有する合成対象画像データ(RC_IN、GC_IN、BC_IN、XC_IN)を生成する。余白データ生成部134は、より具体的には、上記パラメータ設定部138からのパラメータ設定を受けて、入力画像中の複数の合成領域に相当する領域以外の領域を埋める余白データを生成し、該余白データで複数の合成用画像データ210a,210bを補完する。これにより、各合成用画像が対応する各合成領域に相当する領域に配置され、かつ上記入力画像データ200の画像に相当する領域サイズを有する1つの合成対象画像データが生成される。
【0071】
合成部136には、合成回路132に入力された入力画像データ(RA_IN,GA_IN,BA_IN,XA_IN)と、上記余白データ生成部134が出力する合成対象画像データ(RC_IN,GC_IN,BC_IN,XC_IN)とが入力される。合成部136は、上記合成用画像各々が入力画像データ中の上記合成領域各々に合成された合成画像を生成し、合成画像データ(R_OUT、G_OUT、B_OUT、X_OUT)として出力する。
【0072】
以下、図9を参照しながら、本実施形態による画像合成処理について、より詳細に説明する。図9は、第3の実施形態における画像合成処理を模式的に示す図である。図9に示すように、入力画像データ200および複数の合成用画像データ210が合成回路132に入力される。このとき、入力画像中の各合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))が、例えばCPU110により与えられる。
【0073】
合成回路132においてパラメータ設定部138は、与えられた設定情報に従って、余白データ生成部134に、各合成領域について、主走査の開始画素位置(Left1,Left2)、副走査の開始画素位置(Top1,Top2)、合成用画像の主走査の画素数(Width1,Width2)および副走査の画素数(Height1,Height2)のパラメータを設定する。
【0074】
余白データ生成部134は、各合成用画像の副走査方向の開始画素位置(Top)以降−終了画素位置(Top+Height)以前の区間いずれにも該当しない区間については、各ラインが空白値で埋められた余白データを生成する。余白データ生成部134は、各合成用画像の副走査方向の開始画素位置(Top)以降−終了画素位置(Top+Height)以前の区間に該当する区間については、合成用画像データの各ラインが画素列として含まれるデータを生成する。ここで、複数の合成用画像が重なる領域が存在する場合は、デフォルトとしてまたは予め定められた優先すべき側の合成用画像データの画素値を優先して上書き合成し、あるいは透かし合成を行う。そして、合成部136は、パラメータとして設定された合成方法にて、上記生成された合成対象画像データと、入力画像データとを合成処理する。
【0075】
上述までの実施形態によれば、複数の合成用画像データが、ASIC120内の合成回路にて、余白作成機能を用いて入力画像データに画像合成される。このとき、複数の合成用画像データは、それぞれ入力画像データと同じサイズを有する必要はなく、それぞれ小さなサイズを有する合成用画像データをそのまま使用することができる。したがって、上記第3の実施形態によれば、サイズの異なる3以上の画像間の画像合成を、最小限のメモリ消費で実現することができる。
【0076】
また、他の実施形態では、さらに、第2の実施形態および第3の実施形態を組み合わせて、図10に示す第4の実施形態による画像合成処理を実現することもできる。以下に説明する第4の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。
【0077】
図10は、第4の実施形態における画像合成処理を模式的に示す図である。図10に示すように、第1入力画像データと、複数の合成用画像データとが合成回路132に入力される。なお、図10に示す例では、2つの合成用画像が入力されている。各合成用画像データは、第1入力画像データに比較して小さなサイズを有するものを直接用いることができる。
【0078】
このとき、各合成用画像のサイズを規定する設定情報(Width1,Height1,Width2,Height2)、繰り返し条件を規定する設定情報(Left1,Top1,Left2,Top2,Main_Interval,Sub_Interval,Main_Rep,Sub_Rep)が、例えばCPU110から繰り返し制御部140に与えられる。Main_IntervalおよびSub_Interval、並びにMain_RepおよびSub_Repは、説明する実施形態では、合成画像に共通して与えられている。
【0079】
第4実施形態による繰り返し制御部140は、第3の実施形態と同様に、各繰り返しサイクルにおいて、複数の合成用画像各々について、合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))をパラメータ設定部138に与える。パラメータ設定部138は、繰り返すサイクル毎に、上記与えられた設定情報に従って、余白データ生成部134に、各合成領域について、主走査の開始画素位置(Left1m,Left2m)、副走査の開始画素位置(Top1m,Top2m)、合成用画像の主走査の画素数(Width1,Width2)および副走査の画素数(Height1,Height2)のパラメータを設定する。ここでmは、Mを繰り返し数として、1‥Mの自然数である。
【0080】
第1のサイクルでは、余白データ生成部134は、所定大きさ(Height1,Width1)の第1合成用画像が開始画素位置(Top11,Left11)に配置され、所定大きさ(Height2,Width2)の第2合成用画像が開始画素位置(Top21,Left21)に配置された第1合成対象画像データを生成する。合成部136は、第1合成対象画像データと、第1入力画像データとを画像合成し、第1合成画像データを出力する。
【0081】
第2のサイクルでは、上記第1合成画像データが第2入力データとして入力される。余白データ生成部134は、所定大きさ(Height1,Width1)の第1合成用画像が開始画素位置(Top12,Left12)に配置され、所定大きさ(Height2,Width2)の第2合成用画像が開始画素位置(Top22,Left22)に配置された第2合成対象画像データを生成する。合成部136は、第2合成対象画像データと、第1入力画像データとを画像合成し、第3入力画像データとして合成回路132に入力される。第3および第4のサイクルのついても同様であり、最終的に、複数の合成用画像が各4行に配列して入力画像に合成された最終合成画像データが得られる。
【0082】
上述した第4の実施形態によれば、機密管理ナンバリングのような機能において、必要最小限のメモリ消費で、上記のように複数の合成用画像がタイル状に1面に配列された状態で画像合成を実現することができる。
【0083】
さらに、他の実施形態では、図11および図12に示すような第5の実施形態を実現することもできる。以下に説明する第5の実施形態は、第1の実施形態と同様の構成を備えているため、以下、相違点を中心に説明する。図11は、第5の実施形態による合成回路132の詳細な機能ブロック図である。図11に示す第5の実施形態による合成回路132は、図4に示したものと同様に、余白データ生成部134と、合成部136と、パラメータ設定部138とを含む。第5の実施形態においては、合成回路132には、入力画像データ200と、複数の合成用画像データ210−1〜210−nとが入力される。
【0084】
図11に示す実施形態では、複合機10は、さらに、配列制御部142を備える。合成部136には、合成回路132に入力された第1入力画像データが入力されるが、第5の実施形態においては、上記配列制御部142の制御の下、合成部136が一旦出力した合成画像データが、さらに入力画像データに代えて入力される。
【0085】
配列制御部142は、与えられた複数の合成用画像の配列設定に従って、上記複数の合成用画像データの合成用画像各々を配置する合成領域を決定し、入力する合成用画像データを制御し、該合成用画像データの合成位置を制御する。上記配列設定は、合成用画像の並べ方を規定するものであり、例えば、合成用画像データを識別する識別値の1次元または2次元配列として構成することができる。例えば、4つの合成用画像を4行1列に配列させる場合は、(1,2,3,4)のように構成することができる。
【0086】
余白データ生成部134は、第1の実施形態と同様に、合成回路132に入力された合成用画像データから、上記入力画像データ200の画像に相当する領域サイズを有する合成対象画像データを生成することを繰り返す。パラメータ設定部138は、余白データ生成部134に対し、与えられた設定情報から合成領域の位置、該合成領域(合成画像)の大きさなどのパラメータを繰り返し設定する。
【0087】
第5の実施形態による合成部136は、上記配列制御部142の制御の下、複数の合成用画像の画像合成を繰り返すことにより、入力される複数の合成用画像を配列設定に従ってタイル状に並べて入力画像データに合成することができる。合成部136は、より詳細には、一の合成用画像が入力画像中の一の合成領域に合成された合成画像を生成し、さらに、他の合成用画像が他の合成領域に合成された合成画像をさらに生成し、これを所定回数繰り返す。
【0088】
以下、図12を参照しながら、第5の実施形態による画像合成処理について、より詳細に説明する。図12は、第5の実施形態における画像合成処理を模式的に示す図である。図12に示すように、第1入力画像データと、複数の合成用画像データとのいずれかが合成回路132に入力される。なお、図12に示す例では、4つの合成用画像が順次入力されている。
【0089】
このとき、各合成用画像のサイズを規定する設定情報(Width,Height)、繰り返し条件を規定する設定情報(Left,Top,Main_Interval,Sub_Interval,Main_Rep,Sub_Rep)および配列設定(Arrangement)が、例えばCPU110から配列制御部142に与えられる。Arrangementは、図に示す例では、ID=2の合成用画像、ID=1の合成用画像、ID=4の合成用画像、ID=3の合成用画像が順に4行1列で並べられることを規定している。Main_Interval、Sub_Interval、Main_RepおよびSub_Repについては、第2の実施形態と同様であるため、詳細な説明は割愛する。
【0090】
配列制御部142は、各繰り返しサイクルにおいて、合成用画像データを合成回路に入力し、合成用画像を識別する識別値(ID)、入力画像中の合成用画像が合成される合成領域を規定する設定情報(Left(L),Top(T),Width(W),Height(H))をパラメータ設定部138に与える。合成回路132においてパラメータ設定部138は、繰り返すサイクル毎に、上記与えられた設定情報に従って、余白データ生成部134に、合成領域の主走査の開始画素位置(Left)、副走査の開始画素位置(Top)、合成用画像の主走査の画素数(Width)および副走査の画素数(Height)のパラメータを設定する。画像合成は、説明する実施形態では、最も若いIDの合成用画像データから行うこととするが、特に限定されるものではなく、他の実施形態では、配置される順序に応じて行うこともできる。
【0091】
第1のサイクルでは、余白データ生成部134は、ID=1で識別される、所定大きさ(Height1,Width1)の第1合成用画像が、開始画素位置(Top11,Left11。第2行目に対応する。)に配置された第1合成対象画像データを生成する。合成部136は、第1合成対象画像データと、第1入力画像データとを画像合成し、第1合成画像データを出力する。
【0092】
第2のサイクルでは、上記第1合成画像データが第2入力データとして入力される。余白データ生成部134は、ID=2で識別される、所定大きさ(Height2,Width2)の第2合成用画像が、開始画素位置(Top12,Left12。第1行目に対応する。)に配置された第2合成対象画像データを生成する。当該サイクルでは、合成部136は、第2合成対象画像データと、第2入力画像データとを画像合成し、第2合成画像データを出力する。第3および第4のサイクルのついても同様であり、最終的に、上方から第2、第1、第4および第3の順に合成用画像が配列されて第1入力画像データの入力画像に合成された最終合成画像データが得られる。
【0093】
上述した第5の実施形態によれば、必要最小限のメモリ消費で、上記のように複数の合成用画像を任意に組み合わせて1面に配列した状態で画像合成を実現することができる。
【0094】
以上説明した実施形態によれば、入力画像データと合成用画像データとの画像合成において、合成用画像のサイズに応じた適切な消費メモリ量を確保するだけで画像合成を可能とし、ひいては、消費メモリ量の削減および画像合成処理の高速化が図られた画像処理装置、および該画像処理装置を実現するためのプログラムを提供することができる。
【0095】
なお、画像合成を行う合成回路は、上述したようにASICとして実装することができ、他の実施形態では、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのプログラマブル・ロジック・デバイス(PLD)上に実装することができる。PLDとして実装する場合には、上記回路構成をPDL上に実現するためにPDLにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits) HDL)、(Verilog-HDL)により記述されたデータなどのプログラムを記録する記録媒体により配布することができる。また、上述した実施形態では、複合機が画像処理装置であるとしているが、他の実施形態による画像処理装置は、上記ASIC120単体として構成されてもよい。
【0096】
これまで本発明を、特定の実施形態および実施例をもって説明してきたが、本発明は、上述した実施形態または実施例に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0097】
10…複合機、12…ソフトウェア群、14…複合機起動部、16…ハードウェア資源群、18…アプリケーション層、20…プラットフォーム層、22…コントロール・サービス層、24…ハンドラ層、26…モノクロ・レーザプリンタ、28…カラー・レーザプリンタ、30…画像変換器、32…ハードウェア・リソース、34…プリンタ・アプリケーション、36…コピー・アプリケーション、38…ファックシミリ・アプリケーション、40…スキャナ・アプリケーション、42…NCS、44…DCS、46…OCS、48…FCS、50…ECS、52…MCS、54…UCS、56…SCS、58…SRM、60…FCUH、62…IMH、64…MEU、66…API、68…エンジンI/F、100…コントローラ、110…CPU、112…メモリ、114…HDD、116…ROM、118…NIC、120…ASIC、122…圧縮伸張器、124…編集器、126…回転器、128…入力器、130…出力器、132…合成回路、134…余白データ生成部、136…合成部、138…パラメータ設定部、140…繰り返し制御部、142…配列制御部、150…オペレーションパネル、152…FCU、160…エンジン部、162…ASIC、164…CCD、166…作像制御部、200…入力画像データ、210…合成用画像データ、220…合成画像データ
【先行技術文献】
【特許文献】
【0098】
【特許文献1】特開2001−253134号公報
【特許請求の範囲】
【請求項1】
入力画像データを取得する手段と、
前記入力画像データと比較して小さな合成用画像データを取得する手段と、
前記合成用画像データから、前記入力画像データの画像に相当する領域を有し、前記合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段と、
取得される前記入力画像データと、生成される前記合成対象画像データとを用いて、前記合成用画像データの画像が前記入力画像データの前記所定領域に相当する領域に合成された合成画像を生成する画像合成手段と
を含む、画像処理装置。
【請求項2】
前記生成手段は、前記合成対象画像データ中の前記所定領域以外の領域を埋めるための余白データを生成し、該余白データで前記合成用画像データを補完することにより、前記合成対象画像データを生成する手段であることを特徴とする、請求項1に記載の画像処理装置。
【請求項3】
前記合成画像の画像データを第2の入力画像データとして、前記所定領域の位置を変更させながら、前記生成手段により第2の合成対象画像データを生成させ、前記画像合成手段により前記第2の入力画像データと前記第2の合成対象画像データとから第2の合成画像を生成させる制御を行う、繰り返し制御手段をさらに含む、請求項1または2に記載の画像処理装置。
【請求項4】
前記合成用画像データは、複数あり、対応する数の所定領域が設定されることを特徴とする、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記合成用画像データは、複数あり、前記画像処理装置は、さらに、
前記複数の合成用画像データの画像配列を規定する配列設定に従って、前記複数の合成用画像データの画像各々を配置する所定領域を決定し、前記複数の合成用画像データの合成配置を制御する配列制御手段を含む、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項6】
前記入力画像データを取得する手段、前記合成用画像データを取得する手段、前記生成手段および前記画像合成手段は、上記各手段の機能を備える回路として、特定用途向け集積回路またはプログラマブル・ロジック・デバイス上に構成されることを特徴とする、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項7】
入力画像データを取得する手段、
前記入力画像データと比較して小さな合成用画像データを取得する手段、
前記合成用画像データから、前記入力画像データの画像に相当する領域を有し、前記合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段、および
取得される前記入力画像データと、生成される前記合成対象画像データとを用いて、前記合成用画像データの画像が前記入力画像データの前記所定領域に相当する領域に合成された合成画像を生成する画像合成手段
として機能する回路構成を実現するためのデバイス実行可能なプログラム。
【請求項1】
入力画像データを取得する手段と、
前記入力画像データと比較して小さな合成用画像データを取得する手段と、
前記合成用画像データから、前記入力画像データの画像に相当する領域を有し、前記合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段と、
取得される前記入力画像データと、生成される前記合成対象画像データとを用いて、前記合成用画像データの画像が前記入力画像データの前記所定領域に相当する領域に合成された合成画像を生成する画像合成手段と
を含む、画像処理装置。
【請求項2】
前記生成手段は、前記合成対象画像データ中の前記所定領域以外の領域を埋めるための余白データを生成し、該余白データで前記合成用画像データを補完することにより、前記合成対象画像データを生成する手段であることを特徴とする、請求項1に記載の画像処理装置。
【請求項3】
前記合成画像の画像データを第2の入力画像データとして、前記所定領域の位置を変更させながら、前記生成手段により第2の合成対象画像データを生成させ、前記画像合成手段により前記第2の入力画像データと前記第2の合成対象画像データとから第2の合成画像を生成させる制御を行う、繰り返し制御手段をさらに含む、請求項1または2に記載の画像処理装置。
【請求項4】
前記合成用画像データは、複数あり、対応する数の所定領域が設定されることを特徴とする、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記合成用画像データは、複数あり、前記画像処理装置は、さらに、
前記複数の合成用画像データの画像配列を規定する配列設定に従って、前記複数の合成用画像データの画像各々を配置する所定領域を決定し、前記複数の合成用画像データの合成配置を制御する配列制御手段を含む、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項6】
前記入力画像データを取得する手段、前記合成用画像データを取得する手段、前記生成手段および前記画像合成手段は、上記各手段の機能を備える回路として、特定用途向け集積回路またはプログラマブル・ロジック・デバイス上に構成されることを特徴とする、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項7】
入力画像データを取得する手段、
前記入力画像データと比較して小さな合成用画像データを取得する手段、
前記合成用画像データから、前記入力画像データの画像に相当する領域を有し、前記合成用画像データの画像が所定領域に配置された合成対象画像データを生成する生成手段、および
取得される前記入力画像データと、生成される前記合成対象画像データとを用いて、前記合成用画像データの画像が前記入力画像データの前記所定領域に相当する領域に合成された合成画像を生成する画像合成手段
として機能する回路構成を実現するためのデバイス実行可能なプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−38580(P2013−38580A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−172835(P2011−172835)
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]