(57)【特許請求の範囲】
【請求項１】
多層構造の画像データを入力するデータ入力手段と、
前記画像データを圧縮するデータ圧縮手段と、
前記画像データを圧縮する圧縮条件を複数生成する条件生成手段と、
圧縮された前記多層構造の画像データを展開するデータ展開手段と、
前記条件生成手段で生成された複数の圧縮条件の各々について、前記データ圧縮手段により圧縮された画像データを前記データ展開手段により展開し、展開時の作業メモリ量を計測して、圧縮された前記画像データを展開するときの展開時の作業メモリ量を取得し、取得された作業メモリ量と予め設定された許容メモリ量とを比較して、取得された作業メモリ量が許容メモリ量以下か否かを検査する展開用メモリ検査手段と、
前記展開用メモリ検査手段での検査結果を参照し、複数生成された圧縮条件の中から展開時の作業メモリ量が許容メモリ量以下となる所定の圧縮条件を設定する条件設定手段と、
前記条件設定手段により設定された圧縮条件で、前記データ圧縮手段により入力された前記画像データを圧縮して、圧縮された多層構造の画像データを出力するデータ出力手段と、
を備えたデータ圧縮装置。
【請求項２】
前記展開用メモリ検査手段は、展開時の作業メモリ量と共に前記画像データを圧縮したときの圧縮率を取得し、前記条件設定手段は、展開時の作業メモリ量が許容メモリ量以下で且つ圧縮率が最も高くなる所定の圧縮条件を設定する請求項１に記載のデータ圧縮装置。
【請求項３】
前記圧縮条件には、圧縮方式、画質パラメータ、及び解像度が含まれる請求項１又は請求項２に記載のデータ圧縮装置。
【請求項４】
前記画質パラメータは、前記圧縮方式に応じて複数のレベルが設定される請求項３に記載のデータ圧縮装置。
【請求項５】
前記圧縮条件の一部を固定条件とする請求項３に記載のデータ圧縮装置。
【請求項６】
コンピュータにより、
入力された多層構造の画像データを圧縮する圧縮条件を複数生成する条件生成ステップと、
圧縮された前記多層構造の画像データを展開するデータ展開ステップと、
前記条件生成ステップで生成された複数の圧縮条件の各々について、前記データ圧縮手段により圧縮された画像データを前記データ展開手段により展開し、展開時の作業メモリ量を計測して、圧縮された前記画像データを展開するときの展開時の作業メモリ量を取得し、取得された作業メモリ量と予め設定された許容メモリ量とを比較して、取得された作業メモリ量が許容メモリ量以下か否かを検査する展開用メモリ検査ステップと、
前記展開用メモリ検査ステップでの検査結果を参照し、複数生成された圧縮条件の中から展開時の作業メモリ量が許容メモリ量以下となる所定の圧縮条件を設定する条件設定ステップと、
前記条件設定ステップで設定された圧縮条件で、入力された前記画像データを圧縮し、圧縮された多層構造の画像データを出力するデータ出力ステップと、
を実行させるデータ圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ圧縮装置、データ圧縮方法、及びデータ圧縮プログラムに関し、特に、圧縮データの展開時の作業メモリ量を考慮して圧縮条件を設定することが可能なデータ圧縮装置、データ圧縮方法、及びデータ圧縮プログラムに関する。
【背景技術】
【０００２】
近年、紙に印字されたドキュメントをスキャナ等で読み取って電子化する処理が活用されている。読み取った画像データはデータ量が大きいため、ＪＰＥＧなどの画像圧縮方法で圧縮する必要がある。画像データをＪＰＥＧで圧縮する場合、写真画像では圧縮率や画質の点で良い結果を得ることができる。
【０００３】
しかしながら、ビジネス文章などのドキュメントには、写真画像ばかりではなく、文字やグラフのような図形要素が含まれている。これらの図形要素を一律にＪＰＥＧなどの非可逆な圧縮方法で圧縮したのでは、例えば文字部分の画質が劣化して判読できなくなる、といった問題が発生する。
【０００４】
この問題を解決するために、特許文献１に開示された技術では、文字部と写真部を分離して、文字領域の位置やサイズや色を判別し、文字領域と、それ以外の領域で別々の圧縮を行う。このようにして処理した結果、文字部分では、文字用の所定の圧縮方法で圧縮された圧縮コード、文字の座標値、文字の色を出力し、文字以外の背景部分では、背景用の所定の圧縮方法で圧縮された１ページ全体のサイズの圧縮コードを出力する。
【０００５】
この技術では、分離された文字部と背景部の各々について圧縮方式を任意に選択可能としたことで、全体として圧縮率が高く、また、高画質の画像を生成することができる。
【０００６】
【特許文献１】特開２００３−２１９１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の技術では、選択された圧縮方式によっては、画像データの圧縮時または圧縮データの展開時に大きな作業メモリ量が必要となる場合がある。画像データの圧縮時（符号化時）にメモリ不足が発生した場合は、異なった圧縮方式や圧縮パラメータを選択することでエラーのリカバリー処理が可能となる。これに対し、圧縮データの受信側の処理環境は様々であり、圧縮データの展開時（復号化時）にメモリ不足が発生した場合には、圧縮データの展開、表示を行うことができない。
【０００８】
例えば、２値画像の圧縮に、ＦＡＸ−Ｇ４（ＭＭＲ）圧縮に代わりＩＴＵ−ＴのＴ．８８勧告で示されるＪＢＩＧ２圧縮を使用したとすると、文字などの記号が多く含まれるドキュメントでは、圧縮率は２倍から４倍になることが知られているが、復号化時には数倍から数十倍のメモリが必要となる場合がある。このため、例えば、圧縮データの受信者がＰＤＡ（Portable Data Assistance）を使用している場合には、ＰＤＡのＲＡＭ容量が小さいために、圧縮データを展開、表示できない問題が発生する。
【０００９】
本発明は、上記問題を解決すべく成されたものであり、本発明の目的は、圧縮データの展開時の作業メモリ量を考慮して圧縮条件を設定することで、メモリ不足により圧縮データの展開、表示を行うことができないという不都合を回避することができるデータ圧縮装置、データ圧縮方法、及びデータ圧縮プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明のデータ圧縮装置は、多層構造の画像データを入力するデータ入力手段と、前記画像データを圧縮するデータ圧縮手段と、前記画像データを圧縮する圧縮条件を複数生成する条件生成手段と、圧縮された前記多層構造の画像データを展開するデータ展開手段と、前記条件生成手段で生成された複数の圧縮条件の各々について、前記データ圧縮手段により圧縮された画像データを前記データ展開手段により展開し、展開時の作業メモリ量を計測して、圧縮された前記画像データを展開するときの展開時の作業メモリ量を取得し、取得された作業メモリ量と予め設定された許容メモリ量とを比較して、取得された作業メモリ量が許容メモリ量以下か否かを検査する展開用メモリ検査手段と、前記展開用メモリ検査手段での検査結果を参照し、複数生成された圧縮条件の中から展開時の作業メモリ量が許容メモリ量以下となる所定の圧縮条件を設定する条件設定手段と、前記条件設定手段により設定された圧縮条件で、前記データ圧縮手段により入力された前記画像データを圧縮して、圧縮された多層構造の画像データを出力するデータ出力手段と、を備えたことを特徴としている。
【００１１】
上記のデータ圧縮装置では、データ入力手段から多層構造の画像データが入力されると、条件生成手段が画像データを圧縮する圧縮条件を複数生成する。展開用メモリ検査手段は、条件生成手段で生成された複数の圧縮条件の各々について、圧縮された前記画像データを展開するときの展開時の作業メモリ量を取得し、取得された作業メモリ量と予め設定された許容メモリ量とを比較して、取得された作業メモリ量が許容メモリ量以下か否かを検査する。
【００１２】
条件設定手段は、展開用メモリ検査手段での検査結果を参照し、複数生成した圧縮条件の中から展開時の作業メモリ量が許容メモリ量以下となる所定の圧縮条件を設定し、データ出力手段は、条件設定手段により設定された圧縮条件で、データ圧縮手段により入力された画像データを圧縮して、圧縮された多層構造の画像データを出力する。従って、圧縮データの展開、表示を行うデバイスに応じて許容メモリ量を予め設定しておくことで、メモリ不足により圧縮データの展開、表示を行うことができないという不都合を回避することができる。
【発明の効果】
【００１３】
以上説明したように本発明によれば、圧縮データの展開時の作業メモリ量を考慮して圧縮条件を設定することで、メモリ不足により圧縮データの展開、表示を行うことができないという不都合を回避することができる、という効果がある。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
【００１５】
＜データ圧縮装置の概略構成＞
図１は、本発明のデータ圧縮装置の概略構成を示す機能ブロック図である。
データ圧縮装置１０には、入力されたレイヤ画像データ１２の圧縮条件１４を複数生成する圧縮条件取得処理部１６と、生成された複数の圧縮条件１４の各々について、展開時の作業メモリ量を取得し、取得された作業メモリ量が予め設定された許容メモリ量以下か否かを検査すると共に、展開時の作業メモリ量が許容メモリ量以下となる圧縮条件でレイヤ画像データ１２を圧縮して、圧縮されたレイヤ画像データ２０を出力する展開用メモリ検査部１８と、が設けられている。
【００１６】
展開用メモリ検査部１８には、入力されたデータを一時的に保持する内部バッファ２２と、入力されたレイヤ画像データ１２を圧縮する圧縮処理部２４と、圧縮されたレイヤ画像データを展開する展開処理部２６と、が設けられている。内部バッファ２２は、複数生成された圧縮条件の中から所定の圧縮条件を設定する条件設定手段としても機能する。
【００１７】
上記のデータ圧縮装置１０では、ユーザが図示しないユーザインタフェイス（ＵＩ）上で圧縮条件を指示すると、圧縮条件取得処理部１６では指示された条件に基づいてレイヤ画像データ１２の圧縮条件１４が複数生成される。生成された圧縮条件は展開用メモリ検査部１８に入力され、内部バッファ２２に保持される。展開用メモリ検査部１８では、内部バッファ２２に保持された各々の圧縮条件について後述する「展開時メモリ検査処理」が実行され、複数生成された圧縮条件の中から作業メモリ量が許容メモリ量以下となる所定の圧縮条件が選択される。選択された圧縮条件は内部バッファ２２に設定され、圧縮処理部２４で設定された圧縮条件でレイヤ画像データ１２が圧縮され、圧縮されたレイヤ画像データ２０が出力される。
【００１８】
＜レイヤ画像データ＞
ここで、レイヤ画像データについて説明する。レイヤ画像データは、ＭＲＣ（Mixed Raster Content）構造を有する画像データであり、アプリケーションが作成した文書データを複数の層（レイヤ）に分離し、各層毎にラスタデータを作成することで生成される。レイヤ画像データは、各層毎にラスタデータに対して異なる方式の圧縮処理を施すことで、高い圧縮率を達成することができる。
【００１９】
図２（Ａ）乃至（Ｃ）はレイヤ画像データの一例を示す図である。例えば、図２（Ａ）は文書データの構成例を示している。この文書データ３０は、黒色で描かれたテキスト３２とグラフィックス３４、赤色で描かれたテキスト３６とグラフィックス３８、及び写真などの画像データを取り込んで作成されたイメージ４０から構成されている。図２（Ｂ）はイメージを含む部分を１つのレイヤ４２に集めた様子を示すものであり、このレイヤ４２は多値画像データを圧縮する方式（例えばＪＰＥＧ方式）で圧縮することができる。また、このレイヤ４２は下地として扱われるのでＢＧ（Background）レイヤ又は背景層と称される。
【００２０】
図２（Ｃ）はテキストやグラフィックスを含む部分を１つのレイヤ４４に集めた様子を示すものであり、同じ色の領域毎にマスクデータ４６、４８を構成し、これらマスクデータ４６、４８の各々は二値画像データを圧縮する方式（例えばＭＭＲ方式）で圧縮することができる。また、このレイヤ４４は下地上に上書きされるのでＦＧ（Foreground）レイヤ又は前景層と称され、各マスクデータは、ＭＭＲ圧縮された「２値データ」、「位置・サイズ」、及び「色情報」の組み合わせとして表現することができる。
【００２１】
ＦＧレイヤ４４のＭＭＲ圧縮される領域に含まれる画像データは、テキストやグラフィックスの存在する部分が「黒」画素に相当している。「白」画素部分は復号時に透明な領域であるものとして扱うように定義しておくと、ＢＧレイヤ４２のＪＰＥＧ圧縮データを展開した上に、ＦＧレイヤ４４のＭＭＲ圧縮データを展開して、指定された色情報を着色することで、元の文書データ３０を再現することができる。
【００２２】
＜圧縮条件の生成＞
図３に圧縮条件の一例を示す。図３に示すように、レイヤ画像データ１２の圧縮条件は、「解像度」、「画質パラメータ」、「背景圧縮方式」、及び「前景圧縮方式」の４つの要素の組み合わせによって表現されている。
【００２３】
本実施の形態では、「解像度」は、３００、４００、６００ｄｐｉから自動的に選択（自動選択）される。「画質パラメータ」は、圧縮方式に応じたパラメータが予め決定されており、この中から自動選択される。例えば、画質基準の例としては、ＪＰＥＧの場合には、Ｑｕａｌｉｔｙ値（０から１００の値）に対し、圧縮優先は３０、標準は５５、画質優先は８５などと予め設定しておくことができる。
【００２４】
「圧縮方式」は、レイヤ画像データの背景層及び前景層の各々について候補が予め設定されており、この中から自動選択される。「背景圧縮方式」は、多値画像用の圧縮方式であり、ＪＰＥＧ、ＪＰＥＧ２Ｋ、ｄｅｆｌａｔｅが候補として設定されている。「前景圧縮方式」は、２値画像用の圧縮方式であり、ＭＭＲ、ＪＢＩＧ２が候補として設定されている。なお、ここでは、ＰＤＦの１．５の仕様までで利用できる実際の圧縮形式を候補として例示している。
【００２５】
圧縮条件取得処理部１６では、上述した４つの要素の組み合わせの数だけ圧縮条件が生成される。例えば、図２に示す例では、３×３×３×２＝５４通りの圧縮条件が生成され、生成された複数の圧縮条件が展開用メモリ検査部１８に入力される。
【００２６】
＜展開時メモリ検査処理＞
図４は「展開時メモリ検査処理」の処理ルーチンを示すフローチャートである。この処理ルーチンは圧縮条件取得処理部１６で実行される。
圧縮条件取得処理部１６で生成された複数の圧縮条件が展開用メモリ検査部１８に入力されると、まず、ステップ１００で、複数の圧縮条件を展開用メモリ検査部１８の内部バッファ２２に保持する。次のステップ１０２で、所定の圧縮条件を選択する。即ち、上述した４つの要素の組み合わせの１つを選択する。次のステップ１０４で、選択された圧縮条件でレイヤ画像データ１２を圧縮した場合に、圧縮データの圧縮率とその圧縮データを展開するのに必要な作業メモリ量とを計測する「作業メモリ量の計測処理」を実行する。
【００２７】
次に、ステップ１０６で、内部バッファ２２に保持された許容メモリ量を読み出し、展開時の作業メモリ量と許容メモリ量とを比較して、展開時の作業メモリ量が許容メモリ量以下か否かを判断する。許容メモリ量は、圧縮データの展開、表示を実行するデバイスに応じて複数の候補値を予め設定しておき、ユーザが選択できるようにしてもよい。例えば、デバイスが携帯電話の場合は１メガバイト、ＰＤＡの場合は１０メガバイト、パーソナルコンピュータの場合は無制限である。ここで否定判断の場合には、ステップ１０８に進み、対象とした圧縮条件を内部バッファから除いて、ステップ１０２に戻って次の圧縮条件を選択する。これにより、圧縮データを受信したデバイスにおいて、作業メモリ量の不足により圧縮データの展開、表示を行うことができない、という不都合を回避することができる。
【００２８】
ここで肯定判断の場合には、ステップ１１０に進み、他の圧縮条件があるか否かを判断し、肯定判断の場合には、ステップ１０２に戻って次の圧縮条件を選択する。一方、否定判断の場合には、生成された複数の圧縮条件について「展開時メモリ検査処理」が完了したことを意味するので、次のステップ１１２に進み、内部バッファ２２に保持された許容圧縮条件を全部読み出し、その中で圧縮率が最も高くなる許容圧縮条件を選択する。そして、選択された許容圧縮条件を実圧縮条件として内部バッファ２２に設定し、ルーチンを終了する。
【００２９】
＜作業メモリ量の計測処理＞
図５は「作業メモリ量の計測処理」のサブルーチンを示すフローチャートである。
ステップ２００で、圧縮処理部２４で選択された圧縮条件に従ってレイヤ画像データ１２を圧縮する。ステップ２０２で、実際に圧縮処理を実施して得られた圧縮データから圧縮率を計測し、ステップ２０４で、計測した圧縮率を内部バッファ２２に保存する。次に、ステップ２０６で、展開処理部２６で圧縮データを展開する。ステップ２０８で、実際に展開処理に要した作業メモリ量を計測し、ステップ２１０で、計測した作業メモリ量を内部バッファ２２に保存して、ルーチンを終了する。なお、展開時の作業メモリ使用量とは、展開プログラムが、展開時に動的に確保したメモリ量のうち、展開結果となる画像データを除くメモリ量を指す。
【００３０】
以上説明した通り、本実施の形態では、全部の圧縮条件についてレイヤ画像データの圧縮処理及び圧縮データの展開処理を行って圧縮率と展開時の作業メモリ量とを実際に計測し、レイヤ画像データの圧縮処理に使用する実圧縮条件として、複数生成された圧縮条件の中から展開時の作業メモリ量が予め設定された許容メモリ量以下で且つ圧縮率が最高となる圧縮条件を設定するので、作業メモリ量の不足により圧縮データの展開、表示を行うことができないという不都合を回避することができる。
【００３１】
なお、上記の実施の形態では、レイヤ画像データの圧縮処理及び圧縮データの展開処理の両方を実施して、圧縮率と展開時に必要な作業メモリ量とを実際に計測する例について説明したが、圧縮処理だけを実施して、圧縮率を実際に計測すると共に圧縮データから展開時の作業メモリ量を演算してもよい。また、圧縮処理及び展開処理のいずれも実施せずに、圧縮率と展開時の作業メモリ量とを演算してもよい。
【００３２】
また、上記の実施の形態では、生成された全部の圧縮条件について「展開時メモリ検査処理」が実行される例について説明したが、検査結果が予想できる場合には一部の組み合わせについて「展開時メモリ検査処理」を省略することができる。例えば、解像度について３００ｄｐｉでメモリ不足となった場合、通常４００ｄｐｉ、６００ｄｐｉでもメモリ不足となる事が予想される。このような場合は、４００ｄｐｉ、６００ｄｐｉの処理を省略することができる。
【００３３】
また、上記の実施の形態では、圧縮条件の各要素が自動選択される例について説明したが、一部の要素を固定化してもよい。図６に圧縮条件の他の一例を示す。この圧縮条件も上述した４つの要素の組み合わせによって表現されている。この例では、「解像度」は固定値であり、３００ｄｐｉである。「画質パラメータ」は固定値であり、圧縮優先である。「背景圧縮方式」は固定値であり、ＪＰＥＧが設定されている。「前景圧縮方式」は、２値画像用の圧縮方式であり、ＭＭＲ、ＪＢＩＧ２から自動選択される。固定化の例としては、ＵＩ上でユーザが「解像度」や「画質パラメータ」等を直接指定した場合が挙げられる。また、実際に動作する装置の仕様上、一部の要素が固定化されている場合もある。例えば、装置の解像度の上限が６００ｄｐｉである場合等である。
【図面の簡単な説明】
【００３４】
【図１】本発明のデータ圧縮装置の概略構成を示す機能ブロック図である。
【図２】（Ａ）乃至（Ｃ）はレイヤ画像データの一例を示す図である。
【図３】圧縮条件の一例を示す図である。
【図４】「展開時メモリ検査処理」の処理ルーチンを示すフローチャートである。
【図５】「作業メモリ量の計測処理」のサブルーチンを示すフローチャートである。
【図６】圧縮条件の他の一例を示す図である。
【符号の説明】
【００３５】
１０   データ圧縮装置
１２   レイヤ画像データ
１４   圧縮条件
１６   圧縮条件取得処理部
１８   展開用メモリ検査部
２０   レイヤ画像データ
２２   内部バッファ
２４   圧縮処理部
２６   展開処理部
３０   文書データ
３２   テキスト
３４   グラフィックス
３６   テキスト
３８   グラフィックス
４０   イメージ
４２   レイヤ
４４   レイヤ
４６   マスクデータ
【図１】
0004650236.tif 000002
【図２】
0004650236.tif 000003
【図３】
0004650236.tif 000004
【図４】
0004650236.tif 000005
【図５】
0004650236.tif 000006
【図６】
0004650236.tif 000007