IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ニコンの特許一覧

特許7167928動画圧縮装置、電子機器、および動画圧縮プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】動画圧縮装置、電子機器、および動画圧縮プログラム
(51)【国際特許分類】
   H04N 19/57 20140101AFI20221101BHJP
   H04N 19/105 20140101ALI20221101BHJP
   H04N 19/136 20140101ALI20221101BHJP
   H04N 19/172 20140101ALI20221101BHJP
【FI】
H04N19/57
H04N19/105
H04N19/136
H04N19/172
【請求項の数】 16
(21)【出願番号】P 2019545650
(86)(22)【出願日】2018-09-27
(86)【国際出願番号】 JP2018036130
(87)【国際公開番号】W WO2019065916
(87)【国際公開日】2019-04-04
【審査請求日】2021-08-30
(31)【優先権主張番号】P 2017192105
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004112
【氏名又は名称】株式会社ニコン
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】小宮 大作
(72)【発明者】
【氏名】關口 直樹
【審査官】久保 光宏
(56)【参考文献】
【文献】国際公開第2017/057492(WO,A1)
【文献】特開2015-92660(JP,A)
【文献】特開2008-103928(JP,A)
【文献】特開2009-284058(JP,A)
【文献】YAMAZAKI, T., et al.,"Segmented-base CMOS Image Sensor for Machine Vision Application",Papers of 2013 INTERNATIONAL IMAGE SENSOR WORKSHOP,[online], International Image Sensor Society,2013年06月13日,Pages 1-4,[平成30年10月18日検索], インターネット, <URL: http://imagesensors.org/2013-papers/> and <URL: http://www.imagesensors.org/Past%20Workshops/2013%20Workshop/2013%20Papers/05-05_014-YAMAZAKI-paper.pdf>.
【文献】OTAKA, T. et al.,"An 8-Segmented 256X512 CMOS Image Sensor for Processing Element-Coupled Unified System in Machine Vision Application",Proceedings of the 10th IEEE International NEWCAS Conference,2012年06月20日,Pages 329-332,ISBN: 978-1-4673-0859-5, <DOI: 10.1109/NEWCAS.2012.6329023>.
【文献】箱石 広之(外2名),「撮像面分割型イメージセンサを用いた環境認識に適した画像の取得」,映像情報メディア学会技術報告,日本,一般社団法人 映像情報メディア学会,2013年05月24日,Vol.37, No.22,第25~28頁,ISSN: 1342-6893.
【文献】山崎 智裕(外2名),「小撮像面群構成型イメージセンサを用いた広ダイナミックレンジ撮像と高速動物体追跡」,映像情報メディア学会 2012年年次大会講演予稿集, [CD-ROM],Session-Id: 17-2,日本,一般社団法人 映像情報メディア学会,2012年08月08日,全2頁,ISSN: 1880-6961.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
H04N5/225
H04N5/232
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能な撮像素子から出力された一連のフレームである動画データを圧縮する動画圧縮装置であって、
圧縮対象領域に基づいて参照フレームから特定領域を検出する処理に用いられる前記参照フレーム内の探索領域を、複数の前記撮像条件に基づいて設定する設定部と、
前記設定部によって設定された探索領域を用いた前記処理に基づいて前記特定領域を検出することにより、動きベクトルを生成する生成部と、
を有する動画圧縮装置。
【請求項2】
請求項1に記載の動画圧縮装置であって、
前記設定部は、前記探索領域を、前記複数の撮像条件の各々で撮像された画像領域のうち、前記圧縮対象領域が存在する特定の撮像条件で撮像された特定の画像領域に設定する、動画圧縮装置。
【請求項3】
請求項2に記載の動画圧縮装置であって、
前記設定部は、前記探索領域を、前記特定の画像領域と、前記特定の画像領域を囲む他の撮像条件の画像領域と、に設定する、動画圧縮装置。
【請求項4】
請求項2に記載の動画圧縮装置であって、
前記設定部は、前記複数の撮像条件の関係に基づいて、前記探索領域を拡大または縮小する動画圧縮装置。
【請求項5】
請求項4に記載の動画圧縮装置であって、
前記設定部は、前記複数の撮像条件が示す値の差に基づいて、前記探索領域を拡大または縮小する動画圧縮装置。
【請求項6】
請求項4に記載の動画圧縮装置であって、
前記設定部は、前記特定の撮像条件が特定の露光時間であり、前記複数の撮像条件のうち前記特定の撮像条件以外の他の撮像条件が前記特定の露光時間よりも短い露光時間である場合に、前記探索領域を縮小する動画圧縮装置。
【請求項7】
請求項1に記載の動画圧縮装置であって、
前記設定部は、複数の撮像条件が設定された画像領域のうち、前記圧縮対象領域が存在する特定の撮像条件が設定された特定の画像領域を第1探索領域に設定するとともに、前記画像領域のうち、前記特定の画像領域以外の他の画像領域を第2探索領域に設定し、
前記生成部は、前記設定部によって設定された第1探索領域と、前記設定部によって設定された第2探索領域とで、画素精度が異なる前記処理を実行することにより、前記動きベクトルを生成することを特徴とする動画圧縮装置。
【請求項8】
請求項7に記載の動画圧縮装置であって、
前記生成部は、前記第1探索領域での前記処理が前記第2探索領域での前記処理よりも画素精度が高い動画圧縮装置。
【請求項9】
請求項2に記載の動画圧縮装置であって、
前記生成部は、前記探索領域での前記処理の結果に基づいて、前記探索領域外での前記処理を実行する動画圧縮装置。
【請求項10】
請求項2に記載の動画圧縮装置であって、
前記生成部は、前記探索領域で前記圧縮対象領域とのマッチング対象となる探索対象範囲について、前記探索対象範囲および前記特定の画像領域に含まれる特定の画素と、前記探索対象範囲および前記特定の画像領域以外の他の画像領域に含まれる他の画素と、の割合に基づいて、ブロックマッチングを実行する動画圧縮装置。
【請求項11】
請求項10に記載の動画圧縮装置であって、
前記生成部は、前記探索対象範囲が前記特定の画素のみとなるように、前記処理を実行する動画圧縮装置。
【請求項12】
請求項10に記載の動画圧縮装置であって、
前記生成部は、前記探索対象範囲内の前記特定の画素の画素数が前記他の画素の画素数よりも多くなるように、前記処理を実行する動画圧縮装置。
【請求項13】
請求項10に記載の動画圧縮装置であって、
前記生成部は、前記探索対象範囲内に前記特定の画素が少なくとも1つ存在するように、前記処理を実行する動画圧縮装置。
【請求項14】
被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能な撮像素子から出力された一連のフレームである動画データを圧縮する動画圧縮装置であって、
参照フレーム内の特定領域を検出するための探索領域を、複数の前記撮像条件に基づいて設定する設定部と、
前記参照フレームとは異なるフレームの圧縮対象領域に基づいて、前記設定部によって設定された探索領域から前記特定領域を検出部と、
を有する動画圧縮装置。
【請求項15】
被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能であり、一連のフレームである動画データを出力する撮像素子と、
圧縮対象領域に基づいて参照フレームから特定領域を検出する処理に用いられる前記参照フレーム内の探索領域を、複数の前記撮像条件に基づいて設定する設定部と、
前記設定部によって設定された探索領域を用いた前記処理に基づいて前記特定領域を検出することにより、動きベクトルを生成する生成部と、
を有する電子機器。
【請求項16】
被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能な撮像素子から出力された一連のフレームである動画データの圧縮をプロセッサに実行させる動画圧縮プログラムであって、
前記プロセッサに、
圧縮対象領域に基づいて参照フレームから特定領域を検出する処理に用いられる前記参照フレーム内の探索領域を、複数の前記撮像条件に基づいて設定させ、
前記探索領域を用いた前記処理に基づいて前記特定領域を検出することにより、動きベクトルを生成させる、
動画圧縮プログラム。
【発明の詳細な説明】
【参照による取り込み】
【0001】
本出願は、平成29年(2017年)9月29日に出願された日本出願である特願2017-192105の優先権を主張し、その内容を参照することにより、本出願に取り込む。
【技術分野】
【0002】
本発明は、動画圧縮装置、電子機器、および動画圧縮プログラムに関する。
【背景技術】
【0003】
裏面照射型撮像チップと信号処理チップとが積層された撮像素子(以下、積層型撮像素子という)を備えた電子機器が提案されている(特許文献1参照)。積層型撮像素子は、裏面照射型撮像チップと信号処理チップとが、所定の領域ごとにマイクロバンプを介して接続されるように積層されている。しかしながら、積層型撮像素子において複数の撮像条件を撮像領域内に設定可能である場合、複数の撮像条件で撮像されたフレームが出力されるため、そのようなフレームの動画圧縮は従来考慮されていない。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-49361号公報
【発明の概要】
【0005】
本願において開示される技術の一側面となる動画圧縮装置は、被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能な撮像素子から出力された一連のフレームである動画データを圧縮する動画圧縮装置であって、圧縮対象領域に基づいて参照フレームから特定領域を検出する処理に用いられる前記参照フレーム内の探索領域を、複数の前記撮像条件に基づいて設定する設定部と、前記設定部によって設定された探索領域を用いた前記処理に基づいて前記特定領域を検出することにより、動きベクトルを生成する生成部と、を有する。
【0006】
本願において開示される技術の一側面となる電子機器は、被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能であり、一連のフレームである動画データを出力する撮像素子と、圧縮対象領域に基づいて参照フレームから特定領域を検出する処理に用いられる前記参照フレーム内の探索領域を、複数の前記撮像条件に基づいて設定する設定部と、前記設定部によって設定された探索領域を用いた前記処理に基づいて前記特定領域を検出することにより、動きベクトルを生成する生成部と、を有する。
【0007】
本願において開示される技術の一側面となる動画圧縮プログラムは、被写体を撮像する撮像領域を複数有し前記撮像領域ごとに撮像条件が設定可能な撮像素子から出力された一連のフレームである動画データの圧縮をプロセッサに実行させる動画圧縮プログラムであって、前記プロセッサに、圧縮対象領域に基づいて参照フレームから特定領域を検出する処理に用いられる前記参照フレーム内の探索領域を、複数の前記撮像条件に基づいて設定させ、前記探索領域を用いた前記処理に基づいて前記特定領域を検出することにより、動きベクトルを生成させる。
【図面の簡単な説明】
【0008】
図1図1は、積層型撮像素子の断面図である。
図2図2は、撮像チップの画素配列を説明する図である。
図3図3は、撮像チップの回路図である。
図4図4は、撮像素子の機能的構成例を示すブロック図である。
図5図5は、電子機器のブロック構成例を示す説明図である。
図6図6は、動画ファイルの構成例を示す説明図である。
図7図7は、撮像面と被写体像との関係を示す説明図である。
図8図8は、動画ファイルの具体的な構成例に示す説明図である。
図9図9は、ブロックマッチング例を示す説明図である。
図10図10は、図5に示した制御部の構成例を示すブロック図である。
図11図11は、圧縮部の構成例を示すブロック図である。
図12図12は、探索範囲、探索領域および探索窓の一例を示す説明図である。
図13図13は、異なる撮像条件の境界での走査例1を示す説明図である。
図14図14は、異なる撮像条件の境界での走査例2を示す説明図である。
図15図15は、異なる撮像条件の境界での走査例3を示す説明図である。
図16図16は、撮像条件の領域拡縮例を示す説明図である。
図17図17は、異なる撮像条件の境界での走査例4を示す説明図である。
図18図18は、異なる撮像条件の境界での走査例5を示す説明図である。
図19図19は、異なる撮像条件の境界での走査例6を示す説明図である。
図20図20は、前処理部による前処理手順例を示すフローチャートである。
図21図21は、動き検出部による動き検出処理手順例1を示すフローチャートである。
図22図22は、動き検出部による動き検出処理手順例2を示すフローチャートである。
図23図23は、異なる画素精度でのブロックマッチング例を示す説明図である。
図24図24は、動き検出部による異なる画素精度での動きベクトル検出処理手順例を示すフローチャートである。
【発明を実施するための形態】
【0009】
<撮像素子の構成例>
初めに、電子機器に搭載する積層型撮像素子について説明する。なお、この積層型撮像素子は、本願出願人が先に出願した特願2012-139026号に記載されているものである。電子機器は、たとえば、デジタルカメラやデジタルビデオカメラなどの撮像装置である。
【0010】
図1は、積層型撮像素子100の断面図である。積層型撮像素子(以下、単に、「撮像素子」)100は、入射光に対応した画素信号を出力する裏面照射型撮像チップ(以下、単に、「撮像チップ」)113と、画素信号を処理する信号処理チップ111と、画素信号を記憶するメモリチップ112とを備える。これら撮像チップ113、信号処理チップ111およびメモリチップ112は積層されており、Cuなどの導電性を有するバンプ109により互いに電気的に接続される。
【0011】
なお、図1に示すように、入射光は主に白抜き矢印で示すZ軸プラス方向へ向かって入射する。本実施形態においては、撮像チップ113において、入射光が入射する側の面を裏面と称する。また、座標軸に示すように、Z軸に直交する紙面左方向をX軸プラス方向、Z軸およびX軸に直交する紙面手前方向をY軸プラス方向とする。以降のいくつかの図においては、図1の座標軸を基準として、それぞれの図の向きがわかるように座標軸を表示する。
【0012】
撮像チップ113の一例は、裏面照射型のMOS(Metal Oxide Semiconductor)イメージセンサである。PD(フォトダイオード)層106は、配線層108の裏面側に配されている。PD層106は、二次元的に配され、入射光に応じた電荷を蓄積する複数のPD104、および、PD104に対応して設けられたトランジスタ105を有する。
【0013】
PD層106における入射光の入射側にはパッシベーション膜103を介してカラーフィルタ102が設けられる。カラーフィルタ102は、互いに異なる波長領域を透過する複数の種類を有しており、PD104のそれぞれに対応して特定の配列を有している。カラーフィルタ102の配列については後述する。カラーフィルタ102、PD104およびトランジスタ105の組が、一つの画素を形成する。
【0014】
カラーフィルタ102における入射光の入射側には、それぞれの画素に対応して、マイクロレンズ101が設けられる。マイクロレンズ101は、対応するPD104へ向けて入射光を集光する。
【0015】
配線層108は、PD層106からの画素信号を信号処理チップ111に伝送する配線107を有する。配線107は多層であってもよく、また、受動素子および能動素子が設けられてもよい。
【0016】
配線層108の表面には複数のバンプ109が配される。当該複数のバンプ109が信号処理チップ111の対向する面に設けられた複数のバンプ109と位置合わせされて、撮像チップ113と信号処理チップ111とが加圧などされることにより、位置合わせされたバンプ109同士が接合されて、電気的に接続される。
【0017】
同様に、信号処理チップ111およびメモリチップ112の互いに対向する面には、複数のバンプ109が配される。これらのバンプ109が互いに位置合わせされて、信号処理チップ111とメモリチップ112とが加圧などされることにより、位置合わせされたバンプ109同士が接合されて、電気的に接続される。
【0018】
なお、バンプ109間の接合には、固相拡散によるCuバンプ接合に限らず、はんだ溶融によるマイクロバンプ結合を採用してもよい。また、バンプ109は、たとえば、後述する一つのブロックに対して一つ程度設ければよい。したがって、バンプ109の大きさは、PD104のピッチよりも大きくてもよい。また、画素が配列された画素領域以外の周辺領域において、画素領域に対応するバンプ109よりも大きなバンプを併せて設けてもよい。
【0019】
信号処理チップ111は、表裏面にそれぞれ設けられた回路を互いに接続するTSV(シリコン貫通電極)110を有する。TSV110は、周辺領域に設けられることが好ましい。また、TSV110は、撮像チップ113の周辺領域、メモリチップ112にも設けられてよい。
【0020】
図2は、撮像チップ113の画素配列を説明する図である。特に、撮像チップ113を裏面側から観察した様子を示す。(a)は、撮像チップ113の裏面である撮像面200を模式的に示す平面図であり、(b)は、撮像面200の一部領域200aを拡大した平面図である。(b)に示すように、撮像面200には、画素201が二次元状に多数配列されている。
【0021】
画素201は、それぞれ不図示の色フィルタを有している。色フィルタは、赤(R)、緑(G)、青(B)の3種類からなり、(b)における「R」、「G」、および「B」という表記は、画素201が有する色フィルタの種類を表している。(b)に示すように、撮像素子100の撮像面200には、このような各色フィルタを備えた画素201が、いわゆるベイヤー配列に従って配列されている。
【0022】
赤フィルタを有する画素201は、入射光のうち、赤色の波長帯の光を光電変換して受光信号(光電変換信号)を出力する。同様に、緑フィルタを有する画素201は、入射光のうち、緑色の波長帯の光を光電変換して受光信号を出力する。また、青フィルタを有する画素201は、入射光のうち、青色の波長帯の光を光電変換して受光信号を出力する。
【0023】
撮像素子100は、隣接する2画素×2画素の計4つの画素201から成る単位グループ202ごとに、個別に制御可能に構成されている。たとえば、互いに異なる2つの単位グループ202について、同時に電荷蓄積が開始されたときに、一方の単位グループ202では電荷蓄積開始から1/30秒後に電荷の読み出し、すなわち受光信号の読み出しが行われ、他方の単位グループ202では電荷蓄積開始から1/15秒後に電荷の読み出しが行われる。換言すると、撮像素子100は、1回の撮像において、単位グループ202ごとに異なる露光時間(電荷蓄積時間であり、いわゆるシャッタースピード)を設定することができる。
【0024】
撮像素子100は、上述した露光時間以外にも、撮像信号の増幅率(いわゆるISO感度)を単位グループ202ごとに異ならせることが可能である。撮像素子100は、電荷蓄積を開始するタイミングや受光信号を読み出すタイミングを単位グループ202ごとに変化させることができる。すなわち、撮像素子100は、動画撮像時のフレームレートを単位グループ202ごとに変化させることができる。
【0025】
以上をまとめると、撮像素子100は、単位グループ202ごとに、露光時間、増幅率、フレームレート、解像度などの撮像条件を異ならせることが可能に構成されている。たとえば、画素201が有する不図示の光電変換部から撮像信号を読み出すための不図示の読み出し線が、単位グループ202ごとに設けられ、単位グループ202ごとに独立して撮像信号を読み出し可能に構成すれば、単位グループ202ごとに露光時間(シャッタースピード)を異ならせることができる。
【0026】
また、光電変換された電荷により生成された撮像信号を増幅する不図示の増幅回路を単位グループ202ごとに独立して設け、増幅回路による増幅率を増幅回路ごとに独立して制御可能に構成すれば、単位グループ202ごとに信号の増幅率(ISO感度)を異ならせることができる。
【0027】
また、単位グループ202ごとに異ならせることが可能な撮像条件は、上述した撮像条件のほか、フレームレート、ゲイン、解像度(間引き率)、画素信号を加算する加算行数または加算列数、電荷の蓄積時間または蓄積回数、デジタル化のビット数などである。さらに、制御パラメータは、画素からの画像信号取得後の画像処理におけるパラメータであってもよい。
【0028】
また、撮像条件は、たとえば、単位グループ202ごとに独立して制御可能な区画(1区画が1つの単位グループ202に対応する)を有する液晶パネルを撮像素子100に設け、オンオフ可能な減光フィルタとして利用すれば、単位グループ202ごとに明るさ(絞り値)を制御することが可能になる。
【0029】
なお、単位グループ202を構成する画素201の数は、上述した2×2の4画素でなくてもよい。単位グループ202は、少なくとも1個の画素201を有していればよいし、逆に、4個より多くの画素201を有していてもよい。
【0030】
図3は、撮像チップ113の回路図である。図3において、代表的に点線で囲む矩形が、1つの画素201に対応する回路を表す。また、一点鎖線で囲む矩形が1つの単位グループ202(202-1~202-4)に対応する。なお、以下に説明する各トランジスタの少なくとも一部は、図1のトランジスタ105に対応する。
【0031】
上述したように、画素201のリセットトランジスタ303は、単位グループ202単位でオン/オフされる。また、画素201の転送トランジスタ302も、単位グループ202単位でオン/オフされる。図3に示す例において、左上単位グループ202-1に対応する4つのリセットトランジスタ303をオン/オフするためのリセット配線300-1が設けられており、同単位グループ202-1に対応する4つの転送トランジスタ302に転送パルスを供給するためのTX配線307-1も設けられる。
【0032】
同様に、左下単位グループ202-3に対応する4つのリセットトランジスタ303をオン/オフするためのリセット配線300-3が、上記リセット配線300-1とは別個に設けられる。また、同単位グループ202-3に対応する4つの転送トランジスタ302に転送パルスを供給するためのTX配線307-3が、上記TX配線307-1と別個に設けられる。
【0033】
右上単位グループ202-2や右下単位グループ202-4についても同様に、それぞれリセット配線300-2とTX配線307-2、およびリセット配線300-4とTX配線307-4が、それぞれの単位グループ202に設けられている。
【0034】
各画素201に対応する16個のPD104は、それぞれ対応する転送トランジスタ302に接続される。各転送トランジスタ302のゲートには、上記単位グループ202ごとのTX配線を介して転送パルスが供給される。各転送トランジスタ302のドレインは、対応するリセットトランジスタ303のソースに接続されるとともに、転送トランジスタ302のドレインとリセットトランジスタ303のソース間のいわゆるフローティングディフュージョンFDが、対応する増幅トランジスタ304のゲートに接続される。
【0035】
各リセットトランジスタ303のドレインは、電源電圧が供給されるVdd配線310に共通に接続される。各リセットトランジスタ303のゲートには、上記単位グループ202ごとのリセット配線を介してリセットパルスが供給される。
【0036】
各増幅トランジスタ304のドレインは、電源電圧が供給されるVdd配線310に共通に接続される。また、各増幅トランジスタ304のソースは、対応する選択トランジスタ305のドレインに接続される。各選択トランジスタ305のゲートには、選択パルスが供給されるデコーダ配線308に接続される。デコーダ配線308は、16個の選択トランジスタ305に対してそれぞれ独立に設けられる。
【0037】
そして、各々の選択トランジスタ305のソースは、共通の出力配線309に接続される。負荷電流源311は、出力配線309に電流を供給する。すなわち、選択トランジスタ305に対する出力配線309は、ソースフォロアにより形成される。なお、負荷電流源311は、撮像チップ113側に設けてもよいし、信号処理チップ111側に設けてもよい。
【0038】
ここで、電荷の蓄積開始から蓄積終了後の画素出力までの流れを説明する。上記単位グループ202ごとのリセット配線を通じてリセットパルスがリセットトランジスタ303に印加され、同時に上記単位グループ202(202-1~202-4)ごとのTX配線を通じて転送パルスが転送トランジスタ302に印加されると、上記単位グループ202ごとに、PD104およびフローティングディフュージョンFDの電位がリセットされる。
【0039】
各PD104は、転送パルスの印加が解除されると、受光する入射光を電荷に変換して蓄積する。その後、リセットパルスが印加されていない状態で再び転送パルスが印加されると、蓄積された電荷はフローティングディフュージョンFDへ転送され、フローティングディフュージョンFDの電位は、リセット電位から電荷蓄積後の信号電位になる。
【0040】
そして、デコーダ配線308を通じて選択パルスが選択トランジスタ305に印加されると、フローティングディフュージョンFDの信号電位の変動が、増幅トランジスタ304および選択トランジスタ305を介して出力配線309に伝わる。これにより、リセット電位と信号電位とに対応する画素信号は、単位画素から出力配線309に出力される。
【0041】
上述したように、単位グループ202を形成する4画素に対して、リセット配線とTX配線が共通である。すなわち、リセットパルスと転送パルスはそれぞれ、同単位グループ202内の4画素に対して同時に印加される。したがって、ある単位グループ202を形成するすべての画素201は、同一のタイミングで電荷蓄積を開始し、同一のタイミングで電荷蓄積を終了する。ただし、蓄積された電荷に対応する画素信号は、それぞれの選択トランジスタ305に選択パルスが順次印加されることにより、選択的に出力配線309から出力される。
【0042】
このように、単位グループ202ごとに電荷蓄積開始タイミングを制御することができる。換言すると、異なる単位グループ202間では、異なったタイミングで撮像することができる。
【0043】
図4は、撮像素子100の機能的構成例を示すブロック図である。アナログのマルチプレクサ411は、単位グループ202を形成する16個のPD104を順番に選択して、それぞれの画素信号を当該単位グループ202に対応して設けられた出力配線309へ出力させる。マルチプレクサ411は、PD104と共に、撮像チップ113に形成される。
【0044】
マルチプレクサ411を介して出力された画素信号は、信号処理チップ111に形成された、相関二重サンプリング(CDS)・アナログ/デジタル(A/D)変換を行う信号処理回路412により、CDSおよびA/D変換が行われる。A/D変換された画素信号は、デマルチプレクサ413に引き渡され、それぞれの画素に対応する画素メモリ414に格納される。デマルチプレクサ413および画素メモリ414は、メモリチップ112に形成される。
【0045】
演算回路415は、画素メモリ414に格納された画素信号を処理して後段の画像処理部に引き渡す。演算回路415は、信号処理チップ111に設けられてもよいし、メモリチップ112に設けられてもよい。なお、図4では4つの単位グループ202の分の接続を示すが、実際にはこれらが4つの単位グループ202ごとに存在して、並列で動作する。
【0046】
ただし、演算回路415は4つの単位グループ202ごとに存在しなくてもよく、たとえば、一つの演算回路415がそれぞれの4つの単位グループ202に対応する画素メモリ414の値を順に参照しながらシーケンシャルに処理してもよい。
【0047】
上記の通り、単位グループ202のそれぞれに対応して出力配線309が設けられている。撮像素子100は撮像チップ113、信号処理チップ111およびメモリチップ112を積層しているので、これら出力配線309にバンプ109を用いたチップ間の電気的接続を用いることにより、各チップを面方向に大きくすることなく配線を引き回すことができる。
【0048】
<電子機器のブロック構成例>
図5は、電子機器のブロック構成例を示す説明図である。電子機器500は、たとえば、レンズ一体型のカメラである。電子機器500は、撮像光学系501と、撮像素子100と、制御部502と、液晶モニタ503と、メモリカード504と、操作部505と、DRAM506と、フラッシュメモリ507と、録音部508とを備える。制御部502は、後述するように動画データを圧縮する圧縮部を含む。したがって、電子機器500のうち、少なくとも制御部502を含む構成が動画圧縮装置となる。
【0049】
撮像光学系501は、複数のレンズから構成され、撮像素子100の撮像面200に被写体像を結像させる。なお、図5では、便宜上、撮像光学系501を1枚のレンズとして図示している。
【0050】
撮像素子100は、たとえば、CMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Device)などの撮像素子であり、撮像光学系501により結像された被写体像を撮像して撮像信号を出力する。制御部502は、電子機器500の各部を制御する電子回路であり、プロセッサとその周辺回路とから構成される。
【0051】
不揮発性の記憶媒体であるフラッシュメモリ507には、予め所定の制御プログラムが書き込まれている。制御部502は、フラッシュメモリ507から制御プログラムを読み込んで実行することにより、各部の制御を行う。この制御プログラムは、揮発性の記憶媒体であるDRAM506を作業用領域として使用する。
【0052】
液晶モニタ503は、液晶パネルを利用した表示装置である。制御部502は、所定周期(たとえば60分の1秒)ごとに撮像素子100に繰り返し被写体像を撮像させる。そして、撮像素子100から出力された撮像信号に種々の画像処理を施していわゆるスルー画を作成し、液晶モニタ503に表示する。液晶モニタ503には、上記のスルー画以外に、たとえば撮像条件を設定する設定画面などが表示される。
【0053】
制御部502は、撮像素子100から出力された撮像信号に基づき、後述する画像ファイルを作成し、可搬性の記録媒体であるメモリカード504に画像ファイルを記録する。操作部505は、プッシュボタンなどの種々の操作部材を有し、それら操作部材が操作されたことに応じて制御部502に操作信号を出力する。
【0054】
録音部508は、たとえば、マイクロフォンにより構成され、環境音を音声信号に変換して制御部502に入力する。なお、制御部502は、可搬性の記録媒体であるメモリカード504に動画ファイルを記録するのではなく、ハードディスクのような電子機器500に内蔵された不図示の記録媒体に記録してもよい。
【0055】
<動画ファイルの構成例>
図6は、動画ファイルの構成例を示す説明図である。動画ファイル600は、制御部502内の後述する圧縮部902での圧縮処理中に生成され、メモリカード504、DRAM506、またはフラッシュメモリ507に格納される。動画ファイル600は、ヘッダ部601およびデータ部602の2つのブロックにより構成される。ヘッダ部601は、動画ファイル600の先頭に位置するブロックである。ヘッダ部601には、ファイル基本情報領域611と、マスク領域612と、撮像情報領域613とが、以上に述べた順序で格納されている。
【0056】
ファイル基本情報領域611には、たとえば、動画ファイル600内の各部(ヘッダ部601、データ部602、マスク領域612、撮像情報領域613など)のサイズやオフセットが記録される。マスク領域612には、後述する撮像条件情報やマスク情報などが記録される。撮像情報領域613には、たとえば電子機器500の機種名や撮像光学系21の情報(たとえば収差などの光学特性に関する情報)など、撮像に関する情報が記録される。データ部602は、ヘッダ部601の後ろに位置するブロックであり、画像情報や音声情報などが記録される。
【0057】
<撮像画面と被写体像との関係>
図7は、撮像面と被写体像との関係を示す説明図である。(a)は、撮像素子100の撮像面200(撮像範囲)と被写体像701とを模式的に示す。(a)において、制御部502は、被写体像701を撮像する。(a)の撮像は、たとえばライブビュー画像(いわゆるスルー画)の作成のために行われる撮像を兼ねていてもよい。
【0058】
制御部502は、(a)の撮像により得られた被写体像701に対して、所定の画像解析処理を実行する。画像解析処理は、たとえば周知の被写体検出技術(特徴量を演算して所定の被写体が存在する範囲を検出する技術)により、主要被写体領域と背景領域とを検出する処理である。画像解析処理によって、撮像面200は、主要被写体が存在する主要被写体領域702と、背景が存在する背景領域703とに分割される。
【0059】
なお、(a)では、被写体像701を大まかに含む領域を主要被写体領域702として図示しているが、主要被写体領域702は、被写体像701の外形に沿った形状であってもよい。つまり、被写体像701以外のものをできるだけ含まないように主要被写体領域702を設定してもよい。
【0060】
制御部502は、主要被写体領域702内の各単位グループ202と、背景領域703内の各単位グループ202とで、異なる撮像条件を設定する。たとえば、前者の各単位グループ202には、後者の各単位グループ202に比べて高速なシャッタースピードを設定する。このようにすると、(a)の撮像の次に撮像される(c)の撮像において、主要被写体領域702では像ぶれが発生しにくくなる。
【0061】
また、制御部502は、背景領域703に存在する太陽などの光源の影響で、主要被写体領域702が逆光状態となっている場合には、前者の各単位グループ202に、相対的に高めのISO感度を設定したり、低速なシャッタースピードを設定する。また、制御部502は、後者の各単位グループ202に、相対的に低めのISO感度を設定したり、高速なシャッタースピードを設定したりする。このようにすると、(c)の撮像において、逆光状態の主要被写体領域702の黒つぶれや、光量の大きい背景領域703の白飛びを防止することができる。
【0062】
なお、画像解析処理は、上述した主要被写体領域702と背景領域703とを検出する処理とは異なる処理であってもよい。たとえば、撮像面200全体のうち、明るさが一定以上の部分(明るすぎる部分)や明るさが一定未満の部分(暗すぎる部分)を検出する処理であってもよい。画像解析処理をこのような処理とした場合、制御部502は、前者の領域に含まれる単位グループ202について、露出値(Ev値)が他の領域に含まれる単位グループ202よりも低くなるように、シャッタースピードやISO感度を設定する。
【0063】
また、制御部502は、後者の領域に含まれる単位グループ202については、露出値(Ev値)が他の領域に含まれる単位グループ202よりも高くなるように、シャッタースピードやISO感度を設定する。このようにすることで、(c)の撮像により得られる画像のダイナミックレンジを、撮像素子100の本来のダイナミックレンジよりも広げることができる。
【0064】
図7の(b)は、(a)に示した撮像面200に対応するマスク情報704の一例を示す。主要被写体領域702に属する単位グループ202の位置には「1」が、背景領域703に属する単位グループ202の位置には「2」がそれぞれ格納されている。
【0065】
制御部502は、1フレーム目の画像データに対して、画像解析処理を実行し、主要被写体領域702と背景領域703とを検出する。これにより、(a)の撮像によるフレームは、(c)に示すように、主要被写体領域702と背景領域703とに分割される。制御部502は、主要被写体領域702内の各単位グループ202と、背景領域703内の各単位グループ202とで、異なる撮像条件を設定して、(c)の撮像を行い、画像データを作成する。このときのマスク情報704の例を、(d)に示す。
【0066】
(a)の撮像の結果に対応する(b)のマスク情報704と、(b)の撮像の結果に対応する(d)のマスク情報704とでは、異なる時刻に撮像を行っている(時間差がある)ため、たとえば、被写体が移動している場合や、ユーザが電子機器500を動かした場合に、これら2つのマスク情報704が異なる内容になる。換言すると、マスク情報704は、時間経過に伴い変化する動的情報である。従って、ある単位グループ202において、フレームごとに異なる撮像条件が設定されることになる。
【0067】
<動画ファイル600の具体例>
図8は、動画ファイル600の具体的な構成例に示す説明図である。マスク領域612には、識別情報801と、撮像条件情報802と、マスク情報704が、以上に述べた順序で記録される。
【0068】
識別情報801は、この動画ファイル600がマルチ撮像条件動画撮像機能によって作成されたものである旨を表す。マルチ撮像条件動画撮像機能とは、複数の撮像条件が設定された撮像素子100で動画撮影する機能である。
【0069】
撮像条件情報802は、単位グループ202にどのような用途(目的、役割)が存在するかを表す情報である。たとえば、上述したように、撮像面200(図7(a))を主要被写体領域702と背景領域703とに分割する場合、各々の単位グループ202は、主要被写体領域702に属するか、または、背景領域703に属するかのいずれかである。
【0070】
つまり、撮像条件情報802は、この動画ファイル600の作成に際し、単位グループ202にたとえば「主要被写体領域を60fpsで動画撮像する」、「背景領域を30fpsで動画撮像する」という2種類の用途が存在したこと、並びに、これらの用途ごとに割り当てられた一意な番号を表す情報である。たとえば、1という番号が「主要被写体領域を60fpsで動画撮像する」用途を、2という番号が「背景領域を30fpsで動画撮像する」用途にそれぞれ割り当てられる。
【0071】
マスク情報704は、各々の単位グループ202の用途(目的、役割)を表す情報である。マスク情報704を、「撮像条件情報802に割り当てられた番号を、単位グループ202の位置に合わせて二次元マップの形で表現した情報」としている。つまり、二次元状に配列された単位グループ202を2つの整数x、yによる二次元座標(x、y)で特定するとき、(x、y)の位置に存在する単位グループ202の用途は、マスク情報704の(x、y)の位置に存在する番号により表現される。
【0072】
たとえば、マスク情報704の座標(3,5)の位置に「1」という番号が入っていた場合、座標(3,5)に位置する単位グループ202には、「主要被写体領域を60[fps]で撮像する」という用途が与えられたことがわかる。換言すると、座標(3,5)に位置する単位グループ202は、主要被写体領域702に属することがわかる。
【0073】
なお、マスク情報704はフレームごとに変化する動的情報なので、フレームごと、すなわち、後述するデータブロックBiごとに圧縮処理中に記録される(不図示)。
【0074】
データ部602には、フレームF(F1~Fn)ごとにデータブロックB1~Bnが撮像順に動画データとして格納される。データブロックBi(iは1≦i≦nの整数)は、マスク情報704と、画像情報811と、Tv値マップ812と、Sv値マップ813と、Bv値マップ814と、Av値情報815と、音声情報816と、付加情報817とを含む。
【0075】
画像情報811は、図7の(c)の撮像により撮像素子100から出力された撮像信号を、種々の画像処理を施す前の形で記録した情報であり、いわゆるRAW画像データである。
【0076】
Tv値マップ812は、単位グループ202ごとに設定されたシャッタースピードを表すTv値を、単位グループ202の位置に合わせて二次元マップの形で表現した情報である。たとえば座標(x、y)に位置する単位グループ202に設定されたシャッタースピードは、Tv値マップ812の座標(x、y)に格納されているTv値を調べることで判別可能である。
【0077】
Sv値マップ813は、単位グループ202ごとに設定されたISO感度を表すSv値を、Tv値マップ812と同様に二次元マップの形で表現した情報である。
【0078】
Bv値マップ814は、図7の(c)の撮像に際して単位グループ202ごとに測定された被写体輝度、すなわち、各々の単位グループ202に入射した被写体光の輝度を表すBv値を、Tv値マップ812と同様に二次元マップの形で表現した情報である。
【0079】
Av値情報815は、図7の(c)の撮像時の絞り値を表す情報である。Av値は、Tv値、Sv値、Bv値とは異なり、単位グループ202ごとに存在する値ではない。従って、Tv値、Sv値、Bv値とは違い、Av値は単一の値のみが格納され、複数の値を二次元状にマップした情報とはなっていない。
【0080】
音声情報816は、動画再生を行いやすいように、1フレーム分の情報ごとに分割され、データブロックBiと多重化されてデータ部602に格納されている。なお、音声情報816の多重化は、1フレーム分でなく、所定数のフレーム分ごとに行ってもよい。なお、音声情報816は、必ずしも含まれている必要はない。
【0081】
付加情報817は、図7の(c)の撮像に際して単位グループ202ごとに設定されたフレームレートを二次元マップの形で表現した情報である。付加情報817の設定については、図14および図15で後述する。なお、付加情報817については、フレームFに保持させてもよいが、後述するプロセッサ1001のキャッシュメモリに保持してもよい。特にリアルタイムで圧縮処理を実行する場合は、高速処理の観点からキャッシュメモリを利用するのが好ましい。
【0082】
以上のように、制御部502は、このような動画撮像機能による撮像を行うことにより、単位グループ202ごとに撮像条件が設定可能な撮像素子100により生成された画像情報811と、単位グループ202ごとの撮像条件に関するデータ(撮像条件情報802、マスク情報704、Tv値マップ812、Sv値マップ813、Bv値マップ814など)とが関連付けられた動画ファイル600を、メモリカード504に記録する。
【0083】
<ブロックマッチング例>
つぎに、1枚のフレームに複数の撮像条件が設定された場合のブロックマッチングについて説明する。本実施例では、ブロックマッチングで使用される探索範囲内で撮像条件の相違がある場合、当該相違を利用してブロックマッチングの適正化、ひいては、ブロックマッチングの処理負荷低減やブロックマッチングの精度低減の抑制を図る。
【0084】
図9は、ブロックマッチング例を示す説明図である。電子機器500は、上述した撮像素子100と、制御部502と、を有する。制御部502は、前処理部900と、画像処理部901と、圧縮部902と、を含む。撮像素子100は、上述したように、被写体を撮像する複数の撮像領域を有する。
【0085】
撮像領域は、少なくとも1画素以上の画素集合であり、たとえば、上述した1以上の単位グループ202である。撮像領域は、単位グループ202ごとに撮像条件が設定可能である。撮像条件は、上述したように、具体的には、たとえば、露光時間(シャッタースピード)、増幅率(ISO感度)、解像度を含む。
【0086】
撮像素子100は、被写体を撮像して、複数のフレームを含む動画データ910を制御部502内の前処理部900に出力する。フレームF内において、撮像素子100のある撮像領域で撮像された画像データの領域を画像領域と称す。
【0087】
たとえば、ある撮像領域が1つの単位グループ202(2×2画素)で構成されている場合、対応する画像領域の大きさも単位グループ202の大きさとなる。同様に、ある撮像領域が2×2の単位グループ202(4×4画素)で構成されている場合、対応する画像領域の大きさも2×2の単位グループ202の大きさとなる。
【0088】
図9では、フレームFで撮影された被写体のうち主要被写体(たとえば、合焦された被写体)については撮像条件Aで、背景領域については撮像条件Bで撮像されたものとする。ここで、撮像条件A、Bは、同種でかつ値が異なる撮像条件である。たとえば、撮像条件A,Bが露光時間とすると、たとえば、撮像条件Aは、1/500[秒]、撮像条件Bは、1/60[秒]である。撮像条件が露光時間の場合、当該撮像条件は、図8に示した動画ファイル600のTv値マップ812に格納される。
【0089】
同様に、撮像条件がISO感度である場合、当該撮像条件は、図8に示した動画ファイル600のSv値マップ813に格納される。撮像条件がフレームレートである場合、当該撮像条件は、図8に示した動画ファイル600の付加情報817に格納される。
【0090】
前処理部900は、動画データ910について画像処理部901による画像処理の前処理を実行する。具体的には、たとえば、前処理部900は、撮像素子100から動画データ910(ここでは、RAW画像データの集合)が入力されると、周知の被写体検出技術により、主要被写体のような特定被写体を検出する。また、前処理部900は、特定被写体の撮像領域を予測して、撮像素子100における当該撮像領域の撮像条件を特定の撮像条件に設定する。
【0091】
たとえば、撮像面200全域にわたって撮像条件Bが設定されている場合、主要被写体などの特定被写体が検出されて撮像されると、前処理部900は、特定被写体を撮像した撮像素子100の撮像領域を撮像条件Aにするように撮像素子100に出力する。これにより、当該特定被写体の撮像領域が撮像条件Aに設定され、それ以外の撮像領域が撮像条件Bに設定される。
【0092】
また、前処理部900は、具体的には、たとえば、入力フレームでの特定被写体が検出された撮像領域と入力済みフレームの特定被写体が検出された撮像領域との差分から特定被写体の動きベクトルを検出して、次の入力フレームでの特定被写体の撮像領域を特定してもよい。この場合、前処理部900は、特定した撮像領域について撮像条件Aに変更する指示を撮像素子100に出力する。これにより、当該特定被写体の撮像領域が撮像条件Aに設定され、それ以外の撮像領域が撮像条件Bに設定される。
【0093】
画像処理部901は、撮像素子100から入力された動画データ910についてデモザイク処理やホワイトバランス調整、ノイズリダクション、ディベイヤなどの画像処理を実行する。圧縮部902は、画像処理部901から入力された動画データ910を圧縮する。圧縮部902は、たとえば、動き補償フレーム間予測(Motion Compensation:MC)と離散コサイン変換(Discrete Cosine Transform:DCT)とに、エントロピー符号化を組み合わせたハイブリッド符号化によって圧縮する。
【0094】
圧縮部902は、動き検出に際し、ブロックマッチングを実行する。ブロックマッチングとは、特定領域を検出する処理の一例である。ブロックマッチングは、圧縮対象であるフレームF1のあるブロックを圧縮対象領域である対象ブロックb1とし、フレームF1よりも時間的に前(後でもよい)に入力されたフレームF2を参照フレームとしてフレームF2の探索範囲SRの中から対象ブロックb1と相関度が最も高いブロックb2を特定領域として検出する技術である。そして、ブロックマッチングで検出したブロックb2の座標位置と対象ブロックb1との座標位置との差を動きベクトルmvとして検出する。相関度の評価値としては、一般的に、自乗誤差または絶対値誤差が用いられる。
【0095】
圧縮部902は、フレームF1において対象ブロックb1が撮像条件Aで撮像された画像データである場合、フレームF2における対象ブロックb1と同一位置を探索窓wとする。探索窓wの形状は多角形であれば矩形に限られない。探索範囲SRは、探索窓wを中心とする所定の範囲である。探索範囲SRの範囲は、圧縮の規格として定められていてもよい。圧縮部902は、フレームF2において探索範囲SRと撮像条件Aの範囲との重複領域を探索領域SAに設定し、探索領域SA内で探索窓wを走査(矢印で表現)して、対象ブロックb1と最も相関が高いブロックb2を検出し、動きベクトルmvを生成する。なお、走査は1画素単位で行うだけでなく、半画素単位、4分の1画素単位など、任意の単位で行うことができる。
【0096】
主要被写体は、撮像条件Aで撮像されている。対象ブロックb1は、主要被写体の一部である。対象ブロックb1と最も相関が高いブロックb2は、撮像条件Aにしか存在しないため、探索範囲SRと撮像条件Aの範囲との重複領域である探索領域SAだけ探索すれば十分である。このように、探索範囲SRを探索領域SAにあらかじめ絞り込むことができるため、ブロックマッチングにおける探索処理の高速化を図ることができる。また、探索範囲SRは、対象ブロックb1の撮像条件と同一撮像条件となる探索領域SAに絞り込むことができるため、ブロックマッチングのマッチング精度の低下を抑制することができる。
【0097】
なお、制御部502は、撮像素子100からの動画データ910の圧縮処理をリアルタイム処理で実行してもよいが、バッチ処理で実行してもよい。たとえば、制御部502は、撮像素子100、前処理部900、または画像処理部901からの動画データ910を一旦メモリカード504、DRAM506、またはフラッシュメモリ507に格納しておき、自動的にまたはユーザ操作によるトリガがあった場合に、動画データ910を読み出して、圧縮部902に圧縮処理を実行させてもよい。
【0098】
<制御部502の構成例>
図10は、図5に示した制御部502の構成例を示すブロック図である。制御部502は、前処理部900と、画像処理部901と、取得部1020と、圧縮部902と、を有し、プロセッサ1001、メモリ1002、集積回路1003、およびこれらを接続するバス1004により構成される。
【0099】
前処理部900、画像処理部901、取得部1020および圧縮部902は、メモリ1002に記憶されたプログラムをプロセッサ1001に実行させることにより実現してもよく、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの集積回路1003により実現してもよい。また、プロセッサ1001は、メモリ1002をワークエリアとして利用してもよい。また、集積回路1003は、メモリ1002を、画像データを含む各種データを一時的に保持するバッファとして利用してもよい。
【0100】
前処理部900は、撮像素子100からの動画データ910について画像処理部901による画像処理の前処理を実行する。具体的には、たとえば、前処理部900は、検出部1011と設定部1012とを有する。検出部1011は、上述した周知の被写体検出技術により、特定被写体を検出する。
【0101】
設定部1012は、撮像素子100からの動画データ910を構成する各フレームに付加情報817を付与する。また、設定部1012は、撮像素子100の撮像面200のうち、特定被写体が検出される撮像領域を変更する。具体的には、たとえば、設定部1012は、入力フレームでの特定被写体が検出された撮像領域と入力済みフレームの特定被写体が検出された撮像領域との差分から特定被写体の動きベクトルを検出して、次の入力フレームでの特定被写体の撮像領域を予測する。設定部1012は、予測した撮像領域について特定の撮像条件(たとえば、撮像条件A)に変更する指示を撮像素子100に出力する。
【0102】
画像処理部901は、前処理部900から出力された動画データ910の各フレームを画像処理する。具体的には、たとえば、画像処理部901は、上述したように、画像処理部901は、デモザイク処理やホワイトバランス調整など既知の画像処理を実行する。
【0103】
取得部1020は、画像処理部901から出力された動画データ910をメモリ1002に保持して、所定のタイミングで動画データ910に含まれる複数のフレームを時系列順に1フレームずつ圧縮部902に出力する。
【0104】
圧縮部902は、図9に示したように、入力された動画データ910を圧縮する。具体的には、たとえば、圧縮部902は、上述したように、フレームF2において探索範囲SRと撮像条件Aの範囲との重複領域を探索領域SAに設定し、探索領域SA内で探索窓wを走査(矢印で表現)して、ブロックb2を検出する。
【0105】
<圧縮部902の構成例>
図11は、圧縮部902の構成例を示すブロック図である。上述したように、圧縮部902は、動き補償フレーム間予測(MC)と離散コサイン変換(DCT)とに、エントロピー符号化を組み合わせたハイブリッド符号化によって、動画データ910の各フレームを圧縮する。
【0106】
圧縮部902は、減算部1101と、DCT部1102と、量子化部1103と、エントロピー符号化部1104と、符号量制御部1105と、逆量子化部1106と、逆DCT部1107と、生成部1108と、フレームメモリ1109と、動き検出部1110と、動き補償部1111と、を有する。減算部1101~フレームメモリ1109および動き補償部1111は、既存の圧縮器と同様な構成である。
【0107】
具体的には、たとえば、減算部1101は、入力フレームから、当該入力フレームを予測する動き補償部1111からの予測フレームを減算して差分データを出力する。DCT部1102は、減算部1101からの差分データを離散コサイン変換する。
【0108】
量子化部1103は、離散コサイン変換された差分データを量子化する。エントロピー符号化部1104は、量子化された差分データをエントロピー符号化し、また、動き検出部1110からの動きベクトルもエントロピー符号化する。
【0109】
符号量制御部1105は、量子化部1103による量子化を制御する。逆量子化部1106は、量子化部1103で量子化された差分データを逆量子化して、離散コサイン変換された差分データにする。逆DCT部1107は、逆量子化された差分データを逆離散コサイン変換する。
【0110】
生成部1108は、逆離散コサイン変換された差分データと、動き補償部1111からの予測フレームとを加算して、当該入力フレームよりも時間的に後に入力されるフレームが参照する参照フレームを生成する。フレームメモリ1109は、生成部1108から得られた参照フレームを保持する。
【0111】
動き検出部1110は、入力フレームと参照フレームとを用いて、動きベクトルを検出する。動き検出部1110は、領域設定部1121と、動き生成部1122と、を有する。領域設定部1121は、動き検出に際し、ブロックマッチングのための探索領域を設定する。
【0112】
ブロックマッチングは、上述したように、圧縮対象のフレームF1のあるブロックを対象ブロックb1とし、フレームF1よりも時間的に前(後でもよい)に入力されたフレームF2の探索範囲SRの中から最も対象ブロックb1と相関度が最も高いブロックb2を検出し、当該ブロックb2の座標位置と対象ブロックb1との座標位置との差を動きベクトルmvとして検出する技術である(図9を参照)。相関度の評価値としては、一般的に、自乗誤差または絶対値誤差が用いられる。
【0113】
領域設定部1121は、フレームF1において対象ブロックb1が撮像条件Aで撮像された画像データである場合、フレームF2における対象ブロックb1と同一位置を探索窓wとする。探索範囲SRは、探索窓wを中心とする範囲である。領域設定部1121は、フレームF2において探索範囲SRと撮像条件Aの範囲との重複領域を探索領域SAに設定する。
【0114】
動き生成部1122は、対象ブロックb1とブロックb2とにより動きベクトルmvを生成する。具体的には、たとえば、動き生成部1122は、領域設定部1121によって設定された探索領域SA内で探索窓wを走査(矢印で表現)して、対象ブロックb1と相関度が最も高いブロックb2を検出する。動き生成部1122は、当該ブロックb2の座標位置と対象ブロックb1との座標位置との差を動きベクトルmvとして生成する。
【0115】
このように、探索範囲SRを探索領域SAにあらかじめ絞り込むことができるため、ブロックマッチングにおける探索処理の高速化を図ることができる。また、探索範囲SRは、対象ブロックb1の撮像条件と同一撮像条件となる探索領域SAに絞り込むことができるため、ブロックマッチングのマッチング精度の低下を抑制することができる。
【0116】
動き補償部1111は、参照フレームと動きベクトルmvとを用いて、予測フレームを生成する。具体的には、たとえば、動き補償部1111は、フレームメモリ1109に保持された複数の参照フレームのうち特定の参照フレームと動きベクトルmvとを用いて、動き補償を実行する。
【0117】
参照フレームを特定の参照フレームとすることにより、特定の参照フレーム以外の他の参照フレームをも用いた高負荷の動き補償を抑制することができる。また、特定の参照フレームを、入力フレームの時間的に1つ前のフレームから得られた1枚の参照フレームとすることにより、高負荷な動き補償を回避して、動き補償の処理負荷の低減を図ることができる。
【0118】
<探索窓の走査例>
つぎに、探索窓wの走査例について、図12図19を用いて説明する。ここでは、図9に示したフレームF2を用いて説明する。
【0119】
図12は、探索範囲、探索領域および探索窓の一例を示す説明図である。図12は、フレームF2の一部、具体的には、たとえば、撮像条件A,Bの境界に着目した図である。画像領域1200は、撮像素子100の撮像領域に対応するフレームF2内の領域であり、たとえば、4×4画素、すなわち、2×2の単位グループ202に対応する。図12では、フレームF2は、4×5の画像領域1200により構成される。
【0120】
なお、図12では、一例として、画像領域1200に対応する撮像領域単位、すなわち、2×2の単位グループ202で撮像条件が設定されているが、1単位グループ202で構成される撮像単位で撮像条件が設定されてもよく、また、2×2の他にグループ202よりも大きい単位で撮像条件が設定されてもよい。なお、探索窓wは、3×3画素の大きさとする。
【0121】
動き生成部1122は、探索領域SA内で探索窓wを走査する際、撮像条件A,Bの境界において、探索窓wを、撮像条件Bの領域を1画素も含まないように走査してもよく、撮像条件A,Bの両方の領域を走査してもよく、撮像条件Aから所定画素離れた撮像条件Bのみの領域を走査してもよい。以下、順に説明する。なお、図13図19では、図12の凡例を適用する。
【0122】
また、図13図19では、撮像条件A,Bの境界を含む4×4の画像領域1200(左上の画像領域1200を画像領域1201、右上の画像領域1200を画像領域1202、左下の画像領域1200を画像領域1203、右下の画像領域1200を画像領域1204とする)に着目して説明する。また、探索窓wは、フレームF2の左上から右方向(白い太矢印)に走査され、右端に到達すると、1画素下方にシフトして、左端から右端に走査されるものとする(ラスタスキャン)が、いわゆる中心から放射状に走査するダイヤモンドスキャンでもよい。
【0123】
なお、探索窓wの左端から右端への走査幅は探索窓wの走査方向幅の画素数(本例では、3画素)以内であればよい。同様に、探索窓wの下方へのシフト幅も1画素に限らず、探索窓wのシフト方向幅の画素数(本例では、3画素)以内であればよい。
【0124】
図13は、異なる撮像条件の境界での走査例1を示す説明図である。図13では、時系列順に(a)~(e)を示す。走査例1では、動き生成部1122は、撮像条件Aの領域のみを含むように探索窓wを走査する。したがって、(a)~(e)では、探索窓wには、撮像条件Bの領域は含まれない。
【0125】
図14は、異なる撮像条件の境界での走査例2を示す説明図である。図14では、時系列順に(a)~(d)を示す。走査例2では、探索窓wは、撮像条件A,Bの境界において、動き生成部1122は、常に撮像条件Aの領域が撮像条件Bの領域よりも大きくなるように探索窓wを走査する。探索窓wの9画素中、撮像条件Aの領域が、(a)では6画素、(b)では6画素、(c)では5画素、(d)では6画素である。(d)以降は、図13の(d),(e)と同じ走査となる。
【0126】
図15は、異なる撮像条件の境界での走査例3を示す説明図である。図15では、時系列順に(a)~(d)を示す。走査例2では、探索窓wは、撮像条件A,Bの境界において、動き生成部1122は、可能な限り撮像条件Bの領域が撮像条件Aの領域よりも大きくなるように探索窓wを走査する。探索窓wの9画素中、撮像条件Bの領域が、(a)では6画素、(b)では6画素、(c)では6画素となる。(c)から1行下がった(d)の走査位置では、撮像条件Bの領域が、画像領域1201の下端の3画素となる。(d)以降は、図13の(d),(e)と同じ走査となる。
【0127】
図16は、撮像条件の領域拡縮例を示す説明図である。(a)は拡大例、(b)は縮小例を示す。異なる撮像条件の画像領域が隣接する場合、ブロックマッチングの処理負荷低減またはブロックマッチングの精度低下抑制の観点から、動画圧縮装置は、探索領域SAを拡縮する。
【0128】
たとえば、隣接しあう画像領域の撮像条件を撮像条件A,Bとする。撮像条件Aの画像領域は、特定被写体の画像領域とし、撮像条件Bの画像領域は背景の画像領域とする。また、撮像条件を露光時間(シャッタースピード)とする。
【0129】
たとえば、撮像条件Aの露光時間が1/30[秒]であり、撮像条件Bの露光時間が1/60[秒]である場合、露光時間としては差が小さいため、主要被写体が撮像条件Bの画像領域に存在する可能性もある。したがって、撮像条件A,Bの差がしきい値T1以下であれば、領域設定部1121は、撮像条件Aの探索領域SAを拡大する。これにより、ブロックマッチングの精度低下を抑制することができる。
【0130】
また、たとえば、撮像条件Aの露光時間が1/30[秒]であり、撮像条件Bの露光時間が1/1000[秒]である場合、露光時間としては差が大きいため、主要被写体像が撮像条件Bの画像領域に存在しない可能性が高い。したがって、撮像条件A,Bの差がしきい値T2(T2≧T1)を超える場合、領域設定部1121は、撮像条件Aの探索領域SAを縮小する。これにより、ブロックマッチングの処理負荷の低減を図ることができる。
【0131】
また、たとえば、被写体が暗い空間と明るい空間を含み、暗い空間に主要被写体が存在する場合、暗い空間については、明るい空間よりも、露光時間を長くする必要がある。したがって、領域設定部1121は、暗い空間については、撮像条件Aの露光時間とし、明るい空間については撮像条件Bの露光時間(撮像条件Aが撮像条件Bよりも長秒)とする。そして、領域設定部1121は、撮像条件Aの探索領域SAを縮小する。これにより、ブロックマッチングの処理負荷の低減を図ることができる。
【0132】
なお、ここでは、撮像条件を露光時間とした場合について説明したが、撮像条件がISO感度や解像度の場合も同様である。以下、撮像条件の領域拡縮例について具体的に説明する。
【0133】
(a)において、領域設定部1121は、撮像条件Aの領域の外縁1600を外側、すなわち、撮像条件Bの領域側に拡大して、外縁1601とする。ただし、外縁1600と外縁1601との間の撮像条件は撮像条件Bのままである。拡大後の探索領域SA1は、探索範囲SR内において、撮像条件Aの領域と、外縁1600と外縁1601との間の領域と、を含む領域となる。これにより、探索領域SAが、探索領域SA1に拡大されたため、探索領域SAの外側もブロックマッチング対象とすることができ、探索領域SAを探索する場合に比べてブロックマッチングの精度向上を図ることができる。
【0134】
(b)において、領域設定部1121は、撮像条件Aの領域の外縁1600を内側、すなわち、撮像条件Aの領域側に縮小して、外縁1602とする。ただし、外縁1600と外縁1602との間の撮像条件は撮像条件Aのままである。縮小後の探索領域SA2は、探索領域SAから外縁1600と外縁1602との間の領域を除いた領域となる。これにより、探索領域SAが、探索領域SA2に縮小されたため、探索領域SA2の外側の撮像条件Aの領域をブロックマッチング対象外とすることができ、探索領域SAを探索する場合に比べてブロックマッチング処理の高速化を図ることができる。
【0135】
なお、図16では、領域設定部1121は、探索領域SAが設定された後に拡大したが、探索領域SAの設定時に、撮像条件Aの画像領域を囲む撮像条件Bの画像領域も含めて探索領域SA1を設定してもよい。
【0136】
図17は、異なる撮像条件の境界での走査例4を示す説明図である。図17では、時系列順に(a)~(d)を示す。走査例4では、動き生成部1122は、図16の(a)に示した探索領域SA1における探索窓wの走査例である。走査例4では、動き生成部1122は、可能な限り撮像条件A,Bの境界に接し、かつ、撮像条件Bの領域を含むように、探索窓wを走査する。(b)から1行下がった(c)の走査位置では、探索窓wは撮像条件Aの領域を含む。同様に、(c)から1行下がった(d)の走査位置では、探索窓wは撮像条件Aの領域を含む。
【0137】
図18は、異なる撮像条件の境界での走査例5を示す説明図である。図18では、時系列順に(a)~(d)を示す。走査例5では、動き生成部1122は、図16の(a)に示した探索領域SA1における探索窓wの走査例である。走査例5では、動き生成部1122は、可能な限り撮像条件A,Bの境界に接しないように、かつ、撮像条件Bの領域を含むように、探索窓wを走査する。
【0138】
(a)では、探索窓wは、撮像条件Aから左および上方向に1画素離れた位置となる。(b)では、探索窓wは、撮像条件Aから左方向に1画素離れた位置となる。(b)から1行下がった(c)の走査位置では、探索窓wは撮像条件Aの領域を含む。同様に、(c)から1行下がった(d)の走査位置では、探索窓wは撮像条件Aの領域を含む。
【0139】
図19は、異なる撮像条件の境界での走査例6を示す説明図である。図19では、時系列順に(a)~(d)を示す。走査例6では、動き生成部1122は、図16の(b)に示した探索領域SA2における探索窓wの走査例である。走査例6では、動き生成部1122は、常に撮像条件Bの領域を含まないように、探索窓wを走査する。
【0140】
このように、異なる撮像条件A,Bの画像領域の境界で、ブロックマッチングについての処理負荷低減と精度低下抑制を調整することができる。特に、動き生成部1122は、探索窓wが撮像条件Aの画素のみとなるように、ブロックマッチングを実行することにより、異なる撮像条件の画像領域の境界で、ブロックマッチングについての処理負荷低減に特化することができる。
【0141】
また、動き生成部1122は、探索窓w内の撮像条件Aの画素の画素数が撮像条件Bの画素の画素数よりも多くなるように、ブロックマッチングを実行することにより、異なる撮像条件の画像領域の境界で、ブロックマッチングについて処理負荷低減を優先しつつ精度低下抑制を図ることができる。
【0142】
また、動き生成部1122は、探索窓w内に撮像条件Aの画素が少なくとも1つ存在するように、ブロックマッチングを実行することにより、異なる撮像条件の画像領域の境界で、ブロックマッチングについて処理負荷低減を保持しつつ精度低下抑制を図ることができる。
【0143】
<前処理手順例>
図20は、前処理部900による前処理手順例を示すフローチャートである。図20では、撮像素子100には、あらかじめ撮像条件Bが設定されており、検出部1011の被写体検出技術により撮像条件Aの画像領域を追尾して、撮像素子100にフィードバックする例を説明する。なお、撮像条件A,Bの画像領域は、常時固定でもよい。
【0144】
前処理部900は、動画データ910を構成するフレームの入力を待ち受け(ステップS2001:No)、フレームが入力された場合(ステップS2001:Yes)、検出部により主要被写体などの特定被写体が検出されたか否かを判断する(ステップS2002)。特定被写体が検出されていない場合(ステップS2002:No)、ステップS2001に移行する。
【0145】
一方、特定被写体が検出された場合(ステップS2002:Yes)、前処理部900は、検出部1011により、時間的に1つ前のフレーム(たとえば、参照フレーム)と入力フレームとを比較して動きベクトルを検出し、次の入力フレームでの撮像条件Aの画像領域を予測し、撮像素子100に出力し(ステップS2003)、ステップS2001に移行する。これにより、撮像素子100は、予測された画像領域に対応する撮像領域を構成する単位グループ202の撮像条件を撮像条件Aに設定し、残余の単位グループ202の撮像条件を撮像条件Bに設定して、被写体を撮像する。
【0146】
そして、ステップS2001に戻る。フレームが入力されず(ステップS2001:No)、動画データ910を構成する全フレームの入力が終了した場合、一連の処理を終了する。
【0147】
<動きベクトル検出処理手順>
つぎに、動き検出部1110による動きベクトルmvの検出処理手順例について説明する。以下のフローチャートでは、特定被写体像が存在し得る撮像条件Aでの動きベクトルmvの検出処理手順例を示す。
【0148】
図21は、動き検出部1110による動き検出処理手順例1を示すフローチャートである。まず、動き検出部1110は、圧縮対象である入力フレームとフレームメモリ内の参照フレームとを取得する(ステップS2101)。動き検出部1110は、参照フレームで撮像条件Aの探索範囲SRを設定する(ステップS2102)。具体的には、たとえば、動き検出部1110は、入力フレーム内の対象ブロックb1を撮像条件Aの画像領域から設定し、参照フレームにおいて対象ブロックb1と同一位置に探索窓wを設定する。そして、動き検出部1110は、探索窓wを中心とする探索範囲SRを参照フレームに設定する(図12を参照)。
【0149】
つぎに、動き検出部1110は、探索範囲SR内で、かつ、撮像条件Aの画像領域である探索領域SAを特定する(ステップS2103)。そして、動き検出部1110は、動き生成部1122により、特定した探索領域SAで探索窓wを走査することにより、対象ブロックb1のブロックマッチングを実行し(ステップS2104)、ブロックb2から対象ブロックb1への動きベクトルmvを生成する(ステップS2105)。
【0150】
動き検出部1110は、ブロックマッチングにより、たとえば、対象ブロックb1と最も相関度が最も高いブロックb2を参照フレームから検出し、当該ブロックb2の座標位置と対象ブロックb1との座標位置との差を動きベクトルmvとして生成する。相関度の評価値としては、たとえば、自乗誤差または絶対値誤差が用いられる。これにより、一連の処理を終了する。
【0151】
このように、探索範囲SRを探索領域SAにあらかじめ絞り込むことができるため、ブロックマッチングにおける探索処理の高速化を図ることができる。また、探索範囲SRは、対象ブロックb1の撮像条件と同一撮像条件となる探索領域SAに絞り込むことができるため、ブロックマッチングのマッチング精度の低下を抑制することができる。
【0152】
図22は、動き検出部1110による動き検出処理手順例2を示すフローチャートである。図22の動き検出処理手順例2では、撮像条件の探索領域SAを拡縮する処理例について説明する。なお、撮像条件A,Bの設定については、ユーザが操作部505を操作することで設定してもよく、電子機器500が、撮像素子100における各単位グループ202の受光量に応じて自動的に設定してもよい。また、図21と同一処理内容については、同一ステップ番号を付し、その説明を省略する。
【0153】
ステップS2103のあと、動き検出部1110は、領域設定部1121により、探索範囲SR内で、かつ、撮像条件Aと隣接する撮像条件Bの画像領域を特定する(ステップS2204)。そして、動き検出部1110は、領域設定部1121により、撮像条件Aの画像領域と、当該画像領域に隣接する撮像条件Bの画像領域と、に基づいて、ステップS2103で特定した探索領域SAを拡大または縮小する(ステップS2205)。具体的には、たとえば、領域設定部1121は、図16に示したように、探索領域SAを拡縮する。
【0154】
動き検出部1110は、ステップS2104、S2105と同様、動き生成部1122により、拡縮後の探索領域SAで探索窓wを走査することにより、対象ブロックb1のブロックマッチングを実行し(ステップS2206)、ブロックb2から対象ブロックb1への動きベクトルmvを生成する(ステップS2207)。
【0155】
これにより、探索領域SAの拡縮に応じて、ブロックマッチングの精度低下抑制またはブロックマッチングの処理負荷低減を選択的に実現することができる。
【0156】
<異なる画素精度でのブロッマッチング例>
つぎに、異なる画素精度でのブロックマッチング例について説明する。上述の例では、撮像条件の種類に関係なく、動き検出部1110は、探索範囲SR内において撮像条件Aの探索領域SA(拡縮後も含む)についてブロックマッチングを実行し、探索範囲SRの残余の画像領域についてはブロックマッチングを実行しない例を説明した。ここでは、探索領域SA内で異なる画素精度でブロックマッチングを実行する例について説明する。
【0157】
図23は、異なる画素精度でのブロックマッチング例を示す説明図である。図9と同一構成については同一符号を付し、その説明を省略する。図23では、画素精度を採用して、動き検出部1110は、探索範囲SR内において撮像条件Aの探索領域SA(拡縮後も含んでもよい。以下、第1探索領域SA10)についてはある画素精度PA1でブロックマッチングを実行し、探索範囲SRの残余の画像領域(以下、第2探索領域SA20)については画素精度PA1よりも画素精度が低い画素精度PA2でブロックマッチングを実行する。
【0158】
たとえば、第1探索領域SA10での画素精度PA1が1/2画素精度、第2探索領域SA20での画素精度PA2が整数画素精度である。画素精度PA1,PA2の組み合わせは、画素精度PA1が画素精度PA2よりも高精度であれば上記に限定されない。たとえば、第1探索領域SA10での画素精度PA1が1/4画素精度、第2探索領域SA20での画素精度PA2が1/2画素精度でもよい。
【0159】
また、動き検出部1110は、第1探索領域SA10および第2探索領域SA20の各画素精度を、それぞれの撮像条件A,B(またはA,Bの差)に基づいて決定してもよい。たとえば、画素精度として、1画素精度、1/2画素精度、1/4画素精度が適用可能とする。撮像条件Aの露光時間が1/30[秒]であり、撮像条件Bの露光時間が1/60[秒]である場合、露光時間としては差が小さいため、主要被写体が撮像条件Bの画像領域に存在する可能性もある。
【0160】
したがって、撮像条件A,Bの差がしきい値T1以下であれば、領域設定部1121は、第1探索領域SA10の画素精度PA1を1/2画素精度とし、第2探索領域SA20の画素精度PA2を1画素精度とする。これにより、ブロックマッチングの精度低下を抑制することができる。
【0161】
また、たとえば、撮像条件Aの露光時間が1/30[秒]であり、撮像条件Bの露光時間が1/1000[秒]である場合、露光時間としては差が大きいため、主要被写体像が撮像条件Bの画像領域に存在しない可能性が高い。したがって、撮像条件A,Bの差がしきい値T2(T2≧T1)を超える場合、領域設定部1121は、第1探索領域SAの画素精度PA1を1/4画素精度とし、第2探索精度の画素精度PA2を1画素精度とする。領域設定部1121は、第1探索領域SA10の画素精度PA1を1/2画素精度とし、第2探索領域SA20の画素精度PA2を1画素精度とする。これにより、ブロックマッチングの処理負荷の低減を図ることができる。
【0162】
このように、第2探索領域SA20の画素精度を第1探索領域SA10の画素精度よりも下げることにより、第2探索領域SA20のブロックマッチングについて第1探索領域SA10よりも処理負荷低減を図りつつ、第2探索領域SA20のブロックマッチングの不実行の場合に比べて、ブロックマッチングの精度低下抑制を図ることができる。
【0163】
<異なる画素精度での動きベクトル検出処理手順>
図24は、動き検出部1110による異なる画素精度での動きベクトル検出処理手順例を示すフローチャートである。なお、第1探索領域SA10および第2探索領域SA20での画素精度の設定については、ユーザが操作部505を操作することで設定してもよく、電子機器500が、撮像素子100における各単位グループ202の受光量に応じて自動的に設定してもよい。また、図21および図22と同一処理内容については、同一ステップ番号を付し、その説明を省略する。
【0164】
ステップS2204のあと、動き検出部1110は、領域設定部1121により、撮像条件Aと撮像条件Bとに基づいて、第1探索領域SA10および第2探索領域SA20のブロックマッチングでの各画素精度PA1,PA2を決定する(ステップS2405)。
【0165】
動き検出部1110は、ステップS2104、S2105と同様、動き生成部1122により、画素精度決定後の第1探索領域SA10および第2探索領域SA20で探索窓wを走査することにより、対象ブロックb1のブロックマッチングを実行し(ステップS2406)、ブロックb2から対象ブロックb1への動きベクトルmvを生成する(ステップS2407)。
【0166】
これにより、探索領域SAの画素精度に応じて、ブロックマッチングの精度低下抑制およびブロックマッチングの処理負荷低減の最適化を図ることができる。また、異なる画素精度による動きベクトル検出の場合でも、図22の動き検出処理手順例2で示したように、動き検出部1110は、領域設定部1121により、第1探索領域SA10を拡大(この場合、第2探索領域SA20が縮小)、または、縮小(この場合、第2探索領域SA20が拡大)してもよい。
【0167】
これにより、探索領域SAの画素精度および拡縮に応じて、ブロックマッチングの精度低下抑制およびブロックマッチングの処理負荷低減の最適化を、より効果的に図ることができる。
【0168】
(1)このように、上述した動画圧縮装置は、被写体を撮像する撮像領域を複数有し撮像領域ごとに撮像条件が設定可能な撮像素子100から出力された一連のフレームである動画データを圧縮する。この動画圧縮装置は、領域設定部1121と動き生成部1122とを有する。領域設定部1121は、圧縮対象領域(たとえば、対象ブロックb1)に基づいて参照フレーム(たとえば、フレームF2)から特定領域(たとえば、ブロックb2)を検出する処理(たとえば、ブロックマッチング)に用いられる参照フレーム内の探索領域SAを、複数の撮像条件に基づいて設定する。動き生成部1122は、領域設定部1121によって設定された探索領域SAを用いた処理(たとえば、ブロックマッチング)に基づいて特定領域(たとえば、ブロックb2)を検出することにより、動きベクトルmvを生成する。
【0169】
これにより、探索領域SAの範囲を複数の撮像条件を考慮した範囲に設定することができる。
【0170】
(2)また、上記(1)において、領域設定部1121は、探索領域SAを、複数の撮像条件の各々で撮像された画像領域のうち、圧縮対象領域が存在する特定の撮像条件(たとえば、撮像条件A)で撮像された特定の画像領域に設定してもよい。
【0171】
これにより、探索領域SAが特定の撮像条件により制限されるため、特定領域検出処理(たとえば、ブロックマッチング)の処理負荷低減を図ることができる。
【0172】
(3)また、上記(2)において、領域設定部1121は、探索領域SAを、特定の画像領域と、特定の画像領域を囲む他の撮像条件(たとえば、撮像条件B)の画像領域と、に設定してもよい。
【0173】
このように、特定の画像領域の周囲も含むように探索領域SAを設定することにより、動きベクトル検出の処理負荷低減を図りつつ、動きベクトル検出精度の低減を抑制することができる。
【0174】
(4)また、上記(2)において、領域設定部1121は、複数の撮像条件の関係に基づいて、探索領域SAを拡大または縮小してもよい。
【0175】
これにより、探索領域SAの拡縮に応じて、特定領域検出処理の精度低下抑制またはの処理負荷低減を選択的に実現することができる。
【0176】
(5)また、上記(4)において、領域設定部1121は、複数の撮像条件が示す値の差(たとえば、ISO感度の差)に基づいて、探索領域SAを拡大または縮小してもよい。
【0177】
(6)また、上記4において、領域設定部1121は、特定の撮像条件(たとえば、撮像条件A)が特定の露光時間であり、複数の撮像条件のうち特定の撮像条件以外の他の撮像条件(たとえば、撮像条件B)が特定の露光時間よりも短い露光時間である場合に、探索領域を縮小する。
【0178】
これにより、主要被写体についての露光時間がいわゆる長秒となる場合であっても特定領域検出処理の処理負荷の低減を図ることができる。
【0179】
(7)また、上記(1)において、領域設定部1121は、複数の撮像条件が設定された画像領域のうち、圧縮対象領域が存在する特定の撮像条件が設定された特定の画像領域を第1探索領域SA10に設定するとともに、画像領域のうち、特定の画像領域以外の他の画像領域を第2探索領域SA20に設定し、動き生成部1122は、領域設定部1121によって設定された第1探索領域SA10と、領域設定部1121によって設定された第2探索領域SA20とで、画素精度が異なる特定領域検出処理を実行することにより、動きベクトルmvを生成してもよい。
【0180】
これにより、撮像条件に応じた画素精度で、特定領域検出処理を実行することができる。
【0181】
(8)また、上記(7)において、動き生成部1122は、第1探索領域SA10での特定領域検出処理が第2探索領域SA20での特定領域検出処理よりも画素精度が高くてもよい。
【0182】
このように、第2探索領域SA20の画素精度を第1探索領域SA10の画素精度よりも下げることにより、第2探索領域SA20のブロックマッチングについて第1探索領域SA10よりも処理負荷低減を図りつつ、第2探索領域SA20の特定領域検出処理の不実行の場合に比べて、特定領域検出処理の精度低下抑制を図ることができる。
【0183】
(9)また、上記(2)において、動き生成部1122は、探索領域SAでの特定領域検出処理の結果に基づいて、探索領域SA外での特定領域検出処理を実行してもよい。具体的には、たとえば、動き生成部1122は、対象ブロックb1にマッチするブロックb2が探索領域SAから検出されなかった場合、探索範囲SR内でかつ探索領域SAを除いた残余の画像領域、すなわち、撮像条件Bの画像領域で特定領域検出処理を実行する。
【0184】
これにより、探索領域SAを優先的に探索することにより、特定領域検出処理の処理負荷低減を図るとともに、ブロックb2が探索領域SAから検出されなかった場合でも特定領域検出処理の精度低下抑制を図ることができる。
【0185】
(10)また、上記(2)において、動き生成部1122は、探索領域SAで圧縮対象領域とのマッチング対象となる探索対象範囲(たとえば、探索窓w)について、探索対象範囲および特定の画像領域(たとえば、撮像条件Aの画像領域)に含まれる特定の画素と、探索対象範囲および特定の画像領域以外の他の画像領域(たとえば、撮像条件Bの画像領域)に含まれる他の画素と、の割合に基づいて、特定領域検出処理を実行してもよい。
【0186】
これにより、異なる撮像条件の画像領域の境界で、特定領域検出処理についての処理負荷低減と精度低下抑制を調整することができる。
【0187】
(11)また、上記(10)において、動き生成部1122は、探索対象範囲が特定の画素のみとなるように、特定領域検出処理を実行してもよい。
【0188】
これにより、異なる撮像条件の画像領域の境界で、特定領域検出処理についての処理負荷低減に特化することができる。
【0189】
(12)また、上記(10)において、動き生成部1122は、探索対象範囲内の特定の画素の画素数が他の画素の画素数よりも多くなるように、特定領域検出処理を実行してもよい。
【0190】
これにより、異なる撮像条件の画像領域の境界で、特定領域検出処理について処理負荷低減を優先しつつ精度低下抑制を図ることができる。
【0191】
(13)また、上記(10)において、動き生成部1122は、探索対象範囲内に特定の画素が少なくとも1つ存在するように、特定領域検出処理を実行してもよい。
【0192】
これにより、異なる撮像条件の画像領域の境界で、特定領域検出処理について処理負荷低減を保持しつつ精度低下抑制を図ることができる。
【0193】
(14)また、上述した電子機器は、撮像素子100と、領域設定部1121と、動き生成部1122と、を有する。撮像素子100は、被写体を撮像する撮像領域を複数有し撮像領域ごとに撮像条件が設定可能であり、一連のフレームである動画データを出力する。領域設定部1121は、圧縮対象領域(たとえば、対象ブロックb1)に基づいて参照フレーム(たとえば、フレームF2)から特定領域(たとえば、ブロックb2)を検出する処理(たとえば、ブロックマッチング)に用いられる参照フレーム内の探索領域SAを、複数の撮像条件に基づいて設定する。動き生成部1122は、領域設定部1121によって設定された探索領域SAを用いた処理(たとえば、ブロックマッチング)に基づいて特定領域(たとえば、ブロックb2)を検出することにより、動きベクトルmvを生成する。
【0194】
これにより、探索領域SAの範囲を複数の撮像条件を考慮した範囲に設定可能な電子機器500が実現可能となる。なお、上述した電子機器500としては、たとえば、デジタルカメラ、デジタルビデオカメラ、スマートフォン、タブレット、監視カメラ、ドライブレコーダ、ドローンなどが挙げられる。
【0195】
(15)また、上述した動画圧縮プログラムは、被写体を撮像する撮像領域を複数有し撮像領域ごとに撮像条件が設定可能な撮像素子100から出力された一連のフレームである動画データの圧縮をプロセッサ1001に実行させる。この動画圧縮プログラムは、プロセッサ1001に、圧縮対象領域(たとえば、対象ブロックb1)に基づいて参照フレーム(たとえば、フレームF2)から特定領域(たとえば、ブロックb2)を検出する処理(たとえば、ブロックマッチング)に用いられる参照フレーム内の探索領域SAを、複数の撮像条件に基づいて設定させる。また、この動画圧縮プログラムは、プロセッサに、設定された探索領域SAを用いた処理(たとえば、ブロックマッチング)に基づいて特定領域(たとえば、ブロックb2)を検出することにより、動きベクトルmvを生成させる。
【0196】
これにより、探索領域SAの範囲を複数の撮像条件を考慮した範囲設定をソフトウェアにより実現することができる。なお、この動画圧縮プログラムは、CD-ROM,DVD-ROM,フラッシュメモリ,メモリカード504など可搬な記録媒体に記録されていてもよい。また、この動画圧縮プログラムは、動画圧縮装置または電子機器500にダウンロード可能なサーバに記録されていてもよい。
【符号の説明】
【0197】
PA1,PA2 画素精度、SA,SA1,SA2,SA10,SA20 探索領域、b1 対象ブロック、b2 ブロック、mv 動きベクトル、100 撮像素子、202 単位グループ、600 動画ファイル、900 前処理部、901 画像処理部、902 圧縮部、910 動画データ、1001 プロセッサ、1011 検出部、1012 設定部、1110 動き検出部、1111 動き補償部、1121 領域設定部、1122 動き生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24