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

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

▶ ソニーセミコンダクタソリューションズ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-06
(45)【発行日】2025-02-17
(54)【発明の名称】信号処理装置、信号処理方法
(51)【国際特許分類】
   G06T 3/4046 20240101AFI20250207BHJP
   H04N 23/60 20230101ALI20250207BHJP
   H04N 23/68 20230101ALI20250207BHJP
【FI】
G06T3/4046
H04N23/60 500
H04N23/68
【請求項の数】 7
(21)【出願番号】P 2022530046
(86)(22)【出願日】2021-04-20
(86)【国際出願番号】 JP2021016039
(87)【国際公開番号】W WO2021251005
(87)【国際公開日】2021-12-16
【審査請求日】2024-03-15
(31)【優先権主張番号】P 2020099937
(32)【優先日】2020-06-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】110003410
【氏名又は名称】弁理士法人テクノピア国際特許事務所
(72)【発明者】
【氏名】新井 洋
(72)【発明者】
【氏名】大塚 由里子
(72)【発明者】
【氏名】西 健一郎
(72)【発明者】
【氏名】益浦 健
(72)【発明者】
【氏名】沖山 紀光
(72)【発明者】
【氏名】松井 佑史
(72)【発明者】
【氏名】高島 敏
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2020-9203(JP,A)
【文献】特開2018-136430(JP,A)
【文献】特開2005-92465(JP,A)
【文献】国際公開第2019/092900(WO,A1)
【文献】特開2005-309765(JP,A)
【文献】特開2003-281541(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/4046
H04N 23/60
H04N 23/68
(57)【特許請求の範囲】
【請求項1】
複数の要素で成るオブジェクトの前記要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダを有し、前記要素ごとの座標データを入力データとして、前記第一積層オートエンコーダの中間層に前記オブジェクトを近似曲面化した近似曲面データを得る近似曲面化部と、
前記近似曲面データを学習用入力データとし、且つ前記オブジェクトに対する幾何学的変調処理を前記要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダを有し、該第二積層オートエンコーダにより前記近似曲面データに対する前記幾何学的変調処理を施す幾何学的変調処理部と、を備える
信号処理装置。
【請求項2】
撮像装置による撮像画像のスタビライズ処理として、前記撮像画像の出力座標系において水平方向及び垂直方向にそれぞれ複数配列された格子点を有し前記格子点ごとに前記撮像装置の動き情報が対応づけられる格子点メッシュを用いたスタビライズ処理を行い、
前記オブジェクトが前記格子点メッシュとされた
請求項1に記載の信号処理装置。
【請求項3】
前記スタビライズ処理による出力画像の画枠をセグメント単位で分割して形成されるセグメントマトリクスにおける各セグメントが、前記幾何学的変調処理の施された前記格子点メッシュにおける各マス目のうち何れのマス目内に位置するかを特定するセグメント探索処理の結果を教師データとし、且つ前記幾何学的変調処理が施された前記近似曲面データを学習用入力データとして機械学習された第三積層オートエンコーダを有し、前記幾何学的変調処理が施された前記近似曲面データを入力データとして、前記第三積層オートエンコーダの中間層に各前記セグメントと前記格子点メッシュにおける前記マス目との対応関係を示す近似曲面データを得る格子点メッシュセグメントマトリクス変換部を備えた
請求項2に記載の信号処理装置。
【請求項4】
前記セグメント探索処理の結果と前記格子点ごとに対応づけられた前記動き情報とに基づき前記セグメントの粒度での前記動き情報を示すリメッシュデータを生成するリメッシュデータ生成部により得られた前記リメッシュデータを教師データとし、且つ、前記幾何学的変調処理が施された前記近似曲面データと、前記格子点メッシュセグメントマトリクス変換部により得られた近似曲面データとを学習用入力データとして機械学習された第四積層オートエンコーダを有し、前記幾何学的変調処理が施された前記近似曲面データと、前記格子点メッシュセグメントマトリクス変換部により得られた近似曲面データと、前記格子点ごとに対応づけられた前記動き情報とを入力データとして、前記第四積層オートエンコーダの中間層に前記リメッシュデータの近似曲面データを得るリメッシュ近似曲面データ生成部を備えた
請求項3に記載の信号処理装置。
【請求項5】
前記リメッシュデータ生成部により得られた前記リメッシュデータから前記出力画像の画枠内における各画素位置の前記動き情報を求める各画素動き情報計算部により得られた前記画素位置ごとの前記動き情報を教師データとし、且つ、前記リメッシュ近似曲面データ生成部により得られた近似曲面データと、前記画素位置を指定する座標データとを学習用入力データとして機械学習された第五積層オートエンコーダを有し、前記リメッシュ近似曲面データ生成部により得られた近似曲面データと、前記画素位置を指定する座標データとを入力として、前記出力画像の画枠内の指定座標における前記動き情報を出力する動き情報デコード部を備えた
請求項4に記載の信号処理装置。
【請求項6】
前記幾何学的変調処理部が有する前記第二積層オートエンコーダは、前記近似曲面データの幾何学的変調のためのアルゴリズムを、前記幾何学的変調処理についての異なるパラメータ設定ごとに学習しており、
前記幾何学的変調処理部は、前記パラメータ設定に応じて前記アルゴリズムを切り替える
請求項1に記載の信号処理装置。
【請求項7】
複数の要素で成るオブジェクトの前記要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダについて、前記要素ごとの座標データを入力データとして、前記第一積層オートエンコーダの中間層に前記オブジェクトを近似曲面化した近似曲面データを得ると共に、
前記近似曲面データを学習用入力データとし、且つ前記オブジェクトに対する幾何学的変調処理を前記要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダにより、前記近似曲面データに対する前記幾何学的変調処理を施す
信号処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、信号処理装置とその方法に関し、特には、空間上に定義されたオブジェクトに幾何学的変調処理を施すための技術に関する。
【背景技術】
【0002】
例えば、画像処理の分野等において、空間上に定義されたオブジェクトの変形や移動、回転等の幾何学的変調処理を行う場合がある。オブジェクトとしては、例えばポリゴンデータのように、複数のポリゴンを要素として成るものがある。この場合、オブジェクトの幾何学的変調処理は、各ポリゴンの座標データについての座標変換処理として行われることが一般的である。
【0003】
なお、関連する従来技術については下記特許文献1を挙げることができる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-66995号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、上記のように複数の要素で成るオブジェクトの幾何学的変調処理を座標変換処理により行う場合には、各要素についてそれぞれ座標変換を行うことになり、幾何学的変調処理に要する演算コストが増大化する傾向となる。
【0006】
本技術はかかる事情に鑑み為されたものであり、オブジェクトの幾何学的変調処理に係る演算コストの削減を図ることを目的とする。
【課題を解決するための手段】
【0007】
本技術に係る信号処理装置は、複数の要素で成るオブジェクトの前記要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダを有し、前記要素ごとの座標データを入力データとして、前記第一積層オートエンコーダの中間層に前記オブジェクトを近似曲面化した近似曲面データを得る近似曲面化部と、前記近似曲面データを学習用入力データとし、且つ前記オブジェクトに対する幾何学的変調処理を前記要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダを有し、該第二積層オートエンコーダにより前記近似曲面データに対する前記幾何学的変調処理を施す幾何学的変調処理部と、を備えるものである。
幾何学的変調処理とは、オブジェクトの形状、位置、姿勢、大きさの少なくとも何れかを変化させる処理を意味する。このとき、姿勢の変化としては、例えば回転等を挙げることができる。
上記構成によれば、オブジェクトの変形や移動、回転等の幾何学的変調処理は、第一積層オートエンコーダが各要素の座標データを次元圧縮することで得られるデータとしての近似曲面データを対象として行われる。
【0008】
上記した本技術に係る信号処理装置においては、撮像装置による撮像画像のスタビライズ処理として、前記撮像画像の出力座標系において水平方向及び垂直方向にそれぞれ複数配列された格子点を有し前記格子点ごとに前記撮像装置の動き情報が対応づけられる格子点メッシュを用いたスタビライズ処理を行い、前記オブジェクトが前記格子点メッシュとされた構成とすることが可能である。
これにより、格子点メッシュを用いたスタビライズ処理で行われる格子点メッシュの変形や回転等の幾何学的変調処理が、格子点メッシュの近似曲面データを対象として行われる。
【0009】
上記した本技術に係る信号処理装置においては、前記スタビライズ処理による出力画像の画枠をセグメント単位で分割して形成されるセグメントマトリクスにおける各セグメントが、前記幾何学的変調処理の施された前記格子点メッシュにおける各マス目のうち何れのマス目内に位置するかを特定するセグメント探索処理の結果を教師データとし、且つ前記幾何学的変調処理が施された前記近似曲面データを学習用入力データとして機械学習された第三積層オートエンコーダを有し、前記幾何学的変調処理が施された前記近似曲面データを入力データとして、前記第三積層オートエンコーダの中間層に各前記セグメントと前記格子点メッシュにおける前記マス目との対応関係を示す近似曲面データを得る格子点メッシュセグメントマトリクス変換部を備えた構成とすることが可能である。
これにより、格子点メッシュの近似曲面データを入力として、各セグメントと格子点メッシュにおけるマス目との対応関係を示す近似曲面データ(格子点メッシュをセグメントマトリクスのドメインに変換した近似曲面データ)が得られる。つまり、セグメント探索結果に相当する近似曲面データを得るにあたり、セグメントマトリクスに相当する近似曲面データを生成するという比較的重い処理を行う必要をなくすことが可能となる。
【0010】
上記した本技術に係る信号処理装置においては、前記セグメント探索処理の結果と前記格子点ごとに対応づけられた前記動き情報とに基づき前記セグメントの粒度での前記動き情報を示すリメッシュデータを生成するリメッシュデータ生成部により得られた前記リメッシュデータを教師データとし、且つ、前記幾何学的変調処理が施された前記近似曲面データと、前記格子点メッシュセグメントマトリクス変換部により得られた近似曲面データとを学習用入力データとして機械学習された第四積層オートエンコーダを有し、前記幾何学的変調処理が施された前記近似曲面データと、前記格子点メッシュセグメントマトリクス変換部により得られた近似曲面データと、前記格子点ごとに対応づけられた前記動き情報とを入力データとして、前記第四積層オートエンコーダの中間層に前記リメッシュデータの近似曲面データを得るリメッシュ近似曲面データ生成部を備えた構成とすることが可能である。
これにより、格子点メッシュの幾何学的変調処理からリメッシュデータ生成までの処理を、それぞれ近似曲面データを扱う処理で一貫して行うことが可能となる。
【0011】
上記した本技術に係る信号処理装置においては、前記リメッシュデータ生成部により得られた前記リメッシュデータから前記出力画像の画枠内における各画素位置の前記動き情報を求める各画素動き情報計算部により得られた前記画素位置ごとの前記動き情報を教師データとし、且つ、前記リメッシュ近似曲面データ生成部により得られた近似曲面データと、前記画素位置を指定する座標データとを学習用入力データとして機械学習された第五積層オートエンコーダを有し、前記リメッシュ近似曲面データ生成部により得られた近似曲面データと、前記画素位置を指定する座標データとを入力として、前記出力画像の画枠内の指定座標における前記動き情報を出力する動き情報デコード部を備えた構成とすることが可能である。
これにより、リメッシュデータに相当する近似曲面データから、スタビライズ処理で必要とされる出力画素位置ごとの動き情報を適切にデコードすることが可能となる。
【0012】
上記した本技術に係る信号処理装置においては、前記幾何学的変調処理部が有する前記第二積層オートエンコーダは、前記近似曲面データの幾何学的変調のためのアルゴリズムを、前記幾何学的変調処理についての異なるパラメータ設定ごとに学習しており、前記幾何学的変調処理部は、前記パラメータ設定に応じて前記アルゴリズムを切り替える構成とすることが可能である。
これにより、近似曲面データの幾何学的変調処理について、パラメータ設定の変更を許容することが可能となる。
【0013】
また、本技術に係る信号処理方法は、複数の要素で成るオブジェクトの前記要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダについて、前記要素ごとの座標データを入力データとして、前記第一積層オートエンコーダの中間層に前記オブジェクトを近似曲面化した近似曲面データを得ると共に、前記近似曲面データを学習用入力データとし、且つ前記オブジェクトに対する幾何学的変調処理を前記要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダにより、前記近似曲面データに対する前記幾何学的変調処理を施す信号処理方法である。
このような信号処理方法によっても、上記した本技術に係る信号処理装置と同様の作用が得られる。
【図面の簡単な説明】
【0014】
図1】本技術に係る実施形態としての信号処理装置の構成例を示したブロック図である。
図2】実施形態におけるスタビライズ処理部の内部構成例を示したブロックである。
図3】傾いたカメラで撮像した様子を示した図である。
図4】IMUクォータニオンと画像入力との関係を示した図である。
図5】格子点メッシュを例示した図である。
図6】格子点メッシュの座標変換についての説明図である。
図7】セグメントマトリクスと格子点メッシュとの関係を説明するための図である。
図8】実施形態におけるセグメント探索についての説明図である。
図9】セグメント位置ごとの参照座標を求めるための三角補間についての説明図である。
図10】三角補間の例を示した図である。
図11】リメッシュデータの説明図である。
図12】リメッシュデータから画素位置単位の参照座標を求めることのイメージ図である。
図13】補間フィルタによる補間処理についての説明図である。
図14】参照座標計算部の機能構成を例示した機能ブロック図である。
図15】格子点メッシュ生成・成形部の機能構成を説明するための図である。
図16】近似曲面データに対する幾何学的変調処理を実現するための機械学習について説明するための図である。
図17】CNNの説明図である。
図18】積層オートエンコーダにおける入力データのエンコード、デコードについての説明図である。
図19】格子点メッシュの四角形要素についての説明図である。
図20】格子点メッシュを一次元と仮定した場合における格子点メッシュの近似曲線を例示した図である。
図21】セグメントマトリクスを一次元と仮定した場合におけるセグメントマトリクスの近似曲線を例示した図である。
図22】リメッシュ拡張デコード学習器が有する拡張デコーダの説明図である。
図23】学習済みとされた各学習器を用いた参照座標生成部の構成例を示した図である。
図24】格子点メッシュの変形例についての説明図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照し、本技術に係る実施形態を次の順序で説明する。

<1.撮像装置の全体構成>
<2.スタビライズ処理について>
[2-1.スタビライズ処理部の内部構成]
[2-2.実施形態で採用するスタビライズ処理手法について]
[2-3.実施形態としての幾何学的変調処理]
<3.変形例>
<4.実施形態のまとめ>
<5.本技術>
【0016】
<1.撮像装置の全体構成>

図1は、本技術に係る実施形態としての信号処理装置1の構成例を示したブロック図である。ここでは、信号処理装置1がデジタルカメラ装置としての撮像装置に適用された場合を例示する。具体的に、信号処理装置1は、撮像装置による撮像画像について電子ブレ補正(EIS:Electric Image Stabilizer)のための信号処理を行う。本明細書では、電子ブレ補正の処理を「スタビライズ処理」と表記する。
【0017】
図示のように信号処理装置1は、IMU(Inertial Measurement Unit)センサ2、イメージセンサ3、前処理部4、前処理部5、クォータニオン計算部6、及びスタビライズ処理部7を備えている。
【0018】
イメージセンサ3は、例えば、CMOS(Complementary Metal Oxide Semiconductor)型やCCD(Charge Coupled Device)型などのイメージセンサとされ、二次元に複数配列された受光素子が受光した光を光電変換して撮像画像を得る。
【0019】
イメージセンサ3で得られた撮像画像は、前処理部5において例えばホワイトバランス調整やデモザイク処理などの所定の前処理が施された上で、スタビライズ処理部7に出力される。
【0020】
IMUセンサ2は、信号処理装置1を有する撮像装置の動きを検出する動きセンサを有し、該動きの検出結果を示す信号を出力する。本例のIMUセンサ2は、動きセンサとしてそれぞれ3軸の加速度センサと角速度センサとを有する。本例では、これら加速度センサと角速度センサの検出信号(3軸×2の6系統)が、上記動きの検出結果を示す信号として出力される。
以下、IMUセンサ2が出力する、該動きの検出結果を示す信号のことを総称して「IMU信号」と表記する。
【0021】
前処理部4は、IMUセンサ2からのIMU信号を入力して前処理としての所定の処理を施してクォータニオン計算部6に出力する。
クォータニオン計算部6は、前処理部4を介して入力されたIMU信号に基づき、撮像装置の姿勢を表すクォータニオン(Quaternion)を計算する。
【0022】
クォータニオン計算部6で計算されたクォータニオン(以下「IMUクォータニオン」と表記する)は、スタビライズ処理部7に入力される。
【0023】
スタビライズ処理部7は、このように入力されるIMUクォータニオンに基づき、前処理部5を介して入力される撮像画像についてのスタビライズ処理を行う。
【0024】
<2.スタビライズ処理について>
[2-1.スタビライズ処理部の内部構成]

図2は、スタビライズ処理部7の内部構成例を示したブロック図である。
ここで、以下の説明では、スタビライズ処理部7に対する入力画像、つまり本例では前処理部5による前処理済みの撮像画像の座標系のことを「入力座標系」と表記し、また、スタビライズ処理部7による出力画像、すなわちスタビ済み出力画像の座標系のことを「出力座標系」と表記する。
【0025】
スタビライズ処理部7では、電子ブレ補正(EIS:Electric Image Stabilization)として、入力画像の一部を切り出すことによりスタビ済み出力画像を得る処理を行うため、入力画像の画素数>出力画像の画素数であることが前提とされる。具体的に、本例では、入力画像は4k画像(水平方向画素数=約4000、垂直方向画素数=約2000)、出力画像は2k画像(水平方向画素数=約2000、垂直方向画素数=約1000)であるとする。
【0026】
図2に示すようにスタビライズ処理部7は、参照座標計算部11、バッファ制御部12、バッファメモリ13、メモリ制御部14、キャッシュメモリ15、及び補間フィルタ16を備える。
参照座標計算部11には、クォータニオン計算部6からのIMUクォータ二オンが入力される。参照座標計算部11は、IMUクォータ二オンに基づき、出力画像の各画素についての参照座標CRを算出する。
参照座標CRは、入力画像から出力画像を切り出すにあたり、出力座標系の各画素位置の値として入力座標系の何れの位置の値を用いるべきかを示す情報である。すなわち、出力座標系の画素位置ごとに、入力座標系における何れの位置の値を参照すべきかを示す情報となる。
【0027】
バッファメモリ13は、1フレーム分の入力画像を逐次バッファリングするメモリであり、バッファ制御部12は、バッファメモリ13に対する画像データの書き込み及び読み出しを制御する。
【0028】
キャッシュメモリ15は、入力画像からの出力画像の切り出しに用いられるメモリであり、メモリ制御部14は、キャッシュメモリ15に対する画像データの書き込み及び読み出しを制御する。
【0029】
メモリ制御部14は、バッファ制御部12を通じて、バッファメモリ13にバッファリングされた画像データのうち切り出し範囲に対応した画像データを取得し、キャッシュメモリ15に書き込む。
【0030】
また、メモリ制御部14は、上記のようにキャッシュメモリ15にキャッシュされた画像データ(入力画像の画像データ)から、出力座標系の画素位置ごとに、参照座標CRが示す入力座標系の画素及びその周囲画素含む複数画素分の画像データ(例えば、補間フィルタ16がLanczos2補間であれば4×4=16画素分の画像データ)を読み出し、補間フィルタ16に出力する。
【0031】
補間フィルタ16は、上記のようにメモリ制御部14によって出力座標系の画素位置ごとに読み出される複数画素分の画像データを逐次入力し、出力座標系の画素位置ごとに、後述する手法による補間処理を行って、出力座標系の各画素位置の値を求める。これにより、スタビ済み出力画像が得られる。
【0032】
[2-2.実施形態で採用するスタビライズ処理手法について]

図3から図15を参照して、実施形態で採用するスタビライズ処理の手法について説明する。
スタビライズ処理では、撮像された画像からカメラの傾きや動きの影響を取り除く処理を行う。
図3は、傾いたカメラで撮像した様子を示している。
ここでの傾いた状態とは、カメラがロール方向に傾いて水平・垂直方向が保たれていない状態である。この場合、撮像により得られる画像データは、図3Bのように被写体が傾いた状態となる。
このような画像データに対して、スタビライズ処理によりカメラの傾きと同じ方向に画像を回転させることで、図3Cの画像データを得ることができる。この図3Cの画像データは、図3Dのようにまっすぐの姿勢(ロール方向に傾きがない姿勢)のカメラで撮像した場合の画像と同様になる。
このように姿勢の傾きに対する回転を行うが、これは、入力画から、入力画サイズより小さいサイズの出力画を切り出す際に、切り出す画素範囲を姿勢情報に基づいて回転させることで実現する。
【0033】
IMUクォータニオンと画像入力との関係を図4に示す。
カメラを動かしながら撮像するときは、1フレームの間でもIMUクォータニオンは変化していくことになる。
IMUデータが、例えば複数ラインおきに取得されるとすると、IMUクォータニオン(図中、r0、r1、r2、r3で表す)も図示のように数ラインおきに取得される。ここでは、垂直同期信号Vsyncで示される1フレームの期間に四つのIMUクォータニオンが取得されることを示しているが、これはあくまでも説明上の一例である。この場合は、フレームの上方1/4の画像に対応してIMUクォータニオンr0、次の1/4の画像に対してIMUクォータニオンr1、次の1/4の画像に対してIMUクォータニオンr2、最後の1/4の画像に対してIMUクォータニオンr3が、それぞれ対応することになる。
ここで、図中の「仮想線L1」は、同じ値のIMUクォータニオンが対応する仮想的なラインを示している。
【0034】
従来では、上記のように1フレーム期間内にIMUデータが複数回取得される前提において、それぞれ同じIMUクォータニオンの値が対応する複数の仮想線L1を想定した上で、これら仮想線L1に従って出力座標系の各画素位置に対する参照座標CRの当て嵌めを行い、当て嵌めた参照座標CRに基づく入力画像の切り出しを行ってスタビ済み画像を得るようにしていた。
【0035】
しかしながら、このような仮想線L1を用いたスタビライズ処理では、十分なスタビ性能が得られないことが判明した。
【0036】
そこで、本実施形態では、図5に例示するような格子点メッシュを用いる手法を採用する。
格子点メッシュは、水平方向及び垂直方向にそれぞれ複数配列された格子点(図中、▲マークにより表す)を有する。
格子点メッシュにおいては、水平方向に配列された複数の格子点で成る格子点行が、垂直方向に複数配列されている。或いは、このことは、垂直方向に配列された複数の格子点で成る格子点列が、水平方向に複数配列されていると換言することができる。
格子点メッシュにおいて、各格子点行は、図4に示した仮想線L1に相当するものであり、各格子点行にはそれぞれの行位置に対応したタイミングで取得されるIMUデータに基づくIMUクォータニオンが対応づけられる。換言すれば、格子点行ごとに、各格子点に対応づけられるIMUクォータニオンの値は同じである。
【0037】
なお、図中では、格子点メッシュの各格子点行における格子点の数が6、すなわち水平方向の分割数が5とされ、各格子点列における格子点の数が5、すなわち垂直方向の分割数が4とされた例を示しているが、格子点メッシュの水平方向、垂直方向それぞれの分割数がこれらの数値に限定されるものではない。
【0038】
格子点メッシュの各格子点の位置は、IMUデータの取得タイミングとの対応をとるため、入力座標系における位置として管理される。
参照座標計算部11では、このような入力座標系における格子点の位置を、出力座標系における位置に変換する。
【0039】
図6は、格子点メッシュの座標変換についての説明図である。
格子点の位置を出力座標系の位置に変換するには、入力画像が受ける変化と同様の変化を格子点メッシュに加えればよい。具体的には、図6に示すように、先ず、入力画像にレンズ歪み除去処理が施されることに対応して、格子点メッシュにレンズ歪み除去処理を施し、その上で、カメラと同じ向きに回転させる。これが、出力座標系に変換したものとなる。
【0040】
本例のスタビライズ処理では、上記のように出力座標系に変換した格子点メッシュと、図7Aに示すようなセグメントマトリクスとを用いる。
セグメントマトリクスは、出力画像(スタビライズ処理による出力画像の画枠)を所定のセグメント単位で分割したときの各セグメントの位置(図中、●マークにより表す)を表したものである。本例では、1セグメントのサイズは例えば64画素×64画素であるとする。
【0041】
図7Bは、出力座標系に座標変換された格子点メッシュとセグメントマトリクスとを出力座標系において重ね合わせて示している。
格子点メッシュのサイズがセグメントマトリクスのサイズよりも大きいのは、前述のように出力画像のサイズよりも入力画像のサイズの方が大きいことによる。
格子点メッシュを出力座標系に変換することで、図示のようにセグメントマトリクスにおける各セグメントの位置(●マーク)と、格子点メッシュにおける各格子点との位置関係を特定可能となる。
【0042】
参照座標計算部11は、出力座標系における各セグメントと格子点との位置関係に基づき、セグメントごとの参照座標CRを求める。
このために、先ず参照座標計算部11は、図8に示すようなセグメント探索を行う。
セグメント探索は、セグメントマトリクスを構成する各セグメントについて、●マークで示すセグメント位置が格子点メッシュにおける何れのマス目内に位置するかを把握するための処理となる。
具体的に、参照座標計算部11は、格子点メッシュにおけるマス目ごとに、内包されるセグメント位置を内外判定によって特定する。この内外判定により、各セグメント位置が、格子点メッシュの何れのマス目内に位置するのかが特定される。
各セグメント位置における参照座標CRは、そのセグメント位置を内包する四つの格子点それぞれにおけるIMUクォータニオンに基づき求めることができる。以下の説明では、格子点メッシュにおける各格子点には、対応するIMUクォータニオンから算出された参照座標CRの情報が対応づけられている前提とする。以下、このように各格子点に対応づけられた参照座標CRのことを「格子点参照座標」と表記する。
【0043】
参照座標計算部11は、内外判定(セグメント探索)によって各セグメント位置が格子点メッシュの何れのマス目内に位置するかを特定した上で、図9に示すような三角補間により、セグメント位置ごとの参照座標CRを算出する。
具体的に、この三角補間では、セグメント位置の座標と、格子点メッシュにおける該セグメント位置を内包するマス目の四つの格子点のうちの三つの格子点の座標と、さらにそれら格子点に対応づけられた格子点参照座標の情報とを用いる。
この三角補間としては、例えば、図10に示すような要領で行えばよい。
【0044】
三角補間により各セグメント位置の参照座標CRを求めることで、図11に示すようなリメッシュデータを得ることができる。このリメッシュデータは、出力座標系におけるセグメント粒度での各位置の参照座標CRを示すデータとなる。図中では、セグメント粒度での各位置の参照座標CR、すなわち各セグメント位置ごとに算出された参照座標CRを◆マークにより表している。
【0045】
参照座標計算部11は、上記のようなリメッシュデータに基づき、出力画像における画素位置ごとの参照座標CRを求める。
【0046】
図12は、リメッシュデータから画素位置単位の参照座標CRを求めることのイメージ図であり、図中では、画素位置単位の参照座標CRを■マークにより表している。
本例では、参照座標CRは、リメッシュデータ(セグメント粒度での参照座標CR)を用いた線形補間(バイリニア補間)によって求める。具体的には、対象とする画素位置を内包するセグメントの4隅の各点の参照座標CRを用いたバイリニア補間によって求める。
この際に、前述の三角補間を利用しないのは、バイリニア補間は三角補間よりも軽量で、一度、リメッシュデータに変換されたデータはバイリニア補間でも十分な精度が得られるためである。ただし、三角補間がLSI(Large Scale Integrated circuit)内のハードウェア回路として実装された場合は、このブロックを流用してすべての画素を三角補間する方が、バイリニア補間回路を別途設けるよりも回路規模の観点から有利とされている。
【0047】
出力画像の画素位置ごとの参照座標CRが求まることで、画素位置ごとに入力座標系のどの位置の値を参照すべきかが特定される。ただし、上記のように参照座標CRはリメッシュデータに基づく補間処理で算出されるため、整数単位(つまり入力画像における画素単位)の値ではなく小数を含む値となり得る。このため、参照座標CRに基づく出力画像のレンダリングには、図2に示した補間フィルタ16を用いる。
【0048】
図13は、補間フィルタ16による補間処理についての説明図である。
補間フィルタ16には、メモリ制御部14の制御により、キャッシュメモリ15にキャッシュされた入力画像(画素値)のうちから、出力画素ごとのレンダリングに必要とされる複数画素分の画素値が逐次入力される。具体的に、出力画素ごとのレンダリングに必要とされる複数画素分の画素値とは、該出力画素についての参照座標CRが示す入力座標系の位置が含まれる画素と、該画素の周辺画素とを含んだ複数画素で成る領域のデータである(図中、太枠で囲った領域Arを参照)。
以下では説明上、参照座標CRが示す入力座標系の位置が含まれる画素のことを「参照画素Pr」と表記する。また、この参照画素Prとその周辺画素とを含む、レンダリングに必要とされる画素領域のことを「参照領域Ar」と表記する。参照領域Arは、参照画素Prを中心としたm画素×m画素(mは3以上の自然数)分の領域である。なお、図中では、参照領域Arが参照画素Prを中心とした3画素×3画素=9画素分の領域であるものとしているが、これは説明上の一例であり、参照領域Arのサイズを限定するものではない。
【0049】
補間フィルタ16は、処理対象とする出力画素について、その参照座標CRが示す位置の値を、参照領域Arの各画素の値を用いた補間処理により求める。この補間処理には、例えば、Lanczosフィルタを用いる。具体的には、Lanczos2フィルタや、エリアシング防止の観点でガウシアンフィルタをブレンドしたハイブリッドフィルタを用いることが考えられる。このハイブリッドフィルタは、画像フォーマットがRGGBで配列しているRAWフォーマットでのLanczos2補間などで有効で、特に高周波帯域でのエリアシング防止のために用いられる。
補間フィルタ16は、このような補間処理を出力画素ごとに順次行う。これにより、スタビ済み出力画像が得られる。
【0050】
なお、スタビ済み出力画像のレンダリングにおいては、上記のような補間フィルタ16の補間処理による画素値の算出と共に、レンズシェーディングに対する輝度調整を行うこともできる。その場合には、格子点に対しては参照座標CR以外にも輝度制御情報などを持たせて、補間処理と共にゲイン調整を行う。
同様に、自己位置推定のSLAM技術より得られたローカルモーション情報や、画像の深度を得るToFセンサ等のデプスセンサによるデプス情報などを格子点に持たせることで、格子点ベースでの自由度の高い座標補正、デプス補正などにも利用することができる。
【0051】
図14は、図2に示した参照座標計算部11の機能構成を例示した機能ブロック図である。
図示のように参照座標計算部11は、格子点メッシュ生成・成形部21、セグメントマトリクス生成部22、セグメント探索部23、リメッシュデータ生成部24、及び各画素座標補間部25としての機能を有する。
【0052】
格子点メッシュ生成・成形部21は、格子点メッシュの生成、及び前述した出力座標系への変換のための回転等(図6参照)、格子点メッシュの成形のための処理を行う。
【0053】
図15は、格子点メッシュ生成・成形部21の機能構成を説明するための図である。なお、図15では格子点メッシュ生成・成形部21の機能構成と共に、格子点メッシュが成形される課程を模式的に表したイメージ図を併せて示している。
図示のように格子点メッシュ生成・成形部21は、格子点メッシュ生成器31、レンズ歪補正器32、射影器33、回転器34、自由曲率透視投影器35、走査制御器36、クリップ器37、及び各格子点参照座標計算器38としての機能を有する。
【0054】
格子点メッシュ生成・成形部21は、格子点メッシュを生成し、成形する。
レンズ歪補正器32は、レンズパラメータに基づいて格子点メッシュに対するレンズ歪み補正処理を行う。
【0055】
射影器33は、レンズ歪補正器32によるレンズ歪み補正処理後の格子点メッシュを仮想天球に対し射影(投影)する。射影手法としては、例えば中心射影や等距離射影等を採用することができる(図中のイメージ図では中心射影の例を示している)。本例の射影器33は、射影パラメータに基づいてこれら中心射影、等距離射影の何れかによる射影処理を行う。
【0056】
回転器34は、IMUクォータニオンに基づき、射影器33により仮想天球に投影された格子点メッシュを回転させる。この回転により、前述したようなカメラと同じ向きに回転させる作用が得られる。回転には、IMUクォータニオンにおける回転量を示す情報(回転量のパラメータ)を用いる。
【0057】
自由曲率透視投影器35は、投影パラメータに基づき、回転器34で回転された格子点メッシュを自由曲率透視投影により平面に対して投影(再投影)する。自由曲率透視投影を採用することで、再投影される格子点メッシュに所望のレンズ効果を与えることができ、出力画像の絵作りを行うことができる。投影パラメータは、このようなレンズ効果の態様を指示するためのパラメータとなる。
走査制御器36は、平面に投影された格子点メッシュについて、適切な縮尺設定やオフセット変更のためのアフィン変換処理を行う。走査制御器36は、これら縮尺設定やオフセット変更を例えば予め定められた縮尺/オフセットパラメータとしての所定パラメータに基づいて行う。
【0058】
クリップ器37は、走査制御器36による処理後の格子点メッシュについて、クリップパラメータに基づきデータの固定少数点精度超え防止のためのクリップ処理を施す。なお、格子点が固定小数点のデータ域を超えた場合には、その格子点が所属するセグメントはすべて無効セグメントとして、後段で黒画出力の例外処理を行う。
このクリップ器37によるクリップ処理により、出力座標系における各格子点の座標が定まる。
【0059】
各格子点参照座標計算器38は、IMUクォータニオンに基づき、格子点メッシュにおける各格子点の参照座標(前述した格子点参照座標)を計算する。
【0060】
説明を図14に戻す。
上記のようにクリップ器37のクリップ処理で定まった各格子点の出力座標系における座標情報は、各格子点座標情報として、格子点メッシュ生成・成形部21からセグメント探索部23に供給される。
また、各格子点参照座標計算器38で得られた各格子点参照座標は、格子点メッシュ生成・成形部21からリメッシュデータ生成部24に供給される。
【0061】
セグメント探索部23は、セグメントマトリクス生成部22で生成されたセグメントマトリクスと、格子点メッシュ生成・成形部21から供給される各格子点座標情報とに基づき、前述したセグメント探索(内外判定:図7及び図8を参照)行う。これにより、セグメントマトリクスにおける各セグメント位置について、そのセグメント位置を内包する四つの格子点が特定される。
【0062】
リメッシュデータ生成部24は、格子点メッシュ生成・成形部21から供給される各格子点参座標の情報とセグメント探索部23によるセグメント探索結果の情報とに基づき、セグメント位置ごとに前述した三角補間(図9及び図10を参照)を行って、リメッシュデータ(図11を参照)を生成する。前述のように、リメッシュデータは、セグメント粒度での参照座標CRと換言できるものである。
リメッシュデータ生成部24は、生成したリメッシュデータを各画素座標補間部25に出力する。
【0063】
各画素座標補間部25は、リメッシュデータに基づき出力画像の画素位置ごとの参照座標CRを求める。前述のように、各画素位置の参照座標CRは、リメッシュデータに基づくバイリニア補間を行って求める。
各画素座標補間部25は、各画素位置の参照座標CRを図2に示したメモリ制御部14に出力する。
【0064】
図2に示したメモリ制御部14は、参照座標CRに基づき、バッファメモリ13からキャッシュメモリ15へのデータの書き込み制御を行う。
また、メモリ制御部14は、参照座標CRに基づき、出力画像の各画素位置について、その画素位置に対応した参照領域Ar(図13を参照)のデータをキャッシュメモリ15から逐次読み出して補間フィルタ16に出力する。
これにより、補間フィルタ16では、出力画像の画素位置ごとに参照領域Arのデータを用いた補間処理が逐次行われ、スタビ済み出力画像が得られる。
【0065】
上記のように、本実施形態で採用するスタビライズ処理手法では、出力画像の画素位置ごとの参照座標CRを求めるにあたって、従来のように仮想線L1としての一次元的な情報のみで出力座標系との整合をとるのではなく、格子点メッシュとしての二次元的な情報を用いて出力座標系との整合をとるものとしている。
これにより、参照座標CRの正確性を高めることができ、スタビライズ処理の性能向上を図ることができる。
【0066】
[2-3.実施形態としての幾何学的変調処理]

ここで、図15を参照して分かるように、本実施形態では、格子点メッシュについて、レンズ歪補正器32によるレンズ歪み補正処理(つまり格子点メッシュの変形)や、回転器34による回転、及び走査制御器36によるアフィン変換処理(つまり格子点メッシュの移動や拡大/縮小等)などの幾何学的変調処理を施している。
ここで、幾何学的変調処理とは、オブジェクトの形状、位置、姿勢、大きさの少なくとも何れかを変化させる処理を意味する。ここで言うオブジェクトとは、複数の要素で成るものであり、格子点メッシュはこのオブジェクトの一例である。つまり、格子点メッシュは、複数の格子点を要素として成るオブジェクトであると言うことができる。或いは、格子点メッシュにおいて、隣接した四つの格子点で囲まれる一つのマス目がポリゴンとされた場合には、格子点メッシュは、複数のポリゴンを要素として成るオブジェクトであると言うこともできる。
【0067】
先に触れたように、複数の要素で成るオブジェクトについての幾何学的変調処理は、一般的には各要素の座標変換処理として行われるものであるが、各要素についてそれぞれ座標変換を行うことは幾何学的変調処理に要する演算コストが増大化し、望ましくない。
【0068】
そこで、本実施形態では、AI(Artificial Intelligence:人工知能)の分野で用いられる積層オートエンコーダ(Stacked AutoEncoder:以下「SAE」と表記する)による自己教示学習の機能を利用して、オブジェクトとしての格子点メッシュを近似曲面化し、近似曲面データの状態で幾何学的変調処理を施すという手法を採る。
【0069】
図16は、上記のような近似曲面データに対する幾何学的変調処理を実現するための機械学習について説明するための図である。
先ず、学習環境においては、格子点メッシュ生成・成形部21として、レンズ歪補正器32p、射影器33p、回転器34p、自由曲率透視投影器35p、走査制御器36p、クリップ器37p、及び各格子点参照座標計算器38を有するものを用いる。レンズ歪補正器32p、射影器33p、回転器34p、自由曲率透視投影器35p、走査制御器36p、及びクリップ器37pは、機能としては前述したレンズ歪補正器32、射影器33、回転器34、自由曲率透視投影器35、走査制御器36、及びクリップ器37とそれぞれ同様となるが、それぞれの処理を、格子点メッシュを構成する各要素の座標変換処理として行う点が異なる。
具体的に、レンズ歪補正器32pは、格子点メッシュのレンズ歪み補正処理を、格子点メッシュにおける各格子点の座標変換処理として行う。また、射影器33pは、前述した仮想天球への格子点メッシュの射影処理を各格子点の座標変換処理として行う。なお確認のため述べておくと、この射影処理では、格子点の座標について二元座標から三次元座標への変換処理を伴うものとなる。
また、回転器34pは、仮想天球に射影後の格子点メッシュについての回転処理を各格子点の座標変換処理として行い、自由曲率透視投影器35pは、回転後の格子点メッシュについての再投影処理を各格子点の座標変換処理として行う(ここでは、三次元座標から二次元座標への変換処理を伴う)。走査制御器36pは、再投影後の格子点メッシュについてのアフィン変換処理を各格子点の座標変換処理として行い、クリップ器37pは、アフィン変換後の格子点メッシュについてのクリップ処理を各格子点の座標変換処理として行う。
【0070】
また、学習環境においては、格子点メッシュ近似曲面化部39、レンズ歪補正学習器32b、射影学習器33b、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bが用いられる。
これら格子点メッシュ近似曲面化部39、レンズ歪補正学習器32b、射影学習器33b、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bとしては、DNN(Deep Neural Network)による機械学習器を用いる。具体的に本例では、CNN(Convolutional Neural Network)による機械学習器を用いる。
【0071】
図17は、CNNの説明図である。
なお、以下の説明において、DNNにおける入力/出力のタップ数や階層数、発火関数やDropOut手法など、DNNの一般的なテクニックは本技術の本質ではないため詳細な記述は割愛する。なお、以下で例示するDNNの具体的な階層数やタップ数はあくまで説明上での例示に過ぎず、これに限定されるものではない。
【0072】
DNN技術で最も普及しているCNNは、図17に示すように、畳み込み処理(Convolution)とプーリング(Pooling)を繰り返すSAE(積層オートエンコーダ)とその後段の全結合層とを有し、例えばAlexNetなどのネット構造が一般的に知られている。
CNNでは、SAEについてのプレトレーニング(PreTraining)処理が行われる。プレトレーニング処理は、教師なし学習の一種であり(半教師あり学習とも称される)、出力が入力と一致するように学習させる処理を意味する。そして、後段の全結合層での教師あり学習(FineTuningと称される)により、認識アルゴリズムを生成することが可能とされる。
なお、昨今ではこれに限定されず、様々な派生形としてのCNNが存在する。
【0073】
図18は、SAEにおける入力データのエンコード、デコードについての説明図である。
SAEにおいては、入力層に与えられた入力データに対するエンコード処理が行われる。このエンコード処理は、入力データに対する次元圧縮処理であり、中間層においては入力データの次元圧縮データが得られる。中間層から出力層にかけてはエンコードしたデータについてのデコード処理が行われる。
【0074】
ここで、SAEは、一般的には次元圧縮することを目的としたものとなるが、入力と出力を一致させるプレトレーニングが行われることで、対象の特徴表現を自己教示学習する機能を有している。
格子点メッシュの近似曲面化にあたっては、このようなSAEの自己教示学習機能を利用する。
【0075】
具体的に、格子点メッシュ近似曲面化部39については、SAEのプレトレーニングとして、格子点メッシュ生成器31により生成される格子点メッシュ(格子点ごとの座標データ)を入力データとしたプレトレーニングを行う。
格子点メッシュ近似曲面化部39のSAEに格子点メッシュを入力した場合は、SAEの中間層において格子点メッシュの次元圧縮が行われるが、上記のようなプレトレーニングが行われることで、この中間層での次元圧縮により、格子点メッシュの形状を表現する近似曲面のデータが得られる。すなわち、中間層には、格子点メッシュを近似曲面化したデータが得られるものである。
【0076】
図16において、レンズ歪補正学習器32b、射影学習器33b、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bについては、それぞれレンズ歪補正器32p、射影器33p、回転器34p、自由曲率透視投影器35p、走査制御器36p、クリップ器37pの出力(処理結果)を教師データとした機械学習(前述したFineTuning)を行う。
具体的に、レンズ歪補正学習器32bについては、格子点メッシュ近似曲面化部39におけるSAEの中間層に得られる格子点メッシュの近似曲面データを学習用入力データとし、レンズ歪補正器32pの出力を教師データとした機械学習を行う。
このような機械学習が行われることで、レンズ歪補正学習器32bとしての学習器においては、入力される近似曲面データに対し、レンズ歪補正器32pによる補正処理と同様の補正(変形)を与えるためのアルゴリズムが生成される。
このため、格子点メッシュに対するレンズ歪み補正処理としての幾何学的変調処理を実現するにあたり、各格子点の座標データについて座標変換処理を行う必要がなくなり、幾何学的変調処理のための演算コストの削減を図ることができる。
【0077】
射影学習器33bについては、直前に配置された学習器であるレンズ歪補正学習器32bにおけるSAEの中間層に得られる格子点メッシュの近似曲面データを学習用入力データとし、射影器33pの出力を教師データとした機械学習を行う。
このような機械学習が行われることで、射影学習器33bとしての学習器においては、入力される近似曲面データに対し、射影器33pによる射影処理が行われた場合と同様の幾何学的変調(変形)を与えるためのアルゴリズムが生成される。
このため、格子点メッシュに対する射影処理としての幾何学的変調処理を実現するにあたり、各格子点の座標データについて座標変換処理を行う必要がなくなり、幾何学的変調処理のための演算コストの削減を図ることができる。
【0078】
回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bについても、それぞれ回転器34p、自由曲率透視投影器35p、走査制御器36p、クリップ器37pのうち対応するものの出力を教師データとし、且つ直前に配置された学習器におけるSAEの中間層に得られる近似曲面データを学習用入力データとした機械学習を行う。
これにより、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bとしての学習器においては、それぞれ、入力される近似曲面データに対し回転器34pによる回転処理、自由曲率透視投影器35pによる再投影処理、走査制御器36pによるアフィン変換処理、クリップ器37pによるクリップ処理が行われた場合と同様の幾何学的変調を与えるためのアルゴリズムが生成される。
従って、これら回転処理、再投影処理、アフィン変換処理、クリップ処理についても各格子点の座標変換処理を行う必要がなくなり、演算コストの削減を図ることができる。
【0079】
ここで、本例において、レンズ歪補正学習器32b、射影学習器33b、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bの各学習器については、入力される近似曲面データに対する幾何学的変調のためのアルゴリズムを、該当する幾何学的変調処理についての異なるパラメータ設定ごとに学習する。
具体的に、レンズ歪補正学習器32bについては、入力される近似曲面データに対する幾何学的変調のためのアルゴリズムを、異なるレンズパラメータの設定ごとに学習する。例えば、レンズパラメータとして「A」と「B」の二種のパラメータ設定が可能とされる場合は、レンズパラメータAについての学習として、レンズパラメータAの設定状態でのレンズ歪補正器32pの出力を教師データとした学習を行って、レンズパラメータA用のアルゴリズムが生成されるようにする。また、レンズパラメータBについての学習として、レンズパラメータBの設定状態でのレンズ歪補正器32pの出力を教師データとした学習を行って、レンズパラメータB用のアルゴリズムが生成されるようにする。このとき、レンズ歪補正学習器32bでは、パラメータ設定ごとに生成したアルゴリズムを、何れのパラメータ設定に対応するアルゴリズムであるか識別可能に記憶する。
【0080】
射影学習器33b、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bについても同様の要領でパラメータ設定ごとの学習を行い、該学習によりパラメータ設定ごとに生成されたアルゴリズムを、何れのパラメータ設定に対応するアルゴリズムであるか識別可能に記憶する。
【0081】
ここで、本例では、前述したセグメントマトリクスやリメッシュデータについても近似曲面データとして扱うことで、さらなる演算コストの削減を図る。
このために、本例の学習環境においては、図16に示すようにセグメントマトリクス生成部22、セグメント探索部23、リメッシュデータ生成部24、及び各画素座標補間部25を設けると共に、格子点メッシュセグメントマトリクス変換学習器26b、リメッシュ学習器27b、及びリメッシュ拡張デコード学習器28bを設ける。
本例において、格子点メッシュセグメントマトリクス変換学習器26b、リメッシュ学習器27b、及びリメッシュ拡張デコード学習器28bの各学習器には、CNNによる学習器を用いる。
【0082】
格子点メッシュセグメントマトリクス変換学習器26bは、クリップ学習器37bにおけるSAEの中間層に得られる近似曲面データ(格子点メッシュの近似曲面データ)を学習用入力データとし、セグメント探索部23によるセグメント探索処理結果を教師データとした機械学習を行う。ここでのセグメント探索処理結果のデータは、セグメントマトリクスにおけるセグメント位置(セグメント番号)ごとに、そのセグメント位置を内包する格子点メッシュの四角形要素の番号を示すデータであるとする。
【0083】
図19は、格子点メッシュの四角形要素についての説明図である。
図示のように格子点メッシュの四角形要素は、隣接する四つの格子点(行方向、列方向、斜め方向のそれぞれにおいて隣接関係となる四つの格子点)で囲まれたマス目部分を意味するものであり、四角形要素の番号は、このマス目ごとに付された番号を意味する。
【0084】
格子点メッシュセグメントマトリクス変換学習器26bにおいては、上記の機械学習によって、格子点メッシュの近似曲面からセグメントマトリクスの近似曲面へのドメイン変換を実現するためのアルゴリズムが生成される。
図20及び図21を参照し、このようなドメイン変換の原理を一次元の例で説明する。 図20は、格子点メッシュを一次元と仮定した場合における格子点メッシュの近似曲線を例示している。横軸は要素の番号、縦軸は座標である。この一次元の例から分かるように、格子点メッシュの近似曲面データは、格子点メッシュの四角形要素の番号と座標との関係式に相当するものと表現することができる。
図21は、セグメントマトリクスを一次元と仮定した場合におけるセグメントマトリクスの近似曲線を例示している。横軸はセグメント番号、縦軸は格子点メッシュの四角形要素の番号である。セグメントマトリクスの近似曲線は、格子点メッシュの四角形要素の番号とセグメント番号との関係式に相当するものと表現することができる。
これら図20図21の対比より、セグメントマトリクスの近似曲面は、格子点メッシュの近似曲面に対して変形可能な相関性があることが分かる。
【0085】
格子点メッシュセグメントマトリクス変換学習器26bでは、上記したようなクリップ学習器37bからの近似曲面データを学習用入力データとし、セグメント探索部23によるセグメント探索処理結果を教師データとした機械学習が行われることで、クリップ学習器37bから入力される格子点メッシュの近似曲面データを、セグメントマトリクスの近似曲面データ(格子点メッシュの四角形要素の番号とセグメント番号との関係式)に変換するアルゴリズムが生成される。
【0086】
リメッシュ学習器27bは、格子点メッシュセグメントマトリクス変換学習器26bにおけるSAEの中間層に得られるセグメントマトリクスの近似曲面データと、クリップ学習器37bにおけるSAEの中間層に得られる格子点メッシュの近似曲面データとを学習用入力データとし、且つ、リメッシュデータ生成部24の出力(セグメント粒度での参照座標CR)を教師データとした機械学習を行う。
この機械学習により、リメッシュ学習器27bにおいては、セグメントマトリクスにおける各セグメント位置(番号)とそのセグメント位置に対応する参照座標CRとの関係式に相当する近似曲面データを得るためのアルゴリズムが生成される。
【0087】
リメッシュ拡張デコード学習器28bは、リメッシュ学習器27bの中間層に得られる近似曲面データと、出力画像の各画素位置を指示するための座標データ(出力座標系は二次元であるため図中ではx、yと示している)を学習用入力データとし、且つ、各画素座標補間部25の出力(つまり出力画像の画素位置ごとの参照座標CR)を教師データとした機械学習を行う。
【0088】
図22は、リメッシュ拡張デコード学習器28bが有するSAEにおける拡張デコーダの説明図である。
リメッシュ拡張デコード学習器28bでは、リメッシュ学習器27bからの近似曲面データを入力として、x、yの座標データで指定される画素位置の参照座標CRを出力する学習を行う。
【0089】
このような学習が行われることで、リメッシュ拡張デコード学習器28bでは、リメッシュ学習器27bより入力される近似曲面データから、x、yの座標データで指定される画素位置の参照座標CRをデコードするアルゴリズムが生成される。
【0090】
図23は、学習済みとされた各学習器を用いた参照座標計算部11の構成例を示した図である。
図示のように参照座標計算部11における格子点メッシュ生成・成形部21には、格子点メッシュ生成器31、及び各格子点参照座標計算器38と共に、格子点メッシュ近似曲面化部39、レンズ歪補正学習器32a、射影学習器33a、回転学習器34a、自由曲率透視投影学習器35a、走査制御学習器36a、及びクリップ学習器37aが備えられる。
ここで、レンズ歪補正学習器32a、射影学習器33a、回転学習器34a、自由曲率透視投影学習器35a、走査制御学習器36a、及びクリップ学習器37aは、それぞれ学習済みとされたレンズ歪補正学習器32b、射影学習器33b、回転学習器34b、自由曲率透視投影学習器35b、走査制御学習器36b、及びクリップ学習器37bを表している。
【0091】
また、参照座標計算部11には、格子点メッシュセグメントマトリクス変換学習器26a、リメッシュ学習器27a、及びリメッシュ拡張デコード学習器28aが備えられる。これら格子点メッシュセグメントマトリクス変換学習器26a、リメッシュ学習器27a、及びリメッシュ拡張デコード学習器28aは、それぞれ学習済みの格子点メッシュセグメントマトリクス変換学習器26b、リメッシュ学習器27b、及びリメッシュ拡張デコード学習器28bを表す。
【0092】
格子点メッシュ生成・成形部21において、格子点メッシュ近似曲面化部39には、格子点メッシュ生成器31が生成した格子点メッシュの格子点ごとの座標データが入力される。
ここで、格子点メッシュについては、各フレームで共通のデータを用いればよい。従って、格子点メッシュ近似曲面化部39による近似曲面データの生成処理は、少なくとも1度行われればよい(生成した近似曲面データをメモリに記憶しておきフレームごとに逐次読み出すようにすればよい)。
【0093】
図示のようにレンズ歪補正学習器32aには、格子点メッシュ近似曲面化部39からの近似曲面データが入力データとして与えられ、射影学習器33aには、レンズ歪補正学習器32aでレンズ歪み補正処理としての幾何学的変調処理が施された近似曲面データが入力データとして与えられる。また、回転学習器34aには、射影学習器33aで射影処理としての幾何学的変調処理が施された近似曲面データが入力データとして与えられ、自由曲率透視投影学習器35aには、回転学習器34aで回転処理としての幾何学的変調処理が施された近似曲面データが入力データとして与えられる。さらに、走査制御学習器36aには、自由曲率透視投影学習器35aで再投影処理としての幾何学的変調処理が施された近似曲面データが入力データとして与えられ、クリップ学習器37aには、走査制御学習器36aでアフィン変換処理としての幾何学的変調処理が施された近似曲面データが入力データとして与えられる。
【0094】
ここで、先の説明から理解されるように、本例では、レンズ歪補正学習器32a、射影学習器33a、回転学習器34a、自由曲率透視投影学習器35a、走査制御学習器36a、及びクリップ学習器37aは、それぞれ異なるパラメータ設定ごとに近似曲面データに対する幾何学的変調処理のアルゴリズムが学習されている。これらレンズ歪補正学習器32a、射影学習器33a、回転学習器34a、自由曲率透視投影学習器35a、走査制御学習器36a、及びクリップ学習器37aは、学習された複数のアルゴリズムのうちパラメータ設定に応じたアルゴリズムを使用するように、アルゴリズムを切り替える機能を有する。
【0095】
格子点メッシュセグメントマトリクス変換学習器26aには、クリップ学習器37aでクリップ処理としての幾何学的変調処理が施された格子点メッシュの近似曲面データが入力データとして与えられる。
【0096】
リメッシュ学習器27aには、格子点メッシュセグメントマトリクス変換学習器26aでの変換処理で得られたセグメントマトリクスの近似曲面データと、各格子点参照座標計算器38からの各格子点参照座標と、クリップ学習器37aからの近似曲面データとが入力データとして与えられる。
【0097】
リメッシュ拡張デコード学習器28aには、リメッシュ学習器27aで得られるリメッシュデータについての近似曲面データ(セグメント位置と参照座標CRとの関係式に相当する近似曲面データ)と、出力画像の画素位置を指定するためのx、yの座標データとが入力データとして与えられる。これにより、リメッシュ拡張デコード学習器28aは、リメッシュ学習器27aより入力される近似曲面データから、x、yの座標データで指定される画素位置の参照座標CRをデコードして出力する。
【0098】
<3.変形例>

なお、本技術はこれまで説明した具体例に限定されるものではなく、多様な変形例としての構成を採り得る。
例えば、上記では、格子点メッシュとして、図24Aに示すような固定メッシュモードによる格子点メッシュを生成する例を挙げたが、格子点メッシュの生成には、例えば図24Bから図24Dに例示するような1次元可変メッシュモード、2次元可変メッシュモード、有限要素メッシュモード等、固定メッシュモード以外の他のモードを採用することもできる。
【0099】
また、上記では、信号処理装置1におけるスタビライズ処理に本技術が適用される例を挙げたが、本技術は、複数の要素で成るオブジェクトに対する幾何学的変調処理を行う場合に広く好適に適用できる。
【0100】
また、上記では、オブジェクトに対する幾何学的変調処理の例として、レンズ歪み補正処理、仮想天球への射影処理、仮想天球上での回転処理、再投影処理、縮尺やオフセット変更のためのアフィン変換処理、及びクリップ処理を例示したが、本技術を適用可能な幾何学的変調処理としてはこれらの処理に限定されるものではない。
【0101】
<4.実施形態のまとめ>

上記のように実施形態としての信号処理装置(同1)は、複数の要素で成るオブジェクトの要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダを有し、要素ごとの座標データを入力データとして、第一積層オートエンコーダの中間層にオブジェクトを近似曲面化した近似曲面データを得る近似曲面化部(格子点メッシュ近似曲面化部39)と、近似曲面データを学習用入力データとし、且つオブジェクトに対する幾何学的変調処理を要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダを有し、該第二積層オートエンコーダにより近似曲面データに対する幾何学的変調処理を施す幾何学的変調処理部(例えば、レンズ歪補正学習器32a等)と、を備えるものである。
上記構成によれば、オブジェクトの変形や移動、回転等の幾何学的変調処理は、第一積層オートエンコーダが各要素の座標データを次元圧縮することで得られるデータとしての近似曲面データを対象として行われる。
従って、オブジェクトの各要素について座標変換を行う場合と比較して、オブジェクトの幾何学的変調処理に係る演算コストの削減を図ることができる。
【0102】
また、実施形態としての信号処理装置においては、撮像装置による撮像画像のスタビライズ処理として、撮像画像の出力座標系において水平方向及び垂直方向にそれぞれ複数配列された格子点を有し格子点ごとに撮像装置の動き情報が対応づけられる格子点メッシュを用いたスタビライズ処理を行い、オブジェクトが格子点メッシュとされている。
これにより、格子点メッシュを用いたスタビライズ処理で行われる格子点メッシュの変形や回転等の幾何学的変調処理が、格子点メッシュの近似曲面データを対象として行われる。
従って、格子点メッシュの幾何学的変調に係る演算コストの削減が図られ、スタビライズ処理に要する演算コストの削減を図ることができる。
【0103】
さらに、実施形態としての信号処理装置においては、スタビライズ処理による出力画像の画枠をセグメント単位で分割して形成されるセグメントマトリクスにおける各セグメントが、幾何学的変調処理の施された格子点メッシュにおける各マス目のうち何れのマス目内に位置するかを特定するセグメント探索処理の結果を教師データとし、且つ幾何学的変調処理が施された近似曲面データを学習用入力データとして機械学習された第三積層オートエンコーダを有し、幾何学的変調処理が施された近似曲面データを入力データとして、第三積層オートエンコーダの中間層に各セグメントと格子点メッシュにおけるマス目との対応関係を示す近似曲面データを得る格子点メッシュセグメントマトリクス変換部(格子点メッシュセグメントマトリクス変換学習器26a)を備えている。
これにより、格子点メッシュの近似曲面データを入力として、各セグメントと格子点メッシュにおけるマス目との対応関係を示す近似曲面データ(格子点メッシュをセグメントマトリクスのドメインに変換した近似曲面データ)が得られる。つまり、セグメント探索結果に相当する近似曲面データを得るにあたり、セグメントマトリクスに相当する近似曲面データを生成するという比較的重い処理を行う必要をなくすことが可能となる。
従って、スタビライズ処理に係る演算コストの削減を図ることができる。
【0104】
さらにまた、実施形態としての信号処理装置においては、セグメント探索処理の結果と格子点ごとに対応づけられた動き情報とに基づきセグメントの粒度での動き情報を示すリメッシュデータを生成するリメッシュデータ生成部(同24)により得られたリメッシュデータを教師データとし、且つ、幾何学的変調処理が施された近似曲面データと、格子点メッシュセグメントマトリクス変換部により得られた近似曲面データとを学習用入力データとして機械学習された第四積層オートエンコーダを有し、幾何学的変調処理が施された近似曲面データと、格子点メッシュセグメントマトリクス変換部により得られた近似曲面データと、前記格子点ごとに対応づけられた動き情報とを入力データとして、第四積層オートエンコーダの中間層にリメッシュデータの近似曲面データを得るリメッシュ近似曲面データ生成部(リメッシュ学習器27a)を備えている。
これにより、格子点メッシュの幾何学的変調処理からリメッシュデータ生成までの処理を、それぞれ近似曲面データを扱う処理で一貫して行うことが可能となる。
従って、スタビライズ処理に係る演算コストの削減を図ることができる。
【0105】
また、実施形態としての信号処理装置においては、リメッシュデータ生成部により得られたリメッシュデータから出力画像の画枠内における各画素位置の動き情報を求める各画素動き情報計算部(各格子点参照座標計算器38)により得られた画素位置ごとの動き情報を教師データとし、且つ、リメッシュ近似曲面データ生成部により得られた近似曲面データと、画素位置を指定する座標データとを学習用入力データとして機械学習された第五積層オートエンコーダを有し、リメッシュ近似曲面データ生成部により得られた近似曲面データと、画素位置を指定する座標データとを入力として、出力画像の画枠内の指定座標における動き情報を出力する動き情報デコード部(リメッシュ拡張デコード学習器28a)を備えている。
これにより、リメッシュデータに相当する近似曲面データから、スタビライズ処理で必要とされる出力画素位置ごとの動き情報を適切にデコードすることができる。
【0106】
さらに、実施形態としての信号処理装置においては、幾何学的変調処理部が有する第二積層オートエンコーダは、近似曲面データの幾何学的変調のためのアルゴリズムを、幾何学的変調処理についての異なるパラメータ設定ごとに学習しており、幾何学的変調処理部は、パラメータ設定に応じてアルゴリズムを切り替えている。
これにより、近似曲面データの幾何学的変調処理について、パラメータ設定の変更を許容することが可能となる。
従って、単一の信号処理装置で異なるパラメータ設定による幾何学的変調処理に対応することができ、パラメータ設定ごとに異なる信号処理装置を用意する必要がなくなる。
また、パラメータ設定の動的な切り替えを許容する場合に対応することができる。例えば、幾何学的変調処理がレンズ歪み補正処理としての変形処理であって、レンズ交換が可能なカメラシステムにおいては、レンズ交換に応じてレンズ歪み補正処理のパラメータ設定を動的に変更することを要するが、そのような場合において単一の信号処理装置で対応することができる。
【0107】
また、実施形態としての信号処理方法は、複数の要素で成るオブジェクトの要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダについて、要素ごとの座標データを入力データとして、第一積層オートエンコーダの中間層にオブジェクトを近似曲面化した近似曲面データを得ると共に、近似曲面データを学習用入力データとし、且つオブジェクトに対する幾何学的変調処理を要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダにより、近似曲面データに対する幾何学的変調処理を施す信号処理方法である。
このような第一の信号処理方法によっても、上記した第一の信号処理装置と同様の作用及び効果を得ることができる。
【0108】
なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
【0109】
<5.本技術>

なお本技術は以下のような構成も採ることができる。
(1)
複数の要素で成るオブジェクトの前記要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダを有し、前記要素ごとの座標データを入力データとして、前記第一積層オートエンコーダの中間層に前記オブジェクトを近似曲面化した近似曲面データを得る近似曲面化部と、
前記近似曲面データを学習用入力データとし、且つ前記オブジェクトに対する幾何学的変調処理を前記要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダを有し、該第二積層オートエンコーダにより前記近似曲面データに対する前記幾何学的変調処理を施す幾何学的変調処理部と、を備える
信号処理装置。
(2)
撮像装置による撮像画像のスタビライズ処理として、前記撮像画像の出力座標系において水平方向及び垂直方向にそれぞれ複数配列された格子点を有し前記格子点ごとに前記撮像装置の動き情報が対応づけられる格子点メッシュを用いたスタビライズ処理を行い、
前記オブジェクトが前記格子点メッシュとされた
前記(1)に記載の信号処理装置。
(3)
前記スタビライズ処理による出力画像の画枠をセグメント単位で分割して形成されるセグメントマトリクスにおける各セグメントが、前記幾何学的変調処理の施された前記格子点メッシュにおける各マス目のうち何れのマス目内に位置するかを特定するセグメント探索処理の結果を教師データとし、且つ前記幾何学的変調処理が施された前記近似曲面データを学習用入力データとして機械学習された第三積層オートエンコーダを有し、前記幾何学的変調処理が施された前記近似曲面データを入力データとして、前記第三積層オートエンコーダの中間層に各前記セグメントと前記格子点メッシュにおける前記マス目との対応関係を示す近似曲面データを得る格子点メッシュセグメントマトリクス変換部を備えた
前記(2)に記載の信号処理装置。
(4)
前記セグメント探索処理の結果と前記格子点ごとに対応づけられた前記動き情報とに基づき前記セグメントの粒度での前記動き情報を示すリメッシュデータを生成するリメッシュデータ生成部により得られた前記リメッシュデータを教師データとし、且つ、前記幾何学的変調処理が施された前記近似曲面データと、前記格子点メッシュセグメントマトリクス変換部により得られた近似曲面データとを学習用入力データとして機械学習された第四積層オートエンコーダを有し、前記幾何学的変調処理が施された前記近似曲面データと、前記格子点メッシュセグメントマトリクス変換部により得られた近似曲面データと、前記格子点ごとに対応づけられた前記動き情報とを入力データとして、前記第四積層オートエンコーダの中間層に前記リメッシュデータの近似曲面データを得るリメッシュ近似曲面データ生成部を備えた
前記(3)に記載の信号処理装置。
(5)
前記リメッシュデータ生成部により得られた前記リメッシュデータから前記出力画像の画枠内における各画素位置の前記動き情報を求める各画素動き情報計算部により得られた前記画素位置ごとの前記動き情報を教師データとし、且つ、前記リメッシュ近似曲面データ生成部により得られた近似曲面データと、前記画素位置を指定する座標データとを学習用入力データとして機械学習された第五積層オートエンコーダを有し、前記リメッシュ近似曲面データ生成部により得られた近似曲面データと、前記画素位置を指定する座標データとを入力として、前記出力画像の画枠内の指定座標における前記動き情報を出力する動き情報デコード部を備えた
前記(4)に記載の信号処理装置。
(6)
前記幾何学的変調処理部が有する前記第二積層オートエンコーダは、前記近似曲面データの幾何学的変調のためのアルゴリズムを、前記幾何学的変調処理についての異なるパラメータ設定ごとに学習しており、
前記幾何学的変調処理部は、前記パラメータ設定に応じて前記アルゴリズムを切り替える
前記(1)から(5)の何れかに記載の信号処理装置。
(7)
複数の要素で成るオブジェクトの前記要素ごとの座標データを学習用入力データとしてプレトレーニングされた第一積層オートエンコーダについて、前記要素ごとの座標データを入力データとして、前記第一積層オートエンコーダの中間層に前記オブジェクトを近似曲面化した近似曲面データを得ると共に、
前記近似曲面データを学習用入力データとし、且つ前記オブジェクトに対する幾何学的変調処理を前記要素ごとの座標変換により行った結果を教師データとして機械学習された第二積層オートエンコーダにより、前記近似曲面データに対する前記幾何学的変調処理を施す
信号処理方法。
【符号の説明】
【0110】
1 信号処理装置
2 IMUセンサ
3 イメージセンサ
6 クォータニオン計算部
7 スタビライズ処理部
11 参照座標計算部
12 バッファ制御部
13 バッファメモリ
14 メモリ制御部
15 キャッシュメモリ
16 補間フィルタ
CR 参照座標
L1 仮想線
Pr 参照画素
Ar 参照領域
21 格子点メッシュ生成・成形部
22 セグメントマトリクス生成部
23 セグメント探索部
24 リメッシュデータ生成部
25 各画素座標補間部
31 格子点メッシュ生成器
32 レンズ歪補正器
33 射影器
34 回転器
35 自由曲率透視投影器
36 走査制御器
37 クリップ器
38 各格子点参照座標計算器
32b,32a レンズ歪補正学習器
33b,33a 射影学習器
34b,34a 回転学習器
35b,35a 自由曲率透視投影学習器
36b,36a 走査制御学習器
37b,37a クリップ学習器
26b,26a 格子点メッシュセグメントマトリクス変換学習器
27b,27a リメッシュ学習器
28b,28a リメッシュ拡張デコード学習器
39 格子点メッシュ近似曲面化部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24