以下に、本発明の実施形態を図面に基づいて詳細に説明する。なお、以下に説明する実施形態により本発明が限定されるものではない。
(第1実施形態)
(撮像装置の構成)
図1は、第1実施形態に係る撮像システムの模式的なブロック図である。図1に示すように、第1実施形態に係る撮像システム1は、撮像装置10と、画像処理装置100とを含む。撮像装置10は、画像を撮像する撮像装置である。撮像装置10は、撮像した画像データをデコーダにより圧縮して、圧縮した圧縮画像データを生成する。画像処理装置100は、撮像装置10から圧縮画像データを取得して、圧縮画像データを復号可能に構成されている。なお、本実施形態では、撮像装置10と画像処理装置100とは、無線通信方式で圧縮画像データなどの情報の送受信を行うが、通信方式は任意であり、例えば有線通信方式で情報の送受信を行ってよい。
図1に示すように、撮像装置10は、撮像部20と、画像処理回路21と、制御部22と、通信部24と、記憶部26と、第1圧縮回路30Aと、コネクタCとを備える。撮像部20は、光学素子20Aと撮像素子20Bとを含む。光学素子20Aは、例えばレンズなどの光学系の素子である。撮像素子20Bは、光学素子20Aを通して入射した光を電気信号である画像信号に変換する素子である。撮像素子20Bは、例えば、CCD(Charge COupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなどである。画像処理回路21は、撮像素子20Bが生成した画像信号から、1フレーム毎の画像データを生成する。画像データは、例えば1つのフレームにおける各画素の輝度や色の情報を含むデータであり、画素毎の階調が割り当てられるデータであってもよい。
制御部22は、撮像装置10の各部を制御する。制御部22は、演算装置、すなわちCPU(Central Processing Unit)である。制御部22の機能については後述する。通信部24は、画像処理装置100などの外部の装置と通信を行う通信モジュールであり、例えばアンテナなどである。
記憶部26は、撮像部20が撮像した画像データ、画像データを圧縮した圧縮画像データ、制御部22が実行するプログラム(ソフトウェア)などを記憶するメモリである。記憶部26は、主記憶装置と補助記憶装置とを含む。記憶部26は、主記憶装置として、フレームバッファ部26Aを含む。フレームバッファ部26Aは、撮像部20が撮像した画像データを一時的に記憶する。記憶部26は、補助記憶装置として、圧縮画像データ記憶部26Bを含む。圧縮画像データ記憶部26Bは、圧縮画像データを記憶する。補助記憶装置(圧縮画像データ記憶部26B)は、例えばHDD(Hard Disk Drive)、SDメモリカード、SSD(Solid State Disk)などである。
第1圧縮回路30Aは、画像データを圧縮する回路である。第1圧縮回路30Aは、第1エンコーダ32Aと第1デコーダ34Aとを備える。第1エンコーダ32Aは、画像データを圧縮して圧縮画像データを生成するエンコーダである。第1エンコーダ32Aは、第1圧縮方式で画像データを圧縮する。第1エンコーダ32Aの第1圧縮方式は任意の方式であってよいが、例えば、H.264の規格に基づく圧縮方式であってよい。第1デコーダ34Aは、圧縮画像データを復号するデコーダである。第1デコーダ34Aは、第1圧縮方式で圧縮された圧縮画像データを復号して、画像データを生成する。なお、本実施形態では、第1エンコーダ32Aと第1デコーダ34Aとが組み込まれた第1圧縮回路30Aが1つのハードウェアを構成しているが、第1エンコーダ32Aと第1デコーダ34Aとがそれぞれ別体のハードウェアであってもよい。
コネクタCは、外部の装置を撮像装置10に接続するための接続部(端子)である。コネクタCは、例えばUSB(Universal Serial Bus)接続端子などであってよいし、さらに大きな伝送速度が必要な場合はそれに応じたコネクタを選択すればよい。撮像装置10は、コネクタCを介して、第2圧縮回路30Bの接続が可能となっている。すなわち、撮像装置10は、第2圧縮回路30Bの接続と非接続とを切り替え可能となっている。
第2圧縮回路30Bは、画像データを圧縮する回路である。第2圧縮回路30Bは、第2エンコーダ32Bと、第2デコーダ34Bとを備える。第2エンコーダ32Bは、画像データを圧縮して圧縮画像データを生成するエンコーダである。第2エンコーダ32Bは、第1圧縮方式とは異なる第2圧縮方式で画像データを圧縮する。第2エンコーダ32Bの第2圧縮方式は任意の方式であってよいが、例えば、H.265の規格に基づく圧縮方式であってよい。第2デコーダ34Bは、圧縮画像データを復号するデコーダである。第2デコーダ34Bは、第2圧縮方式で圧縮された圧縮画像データを復号して、画像データを生成する。なお、本実施形態では、第2エンコーダ32Bと第2デコーダ34Bとが組み込まれた第2圧縮回路30Bが1つのハードウェアを構成しているが、第2エンコーダ32Bと第2デコーダ34Bとがそれぞれ別体のハードウェアであってもよい。
また、本実施形態では、第1エンコーダ32A、第2エンコーダ32B、第1デコーダ34A、及び第2デコーダ34Bがハードウェア(回路)であったが、それに限られず、第1エンコーダ32A、第2エンコーダ32B、第1デコーダ34A、及び第2デコーダ34Bの少なくとも一部が、ソフトウェアであってもよい。
次に、制御部22の処理内容について説明する。図2は、第1実施形態に係る制御部の模式的なブロック図である。図3は、第1実施形態の撮像装置でのデータの流れを模式的に示す図である。図3は、バスラインBLに沿ったデータの流れを模式的に示している。制御部22は、撮像部20による撮像中に、エンコーダに画像データを圧縮させる。さらにいえば、制御部22は、撮像部20による撮像中に、画像データを圧縮させるエンコーダを、第1エンコーダ32Aから第2エンコーダ32Bに切り替えさせる。具体的には、図2に示すように、制御部22は、画像データ取得部42と、評価部44と、エンコーダ制御部46と、情報取得部48と、選択部50と、データ出力部52と、圧縮画像データ取得部53と、検出部54と、デコーダ制御部56とを含む。制御部22は、記憶部26からプログラム(ソフトウェア)を読み出して実行することで、画像データ取得部42と、評価部44と、エンコーダ制御部46と、情報取得部48と、選択部50と、データ出力部52と、圧縮画像データ取得部53と、検出部54と、デコーダ制御部56とを実現して、それらによる処理を実行する。なお、制御部22は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、これらの処理を実行してもよい。また、画像データ取得部42と、評価部44と、エンコーダ制御部46と、情報取得部48と、選択部50と、データ出力部52と、圧縮画像データ取得部53と、検出部54と、デコーダ制御部56との少なくとも一部を、ハードウェア回路で実現してもよい。例えば、評価部44を、ハードウェア回路としてもよい。
(エンコーダの切り替え処理)
以下、制御部22の各部の処理について説明すると共に、エンコーダの切り替え処理について説明する。画像データ取得部42は、撮像部20に撮像を行わせて、画像処理回路21に画像データPを生成させることで、画像データPを取得する。画像データ取得部42は、所定の期間(フレームレート)毎に画像データPが生成されるように、撮像部20に撮像させて、画像処理回路21に画像データPを生成させる。すなわち、画像データ取得部42は、撮像部20に、時系列で連続して画像を撮像させて、画像処理回路21に、撮像時刻が時系列で連続した複数の画像データPを生成させる。ここでのフレームレートは任意に設定してよい。なお、以降において、撮像部20による撮像中における処理について言及するが、撮像部20による撮像中とは、撮像部20に時系列で連続して画像を撮像させている最中を指し、例えば、撮像部20による撮像を一時停止している状態を含んでもよい。また、撮像部20による撮像中とは、1つの共通する画像ファイルに含まれる画像データPを生成している最中と言い換えることもできる。
図4は、フレームバッファ部に保存される画像データを示す模式図である。画像データ取得部42は、画像処理回路21が生成した画像データPを、フレームバッファ部26Aに一次的に保存させる。図4に示すように、画像データ取得部42は、フレームバッファ部26Aに、時系列で連続した複数の画像データPを保存させる。さらに言えば、画像データ取得部42は、撮像部20に撮像させながら、フレームバッファ部26Aに画像データPを順次保存させる。画像データ取得部42は、画像処理回路21から時系列において新しい画像データPを取得したら、フレームバッファ部26Aに保存されている時系列において最も古い画像データを、フレームバッファ部26Aから消去させて、取得した時系列において新しい画像データPを、フレームバッファ部26Aに新たな保存させる。図4では、時系列において新しい画像データP2を取得したら、フレームバッファ部26Aにおいて現在記憶されている最も古い画像データP1を消去して、代わりに画像データP2を保存している例を示している。
画像データ取得部42は、このようにフレームバッファ部26Aに画像データPを一次保存させることで、フレームバッファ部26Aに保存する画像データPの数を、所定数に維持させる。すなわち、フレームバッファ部26Aでは、新たな画像データPを保存する際には、時系列において最も古い画像データPを消去することで、同時に保存する画像データPの数が所定数に維持されている。フレームバッファ部26Aに保存する画像データPの数(所定数)は、複数であれば任意であってよいが、例えば30個以上9000個以下であってよい。
図2に示す評価部44は、画像データ取得部42が取得した画像データPを評価する。画像データ取得部42が取得した画像データPは、フレームバッファ部26Aに保存されるので、評価部44は、フレームバッファ部26Aに保存される画像データPを評価するともいえる。なお、評価部44は、フレームバッファ部26Aから画像データPを読み出して評価してもよいし、画像処理回路21から、フレームバッファ部26Aを経ずに画像データPを取得して、評価してもよい。
本実施形態では、評価部44は、画像データPの輝度を評価する。言い換えれば、評価部44は、画像データPの輝度を算出する。評価部44は、1つの画像データPの画素毎の輝度を算出する。評価部44は、画像データP毎に、画素毎の輝度を算出する。
エンコーダ制御部46は、撮像装置10のエンコーダを制御して、エンコーダに画像データPを圧縮させる。エンコーダ制御部46は、撮像部20による撮像中に、エンコーダに画像データPを圧縮させる。エンコーダ制御部46は、第1エンコーダ制御部として、第1エンコーダ32Aを制御して、第1エンコーダ32Aに画像データPを圧縮させる。また、エンコーダ制御部46は、第2エンコーダ制御部として、第2エンコーダ32Bを制御して、第2エンコーダ32Bに画像データPを圧縮させる。エンコーダ制御部46による画像データPの圧縮方法については、後述する。なお例えば、第1エンコーダ32Aや第2エンコーダ32Bに、画像データPを圧縮させるためのCPUが組み込まれていてもよい。
情報取得部48は、切替情報を取得する。切替情報とは、第2エンコーダ32Bで画像データPを圧縮可能な状態であることを示す情報である。情報取得部48は、撮像部20による撮像中であって第1エンコーダ32Aに画像データPを圧縮させている状態において、切替情報を取得する。言い換えれば、情報取得部48は、撮像部20による撮像中であって、エンコーダ制御部46が第1エンコーダ32Aで画像データPを圧縮させているモードに設定されている際に、切替情報を取得する。本実施形態では、情報取得部48は、第2エンコーダ32B(ここでは第2圧縮回路30B)が撮像装置10に接続されたことを検知し、第2エンコーダ32Bが撮像装置10に接続された旨の情報を、切替情報として取得する。すなわち、第1エンコーダ32Aで画像データPを圧縮させているモードにおいて第2エンコーダ32Bが接続されたら、情報取得部48は、切替情報を取得する。ただし、情報取得部48は、第2エンコーダ32Bが接続されたことを、切替情報として取得することに限られない。例えば、情報取得部48は、第2エンコーダ32Bの電源がオンとなって第2エンコーダ32Bが使用可能な状態になったことを、切替情報として取得してもよい。この場合、第2エンコーダ32Bは、撮像装置10から取り外し可能になっておらず、撮像装置10に常に取付けられた状態になっていてもよい。また例えば、第2エンコーダ32Bがソフトウェアである場合、情報取得部48は、第2エンコーダ32Bを用いる旨の指令があった場合に、第2エンコーダ32Bによる圧縮が可能になっているとして、切替情報を取得してよい。
図5は、切替情報を取得した際の切替画像データの選択を説明する模式図である。選択部50は、情報取得部48が切替情報を取得した場合に、フレームバッファ部26Aに保存されている複数の画像データPのうちから、切替画像データを選択する。切替画像データとは、第2エンコーダ32Bでの圧縮を開始する画像データPを指す。エンコーダ制御部46は、時系列において切替画像データよりも前の画像データPについては、第1エンコーダ32Aで圧縮させる。そして、エンコーダ制御部46は、時系列において切替画像データ以降の画像データPについては、第2エンコーダ32Bで圧縮させる。ここでの切替画像データ以降の画像データPとは、切替画像データと、時系列において切替画像データより後の画像データPとを含む。以下、具体的に説明する。
エンコーダ制御部46は、撮像部20による撮像中に、逐次、フレームバッファ部26Aに保存された画像データPを読み出して、読み出した画像データPを第1エンコーダ32A又は第2エンコーダ32Bに入力して、第1エンコーダ32A又は第2エンコーダ32Bに画像データPを圧縮させる。そのため、図5に示すように、フレームバッファ部26Aには、第1エンコーダ32A又は第2エンコーダ32Bで圧縮済みの画像データPEと、第1エンコーダ32A又は第2エンコーダ32Bによって圧縮されていない(これから圧縮される)画像データPNとが含まれる。なお、圧縮済みの画像データPEは、第1エンコーダ32A又は第2エンコーダ32Bで圧縮された後の圧縮画像データを指すものではなく、第1エンコーダ32A又は第2エンコーダ32Bで圧縮するために読み出された画像データPを指している。
エンコーダ制御部46は、第1エンコーダ32Aで画像データPを圧縮させているモードにおいて、情報取得部48が切替情報を取得するまでは、第1エンコーダ32Aに画像データPを圧縮させる。図5は、情報取得部48が切替情報を取得したタイミングにおける、フレームバッファ部26Aに保存されている画像データPの例を示している。図5の例では、情報取得部48が切替情報を取得したタイミングにおいては、フレームバッファ部26Aには、第1エンコーダ32Aで圧縮するために読み出された画像データPEと、圧縮するための読出しが行われていない画像データPNとが含まれている。
選択部50は、情報取得部48が切替情報を取得したら、フレームバッファ部26A内の第1領域AR1に含まれる画像データPから、切替画像データを選択する。第1領域AR1は、フレームバッファ部26Aが現在保存している全ての画像データPを指す。すなわち、選択部50は、情報取得部48が切替情報を取得したら、フレームバッファ部26Aに記憶されている全ての画像データPE及び画像データPNのうちから、1つの切替画像データを選択する。第1領域AR1に含まれる画像データPからからの切替画像データの選択方法の詳細については、後述する。
エンコーダ制御部46は、時系列において切替画像データよりも前の画像データPについては、第1エンコーダ32Aで圧縮させる。そして、エンコーダ制御部46は、時系列において切替画像データ以降の画像データPについては、第1エンコーダ32Aでの圧縮を停止して、第2エンコーダ32Bで圧縮させる。例えば、未圧縮の画像データPNから切替画像データが選択された場合、エンコーダ制御部46は、切替画像データの直前の画像データPNまでは、第2エンコーダ32Bで圧縮させず、第1エンコーダ32Aでの圧縮を継続する。そして、エンコーダ制御部46は、切替画像データ以降の画像データPNについては、第1エンコーダ32Aでの圧縮を停止して、第2エンコーダ32Bで圧縮させる。一方、圧縮済みの画像データPEから切替画像データが選択された場合、エンコーダ制御部46は、切替画像データ以降の画像データPEと、未圧縮の画像データPNとを、第2エンコーダ32Bで圧縮させる。すなわちこの場合、切替画像データ以降の画像データPEは、第1エンコーダ32A及び第2エンコーダ32Bの両方に圧縮され、切替画像データ以降の画像データPNは、第1エンコーダ32Aで圧縮されず第2エンコーダ32Bで圧縮される。
なお、以上の説明では、選択部50は、情報取得部48が切替情報を取得したことをトリガとして、切替画像データを選択してエンコーダ制御部46によって第2エンコーダ32Bに切り替えさせていた。ただし、切替画像データを選択するためのトリガはそれに限られない。具体的には、選択部50は、情報取得部48が切替情報を取得したら、第2エンコーダ32Bに切り替えるかを判断してよい。例えば、選択部50は、現在圧縮中の第1エンコーダ32Aによる第1圧縮方式と、切り替えようとする第2エンコーダ32Bによる第2圧縮方式とを比較して、その比較結果から、第2エンコーダ32Bに切り替えるかを判断してよい。例えば、選択部50は、同じ画像データを第1圧縮方式と第2圧縮方式で圧縮した際に、生成された圧縮画像データの容量(データ量)が小さい方の圧縮方式のエンコーダを選択する。すなわち、第2圧縮方式で圧縮した際の圧縮画像データの容量が、第1圧縮方式で圧縮した際の圧縮画像データの容量より小さい場合は、第2エンコーダ32Bに切り替えると判断する。一方、第2圧縮方式で圧縮した際の圧縮画像データの容量が、第1圧縮方式で圧縮した際の圧縮画像データの容量より大きい場合は、第2エンコーダ32Bに切り替えず、第1エンコーダ32Aの圧縮を継続すると判断する。
また、情報取得部48は、切替停止情報を取得する。切替情報とは、第2エンコーダ32Bで画像データPを圧縮不可能な状態であることを示す情報である。情報取得部48は、撮像部20による撮像中であって第2エンコーダ32Bに画像データPを圧縮させている状態において、切替情報を取得する。言い換えれば、情報取得部48は、撮像部20による撮像中であって、エンコーダ制御部46が第2エンコーダ32Bで画像データPを圧縮させているモードに設定されている際に、切替停止情報を取得する。本実施形態では、情報取得部48は、第2エンコーダ32B(ここでは第2圧縮回路30B)が撮像装置10と非接続になったことを検知し、第2エンコーダ32Bが撮像装置10と非接続になった旨の情報を、切替停止情報として取得する。すなわち、第2エンコーダ32Bで画像データPを圧縮させているモードにおいて第2エンコーダ32Bが非接続とされたら、情報取得部48は、切替停止情報を取得する。ただし、情報取得部48は、第2エンコーダ32Bが非接続にされたことを、切替停止情報として取得することに限られない。例えば、情報取得部48は、第2エンコーダ32Bの電源がオフとなって第2エンコーダ32Bが使用不可能な状態になったことを、切替停止情報として取得してもよい。この場合、第2エンコーダ32Bは、撮像装置10から取り外されず、撮像装置10に取付けられた状態になっていてもよい。また例えば、第2エンコーダ32Bがソフトウェアである場合、情報取得部48は、第2エンコーダ32Bの使用を停止する旨の指令があった場合に、第2エンコーダ32Bによる圧縮が不可能になっているとして、切替停止情報を取得してよい。
図6は、切替停止情報を取得した際の切替画像データの選択を説明する模式図である。選択部50は、情報取得部48が切替停止情報を取得した場合に、フレームバッファ部26Aに保存されている複数の画像データPのうちから、復帰画像データを選択する。復帰画像データとは、第1エンコーダ32Aでの圧縮を再開する画像データPを指す。エンコーダ制御部46は、時系列において復帰画像データよりも前の画像データPについては、第2エンコーダ32Bで圧縮させる。さらにいえば、エンコーダ制御部46は、時系列において切り替え画像データ以降のデータであって復帰画像データよりも前の画像データPについては、第2エンコーダ32Bで圧縮させる。そして、エンコーダ制御部46は、時系列において復帰画像データ以降の画像データPについては、第1エンコーダ32Aで圧縮させる。以下、より具体的に説明する。
エンコーダ制御部46は、第2エンコーダ32Bで画像データPを圧縮させているモードにおいて、情報取得部48が切替停止情報を取得するまでは、第2エンコーダ32Bに画像データPを圧縮させている。図6は、情報取得部48が切替停止情報を取得したタイミングにおける、フレームバッファ部26Aに保存されている画像データPの例を示している。図6の例では、情報取得部48が切替停止情報を取得したタイミングにおいては、フレームバッファ部26Aには、第2エンコーダ32Bで圧縮するために読み出された画像データPEと、圧縮するための読出しが行われていない画像データPNとが含まれている。
選択部50は、情報取得部48が切替停止情報を取得したら、フレームバッファ部26A内の第2領域AR2に含まれる画像データPから、復帰画像データを選択する。第2領域AR2は、フレームバッファ部26Aが現在保存している画像データPのうち、第2エンコーダ32Bで圧縮するために読出し済みの全ての画像データPEと、圧縮するための読出しが行われていない画像データPNのうちの時系列において最も古い1つの画像データPNと、を含む。すなわち、選択部50は、情報取得部48が切替停止情報を取得したら、フレームバッファ部26Aに記憶されている全ての画像データPEと、フレームバッファ部26Aに記憶されている時系列において最も古い1つの画像データPNとのうちから、1つの復帰画像データを選択する。
エンコーダ制御部46は、時系列において復帰画像データよりも前の画像データPについては、第2エンコーダ32Bで圧縮させる。そして、エンコーダ制御部46は、時系列において復帰画像データ以降の画像データPについては、第2エンコーダ32Bでの圧縮を停止して、第1エンコーダ32Aで圧縮させる。例えば、時系列において最も古い未圧縮の画像データPNが切替画像データとして選択された場合、エンコーダ制御部46は、フレームバッファ部26A内における未圧縮の画像データPNの全てを、第1エンコーダ32Aで圧縮させる。一方、圧縮済みの画像データPEから復帰画像データが選択された場合、エンコーダ制御部46は、復帰画像データ以降の画像データPEと、画像データPNとを、第1エンコーダ32Aで圧縮させる。すなわちこの場合、復帰画像データ以降の画像データPEは、第1エンコーダ32A及び第2エンコーダ32Bの両方に圧縮される。このように、圧縮済みの画像データPEと最も古い未圧縮の画像データPNとから復帰画像データを選択することで、第1エンコーダ32A及び第2エンコーダ32Bのいずれにも圧縮されない画像データPが出てくることを抑制できる。
なお、切替停止情報を取得した後に、再度切替情報を取得した場合、選択部50は、切替画像データを再度選択する。この場合、復帰画像データ以降のデータであって次の切替画像データよりも前の画像データについては、第1エンコーダ32Aで圧縮し、その切替画像データ以降の画像データについては、第2エンコーダ32Bで圧縮させる。
制御部22は、以上のようにして、切替情報及び切替停止情報をトリガとして、第1エンコーダ32Aでの圧縮と第2エンコーダ32Bでの圧縮とを切り替える。この切り替え方法のフローを、フローチャートで説明する。図7は、圧縮の切り替え方法を説明するフローチャートである。図7に示すように、制御部22は、情報取得部48によって切替情報を取得したかを判断し(ステップS10)、切替情報を取得した場合(ステップS10;Yes)、選択部50によって、第1エンコーダ32Aから第2エンコーダ32Bに切り替えるかを判断する(ステップS12)。例えば、選択部50は、第2エンコーダ32Bで圧縮した際の圧縮画像データの容量が第1エンコーダ32Aで圧縮した際の圧縮画像データの容量よりも小さくなる場合に、第2エンコーダ32Bに切り替えると判断し、第2エンコーダ32Bで圧縮した際の圧縮画像データの容量が第1エンコーダ32Aで圧縮した際の圧縮画像データの容量よりも大きくなる場合に、第2エンコーダ32Bに切り替えないと判断する。第2エンコーダ32Bに切り替える場合(ステップS12;Yes)、制御部22は、選択部50によって、フレームバッファ部26Aの第1領域AR1内から、切替画像データを選択する(ステップS14)。すなわち、選択部50は、フレームバッファ部26Aが現在保存している全ての画像データPから、切替画像データを選択する。そして、制御部22は、エンコーダ制御部46により、第1エンコーダ32Aでの圧縮から第2エンコーダ32Bでの圧縮に切り替えて、時系列において切替画像データ以降の画像データPを、第2エンコーダ32Bで圧縮させる(ステップS16)。その後、処理を終了する場合(ステップS18;Yes)、本処理を終了し、処理を終了しない場合(ステップS18;No)、ステップS10に戻る。なお、第2エンコーダ32Bに切り替えない場合(ステップS12;No)、制御部22は、第2エンコーダ32Bに切り替えずに第1エンコーダ32Aでの圧縮を続けて、ステップS18に移動する。
一方、切替情報を取得しない場合(ステップS10;No)、制御部22は、情報取得部48によって切替停止情報を取得したかを判断する(ステップS20)。切替停止情報を取得した場合(ステップS20;Yes)、制御部22は、選択部50によって、フレームバッファ部26Aの第2領域AR2内から、復帰画像データを選択する(ステップS22)。すなわち、選択部50は、フレームバッファ部26Aに記憶されている全ての圧縮済みの画像データPEと、フレームバッファ部26Aに記憶されている最も古い未圧縮の画像データPNとのうちから、復帰画像データを選択する。そして、制御部22は、エンコーダ制御部46により、第2エンコーダ32Bでの圧縮から第1エンコーダ32Aでの圧縮に切り替えて、時系列において復帰画像データ以降の画像データPを、第1エンコーダ32Aで圧縮させる(ステップS24)。そして、処理を終了する場合(ステップS18;Yes)、本処理を終了し、処理を終了しない場合(ステップS18;No)、ステップS10に戻る。また、切替情報も切替停止情報も取得していない場合には(ステップS20;No)、圧縮するエンコーダを切り替えず、ステップS18に移動する。
(切替画像データの選択処理)
次に、選択部50による、フレームバッファ部26Aの第1領域AR1内からの切替画像データの選択方法について説明する。選択部50は、切替情報が取得されて第2エンコーダ32Bに切り替えると判断したら、評価部44による画像データPの評価結果に基づき、すなわち評価部44による画像データPの輝度値の算出結果に基づき、第1領域AR1内から切替画像データを選択する。
図8は、輝度ヒストグラムの一例を示すグラフである。本実施形態では、選択部50は、画像データPの画素毎の輝度値から、輝度ヒストグラムを生成する。選択部50は、輝度ヒストグラムに基づき、場面が切り替わった画像データPを検出する。場面が切り替わった画像データPとは、その画像データPの直前の画像から、場面(シーン)が切り替わった画像データを意味する。場面が切り替わった画像データPを切替画像データとしてエンコーダの切り替えを行った場合、エンコーダが切り替わったことが視認され難くなり、好適である。輝度ヒストグラムとは、例えば図8に示すように、画像データPにおける、輝度値毎の画素の数を示すデータである。選択部50は、フレームバッファ部26Aの第1領域AR1内の画像データPのそれぞれについて、輝度ヒストグラムを算出する。そして、選択部50は、場面が切り替わった画像データPを検出する対象となる画像データPの輝度ヒストグラムと、その画像データPの時系列における前の画像データP(ここでは直前の画像データP)の輝度ヒストグラムとを比較して、その比較結果から、場面が切り替わった画像データPであるかを判断する。例えば、選択部50は、対象となる画像データPと比較する画像データPとの画素数の差分を、輝度値毎に、算出する。そして、選択部50は、輝度値毎の画素数の差分の合計値を算出して、その合計値が所定の閾値以上である場合には、対象となる画像データPが、場面が切り替わった画像データPであると判断する。一方、選択部50は、合計値が閾値未満である場合には、対象となる画像データPが、場面が切り替わった画像データPでないと判断する。ただし、場面が切り替わった画像データPであるかの判断は、これに限られない。例えば、選択部50は、画像データP内の画素の輝度値の平均値を算出して、対象となる画像データPと比較する画像データPとの、平均値の差分を算出してよい。そして、この差分が所定の閾値以上である場合には、対象となる画像データPが、場面が切り替わった画像データPであると判断してよい。
本実施形態では、選択部50は、第1領域AR1内の全ての画像データPを対象となる画像データPとして、第1領域AR1内の全ての画像データPについて、場面が切り替わった画像データPであるかを判断する。選択部50は、場面が切り替わった画像データPであるかの判断結果から、切替画像データを選択する。例えば、選択部50は、第1領域AR1内の画像データPのうち、場面が切り替わった画像データPが1つである場合、その1つの画像データPを、切替画像データとして選択してよい。また、選択部50は、第1領域AR1内の画像データPのうち、場面が切り替わった画像データPが複数である場合、例えば、輝度値毎の画素数の差分の合計値や平均値の差分などが最大となる画像データPを、切替画像データとして選択してよい。
また、選択部50が切替画像データを選択する方法は、場面が切り替わった画像データPの検出に限られない。例えば、選択部50は、画像データPの画素のうちから注目領域を抽出して注目領域の動きベクトルを算出し、動きベクトルに基づき、切替画像データを選択してもよい。具体的には、選択部50は、画像データPの画素毎の輝度値に基づき、注目領域を抽出する。例えば、選択部50は、動きベクトルの算出の対象となる画像データPと、その画像データPの前の画像データP(ここでは直前の画像データP)との輝度値から、それらの画像データP同士で、輝度値の分布が類似する一群の画素(隣接する複数の画素)を、注目領域として抽出する。輝度値の分布の類似の判断方法は任意であるが、例えば画素毎の輝度値の差分が所定値以内である場合に、類似すると判断してよい。そして、選択部50は、対象となる画像データPの注目領域と、その画像データPの前の画像データPの注目領域との、位置の変化量を、動きベクトルとして算出する。すなわち、動きベクトルは、対象となる画像データPと、前の画像データPとの、注目領域の座標の変位量を示す値であり、被写体の動きの大きさを示す値であるともいえる。選択部50は、第1領域AR1内の全ての画像データPについて、動きベクトルを算出する。選択部50は、例えば、動きベクトルが最大となる画像データPを、切替画像データとして選択する。すなわち、選択部50は、被写体の動きが大きい画像データPを抽出し、被写体の動きが大きい画像データPに基づき、切替画像データを選択しているといえる。なお、選択部50は、注目領域を複数抽出し、注目領域毎の動きベクトルを算出してよい。この場合、選択部50は、注目領域毎の動きベクトルの合計値を画像データP毎に算出し、動きベクトルの合計値が最大となる画像データPを、切替画像データとして選択してよい。
また例えば、選択部50は、画像データPの輝度バラつきを算出し、輝度バラつきに基づき、切替画像データを選択してもよい。輝度バラつきとは、画像データPから生成される画像の位置毎の輝度値のバラつきを指す。例えば、選択部50は、輝度バラつきの算出対象となる画像データPについて、1つの画素と、その画素の周囲にある画素との、輝度値の差分を算出する。そして、選択部50は、その輝度値の差分を、画素毎に算出して、画素毎の輝度値の差分の合計値を、輝度バラつきとして算出する。選択部50は、第1領域AR1内の全ての画像データPについて、輝度バラつきを算出する。選択部50は、例えば、輝度バラつきが最大となる画像データPを、切替画像データとして選択する。すなわち、選択部50は、位置毎の輝度バラつきが大きい画像データPを抽出し、輝度バラつきが大きい画像データPに基づき、切替画像データを選択しているといえる。
さらにいえば、選択部50は、場面が切り替わった画像データPの検出結果と、動きベクトルの算出結果と、輝度バラつきの算出結果とに基づいて、切替画像データを選択してもよい。以下、この場合の切替画像データの選択方法を、フローチャートで説明する。図9は、切替画像データの選択方法の例を説明するフローチャートである。図9に示すように、選択部50は、フレームバッファ部26Aの第1領域AR1内の画像データPから対象となる画像データPを抽出して、対象となる画像データPの輝度ヒストグラムを生成して(ステップS30)、輝度ヒストグラムに基づき、シーンチェンジした画像データPであるかを、すなわち場面が切り替わった画像データPであるかを判断する(ステップS32)。例えば、選択部50は、対象となる画像データPと、その直前の画像データPとで、輝度値毎に画素数の差分を算出し、その差分を輝度値毎に合計する。そして、選択部50は、その合計値が所定の閾値以上である場合に、対象となる画像データPが、場面が切り替わった画像データPであると判断する。選択部50は、場面が切り替わった画像データPであると判断した場合には(ステップS32;Yes)、その画像データPに対してシーンチェンジフラグを立て(ステップS34)、場面が切り替わった画像データPでないと判断した場合には(ステップS32;No)、その画像データPに対してシーンチェンジフラグを立てない(ステップS36)。シーンチェンジフラグとは、画像データPに割り当てられる情報であり、シーンチェンジフラグが立てられた画像データPが、場面が切り替わった画像データPであることを示す情報である。
次に、選択部50は、対象となる画像データPの動きベクトルを算出する(ステップS38)。選択部50は、対象となる画像データPと直前の画像データPとの、注目領域の位置の変化量を、動きベクトルとして算出する。そして、選択部50は、対象となる画像データPの輝度バラつきを算出する(ステップS40)。選択部50は、1つの画素と、その画素の周囲にある画素との、輝度値の差分を算出し、画素毎の輝度値の差分の合計値を、輝度バラつきとして算出する。
次に、選択部50は、算出が終了したかを判断し(ステップS42)、算出が終了しない場合(ステップS42;No)、すなわちフレームバッファ部26Aの第1領域AR1内に、対象となる画像データPが他に存在する場合、ステップS30に戻り、他の対象となる画像データPを抽出して、同様の処理を行う。一方、算出が終了した場合(ステップS42;Yes)、すなわちフレームバッファ部26Aの第1領域AR1内の全ての対象となる画像データPの算出が終了した場合には、選択部50は、その算出結果に基づき、切替画像データを選択する(ステップS44)。すなわち、選択部50は、シーンチェンジフラグの有無、動きベクトルの値、及び輝度バラつきの値に基づき、切替画像データを選択する。
具体的には、選択部50は、シーンチェンジフラグの有無、動きベクトルの値、及び輝度バラつきの値を、第1領域AR1内の画像データP毎に比較して、その比較結果から、切替画像データを選択する。例えば、選択部50は、シーンチェンジフラグがあることを、すなわち場面が切り替わった画像データPであることを、動きベクトルの値、及び輝度バラつきの値よりも、切替画像データの選択の際に優先させることが好ましい。また、選択部50は、動きベクトルの値、及び輝度バラつきの値のうち、動きベクトルの値を、切替画像データの選択の際に優先させることが好ましい。例えば、選択部50は、第1領域AR1内の画像データPから、シーンチェンジフラグがある画像データPを抽出する。シーンチェンジフラグがある画像データPが1つである場合、選択部50は、シーンチェンジフラグがある画像データPを、切替画像データとして選択する。また、シーンチェンジフラグがある画像データPが2つ以上ある場合、選択部50は、抽出した画像データPの、動きベクトルの値、及び輝度バラつきの値を比較する。選択部50は、抽出した画像データPのうちで、動きベクトルの値が最大の画像データPを、切替画像データとして選択する。また、動きベクトルの値が同じであって最大となる画像データPが2つ以上ある場合、選択部50は、それらの画像データPの輝度バラつきの値を比較して、輝度バラつきが最大となる画像データPを、切替画像データとして選択する。シーンチェンジフラグがある画像データPがない場合は、動きベクトルの値、輝度バラつきの値の値のみを使って切替画像データを選択する。
なお、制御部22は、切替画像データの選択の際に、画像データPに含まれる全ての画素について輝度値を算出し、全ての画素の輝度値に基づき、輝度ヒストグラムや動きベクトルや輝度バラつきを算出してもよいが、それに限られない。制御部22は、画像データPに含まれる画素から一部の画素を抽出して、抽出した画素について、輝度値を算出し、輝度ヒストグラムや動きベクトルや輝度バラつきを算出してもよい。例えば、制御部22は、画像データPに含まれる全ての画素のうちから、所定数に画素を抽出したり、中央付近の画素を抽出したりしてよい。
選択部50は、以上のようにして、切替画像データを選択するが、フレームバッファ部26A内の画像データPからの切替画像データの選択方法は、以上の説明に限られず、任意であってよい。
なお、選択部50による、第2領域AR2からの復帰画像データの選択方法は、以上説明した第1領域AR1からの切替画像データの選択方法と同様であるため、説明を省略する。すなわち、復帰画像データの選択方法は、選択する対象となる画像データPが、第2領域AR2内の画像データPとなる以外は、切替画像データの選択方法と同様である。
(圧縮画像データの生成処理)
次に、エンコーダ制御部46が画像データPを圧縮させて生成する圧縮画像データQについて説明する。エンコーダ制御部46は、以上説明したように、第1エンコーダ32Aと第2エンコーダ32Bとを切り替えて、第1エンコーダ32Aと第2エンコーダ32Bとのいずれかで、画像データPを圧縮させて、圧縮画像データQを生成する。以下、第1エンコーダ32Aに圧縮された圧縮画像データQを、第1圧縮画像データQAとし、第2エンコーダ32Bに圧縮された圧縮画像データQを、第2圧縮画像データQBとする。
図10は、複数の圧縮画像データを含んだ圧縮画像ファイルの一例を示す模式図である。図10は、圧縮画像ファイルFの一例を示している。エンコーダ制御部46は、画像データPを圧縮して圧縮画像データQを生成して、圧縮画像データQが時系列で連続して並ぶ圧縮画像ファイルFを生成する。すなわち、圧縮画像ファイルFは、エンコーダ制御部46が生成した圧縮画像データQを時系列に連続して並べたデータ群を指す。すなわち、圧縮画像ファイルFをデコーダで復号すると、画像データPが時系列に並んだ画像ファイルとなる。図10の例では、撮像部20による撮像中に、第1エンコーダ32Aと第2エンコーダ32Bとが切り替えられた場合の圧縮画像ファイルFの一例を示している。以下、圧縮画像ファイルFのうち、第1エンコーダ32Aに圧縮された複数の第1圧縮画像データQAのデータ群を、データ群FAとし、第2エンコーダ32Bに圧縮された複数の第2圧縮画像データQBのデータ群を、データ群FBとする。また、エンコーダ制御部46は、圧縮画像ファイルFにヘッダHを含ませる。ヘッダHは、データ群FA、FBの前に、すなわちそれぞれ圧縮画像データQの前に配置される情報である。エンコーダ制御部46は、ヘッダHに、検出開始情報を含ませる。検出開始情報とは、圧縮画像ファイルFに、圧縮方式が異なる圧縮画像データQが含まれる可能性がある旨を示す情報である。また、エンコーダ制御部46は、ヘッダHに、予め定めたデフォルトのエンコーダ情報を含ませる。ヘッダHに含まれるエンコーダ情報とは、撮像装置10が通常時に画像データPを圧縮するデコーダの種類、言い換えれば圧縮方式を示す情報である。本実施形態では、エンコーダ制御部46は、撮像装置10に予め組み込まれている第1エンコーダ32A(第1圧縮方式)で画像データPを圧縮する旨の情報を、エンコーダ情報としてヘッダHに含ませている。
エンコーダ制御部46は、上述のように、切替画像データ以降であって復帰画像データより前の画像データPを、第2エンコーダ32Bで圧縮させて、第2圧縮画像データQBを生成する。図10のデータ群FBに示すように、エンコーダ制御部46は、切替画像データを第2エンコーダ32Bで圧縮させた第2圧縮画像データQ0Bと、切替画像データ以外の画像データPを第2エンコーダ32Bで圧縮させた第2圧縮画像データQ1Bとを、異なる方式で生成させる。具体的には、エンコーダ制御部46は、切替画像データを圧縮させた第2圧縮画像データQ0Bに、ポインタPO2が含まれるように、第2エンコーダ32Bに第2圧縮画像データQ0Bを生成させる。ポインタPO2は、そのポインタPO2が付与されている圧縮画像データQが、第2エンコーダ32Bで圧縮された旨を示す情報である。また、エンコーダ制御部46は、切替画像データ以外の画像データPを圧縮させた第2圧縮画像データQ1Bには、ポインタPO2を付与しない。
また、エンコーダ制御部46は、第2圧縮画像データQBのうちの一部の第2圧縮画像データQBを、IDR(Instantaneous Decoder Refresh)画像データとする。IDR画像データとは、IDRピクチャとも呼ばれ、単独で1枚の静止画像を生成できる画像データを指す。IDR画像データは、全ての画素の輝度情報を含んでいるといえる。一方、エンコーダ制御部46は、第2圧縮画像データQBのうちの残りを、非IDR画像データとする。非IDR画像データとは、IDR画像データではない圧縮画像データであり、単独で1枚の静止画像で生成できない画像データを指す。非IDR画像データは、時系列における直前の圧縮画像データQからの差分の情報のみを含んだ圧縮画像データである。そのため、IDR画像データは、非IDR画像データに比べて、データ容量が大きくなる。
エンコーダ制御部46は、切替画像データを圧縮した第2圧縮画像データQ0Bを、IDR画像データとする。すなわち、切替画像データを圧縮した第2圧縮画像データQ0Bは、ポインタPO2が付与されて、かつ、IDR画像データとされるデータとなる。また、エンコーダ制御部46は、時系列において所定の間隔毎に、IDR画像データを生成する。すなわち、第2圧縮画像データQ0BがIDR画像データでないと仮定した場合において第2圧縮画像データQBを時系列で並べると、IDR画像データである第2圧縮画像データQ1B1が所定の時間毎に配置され、IDR画像データ以外の第2圧縮画像データQBは、非IDR画像データとなる。すなわち、切替画像データ以外の画像データPを圧縮した第2圧縮画像データQ1Bは、ポインタPO2が付与されないがIDR画像データとされた第2圧縮画像データQ1B1と、ポインタPO2が付与されず非IDR画像データとされた第2圧縮画像データQ1B2と、を含む。エンコーダ制御部46は、第2圧縮画像データQ0Bよりも後の画像データPの少なくとも一部を、非IDR画像データとなるように圧縮して第2圧縮画像データQ1B2を生成しているといえる。
また、エンコーダ制御部46は、上述のように、切替画像データより前の画像データPと、復帰画像データ以降の画像データPとを、第1エンコーダ32Aで圧縮させて、第1圧縮画像データQAを生成する。図10のデータ群FAに示すように、エンコーダ制御部46は、復帰画像データを第1エンコーダ32Aで圧縮させた第1圧縮画像データQ0Aと、復帰画像データ以外の画像データPを第1エンコーダ32Aで圧縮させた第1圧縮画像データQ1Aとを、異なる方式で生成させる。具体的には、エンコーダ制御部46は、復帰画像データを圧縮させた第1圧縮画像データQ0Aに、ポインタPO1が含まれるように、第1エンコーダ32Aに第1圧縮画像データQ0Aを生成させる。ポインタPO1は、そのポインタPO1が付与されている圧縮画像データQが、第1エンコーダ32Aで圧縮された旨を示す情報である。また、エンコーダ制御部46は、復帰画像データ以外の画像データPを圧縮させた第1圧縮画像データQ1Aには、ポインタPO1を付与しない。ポインタPO1は、第2エンコーダ32Bで圧縮された旨を示すポインタPO2と、異なる内容であることが好ましい。なお、以下、ポインタPO1とポインタPO2とを区別しない場合は、ポインタPOと記載する。
また、エンコーダ制御部46は、第1圧縮画像データQAのうちの一部の第1圧縮画像データQAを、IDR画像データとし、残りを、非IDR画像データとする。エンコーダ制御部46は、復帰画像データを圧縮させた第1圧縮画像データQ0Aを、IDR画像データとする。すなわち、復帰画像データを圧縮させた第1圧縮画像データQ0Aは、ポインタPO1が付与されて、かつ、IDR画像データとされるデータである。また、エンコーダ制御部46は、時系列において所定の間隔毎に、IDR画像データを生成する。すなわち、第1圧縮画像データQ0AがIDR画像データでないと仮定した場合に第1圧縮画像データQAを時系列で並べると、所定の時間毎に、IDR画像データである第1圧縮画像データQ1A1が所定の時間毎に並び、IDR画像データ以外の第1圧縮画像データQAは、非IDR画像データとなる。すなわち、復帰画像データ以外の画像データPを圧縮した第1圧縮画像データQ1Aは、ポインタPO1が付与されないがIDR画像データとされた第1圧縮画像データQ1A1と、ポインタPO1が付与されず非IDR画像データとされた第1圧縮画像データQ1A2と、を含む。エンコーダ制御部46は、第1圧縮画像データQ0Aよりも後の画像データPの少なくとも一部を、非IDR画像データとなるように圧縮して第1圧縮画像データQ1Aを生成しているといえる。
エンコーダ制御部46は、以上のようにして生成した圧縮画像データQを、さらに言えば圧縮画像ファイルFを、圧縮画像データ記憶部26Bに記憶させる。また、図2に示すデータ出力部52は、以上のようにして生成した圧縮画像データQを、さらに言えば圧縮画像ファイルFを、通信部24を介して画像処理装置100(図1参照)に出力する。画像処理装置100は、圧縮画像データQを復号して画像データPを復元可能に構成されている。以下、画像処理装置100による圧縮画像データQの複合処理ついて説明する。
(圧縮画像データの複合処理)
画像処理装置100は、撮像装置10が生成した圧縮画像データQを、さらに言えば圧縮画像ファイルFを受信するコンピュータ、すなわち外部サーバである。画像処理装置100は、圧縮画像データQを復号して画像データPを生成可能に構成されている。図1に示すように、画像処理装置100は、制御部122と、通信部124と、記憶部126と、第1圧縮回路130Aと、第2圧縮回路130Bとを含む。制御部122は、画像処理装置100の各部を制御する。制御部122は、演算装置、すなわちCPUである。通信部124は、撮像装置10などの外部の装置と通信を行う通信モジュールであり、例えばアンテナなどである。記憶部126は、撮像装置10から取得した圧縮画像データQ、圧縮画像データQを復号した画像データ、制御部122が実行するプログラム(ソフトウェア)などを記憶するメモリである。記憶部26は、主記憶装置と補助記憶装置とを含む。
第1圧縮回路130Aは、画像データPを第1圧縮方式で圧縮する第1エンコーダ132Aと、第1圧縮方式で圧縮された圧縮画像データQを復号する第1デコーダ134Aとを含む。第2圧縮回路130Bは、画像データPを第2圧縮方式で圧縮する第2エンコーダ132Bと、第2圧縮方式で圧縮された圧縮画像データQを復号する第2デコーダ134Bとを含む。第1エンコーダ132A、第1デコーダ134A、第2エンコーダ132B、及び第2デコーダ134Bは、上述の第1エンコーダ32A、第1デコーダ34A、第2エンコーダ32B、及び第2デコーダ34Bと同じ構成や機能を備えているため、説明を省略する。第1エンコーダ132A、第1デコーダ134A、第2エンコーダ132B、及び第2デコーダ134Bは、上述の第1エンコーダ32A、第1デコーダ34A、第2エンコーダ32B、及び第2デコーダ34Bと同様に、少なくとも一部がソフトウェアであってもよい。
図11は、画像処理装置の制御部の模式的なブロック図である。制御部122は、撮像装置10から取得した圧縮画像データQを、第1デコーダ34A又は第2デコーダ34Bで復号させて、画像データPを取得する。図11に示すように、制御部122は、圧縮画像データ取得部153と、検出部154と、デコーダ制御部156とを含む。制御部122は、記憶部126からプログラム(ソフトウェア)を読み出して実行することで、圧縮画像データ取得部153と、検出部154と、デコーダ制御部156とを実現して、それらによる処理を実行する。なお、制御部122は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、これらの処理を実行してもよい。また、圧縮画像データ取得部153と、検出部154と、デコーダ制御部156との少なくとも一部を、ハードウェア回路で実現してもよい。
圧縮画像データ取得部153は、通信部124を介して、撮像装置10から、圧縮画像データQを、さらに言えば圧縮画像ファイルFを取得する。圧縮画像データ取得部153は、取得した圧縮画像ファイルFを記憶部126に記憶させる。なお、撮像装置10は、撮像中に、すなわち圧縮画像データQを生成している最中に、画像処理装置100に圧縮画像データQを逐次送信してよい。この場合、圧縮画像データ取得部153は、新たな圧縮画像データQを取得する毎に、圧縮画像ファイルFに、その圧縮画像データQを時系列の末尾に追加する。
検出部154及びデコーダ制御部156は、圧縮画像データ取得部153が取得した圧縮画像ファイルFを読み出して復号して、画像データPを含んだ画像ファイルを復元する。具体的には、検出部154は、圧縮画像データ取得部153が取得した圧縮画像ファイルFを読み出す。上述のように、撮像装置10のエンコーダ制御部46は、圧縮画像ファイルFのヘッダHに、検出開始情報を含ませている。検出部154は、圧縮画像ファイルFに検出開始情報が含まれているかを検出する。検出部154は、圧縮画像ファイルFに検出開始情報が含まれている場合、圧縮画像ファイルFに含まれる圧縮画像データQのそれぞれについて、ポインタPOが含まれているかを検出する。言い換えれば、検出部154は、圧縮画像ファイルFに検出開始情報が含まれている場合、圧縮画像ファイルFに含まれる圧縮画像データQのうちから、ポインタPOが含まれている圧縮画像データQを検出する。すなわち、検出部154は、圧縮画像ファイルFに検出開始情報が含まれている場合、圧縮画像ファイルFに含まれる圧縮画像データQのうちから、ポインタPO1が含まれる第1圧縮画像データQ0Aと、ポインタPO2が含まれる第2圧縮画像データQ0Bとを、検出する。
デコーダ制御部156は、検出部154の検出結果に基づき、圧縮画像ファイルFの圧縮画像データQを復号する。具体的には、デコーダ制御部156は、検出部154が検出したポインタPOが含まれている圧縮画像データQが、圧縮画像ファイルF中のどの位置の圧縮画像データQであるかの情報を取得する。より詳しくは、デコーダ制御部156は、ポインタPO1が含まれる第1圧縮画像データQ0Aと、ポインタPO2が含まれる第2圧縮画像データQ0Bとが、圧縮画像ファイルF中のどの位置の圧縮画像データQであるかの情報を取得する。そして、デコーダ制御部156は、圧縮画像ファイルF中の圧縮画像データQのうち、時系列において第2圧縮画像データQ0B以降の圧縮画像データQを、第2デコーダ134Bで復号させる。より詳しくは、デコーダ制御部156は、圧縮画像ファイルF中の圧縮画像データQのうち、時系列において第2圧縮画像データQ0Bより前の圧縮画像データQを、すなわち図10に示すデータ群FAの第1圧縮画像データQ1Aを、第1デコーダ134Aで復号させる。そして、デコーダ制御部156は、圧縮画像ファイルF中の圧縮画像データQのうち、時系列において第2圧縮画像データQ0B以降であって第1圧縮画像データQ0Aより前の圧縮画像データQを、すなわち図10に示すデータ群FBの第2圧縮画像データQ0B及び第2圧縮画像データQ1Bを、第2デコーダ134Bで復号させる。なお、時系列において第1圧縮画像データQ0A以降であって次の第2圧縮画像データQ0Bより前の圧縮画像データQ(図10に示す右側のデータ群FAの第1圧縮画像データQ0A及び第1圧縮画像データQ1A2)がある場合は、それらについては第1デコーダ134Aで復号させる。
このように、デコーダ制御部156は、ポインタPO2が含まれた圧縮画像データQ以降は、第2エンコーダ32B(第2圧縮方式)で圧縮されたと判断して、第2デコーダ134Bで復号させる。そして、デコーダ制御部156は、ポインタPO2が含まれた圧縮画像データQより前の圧縮画像データQや、ポインタPO1が含まれた圧縮画像データQ以降の圧縮画像データQが、第1エンコーダ32A(第1圧縮方式)で圧縮されたと判断して、第1デコーダ134Aで復号させる。デコーダ制御部156は、このようにポインタPOによって復号するデコーダを選択するため、エンコーダが途中で切り替えられた場合においても、圧縮画像データQを適切に復号できる。
なお、検出部154は、圧縮画像ファイルFに検出開始情報が含まれていない場合は、エンコーダが切り替えられていないと判断して、圧縮画像データQにポインタPOが含まれているかの検出は実行しない。この場合、検出部154は、圧縮画像ファイルFが、ヘッダHに含まれるエンコーダ情報に示される第1エンコーダ32Aで、すなわち第1圧縮方式で圧縮されたと判断する。そして、検出部154は、デコーダ制御部156に、圧縮画像ファイルFに含まれる圧縮画像データQの全てを、第1デコーダ134Aで復号させる。すなわち、圧縮画像ファイルFに検出開始情報が含まれていない場合は、エンコーダの切り替えを行う予定が無いことを示している。そのため、この場合においては、画像処理装置100は、ヘッダHのエンコーダ情報に示される圧縮方式を復号するデコーダで、全ての圧縮画像データQを復号させる。
以上説明した圧縮画像データQの復号処理を、フローチャートに基づき説明する。図12は、本実施形態に係る圧縮画像データの復号処理を説明するフローチャートである。図12に示すように、制御部122は、圧縮画像データ取得部153により、圧縮画像ファイルFを取得する(ステップS50)。そして、制御部122は、検出部154により、圧縮画像ファイルFに検出開始情報が含まれているかを検出し(ステップS52)、検出開始情報が含まれている場合(ステップS52;Yes)、圧縮画像ファイルF中の圧縮画像データQから、ポインタPOが含まれる圧縮画像データQがあるかを検出する(ステップS54)。ポインタPOが含まれる圧縮画像データQがある場合(ステップS56;Yes)、制御部122は、デコーダ制御部156により、ポインタPOが含まれる圧縮画像データQ以降の圧縮画像データQを、ポインタPOに示されたデコーダで復号する(ステップS58)。例えば、デコーダ制御部156は、ポインタPO2が含まれる第2圧縮画像データQ0Bより前の圧縮画像データQを、第1デコーダ134Aで復号し、ポインタPO2が含まれる第2圧縮画像データQ0B以降であってポインタPO1が含まれる第1圧縮画像データQ0Aより前の圧縮画像データQを、第2デコーダ134Bで復号し、第1圧縮画像データQ0A以降の圧縮画像データQを、第1デコーダ134Aで復号する。
一方、圧縮画像ファイルFに検出開始情報が含まれていない場合(ステップS52;No)、制御部122は、デコーダ制御部156により、ヘッダHに含まれるエンコーダ情報に基づき、ヘッダHで定められたデコーダで、ここでは第1デコーダ134Aで、圧縮画像データQを復号する(ステップS60)。また、ポインタPOが含まれる圧縮画像データQがない場合も(ステップS56;No)、ステップS60に進み、ヘッダHで定められた第1デコーダ134Aで、圧縮画像データQを復号する。
なお、図2に示す撮像装置10の圧縮画像データ取得部53、検出部54、及びデコーダ制御部56も、以上説明した画像処理装置100の圧縮画像データ取得部153、検出部154及びデコーダ制御部156と同じ処理を実行するため、説明を省略する。
ここで、動画像、すなわち時系列で連続する画像を撮像する撮像装置は、撮像中に、言い換えれば1つの画像ファイルに含まれる時系列で連続する画像データPを生成している最中に、画像データを圧縮するエンコーダを切り替えることが求められる場合がある。例えば、撮像装置が撮像した画像データを外部の装置に送信する際や、撮像装置における記憶部の容量節約をする際などに、これまで使用していたエンコーダよりも圧縮率の高いエンコーダで圧縮する場合がある。しかし、撮像中にエンコーダを切り替えた場合、適切な画像を得ることが出来なくなる場合がある。
例えば、撮像中にエンコーダを切り替える場合、どの画像データPからエンコーダを切り替えるかを適切に決定することが求められる。例えばエンコーダの切り替えに不適切な画像データPからエンコーダを切り替えた場合、圧縮後に復号した画像が適切なものにならないおそれが生じる。それに対し、本実施形態に係る撮像装置10は、フレームバッファ部26Aに、複数の画像データPを一時的に保存させる。そして、撮像装置10は、第2エンコーダ32Bで圧縮可能であることを示す切替情報を取得した際に、フレームバッファ部26Aに保存されている複数の画像データPのうちから、第2エンコーダ32Bでの圧縮を開始する切替画像データを選択して、切替画像データから、第2エンコーダ32Bでの圧縮に切り替える。このように、本実施形態に係る撮像装置10によると、複数の画像データPから第2エンコーダ32Bでの圧縮に切り替える画像データPを選択できるため、エンコーダを切り替える画像データPを適切に決定して、適切な画像を得ることが出来る。
また例えば、エンコーダが切り替えられた圧縮画像ファイルFを復号する場合、どの圧縮画像データQから、復号するデコーダを切り替えるかを判断できずに適切に復号できなくなり、適切な画像を得ることが出来なくなるおそれが生じる。それに対し、本実施形態に係る画像処理装置100や撮像装置10は、エンコーダが切り替わったことを示すポインタPOが付与された圧縮画像データQを検出し、ポインタPOが付与された圧縮画像データQから、復号するデコーダを切り替える。そのため、本実施形態に係る画像処理装置100や撮像装置10によると、復号するデコーダを切り替える圧縮画像データQを適切に決定することが可能となり、復号を適切に行って適切な画像を得ることができる。
また例えば、撮像中にエンコーダを切り替える場合、どの画像データPからエンコーダを切り替えるかを適切に決定することが求められる。例えばエンコーダの切り替えに不適切な画像データPからエンコーダを切り替えた場合、圧縮後に復号した画像が適切なものにならないおそれが生じる。それに対し、本実施形態に係る撮像装置10は、評価部44により画像データPを評価して、選択部50により、画像データPの評価結果に基づき、エンコーダを切り替える画像データPを選択する。そのため、本実施形態に係る撮像装置10によると、エンコーダを切り替える画像データPを適切に選択可能となり、適切な画像を得ることが出来る。
以上説明したように、本実施形態に係る撮像装置10は、時系列で連続して画像を撮像する撮像部20と、フレームバッファ部26Aと、エンコーダ制御部46と、情報取得部48と、選択部50とを備える。撮像部20は、時系列で連続して画像を撮像する。フレームバッファ部26Aは、撮像部20が撮像した時系列で連続する複数の画像データPを保存する。フレームバッファ部26Aは、撮像部20から新たな画像データPを取得したら、時系列において古い画像データを消去して、新たな画像データPを保存することで、保存する画像データPの数を所定数に維持する。エンコーダ制御部46は、第1エンコーダ制御部として、第1エンコーダ32Aで画像データPを圧縮させる。情報取得部48は、第2エンコーダ32Bで画像データPを圧縮可能な状態であることを示す切替情報を取得する。選択部50は、切替情報が取得された場合に、フレームバッファ部26Aに保存されている複数の画像データPのうちから、第2エンコーダ32Bでの圧縮を開始する切替画像データを選択する。エンコーダ制御部46は、第2エンコーダ制御部として、時系列において切替画像データ以降の画像データPを、第2エンコーダ32Bで圧縮させる。この撮像装置10によると、複数の画像データPから第2エンコーダ32Bでの圧縮に切り替える画像データPを選択できるため、エンコーダを切り替える画像データPを適切に決定して、適切な画像を得ることが出来る。
また、エンコーダ制御部46は、切替画像データを第2エンコーダ32Bで圧縮して生成される第2圧縮画像データQ0Bに、第2エンコーダ32Bで圧縮された旨を示す情報であるポインタPO2が含まれるように、第2エンコーダ32Bに切替画像データを圧縮させる。この撮像装置10によると、第2エンコーダ32Bでの圧縮に切り替えた第2圧縮画像データQ0BにポインタPO2を含ませるため、復号の際のポインタPO2を参照することで、復号するデコーダを切り替える圧縮画像データQを適切に決定することが可能となり、適切な画像を得ることが出来る。
また、エンコーダ制御部46は、切替画像データを第2エンコーダ32Bで圧縮して生成される第2圧縮画像データQ0Bが、単独で1枚の静止画像を生成できるIDR画像データとなるように、第2エンコーダ32Bに切替画像データを圧縮させる。エンコーダが切り替わった際に、前のエンコーダで圧縮された画像を参照するような圧縮画像データQを生成すると、エンコーダが切り替わってからの画像を適切に生成できなくなるおそれがある。それに対し、この撮像装置10によると、エンコーダを切り替えた第2圧縮画像データQ0BをIDR画像データとすることで、前のエンコーダで圧縮された画像を参照する必要が無くなり、エンコーダが切り替わってからの画像を適切に再現することが可能となる。
また、情報取得部48は、第2エンコーダ32Bで画像データPを圧縮している際に、第2エンコーダ32Bで画像データPを圧縮不可能な状態であることを示す切替停止情報を取得する。選択部50は、切替停止状態が取得された場合に、フレームバッファ部26Aに保存されている複数の画像データPのうち、第2エンコーダ32Bで圧縮済みの画像データPEと、第2エンコーダ32Bで圧縮されていない画像データPNのなかで時系列において最も古い画像データPNとから、第1エンコーダ32Aでの圧縮を開始する復帰画像データを選択する。エンコーダ制御部46は、時系列において復帰画像データ以降の画像データPを、第1エンコーダ32Aに圧縮させる。ここで、第2エンコーダ32Bが撮像装置10から取り外されるなど、第2エンコーダ32Bでの圧縮が不可能な状態になった場合においては、第2エンコーダ32Bで圧縮されていない画像データPNから第1エンコーダ32Aでの圧縮に切り替えると、第1エンコーダ32A及び第2エンコーダ32Bのいずれにも圧縮されない画像データPNが存在してしまうおそれが生じる。それに対し、本実施形態に係る撮像装置10は、第2エンコーダ32Bでの圧縮が不可能な状態になった場合においては、圧縮済みの画像データPEと、未圧縮の画像データPNのなかで時系列において最も古い画像データPNとから、第1エンコーダ32Aに切り替える復帰画像データを選択する。そのため、本実施形態に係る撮像装置10によると、圧縮されない画像データPNが存在することを防止しつつ、第1エンコーダ32Aに切り替える画像データPを適切に決定して、適切な画像を得ることが出来る。
また、撮像装置10は、データ出力部52を更に備える。データ出力部52は、画像データPを第2エンコーダ32Bで圧縮して生成した第2圧縮画像データQBを、外部の装置に、ここでは画像処理装置100に出力する。本実施形態に係る撮像装置10によると、エンコーダを切り替えた圧縮画像データQを外部の装置に送信可能となるため、例えば圧縮率を適切に選定して、圧縮画像データQを送信することができる。
また、本実施形態に係る画像処理装置100は、圧縮画像データ取得部153と、検出部154と、デコーダ制御部156とを備える。圧縮画像データ取得部153は、時系列で連続して撮像された画像データPを圧縮した圧縮画像データQを取得する。検出部154は、圧縮画像データ取得部153が取得した圧縮画像データのうちから、ポインタPO2が含まれている第2圧縮画像データQ0Bを検出する。ポインタPO2は、圧縮画像データQが第2デコーダ134Bで復号可能な第2圧縮方式で圧縮された旨を示す情報である。デコーダ制御部156は、第1デコーダ制御部として、第1デコーダ134Aで圧縮画像データQを復号させ、第2デコーダ制御部として、第2デコーダ134Bで圧縮画像データQを復号させる。デコーダ制御部156は、時系列においてポインタPO2が含まれている第2圧縮画像データQ0B以降の圧縮画像データQを、第2デコーダ134Bで復号させる。本実施形態に係る画像処理装置100によると、復号するデコーダを切り替える圧縮画像データQを適切に決定することが可能となり、復号を適切に行って適切な画像を得ることができる。
また、検出部154は、圧縮画像データ取得部153が取得した圧縮画像データQのうちから、ポインタPO1が含まれている第1圧縮画像データQ0Aと、ポインタPO2が含まれている第2圧縮画像データQ0Bとを検出する。ポインタPO1は、圧縮画像データQが第1圧縮方式で圧縮された旨を示す情報であり、ポインタPO2は、圧縮画像データQが第2圧縮方式で圧縮された旨を示す情報である。デコーダ制御部156は、時系列において、第2圧縮画像データQ0B以降であって第1圧縮画像データQ0Aよりも前の圧縮画像データQを、第2デコーダ134Bで復号させる。本実施形態に係る画像処理装置100によると、ポインタPO1及びポインタPO2を検出することで、第2エンコーダ32Bでの圧縮に切り替えられた後、第2エンコーダ32Bでの圧縮が停止された際においても、復号するデコーダを切り替える圧縮画像データQを適切に決定することが可能となり、復号を適切に行って適切な画像を得ることができる。
また、検出部154は、圧縮方式が異なる圧縮画像データQが含まれる可能性がある旨を示す検出開始情報を取得した場合に、ポインタPOが含まれている圧縮画像データQの検出を開始する。そして、検出部154は、検出開始情報を取得しない場合は、ポインタPOが含まれているかを検出せずに、デコーダ制御部156に第1デコーダ134Aで圧縮画像データQを復号させる。本実施形態に係る画像処理装置100によると、圧縮方式が切り替えられる可能性がある場合に、ポインタPOを検出してデコーダを切り替えるための処理を実行し、圧縮方式が切り替えられる可能性がない場合には、デコーダを切り替えるための処理を実行しない。そのため、本実施形態に係る画像処理装置100によると、圧縮方式が切り替えられる可能性がある場合に、適切にデコーダを切り替える準備を行うことができ、復号を適切に行って適切な画像を得ることができる。
また、本実施形態に係る撮像装置10は、時系列で連続して画像を撮像する撮像部20と、フレームバッファ部26Aと、評価部44と、選択部50とを備える。撮像部20は、時系列で連続して画像を撮像する。評価部44は、フレームバッファ部26Aに保存される画像データPを評価する。選択部50は、評価部44の評価に基づき、フレームバッファ部26Aに保存されている複数の画像データPのうちから、圧縮方式を切り替える切替画像データを選択する。本実施形態に係る撮像装置10によると、評価部44により画像データPを評価して、選択部50により、画像データPの評価結果に基づき、エンコーダを切り替える画像データPを選択する。そのため、本実施形態に係る撮像装置10によると、エンコーダを切り替える画像データPを適切に選択可能となり、適切な画像を得ることが出来る。
また、評価部44は、画像データPの輝度を評価し、選択部50は、画像データPの輝度に基づき、切替画像データを選択する。ここで、エンコーダを切り替えた場合、画像の輝度の状態によっては、エンコーダを切り替えたことが視認されやすくなり、違和感を与える画像になってしまうおそれがある。それに対し、本実施形態に係る撮像装置10によると、画像データPの輝度に基づき、エンコーダを切り替える画像データPを選択するため、エンコーダを切り替えが視認され易くなることを抑制して、適切な画像を得ることが出来る。
また、選択部50は、画像データPの輝度に基づき、フレームバッファ部26Aに保存されている複数の画像データPのうちから、場面が切り替わっている画像データPを抽出し、場面が切り替わっている画像データPに基づき、切替画像データを選択する。ここで、場面が切り替わった際には、画像自体が大きく切り替わるため、エンコーダを切り替えたことが視認され難い。本実施形態に係る撮像装置10によると、それを利用して、場面が切り替わっている画像データPに基づき、エンコーダを切り替える画像データPを選択するため、エンコーダを切り替えが視認され易くなることを抑制して、適切な画像を得ることが出来る。
また、選択部50は、画像データPの輝度に基づき、フレームバッファ部26Aに保存されている複数の画像データPのうちから、被写体の動きが大きい画像データPを抽出し、被写体の動きが大きい画像データPに基づき、切替画像データを選択する。被写体の動きが大きい場合、すなわち動きベクトルが大きい場合も、画像自体が大きく切り替わるため、エンコーダを切り替えたことが視認され難い。本実施形態に係る撮像装置10によると、それを利用して、被写体の動きが大きい画像データPに基づき、エンコーダを切り替える画像データPを選択するため、エンコーダを切り替えが視認され易くなることを抑制して、適切な画像を得ることが出来る。
また、選択部50は、画像データPの輝度に基づき、フレームバッファ部26Aに保存されている複数の画像データPのうちから、位置毎の輝度バラつきが大きい画像データPを抽出し、輝度バラつきが大きい画像データPに基づき、切替画像データを選択する。輝度バラつきが大きい場合も、エンコーダを切り替えたことが視認され難い。本実施形態に係る撮像装置10によると、それを利用して、輝度バラつきが大きい画像データPに基づき、エンコーダを切り替える画像データPを選択するため、エンコーダを切り替えが視認され易くなることを抑制して、適切な画像を得ることが出来る。
なお、以上の説明では、エンコーダを切り替えて圧縮画像データQを生成する主体となる装置は、撮像部20を備える撮像装置10であった。ただし、エンコーダを切り替えて圧縮画像データQを生成する主体となる装置は、撮像部20を備えることに限られない。例えば、撮像部20を備えない撮像装置10を画像処理装置として、この画像処理装置が、画像データPを取得して、エンコーダを切り替えて圧縮画像データQを生成してもよい。すなわち、ここでの画像処理装置は、撮像部20を備えない点以外は、撮像装置10と同じ構成及び機能を備えていてよい。以降の実施形態についても同様である。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態に係る撮像装置10は、エンコーダを切り替えた圧縮画像データQの直前の圧縮画像データQをIDR画像データとする点で、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
図13は、第2実施形態における圧縮画像ファイルの一例を示す模式図である。第2実施形態に係るエンコーダ制御部46は、画像データPを圧縮して圧縮画像データQを生成して、圧縮画像データQが時系列で連続して並ぶ圧縮画像ファイルFaを生成する。図13は、圧縮画像ファイルFaの一例を示している。第2実施形態に係るエンコーダ制御部46は、第1実施形態と同様に、第1エンコーダ32Aで圧縮された第1圧縮画像データQAを圧縮して、ポインタPO1が付与されないがIDR画像データとされた第1圧縮画像データQ1A1と、ポインタPO1が付与されず非IDR画像データとされた第1圧縮画像データQ1A2と、第1エンコーダ32Aで圧縮開始されたことを示すポインタPO1が付与されてIDR画像データとされた第1圧縮画像データQ0Aとを、生成する。また、第2実施形態に係るエンコーダ制御部46は、第1実施形態と同様に、第2エンコーダ32Bで圧縮された第2圧縮画像データQBを圧縮して、ポインタPO2が付与されないがIDR画像データとされた第2圧縮画像データQ1B1と、ポインタPO2が付与されず非IDR画像データとされた第2圧縮画像データQ1B2と、第2エンコーダ32Bで圧縮開始されたことを示すポインタPO2が付与されてIDR画像データとされた第2圧縮画像データQ0Bとを、生成する。
さらに、図13に示すように、第2実施形態に係るエンコーダ制御部46は、時系列における切替画像データ(第2圧縮画像データQ0B)の直前の画像データPを第1エンコーダ32Aで圧縮して、第1圧縮画像データQ3Aを生成する。第1圧縮画像データQ3Aは、ポインタPO1が付与されないがIDR画像データとされた第1圧縮画像データQAである。これにより、IDR画像データである第1圧縮画像データQ3Aと第2圧縮画像データQ0Bとが、時系列で連続する。このように、第2実施形態に係るエンコーダ制御部46は、所定間隔毎に生成されるIDR画像データである第1圧縮画像データQ1A1に加え、第2エンコーダ32Bに切り替わる第2圧縮画像データQ0Bの直前の第1圧縮画像データQAについても、IDR画像データとする。以上を言い換えれば、第2実施形態に係るエンコーダ制御部46は、時系列における切替画像データの直前の画像データPを、IDR画像データとなるように第1エンコーダ32Aで圧縮して、第1圧縮画像データQ3Aを生成する。なお、エンコーダ制御部46は、切替画像データよりも後の画像データPの少なくとも一部を、非IDR画像データとなるように第2エンコーダ32Bで圧縮して、第2圧縮画像データQ1B2を生成しているといえる。
また、図13に示すように、第2実施形態に係るエンコーダ制御部46は、時系列における復帰画像データ(第1圧縮画像データQ0A)の直前の画像データPを第2エンコーダ32Bで圧縮して、第2圧縮画像データQ3Bを生成する。第2圧縮画像データQ3Bは、ポインタPO2が付与されないがIDR画像データとされた第2圧縮画像データQBである。これにより、IDR画像データである第2圧縮画像データQ3Bと第1圧縮画像データQ0Aとが、時系列で連続する。このように、第2実施形態に係るエンコーダ制御部46は、所定間隔毎に生成されるIDR画像データである第2圧縮画像データQ1B1に加え、第1エンコーダ32Aに切り替わる第1圧縮画像データQ0Aの直前の第2圧縮画像データQBについても、IDR画像データとする。以上を言い換えれば、第2実施形態に係るエンコーダ制御部46は、時系列における復帰画像データの直前の画像データPを、IDR画像データとなるように第2エンコーダ32Bで圧縮して、第2圧縮画像データQ3Bを生成する。なお、エンコーダ制御部46は、第2圧縮画像データQ3Bよりも前の画像データPの少なくとも一部を、非IDR画像データとなるように第1エンコーダ32Aで圧縮して、第1圧縮画像データQ1A2を生成しているといえる。
ここで、エンコーダを切り替えた場合、これまでのエンコーダで圧縮された圧縮画像データQと、新しいエンコーダで圧縮された圧縮画像データQとが時系列で連続する。この場合、新しいエンコーダで圧縮された圧縮画像データQをIDR画像データとし、直前の圧縮画像データQを非IDR画像データとすると、エンコーダが切り替わった上に、非IDRピクチャからIDRピクチャにも切り替わることとなり、エンコーダを切り替えが視認され易くなり、視認者に画像の切り替わりの際に違和感を生じさせるおそれが生じる。それに対し、第2実施形態に係る撮像装置10は、撮像部20と、第1エンコーダ制御部及び第2エンコーダ制御部としてのエンコーダ制御部46とを備える。そして、エンコーダ制御部46は、第2エンコーダ32Bでの圧縮を開始する切替画像データを、IDR画像データとなるように第2エンコーダ32Bで圧縮して第2圧縮画像データQ0Bを生成する。そして、エンコーダ制御部46は、時系列における切替画像データの直前の画像データPを、IDR画像データとなるように第1エンコーダ32Aで圧縮して、第1圧縮画像データQ3Aを生成する。これにより、IDR画像データである第1圧縮画像データQ3Aと、IDR画像データである第2圧縮画像データQ0Bとが時系列で連続することとなり、エンコーダを切り替えが視認され易くなることを抑制して、適切な画像を得ることが出来る。
また、第2実施形態に係るエンコーダ制御部46は、時系列における切替画像データの直前の画像データPよりも前の画像データPの少なくとも一部を、非IDR画像データとなるように第1エンコーダ32Aで圧縮して、第1圧縮画像データQ1A2を生成する。そして、エンコーダ制御部46は、時系列における切替画像データよりも後の画像データPの少なくとも一部を、非IDR画像データとなるように第2エンコーダ32Bで圧縮して、第2圧縮画像データQ1B2を生成する。第2実施形態に係る撮像装置10によると、エンコーダが切り替わる箇所にはIDR画像データを連続させ、エンコーダが切り替わらない箇所には非IDR画像データを設けることで、エンコーダを切り替えが視認され易くなることを抑制しつつ、適切に画像を圧縮できる。
また、第2実施形態に係るエンコーダ制御部46は、切替画像データを第2エンコーダ32Bで圧縮して生成される第2圧縮画像データQ0Bに、第2エンコーダ32Bで圧縮された旨を示す情報であるポインタPO2が含まれるように、第2エンコーダ32Bに切替画像データを圧縮させる。この撮像装置10によると、第2エンコーダ32Bでの圧縮に切り替えた第2圧縮画像データQ0BにポインタPO2を含ませるため、復号の際のポインタPO2を参照することで、復号するデコーダを切り替える圧縮画像データQを適切に決定することが可能となり、適切な画像を得ることが出来る。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態に係る撮像装置10は、第2エンコーダ32Bに切り替える場合でも、撮像装置10が第2デコーダ34Bを備えない場合には、第1エンコーダ32Aでの圧縮も続ける点で、第1実施形態とは異なる。第3実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。なお、第3実施形態は、第1実施形態に加えて第2実施形態にも適用可能である。
図14は、第3実施形態に係る圧縮の切り替え方法を説明するフローチャートである。図14に示すように、第3実施形態に係る撮像装置10の制御部22は、第1エンコーダ32Aから第2エンコーダ32Bに切り替えると判断したら(ステップS50)、撮像装置10が第2デコーダ34Bを備えているかを判断する(ステップS52)。ステップS50での第2エンコーダ32Bに切り替える旨の判断方法は、第1実施形態と同様であり、図7のステップS12でのYesの判断方法と同様である。
また、ステップS52において、制御部22は、撮像装置10において第2デコーダ34Bでの復号が不可能な状態である場合に、撮像装置10が第2デコーダ34Bを備えていないと判断する。例えば、制御部22は、第2デコーダ34Bが撮像装置10に接続されていない場合に、撮像装置10において第2デコーダ34Bでの復号が不可能であり、撮像装置10が第2デコーダ34Bを備えていないと判断する。すなわち例えば、第2エンコーダ32Bと第2デコーダ34Bとが別体であり、第2エンコーダ32Bは撮像装置10に接続されているが、第2デコーダ34Bは撮像装置10に接続されていない場合には、第2エンコーダ32Bでの圧縮は可能であるが、第2デコーダ34Bでの復号が不可能となる。一方、制御部22は、撮像装置10において第2デコーダ34Bでの復号が可能な状態である場合に、撮像装置10が第2デコーダ34Bを備えていると判断する。例えば、制御部22は、第2デコーダ34Bが撮像装置10に接続されている場合に、撮像装置10において第2デコーダ34Bでの復号が可能であり、撮像装置10が第2デコーダ34Bを備えていると判断する。
また例えば、制御部22は、第2デコーダ34Bが撮像装置10に接続されているが、第2デコーダ34Bが撮像装置10から取り外し可能である場合に、撮像装置10が第2デコーダ34Bを備えていないと判断してよい。すなわち、第2デコーダ34BがコネクタCを介して撮像装置10に接続されている場合は、第2デコーダ34Bは取り外し可能であるため、撮像装置10が第2デコーダ34Bを備えていないと判断される。すなわちこの場合、第2エンコーダ32Bで圧縮された圧縮画像データを復号するタイミングでは、第2デコーダ34Bが取り外されて、復号できなくおそれがある。ここではその場合に備えて、第2デコーダ34Bが取外し可能である場合には、撮像装置10が第2デコーダ34Bを備えていないと判断する。一方、制御部22は、第2デコーダ34Bが、撮像装置10から取り外し不可能に撮像装置10に接続されている場合に、撮像装置10が第2デコーダ34Bを備えていると判断してよい。言い換えれば、制御部22は、第2デコーダ34Bが撮像装置10に内蔵されている場合に、撮像装置10が第2デコーダ34Bを備えていると判断してよい。
図14に示すように、撮像装置10が第2デコーダ34Bを備えている場合(ステップS52;Yes)、制御部22は、エンコーダ制御部46により、切替画像データ以降の画像データPを、第1エンコーダ32Aで圧縮させずに、第2エンコーダ32Bで圧縮させる(ステップS54)。すなわち、撮像装置10が第2デコーダ34Bを備えている場合、エンコーダ制御部46は、切替画像データより前の画像データPを第1エンコーダ32Aで圧縮し、切替画像データ以降の画像データPを第2エンコーダ32Bで圧縮して、圧縮画像ファイルFを生成する。図15は、撮像装置が第2デコーダを備えている場合の圧縮画像ファイルの一例を示す模式図である。図15に示すように、圧縮画像ファイルFは、切替画像データより前が第1エンコーダ32Aで圧縮された第1圧縮画像データQAであり、切替画像データ以降が第2エンコーダ32Bで圧縮された第2圧縮画像データQBとなる。そして、制御部22は、圧縮画像ファイルFを、圧縮画像データ記憶部26Bに記憶させつつ、データ出力部52により、外部に(ここでは画像処理装置100に)出力させる(ステップS56)。すなわち、撮像装置10が第2デコーダ34Bを備えている場合には、圧縮画像データ記憶部26Bに記憶させる圧縮画像ファイルFと、外部に出力する圧縮画像ファイルFとが、同じものとなる。
図14に示すように、撮像装置10が第2デコーダ34Bを備えていない場合(ステップS52;No)、制御部22は、エンコーダ制御部46により、切替画像データ以降の画像データPを、第1エンコーダ32A及び第2エンコーダ32Bの両方に圧縮させる(ステップS58)。すなわち、撮像装置10が第2デコーダ34Bを備えていない場合、エンコーダ制御部46は、同じ画像データPである切替画像データ以降の画像データPを、第1エンコーダ32A及び第2エンコーダ32Bの両方に圧縮させる。これにより、エンコーダ制御部46は、圧縮画像ファイルF1と、圧縮画像ファイルF2とを生成する。図16は、撮像装置が第2デコーダを備えていない場合の圧縮画像ファイルの一例を示す模式図である。図16に示すように、エンコーダ制御部46は、切替画像データより前の画像データPと切替画像データ以降の画像データPとの両方を、第1エンコーダ32Aで圧縮して、圧縮画像ファイルF1を生成する。すなわち、圧縮画像ファイルF1は、切替画像データより前と切替画像データ以降との両方において、第1エンコーダ32Aで圧縮された第1圧縮画像データQAとなり、第2圧縮画像データQBを含まない。一方、エンコーダ制御部46は、切替画像データより前の画像データPを第1エンコーダ32Aで圧縮し、切替画像データ以降の画像データPを第2エンコーダ32Bで圧縮して、圧縮画像ファイルF2を生成する。すなわち、圧縮画像ファイルF2は、切替画像データより前が第1エンコーダ32Aで圧縮された第1圧縮画像データQAであり、切替画像データ以降が第2エンコーダ32Bで圧縮された第2圧縮画像データQBとなる。そして、図14に示すように、制御部22は、第1圧縮画像ファイルとしての圧縮画像ファイルF1を、圧縮画像データ記憶部26Bに記憶させて、第2圧縮画像ファイルとしての圧縮画像ファイルF2を、データ出力部52により、外部に(ここでは画像処理装置100に)出力させる(ステップS60)。
ここで例えば、撮像装置10が第2デコーダ34Bを備えていない場合、例え第2エンコーダ32Bで画像データPを圧縮したとしても、撮像装置10は、第2エンコーダ32Bで圧縮した圧縮画像データを復号できない場合がある。また、圧縮画像データを外部に出力する際には、通信負荷を減らすために、第2デコーダ34Bを用いるが、撮像装置10自体への保存には、第2デコーダ34Bを用いる必要が無い場合もある。そのため、本実施形態に係る撮像装置10は、第2デコーダ34Bで圧縮した第2圧縮画像データQBを外部に出力する一方、第1デコーダ34Aでの圧縮を続けた第1圧縮画像データQAを圧縮画像データ記憶部26Bに記憶させる。そのため、本実施形態に係る撮像装置10によると、圧縮画像データ記憶部26Bに記憶する圧縮画像データQと外部に出力する圧縮画像データQとの圧縮方式を異ならせて、画像を適切に得ることを可能とする。
このように、第3実施形態に係る撮像装置10は、撮像部20と、エンコーダ制御部46と、記憶部26と、データ出力部52とを備える。記憶部26は、圧縮された画像データPである圧縮画像データQを記憶し、データ出力部52は、圧縮画像データQを外部の装置に出力する。エンコーダ制御部46は、第1エンコーダ32Aと第2エンコーダ32Bとに、同じ画像データを圧縮させる。そして、記憶部26は、第1エンコーダ32Aと第2エンコーダ32Bとが圧縮した同じ画像データPのうち、第1エンコーダ32Aが圧縮した第1圧縮画像データQAを記憶し、データ出力部52は、第1エンコーダ32Aと第2エンコーダ32Bとが圧縮した同じ画像データPのうち、第2エンコーダ32Bが圧縮した第2圧縮画像データQBを、出力する。そのため、本実施形態に係る撮像装置10によると、圧縮画像データ記憶部26Bに記憶する圧縮画像データQと外部に出力する圧縮画像データQとの圧縮方式を異ならせて、画像を適切に得ることを可能とする。
エンコーダ制御部46は、撮像装置10が第2圧縮画像データQBを復号可能な第2デコーダ34Bを備えていない場合に、第1エンコーダ32Aと第2エンコーダ32Bとに、同じ画像データを圧縮させる。この撮像装置10によると、通信用の圧縮方式を設定した第2エンコーダ32Bで圧縮した第2圧縮画像データQBを外部に出力することができる。さらに、撮像装置10自身には第1エンコーダ32Aで圧縮した第1圧縮画像データQAを記憶させることで、第2エンコーダ32Bを備えていないことにより、撮像装置10によって圧縮画像データの複合が出来なくなることを抑制できる。従って、この撮像装置10によると、画像を適切に得ることを可能とする。
また、本実施形態に係る撮像装置10は、フレームバッファ部26Aと、情報取得部48と、選択部50とを更に備える。エンコーダ制御部46は、時系列において切替画像データ以前の画像データPと切替画像データ以降の画像データPとの両方を、第1エンコーダ32Aで圧縮させる。そして、エンコーダ制御部46は、切替画像データ以降の画像データPを、第2エンコーダ32Bで圧縮させる。そして、データ出力部52は、切替画像データ以前の画像データPについては、第1エンコーダ32Aで圧縮された第1圧縮画像データQAを出力し、切替画像データ以降の画像データPについては、第2エンコーダ32Bで圧縮された第2圧縮画像データQBを出力する。そのため、本実施形態に係る撮像装置10によると、エンコーダを切り替えた圧縮画像データを適切に外部に出力できる。
以上、本発明の実施形態及び変形例を説明したが、これら実施形態及び変形例の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能であり、各実施形態及び変形例の構成を組み合わせることも可能である。さらに、前述した実施形態及び変形例の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。