本発明の一態様に係る信号観測装置は、圧縮センシングを用いて対象信号について複数回の観測を行う信号観測装置であって、第一の行数及び第一の列数の入力を受ける入力部と、対象信号の量を観測する観測部と、行列状に並べられた複数の素子であって前記観測部に伝送する前記対象信号の量を個別に制限可能な複数の素子を有するフィルタ部と、前記入力部から得られた前記第一の行数及び前記第一の列数から決定されるサイズを有する複数の観測行列のそれぞれに基づいて前記複数の素子の各々の状態を変更して、前記フィルタ部を介して伝送された前記対象信号の量を前記観測部に観測をさせる制御部と、を備える。
この構成によれば、入力部から得られた第一の行数及び第一の列数から決定されるサイズの複数の観測行列のそれぞれに基づいて複数の素子の各々の状態を変更することできる。つまり、フィルタ部の行数及び列数に固定されずに、観測行列のサイズを任意に設定することができる。対象信号の画素数は、この観測行列のサイズに依存する。したがって、フィルタ部の素子数に依存せずに、対象信号の画素数を自由に設定することができ、復元後の画像の解像度に対する観測の柔軟性を向上させることが可能となる。
また例えば、前記制御部は、前記サイズの観測行列に含まれる行列要素の数と前記複数の素子の数とに基づいて前記複数の素子を所定の数の素子を含むグループにグループ化し、グループ単位で前記所定の数の素子の状態を変更してもよい。
この構成によれば、フィルタ部の複数の素子を所定の数の素子を含むグループにグループ化し、グループ単位で所定の数の素子の状態を変更することができる。これにより、観測行列の要素数とフィルタ部の素子数とが異なる場合であっても、観測行列に基づいてフィルタ部の各素子を制御することができる。その結果、任意の画素数で対象信号を復元することのでき、復元後の画像の解像度に対する観測の柔軟性を向上させることが可能となる。
また例えば、前記複数の観測行列は、それぞれ前記第一の行数及び前記第一の列数を有し、前記複数の素子の行列は、第二の行数及び第二の列数を有し、前記制御部は、前記第一の行数より前記第二の行数が大きい場合に、前記複数の素子の行列の行を、前記第一の行数及び前記第二の行数に基づく数の行からなるグループにグループ化し、同一の行のグループに含まれる同一の列の素子の状態を同一の状態に制御してもよい。
この構成によれば、観測素子の行列の行をグループ化することができる。したがって、行列の第一の行数よりフィルタ部の素子の第二の行数が大きい場合であっても、観測行列に基づいてフィルタ部の各素子を制御することができる。その結果、任意の行数で対象信号を復元することのでき、復元後の画像の解像度に対する観測の柔軟性を向上させることが可能となる。また例えば、前記観測行列は、前記第一の行数及び前記第一の列数を有し、前記複数の素子の行列は、第二の行数及び第二の列数を有し、前記制御部は、前記第一の列数より前記第二の列数が大きい場合に、前記複数の素子の行列の列を、前記第一の列数及び前記第二の列数に基づく数の列からなるグループにグループ化し、同一の列のグループに含まれる同一の行の素子の状態を同一の状態に制御してもよい。
この構成によれば、観測素子の行列の列をグループ化することができる。したがって、観測行列の第一の列数よりフィルタ部の素子の第二の列数が大きい場合であっても、観測行列に基づいてフィルタ部の各素子を制御することができる。その結果、任意の列数で対象信号を復元することのでき、復元後の画像の解像度に対する観測の柔軟性を向上させることが可能となる。
また例えば、前記第一の行数及び前記第二の行数に基づく前記数は、前記第一の行数で前記第二の行数を除算したときの商が示す数であってもよい。
この構成によれば、複数の素子の行列の行を、第一の行数で第二の行数を除算したときの商が示す数の行からなるグループにグループ化することができる。したがって、フィルタ部の素子をできる限り無駄にすることなく有効に活用して対象信号を観測することができる。
また例えば、前記第一の列数及び第二の列数に基づく前記数は、前記第一の列数で前記第二の列数を除算したときの商が示す数であってもよい。
この構成によれば、複数の素子の行列の列を、第一の列数で第二の列数を除算したときの商が示す数の列からなるグループにグループ化することができる。したがって、フィルタ部の素子をできる限り無駄にすることなく有効に活用して対象信号を観測することができる。
また例えば、前記制御部は、前記第一の行数で前記第二の行数を除算したときに余りがある場合、前記複数の素子の行列の行から前記余りが示す数の行を除外して残った行を、前記商が示す数の行からなる前記第一の行数のグループにグループ化し、前記除外した行に含まれる素子の状態を、前記観測部に伝送する対象信号の量を制限する制限状態に制御してもよい。
この構成によれば、フィルタ部の第二の行数を観測行列の第一の行数で割り切れない場合に、余りが示す数の行に含まれる素子の状態を制限状態に制御することができる。したがって、観測行列の第一の行数を、フィルタ部の第二の行数の約数に限定する必要がなくなり、復元後の画像の解像度をより柔軟に設定することが可能となる。
また例えば、前記制御部は、前記第一の列数で前記第二の列数を除算したときに余りがある場合、前記複数の素子の行列の列から前記余りが示す数の列を除外して残った列を、前記商が示す数の列からなる前記第一の列数のグループにグループ化し、前記除外した列に含まれる素子の状態を、前記観測部に伝送する前記対象信号の量を制限する制限状態に制御してもよい。
この構成によれば、フィルタ部の第二の列数を観測行列の第一の列数で割り切れない場合に、余りが示す数の列に含まれる素子の状態を制限状態に制御することができる。したがって、観測行列の第一の列数を、フィルタ部の第二の列数の約数に限定する必要がなくなり、復元後の画像の解像度をより柔軟に設定することが可能となる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を用いて詳細に説明する。
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示す。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
[信号観測システムの構成]
図1は、実施の形態1における信号観測システムの外観図である。図2は、実施の形態1における信号観測システムの構成の一例を示すブロック図である。図1において、破線は、見えない部分を表す。図1及び図2に示すように、信号観測システム100は、信号観測装置110、及び、信号復元装置120を備える。
信号観測装置110は、圧縮センシングを用いて観測の対象となる対象信号を複数回観測し、観測結果として、後述する圧縮信号を出力する。本実施の形態では、対象信号が、被写体99から放射又は反射された可視光信号である場合について説明する。また、信号観測装置110は、同じ被写体99から放射又は反射する可視光信号を複数回観測するものとする。なお、対象信号は、可視光信号に限定されない。例えば、対象信号は、赤外線信号、テラヘルツ波信号、又は紫外線信号であってもよい。
信号観測装置110は、入力部111、制御部112、乱数シード生成部113、観測行列生成部114、観測行列表示部115、観測部116、及び、通信部117を備える。
入力部111は、ユーザからの入力を受け付け、制御部112に入力を伝達する。例えば、入力部111はキーボードやタッチパネルなどである。具体的には、入力部111は、対象信号(画像)の画素数の入力を受ける。ここでは、対象信号の画素数とは、例えば、対象信号が示す画像の縦方向の画素数(つまり第一の行数)及び横方向の画素数(つまり第一の列数)で表される。
制御部112は、入力部111からの情報を得て、乱数シード生成部113、観測行列生成部114、観測行列表示部115、観測部116、及び、通信部117を制御する。
なお、制御部112は、制御機能を備えるものであればよく、どのように実現されてもよい。例えば、制御部112は、専用のハードウェアで構成されてもよい。また例えば、制御部112は、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。この場合、制御部112は、例えば、演算処理部(図示せず)と制御プログラムを記憶する記憶部(図示せず)とを備えてもよい。演算処理部としては、MPU(Micro Processing Unit)、CPU(Central Processing Unit)が例示される。記憶部としては、半導体メモリが例示される。なお、制御部112は、集中制御を行う単独の制御部で構成されていてもよく、互いに協働して分散制御を行う複数の制御部で構成されていてもよい。
乱数シード生成部113は、観測行列生成部114で利用するための複数の乱数シードを生成する。
観測行列生成部114は、入力部111から得られる対象信号の画素数(第一の行数及び第一の列数)から決定されるサイズを有する複数の観測行列を生成する。観測行列生成部114は、例えば、入力部111より入力された対象信号の縦方向の画素数を生成すべき観測行列の行数(第一の行数)として決定する。また、観測行列生成部114は、例えば、入力部111より入力された対象信号の横方向の画素数を生成すべき観測行列の列数(第一の列数)として決定する。これにより生成すべき観測行列のサイズとして、第一の行数および第一の列数が、決定される。
この場合、生成される観測行列に含まれる行列要素の数は、第一の行数と第一の列数との積で示される。
また、観測行列に含まれる各行列要素の値をどのようにして決定するのかについては、後述する。
観測行列とは、例えば、後述する第一の観測行列および第二の観測行列を含む。
観測行列生成部114は、入力部111から得られる第一の行数及び第一の列数を有する、第一の観測行列を生成する。
生成される第一の観測行列は、予め定められたパターンを有する。第一の観測行列が予め定められたパターンを有するとは、例えば、第一の観測行列に含まれる全てまたは、ほぼ全ての行列要素の値が予め決められていることを意味する。
予め定められたパターンの第一の観測行列は、例えば、第一の観測行列に含まれる複数の行列要素の値が一様な値を有する。第一の観測行列に含まれる複数の行列要素の値が一様であるとは、例えば、第一の観測行列に含まれる全て又はほぼ全ての行列要素が実質的に同じ値(例えば、0)を有することを意味する。本実施の形態では、第一の観測行列に含まれる全ての行列要素の値を0としたものを例に説明をする。
さらに、観測行列生成部114は、入力部111から得られる第一の行数及び第一の列数を有する第二の観測行列を生成する。観測行列生成部114は、例えば、第二の観測行列の各行列要素の値を、乱数シード生成部113が生成した乱数シードに基づき算出する。
観測行列表示部115は、フィルタ部の一例である。観測行列表示部115は、対象信号が観測部160へと伝送される伝送経路上に配置されている。例えば、観測行列表示部115は行列状に配列された複数の素子を有する。
複数の素子は、観測部116に伝送される対象信号の量を個別に制限可能である。例えば、観測行列表示部115は、透過率を個別に制御可能な複数の画素を有する透過型液晶ディスプレイである。
例えば、透過型液晶ディスプレイに含まれる複数の画素のそれぞれは、行列状に配列された複数の素子の何れかと対応する。観測行列表示部115の複数の素子のそれぞれは、その状態を制御することにより、対応する画素の透過率を制御する。観測行列表示部115は、例えば、各素子の状態を制御することで、各画素の透過率を制御する。結果として、観測行列表示部115は、観測部160へ伝送される対象信号の量を制御することができる。
観測行列表示部115は、図1に示すように、被写体99及び観測部116の間に配置される。
制御部112は、観測行列生成部114が生成した観測行列に基づいて観測行列表示部115の各素子の状態を変更して、観測行列表示部115を介して伝送された対象信号の量の観測を観測部116に行わせる。
例えば、制御部112は、観測行列生成部114が生成した観測行列に含まれる各行列要素を観測行列表示部115の複数の素子のいずれかに対応付ける。
制御部112は、観測行列に含まれる一の行列要素と観測行列表示部115の一の素子とを一対一に対応付けてもよい。
または、制御部112は、観測行列に含まれる一の行列要素と観測行列表示部115の複数の素子とを対応付けてもよい。但し、制御部112は、観測行列に含まれる複数の行列要素を観測行列表示部115の中の同一の素子に対応付けることはしない。
制御部112は、観測行列の行列要素と対応付けた観測行列表示部115の素子の状態を当該行列要素の値に基づいて制御する。なお、制御部112は、観測行列表示部115の複数の素子のうち、観測行列の行列要素と対応付けていない素子がある場合、この素子の状態を予め定めた状態に制御する。
このように観測行列の各行列要素を観測行列表示部115の複数の素子のいずれと対応付け、各行列要素の値に基づいて対応する素子の状態を制御するとともに、観測行列の行列要素と対応付けていない観測行列表示部115の素子の状態を予め定めた状態に制御することを、観測行列に基づいて観測行列表示部115の各素子(または各画素)を制御するという。
上述したように観測行列生成部114は、第一の観測行列および第二の観測行列を生成する。制御部112は、第一の観測行列に基づいて観測行列表示部115の各素子を制御する第一の制御と、第二の観測行列に基づいて観測行列表示部115の各素子を制御する第二の制御とを選択的に用いて、観測部116に対象信号の観測を複数回、行わせる。
観測部116に対象信号の観測を行わせるというのは、観測行列表示部115を介して観測部116が備える単一の検出器に伝送される対象信号の量を測定(または検出、または出力ともいう)させることである。
制御部112が、第一の制御を用いて、観測部116に対象信号の観測を行わせるとは、例えば、制御部112が、第一の制御を行っている間に観測部116に対象信号の観測を行わせることである。
制御部112が、第二の制御を用いて、観測部116に対象信号の観測を行わせるとは、例えば、制御部112が第二の制御を行っている間に観測部116に対象信号の観測を行わせることである。
制御部112が、第一の制御と第二の制御とを選択的に用いて、観測部116に対象信号の観測を複数回、行わせるというのは、例えば、制御部112が、第一の制御および第二の制御のうちの一方を選択し、選択した制御を行っている間に観測部116に観測を行わせる動作を複数回行うことである。
上述の動作を行う複数回の回数は、予め決められていてもよい。
この複数回の動作には、制御部112が、第一の制御を選択し、観測部116に観測を行わせる動作が少なくとも1回含まれる。
また、複数回の動作には、制御部112が、第二の制御を選択し、観測部116に観測を行わせる動作が少なくとも2回含まれる。この場合、制御部112が、第二の制御を選択する毎に、乱数シード生成部113が異なる乱数シードを生成し、観測行列生成部114が、生成した乱数シード基づき第二の観測行列を生成するのであれば、第二の制御を選択する毎に生成される第二の観測行列は、互いに異なる行列となる。
また複数回の動作の内、1回目の動作(つまり最初の動作、または観測部116による最初の観測ともいう)が、制御部112が、第一の制御を選択し、観測部116に観測を行わせる動作であってもよい。
または、複数回の動作の内、真ん中の回数目の動作(例えば、第二の制御を選択する回数を2で割ったときの商の値に対応する回数)が、制御部112が、第一の制御を選択し、観測部116に観測を行わせる動作であってもよい。
または、制御部112が、第一の制御を選択し、観測部116に観測を行わせる動作および制御部112が、第二の制御を選択し、観測部116に観測を行わせる動作を交互に行ってもよい。この場合、制御部112が、第一の制御を選択し、観測部116に観測を行わせる動作および制御部112が、第二の制御を選択し、観測部116に観測を行わせる動作を1組の動作とし、この組にした動作を複数回行うとしてもよい。
次に、制御部112が、観測行列を用いて観測行列表示部115の各素子を制御する具体例を説明する。
制御部112は、観測行列に含まれる各行列要素の値に応じて、観測行列表示部115の対応する素子(または画素ともいう)の状態を制御する。例えば、観測行列の行列要素の値が0であれば、制御部112は、当該行列要素に対応する観測行列表示部115の素子の状態を制限状態に制御する。一方、観測行列の行列要素の値が1であれば、当該行列要素に対応する観測行列表示部115の素子の状態を非制限状態に制御する。
制限状態とは、観測部116に伝送する対象信号の量を制限する状態であり、例えば非透過状態である。非制限状態とは、観測部116に伝送する対象信号の量を制限しない状態であり、例えば透過状態である。
ここで、図3及び図4A〜図4Eを参照して、観測行列の行列要素と、観測行列表示部115の素子との対応関係について説明する。以降の図では、ハッチング領域は、素子の状態を制限状態(非透過状態)としたときの画素を表し、白領域は、素子の状態を非制限状態(透過状態)としたときの画素を表す。また、0の値を有する行列要素に対応する素子の状態は制限状態に制御され、1の値を有する行列要素に対応する素子の状態は非制限状態に制御される場合について説明する。
図3は、観測行列の一例を示す。図3に示す観測行列は、2行2列の観測行列である。
この例では、入力部111より、対象信号の縦方向の画素数として2、および対象信号の横方向の画素数として2が入力されたときに生成される観測行列(第二の観測行列)の一例を示している。
観測行列生成部114は、決定されたサイズ(この例では2行2列)の第一の観測行列および第二の観測行列をそれぞれ生成する。
観測行列生成部114は、第一の観測行列を生成する場合、各行列要素の値として、対応する素子を制限状態するために用いる値(この例では、0)とする。
また、観測行列生成部114は、第二の観測行列を生成する場合、各行列要素の値は、所定の確率分布に従う乱数値とする。具体的には、例えば、乱数シード生成部113が生成した乱数シードに基づいて、所定の確率分布に従う乱数を第二の観測行列の行列要素の個数分(この例では4個)、算出し、算出した値を第二の観測行列の行列要素の値とする。
図3では、観測行列の各行列要素は、0又は1の値を有する。
図4Aは、図3で示した2行2列の観測行列に基づいて2x2画素の観測行列表示部115を制御した結果の一例を示す図である。図4Aの例では、例えば、観測行列表示部115を構成する、4個の素子が2行2列の行列状に配列されている。また、4個の素子は、それぞれ、状態を制御することにより素子に対応する画素の透過率が制御される。この図4Aの例では、観測行列の第一の行数及び第一の列数と観測行列表示部115の第二の行数及び第二の列数とが一致しているため、観測行列の4つの行列要素のいずれかと観測行列表示部115の4つの素子(画素)のいずれかとを一対一で対応付けることができる。この例では制御部112は、行番号及び列番号が同じ行列要素と素子とを対応付けている。
制御部112は、第二の観測行列の各行列要素と、観測行列表示部115の各素子との対応付けを行い、第二の観測行列の行列要素の値に基づいて、対応する観測行列表示部115の素子の状態を制御する。
図4Bは、図3で示した2行2列の観測行列に基づいて3x3画素の観測行列表示部115を制御した結果の一例を示す図である。図4Bの例では、例えば、観測行列表示部115を構成する9個の素子が3行3列の行列状に配列されている。また、9個の素子は、それぞれ、状態を制御することにより素子に対応する画素の透過率が制御される。
この図4Bの例では、観測行列の第一の行数及び第一の列数と観測行列表示部115の第二の行数及び第二の列数とが一致していない。そのため、制御部112は、観測行列表示部115の左上の素子を基準とする2行2列に配列された4つの素子(2×2の素子ともいう)のいずれかと、観測行列の4つの行列要素のいずれかとを一対一で対応付ける。その際、制御部112は、対応する行列要素が存在しない、観測行列表示部115の右端及び下端の複数の素子の状態を、予め定めた状態に制御する。予め定めた状態とは、制限状態(非透過状態)である。
制御部112は、第二の観測行列の行列要素の値に基づいて、対応する観測行列表示部115の素子の状態を制御する。
図4Cは、図3で示した2行2列の観測行列に基づいて4x4画素の観測行列表示部を制御した結果の一例を示す図である。図4Cの例では、例えば、観測行列表示部115を構成する16個の素子が4行4列の行列状に配列されている。また、16個の素子は、それぞれ、状態を制御することにより素子に対応する画素の透過率が制御される。
この図4Cの例では、観測行列表示部115の第二の行数及び第二の列数は、観測行列の第一の行数及び第一の列数の2倍である。このとき、観測行列表示部115の2×2の素子を1つのグループとしてまとめてみれば、観測行列表示部115は、4つのグループが2行2列の行列状に配列されていると考えられる。
このように考えれば、観測行列表示部115の4つのグループのいずれかと、観測行列の4つの行列要素のいずれかとを一対一で対応付けることができる。
つまり、制御部112は、観測行列の各行列要素を対応するグループに含まれる複数の素子(この例では、2x2の素子)と対応付ける。
そして、制御部112は、観測行列の各行列要素の値に応じて、当該行列要素に対応するグループに含まれる複数の素子の状態を制御する。
つまり、制御部112は、観測行列に含まれる行列要素の数と観測行列表示部115の複数の素子の数とに基づいて複数の素子をグループ化し、グループ単位で複数の素子の状態を変更する。
観測行列表示部115の複数の素子をグループ化する具体的な処理を以下に説明する。
具体的には、第一の行数より第二の行数が大きい場合に、制御部112は、観測行列表示部115の複数の素子の行列の行を、第一の行数及び第二の行数に基づく数の行からなるグループにグループ化し、同一の行のグループに含まれる同一の列の素子の状態を同一に制御する。第一の行数及び第二の行数に基づく数は、例えば、第一の行数で第二の行数を除算したときの商が示す数(ここでは2(=4/2))である。
また、第一の列数より第二の列数が大きい場合に、制御部112は、観測行列表示部115の複数の素子の行列の列を、第一の列数及び第二の列数に基づく数の列からなるグループにグループ化し、同一の列のグループに含まれる同一の行の素子の状態を同一の状態に制御する。第一の列数及び第二の列数に基づく数は、例えば、第一の列数で第二の列数を除算したときの商が示す数(ここでは2(=4/2))である。
図4Dは、図3で示した2行2列の観測行列に基づいて5x5画素の観測行列表示部115を制御した結果の一例を示す図である。図4Dの例では、例えば、観測行列表示部115を構成する25個の素子が5行5列の行列状に配列されていることを意味する。また、25個の素子は、それぞれ、状態を制御することにより素子に対応する画素の透過率が制御される。
この図4Dの例では、観測行列表示部115の第二の行数及び第二の列数は、観測行列の第一の行数及び第一の列数の2倍にそれぞれ1を足した数である。例えば、図4Dに示す観測行列表示部115の左端及び上端に配列した複数の素子以外の素子は、4×4の素子で構成される。この場合、4×4の素子で構成される部分において、2×2の素子を1つのグループとしてまとめてみれば、観測行列表示部115は、4つのグループが2行2列の行列状に配列されていると考えられる。
このように考えれば、観測行列表示部115の4つのグループのいずれかと観測行列の4つの行列要素のいずれかとを一対一で対応付けることができる。
つまり、制御部112は、観測行列の各行列要素を対応するグループに含まれる複数の素子(この例では、2x2の素子)と対応付ける。その際、制御部112は、対応する行列要素が存在しない、観測行列表示部115の左端及び上端の複数の素子の状態を、予め定めた状態に制御する。予め定めた状態とは、制限状態(非透過状態)である。
そして、制御部112は、観測行列の各行列要素の値に応じて、当該行列要素に対応するグループに含まれる複数の素子の状態を制御する。
観測行列表示部115の複数の素子をグループ化する具体的な処理を以下に説明する。
つまり、第一の行数で第二の行数を除算したときに余りがある場合、制御部112は、観測行列表示部115の複数の素子の行列の行から余りが示す数(ここでは、1(=5%2)ここで%は剰余演算子)の行を除外して残った行を、商(ここでは、2(=5/2))が示す数の行からなるグループにグループ化し、除外された行に含まれる素子の状態を、観測部116に伝送する対象信号の量を制限する制限状態に制御する。また、第一の列数で第二の列数を除算したときに余りがある場合、制御部112は、観測行列表示部115の複数の素子の行列の列から余りが示す数(ここでは、1(=5%2))の列を除外して残った列を、商(ここでは、2(=5/2))が示す数の列からなるグループにグループ化し、除外された列に含まれる素子の状態を、観測部116に伝送する対象信号の量を制限する制限状態に制御する。
図4Eは、図3で示した2行2列の観測行列に基づいて6x6画素の観測行列表示部115を制御した結果の一例を示す図である。図4Eの例では、例えば、観測行列表示部115を構成する36個の素子が6行6列の行列状に配列されている。また、36個の素子は、それぞれ、状態を制御することにより素子に対応する画素の透過率が制御される。
この図4Eの例では、観測行列表示部115の第二の行数及び第二の列数は、観測行列の第一の行数及び第一の列数の3倍である。観測行列表示部115の3×3の素子を1つのグループとしてまとめてみれば、観測行列表示部115は、4つのグループが2行2列の行列状に配列されていると考えられる。
このように考えれば、観測行列表示部115の4つのグループのいずれかと、観測行列の4つの行列要素のいずれかとを一対一で対応付けることができる。
つまり、制御部112は、観測行列の各行列要素を対応するグループに含まれる複数の素子(この例では3x3の素子)と対応付ける。
そして、制御部112は、観測行列の各行列要素の値に応じて、対応するグループに含まれる複数の素子を制御する。
なお、図4A〜図4Eは、観測行列表示部115の制御結果の一例であり、これに限定されない。観測行列の第一の行数及び第一の列数、並びに観測行列表示部115の第二の行数、第二の列数が特定できれば、上述の考えを適用することにより、観測行列に基づいて、観測行列表示部115を構成する素子の状態を制御することができる。
また、例えば、図4B又は図4Dにおいて、必ずしも左上又は右下の素子を基準に観測行列の行列要素と観測行列表示部115の素子とが対応付けられなくてもよい。例えば、左上又は右下の素子の代わりに、右上、左下又は中央の素子を基準に観測行列の行列要素と観測行列表示部115の素子とが対応付けられてもよい。また、ユーザから指示された位置の素子を基準に、観測行列の行列要素と観測行列表示部115の素子とが対応付けられてもよい。
なお、第一の観測行列を用いて、観測行列表示部115の各素子を制御するには、上述の説明を適用すればよい。
観測部116は、例えば、単一の検出器で構成される。検出器とは、例えば、光センサ(例えば、フォトダイオード)で構成される。観測部116は、観測行列表示部115を介して観測部116に伝送された対象信号の量を複数回観測する。具体的には、観測部116は、観測行列表示部115が第一の制御又は第二の制御によって制御されるたびに、観測行列表示部115を介して伝送された対象信号の量を測定する(または観測するともいう)。また、観測部116で、測定される対象信号の量を対象信号の観測値ともいう。
通信部117は、第一の制御を用いて観測された対象信号の観測値と、第二の制御を用いて観測された対象信号の観測値との差分値を圧縮信号として、信号復元装置120へ送信する。具体的には、通信部117は、第一の制御で観測行列表示部115が制御されたときに観測部116で観測された対象信号の観測値と、第二の制御で観測行列表示部115が制御されたときに観測部116で観測された対象信号の観測値との差分値を圧縮信号として信号復元装置120へ送信する。
また、通信部117は、当該第二の制御で用いられた第二の観測行列の生成に利用した乱数シードを差分値とともに信号復元装置120へ送信する。例えば、通信部117は、差分値と乱数シードとをセットにしたデータセットを信号復元装置120へ送信する。さらに、通信部117は、観測行列の第一の行数及び第一の列数(または、対象信号の縦の画素数および横の画素数)と、観測回数とを信号復元装置120へ送信する。
信号復元装置120は、例えば、信号観測装置110から受信した圧縮信号及び乱数シードに基づいて、対象信号を復元する。より具体的には、信号復元装置120は、受信した複数のデータセットのそれぞれに含まれる圧縮信号及び乱数シードに基づいて、対象信号を復元する。
信号復元装置120は、入力部121、制御部122、通信部123、復元行列生成部124、復元部125、及び、出力部126を備える。
入力部121は、ユーザからの入力を受け、当該入力を制御部122に伝達する。例えば、入力部121はキーボードやタッチパネルである。
制御部122は、入力部121から情報を得て、通信部123、復元行列生成部124、復元部125、及び、出力部126を制御する。なお、制御部122は、制御部112と同様に、制御機能を備えるものであればよく、どのように実現されてもよい。
通信部123は、信号観測装置110から圧縮信号を含む情報を受信する。具体的には、通信部123は、信号観測装置110から、対象信号の画素数(観測行列の第一の行数及び第一の列数)と、観測回数とを受信する。また、通信部123は、信号観測装置110から、乱数シード及び差分値を含むデータセットを複数受信する。
復元行列生成部124は、対象信号の画素数、観測回数、及び、複数のデータセットのそれぞれに含まれる乱数シードに基づき、複数の第二の観測行列を生成する。復元行列生成部124は、信号観測装置110の観測行列生成部114が生成した複数の第二の観測行列のそれぞれと同一の第二の観測行列を生成する。つまり、復元行列生成部124は、同一の乱数シードに対しては、観測行列生成部114と同一の第二の観測行列を生成することができる。そして、復元行列生成部124は、生成した複数の第二の観測行列を用いて、圧縮信号から対象信号を復元するための復元行列を生成する。
復元部125は、復元行列生成部124が生成した復元行列と、観測行列の第一の行数及び第一の列数と、観測回数と、複数のデータセットに含まれる圧縮信号としての差分値と、基底行列と、に基づき、対象信号を復元する。ここで、基底行列は、信号観測装置110で観測した対象信号がスパース性を示す空間の基底行列である。なお、ここでの復元処理は、圧縮センシングで広くつかわれているシンプレックス法や内点法などの公知の手法が利用されればよい(例えば非特許文献1を参照)。
出力部126は、復元部125が復元した対象信号を出力する。
以上が、本実施の形態に係る圧縮信号観測システムの構成についての説明である。
[信号観測システムの動作]
次に、本実施の形態に係る信号観測システムの動作を、図5〜図12を参照して具体的に説明する。
[信号観測処理]
まず、信号観測装置110による信号観測処理について図5〜図9Cを参照して具体的に説明する。
図5は、信号観測装置110による信号観測処理の一例を示すフローチャートである。図6は、信号観測装置110の初期設定処理の一例を示すフローチャートである。具体的には、図6は、図5のステップS101の詳細を示す。
図5に示すように、信号観測装置110は、信号観測のための初期設定を行う(S101)。具体的には、図6に示すように、制御部112は、入力部111を介してユーザから、観測行列表示部115の横の画素数(以後DevWともいう)と、縦の画素数(以後DevHともいう)の入力を受け、DevW及びDevHの設定を行う(S201)。DevWは、観測行列表示部115を構成する行列状に配列された複数の素子の列の数(第二の列数)に相当する。また、DevHは、観測行列表示部115を構成する行列状に配列された複数の素子の行の数(第二の行数)に相当する。
また、制御部112は、入力部111を介してユーザから、対象信号の縦の画素数(以後PicHともいう)と、対象信号の横の画素数(以後PicWともいう)との入力を受け、PicH及びPicWの設定を行う(S202)。PicWは、観測行列の列の数(第一の列数)に相当し、PicHは、観測行列の行の数(第一の行数)に相当する。
さらに、制御部112は、入力部111を介してユーザから、圧縮率(以後ρともいう)の入力を受け、ρを設定する(S203)。制御部112は、PicH、PicW及びρから観測回数(以後Mともいう)を算出し設定する(S204)。
そして、通信部117は、PicH、PicW、及び、Mを信号復元装置120へ送信する(S205)。制御部112は、観測回数をカウントするための観測回数カウンタiの値を0で初期化する(S206)。
このように初期設定が行われた後、観測行列生成部114は、第一の観測行列を生成する(S102)。この第一の観測行列は、PicWxPicHの行数及び列数を有する行列であって、行列要素の全ての値が0である行列である。
制御部112は、生成された第一の観測行列の行列要素と、観測行列表示部115を構成する素子との対応付けを行う。対応付けに関しては、図3、図4A〜図4Eを用いて説明をしたとおりである。なお、第一の観測行列の行列要素との対応付けがなされなかった観測行列表示部115の素子がある場合、制御部112は、この素子の状態を予め定めた状態に制御する。予め定めた状態とは制限状態(非透過状態)である。
制御部112は、第一の観測行列に基づいて、観測行列表示部115の各画素を制御する(S103)。
観測行列表示部115の各画素を制御するとは、第一の観測行列に基づいて観測行列表示部115の各素子を制御することで、各素子に対応する画素の透過率を制御することである。
このステップS103における第一の観測行列に基づく観測行列表示部115の各素子の制御を第一の制御という。例えば、第一の観測行列を構成する各行列要素の値が一様に0となる場合、制御部112は、観測行列表示部115の各画素に対応する素子の状態を制限状態に制御する。観測部116は、ステップS103における第一の制御によって観測行列表示部115が制御されている間に観測行列表示部115を介して伝送された対象信号を観測する(S104)。
続いて、制御部112は、第二の観測行列に基づいて、観測行列表示部115の各素子を制御する。具体的には、制御部112は、観測回数Mと観測回数カウンタiとを比較する(S105)。iがM以上である場合(S105のN)、信号観測装置110は信号観測処理を終了する。
iがMより小さい場合(S105のY)、乱数シード生成部113は、乱数シードを生成する(S106)。次に、観測行列生成部114は、PicWxPicHの行数及び列数を有する行列であって、この行列に含まれる各行列要素の値を生成された乱数シードに基づき算出した乱数値とする第二の観測行列を生成する(S107)。制御部112は、生成された第二の観測行列の行列要素と、観測行列表示部115を構成する素子との対応付けを行う。対応付けに関しては、図3、図4A〜図4Eを用いて説明をしたとおりである。制御部112は、生成された第二の観測行列の各行列要素の値に基づき、観測行列表示部115の各素子を制御する。なお、第二の観測行列の行列要素との対応付けがなされなかった観測行列表示部115の素子がある場合、制御部112は、この素子を制限状態(非透過状態)に制御する(S108)。このステップS108における第二の観測行列に基づく観測行列表示部115の各素子の制御を第二の制御という。観測部116は、ステップS108における第二の制御によって観測行列表示部115の各素子の状態が制御されている間に、観測行列表示部115を介して伝送された対象信号を観測する(S109)。制御部112は、ステップS109で観測された対象信号の観測値から、ステップS104で観測された対象信号の観測値を減算することにより、差分値を算出する(S110)。通信部117は、ステップS106で生成された乱数シードと、ステップS110で算出された差分値とをセットにしたデータセットを信号復元装置120へ送信する(S111)。そして、観測回数カウンタiの値がインクリメントされ(S112)、ステップS105へ戻る。
なお、観測回数カウンタiが観測回数M以上になるまで、ステップS105〜ステップS112が繰り返し行われることにより、第二の観測行列はM個生成されることになる。そして、M個のデータセットが信号復元装置120へ送信されることになる。
このときステップS106を実行するたびに、異なる乱数シードが生成されるのであれば、生成されるM個の第二の観測行列は、互いに異なることが期待できる。
以上が図5に示した信号観測装置110の信号観測処理の手順である。本実施の形態では、図5に示すように、複数回の観測のうち最初の観測で第一の制御が適用される。
図7は、観測行列生成部114による観測行列生成処理の一例を示すフローチャートである。具体的には、図7は、図5のステップS107の詳細を示す。
図7に示すように、観測行列生成部114は、入力部111から入力された対象信号の縦の画素数PicH及び横の画素数PicWを用いて、第二の観測行列の行列要素の総数Nを算出する(S301)。次に、観測行列生成部114は、乱数シード生成部113が生成した乱数シードを用いて、ベルヌーイ分布に従う、0又は1の値を有するN個の乱数を生成する(S302)。そして、観測行列生成部114は、生成したN個の乱数をラスター順に並べて、PicW行PicH列の第二の観測行列を生成する(S303)。
なお、ここでは、観測行列生成部114は、ベルヌーイ分布に従う乱数を生成したが、正規分布あるいはその他の確率分布に従う乱数を生成してもよい。また、乱数がとる値は、0又は1であったが、その他の値でもよい。
以上が図7に示した、観測行列生成部114の観測行列生成処理の手順である。
図8は、観測行列表示部115の制御処理の一例を示すフローチャートである。具体的には、図8は、図5のステップS103及びステップS108の詳細を示す。
図8に示すように、制御部112は、入力部111から入力された観測行列表示部115の横の画素数DevW及び対象信号の横の画素数PicWを用いて、観測行列の各行列要素の横方向の複製数(以後NumWともいう)を算出する。同様に、制御部112は、観測行列表示部115の縦の画素数DevH及び対象信号の縦の画素数PicHを用いて、観測行列の各要素の縦方向の複製数(以後NumHともいう)を算出する(S401)。
次に、制御部112は、処理対象の観測行列の要素の行番号を示すカウンタjを0で初期化する(S402)。次に、制御部112は、カウンタjが、対象信号の縦の画素数PicHより小さいか否かを判定する(S403)。
ここで、カウンタjが縦の画素数PicH以上である場合(S403のN)、観測行列表示部115の制御処理を終了する。一方、カウンタjが縦の画素数PicHより小さい場合は(S403のY)、処理対象の観測行列の要素の列番号を示すカウンタiiを0で初期化する(S404)。次に、カウンタiiが、対象信号の横の画素数PicWより小さいか否かを判定する(S405)。
ここで、カウンタiiが横の画素数PicW以上である場合(S405のN)、カウンタjは、インクリメントされ(S412)、ステップS403に戻る。一方、カウンタiiが横の画素数PicWより小さい場合は(S405のY)、制御部112は、観測行列表示部115の画素の縦方向の複製数のためのカウンタmを0で初期化する(S406)。次に、制御部112は、カウンタmがNumHよりも小さいか否かを判定する(S407)。
ここで、カウンタmがNumH以上である場合(S407のN)、カウンタiiがインクリメントされ(S413)、ステップS405に戻る。一方、カウンタmがNumHより小さい場合は(S407のY)、制御部112は、観測行列表示部115の画素の横方向の複製数のためのカウンタnを0で初期化する(S408)。次に、制御部112は、カウンタnがNumWよりも小さいか否かを判定する(S409)。
ここで、カウンタnがNumW以上である場合(S409のN)、カウンタmはインクリメントされ(S414)、ステップS407に戻る。一方、カウンタnがNumWより小さい場合は(S409のY)、観測行列(第一の観測行列又は第二の観測行列)のj行ii列目の要素の値を用いて、観測行列表示部115の(j×NumH+m)行(ii×NumW+n)列目の画素(または素子の状態)を制御する(S410)。次に、カウンタnがインクリメントされ(S411)、ステップS409に戻る。
以上が図8に示した、観測行列表示部115の制御処理の手順である。以上の処理により、観測行列の第一の行数及び第一の列数と、観測行列表示部115の画素の第二の行数及び第二の列数との関係に応じて、図4A〜図4Eを用いて説明をした方法を適用することで観測行列表示部115の各素子が制御される。
図9Aは、第二の観測行列に基づく観測行列表示部115の制御結果の一例を示す図である。図9Bは、第一の観測行列に基づく観測行列表示部115の制御結果の一例を示す図である。
図9A及び図9Bでは、観測行列(第一の観測行列及び第二の観測行列)は、64行64列の行列要素を有する。また、観測行列表示部115は、64行64列の画素を有する。つまり、観測行列表示部115を構成する複数の素子が64行64列の行列状に配列されている。
したがって、観測行列の行列要素と、観測行列表示部115の画素とは、一対一で対応している。図9A及び図9Bでは、行列要素の値が「0」であれば、観測行列表示部115の対応する画素は、制限状態であり、可視光を透過しないので黒で表されている。また、行列要素の値が「1」であれば、観測行列表示部115の対応する画素は、非制限状態であり、可視光を透過するので白色で表されている。
なお、行列要素の値と画素の状態との対応関係は、これに限らない。例えば、「0」が非制限状態に対応し、「1」が制限状態に対応してもよい。
図9Cは、第二の観測行列に基づく観測行列表示部115の制御結果の他の一例を示す図である。図9Cでは、観測行列(第一の観測行列及び第二の観測行列)は、図9Aと同様に64行64列を有する。一方、観測行列表示部115は、700行700列の画素を有する。ここでは、観測行列表示部115の中心部の640x640画素が、64行64列の観測行列の行列要素に対応付けられている。
[信号復元処理]
次に、信号復元装置120における信号復元処理について、図10〜図12を参照して具体的に説明する。
図10は、信号復元装置120による信号復元処理の一例を示すフローチャートである。
図10に示すように、通信部123は、信号観測装置110から設定値を受信する(S501)。具体的には、通信部123は、対象信号の縦の画素数PicH及び横の画素数PicW、並びに、観測回数Mを信号観測装置110から受信する。次に、制御部122は、PicH及びPicWの設定を行う(S502)。さらに、制御部122は、信号観測装置110から受信した観測回数Mの設定を行う(S503)。
そして、制御部122は、観測信号がスパース性を示す空間への射影のための基底行列φを入力部121から取得する(S504)。なお、基底行列φは、必ずしも入力部121から取得されなくてもよく、予め制御部122に保持された基底行列φを取得してもよい。基底行列φは、例えば、離散コサイン変換基底、フリーエ変換基底などである。
次に、通信部123は、信号観測装置110からデータセットを受信する(S505)。次に、復元行列生成部124は、受信したデータセットに基づいて復元行列を生成する(S506)。そして、復元部125は、ステップS504で受信したデータセットとステップS506で生成した復元行列を用いて復元処理を実施する(S507)。
具体的には、復元部125は、s=Feに基づいて対象信号eを復元する。ここで、sは、受信された複数のデータセットに含まれる複数の観測値からなる観測ベクトル(つまり、圧縮信号)である。また、Fは、復元行列である。
ただし、対象信号eは必ずしもスパースな信号とは限らない。対象信号eがスパースではない場合は、対象信号eがスパース性を示すような空間に基底行列φを用いて射影することでスパース性を持たせる必要がある。具体的には、e’=φeという計算で対象信号eをスパース性をもつe’に変換する。つまり、s=Fe=(Fφ-1)e’とすることで、スパース性を持たない対象信号eでも、基底行列φを用いることでスパース性を持つ信号e’に変換し、スパース性を信号の復元に利用することが可能になる。ここで、φ-1は、基底行列φの逆行列である。このようにして、復元部125は、基底変換後の対象信号e’のスパース性を利用して、s=Fe=(Fφ-1)e’を解くことにより対象信号eを復元する。
以上が、図10に示した信号復元装置120の信号復元処理の手順である。
図11は、通信部123によるデータセット受信処理の一例を示すフローチャートである。具体的には、図11は、図10のステップS505の詳細を示す。
図11に示すように、通信部123は、まず、信号観測装置110から受信したデータセットの数をカウントするためのカウンタiを0で初期化する(S601)。次に、通信部123は、データセットを受信する(S602)。データセットは、信号観測装置110の観測部116が第二の観測行列を生成するために利用した乱数シード、及び、その第二の観測行列を用いて観測した観測値と第一の観測行列を用いて観測した観測値との差分値を含んでいる。
そして、通信部123は、カウンタiをインクリメントする(S603)。次に、通信部123は、前のデータセットを受信してから一定時間が経過したかどうかを判定する(S604)。ここでの一定時間は、データセット受信待ちのための閾値時間を表す。一定時間は、入力部121がユーザから入力を受けてもよいし、制御部122によって予め設定されていてもよい。
一定時間が経過していなければ(S604のN)、受信すべきデータセットの個数と一致する観測回数Mが、カウンタiよりも大きいか否かが判定される(S605)。ここで、Mがi以下である場合(S605のN)、又は、一定時間が経過している場合(S604のY)、通信部123は、実際に受信したデータセット数としてカウンタiを設定する(S606)。Mがiよりも大きい場合(S605のY)、ステップS602に戻る。
以上が、通信部123のデータセット受信処理の手順である。
図12は、復元行列生成部124による復元行列生成処理の一例を示すフローチャートである。具体的には、図12は、図10のステップS506の詳細を示す。
図12に示すように、復元行列生成部124は、通信部123が受信した対象信号の縦の画素数PicH及び横の画素数PicWから復元行列の列数Rを算出する(S701)。この例では、復元行列の列数RをPicH×PicWとする。そして、復元行列生成部124は、図11のステップS605で設定されたデータセット数を、復元行列の行数Cとして設定する(S702)。
次に、復元行列生成部124は、復元行列の行数をカウントするためのカウンタiを0で初期化する(S703)。次に、復元行列生成部124は、通信部123がi番目に受信したデータセットに含まれる乱数シードを用いて、ベルヌーイ分布に従う、0又は1の値を有するR個の乱数を生成する(S704)。復元行列生成部124は、生成したR個の乱数を復元行列のi行目に採用する(S705)。そして、復元行列生成部124は、カウンタiをインクリメントする(S706)。次に、復元行列生成部124は、カウンタiが復元行列の行数Cよりも小さいかどうかを判定する(S707)。カウンタiが復元行列の行数C以上であれば(S707のN)、復元行列生成処理を終了する。カウンタiが復元行列の行数Cよりも小さければ(S707のY)、ステップS704に戻る。
以上が、図12に示した復元行列生成部124の復元行列生成処理の手順である。
以上のような信号観測システム100による実験結果を図13A及び図13Bを参照して説明する。
図13Aは、実験で用いた被写体99を示す図である。図13Bは、実験で復元された画像を示す図である。実験では、図13Aに示すように、被写体99に日本語のかな文字「あ」が表されている。この被写体99からの光を、図9Cのように制御された観測行列表示部115を介して観測部116が複数回観測した。複数の第二の観測行列を用いた複数回の観測によって得られた複数の観測値の各々と第一の観測行列を用いた観測によって得られた観測値との差分値を用いて、被写体99を示す画像が図13Bに示すように復元された。
[効果]
以上のように、本実施の形態に係る信号観測システム100によれば、予め定められたパターンの第一の観測行列を用いた第一の制御と、乱数シードに基づく第二の観測行列を用いた第二の制御とを選択的に用いて、複数回の観測を行うことができる。したがって、第一の制御によって得られた対象信号の観測値と、第二の制御によって得られた対象信号の観測値との差分値を求めることでき、その差分値を用いて対象信号を復元することが可能となる。その結果、複数回の観測における観測行列による観測値の変化を強調して対象信号の復元を行うことができ、ノイズによる信号の劣化を抑制することができる。
また、本実施の形態に係る信号観測システム100によれば、最初の観測で第一の制御を適用することができる。したがって、後続する第二の制御を用いた観測では、既に第一の制御を用いた観測値が得られているので、差分値をすぐに求めることができ、観測値のためのバッファを減少させることができる。
また、本実施の形態に係る信号観測システム100によれば、信号観測装置110において差分値を算出することができる。したがって、信号復元装置120において差分値を算出する必要がなく、対象信号の復元を容易にすることができる。さらに、信号観測装置110から信号復元装置120への通信量を削減することもできる。
また、本実施の形態に係る信号観測システム100によれば、入力部から得られた第一の行数及び第一の列数から決定されるサイズの複数の観測行列に基づいて複数の素子の各々の状態を変更することできる。つまり、観測行列表示部115の行数及び列数に固定されずに、観測行列のサイズを任意に設定することができる。対象信号の画素数は、観測行列のサイズに依存する。したがって、観測行列表示部115の画素数に依存せずに、復元後の対象信号の画素数を設定することが可能となり、復元後の画像の解像度に対する観測の柔軟性を向上させることができる。
また、本実施の形態に係る信号観測システム100によれば、観測行列表示部115の複数の素子をグループ化し、グループ単位で複数の素子の状態を変更することにより、観測行列の行列要素の数と観測行列表示部115の素子(画素)の数とが異なる場合であっても、観測行列に基づいて観測行列表示部115の各素子を制御することができる。その結果、任意の画素数で対象信号を復元することができ、復元後の画像の解像度に対する観測の柔軟性を向上させることができる。
また、本実施の形態に係る信号観測システム100によれば、乱数シードと、当該乱数シードに基づいて生成された第2の観測行列に基づいて観測行列表示部115の各素子を制御している間に観測部116で観測された対象信号の量から第1の観測行列に基づいて観測行列表示部115の各素子を制御している間に観測部116で観測された対象信号の量を減算することで得られる差分値(圧縮信号)とをセットにしたデータセットを信号観測装置110から信号復元装置120へ送信することができる。また異なる乱数シードに基づいて第二の観測行列を生成することで行列要素の値の異なる第二の観測行列を複数生成することができる。乱数シードと差分値とをセットにしたデータセットを信号観測装置110から信号復元装置120へ複数、送信することができる。したがって、通信途中で一部のデータセットが失われた場合でも、受信できたデータセットのみを用いて復元行列を生成することができるので、エラー耐性を向上させることができる。
また、本実施の形態に係る信号観測システム100によれば、第二の観測行列をそのまま送信せずに、第二の観測行列を生成するために利用した乱数シードを送信することができる。したがって、観測行列のための通信量及び記憶容量を削減することができる。
(実施の形態2)
次に、実施の形態2について説明する。本実施の形態では、予め定められたパターンの第一の観測行列に基づく第一の制御が複数回の観測のうちの真ん中の観測で適用される点が、実施の形態1と異なる。以下、本実施の形態について、実施の形態1と異なる点を中心に説明する。
本実施の形態に係る信号観測システムの構成は、図2に示す実施の形態1に係る信号観測システムの構成と実質的に同一であるので、図示及び説明を省略する。
[信号観測システムの動作]
本実施の形態に係る圧縮信号観測システムの動作を、図14を参照して具体的に説明する。
図14は、実施の形態2における信号観測装置110による信号観測処理の一例を示すフローチャートである。図14において、図5と同一又は類似の処理を行うステップには、同一の符号を付し、適宜説明を省略する。
初期設定が行われた後(S101)、制御部112は、観測回数Mと観測回数カウンタiとを比較する(S105)。iがMより小さい場合(S105のY)、制御部112は、観測回数カウンタiを観測回数Mの半分で除したときの余りが0であり、かつ、iが0より大きいか否かを判定する(S801)。つまり、制御部112は、i回目の観測が、M回の観測のうちの真ん中の観測であるか否かを判定する。
ここで、観測回数カウンタiを観測回数Mの半分で除したときの余りが0であり、かつ、iが0より大きい場合(S801のY)、第一の観測行列を用いた観測のための処理が実行される(S102〜S104)。一方、観測回数カウンタiを観測回数Mの半分で除したときの余りが0でない、又は、iが0である場合(S801のN)、第一の観測行列を用いた観測のための処理をスキップして、第二の観測行列を用いた観測のための処理が実行される(S106〜S109)。つまり、Mが偶数の場合には、M回の観測のうちM/2回目の観測の際に第一の観測行列を用いた観測が行われる。すなわち、複数回の観測のうち真ん中の観測で、第一の制御が適用される。その後、観測回数カウンタiの値がインクリメントされ(S112)、ステップS105へ戻る。
iがM以上である場合(S105のN)、制御部112は、ステップS109でM回観測された対象信号の観測値の各々から、ステップS104で観測された対象信号の観測値を減算することにより、M個の差分値を算出する(S110)。通信部117は、ステップS106で生成された乱数シードと、ステップS110で算出された差分値とをセットにしたM個のデータセットを信号復元装置120へ送信する(S111)。
以上が図14に示した信号観測装置110の信号観測処理の手順である。
[効果]
以上、本実施の形態に係る信号観測装置110によれば、真ん中の観測で第一の制御を適用することができる。したがって、複数回の観測において、実施の形態1よりも時間的に近い観測値同士で差分値を求めることができ、経時変化に伴うノイズの影響を抑制することができる。
(実施の形態3)
次に、実施の形態3について説明する。本実施の形態では、予め定められたパターンの第一の観測行列に基づく第一の制御が複数回の観測のうちの所定回毎の観測で適用される点が、実施の形態1と異なる。以下、本実施の形態について、実施の形態1と異なる点を中心に説明する。
本実施の形態に係る信号観測システムの構成は、図2に示す実施の形態1に係る信号観測システムの構成と実質的に同一であるので、図示及び説明を省略する。
[信号観測システムの動作]
本実施の形態に係る信号観測システムの動作を、図15を参照して具体的に説明する。
図15は、実施の形態3に係る信号観測装置110の信号観測処理の一例を示すフローチャートである。図15において、図5と同一又は類似の処理を行うステップには、同一の符号を付し、適宜説明を省略する。
初期設定が行われた後(S101)、制御部112は、観測回数Mと観測回数カウンタiとを比較する(S105)。ここで、iがM以上である場合(S105のN)、信号観測装置110は信号観測処理を終了する。一方、iがMより小さい場合(S105のY)、制御部112は、観測回数カウンタiを10で除したときの余りが0であるか否かを判定する(S901)。つまり、制御部112は、i回目の観測が、M回の観測のうちの所定回数(ここでは10)周期の観測であるか否かを判定する。なお、本実施の形態では、所定回数を10として説明するがこれに限定をされるものではない。また、所定回数は、Mよりも小さい。
ここで、観測回数カウンタiを10で除したときの余りが0である場合(S901のY)、制御部112は、第一の観測行列を用いた観測のための処理を実行する(S102〜S104)。一方、観測回数カウンタiを10で除したときの余りが0でない場合(S901のN)、第一の観測行列を用いた観測のための処理をスキップして、第二の観測行列を用いた観測のための処理が実行される(S106〜S109)。つまり、複数回の観測のうち、所定回数(ここでは10回)毎の観測で、第一の制御が適用される。
その後、制御部112は、ステップS109で観測された対象信号の観測値から、ステップS104で観測された対象信号の観測値を減算することにより差分値を算出する(S110)。通信部117は、ステップS106で生成された乱数シードと、ステップS110で算出された差分値とをセットにしたデータセットを信号復元装置120へ送信する(S111)。その後、観測回数カウンタiの値がインクリメントされ(S112)、ステップS105へ戻る。
以上が図15に示した信号観測装置110の信号観測処理の手順である。
[効果]
以上、本実施の形態に係る信号観測装置110によれば、所定回数毎の観測で第一の制御を適用することができる。したがって、複数回の観測において、比較的時間的に近い観測値同士で差分値を求めることができ、経時変化に伴うノイズの影響を抑制することが可能となる。
(実施の形態4)
次に、実施の形態4について説明する。本実施の形態では、複数回の観測において、第一の制御と第二の制御とが交互に適用される点が、実施の形態1と異なる。以下、本実施の形態について、実施の形態1と異なる点を中心に説明する。
(構成)
本実施の形態に係る信号観測システムの構成は、図2に示す実施の形態1に係る信号観測システムの構成と実質的に同一であるので、図示及び説明を省略する。
[信号観測システムの動作]
本実施の形態に係る信号観測システムの動作を、図16を参照して具体的に説明する。
図16は、実施の形態4に係る信号観測装置110の信号観測処理の一例を示すフローチャートである。図16において、図5と同一又は類似の処理を行うステップには、同一の符号を付し、適宜説明を省略する。
初期設定が行われた後(S101)、制御部112は、観測回数Mと観測回数カウンタiとを比較する(S105)。ここで、iがM以上である場合(S105のN)、信号観測装置110は信号観測処理を終了する。一方、iがMより小さい場合(S105のY)、制御部112は、第一の観測行列を用いた観測のための処理を実行する(S102〜S104)。その後、第二の観測行列を用いた観測のための処理が実行される(S106〜S109)。つまり、複数回の観測において、第一の制御及び第二の制御が交互に適用される。
その後、制御部112は、ステップS109で観測された対象信号の観測値から、ステップS104で観測された対象信号の観測値を減算することにより差分値を算出する(S110)。通信部117は、ステップS106で生成された乱数シードと、ステップS110で算出された差分値とをセットにしたデータセットを信号復元装置120へ送信する(S111)。その後、観測回数カウンタiの値がインクリメントされ(S112)、ステップS105へ戻る。
以上が図16に示した信号観測装置110の信号観測処理の手順である。
[効果]
以上、本実施の形態に係る信号観測装置110によれば、第一の制御及び第二の制御を交互に適用することができる。したがって、複数回の観測において、時間的に隣り合う観測値同士で差分値を求めることができ、経時変化に伴うノイズの影響を抑制することが可能となる。
(実施の形態5)
次に、実施の形態5について説明する。本実施の形態では、乱数シードの代わりに乱数の識別番号が信号観測装置から信号復元装置に送信される点が、実施の形態1と異なる。以下、本実施の形態について、実施の形態1と異なる点を中心に説明する。
[信号観測システムの構成]
図17は、実施の形態5における信号観測システム200の構成の一例を示すブロック図である。信号観測システム200は、信号観測装置210、及び、信号復元装置220を備える。図17において、図1と実質的に同一の構成要素については同じ符号を付し、説明を適宜省略する。
信号観測装置210は、圧縮センシングを用いて観測の対象となる対象信号を複数回観測し、観測結果として圧縮信号を出力する。
信号観測装置210は、入力部111、制御部112、観測行列記憶部211、観測行列生成部212、観測行列表示部115、観測部116、及び、通信部117を備える。
観測行列記憶部211は、ハードディスクドライブなどの記憶装置である。観測行列記憶部211は、乱数列を記憶している。また、観測行列記憶部211は、識別番号と、乱数列の読み出し開始位置を示すアドレスとの対応関係を示す情報を記憶している。
図18は、識別番号とアドレスとの対応関係を示す情報の一例を示す図である。図18では、識別番号と一対一で観測行列記憶部211のアドレスが対応しており、それぞれのアドレスに対応した乱数が表されている。1つのアドレスは、1ビット単位の位置を示す。観測行列記憶部211には、例えば、ビッグエンディアンでデータが格納されている。例えば図18では、識別番号「0」で18個の乱数が読み出される場合は、アドレス「0」の最上位ビットから順に18個の乱数が読み出される。つまり、「010010001101101000」が読み出される。なお、ここでは、識別番号と対応するアドレスは8ビット単位であるが、1ビット単位でもその他の単位でもよい。
観測行列生成部212は、入力部111へ入力された対象信号の画素数(行数及び列数)、及び、識別番号に基づき、観測行列記憶部211から複数の乱数を読み出し、第二の観測行列を生成する。また、観測行列生成部212は、実施の形態1の観測行列生成部114と同様に、予め定められたパターンの第一の観測行列を生成する。
信号復元装置220は、信号観測装置210が出力した圧縮信号及び識別番号から対象信号を復元する。
信号復元装置220は、入力部121、制御部122、通信部123、観測行列記憶部221、復元行列生成部222、復元部125、及び、出力部126を備える。
観測行列記憶部221は、ハードディスクドライブなどの記憶装置である。観測行列記憶部221は、信号観測装置210の観測行列記憶部211と同じ乱数列を記憶している。また、観測行列記憶部221は、観測行列記憶部211と同様に、識別番号に対応付けて、乱数列の読み出し開始位置を示すアドレスを記憶している。つまり、同一の識別番号が用いられれば、観測行列記憶部211及び観測行列記憶部221から同一の乱数を読み出すことができる。
例えば、信号観測装置210から受信した行列識別子が0であり、かつ、復元行列列数が18列である場合は、図18を参照して、アドレス0の最上位ビットから順に18個の乱数が読み出される。つまり、「010010001101101000」が読み出される。
復元行列生成部222は、信号観測装置210から受信した対象信号の画素数、観測回数、及び、識別番号に基づいて、観測行列記憶部221から複数の乱数を読み出し、第二の観測行列を生成する。そして、復元行列生成部222は、実施の形態1の復元行列生成部124と同様に、複数の第二の観測行列を用いて、対象信号を復元するための復元行列を生成する。
[圧縮信号観測システムの動作]
次に、以上のように構成された本実施の形態に係る圧縮信号観測システムの動作を図19〜図21を参照して具体的に説明する。
図19は、実施の形態5における信号観測装置210による信号観測処理の一例を示すフローチャートである。図19において、図5と同一又は類似の処理を行うステップには、同一の符号を付し、適宜説明を省略する。
図19に示すように、観測行列生成部212は、図5における乱数シードの生成に代えて、識別番号を決定する(S1001)。例えば、観測行列生成部212は、観測回数カウンタiの値を識別番号と決定する。観測行列生成部212は識別番号に基づいて第二の観測行列を生成する(S1002)。
制御部112は、生成された第二の観測行列に基づき、観測行列表示部115の各素子を制御する(S108)。つまり、制御部112は、第二の制御を実行する。観測部116は、ステップS108における第二の制御が実行されている間に、観測行列表示部115を介して伝送される対象信号の量を観測する(S109)。制御部112は、ステップS109で観測された対象信号の観測値から、ステップS104で観測された対象信号の観測値を減算することにより、差分値を算出する(S110)。通信部117は、ステップS1001で決定された識別番号と、ステップS110で算出された差分値とをセットにしたデータセットを信号復元装置220へ送信する(S1003)。そして、観測回数カウンタiの値がインクリメントされ(S112)、ステップS105へ戻る。
以上が図19に示した信号観測装置210の信号観測処理の手順である。
図20は、観測行列生成部212による観測行列生成処理の一例を示すフローチャートである。具体的には、図20は、図19のステップS1002の詳細を示す。
図20に示すように、観測行列生成部212は、入力部111から入力された観測信号の縦の画素数PicH及び横の画素数PicWを用いて、第二の観測行列の要素数Nを算出する(S1101)。次に、観測行列生成部212は、識別番号を用いて、観測行列記憶部211からN個の乱数を読み出す(S1102)。具体的には、観測行列生成部212は、識別番号に対応するアドレスから乱数の読み出しを開始し、N個の乱数を観測行列記憶部211から読み出す。そして、観測行列生成部212は、読み出されたN個の乱数をラスター順に並べて、PicW行PicH列の第二の観測行列を生成する(S1103)。
以上が図20に示した、観測行列生成部212の観測行列生成処理の手順である。
図21は、復元行列生成部222による復元行列生成処理の一例を示すフローチャートである。図21は、図10のステップS506の詳細を示す。図21において、図12と同一又は類似の処理を行うステップには、同一の符号を付し、適宜説明を省略する。
図21に示すように、カウンタiが0で初期化された後(S703)、復元行列生成部222は、通信部123がi番目に受信した識別番号に対応する観測行列記憶部221のアドレスを導出する(S1201)。復元行列生成部222は、導出したアドレスから連続するアドレスに格納されたR個の乱数を読み出す(S1202)。復元行列生成部222は、読み出したR個の乱数を復元行列のi行目に採用する(S1203)。
以上が、図21に示した復元行列生成部222の復元行列生成処理の手順である。
[効果]
本実施の形態に係る信号観測システム200によれば、観測行列をそのまま送信せずに、観測行列を生成するための識別番号を送信することができる。したがって、観測行列のための通信量及び記憶容量を削減することができる。
(他の実施の形態)
以上、1つ又は複数の態様に係る信号観測システムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも、1つ又は複数の態様の範囲内に含まれてもよい。
例えば、上記各実施の形態において、第一の観測行列に基づく対象信号の観測値と、第二の観測行列に基づく対象信号の観測値との差分値は、信号観測装置において算出されていたが、これに限定されない。差分値の算出は、信号復元装置において行われてもよい。
また、上記各実施の形態において、観測行列表示部115は、透過型液晶ディスプレイであったが、これに限定されない。例えば、観測行列表示部115は、デジタルミラーデバイス又はLCOS(Liquid Crystal On Silicon)と、レンズ、ミラー又はプリズムと
の組合せであってもよい。また、観測行列表示部115は、シャッターアレイであってもよい。例えば、観測行列表示部115がデジタルミラーデバイスあるいはLCOSによって実現される場合は、制御部112は、観測行列の行列要素の値が0であれば、観測部116へ対象信号が到達しないように対応する画素を制御し、観測行列の行列要素の値が1であれば、観測部116へ対象信号が到達するように対応する画素を制御すればよい。
また、上記各実施の形態において、予め定められたパターンの第一の観測行列として、全ての行列要素の値が0である行列が用いられていたが、これに限定されない。例えば、第一の観測行列として、全ての行列要素の値が1である行列が用いられてもよい。また、第一の観測行列は、値が一様な行列要素を有する行列に限定されない。例えば、第一の観測行列は、0及び1が交互に並ぶ行列であってもよい。
また、上記各実施の形態において、観測行列の各行列要素は、0又は1の値を有していたが、これに限定されない。例えば、観測行列の各行列要素の値は、整数でなくてもよく、小数であってもよい。この場合、各行列要素の値に対応する透過率で、観測行列表示部115の各画素が制御されればよい。
また、上記各実施の形態において、観測部116は、単一の光センサで構成されていたが、これに限定されない。例えば、対象信号がテラヘルツ波信号であれば、観測部116は、テラヘルツ波を検知するセンサで構成されてもよい。また、対象信号が赤外線信号であれば、観測部116は、赤外線センサで構成されてもよい。また、対象信号が紫外線信号であれば、観測部116は、紫外線センサで構成されてもよい。つまり、観測部116は、対象信号の種類に適したセンサであればどのようなセンサで構成されてもよい。また、観測部116は、複数の光センサで構成されてもよい。また、観測部116は、複数種類のセンサ(例えば、光センサ、赤外線センサ、テラヘルツ波センサ、紫外線センサなど)の任意の組み合わせで構成されてもよい。
また、本開示は、さらに、以下のような場合も含まれる。
(1)上記の装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)また、本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(5)また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。