(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】動画圧縮装置および動画圧縮プログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20231212BHJP
H04N 23/54 20230101ALI20231212BHJP
H04N 19/20 20140101ALI20231212BHJP
H04N 19/85 20140101ALI20231212BHJP
【FI】
H04N23/60 500
H04N23/54
H04N19/20
H04N19/85
(21)【出願番号】P 2019545649
(86)(22)【出願日】2018-09-27
(86)【国際出願番号】 JP2018036129
(87)【国際公開番号】W WO2019065915
(87)【国際公開日】2019-04-04
【審査請求日】2021-08-26
(31)【優先権主張番号】P 2017192102
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004112
【氏名又は名称】株式会社ニコン
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】小宮 大作
(72)【発明者】
【氏名】關口 直樹
【審査官】高野 美帆子
(56)【参考文献】
【文献】国際公開第2013/164915(WO,A1)
【文献】特開2006-324834(JP,A)
【文献】国際公開第2014/192152(WO,A1)
【文献】特開2009-049979(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 23/54
H04N 19/20
H04N 19/85
(57)【特許請求の範囲】
【請求項1】
被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データを取得する取得部と、
前記取得部によって取得された動画データのうち、前記第1フレームレートで撮像された前記フレームにおける第1画像領域の画像データについては、前記第1画像領域の画像データ内のオブジェクトに動きがないことを示す特定の動きベクトルを設定し、前記第2フレームレートで撮像された前記フレームにおける第2画像領域の画像データについては、動きベクトルの検出を実行する動き検出部と、
前記第1画像領域の画像データについては、前記特定の動きベクトルに基づいて動き補償を実行し、前記第2画像領域の画像データについては、前記動き検出部によって検出された動きベクトルに基づいて動き補償を実行する動き補償部と、
を有する動画圧縮装置。
【請求項2】
請求項1に記載の動画圧縮装置であって、
前記複数のフレームの各々について、前記フレームと前記フレームを予測する予測フレームとの差分データと、前記予測フレームと、に基づいて、前記フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する生成部を有し、
前記動き補償部は、前記第1画像領域の画像データについては、前記特定の動きベクトルと前記参照フレームとに基づいて動き補償を実行し、前記第2画像領域の画像データについては、前記動きベクトルと前記参照フレームとに基づいて動き補償を実行する、
動画圧縮装置。
【請求項3】
被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データを取得する取得部と、
前記複数のフレームの各々について、前記フレームと前記フレームを予測する予測フレームとの差分データと、前記予測フレームと、に基づいて、前記フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する生成部と、
前記第1フレームレートで撮像された前記フレームにおける第1画像領域の画像データについては、動きベクトルの検出を実行せず、前記第2フレームレートで撮像された前記フレームにおける第2画像領域の画像データについては、動きベクトルの検出を実行する動き検出部と、
前記第1画像領域の画像データについては、前記参照フレームに基づいて動き補償を実行し、前記第2画像領域の画像データについては、前記参照フレームと前記動き検出部によって検出された動きベクトルに基づいて動き補償を実行する動き補償部と、
を有する動画圧縮装置。
【請求項4】
請求項3に記載の動画圧縮装置であって、
前記動き補償部は、前記第1画像領域の画像データについては、前記参照フレームを、前記フレームの時間的に1つ後のフレームを予測する予測フレームに決定する、
動画圧縮装置。
【請求項5】
被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データを取得する取得部と、
前記取得部によって取得された動画データのうち、第1タイミングで前記第1撮像領域から出力された第1フレームと前記第1タイミングで前記第2撮像領域から出力された第2フレームとに基づいて第3フレームを生成し、前記第1フレームと前記第1タイミングとは異なるタイミングで前記第2撮像領域から出力される第4フレームとに基づいて第5フレームを生成し、前記第3フレームと前記第5フレームとに基づいて、前記動画データを圧縮する圧縮部と、
を有する動画圧縮装置。
【請求項6】
請求項5に記載の動画圧縮装置であって、
前記第4フレームにおける第2画像領域の画像データにおいて、前記第1フレームにおける第1画像領域の画像データと重複する範囲については、前記第2フレームにおける前記第2画像領域の画像データを適用することにより、前記第5フレームを生成する画像処理部と、
を有する動画圧縮装置。
【請求項7】
請求項5に記載の動画圧縮装置であって、
前記
第4フレームにおける第2画像領域および前記第1フレームにおける第1画像領域のいずれにも属さない範囲については、前記第1フレームにおける前記第2画像領域の画像データを適用することにより、前記第5フレームを生成する画像処理部と、
を有する動画圧縮装置。
【請求項8】
被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データの圧縮を、プロセッサに実行させる動画圧縮プログラムであって、
前記プロセッサに、
前記動画データを取得する取得処理と、
前記取得処理によって取得された動画データのうち、第1タイミングで前記第1撮像領域から出力された第1フレームと前記第1タイミングで前記第2撮像領域から出力された第2フレームとに基づいて第3フレームを生成し、前記第1フレームと前記第1タイミングとは異なるタイミングで前記第2撮像領域から出力される第4フレームとに基づいて第5フレームを生成し、前記第3フレームと前記第5フレームとに基づいて、前記動画データを圧縮する圧縮処理と、
を実行させる動画圧縮プログラム。
【発明の詳細な説明】
【参照による取り込み】
【0001】
本出願は、平成29年(2017年)9月29日に出願された日本出願である特願2017-192102の優先権を主張し、その内容を参照することにより、本出願に取り込む。
【技術分野】
【0002】
本発明は、動画圧縮装置および動画圧縮プログラムに関する。
【背景技術】
【0003】
裏面照射型撮像チップと信号処理チップとが積層された撮像素子(以下、積層型撮像素子という)を備えた電子機器が提案されている(特許文献1参照)。積層型撮像素子は、裏面照射型撮像チップと信号処理チップとが、所定の領域ごとにマイクロバンプを介して接続されるように積層されている。しかしながら、積層型撮像素子において複数の撮像条件を撮像領域内に設定可能である場合、複数の撮像条件で撮像されたフレームが出力されるため、そのようなフレームの動画圧縮は従来考慮されていない。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
本願において開示される技術の第1側面となる動画圧縮装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データを取得する取得部と、前記取得部によって取得された動画データのうち、前記第1フレームレートで撮像された前記フレームにおける第1画像領域の画像データについては、前記第1画像領域の画像データ内のオブジェクトに動きがないことを示す特定の動きベクトルを設定し、前記第2フレームレートで撮像された前記フレームにおける第2画像領域の画像データについては、動きベクトルの検出を実行する動き検出部と、前記第1画像領域の画像データについては、前記特定の動きベクトルに基づいて動き補償を実行し、前記第2画像領域の画像データについては、前記動き検出部によって検出された動きベクトルに基づいて動き補償を実行する動き補償部と、を有する。
【0006】
本願において開示される技術の第2側面となる動画圧縮装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データを取得する取得部と、前記複数のフレームの各々について、前記フレームと前記フレームを予測する予測フレームとの差分データと、前記予測フレームと、に基づいて、前記フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する生成部と、前記第1フレームレートで撮像された前記フレームにおける第1画像領域の画像データについては、動きベクトルの検出を実行せず、前記第2フレームレートで撮像された前記フレームにおける第2画像領域の画像データについては、動きベクトルの検出を実行する動き検出部と、前記第1画像領域の画像データについては、前記参照フレームに基づいて動き補償を実行し、前記第2画像領域の画像データについては、前記参照フレームと前記動き検出部によって検出された動きベクトルに基づいて動き補償を実行する動き補償部と、を有する。
【0007】
本願において開示される技術の第3側面となる動画圧縮装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データを取得する取得部と、前記取得部によって取得された動画データのうち、第1タイミングで前記第1撮像領域から出力された第1フレームと前記第1タイミングで前記第2撮像領域から出力された第2フレームとに基づいて第3フレームを生成し、前記第1フレームと前記第1タイミングとは異なるタイミングで前記第2撮像領域から出力される第4フレームとに基づいて第5フレームを生成し、前記第3フレームと前記第5フレームとに基づいて、前記動画データを圧縮する圧縮部と、を有する。
【0008】
本願において開示される技術の第4側面となる動画圧縮プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、前記第1撮像領域に第1フレームレートを設定可能であり、かつ、前記第2撮像領域に前記第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子から出力された複数のフレームを含む動画データの圧縮を、プロセッサに実行させる動画圧縮プログラムであって、前記プロセッサに、前記動画データを取得する取得処理と、前記取得処理によって取得された動画データのうち、第1タイミングで前記第1撮像領域から出力された第1フレームと前記第1タイミングで前記第2撮像領域から出力された第2フレームとに基づいて第3フレームを生成し、前記第1フレームと前記第1タイミングとは異なるタイミングで前記第2撮像領域から出力される第4フレームとに基づいて第5フレームを生成し、前記第3フレームと前記第5フレームとに基づいて、前記動画データを圧縮する圧縮処理と、を実行させる。
【図面の簡単な説明】
【0011】
【
図2】
図2は、撮像チップの画素配列を説明する図である。
【
図4】
図4は、撮像素子の機能的構成例を示すブロック図である。
【
図5】
図5は、電子機器のブロック構成例を示す説明図である。
【
図6】
図6は、動画ファイルの構成例を示す説明図である。
【
図7】
図7は、撮像面と被写体像との関係を示す説明図である。
【
図8】
図8は、動画ファイルの具体的な構成例に示す説明図である。
【
図9】
図9は、実施例1にかかる動画圧縮例を示す説明図である。
【
図10】
図10は、
図9に示した動画圧縮における画像処理例1を示す説明図である。
【
図11】
図11は、
図9に示した動画圧縮における画像処理例2を示す説明図である。
【
図14】
図14は、制御部の動作処理手順例を示すシーケンス図である。
【
図15】
図15は、
図14に示した設定処理(ステップS1404、S1410)の詳細な処理手順例を示すフローチャートである。
【
図16】
図16は、
図15に示した付加情報設定処理(ステップS1505)の詳細な処理手順例を示すフローチャートである。
【
図17】
図17は、動画ファイル生成処理の詳細な処理手順例を示すフローチャートである。
【
図18】
図18は、
図14に示した画像処理(ステップS1413、S1415)の詳細な処理手順例を示すフローチャートである。
【
図19】
図19は、圧縮制御部による第1圧縮制御方法の圧縮制御処理手順例を示すフローチャートである。
【
図20】
図20は、動き検出部による第1圧縮制御方法の動き検出処理手順例を示すフローチャートである。
【
図21】
図21は、動き補償部による第1圧縮制御方法の動き補償処理手順例を示すフローチャートである。
【
図22】
図22は、圧縮制御部による第2圧縮制御方法の圧縮制御処理手順例を示すフローチャートである。
【
図23】
図23は、動き検出部による第2圧縮制御方法の動き検出処理手順例を示すフローチャートである。
【
図24】
図24は、動き補償部による第2圧縮制御方法の動き補償処理手順例を示すフローチャートである。
【
図26】
図26は、実施例2にかかる60[fps]のフレームの合成例1を示す説明図である。
【
図27】
図27は、実施例2にかかる60[fps]のフレームの合成例2を示す説明図である。
【
図28】
図28は、実施例2にかかる60[fps]のフレームの合成例4を示す説明図である。
【
図29】
図29は、画像処理部によるフレームの合成例1による合成処理手順例1を示すフローチャートである。
【
図30】
図30は、画像処理部によるフレームの合成例2による合成処理手順例2を示すフローチャートである。
【
図31】
図31は、画像処理部によるフレームの合成例3による合成処理手順例3を示すフローチャートである。
【
図32】
図32は、画像処理部によるフレームの合成例4による合成処理手順例4を示すフローチャートである。
【
図33】
図33は、実施例3にかかる60[fps]のフレームの合成例を示す説明図である。
【
図34】
図34は、撮像領域の設定とフレームの画像領域との対応関係を示す説明図である。
【発明を実施するための形態】
【0012】
<撮像素子の構成例>
初めに、電子機器に搭載する積層型撮像素子について説明する。なお、この積層型撮像素子は、本願出願人が先に出願した特願2012-139026号に記載されているものである。電子機器は、たとえば、デジタルカメラやデジタルビデオカメラなどの撮像装置である。
【0013】
図1は、積層型撮像素子100の断面図である。積層型撮像素子(以下、単に、「撮像素子」)100は、入射光に対応した画素信号を出力する裏面照射型撮像チップ(以下、単に、「撮像チップ」)113と、画素信号を処理する信号処理チップ111と、画素信号を記憶するメモリチップ112とを備える。これら撮像チップ113、信号処理チップ111およびメモリチップ112は積層されており、Cuなどの導電性を有するバンプ109により互いに電気的に接続される。
【0014】
なお、
図1に示すように、入射光は主に白抜き矢印で示すZ軸プラス方向へ向かって入射する。本実施形態においては、撮像チップ113において、入射光が入射する側の面を裏面と称する。また、座標軸に示すように、Z軸に直交する紙面左方向をX軸プラス方向、Z軸およびX軸に直交する紙面手前方向をY軸プラス方向とする。以降のいくつかの図においては、
図1の座標軸を基準として、それぞれの図の向きがわかるように座標軸を表示する。
【0015】
撮像チップ113の一例は、裏面照射型のMOS(Metal Oxide Semiconductor)イメージセンサである。PD(フォトダイオード)層106は、配線層108の裏面側に配されている。PD層106は、二次元的に配され、入射光に応じた電荷を蓄積する複数のPD104、および、PD104に対応して設けられたトランジスタ105を有する。
【0016】
PD層106における入射光の入射側にはパッシベーション膜103を介してカラーフィルタ102が設けられる。カラーフィルタ102は、互いに異なる波長領域を透過する複数の種類を有しており、PD104のそれぞれに対応して特定の配列を有している。カラーフィルタ102の配列については後述する。カラーフィルタ102、PD104およびトランジスタ105の組が、一つの画素を形成する。
【0017】
カラーフィルタ102における入射光の入射側には、それぞれの画素に対応して、マイクロレンズ101が設けられる。マイクロレンズ101は、対応するPD104へ向けて入射光を集光する。
【0018】
配線層108は、PD層106からの画素信号を信号処理チップ111に伝送する配線107を有する。配線107は多層であってもよく、また、受動素子および能動素子が設けられてもよい。
【0019】
配線層108の表面には複数のバンプ109が配される。当該複数のバンプ109が信号処理チップ111の対向する面に設けられた複数のバンプ109と位置合わせされて、撮像チップ113と信号処理チップ111とが加圧などされることにより、位置合わせされたバンプ109同士が接合されて、電気的に接続される。
【0020】
同様に、信号処理チップ111およびメモリチップ112の互いに対向する面には、複数のバンプ109が配される。これらのバンプ109が互いに位置合わせされて、信号処理チップ111とメモリチップ112とが加圧などされることにより、位置合わせされたバンプ109同士が接合されて、電気的に接続される。
【0021】
なお、バンプ109間の接合には、固相拡散によるCuバンプ接合に限らず、はんだ溶融によるマイクロバンプ結合を採用してもよい。また、バンプ109は、たとえば、後述する一つのブロックに対して一つ程度設ければよい。したがって、バンプ109の大きさは、PD104のピッチよりも大きくてもよい。また、画素が配列された画素領域以外の周辺領域において、画素領域に対応するバンプ109よりも大きなバンプを併せて設けてもよい。
【0022】
信号処理チップ111は、表裏面にそれぞれ設けられた回路を互いに接続するTSV(シリコン貫通電極)110を有する。TSV110は、周辺領域に設けられることが好ましい。また、TSV110は、撮像チップ113の周辺領域、メモリチップ112にも設けられてよい。
【0023】
図2は、撮像チップ113の画素配列を説明する図である。特に、撮像チップ113を裏面側から観察した様子を示す。(a)は、撮像チップ113の裏面である撮像面200を模式的に示す平面図であり、(b)は、撮像面200の一部領域200aを拡大した平面図である。(b)に示すように、撮像面200には、画素201が二次元状に多数配列されている。
【0024】
画素201は、それぞれ不図示の色フィルタを有している。色フィルタは、赤(R)、緑(G)、青(B)の3種類からなり、(b)における「R」、「G」、および「B」という表記は、画素201が有する色フィルタの種類を表している。(b)に示すように、撮像素子100の撮像面200には、このような各色フィルタを備えた画素201が、いわゆるベイヤー配列に従って配列されている。
【0025】
赤フィルタを有する画素201は、入射光のうち、赤色の波長帯の光を光電変換して受光信号(光電変換信号)を出力する。同様に、緑フィルタを有する画素201は、入射光のうち、緑色の波長帯の光を光電変換して受光信号を出力する。また、青フィルタを有する画素201は、入射光のうち、青色の波長帯の光を光電変換して受光信号を出力する。
【0026】
撮像素子100は、隣接する2画素×2画素の計4つの画素201から成る単位グループ202ごとに、個別に制御可能に構成されている。たとえば、互いに異なる2つの単位グループ202について、同時に電荷蓄積が開始されたときに、一方の単位グループ202では電荷蓄積開始から1/30秒後に電荷の読み出し、すなわち受光信号の読み出しが行われ、他方の単位グループ202では電荷蓄積開始から1/15秒後に電荷の読み出しが行われる。換言すると、撮像素子100は、1回の撮像において、単位グループ202ごとに異なる露光時間(電荷蓄積時間であり、いわゆるシャッタースピード)を設定することができる。
【0027】
撮像素子100は、上述した露光時間以外にも、撮像信号の増幅率(いわゆるISO感度)を単位グループ202ごとに異ならせることが可能である。撮像素子100は、電荷蓄積を開始するタイミングや受光信号を読み出すタイミングを単位グループ202ごとに変化させることができる。すなわち、撮像素子100は、動画撮像時のフレームレートを単位グループ202ごとに変化させることができる。
【0028】
以上をまとめると、撮像素子100は、単位グループ202ごとに、露光時間、増幅率、フレームレートなどの撮像条件を異ならせることが可能に構成されている。たとえば、画素201が有する不図示の光電変換部から撮像信号を読み出すための不図示の読み出し線が、単位グループ202ごとに設けられ、単位グループ202ごとに独立して撮像信号を読み出し可能に構成すれば、単位グループ202ごとに露光時間(シャッタースピード)を異ならせることができる。
【0029】
また、光電変換された電荷により生成された撮像信号を増幅する不図示の増幅回路を単位グループ202ごとに独立して設け、増幅回路による増幅率を増幅回路ごとに独立して制御可能に構成すれば、単位グループ202ごとに信号の増幅率(ISO感度)を異ならせることができる。
【0030】
また、単位グループ202ごとに異ならせることが可能な撮像条件は、上述した撮像条件のほか、フレームレート、ゲイン、解像度(間引き率)、画素信号を加算する加算行数または加算列数、電荷の蓄積時間または蓄積回数、デジタル化のビット数などである。さらに、制御パラメータは、画素からの画像信号取得後の画像処理におけるパラメータであってもよい。
【0031】
また、撮像条件は、たとえば、単位グループ202ごとに独立して制御可能な区画(1区画が1つの単位グループ202に対応する)を有する液晶パネルを撮像素子100に設け、オンオフ可能な減光フィルタとして利用すれば、単位グループ202ごとに明るさ(絞り値)を制御することが可能になる。
【0032】
なお、単位グループ202を構成する画素201の数は、上述した2×2の4画素でなくてもよい。単位グループ202は、少なくとも1個の画素201を有していればよいし、逆に、4個より多くの画素201を有していてもよい。
【0033】
図3は、撮像チップ113の回路図である。
図3において、代表的に点線で囲む矩形が、1つの画素201に対応する回路を表す。また、一点鎖線で囲む矩形が1つの単位グループ202(202-1~202-4)に対応する。なお、以下に説明する各トランジスタの少なくとも一部は、
図1のトランジスタ105に対応する。
【0034】
上述したように、画素201のリセットトランジスタ303は、単位グループ202単位でオン/オフされる。また、画素201の転送トランジスタ302も、単位グループ202単位でオン/オフされる。
図3に示す例において、左上単位グループ202-1に対応する4つのリセットトランジスタ303をオン/オフするためのリセット配線300-1が設けられており、同単位グループ202-1に対応する4つの転送トランジスタ302に転送パルスを供給するためのTX配線307-1も設けられる。
【0035】
同様に、左下単位グループ202-3に対応する4つのリセットトランジスタ303をオン/オフするためのリセット配線300-3が、上記リセット配線300-1とは別個に設けられる。また、同単位グループ202-3に対応する4つの転送トランジスタ302に転送パルスを供給するためのTX配線307-3が、上記TX配線307-1と別個に設けられる。
【0036】
右上単位グループ202-2や右下単位グループ202-4についても同様に、それぞれリセット配線300-2とTX配線307-2、およびリセット配線300-4とTX配線307-4が、それぞれの単位グループ202に設けられている。
【0037】
各画素201に対応する16個のPD104は、それぞれ対応する転送トランジスタ302に接続される。各転送トランジスタ302のゲートには、上記単位グループ202ごとのTX配線を介して転送パルスが供給される。各転送トランジスタ302のドレインは、対応するリセットトランジスタ303のソースに接続されるとともに、転送トランジスタ302のドレインとリセットトランジスタ303のソース間のいわゆるフローティングディフュージョンFDが、対応する増幅トランジスタ304のゲートに接続される。
【0038】
各リセットトランジスタ303のドレインは、電源電圧が供給されるVdd配線310に共通に接続される。各リセットトランジスタ303のゲートには、上記単位グループ202ごとのリセット配線を介してリセットパルスが供給される。
【0039】
各増幅トランジスタ304のドレインは、電源電圧が供給されるVdd配線310に共通に接続される。また、各増幅トランジスタ304のソースは、対応する選択トランジスタ305のドレインに接続される。各選択トランジスタ305のゲートには、選択パルスが供給されるデコーダ配線308に接続される。デコーダ配線308は、16個の選択トランジスタ305に対してそれぞれ独立に設けられる。
【0040】
そして、各々の選択トランジスタ305のソースは、共通の出力配線309に接続される。負荷電流源311は、出力配線309に電流を供給する。すなわち、選択トランジスタ305に対する出力配線309は、ソースフォロアにより形成される。なお、負荷電流源311は、撮像チップ113側に設けてもよいし、信号処理チップ111側に設けてもよい。
【0041】
ここで、電荷の蓄積開始から蓄積終了後の画素出力までの流れを説明する。上記単位グループ202ごとのリセット配線を通じてリセットパルスがリセットトランジスタ303に印加され、同時に上記単位グループ202(202-1~202-4)ごとのTX配線を通じて転送パルスが転送トランジスタ302に印加されると、上記単位グループ202ごとに、PD104およびフローティングディフュージョンFDの電位がリセットされる。
【0042】
各PD104は、転送パルスの印加が解除されると、受光する入射光を電荷に変換して蓄積する。その後、リセットパルスが印加されていない状態で再び転送パルスが印加されると、蓄積された電荷はフローティングディフュージョンFDへ転送され、フローティングディフュージョンFDの電位は、リセット電位から電荷蓄積後の信号電位になる。
【0043】
そして、デコーダ配線308を通じて選択パルスが選択トランジスタ305に印加されると、フローティングディフュージョンFDの信号電位の変動が、増幅トランジスタ304および選択トランジスタ305を介して出力配線309に伝わる。これにより、リセット電位と信号電位とに対応する画素信号は、単位画素から出力配線309に出力される。
【0044】
上述したように、単位グループ202を形成する4画素に対して、リセット配線とTX配線が共通である。すなわち、リセットパルスと転送パルスはそれぞれ、同単位グループ202内の4画素に対して同時に印加される。したがって、ある単位グループ202を形成するすべての画素201は、同一のタイミングで電荷蓄積を開始し、同一のタイミングで電荷蓄積を終了する。ただし、蓄積された電荷に対応する画素信号は、それぞれの選択トランジスタ305に選択パルスが順次印加されることにより、選択的に出力配線309から出力される。
【0045】
このように、単位グループ202ごとに電荷蓄積開始タイミングを制御することができる。換言すると、異なる単位グループ202間では、異なったタイミングで撮像することができる。
【0046】
図4は、撮像素子100の機能的構成例を示すブロック図である。アナログのマルチプレクサ411は、単位グループ202を形成する16個のPD104を順番に選択して、それぞれの画素信号を当該単位グループ202に対応して設けられた出力配線309へ出力させる。マルチプレクサ411は、PD104と共に、撮像チップ113に形成される。
【0047】
マルチプレクサ411を介して出力された画素信号は、信号処理チップ111に形成された、相関二重サンプリング(CDS)・アナログ/デジタル(A/D)変換を行う信号処理回路412により、CDSおよびA/D変換が行われる。A/D変換された画素信号は、デマルチプレクサ413に引き渡され、それぞれの画素に対応する画素メモリ414に格納される。デマルチプレクサ413および画素メモリ414は、メモリチップ112に形成される。
【0048】
演算回路415は、画素メモリ414に格納された画素信号を処理して後段の画像処理部に引き渡す。演算回路415は、信号処理チップ111に設けられてもよいし、メモリチップ112に設けられてもよい。なお、
図4では4つの単位グループ202の分の接続を示すが、実際にはこれらが4つの単位グループ202ごとに存在して、並列で動作する。
【0049】
ただし、演算回路415は4つの単位グループ202ごとに存在しなくてもよく、たとえば、一つの演算回路415がそれぞれの4つの単位グループ202に対応する画素メモリ414の値を順に参照しながらシーケンシャルに処理してもよい。
【0050】
上記の通り、単位グループ202のそれぞれに対応して出力配線309が設けられている。撮像素子100は撮像チップ113、信号処理チップ111およびメモリチップ112を積層しているので、これら出力配線309にバンプ109を用いたチップ間の電気的接続を用いることにより、各チップを面方向に大きくすることなく配線を引き回すことができる。
【0051】
<電子機器のブロック構成例>
図5は、電子機器のブロック構成例を示す説明図である。電子機器500は、たとえば、レンズ一体型のカメラである。電子機器500は、撮像光学系501と、撮像素子100と、制御部502と、液晶モニタ503と、メモリカード504と、操作部505と、DRAM506と、フラッシュメモリ507と、録音部508とを備える。制御部502は、後述するように動画データを圧縮する圧縮部を含む。したがって、電子機器500のうち、少なくとも制御部502を含む構成が動画圧縮装置となる。
【0052】
撮像光学系501は、複数のレンズから構成され、撮像素子100の撮像面200に被写体像を結像させる。なお、
図5では、便宜上、撮像光学系501を1枚のレンズとして図示している。
【0053】
撮像素子100は、たとえば、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Device)などの撮像素子であり、撮像光学系501により結像された被写体像を撮像して撮像信号を出力する。制御部502は、電子機器500の各部を制御する電子回路であり、プロセッサとその周辺回路とから構成される。
【0054】
不揮発性の記憶媒体であるフラッシュメモリ507には、予め所定の制御プログラムが書き込まれている。制御部502は、フラッシュメモリ507から制御プログラムを読み込んで実行することにより、各部の制御を行う。この制御プログラムは、揮発性の記憶媒体であるDRAM506を作業用領域として使用する。
【0055】
液晶モニタ503は、液晶パネルを利用した表示装置である。制御部502は、所定周期(たとえば60分の1秒)ごとに撮像素子100に繰り返し被写体像を撮像させる。そして、撮像素子100から出力された撮像信号に種々の画像処理を施していわゆるスルー画を作成し、液晶モニタ503に表示する。液晶モニタ503には、上記のスルー画以外に、たとえば撮像条件を設定する設定画面などが表示される。
【0056】
制御部502は、撮像素子100から出力された撮像信号に基づき、後述する画像ファイルを作成し、可搬性の記録媒体であるメモリカード504に画像ファイルを記録する。操作部505は、プッシュボタンなどの種々の操作部材を有し、それら操作部材が操作されたことに応じて制御部502に操作信号を出力する。
【0057】
録音部508は、たとえば、マイクロフォンにより構成され、環境音を音声信号に変換して制御部502に入力する。なお、制御部502は、可搬性の記録媒体であるメモリカード504に動画ファイルを記録するのではなく、ハードディスクのような電子機器500に内蔵された不図示の記録媒体に記録してもよい。
【0058】
<動画ファイルの構成例>
図6は、動画ファイルの構成例を示す説明図である。動画ファイル600は、制御部502内の後述する圧縮部902での圧縮処理中に生成され、メモリカード504、DRAM506、またはフラッシュメモリ507に格納される。動画ファイル600は、ヘッダ部601およびデータ部602の2つのブロックにより構成される。ヘッダ部601は、動画ファイル600の先頭に位置するブロックである。ヘッダ部601には、ファイル基本情報領域611と、マスク領域612と、撮像情報領域613とが、以上に述べた順序で格納されている。
【0059】
ファイル基本情報領域611には、たとえば、動画ファイル600内の各部(ヘッダ部601、データ部602、マスク領域612、撮像情報領域613など)のサイズやオフセットが記録される。マスク領域612には、後述する撮像条件情報やマスク情報などが記録される。撮像情報領域613には、たとえば電子機器500の機種名や撮像光学系501の情報(たとえば収差などの光学特性に関する情報)など、撮像に関する情報が記録される。データ部602は、ヘッダ部601の後ろに位置するブロックであり、画像情報や音声情報などが記録される。
【0060】
<撮像面と被写体像との関係>
図7は、撮像面と被写体像との関係を示す説明図である。(a)は、撮像素子100の撮像面200(撮像範囲)と被写体像701とを模式的に示す。(a)において、制御部502は、被写体像701を撮像する。(a)の撮像は、たとえばライブビュー画像(いわゆるスルー画)の作成のために行われる撮像を兼ねていてもよい。
【0061】
制御部502は、(a)の撮像により得られた被写体像701に対して、所定の画像解析処理を実行する。画像解析処理は、たとえば周知の被写体検出技術(特徴量を演算して所定の被写体が存在する範囲を検出する技術)により、主要被写体領域と背景領域とを検出する処理である。画像解析処理によって、撮像面200は、主要被写体が存在する主要被写体領域702と、背景が存在する背景領域703とに分割される。
【0062】
なお、(a)では、被写体像701を大まかに含む領域を主要被写体領域702として図示しているが、主要被写体領域702は、被写体像701の外形に沿った形状であってもよい。つまり、被写体像701以外のものをできるだけ含まないように主要被写体領域702を設定してもよい。
【0063】
制御部502は、主要被写体領域702内の各単位グループ202と、背景領域703内の各単位グループ202とで、異なる撮像条件を設定する。たとえば、前者の各単位グループ202には、後者の各単位グループ202に比べて高速なシャッタースピードを設定する。このようにすると、(a)の撮像の次に撮像される(c)の撮像において、主要被写体領域702では像ぶれが発生しにくくなる。
【0064】
また、制御部502は、背景領域703に存在する太陽などの光源の影響で、主要被写体領域702が逆光状態となっている場合には、前者の各単位グループ202に、相対的に高めのISO感度を設定したり、低速なシャッタースピードを設定する。また、制御部502は、後者の各単位グループ202に、相対的に低めのISO感度を設定したり、高速なシャッタースピードを設定したりする。このようにすると、(c)の撮像において、逆光状態の主要被写体領域702の黒つぶれや、光量の大きい背景領域703の白飛びを防止することができる。
【0065】
なお、画像解析処理は、上述した主要被写体領域702と背景領域703とを検出する処理とは異なる処理であってもよい。たとえば、撮像面200全体のうち、明るさが一定以上の部分(明るすぎる部分)や明るさが一定未満の部分(暗すぎる部分)を検出する処理であってもよい。画像解析処理をこのような処理とした場合、制御部502は、前者の領域に含まれる単位グループ202について、露出値(Ev値)が他の領域に含まれる単位グループ202よりも低くなるように、シャッタースピードやISO感度を設定する。
【0066】
また、制御部502は、後者の領域に含まれる単位グループ202については、露出値(Ev値)が他の領域に含まれる単位グループ202よりも高くなるように、シャッタースピードやISO感度を設定する。このようにすることで、(c)の撮像により得られる画像のダイナミックレンジを、撮像素子100の本来のダイナミックレンジよりも広げることができる。
【0067】
図7の(b)は、(a)に示した撮像面200に対応するマスク情報704の一例を示す。主要被写体領域702に属する単位グループ202の位置には「1」が、背景領域703に属する単位グループ202の位置には「2」がそれぞれ格納されている。
【0068】
制御部502は、1フレーム目の画像データに対して、画像解析処理を実行し、主要被写体領域702と背景領域703とを検出する。これにより、(a)の撮像によるフレームは、(c)に示すように、主要被写体領域702と背景領域703とに分割される。制御部502は、主要被写体領域702内の各単位グループ202と、背景領域703内の各単位グループ202とで、異なる撮像条件を設定して、(c)の撮像を行い、画像データを作成する。このときのマスク情報704の例を、(d)に示す。
【0069】
(a)の撮像の結果に対応する(b)のマスク情報704と、(c)の撮像の結果に対応する(d)のマスク情報704とでは、異なる時刻に撮像を行っている(時間差がある)ため、たとえば、被写体が移動している場合や、ユーザが電子機器500を動かした場合に、これら2つのマスク情報704が異なる内容になる。換言すると、マスク情報704は、時間経過に伴い変化する動的情報である。従って、ある単位グループ202において、フレームごとに異なる撮像条件が設定されることになる。
【0070】
<動画ファイルの具体例>
図8は、動画ファイル600の具体的な構成例に示す説明図である。マスク領域612には、識別情報801と、撮像条件情報802と、マスク情報704が、以上に述べた順序で記録される。
【0071】
識別情報801は、この動画ファイル600がマルチフレームレート動画撮像機能によって作成されたものである旨を表す。マルチフレームレート動画撮像機能とは、複数のフレームレートが設定された撮像素子100で動画撮影する機能である。
【0072】
撮像条件情報802は、単位グループ202にどのような用途(目的、役割)が存在するかを表す情報である。たとえば、上述したように、撮像面200(
図7(a))を主要被写体領域702と背景領域703とに分割する場合、各々の単位グループ202は、主要被写体領域702に属するか、または、背景領域703に属するかのいずれかである。
【0073】
つまり、撮像条件情報802は、この動画ファイル600の作成に際し、単位グループ202にたとえば「主要被写体領域を60fpsで動画撮像する」、「背景領域を30fpsで動画撮像する」という2種類の用途が存在したこと、並びに、これらの用途ごとに割り当てられた一意な番号を表す情報である。たとえば、1という番号が「主要被写体領域を60fpsで動画撮像する」用途を、2という番号が「背景領域を30fpsで動画撮像する」用途にそれぞれ割り当てられる。
【0074】
マスク情報704は、各々の単位グループ202の用途(目的、役割)を表す情報である。マスク情報704を、「撮像条件情報802に割り当てられた番号を、単位グループ202の位置に合わせて二次元マップの形で表現した情報」としている。つまり、二次元状に配列された単位グループ202を2つの整数x、yによる二次元座標(x、y)で特定するとき、(x、y)の位置に存在する単位グループ202の用途は、マスク情報704の(x、y)の位置に存在する番号により表現される。
【0075】
たとえば、マスク情報704の座標(3,5)の位置に「1」という番号が入っていた場合、座標(3,5)に位置する単位グループ202には、「主要被写体領域を60[fps]で撮像する」という用途が与えられたことがわかる。換言すると、座標(3,5)に位置する単位グループ202は、主要被写体領域702に属することがわかる。
【0076】
なお、マスク情報704はフレームごとに変化する動的情報なので、フレームごと、すなわち、後述するデータブロックBiごとに圧縮処理中に記録される(不図示)。
【0077】
データ部602には、フレームF(F1~Fn)ごとにデータブロックB1~Bnが撮像順に動画データとして格納される。データブロックBi(iは1≦i≦nの整数)は、マスク情報704と、画像情報811と、Tv値マップ812と、Sv値マップ813と、Bv値マップ814と、Av値情報815と、音声情報816と、付加情報817とを含む。
【0078】
画像情報811は、
図7の(c)の撮像により撮像素子100から出力された撮像信号を、種々の画像処理を施す前の形で記録した情報であり、いわゆるRAW画像データである。
【0079】
Tv値マップ812は、単位グループ202ごとに設定されたシャッタースピードを表すTv値を、単位グループ202の位置に合わせて二次元マップの形で表現した情報である。たとえば座標(x、y)に位置する単位グループ202に設定されたシャッタースピードは、Tv値マップ812の座標(x、y)に格納されているTv値を調べることで判別可能である。
【0080】
Sv値マップ813は、単位グループ202ごとに設定されたISO感度を表すSv値を、Tv値マップ812と同様に二次元マップの形で表現した情報である。
【0081】
Bv値マップ814は、
図7の(c)の撮像に際して単位グループ202ごとに測定された被写体輝度、すなわち、各々の単位グループ202に入射した被写体光の輝度を表すBv値を、Tv値マップ812と同様に二次元マップの形で表現した情報である。
【0082】
Av値情報815は、
図7の(c)の撮像時の絞り値を表す情報である。Av値は、Tv値、Sv値、Bv値とは異なり、単位グループ202ごとに存在する値ではない。従って、Tv値、Sv値、Bv値とは違い、Av値は単一の値のみが格納され、複数の値を二次元状にマップした情報とはなっていない。
【0083】
音声情報816は、動画再生を行いやすいように、1フレーム分の情報ごとに分割され、データブロックBiと多重化されてデータ部602に格納されている。なお、音声情報816の多重化は、1フレーム分でなく、所定数のフレーム分ごとに行ってもよい。なお、音声情報816は、必ずしも含まれている必要はない。
【0084】
付加情報817は、
図7の(c)の撮像に際して単位グループ202ごとに設定されたフレームレートを二次元マップの形で表現した情報である。付加情報817の設定については、
図14および
図15で後述する。なお、付加情報817については、フレームFに保持させてもよいが、後述するプロセッサ1201のキャッシュメモリに保持してもよい。特にリアルタイムで圧縮処理を実行する場合は、高速処理の観点からキャッシュメモリを利用するのが好ましい。
【0085】
以上のように、制御部502は、マルチフレームレート動画撮像機能による撮像を行うことにより、単位グループ202ごとに撮像条件が設定可能な撮像素子100により生成された画像情報811と、単位グループ202ごとの撮像条件に関するデータ(撮像条件情報802、マスク情報704、Tv値マップ812、Sv値マップ813、Bv値マップ814など)とが関連付けられた動画ファイル600を、メモリカード504に記録する。
【0086】
以下、上述した撮像素子100を用いた動画圧縮の実施例について説明する。
【実施例1】
【0087】
<動画圧縮例>
図9は、実施例1にかかる動画圧縮例を示す説明図である。電子機器500は、上述した撮像素子100と、制御部502と、を有する。制御部502は、画像処理部901と、圧縮部902と、を含む。撮像素子100は、上述したように、被写体を撮像する複数の撮像領域を有する。撮像領域は、少なくとも1画素以上の画素集合であり、たとえば、上述した1以上の単位グループ202である。撮像領域には、単位グループ202ごとにフレームレートが設定可能である。
【0088】
ここでは、撮像領域のうち、第1撮像領域には、第1フレームレート(たとえば、30[fps])が設定され、第1撮像領域以外の第2撮像領域には、第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])が設定されたものとする。なお、第1フレームレートおよび第2フレームレートの値は一例であり、第2フレームレートが第1フレームレートよりも速ければ他の値でもよい。
【0089】
撮像素子100は、被写体を撮像して、画像信号(
図9では、便宜的に複数のフレームを含む第1動画データ910とする)を画像処理部901に出力する。フレーム内において、撮像素子100のある撮像領域で撮像された画像データの領域を画像領域と称す。また、第1撮像領域に設定された第1フレームレート(30[fps])で撮像された第1画像領域a1(網掛け)の画像データおよび第2撮像領域に設定された第2フレームレート(60[fps])で撮像された第2画像領域a2(黒塗り)の画像データのうち、少なくとも第1画像領域a1の画像データを含むフレームを第1フレームと称す。
【0090】
具体的には、たとえば、第1フレームは、特定被写体(電車)が検出されていない場合、フレーム全域(風景)が第1フレームレート(30[fps])で撮像された第1画像領域a1となる。また、第1フレームは、特定被写体が検出されている場合、フレーム全域のうち、特定被写体(電車)を撮像した部分が、第2フレームレート(60[fps])で撮像された第2画像領域a2であり、残余(風景)の部分が第1フレームレート(30[fps])で撮像された第1画像領域a1となる。
【0091】
また、第2撮像領域に設定された第2フレームレート(60[fps])で撮像された第2画像領域a2のみのフレームを第2フレームと称す。
【0092】
たとえば、ある撮像領域が1つの単位グループ202(2×2画素)で構成されている場合、対応する画像領域の大きさも単位グループ202の大きさとなる。同様に、ある撮像領域が2×2の単位グループ202(4×4画素)で構成されている場合、対応する画像領域の大きさも2×2の単位グループ202の大きさとなる。
【0093】
図9では、撮像素子100から出力された第1動画データ910のうち、第1画像領域a1を含むフレームは、第1フレームとし、第2画像領域a2の特定被写体像のみのフレームは、第2フレームとする。なお、撮像領域は3以上でもよい。この場合、第3撮像領域以降については、第1フレームレートおよび第2フレームレートとは異なるフレームレートが設定可能となる。
【0094】
画像処理部901は、撮像素子100から入力された動画データ(以下、第1動画データ)910を画像処理する。具体的には、たとえば、画像処理部901は、第2フレームの時間的に1つ前の第1フレームを参照して、その第1フレームを参照元の第2フレームにコピー、すなわち、合成する。合成されたフレームを第3フレームと称す。第3フレームは、第1フレームの被写体画像に、第2フレームにおける特定被写体画像が重畳されたフレームである。画像処理部901は、30[fps]で撮像された第1フレームと、合成フレームである第3フレームと、を含む動画データ(以下、第2動画データ)920を圧縮部902に出力する。
【0095】
上述した第1動画データ910そのままでは圧縮部902で圧縮することができない。そのため、画像処理部901は、フレーム列に第1フレームおよび第2フレームが混在する場合、圧縮部902が動作可能な第2動画データ920を生成する。これにより、汎用の圧縮部902により、圧縮部902において通常の動画データと同様に第2動画データ920の圧縮が可能となる。
【0096】
圧縮部902は、画像処理部901から入力された第2動画データ920を圧縮する。圧縮部902は、たとえば、動き補償フレーム間予測(Motion Compensation:MC)と離散コサイン変換(Discrete Cosine Transform:DCT)とに、エントロピー符号化を組み合わせたハイブリッド符号化によって圧縮する。
【0097】
圧縮部902は、第2動画データ920を構成する第1フレームおよび第3フレームのうち、網掛けで示した第1画像領域a1については、動き検出や動き補償が不要な圧縮処理を実行し、黒塗りした特定被写体像の第2画像領域a2については、上述したハイブリッド符号化によって圧縮する。このように、特定被写体像以外の第1画像領域a1については、動き検出や動き補償が実行されないため、動画圧縮の処理負荷の低減を図ることができる。
【0098】
図10は、
図9に示した動画圧縮における画像処理例1を示す説明図である。画像処理例1では、電子機器500は、田んぼ、山、および空を含む風景の定点撮影中に、特定被写体として、走行する電車を撮影する。特定被写体である電車は、上述した周知の被写体検出技術により特定される。撮影されたフレームは、時系列順にフレームF1,F2-60,F3,F4-60,F5とする。ここでは、電車は、フレームF1,F2-60,F3,F4-60,F5内において、右から左に向かって走行するものとする。
【0099】
フレームF1,F3,F5は、第1撮像領域が30[fps]の第1フレームレートで撮像された第1画像領域a1の画像データと、第2撮像領域が60[fps]の第2フレームレートで撮像された第2画像領域a2の画像データと、を含む第1フレームである。フレームF2-60,F4-60は、第2撮像領域が60[fps]の第2フレームレートで撮像された第2画像領域a2の画像データを含む第2フレームである。
【0100】
具体的には、たとえば、フレームF1,F3,F5は、第1画像領域a1に田んぼ、山、および空を含む風景が撮像され、第2画像領域a2に特定被写体として走行する電車が撮像された第1フレームである。フレームF2-60,F4-60は、第2画像領域a2に電車が撮像されたフレームである。すなわち、フレームF1,F2-60,F3,F4-60,F5において、電車が撮像された第2画像領域a2の画像データが、第2撮像領域(60[fps])で撮像された画像データであり、フレームF1,F3,F5において、風景が撮像された第1画像領域a1の画像データが、第1撮像領域(30[fps])で撮像された画像データである。第1撮像領域は、第1フレームレートで撮像されるため、第2フレームレートで撮像されるフレームF2-60,F4-60の第1画像領域a1には、何も撮像されていない。
【0101】
フレームF1,F2-60,F3,F4-60…は、上述した第1動画データ910に相当し、そのままでは圧縮部902で圧縮することができない。フレーム列に第1フレームおよび第2フレームが混在する場合、圧縮部902が動作可能な第2動画データ920を生成する必要がある。
【0102】
画像処理部901は、フレームF2-60よりも時間的に1つ前のフレームF1の第1画像領域a1の画像データ(電車を除いた風景)に、フレームF2-60の第2画像領域a2の画像データ(電車)をコピーする。これにより、画像処理部901は、第3フレームであるフレームF2を生成する。
【0103】
フレームF4-60も同様に、画像処理部901は、フレームF4-60よりも時間的に1つ前のフレームF3の第1画像領域a1の画像データ(電車を除いた風景)に、フレームF4-60の第2画像領域a2の画像データ(電車)をコピーする。これにより、画像処理部901は、第3フレームであるフレームF4を生成する。そして、画像処理部901は、フレームF1~F5を含む第2動画データ920を出力する。
【0104】
このようにして、フレームF2-60,F4-60の第1画像領域a1の画像データを時間的に1つ前の第1フレームレートのフレームF1、F3で補間することにより、第1画像領域a1について、フレームF1,F2間の差分をほぼ0にし、フレームF3,F4間の差分をほぼ0にすることができる。したがって、第1フレームと第2フレームとが混在するフレーム列を従来の圧縮部902で圧縮することが可能となる。また、圧縮処理の処理負荷の低減を図ることができる。
【0105】
なお、フレームF2では、フレームF1の第1画像領域a1の画像データ(電車を除いた風景)がコピーされる。したがって、本来フレームF1の第2画像領域a2だった部分(電車の末尾)がフレームF2にコピーされない。このため、フレームF2は、何も出力されていない範囲Da1を有する。
【0106】
同様に、フレームF4では、フレームF3の第1画像領域a1の画像データ(電車を除いた風景)がコピーされる。したがって、本来フレームF3の第2画像領域a2だった部分(電車の末尾)がフレームF4にコピーされない。このため、フレームF4は、何も出力されていない範囲Da3を有する。
【0107】
実施例1では、範囲Da1,Da3については、画像処理部901は、特定色(たとえば、白、黒、またはグレー)で塗りつぶしてもよく、周辺画素を用いてデモザイク処理を実行してもよい。これにより、動画圧縮が可能で、かつ、違和感がより少ないフレームF2,F4,…を再現することができる。
【0108】
図11は、
図9に示した動画圧縮における画像処理例2を示す説明図である。画像処理例2では、電子機器500は、たとえば、ドライブレコーダであり、前方を走行する車(先行車)および風景を撮影する。この場合、先行車が追尾対象となる特定被写体であり、風景が自走により変化する。撮影されたフレームは、時系列順にフレームF6,F7-60,F8,F9-60,F10とする。
【0109】
フレームF6,F8,F10は、第1撮像領域が30[fps]の第1フレームレートで撮像された第1画像領域a1の画像データと、第2撮像領域が60[fps]の第2フレームレートで撮像された第2画像領域a2の画像データと、を含む第1フレームである。フレームF7-60,F9-60は、第2撮像領域が60[fps]の第2フレームレートで撮像された第2画像領域a2の画像データを含む第2フレームである。
【0110】
具体的には、たとえば、フレームF6,F8,F10は、第1画像領域a1に先行車が撮像され、第2画像領域a2に変わりゆく風景が撮像された第1フレームである。フレームF7-60,F9-60は、第2画像領域a2に風景が撮像されたフレームである。すなわち、フレームF6,F7-60,F8,F9-60,F10において、風景が撮像された第2画像領域a2の画像データが、第2撮像領域(60[fps])で撮像された画像データであり、フレームF6,F8,F10において、先行車が撮像された第1画像領域a1の画像データが、第1撮像領域(30[fps])で撮像された画像データである。第1撮像領域は、第1フレームレートで撮像されるため、第2フレームレートで撮像されるフレームF7-60,F9-60の第1画像領域a1には、何も撮像されていない。
【0111】
画像処理部901は、フレームF7-60よりも時間的に1つ前のフレームF6の第1画像領域a1の画像データ(風景を除いた先行車)に、フレームF7-60の第2画像領域a2の画像データ(風景)をコピーする。これにより、画像処理部901は、第3フレームであるフレームF7を生成する。
【0112】
フレームF9も同様に、画像処理部901は、フレームF9-60よりも時間的に1つ前のフレームF8の第1画像領域a1の画像データ(風景を除いた先行車)に、フレームF9-60の第2画像領域a2の画像データ(風景)をコピーする。これにより、画像処理部901は、第3フレームであるフレームF9を生成する。そして、画像処理部901は、フレームF6~F10を含む第2動画データ920を出力する。
【0113】
このようにして、フレームF7-60,F9-60の第1画像領域a1の画像データを時間的に1つ前の第1フレームレートのフレームF6,F8で補間することにより、第1画像領域a1について、フレームF6,F7間の差分を0にし、フレームF8,F9間の差分を0にすることができる。したがって、第1フレームと第2フレームとが混在するフレーム列を従来の圧縮部902で圧縮することが可能となる。また、圧縮処理の処理負荷の低減を図ることができる。
【0114】
なお、制御部502は、第2動画データ920の圧縮処理をリアルタイム処理で実行してもよいが、バッチ処理で実行してもよい。たとえば、制御部502は、撮像素子100、前処理部900、または画像処理部901からの第1動画データ910、第2動画データ920を一旦メモリカード504、DRAM506、またはフラッシュメモリ507に格納しておき、自動的にまたはユーザ操作によるトリガがあった場合に、第1動画データ910、第2動画データ920を読み出して(第1動画データ910の場合は画像処理部901で第2動画データ920に変換後)、圧縮部902に圧縮処理を実行させてもよい。
【0115】
<制御部502の構成例>
図12は、
図5に示した制御部502の構成例を示すブロック図である。制御部502は、前処理部1210と、画像処理部901と、取得部1220と、圧縮部902と、を有し、プロセッサ1201、メモリ1202、集積回路1203、およびこれらを接続するバス1204により構成される。
【0116】
前処理部1210、画像処理部901、取得部1220および圧縮部902は、メモリ1202に記憶されたプログラムをプロセッサ1201に実行させることにより実現してもよく、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの集積回路1203により実現してもよい。また、プロセッサ1201は、メモリ1202をワークエリアとして利用してもよい。また、集積回路1203は、メモリ1202を、画像データを含む各種データを一時的に保持するバッファとして利用してもよい。
【0117】
前処理部1210は、撮像素子100からの第1動画データ910について画像処理部901による画像処理の前処理を実行する。具体的には、たとえば、前処理部1210は、検出部1211と設定部1212とを有する。検出部1211は、上述した周知の被写体検出技術により、特定被写体を検出する。
【0118】
設定部1212は、撮像素子100からの第1動画データ910を構成する各フレームに付加情報817を付与する。また、設定部1212は、撮像素子100の撮像面200のうち、特定被写体が検出された撮像領域を第1フレームレート(たとえば、30[fps])から第2フレームレート(60[fps])に変更する。
【0119】
具体的には、たとえば、設定部1212は、入力フレームでの特定被写体が検出された撮像領域と入力済みフレームの特定被写体が検出された撮像領域との差分から特定被写体の動きベクトルを検出して、次の入力フレームでの特定被写体の撮像領域を予測する。設定部1212は、予測した撮像領域について第2フレームレートに変更する指示を撮像素子100に出力する。
【0120】
画像処理部901は、前処理部1210から出力された第1動画データ910の各フレームを画像処理する。具体的には、たとえば、画像処理部901は、特定部1213と合成部1214とを有する。
【0121】
特定部1213は、第1動画データ910の複数のフレームの中で、上述した第1フレーム(たとえば、
図10のフレームF1)と、上述した第2フレーム(たとえば、
図10のフレームF2-60)と、に基づいて、第1フレームにおける第2撮像領域に対応する第2画像領域a2と、第2フレームにおける第2撮像領域に対応する第2画像領域a2と、の差分領域を特定する。フレームF1とフレームF2-60との差分領域は、フレームF2-60における電車の後方の第1画像領域a1となる。
【0122】
合成部1214は、
図9~
図11に示したように、第2画像領域a2の画像データのみの第2フレーム(たとえば、
図10のフレームF2-60)に、時間的に1つ前の第1画像領域a1の画像データを含む第1フレーム(たとえば、
図10のフレームF1)をコピーして合成し、第3フレーム(たとえば、
図10のフレームF2)を生成する。なお、合成部1214は、特定部1213で特定された差分領域(範囲Da1)に、第1フレームの差分領域と同一位置における第2画像領域a2の画像データ(電車の末尾部分)をコピーする(
図10のフレームF2-60の点線丸を参照。)。これにより、時間的に連続する第1フレームと第3フレームとの差分をほぼ0にすることができる。
【0123】
取得部1220は、画像処理部901から出力された第2動画データ920をメモリ1202に保持して、所定のタイミングで第2動画データ920に含まれる複数のフレームを時系列順に1フレームずつ圧縮部902に出力する。
【0124】
圧縮部902は、
図9に示したように、入力された第2動画データ920を圧縮する。具体的には、たとえば、圧縮部902は、第2動画データ920を構成する第1フレームおよび第3フレームのうち、第1画像領域a1の画像データについては、動き検出や動き補償が不要な圧縮処理を実行し、特定被写体が撮像された第2画像領域a2の画像データについては、上述したハイブリッド符号化によって圧縮する。このように、特定被写体像以外の領域については、動き検出や動き補償が実行されないため、動画圧縮の処理負荷の低減を図る。
【0125】
<圧縮部902の構成例>
図13は、圧縮部902の構成例を示すブロック図である。上述したように、圧縮部902は、動き補償フレーム間予測(MC)と離散コサイン変換(DCT)とに、エントロピー符号化を組み合わせたハイブリッド符号化によって、第2動画データ920の各フレームを圧縮する。
【0126】
圧縮部902は、減算部1301と、DCT部1302と、量子化部1303と、エントロピー符号化部1304と、符号量制御部1305と、逆量子化部1306と、逆DCT部1307と、生成部1308と、フレームメモリ1309と、動き検出部1310と、動き補償部1311と、圧縮制御部1312と、を有する。減算部1301~動き補償部1311は、既存の圧縮器と同様な構成である。
【0127】
具体的には、たとえば、減算部1301は、入力フレームから、当該入力フレームを予測する動き補償部1311からの予測フレームを減算して差分データを出力する。DCT部1302は、減算部1301からの差分データを離散コサイン変換する。
【0128】
量子化部1303は、離散コサイン変換された差分データを量子化する。エントロピー符号化部1304は、量子化された差分データをエントロピー符号化し、また、動き検出部1310からの動きベクトルもエントロピー符号化する。
【0129】
符号量制御部1305は、量子化部1303による量子化を制御する。逆量子化部1306は、量子化部1303で量子化された差分データを逆量子化して、離散コサイン変換された差分データにする。逆DCT部1307は、逆量子化された差分データを逆離散コサイン変換する。
【0130】
生成部1308は、逆離散コサイン変換された差分データと、動き補償部1311からの予測フレームとを加算して、当該入力フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する。フレームメモリ1309は、生成部1308から得られた参照フレームを保持する。動き検出部1310は、入力フレームと参照フレームとを用いて、動きベクトルを検出する。動き補償部1311は、参照フレームと動きベクトルとを用いて、予測フレームを生成する。
【0131】
動き補償部1311は、具体的には、たとえば、フレームメモリ1309に保持された複数の参照フレームのうち特定の参照フレームと動きベクトルとを用いて、第2フレームレートで撮像されたフレームの動き補償を実行する。参照フレームを特定の参照フレームとすることにより、特定の参照フレーム以外の他の参照フレームをも用いた高負荷の動き補償を抑制することができる。また、特定の参照フレームを、入力フレームの時間的に1つ前のフレームから得られた1枚の参照フレームとすることにより、高負荷な動き補償を回避して、動き補償の処理負荷の低減を図ることができる。
【0132】
圧縮制御部1312は、動き検出部1310と動き補償部1311を制御する。具体的には、たとえば、圧縮制御部1312は、動き検出部1310で動きがないことを示す特定の動きベクトルを設定する第1圧縮制御方法と、動き検出自体をスキップする第2圧縮制御方法を実行する。
【0133】
第1圧縮制御方法については、圧縮制御部1312は、動き検出部1310を制御して、第1フレームレート(たとえば、30[fps])で撮像された第1画像領域a1については、動きベクトルの検出ではなく、動きがないことを示す特定の動きベクトルを設定して、動き補償部1311に出力し、第2フレームレート(たとえば、60[fps])で撮像された第2画像領域a2については、動きベクトルを検出して、動き補償部1311に出力する。特定の動きベクトルは、方向が規定されず、かつ、動き量が0の動きベクトルである。
【0134】
この場合、圧縮制御部1312は、動き補償部1311を制御して、第1画像領域a1の画像データについては、特定の動きベクトルと参照フレームとに基づいて動き補償を実行し、第2画像領域a2の画像データについては、動き検出部1310によって検出された動きベクトルに基づいて動き補償を実行する。
【0135】
第2圧縮制御方法については、圧縮制御部1312は、動き検出部1310を制御して、第1フレームレート(たとえば、30[fps])で撮像された第1画像領域a1については、動きベクトルの検出を実行せず、第2フレームレート(たとえば、60[fps])で撮像された第2画像領域a2については、動きベクトルの検出を実行する。
【0136】
この場合、圧縮制御部1312は、動き補償部1311を制御して、第1画像領域a1の画像データについては、参照フレームに基づいて動き補償を実行する。すなわち、動きベクトルがないため、圧縮制御部1312は、動き補償部1311を制御して、第1画像領域a1の画像データについては、参照フレームを、入力フレームの時間的に1つ後のフレームを予測する予測フレームに決定する。また、圧縮制御部1312は、動き補償部1311を制御して、第2画像領域a2の画像データについては、参照フレームと動き検出部1310によって検出された動きベクトルに基づいて動き補償を実行する。
【0137】
第1圧縮制御方法によれば、動きベクトルが特定の動きベクトルであるため、第1画像領域a1での動き検出が簡略化される。したがって、動画圧縮の処理負荷の低減を図る。また、第2圧縮制御方法によれば、第1画像領域a1について動き検出自体が実行されないため、第1圧縮制御方法よりも、動画圧縮の処理負荷の低減を図る。
【0138】
<制御部502の動作処理手順例>
図14は、制御部502の動作処理手順例を示すシーケンス図である。
図14では、説明の便宜上、取得部1220を省略する。前処理部1210は、たとえば、ユーザが操作部505を操作することにより、または、ステップS1412の特定被写体の非検出の場合(ステップS1412:Yes)は自動で、撮像素子100の撮像面200全域の撮像条件を第1フレームレート(たとえば、30[fps])に設定する(ステップS1401)。
【0139】
そして、前処理部1210は、ステップS1401の設定内容を含む第1フレームレート設定指示を撮像素子100に送信する(ステップS1402)。これにより、撮像素子100は、撮像面200全域の撮像条件を第1フレームレートに設定され、撮像素子100は、被写体を第1フレームレートで撮像して、第1動画データ910を前処理部1210に出力する(ステップS1403)。
【0140】
前処理部1210は、第1動画データ910が入力されると(ステップS1403)、設定処理を実行する(ステップS1404)。設定処理(ステップS1404)は、第1動画データ910の各フレームに、付加情報817を設定する。付加情報817とは、上述したように、各撮像領域で撮像されたフレーム内の画像領域に設定されたフレームレートである。たとえば、第1フレームレート(たとえば、30[fps])が付加情報817として付加された画像領域は、第1画像領域a1として認識され、第2フレームレート(たとえば、60[fps])が付加情報817として付加された画像領域は、第2画像領域a2として認識される。
【0141】
また、前処理部1210は、各フレームに付加情報817が付加された第1動画データ910を画像処理部901に出力する(ステップS1405)。
【0142】
また、前処理部1210は、設定処理(ステップS1404)で次の入力フレームの第2フレームレートの画像領域が検出されなかった場合(ステップS1406:No)、ステップS1403の第1動画データ910の入力を待ち受ける。一方、前処理部1210は、設定処理(ステップS1404)で次の入力フレームの第2フレームレートの画像領域が検出された場合(ステップS1406:Yes)、特定被写体を含む第2画像領域a2を第2フレームレート(たとえば、60[fps])に設定変更する(ステップS1407)。
【0143】
そして、前処理部1210は、ステップS1407の設定変更内容を含む第2フレームレート設定指示を撮像素子100に送信する(ステップS1408)。これにより、撮像素子100は、撮像面200全域のうち第2撮像領域の撮像条件を第2フレームレートに設定され、撮像素子100は、被写体を第1撮像領域では第1フレームレートで撮像し、第2撮像領域では第2フレームレートで撮像して、第1動画データ910を前処理部1210に出力する(ステップS1409)。
【0144】
前処理部1210は、第1動画データ910が入力されると(ステップS1409)、付加情報設定処理を実行する(ステップS1410)。付加情報設定処理(ステップS1410)は、付加情報設定処理(ステップS1404)と同一処理である。付加情報設定処理(ステップS1410)の詳細については、
図15で後述する。前処理部1210は、各フレームに付加情報817が付加された第1動画データ910を画像処理部901に出力する(ステップS1411)。
【0145】
前処理部1210は、特定被写体が非検出になった場合(ステップS1412:Yes)、ステップS1401に戻り、撮像面200全域を第1フレームレートに設定変更する(ステップS1401)。一方、特定被写体が検出され続けている場合(ステップS1412:No)、ステップS1407に戻り、特定被写体の検出位置に応じた第2画像領域a2を第2フレームレートに変更する(ステップS1407)。なお、この場合、特定被写体が検出されなくなった画像領域については、前処理部1210は、第1フレームレートに設定変更する。
【0146】
また、画像処理部901は、第1動画データ910が入力されると(ステップS1405)、付加情報817を参照して画像処理を実行する(ステップS1413)。なお、画像処理(ステップS1413)では、画像処理部901は、各フレームの付加情報817を参照して、第1動画データ910の各フレームは、第1フレームのみであると特定する。
【0147】
したがって、特定被写体が撮像されていないため、画像処理部901は、第3フレームを生成しない。画像処理(ステップS1413)の詳細については、
図18で後述する。画像処理部901は、第1動画データ910を圧縮部902に出力する(ステップS1414)。
【0148】
また、画像処理部901は、第1動画データ910が入力されると(ステップS1411)、付加情報817を参照して画像処理を実行する(ステップS1415)。なお、画像処理(ステップS1415)では、画像処理部901は、各フレームの付加情報817を参照して、第1動画データ910の各フレームは、第1フレームおよび第2フレームを含むと特定する。
【0149】
したがって、第1フレームおよび第2フレームに特定被写体が撮像されているため、画像処理部901は、第3フレームを生成する。画像処理(ステップS1415)の詳細については、
図18で後述する。画像処理部901は、第1フレームおよび第3フレームを含む第2動画データ920を圧縮部902に出力する(ステップS1416)。
【0150】
圧縮部902は、第1動画データ910が入力されると(ステップS1414)、第1動画データ910の圧縮処理を実行する(ステップS1417)。第1動画データ910は、第1フレームのみで構成されるため、圧縮部902は、圧縮処理(ステップS1417)において、動き検出や動き補償が不要な圧縮符号化を実行する。圧縮処理(ステップS1417)の詳細については、
図19~
図24で後述する。
【0151】
また、圧縮部902は、第2動画データ920が入力されると(ステップS1416)、第2動画データ920の圧縮処理を実行する(ステップS1418)。第2動画データ920は、第1フレームおよび第3フレームで構成されるため、圧縮部902は、圧縮処理(ステップS1418)において、第1画像領域a1については動き検出や動き補償が不要な圧縮符号化を実行し、第2画像領域a2については通常のハイブリッド符号化による圧縮を実行する。圧縮処理(ステップS1418)の詳細については、
図19~
図24で後述する。
【0152】
<設定処理(ステップS1404、S1410)>
図15は、
図14に示した設定処理(ステップS1404、S1410)の詳細な処理手順例を示すフローチャートである。
図15では、撮像素子100には、あらかじめ第1フレームレート(例:30[fps])が設定されており、検出部1211の被写体検出技術により第2フレームレート(例:60[fps])の画像領域を追尾して、撮像素子100にフィードバックする。なお、第1フレームレートおよび第2フレームレートの画像領域は、常時固定でもよい。
【0153】
前処理部1210は、第1動画データ910を構成するフレームの入力を待ち受け(ステップS1501:No)、フレームが入力された場合(ステップS1501:Yes)、検出部1211により主要被写体などの特定被写体が検出されたか否かを判断する(ステップS1502)。特定被写体が検出されていない場合(ステップS1502:No)、ステップS1504に移行する。
【0154】
一方、特定被写体が検出された場合(ステップS1502:Yes)、前処理部1210は、検出部1211により、時間的に1つ前のフレーム(たとえば、参照フレーム)と入力フレームとを比較して動きベクトルを検出し、次の入力フレームでの第2フレームレートの画像領域を予測し、撮像素子100に出力し、ステップS1504に移行する(ステップS1503)。これにより、撮像素子100は、予測された画像領域に対応する撮像領域を構成する単位グループ202の撮像条件を第2フレームレートに設定し、残余の単位グループ202の撮像条件を第1フレームレートに設定して、被写体を撮像する。
【0155】
そして、前処理部1210は、入力フレームについて
図8に示したデータブロックBiを生成して(ステップS1504)、付加情報設定処理を実行し(ステップS1505)、ステップS1501に戻る。付加情報設定処理(ステップS1505)は、上述した付加情報を設定する処理であり、
図16で詳細に説明する。
【0156】
フレームの入力がない場合(ステップS1501:No)、第1動画データ910の入力が終了しているため、前処理部1210は、設定処理(ステップS1404、S1410)を終了する。
【0157】
<付加情報設定処理(ステップS1505)>
図16は、
図15に示した付加情報設定処理(ステップS1505)の詳細な処理手順例を示すフローチャートである。前処理部1210は、フレームが入力されると(ステップS1601)、入力フレームに未選択画像領域があるか否かを判断する(ステップS1602)。未選択画像領域がある場合(ステップS1602:Yes)、前処理部1210は、未選択画像領域を1つ選択し(ステップS1603)、特定被写体の検出フラグがONであるか否かを判断する(ステップS1604)。検出フラグは、特定被写体の検出の有無を示す情報であり、デフォルトはOFF(非検出)である。
【0158】
図14のステップS1406で特定被写体が検出された場合(ステップS1406:Yes)、前処理部1210は、検出フラグをOFFからON(検出中)に変更する。ステップS1412で特定被写体が非検出となった場合(ステップS1412:Yes)、前処理部1210は、検出フラグをONからOFFに変更する。
【0159】
図16に戻り、検出フラグがOFFである場合(ステップS1604:No)、前処理部1210は、選択画像領域について第1フレームレートを示す情報を付加情報817に設定し(ステップS1605)、ステップS1602に戻る。一方、検出フラグがONである場合(ステップS1604:Yes)、前処理部1210は、選択画像領域は、特定被写体像が存在する画像領域であるか否かを判断する(ステップS1606)。
【0160】
特定被写体像が存在しない場合(ステップS1606:No)、ステップS1602に戻る。一方、特定被写体像が存在する場合(ステップS1606:Yes)、前処理部1210は、選択画像領域について第2フレームレートを示す情報を付加情報817に設定し(ステップS1607)、ステップS1602に戻る。
【0161】
ステップS1602において、未選択画像領域がない場合(ステップS1602:No)、前処理部1210は、付加情報設定処理を終了する。このあと、前処理部1210は、フレームレートの設定指示を撮像素子100に送信する(ステップS1402、S1408)。
【0162】
各フレームの画像領域ごとに、付加情報817を設定することにより、前処理部1210は、どの画像領域に対応する撮像素子100の撮像領域をどのフレームレートに設定すればよいかを特定することができる。または、画像処理部901および圧縮部902は、入力されたフレームの各画像領域のフレームレートを付加情報817から特定することができる。
【0163】
<動画ファイル生成処理>
図17は、動画ファイル生成処理手順例を示すフローチャートである。動画ファイル生成処理は、例えば、圧縮部902の圧縮処理中に実行されるが、圧縮せずに動画ファイル600を生成する場合は、画像処理部901の後に実行されてもよい。
【0164】
制御部502は、
図8に示したように、識別情報801、撮像条件情報802、およびマスク情報704を生成して、その順にマスク領域612に格納する(ステップS1701)。つぎに、前処理部1210は、撮像情報を撮像情報領域613に格納する(ステップS1702)。
【0165】
そして、制御部502は、Tv値マップ812、Sv値マップ813、Bv値マップ814、およびAv値情報815を生成する(ステップS1703)。つぎに、前処理部1210は、マスク情報704、画像情報811、Tv値マップ812、Sv値マップ813、Bv値マップ814、およびAv値情報815の順にデータ領域に格納する(ステップS1704)。
【0166】
最後に、制御部502は、ファイル基本情報を生成して、ヘッダ部601の先頭であるファイル基本情報領域611に格納する(ステップS1705)。これにより、制御部502は、動画ファイル600を生成することができる。
【0167】
<画像処理(ステップS1413、S1415)>
図18は、
図14に示した画像処理(ステップS1413、S1415)の詳細な処理手順例を示すフローチャートである。画像処理部901は、フレームを入力すると(ステップS1801)、付加情報817を参照する(ステップS1802)。画像処理部901は、付加情報817内のフレームレートが第2フレームレートのみであるか否かを判断する(ステップS1803)。
【0168】
第2フレームレートのみでない場合(ステップS1803:No)、付加情報817は、第1フレームレートのみ、または、第1フレームレートおよび第2フレームレートを含む。したがって、画像処理部901は、入力フレームの画像情報を格納対象として保持し、かつ、バッファに上書きして(ステップS1804)、ステップS1806に移行する。
【0169】
一方、付加情報817が第2フレームレートのみである場合(ステップS1803:Yes)、ステップS1804で上書きされたバッファ内の画像情報と、入力フレームの画像情報とで、第2フレームの画像情報を格納対象として生成し(ステップS1805)、ステップS1806に移行する。
【0170】
画像処理(ステップS1413)では、付加情報817は第1フレームレートのみとなる(ステップS1803:No)。一方、画像処理(ステップS1415)では、付加情報817は第1フレームレートおよび第2フレームレートを含むか(ステップS1803:No)、または、第2フレームレートのみとなる(ステップS1803:Yes)。
【0171】
これにより、画像処理部901は、
図9~
図11に示したように、第2フレームレートの第2画像領域a2のみからなるフレームを時間的に1つ前の第1フレームレートの第1画像領域a1により補間して、第1画像領域a1および第2画像領域a2を含むフレームに合成することができる。したがって、1フレーム内のフレームレートの相違を吸収することができる。
【0172】
<圧縮処理例:第1圧縮制御方法>
つぎに、圧縮部902による圧縮処理を第1圧縮制御方法と第2圧縮制御方法に分けて説明する。
【0173】
図19は、圧縮制御部1312による第1圧縮制御方法の圧縮制御処理手順例を示すフローチャートである。圧縮制御部1312は、入力フレームを取得し(ステップS1901)、取得した入力フレームから未選択画像領域を選択する(ステップS1902)。そして、圧縮制御部1312は、選択画像領域のフレームレートを付加情報817から参照する(ステップS1903)。
【0174】
選択画像領域のフレームレートが第2フレームレートである場合(ステップS1903:第2FR)、圧縮制御部1312は、選択画像領域の画像データを動き検出部1310に出力する(ステップS1904)。これにより、動き検出部1310は、第2フレームレートの選択画像領域については、通常通り、参照フレームを用いて動きベクトルを検出する。
【0175】
一方、選択画像領域のフレームレートが第1フレームレートである場合(ステップS1903:第1FR)、圧縮制御部1312は、第1フレームレートの選択画像領域にスキップフラグを設定して、動き検出部1310に出力する(ステップS1905)。これにより、動き検出部1310は、第1フレームレートの選択画像領域については、動きがないことを示す特定の動きベクトルを設定することになる。
【0176】
ステップS1904またはS1905のあと、圧縮制御部1312は、取得した入力フレームに未選択画像領域があるか否かを判断する(ステップS1906)。未選択画像領域がある場合(ステップS1906:Yes)、ステップS1902に戻る。一方、未選択画像領域がない場合(ステップS1906:No)、圧縮制御部1312は、一連の処理を終了する。
【0177】
図20は、動き検出部1310による第1圧縮制御方法の動き検出処理手順例を示すフローチャートである。動き検出部1310は、入力フレームよりも時間的に1つ前の参照フレームをフレームメモリ1309から取得し(ステップS2001)、
図19のステップS1904またはS1905で出力された選択画像領域の入力を待ち受ける(ステップS2002:No)。
【0178】
選択画像領域が入力された場合(ステップS2002:Yes)、動き検出部1310は、選択画像領域と同一箇所の画像領域の画像データを参照フレームから取得する(ステップS2003)。そして、動き検出部1310は、選択画像領域にスキップフラグがあるか否かを判断する(ステップS2004)。スキップフラグがない場合(ステップS2004:No)、選択画像領域のフレームレートが第2フレームレートである。したがって、動き検出部1310は、選択画像領域の画像データと、ステップS2003で取得した参照フレームの画像領域の画像データとを用いて、動きベクトルを検出する(ステップS2005)。
【0179】
一方、スキップフラグがある場合(ステップS2004:Yes)、動き検出部1310は、動きがないことを示す特定の動きベクトルを設定する(ステップS2006)。これにより、動き検出部1310での動き検出処理は、常に、動きがないことを示す特定の動きベクトルを用いるため、第1フレームレートの選択画像領域について、動き検出の処理負荷が低減される。そして、動き検出部1310は、ステップS2005またはS2006で得られた動きベクトルを動き補償部1311に出力して(ステップS2007)、一連の処理を終了する。
【0180】
図21は、動き補償部1311による第1圧縮制御方法の動き補償処理手順例を示すフローチャートである。動き補償部1311は、フレームメモリ1309から参照フレームを取得する(ステップS2101)。動き補償部1311は、選択画像領域と同一箇所の画像領域を参照フレームから取得する(ステップS2102)。
【0181】
そして、動き補償部1311は、動き検出部1310からの選択画像領域についての動きベクトルと、ステップS2102で取得された参照フレームの画像領域とを用いて、動き補償を実行する(ステップS2103)。これにより、動き補償部1311は、選択画像領域における予測画像データを生成することができる。
【0182】
そして、動き補償部1311は、全選択画像領域の動き補償が終了したか否かを判断する(ステップS2104)。具体的には、たとえば、圧縮制御部1312がステップS1906で未選択画像領域があると判断した場合に(ステップS1907:Yes)、動き補償部1311は、全選択画像領域の動き補償が終了していないと判断し(ステップS2104:No)、ステップS2102に戻る。
【0183】
一方、圧縮制御部1312がステップS1906で未選択画像領域がないと判断した場合に(ステップS1906:No)、動き補償部1311は、全選択画像領域の動き補償が終了したと判断する(ステップS2104:Yes)。そして、動き補償部1311は、全選択画像領域についての予測画像データを結合した予測フレームを減算部1301および生成部1308に出力して(ステップS2105)、一連の処理を終了する。
【0184】
<圧縮処理例:第2圧縮制御方法>
図22は、圧縮制御部1312による第2圧縮制御方法の圧縮制御処理手順例を示すフローチャートである。圧縮制御部1312は、入力フレームを取得し(ステップS2201)、取得した入力フレームから未選択画像領域を選択する(ステップS2202)。そして、圧縮制御部1312は、選択画像領域のフレームレートを付加情報817から参照する(ステップS2203)。
【0185】
選択画像領域のフレームレートが第2フレームレートである場合(ステップS2203:第2FR)、圧縮制御部1312は、選択画像領域を動き検出部1310に出力する(ステップS2204)。これにより、動き検出部1310は、第2フレームレートの選択画像領域については、通常通り、参照フレームを用いて動きベクトルを検出する。
【0186】
一方、選択画像領域のフレームレートが第1フレームレートである場合(ステップS2203:第1FR)、圧縮制御部1312は、第1フレームレートの選択画像領域にスキップフラグを設定して、動き検出部1310に出力する(ステップS2205)。これにより、動き検出部1310は、第1フレームレートの選択画像領域については、動き検出を実行しないことになる。そして、圧縮制御部1312は、選択画像領域の動き補償停止指示を発行して、動き補償部1311に出力する(ステップS2206)。これにより、当該選択画像領域について動き補償の実行を停止することができる。
【0187】
ステップS2204またはS2206のあと、圧縮制御部1312は、取得した入力フレームに未選択画像領域があるか否かを判断する(ステップS2207)。未選択画像領域がある場合(ステップS2207:Yes)、ステップS2202に戻る。一方、未選択画像領域がない場合(ステップS2207:No)、圧縮制御部1312は、一連の処理を終了する。
【0188】
図23は、動き検出部1310による第2圧縮制御方法の動き検出処理手順例を示すフローチャートである。動き検出部1310は、入力フレームよりも時間的に1つ前の参照フレームをフレームメモリ1309から取得し(ステップS2301)、
図22のステップS2204またはS2205で出力された選択画像領域の入力を待ち受ける(ステップS2302:No)。
【0189】
選択画像領域が入力された場合(ステップS2302:Yes)、動き検出部1310は、選択画像領域と同一箇所の画像領域の画像データを参照フレームから取得する(ステップS2303)。そして、動き検出部1310は、選択画像領域にスキップフラグがあるか否かを判断する(ステップS2304)。スキップフラグがない場合(ステップS2304:No)、選択画像領域のフレームレートが第2フレームレートである。したがって、動き検出部1310は、選択画像領域の画像データと、ステップS2003で取得した参照フレームの画像領域の画像データとを用いて、動きベクトルを検出する(ステップS2305)。
【0190】
そして、動き検出部1310は、ステップS2305で得られた動きベクトルを動き補償部1311に出力して(ステップS2306)、一連の処理を終了する。一方、スキップフラグがある場合(ステップS2304:Yes)、動き検出部1310は、動き検出を実行せずに、一連の処理を終了する。
【0191】
図24は、動き補償部1311による第2圧縮制御方法の動き補償処理手順例を示すフローチャートである。動き補償部1311は、フレームメモリ1309から参照フレームを取得する(ステップS2401)。動き補償部1311は、選択画像領域と同一箇所の画像領域を参照フレームから取得する(ステップS2402)。
【0192】
そして、動き補償部1311は、選択画像領域についての動き補償のトリガ入力が動きベクトルか動き補償停止指示のいずれかであるかを判断する(ステップS2403)。トリガ入力が動きベクトルである場合(ステップS2403:動きベクトル)、動き補償部1311は、動き検出部1310からの選択画像領域についての動きベクトルと、ステップS2402で取得された参照フレームの画像領域とを用いて、動き補償を実行する(ステップS2404)。これにより、動き補償部1311は、選択画像領域における予測画像データを生成することができる。
【0193】
一方、トリガ入力が動き補償停止指示である場合(ステップS2403:動き補償停止指示)、動き補償部1311は、取得画像領域の画像データを予測画像領域の画像データ(予測画像データ)に決定する(ステップS2405)。
【0194】
そして、動き補償部1311は、ステップS2404またはS2405のあと、全選択画像領域の動き補償が終了したか否かを判断する(ステップS2406)。具体的には、たとえば、圧縮制御部1312がステップS2207で未選択画像領域があると判断した場合に(ステップS2007:Yes)、動き補償部1311は、全選択画像領域の動き補償が終了していないと判断し(ステップS2406:No)、ステップS2402に戻る。
【0195】
一方、圧縮制御部1312がステップS2207で未選択画像領域がないと判断した場合に(ステップS2207:No)、動き補償部1311は、全選択画像領域の動き補償が終了したと判断する(ステップS2406:Yes)。そして、動き補償部1311は、全選択画像領域についての予測画像データを結合した予測フレームを減算部1301および生成部1308に出力して(ステップS2407)、一連の処理を終了する。
【0196】
(1-1)このように、上述した動画圧縮装置は、取得部1220と、圧縮部902と、を有する。取得部1220は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100から出力された複数のフレームを含む動画データを取得する。圧縮部902は、取得部1220によって取得された動画データ(第2動画データ920)を、第1フレームレートと第2フレームレートとに基づいて圧縮する。
【0197】
これにより、異なるフレームレートが設定された1枚のフレームについて、フレームレートに応じた圧縮が汎用の圧縮部902により実現可能となる。また、1つのフレームレートが設定された場合の圧縮よりも処理負荷の低減を図ることができる。
【0198】
(1-2)また、上記(1-1)の動画圧縮装置では、第1フレームレートで撮像されたフレームにおける第1画像領域a1の画像データについては、第1フレームレートに基づいて圧縮し、第2フレームレートで撮像されたフレームにおける第2画像領域a2の画像データについては、第2フレームレートに基づいて圧縮する。
【0199】
これにより、異なるフレームレートが設定された1枚のフレームについて、フレームレートごとに、フレームレートに応じた画像領域の圧縮が実現可能となり、1つのフレームレートが設定された場合の圧縮よりも処理負荷の低減を図ることができる。
【0200】
(1-3)また、上記(1-2)の動画圧縮装置は、動き検出部1310と、動き補償部1311と、を有する。動き検出部1310は、第1画像領域a1の画像データについては、第1画像領域a1の画像データ内のオブジェクトに動きがないことを示す特定の動きベクトルを設定し、第2画像領域a2の画像データについては、動きベクトルの検出を実行する、動き補償部1311は、第1画像領域a1の画像データについては、特定の動きベクトルに基づいて動き補償を実行し、第2画像領域a2の画像データについては、動き検出部1310によって検出された動きベクトルに基づいて動き補償を実行する。
【0201】
これにより、第1画像領域a1の画像データについては動きベクトルの検出に替えて特定の動きベクトルを設定することにより、動き検出が実行されないこととなり、圧縮処理の負荷低減を図ることができる。
【0202】
(1-4)また、上記(1-3)の動画圧縮装置は、生成部1308を有する。生成部1308は、複数のフレームの各々について、フレームとフレームを予測する予測フレームとの差分データと、予測フレームと、に基づいて、フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する。この場合、動き補償部1311は、第1画像領域a1の画像データについては、特定の動きベクトルと参照フレームとに基づいて動き補償を実行し、第2画像領域a2の画像データについては、動きベクトルと参照フレームとに基づいて動き補償を実行する。
【0203】
これにより、特定の動きベクトルを用いた場合でも、動き補償の実行が可能となり、低負荷の圧縮処理を実現することができる。
【0204】
(1-5)また、上記(1-2)の動画圧縮装置は、生成部1308と、動き検出部1310と、動き補償部1311と、を有する。生成部1308は、複数のフレームの各々について、フレームとフレームを予測する予測フレームとの差分データと、予測フレームと、に基づいて、フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する。動き検出部1310は、第1画像領域a1の画像データについては、動きベクトルの検出を実行せず、第2画像領域a2の画像データについては、動きベクトルの検出を実行する。動き補償部1311は、第1画像領域a1の画像データについては、参照フレームに基づいて動き補償を実行し、第2画像領域a2の画像データについては、参照フレームと動き検出部1310によって検出された動きベクトルに基づいて動き補償を実行する。
【0205】
これにより、第1画像領域a1の画像データについて動き検出を実行しないことにより、圧縮処理の負荷低減を図ることができる。
【0206】
(1-6)また、上記(1-5)の動画圧縮装置では、動き補償部1311は、第1画像領域a1の画像データについては、参照フレームを、フレームの時間的に1つ後のフレームを予測する予測フレームに決定する。
【0207】
これにより、動きベクトルを検出しない場合でも、動き補償の実行が可能となり、低負荷の圧縮処理を実現することができる。
【0208】
(1-7)また、上記(1-1)の動画圧縮装置は、画像処理部901を有する。画像処理部901は、複数のフレームの中で、第1フレームと第2フレームとに基づいて、第2フレームを第3フレームに更新する。ここで、第1フレームは、第1フレームレートが設定された第1撮像領域および第2フレームレートが設定された第2撮像領域のうち少なくとも第1撮像領域により撮像されたフレームである。
【0209】
また、第2フレームは、第2撮像領域により第1フレームよりも時間的に後に撮像されたフレームである。また、第3フレームは、第2フレームを、第1フレームにおける第1画像領域a1の画像データと第2フレームにおける第2画像領域a2の画像データとを合成したフレームである。圧縮部902は、画像処理部901によって更新された第3フレームのうち第1画像領域a1の画像データを、第1フレームレートに基づいて圧縮し、第2画像領域a2の画像データを第2フレームレートに基づいて圧縮する。
【0210】
これにより、フレームレートの相違による第2フレームでの画像データの欠落を抑制することができる。したがって、1枚のフレームにフレームレートの相違がある場合でも、補間された第3フレームにより圧縮処理が可能となる。
【0211】
(1-8)また、上記(1-7)の動画圧縮装置では、画像処理部901は、第2フレームにおける第2画像領域a2の画像データにおいて、第1フレームにおける第1画像領域a1の画像データと重複する領域については、第2フレームにおける第2画像領域a2の画像データを適用することにより、第2フレームを第3フレームに更新する。
【0212】
これにより、たとえば、第2フレームであるフレームF2-60の電車の先頭部分と第1フレームであるフレームF1の背景領域とが重複する領域では、画像処理部901は、第2フレームであるフレームF2の電車の先頭部分を優先適用する。したがって、違和感がより少ない画像(第3フレームであるフレームF2)を得ることができる。
【0213】
(1-9)また、上記(1-7)の動画圧縮装置では、画像処理部901は、第2フレームにおいて、第2フレームにおける第2画像領域a2および第1フレームにおける第1画像領域a1のいずれにも属さない領域については、第1フレームにおける第2画像領域a2の画像データを適用することにより、第2フレームを第3フレームに更新する。
【0214】
これにより、たとえば、第2フレームであるフレームF2-60の第2フレームの電車の末尾部分と第1フレームであるフレームF1の背景領域との間の画像領域については、第1フレームであるフレームF1における第2画像領域a2の画像データ(電車の末尾)を優先適用する。したがって、違和感がより少ない画像(第3フレームであるフレームF2)を得ることができる。
【0215】
(1-10)また、他の動画圧縮装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレートを設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子100から出力された複数のフレームを含む動画データを圧縮する。この動画圧縮装置は、生成部1308と、動き補償部1311と、を有する。
【0216】
生成部1308は、複数のフレームの各々について、フレームとフレームを予測する予測フレームとの差分データと、予測フレームと、に基づいて、フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する。動き補償部1311は、生成部1308によって生成された複数の参照フレームのうち特定の参照フレームを用いて、複数のフレームのうち、第2フレームレートで撮像されたフレームの動き補償を実行する。
【0217】
これにより、参照フレームを特定の参照フレームに固定化することができ、動き補償の効率化を図ることができる。
【0218】
(1-11)また、上記(1-10)の動画圧縮装置では、複数のフレームの各々は、第1フレームレートと第1フレームレートよりも速い第2フレームレートのうち少なくとも第1フレームレートが設定された第1撮像領域に対応する第1画像領域a1の画像データを含む。また、動き補償部1311は、第1画像領域a1の画像データについては、特定の参照フレームとして、フレームの時間的に1つ前のフレームで生成された参照フレームを用いて動き補償を実行する。
【0219】
これにより、時間的に1つ前の参照フレームを特定の参照フレームとすることにより、フレームに最も近しいフレームを参照することができ、動き補償の効率化を図りつつ、動き補償の高精度化を図ることができる。
【0220】
(1-12)また、上述した電子機器500は、撮像素子100と、圧縮部902と、を有する。撮像素子100は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレートを設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレートを設定可能であり、撮像領域ごとに設定されたフレームレートで被写体を撮像して、動画データである複数のフレームを出力する。圧縮部902は、撮像素子100によって撮像された複数のフレームの各々を、第1フレームレートと第2フレームレートとに基づいて圧縮する。
【0221】
これにより、異なるフレームレートが設定された1枚のフレームについて、フレームレートに応じた圧縮が可能な電子機器500が実現可能となり、1つのフレームレートが設定された場合の圧縮よりも処理負荷の低減を図ることができる。
【0222】
(1-13)また、他の電子機器500は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレートを設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子100から出力された複数のフレームを含む動画データを圧縮する。この電子機器500は、生成部1308と、動き補償部1311と、を有する。
【0223】
生成部1308は、複数のフレームの各々について、フレームとフレームを予測する予測フレームとの差分データと、予測フレームと、に基づいて、フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する。動き補償部1311は、生成部1308によって生成された複数の参照フレームのうち特定の参照フレームを用いて、複数のフレームのうち、第2フレームレートで撮像されたフレームの動き補償を実行する。
【0224】
これにより、参照フレームを特定の参照フレームに固定化することができ、動き補償の効率化を図る電子機器500を実現することができる。
【0225】
なお、上述した(1-12)および(1-13)の電子機器500としては、たとえば、デジタルカメラ、デジタルビデオカメラ、スマートフォン、タブレット、監視カメラ、ドライブレコーダ、ドローンなどが挙げられる。
【0226】
(1-14)また、上述した動画圧縮プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレートを設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子100から出力された複数のフレームを含む動画データの圧縮を、プロセッサ1201に実行させる。この動画圧縮プログラムは、プロセッサ1201に、動画データを取得する取得処理と、取得処理によって取得された動画データを、第1フレームレートと第2フレームレートとに基づいて圧縮する圧縮処理と、を実行させる。
【0227】
これにより、異なるフレームレートが設定された1枚のフレームについて、フレームレートに応じた圧縮をソフトウェアにより実現することができ、1つのフレームレートが設定された場合の圧縮よりも処理負荷の低減を図ることができる。
【0228】
(1-15)また、上述した他の動画圧縮プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレートを設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレートを設定可能な撮像素子100から出力された複数のフレームを含む動画データの圧縮を、プロセッサ1201に実行させる。
【0229】
この動画圧縮プログラムは、プロセッサ1201に、複数のフレームの各々について、フレームとフレームを予測する予測フレームとの差分データと、予測フレームと、に基づいて、フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する生成処理と、生成処理によって生成された参照フレームのうち特定の参照フレームを用いて、複数のフレームのうち第2フレームレートで撮像されたフレームの動き補償を実行する動き補償処理と、を実行させる。
【0230】
これにより、参照フレームを特定の参照フレームに固定化することができ、動き補償の効率化をソフトウェアにより実現することができる。
【0231】
なお、上述した(1-14)および(1-15)の動画圧縮プログラムは、CD-ROM,DVD-ROM,フラッシュメモリ,メモリカード504など可搬な記録媒体に記録されていてもよい。また、上述した(1-14)および(1-15)の動画圧縮プログラムは、動画圧縮装置または電子機器500にダウンロード可能なサーバに記録されていてもよい。
【実施例2】
【0232】
実施例2について説明する。実施例1では、
図10に示したフレームF2,F4,…において、範囲Da1,Da3,…が存在するため、画像処理部901が、特定色に塗りつぶしたり、デモザイク処理を実行したりした。実施例2では、画像処理部901は、そのような画像処理を実行することなく、より違和感がより少ないフレームF2,F4,…を生成する。
【0233】
なお、実施例2では、画像処理部901を含み、かつ、撮像素子100や圧縮部902を含まない構成を画像処理装置と称す。なお、実施例1では、圧縮部902は、画像処理装置(画像処理部901)の画像処理されたフレームを圧縮したが、必ずしも圧縮する必要はなく、非圧縮のまま液晶モニタ503に出力してもよい。なお、実施例2では、実施例1と共通部分については、同一符号を用い、その説明を省略する。
【0234】
<動画圧縮の改良例>
ここで、実施例2における動画圧縮の改良例について説明する。
図10では、電子機器500は、田んぼ、山、および空を含む風景の定点撮影中に、特定被写体として、走行する電車を撮影する画像処理例1について説明した。以下、動画処理例1の処理の流れを具体的に説明する。
【0235】
図25は、
図10に示した動画処理例1の具体的な処理の流れを示す説明図である。
図10でも説明したように、撮像素子100は、時系列順にフレームF1,F2-60,F3,…を出力する。電車は、フレームF1,F2-60,F3内において、右から左に向かって走行するものとする。
【0236】
図25において、フレームF1~F3の枝番は、当該フレームF1~F3のフレームレートを示す。たとえば、奇数番号のフレームF1-30は、フレームF1のうち30[fps]のフレームレートで撮像された第1画像領域r1-30の画像データを示し、フレームF1-60は、フレームF1のうち60[fps]のフレームレートで撮像された第2画像領域r1-60の画像データを示す。
【0237】
フレームF1-60の60[fps]のフレームレートで撮像された第2画像領域r1-60は電車の画像データを有するが、フレームF1-30では、第2画像領域r1-60はない。フレームF1-30におけるこのような領域を非画像領域n1-60と称す。フレームF1-60も同様に、フレームF1-30の30[fps]のフレームレートで撮像された第1画像領域r1-30は風景の画像データを有するが、フレームF1-60では、第2画像領域r1-60にない。フレームF1-60におけるこのような領域を非画像領域n1-30と称す。
【0238】
フレームF3においても同様に、フレームF3-30は、風景の画像データが出力されている第1画像領域r3-30と、何も出力されない非画像領域n3-60と、で構成され、フレームF3-60は、電車の画像データが出力されている第2画像領域r3-60と、何も出力されない非画像領域n3-60と、で構成される。フレームF3-30,F3-60以降の不図示の奇数番号フレームについても同様である。
【0239】
また、偶数番号のフレームF2-60は、60[fps]のフレームレートで撮像された第2画像領域r2-60の画像データ(電車)と、何も出力されない非画像領域n2-30と、で構成されるフレームである。以降の不図示の偶数番号フレームについても同様である。
【0240】
画像処理部901は、フレームF2-60の第2画像領域r2-60の画像データ(電車)と、フレームF1-30の第1画像領域r1-30の画像データ(風景)とを合成することにより、合成画像データであるフレームF2を生成する。この場合、
図10でも説明したように、フレームF2は、フレームF1-30の非画像領域n1-60と、フレームF2-60の非画像領域n2-30との重複する範囲Da1を有する。
【0241】
実施例1では、画像処理部901が、範囲Da1を特定色に塗りつぶしたり、デモザイク処理を実行したりしたが、実施例2では、画像処理部901は、そのような画像処理を行うことなく、他の画像領域における範囲Da1の画像データをコピーする。これにより、画像処理部901は、より違和感がより少ないフレームF2を生成する。範囲Da3についても同様であるが、実施例2では、範囲Da1に着目して説明する。
【0242】
<フレームF2の合成例>
つぎに、画像処理部901(合成部1214)によるフレームF2の合成例について説明する。
【0243】
[合成例1]
図26は、実施例2にかかる60[fps]のフレームF2の合成例1を示す説明図である。合成例1は、範囲Da1へのコピー対象となる他の画像領域として、フレームF2-60よりも時間的に1つ後のフレームF3の第1画像領域r3-30において範囲Da1と同一位置の範囲Db1を用いる例である。範囲Db1の画像データは、風景の一部である。
【0244】
図26において、画像処理部901は、フレームF1-30の非画像領域n1-60と、フレームF2-60の非画像領域n2-30と、が重複する範囲Da1を特定し、特定した範囲Da1と同一位置の範囲Db1をフレームF3から特定する。そして、画像処理部901は、フレームF2における範囲Da1に範囲Db1の画像データをコピーする。これにより、画像処理部901は、違和感がより少ないフレームF2を生成することができる。
【0245】
[合成例2]
図27は、実施例2にかかる60[fps]のフレームF2の合成例2を示す説明図である。合成例1では、フレームF1-30の第1画像領域r1-30の画像データをフレームF2の第1画像領域へのコピー元とし、フレームF3の範囲Db1の画像データを範囲Da1へのコピー元としたが、合成例2では逆に、フレームF3-30の第1画像領域r3-30の画像データをフレームF2の第1画像領域へのコピー元とし、フレームF1の範囲Db2の画像データを範囲Da2へのコピー元とする。
【0246】
ここで、範囲Da2は、フレームF3-30の非画像領域n3-60と、フレームF2-60の非画像領域n2-30とが重複する範囲である。フレームF1の範囲Db2は、範囲Da2と同一位置の範囲である。
【0247】
図27において、画像処理部901は、フレームF3-30の非画像領域n3-60と、フレームF2-60の非画像領域n2-30と、が重複する範囲Da2を特定し、特定した範囲Da2と同一位置の範囲Db2をフレームF1から特定する。そして、画像処理部901は、フレームF2における範囲Da2に範囲Db2の画像データをコピーする。これにより、画像処理部901は、違和感がより少ないフレームF2を生成することができる。
【0248】
[合成例3]
合成例3は、合成例1および合成例2のうちいずれか一方を選択して合成する例である。合成例3では、画像処理部901は、合成例1における範囲Da1と合成例2における範囲Da2とを特定する。画像処理部901は、範囲Da1,Da2のうちいずれか一方を選択し、選択した範囲を特定した合成例を適用する。画像処理部901は、範囲Da1が選択された場合は合成例1、範囲Da2が選択された場合は合成例2を適用する。
【0249】
画像処理部901は、範囲Da1,Da2のうちいずれか一方を選択する選択基準として、たとえば、範囲の狭さを選択基準とする。
図26および
図27の例では、範囲Da1が範囲Da2よりも狭いため、合成例1が適用される。狭い方の範囲を選択することにより、コピーによる違和感を最小限度に留めることができる。
【0250】
[合成例4]
図28は、実施例2にかかる60[fps]のフレームF2の合成例4を示す説明図である。合成例4は、合成例1における範囲Da1のコピー元を、フレームF3の第1画像領域r3-30内における範囲Db1の画像データ(風景の一部)ではなく、フレームF1の第2画像領域r1-60における範囲Db3の画像データ(電車の末尾)とする。これにより、フレームF2において第2画像領域r2-60の画像データ(電車)は、範囲Db3の画像データが追加されたことになるが、第2画像領域r2-60の画像データ(電車)の進行方向反対側に追加されるため、ユーザが映像を見た場合に、当該第2画像領域r2-60の画像データ(電車)を、走行する電車の残像と錯覚する。したがって、この場合も違和感がより少ないフレームF2,F4,…を生成することができる。
【0251】
<フレームF2の合成処理手順例>
以下、上述した合成例1~合成例4によるフレームF2の合成処理手順例について説明する。以下のフローチャートでは、第2フレームが、合成対象となる第2フレームレート(たとえば、60[fps])のみで撮像されたフレームである。たとえば、
図25~
図28のフレームF2である。
【0252】
第1フレームが、第2フレームよりも時間的に1つ前で、かつ、第1フレームレート(たとえば、30[fps])および第2フレームレートのうち少なくとも第1フレームレートで撮像された画像領域を含むフレームである。たとえば、
図25~
図28のフレームF1である。
【0253】
第3フレームが、第2フレームよりも時間的に1つ後で、かつ、第1フレームレートおよび第2フレームレートのうち少なくとも第1フレームレートで撮像された画像領域を含むフレームである。たとえば、
図25~
図28のフレームF3である。
【0254】
[合成例1]
図29は、画像処理部901によるフレームF2の合成例1による合成処理手順例1を示すフローチャートである。なお、入力フレームは、順次バッファに蓄積されるものとする。画像処理部901は、バッファに第2フレームがあるか否かを判断する(ステップS2901)。第2フレームがバッファにある場合(ステップS2901:Yes)、画像処理部901は、第1フレームの非画像領域でかつ第2フレームの非画像領域となる範囲を特定する(ステップS2902)。具体的には、たとえば、画像処理部901は、フレームF1-30の非画像領域n1-60とフレームF2-60の非画像領域n2-30とが重複する範囲Da1を特定する。
【0255】
つぎに、画像処理部901は、第1フレームの第1画像領域a1の画像データを複製する(ステップS2903)。具体的には、たとえば、画像処理部901は、フレームF1の第1画像領域r1-30の画像データ(風景)を複製する。
【0256】
そして、画像処理部901は、ステップS2902で特定した範囲の画像データを第3フレームから複製する(ステップS2904)。具体的には、たとえば、画像処理部901は、ステップS2902で特定した範囲Da1と同範囲Db1の画像データをフレームF3から複製する。
【0257】
つぎに、画像処理部901は、第2フレームを更新する(ステップS2905)。具体的には、たとえば、画像処理部901は、フレームF2-60の第2画像領域r2-60と、複製した第1画像領域r1-30の画像データ(風景)と、複製した範囲Db1の画像データと、を合成することにより、フレームF2-60をフレームF2に更新する。
【0258】
このあと、ステップS2901に戻る。第2フレームがバッファにない場合(ステップS2901:No)、画像処理部901は、画像処理(ステップS1413、S1415)を終了する。これにより、画像処理部901は、違和感がより少ないフレームF2を生成することができる。
【0259】
[合成例2]
図30は、画像処理部901によるフレームF2の合成例2による合成処理手順例2を示すフローチャートである。なお、入力フレームは、順次バッファに蓄積されるものとする。画像処理部901は、バッファに第2フレームがあるか否かを判断する(ステップS3001)。第2フレームがバッファにある場合(ステップS3001:Yes)、画像処理部901は、第3フレームの非画像領域でかつ第2フレームの非画像領域となる範囲を特定する(ステップS3002)。具体的には、たとえば、画像処理部901は、フレームF3-30の非画像領域n3-60とフレームF2-60の非画像領域n2-30とが重複する範囲Da2を特定する。
【0260】
つぎに、画像処理部901は、第3フレームの第1画像領域a1の画像データを複製する(ステップS3003)。具体的には、たとえば、画像処理部901は、フレームF3の第1画像領域r3-30の画像データ(風景)を複製する。
【0261】
そして、画像処理部901は、ステップS3002で特定した範囲の画像データを第1フレームから複製する(ステップS3004)。具体的には、たとえば、画像処理部901は、ステップS3002で特定した範囲Da2と同範囲Db2の画像データをフレームF1から複製する。
【0262】
つぎに、画像処理部901は、第2フレームを更新する(ステップS3005)。具体的には、たとえば、画像処理部901は、フレームF2-60の第2画像領域r2-60と、複製した第1画像領域r3-30の画像データ(風景)と、複製した範囲Db2の画像データと、を合成することにより、フレームF2-60をフレームF2に更新する。
【0263】
このあと、ステップS3001に戻る。第2フレームがバッファにない場合(ステップS3001:No)、画像処理部901は、画像処理(ステップS1413、S1415)を終了する。これにより、画像処理部901は、違和感がより少ないフレームF2を生成することができる。
【0264】
[合成例3]
図31は、画像処理部901によるフレームF2の合成例3による合成処理手順例3を示すフローチャートである。なお、入力フレームは、順次バッファに蓄積されるものとする。画像処理部901は、バッファに第2フレームがあるか否かを判断する(ステップS3101)。第2フレームがバッファにある場合(ステップS3101:Yes)、画像処理部901は、第1フレームの非画像領域でかつ第2フレームの非画像領域となる第1範囲を特定する(ステップS3102)。具体的には、たとえば、画像処理部901は、フレームF1-30の非画像領域n1-60とフレームF2-60の非画像領域n2-30とが重複する範囲Da1を特定する。
【0265】
画像処理部901は、第3フレームの非画像領域でかつ第2フレームの非画像領域となる第2範囲を特定する(ステップS3103)。具体的には、たとえば、画像処理部901は、フレームF3-30の非画像領域n3-60とフレームF2-60の非画像領域n2-30とが重複する範囲Da2を特定する。
【0266】
つぎに、画像処理部901は、特定した第1範囲および第2範囲のいずれか一方の範囲を選択する(ステップS3104)。具体的には、たとえば、画像処理部901は、第1範囲および第2範囲のうち狭い方(面積が小さい方)の範囲を選択する。選択された範囲を選択範囲と称す。範囲Da1、Da2の場合、画像処理部901は、範囲Da1を選択する。これにより、合成に用いる範囲を最小限に抑制することができ、違和感をより一層抑制することができる。
【0267】
そして、画像処理部901は、選択フレームの第1画像領域a1の画像データを複製する(ステップS3105)。選択フレームとは、選択範囲の特定元となるフレームであり、たとえば、第1範囲(範囲Da1)が選択された場合は、選択フレームは、第1フレーム(フレームF1)であり、第2範囲(範囲Da2)が選択された場合は、選択フレームは、第3フレーム(フレームF3)である。したがって、選択フレームの第1画像領域a1の画像データとは、選択フレームがフレームF1であれば、フレームF1の第1画像領域r1-30の画像データ(風景)であり、選択フレームがフレームF3であれば、フレームF3の第1画像領域r3-30の画像データ(風景)である。
【0268】
そして、画像処理部901は、ステップS3104の選択範囲の画像データを非選択フレームから複製する(ステップS3106)。非選択フレームとは、選択されなかった範囲の特定元となるフレームであり、たとえば、第1範囲(範囲Da1)が選択されなかった場合は、非選択フレームは、第1フレーム(フレームF1)であり、第2範囲(範囲Da2)が選択されなかった場合は、非選択フレームは、第3フレーム(フレームF3)である。したがって、画像処理部901は、選択範囲が範囲Da1であれば、範囲Da1と同位置の範囲Db1の画像データをフレームF3から複製し、選択範囲が範囲Da2であれば、範囲Da2と同位置の範囲Db2の画像データをフレームF1から複製する。
【0269】
つぎに、画像処理部901は、第2フレームを更新する(ステップS3107)。具体的には、たとえば、選択範囲が第1範囲(範囲Da1)である場合、画像処理部901は、フレームF2-60の第2画像領域r2-60と、複製した第1画像領域r1-30の画像データ(風景)と、複製した範囲Db1の画像データと、を合成することにより、フレームF2-60をフレームF2に更新する。また、選択範囲が第2範囲(範囲Da2)である場合、画像処理部901は、フレームF2-60の第2画像領域r2-60と、複製した第1画像領域r3-30の画像データ(風景)と、複製した範囲Db2の画像データと、を合成することにより、フレームF2-60をフレームF2に更新する。
【0270】
このあと、ステップS3101に戻る。第2フレームがバッファにない場合(ステップS3101:No)、画像処理部901は、画像処理(ステップS1413、S1415)を終了する。これにより、画像処理部901は、狭い方の範囲を選択することにより、コピーによる違和感を最小限度に留めることができる。
【0271】
[合成例4]
図32は、画像処理部901によるフレームF2の合成例4による合成処理手順例4を示すフローチャートである。なお、入力フレームは、順次バッファに蓄積されるものとする。画像処理部901は、バッファに第2フレームがあるか否かを判断する(ステップS3201)。第2フレームがバッファにある場合(ステップS3201:Yes)、画像処理部901は、第1フレームの非画像領域でかつ第2フレームの非画像領域となる範囲を特定する(ステップS3202)。具体的には、たとえば、画像処理部901は、フレームF1-30の非画像領域n1-60とフレームF2-60の非画像領域n2-30とが重複する範囲Da1を特定する。
【0272】
つぎに、画像処理部901は、第1フレームの第1画像領域a1の画像データを複製する(ステップS3203)。具体的には、たとえば、画像処理部901は、フレームF1の第1画像領域r1-30の画像データ(風景)を複製する。
【0273】
そして、画像処理部901は、ステップS3202で特定した範囲の画像データを第1フレームから複製する(ステップS3204)。具体的には、たとえば、画像処理部901は、ステップS3202で特定した範囲Da1と同範囲Db3の画像データをフレームF1から複製する。
【0274】
つぎに、画像処理部901は、第2フレームを更新する(ステップS3205)。具体的には、たとえば、画像処理部901は、フレームF2-60の第2画像領域r2-60と、複製した第1画像領域r1-30の画像データ(風景)と、複製した範囲Db1の画像データと、を合成することにより、フレームF2-60をフレームF2に更新する。
【0275】
このあと、ステップS3201に戻る。第2フレームがバッファにない場合(ステップS3201:No)、画像処理部901は、画像処理(ステップS1413、S1415)を終了する。これにより、画像処理部901は、違和感がより少ないフレームF2を生成することができる。
【0276】
(2-1)このように、実施例2の画像処理装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成された複数のフレームを画像処理する。
【0277】
画像処理装置は、特定部1213と合成部1214とを有する。特定部1213は、複数のフレームの中で、第1撮像領域および第2撮像領域からの出力により生成された第1フレームと、第2撮像領域からの出力により生成された第2フレーム(たとえば、フレームF2-60)と、に基づいて、第1フレームにおける第2撮像領域に対応する非画像領域n1-60で、かつ、第2フレームにおける第1撮像領域に対応する非画像領域n2-30である範囲Da1を特定する。
【0278】
合成部1214は、第2フレームと、第1フレームにおける第1撮像領域に対応する第1画像領域r1-30の画像データと、第1フレームにおける第1画像領域r1-30の画像データおよび第2フレーム以外の他の画像領域において特定部1213によって特定された範囲Da1の特定の画像データと、を合成する。
【0279】
これにより、第2フレームで撮像されかなった非画像領域n2-30を、第2フレームと時間的に近いフレームにより補間することができる。したがって、第2フレームよりも違和感が少ない合成フレームを得ることができる。
【0280】
(2-2)また、上記(2-1)の画像処理装置では、第1フレームは、第2フレームよりも時間的に前に生成されたフレーム(たとえば、フレームF1)であり、特定の画像データは、第2フレームよりも時間的に後に第1撮像領域および第2撮像領域からの出力により生成されたフレーム(たとえば、フレームF3)の第1画像領域a1(r3-30)における範囲(Da1)の画像データ(すなわち、範囲Db1の画像データ)としてもよい。
【0281】
これにより、第2フレームで撮像されかなった非画像領域n2-30を、第2フレームの時間的に1つ前の第1フレームと1つ後の第3フレームとにより補間することができる。したがって、第2フレームよりも違和感が少ない合成フレームを得ることができる。
【0282】
(2-3)また、上記(2-1)の画像処理装置では、第1フレームは、第2フレームよりも時間的に後に生成されたフレーム(たとえば、フレームF3)であり、特定の画像データは、第2フレームよりも時間的に前に第1撮像領域および第2撮像領域からの出力により生成されたフレーム(たとえば、フレームF1)の第1画像領域a1(r1-30)における範囲(Da2)の画像データ(すなわち、範囲Db2の画像データ)としてもよい。
【0283】
これにより、第2フレームで撮像されかなった非画像領域n2-30を、第2フレームの時間的に1つ前の第1フレームと1つ後の第3フレームとにより補間することができる。したがって、第2フレームよりも違和感が少ない合成フレームを得ることができる。
【0284】
(2-4)また、上記(2-1)の画像処理装置では、特定部1213は、第1範囲(Da1)と第2範囲(Da2)とに基づいて、合成部1214で用いる範囲を特定する。また、合成部1214は、第2フレームと、第1フレームおよび第3フレームのうち特定部1213によって特定された一方の範囲(Da1/Da2)の特定元となる一方のフレーム(F1/F3)における第1画像領域a1(r1-30/r3-30)の画像データと、第1フレームおよび第3フレームのうち特定部1213によって特定されなかった他方の範囲(Da2/Da1)の特定元となる他方のフレーム(F3/F1)の第1画像領域a1(r3-30/r1-30)における一方の範囲(Da1/Da2)の画像データ(Db1/Db2)と、を合成する。
【0285】
これにより、画像処理部901は、狭い方の範囲を選択することにより、コピーによる違和感を最小限度に留めることができる。
【0286】
(2-5)また、上記(2-1)の画像処理装置では、第1フレームは、第2フレームよりも時間的に前に生成されたフレームであり、特定の画像データは、第1フレームの第2画像領域a2における範囲(Da1)の画像データ(すなわち、範囲Db3の画像データ)としてもよい。
【0287】
これにより、第2フレームで撮像されかなった非画像領域n2-30を、第2フレームの時間的に1つ前の第1フレームにより補間することができる。したがって、第2フレームよりも違和感が少ない合成フレームを得ることができる。
【0288】
(2-6)また、実施例2にかかる動画圧縮装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成された複数のフレームを含む動画データを圧縮する。
【0289】
動画圧縮装置は、特定部1213と合成部1214とを有する。特定部1213は、複数のフレームの中で、第1撮像領域および第2撮像領域からの出力により生成された第1フレームと、第2撮像領域からの出力により生成された第2フレーム(たとえば、フレームF2-60)と、に基づいて、第1フレームにおける第2撮像領域に対応する非画像領域n1-60で、かつ、第2フレームにおける第1撮像領域に対応する非画像領域n2-30である範囲Da1を特定する。
【0290】
合成部1214は、第2フレームと、第1フレームにおける第1撮像領域に対応する第1画像領域r1-30の画像データと、第1フレームにおける第1画像領域r1-30の画像データおよび第2フレーム以外の他の画像領域において特定部1213によって特定された範囲Da1の特定の画像データと、を合成する。
【0291】
圧縮部902は、第1フレームと、合成部1214によって合成されたフレームと、を圧縮する。
【0292】
これにより、第2フレームと同様に圧縮可能でかつ第2フレームよりも違和感がより少ない合成フレームを得ることができる。
【0293】
(2-7)また、実施例2にかかる画像処理プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成された複数のフレームの画像処理をプロセッサ1201に実行させる。
【0294】
画像処理プログラムは、プロセッサ1201に、特定処理と合成処理とを実行させる。特定処理では、画像処理プログラムは、プロセッサ1201に、複数のフレームの中で、第1撮像領域および第2撮像領域からの出力により生成された第1フレームと、第2撮像領域からの出力により生成された第2フレーム(たとえば、フレームF2-60)と、に基づいて、第1フレームにおける第2撮像領域に対応する非画像領域n1-60で、かつ、第2フレームにおける第1撮像領域に対応する非画像領域n2-30である範囲Da1を特定する。
【0295】
画像処理プログラムは、合成処理では、プロセッサ1201に、第2フレームと、第1フレームにおける第1撮像領域に対応する第1画像領域r1-30の画像データと、第1フレームにおける第1画像領域r1-30の画像データおよび第2フレーム以外の他の画像領域において特定処理によって特定された範囲Da1の特定の画像データと、を合成させる。
【0296】
これにより、第2フレームで撮像されかなった非画像領域n2-30を、第2フレームと時間的に近いフレームによりソフトウェアで補間することができる。したがって、第2フレームよりも違和感が少ない合成フレームをソフトウェアで得ることができる。
【0297】
(2-8)また、実施例2にかかる動画圧縮プログラムは、プロセッサ1201に、特定処理と合成処理と圧縮処理とを実行させる。
【0298】
動画圧縮プログラムは、プロセッサ1201に、特定処理と合成処理とを実行させる。特定処理では、画像処理プログラムは、プロセッサ1201に、複数のフレームの中で、第1撮像領域および第2撮像領域からの出力により生成された第1フレームと、第2撮像領域からの出力により生成された第2フレーム(たとえば、フレームF2-60)と、に基づいて、第1フレームにおける第2撮像領域に対応する非画像領域n1-60で、かつ、第2フレームにおける第1撮像領域に対応する非画像領域n2-30である範囲Da1を特定する。
【0299】
動画圧縮プログラムは、合成処理では、プロセッサ1201に、第2フレームと、第1フレームにおける第1撮像領域に対応する第1画像領域r1-30の画像データと、第1フレームにおける第1画像領域r1-30の画像データおよび第2フレーム以外の他の画像領域において特定処理によって特定された範囲Da1の特定の画像データと、を合成させる。
【0300】
動画圧縮プログラムは、圧縮処理では、プロセッサ1201に、第1フレームと、合成処理によって合成されたフレームと、を圧縮する。
【0301】
これにより、第2フレームと同様に圧縮可能でかつ第2フレームよりも違和感がより少ない合成フレームをソフトウェアで得ることができる。
【0302】
なお、上述した(2-7)の画像処理プログラムおよび(2-8)の動画圧縮プログラムは、CD-ROM,DVD-ROM,フラッシュメモリ,メモリカード504など可搬な記録媒体に記録されていてもよい。また、上述した(2-7)の画像処理プログラムおよび(2-8)の動画圧縮プログラムは、動画圧縮装置または電子機器500にダウンロード可能なサーバに記録されていてもよい。
【実施例3】
【0303】
実施例3について説明する。実施例1では、
図10に示したフレームF2,F4,…において、範囲Da1,Da3,…が存在するため、画像処理部901が、特定色に塗りつぶしたり、デモザイク処理を実行したりした。実施例3では、実施例2と同様、画像処理部901は、そのような画像処理を実行することなく、より違和感がより少ないフレームF2,F4,…を生成する。
【0304】
なお、実施例3では、画像処理部901を含み、かつ、撮像素子100や圧縮部902を含まない構成を画像処理装置と称す。また、撮像素子100と前処理部1210とを含む構成を撮像装置と称す。なお、実施例1では、圧縮部902は、画像処理装置(画像処理部901)の画像処理されたフレームを圧縮したが、必ずしも圧縮する必要はなく、非圧縮のまま液晶モニタ503に出力してもよい。なお、実施例3では、実施例1および実施例2と共通部分については、同一符号を用い、その説明を省略する。
【0305】
図33は、実施例3にかかる60[fps]のフレームF2の合成例を示す説明図である。フレームF2-60の撮像前に、前処理部1210は、フレームF2-60以前のフレームF1などから電車などの特定被写体を検出し、1つ前のフレームF1での特定被写体の動きベクトルを検出する。前処理部1210は、フレームF1の特定被写体の画像領域と動きベクトルとにより、次のフレームF2-60で、60[fps]の画像領域R12-60を得ることができる。
【0306】
また、合成フレームであるフレームF2の合成では、実施例1と同様に、画像処理部901は、1つ前のフレームF1の第1画像領域r1-30の画像データ(風景)を複製し、第1画像領域r1-30の画像データ(風景)と、画像領域R12-60の画像データ(電車と風景の一部)とを合成することにより、フレームF2を得ることができる。
【0307】
図34は、撮像領域の設定とフレームF2-60の画像領域との対応関係を示す説明図である。(A)は、動きベクトルの検出例を示し、(B)は、撮像領域の設定とフレームF2-60の画像領域との対応関係を示す。
【0308】
撮像領域p1-60は、フレームF1の時間的に1つ前のフレームF0-60の生成後、フレームF1の生成前にすでに検出済みの特定被写体の撮像領域である。したがって、フレームF1では、特定被写体(電車)の画像データo1は、撮像領域p1-60に対応する第2画像領域r1-60に存在する。
【0309】
前処理部1210は、検出部1211により、フレームF0の特定被写体の画像データo1とフレームF1の特定被写体の画像データo1とにより特定被写体の動きベクトルmvを検出する。そして、前処理部1210は、フレームF1の特定被写体の第2画像領域r1-60と動きベクトルmvとにより、次のフレームF2-60で特定被写体が映し出される第2画像領域r2-60を検出し、検出した第2画像領域r2-60に対応する撮像素子100の撮像面200の検出撮像領域p2-60を検出する。
【0310】
前処理部1210は、設定部1212により、フレームF1の生成の際に特定済みの撮像領域p1-60と、検出撮像領域p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定し、当該設定指示を撮像素子100に出力する。これにより、撮像素子100は、特定の撮像領域P12-60を第2フレームレートに設定して撮像し、フレームF2-60を生成する。
【0311】
画像処理部901は、合成部1214により、フレームF1に含まれる第1画像領域r1-30の画像データと、設定部1212によって設定された第2フレームレートでの撮像により生成された第2フレームF2-60に含まれる特定の撮像領域P12-60の画像データと、を合成する。これにより、フレームF2-60は、フレームF2に更新される。
【0312】
なお、フレームF2-60の生成後、次のフレームF3の生成前において、前処理部1210は、検出撮像領域p2-60のフレームレートを第2フレームレートに設定し、撮像面200のうち検出撮像領域p2-60以外の他の撮像領域のフレームレートを第1フレームレートに設定する。これにより、第1フレームレートの撮像領域を含む撮像で得られるフレームF3の生成においては、フレームF1と同様、第2フレームレートが設定される第2撮像領域は検出撮像領域p2-60のみとなる。このように、合成対象となるフレームF2-60,F4-60,…について特定の検出撮像領域が設定されるため、フレームF1,F3,…での無駄な処理が抑制される。
【0313】
フレームF2-60は、画像領域R12-60に、特定被写体(電車)の画像データo1と風景の一部の画像データo2を含む。このように、画像領域R12-60は、第2画像領域r2-60に比べて、特定被写体の移動方向の反対側において拡張される。したがって、実施例2のように範囲Da1,Da2を特定して、他のフレームの範囲Db1、Db2の画像データを複製して合成する必要がない。なお、実施例3の合成処理は、たとえば、
図18のステップS1805で実行される。また、この合成処理は、第2フレームレートのみのフレームF2-60,F4-60,…の合成の場合に適用され、第1フレームレートの画像領域を含むフレームF1,F3,…では実行されない。
【0314】
このように、実施例3では、合成元の画像データが、画像領域R12-60とフレームF1の第1画像領域r1-30の2つであるため、違和感がより少ないフレームF2を生成することができる。すなわち、画像データo1,o2は同一タイミングで撮像された画像データであるため、画像データo1,o2の境界は不自然ではなく違和感がない。また、実施例2のように、範囲Da1,Da2を特定したり、範囲Da1,Da2から最適な範囲を選択したりするという処理が不要となるため、フレームF2の合成処理の負荷低減を図ることができる。
【0315】
(3-1)このように、実施例3にかかる撮像装置は、撮像素子100と、検出部1211と、設定部1212と、を有する。撮像素子100は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能である。
【0316】
検出部1211は、撮像素子100からの出力により生成されたフレームF1に含まれる特定被写体の第2画像領域r1-60に基づいて、撮像素子100における特定被写体の検出撮像領域p2-60を検出する。設定部1212は、フレームF1の生成に用いられた特定被写体の撮像領域p1-60と、検出部1211によって検出された撮像領域(以下、検出撮像領域)p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定する。
【0317】
これにより、第2フレームレートでの撮像領域を拡張設定して、フレームF1,F2で非画像領域が重複する範囲Da1が生じないように第2フレームレートで特定被写体を撮像することができ、第2フレームレートで撮像されるフレームF2-60の画像欠損を抑制することができる。
【0318】
(3-2)また、上記(3-1)の撮像装置では、検出部1211は、フレームF1に含まれる特定被写体の第2画像領域r1-60と、フレームF1とフレームF1よりも時間的に前のフレームF0-60との間における特定被写体の動きベクトルmvと、に基づいて、特定被写体の検出撮像領域p2-60を検出する。
【0319】
これにより、特定被写体の検出撮像領域p2-60の予測を容易に実現することができる。
【0320】
(3-3)また、上記(3-1)の撮像装置では、設定部1212は、フレームが第1撮像領域からの出力により生成された第1フレームF1である場合に、特定の撮像領域のフレームレートを第2フレームレートに設定し、フレームが第1フレームF1の後に特定の撮像領域からの出力により生成された第2フレームF2-60である場合に、検出撮像領域p2-60のフレームレートを第2フレームレートに設定し、検出撮像領域p2-60以外の他の撮像領域(撮像面200のうち検出撮像領域p2-60を除いた部分)のフレームレートを第1フレームレートに設定する。
【0321】
これにより、合成対象となるフレームF2-60,F4-60,…についてのみ特定の検出撮像領域が設定されるため、フレームF1,F3,…での無駄な処理が抑制される。
【0322】
(3-4)また、実施例3にかかる画像処理装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成されたフレームを画像処理する。
【0323】
この画像処理装置は、検出部1211と、設定部1212と、合成部1214と、を有する。検出部1211は、撮像素子100からの出力により生成されたフレームF1に含まれる特定被写体の第2画像領域r1-60に基づいて、撮像素子100における特定被写体の撮像領域p2-60を検出する。設定部1212は、フレームF1の生成に用いられた特定被写体の撮像領域p1-60と、検出部1211によって検出された検出撮像領域p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定する。
【0324】
合成部1214は、第1フレームF1に含まれる第1画像領域r1-30の画像データと、設定部1212によって設定された第2フレームレートでの撮像により生成された第2フレームF2-60に含まれる特定の撮像領域P12-60の画像データと、を合成する。
【0325】
これにより、第2フレームレートでの撮像領域を拡張設定して、フレームF1,F2で非画像領域が重複する範囲Da1が生じないように第2フレームレートで特定被写体を撮像することができ、第2フレームレートで撮像されるフレームF2-60の画像欠損を抑制することができる。また、合成の際、重複する範囲Da1について補間する必要がないため、より違和感の少ない画像を得ることができ、また、合成処理の負荷低減を図ることができる。
【0326】
(3-5)また、実施例3にかかる動画圧縮装置は、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成された複数のフレームを含む動画データを圧縮する。
【0327】
この動画圧縮装置は、検出部1211と、設定部1212と、合成部1214と、圧縮部902と、を有する。検出部1211は、撮像素子100からの出力により生成されたフレームF1に含まれる特定被写体の第2画像領域r1-60に基づいて、撮像素子100における特定被写体の撮像領域p2-60を検出する。設定部1212は、フレームF1の生成に用いられた特定被写体の撮像領域p1-60と、検出部1211によって検出された撮像領域p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定する。
【0328】
合成部1214は、第1フレームF1に含まれる第1画像領域r1-30の画像データと、設定部1212によって設定された第2フレームレートでの撮像により生成された第2フレームF2-60に含まれる特定の撮像領域P12-60の画像データと、を合成する。圧縮部902は、第1フレームF1と、合成部1214によって得られた合成後の第2フレームF2と、を圧縮する。
【0329】
これにより、第2フレームレートでの撮像領域を拡張設定して、フレームF1,F2で非画像領域が重複する範囲Da1が生じないように第2フレームレートで特定被写体を撮像することができ、第2フレームレートで撮像されるフレームF2-60の画像欠損を抑制することができる。また、合成の際、重複する範囲Da1について補間する必要がないため、より違和感の少ない画像を得ることができ、また、合成処理の負荷低減を図ることができる。また、フレームF2-60がフレームF2に更新されてから圧縮されるため、フレームF1,F2間での差分を最小限に抑制することができ、圧縮処理負荷の低減を図ることができる。
【0330】
(3-6)また、実施例3にかかる設定プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100の制御をプロセッサ1201に実行させる。
【0331】
設定プログラムは、プロセッサ1201に、検出処理と、設定処理と、を実行させる。検出処理では、設定プログラムは、プロセッサ1201に、撮像素子100からの出力により生成されたフレームF1に含まれる特定被写体の第2画像領域r1-60に基づいて、撮像素子100における特定被写体の撮像領域p2-60を検出させる。設定処理では、設定プログラムは、プロセッサ1201に、フレームF1の生成に用いられた特定被写体の撮像領域p1-60と、検出処理によって検出された検出撮像領域p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定させる。
【0332】
これにより、第2フレームレートでの撮像領域を拡張設定して、フレームF1,F2で非画像領域が重複する範囲Da1が生じないように第2フレームレートで特定被写体を撮像することができ、第2フレームレートで撮像されるフレームF2-60の画像欠損の抑制をソフトウェアで実現することができる。
【0333】
(3-7)また、実施例3にかかる画像処理プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成されたフレームの画像処理をプロセッサ1201に実行させる。
【0334】
画像処理プログラムは、プロセッサ1201に、検出処理と、設定処理と、合成処理と、を実行させる。検出処理では、画像処理プログラムは、プロセッサ1201に、撮像素子100からの出力により生成されたフレームF1に含まれる特定被写体の第2画像領域r1-60に基づいて、撮像素子100における特定被写体の撮像領域p2-60を検出させる。設定処理では、画像処理プログラムは、プロセッサ1201に、フレームF1の生成に用いられた特定被写体の撮像領域p1-60と、検出処理によって検出された検出撮像領域p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定させる。
【0335】
合成処理では、画像処理プログラムは、プロセッサ1201に、第1フレームF1に含まれる第1画像領域r1-30の画像データと、設定処理によって設定された第2フレームレートでの撮像により生成された第2フレームF2-60に含まれる特定の撮像領域P12-60の画像データと、を合成させる。
【0336】
これにより、第2フレームレートでの撮像領域を拡張設定して、フレームF1,F2で非画像領域が重複する範囲Da1が生じないように第2フレームレートで特定被写体を撮像することができ、第2フレームレートで撮像されるフレームF2-60の画像欠損を抑制することをソフトウェアにより実現することができる。また、合成の際、重複する範囲Da1について補間する必要がないため、より違和感の少ない画像を得ることができ、また、合成処理の負荷低減をソフトウェアにより実現することができる。また、フレームF2-60がフレームF2に更新されてから圧縮されるため、フレームF1,F2間での差分を最小限に抑制することができ、圧縮処理負荷の低減をソフトウェアにより実現することができる。
【0337】
(3-8)また、実施例3にかかる動画圧縮プログラムは、被写体を撮像する第1撮像領域と、被写体を撮像する第2撮像領域と、を有し、第1撮像領域に第1フレームレート(たとえば、30[fps])を設定可能であり、かつ、第2撮像領域に第1フレームレートよりも速い第2フレームレート(たとえば、60[fps])を設定可能な撮像素子100からの出力により生成された複数のフレームを含む動画データの圧縮を、プロセッサ1201に実行させる。
【0338】
この動画圧縮プログラムは、プロセッサ1201に、検出処理と、設定処理と、合成処理と、圧縮処理と、を実行させる。検出処理では、動画圧縮プログラムは、プロセッサ1201に、撮像素子100からの出力により生成されたフレームF1に含まれる特定被写体の第2画像領域r1-60に基づいて、撮像素子100における特定被写体の撮像領域p2-60を検出させる。設定処理では、動画圧縮プログラムは、プロセッサ1201に、フレームF1の生成に用いられた特定被写体の撮像領域p1-60と、検出処理によって検出された検出撮像領域p2-60と、を包含する特定の撮像領域P12-60のフレームレートを、第2フレームレートに設定させる。
【0339】
合成処理では、動画圧縮プログラムは、プロセッサ1201に、第1フレームF1に含まれる第1画像領域r1-30の画像データと、設定処理によって設定された第2フレームレートでの撮像により生成された第2フレームF2-60に含まれる特定の撮像領域P12-60の画像データと、を合成させる。圧縮処理では、動画圧縮プログラムは、プロセッサ1201に、第1フレームF1と、合成処理によって得られた合成後の第2フレームF2と、を圧縮させる。
【0340】
これにより、第2フレームレートでの撮像領域を拡張設定して、フレームF1,F2で非画像領域が重複する範囲Da1が生じないように第2フレームレートで特定被写体を撮像することができ、第2フレームレートで撮像されるフレームF2-60の画像欠損の抑制を、ソフトウェアにより実現することができる。また、合成の際、重複する範囲Da1について補間する必要がないため、より違和感の少ない画像を得ることができ、また、合成処理の負荷低減をソフトウェアにより実現することができる。また、フレームF2-60がフレームF2に更新されてから圧縮されるため、フレームF1,F2間での差分を最小限に抑制することができ、圧縮処理負荷の低減を、ソフトウェアにより実現することができる。
【符号の説明】
【0341】
100 撮像素子、200 撮像面、500 電子機器、501 撮像光学系、502 制御部、503 液晶モニタ、504 メモリカード、505 操作部、507 フラッシュメモリ、508 録音部、600 動画ファイル、B1~Bn データブロック、817 付加情報、901 画像処理部、902 圧縮部、1201 プロセッサ、1202 メモリ、1203 集積回路、1204 バス、1210 前処理部、1211 検出部、1212 設定部、1213 特定部、1214 合成部、1220 取得部、1301 減算部、1302 DCT部、1303 量子化部、1304 エントロピー符号化部、1305 符号量制御部、1306 逆量子化部、1307 逆DCT部、1308 生成部、1309 フレームメモリ、1310 動き検出部、1311 動き補償部、1312 圧縮制御部