本発明は、カラー映像や白黒映像の輪郭を強調する映像輪郭補正装置に適用して好適な映像処理装置及び映像処理方法に関する。詳しくは、映像信号のトランジェント部分を時間方向に短縮する時間短縮部を備え、映像信号のトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心が検出されると、当該映像信号のトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮し、トランジェント部分の画素の最大及び最小の振幅レベルはそのままで、トランジェント部分の中心付近の傾きを、処理前の映像信号のトランジェント部分の中心付近の傾きに比べて急激に立ち上がる方向に回転できるようにしたものである。
従来から、カラー映像や白黒映像の輪郭を強調する機能を備えた映像処理装置が使用される場合が多い。この種の映像処理装置は、各種考案されてきているが、例えば、特許文献1には、元々の映像信号に対し遅延回路を通過させ、その遅延した幾つかの信号の差分等からエッジ(トランジェント部分)に付加する信号を作り出し、それを入力信号に付加する方法で行われてきた。このような映像処理装置を簡単な回路で示すと、図18のような構成となる。
図18は、従来例に係るエッジエンハンサー50の構成例を示すブロック図である。図18に示すエッジエンハンサー50は輪郭補正回路を構成し、遅延部52,53、差分演算器54,55及びエッジ処理部56を備えている。入力用の端子51にはプリ側のエッジ補正用の遅延部52及び差分演算器54が接続される。
遅延部52では端子51に入力された映像信号Sinが所定期間だけ遅延される。差分演算器54では、端子51に入力された映像信号Sinと、遅延部52によって遅延された映像信号Sinとの差分が演算されて第1の差分データをエッジ処理部56に出力するようになされる。差分を演算するのは、映像信号Sinで変化部分がある成分のみを取り出すためである。
また、遅延部52及び差分演算器54にはオーバー側のエッジ補正用の遅延部53及び差分演算器55が接続される。遅延部53では、遅延部52によって遅延された映像信号Sinが更に所定期間だけ遅延される。差分演算器55では、遅延部52によって遅延された映像信号Sinと、遅延部53によって遅延された映像信号Sinとの差分が同様にして演算されて第2の差分データをエッジ処理部56に出力するようなされる。
差分演算器54、55にはエッジ処理部56が接続され、第1及び第2の差分データを入力し、元の映像のエッジ部分の信号に付加するための輪郭補正信号を作り出し、この輪郭補正信号を映像信号Sinに付加するようになされる。輪郭補正信号が映像信号Sinに付加された出力信号Soutは出力用の端子57から出力される。このように輪郭補正回路を構成すると、そのエッジ成分を元の映像信号Sinに付加して、その映像信号Sinの変化自体を強調するような輪郭補正を実現できるというものある。
ところで、特許文献1に見られるような輪郭補正機能付きの映像処理装置によれば、遅延部52や53等の回路定数(遅延量)で決まる遅延時間(時定数)が存在する。従って、この遅延時間に上手く当てはまるようなエッジ(トランジェント部分)が映像信号Sinから検出された場合は、輪郭強調(補正)効果が得られる出力信号をエッジ処理部56から次段へ出力することができる。
しかしながら、その遅延時間から外れたトランジェント部分にとっては、全く輪郭強調効果が無かったり、付加しなくてもよい余計なエッジ成分を映像信号Sinに付加してしまったりする場合が想定される。つまり、映像のトランジェント部分を成す画素の最大及び最小の振幅レベルを変化させることなく、トランジェント部分の時間方向を自由に調整できていないのが現状である。これにより、映像の表示品質をかえって劣化させてしまうおそれがある。
そこで、この発明はこのような従来の課題を解決したものであって、映像のトランジェント部分を成す画素の最大及び最小の振幅レベルを変化させることなく、トランジェント部分の時間方向を自由に調整できるようにすると共に、その映像の表示品質を向上できるようにした映像処理装置及び映像処理方法を提供することを目的とする。
上述した課題を解決するために、第1の発明の映像処理装置は、映像信号を画素単位に処理する装置であって、前記映像信号で連続する複数画素における振幅レベルが時間と共に変化する部分をトランジェント部分としたとき、前記映像信号のトランジェント部分を検出すると共に、当該トランジェント部分の複数画素における振幅レベルを検出する第1の検出部と、前記第1の検出部によって検出された前記映像信号のトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出する第2の検出部と、前記第2の検出部によって検出された前記映像信号のトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮する時間短縮部と、を備え、前記第1の検出部は、前記映像信号のトランジェント部分の複数画素における振幅レベルの変化量を監視し、当該トランジェント部分の振幅レベルの変化量が大きく現れた後、小さくなり、再度、変化量が大きく現れた場合は、別のトランジェント部分が存在すると認識し、当該トランジェント部分から別のトランジェント部分を分割する。
本発明に係る映像処理装置によれば、映像信号を画素単位に処理する場合に、第1の検出部は、映像信号のトランジェント部分を検出すると共に、当該トランジェント部分の複数画素における振幅レベルを検出する。第2の検出部は、第1の検出部によって検出された映像信号のトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出する。これを前提にして、時間短縮部は、第2の検出部によって検出された映像信号のトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮するようになる。
従って、トランジェント部分を成す画素の最大及び最小の振幅レベルはそのままで、トランジェント部分の中心付近の傾きが右上がりである場合に、処理前の映像信号のトランジェント部分の中心付近の傾きに比べて急激に立ち上がる方向(反時計方向)に回転できるようになる。
第2の発明の映像処理方法は、映像信号を画素単位に処理する方法であって、前記映像信号で連続する複数画素における振幅レベルが時間と共に変化する部分をトランジェント部分としたとき、前記映像信号のトランジェント部分を検出すると共に、当該トランジェント部分の複数画素における振幅レベルを検出する第1のステップと、検出された前記映像信号のトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出する第2のステップと、設定された前記映像信号のトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮する第3のステップと、を有し、前記第1のステップは、前記映像信号のトランジェント部分の複数画素における振幅レベルの変化量を監視する第4のステップと、当該トランジェント部分の振幅レベルの変化量が大きく現れた後、小さくなり、再度、変化量が大きく現れた場合は、別のトランジェント部分が存在すると認識し、当該トランジェント部分から別のトランジェント部分を分割する第5のステップと、を有する。
本発明に係る映像処理方法によれば、映像信号を画素単位に処理する場合に、トランジェント部分を成す画素の最大及び最小の振幅レベルはそのままで、トランジェント部分の中心付近の傾きを、処理前の映像信号のトランジェント部分の中心付近の傾きに比べて急激に立ち上がる方向に回転できるようになる。
本発明に係る映像処理装置及び映像処理方法によれば、映像信号を画素単位に処理する場合に、映像信号のトランジェント部分を時間方向に短縮する時間短縮部を備え、時間短縮部は、映像信号のトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心が検出されると、当該映像信号のトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮するようになされる。
この構成によって、トランジェント部分を成す画素の最大及び最小の振幅レベルはそのままで、トランジェント部分の中心付近の傾きが右上がりである場合に、処理前の映像信号のトランジェント部分の中心付近の傾きに比べて急激に立ち上がる方向に回転できるようになる。従って、映像信号によって表示される映像のエッジ部分を極め細かく強調することができる(輪郭補正処理)。これにより、映像のエッジ部分がよりクッキリと引き締まるような効果が期待できる。
続いて、この発明に係る映像処理装置及び映像処理方法の一実施の形態について、図面を参照しながら説明をする。
図1は、本発明に係る実施形態としての映像処理装置を応用したエッジエンハンサー100の構成例を示すブロック図である。
図1に示すエッジエンハンサー100(輪郭補正回路)は、本発明に係る映像処理装置を応用したものであって、映像信号Sinを画素単位に処理する装置であり、映像信号Sinのトランジェント部分を検出して、その変化量からトランジェント部分の中心を定め、その中心を基準に前後のトランジェント部分を時間方向に短縮することにより、映像信号Sinの輪郭を補正するようになされる。
上位概念としてのエッジエンハンサー100は、トランジェント検出部(以下単に検出部10という)、トランジェント中心検出部(以下単に中心検出部20という)、トランジェント時間短縮部(以下単に時間短縮部30という)及び制御部40を有して構成される。
検出部10は第1の検出部の機能を有しており、映像信号Sinを入力すると共に制御部40から検知制御信号S10を入力し、映像信号Sinのトランジェント部分を検出すると共に、当該トランジェント部分の複数画素における振幅レベルを検出するようになされる。ここにトランジェント部分とは、映像信号Sinで連続する複数画素における振幅レベルが時間と共に変化する部分をいう。
検出部10には第2の検出部の機能を有する中心検出部20が接続される。中心検出部20は、制御部40から中心検知制御信号S10を入力し、検出部10によって検出された映像信号Sinのトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出するようになされる。この検出はトランジェント部分の中心を決めるためである。
中心検出部20には時間短縮部30が接続される。時間短縮部30は、制御部40から時間短縮制御信号S30を入力し、中心検出部20によって検出された映像信号Sinのトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮するようになされる。このトランジェント部分の時間短縮は、前後のトランジェント部分をその中心に引き込むためである。時間短縮部から図示しない次段の映像処理部等には、輪郭補正後の映像信号Soutが出力される。
このようにエッジエンハンサー100を構成すると、映像信号Sinのトランジェント部分の時間的長さが自由に選択(調整)できるため、輪郭補正により得られる画質調整効果を可変できると共に幅広い映像フォーマットに対応することが可能となる。これにより、ある程度の時間的長さを有した映像信号Sinのトランジェント部分を時間方向に短縮することによって、映像のぼやけたエッジ部分をハッキリとさせる機能を実装した自由度の大きな映像処理システムを提供できるようになる。
図2A及びBは、映像信号Sinと差分データDdとの関係例を示す波形図である。図2Aに示す縦軸は、映像信号Sinの振幅レベルであり、図3Bに示す縦軸は、差分データDdの振幅レベルであり、横軸はいずれも時間tを示している。
図2Aに示す映像信号Sinは、ある程度の時間的長さを有した複数のトランジェント部分を含んだ場合である。映像信号Sinの差分値Sdを演算すると、図2Bに示すような差分データDdが得られる。差分値Sdは、当該画素の振幅レベルを示す輝度値(色値)と、1つ前の画素の振幅レベルを示す輝度値(色値)との差をいう。差分データDdは差分値Sdを二値化したものである。
この例では、映像信号Sinの波形左側の立ち下がり部分にトランジェント部分TLが存在し、その波形右側の立ち上がり部分にトランジェント部分TRが存在している。差分データDdで見ると、マイナス側(−方向)にトランジェント部分TLが現れ、プラス側(+方向)にトランジェント部分TRが現れている。このようなトランジェント部分TL,TRを含んだ映像信号Sinのエッジを強調するような輪郭補正をエッジエンハンサー100によって実行できるようになる。
図3は、各実施例としてのエッジエンハンサー100の各部の構成例を示すブロック図である。
この例では、図2Aに示した映像信号Sinを図3に示す差分演算器11に入力すると、図2Bに示すような差分データDdが得られる。図2Aに示す映像信号Sinのトランジェント部分は、その差分データDdにおいて、連続的にあるレベルが現れる。そのレベルがある一定量以上で数ピクセル続いた場合を”トランジェント部分である旨”を次段に通知するようになされる。もちろん、最初のトランジェント部分の検出において、例えば、ピクセル毎の差分データDdに変化があり、それが数ピクセル続いた場合に、その部分全体を「トランジェント部分」と判断するようにしてもよい。
図3に示す下位概念としてのエッジエンハンサー100は、入力側の端子1、出力側の端子2、差分演算器11、アップ・ダウン検出部12、スロープ検出用の処理ユニット13、中心決定用の処理ユニット21及び時間短縮演算用の処理ユニット31を有して構成する。
差分演算器11、アップ・ダウン検出部12及びスロープ検出用の処理ユニット13は、図1に示した検出部10を構成する。この例で、端子1には差分演算器11が接続される。差分演算器11は、信号ビット+9ビットの映像信号Sin、水平同期信号SH及び、1ビットのフィルタ選択(FIL-SW)信号S11を入力し、差分データDdを演算するようになされる。ここに差分データDdとは、当該画素の振幅レベルを示すデータと、1つ前の画素の振幅レベルを示すデータとの差をいう。
水平同期信号SHは、当該画素の振幅レベルを示すデータと、1つ前の画素の振幅レベルを示すデータとを分別する信号として使用している。差分演算器には波形を安定させるための複数のフィルタが使用される。このフィルタはフィルタ選択信号S11に基づいてオン/オフの切替が可能となされている。フィルタ選択信号S11は、複数のフィルタの中から1つのフィルタを選択する際に使用される信号である。差分演算器11は、信号ビット+9ビットの映像信号Sinの差分データDd及び出力イネーブル信号Senを出力する。
差分データDdは、アップ・ダウン検出部12及びスロープ検出用の処理ユニット13に出力される。出力イネーブル信号Senは、処理ユニット13及び中心決定用の処理ユニット21に出力され、これらの処理ユニット13及び21から得られる信号の出力許可又は出力不許可を制御する際に使用される。
差分演算器11にはアップ・ダウン検出部12が接続される。アップ・ダウン検出部12は、差分データDd、6ビットのスロープオン(SLOPE-ON)信号S12及び、4ビットのスロープオフ(SLOPE-OFF)信号S13を入力し、差分データDdのアップ方向又はダウン方向を検出してアップ・ダウン検出信号Sudを出力する。これにより、映像信号Sinのトランジェント部分が上り方向であるか、又は、下り方向であるか、また、そのトランジェントが大きな変化なのか、あるいは、小さな変化なのかをおおざっぱに検出して得たトランジェント部分のアップ/ダウン検出情報を次段に出力できるようになる。
スロープオン信号S12は、トランジェント部分の上り又は下り方向の検出をオンする信号である。スロープオフ信号S13は、トランジェント部分の上り又は下り方向の検出をオフする信号である。アップ・ダウン検出信号Sudは、トランジェント部分が上り又は下り方向であるかを検出して得た結果信号である。
アップ・ダウン検出部12にはスロープ検出用の処理ユニット13が接続される。処理ユニット13は、映像信号Sinの差分データDd、出力イネーブル信号Sen、アップ・ダウン検出信号Sud、3ビット(0〜7)のウイークバリュウ(WEAK-VALUE)信号S14、1ビット(0〜1)の水平同期(SYNCHRO)信号SH及び、6ビットのスロープ(SLOPE)信号S16を入力して、これらの信号に基づいてトランジェント部分のスロープを検出する。ウイークバリュウ信号S14はスロープの微弱値を設定する信号である。スロープ信号S16は、トランジェント部分でスロープを設定する信号である。これにより、映像信号Sinのトランジェント部分を検出できるようになる。
処理ユニット13は、インテグラル(integral)信号S23、スロープナンバ(SLOPE-num)信号S24、制御開始(S-start-32d)信号S25及びフラグ(i-flag-32d)信号S26を出力する。インテグラル信号S23は、トランジェント部分のスロープ全体を示す信号である。スロープナンバ信号S24は、トランジェント部分のスロープに設定したピクセル番号を示す信号である。制御開始信号S25は、トランジェント部分の中心検出の開始を許可する信号である。フラグ信号S26は、例えば、ピクセル番号に付加されるフラグを示す信号である。
上述したフィルタ選択信号S11、スロープオン信号S12、スロープオフ信号S13、ウイークバリュウ信号S14、同期信号S15及びスロープ信号S16は検知制御信号S10を構成し、図1に示した制御部40から供給される。処理ユニット13にはCPU(中央演算処理装置)やDSP(デジタル信号処理装置)等が使用される。
図3に示した処理ユニット13には、中心決定用の処理ユニット21が接続される。処理ユニット21は図1に示した中心検出部10を構成し、映像信号Sin、出力イネーブル信号Sen、2ビットのアップスライス(UP SLICE)信号S21、2ビットのダウンスライス(DAWN SLICE)信号S22、インテグラル信号S23、スロープナンバ信号S24、制御開始信号S25及びフラグ信号S26を入力し、処理ユニット13によって検出された映像信号Sinのトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出するようになされる。
アップスライス信号S21は、トランジェント部分のスロープ全体から前半部分を切り出すための信号である。ダウンスライス信号S22は、そのスロープ全体から後半部分を切り出すための信号である。
例えば、処理ユニット21は、前段の処理ユニット13でのトランジェント部分の検出結果情報から、あるトランジェント部分の最終的な全体変化量を検出する。その値からトランジェント部分の中心をどこにするかを決定するようになされる。処理ユニット21は、当該映像信号Sinのトランジェント部分の中心検出信号Scrと、1つ前の映像信号Sinのトランジェント部分の中心検出信号Scbとを出力する。この例で、中心検出信号Scr及びScbはいずれも32ビットである。この他に、制御開始(S-start-32d)信号S27、センターナンバ(CENTER-num)信号S28、画素位相(c-phase)信号S29を出力する。処理ユニット21にはCPU(中央演算処理装置)やDSP(デジタル信号処理装置)等が使用される。
制御開始信号S27は、次段におけるトランジェント部分の時間短縮処理の開始を許可する信号である。センターナンバ信号S28は、トランジェント部分の中心を特定するためのピクセル番号を示す信号である。映像位相信号S29は、トランジェント部分の映像信号の中心の位相を示す信号である。
上述したアップスライス信号S21及びダウンスライス信号S22は中心検知制御信号S20を構成し、図1に示した制御部40から供給される。このようにすると、映像信号Sinのトランジェント部分の全体から求めた振幅変化量に基づいて、その値のどこを中心にしてトランジェント部分の時間短縮演算を行うかを決定できるようになる。
図4は、処理ユニット21における映像信号Sinのトランジェント部分のイメージ例を示す図である。図4に示す細い線Iは、処理ユニット21における映像信号Sinのトランジェント部分を示す入力色差信号等であり、元の(非短縮)の波形である。細線Iに示す映像信号Sinの入力色差信号は差分データDdから得られる。
太い線IIは映像信号Sinのトランジェント部分を短縮した波形であり、本発明でトランジェント部分を時間方向に短縮した出力信号である。ここに映像信号Sinのトランジェント部分の全体の変化量(振幅)をAとすると、トランジェント部分の中心はA/2であり、トランジェント部分の中心より上方側を2分する位置は3A/4であり、トランジェント部分の中心より下方側を2分する位置はA/4である。このように、A/4、A/2、3A/4を中心候補として示されるが、これは一例である。
どこをトランジェント部分の中心として採用するかは、本発明を使用する映像処理システムで決めればよいことである。この例では、太い線IIに示す映像信号Sinを短縮した波形は、A/2を中心としてそのトランジェント部分を時間短縮した場合を示している。トランジェント部分の中心がピクセル上に存在するのは、極まれであり、そのピクセル間の過渡応答時間hの中のどこかに存在する場合の方が多い。そこで、この例では、トランジェント部分の中心が2ピクセル間のどこの位置に存在するか否かを処理ユニット21によって、次のような方法により決定するようになされる。
図4に示す波線円IIIで囲んだトランジェント部分の中心(A/2振幅を含む)を拡大すると、図5に示すようになる。図5は図4に示した波線円のトランジェント部分の2点間のピクセルnからピクセルn+1に至る部分を抽出して拡大した図である。
図5に示すトランジェント部分の中心は、ピクセル(画素)nを越えて、ピクセルn+1を越えない部分である。この例で、ピクセル0からピクセルnに至るまでの全体(合計)の振幅Aの変化量をAnとし、図中、ピクセルnからトランジェント部分の中心に至る振幅Aの変化量、すなわち、ピクセルnをどの程度超えているかを示す変化量をBとすると、(1)式、
B=(A/2)−An ・・・・・・・・・(1)
により求められる。(1)式は、処理ユニット21で演算される。
また、ピクセルnからピクセルn+1に至るまでの振幅Aの変化量をDとし、ピクセルnからピクセルn+1に至るまでの過渡応答時間をhとし、ピクセルnからトランジェント部分の中心に至る過渡応答時間をfとすると、過渡応答時間fは、(2)式、すなわち、
f=h×B/D ・・・・・・・・・(2)
により求められる。ピクセルnからピクセルn+1に至るまでの振幅Aの変化量Dは、差分データDdから得られる。
この例で、ピクセルnからトランジェント部分の中心に至る振幅Aの変化量Bは、処理ユニット21で(1)式により演算で求められるので、変化量Bがピクセルnからピクセルn+1に至るまでの振幅Aの変化量Dに対して、どの程度の割合なのかは分かる。この例では、処理ユニット21が、その割合を時間軸方向に投影してピクセル間の過渡応答時間hに対して演算するようになされる。このように処理ユニット21を構成すると、ピクセルnからピクセルn+1に至る間に存在するトランジェント部分の中心を検出(決定)することができる。
図3に示した処理ユニット21には時間短縮演算用の処理ユニット31が接続される。処理ユニット31は、図1に示した時間短縮部30を構成し、垂直同期信号SV、中心検出信号Scr、Scb、制御開始信号S27、センターナンバ信号S28、画素位相信号S29、スタートステップ信号S31、マックススタート信号S32、マックスストップ信号S33、ストップステップ信号S34、ゲイン調整信号S35及びスルー制御信号S36を入力し、処理ユニット21によって検出された映像信号Sinのトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮するようになされる。
垂直同期信号SVは、設定値演算用のトリガーパルスとして使用している。スタートステップ信号S31は、トランジェント部分の中心を基準にした時間短縮処理を開始する信号である。マックススタート信号S32は、トランジェント部分の中心を基準にした最大の時間短縮処理を開始する信号である。マックスストップ信号S33は、トランジェント部分の中心を基準にした最大の時間短縮処理を停止する信号である。ストップステップ信号S34は、トランジェント部分の中心を基準にした時間短縮処理を停止する信号である。ゲイン調整信号S35は、過渡応答時間に乗算するためのゲインa(利得)を設定する信号である。スルー制御信号S36は、処理ユニット31で時間短縮処理を行わずに処理スルーを設定する信号である。
スタートステップ信号S31、マックススタート信号S32、マックスストップ信号S33、ストップステップ信号S34、ゲイン調整信号S35及びスルー制御信号S36は、時間短縮制御信号S30を構成し、図1に示した制御部40から供給される。
処理ユニット31には例えば、CPU(中央演算処理装置)やDSP(デジタル信号処理装置)等が使用され、このCPU又はDSPは処理ユニット21で決定されたトランジェント部分の中心に、前後のトランジェント部分を時間方向に引き込むための演算を実行する。
次に、順を追って、処理ユニット31におけるCPU又はDSPの処理内容について説明する。図6A及びBは、処理ユニット31におけるトランジェント部分の中心より前半部分の演算例、図7A及びBは、同トランジェント部分の中心より後半部分の演算例を各々示す波形図である。図6A及び図7Aにおいて、SHは水平同期信号を示している。図6B及び図7Bに示すSinは、入力色差信号等のトランジェント部分の映像信号を示している。図中、黒ドットは、輪郭補正前の画素であり、白抜きドットは、輪郭補正後の画素である。
[トランジェント部分の中心より前半部分の演算例]
この例では、図6Bに示す映像信号Sinのトランジェント部分を時間方向に短縮する場合を前提とする。この例では、図4及び図5で説明した内容と照らし合わせるために、ピクセルnが「4」で、ピクセルn+1が「5」で、過渡応答時間fが「4.7」となる場合を挙げる(n=4、n+1=5、f=4.7:図中の黒ドット参照)。
まず、映像信号Sinのトランジェント部分の中心のピクセルの位置としては、トランジェント部分を成すピクセル番号0番〜12番のうちの4番目と5番目のピクセルの間に存在している。ピクセル間を変化量Aを1と考えると4.7は4番目より0.7ほど5番目よりに存在することになる。
デジタル信号処理により実際に過渡応答時間fを演算する場合、ピクセル間の振幅A=1を、例えば64位の数値に対応させ、0.7という値は、64×0.7≒45として取り扱うようになされる。ここでは、全てピクセル間を振幅A=1として概念的なものとして説明することにする。なお、時間短縮の割合、すなわち、過渡応答時間fを時間軸方向にどの程度縮めるかは、自由に選択可能であるが、ここでは1/2(ゲインa=2)の場合について説明をする。
図6Bに示すt0〜t12(数字)は、図6Aに示した水平同期信号SHに同期して入力されるトランジェント部分の映像信号Sinの入力信号値の順番を示す時刻である。ここで、映像信号Sinの入力信号値をsig(0)〜sig(12)とする。
まず、処理ユニット31は時刻t1におけるピクセル番号=「1」番目の演算を次のように実行する。制御部40から処理ユニット31へ出力されるスルー信号S36が、例えば、ロー・レベルとなって時間短縮処理が実行される。処理ユニット31はピクセル番号=「0」番目を基準にして、ピクセル番号=「1」番目の距離(過渡応答時間)=「1」と「中心」からの距離(過渡応答時間)=4.7の差を求める。この例では、過渡応答時間の差は4.7−1=3.7である。
次に、処理ユニット31は、その距離(過渡応答時間)の差にゲインaを乗算する。この例では、ゲインaが「2」であるので、3.7×2を演算してゲイン乗算値=7.4を得る。更に、処理ユニット31はゲイン乗算値が「中心」の値である4.7より大きいか小さいかを判別する。ゲイン乗算値が「中心」の値である4.7より大きい場合は、ピクセル番号=「1」番目のピクセルデータをsig(0)と置き換える(図中の白抜きドット参照)。
次に、処理ユニット31は時刻t2におけるピクセル番号=「2」番目の演算を次のように実行する。処理ユニット31はピクセル番号=「0」番目を基準にして、ピクセル番号=「2」番目の距離(過渡応答時間)=「2」と「中心」からの距離(過渡応答時間)=4.7の差を求める。この例では、過渡応答時間の差は4.7−2=2.7である。
処理ユニット31は、更にその距離(過渡応答時間)の差にゲインaを乗算する。この例では、ゲインaが「2」であるので、2.7×2を演算してゲイン乗算値=5.4を得る。更に、処理ユニット31はゲイン乗算値が「中心」の値である4.7より大きいか小さいかを判別する。ゲイン乗算値が「中心」の値である4.7より大きい場合は、ピクセル番号=「2」番目のピクセルデータをsig(0)と置き換える(図中の白抜きドット参照)。
次に、処理ユニット31は時刻t3におけるピクセル番号=「3」番目の演算を次のように実行する。処理ユニット31はピクセル番号=「0」番目を基準にして、ピクセル番号=「3」番目の距離(過渡応答時間)=「3」と「中心」からの距離(過渡応答時間)=4.7の差を求める。この例では、過渡応答時間の差は4.7−3=1.7である。
処理ユニット31は、更にその距離(過渡応答時間)の差にゲインaを乗算する。この例では、ゲインaが「2」であるので、1.7×2を演算してゲイン乗算値=3.4を得る。更に、処理ユニット31はゲイン乗算値が「中心」の値である4.7より大きいか小さいかを判別する。ゲイン乗算値=3.4は、「中心」の値である4.7より小さい場合となるので、処理ユニット31は、ピクセル番号=「3」の差分データ(ピクセルデータ)を演算で求めるようになる。
例えば、処理ユニット31は、まず、「中心」から過渡応答時間=3.4がどこに存在するかを計算する。このとき、映像番号=4番目のピクセルを起点とした場合に、3.4−0.7=2.7となる。すなわち、過渡応答時間=3.4は、映像番号=「4」番目の位置より2.7だけ前側に存在している場合である。
この場合、映像番号=「1」番目と映像番号=「2」番目の間に過渡応答時間=2.7のピクセルが位置する。すなわち、映像番号=「1」番目から映像番号=「2」の距離を内分する点、換言すると、内分比=0.3対0.7を分ける位置が存在する。この内分点は、映像番号=「1」番目から映像番号=「2」寄りに0.3、映像番号=「2」番目から映像番号=「1」寄りに0.7とする位置である。
処理ユニット31は、上述の関係から映像番号=「1」番目の入力信号sig(1)と映像番号=「2」番目の入力信号sig(2)を直線補間することにより、この位置の出力信号Soutを(3)式、すなわち
Sout=sig(1)×0.7+sig(2)×0.3 ・・・・(3)
を計算して求めるようになる(図中の白抜きドット参照)。
このようにして、映像信号Sinのトランジェント部分の中心より前側半分については、以上のような計算を実行することで、映像信号Sinの他のトランジェント部分の中心より前側半分についても同じ方法で全て計算が実行できるようになる。
[トランジェント部分の中心より後半部分の演算例]
この例では、図7Bに示すトランジェント部分の中心より後半部分の演算例について説明する。映像番号=「4」番目〜映像番号=「8」番目までは、図6Bに示した演算例と同じ計算方法が採られるので、代表として映像番号=「7」番目の場合2を例に挙げる。
処理ユニット31は、時刻t7におけるピクセル番号=「7」番目の演算を次のように実行する。制御部40から処理ユニット31へ出力されるスルー信号S36が、例えば、ロー・レベルとなって時間短縮処理が実行される。処理ユニット31はピクセル番号=「0」番目を基準にして、ピクセル番号=「7」番目の距離(過渡応答時間)=「7」と「中心」からの距離(過渡応答時間)=4.7の差を求める。この例では、過渡応答時間の差は7−4.7=2.3である。
処理ユニット31は、更にその距離(過渡応答時間)の差にゲインaを乗算する。この例では、ゲインaが「2」であるので、2.3×2を演算してゲイン乗算値=4.6を得る。更に、処理ユニット31はゲイン乗算値がトランジェント部分の最終ピクセル番号=「12」番目と、「中心」の値である4.7と比較して大きいか小さいかを判別する。この場合、ゲイン乗算値=4.6が12−4.7=7.3より小さい場合となるので、処理ユニット31は、ピクセル番号=「7」の差分データ(ピクセルデータ)を演算で求めるようになる。
例えば、処理ユニット31は、まず、「中心」から過渡応答時間=4.6がどこに存在するかを計算する。このとき、映像番号=5番目のピクセルを起点とした場合に、4.6−0.3=4.3となる。すなわち、過渡応答時間=4.3は、映像番号=「5」番目の位置より4.3だけ後側に存在している場合である。
この場合、映像番号=「9」番目と映像番号=「10」番目の間に過渡応答時間=4.3のピクセルが位置する。すなわち、映像番号=「9」番目から映像番号=「10」の距離を内分する点、換言すると、内分比=0.3対0.7を分ける位置が存在する。この内分点は、映像番号=「9」番目から映像番号=「10」寄りに0.3、映像番号=「10」番目から映像番号=「9」寄りに0.7とする位置である。
処理ユニット31は、上述の関係から映像番号=「9」番目の入力信号sig(9)と映像番号=「10」番目の入力信号sig(10)を直線補間することにより、この位置の出力信号Soutを(4)式、すなわち
Sout=sig(9)×0.7+sig(10)×0.3 ・・・・(4)
を計算して求めるようになる(図中の白抜きドット参照)。
処理ユニット31は、時刻t9におけるピクセル番号=「9」番目の演算を次のように実行する。処理ユニット31はピクセル番号=「0」番目を基準にして、ピクセル番号=「9」番目の距離(過渡応答時間)=「9」と「中心」からの距離(過渡応答時間)=4.7の差を求める。この例では、過渡応答時間の差は9−4.7=4.3である。
処理ユニット31は、更にその距離(過渡応答時間)の差にゲインaを乗算する。この例では、ゲインaが「2」であるので、4.3×2を演算してゲイン乗算値=8.6を得る。更に、処理ユニット31はゲイン乗算値がトランジェント部分の最終ピクセル番号=「12」番目と、「中心」の値である4.7と比較して大きいか小さいかを判別する。この場合、ゲイン乗算値=8.6が12−4.7=7.3より大きい場合となるので、処理ユニット31は、ピクセル番号=「9」の差分データ(ピクセルデータ)は、トランジェント部分の最終ピクセル番号=「12」番目の入力信号値sig(12)となされる(図中の白抜きドット参照)。
このように処理ユニット31を構成すると、処理ユニット21で決定された映像信号Sinのトランジェント部分の中心を動かさずに、その時間的な前後のピクセルを中心に近づける演算を実行できるようになる。図3に示した処理ユニット31には端子2が接続され、式(1)〜(4)により演算され、また、ピクセル番号=「0」番目の入力信号値sig(0)や、ピクセル番号=「12」番目の入力信号値sig(12)等に置き換えられた輪郭補正後の出力信号Soutが次段へ出力される。
続いて、映像処理方法について、エッジエンハンサー100における処理例を説明する。図8は、第1の実施例に係るエッジエンハンサー100における処理例を示すフローチャートである。
この実施例では、映像信号Sinを画素単位に処理する場合を前提にして、映像信号Sinで連続する複数画素における振幅レベルが時間と共に変化する部分をトランジェント部分とする。トランジェント部分の時間短縮処理に関しては、トランジェント部分のピクセル数を0〜nとし、その中心直前のピクセル番号をmとし、中心のピクセル位置をc(整数とは限らないもの)とし、時間短縮ゲインをaとする。これはトランジェント部分の過渡応答時間を1/aにするという意味である。カウントアップするピクセル(画素)番号(No.)をl(小文字エル)とする。
これを制御条件にして図8に示すフローチャートのステップST1で映像信号Sinのトランジェント部分を検出する。このとき、差分演算器11はフィルタ選択信号S11を入力して、複数のフィルタの中から1つのフィルタを選択する。差分演算器11には、信号ビット+9ビットの映像信号Sin、水平同期信号SH及び、1ビットのフィルタ選択(FIL-SW)信号S11が入力され、当該画素の振幅レベルを示すデータと、1つ前の画素の振幅レベルを示すデータとの差が水平同期信号SHを基準にして演算される。演算して得た信号ビット+9ビットの差分データDdは、アップ・ダウン検出部12及びスロープ検出用の処理ユニット13に出力される。差分演算器11は、差分データDdの他に出力イネーブル信号Senを処理ユニット13及び中心決定用の処理ユニット21に出力する。
アップ・ダウン検出部12には、差分データDdの他に、6ビットのスロープオン信号S12及び、4ビットのスロープオフ信号S13が入力される。アップ・ダウン検出部12はスロープオン信号S12に基づいてトランジェント部分の上り又は下り方向の検出をオンし、スロープオフ信号S13に基づいてトランジェント部分の上り又は下り方向の検出をオフする。このオン/オフにより、アップ・ダウン検出部12では、スロープオン信号S12及びスロープオフ信号S13に基づいて差分データDdのアップ方向又はダウン方向が検出され、映像信号Sinでトランジェント部分を成す前半部分及び後半部分を含むアップ・ダウン検出信号Sudを処理ユニット13に出力するようになされる。
処理ユニット13には、映像信号Sinの差分データDd、出力イネーブル信号Sen、アップ・ダウン検出信号Sud、3ビット(0〜7)のウイークバリュウ信号S14、1ビット(0〜1)の水平同期信号SH及び、6ビットのスロープ信号S16が入力される。
処理ユニット13には、ウイークバリュウ信号S14に基づいてスロープの微弱値が設定され、スロープ信号S16に基づいて、トランジェント部分でスロープが設定される。
処理ユニット13では、差分データDd、出力イネーブル信号Sen、アップ・ダウン検出信号Sud、ウイークバリュウ信号S14、水平同期信号SH及びスロープ信号S16に基づいて映像信号Sinでトランジェント部分を成す前半部分及び後半部分を含むスロープが検出される。
処理ユニット13は、スロープ検出に基づいてトランジェント部分のスロープ全体を示すインテグラル信号S23、トランジェント部分のスロープに設定されたピクセル番号を示すスロープナンバ信号S24、トランジェント部分の中心検出の開始を許可する制御開始信号S25、ピクセル番号に付加されたフラグを示すフラグ信号S26を処理ユニット11に出力する。
次に、ステップST2で、上述の映像信号Sinのトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出する。このとき、中心決定用の処理ユニット21には、映像信号Sin、出力イネーブル信号Sen、2ビットのアップスライス信号S21、2ビットのダウンスライス信号S22、インテグラル信号S23、スロープナンバ信号S24、制御開始信号S25及びフラグ信号S26が入力される。
処理ユニット21では、処理ユニット13によって検出された映像信号Sinのトランジェント部分の複数画素における振幅レベルの変化量から、出力イネーブル信号Sen、アップスライス信号S21、ダウンスライス信号S22、インテグラル信号S23、スロープナンバ信号S24、制御開始信号S25及びフラグ信号S26に基づいて当該トランジェント部分の中心を検出するようになされる。
例えば、処理ユニット21では、制御開始信号S25に基づいて映像信号Sinのトランジェント部分の全体から、振幅変化量Anを求める。このとき、処理ユニット21は、ピクセル0からピクセルnに至るまでの全体(合計)の振幅変化量をAnとしたとき、ピクセルnをどの程度超えているかを示す変化量Bを(1)式により演算される。
ここで求めた振幅変化量Anに基づいて、その値のどこを中心にしてトランジェント部分の時間短縮演算を行うかを決定する。また、処理ユニット21では、アップスライス信号S21に基づいてトランジェント部分のスロープ全体から前半部分が切り出され、ダウンスライス信号S22に基づいて、そのスロープ全体から後半部分が切り出される。
また、処理ユニット21は、ピクセルnからピクセルn+1に至るまでの振幅Aの変化量をDとし、ピクセルnからピクセルn+1に至るまでの過渡応答時間をhとし、ピクセルnからトランジェント部分の中心に至る過渡応答時間をpとしたとき、過渡応答時間fを(2)式より演算される。
次に、上述の映像信号Sinのトランジェント部分の中心を基準にして、以下に述べるステップST3〜ステップST18で前後のトランジェント部分を時間方向に短縮する。まず、ステップST3で、処理ユニット31は制御開始信号S27に基づいてピクセルのピクセル番号(No.)に関してl=0を設定する。
次に、ステップST4で処理ユニット31は中心直前のピクセル番号mと他のピクセル番号=lと比較して、l>mを判別する。処理ユニット31は、例えば、トランジェント部分の中心を特定するためのピクセル番号を示すセンターナンバ信号S28及び、トランジェント部分の映像信号の中心の位相を示す映像位相信号S29に基づいてl>mの判別を実行し、判別結果に基づいて制御を分岐する。
ピクセル番号に関してl<mの場合はトランジェント部分の中心より前半部分を演算するために、ステップST5に移行する。ステップST5で処理ユニット31は振幅変化量Aについて、時間短縮ゲインをaとし、中心のピクセル位置をcとしたとき、A=(c−1)×aを演算する。時間短縮用のゲインaは、ゲイン調整信号S35によって設定される。
その後、ステップST6で処理ユニット31は振幅変化量Aと中心のピクセル位置cとを比較してA<cを判別する。c<Aの場合はステップST7に移行する。ステップST7で処理ユニット31はピクセル番号=lに関する出力信号outsig(l)についてoutsig(l)=sig(0)とする。ここでの処理は、図6Bに示した時刻t1,t2におけるピクセル番号=「1」及び「2」番目の演算内容を参照されたい。
振幅変化量Aに関してA<cの場合はステップST8に移行する。ステップST8で処理ユニット31は中心の変化量Bに関してB=A−(c−m)を演算する。その後、ステップST10で処理ユニット31は中心の変化量Bを整数部分のB1と、少数部分のB2に分ける。ステップST11で処理ユニット31はoutsig(l)=sig(m−B1−1)×B2+sig(m−B1)×(1−B2)を演算する。ステップST8〜ST10に至る処理は、図6Bに示した時刻t3におけるピクセル番号=「3」番目の演算内容を参照されたい。その後、ステップST17に移行する。
上述のステップST4でピクセル番号に関してl>mの場合は、トランジェント部分の中心より後半部分を演算するので、ステップST11に移行する。ステップST10で処理ユニット31は振幅変化量に関してA=(1−c)×aを演算する。その後、ステップST12で処理ユニット31は振幅変化量Aと差分量(n−c)とを比較して、A<(n−c)を判別する。A<(n−c)の場合はステップST13に移行する。
ステップST13で処理ユニット31はB=A−(m+1−c)を演算する。ステップST14でBを整数部分のB1と、少数部分のB2に分ける。その後、ステップST15でoutsig(l)=sig(m+2+B1)×B2+sig(m+1+B1)×(1−B2)を演算する。ステップST12〜ST15に至る処理は、図7Bに示した時刻t7におけるピクセル番号=「7」番目の演算内容を参照されたい。その後、ステップST17に移行する。
上述のステップST12で振幅変化量に関してA>(n−c)の場合はステップST16に移行して、出力信号に関してoutsig(l)=sig(n)とする。ここでの処理は、図7Bに示した時刻t9におけるピクセル番号=「9」番目の演算内容を参照されたい。その後、ステップST17に移行する。ステップST17では、ピクセル番号lとピクセル番号nとを比較して、l=nとなったかを判別する。ピクセル番号に関してl=nとなっていない場合は、ステップST18に移行してピクセル番号lを1つインクリメント(l=l+1)してステップST4に戻り、上述した処理を繰り返すようになされる。映像信号Sinのトランジェント部分については、全てを計算するようになる。
このように、第1の実施例としてのエッジエンハンサー100及びその映像処理方法によれば、映像信号Sinを画素単位に処理する場合に、差分演算器11、アップ・ダウン検出部12及び処理ユニット13は、映像信号Sinのトランジェント部分を検出すると共に、当該トランジェント部分の複数画素における振幅レベルを検出する。処理ユニット21は、処理ユニット13によって検出された映像信号Sinのトランジェント部分の複数画素における振幅レベルの変化量から当該トランジェント部分の中心を検出する。これを前提にして、処理ユニット31は、処理ユニット21によって検出された映像信号Sinのトランジェント部分の中心を基準にして前後のトランジェント部分を時間方向に短縮するようになる。
従って、トランジェント部分の画素の最大及び最小の振幅レベルはそのままで、トランジェント部分の中心付近の傾きが右上がりである場合に、処理前の映像信号Sinのトランジェント部分の中心付近の傾きに比べて急激に立ち上がる方向(反時計方向)に回転できるようになる。トランジェント部分の中心付近の傾きが左下がりである場合は、処理前の映像信号Sinのトランジェント部分の中心付近の傾きに比べて急激に立ち上がる方向(時計方向)に回転できるようになる(反輪郭補正処理)。
これにより、映像信号Sinによって表示される映像のエッジ部分を強調することができる(輪郭補正処理)。従って、映像のエッジ部分がよりクッキリと引き締まるような効果が期待できる。さらに、従来方式の輪郭補正回路のように、ディレイ信号同士の演算によるエッジ強調を行っていないため、制約となってしまう固定時定数のようなものを持たずに済む。
しかも、トランジェント部分の時間方向へ短縮に関しては、振幅や時間的長さがどのような場合のトランジェント部分であっても、過渡応答時間にa倍のゲインを乗算することで、任意に可変することが可能となる。例えば、画面の左端から右端まで、1水平期間(1H)かけてゆっくり変化するような色差ランプ波形に関しても、エッジ部分を引き締めるといった対応が可能となる。ゆっくり変化するような信号に関しては、敢えて、時間短縮を行わなくてもよい。ゲインに関しては、どのような値でも対応可能となるため、好みに応じた量の時間短縮を実行することが可能となる。
図9は、第2の実施例としてのゲイン対ピクセル数の関係例を示すグラフ図である。
この実施例では、映像信号Sinのトランジェント部分に有するピクセル数に応じた時間短縮処理を実行する場合を前提とする。この例では、好みに応じた量の時間短縮処理を実行するために最適なゲインaを決定するようになされる。
図9に示すゲイン対ピクセル数の関係例において、縦軸は時間短縮用のゲインaであり、図3に示した処理ユニット31に設定される。横軸は、ピクセル数であり、図6Bや図7Bに示したトランジェント部分を構成するピクセル数である。
図9に示すゲイン対ピクセル数の関係例を示すグラフ特性は台形状を有しており、処理ユニット31に対して、時間短縮用のゲインaを可変して設定するために準備される。ゲイン対ピクセル数の関係例を示すグラフ特性は、例えば、二値化して制御部40内のメモリに格納して保持して置いてもよい。処理ユニット31では、映像信号Sinのトランジェント部分に有するピクセル数に応じた時間短縮処理が実行される。
この例で、映像信号Sinで適度なピクセル数を有するトランジェント部分については、時間短縮処理を行い、また、映像信号Sinで変化量のあるピクセル数が時間的に長くなるトランジェント部分については時間短縮処理を行わない。つまり、あるピクセル数mを境にして、それより短いトランジェント部分は、時間短縮処理の対象とし、それより長いトランジェント部分は時間短縮処理の対象から外すようになされる。
この例では、図9に示すピクセル数が0〜qであるトランジェント部分と、ピクセル数がm以上となるトランジェント部分とに関しては、ゲインa=1で、入力に対し何も行わずにそのまま出力される。このとき、制御部40から処理ユニット31へ出力されるスルー信号S36が、例えば、ハイ・レベルとなって時間短縮処理がパスされる。
また、ピクセル数がp〜rであるトランジェント部分は、ゲインa(a=2に設定)で定めた時間短縮処理を行う。このとき、上述のスルー信号S36が、ロー・レベルとなって時間短縮処理が実行される。ピクセル数q〜pとピクセル数r〜mは、ゲインaで定めた値と、ピクセル番号1をリニアにつなぐように変化させ、ゲインaの不連続点がないようになされる。
このように、時間短縮用のゲインaをトランジェント部分のピクセル数で、図9のグラフ特性のように変化させると、横引きノイズの発生を抑えることができる。横引きノイズは、ピクセル数mという値を同じ画である静止画を流し場合、映像処理系のノイズ状態等により、同じトランジェント部分であっても、そのピクセル数が垂直期間V毎に多少変化する。従って、丁度、ピクセル数mのトランジェント部分が垂直期間V毎にそのmの値が前後し、そのトランジェント部分が時間方向に短縮処理が行われたり、短縮処理が行われなかったりすることにより発生する表示画面上の症状(現象)をいう。
このように処理ユニット31を図9に示したグラフ特性により制御すると、振幅レベルの変化量Aが少なく過渡応答時間fが長くなるトランジェント部分では、時間短縮処理を実行することなく、振幅レベルの変化量Aが多く過渡応答時間fが短くなるトランジェント部分とを連続的にエッジ強調機能をつなげることができる。これにより、第1の実施例で説明したピクセル数mのトランジェント部分に関しても、静止画にして垂直期間V毎にそのピクセル数mが多少変化し時間短縮を行ったり、行わなかったりしても、その出力結果の変化は微妙なものに抑えることができる。
図10は、処理ユニット31におけるゲインaの設定例を示すフローチャートである。
この例では、図9に示したゲイン対ピクセル数の関係例の横軸のピクセル数において、時間短縮処理の開始及び停止を設定するピクセル数q、p、r、mが設定される。ピクセル数qは、時間短縮処理の開始を判定するための最少数であり、これをstartstep数と定義する。ピクセル数pは、ゲインaを考慮した上り遷移部分の時間短縮処理を開始する際の最少数であり、これをmaxstart数と定義する。ピクセル数rは、ゲインaを考慮した下り遷移部分の時間短縮処理を停止する最大数であり、これをmaxstop数と定義する。ピクセル数mは、時間短縮処理を行わないとすることを判定するための数であり、これをstopstep数と定義する。
これらをゲインの決定条件にして、図10に示すフローチャートのステップST21でトランジェント部分のピクセル数Xとstartstep数qとを比較して、ピクセル数Xが時間短縮処理を開始するためのstartstep数qを満たしたかを判別する。ピクセル数Xがstartstep数q以下である場合(トランジェント部分のピクセル数X≦startstep数q)は、ステップST22に移行してゲイン=1を設定する。このとき、”ゲイン=1を設定する”ためのゲイン調整信号S35が制御部40から処理ユニット31へ出力される。
ピクセル数Xがstartstep数qを越えた場合(トランジェント部分のピクセル数X>startstep数q)は、ステップST23に移行する。ステップST23では、トランジェント部分のピクセル数Xとmaxstart数pとを比較して、ゲインaを考慮した上り遷移部分の時間短縮処理を開始するためのmaxstart数pを満たしたかを判別する。ピクセル数Xがmaxstart数p以下である場合(トランジェント部分のピクセル数X≦maxstart数p)は、ステップST24に移行してゲインに関して式(5)を設定する。
このとき、”式(5)を設定する”ためのゲイン調整信号S35が制御部40から処理ユニット31へ出力される。
ピクセル数Xがmaxstart数pを越えた場合(トランジェント部分のピクセル数X>maxstart数p)は、ステップST25に移行する。ステップST25では、トランジェント部分のピクセル数Xとmaxstop数rとを比較して、ゲインaを考慮した時間短縮処理を開始するためのmaxstop数rに到達したか否かを判別する。ピクセル数Xがmaxstop数r以下である場合(トランジェント部分のピクセル数X≦maxstop数r)は、ステップST26に移行してゲイン=gain(例えば、gain=2)を設定する。このとき、”gain=2を設定する”ためのゲイン調整信号S35が制御部40から処理ユニット31へ出力される。
ピクセル数Xがmaxstop数rを越えた場合(トランジェント部分のピクセル数X>maxstop数r)は、ステップST27に移行する。ステップST27では、トランジェント部分のピクセル数Xとstopstep数mとを比較して、ピクセル数Xがゲインaを考慮した下り遷移部分の時間短縮処理を開始するためのstopstep数mを満たしたかを判別する。ピクセル数Xがstopstep数m以下である場合(トランジェント部分のピクセル数X≦stopstep数m)は、ステップST28に移行してゲインに関して式(6)を設定する。
このとき、”式(6)を設定する”ためのゲイン調整信号S35が制御部40から処理ユニット31へ出力される。
ピクセル数Xがstopstep数mを越えた場合(トランジェント部分のピクセル数X>stopstep数m)は、ステップST29に移行する。ステップST29では、ゲイン=1を設定する。このとき、”ゲイン=1を設定する”ためのゲイン調整信号S35が制御部40から処理ユニット31へ出力される。その後、処理ユニット31では、上述のように決定された最適なゲインに基づいて、好みに応じた量の時間短縮処理が実行される。
このように、第2の実施例としてのエッジエンハンサー100によれば、ある程度の振幅レベルに変化があるトランジェント部分には、全てに対して同じように作用するため、振幅レベル変化の小さなトランジェント部分から大きな振幅レベル変化のトランジェント部分に至るまで、ほぼ全てに対し、同じようにそのまま時間短縮処理を実行する。そのため、映像にムラ無く、映像変化の小さなところからその大きなところまで、全体的な輪郭補正効果を上げることができる。
しかも、図9に示したような時間短縮用のゲインaの設定だけで、どの程度の時間的長さのトランジェント部分に輪郭補正効果を持たせられるかを変更できるようになる。従って、ゲインaの設定によって得られる輪郭補正効果を色々と変えることができ、期待される輪郭補正効果の自由度が高くなる。このような輪郭補正効果の自由度が高くなるということで、例えば、入力色差信号のフォーマットが変わり、ピクセル密度が違うSDやHD等のさまざまな信号が当該エッジエンハンサー100に入力された場合であっても、図9の時間短縮用のゲインaを設定するだけで、全てのフォーマットに同じような輪郭補正効果を持たせることが可能となる。
図11A及びBは、第3の実施例に係る映像信号Sinと差分データDdとの関係例を示す波形図である。図11Aに示す縦軸は、映像信号Sinの振幅レベルであり、図11Bに示す縦軸は、差分データDdの振幅レベルであり、横軸はいずれも時間tを示している。
この実施例では、映像信号Sinのどこからどこまでを1つのトランジェント部分とするかを判断するところに重要なポイントがある。映像信号Sinのどの範囲を1つのトランジェント部分とするかの判断が非常に重要になる。
例えば、図11Aに示すトランジェント部分の場合、図2Aで説明した映像信号Sinの差分データDdの例によると、トランジェント部分が最初から最後までプラス側(+方向)に存在するため、図11Aに示したようなトランジェント部分を一つのトランジェント部分として判断されてしまう。しかし、実際には、上りのトランジェント部分が2つあり、1つ目が終わりきらないうちに、2つ目が始まってしまい、トランジェント部分がくっついてしまった現象として判断されてしまう。
このような現象は、例えば、元はしっかりと2つに分かれていたトランジェント部分の映像が、コンポーネント信号からコンポジット信号へ帯域制限を受けて変調され、さらに、RF変調されて電波で送信され、各家庭で受信した後、RFデコードされ、さらに、バンドパスフィルタ(BPF)を通ってクロマデコードされて、最初の状態に比べて相当帯域が狭まった場合に、クッキリとした輪郭が変化できなくなったトランジェント部分などに見られる。
これを1つのトランジェント部分と判断されないためには、差分データDdの大きさの遷移に注目するようになされる。すなわち、通常のトランジェント部分の始まりは、差分値Sdが小さく、徐々にそれが大きくなって、また小さくなってから終了する。
これに対して、図11Aに示す映像信号Sinは、図2Aに示した映像信号Sinに比べて、ある程度の時間的長さを有した複数のトランジェント部分が連続する場合である。このような映像信号Sinの差分値Sdを演算すると、図11Bに示すような差分データDd’が得られる。この例では、映像信号Sinの右上がり部分にトランジェント部分TR1及びTR2が連続して存在している。このようなトランジェント部分TR1,TR2を含んだ映像信号Sinのエッジを個々に強調するような輪郭補正をエッジエンハンサー100によって実行できるようになる。
この例では、図1に示した制御部40又は図3に示した処理ユニット13が、図11Aに示したような映像信号Sinのトランジェント部分TR1,TR2の複数画素における振幅レベルの変化量を監視し、当該トランジェント部分TR1の振幅レベルの変化量が大きく現れた後、小さくなり、再度、変化量が大きく現れた場合は、別のトランジェント部分TR2が存在すると認識し、当該トランジェント部分TR1から別のトランジェント部分TR2を分割するようになされる。
例えば、制御部40又は処理ユニット13では、トランジェント部分TR1が始まったら、常に差分値Sdの最大値であるピクセル数を保存しておき、それより小さい差分値Sdになったらトランジェント部分TR1の後半と判断するようになされる。その際もトランジェント部分TR1の後半の最小値ピクセル数を保存しておくようにする。トランジェント部分TR1がそのまま終了すれば、それらのデータは全く使用することはないが、トランジェント部分TR1が終了する前に、最小値ピクセル数より大きな差分値Sdが検出されたら「新たなトランジェント部分TR2」と判断し、新たなトランジェント部分TR2のスタートとするようになされる。
このように制御部40又は処理ユニット13を構成すると、複合するトランジェント部分TR1,TR2を単一のトランジェント部分として映像処理を実行することが避けられ、トランジェント部分TR1,TR2毎にエッジ強調処理を実行できるようになる。
この例で、制御部40又は処理ユニット13では、複合するトランジェント部分TR1,TR2を分割する場合に、当該トランジェント部分TR1から別のトランジェント部分TR2を分割するための判別レベルが設定され、判別レベルに応じてトランジェント部分TR1,TR2の時間短縮用のゲインaを処理ユニット31に設定する。このように処理ユニット13又は制御部40を構成すると、複合するトランジェント部分TR1,TR2を単一のトランジェント部分として映像処理を実行することが避けられ、トランジェント部分TR1,TR2毎にエッジ強調処理を実行できるようになる。
図12は、第3の実施例としてのエッジエンハンサー100における処理例を示すフローチャートである。
この実施例では、処理ユニット13が図11Aに示した映像信号Sinを監視する場合を前提とする。この例で、差分値Sdの最大値であるピクセル数をPmaxとし、差分値Sdの最小値であるピクセル数をPminとする。また、差分値Sdとピクセル数Pmax、又は、差分値Sdとピクセル数Pminの比較判定時の誤動作を防止するためのオフセット値Offa及びOffbが設定される。
この例では、差分値Sdの最大値及び最小値を検出し、その最大値から最小値へ遷移し、再び、差分値Sdが増加に転ずる変化点、すなわち、差分値Sd=0を検出する。この変化点から新たなトランジェント部分TR2等が現れたと判断される。
これらを処理条件にして、処理ユニット13は、図12に示すフローチャートのステップST31で差分値Sdの最大値及び最小値となるピクセル数を検出するためにPmax=0,Pmin=0を設定して前回の差分値Sdをクリアする。
次に、映像信号Sinを監視していて、トランジェント部分TR1等が現れたら、ステップST32で処理ユニット13は差分演算器11から差分値Sdを入力し、Pmaxと差分値Sdとを比較する。差分値SdがPmax以上である場合は、ステップST33に移行して、Pmax=差分値Sd、Pmin=差分値Sdを設定してステップST32に戻る。この処理は常に差分値SdのPmaxを検出して保存するためである。
差分値SdがPmaxを下回る場合は、ステップST34に移行して、処理ユニット13は(Pmax−Offa)と差分値Sdとを比較する。差分値Sdが(Pmax−Offa)以上である場合は、ステップST32に戻って、上述した処理を繰り返す。
差分値Sdが(Pmax−Offa)未満となる場合、換言すると、差分値SdがPmaxより小さくなった場合は、トランジェント部分TR1の後半部分が始まったと判断して、ステップST35に移行する。ステップST35で処理ユニット13はPminと差分値Sdとを比較する。差分値SdがPmin未満となる場合は、ステップST36に移行して、処理ユニット13は(Pmin+Offb)と差分値Sdとを比較する。差分値Sdが(Pmin+Offb)を下回る場合は、ステップST35に戻って、上述した処理を繰り返す。ステップST36で差分値Sdが(Pmin+Offb)以上である場合は、時間短縮処理を終了する。
また、ステップST35で、差分値SdがPmin以上である場合は、ステップST37に移行して、処理ユニット13はPminとして差分値Sdを設定する。この際に、トランジェント部分TR1の後半部分の差分値Sdの最小値としてPminを保存する。
その後、ステップST38に移行して、処理ユニット13は差分値Sdの極性が変化したか否かを判別する。差分値Sdの極性(+方向→−方向又は−方向→+方向)が変化した場合は、新たなトランジェント部分TR2に係る時間短縮処理が実行され、監視処理を終了する。
上述のステップST38で差分値Sdの極性が変化しない場合は、ステップST39に移行して処理ユニット13は差分値Sdが「0」であるか否かを検出する。差分値Sdが「0」である場合(Sd=0)は、時間短縮処理を終了する。差分値Sdが「0」でない場合(Sd≠0)は、ステップST35に戻って上述した処理を繰り返すようになされる。
このように、第3の実施例としてのエッジエンハンサー100によれば、映像信号Sinの差分値Sdを監視して、トランジェント部分TR1,TR2を分ける処理を行う。上述した例では、トランジェント部分TR1が終了する前に、ステップST35でPminより大きな差分値Sdが検出された場合は、図11Aに示した例のように、「新たなトランジェント部分TR2」と判断することができ、その後、新たなトランジェント部分TR2に係る時間短縮処理を開始できるようになる。なお、トランジェント部分TR1がそのまま終了すれば、それらのデータは全く使用されることなく破棄される。
従って、複数のトランジェント部分TR1やTR2等を一気に時間短縮処理をしてしまうことによる誤動作で、偽色が発生してしまうことを防止できるようになる。しかも、図9に示した時間短縮用のゲインaから分かるように、映像のエッジと思われるトランジェント部分と、そうでないトランジェント部分の時間短縮用のゲインaが連続的に変化するため、映像に対し、より自然な引き締め効果が得られる。
この実施例では監視主体が処理ユニット13である場合について説明したが、これに限られることはなく、制御部40で映像信号Sinの差分値Sdを監視し、トランジェント部分TR1,TR2を分ける処理を実行してもよい。
図13は、第4の実施例に係る映像信号Sinのトランジェント部分の時間短縮時の比較例を示す波形図である。
図13において、実線に示す曲線IVは、映像信号Sinに複数のトランジェント部分を含む場合であって、これらのトランジェント部分の時間短縮処理を行っていない場合の映像信号Sinを示している(入力信号)。
波線に示す曲線Vは、曲線IVの映像信号Sinのトランジェント部分を分けずに、1つのトランジェント部分として取り扱った場合であって、時間短縮処理を行った場合の出力信号Soutを示している。
細線に示す曲線VIは、曲線IVの映像信号Sinのトランジェント部分を分けて、2つのトランジェント部分として取り扱った場合であって、時間短縮処理を行った場合の出力信号Sout’を示している。
このような映像信号Sinに複数のトランジェント部分を含む場合であって、曲線IVの映像信号Sinのトランジェント部分を分けずに、1つのトランジェント部分として取り扱った場合と、曲線IVの映像信号Sinのトランジェント部分を分けて、2つのトランジェント部分として取り扱った場合とが入り交じって時間短縮処理が行われた場合に、垂直期間毎に出力信号Sout、Sout’が変化してしまい映像において、色の横引きノイズとなるおそれがある。そこで、第4の実施例では、トランジェント部分を分けるか分けないかの境界付近に、時間短縮用のゲインaをリニアに変化させる工夫を加えている。
図14は映像信号Sinに2つのトランジェント部分TR1,TR2を含んだ波形例を示す図である。
図14に示す縦軸は、映像信号Sinの振幅レベルであり、横軸は時間tである。実線に示す曲線IVは、2つのトランジェント部分TR1,TR2を含む映像信号Sinである。図中、曲線IVの映像信号Sin上に波線楕円で囲んだ部分VIIは、2つのトランジェント部分の境界付近を示している。この例では、境界付近VIIの波形の状態を考慮して、2つのトランジェント部分TR1,TR2を分けるか分けないかを決定すると共に、その境界付近でトランジェント部分を分けた場合と、それを分けなかった場合に対応して、最適な時間短縮用のゲインaを設定し、その境界付近の時間方向の短縮処理をリニアに変化させるようにしている。
図15は、トランジェント境界付近の波形状態とゲイン設定との関係例を示す表図である。
図15に示す表図によれば、トランジェント部分TR1,TR2の境界付近の波形状態を9つ(ケース#1〜#9)に分類して、トランジェント部分TR1,TR2を分ける場合と、それを分けない場合に対応して、最適な時間短縮用のゲインaを設定するようになされる。
表図において、faは当該画素の今の波形である。fbは当該画素より1つ前の波形である。これらはトランジェント部分の傾き(斜め線)のある一部を示している。波形fbの斜め線は、映像信号Sinにおいて、あるトランジェント部分が始まり、図12に示したフローチャートに従って、トランジェントの後半部分を確認した場合に得られ、その際の差分値Sdの最小値を示す傾きを反映している。波形faの斜め線は波形fbのその後の傾きを示すものである。
ケース#1は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが弱くなった場合である。便宜上、前の波形fbの立ち上がりに関して、ある基準位置からの傾き角をθoとし、今の波形faの立ち上がりに関して、同位置からの傾き角をθ1としたとき、両者の間に、θo>θ1となる場合である。これは前の波形fbで、ある最小値ピクセル数Pminを取った後、今の波形faの傾斜がゆるくなった状態を示している。この場合は、トランジェント部分TR1,TR2を分けないで、1つのトランジェント部分として時間短縮処理を行う。その際のゲインaに関しては、倍率を1.0に設定する。これを”ゲイン4”と定義する。ゲイン4は、gain×1.0であり、ゲインaで決めた値そのものである。
ケース#2は、前の波形fbの立ち上がりと、今の波形faの立ち上がりとが同じ場合である。つまり、今の波形faの傾き角をθ2としたとき、両者の間がθo=θ2となる場合である。この場合も、トランジェント部分TR1,TR2を分けないで、1つのトランジェント部分として時間短縮処理を行う。その際のゲインaに関しては、倍率を0.75に設定する。これを”ゲイン3”と定義する。ゲイン3は、gain×0.75である。
ケース#3は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが強くなる場合である。つまり、今の波形faの傾き角をθ3としたとき、両者の間がθo<θ3(θ3>θ2)となる場合である。この場合も、トランジェント部分TR1,TR2を分けないで、1つのトランジェント部分として時間短縮処理を行う。その際のゲインaに関しては、倍率を0.5に設定する。これを”ゲイン2”と定義する。ゲイン2は、gain×0.5である。
ケース#4は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが更に強くなる場合である。つまり、今の波形faの傾き角をθ4としたとき、両者の間がθo<θ4(θ4>θ3)となる場合である。この場合も、トランジェント部分TR1,TR2を分けないで、1つのトランジェント部分として時間短縮処理を行う。その際のゲインaに関しては、倍率を0.25に設定する。これを”ゲイン1”と定義する。ゲイン1は、gain×0.25である。この場合、ゲインaで決めた値より相当小さなゲインaでトランジェント部分の時間短縮を行うようになるため、トランジェントの境界部分を分けるか、又は、分けないかの判断が揺らいだとしても、時間方向の短縮が強く行わないようにできるので、図13に示した2種類のトランジェント部分TR1,TR2を含む波形VIのように、大きく分かれてしまうことを防止できるようになる。
ケース#5は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが更にまた強くなる場合である。つまり、今の波形faの傾き角をθ5としたとき、両者の間がθo<θ5(θ5>θ4)となる場合である。これは、前の波形fbで、最小値ピクセル数Pminを取った後、その最小値よりある程度、今の波形faの傾斜がきつくなった状態を示している。このケース#5が、図12のフローチャートに示した中の「ピクセル数Pmin+Offb≦差分値Sd」の判断の境界付近を表している。この場合は、トランジェント部分TR1,TR2を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う。その際のゲインaに関しては、倍率を「0」に設定する。これを”ゲイン0”と定義する。ゲイン0は、gain×0であり、トランジェントの境界部分に関して時間短縮処理を行わないことを示している。
ケース#6は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが更にまた強くなる場合である。つまり、今の波形faの傾き角をθ6としたとき、両者の間がθo<θ6(θ6>θ5)となる場合である。この場合も、トランジェント部分TR1,TR2を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う。その際のゲインaに関しては、ケース#4と同様にして”ゲイン1”が設定される。
ケース#7は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが更にまた強くなる場合である。つまり、今の波形faの傾き角をθ7としたとき、両者の間がθo<θ7(θ7>θ6)となる場合である。この場合も、トランジェント部分TR1,TR2を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う。その際のゲインaに関しては、ケース#3と同様にして”ゲイン2”が設定される。
ケース#8は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが更にまた強くなる場合である。つまり、今の波形faの傾き角をθ8としたとき、両者の間がθo<θ8(θ8>θ7)となる場合である。この場合も、トランジェント部分TR1,TR2を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う。その際のゲインaに関しては、ケース#2と同様にして”ゲイン3”が設定される。
ケース#9は、前の波形fbの立ち上がりに比べて今の波形faの立ち上がりが更にまた強くなる場合である。つまり、今の波形faの傾き角をθ9としたとき、両者の間がθo<θ9(θ9>θ8)となる場合である。これは、前の波形fbで、最小値ピクセル数Pminの傾きより、明らかに今の波形faに大きな傾きが現れた状態を示している。この場合はトランジェントの境界部分をしっかりと分け、2つのトランジェント部分TR1,TR2として時間短縮処理を行う。その際のゲインaに関しては、ケース#1と同様にして”ゲイン4”が設定される。
図16及び図17図は、処理ユニット31におけるトランジェント分割及びゲイン設定例(その1、2)を示すフローチャートである。
この例では、図5に示した表図内容を記憶した、図示しないメモリ部が図1に示した制御部40に備えられ、このメモリ内容に基づいて制御部40は、処理ユニット31を制御するようになされる。この例では、トランジェントの境界部分の波形の立ち上がりを、より高精度に検出するために前の波形fbの傾きに重み付け係数k(0<k≦1)を導入する場合を挙げる。
これを制御条件にして、制御部40は、図14に示した2つのトランジェント部分TR1,TR2を含んだ映像信号Sinを輪郭補正する場合に、図16に示すフローチャートのステップST41で今の波形faの立ち上がりと、前の波形fbの傾きに重み係数kを乗算した立ち上がり(kfbという)を比較する。今の波形faの立ち上がりが、前の波形kfbの立ち上がりよりも大きくなる場合(fa>kfb)はステップST42に移行して制御部40は処理ユニット31に”ゲイン4”を設定する。ゲイン4は、gain×1.0である。”ゲイン4”を設定するゲイン調整信号S35は制御部40から処理ユニット31へ出力される。その後、ステップST51に移行して、トランジェントの境界部分をしっかりと分け、2つのトランジェント部分TR1,TR2として時間短縮処理を行う(ケース#9)。
上述のステップST41で今の波形faの立ち上がりが前の波形kfbの立ち上がりよりも少ない場合(fa≦kfb)はステップST43に移行して、今の波形faの立ち上がりと、前の波形fbの傾きに重み係数3k/4を乗算した立ち上がり(3kfb/4という)を比較する。今の波形faの立ち上がりが、前の波形3kfb/4の立ち上がりよりも大きくなる場合(fa>3kfb/4)はステップST44に移行して制御部40は処理ユニット31に”ゲイン3”を設定する。ゲイン3は、gain×0.75である。”ゲイン3”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。その後、ステップST51に移行して、トランジェントの境界部分を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う(ケース#8)。
上述のステップST43で今の波形faの立ち上がりが前の波形3kfb/4の立ち上がりよりも少ない場合(fa≦3kfb/4)はステップST45に移行して、今の波形faの立ち上がりと、前の波形fbの傾きに重み係数k/2を乗算した立ち上がり(kfb/2という)を比較する。今の波形faの立ち上がりが、前の波形kfb/2の立ち上がりよりも大きくなる場合(fa>kfb/2)はステップST46に移行して制御部40は処理ユニット31に”ゲイン2”を設定する。ゲイン2は、gain×0.5である。”ゲイン2”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。その後、ステップST51に移行して、トランジェントの境界部分を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う(ケース#7)。
上述のステップST45で今の波形faの立ち上がりが前の波形kfb/2の立ち上がりよりも少ない場合(fa≦kfb/2)はステップST47に移行して、今の波形faの立ち上がりと、前の波形fbの傾きに重み係数k/4を乗算した立ち上がり(kfb/4という)を比較する。今の波形faの立ち上がりが、前の波形kfb/4の立ち上がりよりも大きくなる場合(fa>kfb/4)はステップST48に移行して制御部40は処理ユニット31に”ゲイン1”を設定する。ゲイン1は、gain×0.25である。”ゲイン1”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。その後、ステップST51に移行して、トランジェントの境界部分を分けて、2つのトランジェント部分TR1,TR2として時間短縮処理を行う(ケース#6)。
上述のステップST47で今の波形faの立ち上がりが前の波形kfb/4の立ち上がりよりも少ない場合(fa≦kfb/4)はステップST49に移行して、今の波形faの立ち上がりと、前の波形fbの傾きに重み係数k/8を乗算した立ち上がり(kfb/8という)を比較する。今の波形faの立ち上がりが、前の波形kfb/8の立ち上がりよりも大きくなる場合(fa>kfb/8)はステップST50に移行して制御部40は処理ユニット31に”ゲイン0”を設定する。ゲイン0は、gain×0である。”ゲイン0”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。その後、ステップST51に移行して、トランジェントの境界部分を分けるけれども、時間短縮処理をパスするようになされる(ケース#5)。ケース#5はトランジェント境界部分の回転中心軸に相当するためである。
また、ステップST49で今の波形faの立ち上がりが、前の波形kfb/8の立ち上がりよりも少ない場合(fa≦kfb/8)は、図17に示すステップST52に移行して、今の波形faの立ち上がりと、前の波形fbの傾きに重み係数k/16を乗算した立ち上がり(kfb/16という)を比較する。今の波形faの立ち上がりが、前の波形kfb/16の立ち上がりよりも大きくなる場合(fa>kfb/16)はステップST53に移行して制御部40は処理ユニット31に”ゲイン1”を設定する。”ゲイン1”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。処理ユニット31では、トランジェントの境界部分を分けないで時間短縮処理が行われる(ケース#4)。
また、ステップST52で今の波形faの立ち上がりが、前の波形kfb/16の立ち上がりよりも少ない場合(fa≦kfb/16)は、ステップST54に移行して、今の波形faの立ち上がりと、重み係数を乗算しないままの前の波形fbの立ち上がりとが一致しているかを判別する。今の波形faの立ち上がりと、前の波形fbの立ち上がりとが一致している場合は、ステップST55に移行して制御部40は処理ユニット31に”ゲイン3”を設定する。”ゲイン3”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。処理ユニット31では、トランジェントの境界部分を分けないで時間短縮処理が行われる(ケース#2)。
また、ステップST54で今の波形faの立ち上がりと、前の波形の立ち上がりとが一致しない場合は、ステップST56に移行して、今の波形faの立ち上がりと、重み係数を乗算しないままの前の波形fbの立ち上がりとを比較する。今の波形faの立ち上がりが、前の波形fbの立ち上がりよりも大きい場合は、ステップST57に移行して制御部40は処理ユニット31に”ゲイン2”を設定する。”ゲイン2”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。処理ユニット31では、トランジェントの境界部分を分けないで時間短縮処理が行われる(ケース#3)。
また、ステップST56で今の波形faの立ち上がりが、重み係数を乗算しないままの前の波形fbの立ち上がりよりも小さい場合は、ステップST58に移行して制御部40は処理ユニット31に”ゲイン4”を設定する。”ゲイン4”を設定するためのゲイン調整信号S35は、制御部40から処理ユニット31へ出力される。処理ユニット31では、トランジェントの境界部分を分けないで時間短縮処理が行われる(ケース#1)。
このように、第4の実施例に係るエッジエンハンサー100によれば、トランジェントの境界部分に関して、図示しないメモリ部に格納されたケース#1〜#9を適用し、”分ける”か”分けない”かを制御部40で判断し、そのケース#1〜#9に対応した”ゲイン1”〜”ゲイン4”を処理ユニット31に設定するようになされる。
従って、図13に示したようなトランジェント部分TR1,TR2の垂直期間毎の変化が抑えられ、映像での色の横引きノイズを防止できるようになる。
第4の実施例では、処理ユニット31におけるトランジェント分割及びゲイン設定例について説明したが、第1〜第4の実施例を組み合わせることで、最適なエッジエンハンサー100を提供できるようになる。
この発明は、カラー映像や白黒映像の輪郭を強調する映像輪郭補正装置に適用して極めて好適である。
本発明に係る実施形態としての映像処理装置を応用したエッジエンハンサー100の構成例を示すブロック図である。
(A)及び(B)は映像信号Sinと差分データDdとの関係例を示す波形図である。
エッジエンハンサー100の各部の構成例を示すブロック図である。
処理ユニット21における映像信号Sinのトランジェント部分のイメージ例を示す図である。
図4に示した波線円のトランジェント部分の中心拡大例を示す図である。
(A)及び(B)は、処理ユニット31におけるトランジェント部分の中心より前半部分の演算例を示す波形図である。
(A)及び(B)は、処理ユニット31におけるトランジェント部分の中心より後半部分の演算例を示す波形図である。
第1の実施例としてのエッジエンハンサー100における処理例を示すフローチャートである。
第2の実施例に係るゲイン対ピクセル数の関係例を示すグラフ図である。
処理ユニット31におけるゲインaの設定例を示すフローチャートである。
(A)及び(B)は、第3の実施例に係る映像信号Sinと差分データDdとの関係例を示す波形図である。
第3の実施例としてのエッジエンハンサー100における処理例を示すフローチャートである。
第4の実施例に係る映像信号Sinのトランジェント部分の時間短縮時の比較例を示す波形図である。
映像信号Sinに2つのトランジェント部分TR1,TR2を含んだ波形例を示す図である。
トランジェント境界付近の波形状態とゲイン設定の関係例を示す表図である。
第4の実施例としての処理ユニット31におけるトランジェント分割及びゲイン設定例(その1)を示すフローチャートである。
その処理ユニット31におけるトランジェント分割及びゲイン設定例(その2)を示すフローチャートである。
従来例に係るエッジエンハンサー50の構成例を示すブロック図である。
符号の説明
10・・・第1の検出部、11・・・差分演算器(検出部)、12・・・アップ・ダウン検出部(検出部)、13・・・スロープ検出用の処理ユニット(検出部)、20・・・中心検出部(第2の検出部)、21・・・中心検出用の処理ユニット(中心検出部)、30・・・時間短縮部、31・・・時間短縮演算用の処理ユニット(時間短縮部)、40・・・制御部、100・・・エッジエンハンサー(映像処理装置)