JPWO2009001510A1 - 画像処理装置、画像処理方法、プログラム - Google Patents

画像処理装置、画像処理方法、プログラム Download PDF

Info

Publication number
JPWO2009001510A1
JPWO2009001510A1 JP2009520293A JP2009520293A JPWO2009001510A1 JP WO2009001510 A1 JPWO2009001510 A1 JP WO2009001510A1 JP 2009520293 A JP2009520293 A JP 2009520293A JP 2009520293 A JP2009520293 A JP 2009520293A JP WO2009001510 A1 JPWO2009001510 A1 JP WO2009001510A1
Authority
JP
Japan
Prior art keywords
frame
angle
image data
image
range
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.)
Granted
Application number
JP2009520293A
Other languages
English (en)
Other versions
JP4886850B2 (ja
Inventor
整 山田
整 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009520293A priority Critical patent/JP4886850B2/ja
Publication of JPWO2009001510A1 publication Critical patent/JPWO2009001510A1/ja
Application granted granted Critical
Publication of JP4886850B2 publication Critical patent/JP4886850B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

動きベクトル算出部4は、フレーム画像間の動き量を算出する。マスク範囲指定部5は、フレーム画像を構成する領域を、動き量が相対的に大きな領域と、動き量が相対的に小さな領域とに分割して、動き量が相対的に大きな領域を、マスクすべき範囲として指定する。こうして、マスクが施された範囲以外から、補正パラメータの検出がなされる。補正パラメータが傾き角度である場合、傾き補正部7は、撮像素子により得られたフレーム画像に対して傾き補正を施す。

Description

本発明は、画像補正処理の技術分野に属する発明である。
画像補正処理とは、処理対象となるフレーム画像データから補正パラメータを検出して、補正パラメータを用いて画像データに補正を施す技術であり、画像の傾き補正技術、揺れ補正技術というものが知られている。
画像の傾き補正技術とは、基準となる角度からの傾き角を推定し、その傾き角を基に画像を補正する技術である。揺れ補正技術とは、連続して撮影された複数のフレーム画像データにおける背景領域を、同じ位置に固定することにより、撮影時の揺れを補正する技術である。
従来の傾き補正技術は、スキャナやコピー機等、光学読取機器の産業分野で広く利用されていたが、撮影機器の産業分野への応用も、近年、検討されつつある。一方、傾き補正技術の成果物たる工業製品には、画像処理装置、この画像処理装置を組込んだビデオカメラ、撮影処理のためのプログラムがある。
ビデオカメラへの応用が、どのような技術的意義を有するかについて説明する。ビデオカメラで歩行しながら撮影をしている場合、撮影者自身の動きと共に撮影しているビデオカメラも揺れ動いてしまう。そのため、歩行時に撮影された映像は、常に水平状態を保ったまま撮影されているとは限らない。また、ビデオカメラに備えつきのファインダーを見ずに撮影する場合、撮影者は、実際に撮影されている映像を見ている訳ではないため、先と同様に、撮影者が期待している水平状態を保った映像が常に取れている訳ではない。
水平状態から傾いた状態のまま撮影された映像は、視聴に耐えない。この傾いた映像を水平に補正するにあたって、上述したような傾き補正技術が必要になる。かかる傾き補正技術にあたっては、その基準となる角度をどのように定めるかが大きな問題になる。以下の特許文献1には、スキャナから取り込まれた文章画像において、文章画像の傾きを、基準として用いることで、傾き補正を実現する技術が開示されている。
特開2005−184685号広報
ところで、上述したような画像処理で、高い精度の補正を実現できるかどうかは、補正のための補正パラメータを、精度良く検出できるかどうかが鍵になる。つまり、補正のための補正パラメータを精度良く検出できれば、自ずと、補正後の画像の品位が向上するといっても過言ではない。例えば、傾き補正にあたっては、フレーム画像データから回転角度を検出するため、ハフ変換と呼ばれる検出アルゴリズムを実行する必要がある。ところが、ハフ変換は、画素毎の演算が必要になるため演算負荷が大きく、処理対象となる画像が、1920×1080という解像度を有している場合、演算量が大きくなり、携帯機器での実装に適さない。
そこで精度を向上させるには、フレーム画像において、どこに何が写っているかという情報を事前に取得しておけばよいように考えられる。何故なら、一般的に、スキャナなどから取り込まれる文章画像では、レイアウトが予め決まっており、光学機器の応用分野では、そのようなレイアウトの情報を手がかりとして角度を推定しているからである。
しかし、ビデオカメラなどで撮影される映像の撮影条件、撮像環境は撮影者・撮影タイミングによって異なるため、前述のレイアウト情報のような有効な事前情報が得られることは期待できない。
本発明の目的は、撮影される内容に関する事前情報を必要とすることなく、補正パラメータを高い精度で検出することができる画像処理装置を提供することである。
上記課題を解決するための画像処理装置は、補正パラメータを用いてフレーム画像データを補正する画像処理装置であって、フレーム画像データにおける絵柄の特徴を表したフレーム特徴データを生成する生成手段と、時間的に前のフレーム画像データからの動きベクトルを、処理対象となるフレーム画像データを構成する各画素ブロックのそれぞれに対して算出する算出手段と、各画素ブロックについて算出された動きベクトルに基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定する範囲指定手段と、フレーム特徴データのうち、マスクが施された範囲以外の部分から、補正パラメータを検出する検出手段とを備える。
上述したように、課題解決手段を具備した画像処理装置においてマスクが施される範囲は、各画素ブロックについて算出された動きベクトルに基づいて指定される。ここで、画像データ上の領域のうち、近景に含まれる物体や人物像等には、前のフレームからの動きベクトルの大きさや動きベクトルの方向が変わったものになることが多く、こうした物体や人物像が存在する部分が、マスクを施すべき箇所として指定されることになる。
このように、近景に含まれる物体や人物像等の近景領域にマスクが施されるので、マスクが施された領域以外の領域、つまり、撮像により得られた画像データ上の領域のうち、実世界における遠景領域に、補正パラメータ検出のための演算処理が実行されることになる。
ここで遠景領域には高いビル等、本来的に水平・垂直となるエッジ成分値を有する物体が含まれていることが多い。具体的な事例を挙げるのなら、高いビルのような構造物は遠景領域に含まれることが多いと考えられる。
このマスクにより残った領域、つまり、建造物等の静止体が写っている可能性が高い遠景領域内の特徴量に、補正パラメータ検出のための演算範囲を絞りこむことにより、構造物等の実世界における水平・垂直成分を有する物体のエッジ等が、補正パラメータとして高い確率で検出されることになる。かかる補正パラメータを用いて画像処理を行えば、傾き補正、揺れ補正といった補正処理によって、高品位な画像が得られることになる。
フレーム特徴データのうち、マスクが施された部分以外から補正パラメータを検出するので、ハフ変換などの補正パラメータ検出のための検出アルゴリズムの実行範囲が、絞りこまれることになる。こうした絞り込みにより、検出アルゴリズム実行のための処理負荷が小さくなり、消費電力を大きく低減させることができる。これにより、携帯機器への画像処理装置の実装を好適に行うことができる。マスクが施される場所は、概して近景領域なので、連続するフレームに対する動きベクトル算出によって指定することができる。かかる動きベクトル算出によって、マスクが施される範囲を決めることができるので、事前情報を必要とすることなく、補正パラメータを高精度に検出することができる。
本発明にかかる画像処理装置が組込まれたビデオカメラ100の使用行為の形態を示す図である。 本発明にかかる画像処理装置が組込まれたビデオカメラ100のハードウェア構成を示す図である。 本発明にかかる画像処理エンジン50のソフトウェア構成を示す機能構成図である。 (a)DMAコントローラ20により、フレームメモリ30及び、フレームメモリ40に書き込まれたフレーム画像t-1,フレーム画像tを示す図である。 (b)フレーム画像を構成する複数のブロックを示す図である。 (c)フレーム画像における一画素の画素値となるY,Cr,Cbを表す、32ビットデータを示す図である。 (a)図4に示したフレーム画像tに対して得られたフレーム特徴データを示す図である。 (b)角度推定にあたって、生成されるヒストグラムの一例を示す図である。 (a)連続するフレーム画像に対する動きベクトルの検出結果を示す図である。 (b)近景領域を示す情報の一例を示す図である。 (c)16画素×16画素からなるブロックの形状にて近似された、近景領域形状を示す図である。 (a)傾きを表す有効なエッジ情報の所在を示す図である。(b)(c)マスクパターンの一例を示す図である。

(a)マスク処理のための論理演算を模式的に示す図である。(b)マスクを施した場合に得られる出現頻度を実線で示し、施さなかった場合に得られる出現頻度を破線で示したヒストグラムである。(c)近景領域と遠景領域との境界における擬似輪郭に対して生成されたエッジ情報を示す図である。 (a)近景領域のマスクがなされたフレーム画像に対して、角度推定を行った場合に得られるヒストグラムを示す図である。 (b)20°という推定角度に基づき傾き補正部7が回転補正を行うことで得られる補正画像を示す図である。 フレーム画像に対する領域分割の処理手順を示すフローチャートである。 特徴量抽出から角度推定までの処理手順を示すフローチャートである。 第2実施形態に係る画像処理装置のハードウェア構成を示す図である。 (a)近景領域分離により得られるヒストグラムを示す図である。 (b)センサ値に基づき狭められた推定範囲を示す図である。 (a)第3実施形態における傾き推定処理において、題材となるフレーム画像データであり、バスの車内で撮影された画像データを示す。
(b)図14(a)のフレーム画像データに対して特徴量抽出を行うことにより得られるフレーム特徴データを示す図である。
(c)近景領域に対してマスクが施されたフレーム特徴データを示す。
(d)遠景領域に対してマスクが施されたフレーム特徴データを示す。
マスクが施された画像データと、これらのフレーム画像データに対して作成されたヒストグラムとを示す図である。 第3実施形態に係る画像処理装置の内部構成を示す図である。 第3実施形態に係る信頼度付き傾き補正処理の処理手順を示すフローチャートである。 (a)揺れ補正の対象となる、連続フレームの一例を示す図である。
(b)フレームt-1の画像データの(X4,Y4)(X5,Y5)を、フレームt-1の画像データの(X1,Y1)(X2,Y2)に一致するように変換するための回転行列Rの一例を示す図である。
(c)揺れ補正が施されたフレーム画像t-1の一例である。
(a)フレーム画像t-1、フレーム画像tに対して生成されたフレーム特徴データである。
(b)図19(a)のフレーム画像t-1、フレーム画像tのうち、近景領域をマスクすることで得られるフレーム特徴データを示す図である。
(c)フレーム画像t-1のフレーム特徴データ、フレーム画像tのフレーム特徴データから検出された特徴点を示す図である。
(a)(b)揺れ補正が施されていない2つのフレーム画像データと、揺れ補正が施された2つのフレーム画像データとを対比して示す図である。 第4実施形態に係る画像処理装置の内部構成を示す図である。 揺れ補正処理のフローチャートである。 単位球面(半径=1)上の座標へ投影されるフレーム画像t-1における特徴量と、フレーム画像tにおける特徴量とを示す図である。 (a)連続フレームを構成するフレームt-1の画像データ、フレームtの画像データを示す図である。
(b)フレームtの画像データを構成する各マクロブロックから検出された動きベクトルを示す図である。
(c)構造物の存在する領域内に構造物以外の領域がノイズとして存在する事例を示す図である。
(a)図24におけるフレーム特徴データを、揺れ特徴(t-1,t)の結果と同じ動きベクトルが占める領域と、揺れ特徴(t-1,t)の結果と異なる方向の動きベクトルが占める領域とに分離した図である。
(b)各マクロブロックについての算出された動きベクトルのうち、揺れ量推定結果に該当する方向をもつもののみを示す図である。
(c)補正パラメータである傾き角度の検出に用いられるフレーム特徴データを示す図である。
第5実施形態に係る画像処理装置の内部構成を示す図である。 揺れ量推定処理のフローチャートである。 第5実施形態に係る画像処理装置全体のフローチャートである。 第6実施形態に係る画像処理装置の内部構成を示す図である。
符号の説明
10 撮像デバイス
20 DMAコントローラ
30 フレームメモリ
40 フレームメモリ
50 画像処理エンジン
60 カードドライブ
70 角速度センサ
100 ビデオカメラ100
1 特徴量抽出部
2 線分検出部
3 角度推定部
4 動きベクトル算出部
5 マスク範囲指定部
6 マスク部
7 傾き推定部
8 符号化部
51 遠近両用マスク部
52 信頼度付角度推定部
53 傾き角度選択部
54 揺れ特徴抽出部
55 揺れ量推定部
56 揺れ補正部
57 マスクパターン拡大部
58 揺れ補正・傾き補正部
59 測距センサ
以下本発明に係る画像処理装置について図面を参照しながら説明する。
(実施の形態1)
本実施形態は、処理対象となるフレーム画像データから、補正パラメータとして傾きを検出して、この補正パラメータを用いて処理対象となるフレーム画像データに対して画像処理を施すための1つの形態である。かかる画像処理には、回転変換がある。
図1は、本発明にかかる画像処理装置が適用される撮像装置の使用形態を示す図である。本図に示すようにユーザは、吊ひもを利用することで、本発明にかかる画像処理装置を組み込んだビデオカメラ100を身に付けることができ、ハンズフリーカメラワークによる撮影を行うことができる。このビデオカメラ100の筐体には、記録媒体となる半導体メモリカードを装抜するためのカードスロット101や、撮影開始操作を受け付ける録画キー102、撮影停止操作を受け付ける停止キー103が存在している。これら、録画キー102の押下にて、ユーザは、ハンズフリーカメラワークによる撮影処理をビデオカメラ100に開始させる。そして、撮影により得られたフレーム画像は傾き補正される。傾き補正された画像データは静止画として、あるいは連続して出力されるデータを動画像として符号化した上、例えば半導体メモリカード等の記録媒体に書き込む。
図2は、本発明にかかる画像処理装置が組込まれたビデオカメラ100のハードウェア構成図である。
ビデオカメラ100は、撮像デバイス10、DMAコントローラ20、フレームメモリ30、フレームメモリ40、画像処理エンジン50、カードドライブ60から構成される。
(撮像デバイス10)
撮像デバイス10は、例えば、CCD(Charge Coupled Device)イメージセンサ,CMOS(Complementary Metal Oxide
Semiconductor)イメージセンサなどの撮像素子を具備している。撮像素子が受光した光量(アナログ値)はAD変換され、所定のタイミング毎に1画面分のデータとして、後述するフレームメモリ30、フレームメモリ40に書き込まれる。
(DMAコントローラ20)
DMAコントローラ20は、撮像デバイス10で得られた画像データを、MPUを介することなくフレームメモリ40、フレームメモリ30に書き込む。
例えば、連続する2枚のフレームの画像t-1とフレーム画像tの2枚の画像を交互に、予め用意された複数のメモリ領域、フレームメモリ30及びフレームメモリ40に書き込む。
(フレームメモリ30、40)
フレームメモリ30、40は、連続するフレーム画像を格納しておくために、所定のタイミング毎に用意された記憶領域である。フレームメモリは物理的に分離している必要はなく、メモリ(SD-RAM)内の分割された近景領域であってもよい。これらのフレームメモリ30、フレームメモリ40のアドレス空間は、後述するMPUからアクセス可能なように所定の方式でアドレス空間にマッピングされる。
(画像処理エンジン50)
画像処理エンジン50は、フレームメモリ30に格納されたフレーム画像に対して、傾き補正のための画像処理を施す。ここで、画像処理エンジン(画像処理装置)は、例えばノイマン型の一般的なコンピュータアーキテクチャに準拠し、バスにMPU、RAM、外部スロットアクセス部(メモリカード60等)が接続される。図中、DSPはフレームメモリに記憶された画像データを処理するためのプロセッサである。
(カードドライブ60)
カードドライブ60は、画像処理エンジン50により符号化がなされたフレーム画像を記録するための外部記録メディア(半導体メモリカード等)に書き込むために用意されるスロットである。
以上が、ビデオカメラ100のハードウェア構成である。
図3を用いて画像処理エンジン50の機能ブロックについて説明する。
画像処理エンジン50は、特徴量抽出部1、線分検出部2、角度推定部3、動きベクトル算出部4、マスク範囲指定部5、マスク部6、傾き補正部7、符号化部8から構成される。
(特徴抽出部1)
特徴量抽出部1は、時刻tのタイミングで撮像された画像データであるフレームメモリ30に保持された画像データの輝度成分に対してエッジ成分を抽出する。エッジを検出するための手法としては、例えば各々の画素についてSobelフィルタやCannyフィルタによって取得し、取得された値を所定のしきい値と比較する等の方法によりエッジとして検出する。特徴抽出された画像データをフレーム特徴データとしてDPRAMに記録する。
DPRAM内に記録されたフレーム特徴データは、フレーム画像内に存在する被写体の特徴的な輪郭線を表す。
図5(a)は、図4に示したフレーム画像tに対して得られたフレーム特徴データを示す。フレーム特徴データは、輝度情報のエッジ成分のデータから構成される。この輝度情報のエッジ成分は、ノイズ除去などで不適切なエッジ成分が除去された後に得られたデータである。かかるフレーム特徴データのうち、エッジでない画素を黒地で、エッジ部分を白で示した画で示す。図中の白抜きの線分は、エッジ成分であると判定された画素の集合であり、フレーム画像に存在していた人物及び構造物の輪郭が含まれる。
(動きベクトル算出部4)
動きベクトル算出部4は、時刻tの画像データを記録するフレームメモリ30の画像データと、時刻t-1の画像データを記録するフレームメモリ40に格納された画像データとを比較することにより、時刻tの画像データについてブロック単位の動きベクトルを算出して、そのスカラ量である動き量を取得する。
時刻tの画像データの所定ブロック(例えば、縦16画素×横16画素からなるブロックの画素値)と、フレーム画像t-1の画像データに含まれる同じサイズの範囲の画素のうち、相関値の高い範囲を検出することにより時刻tの所定ブロックが、フレーム画像t-1のどの位置に対応するかを検出することにより実現できる。
例として、ブロックマッチング法を詳細に説明する。フレームはブロック単位で区切られており、そのブロックの大きさは予め設定された大きさ、例えば、横16画素×縦16画素などで統一されているとする。ブロックマッチング法は、所定の1ブロック内に含まれる画素(例えば、16×16の画素)は、ブロック単位では動きが一様であると仮定して、現在の画像内を複数のブロックに区切り、現フレームの所定ブロックが、他(のあるいは現在)の画像内のどの画素値(16×16)と相関が高いか検索することにより、所定ブロックがフレーム間でどのように動いたのかの動きの対応付けを行う手法である。動きベクトル検出部4は、フレーム画像を構成するブロック単位に、フレーム画像t-1とフレーム画像tとでマッチングを行い、SAD(Sum
of Absolute Difference)などの類似度を計測する手段を用いて、ブロックごとに最も類似度の高いブロックを探索する。探索範囲は、該当ブロックから一定範囲内とし、その範囲内で現在のフレームに含まれるブロックごとに動きベクトルを検出する。
尚、DSPがMPEG等の動画符号化用の専用DSPである場合は、フレームメモリ30、40に連続して保持された画像データを動画符号化する過程でDSPが取得する動きベクトルを、動き量として用いることができる。
動き量検出について、撮像された画像データを用いて具体的に説明する。
図4(a)は、時刻t-1のタイミングでフレームメモリ30に書き込まれた画像データ、及び、時刻tのタイミングでフレームメモリ40に書き込まれた画像データを示す図である。ここで、図4では、フレーム画像t-1からフレーム画像tにかけて人物は大きく左に移動しているとする。その人物の動きに追従して、撮影者はビデオカメラ100を左方向に人物の移動量に比して小さく少し移動させていた場合である。(図4(a)によれば、フレーム画像t-1、フレーム画像tに撮影された両画像は、水平から20°傾いた状態で撮影されている(尚、フレーム画像t-1は説明の便宜上直前(1フレーム前のフレーム)とした)。
図4(b)は、動き量を検出する上で行われるブロック分割を示す図である。フレーム画像が、横720画素×縦480画素の解像度をもっているとする。例えば各々が横16画素×縦16画素のサイズを有する複数のブロックに分割される。これらのブロックには、フレーム画像の左上座標を原点とした座標系が与えられており、各ブロックは、例えば左上のブロックは、(0,0)、(15,0)、(0,15)、(15,15)の4点の座標を取り囲む座標となり、ブロック中の端点の座標のいずれか(例として(0,0)
(15,0), (31,0), (0,15), (15,15), (31,15)というような)座標を用いて一意に識別することができる。
図6(a)は、図4(a)に示す連続するフレーム画像が撮影されたケースにおける動きベクトルの検出結果を模式的に示したものである。図中の矢印は、検出された動きベクトルの方向及び大きさを模式的に示している。フレーム画像のうち、人物像が占有している範囲(範囲に含まれるブロック)からは、各々大きい動きベクトル(範囲内のブロックの動き量平均を“1”の動きベクトルとする)が検出される。
(マスク範囲指定部5)
マスク範囲指定部5は、マスク部6がマスクを行うにあたって、フレーム特徴データにおけるどの範囲に、マスクを施すべきかという範囲指定を行う。この範囲指定にあたって、マスク範囲指定部5は、各ブロックにおける動きベクトルの大きさの平均値(あるいは動きベクトルの大きさを変形した値)と、各ブロックの動き量の比較を行うことで、画像中の近景領域の分離を行い、遠景領域か否かを示す情報を抽出する。そして、フレーム特徴データのうち、分離された近景領域にあたる範囲を、マスクを行うべき範囲として指定する。
まず、マスク範囲指定部5は、画像全体が極端に大きく動いていない場合にのみ遠景領域か否かの判定を行うため、前処理を行う。
前処理においては、フレーム画像全体における、動き量(たとえば、全画素ブロックの動き量の平均値)が、所定の上限値より大きいかどうかを判定する。動き量の平均値が上限値より大きいと判定された場合は、ビデオカメラ100が大きく揺れたため、フレーム画像がブレ画像になっているということが考えられる。この場合、マスク範囲指定部5は、フレームメモリ30に格納されているフレーム画像tを廃棄させ、特徴量抽出部1による特徴量抽出を中止(アボート)させる。これにより次のフレーム画像が、特徴量抽出部1の処理対象となる。このような前処理により、画像全体が大きく動いているためブレているようなフレーム画像は、近景領域分離の対象から除外されることになる。以上がマスク範囲指定部5による前処理である。
次に、近景領域分離は、以下の手順で行われる。
時刻tのフレーム画像を構成する各ブロックの動き量と、所定の分割指標とを比較する。ブロックの動き量が所定の分割指標よりも大きい場合は近景領域とし、小さい場合は遠景領域(近景領域でない領域)として判定する。
ここで、分割指標の値は、絶対量(事前に指定されている値)でもよいし、相対量(全ブロックの動き量の平均値等、画像データの中で相対的に求められる値)であってもよい。
相対量の場合は、マスク範囲指定部5は、所定のタイミングの画像データについて、動き量の平均値・中央値等を算出することで前述の分割指標を求め、この指標と各ブロックの動き量とを再度比較することで、近景領域の判定を行う。
以上の判定後、ブロック単位の遠景領域であるか否かの判定結果(2値データ)は、ブロック位置座標とともに保持される。
図6(b)は、前述の判定により近景領域であると判定されたブロックについての位置座標の保持形式を示す。
図6(c)は、このブロックの位置座標を用いて、図4(b)に示したブロック端点座標を連結することにより形成された近景領域を模式的に示した図である。近景領域は、図6(c)に示すように、16画素×16画素のブロック形状を用いて近似されることになる。
以上のように、マスク範囲指定部5では、フレーム画像tのそれぞれのブロックが近景であるか遠景であるかの判定処理を行う。
(マスク部6)
マスク部6は、特徴抽出部1で得られたフレーム特徴データとマスク範囲指定部5で得られた近景領域(ブロック)を示す情報とを入力しマスク処理を行う。ここでのマスクは、マスクパターンを構成する各画素と、フレーム特徴データを構成する各画素との論理演算を行うことでなされる。図7(a)は、フレーム特徴データに存在するエッジ情報に、傾きを表すエッジ群と、傾きを表さないエッジ群とが存在していることを示す図である。具体的には、エッジ情報のうち、動き量の大きい領域内(近景領域)に存在する人物画にあたる部分のエッジ情報は傾き(実世界での垂直)を表さず、動き量の小さい領域内(遠景領域)に存在する構造物にあたる部分のエッジ情報は傾き(実世界での垂直)を表す。何故なら、ビル等の構造物は地面に対して垂直に建ててあり、そのエッジの垂直成分は、垂直を表すためである。
図7(b)は、マスク部6がマスクに用いるマスクパターンの一例を示す図である。本図におけるマスクパターンは、図6(c)に対応するものであり、近景領域の部分が黒一色になっており、遠景領域が白一色になっている。かかるマスクパターンとの論理演算が、各画素毎になされれば、その結果としては、近景領域に対応する特徴量のみが抽出されることになる。
マスクパターンの生成の具体的な手順は、以下の通りである。まず、フレーム画像のうち、近景領域であると判定された領域を0000、遠景領域であると判定された領域をFFFF値としてマスクパターンを作成する。図7(c)は、図5(a)のフレーム特徴データから得られたマスクパターンを示す図である。
次に、マスクパターンと、フレーム特徴データとの論理演算(AND演算等)を実行する。図8(a)は、フレーム特徴データとマスクパターンとから傾き検出に利用されるフレーム特徴データの算出を模式的に示す図である。図8(a)のように、図5のフレーム特徴データの示すエッジから、近景領域と判定された領域のエッジ情報が削除された(遠景領域に該当する領域のエッジを含む)フレーム特徴データが生成される。
このような処理により、近景領域でない(遠景領域である)と判定された領域における特徴量のみを残すようにする(尚、以下ではマスク範囲指定部5による分離と、マスク部6によるマスクとを併せて、“近景領域分離”と呼ぶ。)。
(線分検出部2)
線分検出部2は、マスク部6の出力により“近景領域分離”されたフレーム特徴データを用いて、図8(a)のフレーム特徴データから回転角度を示す角度成分を検出する。画像データから角度成分を検出する方法として、一般に知られたハフ変換等を用いることができる。尚、角度成分の検出には、絵柄の輪郭をなす線分を検出し、検出した線分を基に画像の角度成分を検出する必要があり、ためのアルゴリズムは、例えば特開2007-141167等に開示されている等の方法を利用することができる。
また、本発明において画像から角度成分を検出するための、より好ましい方法として、発明者はハフ変換の代わりに濃度勾配を用いる手法を用いた。濃度勾配法もハフ変換と同様に、画像上の線分情報を利用し、傾き角度を検出する手法であり、両手法において、共通して用いる画像特徴は、画像中のエッジ情報である。ハフ変換と異なるのは、線分情報が画像上では濃度の勾配として表れる事を積極的に利用し、線分を直接求める代わりに、濃度勾配の総体として線分を扱う事である。線分が存在するという事は、画像上で線自体の画素値とその周辺の画素値に比較的大きな差(濃度の勾配)が存在しており、これを検出する事で、濃度の勾配の総体としての線分情報を利用する事が可能となる。
このように濃度勾配法を利用する事で、ハフ変換と比べ、計算コストが低く、かつ濃度勾配の総体として線分情報を利用可能なため、ノイズに強く、安定した傾き角度が検出可能である。また、ハフ変換を利用した場合は処理の並列化が困難であるが、濃度勾配を用いた場合は並列化が容易であるという利点もある。また、ハフ変換を用いる際はノイズを低減させるため、短い線分を除去し、長い線分のみを利用するなどの対策が練られるため、一定の長さ以上の線分が必要となる。しかし、カメラを使用する状況は様々考えられるため、常に一定以上の長さの線分が得られるとは限らない。一方で、濃度勾配法は、濃度勾配の総体として線分情報を扱うために、線分情報に一定の長さを必要としない。そのため、濃度勾配法は様々な環境下においてもハフ変換で得られる結果よりも、安定した結果が得られるという利点がある。
(角度推定部3)
角度推定部3は、線分検出部2により検出された線分の長さと角度情報を元に、画像データが、水平軸からの何度傾いたものであるかの傾き角度を推定する。
まず、フレーム単位に線分検出部から出力された角度情報を入力して、所定単位の角度毎のヒストグラムを生成する。ここでは、例えば、1°単位で入力された線分の角度情報を、10°単位の角度情報にまとめ−90°〜90°までの範囲でヒストグラム化する。
図8(b)の破線で示すヒストグラムは、従来の方法により、マスク処理部によりフレーム特徴データにマスクを施さない場合の画像データ(動き量が大きい近景領域を含むフレーム特徴データ)から算出された角度情報に基づくヒストグラムである。図8(b)のヒストグラムのうち破線で示されるグラフでは、人物像(近景)にあたる部分から検出されたエッジ情報の発生頻度も加味されているので、人物像の傾きを示す角度の頻度が最も高くなっている。
一方、本発明による角度情報を図8(b)の実線で示すヒストグラムで示す。マスク処理部によりフレーム特徴データにマスクを施した結果、動き量が小さい遠景領域のエッジ画像の線分から抽出された角度情報のヒストグラムである。
図8(b)の実線でしめすヒストグラムでは、人物像のエッジ方向にあたる角度(第1の方向)の頻度は低くなっており、これの代わりに、(遠景にある)静止体像の角度(第2の方向)の頻度が高くなっているので、この静止体像の角度(20°)が、正しい垂直成分として推定できることになる。
角度推定部は、ヒストグラムのピークに相当する角度(この場合20°)を抽出し、傾き角度として傾き補正部に出力する。
以上の線分検出部2、角度推定部3は、補正パラメータの1つである、傾き角度の検出を行うものなので、線分検出部2と、角度推定部3との組みは、“補正パラメータ検出部9”に該当する。
(傾き補正部7)
傾き補正部7は、角度推定部3が推定した角度で、フレーム画像tの傾き補正を行う。
補正の手法としては、Affine変換などを採用する。近景領域のマスクがなされたフレーム画像に対して、角度推定部3が角度推定を行った場合、ヒストグラムは図9(a)のようになり、20°という角度が推定されるので、かかる角度に基づき傾き補正部7が回転補正を行えば、図9(b)のような補正画像がえられる。
(符号化部8)
符号化部8は、傾き補正部7により傾き補正が施されたフレーム画像を用いて、例えばi)傾き補正されたフレーム画像を静止画として、又は、ii)傾き補正の上連続して出力された画像データを動画像符号化により動画像として符号化し、カードドライブ60による記録に供する。
以上が、本発明にかかる撮像装置及び画像処理装置の機能である。
このように、本発明では、実世界における構造物の線分を基準角度として角度補正を行う確率を向上させるために、遠景領域のエッジ成分であるフレーム特徴データを用いて(近景領域の影響を除外したフレーム特徴データから)回転角度を示す角度成分の抽出を行う。
これにより、例えば、i)本来的に水平・垂直成分値を多く含む地上に垂直に立てられた構造物が多く含まれていると考えられる遠景領域を抽出し、又は、ii)比較的近景に含まれる物体(前述人物像)の前述エッジ成分の影響を除外することができ、真の水平・垂直線分を基準として角度補正をする確率を向上させることができる。
(マスク部6が、特徴量抽出後にマスクを行う理由)
上述したような処理過程において、マスク部6が、特徴抽出部1による特徴量の抽出後にマスクを行っているのには理由がある。特徴量の抽出前に近景遠景のマスク処理を行うと、近景領域と遠景領域との境界についての擬似輪郭が余分に検出され、この擬似輪郭のエッジ情報も角度を推定するための特徴として算出されてしまう。図8(c)は、近景領域と遠景領域との境界における擬似輪郭に対して生成されたエッジ情報を示す図である。
このエッジ情報はノイズとなるため、検出結果に悪影響を及ぼしてしまう。このようなエッジ情報を除去するため、特徴抽出部1で特徴を抽出した後に、近景領域及び遠景領域でマスキング処理を行う。こうすることで、純粋に遠景領域にあるエッジ情報のみを利用することができるため、真の水平・垂直成分を基準として角度補正をする確率を向上させることができる。こうして、傾き角度検出の精度を向上させる目的のため、マスク部6が、特徴抽出部1による特徴量の抽出後にマスクを行っている。
尚、画像処理エンジン50は、動き検出部として動画像符号化用のDSPを用いてもよい。このDSPが検出する動きベクトルを、マスク範囲指定部に供する動き量とすることで、汎用的なプロセッサを用いて、本発明による画像処理装置を実現することができる。
尚、本実施の形態では、遠景領域の抽出(近景領域の判定)に、動きベクトル算出部4の出力によりブロック毎の動き量の値の絶対値(あるいは相対値)との比較を用いたが、これに限るものではない。
例えば、Shape from Focus(SFF)といった手法のように、高速に焦点距離を変化させた画像を複数枚取得し、焦点位置を検出することで、カメラからの画像データ中の物体の距離を推定し、近景遠景領域の分割を行う事も可能である。
また、ビルなどのような幾何学模様のようなものが存在するような領域をテンプレートマッチングなどの手法で照合することにより、類似性が高い領域を「構造物の領域(遠景領域)」として、近景遠景領域の分割をする事も可能である。
(実施の形態1の変形例)
実施の形態1で説明したマスク範囲指定部、マスク部、線分検出部、角度推定部、傾き補正部等の各機能は、図10、図11のフローチャートに示される処理手順を、MPUに実行させるようなプログラムとして実装することもできる。
図10は、フレーム画像に対する近景領域分離の処理手順を示すフローチャートであり、図11は、特徴量抽出から角度推定までの処理手順を示すフローチャートである。図10のフローチャートのうち、ステップS2は動きベクトル算出部4の処理、ステップS3〜ステップS12はマスク範囲指定部5の処理である。図11のフローチャートのうち、ステップS23〜ステップS27はマスク部6の処理、ステップS28は線分検出部2の処理、ステップS29〜ステップS31は角度推定部3の処理に該当する。
以降、ビデオカメラ100が行うべき、ソフトウェアの処理について説明する。
図10、図11のフローチャートを実現するプログラムは、リアルタイムOS上では、複数のタスクとして扱われるので、カーネルは、かかるプログラムをRAMにロードすることで、かかるプログラムについてのタスクを生成する。以降、撮影開始を意味するユーザ操作がなされ、このユーザ操作に従った割込みが発生し、タスクのプリエンプションが発生すれば、図10のフローチャートに示した処理が開始されることになる。
本フローチャートのステップS1は、フレーム画像が得られたかを待つという事象成立待ちループを形成している。フレーム画像が得られれば、ステップS2〜ステップS12からなる処理に移行する。この処理は、フレーム画像tを構成するブロックのそれぞれについて、動きベクトルを算出して(ステップS2)、全ブロックの動き量の平均をとり、指標とする(ステップS3)。これら処理を行った後、ステップS4の判定を経て、ステップS6〜ステップS11のループ処理を実行する。
ステップS4は、指標を得るため算出した動き量の平均値が、所定の上限値より大きいかどうかの判定である。このような上限値より大きいということは、ビデオカメラ100が大きく揺れたため、フレーム画像がブレ画像になっているということである。この場合、フレームメモリ30に格納されているフレーム画像tを廃棄して(ステップS5)、次のフレーム画像が撮影されるのを待つ。かかるステップS4、ステップS5が存在するため、画像全体が大きく動いているようなフレーム画像は、傾き補正技術の対象から除外されることになる。そして適度に、近景領域、遠景領域が存在しているフレーム画像が、傾き補正技術の対象になる。
続くループ処理は、フレーム画像を構成するブロックのうち、画面左端に位置するもの(最初のブロック)を、ブロックuに設定して(ステップS6)、ステップS7からステップS11の処理を繰り返すというものである。
ステップS7からステップS11の処理は、ブロックuの動き量が指標より小さいかどうかの判定を行い(ステップS7)、小さければ、ブロックuは、遠景領域に帰属するものとして分類し(ステップS8)、大きければ、ブロックuは、ブロックuが近景領域に帰属するものとして分類する(ステップS9)との処理を行ったうえ、ステップS10を経て、次のブロックをブロックuとする(ステップS11)という一連の処理からなる。
ステップS10は、このループ処理の終了条件を規定しており、変数uが、ブロック総数mを越えない限り、本ループ処理が繰り返されることになり、越えれば、本ループ処理を抜けて、近景領域に帰属するブロックの座標を、領域情報として格納した上で(ステップS12)、ステップS1に移行する。
続いて、図11の処理について説明する。図11のフローチャートでは、フレーム画像tの特徴量を抽出した上で(ステップS21)、近景領域に属するブロックを32ビットの画素値0000で表し、遠景領域に属するブロックを、32ビットの画素値FFFFで表したマスクパターンを作成する(ステップS22)。その後、ステップS23〜ステップS27のループ処理に移行する。本フローチャートは、画面左端に位置するブロックを、最初のブロックとして、ブロックvに設定して(ステップS23)、ステップS24〜ステップS27を繰り返すというものである。このステップS24〜ステップS27の処理は、フレーム特徴データにおけるブロックvの画素値と、マスクパターンにおけるブロックvの画素値とのマスク処理のための論理演算を実行して(ステップS24)、論理演算の結果を、傾き検出用のブロックvとして格納して(ステップS25)、その後、次のブロックを、ブロックvに代入するという処理を(ステップS27)、変数vが特徴量の総数nを越えるまで繰り返すというものである(ステップS26)。
画面左上端に存在するブロックから画面右下端に存在するブロックまでに対して処理を行い、かかるループ処理を終えれば、論理演算により得られたブロックからなる、フレーム特徴データが得られることになる。その後、フレーム特徴データから線分を検出して(ステップS28)、各線分の傾きを算出し(ステップS29)、算出された傾きのヒストグラムを得てから(ステップS30)、ヒストグラムにおいて最も頻度が高い角度を、撮像デバイス10における撮像面の傾きを示す角度であるとして推定結果を下し(ステップS31)、その後、ステップS21に移行する。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して近景領域の分離を行い、遠景領域から算出された画像の特徴のみを傾き角度検出法に用いることで、人物などが大きく画像内に入り込んでいるような映像であっても、精度良く傾き角度の推定をし、推定された角度をもとに傾き補正することができる。
(第2実施形態)
図12は、本発明の第2実施形態に係る画像処理装置のハードウェア構成を示す図である。図11において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図11に示したように、本発明の第2実施形態は、ロール軸方向の角度成分を検出する事ができる慣性センサ70が追加されている点と、線分検出部2が、このセンサ70からの出力を利用する点とが第1実施形態と異なる。このロール軸方向の角度成分を検出する事ができる慣性センサとしては、加速度センサ、ジャイロセンサなどがあげられる。
慣性センサ70は、撮像装置10でフレーム画像tが撮影された時刻のロール軸方向の角度を取り込む。この際の値は、慣性センサから出力される生の値であっても、何らかの手段を用いて補正された値であっても構わない。
以上が慣性センサ70について説明である。
続いて、第2実施形態に係わる線分検出部2の改良点について説明する。
線分検出部2は、傾き角度検出法で検出された線分の長さと角度情報からヒストグラムを作成する際に、慣性センサ70からの出力となる角度範囲を基に、作成するヒストグラムの角度範囲を制限し、制限された区間内のヒストグラムから角度の推定を行う。
撮影しているビデオカメラ100などの筺体自身が動いてしまっている場合、センサ値は、慣性の影響を受け、実際の角度とは異なる角度が出力されることがある。そのため、取り込んだ値±x°の範囲が、フレーム画像tが撮影された時刻の実際の角度範囲であるとして、傾き角度検出法で検出された線分から作成されるヒストグラムの角度範囲を前記センサ値から定められる角度範囲に狭め、その角度範囲内で傾き角度の推定を行う。
図13(a)は、近景領域分離により得られるヒストグラムを示す。このヒストグラムでは、正しい角度である20°以外に、-10°当たりに頻度のピークが存在するので、正しい角度を推定することができない。図13(b)は、センサ値に基づき狭められた推定範囲を示す図である。センサ値を用いて推定する角度範囲が狭められれば、正しい角度である20°の頻度が最も高くなり、かかる角度を傾き補正に用いることにより、正しい画像を得ることができる。
(第3実施形態)
本実施形態は、カメラ保持者の存在する座標系自身が移動する場合の改良である。カメラ保持者が車などの移動物に乗っている場合のように、カメラ保持者の存在する座標系自身が動く場合は、構造物の存在する領域の移動量が相対的に大きくなる場合がある。そのような場合、第1実施形態のように、動きベクトルの大きさのみで傾き補正に使用する領域を判定してしまうと、構造物が存在する領域が近景領域であると誤判定される場合があり、その場合、構造物の存在する領域の特徴量から傾き角度を求める事ができない。このような場合、遠景領域から傾き角度を推定する上記の枠組みでは対応できない。
そこで本実施形態では、画像データ中に存在する角度範囲の度数を示すヒストグラムを遠景・近景のそれぞれで求め、それぞれの領域毎に、信頼度を算出して、その信頼度が最も高い領域から得られた傾き角度を補正パラメータとして採用することにする。
本実施形態における傾きの推定について、図14、図15を参照しながら説明する。
図14(a)は、第3実施形態における傾き推定処理において、題材となるフレーム画像データであり、バスの車内で撮影された画像データを示す。かかる画像データが処理対象となるフレーム画像データである場合、かかるフレーム画像データに対して特徴量抽出を行うことで、同図(b)のフレーム特徴データが得られる。図14(b)は、図14(a)のフレーム画像データに対して特徴量抽出を行うことにより得られるフレーム特徴データを示す図である。第1実施形態では、こうして得られたフレーム特徴データに対して近景領域分離を行い、そうして分離された近景領域に対してマスクを行ったが、本実施形態では、近景領域分離で得られた近景領域と、分離にて残った遠景領域とのそれぞれに対してマスクを実行する。
図14(c)は、近景領域に対してマスクが施されたフレーム特徴データを示す。図14(d)は、遠景領域に対してマスクが施されたフレーム特徴データを示す。このようにして、近景領域にマスクが施されたフレーム特徴データ、遠景領域にマスクが施されたフレーム特徴データのそれぞれについてヒストグラムを求める。これを使ってヒストグラムの範囲を制限する。
図15は、マスクが施されたフレーム画像データと、これらのフレーム画像データに対して作成されたヒストグラムとを示す図である。これらのヒストグラムでは、80°を中心とした角度範囲α1、90°を中心とした角度範囲α2が出現していることがわかる。この角度範囲α1は、窓越しに移る車外の光景における線分の角度範囲であり、角度範囲α2は、車内に存在する座席と、乗客とにおける線分の角度範囲であるものと仮定する。こう仮定した場合、角度範囲α1,α2のそれぞれについて信頼度を算出する。角度範囲α1では、80°という角度の度数が極めて高く、80°付近の度数は低いものになっている。このように、80°という角度が突発的になっているので、角度の散らばり度合が小さく、角度範囲α1における信頼度は高いものになっている。一方、角度範囲α2では、90°付近の角度の度数が、まんべんなく出現していて、角度の散らばり度合が高く、角度範囲α2における信頼度は低いものになっている。この場合、これらの信頼度には、遠景領域>近景領域という関係が成立するので、補正パラメータとしては、角度範囲α1内の角度が選択されることになる。
このように、構造物から得られた傾き角度を含む角度範囲は、水平からの傾きを表す角度が多く表れるため、突発性が大きくなっており信頼度は高くなる。一方、構造物以外の領域から得られた傾き角度を含む角度範囲は、推定した場合、突発性が小さいため、その信頼度は低くなる。
以上が、信頼度付き角度推定の処理手順の概要である。
以降、第3実施形態に係る画像処理装置の内部構成について説明する。
図16は、第3実施形態に係る画像処理装置の内部構成を示す図である。本図は、図3をベースとして作図されており、このベースとなる構成と比較して、マスク部6が遠近両用マスク部51に置き換えられ、線分検出部2、角度推定部3が、信頼度付角度推定部52、傾き角度選択部53に置き換えられている点が異なる。図16の構成要素のうち、図3と同じものについては同じ符号を用い、説明を省略する。
(遠近両用マスク部51)
遠近両用マスク部51は、遠景領域のみを取り出すマスクと、近景領域のみを取り出すマスクである。遠景・近景それぞれの領域を個別に取り出す事で、遠景領域・近景領域のそれぞれから傾き角度の検出が可能となる。
(信頼度付角度推定部52)
信頼度付角度推定部52は、遠近両用マスク部51で生成された遠景・近景の両方の領域において、前記ハフ変換または濃度勾配法で傾き角度の推定を行う。この際、推定された傾き角度がどの程度確からしいかを表す信頼度を生成する。この信頼度は、傾き角度ヒストグラムを生成後、センサで指定された角度範囲内で最大の度数を有する角度が傾き角度であると判定される際に、推定された傾き角度がヒストグラム上でどれだけ突発しているかを表す指標である。
(傾き角度選択部53)
傾き角度選択部53は、信頼度付角度推定部52で生成された遠景・近景の傾き角度の信頼度の比較を行う。構造物の存在する領域から得られた傾き角度の信頼度は、高いピークを持つため、信頼度の高い傾き角度が構造物の存在する領域から得られたものであるとし、信頼度の高い傾き角度を、正しい傾き角度として選択する。また、傾き角度を生成した領域が3つ以上存在する場合、生成した傾き角度のうち最も高い信頼度を有する傾き角度を、正しい傾き角度として選択する。
信頼度を用いた補正パラメータ選択を行うための画像処理装置の処理としては、以下のものとなる。
以上の構成において、信頼度付角度推定部52は、遠景に存在する領域、近景に存在する領域それぞれから信頼度付傾き角度を求めるので、構造物の情報のない領域から得られた角度の信頼度は、構造物の存在する領域から得られた角度の信頼度よりも低くなる。そのため、信頼度を比較する事で、動的に使用する領域の選択が可能となる。このように傾き角度選択部53で信頼度に基づいて傾き角度を指定する事で、カメラ保持者あるいはカメラ保持者の存在する座標系が動く場合においても、構造物の存在する領域を使用する事ができるため、高精度な傾き角度推定が行える。
図17は、第3実施形態に係る信頼度付き傾き補正処理の処理手順を示すフローチャートである。本図左脇の括弧記号{は、本フローの各ステップが、どの構成要素に割り当てられているかを示す。ステップS41は特徴量抽出部1に割り当てられており、ステップS42は遠近両用マスク部51に、ステップS42〜ステップS46、ステップS51〜ステップS55は信頼度付角度推定部52に、ステップS56〜ステップS58は傾き角度選択部53に割り当てられていることがわかる。
以降、各ステップについて説明する。ステップS41は、フレーム特徴データに対する特徴抽出であり、この特徴抽出の結果を用いて、近景領域についての信頼度S1を算出する処理(ステップS42〜ステップS46)、遠景領域についての信頼度S2を算出する処理(ステップS51〜ステップS55)をパラレルに実行し、近景領域における信頼度S1、遠景領域における信頼度S2を得て、信頼度S1が信頼度S2より大きいかどうかの判定を行い(ステップS56)、判定結果に応じて。傾きを設定する(ステップS57、ステップS58)というものである。
近景領域の処理は、ステップS42において遠景領域に対してマスクを設定し、ステップS43において近景領域における傾きの度数分布を示すヒストグラムを作成する。そしてステップS44では、慣性センサ70で推定した角度範囲によってヒストグラムを区切り、ステップS45では、最大度数の角度を、近景領域における傾きθ1とする。そしてステップS46では、最大度数周辺の度数の平均/分散から信頼度S1を求める。
遠景領域に対する処理は、ステップS51において近景領域に対するマスクをセットし、ステップS52において遠景領域における傾きのヒストグラムを作成する。ステップS53では、慣性センサ70で推定した角度範囲を用いてヒストグラムを区切り、ステップS54では、最大度数の角度を遠景領域での傾きθ2とする。ステップS55では、最大度数周辺の度数の平均又は分散から、信頼度S2を求める。
こうして得られた信頼度S1、信頼度S2が、信頼度S1>信頼度S2の関係を満たす場合(ステップS56でYes)、近景領域から得られた傾きθ1をフレーム特徴データの傾きとして採用する(ステップS57)。信頼度S2>信頼度S1の関係を満たす場合(ステップS56でNo)、近景領域から得られた傾きθ2をフレーム特徴データの傾きとして採用する(ステップS58)。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して領域の分離を行い、分離した領域それぞれの画像の特徴のみを傾き角度検出法に用いて信頼度と傾き角度を算出し、信頼度の高い傾き角度を採用する事で、i)カメラ保持者自身が移動する場合、及びii)カメラ保持者の存在する座標系が移動する場合の両場合においても、構造物の存在する領域から得られる傾き角度を動的に選択し、検出する事が可能となる。
(第4実施形態)
これまでの実施形態は、動き量に基づき、傾き補正を実行するというものであったが、本実施形態では、画像揺れに対する揺れ補正を実行するというものである。画像揺れとは、撮影系の動きであって、手ブレよりも大きいものをいう。
そして揺れ補正とは、連続フレームにおける遠景領域の座標を合わせることで、遠景領域のスタビライズを行う技術である。図18(a)は、揺れ補正の対象となる、連続フレームの一例を示す図である。この連続フレームを構成する画像データは、競馬場で疾走する馬を追うように撮影された動画であるが、これらは馬を追うようなカメラワークで撮影されたため、遠景領域にある垂直柱の位置は、大きく変位している。遠景領域にある垂直柱の位置がフレーム毎に異なるような動画を再生に供しようとすると、フレーム毎に、垂直柱が変化するので、見ている者の酔い、つまり“映像酔い”を招く。
またビデオカメラで歩行しながら撮影をしている場合、映像が傾いてしまうだけでなく、撮影者自身の動きと共に撮影しているビデオカメラも揺れ動いてしまう。そのため、撮影された映像には揺れが印加されてしまい、視聴に耐えない。ハンズフリーカメラワークの実用化を考えた場合、かかる映像酔いにも考慮が必要なので、揺れ補正を施すことにしている。
ここで図18(a)によると、フレームt-1の画像データ、フレームtの画像データにおいて、垂直柱は共通に出現しているので、かかる垂直柱の座標を同じにすれば、遠景領域を固定化することができる。ここでフレームtの画像データにおいて垂直柱に(X1,Y1)(X2,Y2)という2つの特徴点が存在しており、フレームt-1の画像データにおいて垂直柱が(X4,Y4)(X5,Y5)という2つの特徴点が存在している場合、図18(b)に示すように、フレームt-1の画像データの(X4,Y4)(X5,Y5)を、フレームtの画像データの(X1,Y1)(X2,Y2)に一致するように変換するための回転行列Rを求める。このように、回転行列Rを求めることを“揺れ量の推定”という。かかる揺れ量の推定によって回転行列Rが求められれば、フレームt-1の画像データを構成する各画素を、回転行列Rに基づき変換することで、垂直柱の座標をフレームt-1の画像データと、フレームtの画像データとで一致させる。以上の処理により、見る者の映像酔いを招かない連続フレームを得ることができる。
図18(c)は、揺れ補正が施されたフレーム画像t-1の一例である。かかる揺れ補正の結果において、フレームt-1の画像データでは、画像データにおける垂直柱の座標が、フレームt-1の画像データと同じ場所になっているので、右端部分に、余白が生じているものの、動画再生において映像酔いが発生することはなくなっている。固定された遠景領域を背にして、被写体が移動してゆくような画像データが得られる。そしてS/Nのうち、Sが向上して、Nが低下するので、S/Nが高くなるという効果がある。
揺れ補正については以下の参考文献に記載があるので、詳細については、この参考文献を参照されたい。
“Robust and Real-time Rotation Estimation of Compound Omnidirectional
Sensor(2007 IEEE International Conference on Robotics and Automation Roma,Italy
10-14 April 2007)”
「III.MOTION AND MOTION COMPUTATION OF DISTANT FEATURE POINTS」
以降、揺れ補正の原理について、簡単に説明する。
フレーム間の揺れ量を推定する際には、フレームt, t-1間のカメラの動きを検出する事になる。このフレーム間の揺れ量を画像情報から正しく検出するためには、両フレームに共通に存在する座標(図18における(X1,Y1)(X2,Y2)(X4,Y4)(X5,Y5))を得る必要がある。これら(X1,Y1)(X2,Y2)(X4,Y4)(X5,Y5)のようにフレーム画像t-1、フレーム画像t間で安定して現れる特徴を、“揺れ特徴(t-1,t)”という。また、揺れ特徴(t-1,t)を構成する各フレーム特徴データの一点を“特徴点”という。
揺れ特徴(t-1,t)を検出する観点から画像の領域を大きく分けると、カメラから被写体までの距離が近い領域と、カメラから被写体までの距離が遠い領域となる。カメラから被写体まで距離が遠い領域上では、フレーム間の動きが小さくなるため、揺れ特徴(t-1,t)を安定に検出できる。逆に近景領域ではフレーム間の動きが大きいので、揺れ特徴(t-1,t)を安定的に検出し辛い。
そこで本実施形態では、フレーム画像t-1、フレーム画像tに対して近景領域の分離を行って、マスクを施すことにしている。図19(a)〜(c)は、近景領域をマスクすることでなされる揺れ特徴(t-1,t)を示す図である。図19(a)は、フレーム画像t-1、フレーム画像tに対して生成されたフレーム特徴データである。図19(b)は、図19(a)のフレーム画像t-1、フレーム画像tのうち、近景領域をマスクすることで得られるフレーム特徴データを示す図である。近景領域に対してマスクが施されたので、フレーム画像t-1、フレーム画像tは垂直柱の部分のみとなり、フレーム画像t-1ーフレーム画像t間の対応が取りやすくなっている。図19(c)は、フレーム画像t-1のフレーム特徴データ、フレーム画像tのフレーム特徴データから検出された特徴点を示す。近景領域となる競走馬の部分がマスクされたので、フレーム特徴データは垂直柱の部分のみとなり、揺れ特徴(t-1,t)が検出しやすくなっている。
この近景領域となる競走馬の部分は、第1実施形態におけるマスク範囲指定部により、指定することができるので、揺れ特徴(t-1,t)の効率良い検出には、第1実施形態の動きベクトル算出部4とマスク範囲指定部5、マスク部6をそのまま適用することができる。
また、フレーム間の揺れ補正を実行する際には、検出されたフレーム間の動き量と逆の量をフレームtに作用させる事で、補正を行う。
図20(a)(b)は、揺れ補正が施されていない2つのフレーム画像データと、揺れ補正が施された2つのフレーム画像データとを対比して示す図である。図20(a)では、フレームt-1からフレームtまでの間に、大地と、垂直柱とが大きく揺れているので、映像酔いの発生を招きかねない。これに対して図20(b)では、フレームt-1と、フレームtとで、大地、垂直柱の位置が固定されているため、見る者の映像酔いを招くことはない。同様の処理を、10秒、20秒といった時間間隔内に撮影された複数のフレーム画像データに施せば、非常に見易い動画再生を実現することができる。
図21は、第4実施形態に係る画像処理装置の内部構成を示す図である。本図は、図3をベースとして作図されており、このベースとなる構成と比較して、特徴量抽出部1が揺れ特徴抽出部54に置き換えられ、角度推定部3、傾き推定部7が、揺れ量推定部55、揺れ補正部56に置き換えられている点が異なる。図16の構成要素のうち、図3と同じものについては同じ符号を用い、説明を省略する。
(揺れ特徴抽出部54)
揺れ特徴抽出部54では、フレームメモリ30、40における画像データから特徴量を抽出する。ここでは、特徴量の1つの例として、エッジ成分を抽出する。
(揺れ量推定部55)
揺れ量推定部55は、マスクがかけられたフレーム特徴データから特徴点を選出し、フレーム間の揺れの量(=フレーム間のカメラの動き)を推定する。
(揺れ補正部56)
揺れ補正部56では揺れ量推定部55で推定された揺れ量を用いて揺れの補正を行う。
図22は、揺れ補正処理のフローチャートである。ステップS91において、フレーム画像t-1,tに対してHarrisアルゴリズムを適用することにより、安定的に抽出できる一定数の点を候補点(遠景領域内において特徴点の候補となる点)として選択し、ステップS92において画角の違い等の影響をキャンセルするべく、選択された各候補点を単位球面(半径=1)上の座標へ投影する。
図23は、単位球面(半径=1)上の座標へ投影されるフレーム画像t-1における特徴量と、フレーム画像tにおける特徴量とを示す図である。本図に示すように、フレーム画像t-1、フレーム画像t上の特徴量には、近景領域に属するものと、遠景領域に属するものとがあるが、これらのうち、遠景領域に属する特徴量が、単位球面に投影されている。近景領域に属するものは、単位球面に投影されていないことが判る。これは、フレーム特徴データにおける近景領域にマスクが施されているからである。
その後、RANSAC手法に基づく回転行列Rの算出を実行する。
以降、RANSAC手法に基づく回転行列Rの算出手順について述べる。ステップS93においてフレーム画像t-1, tにおいて、単位球面上へ投影された候補点のうち、マスクされた近景領域以外にある2点の候補点をランダムに選択してステップS94〜ステップS99のループを構成する。
このループは、フレーム画像t-1, tの各2点(計4点)の関係を表す回転行列Rを求めて(ステップS94)、求められた回転行列Rで、ランダムに選ばれたフレーム画像t-1における2点以外の点を回転し(ステップS95)、回転行列Rを求め、その一致度合を計測して(ステップS97)、規定時間内であるか否かを判定し(ステップS98)、もし規定時間以内であれば(ステップS98でYes)、フレーム画像t-1,tにおいて、単位球面上へ投影された候補点のうち、マスクされた近景領域以外にある未選択の2つの候補点をランダムに選択した上(ステップS99)、ステップS94に戻る。このようにして、近景領域以外にある未選択の2つの候補点をランダムに選び、回転行列を算出するという処理を、全ての点の組合せについて繰り返すのが、このループである。
ステップS98がNoであれば、選ばれた2つの点の回転行列Rは間違っているので、ステップS98からステップS99に移行して、フレーム画像t-1, tにおいて、単位球面上へ投影された候補点のうち、マスクされた近景領域以外にある未選択の2点のものをランダムに選択した上、ステップS94に戻る。
規定時間をオーバーすれば、ステップS98がNoとなり、ステップS100において、2点の候補点の組合せ毎に算出された回転行列Rのうち、最大の一致度合いを持つ回転行列Rを、フレーム画像t-1,t間の揺れの関係を表現する回転行列Rとする。そしてステップS101において、求まった回転行列Rを用いて、フレーム画像t-1の揺れを補正する。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して近景領域の分離を行い、遠景領域から算出された画像の特徴のみを揺れ量検出に用いることで、人物などが大きく画像内に入り込んでいるような映像であっても、精度良くフレーム間の揺れ量の推定をし、推定された揺れ量をもとに揺れ補正することができる。
(第5実施形態)
これまでの実施形態では、補正パラメータの検出に動きベクトルのスカラ量を用いたが、本実施形態では、動きベクトルの方向を用いる改良に関する。つまり、処理対象となるフレーム画像データを構成する各マクロブロックについて動きベクトルを算出して、これらのマクロブロックのうち、正しいと推定される方向をもたないマクロブロックを分離することで、マスクを施すべき範囲を決めるのである。ここで正しいと推定される方向とは、フレーム間のカメラの動きを示すものであり、先の実施形態で述べた揺れ推定の結果となる方向である。
ここで、これまでに説明した実施形態(第3実施形態、第4実施形態)と比較した、本実施形態の利点を述べる。第3実施形態では、動きベクトルの大きさを用いて、領域をフレーム間の動きが大きな領域と小さな領域の2つに分け、構造物の存在する領域の特徴を用いて傾き角度の推定を行っている。しかし動くものが多数存在すると、様々な大きさの動きベクトルが現れる。そのため動きベクトルの大きさのみではうまく領域の分割が行えないことがある。図24(a)は、連続フレームを構成するフレームt-1の画像データ、フレームtの画像データを示す図であり、図24(b)は、フレームtの画像データを構成する各マクロブロックから検出された動きベクトルを示す。図24(c)は、動きベクトルのスカラ量が大きい近景領域のみをマスクすることで得られたフレーム特徴データを示す。
このフレーム特徴データでは、構造物だけではなく、人物の後方に存在する樹木が特徴として現れているので、この図24(c)のフレーム特徴データでは、この樹木の部分の特徴量がノイズとして表れ、傾き角度の推定精度が低くなってしまう。
第3実施形態において、フレーム間の動きベクトルの大きさ以外に、カメラがフレーム間にどう動いたかを表すフレーム間の動きの方向を事前に知る事ができれば、構造物の存在する領域からノイズを低減させることができる。これは、構造物は自律的に動く事はなく、かつ、カメラの移動した方向とは逆方向に移動してカメラに写る事を利用する事で、カメラの動きと構造物の動きに対応しない動き方向を持つ領域を構造物領域ではないとして除外可能である事による。
第4実施形態では、フレーム間の揺れの量を推定し、補正を行っているが、前述のように、このフレーム間の揺れの量はフレーム間のカメラの動き量に相当する。そのため、この揺れ量を用いる事で図24(b)の動きベクトルのうち、フレーム間のカメラの動きと対応の取れない動きベクトルをもつ画素ブロックをマスクする事で、構造物以外の領域に存在するノイズを削除することができる。
図25(a)は、図24(b)におけるフレーム特徴データを、揺れ量推定の結果と同じ動きベクトルが占める領域と、揺れ量推定の結果と異なる方向の動きベクトルが占める領域とに分離した図である。
図25(b)の枠w1、w2は、各マクロブロックについての算出された動きベクトルのうち、揺れ推定の結果に該当する方向をもつもののみを示している。こうして得られた方向が、正しいと推定される方向であると仮定すれば、そのような方向をもたないマクロブロックに対してマスクを施して補正パラメータの検出を行うことで、人物像の後方における樹木の部分の線分を除外することができる。これにより高精度な補正パラメータを得ることができる。図25(c)は、補正パラメータである傾き角度の検出に用いられるフレーム特徴データを示す図である。
以上が、第3実施形態、第4実施形態と比較した本実施形態の利点となる。
図26は、第5実施形態に係る画像処理装置の内部構成を示す図である。本図は、図16に準じた内部構成と、図21に準じた内部構成とを組合せた形態になっている。特徴量抽出部1、動きベクトル検出部4、マスク範囲指定部5、信頼度付角度推定部52、傾き角度選択部53、慣性センサ70が、図16に準じた内部構成である。この組合せにあたって、マスク部6は、マスクパターン拡大部57に置き換えられている。マスクパターン拡大部57は、本実施形態特有の構成要素である。
また、揺れ特徴抽出部54、マスク部6、揺れ量推定部55は、図21に準じた内部構成である。揺れ補正部56は、揺れ補正・傾き補正部58に置き換えられているが、この揺れ補正・傾き補正部58は、本実施形態特有の構成要素である。以降、本実施形態特有の構成要素(マスクパターン拡大部57、揺れ補正・傾き補正部58)と、本実施形態の処理のために改良が加えられた構成要素(信頼度付角度推定部52、傾き角度選択部53)とについて説明する。
(マスクパターン拡大部57)
マスクパターン拡大部57は、マスク範囲指定部5により指定されたマスクパターンを、揺れ量推定部55による揺れ補正の結果に基づいて拡大する。マスク範囲指定部5は、動きベクトルの大きさに応じて近景領域が分離した。マスクパターン拡大部57は、マスク範囲指定部5で分離された各領域の動きベクトルの向きと、揺れ量推定部55で得られたカメラの動きベクトルの向きとを照合し、揺れ量との対応が取れない領域を網羅するように、マスクパターンの範囲を拡大する。こうすることで、カメラの動きベクトルの向きと対応の取れる領域のみを対象とするマスクパターンが生成されることになる。
(信頼度付角度推定部52)
信頼度付角度推定部52における改良点は、マスクパターン拡大部57によって生成されたマスクパターンによって分離された近景領域、遠景領域に対して信頼度付傾き角度推定を行うことである。
(傾き角度選択部53)
傾き角度選択部53における改良点は、信頼度付角度推定部52で生成された遠景・近景の傾き角度の信頼度の比較して、信頼度の高い傾き角度を、正しい傾き角度として選択する点である。また、傾き角度を生成した領域が3つ以上存在する場合、生成した傾き角度のうち最も高い信頼度を有する傾き角度を、正しい傾き角度として選択する。
(揺れ補正・傾き補正部58)
揺れ補正・傾き補正部58は、傾き角度選択部53から得られた傾き角度、及び、揺れ量推定部から得られたフレーム間の揺れ量を用いてフレームメモリ30のフレーム画像tの傾きと揺れとを同時に補正する。この補正方法としては、第1実施形態で傾きを補正する際に用いていたAffine変換がある。
図27は、揺れ量推定処理のフローチャートである。ステップS81において、変数tを0に初期化し、ステップS82、ステップS83のループに移行する。このループは、変数tにて指示される個々のフレーム特徴データに対して、ステップS84〜ステップS90の処理を繰り返すというものであり、変数tのインクリメントは、ステップS90でなされる。ますステップS84において変数tが0かどうかを判定し、0であれば、ステップS85においてフレーム特徴データ0から揺れ特徴(t-1,t)を抽出する。0でなければ、ステップS86においてフレーム特徴データから揺れ特徴(t-1,t)を抽出して、ステップS87において前フレームと絵を合わせることで揺れ特徴(t-1,t)を得る。ステップS88では、揺れ特徴(t-1,t)のうち移動量が大きいもの除外する。
ステップS89において、揺れ特徴(t-1,t)のうち、除外されていない領域にある特徴点間の対応関係を調べて、対応関係を示す回転行列Rを算出することで、揺れ推定の結果を得る。
図28は、第5実施形態に係るマスク処理、補正処理の処理手順を示すフローチャートである。本フローチャートにおける変数tは、フレーム特徴データを指示する制御変数である。ステップS61において、この変数tを0に初期化し、ステップS62〜ステップS63のループに移る。このループは、フレーム特徴データのそれぞれについて、ステップS64〜ステップS71の処理を実行するものである。ステップS64は、フレーム特徴データをsjする変数tが0であるかどうかの判定であり、t=0であれば、ステップS65においてフレーム特徴データ0から揺れ特徴(t-1,t)を抽出する。
変数tが0でなければ、ステップS66において近景領域分離を行い、ステップS67において、揺れ特徴(t-1,t)に対する揺れ量推定の結果とは異なる方向成分をもつブロックと、近景領域に該当するブロックとを網羅するマスクパターンを生成する。
ステップS68では、揺れ特徴(t-1,t)に対する揺れ補正結果とは異なる方向成分をもつブロックと、近景領域に該当するブロックとを網羅するマスクパターンとを用いて、近景領域の再分離を行う。
ステップS69では、傾きセンサから特定された近景領域と、この近景領域以外の遠景領域とに対して、それぞれ信頼度を算出して、この信頼度に基づき、近景領域、遠景領域の何れかから傾きを選択するかを決定して、傾き角度θを算出する。
ステップS69において角度θと、揺れ量推定結果となる回転行列とを補正パラメータとして用いて傾き補正と、揺れ補正とを実行する。ステップS71では、フレーム特徴データtを符号化して、表示する。その上、ステップS72において変数tをインクリメントする。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して近景領域をマスクし、更にフレーム間の揺れ量の推定結果を用いてマスクすることで、構造物の存在する領域内のノイズを除去する事が可能となる。これにより、i)人物などが大きく画像内に入り込んでいるような映像、ii)木などの輝度値がバラバラでフレーム間に多様動く様な領域が存在する映像、iii)たまたまフレーム間の動き量が小さいような物体が存在するような映像であっても、精度良くフレーム間の傾き角度の推定をし、推定された傾き角度をもとに傾き補正することができる。
(第6実施形態)
フレーム画像データに現れるが被写体が近景領域かどうかの判定に測距センサ59を用いる改良である。図29は、第6実施形態に係る画像処理装置の内部構成を示す図である。本図は、図3をベースとして作図されており、このベースとなる構成と比較して、測距センサ59がマスク範囲指定部5に直列的に接続されている点が、本実施形態特有の改良になっている。図29において、図3と同じ構成要素については同じ符号を用い、説明を省略する。
図29にある測距センサ59は、例えば赤外線センサなどがあり、センサの位置から被写体までの距離が3mから5m程度であり、比較的近い場合、その被写体までの距離を計測できる。この測距センサをカメラに取り付ける事で、カメラから画像が撮影された際の被写体までの距離が近い領域の情報を知る事ができる。第1実施形態のようにフレーム間の動きベクトルの大きさを計測しただけでは、計測誤差や誤対応などの原因により、完全に分割する事ができない場合でも、測距センサを使用する事で、確実に近景領域である領域が分かる。
これを利用し、マスク範囲指定部5で動きの大きな領域と小さな領域分離した結果と照合し、計測誤差や誤対応などにより、遠景領域であると判定されていた領域が近景領域である事が分かる。そのため、近景・遠景領域の分離精度が高くなるので、より高精度に傾き角度を検出する事が可能になる。
(その他変形例)
1.フレーム特徴データの算出方法
特徴量抽出部1では、エッジ検出を行った後にエッジのS/N比を高める目的で前処理を加えても構わない。前処理の例としては、以下のものが挙げられる。エッジ検出前に行う前処理としては、メディアンフィルタ、ローパスフィルタなどの平滑化処理を行ってノイズを減らす方法がある。また、エッジ検出後に行う前処理としては、エッジ情報に含まれるノイズ除去するために前処理としてエッジ情報に対してラベリング処理を行い、孤立しているエッジを除去する孤立点除去方法。同様の目的で、前処理として、エッジ情報に対してモルフォロジフィルタを使用し、opening処理を行う方法などがある。
2.角度範囲の制限
角度範囲を制限する際には、センサの信頼度を尤度などで表現をし、そのセンサの尤度を乗じたヒストグラムを、角度の存在確率として捉えて、その確率の最大の角度を、水平からの傾き角度であるとして推定を行っても構わない。
かかる構成によれば、センサの出力値を基準に傾き角度の存在する範囲を限定することで、傾き角度の推定範囲が狭くなるため、傾き角度の推定精度が向上する。
3.マスクを施すべき範囲
これまでの実施形態では、画素ブロック毎に算出された動きベクトルのスカラ量又は方向に基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定したが、指定の基準は、動きベクトルのスカラ量又は方向に限らない。動きベクトルに依拠するパラメータであれば、DCT係数や直流成分等、他のパラメータを採用してよいことはいうまでもない。
4.補正パラメータのバリエーション
これまでの実施形態では、補正パラメータとして、傾き角度や回転行列を検出したが、何等かの補正を施すことができるものなら、他のものを検出してもよい。例えば、フィルタ係数や、輝度変換のパラメータを補正パラメータとして検出してもよい。
5.信頼度付角度推定のバリエーション
信頼度付角度推定部52は、遠近両用マスク部51で生成された遠景・近景の両方の領域において傾き角度の推定を行ったが、遠景領域に対したのみ、信頼度を算出してもよい。
本発明にかかる画像処理装置は、撮影された映像の傾き補正機能を有し、安定撮影可能なビデオカメラ100等として有用である。またデジタルカメラ等への用途にも応用できる。
本発明は、画像補正処理の技術分野に属する発明である。
画像補正処理とは、処理対象となるフレーム画像データから補正パラメータを検出して、補正パラメータを用いて画像データに補正を施す技術であり、画像の傾き補正技術、揺れ補正技術というものが知られている。
画像の傾き補正技術とは、基準となる角度からの傾き角を推定し、その傾き角を基に画像を補正する技術である。揺れ補正技術とは、連続して撮影された複数のフレーム画像データにおける背景領域を、同じ位置に固定することにより、撮影時の揺れを補正する技術である。
従来の傾き補正技術は、スキャナやコピー機等、光学読取機器の産業分野で広く利用されていたが、撮影機器の産業分野への応用も、近年、検討されつつある。一方、傾き補正技術の成果物たる工業製品には、画像処理装置、この画像処理装置を組込んだビデオカメラ、撮影処理のためのプログラムがある。
ビデオカメラへの応用が、どのような技術的意義を有するかについて説明する。ビデオカメラで歩行しながら撮影をしている場合、撮影者自身の動きと共に撮影しているビデオカメラも揺れ動いてしまう。そのため、歩行時に撮影された映像は、常に水平状態を保ったまま撮影されているとは限らない。また、ビデオカメラに備えつきのファインダーを見ずに撮影する場合、撮影者は、実際に撮影されている映像を見ている訳ではないため、先と同様に、撮影者が期待している水平状態を保った映像が常に取れている訳ではない。
水平状態から傾いた状態のまま撮影された映像は、視聴に耐えない。この傾いた映像を水平に補正するにあたって、上述したような傾き補正技術が必要になる。かかる傾き補正技術にあたっては、その基準となる角度をどのように定めるかが大きな問題になる。以下の特許文献1には、スキャナから取り込まれた文章画像において、文章画像の傾きを、基準として用いることで、傾き補正を実現する技術が開示されている。
特開2005−184685号公報
ところで、上述したような画像処理で、高い精度の補正を実現できるかどうかは、補正のための補正パラメータを、精度良く検出できるかどうかが鍵になる。つまり、補正のための補正パラメータを精度良く検出できれば、自ずと、補正後の画像の品位が向上するといっても過言ではない。例えば、傾き補正にあたっては、フレーム画像データから回転角度を検出するため、ハフ変換と呼ばれる検出アルゴリズムを実行する必要がある。ところが、ハフ変換は、画素毎の演算が必要になるため演算負荷が大きく、処理対象となる画像が、1920×1080という解像度を有している場合、演算量が大きくなり、携帯機器での実装に適さない。
そこで精度を向上させるには、フレーム画像において、どこに何が写っているかという情報を事前に取得しておけばよいように考えられる。何故なら、一般的に、スキャナなどから取り込まれる文章画像では、レイアウトが予め決まっており、光学機器の応用分野では、そのようなレイアウトの情報を手がかりとして角度を推定しているからである。
しかし、ビデオカメラなどで撮影される映像の撮影条件、撮像環境は撮影者・撮影タイミングによって異なるため、前述のレイアウト情報のような有効な事前情報が得られることは期待できない。
本発明の目的は、撮影される内容に関する事前情報を必要とすることなく、補正パラメータを高い精度で検出することができる画像処理装置を提供することである。
上記課題を解決するための画像処理装置は、補正パラメータを用いてフレーム画像データを補正する画像処理装置であって、フレーム画像データにおける絵柄の特徴を表したフレーム特徴データを生成する生成手段と、時間的に前のフレーム画像データからの動きベクトルを、処理対象となるフレーム画像データを構成する各画素ブロックのそれぞれに対して算出する算出手段と、各画素ブロックについて算出された動きベクトルに基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定する範囲指定手段と、フレーム特徴データのうち、マスクが施された範囲以外の部分から、補正パラメータを検出する検出手段とを備える。
上述したように、課題解決手段を具備した画像処理装置においてマスクが施される範囲は、各画素ブロックについて算出された動きベクトルに基づいて指定される。ここで、画像データ上の領域のうち、近景に含まれる物体や人物像等には、前のフレームからの動きベクトルの大きさや動きベクトルの方向が変わったものになることが多く、こうした物体や人物像が存在する部分が、マスクを施すべき箇所として指定されることになる。
このように、近景に含まれる物体や人物像等の近景領域にマスクが施されるので、マスクが施された領域以外の領域、つまり、撮像により得られた画像データ上の領域のうち、実世界における遠景領域に、補正パラメータ検出のための演算処理が実行されることになる。
ここで遠景領域には高いビル等、本来的に水平・垂直となるエッジ成分値を有する物体が含まれていることが多い。具体的な事例を挙げるのなら、高いビルのような構造物は遠景領域に含まれることが多いと考えられる。
このマスクにより残った領域、つまり、建造物等の静止体が写っている可能性が高い遠景領域内の特徴量に、補正パラメータ検出のための演算範囲を絞りこむことにより、構造物等の実世界における水平・垂直成分を有する物体のエッジ等が、補正パラメータとして高い確率で検出されることになる。かかる補正パラメータを用いて画像処理を行えば、傾き補正、揺れ補正といった補正処理によって、高品位な画像が得られることになる。
フレーム特徴データのうち、マスクが施された部分以外から補正パラメータを検出するので、ハフ変換などの補正パラメータ検出のための検出アルゴリズムの実行範囲が、絞りこまれることになる。こうした絞り込みにより、検出アルゴリズム実行のための処理負荷が小さくなり、消費電力を大きく低減させることができる。これにより、携帯機器への画像処理装置の実装を好適に行うことができる。マスクが施される場所は、概して近景領域なので、連続するフレームに対する動きベクトル算出によって指定することができる。かかる動きベクトル算出によって、マスクが施される範囲を決めることができるので、事前情報を必要とすることなく、補正パラメータを高精度に検出することができる。
以下本発明に係る画像処理装置について図面を参照しながら説明する。
(実施の形態1)
本実施形態は、処理対象となるフレーム画像データから、補正パラメータとして傾きを検出して、この補正パラメータを用いて処理対象となるフレーム画像データに対して画像処理を施すための1つの形態である。かかる画像処理には、回転変換がある。
図1は、本発明にかかる画像処理装置が適用される撮像装置の使用形態を示す図である。本図に示すようにユーザは、吊ひもを利用することで、本発明にかかる画像処理装置を組み込んだビデオカメラ100を身に付けることができ、ハンズフリーカメラワークによる撮影を行うことができる。このビデオカメラ100の筐体には、記録媒体となる半導体メモリカードを装抜するためのカードスロット101や、撮影開始操作を受け付ける録画キー102、撮影停止操作を受け付ける停止キー103が存在している。これら、録画キー102の押下にて、ユーザは、ハンズフリーカメラワークによる撮影処理をビデオカメラ100に開始させる。そして、撮影により得られたフレーム画像は傾き補正される。傾き補正された画像データは静止画として、あるいは連続して出力されるデータを動画像として符号化した上、例えば半導体メモリカード等の記録媒体に書き込む。
図2は、本発明にかかる画像処理装置が組込まれたビデオカメラ100のハードウェア構成図である。
ビデオカメラ100は、撮像デバイス10、DMAコントローラ20、フレームメモリ30、フレームメモリ40、画像処理エンジン50、カードドライブ60から構成される。
(撮像デバイス10)
撮像デバイス10は、例えば、CCD(Charge Coupled Device)イメージセンサ,CMOS(Complementary Metal Oxide
Semiconductor)イメージセンサなどの撮像素子を具備している。撮像素子が受光した光量(アナログ値)はAD変換され、所定のタイミング毎に1画面分のデータとして、後述するフレームメモリ30、フレームメモリ40に書き込まれる。
(DMAコントローラ20)
DMAコントローラ20は、撮像デバイス10で得られた画像データを、MPUを介することなくフレームメモリ40、フレームメモリ30に書き込む。
例えば、連続する2枚のフレームの画像t-1とフレーム画像tの2枚の画像を交互に、予め用意された複数のメモリ領域、フレームメモリ30及びフレームメモリ40に書き込む。
(フレームメモリ30、40)
フレームメモリ30、40は、連続するフレーム画像を格納しておくために、所定のタイミング毎に用意された記憶領域である。フレームメモリは物理的に分離している必要はなく、メモリ(SD-RAM)内の分割された近景領域であってもよい。これらのフレームメモリ30、フレームメモリ40のアドレス空間は、後述するMPUからアクセス可能なように所定の方式でアドレス空間にマッピングされる。
(画像処理エンジン50)
画像処理エンジン50は、フレームメモリ30に格納されたフレーム画像に対して、傾き補正のための画像処理を施す。ここで、画像処理エンジン(画像処理装置)は、例えばノイマン型の一般的なコンピュータアーキテクチャに準拠し、バスにMPU、RAM、外部スロットアクセス部(メモリカード60等)が接続される。図中、DSPはフレームメモリに記憶された画像データを処理するためのプロセッサである。
(カードドライブ60)
カードドライブ60は、画像処理エンジン50により符号化がなされたフレーム画像を記録するための外部記録メディア(半導体メモリカード等)に書き込むために用意されるスロットである。
以上が、ビデオカメラ100のハードウェア構成である。
図3を用いて画像処理エンジン50の機能ブロックについて説明する。
画像処理エンジン50は、特徴量抽出部1、線分検出部2、角度推定部3、動きベクトル算出部4、マスク範囲指定部5、マスク部6、傾き補正部7、符号化部8から構成される。
(特徴抽出部1)
特徴量抽出部1は、時刻tのタイミングで撮像された画像データであるフレームメモリ30に保持された画像データの輝度成分に対してエッジ成分を抽出する。エッジを検出するための手法としては、例えば各々の画素におけるエッジ成分をSobelフィルタやCannyフィルタを用いて取得し、取得された値を所定のしきい値と比較する等の方法によりエッジとして検出する。特徴抽出された画像データをフレーム特徴データとしてDPRAMに記録する。
DPRAM内に記録されたフレーム特徴データは、フレーム画像内に存在する被写体の特徴的な輪郭線を表す。
図5(a)は、図4に示したフレーム画像tに対して得られたフレーム特徴データを示す。フレーム特徴データは、輝度情報のエッジ成分のデータから構成される。この輝度情報のエッジ成分は、ノイズ除去などで不適切なエッジ成分が除去された後に得られたデータである。かかるフレーム特徴データのうち、エッジでない画素を黒地で、エッジ部分を白で示した画で示す。図中の白抜きの線分は、エッジ成分であると判定された画素の集合であり、フレーム画像に存在していた人物及び構造物の輪郭が含まれる。
(動きベクトル算出部4)
動きベクトル算出部4は、時刻tの画像データを記録するフレームメモリ30の画像データと、時刻t-1の画像データを記録するフレームメモリ40に格納された画像データとを比較することにより、時刻tの画像データについてブロック単位の動きベクトルを算出して、そのスカラ量である動き量を取得する。
時刻tの画像データの所定ブロック(例えば、縦16画素×横16画素からなるブロックの画素値)と、フレーム画像t-1の画像データに含まれる同じサイズの範囲の画素のうち、相関値の高い範囲を検出することにより時刻tの所定ブロックが、フレーム画像t-1のどの位置に対応するかを検出することにより実現できる。
例として、ブロックマッチング法を詳細に説明する。フレームはブロック単位で区切られており、そのブロックの大きさは予め設定された大きさ、例えば、横16画素×縦16画素などで統一されているとする。ブロックマッチング法は、所定の1ブロック内に含まれる画素(例えば、16×16の画素)は、ブロック単位では動きが一様であると仮定して、現在の画像内を複数のブロックに区切り、現フレームの所定ブロックが、他(のあるいは現在)の画像内のどの画素値(16×16)と相関が高いか検索することにより、所定ブロックがフレーム間でどのように動いたのかの動きの対応付けを行う手法である。動きベクトル検出部4は、フレーム画像を構成するブロック単位に、フレーム画像t-1とフレーム画像tとでマッチングを行い、SAD(Sum
of Absolute Difference)などの類似度を計測する手段を用いて、ブロックごとに最も類似度の高いブロックを探索する。探索範囲は、該当ブロックから一定範囲内とし、その範囲内で現在のフレームに含まれるブロックごとに動きベクトルを検出する。
尚、DSPがMPEG等の動画符号化用の専用DSPである場合は、フレームメモリ30、40に連続して保持された画像データを動画符号化する過程でDSPが取得する動きベクトルを、動き量として用いることができる。
動き量検出について、撮像された画像データを用いて具体的に説明する。
図4(a)は、時刻t-1のタイミングでフレームメモリ30に書き込まれた画像データ、及び、時刻tのタイミングでフレームメモリ40に書き込まれた画像データを示す図である。ここで、図4では、フレーム画像t-1からフレーム画像tにかけて人物は大きく左に移動しているとする。その人物の動きに追従して、撮影者はビデオカメラ100を左方向に人物の移動量に比して小さく少し移動させていた場合である。(図4(a)によれば、フレーム画像t-1、フレーム画像tに撮影された両画像は、水平から20°傾いた状態で撮影されている(尚、フレーム画像t-1は説明の便宜上直前(1フレーム前のフレーム)とした)。
図4(b)は、動き量を検出する上で行われるブロック分割を示す図である。フレーム画像が、横720画素×縦480画素の解像度をもっているとする。例えば各々が横16画素×縦16画素のサイズを有する複数のブロックに分割される。これらのブロックには、フレーム画像の左上座標を原点とした座標系が与えられており、各ブロックは、例えば左上のブロックは、(0,0)、(15,0)、(0,15)、(15,15)の4点の座標を取り囲む座標となり、ブロック中の端点の座標のいずれか(例として(0,0)
(15,0), (31,0), (0,15), (15,15), (31,15)というような)座標を用いて一意に識別することができる。
図6(a)は、図4(a)に示す連続するフレーム画像が撮影されたケースにおける動きベクトルの検出結果を模式的に示したものである。図中の矢印は、検出された動きベクトルの方向及び大きさを模式的に示している。フレーム画像のうち、人物像が占有している範囲(範囲に含まれるブロック)からは、各々大きい動きベクトル(範囲内のブロックの動き量平均を“1”の動きベクトルとする)が検出される。
(マスク範囲指定部5)
マスク範囲指定部5は、マスク部6がマスクを行うにあたって、フレーム特徴データにおけるどの範囲に、マスクを施すべきかという範囲指定を行う。この範囲指定にあたって、マスク範囲指定部5は、各ブロックにおける動きベクトルの大きさの平均値(あるいは動きベクトルの大きさを変形した値)と、各ブロックの動き量の比較を行うことで、画像中の近景領域の分離を行い、遠景領域か否かを示す情報を抽出する。そして、フレーム特徴データのうち、分離された近景領域にあたる範囲を、マスクを行うべき範囲として指定する。
まず、マスク範囲指定部5は、画像全体が極端に大きく動いていない場合にのみ遠景領域か否かの判定を行うため、前処理を行う。
前処理においては、フレーム画像全体における、動き量(たとえば、全画素ブロックの動き量の平均値)が、所定の上限値より大きいかどうかを判定する。動き量の平均値が上限値より大きいと判定された場合は、ビデオカメラ100が大きく揺れたため、フレーム画像がブレ画像になっているということが考えられる。この場合、マスク範囲指定部5は、フレームメモリ30に格納されているフレーム画像tを廃棄させ、特徴量抽出部1による特徴量抽出を中止(アボート)させる。これにより次のフレーム画像が、特徴量抽出部1の処理対象となる。このような前処理により、画像全体が大きく動いているためブレているようなフレーム画像は、近景領域分離の対象から除外されることになる。以上がマスク範囲指定部5による前処理である。
次に、近景領域分離は、以下の手順で行われる。
時刻tのフレーム画像を構成する各ブロックの動き量と、所定の分割指標とを比較する。ブロックの動き量が所定の分割指標よりも大きい場合は近景領域とし、小さい場合は遠景領域(近景領域でない領域)として判定する。
ここで、分割指標の値は、絶対量(事前に指定されている値)でもよいし、相対量(全ブロックの動き量の平均値等、画像データの中で相対的に求められる値)であってもよい。
相対量の場合は、マスク範囲指定部5は、所定のタイミングの画像データについて、動き量の平均値・中央値等を算出することで前述の分割指標を求め、この指標と各ブロックの動き量とを再度比較することで、近景領域の判定を行う。
以上の判定後、ブロック単位の遠景領域であるか否かの判定結果(2値データ)は、ブロック位置座標とともに保持される。
図6(b)は、前述の判定により近景領域であると判定されたブロックについての位置座標の保持形式を示す。
図6(c)は、このブロックの位置座標を用いて、図4(b)に示したブロック端点座標を連結することにより形成された近景領域を模式的に示した図である。近景領域は、図6(c)に示すように、16画素×16画素のブロック形状を用いて近似されることになる。
以上のように、マスク範囲指定部5では、フレーム画像tのそれぞれのブロックが近景であるか遠景であるかの判定処理を行う。
(マスク部6)
マスク部6は、特徴抽出部1で得られたフレーム特徴データとマスク範囲指定部5で得られた近景領域(ブロック)を示す情報とを入力しマスク処理を行う。ここでのマスクは、マスクパターンを構成する各画素と、フレーム特徴データを構成する各画素との論理演算を行うことでなされる。図7(a)は、フレーム特徴データに存在するエッジ情報に、傾きを表すエッジ群と、傾きを表さないエッジ群とが存在していることを示す図である。具体的には、エッジ情報のうち、動き量の大きい領域内(近景領域)に存在する人物画にあたる部分のエッジ情報は傾き(実世界での垂直)を表さず、動き量の小さい領域内(遠景領域)に存在する構造物にあたる部分のエッジ情報は傾き(実世界での垂直)を表す。何故なら、ビル等の構造物は地面に対して垂直に建ててあり、そのエッジの垂直成分は、垂直を表すためである。
図7(b)は、マスク部6がマスクに用いるマスクパターンの一例を示す図である。本図におけるマスクパターンは、図6(c)に対応するものであり、近景領域の部分が黒一色になっており、遠景領域が白一色になっている。かかるマスクパターンとの論理演算が、各画素毎になされれば、その結果としては、近景領域に対応する特徴量のみが抽出されることになる。
マスクパターンの生成の具体的な手順は、以下の通りである。まず、フレーム画像のうち、近景領域であると判定された領域を0000、遠景領域であると判定された領域をFFFF値としてマスクパターンを作成する。図7(c)は、図5(a)のフレーム特徴データから得られたマスクパターンを示す図である。
次に、マスクパターンと、フレーム特徴データとの論理演算(AND演算等)を実行する。図8(a)は、フレーム特徴データとマスクパターンとから傾き検出に利用されるフレーム特徴データの算出を模式的に示す図である。図8(a)のように、図5のフレーム特徴データの示すエッジから、近景領域と判定された領域のエッジ情報が削除された(遠景領域に該当する領域のエッジを含む)フレーム特徴データが生成される。
このような処理により、近景領域でない(遠景領域である)と判定された領域における特徴量のみを残すようにする(尚、以下ではマスク範囲指定部5による分離と、マスク部6によるマスクとを併せて、“近景領域分離”と呼ぶ。)。
(線分検出部2)
線分検出部2は、マスク部6の出力により“近景領域分離”されたフレーム特徴データを用いて、図8(a)のフレーム特徴データから回転角度を示す角度成分を検出する。画像データから角度成分を検出する方法として、一般に知られたハフ変換等を用いることができる。尚、角度成分の検出には、絵柄の輪郭をなす線分を検出し、検出した線分を基に画像の角度成分を検出する必要があり、ためのアルゴリズムは、例えば特開2007-141167等に開示されている等の方法を利用することができる。
また、本発明において画像から角度成分を検出するための、より好ましい方法として、発明者はハフ変換の代わりに濃度勾配を用いる手法を用いた。濃度勾配法もハフ変換と同様に、画像上の線分情報を利用し、傾き角度を検出する手法であり、両手法において、共通して用いる画像特徴は、画像中のエッジ情報である。ハフ変換と異なるのは、線分情報が画像上では濃度の勾配として表れる事を積極的に利用し、線分を直接求める代わりに、濃度勾配の総体として線分を扱う事である。線分が存在するという事は、画像上で線自体の画素値とその周辺の画素値に比較的大きな差(濃度の勾配)が存在しており、これを検出する事で、濃度の勾配の総体としての線分情報を利用する事が可能となる。
このように濃度勾配法を利用する事で、ハフ変換と比べ、計算コストが低く、かつ濃度勾配の総体として線分情報を利用可能なため、ノイズに強く、安定した傾き角度が検出可能である。また、ハフ変換を利用した場合は処理の並列化が困難であるが、濃度勾配を用いた場合は並列化が容易であるという利点もある。また、ハフ変換を用いる際はノイズを低減させるため、短い線分を除去し、長い線分のみを利用するなどの対策が練られるため、一定の長さ以上の線分が必要となる。しかし、カメラを使用する状況は様々考えられるため、常に一定以上の長さの線分が得られるとは限らない。一方で、濃度勾配法は、濃度勾配の総体として線分情報を扱うために、線分情報に一定の長さを必要としない。そのため、濃度勾配法は様々な環境下においてもハフ変換で得られる結果よりも、安定した結果が得られるという利点がある。
(角度推定部3)
角度推定部3は、線分検出部2により検出された線分の長さと角度情報を元に、画像データが、水平軸からの何度傾いたものであるかの傾き角度を推定する。
まず、フレーム単位に線分検出部から出力された角度情報を入力して、所定単位の角度毎のヒストグラムを生成する。ここでは、例えば、1°単位で入力された線分の角度情報を、10°単位の角度情報にまとめ−90°〜90°までの範囲でヒストグラム化する。
図8(b)の破線で示すヒストグラムは、従来の方法により、マスク処理部によりフレーム特徴データにマスクを施さない場合の画像データ(動き量が大きい近景領域を含むフレーム特徴データ)から算出された角度情報に基づくヒストグラムである。図8(b)のヒストグラムのうち破線で示されるグラフでは、人物像(近景)にあたる部分から検出されたエッジ情報の発生頻度も加味されているので、人物像の傾きを示す角度の頻度が最も高くなっている。
一方、本発明による角度情報を図8(b)の実線で示すヒストグラムで示す。マスク処理部によりフレーム特徴データにマスクを施した結果、動き量が小さい遠景領域のエッジ画像の線分から抽出された角度情報のヒストグラムである。
図8(b)の実線でしめすヒストグラムでは、人物像のエッジ方向にあたる角度(第1の方向)の頻度は低くなっており、これの代わりに、(遠景にある)静止体像の角度(第2の方向)の頻度が高くなっているので、この静止体像の角度(20°)が、正しい垂直成分として推定できることになる。
角度推定部は、ヒストグラムのピークに相当する角度(この場合20°)を抽出し、傾き角度として傾き補正部に出力する。
以上の線分検出部2、角度推定部3は、補正パラメータの1つである、傾き角度の検出を行うものなので、線分検出部2と、角度推定部3との組みは、“補正パラメータ検出部9”に該当する。
(傾き補正部7)
傾き補正部7は、角度推定部3が推定した角度で、フレーム画像tの傾き補正を行う。
補正の手法としては、Affine変換などを採用する。近景領域のマスクがなされたフレーム画像に対して、角度推定部3が角度推定を行った場合、ヒストグラムは図9(a)のようになり、20°という角度が推定されるので、かかる角度に基づき傾き補正部7が回転補正を行えば、図9(b)のような補正画像がえられる。
(符号化部8)
符号化部8は、傾き補正部7により傾き補正が施されたフレーム画像を用いて、例えばi)傾き補正されたフレーム画像を静止画として、又は、ii)傾き補正の上連続して出力された画像データを動画像符号化により動画像として符号化し、カードドライブ60による記録に供する。
以上が、本発明にかかる撮像装置及び画像処理装置の機能である。
このように、本発明では、実世界における構造物の線分を基準角度として角度補正を行う確率を向上させるために、遠景領域のエッジ成分であるフレーム特徴データを用いて(近景領域の影響を除外したフレーム特徴データから)回転角度を示す角度成分の抽出を行う。
これにより、例えば、i)本来的に水平・垂直成分値を多く含む地上に垂直に立てられた構造物が多く含まれていると考えられる遠景領域を抽出し、又は、ii)比較的近景に含まれる物体(前述人物像)の前述エッジ成分の影響を除外することができ、真の水平・垂直線分を基準として角度補正をする確率を向上させることができる。
(マスク部6が、特徴量抽出後にマスクを行う理由)
上述したような処理過程において、マスク部6が、特徴抽出部1による特徴量の抽出後にマスクを行っているのには理由がある。特徴量の抽出前に近景遠景のマスク処理を行うと、近景領域と遠景領域との境界についての擬似輪郭が余分に検出され、この擬似輪郭のエッジ情報も角度を推定するための特徴として算出されてしまう。図8(c)は、近景領域と遠景領域との境界における擬似輪郭に対して生成されたエッジ情報を示す図である。
このエッジ情報はノイズとなるため、検出結果に悪影響を及ぼしてしまう。このようなエッジ情報を除去するため、特徴抽出部1で特徴を抽出した後に、近景領域及び遠景領域でマスキング処理を行う。こうすることで、純粋に遠景領域にあるエッジ情報のみを利用することができるため、真の水平・垂直成分を基準として角度補正をする確率を向上させることができる。こうして、傾き角度検出の精度を向上させる目的のため、マスク部6が、特徴抽出部1による特徴量の抽出後にマスクを行っている。
尚、画像処理エンジン50は、動き検出部として動画像符号化用のDSPを用いてもよい。このDSPが検出する動きベクトルを、マスク範囲指定部に供する動き量とすることで、汎用的なプロセッサを用いて、本発明による画像処理装置を実現することができる。
尚、本実施の形態では、遠景領域の抽出(近景領域の判定)に、動きベクトル算出部4の出力によりブロック毎の動き量の値の絶対値(あるいは相対値)との比較を用いたが、これに限るものではない。
例えば、Shape from Focus(SFF)といった手法のように、高速に焦点距離を変化させた画像を複数枚取得し、焦点位置を検出することで、カメラからの画像データ中の物体の距離を推定し、近景遠景領域の分割を行う事も可能である。
また、ビルなどのような幾何学模様のようなものが存在するような領域をテンプレートマッチングなどの手法で照合することにより、類似性が高い領域を「構造物の領域(遠景領域)」として、近景遠景領域の分割をする事も可能である。
(実施の形態1の変形例)
実施の形態1で説明したマスク範囲指定部、マスク部、線分検出部、角度推定部、傾き補正部等の各機能は、図10、図11のフローチャートに示される処理手順を、MPUに実行させるようなプログラムとして実装することもできる。
図10は、フレーム画像に対する近景領域分離の処理手順を示すフローチャートであり、図11は、特徴量抽出から角度推定までの処理手順を示すフローチャートである。図10のフローチャートのうち、ステップS2は動きベクトル算出部4の処理、ステップS3〜ステップS12はマスク範囲指定部5の処理である。図11のフローチャートのうち、ステップS23〜ステップS27はマスク部6の処理、ステップS28は線分検出部2の処理、ステップS29〜ステップS31は角度推定部3の処理に該当する。
以降、ビデオカメラ100が行うべき、ソフトウェアの処理について説明する。
図10、図11のフローチャートを実現するプログラムは、リアルタイムOS上では、複数のタスクとして扱われるので、カーネルは、かかるプログラムをRAMにロードすることで、かかるプログラムについてのタスクを生成する。以降、撮影開始を意味するユーザ操作がなされ、このユーザ操作に従った割込みが発生し、タスクのプリエンプションが発生すれば、図10のフローチャートに示した処理が開始されることになる。
本フローチャートのステップS1は、フレーム画像が得られたかを待つという事象成立待ちループを形成している。フレーム画像が得られれば、ステップS2〜ステップS12からなる処理に移行する。この処理は、フレーム画像tを構成するブロックのそれぞれについて、動きベクトルを算出して(ステップS2)、全ブロックの動き量の平均をとり、指標とする(ステップS3)。これら処理を行った後、ステップS4の判定を経て、ステップS6〜ステップS11のループ処理を実行する。
ステップS4は、指標を得るため算出した動き量の平均値が、所定の上限値より大きいかどうかの判定である。このような上限値より大きいということは、ビデオカメラ100が大きく揺れたため、フレーム画像がブレ画像になっているということである。この場合、フレームメモリ30に格納されているフレーム画像tを廃棄して(ステップS5)、次のフレーム画像が撮影されるのを待つ。かかるステップS4、ステップS5が存在するため、画像全体が大きく動いているようなフレーム画像は、傾き補正技術の対象から除外されることになる。そして適度に、近景領域、遠景領域が存在しているフレーム画像が、傾き補正技術の対象になる。
続くループ処理は、フレーム画像を構成するブロックのうち、画面左端に位置するもの(最初のブロック)を、ブロックuに設定して(ステップS6)、ステップS7からステップS11の処理を繰り返すというものである。
ステップS7からステップS11の処理は、ブロックuの動き量が指標より小さいかどうかの判定を行い(ステップS7)、小さければ、ブロックuは、遠景領域に帰属するものとして分類し(ステップS8)、大きければ、ブロックuは、ブロックuが近景領域に帰属するものとして分類する(ステップS9)との処理を行ったうえ、ステップS10を経て、次のブロックをブロックuとする(ステップS11)という一連の処理からなる。
ステップS10は、このループ処理の終了条件を規定しており、変数uが、ブロック総数mを越えない限り、本ループ処理が繰り返されることになり、越えれば、本ループ処理を抜けて、近景領域に帰属するブロックの座標を、領域情報として格納した上で(ステップS12)、ステップS1に移行する。
続いて、図11の処理について説明する。図11のフローチャートでは、フレーム画像tの特徴量を抽出した上で(ステップS21)、近景領域に属するブロックを32ビットの画素値0000で表し、遠景領域に属するブロックを、32ビットの画素値FFFFで表したマスクパターンを作成する(ステップS22)。その後、ステップS23〜ステップS27のループ処理に移行する。本フローチャートは、画面左端に位置するブロックを、最初のブロックとして、ブロックvに設定して(ステップS23)、ステップS24〜ステップS27を繰り返すというものである。このステップS24〜ステップS27の処理は、フレーム特徴データにおけるブロックvの画素値と、マスクパターンにおけるブロックvの画素値とのマスク処理のための論理演算を実行して(ステップS24)、論理演算の結果を、傾き検出用のブロックvとして格納して(ステップS25)、その後、次のブロックを、ブロックvに代入するという処理を(ステップS27)、変数vが特徴量の総数nを越えるまで繰り返すというものである(ステップS26)。
画面左上端に存在するブロックから画面右下端に存在するブロックまでに対して処理を行い、かかるループ処理を終えれば、論理演算により得られたブロックからなる、フレーム特徴データが得られることになる。その後、フレーム特徴データから線分を検出して(ステップS28)、各線分の傾きを算出し(ステップS29)、算出された傾きのヒストグラムを得てから(ステップS30)、ヒストグラムにおいて最も頻度が高い角度を、撮像デバイス10における撮像面の傾きを示す角度であるとして推定結果を下し(ステップS31)、その後、ステップS21に移行する。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して近景領域の分離を行い、遠景領域から算出された画像の特徴のみを傾き角度検出法に用いることで、人物などが大きく画像内に入り込んでいるような映像であっても、精度良く傾き角度の推定をし、推定された角度をもとに傾き補正することができる。
(第2実施形態)
図12は、本発明の第2実施形態に係る画像処理装置のハードウェア構成を示す図である。図1において、図1と同じ構成要素については同じ符号を用い、説明を省略する。

図1に示したように、本発明の第2実施形態は、ロール軸方向の角度成分を検出する事ができる慣性センサ70が追加されている点と、線分検出部2が、このセンサ70からの出力を利用する点とが第1実施形態と異なる。このロール軸方向の角度成分を検出する事ができる慣性センサとしては、加速度センサ、ジャイロセンサなどがあげられる。
慣性センサ70は、撮像装置10でフレーム画像tが撮影された時刻のロール軸方向の角度を取り込む。この際の値は、慣性センサから出力される生の値であっても、何らかの手段を用いて補正された値であっても構わない。
以上が慣性センサ70について説明である。
続いて、第2実施形態に係わる線分検出部2の改良点について説明する。
線分検出部2は、傾き角度検出法で検出された線分の長さと角度情報からヒストグラムを作成する際に、慣性センサ70からの出力となる角度範囲を基に、作成するヒストグラムの角度範囲を制限し、制限された区間内のヒストグラムから角度の推定を行う。
撮影しているビデオカメラ100などの筺体自身が動いてしまっている場合、センサ値は、慣性の影響を受け、実際の角度とは異なる角度が出力されることがある。そのため、取り込んだ値±x°の範囲が、フレーム画像tが撮影された時刻の実際の角度範囲であるとして、傾き角度検出法で検出された線分から作成されるヒストグラムの角度範囲を前記センサ値から定められる角度範囲に狭め、その角度範囲内で傾き角度の推定を行う。
図13(a)は、近景領域分離により得られるヒストグラムを示す。このヒストグラムでは、正しい角度である20°以外に、-10°当たりに頻度のピークが存在するので、正しい角度を推定することができない。図13(b)は、センサ値に基づき狭められた推定範囲を示す図である。センサ値を用いて推定する角度範囲が狭められれば、正しい角度である20°の頻度が最も高くなり、かかる角度を傾き補正に用いることにより、正しい画像を得ることができる。
(第3実施形態)
本実施形態は、カメラ保持者の存在する座標系自身が移動する場合の改良である。カメラ保持者が車などの移動物に乗っている場合のように、カメラ保持者の存在する座標系自身が動く場合は、構造物の存在する領域の移動量が相対的に大きくなる場合がある。そのような場合、第1実施形態のように、動きベクトルの大きさのみで傾き補正に使用する領域を判定してしまうと、構造物が存在する領域が近景領域であると誤判定される場合があり、その場合、構造物の存在する領域の特徴量から傾き角度を求める事ができない。このような場合、遠景領域から傾き角度を推定する上記の枠組みでは対応できない。
そこで本実施形態では、画像データ中に存在する角度範囲の度数を示すヒストグラムを遠景・近景のそれぞれで求め、それぞれの領域毎に、信頼度を算出して、その信頼度が最も高い領域から得られた傾き角度を補正パラメータとして採用することにする。
本実施形態における傾きの推定について、図14、図15を参照しながら説明する。
図14(a)は、第3実施形態における傾き推定処理において、題材となるフレーム画像データであり、バスの車内で撮影された画像データを示す。かかる画像データが処理対象となるフレーム画像データである場合、かかるフレーム画像データに対して特徴量抽出を行うことで、同図(b)のフレーム特徴データが得られる。図14(b)は、図14(a)のフレーム画像データに対して特徴量抽出を行うことにより得られるフレーム特徴データを示す図である。第1実施形態では、こうして得られたフレーム特徴データに対して近景領域分離を行い、そうして分離された近景領域に対してマスクを行ったが、本実施形態では、近景領域分離で得られた近景領域と、分離にて残った遠景領域とのそれぞれに対してマスクを実行する。
図14(c)は、近景領域に対してマスクが施されたフレーム特徴データを示す。図14(d)は、遠景領域に対してマスクが施されたフレーム特徴データを示す。このようにして、近景領域にマスクが施されたフレーム特徴データ、遠景領域にマスクが施されたフレーム特徴データのそれぞれについてヒストグラムを求める。これを使ってヒストグラムの範囲を制限する。
図15は、マスクが施されたフレーム画像データと、これらのフレーム画像データに対して作成されたヒストグラムとを示す図である。これらのヒストグラムでは、80°を中心とした角度範囲α1、90°を中心とした角度範囲α2が出現していることがわかる。この角度範囲α1は、窓越しに移る車外の光景における線分の角度範囲であり、角度範囲α2は、車内に存在する座席と、乗客とにおける線分の角度範囲であるものと仮定する。こう仮定した場合、角度範囲α1,α2のそれぞれについて信頼度を算出する。角度範囲α1では、80°という角度の度数が極めて高く、80°付近の度数は低いものになっている。このように、80°という角度が突発的になっているので、角度の散らばり度合が小さく、角度範囲α1における信頼度は高いものになっている。一方、角度範囲α2では、90°付近の角度の度数が、まんべんなく出現していて、角度の散らばり度合が高く、角度範囲α2における信頼度は低いものになっている。この場合、これらの信頼度には、遠景領域>近景領域という関係が成立するので、補正パラメータとしては、角度範囲α1内の角度が選択されることになる。
このように、構造物から得られた傾き角度を含む角度範囲は、水平からの傾きを表す角度が多く表れるため、突発性が大きくなっており信頼度は高くなる。一方、構造物以外の領域から得られた傾き角度を含む角度範囲は、推定した場合、突発性が小さいため、その信頼度は低くなる。
以上が、信頼度付き角度推定の処理手順の概要である。
以降、第3実施形態に係る画像処理装置の内部構成について説明する。
図16は、第3実施形態に係る画像処理装置の内部構成を示す図である。本図は、図3をベースとして作図されており、このベースとなる構成と比較して、マスク部6が遠近両用マスク部51に置き換えられ、線分検出部2、角度推定部3が、信頼度付角度推定部52、傾き角度選択部53に置き換えられている点が異なる。図16の構成要素のうち、図3と同じものについては同じ符号を用い、説明を省略する。
(遠近両用マスク部51)
遠近両用マスク部51は、遠景領域のみを取り出すマスクと、近景領域のみを取り出すマスクである。遠景・近景それぞれの領域を個別に取り出す事で、遠景領域・近景領域のそれぞれから傾き角度の検出が可能となる。
(信頼度付角度推定部52)
信頼度付角度推定部52は、遠近両用マスク部51で生成された遠景・近景の両方の領域において、前記ハフ変換または濃度勾配法で傾き角度の推定を行う。この際、推定された傾き角度がどの程度確からしいかを表す信頼度を生成する。この信頼度は、傾き角度ヒストグラムを生成後、センサで指定された角度範囲内で最大の度数を有する角度が傾き角度であると判定される際に、推定された傾き角度がヒストグラム上でどれだけ突発しているかを表す指標である。
(傾き角度選択部53)
傾き角度選択部53は、信頼度付角度推定部52で生成された遠景・近景の傾き角度の信頼度の比較を行う。構造物の存在する領域から得られた傾き角度の信頼度は、高いピークを持つため、信頼度の高い傾き角度が構造物の存在する領域から得られたものであるとし、信頼度の高い傾き角度を、正しい傾き角度として選択する。また、傾き角度を生成した領域が3つ以上存在する場合、生成した傾き角度のうち最も高い信頼度を有する傾き角度を、正しい傾き角度として選択する。
信頼度を用いた補正パラメータ選択を行うための画像処理装置の処理としては、以下のものとなる。
以上の構成において、信頼度付角度推定部52は、遠景に存在する領域、近景に存在する領域それぞれから信頼度付傾き角度を求めるので、構造物の情報のない領域から得られた角度の信頼度は、構造物の存在する領域から得られた角度の信頼度よりも低くなる。そのため、信頼度を比較する事で、動的に使用する領域の選択が可能となる。このように傾き角度選択部53で信頼度に基づいて傾き角度を指定する事で、カメラ保持者あるいはカメラ保持者の存在する座標系が動く場合においても、構造物の存在する領域を使用する事ができるため、高精度な傾き角度推定が行える。
図17は、第3実施形態に係る信頼度付き傾き補正処理の処理手順を示すフローチャートである。本図左脇の括弧記号{は、本フローの各ステップが、どの構成要素に割り当てられているかを示す。ステップS41は特徴量抽出部1に割り当てられており、ステップS42は遠近両用マスク部51に、ステップS4〜ステップS46、ステップS51〜ステップS55は信頼度付角度推定部52に、ステップS56〜ステップS58は傾き角度選択部53に割り当てられていることがわかる。
以降、各ステップについて説明する。ステップS41は、フレーム特徴データに対する特徴抽出であり、この特徴抽出の結果を用いて、近景領域についての信頼度S1を算出する処理(ステップS42〜ステップS46)、遠景領域についての信頼度S2を算出する処理(ステップS51〜ステップS55)をパラレルに実行し、近景領域における信頼度S1、遠景領域における信頼度S2を得て、信頼度S1が信頼度S2より大きいかどうかの判定を行い(ステップS56)、判定結果に応じて。傾きを設定する(ステップS57、ステップS58)というものである。
近景領域の処理は、ステップS42において遠景領域に対してマスクを設定し、ステップS43において近景領域における傾きの度数分布を示すヒストグラムを作成する。そしてステップS44では、慣性センサ70で推定した角度範囲によってヒストグラムを区切り、ステップS45では、最大度数の角度を、近景領域における傾きθ1とする。そしてステップS46では、最大度数周辺の度数の平均/分散から信頼度S1を求める。
遠景領域に対する処理は、ステップS51において近景領域に対するマスクをセットし、ステップS52において遠景領域における傾きのヒストグラムを作成する。ステップS53では、慣性センサ70で推定した角度範囲を用いてヒストグラムを区切り、ステップS54では、最大度数の角度を遠景領域での傾きθ2とする。ステップS55では、最大度数周辺の度数の平均又は分散から、信頼度S2を求める。
こうして得られた信頼度S1、信頼度S2が、信頼度S1>信頼度S2の関係を満たす場合(ステップS56でYes)、近景領域から得られた傾きθ1をフレーム特徴データの傾きとして採用する(ステップS57)。信頼度S2>信頼度S1の関係を満たす場合(ステップS56でNo)、近景領域から得られた傾きθ2をフレーム特徴データの傾きとして採用する(ステップS58)。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して領域の分離を行い、分離した領域それぞれの画像の特徴のみを傾き角度検出法に用いて信頼度と傾き角度を算出し、信頼度の高い傾き角度を採用する事で、i)カメラ保持者自身が移動する場合、及びii)カメラ保持者の存在する座標系が移動する場合の両場合においても、構造物の存在する領域から得られる傾き角度を動的に選択し、検出する事が可能となる。
(第4実施形態)
これまでの実施形態は、動き量に基づき、傾き補正を実行するというものであったが、本実施形態では、画像揺れに対する揺れ補正を実行するというものである。画像揺れとは、撮影系の動きであって、手ブレよりも大きいものをいう。
そして揺れ補正とは、連続フレームにおける遠景領域の座標を合わせることで、遠景領域のスタビライズを行う技術である。図18(a)は、揺れ補正の対象となる、連続フレームの一例を示す図である。この連続フレームを構成する画像データは、競馬場で疾走する馬を追うように撮影された動画であるが、これらは馬を追うようなカメラワークで撮影されたため、遠景領域にある垂直柱の位置は、大きく変位している。遠景領域にある垂直柱の位置がフレーム毎に異なるような動画を再生に供しようとすると、フレーム毎に、垂直柱が変化するので、見ている者の酔い、つまり“映像酔い”を招く。
またビデオカメラで歩行しながら撮影をしている場合、映像が傾いてしまうだけでなく、撮影者自身の動きと共に撮影しているビデオカメラも揺れ動いてしまう。そのため、撮影された映像には揺れが印加されてしまい、視聴に耐えない。ハンズフリーカメラワークの実用化を考えた場合、かかる映像酔いにも考慮が必要なので、揺れ補正を施すことにしている。
ここで図18(a)によると、フレームt-1の画像データ、フレームtの画像データにおいて、垂直柱は共通に出現しているので、かかる垂直柱の座標を同じにすれば、遠景領域を固定化することができる。ここでフレームtの画像データにおいて垂直柱に(X1,Y1)(X2,Y2)という2つの特徴点が存在しており、フレームt-1の画像データにおいて垂直柱が(X4,Y4)(X5,Y5)という2つの特徴点が存在している場合、図18(b)に示すように、フレームt-1の画像データの(X4,Y4)(X5,Y5)を、フレームtの画像データの(X1,Y1)(X2,Y2)に一致するように変換するための回転行列Rを求める。このように、回転行列Rを求めることを“揺れ量の推定”という。かかる揺れ量の推定によって回転行列Rが求められれば、フレームt-1の画像データを構成する各画素を、回転行列Rに基づき変換することで、垂直柱の座標をフレームt-1の画像データと、フレームtの画像データとで一致させる。以上の処理により、見る者の映像酔いを招かない連続フレームを得ることができる。
図18(c)は、揺れ補正が施されたフレーム画像t-1の一例である。かかる揺れ補正の結果において、フレームt-1の画像データでは、画像データにおける垂直柱の座標が、フレームtの画像データと同じ場所になっているので、右端部分に、余白が生じているものの、動画再生において映像酔いが発生することはなくなっている。固定された遠景領域を背にして、被写体が移動してゆくような画像データが得られる。そしてS/Nのうち、Sが向上して、Nが低下するので、S/Nが高くなるという効果がある。
揺れ補正については以下の参考文献に記載があるので、詳細については、この参考文献を参照されたい。
“Robust and Real-time Rotation Estimation of Compound Omnidirectional
Sensor(2007 IEEE International Conference on Robotics and Automation Roma,Italy
10-14 April 2007)”
「III.MOTION AND MOTION COMPUTATION OF DISTANT FEATURE POINTS」
以降、揺れ補正の原理について、簡単に説明する。
フレーム間の揺れ量を推定する際には、フレームt, t-1間のカメラの動きを検出する事になる。このフレーム間の揺れ量を画像情報から正しく検出するためには、両フレームに共通に存在する座標(図18における(X1,Y1)(X2,Y2)(X4,Y4)(X5,Y5))を得る必要がある。これら(X1,Y1)(X2,Y2)(X4,Y4)(X5,Y5)のようにフレーム画像t-1、フレーム画像t間で安定して現れる特徴を、“揺れ特徴(t-1,t)”という。また、揺れ特徴(t-1,t)を構成する各フレーム特徴データの一点を“特徴点”という。
揺れ特徴(t-1,t)を検出する観点から画像の領域を大きく分けると、カメラから被写体までの距離が近い領域と、カメラから被写体までの距離が遠い領域となる。カメラから被写体まで距離が遠い領域上では、フレーム間の動きが小さくなるため、揺れ特徴(t-1,t)を安定に検出できる。逆に近景領域ではフレーム間の動きが大きいので、揺れ特徴(t-1,t)を安定的に検出し辛い。
そこで本実施形態では、フレーム画像t-1、フレーム画像tに対して近景領域の分離を行って、マスクを施すことにしている。図19(a)〜(c)は、近景領域をマスクすることでなされる揺れ特徴(t-1,t)を示す図である。図19(a)は、フレーム画像t-1、フレーム画像tに対して生成されたフレーム特徴データである。図19(b)は、図19(a)のフレーム画像t-1、フレーム画像tのうち、近景領域をマスクすることで得られるフレーム特徴データを示す図である。近景領域に対してマスクが施されたので、フレーム画像t-1、フレーム画像tは垂直柱の部分のみとなり、フレーム画像t-1ーフレーム画像t間の対応が取りやすくなっている。図19(c)は、フレーム画像t-1のフレーム特徴データ、フレーム画像tのフレーム特徴データから検出された特徴点を示す。近景領域となる競走馬の部分がマスクされたので、フレーム特徴データは垂直柱の部分のみとなり、揺れ特徴(t-1,t)が検出しやすくなっている。
この近景領域となる競走馬の部分は、第1実施形態におけるマスク範囲指定部により、指定することができるので、揺れ特徴(t-1,t)の効率良い検出には、第1実施形態の動きベクトル算出部4とマスク範囲指定部5、マスク部6をそのまま適用することができる。
また、フレーム間の揺れ補正を実行する際には、検出されたフレーム間の動き量と逆の量をフレームtに作用させる事で、補正を行う。
図20(a)(b)は、揺れ補正が施されていない2つのフレーム画像データと、揺れ補正が施された2つのフレーム画像データとを対比して示す図である。図20(a)では、フレームt-1からフレームtまでの間に、大地と、垂直柱とが大きく揺れているので、映像酔いの発生を招きかねない。これに対して図20(b)では、フレームt-1と、フレームtとで、大地、垂直柱の位置が固定されているため、見る者の映像酔いを招くことはない。同様の処理を、10秒、20秒といった時間間隔内に撮影された複数のフレーム画像データに施せば、非常に見易い動画再生を実現することができる。
図21は、第4実施形態に係る画像処理装置の内部構成を示す図である。本図は、図3をベースとして作図されており、このベースとなる構成と比較して、特徴量抽出部1が揺れ特徴抽出部54に置き換えられ、角度推定部3、傾き推定部7が、揺れ量推定部55、揺れ補正部56に置き換えられている点が異なる。図16の構成要素のうち、図3と同じものについては同じ符号を用い、説明を省略する。
(揺れ特徴抽出部54)
揺れ特徴抽出部54では、フレームメモリ30、40における画像データから特徴量を抽出する。ここでは、特徴量の1つの例として、エッジ成分を抽出する。
(揺れ量推定部55)
揺れ量推定部55は、マスクがかけられたフレーム特徴データから特徴点を選出し、フレーム間の揺れの量(=フレーム間のカメラの動き)を推定する。
(揺れ補正部56)
揺れ補正部56では揺れ量推定部55で推定された揺れ量を用いて揺れの補正を行う。
図22は、揺れ補正処理のフローチャートである。ステップS91において、フレーム画像t-1,tに対してHarrisアルゴリズムを適用することにより、安定的に抽出できる一定数の点を候補点(遠景領域内において特徴点の候補となる点)として選択し、ステップS92において画角の違い等の影響をキャンセルするべく、選択された各候補点を単位球面(半径=1)上の座標へ投影する。
図23は、単位球面(半径=1)上の座標へ投影されるフレーム画像t-1における特徴量と、フレーム画像tにおける特徴量とを示す図である。本図に示すように、フレーム画像t-1、フレーム画像t上の特徴量には、近景領域に属するものと、遠景領域に属するものとがあるが、これらのうち、遠景領域に属する特徴量が、単位球面に投影されている。近景領域に属するものは、単位球面に投影されていないことが判る。これは、フレーム特徴データにおける近景領域にマスクが施されているからである。
その後、RANSAC手法に基づく回転行列Rの算出を実行する。
以降、RANSAC手法に基づく回転行列Rの算出手順について述べる。ステップS93においてフレーム画像t-1, tにおいて、単位球面上へ投影された候補点のうち、マスクされた近景領域以外にある2点の候補点をランダムに選択してステップS94〜ステップS99のループを構成する。
このループは、フレーム画像t-1, tの各2点(計4点)の関係を表す回転行列Rを求めて(ステップS94)、求められた回転行列Rで、ランダムに選ばれたフレーム画像t-1における2点以外の点を回転し(ステップS95)、回転行列Rを求め、その一致度合を計測して(ステップS97)、規定時間内であるか否かを判定し(ステップS98)、もし規定時間以内であれば(ステップS98でYes)、フレーム画像t-1,tにおいて、単位球面上へ投影された候補点のうち、マスクされた近景領域以外にある未選択の2つの候補点をランダムに選択した上(ステップS99)、ステップS94に戻る。このようにして、近景領域以外にある未選択の2つの候補点をランダムに選び、回転行列を算出するという処理を、全ての点の組合せについて繰り返すのが、このループである。
ステップS98がNoであれば、選ばれた2つの点の回転行列Rは間違っているので、ステップS98からステップS99に移行して、フレーム画像t-1, tにおいて、単位球面上へ投影された候補点のうち、マスクされた近景領域以外にある未選択の2点のものをランダムに選択した上、ステップS94に戻る。
規定時間をオーバーすれば、ステップS98がNoとなり、ステップS100において、2点の候補点の組合せ毎に算出された回転行列Rのうち、最大の一致度合いを持つ回転行列Rを、フレーム画像t-1,t間の揺れの関係を表現する回転行列Rとする。そしてステップS101において、求まった回転行列Rを用いて、フレーム画像t-1の揺れを補正する。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して近景領域の分離を行い、遠景領域から算出された画像の特徴のみを揺れ量検出に用いることで、人物などが大きく画像内に入り込んでいるような映像であっても、精度良くフレーム間の揺れ量の推定をし、推定された揺れ量をもとに揺れ補正することができる。
(第5実施形態)
これまでの実施形態では、補正パラメータの検出に動きベクトルのスカラ量を用いたが、本実施形態では、動きベクトルの方向を用いる改良に関する。つまり、処理対象となるフレーム画像データを構成する各マクロブロックについて動きベクトルを算出して、これらのマクロブロックのうち、正しいと推定される方向をもたないマクロブロックを分離することで、マスクを施すべき範囲を決めるのである。ここで正しいと推定される方向とは、フレーム間のカメラの動きを示すものであり、先の実施形態で述べた揺れ推定の結果となる方向である。
ここで、これまでに説明した実施形態(第3実施形態、第4実施形態)と比較した、本実施形態の利点を述べる。第3実施形態では、動きベクトルの大きさを用いて、領域をフレーム間の動きが大きな領域と小さな領域の2つに分け、構造物の存在する領域の特徴を用いて傾き角度の推定を行っている。しかし動くものが多数存在すると、様々な大きさの動きベクトルが現れる。そのため動きベクトルの大きさのみではうまく領域の分割が行えないことがある。図24(a)は、連続フレームを構成するフレームt-1の画像データ、フレームtの画像データを示す図であり、図24(b)は、フレームtの画像データを構成する各マクロブロックから検出された動きベクトルを示す。図24(c)は、動きベクトルのスカラ量が大きい近景領域のみをマスクすることで得られたフレーム特徴データを示す。
このフレーム特徴データでは、構造物だけではなく、人物の後方に存在する樹木が特徴として現れているので、この図24(c)のフレーム特徴データでは、この樹木の部分の特徴量がノイズとして表れ、傾き角度の推定精度が低くなってしまう。
第3実施形態において、フレーム間の動きベクトルの大きさ以外に、カメラがフレーム間にどう動いたかを表すフレーム間の動きの方向を事前に知る事ができれば、構造物の存在する領域からノイズを低減させることができる。これは、構造物は自律的に動く事はなく、かつ、カメラの移動した方向とは逆方向に移動してカメラに写る事を利用する事で、カメラの動きと構造物の動きに対応しない動き方向を持つ領域を構造物領域ではないとして除外可能である事による。
第4実施形態では、フレーム間の揺れの量を推定し、補正を行っているが、前述のように、このフレーム間の揺れの量はフレーム間のカメラの動き量に相当する。そのため、この揺れ量を用いる事で図24(b)の動きベクトルのうち、フレーム間のカメラの動きと対応の取れない動きベクトルをもつ画素ブロックをマスクする事で、構造物以外の領域に存在するノイズを削除することができる。
図25(a)は、図24(b)におけるフレーム特徴データを、揺れ量推定の結果と同じ動きベクトルが占める領域と、揺れ量推定の結果と異なる方向の動きベクトルが占める領域とに分離した図である。
図25(b)の枠w1、w2は、各マクロブロックについての算出された動きベクトルのうち、揺れ推定の結果に該当する方向をもつもののみを示している。こうして得られた方向が、正しいと推定される方向であると仮定すれば、そのような方向をもたないマクロブロックに対してマスクを施して補正パラメータの検出を行うことで、人物像の後方における樹木の部分の線分を除外することができる。これにより高精度な補正パラメータを得ることができる。図25(c)は、補正パラメータである傾き角度の検出に用いられるフレーム特徴データを示す図である。
以上が、第3実施形態、第4実施形態と比較した本実施形態の利点となる。
図26は、第5実施形態に係る画像処理装置の内部構成を示す図である。本図は、図16に準じた内部構成と、図21に準じた内部構成とを組合せた形態になっている。特徴量抽出部1、動きベクトル検出部4、マスク範囲指定部5、信頼度付角度推定部52、傾き角度選択部53、慣性センサ70が、図16に準じた内部構成である。この組合せにあたって、マスク部6は、マスクパターン拡大部57に置き換えられている。マスクパターン拡大部57は、本実施形態特有の構成要素である。
また、揺れ特徴抽出部54、マスク部6、揺れ量推定部55は、図21に準じた内部構成である。揺れ補正部56は、揺れ補正・傾き補正部58に置き換えられているが、この揺れ補正・傾き補正部58は、本実施形態特有の構成要素である。以降、本実施形態特有の構成要素(マスクパターン拡大部57、揺れ補正・傾き補正部58)と、本実施形態の処理のために改良が加えられた構成要素(信頼度付角度推定部52、傾き角度選択部53)とについて説明する。
(マスクパターン拡大部57)
マスクパターン拡大部57は、マスク範囲指定部5により指定されたマスクパターンを、揺れ量推定部55による揺れ補正の結果に基づいて拡大する。マスク範囲指定部5は、動きベクトルの大きさに応じて近景領域が分離した。マスクパターン拡大部57は、マスク範囲指定部5で分離された各領域の動きベクトルの向きと、揺れ量推定部55で得られたカメラの動きベクトルの向きとを照合し、揺れ量との対応が取れない領域を網羅するように、マスクパターンの範囲を拡大する。こうすることで、カメラの動きベクトルの向きと対応の取れる領域のみを対象とするマスクパターンが生成されることになる。
(信頼度付角度推定部52)
信頼度付角度推定部52における改良点は、マスクパターン拡大部57によって生成されたマスクパターンによって分離された近景領域、遠景領域に対して信頼度付傾き角度推定を行うことである。
(傾き角度選択部53)
傾き角度選択部53における改良点は、信頼度付角度推定部52で生成された遠景・近景の傾き角度の信頼度の比較して、信頼度の高い傾き角度を、正しい傾き角度として選択する点である。また、傾き角度を生成した領域が3つ以上存在する場合、生成した傾き角度のうち最も高い信頼度を有する傾き角度を、正しい傾き角度として選択する。
(揺れ補正・傾き補正部58)
揺れ補正・傾き補正部58は、傾き角度選択部53から得られた傾き角度、及び、揺れ量推定部から得られたフレーム間の揺れ量を用いてフレームメモリ30のフレーム画像tの傾きと揺れとを同時に補正する。この補正方法としては、第1実施形態で傾きを補正する際に用いていたAffine変換がある。
図27は、揺れ量推定処理のフローチャートである。ステップS81において、変数tを0に初期化し、ステップS82、ステップS83のループに移行する。このループは、変数tにて指示される個々のフレーム特徴データに対して、ステップS84〜ステップS90の処理を繰り返すというものであり、変数tのインクリメントは、ステップS90でなされる。ますステップS84において変数tが0かどうかを判定し、0であれば、ステップS85においてフレーム特徴データ0から揺れ特徴(t-1,t)を抽出する。0でなければ、ステップS86においてフレーム特徴データtから揺れ特徴(t-1,t)を抽出して、ステップS87において前フレームと比較することで揺れ特徴(t-1,t)を得る。ステップS88では、揺れ特徴(t-1,t)のうち移動量が大きいもの除外する。
ステップS89において、揺れ特徴(t-1,t)のうち、除外されていない領域にある特徴点間の対応関係を調べて、対応関係を示す回転行列Rを算出することで、揺れ推定の結果を得る。
図28は、第5実施形態に係るマスク処理、補正処理の処理手順を示すフローチャートである。本フローチャートにおける変数tは、フレーム特徴データを指示する制御変数である。ステップS61において、この変数tを0に初期化し、ステップS62〜ステップS63のループに移る。このループは、フレーム特徴データのそれぞれについて、ステップS64〜ステップS71の処理を実行するものである。ステップS64は、フレーム特徴データをsjする変数tが0であるかどうかの判定であり、t=0であれば、ステップS65においてフレーム特徴データ0から揺れ特徴(t-1,t)を抽出する。
変数tが0でなければ、ステップS66において近景領域分離を行い、ステップS67において、揺れ特徴(t-1,t)に対する揺れ量推定の結果とは異なる方向成分をもつブロックと、近景領域に該当するブロックとを網羅するマスクパターンを生成する。
ステップS68では、揺れ特徴(t-1,t)に対する揺れ補正結果とは異なる方向成分をもつブロックと、近景領域に該当するブロックとを網羅するマスクパターンとを用いて、近景領域の再分離を行う。
ステップS69では、傾きセンサから特定された近景領域と、この近景領域以外の遠景領域とに対して、それぞれ信頼度を算出して、この信頼度に基づき、近景領域、遠景領域の何れかから傾きを選択するかを決定して、傾き角度θを算出する。
ステップS70において角度θと、揺れ量推定結果となる回転行列とを補正パラメータとして用いて傾き補正と、揺れ補正とを実行する。ステップS71では、フレーム特徴データtを符号化して、表示する。その上、ステップS72において変数tをインクリメントする。
以上のように本実施形態によれば、フレーム間の動きベクトルの大きさを利用して近景領域をマスクし、更にフレーム間の揺れ量の推定結果を用いてマスクすることで、構造物の存在する領域内のノイズを除去する事が可能となる。これにより、i)人物などが大きく画像内に入り込んでいるような映像、ii)木などの輝度値がバラバラでフレーム間に多様動く様な領域が存在する映像、iii)たまたまフレーム間の動き量が小さいような物体が存在するような映像であっても、精度良くフレーム間の傾き角度の推定をし、推定された傾き角度をもとに傾き補正することができる。
(第6実施形態)
フレーム画像データに現れるが被写体が近景領域かどうかの判定に測距センサ59を用いる改良である。図29は、第6実施形態に係る画像処理装置の内部構成を示す図である。本図は、図3をベースとして作図されており、このベースとなる構成と比較して、測距センサ59がマスク範囲指定部5に直列的に接続されている点が、本実施形態特有の改良になっている。図29において、図3と同じ構成要素については同じ符号を用い、説明を省略する。
図29にある測距センサ59は、例えば赤外線センサなどがあり、センサの位置から被写体までの距離が3mから5m程度であり、比較的近い場合、その被写体までの距離を計測できる。この測距センサをカメラに取り付ける事で、カメラから画像が撮影された際の被写体までの距離が近い領域の情報を知る事ができる。第1実施形態のようにフレーム間の動きベクトルの大きさを計測しただけでは、計測誤差や誤対応などの原因により、完全に分割する事ができない場合でも、測距センサを使用する事で、確実に近景領域である領域が分かる。
これを利用し、マスク範囲指定部5で動きの大きな領域と小さな領域分離した結果と照合し、計測誤差や誤対応などにより、遠景領域であると判定されていた領域が近景領域である事が分かる。そのため、近景・遠景領域の分離精度が高くなるので、より高精度に傾き角度を検出する事が可能になる。
(その他変形例)
1.フレーム特徴データの算出方法
特徴量抽出部1では、エッジ検出を行った後にエッジのS/N比を高める目的で前処理を加えても構わない。前処理の例としては、以下のものが挙げられる。エッジ検出前に行う前処理としては、メディアンフィルタ、ローパスフィルタなどの平滑化処理を行ってノイズを減らす方法がある。また、エッジ検出後に行う前処理としては、エッジ情報に含まれるノイズ除去するために前処理としてエッジ情報に対してラベリング処理を行い、孤立しているエッジを除去する孤立点除去方法。同様の目的で、前処理として、エッジ情報に対してモルフォロジフィルタを使用し、opening処理を行う方法などがある。
2.角度範囲の制限
角度範囲を制限する際には、センサの信頼度を尤度などで表現をし、そのセンサの尤度を乗じたヒストグラムを、角度の存在確率として捉えて、その確率の最大の角度を、水平からの傾き角度であるとして推定を行っても構わない。
かかる構成によれば、センサの出力値を基準に傾き角度の存在する範囲を限定することで、傾き角度の推定範囲が狭くなるため、傾き角度の推定精度が向上する。
3.マスクを施すべき範囲
これまでの実施形態では、画素ブロック毎に算出された動きベクトルのスカラ量又は方向に基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定したが、指定の基準は、動きベクトルのスカラ量又は方向に限らない。動きベクトルに依拠するパラメータであれば、DCT係数や直流成分等、他のパラメータを採用してよいことはいうまでもない。
4.補正パラメータのバリエーション
これまでの実施形態では、補正パラメータとして、傾き角度や回転行列を検出したが、何等かの補正を施すことができるものなら、他のものを検出してもよい。例えば、フィルタ係数や、輝度変換のパラメータを補正パラメータとして検出してもよい。
5.信頼度付角度推定のバリエーション
信頼度付角度推定部52は、遠近両用マスク部51で生成された遠景・近景の両方の領域において傾き角度の推定を行ったが、遠景領域に対したのみ、信頼度を算出してもよい。
本発明にかかる画像処理装置は、撮影された映像の傾き補正機能を有し、安定撮影可能なビデオカメラ100等として有用である。またデジタルカメラ等への用途にも応用できる。
本発明にかかる画像処理装置が組込まれたビデオカメラ100の使用行為の形態を示す図である。 本発明にかかる画像処理装置が組込まれたビデオカメラ100のハードウェア構成を示す図である。 本発明にかかる画像処理エンジン50のソフトウェア構成を示す機能構成図である。 (a)DMAコントローラ20により、フレームメモリ30及び、フレームメモリ40に書き込まれたフレーム画像t-1,フレーム画像tを示す図である。 (b)フレーム画像を構成する複数のブロックを示す図である。 (c)フレーム画像における一画素の画素値となるY,Cr,Cbを表す、32ビットデータを示す図である。 (a)図4に示したフレーム画像tに対して得られたフレーム特徴データを示す図である。 (b)角度推定にあたって、生成されるヒストグラムの一例を示す図である。 (a)連続するフレーム画像に対する動きベクトルの検出結果を示す図である。 (b)近景領域を示す情報の一例を示す図である。 (c)16画素×16画素からなるブロックの形状にて近似された、近景領域形状を示す図である。 (a)傾きを表す有効なエッジ情報の所在を示す図である。(b)(c)マスクパターンの一例を示す図である。 (a)マスク処理のための論理演算を模式的に示す図である。(b)マスクを施した場合に得られる出現頻度を実線で示し、施さなかった場合に得られる出現頻度を破線で示したヒストグラムである。(c)近景領域と遠景領域との境界における擬似輪郭に対して生成されたエッジ情報を示す図である。 (a)近景領域のマスクがなされたフレーム画像に対して、角度推定を行った場合に得られるヒストグラムを示す図である。 (b)20°という推定角度に基づき傾き補正部7が回転補正を行うことで得られる補正画像を示す図である。 フレーム画像に対する領域分割の処理手順を示すフローチャートである。 特徴量抽出から角度推定までの処理手順を示すフローチャートである。 第2実施形態に係る画像処理装置のハードウェア構成を示す図である。 (a)近景領域分離により得られるヒストグラムを示す図である。 (b)センサ値に基づき狭められた推定範囲を示す図である。 (a)第3実施形態における傾き推定処理において、題材となるフレーム画像データであり、バスの車内で撮影された画像データを示す。 (b)図14(a)のフレーム画像データに対して特徴量抽出を行うことにより得られるフレーム特徴データを示す図である。 (c)近景領域に対してマスクが施されたフレーム特徴データを示す。 (d)遠景領域に対してマスクが施されたフレーム特徴データを示す。 マスクが施された画像データと、これらのフレーム画像データに対して作成されたヒストグラムとを示す図である。 第3実施形態に係る画像処理装置の内部構成を示す図である。 第3実施形態に係る信頼度付き傾き補正処理の処理手順を示すフローチャートである。 (a)揺れ補正の対象となる、連続フレームの一例を示す図である。 (b)フレームt-1の画像データの(X4,Y4)(X5,Y5)を、フレームt-1の画像データの(X1,Y1)(X2,Y2)に一致するように変換するための回転行列Rの一例を示す図である。 (c)揺れ補正が施されたフレーム画像t-1の一例である。 (a)フレーム画像t-1、フレーム画像tに対して生成されたフレーム特徴データである。 (b)図19(a)のフレーム画像t-1、フレーム画像tのうち、近景領域をマスクすることで得られるフレーム特徴データを示す図である。 (c)フレーム画像t-1のフレーム特徴データ、フレーム画像tのフレーム特徴データから検出された特徴点を示す図である。 (a)(b)揺れ補正が施されていない2つのフレーム画像データと、揺れ補正が施された2つのフレーム画像データとを対比して示す図である。 第4実施形態に係る画像処理装置の内部構成を示す図である。 揺れ補正処理のフローチャートである。 単位球面(半径=1)上の座標へ投影されるフレーム画像t-1における特徴量と、フレーム画像tにおける特徴量とを示す図である。 (a)連続フレームを構成するフレームt-1の画像データ、フレームtの画像データを示す図である。 (b)フレームtの画像データを構成する各マクロブロックから検出された動きベクトルを示す図である。 (c)構造物の存在する領域内に構造物以外の領域がノイズとして存在する事例を示す図である。 (a)図24におけるフレーム特徴データを、揺れ特徴(t-1,t)の結果と同じ動きベクトルが占める領域と、揺れ特徴(t-1,t)の結果と異なる方向の動きベクトルが占める領域とに分離した図である。 (b)各マクロブロックについての算出された動きベクトルのうち、揺れ量推定結果に該当する方向をもつもののみを示す図である。 (c)補正パラメータである傾き角度の検出に用いられるフレーム特徴データを示す図である。 第5実施形態に係る画像処理装置の内部構成を示す図である。 揺れ量推定処理のフローチャートである。 第5実施形態に係る画像処理装置全体のフローチャートである。 第6実施形態に係る画像処理装置の内部構成を示す図である。
10 撮像デバイス
20 DMAコントローラ
30 フレームメモリ
40 フレームメモリ
50 画像処理エンジン
60 カードドライブ
70 慣性センサ
100 ビデオカメラ100
1 特徴量抽出部
2 線分検出部
3 角度推定部
4 動きベクトル算出部
5 マスク範囲指定部
6 マスク部
7 傾き推定部
8 符号化部
51 遠近両用マスク部
52 信頼度付角度推定部
53 傾き角度選択部
54 揺れ特徴抽出部
55 揺れ量推定部
56 揺れ補正部
57 マスクパターン拡大部
58 揺れ補正・傾き補正部
59 測距センサ

Claims (16)

  1. 補正パラメータを用いてフレーム画像データを補正する画像処理装置であって、
    フレーム画像データにおける絵柄の特徴を表したフレーム特徴データを生成する生成手段と、
    時間的に前のフレーム画像データからの動きベクトルを、処理対象となるフレーム画像データを構成する各画素ブロックのそれぞれに対して算出する算出手段と、
    各画素ブロックについて算出された動きベクトルに基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定する範囲指定手段と、
    フレーム特徴データのうち、マスクが施された範囲以外の部分から、補正パラメータを検出する検出手段と
    を備えることを特徴とする画像処理装置。
  2. 前記マスクを施すべきフレーム特徴データの範囲とは、
    動きベクトルにおける動き量が、所定の閾値を越える画素ブロックに対応する、フレーム特徴データの一部分であり、
    所定の閾値とは、
    画像データにおける複数のブロックの動き量の平均値である
    ことを特徴とする請求項1記載の画像処理装置。
  3. 前記動きベクトルにおける動き量が、前記所定の閾値を越える画素ブロックとは、フレーム特徴データにおける近景領域であり、
    前記範囲指定手段は、
    動きベクトルにおける動き量に基づき、フレーム特徴データを、近景領域と遠景領域とに分離する処理を行い、
    前記範囲指定手段によりマスクが施されるべき範囲とは、近景領域及び/又は遠景領域である
    ことを特徴とする請求項2記載の画像処理装置。
  4. 前記検出手段は更に、
    近景領域及び遠景領域のうち、マスクが施された領域以外の領域に対して、フレーム特徴データに存在する角度成分がとりうる角度範囲と、当該角度範囲の度数とを対応付けて示すヒストグラムを作成する処理(1)、
    ヒストグラムにおける度数の平均又は分散に基づいて、ヒストグラムに示される角度成分の信頼度を算出する処理(2)を行い、
    前記信頼度は、各角度成分に対応する度数がどれだけ突発的であるかを示すパラメータであり、
    前記検出手段により検出される補正パラメータとは、
    近景領域及び遠景領域について算出されたヒストグラムに示される角度成分のうち、算出された信頼度が最も高いものから選ばれた角度である
    ことを特徴とする請求項1記載の画像処理装置。
  5. 前記フレーム画像データに対する補正とは、
    回転行列を用いて、複数のフレーム画像データにおける特徴点を、同じ位置に固定することにより、撮影時の揺れを補正する処理であり、
    前記検出手段により検出される補正パラメータとは、
    フレーム特徴データのうち、マスクが施された領域以外に存在する2つの特徴点における揺れ量を示す回転行列である
    ことを特徴とする請求項1記載の画像処理装置。
  6. 前記検出手段は、補正パラメータを検出するにあたって、
    フレーム特徴データにおいてマスクが施されていない範囲から、特徴点の候補となる点のペアをランダムにえらんで、その候補点のペア毎に、回転行列を算出とすると共に、その回転行列を作用させた場合のフレーム画像データ間の一致度合を計算する処理を行い、
    前記補正パラメータとして選ばれる2つの特徴点は、
    フレーム特徴データにおいてマスクが施されていない範囲から選ばれる候補点のペアのうち、回転行列における一致度合が最も高いものである
    ことを特徴とする請求項5記載の画像処理装置。
  7. 前記処理対象となるフレーム画像データは、傾きセンサを有した撮像装置によって撮影され、
    前記フレーム画像データに対する補正とは、処理対象となるフレーム画像データに対して回転変換を施すことで、撮影時における撮影装置の傾きを補正する処理であり、
    前記検出手段は更に、
    マスク領域以外の領域に対して、フレーム特徴データに存在する角度成分がとりうる角度範囲と、当該角度範囲の度数とを対応付けて示すヒストグラムを作成する処理(1)、
    ヒストグラムに度数が現れた角度範囲のうち、傾きセンサの出力となる角度範囲内に属するものを、選択する処理(2)を行い、
    前記補正パラメータとは、選択された角度範囲に属する角度である
    ことを特徴とする請求項1記載の画像処理装置。
  8. 処理対象となるフレーム画像データは、被写体までの距離を計測可能なセンサを具備した撮影装置によって撮影され、
    前記画像処理装置による前記フレーム画像データに対する補正とは、処理対象に対して回転変換を施すことで、撮影装置の傾きを修正する処理であり、
    前記画像処理装置は、センサからの出力値に応じて、処理対象を構成する複数の画素ブロックのそれぞれが、近景に対応するものか、遠景に対応するものかの判定を行う判定手段を備え、
    フレーム特徴データのうち、マスクが施される一部とは、
    近景に対応すると判定された画素ブロックに対応する、フレーム特徴データの一部である
    ことを特徴とする請求項1記載の画像処理装置。
  9. フレーム特徴データのうち、マスクが施される一部とは、
    動きベクトルにおける動き量が、所定の閾値を越える画素ブロック、及び、
    所定の方向成分とは異なる方向成分の動きベクトルをもつ画素ブロックに対応した部分であり、
    所定の方向成分とは、
    処理対象となるフレーム画像データを構成する複数の画素ブロックのうち、時間的に前に撮影されたフレーム画像データを構成する画素ブロックとの対応がとれるものがもつ方向成分である
    ことを特徴とする請求項1記載の画像処理装置。
  10. 前記範囲指定手段は、
    動きベクトルにおける動き量が、所定の閾値を越える画素ブロックを近景領域として分離する処理を行い、
    前記画像処理装置は、
    処理対象となるフレーム画像データを構成する複数の画素ブロックのうち、近景領域に存在するもの以外から2つの特徴量を選択して、選択された2つの特徴点が、その直前のフレーム画像データからどれだけ変化したかを示す揺れ量を推定する推定手段を備え、
    所定の方向成分をもつ画素ブロックとは、
    近景領域に存在する画素ブロック以外の画素ブロックについて推定された揺れ量に基づき、時間的に前に撮影されたフレーム画像データを構成する画素ブロックとの対応がとれるものを選択することで選ばれる画素ブロックである
    ことを特徴とする請求項9記載の画像処理装置。
  11. 前記フレーム画像データに対する補正とは、
    処理対象に対して回転変換を施すことで、撮影時の傾きを補正する処理、及び、
    連続して撮影された複数のフレーム画像データにおける背景領域を、同じ位置に固定することにより、撮影時の揺れを補正する処理
    の双方である、ことを特徴とする請求項9記載の画像処理装置。
  12. 前記範囲指定手段は、
    動きベクトルにおける動き量に基づき、フレーム特徴データを、近景領域と遠景領域とに分離する処理を行い、
    前記マスクを施すべきフレーム特徴データの範囲とは、
    フレーム特徴データにおける近景領域であり、
    前記フレーム画像データに対する補正とは、
    回転行列を用いて、フレーム画像間に共通に存在する特徴点を、同じ位置に固定することにより、撮影時の揺れを補正する処理であり、
    前記検出手段により検出される補正パラメータとは、
    フレーム特徴データのうち、マスクが施された近景領域以外の遠景領域に存在する2つの特徴点における揺れ量を示す回転行列である
    ことを特徴とする請求項1記載の画像処理装置。
  13. 前記画像処理装置は更に、補正パラメータを用いた補正が施されたフレーム画像データを符号化する符号化部を備える、請求項1に記載の画像処理装置。
  14. 前記画像処理装置には、複数のフレームメモリが接続されており、
    処理対象となるフレーム画像データと、時間的に前のフレーム画像データとは、複数のフレームメモリに格納されている
    ことを特徴とする請求項1に記載の画像処理装置。
  15. 補正パラメータを用いてフレーム画像データを補正する画像処理方法であって、
    フレーム画像データにおける絵柄の特徴を表したフレーム特徴データを生成する生成ステップと、
    時間的に前のフレーム画像データからの動きベクトルを、処理対象となるフレーム画像データを構成する各画素ブロックのそれぞれに対して算出する算出ステップと、
    各画素ブロックについて算出された動きベクトルに基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定する範囲指定ステップと、
    フレーム特徴データのうち、マスクが施された範囲以外の部分から、補正パラメータを検出する検出ステップと
    を有することを特徴とする画像処理方法。
  16. 補正パラメータを用いてフレーム画像データを補正する処理をコンピュータに実行させるプログラムであって、
    フレーム画像データにおける絵柄の特徴を表したフレーム特徴データを生成する生成ステップと、
    時間的に前のフレーム画像データからの動きベクトルを、処理対象となるフレーム画像データを構成する各画素ブロックのそれぞれに対して算出する算出ステップと、
    各画素ブロックについて算出された動きベクトルに基づいて、フレーム特徴データ全体のうち、マスクを施すべき範囲を指定する範囲指定ステップと、
    フレーム特徴データのうち、マスクが施された範囲以外の部分から、補正パラメータを検出する検出ステップと
    をコンピュータに実行させることを特徴とするプログラム。
JP2009520293A 2007-06-28 2008-06-03 画像処理装置、画像処理方法、プログラム Active JP4886850B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009520293A JP4886850B2 (ja) 2007-06-28 2008-06-03 画像処理装置、画像処理方法、プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007170174 2007-06-28
JP2007170174 2007-06-28
JP2009520293A JP4886850B2 (ja) 2007-06-28 2008-06-03 画像処理装置、画像処理方法、プログラム
PCT/JP2008/001397 WO2009001510A1 (ja) 2007-06-28 2008-06-03 画像処理装置、画像処理方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2009001510A1 true JPWO2009001510A1 (ja) 2010-08-26
JP4886850B2 JP4886850B2 (ja) 2012-02-29

Family

ID=40185338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009520293A Active JP4886850B2 (ja) 2007-06-28 2008-06-03 画像処理装置、画像処理方法、プログラム

Country Status (5)

Country Link
US (1) US8417059B2 (ja)
EP (1) EP2053844B1 (ja)
JP (1) JP4886850B2 (ja)
CN (1) CN101543054B (ja)
WO (1) WO2009001510A1 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8405727B2 (en) 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
US8538084B2 (en) 2008-09-08 2013-09-17 Apple Inc. Method and apparatus for depth sensing keystoning
US8508671B2 (en) 2008-09-08 2013-08-13 Apple Inc. Projection systems and methods
US8610726B2 (en) 2008-09-26 2013-12-17 Apple Inc. Computer systems and methods with projected display
US8527908B2 (en) 2008-09-26 2013-09-03 Apple Inc. Computer user interface system and methods
US7881603B2 (en) 2008-09-26 2011-02-01 Apple Inc. Dichroic aperture for electronic imaging device
JP4687807B2 (ja) * 2009-03-27 2011-05-25 カシオ計算機株式会社 動画記録装置、及び動画像の傾き補正方法、プログラム
EP2422522A1 (en) 2009-04-20 2012-02-29 Dolby Laboratories Licensing Corporation Directed interpolation and data post-processing
US9160885B2 (en) * 2009-07-02 2015-10-13 Hewlett-Packard Development Company, L.P. Skew detection
KR20120089452A (ko) * 2009-08-04 2012-08-10 아이큐 비젼 테크놀로지즈 리미티드 물체 추출 시스템 및 방법
US9595108B2 (en) 2009-08-04 2017-03-14 Eyecue Vision Technologies Ltd. System and method for object extraction
JP2011053468A (ja) * 2009-09-02 2011-03-17 Sony Corp 映像/文字同時表示装置及び頭部装着型ディスプレイ
US8619128B2 (en) 2009-09-30 2013-12-31 Apple Inc. Systems and methods for an imaging system using multiple image sensors
US8502926B2 (en) 2009-09-30 2013-08-06 Apple Inc. Display system having coherent and incoherent light sources
US8687070B2 (en) * 2009-12-22 2014-04-01 Apple Inc. Image capture device having tilt and/or perspective correction
JP4964971B2 (ja) * 2010-01-14 2012-07-04 株式会社ナナオ ブロック別動きベクトル演算装置またはその方法
JP5388910B2 (ja) * 2010-03-10 2014-01-15 パナソニック株式会社 画像揺れ補正装置および画像揺れ補正方法
JP5654484B2 (ja) * 2010-06-04 2015-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像処理装置、画像処理方法、集積回路、プログラム
CN102474573B (zh) * 2010-06-11 2016-03-16 松下电器(美国)知识产权公司 图像处理装置以及图像处理方法
KR20110135786A (ko) * 2010-06-11 2011-12-19 삼성전자주식회사 깊이 전이 데이터를 이용한 3d 비디오 인코딩/디코딩 장치 및 방법
KR101630286B1 (ko) * 2010-08-09 2016-06-15 한화테크윈 주식회사 전경 및 배경 분리 장치 및 방법
US8497897B2 (en) 2010-08-17 2013-07-30 Apple Inc. Image capture using luminance and chrominance sensors
US8538132B2 (en) 2010-09-24 2013-09-17 Apple Inc. Component concentricity
US8699813B2 (en) * 2010-11-19 2014-04-15 Analog Devices, Inc Adaptive filter for low-light noise reduction
TWI426775B (zh) * 2010-12-17 2014-02-11 Ind Tech Res Inst 攝影機再校正系統及其方法
US8384787B2 (en) * 2011-02-24 2013-02-26 Eastman Kodak Company Method for providing a stabilized video sequence
JP2012227669A (ja) * 2011-04-19 2012-11-15 Sony Corp 情報処理装置と情報処理方法およびプログラム
US8891868B1 (en) * 2011-08-04 2014-11-18 Amazon Technologies, Inc. Recognizing gestures captured by video
US10088924B1 (en) 2011-08-04 2018-10-02 Amazon Technologies, Inc. Overcoming motion effects in gesture recognition
JP2013046209A (ja) * 2011-08-24 2013-03-04 Sony Corp 画像処理装置、および、画像処理装置の制御方法ならびに当該方法をコンピュータに実行させるためのプログラム
CN102427505B (zh) * 2011-09-29 2013-11-13 深圳万兴信息科技股份有限公司 一种基于Harris Corner的视频稳像方法及***
US20130107066A1 (en) * 2011-10-27 2013-05-02 Qualcomm Incorporated Sensor aided video stabilization
US20130107064A1 (en) * 2011-10-27 2013-05-02 Qualcomm Incorporated Sensor aided image stabilization
US9064191B2 (en) 2012-01-26 2015-06-23 Qualcomm Incorporated Lower modifier detection and extraction from devanagari text images to improve OCR performance
US9053361B2 (en) 2012-01-26 2015-06-09 Qualcomm Incorporated Identifying regions of text to merge in a natural image or video frame
DE112013000762T5 (de) * 2012-01-31 2014-12-11 Panasonic Corporation Bildverarbeitungsvorrichtung und Bildverarbeitungsverfahren
US8773542B2 (en) * 2012-05-17 2014-07-08 Samsung Electronics Co., Ltd. Apparatus and method for adaptive camera control method based on predicted trajectory
US9262699B2 (en) 2012-07-19 2016-02-16 Qualcomm Incorporated Method of handling complex variants of words through prefix-tree based decoding for Devanagiri OCR
US9014480B2 (en) 2012-07-19 2015-04-21 Qualcomm Incorporated Identifying a maximally stable extremal region (MSER) in an image by skipping comparison of pixels in the region
US9047540B2 (en) 2012-07-19 2015-06-02 Qualcomm Incorporated Trellis based word decoder with reverse pass
US9141874B2 (en) 2012-07-19 2015-09-22 Qualcomm Incorporated Feature extraction and use with a probability density function (PDF) divergence metric
US9076242B2 (en) * 2012-07-19 2015-07-07 Qualcomm Incorporated Automatic correction of skew in natural images and video
US9279983B1 (en) 2012-10-30 2016-03-08 Google Inc. Image cropping
US9569823B2 (en) 2012-12-26 2017-02-14 Sony Corporation Image processing device and method, and program for correcting a blurred moving image
WO2014115197A1 (ja) * 2013-01-24 2014-07-31 パナソニック株式会社 撮像装置、検出装置
DE102013005658A1 (de) * 2013-04-02 2014-10-02 Docuware Gmbh Erfassung eines dokuments
US9356061B2 (en) 2013-08-05 2016-05-31 Apple Inc. Image sensor with buried light shield and vertical gate
JP2015033108A (ja) * 2013-08-07 2015-02-16 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US9230382B2 (en) * 2013-08-26 2016-01-05 Vertifi Software, LLC Document image capturing and processing
US8897538B1 (en) * 2013-08-26 2014-11-25 Vertifi Software, LLC Document image capturing and processing
EP3053333A4 (en) * 2013-10-04 2017-08-02 RealD Inc. Image mastering systems and methods
US9305214B1 (en) * 2013-10-29 2016-04-05 The United States Of America, As Represented By The Secretary Of The Navy Systems and methods for real-time horizon detection in images
JP6434209B2 (ja) 2013-12-20 2018-12-05 株式会社リコー 画像生成装置、画像生成方法、およびプログラム
JP6338408B2 (ja) * 2014-03-14 2018-06-06 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2015140596A1 (en) * 2014-03-19 2015-09-24 Sony Corporation Control of shake blur and motion blur for pixel multiplexing cameras
JP6299373B2 (ja) 2014-04-18 2018-03-28 富士通株式会社 撮像方向の正常性の判定方法、撮像方向の正常性の判定プログラムおよび撮像方向の正常性の判定装置
JP6299371B2 (ja) 2014-04-18 2018-03-28 富士通株式会社 撮像方向の傾き検出方法、撮像方向の傾き検出プログラムおよび撮像方向の傾き検出装置
JP6264173B2 (ja) 2014-04-18 2018-01-24 富士通株式会社 撮像方向の正常性判定方法、撮像装置取り付け状態評価プログラムおよび撮像装置取り付け状態評価装置
JP5843034B1 (ja) * 2014-05-15 2016-01-13 株式会社リコー 動画表示装置およびプログラム
US9245187B1 (en) * 2014-07-07 2016-01-26 Geo Semiconductor Inc. System and method for robust motion detection
US20170323763A1 (en) * 2014-07-31 2017-11-09 Hitachi High-Technologies Corporation Charged Particle Beam Device
EP3001676B1 (en) * 2014-09-25 2016-10-26 Axis AB Method and image processing device for image stabilization of a video stream
US9918008B2 (en) 2015-02-06 2018-03-13 Wipro Limited Method and device for assisting a user to capture images
EP3620838A1 (en) * 2015-06-02 2020-03-11 Life Technologies Corporation Systems and methods for calibrating a structured illumination imaging system and for capturing a structured illumination image
US9838604B2 (en) * 2015-10-15 2017-12-05 Ag International Gmbh Method and system for stabilizing video frames
JP6017005B2 (ja) * 2015-11-04 2016-10-26 キヤノン株式会社 画像検索装置、画像検索方法及びプログラム
US10033926B2 (en) * 2015-11-06 2018-07-24 Google Llc Depth camera based image stabilization
JP2017126254A (ja) * 2016-01-15 2017-07-20 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
CN113311830A (zh) * 2016-06-03 2021-08-27 苏州宝时得电动工具有限公司 自动行走设备及目标区域识别方法
WO2018012366A1 (ja) * 2016-07-13 2018-01-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法及び符号化方法
JP2018022370A (ja) * 2016-08-04 2018-02-08 キヤノン株式会社 アプリケーション実行装置及びその制御方法、並びにプログラム
EP3610647B1 (en) * 2017-04-26 2021-12-08 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a panoramic video signal
WO2019000443A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 一种帧间预测的方法及装置
EP3654233A1 (en) * 2018-11-15 2020-05-20 BSB Artificial Intelligence GmbH System and method for identifying an object in water
CN111263037B (zh) * 2018-11-30 2023-04-18 株式会社理光 图像处理装置、拍摄装置、视频播放***、方法以及程序
CN110008802B (zh) 2018-12-04 2023-08-29 创新先进技术有限公司 从多个脸部中选择目标脸部及脸部识别比对方法、装置
CN111325673B (zh) * 2018-12-14 2023-06-30 瑞昱半导体股份有限公司 影像处理方法与影像处理电路
CN109741286B (zh) * 2019-02-19 2021-01-05 厦门码灵半导体技术有限公司 中值滤波方法、装置、存储介质和电子设备
CN110460769B (zh) * 2019-07-05 2021-08-17 浙江大华技术股份有限公司 图像矫正方法、装置、计算机设备和存储介质
CN112991255B (zh) * 2019-12-16 2023-11-28 信扬科技(佛山)有限公司 机器人平衡判定装置及机器人平衡判定方法
CN111429380B (zh) * 2020-04-08 2023-11-03 京东科技信息技术有限公司 一种图像矫正方法、装置、电子设备及存储介质
CN113781571A (zh) * 2021-02-09 2021-12-10 北京沃东天骏信息技术有限公司 图像处理方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034986A (en) * 1989-03-01 1991-07-23 Siemens Aktiengesellschaft Method for detecting and tracking moving objects in a digital image sequence having a stationary background
JP3803122B2 (ja) * 1995-05-02 2006-08-02 松下電器産業株式会社 画像メモリ装置および動きベクトル検出回路
EP1274252A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US5896176A (en) * 1995-10-27 1999-04-20 Texas Instruments Incorporated Content-based video compression
JPH1021408A (ja) * 1996-07-04 1998-01-23 Canon Inc 画像抽出装置および方法
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6809758B1 (en) * 1999-12-29 2004-10-26 Eastman Kodak Company Automated stabilization method for digital image sequences
KR100683849B1 (ko) * 2000-06-28 2007-02-15 삼성전자주식회사 디지털 영상 안정화기능을 갖는 디코더 및 디지털영상안정화방법
FR2846828B1 (fr) * 2002-10-31 2005-03-11 France Telecom Procede de tatouage d'un signal video, systeme et support de donnees pour la mise en oeuvre de ce procede, procede d'extraction du tatouage d'un signal video, systeme pour la mise en oeuvre de ce procede
JP4140519B2 (ja) 2003-12-22 2008-08-27 富士ゼロックス株式会社 画像処理装置、プログラムおよび記録媒体
JP2006301675A (ja) * 2005-04-15 2006-11-02 Noritsu Koki Co Ltd 画像処理装置及び画像処理方法
US20070076982A1 (en) * 2005-09-30 2007-04-05 Petrescu Doina I System and method for video stabilization
GB2431798A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Motion vector selection based on integrity
GB2431800A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Interpolation involving motion vectors and mutiple tap spatial filters.
JP4412323B2 (ja) * 2006-12-28 2010-02-10 株式会社日立製作所 映像処理装置及び映像表示装置

Also Published As

Publication number Publication date
CN101543054A (zh) 2009-09-23
CN101543054B (zh) 2011-12-07
EP2053844B1 (en) 2011-05-18
EP2053844A1 (en) 2009-04-29
JP4886850B2 (ja) 2012-02-29
EP2053844A4 (en) 2010-02-10
US8417059B2 (en) 2013-04-09
US20090290809A1 (en) 2009-11-26
WO2009001510A1 (ja) 2008-12-31

Similar Documents

Publication Publication Date Title
JP4886850B2 (ja) 画像処理装置、画像処理方法、プログラム
US8532420B2 (en) Image processing apparatus, image processing method and storage medium storing image processing program
US7620218B2 (en) Real-time face tracking with reference images
US8587636B2 (en) Image processing apparatus and method, and program
US8130277B2 (en) Method and system for intelligent and efficient camera motion estimation for video stabilization
EP2330812B1 (en) Apparatus for generating a panoramic image, method for generating a panoramic image, and computer-readable medium
US8350916B2 (en) Image processing device, photographing device, reproducing device, integrated circuit, and image processing method
US8488840B2 (en) Image processing device, image processing method and electronic apparatus
US20130107066A1 (en) Sensor aided video stabilization
JP6577703B2 (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
US20100208140A1 (en) Image processing apparatus, image processing method and storage medium storing image processing program
KR101202642B1 (ko) 배경의 특징점을 이용한 전역 움직임 추정 방법 및 장치
JPWO2011152053A1 (ja) 画像処理装置、画像処理方法、集積回路、プログラム
JP2006319578A (ja) 奥行方向移動判定装置、その奥行方向移動判定装置を有する手ぶれ補正システム、およびその方法、プログラム、そのプログラムが記録された計算機に読み取り可能な記録媒体、および手ぶれ補正システムを備える電子機器。
US20130107064A1 (en) Sensor aided image stabilization
US8964048B2 (en) Image processing apparatus and image processing method for camera-shake correction
CN113610865A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
KR101783990B1 (ko) 디지털 영상 처리 장치 및 영상의 대표 움직임 예측 방법
US20230290061A1 (en) Efficient texture mapping of a 3-d mesh
US10880457B2 (en) Image processing apparatus, image capturing apparatus, image processing method, and storage medium
JP7154796B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6454112B2 (ja) ぶれ補正装置、ぶれ補正方法及びプログラム、並びに撮像装置
Zhang et al. A novel video stabilization method with global motion vector prediction and border region recovery
CN113807124A (zh) 图像处理方法、装置、存储介质及电子设备
最近有 A Novel Video Stabilization Method with Global Motion Vector Prediction and Border Region Recovery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111115

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4886850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350