(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135187
(43)【公開日】2024-10-04
(54)【発明の名称】動きベクトル算出装置、動画圧縮装置及び動きベクトル算出方法
(51)【国際特許分類】
H04N 23/60 20230101AFI20240927BHJP
H04N 23/68 20230101ALI20240927BHJP
H04N 19/51 20140101ALI20240927BHJP
H04N 25/707 20230101ALI20240927BHJP
H04N 25/70 20230101ALI20240927BHJP
【FI】
H04N23/60 500
H04N23/68
H04N19/51
H04N25/707
H04N25/70
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023045750
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】小林 敏秀
【テーマコード(参考)】
5C024
5C122
5C159
【Fターム(参考)】
5C024CY26
5C024EX52
5C024HX29
5C024HX51
5C122DA03
5C122EA41
5C122EA68
5C122FB15
5C122FC06
5C122FH08
5C122FH12
5C122FH13
5C122FH15
5C122HA88
5C122HB02
5C122HB10
5C159MA04
5C159MA05
5C159MA19
5C159MA21
5C159MC11
5C159ME01
5C159NN03
5C159NN14
5C159NN21
5C159NN29
5C159NN40
5C159PP05
5C159PP06
5C159PP14
5C159UA02
5C159UA05
5C159UA33
(57)【要約】
【課題】低遅延かつ高圧縮の動画圧縮技術を提供する。
【解決手段】ブロック分割部20は、イメージセンサから取得された画像データを複数のブロックに分割する。動きベクトル推定部34は、イメージセンサのフレームレートよりも速いレートで画像の輝度変化を検出するイベントベースセンサから取得された輝度のプラス変化またはマイナス変化の符号情報及び位置情報に基づいて画像データのブロック単位で被写体の動きベクトルを推定する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
画像データのブロック毎に画像の輝度のプラス変化またはマイナス変化の符号情報に重みづけ係数を掛けて垂直方向及び水平方向の動き量を計算し、前記垂直方向及び水平方向の動き量から動きベクトルを推定することを特徴とする動きベクトル算出装置。
【請求項2】
請求項1に記載の動きベクトル算出装置を用いた動画圧縮装置であって、
イメージセンサから取得された画像データを複数のブロックに分割するブロック分割部をさらに含み、
前記動きベクトル算出装置は、前記イメージセンサのフレームレートよりも速いレートで画像の輝度変化を検出するイベントベースセンサから取得された輝度のプラス変化またはマイナス変化の符号情報及び位置情報に基づいて画像データのブロック単位で被写体の動きベクトルを推定する動きベクトル推定部を含むことを特徴とする動画圧縮装置。
【請求項3】
前記動きベクトルに基づいて前記イメージセンサから取得された1フレーム前の画像データの前記ブロック毎に動き補償を行う動き補償部と、
フレーム間の差分を取り、所定数のフレーム間符号化フレームに1回の割合でフレーム内符号化フレームを挟んで画像データを圧縮する符号化部とを含むことを特徴とする請求項2に記載の動画圧縮装置。
【請求項4】
動きベクトルを推定するブロック範囲は、動き補償を行うブロック範囲よりも広いことを特徴とする請求項3に記載の動画圧縮装置。
【請求項5】
前記イベントベースセンサから取得された輝度のプラス変化またはマイナス変化の符号情報を所定ライン数または所定ピクセル数だけ保存する2個のフレームメモリをさらに含み、
前記イメージセンサのフレームレートよりも速いレートで一方のフレームメモリに所定ライン数分または所定ピクセル数分のデータを書き込み、他方のフレームメモリから保存されたデータを読み出し、読み出しの後、直ちに0を書き込み、フレーム毎に書き込み動作と読み出し動作を2個のフレームメモリ間で交互に行うことを特徴とする請求項2に記載の動画圧縮装置。
【請求項6】
前記動きベクトルの推定の時、動きベクトルの算出開始タイミングをカメラのシャッタスピードによって変更することを特徴とする請求項5に記載の動画圧縮装置。
【請求項7】
前記動きベクトル推定部は、前記イメージセンサと前記イベントベースセンサの画素数が異なる場合、前記イベントベースセンサの画素数に対する前記イメージセンサの画素数の比率を、前記イベントベースセンサの出力値に基づいて推定された動きベクトルに掛けることを特徴とする請求項2から6のいずれかに記載の動画圧縮装置。
【請求項8】
前記イメージセンサと前記イベントベースセンサをプリズム分光して同光軸上に配置した構成をさらに含むことを特徴とする請求項2から6のいずれかに記載の動画圧縮装置。
【請求項9】
前記イメージセンサと前記イベントベースセンサと距離センサをプリズム分光して同光軸上に配置した構成をさらに含むことを特徴とする請求項2から6のいずれかに記載の動画圧縮装置。
【請求項10】
画像データのブロック毎に画像の輝度のプラス変化またはマイナス変化の符号情報に重みづけ係数を掛けて垂直方向及び水平方向の動き量を計算し、前記垂直方向及び水平方向の動き量から動きベクトルを推定することを特徴とする動きベクトル算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動きベクトル算出装置、動画圧縮装置及び動きベクトル算出方法に関する。
【背景技術】
【0002】
MPEG2、H.264、H.265のような従来の動画圧縮技術では、フレーム内圧縮だけでなくフレーム間情報を用いて圧縮することで高い圧縮率を得ることができる。しかし、フレーム間の動き補償を行うには、数フレームにまたがるデータを蓄積し、動きベクトルの精度を上げる必要がある。数フレーム分のデータを蓄積し、幅広い範囲のフレーム間の相関探索を行うために、処理時間による画像遅延及び処理回路の巨大化が課題になっている。
【0003】
近年、ネットワークを経由して会話や楽器演奏やゲームの動画通信を行うことが増えている中で、低遅延圧縮技術が注目されている。ところが、低遅延圧縮技術は、例えばTICO(Tiny Codec)圧縮のように、フレーム内の圧縮にとどまっているために圧縮率が低い。
【0004】
画像の各画素の輝度変化を非同期に検出し、輝度変化のある画素の座標を時間の情報とともに出力する高速かつ低遅延なイベントベースビジョンセンサ(EVS(Event-based Vision Sensor))(「イベントベースセンサ」とも呼ぶ)が開発されている。特許文献1には、非同期のイベントベースセンサによって生成された信号の処理技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットワークで動画を送受信するためには、高精度の動きベクトル推定技術、及び低遅延かつ高圧縮の動画圧縮技術が求められている。特許文献1には、イベントベースセンサを用いて画像の動き情報を取得する技術は開示されておらず、また、イベントベースセンサから出力される非同期データから生成レートを推定するが、生成レートを高フレームに対応させるために必要となるメモリの読み出し、書き込みの高速化を図る方法は開示されていない。
【0007】
本発明はこうした状況に鑑みてなされたものであり、その目的は、高精度の動きベクトル算出技術、及び低遅延かつ高圧縮の動画圧縮技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の動きベクトル算出装置は、画像データのブロック毎に画像の輝度のプラス変化またはマイナス変化の符号情報に重みづけ係数を掛けて垂直方向及び水平方向の動き量を計算し、前記垂直方向及び水平方向の動き量から動きベクトルを推定する。本発明の別の態様は、動きベクトル算出装置を用いた動画圧縮装置である。動画圧縮装置は、イメージセンサから取得された画像データを複数のブロックに分割するブロック分割部をさらに含む。動きベクトル算出装置は、前記イメージセンサのフレームレートよりも速いレートで画像の輝度変化を検出するイベントベースセンサから取得された輝度のプラス変化またはマイナス変化の符号情報及び位置情報に基づいて画像データのブロック単位で被写体の動きベクトルを推定する動きベクトル推定部を含む。
【0009】
本発明の別の態様は、動きベクトル算出方法である。この方法は、画像データのブロック毎に画像の輝度のプラス変化またはマイナス変化の符号情報に重みづけ係数を掛けて垂直方向及び水平方向の動き量を計算し、前記垂直方向及び水平方向の動き量から動きベクトルを推定する。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、高精度の動きベクトル算出技術、及び低遅延かつ高圧縮の動画圧縮技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】従来のフレーム間動画圧縮を行う動画圧縮装置の構成図である。
【
図2】従来のブロッキングマッチングを説明する図である。
【
図3】従来のフレーム間圧縮のためのLONG GOP構造を示す図である。
【
図5】
図5(a)~
図5(c)は、イベントベースセンサが出力するイベント信号を説明する図である。
【
図6】実施の形態1の動画像圧縮装置の基本構成図である。
【
図7】動きベクトル推定に用いるブロック範囲を説明する図である。
【
図9】動きベクトル推定部の動作を説明するタイミングチャートである。
【
図10】より高速のシャッタスピードの場合の動きベクトル推定部の動作を説明するタイミングチャートである。
【
図11】画像のピクセルの水平方向及び垂直方向の読み出し方法を説明する図である。
【
図12】フレーム内の被写体の動きを説明する図である。
【
図13】
図12の被写体の動きによる明るさ変化を示すイベントベースセンサの符号データを説明する図である。
【
図14A】画像のブロックの各ピクセルの縦方向係数と周辺係数を示す図である。
【
図14B】画像のブロックの各ピクセルの縦動き量の重みづけ係数を示す図である。
【
図15A】
図13のEVS出力の明るい側(プラス側)の符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す図である。
【
図15B】
図13のEVS出力の暗い側(マイナス側)の符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す図である。
【
図16A】画像のブロックの各ピクセルの横方向係数と周辺係数を示す図である。
【
図16B】画像のブロックの各ピクセルの横動き量の重みづけ係数を示す図である。
【
図17A】
図13のEVS出力の明るい側(プラス側)の符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す図である。
【
図17B】
図13のEVS出力の暗い側(マイナス側)の符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す図である。
【
図18】1フレーム前の被写体の動きを説明する図である。
【
図19】
図18の被写体の動きによる明るさ変化を示すイベントベースセンサの符号データを説明する図である。
【
図20A】
図19の明るさ変化のプラスの符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す図である。
【
図20B】
図19の明るさ変化のマイナスの符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す図である。
【
図21A】
図19の明るさ変化のプラスの符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す図である。
【
図21B】
図19の明るさ変化のマイナスの符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す図である。
【
図22】動きベクトルによって動き探索対象のブロックを移動させる方法を示す図である。
【
図23A】探索1回目における8×8ピクセルのエリアの1ピクセル単位探索を説明する図である。
【
図23B】探索2回目における1/4ピクセル単位で補間して探索する方法を示す。
【
図24】本実施の形態の方法で構成されるGOPを説明する図である。
【
図25】プリズムを用いたEVSとRGBセンサの配置を説明する図である。
【
図26】
図26(a)及び
図26(b)は、プリズムを用いたEVSとRGBセンサとTOFセンサの配置を説明する図である。
【発明を実施するための形態】
【0013】
(実施の形態1)
実施の形態1において、EVSの出力データを用いて、RGBセンサで取得された画像の動きベクトルを算出し、フレーム間圧縮を行う構成を説明する。
【0014】
動画圧縮で圧縮率を高めるには、フレーム1枚毎の画像圧縮のみだけではなく、フレーム間での差分をとり相関のある部分のデータ量を減らすフレーム間圧縮が必要であり、これまでMPEG2、H.264、H.265などの圧縮方法が開発されてきた。実施の形態1を説明するに当たって前提として従来の動画圧縮技術について説明する。
【0015】
図1は、従来のフレーム間動画圧縮を行う動画圧縮装置100の構成図である。
【0016】
カメラなどのRGBセンサから取得されたRAW信号は、カメラプロセスが施されてR、G、BもしくはY、Cb、Crの動画像のデータになり、ブロック分割部20に入力される。ブロック分割部20は、入力された動画の1フレーム目をまずフレーム内で圧縮するため、ブロック別に分割し、イントラ予測部22に与える。
【0017】
イントラ予測部22は、イントラ予測を行い、フレーム内で2次元空間的に相関のある周波数の高いデータの空間的な差分をとり、変換・量子化部24に与える。変換・量子化部24は、差分データの量子化ビットを調整しデータを圧縮し、エントロピー符号化部26と逆量子化・逆変換部28に与える。エントロピー符号化部26は、量子化された差分データをエントロピー符号化して出力する。逆量子化・逆変換部28は、量子化された差分データを逆量子化し、元の映像に逆変換し、ループ内フィルタ29は、復元された映像にデブロッキングフィルタ、ブロックまたぎの視覚劣化抑制を行い、フレームメモリ30に蓄積する。フレームメモリ30には数フレーム分の差分データが蓄積される。
【0018】
動きベクトル推定部34は、数フレーム分の画像から動いている被写体の動きベクトルを算出し予想し、動き補償部32に与える。動き補償部32は、動きベクトルに合わせてブロック毎に動きベクトル量分だけずらして動き補償し、予測画像を生成する。一例として動き補償部32は8タップ内挿フィルタによって1/4画素精度の動き補償をおこなう。入力画像と動き補償部32による予測画像の差分は変換・量子化部24に供給される。
【0019】
動きベクトル推定部34は、予測ベクトルなどを用いて探索開始点を決定し、探索開始点から2の累乗の距離の点を探索点とする拡大型ダイヤモンド探索を行う。このような動き探索動作を通常ブロッキングマッチングと呼ぶ。
【0020】
図2は、従来のブロッキングマッチングを説明する図である。
図2では、拡大型ダイヤモンド探索において、距離8まで拡大した探索点の例を示す。最適なマッチング(相関)を満たさない場合、探索ポイントを変え、新たにダイヤモンド探索を行いマッチングしたところの過去フレームの画像のR、G、B信号と、入力された現在フレーム画像のR、G、B信号とのそれぞれの差分をとり、その差分を圧縮することでデータ量を抑える。このように従来の圧縮では、より精度の高い動き補償の圧縮を行うために広い範囲の探索が必要になり、処理遅延の増大につながる。
【0021】
図3は、従来のフレーム間圧縮のためのLONG GOP構造を示す図である。参照フレームの位置と数によって、各フレームはI(intra)フレーム、P(predictive)フレーム、B(bidirectinally predictive)フレームに分類され、Iフレームを含む連続するフレームの集合をGOPと呼ぶ。イントラ予測とフレーム差分の演算は、SSG36で管理されたLONG GOP構成のフレーム単位で切り替えられ、出力される。
【0022】
ここでP1フレームは、過去の1フレームから前述の動き補償を行い、予測フレームを構成するフレーム間符号化フレームであり、
図3のP1はIを参照フレームとしている。
【0023】
Bフレームは、過去と未来の二つのフレームからの動き補償によって予測フレームを構成するフレーム間符号化フレームであり、双方向からの参照を行うことによって、予測精度の向上が見込める。
図3では、P1とP2がB3の参照フレームとなっている。
【0024】
Iフレームはフレーム間予測を行わないフレーム内符号化フレームであり、Iフレームを適当な間隔で挿入することにより、伝送誤りなどで正確な復号ができない状態が続くことを防ぐ。また、Iフレームはランダムアクセスの際の再生開始点や編集を行う際の編集点としても使用できる。
【0025】
予測フレームは符号化済みのフレームである必要がある一方、Bフレームは時間的に未来のフレームを参照フレームとしているため、各フレームは時間順と異なる順序で符号化処理を行う必要がある。すなわち、
図3では符号化の順序はI、P1、B1、B2、P2、B3、…となる。そのため、符号化/復号時には複数のフレームをバッファに蓄えてから処理を行う必要があり、これは処理遅延の増大を意味する。このように従来の技術では、広い範囲の探索を行うブロッキングマッチと、ベクトル予測を行うLONG GOPのために、動画圧縮エンコードを行うために非常に大きい遅延が発生し、また非常に大きい容量のフレームメモリを必要とし、回路規模も大きくなる。
【0026】
本実施の形態では、RGBセンサで画像のR、G、Bデータを取得すると同時に、イベントベースセンサ(EVS)によって画像の輝度変化データを取得し、輝度変化データを用いることで、RGBセンサの1フレーム以内に動きベクトルを演算し、動画圧縮に用いる。
【0027】
図4は、EVS10の構成図である。EVS10は、受光部12と輝度変化検出部16を含む。受光部12は、電流電圧変換器13とフォトダイオード14を含む。輝度変化検出部16は、非同期差分検出器17と比較器18を含む。
【0028】
受光部12において、フォトダイオード14はピクセル毎に入射光を電流に変換し、電流電圧変換器13に与える。電流電圧変換器13は、各ピクセルで検出された電流を電圧に変換し、輝度変化検出部16に与える。
【0029】
輝度変化検出部16において、非同期差分検出器17は、各ピクセルの検出された電圧と基準電圧の差分を非同期で検出し、比較器18に与える。比較器18は、電圧差分がプラスの閾値を超えた場合、プラスイベント信号を出力し、マイナスの閾値を超えた場合、マイナスイベント信号を出力し、それ以外の場合は、ゼロを出力する。
【0030】
このように、EVS10は、ピクセル毎に検出された光を電圧に変換し、その変換電圧を任意の幅と電圧レベルを設定したスレッシュホールド(threshold)レベル(以下、簡単に「スレッシュレベル」と呼ぶ)で比較し、光がプラスのスレッシュレベルより明るいとプラスイベント信号に1を立て、光がマイナスのスレッシュレベルより暗いとマイナスイベント信号に1を立て、それ以外はどちらも0を出す。プラス、マイナスいずれかのスレッシュレベルを超えると、基準スレッシュレベルの電圧レベルをその時の電圧レベルに再設定する。どちらも0のときは、そのピクセルのデータは出力しない。0のときは何も出力しないため、画像内であるスレッシュレベル幅の明るさの変化があったピクセルだけ1個の極性を表すデータを出力すればよく、つまり1ビットのデータが出力される。またその出力が画面のx、y座標のどのアドレス位置であるかを示すデータも併せて出力する。
【0031】
図5(a)~
図5(c)は、EVS10が出力するイベント信号を説明する図である。被写体が図中の矢印に沿って移動したとする。
図5(a)では符号15aの位置のピクセルの輝度が閾値を超え、ピクセルの座標、時刻、明暗極性を含むイベント信号(x
1,y
1,t
1,±
1)が出力される。
図5(b)では符号15bの位置のピクセルの輝度が閾値を超え、ピクセルの座標、時刻、明暗極性を含むイベント信号(x
2,y
2,t
2,±
2)が出力される。
図5(c)では符号15cの位置のピクセルの輝度が閾値を超え、ピクセルの座標、時刻、明暗極性を含むイベント信号(x
3,y
3,t
3,±
3)が出力される。
【0032】
このように、EVS10では、各ピクセルについて通常のセンサの12ビットA/Dデータのように多ビットで出力せず、輝度変化のあるスレッシュレベルを超えたタイミング時点のピクセルのデータだけを出力するため、非常に高速にマイクロ秒のオーダーで非同期にイベント信号を出力することができる。本実施の形態は、このように高速に輝度変化を検出することができるEVS10の出力データを用いる。
【0033】
図6は、実施の形態1の動画圧縮装置200の基本構成図である。
【0034】
カメラなどのRGBセンサから取得されたRAW信号は、カメラプロセスを施されR、G、BもしくはY、Cb、Crの動画像のデータになり、動画圧縮装置200に入力される。あるいはBAYERパターンのR、Gr、Gb、B信号のそれぞれを動画圧縮装置200に入力してもよい。ここでは説明をわかりやすくするためにY信号が入力された場合の例を説明する。入力されたY信号は、ブロック分割部20に入力される。
【0035】
図7は、動きベクトル推定に用いるブロック範囲を説明する図である。ここでは、
図7に示すように、動き補償対象ブロック範囲40に対して、動きベクトル推定ブロック範囲42を広くとるようにする。
【0036】
図7の例では、動き補償対象ブロック範囲40を8×8とし、動きベクトル推定ブロック範囲42を24×24とした場合に都合の良い8×8ピクセル単位に画像をブロック分割してイントラ圧縮する。イントラ圧縮で使用するこのブロック分割は、例えばH.265のように被写体を分析して、そのブロックの大きさを可変にしてもよい。
【0037】
ブロック分割部20は、入力された動画の1フレーム目はまずフレーム内で圧縮するため、ブロック別に分割し、イントラ予測部22に与える。
【0038】
イントラ予測部22は、イントラ予測を行い、フレーム内で2次元空間的に相関のある周波数の高いデータは空間的に差分をとり、変換・量子化部24に与える。変換・量子化部24は、差分データの量子化ビットを調整しデータを圧縮し、エントロピー符号化部26と逆量子化・逆変換部28に与える。エントロピー符号化部26は、量子化された差分データをエントロピー符号化して出力する。逆量子化・逆変換部28は、量子化された差分データを逆量子化し、元の映像に逆変換し、ループ内フィルタ29は、復元された映像にデブロッキングフィルタ、ブロックまたぎの視覚劣化抑制を行い、フレームメモリ30に蓄積する。フレームメモリ30には数フレーム分の差分データが蓄積される。
【0039】
動きベクトル推定部34は、EVS10のデータから動いている被写体の動きベクトルを算出し予想し、動き補償部32に与える。動き補償部32は、動きベクトルに合わせてブロック毎に動きベクトル量分だけずらして動き補償し、予測画像を生成する。入力画像と動き補償部32による予測画像の差分は変換・量子化部24に供給される。
【0040】
動きベクトル推定部34は、予測ベクトルなどを用いて探索開始点を決定し、通常ブロッキングマッチングによる動き探索を行う。最適なマッチング量(相関量)を決め、相関がそれを満たさない場合、探索ポイントを変え、新たに新たにダイヤモンド探索を行いマッチングした位置で入力されたR、G、B信号とのそれぞれの差分をとり、その差分をデータ化することでデータ量を抑える。探索で最適な相関が得られない場合は、探索を終了し、動き補償部分は1フレーム前の同じブロックのデータと差分をとる。このように基本的な流れは従来の圧縮ブロックを用いているが、動き補償、EVSからのデータ入力、EVSの検出データからの動きベクトル推定、フレームメモリに保存されたフレームとSSGからのイントラとの切り替えが従来とは異なる。以下、本実施の形態の動きベクトル推定部34の構成と動作を詳しく説明する。なお、動きベクトル推定の機能を含む論理ブロックを「動きベクトル推定部」と呼び、動きベクトル推定の機能を含む装置を「動きベクトル算出装置」と呼ぶ。
【0041】
図8は、動きベクトル推定部34のブロック図である。動きベクトル推定部34は、カメラの同期の時間間隔で動きベクトルを読み出す。
【0042】
EVSからスレッシュレベルを超えた明暗の変化のあったピクセルの座標アドレスのy座標EVS_y、x座標EVS_xと明暗の符号EVS_pmが非同期タイミングでバッファリングブロックに入力される。バッファリングブロックは非同期に入力されたEVS信号を内部のクロックに置き換え、ブロック内部の処理のディレー(delay)を吸収するためのメモリであり、例えばFIFOメモリを用いる。
【0043】
バッファリング出力のEVS_yb、EVS_xbからフレームメモリA+、フレームメモリB+、フレームメモリA-、フレームメモリB-に明暗符号を一時的に保存するためのこれらのメモリのライトアドレスEVS_WADRSを作成する。フレームメモリA+、フレームメモリB+は後述する任意の期間にEVSが明るい方向に変化したピクセルを保存するためのメモリである。フレームメモリA-、フレームメモリB-は後述する任意の期間にEVSが暗い方向に変化したピクセルを保存するためのメモリである。
【0044】
RGBセンサが例えば1/60秒のフレームレートで動作しているとして、それに対してEVSは最高でマイクロ秒のオーダーで非同期にてデータを出力するため、このフレームメモリにおいて任意の周期に更新するように読み出しRGBセンサのデータと同期がとれるようにする。そのためEVSのデータはこれらのフレームメモリにおいてアドレスに対応したメモリ領域に保存する。フレームメモリは例えばRGBセンサの1/24倍の周期で速く読み出して出力データの更新を行うことにより、RGBデータの1/24倍周期のデータとして取り出せるようになる。この1/24倍周期は、
図7の24×24ピクセルのブロック分割に回路構成上都合が良い周期であるが、ブロック分割のピクセルやフレームメモリの構成で任意の周期に変更してもよい。ここではわかりやすくするためにRGBの1/24倍周期で説明する。
【0045】
RGBセンサの1/24倍周期であるので非常に高速な処理を行う必要があるが、通常のFPGAのハードウェア構成では処理スピードの制約で実現が難しいため、本実施の形態では次のような工夫をして実現する。
【0046】
図9は、動きベクトル推定部34の動作を説明するタイミングチャートである。
図8のSSGでRGBセンサの1/24倍の周期にあたるx24frmパルスを発生する。
図9のRGBセンサVSYNCは、1/60秒周期に1回HIGH信号になる。それに対してx24frm信号は、
図9のように1/24倍の1/1440秒周期でHIGH、LOWを繰り返すパルスになる。明るい方向に変化したピクセルを保存するフレームメモリA+とフレームメモリB+はこのx24frmのHIGH、LOWに合わせて片側がEVSデータを書き込んでいる間に、もう片方は読み出して0を書き込む作業を行う。同様に暗い方向に変化したピクセルを保存するフレームメモリA-とフレームメモリB-はこのx24frmのHIGH、LOWに合わせて片側がEVSデータを書き込んでいる間に、もう片方は読み出して0を書き込む作業を行う。
【0047】
図9に示すように、フレームメモリA+、フレームメモリA-はx24frmがLOWの時にセンサの明るさの符号に対応したアドレスに書き込み、HIGHの時は書き込んだデータを画面上部のアドレス0から順番に読み出す。通常1ピクセルずつメモリから読み出すにはRGB信号の24倍のクロックスピードで読み出す必要があるが、EVSの明るさデータは1ビットであることに注目し、24ライン分を24ビットデータとして扱う工夫をすることで、24ライン分を一度に読み出すことができるようにする。このことで通常のRGBで扱うクロックスピードと同等のスピードで読み出しが可能となる。このデータを24ビット化する方法を次に示す。
【0048】
EVSのピクセルサイズが例えば1280(x軸)×720(y軸)の場合、EVS_ybは10BITでEVS_yb[9:0]、EVS_xbは11BITでEVS_xb[10:0]で表され、その時のライトアドレスEVS_WADRSは動きベクトル推定ブロック範囲を24×24とした場合、次式で求められる。
EVS_WADRS=INT(EVS_yb/24)×2^11+EVS_xb
・・・・(1)
【0049】
EVS_pmはピクセルが明るくなった場合は1、暗くなった場合は0で入力される。バッファを通ってブロック内部のクロックで読み出されたEVS_pmをEVS_pmbとする。(2)式のようにEVS_ybからBITSHIFTを求め、(3)式のようにEVS_pmbをBITSHIFT分だけシフトレジスタでビットシフトした値を出力する。
BITSHIFT=EVS_yb-INT(EVS_yb/24)×24
・・・・(2)
ShiftRegister=2^BITSHIFT×EVS_pmb
・・・(3)
【0050】
例えばEVS_ybが1000の場合、BITSHIFT=16になり、ShiftRegister=2^16になる。この値はEVS_WADRSと同期して明るい方向検出用のフレームメモリA+、フレームメモリB+のブロックに出力される。EVS_pmbをインバータした信号は、暗くなった場合が1、明るくなった場合が0であり、シフトレジスタに入力され、EVS_WADRSに従い、(2)式、(3)式の出力信号をフレームメモリA-、フレームメモリB-のブロックに出力する。このようにすることでフレームメモリの1アドレスに24ライン分書き込むことができる。シフトレジスタは同時にイベントが発生したEVS_ybのラインアドレスが24BITの何ビット目かを表すYADR信号を発生する。次式のYADR信号を出力する。
YADR=2^BITSHIFT ・・・(4)
【0051】
上記で述べたようにx24frmパルスに従いフレームメモリA、フレームメモリBに書き込むが、x24frmの書き込み期間に、隣接する24ラインのデータが複数個入力されることもあるので、書き込みフェーズ時にEVS_WADRSのアドレスを一度保存された状態のものを読み出し、読み出した24ビットデータを新たにシフトレジスタで発生した信号とOR(論理和)をとる。この時に読み出した24ビットのうちYADRで示す1の立っているビットの値が1で、新たにシフトレジスタで発生したYADRで示すビットが0であった場合、そのビットはORを取らずに0にする。このように一度保存されていた24ビットデータを読み出すためにEVS_WADRSは1クロック(CLK)分ディレーさせるレジスタを通し、フレームメモリのアドレスに入力する。このようにすることでx24frmの書き込みパルス期間に最新の明暗それぞれの符号データが書き込まれるようになる。
【0052】
フレームメモリA+、フレームメモリA-はx24frmがLOWの時に、フレームメモリB+、フレームメモリB-はx24frmがHIGHの時に、上記の書き込みが行われ、フレームメモリA+、フレームメモリA-はx24frmがHIGHの時に、フレームメモリB+、フレームメモリB-はx24frmがLOWの時に、下記の読み込み及び0の書き込みが行われる。読み込みアドレスEVS_RADRSは
図8のRアドレス発生部で発生され、ピクセルサイズが例えば1280(x)×720(y)の場合、1280×720の全てのピクセルに対するアドレスを、アドレス0から順に(1)式の法則に合うように(5)式のアドレスを発生し、フレームメモリのデータをx24frmの示す読みだし期間に読み出す。
EVS_RADRS=INT(yadrs/24)×2^11+xadrs
・・・・(5)
xadrs=0~1279、yadrs=0~29
【0053】
1アドレス読み出ししたらただちに、そのアドレスに24ビットの0の書き込みを行う。0の書き込みは、1280×720の全てのピクセルに対するアドレスを、EVS_RADRSと同様にアドレス0から順に発生させることで行う。フレームメモリA+とフレームメモリB+の読み込みデータを、またフレームメモリA-とフレームメモリB-の読み込みデータをx24frmパルスで切り替えることで全ての60フレームの24倍のフレーム分のプラス符号データとマイナス符号データを読み出す。
【0054】
この読み出しデータは1データ24ライン分の符号データであるが、動きベクトル算出は8ピクセル×8ライン単位で行うためディレー調整48ラインメモリで、
図11のように水平方向は24ピクセルを8ピクセルずつずらして読み出していき、垂直方向は24ラインデータを8ラインずつずらして読み出す。読み出しは書き込みの3倍以上のクロックスピードで読み出す。同時に60フレームの24倍のフレーム分のプラス符号データとマイナス符号データを読み出したデータは、1/(24×60)秒のフレーム単位のフレームメモリで遅延させて、同様に
図11のように24ピクセルを8ピクセルずつ、24ラインデータを8ラインずつずらして読み出す。このようにすることで、各ブロックのベクトル計算は隣り合うブロックとオーバーラップ部分を含んで計算することができる。
【0055】
続いて動きベクトルの算出方法を説明する。
図12に24×24ピクセル範囲にある円の被写体が1/(24×60)秒のフレーム単位で右上に動いている様子を示している。図の中の数字はY信号のコード値になる。
図13は、
図12の2個目の円と3個目の円の動きによる明るさ変化を示すEVS信号の符号データになる。
【0056】
動き方向の検出は、Y軸の縦方向の重みづけ係数とX軸の横方向の重みづけ係数をそれぞれプラス側符号とマイナス側符号に掛け合わせて、下記に説明するように24×24ピクセルの総和を24×60フレーム単位の現在のフレームに対して求め、1フレーム前のフレームに対して同様の総和を求め、両者の差分を取ることで、Y軸、X軸方向の動き量を求める。
【0057】
図14Aは、24×24ピクセルのブロックに対して1ライン毎に1だけ増える縦方向係数を示す。
図14Aのブロックの周囲にはブロックの四隅に行くほど小さくなる数字が書かれており、これを8で割った数が周辺係数である。すなわち2の場合は、2/8が周辺係数であり、8の場合は、8/8=1が周辺係数である。縦動き量の重みづけ係数は、
図14Bに示すように、
図14Aの各ピクセルの縦方向係数に周辺係数をかけた値である。たとえば、X=1、Y=3のピクセルの場合、縦方向係数は3であり、X方向の周辺係数は2/8であり、Y方向の周辺係数は6/8であるから、縦動き量の重みづけ係数は、3×(2/8)×(6/8)≒0.6となる。周辺係数をかける理由は、ブロックの境界にまたがるような動きの場合、そのデータの動き推定への寄与度を小さくするためである。
【0058】
図16Aは、24×24ピクセルのブロックに対して水平方向1ピクセル毎に1だけ増える横方向係数を示す。
図16Aのブロックの周囲にはブロックの四隅に行くほど小さくなる数字が書かれており、これを8で割った数が周辺係数である。横動き量の重みづけ係数は、
図16Bに示すように、
図16Aの各ピクセルの横方向係数に周辺係数をかけた値である。
【0059】
図15Aは、
図13のEVS出力の明るい側(プラス側)の符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す。この計算は、
図8の垂直方向プラス側の重みづけ部で行われ、その結果をVPとする。
図13のEVS出力でプラスとなったピクセルは20個あり、このプラスとなったピクセルについて
図15Aの重みづけ値を合計すると185であり、平均すると185/20≒9.25である。
【0060】
図15Bは、
図13のEVS出力の暗い側(マイナス側)の符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す。この計算は、
図8の垂直方向マイナス側の重みづけ部で行われ、その結果をVMとする。
図13のEVS出力でマイナスとなったピクセルは19個あり、このマイナスとなったピクセルについて
図15Bの重みづけ値を合計すると-235となり、平均すると-235/19≒-12.37となる。
【0061】
図17Aは、
図13のEVS出力の明るい側(プラス側)の符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す。この計算は、
図8の水平方向プラス側の重みづけ部で行われ、その結果をHPとする。
図13のEVS出力でプラスとなったピクセルは20個あり、このプラスとなったピクセルについて
図17Aの重みづけ値を合計すると359であり、平均すると359/20≒17.95である。
【0062】
図17Bは、
図13のEVS出力の暗い側(マイナス側)の符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す。この計算は、
図8の水平方向マイナス側の重みづけ部で行われ、その結果をHMとする。
図13のEVS出力でマイナスとなったピクセルは19個あり、このマイナスとなったピクセルについて
図17Bの重みづけ値を合計すると-290となり、平均すると-290/19≒-15.26となる。
【0063】
このように、縦動き方向の24×24ピクセルのブロックのプラス側の重みづけされた値を24×24ピクセルのすべてについて合計した値を求め、24×24ピクセルのブロックのプラス側の数で割り、平均値を求める。
図15Aおよび
図15Bの例では縦プラス側の平均が9.25、縦マイナス側の平均が-12となる。この平均値の計算は、
図8の垂直方向P1BLOCK平均部、垂直方向M1BLOCK平均部で行われ、VPSUM信号、VMSUM信号が出力される。VPSUM=9.25、VMSUM=-12.37である。
【0064】
横動き方向の24×24ピクセルのブロックのプラス側の重みづけされた値を24×24ピクセルのすべてについて合計した値を求め、24×24ピクセルのブロックのプラス側の数で割り、平均値を求める。
図17Aおよび
図17Bの例では横プラス側の平均が18、縦マイナス側の平均が-15となる。この計算は、
図8の水平方向P1BLOCK平均のブロック、水平方向M1BLOCK平均のブロックで行われ、HPSUM信号、HMSUM信号が出力される。HPSUM=17.95、HMSUM=-15.26である。
【0065】
上記の24×24ピクセルのブロックの明るさ変化の平均の計算を1フレーム前の状態でも行う。
図8のディレー調整フレームメモリにおいて60フレームの1/24倍の周期単位で1フレーム前の映像について同様に行う。
【0066】
図18は、1フレーム前の被写体の動きとY信号の状態を示す。
図19は、
図18の1個目の円と2個目の円の動きによる明るさ変化によるEVS信号の符号データを示す。プラスの符号データは18ピクセルあり、マイナスの符号データは18ピクセルある。
【0067】
図20Aは、
図19の明るさ変化のプラスの符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す。プラスのピクセルの重みづけ値は、合計すると217であり、平均すると217/18≒12.06である。
【0068】
図20Bは、
図19の明るさ変化のマイナスの符号データに
図14Bの縦動き量の重みづけ係数を掛け算した結果を示す。マイナスのピクセルの重みづけ値は、合計すると-288であり、平均すると-288/18≒-16.0である。
【0069】
図8では、縦方向プラス側の平均値がVPSUM1f信号、縦方向マイナス側の平均値がVMSUM1f信号である。VPSUM1f=12.06、VMSUM1f=-16.0である。
【0070】
図21Aは、
図19の明るさ変化のプラスの符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す。プラスのピクセルの重みづけ値は、合計すると278であり、平均すると278/18≒15.44である。
【0071】
図21Bは、
図19の明るさ変化のマイナスの符号データに
図16Bの横動き量の重みづけ係数を掛け算した結果を示す。マイナスのピクセルの重みづけ値は、合計すると-240であり、平均すると-240/18≒-13.33である。
【0072】
図8では、横方向プラス側の平均値がHPSUM1f信号、横方向マイナス側の平均値がHMSUM1f信号になる。HPSUM1f=15.44、HMSUM1f=-13.33である。
【0073】
縦方向の動きベクトルは、現在のフレームの縦方向の動き量の重みづけ平均値と、1フレーム前の縦方向の動き量の重みづけ平均値の差により求められる。この差が24×24ブロック内の被写体の平均的な縦方向の移動量になる。これをプラス、マイナスの両方で求め、その平均を24×60フレーム周期の1フレームの縦方向の動きベクトル量VVECT1Frとする。
【0074】
マイナス側の平均はマイナス値として扱い、垂直動きベクトル量VVECT1Frを次式で求める。
VVECT1Fr=((VPSUM-VPSUM1f)+(-1)×(VMSUM-VMSUM1f))/2
・・・(6)
【0075】
図20A及び
図20Bの例では、VVECT=((9.25-12.06)-(-12.37+16.0))/2≒-3.2となる。この値がマイナスの時は画面上方に移動していることを示し、プラスの時は画面下方に移動していることを示す。
【0076】
横方向の動きベクトルは、現在のフレームの横方向の動き量の重みづけ平均値と、1フレーム前の横方向の動き量の重みづけ平均値の差により求められる。この差が24×24ブロック内の被写体の平均的な横方向の移動量になる。これをプラス、マイナスの両方で求め、その平均を24×60フレーム周期の1フレームの横方向の動きベクトル量HVECT1Frとする。
【0077】
マイナス側の平均はマイナス値として扱い、水平動きベクトル量HVECT1Frを次式で求める。
HVECT1Fr=((HPSUM-HPSUM1f)+(-1)×(HMSUM-HMSUM1f))/2
・・・(7)
【0078】
図21A及び
図21Bの例では、HVECT=((17.95-15.44)-(-15.26+13.33))/2=2.22となる。この値がマイナスの時は画面左方向に移動していることを示し、プラスの時は画面右方向に移動していることを示す。
【0079】
VVECT1FrとHVECT1Frのベクトル量は24×60=1440fpsという非常に短い時間の動き量であるから、通常被写体の動きは1280×720ピクセルのセンサであれば24×24ピクセル以内の数ピクセル以内の動き量で収まる。このベクトル計算を8×8ブロック毎に順番に行い、ブロックナンバーカウンタが出力するブロックナンバー値をアドレスとしてブロック別動きベクトル24Fr足し算メモリに保存される。1440fps単位でブロック別動きベクトル24Fr足し算メモリに垂直方向、水平方向のベクトルが足されるように計算し、24フレーム分足し算したら、その総和VVECT24Fr、HVECT24Frを出力し、次のブロック別動きベクトルメモリに保存する。出力後、ブロック別動きベクトル24Fr足し算メモリの足し算値を0にリセットする。この24フレーム分足し算した結果のベクトルが、60FPS単位のベクトルとなり、R、G、Bの画像の動きベクトルとなる。
【0080】
ここでブロック別動きベクトル24Fr足し算メモリの足し算を0にリセットするタイミングは、60FrmVrstパルスがHIGHの時に行うが、そのタイミングは、RGBセンサのシャッタ蓄積時間に応じて変えることでより正確な動きベクトルを得ることができる。
【0081】
図9は、RGBセンサが1/60秒のシャッタスピードの場合のリセットタイミング60FrmVrstを示している。
図9の最上部に8×8ピクセル内の被写体の動きを示す。RGBセンサはこの例では60FPSで動き、その同期信号VSYNCが
図9のタイミングになる。ここではRGBセンサは、全画素同時タイミングで映像を取得するグローバルシャッタのセンサであるとする。シャッタスピードが1/60秒の場合、VSYNCのタイミングの被写体から次のVSYNCのタイミングまで露光されるので、
図9のRGB1/60秒蓄積の欄のVSYNNC手前の状態のように、1/60秒の動き分、RGBセンサが捉えた被写体が右上方向にぶれている。さらに次のVSYNCでは被写体が下がってきた場合、右下方向にぶれている。一方EVSは非同期に高速に輝度変化を検出するのでぶれがない。このぶれがないEVS出力データから動きベクトルを算出するとき、ベクトルを算出する開始点と終点の時間がRGBセンサの被写体のブレの中心のタイミングになることがよい。
【0082】
図9の被写体の黒丸で表示する部分から開始し、次の黒丸で表示する部分までの間でベクトル算出すると、RGBセンサの被写体のブレの中心タイミングでのベクトルを求めることになり、フレーム間圧縮で次のフレームのブレの中心との比較ができるようになる。そのため60FrmVrstのリセットタイミングを
図9のようにVSYNC間の中点に1フレーム分のディレーを足したタイミングにする。この1フレーム分のディレーは内部の処理のメモリによるディレーを考慮している。この60FrmVrstのリセットタイミングは、VSYNCから次式のディレー量で発生させる。RGBセンサのフレームレートをRGBFPS、イベントセンサ用のフレームメモリの蓄積周期をEVSFPS、シャッタスピードをRGBSHとすると、60FrmVrstのリセットタイミング60FrmVrstTimingは、次式で求められる。
60FrmVrstTiming=INT((RGBSH/2)/(1/EVSFPS))×(1/EVSFPS)+1/EVSFPS
・・・(8)
【0083】
例えば、RGBセンサのフレームレートRGBFP=60(FPS)、シャッタスピードRGBSH=1/60(秒)、イベントセンサ用のフレームメモリの蓄積レートEVSFPS=24×RGBFPであれば、(8)式より、0.009027778秒になる。これはx24frmの変化周期の13フレーム分になる。
【0084】
図10は、シャッタスピードRGBSHが1/1500秒の時の例である。シャッタスピードに合わせて(8)式でディレー量を求める。これはx24frmのパルス変化周期の1フレーム分になる。
【0085】
このシャッタスピードで変化させる60FrmVrstのタイミングで、1440FPS単位の24フレーム分のベクトルをブロック別動きベクトル24Fr足し算メモリにおいて足し算し、この足し算されたベクトル値をブロック別動きベクトルメモリに書き込み、そのメモリのデータをVSYNCのタイミングでブロック毎に読み出しVVECT、HVECTの動きパラメータを得る。
【0086】
このように動きベクトル推定部34において動きパラメータを取得し、その動きパラメータを
図6の動き補償部32に入力する。動き補償部32は、RGBセンサのフレームレートで1フレーム遅れたY信号に対して、8×8ピクセルのブロック分割の範囲を動きパラメータのマイナス値で移動させ、新たに入力されたY信号差分をとる。
【0087】
図22は、動きベクトルによって動き探索対象のブロックを移動させる方法を示す図である。
図22の場合、動きベクトルは、水平方向HVECTが10.2、垂直方向VVECTが-10.5である。1フレーム前のY信号にその動きベクトル分をマイナスした8×8ピクセルのエリアのデータを
図6の1フレームのフレームメモリから取り出す。動きベクトルが小さい場合は、1/4ピクセルの位相精度で補間して求める。このデータと新たに入って来たY信号の8×8ピクセルのエリア間で
図23Aのような順番で1フレーム遅れの動きベクトルで得られた8×8エリアをずらして相関を求めデータを探索する。
【0088】
図23Aは、探索1回目における8×8ピクセルのエリアの1ピクセル単位探索を示し、
図23Bは、探索2回目における1/4ピクセル単位でピクセルデータを補間して探索する方法を示す。相関値があるスレッシュ以下になった時点でさらに1/4ピクセル単位でデータ補間して探索することにより、相関度の高い位相を求める。もし全ての探索を行い相関がスレッシュ以下の場合は、移動は行わず同じブロックのフレーム差分をとる。
【0089】
この探索はフレーム間動画圧縮を行う際により高い精度で行うことができるが、処理の遅延にもつながるので、必要ない場合は行わなくてもよい。
【0090】
この探索は
図23AのようなH.264やH.265で用いられる広い探索よりも探索範囲が狭い。これは動きベクトルを求める際に24×60FPSの高速で被写体に追従してベクトルを求めているので、動きベクトル時点で精度が良いためである。
【0091】
このように探索を行い1フレーム前とマッチングが取れた時点で引き算をしてその差分を周波数変換し量子化し符号化する。このようにすることで動き補償のデータ圧縮が行われる。
図9のRGBセンサ出力、RGBセンサフレームメモリ、動き補償、差分変換、符号化のタイミングで行われる。
【0092】
図24は、本実施の形態の方法で構成されるGOPを説明する図である。ここでは4フレームでGOPを構成する場合を説明する。
図24のように、EVS信号の符号データを用いて動き補償してフレーム間の差分を符号化するフレームをBフレームとし、フレーム間で差分をとらないイントラフレームを数フレームに1回入れる。参照フレームは過去のIフレームとする。動きベクトルは、EVS信号の符号データを用いて高速フレームで移動物体に追従して求めたものであるから、あらかじめ未来の情報を溜めておく必要がなくなり、RGBセンサの1フレーム以内でフレーム間圧縮が可能となる。
【0093】
(実施の形態2)
EVSは特殊なセンサであるためセンサのラインアップが少なく、EVSの画素数とRGBセンサの画素数が一致しないことがある。実施の形態2では、EVSとRGBセンサの有効画素数に違いがある場合、実施の形態1で説明した水平動きベクトル、垂直動きベクトルの値にイベントセンサとRGBセンサの有効画素数の比をかける。
【0094】
例えば、EVSが1280×720ピクセルであり、RGBセンサが1920×1080ピクセルであり、両者は同じ画角の有効ピクセルであるとすると、水平方向の比HPIX_Ratio及び垂直方向の比VPIX_Ratioは次式で求められる。
HPIX_Ratio=1920/1280=1.5
VPIX_Ratio=1080/720=1.5
【0095】
動きベクトル推定部34は、水平方向の比HPIX_Ratio、垂直方向の比VPIX_Ratioをそれぞれ水平方向の動きベクトルHVECT、垂直方向の動きベクトルVVECTに掛け合わせ、補正後の水平方向の動きベクトルHVECT’、垂直方向の動きベクトルVECT’を求め、出力する。
HVECT’=HVECT×HPIX_Ratio ・・・(9)
VVECT’=VVECT×VPIX_Ratio ・・・(10)
【0096】
(実施の形態3)
実施の形態3では、実施の形態1及び実施の形態2においてEVSとRGBセンサが同光軸になるようにプリズムを用いて配置する。RGBセンサはイメージセンサの一例である。RGBセンサの代わりに白黒の画像データを取得するセンサを用いてもよい。
【0097】
図25は、プリズムを用いたEVSとRGBセンサの配置を説明する図である。レンズから入射した像光をプリズムで分光し、EVSとRGBセンサの像が同光軸となるように配置する。この構成により得られるRGBセンサの出力データとEVSの出力データを用いて、実施の形態1または実施の形態2の動画圧縮を行う。動画圧縮は、RGBセンサのR、G、B信号のそれぞれに対して行ってもよく、R、G、BをY、Cb、Crに変換したY、Cb、Cr信号のそれぞれに対して行ってもよく、R、Gr、Gb、B信号のベイヤ(Bayer)パターンの信号のそれぞれのチャンネルに対して行ってもよい。
【0098】
(実施の形態4)
実施の形態4では、実施の形態1及び実施の形態2においてEVSとRGBセンサとTOF(Time Of Flight)センサを同光軸になるようにプリズムを用いて配置する。TOFセンサは距離センサの一例である。
【0099】
図26(a)及び
図26(b)は、プリズムを用いたEVSとRGBセンサとTOFセンサの配置を説明する図である。レンズにより可視光の環境光とレーザーダイオードアレイのVCSEL(Vertical Cavity Surface Emitting Laser)から発光された近赤外光、ここでは例えば波長が940nmの赤外光が被写体に当たって反射した光がプリズムに入射される。プリズムは、例えば
図26のように可視光反射ダイクロイック膜で可視光と近赤外光に分け、近赤外光をTOFセンサに入射する。可視光はさらにプリズムによって分光され、RGBセンサとEVSに入射される。
【0100】
プリズムの構造は
図26(a)の配置、
図26(b)の配置のいずれでもよい。RGBセンサとEVSとTOFセンサは同光軸上に配置される。TOFセンサは内部にプロセッサを持っており、距離データDを出力する。RGBセンサの出力データとEVSの出力データとTOFセンサの距離データを用いて実施の形態1または実施の形態2の動画圧縮を行う。動画圧縮は、RGBセンサのR、G、B信号のそれぞれに対して行ってもよく、R、G、BをY、Cb、Crに変換したY、Cb、Cr信号のそれぞれに対して行ってもよく、R、Gr、Gb、B信号のベイヤ(Bayer)パターンの信号のそれぞれのチャンネルに対して行ってもよい。また同時にTOFセンサの距離データDに対しても、実施の形態1または実施の形態2の動画圧縮を行う。
【0101】
以上説明した動画圧縮装置200の各種の処理は、CPUやメモリ等のハードウェアを用いた装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバと送受信することも、地上波あるいは衛星ディジタル放送のデータ放送として送受信することも可能である。
【0102】
動画圧縮装置200によれば、EVSとRGBセンサを同光軸上に配置いて、EVSから得られるRGBセンサよりも高速で画像の輝度変化を捕らえ、輝度変化の符号情報とRGBセンサの画像情報を組み合わせて動きベクトルをRGB信号の1フレーム以内に計算し、その動きベクトルに基づいて動き補償を行い、動画のデータ圧縮を行う。
【0103】
このように動画圧縮装置200によれば、EVSの輝度変換データを用いて高速フレームレートで被写体の動きをブロック毎に精度良く動きベクトルとして算出することにより、低遅延かつ高圧縮で動画を圧縮することができる。高品質の動画を低遅延で伝送することにより、リアルタイムで高品質な動画通信ができるようになる。また、輝度変化が起きた画素の明暗2種類の1ビットの信号で動き推定することができるため、演算スピードが向上し、高速のデータ更新が可能になる。これによって動いている物体の追従性も良くなり、フレーム間の探索範囲が抑えられ、画像データ蓄積のメモリが大幅に削減でき、消費電力の削減と回路規模の削減につながる。
【0104】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0105】
10 EVS、 12 受光部、 13 電流電圧変換器、 14 フォトダイオード、 16 輝度変化検出部、 17 非同期差分検出器、 18 比較器、 20 ブロック分割部、 22 イントラ予測部、 24 変換・量子化部、 26 エントロピー符号化部、 28 逆量子化・逆変換部、 29 ループ内フィルタ、 30 フレームメモリ、 32 動き補償部、 34 動きベクトル推定部、 36 SSG、 200 動画圧縮装置。