JP4337302B2 - Motion compensation circuit and method - Google Patents

Motion compensation circuit and method Download PDF

Info

Publication number
JP4337302B2
JP4337302B2 JP2002115352A JP2002115352A JP4337302B2 JP 4337302 B2 JP4337302 B2 JP 4337302B2 JP 2002115352 A JP2002115352 A JP 2002115352A JP 2002115352 A JP2002115352 A JP 2002115352A JP 4337302 B2 JP4337302 B2 JP 4337302B2
Authority
JP
Japan
Prior art keywords
motion vector
field
pixel
motion
image
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
JP2002115352A
Other languages
Japanese (ja)
Other versions
JP2003309822A (en
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2002115352A priority Critical patent/JP4337302B2/en
Publication of JP2003309822A publication Critical patent/JP2003309822A/en
Application granted granted Critical
Publication of JP4337302B2 publication Critical patent/JP4337302B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、倍速変換することにより生成された画像信号の各検出画素の位置をシフトさせる動き補正回路及び方法に関する。
【0002】
【従来の技術】
テレビ放送の走査方式としては、従来から水平走査線を1本おきに飛越して走査するインタレース走査方式が最も広く採用されている。このインタレース走査方式では、奇数番目の走査線から構成されるフィールド画像と、偶数番目の走査線から構成されるフィールド画像により1枚のフレーム画像を形成し、画面全体がちらついて見える面フリッカ妨害を抑え、画面品質の劣化を防止する。
【0003】
また、このインタレース走査方式は、世界各国のテレビジョン標準方式として採用されており、このうち例えば欧州のテレビジョン放送におけるPAL(Phase Alternation by Line)方式では、フィールド周波数が50〔Hz〕(フレーム画像が25フレーム/秒、フィールド画像が50フィールド/秒)で構成される。
【0004】
特にこのPAL方式では、更なる面フリッカ妨害の抑制を期すべく、入力画像信号を補間等の処理を行うことにより、フィールド周波数を50Hzから2倍の100Hzの画像信号に変換する、フィールド周波数倍速方式が従来より採用されている。
【0005】
図18は、このフィールド周波数倍速方式を適用したフィールド倍速変換回路5のブロック構成例を示している。このフィールド倍速変換回路5は、入力端子61と、水平垂直偏向回路62と、CRT63とを備えるテレビジョン受像機6に集積化される。このフィールド倍速変換回路5は、倍速変換部51と、フレームメモリ52とを備える。
【0006】
倍速変換部51は、入力端子61から入力された、例えばPAL方式の50フィールド/秒の画像信号を、フレームメモリ52へ書き込む。また、この倍速変換部51は、フレームメモリ52へ書き込んだ画像信号を、書込み時の2倍の速度で読み出す。これにより、50フィールド/秒の画像信号の周波数を2倍に変換し、100フィールド/秒の画像信号を生成することができる。
【0007】
倍速変換部51は、倍速変換した画像信号をCRT63へ出力する。CRT63は、入力された画像信号を画面上に表示する。なお、CRT63における画像信号の水平、垂直の偏向は、水平垂直偏向回路62において生成された、入力画像信号の2倍の周波数の水平垂直鋸歯状波に基づいて制御する。
【0008】
図19は、倍速変換前後の各画像信号における各フィールドと画素位置との関係を示している。ここで横軸は時間、縦軸は画素の垂直方向の位置を示す。また、図19(a)の白丸で示した画像信号は、倍速変換前の50フィールド/秒のインタレース画像信号であり、図19(b)の黒丸で示した画像信号は、倍速変換した100フィールド/秒のインタレース画像信号である。
【0009】
図19(a)に示す画像信号において、フィールドf1とフィールドf2は、フィルムの同一のコマから作成された信号となり、以下同様にフィールドf3とフィールドf4も同一のコマを構成する。これらの画像信号は、インタレース画像信号であるため、隣り合うフィールド間で垂直方向の画素位置が異なる。このため、インタレース性を保ちつつ、各フィールド間に1個ずつのフィールドを新規に生成することはできない。
【0010】
そこで、図19(b)に示すように、フィールドf1とフィールドf2の間に、新規に2枚のフィールドf2´、f1´を生成する。そして、フィールドf2とフィールドf3の間では、フィールドの生成を行わず、フィールドf3とフィールドf4の間に、新規に2枚のフィールドf4´、f3´を生成する。すなわち4フィールド、2フレームで1つのコマを形成する。
【0011】
この新規に生成したフィールドf1´、f2´、・・・は、それぞれの画素値を、各画素の周囲3画素の中間値として、メディアン・フィルタ等を用いて求める場合もある。また、この新規に生成したフィールドf1´、f2´、・・・は、それぞれフィールドf1、f2、・・と同じ内容となる。
【0012】
すなわち、フィールド倍速変換回路5は、倍速変換前の画像信号のフィールド間に2枚のフィールドを新規に生成する部分と全く生成しない部分とを交互に配置することで、単位時間当たりの画面枚数を増やすことができ、上述の面フリッカ妨害を抑えることが可能となる。
【0013】
ところで、24コマ/秒の静止画で構成される映画のフィルムを通常のテレビで見るためには、インターレースのテレビ信号にするために、テレビシネマ変換(以下、テレシネ変換と称する)を行う。このテレシネ変換後の画像信号において、水平方向へ画像が移動する場合における各フィールドと画像位置の関係を図20に示す。ここで横軸は画像の水平方向における位置、縦軸は時間を示している。図20(a)に示す倍速変換前の画像信号において、フィールドf1、f2は、同一のコマを構成するため、同じ位置に画像が表示される。この画像は、フィールドf3に移行すると水平方向(右方向)へ移動する。フィールドf4は、フィールドf3と同一のコマを構成するため、フィールドf3と同一の位置に表示される。
【0014】
この図20(a)に示すテレシネ変換後の画像信号をフィールド周波数倍速方式により倍速変換すると、図20(b)に示すように、同一のコマを構成するフィールドf1、f2´、f1´、f2で、同一位置に同一の画像が表示される。同様に、同一のコマを構成するフィールドf3、f4´、f3´、f4で同一位置に同一の画像が表示される。
【0015】
また、倍速変換前のテレビジョン信号(以下、TV信号という)において、水平方向へ画像が移動する場合における各フィールドと画像位置の関係を図21(a)に示す。この図21(a)において、フィールドf1、f2、f3・・・は、それぞれ独立したコマを形成するため、別の位置に画像が表示される。この画像は、フィールドf1から、f2、f3・・・と移行する毎に、水平方向(右方向)へ移動する。
【0016】
この図21(a)に示すテレビ信号の画像信号をフィールド周波数倍速方式により倍速変換すると、図21(b)に示すように、同一のコマを構成するフィールドf1、f2´において、同一位置に同一の画像が表示される。同様に、同一のコマを構成するフィールドf1´、f2において、同一位置に同一の画像が表示される。
【0017】
ところで、出力画像信号は、1/100秒の周期で規則的に各フィールドを構成しているため、画像の動作する時間帯が画像の静止する時間帯と比較して短く、実際にCRTを介して番組を視聴すると画像の動きが不連続に見えるという問題があった。このため従来では、かかる動きの不連続性を解消するため、例えばブロックマッチング法に基づき、画面を所定の画素からなるブロックに分割し、各ブロック単位で相似度を評価することにより動きベクトルを求め、当該求めた動きベクトルに応じて各ブロック毎に画素位置をシフトさせて動き補正していた。
【0018】
ちなみにこのブロックマッチング法は、図22に示すように、基準フィールドを複数の基準ブロック101に分割し、基準フィールド80における基準ブロック101と最も高い相似度を示すブロックを、参照フィールド90における探索範囲104内を移動する探索ブロック103から検出する。そして当該検出された探索ブロック103と基準ブロック101間の位置のずれ(移動の方向と大きさ)を動きベクトルとする。
【0019】
上述の相似度の判定は、先ず探索ブロック103の各画素値について、基準ブロック101の対応する画素値との差分をとり、その差によって示される評価値、例えば差分絶対値和を求める。次に、上述の判定操作を全ての探索ブロック103について行い、それぞれ求めた評価値和、すなわち各差分絶対値和から最小のものを求める。この最小の差分絶対値和を与える探索ブロック103を、基準ブロック101と最も高い相似度を示すブロックとし、かかるブロックの原点の画素63と、基準ブロック101の原点の画素との間で特定することができるベクトルを動きベクトルとする。
【0020】
【発明が解決しようとする課題】
しかしながら、この従来のブロックマッチング法による動き補正では、例えば水平方向へ画像が移動しながら画素値が変化するような、様々な画像のバリエーションにおいて、画像の動きの不連続性を効率よく解消することができないという問題点があった。
【0021】
また、従来のブロックマッチング法では、画面全体で表現される本来の画像の動きに関係なく、単にブロック同士の誤差の総和の最小値を優先させて動きベクトルを検出するため、動きベクトルのばらつきによる変換画像の劣化が問題となっていた。
【0022】
また、上記従来のブロックマッチング法では、画像の動きが速いために求められる真の動きベクトル111が探索範囲104外に存在し得る場合においても、探索範囲104内において各ブロック101,103間の誤差の総和を最優先するため、本来の動きと異なる不規則な動きベクトルが検出されるという問題点もあった。
【0023】
更に、上記従来のブロックマッチング法に基づいて検出される動きベクトルはバリエーションに富むため、当該検出された動きベクトルに応じて各ブロック毎に画素位置をシフトさせて合成した画像には、画素が書き込まれないアンカバー領域が生じる場合がある。このアンカバー領域が生じると、図23に示すように孤立点が所々に生成するために画質の劣化が著しくなり、また領域単位での処理破綻が生じて動作環境に悪影響を及ぼしてしまう。
【0024】
そこで、本発明は上述した問題点に鑑みて案出されたものであり、その目的とするところは、倍速変換することにより生成された画像信号において、特に様々な画像のバリエーションにおいても、面フリッカ妨害を抑えつつ、画像の動きをスムーズにすることにより相乗的に画質の向上を図ることにある。
【0025】
また他の目的は、本来の画像の動きに適合した動きベクトルを求めることにより、変換画像の劣化を防止することにある。
【0027】
更に他の目的は、検出された動きベクトルに応じて各ブロック毎に画素位置をシフトさせて画像を合成した結果生じるアンカバー領域に対して、最適な画素値を示す画素を埋めることにより、画質の劣化を防ぎ、ひいては領域単位での処理破綻を改善することにある。
【0028】
【課題を解決するための手段】
本発明に係る動き補正回路は、上述の課題を解決するため、テレシネ変換された画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、基準フィールドから2フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行い、又は、テレビジョン信号を倍速変換することにより生成された1コマが2フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、該基準フィールドから1フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行う動き補正回路において、上記基準フィールドの基準画素を中心とした基準ブロックについて上記参照フィールドに対する動きベクトルを検出する動きベクトル検出手段と、上記基準ブロックにおいて検出した動きベクトルを当該基準ブロックを構成する画素毎に割り当てるベクトル割当手段と、上記ベクトル割当手段により割り当てられた動きベクトルの示す画素が重複する場合にいずれか一の動きベクトルを選択する選択手段と、上記補正フィールド上において動きベクトルの割り当てられた画素の画素値を上記補正フィールド毎に割り当てた重みに応じて当該動きベクトルのベクトル量の範囲内でベクトル方向へシフトさせた位置の画素値とする画像制御手段と、上記補正フィールド上で画素値が存在しない情報不在領域に対して画素値を補間する画素補間手段とを備えることを特徴とする。
【0029】
また、本発明に係る動き補正方法は、上述した課題を解決するため、テレシネ変換された画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと上記基準フィールドから2フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき動き補正を行う画素の位置する補正フィールド上において動き補正を行い、又は、テレビジョン信号を倍速変換することにより生成された1コマが2フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、該基準フィールドから1フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行う動き補正方法において、上記基準フィールドの基準画素を中心とした基準ブロックについて上記参照フィールドに対する動きベクトルを検出し、上記基準ブロックにおいて検出した動きベクトルを当該基準ブロックを構成する画素毎に割り当て、上記割り当てられた動きベクトルの示す画素が重複する場合にいずれか一の動きベクトルを選択し、上記補正フィールド上において動きベクトルの割り当てられた画素の画素値を上記補正フィールド毎に割り当てた重みに応じて当該動きベクトルのベクトル量の範囲内でベクトル方向へシフトさせた位置の画素値とし、また画素値が存在しない情報不在領域に対して画素値を補間することを特徴とする。
【0030】
この動き補正回路及び方法は、基準画素を中心とした基準ブロックについて検出した動きベクトルを当該基準ブロックを構成する画素毎に割り当てる。そして、割り当てられた動きベクトルの示す画素が重複する場合にいずれか一の動きベクトルを選択した上で、動きベクトルの割り当てられた画素の画素値を、当該動きベクトルのベクトル量の範囲内でベクトル方向へシフトさせた位置へ書き込み、また画素値をシフトさせた結果、画素値が存在しない情報不在領域に対して画素値を補間する。
【0031】
【発明の実施の形態】
以下、本発明を適用した画像信号処理装置及び方法について図面を参照して詳細に説明する。
【0032】
図1は、本発明の第1の実施の形態における動き補正回路1のブロック構成図である。動き補正回路1は、例えばPAL(Phase Alternation by Line)方式によるテレビジョン受像機に内蔵され、テレシネ変換した画像信号やテレビジョン信号(以下、TV信号という)が入力される。またこの動き補正回路1は、図1に示すように、第1の画像メモリ11と、第2の画像メモリ12と、シーケンス検出部13と、データ選択部14と、動きベクトル検出部15と、画像シフト部16を備えている。
【0033】
第1の画像メモリ11は、テレシネ変換した画像を倍速変換することにより生成された1コマが4フィールドで構成された、例えば100フィールド/秒のインタレース画像データが順次供給される。また、この第1の画像メモリ11は、TV信号を倍速変換することにより生成された1コマが2フィールドで構成された、例えば100フィールド/秒のインタレース画像信号が順次供給される。
【0034】
第1の画像メモリ11は、供給された画像データを、各フィールド単位で、1フレーム分格納する。すなわち、第1の画像メモリ11から出力される画像データは、この第1の画像メモリ11に供給される画像信号より1フレーム後になる。
【0035】
第2の画像メモリ12は、第1の画像メモリ11と同様の内部構成を有し、第1の画像メモリ11から供給された画像データを、各フィールド単位で、1フレーム分格納する。すなわち、第2の画像メモリ12から出力される画像データは、この第2の画像メモリ12に供給される画像データより1フレーム後になり、第1の画像メモリ11に供給される画像データより2フレーム後になる。この第2の画像メモリ12に格納された画像データD1は、動きベクトル検出部15及び画像シフト部16に供給される。
【0036】
シーケンス検出部13は、第1の画像メモリ11に供給される画像データと、第1の画像メモリ11から出力される画像データを検出し、各画素毎に画像信号レベルを比較し、両者間で差分値を演算する。すなわち、このシーケンス検出部13は、画面上の同一箇所における画素の画像信号レベルを、1フレーム間隔で比較する。シーケンス検出部13は、画像信号レベルの差分値の演算結果を画像シフト部15へ送信する。シーケンス検出部13は、上述の如く各フィールドの特定に加え、テレシネ変換された信号かTV信号かを判別し、当該判別結果を移動量情報として画像シフト部16等へ送信する。
【0037】
データ選択部14は、第1の画像メモリ11に供給される画像データと、第1の画像メモリ11から出力される画像データが入力される。このデータ選択部14は、シーケンス検出部13から受信した判別結果に基づき、供給される画像データのうち一方を選択する。すなわち、シーケンス検出部13によりテレシネ変換された信号であると判別された場合には、第1の画像メモリ11に供給される画像データを選択する。またシーケンス検出部13によりTV信号であると判別された場合には、第1の画像メモリ11から出力される画像データを選択する。データ選択部14により選択された画像データを以下、画像データD2と称する。データ選択部14は、選択した画像データD2を動きベクトル検出部15へ出力する。
【0038】
なお、データ選択部14として、第1の画像メモリ11から出力される画像データと、第2の画像メモリ12から出力される画像データのどちらか一方を選択する接続形態にも適用可能である。
【0039】
動きベクトル検出部15は、画像データD1と画像データD2とを検出し、例えばブロックマッチング法に基づき、動きベクトルを検出する。この動きベクトル検出部15は、双方向から動きベクトルをサーチする場合のみならず、単方向から動きベクトルをサーチすることも可能である。これにより、ハードコストを削減することも可能である。
【0040】
またこの動きベクトル検出部15は、検出した動きベクトルの誤差情報を含むフラグF1を算出する。すなわち、動きベクトル検出部15は、画像データD1と画像データD2との間で動きベクトルを検出することにより、1フレーム又は2フレーム離れた画像信号間の動きベクトルを特定することができる。またこの動きベクトル検出部15は、動きベクトルを検出するフィールド間隔をシーケンス検出部13から受信した判別結果に基づき、制御することも可能である。
【0041】
画像シフト部16は、画像信号レベルの比較結果を含む移動量情報を、シーケンス検出部13から受信する。また、画像シフト部16は、動きベクトル検出部15が検出した動きベクトルを受信する。更に画像シフト部16は、第2の画像メモリ12から画像データD1が供給され、またデータ選択部14から画像データD2が供給される。この画像シフト部16は、供給された画像信号における各画素位置を、受信した上記動きベクトルのベクトル量の範囲内で、かつベクトル方向へシフトさせる。この画像シフト部16の内部構成例については、後に詳細する。
【0042】
なお、動き補正回路1には、画像信号のフィールド周波数を倍速変換するフィールド倍速変換回路3が集積される場合もある。フィールド倍速変換回路3は、解像度を向上させることにより、面フリッカ妨害を防止すべく集積されるものであり、例えばPAL方式において、補間等の処理を行うことにより、フィールド周波数が50Hzの画像データを2倍の100Hzの画像データに変換する。
【0043】
フィールド周波数変換回路3は、図1に示すように、テレビジョン受像機に接続された入力端子31と、倍速変換部32と、フレームメモリ33とを備える。
【0044】
倍速変換部32は、テレビジョン受像機から入力端子31を介して入力された、テレシネ変換後の画像データ、またはテレビジョン信号を、フレームメモリ33へ書き込む。またこの倍速変換部32は、フレームメモリ33へ書き込んだ画像データを、書込み時の2倍の速度で読み出す。これにより、例えば、PAL方式の50フィールド/秒の画像信号の周波数を2倍に変換し、100フィールド/秒の画像データを生成することができる。倍速変換部32は、この倍速変換した画像データを動き補正回路1へ供給する。
【0045】
次に、動きベクトル検出部15の内部構成例について図2を用いて詳細に説明する。動きベクトル検出部15は、ブロックマッチング部151と、範囲外検出部152と、再割り当て部153とを備える。
【0046】
ブロックマッチング部151は、入力される画像データD1と画像データD2を、所定の画素からなるブロックに分割し、各ブロック単位で相似度を評価することにより動きベクトルを求める。
【0047】
範囲外検出部152は、ブロックマッチング法により求められた探索範囲外の動きベクトルを、実際の画像の動きに適合するように修正する。
【0048】
再割り当て部153は、ブロック単位で求められた動きベクトルを画素単位の動きベクトルとして分離する。換言すれば、ブロック単位で求めた動きベクトルを、ブロックを構成する画素毎に割り当てる。ちなみに、再割り当て部153は、ブロック内の境界判定、画像エッジの検出、周辺ブロックとの相関判定、ブロック内における領域分割等のステップを経て、周辺ブロックに照らし合わせて最適なベクトル値を選択し、各画素毎に割り当てるものである。
【0049】
次に画像シフト部16の内部構成例について説明をする。画像シフト部16は、図3に示すように、シフトバッファ読出制御部161と、シフトバッファ書込制御部162と、シフトバッファ163と、データバッファ読出制御部164と、第1のバッファ165と、第2のバッファ166と、データ演算部167と、アンカバー処理部168とを備える。
【0050】
シフトバッファ読出制御部161は、動きベクトル検出部15から動きベクトルが送信され、シーケンス検出部13から移動量情報が送信される。シフトバッファ読出制御部161は、この動きベクトルと移動量情報及び内蔵されたアドレス計算用カウンタに基づき、シフトバッファ読出制御信号RS1を生成する。このシフトバッファ読出制御信号RS1は、シーケンシャルにデータを読み出すためのアドレス信号と、イネーブル信号から構成される。例えば、シフトバッファ163がフレームメモリ等で実現される場合において、シフトバッファ読出制御部161は、X座標、Y座標の各アドレス信号を絶対座標として計算する。一方、シフトバッファ163がラインメモリ等の必要最小限のメモリで実現される場合において、シフトバッファ読出制御部161は、X座標、Y座標の各アドレス信号を相対座標として計算する。
【0051】
ここで内蔵されたアドレス計算用カウンタ値においてX座標、Y座標がそれぞれ(CX1、CY1)であり、また供給された動きベクトルにおいて、X座標、Y座標がそれぞれ(VX、VY)であるときに、シフトバッファ読出制御信号RS1のアドレスの番号(SX、SY)は、以下の式で表される。
SX=CX1+(VX×α) (1.1)
SY=CY1+(VY×α) (1.2)
ここでαは移動量情報であり、0以上かつ1以下の数で表現される。ここで、コマの最初のフィールドを第1のフィールド、以後続くフィールドをそれぞれ第2のフィールド、第3のフィールド、第4のフィールドとしたとき、上述のαは、第1のフィールドにおいて最小とし、その後フィールドが続く毎に順次増大させても良い。またαは、テレシネ変換された信号が入力された場合に、第1のフィールドから第4のフィールドまでそれぞれ、0,1/4,2/4,3/4と、またTV信号が入力された場合にも、第1のフィールドから第2のフィールドまで、0,1/2と、線形に増加させていくことも可能である。
【0052】
これにより、シフト量を時間に対して線形に増加させることが可能となり、画像の動きを更にスムーズにすることができるため、倍速変換した画像信号特有の動きの不連続感を解消することができ、また倍速変換により面フリッカ妨害を抑制した画像の動きを更にスムーズにすることができるため相乗的に画質を向上させることが可能となる。
【0053】
シフトバッファ読出制御部161は、生成したシフトバッファ読出制御信号RS1をシフトバッファ書込制御部162及びシフトバッファ163へ供給する。
【0054】
シフトバッファ書込制御部162は、動きベクトル検出部15からフラグF1が供給され、またシフトバッファ163からフラグF´が供給され、シフトバッファ読出制御部161から、シフトバッファ読出制御信号RS1が供給される。このシフトバッファ書込制御部162は、フラグF1とフラグF´の大小に基づき、書き込み時の優先順位を判定する。さらにこのシフトバッファ書込制御部162は、供給されるシフトバッファ読出制御信号RS1に基づき、書き込みアドレスを求め、当該書き込みアドレスと上述の通り判定した優先順位を、シフトバッファ書込制御信号RS2として、シフトバッファ163へ供給する。
【0055】
シフトバッファ163は、動きベクトル用バッファとフラグ用バッファから構成される。動きベクトル用バッファは、動きベクトルを蓄積・供給するためのバッファであり、フラグ用バッファは、フラグを蓄積・供給するためのバッファである。これらのバッファは、同一の制御信号に基づき、書き込みや読み出しが行われる。ちなみに、このシフトバッファ163は、動きベクトルとフラグのみ格納できれば足りるため、バッファ容量の削減を期待することができる。
【0056】
また、シフトバッファ163は、1フレーム分のデータを蓄積するフレームメモリであっても良いし、動きベクトルの取りうる範囲に従ったラインメモリ等、必要最小限のメモリで構成しても良い。
【0057】
シフトバッファ163は、まずフラグ用バッファの初期化を行う。フラグ用バッファに書き込まれるフラグには、データが書き込まれたか否かを示すマーク情報をも含む。マーク情報は、”NM”と”OK”の2種類で表され、”NM”は、初期化時にデータの書き込みが行われていないことを示し、”OK”は、データが既に書き込まれていることを示す。またシフトバッファ163は、シフトバッファ読出制御信号RS1のイネーブルが有効である場合に、アドレス対応させてシフトバッファ書込制御部162へフラグF´を送信する。また、シフトバッファ163は、シフトバッファ書込制御信号RS2のイネーブルが有効な場合に、アドレス値に従って、動きベクトル、フラグF1を、それぞれ動きベクトル用バッファ、フラグ用バッファに書き込む。更に、このシフトバッファ163は、格納した動きベクトルを番号順に整理し(以下、この番号順に整理した動きベクトルを、移動済動きベクトルという)、また処理フラグF2を順次読み出し、それぞれをデータバッファ制御部161、データ演算部167へ供給する。
【0058】
データバッファ読出制御部164は、シフトバッファ163から移動済動きベクトルが供給され、シーケンス検出部13から移動量情報が送信される。データバッファ読出制御部164は、この入力された動きベクトルに基づき、バッファ制御信号S11及びバッファ制御信号S12を演算する。これらの各バッファ制御信号S11,S12は、シーケンシャルにデータを読み出すためのアドレス信号と、イネーブル信号から構成される。例えば、第1のバッファ165、及び第2のバッファ166がフレームメモリ等で実現される場合において、データバッファ読出し制御部161は、X座標、Y座標の各アドレス信号を絶対座標として計算する。一方、第1のバッファ165、及び第2のバッファ166がラインメモリ等の必要最小限のメモリで実現される場合において、データバッファ読出制御部161は、X座標、Y座標の各アドレス信号を相対座標として計算する。
【0059】
データバッファ読出制御部164は、内蔵されたアドレス計算用カウンタの値と動きベクトルに基づいてバッファ制御信号S11を生成する。またデータバッファ読出制御部164は、バッファ制御信号S11と動きベクトルに基づいてバッファ制御信号S12を生成する。
【0060】
例えばTV信号が入力された場合に、バッファ制御信号S11のアドレスにおいて、X座標、Y座標がそれぞれ(AX1,AY1)であり、またバッファ制御信号S12のアドレスにおいて、X座標、Y座標がそれぞれ(AX2,AY2)であり、動きベクトルが(VX,VY)であり、内部のアドレス計算用カウンタ値を(CX´,CY´)とするとき、バッファ制御信号S11のアドレスは、以下の式で表される。
AX1=CX´−INT(VX/2) (2.1)
AY1=CY´−INT(VY/2) (2.2)
ここで関数INTは、小数点以下切り捨てを意味する。
【0061】
また、バッファ制御信号S12のアドレス(AX2,AY2)は以下の式で表される。
AX2=AX1+VX (2.3)
AY2=AY1+VY (2.4)
データバッファ読出制御部164は、これらの計算したアドレスを含むバッファ制御信号S11を第1のバッファ165に供給する。またデータバッファ読出制御部164は、同様に計算したアドレスを含むバッファ制御信号S12を第2のバッファ166に供給する。
【0062】
第1のバッファ165は、第2の画像メモリ12から送信された画像データD1を順次蓄積する。また第1のバッファ165は、供給されたバッファ制御信号S11に応じて蓄積した画像データD1を読み出す。すなわちこの第1のバッファ165は、供給されたバッファ制御信号S11のイネーブルが有効な時に、当該バッファ制御信号S11に含まれるアドレスに従って、第1のバッファ165に蓄積した画像データD1を読み出す。この読み出された画像データD1を以下、シフトデータSD1と称する。第1のバッファ165は、シフトデータSD1をデータ演算部167へ送信する。
【0063】
この第1のバッファ165は、1フレーム分のデータを蓄積するフレームメモリであっても良いし、また動きベクトルの範囲に基づいたラインメモリ等、必要最小限のメモリで構成しても良い。更にこの第1のバッファでは、データの読出しをシーケンシャルに行うため、FIF0メモリ等で実現しても良い。
【0064】
第2のバッファ166は、データ選択部14から送信された画像データD2を順次蓄積する。また第2のバッファ166は、供給されたバッファ制御信号S12に応じて、蓄積した画像データD2を読み出す。すなわち、この第2のバッファ166は、供給されたバッファ制御信号S12のイネーブルが有効な時に、当該バッファ制御信号S12に含まれるアドレスに従って、第2のバッファ166に蓄積した画像データD2を読み出す。この読み出された画像データD2を、以下シフトデータSD2と称する。第2のバッファ166は、シフトデータSD2をデータ演算部167へ送信する。
【0065】
この第2のバッファ166は、1フレーム分のデータを蓄積するフレームメモリであっても良いし、また動きベクトルの範囲に基づくラインメモリ等、必要最小限のメモリで構成しても良い。かかる場合には、ランダムに与えられるアドレスに対応してランダムにデータを読み出すシステムが構築される。
【0066】
データ演算部167は、供給されたシフトデータSD1と、シフトデータSD2に基づき、シフトバッファ163から供給される処理フラグF2を参照しながら補正データH1を算出する。なお、処理フラグF2が”OK”の場合はデータが確定できるため、データ演算部167において所定の演算を行う。一方、処理フラグF2が”NM”の場合はデータを確定することができず、他の領域から画素値が全く書き込まれない領域(以下アンカバー領域と称する)であるものと仮定して、アンカバー処理部167へ処理を委ねる。なお、この補正データH1は、シフトデータSD1やシフトデータSD2をそのまま出力することによって演算しても良いし、シフトデータSD1とシフトデータSD2の平均値としても良い。更には、動きベクトル等の値を用いて重み付け平均をとる形で移動データM1を算出しても良い。アンカバー処理部168は、受け取った補正データH1に基づき、アンカバー領域に対して画素値を補間する。
【0067】
次に本発明を適用した動き補正回路1の動作について説明する。図4は、フィールド倍速変換回路3における倍速変換前後の各フィールドと画素位置の関係を示している。ここで横軸は時間、縦軸は画素の垂直方向の位置を示す。
【0068】
倍速変換前の画像データは、PAL方式の50フィールド/秒のインタレース画像であり、図4(a)に示すように、2フィールドで1つのコマを形成する。
【0069】
一方、倍速変換後の画像データは、100フィールド/秒のインタレース画像であるため、図4(b)に示すように、フィールドt1とフィールドt2の間に、新規に2枚のフィールドt2´、t1´を生成する。そして、フィールドt2とフィールドt3の間では、フィールドの生成を行わず、フィールドt3とフィールドt4の間に、新規に2枚のフィールドt4´、t3´を生成する。すなわち、画像データは、4フィールドで1つのコマを形成することとなる。
【0070】
この新規に生成したフィールドt1´、t2´、・・・は、それぞれの画素値を、各画素の周囲3画素の中間値として、メディアン・フィルタ等を用いて求める場合もある。また、この新規に生成したフィールドt1´、t2´、・・・は、それぞれフィールドt1、t2、・・と同じ内容となる。これにより、4フィールドで1つのコマを形成することとなり、単位時間当たりの画面枚数を増やすことで解像度を向上させることができ、面フリッカ妨害を抑制することが可能となる。
【0071】
テレシネ変換後、上述の如き倍速変換された画像データにおいて、水平方向へ画像が移動する場合における各フィールドと画像位置の関係を図5に示す。この図5において、横軸は画像の水平方向における位置、縦軸は時間を表している。既にテレシネ変換された画像は、フィールドt1、t2´、t1´、t2の順で、一定の時間間隔で第1の画像メモリ11に供給され、これらの画像は同一の位置に表示される。またフィールドt3に移行すると画像が水平方向(右方向)に移り、フィールドt3、t4´、t3´、t4の順で第1の画像メモリに供給される。
【0072】
ここで、例えば、第1の画像メモリに供給されるフィールド(以下、参照フィールドと称する)が、フィールドt3である場合には、第2の画像メモリ12から出力される、参照フィールドより2フレーム前のフィールド(以下、2フレーム前フィールドと称する)は、フィールドt1となる。
【0073】
また、TV信号を倍速変換した画像データにおいて、水平方向へ画像が移動する場合における各フィールドと画像位置の関係を図6に示す。同一のコマを構成するフィールドt1、t2´において、同一位置に同一の画像が表示される。同様に、同一のコマを構成するフィールドt1´、t2において、同一位置に同一の画像が表示される。
【0074】
動きベクトル検出部15は、図5に示すテレシネ変換後、倍速変換された信号につき、参照フィールドと2フレーム前フィールド間で、各ブロック単位で動きベクトルを検出する。図5に示す例の場合には、動きベクトルのベクトル方向は、2フレーム前フィールドを基準として水平方向(右方向)となり、ベクトル量はAとなる。同様に、参照フィールドがt5の場合には、2フレーム前フィールドは、t3となり、動きベクトルのベクトル量はBとなる。この手順を繰り返すことにより、2フレーム前フィールドを基準とした動きベクトルのベクトル方向とベクトル量を順次求めることができる。動きベクトル検出部15は、この求めた動きベクトルのベクトル量とベクトル方向とを画像シフト部16へ順次送信する。
【0075】
また、動きベクトル検出部15は図6に示すTV信号を倍速変換された信号につき、参照フィールドと参照フィールドより1フレーム前のフィールド(以下、1フレーム前フィールドと称する)との間で、各ブロック単位で動きベクトルを検出する。図6に示す例の場合には、動きベクトルのベクトル方向は、1フレーム前フィールドを基準として水平方向(右方向)となり、参照フィールドがt1´のときにベクトル量はCとなる。同様に、参照フィールドがt4´の場合には、1フレーム前フィールドは、t1´となり、動きベクトルのベクトル量はDとなる。この手順を繰り返すことにより、1フレーム前フィールドを基準とした動きベクトルのベクトル方向とベクトル量を順次求めることができる。動きベクトル検出部74は、この求めた動きベクトルのベクトル量とベクトル方向とを画像シフト部15へ順次送信する。
【0076】
シーケンス検出部13は、参照フィールドと、第1の画像メモリ11から出力される1フレーム前フィールドを順次検出し、同一の画素位置における画素信号レベルの差分値をそれぞれ演算する。
【0077】
すなわち、図7に示すように、テレシネ変換画像の場合には、参照フィールドt1´と、1フレーム前フィールドt1は、同一のコマを構成するため、例えば画素位置a点における画素信号レベルの差分値は0になる。次に参照フィールドとしてフィールドt2が供給されると、1フレーム前フィールドはフィールドt2´となり、a点における画素信号レベルの差分値は同様に0となる。
【0078】
次に参照フィールドとしてフィールドt3が供給されると、1フレーム前フィールドはt1´となり、両者はそれぞれ別のコマを形成するため、a点における画素信号レベルの差分値は0以外(以下、”1”とする)となる。次に参照フィールドとしてt4´が供給されると1フレーム前フィールドはフィールドt2となり、a点における画素信号レベルの差分値は、同様に”1”となる。
【0079】
更に参照フィールドとしてt3´が供給されると、1フレーム前フィールドは、t3となり、両者は同一のコマを形成するため、a点における画素信号レベルの差分値は再び0になる。その後に供給される参照フィールドについても同様の傾向となり、演算した差分値は、4フィールド周期で「0011」の順で繰り返される。従って、このシーケンスを4フィールド単位で検出することにより、各フィールドの前後関係を特定することが可能となる。
【0080】
この傾向を1フレーム前フィールドにつき着目すると、差分値は、コマの最初のフィールドから「0011」の順になる。従って、最初に差分値0を算出したとき、検出した1フレーム前フィールドを、コマの最初のフィールド(第1のフィールド)として特定する。また差分値0が連続したときには、検出した1フレーム前フィールドを第2のフィールドとして特定する。また差分値として最初に1を算出した場合に、検出した1フレーム前フィールドを第3のフィールドとして特定する。また、差分値1が連続したときには、検出した1フレーム前フィールドを第4のフィールドとして特定する。
【0081】
なお、TV信号が入力された場合においても、各フィールドが第1のフィールド又は第2のフィールドのいずれに該当するか判別する必要あるが、フィールド倍速変換回路3により倍速変換する際に該当するフィールドは判明するため、上述のようなシーケンス検出の必要性は無い。すなわち、フィールド倍速変換回路3からTV信号が入力される際には、第1のフィールドと、第2のフィールドが特定されていることになる。
【0082】
次に動きベクトル検出部15におけるブロックマッチング部151の動作例について詳細に説明する。
【0083】
ブロックマッチング部151は、図8に示すように画像データD1に相当する基準フィールド30を複数の基準ブロック51に分割し、当該画像データD1(基準フィールド30)における基準ブロック51と最も高い相似度を示すブロックを、画像データD2(参照フィールド40)における探索範囲54内を移動する探索ブロック53から検出する。そして当該検出された探索ブロック53と基準ブロック51間の位置のずれ(移動の方向と大きさ)を動きベクトルとする。
【0084】
上述の相似度の判定は、先ず探索ブロック53の各画素値について、基準ブロック51の対応する画素値との差分をとり、その差によって示される評価値、例えば差分絶対値和を求める。次に、上述の判定操作を全ての探索ブロック53について行い、それぞれ求めた評価値和、すなわち各差分絶対値和から最小のものを求める。この最小の差分絶対値和を与える探索ブロック53を、基準ブロック51と最も高い相似度を示すブロックとし、かかるブロックの原点の画素63と、基準ブロック51の原点の画素との間で特定することができるベクトルを動きベクトルとする。
【0085】
なお、このブロックマッチング部151は、上述したブロックマッチング法に基づく動きベクトルの検出に加えて以下に示す検出方法を適用することにより、本来の画像の動きに適合した動きベクトルを検出しても良い。
【0086】
先ず、第1の検出方法について説明をする。この第1の検出方法では、上述のブロックマッチング法を利用した動き補正に加えて、更に以下のコンセプトから、動きベクトルの検出を行う。
【0087】
図9は、探索範囲54内に割り当てられた全探索ブロック53について求めた差分絶対値和の分布傾向の一例を示している。この図9より、差分絶対値和の高い領域は、基準ブロック51と探索ブロック53との画素値が著しく異なる領域である。一方、凹部を形成している差分絶対値の低い領域は、基準ブロック51と探索ブロック53との画素値が近似する領域である。すなわち、画素値が近似する領域に対して動きベクトルを特定することで、高画質化、高解像度化を実現することができる。
【0088】
探索範囲54は、垂直成分(ys)に対応した水平ラインが割り当てられている。各水平ラインは、それぞれ差分絶対値の極小値を有し、これらの極小値が上述した差分絶対値の低い領域を形成している。以下、これらの水平ライン毎の極小値をライン極小値と称する。
【0089】
また、通常のブロックマッチング同様に探索範囲54全体の中から特定した差分絶対値和の極小値を領域極小値と称する。すなわち各ライン極小値の中で最小となる差分絶対値和は、この領域極小値に相当する。図9において示されるように、黒丸で示した領域極小値は、他のライン極小値と比較しても大差無い。このため、この領域極小値を示す画素の代わりに、ライン極小値を示す画素について、基準ブロック51の原点の画素との間で動きベクトルを特定しても、画質や解像度にほとんど影響が及ばないことになる。
【0090】
このため第1の検出方法では、かかる性質に着目し、ライン極小値を有する画素の中から本来の画像の動きに最も適合する画素を選択し、基準ブロック51の原点の画素との間で動きベクトルを特定する。
【0091】
次に第2の検出方法について説明をする。この第2の検出方法では、図10に示すように、左側の画素(ブロック)から右側の画素(ブロック)へ順に動きベクトルを求めていくことに着目し、上述のブロックマッチング法に加えて、更に以下の動き補正を行なう。
【0092】
本来の画像の動きを識別するために、左隣の画素の動きベクトルを本来の画像の動きを識別するためのパラメータとして読み出す。そして、動きベクトルを求める画素35(基準ブロック51の原点の画素)の左隣に位置する画素34において求められている動きベクトルが正確なものであると仮定する。実際には、図11に示すように、画素35の動きベクトルの方向を、該左隣に位置する画素34の動きベクトルに合わせる。このようにして求められた画素35の動きベクトルも正確なものとなるため、さらに画素36の動きベクトルを求める際に、画素35を参酌することができ、動きベクトルの正確性を担保することが可能となる。
【0093】
またブロックマッチング部151は、上述したブロックマッチング法に基づいて検出した動きベクトルについて、更に図12に示す修正処理を施しても良い。
【0094】
この修正処理では、実際の画像の動きと無関係な動きベクトルが求められている画素(以下、この画素を基準画素と称する)を抽出し、当該基準画素に隣接する隣接画素の動きベクトルに適合させるものである。
【0095】
まず、ブロックマッチング部151は、ステップS11において各変数を初期化し、次にステップS12において、図13に示す隣接画素A〜Hの中から最初の隣接画素(例えば隣接画素A)における動きベクトルを抽出する。
【0096】
次に、ブロックマッチング部151は、ステップS13において、隣接画素における動きベクトルの水平成分の極性Vx_iを識別し、当該極性がプラスであればステップS14へ移行し、当該極性がマイナスであればステップS15へ移行する。
【0097】
ステップS14において、ブロックマッチング部151は、図示しないカウンタCnt_pに1を加算し、また抽出した動きベクトルの水平成分を、隣接画素の水平成分の和Vx_ave_pへ、また当該動きベクトルの垂直成分を垂直成分の和Vy_ave_pへ加算し、ステップS16へ移行する。
【0098】
ステップS15において、ブロックマッチング部151は、図示しないカウンタCnt_mに1を加算し、また抽出した動きベクトルの水平成分を、隣接画素の水平成分の和Vx_ave_mへ、当該動きベクトルの垂直成分を垂直成分の和Vy_ave_mへ加算し、ステップS16へ移行する。
【0099】
ステップS16において、ブロックマッチング部151は、ステップS13で識別した隣接画素が、抽出すべき隣接画素A〜Hのうち最後の隣接画素か否か識別する。最後の隣接画素であればステップS18へ移行する。最後の隣接画素でなければステップS17へ移行する。
【0100】
ステップS17において、ブロックマッチング部151は、次の隣接画素の動きベクトル(例えば隣接画素B)を抽出し、再度ステップS13へ移行する。このルーチンを組むことにより、図2に示す隣接画素A〜H全てについて動きベクトルの識別をすることが可能となる。また隣接画素A〜H全てについて動きベクトルを識別して、ステップS18に移行する際には、カウンタCnt_pにおいて、動きベクトルの水平成分の極性がプラスである隣接画素の個数が、またカウンタCnt_mにおいて、動きベクトルの水平成分の極性がマイナスである隣接画素の個数が示されることとなる。さらに、動きベクトルの水平成分の極性がプラスである隣接画素における水平成分の和Vx_ave_p、垂直成分の和Vy_ave_pが求められており、また動きベクトルの水平成分の極性がマイナスである隣接画素における水平成分の和Vx_ave_m、垂直成分の和Vy_ave_mが求められることになる。
【0101】
ちなみに、ステップS17において、隣接画素A〜Hの抽出する順は時計回り、或いは反時計回りであっても良いし、ランダムであっても良い。また抽出する隣接画素は、隣接画素A〜H全て抽出しなくても良く、例えば、上段の隣接画素A〜C、隣接画素B,D,E、又は、隣接画素A,B,C,D,Eであっても良い。また、画素単位でなく複数の画素からなるブロック単位で上述の処理を実行しても良い。
【0102】
ステップS18に移行すると、ブロックマッチング部151は、カウンタCnt_pとカウンタCnt_mの数値を比較する。その結果、カウンタCnt_pがより大きい場合には、隣接画素のうち、動きベクトル水平成分の極性がプラスである隣接画素の方が多いことが示され、ステップS19へ移行する。また、カウンタCnt_mがより大きい場合には、隣接画素のうち、動きベクトルの水平成分の極性がマイナスである隣接画素の方が多いことが示され、ステップS20へ移行する。
【0103】
ステップS19では、動きベクトルの水平成分の極性がプラスである隣接画素に基づき、基準画素における修正動きベクトルを求める。この修正動きベクトルの各成分(Vx_n、Vy_n)は、水平成分の極性がプラスである隣接画素の各成分の平均値とする。具体的には以下の式に基づき算出する。
Vx_n=Vx_ave_p/Cnt_p
Vy_n=Vy_ave_p/Cnt_p
【0104】
また、ステップS20では、動きベクトルの水平成分の極性がマイナスである隣接画素に基づき、基準画素における修正動きベクトルを求める。この修正動きベクトルの各成分(Vx_n、Vy_n)は、水平成分の極性がマイナスである隣接画素の各成分の平均値とする。具体的には以下の式に基づき算出する。
Vx_n=Vx_ave_m/Cnt_m
Vy_n=Vy_ave_m/Cnt_m
【0105】
すなわち、ブロックマッチング部151は、上述した図12に示す処理手順を踏むことにより、基準画素の動きベクトルを、隣接画素の動きベクトルのベクトル方向をカウントし、多数の隣接画素が示すベクトル方向に合うように修正することができる。換言すれば、基準画素の周囲に位置する隣接画素の動きベクトルの方向を多数決し、多い方の動きベクトルの方向を実際の画像の動きであるものと推定して、基準画素の動きベクトルのベクトル方向を修正することができる。これにより、動きベクトルのばらつきを解消することが可能となり、ひいては、変換画像の劣化を防止することができる。
【0106】
次に範囲外検出部152の動作例について説明をする。
【0107】
範囲外検出部152は、ブロックマッチング部151から送信された動きベクトルが例えば図14に示すように探索範囲54外に出る場合に補正処理を行なう。
【0108】
第1の補正処理は、例えば図14(a)に示すように、修正する動きベクトルのベクトル方向を、ブロックマッチング演算部11により求められた動きベクトルのベクトル方向に適合させる。すなわちブロックマッチング演算部11により求められた動きベクトルの方向を変えずに、ベクトル量のみ探索範囲54の輪郭部まで縮小させる。
【0109】
第2の補正処理は、例えば図14(b)に示すように、修正する動きベクトルの垂直成分を、ブロックマッチング演算部11により求められた動きベクトルの垂直成分に適合させ、或いは修正する動きベクトルの水平成分を、ブロックマッチング演算部11により求められた動きベクトルの水平成分に適合させつつ、ベクトル量を探索範囲54の輪郭まで縮小させる。
【0110】
第3の補正処理は、例えば図14(c)に示すように、ベクトル量が探索範囲54内に収まるような複数の動きベクトルの候補を予め設定し、ブロックマッチング演算部11により求められた動きベクトルのベクトル方向、ベクトル量に応じて(換言すれば差分絶対値和が最小となる画素位置に応じて)、当該動きベクトルの候補から一の動きベクトルを選択する。ちなみに設定する動きベクトルの候補は、図14(c)に示すように、探索範囲54の各辺につき、1つずつ設定しても良い。
【0111】
このように、本発明に係る動きベクトル検出装置1は、求められる真の動きベクトルが探索範囲54外に存在する場合においても、従来のブロックマッチング法の如く各ブロック51,53の差分絶対値和の最小値を最優先することなく、当該真の動きベクトルを容易に検出することができる。これにより、本発明は、本来の動きと異なる不規則な動きベクトルが求められることは無く、画質の劣化や、領域単位での処理破綻を防止することが可能となる。
【0112】
次に、画像シフト部16の具体的な動作例について説明をする。
【0113】
図15(a)は、1コマ2フィールドで構成されるTV信号が入力された場合における画像シフト部16の具体的な動作例を一次元のグラフで示している。この動作例は、TV信号が入力された場合のものであり、0から始まる番号は、画素位置を示すアドレスであり、また縦軸は画素値を表している。
【0114】
本発明では、この時間的に異なる画像データD1と画像データD2の中間に位置する第2のフィールド(動き補正フィールド)に対して、様々な画像のバリエーションにおいても動きがスムーズに見えるように補正データを書き込む。すなわち、この図15に示す例において、左側に凸部がある画像データD1から、中央になだらかな凸部がある画像データD2へ移り変わる際に、全体の動きがスムーズに見えるような画像を、上述の動き補正フィールドにおいて作成する。
【0115】
図16は、図15に示す画像シフト部16の具体的な動作例を、画素値で表示したものである。図16(a)は、画像シフト部16に入力される画像データD1と画像データD2を表したものであり、番号は、画素位置を示すアドレスである。各画素毎に輝度があることから、供給される画像データD1には、番号ごとに画素値が割り振られる。
【0116】
すなわち、図16(a)に示す動作例において、画像データD1は、番号0〜11のアドレスにおいて、順に100、100、200、・・・・と続く画素値で表される。
【0117】
画像データD1より後に位置する画像データD2は、番号0〜11のアドレスにおいて、順に100、100、100、・・・・と続く画素値で表される。
【0118】
図16(a)に示されている動きベクトルは、この画像データD1と、画像データD2間との間で、各画素毎の画像データD1を基準としたベクトル量を表したものである。例えば、画像データD1において番号1のアドレスにある画素値100の画素は、1フィールド後に位置する画像データD2においても番号1のアドレスに位置している。従って動きベクトルは0である。また、例えば画像データD1において番号2のアドレスにある画素値200の画素は、画像データD2において、番号4のアドレスに移動する。従って動きベクトルは4−2=2より、2となる。ちなみに図15に示す矢印は、この各画素毎の動きベクトルを示したものである。
【0119】
図16(a)に示すフラグF1は、画像データD1の検出画素と、画像データD2における当該検出画素との差分絶対値とした場合の例である。この図16(a)に示す例において、画像データD1において番号2のアドレスにある画素値200の画素は、画像データD2において番号4のアドレスに移動し、画素値は200と変わらないため、差分絶対値は0である。一方、画像データD1において番号7のアドレスにある画素値110の画素は、画像データD2において番号10のアドレスに移動し、画素値は100となるため、差分絶対値は10となる。
【0120】
図16(b)は、シフトバッファ読出制御信号RS1について示している。この図16(b)に示した例では、式(1.1)に基づき、アドレス計算カウンタから、0,1,2、3・・・と、0から1ずつプラスにシフトさせた値をCX1とし、また移動量情報αを1/2とした場合について示している。なお、アドレス計算カウンタの数値CX1は、画像データD1のアドレスを示す番号に対応させて出力している。
【0121】
このシフトバッファ制御信号RS1を生成する際において、例えば、アドレス計算カウンタの番号が”2”である場合には、図16(a)に基づき、番号2に対応する画素位置の動きベクトルは”2”であるので、式(1.1)に基づき、2+2×1/2=3より、シフトバッファ読出制御信号RS1の番号は”3”となる。同様にアドレス計算カウンタの番号が”3”の場合には、図16(a)に基づき、番号3に対応する動きベクトルは”2”であるので、式(1.1)に代入して、3+2×1/2=4より、シフトバッファ読出制御信号RS1の番号は”4”となる。
【0122】
すなわち、この生成されたシフトバッファ読出制御信号RS1の番号は、動き補正フィールドにおいて、補正データH1を書き込むアドレスの番号を示している。
【0123】
算出したシフトバッファ制御信号RS1のアドレスについて、シフトバッファ163への動きベクトルの書き込み状況を検知するべく、フラグF´を読み出す。このフラグF´は、シフトバッファ163にアクセスされたアドレスにおいて、動きベクトルが書き込まれていない場合には、”NM”が返される。一方、動きベクトルが既に書き込まれたアドレスに対しては、差分絶対値の値が返される。
【0124】
例えば図16(b)に示す例において、シフトバッファ読出制御信号RS1の番号0〜8のアドレスでは、シフトバッファ163からフラグF´を介して、データが書き込まれていない旨が表示される。また、番号9のアドレスにおいては、最初はデータが書き込まれていない旨の”NM”が、次回では差分絶対値が、フラグF´として返されている。すなわちシフトバッファ163の番号9のアドレスには、複数の動きベクトルが書き込まれることを意味している。これは図15において、画像データD2の番号9のアドレスには、画像データD1の番号6並びに番号9に基づく動きベクトルが集中していることからも示される。
【0125】
ここで、フラグF´が”NM”で返されたシフトバッファ163のアドレスには、当該アドレスの番号に応じて動きベクトルが順次書き込まれる。また、フラグF´が数値を持つ場合には、フラグF´と当該アドレスの番号に相当するフラグFとを比較し、数値が小さい方を有効とする。これにより、画像データD1から画像データD2へ移行するまでに誤差の少ない動きベクトルをシフトバッファ163へ書き込むことが可能となり、単一の画素位置に複数の動きベクトルがかかるような、様々なバリエーションの画像についても高精度に動き補正することが可能となる。
【0126】
シフトバッファ書込制御部162は、供給されるフラグF´に基づき、動きベクトルをシフトバッファ163上に書き込むためのアドレスを決定する。例えば、番号9において、フラグFは”10”であり、またフラグF´は”0”である。数値の小さいフラグを優先するため、この番号9では、当初に書き込まれた、番号6のアドレスに基づく動きベクトル”3”が、そのままシフトバッファ163に格納され続けることになる。
【0127】
またシフトバッファ書込制御部162は、アドレスに対応する番号と動きベクトルとを関連付けてシフトバッファ書込制御信号RS2とし、これをシフトバッファ163へ書き込む。書き込まれた後のシフトバッファ163には、図16(b)の下段に示すように、各番号のアドレスに対して動きベクトルが格納されることになる。
【0128】
シフトバッファ163に格納された動きベクトルを、アドレスの番号の順に再度整理した結果を図16(c)に示す。また処理フラグF2は、各アドレスにおけるマーク情報を示している。この処理フラグF2において”OK”が出力されている場合には、当該番号のアドレスにデータが書き込まれていることを示し、また”NM”が出力されている場合には、当該番号のアドレスにデータが書き込まれていないことを示している。ちなみに番号2のアドレスには、データが書き込まれていないため、処理フラグF2として”NM”が出力される。
【0129】
このシフトバッファ163から読み出された移動済動きベクトルは、データバッファ読出制御部164へ、処理フラグF2は、データ演算部167へ供給される。
【0130】
データバッファ読出制御部164は、供給された移動済動きベクトルに基づき、上述の式(2.1)〜(2.4)を利用してバッファ制御信号S11、S12を作り出す。例えば、アドレス計算カウンタの値を、シフトバッファ163のアドレスに対応する番号とした場合において、番号3のアドレスでは、図16(c)より、移動済動きベクトルは”2”であるので、バッファ制御信号S11は、式(2.1)より”2”となり、またバッファ制御信号S12は、式(2.3)より”4”となる。また、番号6のアドレスにおいても同様に、移動済動きベクトルは、”3”であるので、バッファ制御信号S11は、”5”となり、またバッファ制御信号S12は、”8”となる。
【0131】
以上の如く算出されたバッファ制御信号S11は、第1のバッファ165に供給され、バッファ制御信号S11の番号に対応するアドレスの画素値が、第1のバッファ165から読み出される。読み出された画素値は、図16(c)中段に示すように、シフトデータSD1としてアドレスに対応付けられ、データ演算部167等に供給されることとなる。
【0132】
同様にバッファ制御信号S12が第2のバッファ166に供給され、バッファ制御信号S12の番号に対応するアドレスの画素値が第2のバッファ166から読み出される。読み出された画素値は、図8(c)中段に示すようにシフトデータSD2としてアドレスに対応付けられ、データ演算部167等に供給されることとなる。
【0133】
図16(c)最下段は、補正データH1を、シフトデータSD1とシフトデータSD2の平均値とした場合について示している。データ演算部167は、送信される処理フラグF2として”OK”が出力されている番号について、対応するシフトデータSD1、SD2に基づき、補正データH1を算出し、また”NM”出力されている番号2のアドレスでは、隣接する番号1のアドレスの画素値をそのままホールドしている。但し、”NM”の部分については、アンカバー処理部168で再度演算が行われるため、ここではダミーデータとしてホールド値を代入する。
【0134】
この生成した補正データH1を、各番号のアドレス毎に動き補正フィールドへ書き込むことにより、図15(a)に示すような画像を作り出すことができる。
【0135】
すなわち、画像シフト部16は、例えば番号9のように動きベクトルが示す画素が重複する場合にいずれか一の動きベクトルを選択して、補正データH1を作成し、これを動き補正フィールド50へ書き込むことができる。これにより、本発明に係る動き補正回路1は、例えば画像が水平方向へ移動しながら、画素値が変化する場合においても、画像の動きの不連続性を効率よく解消することができる。
【0136】
次に、アンカバー処理部168の動作例について説明する。
【0137】
このアンカバー処理部168による画素の補間処理は、アンカバー領域周辺画素の書込処理、静止画像処理、背景処理の3種類に分類される。
【0138】
図17は、アンカバー領域周辺画素の書込処理を行なう場合について説明するための図である。このアンカバー領域内において、画素値を補間する補間画素位置110とし、アンカバー領域の水平方向に隣接する画素位置を、左から画素位置120、画素位置130とする。
【0139】
動きベクトル特定部11は、先ず補間画素位置110における動きベクトルを特定する。かかる動きベクトルは、例えば基準フィールド30と、参照フィールド40との間で算出した差分に基づいて特定する。
【0140】
次に画素選択部12は、特定した補間画素位置110における動きベクトルについて抽出した垂直成分に基づき、アンカバー領域の垂直方向、若しくは水平方向に隣接する画素を選択する。この画素の選択は、動きベクトルの垂直成分が+2,−2の場合には、垂直方向に隣接する画素111,112をそれぞれ選択し、また垂直成分が+1,0,−1のときには、水平方向に隣接する画素120,130を選択する。
【0141】
すなわち、補間画素位置110における動きベクトルの垂直成分が+2,−2の場合には、補間画素位置110周辺の画素において垂直成分への動きが水平成分の動きよりも顕著であることを示している。従って、補間画素位置110周辺の画素の画素値に適合させるためには、垂直方向に隣接する画素の画素値を書き込む方が好ましいことになる。また、シフト量は、スムーズな動きを実現する観点から、動きベクトルのベクトル量の1/2にすることが多い。このため、+2,−2を1/2倍すると+1,−1になるため、補間画素位置の垂直方向へ隣接する画素111,112の画素値を書き込むことにより、ベクトル量の観点からも、アンカバー領域周辺の画素の画素値と整合をとることができる。
【0142】
一方、補間画素位置110における動きベクトルの垂直成分が+1,0,−1の場合には、補間画素位置110周辺の画素において水平成分の動きが垂直成分の動きよりも顕著であることを示している。従って、補間画素位置110周辺の画素の画素値に整合させるためには、水平方向に隣接する画素120,130の画素値を書き込む方が好ましいことになる。
【0143】
次に、本発明を適用したアンカバー領域の処理方法において、静止画像処理を用いる場合について説明をする。
【0144】
この静止画像処理において、以下に説明する静止条件を満たすときに、情報書込部13は、基準フィールド30上の補間画素位置110における画素値を、そのまま動き補正フィールド50上の補間画素位置110へ書き込む。すなわち、基準フィールド上の画像と、1フレーム後の参照フィールド40上の画像が静止していれば、基準フィールド30の画像をそのまま動き補正フィールドに書き込めば足りるからである。
【0145】
静止条件Aは、基準フィールド30から切り出した補間画素位置110を原点とする基準ブロックと、上記参照フィールド40から切り出した補間画素位置110を原点とする参照ブロックとの間で演算した画素値が類似していること、換言すればこれらの画素値の差分絶対値が閾値以下であること、を条件とする。
【0146】
また静止条件Bは、上述した静止条件Aに加えて、さらにアンカバー領域の左隣の画素120における画素値と、基準フィールド30から切り出した補間画素位置110の画素値が類似していること、換言すればこれらの画素値の差分絶対値が閾値以下であること、を条件とする。
【0147】
更に静止条件Cは、上述した静止条件Aに加えて、アンカバー領域の左隣の画素120における画素値と、アンカバー領域の右隣の画素130における画素値が非類似であり(換言すれば、これらの画素値の差分絶対値が閾値以上であり)、かつ基準フィールド30上の補間画素位置110における画素値が、上記左隣の画素120における画素値と上記右隣の画素130における画素値との間にあることを条件とする。
【0148】
かかる静止条件A,B,Cは、全て基準フィールド30上の画像と、1フレーム後の参照フィールド40上の画像が静止状態に近い程、クリアできるものとなっている。ちなみに、内蔵したテレビジョン受像機のスペックに応じて、この静止条件A,B,Cを自由に選択することも可能である。
【0149】
次に、本発明を適用したアンカバー領域の処理方法において、背景処理を用いる場合について説明をする。
【0150】
この背景処理においては、動きベクトル特定部11により特定された動きベクトルの垂直成分を識別する。この動きベクトルの垂直成分が−1〜+1であり、かつアンカバー領域における左隣の画素120、又は右隣の画素130における動きベクトルの各成分が0である場合に、背景であるものと判別する。そして、参照フィールド40上の補間画素位置110における画素値を、そのまま動き補正フィールド50上の補間画素位置110へ書き込む背景処理を行なう。背景の画像であれば、参照フィールド40上の画像をそのまま動き補正フィールド50に書き込めば足りるからである。
【0151】
なお、本発明はPAL方式によるテレビジョン受像機に対して適用される場合に限定されることはなく、例えば、NTSC(National TV System Committee)方式の60フィールド秒(30コマ/秒)のインタレース画像信号が入力されるテレビジョン受像機に対しても適用可能である。また、SECAM方式によるテレビジョン受像機に対しても適用可能である。
【0152】
また本発明は、例えば図3に示す画像シフト部16において、シフトバッファ読出制御部161を除去し、またシフトバッファ読出制御信号RS1、フラグF1、フラグF´を省略し、優先順位を判定しない方式にも適用可能である。この画像シフト部16において、アドレスに書き込むデータが重複する場合には、時間的に後に計算されたデータが、既に書き込まれているデータ上に上書きされることになるが、フラグの読み出し時の制御が不必要になるため、回路を更に簡略化することができる。
【0153】
また本発明は、例えばテレビジョン受像機に接続する信号変換器等にも適用でき、また回路やハードウェア等で実現される場合のみならず、プロセッサ上でソフトウェアとしても実現可能である。
【0154】
更に本発明は、インターネットで伝送されるような画像信号をPCなどで表示する場合や、メディアや画像フォーマットを変換するケースにも応用することができることは勿論である。
【0155】
【発明の効果】
以上詳細に説明したように、本発明に係る動き補正回路及び方法は、テレシネ変換した画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力され、演算した画素信号レベルの差分値に基づいて第1のフィールドを特定し、特定した第1のフィールドから後へフィールドが移行するにつれてシフト量が順次増大するように、動きベクトルのベクトル方向へ検出画素の位置をシフトさせる。このため、本発明に係る動き補正回路及び方法は、テレシネ変換後、倍速変換した画像信号特有の動きの不連続感を解消することができ、倍速変換により面フリッカ妨害を抑制した画像の動きを更にスムーズにすることができ、相乗的に画質を向上させることが可能となる。
【0156】
また、本発明に係る動き補正回路及び方法は、時間的に異なる画像データ間において、画像の動きをスムーズにできる最適な補正データを動き補正フィールドに書き込むため、例えば画像が水平方向へ移動しながら、画素値が変化する場合においても、画像の動きの不連続性を効率よく解消することができる。またこの動き補正回路及び方法は、テレシネ変換した画像信号とTV信号とが双方とも入力される場合において、画像の様々なバリエーションに対応させて、動きの不連続性を効率よく解消することができる。これにより、フィルム信号とTV信号の双方が入力されるテレビジョン受像機に内蔵することができ、また既に販売されたテレビジョン受像機に対して新たに内蔵することにより容易にバージョンアップを図ることも可能となり、汎用性をより高めることも可能となる。
【0157】
また、本発明に係る動き補正回路及び方法は、実際の画像の動きに適合した動きベクトルを求めることにより、求める動きベクトルのばらつきを解消し、ひいては変換画像の劣化を防止することができる。
【0159】
更に、本発明に係る動き補正回路及び方法は、補間画素位置における動きベクトルの垂直成分に基づき、アンカバー領域の垂直方向、又は水平方向に隣接する画素を選択し、該選択された画素を補間画素位置へ書き込む。これにより、アンカバー領域に対して、最適な画素値を示す画素を埋めることができ、動き補正フィールド上において孤立点を無くすことができるため、変換画像の劣化を防ぐことができる。
【図面の簡単な説明】
【図1】本発明を適用した動き補正回路のブロック構成図である。
【図2】動きベクトル検出部の構成を示した図である。
【図3】画像シフト部のブロック構成を示した図である。
【図4】フィールド倍速変換回路における倍速変換前後の各フィールドと画素位置の関係を示した図である。
【図5】テレシネ変換された画像において、水平方向へ画像が移動する場合における各フィールドと画像位置の関係を示した図である。
【図6】TV信号の画像において、水平方向へ画像が移動する場合における各フィールドと画像位置の関係を示した図である。
【図7】シーケンスの検出方法について説明するための図である。
【図8】ブロックマッチング法について説明するための図である。
【図9】差分絶対値和の分布傾向に照らし合わせて動きベクトルを検出する場合について説明するための図である。
【図10】左側の画素から右側の画素へ順に動きベクトルを求めていく場合について説明するための図である。
【図11】隣接画素の動きベクトルに応じて、動きベクトルを求める場合について説明するための図である。
【図12】動きベクトルの修正処理の手順を示したフローチャートである。
【図13】動きベクトルの修正処理において、動きベクトルを抽出する隣接画素を示した図である。
【図14】ブロックマッチング部から送信された動きベクトルが探索範囲外に出る場合について行なう補正処理について説明するための図である。
【図15】画像シフト部の動作処理過程を1次元で表示した図である。
【図16】画像シフト部の具体的な動作例を、画素値で表示した図である。
【図17】アンカバー領域に対して画素を補間する場合について説明するための図である。
【図18】フィールド周波数倍速方式を適用したフィールド倍速変換回路のブロック構成図である。
【図19】倍速変換前後の各フィールドと画素位置の関係を示した図である。
【図20】水平方向へ画像が移動する場合における各フィールドと画像位置の関係を示した図である。
【図21】TV信号が入力される場合において、水平方向へ画像が移動するときの各フィールドと画像位置の関係を示した図である。
【図22】ブロック単位で動きベクトルを検出する例について説明するための図である。
【図23】アンカバー領域が生じた場合について示した図である。
【符号の説明】
1 画像信号処理装置、2 CRT、3 フィールド倍速変換回路、11 第1の画像メモリ、12 第2の画像メモリ、13 シーケンス検出部、14 データ選択部、15 動きベクトル検出部、16 画像シフト部、31 入力端子、32 倍速変換部、33 フレームメモリ、151 ブロックマッチング部、152 範囲外検出部、153 再割り当て部、161 シフトバッファ読出制御部、162 シフトバッファ書込制御部、163 シフトバッファ、164 データバッファ読出制御部、165 第1のバッファ、166 第2のバッファ、167 データ演算部、168 アンカバー処理部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion correction circuit and method for shifting the position of each detection pixel of an image signal generated by double speed conversion.
[0002]
[Prior art]
Conventionally, as a scanning system for television broadcasting, an interlace scanning system that scans every other horizontal scanning line is most widely adopted. In this interlace scanning method, one frame image is formed by a field image composed of odd-numbered scanning lines and a field image composed of even-numbered scanning lines, and surface flicker interference appears to flicker the entire screen. To prevent deterioration of screen quality.
[0003]
In addition, this interlace scanning method is adopted as a television standard method in various countries around the world. For example, in the PAL (Phase Alternation by Line) method in European television broadcasting, the field frequency is 50 [Hz] (frame The image is composed of 25 frames / second and the field image is composed of 50 fields / second).
[0004]
In particular, in this PAL system, a field frequency double speed system that converts the field frequency from 50 Hz to 100 Hz image signal by performing processing such as interpolation to further suppress surface flicker interference. Has been adopted conventionally.
[0005]
FIG. 18 shows a block configuration example of the field double speed conversion circuit 5 to which this field frequency double speed system is applied. The field double speed conversion circuit 5 is integrated in a television receiver 6 including an input terminal 61, a horizontal / vertical deflection circuit 62, and a CRT 63. The field double speed conversion circuit 5 includes a double speed conversion unit 51 and a frame memory 52.
[0006]
The double speed conversion unit 51 writes, for example, an image signal of 50 fields / second in the PAL format input from the input terminal 61 to the frame memory 52. The double speed conversion unit 51 reads the image signal written to the frame memory 52 at a speed twice as high as that at the time of writing. As a result, the frequency of the image signal of 50 fields / second can be doubled to generate an image signal of 100 fields / second.
[0007]
The double speed conversion unit 51 outputs the double-speed converted image signal to the CRT 63. The CRT 63 displays the input image signal on the screen. The horizontal and vertical deflection of the image signal in the CRT 63 is controlled based on a horizontal / vertical sawtooth wave having a frequency twice that of the input image signal generated in the horizontal / vertical deflection circuit 62.
[0008]
FIG. 19 shows the relationship between each field and pixel position in each image signal before and after double speed conversion. Here, the horizontal axis indicates time, and the vertical axis indicates the vertical position of the pixel. Further, the image signal indicated by white circles in FIG. 19A is a 50 field / second interlaced image signal before double speed conversion, and the image signal indicated by black circles in FIG. This is a field / second interlaced image signal.
[0009]
In the image signal shown in FIG. 19A, the field f1 and the field f2 are signals generated from the same frame on the film, and the field f3 and the field f4 similarly constitute the same frame. Since these image signals are interlaced image signals, the pixel positions in the vertical direction differ between adjacent fields. For this reason, one field cannot be newly generated between each field while maintaining the interlaced property.
[0010]
Therefore, as shown in FIG. 19B, two fields f2 ′ and f1 ′ are newly generated between the field f1 and the field f2. Then, no field is generated between the field f2 and the field f3, and two fields f4 ′ and f3 ′ are newly generated between the field f3 and the field f4. That is, one frame is formed by four fields and two frames.
[0011]
In the newly generated fields f1 ′, f2 ′,..., Each pixel value may be obtained as a median value of three pixels around each pixel using a median filter or the like. The newly generated fields f1 ′, f2 ′,... Have the same contents as the fields f1, f2,.
[0012]
In other words, the field double speed conversion circuit 5 alternately arranges a part that newly generates two fields and a part that does not generate at all between the fields of the image signal before the double speed conversion, thereby reducing the number of screens per unit time. Thus, the above-described surface flicker interference can be suppressed.
[0013]
By the way, in order to view a movie film composed of still images of 24 frames / second on a normal television, television cinema conversion (hereinafter referred to as telecine conversion) is performed in order to obtain an interlaced television signal. FIG. 20 shows the relationship between each field and the image position when the image moves in the horizontal direction in the image signal after the telecine conversion. Here, the horizontal axis indicates the position in the horizontal direction of the image, and the vertical axis indicates time. In the image signal before double speed conversion shown in FIG. 20 (a), the fields f1 and f2 form the same frame, so that images are displayed at the same position. This image moves in the horizontal direction (right direction) when the field f3 is entered. The field f4 is displayed at the same position as the field f3 because it forms the same frame as the field f3.
[0014]
When the image signal after the telecine conversion shown in FIG. 20 (a) is subjected to double speed conversion by the field frequency double speed method, as shown in FIG. 20 (b), fields f1, f2 ′, f1 ′, f2 constituting the same frame. Thus, the same image is displayed at the same position. Similarly, the same image is displayed at the same position in the fields f3, f4 ′, f3 ′, and f4 constituting the same frame.
[0015]
FIG. 21 (a) shows the relationship between each field and the image position when an image moves in the horizontal direction in a television signal before double speed conversion (hereinafter referred to as a TV signal). In FIG. 21 (a), fields f1, f2, f3... Form independent frames, and thus images are displayed at different positions. This image moves in the horizontal direction (right direction) every time the field f1 shifts to f2, f3,.
[0016]
When the image signal of the television signal shown in FIG. 21 (a) is subjected to double speed conversion by the field frequency double speed method, as shown in FIG. 21 (b), the same in the same position in the fields f1 and f2 ′ constituting the same frame. Is displayed. Similarly, the same image is displayed at the same position in the fields f1 ′ and f2 constituting the same frame.
[0017]
By the way, since the output image signal regularly constitutes each field with a period of 1/100 second, the time zone in which the image operates is shorter than the time zone in which the image is stationary, and the output image signal actually passes through the CRT. When watching a program, there was a problem that the movement of the image appeared discontinuous. For this reason, conventionally, in order to eliminate such discontinuity of motion, for example, based on the block matching method, the screen is divided into blocks made up of predetermined pixels, and the motion vector is obtained by evaluating the similarity in units of each block. The pixel position is shifted for each block in accordance with the obtained motion vector to correct the motion.
[0018]
Incidentally, in this block matching method, as shown in FIG. 22, the reference field is divided into a plurality of reference blocks 101, and the block having the highest similarity with the reference block 101 in the reference field 80 is searched for in the search range 104 in the reference field 90. It detects from the search block 103 which moves inside. Then, a position shift (direction and magnitude of movement) between the detected search block 103 and the reference block 101 is used as a motion vector.
[0019]
In the determination of the similarity, first, for each pixel value of the search block 103, a difference from the corresponding pixel value of the reference block 101 is calculated, and an evaluation value indicated by the difference, for example, a sum of absolute differences is obtained. Next, the above-described determination operation is performed for all the search blocks 103, and the minimum value is obtained from the obtained evaluation value sum, that is, the sum of the absolute differences. The search block 103 that gives the minimum sum of absolute differences is a block that shows the highest similarity to the reference block 101, and is specified between the origin pixel 63 of the block and the origin pixel of the reference block 101. A vector that can be used as a motion vector.
[0020]
[Problems to be solved by the invention]
However, the motion correction by the conventional block matching method efficiently eliminates the discontinuity of the image motion in various image variations in which the pixel value changes while the image moves in the horizontal direction, for example. There was a problem that could not.
[0021]
In addition, in the conventional block matching method, a motion vector is detected simply by giving priority to the minimum value of the sum of errors between blocks regardless of the motion of the original image expressed on the entire screen. Deterioration of the converted image has been a problem.
[0022]
Further, in the above conventional block matching method, even when the true motion vector 111 required because the image motion is fast can exist outside the search range 104, the error between the blocks 101 and 103 within the search range 104. In order to give the highest priority to the sum of the two, there is a problem that an irregular motion vector different from the original motion is detected.
[0023]
Furthermore, since the motion vectors detected based on the conventional block matching method are rich in variations, pixels are written in an image synthesized by shifting the pixel position for each block in accordance with the detected motion vector. Uncovered areas may occur. When this uncovered area occurs, isolated points are generated in some places as shown in FIG. 23, so that the image quality deteriorates remarkably, and processing failure occurs in units of areas, which adversely affects the operating environment.
[0024]
Accordingly, the present invention has been devised in view of the above-described problems, and an object of the present invention is to provide surface flicker in an image signal generated by double speed conversion, particularly in various image variations. The purpose is to synergistically improve the image quality by smoothing the movement of the image while suppressing the interference.
[0025]
Another object is to prevent the conversion image from deteriorating by obtaining a motion vector adapted to the motion of the original image.
[0027]
Yet another object is to fill the uncovered area, which is the result of synthesizing the image by shifting the pixel position for each block according to the detected motion vector, by filling the pixel indicating the optimal pixel value with the image quality. This is to prevent the deterioration of the process and to improve the processing failure in each area.
[0028]
[Means for Solving the Problems]
In order to solve the above-described problem, the motion correction circuit according to the present invention is an image signal in which one frame generated by double-speed conversion of a telecine-converted image is composed of four fields. Issue A reference field in which a pixel for which a motion vector is input is located; The Is it a base field Et al 2 Based on the motion vector calculated between the reference field and the frame Do Motion correction is performed on the correction field where the pixel is located. Or an image signal composed of two fields for one frame generated by double-speed conversion of a television signal, and a reference field in which a pixel for which a motion vector is obtained is located, and one frame away from the reference field Based on the motion vector obtained from the reference field, motion correction is performed on the correction field where the pixel for which motion correction is performed is located. In the motion compensation circuit, motion vector detection means for detecting a motion vector for the reference field with respect to a reference block centered on a reference pixel of the reference field, and pixels constituting the reference block based on the motion vector detected in the reference block A vector allocating unit to be allocated every time, a selection unit to select any one of the motion vectors when pixels indicated by the motion vector allocated by the vector allocating unit overlap, and a motion vector allocated to the correction field Image control means for setting the pixel value of the pixel to a pixel value at a position shifted in the vector direction within the range of the vector amount of the motion vector according to the weight assigned to each correction field, and the pixel value on the correction field Pixels for non-existent information absence area Characterized in that it comprises a pixel interpolating means for interpolating.
[0029]
In addition, in order to solve the above-described problem, the motion correction method according to the present invention is an image signal in which one frame generated by double-speed conversion of a telecine-converted image is composed of four fields. Issue The reference field where the pixel for which the motion vector is input is located and the above reference field Et al 2 Motion correction is performed based on the motion vector obtained between the reference field and the frame. Do Motion correction is performed on the correction field where the pixel is located. Or an image signal composed of two fields for one frame generated by double-speed conversion of a television signal, and a reference field in which a pixel for which a motion vector is obtained is located, and one frame away from the reference field Based on the motion vector obtained from the reference field, motion correction is performed on the correction field where the pixel for which motion correction is performed is located. In the motion correction method, a motion vector for the reference field is detected for a reference block centered on a reference pixel of the reference field, and the motion vector detected in the reference block is assigned to each pixel constituting the reference block, When any one of the pixels indicated by the assigned motion vector overlaps, one of the motion vectors is selected, and the pixel value of the pixel to which the motion vector is assigned on the correction field depends on the weight assigned to each correction field. A pixel value at a position shifted in the vector direction within the range of the vector amount of the motion vector is used, and the pixel value is interpolated with respect to an information absent region where no pixel value exists.
[0030]
In this motion correction circuit and method, a motion vector detected for a reference block centered on a reference pixel is assigned to each pixel constituting the reference block. Then, when the pixels indicated by the assigned motion vectors overlap, one of the motion vectors is selected, and the pixel value of the assigned pixel of the motion vector is calculated within the range of the vector amount of the motion vector. As a result of writing to the position shifted in the direction and shifting the pixel value, the pixel value is interpolated with respect to the information absence region where the pixel value does not exist.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an image signal processing apparatus and method to which the present invention is applied will be described in detail with reference to the drawings.
[0032]
FIG. 1 is a block configuration diagram of a motion correction circuit 1 according to the first embodiment of the present invention. The motion correction circuit 1 is built in, for example, a television receiver using a PAL (Phase Alternation by Line) system, and receives an image signal and a television signal (hereinafter referred to as a TV signal) subjected to telecine conversion. As shown in FIG. 1, the motion correction circuit 1 includes a first image memory 11, a second image memory 12, a sequence detection unit 13, a data selection unit 14, a motion vector detection unit 15, An image shift unit 16 is provided.
[0033]
The first image memory 11 is sequentially supplied with, for example, 100 fields / second interlaced image data in which one frame generated by double-speed conversion of the telecine-converted image is composed of four fields. The first image memory 11 is sequentially supplied with an interlaced image signal of 100 fields / second, for example, in which one frame generated by double-speed conversion of the TV signal is composed of two fields.
[0034]
The first image memory 11 stores the supplied image data for one frame for each field. That is, the image data output from the first image memory 11 is one frame after the image signal supplied to the first image memory 11.
[0035]
The second image memory 12 has the same internal configuration as that of the first image memory 11 and stores the image data supplied from the first image memory 11 for one frame in each field unit. That is, the image data output from the second image memory 12 is one frame after the image data supplied to the second image memory 12 and two frames from the image data supplied to the first image memory 11. Later. The image data D1 stored in the second image memory 12 is supplied to the motion vector detection unit 15 and the image shift unit 16.
[0036]
The sequence detection unit 13 detects the image data supplied to the first image memory 11 and the image data output from the first image memory 11, compares the image signal level for each pixel, and Calculate the difference value. That is, the sequence detection unit 13 compares the image signal levels of the pixels at the same location on the screen at intervals of one frame. The sequence detection unit 13 transmits the calculation result of the difference value of the image signal level to the image shift unit 15. In addition to specifying each field as described above, the sequence detection unit 13 determines whether the signal is a telecine-converted signal or a TV signal, and transmits the determination result to the image shift unit 16 or the like as movement amount information.
[0037]
The data selection unit 14 receives image data supplied to the first image memory 11 and image data output from the first image memory 11. The data selection unit 14 selects one of the supplied image data based on the determination result received from the sequence detection unit 13. That is, when the sequence detection unit 13 determines that the signal has been telecine converted, the image data supplied to the first image memory 11 is selected. If the sequence detection unit 13 determines that the signal is a TV signal, the image data output from the first image memory 11 is selected. The image data selected by the data selection unit 14 is hereinafter referred to as image data D2. The data selection unit 14 outputs the selected image data D2 to the motion vector detection unit 15.
[0038]
Note that the data selection unit 14 can also be applied to a connection mode in which one of image data output from the first image memory 11 and image data output from the second image memory 12 is selected.
[0039]
The motion vector detection unit 15 detects the image data D1 and the image data D2, and detects a motion vector based on, for example, a block matching method. The motion vector detection unit 15 can search not only for motion vectors from both directions but also for motion vectors from a single direction. Thereby, it is possible to reduce the hardware cost.
[0040]
Further, the motion vector detection unit 15 calculates a flag F1 including error information of the detected motion vector. That is, the motion vector detection unit 15 can specify a motion vector between image signals separated by one frame or two frames by detecting a motion vector between the image data D1 and the image data D2. The motion vector detection unit 15 can also control the field interval for detecting the motion vector based on the determination result received from the sequence detection unit 13.
[0041]
The image shift unit 16 receives movement amount information including a comparison result of image signal levels from the sequence detection unit 13. In addition, the image shift unit 16 receives the motion vector detected by the motion vector detection unit 15. Further, the image shift unit 16 is supplied with the image data D1 from the second image memory 12, and is also supplied with the image data D2 from the data selection unit 14. The image shift unit 16 shifts each pixel position in the supplied image signal in the vector direction within the range of the vector amount of the received motion vector. An example of the internal configuration of the image shift unit 16 will be described later in detail.
[0042]
The motion correction circuit 1 may be integrated with a field double speed conversion circuit 3 that doubles the field frequency of the image signal. The field double speed conversion circuit 3 is integrated to prevent surface flicker interference by improving the resolution. For example, in the PAL system, by performing processing such as interpolation, image data having a field frequency of 50 Hz is obtained. The image data is doubled to 100 Hz image data.
[0043]
As shown in FIG. 1, the field frequency conversion circuit 3 includes an input terminal 31 connected to the television receiver, a double speed conversion unit 32, and a frame memory 33.
[0044]
The double speed conversion unit 32 writes the image data after the telecine conversion or the television signal input from the television receiver via the input terminal 31 into the frame memory 33. The double speed conversion unit 32 reads the image data written in the frame memory 33 at a speed twice as high as that at the time of writing. Thereby, for example, the frequency of the image signal of 50 fields / second in the PAL system can be converted to twice, and image data of 100 fields / second can be generated. The double speed conversion unit 32 supplies the double speed converted image data to the motion correction circuit 1.
[0045]
Next, an example of the internal configuration of the motion vector detection unit 15 will be described in detail with reference to FIG. The motion vector detection unit 15 includes a block matching unit 151, an out-of-range detection unit 152, and a reallocation unit 153.
[0046]
The block matching unit 151 divides the input image data D1 and image data D2 into blocks made up of predetermined pixels, and obtains a motion vector by evaluating the similarity for each block.
[0047]
The out-of-range detection unit 152 corrects the motion vector outside the search range obtained by the block matching method so that it matches the actual motion of the image.
[0048]
The reallocation unit 153 separates the motion vector obtained in units of blocks as a motion vector in units of pixels. In other words, the motion vector obtained for each block is assigned to each pixel constituting the block. Incidentally, the reallocation unit 153 selects an optimal vector value in light of the peripheral block through steps such as boundary determination within the block, detection of image edge, correlation determination with the peripheral block, and region division within the block. These are assigned for each pixel.
[0049]
Next, an example of the internal configuration of the image shift unit 16 will be described. As shown in FIG. 3, the image shift unit 16 includes a shift buffer read control unit 161, a shift buffer write control unit 162, a shift buffer 163, a data buffer read control unit 164, a first buffer 165, A second buffer 166, a data operation unit 167, and an uncover processing unit 168 are provided.
[0050]
The shift buffer read control unit 161 receives the motion vector from the motion vector detection unit 15 and the movement amount information from the sequence detection unit 13. The shift buffer read control unit 161 generates the shift buffer read control signal RS1 based on the motion vector, the movement amount information, and the built-in address calculation counter. This shift buffer read control signal RS1 includes an address signal for sequentially reading data and an enable signal. For example, when the shift buffer 163 is realized by a frame memory or the like, the shift buffer read control unit 161 calculates the X coordinate and Y coordinate address signals as absolute coordinates. On the other hand, when the shift buffer 163 is realized by a minimum necessary memory such as a line memory, the shift buffer read control unit 161 calculates the X coordinate and Y coordinate address signals as relative coordinates.
[0051]
In the built-in address calculation counter value, the X coordinate and the Y coordinate are (CX1, CY1), respectively, and in the supplied motion vector, the X coordinate and the Y coordinate are (VX, VY), respectively. The address numbers (SX, SY) of the shift buffer read control signal RS1 are expressed by the following equations.
SX = CX1 + (VX × α) (1.1)
SY = CY1 + (VY × α) (1.2)
Here, α is movement amount information, and is expressed by a number of 0 or more and 1 or less. Here, when the first field of the frame is the first field, and the subsequent fields are the second field, the third field, and the fourth field, respectively, the above α is minimized in the first field, Thereafter, it may be increased sequentially each time the field continues. Α is 0, 1/4, 2/4, 3/4 from the first field to the fourth field, respectively, and a TV signal is input when a telecine converted signal is input. In this case, it is also possible to increase linearly from 0 to 1/2 from the first field to the second field.
[0052]
As a result, the shift amount can be increased linearly with respect to time, and the motion of the image can be made smoother. Therefore, it is possible to eliminate the motion discontinuity peculiar to the double-speed converted image signal. In addition, since the motion of the image in which the surface flicker interference is suppressed can be further smoothed by the double speed conversion, the image quality can be synergistically improved.
[0053]
The shift buffer read control unit 161 supplies the generated shift buffer read control signal RS1 to the shift buffer write control unit 162 and the shift buffer 163.
[0054]
The shift buffer write control unit 162 is supplied with the flag F1 from the motion vector detection unit 15, is supplied with the flag F ′ from the shift buffer 163, and is supplied with the shift buffer read control signal RS1 from the shift buffer read control unit 161. The The shift buffer write control unit 162 determines the priority order at the time of writing based on the magnitudes of the flags F1 and F ′. Further, the shift buffer write control unit 162 obtains a write address based on the supplied shift buffer read control signal RS1, and uses the write address and the priority determined as described above as the shift buffer write control signal RS2. This is supplied to the shift buffer 163.
[0055]
The shift buffer 163 includes a motion vector buffer and a flag buffer. The motion vector buffer is a buffer for storing and supplying motion vectors, and the flag buffer is a buffer for storing and supplying flags. These buffers are written and read based on the same control signal. Incidentally, the shift buffer 163 only needs to be able to store motion vectors and flags, so that a reduction in buffer capacity can be expected.
[0056]
The shift buffer 163 may be a frame memory that accumulates data for one frame, or may be configured with a minimum necessary memory such as a line memory according to a range that a motion vector can take.
[0057]
The shift buffer 163 first initializes the flag buffer. The flag written in the flag buffer also includes mark information indicating whether or not data has been written. The mark information is represented by two types, “NM” and “OK”. “NM” indicates that data is not written at the time of initialization, and “OK” indicates that data has already been written. It shows that. The shift buffer 163 transmits a flag F ′ to the shift buffer write control unit 162 in association with the address when the enable of the shift buffer read control signal RS1 is valid. Further, when the shift buffer write control signal RS2 is enabled, the shift buffer 163 writes the motion vector and the flag F1 to the motion vector buffer and the flag buffer, respectively, according to the address value. Further, the shift buffer 163 arranges the stored motion vectors in the order of numbers (hereinafter, the motion vectors arranged in the order of the numbers are referred to as “moved motion vectors”), sequentially reads out the processing flag F2, and each of them is a data buffer control unit. 161, and supplied to the data calculation unit 167.
[0058]
The data buffer read control unit 164 is supplied with the moved motion vector from the shift buffer 163 and transmits the movement amount information from the sequence detection unit 13. The data buffer read control unit 164 calculates a buffer control signal S11 and a buffer control signal S12 based on the input motion vector. Each of these buffer control signals S11 and S12 includes an address signal for sequentially reading data and an enable signal. For example, when the first buffer 165 and the second buffer 166 are realized by a frame memory or the like, the data buffer read control unit 161 calculates each address signal of the X coordinate and the Y coordinate as an absolute coordinate. On the other hand, in the case where the first buffer 165 and the second buffer 166 are realized by the minimum necessary memory such as a line memory, the data buffer read control unit 161 uses the X coordinate and Y coordinate address signals as relative values. Calculate as coordinates.
[0059]
The data buffer read control unit 164 generates a buffer control signal S11 based on the value of the built-in address calculation counter and the motion vector. Further, the data buffer read control unit 164 generates a buffer control signal S12 based on the buffer control signal S11 and the motion vector.
[0060]
For example, when a TV signal is input, the X coordinate and the Y coordinate are (AX1, AY1) in the address of the buffer control signal S11, and the X coordinate and the Y coordinate are (( AX2, AY2), the motion vector is (VX, VY), and the internal address calculation counter value is (CX ', CY'), the address of the buffer control signal S11 is expressed by the following equation. Is done.
AX1 = CX'-INT (VX / 2) (2.1)
AY1 = CY'-INT (VY / 2) (2.2)
Here, the function INT means truncation after the decimal point.
[0061]
Further, the address (AX2, AY2) of the buffer control signal S12 is expressed by the following equation.
AX2 = AX1 + VX (2.3)
AY2 = AY1 + VY (2.4)
The data buffer read control unit 164 supplies the buffer control signal S11 including these calculated addresses to the first buffer 165. Further, the data buffer read control unit 164 supplies the second buffer 166 with a buffer control signal S12 including an address calculated in the same manner.
[0062]
The first buffer 165 sequentially stores the image data D1 transmitted from the second image memory 12. The first buffer 165 reads the stored image data D1 according to the supplied buffer control signal S11. That is, when the supplied buffer control signal S11 is enabled, the first buffer 165 reads the image data D1 stored in the first buffer 165 according to the address included in the buffer control signal S11. The read image data D1 is hereinafter referred to as shift data SD1. The first buffer 165 transmits the shift data SD1 to the data calculation unit 167.
[0063]
The first buffer 165 may be a frame memory that stores data for one frame, or may be configured with a minimum necessary memory such as a line memory based on a motion vector range. Further, the first buffer may be realized by a FIFO memory or the like in order to read data sequentially.
[0064]
The second buffer 166 sequentially accumulates the image data D2 transmitted from the data selection unit 14. The second buffer 166 reads the stored image data D2 in accordance with the supplied buffer control signal S12. That is, when the supplied buffer control signal S12 is enabled, the second buffer 166 reads the image data D2 stored in the second buffer 166 according to the address included in the buffer control signal S12. The read image data D2 is hereinafter referred to as shift data SD2. The second buffer 166 transmits the shift data SD2 to the data calculation unit 167.
[0065]
The second buffer 166 may be a frame memory that stores data for one frame, or may be configured with a minimum necessary memory such as a line memory based on a motion vector range. In such a case, a system for reading out data at random corresponding to an address given at random is constructed.
[0066]
The data calculation unit 167 calculates correction data H1 based on the supplied shift data SD1 and shift data SD2 while referring to the processing flag F2 supplied from the shift buffer 163. Note that when the processing flag F2 is “OK”, data can be determined, and the data calculation unit 167 performs a predetermined calculation. On the other hand, when the processing flag F2 is “NM”, it is assumed that the data cannot be fixed and the pixel value is not written at all from other areas (hereinafter referred to as an uncovered area). The processing is entrusted to the cover processing unit 167. The correction data H1 may be calculated by outputting the shift data SD1 and the shift data SD2 as they are, or may be an average value of the shift data SD1 and the shift data SD2. Furthermore, the movement data M1 may be calculated in the form of taking a weighted average using values such as motion vectors. The uncover processing unit 168 interpolates the pixel value with respect to the uncover area based on the received correction data H1.
[0067]
Next, the operation of the motion correction circuit 1 to which the present invention is applied will be described. FIG. 4 shows the relationship between each field and pixel position before and after double speed conversion in the field double speed conversion circuit 3. Here, the horizontal axis indicates time, and the vertical axis indicates the vertical position of the pixel.
[0068]
The image data before double speed conversion is an interlaced image of 50 fields / second in the PAL format, and forms one frame in two fields as shown in FIG.
[0069]
On the other hand, since the image data after the double speed conversion is an interlaced image of 100 fields / second, as shown in FIG. 4 (b), two fields t2 ′, t1 'is generated. Then, no field is generated between the field t2 and the field t3, and two fields t4 ′ and t3 ′ are newly generated between the field t3 and the field t4. That is, the image data forms one frame with four fields.
[0070]
In the newly generated fields t1 ′, t2 ′,..., The respective pixel values may be obtained by using a median filter or the like as an intermediate value of three pixels around each pixel. The newly generated fields t1 ′, t2 ′,... Have the same contents as the fields t1, t2,. As a result, one frame is formed in four fields, the resolution can be improved by increasing the number of screens per unit time, and surface flicker interference can be suppressed.
[0071]
FIG. 5 shows the relationship between each field and the image position when the image moves in the horizontal direction in the image data subjected to double speed conversion as described above after the telecine conversion. In FIG. 5, the horizontal axis represents the position in the horizontal direction of the image, and the vertical axis represents time. Images that have already been telecine transformed are supplied to the first image memory 11 at regular time intervals in the order of fields t1, t2 ′, t1 ′, t2, and these images are displayed at the same position. In addition, when moving to the field t3, the image moves in the horizontal direction (right direction) and is supplied to the first image memory in the order of fields t3, t4 ′, t3 ′, and t4.
[0072]
Here, for example, when the field supplied to the first image memory (hereinafter referred to as the reference field) is the field t3, two frames before the reference field output from the second image memory 12 Field (hereinafter referred to as the field two frames before) is the field t1.
[0073]
FIG. 6 shows the relationship between each field and image position when the image moves in the horizontal direction in the image data obtained by double-speed conversion of the TV signal. In the fields t1 and t2 ′ constituting the same frame, the same image is displayed at the same position. Similarly, the same image is displayed at the same position in the fields t1 ′ and t2 constituting the same frame.
[0074]
The motion vector detection unit 15 detects a motion vector for each block between the reference field and the field two frames before the signal subjected to the double-speed conversion after the telecine conversion shown in FIG. In the case of the example shown in FIG. 5, the vector direction of the motion vector is the horizontal direction (right direction) with reference to the field two frames before, and the vector amount is A. Similarly, when the reference field is t5, the field two frames before is t3, and the vector amount of the motion vector is B. By repeating this procedure, the vector direction and the vector amount of the motion vector based on the field two frames before can be obtained sequentially. The motion vector detection unit 15 sequentially transmits the obtained vector amount and vector direction of the motion vector to the image shift unit 16.
[0075]
Further, the motion vector detecting unit 15 performs a block conversion between the reference field and a field one frame before the reference field (hereinafter referred to as a field before one frame) for the signal obtained by double-speed conversion of the TV signal shown in FIG. Detect motion vectors in units. In the case of the example shown in FIG. 6, the vector direction of the motion vector is horizontal (rightward) with reference to the previous frame field, and the vector amount is C when the reference field is t1 ′. Similarly, when the reference field is t4 ′, the previous frame field is t1 ′, and the vector amount of the motion vector is D. By repeating this procedure, the vector direction and the vector amount of the motion vector based on the field one frame before can be obtained sequentially. The motion vector detection unit 74 sequentially transmits the obtained vector amount and vector direction of the motion vector to the image shift unit 15.
[0076]
The sequence detection unit 13 sequentially detects the reference field and the field one frame before output from the first image memory 11, and calculates the difference value of the pixel signal level at the same pixel position.
[0077]
That is, as shown in FIG. 7, in the case of a telecine conversion image, the reference field t1 ′ and the field t1 one frame before constitute the same frame, and thus, for example, the difference value of the pixel signal level at the pixel position a. Becomes 0. Next, when the field t2 is supplied as a reference field, the previous frame field becomes the field t2 ', and the difference value of the pixel signal level at the point a is similarly 0.
[0078]
Next, when the field t3 is supplied as a reference field, the previous frame field becomes t1 ', and both form different frames, so that the difference value of the pixel signal level at point a is other than 0 (hereinafter, "1" ”). Next, when t4 'is supplied as a reference field, the previous frame field becomes field t2, and the difference value of the pixel signal level at point a is similarly "1".
[0079]
Further, when t3 ′ is supplied as a reference field, the previous frame field becomes t3, and both form the same frame, so that the difference value of the pixel signal level at point a becomes 0 again. The same tendency is applied to the reference field supplied thereafter, and the calculated difference value is repeated in the order of “0011” in a period of 4 fields. Therefore, by detecting this sequence in units of 4 fields, it is possible to specify the context of each field.
[0080]
When this tendency is focused on the field one frame before, the difference values are in the order of “0011” from the first field of the frame. Therefore, when the difference value 0 is first calculated, the detected one frame previous field is specified as the first field (first field) of the frame. When the difference value 0 continues, the detected one frame previous field is specified as the second field. Further, when 1 is first calculated as the difference value, the detected one frame previous field is specified as the third field. When the difference value 1 continues, the detected one frame previous field is specified as the fourth field.
[0081]
Even when a TV signal is input, it is necessary to determine whether each field corresponds to the first field or the second field, but the field corresponding to the double speed conversion by the field double speed conversion circuit 3. Therefore, there is no need for sequence detection as described above. That is, when a TV signal is input from the field double speed conversion circuit 3, the first field and the second field are specified.
[0082]
Next, an exemplary operation of the block matching unit 151 in the motion vector detection unit 15 will be described in detail.
[0083]
As shown in FIG. 8, the block matching unit 151 divides the reference field 30 corresponding to the image data D1 into a plurality of reference blocks 51, and has the highest similarity with the reference block 51 in the image data D1 (reference field 30). The block shown is detected from the search block 53 moving within the search range 54 in the image data D2 (reference field 40). Then, a position shift (direction and magnitude of movement) between the detected search block 53 and the reference block 51 is used as a motion vector.
[0084]
In the determination of the similarity, first, for each pixel value of the search block 53, a difference from the corresponding pixel value of the reference block 51 is obtained, and an evaluation value indicated by the difference, for example, a sum of absolute differences is obtained. Next, the above-described determination operation is performed for all the search blocks 53, and the smallest one is obtained from the obtained evaluation value sums, that is, the sum of the absolute differences. The search block 53 that gives the minimum sum of absolute differences is a block that shows the highest similarity to the reference block 51, and is specified between the origin pixel 63 of the block and the origin pixel of the reference block 51. A vector that can be used as a motion vector.
[0085]
The block matching unit 151 may detect a motion vector suitable for the motion of the original image by applying the following detection method in addition to the motion vector detection based on the block matching method described above. .
[0086]
First, the first detection method will be described. In the first detection method, in addition to the motion correction using the block matching method described above, a motion vector is further detected from the following concept.
[0087]
FIG. 9 shows an example of the distribution tendency of the sum of absolute differences obtained for all search blocks 53 assigned within the search range 54. From FIG. 9, the region where the sum of absolute differences is high is a region where pixel values of the reference block 51 and the search block 53 are significantly different. On the other hand, a region having a low difference absolute value forming a recess is a region in which the pixel values of the reference block 51 and the search block 53 are approximate. That is, by specifying a motion vector for an area where pixel values are approximated, it is possible to realize high image quality and high resolution.
[0088]
The search range 54 is assigned a horizontal line corresponding to the vertical component (ys). Each horizontal line has a minimum value of the difference absolute value, and these minimum values form a region where the above-described difference absolute value is low. Hereinafter, the minimum value for each horizontal line is referred to as a line minimum value.
[0089]
Similarly to the normal block matching, the minimum value of the sum of absolute differences specified from the entire search range 54 is referred to as a region minimum value. That is, the difference absolute value sum that is the smallest among the line minimum values corresponds to the region minimum value. As shown in FIG. 9, the region minimum value indicated by the black circle is not much different from the other line minimum values. For this reason, even if the motion vector is specified between the pixel indicating the line minimum value and the pixel at the origin of the reference block 51 instead of the pixel indicating the region minimum value, the image quality and the resolution are hardly affected. It will be.
[0090]
For this reason, in the first detection method, paying attention to such a property, a pixel that best matches the movement of the original image is selected from the pixels having the line minimum value, and the movement between the pixel at the origin of the reference block 51 is performed. Identify the vector.
[0091]
Next, the second detection method will be described. In this second detection method, as shown in FIG. 10, paying attention to obtaining a motion vector in order from the left pixel (block) to the right pixel (block), in addition to the block matching method described above, Further, the following motion correction is performed.
[0092]
In order to identify the original image motion, the motion vector of the pixel on the left is read as a parameter for identifying the original image motion. Then, it is assumed that the motion vector obtained in the pixel 34 located to the left of the pixel 35 for obtaining the motion vector (the pixel at the origin of the reference block 51) is accurate. Actually, as shown in FIG. 11, the direction of the motion vector of the pixel 35 is matched with the motion vector of the pixel 34 located on the left side. Since the motion vector of the pixel 35 thus obtained is also accurate, the pixel 35 can be taken into account when further obtaining the motion vector of the pixel 36, and the accuracy of the motion vector can be ensured. It becomes possible.
[0093]
The block matching unit 151 may further perform a correction process shown in FIG. 12 on the motion vector detected based on the block matching method described above.
[0094]
In this correction process, a pixel for which a motion vector unrelated to the actual image motion is required (hereinafter, this pixel is referred to as a reference pixel) is extracted and adapted to the motion vector of an adjacent pixel adjacent to the reference pixel. Is.
[0095]
First, the block matching unit 151 initializes each variable in step S11, and then extracts a motion vector in the first adjacent pixel (for example, adjacent pixel A) from the adjacent pixels A to H shown in FIG. 13 in step S12. To do.
[0096]
Next, in step S13, the block matching unit 151 identifies the polarity Vx_i of the horizontal component of the motion vector in the adjacent pixel. If the polarity is positive, the process proceeds to step S14, and if the polarity is negative, step S15. Migrate to
[0097]
In step S14, the block matching unit 151 adds 1 to a counter Cnt_p (not shown), converts the horizontal component of the extracted motion vector into the sum Vx_ave_p of the horizontal components of adjacent pixels, and converts the vertical component of the motion vector into the vertical component. Is added to Vy_ave_p, and the process proceeds to step S16.
[0098]
In step S15, the block matching unit 151 adds 1 to a counter Cnt_m (not shown), converts the horizontal component of the extracted motion vector into the sum Vx_ave_m of the horizontal components of adjacent pixels, and converts the vertical component of the motion vector into the vertical component. It adds to the sum Vy_ave_m and proceeds to step S16.
[0099]
In step S16, the block matching unit 151 identifies whether or not the adjacent pixel identified in step S13 is the last adjacent pixel among the adjacent pixels A to H to be extracted. If it is the last adjacent pixel, the process proceeds to step S18. If it is not the last adjacent pixel, the process proceeds to step S17.
[0100]
In step S17, the block matching unit 151 extracts a motion vector (for example, adjacent pixel B) of the next adjacent pixel, and proceeds to step S13 again. By constructing this routine, it becomes possible to identify motion vectors for all the adjacent pixels A to H shown in FIG. In addition, when the motion vectors are identified for all the adjacent pixels A to H and the process proceeds to step S18, the counter Cnt_p determines the number of adjacent pixels in which the polarity of the horizontal component of the motion vector is positive, and the counter Cnt_m This indicates the number of adjacent pixels in which the polarity of the horizontal component of the motion vector is negative. Further, a horizontal component sum Vx_ave_p and a vertical component sum Vy_ave_p are obtained for adjacent pixels in which the polarity of the horizontal component of the motion vector is positive, and a horizontal component in the adjacent pixel in which the polarity of the horizontal component of the motion vector is negative. Sum Vx_ave_m and vertical component sum Vy_ave_m.
[0101]
Incidentally, in step S17, the order in which the adjacent pixels A to H are extracted may be clockwise, counterclockwise, or random. Further, the adjacent pixels to be extracted may not be extracted from all the adjacent pixels A to H. For example, the adjacent pixels A to C, the adjacent pixels B, D, and E, or the adjacent pixels A, B, C, D, and E may also be used. Further, the above-described processing may be executed in units of blocks composed of a plurality of pixels instead of in units of pixels.
[0102]
In step S18, the block matching unit 151 compares the numerical values of the counter Cnt_p and the counter Cnt_m. As a result, when the counter Cnt_p is larger, it is indicated that there are more adjacent pixels in which the polarity of the motion vector horizontal component is positive among the adjacent pixels, and the process proceeds to step S19. On the other hand, when the counter Cnt_m is larger, it is indicated that there are more adjacent pixels in which the polarity of the horizontal component of the motion vector is negative among the adjacent pixels, and the process proceeds to step S20.
[0103]
In step S19, a corrected motion vector at the reference pixel is obtained based on the adjacent pixel whose polarity of the horizontal component of the motion vector is positive. Each component (Vx_n, Vy_n) of the corrected motion vector is an average value of each component of adjacent pixels whose horizontal component has a positive polarity. Specifically, it is calculated based on the following formula.
Vx_n = Vx_ave_p / Cnt_p
Vy_n = Vy_ave_p / Cnt_p
[0104]
Further, in step S20, a corrected motion vector at the reference pixel is obtained based on the adjacent pixel in which the horizontal component of the motion vector has a negative polarity. Each component (Vx_n, Vy_n) of the corrected motion vector is an average value of each component of adjacent pixels in which the polarity of the horizontal component is negative. Specifically, it is calculated based on the following formula.
Vx_n = Vx_ave_m / Cnt_m
Vy_n = Vy_ave_m / Cnt_m
[0105]
That is, the block matching unit 151 counts the motion vector of the reference pixel and the vector direction of the motion vector of the adjacent pixel by following the processing procedure shown in FIG. 12, and matches the vector direction indicated by the many adjacent pixels. Can be modified as follows. In other words, the majority of the motion vector directions of neighboring pixels located around the reference pixel are determined, the direction of the larger motion vector is estimated as the actual image motion, and the motion vector vector of the reference pixel The direction can be corrected. As a result, it is possible to eliminate variations in motion vectors, and consequently, it is possible to prevent deterioration of the converted image.
[0106]
Next, an operation example of the out-of-range detection unit 152 will be described.
[0107]
The out-of-range detection unit 152 performs correction processing when the motion vector transmitted from the block matching unit 151 goes out of the search range 54 as shown in FIG.
[0108]
In the first correction process, for example, as shown in FIG. 14A, the vector direction of the motion vector to be corrected is adapted to the vector direction of the motion vector obtained by the block matching calculation unit 11. That is, only the vector amount is reduced to the contour portion of the search range 54 without changing the direction of the motion vector obtained by the block matching calculation unit 11.
[0109]
For example, as shown in FIG. 14B, the second correction process is a motion vector that adapts or corrects the vertical component of the motion vector to be corrected to the vertical component of the motion vector obtained by the block matching calculation unit 11. Are matched with the horizontal component of the motion vector obtained by the block matching calculation unit 11, and the vector amount is reduced to the contour of the search range 54.
[0110]
In the third correction process, for example, as shown in FIG. 14C, a plurality of motion vector candidates are set in advance such that the vector amount is within the search range 54, and the motion obtained by the block matching calculation unit 11 is obtained. One motion vector is selected from the motion vector candidates according to the vector direction and vector amount of the vector (in other words, according to the pixel position where the sum of absolute differences is minimized). Incidentally, the motion vector candidates to be set may be set one by one for each side of the search range 54 as shown in FIG.
[0111]
As described above, the motion vector detection device 1 according to the present invention can calculate the sum of absolute differences of the blocks 51 and 53 as in the conventional block matching method even when a true motion vector to be obtained exists outside the search range 54. The true motion vector can be easily detected without giving the highest priority to the minimum value of. Accordingly, the present invention does not require an irregular motion vector different from the original motion, and can prevent image quality degradation and processing failure in units of regions.
[0112]
Next, a specific operation example of the image shift unit 16 will be described.
[0113]
FIG. 15A shows a specific operation example of the image shift unit 16 in a one-dimensional graph when a TV signal composed of one frame and two fields is input. This operation example is for a case where a TV signal is input. A number starting from 0 is an address indicating a pixel position, and a vertical axis indicates a pixel value.
[0114]
In the present invention, with respect to the second field (motion correction field) located between the temporally different image data D1 and image data D2, the correction data is displayed so that the motion looks smooth even in various image variations. Write. That is, in the example shown in FIG. 15, when the image data D1 having the convex portion on the left side is changed to the image data D2 having the gentle convex portion in the center, an image that makes the overall movement look smooth is described above. Create in the motion compensation field.
[0115]
FIG. 16 shows a specific operation example of the image shift unit 16 shown in FIG. 15 by pixel values. FIG. 16A shows image data D1 and image data D2 input to the image shift unit 16, and the numbers are addresses indicating pixel positions. Since each pixel has luminance, a pixel value is assigned for each number in the supplied image data D1.
[0116]
That is, in the operation example shown in FIG. 16A, the image data D1 is represented by pixel values that sequentially follow 100, 100, 200,.
[0117]
Image data D2 located after image data D1 is represented by pixel values that sequentially follow 100, 100, 100,...
[0118]
The motion vector shown in FIG. 16A represents a vector amount between the image data D1 and the image data D2 with reference to the image data D1 for each pixel. For example, the pixel having a pixel value of 100 at the address of number 1 in the image data D1 is also located at the address of number 1 in the image data D2 located one field later. Therefore, the motion vector is zero. Further, for example, the pixel having the pixel value 200 at the address of number 2 in the image data D1 moves to the address of number 4 in the image data D2. Therefore, the motion vector is 2 from 4-2 = 2. Incidentally, the arrow shown in FIG. 15 indicates the motion vector for each pixel.
[0119]
A flag F1 illustrated in FIG. 16A is an example in the case where the difference absolute value between the detection pixel of the image data D1 and the detection pixel of the image data D2 is set. In the example shown in FIG. 16 (a), the pixel having the pixel value 200 at the address of number 2 in the image data D1 moves to the address of number 4 in the image data D2, and the pixel value remains the same as 200. The absolute value is zero. On the other hand, the pixel having the pixel value 110 at the address of the number 7 in the image data D1 moves to the address of the number 10 in the image data D2, and the pixel value becomes 100, so the absolute difference value becomes 10.
[0120]
FIG. 16B shows the shift buffer read control signal RS1. In the example shown in FIG. 16B, based on the equation (1.1), 0, 1, 2, 3,... In addition, a case where the movement amount information α is ½ is shown. The numerical value CX1 of the address calculation counter is output in correspondence with the number indicating the address of the image data D1.
[0121]
When the shift buffer control signal RS1 is generated, for example, when the number of the address calculation counter is “2”, the motion vector at the pixel position corresponding to the number 2 is “2” based on FIG. Therefore, based on the equation (1.1), the number of the shift buffer read control signal RS1 is “3” from 2 + 2 × 1/2 = 3. Similarly, when the number of the address calculation counter is “3”, the motion vector corresponding to the number 3 is “2” based on FIG. 16A, and is substituted into equation (1.1). From 3 + 2 × 1/2 = 4, the number of the shift buffer read control signal RS1 is “4”.
[0122]
That is, the generated number of the shift buffer read control signal RS1 indicates the number of the address to which the correction data H1 is written in the motion correction field.
[0123]
For the calculated address of the shift buffer control signal RS1, the flag F ′ is read in order to detect the writing state of the motion vector to the shift buffer 163. The flag F ′ returns “NM” when no motion vector is written in the address accessed by the shift buffer 163. On the other hand, for the address where the motion vector has already been written, the absolute value of the difference is returned.
[0124]
For example, in the example shown in FIG. 16B, it is displayed that no data is written from the shift buffer 163 via the flag F ′ at addresses 0 to 8 of the shift buffer read control signal RS1. In addition, at the address of number 9, “NM” indicating that data is not written at first is returned as the flag F ′, and the absolute difference value is returned next time. That is, it means that a plurality of motion vectors are written at the address of number 9 in the shift buffer 163. This is also shown in FIG. 15 because the motion vectors based on the numbers 6 and 9 of the image data D1 are concentrated at the address of the number 9 of the image data D2.
[0125]
Here, motion vectors are sequentially written in the address of the shift buffer 163 in which the flag F ′ is returned as “NM” according to the number of the address. When the flag F ′ has a numerical value, the flag F ′ is compared with the flag F corresponding to the address number, and the smaller numerical value is valid. As a result, it becomes possible to write a motion vector with less error before shifting from the image data D1 to the image data D2 to the shift buffer 163, and various variations such that a plurality of motion vectors are applied to a single pixel position. It is also possible to correct motion with high accuracy for images.
[0126]
The shift buffer write control unit 162 determines an address for writing the motion vector on the shift buffer 163 based on the supplied flag F ′. For example, in the number 9, the flag F is “10” and the flag F ′ is “0”. In order to give priority to a flag having a small numerical value, in this number 9, the motion vector “3” based on the address of number 6 that was originally written is continuously stored in the shift buffer 163 as it is.
[0127]
Further, the shift buffer write control unit 162 associates the number corresponding to the address with the motion vector as a shift buffer write control signal RS2, and writes this to the shift buffer 163. In the shift buffer 163 after writing, as shown in the lower part of FIG. 16B, motion vectors are stored for the addresses of the respective numbers.
[0128]
FIG. 16C shows the result of rearranging the motion vectors stored in the shift buffer 163 in the order of address numbers. The processing flag F2 indicates mark information at each address. When “OK” is output in the processing flag F2, this indicates that data is written at the address of the number, and when “NM” is output, the address of the number is displayed. Indicates that no data has been written. Incidentally, since no data is written to the address of number 2, “NM” is output as the processing flag F2.
[0129]
The moved motion vector read from the shift buffer 163 is supplied to the data buffer read control unit 164, and the processing flag F2 is supplied to the data calculation unit 167.
[0130]
The data buffer read control unit 164 generates the buffer control signals S11 and S12 using the above equations (2.1) to (2.4) based on the supplied moved motion vector. For example, when the value of the address calculation counter is a number corresponding to the address of the shift buffer 163, the moved motion vector is “2” at the address of number 3 from FIG. The signal S11 is “2” from the equation (2.1), and the buffer control signal S12 is “4” from the equation (2.3). Similarly, in the address of No. 6, the moved motion vector is “3”, so that the buffer control signal S11 is “5” and the buffer control signal S12 is “8”.
[0131]
The buffer control signal S11 calculated as described above is supplied to the first buffer 165, and the pixel value at the address corresponding to the number of the buffer control signal S11 is read from the first buffer 165. As shown in the middle part of FIG. 16C, the read pixel value is associated with the address as shift data SD1 and supplied to the data calculation unit 167 and the like.
[0132]
Similarly, the buffer control signal S12 is supplied to the second buffer 166, and the pixel value at the address corresponding to the number of the buffer control signal S12 is read from the second buffer 166. The read pixel value is associated with the address as shift data SD2 as shown in the middle part of FIG. 8C, and is supplied to the data calculation unit 167 and the like.
[0133]
The lowermost part of FIG. 16 (c) shows a case where the correction data H1 is an average value of the shift data SD1 and the shift data SD2. The data calculation unit 167 calculates correction data H1 based on the corresponding shift data SD1 and SD2 for the number for which “OK” is output as the processing flag F2 to be transmitted, and the number for which “NM” is output. At the address of 2, the pixel value at the address of the adjacent number 1 is held as it is. However, for the “NM” part, the calculation is performed again by the uncover processing unit 168, and therefore the hold value is substituted here as dummy data.
[0134]
By writing the generated correction data H1 into the motion correction field for each numbered address, an image as shown in FIG. 15A can be created.
[0135]
In other words, the image shift unit 16 selects any one of the motion vectors when the pixels indicated by the motion vectors overlap as in number 9, for example, creates the correction data H1, and writes this in the motion correction field 50. be able to. Thereby, the motion correction circuit 1 according to the present invention can efficiently eliminate the discontinuity of the motion of the image even when the pixel value changes while the image moves in the horizontal direction, for example.
[0136]
Next, an operation example of the uncover processing unit 168 will be described.
[0137]
The pixel interpolation processing by the uncover processing unit 168 is classified into three types, that is, writing processing for pixels around the uncover area, still image processing, and background processing.
[0138]
FIG. 17 is a diagram for describing a case where a writing process for pixels around the uncover area is performed. In this uncovered area, an interpolated pixel position 110 for interpolating the pixel value is set as a pixel position 120 and a pixel position 130 from the left as pixel positions adjacent to the uncovered area in the horizontal direction.
[0139]
The motion vector identification unit 11 first identifies a motion vector at the interpolation pixel position 110. Such a motion vector is specified based on, for example, a difference calculated between the standard field 30 and the reference field 40.
[0140]
Next, the pixel selection unit 12 selects a pixel adjacent in the vertical direction or the horizontal direction of the uncover area based on the vertical component extracted for the motion vector at the specified interpolation pixel position 110. In the selection of the pixels, when the vertical component of the motion vector is +2, −2, the pixels 111 and 112 adjacent in the vertical direction are selected, respectively, and when the vertical component is +1, 0, −1, the horizontal direction is selected. Pixels 120 and 130 adjacent to are selected.
[0141]
That is, when the vertical component of the motion vector at the interpolation pixel position 110 is +2, −2, it indicates that the movement toward the vertical component is more remarkable than the movement of the horizontal component in the pixels around the interpolation pixel position 110. . Therefore, in order to adapt to the pixel values of the pixels around the interpolation pixel position 110, it is preferable to write the pixel values of the pixels adjacent in the vertical direction. The shift amount is often ½ of the vector amount of the motion vector from the viewpoint of realizing smooth motion. For this reason, when +2 and -2 are multiplied by 1/2, +1 and -1 are obtained. Therefore, by writing the pixel values of the pixels 111 and 112 adjacent to each other in the vertical direction of the interpolation pixel position, it is possible to reduce the vector amount from the viewpoint of the vector amount. Matching can be made with the pixel values of the pixels around the cover area.
[0142]
On the other hand, when the vertical component of the motion vector at the interpolation pixel position 110 is +1, 0, −1, it indicates that the movement of the horizontal component is more remarkable than the movement of the vertical component in the pixels around the interpolation pixel position 110. Yes. Therefore, in order to match the pixel values of the pixels around the interpolation pixel position 110, it is preferable to write the pixel values of the pixels 120 and 130 adjacent in the horizontal direction.
[0143]
Next, a case where still image processing is used in an uncovered area processing method to which the present invention is applied will be described.
[0144]
In the still image processing, when the still condition described below is satisfied, the information writing unit 13 directly uses the pixel value at the interpolation pixel position 110 on the reference field 30 to the interpolation pixel position 110 on the motion correction field 50. Write. That is, if the image on the standard field and the image on the reference field 40 after one frame are still, it is sufficient to write the image of the standard field 30 as it is in the motion correction field.
[0145]
In the still condition A, the pixel values calculated between the reference block whose origin is the interpolation pixel position 110 cut out from the reference field 30 and the reference block whose origin is the interpolation pixel position 110 cut out from the reference field 40 are similar. In other words, the difference absolute value of these pixel values is not more than a threshold value.
[0146]
In addition, in addition to the above-described still condition A, the still condition B is similar to the pixel value of the pixel 120 adjacent to the left of the uncovered area and the pixel value of the interpolation pixel position 110 cut out from the reference field 30. In other words, the condition is that the absolute difference between these pixel values is equal to or less than a threshold value.
[0147]
Furthermore, in addition to the above-described still condition A, the still condition C is dissimilar between the pixel value of the pixel 120 adjacent to the left of the uncovered area and the pixel value of the pixel 130 adjacent to the right of the uncovered area (in other words, And the pixel value at the interpolation pixel position 110 on the reference field 30 is the pixel value at the left adjacent pixel 120 and the pixel value at the right adjacent pixel 130. As long as it is between.
[0148]
The still conditions A, B, and C can be cleared as the image on the standard field 30 and the image on the reference field 40 one frame later are closer to the stationary state. Incidentally, it is possible to freely select the stationary conditions A, B, and C according to the specifications of the built-in television receiver.
[0149]
Next, in the uncover area processing method to which the present invention is applied, a case where background processing is used will be described.
[0150]
In this background processing, the vertical component of the motion vector specified by the motion vector specifying unit 11 is identified. When the vertical component of this motion vector is −1 to +1 and each component of the motion vector in the left adjacent pixel 120 or the right adjacent pixel 130 in the uncovered area is 0, it is determined as the background. To do. Then, background processing for writing the pixel value at the interpolation pixel position 110 on the reference field 40 to the interpolation pixel position 110 on the motion correction field 50 as it is is performed. This is because it is sufficient to write the image on the reference field 40 as it is in the motion correction field 50 if it is a background image.
[0151]
The present invention is not limited to being applied to a PAL television receiver. For example, NTSC (National TV System Committee) 60 field second (30 frames / second) interlace. The present invention can also be applied to a television receiver to which an image signal is input. The present invention can also be applied to a SECAM television receiver.
[0152]
In the image shift unit 16 shown in FIG. 3, for example, the present invention eliminates the shift buffer read control unit 161, omits the shift buffer read control signal RS1, the flag F1, and the flag F ′, and does not determine the priority order. It is also applicable to. In this image shift unit 16, when the data to be written to the address overlaps, the data calculated later in time is overwritten on the already written data. Is unnecessary, and the circuit can be further simplified.
[0153]
The present invention can also be applied to, for example, a signal converter connected to a television receiver, and can be realized not only as a circuit or hardware but also as software on a processor.
[0154]
Further, the present invention can be applied to a case where an image signal transmitted over the Internet is displayed on a PC or the like, or a case where media or an image format is converted.
[0155]
【The invention's effect】
As described above in detail, the motion correction circuit and method according to the present invention is a pixel obtained by inputting an image signal composed of four fields per frame generated by double-speed conversion of a telecine-converted image. The first field is identified based on the difference value of the signal level, and the position of the detection pixel is moved in the vector direction of the motion vector so that the shift amount sequentially increases as the field moves from the identified first field to the back. Shift. For this reason, the motion correction circuit and method according to the present invention can eliminate the motion discontinuity peculiar to the image signal subjected to the double speed conversion after the telecine conversion, and the motion of the image in which the surface flicker interference is suppressed by the double speed conversion. Further smoothing can be achieved, and the image quality can be improved synergistically.
[0156]
In addition, the motion correction circuit and method according to the present invention writes optimal correction data that can smoothly move the image between the temporally different image data in the motion correction field. For example, while the image moves in the horizontal direction, Even when the pixel value changes, the discontinuity of the motion of the image can be efficiently eliminated. In addition, this motion correction circuit and method can efficiently eliminate motion discontinuity corresponding to various image variations when both a telecine-converted image signal and a TV signal are input. . As a result, it can be built in a television receiver to which both a film signal and a TV signal are input, and can be easily upgraded by newly incorporating it into a television receiver already sold. It is also possible to improve versatility.
[0157]
In addition, the motion correction circuit and method according to the present invention can obtain the motion vector suitable for the motion of the actual image, thereby eliminating the variation of the motion vector to be obtained and thus preventing the deterioration of the converted image.
[0159]
Furthermore, the motion correction circuit and method according to the present invention selects a pixel adjacent in the vertical direction or horizontal direction of the uncovered area based on the vertical component of the motion vector at the interpolation pixel position, and interpolates the selected pixel. Write to pixel location. As a result, it is possible to fill the uncovered area with pixels that show the optimum pixel value, and it is possible to eliminate isolated points on the motion correction field, thereby preventing deterioration of the converted image.
[Brief description of the drawings]
FIG. 1 is a block diagram of a motion correction circuit to which the present invention is applied.
FIG. 2 is a diagram illustrating a configuration of a motion vector detection unit.
FIG. 3 is a diagram illustrating a block configuration of an image shift unit.
FIG. 4 is a diagram showing the relationship between each field and pixel position before and after double speed conversion in a field double speed conversion circuit.
FIG. 5 is a diagram illustrating a relationship between each field and an image position when the image is moved in the horizontal direction in an image subjected to telecine conversion.
FIG. 6 is a diagram illustrating a relationship between each field and an image position when an image moves in a horizontal direction in an image of a TV signal.
FIG. 7 is a diagram for explaining a sequence detection method;
FIG. 8 is a diagram for explaining a block matching method;
FIG. 9 is a diagram for describing a case where a motion vector is detected in light of a distribution tendency of a sum of absolute differences.
FIG. 10 is a diagram for explaining a case where motion vectors are obtained in order from the left pixel to the right pixel.
FIG. 11 is a diagram for describing a case where a motion vector is obtained according to a motion vector of an adjacent pixel.
FIG. 12 is a flowchart showing a procedure of motion vector correction processing;
FIG. 13 is a diagram illustrating adjacent pixels from which motion vectors are extracted in motion vector correction processing.
FIG. 14 is a diagram for describing correction processing performed when a motion vector transmitted from a block matching unit goes out of a search range.
FIG. 15 is a diagram in which an operation processing process of the image shift unit is displayed in one dimension.
FIG. 16 is a diagram showing a specific operation example of the image shift unit displayed by pixel values.
FIG. 17 is a diagram for describing a case of interpolating pixels with respect to an uncovered area.
FIG. 18 is a block configuration diagram of a field double speed conversion circuit to which a field frequency double speed system is applied.
FIG. 19 is a diagram showing the relationship between each field and pixel position before and after double speed conversion.
FIG. 20 is a diagram illustrating a relationship between each field and an image position when the image moves in the horizontal direction.
FIG. 21 is a diagram illustrating a relationship between each field and an image position when an image moves in the horizontal direction when a TV signal is input.
FIG. 22 is a diagram for describing an example of detecting a motion vector in units of blocks.
FIG. 23 is a diagram showing a case where an uncovered area occurs.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Image signal processing apparatus, 2 CRT, 3 field double speed conversion circuit, 11 1st image memory, 12 2nd image memory, 13 Sequence detection part, 14 Data selection part, 15 Motion vector detection part, 16 Image shift part, 31 input terminal, 32 double speed conversion unit, 33 frame memory, 151 block matching unit, 152 out-of-range detection unit, 153 reallocation unit, 161 shift buffer read control unit, 162 shift buffer write control unit, 163 shift buffer, 164 data Buffer read control unit, 165 first buffer, 166 second buffer, 167 data operation unit, 168 uncover processing unit

Claims (12)

テレシネ変換された画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、基準フィールドから2フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行い、又は、テレビジョン信号を倍速変換することにより生成された1コマが2フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、該基準フィールドから1フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行う動き補正回路において、
上記基準フィールドの基準画素を中心とした基準ブロックについて、上記参照フィールドに対する動きベクトルを検出する動きベクトル検出手段と、
上記基準ブロックにおいて検出した動きベクトルを、当該基準ブロックを構成する画素毎に割り当てるベクトル割当手段と、
上記ベクトル割当手段により割り当てられた動きベクトルの示す画素が重複する場合に、いずれか一の動きベクトルを選択する選択手段と、
上記補正フィールド上において、動きベクトルの割り当てられた画素の画素値を、上記補正フィールド毎に割り当てた重みに応じて当該動きベクトルのベクトル量の範囲内でベクトル方向へシフトさせた位置の画素値とする画像制御手段と、
上記補正フィールド上で、画素値が存在しない情報不在領域に対して画素値を補間する画素補間手段とを備えることを特徴とする動き補正回路。
One frame generated is input image signal composed of four fields by telecine converted image double-speed conversion and a reference field for the position of the pixels for obtaining the motion vector, the reference field or et 2 frames away based on the motion vector obtained between the reference field it has, had row motion correction on the correction field to the position of the pixel for motion compensation, or one frame generated by double speed conversion of the television signal 2 An image signal composed of a field is input, and a pixel for which motion correction is performed based on a motion vector obtained between a reference field in which a pixel for which a motion vector is obtained is located and a reference field one frame away from the reference field. in line cormorant motion compensation circuit the motion correction on the correction field located,
Motion vector detection means for detecting a motion vector for the reference field for a reference block centered on a reference pixel of the reference field;
Vector allocating means for allocating the motion vector detected in the reference block for each pixel constituting the reference block;
A selection unit that selects any one of the motion vectors when pixels indicated by the motion vector allocated by the vector allocation unit overlap;
On the correction field, the pixel value of the pixel to which the motion vector is assigned is shifted in the vector direction within the range of the vector amount of the motion vector according to the weight assigned to each correction field, Image control means for
A motion correction circuit comprising: pixel interpolation means for interpolating a pixel value with respect to an information absent region where no pixel value exists on the correction field.
上記動きベクトル検出手段は、上記基準ブロックと、上記参照フィールドから切り出した探索範囲内を移動する探索ブロックとの間で画素値の差分絶対値和を演算し、上記差分絶対値和が最小となる探索ブロックの位置と上記基準ブロックの位置に基づき動きベクトルを検出することを特徴とする請求項1記載の動き補正回路。  The motion vector detection means calculates a sum of absolute differences of pixel values between the base block and a search block moving within a search range cut out from the reference field, and the sum of absolute differences is minimized. 2. The motion correction circuit according to claim 1, wherein a motion vector is detected based on a position of a search block and a position of the reference block. 上記動きベクトル検出手段は、ブロックマッチング法に基づいて上記動きベクトルを検出することを特徴とする請求項1記載の動き補正回路。  2. The motion correction circuit according to claim 1, wherein the motion vector detection means detects the motion vector based on a block matching method. 上記動きベクトル検出手段は、単方向によるブロックマッチングに基づき、上記動きベクトルを検出することを特徴とする請求項記載の動き補正回路。4. The motion correction circuit according to claim 3 , wherein the motion vector detection means detects the motion vector based on block matching in a single direction. 上記動きベクトル検出手段は、上記基準画素の位置する基準ブロックに隣接するブロックにおいて求められた動きベクトルに応じて、上記動きベクトルを検出することを特徴とする請求項1記載の動き補正回路。  2. The motion correction circuit according to claim 1, wherein the motion vector detection means detects the motion vector in accordance with a motion vector obtained in a block adjacent to a reference block where the reference pixel is located. 上記テレシネ変換された画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力されたとき、1フレーム離れたフィールド間で空間的に同一の画素位置の画素値の差分値を演算し、当該差分値に基づき、該1コマを構成する4フィールドで構成される画像信号から最初に位置する第1のフィールドを特定するシーケンス検出手段を更に備え、
上記画像制御手段は、上記1コマが構成する4フィールドで構成される画像信号に対して、上記第1のフィールドから後へフィールドが続く毎に、検出した上記動きベクトルのベクトル量の範囲内で、上記シフトさせる位置を順次増大させることを特徴とする請求項1記載の動き補正回路。
When an image signal composed of four fields for one frame generated by double-speed conversion of the telecine-converted image is input, the pixel values at the same pixel position are spatially identical between fields one frame apart. Sequence detecting means for calculating a difference value and identifying a first field first located from an image signal composed of four fields constituting the one frame based on the difference value,
The image control means, within the range of the detected motion vector, each time a field continues from the first field to an image signal composed of four fields constituting one frame. 2. The motion correction circuit according to claim 1, wherein the shift positions are sequentially increased.
テレシネ変換された画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、上記基準フィールドから2フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行い、又は、テレビジョン信号を倍速変換することにより生成された1コマが2フィールドで構成される画像信号が入力され、動きベクトルを求める画素の位置する基準フィールドと、該基準フィールドから1フレーム離れた参照フィールドとの間で求めた動きベクトルに基づき、動き補正を行う画素の位置する補正フィールド上において動き補正を行う動き補正方法において、
上記基準フィールドの基準画素を中心とした基準ブロックについて、上記参照フィールドに対する動きベクトルを検出し、
上記基準ブロックにおいて検出した動きベクトルを、当該基準ブロックを構成する画素毎に割り当て、
上記割り当てられた動きベクトルの示す画素が重複する場合に、いずれか一の動きベクトルを選択し、
上記補正フィールド上において、動きベクトルの割り当てられた画素の画素値を、上記補正フィールド毎に割り当てた重みに応じて当該動きベクトルのベクトル量の範囲内でベクトル方向へシフトさせた位置の画素値とし、また画素値が存在しない情報不在領域に対して画素値を補間することを特徴とする動き補正方法。
One frame generated by converting the telecine converted image speed is input image signal composed of four fields, a reference field for the position of the pixels for obtaining the motion vector, the reference field or et 2 frames away based on the motion vector obtained between the reference field it has, had row motion correction on the correction field to the position of the pixel for motion compensation, or one frame generated by double speed conversion of the television signal 2 An image signal composed of a field is input, and a pixel for which motion correction is performed based on a motion vector obtained between a reference field in which a pixel for which a motion vector is obtained is located and a reference field one frame away from the reference field. in line cormorant motion compensation method the motion correction on the correction field located,
Detecting a motion vector for the reference field for a reference block centered on a reference pixel of the reference field;
The motion vector detected in the reference block is assigned to each pixel constituting the reference block,
If pixels assigned by the assigned motion vector overlap, select one of the motion vectors,
On the correction field, the pixel value of the pixel to which the motion vector is assigned is the pixel value at the position shifted in the vector direction within the range of the vector amount of the motion vector according to the weight assigned to each correction field. Also, a motion correction method characterized by interpolating a pixel value with respect to an information absent area where no pixel value exists.
上記基準ブロックと、上記参照フィールドから切り出した探索範囲内を移動する探索ブロックとの間で画素値の差分絶対値和を演算し、上記差分絶対値和が最小となる探索ブロックの位置と上記基準ブロックの位置に基づき動きベクトルを検出することを特徴とする請求項記載の動き補正方法。A difference absolute value sum of pixel values is calculated between the reference block and a search block that moves within a search range cut out from the reference field, and the position of the search block that minimizes the difference absolute value sum and the reference 8. The motion correction method according to claim 7 , wherein a motion vector is detected based on a block position. ブロックマッチング法に基づいて上記動きベクトルを検出することを特徴とする請求項記載の動き補正方法。8. The motion correction method according to claim 7, wherein the motion vector is detected based on a block matching method. 単方向によるブロックマッチングに基づき、上記動きベクトルを検出することを特徴とする請求項記載の動き補正方法。The motion correction method according to claim 9 , wherein the motion vector is detected based on block matching in a single direction. 上記基準画素の位置する基準ブロックに隣接するブロックにおいて求められた動きベクトルに応じて、上記動きベクトルを検出することを特徴とする請求項記載の動き補正方法。The motion correction method according to claim 7 , wherein the motion vector is detected according to a motion vector obtained in a block adjacent to the reference block where the reference pixel is located. 上記テレシネ変換された画像を倍速変換することにより生成された1コマが4フィールドで構成される画像信号が入力されたとき、1フレーム離れたフィールド間で空間的に同一の画素位置の画素値の差分値を演算し、当該差分値に基づき、該1コマを構成する4フィールドで構成される画像信号から最初に位置する第1のフィールドを特定し、
上記1コマが構成する4フィールドで構成される画像信号に対して、上記第1のフィールドから後へフィールドが続く毎に、検出した上記動きベクトルのベクトル量の範囲内で、上記シフトさせる位置を順次増大させることを特徴とする請求項記載の動き補正方法。
When an image signal composed of four fields for one frame generated by double-speed conversion of the telecine-converted image is input, the pixel values at the same pixel position are spatially identical between fields one frame apart. The difference value is calculated , and based on the difference value, the first field located first from the image signal composed of the four fields constituting the one frame is specified,
Each time the field continues from the first field to the image signal composed of four fields constituting the one frame, the position to be shifted is within the range of the detected motion vector. The motion correction method according to claim 7 , wherein the motion correction method sequentially increases.
JP2002115352A 2002-04-17 2002-04-17 Motion compensation circuit and method Expired - Fee Related JP4337302B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002115352A JP4337302B2 (en) 2002-04-17 2002-04-17 Motion compensation circuit and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002115352A JP4337302B2 (en) 2002-04-17 2002-04-17 Motion compensation circuit and method

Publications (2)

Publication Number Publication Date
JP2003309822A JP2003309822A (en) 2003-10-31
JP4337302B2 true JP4337302B2 (en) 2009-09-30

Family

ID=29396725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002115352A Expired - Fee Related JP4337302B2 (en) 2002-04-17 2002-04-17 Motion compensation circuit and method

Country Status (1)

Country Link
JP (1) JP4337302B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100410985C (en) * 2004-09-22 2008-08-13 索尼株式会社 Image display unit and method of correcting brightness in image display unit
US7965774B2 (en) 2006-01-06 2011-06-21 International Business Machines Corporation Method for visual signal extrapolation or interpolation

Also Published As

Publication number Publication date
JP2003309822A (en) 2003-10-31

Similar Documents

Publication Publication Date Title
US8189105B2 (en) Systems and methods of motion and edge adaptive processing including motion compensation features
JP3855761B2 (en) Image signal processing apparatus and method
US7499102B2 (en) Image processing apparatus using judder-map and method thereof
US7050108B2 (en) Motion vector correction circuit and method
EP1460847B1 (en) Image signal processing apparatus and processing method
JP3365333B2 (en) Resolution converter
KR100930758B1 (en) Image signal processing device and processing method
JP4337302B2 (en) Motion compensation circuit and method
KR100497556B1 (en) Image processing apparatus and method
JP2004023673A (en) Motion vector detecting apparatus and method therefor movement compensation and method therefor
JP2003289511A (en) Image scan converting method and apparatus
JP4470324B2 (en) Image signal conversion apparatus and method
KR100416557B1 (en) Method for reproducing partial interlaced image and apparatus thereof
JP2011055021A (en) Image generating device, display system and image generating method
JP2000115720A (en) Scanning line interpolation device and scanning line interpolation method
JP2001024987A (en) Successive scanning converting circuit
JP4264541B2 (en) Image conversion apparatus, image conversion method, program, and recording medium
JP2003503906A (en) Method for doubling the picture frequency of an image sequence generated by the interlace method
JPH10240208A (en) Device and method for processing image
JPH11327521A (en) Pixel value conversion method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090518

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

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

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

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees