JP6003618B2 - 動きベクトル検出装置、方法、及びプログラム - Google Patents

動きベクトル検出装置、方法、及びプログラム Download PDF

Info

Publication number
JP6003618B2
JP6003618B2 JP2012276899A JP2012276899A JP6003618B2 JP 6003618 B2 JP6003618 B2 JP 6003618B2 JP 2012276899 A JP2012276899 A JP 2012276899A JP 2012276899 A JP2012276899 A JP 2012276899A JP 6003618 B2 JP6003618 B2 JP 6003618B2
Authority
JP
Japan
Prior art keywords
image
motion vector
macroblock
vector detection
feature amount
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.)
Expired - Fee Related
Application number
JP2012276899A
Other languages
English (en)
Other versions
JP2014121051A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012276899A priority Critical patent/JP6003618B2/ja
Publication of JP2014121051A publication Critical patent/JP2014121051A/ja
Application granted granted Critical
Publication of JP6003618B2 publication Critical patent/JP6003618B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

開示の技術は、動きベクトル検出装置、動きベクトル検出方法、及び動きベクトル検出プログラムに関する。
動画像の圧縮符号化方式として、ISO/IECによって標準化されたMPEG(Moving Picture Experts Group)やITU−Tによって標準化されたH.261、H.262、H.264等が知られている。これらの圧縮符号化方式は、動き補償(Motion Compensation;MC)と呼ばれる技術を取り入れている。
動き補償では、符号化対象のフレーム画像を分割したマクロブロック(MB)毎に、符号化対象のフレーム画像と時間的に前後関係にある参照フレーム画像とを、いわゆるブロックマッチングにより比較する。そして、ブロックマッチングの結果に基づいて動きベクトルを検出し(Motion Estimation;ME)、検出された動きベクトルで動き補償された参照フレーム画像と符号化対象のフレーム画像との差分を算出し、算出した差分と動きベクトルを符号化する。
原寸サイズの参照フレーム画像(原寸画像)を用いて動きベクトルを検出する場合、演算量が多くなるため、原寸画像を縮小した縮小画像を用いて動きベクトルを検出する技術がある。縮小画像を用いて動きベクトルを検出する場合、演算量及びメモリ容量が少なくて済むため、原寸画像を用いて動きベクトルを検出する場合と比較して、ブロックマッチングの際に探索範囲を広く設定できる。
特開2010−232829号公報 特開平9−182084号公報 特開2010−20100号公報
しかしながら、縮小画像は、原寸画像から予め定めた間隔で画素をサンプリングすることにより生成するため、サンプリング周波数の半分以上の周波数成分は、折り返しノイズによるモアレ等のノイズ成分となる。これを軽減するためには、サンプリングの前に原寸画像にローパスフィルタをかければよいが、理想的なローパスフィルタの実現は困難である。例えば、強いローパスフィルタでは、必要な情報も除去され画像がボケ過ぎしてしまう可能性があり、弱いローパスフィルタでは、折り返しノイズが発生してしまう。
折り返しノイズが発生すると、本来画像に含まれていないモアレ等が縮小画像上に現れる。特に、折り返しノイズが発生した部分で画像に動きがある場合、本来の画像の動きと、折り返しノイズによるモアレパターンの動きが異なるため、精度良く動きベクトルを検出することができない。
開示の技術は、一つの側面として、演算量を抑制しつつ精度良く動きベクトルを検出することが目的である。
開示の技術は、縮小画像生成処理部は、動画像に含まれるフレーム画像を縮小した縮小画像を生成する。特徴量算出部は、符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出する。動きベクトル検出部は、前記特徴量に応じて、第1の動きベクトル検出処理、又は、第2の動きベクトル検出処理を実行する。第1の動きベクトル検出処理は、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する処理である。第2の動きベクトル検出処理は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する処理である。
動きベクトル検出部は、ノイズが発生しない特徴量を有するマクロブロックについては、第1の動きベクトル検出処理を実行する。また、動きベクトル検出部は、ノイズが発生する特徴量を有するマクロブロックのうち、ノイズが発生する特徴量を有するマクロブロックが予め定めた処理方向に連続する連続領域が存在する場合は、以下の処理を行う。すなわち、前記連続領域の先頭のマクロブロックについては、第2の動きベクトル検出処理を実行する。また、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、第1の動きベクトル検出処理を実行する。
開示の技術は、一つの側面として、演算量を抑制しつつ精度良く動きベクトルを検出することができる、という効果を有する。
第1実施形態に係る動画像通信システムの構成図である。 ベクトル信頼度の演算について説明するための図である。 動きベクトル検出装置として機能するコンピュータのブロック図である。 第1実施形態に係るメイン処理の流れを示すフローチャートである。 第1実施形態に係る動きベクトル検出処理の流れを示すフローチャートである。 (A)はフレーム画像の一例を示す図、(B)は折り返しノイズ判定結果の一例を示す図である。 第1実施形態に係る折り返しノイズ判定結果及び隣接マクロブロックのベクトル信頼度に対応した動作及び出力を示す表である。 (A)は折り返しノイズ判定結果の一例を示す図、(B)はベクトル信頼度の一例を示す図である。 第2実施形態に係る動画像通信システムの構成図である。 第2実施形態に係る動きベクトル検出処理の流れを示すフローチャートである。 第2実施形態に係る折り返しノイズ判定結果及び隣接マクロブロックのベクトル信頼度に対応した動作及び出力を示す表である。 (A)は折り返しノイズ判定結果の一例を示す図、(B)はベクトル信頼度の一例を示す図である。 第3実施形態に係る動きベクトル検出処理の流れを示すフローチャートである。 第3実施形態に係る折り返しノイズ判定結果及び隣接マクロブロックのベクトル信頼度に対応した動作及び出力を示す表である。 (A)は折り返しノイズ判定結果の一例を示す図、(B)はベクトル信頼度の一例を示す図である。 第4実施形態に係る特徴量算出処理の流れを示すフローチャートである。 特徴量のヒストグラムの一例を示す図である。 第5実施形態に係る特徴量算出処理の流れを示すフローチャートである。 原寸画像及び縮小画像について説明するための図である。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
(第1実施形態)
図1には、本実施形態に係る動きベクトル検出装置10が示されている。動きベクトル検出装置10は、特徴量算出部12、縮小画像生成処理部14、動きベクトル検出部16、及びメモリ18を備えている。
動きベクトル検出装置10には、動画像に含まれる原寸サイズのフレーム画像(原寸画像)が入力され、メモリ18に記憶される。
特徴量算出部12は、原寸画像を予め定めた処理単位で分割したマクロブロック(MB)毎に特徴量を算出し、メモリ18に記憶する。特徴量は、原寸画像を縮小した縮小画像を生成した場合に発生するノイズに関する特徴量であり、例えば折り返しノイズによるモアレ等が発生するか否かを判定することが可能な特徴量である。
具体的には、特徴量算出部12は、例えばマクロブロック毎に離散コサイン変換(Discrete Cosine Transform:DCT)処理を実行し、高周波成分の合計値と低周波成分の合計値の比率を特徴量として算出する。なお、特徴量の算出方法はこれに限られるものではなく、例えばアダマール変換等の直交変換を用いて特徴量を算出してもよいし、上記特許文献1に記載されたように、エッジ情報を特徴量として算出してもよい。
縮小画像生成処理部14は、原寸画像を予め定めた縮小率で縮小した縮小画像を生成し、メモリ18に記憶する。縮小率は、例えば(1/4)×(1/4)の縮小率とすることができるが、これに限られるものではない。
動きベクトル検出部16は、画像相関値演算部20A、20B、選択部30、コスト算出処理部32、ベクトル信頼度設定部34、動きベクトル記憶部36、動きベクトル演算部38、周辺ベクトル記憶部40を備えている。また、動きベクトル検出部16は、ベクトル相関値演算部42、及びベクトルコスト重み係数設定部44を備えている。
画像相関値演算部20Aは、縮小MB記憶部22A、参照画像記憶部24A、及び縮小画像相関値演算部26Aを備えている。
縮小MB記憶部22Aには、メモリ18から読み出された縮小画像の処理対象マクロブロックが記憶される。
参照画像記憶部24Aには、メモリ18から読み出された縮小サイズの参照画像が記憶される。参照画像は、本実施形態では、一例として一つ前のフレーム画像(いわゆるPピクチャ)とする。
縮小画像相関値演算部26Aは、縮小MB記憶部22Aに記憶された縮小画像の処理対象マクロブロックと参照画像記憶部24Aに記憶された縮小サイズの参照画像とに基づいて、画像の相関の度合いを表す画像相関値SADを演算する。画像相関値SADは例えば次の(1)式により演算される。
Figure 0006003618
・・・(1)
ここで、Nはマクロブロック内の画素数、iは画素位置、Porg(i)は処理対象マクロブロックの画素の画素値、Pref(i)は参照画像の探索範囲内のマクロブロックの画素の画素値である。
画像相関値演算部20Bは、原寸MB記憶部22B、参照画像記憶部24B、及び原寸画像相関値演算部26Bを備えている。
原寸MB記憶部22Bには、メモリ18から読み出された原寸画像の処理対象マクロブロックが記憶される。
参照画像記憶部24Bには、メモリ18から読み出された原寸サイズの参照画像が記憶される。参照画像は、本実施形態では一例としてPピクチャとする。
原寸画像相関値演算部26Bは、原寸MB記憶部22Bに記憶された原寸画像の処理対象マクロブロックと参照画像記憶部24Bに記憶された原寸サイズの参照画像とに基づいて、画像の相関の度合いを表す画像相関値SADを演算する。画像相関値SADは、上記(1)式により算出される。
選択部30は、メモリ18から処理対象マクロブロックの特徴量を読み出す。そして、選択部30は、読み出した特徴量に基づいて、縮小画像相関値演算部26Aから出力された画像相関値SAD又は原寸画像相関値演算部26Bから出力された画像相関値SADをコスト算出処理部32に出力する。
具体的には、選択部30は、特徴量が予め定めた閾値未満の場合は、縮小画像による動きベクトル検出処理(縮小ME)を実行すべきと判定し、縮小画像相関値演算部26Aから出力された画像相関値SADを選択してコスト算出処理部32に出力する。また、選択部30は、特徴量が予め定めた閾値以上の場合は、原寸画像による動きベクトル検出処理(原寸ME)を実行すべきと判定し、原寸画像相関値演算部26Bから出力された画像相関値SADを選択してコスト算出処理部32に指示する。ここで、閾値は、この値以上であれば、原寸画像から縮小画像を生成した場合にノイズが発生する虞があると判断できる値に設定される。
ベクトル信頼度設定部34は、メモリ18に記憶された処理対象マクロブロックの特徴量を読み出し、読み出した処理対象マクロブロックの特徴量に応じて処理対象マクロブロックのベクトル信頼度を設定する。ベクトル信頼度は、検出された動きベクトルの信頼度を表す。本実施形態では、特徴量が予め定めた閾値以上、すなわち原寸画像から縮小画像を生成した場合にノイズが発生する虞がある場合は、原寸画像を用いた原寸MEが実行される。原寸MEにより検出された動きベクトルの信頼度は、縮小画像を用いた縮小MEにより検出された動きベクトルよりも信頼度が高いと言える。
従って、ベクトル信頼度設定部34は、特徴量が閾値以上の場合、すなわち原寸MEが実行された場合には、検出された動きベクトルの信頼度が高いことを表す値として「1」をベクトル信頼度に設定する。一方、特徴量が閾値未満の場合、すなわち縮小MEが実行された場合は、検出された動きベクトルの信頼度が低いことを表す値として「0」をベクトル信頼度に設定する。
動きベクトル記憶部36には、後述するように動きベクトル演算部38で演算された処理対象マクロブロックの動きベクトルがメモリ18から読み出されて記憶される。周辺ベクトル記憶部40には、処理対象マクロブロックの周辺の周辺マクロブロックの動きベクトルがメモリ18から読み出されて記憶される。
マクロブロックの符号化は、フレーム画像の左上から順に行われるため、図2に示すように、処理対象マクロブロックMB1の左上、真上、右上、左側に位置する周辺マクロブロックMB2〜MB5については、既に動きベクトルが検出されている。本実施形態では、周辺マクロブロックMB2〜MB5のうち、処理対象マクロブロックMB1の真上、右上、左側に位置する周辺マクロブロックMB3〜MB5について既に検出された動きベクトルが周辺ベクトル記憶部40に記憶される。
ベクトル相関値演算部42は、動きベクトル記憶部36に記憶された処理対象マクロブロックMB1の動きベクトルと、周辺ベクトル記憶部40に記憶された周辺マクロブロックMB3〜MB5の動きベクトルと、をメモリ18から読み出す。そして、ベクトル相関値演算部42は、周辺マクロブロックMB3〜MB5の動きベクトルに基づいて、周辺ベクトル(MVPx、MVPy)を次の(2)、(3)式により演算する。
MVPx=median(MVx[b]、MVx[c]、MVx[d]) ・・・(2)
MVPy=median(MVy[b]、MVy[c]、MVy[d]) ・・・(3)
すなわち、周辺ベクトル(MVPx、MVPy)は、周辺マクロブロックMB3〜MB5の動きベクトルのmedian(中間値)である。なお、周辺ベクトル(MVPx、MVPy)は、周辺マクロブロックMB3〜MB5の動きベクトルの中間値に限られるものではなく、例えば平均値としてもよい。
ベクトル相関値演算部42は、読み出した処理対象マクロブロックMB1の動きベクトル(MVx、MVy)と周辺ベクトル(MVPx、MVPy)とに基づいて、動きベクトルとの相関の度合いを表すベクトル相関値Vdiffを次の(4)式により演算する。
Vdiff=|MVx−MVPx|+|MVy−MVPy| ・・・(4)
コスト算出処理部32は、選択部30から出力された画像相関値SADとベクトル相関値演算部42から出力されたベクトル相関値Vdiffとに基づいて、評価値Costを算出する。評価値Costは、処理対象マクロブロックと参照画像の探索範囲のマクロブロックとの一致度の度合いを表し、次の(5)式により算出される。
Cost=SAD+α×Vdiff ・・・(5)
ここで、αはベクトルコストの重み係数であり、ベクトルコスト重み係数設定部44により設定される。この重み係数αが大きいほど、評価値Costのベクトル相関値の重要度が高くなる。従って、重み係数αが大きいほど、評価値Costによりブロックマッチングを行う際に、ベクトルが一致するマクロブロックを探索する傾向が強くなる。
ベクトルコスト重み係数設定部44は、周辺マクロブロックのベクトル信頼度及び特徴量に応じて重み係数αを設定する。本実施形態では、周辺マクロブロックのベクトル信頼度が、検出された動きベクトルの信頼度が低いことを表す値の場合には、重み係数を予め定めた通常の値に設定する。一方、周辺マクロブロックのベクトル信頼度が、検出された動きベクトルの信頼度が高いことを表す値の場合には、重み係数を予め定めた通常の値よりも大きい値に設定する。
コスト算出処理部32は、処理対象マクロブロックと、参照画像の探索範囲に含まれる複数のマクロブロックの各々と、について評価値Costを各々算出する。
動きベクトル演算部38は、コスト算出処理部32により算出された処理対象マクロブロックと参照画像の探索範囲に含まれる複数のマクロブロックの各々とについての評価値Costのうち、最小値となる評価値Costを検出する。
そして、動きベクトル演算部38は、最小値の評価値Costが算出された参照画像のマクロブロックの位置と処理対象マクロブロックの位置とに基づいて動きベクトルを演算し、メモリ18に記憶する。
動きベクトル検出装置10は、例えば図3に示すコンピュータ70で実現することができる。コンピュータ70はCPU72、メモリ74、及び不揮発性の記憶部76を備え、これらはバス78を介して互いに接続されている。
また、記憶部76はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記録媒体としての記憶部76には、コンピュータ70を動きベクトル検出装置10として機能させるための動きベクトル検出プログラム80が記憶されている。CPU72は、動きベクトル検出プログラム80を記憶部76から読み出してメモリ74に展開し、動きベクトル検出プログラム80が有するプロセスを順次実行する。
動きベクトル検出プログラム80は、特徴量算出プロセス82、縮小画像生成処理プロセス84、及び動きベクトル検出プロセス86を有する。
CPU72は、特徴量算出プロセス82を実行することで、図1に示す特徴量算出部12として動作する。また、CPU72は、縮小画像生成処理プロセス84を実行することで、図1に示す縮小画像生成処理部14として動作する。また、CPU72は、動きベクトル検出プロセス86を実行することで、図1に示す動きベクトル検出部16として動作する。
これにより、動きベクトル検出プログラム80を実行したコンピュータ70が、動きベクトル検出装置10として機能することになる。なお、動きベクトル検出プログラム80は開示の技術における動きベクトル検出プログラムの一例である。
なお、動きベクトル検出装置10は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に本実施形態の作用を説明する。本実施形態に係る動きベクトル検出装置10では、撮影カメラ等により撮影された動画像を構成する原寸サイズのフレーム画像(原寸画像)が入力されると、図4に示す動きベクトル検出処理を実行する。入力された原寸画像は、メモリ18に記憶されると共に、特徴量算出部12及び縮小画像生成処理部14に入力される。
ステップ100では、特徴量算出部12が、入力された原寸画像を分割したマクロブロック毎にDCT処理を実行し、高周波成分の合計値と低周波成分の合計値の比率を特徴量として算出する。そして、特徴量算出部12は、算出したマクロブロック毎の特徴量をメモリ18に記憶する。
ステップ102では、縮小画像生成処理部14が、原寸画像を予め定めた縮小率、例えば(1/4)×(1/4)で縮小した縮小画像を生成し、メモリ18に記憶する。
ステップ104では、動きベクトル検出部16が、図5に示す動きベクトル検出処理を実行する。
図5のステップ200では、縮小画像相関値演算部26Aが、縮小MB記憶部22Aに記憶された縮小画像の処理対象マクロブロックと参照画像記憶部24Aに記憶された縮小サイズの参照画像とに基づいて、画像の相関の度合いを表す画像相関値SADを演算する。また、ステップ200では、原寸画像相関値演算部26Bが、原寸MB記憶部22Bに記憶された原寸画像の処理対象マクロブロックと参照画像記憶部24Bに記憶された原寸サイズの参照画像とに基づいて、画像の相関の度合いを表す画像相関値SADを演算する。
ステップ202では、ベクトル相関値演算部42が、処理対象マクロブロックMB1の動きベクトル(MVx、MVy)と周辺ベクトル(MVPx、MVPy)とに基づいて、動きベクトルとの相関の度合いを表すベクトル相関値Vdiffを演算する。
ステップ204では、ベクトルコスト重み係数設定部44が、入力された原寸画像の処理対象マクロブロックに隣接する隣接マクロブロックのベクトル信頼度をメモリ18から読み出し、読み出したベクトル信頼度が「0」であるか否かを判断する。なお、本実施形態では、隣接マクロブロックとは、処理対象マクロブロックの左側に隣接するマクロブロック及び処理対象マクロブロックの真上に隣接するマクロブロックをいう。従って、処理対象マクロブロックの左側に隣接するマクロブロック及び処理対象マクロブロックの真上に隣接するマクロブロックの少なくとも一方のベクトル信頼度が「0」であれば、ステップ204の判断は肯定される。
そして、隣接マクロブロックのベクトル信頼度が「0」の場合はステップ206へ移行し、隣接マクロブロックのベクトル信頼度が「1」の場合はステップ208へ移行する。
ステップ206では、ベクトルコスト重み係数設定部44が、予め定めた値Aをベクトルコスト重み係数αに設定する。
一方、ステップ208では、ベクトルコスト重み係数設定部44が、予め定めた値Aに予め定めた係数VW1を乗算した値をベクトルコスト重み係数αに設定する。
ステップ210では、選択部30が、処理対象マクロブロックの特徴量が予め定めた閾値未満であるか否か、すなわち、縮小画像に折り返しノイズが発生する虞がないか否かを判断する。そして、処理対象マクロブロックの特徴量が予め定めた閾値未満であればステップ212へ移行し、予め定めた閾値以上であればステップ216へ移行する。
例えば入力された原寸画像が図6(A)に示すような画像の場合、特徴量が予め定めた閾値以上となり、縮小画像に折り返しノイズが発生する虞があるマクロブロックは、図6(B)に示すハッチングで示したマクロブロックMBaとなる。
ステップ212では、縮小画像を用いた第1の動きベクトル検出処理が実行される。具体的には、選択部30が、縮小画像相関値演算部26Aから出力された画像相関値SADを選択してコスト算出処理部32に出力する。
次に、コスト算出処理部32が、選択部30から出力された画像相関値SAD、ベクトル相関値演算部42から出力されたベクトル相関値Vdiff、及びベクトルコスト重み係数設定部44により設定された重み係数αに基づいて、評価値Costを算出する。コスト算出処理部32は、処理対象マクロブロックと、参照画像の探索範囲に含まれる複数のマクロブロックの各々と、について評価値Costを各々算出し、動きベクトル演算部38に出力する。
動きベクトル演算部38は、コスト算出処理部32により算出された処理対象マクロブロックと参照画像の探索範囲に含まれる複数のマクロブロックの各々とについての評価値Costのうち、最小値となる評価値Costを検出する。そして、動きベクトル演算部38は、最小値の評価値Costが算出された参照画像のマクロブロックの位置と処理対象マクロブロックの位置とに基づいて動きベクトルを求め、メモリ18に記憶する。
ステップ214では、ベクトル信頼度設定部34が、処理対象マクロブロックのベクトル信頼度として「0」をメモリ18に記憶する。
一方、ステップ216では、原寸画像を用いた第2の動きベクトル検出処理が実行される。具体的には、選択部30が、原寸画像相関値演算部26Bから出力された画像相関値SADを選択してコスト算出処理部32に出力する。以下、ステップ212と同様の処理により動きベクトルを演算し、メモリ18に記憶する。
ステップ218では、ベクトル信頼度設定部34が、処理対象マクロブロックのベクトル信頼度として「1」をメモリ18に記憶する。
ステップ220では、フレーム画像内の全てのマクロブロックについて上記の処理を終了したか否かを判断し、全てのマクロブロックについて上記の処理が終了していない場合はステップ200へ戻って上記と同様の処理を繰り返す。一方、全てのマクロブロックについて上記の処理が終了した場合には、本ルーチンを終了する。
図7には、入力された処理対象マクロブロックの特徴量に基づき判断された折り返しノイズの有無及び隣接マクロブロックのベクトル信頼度、ベクトルコストの重み係数及び動きベクトル検出に用いられる画像サイズ、出力されるベクトル信頼度の関係を示した。なお、ベクトルコストの重み係数が「通常」の場合は、予め定めた値Aが重み係数αとして設定された場合を、ベクトルコスト係数が「大」の場合は、予め定めた値Aに予め定めた係数VW1を乗算した値が重み係数αに設定された場合を示す。なお、値A、係数VW1は、1より大きい正の値が設定される。
また、図8(A)には、入力された原寸画像が図6(A)に示す画像の場合に、縮小画像に折り返しノイズが発生する虞があるマクロブロックを「1」、折り返しノイズが発生する虞がないマクロブロックを「0」で示した折り返しノイズ判定結果を示した。
図8(B)には、入力された原寸画像が図6(A)に示す画像の場合における各マクロブロックのベクトル信頼度を示した。なお、本実施形態では、図7に示すように、折り返しノイズの有無とベクトル信頼度の結果は一致する。従って、ステップ214、218でベクトル信頼度をメモリ18に記憶するのではなく、折り返しノイズの有無を記憶するようにし、ステップ204は隣接マクロブロックのベクトル信頼度に代えて折り返しノイズの有無で判断してもよい。
さらに、図8(B)には、原寸MEが「通常」の重み係数で実行されるマクロブロック、縮小MEが「通常」の重み係数で実行されるマクロブロックをマクロブロックMB11、MB12で示した。また、原寸MEが「大」の重み係数で実行されるマクロブロック、縮小MEが「大」の重み係数で実行されるマクロブロックをマクロブロックMB13、MB14で示した。
このように、本実施形態では、縮小画像に折り返しノイズが発生する虞がある場合は原寸画像を用いて原寸MEを実行し、縮小画像に折り返しノイズが発生する虞がない場合は縮小画像を用いて縮小MEを実行する。このため、演算量を抑制しつつ精度良く動きベクトルを検出することができる。
(第2実施形態)
次に開示の技術の第2実施形態について説明する。なお、第1実施形態と同一の部分には同一の符号を付して説明を省略し、第1実施形態と異なる部分を中心に説明する。
図9には、第2実施形態に係る動きベクトル検出装置10Aを示した。
動きベクトル検出装置10Aが第1実施形態に係る動きベクトル検出装置10と異なるのは、選択部30による原寸ME及び縮小MEの何れを実行すべきかの判定処理とベクトルコスト重み係数設定部44によるベクトルコストの重み係数αの設定処理である。
次に第2実施形態の作用を説明する。第2実施形態では、図4のステップ100,102の処理は第1実施形態と同様であるため、図4のステップ104の動きベクトル検出処理についてのみ説明する。
図4のステップ104では、図10に示す動きベクトル検出処理が動きベクトル検出部16によって実行される。
ステップ300、302の処理は、図5のステップ200、202の処理と同様であるので、説明を省略する。
ステップ304では、図5のステップ210と同様に、選択部30が、処理対象マクロブロックの特徴量が予め定めた閾値未満であるか否かを判断する。そして、処理対象マクロブロックの特徴量が予め定めた閾値未満であればステップ306へ移行し、予め定めた閾値以上であればステップ316へ移行する。
ステップ306〜310の処理は、図5のステップ204〜208の処理と同様であるので、説明を省略する。また、ステップ312、314の処理は、図5のステップ212、214の処理と同様であるので、説明を省略する。
ステップ316では、図5のステップ204と同様に、ベクトルコスト重み係数設定部44が、隣接マクロブロックのベクトル信頼度をメモリ18から読み出し、読み出したベクトル信頼度が「0」であるか否かを判断する。そして、隣接マクロブロックのベクトル信頼度が「0」の場合はステップ318へ移行し、隣接マクロブロックのベクトル信頼度が「0」でない場合はステップ324へ移行する。
ステップ318は、図5のステップ208と同様である。また、ステップ320、322は、図5のステップ216、218と同様である。
一方、ステップ324では、ベクトルコスト重み係数設定部44が、予め定めた値Aに予め定めた係数VW2を乗算した値をベクトルコスト重み係数αに設定する。なお、VW1<VW2である。
このように、処理対象マクロブロックの特徴量が閾値未満の場合は、ベクトルコストの重み係数はαには予め定めた値Aが設定される。また、処理対象マクロブロックの特徴量が閾値以上で且つ隣接マクロブロックのベクトル信頼度が「0」の場合は、ベクトルコストの重み係数αには予め定めた値Aに係数VW1を乗算した値が設定される。また、処理対象マクロブロックの特徴量が閾値以上で且つ隣接マクロブロックのベクトル信頼度が「0」でない場合は、ベクトルコストの重み係数αには予め定めた値Aに係数VW1より大きい係数VW2を乗算した値が設定される。
ステップ328は、図5のステップ220と同様の処理である。
図11には、入力された処理対象マクロブロックの特徴量に基づき判断された折り返しノイズの有無及び隣接マクロブロックのベクトル信頼度、ベクトルコストの重み係数及び動きベクトル検出に用いられる画像サイズ、出力されるベクトル信頼度の関係を示した。なお、ベクトルコストの重み係数が「特大」の場合は、予め定めた値Aに予め定めた係数VW2を乗算した値が重み係数αに設定された場合を示す。
図11で図7と異なるのは、折り返しノイズが「有」で且つ隣接マクロブロックのベクトル信頼度が「0」の場合に、ベクトルコストの重み係数αが「大」となる点である。また、折り返しノイズが「有」で且つ隣接マクロブロックのベクトル信頼度が「1」の場合に、ベクトルコストの重み係数αが「特大」となり、原寸MEではなく縮小MEが実行される点である。
また、図12(A)には、図8(A)と同様に折り返しノイズが発生する虞があるか否かの判定結果を示した。また、図12(A)には、入力された原寸画像が図6(A)に示す画像の場合に、縮小画像に折り返しノイズが発生する虞があるマクロブロックを「1」、折り返しノイズが発生する虞がないマクロブロックを「0」で示した折り返しノイズ判定結果を示した。
図12(B)には、入力された原寸画像が図6(A)に示す画像の場合の各マクロブロックのベクトル信頼度を示した。なお、本実施形態では、図11に示すように、折り返しノイズの有無とベクトル信頼度の結果は一致する。従って、ステップ314、322でベクトル信頼度をメモリ18に記憶するのではなく、折り返しノイズの有無を記憶するようにし、ステップ304は隣接マクロブロックのベクトル信頼度に代えて折り返しノイズの有無で判断してもよい。
さらに、図12(B)には、原寸MEが「大」の重み係数で実行されるマクロブロック、縮小MEが「通常」の重み係数で実行されるマクロブロックをマクロブロックMB11A、MB12で示した。また、縮小MEが「特大」の重み係数で実行されるマクロブロック、縮小MEが「大」の重み係数で実行されるマクロブロックをマクロブロックMB13A、MB14で示した。
このように、第2実施形態では、折り返しノイズが「有」で且つ隣接マクロブロックのベクトル信頼度が「1」の場合に、原寸MEではなく縮小MEを実行するので、動きベクトル検出の際の演算量を抑制することができる。また、この場合、ベクトルコストの重み係数αを「特大」として評価値Costのベクトル相関値の重みを大きくするので、精度良く動きベクトルを検出することができる。
(第3実施形態)
次に開示の技術の第3実施形態について説明する。なお、第2実施形態と同一の部分には同一の符号を付して説明を省略し、第2実施形態と異なる部分を中心に説明する。
第3実施形態に係る動きベクトル検出装置の構成は、第2実施形態に係る動きベクトル検出装置10Aと同一の構成であるため、構成の説明を省略する。
次に第3実施形態の作用を説明する。第3実施形態では、図13に示す動きベクトルの検出処理において、ステップ321,327以外の処理は第2実施形態で説明した処理と同一であるため、説明を省略する。
図13のステップ321では、ベクトル信頼度設定部34が、処理対象マクロブロックのベクトル信頼度として予め定めた値X1をメモリ18に記憶する。また、ステップ327では、ベクトル信頼度設定部34が、処理対象マクロブロックのベクトル信頼度X2を次の(6)式により演算してメモリ18に記憶する。
X2=Y−1 ・・・(6)
ここで、Yは隣接マクロブロックのベクトル信頼度である。従って、特徴量が閾値以上のマクロブロックが連続する場合、ベクトル信頼度は徐々に小さくなっていく。
このように、第3実施形態では、処理対象マクロブロックの特徴量が閾値以上で且つ隣接マクロブロックのベクトル信頼度が「0」の場合は、ベクトル信頼度に予め定めた値X1が設定される。また、処理対象マクロブロックの特徴量が閾値以上で且つ隣接マクロブロックのベクトル信頼度が「0」でない場合、すなわち「1」以上の場合は、ベクトル信頼度にX2が設定される。
図14には、入力された処理対象マクロブロックの特徴量に基づき判断された折り返しノイズの有無及び隣接マクロブロックのベクトル信頼度、ベクトルコストの重み係数及び動きベクトル検出に用いられる画像サイズ、出力されるベクトル信頼度の関係を示した。
図14で図11と異なるのは、折り返しノイズが「有」の場合におけるベクトル信頼度の設定である。本実施形態では、折り返しノイズが「有」で且つ隣接マクロブロックのベクトル信頼度が「0」の場合は、ベクトル信頼度をX1に設定し、折り返しノイズが「有」で且つ隣接マクロブロックのベクトル信頼度が「1」の場合は、ベクトル信頼度をX2に設定する。
図15(A)には、図8(A)と同様に折り返しノイズが発生する虞があるか否かの判定結果を示した。
また、図15(B)には、入力された原寸画像が図6(A)に示す画像の場合の各マクロブロックのベクトル信頼度を示した。
さらに、図15(B)には、原寸MEが「大」の重み係数で実行されるマクロブロック、縮小MEが「通常」の重み係数で実行されるマクロブロックをマクロブロックMB11A、MB12で示した。また、縮小MEが「特大」の重み係数で実行されるマクロブロック、縮小MEが「大」の重み係数で実行されるマクロブロックをマクロブロックMB13、MB14で示した。
図15(B)で図12(B)と異なるのは、折り返しノイズが発生する虞があるマクロブロックが連続する連続領域におけるベクトル信頼度の値である。図15(B)に示すように、本実施形態では、前記連続領域においては、原寸MEが実行されたマクロブロックからの距離が長くなるに従って、ベクトル信頼度は徐々に小さくなっていく。そして、連続領域においてベクトル信頼度が「0」になると、再びベクトル信頼度がX1となり、原寸MEが実行される。これにより、動きベクトル検出の際の演算量を抑制しつつ、精度良く動きベクトルを検出することができる。
(第4実施形態)
次に開示の技術の第4実施形態について説明する。上記各実施形態では、特徴量の判定に用いられる閾値が固定値の場合について説明したが、第4実施形態では、各マクロブロックの特徴量に基づいて原寸MEを実行可能な性能限界個数を求め、求めた性能限界個数に応じた閾値を設定する場合について説明する。なお、動きベクトル検出装置の構成は上記実施形態で説明した動きベクトル検出装置と同一の構成であるので、構成の説明は省略する。
第4実施形態では、図4のステップ100の特徴量算出処理として図16に示す処理が実行される。その他の処理は上記実施形態で説明した処理と同様であるので、説明は省略する。
図16に示すステップ400では、特徴量算出部12が、入力された原寸画像を分割したマクロブロック毎にDCT処理を実行し、高周波成分の合計値と低周波成分の合計値の比率を特徴量として算出する。そして、特徴量算出部12は、算出したマクロブロック毎の特徴量をメモリ18に記憶する。
ステップ402では、特徴量算出部12が、特徴量のヒストグラムを算出する。すなわち、図17に示すような特徴量とのマクロブロック数との関係を算出する。
ステップ404では、特徴量算出部12が、原寸MEを実行可能な性能限界個数Nを算出する。具体的には、次の(7)式を満たすような性能限界個数Nを算出する。
Tf>Ts×(MBn−N)+Tb×N ・・・(7)
ここで、Tfは1フレーム画像の目標処理時間、Tsは1つのマクロブロックに対して縮小MEを実行する場合の処理時間、MBnは1フレーム画像に含まれるマクロブロック数、Tbは1つのマクロブロックに対して原寸MEを実行する場合の処理時間である。なお、参照画像の種類(Pピクチャ、Bピクチャなど)に応じてTf、Ts、Tb等の値を設定し、参照画像の種類に応じて異なる性能限界個数Nを算出してもよい。
ステップ406では、特徴量算出部12が、ステップ402で算出した特徴量のヒストグラム及びステップ404で算出した性能限界個数Nに基づいて閾値を設定する。具体的には、図17に示すように、特徴量が大きい方から順にマクロブロック数を加算していき、合計の数が性能限界個数Nを越えない範囲で最大の数に対応する特徴量を閾値として設定する。
これにより、原寸MEが実行されるマクロブロックの数が性能限界個数N以下となるため、必要以上に原寸MEが実行されて演算量が増加してしまうのを防ぐことができる。
(第5実施形態)
次に開示の技術の第5実施形態について説明する。第4実施形態では、特徴量の判定に用いられる閾値を、原寸MEを実行可能な性能限界個数Nに基づいて設定した場合について説明したが、第2、第3実施形態の場合、特徴量が閾値以上であっても原寸MEが実行されないマクロブロックが存在する。そこで、第5実施形態では、実際の原寸MEが実行されるマクロブロック数に基づいて閾値を設定する場合について説明する。なお、動きベクトル検出装置の構成は第2、第3実施形態で説明した動きベクトル検出装置の構成と同一であるので、構成の説明は省略する。
第5実施形態では、図4のステップ100の特徴量算出処理として図18に示す処理が実行される。なお、図16と同一の処理を行うステップについては同一の符号を付し、説明は省略する。
図18に示すステップ400〜406では、図16のステップ400〜406と同一の処理を実行する。
ステップ408では、特徴量算出部12が、原寸MEが実行されるマクロブロックの数を算出する。第2、第3実施形態で説明したように、原寸MEが実行されるか縮小MEが実行されるかは、折り返しノイズが発生する虞の有無、隣接マクロブロックのベクトル信頼度により決定される。また、第2実施形態の場合、図11に示すように、ベクトル信頼度は、折り返しノイズが発生する虞の有無に応じて「0」又は「1」が設定される。従って、第2実施形態の場合、折り返しノイズが発生する虞の有無及び隣接マクロブロックのベクトル信頼度から原寸MEが実行されるマクロブロックの数を算出することができる。
また、第3実施形態の場合、図14、図15(B)に示すように、折り返しノイズが発生する虞が「有」のマクロブロックが連続する連続領域では、原寸MEが実行されるマクロブロックからの距離に応じてベクトル信頼度が「0」になるまで徐々に減少する。また、折り返しノイズが発生する虞が「有」で且つ隣接マクロブロックのベクトル信頼度が「0」の場合に原寸MEが実行されるマクロブロックであると判定することができる。このため、前記連続領域では、原寸MEが実行されるマクロブロックからの距離に基づいて、原寸MEが実行されるマクロブロックの数を算出することができる。
ステップ410では、特徴量算出部12が、閾値をデクリメントする。
ステップ412では、特徴量算出部12が、ステップ408で算出した原寸MEが実行されるマクロブロックの数が性能限界個数Nを越えるか否かを判断する。そして、原寸MEが実行されるマクロブロックの数が性能限界個数Nを越える場合はステップ414へ移行し、性能限界個数N以下の場合はステップ410へ戻って上記と同様の処理を繰り返す。
ステップ414では、閾値をインクリメントして本ルーチンを終了する。
このように、第5実施形態では、特徴量が閾値以上であっても原寸MEが実行されないマクロブロックの数を除外して原寸MEが実行されるマクロブロックの数を求めて閾値を設定するので、適切に閾値を設定することができる。
なお、第4、第5実施形態では、図4のステップ100の特徴量算出処理において閾値を設定する場合について説明した。すなわち、第4、第5実施形態では、フレーム画像の先頭のマクロブロックについて動きベクトル検出処理が実行される前に閾値を設定する場合について説明したが、閾値を設定するタイミングはこれに限られない。例えば、各マクロブロックについて動きベクトル検出処理が実行される毎に閾値を設定する処理を実行するようにしてもよい。
具体的には、図5のステップ220で否定判定された後や図10のステップ328で否定判定された後に、図16のステップ404、406の処理や図18のステップ404〜414の処理を実行するようにしてもよい。
この場合、ステップ404では、今後の処理で原寸MEを実行可能な性能限界個数Nrを算出する。具体的には、次の(8)式を満たすような性能限界個数Nrを算出する。
Tf−Tc>Ts×(MBr−N)+Tb×Nr ・・・(8)
ここで、Tcは、先頭から現在のマクロブロックの処理に要した時間、MBrは、残りのマクロブロックの数であり、その他のパラメータは上記(7)式と同様である。
ステップ406以降は、第4、第5実施形態で説明した処理と同様の処理を実行する。
このように、1つのマクロブロックの処理が終了する毎に閾値を設定することにより、画像によって原寸MEや縮小MEの処理時間にばらつきが生じた場合でも、一つのフレーム画像の処理が目標処理時間を越えてしまうのを防ぐことができる。
なお、上記では図19(A)に示すように、原寸画像G1を(1/4)×(1/4)のサイズに縮小した縮小画像G2と原寸画像G1を用いて第2の動きベクトル検出処理を実行する場合について説明したが、これに限られるものではない。
例えば、図19(B)に示すように、原寸画像G1に代えて、縮小画像G2よりも縮小の度合いが小さい縮小画像、例えば原寸画像G1を(1/2)×(1/2)のサイズに縮小した縮小画像G3を用いて第2の動きベクトル検出処理を実行するようにしてもよい。
また、上記では開示の技術に係る動きベクトル検出プログラムの一例である動きベクトル検出プログラム80が記憶部76に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。開示の技術に係る動きベクトル検出プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
動画像に含まれるフレーム画像を縮小した縮小画像を生成する縮小画像生成処理部と、
符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出する特徴量算出部と、
前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する動きベクトル検出部と、
を含む動きベクトル検出装置。
(付記2)
前記動きベクトル検出部は、前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックについては、前記第2の動きベクトル検出処理を実行する
付記1記載の動きベクトル検出装置。
(付記3)
前記動きベクトル検出部は、前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックのうち、前記ノイズが発生する特徴量を有するマクロブロックが予め定めた処理方向に連続する連続領域が存在する場合は、前記連続領域の先頭のマクロブロックについては、前記第2の動きベクトル検出処理を実行し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記第1の動きベクトル検出処理を実行する
付記1記載の動きベクトル検出装置。
(付記4)
前記動きベクトル検出部は、
前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定するベクトル信頼度設定部と、
前記特徴量に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する選択部と、
処理対象の処理対象マクロブロックの画像と前記選択部により選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記処理対象マクロブロックに隣接する隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出する評価値算出部と、
前記隣接マクロブロックの前記ベクトル信頼度に応じて前記重み係数を設定する重み係数設定部と、
前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する動きベクトル演算部と、
を備えた付記2記載の動きベクトル検出装置。
(付記5)
前記動きベクトル検出部は、
前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定するベクトル信頼度設定部と、
前記特徴量及び前記処理対象マクロブロックに隣接する隣接マクロブロックの前記ベクトル信頼度に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する選択部と、
処理対象の処理対象マクロブロックの画像と前記選択部により選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出する評価値算出部と、
前記隣接マクロブロックの前記ベクトル信頼度及び前記特徴量に応じて前記重み係数を設定する重み係数設定部と、
前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する動きベクトル演算部と、
を備えた付記3記載の動きベクトル検出装置。
(付記6)
前記ベクトル信頼度設定部は、前記連続領域の先頭のマクロブロックについては、予め定めた最大のベクトル信頼度を設定し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記最大のベクトル信頼度から徐々に小さくなるように前記ベクトル信頼度を設定する
付記5記載の動きベクトル検出装置。
(付記7)
前記特徴量算出部は、前記特徴量のヒストグラムを算出すると共に、前記第1の動きベクトル検出処理の処理時間、前記第2の動きベクトル検出処理の処理時間、前記フレーム画像に含まれる前記マクロブロックの数、及び前記フレーム画像の目標処理時間に基づいて、前記第2の動きベクトル検出処理が可能なマクロブロックの限界数を算出し、前記ヒストグラムと前記限界数とに基づいて、前記選択部が前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する際の閾値を設定する
付記4〜6の何れかに記載の動きベクトル検出装置。
(付記8)
前記特徴量算出部は、前記マクロブロックについて動きベクトルを検出する毎に、前記閾値を設定する
付記7記載の動きベクトル検出装置。
(付記9)
動画像に含まれるフレーム画像を縮小した縮小画像を生成し、
符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出し、
前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する
ことを含む動きベクトル検出方法。
(付記10)
前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックについては、前記第2の動きベクトル検出処理を実行する
付記9記載の動きベクトル検出方法。
(付記11)
前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックのうち、前記ノイズが発生する特徴量を有するマクロブロックが予め定めた処理方向に連続する連続領域が存在する場合は、前記連続領域の先頭のマクロブロックについては、前記第2の動きベクトル検出処理を実行し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記第1の動きベクトル検出処理を実行する
付記9記載の動きベクトル検出方法。
(付記12)
前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定し、
前記特徴量に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択し、
処理対象の処理対象マクロブロックの画像と選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記処理対象マクロブロックに隣接する隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出し、
前記隣接マクロブロックの前記ベクトル信頼度に応じて前記重み係数を設定し、
前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する
付記10記載の動きベクトル検出方法。
(付記13)
前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定し、
前記特徴量及び前記処理対象マクロブロックに隣接する隣接マクロブロックの前記ベクトル信頼度に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択し、
処理対象の処理対象マクロブロックの画像と選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出し、
前記隣接マクロブロックの前記ベクトル信頼度及び前記特徴量に応じて前記重み係数を設定し、
前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する
を備えた付記11記載の動きベクトル検出方法。
(付記14)
前記連続領域の先頭のマクロブロックについては、予め定めた最大のベクトル信頼度を設定し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記最大のベクトル信頼度から徐々に小さくなるように前記ベクトル信頼度を設定する
付記13記載の動きベクトル検出方法。
(付記15)
前記特徴量のヒストグラムを算出すると共に、前記第1の動きベクトル検出処理の処理時間、前記第2の動きベクトル検出処理の処理時間、前記フレーム画像に含まれる前記マクロブロックの数、及び前記フレーム画像の目標処理時間に基づいて、前記第2の動きベクトル検出処理が可能なマクロブロックの限界数を算出し、前記ヒストグラムと前記限界数とに基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する際の閾値を設定する
付記12〜14の何れかに記載の動きベクトル検出方法。
(付記16)
前記マクロブロックについて動きベクトルを検出する毎に、前記閾値を設定する
付記15記載の動きベクトル検出方法。
(付記17)
コンピュータに、
動画像に含まれるフレーム画像を縮小した縮小画像を生成し、
符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出し、
前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する
ことを含む処理を実行させるための動きベクトル検出プログラム。
10、10A 動きベクトル検出装置
12 特徴量算出部
14 縮小画像生成処理部
16 ベクトル検出部
18 メモリ
20A、20B 画像相関値演算部
30 選択部
32 コスト算出処理部
34 ベクトル信頼度設定部
38 動きベクトル演算部
42 ベクトル相関値演算部
44 ベクトルコスト重み係数設定部
70 コンピュータ

Claims (10)

  1. 動画像に含まれるフレーム画像を縮小した縮小画像を生成する縮小画像生成処理部と、
    符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出する特徴量算出部と、
    前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する動きベクトル検出部と、
    を含み、
    前記動きベクトル検出部は、前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックのうち、前記ノイズが発生する特徴量を有するマクロブロックが予め定めた処理方向に連続する連続領域が存在する場合は、前記連続領域の先頭のマクロブロックについては、前記第2の動きベクトル検出処理を実行し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記第1の動きベクトル検出処理を実行する動きベクトル検出装置。
  2. 動画像に含まれるフレーム画像を縮小した縮小画像を生成する縮小画像生成処理部と、
    符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出する特徴量算出部と、
    前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する動きベクトル検出部と、
    を含み、
    前記動きベクトル検出部は、
    前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックについては、前記第2の動きベクトル検出処理を実行し、
    前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定するベクトル信頼度設定部と、
    前記特徴量に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する選択部と、
    処理対象の処理対象マクロブロックの画像と前記選択部により選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記処理対象マクロブロックに隣接する隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出する評価値算出部と、
    前記隣接マクロブロックの前記ベクトル信頼度に応じて前記重み係数を設定する重み係数設定部と、
    前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する動きベクトル演算部と、
    を備えた動きベクトル検出装置。
  3. 前記動きベクトル検出部は、
    前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定するベクトル信頼度設定部と、
    前記特徴量及び前記処理対象マクロブロックに隣接する隣接マクロブロックの前記ベクトル信頼度に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する選択部と、
    処理対象の処理対象マクロブロックの画像と前記選択部により選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出する評価値算出部と、
    前記隣接マクロブロックの前記ベクトル信頼度及び前記特徴量に応じて前記重み係数を設定する重み係数設定部と、
    前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する動きベクトル演算部と、
    を備えた請求項1記載の動きベクトル検出装置。
  4. 前記ベクトル信頼度設定部は、前記連続領域の先頭のマクロブロックについては、予め定めた最大のベクトル信頼度を設定し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記最大のベクトル信頼度から徐々に小さくなるように前記ベクトル信頼度を設定する
    請求項3記載の動きベクトル検出装置。
  5. 前記特徴量算出部は、前記特徴量のヒストグラムを算出すると共に、前記第1の動きベクトル検出処理の処理時間、前記第2の動きベクトル検出処理の処理時間、前記フレーム画像に含まれる前記マクロブロックの数、及び前記フレーム画像の目標処理時間に基づいて、前記第2の動きベクトル検出処理が可能なマクロブロックの限界数を算出し、前記ヒストグラムと前記限界数とに基づいて、前記選択部が前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択する際の閾値を設定する
    請求項2〜4の何れか1項に記載の動きベクトル検出装置。
  6. 前記特徴量算出部は、前記マクロブロックについて動きベクトルを検出する毎に、前記閾値を設定する
    請求項5記載の動きベクトル検出装置。
  7. 動画像に含まれるフレーム画像を縮小した縮小画像を生成し、
    符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出し、
    前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する
    ことを含み、
    前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックのうち、前記ノイズが発生する特徴量を有するマクロブロックが予め定めた処理方向に連続する連続領域が存在する場合は、前記連続領域の先頭のマクロブロックについては、前記第2の動きベクトル検出処理を実行し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記第1の動きベクトル検出処理を実行する
    処理をコンピュータが実行する動きベクトル検出方法。
  8. 動画像に含まれるフレーム画像を縮小した縮小画像を生成し、
    符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出し、
    前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する
    ことを含み、
    前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックについては、前記第2の動きベクトル検出処理を実行し、
    前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定し、
    前記特徴量に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択し、
    処理対象の処理対象マクロブロックの画像と選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記処理対象マクロブロックに隣接する隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出し、
    前記隣接マクロブロックの前記ベクトル信頼度に応じて前記重み係数を設定し、
    前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する
    処理をコンピュータが実行する動きベクトル検出方法。
  9. コンピュータに、
    動画像に含まれるフレーム画像を縮小した縮小画像を生成し、
    符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出し、
    前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する
    ことを含み、
    前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックのうち、前記ノイズが発生する特徴量を有するマクロブロックが予め定めた処理方向に連続する連続領域が存在する場合は、前記連続領域の先頭のマクロブロックについては、前記第2の動きベクトル検出処理を実行し、前記連続領域の先頭のマクロブロック以外のマクロブロックであって前記先頭のマクロブロックから前記処理方向において予め定めた距離内のマクロブロックについては、前記第1の動きベクトル検出処理を実行する
    処理を実行させるための動きベクトル検出プログラム。
  10. コンピュータに、
    動画像に含まれるフレーム画像を縮小した縮小画像を生成し、
    符号化対象の前記フレーム画像を分割したマクロブロック毎に、前記符号化対象の前記フレーム画像から前記縮小画像を生成した場合に発生するノイズに関する特徴量を算出し、
    前記特徴量に応じて、前記符号化対象の前記フレーム画像に対応する原寸サイズの参照フレーム画像を縮小した第1の画像を参照画像として動きベクトルを検出する第1の動きベクトル検出処理、又は、前記原寸サイズの参照フレーム画像を縮小した前記縮小画像よりも縮小の度合いが小さい第2の画像を参照画像として動きベクトルを検出する第2の動きベクトル検出処理を実行する
    ことを含み、
    前記ノイズが発生しない特徴量を有する前記マクロブロックについては、前記第1の動きベクトル検出処理を実行し、前記ノイズが発生する特徴量を有するマクロブロックについては、前記第2の動きベクトル検出処理を実行し、
    前記特徴量に応じて前記処理対象マクロブロックのベクトル信頼度を設定し、
    前記特徴量に基づいて、前記第1の画像及び前記第2の画像の何れを前記参照画像とするかを選択し、
    処理対象の処理対象マクロブロックの画像と選択された前記参照画像に設定された探索範囲内のマクロブロックの画像との相関の度合いを表す画像相関値と、前記処理対象マクロブロックの動きベクトルと前記処理対象マクロブロックに隣接する隣接マクロブロックの動きベクトルとの相関の度合いを表すベクトル相関値と、前記ベクトル相関値の重みを調整する重み係数と、をパラメータとして含む評価値を算出し、
    前記隣接マクロブロックの前記ベクトル信頼度に応じて前記重み係数を設定し、
    前記処理対象の前記マクロブロックの位置と、前記評価値が最小となる前記探索範囲内のマクロブロックの位置と、に基づいて、動きベクトルを演算する
    処理を実行させるための動きベクトル検出プログラム。
JP2012276899A 2012-12-19 2012-12-19 動きベクトル検出装置、方法、及びプログラム Expired - Fee Related JP6003618B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012276899A JP6003618B2 (ja) 2012-12-19 2012-12-19 動きベクトル検出装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012276899A JP6003618B2 (ja) 2012-12-19 2012-12-19 動きベクトル検出装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014121051A JP2014121051A (ja) 2014-06-30
JP6003618B2 true JP6003618B2 (ja) 2016-10-05

Family

ID=51175492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012276899A Expired - Fee Related JP6003618B2 (ja) 2012-12-19 2012-12-19 動きベクトル検出装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6003618B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7406208B2 (ja) 2020-07-17 2023-12-27 日本電信電話株式会社 符号化装置、符号化方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0965339A (ja) * 1995-08-18 1997-03-07 Mitsubishi Electric Corp 画像ブロック動き検出装置
JP3269031B2 (ja) * 1997-08-26 2002-03-25 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法、並びに画像符号化装置
JP2006054600A (ja) * 2004-08-10 2006-02-23 Toshiba Corp 動き検出装置、動き検出方法および動き検出プログラム
JP2007129333A (ja) * 2005-11-01 2007-05-24 Mitsubishi Electric Corp 動きベクトル検出装置及び動きベクトル検出方法

Also Published As

Publication number Publication date
JP2014121051A (ja) 2014-06-30

Similar Documents

Publication Publication Date Title
KR102144994B1 (ko) 영상의 노이즈를 저감하는 방법 및 이를 이용한 영상 처리 장치
JP2009147807A (ja) 画像処理装置
EP2180695B1 (en) Apparatus and method for improving frame rate using motion trajectory
US8983221B2 (en) Image processing apparatus, imaging apparatus, and image processing method
JP2013508849A5 (ja)
RU2603529C2 (ru) Уменьшение шума в последовательностях изображений
JP2010258710A5 (ja)
JP6254938B2 (ja) 画像ノイズ除去装置、および画像ノイズ除去方法
WO2010140302A1 (ja) 画像処理装置、画像処理方法、プログラム、記録媒体及び集積回路
JP6394876B2 (ja) 符号化回路、符号化方法
KR101805623B1 (ko) 영상 고주파 정보 추정 및 안정화를 통한 고해상도 영상 생성 방법 및 장치
JP2010114597A (ja) 動きベクトル検出装置、その処理方法およびプログラム
US20070040805A1 (en) Method of detecting the movement of an entity equipped with an image sensor and device for implementing same
WO2010007777A1 (ja) 画像処理装置、画像処理方法、プログラム、記録媒体および集積回路
WO2016185708A1 (ja) 画像処理装置、画像処理方法、および、記憶媒体
JP6003618B2 (ja) 動きベクトル検出装置、方法、及びプログラム
US20120269451A1 (en) Information processing apparatus, information processing method and program
JP5927051B2 (ja) 画像処理装置、画像処理方法及びプログラム
US10666970B2 (en) Encoding apparatus, encoding method, and storage medium
US20200265557A1 (en) Motion detection method and image processing device for motion detection
JP5639444B2 (ja) 動きベクトル生成装置、動きベクトル生成方法及びコンピュータプログラム
US10419775B2 (en) Moving image encoding apparatus, image capturing apparatus, moving image encoding method, and non-transitory computer readable storage medium
JP4232976B2 (ja) 動き予測情報検出装置
JP5846357B2 (ja) 画像処理装置及び画像処理プログラム
JP2009267726A (ja) 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160715

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: 20160809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160822

R150 Certificate of patent or registration of utility model

Ref document number: 6003618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees