解 説

Convolution（合成積・畳み込み積分）§１

Convolution とはConvolution とは、ある、２つの関数、 f (t ) と g (t ) があるとき、∞f (t ) ⊗ g (t ) = ∫ f (σ ) ⋅ g (t − σ )dσ−∞で定義される積分計算、あるいは、その計算結果のことである。２つの関数が、互いに時間軸を逆転させて積算される形になっている。 f (σ ) にちょうど g (t − σ ) の重み付けを行っての積算計算である。
この積分計算の意味するものは、 f (t ) で表現されるような現象があった場合、それを g (t ) で表現されるような特性を持った測定装置によっての観測結果となる。別の表現をすると、 g (t ) の重み付けを行うフィルターを通して観察した結果が、どのような形になるかを示している（以下、詳細説明参照）。
この convolution には、交換則 f (t ) ⊗ g (t ) = g (t ) ⊗ f (t ) が成立していることを確かめてみよう。まず、t-σ=ω とおいて上の式を書き直してみると、∞∞f (t ) ⊗ g (t ) = ∫ f (σ ) ⋅ g (t − σ )dσ = ∫ f (t − ω ) ⋅ g (ω )d (t − ω )−∞= −∫−∞∞−∞∞f (t − ω ) ⋅ g (ω )dω = ∫ g (ω ) ⋅ f (t − ω )dω = g (t ) ⊗ f (t )−∞となるであろう。f (t ) と g (t ) とは、この convolution 計算上では交換可能な関数であることがわかる。
つまり、 g (t ) で書き表されるような現象を、 f (t ) の特性を持った重み付けを行うフィルター（測定装置、観察手段）を通して観察したものと、結果は全く同じとなる。 以下の例は、この積分計算の意味を直感的に理解するためのものである。

§２

単純な計測例で考えると

まず、下のような濃度分布（密度の分布や明るさの違い）を持った物体があるとしよう。タンパク質などのゲル電気泳動パターン、物質の濃度分布などを思い浮かべるとわかりやすいかも知れない。この

座標軸（ u ）を時間軸（ t ）に置き換えると、観測する現象の経時的な変化を示すシグナルと見なすこともできる。信号強度の変化は、左端 を u=0 として、x(u) で表記されるものとする。

この物体を、左方向へ速度 v=1（単位速度）で移動させたとしよう。さらに、下の図のような細いスリット（一種のフィルター）を通して観察し、濃度の変化を光センサーで検出したとする（スリットを移動すると考えても良い）。どんなシグナルが検出されるだろうか？ただし、このスリット幅は、限りなく狭いものと考えると、光センサーで検出される信号は、x(u) の u を時間 t に置き換えただけの x(t) となる。これをconvolution の計算で表現すると下のようになる。
細いスリットは、ある 特殊な関数、デルタ関数、δ(t) と見なすことができる。この関数は、t = 0の時に値を持ち（値は無限大で、幅=0、面積＝１）、それ以外は 0 となる特殊な関数である。Convolutionの定義式の中では、σ = -∞ から σ = +∞ までの積分であるが、デルタ関数の場合は計算が簡単で、値のある t = 0 の場合についてだけ考慮すれば良い。つまり、

x (t ) ⊗ δ (t ) = x (t )と表記できる。狭いスリット（幅が 0 と見なせるスリット）を通して観測されるシグナルは、もとの信号とまったく同じであるという意味を示す式である。

§３

より複雑な系で考えるとさて、少し複雑な場合で考えてみよう。スリットが複数個ある場合である。単純に、距離 d だけ離れた２つのスリットがあり、下図のように、それらを通して観察することを考える。右側のスリットを、この観察対象の左端が通過する時を、 t = 0 と置く。上の例を参考にすると、観察される信号は、時間を d だけずらして x(t) を重ね合わせることになるので、x(t)+x(t-d) となるのは容易に理解できるであろう。

x(t-d) は、左側のスリットを通して観察される信号で、x (t − d ) ⊗ δ (t ) の計算結果と同じとなる。
d だけ過去にさかのぼって観察されるべき現象を、スリット δ(t) を通して観察していると考えることができる。convolution の定義式の上で t-d → t と置き換えると、x (t ) ⊗ δ (t + d ) と表記できる。
これは、現在の x(t) を、d だけの時間差で観測する特別なスリット（左側のスリット）を通して観測していることとも同等でもある。 これらを式で表現すると、

x (t ) ⊗ [δ (t ) + δ (t + d )] = [ x(t ) + x (t − d )] ⊗ δ (t ) = x (t ) + x (t − d ) 。

幅の広いスリットで観察する状況は、この考えを拡張して、複数のスリットが接して並んでいると考えると理解しやすい。さらに拡張しよう。一般に現象 x(t) を、複数のスリット列を通して観測するものと考える。本当は、単一のスリットだけを通して観測するのが、x(t) を正確に再現する上では理想的であるのは前に述べた通りである。しかし、我々の使う実際の測定器は、種々の制約条件、悪条件のもとで計測せざる得ない場合が多い。
例えば、信号を検出して増幅する時、何らかの信号遅延が発生したり、S/N 比を向上させるために加算平均したりすることがある。あるいは、光学レンズなどを通して観察するときは、もとの観察試料とは異なった（分解能の不十分な）少しピンボケした拡大像しか得られない。生体計測では、もとの信号を、多少重ね合わせたり、歪ませたりして取り出す作業をしなければならないケースの方が、むしろ普通である。つまり、現実的には、多少幅の広いスリットで、しかも、その透過率が時々刻々と変化するような非常に歪んだ窓を通してしか観測できないのである。

その歪んだ窓（スリット群）は、δ(t) の代わりに、a(i)・δ(t + Di) の形で表記されると考えればよい。a(i)は、信号の透過率を示すパラメターである。Di はスリットの位置のずれを表す。このスリット群は、全部まとめて、g(t)という関数で表されるものとする。

∑ a (i ) ⋅ δ ( t + D ) = g (t )ig(t) は一種のフィルター関数である。このような例が下の計測例である。

§４伝達関数下の様に、g(t) の濃度分布を持つ窓を通して観察するときには、δ(t) の代わりに g(t) の重み付けを行った歪んだフィルターを使っていると見なすことができるのは先に述べた通りである。前の例からも容易に想像できるように、ここで観察される観測値 y(t) はx (t ) ⊗ g (t ) 、つまり、観察対象と観測系 g(t)の convolution として表現できる。

もとの信号 x(t) を y(t) に変換する関数という意味で、g(t) を伝達関数（transfer function）とも呼び、観測対象 x(t)と、伝達関数 g(t)、観測結果 y(t)の関係は、x (t ) ⊗ g (t ) = y (t )と表現される。もし、観察対象を x(t)の代わりに δ(t)に近い現象（単発的な現象）を用いたとすると、

δ (t ) ⊗ g (t ) = y (t ) = g (t )となることも、先に述べた例などから理解できるであろう。ここで観測される信号は、伝達関数 g(t)そのものである、同じプロセスで g(t) を正確に求めることができることを意味している。g(t) が求まると、観測対象 x(t) から観測結果 y(t) を予測したり、逆に、観測結果 y(t) から観測対象の真の姿、x(t) を推測したりといった作業が可能になる。
光学顕微鏡下の小さな１点（通常は１µm 以下の小さなマイクロビーズなど）を観察したときの拡大像も、上の伝達関数 g(t)に相当する。この場合、点広がり関数（PSF, Point Spread Function)と呼ばれる。顕微鏡という機械が、観察像を拡大像としてどのように変換するかを示す関数である。３次元の伝達関数 g(x,y,z) がわかっていれば、観測対象 O(x,y,z)と観察像 I(x,y,z)との関係が予測できるように、蛍光顕微鏡の deconvolution 法では、正確な PSF(x,y,z)をあらかじめ求めておけば、もとの３次元構造を予測することが可能となる。式では以下のような形になる。

O ( x, y , z ) ⊗ PSF ( x, y , z ) = I ( x, y , z )§５

Deconvolution

さて、観察結果、 x (t ) ⊗ g (t ) = y (t ) の演算を逆算して、y(t) から x(t) を求めることが、観測で発生する人為的な歪みを取り除くためには重要な課題となる。これは、前に上げた定義式、観測結果： y (t ) = x(t ) ⊗ g (t ) =∞∫ x(σ ) ⋅ g (t − σ )dσ−∞の積分の中の関数、x(t) を y(t) と g(t) から、逆に求めることに他ならない。このような形式の方程式を積分方程式と呼び、この逆計算を deconvolution と言う。生体計測の分野では、蛍光像からの３Ｄ像再構成技術は一般に使用されつつある手法であるが、３次元の場合 deconvolution によって数式を正確に解き数式解を求めることは不可能である。そのため、コンピュータを使用した数値解析の手法を用いることになり、これに最適化された複数のアルゴリズムが一般に使用されている。
(中大・理工学部・生命科学科、上村慎治）