(57)【要約】【課題】スムーズな圧縮処理を実現しながらデータの圧縮率を高める。【解決手段】デフォルトのハフマンテーブルＨＴ０が設定された場合（Ｓ１４０，１５０）、先行の画像データにおける量子化後のＤＣＴ係数に対してハフマンテーブルＨＴ０を用いて符号化すると共にＤＣＴ係数の各係数値の出現確率に基づいて新規のハフマンテーブルＨＴ１を構築して保存し（Ｓ１６０〜２４０）、先行の画像データと後続の画像データとが所定の関係を有することによりハフマンテーブルＨＴ１が設定された場合（Ｓ１４０，１５０）、後続の画像データにおける量子化後のＤＣＴ係数に対してハフマンテーブルＨＴ１を用いて符号化するから（Ｓ２５０〜３１０）、デフォルトのハフマンテーブルＨＴ０を用いて符号化するものに比して圧縮率を高めることができ、また、符号化の度にハフマンテーブルを構築するものに比して処理時間を低減することができる。【選択図】図２
2011199432.tif 000002
【特許請求の範囲】
【請求項１】
画像データを順次入力して符号化処理する画像処理装置であって、
符号化のための前処理を行なって前記入力された画像データを所定のデータ形式に変換して変換データを生成するデータ変換手段と、
前記入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて前記変換データを符号化すると共に該変換データに基づいて新規のハフマンテーブルを構築し、前記所定の関係が成立する場合には、前記先行画像データを符号化する際に構築した前記新規のハフマンテーブルを用いて前記変換データを符号化する符号化手段と
を備える画像処理装置。
【請求項２】
前記符号化手段は、前記新規のハフマンテーブルの構築を伴って前記先行画像データを符号化してから前記入力された画像データを処理するまでの間隔が所定時間内である場合に、前記所定の関係が成立するとして符号化する手段である請求項１記載の画像処理装置。
【請求項３】
前記符号化手段は、前記先行画像データと前記入力された画像データとが複数の画像データからなる１つのジョブとして連続的に入力されている場合に、前記所定の関係が成立するとして符号化する手段である請求項１または２記載の画像処理装置。
【請求項４】
請求項１ないし３いずれか１項に記載の画像処理装置であって、
画像データの種類を判別する画像種類判別手段を備え、
前記符号化手段は、前記画像種類判別手段により判別された前記先行画像データの種類と前記入力された画像データの種類とが一致する場合に、前記所定の関係が成立するとして符号化する手段である
画像処理装置。
【請求項５】
前記符号化手段は、前記所定の関係が成立しない場合には、前記所定のハフマンテーブルとしてデフォルトのハフマンテーブルを用いて符号化すると共に前記新規のハフマンテーブルを後続の画像データの符号化に用いるハフマンテーブルとして構築する手段である請求項１ないし４いずれか１項に記載の画像処理装置。
【請求項６】
媒体に形成された画像を読み取る画像読取装置を介して入力した画像データから印刷用データを生成して印刷装置に出力する請求項１ないし５いずれか１項に記載の画像処理装置であって、
前記印刷用データを生成するために前記符号化手段により符号化された画像データを復号化して復号化データを生成すると共に該復号化データに基づいて前記新規のハフマンテーブルを構築する復号化手段を備え、
前記符号化手段は、前記復号化手段による前記新規のハフマンテーブルの構築に用いられた画像データと前記入力された画像データとの間で前記所定の関係が成立する場合には、前記符号化に伴って構築した新規のハフマンテーブルに代えて前記復号化手段により構築された新規のハフマンテーブルを用いて符号化する手段である
画像処理装置。
【請求項７】
コンピューターを、請求項１ないし６いずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを順次入力して符号化処理する画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来より、この種の画像処理装置としては、ＪＰＥＧ方式で圧縮処理された画像データを取り扱うものが提案されている（例えば、特許文献１参照）。この装置では、圧縮処理された画像データが入力されると、画像データを一旦復号化し再度圧縮処理してから記憶装置に記憶している。その際、画像データの復号化により得られたＤＣＴ（離散コサイン変換）係数の出現確率を調べ、その出現確率に基づいて新たなハフマンテーブルを再構築し、再構築したハフマンテーブルを用いてＤＣＴ係数を再度符号化することにより圧縮処理するものとしており、これにより、圧縮率を高めてデータ量を抑えることができるとしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１３０６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した装置では、圧縮率を高めることができるものの符号化の前に毎回ハフマンテーブルを再構築しなければならず、再構築するための待ち時間が生じてスムーズな圧縮処理が妨げられてしまう。一方で、毎回既定のハフマンテーブルを用いることも考えられるが、その場合には圧縮対象データの各データ値の出現確率に応じて効率よく符号化するものとはならないから、圧縮率を高めることは困難となる。このような装置においては、圧縮率と処理速度とはいずれも重要な課題として考えられるため、処理方法についてのさらなる改善が求められている。
【０００５】
本発明の画像処理装置およびプログラムは、画像データのスムーズな圧縮処理を実現しつつ圧縮率を高めることを主目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置およびプログラムは、上述の主目的を達成するために以下の手段を採った。
【０００７】
本発明の画像処理装置は、
画像データを順次入力して符号化処理する画像処理装置であって、
符号化のための前処理を行なって前記入力された画像データを所定のデータ形式に変換して変換データを生成するデータ変換手段と、
前記入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて前記変換データを符号化すると共に該変換データに基づいて新規のハフマンテーブルを構築し、前記所定の関係が成立する場合には、前記先行画像データを符号化する際に構築した前記新規のハフマンテーブルを用いて前記変換データを符号化する符号化手段と
を備えることを要旨とする。
【０００８】
この本発明の画像処理装置では、符号化のための前処理を行なって入力された画像データを所定のデータ形式に変換して変換データを生成し、入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて変換データを符号化すると共に変換データに基づいて新規のハフマンテーブルを構築し、所定の関係が成立する場合には、先行画像データを符号化する際に構築した新規のハフマンテーブルを用いて変換データを符号化する。これにより、既定のハフマンテーブルを用いて符号化する場合に比して効率のよい符号化を可能として圧縮率を高めることができる。また、新規のハフマンテーブルは、先行の画像データを符号化する際に構築されたものを用いるから、符号化する度に構築するものに比してハフマンテーブルを構築するための処理時間を大幅に低減することができる。この結果、画像データのスムーズな圧縮処理を実現しつつ圧縮率を高めることができる。
【０００９】
こうした本発明の画像処理装置において、前記符号化手段は、前記新規のハフマンテーブルの構築を伴って前記先行画像データを符号化してから前記入力された画像データを処理するまでの間隔が所定時間内である場合に、前記所定の関係が成立するとして符号化する手段であるものとすることができる。ここで、所定時間内に処理される画像データは、同様の画像データである可能性が高く変換データの各データ値が同様の傾向となることが多いから、新規のハフマンテーブルを用いることでより適切に符号化することができる。
【００１０】
また、本発明の画像処理装置において、前記符号化手段は、前記先行画像データと前記入力された画像データとが複数の画像データからなる１つのジョブとして連続的に入力されている場合に、前記所定の関係が成立するとして符号化する手段であるものとすることができる。ここで、連続的に入力される画像データは、同様の画像データである可能性が高く変換データの各データ値が同様の傾向となることが多いから、新規のハフマンテーブルを用いることでより適切に符号化することができる。
【００１１】
さらに、本発明の画像処理装置において、画像データの種類を判別する画像種類判別手段を備え、前記符号化手段は、前記画像種類判別手段により判別された前記先行画像データの種類と前記入力された画像データの種類とが一致する場合に、前記所定の関係が成立するとして符号化する手段であるものとすることができる。ここで、画像データの種類が一致する画像データは、同様の画像データである可能性が高く変換データの各データ値が同様の傾向となることが多いから、新規のハフマンテーブルを用いることでより適切に符号化することができる。なお、画像データの種類としては、例えば、文字からなる画像や写真からなる画像、文字と画像とが混在する画像などが挙げられる。
【００１２】
そして、本発明の画像処理装置において、前記符号化手段は、前記所定の関係が成立しない場合には、前記所定のハフマンテーブルとしてデフォルトのハフマンテーブルを用いて符号化すると共に前記新規のハフマンテーブルを後続の画像データの符号化に用いるハフマンテーブルとして構築する手段であるものとすることもできる。
【００１３】
また、媒体に形成された画像を読み取る画像読取装置を介して入力した画像データから印刷用データを生成して印刷装置に出力する本発明の画像処理装置において、前記印刷用データを生成するために前記符号化手段により符号化された画像データを復号化して復号化データを生成すると共に該復号化データに基づいて前記新規のハフマンテーブルを構築する復号化手段を備え、前記符号化手段は、前記復号化手段による前記新規のハフマンテーブルの構築に用いられた画像データと前記入力された画像データとの間で前記所定の関係が成立する場合には、前記符号化に伴って構築した新規のハフマンテーブルに代えて前記復号化手段により構築された新規のハフマンテーブルを用いて符号化する手段であるものとすることもできる。こうすれば、新規のハフマンテーブルを構築する機会を多くすることができ、より適切なタイミングで新規のハフマンテーブルを構築することができる。
【００１４】
本発明のプログラムは、コンピューターを上述したいずれかの本発明の画像処理装置として機能させるためのものである。このプログラムは、コンピューターが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよ
い。このプログラムをコンピューターに実行させれば、上述した画像処理装置と同様の効果を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】マルチファンクションプリンター１０の構成の概略を示す構成図。
【図２】コピーモード時処理ルーチンの一例を示すフローチャート。
【図３】ハフマンテーブル設定処理の一例を示すフローチャート。
【図４】画像データの圧縮処理と使用するハフマンテーブルとの関係を示す説明図。
【図５】変形例のハフマンテーブル設定処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態を図面に基づいて説明する。図１は本発明の画像処理装置の一実施形態であるマルチファンクションプリンター１０の構成の概略を示す構成図である。本実施形態のマルチファンクションプリンター１０は、図示するように、画像データに基づいて用紙Ｓに印刷を実行するプリンターユニット２０と、ガラス台３６に載置された原稿を読み取るフラットベッド式のスキャナーユニット３０と、メモリーカードスロット４０に挿入されたメモリーカード４２との間でデータを格納したファイルの入出力を行なうメモリーカードコントローラー４４と、各種情報を表示部５２に表示したりユーザーの指示をボタン群５４の操作を介して入力したりする操作パネル５０と、装置全体の制御を司るメインコントローラー６０とを備える。このマルチファンクションプリンター１０では、プリンターユニット２０やスキャナーユニット３０，メモリーカードコントローラー４４，メインコントローラー６０がバス１２を介して互いに各種制御信号やデータのやり取りをすることができるよう構成されている。
【００１７】
プリンターユニット２０は、プリンターＡＳＩＣ２２とプリンター機構２４とを備える。プリンターＡＳＩＣ２２は、プリンター機構２４を制御する集積回路であり、メインコントローラー６０から印刷指令を受けると、その印刷指令の対象となる画像データに基づいて用紙Ｓに画像を印刷するようプリンター機構２４を制御する。また、プリンター機構２４は、印刷ヘッドから用紙Ｓへインクを吐出することにより印刷を行なう周知のインクジェット方式のカラープリンター機構として構成されている。
【００１８】
スキャナーユニット３０は、スキャナーＡＳＩＣ３２とスキャナー機構３４とを備える。スキャナーＡＳＩＣ３２は、スキャナー機構３４を制御する集積回路であり、メインコントローラー６０からの読取指令を受けると、ガラス台３６に載置された原稿を画像データとして読み取るようスキャナー機構３４を制御する。また、スキャナー機構３４は、周知のイメージスキャナーとして構成され、原稿に向かって発光した後の反射光をレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の各色に分解して画像データとする周知のカラーイメージセンサーを備えている。
【００１９】
メモリーカードコントローラー４４は、メモリーカードスロット４０に挿入されたメモリーカード４２との間でデータを格納したファイルの入出力を行なうものである。このメモリーカードコントローラー４４は、メモリーカードスロット４０にメモリーカード４２が接続されているとき、メモリーカード４２に記憶されているファイルを読み出してメインコントローラー６０に送信したりメインコントローラー６０からの命令を入力しその命令に基づいてメモリーカード４２にファイルを記憶したりする。
【００２０】
メインコントローラー６０は、ＣＰＵ６２を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したＲＯＭ６４と、一時的にスキャンデータや印刷データなどを記憶するＲＡＭ６６と、電源を切ってもデータを保持可能なフラッシュメモリー６７と、計時する際に使用するタイマー６８と、操作パネル５０との通信を可能とする内部通信インターフェース（Ｉ／Ｆ）６９とを備える。このメインコントローラー６０は、プリンターユニット２０やスキャナーユニット３０，メモリーカードコントローラー４４からの各種動作信号や各種検出信号を入力したり、操作パネル５０のボタン群５４の操作に応じて発生する操作信号を入力したりする。また、メモリーカード４２からファイルを読み出してメインコントローラー６０へ出力する読出指令をメモリーカードコントローラー４４に出力したり、画像データの印刷を実行するようプリンターユニット２０に印刷指令を出力したり、操作パネル５０のボタン群５４のスキャン指示に基づいてガラス台３６に載置された原稿を画像データとして読み取るようスキャナーユニット３０に読取指令を出力したり、操作パネル５０に表示部５２の制御指令を出力したりする。なお、操作パネル５０のボタン群５４の操作により各種モードを選択可能となっており、選択可能なモードとしては、ガラス台３６に載置された原稿をスキャンしてコピーするコピーモードやメモリーカード４２に記憶された画像データを用いて画像を印刷したり原稿をスキャンしてデータ化してメモリーカード４２に保存したりするメモリーカードモードなどがある。
【００２１】
次に、こうして構成された本実施形態のマルチファンクションプリンター１０の動作、特に、コピーモードが選択された際の動作について説明する。図２は、メインコントローラー６０により実行されるコピーモード時処理ルーチンの一例を示すフローチャートである。このルーチンは、ユーザーによるボタン群５４の操作によりコピーモードが選択されたときに実行される。
【００２２】
コピーモード時処理ルーチンが実行されると、メインコントローラー６０のＣＰＵ６２は、まず、コピーに関する各種項目の設定が可能なコピー設定画面を表示部５２に表示してユーザーのボタン群５４の操作による各種設定を受け付ける（ステップＳ１００）。このコピー設定画面の図示は省略するが、設定可能な項目としては、カラーコピーかモノクロコピーかの設定やコピー部数の設定、コピー対象の原稿の種類が「文字」や「写真」，「文字と写真」のいずれであるかの設定、コピー用紙の種類の設定、コピー用紙のサイズの設定などがある。これらの設定のうち、コピー部数として１部が設定されたものとして説明する。
【００２３】
コピー設定画面を介して各種設定を受け付けると、ボタン群５４の操作によりコピー開始指示がなされたときに（ステップＳ１１０）、スキャナーユニット３０に読取指令を出力することによりガラス台３６に載置された原稿を読み取って（スキャン処理して）画像データを生成し（ステップＳ１２０）、生成したＲＧＢ表色系の画像データをブロック単位に分割する（ステップＳ１３０）。なお、ブロックとしては例えば１ブロックが８×８の画素で構成されるブロックに分割されるものとした。また、ブロック単位に分割する際に、ＲＧＢ表色系のデータを所定の色変換式に基づいてＹＵＶ表色系などのデータに色変換するものなどとしてもよい。
【００２４】
こうして画像データをブロック単位に分割すると、後述する符号化で使用するハフマンテーブルの設定処理を行なう（ステップＳ１４０）。この処理は、予めＲＯＭ６４に記憶されたデフォルトのハフマンテーブルＨＴ０か、後述する処理で構築されてフラッシュメモリー６７に保存される新規のハフマンテーブルＨＴ１かのいずれかを設定する処理であり、詳細については後述する。ハフマンテーブルが設定されると、デフォルトのハフマンテーブルＨＴ０が設定されたか否かを判定する（ステップＳ１５０）。以下、まずは、デフォルトのハフマンテーブルＨＴ０が設定された場合について説明する。
【００２５】
ステップＳ１５０でデフォルトのハフマンテーブルＨＴ０が設定されたと判定すると、分割した複数のブロックのうち未処理のブロックを処理の対象ブロックに設定する（ステップＳ１６０）。なお、対象ブロックの設定は、分割した各ブロックのうち画像データにおける左上のブロックから順に右方向に設定し、右方向に未処理のブロックがなくなると一段下の左端のブロックから順に右方向に設定することにより行なわれる。次に、設定した対象ブロックの各データ値に対して離散コサイン変換（ＤＣＴ）を行なって空間周波数成分であるＤＣＴ係数を得ると共に（ステップＳ１７０）、得られたＤＣＴ係数に対して予めＲＯＭ６４に記憶された量子化テーブルを用いて量子化処理を行なう（ステップＳ１８０）。続いて、量子化後のＤＣＴ係数を順に符号化の対象係数に設定する（ステップＳ１９０）。なお、対象係数の設定は、ブロック内の左上のＤＣＴ係数からジグザグに各ＤＣＴ係数をたどっていく、いわゆるジグザグスキャンに従って順に行なわれる。そして、上述したステップＳ１４０で設定されたデフォルトのハフマンテーブルＨＴ０を用いて該当するハフマン符号を設定することにより対象係数を符号化すると共に（ステップＳ２００）、対象係数の係数値の度数をカウントして（ステップＳ２１０）、未処理係数があるか否かを判定する（ステップＳ２２０）。未処理係数があると判定したときには、ステップＳ１９０に戻り処理を繰り返す。なお、符号化においては、通常は、ブロックの左上のＤＣＴ係数（ＤＣ成分）とそれ以外のＤＣＴ係数（ＡＣ成分）とに異なるハフマンテーブルを用いたり、表色系の色成分毎に異なるハフマンテーブルを用いたりするが、本実施形態においてはそれらのハフマンテーブルを特に区別することなく、まとめてデフォルトのハフマンテーブルＨＴ０と称する。なお、新規のハフマンテーブルＨＴ１についても同様とする。
【００２６】
そして、ステップＳ２２０で未処理係数がないと判定したときには、未処理ブロックがあるか否かを判定し（ステップＳ２３０）、未処理ブロックがあると判定したときにはステップＳ１６０に戻り処理を繰り返す。なお、符号化データや度数のカウントデータはＲＡＭ６６に順次保存され、符号化データには使用したハフマンテーブルの種類の情報（この場合はハフマンテーブルＨＴ０）が合わせて登録されるものとする。こうして対象係数の符号化と度数のカウントとを繰り返し、すべてのブロックの処理が完了してステップＳ２３０で未処理ブロックがないと判定すると、度数のカウントデータからＤＣＴ係数の各係数値の出現確率を算出し算出した出現確率に応じて新規のハフマンテーブルＨＴ１を構築してフラッシュメモリー６７に保存する（ステップＳ２４０）。ここで、新規のハフマンテーブルＨＴ１の構築は、ハフマンテーブルの構築に一般的に用いられる手法、即ち最も出現確率（発生頻度）の高い係数値に短い符号を割り当てると共に出現確率の低い係数値ほど長い符号を割り当てる周知の手法により行なうことができる。なお、フラッシュメモリー６７に既に保存されているハフマンテーブルＨＴ１がある場合には、それに上書きして保存する。これにより、デフォルトのハフマンテーブルＨＴ０を用いて符号化する際に、符号化の対象とされる量子化後のＤＣＴ係数に基づいて新規のハフマンテーブルＨＴ１を構築することができる。
【００２７】
こうして新規のハフマンテーブルＨＴ１を構築すると、コピーの全部数の圧縮処理が完了したか否かを判定する（ステップＳ３２０）。コピーの部数は、ステップＳ１００のコピー設定画面を介して受け付けられた部数であり、いま１部が設定されたものとしているから、ステップＳ３２０で全部数の圧縮処理が完了したと判定する。そして、ＲＡＭ６６に保存された符号化データを展開処理して画像データに変換し（ステップＳ３３０）、プリンターユニット２０に印刷指令を出力することにより画像データに基づく印刷処理を行なって（ステップＳ３４０）、本ルーチンを終了する。なお、符号化データの展開処理は、画像データを符号化データに変換する手順と逆の手順、即ち復号化処理、逆量子化処理、逆離散コサイン変換の順で行なうものとすればよい。また、上述したように、符号化されたデータにはハフマンテーブルの種類の情報が登録されるから、その情報に基づいて必要なハフマンテーブルを読み出して復号化処理を行なうことができる。
【００２８】
こうして１部のコピーが完了した以降に、再び１部のコピーが行なわれる場合について説明する。なお、以下の説明では、処理中の画像データと区別するため、ハフマンテーブルＨＴ１の構築に用いられた画像データを先行の画像データと称する。この場合、上述したように、まず、ステップＳ１００〜Ｓ１４０の処理が行なわれる。即ち、コピー設定画面を介して各種設定を受け付けて、コピー開始指示がなされたときに、スキャン処理して画像データを生成し、生成した画像データをブロック単位に分割して、使用するハフマンテーブルを設定する。ここで、コピーモード時処理ルーチンの説明を中断して、ハフマンテーブルの設定処理について説明する。図３は、ハフマンテーブル設定処理の一例を示すフローチャートである。
【００２９】
ハフマンテーブル設定処理ルーチンでは、まず、新規のハフマンテーブルＨＴ１がフラッシュメモリー６７に保存されているか否かを判定し（ステップＳ４００）、保存されていないと判定した場合には、デフォルトのハフマンテーブルＨＴ０を使用するハフマンテーブルに設定して（ステップＳ４４０）、本処理を終了する。この場合、図２のコピーモード時処理ルーチンにおいては、上述したようにデフォルトのハフマンテーブルＨＴ０を用いた符号化が行なわれるから、その際に新規のハフマンテーブルＨＴ１が構築されることになる。一方、先行の画像データにおいてハフマンテーブルＨＴ１が既に構築されている場合には、ステップＳ４００でハフマンテーブルＨＴ１が保存されていると判定して、現在のコピー部数が複数部であるか１部であるかを判定する（ステップＳ４１０）。いま、コピー部数は１部であるから、ステップＳ４１０でコピー部数は１部と判定し、次に、ハフマンテーブルＨＴ１を構築してからの経過時間Ｔを入力して（ステップＳ４５０）、経過時間Ｔが所定時間Ｔｒｅｆを超えるか否かを判定する（ステップＳ４６０）。ここで、経過時間Ｔは、図示しない計時処理により新規のハフマンテーブルＨＴ１が構築された時点からの時間をタイマー６８を用いて計時したものであり、ハフマンテーブルＨＴ１が構築される度にリセットされて新たに計時が開始されるものである。また、所定時間Ｔｒｅｆは、数分程度の時間に設定されるものである。なお、マルチファンクションプリンター１０は、ボタン群５４からの操作信号が一定時間以上に亘って入力されない場合に表示部５２への給電を停止する省電力モードを有しており、そのような一定時間を所定時間Ｔｒｅｆに設定するものなどとしてもよい。このような数分程度の時間を所定時間Ｔｒｅｆに設定する理由については後述する。そして、ステップＳ４６０で経過時間Ｔが所定時間Ｔｒｅｆを超えないと判定したときには、新規のハフマンテーブルＨＴ１を使用するハフマンテーブルに設定して（ステップＳ４３０）、本処理を終了する。一方、経過時間Ｔが所定時間Ｔｒｅｆを超えると判定したときには、デフォルトのハフマンテーブルＨＴ０を設定して（ステップＳ４７０）、本処理を終了する。なお、ステップＳ４１０でコピー部数は複数部であると判定した場合の処理については後述する。
【００３０】
コピーモード時処理ルーチンの説明に戻って、ステップＳ１４０（図３のハフマンテーブル設定処理）で、新規のハフマンテーブルＨＴ１が設定された場合について説明する。この場合、ステップＳ１５０で否定判定されて、分割した各ブロックのうち対象ブロックを設定し（ステップＳ２５０）、設定した対象ブロックの各データ値に対して離散コサイン変換（ＤＣＴ）を行なうと共に（ステップＳ２６０）、ＤＣＴ係数に対して量子化処理を行なって（ステップＳ２７０）、量子化後のＤＣＴ係数を順に対象係数に設定する（ステップＳ２８０）。なお、これらのステップＳ２５０〜Ｓ２８０の処理は、デフォルトのハフマンテーブルＨＴ０が設定された場合のステップＳ１６０〜１９０と同様に行なわれる。こうして対象係数を設定すると、設定した対象係数をハフマンテーブルＨＴ１を用いて未処理係数がなくなるまで符号化する（ステップＳ２９０〜Ｓ３００）。そして、対象ブロック内に未処理係数がなくなったときには、次の未処理ブロックがあるか否かを判定し（ステップＳ３１０）、未処理ブロックがあると判定したときにはステップＳ２５０に戻り処理を繰り返す。一方、未処理ブロックがないと判定したときには、ステップＳ３２０で全部数の圧縮処理が完了したと判定し、ステップＳ３３０で符号化データを展開して印刷データを生成し、ステップＳ３４０で印刷処理を行なって、本ルーチンを終了する。
【００３１】
ここで、画像データの圧縮処理（符号化）と使用するハフマンテーブルとの関係について図４に基づいて説明する。図４（１）〜（４）は、時系列順に先行の画像データ１とそれに続く後続の画像データ２〜４が処理される様子を示す。ここで、画像データ１の処理時にはハフマンテーブルＨＴ１は保存されていないものとする。なお、コピーモード時処理ルーチンには、圧縮された画像データを展開して印刷する処理まで含まれるが、図４では、画像データが入力されてから圧縮データが生成されるまでを簡略化して図示した。図示するように、まず、画像データ１を処理する際には、ハフマンテーブルＨＴ０を用いて符号化して圧縮データ１を生成し、このときに新規のハフマンテーブルＨＴ１を構築する。次に、画像データ２を処理する場合には、ハフマンテーブルＨＴ１の構築時点から画像データ２の処理（離散コサイン変換（ＤＣＴ））の開始までの経過時間Ｔ１が所定時間Ｔｒｅｆ以下であるため、ハフマンテーブルＨＴ１を用いて画像データ２を符号化する。同様に、画像データ３を処理する場合もハフマンテーブルＨＴ１の構築時点から処理開始までの経過時間Ｔ２が所定時間Ｔｒｅｆ以下であるため、ハフマンテーブルＨＴ１を用いて符号化する。一方、画像データ４を処理する場合には、ハフマンテーブルＨＴ１の構築時点から処理開始までの経過時間Ｔ３が所定時間Ｔｒｅｆを超えるため、ハフマンテーブルＨＴ１ではなくデフォルトのハフマンテーブルＨＴ０を用いて符号化する。なお、この場合、新たにハフマンテーブルＨＴ１（ＨＴ１’と図示）を構築する。
【００３２】
このように、コピー部数が１部のコピーを繰り返し行なう場合には、先行の画像データの処理時においてハフマンテーブルＨＴ１を構築した時点から、後続の画像データにおける符号化のための処理が開始された時点（ブロック単位に分割してＤＣＴを開始する時点）までの経過時間Ｔが所定時間Ｔｒｅｆを超えるか否かに基づいて、使用するハフマンテーブルにデフォルトのハフマンテーブルＨＴ０か新規のハフマンテーブルＨＴ１かのいずれかを設定し、設定したハフマンテーブルを用いて後続の画像データを符号化するのである。ここで、所定時間Ｔｒｅｆは、上述したように、数分程度の時間に設定されるものである。そして、そのような時間内になされるコピーは、同一のユーザーにより一度になされるコピーである可能性が高く、同様な原稿がコピーされるものと想定することができる。このため、先行の画像データと後続の画像データとのデータ内容が似たものとなり、量子化後のＤＣＴ係数の各係数値の出現確率も類似したものとなる可能性が高くなる。したがって、ハフマンテーブルＨＴ１を用いて後続の画像データを符号化することは、デフォルトのハフマンテーブルＨＴ０を用いた符号化に比して、ＤＣＴ係数の各係数値の出現確率により適したハフマンテーブルを用いた処理となるから、効率のよい符号化が可能となるのである。一方、経過時間Ｔが所定時間Ｔｒｅｆを超える場合は、同様な原稿のコピーがなされる可能性は低くなるため、新規のハフマンテーブルＨＴ１を用いる効果は所定時間Ｔｒｅｆ以下の場合に比して少ないものになる。このため、そのような場合には、再度新規のハフマンテーブルＨＴ１を構築して以降のコピーに備えるのである。コピー部数が１部である場合に、ハフマンテーブルＨＴ１を構築してからの経過時間Ｔに応じたハフマンテーブルを設定するのはこうした理由による。なお、ハフマンテーブルＨＴ１は、デフォルトのハフマンテーブルＨＴ０を用いた符号化時に構築されるものであるから、符号化する度に構築するものに比してハフマンテーブルＨＴ１を構築するための処理時間を大幅に低減することができる。
【００３３】
次に、コピー部数が複数部である場合を考える。まず、コピー部数が複数部である場合の図３のハフマンテーブル設定処理について説明する。この場合、ステップＳ４１０でコピー部数は複数部であると判定し、次に、現在の処理が２部目以降であるか否かを判定する（ステップＳ４２０）。そして、２部目以降ではない即ち１部目であるときには、ステップＳ４４０でデフォルトのハフマンテーブルＨＴ０を設定して本処理を終了する。一方、２部目以降であるときには、ステップＳ４３０で新規のハフマンテーブルＨＴ１を設定して本処理を終了する。
【００３４】
そして、図２のコピーモード時処理ルーチンでは、まず、１部目の処理においては、ステップＳ１５０でデフォルトのハフマンテーブルＨＴ０が設定されたと判定し、ステップＳ１６０〜Ｓ２４０の処理、即ち量子化後のＤＣＴ係数の各係数値をデフォルトのハフマンテーブルＨＴ０を用いて符号化しながら各係数値の度数をカウントして新規のハフマンテーブルＨＴ１を構築して保存する処理が行なわれる。そして、ステップＳ３２０で全部数の圧縮が完了していないと判定して、ステップＳ１２０に戻り処理を繰り返す。次に、２部目以降の処理においては、ステップＳ１４０（図３のハフマンテーブル設定処理）で１部目の処理で構築されて保存されたハフマンテーブルＨＴ１を使用するハフマンテーブルに設定し、ステップＳ１５０でハフマンテーブルＨＴ１が設定されたと判定し、ステップＳ２５０〜Ｓ３１０の処理、即ち量子化後のＤＣＴ係数の各係数値を新規のハフマンテーブルＨＴ１を用いて符号化する処理が行なわれる。このような２部目以降の処理が全部数の画像データの圧縮が完了するまで行なわれて、全部数の圧縮が完了したときに、ステップＳ３３０〜Ｓ３４０で展開処理した画像データに基づいて印刷処理を実行して、本ルーチンを終了する。即ち、このような複数部のコピーは、全部数の画像データを圧縮してから印刷を開始するものであるため、先行の画像データとそれに続く後続の画像データが複数の画像データからなる１つのジョブとして連続的に入力されるものとなる。このように、複数部のコピーにおいては、先行の画像データ（１部目）の符号化において構築されたハフマンテーブルＨＴ１を後続の画像データ（２部目以降）の符号化に用いるため、デフォルトのハフマンテーブルＨＴ０を用いる場合に比して、後続の画像データの符号化を効率よく行なうことができる。また、ハフマンテーブルＨＴ１の構築は、先行の画像データの符号化時に行なわれるだけであり、後続の画像データの符号化時に行なわれることはないから、符号化する度に構築するものに比してハフマンテーブルＨＴ１を構築するための処理時間を大幅に低減することができる。
【００３５】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の図２のコピーモード時処理ルーチンにおけるステップＳ１３０，１６０〜１８０，２５０〜２７０の処理を実行するメインコントローラー６０が本発明の「データ変換手段」に相当し、図２のコピーモード時処理ルーチンにおけるステップＳ１４０，１５０，１９０〜２１０，２４０，２８０，２９０の処理および図３のハフマンテーブル設定処理を実行するメインコントローラー６０が「符号化手段」に相当する。また、図２のコピーモード時処理ルーチンにおけるステップＳ３３０の処理を実行するメインコントローラー６０が「復号化手段」に相当する。
【００３６】
以上詳述した本実施形態のマルチファンクションプリンター１０によれば、１部のコピーが行なわれるときには、ハフマンテーブルＨＴ１が保存されていない場合や保存されていてもハフマンテーブルＨＴ１の構築時点からの経過時間Ｔが所定時間Ｔｒｅｆを超える場合には、量子化後のＤＣＴ係数に対してデフォルトのハフマンテーブルＨＴ０を用いて符号化すると共にＤＣＴ係数の各係数値の出現確率に基づいて新規のハフマンテーブルＨＴ１を構築しておき、ハフマンテーブルＨＴ１の構築時点から後続の画像データの処理開始までの経過時間Ｔが所定時間Ｔｒｅｆ以下となる場合には、量子化後のＤＣＴ係数に対して新規のハフマンテーブルＨＴ１を用いて符号化するから、デフォルトのハフマンテーブルＨＴ０を用いて符号化するものに比して圧縮率を高めることができ、また、符号化する度にハフマンテーブルを構築するものに比して構築するための処理時間を大幅に低減することができる。また、複数部のコピーが行なわれるときにも、先行の画像データ（１部目）の符号化において構築されたハフマンテーブルＨＴ１を後続の画像データ（２部目以降）の符号化に用いるから、デフォルトのハフマンテーブルＨＴ０を用いるものに比して、後続の画像データの符号化を効率よく行なうことができ、また、後続の画像データの符号化時にハフマンテーブルＨＴ１を構築することはないから構築のための処理時間を大幅に低減することができる。この結果、画像データのスムーズな圧縮処理を実現しつつ圧縮率を高めることができる。
【００３７】
なお、本発明は上述した実施態様に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３８】
上述した実施形態では、ハフマンテーブルＨＴ１を構築した時点から後続の画像データにおけるブロック単位の分割を開始する時点までの時間を経過時間Ｔとして用いるものとしたが、これに限られず、ハフマンテーブルＨＴ１を構築した時点から後続の画像データが入力された時点としてもよいし、ハフマンテーブルＨＴ１を構築した時点から後続の画像データの符号化が開始される時点などとしてもよい。
【００３９】
上述した実施形態では、フラットベッド式のスキャナーユニット３０を用いるものとしたが、オートドキュメントフィーダ（ＡＤＦ）式のスキャナーユニットを用いるものとしてもよい。この場合、原稿を連続的にスキャンして１つのジョブとして連続的に入力される画像データを蓄積して処理するものであるため、本実施形態の複数部のコピーと同様に処理するものとすればよい。
【００４０】
上述した実施形態では、使用するハフマンテーブルの設定をコピー部数に基づいて行なったりハフマンテーブルＨＴ１の構築時点からの経過時間Ｔに基づいて行なったりするものとしたが、これらに限定されるものではなく、コピー部数以外の各種の設定内容に基づいて行なうものとしてもよい。例えば、コピー対象の原稿の種類（「文字」や「写真」，「文字と写真」）に基づいて行なうものとしてもよく、その場合、図３のハフマンテーブル設定処理に代えて図５に示す変形例のハフマンテーブル設定処理を実行するものとすればよい。なお、図５において、図３と同じ処理については同一の符号を付す。変形例のハフマンテーブル設定処理では、ステップＳ４００でハフマンテーブルＨＴ１が保存されていると判定すると、今回の処理で設定された「文字」や「写真」，「文字と写真」などの原稿の種類と新規のハフマンテーブルＨＴ１の構築に用いられた先行の画像データの処理で設定された原稿の種類とを照合して（ステップＳ４０５）、原稿の種類が一致するか否かを判定する（ステップＳ４１５）。なお、原稿の種類の照合を可能とするために、上述した図２のコピーモード時処理ルーチンのステップＳ２４０の処理において、ハフマンテーブルＨＴ１を保存するときに、設定されている原稿の種類の情報についても合わせて保存するものなどとすればよい。そして、ステップＳ４１５で原稿の種類が一致すると判定した場合には、ステップＳ４３０でハフマンテーブルＨＴ１を設定して処理を終了し、原稿の種類が一致しないと判定した場合には、ステップＳ４４０でデフォルトのハフマンテーブルＨＴ０を設定して処理を終了する。ここで、原稿種が一致する場合には、符号化対象のＤＣＴ係数の出現確率も類似するものとなる可能性が高いから、デフォルトのハフマンテーブルＨＴ０に代えて新規に構築されたハフマンテーブルＨＴ１を用いて符号化することにより、本実施形態と同様の効果を奏するものとなる。なお、ハフマンテーブルＨＴ１を保存するときにそのときの原稿の種類の情報についても合わせて保存するものとすれば、マルチファンクションプリンター１０の電源がオフされた場合であってもその情報が保持されるから、その後に電源がオンされてコピー処理される場合においても、原稿の種類に基づいてハフマンテーブルＨＴ１を設定することができる。
【００４１】
上述した実施形態では、コピー部数に拘わらず圧縮処理を行なうものとしたが、これに限られず、コピー部数が１部のときには圧縮処理を行なわず複数部のときに圧縮処理を行なうものとしてもよい。この場合、図３のハフマンテーブル設定処理において、ステップＳ４１０，Ｓ４５０〜Ｓ４７０の処理を省略するものなどとすればよい。
【００４２】
上述した実施形態では、符号化する場合にハフマンテーブルＨＴ１を構築するものとしたが、これに限られず、復号化する場合にハフマンテーブルＨＴ１を構築するものとしてもよい。この場合、復号化により得られるＤＣＴ係数の各係数値の度数をカウントし、度数データから各係数値の出現確率を算出し、算出した出現確率に基づいて新規のハフマンテーブルＨＴ１を構築してフラッシュメモリー６７に保存するものなどとすればよい。そして、復号化時において構築したハフマンテーブルＨＴ１についても、ハフマンテーブル設定処理において符号化に用いるハフマンテーブルに設定できるものとすればよい。こうすれば、ハフマンテーブルＨＴ１を構築する機会を多くすることができ、符号化処理や復号化処理の処理負荷などを考慮しながら、より適切なタイミングでハフマンテーブルＨＴ１を構築することが可能となる。
【００４３】
上述した実施形態では、構築したハフマンテーブルＨＴ１を後続の画像データの符号化に用いるものとしたが、これに限られず、ハフマンテーブルＨＴ１の構築に用いた画像データの符号化に用いるものとしてもよい。
【００４４】
上述した実施形態では、本発明の画像処理装置をコピーモード時の動作に適用して説明したが、原稿をスキャンして得られる画像データを圧縮してメモリーカード４２に保存するメモリーカードモード時の動作に適用するものとしてもよい。
【００４５】
上述した実施形態では、本発明の画像処理装置をプリンターユニット２０とスキャナーユニット３０とを備えてコピーが可能なマルチファンクションプリンター１０に適用して説明したが、これに限られず、スキャナーユニットのみを備えるスキャナー装置に適用するものとしてもよいし、撮像された画像に対して圧縮処理を行なうデジタルカメラやカメラ付きの携帯電話などに適用するものとしてもよい。
【００４６】
上述した実施形態では、新規のハフマンテーブルＨＴ１として１つのハフマンテーブルをフラッシュメモリー６７に保存するものとしたが、これに限られず、複数のハフマンテーブルを保存するものとしてもよい。例えば、原稿の種類毎に１つずつ保存するものなどとしてもよい。
【００４７】
上述した実施形態では、静止画像を圧縮するＪＰＥＧ方式を例として説明したが、ハフマンテーブルを用いて符号化を行なう圧縮方式であればよく、動画像を圧縮するＭＰＥＧ方式に適用するものなどとしてもよい。
【符号の説明】
【００４８】
１０  マルチファンクションプリンター、１２  バス、２０  プリンターユニット、２２  プリンターＡＳＩＣ、２４  プリンター機構、３０  スキャナーユニット、３２  スキャナーＡＳＩＣ、３４  スキャナー機構、３６  ガラス台、４０  メモリーカードスロット、４２  メモリーカード、４４  メモリーカードコントローラー、５０  操作パネル、５２  表示部、５４  ボタン群、６０  メインコントローラー、６２  ＣＰＵ、６４  ＲＯＭ、６６  ＲＡＭ、６７  フラッシュメモリー、６８  タイマー、６９  内部通信Ｉ／Ｆ、Ｓ  用紙。
【図１】
2011199432.tif 000003
【図２】
2011199432.tif 000004
【図３】
2011199432.tif 000005
【図４】
2011199432.tif 000006
【図５】
2011199432.tif 000007