JP2016158052A - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP2016158052A JP2016158052A JP2015033660A JP2015033660A JP2016158052A JP 2016158052 A JP2016158052 A JP 2016158052A JP 2015033660 A JP2015033660 A JP 2015033660A JP 2015033660 A JP2015033660 A JP 2015033660A JP 2016158052 A JP2016158052 A JP 2016158052A
- Authority
- JP
- Japan
- Prior art keywords
- video
- motion
- unit
- image processing
- sickness
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】臨場感を残しつつ、映像酔いの原因となり得る手ぶれを補正する。
【解決手段】画像処理装置は、入力映像に含まれる複数のフレームについて、入力映像を撮影した撮像手段の水平あおり方向、垂直あおり方向、光軸周りの回転方向の少なくとも1つの方向について、撮像手段の動きに応じたフレーム間の動きの量を推定する。そして、画像処理装置は、推定された前記フレーム間の動きの量を、推定したフレーム間の動きの方向毎に補正する。
【選択図】 図2
【解決手段】画像処理装置は、入力映像に含まれる複数のフレームについて、入力映像を撮影した撮像手段の水平あおり方向、垂直あおり方向、光軸周りの回転方向の少なくとも1つの方向について、撮像手段の動きに応じたフレーム間の動きの量を推定する。そして、画像処理装置は、推定された前記フレーム間の動きの量を、推定したフレーム間の動きの方向毎に補正する。
【選択図】 図2
Description
本発明は、映像酔いと呼ばれる、映像を視聴したときに発生し得る視聴者の不快感を抑制するための画像処理装置及び画像処理方法に関する。
デジタルカメラやビデオカメラによって撮影された映像には、手ぶれ等による画像揺れが存在していることが多い。このような画像揺れを含む映像は、めまいや倦怠感等、所謂「映像酔い」と呼ばれる視聴者の不快感を誘発しやすい。
従来、手ぶれ補正を行う装置としては、特許文献1に記載の技術がある。この技術は、ユーザがシャッターボタンを操作したときにカメラの動きを検出し、その動き量に応じて撮影画像を補正し、記録媒体に記録するものである。カメラの動きは、撮影した映像から特徴点を抽出することにより推定している。
従来、手ぶれ補正を行う装置としては、特許文献1に記載の技術がある。この技術は、ユーザがシャッターボタンを操作したときにカメラの動きを検出し、その動き量に応じて撮影画像を補正し、記録媒体に記録するものである。カメラの動きは、撮影した映像から特徴点を抽出することにより推定している。
ところで、映像酔いは、カメラの視点が動きながら撮影した映像を視聴したときに生じ得るものであるが、映像酔いの生じやすさは、カメラの視点の動き方向によって異なる。
しかしながら、上記特許文献1に記載の技術では、この点について全く考慮されていない。上記特許文献1に記載の技術にあっては、画像全体の揺れベクトルを検出し、当該揺れベクトルによる動きが無効となるように撮影画像を補正している。すなわち、この技術では、映像酔いを抑制するために、カメラの動きを全て抑制してしまう。そのため、例えば、カメラの視点の動き方向が、映像酔いが生じにくい方向である場合であっても、この動きを抑制するよう撮像画像が補正されてしまい、ユーザが運動しているような臨場感も失われてしまう。
そこで、本発明は、臨場感を残しつつ、映像酔いを抑制するように入力映像を補正することを目的とする。
しかしながら、上記特許文献1に記載の技術では、この点について全く考慮されていない。上記特許文献1に記載の技術にあっては、画像全体の揺れベクトルを検出し、当該揺れベクトルによる動きが無効となるように撮影画像を補正している。すなわち、この技術では、映像酔いを抑制するために、カメラの動きを全て抑制してしまう。そのため、例えば、カメラの視点の動き方向が、映像酔いが生じにくい方向である場合であっても、この動きを抑制するよう撮像画像が補正されてしまい、ユーザが運動しているような臨場感も失われてしまう。
そこで、本発明は、臨場感を残しつつ、映像酔いを抑制するように入力映像を補正することを目的とする。
上記課題を解決するために、本発明に係る画像処理装置の一態様は、入力映像に含まれる複数のフレームについて、前記入力映像を撮影した撮像手段の水平あおり方向、垂直あおり方向、光軸周りの回転方向の少なくとも1つの方向について、前記撮像手段の動きに応じたフレーム間の動きの量を推定する推定手段と、前記推定手段により推定された前記フレーム間の動きの量を、前記推定手段が推定した方向毎に補正する補正手段と、を備える。
本発明によれば、臨場感を残しつつ、映像酔いを抑制するように入力映像を補正することができる。
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
(第一の実施形態)
先ず、本発明の第一の実施形態について説明する。本実施形態では、画像処理装置は、視聴者が映像酔いを発生しにくくなるように、入力映像を補正する。このとき、画像処理装置は、映像の臨場感を残しつつ映像酔いを抑制するようにする。なお、本実施形態おいて、映像とは、複数の画像データ(フレーム)を含む動画像を意味する。また、映像酔いとは、カメラの視点が動きながら撮影した映像を視聴したときに生じ得る、めまいや倦怠感などの視聴者の不快感をいう。本実施形態においては、入力映像のフレーム間の動きを、カメラの視点の動き方向毎に補正する。
(第一の実施形態)
先ず、本発明の第一の実施形態について説明する。本実施形態では、画像処理装置は、視聴者が映像酔いを発生しにくくなるように、入力映像を補正する。このとき、画像処理装置は、映像の臨場感を残しつつ映像酔いを抑制するようにする。なお、本実施形態おいて、映像とは、複数の画像データ(フレーム)を含む動画像を意味する。また、映像酔いとは、カメラの視点が動きながら撮影した映像を視聴したときに生じ得る、めまいや倦怠感などの視聴者の不快感をいう。本実施形態においては、入力映像のフレーム間の動きを、カメラの視点の動き方向毎に補正する。
図1は、本実施形態における画像処理装置を備える表示装置の構成例である。表示装置100は、画像処理装置10と表示パネル20とを備える。なお、図1では、画像処理装置10と表示パネル20とが別体である場合を例に挙げて示しているが、表示パネル20内に画像処理装置10が含まれていてもよい。また、画像処理装置10は、撮像装置内に含まれていてもよい。
画像処理装置10は、CPU101と、ROM102と、RAM103と、メモリ104と、操作部105と、通信I/F106と、システムバス107とを備える。CPU101は、画像処理装置10における動作を統括的に制御するものであり、システムバス107を介して、各構成部(102〜106)を制御する。ROM102は、CPU101が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、メモリ104や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM103は、CPU101の主メモリ、ワークエリア等として機能する。
画像処理装置10は、CPU101と、ROM102と、RAM103と、メモリ104と、操作部105と、通信I/F106と、システムバス107とを備える。CPU101は、画像処理装置10における動作を統括的に制御するものであり、システムバス107を介して、各構成部(102〜106)を制御する。ROM102は、CPU101が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、メモリ104や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM103は、CPU101の主メモリ、ワークエリア等として機能する。
すなわち、CPU101は、処理の実行に際してROM102から必要なプログラム等をRAM103にロードし、当該プログラム等を実行することで各種の機能動作を実現する。メモリ104は、例えば、CPU101がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、メモリ104には、例えば、CPU101がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。操作部105は、例えばボタンやモードダイヤル等を含み、ユーザが当該画像処理装置10に指示を与えることができるようになっている。
通信I/F106は、外部装置(例えば、撮像装置や表示装置20等)と通信するためのインターフェースである。通信I/F106は、例えばLANインターフェース等である。システムバス107は、CPU101、ROM102、RAM103、メモリ104、操作部105及び通信I/F106を通信可能に接続する。
表示パネル20は、液晶ディスプレイ(LCD)等のモニタで構成され、画像処理装置10で処理した画像や文字を表示可能である。なお、表示パネル20は、タッチスクリーン機能を有していてもよく、その場合はタッチスクリーンを用いたユーザ指示を画像処理装置10の操作部105として扱うことも可能である。
表示パネル20は、液晶ディスプレイ(LCD)等のモニタで構成され、画像処理装置10で処理した画像や文字を表示可能である。なお、表示パネル20は、タッチスクリーン機能を有していてもよく、その場合はタッチスクリーンを用いたユーザ指示を画像処理装置10の操作部105として扱うことも可能である。
画像処理装置10は、不図示の撮像装置(カメラ等)や外部記録媒体から入力映像を取得し、臨場感を残しつつ映像酔いを抑制するように当該入力映像を補正する。画像処置装置10は、図2に示すように、復号部11と、記憶制御部12と、カメラ運動推定部13と、映像酔い評価部14と、映像補正部15と、信号変換部16と、を備える。図2に示す画像処理装置10の各部の機能は、CPU101がROM102もしくはメモリ104に記憶されたプログラムを実行することで実現される。
復号部11は、符号化された映像信号を取得し、当該映像信号を復号化することでフレームを得る。記憶制御部12は、復号部11が復号化したフレームをnフレーム分、メモリ104に記憶する。ここで、nは1以上の任意の自然数である。また、記憶制御部12は、メモリ104に記憶されたフレームを当該メモリ104から読み出し、カメラ運動推定部13及び映像補正部15に出力可能である。
復号部11は、符号化された映像信号を取得し、当該映像信号を復号化することでフレームを得る。記憶制御部12は、復号部11が復号化したフレームをnフレーム分、メモリ104に記憶する。ここで、nは1以上の任意の自然数である。また、記憶制御部12は、メモリ104に記憶されたフレームを当該メモリ104から読み出し、カメラ運動推定部13及び映像補正部15に出力可能である。
カメラ運動推定部13は、メモリ104に記憶された画像データ群(フレーム群)を、記憶制御部12を介して取得する。そして、カメラ運動推定部13は、当該フレーム群に基づいて、撮像時のカメラの動きを示す情報として、入力映像のフレーム間におけるグローバルモーション(GM)を推定する。ここで、グローバルモーションとは、映像の動きの中における画面全体の動きを指すものであり、映像を撮影した時のカメラの視点の動きに連動したフレーム間の動きを意味する。グローバルモーションは、映像の中でオブジェクトが局所的に動くローカルモーションとは区別されるものである。
映像酔い評価部14は、カメラ運動推定部13が推定したGMに基づいて、入力映像の映像酔い評価値を算出する。ここで、映像酔い評価値とは、入力映像の映像酔いを発生させる度合いを示す値である。映像補正部15は、メモリ104に記憶されたフレーム群を、記憶制御部12を介して取得する。そして、映像補正部15は、上記GMと上記映像酔い評価値とに基づいて、入力映像を、当該入力映像のフレーム間の動きの量が、映像酔いを低減するように補正する。信号変換部16は、映像補正部15が補正した映像信号を表示パネル20に表示可能な信号に変換し、これを表示パネル20に出力することで補正後の映像を表示させる。以下、図2に示す各部について詳細に説明する。
映像酔い評価部14は、カメラ運動推定部13が推定したGMに基づいて、入力映像の映像酔い評価値を算出する。ここで、映像酔い評価値とは、入力映像の映像酔いを発生させる度合いを示す値である。映像補正部15は、メモリ104に記憶されたフレーム群を、記憶制御部12を介して取得する。そして、映像補正部15は、上記GMと上記映像酔い評価値とに基づいて、入力映像を、当該入力映像のフレーム間の動きの量が、映像酔いを低減するように補正する。信号変換部16は、映像補正部15が補正した映像信号を表示パネル20に表示可能な信号に変換し、これを表示パネル20に出力することで補正後の映像を表示させる。以下、図2に示す各部について詳細に説明する。
(カメラ運動推定部13の構成)
図3は、カメラ運動推定部13の具体的構成を示すブロック図である。図3に示す画像データ取得部1301は、メモリ104に記憶されているフレーム群を、記憶制御部12を介して取得する。そして、画像データ取得部1301は、取得したフレーム群に、ジャイロスコープ等のカメラの姿勢角を測定するセンサの情報(以下、「ジャイロ情報」という)が付与されているか否かを判定する。そして、フレーム群にジャイロ情報が付与されている場合には、画像データ取得部1301は、ジャイロ情報取得部1302にフレーム群を出力する。一方、フレーム群にジャイロ情報が付与されていない場合には、画像データ取得部1301は、ブロックマッチング処理部1305にフレーム群を出力する。
ジャイロ情報取得部1302は、画像データ取得部1301から取得したフレーム群に付与されているジャイロ情報を抽出し、これをA/D変換部1303に出力する。A/D変換部1303は、ジャイロ情報取得部1302から入力したジャイロ情報をA/D変換し、その結果を動きベクトル算出部1304に出力する。動きベクトル算出部1304は、A/D変換部1303が出力したジャイロ情報をもとに、フレーム間の動きベクトルを求める。
図3は、カメラ運動推定部13の具体的構成を示すブロック図である。図3に示す画像データ取得部1301は、メモリ104に記憶されているフレーム群を、記憶制御部12を介して取得する。そして、画像データ取得部1301は、取得したフレーム群に、ジャイロスコープ等のカメラの姿勢角を測定するセンサの情報(以下、「ジャイロ情報」という)が付与されているか否かを判定する。そして、フレーム群にジャイロ情報が付与されている場合には、画像データ取得部1301は、ジャイロ情報取得部1302にフレーム群を出力する。一方、フレーム群にジャイロ情報が付与されていない場合には、画像データ取得部1301は、ブロックマッチング処理部1305にフレーム群を出力する。
ジャイロ情報取得部1302は、画像データ取得部1301から取得したフレーム群に付与されているジャイロ情報を抽出し、これをA/D変換部1303に出力する。A/D変換部1303は、ジャイロ情報取得部1302から入力したジャイロ情報をA/D変換し、その結果を動きベクトル算出部1304に出力する。動きベクトル算出部1304は、A/D変換部1303が出力したジャイロ情報をもとに、フレーム間の動きベクトルを求める。
ブロックマッチング処理部1305は、画像データ取得部1301から取得したフレーム群に対してブロックマッチング処理を行う。ここで、ブロックマッチング処理とは、あるフレームの画像上の特定の領域をテンプレートとし、次のフレームの画像上でその領域に最も類似している場所を探索する処理である。動きベクトル算出部1306は、ブロックマッチング処理部1305の処理結果をもとに、フレーム間の動きベクトルを算出する。GM推定部1307は、動きベクトル算出部1304又は1306で算出した動きベクトルに基づいて、グローバルモーション(GM)を推定する。ここで、GMは、カメラ自体の位置が変化することによる動き成分や、カメラ自体の位置は変化しないが視点が動く結果、映像のフレーム間で動きとして生じるパン、チルト、ロール、ズーム等の成分がある。そこで、GM推定部1307は、GMを視聴者の座標系であるロール(Roll)、ピッチ(Pitch)、ヨー(Yaw)、ズーム(Zoom)等に分解して推定し、これらを図1に示す映像酔い評価部14へ出力する。
前述の通り映像酔いは、カメラの視点が動きながら撮影した映像を見たときに生じる、フレーム間の動きが原因となる。さらに、カメラがロール方向に動いた映像、ピッチ方向に動いた映像、ヨー方向に動いた映像とでは、映像酔いの生じやすさが異なることがわかっている。そこで、本実施形態では、ロール、ピッチ、ヨーの軸毎にフレーム間の動きを補正し、映像酔いを抑制する場合について説明する。すなわち、GM推定部1307は、ロール、ピッチ、ヨーの少なくとも1つに関するGMを推定するものとする。
図4は、カメラ運動推定部13が実行する処理の流れを示すフローチャートである。図4に示される処理は、図1に示すCPU101が、ROM102もしくはメモリ104に格納されたプログラムを読み出して実行することにより実現される。ただし、図4の処理の一部または全部が、専用のハードウェアにより実現されてもよい。
先ずS1において、画像データ取得部1301は、メモリ104に格納されている画像データ群(フレーム群)を、記憶制御部12を介して取得する。次にS2では、画像データ取得部301は、S1において取得したフレーム群に、当該画像を撮像したカメラのジャイロ情報が付与されているかを判定する。そして、ジャイロ情報が付与されている場合にはS3に移行し、ジャイロ情報が付与されていない場合にはS6に移行する。
先ずS1において、画像データ取得部1301は、メモリ104に格納されている画像データ群(フレーム群)を、記憶制御部12を介して取得する。次にS2では、画像データ取得部301は、S1において取得したフレーム群に、当該画像を撮像したカメラのジャイロ情報が付与されているかを判定する。そして、ジャイロ情報が付与されている場合にはS3に移行し、ジャイロ情報が付与されていない場合にはS6に移行する。
S3では、ジャイロ情報取得部1302は、S1において取得したフレーム群の各フレームに付与されたジャイロ情報を取得する。ここで、ジャイロ情報とは、ロール、ピッチ、ヨー及びズーム方向の速度をジャイロスコープで検知したときの電圧値である。ここでは、ジャイロスコープのセンサ感度をS[mV/deg/sec]とし、ロール方向の電圧値をV[mV]とする。S4では、先ずA/D変換部1303は、S3において取得したジャイロ情報をデジタル値に変換する。例えば、ロール方向の情報の場合、A/D変換部1303は、ロール方向の電圧値V[mV]をデジタル値D[step]に変換する。ここで、A/D変換係数をL[mV/step]とすると、デジタル値Dは次式をもとに算出できる。なお、ピッチ、ヨー、ズーム方向のデジタル値も同様に算出することができる。
D=V/L ………(1)
D=V/L ………(1)
次にS4では、動きベクトル算出部1304は、各方向のデジタル値Dから速度θを算出する。ロール方向の動きベクトルである速度θは、次式をもとに算出できる。なお、ピッチ、ヨー、ズーム方向の動きベクトルも同様に算出することができる。
θ=(L/S)・D ………(2)
S5では、動きベクトル算出部1304は、S1において取得したフレームの全フレームから動きベクトルを算出したか否かを判定する。そして、全フレームで動きベクトルを算出している場合にはS13に移行し、未算出の場合には、未算出のフレームを選択してS3に戻る。
θ=(L/S)・D ………(2)
S5では、動きベクトル算出部1304は、S1において取得したフレームの全フレームから動きベクトルを算出したか否かを判定する。そして、全フレームで動きベクトルを算出している場合にはS13に移行し、未算出の場合には、未算出のフレームを選択してS3に戻る。
S6では、ブロックマッチング処理部1305は、S1において取得したフレーム群内のあるフレームと次のフレームとを選択し、これらをm×nのブロックで分割する。ここで、mおよびnは、それぞれ1以上の自然数である。次にS7〜S9において、ブロックマッチング処理部1305は、着目フレームで選択したブロックと相関の高いブロックを、次フレームから探索するブロックマッチング処理を行う。ここで、ブロックマッチング処理の方法は公知の方法を採用することができる。具体的には、ブロックマッチング処理では、着目フレームの探索元のブロックと、探索先の次フレームのブロックとの相関係数rを算出する。そして、その相関係数rが最大となる次フレームの画素を、マッチング位置として決定する。なお、カラー画像の場合にはRGBそれぞれの値に対して相関係数rを計算したのち、その平均値を評価の対象とすることができる。
先ずS7において、ブロックマッチング処理部1305は、次式をもとに相関係数rを算出する。
先ずS7において、ブロックマッチング処理部1305は、次式をもとに相関係数rを算出する。
ここで、f(i,j)は、着目フレームの座標(i,j)における画素値を示し、g(i,j)は、次のフレームの座標(i,j)における画素値を示す。
S8では、ブロックマッチング処理部1305は、着目フレームで選択したブロックと最も相関度の高いブロックを次フレームの中で探索するために、相関係数rの最大値rmaxを設定する。具体的には、最大値rmaxの初期値を0とし、次式をもとに最大値rmaxを設定する。
rmax<rのとき、rmax=r,
rmax≧rのとき、rmax=rmax ………(4)
S8では、ブロックマッチング処理部1305は、着目フレームで選択したブロックと最も相関度の高いブロックを次フレームの中で探索するために、相関係数rの最大値rmaxを設定する。具体的には、最大値rmaxの初期値を0とし、次式をもとに最大値rmaxを設定する。
rmax<rのとき、rmax=r,
rmax≧rのとき、rmax=rmax ………(4)
次にS9では、ブロックマッチング処理部1305は、着目フレームのあるブロックに対して、次フレームの全ブロックについて探索したか(相関係数rを算出したか)否かを判定する。そして、次フレームに未探索のブロックがある場合には、未探索のブロックを選択してS7に戻る。一方、全ブロックが探索済みの場合には、着目フレームのブロックの座標と、相関係数rが最大値rmaxとなった次フレームのブロックの座標とを取得してS10に移行する。
S10では、動きベクトル算出部1306は、S9において取得したブロック座標をもとに、動きベクトルを算出する。ここでは、着目フレームのブロック座標を(x,y)、次フレームのブロック座標を(x´,y´)とする。このとき、動きベクトルは、次式をもとに算出できる。
(u,v)=(x´,y´)−(x,y) ………(5)
S10では、動きベクトル算出部1306は、S9において取得したブロック座標をもとに、動きベクトルを算出する。ここでは、着目フレームのブロック座標を(x,y)、次フレームのブロック座標を(x´,y´)とする。このとき、動きベクトルは、次式をもとに算出できる。
(u,v)=(x´,y´)−(x,y) ………(5)
次にS11では、動きベクトル算出部1306は、着目フレームの全てのブロックに対して動きベクトルを算出したか否かを判定する。そして、着目フレームに動きベクトル未算出のブロックがある場合には、未算出のブロックを選択してS7へ戻り、全ブロックの動きベクトルを算出済みの場合にはS12に移行する。S12では、動きベクトル算出部1306は、フレーム群の全フレームから動きベクトルを算出したか否かを判定する。そして、全フレームで動きベクトルを算出している場合にはS13に移行し、未算出の場合には、未算出のフレームを選択してS6へ戻る。
S13では、GM推定部1307は、上記により算出した動きベクトルの分布に基づいて、GMを推定する。ここでは、カメラ自体の位置変化がない動き成分として、光軸周りの回転のロール(Roll)、垂直方向回転(垂直あおり)のピッチ(Pitch)、水平方向回転(水平あおり)のヨー(Yaw)、拡大縮小のズーム(Zoom)を定義し、これらを推定する。また、カメラ自体の位置変化がある動き成分として、光軸方向並進のドリー(Doly)、水平方向並進のトラック(Track)、垂直方向並進のブーム(Boom)を定義し、これらを推定する。
GMの推定方法としては、例えば、「映像酔いガイドライン検証システムの開発に関するフィージビリティスタディ報告書」(財団法人 機械システム振興協会著、平成19年3月、p.18−p.20)に記載された方法を採用することができる。すなわち、動きベクトルが下記(6)式で与えられることを利用し、各動き成分のGMを推定する。
GMの推定方法としては、例えば、「映像酔いガイドライン検証システムの開発に関するフィージビリティスタディ報告書」(財団法人 機械システム振興協会著、平成19年3月、p.18−p.20)に記載された方法を採用することができる。すなわち、動きベクトルが下記(6)式で与えられることを利用し、各動き成分のGMを推定する。
ここで、
a´Zoom=aZoom−1,
aZoom=A・cosθ,
bRoll=A・sinθ ………(7)
である。なお、Aはカメラのズーム倍率、θはカメラの回転角度である。また、aZoom、bRoll、cYaw及びdPitchは、カメラのズーム、ロール、ヨー及びピッチをそれぞれ表すパラメータである。さらに、a´Doly、cTrack及びdBoomは、カメラのドリー、トラック及びブームをそれぞれ表すパラメータである。GM推定部1307は、推定した各動き成分に関するGMを、図1に示す映像酔い評価部14と映像補正部15へ出力する。
a´Zoom=aZoom−1,
aZoom=A・cosθ,
bRoll=A・sinθ ………(7)
である。なお、Aはカメラのズーム倍率、θはカメラの回転角度である。また、aZoom、bRoll、cYaw及びdPitchは、カメラのズーム、ロール、ヨー及びピッチをそれぞれ表すパラメータである。さらに、a´Doly、cTrack及びdBoomは、カメラのドリー、トラック及びブームをそれぞれ表すパラメータである。GM推定部1307は、推定した各動き成分に関するGMを、図1に示す映像酔い評価部14と映像補正部15へ出力する。
(映像酔い評価部14の構成)
次に、映像酔い評価部14の具体的構成について説明する。
図5は、映像酔い評価部14の具体的構成を示すブロック図である。図5に示す分離器1401は、カメラ運動推定部13が推定したGMを取得し、ロール、ピッチ、ヨーの各軸に振り分ける。すなわち、ロール方向のGM(Rollベクトル)は速度算出部1402に、ピッチ方向のGM(Pitchベクトル)は速度算出部1403に、ヨー方向のGM(Yawベクトル)は速度算出部1404にそれぞれ出力する。速度算出部1402〜1404は、分離器1401によって振り分けられたGMからそれぞれ速度を算出し、算出した速度をそれぞれフレームカウンタ1405〜1407に出力する。フレームカウンタ1405〜1407は、速度算出部1402〜1404がそれぞれ算出した速度を一定のフレーム数分保持する。そして、フレームカウンタ1405〜1407は、一定のフレーム数まで保持したのち、所定の閾値以上の速度のフレームがいくつあるのかをカウントし、そのカウント数cntをそれぞれ評価関数算出部1408〜1410に出力する。
次に、映像酔い評価部14の具体的構成について説明する。
図5は、映像酔い評価部14の具体的構成を示すブロック図である。図5に示す分離器1401は、カメラ運動推定部13が推定したGMを取得し、ロール、ピッチ、ヨーの各軸に振り分ける。すなわち、ロール方向のGM(Rollベクトル)は速度算出部1402に、ピッチ方向のGM(Pitchベクトル)は速度算出部1403に、ヨー方向のGM(Yawベクトル)は速度算出部1404にそれぞれ出力する。速度算出部1402〜1404は、分離器1401によって振り分けられたGMからそれぞれ速度を算出し、算出した速度をそれぞれフレームカウンタ1405〜1407に出力する。フレームカウンタ1405〜1407は、速度算出部1402〜1404がそれぞれ算出した速度を一定のフレーム数分保持する。そして、フレームカウンタ1405〜1407は、一定のフレーム数まで保持したのち、所定の閾値以上の速度のフレームがいくつあるのかをカウントし、そのカウント数cntをそれぞれ評価関数算出部1408〜1410に出力する。
評価関数算出部1408〜1410は、それぞれ映像酔いテーブル記憶部1411から映像酔いテーブルを読み出す。ここで、映像酔いテーブルとは、人間の映像酔い感度特性を示すものである。そして、評価関数算出部1408〜1410は、それぞれカウント数cntと、GMの速度と、映像酔いテーブルとに基づいて、各軸(本実施形態では、ロール、ピッチ、ヨー)の評価関数を算出する。なお、評価関数は、フレームを要素とする関数である。加算器1412〜1414は、それぞれ各軸の評価関数に対して、遅延器1415〜1417において所定フレーム分遅延させた評価関数を加算する。評価値算出部1418〜1420は、各軸の評価値を算出し、これらを図1に示す映像補正部15に出力する。
図6は、映像酔い評価部14が実行する処理の流れを示すフローチャートである。図6に示される処理は、図1に示すCPU101が、ROM102もしくはメモリ104に格納されたプログラムを読み出して実行することにより実現される。ただし、図6の処理の一部または全部が、専用のハードウェアにより実現されてもよい。
先ずS21において、分離器1401は、カメラ運動推定部13から取得したGMからロール、ピッチ、ヨーの各軸にパラメータを振り分ける。具体的には、
図6は、映像酔い評価部14が実行する処理の流れを示すフローチャートである。図6に示される処理は、図1に示すCPU101が、ROM102もしくはメモリ104に格納されたプログラムを読み出して実行することにより実現される。ただし、図6の処理の一部または全部が、専用のハードウェアにより実現されてもよい。
先ずS21において、分離器1401は、カメラ運動推定部13から取得したGMからロール、ピッチ、ヨーの各軸にパラメータを振り分ける。具体的には、
次にS22において、速度算出部1402〜1404は、各軸のGMから速度Vを算出する。例えば速度算出部1402は、ロール方向のGMから速度V[deg/sec]を算出する。カメラ運動推定部13がジャイロ情報をもとにGMを推定している場合、以下のとおり速度Vを算出する。ロール方向の1フレーム間での回転角度はθ[deg]である。ここで、ジャイロ情報のサンプリング間隔がt[sec]であるとすると、速度Vは次式をもとに算出できる。
V=θ/t ………(9)
V=θ/t ………(9)
一方、ブロックマッチングからGMを推定している場合には以下のとおり速度Vを算出する。すなわち、ロール方向の1フレーム間でのGMはθであるため、撮影のフレームレートがH[fps]であるとすると、速度Vは次式をもとに算出できる。
V=θH ………(10)
また、速度算出部1403は、ピッチ方向の速度V[deg/sec]を求める。ピッチ軸は1フレームあたりの移動量がdPitch[pixel]となる。視聴者の視距離がディスプレイの標準視距離である3Hであるとすると、ピッチ方向の1フレーム間での回転角度θ[deg]は次式から求まる。なお、Hはディスプレイの垂直方向の画素数である。
θ=2tan-1(dPitch/6H) ………(11)
同様に、速度算出部1404は、ヨー方向の速度V[deg/sec]を求める。ヨー軸では1フレームあたりの移動量がcYaw[pixel]である。そのため、ヨー方向の1フレーム間での回転角度θ[deg]は上記と同様にして求まり、速度Vも同様に求まる。
V=θH ………(10)
また、速度算出部1403は、ピッチ方向の速度V[deg/sec]を求める。ピッチ軸は1フレームあたりの移動量がdPitch[pixel]となる。視聴者の視距離がディスプレイの標準視距離である3Hであるとすると、ピッチ方向の1フレーム間での回転角度θ[deg]は次式から求まる。なお、Hはディスプレイの垂直方向の画素数である。
θ=2tan-1(dPitch/6H) ………(11)
同様に、速度算出部1404は、ヨー方向の速度V[deg/sec]を求める。ヨー軸では1フレームあたりの移動量がcYaw[pixel]である。そのため、ヨー方向の1フレーム間での回転角度θ[deg]は上記と同様にして求まり、速度Vも同様に求まる。
次にS23において、フレームカウンタ1405〜1407は、f=0、cnt=0に初期化する。ここで、fは、カウントするフレーム数、cntは、速度Vが閾値Th1以上であるフレーム数である。なお、初期状態では、ロール軸を選択するものとし、S23〜S33の処理は、選択した軸に対応するフレームカウンタ、評価関数算出部、加算器、遅延器及び評価値算出部が実行する。ここでは、説明を容易にするために、以降のS24〜S33の処理をロール軸に対応する各部が実行する場合について説明する。
S24では、フレームカウンタ1405は、フレーム数fをインクリメントし、S25に移行する。S25では、フレームカウンタ1405は、着目しているフレームの速度Vが閾値Th1よりも大きいか否かを判定する。そして、V>Th1である場合にはS26に移行し、V≦Th1である場合にはS27に移行する。S26では、フレームカウンタ1405は、フレーム数cntをインクリメントし、S27に移行する。S27では、フレームカウンタ1405は、フレーム数fが閾値fth(例えば、30)に達したか否かを判定する。そして、f≧fthである場合にはS28に移行し、f<fthである場合にはS24に戻る。なお、閾値fthは、映像酔いがある一定時間以上の映像を視聴することで発生するという知見から、例えば30フレームという数値としている。ただし、閾値fthは任意の自然数であってよい。S28では、フレームカウンタ1405は、フレーム数cntが閾値Th2以上であるか否かを判定する。そして、cnt≧Th2である場合には、映像酔いが発生しうる速度、時間の映像があると判定し、S29に移行する。一方、cnt<Th2である場合には、該軸方向(ここではロール方向)のGMで映像酔いが発生しうる速度、時間の映像はないと判定し、S34に移行する。
S29では、評価関数算出部1408は、ロール軸に相当する映像酔いテーブルを映像酔いテーブル記憶部1411から読み出す。ここで、映像酔いテーブルとは、図7(a)に示すような映像酔い感度の時間変化を示すテーブルである。この図7(a)に示すように、映像酔い感度を示す関数は一過性評価関数Trと持続性評価関数Suとの2種類があり、これらは同時に発生する。映像酔いテーブル記憶部1411は、ロール軸に相当する基準評価関数Tr_r及びSu_r、ピッチ軸に相当する基準評価関数Tr_p及びSu_p、ヨー軸に相当する基準評価関数Tr_y及びSu_yを記憶している。
S30では、評価関数算出部1408は、S29において取得した映像酔いテーブルと、GMの速度、フレーム数cntに基づいて、映像酔い評価関数を算出する。まず、GMの速度とフレーム数cntとから、映像酔いの強度係数Aを算出する。
S30では、評価関数算出部1408は、S29において取得した映像酔いテーブルと、GMの速度、フレーム数cntに基づいて、映像酔い評価関数を算出する。まず、GMの速度とフレーム数cntとから、映像酔いの強度係数Aを算出する。
ここで、tは時間を示しており、上記(13)式は映像酔いの時間応答を示す。また、映像酔い評価関数は、図7(b)に示すように、GMの速度によって異なる。すなわち、GMの速度が速いほど、映像酔い感度は高くなる傾向がある。したがって、映像酔いの強度係数Aの映像を視聴することで発生する一過性の酔いTr´は、次式で表すことができる。
Tr´=Tr(Aα,Aβ,Aγ,t) ………(14)
また、映像を見てから遅延して発生し、長く残存する持続性評価関数Suは、次式で表される。そのため、映像酔いの強度係数Aの映像を視聴することで発生する持続性の酔いSu´も同様に求めることができる。
Tr´=Tr(Aα,Aβ,Aγ,t) ………(14)
また、映像を見てから遅延して発生し、長く残存する持続性評価関数Suは、次式で表される。そのため、映像酔いの強度係数Aの映像を視聴することで発生する持続性の酔いSu´も同様に求めることができる。
ここで、α´=kα、β´=kβ、γ´=kγであり、kは定数である。
次にS31において、加算器1412は、一過性評価関数Tr´、持続性評価関数Su´に対して、それぞれ遅延器1415に評価関数がある場合、それを加算する。S32では、遅延器1415は、加算器1412で加算した評価関数の時間tを一定のフレーム分遅延させて保持する。そして次の一定フレーム分の映像酔い評価関数に対して加算器1412に出力する。ここで、遅延させるフレーム数は、閾値fthとする。次にS33において、評価値算出部1418は、一過性評価関数Tr´と持続性評価関数Su´の総和をとり、これを軸ごとの評価値として算出する。S34では、評価値算出部1418は、評価値を全ての軸で算出したか否かを判定する。そして、未算出の軸が存在する場合には、未算出の軸を選択してS23に戻り、全ての軸で評価値を算出している場合には、各軸の評価値を図1に示す映像補正部15へ出力し、本処理を終了する。このように、映像酔い評価部14は、運動の方向による映像酔い感度の違いや、映像酔いの時間的な蓄積を考慮して、映像酔いを評価する。
次にS31において、加算器1412は、一過性評価関数Tr´、持続性評価関数Su´に対して、それぞれ遅延器1415に評価関数がある場合、それを加算する。S32では、遅延器1415は、加算器1412で加算した評価関数の時間tを一定のフレーム分遅延させて保持する。そして次の一定フレーム分の映像酔い評価関数に対して加算器1412に出力する。ここで、遅延させるフレーム数は、閾値fthとする。次にS33において、評価値算出部1418は、一過性評価関数Tr´と持続性評価関数Su´の総和をとり、これを軸ごとの評価値として算出する。S34では、評価値算出部1418は、評価値を全ての軸で算出したか否かを判定する。そして、未算出の軸が存在する場合には、未算出の軸を選択してS23に戻り、全ての軸で評価値を算出している場合には、各軸の評価値を図1に示す映像補正部15へ出力し、本処理を終了する。このように、映像酔い評価部14は、運動の方向による映像酔い感度の違いや、映像酔いの時間的な蓄積を考慮して、映像酔いを評価する。
(映像補正部15の構成)
次に、映像補正部15の具体的構成について説明する。
図8は、映像補正部15の具体的構成を示すブロック図である。図8に示すブロックマッチング処理部1501は、メモリ104に記憶されている映像信号(フレーム群)を、記憶制御部12を介して取得する。そして、ブロックマッチング処理部1501は、取得した映像信号に対してブロックマッチング処理を行う。動きベクトル算出部1502は、ブロックマッチング処理部1501が処理した映像信号から動きベクトルを算出する。補正量算出部1503は、映像酔い評価部14が算出した各軸の評価値に基づいて、映像酔いを抑制するように映像を補正するための補正量を算出する。重み付けテーブル取得部1504は、予めメモリ104に記憶された重み付けテーブルを取得する。
次に、映像補正部15の具体的構成について説明する。
図8は、映像補正部15の具体的構成を示すブロック図である。図8に示すブロックマッチング処理部1501は、メモリ104に記憶されている映像信号(フレーム群)を、記憶制御部12を介して取得する。そして、ブロックマッチング処理部1501は、取得した映像信号に対してブロックマッチング処理を行う。動きベクトル算出部1502は、ブロックマッチング処理部1501が処理した映像信号から動きベクトルを算出する。補正量算出部1503は、映像酔い評価部14が算出した各軸の評価値に基づいて、映像酔いを抑制するように映像を補正するための補正量を算出する。重み付けテーブル取得部1504は、予めメモリ104に記憶された重み付けテーブルを取得する。
図9は、映像補正部15が実行する処理の流れを示すフローチャートである。図9に示される処理は、図1に示すCPU101が、ROM102もしくはメモリ104に格納されたプログラムを読み出して実行することにより実現される。ただし、図9の処理の一部または全部が、専用のハードウェアにより実現されてもよい。
先ずS41において、補正量算出部1503は、各軸の映像酔い評価値を映像酔い評価部14から取得し、S42に移行する。S42では、重み付けテーブル取得部1504は、メモリ104から重み付けテーブルを読み出す。ここで、重み付けテーブルとは、映像の各動き成分を補正する際の重みを記述したテーブルである。重み付けテーブルの一例を図10に示す。この重み付けテーブルは、人間の映像酔い感度に応じて、映像酔い感度が高い(酔いやすい)運動方向であるほど、補正量の重みを大きく設定する。なお、重みの数値については図10に示す値に限定するものではない。
先ずS41において、補正量算出部1503は、各軸の映像酔い評価値を映像酔い評価部14から取得し、S42に移行する。S42では、重み付けテーブル取得部1504は、メモリ104から重み付けテーブルを読み出す。ここで、重み付けテーブルとは、映像の各動き成分を補正する際の重みを記述したテーブルである。重み付けテーブルの一例を図10に示す。この重み付けテーブルは、人間の映像酔い感度に応じて、映像酔い感度が高い(酔いやすい)運動方向であるほど、補正量の重みを大きく設定する。なお、重みの数値については図10に示す値に限定するものではない。
S43では、補正量算出部1503は、映像酔い評価値と、閾値Th3と、重み付けテーブルとに基づいて、映像の補正量を算出する。ここで、閾値Th3とは、視聴者が映像酔いを発生するか否かを判定する閾値であり、各軸の映像酔い評価値の総和が閾値Th3よりも大きいとき、映像酔いを発生するものとする。ロール、ピッチ、ヨーの各軸での映像酔い評価値をE1,E2,E3、重みをW1,W2,W3とすると、各軸における補正量Rnは下記の式から求まる。
ここで、n=1,2,3である。すなわち、R1はロール軸における補正量、R2はピッチ軸における補正量、R3はヨー軸における補正量である。補正量Rnは、補正前のGMに対する、映像酔いを抑制するように補正した後のGMの割合を示しており、0≦Rn≦1である。すなわち、Rn=1である場合には補正無し、Rnが0に近いほど補正量は大きくなり入力映像のフレーム間の動きの量が低減されることを示している。S44では、補正量算出部1503は、全ての軸において補正量Rnを算出したか否かを判定する。そして、算出している場合にはS45に移行し、算出していない場合には、未算出の軸を選択してS43に戻る。
S45では、ブロックマッチング処理部1501は、メモリ104に格納されているフレーム群を、記憶制御部12を介して取得し、ブロックマッチング処理を行う。このS45における処理は、上述したカメラ運動推定部13のブロックマッチング処理部1305での処理と同様である。次にS46において、動きベクトル算出部1502は、動きベクトルを算出する。このS46における処理は、上述したカメラ運動推定部13の動きベクトル算出部1306での処理と同様である。
S47では、補正処理部1505は、カメラ運動推定部13から各軸のGMを取得し、S48に移行する。S48では、補正処理部1505は、撮影画像のオブジェクトの運動に当たるローカルモーション(LM)を算出する。補正処理部1505は、着目フレームの各ブロックの座標(xn,yn)、次フレームの各ブロックの座標(xn+1,yn+1)、各軸のGMからLMを算出する。ここで、着目フレームから次フレームへのブロックの移動は、GMとLMとの両者の影響によって起きているといえる。よって、次フレームの座標(xn+1,yn+1)は下記の式で表すことができる。
S47では、補正処理部1505は、カメラ運動推定部13から各軸のGMを取得し、S48に移行する。S48では、補正処理部1505は、撮影画像のオブジェクトの運動に当たるローカルモーション(LM)を算出する。補正処理部1505は、着目フレームの各ブロックの座標(xn,yn)、次フレームの各ブロックの座標(xn+1,yn+1)、各軸のGMからLMを算出する。ここで、着目フレームから次フレームへのブロックの移動は、GMとLMとの両者の影響によって起きているといえる。よって、次フレームの座標(xn+1,yn+1)は下記の式で表すことができる。
上記(17)式において、xLM,yLMは、ブロックがGMの影響以外で動いた部分に相当し、この部分をLMと定義し、算出する。
S49では、補正処理部1505は、着目フレームのインデックスnが1であるか否かを判定する。そして、n=1である場合にはS50に移行し、n≠1である場合にはS51に移行する。S50では、補正処理部1505は、S43で算出した補正量と、GM及びLMを用いて映像を補正する。このS50では、補正処理部1505は、次フレームのブロックの座標(x´n+1,y´n+1)を、補正前の着目フレームのブロックの座標(xn,yn)から算出する。
S49では、補正処理部1505は、着目フレームのインデックスnが1であるか否かを判定する。そして、n=1である場合にはS50に移行し、n≠1である場合にはS51に移行する。S50では、補正処理部1505は、S43で算出した補正量と、GM及びLMを用いて映像を補正する。このS50では、補正処理部1505は、次フレームのブロックの座標(x´n+1,y´n+1)を、補正前の着目フレームのブロックの座標(xn,yn)から算出する。
ここで、θ´=R1・θである。
S51では、補正処理部1505は、S43で算出した補正量と、GM及びLMを用いて映像を補正する。このS51では、補正処理部1505は、次フレームのブロックの座標(x´n+1,y´n+1)を、補正後の着目フレームのブロックの座標(x´n,y´n)から算出する。
S51では、補正処理部1505は、S43で算出した補正量と、GM及びLMを用いて映像を補正する。このS51では、補正処理部1505は、次フレームのブロックの座標(x´n+1,y´n+1)を、補正後の着目フレームのブロックの座標(x´n,y´n)から算出する。
次にS52において、補正処理部1505は、映像補正の処理を全てのブロックで終了したか否かを判定する。そして、終了している場合にはS53に移行し、終了していない場合には、映像補正の処理をしていないブロックを選択してS48に戻る。S53では、補正処理部1505は、全てのフレームで映像補正の処理が終了したか否かを判定する。そして、処理が終了している場合には本処理を終了し、処理が終了していない場合にはS54へ移行する。S54では、映像補正部15は、フレームのインデックスnをインクリメントし、S45へ移行する。
このように、映像補正部15は、各軸について推定された映像酔いの評価値をもとに映像酔いが発生し得ると判断した場合に、映像酔いを発生させる画像揺れ分を、映像酔いを抑制するよう補正する。このとき、映像補正部15は、人間の映像酔い感度に応じた重み付けを用いて、入力映像における各軸方向の動きベクトルを補正する。すなわち、人間の酔いやすい方向の画像揺れをより確実に抑制する。また、全軸方向の動きベクトルを補正した結果、映像としての臨場感が失われてしまう場合がある。本実施形態によれば、映像酔いの発生度合いが小さい軸方向の動きベクトルについては、重みを小さくすることで、映像としての臨場感を残すことができる。
なお、本実施形態においては、GMのうちロール、ピッチ及びヨー成分を補正したが、これに限定されるものではなく、これらの一部のみを補正してもよい。また、ズーム、トラック、ブーム、ドリー成分を補正してもよい。さらに、重み付けテーブルは、図10に示すようにロール、ピッチ、ヨーについての重みを設定しているが、これも一部のみであってもよいし、他の動き成分について重みを設定してもよい。また、重み付けは、GMの速度ごとに異なっていてもよい。さらに、重み付けは、各動き成分で同じであってもよい。
なお、本実施形態においては、GMのうちロール、ピッチ及びヨー成分を補正したが、これに限定されるものではなく、これらの一部のみを補正してもよい。また、ズーム、トラック、ブーム、ドリー成分を補正してもよい。さらに、重み付けテーブルは、図10に示すようにロール、ピッチ、ヨーについての重みを設定しているが、これも一部のみであってもよいし、他の動き成分について重みを設定してもよい。また、重み付けは、GMの速度ごとに異なっていてもよい。さらに、重み付けは、各動き成分で同じであってもよい。
以上のように、本実施形態では、画像処理装置10は、入力映像に含まれる複数のフレームについて、撮像装置の動きに応じたフレーム間の動きの量を軸毎に推定する。そして、画像処理装置10は、推定されたフレーム間の動きの量を軸毎に補正する。また、このとき、画像処理装置10は、入力映像の映像酔いを発生させる度合いを示す映像酔い評価値を軸毎に推定する。そして、画像処理装置10は、推定した映像酔い評価値に基づいて、入力映像を、当該入力映像のフレーム間の動きの量が、映像酔いが低減するよう補正する。映像酔い評価値に基づいて軸毎に補正を行うので、必要以上にフレーム間の動きを抑制せず、映像酔いを発生させる画像揺れ分のみを抑制することができる。したがって、臨場感を残しつつ映像酔いを抑制した映像を出力することができる。
また、画像処理装置10は、人間の映像酔い感度に応じて入力映像を補正する。これにより、動きの方向や速度に応じて映像酔い感度(酔いやすさ)が異なることを考慮し、適切な補正を施すことができる。例えば、酔いやすい方向についてのみフレーム間の動きを抑制したり、動きの方向に応じて映像の補正量を調整したりすることも可能である。
さらに、画像処理装置10は、入力映像のフレーム間におけるグローバルモーションを推定し、当該グローバルモーションに基づいて上記映像酔い評価値を推定する。また、画像処理装置10は、上記グローバルモーションに基づいて入力映像を補正する。したがって、適切に入力映像の映像酔いを評価し、当該入力映像を補正することができる。
さらに、画像処理装置10は、入力映像のフレーム間におけるグローバルモーションを推定し、当該グローバルモーションに基づいて上記映像酔い評価値を推定する。また、画像処理装置10は、上記グローバルモーションに基づいて入力映像を補正する。したがって、適切に入力映像の映像酔いを評価し、当該入力映像を補正することができる。
また、画像処理装置10は、入力映像のフレーム群に基づいて、水平あおり、垂直あおり、回転、水平並進、垂直並進および拡大縮小の各動き成分に関するグローバルモーションのうち、複数のグローバルモーションを推定する。このように、カメラの各要素運動に関するグローバルモーションを推定する。そして、画像処理装置10は、上記各動き成分に対する人間の映像酔い感度に応じた重み付けを用いて、入力映像の各動き成分を補正する。したがって、映像酔い感度の高い動きを確実に抑制するような補正を施すことができる。例えば、回転(ロール)、垂直あおり(ピッチ)、水平あおり(ヨー)の順に重みを大きく設定すれば、ロール方向の動きを確実に抑制することができる。また、垂直あおり(ピッチ)、回転(ロール)、水平あおり(ヨー)の順に重みを大きく設定すれば、ピッチ方向の動きを確実に抑制することができる。一般に、重力方向に対して映像の変動があるロール方向、ピッチ方向の動きの方が、ヨー方向の動きに比べて酔いやすいことがわかっている。したがって、上記のように重み付けすることで、適切に映像酔いを抑制することができる。
さらに、画像処理装置10は、ブロックマッチングにより入力映像のフレーム間の動きベクトルを算出し、当該動きベクトルに基づいてグローバルモーションを推定する。したがって、適切にグローバルモーションを推定することができる。また、画像処理装置10は、入力映像のフレームに、当該入力映像を撮像した撮像装置の姿勢角情報(ジャイロ情報)が付与されている場合には、当該姿勢角情報を用いてグローバルモーションを推定する。すなわち、画像処理装置10は、フレームに姿勢角情報が付与されているか否かを判定し、付与されていると判定したとき、当該姿勢角情報に基づいて入力映像のフレーム間の動きベクトルを算出する。そして、画像処理装置10は、算出した動きベクトルに基づいてグローバルモーションを推定する。このようにジャイロ情報を用いることで、容易にグローバルモーションを推定することができる。
また、画像処理装置10は、映像酔いを抑制するよう補正した入力映像を表示パネル20に表示させるので、視聴者は、映像酔いしにくく且つ自分が運動しているような臨場感のある映像を視聴することができる。なお、本実施形態では、画像処理装置10が補正後の入力映像を表示パネル20に表示させる場合について説明したが、補正後の入力映像を記録媒体等に記録するようにしてもよい。
(第二の実施形態)
次に、第二の実施形態について説明する。上述した第一の実施形態では、予め記憶した運動方向ごとの重み付けテーブルを用いて補正を行う態様であった。第二の実施形態では、映像を視聴するユーザ(視聴者)ごとに重み付けテーブルを設定し、ユーザに応じた補正を行う方法について説明する。
図11は、第二の実施形態における画像処理装置10の機能ブロック図である。この図11において、上述した第一の実施形態における画像処理装置10と同様の構成を有する部分には図2と同一符号を付し、ここでは構成の異なる部分を中心に説明する。
次に、第二の実施形態について説明する。上述した第一の実施形態では、予め記憶した運動方向ごとの重み付けテーブルを用いて補正を行う態様であった。第二の実施形態では、映像を視聴するユーザ(視聴者)ごとに重み付けテーブルを設定し、ユーザに応じた補正を行う方法について説明する。
図11は、第二の実施形態における画像処理装置10の機能ブロック図である。この図11において、上述した第一の実施形態における画像処理装置10と同様の構成を有する部分には図2と同一符号を付し、ここでは構成の異なる部分を中心に説明する。
映像酔い感度設定部17は、映像酔い感度取得部17aと、テーブル作成部17bとを備える。映像酔い感度取得部17aは、ユーザが操作部105を用いて入力した映像酔い感度を示す情報を取得し、テーブル作成部17bに出力する。テーブル作成部17bは、映像酔い感度取得部17aから入力した情報に基づいて重み付けテーブルを作成し、映像補正部18へ出力する。映像補正部18は、テーブル作成部17bが作成した重み付けテーブルを用いて、映像酔いを抑制するように入力映像のフレームを補正する。
(映像酔い感度設定部17の構成)
以下、映像酔い感度設定部17の構成について詳細に説明する。
映像酔い感度取得部17aは、ユーザが入力した映像酔い感度を示す情報として、例えば図12に示すような映像酔い感度テーブルを取得する。映像酔い感度テーブルは、例えば、各軸において異なる速度で振動する映像に対して、映像酔いの評価結果を記述したテーブルである。図12に示すテーブルでは、上記評価結果を4段階(0:なし、1:わずかに、2:中程度、3:激しく)で示している。このように、評価結果の数値は、大きいほど不快度が高いことを示している。ただし、評価結果は4段階に限るものではない。
以下、映像酔い感度設定部17の構成について詳細に説明する。
映像酔い感度取得部17aは、ユーザが入力した映像酔い感度を示す情報として、例えば図12に示すような映像酔い感度テーブルを取得する。映像酔い感度テーブルは、例えば、各軸において異なる速度で振動する映像に対して、映像酔いの評価結果を記述したテーブルである。図12に示すテーブルでは、上記評価結果を4段階(0:なし、1:わずかに、2:中程度、3:激しく)で示している。このように、評価結果の数値は、大きいほど不快度が高いことを示している。ただし、評価結果は4段階に限るものではない。
テーブル作成部17bは、映像酔い感度取得部17aが取得した映像酔い感度テーブルに基づいて、重み付けテーブルを作成する。例えば、図12に示す評価結果の数値から、図10に示すような重み付けの値を設定し、重み付けテーブルを作成する。このとき作成される重み付けテーブルは、各軸の速度に応じて重み付けされたテーブルとなる。そして、テーブル作成部17bは、作成した重み付けテーブルを映像補正部18へ出力する。このように、映像酔い感度設定部17は、ユーザ特有の映像補正用の重み付けテーブルを作成する。
なお、ここではユーザが図12に示すような映像酔い感度テーブルを入力する例を説明したが、入力する形式はこれに限るものではない。例えば、ユーザの映像酔い感度に応じた重み付けテーブルを直接入力してもよいし、表示パネル20を通してユーザが主観評価実験を行い、その結果(例えば図13)をもとに重み付けテーブルを作成してもよい。例えば、図13において、各動き成分の速度が10[deg/sec]であるとき、主観評価値は、ロール、ピッチ、ヨーの順に大きい。したがって、当該速度では、ロール、ピッチ、ヨーの順に重み付けをする。一方、図13において、各動き成分の速度が30[deg/sec]であるとき、主観評価値は、ピッチ、ロール、ヨーの順に大きい。したがって、当該速度では、ピッチ、ロール、ヨーの順に重み付けをする。なお、映像酔い感度を評価する速度も、図12や図13に示す速度に限るものではなく、任意に速度を設定することができる。
(映像補正部18の構成)
次に、映像補正部18の構成について詳細に説明する。
図14は、映像補正部18の具体的構成を示すブロック図である。図14において、上述した第一の実施形態の映像補正部15と同一構成を有する部分には図8と同一符号を付し、ここでは構成の異なる部分を中心に説明する。
補正量算出部1801は、重み付けテーブル取得部1802が取得した重み付けテーブルと、映像酔い評価部14が算出した各軸の評価値とを入力し、これらに基づいて補正量を算出する。重み付けテーブル取得部1802は、映像酔い感度設定部17が導出したユーザ特有の重み付けテーブルを取得し、これを上記補正量算出部1801へ出力する。
次に、映像補正部18の構成について詳細に説明する。
図14は、映像補正部18の具体的構成を示すブロック図である。図14において、上述した第一の実施形態の映像補正部15と同一構成を有する部分には図8と同一符号を付し、ここでは構成の異なる部分を中心に説明する。
補正量算出部1801は、重み付けテーブル取得部1802が取得した重み付けテーブルと、映像酔い評価部14が算出した各軸の評価値とを入力し、これらに基づいて補正量を算出する。重み付けテーブル取得部1802は、映像酔い感度設定部17が導出したユーザ特有の重み付けテーブルを取得し、これを上記補正量算出部1801へ出力する。
図15は、映像補正部18が実行する処理の流れを示すフローチャートである。図15に示される処理は、図1に示すCPU101が、ROM102もしくはメモリ104に格納されたプログラムを読み出して実行することにより実現される。ただし、図15の処理の一部または全部が、専用のハードウェアにより実現されてもよい。この図15に示す処理は、図9のS42及びS43を、S61〜65に置換したことを除いては、図9と同一処理を行う。したがって、ここでは、処理の異なる部分を中心に説明する。
S61において、補正量算出部1801は、カメラ運動推定部13から各種のGMを取得し、S62に移行する。S62では、補正量算出部1801は、S61において取得したGMから各軸の速度Vを算出する。このS62の処理は、上述した第一の実施形態における図6のS22の処理を同様である。S63では、重み付けテーブル取得部1802は、映像酔い感度設定部17が導出したユーザ特有の重み付けテーブルを取得する。S64では、補正量算出部1801は映像の補正量を算出する。先ず、補正量算出部1801は、S62において算出したGMの速度をもとに、重み付けテーブルから重みを取得する。このとき、対応する速度がないときは前後の速度から補間して重みを算出してもよい。そして、補正量算出部1801は、映像酔い評価値と、閾値Th3と、S63において取得した重みとに基づいて、映像の補正量を算出する。この補正量の算出方法は、上述した第一の実施形態における図9のS43の処理と同様である。次にS65において、補正量算出部1801は、補正量の算出処理が全ての軸の映像において終了したか否かを判定する。そして、全てのフレームに対して処理が終了している場合にはS44に移行し、処理が終了していない場合には、補正量を算出していないフレームを選択してS62に戻る。
以上のように、本実施形態では、画像処理装置10は、ユーザの映像酔い感度を示す情報を取得し、そのユーザごとの映像酔い感度に応じた重み付けを用いて、入力映像の各動き成分を補正する。したがって、映像を視聴するユーザ特有の映像酔い感度に合わせて映像酔いを抑制するように、入力映像を補正することができる。このように、映像を視聴するユーザに適した補正を行うことができる。
また、画像処理装置10は、各動き成分の速度に対する人間の映像酔い感度に応じた重み付けを用いて、入力映像の各動き成分を補正する。すなわち、動きの速度に応じて映像酔い感度が異なることを考慮し、入力映像を補正することができる。したがって、例えば、ロール方向やピッチ方向など、酔いやすい方向の動きであっても、動きの速度が比較的遅い場合には映像酔いを抑制するための補正を施さないようにすることができる。また、同じ動きの方向であっても、動きの速度が速い場合には、映像酔いを確実に抑制するために補正量を大きく設定することができる。このように、臨場感を残しつつ映像酔いを確実に抑制する補正を行うことができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
10…画像処理装置、11…復号部、12…記憶制御部、13…カメラ運動推定部、14…映像酔い評価部、15…映像補正部、16…信号変換部、17…映像酔い感度設定部、17a…映像酔い感度取得部、17b…テーブル作成部、18…映像補正部
Claims (13)
- 入力映像に含まれる複数のフレームについて、前記入力映像を撮影した撮像手段の水平あおり方向、垂直あおり方向、光軸周りの回転方向の少なくとも1つの方向について、前記撮像手段の動きに応じたフレーム間の動きの量を推定する推定手段と、
前記推定手段により推定された前記フレーム間の動きの量を、前記推定手段が推定した方向毎に補正する補正手段と、を備えることを特徴とする画像処理装置。 - 前記推定手段は、前記水平あおり方向、前記垂直あおり方向、および前記回転方向のそれぞれについて前記動き量を推定し、
前記補正手段は、前記水平あおり方向、前記垂直あおり方向、および前記回転方向のそれぞれの重みを決定し、前記方向毎の重みに応じた補正量を算出し、前記補正量に基づいて前記フレーム間の動きの量を補正することを特徴とする請求項1に記載の画像処理装置。 - 前記補正手段は、人間の映像酔い感度に応じて、前記重みを決定することを特徴とする請求項2に記載の画像処理装置。
- 前記補正手段は、前記回転方向、前記垂直あおり方向、前記水平あおり方向の順に前記重みを大きく設定することを特徴とする請求項2または3に記載の画像処理装置。
- 前記補正手段は、前記垂直あおり方向、前記回転方向、前記水平あおり方向の順に前記重みを大きく設定することを特徴とする請求項2または3に記載の画像処理装置。
- 前記推定手段が推定した動きの量に基づいて前記入力映像の映像酔いを評価し、当該映像酔いを発生させる度合いを示す映像酔い評価値を導出する評価手段をさらに備え、
前記補正手段は、前記評価手段が導出した映像酔い評価値に基づいて、前記フレーム間の動きの量を補正することを特徴とする請求項1〜5のいずれか1項に記載の画像処理装置。 - 前記推定手段は、前記水平あおり方向、前記垂直あおり方向、前記回転方向の少なくとも1つの方向について、前記フレーム間におけるグローバルモーションを推定し、
前記評価手段は、前記推定手段で推定したグローバルモーションに基づいて、前記映像酔い評価値を導出し、
前記補正手段は、前記評価手段が導出した映像酔い評価値と、前記推定手段で推定したグローバルモーションとに基づいて、前記フレーム間の動きの量を補正することを特徴とする請求項6に記載の画像処理装置。 - 前記推定手段は、ブロックマッチングにより前記フレーム間の動きベクトルを算出する第一の算出手段を備え、当該第一の算出手段で算出した動きベクトルに基づいて前記グローバルモーションを推定することを特徴とする請求項7に記載の画像処理装置。
- 前記入力映像に含まれるフレームに、前記撮像装置の姿勢角情報が付与されているか否かを判定する判定手段をさらに備え、
前記推定手段は、前記判定手段で前記姿勢角情報が付与されていると判定したとき、当該姿勢角情報に基づいて前記フレーム間の動きベクトルを算出する第二の算出手段を備え、当該第二の算出手段で算出した動きベクトルに基づいて前記グローバルモーションを推定することを特徴とする請求項7に記載の画像処理装置。 - 前記補正手段で前記フレーム間の動きの量を補正した前記入力映像を表示手段に表示させる表示制御手段をさらに備えることを特徴とする請求項1〜9のいずれか1項に記載の画像処理装置。
- 前記請求項10に記載の画像処理装置と、
前記画像処理装置と通信可能に接続された前記表示手段と、を備えることを特徴とする表示装置。 - 入力映像に含まれる複数のフレームについて、前記入力映像を撮影した撮像手段の水平あおり方向、垂直あおり方向、光軸周りの回転方向の少なくとも1つの方向について、前記撮像手段の動きに応じたフレーム間の動きの量を推定するステップと、
前記推定手段により推定された前記フレーム間の動きの量を、前記推定手段が推定した方向毎に補正するステップと、を含むことを特徴とする画像処理方法。 - コンピュータを、請求項1〜10のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015033660A JP2016158052A (ja) | 2015-02-24 | 2015-02-24 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015033660A JP2016158052A (ja) | 2015-02-24 | 2015-02-24 | 画像処理装置及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016158052A true JP2016158052A (ja) | 2016-09-01 |
Family
ID=56826792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015033660A Pending JP2016158052A (ja) | 2015-02-24 | 2015-02-24 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016158052A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021157996A1 (en) * | 2020-02-07 | 2021-08-12 | Samsung Electronics Co., Ltd. | Electronic device and method for processing image thereof |
-
2015
- 2015-02-24 JP JP2015033660A patent/JP2016158052A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021157996A1 (en) * | 2020-02-07 | 2021-08-12 | Samsung Electronics Co., Ltd. | Electronic device and method for processing image thereof |
US11165960B2 (en) | 2020-02-07 | 2021-11-02 | Samsung Electronics Co., Ltd. | Electronic device and method for processing image thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9319587B2 (en) | Image pickup apparatus, image pickup method, and computer program product | |
US9979889B2 (en) | Combined optical and electronic image stabilization | |
JP6556015B2 (ja) | 情報処理装置、位置および/または姿勢の推定方法、およびコンピュータプログラム | |
US8363116B2 (en) | Image processing device, focal plane distortion component calculation method, image processing program, and recording medium | |
US8274570B2 (en) | Image processing apparatus, image processing method, hand shake blur area estimation device, hand shake blur area estimation method, and program | |
US8416308B2 (en) | Image processing device, camera motion component calculation method, image processing program, and recording medium | |
US8228383B2 (en) | Image pickup apparatus and method for controlling ranging area based on detected object | |
Hanning et al. | Stabilizing cell phone video using inertial measurement sensors | |
EP2640057B1 (en) | Image processing device, image processing method and program | |
CN104126299A (zh) | 视频图像稳定化 | |
US20120092559A1 (en) | Rolling Shutter Distortion Correction | |
CN113556464B (zh) | 拍摄方法、装置及电子设备 | |
US9569823B2 (en) | Image processing device and method, and program for correcting a blurred moving image | |
JP2011228846A (ja) | 画像処理装置および方法 | |
CN105516579A (zh) | 一种图像处理方法、装置和电子设备 | |
CN106303249B (zh) | 视频防抖方法和设备 | |
CN109040525B (zh) | 图像处理方法、装置、计算机可读介质及电子设备 | |
CN111507132A (zh) | 一种定位方法、装置及设备 | |
CN115342806B (zh) | 头戴显示设备的定位方法、装置、头戴显示设备及介质 | |
EP3796639B1 (en) | A method for stabilizing a camera frame of a video sequence | |
JP6282133B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP2016158052A (ja) | 画像処理装置及び画像処理方法 | |
JP2015114438A (ja) | 画像処理装置およびそれを備えた撮像装置、画像処理方法 | |
JP5279453B2 (ja) | 画像振れ補正装置、撮像装置及び画像振れ補正方法 | |
JP6602089B2 (ja) | 画像処理装置及びその制御方法 |