トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 画像符号化装置及びその制御方法
【発明者】 【氏名】中山 忠義

【要約】 【課題】タイル数に関する閾値を適切に設定することで非可逆符号化処理能力を最大限に利用しつつ、且つ単位時間内に可逆/非可逆符号化データが混在した符号化データを生成することを可能にする。

【構成】画像符号化装置で可逆符号化処理部170はタイル毎に可逆符号化する。判定部103はタイルの属性情報に従い、そのタイルを非可逆符号化すべきか非符号化データすべきかを判定し、その判定結果をフラグとして可逆符号化データに付加する。また判定部103は1ページの可逆符号化処理中、可逆符号化すべきと判定したタイル数をカウントする。タイル数が互いに異なる複数の閾値を越える度に、非可逆符号化処理部180は非可逆フラグを付した可逆符号化データを復号し解像度を下げる処理を行なう。1ページの可逆符号化処理が終わると、非可逆符号化処理部180は非可逆フラグが付された可逆符号化データを非可逆符号化する。
【特許請求の範囲】
【請求項1】
画像データを符号化する画像符号化装置であって、
前記画像データを予め設定されたサイズのタイル単位に可逆符号化する可逆符号化処理手段と、
タイル単位に、当該タイル内の画像データの属性に基づき、可逆符号化すべきか、非可逆符号化すべきかを判定し、可逆/非可逆判定情報を生成する判定手段と、
前記可逆符号化処理手段で生成されたタイルの可逆符号化データと、前記判定手段の可逆/非可逆判定情報とを関連付けて一時的に記憶する記憶手段と、
前記記憶手段に記憶された符号化データ中の、非可逆判定情報を有する可逆符号化データを復号し、非可逆符号化する非可逆符号化処理手段と、
該非可逆符号化手段で生成された非可逆符号化データと、可逆判定情報を有した可逆符号化データとを、符号化対象画像データの符号化結果として出力する出力手段と、
前記可逆符号化処理手段と前記非可逆符号化処理手段を制御する制御手段とを備え、
前記非可逆符号化処理手段は、
可逆符号化データを復号する復号手段と、
復号された画像データを非可逆符号化する非可逆符号化手段と、
復号された画像データを、当該画像データが持つ解像度よりも低い解像度に変換する解像度変換手段と、
該解像度変換手段で変換された画像データを可逆符号化する可逆符号化手段とを備え、
前記制御手段は、
前記判定手段によって非可逆符号化すべきとして判定されたタイル数が、互いに異なる複数の閾値の1つを超える度に、前記復号手段、前記解像度変換手段、前記可逆符号化手段を制御し、前記記憶手段に記憶されている非可逆判定情報を有する可逆符号化データを、解像度の低い可逆符号化データで置換させる第1の置換手段と、
前記可逆符号化処理手段による1ページの可逆符号化が終了した後、前記復号手段、前記非可逆符号化手段を制御し、前記記憶手段に記憶されている非可逆判定情報を有する可逆符号化データを、非可逆符号化データに置換させる第2の置換手段と
を備えることを特徴とする画像符号化装置。
【請求項2】
前記解像度変換手段は、画像データの水平、垂直方向の画素数を1/2にする変換であって、
前記可逆符号化処理手段で1ページ分の可逆符号化処理に要する時間内で、前記非可逆符号化処理手段が解像度変換をしていない画像データを非可逆符号化可能なタイル数をNとしたとき、前記複数の閾値は、N×2i(i=0,1,2…)とすることを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
符号化過程でのデータを一時的に記憶する記憶手段を備え、画像データを符号化する画像符号化装置の制御方法であって、
前記画像データを予め設定されたサイズのタイル単位に可逆符号化する可逆符号化処理工程と、
タイル単位に、当該タイル内の画像データの属性に基づき、可逆符号化すべきか、非可逆符号化すべきかを判定し、可逆/非可逆判定情報を生成する判定工程と、
前記可逆符号化処理工程で生成されたタイルの可逆符号化データと、前記判定工程の可逆/非可逆判定情報とを関連付けて前記記憶手段に格納する格納工程と、
前記記憶手段に記憶された符号化データ中の、非可逆判定情報を有する可逆符号化データを復号し、非可逆符号化する非可逆符号化処理工程と、
該非可逆符号化工程で生成された非可逆符号化データと、可逆判定情報を有した可逆符号化データとを、当該画像データの符号化結果として出力する出力工程と、
前記可逆符号化処理工程と前記非可逆符号化処理工程を制御する制御工程とを備え、
前記非可逆符号化処理工程は、
可逆符号化データを復号する復号工程と、
復号された画像データを非可逆符号化する非可逆符号化工程と、
復号された画像データを、当該画像データが持つ解像度よりも低い解像度に変換する解像度変換工程と、
該解像度変換工程で変換された画像データを可逆符号化する可逆符号化工程とを備え、
前記制御工程は、
前記判定工程によって非可逆符号化すべきとして判定されたタイル数が、互いに異なる複数の閾値の1つを超える度に、前記復号工程、前記解像度変換工程、前記可逆符号化工程を制御し、前記記憶手段に記憶されている非可逆判定情報を有する可逆符号化データを、解像度の低い可逆符号化データで置換させる第1の置換工程と、
前記可逆符号化処理工程による1ページの可逆符号化が終了した後、前記復号工程、前記非可逆符号化工程を制御し、前記記憶手段に記憶されている非可逆判定情報を有する可逆符号化データを、非可逆符号化データに置換させる第2の置換工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項4】
画像データを符号化する画像符号化装置であって、
前記画像データを予め設定されたサイズのタイル単位に入力し、当該タイルの画像データから複数の解像度の画像データを生成し、各解像度毎の画像データを可逆符号化する可逆符号化処理手段と、
タイル単位に、当該タイル内の画像データの属性に基づき、可逆符号化すべきか、非可逆符号化すべきかを判定し、可逆/非可逆判定情報を生成すると共に、非可逆判定されたタイル数を計数する判定手段と、
前記可逆符号化処理手段で生成された各解像度の可逆符号化データと、前記判定手段の可逆/非可逆判定情報とを関連付けて一時的に記憶する記憶手段と、
前記可逆符号化処理手段による1ページ分の画像データの可逆符号化が終了した後、前記記憶手段に記憶された符号化データ中の、非可逆判定情報を有する可逆符号化データを復号し、非可逆符号化する非可逆符号化処理手段と、
該非可逆符号化手段で生成された非可逆符号化データと、可逆判定情報を有した可逆符号化データとを、当該画像データの符号化結果として出力する出力手段と、
前記判定手段で計数されたタイル数に依存した解像度を有し、前記記憶手段に記憶されている可逆符号化データを、前記非可逆符号化処理手段の非可逆符号化する対象として設定する制御手段と
を備えることを特徴とする画像符号化装置。
【請求項5】
前記可逆符号化手段は、入力画像データをW×H画素サイズのタイルに分割した後、タイル毎に解像度変換を施して、W/2i×H/2i(i=1,2…)の複数種類の縮小タイルを生成し、元のタイルと前記縮小タイルそれぞれを可逆符号化して、1つのタイルに対して複数の解像度の可逆符号化データを生成し、
前記可逆符号化処理手段による1ページ分の可逆符号化処理に要する時間内で、前記非可逆符号化処理手段の解像度変換無しの画像データを非可逆符号化可能なタイル数をNとしたとき、前記複数の閾値は、N×2i(i=0,1,2…)とすることを特徴とする請求項4に記載の画像符号化装置。
【請求項6】
前記制御手段は、
前記可逆符号化処理手段で1ページの画像データを可逆符号化処理中、前記判定手段が可逆符号化すべきとして判定したタイルについては、最大解像度の可逆符号化データのみを前記メモリに格納するように前記可逆符号化処理手段を制御し、
前記可逆符号化処理手段で1ページの画像データを可逆符号化処理中、前記判定手段で計数したタイル数が前記閾値の1つを超える度に、前記判定手段が非可逆符号化すべきとして判定したタイルに対し、前記複数の解像度の可逆符号化データの解像度の高い方から順に前記記憶手段への格納を禁止し、
前記可逆符号化処理手段で1ページの画像データを可逆符号化処理中、前記判定手段で計数したタイル数が前記閾値の1つを超える度に、前記記憶手段に既に格納され、非可逆すべきとして判定された可逆符号化データ中の解像度の高い方から順に削除し、
前記可逆符号化処理手段で1ページの画像データを可逆符号化処理が完了した時点で、前記記憶手段に残っている非可逆判定情報と関連づけられた最大解像度の可逆符号化データのみを、前記非可逆符号化処理手段の非可逆符号化処理対象として設定する
ことを特徴とする請求項4又は5に記載の画像符号化装置。
【請求項7】
更に、前記可逆符号化手段で生成された可逆符号化データ中、前記判定手段によって可逆符号化すべきとして判定されたタイルについての、各解像度毎の符号量を計数する計数手段を備え、
前記制御手段は、
前記可逆符号化処理手段で1ページの画像データを可逆符号化処理が完了したときの前記判定手段によるタイル数に基づき、非可逆符号化する対象となる解像度を決定し、当該決定した解像度を有し、非可逆判定情報と関連づけられて記憶されている可逆符号化データを前記非可逆符号化処理手段の処理対象として設定する設定手段と、
該設定手段の設定に従って前記非可逆符号化手段が生成した非可逆符号化データの総量と、予め設定された目標符号量と、前記計数手段による計数された各解像度毎の符号量に基づき、前記出力手段で出力対象の可逆符号化データの解像度を決定する決定手段と
を備えることを特徴とする請求項4又は5に記載の画像符号化装置。
【請求項8】
符号化過程でのデータを一時的に記憶する記憶手段を備え、画像データを符号化する画像符号化装置の制御方法であって、
前記画像データを予め設定されたサイズのタイル単位に入力し、当該タイルの画像データから複数の解像度の画像データを生成し、各解像度毎の画像データを可逆符号化する可逆符号化処理工程と、
タイル単位に、当該タイル内の画像データの属性に基づき、可逆符号化すべきか、非可逆符号化すべきかを判定し、可逆/非可逆判定情報を生成すると共に、非可逆判定されたタイル数を計数する判定工程と、
前記可逆符号化処理工程で生成された各解像度の可逆符号化データと、前記判定工程の可逆/非可逆判定情報とを関連付けて前記記憶手段に格納する格納工程と、
前記可逆符号化処理工程による1ページ分の画像データの可逆符号化が終了した後、前記記憶手段に記憶された符号化データ中の、非可逆判定情報を有する可逆符号化データを復号し、非可逆符号化する非可逆符号化処理工程と、
該非可逆符号化工程で生成された非可逆符号化データと、可逆判定情報を有した可逆符号化データとを、当該画像データの符号化結果として出力する出力工程と、
前記判定工程で計数されたタイル数に依存した解像度を有し、前記記憶手段に記憶されている可逆符号化データを、前記非可逆符号化処理工程の非可逆符号化する対象として設定する制御工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項9】
前記可逆符号化工程は、入力画像データをW×H画素サイズのタイルに分割した後、タイル毎に解像度変換を施して、W/2i×H/2i(i=1,2…)の複数種類の縮小タイルを生成し、元のタイルと前記縮小タイルそれぞれを可逆符号化して、1つのタイルに対して複数の解像度の可逆符号化データを生成し、
前記可逆符号化処理工程による1ページ分の可逆符号化処理に要する時間内で、前記非可逆符号化処理工程の解像度変換無しの画像データを非可逆符号化可能なタイル数をNとしたとき、前記複数の閾値は、N×2i(i=0,1,2…)とすることを特徴とする請求項8に記載の画像符号化装置の制御方法。
【請求項10】
前記制御工程は、
前記可逆符号化処理工程で1ページの画像データを可逆符号化処理中、前記判定工程が可逆符号化すべきとして判定したタイルについては、最大解像度の可逆符号化データのみを前記メモリに格納するように前記可逆符号化処理工程を制御し、
前記可逆符号化処理工程で1ページの画像データを可逆符号化処理中、前記判定工程で計数したタイル数が前記閾値の1つを超える度に、前記判定工程が非可逆符号化すべきとして判定したタイルに対し、前記複数の解像度の可逆符号化データの解像度の高い方から順に前記記憶手段への格納を禁止し、
前記可逆符号化処理工程で1ページの画像データを可逆符号化処理中、前記判定工程で計数したタイル数が前記閾値の1つを超える度に、前記記憶手段に既に格納され、非可逆すべきとして判定された可逆符号化データ中の解像度の高い方から順に削除し、
前記可逆符号化処理工程で1ページの画像データを可逆符号化処理が完了したときに、前記記憶手段に残っている非可逆判定情報と関連づけられた最大解像度の可逆符号化データのみを、前記非可逆符号化処理工程の非可逆符号化処理対象として設定する
ことを特徴とする請求項8又は9に記載の画像符号化装置の制御方法。
【請求項11】
更に、前記可逆符号化工程で生成された可逆符号化データ中、前記判定工程によって可逆符号化すべきとして判定されたタイルについての、各解像度毎の符号量を計数する計数工程を備え、
前記制御工程は、
前記可逆符号化処理工程で1ページの画像データを可逆符号化処理が完了したときの前記判定工程によるタイル数に基づき、非可逆符号化する対象となる解像度を決定し、当該決定した解像度を有し、非可逆判定情報と関連づけられて記憶されている可逆符号化データを前記非可逆符号化処理工程の処理対象として設定する設定工程と、
該設定工程の設定に従って前記非可逆符号化工程が生成した非可逆符号化データの総量と、予め設定された目標符号量と、前記計数工程による計数された各解像度毎の符号量に基づき、前記出力工程で出力対象の可逆符号化データの解像度を決定する決定工程と
を備えることを特徴とする請求項8又は9に記載の画像符号化装置の制御方法。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、画像データをタイル単位で可逆符号化もしくは非可逆符号化する技術に関するものである。
【背景技術】
【0002】
画像データを解像度と階調性と言う尺度で分類すると、解像度の高さが重視されるテキスト(文字)系、階調表現が重視される自然画系と、両者のバランスが重視されるグラフィックス系の画像とに大別される。
【0003】
以下に述べるように、画像データの種類によって、それに適した符号化方法が異なる。
【0004】
テキスト系の画像は、たとえ画像データが多値データとして入力したとしても、局所的に見ると2通りの画素で構成される場合が多い。このため、他の種類の画像に比べ可逆符号化するのに適している。
【0005】
別の表現を用いると、画像のエントロピーが低いため、可逆符号化に適していると言える。但し、エントロピーが低いため、僅かな劣化が視覚上目立つことがある。それ故に、高品質のテキスト系画像は可逆符号化することが求められる。
【0006】
これに対し、自然画系の画像は(被写体によって大きく異なるが)一般的にエントロピーが高い。そのため、可逆符号化してもあまり高い圧縮率は望めない。この種の画像は、視覚上目立ちにくい部分の劣化を許容する符号化により、高い圧縮率を実現することが可能である。このような符号化を前記可逆符号化に対し非可逆符号化と言う。
【0007】
よって、テキスト系の画像データは可逆符号化、自然画系の画像データは非可逆符号化によって画像データを圧縮する手法が、高い画像品位を求められる機器で採用されてきている。
【0008】
周波数軸上で見ると低周波域より高周波域の方が、劣化が目立ちにくい。そのため、非可逆符号化では、実空間上の画像データを周波数空間データに変換する処理を行うのが一般的である。その代表的な変換が離散コサイン変換(DCT)である。そして、周波数空間へ変換したデータに対して、エントロピーを減らすための量子化処理を行う。その際に、低周波域の劣化をなるべく少なく抑え、高周波域の劣化が出やすいよう量子化テーブルに周波数に依存した特性を持たせる。最後に量子化した値をハフマン符号などを用いてエントロピー符号化する。
【0009】
自然画像のデータは、撮像素子で光電変換した信号をA/D変換して生成する関係上、どうしてもランダムノイズが重畳してしまう。このランダムノイズが重畳したデータは可逆符号化にすこぶる不向きである。
【0010】
それに対して、コンピュータグラフィックス系の画像(以下、CG画像という)は、基本的にランダムノイズの無い画像であり、この点では可逆符号化に向いていると言える。また、自然画には存在しないようなシャープなエッジが随所に存在し、上記DCT変換をするのに不向きでもある。
【0011】
CG画像の種類は千差万別で、階調数の少ない画像から階調数の多い画像まで何でもあり、自然画に近い画像も生成できるため、一概に可逆符号化に適しているとは言えない。従って、可逆符号化に適した画像もあれば、非可逆符号化に向く画像もあると言うことができる。
【0012】
先に示した離散コサイン変換は実数係数の乗算を伴う演算処理である上に、量子化した値はエントロピー符号化の前に、所定の順序に並び替えを行う必要がある等、単純な整数演算以外の処理が多い。このため、非可逆符号化器では、ハードウェア規模が大きくなる傾向がある。
【0013】
それに対し、可逆符号化は実数演算を行う必要がなく、最後まで整数値のまま処理することができ、前述した周波数空間などへの変換を行わなければ、データの並び替えも必要なく、ハードウェア規模も簡略化しやすい。
【0014】
近年、プリンタ等の出力装置のさらなる高画質化を図るために、出力装置の高解像度化が図られている。それに合せて画像データの高解像度化も進み、民生機器においても、これまで600dpiであった画像の解像度が、1200dpiさらには2400dpiへと上がっていく傾向にある。
【0015】
これは、画像データを符号化・復号するソフトウェアやハードウェアのへ求められる性能は4倍、16倍に上がることを意味する。
【0016】
画像データをブロックやタイルといった所定の単位で可逆または非可逆で符号化することが知られている(特許文献1)。
【0017】
この技術の概要は、図4に示す構成で表すことができる。図4の構成では、イメージスキャナやページ記述言語レンダリングなどで生成された画像データ401をタイル単位に分割する。そして、1つのタイルに対し、可逆符号化部403と非可逆符号化部405とが並列して符号化処理を行なう。各々の符号化器で発生する符号量、並びに、各符号化処理の過程で得られる各種パラメータに基づいて、可逆で符号化すべきか非可逆で符号化すべきかを判定部407にて判定し、判定結果を選択部409に送る。
【0018】
2つの符号化器から出力される2種類の符号化データの一方を、前記判定結果に基づいて選択部409にて選択し、メモリ411に格納すると、1つのタイルの符号化が完了する。1ページ画像の全タイルデータの符号化が終了したら、該ページ画像の符号化データをまとめてハードディスクドライブ413に転送し格納する。
【0019】
メモリ411はいわゆる半導体メモリである。このメモリ411には数ページ〜数十ページ程度の符号化データしか保持できないが、現在では一般的な数百Gバイトの容量のハードディスクドライブなら、数万ページ以上の符号化データを保存することが可能である。
【0020】
一方、図5のような構成も容易に考えられる。この構成では、可逆・非可逆の判定に必要なパラメータをタイルデータから直接生成する機能を、判定部421が持つ。そして、この判定部421が、いずれの符号化データを選択すべきかを、そのパラメータに基づいて判定を行う。判定結果は分配部423に送られ、可逆符号化部403と非可逆符号化部405のいずれか一方にタイルデータを供給し、符号化を行わせる。この結果、2つの符号化部のどちらか一方のみから符号化データが出力されるので、それをメモリ411に格納すれば、該タイルデータの符号化は完了する。
【0021】
図4、図5のいずれの構成であっても、任意の画像データを所定時間(以下、「1ページ時間」という)以内で符号化するには、2つの符号化部それぞれは、全画像データを1ページ時間内に符号化する性能を持っていなければならない。
【0022】
600dpiの解像度の全画像データを1ページ時間内に符号化するために、1つの符号化器を85%以上の稼働率で使用していたとすると、1200dpiの解像度の画像データはデータ量が4倍になる。このため、前記符号化器を4つ並列に動作させて符号化する必要がある。さらに、2400dpiの解像度になると、データ量が16倍になるため、14〜16個の符号化器を並列に動作させなければ、1ページ時間内に符号化処理は終わらない。
【特許文献1】特開平09−149260号公報
【発明の開示】
【発明が解決しようとする課題】
【0023】
上記の通り、従来は、解像度の高い大量の画像データを符号化するには、多数の符号化器を並列に動作させて符号化を行う必要があり、符号化器の回路規模が膨大になる。それ故、その符号化装置を製造するのに高いコストが必要となる。
【0024】
ハードウェア規模を削減するためには、並列に動作させる非可逆符号化器の並列度を下げることである。しかし、並列度を下げてしまうと、非可逆符号化部の性能が低下するため、所定時間内に非可逆符号化処理を終えることができないといった別の問題が発生する。本発明は、この問題を解決する技術を提供しようとするものである。
【課題を解決するための手段】
【0025】
かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
前記画像データを予め設定されたサイズのタイル単位に可逆符号化する可逆符号化処理手段と、
タイル単位に、当該タイル内の画像データの属性に基づき、可逆符号化すべきか、非可逆符号化すべきかを判定し、可逆/非可逆判定情報を生成する判定手段と、
前記可逆符号化処理手段で生成されたタイルの可逆符号化データと、前記判定手段の可逆/非可逆判定情報とを関連付けて一時的に記憶する記憶手段と、
前記記憶手段に記憶された符号化データ中の、非可逆判定情報を有する可逆符号化データを復号し、非可逆符号化する非可逆符号化処理手段と、
該非可逆符号化手段で生成された非可逆符号化データと、可逆判定情報を有した可逆符号化データとを、注目画像データの符号化結果として出力する出力手段と、
前記可逆符号化処理手段と前記非可逆符号化処理手段を制御する制御手段とを備え、
前記非可逆符号化処理手段は、
可逆符号化データを復号する復号手段と、
復号された画像データを非可逆符号化する非可逆符号化手段と、
復号された画像データを、当該画像データが持つ解像度よりも低い解像度に変換する解像度変換手段と、
該解像度変換手段で変換された画像データを可逆符号化する可逆符号化手段とを備え、
前記制御手段は、
前記判定手段によって非可逆符号化すべきとして判定されたタイル数が、互いに異なる複数の閾値の1つを超える度に、前記復号手段、前記解像度変換手段、前記可逆符号化手段を制御し、前記記憶手段に記憶されている非可逆判定情報を有する可逆符号化データを、解像度の低い可逆符号化データで置換させる第1の置換手段と、
前記可逆符号化処理手段による1ページの可逆符号化が終了した後、前記復号手段、前記非可逆符号化手段を制御し、前記記憶手段に記憶されている非可逆判定情報を有する可逆符号化データを、非可逆符号化データに置換させる第2の置換手段とを備える。
【発明の効果】
【0026】
本発明によれば、タイル数に関する閾値を適切に設定することで、非可逆符号化処理能力を最大限に利用しつつ、且つ、単位時間内に可逆/非可逆符号化データが混在した符号化データを生成することが可能になる。
【発明を実施するための最良の形態】
【0027】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0028】
<第1の実施形態>
先ず、実施形態における特徴的な符号化処理を行う為の、第1の基本構成を図1に示し、その動作を図6〜図10を用いて説明する。
【0029】
まず、図1の画像処理装置100の構成を簡単に説明する。
【0030】
図1における画像処理装置100は、大きく分けて可逆符号化処理部170と、非可逆符号化処理部180とに分けられる。画像処理装置100は、イメージスキャナやページ記述言語レンダリングなどで生成された画像データ401を入力し、可逆符号化部101は、入力された画像データの符号化を行う。画像データ401の解像度は2400dpiとする。
【0031】
なお、本実施形態では、可逆符号化の一例として公知となっている、JPEG−LS符号化方式を用いるものとする。この技術の詳細は、『「国際標準化文書」:ISO/IEC IS 14495-1, “Information technology - Lossless and near-lossless compression of continuous-tone still images: Baseline”』を参照されたい。
【0032】
簡単に述べると、JPEG−LS符号化方式は、非線形適応フィルタとコンテキストベースエントロピー符号化を用いて、多値の画素をラスタースキャン順序で可逆符号化する方式である。
【0033】
各符号化画素のコンテキストを求めるにあたり、該画素の周辺画素を参照し所定の演算を行う。この時に処理を若干追加することにより周辺画素の色数や変化の度合いや画素値のヒストグラムといった、画像属性情報を得ることができる。
【0034】
制御部150は図1に示す各構成ユニットを制御するものであり、内部には後述する判定部103を備える。
【0035】
画像データ401は、例えば32×32サイズのタイルに分割されて入力される。可逆符号化部101は、入力したタイルデータから可逆符号化データを生成し、選択部109に出力すると共に、上記の画像属性情報もタイル単位で求め、その画像属性情報を判定部103に出力する。判定部103では、この画像属性情報に基づき、最終的に該タイルデータを可逆符号化すべきか、非可逆符号化すべきかを判定する。
【0036】
可逆符号化する対象のタイルデータは、バッファ105にも送られ、非符号化データ(非圧縮データ)として該バッファに格納される。バッファ105は非符号化データを、判定部105から判定結果が出力されるまで保持し続ける。
【0037】
判定部105から出力される判定結果は選択部109に送られる。選択部109はこの判定結果が「可逆」を示す場合、可逆符号化部101から出力される符号化データを選択し、判定結果が「非可逆」の場合、バッファ105に保存されている非符号化データを選択し、メモリ111に格納する。このとき、選択部109は、メモリ111に格納しようとするデータの先頭に、可逆符号化データであるか非符号化データであるかを示す1ビットを付加する。
【0038】
以上の処理を総称して<可逆符号化処理>と称する。実施形態では、この<可逆符号化処理>を1ページ時間内に終わらせる。そして、次の1ページ時間内に、後述する<非可逆符号化処理>を行う。この<可逆符号化処理>と<非可逆符号化処理>のタイミング関係を図6に示して説明する。なお、ここで言う1ページ時間は、入力する画像の総画素数に依存して決定される。原稿画像を読取る場合の総画素数は、原稿サイズと読み取り解像度によって決定される。
【0039】
<可逆符号化処理>も<非可逆符号化処理>も、各々1ページ時間内に、1ページの画像データに対して必要な符号化を行うが、後述するように同時に同じページを符号化処理はしない。すなわち、<可逆符号化処理>が終わったページ画像に対して、次のページ時間で<非可逆符号化処理>を行うことを、図6は表している。<非可逆符号化処理>が終わった画像の符号化データは、最後にメモリ111からハードディスクドライブ等の記憶装置に転送する。
【0040】
或る1ページの画像にだけ着目した場合、可逆及び非可逆符号化処理による要する時間は2ページ時間となる。しかし、複数ページの画像を符号化する場合のスループット(処理性能)は、図6に示すようにパイプライン的に行われるので、実質的に1ページの画像の符号化処理は1ページ時間内で完了させることができる。
【0041】
<非可逆符号化処理>では、非可逆符号化部115にて、メモリ111中の非符号化データ(各データの先頭ビットから判断できる)を、1ページ時間内で非可逆符号化して、非可逆符号化データに変換する。
【0042】
本実施形態では、非可逆符号化の例として公知のJPEG符号化方式を用い、8×8画素単位に相当する画像データを直交変換し、変換係数を量子化した後、ハフマン符号化処理を行うものである。
【0043】
本発明の目的は、非可逆符号化部115の回路規模を小さくしてコストを抑えることにあるため、この非可逆符号化部115は、1ページ時間内で1ページの全画像データを符号化できるだけの性能を必要としない。すなわち、1ページ時間に対し、非可逆符号化部115は全画像データのN%を符号化する性能しかないものとする。
【0044】
この性能は、実施形態の画像処理装置の仕様と非可逆符号化部で使用する非可逆符号化器単体の処理性能と該符号化器の並列動作個数とによって決まるものであり、先に性能が決まるものではない。ただし、実施形態では、符号化対象の画像データの解像度と各ページの入力速度を考慮して、N=(1/16〜1/4)×100%の範囲の性能を想定している。
【0045】
判定部103が非可逆符号化と判定したタイル数が、画像データ1ページの全タイル数に対する比率(以下「非可逆符号化比率」と称す)がN%を超えたとする。この場合、メモリ111内の非符号化データの非可逆符号化処理は1ページ時間内ではできなくなる。
【0046】
本実施形態の画像処理装置は、この問題を解決するために、非符号化データに対して再帰的に解像度変換を適用してデータ量の削減を図り、非可逆符号化の対象となるデータがN%以下になるようにしている。
【0047】
解像度変換を行うかどうか、解像度変換を行う場合に何段階行うかを、非可逆符号化比率に基づいて制御する。以下では、非可逆符号化比率によって、解像度変換処理のフローがどのように変るかを説明する。
【0048】
<非可逆符号化比率≦N(%)の場合>
判定部103は、選択部109に判定結果(選択信号とも言う)を出力する際に、「非可逆」と判定したタイル数をカウントしていく。1ページの画像の総タイル数は、入力される画像データの画素数に依存する。従って1ページ分の可逆符号化処理が完了した場合の非可逆符号化比率は、総タイル数に対する「非可逆」と判定したタイル数の比率で求めることができる。ここで説明する<非可逆符号化比率≦N(%)の場合>の処理は、1ページの画像に対する可逆符号化処理が完了するまでに、非可逆符号化比率がN%を越えなかった場合の処理でもある。
【0049】
なお、誤解のないように敢えて説明するが、実施形態では非可逆符号化部115はJPEG符号化を採用しているので、符号化の最小単位は8×8画素サイズとなる。1タイルは32×32画素としているので、1タイルに含まれる8×8画素のブロック数は16個となる。従って、非可逆符号化部115の8×8画素ブロックで換算した場合、性能値Nの16倍となる。
【0050】
判定部103が非可逆符号化と判定したタイルの比率がN%以下であれば、それに対応する非符号化データの比率もN%以下になるため、解像度変換を行わなくても1ページ時間内で、非可逆符号化することが可能である。該比率がN%以下であれば、非可逆符号化すべき領域がページ内のどこにあってもよいことを図7と図8を用いて説明する。
【0051】
図7(a)、(b)に示した2つのページ画像の内、図7(a)のページ番号「1」の画像には、非可逆符号化と判定された領域が、そのページの右上の部分にN%存在する。この場合、図8の上段に示すように1ページ時間内の早い段階で、メモリ111に非符号化データが格納され始め、N%の割合の非符号化データが蓄積される。
【0052】
この非符号化データは、次のページ時間をフルに使って、非可逆符号化部115にて非可逆符号化され、符号化データに変換される。図8の下段に、非符号化データの減り方と、符号化データの増え方を示している。
【0053】
このように、2ページ時間経過後には、符号化対象ページの画像データは全て符号化され、非可逆符号化データもしくは、1ページ時間前に符号化済みの可逆符号化データへと変換される。
【0054】
図7(b)に示した2つ目の例であるページ番号「2」の画像は非可逆符号化と判定された領域がページの右下の部分にN%弱存在する。この場合、図8の上段に示すように1ページ時間内の遅い段階で、メモリ111に非符号化データが格納され始め、N%弱の割合の非符号化データが蓄積される。
【0055】
非可逆符号化と判定された領域がページのどの位置にあっても、次のページ時間における非可逆符号化処理の開始時間は同じであり、違いが出るのは、非符号化データ量の割合によって、非可逆符号化処理の終了時間が変ることである。図8の下段に示した2つの例は、その違いを表わしている。ページ番号「2」の画像の例(右側)では、該割合がN%より若干少ないため、非可逆符号化処理もその分だけ早く終了し、非可逆符号化データもその時点から増加せず一定で推移する。これ以外は、ページ番号「1」の例と同じである。
【0056】
<N(%)<非可逆符号化比率≦4×N(%)の場合>
この処理は、1ページの画像の可逆符号化処理を行なっている最中、すなわち、1ページの画像の可逆符号化処理が完了する前に、非可逆符号化比率がN%を越えた場合の処理である。
【0057】
非可逆符号化比率がN%を超えた場合(このとき、当然、非可逆符号化比率は4×N%以下である)は、非圧縮画像データの解像度を水平、垂直方向各々に対し半分に落とす解像度変換を1回適用する。この結果、非符号化データ量を1/4に削減することになる。すなわち、1ページ時間内に非可逆符号化処理ができるようになる。なお、解像度変換では、オリジナルの2×2画素から変換後の1画素を生成することになる。この一例としては、オリジナルの2×2画素の予め決まった位置の画素の値を変換後の1画素の値とする、或いは、オリジナルの2×2画素の平均値を変換後の画素の値として決める等で良いであろう。
【0058】
以下では、図1に示す本画像処理装置のブロック図と、図9に示す各解像度のデータ量を示すグラフを用いて、解像度変換処理について説明する。
【0059】
非可逆符号化比率がN%以下の間は、既に説明したとおりに動作する。ただし、図9(a)のタイミングT1で、非可逆符号化比率がN%を超えたことを検出したとき、メモリ111上の2400dpi解像度の非符号化データの水平、垂直方向各々の画素数を半分にする。すなわち、解像度1200dpiに落とす。制御部150は、このための解像度変換部113に対して解像度変換処理の開始を要求する。
【0060】
該解像度変換処理を開始すると、メモリ111上の解像度変換処理済み2400dpiの非符号化データは不要になるため、これを廃棄していく。同時に、解像度変換後の非符号化データがメモリ111に格納されていく。つまり、解像度2400dpiのデータ量は時間と共に減少していき、解像度1200dpiのデータが時間と共に増加していく。
【0061】
図9(b)のタイミングT2は、解像度変換処理が終了したことを示している。すなわち、2400dpi解像度の非符号化データは全く無くなり、該データ量の1/4のデータ量の1200dpi非符号化データが、メモリ111に蓄積される。
【0062】
タイミングT1の段階で、新たに入力される画像のタイルデータは、バッファ105を経由して、解像度変換部107にて水平、垂直各々を半分の解像度に落とされる。非可逆符号化と判定された場合には、選択部109からはバッファ105に格納された解像度変換後のデータが図9(c)のようにメモリ111に格納される。これによって、メモリ111上の非符号化データは図9(d)のように1200dpiの解像度で蓄積され、1ページ時間内に非可逆符号化処理ができるデータ量に収まるようになる。
【0063】
<4N(%)<非可逆符号化比率≦16N(%) の場合>
この処理は、1ページの画像の可逆符号化処理を行なっている最中、すなわち、1ページの画像の可逆符号化処理が完了する前に、非可逆符号化比率が4×N%を越えた場合の処理である。
【0064】
非可逆符号化比率が4×N%を超えた場合(当然、16×N%以下の場合でもある)は、既に水平、垂直各々を半分の解像度に落とした非符号化データに、同じ解像度変換を再帰的に適用して、解像度を元の画像データの縦横各々1/4にまで落とす。一方、新たに入力される画像データは、バッファ105を経由して、解像度変換部107にて縦横各々を1/4の解像度(600dpi)に落とす。そして、非可逆符号化と判定されたタイルは、該解像度変換した600dpiのデータをメモリ111に格納する。これにより非符号化データ量を1/16に削減し、1ページ時間内に非可逆符号化処理ができるようにする。
【0065】
図10(a)は、メモリ111上の2400dpi非符号化データの増減を表しており、図10(b)は、該メモリ上の1200dpi非符号化データの増減を表している。1200dpiデータが減少しはじめるのは、2回目の解像度変換処理が開始するタイミングである。図10(c)は、メモリ111に蓄積される600dpiの非符号化データを表している。該非符号化データは、2回目の解像度変換処理や、入力画像データを解像度変換して生成される。
【0066】
本実施形態では、N=(1/16〜1/4)×100%の範囲を想定しているため、非可逆符号化比率が16N%を超える例は示していない。しかし、可逆符号化比率が16N%を超えたら3回目の解像度変換を、64N%を超えたら4回目の解像度変換を行えばよいことは、容易に想像できる。
【0067】
また、上記実施形態では、1回目の解像度変換で縦横各々を半分の解像度に落とし非符号化データ量を1/4まで削減しているが、1回目で縦横どちらか一方のみ解像度を1/2に落とし、2回目でもう一方の解像度を1/2に落とすことも可能である。その場合、1回の解像度変換によるデータ量の削減率が1/2になり、より細かく非符号化データ量を制御できるようになる。この場合、非可逆符号化比率がN,2N,4N,8N,16Nを超えるタイミングを検出する必要がある。
【0068】
以上であるが、上記実施形態における符号化処理は、図19乃至図22を用いて説明する。また、タイルのサイズは、所定の条件の元で、ユーザが任意に設定できるものとして、拡張して説明することとする。実施形態では、非可逆符号化部115の非可逆符号化としてJPEG符号化を採用している。従って、タイルのサイズは8×8画素サイズの整数倍であるが、説明を簡単なものとするため、タイルサイズは水平、垂直方向とも8×2i画素数とする。また、以下の説明では、いくつかの変数が現れるが、その都度説明する。
【0069】
先ず、ステップS1では、タイルサイズを決定する。タイルサイズは上記の通り、水平、垂直方向とも8×2i画素である。ユーザはこの変数iを、不図示の操作パネル等で設定することになる。因に、先に説明した例では、i=2の例であった。
【0070】
次いで、ステップS2に進み、最初のページの符号化を開始するため、ページ番号を管理する変数Pに“1”を代入する。
【0071】
次いで、ステップS3に進んで、符号化対象の画像データの水平、垂直方向の画素数と、決定されたタイルサイズに基づき、総タイル数Tmaxを決定する。原稿画像を読取る場合には、原稿サイズと読み取り解像度(実施形態では2400dpi)に基づき、画像データのサイズが決定できる。尚、原稿サイズを検出する構成は公知であるので、ここではその説明はしない。
【0072】
次いで、ステップS4に進み、閾値Th()を決定する。タイルサイズを決定した際の変数iに依存して総タイル数Tmaxが決まり、この総タイル数に基づいて閾値が決まる。
Th(0)←(N/100)×Tmax
Th(1)←(N/100)×4×Tmax
Th(2)←(N/100)×16×Tmax

ここで、Nは先に説明したように、非可逆符号化部115の全画像データに対する符号化性能値である。閾値Th()の個数が変数iよって制限されるのは、実施形態では非可逆符号化部115は最低でも8×8画素サイズを必要とするためである。
【0073】
次いで、ステップS5に進んで、変数Tc、Ch、Rrを初期化する。
【0074】
変数Tcは着目タイルの番号を管理する変数であり、初期値は“1”である。変数Chは判定部103が「非可逆」と判定したタイル数を管理する変数であり、初期値は“0”である。変数Rrは解像度変換部107の目的解像度を管理する変数であり、初期値は“1”である。解像度変換部107は、バッファ105内のタイルサイズを水平、垂直とも1/Rrにする処理を行なう。なお、もう1つの解像度変換部113は常に1/2に解像度変換するので、それを管理する変数は不要である。変数Kは、解像度変換を行なうのが何回目であるかを示す値を格納する。変数Kの初期値は“0”であり、後述する閾値Th()の1つを特定するための変数としても利用される。
【0075】
以上が1ページの符号化のための初期化処理が完了することになり、ステップS6以降で符号化処理が行われることになる。
【0076】
先ず、ステップS6では変数Pが2より大きいか否か、すなわち、これから可逆符号化を開始しようとしている画像が3ページ目以降か否かを判断している。
【0077】
図6で説明したように、3ページ目以降の可逆符号化を開始する際には、非可逆符号化部115が2ページ前の画像に対して非可逆符号化処理を完了していなければならない。従って、2ページ前の非可逆符号化が完了していないと判断した場合には、ステップS8に進んでエラー処理を行なう。
【0078】
ステップS6でNo、或いは、ステップS7でYesと判断された場合、処理はステップS9に進むことになる。
【0079】
このステップS9では、符号化対象の画像データ中のTc番目のタイルデータを入力する。そして、ステップS10において、入力したタイルデータをバッファメモリ105に格納する。
【0080】
ステップS11では、変数Rrが“1”であるか否かを判断する。Rr=1である場合には、解像度変換部107の変換処理が不要であるので、ステップS13に処理を進める。また、変数Rrが“1”以外である場合には、ステップS12に進んで、解像度変換部107に1/Rrをセットし、解像度変換を行なわせる。解像度変換部107による解像度変換結果は、バッファメモリ105に再格納される(上書きされる)。
【0081】
ステップS13、S14では、可逆符号化部101に対し、注目タイルデータの可逆符号化処理を実行させるとともに、その注目タイルの属性情報の算出を行なわせる。
【0082】
そして、ステップS15では、算出された属性情報に基づき、注目タイルに対して、可逆符号化データを採用するか否かを判定する。
【0083】
先の説明の通り、可逆符号化処理で注目画素を可逆符号化する際の、周辺画素を参照してその周辺画素の色数、変化の度合い、画素値のヒストグラム等から属性情報を算出する。
【0084】
ここで属性情報の算出の具体的な例を以下に説明する。
【0085】
先に説明したように、可逆符号化部101はJPEG−LSを採用し、非可逆符号化部115はJPEGを採用している。これらのいずれもが「JPEG」を冠するものであるが、その符号化アルゴリズムは全く異なる。これら符号化処理そのものは公知であるが、「JPEG」は自然画(特に風景や人物等)に適した符号化であり、JPEG−LSは文字・線画に適した符号化である。この特徴を利用し、文字/線画については可逆符号化が選択され易くし、自然画については非可逆符号化が選択され易くするなるように、属性情報を算出すれば良い。
【0086】
属性情報としては、
・タイル内に出現する色数
・タイル内の隣接する2画素間に着目し、その濃度(或いは輝度)差が所定閾値以上であると判定された回数
・タイル内の隣接する2画素間に着目し、その濃度(或いは輝度)差を水平軸としてヒストグラムを作成し、その中央値や分散値、
・生成された可逆符号化データ長
等で良いであろう。
【0087】
そして、可逆符号化データを採用する条件を次の様にする。
1.タイル内に出現する色数が或る閾値以下、
2.タイル内の隣接する2画素間に着目し、その濃度(或いは輝度)差が所定閾値以上であると判定された回数が或る閾値以上、
3.タイル内の隣接する2画素間に着目し、その濃度(輝度)差のヒストグラムの中央値が或る閾値以上であり、分散値が或る閾値以下、
4.生成された可逆符号化データ長が或る閾値以下の場合、
(ここで、上記の各閾値はタイルサイズに依存して決めることが望ましい)。
【0088】
ステップS315では、上記条件1乃至4が全て満たされる場合には、注目タイルに対しては「可逆」、いずれかが満たされない場合には「非可逆」と判断する。
【0089】
なお、算出する属性の種類、及び、可逆/非可逆の判定条件は一例であって、これによって本願発明が限定されるものではない。例えば、条件1乃至4の少なくとも1つを満たせば、「可逆」と判定しても構わない。可逆符号化は、文言通り、完全にオリジナルのタイルを復元できるので、「可逆」であると判定される可能性を高くするのは、画質の面で望ましいし、且つ、非可逆符号化部115の負担を減らすことになるからである。
【0090】
さて、ステップS15において、「可逆」と判断した場合には、ステップS16に進んで、可逆符号化部101で生成された可逆符号化データをメモリ111に出力する。このとき、符号化データの先頭には、「可逆符号化データ」であることを示す識別ビットを付加する。
【0091】
一方、ステップS15において、「非可逆」と判断した場合には、ステップS17に進み、バッファメモリ105に格納されてうる非符号化データをメモリ111に出力する。このとき、「非可逆符号化することを示すビットを、そのデータの先頭に付加する。そして、ステップS18において、変数Chを“1”だけ増加させる。
【0092】
ステップS19に処理が進んだ場合には、変数Chと閾値Th(K)とを比較する。1ページの符号化の初期段階ではK=0であるので、Th(K)=Th(0)=(N/100)×Tmaxである。
【0093】
つまり、このステップS19は、非可逆符号化すると判定されたデータ量が、1ページ分の画像に対する非可逆符号化部105の符号化性能値N以下で符号化が可能であるか否かを判断していることに他ならない。
【0094】
従って、Ch≦Th(K)であると判断した場合には、ステップS20乃至22の処理は行なわず、ステップS23に進む。
【0095】
また、Ch>Th(K)であると判断した場合には、非可逆符号化部105の符号化性能値Nを上まわる非符号化データがメモリ111に格納されたことを意味する。そこで、ステップS20に進んで、メモリ111に格納された非符号化データに対する解像度低減処理を開始すべく、解像度変換部113に処理の開始を指示する。
【0096】
また、注目タイル以降に入力されるタイルについては、解像度変換部107で解像度変換する必要がある。そこで、ステップS21に進んで、変数Rrを2倍にする。更に、ステップS22において、解像度変換が行われたことを受けて、変数Kを“1”だけ増加させる。
【0097】
ステップS23では、変数Tcと総タイル数Tmaxとを比較する。すなわち、1ページに対する可逆符号化フェーズが完了したか否かを判断する。否の場合には、ステップS24で変数Tcを“1”だけ増加させ、ステップS9に戻る。
【0098】
また、ステップS23で1ページに対する可逆符号化フェーズが完了したと判断した場合には、ステップS25に進み、非可逆符号化部115に対して、メモリ111に格納された非符号化データの非可逆符号化処理を開始させる(詳細後述)。なお、ここでは非可逆符号化処理が完了したかどうかは問わない。
【0099】
この後、ステップS26において、符号化すべき次ページがあるか否かを判断する。次ページがあると判断した場合には、ステップS27で変数Pを“1”だけ増加させ、ステップS3以降の処理を開始する。また、ステップS26で次ページがないと判断した場合には、一連の可逆符号化処理を終了する。
【0100】
次に、上記のステップS25で非可逆符号化部115の処理を図22のフローチャートに従って説明する。
【0101】
先ず、ステップS31において、非可逆符号化の開始指示を受けた際にメモリ111に格納されていた非符号化データ(識別ビットで判断できる)を全て非可逆符号化を行なう。すなわち、非可逆符号化データであることを示すビットを先頭にした非可逆符号化データをメモリ111に再格納する。また、その際には、そのオリジナルであった非符号化データをメモリ111から削除する処理も行なう。この結果、メモリ111には、変数Pで示されるページの符号化データ(可逆符号化データと非可逆符号化データが混在している)が出来上ることになる。
【0102】
処理はステップS32に進み、メモリ111内の符号化データを所定のフォーマットにし、HDD413にファイルとして格納する。なお、非可逆符号化データに対して解像度変換を何回行なったかを示すデータを、ファイルヘッダに書き込む。
【0103】
この後、変数Pで示される非可逆符号化&ファイル保存処理(非可逆符号化フェーズ)が完了したことを示すフラグをオンにする。このフラグは、既に説明した、ステップS7で判断することになる。
【0104】
以上説明したように本実施形態によれば、図6に示したタイミングに従って符号化処理を行なうことが可能になる。特に、可逆符号化フェーズにて、非可逆符号化部115の性能値Nを越えたとしても、解像度変換によって非符号化データ量を可逆符号化部115の性能値N以下にまで少なくすることが可能になる。
【0105】
なお、上記実施形態では、ステップS7でNoと判断された場合にエラー処理(中断)を行なうものとした。しかしながら、本実施形態を例えば複写機に適用し、次の原稿の読み取りタイミングが遅れることが許容できるあれば、ステップS7でYesと判断されるまで待つようにしても良い。すなわち、ステップS7でNoと判断された場合には、再びステップS7に戻るようにしても構わない。
【0106】
<第2の実施形態>
次に本発明に係る第2の実施形態を説明する。本第2の実施形態における符号化処理の基本構成を図2に示す。また、その動作を図11、図12を用いて説明する。
【0107】
なお、図2において、図1と実質的に同じ機能を有する構成については、同一符号を付し、その説明は省略する。
【0108】
本第2の実施形態は、非可逆符号化部115の性能に基づき、符号化データ量が、あらかじめ定められた設定符号量に収まるようにしたものである。それを実現するために解像度の異なる可逆符号化データを生成する構成と、非可逆符号化データの圧縮率を変更するため再符号化部を設ける。これにより、符号量を細かく調整できるようにした。
【0109】
解像度の異なる可逆符号化データを生成するために、解像度変換部201にて、入力画像データに1/2、1/4の解像度変換度変換を適用し、1200dpiと600dpiの画像データを同時に生成する。
【0110】
そして、この2種類の解像度の画像データ各々を、可逆符号化部203および205にて可逆符号化データを生成し、それぞれの可逆符号化データを、メモリ207、209に格納する。図示では、メモリ111内には、メモリ領域111a、111b、111cを設けることが示されているが、これら各メモリ領域はそれぞれ独立したメモリにしても構わない。
【0111】
なお、可逆符号化部101の符号化単位であるタイルのサイズは32×32画素であるのに対し、可逆符号化部203のそれは16×16画素、可逆符号化部205のそれは8×8画素である。これにより、可逆符号化部101、203、205が処理する1ページのタイル数は同じにできる。
【0112】
一方、新たに再符号化部211を設ける。この再符号化部211は、メモリ111内の非可逆符号化データを、圧縮符号化量を決めるパラメータに従って再符号処理する。この再符号化部211は、非可逆符号データを量子化値または逆量子化値のレベルまで復号し、前よりも粗い量子化ステップで量子化をやり直し、再びエントロピー符号化を行う。このように、量子化ステップを変更することにより、圧縮率を上げて符号量を減らす。
【0113】
以下、本第2の実施形態の処理内容を説明する。
【0114】
先ず、1ページ時間における可逆符号化フェーズは、第1の実施形態とほぼ同じである。異なる点は、可逆符号化部203の16×16画素を1タイルとした可逆符号化処理と、可逆符号化部205の8×8画素を1タイルとした可逆符号化処理が追加された点である。
【0115】
また、可逆符号化部101、203、305は、それぞれタイル単位の可逆符号化データ量を累積カウントするものとする。従って、第1ページ時間終了時点で、メモリ111領域111a、111b、111cに格納された、どの解像度の可逆符号化データ量が設定符号量以下に収まっているかが分かる。
【0116】
ここで、メモリ領域111a内に非符号化データ(非可逆符号化しようとするデータ)が全く無いとする。この場合、設定符号量(目標符号量)以下に収まる最大解像度の可逆符号化データを選択しHDD413に出力すれば良い。図11に示す例の場合、画像Aは2400dpiの解像度を、画像Bは1200dpiの解像度を選択して、符号化データとする。
【0117】
次に、非可逆符号化すべき非符号化データがメモリ領域111aに存在する場合の処理を説明する。
【0118】
実施形態では、非可逆符号化部115及び再符号化部211はJPEG符号化を採用している。JPEG符号化処理で生成される符号量は、概ねDCT変換後の各係数を量子化する際に使用する量子化テーブルQiに依存する。そこで、非可逆符号化部115は、標準的な量子化テーブルQ0、及び、それより大きな量子化係数を持つ量子化テーブルQ1、Q2…と、各量子化テーブルで符号化した場合の統計的に求めた符号量データとの関係をテーブルとして保持しているものとする。
【0119】
一般に、非可逆符号化する際に利用する量子化テーブル内の量子化ステップ値が小さい場合、復号した画像は高い画質になるものの、その符号量は多くなる。逆に、量子化ステップ値が大きい量子化テーブルを用いた場合には、符号量は少なくなるものの、画質が悪くなる。
【0120】
この点を考慮し、1ページ内の画像の非符号化データと判定されたタイル数に依存して、その非可逆符号化データ量を確保する。具体的には、次の通りである。
【0121】
先ず、設定符号量をMoとする。この設定符号量は、符号化しようとする画像データ401の総画素数(または、原稿サイズ)に依存して決定すれば良い。また、目標可逆符号量をMok、目標非可逆符号量をMohとする。つまり、これらの関係は、Mo=Mok+Mohになっている。
【0122】
1ページ時間による可逆符号化処理が完了した時のメモリ領域111aに格納された符号化データ中の可逆符号化されたタイル数をTck1とし、その符号量をM(Tck1)と表わす。また、メモリ111領域a内に格納された非符号化データのタイル数をTch(勿論、Tch≦(N/100)×Tmaxである)とする。また、1ページの総タイル数をTmaxとする。
【0123】
また、メモリ領域111b内の可逆符号化データ中、メモリ領域111a内に格納された非符号化データのタイル位置に対応する可逆符号化データを除いたタイル数をTck2とし、その符号量をM2(Tck2)と表わす。タイル数は同じTck1である。
【0124】
同様に、メモリ領域111c内の可逆符号化データ中、メモリ領域111a内に格納された可逆符号化データのタイル位置に対応するさらなる低解像度データの可逆符号量をM3(Tck1)と表わす。
【0125】
さて、目標非可逆符号量Mohは、予め設定された正の定数αを用いて次のようにして求める(このαはユーザが適宜設定可能にしても良い)。
Moh=Mo×(Tch/Tmax)×α
つまり、総タイル数Tmaxに占める非符号化データのタイル数Tchに依存して、目標非可逆符号量Mohを決める。また、この結果、目標可逆符号化量Mokは、Mok=Mo−Mohで求めることができる。
【0126】
そして、目標可逆符号化量Mokを越えず、最大となる可逆符号化データ量を{M1(Tck1)、M2(Tck1)、M3(Tck1)}の中から決める。これは解像度を決めることと等価でもある。
【0127】
ここで、仮に、解像度2400dpiが決定されたとする。この場合、1つのタイルの非可逆符号化データ量はMoh/Tchで求めることができる。このMoh/Tchを越え、且つ、一番近い符号量を生成するための量子化テーブルQiを決定する。そして、非可逆符号化部115により、メモリ領域111a内に格納された全非符号化データについて実際に非可逆符号化処理を行なう。
【0128】
実際の非可逆符号量は、符号化してみないと分からないが、最大値の何割かの量になり、前記可逆符号量を加えた値が設定符号量以下になる可能性が高い。図12はそのような例を示している。
【0129】
さて、非可逆符号化部115で生成された非可逆符号化データ量がMohを越えてしまうことも有り得る。この場合には、量子化テーブルQi+1を再符号化部211に設定し、再符号化処理を行なわせる。再符号化部211は、非可逆符号化データのエントロピー復号処理まで行なって量子化済みのデータまで復元する。すなわち、逆DCT処理は行なわない。量子化済みのデータまで復元できたら、設定された量子化テーブルQi+1(実際は比「Qi+1/Qi」)で再量子化し、エントロピー符号化を行ない、再度メモリ領域111aに格納する処理を行なう。この処理を量子化テーブルQiで生成された全非可逆符号化データに対して行なう。そして、得られた非可逆符号化データ量がMohを越える度に、再符号化部211に量子化テーブルQi+2、Qi+3…と設定していって、Moh以下の非可逆符号化データを得る。
【0130】
こうして、メモリ領域111a内の、可逆符号化データと、目標非可逆符号量Moh以下となった非可逆符号化データとタイルの順番に接続し、ファイルとしてHDD413に格納する。
【0131】
一方、決定された解像度1200dpiであったとする。つまり、メモリ領域111bに格納された可逆符号化データを採用する場合である。この場合、メモリ領域111bに格納された可逆符号化データ中の、メモリ領域111aに格納された非符号化データのタイルに対応する可逆符号化データを削除する。そして、メモリ領域111b内に残った可逆符号化データと、目標非可逆符号量Moh以下となった非可逆符号化データとタイルの順番に接続し、ファイルとしてHDD413に格納する。
【0132】
また、決定された解像度600dpiであった場合にも同様である。この場合、メモリ領域111cに格納された可逆符号化データ中の、メモリ領域111aに格納された非符号化データのタイルに対応する可逆符号化データを削除する。そして、メモリ領域111c内に残った可逆符号化データと、目標非可逆符号量Moh以下となった非可逆符号化データとタイルの順番に接続し、ファイルとしてHDD413に格納する。
【0133】
いずれの場合であっても、HDD413に格納するファイルのヘッダには、非可逆/可逆の符号化データそれぞれ解像度に関する情報を格納する。また、非可逆符号化データを生成する際に利用した量子化マトリクステーブル又はそのテーブルを特定する情報もファイルヘッダに書き込む。
【0134】
以上のようにて、決定された解像度の可逆符号化データと、非可逆符号化データとで出力ファイルを生成し、HDD413に格納する。なお、本第2の実施形態の場合、可逆/非可逆符号化それぞれの解像度は同じであるので、ファイルヘッダにはオリジナルの解像度に対し、どれだけ解像度を下げたかを示す情報(1、1/2、1/4…等)を書き込めば良い。
【0135】
以上であるが、本第2の実施形態では、非可逆符号化フェーズでは、非可逆符号化部115の処理に加え、再符号化部211の処理が加わる分だけ、必要とする時間が増える可能性がある。つまり、1ページ時間を越えてしまうことを否定できない。これに対応するためには、非可逆符号化部115の性能値Nを、第1の実施形態よりも小さなものとし、余裕を持たせれば良いであろう。
【0136】
また、本第2の実施形態に従えば、次のようなバリエーションが考えられる。
1.<非可逆符号の再符号化部が無い構成>
この構成では、非符号化データ量から見積った非可逆符号量に、可逆符号量を加えた値が設定符号量より小さくなるように可逆符号化データの解像度を決める。この場合、実際の符号量(非可逆符号化後の符号量)は、設定符号量よりかなり小さくなってしまう可能性がある。
2.<非可逆符号の再符号化部が無いが、非可逆符号化部において圧縮率の異なる2種類の符号化データを生成する>
この場合、圧縮率が高い方の非可逆符号化データは、再符号化後の非可逆符号化データと解釈することができ、圧縮率が低い方の非可逆符号化データで、設定符号量を超えてしまったら、圧縮率が高い方の非可逆符号化データに切換えればよい。
【0137】
<第3の実施形態>
第3の実施形態を以下に説明する。本第3の実施形態における基本構成を図3に示し、図13を用いて説明する。
【0138】
本実施形態は、前記第2の実施形態に選択部303、選択部307、ならびに、各選択部から出力される符号化データを格納するメモリ領域111d、111eを付加した構成であり、それ以外は同じである。
【0139】
前記第1および第2の実施形態では、可逆符号化するタイル画像をそれ以上に細かく分類しなかった。本実施形態では、可逆符号化するタイル画像を、例えば、その階調数の多さで分類し、異なる解像度で扱うことがある。
【0140】
2値テキスト画像のように、文字の輪郭がメインの情報となる画像では、解像度が極めて重要である。その一方、多くの階調を持つグラフィックス画像では、その階調も情報として重要な意味を持つため、相対的に輪郭情報の重みが下がり、2値テキスト画像ほど、解像度の重要性が高くない。
【0141】
よって、可逆符号化した画像データを解像度の重要性が高い画像(H画像)領域と低い画像(L画像)領域とに分けることができる。判定部103はタイル単位でこの分類判定を行う。この分類判定のために必要な階調数などの画像属性情報は、可逆符号化部101から受け取る。
【0142】
選択部303と307では、判定結果に基づきH画像領域では解像度の高い可逆符号化データを選択し、L画像領域では解像度の低い可逆符号化データを選択して、各々をメモリ領域111dと111eに格納する。ただし、各可逆符号化データのヘッダには、可逆であることを示すビットと、解像度情報を示すビットを付加する。
【0143】
この結果、メモリ領域111dには2400dpiのH画像と1200dpiのL画像の可逆符号化データが格納され、メモリ領域111eには1200dpiのH画像と600dpiのL画像の可逆符号化データが格納される。
【0144】
以上に説明した解像度の混在した可逆符号化データ量と、同一解像度の可逆符号化データ量とを一緒に表したグラフの一例を図13に示す。非可逆符号化すべき非符号化データが全く無ければ、設定符号量以下に収まる最大解像度の可逆符号を選択し、符号化データとすればよい。図13に示す例の場合、H画像の解像度が2400dpi、L画像の解像度が1200dpiの符号化データを選択する。
【0145】
非可逆符号化すべき非符号化データがある場合には、第2の実施形態と同様に、その非符号化データの占める割合に応じて、いずれのメモリ領域の可逆符号化データを採用するかを決定すれば良い。ただし、第3の実施形態では、1つの出力ファイルには、解像度の異なる符号化データが含まれるので、それぞれのタイルのヘッダには、可逆/非可逆の識別ビット、及び、解像度を示すビットを付加する。その他の制御方法は、前記第2の実施形態と同様であるので省略する。
【0146】
<第4の実施形態>
以下、本発明に係る第4の実施形態を説明する。図14は本第4の実施形態における装置の基本構成ブロック図である。
【0147】
本第4の実施形態では、メモリ111に非符号化データとして保存したデータの解像度変換を行わない。そのため、図1における解像度変換部113を必要としない。
【0148】
その替わりに、バッファ105に格納された2400dpiのタイルデータから、解像度変換1200dpiと600dpiの解像度データを同時に生成する解像度変換部1401を持つ。解像度2400dpiでは32×32画素サイズの画像データ、解像度1200dpiでは16×16画素サイズの画像データ、600dpiでは8×8画素サイズの画像データが選択部109に供給される。
【0149】
そして、判定部103の判定結果が非可逆である場合に、バッファ105から出力される2400dpiのタイルデータと、解像度変換した1200dpiと600dpiの計3種類の解像度の非符号化データをメモリ111に格納する。
【0150】
1ページ時間内において、判定部103の判定結果が「非可逆」であり、それが継続する場合、メモリ111に3種類の解像度の非符号化データがどのように蓄えられて行くのかを表したのが図15に示すグラフである。解像度の二乗に比例した比率、すなわち16:4:1の割合で各解像度のデータが蓄積されていく。
【0151】
2400dpiの非符号化データ量がNに達すると、1200dpi、600dpiの非符号化データ量は各々、N/4、N/16になり、合計で(1+5/16)Nのデータ量になる。よって、非符号化データを格納するメモリ容量は、前記第1の実施形態に比べ5N/16だけ多くの容量を必要とする。
【0152】
2400dpiの非符号化データ量がNを超えると、この解像度のデータを所定時間内に非可逆符号化することが出来なくなるため、このデータをメモリ111から廃棄(削除)する。図15における時刻T1はそのタイミングを表し、この時、メモリに保存中の非符号化データ量が一気に(1+5/16)Nから5N/16に減少する。もし、T1以前に1ページ時間が終了すれば、2400dpi解像度の非符号化データの非可逆符号化が可能である。
【0153】
T1で2400dpiの非符号化データを廃棄すると、1200dpi、600dpi解像度の非符号化データが残る。その後、非可逆の判定結果がさらに継続すると、該2種類の解像度の非符号化データ量が4:1の割合で増加していく。
【0154】
ここで、もし1200dpiの非符号化データ量がNに達すると、600dpi解像度の非符号化データ量は各々、N/4になり、合計で(1+1/4)N=1.25Nのデータ量になる。
【0155】
2400dpiデータの場合と同様、1200dpiの非符号化データ量がNを超えると、この解像度のデータを所定時間内に非可逆符号化することが出来なくなるため、この1200dpiの非符号化データをメモリ111から廃棄する。図15における時刻T2はそのタイミングを表す。T2以後は、600dpi解像度の非符号化データのみを蓄積していく。
【0156】
このようにして、非可逆符号化対象の非符号化データ量がN以下となるように、解像度を2400dpiから1200dpi、600dpiへと切換えていき、不要になった解像度の非符号化データを廃棄していく。
【0157】
また、上記の説明からも容易に判るように、1ページ時間経過しても、メモリ111に複数の解像度の非符号化データが存在していた場合には、その中の最も高い解像度の非符号化データについて非可逆符号化部115が符号化処理を行なえば良い。
【0158】
本第4の実施形態では、メモリ111に非符号化データとして保存したデータの解像度変換を行わないので、該解像度変換に関する複雑な制御が不要となり、制御を単純化できるが、非符号化データを格納するメモリ量がやや増える。
【0159】
解像度を2400dpiから1200dpiへ切換える際の、2400dpiの非符号化データ量をNから20N/21へ若干減らしたとする。この場合の非符号化データ量のピークは(1+5/16)N×20/21=1.25Nとなるので、時刻T2におけるピークと同じ値になる。よって、メモリ量の増加はN/4に抑えられる。
【0160】
<第5の実施形態>
上記第1乃至第4の実施形態では、非可逆符号化処理部180にて非可逆符号化される画像データは、非符号化の画像データのままメモリ111に格納されることになる。従って、メモリ111の容量は十分なサイズを有することが必要になる。本第5の実施形態では、非可逆符号化処理部180が符号化する対象は、非符号化データではなく、可逆符号化データとする例を説明する。これにより、メモリ111の容量の増大を防ぐ。
【0161】
図23は第5の実施形態における装置の基本構成ブロック図である。図23において、第1の実施形態における図1と同じ機能を有する要素は同じ参照番号を付し、その説明は省略する。
【0162】
本第5の実施形態における装置の処理内容を説明すると次の通りである。
【0163】
可逆符号化部101は、画像データ401から1タイル(32×32画素)の画像データを単位として入力して可逆符号化することで可逆符号化データを生成する。生成された可逆符号化データは、メモリ111に格納される。つまり、画像データの全タイルが可逆符号化されることになる。また、可逆符号化部101は、或るタイルを可逆符号化する際に、そのタイルの属性情報を判定部103に出力する。判定部103は、第1の実施形態と同様に、注目タイルについて非可逆符号化すべきか、可逆符号化すべきかを判定する。そして、その判定結果(1ビットで良い)を、可逆符号化部101より生成された符号化データの先頭に付加し、メモリ111に格納する。なお、ここでは、符号化データの先頭に、判定部103の判定結果を示す1ビットを付加するものとしたが、必ずしもこのようにする必要はない。要は、個々のタイルの符号化データ毎に、それが可逆符号化すべきか非可逆符号化すべきかを識別できれば良い。例えば、符号化データとは別に判定部103の判定結果のみをひとまとめにして、メモリ111へ格納してもよい。
【0164】
さて、メモリ111には、画像データ401の全タイルの可逆符号化データが格納される。ここで、判定部103は第1の実施形態と同様、可逆符号化処理部170による符号化中、非可逆符号化すべきと判定したタイル数をカウントしている。
【0165】
1ページの画像データの全タイルの可逆符号化処理が終了したとき、1ページの総タイル数に対する非可逆符号化すべきタイル数、すなわち、非可逆符号化比率がN%以下であったとする。この場合、制御部150は非可逆符号化処理部180を次のように制御する。
【0166】
先ず、可逆復号部1601は、非可逆符号化すべきとして判定された可逆符号化データをメモリ111から読込み、復号し、その結果を、非可逆符号化部115に出力する。非可逆符号化部115は、復号して得られた画像データを非可逆符号化(JPEG符号化)し、その結果をメモリ111に格納する。このとき、生成される非可逆符号化データの先頭には、非可逆符号化データであることを示す識別ビットを付加する。また、注目タイルの可逆符号化データは不要となるので、削除する。つまり、可逆符号化データを、非可逆符号化データに置換する。この処理を、メモリ111内の非可逆符号化すべきとして判定された全可逆符号化データについて実行する。この結果、メモリ111には、1ページの画像データについて、可逆、非可逆符号化データが混在したものとなり、それをHDD413に出力する。
【0167】
一方、1ページの画像データの全タイルの可逆符号化処理中に、非可逆符号化比率がN%を超えた場合、制御部150は非可逆符号化処理部180を次のように制御する。
【0168】
可逆復号部1601は、非可逆符号化すべきとして判定された可逆符号化データをメモリ111から読込み、復号し、その結果を、解像度変換部113に出力する。解像度変換部113は、復号して得られた画像データの解像度を水平、垂直とも1/2に変換し、可逆符号化部1603に出力する。可逆符号化部1603は、解像度変換された画像データを可逆符号化し、可逆符号化データを生成し、メモリ111に格納する。このとき生成される可逆符号化データの先頭には、非可逆符号化することを示す識別ビットを付加する。また、解像度変換前の可逆符号化データはメモリ111から削除する。つまり、可逆符号化データの解像度を、より低い解像度の可逆符号化データで置換する。そして、この処理を、非可逆符号化すべき可逆符号化データに対して行なう。この一連の処理を、これ以降解像度変換処理という。
【0169】
そして、1ページの画像データの可逆符号化処理部170による可逆符号化処理が終了しても、非可逆符号化比率がNより大きく、4N%を以下であった場合、非可逆符号化処理部180は、非可逆符号化比率がN%以下であった場合と同じ処理を行なう。
【0170】
以上からもわかるように、1ページの画像データの可逆符号化処理部170による可逆符号化処理中に、非可逆符号化比率がN、4N、16Nの閾値を超える度に、上記の解像度変換処理(置換処理)を再帰的に行なう。そして、可逆符号化処理部170による1ページの可逆符号化処理が終了したとき、すなわち、第2ページ時間において、非可逆符号化処理部170はメモリ111内の非可逆符号化すべき可逆符号化データについて、非可逆符号化すればよいことになる。
【0171】
上記第5の実施形態に係る可逆符号化処理部170及び非可逆符号化処理部180の処理手順を更に詳しく説明すると次の通りである。
【0172】
図26は、制御部150の可逆符号化処理部170の制御処理を示すフローチャートである。
【0173】
先ず、ステップS41において、第1の実施形態と同様に、閾値Th(0)乃至Th(2)に、非可逆符号化比率N、4N、16Nに相当するタイル数を設定する。Tmaxは1ページの画像データに含まれる総タイル数である。
【0174】
次いで、ステップS42において、変数Kに初期値“0”を設定し、変数CHに初期値“0”を設定する。変数Kは、閾値Th()を選択するための変数である。変数Kは初期値として“0”が設定されているので、この段階では閾値Th(0)が選択されることになる。変数CHは非可逆符号化すべきと判定されたタイル数をカウントする変数である。
【0175】
ステップS43では、制御部150は、可逆符号化部101に、1タイル分の画像データ(実施形態では32×32画素)を入力させ、ステップS44にて可逆符号化を行なわせる。ステップS45では、可逆符号化部101からの属性情報に従って、判定部103に対して、注目タイルの画像データを可逆符号化すべきであるか、非可逆符号化すべきであるかを判定させる。この判定は第1の実施形態と同様の条件を満たすか否かで判定するものとし、その詳述は省略する。
【0176】
ステップS45において、注目タイルを可逆符号化すべきと判定した場合、処理はステップS46に進み、可逆符号化すべきであることを示す可逆フラグを付加した符号化データをメモリ111に格納する。そして、処理をステップS52に進める。
【0177】
一方、ステップS45において、注目タイルを非可逆符号化すべきと判定した場合、処理はステップS47に進み、非可逆符号化すべきであることを示す非可逆フラグを付加した符号化データをメモリ111に格納する。そして、ステップS48にて、非可逆符号化すべきと判定さた個数をカウントアップするため、変数CHを“1”だけ増加させる。この後、ステップS49において、変数CHと閾値Th(K)とを比較する。CH≦Th(K)であると判定した場合、後段に位置する非可逆符号化処理部180は1ページ時間内に非可逆符号化処理を終えることができるため、ステップS52に処理を進める。
【0178】
また、ステップS49にて、CH>Th(K)、すなわち、非可逆符号化すべきタイル数が非可逆符号化処理部180の能力を超えると判断した場合、ステップS50に進み、非可逆符号化処理部180に対して解像度変換処理を要求する。この結果、非可逆符号化処理部180は、メモリ111内に格納されている非可逆フラグが付加された可逆符号化データの解像度変換を開始する。この非可逆符号化処理部180における解像度変換処理の詳細は後述する。次いで、処理はステップS51に進み、変数Kを“1”だけ増加させる。この後、処理をステップS52に進める。
【0179】
ステップS52では、注目タイルがページの最後のタイルであるか否かを判断する。否の場合には、ステップS43に戻り、次のタイルの可逆符号化を行なう。
【0180】
また、注目タイルがページの最後のタイルであると判断した場合には、ステップS53にて、非可逆符号化処理部180に対して非可逆符号化を開始するよう要求する。そして、ステップS54にて、次ページの画像データがあるか否かを判断する。そして、次ページの画像データがあると判断した場合には、ステップS41以降の処理を繰り返す。
【0181】
次に、第5の実施形態における制御部150の非可逆符号化処理部180の制御処理を図27のフローチャートに従って説明する。
【0182】
ステップS61では、解像度変換要求があったか否か、ステップS62で非可逆符号化開始要求があったか否かを判断する。つまり、非可逆符号化処理部180は、ステップS61、S62において、いずれかの要求を受信するのを待つ。
【0183】
解像度変換要求を受信した場合、処理はステップS63に進み、制御部150は可逆復号部1601に、メモリ111に格納された1つタイルの非可逆フラグが付加された可逆符号化データを読込ませ、ステップS64で復号処理を行なわせる。そして、ステップS65にて、解像度変換部113に対して、復号した1タイルの画像データの水平、垂直とも1/2の解像度に変換させる。そして、ステップS66にて、可逆符号化部1603に対して、解像度変換後の画像データに対して可逆符号化を行なわせる。この結果、可逆符号化データが生成されるので、その先頭に非可逆フラグをセットし、メモリ111に格納する。このとき、注目タイルの解像度変換前の可逆符号化データをメモリ111から削除する。
【0184】
この後、処理はステップS68に進み、未解像度変換の非可逆フラグを有する可逆符号化データの全てについて解像度変換が完了したか否かを判定し、未完あればステップS63以降の処理を繰り返す。なお、ステップS68の判定には、可逆符号化処理部170より、非可逆符号化開始要求があることを条件に加える。なぜなら、非可逆符号化処理部180が可逆符号化処理部170より解像度変換要求を受信したとき、1ページの画像の可逆符号化中であるからである。
【0185】
また、可逆符号化処理部170が1ページの画像データの可逆符号化中、複数回、解像度変換要求を非可逆符号化処理部180に出力することも起こり得る。この場合、ステップS63以降の処理を再帰的に実行する。
【0186】
さて、非可逆符号化処理部180が可逆符号化処理部170より非可逆符号化開始要求を受信したとする。これは、可逆符号化処理部170が1ページの可逆符号化処理が完了したことを示している。従って、制御部150は、ステップS69以降の処理を実行させることになる。
【0187】
ステップS69では、制御部150は、可逆復号部1601に対して、メモリ111に格納されている非可逆フラグを有する可逆符号化データを読込ませ、ステップS70にて復号処理を行なわせる。そして、ステップS71にて、制御部150は、非可逆符号化部115に対して、復号された1タイル分の画像データ(32×32画素、16×16画素、或いは、8×8画素のいずれかになる)について非可逆符号化処理を行なわせる。そして、ステップS72において、生成された非可逆符号化データの先頭に、非可逆フラグを付加し、メモリ111に格納する。このとき、注目タイルの可逆符号化データをメモリ111から削除する。
【0188】
そして、ステップS73にて、1ページ中の全非可逆フラグが付加された可逆符号化データの非可逆符号化処理が終了したか否かを判断する。否の場合には、ステップS69以降の処理をくり返す。また、1ページ中の非可逆符号化処理が終了したと判断した場合には、メモリ111内に格納された可逆符号化データ及び非可逆符号化データをHDD413にファイルとして出力し、ステップS61に戻り、次ページの非可逆符号化処理に備える。
【0189】
以上説明したように本第5の実施形態によれば、非可逆符号化処理部180のメモリ111には、非圧縮の画像データが格納されることはないので、メモリ111の容量を小さなものとすることができる。また、可逆符号化部処理部170は、実質的に可逆符号化部101のみで構成できるので、装置構成を簡略化することも可能になる。
【0190】
<第6の実施形態>
次に、本発明に係る第6の実施形態を説明する。図24は、第6の実施形態における装置の基本構成ブロック図である。本第6の実施形態は、先に説明した第4の実施形態と第5の実施形態とを組み合わせたものと言えば分かりやすい。図24では、これまでに説明した構成要素と実質的に同じ機能を持つ要素については同参照番号を付し、その説明は省略する。
【0191】
本第6の実施形態と第5の実施形態との違いは、非可逆符号化処理部180は解像度変換処理は行なわず、解像度変換に相当する処理を可逆符号化処理部170が行なう点である。以下、本第6の実施形態の処理内容を、図24を参照して説明する。
【0192】
可逆符号化部101は2400dpiの32×32画素のタイルを可逆符号化する。解像度変換部1401は、可逆符号化部101が符号化しようとしている32×32画素のタイルから、16×16画素(1200dpi)、8×8画素(600dpi)の画像データを生成し、可逆符号化部1701、1703に出力する。
【0193】
上記の構成の結果、1つのタイルに対し、2400dpi、1200dpi、600dpiの可逆符号化データが生成されることになる。
【0194】
判定部103は、これまでの実施形態で説明したように、属性情報に従い、着目タイルについて可逆符号化すべきか、非可逆符号化すべきかを判定する。そして、非可逆符号化すべきと判定したタイル数CHを計数していく。
【0195】
そして、判定部103が、着目タイルの画像データを可逆符号化すべきと判定した場合には、可逆符号化部101で生成された符号化データのみをメモリ111に格納させる。すなわち、可逆符号化部1701、1703で生成された符号化データをメモリ111には格納しない。このとき、符号化データの先頭には、可逆符号化することを示す1ビットの可逆フラグを付加して、メモリ111に格納する。
【0196】
一方、判定部103が、着目タイルの画像データを非可逆符号化すべきと判定した場合の制御部150の処理は次の通りである。なお、図28は判定部103が非可逆符号化すべきタイルの個数をカウントしたCHの推移の一例を示している。
(1)CH≦(N×100)×Tmaxの場合
制御部150は、可逆符号化部101、1701、1703で生成された3種類の可逆符号化データをメモリ111に格納させる。各符号化データの先頭には、非可逆符号化することを示す1ビットの非可逆フラグを付加して、メモリ111に格納する。
(2)(N×100)×Tmax<CH≦(N×100)×4×Tmaxの場合
CHが「(N×100)×Tmax」を超えたとき(図28のタイミングT1)、制御部150は非可逆符号化処理部180に対し、メモリ111内に既に格納されている符号化データのうち、非可逆フラグを持つ2400dpiの符号化データの削除を要求する。また、これ以降、選択部1705は、可逆符号化部1701、1703で生成された1200dpi,600dpiの2種類の可逆符号化データをメモリ111に格納させる。つまり、選択部1705は、可逆符号化部101で生成された2400dpiの可逆符号化データを、メモリ111には格納しない。
(3)(N×100)×4×Tmax<CH≦(N×100)×16×Tmaxの場合
CHが「(N×100)×4×Tmax」を超えたとき(図28のタイミングT2)、制御部150は非可逆符号化処理部180に対し、メモリ111内に既に格納されている符号化データのうち、非可逆フラグを持つ1200dpiの符号化データの削除を要求する。また、これ以降、選択部1705は、可逆符号化部1703で生成された600dpiの可逆符号化データのみをメモリ111に格納させる。
(4)(N×100)×16×Tmax<CHの場合
CHが「(N×100)×16×Tmax」を超えたとき(図28のタイミングT3)、非可逆符号化処理部180は1ページ時間内に非可逆符号化できない。そこで、制御部150は、符号化処理を中断し、外部にエラーを報知する。
【0197】
なお、実施形態では、タイルの最大サイズを32×32画素とし、3種類の解像度の画像データを生成するから、上記の(N×100)×16×Tmax<CHの条件を満たすときエラーとしている。例えば、最大タイルサイズを64×64画素とし、4種類の解像度の画像データ用の可逆符号化部を設けたとする。この場合、(N×100)×16×Tmax<CH≦(N×100)×64×Tmaxの条件でも符号化処理を継続できるようになるのは、当業者であれば明らかであろう。
【0198】
さて、本第6の実施形態におけるメモリ111内に格納されている2400dpi、1200dpi、600dpiの各解像度の非可逆フラグを持つ可逆符号化データのデータ量の推移は、図15に示すものと等価となる。但し、図15における縦軸の「非圧縮データ」を、「非可逆フラグを有する可逆符号化データ量」と読み替える必要がある。また、図15におけるタイミングT1、T2は、図28のタイミングT1、T2に対応する。
【0199】
本第6の実施形態における非可逆符号化処理部180の処理は次のようになる。
(1)制御部150より、解像度R(R=2400、1200、600のいずれか)の非可逆フラグを持つ可逆符号化データの削除の要求があると、メモリ111から、該当する符号化データを削除する。
(2)可逆符号化処理部170にて1ページ分の可逆符号化処理が終了したとき、メモリ111に記憶されている非可逆フラグを持つ最大解像度の全可逆符号化データを、可逆復号部1601で復号し、非可逆符号化部115にて非可逆符号化する。非可逆符号化部115で生成された非可逆符号化データの先頭には、非可逆フラグを付加し、メモリ111に格納する。このとき、非可逆フラグを有する可逆符号化データを削除する。
(3)メモリ111に格納されている可逆フラグを持つ可逆符号化データ、及び、非可逆フラグを持つ非可逆符号化データを所定のフォーマットにして、HDD413に格納する。
【0200】
次に、本第6の実施形態における図24の制御部150による可逆符号化処理部170及び非可逆符号化処理部180の処理内容を図29、図30のフローチャートに従って説明する。
【0201】
先ず、最初に図24の可逆符号化処理部170の処理手順を図29のフローチャートに従って説明する。
【0202】
先ず、ステップS81において、第1の実施形態と同様に、閾値Th(0)乃至Th(2)に、非可逆符号化比率N、4N、16Nに相当するタイル数を設定する。Tmaxは1ページの画像データに含まれる総タイル数である。
【0203】
次いで、ステップS82において、変数Kに初期値“0”を設定し、変数CHに初期値“0”を設定する。変数Kは、閾値Th()を選択するための変数である。変数CHは非可逆符号化すべきと判定されたタイル数をカウントする変数である。
【0204】
ステップS83では、制御部150は、可逆符号化部101に、2400dpiの画像データの1タイル分の画像データ(実施形態では32×32画素)を入力させる。次いで、ステップS84において、解像度変換部1401に入力タイルの解像度変換を行わせ、1200dpi解像度の16×16画素、600dpi解像度の8×8画素のデータを生成させる。次いで、ステップS85において、可逆符号化部101、1701、1703それぞれに可逆符号化を実行させる。
【0205】
ステップS86では、可逆符号化部101からの属性情報に従って、判定部103に対して、注目タイルの画像データを可逆符号化すべきであるか、非可逆符号化すべきであるかを判定させる。この判定は第1の実施形態と同様の条件を満たすか否かで判定するものとし、その詳述は省略する。
【0206】
ステップS86において、注目タイルを可逆符号化すべきと判定した場合、処理はステップS87に進み、可逆符号化部101で生成された可逆符号化データの先頭に可逆フラグを付加して、メモリ111に格納させる。すなわち、可逆符号化部1701、1703で生成された可逆符号化データについてはメモリ111に格納しない。そして、処理をステップS96に進める。
【0207】
一方、ステップS86において、注目タイルを非可逆符号化すべきと判定した場合、処理はステップS88に進む。ステップS88では、変数Kの値が0、1、2のいずれであるかを判定する。
【0208】
K=0の場合には、ステップS89において、非可逆フラグを付した2400dpiの可逆符号化データをメモリ111に格納する。2400dpiの可逆符号化データは、可逆符号化部101で生成されたデータである。
【0209】
K=1、又は、K=0の場合、ステップS90にて、非可逆フラグを付した1200dpiの可逆符号化データをメモリ111に格納する。1200dpiの可逆符号化データは、可逆符号化部1701で生成されたデータである。
【0210】
K=2、K=1、又は、K=0の場合、ステップS91にて、非可逆フラグを付した600dpiの可逆符号化データをメモリ111に格納する。600dpiの可逆符号化データは、可逆符号化部1703で生成されたデータである。
【0211】
上記によれば、K=0の場合、メモリ111には、2400dpi、1200dpi、600dpiの各解像度の可逆符号化データが格納されることになる。また、K=1の場合、メモリ111には、1200dpi、600dpiの解像度の可逆符号化データが格納されることになる。そして、K=2の場合、メモリ111には、600dpiの解像度の可逆符号化データのみが格納されることになる。
【0212】
ステップS92では、非可逆符号化すべきと判定さた個数をカウントアップするため、変数CHを“1”だけ増加させる。この後、ステップS93において、変数CHと閾値Th(K)とを比較する。CH≦Th(K)であると判定した場合、後段に位置する非可逆符号化処理部180は、現時点での最高解像度の可逆符号化データについて非可逆符号化できることを意味するので、ステップS96に処理を進める。
【0213】
また、ステップS93にて、CH>Th(K)であると判定した場合、処理はステップS94に進み、非可逆符号化処理部180に対し、メモリ111に格納されている符号化データ中の、非可逆フラグが附された最高解像度の可逆符号化データの削除を要求する。
【0214】
例えば、K=0で、CH>TH(0)と判定されるた場合、非可逆符号化処理部180は、2400dpiの非可逆フラグが付された可逆符号化データを1ページ時間内に非可逆符号化できないことを意味する。それ故、制御部150は、非可逆符号化処理部180に対し、メモリ111に格納されている符号化データ中の非可逆フラグを有する2400dpiの解像度の可逆符号化データの削除を要求する。この結果、メモリ111には残っている非可逆フラグが付加された可逆符号化データの最高解像度は1200dpiのデータとなる。
【0215】
この後、ステップS95において、変数Kを“1”だけ増加させ、ステップS96に処理を進める。
【0216】
ステップS96では、注目タイルがページの最後のタイルであるか否かを判断する。否の場合には、ステップS83に戻り、次のタイルの可逆符号化を行なう。
【0217】
また、ステップS96にて、注目タイルがページの最後のタイルであると判断した場合には、ステップS97において、非可逆符号化処理部180に対して非可逆符号化開始を要求する。そして、ステップS98にて、次ページの画像データがあるか否かを判断する。そして、次ページの画像データがあると判断した場合には、ステップS81以降の処理を繰り返す。
【0218】
次に、第6の実施形態における制御部150の非可逆符号化処理部180の制御処理を図30のフローチャートに従って説明する。
【0219】
ステップS101では、削除要求があったか否か、ステップS102では非可逆符号化開始要求があったか否かを判断する。つまり、非可逆符号化処理部180は、ステップS101、S102において、いずれかの要求を受信するのを待つ。
【0220】
削除要求があったと判断した場合、処理はステップS103に進み、メモリ111内の非可逆フラグを有する可逆符号化データ中、要求された解像度を持つ全符号化データを削除する。
【0221】
また、非可逆符号化開始要求を受信したと判断した場合、処理はステップS102からステップS104に進む。
【0222】
このステップS104では、制御部150は、可逆復号部1601に、メモリ111内の非可逆フラグを有する可逆符号化データ中の最高解像度を持つ1タイル分の符号化データを読込ませ、ステップS105にて復号処理を行なわせる。そして、ステップS106にて、非可逆符号化部115に対して、非可逆符号化を行なわせる。この結果、非可逆符号化データが生成されるので、ステップS107にて、その先頭に非可逆フラグをセットし、メモリ111に格納する。このとき、注目タイルに対応する可逆符号化データ及び他の解像度の可逆符号化データをメモリ111から削除する。
【0223】
この後、処理はステップS108に進み、非可逆フラグを有する全可逆符号化データについての非可逆符号化処理が終了したか否かを判断する。否の場合には、ステップS104以降の処理をくり返す。また、非可逆フラグを有する全可逆符号化データについての非可逆符号化処理を終了したと判断した場合には、処理はステップS109に進む。このステップS109では、メモリ111に格納されている可逆フラグを有する可逆符号化データ及び非可逆フラグを有する非可逆符号化データを適当なフォーマットにして、ハードディスク413に出力する。そして、次ページの非可逆符号化処理に備えるため、ステップS101に戻る。
【0224】
以上説明したように本第6の実施形態によれば、第5の実施形態と比較し、非可逆符号化処理部180で解像度変換を行なう構成を不要とした分だけ、その構成を簡略化することが可能になった。
【0225】
<第7の実施形態>
本第7の実施形態では、1ページの画像の可逆/非可逆符号化後のデータ量が、目標符号量以下に収まるようにする例を説明する。
【0226】
上記第6の実施形態では、非可逆と判定されたタイルに対し複数の解像度のデータを生成し、それを可逆符号化した符号データを保持した。本第7の実施形態ではそれに加えて、可逆判定タイルも複数の解像度のデータを生成し可逆符号化した符号データを保持する。
【0227】
図25は第7の実施形態における装置のブロック構成図である。第6の実施形態における図24と同符号が付された構成要素についての説明は省略する。図24と大きく異なるのは、符号量計数部1801を設けた点と、選択部1705を削除した点である。
【0228】
本第7の実施形態における装置の処理内容は次の通りである。
【0229】
可逆符号化処理部170では、1つのタイルについて、2400dpi、1200dpi、600dpiそれぞれの解像度の可逆符号化データを生成し、メモリ111に格納する。このとき、判定部103は、注目タイルが可逆符号化すべきか、非可逆符号化すべきかを、これまでの実施形態と同様に判定し、各符号化データの先頭に可逆フラグ、又は、非可逆フラグとして付加する。また、判定部103は、1ページの可逆符号化処理中の、非可逆符号化すべきと判定されたタイル数CHをカウントしていく。
【0230】
符号量計数部1801は、可逆符号量を計数する3つの可逆符号量カウンタLK(0)、LK(1)、LK(2)と、1つの非可逆符号量カウンタLHを有する。
【0231】
カウンタLK(0)は、判定部103で可逆符号化すべきと判定されたタイルの2400dpiの符号化データ量(フラグビットを含む)を累積加算するものである。カウンタLK(1)は、判定部103で可逆符号化すべきと判定されたタイルの1200dpiに解像度変換したデータの符号化データ量を累積加算するものである。カウンタLK(2)は、判定部103で可逆符号化すべきと判定されたタイルを600dpiに解像度変換したデータの符号化データ量を累積加算するものである。なお、カウンタLHについては後述する。
【0232】
可逆符号化処理部170による1ページの符号化処理が終了すると、制御部150は判定部103で計数された非可逆符号化すべきと判定したタイル数CHに基づき、非可逆符号化処理部180に対して次の処理を実行させる。
【0233】
(1)CH≦(N×100)×Tmaxの場合
この条件が満たされる場合は、非可逆符号化処理部180が、2400dpiのタイルを1ページ時間内に非可逆符号化可能である。それ故、非可逆符号化処理部180の可逆復号部1601は、メモリ111に格納された非可逆フラグを有する2400dpiの可逆符号化データを復号する。非可逆符号化部115は、復号して得られたタイルの画像を非可逆符号化し、生成された非可逆符号化データの先頭に非可逆フラグを付し、メモリ11に格納する。このとき、符号量計数部1801は、非可逆符号化部115で生成される符号化データ量を、内部のカウンタLHに累積加算していく。上記の処理を、メモリ111に格納された非可逆フラグを有する2400dpiの全可逆符号化データに対して行なう。
【0234】
上記の結果、カウンタLHには、非可逆フラグが付された2400dpiの非可逆符号化データの総データ量が格納されることになる。
【0235】
(2)(N×100)×Tmax<CH≦(N×100)×4×Tmaxの場合
この条件が満される場合は、非可逆符号化処理部180が、1200dpiのタイルを1ページ時間内に非可逆符号化可能である。それ故、非可逆符号化処理部180の可逆復号部1601は、メモリ111に格納された非可逆フラグを有する1200dpiの可逆符号化データを復号する。非可逆符号化部115は、復号して得られたタイルの画像を非可逆符号化し、生成された非可逆符号化データの先頭に非可逆フラグを付し、メモリ11に格納する。このとき、符号量計数部1801は、非可逆符号化部115で生成される符号化データ量を、内部のカウンタLHに累積加算していく。上記の処理を、メモリ111に格納された非可逆フラグを有する1200dpiの全可逆符号化データに対して行なう。
【0236】
上記の結果、カウンタLHには、非可逆フラグが付された1200dpiの非可逆符号化データの総データ量が格納されることになる。
【0237】
(3)(N×100)×4×Tmax<CH≦(N×100)×16×Tmaxの場合
この条件が満たされる場合は、非可逆符号化処理部180が、600dpiのタイルを1ページ時間内に非可逆符号化可能である。それ故、非可逆符号化処理部180の可逆復号部1601は、メモリ111に格納された非可逆フラグを有する600dpiの可逆符号化データを復号する。非可逆符号化部115は、復号して得られたタイルの画像を非可逆符号化し、生成された非可逆符号化データの先頭に非可逆フラグを付し、メモリ11に格納する。このとき、符号量計数部1801は、非可逆符号化部115で生成される符号化データ量を、内部のカウンタLHに累積加算していく。上記の処理を、メモリ111に格納された非可逆フラグを有する600dpiの全可逆符号化データに対して行なう。
【0238】
上記の結果、カウンタLHには、非可逆フラグが付された600dpiの非可逆符号化データの総データ量が格納されることになる。
【0239】
(4)(N×100)×4×Tmax<CHの場合
この条件になった場合、非可逆符号化処理部180が、1ページ時間内に非可逆符号化ができないことを意味する。それ故、処理を中断し、エラー表示する。
【0240】
さて、上記(1)乃至(3)の処理で、非可逆符号化処理部180による非可逆符号化処理を終えると、制御部150は、符号量計数部1801に保持されているカウンタLK(0)、LK(1)、LK(2)、及び、LHと、符号化対象の画像データのサイズに応じた目標符号量LTとから、出力すべき可逆符号化データの解像度を決定する。
【0241】
すなわち、
LK(i)+LH≦LT
を満たす、最小の変数i(i=0,1,2)を求める。目標符号量LTから非可逆符号化データ量LHを減じた値が、可逆符号化データに割り当てることができる容量であるので、上記は、その割り当て量以下の最大解像度の可逆符号化データ量を見つけることを意味することに他ならない。
【0242】
仮に、i=0であったなら、出力すべき可逆符号化データの解像度として2400dpiに決定する。
【0243】
このようにして、出力すべき可逆符号化データの解像度が決定されると、制御部150は、非可逆符号化処理部180に対して、出力すべき解像度を設定し、出力処理を行なわせる。
【0244】
非可逆符号化処理部180は、上記設定がなされた場合、メモリ111に格納されている可逆フラグが付され、設定された解像度の可逆符号化データと、非可逆フラグが付された非可逆符号化データとをHDD413にファイルとして格納する。このとき、ファイルヘッダには、非可逆、可逆符号化データのタイルサイズ(解像度)も格納する。また、注目ページに関するメモリ111に格納されていたデータを削除する。
【0245】
次に、本第7の実施形態における図25の制御部150による可逆符号化処理部170及び非可逆符号化処理部180の処理内容を図31、図32のフローチャートに従って説明する。
【0246】
最初に図25の可逆符号化処理部170の処理手順を図31のフローチャートに従って説明する。
【0247】
先ず、ステップS121において、符号量計数部1801内のカウンタLK(0)〜LK(1)をゼロクリアし、判定部103内のカウンタCHもゼロクリアする。
【0248】
ステップS122では、制御部150は、可逆符号化部101に、2400dpiの画像データの1タイル分の画像データ(実施形態では32×32画素)を入力させる。次いで、ステップS123において、解像度変換部1401に入力タイルの解像度変換を行わせ、1200dpi解像度の16×16画素、600dpi解像度の8×8画素のデータを生成させる。次いで、ステップS124において、可逆符号化部101、1701、1703それぞれに可逆符号化を実行させる。
【0249】
ステップS125では、可逆符号化部101からの属性情報に従って、判定部103に対して、注目タイルの画像データを可逆符号化すべきであるか、非可逆符号化すべきであるかを判定させる。この判定は第1の実施形態と同様の条件を満たすか否かで判定するものとし、その詳述は省略する。
【0250】
ステップS125において、注目タイルを可逆符号化すべきと判定した場合、処理はステップS126に進む。このステップS126では、符号量計数部1801のカウンタLK(0)に、2400dpiの解像度の可逆符号化データ量を加算する。同様に、符号量計数部1801のカウンタLK(1)、LK(2)に、1200dpi、600dpiの解像度の可逆符号化データ量をそれぞれ加算する。なお、加算する際には、データ量としてフラグ1ビット分だけ多く加算する。
【0251】
次いで、ステップS127において、可逆フラグを付した2400dpi、1200dpi、600dpiの符号化データをメモリ111に格納する。そして、処理をステップS130に進める。
【0252】
一方、ステップS125において、注目タイルを非可逆符号化すべきと判定した場合、処理はステップS128に進む。ステップS128では、2400dpi、1200dpi、600dpiの各可逆符号化データの先頭に非可逆フラグを付加し、メモリ111に格納する。そして、ステップS129にて、変数CHを“1”だけ増加させる。
【0253】
ステップS130では、注目タイルがページの最後のタイルであるか否かを判断する。否の場合には、ステップS122へ戻り、次のタイルの可逆符号化を行なう。
【0254】
また、ステップS130にて、注目タイルがページの最後のタイルであると判断した場合には、ステップS131において、非可逆符号化処理部180に対して非可逆符号化開始を要求する。そして、ステップS132にて、次ページの画像データがあるか否かを判断する。そして、次ページの画像データがあると判断した場合には、ステップS121以降の処理を繰り返す。
【0255】
次に、第7の実施形態における制御部150の非可逆符号化処理部180に対する制御処理を図32のフローチャートに従って説明する。
【0256】
ステップS141では、非可逆符号化開始要求があったか否かを判断する。非可逆符号化開始要求を受信したと判断した場合、処理はステップS142、S143の判定処理を行なう。
【0257】
ステップS142では、制御部150は、判定部103で判定した非可逆符号化すべきタイル数CHが、CH≦(N/100)×Tmaxを満たしているか否かを判断する。ステップS143では、制御部150は、判定部103で判定した非可逆符号化すべきタイル数CHが、(N/100)×Tmax<CH≦(N/100)×4×Tmaxを満たしているか否かを判断する。
【0258】
ステップS142の条件を満たす場合、非可逆符号化処理部180は2400dpiのタイルについて非可逆符号化できることを意味するので、非可逆符号化すべきデータの解像度として2400dpiに決定する。また、ステップS143の条件を満たす場合、非可逆符号化処理部180は1200dpiのタイルについて非可逆符号化できることを意味するので、非可逆符号化すべきデータの解像度として1200dpiに決定する。そして、ステップS143の条件を満たさない場合には、非可逆符号化すべきデータの解像度を600dpiであるとして決定する。
【0259】
上記のようにして、メモリ111に格納された非可逆フラグが付された可逆符号化データの中の、非可逆符号化すべき解像度が決定すると、処理はステップS147に進む。
【0260】
ステップS147では、制御部150は、符号量計数部1801内のカウンタLHをゼロクリアさせる。そして、ステップS148にて、制御部150は可逆復号部1601に、先の処理で決定した解像度であり、且つ、非可逆フラグを有する1タイル分の可逆符号化データを読取るよう要求し、ステップS149にて復号処理を実行させる。そして、ステップS150にて、制御部150は、非可逆符号化部115に対し、可逆復号部1601で復号された画像データを非可逆符号化させる。この結果、非可逆符号化部115は、非可逆符号化データを出力するので、制御部151は、そのデータ量+1を符号量計数部1801内のカウンタLHに足し込ませる。“1”を加算するのは、フラグビットを含めるからである。そして、ステップS152にて、非可逆フラグを付した非可逆符号化データをメモリ111に格納する。
【0261】
この後、処理はステップS153に進み、非可逆符号化が終了したか否かを判断する。否の場合には、ステップS148以降の処理をくり返す。また、決定した解像度の非可逆フラグを有する全可逆符号化データについての非可逆符号化処理を終了したと判断した場合には、処理はステップS154に進む。このステップS154では、先に説明したように、目標符号量LTと符号量計数部1801に保持されたカウンタCHとの差分に収まる最大解像度のLK()を求める。
【0262】
この後、ステップS155にて、決定した解像度の可逆フラグを有する可逆符号化データと、非可逆符号化を行なって得られた非可逆フラグを有する非可逆符号化データとを適当なフォーマットにして、ハードディスク413に出力する。この際、非可逆、可逆符号化データのタイルサイズ(もしくは解像度)をファイルヘッダに格納する。この後、次ページの非可逆符号化処理に備えるため、ステップS141に戻る。
【0263】
以上説明したように本第7の実施形態によれば、第6の実施形態に加えて、最終的に生成される符号化データ量を、目標データ量LT以下にすることが可能になる。

以上、本発明にかかる符号化装置の各実施形態を説明した。
【0264】
以下では、上記各実施形態に対応する復号装置について説明する。
【0265】
<第1、第5、第6の実施形態に対応する復号装置>
第1、第5、第6の実施形態の画像処理装置で生成される符号化データを、復号するための装置の構成を図16に示す。図18に示す復号処理のタイミングチャートを用いて図16の説明を行う。
【0266】
符号化処理を行うのに2ページ時間を要したのと同様、復号処理を行うのに2ページ時間を要する。
【0267】
まず、ハードディスクドライブ413に保存してある符号化データをページ単位でメモリ111’に転送する。この符号化データは、タイル単位で可逆符号化もしくは非可逆符号化された符号化データである。また、ファイルヘッダには、非可逆符号化データを生成する際に、何回解像度変換を行なった、或いは、非可逆符号化データの解像度を示す情報も格納されている。
【0268】
第1ページ時間では、タイル単位で非可逆符号化されたデータを非可逆復号部1601にて復号処理して、再びメモリ111’に格納する。
【0269】
この非可逆復号部1601はN%以上の処理性能が必要であり、復号した非符号化データを格納するのに1ページ分の画像データ量のN%のメモリ容量が必要である。
【0270】
第2ページ時間では、タイル単位で可逆符号化された符号化データを可逆復号部1603にて復号処理して画像データ1609として出力する。
【0271】
また、非可逆復号済みのタイルデータについては、解像度変換回数分だけ、解像度を高くする変換が必要となる。例えば、ファイルヘッダに2回解像度変換を行なったことを示す情報(或いは、非可逆符号化データの解像度がオリジナルの1/4であることを示す情報)が格納されていた場合には、解像度変換部1605は、非可逆復号部1601で得られた画像の画素数を水平垂直方向とも22=4倍に拡大する。拡大処理は、1復号画素を4×4画素数だけ繰り返すか、或いは隣接する復号画素を線形補間して画素数を増やしても良い。また、解像度変換回数が0の場合、すなわち、非可逆符号化データの解像度が2400dpiの場合は、解像度変換部1605で何も処理せずに、入力データをそのまま出力する。
【0272】
以上で説明した復号処理により、前記第1、第5、第6の実施形態で生成した符号化データを、元のデータに戻すことができる。
【0273】
<第2〜第4、第7の実施形態に対応する復号装置>
前記第2〜第4、第7の実施形態の画像処理装置で生成される符号化データを、復号するための装置の構成を図17に示す。図16の構成と同様、図18に示すタイミングチャートに基づき復号処理を行う。
【0274】
図16の構成の復号処理と基本は同じであり、以下の点が異なる。
(1)非可逆復号部1601は、復号処理したデータを、そのままメモリ111’に格納するのではなく、可逆符号化部1701にて符号化した後、メモリ111’に格納する。
(2)すべてのデータは一旦、可逆符号化データに変換される。
(3)第2ページ時間で、すべての符号化データを可逆復号する。
(4)可逆復号後のデータに対し、ファイルヘッダを参照して、その解像度に応じて解像度変換部1605にて解像度変換処理を行う。解像度変換後のデータは全て2400dpiの画像データになる。
【0275】
以上の復号処理により、前記第2から第4の実施形態で生成した符号化データを、元のデータに戻すことができる。
【0276】
なお、上記実施形態では、可逆符号化としてJPEG−LS、非可逆符号化としてJPEGを採用する例を説明したが、これによって本願発明が限定されるものではない。他の可逆、非可逆符号化技術を適用しても構わないからである。ただし、JPEG−LSとJPEGの関係のように、一方が2値画像、一方が自然画に適し、互いに補う関係にある2つの符号化技術を採用することが望ましい。
【図面の簡単な説明】
【0277】
【図1】第1の実施形態における画像符号化装置のブロック構成図である。
【図2】第2の実施形態における画像符号化装置のブロック構成図である。
【図3】第3の実施形態における画像符号化装置のブロック構成図である。
【図4】従来の画像処理装置の構成の一例を表わす図である。
【図5】従来の画像処理装置の構成の一例を表わす図である。
【図6】実施形態における符号化処理のタイミングチャートを表わす図である。
【図7】非可逆符号化と判定した領域のレイアウトの一例を示す図である。
【図8】解像度変換が無い場合の非符号化データの増減と非可逆符号化データの増加の様子を表わす図である。
【図9】解像度変換(1回)による各解像度の非符号化データ量の増減を表わす図である。
【図10】解像度変換(2回)による各解像度の非符号化データ量の増減を表わす図である。
【図11】2種類の画像に対する複数解像度の可逆符号化データ量を表わす図である。
【図12】可逆符号量に予測値あるいは実測値の非可逆符号量を加えた符号量を表す図である。
【図13】第3の実施形態における複数解像度の可逆符号化データ量を表わす図である。
【図14】第4の実施形態における画像符号化装置のブロック構成図である。
【図15】メモリ上の各解像度の非符号化データ量の増加の推移を示す図である。
【図16】第1の実施形態から得られる符号化データを復号する装置のブロック構成図である。
【図17】第2乃至第4の実施形態で得られる符号化データを復号する装置のブロック構成図である。
【図18】復号処理のタイミングチャートを表わす図である。
【図19】第1の実施形態における可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図20】第1の実施形態における可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図21】第1の実施形態における可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図22】第1の実施形態における非可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図23】第5の実施形態における画像符号化装置のブロック構成図である。
【図24】第6の実施形態における画像符号化装置のブロック構成図である。
【図25】第7の実施形態における画像符号化装置のブロック構成図である。
【図26】第5の実施形態における可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図27】第5の実施形態における非可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図28】第6の実施形態におけるカウンタCHの推移の一例を示す図である。
【図29】第6の実施形態における可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図30】第6の実施形態における非可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図31】第7の実施形態における可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【図32】第7の実施形態における非可逆符号化フェーズの処理手順を説明するためのフローチャートである。
【出願人】 【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【出願日】 平成18年9月15日(2006.9.15)
【代理人】 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳

【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎

【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘

【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二


【公開番号】 特開2008−72624(P2008−72624A)
【公開日】 平成20年3月27日(2008.3.27)
【出願番号】 特願2006−251412(P2006−251412)