(57)【要約】【課題】  画像情報の配置合成で発生する余白領域に対してそれぞれ対応する特定の画像情報を生成して保持するメモリを確保することなく、簡単な画像処理で発生する余白領域を合成される背景画像に置換して所望の合成画像を効率よく生成処理することである。【解決手段】  ホストコンピュータ１０やホストコンピュータ１１，１２から入力される画像情報に付加されている配置属性に従い、ＣＰＵ２４がＲＡＭ上で該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行った後、該画像合成処理で発生する余白領域を下層の画像特性に適応する画像に置換処理する構成を特徴とする。【選択図】  図１
2005208694.tif 000002
【特許請求の範囲】
【請求項１】
入力される所定のオブジェクトが指定される画像情報を解析して加工処理する画像処理装置であって、
前記画像情報に付加されている配置属性に従い、該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行う第１の画像処理手段と、
前記第１の画像処理手段による合成で発生する余白領域を下層の画像特性に適応する画像に置換処理する第２の画像処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の画像処理手段は、前記画像情報に付加されている透明度を指定する透明データを抽出して、前記余白領域に該透明データに従う透明度を設定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第２の画像処理手段は、前記余白領域に設定される透明度に従い、下位階層の画像特性に基づいて下層の画像情報と対象画像情報とを透過合成して配置することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記第１の画像処理手段は、予め定めた特定の色コードを透明マーカと定義することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記第２の画像処理手段は、前記対象画像情報中の対象画素に前記透明マーカと同一の値が存在している場合、該対象画素の色コードを最近傍色に変更する変更手段と、
前記余白領域を全て前記透明マーカと同一の画素に置換する置換手段と、
を有することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記透明マーカの色コードは、黒色を示す色コードであることを特徴とする請求項４記載の画像処理装置。
【請求項７】
前記第２の画像処理手段は、対象画素に前記透明マーカと同一の値が存在している場合、画像情報の自由変形処理と、色コードを最近傍色に変更する変更処理と、前記自由変形処理により生じる余白領域を全て前記透明マーカに置換する処理とを並行して実行することを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記画像情報は、データをタグによって区切ることでデータ構造を表現する所定のマークアップ言語で記述され、オブジェクトの配置を記述する主データ部と、主データが参照する付加データ部とを含むことを特徴とする請求項１〜７のいずれかに記載の画像処理装置。
【請求項９】
前記第１の画像処理手段は、一つの画像情報に対して付加されている複数の配置属性に関連づけ配置処理を行うことを特徴とする請求項１記載の画像処理装置。
【請求項１０】
前記配置属性には、回転、拡大、移動等の配置属性を含むことを特徴とする請求項１記載の画像処理装置。
【請求項１１】
前記第１の画像処理手段は、前記画像情報の解析時に、指定された領域が属する上位層のブロックの画像特性を前記余白領域に適用することを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記第２の画像処理手段により配置される画像情報を出力する出力手段を有することを特徴とする請求項１記載の画像処理装置。
【請求項１３】
前記出力手段は、表示手段と印刷手段とを含むことを特徴とする請求項１２記載の画像処理装置。
【請求項１４】
入力される所定のオブジェクトが指定される画像情報を解析して加工処理する画像処理装置における画像処理方法であって、
前記画像情報に付加されている配置属性に従い、該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行う第１の画像処理ステップと、
前記第１の画像処理ステップによる合成で発生する余白領域を下層の画像特性に適応する画像に置換処理する第２の画像処理ステップと、
を有することを特徴とする画像処理方法。
【請求項１５】
前記第１の画像処理ステップは、前記画像情報に付加されている透明度を指定する透明データを抽出して、前記余白領域に該透明データに従う透明度を設定することを特徴とする請求項１４記載の画像処理方法。
【請求項１６】
前記第２の画像処理ステップは、前記余白領域に設定される透明度に従い、下位階層の画像特性に基づいて下層の画像情報と対象画像情報とを透過合成して配置することを特徴とする請求項１４記載の画像処理方法。
【請求項１７】
前記第１の画像処理ステップは、予め定めた特定の色コードを透明マーカと定義することを特徴とする請求項１４記載の画像処理方法。
【請求項１８】
前記第２の画像処理ステップは、前記対象画像情報中の対象画素に前記透明マーカと同一の値が存在している場合、該対象画素の色コードを最近傍色に変更する変更ステップと、
前記余白領域を全て前記透明マーカと同一の画素に置換する置換ステップと、
を有することを特徴とする請求項１４記載の画像処理方法。
【請求項１９】
前記透明マーカの色コードは、黒色を示す色コードであることを特徴とする請求項１７記載の画像処理方法。
【請求項２０】
前記第２の画像処理ステップは、対象画素に前記透明マーカと同一の値が存在している場合、画像情報の自由変形処理と、色コードを最近傍色に変更する変更処理と、前記自由変形処理により生じる余白領域を全て前記マーカに置換する処理とを並行して実行することを特徴とする請求項１４記載の画像処理方法。
【請求項２１】
前記画像情報は、データをタグによって区切ることでデータ構造を表現する所定のマークアップ言語で記述され、オブジェクトの配置を記述する主データ部と、主データが参照する付加データ部を含むことを特徴とする請求項１４〜２０のいずれかに記載の画像処理方法。
【請求項２２】
前記第１の画像処理ステップは、一つの画像情報に対して付加されている複数の配置属性に関連づけ配置処理を行うことを特徴とする請求項１４記載の画像処理方法。
【請求項２３】
前記配置属性には、回転、拡大、移動等の配置属性を含むことを特徴とする請求項１４記載の画像処理方法。
【請求項２４】
前記第１の画像処理ステップは、前記画像情報の解析時に、指定された領域が属する上位層のブロックの画像特性を前記余白領域に適用することを特徴とする請求項１４記載の画像処理方法。
【請求項２５】
前記第２の画像処理ステップにより配置される画像情報を出力する出力ステップを有することを特徴とする請求項１４記載の画像処理方法。
【請求項２６】
前記出力ステップは、表示ステップと印刷ステップとを含むことを特徴とする請求項２５記載の画像処理方法。
【請求項２７】
請求項１４〜２６のいずれかに記載の画像処理方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項２８】
請求項１４〜２６のいずれかに記載の画像処理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力される所定のオブジェクトが指定される画像情報を解析して加工処理する画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
従来、マークアップ言語で記述したデータを用いた印刷のための画像処理を行う画像処理装置、印刷装置等において、当該画像処理における回転合成処理においては、原稿作成段階で、入力される１つの元画像データを個別に加工し、コンテンツに含ませていた。
【０００３】
したがって、同じ画像を複数回配置するときにも、それぞれに対応する複数の画像データを全て作成し、コンテンツに加えていた。以下に、画像データを作成する手順の例を説明する。
【０００４】
例えば、マイクロソフト社のアプリケーションソフトであるパワーポイント（商品名）の場合、作図ツールが提供している矩形や矢印などの「ベクタ系」として扱える図形は、回転しても背景に余白は表れず、前記アプリケーションの機能を用いて、自由に回転処理することができる。
【０００５】
しかるに、パワーポイント以外で作成した「ピクセル系」画像をスライドに貼り付ける場合は、前記のように回転処理はできない。それゆえ、予め回転画像データを作成し、回転によってできる余白を透明化処理し、所定の位置に貼り付ける、といった複雑な画像処理工程が必須の処理であつた。
【０００６】
前記工程の例として、例えばフォトレタッチ・アプリケーションであるＡｄｏｂｅ社のＰｈｏｔｏｓｈｏｐ（商品名）の「ヘルプ」・「透明画像の書き出し」機能を説明する。
【０００７】
この機能を用いれば、選択した領域を「透明化」できる。すなわち、画像データに透明プレーン（アルファーチャネル）を付加できる。このように、一旦透明化しておけば、前記アプリケーション以外のツールでも透過合成ができる。例えば下記特許文献１，２参照。ただし、画像ファイル形式がｊｐｅｇでは、上記機能はサポートされていないため、元画像データを、前記処理に先立ち、ｐｎｇかｇｉｆ形式にデータを変換しておく必要がある。
【０００８】
次に、フォトレタッチ・アプリケーションであるＡｄｏｂｅ社のＰｈｏｔｏｓｈｏｐに限定した画像処理例について説明する。
【０００９】
例えば人物の画像を３０度回転し、背景に配置する画像処理例の場合を考えてみる。
【００１０】
まず、人物を３０度回転すると画像データの４隅に余白領域ができる。次に、人物と背景をそれぞれ別のレイヤに配置し、人物レイヤの余白や背景を選択的に「削除」し、この二つのレイヤを合成した画像データをフアイルに書き出す。
【００１１】
以上の説明で、画像は矩形によって操作・記憶・管理されていることがわかる。なお、前記アプリケーションでは別の方法が提供されている。
【００１２】
すなわち背景とは別の透明設定済みの新規レイヤを作成すると、濃淡のブロック模様が現れる。前記レイヤに前記人物画を配置し、「自由変形」機能を用いれば、縦横変倍・回転等の操作と背景との透過合成が同時に可能となり、この２つのレイヤを合成した画像データをフアイルに書き出す。
【００１３】
ところで、ピクセル系データ形式においては、画素毎の位置座標が含まれず、その代わり、「各画素のデータが出力画像の縦横一定の規則で循環的にデータが配列されている」と言う暗黙の了解に基づいて描画・再生する。それゆえ、実際は余白であり有効画素が存在しなくても、なんらかのデータとして配置しなければ他のピクセルとの位置関係が乱れ、正常に描画・再生できない。よって、記憶媒体内部でのデータは、「矩形」として配列する必要がある。
【特許文献１】特開２００１−２８３２１３号公報
【特許文献２】特開平９−２２３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従来の画像処理装置は上記のように構成されているので、原稿作成段階で、元画像データを個別に全て加工し、それを個別にコンテンツに含ませる、従来の手法ではコンテンツを製作する工数が増え、かつ、全体のデータ容量も増加してメモリ負担を強いる結果となる問題点があった。
【００１５】
一方、デジタルテレビ、携帯電話やデジタルカメラ等も、マークアップ言語で記述したコンテンツ（例えば画像データ）を取り扱うことが多くなってきている。このような機器では、メモリ資源が限られており、コンテンツ全体のデータ量が大きいと、それを保持することが困難となる。
【００１６】
また、矩形領域の画像データを回転処理すると、画像データはメモリ上では、「回転により斜めになったオブジェクトを内接する矩形」として構成される。
【００１７】
即ち、図形以外の領域は余白（黒：Ｒ＝０，Ｇ＝０，Ｂ＝０）となる。このまま画像を目的領域に配置すると、下層が「余白＝黒」で塗りつぶされてしまう。
【００１８】
このような場合において、透過合成用に、透明度を表現するため、例えば深さ８ビットのデータを画素毎に付加すると、作業用メモリが大幅に増大する。
【００１９】
さらに、注目すべきは、ベクタ系の図形であっても、媒体上に可視化表現する段階では、ピクセルデータに変換しなくてはならないことである。また、ＸＨＴＭＬ系の要素・属性を用いた画像・図形のはめ込み処理においては、その対象となる領域が「矩形」に限られてしまう等の課題があった。
【００２０】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、入力される画像情報に付加されている配置属性に従い、該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行った後、該画像合成処理で発生する余白領域を下層の画像特性に適応する画像に置換処理することにより、画像情報の配置合成で発生する余白領域に対してそれぞれ対応する特定の画像情報を生成して保持するメモリを確保することなく、簡単な画像処理で発生する余白領域を合成される背景画像に置換して所望の合成画像を効率よく生成処理できる画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【００２１】
本発明に係る第１の発明は、入力される所定のオブジェクトが指定される画像情報を解析して加工処理する画像処理装置であって、前記画像情報に付加されている配置属性に従い、該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行う第１の画像処理手段（例えば図３９に示すＰａｒｓｅ３９０２，Ｌａｙｏｕ３９０３，Ｉｍａｇｉｎ３９０４等）と、前記第１の画像処理手段による合成で発生する余白領域を下層の画像特性に適応する画像に置換処理する第２の画像処理手段（例えば図３９に示すＢａｎｄｉｎ３９０６）とを有することを特徴とする。
【００２２】
本発明に係る第２の発明は、前記第１の画像処理手段は、前記画像情報に付加されている透明度を指定する透明データを抽出して、前記余白領域に該透明データに従う透明度を設定することを特徴とする。
【００２３】
本発明に係る第３の発明は、前記第２の画像処理手段は、前記余白領域に設定される透明度に従い、下位階層の画像特性に基づいて下層の画像情報と対象画像情報とを透過合成して配置することを特徴とする。
【００２４】
本発明に係る第４の発明は、前記第１の画像処理手段は、予め定めた特定の色コードを透明マーカと定義することを特徴とする。
【００２５】
本発明に係る第５の発明は、前記第２の画像処理手段は、前記対象画像情報中の対象画素に前記透明マーカと同一の値が存在している場合、該対象画素の色コードを最近傍色に変更する変更手段と、前記余白領域を全て前記透明マーカと同一の画素に置換する置換手段とを有することを特徴とする。
【００２６】
本発明に係る第６の発明は、前記透明マーカの色コードは、黒色を示す色コードであることを特徴とする。
【００２７】
本発明に係る第７の発明は、前記第２の画像処理手段は、対象画素に前記透明マーカと同一の値が存在している場合、画像情報の自由変形処理と、色コードを最近傍色に変更する変更処理と、前記自由変形処理により生じる余白領域を全て前記マーカに置換する処理とを並行して実行することを特徴とする。
【００２８】
本発明に係る第８の発明は、前記画像情報は、データをタグによって区切ることでデータ構造を表現する所定のマークアップ言語で記述され、オブジェクトの配置を記述する主データ部と、主データが参照する付加データ部とを含むことを特徴とする。
【００２９】
本発明に係る第９の発明は、前記第１の画像処理手段は、一つの画像情報に対して付加されている複数の配置属性に関連づけ配置処理を行うことを特徴とする。
【００３０】
本発明に係る第１０の発明は、前記配置属性には、回転、拡大、移動等の配置属性を含むことを特徴とする。
【００３１】
本発明に係る第１１の発明は、前記第１の画像処理手段は、前記画像情報の解析時に、指定された領域が属する上位層のブロックの画像特性を前記余白領域に適用することを特徴とする。
【００３２】
本発明に係る第１２の発明は、前記第２の画像処理手段により配置される画像情報を出力する出力手段を有することを特徴とする。
【００３３】
本発明に係る第１３の発明は、前記出力手段は、表示手段と印刷手段とを含むことを特徴とする。
【００３４】
本発明に係る第１４の発明は、入力される所定のオブジェクトが指定される画像情報を解析して加工処理する画像処理装置における画像処理方法であって、前記画像情報に付加されている配置属性に従い、該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行う第１の画像処理ステップ（図２９に示すステップｓｔｅｐ−１〜ｓｔｅｐ−４）と、前記第１の画像処理ステップによる合成で発生する余白領域を下層の画像特性に適応する画像に置換処理する第２の画像処理ステップ（図２９に示すステップｓｔｅｐ−５，ｓｔｅｐ−６）とを有することを特徴とする。
【００３５】
本発明に係る第１５の発明は、前記第１の画像処理ステップは、前記画像情報に付加されている透明度を指定する透明データを抽出して、前記余白領域に該透明データに従う透明度を設定することを特徴とする。
【００３６】
本発明に係る第１６の発明は、前記第２の画像処理ステップは、前記余白領域に設定される透明度に従い、下位階層の画像特性に基づいて下層の画像情報と対象画像情報とを透過合成して配置することを特徴とする。
【００３７】
本発明に係る第１７の発明は、前記第１の画像処理ステップは、予め定めた特定の色コードを透明マーカと定義することを特徴とする。
【００３８】
本発明に係る第１８の発明は、前記第２の画像処理ステップは、前記対象画像情報中の対象画素に前記透明マーカと同一の値が存在している場合、該対象画素の色コードを最近傍色に変更する変更ステップと、前記余白領域を全て前記透明マーカと同一の画素に置換する置換ステップとを有することを特徴とする。
【００３９】
本発明に係る第１９の発明は、前記透明マーカの色コードは、黒色を示す色コードであることを特徴とする。
【００４０】
本発明に係る第２０の発明は、前記第２の画像処理ステップは、対象画素に前記透明マーカと同一の値が存在している場合、画像情報の自由変形処理と、色コードを最近傍色に変更する変更処理と、前記自由変形処理により生じる余白領域を全て前記マーカに置換する処理とを並行して実行することを特徴とする。
【００４１】
本発明に係る第２１の発明は、前記画像情報は、データをタグによって区切ることでデータ構造を表現する所定のマークアップ言語で記述され、オブジェクトの配置を記述する主データ部と、主データが参照する付加データ部を含むことを特徴とする。
【００４２】
本発明に係る第２２の発明は、前記第１の画像処理ステップは、一つの画像情報に対して付加されている複数の配置属性に関連づけ配置処理を行うことを特徴とする。
【００４３】
本発明に係る第２３の発明は、前記配置属性には、回転、拡大、移動等の配置属性を含むことを特徴とする。
【００４４】
本発明に係る第２４の発明は、前記第１の画像処理ステップは、前記画像情報の解析時に、指定された領域が属する上位層のブロックの画像特性を前記余白領域に適用することを特徴とする。
【００４５】
本発明に係る第２５の発明は、前記第２の画像処理ステップにより配置される画像情報を出力する出力ステップを有することを特徴とする。
【００４６】
本発明に係る第２６の発明は、前記出力ステップは、表示ステップと印刷ステップとを含むことを特徴とする。
【００４７】
本発明に係る第２７の発明は、第１４〜第２６の発明のいずれかに記載の画像処理方法を実行させるためのプログラムをコンピュータが読み取り可能な記憶媒体に格納したことを特徴とする。
【００４８】
本発明に係る第２８の発明は、第１４〜第２６の発明のいずれかに記載の画像処理方法を実行させるプログラムであることを特徴とする。
【発明の効果】
【００４９】
本発明によれば、画像情報の配置合成で発生する余白領域に対してそれぞれ対応する特定の画像情報を生成して保持するメモリを確保することなく、簡単な画像処理で発生する余白領域を合成される背景画像に置換して所望の合成画像を効率よく生成処理できるという効果を奏する。
【発明を実施するための最良の形態】
【００５０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００５１】
〔第１実施形態〕
図１は、本発明の第１実施形態を示す画像処理装置を備えた画像処理システムの構成を示すブロック図である。
【００５２】
図１に示す本実施形態の画像処理システムは、ネットワーク上に接続されている複数のホストコンピュータ１０，１１，１２と、該ホストコンピュータ１０，１１，１２からインタフェース（ローカルＩ／Ｆ  ２１−１もしくはネットワークＩ／Ｆ  ２１−２）を通して送信されたコンテンツ（画像データを含む）に対して所定の画像処理（回転処理を含む）を施すコントローラ（画像処理装置）２０と、コントローラ２０に接続され、例えばカラー／グレースケールのデジタル画像をプリントアウトする複写機等のプリンタ（画像形成装置）３０とで構成されている。
【００５３】
コントローラ２０は、ホストコンピュータ１０にインタフェースを介して接続される外部インタフェース２２を有し、この外部インタフェース２２がＣＰＵバス２３に接続されている。
【００５４】
ＣＰＵバス２３には、装置全体の動作を制御するＣＰＵ２４と、制御プログラム（後述する図３のフローを含む）を格納するＲＯＭ２５と、作業用のワークエリアとして使用されるＲＡＭ２６と、フォントデータや後述するパスワード等が記憶される内蔵ハードディスク（ＨＤ）２８を制御するＨＤＤコントローラ２７と、ＦＩＦＯ２９とが接続されている。
【００５５】
ここで、ＲＡＭ２６は、ラスタ画像データを記憶するフレームメモリ２６−１と、ＰＤＬ画像データを保持するＰＤＬバッファ２６−２とを備えている。なお、ラスタ画像データをフレームメモリ２６−１に記憶する代りに、内蔵ＨＤ２８に記憶することも可能である。
【００５６】
このコントローラ２０によれば、ホストコンピュータ１０からローカルインタフェース及びネットワークインタフェースを介して送られてきたＰＤＬ画像データは、ＣＰＵバス２３を介して一旦ＰＤＬバッファ２６−２に保持される。
【００５７】
ＣＰＵ２４は、ＲＯＭ２５や内蔵ＨＤ２８にあるフォントデータ等を用いて、ＰＤＬバッファ２６−２に保存されているＰＤＬ画像データをラスタ画像データに展開し、フレームメモリ２６−１に書き込む。
【００５８】
このコントローラ２０からは、ＣＰＵバス２３及びＦＩＦＯ２９を介してラスタ画像データがプリンタ３０へ形成用信号４１として送られ、その信号４１に基づいて画像形成が行われる。また、コントローラ２０とプリンタ３０は、インタフェース４２を介して、種々の通信が行える。
【００５９】
プリンタ３０は、画像形成部３１と、操作部３２と、制御部３３とで構成されている。画像形成部３１は、ホストコンピュータ１０から送られてきた画像データを４００ｄｐｉの解像度で記録媒体にカラーまたはグレースケールで出力する機能を有し、制御部３３は、プリンタ３０全体の制御を行うもので、操作部３２及び画像処理装置２０との通信内容に応じてプリント機能を実行する。
【００６０】
なお、ＣＰＵ２４は、後述するフローチャートに示す手順に従って、入力される画像情報に付加されている配置属性（例えばｃｒｏｐ，ｆｉｔ，ｒｏａｔｅ，ｆｌｉｐ属性等）に従い、該画像情報を下層の画像情報中の指定領域にはめ込む画像合成処理を行った後（例えば後述する図１４〜図１９参照）、該画像合成処理で発生する余白領域を下層の画像特性に適応する画像に置換処理することにより、画像情報の配置合成で発生する余白領域に対してそれぞれ対応する特定の画像情報（例えば余白を埋める画像情報）を生成して保持するメモリを確保することなく、簡単な画像処理で発生する余白領域を合成される背景画像に置換して所望の合成画像を効率よく生成処理することが可能となる。
【００６１】
次に、ホストコンピュータ１０から送られてきた画像データがプリンタ３０から出力されるまでの動作（画像出力方法）について、図２及び図３を参照しつつ説明する。
【００６２】
以下、本発明に係る一実施形態について、図２等を参照しながら、本発明に係る画像処理装置における画像の操作合成処理例について説明する。
【００６３】
先ず、本発明に係る画像処理装置における画像データのファイル形式とその特徴について説明する。
【００６４】
言語が、例えばＸＨＴＭＬでは、ｉｍｇ要素を用いて外部イメージファイルをリンク参照することができる。ｉｍｇ要素にはイメージファイルのＵＲＩ（ｓｒｃ属性）とともにイメージ表示領域の幅（ｗｉｄｔｈ属性）と高さ（ｈｅｉｇｈｔ属性）を指定することができ、これによってイメージの拡大縮小を行っている。
【００６５】
また、ＳＶＧではｉｍｇ要素によって同様の機能が提供されている。ｉｍｇ要素の場合は、イメージ表示領域の位置（ｘ、ｙ属性）や座標変換（ｔｒａｎｓｆｏｒｍ属性）、拡大縮小時の縦横比の保持に関する指定（ｐｒｅｓｅｒｖｅＡｓｐｅｃｔＲａｔｉｏ属性）などをさらに指定できるようになっている。
【００６６】
ＸＨＴＭＬやＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）のような文書型におけるイメージ参照機能を拡張するために、ｃｒｏｐ、ｆｉｔ、ｒｏｔａｔｅ、ｆｌｉｐの４つのグローバル属性を導入する。これらの属性を複数同時に指定した場合は、ｃｒｏｐ属性、ｆｌｉｐ属性、ｒｏｔａｔｅ属性、ｆｉｔ属性の順に効果が適用されるものとする。
【００６７】
イメージのトリミングはｃｒｏｐ属性で指定する。ｃｒｏｐ属性の値には、スペースまたはカンマで区切られた４つの数値を与えることができる。これらの数値は、トリミング範囲となる矩形の「ｘ座標の最小値」、「ｙ座標の最小値」、「幅」、［高さ」をそれぞれ表わすものとする。
【００６８】
ｆｌｉｐ属性を使用するとイメージを反転して表示することができる、ｆｌｉｐ属性には、［反転方向」を表わす文字列を値として指定する。
【００６９】
イメージのサイズと表示領域のサイズが異なる場合は、イメージは表示領域に一致するように拡大縮小されて表示される。イメージと表示領域とで縦横比が異なっていると、これによってイメージが縦または横方向に圧縮されることになる。
【００７０】
イメージの縦横比を保持した一様な拡大縮小が行われるようにするためにはｆｉｔ属性を指定する。
【００７１】
このｆｉｔ属性には、「揃え」と「余白」の指定を組み合わせた文字列を値として指定する。「揃え」は、縦横比を保持する・しない、イメージと表示領域との関係を指定できる。
【００７２】
余白が生じるｍｅｅｔ、余白がなくなるようにする（イメージが一部表示されない）ｓｌｉｃｅのいずれかが指定できる。「余白」は省略可能で、指定されない場合は"ｍｅｅｔ"の値が指定されたものとみなす。
【００７３】
イメージの回転はｒｏｔａｔｅ属性で指定する。ｒｏｔａｔｅ属性の値には、回転角度を表わす数値を与える。回転角度はｘ軸の増加方向からｙ軸の増加方法の向き、すなわち時計周りに度単位で測るものとする。回転によってイメージを包含する矩形のサイズが変更される場合は、イメージを包含する矩形が表示領域に収まるように拡大縮小がおこなわれる。その際に、ｆｉｔ属性を用いて一様な拡大縮小をおこなうよう指定することもできる。
【００７４】
次に、画像処理に関する属性の働きについて詳細に説明する。なお、ここでは説明の都合上、画像処理における余白処理は含めていない。
【００７５】
図２〜図１９は、本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。この操作を記述する例を以下に示す。
【００７６】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"／＞
ここで、縦横の寸法が指定されているので、原画ＯＲに対して、縦横それぞれ独立に変倍をかけて指定の大きさで印刷する。すなわち、イメージのサイズと表示領域ＤＥのサイズが異なる場合は、イメージを表示領域ＤＥに一致するように表示する。すなわち、画像は縦横比を保持しないで配置される。
【００７７】
図３は、「縦横比保持して配置」する例で、この操作を記述する例を以下に示す。
【００７８】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｍｅｅｔ"／＞
ここで、原画ＯＲを指定の画像に配置する際、イメージの縦横比を保持するためにはｆｉｔ属性を指定する。ｆｉｔ属性には、「揃え」と「余白」の指定を組み合わせた文字列を値として指定する。「余白」は省略可能で、指定されない場合は"ｍｅｅｔ"の値が指定されたものとみなす。
【００７９】
揃えとしては以下の指定ができる。
【００８０】
ｘＭｉｎＹＭｉｎ：縦横比を保持してイメージと表示領域の左上端を揃える
ｘＭｉｄＹＭｉｎ：縦横比を保持してイメージと表示領域の左右中央上端を揃える
ｘＭａｘＹＭｉｎ：縦横比を保持してイメージと表示領域の右上端を揃える
ｘＭｉｎＹＭｉｄ：縦横比を保持してイメージと表示領域の上下中央左端を揃える
ｘＭｉｄＹＭｉｄ：縦横比を保持してイメージと表示領域の中央を揃える
ｘＭａｘＹＭｉｄ：縦横比を保持してイメージと表示領域の上下中央右端を揃える
ｘＭｉｎＹＭａｘ：縦横比を保持してイメージと表示領域の左下端を揃える
ｘＭｉｄＹＭａｘ：縦横比を保持してイメージと表示領域の左右中央下端を揃える
ｘＭａｘＹＭａｘ：縦横比を保持してイメージと表示領域の右下端を揃える
余白としては以下の指定ができる。
【００８１】
ｍｅｅｔ：イメージ全体が表示されるようにする（余白が生じる）
ｓｌｉｃｅ：余白がなくなるようにする（イメージが一部表示されない）
図４は「画像のトリミング」する例で、この操作を記述する例を以下に示す。
【００８２】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｃｒｏｐ＝  "ｘｔｏｐ：ｘｘｘ  ｐｘ；  ｘｌｅｆｔ：ｘｘｘ  ｐｘ；  ｘｗｉｄｔｈ：ｘｘｘ  ｐｘ；  ｘｈｅｉｇｈｔ：ｘｘｘ  ｐｘ；"  ／＞
ここで、イメージのトリミングはｃｒｏｐ属性で指定する。ｃｒｏｐ属性の値には、トリミング範囲となる矩形の「ｘ座標の最小値」、「ｙ座標の最小値」、「幅」、「高さ」をそれぞれ表わすものとする。
【００８３】
前記の表現では、もともとのイメージにトリミングを施し、トリミング後のサイズをオリジナルの表示領域ＤＥに拡大して表示する。この場合、アスペクト比は保証されない。すなわち、イメージのサイズと表示領域ＤＥのサイズが異なる場合は、イメージを表示領域ＤＦに一致するように表示する。画像は縦横比を保持しないで配置される。
【００８４】
図５は「トリミングしてから縦横比保持して配置」する例で、この操作を記述する例を以下に示す。
【００８５】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｃｒｏｐ＝  "ｘｔｏｐ：ｘｘｘ  ｐｘ；  ｘｌｅｆｔ：ｘｘｘ  ｐｘ；  ｘｗｉｄｔｈ：ｘｘｘ  ｐｘ；  ｘｈｅｉｇｈｔ：ｘｘｘ  ｐｘ；"  ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｓｌｉｃｅ"／＞
ここで、イメージのトリミングはｃｒｏｐ属性で指定する。ｃｒｏｐ属性の値には、トリミング範囲となる矩形の「ｘ座標の最小値」、「ｙ座標の最小値」、「幅」、「高さ」をそれぞれ表わすものとする。トリミングしたイメージを縦横比を保持して一様な拡大縮小が行われるようにするためには、ｆｉｔ属性を指定する。
【００８６】
ｆｉｔ属性には、「揃え」と「余白」の指定を組み合わせた文字列を値として指定する。「余白」は省略可能で、指定されない場合は"ｓｌｉｃｅ"の値が指定されたものとみなす。
【００８７】
図６は「画像の反転後配置」する例で、この操作を記述する例を以下に示す。
【００８８】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"ｆｌｉｐ＝"ｈｏｒｉｚｏｎｔａｌ"／＞
ここで、ｆｌｉｐ属性を使用するとイメージを反転して表示することができる、ｆｌｉｐ属性には、「反転方向」を表わす文字列を値として指定する。イメージのサイズと表示領域ＤＥのサイズが異なる場合は、イメージを表示領域ＤＥに一致するように表示する。すなわち、画像は縦横比を保持しないで配置される。
【００８９】
反転方向は以下の様に指定できる。
【００９０】
ｈｏｒｉｚｏｎｔａｌ：水平方向の反転（左右反転）を行う
ｖｅｒｔｉｃａｌ：垂直方向の反転（上下反転）を行う
図７は「反転して縦横比保持して配置」する例で、この操作を記述する例を以下に示す。
【００９１】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"ｆｌｉｐ＝"ｈｏｒｉｚｏｎｔａｌ"ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｍｅｅｔ"／＞
ここで、原画を指定の画像に配置する際、イメージの縦横比を保持するためにはｆｉｔ属性を指定する。
【００９２】
図８は「画像の回転配置」する例で、この操作を記述する例を以下に示す。
【００９３】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"ｒｏｔａｔｅ＝"４５  ｄｅｇ"／＞
ここで、イメージの回転はｒｏｔａｔｅ属性で指定する。ｒｏｔａｔｅ属性の値には、回転角度を表わす数値を与える。回転角度はｘ軸の増加方向からｙ軸の増加方法の向き、すなわち時計周りに度単位で測るものとする。回転によってイメージを包含する矩形のサイズが変更される場合は、イメージを包含する矩形が指定の表示領域ＤＥに収まるように縦横比を保持せず配置される。
【００９４】
図９は「回転して縦横比保持して配置」する例で、この操作を記述する例を以下に示す。
【００９５】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"ｒｏｔａｔｅ＝"４５ｄｅｇ"ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｍｅｅｔ"／＞
ここで、回転によってイメージを包含する矩形のサイズが変更される場合は、イメージを包含する矩形が表示領域ＤＥに収まるように縦横比を保持しつつ拡大縮小する。
【００９６】
＜ｍｅｅｔ＞が指定された場合、イメージを時計方向に４５度回転した状態で、縦横比を保持しつつ、イメージ全体が表示されるようにする（余白が生じる）。
【００９７】
＜ｓｌｉｃｅ＞が指定された場合、イメージを時計方向に４５度回転した状態で、さらにイメージが表示領域に余白なく表示されるように周囲がトリミングされて表示される（イメージが一部表示されない）。
【００９８】
なにも指定されない場合は上記で、"ｍｅｅｔ"の値が指定されたものとみなす。
【００９９】
図１０は「画像のトリミングして反転配置」する例で、この操作を記述する例を以下に示す。
【０１００】
＜ｉｍｇ  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｃｒｏｐ＝"ｘｔｏｐ：ｘｘｘ  ｐｘ；  ｘｌｅｆｔ：ｘｘｘ  ｐｘ；  ｘｗｉｄｔｈ：ｘｘｘ  ｐｘ；  ｘｈｅｉｇｈｔ：ｘｘｘ  ｐｘ；"  ｆｌｉｐ＝"ｈｏｒｉｚｏｎｔａｌ"／＞
図１１は「トリミングして縦横比保持して反転配置」する例で、この操作を記述する例を以下に示す。
【０１０１】
＜ｉｍｇ  ｄａｔａ＝"ａｂｃ．ｊｐｇ"  ｔｙｐｅ＝"ｉｍａｇｅ／ｊｐｅｇ"  ｔｏｐ＝"ｘｘｘ  ｍｍ"  ｌｅｆｔ＝"ｘｘｘ  ｍｍ"  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｃｒｏｐ＝"ｘｔｏｐ：ｘｘｘ  ｐｘ；  ｘｌｅｆｔ：ｘｘｘ  ｐｘ；  ｘｗｉｄｔｈ：ｘｘｘ  ｐｘ；  ｘｈｅｉｇｈｔ：ｘｘｘ  ｐｘ；"  ｆｌｉｐ＝"ｈｏｒｉｚｏｎｔａｌ"  ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｓｌｉｃｅ"／＞
図１２は「画像をトリミングして回転後配置」する例で、この操作を記述する例を以下に示す。
【０１０２】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｃｒｏｐ＝  "ｘｔｏｐ：ｘｘｘ  ｐｘ；ｘｌｅｆｔ：ｘｘｘ  ｐｘ；ｘｗｉｄｔｈ：ｘｘｘ  ｐｘ；ｘｈｅｉｇｈｔ：ｘｘｘ  ｐｘ；"  ｒｏｔａｔｅ＝"４５  ｄｅｇ"／＞
ここで、元画像の一部を切り出し、回転し、指定領域に再現する。この場合、目的領域にあわせて高さ幅を独立して変倍する。長方形であった原画が平行四辺形となる場合がある。
【０１０３】
図１３は「トリミングと回転後、縦横比保持して配置」する例で、この操作を記述する例を以下に示す。
【０１０４】
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｃｒｏｐ＝  "ｘｔｏｐ：ｘｘｘ  ｐｘ；ｘｌｅｆｔ：ｘｘｘ  ｐｘ；  ｘｗｉｄｔｈ：ｘｘｘ  ｐｘ；  ｘｈｅｉｇｈｔ：ｘｘｘ  ｐｘ；"  ｒｏｔａｔｅ＝"４５  ｄｅｇ"ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｓｌｉｃｅ"／＞
ここで、元画像の一部を切り出し、回転し、指定領域に再現する。この場合、目的領域に合わせて高さ幅を連動して変倍する。
【０１０５】
今まで説明してきた画像操作における余白処理を実現する過程、特に、回転無で、縦横比を保持して配置する例を、本発明を適用した処理シーケンスを説明する。
【０１０６】
図１４は配置領域を指定した例で、イメージデータを出力するメディア上の座標・幅・高さを与えた様子を示している。図１５は元画像を示した例図で、データの解析により縦・横の画素数がわかる。
【０１０７】
図１６は元画像を、指定領域の形状に合わせて、縦横比を保持しつつ、変形した例で、余白は白データが配置されている例で、図１７は余白と画像のそれぞれに対応する透明度プレーンのデータ、所謂アルファーチャネル部を生成した例であり、図１８は透明度データと画像の合成した例、図１９は透明度データが付属した画像データを目的領域（背景画像）に透過合成した結果例である。
【０１０８】
今まで説明してきた画像処理における余白処理を実現する過程、特に、回転し、縦横比を保持しないで配置する例を、本発明を適用した処理シーケンスを説明する。
【０１０９】
図２０〜図２７は、本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【０１１０】
図２０は配置領域の指定状態を示し、特に、イメージデータが出力されるメディア上の座標・幅・高さを与えた様子を示している。
【０１１１】
図２１は元画像ＯＲを示した例で、データの解析により縦・横の画素数がわかる。図２２は元画像ＯＲを４５度回転した図形を模擬した例である。図２３は元画像ＯＲを４５度回転した図形のメモリメージで、このように回転画像ＬＩＭでは、メモリの記憶形が矩形Ｍに基づいているため、必ず余白ＳＰ１〜ＳＰ４が生じる。なお、余白ＳＰ１〜ＳＰ４には白データが配置されている。
【０１１２】
図２４は余白と画像のそれぞれに対応する透明度プレーンの透明度データＴＰＬ、所謂アルファーチャネル部を生成した例である。図２５は透明度データＴＰＬと画像との合成した例である。
【０１１３】
図２６は透明度データＴＰＬと画像との合成して、指定領域に合わせて変形した例である。図２７は透明度データＴＰＬが付属した画像データを目的領域に透過合成した結果例である。
【０１１４】
図２８は、図１に示した画像処理装置における画像処理例を説明する図であり、イメージデータの、読み込み、変換、保存、管理の手順の例である。
【０１１５】
＜ｏｂｊｅｃｔ＞要素のｄａｔａ属性で指定された画像ファイルを読み込み、ｔｙｐｅ属性で指定されたイメージの種類別（ｉｍａｇｅ／ｊｐｅｇ、ｉｍａｇｅ／ｐｎｇ、ｉｍａｇｅ／ｇｉｆ）を認識した上で、ＲＧＢのビットマップへ変換する。
【０１１６】
まず、ｉｍａｇｅ／ｊｅｐｇ（ＪＰＥＧ）はデコードを行いビットマップに変換する。
【０１１７】
次に、ｉｍａｇｅ／ｐｎｇ（ＰＮＧ）は、ｔＲＮＳチャンクで指定された透過ピクセルを内部透過色へ置換しながらデコードを行いビットマップに変換する。
【０１１８】
このとき内部透過色と同じ色が出現した場合は、人の目では１ビットの色変化を認識できないという事実に基づきＲＧＢ２４ビット中の１ビットを違う値へ変化させる。
【０１１９】
さらに、ｉｍａｇｅ／ｇｉｆ（ＧＩＦ）は、透過パレットで指定された透過ピクセルを内部透過色へ置換し、前記ｐｎｇと同様の手法を用いてビットマップに変換する。
【０１２０】
なお、アニメーションＧＩＦの場合は、最初のフレーム画面がビットマップに使用される。前記ｔｙｐｅが省略された場合は、ｄａｔａのファイル拡張子を用いて、「．ｊｐｇはＪＰＥＧ画像」、「．ｐｎｇはＰＮＧ画像」、「．ｇｉｆはＧＩＦ画像」とイメージ種別を判定する。
【０１２１】
拡張子で判定できない場合はさらに、読み込んだファイルの先頭２バイトから、「ＦＦ，Ｄ８」はＪＰＥＧ画像、「８９，５０」はＰＮＧ画像、「８Ａ，４Ｄ」はＭＮＧ画像、「４７，４９」はＧＩＦ画像、とイメージの種別を推定する。
【０１２２】
変換したビットマップはオブジェクトリストへ登録し管理される。
【０１２３】
既に読み込まれている画像リソースが再度指定された場合は、登録済みのオブジェクトリストが参照され、新たにイメージの読み込み、変換はしない。
【０１２４】
ところで、画像リソースの読み込みに失敗した場合は、画像は出力されずｂａｃｋｇｒｏｕｎｄ−ｃｏｌｏｒ：で指定されている背景色で塗りつぶす。
【０１２５】
図２９は、本発明に係る画像処理装置におけるデータ処理手順を説明するフローチャートであり、図１に示したＣＰＵ２４がＲＡＭ上にロードして実行する透過画像合成処理手順に対応すし、特に余白部を完全透明、画像部分を不透明として配置する、すなち、透過度に中間値が無い系における処理手順に対応する。
【０１２６】
なお、本処理の場合、予め定めた色コードを「透明」を表すマーカとして用いる。それゆえ、透過度を表わすためのデータプレーンを必要としない利点がある。また、ｓｔｅｐ−１〜ｓｔｅｐ−６は各ステップを示す。
【０１２７】
先ず、ステップｓｔｅｐ−１で、例えばホストコンピュータ１０〜１２等から受信する受信データを操作モジュールに取り込む。ここで、画像データは圧縮したデータ形式、例えばｐｎｇ／ｇｉｆやｊｐｇで表現されているとする。
【０１２８】
次に、ステップｓｔｅｐ−２で、前記圧縮画像データを機器での内部表現、例えば２４ｂｉｔ  ＲＧＢ形式に伸張・変換する。
【０１２９】
そして、ステップｓｔｅｐ−３で、属性の指示に従い、画像データを回転したり、元画像と配置領域との大小関係に合わせて縦横変倍したりする。次に、ステップｓｔｅｐ−４で、画像領域を検索・スキャンして、「予め定めた色コード＝透明マーカ」が存在している場合は、隣接する最近傍色に置換する。
【０１３０】
例えば、Ｒ＝０，Ｇ＝０，Ｂ＝０を透明マーカと定義し、偶然前記マーカと一致した色が出現した場合、その画素データをＲ＝０，Ｇ＝０，Ｂ＝１に置き換える。なお、この操作によっても、最終出力における視覚効果には実用上ほとんど影響を与えない。ここで、前記マーカを説明のため、Ｒ＝０，Ｇ＝０，Ｂ＝０としたが、これに限らず他の任意の数値でもかまわない。
【０１３１】
そして、ステップｓｔｅｐ−５で、前記における回転や変倍の結果で生じた余白部を前記マーカ色に置換する。最後に、ステップｓｔｅｐ−６で、以上のステップで完成した画像データをメモリ上に配置するもので、背景との合成においては、前記マーカ色の画素に対してはオペレーションをせず、其の他の画像データにたいしては、前記画像で背景画素を上書き処理して、処理を終了する。
【０１３２】
なお、ステップｓｔｅｐ−３とステップｓｔｅｐ−４との処理順番は、逆でもよい。さらに、対象画素に前マーカ色と同じ値が存在している場合は、色コードを最近傍色に変更する操作、前記自由変形の結果生じる余白部を全て前記マーカに置換する操作、以上の操作を同時に行ってもよい。
【０１３３】
実用的には、ステップｓｔｅｐ−４をステップｓｔｅｐ−２の中で同時に行う方がメモリのアクセス回数が減り効率的である。また、Ｒ＝０，Ｇ＝０，Ｂ＝０を透明マーカと定義すれば、前記自由変形の結果生じる余白部は通常Ｒ＝０，Ｇ＝０，Ｂ＝０となるため、改めて前記マーカ値に置換する操作は不要となる。
【０１３４】
〔第２実施形態〕
以下、透過合成の一例で、特に余白部を完全透明、画像部分を不透明として配置する第２実施形態の画像処理過程を可視化モデルにより説明する。
【０１３５】
図３０は、本発明に係る画像処理装置における画像処理状態を説明する模式図であり、回転合成の画素に注目した例である。
【０１３６】
図３０の（ａ）は回転した状態で、丸印は画素を表す。ここで、余白を表すマーカと同じデータＤＴ１がたまたまオブジェクト（画像データ）ＯＪにも存在していることを示している。
【０１３７】
図３０の（ｂ）は色コード掃引／置換後の画素で、上記のマーカと同じデータがオブジェクトの掃引によって検出され、それが隣接する色に置換（画素ＤＴ１−１）された状態を示している。
【０１３８】
図３０の（ｃ）は背景画像ＢＡＣＫを示し、図３０の（ｄ）は図３０に示す背景画像ＢＡＣＫと画像データＯＪを透過合成した状態で、これは透過マーカの部分は背景画像ＢＡＣＫと同じ色ＢＡＣＫ−１〜ＢＡＣＫ−４とし、そうでないところはオブジェクトの色に置換た結果を示している。
【０１３９】
以下に、本発明に係る画像処理装置における画素のデータ構成を説明する。
【０１４０】
図３１は、本発明に係る画像処理装置における画素のデータ構成を説明する図であり、（ａ）はＲＧＢ２４ｂｉｔのテータ構成を示し、（ｂ）は透明マーカの例を示し、（ｃ）は透明度として８ｂｉｔの深さを持つ画素データ構成を表す。すなわち、マーカに拠らない方法では、透明度を表す８ｂｉｔ分が画素ごとに加わることになる。
【０１４１】
〔回転合成処理〕
図３２は、本発明に係る画像処理装置における画像処理結果例を示す図であり、回転後背景と対象画像（元絵）とを合成する例である。
【０１４２】
図３２の（ａ）は元絵を示し、図３２の（ｂ）は背景を示し、図３２の（ｃ）は元絵を時計方向に回転した状態を示し、図３２の（ｄ）は図３２の（ｃ）に示す回転画像をスケーリングした状態を示す。
【０１４３】
図３２の（ｅ）は、画像の単純重ね合わせ、図３２の（ｆ）は画像の透過合成をそれぞれ表している。なお、回転によってできる余白ＳＰ−１〜ＳＰ−４は、解りやすくするため、「白色」で表示されている。
【０１４４】
以上、説明してきた様に、透明度の中間的な設定ではなく、透明か不透明かの単純な２つの状態に限れば、予め定めた色コードを「透明マーカ」として利用することにより、透明度を表現する、例えば深さ８ビットの透過度を表すデータを画素数分用意する必要がないので、大幅な作業用メモリの節約になる。
【０１４５】
例えば図１７，図２４に示した透明度データプレーンを"元画像"と"余白"に限定し、＜ｉｍｇ＞に以下の特性値を追加する。
【０１４６】
即ち、属性名としてａｌｐｈａ、属性値として"画像濃度  余白濃度"ｏｒ"濃度"値範囲として、０．０〜１．０．ゆえに、０＝透明、１＝不透明  、指定無し＝１（不透明）となる。
【０１４７】
第１の例としては、画像（ａｂｃ．ｊｐｇ）５０％  、余白（青）２５％で透過であれば、
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"  ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｍｅｅｔ"
ａｌｐｈａ＝"５０％  ２５％"  ｓｔｙｌｅ＝"ｂａｃｋｇｒｏｕｎｄ：ｂｌｕｅ；"／＞  と表現できる。
【０１４８】
第２の例では、画像（ａｂｃ．ｊｐｇ）および余白（青）  ７０％で透過とすると、
＜ｉｍｇ  ｓｒｃ＝"ａｂｃ．ｊｐｇ"    ｗｉｄｔｈ＝"ｘｘｘ  ｍｍ"  ｈｅｉｇｈｔ＝"ｘｘｘ  ｍｍ"  ｆｉｔ＝"ｘＭｉｄＹＭｉｄ  ｍｅｅｔ"  ａｌｐｈａ＝"０．７"  ｓｔｙｌｅ＝"ｂａｃｋｇｒｏｕｎｄ：ｂｌｕｅ；"／＞と表現できる。
【０１４９】
〔イメージ処理例〕
以下に、本発明に係る画像処理装置における画像処理効果例を説明する。
【０１５０】
図３３〜図３６は、本発明に係る画像処理装置における画像処理効果例を説明する図であり、図３３は画像の反転配置効果例を示し、図３４は画像のトリミング配置効果例を示し、図３５は、画像のトリミング後回転配置の効果例を示し、図３６は画像の回転配置の効果例を示し、例えば４５度ずつ時計方向に回転して配置した例である。
【０１５１】
このように、たった１つの元画像だけコンテンツに含ませれば、他は参照属性の回転角を変化させて多くの表現配置が可能となる。また、コンテンツの容量を増やさないで、表現の幅も広がる。
【０１５２】
ここで明らかなように、従来のやり方では、操作した画像を個別に作成し、それぞれをコンテンツに含めていた。
【０１５３】
これに対して、本実施形態では、１つの画像のみをコンテンツに付加し、その画像に対して複数の配置属性を関連づけ、表示・印刷装置が前属性に基づきそれぞれを媒体上に配置する。それゆえ、コンテンツ全体の容量も大幅に小さくなり、かつ、コンテンツ製作の工数も減少する利点がある。
【０１５４】
〔第３実施形態〕
次に、本発明に係る画像処理装置を印刷システムに適用した例を説明する。
【０１５５】
図３７は、本発明の第３実施形態を示す画像処理装置を適用する印刷システムの印刷装置の外観を示す斜視図であり、例えばエンジンがインクジェット方式によるプリンタエンジンを備える場合に対応する。
【０１５６】
図３７において、本装置は自動的に複数枚の紙を給紙できるオートシートフィーダ３７０１が装備してある。現在印刷されている、すなわちプラテン上にある紙が排紙トレイ３７０３に排紙されようとする際、オートシートフィーダ３７０１は次の紙をプリンタの給紙挿入口に導く。プリンタは排紙後、給紙挿入口のペーパーセンサにより紙を検出すると、次の紙をプラテンにセットするべく給紙を行う。
【０１５７】
オートシートフィーダ３７０１のペーパートレイには紙残量センサが装着されており、オートシートフィーダ３７０１にセットされている紙量が所定の量よりも減少した場合には、センサが反応する。
【０１５８】
Ｐｏｗｅｒ  Ｂｕｔｔｏｎ３７０２は、電源がＯｆｆ状態で押すと、電源Ｏｎとなる。一方、Ｏｎ状態で押されれば一旦印刷ジョブを中断（Ｓｕｓｐｅｎｄ）し、Ｒｅｓｕｍｅ  Ｂｕｔｔｏｎ３７０４で処理が継続する。また、Ｓｕｓｐｅｎｄ状態でさらに押しつづけると電源Ｏｆｆとなる。
【０１５９】
図３８は、本発明に係る画像処理装置を適応する印刷システムの構成を示す図である。
【０１６０】
本実施形態の印刷システムは、ＰＤＡやＰＣより、有線または無線のＩ／Ｆを介して接続される形態とする例で、入力されるコンテンツデータ３８０３を解釈実行し印刷データに変換するコントローラ３８０１、該コントローラ３８０１が変換した印刷データに基づき、画像を形成するプリントエンジン３８０２によって構成される。なお、本例に示すコントローラ３８０１の実態は、例えばＬｉｎｕｘ  ＯＳのもとで動作するＣＰＵ、記憶装置およびインタフェースを含むシングルボードコンピュータの例である。
【０１６１】
図３９は、図３８に示したコントローラ３８０１の処理の概略を示すブロック図である。以下、コントローラを構成する各機能モジュールを説明する。
【０１６２】
図３９において、Ｉｎｔｅｒｆａｃｅ３９０１はホスト３８０３からのコンテンツデータの入力を受け付け、プリンタの状態を通知する。
【０１６３】
Ｐａｒｓｅ３９０２は、例えばＸＭＬ系言語とｓｔｙｌｅ表記言語の組合せにより記述されたコンテンツの構文を解析する。Ｌａｙｏｕ３９０３は印刷オブジェクトの配置データを作成する。Ｉｍａｇｉｎ３９０４は印刷オブジェクトの、例えばｊｐｅｇ形式データをデコードしたり、イメージのサイズ調整等の画像処理を実行する。Ｆｏｎｔ３９０５はコンテンツによって指定されたフォントデータを作成管理する。Ｂａｎｄｉｎ３９０６は配置データに基づきページを構成し印刷データを実際に作成する。すなわち、プリントエンジンが受け取れるデータ形式に変換する。
【０１６４】
図４０は、図３８に示したホスト３８０３から入力されるコンテンツの構成内容を説明する図である。
【０１６５】
図４０において、（ａ）に示すように各々が独立したファイルとして存在する個別ファイル形式または、（ｂ）に示すように複数ファイルを１つのファイルとしてエンコーディングした一括モジュール形式の形態をとり、ホストとの接続方式によって使い分ける。
【０１６６】
Ｄｏｃｕｍｅｎｔ４００１は印刷する主たる内容を含む「本文」にあたる。Ｓｔｙｌｅｓ４００２は配置や形に関する修飾表現を含む。Ｉｍａｇｅｓ４００３は画像データである。なお、ＳｔｙｌｅｓとＩｍａｇｅｓは任意のファイル数で構成される。
【０１６７】
図４１は、図３９に示したインタフェース３９０１の処理概要を説明する図である。
【０１６８】
図４１において、ホスト３８０３から入力されたコンテンツデータをＰａｒｓｅ３９０２へ引渡して解析処理を開始する。
【０１６９】
全コンテンツ・データは個別のファイル形式またはエンコーディングされた一括モジュール形式として入力される。プリントエンジン３８０２から用紙切れ、インク切れなどのプリンタステータスを取得し、ホスト３８０３へ印刷状況を出力する。ホスト３８０３から一括モジュール形式としてコンテンツデータが入力された場合は、Ｄｏｃｕｍｅｎｔ，Ｓｔｙｌｅｓ，Ｉｍａｇｅｓの各ブロックを個々のファイルへ分割する。
【０１７０】
図４２は、図３９に示したバンディング３９０６の描画処理されるページイメージとバンドの関係を説明する模式図である。
【０１７１】
本実施形態の印刷装置に入力されるデータの形式は付加情報とコンテンツからなる。付加情報は、画像の縦横サイズ（Ｗ，Ｈ）および画像の位置座標Ｐ（Ｘ，  Ｙ）を含む。これらデータブロックの集合は、（１）ＪＰＥＧ、（２）ＰＮＧ、（３）テキストの各形式を含む。
【０１７２】
図４３は、図３９に示したバンディング３９０６の描画処理におけるバンドテーブルとディスプレイリストテーブルとの関係を説明する図であり、各ページ毎に管理される例である。
【０１７３】
図４３に示すように、本実施形態では、各バンドに属する画像データブロックが記憶されている。
【０１７４】
また、１ページ分の画像データブロックは最適な抽象度の形式に変換されたデータ（ＤＬ）形式で、各バンドに属するするデータブロック（ＤＬ）がリスト構造を有するテーブルＤＬＴ４３０１に順次リンクされる。実際の印刷では、各バンドに属するＤＬを最終印刷形式に変換しつつプリントエンジンに備えた、バンドバッフアメモリに配置し、キャリジの動きに同期してＤＭＡ転送により順次読み出し、図３７に示したインクジェット方式のプリンタエンジン部のインク吐出駆動ヒータ回路に供給する。
【０１７５】
図４４は、図４３に示したＤＬＴ４３０１のデータ構造を説明する図である。
【０１７６】
図４４に示すように、ＤＬＴ４３０１は、ＤＬのタイプ識別子４３０１−１、次のＤＬＴへのリンク４３０１−２、ＤＬの内容４３０１−３を含むテーブルである。
【０１７７】
なお、ＤＬのタイプ４３０１−１はプリンタの印刷スピードや解像度、最終印刷データを生成するハードウエア（Ｇｒａｐｈｉｃ  Ｅｎｇｉｎｅ  Ｕｎｉｔ）の能力などの要因により、その抽象度及びフオーマットは最適化される。一般には、データ形式の複雑さ、データサイズ、展開のスピードのバランスで決める。
【０１７８】
図４５は、図３８に示したプリンタエンジン３８０２の構成を示す図である。
【０１７９】
図４５において、４００１はインタフェース部で、コントローラ３８０１から印刷データを入力する、４００２はＭＰＵで、ＲＯＭ４００３に格納される制御プログラムや印刷情報をＲＡＭ４００４にロードして、各種のデータ処理を行う。なお、ＲＡＭ４００４は各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておくワークメモリとしても機能する。
【０１８０】
４００５はゲートアレイ（ＡＳＩＣ）で、記録ヘッド４００６に対する出力データの生成・制御を行うインタフェース部４００１、ＭＰＵ４００２、ＲＡＭ４００４間のデータの転送制御も行う。４００７はキャリジモータで、記録ヘッド４００６を搬送する。
【０１８１】
４００８は搬送モータで、記録用紙の搬送を行う。４００９はヘッドドライバで、記録ヘッド４００６を駆動する。４０１０はモータドライバで、前記キャリジモータ４００７を駆動する。４０１１はモータドライバで、搬送モータ４００８を駆動する。
【０１８２】
以下、図４６に示すメモリマップを参照して本発明に係る画像処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１８３】
図４６は、本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１８４】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１８５】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１８６】
本実施形態における図２９に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１８７】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１８８】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８９】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１９０】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１９１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１９３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１９４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９６】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１９７】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【０１９８】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０１９９】
【図１】本発明の第１実施形態を示す画像処理装置を備えた画像処理システムの構成を示すブロック図である。
【図２】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図３】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図４】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図５】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図６】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図７】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図８】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図９】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１０】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１１】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１２】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１３】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１４】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１５】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１６】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１７】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１８】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図１９】本発明に係る画像処理装置における画像配置処理を概念的に説明する模式図である。
【図２０】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２１】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２２】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２３】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２４】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２５】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２６】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２７】本発明に係る画像処理装置における画像加工配置例を説明する模式図である。
【図２８】図１に示した画像処理装置における画像処理例を説明する図である。
【図２９】本発明に係る画像処理装置におけるデータ処理手順を説明するフローチャートである。
【図３０】本発明に係る画像処理装置における画像処理状態を説明する模式図である。
【図３１】本発明に係る画像処理装置における画素のデータ構成を説明する図である。
【図３２】本発明に係る画像処理装置における画像処理結果例を示す図である。
【図３３】本発明に係る画像処理装置における画像処理効果例を説明する図である。
【図３４】本発明に係る画像処理装置における画像処理効果例を説明する図である。
【図３５】本発明に係る画像処理装置における画像処理効果例を説明する図である。
【図３６】本発明に係る画像処理装置における画像処理効果例を説明する図である。
【図３７】本発明の第３実施形態を示す画像処理装置を適用する印刷システムの印刷装置の外観を示す斜視図である。
【図３８】本発明に係る画像処理装置を適応する印刷システムの構成を示す図である。
【図３９】図３８に示したコントローラの処理の概略を示すブロック図である。
【図４０】図３８に示したホストから入力されるコンテンツの構成内容を説明する図である。
【図４１】図３８に示したインタフェースの処理概要を説明する図である。
【図４２】図３９に示したバンディングの描画処理されるページイメージとバンドの関係を説明する模式図である。
【図４３】図３９に示したバンディングの描画処理におけるバンドテーブルとディスプレイリストテーブルとの関係を説明する図である。
【図４４】図４３に示したＤＬＴのデータ構造を説明する図である。
【図４５】図３８に示したプリンタエンジンの構成を示す図である。
【図４６】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０２００】
２０  コントローラ
２４  ＣＰＵ
２５  ＲＯＭ
２６  ＲＡＭ
３１  画像形成部
３２  操作部
【図１】
2005208694.tif 000003
【図２】
2005208694.tif 000004
【図３】
2005208694.tif 000005
【図４】
2005208694.tif 000006
【図５】
2005208694.tif 000007
【図６】
2005208694.tif 000008
【図７】
2005208694.tif 000009
【図８】
2005208694.tif 000010
【図９】
2005208694.tif 000011
【図１０】
2005208694.tif 000012
【図１１】
2005208694.tif 000013
【図１２】
2005208694.tif 000014
【図１３】
2005208694.tif 000015
【図１４】
2005208694.tif 000016
【図１５】
2005208694.tif 000017
【図１６】
2005208694.tif 000018
【図１７】
2005208694.tif 000019
【図１８】
2005208694.tif 000020
【図１９】
2005208694.tif 000021
【図２０】
2005208694.tif 000022
【図２１】
2005208694.tif 000023
【図２２】
2005208694.tif 000024
【図２３】
2005208694.tif 000025
【図２４】
2005208694.tif 000026
【図２５】
2005208694.tif 000027
【図２６】
2005208694.tif 000028
【図２７】
2005208694.tif 000029
【図２８】
2005208694.tif 000030
【図２９】
2005208694.tif 000031
【図３０】
2005208694.tif 000032
【図３１】
2005208694.tif 000033
【図３２】
2005208694.tif 000034
【図３３】
2005208694.tif 000035
【図３４】
2005208694.tif 000036
【図３５】
2005208694.tif 000037
【図３６】
2005208694.tif 000038
【図３７】
2005208694.tif 000039
【図３８】
2005208694.tif 000040
【図３９】
2005208694.tif 000041
【図４０】
2005208694.tif 000042
【図４１】
2005208694.tif 000043
【図４２】
2005208694.tif 000044
【図４３】
2005208694.tif 000045
【図４４】
2005208694.tif 000046
【図４５】
2005208694.tif 000047
【図４６】
2005208694.tif 000048