(57)【要約】【課題】  圧縮後の画像特徴を失うことなく、ノイズを含んだ画像データを高圧縮率で圧縮することが可能な画像処理装置及び画像処理方法を提供すること。【解決手段】  入力された画像に対して、ユーザによる入力または予め設定された２以上の整数を除数として用い、画像の各画素の画素値を除数で割ったときの商と剰余を算出し、商の画素値からなる商成分データと剰余の画素値からなる剰余成分データとに分離する剰余成分分離手段と、前記剰余成分分離手段によって分離された各成分をそれぞれ圧縮し、それぞれの成分の圧縮データを出力するデータ圧縮手段とを備えることを特徴とする。【選択図】      図１
2012175140.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像に対して、ユーザによる入力または予め設定された２以上の整数を除数として用い、画像の各画素の画素値を除数で割ったときの商と剰余を算出し、商の画素値からなる商成分データと剰余の画素値からなる剰余成分データとに分離する成分分離手段と、前記成分分離手段によって分離された各成分をそれぞれ圧縮し、それぞれの成分の圧縮データを出力するデータ圧縮手段とを備えることを特徴とする画像処理装置。
【請求項２】
最も圧縮率が高い前記除数を入力画像ごとに探索する手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記各成分の圧縮データを復元し、復元した商成分に前記除数を画素毎に乗算し、その乗算値に前記復元した剰余成分を加算して圧縮前の画像を復元し、復元画像を出力する圧縮データ復元手段をさらに備えることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記データ圧縮手段は、前記剰余成分を破棄し、商成分のみの圧縮データを出力することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
入力された画像に対して、ユーザによる入力または予め設定された２以上の整数を除数として用い、画像の各画素の画素値を除数で割ったときの商と剰余を算出し、商の画素値からなる商成分データと剰余の画素値からなる剰余成分データとに分離するステップと、前記分離された各成分をそれぞれ圧縮し、それぞれの成分の圧縮データを出力するステップとを備えることを特徴とする画像処理方法。
【請求項６】
最も圧縮率が高い前記除数を入力画像ごとに探索するステップをさらに備えることを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記各成分の圧縮データを復元し、復元した商成分に前記除数を画素毎に乗算するステップと、その乗算値に前記復元した剰余成分を加算して圧縮前の画像を復元し、復元画像を出力するステップをさらに備えることを特徴とする請求項５または６に記載の画像処理方法。
【請求項８】
前記データ圧縮手段は、前記剰余成分を破棄し、商成分のみの圧縮データを出力するステップを備えることを特徴とする請求項５または６に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮を行う画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
データ圧縮は主にデータを記憶装置に保存したり、ネットワークを介してデータを転送する場合に、保存領域や転送時間の削減のために用いられる。
データ圧縮には可逆圧縮と非可逆圧縮がある。可逆圧縮は圧縮前のデータを完全に復元することができるのに対して非可逆圧縮は圧縮前のデータを完全に復元することはできない。
【０００３】
一般的なファイル圧縮には可逆圧縮が用いられるが、画像や音声の圧縮には非可逆圧縮も利用される。
可逆圧縮の例としてはハフマン符号化がある(非特許文献１)。これは、データ中に頻繁に出現するシンボルには短い符号を、逆に出現頻度が少ないシンボルには長い符号を与えて置き換えることで、全体のデータ量を削減するものである。
また、ＬＺ７７に代表される辞書式符号化では、データ中に既に出現しているフレーズがデータの後方に出現した場合に、先のフレーズの出現位置への参照に置き換えることで、頻出するフレーズを符号化するもので、前記ハフマン符号化などと組み合わせることで高い圧縮率を実現しているアルゴリズムが多数提案されている。画像圧縮の例ではｐｎｇ形式やｇｉｆ形式(特許文献１)に可逆圧縮が利用されている。
【０００４】
また，非可逆の画像圧縮の例としてはｊｐｅｇ形式がある。これは離散コサイン変換を用いて画像を周波数成分に分離し、人間が認識できない高周波成分を除去することで、高い圧縮率を実現している。
画像データは単に閲覧目的で利用されるだけでなく、画像解析処理によって画像特徴を抽出することにも利用される。解析処理には膨大な枚数の画像データを用いることも多く、データの保存領域や転送時間の削減のためには、画像の圧縮は重要な技術となっている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】文書データ圧縮アルゴリズム入門―ハフマン符号・算術符号・LZ符号などをCで実現 (IFエッセンス・シリーズ)、植松 友彦、CQ出版(1994/10)
【特許文献】
【０００６】
【特許文献１】特開平８−２３７１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、可逆圧縮では、例えば特定のシンボルやフレーズが頻出するなどのデータの特徴を利用して圧縮を行うため、ノイズのような乱数性の強い成分を含んだ画像データを圧縮した場合の圧縮率は低くなるという問題がある。
また、非可逆圧縮の場合、画像解析処理にとって重要な特徴まで除去しかねないという問題がある。例えば、明るさの異なる２つの画素が、圧縮後には同じ明るさになったり、明るさの大小関係が逆転してしまう可能性がある。非可逆圧縮は主に人間が認識できないような成分や特徴を除去することで圧縮を行うため、除去した特徴や成分が機械的な解析処理に影響を及ぼす可能性は高いという問題がある。
【０００８】
本発明の目的は、圧縮後の画像特徴を失うことなく、ノイズを含んだ画像データを高圧縮率で圧縮することが可能な画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る画像処理装置は、入力された画像に対して、ユーザによる入力または予め設定された２以上の整数を除数として用い、画像の各画素の画素値を除数で割ったときの商と剰余を算出し、商の画素値からなる商成分データと剰余の画素値からなる剰余成分データとに分離する成分分離手段と、前記成分分離手段によって分離された各成分をそれぞれ圧縮し、それぞれの成分の圧縮データを出力するデータ圧縮手段とを備えることを特徴とする。
また、最も圧縮率が高い前記除数を入力画像ごとに探索する手段をさらに備えることを特徴とする。
さらに、前記各成分の圧縮データを復元し、復元した商成分に前記除数を画素毎に乗算し、その乗算値に前記復元した剰余成分を加算して圧縮前の画像を復元し、復元画像を出力する圧縮データ復元手段をさらに備えることを特徴とする。
また、前記データ圧縮手段は、前記剰余成分を破棄し、商成分のみの圧縮データを出力することを特徴とする。
【００１０】
本発明に係る画像処理方法は、入力された画像に対して、ユーザによる入力または予め設定された２以上の整数を除数として用い、画像の各画素の画素値を除数で割ったときの商と剰余を算出し、商の画素値からなる商成分データと剰余の画素値からなる剰余成分データとに分離するステップと、前記分離された各成分をそれぞれ圧縮し、それぞれの成分の圧縮データを出力するステップとを備えることを特徴とする。
また、最も圧縮率が高い前記除数を入力画像ごとに探索するステップをさらに備えることを特徴とする。
また、前記各成分の圧縮データを復元し、復元した商成分に前記除数を画素毎に乗算するステップと、その乗算値に前記復元した剰余成分を加算して圧縮前の画像を復元し、復元画像を出力するステップをさらに備えることを特徴とする。
また、前記データ圧縮手段は、前記剰余成分を破棄し、商成分のみの圧縮データを出力するステップを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、剰余成分に乱数性の高いパターンが出現するようなノイズ成分の多い画像の場合、商成分と剰余成分を分離してそれぞれ圧縮することで、画像全体としての圧縮率が高くなる。そして、各成分の圧縮に可逆圧縮を用いた場合、処理全体も可逆圧縮となるので、画像解析処理への影響を少なくすることができる。
剰余成分を破棄した場合は非可逆圧縮となるが、商成分の圧縮に適切なアルゴリズムを選択すれば、画素値の大小関係は逆転しないので、画像解析処理への影響を小さくすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態を示すシステム構成図である。
【図２】図１の実施形態におけるデータ形式を表す図である。
【図３】図１の実施形態の全体処理を示すフローチャート図である。
【図４】図１の実施形態の分離圧縮処理を示すフローチャート図である。
【図５】図１の実施形態の剰余成分分離処理を示すフローチャート図である。
【図６】図１の実施形態の画像復元処理を示す図である。
【発明を実施するための形態】
【００１３】
図１は、本発明の実施の形態を示すシステム構成図である。
図１において、処理装置１０１は、分離圧縮処理部（１０３）と画像復元処理部（１０４）を含むプログラム（１０２）を実行する。また、プログラム実行時に必要な作業領域や入出力データを格納するための記憶装置と、入出力データを送受信するためのネットワーク環境も必要に応じて装備している。
プログラム１０２は、記憶装置またはネットワークを介して画像データ１０５が入力されると、それを分離圧縮処理部１０３で処理し、成分分離データ１０６を記憶装置に格納するか、またはネットワークを介して出力する。
また、記憶装置またはネットワークを介して成分分離データ１０７が入力されると、それを画像復元処理部１０４で処理し、成分分離データ１０８を記憶装置に格納するか、またはネットワークを介して出力する。
【００１４】
図２は、本実施形態で用いるデータ形式を表す図である。
データ形式は、本実施例で扱う画像データと、画像データに処理を行った場合の成分分離データがある。
まず画像データについて説明する。
画像データは、画像の幅（２０１）、高さ（２０２）、画素当たりデータ量（２０３）、その他ヘッダ情報（２０４）、画素値配列（２０５）からなる。
画素当たりデータ量（２０３）は、画素１つ当たりの色情報を表すのに必要なビット数である。これと幅（２０１）と高さ（２０２）を掛けることで、画素値配列（２０５）のサイズが算出できる。なお、本実施形態ではモノクロ画像を対象とするが、カラー画像に対しては、例えば赤、緑、青の各成分ごとに分けて処理するなど、容易に拡張可能である。
その他ヘッダ情報（２０４）には、例えば画像データの作成日時や画素値配列（２０５）を画像として展開するときの方向、RGBやCMYなどの画素の色形式といった、画像に関する諸情報を格納するものである。
画像データにおける２０１〜２０４をまとめて、画像のヘッダ情報と呼ぶことがある。
【００１５】
次に、成分分離データについて説明する。
成分分離データは、指定された除数で画素値を割ったときの商と剰余を個別の配列に分離したデータであり、画像の幅（２０６）、高さ（２０７）、画素当たりデータ量（２０８）、その他ヘッダ情報（２０９）、除数（２１０）、商成分圧縮方式ＩＤ（２１１）、商成分配列サイズ（２１２）、商成分配列（２１３）、剰余成分圧縮方式ＩＤ（２１４）、剰余成分配列サイズ（２１５）、剰余成分配列（２１６）からなる。
２０６〜２０９は画像データのヘッダ情報２０１〜２０４と同一である。
成分分離データに画像データを設定する場合、２０６〜２０９のヘッダ情報は、画像のヘッダ情報２０１〜２０４からそのままコピーされる。
除数（２１０）は、画像の画素値を商成分と剰余成分に分離するときに用いる整数値である。成分分離データをＣと表記したとき、その除数をC.Mと表記することがある。
除数に「１」を設定した場合は、全ての画素値データは商成分にのみ格納され、剰余成分は意味を持たない。
商成分圧縮方式ＩＤ（２１１）は、商成分配列（２１３）を圧縮するときに用いた圧縮方式を特定するためのＩＤである。
圧縮方式には可逆圧縮や非可逆圧縮として既に提案されているものを利用してよい。また、圧縮を行わずそのままの画素値を残す方式ＩＤとして'raw'が利用できる。
利用可能な圧縮方式には、それに対応するデータ復元方式も用意されているものとする。
商成分配列サイズ（２１２）は、商成分配列（２１３）の配列サイズを格納する。
商成分配列（２１３）には、画像の画素値または商成分圧縮方式ＩＤ（２１１）で指定された圧縮方式によって画素値配列を圧縮したデータ列を格納する。成分分離データＣの商成分配列をC.Pと表記することがある。
剰余成分圧縮方式ＩＤ（２１４）、剰余成分配列サイズ（２１５）、剰余成分配列（２１６）は  それぞれ商成分に対する情報２１１〜２１３を、剰余成分に置き換えたものである。
成分分離データＣの剰余成分配列をC.Qと表記することがある。
なお、商成分配列（２１３）や剰余成分配列（２１６）に対する圧縮処理、復元処理を実行して、配列データを入れ替える場合には、対応する配列サイズ（２１２、２１５）も同時に修正し、後方に続くデータは、その配列の次の位置に自動的に移動されるものとする。
【００１６】
図３は、本実施形態の全体処理を示すフローチャートである。
まず、圧縮対象の画像データが入力されたならば、その画像データが画像データか成分分離データかを調べる（ステップ３０１）。画像データである場合には、ステップ３０２以降の手順で圧縮処理を行い、成分分離データである場合は、画像復元処理を行う（ステップ３１７）。画像復元処理の詳細は図６で説明する。
以下、入力データが画像である場合の圧縮処理について説明する。
まず、結果として出力する分離データＣを準備する（ステップ３０２）。
次に、Ｃに画像Ｉのデータを設定する（ステップ３０３）。ここでは、画像Ｉのヘッダ情報はそのままコピーし、画素値配列はＣの商成分として格納する。
【００１７】
次に、圧縮サイズが最小となる除数を探索するかチェックする（ステップ３０４）。探索する場合は以下に進む。
まず、Ｃの除数C.Mに「１」を代入する。除数１はデータを商成分と剰余成分に分離しないことを意味する。
次に、商成分C.Pを圧縮する（ステップ３０６）。このとき用いる圧縮方式は既知のものであってよい。また、使用する圧縮方式は予め決められたものでもよいし、画像ごとに圧縮方式を識別するＩＤを入力し、圧縮方式を自動的に選択する方法を採ってもよい。
配列を圧縮したら、Ｃの商成分圧縮方式ＩＤを設定し、C.Pの配列サイズも同時に更新する。
【００１８】
次に、分離データＴを準備する（ステップ３０７）。
次に、除数T.Mに２を代入する（３０８）。初期値は２以上の整数であれば任意に設定可能である。
次に、T.Mが予め設定された上限値未満か調べる（ステップ３０９）。除数の上限は任意に設定可能であるが、本実施形態では画像データで指定されている画素当たりデータ量（２０３）から算出された画素値の最大値の半分を上限とする。
T.Mが上限未満の場合、まず、Ｔに画像Ｉを設定する（ステップ３１０）。設定方法はステップ３０３と同様である。
次に、Ｔに対して分離圧縮処理を実行する（ステップ３１１）。分離圧縮処理の詳細は図４で説明する。
【００１９】
次に、分離データＣとＴの圧縮後のサイズを比較する（ステップ３１２）。Ｔの方が小さい場合は、ＣにＴを代入する（ステップ３１３）。
次に、T.Mに「１」を加え（ステップ３１４）、ステップ３０９に戻る。ステップ３０９でT.Mが上限以上の場合は、処理を終了する。
以上により、圧縮サイズが最小となる除数C.Mが求まる。
ステップ３０４で除数の探索を行わない場合は、まず、除数C.Mを初期化する（ステップ３１５）。除数は予め決められた値でもよいし、画像ごとに入力してもよい。
次に、Ｃに対して分離圧縮処理を実行し（ステップ３１６）、処理を終了する。
以上のように、入力画像毎に圧縮サイズが最小となる除数を求めて圧縮処理を行うことにより、圧縮対象の画像にノイズ成分が多い場合であっても高い圧縮率で画像データを圧縮可能になり、画像解析処理への影響を少なくすることができる。
【００２０】
図４は、本実施形態における分離圧縮処理を示すフローチャートである。
まず、入力された分離データＣに対して剰余成分分離処理を実行する（ステップ４０１）。この処理の詳細は図５で説明する。
次に、Ｃの商成分配列C.Pを圧縮する（ステップ４０２）。このとき用いる圧縮方式は既知のものであってよい。また、使用する圧縮方式は予め決められたものでもよいし、画像ごとに圧縮方式を識別するＩＤを入力し、そのＩＤで圧縮方式を選択するようにしてもよい。
配列を圧縮したら、Ｃの商成分圧縮方式ＩＤを設定し、C.Pの配列サイズも同時に更新する。
次に、剰余成分を破棄するかチェックする（ステップ４０３）。これは予め決めておいても良いし、画像ごとに別途入力してもよい。
ステップ４０３がYesの場合は、剰余成分C.Qを破棄する（ステップ４０４）。このとき同時に剰余成分配列サイズには「０」を代入する。
ステップ４０３がNoの場合は、剰余成分C.Qを圧縮する（ステップ４０５）。このとき用いる圧縮方式は商成分の場合と同様に既知のものであってよいし、使用する圧縮方式は予め決められたものでもよいし、画像ごとに圧縮方式を識別するＩＤを入力してもよい。
配列を圧縮したら、Ｃの剰余成分圧縮方式ＩＤを設定し、C.Qの配列サイズも同時に更新する。
ここで、剰余成分C.Qを破棄した場合、非可逆圧縮となるが、商成分の圧縮に適切なアルゴリズムを選択すれば、画素値の大小関係は逆転しないので、画像解析処理への影響を小さくすることができる。
【００２１】
図５は、本実施形態における剰余成分分離処理のフローチャートである。
この処理には分離データＣが入力され、商成分に元の画像のデータが格納され、これから分離処理を行うのに必要な除数が設定されている。
まず、配列p.qを準備する（ステップ５０１）。pは処理後に商成分となるデータを、qは剰余成分となるデータを格納するための領域である。p,qはＣの商成分配列と同じサイズだけ確保する。
次に、変数iに「０」を代入する（ステップ５０２）。次に、iが画素数未満の間、以下を実行する（ステップ５０３）。まず、C.P[i]を除数C.Mで割った剰余を q[i] に代入する（ステップ５０４）。次に、C.P[i]を除数C.Mで割った商をp[i]に代入する（５０５）。
次に、iに「１」を加えて（ステップ６０６）、ステップ５０３に戻る。
ステップ５０３でNoの場合、まず、配列pを商成分C.Pに代入する（ステップ５０７）。
次に、配列qを剰余成分C.Qに設定し（ステップ５０８）、処理を終了する。このとき、Ｃの剰余成分配列サイズも同時に配列qのサイズに更新する。
【００２２】
図６は、本実施形態にける画像復元処理のフローチャートである。
まず、入力された分離データＣの商成分配列C.Pを、その圧縮方式ＩＤで指定された方式に対する復元方式で復元する（ステップ６０１）。剰余成分C.Qのサイズが「０」の場合は何もしない。
次に 除数C.Mが１より大きくかつ剰余成分C.Qのサイズが「０」より大きいか調べる（６０２）。
Yesの場合は、まず、剰余成分C.Qを、その圧縮方式ＩＤで指定された方式に対する復元方式で復元する（ステップ６０３）。次に変数iに「０」を代入する（ステップ６０４）。そして、iが画素数未満の間、以下を実行する（ステップ６０５）。
まず、iの位置の商成分と剰余成分と除数から、元の画素値を算出して、商成分を更新する（ステップ６０６）。画素値は C.P[i] × C.M + C.Q[i] で算出する。ここで、C.Pは商成分配列、C.Qは剰余成分配列、C.Mは除数を表す。ここで、C.Qのサイズが「０」の場合は、C.Q[i]は常に「０」とみなす。
次に、iに「１」を加えて（ステップ６０７）、ステップ６０５に戻る。
一方、ステップ６０２でNoだった場合（剰余成分がなかった場合）と、ステップ６０５でNoだった場合は、Cのヘッダ情報(２０６〜２０９)と商成分C.Pから復元画像Iを生成し（ステップ６０８）、処理を終了する。
【符号の説明】
【００２３】
１０１…処理装置
１０２…プログラム
１０３…分離圧縮処理部
１０４…画像復元処理部
１０５…入力画像データ
１０６…出力分離圧縮データ
１０７…入力分離圧縮データ
１０８…出力画像データ
【図１】
2012175140.tif 000003
【図２】
2012175140.tif 000004
【図３】
2012175140.tif 000005
【図４】
2012175140.tif 000006
【図５】
2012175140.tif 000007
【図６】
2012175140.tif 000008