(57)【特許請求の範囲】
【請求項１】
画像を構成するビットマップデータを、各画像ごとに、複数のブロックに分割するブロック分割手段と、
各画像ごとに、分割したビットマップデータをブロック単位で格納するブロック格納手段と、
前記ブロック分割手段にて分割されたブロックのうち、拡縮および透明処理以外の画像の修正を行うべきブロックを抽出するブロック抽出手段と、
前記ブロック抽出手段にて抽出されたブロック内のビットマップデータを拡縮せずに変更して、各ブロックの透明情報と共に前記ブロック格納手段に格納するデータ変更手段と、
画像を出力する出力手段を選択する出力選択手段と、
前記ブロック格納手段に格納されたデータを、前記出力選択手段にて選択された前記出力手段に対応するデータに変換すると共に、必要に応じて該データの拡縮処理を行い、かつ必要に応じて該データと該データに重ね合わされる他の画像についての前記ブロック格納手段に格納されたビットマップデータとの間で前記透明情報に応じた透明処理を施すデータ変換手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記データ変更手段は、
前記ブロック抽出手段で抽出されたブロックのうち、まだ変更を行っていないブロックを順次選択するブロック選択手段と、
選択されたブロック内のビットマップデータを変更する選択ブロック変更手段と、
少なくとも前記透明情報を含む、変更後のブロックの表示形態を示すフラグの設定を行うフラグ設定手段と、を有し、
前記データ変換手段は、前記フラグの値により、前記出力手段に対応するデータに対して透明処理を施すか否かを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記フラグは、対応するブロック内の全画素が透明か、ブロック内の全画素が不透明か、または、ブロック内に透明の画素、不透明の画素、および半透明の画素が混在するかを示す前記透明情報を含んでおり、
前記データ変更手段は、前記フラグの値に関係なくビットマップデータの変更を行い、
前記データ変換手段は、前記出力選択手段にて選択された前記出力手段に対応するデータに変換する際に、前記フラグの値により、前記ブロック格納手段に格納されたビットマップデータ、または前記データ変更手段で変更されたビットマップデータを無視するか否かを決定して、他の画像についての前記ブロック格納手段に格納されたビットマップデータとの間で透明処理を行うことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
ブロックの変更履歴情報を記録するか否かを設定する履歴設定手段と、
前記履歴設定手段により変更履歴情報を記録する旨の設定がされた場合に、変更履歴に関する回数を前記ブロックごとに計測する回数計測手段と、
変更を行うブロック内のビットマップデータを前記ブロック格納手段内の空きブロックに複製するブロック複製手段と、を備え、
前記回数計測手段は、変更のないブロックについては対応する前記回数を、ブロックの修正履歴を保存しておきたい時点を表す履歴管理の区切りのたびにインクリメントし、かつ、前記ブロック複製手段が複製したブロックに対応する前記回数を１に初期設定し、
前記選択ブロック変更手段は、前記ブロック複製手段が複製したブロック内のビットマップデータを変更することを特徴とする請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
画像を構成するビットマップデータを、各画像ごとに、複数のブロックに分割するブロック分割ステップと、
各画像ごとに、分割したビットマップデータをブロック単位で格納するブロック格納ステップと、
前記ブロック分割ステップにて分割されたブロックのうち、拡縮および透明処理以外の画像の修正を行うべきブロックを抽出するブロック抽出ステップと、
前記ブロック抽出ステップにて抽出されたブロック内のビットマップデータを拡縮せずに変更して、各ブロックの透明情報と共に前記ブロック格納ステップに格納するデータ変更ステップと、
画像を出力する出力ステップを選択する出力選択ステップと、
前記ブロック格納ステップに格納されたデータを、前記出力選択ステップにて選択された前記出力ステップに対応するデータに変換すると共に、必要に応じて該データの拡縮処理を行い、かつ必要に応じて該データと該データに重ね合わされる他の画像についての前記ブロック格納手段に格納されたビットマップデータとの間で前記透明情報に応じた透明処理を施すデータ変換ステップと、を備えることを特徴とする画像処理方法。
【請求項６】
画像を構成するビットマップデータを、各画像ごとに、複数のブロックに分割するブロック分割ステップと、
各画像ごとに、分割したビットマップデータをブロック単位で格納するブロック格納ステップと、
前記ブロック分割ステップにて分割されたブロックのうち、拡縮および透明処理以外の画像の修正を行うべきブロックを抽出するブロック抽出ステップと、
前記ブロック抽出ステップにて抽出されたブロック内のビットマップデータを拡縮せずに変更して、各ブロックの透明情報と共に前記ブロック格納ステップに格納するデータ変更ステップと、
画像を出力する出力ステップを選択する出力選択ステップと、
前記ブロック格納ステップに格納されたデータを、前記出力選択ステップにて選択された前記出力ステップに対応するデータに変換すると共に、必要に応じて該データの拡縮処理を行い、かつ必要に応じて該データと該データに重ね合わされる他の画像についての前記ブロック格納手段に格納されたビットマップデータとの間で前記透明情報に応じた透明処理を施すデータ変換ステップと、を備える画像処理に関するプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビットマップデータで構成される画像の修正や合成を行う画像処理装置に関し、特に、画像の品質を落とさずに短時間で画像処理を行う技術に関する。
【０００２】
【従来の技術】
デジタルカメラやスキャナなどの画像取り込み装置の普及に伴って、画像処理を手軽に行うことができるフォトレタッチ・ツールやペイント・ツール等の画像処理ツールが種々販売されている。
【０００３】
また、近年、ＣＰＵや画像処理用のＬＳＩの高性能化に伴い、安価なパーソナル・コンピュータでも、高解像度でフルカラーの画像データを処理できるようになってきた。
【０００４】
【発明が解決しようとする課題】
図９は、図９（ａ）に示す画像Ａ中の任意の場所に、解像度がそれぞれ異なる図９（ｂ）に示す画像Ｂと、図９（ｃ）に示す画像Ｃとを合成して、図９（ｄ）のような画像を生成する例を示している。
【０００５】
従来の画像処理ツールでは、原則として、解像度が同じ画像データしか合成できなかった。
【０００６】
したがって、もともと解像度が異なる複数の画像データを合成する場合には、解像度の変換を行いながら合成処理を行わなければならず、合成処理に時間がかかるという問題があった。また、画質を落とさずに合成しようとすると、最も解像度の高い画像データに他の画像データの解像度を合わせて管理するために、画像データを格納するためのメモリも大量に必要になり、ハードウェアのコストが高くなるという問題があった。
【０００７】
本発明は、このような点に鑑みてなされたものであり、その目的は、解像度の異なる画像データ同士を簡易かつ迅速に合成することができ、かつ、画像の品質を落とさずに高速かつ少ないメモリ容量で画像処理を行うことができる画像処理装置、画像処理方法、および画像処理に関するプログラムを記録した記録媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上述した課題を解決するために、本発明の一態様では、画像を構成するビットマップデータを、各画像ごとに、複数のブロックに分割するブロック分割手段と、
各画像ごとに、分割したビットマップデータをブロック単位で格納するブロック格納手段と、
前記ブロック分割手段にて分割されたブロックのうち、拡縮および透明処理以外の画像の修正を行うべきブロックを抽出するブロック抽出手段と、
前記ブロック抽出手段にて抽出されたブロック内のビットマップデータを拡縮せずに変更して、各ブロックの透明情報と共に前記ブロック格納手段に格納するデータ変更手段と、
画像を出力する出力手段を選択する出力選択手段と、
前記ブロック格納手段に格納されたデータを、前記出力選択手段にて選択された前記出力手段に対応するデータに変換すると共に、必要に応じて該データの拡縮処理を行い、かつ必要に応じて該データと該データに重ね合わされる他の画像についての前記ブロック格納手段に格納されたビットマップデータとの間で前記透明情報に応じた透明処理を施すデータ変換手段と、を備えることを特徴とする画像処理装置が提供される。
【０００９】
本発明の一態様によれば、ビットマップデータを複数のブロックに分割して格納し、ブロック単位でビットマップデータの変更を行うため、変更のあるブロックのみを抽出してビットマップデータの変更を行うことができ、効率的に変更処理を行うことができ、画像処理に要する時間を短縮できる。
【００１０】
本発明の一態様によれば、画像を構成するビットマップデータを拡縮せずに変更を行うため、作業用のメモリ容量を削減できる。
【００１２】
本発明の一態様によれば、各ブロックの表示形態を示すフラグを設けるため、データ変更手段はフラグの値に応じてデータの変換を行うことができる。
【００１３】
本発明の一態様によれば、対応するブロック内の全画素が透明か、ブロック内の全画素が不透明か、または、ブロック内に透明の画素、不透明の画素、および半透明の画素が混在するかを示すフラグを設けるため、ブロックすべてが透明な場合と不透明な場合の処理を簡略化することができる。
【００１４】
本発明の一態様によれば、各ブロックの変更履歴情報を記録できるようにしたため、各ブロックがどのように変更されたかを詳細に確認できるとともに、いったん画像を変更した後に元に戻すアンドゥー処理を容易に行うことができる。
【００１５】
本発明の一態様によれば、各ブロックごとに、変更履歴に関する回数を設定するため、この回数により、ブロックの変更が多いか少ないかを把握することができる。また、ブロックの変更を行う場合は、対応するブロックの複製を作ってからブロックの変更を行うようにしたため、変更履歴を途中で失うおそれがない。
【００１６】
【発明の実施の形態】
以下、本発明に係る画像処理装置、画像処理方法、および画像処理に関するプログラムを記録した記録媒体について、図面を参照しながら具体的に説明する。
【００１７】
図１は本発明に係る画像処理装置の概略構成を示すブロック図である。図１の画像処理装置は、原画像入力部１と、ブロック分割部（ブロック分割手段）２と、ブロック格納部（ブロック格納手段）３と、ブロック変更処理部（ブロック抽出手段、データ変更手段）４と、出力選択部（出力選択手段）５と、画像変換部（データ変換手段）６とを備えている。
【００１８】
原画像入力部１は、画像合成や画像の修正を行う対象である原画像ビットマップデータをデジタルカメラやスキャナなどを介して取り込む。デジタルカメラ等で撮像された画像データが圧縮されている場合には、圧縮された画像データを伸長してビットマップデータに変換した上で取り込む。
【００１９】
ブロック分割部２は、原画像入力部１が取り込んだ原画像ビットマップデータを、各画像ごとに、複数のブロックに分割する。分割された各ブロック内のビットマップデータは、ブロック格納部３に格納される。
【００２０】
ブロック変更処理部４は、後述するように、画像合成や画像の修正に影響のあるブロックのみを抽出してブロック内のビットマップデータの変更処理を行う。
【００２１】
出力選択部５は、画像合成や修正を行った画像を出力する出力機器の選択を行う。出力機器としては、例えば、ＣＲＴやＬＣＤ等の表示装置、あるいはプリンタやプロッタ等の印字装置などがある。
【００２２】
画像変換部６は、ブロック格納部３に格納されているビットマップデータを、出力選択部５が選択した出力機器に応じたデータに変換する。画像を表示装置に表示する場合には、変換したデータは表示メモリ７に格納される。また、画像を印字装置に印字する場合には、変換したデータはプリンタバッファ８に格納される。
【００２３】
図２は図１の画像処理装置の処理動作を示すフローチャートである。以下、このフローチャートに基づいて、本実施形態の動作を説明する。
【００２４】
まず、原画像入力部１により、原画像ビットマップデータを取り込む（ステップＳ１）。画像合成を行う場合には、各画像に対応するビットマップデータを取り込む。
【００２５】
次に、ブロック分割部２により、原画像ビットマップデータをブロック分割する（ステップＳ２）。複数の画像を合成する場合には、各画像ごとに、対応するビットマップデータをブロック分割する。
【００２６】
図３は原画像ビットマップデータをブロック分割した例を示す図である。図示のように、原画像ビットマップデータは例えば格子状に分割され、各升目が各ブロックに対応する。なお、ブロックの形状は、必ずしも図３に示した矩形状である必要はなく、どのような形状でもよい。
【００２７】
ブロック内のデータ量は、原画像ビットマップデータの解像度に関係なく共通であり、例えば、４Ｋバイトである。必ずしも４Ｋバイトにする必要はないが、４Ｋバイトにすれば、汎用のＣＰＵの仮想記憶の単位と同じになり、仮想記憶の管理が容易になる。
【００２８】
１ブロックの表示サイズは、原画像ビットマップデータの解像度により異なる。例えば、図３（ａ）のように1024×768ドットの原画像ビットマップデータと、図３（ｂ）のように512×384ドットの原画像ビットマップデータとを比較すると、後者の表示上のブロック単位は、前者のブロック単位の４倍のサイズになる。
【００２９】
ステップＳ２でブロック分割した原画像ビットマップデータは、ブロック単位でブロック格納部３に格納される（ステップＳ３）。ここで、ブロック格納部３は、DRAM等の半導体記憶素子で構成してもよいし、ハードディスク等の記録装置で構成してもよい。
【００３０】
例えば、図４のように、画像を配置するレイヤの一部のみに画像（図４の斜線部Ｇ１）が存在する場合には、画像Ｇ１が存在するブロックＢ１〜Ｂ10のみ、ビットマップデータをブロック格納部３に格納し、画像が存在しないブロックは、画像が存在しないことを示す情報のみをブロック格納部３に格納する。これにより、ブロック格納部３のデータ量を削減することができる。また、隣接するブロックと全く同じデータを有するブロックについては、同じであることを示す情報のみを格納してもよく、これにより、データ量をよりいっそう削減することができる。
【００３１】
ステップＳ３の処理が終了すると、次に、画像の修正や合成を行うか否かを判定する（ステップＳ４）。画像の修正や合成を行う場合には、修正や合成に影響のあるブロックを抽出する（ステップＳ５）。
【００３２】
例えば、図４の斜線部で示す画像Ｇ１のみが存在していた場合に、図５に示すように、斜線部で示す画像Ｇ２を合成する場合、ブロックＢ６，Ｂ７，Ｂ11，Ｂ12が画像合成の影響を受けるため、これらブロックを抽出する。
【００３３】
次に、抽出された各ブロックごとに、ビットマップデータの変更処理（以下、ブロック変更処理と呼ぶ）を行う（ステップＳ６）。このステップＳ６の処理の詳細については後述する。
【００３４】
次に、画像の修正や合成がすべて終了したか否かを判定する（ステップＳ７）。画像の修正や合成をまだ行っていないブロックが存在する場合には、ステップＳ５以降の処理を繰り返す。一方、すべてのブロックについて画像の修正や合成を行った場合には、画像を出力する出力機器を選択する（ステップＳ８）。例えば、表示装置やプリンタなどを選択する。
【００３５】
次に、ブロック格納部３に格納されているビットマップデータを、選択した出力機器に応じたデータに変換する（ステップＳ９）。ブロック格納部３には、図６（ａ）の矢印で示す順番で画像データがブロック単位で格納されているため、例えば表示装置に表示するには、図６（ｂ）の矢印で示すように、ライン単位で並び替える処理を行う。
【００３６】
また、画像合成を行う場合には、データの変換処理を行う際に、合成する各画像のビットマップデータを、各画像ごとに固有の拡縮率で拡縮させてデータの変換処理を行う。
【００３７】
さらに、一部の画像を透明または半透明にする場合、データの変換処理を行う際に透明処理を行う。後述するように、各ブロックごとに、ブロック内の全画素を透明にするか、ブロック内の全画素を不透明にするか、またはブロック内に透明の画素と不透明の画素が混在するか否かを示すフラグを持っているため、このフラグの値を参照して、透明処理を行う。例えば、ブロック内の全画素を透明にする場合には、そのブロック内のデータを無視してデータの変換処理を行う。また、ブロック内の全画素を不透明にする場合には、合成される他の画像データを無視して、データの変換処理を行う。また、ブロック内に透明の画素、不透明の画素、および半透明の画素が混在している場合には、画素ごとにデータの変換処理を行う。
【００３８】
このように、本実施形態は、画像の変更処理を行う段階では、各画像ごとに、ブロック単位で変更処理を行い、最後に出力機器が選択された時点で、各画像の拡縮率や透明状態を設定して、出力機器に適したデータに変換する。これにより、画像の変更処理に要する時間が短くなり、作業用のメモリ容量も少なくてすむ。
【００３９】
例えば、互いに解像度が異なる図３（ａ）に示す画像と図３（ｂ）に示す画像とを合成する場合、各画像ごとに、ブロック単位で変更処理を行った後、出力機器が選択された後に、各画像の拡縮率を設定して、図３（ｃ）に示すような合成画像を生成する。
【００４０】
本実施形態では、画像合成を行う各画像はそれぞれ仮想的な座標系に配置され、各画像のレイヤの原点が上記の座標系のどの位置に何倍の拡縮率で配置されるのかを示す情報が各レイヤに付帯する情報として設けられる。上述したステップＳ９では、画像合成を行う際には、各レイヤに付帯する情報を参照して、各画像の拡縮率や原点位置を設定し、出力機器に適したデータを生成する。
【００４１】
図７は図２のステップＳ６の変更処理の詳細フローチャートである。まず、図２のステップＳ５で抽出したブロックのうち、いずれかのブロックを選択する（ステップＳ21）。
【００４２】
次に、ブロックの変更履歴情報を作成するか否かを判定する（ステップＳ22）。変更履歴情報を作成する場合には、図８に詳細を示すリンクカウントの設定処理を行う（ステップＳ23）。
【００４３】
ここで、リンクカウントとは、各ブロックの変更履歴に関する回数を示すものであり、履歴管理の区切りのたびに更新される。履歴管理の区切りにおいて、ブロックに変更がなければ、そのブロックに対応するリンクカウントは１だけインクリメントされる。また、ブロックに変更があれば、そのブロックをブロック格納部３内の空きブロックにコピーし、コピー先のブロックに対応するリンクカウントを「１」に設定する。
【００４４】
ステップＳ23の処理が終了した場合、あるいはステップＳ22で変更履歴情報を作成しないと判定された場合は、選択したブロック内のビットマップデータを変更する（ステップＳ24）。
【００４５】
次に、ビットマップデータを変更したブロックに対応するフラグを再設定する（ステップＳ25）。このフラグは、対応するブロックに対して透明処理を行うか否かを設定するものであり、このフラグにより、▲１▼ブロック内の全画素を透明にする、▲２▼ブロック内の全画素を不透明にする、▲３▼ブロック内に透明の画素か不透明の画素が混在するか、または半透明の画素が存在する（すなわち、▲１▼でも▲２▼でもない状態）の３種類のいずれかが設定される。
【００４６】
次に、変更したブロック内のビットマップデータをブロック格納部３に格納するとともに、変更したブロックに対応するフラグを格納する（ステップＳ26）。なお、フラグを格納する領域は、ビットマップデータを格納する領域とは別個に設けられる。
【００４７】
次に、変更処理がまだ終わっていないブロックが存在するか否かを判定する（ステップＳ27）。存在する場合には、上述したステップＳ21以降の処理を繰り返す。
【００４８】
なお、図７のフローチャートにおいて、ステップＳ21がブロック選択手段に対応し、ステップＳ24が選択ブロック変更手段に対応し、ステップＳ25がフラグ設定手段に対応し、ステップＳ22が履歴設定手段に対応する。
【００４９】
図４（ｂ）〜図４（ｋ）は変更履歴情報の作成手法を説明する図である。図４（ａ）の斜線で示す画像を一部でも含むブロックは、ブロックＢ１〜Ｂ10である。各ブロック内のビットマップデータはそれぞれ図４（ｂ）〜図４（ｋ）のようになる。当初は、すべてのブロックのリンクカウントは「１」に設定される。
【００５０】
次に、図５（ａ）に示すように、画像Ｇ１に画像Ｇ２を合成する場合、影響を受けるブロックは４つのブロックＢ６，Ｂ７，Ｂ11，Ｂ12である。これら４つのブロック以外は、ブロック内のビットマップデータに変更がないため、図５（ｂ）〜（ｅ），（ｈ）〜（ｊ）に示すように、リンクカウントを「１」だけインクリメントして「２」にする。
【００５１】
一方、ビットマップデータに変更のある２つのブロックＢ６，Ｂ７については、図５（ｌ），（ｍ）に示すように、ブロック内のビットマップデータを他の空きブロックにコピーし、コピー先のリンクカウントを「１」に設定する。そして、コピー先のブロック内のビットマップデータを変更する。また、新規のブロックＢ１１，Ｂ１２については、図５（ｎ），（ｏ）に示すように、リンクカウントを１に設定する。
【００５２】
以下、図８のフローチャートに基づいて、リンクカウントの設定処理を詳細に説明する。まず、ブロック内のビットマップデータを、ブロック格納部３内の空きブロックにコピーする（ステップＳ41）。
【００５３】
次に、コピー先のリンクカウントを「１」に設定する（ステップＳ42）。次に、コピー先のブロックを選択する（ステップＳ43）。
【００５４】
選択されたブロックは、図７のステップＳ24にてビットマップデータの変更が行われる。なお、図８のステップＳ42がブロック複製手段に対応する。
【００５５】
コピー先のブロックに対応するリンクカウントも、コピー元のブロックに対応するリンクカウントと同様に、ブロックに変更がない限り、履歴管理の区切りのたびに「１」ずつインクリメントされる。
【００５６】
また、コピー先のブロックに変更が生じた場合には、このブロック内のビットマップデータを空きブロックにコピーした後、このコピー先のブロック内のビットマップデータの変更を行う。
【００５７】
これにより、履歴情報を失うことなく、ブロックの変更を行うことができる。履歴情報は、主メモリ等に空きがある限り、逐次蓄積されるが、主メモリ等に空きがなくなると、古い履歴の画像を構成するブロックのリンクカウントを「１」ずつディクリメントし、リンクカウントがゼロになったブロックを空きブロックとして処理する。
【００５８】
このように、本実施形態は、画像のビットマップデータをブロック単位で格納しておき、画像の修正や合成を行う際も、ブロック単位でビットマップデータの変更処理を行い、しかも、変更処理を行う段階では、画像の拡縮や透明処理を行わないため、短時間で変更処理を行うことができる。また、変更処理を行う際に必要な作業用のメモリ容量も削減できる。
【００５９】
さらに、ブロック単位で画像を管理できるため、必要なブロックだけを主メモリに格納でき、主メモリを効率的に利用できるとともに、仮想記憶の管理が容易になる。
【００６０】
また、背景画像の一部だけに画像が存在する場合には、画像が存在する部分のブロックだけ、画像に対応したビットマップデータを格納しておけばよいため、画像のデータ量を削減できる。
【００６１】
上述した実施形態において、画像をブロック管理するか否かを任意に切り替えできるようにしてもよい。
【００６２】
なお、１ブロックのデータ量は必ずしも一定である必要はなく、１ブロックのデータ量を任意に設定変更できるようにしてもよい。また、上述した実施形態では、フラグは透明情報を表すと説明したが、透明以外の種々の画像特性（たとえば、グラデーションや画像フィルタなど）をフラグにて設定してもよい。
【００６３】
ところで、図１に示す画像処理装置内の各構成要素は、ハードウェアで構成してもソフトウェアで構成してもよい。ソフトウェアで構成する場合には、フロッピーディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させればよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、本実施形態の画像処理装置の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。その際、プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００６４】
【発明の効果】
以上詳細に説明したように、本発明によれば、原画像ビットマップデータを複数のブロックに分割し、画像の修正や合成を行う場合には、各画像ごとに、ブロック単位でビットマップデータの変更処理を行うため、他の画像の影響を受けずに変更処理を行うことができ、変更処理に要する時間を短縮することができる。
【００６５】
また、画像の存在しないブロックや、周囲の画像と同じ画像を有するブロックについては、ビットマップデータを重複して持たなくてすむため、データ量を削減できる。
【００６６】
また、必要なブロックのみを抽出して主メモリ等に格納できるため、主メモリのメモリ容量が少なくても、高速に画像処理を行うことができる。また、ブロック単位でビットマップデータを管理するため、仮想記憶管理が容易になり、高速描画が可能になる。
【００６７】
さらに、ブロック単位で画像を管理するため、ブロックごとに画像の特性（透明情報など）を個別に設定でき、種々の画像処理を短時間で行うことができる。
【００６８】
また、ブロックごとに変更履歴情報を蓄積できるため、各ブロックの変更履歴を必要に応じて詳細に確認でき、かつ、いったん変更した画像を元に戻すアンドゥー処理も容易に行うことができる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置の概略構成を示すブロック図。
【図２】図１の画像処理装置の処理動作を示すフローチャート。
【図３】（ａ），（ｂ）は原画像ビットマップデータをブロック分割した例を示す図、（ｃ）は（ａ），（ｂ）を合成した図。
【図４】（ａ）はブロック分割前の画像、（ｂ）〜（ｋ）はブロック分割後の画像の例を示す図。
【図５】（ａ）は図４（ａ）に合成される画像Ｇ２を示す図、（ｂ）〜（ｋ）はブロック分割後の画像の例を示す図。
【図６】（ａ）はデータ変換前のデータの格納順を示す図、（ｂ）はデータ変換後のデータの格納順を示す図。
【図７】図２のステップＳ６の変更処理の詳細フローチャート。
【図８】図７のステップＳ23のリンクカウントの設定処理を示すフローチャート。
【図９】（ａ），（ｂ），（ｃ）は合成前の画像、（ｄ）は合成後の画像の例を示す図。
【符号の説明】
１  原画像入力部
２  ブロック分割部
３  ブロック格納部
４  ブロック変更処理部
５  出力選択部
６  画像変換部
７  表示メモリ
８  プリンタバッファ
【図１】
0004476405.tif 000002
【図２】
0004476405.tif 000003
【図３】
0004476405.tif 000004
【図４】
0004476405.tif 000005
【図５】
0004476405.tif 000006
【図６】
0004476405.tif 000007
【図７】
0004476405.tif 000008
【図８】
0004476405.tif 000009
【図９】
0004476405.tif 000010