(57)【要約】  【課題】高解像度の画像データを処理する場合に、画像処理が行える生画像データ形式の状態で画像データを機器内部で保存すると、データ量が非常に大きいため、大きなメモリが必要となり、また処理をする時にデータバスにかかる負荷が大きくなる。  【解決手段】画像データをブロック分割して保持し、画像の内容から圧縮しても問題無い低画質のブロックは画像を縮小して保存する。さらに符号化処理もブロック単位で符号化する。これにより画像処理の行える生画像のデータ形式を保持しながらデータを圧縮できる。さらに１枚の画像内に解像度の異なる画像が混在する状態を管理するために、ブロック管理テーブルを用いてブロック間の管理を行う。【選択図】        図７
2011066720.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮し、保持する画像処理装置であって、
前記画像データに対して、第一のサイズのブロック単位で構成されるブロック管理テーブルを作成するテーブル作成手段と、
前記画像データに対して、第二のサイズのブロック単位で画素を間引いて解像度を圧縮する処理を適用する解像度圧縮手段と、
前記解像度圧縮手段にて生成したブロックごとに前記ブロック管理テーブルに登録する登録手段と、
前記登録手段にて登録したブロックそれぞれに符号化圧縮処理を適用する符号化圧縮手段と
を有し、
前記解像度圧縮手段は、
前記画像データにおける前記第二のサイズのブロック単位で圧縮レベルを決定し、
決定した前記圧縮レベルに応じた圧縮率で、前記第二のサイズのブロック毎に圧縮を行い、
前記登録手段は、
決定した前記圧縮レベルに応じて圧縮した前記ブロックを前記第一のサイズに再分割し、
再分割した前記ブロックを前記第二のサイズの分だけ前記ブロック管理テーブルに登録し、
登録の際に前記ブロックそれぞれに対する、前記画像データにおける位置情報と、前記圧縮レベルに関する解像度情報とを前記ブロック管理テーブルに付加する
ことを特徴とする画像処理装置。
【請求項２】
前記符号化圧縮手段は、
前記登録手段において前記ブロック管理テーブルに登録された前記第一のサイズのブロックそれぞれに対し、符号化圧縮済みか否かを判定し、
符号化圧縮済みでないと判定された場合、当該ブロックの前記圧縮レベルに応じて符号化圧縮する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ブロック管理テーブルは、前記第一のサイズのブロックごとに前記画像データの情報を有し、前記位置情報と前記解像度情報に加え、
前記符号化圧縮手段において、符号化圧縮済みか否かを判定するための圧縮状態の情報をさらに有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
画像データを圧縮し、保持する画像処理装置の制御方法であって、
前記画像処理装置のテーブル作成手段が、前記画像データに対して、第一のサイズのブロック単位で構成されるブロック管理テーブルを作成するテーブル作成工程と、
前記画像処理装置の解像度圧縮手段が、前記画像データに対して、第二のサイズのブロック単位で画素を間引いて解像度を圧縮する処理を適用する解像度圧縮工程と、
前記画像処理装置の登録手段が、前記解像度圧縮工程にて生成したブロックごとに前記ブロック管理テーブルに登録する登録工程と、
前記画像処理装置の符号化圧縮手段が、前記登録工程にて登録したブロックそれぞれに符号化圧縮処理を適用する符号化圧縮工程と
を有し、
前記解像度圧縮工程は、
前記画像データにおける前記第二のサイズのブロック単位で圧縮レベルを決定し、
決定した前記圧縮レベルに応じた圧縮率で、前記第二のサイズのブロック毎に圧縮を行い、
前記登録工程は、
決定した前記圧縮レベルに応じて圧縮した前記ブロックを前記第一のサイズに再分割し、
再分割した前記ブロックを前記第二のサイズの分だけ前記ブロック管理テーブルに登録し、
登録の際に前記ブロックそれぞれに対する、前記画像データにおける位置情報と、前記圧縮レベルに関する解像度情報とを前記ブロック管理テーブルに付加する
ことを特徴とする制御方法。
【請求項５】
コンピュータを、
画像データに対して、第一のサイズのブロック単位で構成されるブロック管理テーブルを作成するテーブル作成手段と、
前記画像データに対して、第二のサイズのブロック単位で画素を間引いて解像度を圧縮する処理を適用する解像度圧縮手段と、
前記解像度圧縮手段にて生成したブロックごとに前記ブロック管理テーブルに登録する登録手段と、
前記登録手段にて登録したブロックそれぞれに符号化圧縮処理を適用する符号化圧縮手段と
して機能させ、
前記解像度圧縮手段は、
前記画像データにおける前記第二のサイズのブロック単位で圧縮レベルを決定し、
決定した前記圧縮レベルに応じた圧縮率で、前記第二のサイズのブロック毎に圧縮を行い、
前記登録手段は、
決定した前記圧縮レベルに応じて圧縮した前記ブロックを前記第一のサイズに再分割し、
再分割した前記ブロックを前記第二のサイズの分だけ前記ブロック管理テーブルに登録し、
登録の際に前記ブロックそれぞれに対する、前記画像データにおける位置情報と、前記圧縮レベルに関する解像度情報とを前記ブロック管理テーブルに付加する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像データを機器外部から取り込み、処理をして出力する画像処理装置、制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年では、複写機や複合機に代表される画像処理装置では、高画質の画像を作成するために、読み取り部や記録部の解像度が高くなり、高解像度の画像を処理できる画像処理装置が普及してきている。そのため、機器本体で処理する画像のデータ量は非常に大きくなっている。機器本体では、このような膨大な画像データを格納する必要があるが、本体メモリにも限りがあるため、大きな画像データを多数持つことが難しい。また、高速に処理しようとしても、データ量が大きいため、本体回路のデータバスが圧迫されデータ転送が遅くなるため、高速に処理することも難しい。そのため、このような巨大画像データに対して画質を落とすことなく、データ量を削減する手法が提案されている（特許文献１等参照）。特許文献１の手法では、画像データをブロックに分割し、各ブロックの画像データの内容から、画質を落としても問題ないブロックと、高画質を保持したままの方が良いブロックとに分けている。そして、画質を落としても問題無いブロックでは、圧縮率が高いが、画質は落ちる圧縮方式や圧縮係数を使用してデータ圧縮を行う。逆に高画質を保持した方が良いブロックは、圧縮率は低いが、高画質な圧縮方式や圧縮係数を使用してデータ圧縮を行う。このように、それぞれの種別のブロックで処理方法を変えることで、できる限り画質を落とすことなく、画像データを小さくする提案が行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−４２６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記のように画像データをブロックに分割し、ブロックごとに高画質ブロックと低画質ブロックを決定し、それぞれのブロックで圧縮方法や、圧縮率の係数を切り替える方式はデータ削減には非常に有効である。しかし、以下のような問題がある。ブロックにディザ処理や色変換などの注目画素の周辺情報が必要な画像処理を行う場合は、符号圧縮データを使用するため、必ず伸張処理が必要になる。そのため、画像データを入力し、メモリに保存するまでの間に、上記のような画像処理を行う場合は何度も伸張処理を行い、画像処理後に再度圧縮処理をする必要がある。その結果、圧縮、伸張を繰り返すため、多くの処理時間がかかり、高速なデータパスの作成には向いていない。逆に、画像データを入力してから、メモリに保存するまでの間は圧縮せず生画像のままデータ処理をする方式も考えられる。しかし、この方式では、入力画像が高画質で高解像度なデータの場合、画像処理モジュール間のデータバスに大きなデータを流すことになり、データバスを非常に圧迫する。そのため、この方式でも高速なデータパスに対応することは難しい。この問題に対し、ブロックごとの圧縮処理を行う場合には、符号化処理を行わず、低解像度化処理のみを行うことで解決できる。例えば、ブロックごとに画質を落としても良いブロックと、高画質を保持したままの方が良いブロックに分け、画質を落としても良いブロックは画像データを縦横半分に間引くといった処理のみを行う方式である。解像度を落としているだけであれば、解像度低減後の画像は生画像データであるため、前記のような、ディザ処理や色変換などの画像処理を行うことが可能となる。
【０００５】
しかし、この手法にも問題が存在する。解像度の異なるブロックが混在している画像データを、通常の符号化方式で圧縮することができない点である。通常の符号化方式では、画像全体の各画素は同じ重みである場合に動作ができる。上記のように１つの画像データ内に、解像度が混在しているブロック／画素がある場合は単純に画像符号化が行えなくなる。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明は、以下の構成を有する。画像データを圧縮し、保持する画像処理装置であって、前記画像データに対して、第一のサイズのブロック単位で構成されるブロック管理テーブルを作成するテーブル作成手段と、前記画像データに対して、第二のサイズのブロック単位で画素を間引いて解像度を圧縮する処理を適用する解像度圧縮手段と、前記解像度圧縮手段にて生成したブロックごとに前記ブロック管理テーブルに登録する登録手段と、前記登録手段にて登録したブロックそれぞれに符号化圧縮処理を適用する符号化圧縮手段とを有し、前記解像度圧縮手段は、前記画像データにおける前記第二のサイズのブロック単位で圧縮レベルを決定し、決定した前記圧縮レベルに応じた圧縮率で、前記第二のサイズのブロック毎に圧縮を行い、前記登録手段は、決定した前記圧縮レベルに応じて圧縮した前記ブロックを前記第一のサイズに再分割し、再分割した前記ブロックを前記第二のサイズの分だけ前記ブロック管理テーブルに登録し、登録の際に前記ブロックの前記画像データにおける位置情報と解像度情報とを前記ブロック管理テーブルに付加することを特徴とする。
【発明の効果】
【０００７】
本発明により、解像度が混在している生画像データに対して符号化圧縮処理を行うことができる。これにより、高解像度の画像において画質を落とすことなく、部分的に解像度を落とすことで、データ量を削減して保持できる。また、この解像度圧縮を行った状態で、色変換処理などの処理も可能となるため、画像データパスの負荷軽減が可能となる。加えて、解像度圧縮した状態の画像を、符号化圧縮できるため、さらにデータ量を削減して保持できるようになり、メモリへの負荷の軽減が可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る画像処理装置のハードウエア構成例を示した図。
【図２】本実施形態に係る画像処理部の内部モジュール構成例を示した図。
【図３】本実施形態に係る圧縮ブロック単位について説明した図。
【図４】本実施形態に係る圧縮処理の基本フローを示した図。
【図５】本実施形態に係る実行時のブロック管理テーブルの作成例を示した図。
【図６】本実施形態に係る解像度圧縮処理の動作フローを示した図。
【図７】本実施形態に係るブロック管理テーブル登録の動作フローを示した図。
【図８】本実施形態に係るブロック管理テーブルの各要素の構成例を示した図。
【図９】本実施形態に係る解像度圧縮の動作を圧縮率別に説明した図。
【図１０】本実施形態に係る符号化圧縮処理の動作フローを示した図。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。画像処理装置として、複合機とした場合の例を挙げる。この複合機の例を図１に示す。ＣＰＵ１０１はシステムの制御部であり、装置全体を制御する。ＲＯＭ１０２はＣＰＵの制御プログラムを格納するためのものである。ＳＲＡＭ１０３はオペレータが登録した設定値や装置の管理データ等や各種ワーク用バッファ等を格納するものである。ＤＲＡＭ１０４はプログラム制御変数等を格納するためのものである。読み取り部１０５は画像データを読み取り、バイナリデータに変換する装置でありこれを用いて、送信のための原稿読み取りを行うものである。記録部１０６は画像データを、記録紙に出力する装置である。表示部１０７は機器内の情報を表示するユーザとのインタフェース部である。画像処理部１０８（ＣＯＤＥＣ）は、通信制御装置で扱う画像データの符号化復号化処理を行う。ネットワーク部１０９は、ネットワーク回線へのＩ／Ｆを行う。このような、読み取り部１０５から読み取った画像データをネットワークに送信する機能や、ネットワーク部１０９から受信した画像データをＳＲＡＭ１０３に一端格納し、記録部１０６より印刷するような複合機を本実施形態に用いる画像処理装置の例として挙げる。なお、以下で示すフローは、ＲＯＭ１０２などに格納されている制御プログラムをＲＡＭに読み出し、ＣＰＵ１０１が実行するものである。
【００１０】
上記のような複合機では、それぞれの制御部はデータバス１１０を介して繋がっており、画像データはデータバス１１０を通じて転送される。このような複合機では、読み取り部１０５やネットワーク部１０９から画像データが入力され、その画像データはＳＲＡＭ１０３に格納される。その後に画像処理部１０８などを介して処理を行った後、記録部１０６や表示部１０７に出力される。このように複合機に画像を入力し、出力する場合には、画像データを何度も転送する必要がある。そのため、高解像度な画像を扱う場合には、データバスに非常に大きな負荷がかかる。処理を高速に行うためにはデータバスへの負荷を減らす必要がある。本実施形態ではその手法について説明する。
【００１１】
図２は本実施形態で画像データ量を効率的に圧縮するための画像処理部１０８をさらに詳細に示したものである。符号化部２０１、復号化部２０２はラスタ画像を符号圧縮、伸張できる処理部である。解像度変換部２０３は後述するブロック単位での画像縮小処理を行う処理部である。パケット管理部２０４は解像度変換部２０３でブロック化された画像をページ全体で管理するテーブルを作成する処理部である。このような画像処理部１０８を使用して効率的な画像データ圧縮を行う手法について説明する。
【００１２】
［画像データ圧縮］
図３は本実施形態における圧縮処理単位について示したものである。本実施形態の画像圧縮では画像をブロック単位に分けて処理を行う。本実施形態の方式では解像度圧縮を行う単位をまず決定する。この例では解像度圧縮を行うブロック単位を１２８×１２８画素単位としており、以後この単位を解像度圧縮ブロックと呼ぶ。
【００１３】
次にこの解像度圧縮ブロック単位で画像データを処理し、画像の内容から高画質に保存すべきデータは解像度圧縮せず保持するが、低画質に落としても問題無いブロックであれば解像度圧縮、つまり画像が有する画素を間引くことによって画像の縮小処理を行う。そのため、解像度圧縮ブロックの画像内容からどの程度解像度圧縮するか否かの決定を行う。この例では、解像度圧縮の際の圧縮率を次のように規定して用いる。高画質が必要な解像度圧縮ブロックは圧縮せず、中画質程度の解像度圧縮ブロックは１／２×１／２のサイズに解像度圧縮し、低画質でも問題無い解像度圧縮ブロックは、１／４×１／４まで解像度圧縮する例を示している。
【００１４】
最後の定義として、解像度圧縮ブロックが低圧縮時の最小に縮小を行う場合のブロックを基本圧縮ブロックと呼ぶ。この例では、低画質の解像度圧縮ブロックは最小で１／４×１／４に圧縮されるので、１２８×１２８画素の解像度圧縮ブロックは３２×３２画素のブロックに縮小される。このため、この３２×３２画素の画像ブロックが基本圧縮ブロックとなる。図３の圧縮例では、解像度圧縮ブロックは、高画質のブロックは基本圧縮ブロック１６個分の画像として扱われる。また、中画質のブロックは基本圧縮ブロック４個分に、低画質のブロックは基本圧縮ブロック１個分に圧縮されることになる。このような圧縮処理の前提の元で圧縮処理を行う。すなわち、本実施形態において、ブロック単位は、第一のサイズ（基本圧縮ブロック）を３２×３２画素とし、第二のサイズ（解像度圧縮ブロック）を１２８×１２８画素とする。また、第一のサイズは、第二のサイズ以下となる。また、上記の圧縮率及び圧縮ブロックのサイズは、一例であり、これに限定するものではない。
【００１５】
＜圧縮処理＞
まず、図５にブロック管理テーブルの作成例を示しておく。これは、後述する図４のＳ４０２では、テーブル作成を行うが、その際に作成されるテーブルの例である。ここに取り出した画像データのサイズを、基本圧縮ブロックのサイズでブロック分割した場合のブロック数を計算し、その要素数のテーブルを作成する。図５の例では５１２×７６８画素の画像が入力された場合に、基本圧縮ブロックは３２×３２画素のブロックなので、１６ブロック×２４ブロックになる。その結果、３８４個のブロックを管理できる要素リストを作成している事を示している。
【００１６】
図４は本実施形態の圧縮処理方法を説明したフロー図である。圧縮処理の流れをフローに沿って説明する。読み取り部１０５やネットワーク部１０９から入力された画像データは、ＳＲＡＭ１０３に一旦格納されている。Ｓ４０１では、ＣＰＵ１０１の指示により、メモリに格納された画像データを取り出す。Ｓ４０２で、画像データを処理する前に、ブロック管理テーブルを作成する。次にＳ４０３にて、取得した入力画像データを解像度圧縮ブロック単位で切り出す。以降の解像度圧縮処理はこの解像度圧縮ブロック単位で処理を行うため、切り出す必要がある。そして、Ｓ４０４にて、この解像度圧縮ブロックの画像に対して、解像度圧縮処理を行う。解像度圧縮処理に関しては、図６を用いて後述する。
【００１７】
次にＳ４０５にて、解像度圧縮を行った画像データを、ブロック管理テーブルに登録する。ブロック管理テーブルへの登録処理に関しては、図７を用いて後述する。次にＳ４０６にて、全てのブロックに対し、Ｓ４０３からＳ４０５までの処理を適用したかの判定を行う。全ブロックに対し、処理が完了していれば、Ｓ４０７へ進む。処理が完了していなければ、Ｓ４０３へ戻る。Ｓ４０７において、解像度圧縮データとブロック管理テーブルをメモリに保存する。次に、ここまでに生成した解像度圧縮画像をＪＰＥＧ、ＪＰＥＧＬＳ等の符号化方法で再圧縮を行う。Ｓ４０８にて、ここまでに生成した解像度圧縮データとブロック管理テーブルをメモリから取り出す。そして、Ｓ４０９にて、ブロック毎に符号化圧縮処理を適用する。なお、ブロックごとへの符号化圧縮処理に関しては、図１０を用いて後述する。そして、Ｓ４１０にて、Ｓ４０９にて生成した符号化圧縮データとブロック管理テーブルをメモリに保存し、本フローを終了する。
【００１８】
＜解像度圧縮処理＞
図６は解像度圧縮処理を詳細に示したフロー図である。解像度圧縮処理では、まず、Ｓ６０１にて、入力された解像度圧縮ブロック（１２８×１２８画素）の内容から、圧縮レベルを決定する。この判定としては、解像度圧縮ブロックの生データに基づいて、色数や変化量から決定してもかまわないし、画素ごとの属性データなど、画像以外の判定材料を用いてもかまわない。一般に解像度圧縮ブロックが同色（１色）で構成される場合は、低画質でもよいが、多くの色で構成される場合は、高画質となる。例えば解像度圧縮ブロックに対応する画素毎の属性データとして、文字、グラフィックスをあらわす属性がブロックの半数以上の画素に付加されている場合は、文字のエッジを良好に再現するために高画質が好ましい。しかしながら、写真や自然画を表す属性の場合は、低画質でもよい。本処理は、周知の手法を用いても良いとし、ここでは説明を省略する。そして、Ｓ６０２にて、このＳ６０１にて決定した結果により圧縮のレベルを変更する。
【００１９】
入力された解像度圧縮ブロックを、高圧縮しても問題無い画質のものであると判定された場合は、Ｓ６０３にて、入力された１２８×１２８画素の解像度圧縮ブロックを、図３で示した前提どおり縦横１／４に縮小処理を行う。また、中圧縮すると判定された場合は、Ｓ６０４にて同様に１／２に縮小する。画質を落とさないと判定された場合は、Ｓ６０５にて解像度圧縮ブロックは、縮小処理を行わない。このように、入力画像データをブロック単位に判定する事で、画質をできる限り落とすことなく圧縮する事が可能となる。
【００２０】
＜ブロック管理テーブル登録処理＞
図７は解像度圧縮された画像データを、ブロック管理テーブルに登録するフローを示した図である。まずＳ７０１にて、Ｓ６０１にて解像度圧縮された解像度圧縮ブロック単位の画像が、高圧縮、中圧縮、低圧縮のいずれであるかの判定を行う。この解像度圧縮ブロックが高圧縮されて１／４まで縮小された場合は、Ｓ７０２に進み、ブロック分割を行わず、そのままのサイズで保持する。そして、Ｓ７０３にて、そのまま３２×３２画素の画像ブロックの状態で、ブロック管理テーブルの該当するテーブル要素の１６個分に画像データへのアドレスを保存する。その後、Ｓ７０８へ進む。Ｓ６０１にて、中圧縮された画像の場合は、解像度圧縮で１／２縮小されている。そのため６４×６４画素のブロックに縮小されているので、Ｓ７０１からＳ７０４へ進み、これを基本圧縮ブロックの３２×３２画素の４ブロックに再分割する。その後、Ｓ７０５にて再分割された基本圧縮ブロック単位の４ブロックを、ブロック管理テーブルの該当するテーブル要素の４個分ずつ、４回分の画像データへのアドレスを保存する。そして、Ｓ７０８へ進む。Ｓ６０１にて、低圧縮された画像の場合は、解像度圧縮で縮小されていない。そのため１２８×１２８画素のブロックのままであるが、Ｓ７０６にて、これを基本圧縮ブロックの３２×３２画素の１６ブロックに再分割する。そして、Ｓ７０７にて、再分割された基本圧縮ブロック単位の１６ブロックを、ブロック管理テーブルの該当するテーブル要素の１個ずつ、１６回分の画像データへのアドレスを保存する。その後、Ｓ７０８へ進む。最後に、Ｓ７０８にて画像データアドレスを登録した各テーブル要素に、各ブロックの位置情報と解像度情報を付加する。以上により、ブロック管理テーブルへの登録を行う。
【００２１】
＜ブロック管理テーブル＞
図８はブロック管理テーブルにおける各テーブル要素の情報ヘッダの一例を示したものである。テーブル番号８０１は、ブロック管理テーブル内のテーブル順を示す番号である。テーブル座標８０２は、ブロック管理テーブル内の画像の位置を示す位置情報である。前テーブルへのアドレス８０３、次のテーブルへのアドレス８０４は各ブロック管理テーブル要素から前後のテーブル要素へのアクセスを行うために保持している情報である。画像データへのアドレス８０５は、そのテーブル要素が管理する基本圧縮ブロックサイズの画像データの実画像データを指し示すアドレス情報である。画像データの解像度８０６は、このテーブル要素に登録されている画像データがどの解像度に圧縮されているかを示すものである。
【００２２】
画像データの位置情報８０７は、後述するが、画像データが低解像度である場合は、基本圧縮ブロックよりも大きな画像が登録されている事になるので、登録されている画像データのどの部分が必要かということを指し示すパラメータである。最後に画像データの圧縮状態８０８は、このテーブル要素に登録されている画像データが符号化圧縮されているか否かを示す情報である。このようなブロック管理テーブルの要素を使用して画像データをブロックごとに管理する。なお、ここで示したブロック管理テーブルの構成は一例であり、他の構成要素を含んでいても良い。
【００２３】
＜圧縮動作＞
図９は解像度圧縮処理からブロック管理テーブルへの登録までの一連の流れを示した図である。圧縮レベル別に説明する。まず、９０１として、解像度圧縮ブロックが高圧縮すべきブロックであった場合について説明する。高圧縮の場合は、Ｓ６０３にて、１２８×１２８画素の解像度圧縮ブロックから、３２×３２画素のブロックに圧縮される。次にこのブロックをブロック管理テーブルに登録する際に、Ｓ７０２においては、１／４圧縮されたブロックは、基本圧縮ブロックと同じ大きさ（３２×３２画素）であるので再ブロック分割は行わない。ブロック管理テーブルは、基本圧縮ブロック単位でテーブル要素が存在するので、各テーブル要素に同じ画像を指すアドレスを登録する。これは、図８にて述べた画像データへのアドレス８０５に該当する。また、この時に各テーブル要素には、この登録されている画像がどれくらい解像度圧縮された画像であるかを示す情報も合わせて登録する。これは、図８の画像データの解像度８０６に該当する。さらに、登録された画像データのどの部分が、そのテーブル要素に該当するかを示す位置情報も付加する。これは、図８の画像データの位置情報８０７に該当する。これにより、この画像データをラスタ画像に伸張する場合に、情報ヘッダにおける解像度データと位置データを参照する事により、復元することができるようになる。
【００２４】
具体的な例として、画像データの解像度８０６が３００ｄｐｉ、画像データの位置情報８０７がｘ：１，ｙ：２であるテーブル要素の場合について述べる。まず、圧縮時に１／４のサイズにされているため、登録されている画像データを３００ｄｐｉから１２００ｄｐｉへの４倍拡大を行う。この場合、各テーブル要素は基本圧縮ブロック（３２×３２画素）の画像を管理しているが、４倍すると１２８×１２８画素の画像となり管理可能なサイズを超えていることとなる。この場合に画像データの位置情報８０７を参照し、拡大した画像データのうち、どの部分を切りとって取得すれば良いかを判定する。例えばｘ：１，ｙ：２の場合は、拡大された１２８×１２８画素の画像において１行目かつ、２列目の３２×３２画素ブロックを、このテーブル要素では保持している事を示すことになる。上記のような状態を保持できるようにして、各テーブル要素に１／４圧縮された画像データを登録し、各テーブル要素には解像度情報と位置情報を付加していく。
【００２５】
また、中圧縮の場合も同様である。９０２として、解像度圧縮ブロックが中圧縮の場合を説明する。Ｓ６０４において、１２８×１２８画素の解像度圧縮ブロックから、６４×６４画素のブロックに圧縮される。次にこのブロックをブロック管理テーブルに登録する時に、まず、Ｓ７０３にて解像度圧縮されたブロックの再分割を行う。中圧縮の場合は、基本圧縮ブロック４つ分のデータ（３２×３２画素が４つ）になっているため、９０２にて示すように「田」の形に４つに再分割する。この再分割された画像をそれぞれ各テーブル要素に登録していく。この場合も高圧縮時と同じく、解像度情報と、位置情報を付加する。なお、画像データを復元する際には、圧縮時に１／２とされているため登録データを６００ｄｐｉから１２００ｄｐｉへの２倍拡大を行う。以降の処理に関しては、高圧縮時と同様である。
【００２６】
また、９０３として、解像度圧縮ブロックが低圧縮の場合を説明する。Ｓ６０５において、１２８×１２８画素の解像度圧縮ブロックは圧縮されない。その場合、このブロックをブロック管理テーブルに登録する際に、まずＳ７０６において解像度圧縮されたブロックの再分割を行う。この例では基本圧縮ブロック１６個分に分割される（３２×３２画素が１６つ）。この再分割された画像をそれぞれ各テーブル要素に登録していく。この場合も高圧縮時と同じく、解像度情報と、位置情報を付加する。なお、画像データを復元する際には、圧縮がされていないため、拡大は行わず、そのままのデータを用いることとなる。また、低圧縮の場合は、ブロック管理テーブルにおける画像データの位置情報８０７は、すべてｘ：１，ｙ：１となる。このようにして解像度レベルの混在している画像を管理することが可能となる。ここで圧縮したデータを伸張（復号）する場合についても簡単に述べておく。圧縮した画像を元のデータに戻す場合には、本処理とは逆の流れで復号化すればよいこととなる。具体的には、解像度データに保持された圧縮レベルに基づいて登録された基本圧縮ブロックを拡大する。例えば、高圧縮の場合はここでは１６倍にすることとなる。拡大されたテーブル要素のうち、位置データに保持された情報に基づいて、画像データを選択する。これを繰り返すことにより、全ての画素データを伸張することができる。
【００２７】
＜符号圧縮処理＞
図１０は符号化圧縮の手順を示したフローである。図４におけるＳ４０９に対応する。まずＳ１００１にて、テーブル要素内の基本圧縮ブロックの画像データを取得する。次にＳ１００２にて、取得した基本圧縮ブロックが既に符号化処理が適用され、符号化圧縮済みであるか否かのチェックを行う。つまり、画像データに対し、図６及び図７にて述べた解像度圧縮、ブロック管理テーブル登録が適用され、高圧縮時（Ｓ７０２）及び中圧縮時（Ｓ７０４）において、テーブル要素に同じ画像データが複数回、重複して登録されている可能性がある。そのため、一度符号化圧縮処理を適用しているブロック画像に対しては、本処理をスキップするためのチェックを行う。従って、既にそのブロックが符号化圧縮されている場合（Ｓ１００２にてＹｅｓ）は符号化処理を省略して、Ｓ１００７へ進む。まだ符号化圧縮されていない場合（Ｓ１００２にてＮｏ）は、Ｓ１００３へ進み、そのテーブル要素に登録された画像ブロックの圧縮状態をチェックする。ここで圧縮状態をチェックし、高圧縮ならＳ１００４へ進み、高画質係数を使用して符号化処理を行う。また、中圧縮ならＳ１００５へ進み、中圧縮係数を使用して符号化処理を行う。同様に、低圧縮ならＳ１００６へ進み、低圧縮係数を使用して符号化処理を行う。その際、Ｓ１００４、Ｓ１００５、Ｓ１００６において、符号化処理を適用した際に、図８の情報ヘッダにおける画像データの圧縮状態８０８に圧縮済みである旨の情報を付与する。このときに、重複して登録されている基本圧縮ブロックに対しては、一様に圧縮済みである旨の情報を付与してもよい。これにより、さらに効率的に符号量を軽減することができる。Ｓ１００４、Ｓ１００５、Ｓ１００６における符号化処理がそれぞれ完了したら、Ｓ１００７へ進む。Ｓ１００７にて、全ての基本圧縮ブロックに対して行ったか否かの判定を行う。全基本圧縮ブロックに対して処理が完了していない場合（Ｓ１００７にてＹｅｓ）は、Ｓ１００１に戻り、未処理の基本圧縮ブロックに対して、処理を繰り返す。全基本圧縮ブロックに対して処理が完了した場合（Ｓ１００７にてＮｏ）は、本フローを終了する。なお、Ｓ１００４、Ｓ１００５、Ｓ１００６における圧縮方法は、どのような符号化圧縮方法を用いてもよく、ここでは詳細には説明しない。よって、上記に記載した画像係数等の値は適用する符号圧縮方法に依存することとなる。
【００２８】
以上により、解像度が混在している生画像データに対して符号圧縮処理を行うことができるようになる。また、高解像度の画像において画質を落とすことなく、部分的に解像度を落とすことで、データ量を削減して保持できるようになる。また、この解像度圧縮を行った状態で、色変換処理などの処理も可能となるため、画像データパスの負荷軽減が可能となる。さらに、解像度圧縮した状態の画像を、符号化圧縮できるようになるため、さらにはデータ量を削減して内部メモリに保存できるようになり、機器本体メモリの軽減が可能となる。
【００２９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011066720.tif 000003
【図２】
2011066720.tif 000004
【図３】
2011066720.tif 000005
【図４】
2011066720.tif 000006
【図５】
2011066720.tif 000007
【図６】
2011066720.tif 000008
【図７】
2011066720.tif 000009
【図８】
2011066720.tif 000010
【図９】
2011066720.tif 000011
【図１０】
2011066720.tif 000012