(57)【特許請求の範囲】
【請求項１】
入力された画像データを、所定の画素数単位のタイルごとに分割するタイル分割手段と、
前記タイル分割手段で分割された各タイルを、Ｍ×Ｎ画素のサイズのブロックごとに分割するブロック分割手段と、
前記ブロック分割手段で分割された各ブロックを順に処理対象とし、当該処理対象のブロック内の各画素の色データを比較することにより、前記各ブロックに含まれる色データの配置パターンを示すパターンフラグを特定するパターンフラグ特定手段と、
前記各ブロックの予め定義された位置の画素から第１色の色データを抽出し、更に、前記ブロックに含まれる色データの数が２〜４のいずれかであると判断したブロックからは、当該特定されたパターンフラグで定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出手段と、
前記パターンフラグ特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された第１色の色データと、前記抽出手段で抽出された第２〜４色の色データとをメモリに保持させる第１の保持手段と、
合成する合成画像データに基づいて、合成処理対象となるブロックの前記第１色の色データと前記第２〜４色の色データとが保持されている前記メモリにおけるアドレスを特定するアドレス特定手段と、
前記アドレス特定手段により特定されたアドレスに保持されている、前記合成処理対象となるブロックに関する前記第１色の色データと前記第２〜４色の色データとを、前記合成画像データの色データに基づいて書き換える合成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記入力された画像データの各画素は、前記色データに加えて属性データを有し、
前記画像処理装置は、
前記ブロック分割手段で分割された各ブロックを順に処理対象にし、当該処理対象のブロック内の各画素の属性データを比較することにより、各ブロックに含まれる属性データの配置パターンを示す第２のパターンフラグを特定する第２パターンフラグ特定手段と、
前記各ブロックの予め定義された位置の画素から第１の属性データを抽出し、更に、前記ブロックに含まれる属性データの数が２〜４のいずれかであると判断したブロックからは、当該特定された第２のパターンフラグで定義されている配置パターンに対応する第２〜４の属性データを抽出する第２抽出手段と、
前記第２パターンフラグ特定手段で特定された各ブロックの第２のパターンフラグと、前記第２抽出手段で抽出された第１の属性データと、前記第２抽出手段で抽出された第２〜４の属性データとを前記メモリに保持させる第２の保持手段と、
を更に有し、
前記アドレス特定手段は、前記合成画像データに基づいて、合成処理対象となるブロックの前記第１色の色データと前記第２〜４色の色データと前記第１の属性データと前記第２〜４の属性データとが保持されている前記メモリにおけるアドレスを特定し、
前記合成手段は、前記アドレス特定手段により特定されたアドレスに保持されている、前記合成処理対象となるブロックに関する前記第１色の色データと前記第２〜４色の色データと前記第１の属性データと前記第２〜４の属性データとを、前記合成画像データの色データと属性データとに基づいて書き換えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ブロックのサイズは、２×２画素のサイズであることを特徴とする請求項１または２のいずれかに記載の画像処理装置。
【請求項４】
前記タイルのサイズは、３２×３２画素のサイズであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記アドレス特定手段は、前記入力された画像データの解像度と前記合成画像データの解像度とに基づいて、前記合成処理対象となるブロックの各データが保持されている前記メモリにおけるアドレスを特定することを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記合成画像データは、合成位置を示す位置情報、解像度、合成画像の形状を示す形状情報、合成条件、画素それぞれの色情報、画素それぞれの位置情報、属性データ、のうちの少なくとも一つを含むことを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
タイル分割手段が、入力された画像データを、所定の画素数単位のタイルごとに分割するタイル分割工程と、
ブロック分割手段が、前記タイル分割工程で分割された各タイルを、Ｍ×Ｎ画素のサイズのブロックごとに分割するブロック分割工程と、
パターンフラグ特定手段が、前記ブロック分割工程で分割された各ブロックを順に処理対象とし、当該処理対象のブロック内の各画素の色データを比較することにより、各ブロックに含まれる色データの配置パターンを示すパターンフラグを特定するパターンフラグ特定工程と、
抽出手段が、前記各ブロックの予め定義された位置の画素から第１色の色データを抽出し、更に、前記ブロックに含まれる色データの数が２〜４のいずれかであると判断したブロックからは、当該特定されたパターンフラグで定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出工程と、
第１の保持手段が、前記パターンフラグ特定工程で特定された各ブロックのパターンフラグと、前記抽出工程で抽出された第１色の色データと、前記抽出工程で抽出された第２〜４色の色データとをメモリに保持させる第１の保持工程と、
アドレス特定手段が、合成する合成画像データに基づいて、合成処理対象となるブロックの前記第１色の色データと前記第２〜４色の色データとが保持されている前記メモリにおけるアドレスを特定するアドレス特定工程と、
合成手段が、前記アドレス特定工程で特定されたアドレスに保持されている、前記合成処理対象となるブロックに関する前記第１色の色データと前記第２〜４色の色データとを、前記合成画像データの色データに基づいて書き換える合成工程と、
を有することを特徴とする画像処理方法。
【請求項８】
コンピュータを、
入力された画像データを、所定の画素数単位のタイルごとに分割するタイル分割手段、
前記タイル分割手段で分割された各タイルを、Ｍ×Ｎ画素のサイズのブロックごとに分割するブロック分割手段、
前記ブロック分割手段で分割された各ブロックを順に処理対象にし、当該処理対象のブロック内の各画素の色データを比較することにより、各ブロックに含まれる色データの配置パターンを示すパターンフラグを特定するパターンフラグ特定手段、
前記各ブロックの予め定義された位置の画素から第１色の色データを抽出し、更に、前記ブロックに含まれる色データの数が２〜４のいずれかであると判断したブロックからは、当該特定されたパターンフラグで定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出手段、
前記パターンフラグ特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された第１色の色データと、前記抽出手段で抽出された第２〜４色の色データとをメモリに保持させる第１の保持手段、
合成する合成画像データに基づいて、合成処理対象となるブロックの前記第１色の色データと前記第２〜４色の色データとが保持されている前記メモリにおけるアドレスを特定するアドレス特定手段、
前記アドレス特定手段により特定されたアドレスに保持されている、前記合成処理対象となるブロックに関する前記第１色の色データと前記第２〜４色の色データとを、前記合成画像データの色データに基づいて書き換える合成手段、
として機能させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを格納した、コンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを所定のブロック単位に圧縮する画像データ圧縮装置、及び圧縮されたデータへの画像処理、及び復元処理を行う画像処理装置に関する。特に、圧縮されたデータに対して合成処理を行う画像処理装置に関する。
【背景技術】
【０００２】
従来、カラー静止画像の圧縮方式には、離散コサイン変換を利用したＪＰＥＧ方式や、Ｗａｖｅｌｅｔ変換を利用した方式が多く使われている。この種の符号化方式は、一般的に画像データを所定のブロック（例えば８×８や１６×１６画素単位）に符号化し、離散コサイン変換、量子化およびエントロピー符号化を行うことで高い圧縮効率を示している。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像データ毎に符号量が変化するものである。ブロック単位での離散コサイン変換処理を高速に行う場合、高速演算器もしくは専用ハードウェアが必要な上、バッファ用のメモリが必要となる。
【０００３】
また、高解像度化が進むにつれて合成処理に代表される画像処理を必要とする画素数が飛躍的に増えその処理負荷が増大しているという課題もある。前述した画像圧縮が為された圧縮データに対して、画素データを参照し、画素データの値を変換する画像処理を実行しようとすると、当該圧縮データの復号処理が必要になってくる。つまり圧縮データのままで合成処理に代表される画像処理を行う事は出来ず、必ず復号処理が必要になる。そのため、高解像度データ全ての画素に対して画素単位に処理を行う必要が出てしまい、処理時間の増大をまねく。
【０００４】
高解像度化に伴う画像合成処理の処理時間の増大を防ぐための画像合成装置として、例えば特許文献１がある。特許文献１によれば、画像合成対象となる複数の画像データの各縮小画像を作成し、重複領域の抽出・位置合わせを行う。これらの情報に基づいて画像データの合成を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３５８１９４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、合成対象となる画像データの縮小画像を作成しなければならないため、縮小画像を作成するための処理時間が増大してしまう。また、合成処理自体は縮小前の画像データに対して行うため、一時記憶用のメモリ容量の増大も招いてしまう。
【０００７】
本発明は、このような問題を鑑みてなされたもので、画像データを圧縮した状態で画像合成を行う領域のみに対して処理を行うことにより、安価でかつ高解像度画像データでも処理時間が短い画像処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の画像処理装置は、入力された画像データを、所定の画素数単位のタイルごとに分割するタイル分割手段と、前記タイル分割手段で分割された各タイルを、Ｍ×Ｎ画素のサイズのブロックごとに分割するブロック分割手段と、前記ブロック分割手段で分割された各ブロックを順に処理対象にし、当該処理対象のブロック内の各画素の色データを比較することにより、前記各ブロックに含まれる色データの配置パターンを示すパターンフラグを特定するパターンフラグ特定手段と、前記各ブロックの予め定義された位置の画素から第１色の色データを抽出し、更に、前記ブロックに含まれる色データの数が２〜４のいずれかであると判断したブロックからは、当該特定されたパターンフラグで定義されている配置パターンに対応する第２〜４色の色データを抽出する抽出手段と、前記パターンフラグ特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された第１色の色データと、前記抽出手段で抽出された第２〜４色の色データとをメモリに保持させる第１の保持手段と、合成する合成画像データに基づいて、合成処理対象となるブロックの前記第１色の色データと前記第２〜４色の色データとが保持されている前記メモリにおけるアドレスを特定するブロックアドレス特定手段と、前記ブロックアドレス特定手段により特定されたアドレスに保持されている、前記合成処理対象となるブロックに関する前記第１色の色データと前記第２〜４色の色データとを、前記合成画像データの色データに基づいて書き換える合成手段と、を有する。
【発明の効果】
【０００９】
安価で、かつ高解像度画像データに対しても処理時間が短い画像処理装置を提供可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る画像処理装置の全体ブロック図。
【図２】本実施形態に係る図１のコントローラ１０１のブロック図。
【図３】本実施形態に係る画像をブロック分割した際のブロックのパターン示す図。
【図４】本実施形態に係るブロックのパターンとその識別子を列挙した図。
【図５】本実施形態に係る画像圧縮のフローを示した図。
【図６】本実施形態に係るブロックのパターンをフラグへ変換している様子を示した図。
【図７】第一の実施形態に係る圧縮処理に対する入力と出力の関係を示した図。
【図８】第一の実施形態に係るページとタイルとブロックの関係を示した図。
【図９】第一の実施形態に係るパケットの構成およびヘッダの構成を示した図。
【図１０】第一の実施形態に係るパケット管理テーブルの例を示した図。
【図１１】第一の実施形態に係る圧縮データのメモリ空間上でのレイアウトの例を示した図。
【図１２】第一の実施形態に係るコントローラの動作のフローを示した図。
【図１３】第一の実施形態に係る座標（０，０）のパケットの構成およびヘッダの構成を示した図。
【図１４】第一の実施形態に係る合成情報を示した図。
【図１５】第一の実施形態に係る画像合成部２４１の動作の詳細フローを示した図。
【図１６】第一の実施形態に係るパターンフラグと第２，３，４色画素データのサイズとの関係を示した図。
【図１７】第一の実施形態に係るにおけるアドレス特定の詳細フローを示した図。
【図１８】第一の実施形態に係るパケット（１，２）のブロック座標と第２，３，４色画素データのアドレスとの関係を示した図。
【図１９】第一の実施形態に係る画像合成前後の全体イメージ図。
【図２０】第二の実施形態に係るパケットの構成およびヘッダの構成を示した図。
【図２１】第二の実施形態に係るコントローラの動作のフローを示した図。
【図２２】第二の実施形態に係る合成情報及びパケット管理テーブルの例を示した図。
【図２３】第二の実施形態に係る座標（１，２）のパケットの構成およびヘッダの構成を示した図。
【図２４】第二の実施形態に係るパケット（１，２）のブロック座標と第２，３，４色画素データとそれに対応する属性データのアドレスの関係を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜第一の実施形態＞
［システム構成］
図１に、本発明の一実施形態としての画像処理装置の全体ブロック図を示す。本発明の実施形態における画像処理装置はスキャン、プリント、コピーを行うＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｉｎｔｅｒ）を想定している。画像処理装置は、コントローラ１０１、スキャナ１０２、プリンタ１０３、通信ＩＦ１０４、メモリ１０５から構成されている。
【００１３】
コントローラ１０１は、画像処理装置全体の制御を司る部分である。コントローラ１０１はスキャナ１０２やプリンタ１０３をはじめとする各ブロックと電気的に接続されており、高度な機能を実現する為の制御を行っている。詳細については後述する。スキャナ１０２は原稿画像を光学的に読み取って電気的な画像信号に変換するブロックであり、密着型イメージセンサ、読み取り駆動部、読み取り点灯制御部等により構成される。読み取り駆動部（不図示）による制御に基づいて搬送される密着型イメージセンサによって原稿全体がスキャンされる際、読み取り点灯制御部の制御により密着型イメージセンサ内部のＬＥＤが点灯制御される。同時に、密着型イメージセンサ内部のフォトセンサが原稿画像を光学的に読み取って、電気的な画像データに変換する。
【００１４】
プリンタ１０３は電気的な画像信号を記録紙上に可視像としてプリントするブロックであり、レーザビームプリンタやインクジェットプリンタにより構成される。通信ＩＦ１０４は外部機器とのデータの送受を行うブロックであり、インターネット網やＬＡＮに接続したり、公衆電話回線に接続してＦＡＸ通信を行ったり、ＵＳＢインタフェースによりＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と接続する。メモリ１０５は、例えばＤＤＲ−ＳＤＲＡＭやＨＤＤなどのメモリデバイスであり、画像データを一時的に格納するだけでなく、画像処理装置の機能を実現する為にコントローラ１０１が使用する制御プログラムやデータなどを格納する。また、画像データの合成に必要な合成情報を格納する。
【００１５】
図２にコントローラ１０１のブロック図を示す。コントローラ１０１は、ＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)２０１やスキャナ用画像処理部２１１、画像圧縮部２１２、２４２、パケット生成部２１３、２４３を含む。さらに、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）２１４、２２１、２４４、パケット展開部２２２、画像展開部２２３、プリント用画像処理部２２４、画像合成部２３１、レンダリング部２４１を含む。
【００１６】
以下、各部の概略を説明する。ＣＰＵ２０１はコントローラ部全体を制御する。ＣＰＵ２０１は、メモリ１０５等の記憶部に格納されたコンピュータが読取可能なプログラムを読み出して実行することにより、各部を制御する。スキャナ用画像処理部２１１はスキャナ１０２が読み込んだ画像データに対して、シェーディング補正等を施し、更に、ＭＴＦ補正、色変換処理、フィルタ処理、ガンマ補正処理等の各種画像処理を行う。その後、画像圧縮部２１２へ画像データを転送する。画像圧縮部２１２の詳細に関して説明を行う。まずページ単位のスキャナ用画像処理部２１１から受信した画像データから２×２画素のブロックを抽出し、そのブロック単位でデータの圧縮を行う。
【００１７】
画像圧縮部２１２における処理の説明の前に、２×２の４画素データ中に占める色数に応じてその組み合わせの場合の数を考える。画素数が４画素であるため、そこに占める色数は最大４色になり、２×２サイズのブロック内では、たかだか１〜４色の組み合わせしか存在しない。それらのパターンが取りうる組み合わせの数を、図３を使って説明する。まずブロック内が１色の場合、４画素が同色で構成されている事になるので、その組み合わせは１通りである。次にブロック内が２色の場合を考える（各色を第１色と第２色と呼ぶこととする）。２色が４画素内へレイアウトされる場合の数は、所定位置の画素（本実施形態では左上の画素とする）の色を第１色として考えると、左上画素以外の残りの３画素へ第１色もしくは第２色が入るので、４画素同色の場合を除くと、全部で７通りの組み合わせが考えられる。
【００１８】
次にブロック内が３色（第１色〜第３色）で構成される場合を考える。３色が４画素内へレイアウトされる場合の数は、３色のうち１色だけ２度使われる場合の数と言い換える事ができ、４画素の座標のうち、２画素が同じ色になる場合の数を求めればよい。つまり３色の場合の数は、４つの座標から２つの座標を取る組み合わせとなり、全部で６通りとなる。また、ブロック内が４色（第１色〜第４色）で構成される場合は１通りしか存在しない。
【００１９】
これら１〜４色すべての場合の数を合計すると全部で１５通りのパターンが考えられる。これらすべてのパターンを識別するためにフラグを付与する事を考えると、データ量としては４ｂｉｔが必要となる。図示すると図４のようになり、以降この配置パターンを示すフラグをパターンフラグと呼ぶ。この定義されたパターンフラグにより、ブロック内における色数およびその色配置のバターンを特定することができる。
【００２０】
［圧縮処理］
上記のように２×２画素の取りうる組み合わせを踏まえて、画像圧縮部２１２にて行われる圧縮処理の処理フローを、図５を用いて説明する。入力としては、例えばＲＧＢ（Ｒｅｄ  Ｇｒｅｅｎ  Ｂｌｕｅ）それぞれ８ｂｉｔの２５６階調を持っており、またデータとしては８ｂｉｔデータの点順次で１画素辺り２４ｂｉｔ画像として説明を行う。なお、圧縮処理を行う画像データは、予めブロックのサイズに分割されていても良いし、本画像処理装置が分割手段を有しても良い。
【００２１】
処理が開始されると、まず２×２画素のブロックを入力する（Ｓ１０１）。入力されたブロック内全ての２画素の組み合わせに対して２４ｂｉｔのコンペアを取る（Ｓ１０２）。このコンペアを取った結果、全ビット一致していた場合は１を出力し、不一致の場合は０を出力する。ここで、図６に示すように、２×２画素内の左上から右上、左下、右下の順に座標１、２、３、４とすると、２画素の組は、１−２、１−３、１−４、２−３、２−４、３−４の全部で６通りある。そのため、６回コンペアを取る必要があり、結果は６ｂｉｔ出力される。例えば全画素同色の場合には、全てのコンペア結果において１を出力し、逆に４画素全て異なる画素値を持っている場合には、全てのコンペア結果において０を出力する。前述の通り、４画素で色の一致から出現しうるパターン数は１５通りなので、その６ｂｉｔのコンペア結果に対して４ｂｉｔのパターンフラグへ変換することが可能である（Ｓ１０３）。
【００２２】
４ｂｉｔのパターンフラグへ変換したら、続いて４画素内で出現した色数および色データを抽出する（Ｓ１０４）。パターンフラグから、左上を第１色とした場合の第２色以降がどの位置にあるか求める事が出来る。図７を参照しながら説明を行う。例えば４画素内が１色で構成されていることが確定した場合には、２色目以降は存在しないので、左上の画素から第１色の画素値を得て、パターンフラグ４ｂｉｔと１色目の画素値２４ｂｉｔ（ＲＧＢの各色成分８ｂｉｔ×３）を出力する（Ｓ１０６）。また４画素内が２色で構成されていることが確定した場合（Ｓ１０７）には、その２色目の座標をパターンフラグより算出して第２色の画素値を得て、パターンフラグ４ｂｉｔと２色分の画素値４８ｂｉｔを出力する（Ｓ１０８）。３色、４色の場合も同様である（Ｓ１０９、Ｓ１１０、Ｓ１１１）。この時ブロック内の座標（左上から右上、左下、右下の順に１、２、３、４）順にこれまで出現していなかった色データを記憶する。以上により、色データの取得およびパターンフラグ特定を行う。
【００２３】
このように、２×２画素からなるブロック内の４色分の入力データ（９６ｂｉｔ）を４ｂｉｔのパターンフラグとブロック内に存在する色数だけ画素値を出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。またパターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。この処理を画像ブロック全てに対して行うことで、画像全面のデータ圧縮が可能になる。
【００２４】
パケット生成部２１３は、画像圧縮部２１２により圧縮された画像データを所定の画素数単位（本実施形態では所定の画素数単位を３２×３２画素とし、この単位をタイルと呼ぶ）に分割して読み出し、タイルに所定の固定長のヘッダ情報を付与する。図８にタイルとブロックとの関係を図示する。図８に示すように、入力された画像データの各ページにおいて、ページは複数のタイルにタイル分割される。更に、分割された各タイルは、複数のブロックにブロック分割される。なお、本実施形態において、ブロックを２ｘ２画素、タイルを３２ｘ３２画素からなる構成として扱っているが、これに限定されるわけではなく、必要に応じて変更させても良い。例えば、ブロックのサイズをＭ×Ｎ画素のサイズ（Ｍ，Ｎは２以上の整数）とする。なお、タイルのサイズはブロックサイズの定数倍のサイズとする（例えばブロックのサイズが２ｘ２画素の場合、２Ｋ×２Ｌ（Ｋ，Ｌは２以上の整数））。ただし、ブロックのサイズを変更した場合には、上記で述べたパターンフラグの数やパターンフラグに必要とされるビット数も変更になることはいうまでも無い。
【００２５】
［圧縮データの構造］
続いて、入力された画像データを圧縮した際のデータ構造について述べる。上記タイル単位にて圧縮を行うことを前提とし、そのタイルの圧縮データごとにヘッダを有する。ヘッダにはページＩＤ、タイル座標、色空間、画素データのビット数、タイルのデータサイズ等を記述する。ページＩＤには、ページ単位にユニークなＩＤ番号を付与する。タイル座標には、そのタイルがページ単位のラスタ画像上どの位置にあるかを記述してある。タイル座標には、Ｘ座標とＹ座標と２次元で座標が示されているとする。
【００２６】
色空間には、そのタイルがＲＧＢ画像なのかＣＭＹＫ画像なのかＧＲＡＹ−ＳＣＡＬＥ画像なのかの識別子が記述されている。画素データのビット数には、タイル内の１画素あたりのビット長が書かれている。データサイズには、そのタイルの第２，３，４色画素データのデータサイズがＢｙｔｅ単位で記述されている。このデータ構造を図９に示す。以後、このタイルとヘッダを含めたデータの単位を“パケット”と呼ぶことにする。
【００２７】
パケットのデータ構造の生成方法について述べる。画像圧縮部２１２で生成されるデータは大きくパターンフラグ、第１色画素データ（第１色の色データ）、及び第２，３，４色画素データ（第２〜４色の色データ）、の３つのデータ種に分類可能である。各データのサイズは、タイルの単位である３２×３２画素のＲＧＢ各色８ビット画像の場合、以下のようになる。
【００２８】
パターンフラグのデータサイズ（各ブロック４ｂｉｔ）：４×１６×１６／８＝１２８Ｂｙｔｅ
第１色画素データのデータサイズ（各ブロック２４ｂｉｔ）：２４×１６×１６／８＝７６８Ｂｙｔｅ
第２，３，４色画素データのデータサイズ（各ブロック最大７２ｂｉｔ）：最大７２×１６×１６／８＝２３０４Ｂｙｔｅ
なお、第２，３，４色画素データのデータサイズは、画像データによって異なり、最小は０Ｂｙｔｅである。
【００２９】
これらのデータサイズを格納可能な記憶部をパケット生成部に用意しておき、データ種ごと領域をまとめて格納する。タイル単位で圧縮処理が終了し、データサイズが確定した後にヘッダを付加することで、図９のようなパケットのデータ構造を作ることができる。
【００３０】
ここで第１色画素データ以降のメモリ領域に関しては、画素値がピクセル単位で量子化や符号化されることなく格納して保持されている。つまり、１画素入力、１画素出力で完結する色処理（例えばＬＵＴを用いた色変換や、ガンマ補正処理、行列演算を用いた色空間変換処理等）は、パターンフラグを参照して圧縮データを展開する必要はなく、直接処理を行うことが可能になる。このように圧縮データを直接用いることで、メモリバス上の転送効率が向上し、かつオリジナルの画像に対して少ない画素数のデータに対して処理することになるので、高速処理が可能になる。
【００３１】
また図９のように画像データをメモリ上へ格納し保持することで、第１色画素データ領域は、画像データを２×２単位として、左上の座標の画素をサンプリングした画像結果がメモリ上に連続して存在することになる。これにより、第１の保持手段を実現する。本実施形態で説明している画像処理装置においては、蓄積したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の画像データやスキャンの画像データにおけるプレビュー表示や、前述したネットワーク送信などの機能も有している。例えばプリント解像度が６００ｄｐｉであったとしてもプレビューや送信時にそこまでの解像度は通常必要とされず、３００ｄｐｉやそれ以下で十分な場合が多い。こういった縮小データを得る必要がある場合は、パターンフラグや第２，３，４色を用いず、第１色画素データ領域から読み出した第１色の画像データのみ扱うことで、簡単に半分のサイズのラスタ画像を得る事が出来る。
【００３２】
［パケット管理テーブル］
タイルの座標、パケットサイズ、パケットが置かれているアドレスをリストとして列挙し、パケット管理テーブルとして作成することで、任意のパケットへのアクセスが可能になる。パケット管理テーブルの例を図１０（Ａ）に示す。このようにしてタイル単位で画像データをパケットとしてメモリへ書き出すと図１１のようにパケット毎にサイズが異なり、それぞれのパケットの先頭アドレスが一定の間隔ごとではなくなってしまう。そのためパケット管理テーブルを用いて、任意の座標のパケットにおける先頭アドレスを探索する。このようにタイル単位に任意のデータへのアクセスが可能になるので、画像データの部分的な処理が可能になる。
【００３３】
さらに、パケット生成部２１３は生成したパケットをＤＭＡＣ２１４に転送する。ＤＭＡＣ２１４、２２１、２４４は、メモリ１０５との間における画像データの転送を制御し、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）機能を有している。パケット展開部２２２は、ＤＭＡＣ２２１からパケットを受信する。さらにパケットのヘッダから抜き出したパターンフラグ、第１色画素データ、及び第２，３，４色画素データを画像展開部２２３に送出する。画像展開部２２３では前述したようなパターンフラグ、画素データをもとに２×２のラスタ画像データへ戻す処理を行う。
【００３４】
プリント用画像処理部２２４はスキャナ用画像処理された画像データに対して２値化処理、中間調処理、そしてＲＧＢからＣＭＹＫ等への色変換処理を行い、中間調画像データに変換する。さらに、記録解像度に合わせて解像度変換し、画像データの変倍、スムージング、濃度補正等の各種画像処理を施し、高精細な画像データに変換する。そして、レーザビームプリンタ等に出力する。画像合成部２３１は、メモリ１０５に格納された合成情報から、合成を行うブロックを判断し、合成を行う機能を有する。
【００３５】
レンダリング部２４１は、通信ＩＦ１０４から送られてきたＰＤＬデータに対し、ＣＰＵ２０１がインタープリットして出力するディスプレイリストに基づいてラスタのＲＧＢ画像データへレンダリングを行う。その後、画像圧縮部２４２にて画像圧縮部２１２で行うものと同等の画像圧縮処理を画像データに対して行う。その圧縮データをパケット生成部２４３にてパケット生成部２１３で行うものと同等の処理を行い、パケットを生成する。
【００３６】
［処理フロー］
図１２は、本発明の第一の実施形態における画像処理装置の動作を示すフローチャートである。第一の実施形態では、画像データがスキャナから読み込まれ、その画像データに対して合成処理が行われプリンタに出力されるまでを述べる。特に画像合成のフローに関して詳述する。以下の説明で用いるサンプルの画像データのサイズは６４×９６画素、解像度は６００ｄｐｉとする（図１９（Ａ）は合成処理前の画像の例である）。また、パケット生成時のタイルの大きさは３２×３２画素とする。合成を行う画像データのサイズは３００ｄｐｉ相当で１６×１６画素とする。また、パケットヘッダの大きさは１６Ｂｙｔｅとする。なお、本実施形態において、特に明記している場合を除き、本処理はメモリ１０５等の記憶部に格納されたプログラムをＣＰＵ２０１が読み出して実行するものとする。
【００３７】
スキャナ１０２においてＲＧＢ３色の画像データの読み取りを行う（Ｓ２０１）。次に、コントローラ１０１のスキャナ用画像処理部２１１にてシェーディング処理やフィルタ処理等の画像処理を行う（Ｓ２０２）。次に画像圧縮部２１２にて上述した画像圧縮処理を行う（Ｓ２０３）。その圧縮データをパケット生成部２１３にてパケットに変換する（Ｓ２０４）。そして、ＤＭＡＣ２１４を介してメモリ１０５に該パケットのデータを格納する（Ｓ２０５）。図１３にタイル座標（０，０）で表されるパケットのデータ構造を示す。なお、図１３のパケットの例では、２×２画素が全て１色で構成されているため、第２〜４色画素データは存在しない。ＣＰＵ２０１でパケット管理テーブルの作成を行う（Ｓ２０６）。その後、画像合成部２３１で、メモリ１０５に格納されている合成対象の合成画像に関する情報（合成情報）を読み出す（Ｓ２０７）。そして、メモリ１０５に格納されているパケットデータに対して、当該合成画像の合成処理を行う（Ｓ２０８）。本実施形態における合成情報を図１４に示す。合成情報には合成画像の解像度や色・形状情報、合成条件などが格納されている。
【００３８】
パケット管理テーブルに従って、メモリ１０５に格納されている合成処理後のパケットデータを、ＤＭＡＣ２２１を介して読み込む（Ｓ２０９）。具体的には、パケット管理テーブルのパケット（０，０）から順番にアドレスを指定し読み出しを行う。次に、パケット展開部２２２でパケットの展開が行われる（Ｓ３１０）。さらに、画像展開部２２３にてラスタ画像データへ展開する（Ｓ３１１）。ラスタの画像データをプリント用画像処理部２２４に入力し、そこでディザ法や誤差拡散法による面積階調処理を行う（Ｓ３１２）。そして、画像データをプリンタ１０３へ出力する（Ｓ３１３）。
【００３９】
［合成処理］
以下、画像合成部２３１における合成処理（Ｓ２０８）の詳細について述べる。図１５は図１２におけるＳ２０８の詳細を示したフローチャートである。まず、メモリ１０５に格納されている合成を行うべき位置を示す合成位置情報より該当するパケットを特定し、そのアドレスをパケット管理テーブルより特定する（Ｓ３０１）。本実施形態では、合成位置情報を図１４に示した合成情報に含めていないが、含める構成としても良い。次に合成情報を参照し、パケット内の合成すべき複数のブロックのアドレスを特定する（Ｓ３０２）。具体例を示しながらブロックのアドレス特定について説明する。
【００４０】
本実施形態においては、合成情報に合成すべき座標を示す座標情報が含まれているので、それを用いてパケットにおける合成すべき複数のブロックのアドレス特定を行う。本実施形態におけるパケット管理テーブルを図１０（Ｂ）に示す。合成情報に含まれる合成位置情報より、合成を行うパケットは例えば、座標（１，２）で表されるパケット（以降、パケット（１，２）と示す）であると判断できたとする。まず、画像合成部２３１は、パケット管理テーブルを参照しパケット（１，２）のアドレス（０ｘ１０００２３４８）を特定する。次に、パケットのヘッダのサイズである１６Ｂｙｔｅ分を加算し（０ｘ１０００２３５８）、パターンフラグ格納部内のアドレスへアクセスする。１つのブロックのパターンフラグのサイズは４ｂｉｔで固定なので、合成処理対象となるブロックが当該パケットにおいて何番目のブロックであるかが分かれば、対象となるブロックのパターンフラグを特定することが可能である。また、パターンフラグ格納部のデータサイズは前述したように１２８Ｂｙｔｅであるので、第１色画素データ格納部の開始アドレス特定も容易に行える。１つのブロックの第１色のデータサイズは２４ｂｉｔなので、合成処理対象となるブロックが当該パケットにおいて何番目のブロックであるかが分かれば、合成対象となるブロックの第１色の画素データを特定することが可能である。そして、第１色画素データ格納部のデータサイズは前述したように７６８Ｂｙｔｅであるので、第２，３，４色画素データ格納部の開始アドレス特定も容易に行える。ただし、各ブロックの第２，３，４色画素データのデータサイズは前述したように画像に応じて可変となる。図１６にパターンフラグに応じた、２×２画素サイズのブロックにおける第２，３，４色画素データのサイズを示す。本実施形態では、一画素の画素値は２４ｂｉｔ（ＲＧＢの各８Ｂｉｔ）で構成されるので、サイズは３Ｂｙｔｅである。以上により、合成処理を施す複数のブロックを特定し、圧縮した状態の画像データに対して、合成処理を施す。
【００４１】
［アドレス特定処理］
図１７に第２，３，４色画素データのアドレス特定までのフローチャートを示す。なお、本実施形態において、特に明記している場合を除き、本処理はメモリ１０５等の記憶部に格納されたプログラムをＣＰＵ２０１が読み出して実行するものとする。まず、当該パケットにおけるパターンフラグ格納部に格納されている最初のパターンフラグから順に、パターンフラグの読み出しを行う（Ｓ４０１）。パターンフラグの値に応じて、その後の処理を分岐する（Ｓ４０２）。パターンフラグが０であれば第２，３，４色画素データのアドレスに０を加える（Ｓ４０３）。パターンフラグが１〜７であれば第２，３，４色画素データのアドレスに３を加える（Ｓ４０４）。パターンフラグが８〜Ｄであれば第２，３，４色画素データのアドレスに６を加える（Ｓ４０５）。パターンフラグがＥであれば第２，３，４色画素データのアドレスに９を加える（Ｓ４０６）。これらパターンフラグの値に応じて加算するアドレスの値は、パケットの色空間や画素データのビット数に応じて変化する。また、アドレスに加算する値は、図１６に示した値と同等である。
【００４２】
次に、合成情報に含まれる座標情報からアドレス特定が終了したかを判定し（Ｓ４０７）、終了していなければパターンフラグ読み出しに戻る。このように、パターンフラグを順番に読み出していくことにより、各ブロックの第２，３，４色画素データのアドレスを特定することが可能になる。
【００４３】
図１８にパケット（１，２）のパターンフラグの並びの一部とそこから算出される第２，３，４色画素データのアドレスを示す。例えば、パケット（１，２）の第２，３，４色画素データの先頭アドレスは、０ｘ１０００２６Ｄ８である。また、図１４に示した合成情報に基づいて、合成処理対象となるブロックのうち、最初に現れる座標（０，３）で表されるブロック（以降、ブロック（０，３）と示す）を例にとる。この場合、アクセスすべきアドレスは、第１色画素データ：０ｘ１０００２３Ｅ１、第２，３，４色画素データ：０ｘ１０００２６Ｅ１となる。
【００４４】
以上のようにして特定されたアドレスに基づいて、合成処理対象となるブロックにおける第１色画素データおよび第２，３，４色画素データを特定することができる。そして、その特定された画素データを取得し、合成情報の色情報（画素値、明度、色差など）と合成条件に従い処理を行う（Ｓ３０３）。合成条件 が“上書き”の場合は、合成先のブロックの第１色画素データが格納されているアドレスおよび第２，３，４色画素データが格納されているアドレスに対し、画素値（合成色）を書き込むことにより、合成処理を行うこととなる。
【００４５】
図１４に示されているように、合成色が黒（Ｒ：０，Ｇ：０，Ｂ：０）である場合について説明する。図１４で示されるように合成画像の解像度が３００ｄｐｉで、合成先の元画像データの解像度が６００ｄｐｉの場合、元画像データにおける合成処理対象のブロックに関して、当該合成処理対象ブロックを構成する全ての画素値を黒に書き換えればよい。すなわち、合成処理対象ブロックに対応する第１色画素データおよび第２，３，４色画素データの画素値を、黒（Ｒ：０，Ｇ：０，Ｂ：０）に変更することによって、合成処理を行ったことになる。本実施形態における合成前の画像データを展開した場合の全体図を図１９（Ａ）に、図１４の合成画像を合成処理した後の画像データを展開した場合の全体図を図１９（Ｂ）に示す。
【００４６】
以上により、比較的単純な圧縮方式を用いて画像データに対し圧縮する場合において、画像データの圧縮データに対して、画像データをラスタライズせずに合成処理を行うことができる。したがって、必要となるメモリの量を抑えることができ、安価な画像処理装置の提供が可能である。
【００４７】
また圧縮の説明の際、画像データとしてＲＧＢの各８ｂｉｔを例として説明していたが、ＣＭＹＫの色空間を取るものや、ＧＲＡＹスケールのデータ、また８ｂｉｔ以外の画素値をとるものでも良い。また、合成条件として上書きだけでなくアルファブレンドなどの条件を与えることも可能である。その場合は、合成先のブロックの第１色画素データの画素値および第２，３，４色画素データの画素値を取得し、当該画素値に合成色のアルファブレンドを行った後、元のアドレスに書き戻せばよい。
【００４８】
＜第二の実施形態＞
本実施形態では第一の実施形態で述べたラスタ画像に加え、画素データに付随する属性データの合成に関して説明する。本実施形態における画像処理装置の構成は図１と、コントローラ１０１の構成は図２と同一である。
【００４９】
ＰＤＬデータをレンダリングしたラスタ画像に対して画素単位でその画素に対し属性データ（属性値）を付与する事がある。その属性データとは、例えば文字、写真、グラフィックス、背景、グレー補償などの情報がある。こういった各属性に対応付けられた属性データを、各画素に付与することで、各画素の属性を判別できるようにする。こういった属性データが付いている画像データに対してはそれぞれの属性データに適した画像処理を切り替えながら行うことで、最適な画像データを得る事が可能となる。例えば文字の属性が付与されている画素に対しては、可読性を高くするためにコントラストを高くする画像処理を行い、また写真の属性が付いている画素に対しては、階調性を豊かにする画像処理を行うなどが考えられる。
【００５０】
こういった属性情報が付与されている画像データは図２のレンダリング部２５１で生成され、そのデータは第一の実施形態でも説明したように画像圧縮部２４２、パケット生成部２４３、ＤＭＡＣ２４４を経由してメモリ１０５へ転送される。本実施形態２では、画像圧縮部２４２において述べた圧縮方法を属性データに対しても適用している。
【００５１】
本実施形態におけるパケットのデータ構造を図２０に示す。図９と比較すると、パケットヘッダに属性データのビット数と属性データの第２，３，４色画素データサイズ（第２〜４の属性データのサイズ）が付加されている。また、パケットのデータ構造には、属性データを圧縮した結果であるパターンフラグと、属性データの第１色画素データと、属性データの第２，３，４色画素データとが付加されている。なお、本実施形態では、便宜上、２×２画素のブロックに含まれる第１の属性データを「属性データの第１色画素データ」、第２，３，４の属性データを「属性データの第２，３，４色画素データ」と呼ぶことにする。また、属性データに対する配置のパターンフラグを、本実施形態では便宜上、第２のパターンフラグとも呼ぶ。
【００５２】
付加された属性データの情報は、属性データのビット数が８の場合、サイズは以下のようになる。
【００５３】
第２のパターンフラグのデータサイズ（各ブロック４ｂｉｔ）：４×１６×１６／８＝１２８Ｂｙｔｅ
属性データの第１色画素データ格納部のデータサイズ（各ブロック８ｂｉｔ）：８×１６×１６／８＝２５６Ｂｙｔｅ
属性データの第２，３，４色画素データ格納部のデータサイズ（各ブロック最大２４ｂｉｔ）：最大２４×１６×１６／８＝７６８Ｂｙｔｅ
第２，３，４色画素データのデータサイズは、画像データによって異なり、最小は０Ｂｙｔｅである。
【００５４】
図２１は、本実施形態における画像処理装置の動作を示すフローチャートである。第二の実施形態では、メモリ１０５に格納されているディスプレイリスト（不図示）をレンダリング部２４１が読み出し画像データを形成し、その画像データに対して合成処理が行われプリンタに出力されるまでを述べる。特に画像合成のフローに関して詳述する。なお、本実施形態において、特に明記している場合を除き、本処理はメモリ１０５等の記憶部に格納されたプログラムをＣＰＵ２０１が読み出して実行するものとする。
【００５５】
ここでの画像データのサイズは６４×９６画素、解像度は１２００ｄｐｉとする。また、パケット生成時のタイルの大きさは３２×３２画素とする。合成を行う画像データのサイズは６００ｄｐｉ相当で１６×１６画素とする。また、パケットヘッダの大きさは１６Ｂｙｔｅとする。
【００５６】
レンダリング部２４１にてメモリ１０５に格納されているディスプレイリストを読み出し、レンダリングを行う（Ｓ５０１）。レンダリングされた画像データに対して、画像圧縮部２４２にて画像圧縮処理を行う（Ｓ５０２）。その圧縮データをパケット生成部２４３にてパケットに変換する（Ｓ５０３）。次にＤＭＡＣ２４４を介してメモリ１０５へ該パケットデータを格納する（Ｓ５０４）。ＣＰＵ２０１でパケット管理テーブルの作成を行う（Ｓ５０５）。その後、画像合成部２３１で、メモリ１０５に格納されている合成対象の合成画像に関する情報（合成情報）を読み出す（Ｓ５０６）。そして、メモリ１０５に格納されているパケットデータに対して、当該合成画像の合成処理を行う（Ｓ５０７）。本実施形態における合成情報を図２２（Ａ）に示す。図２２（Ａ）に示す合成情報には合成画像データの解像度、色・形状情報、合成条件、及び属性データに対する合成値が格納されている。
【００５７】
パケット管理テーブルに従って、メモリ１０５に格納されている合成処理後のパケットデータを、ＤＭＡＣ２２１を介して読み込む（Ｓ５０８）。具体的には、パケット管理テーブルのパケット（０，０）から順番にアドレスを指定し読み出しを行う。次に、パケット展開部２２２でパケットの展開が行われる（Ｓ５０９）。さらに、画像展開部２２３にてラスタ画像データへ展開する（Ｓ５１０）。ラスタの画像データをプリント用画像処理部２２４に入力し、そこでディザ法や誤差拡散法による面積階調処理を行い（Ｓ５１１）、プリンタ１０３へ出力する（Ｓ５１２）。
【００５８】
［合成処理］
以下、画像合成部２３１における合成処理（Ｓ５０７）の詳細について述べる。第二の実施形態におけるＳ５０７の詳細を示したフローチャートは図１５と同様である。本実施形態におけるブロックのアドレス特定について説明する。本実施形態に係るパケット管理テーブルを図２２（Ｂ）に示す。図２２（Ｂ）に示した合成位置情報より、例えば合成を行うパケットは座標（１，２）で表されるパケット（以降、パケット（１，２）と示す）であると判定できたとする。パケット（１，２）のデータ構造について図２３に示す。まず、画像合成部２３１は、パケット管理テーブルを参照しパケット（１，２）のアドレス（０ｘ１０００５０００）を特定する。次に、パケットのヘッダのサイズである１６Ｂｙｔｅを加算し（０ｘ１０００５０１０）、パターンフラグ格納部のアドレスへアクセスして、第２，３，４色画素データのアドレス特定を行う。図２４（Ａ）にパケット（１，２）のパターンフラグの並びとそこから算出される第２，３，４色画素データのアドレスを示す。パケット（１，２）の第２，３，４色画素データの先頭アドレスは、パケットの先頭アドレス（０ｘ１０００５０００）にヘッダ、パターンフラグ、及び第１色画素データ分のサイズを加算した０ｘ１０００５３９０である。合成処理対象のブロックのうち、最初に現れる座標（０，３）で表されるブロック（以降、ブロック（０，３）と示す）を例にとると、アクセスすべきアドレスは、第１色画素データ：０ｘ１０００５０９６、第２，３，４色画素データ：０ｘ１０００５３９９となる。
【００５９】
次に、属性データに関するアドレス特定に関しても同様の手順で行う。属性データのパターンフラグ（第２のパターンフラグ）のサイズおよび属性データの第１色画素データのサイズは固定長であるので、属性データの第１色画素データの先頭アドレスおよび、属性データの第２，３，４色画素データの先頭アドレスは容易に特定することができる。また、第１の属性データのサイズも８ｂｉｔで固定なので、合成処理対象となるブロックが当該パケットにおいて何番目のブロックであるかが分かれば、合成対象となるブロックについての「属性データの第１色の画素データ」を特定することが可能である。また、各ブロックの第２〜４の属性データ（属性データの第２，３，４色画素データ）のデータサイズは、画像に応じて可変になる。したがって、属性データの第２，３，４色画素データの先頭アドレスと、当該パケットの属性データのパターンフラグの並びとに基づいて、合成処理対象のブロックに関する属性データの第２，３，４色画素データのアドレスを特定していくことができる。ここでは、便宜上、属性データに対するパターンフラグの特定を第２パターンフラグ特定とし、第２パターンフラグに基づいて、第２〜４の属性データを抽出する処理を第２抽出とする。また、第２抽出処理により抽出された第２〜４の属性データをメモリに保持することを第２の保持手段とする。図２４（Ｂ）にパケット（１，２）の属性データのパターンフラグの並びの例とそこから算出される属性データの第２，３，４色画素データに対応するアドレスを示す。このようにして、合成処理対象のブロックに関する属性データが格納されているアドレスを特定することができる。
【００６０】
ブロック（０，３）を例にとると、アクセスすべき属性データのアドレスは、属性データの第１色画素データ：０ｘ１０００５５１３となり、また、属性データのパターンフラグが０であることから、属性データの第２，３，４色画素データは存在しない。
【００６１】
以上のようにして特定されたアドレスから、格納されている画素データおよび属性データを、合成情報の色情報と合成条件に従い処理を行う（Ｓ３０３）。合成条件が“上書き”の場合は、合成先のブロックの第１色画素データが格納されているアドレスおよび第２，３，４色画素データが格納されているアドレスに対し、画素値（合成色）を書き込むことにより、合成処理を行うこととなる。また、属性データに関しても同様に、合成先のブロックの属性データの第１色画素データが格納されているアドレスおよび属性データの第２，３，４色画素データが格納されているアドレスに対し、属性データの合成値を書き込むことにより、合成処理を行うこととなる。
【００６２】
合成画像データの解像度が６００ｄｐｉで、合成先の元画像データの解像度が１２００ｄｐｉの場合、元画像データの合成対象のブロックを構成する全ての画素値（ＲＧＢ値）と属性データ（属性値）とを書き換えればよい。すなわち、第一の実施形態で説明したように、合成処理対象ブロックに対応する第１色画素データおよび第２，３，４色画素データの画素値を、合成色（図２２の場合は（Ｒ：６４，Ｇ：６４，Ｂ：６４））に書き換える。そして、第２の実施形態では、更に、合成処理対象ブロックに対応する属性データの第１色画素データおよび属性データの第２，３，４色画素データを合成値（図２２の場合は０ｘＦＦ）に書き換える。
【００６３】
このような構成により、画素単位で属性データを伴う画像データを扱う場合にも、圧縮データ全てをラスタライズせずに合成処理が可能である。なお、ここではＰＤＬの画像データに着目して属性データの圧縮に関して述べたが、スキャン画像データに対しても、画像認識を行うことで属性データを付与し、同様の処理で圧縮処理および合成処理が可能である。また、属性データは１画素あたり８ｂｉｔに限るものではなく、１ｂｉｔや４ｂｉｔ、１６ｂｉｔといった任意のｂｉｔ数を取ることも可能である。
【００６４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005538996.tif 000002
【図２】
0005538996.tif 000003
【図３】
0005538996.tif 000004
【図４】
0005538996.tif 000005
【図５】
0005538996.tif 000006
【図６】
0005538996.tif 000007
【図７】
0005538996.tif 000008
【図８】
0005538996.tif 000009
【図９】
0005538996.tif 000010
【図１０】
0005538996.tif 000011
【図１１】
0005538996.tif 000012
【図１２】
0005538996.tif 000013
【図１３】
0005538996.tif 000014
【図１４】
0005538996.tif 000015
【図１５】
0005538996.tif 000016
【図１６】
0005538996.tif 000017
【図１７】
0005538996.tif 000018
【図１８】
0005538996.tif 000019
【図１９】
0005538996.tif 000020
【図２０】
0005538996.tif 000021
【図２１】
0005538996.tif 000022
【図２２】
0005538996.tif 000023
【図２３】
0005538996.tif 000024
【図２４】
0005538996.tif 000025