(57)【特許請求の範囲】
【請求項１】
入力信号に対して信号値変換を行い、ＴＶ−Ｌ１信号分解法により前記入力信号を分解した分解信号を出力する信号分解装置が行う信号分解方法であって、
前記信号分解装置が、入力した信号値重要度から所定の条件を満たす信号値変換関数を算出する信号値変換関数算出ステップと、
前記信号分解装置が、前記信号値変換関数または前記信号値重要度から前記信号値変換関数の逆関数を算出する信号値逆変換関数算出ステップと、
前記信号分解装置が、前記入力信号を前記信号値変換関数により変換して変換入力信号を出力する信号値変換ステップと、
前記信号分解装置が、前記変換入力信号を入力してＴＶ−Ｌ１信号分解を行い、変換成分信号を出力するＴＶ−Ｌ１信号分解ステップと、
前記信号分解装置が、前記変換成分信号を前記信号値変換関数の逆関数により変換した第１の成分信号を第１の分解信号として出力する信号値逆変換ステップと、
前記信号分解装置が、前記入力信号から前記第１の成分信号を減算した第２の成分信号を第２の分解信号として出力する減算ステップと
を有する信号分解方法。
【請求項２】
前記信号値変換関数算出ステップでは、
前記信号分解装置が、前記信号値変換関数をｇ（ｔ）、前記信号値重要度をｃ（ｔ）とした場合に、「任意のｔ１，ｔ２∈Ｔｃに対してｃ（ｔ１）≦ｃ（ｔ２）ならばｇ’（ｔ１）≧ｇ’（ｔ２）が成立する（ただし、Ｔｃは、ｇ（ｔ）の定義域、ｇ’（ｔ）は、ｇ（ｔ）の導関数である）」前記信号値変換関数ｇ（ｔ）を算出する請求項１に記載の信号分解方法。
【請求項３】
入力信号に対して信号値変換を行い、ＴＶ−Ｌ１信号分解法により前記入力信号を分解した分解信号を出力する信号分解装置であって、
入力した信号値重要度から所定の条件を満たす信号値変換関数を算出する信号値変換関数算出手段と、
前記信号値変換関数または前記信号値重要度から前記信号値変換関数の逆関数を算出する信号値逆変換関数算出手段と、
前記入力信号を前記信号値変換関数により変換して変換入力信号を出力する信号値変換手段と、
前記変換入力信号を入力してＴＶ−Ｌ１信号分解を行い、変換成分信号を出力するＴＶ−Ｌ１信号分解手段と、
前記変換成分信号を前記信号値変換関数の逆関数により変換した第１の成分信号を第１の分解信号として出力する信号値逆変換手段と、
前記入力信号から前記第１の成分信号を減算した第２の成分信号を第２の分解信号として出力する減算手段と
を備える信号分解装置。
【請求項４】
コンピュータに、請求項１または２に記載の信号分解方法を実行させるための信号分解プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号値重要度情報に基づいてＴＶ−Ｌ１信号分解を行う信号分解方法、信号分解装置及び信号分解プログラムに関する。
【背景技術】
【０００２】
映像・画像や音声、筋電図を始めとした自然信号から、大域的な変化やエッジを表現するカートゥーン成分信号と、微細な振動を表現するテクスチャ成分信号の２成分に分離するカートゥーンテクスチャ信号分解技術がある。それぞれの成分を抽出、あるいは加工することで、ノイズの少ない信号値を得たり、データの意味理解をするなどに多く使われている。
【０００３】
特にＴＶ−Ｌ１信号分解法（例えば、非特許文献１参照）という手法は、信号の分離性能が優れているため注目されている。この信号分解は、最適化問題ｍｉｎｉｍｉｚｅｕ｜Ｄｕ｜＋λ｜ｆ−ｕ｜Ｌ１の解ｕとｖ＝ｆ−ｕとして得ることができる。以降この記号や用語について説明する。ある関数Ｊ（ｕ）についての最適化問題ｍｉｎｉｍｉｚｅｕＪ（ｕ）は、変数ｕを様々に変化させた時にＪ（ｕ）が最も小さくなるｕを求めるということを表しており、これを達成するｕをｍｉｎｉｍｉｚｅｕＪ（ｕ）の解と呼んでいる。またここでｆは使用者が任意に与える分解対象の自然信号であり、サイズＮやサイズＮ×Ｍ等の配列で、以降では単に入力信号と呼ぶ。またｕとｖは、ＴＶ−Ｌ１信号分解法で得られる出力結果であるカートゥーン成分信号ｕとテクスチャ成分信号ｖであり、入力信号ｆと同じ型の配列である。またλは、使用者が任意に与える正の実数であり、分解結果ｕとｖのバランスを司る係数で、ラグランジュ係数と呼ぶ。
【０００４】
続いてｕについての関数｜Ｄｕ｜はＴｏｔａｌ  Ｖａｒｉａｔｉｏｎノルム、あるいは単にＴｏｔａｌ  Ｖａｒｉａｔｉｏｎといい、引数配列の信号値の変動の大きさを表す実数を計算する関数であり、引数配列の形式や方式によって様々な定義がある。ここでは最も多く使われるＴｏｔａｌ  Ｖａｒｉａｔｉｏｎとして、２次元（Ｎ×Ｍ）配列ｕに対する等方性Ｔｏｔａｌ  Ｖａｒｉａｔｉｏｎの計算方法を例示する。以降では配列要素へのアクセスを下添字で表記するものとする。例えば２次元引数配列ｕの第ｎ、ｍ成分をｕｎ，ｍ、３次元引数配列ｐの第ｎ，ｍ、ｋ成分をｕｎ，ｍ，ｋなどと表記する。まず演算子Ｄは差分計算をする演算子であり、３次元（Ｎ×Ｍ×２）配列ｐ＝Ｄｕを出力する。それぞれの成分は、ｐｎ，ｍ，１＝ｕｎ＋１，ｍ−ｕｎ，ｍ，ｐｎ，ｍ，２＝ｕｎ，ｍ＋１−ｕｎ，ｍ（ｎ＝１，…，Ｎ，ｍ＝１，…，Ｍ  ）と計算する。ただしここで、ｕＮ＋１，ｍ＝ｕＮ，ｍ，ｕｎ，Ｍ＋１＝ｕｎ，Ｍと定義する。続いて関数｜ｐ｜はｐの大きさを表す実数値を計算する関数であり、非負の平方根を計算する関数をｓｑｒｔとすると、｜ｐ｜＝Σｎ＝１ＮΣｍ＝１Ｍｓｑｒｔ（ｐｎ，ｍ，１２＋ｐｎ，ｍ，２２）である。以上で記述した計算手順により、２次元（Ｎ×Ｍ）配列ｕに対する等方性Ｔｏｔａｌ  Ｖａｒｉａｔｉｏｎ｜Ｄｕ｜を定義する。
【０００５】
続いて関数｜ｕ｜Ｌ１はＬ１ノルムといい、入力配列の絶対値の総和を計算する関数である。２次元（Ｎ×Ｍ）配列ｕに対するＬ１ノルムの計算方法を例示すると、絶対値を計算する関数をａｂｓとして、｜ｕ｜Ｌ１＝Σｎ＝１ＮΣｍ＝１Ｍａｂｓ（ｕｎ，ｍ）である。
【０００６】
以上で定義した最適化問題ｍｉｎｉｍｉｚｅｕ｜Ｄｕ｜＋λ｜ｆ−ｕ｜Ｌ１は通常、解に徐々に収束する反復演算を複数回繰り返して解を算出でき、この解ｕがＴＶ−Ｌ１信号分解におけるカートゥーン成分信号となる。また、ｆ−ｕによりテクスチャ成分信号ｖが得られる。
【０００７】
図４はＴＶ−Ｌ１信号分解を算出する処理の動作を示すフローチャートである。ここでは初期化と更新の方法として収束が最も速い手法の一つであるＰＤ法（例えば、非特許文献２参照）、終了判定として反復回数を使用、入力信号ｆは２次元（Ｎ×Ｍ）配列、Ｔｏｔａｌ  Ｖａｒｉａｔｉｏｎには前述で定義した等方性Ｔｏｔａｌ  Ｖａｒｉａｔｉｏｎを使用した時についての例を示す。この例はモノクロ画像信号を２次元配列ｆに格納した際のＴＶ−Ｌ１信号分解を示すもので、ＴＶ−Ｌ１信号分解の最もよく使われる応用例の１つである。
【０００８】
まず、処理が開始されると、正の実定数τ，σ＞０を８τσ≦１を満たすように設定し、正の実定数θを０≦θ≦１を満たすように設定する。例えばτ＝０．０２，σ＝６．２５，θ＝０．５などとしてよい。また、初期のカートゥーン成分信号ｕをＮ×Ｍサイズのゼロ配列、初期の補助変数ｐをＮ×Ｍ×２サイズのゼロ配列とする。さらに、反復回数を記録する整数値変数ｉを、ｉ＝０とする（ステップＳ２１）。
【０００９】
続いて、以下の計算式に従って、カートゥーン成分信号ｕと補助変数ｐを更新する。
ｕｏｌｄ←ｕ，
ｐｏｌｄ←ｐ，
ｕ←ｐｒｏｘ１（ｕｏｌｄ＋τ・ｄｉｖ（ｐｏｌｄ）），
ｐ←ｐｒｏｘ２（ｐｏｌｄ＋σ・Ｄ（ｕ＋θ・（ｕ−ｕｏｌｄ））），
ここで、←は値の代入を表す。
【００１０】
ただしここで関数ｙ＝ｐｒｏｘ１（ｘ）はＮ×Ｍ配列入力ｘに対し、Ｎ×Ｍ配列出力ｙを計算するもので、各ｎ，ｍ成分はｙｎ，ｍ＝ｘｎ，ｍ−ｓｉｇｎ（ｘｎ，ｍ−ｆｎ，ｍ）・ｍｉｎ（τ・λ，ａｂｓ（ｘｎ，ｍ−ｆｎ，ｍ））と計算する。ただしここで関数ｓｉｇｎは引数の符号（−１，０あるいは１）を出力する関数であり、ｍｉｎ関数は引数の中で最も小さいものを出力する関数である。
【００１１】
また関数ｗ＝ｐｒｏｘ２（ｚ）はＮ×Ｍ×２配列入力ｚに対し、Ｎ×Ｍ×２配列出力ｗを計算するもので、各ｎ，ｍ，ｋ成分はｗｎ，ｍ，ｋ＝ｚｎ，ｍ，ｋ／ｍａｘ（１，ｓｑｒｔ（ｚｎ，ｍ，１２＋ｚｎ，ｍ，２２））と計算する。
【００１２】
また関数ｙ＝ｄｉｖ（ｚ）は、Ｎ×Ｍ×２配列ｚに対し、Ｎ×Ｍ配列出力ｙを計算するもので、Ｎ×Ｍ配列ｒ，ｓを用いて計算する。各ｎ，ｍ成分は、ｙｎ，ｍ＝ｒｎ，ｍ＋ｓｎ，ｍの２項から計算し、各項はｒｎ，ｍ＝ｚｎ，ｍ，１−ｚｎ−１，ｍ，１（１＜ｎ＜Ｎのとき）あるいはｚｎ，ｍ，１（ｎ＝１のとき）あるいは−ｚｎ−１，ｍ，１（ｎ＝Ｎのとき）と、ｓｎ，ｍ＝ｚｎ，ｍ，２−ｚｎ，ｍ−１，２（１＜ｍ＜Ｍのとき）あるいはｚｎ，ｍ，２（ｍ＝１のとき）あるいは−ｚｎ，ｍ−１，２（ｍ＝Ｍのとき）と計算する。
【００１３】
以上で定義する計算式に従って、カートゥーン成分信号ｕと補助変数ｐを計算する（ステップＳ２２）。
【００１４】
続いてｉ←ｉ＋１とし、ｉが予め定めた回数Ｉに達しているか否かの終了判定を行い、達していればステップＳ２４に遷移し、達していなければステップＳ２２に戻って処理を繰り返す（ステップＳ２３）。
【００１５】
次に、テクスチャ成分信号ｖを、ｖ＝ｆ−ｕと計算する（ステップＳ２４）。結果としてカートゥーン成分信号ｕとテクスチャ成分信号ｖを出力して、処理を終了する（ステップＳ２５）。
【００１６】
このように図４で示した処理手順に従ってカートゥーン成分信号とテクスチャ成分信号を算出することで、ＴＶ−Ｌ１信号分解結果を出力できる。
【００１７】
次に、図５を参照して、上記の処理（図４の処理）を実現するためのＴＶ−Ｌ１信号分解を出力する装置であるＴＶ−Ｌ１信号分解算出装置２の構成を説明する。図５は、上記の処理（図４の処理）を実現するためのＴＶ−Ｌ１信号分解を出力する装置であるＴＶ−Ｌ１信号分解算出装置２の構成を示す図である。このＴＶ−Ｌ１信号分解算出装置２は、初期化情報計算部２１とＴＶ−Ｌ１更新算出器２２と終了判定器２３とスイッチ２４と減算器２５から構成されている。入力信号ｆとラグランジュ係数λを入力し、カートゥーン成分信号ｕとテクスチャ成分信号ｖを出力する。以下構成する装置について説明する。
【００１８】
はじめに初期化情報計算部２１は、図４に示すステップＳ２１の処理に従って正の実数τ，σ，θと、初期のカートゥーン成分信号ｕと初期の補助変数ｐを算出し、これらを初期化情報としてＴＶ−Ｌ１更新算出器２２に出力する。
【００１９】
ＴＶ−Ｌ１更新算出器２２は、ＴＶ−Ｌ１信号分解算出装置２の入力である入力信号ｆとラグランジュ係数λ、初期化情報計算部２１の出力である初期化情報τ，σ，θ，ｕ，ｐと、終了判定器２３の出力である制御信号を入力とする。制御信号を受け取る度に、図４に示すステップＳ２２の処理に従ってｕｏｌｄ，ｐｏｌｄ，ｕ，ｐを算出し、算出が終了するとカートゥーン成分信号ｕと算出終了フラグを出力する。
【００２０】
終了判定器２３は、ＴＶ−Ｌ１更新算出器２２の出力である算出終了フラグを入力とする。算出終了フラグを受け取った回数を数える変数ｉを持っていて、ｉが更新される度、ｉが予め定めた回数Ｉ未満（ｉ＜Ｉ）のときはＴＶ−Ｌ１更新算出器２２に制御信号を送信し、ｉ＝Ｉのときはスイッチ２４にスイッチ切替制御信号を送信する。
【００２１】
スイッチ２４は、ＴＶ−Ｌ１更新算出器２２の出力であるカートゥーン成分信号ｕと終了判定器２３の出力であるスイッチ切替制御信号を入力とする。初期のスイッチ状態はＯＦＦになっており、終了判定器２３からスイッチ切替制御信号が送られたときにＯＮに切り替え、カートゥーン成分信号ｕを出力する。
【００２２】
減算器２５は−符号のついていない入力から−符号のついている入力の差を計算して出力する。ここでは、入力信号ｆとカートゥーン成分信号ｕを入力し、テクスチャ成分信号ｖ＝ｆ−ｕを計算して出力する。
【００２３】
このように、図５に示す構成を備えるＴＶ−Ｌ１信号分解算出装置２を用いることにより、図４のフローチャートに示す処理動作に従って、ＴＶ−Ｌ１信号分解結果を出力できる。
【先行技術文献】
【非特許文献】
【００２４】
【非特許文献１】S Alliney, "Digital filters as absolute norm regularizers," Signal Processing, 1992.
【非特許文献２】A. Chambolle and T. Pock, "A First-Order Primal-Dual Algorithm for Convex Problems with Applications to Imaging," Journal of Mathematical Imaging and Vision, 2010.
【発明の概要】
【発明が解決しようとする課題】
【００２５】
以上のようにＴＶ−Ｌ１信号分解法では、信号分解結果を得るために反復演算を複数回数繰り返す必要がある。そのため、入力信号のサイズが大きくなるほど多くの反復演算が必要になり、非常に多くの計算量と計算時間を要する。従って、反復を一定回数や一定時間などの終了条件を満たす時点で打ち切り、途中結果を出力して近似的に分解結果を得る方法が次善の策としてよく用いられる。
【００２６】
しかしながらこの近似的な分解結果では、ＴＶ−Ｌ１信号分解法で本来達成できた分解性能に達することができず、ノイズ除去や意味理解といった応用において結果を損ねることになるという問題がある。
【００２７】
本発明は、このような事情に鑑みてなされたもので、使用者が指定した重要度の高い信号値帯に対して、分解性能が高いＴＶ−Ｌ１信号分解の近似解を少ない反復回数で得ることができる信号分解方法、信号分解装置及び信号分解プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明の一態様は、入力信号に対して信号値変換を行い、ＴＶ−Ｌ１信号分解法により前記入力信号を分解した分解信号を出力する信号分解装置が行う信号分解方法であって、入力した信号値重要度から所定の条件を満たす信号値変換関数を算出する信号値変換関数算出ステップと、前記信号値変換関数または前記信号値重要度から前記信号値変換関数の逆関数を算出する信号値逆変換関数算出ステップと、前記入力信号を前記信号値変換関数により変換して変換入力信号を出力する信号値変換ステップと、前記変換入力信号を入力してＴＶ−Ｌ１信号分解を行い、変換成分信号を出力するＴＶ−Ｌ１信号分解ステップと、前記変換成分信号を前記信号値変換関数の逆関数により変換した第１の成分信号を第１の分解信号として出力する信号値逆変換ステップと、前記入力信号から前記第１の成分信号を減算した第２の成分信号を第２の分解信号として出力する減算ステップとを有する信号分解方法である。
【００２９】
本発明の一態様は、前記信号分解方法であって、前記信号値変換関数算出ステップでは、前記信号値変換関数をｇ（ｔ）、前記信号値重要度をｃ（ｔ）とした場合に、「任意のｔ１，ｔ２∈Ｔｃに対してｃ（ｔ１）≦ｃ（ｔ２）ならばｇ’（ｔ１）≧ｇ’（ｔ２）が成立する（ただし、Ｔｃは、ｇ（ｔ）の定義域、ｇ’（ｔ）は、ｇ（ｔ）の導関数である）」前記信号値変換関数ｇ（ｔ）を算出する。
【００３０】
本発明の一態様は、入力信号に対して信号値変換を行い、ＴＶ−Ｌ１信号分解法により前記入力信号を分解した分解信号を出力する信号分解装置であって、入力した信号値重要度から所定の条件を満たす信号値変換関数を算出する信号値変換関数算出手段と、前記信号値変換関数または前記信号値重要度から前記信号値変換関数の逆関数を算出する信号値逆変換関数算出手段と、前記入力信号を前記信号値変換関数により変換して変換入力信号を出力する信号値変換手段と、前記変換入力信号を入力してＴＶ−Ｌ１信号分解を行い、変換成分信号を出力するＴＶ−Ｌ１信号分解手段と、前記変換成分信号を前記信号値変換関数の逆関数により変換した第１の成分信号を第１の分解信号として出力する信号値逆変換手段と、前記入力信号から前記第１の成分信号を減算した第２の成分信号を第２の分解信号として出力する減算手段とを備える信号分解装置である。
【００３１】
本発明の一態様は、コンピュータに、前記信号分解方法を実行させるための信号分解プログラムである。
【発明の効果】
【００３２】
本発明によれば、使用者が指定した重要度の高い信号値帯に対して、分解性能が高いＴＶ−Ｌ１信号分解の近似解を少ない反復回数で得ることができるという効果が得られる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態による信号値重要度に基づいたＴＶ−Ｌ１信号分解を算出する処理の動作を示すフローチャートである。
【図２】信号値重要度に基づいたＴＶ−Ｌ１信号分解を算出する装置（ＴＶ−Ｌ１信号分解算出装置）の構成を示すブロック図である。
【図３】信号値重要度と変換関数の関係を示す図である。
【図４】ＴＶ−Ｌ１信号分解を算出する処理の動作を示すフローチャートである。
【図５】ＴＶ−Ｌ１信号分解を出力する装置（ＴＶ−Ｌ１信号分解算出装置）の構成を示すブロック図である。
【発明を実施するための形態】
【００３４】
以下、図面を参照して、本発明の一実施形態による信号分解装置を説明する。始めに、近似解を少ない反復回数で得ることができるという効果を奏する原理について説明する。本発明は、上記課題を解決するために、使用者が与えた信号値重要度に基づいて信号値の変換と逆変換をＴＶ−Ｌ１信号分解の前後に施す。変換関数は信号値に対して単調増加な連続関数であり、正の勾配を持つ。信号値重要度が低い箇所については大きな勾配を持ち、信号値重要度が高い箇所については小さな勾配を持つように設計する。逆変換は、前述の変換関数の逆関数による変換と定義する。
【００３５】
信号値をｔとし、信号値重要度と変換関数をそれぞれｃ（ｔ），ｇ（ｔ）と表したとき、２つの関数の関係を図３に示す。信号値重要度ｃ（ｔ）の低−高は変換関数ｇ（ｔ）の勾配の大−小に対応していて、更には変換による信号値の分布の拡大−縮小に対応する。例えば信号値重要度ｃ（ｔ）が低い信号値帯Ｔ１では変換関数ｇ（ｔ）の勾配は大きく、変換後の信号値帯Ｔ１＊は拡大している。逆にｃ（ｔ）が高い信号値帯Ｔ２ではｇ（ｔ）の勾配は小さく、変換後の信号値帯Ｔ２＊は縮小している。また図３に示す信号ｆからｆ＊＝ｇ（ｆ）のような信号の変換を考えると、信号値帯Ｔ１内での振動は変換後にはＴ１＊内の振動に強調されるのに対し、信号値帯Ｔ２内での振動は変換後にはＴ２＊内の振動に抑制される。
【００３６】
ここで、信号値重要度ｃ（ｔ）について詳細に説明する。信号値重要度ｃ（ｔ）は入力信号ｆがとる信号値の大きさｔごとに、重要度に応じた重みを与える関数である。例えばある入力信号ｆの性質として、信号値が０以上５０以下の範囲に重要な情報を含んでいるとすれば、ｃ（ｔ）＝１００（０≦ｔ≦５０），１０（それ以外）と設定することが考えられる。以降、関数ｃ（ｔ）の定義域をＴｃとする。
【００３７】
次に、信号値の変換関数ｇ（ｔ）について詳細に説明する記述する。信号値の変換関数ｇ（ｔ）は信号値ｔをｇ（ｔ）に変換する連続関数である。図３に示す信号値重要度ｃ（ｔ）と変換関数ｇ（ｔ）の勾配の対応関係は、「任意のｔ１，ｔ２∈Ｔｃに対してｃ（ｔ１）≦ｃ（ｔ２）ならばｇ’（ｔ１）≧ｇ’（ｔ２）が成立する」という関係で定式化できる。ここでｇ’は、関数ｇの導関数とする。この様なｇ（ｔ）の設計方法の代表的な例として、常微分方程式ｇ’（ｔ）＝１／ｃ（ｔ）の解としてｇ（ｔ）を定めることがあげられる。この常微分方程式の解は解析的に求める他、台形則やルンゲ−クッタ法（例えば、参考文献１参照）に代表される数値解法により近似的に求めることができる。
参考文献１：WH Press, SA Teukolsky, WT Vetterling, and BP Flannery, "Numerical recipes in C," 1996.
【００３８】
ＴＶ−Ｌ１信号分解には、単調関数による信号値変換に対する斉次性という性質がある（例えば、参考文献２を参照）。これより、入力信号ｆの信号分解であるカートゥーン成分ｕを求める対応付けをｕ＝ＴＶＬ１（ｆ）と表現するとき、ｕ＝ｇ−１（ＴＶＬ１（ｇ（ｆ）））が成立する。従って、ＴＶ−Ｌ１信号分解の前後に信号変換ｇと信号逆変換ｇ−１をかけてもカートゥーン成分ｕを求めることが可能であるし、反復計算の途中経過に着目すれば、分解結果ｕに収束する新たな経路を見出すことができる。加えて、ＰＤ法を始めとしたＴＶ−Ｌ１信号分解の反復計算は、入力信号の振動が小さい領域から急速に解に収束する性質を持つ。従って、前述した信号値重要度ｃ（ｔ）に基づいた変換関数ｇ（ｔ）を設計すれば、重要度が高い信号値帯の振動を抑制し、収束を速めることができる。
参考文献２：V Duval, JF Aujol, and Y Gousseau, "The TVL1 model: a geometric point of view," Multiscale Modeling & Simulation, 2009.
【００３９】
前述のように信号値変換を設計することで、重要度の高い信号値帯についての収束速度を加速することができ、当該信号値帯に対して分解性能の高いＴＶ−Ｌ１信号分解の近似解を少ない反復回数で求められる。
【００４０】
以下、前述の信号分解を得る方法について説明する。図１は信号値重要度に基づいたＴＶ−Ｌ１信号分解を算出する装置（ＴＶ−Ｌ１信号分解算出装置）が行う処理の動作を示すフローチャートである。処理が開始されると、使用者が指定した信号値重要度ｃ（ｔ）から信号値変換関数ｇ（ｔ）を算出する（ステップＳ１１）。その際、「任意のｔ１，ｔ２∈Ｔｃに対してｃ（ｔ１）≦ｃ（ｔ２）ならばｇ’（ｔ１）≧ｇ’（ｔ２）が成立する」信号値変換関数ｇ（ｔ）を算出する。続いて、ｇ（ｔ）の逆関数ｇ−１（ｔ）を算出して信号値逆変換関数とする（ステップＳ１２）。
【００４１】
次に、入力信号ｆを信号値変換関数ｇ（ｔ）で変換し、変換入力信号ｆ＊＝ｇ（ｆ）を算出する（ステップＳ１３）。続いて変換された入力信号ｆ＊を入力として、図４に示すＴＶ−Ｌ１信号分解を算出する処理を実行し、算出されたカートゥーン成分信号を変換カートゥーン成分信号ｕ＊とする（ステップＳ１４）。
【００４２】
次に、変換カートゥーン成分信号ｕ＊を信号値逆変換関数ｇ−１（ｔ）で変換し、ｕ＝ｇ−１（ｕ＊）を算出する（ステップＳ１５）。続いて、テクスチャ信号ｖ＝ｆ−ｕを算出する（ステップＳ１６）。そして、結果としてカートゥーン成分信号ｕとテクスチャ成分信号ｖを出力して、処理を終了する（ステップＳ１７）。
【００４３】
このように図１で示した処理手順に従ってカートゥーン成分信号とテクスチャ成分信号を算出することで、信号値重要度に基づいたＴＶ−Ｌ１信号分解結果を出力することができる。
【００４４】
次に、図１に示す処理動作を実現するための信号値重要度に基づいたＴＶ−Ｌ１信号分解を出力する装置であるＴＶ−Ｌ１信号分解算出装置１の構成について説明する。図２は、図１に示す処理動作を実現するための信号値重要度に基づいたＴＶ−Ｌ１信号分解を出力する装置であるＴＶ−Ｌ１信号分解算出装置１の構成を示すブロック図である。ＴＶ−Ｌ１信号分解算出装置１は、信号値変換関数算出器１１と信号値逆変換関数算出器１２と信号値変換器１３とＴＶ−Ｌ１信号分解を算出する装置１４と信号値逆変換器１５と減算器１６を備えている。このＴＶ−Ｌ１信号分解算出装置１は、入力信号ｆとラグランジュ係数λと信号値重要度ｃ（ｔ）を入力し、カートゥーン成分信号ｕとテクスチャ成分信号ｖを出力する。
【００４５】
信号値変換関数算出器１１は、ＴＶ−Ｌ１信号分解算出装置１の入力である信号値重要度ｃ（ｔ）を入力し、信号値変換関数ｇ（ｔ）を出力する。信号値逆変換関数算出器１２は、ＴＶ−Ｌ１信号分解算出装置１の入力である信号値重要度ｃ（ｔ）と信号値変換関数算出器１１の出力である変換関数ｇ（ｔ）を入力し、信号値逆変換関数ｇ−１（ｔ）を出力する。この逆変換関数ｇ−１（ｔ）は、変換関数ｇ（ｔ）の逆関数である。なお、逆変換関数ｇ−１（ｔ）は、信号値重要度ｃ（ｔ）または変換関数ｇ（ｔ）のどちらか片方があれば求めることができるため、入力をいずれか一方のみとしてもよい。
【００４６】
信号値変換器１３は、ＴＶ−Ｌ１信号分解算出装置１の入力である入力信号ｆと信号値変換関数算出器１１の出力である変換関数ｇ（ｔ）を入力し、変換入力信号ｆ＊＝ｇ（ｆ）を算出する。
【００４７】
ＴＶ−Ｌ１信号分解を算出する装置１４は、信号値変換器１３の出力である変換入力信号ｆ＊とＴＶ−Ｌ１信号分解算出装置１の入力であるラグランジュ係数λを入力して、変換カートゥーン成分信号ｕ＊を出力する。ＴＶ−Ｌ１信号分解を算出する装置１４は、図５に示すＴＶ−Ｌ１信号分解算出装置２と同等であり、変換入力信号ｆ＊をＴＶ−Ｌ１信号分解算出装置２の入力信号ｆに、変換カートゥーン成分信号ｕ＊を装置２のカートゥーン成分信号ｕに対応させたものである。
【００４８】
信号値逆変換器１５は、ＴＶ−Ｌ１信号分解を算出する装置１４の出力である入力信号ｕ＊と信号値逆変換関数算出器１２の出力である逆変換関数ｇ−１（ｔ）を入力し、カートゥーン成分信号ｕ＝ｇ−１（ｕ＊）を出力する。
【００４９】
減算器１６は、信号値逆変換器１５の出力であるカートゥーン成分信号ｕとＴＶ−Ｌ１信号分解算出装置１の入力である入力信号ｆを入力して、テクスチャ成分信号ｖを出力する。減算器１６は、図５に示す減算器２５と同様の動作を行う。
【００５０】
このように、図２に示す構成のＴＶ−Ｌ１信号分解算出装置１を用いることにより、図１に示す処理動作に従って、信号値重要度に基づいたＴＶ−Ｌ１信号分解結果を出力することができる。
【００５１】
次に、具体例を挙げて、図１に示す処理動作を説明する。ここでは、解像度Ｎ×Ｍの８ｂｉｔモノクロ画像信号をサイズＮ×Ｍの２次元配列ｆに格納して入力信号とし、定義域Ｔｃ＝｛０，１，…，２５５｝を持つ信号値重要度ｃ（ｔ）に基づいてＴＶ−Ｌ１信号分解を得る例を説明する。信号値変換関数の算出及び信号値逆変換関数の算出は、常微分方程式ｇ’（ｔ）＝１／ｃ（ｔ），初期値ｇ（０）＝０を台形則で解いて計算し、それぞれの信号値変換及び逆変換は変換テーブルとして取り扱うものとする。
【００５２】
この例の処理手順は、前述した図１の手順に従う。はじめに信号値変換方法を算出する。まず常微分方程式ｇ’（ｔ）＝１／ｃ（ｔ），ｇ（０）＝０を台形則で解き、ｇ（０），ｇ（１），…，ｇ（２５５）を求める。これから表１に示す変換テーブルを作成する。信号値の変換は、テーブルの左列から右列への対応である（ステップＳ１１）。
【表１】
0006353411.tif 000002
【００５３】
次に、信号値逆変換方法を算出するが、これは信号値変換関数ｇ（ｔ）の逆関数ｇ−１（ｔ）であるため、表１に示す変換テーブルをそのまま利用できる。信号値の逆変換は、テーブルの右列から左列への対応である（ステップＳ１２）。
【００５４】
次に、入力信号ｆの変換入力信号ｆ＊＝ｇ（ｆ）を求める。各ｎ，ｍ成分に対し、ｆｎ，ｍの値を変換テーブルの左列から探し、対応する右列の値を変換値ｆ＊ｎ，ｍとする（ステップＳ１３）。
【００５５】
次に、変換された入力信号ｆ＊を入力として、図４に示すＴＶ−Ｌ１信号分解を算出する処理を実行し、算出されたカートゥーン成分信号を変換カートゥーン成分信号ｕ＊とする（ステップＳ１４）。
【００５６】
次に、変換カートゥーン成分信号ｕ＊の各ｎ，ｍ成分に対し，ｕ＊ｎ，ｍの値を変換テーブルの右列から探し、対応する左列の値を変換値ｕｎ，ｍとすることで、カートゥーン成分信号ｕ＝ｇ−１（ｕ＊）を求める。ただし右列にｕ＊ｎ，ｍの値が存在しない場合、右列の中でｕ＊ｎ，ｍに近い２つの値と、それに対応する左列の値を用いて、線形補間により近似する（ステップＳ１５）。
【００５７】
次に、テクスチャ信号ｖ＝ｆ−ｕを算出する（ステップＳ１６）。そして、結果としてカートゥーン成分信号ｕとテクスチャ成分信号ｖを出力して、処理を終了する（ステップＳ１７）。
【００５８】
以上の処理手順により、解像度Ｎ×Ｍの８ｂｉｔモノクロ画像信号を入力信号とし、定義域Ｔｃ＝｛０，１，…，２５５｝を持つ信号値重要度ｃ（ｔ）に基づいてＴＶ−Ｌ１信号分解を得ることができる。
【００５９】
以上説明したように、ＴＶ−Ｌ１信号分解法による信号の分解方法において、分解結果を得るための反復的な更新において、使用者が予め与えた信号値の重要度に基づいて優先的に反復演算をすることで、収束の速度を速めることができる。特に、信号値重要度ｃ（ｔ）から算出される、所定の性質を有する信号値変換方法ｇ（ｔ）を用いて入力信号を信号値変換した後に、ＴＶ−Ｌ１信号分解することにより、重要度ｃ（ｔ）が高い信号値帯に対して分解性能が高いＴＶ−Ｌ１信号分解の近似解を求めることが可能になる。
【００６０】
前述した実施形態における信号分解装置の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００６１】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００６２】
使用者が指定した重要度の高い信号値帯に対して、分解性能が高いＴＶ−Ｌ１信号分解の近似解を少ない反復回数で得ることが不可欠な用途に適用できる。
【符号の説明】
【００６３】
１・・・ＴＶ−Ｌ１信号分解算出装置、１１・・・信号値変換関数算出器、１２・・・信号値逆変換関数算出器、１３・・・信号値変換器、１４・・・ＴＶ−Ｌ１信号分解を算出する装置、１５・・・信号値逆変換器、１６・・・減算器
【図１】
0006353411.tif 000003
【図２】
0006353411.tif 000004
【図３】
0006353411.tif 000005
【図４】
0006353411.tif 000006
【図５】
0006353411.tif 000007