(57)【特許請求の範囲】
【請求項１】
入力された複数の画像のうち何れか１の画像を基準画像とし、該基準画像において注目画素を中心とする所定の処理領域毎にコントラスト値を算出するコントラスト値算出手段と、
複数の前記画像間において前記注目画素に対する動きベクトルを算出する際に用いる画素値のビット長として、前記コントラスト値に基づいて、該コントラスト値を算出した際に用いた画素値のビット長よりも小さいビット長とするビット長決定手段と、
前記処理領域及び複数の前記画像のうち少なくとも前記処理領域と対応する領域を、前記ビット長決定手段により決定されたビット長に変換する量子化手段と、
該量子化手段によってビット長が変換された前記処理領域について、前記注目画素に対する複数の前記画像間における動きベクトルを算出する動きベクトル算出手段と、を備える画像処理装置。
【請求項２】
前記ビット長決定手段が、前記コントラスト値が小さいほど小さいビット長とする請求項１記載の画像処理装置。
【請求項３】
前記注目画素に対するエッジの勾配の大きさを算出するエッジ算出手段を備え、
前記ビット長決定手段が、前記コントラスト値に基づいて決定したビット長に対し、さらに、前記エッジの勾配の大きさに基づいてビット長を補正する請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記ビット長決定手段が、前記エッジの勾配が大きくなるほど、決定したビット長をさらに小さくなるように補正する請求項３記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に係り、特に、複数画像間における動きベクトルを検出する画像処理装置に関するものである。
【背景技術】
【０００２】
従来、複数画像間においてパターンマッチング法、勾配法等種々の手法により動きベクトルを算出する画像処理装置が提案されている。
このような動きベクトルを算出する画像処理装置として、例えば特許文献１には、動きベクトルの誤検出を抑えながら、回路規模または処理時間を小さくする画像処理装置が開示されている。具体的には、特許文献１では、入力画像の各画素のエッジ成分を求め、入力画像を複数の間引き単位ブロックに分割し、エッジ成分の大きさを比較して、間引き単位ブロックごとにエッジ成分が大きい画素を残して他の画素を間引き、残された画素の間引き単位ブロック内でのオフセット位置に基づいて動きベクトル候補を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１６４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した特許文献１に記載の画像処理装置では、画像の高画素化に伴って動きベクトルが増加する等、動きベクトル数が想定以上に多い場合に、回路規模や処理時間を小さくすることができない。近年の高画素化の要請に伴い画像における動きベクトルが増加する傾向にあることから、１つの動きベクトルに対して如何に演算量を減少させるかが課題となる。
【０００５】
本発明は、上述した事情に鑑みてなされたものであって、動きベクトルの検出に際して、検出精度を維持しながら演算量を削減することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明は、入力された複数の画像のうち何れか１の画像を基準画像とし、少なくとも該基準画像において注目画素を中心とする所定の処理領域毎にコントラスト値を算出するコントラスト値算出手段と、複数の前記画像間において前記注目画素に対する動きベクトルを算出する際に用いる画素値のビット長として、前記コントラスト値に基づいて、該コントラスト値を算出した際に用いた画素値のビット長よりも小さいビット長とするビット長決定手段と、前記処理領域及び複数の前記画像のうち少なくとも前記処理領域と対応する領域を、前記ビット長決定手段により決定されたビット長に変換する量子化手段と、該量子化手段によってビット長が変換された前記処理領域について、前記注目画素に対する複数の前記画像間における動きベクトルを算出する動きベクトル算出手段と、を備える画像処理装置を提供する。
【０００７】
本発明によれば、複数の入力画像から基準画像を定め、基準画像における注目画素についての動きベクトルを算出するに際し、注目画素を含む処理領域のコントラスト値を算出して、コントラスト値に基づいてビット長を決定する。コントラスト値が高い画素や領域は画像として情報量が多く、ビット長を小さくすることにより必要な情報が消失する虞がある。一方、コントラスト値が低く画像としての情報量がさほど多くない画素や領域についてビット長が長いままでは動きベクトルを算出する際に演算量が過大となる。そこで、ビット長決定手段により、コントラスト値に基づいてビット長を小さくし、量子化手段により処理領域及び複数の画像のうち少なくとも処理領域と対応する領域を決定したビット長に変換する。処理領域及び複数の画像のうち少なくとも処理領域と対応する領域を、前記ビット長決定手段により決定されたビット長に変換する。これにより、動きベクトル検出の精度を維持しながら演算量を削減することができる。
【０００８】
上記した発明において、前記ビット長決定手段が、前記コントラスト値が小さいほど小さいビット長とすることが好ましい。
このようにすることで、コントラスト値に対応させて不要な演算量を削減させると共に、動きベクトル検出の精度を維持することができる。
【０００９】
上記した発明において、前記注目画素に対するエッジの勾配の大きさを算出するエッジ算出手段を備え、前記ビット長決定手段が、前記コントラスト値に基づいて決定したビット長に対し、さらに、前記エッジの勾配の大きさに基づいてビット長を補正することが好ましい。
このようにすることで、画像中に例えば広範囲にわたるグラデーションが存在する場合や急激な輝度差が生じている場合にも的確に区別をすることができ、不要な演算をより削減することができる。
【００１０】
上記した発明において、前記ビット長決定手段が、前記エッジの勾配が大きくなるほど、決定したビット長をさらに小さくなるように補正することが好ましい。
このようにすることで、コントラスト値が高い場合でも、エッジの勾配が大きい領域についてビット長を小さくすることができるので、不要な演算をさらに削減することができる。
【発明の効果】
【００１１】
本発明によれば、動きベクトルの検出に際して、検出精度を維持しながら演算量を削減することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【図２】基準画像及び参照画像において注目画素、処理領域、探索範囲領域を示す説明図である。
【図３】本発明の第１の実施形態に係る画像処理装置において、コントラスト値とビット長とを対応付けたテーブルの例を示す表である。
【図４】本発明の第１の実施形態に係る画像処理装置において、ビット長変換前後における処理領域の輝度値のヒストグラムである。
【図５】量子化を行う際のヒストグラムの変化を示すグラフである。
【図６】ビット長削減とヒストグラムの関係を示すグラフである。
【図７】本発明の第１の実施形態に係る画像処理装置において、注目画素に対する動きベクトルを検出する際のフローチャートである。
【図８】動きベクトルの数と演算量との関係を示すグラフである。
【図９】本発明の第１の実施形態の変形例に係る画像処理装置の概略構成を示すブロック図である。
【図１０】グラデーションを有する領域及び輝度差が急激である領域の例を示す参考図である。
【図１１】エッジを検出するためのソーベルフィルタの例である。
【図１２】エッジの勾配とビット長との関係を示すグラフである。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
以下に、本発明の第１の実施形態に係る画像処理装置について図面を参照して説明する。
図１に示すように、画像処理装置は、複数の画像を入力する画像入力部９、画像入力部に入力された画像のコントラスト値を算出するコントラスト値算出部１１、複数の画像間において注目画素に対する動きベクトルを算出する際のビット長を決定するビット長決定部１２、入力画像をビット長決定部によって決定されたビット長の画像データに変換する量子化部１３、及び、画像データに基づいて動きベクトルを算出する動きベクトル算出部１４を備えている。
【００１４】
画像入力部９は、入力された複数の画像を一時的に保持するとともに、必要な画像をコントラスト値算出部１１及び量子化部１３に出力する。なお、説明の便宜上、本実施形態においては、画像入力部に２枚の画像が入力されることとして説明する。
コントラスト値算出部１１は、画像入力部９により入力された２枚の画像のうち何れか１の画像を基準画像とし、少なくとも基準画像において注目画素を中心とする所定の処理領域毎にコントラスト値を算出する。ここで、処理領域のコントラスト値とは、注目画素の属する処理領域における当該注目画素の濃淡の度合いを示しているなお、本実施形態では、２枚の画像のうち基準画像と異なる画像を参照画像として動きベクトルを算出する。
【００１５】
具体的には、図２（Ａ）に示すように、画像入力部９から取得した基準画像において、例えば注目画素Ａ４を中心とする３画素×３画素の矩形領域をコントラスト値算出の対象となる処理領域（カーネル領域）Ｉとして、処理領域Ｉについてのコントラスト値を以下の式（１）に従って算出する。
【００１６】
【数１】
0006388507.tif 000002
但し、ｍａｘ１は基準画像の処理領域における画素値の最大値を示し、ｍｉｎ１は基準画像の処理領域における画素値の最小値を示す。
【００１７】
なお、ここでは、基準画像のみを用いて処理領域のコントラスト値を算出しているが、コントラスト値の算出は、以下のように行ってもよい。
例えば、基準画像との間の動きベクトルを算出すべき参照画像と基準画像とを用いてコントラスト値を計算することもできる。この場合は、Contrastboth数式（２）及び数式（３）に従ってコントラスト値を算出する。この時、参照画像における処理領域は、図２（Ｂ）に示すように、基準画像の処理領域Ｉとマッチングする領域を探索するための探索範囲領域Ｓとする。
【００１８】
【数２】
0006388507.tif 000003
【００１９】
【数３】
0006388507.tif 000004
【００２０】
但し、ｍａｘ２は参照画像の探索範囲領域における画素値の最大値を示し、ｍｉｎ２は参照画像の探索範囲領域における画素値の最小値を示す。基準画像のみならず参照画像の画像情報も用いてコントラスト値を算出することで、量子化部１３においてより精度よくビット長変換を行うことができる。
【００２１】
ビット長決定部１２は、コントラスト値を算出した処理領域に係る注目画素に対して、複数の画像間における動きベクトルを算出する際のビット長を決定する。ビット長としては、コントラスト値算出部１１において算出されたコントラスト値に基づいて、コントラスト値を算出した際の処理領域のビット長よりも小さいビット長とする。このとき、コントラスト値が小さいほどビット長を小さくする。
【００２２】
本実施形態におけるビット長決定部１２では、ビット長の決定に際してコントラスト値とビット長とを対応させたテーブル（図３参照）を図示しないレジスタに記憶しておき、このテーブルを参照してコントラスト値に基づいてビット長を決定する。図３に示すテーブルでは、コントラスト値が小さくなるに連れてビット長を短くするようになっている。
【００２３】
コントラスト値が小さい場合、ヒストグラムのダイナミックレンジ幅も同様に小さいという特徴がある。ダイナミックレンジ幅が小さければ、演算に必要なビット長は短くて充分である。このため、コントラスト値の大きさでビット長を決定することが有効である。また、コントラストの代わりにダイナミックレンジ幅をビット長決定に用いても良い。
【００２４】
量子化部１３は、基準画像における処理領域及び参照画像における少なくとも処理領域と対応する領域を、ビット長決定部１２によって決定されたビット長の画像データに変換する。
本実施形態では、以上の式（３）により、基準画像における処理領域と参照画像における探索範囲領域とをビット長決定部１２によって決定されたビット長の画像データに変換する。以下、基準画像における処理領域と参照画像における探索領域を、ビット長変換処理対象領域と呼ぶ。
【００２５】
【数４】
0006388507.tif 000005
図４及び数式（４）に示すように、ｖａｌｕｅ１はビット長変換前の注目画素の画素値（８ビット）、ｍｉｎ１及びｍａｘ１はビット長変換前のビット長変換処理対象領域における画素値の最小値と最大値である。ｖａｌｕｅ２はビット長変換後の注目画素の画素値（ｎビット）、ｍｉｎ２及びｍａｘ２はビット長変換後のビット長変換処理対象領域における画素値の最小値と最大値である。
【００２６】
ここで、図５に示すヒストグラムと数式（４）を用いて量子化の例を示す。  図５（Ａ）は、コントラスト値が小さく少し明るめの画像のヒストグラム（ダイナミックレンジ幅が小さく、右にシフトしたヒストグラム）である。図５（Ａ）においてビット長が２ビットと決定された場合の数式（４）の算出方法は以下のようになる。
すなわち、ビット長が２ビットの場合、数式（４）にｍｉｎ２＝０，ｍａｘ２＝３を、ｍｉｎ１＝１００，ｍａｘ１＝１３０，ｖａｌｕｅ１＝１２０を代入する。ビット長変換後は、２２＝４に量子化され、数式（４）のｖａｌｕｅ２として０〜３の値が算出される。
【００２７】
図５（Ａ）のヒストグラムを、単純に４ビットで量子化してしまうと、図４（Ｂ）に示すように、量子化に失敗する。よってビット長変換対象領域は、０、１の画素値を持つ領域はなく、ほとんどが３の画素値を持つ領域となる。
しかし、数式（４）を用いることで、元の情報を保ちながら量子化を行うことができる。図５（Ｃ）に示すように、まずヒストグラムを左にシフトしてから、４ビットで量子化する。このようにすることで、ビット長変換対象領域は０〜３すべての値を持つことができる。
【００２８】
ここで、図６にビット長削減とヒストグラムの関係について示す。本手法では、図６（Ａ）に示すヒストグラムの場合は、元の情報を保ちながらビット長を削減することができる。一方で、図６（Ｂ）に示すヒストグラムの場合は、ビット長を削減することは可能であるが、図６（Ａ）の場合と比べるとビット長を削減と共に元の情報が劣化してしまう。
【００２９】
動きベクトル算出部１４は、量子化部１３によりビット長変換された基準画像の処理領域と参照画像の探索範囲領域とから注目画素に対する動きベクトルを算出する。
以下に、動きベクトルの算出方法の一例として、ブロックマッチングを用いる例について説明する。
【００３０】
ブロックマッチングで相関の高いブロックを探索する方法として、二乗誤差ＳＳＤや、絶対誤差ＳＡＤなどを用いる方法がある。すなわち、基準画像における処理領域をＩ、参照画像における処理領域と対応する３画素×３画素の矩形領域をＩ’として、Ｉと相関が高いＩ’の位置を求める方法であり（図２参照）、ＳＳＤとＳＡＤは、以下の数式（５）及び（６）で定義される。この値が小さいほど相関が高いと評価する。
【００３１】
【数５】
0006388507.tif 000006
【００３２】
図２の基準画像のＡ８画素の動きベクトルを算出する具体例について説明する。上述のように、処理領域は３画素×３画素からなる矩形領域であり、探索範囲領域を５画素×５画素の矩形領域としている。
【００３３】
数式（５）及び（６）を用いて、図２の参照画像内の各候補点におけるＳＡＤ値又はＳＳＤ値を求め、その中で一番小さい値を持つ候補点をＡ８のベクトルの終点とする。例えば、候補点Ｂ４がＡ８のベクトルの終点となった場合は、Ａ８における動きベクトルは（−１，−１）となる。
【００３４】
本実施形態においては、数式（５）及び（６）におけるＡｐ−Ｂｐを演算する際のビット長を、コントラスト値に応じて短くすることで演算量を削減している。
図８に動きベクトルの数と演算量の関係を示す。既知のブロックマッチングによって演算を行った場合でも、ビット長を小さくして処理すべき画像データ量を削減することで、１つの動きベクトルに対する演算量が減少する、動きベクトルの数が増えても演算量を抑制することができる。
【００３５】
続いて、このように構成された画像処理装置の作用について図７のフローチャートに従って、説明する。以下の説明において、説明の便宜上。入力画像として２枚の画像が入力され、一方を基準画像、他方を参照画像として動きベクトルを検出することとする。
【００３６】
本実施形態に係る画像処理装置によって入力画像の動きベクトルを検出するために、ステップＳ１１において、コントラスト値算出部１１は、画像入力部９から２枚の入力画像を取得し、これらのうち何れか１方を基準画像と定める。また、コントラスト値算出部１１は、基準画像のうちの処理対象の注目画素を特定し、注目画素を中心とする３画素×３画素の矩形領域をコントラスト値算出の対象となる処理領域として、処理領域についてのコントラスト値を算出する。算出したコントラスト値は、ビット長決定部１２に出力される。
【００３７】
続いて、ステップＳ１２において、ビット長決定部１２により、コントラスト値を算出した処理領域に係る注目画素に対して、参照画像との間の動きベクトルを算出する際のビット長を決定する。なお、ビット長決定部１２によるビット長の決定は図３のテーブルに従って行い、決定したビット長を量子化部１３に出力する。次のステップＳ１３において、量子化部１３は、画像入力部９から基準画像と参照画像の素の画像データを取得し、基準画像における処理領域と参照画像における探索範囲領域とをビット長決定部１２によって決定されたビット長の画像データに変換する。変換した画像データは動きベクトル算出部１４に出力される。
【００３８】
ステップＳ１４では、動きベクトル算出部１４により、ビット長変換された基準画像の処理領域と参照画像の探索範囲領域とから処理領域に係る注目画素に対する動きベクトルを算出する。
【００３９】
このように、本実施形態によれば、複数の入力画像から基準画像を定め、基準画像における注目画素についての動きベクトルを算出するに際し、注目画素を含む処理領域のコントラスト値を算出して、コントラスト値に基づいてビット長を小さくする。そして、処理領域及び複数の画像のうち少なくとも処理領域と対応する領域をビット長変換し、画像データとしての情報量を少なくする。これにより、動きベクトル検出の精度を維持しながら演算量を削減することができる。
【００４０】
（変形例）
上記した第１の実施形態においては、ビット長の決定は専らコントラスト値に基づいて決定していた。本変形例では、コントラスト値に基づいて決定したビット長を画像のその他の情報に基づいて補正する構成としている。
【００４１】
すなわち、図９に示すようにビット長を補正するために、注目画素に対するエッジの勾配の大きさを算出するエッジ算出部１７を備えており、ビット長決定部１２がエッジの勾配の大きさに基づいて、エッジの勾配が大きい場合ビット長をさらに短くし、エッジの勾配が小さい場合ビット長を維持するように、コントラスト値に対応するビット長を補正している。
【００４２】
これは、コントラスト値のみを用いる場合、図１０（Ａ）に示すように、広域に渡るグラデーションが存在している画像と、図１０（Ｂ）に示すように急激な輝度差がある画像とを区別することができず、図１０（Ｂ）について演算量を抑えることができない虞がある。
【００４３】
そこで、本変形例において、エッジ勾配の大きさを用いることで、コントラスト値が高くてもエッジの勾配が大きい領域は、ビット長を小さくすることが可能となり、演算量をさらに削減できる。
【００４４】
具体的には、図９に示すように、エッジ算出部１７が画像入力部９から基準画像及び参照画像となる画像を取得し、例えば、図１１に示すエッジ検出用のソーベルフィルタを適用することでエッジの勾配の大きさを示す指標値を算出する（数式（７）参照）。
【００４５】
【数６】
0006388507.tif 000007
【００４６】
但し、図１１（Ａ）のフィルタで算出した値をＥｄｇｅｘ、図１１（Ｂ）のフィルタで算出した値をＥｄｇｅｙとする。
なお、本変形例においては、３画素×３画素のソーベルフィルタを適用することとしたが、エッジが検出できるフィルタであればどのようなフィルタを用いることもできる。
【００４７】
ビット長決定部１２では、図３のテーブルに従ってコントラスト値に基づいてビット長を決定し、コントラスト値によるビット長を基準として、数式（７）により算出した指標値、すなわち、エッジの勾配の大きさに基づいてビット長を補正する。
【００４８】
ビット長の補正は、以下のように行われる。すなわち、図１２に示すエッジの勾配とビット長との関係に従って、エッジ勾配が大きい場合はビット長をさらに小さくし、反対に小さい場合はビット長を維持するようにビット長を決定する。つまり、エッジの勾配が弱い場合は、コントラスト値で決定したビット長が最終的なビット長の長さとなり、エッジの勾配が多きときのみビット長がさらに小さくなる。
【００４９】
本実施形態によれば、画像中に例えば広範囲にわたるグラデーションが存在する場合や急激な輝度差が生じている場合にも的確に区別をすることができ、コントラスト値が高い場合でも、エッジの勾配が大きい領域についてビット長を小さくすることができるので、不要な演算をさらに削減することができる。
【符号の説明】
【００５０】
９  画像入力部
１１  コントラスト値算出部
１２  ビット長決定部
１３  量子化部
１４  動きベクトル算出部
１７  エッジ算出部
【図１】
0006388507.tif 000008
【図２】
0006388507.tif 000009
【図３】
0006388507.tif 000010
【図４】
0006388507.tif 000011
【図５】
0006388507.tif 000012
【図６】
0006388507.tif 000013
【図７】
0006388507.tif 000014
【図８】
0006388507.tif 000015
【図９】
0006388507.tif 000016
【図１０】
0006388507.tif 000017
【図１１】
0006388507.tif 000018
【図１２】
0006388507.tif 000019