以下、本開示の技術の実施形態の一例を、図面を参照しつつ説明する。
先ず、以下の説明で使用される文言について説明する。
CPUとは、“Central Processing Unit”の略称を指す。RAMとは、“Random Access Memory”の略称を指す。ROMとは、“Read Only Memory”の略称を指す。
ASICとは、“Application Specific Integrated Circuit”の略称を指す。PLDとは、“Programmable Logic Device”の略称を指す。FPGAとは、“Field-Programmable Gate Array”の略称を指す。AFEとは、“Analog Front End”の略称を指す。DSPとは、“Digital Signal Processor”の略称を指す。SoCとは、“System-on-a-chip”の略称を指す。
SSDとは、“Solid State Drive”の略称を指す。DVD-ROMとは、“Digital Versatile Disc Read Only Memory”の略称を指す。USBとは、“Universal Serial Bus”の略称を指す。HDDとは、“Hard Disk Drive”の略称を指す。EEPROMとは、“Electrically Erasable and Programmable Read Only Memory”の略称を指す。
CCDとは、“Charge Coupled Device”の略称を指す。CMOSとは、“Complementary Metal Oxide Semiconductor”の略称を指す。ELとは、“Electro-Luminescence”の略称を指す。A/Dとは、“Analog/Digital”の略称を指す。I/Fとは、“Interface”の略称を指す。UIとは、“User Interface”の略称を指す。WANとは、“Wide Area Network”の略称を指す。また、以下の説明において、ディスプレイに表示される「画像」以外で、「画像」と表現されている場合、「画像」には「画像を示すデータ」の意味も含まれる。
[第1実施形態]
図1において、監視システム2は、監視カメラ10及び管理装置11を備えている。監視システム2は、本開示の技術に係る「監視システム」の一例であり、監視カメラ10は、本開示の技術に係る「撮像装置」の一例であり、管理装置11は、本開示の技術に係る「外部装置」の一例である。
監視カメラ10は、屋内外の柱又は壁等に設置され、被写体である監視対象を撮像し、撮像することで動画像を生成する。動画像には、撮像することで得られた複数フレームの画像が含まれている。監視カメラ10は、撮像することで得た動画像を、通信ライン12を介して管理装置11に送信する。
管理装置11は、ディスプレイ13及び二次記憶装置14を備えている。ディスプレイ13としては、例えば、液晶ディスプレイ又は有機ELディスプレイ等が挙げられる。なお、ディスプレイ13は、本開示の技術に係る「表示部(ディスプレイ)」の一例である。
二次記憶装置14の一例としては、HDDが挙げられる。二次記憶装置14は、HDDではなく、フラッシュメモリ、SSD、又はEEPROMなどの不揮発性のメモリであればよい。なお、二次記憶装置14は、本開示の技術に係る「記憶装置」の一例である。
管理装置11では、監視カメラ10によって送信された動画像が受信され、受信された動画像がディスプレイ13に表示されたり、二次記憶装置14に記憶されたりする。
一例として図2に示すように、監視カメラ10は、光学系15及び撮像素子25を備えている。撮像素子25は、光学系15の後段に位置している。光学系15は、対物レンズ15A及びレンズ群15Bを備えている。対物レンズ15A及びレンズ群15Bは、監視対象側から撮像素子25の受光面25A側にかけて、光学系15の光軸OAに沿って、対物レンズ15A及びレンズ群15Bの順に配置されている。レンズ群15Bには、光軸OAに沿って移動可能なフォーカス用のレンズ及びズーム用のレンズ等が含まれており、フォーカス用のレンズ及びズーム用のレンズは、与えられた動力に応じて光軸OAに沿って移動する。このように構成された光学系15によって、監視対象を示す監視対象光は、受光面25Aに結像される。なお、撮像素子25は、本開示の技術に係る「撮像素子」の一例である。ここでは、撮像素子25として、CCDイメージセンサが採用されているが、これはあくまでも一例に過ぎず、撮像素子25は、CMOSイメージセンサ等の他のイメージセンサであってもよい。
監視カメラ10は、ドライバ26、AFE30、DSP31、画像メモリ32、ぶれ補正装置33、通信I/F34、RAM35、ROM36、CPU37、ぶれ量検出センサ40、ディスプレイ42、及び受付デバイス43を備えている。ドライバ26、AFE30、DSP31、画像メモリ32、ぶれ補正装置33、通信I/F34、CPU37、ROM36、RAM35、ぶれ量検出センサ40、ディスプレイ42、及び受付デバイス43の各々は、バスライン38に接続されている。なお、ぶれ補正装置33は、本開示の技術に係る「ぶれ補正装置」の一例である。また、画像メモリ32は、本開示の技術に係る「メモリ」の一例である。
ROM36には、監視カメラ10用の各種プログラム(以下、単に「撮像装置用プログラム」と称する)が記憶されている。CPU37は、ROM36から撮像装置用プログラムを読み出し、読み出した撮像装置用プログラムをRAM35に展開する。CPU37は、RAM35に展開した撮像装置用プログラムに従って監視カメラ10の全体を制御する。
撮像素子25には、ドライバ26及びAFE30の各々が接続されている。撮像素子25は、ドライバ26の制御の下、既定のフレームレートで監視対象を撮像する。ここで言う「既定のフレームレート」とは、例えば、数フレーム/秒から数十フレーム/秒を指す。
受光面25Aは、マトリクス状に配置された複数の感光画素(図示省略)によって形成されている。撮像素子25では、各感光画素が露光され、感光画素毎に光電変換が行われる。感光画素毎に光電変換が行われることで得られた電荷は、監視対象を示すアナログの撮像信号であり、アナログ画像として撮像素子25に蓄積される。各感光画素は、アナログ画像が読み出される前後等のタイミングで、CPU37の制御の下、ドライバ26によってリセットされる。各感光画素に対する露光期間は、シャッタスピードに従って定められ、シャッタスピードは、各感光画素に対するリセットのタイミング及びアナログ画像の読み出しのタイミングが制御されることで調節される。
撮像素子25には、ドライバ26から垂直同期信号及び水平同期信号が入力される。垂直同期信号は、1フレーム分のアナログ画像の送信を開始するタイミングを規定する信号である。水平同期信号は、1水平ライン分のアナログ画像の出力を開始するタイミングを規定する信号である。撮像素子25は、ドライバ26から入力された垂直同期信号に従ってフレーム単位でのアナログ画像のAFE30への出力を開始し、ドライバ26から入力された水平同期信号に従って水平ライン単位でのアナログ画像のAFE30への出力を開始する。
AFE30は、撮像素子25からのアナログ画像を受信する。換言すると、アナログ画像は、AFE30によって撮像素子25から読み出される。AFE30は、アナログ画像に対して、相関二重サンプリング及びゲイン調整等のアナログ信号処理を施した後、A/D変換を行うことで、デジタルの撮像信号であるデジタル画像を生成する。ここで、アナログ画像は、本開示の技術に係る「ぶれ補正装置」での撮像素子からの読出対象とされる「画像」の一例である。また、デジタル画像は、本開示の技術に係る「ぶれ補正装置」での補正部による補正対象とされる「画像」の一例である。なお、以下では、説明の便宜上、アナログ画像とデジタル画像とを区別して説明する必要がない場合、単に「画像」と称する。
なお、図2に示す例では、AFE30が撮像素子25の外部に設けられているが、本開示の技術はこれに限定されず、AFE30は、撮像素子25内に一体的に組み込まれていてもよい。
DSP31は、デジタル画像に対して、各種デジタル信号処理を施す。各種デジタル信号処理とは、例えば、デモザイク処理、ノイズ除去処理、階調補正処理、及び色補正処理等を指す。DSP31は、1フレーム毎に、デジタル信号処理後のデジタル画像を画像メモリ32に出力する。画像メモリ32は、DSP31からのデジタル画像を記憶する。
ところで、監視カメラ10に与えられる振動には、屋外であれば、自動車の通行による振動、風による振動、及び道路工事による振動等があり、屋内であれば、エアコンディショナーの動作による振動、及び人の出入りによる振動等がある。そのため、監視カメラ10では、監視カメラ10に与えられた振動(以下、単に「振動」とも称する)に起因してぶれが生じる。本実施形態において、「ぶれ」とは、監視カメラ10において、デジタル画像が光軸OAと受光面25Aとの位置関係が変化することで変動する現象を指す。
ぶれ量検出センサ40は、例えば、ジャイロセンサである。ジャイロセンサは、ピッチ軸PA、ヨー軸YA、及びロール軸RA(例えば、図2に示す光軸OAに平行な軸)の各軸(図1参照)周りの回転ぶれの量をぶれ量として検出する。なお、本実施形態での平行の意味には、完全な平行の意味の他に、設計上および製造上において許容される誤差を含む略平行の意味も含まれる。
なお、ここでは、ぶれ量検出センサ40の一例としてジャイロセンサを挙げているが、これはあくまでも一例であり、ぶれ量検出センサ40は、加速度センサであってもよい。加速度センサは、ピッチ軸PAとヨー軸YAに平行な2次元状の面内でのぶれ量を検出する。ぶれ量検出センサ40は、検出したぶれ量をCPU37に出力する。
また、ここでは、ぶれ量検出センサ40という物理的なセンサによってぶれ量が検出される形態例を挙げているが、本開示の技術はこれに限定されない。例えば、画像メモリ32に記憶された時系列的に前後するデジタル画像を比較することで得た動きベクトルをぶれ量として用いてもよい。また、物理的なセンサによって検出されたぶれ量と、画像処理によって得られた動きベクトルとに基づいて最終的に使用されるぶれ量が導出されるようにてもよい。
ぶれ補正装置33は、ASICを含むデバイス(本開示の技術に係る「プロセッサ」の一例)であり、ぶれ量検出センサ40によって検出されたぶれ量に応じたぶれ補正量を取得する。ぶれ補正量は、画像メモリ32に記憶されたデジタル画像のぶれの補正に供される。すなわち、ぶれ補正装置33は、取得したぶれ補正量に基づいて、画像メモリ32に記憶されたデジタル画像に対して画像処理を施すことでぶれを補正する。
本実施形態では、デジタル画像に対する画像処理の一例として、画像切出処理が採用されている。画像切出処理とは、画像メモリ32に記憶されたデジタル画像から一部の画像領域を切り出す処理を指す。画像切出処理が行われる場合、撮像素子25の撮像領域が、ぶれが補正されたデジタル画像として出力する領域(以下、単に「画像出力領域」)よりも広く設定された上で撮像が行われる。ぶれ補正量は、例えば、画像メモリ32に記憶されたデジタル画像のうちの画像出力領域以外の画像領域を特定する情報である。画像切出処理では、画像メモリ32に記憶されたデジタル画像から、ぶれ補正量に基づいて画像出力領域が特定される。そして、画像メモリ32に記憶されたデジタル画像から、特定された画像出力領域が切り出され、切り出された画像出力領域が、ぶれが補正されたデジタル画像として、CPU37を介して通信I/F34に出力される。
なお、本実施形態において、「ぶれの補正」には、ぶれを無くすという意味の他に、ぶれを低減するという意味も含まれる。ぶれ補正装置33は、ぶれを補正したデジタル画像を通信I/F34に出力する。
また、ここでは、ぶれ補正装置33として、ASICを含むデバイスを例示しているが、本開示の技術はこれに限定されるものではなく、例えば、FPGA又はPLDを含むデバイスであってもよい。また、例えば、ぶれ補正装置33は、ASIC、FPGA、及びPLDのうちの複数を含むデバイスであってもよい。また、ぶれ補正装置33として、CPU、ROM、及びRAMを含むコンピュータが採用されてもよい。CPUは、単数であってもよいし、複数であってもよい。また、ぶれ補正装置33は、ハードウェア構成及びソフトウェア構成の組み合わせによって実現されてもよい。
通信I/F34は、例えば、ネットワークインターフェースであり、ネットワークを介して、管理装置11との間で各種情報の伝送制御を行う。ネットワークの一例としては、インターネット又は公衆通信網等のWANが挙げられる。監視カメラ10と管理装置11との間の通信を司る。通信I/F34は、ぶれ補正装置33からCPU37を介して入力されたデジタル画像、すなわち、ぶれ補正装置33によってぶれが補正されたデジタル画像を管理装置11に送信する。
受付デバイス43は、例えば、キーボード、マウス、及びタッチパネル等であり、ユーザからの各種指示を受け付ける。CPU37は、受付デバイス43によって受け付けられた各種指示を取得し、取得した指示に従って動作する。
ディスプレイ42は、CPU37の制御下で、各種情報を表示する。ディスプレイ42に表示される各種情報としては、例えば、受付デバイス43によって受け付けられた各種指示の内容、及びぶれ補正装置33によってぶれが補正されたデジタル画像等が挙げられる。
一例として図3に示すように、管理装置11は、ディスプレイ13、二次記憶装置14、コントローラ60、受付デバイス62、及び通信I/F66を備えている。コントローラ60は、CPU60A、ROM60B、及びRAM60Cを備えている。受付デバイス62、ディスプレイ13、二次記憶装置14、CPU60A、ROM60B、RAM60C、及び通信I/F66の各々は、バスライン70に接続されている。
ROM60Bには、管理装置11用の各種プログラム(以下、単に「管理装置用プログラム」と称する)が記憶されている。CPU60Aは、ROM60Bから管理装置用プログラムを読み出し、読み出した管理装置用プログラムをRAM60Cに展開する。CPU60Aは、RAM60Cに展開した管理装置用プログラムに従って管理装置11の全体を制御する。
通信I/F66は、例えば、ネットワークインターフェースである。通信I/F66は、ネットワークを介して、管理装置11の通信I/F34に対して通信可能に接続されており、管理装置11との間で各種情報の伝送制御を行う。例えば、通信I/F66は、管理装置11に対してデジタル画像の送信を要求し、デジタル画像の送信の要求に応じて管理装置11の通信I/F34から送信されたデジタル画像を受信する。
受付デバイス62は、例えば、キーボード、マウス、及びタッチパネル等であり、ユーザからの各種指示を受け付ける。CPU60Aは、受付デバイス62によって受け付けられた各種指示を取得し、取得した指示に従って動作する。
ディスプレイ13は、CPU60Aの制御下で、各種情報を表示する。ディスプレイ13に表示される各種情報としては、例えば、受付デバイス62によって受け付けられた各種指示の内容、及び通信I/F66によって受信されたデジタル画像等が挙げられる。
二次記憶装置14は、CPU60Aの制御下で、各種情報を記憶する。二次記憶装置14に記憶される各種情報としては、例えば、通信I/F66によって受信されたデジタル画像等が挙げられる。
このように、コントローラ60は、通信I/F66によって受信されたデジタル画像をディスプレイ13に対して表示させる制御、及び通信I/F66によって受信されたデジタル画像を二次記憶装置14に対して記憶させる制御を行う。
なお、ここでは、デジタル画像をディスプレイ13に対して表示させ、かつ、通信I/F66によって受信されたデジタル画像を二次記憶装置14に対して記憶させるようにしているが、本開示の技術はこれに限定されない。例えば、デジタル画像のディスプレイ13に対する表示とデジタル画像の二次記憶装置14に対する記憶との何れかが行われるようにしてもよい。
監視カメラ10により動画像用の撮像が行われる場合、一例として図4に示すように、CPU37は、フレーム単位で、垂直同期信号を、ドライバ26(図1参照)を介して撮像素子25に出力する。撮像素子25に垂直同期信号が入力されると、撮像素子25からアナログ画像の読み出しが開始される。そして、CPU37は、垂直同期信号が出力されてから既定時間(後述)が経過したときに、ぶれ量検出センサ40に対して、ぶれ量の検出を指示するぶれ量検出信号を出力する。ぶれ量検出センサ40は、CPU37からぶれ量検出信号が入力されると、ぶれ量を検出し、検出したぶれ量をぶれ補正装置33に出力する。
詳しくは後述するが、ぶれ量検出センサ40によって検出されたぶれ量に応じて、ぶれ補正量が算出される。そして、ぶれ補正装置33は、ぶれ補正量取得タイミングで、ぶれ補正量を取得する。ここで言う「ぶれ補正量取得タイミング」とは、ぶれ補正装置33によってぶれ補正量が取得されるタイミングとして予め定められたタイミングを指す。図4に示す例では、ぶれ補正量取得タイミングとして、1フレーム分の露光期間の中央のタイミングが示されている。上記の既定時間とは、例えば、ぶれ補正装置33に対してぶれ補正量取得タイミングでぶれ補正量を取得させるタイミングにてCPU37に対して検出指示信号を出力させるまでに要する時間として予め定められた時間を指す。
一例として図5に示すように、ぶれ補正装置33は、ぶれ補正量算出部80、取得部82、補正部84、及び補正タイミング判定部88を備えている。なお、取得部82は、本開示の技術に係る「取得部」の一例であり、補正部84は、本開示の技術に係る「補正部」の一例である。
ぶれ補正量算出部80は、ぶれ量検出センサ40によって検出されたぶれ量を取得し、取得したぶれ量に基づいてぶれ補正量を算出する。ぶれ補正量算出部80では、ぶれ量を独立変数とし、ぶれ補正量を従属変数とした演算式を用いてぶれ補正量が算出される。
なお、ここでは、ぶれ補正量が演算式を用いて算出される形態例を挙げているが、本開示の技術はこれに限定されない。例えば、ぶれ量とぶれ補正量とが対応付けられたぶれ補正量導出テーブル(図示省略)に基づいてぶれ補正量が導出されるようにしてもよい。
取得部82は、ぶれ補正量算出部80によって算出されたぶれ補正量を、上述のぶれ補正量取得タイミング(図4参照)で取得する。ぶれ補正量取得タイミングでぶれ補正量が取得されるということは、撮像素子25での1フレーム分の露光中にぶれ補正量が取得されるということを意味する。
補正タイミング判定部88は、画像メモリ32に補正対象画像が記憶されたか否かを判定し、画像メモリ32に補正対象画像が記憶された場合に、ぶれの補正を指示する補正指示信号を補正部84に出力する。補正対象画像とは、撮像素子25により撮像されることで得られた動画像に含まれる1フレーム分のデジタル画像を指す。つまり、ぶれ補正装置33では、DSP31によって画像メモリ32に記憶された1フレーム分のデジタル画像が補正対象画像として扱われる。また、画像メモリ32には、1フレーム毎にデジタル画像が記憶されるので、1フレーム毎のデジタル画像の各々が補正対象画像として扱われる。
補正タイミング判定部88は、画像メモリ32の記憶内容を監視しており、画像メモリ32に1フレーム分のデジタル画像が記憶された場合に、画像メモリ32に補正対象画像が記憶されたと判定し、補正指示信号を補正部84に出力する。
補正部84は、補正タイミング判定部88からの補正指示信号が入力されると、画像メモリ32から補正対象画像を取得し、取得した補正対象画像に対して、上述した画像切出処理を行うことで、ぶれを補正する。補正対象画像に対してぶれの補正が行われることで得られた補正画像は、補正部84によってCPU37に出力され、CPU37により通信I/F34を介して管理装置11に送信される。
ぶれ補正装置33は、上述した既定のフレームレートに従って撮像されることで得られた動画像に含まれる各デジタル画像に対して、同様の方法で、ぶれを補正する。そして、ぶれを補正することで得た各補正画像は、CPU37を介して管理装置11に順次に送信される。
管理装置11では、監視カメラ10のCPU37から送信された各補正画像がコントローラ60に順次に入力される。そして、ディスプレイ13は、コントローラ60の制御下で、コントローラ60に順次に入力された補正画像をライブビュー画像として表示し、二次記憶装置14は、コントローラ60の制御下で、コントローラ60に順次に入力された補正画像を記憶する。なお、コントローラ60は、本開示の技術に係る「コントローラ」の一例である。
図6Aには、監視対象が撮像されることで得られた動画像に含まれる1フレーム目から3フレーム目までの各フレームについての露光期間及び読出期間の一例が示されている。ここで言う「露光期間」とは、撮像素子25に対して露光が行われている期間を指し、読出期間とは、撮像素子25からのアナログ画像の読み出しに要する期間を指す。
監視カメラ10では、ローリングシャッタ方式での撮像が行われる。従って、一例として図6Aに示すように、読出開始タイミングと読出終了タイミングとの間にずれが生じる。読出開始タイミングは、撮像素子25の撮像領域の1行目の水平ラインのアナログ画像の読み出しを行うタイミングであり、読出終了タイミングは、撮像素子25の撮像領域の最終行の水平ラインのアナログ画像の読み出しを行うタイミングである。ローリングシャッタ方式では、水平同期信号に従って撮像素子25の撮像領域の1行目から最終行にかけて1水平ライン毎に順次にアナログ画像の読み出しが行われる。そのため、読出終了タイミングは、読出開始タイミングよりも遅れて到来する。これに伴って、撮像素子25の撮像領域の1行目の露光が行われるタイミングと撮像素子25の撮像領域の最終行の露光が行われるタイミングとの間にずれが生じる。
各フレームにおいて、ぶれ補正量は、撮像素子25の撮像領域の列方向の中央に位置する水平ラインに対する露光が行われているタイミングで取得部82(図5参照)によって取得される。より具体的には、撮像素子25の撮像領域の列方向の中央に位置する水平ラインの中央の感光画素に対する露光が行われるタイミングで取得部82によってぶれ補正量が取得される。なお、撮像素子25の撮像領域の列方向の中央に位置する水平ラインに対する露光が行われているタイミングは、本開示の技術に係る「補正対象画像に対応する露光が行われている期間のうちの特定のラインの露光が行われている間」の一例である。
ここでは、撮像素子25の撮像領域の列方向の中央に位置する水平ラインに対する露光が行われているタイミングで取得部82によってぶれ補正量が取得されているが、本開示の技術はこれに限定されない。例えば、撮像素子25の撮像領域の列方向の中央に位置する水平ラインよりも列方向に複数ライン分(例えば、数ラインから数十ライン分)だけ前又は後に位置する水平ラインに対する露光が行われているタイミングで取得部82によってぶれ補正量が取得されるようにしてもよい。
図6Aに示す例では、1フレーム目について撮像素子25の撮像領域の列方向の中央に位置する水平ラインに対する露光が行われているタイミングで取得部82によってぶれ補正量Aが取得される。そして、撮像素子25から読み出された1フレーム目のアナログ画像に対応する1フレーム分のデジタル画像が補正対象画像として画像メモリ32に記憶されると、補正部84は、取得部82によって取得されたぶれ補正量Aに基づいて画像切出処理を行う。これにより、1フレーム目の補正対象画像に対するぶれが補正される。
同様に、図6Bに示す例では、2フレーム目について撮像素子25の撮像領域の列方向の中央に位置する水平ラインに対する露光が行われているタイミングで取得部82によってぶれ補正量Bが取得される。そして、撮像素子25から読み出された2フレーム目のアナログ画像に対応する1フレーム分のデジタル画像が補正対象画像として画像メモリ32に記憶されると、補正部84は、取得部82によって取得されたぶれ補正量Bに基づいて画像切出処理を行う。これにより、2フレーム目の補正対象画像に対するぶれが補正される。
同様に、図6Cに示す例では、3フレーム目について撮像素子25の撮像領域の列方向の中央に位置する水平ラインに対する露光が行われているタイミングで取得部82によってぶれ補正量Cが取得される。そして、撮像素子25から読み出された3フレーム目のアナログ画像に対応する1フレーム分のデジタル画像が補正対象画像として画像メモリ32に記憶されると、補正部84は、取得部82によって取得されたぶれ補正量Cに基づいて画像切出処理を行う。これにより、3フレーム目の補正対象画像に対するぶれが補正される。なお、撮像されることで得られた動画像に含まれる3フレーム目以降の各フレームについても同様の処理が行われる。
次に、監視システム2の本開示の技術に係る部分の作用について説明する。
先ず、ぶれ補正装置33によって実行されるぶれ補正処理の流れについて図7を参照しながら説明する。
図7に示すぶれ補正処理では、先ず、ステップST20で、ぶれ補正量算出部80は、ぶれ量検出センサ40によって検出されたぶれ量が入力されたか否かを判定する。ステップST20において、ぶれ量検出センサ40によって検出されたぶれ量が入力されていない場合は、判定が否定されて、ぶれ量補正処理はステップST34へ移行する。ステップST20において、ぶれ量検出センサ40によって検出されたぶれ量が入力された場合は、判定が肯定されて、ぶれ補正処理はステップST22へ移行する。
ステップST22で、ぶれ補正量算出部80は、入力されたぶれ量に基づいてぶれ補正量を算出し、算出したぶれ補正量を取得部82に出力する。取得部82は、ぶれ補正量算出部80によって出力されたぶれ補正量を取得し、その後、ぶれ補正処理はステップST24へ移行する。
ステップST24で、補正タイミング判定部88は、画像メモリ32に補正対象画像が記憶されたか否かを判定する。すなわち、補正タイミング判定部88は、画像メモリ32に1フレーム分のデジタル画像が記憶されたか否かを判定する。ステップST24において、画像メモリ32に補正対象画像が記憶されていない場合は、判定が否定されて、ステップST24の判定が再び行われる。ここで、画像メモリ32に補正対象画像が記憶されていない場合とは、例えば、画像メモリ32にデジタル画像が何ら記憶されていない場合、及び画像メモリ32に記憶されているデジタル画像が1フレームに満たない場合を指す。ステップST24において、画像メモリ32に補正対象画像が記憶された場合は、判定が肯定されて、ぶれ補正処理はステップST26へ移行する。
ステップST26で、補正タイミング判定部88は、補正指示信号を補正部84に出力し、その後、ぶれ補正処理はステップST28へ移行する。
ステップST28で、補正部84は、補正タイミング判定部88からの補正指示信号が入力されたか否かを判定する。ステップST28において、補正タイミング判定部88からの補正指示信号が入力されていない場合は、判定が否定されて、ステップST28の判定が再び行われる。ステップST28において、補正タイミング判定部88からの補正指示信号が入力された場合は、判定が肯定されて、ぶれ補正処理はステップST30へ移行する。
ステップST30で、補正部84は、画像メモリ32に記憶されている補正対象画像を取得する。そして、補正部84は、取得した補正対象画像に対して、ステップST22で取得部82によって取得されたぶれ補正量に基づいて画像切出処理を実行することで、補正対象画像のぶれを補正し、その後、ぶれ補正処理はステップST32へ移行する。
ステップST32で、補正部84は、補正対象画像のぶれが補正されることで得られた補正画像をCPU37に出力し、その後、ぶれ補正処理はステップST34へ移行する。なお、CPU37は、補正部84から入力された補正画像を通信I/F34を介して管理装置11に送信する。
ステップST34で、補正部84は、ぶれ補正処理を終了する条件(以下、「ぶれ補正処理終了条件」と称する)を満足したか否かを判定する。ぶれ補正処理終了条件としては、例えば、ぶれ補正処理を終了させる指示が受付デバイス43によって受け付けられた、との条件が挙げられる。ステップST34において、ぶれ補正処理終了条件を満足していない場合は、判定が否定されて、ぶれ補正処理はステップST20へ移行する。ステップST34において、ぶれ補正処理終了条件を満足した場合は、判定が肯定されて、ぶれ補正処理が終了する。
次に、管理装置11のコントローラ60によって実行される管理処理の流れについて図8を参照しながら説明する。
図8に示す管理処理では、先ず、ステップST40で、コントローラ60は、監視カメラ10から送信された補正画像が通信I/F66によって受信されたか否かを判定する。ステップST40において、監視カメラ10から送信された補正画像が通信I/F66によって受信されていない場合は、判定が否定されて、管理処理はステップST48へ移行する。ステップST40において、監視カメラ10から送信された補正画像が通信I/F66によって受信された場合は、判定が肯定されて、管理処理はステップST41へ移行する。
ステップST41で、コントローラ60は、補正画像がディスプレイ13に表示されているか否かを判定する。ステップST41において、補正画像がディスプレイ13に表示されていない場合、すなわち、補正画像がディスプレイ13に表示されていない場合は、判定が否定されて、管理処理はステップST42へ移行する。ステップST41において、補正画像がディスプレイ13に表示されている場合は、判定が肯定されて、管理処理はステップST44へ移行する。
ステップST42で、コントローラ60は、ディスプレイ13に対して、通信I/F66によって受信された最新の補正画像の表示を開始させ、その後、管理処理はステップST46へ移行する。
ステップST44で、コントローラ60は、ディスプレイ13に表示されている補正画像を、通信I/F66によって受信された最新の補正画像に更新し、その後、管理処理はステップST46に移行する。
ステップST46で、コントローラ60は、通信I/F66によって受信された最新の補正画像を二次記憶装置14に記憶し、その後、管理処理はステップST48へ移行する。
ステップST48で、コントローラ60は、管理処理を終了する条件(以下、「管理処理終了条件」と称する)を満足したか否かを判定する。管理処理終了条件としては、例えば、管理処理を終了させる指示が受付デバイス62によって受け付けられた、との条件が挙げられる。ステップST48において、管理処理終了条件を満足していない場合は、判定が否定されて、管理処理はステップST40へ移行する。ステップST48において、管理処理終了条件を満足した場合は、判定が肯定されて、管理処理はステップST50へ移行する。
ステップST50で、コントローラ60は、補正画像がディスプレイ13に表示されているか否かを判定する。ステップST50において、補正画像がディスプレイ13に表示されていない場合、すなわち、補正画像がディスプレイ13に表示されていない場合は、判定が否定されて、管理処理が終了する。ステップST50において、補正画像がディスプレイ13に表示されている場合は、判定が肯定されて、管理処理はステップST52へ移行する。
ステップST52で、コントローラ60は、ディスプレイ13に対して補正画像の表示を終了させ、その後、管理処理が終了する。
以上説明したように、監視カメラ10では、撮像されることで得られた動画像に含まれる補正対象画像に対して、補正対象画像を得るのに要する露光中に取得されたぶれ補正量に基づいて画像処理として画像切出処理が行われることでぶれが補正される。これにより、動画像に含まれる隣接する先フレーム及び後フレームのうち、後フレームのデジタル画像に対するぶれの補正は、先フレームの露光中に取得されたぶれ補正量の影響を受けない。従って、撮像されることで得られた動画像に含まれる隣接する2フレームの各画像に対して共通のぶれ補正量に基づいてぶれの補正が行われる場合に比べ、撮像されることで得られた動画像のぶれを高精度に補正することができる。
また、監視カメラ10では、画像メモリ32に記憶された補正対象画像に対して、補正対象画像を得るのに要する露光中に取得されたぶれ補正量に基づいて画像処理として画像切出処理が行われることでぶれが補正される。つまり、画像メモリ32に記憶された1フレーム分のデジタル画像に対して、現時点で画像メモリ32に記憶されている1フレーム分のデジタル画像を得るのに要した露光中に取得されたぶれ補正量に基づいてぶれの補正が行われる。従って、ぶれ補正量の取得タイミングがアナログ画像の読出開始タイミングよりも遅い場合であっても、動画像に含まれる1フレーム内で取得されたぶれ補正量に基づいてぶれを補正することができる。
また、監視カメラ10では、デジタル画像が1フレーム毎に画像メモリ32に記憶され、画像メモリ32に記憶された1フレーム毎のデジタル画像の各々が補正対象画像として扱われる。従って、撮像されることで得られた動画像に含まれる隣接する2フレームの各画像に対して共通のぶれ補正量に基づいてぶれの補正が行われる場合に比べ、動画像に含まれる1フレーム毎の補正対象画像の各々のぶれを高精度に補正することができる。
更に、監視カメラ10では、補正対象画像に対応する露光が行われている期間のうちの中央の水平ラインの露光が行われている間にぶれ補正量が取得部82によって取得される。従って、補正対象画像に対応する露光が行われている期間のうちの中央の水平ラインの露光が行われている間に取得されたぶれ補正量に基づいて補正対象画像のぶれを補正することができる。
[第2実施形態]
上記第1実施形態では、ぶれ補正装置33による補正方法として、1種類の補正方法を例示したが、本第2実施形態では、2種類の補正方法を使い分ける形態例について説明する。なお、本第2実施形態では、上記第1実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。以下では、上記第1実施形態と異なる部分について説明する。
一例として図9に示すように、ぶれ補正装置33に対しては、第1補正モード又は第2補正モードが設定され、監視カメラ10により撮像されることで得られた動画像のぶれが補正部84によって第1補正モード又は第2補正モードで補正される。
一例として図9に示すように、ぶれ補正装置33に対しては、監視カメラ10により撮像されることで得られた動画像を管理装置11の二次記憶装置14(図3参照)に記憶させる場合に第1補正モードが設定される。また、ぶれ補正装置33に対しては、監視カメラ10により撮像されることで得られた動画像をライブビュー画像として管理装置11のディスプレイ13(図3参照)に対して表示させる場合に第2補正モードが設定される。
図10は、第1補正モードで画像のぶれが補正される場合のぶれ補正装置33の機能の一例を示す機能ブロック図であり、図11は、第2補正モードで画像のぶれが補正される場合のぶれ補正装置33の機能の一例を示す機能ブロック図である。
一例として図10に示すように、管理装置11において、動画像記憶指示が受付デバイス62によって受け付けられると、受付デバイス62は、動画像記憶指示信号をコントローラ60に出力する。ここで、動画像記憶指示とは、監視カメラ10により撮像されることで得られた動画像を二次記憶装置14に記憶させる指示を指す。また、動画像記憶指示信号とは、監視カメラ10により撮像されることで得られた動画像を二次記憶装置14に記憶させる指示を示す信号を指す。
コントローラ60は、動画像記憶指示信号を監視カメラ10に送信する。コントローラ60により送信された動画像記憶指示信号は、監視カメラ10の通信I/F34(図2参照)によって受信され、CPU37に動画像記憶指示信号が出力される。
CPU37は、動画像記憶指示信号が入力されると、第1補正モードで画像のぶれを補正することを指示する第1補正モード信号をぶれ補正装置33に出力する。ぶれ補正装置33は、第1補正モード信号が入力されると、第1補正モードで作動する。
第1補正モードとは、上記第1実施形態で説明したぶれ補正処理(図7参照)が実行される補正モードである。すなわち、第1補正モードでは、補正部84が、補正対象画像を得るのに要する露光中に取得部82により取得されたぶれ補正量に基づいて補正対象画像に対して画像処理を施すことで補正対象画像のぶれを補正する。
一例として図11に示すように、管理装置11において、ライブビュー指示が受付デバイス62によって受け付けられると、受付デバイス62は、ライブビュー指示信号をコントローラ60に出力する。ここで、ライブビュー指示とは、監視カメラ10により撮像されることで得られた動画像をライブビュー画像としてディスプレイ13に対して表示させる指示を指す。また、ライブビュー指示信号とは、監視カメラ10により撮像されることで得られた動画像をライブビュー画像としてディスプレイ13に対して表示させる指示を示す信号を指す。
コントローラ60は、ライブビュー指示信号を監視カメラ10に送信する。コントローラ60により送信されたライブビュー指示信号は、監視カメラ10の通信I/F34(図2参照)によって受信され、CPU37にライブビュー指示信号が出力される。
CPU37は、ライブビュー指示信号が入力されると、第2補正モードで画像のぶれを補正することを指示する第2補正モード信号をぶれ補正装置33に出力する。ぶれ補正装置33では、第2補正モード信号が入力されると、第2補正モードで作動する。
第2補正モードでは、補正部84は、画像メモリ32から、1フレームに満たないデジタル画像である未完画像を取得し、取得した未完画像のぶれを最新のぶれ補正量に基づいて補正する。すなわち、第2補正モードでは、補正部84は、画像メモリ32にデジタル画像が記憶されると、1フレーム分のデジタル画像が画像メモリ32に記憶される前に、画像メモリ32に既に記憶されたデジタル画像を未完画像として取得する。そして、補正部84は、未完画像に対して、取得部82によって取得された最新のぶれ補正量に基づいて画像切出処理を行うことで、未完画像のぶれを補正する。
次に、監視システム2の本開示の技術に係る部分の作用について説明する。
先ず、ぶれ補正装置33によって実行されるぶれ補正処理の流れについて図12を参照しながら説明する。
図12に示すぶれ補正処理では、先ず、ステップST80で、ぶれ補正装置33は、CPU37から第1補正モード信号が入力されたか否かを判定する。ステップST80において、CPU37から第1補正モード信号が入力された場合、判定が肯定されて、ぶれ補正処理はステップST82へ移行する。ステップST80において、CPU73から第2補正モード信号が入力された場合、判定が否定されて、ぶれ補正処理はステップST84へ移行する。
ステップST82で、ぶれ補正装置33は、第1補正モードぶれ補正処理を実行し、その後、ぶれ補正処理はステップST86へ移行する。ここで、第1補正モードぶれ補正処理とは、上記第1実施形態で説明したぶれ補正処理(図7参照)を指す。
ステップST84で、ぶれ補正装置33は、後述の第2補正モードぶれ補正処理(図13参照)を実行し、その後、ぶれ補正処理はステップST86へ移行する。
ステップST86で、ぶれ補正装置33は、上記第1実施形態で説明したぶれ補正処理終了条件を満足したか否かを判定する。ステップST86において、ぶれ補正処理終了条件を満足していない場合は、判定が否定されて、ぶれ補正処理はステップST80へ移行する。ステップST86において、ぶれ補正処理終了条件を満足した場合は、判定が肯定されて、ぶれ補正処理が終了する。
次に、監視システム2の本開示の技術に係る部分の作用について説明する。なお、本第2実施形態では、上記第1実施形態で説明した作用とは異なる部分について説明する。
先ず、ぶれ補正装置33によって実行される第2補正モードぶれ補正処理の流れについて図13を参照しながら説明する。
図13に示す第2補正モードぶれ補正処理では、先ず、ステップST100で、ぶれ補正量算出部80は、ぶれ量検出センサ40によって検出されたぶれ量が入力されたか否かを判定する。ステップST100において、ぶれ量検出センサ40によって検出されたぶれ量が入力されていない場合は、判定が否定されて、第2補正モードぶれ量補正処理はステップST112へ移行する。ステップST100において、ぶれ量検出センサ40によって検出されたぶれ量が入力された場合は、判定が肯定されて、第2補正モードぶれ補正処理はステップST102へ移行する。
ステップST102で、ぶれ補正量算出部80は、入力されたぶれ量に基づいてぶれ補正量を算出し、算出したぶれ補正量を取得部82に出力する。取得部82は、ぶれ補正量算出部80によって出力されたぶれ補正量を取得し、その後、ぶれ補正処理はステップST104へ移行する。
ステップST104で、補正部84は、画像メモリ32に未完画像が記憶されているか否かを判定する。ここで、画像メモリ32に未完画像が記憶されていない場合とは、画像メモリ32にデジタル画像が何ら記憶されていない場合を指す。また、画像メモリ32に未完画像が記憶されている場合とは、画像メモリ32に1フレーム未満のデジタル画像が記憶されている場合を指す。
ステップST104において、画像メモリ32に未完画像が記憶されていない場合は、判定が否定されて、ステップST104の判定が再び行われる。ステップST104において、画像メモリ32に未完画像が記憶されている場合は、第2補正モードぶれ補正処理はステップST106へ移行する。
ステップST106で、補正部84は、画像メモリ32に記憶されている未完画像を取得し、その後、第2補正モードぶれ補正処理はステップST108へ移行する。
ステップST108で、補正部84は、取得した未完画像に対して、ステップST102で取得部82によって取得されたぶれ補正量に基づいて画像切出処理を実行することで、未完画像のぶれを補正し、その後、第2補正モードぶれ補正処理はステップST110へ移行する。
ステップST110で、補正部84は、未完画像のぶれが補正されることで得られた補正画像をCPU37に出力し、その後、第2補正モードぶれ補正処理はステップST110へ移行する。なお、CPU37は、補正部84から入力された補正画像を通信I/F34を介して管理装置11に送信する。
ステップST112で、補正部84は、第2補正モードぶれ補正処理を終了する条件(以下、「第2補正モードぶれ補正処理終了条件」と称する)を満足したか否かを判定する。第2補正モードぶれ補正処理終了条件としては、例えば、第2補正モードぶれ補正処理を終了させる指示が受付デバイス43によって受け付けられた、との条件が挙げられる。ステップST112において、第2補正モードぶれ補正処理終了条件を満足していない場合は、判定が否定されて、第2補正モードぶれ補正処理はステップST100へ移行する。ステップST112において、第2補正モードぶれ補正処理終了条件を満足した場合は、判定が肯定されて、第2補正モードぶれ補正処理が終了する。
以上説明したように、本第2実施形態に係る監視カメラ10では、補正部84によって第1補正モード又は第2補正モードによって画像のぶれが補正される。第1補正モードでは、上記第1実施形態で説明したぶれ補正処理が実行され、第2補正モードでは、未完画像のぶれが最新のぶれ補正量に基づいて補正される。つまり、第1補正モードでは、補正対象画像を得るのに要する露光中に取得されたぶれ補正量に基づいて補正対象画像のぶれが補正され、第2補正モードでは、1フレーム未満のデジタル画像である未完画像に対して最新のぶれ補正量に基づいてぶれが補正される。従って、第1補正モードでは、第2補正モードよりもぶれの補正の高精度化を実現することができ、第2補正モードでは、第1補正モードよりもぶれの補正の高速化を実現することができる。
また、本第2実施形態に係る監視カメラ10では、撮像されることで得られた動画像を二次記憶装置14に記憶させる場合に第1補正モードで補正対象画像のぶれが補正される。従って、第2補正モードで未完画像のぶれを補正する場合に比べ、ぶれの補正の精度が高い動画像を保存することができる。
また、本第2実施形態に係る監視カメラ10では、撮像されることで得られた動画像をライブビュー画像としてディスプレイ13に対して表示させる場合に第2補正モードで未完画像のぶれが補正される。第1補正モードでは、1フレーム分のデジタル画像である補正対象画像が画像メモリ32に記憶されるのを待つ必要があるのに対し、第2補正モードでは、補正対象画像が画像メモリ32に記憶されるのを待つ必要がない。つまり、第2補正モードでは、画像メモリ32に1フレーム分のデジタル画像が記憶される前の段階で、1フレームに満たないデジタル画像である未完画像を対象にしてぶれの補正が行われる。従って、補正対象画像が画像メモリ32に記憶されるのを待ってから補正対象画像のぶれを補正して得た補正画像をディスプレイ13に表示させる場合に比べ、リアルタイム性の高い動画像をディスプレイ13に表示させることができる。
なお、上記第2実施形態では、動画像を二次記憶装置14に記憶させる場合に第1補正モードが設定され、動画像をディスプレイ13に対して表示させる場合に第2補正モードが設定される場合について説明したが、本開示の技術はこれに限定されない。監視カメラ10と管理装置11との間で情報の授受を行う場合、情報を送信してから受信するまでの間、タイムラグが発生する。タイムラグが発生するのであれば、第2補正モードよりもぶれの補正に時間を要する第1補正モードでぶれの補正を行う時間を確保することができる。そこで、一例として図14に示すように、監視カメラ10から管理装置11に動画像が送信される場合にぶれ補正装置33に対して第1補正モードが設定される。また、監視カメラ10から管理装置11に動画像が送信されない場合にぶれ補正装置33に対して第2補正モードが設定される。
この場合、ぶれ補正装置33はデフォルトの状態では第2補正モードで作動し、一例として図15に示すように、ぶれ補正装置33にCPU37から第1補正モード信号が入力されると、第2補正モードから第1補正モードに移行する。
一例として図15に示すように、管理装置11において、送信要求指示が受付デバイス62によって受け付けられると、受付デバイス62は、補正画像送信要求信号をコントローラ60に出力する。ここで、送信要求指示とは、監視カメラ10に対して補正画像の送信を要求する指示を指す。また、補正画像送信要求信号とは、監視カメラ10に対して補正画像の送信を要求する指示を示す信号を指す。
コントローラ60は、補正画像送信要求指示信号を監視カメラ10に送信する。コントローラ60により送信された補正画像送信指示信号は、監視カメラ10の通信I/F34(図2参照)によって受信され、CPU37に補正画像送信指示信号が出力される。
CPU37は、補正画像送信要求指示信号が入力されると、第1補正モード信号をぶれ補正装置33に出力する。ぶれ補正装置33は、第1補正モード信号が入力されると、第1補正モードで作動する。
このように、監視カメラ10から動画像を管理装置11に送信する場合に、補正部84によって第1補正モードでぶれの補正が行われる。この場合、監視カメラ10から管理装置11への動画像の送信に要するタイムラグを利用して第2補正モードよりもぶれの補正に時間を要する第1補正モードでぶれの補正を行う時間を確保することができる。従って、第2補正モードで未完画像のぶれを補正する場合に比べ、ぶれの補正の精度が高い動画像を監視カメラ10から管理装置11に送信することができる。
[第3実施形態]
上記第2実施形態では、露光期間の長短とは無関係に第1補正モード又は第2補正モードが設定される場合について説明したが、本第3実施形態では、露光期間の長短に応じて第1補正モードと第2補正モードとが選択的に設定される場合について説明する。なお、本第3実施形態では、上記第1及び第2実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。以下では、上記第1及び第2実施形態と異なる部分について説明する。
本第3実施形態に係るぶれ補正装置33に含まれる補正部84は、第1補正モード及び第2補正モードのうち、上記第1実施形態で説明した読出開始タイミング及び取得部82によるぶれ補正量の取得タイミングに応じて定められた補正モードでぶれの補正を行う。具体的には、一例として図16に示すように、撮像素子25による1フレーム分の撮像において、取得部82によるぶれ補正量の取得タイミングが読出開始タイミング以前であれば、補正部84は、第1補正モードでぶれを補正する。また、撮像素子25による1フレーム分の撮像において、取得部82によるぶれ補正量の取得タイミングが読出開始タイミングよりも遅ければ第2補正モードでぶれを補正する。
図17には、図6Aに示す例よりも各フレームの露光期間を長くした場合の1フレーム目及び2フレーム目の各々の露光期間及び読出期間の一例が示されている。図17に示す例では、図6Aに示す例の撮像が行われる場合の各フレームのシャッタスピードよりも、各フレームのシャッタスピードが遅く設定されることによって図6Aに示す例よりも露光期間が長く設定されている。
図17に示す例では、動画像に含まれる1フレーム目において、取得部82によるぶれ補正量Aの取得タイミングが読出開始タイミングよりも早い。すなわち、取得部82は、1フレーム目の露光中において、ぶれ補正量Aを、読出開始タイミングよりも早く取得している。この場合、1フレーム目の補正対象画像に対しては、ぶれ補正量Aに基づいて画像切出処理が行われることで、ぶれの補正が行われる。なお、図17に示す例において、1フレーム目の読出開始タイミングは、本開示の技術に係る「撮像素子からの画像の読み出しの開始時点」の一例である。
図17に示す例では、動画像用の撮像において、隣接する1フレーム目及び2フレーム目のうちの1フレーム目の撮像には第1読出期間が設定されており、2フレーム目の撮像には第2読出期間が設定されている。第1読出期間は、1フレーム目のアナログ画像が撮像素子25から読み出される期間である。第2読出期間は、2フレーム目のアナログ画像が撮像素子25から読み出される期間である。
図17に示す例では、第1読出期間と第2読出期間とが重複していない。そして、第1読出期間と第2読出期間との間の露光中に取得部82によってぶれ補正量Bが取得される。この場合、2フレーム目の補正対象画像に対しては、取得部82によって取得されたぶれ補正量Bに基づいて画像切出処理が行われることで、ぶれの補正が行われる。なお、ここで言う「1フレーム目」は、本開示の技術に係る「先フレーム」の一例であり、ここで言う「2フレーム目」は、本開示の技術に係る「後フレーム」の一例である。また、ここでは、1フレーム目と2フレーム目との関係性を例示しているが、これは、あくまでも一例であり、本開示の技術はこれに限定されない。すなわち、撮像されることで得られた動画像に含まれる2フレーム目以降の隣接する先フレーム及び後フレームも、図17に示す例の1フレーム目及び2フレーム目と同様の関係性を有する。
図18には、第1補正モードで画像のぶれが補正される場合のぶれ補正装置33の機能の一例が示されており、図19には、第2補正モードで画像のぶれが補正される場合のぶれ補正装置33の機能の一例が示されている。
図18に示すぶれ補正装置33は、図10に示すぶれ補正装置33に比べ、補正タイミング判定部88を有しない点が異なる。第1補正モードにおいて、補正部84は、補正指示信号の入力がなくとも画像メモリ32からデジタル画像を取得する。具体的には、第1補正モードにおいて、補正部84は、取得部82によってぶれ補正量が取得されたことをトリガーとして、既に画像メモリ32に記憶されているデジタル画像を取得し、取得したデジタル画像に対してぶれ補正量に基づくぶれの補正を行う。
すなわち、補正部84は、画像メモリ32内のデジタル画像が未完画像であったとしても、取得部82によってぶれ補正量が取得されたことをトリガーとして、画像メモリ32からデジタル画像を取得し、取得したデジタル画像に対してぶれの補正を行う。現在のフレームでぶれの補正対象とされた1フレーム分のデジタル画像に対するぶれの補正は、次のフレームの露光中に取得部82によってぶれ補正量が取得されるまでに完了する。
一例として図18に示すように、露光期間指示が受付デバイス43によって受け付けられると、受付デバイス43は、露光期間指示信号をコントローラ60に出力する。ここで、露光期間指示とは、1フレーム分の露光期間の指示を指す。また、露光期間指示信号とは、1フレーム分の露光期間の指示を示す信号を指す。
コントローラ60は、露光期間指示信号を監視カメラ10に送信する。コントローラ60により送信された露光期間指示信号は、監視カメラ10の通信I/F34(図2参照)によって受信され、CPU37に露光期間指示信号が出力される。
CPU37は、露光期間指示信号が入力されると、露光期間指示信号により指示された露光期間が閾値以上か否かを判定する。閾値は、実機による試験及び/又はコンピュータ・シミュレーション等によって、既定の条件を満足する露光期間として予め定められた値である。既定の条件とは、各フレームにおいて、取得部82によるぶれ補正量の取得タイミングが読出開始タイミングよりも早く、かつ、先フレーム読出期間と後フレーム読出期間とが重複しない、との条件を指す。ここで、先フレーム読出期間とは、隣接する先フレーム及び後フレームのうちの先フレームのアナログ画像の読出期間を指す。後フレーム読出期間とは、隣接する先フレーム及び後フレームのうちの後フレームのアナログ画像の読出期間を指す。
CPU37は、露光期間指示信号により指示された露光期間が閾値以上の場合に第1補正モード信号をぶれ補正装置33に出力する。ぶれ補正装置33は、CPU37から第1補正モード信号が入力されると、第1補正モードで作動する。本第3実施形態において、ぶれ補正装置33に対して第1補正モードが設定されると、補正部84は、既に画像メモリ32に記憶されているデジタル画像を取得し、取得したデジタル画像に対して、現時点で取得部82によって取得されているぶれ補正量に基づいてぶれを補正する。同じぶれ補正量に基づくぶれの補正は、1フレーム分のデジタル画像に対して行われる。結果的に、これは、上記第1及び第2実施形態で説明した補正対象画像に対してぶれの補正が行われることと技術的に同じ意義を有する。
一例として図19に示すように、CPU37は、露光期間指示信号により指示された露光期間が閾値未満の場合に第2補正モード信号をぶれ補正装置33に出力する。ぶれ補正装置33は、CPU37から第2補正モード信号が入力されると、上記第2実施形態で説明した第2補正モードで作動する。
次に、監視システム2の本開示の技術に係る部分の作用について説明する。なお、本第3実施形態では、上記第2実施形態で説明した作用とは異なる部分について説明する。
図20には、ぶれ補正装置33によって実行される第1補正モードぶれ補正処理の流れの一例が示されている。
図20に示す第1補正モードぶれ補正処理では、先ず、ステップST150で、ぶれ補正量算出部80は、ぶれ量検出センサ40によって検出されたぶれ量が入力されたか否かを判定する。ステップST150において、ぶれ量検出センサ40によって検出されたぶれ量が入力されていない場合は、判定が否定されて、第1補正モードぶれ量補正処理はステップST164へ移行する。ステップST150において、ぶれ量検出センサ40によって検出されたぶれ量が入力された場合は、判定が肯定されて、第1補正モードぶれ補正処理はステップST152へ移行する。
ステップST152で、ぶれ補正量算出部80は、入力されたぶれ量に基づいてぶれ補正量を算出し、算出したぶれ補正量を取得部82に出力する。取得部82は、ぶれ補正量算出部80によって出力されたぶれ補正量を取得し、その後、第1補正モードぶれ補正処理はステップST154へ移行する。
ステップST154で、補正部84は、画像メモリ32にデジタル画像が記憶されたか否かを判定する。ステップST154において、画像メモリ32にデジタル画像が記憶されていない場合は、判定が否定されて、ステップST154の判定が再び行われる。ここで、画像メモリ32にデジタル画像が記憶されていない場合とは、例えば、画像メモリ32にデジタル画像が何ら記憶されていない場合を指す。ステップST154において、画像メモリ32にデジタル画像が記憶された場合は、判定が肯定されて、第1補正モードぶれ補正処理はステップST156へ移行する。
ステップST156で、補正部84は、画像メモリ32に記憶されているデジタル画像を取得し、その後、第1補正モードぶれ補正処理はステップST158へ移行する。
ステップST158で、補正部84は、ステップST156で取得したデジタル画像に対して、ステップST152で取得部82によって取得されたぶれ補正量に基づいて画像切出処理を実行することで、デジタル画像のぶれを補正し、その後、第1補正モードぶれ補正処理はステップST160へ移行する。
ステップST160で、補正部84は、デジタル画像のぶれが補正されることで得られた補正画像をCPU37に出力し、その後、第1補正モードぶれ補正処理はステップST162へ移行する。なお、CPU37は、補正部84から入力された補正画像を通信I/F34を介して管理装置11に送信する。
ステップST162で、補正部84は、1フレーム分のデジタル画像に対してステップST158の処理が完了したか否かを判定する。ステップST162において、1フレーム分のデジタル画像に対してステップST158の処理が完了していない場合は、判定が否定されて、第1補正モードぶれ補正処理はステップST154へ移行する。ステップST162において、1フレーム分のデジタル画像に対してステップST158の処理が完了した場合は、判定が肯定されて、第1補正モードぶれ補正処理はステップST164へ移行する。
ステップST164で、補正部84は、第1補正モードぶれ補正処理を終了する条件(以下、「第1補正モードぶれ補正処理終了条件」と称する)を満足したか否かを判定する。第1補正モードぶれ補正処理終了条件としては、例えば、第1補正モードぶれ補正処理を終了させる指示が受付デバイス43によって受け付けられた、との条件が挙げられる。ステップST164において、第1補正モードぶれ補正処理終了条件を満足していない場合は、判定が否定されて、第1補正モードぶれ補正処理はステップST150へ移行する。ステップST152において、第1補正モードぶれ補正処理終了条件を満足した場合は、判定が肯定されて、第1補正モードぶれ補正処理が終了する。
以上説明したように、本第3実施形態に係る監視カメラ10では、1フレーム目の露光中において撮像素子25からのアナログ画像の読み出しの開始時点よりも早くぶれ補正量が取得部82によって取得される。従って、1フレーム目に読み出された1フレーム分のアナログ画像に対応する1フレーム分のデジタル画像である補正対象画像に対して、1フレーム目の露光期間に取得されたぶれ補正量に基づいてぶれの補正を行うことができる。
また、本第3実施形態に係る監視カメラ10では、第1読出期間と第2読出期間とが重複しない場合において、2フレーム目の1フレーム分のデジタル画像に対して、第1読出期間と第2読出期間との間の露光中に取得されたぶれ補正量に基づいてぶれが補正される。これにより、2フレーム目の1フレーム分のデジタル画像のぶれは、1フレーム目に取得されたぶれ補正量の影響を受けることなく、2フレーム目の露光中に取得されたぶれ補正量に基づいて補正される。3フレーム目以降のデジタル画像に対するぶれについても同様の方法で補正される。従って、隣接する先フレーム及び後フレームのうちの後フレームのデジタル画像に対するぶれの補正に対して、先フレームの露光中に取得されたぶれ補正量が影響を及ぼすことを回避することができる。
また、本第3実施形態に係る監視カメラ10では、第1補正モード及び第2補正モードのうち、読出開始タイミングと取得部82によるぶれ補正量の取得タイミングとに応じて定められた補正モードでぶれが補正される。従って、第1補正モード及び第2補正モードのうち、読出開始タイミング及び取得部82によるぶれ補正量の取得タイミングとは無関係に決められた補正モードでぶれが補正される場合に比べ、適切な補正モードでぶれを補正することができる。
更に、本第3実施形態に係る監視カメラ10では、取得部82によるぶれ補正量の取得タイミングが読出開始タイミング以前であれば第1補正モードでぶれが補正される。また、取得部82によるぶれ補正量の取得タイミングが読出開始タイミングよりも遅ければ第2補正モードでぶれが補正される。従って、第1補正モード及び第2補正モードのうち、取得部82によるぶれ補正量の取得タイミングと読出開始タイミングとの関係性に依らずに決められた補正モードでぶれが補正される場合に比べ、適切な補正モードでぶれを補正することができる。
なお、上記第3実施形態では、第1読出期間と第2読出期間との間の露光期間の中央の時点に取得されたぶれ補正量Bに基づいて2フレーム目のデジタル画像のぶれが補正される形態例を挙げて説明したが、本開示の技術はこれに限定されない。例えば、図21に示すように、第1読出期間と第2読出期間との間の1フレーム分の全露光期間を通じて取得部82によって取得された複数のぶれ補正量Bに基づいて2フレーム目のデジタル画像に対して画像切出処理を施すことでぶれを補正するようにしてもよい。複数のぶれ補正量Bを利用する形態例としては、複数のぶれ補正量B(図21に示す例では、5つのぶれ補正量B)の平均値に基づいて2フレーム目のデジタル画像に対して画像切出処理を施すことでぶれが補正される形態例が挙げられる。3フレーム目以降のデジタル画像に対しても同様の方法でぶれを補正することが可能である。このようにぶれを補正することで、1つのぶれ補正量のみに基づいてぶれが補正される場合に比べ、ぶれの補正精度を高めることができる。
また、上記第3実施形態では、シャッタスピードが調節されることで第1読出期間と第2読出期間とが重複しない露光期間が設定される形態例に挙げて説明したが、本開示の技術はこれに限定されない。例えば、CPU37は、シャッタスピードの調節に加え、撮像素子25の撮像領域の各感光画素に対するリセットのタイミングと、撮像素子25に対する垂直同期信号の入力タイミングとを制御することで、上述した既定の条件を満足する露光期間を設定してもよい。このように制御することで、例えば、隣接する先フレーム及び後フレームのうちの先フレームの読出期間が後フレームの露光期間と重ならないようにすることもできる。これにより、図21に示す例に比べ、先フレームの読出期間の終了時点と後フレームの露光期間中でのぶれ補正量の取得タイミングとが離れるので、図21に示す例に比べ、先フレーム(例えば1フレーム目)のぶれの補正を、余裕をもって行うことができる。また、図21に示す例に比べ、後フレーム(例えば2フレーム目)のぶれの補正も、余裕をもって行うことができる。
また、上記各実施形態では、ぶれ補正装置33としてASICを含むデバイスを例示しているが、本開示の技術はこれに限定されない。例えば、ぶれ補正装置33は、コンピュータによるソフトウェア構成により実現されるようにしてもよい。
この場合、例えば、図22に示すように、ぶれ補正装置33は、コンピュータ1852を備えている。そして、コンピュータ1852に上述したぶれ補正処理を実行させるためのぶれ補正プログラム1902を記憶媒体1900に記憶させておく。コンピュータ1852は、CPU1852A、ROM1852B、及びRAM1852Cを備えている。記憶媒体1900に記憶されているぶれ補正プログラム1902は、コンピュータ1852にインストールされ、CPU1852Aは、ぶれ補正プログラム1902に従って、上述したぶれ補正処理を実行する。
図22に示す例では、CPU1852Aは、単数のCPUであるが、本開示の技術はこれに限定されず、複数のCPUを採用してもよい。なお、記憶媒体1900の一例としては、SSD又はUSBメモリなどの任意の可搬型の記憶媒体が挙げられる。
また、通信網(図示省略)を介してコンピュータ1852に接続される他のコンピュータ又はサーバ装置等の記憶部にぶれ補正プログラム1902を記憶させておき、上述の監視カメラ10の要求に応じてぶれ補正プログラム1902がコンピュータ1852にダウンロードされるようにしてもよい。この場合、ダウンロードされたぶれ補正プログラム1902がコンピュータ1852のCPU1852Aによって実行される。
また、コンピュータ1852は、ぶれ補正装置33の外部に設けられるようにしてもよい。この場合、コンピュータ1852がぶれ補正プログラム1902に従ってぶれ補正装置33を制御するようにすればよい。
上記のぶれ補正処理を実行するハードウェア資源としては、次に示す各種のプロセッサを用いることができる。プロセッサとしては、例えば、上述したように、ソフトウェア、すなわち、プログラムを実行することで、ぶれ補正処理を実行するハードウェア資源として機能する汎用的なプロセッサであるCPUが挙げられる。また、プロセッサとしては、例えば、FPGA、PLD、又はASICなどの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路が挙げられる。何れのプロセッサにもメモリが内蔵又は接続されており、何れのプロセッサもメモリを使用することでぶれ補正処理を実行する。
ぶれ補正処理を実行するハードウェア資源は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、又はCPUとFPGAとの組み合わせ)で構成されてもよい。また、ぶれ補正処理を実行するハードウェア資源は1つのプロセッサであってもよい。
1つのプロセッサで構成する例としては、第1に、クライアント及びサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが、ぶれ補正装置33内の処理を実行するハードウェア資源として機能する形態がある。第2に、SoCなどに代表されるように、ぶれ補正処理を実行する複数のハードウェア資源を含むシステム全体の機能を1つのICチップで実現するプロセッサを使用する形態がある。このように、ぶれ補正装置33内の処理は、ハードウェア資源として、上記各種のプロセッサの1つ以上を用いて実現される。
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路を用いることができる。
また、上記各実施形態では、本開示の技術に係る撮像装置の一例として監視カメラ10を挙げたが、本開示の技術はこれに限定されない。例えば、監視カメラ10に代えて、携帯型のレンズ交換式カメラ、携帯型のレンズ固定式カメラ、パーソナル・コンピュータ、スマートデバイス、又はウェアラブル端末装置等の各種の電子機器に対しても本開示の技術は適用可能である。これらの電子機器であっても、上記各実施形態で説明した監視カメラ10と同様の作用及び効果が得られる。
また、上記各実施形態では、ローリングシャッタ方式による撮像を例示したが、本開示の技術はこれに限定されず、グローバルシャッタ方式による撮像が行われる場合であっても本開示の技術は成立する。
また、上記のぶれ補正処理はあくまでも一例である。従って、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
以上に示した記載内容及び図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、及び効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、及び効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容及び図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことは言うまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容及び図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。
本明細書において、「A及び/又はB」は、「A及びBのうちの少なくとも1つ」と同義である。つまり、「A及び/又はB」は、Aだけであってもよいし、Bだけであってもよいし、A及びBの組み合わせであってもよい、という意味である。また、本明細書において、3つ以上の事柄を「及び/又は」で結び付けて表現する場合も、「A及び/又はB」と同様の考え方が適用される。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。