説明

画像処理装置および画像処理方法、プログラム、並びに、記録媒体

【課題】補間処理の開始点とその傾きを求める。
【解決手段】入力信号Yの変化量が閾値TH以下であるとき、換言すれば、入力信号に閾値THの1/2を加算した値を閾値で除算した値Y1の変化量が1以下であるとき、その変化部分前後において変化をなだらかにする補間処理の開始点および傾きが検出される。ここで、領域Aと領域Bでは領域Bの方が短いので、領域Aにおける補間処理の開始点は、領域Aと領域Bの変化点から領域Bの画素数の1/2を引いた地点201、すなわち、14−(12/2)=8という座標値となり、傾きは、接する2つの領域のうち短いほうの領域Bの画素数を、閾値TH/量子値QB(ここでは、4)で除算することにより求める。そして、傾きの極性は、入力信号が変化点前後で増加している場合は正、減少している場合は負となる。したがって、補間処理の基となる直線は、直線211となる。本発明は、画像処理装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、並びに、記録媒体に関し、特に、画像の階調を補間する場合に用いて好適な、プログラム、並びに、記録媒体に関する。
【背景技術】
【0002】
近年テレビジョン受像機に用いられる液晶表示装置やPDP(Plasma Display Panel)の階調表現性能が向上し、10bit以上の階調表現性能を有するようになった。一方、放送信号やDVD(Digital Versatile Disc)等の映像信号は、主に8bitで送信されるので、10bit以上の階調表現性能を有するように性能が向上した表示装置においても、その特性を十分に発揮することが出来ず、特に階調が緩やかに変化する領域において、階調の変化する部分で段差が目立ち、縞模様となって表示されてしまうような場合があった。
【0003】
このような表示を防止するために、複数フレームを用いて階調を補間する技術がある(例えば、特許文献1参照)。
【0004】
【特許文献1】特開2006−222564号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
例えば、上述した引用文献1の技術を用いると、図1に示される8bitの入力信号Aが入力された場合、10bitの出力信号Aを得ることができ、階調の変化する部分で段差が目立ち、縞模様となって表示されてしまうことを防止することができる。
【0006】
しかしながら、上述した引用文献1の技術では、複数フレームを用いて補間を行うために、フレームメモリが必要となる。また、補間しようとする階調が非常に多くなると、その分、分割表示されるフレームが多くなり、フリッカとして視認される可能性がある。
【0007】
また、上述した引用文献1の技術では、動画像において階調変化点が移動するような場合には、正確な補間ができない可能性がある。
【0008】
更に、上述した引用文献1の技術では、すべての画像部分において変化点の近傍を同じ割合で補間するので、変化の度合い(傾き)が異なる部分も同じ傾きで補間される。すなわち、階調の変化点と次の変化点がある程度短い場合は、図1の8bitの入力信号Aと10bitの出力信号Aのように、縞模様の発生を抑えることができるが、階調の変化点と次の変化点とが大きく離れしまっているような場合には、出力信号に縞模様が発生してしまう場合もある。具体的には、上述した引用文献1の技術を用いると、図1に示される8bitの入力信号Bが入力された場合、得られる10bitの出力信号Bには、縞模様が発生してしまう。
【0009】
本発明はこのような状況に鑑みてなされたものであり、階調の変化点と次の変化点とが大きく離れしまっているような場合であっても、フリッカ等を発生させることなく、縞模様の発生を抑制することができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の第1の側面の画像処理装置は、画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるとき、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とを比較し、前記第1の連続幅が前記第2の連続幅より小さい場合、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第1の連続幅によって決まる値とし、前記第1の連続幅が前記第2の連続幅より大きい場合、前記変化点から前記第2の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第2の連続幅によって決まる値として補間処理の開始点およびその傾きを求める演算手段と、前記演算手段により演算された前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する変換手段とを備える。
【0011】
前記画像信号は、Nビットの画像信号をMビットに変換した変換後の画像信号であるものとすることができる。
【0012】
前記所定の閾値は、2の(M−N)乗の値であるものとすることができる。
【0013】
前記画像信号の水平方向のノイズ成分を除去する水平成分ノイズ除去手段を更に備えさせるようにすることができ、前記演算手段には、前記水平成分ノイズ除去手段により水平方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行させるようにすることができる。
【0014】
前記画像信号の垂直方向のノイズ成分を除去する垂直成分ノイズ除去手段を更に備えさせるようにすることができ、前記演算手段には、前記垂直成分ノイズ除去手段により垂直方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行させるようにすることができる。
【0015】
前記演算手段による演算結果を水平1ライン分ずつ保持することが可能な2つのデータ保持手段を更に備えさせるようにすることができ、前記演算手段および前記変換手段には、水平1ライン分ごとに前記画像信号の処理を実行させるようにすることができ、前記演算手段による演算結果を前記データ保持手段のうちの一方が記録している間、前記変換手段には、他方のデータ保持手段に保持されている1つ前の水平ライン分の前記演算手段による演算結果を用いて前記画像信号の画素値を変換させるようにすることができる。
【0016】
本発明の第1の側面の画像処理方法は、画像信号を表示する場合の画像処理を実行する画像処理装置の画像処理方法であって、画像信号を取得し、前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とを比較し、前記第1の連続幅が前記第2の連続幅より小さい場合、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第1の連続幅によって決まる値とし、前記第1の連続幅が前記第2の連続幅より大きい場合、前記変化点から前記第2の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第2の連続幅によって決まる値とし、得られた前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換するステップを含む。
【0017】
本発明の第1の側面のプログラムは、画像信号を表示する場合の画像処理をコンピュータに実行させるためのプログラムであって、画像信号を取得し、前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とを比較し、前記第1の連続幅が前記第2の連続幅より小さい場合、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第1の連続幅によって決まる値とし、前記第1の連続幅が前記第2の連続幅より大きい場合、前記変化点から前記第2の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第2の連続幅によって決まる値とし、前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換するステップを含む処理をコンピュータに実行させる。
【0018】
本発明の第1の側面においては、画像信号が取得され、画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かが判断され、画素値の差分が0より大きい、かつ、所定の閾値以下である場合、変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とが比較され、第1の連続幅が第2の連続幅より小さい場合、変化点から第1の連続幅の略1/2だけスキャン順が早い画素位置が補間処理の開始点とされ、その傾きが、変化点前後の画素値の差分と第1の連続幅によって決まる値とされ、第1の連続幅が第2の連続幅より大きい場合、変化点から第2の連続幅の略1/2だけスキャン順が早い画素位置が補間処理の開始点とされ、その傾きが、変化点前後の画素値の差分と第2の連続幅によって決まる値とされ、補間処理の開始点およびその傾きに基づいて、画像信号の補間処理の開始点からの階調変化が傾きに即した値になるように、画像信号の画素値が変換される。
【0019】
本発明の第2の側面の画像処理装置は、画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるとき、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分、および、前記第1の連続幅と前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値として、補間処理の開始点およびその傾きを求める演算手段と、前記演算手段により演算された前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する変換手段とを備える。
【0020】
前記画像信号は、Nビットの画像信号をMビットに変換した変換後の画像信号であるものとすることができる。
【0021】
前記所定の閾値は、2の(M−N)乗の値であるものとすることができる。
【0022】
前記画像信号の水平方向のノイズ成分を除去する水平成分ノイズ除去手段を更に備えさせるようにすることができ、前記演算手段には、前記水平成分ノイズ除去手段により水平方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行させるようにすることができる。
【0023】
前記画像信号の垂直方向のノイズ成分を除去する垂直成分ノイズ除去手段を更に備えさせるようにすることができ、前記演算手段には、前記垂直成分ノイズ除去手段により垂直方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行させるようにすることができる。
【0024】
前記演算手段による演算結果を水平1ライン分ずつ保持することが可能な2つのデータ保持手段を更に備えさせるようにすることができ、前記演算手段および前記変換手段には、水平1ライン分ごとに前記画像信号の処理を実行させるようにすることができ、前記演算手段による演算結果を前記データ保持手段のうちの一方が記録している間、前記変換手段には、他方のデータ保持手段に保持されている1つ前の水平ライン分の前記演算手段による演算結果を用いて前記画像信号の画素値を変換させるようにすることができる。
【0025】
本発明の第2の側面の画像処理方法は、画像信号を表示する場合の画像処理を実行する画像処理装置の画像処理方法であって、画像信号を取得し、前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分、および、前記第1の連続幅と前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値とし、前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換するステップを含む。
【0026】
本発明の第2の側面のプログラムは、画像信号を表示する場合の画像処理をコンピュータに実行させるためのプログラムであって、画像信号を取得し、前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分、および、前記第1の連続幅と前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値とし、前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換するステップを含む処理をコンピュータに実行させる。
【0027】
本発明の第2の側面においては、画像信号が取得され、画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かが判断され、画素値の差分が0より大きい、かつ、所定の閾値以下である場合、変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、変化点から第1の連続幅の略1/2だけスキャン順が早い画素位置が補間処理の開始点とされ、その傾きが、変化点前後の画素値の差分、および、第1の連続幅と変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値とされ、補間処理の開始点およびその傾きに基づいて、画像信号の補間処理の開始点からの階調変化が傾きに即した値になるように、画像信号の画素値が変換される。
【0028】
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。
【0029】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【0030】
画像処理装置は、独立した装置であっても良いし、記録再生装置、テレビジョン受像機、セットトップボックス、情報処理装置などの画像処理を行うブロックであっても良い。
【発明の効果】
【0031】
以上のように、本発明の第1の側面および第2の側面によれば、入力画像信号を変換することができ、特に、階調の変化点と次の変化点とが大きく離れしまっているような場合であっても、フリッカ等を発生させることなく、縞模様の発生を抑制することができる。
【発明を実施するための最良の形態】
【0032】
以下、図を参照して、本発明の実施の形態について説明する。
【0033】
図2は、画像処理装置11の構成を示すブロック図である。
【0034】
画像処理装置11は、ビデオデータ取得部31、X方向1次ローパスフィルタ(LPF)32、Y方向1次ローパスフィルタ33、ラインメモリ34、スムース部検出処理部35、ラインメモリ36、スイッチ37、データメモリ38、スイッチ39、スムージング処理部40、および、ビデオデータ出力部41を含んで構成されている。
【0035】
なお、画像処理装置11は、これのみで1つの装置を構成するものであっても良いし、例えば、記録再生装置、テレビジョン受像装置、セットトップボックスなどに含まれるものであっても良い。
【0036】
ビデオデータ取得部31は、ビデオデータを取得し、10Bitのデジタルビデオ信号を、X方向1次ローパスフィルタ32に出力する。すなわち、ビデオデータ取得部31は、例えば、8Bitのデジタルビデオ信号の供給を受けた場合、入力された8Bitのデジタルビデオ信号を10Bitのデジタルビデオ信号に変換して出力する。また、ビデオデータ取得部31は、例えば、アナログのデジタルビデオ信号の供給を受けた場合、入力されたアナログのデジタルビデオ信号を量子化して10Bitのデジタルビデオ信号に変換して出力する。また、ビデオデータ取得部31は、例えば、10Bitのデジタルビデオ信号の供給を受けた場合、入力された10Bitのデジタルビデオ信号をそのまま出力する。
【0037】
X方向1次ローパスフィルタ32は、入力されるビデオ信号の水平成分のノイズを除去する。X方向1次ローパスフィルタ32が実行する処理の詳細については、図3を用いて後述する。
【0038】
Y方向1次ローパスフィルタ33は、入力されるビデオ信号の垂直成分のノイズを除去する。Y方向1次ローパスフィルタ33が実行する処理の詳細については、図6を用いて後述する。
【0039】
ラインメモリ34はY方向1次ローパスフィルタ33において、Y方向に隣接する画素の階調を比較するために用いられるラインメモリである。
【0040】
スムース部検出処理部35は、供給された信号の階調が緩やかに変化しているかどうかを判別し、階調の補間を行う開始点と傾きのデータを計算する。スムース部検出処理部35実行する処理の詳細については、図7および図8を用いて後述する。
【0041】
ラインメモリ36は、スムース部検出処理部35の処理が終了するまで1ライン分のデータを保存するラインメモリである。
【0042】
スイッチ37は、スムース部検出処理部35の処理により得られた階調の補間を行う開始点と傾きのデータを、例えば、1ラインごとに、データメモリ38に含まれる#1データメモリ51と#2データメモリ52とに交互に供給する。
【0043】
データメモリ38は、#1データメモリ51と#2データメモリ52との同一構成の2つのメモリで構成されており、いずれか一方のメモリで、スイッチ37から供給されるデータの書き込みを行っているとき、他方のメモリからデータが読み出され、スイッチ39を介して、スムージング処理部40に供給されるようになされている。これらの書き込みおよび読み出しは、例えば、1ラインごとに交互に実行されるようになされている。
【0044】
スイッチ39は、データメモリ38に含まれる#1データメモリ51と#2データメモリ52から読み出されるデータを、例えば、1ラインごとに、スムージング処理部40に供給する。
【0045】
スムージング処理部40は、データメモリ38から読み出されたデータを用いて、ラインメモリ36から読み出される1ライン分の画素データの階調補間を行い、階調補間された画像データを、ビデオデータ出力部41に供給する。スムージング処理部40が実行する処理の詳細は、図9および図10を用いて後述する。
【0046】
ビデオデータ出力部41は、階調補間されて得られる画像データを、例えば、表示装置などに出力して表示させたり、有線または無線を介して接続された他の装置に出力する。
【0047】
なお、図1において、画像処理装置11は、ビデオデータ取得部31により取得されたビデオデータのノイズを、X方向1次ローパスフィルタ32、および、Y方向1次ローパスフィルタ33を用いて除去しているが、例えば、ノイズを気にしなくても良い場合などにおいて、画像処理装置11は、X方向1次ローパスフィルタ32、および、Y方向1次ローパスフィルタ33を省略した構成としても良い。
【0048】
図3は、X方向1次ローパスフィルタ32の更に詳細な構成を示す図である。ここでは、X方向1次ローパスフィルタ32には、1フレームの画素データの左上から、水平方向に順次走査される順(ラスタスキャン順)に画素信号が供給され、処理されるものとする。
【0049】
ビデオデータ取得部31から供給された、ビデオデータの各画素の10bitのデジタルの画素信号は、入力端子81から、スイッチ101に供給されるとともに、減算部103に供給される。スイッチ101の出力は、比較処理部104による比較結果(後述)により決まる。スイッチ101から遅延部102に供給されて遅延された遅延信号は、Y方向1次ローパスフィルタ33に供給されるとともに、減算部103に供給され、入力端子81から供給された現画素の信号との差分が計算されて、減算結果と、現画素の信号と遅延信号とのいずれが大きいかを示す信号とが、比較処理部104に供給される。比較処理部104には、入力端子82から入力される所定の閾値も供給される。
【0050】
所定の閾値は、ビデオデータ取得部31が出力するビデオデータのビット数(ここでは、10bit)と、そのビデオデータが10Bitに変換される前の、元の画像素材のビット数(ここでは、例えば、8bit)とのビット差によって好適な値が変わってくる。ここでは、2進数の計算が実行されるため、閾値は、2の累乗であると好適であることから、所定の閾値として2の(ビット差)乗を用いるようにすると好適である。例えば、ビデオデータ取得部31が出力するビデオデータのビット数が10bitであり、そのビデオデータが10Bitに変換される前の、元の画像素材のビット数が8bitであるとき、所定の閾値は、2の2乗から、4であると好適であり、また、例えば、ビデオデータ取得部31が出力するビデオデータのビット数が12bitであり、そのビデオデータが12Bitに変換される前の、元の画像素材のビット数が8bitであるとき、所定の閾値は、2の4乗から、16であると好適である。
【0051】
なお、ビデオデータ取得部31が出力するビデオデータのビット数と元の画像素材のビット数が同一である場合においても、画像処理装置11は、縞模様が発生するような階調の変化を滑らかにすることができる。この場合、所定の閾値は、要求される画質等に基づいて、経験的または実験的に決められる。
【0052】
そして、遅延部102により遅延された遅延信号は、入力端子83から入力された量子値と加算部105で加算され、スイッチ101に供給されるとともに、入力端子83から入力された量子値との差が減算部106で算出され、スイッチ101に入力される。すなわち、スイッチ101には、入力端子81から入力された現画素の信号、加算部105による遅延信号と量子値との加算結果、および、減算部106による遅延信号と量子値との減算結果が供給される。加算部105による遅延信号と量子値との加算結果は、すなわち、一つ前の画素(隣の画素)に所定の量子値を加えた値であり、減算部106による遅延信号と量子値との減算結果は、すなわち、一つ前の画素(隣の画素)から所定の量子値を減じた値である。
【0053】
比較処理部104は、各水平1ラインの最初の画素においては、スイッチ101が入力端子81から供給された現画素を出力するように、スイッチ101を制御する。
【0054】
比較処理部104は、減算部103による減算結果が入力端子82から入力される所定の閾値よりも大きかった場合、または、減算部103による減算結果が0である場合、すなわち、一つ前の画素に対応する出力値と入力端子81から供給された現画素との階調差が所定の閾値よりも大きいか、または、一つ前の画素に対応する出力値と現画素との階調が同一であった場合、スイッチ101が入力端子81から供給された現画素を出力するように、スイッチ101を制御する。
【0055】
また、比較処理部104は、減算部103による減算結果が入力端子82から入力される所定の閾値以下であり、かつ、遅延信号が現画素信号よりも小さかった場合、すなわち、一つ前の画素に対応する出力値と入力端子81から供給された現画素との階調差が所定の閾値よりも小さく、かつ、階調が増加している場合、加算部105の計算結果を出力するように、スイッチ101を制御する。
【0056】
また、比較処理部104は、減算部103による減算結果が入力端子82から入力される所定の閾値以下であり、かつ、遅延信号が現画素信号よりも大きかった場合、すなわち、一つ前の画素に対応する出力値と入力端子81から供給された現画素との階調差が所定の閾値よりも小さく、かつ、階調が減少している場合、減算部106の計算結果を出力するように、スイッチ101を制御する。
【0057】
すなわち、X方向1次ローパスフィルタ32は、入力される画素値と、その前の画素に対応して出力した値を比較し、一つ前の画素(隣の画素)として出力された値との階調差が所定の閾値よりも大きいか、または、同一である場合、入力された画素をそのまま出力する。また、X方向1次ローパスフィルタ32は、入力される画素値が、一つ前の画素として出力された値よりも大きく、かつ、その差が所定の閾値以下である場合、一つ前の画素として出力された値に所定の量子値を加えた値を出力する。また、X方向1次ローパスフィルタ32は、入力される画素値が、一つ前の画素として出力された値よりも小さく、かつ、その差が所定の閾値以下である場合、一つ前の画素として出力された値から所定の量子値を減じた値を出力する。
【0058】
例えば、ある水平ラインの入力値が図4に示される値であるとき、X方向1次ローパスフィルタ32の入力端子82から入力される所定の閾値が4であり、入力端子83から供給される量子値が1であれば、X方向1次ローパスフィルタ32の出力信号は、図5に示されるようになる。
【0059】
すなわち、入力信号において、閾値4以下の階調の変化部分が1階調ずつ緩やかに変化している一方、閾値以上の階調変化がある部分は入力信号そのままで出力され、高周波成分が保存されている。これにより、図4の図中131および132で示されるようなノイズ成分が、図5に示される出力信号では目立たなくなっている。
【0060】
すなわち、X方向1次ローパスフィルタ32は、1画素から数画素程度の閾値以下の階調変化を弱めることで、水平方向のノイズ成分を除去する。
【0061】
なお、図4および図5を用いて説明した入出力は、例えば、閾値が1、量子値が1/4であり、出力信号のビット幅が2つ拡張された場合も同様である。
【0062】
次に、図6は、Y方向1次ローパスフィルタ33の構成を示す図である。図6のY方向1次ローパスフィルタ33の構成において、図3を用いて説明したX方向1次ローパスフィルタ32と異なる点は、遅延部172の出力は、スムース部検出処理部35に供給されるとともに、ラインメモリ34に供給される点と、減算部173、加算部175、および、減算部176に供給される値が、遅延部172の出力ではなく、ラインメモリ34に供給された、現画素の垂直上方に隣り合う画素に対応する出力値である。
【0063】
すなわち、Y方向1次ローパスフィルタ33においては、垂直方向のデータの比較および補間処理が実行されている。また、Y方向1次ローパスフィルタ33においても、1フレームの画素データの左上から、水平方向に順次走査される順(ラスタスキャン順)に画素信号が供給され、処理されるものとする。
【0064】
X方向1次ローパスフィルタ32から供給された10bitのデジタルの画素信号は、入力端子151から、スイッチ171に供給されるとともに、減算部173に供給される。スイッチ171の出力は、比較処理部174による比較結果(後述)により決まる。スイッチ171から遅延部172に供給されて遅延された遅延信号は、スムース部検出処理部35に供給されるとともに、ラインメモリ34に供給される。ラインメモリ34は、水平1ライン分の遅延信号を保持することが可能なラインメモリである。
【0065】
減算部173は、入力端子151から供給された現画素の信号と、ラインメモリ34に保持されている現画素の垂直上方に隣り合う画素に対応する出力値との差分を計算し、減算結果と、現画素の信号と遅延信号とのいずれが大きいかを示す信号とを、比較処理部174に供給する。比較処理部174には、入力端子152から入力される所定の閾値も供給される。ここでも、所定の閾値として、上述したX方向1次ローパスフィルタ32における場合と同様の、2の(ビット差)乗を用いるようにすると好適である。
【0066】
そして、ラインメモリ34に保持されている現画素の垂直上方に隣り合う画素に対応する出力値は、入力端子153から入力された量子値と、加算部175で加算され、スイッチ171に供給されるとともに、入力端子153から入力された量子値との差が減算部176で演算され、スイッチ171に入力される。すなわち、スイッチ171には、入力端子151から入力された現画素の信号、加算部175による現画素の垂直上方に隣り合う画素に対応する出力値と量子値との加算結果、および、減算部176による現画素の垂直上方に隣り合う画素に対応する出力値と量子値との減算結果が供給される。加算部175による遅延信号と量子値との加算結果は、すなわち、現画素の垂直上方に隣り合う画素に対応する出力値に所定の量子値を加えた値であり、減算部176による遅延信号と量子値との減算結果は、すなわち、現画素の垂直上方に隣り合う画素に対応する出力値から所定の量子値を減じた値である。
【0067】
比較処理部174は、最初の水平1ラインの画素においては、スイッチ101が入力端子81から供給された現画素を出力するように、スイッチ101を制御する。
【0068】
比較処理部174は、減算部173による減算結果が入力端子152から入力される所定の閾値よりも大きかった場合、または、減算部173による減算結果が0である場合、すなわち、現画素の垂直上方に隣り合う画素に対応する出力値と入力端子151から供給された現画素との階調差が所定の閾値よりも大きいか、または、現画素の垂直上方に隣り合う画素に対応する出力値と現画素との階調が同一であった場合、スイッチ171が入力端子151から供給された現画素を出力するように、スイッチ171を制御する。
【0069】
また、比較処理部174は、減算部173による減算結果が入力端子152から入力される所定の閾値以下であり、かつ、遅延信号が現画素信号よりも小さかった場合、すなわち、現画素の垂直上方に隣り合う画素に対応する出力値と入力端子151から供給された現画素との階調差が所定の閾値よりも小さく、かつ、階調が増加している場合、加算部175の計算結果を出力するように、スイッチ171を制御する。
【0070】
また、比較処理部174は、減算部173による減算結果が入力端子152から入力される所定の閾値以下であり、かつ、遅延信号が現画素信号よりも大きかった場合、すなわち、現画素の垂直上方に隣り合う画素に対応する出力値と入力端子151から供給された現画素との階調差が所定の閾値よりも小さく、かつ、階調が減少している場合、減算部176の計算結果を出力するように、スイッチ171を制御する。
【0071】
すなわち、Y方向1次ローパスフィルタ33は、入力される画素値と、現画素の垂直上方に隣り合う画素に対応して出力した値とを比較し、現画素の垂直上方に隣り合う画素に対応して出力された値との階調差が所定の閾値よりも大きいか、または、同一である場合、入力された画素をそのまま出力する。また、Y方向1次ローパスフィルタ33は、入力される画素値が、現画素の垂直上方に隣り合う画素として出力された値よりも大きく、かつ、その差が所定の閾値以下である場合、現画素の垂直上方に隣り合う画素として出力された値に所定の量子値を加えた値を出力する。また、Y方向1次ローパスフィルタ33は、入力される画素値が、現画素の垂直上方に隣り合う画素として出力された値よりも小さく、かつ、その差が所定の閾値以下である場合、現画素の垂直上方に隣り合う画素として出力された値から所定の量子値を減じた値を出力する。
【0072】
なお、Y方向1次ローパスフィルタ33の処理の結果も、X方向1次LPF101と方向が異なるだけで、同様の結果になる。
【0073】
例えば、ある垂直ラインの入力値が図4に示される値であるとき、Y方向1次ローパスフィルタ33の入力端子152から入力される所定の閾値が4であり、入力端子153から供給される量子値が1であれば、Y方向1次ローパスフィルタ33の同一垂直ラインにおける出力信号は、図5に示されるようになる。
【0074】
すなわち、ある垂直ラインの入力信号において、閾値4以下の階調の変化部分が1階調ずつ緩やかに変化している一方、閾値以上の階調変化がある部分は入力信号そのままで出力され、高周波成分が保存されている。これにより、図4の図中131および132で示されるようなノイズ成分が、図5に示される出力信号では目立たなくなっている。
【0075】
すなわち、Y方向1次ローパスフィルタ33は、1画素から数画素程度の閾値以下の階調変化を弱めることで、垂直方向のノイズ成分を除去する。
【0076】
なお、図4および図5を用いて説明した入出力は、垂直方向における場合であっても、例えば、閾値が1、量子値が1/4であり、出力信号のビット幅が2つ拡張された場合も同様である。
【0077】
次に、図7を参照して、スムース部検出処理部35の第1の動作例について説明する。
【0078】
スムース部検出処理部35においても、2進数の計算が実行されるため、スムース部の検出に用いられる閾値THは、2の累乗であると好適である。また、この閾値THは、上述したノイズ除去処理における閾値と異なる値であっても良いが、実際にスムージングが必要か否かを判断する閾値THとしては、上述したノイズ除去処理における閾値と同程度の値、すなわち、2の(ビット差)乗を用いると好適である。ここでは、閾値THは4、量子値QBは1であるものとする。
【0079】
スムース部検出処理部35は、入力信号に閾値THの1/2を加算した値を閾値で除算した値Y1を求める。図5の画像信号が入力された時の値Y1を図7に示す。入力信号に閾値THの1/2を加算するのは、スムース部検出処理部35から出力される信号Y1の階調変化点と、X方向1次ローパスフィルタ32およびY方向一次ローパスフィルタ33を通過する前の元来の入力信号の変化点のずれを無くすためである。なお、ここでは、入力信号に閾値THの1/2を加算した値を閾値で除算した値Y1を加算するものとして説明するが、閾値THの1/2でなくとも、略1/2を加算した値を用いるようにしても良いことはいうまでもない。
【0080】
図7においては、値Y1が同一の値を保持している区間が、それぞれ、A乃至Gの領域に分けて図示されている。スムース部検出処理部35は、入力信号Yの変化量が閾値TH以下であるとき、換言すれば、値Y1の変化量が1以下であるとき、その変化部分前後において変化をなだらかにするスムース部分の補間処理を実行するための補間処理の開始点および補間処理の傾きを検出する。
【0081】
スムース部検出処理部35は、領域Aと領域Bでは領域Bの方が短いので、領域Aにおける補間処理の開始点は、領域Aと領域Bの変化点から領域Bの画素数の1/2を引いた、換言すれば、領域Bの画素数の1/2だけ、変化点よりもスキャン順において時間的に早い地点201、すなわち、このラインにおいて、14−(12/2)=8という座標値を、1箇所目の補間処理の開始点として、配列SSに記録する。なお、ここでは、領域Aと領域Bの変化点から領域Bの画素数の1/2を引いた地点を、補間処理の開始点として説明したが、領域Aと領域Bの変化点から領域Bの画素数の略1/2を引いた地点を、補間処理の開始点としても良いことはいうまでもない。
【0082】
そして、スムース部検出処理部35は、1箇所目の補間処理の開始点からの傾きを、接する2つの領域のうち短いほうの領域Bの画素数を、閾値TH/量子値QB(ここでは、4/1=4)で除算する(ここでは、12/4=3)ことにより求める。そして、傾きの極性は、入力信号が変化点前後で増加している場合は正、減少している場合は負となるので、ここでは、極性は正となる。そして、スムース部検出処理部35は、得られた1箇所目補間処理の傾きを配列SDに記録する。
【0083】
このようにして得られた1箇所目の補間処理の基となる直線は、図7中直線211で示される。
【0084】
次に、スムース部検出処理部35は、領域Bと領域Cとでは領域Bの方が短いので、領域Bにおける補間処理の開始点を、領域Bと領域Cの変化点から領域Bの画素数(または、領域Bの幅)の1/2(または、略1/2)を引いた地点202、すなわち、このラインにおいて、20という座標値を、2箇所目の補間処理の開始点として、配列SSに記録する。そして、スムース部検出処理部35は、1箇所目の補間処理の開始点からの傾きを、接する2つの領域のうち短いほうの領域Bの画素数を、閾値TH/量子値QBで除算する(ここでは、12/4=3)ことにより求め、得られた2箇所目の補間処理の傾き(ここでも、極性は正)を配列SDに記録する。このようにして得られた2箇所目の補間処理の基となる直線は、図中直線212で示される。
【0085】
領域Cと領域D、領域Dと領域Eとの間は、階調の変化量が閾値よりも大きいので、補間は実行されない。そして、領域Eと領域Fではそれぞれ上述した場合と同様の補間処理が行われ、それぞれ配列SSには、図中の地点203および204が記録され、配列SDには、図中の直線213および214の傾き(ここでは、いずれも、−1.5)が記録される。
【0086】
次に、図8を参照して、スムース部検出処理部35の第2の動作例について説明する。
【0087】
ここでも、2進数の計算が実行されるため、スムース部の検出に用いられる閾値THは、2の累乗であると好適であり、さらに、2の(ビット差)乗を用いると好適である。また、この閾値THは、上述したノイズ除去処理における閾値と異なる値であっても良いが、実際にスムージングが必要か否かを判断する閾値THとしては、上述したノイズ除去処理における閾値と同程度の値を用いると好適である。ここでも、閾値THを4、量子値QBを1であるものとする。
【0088】
スムース部検出処理部35は、ここでも、入力信号に閾値THの1/2(または、略1/2)を加算した値を閾値で除算した値Y1を求める。図5の画像信号が入力された時の値Y1を図8に示す。入力信号に閾値THの1/2(または、略1/2)を加算するのは、スムース部検出処理部35から出力される信号Y1の階調変化点と、X方向1次ローパスフィルタ32およびY方向一次ローパスフィルタ33を通過する前の元来の入力信号の変化点のずれを無くすためである。
【0089】
図8においても、値Y1が同一の値を保持している区間をそれぞれ図のようにA乃至Gの領域に分けて図示されている。スムース部検出処理部35は、入力信号Yの変化量が閾値TH以下であるとき、換言すれば、値Y1の変化量が1以下であるとき、その変化部分前後において変化をなだらかにするスムース部分の補間処理を実行するための補間処理の開始点と補間処理の傾きを検出する。
【0090】
スムース部検出処理部35は、領域Aと領域Bとの間で補間処理を実行する場合、A領域における補間処理の開始点を、AとBの変化点から領域Aの画素数(または、領域Aの幅)の1/2(または、略1/2)を引いた地点241、即ち7という座標値とし、補間処理の開始点として配列SSに記録する。そして、スムース部検出処理部35は、1箇所目の補間処理の開始点からの傾きを、領域Aと領域Bの画素数の和(または、領域Aと領域Bのそれぞれの幅の和)の1/2(または、略1/2)を、閾値TH/量子値QB(ここでは、4/1=4)で除算した値とし、その極性は、入力信号が変化点前後で増加している場合は正、減少している場合は負とする。ここでは、1箇所目の補間処理の開始点からの傾きは、(14+12)/(2×4)=3.25となり、その極性は、正となるので、+3.25が補間処理の傾きを記録する配列SDに記録される。
【0091】
このようにして得られた1箇所目の補間処理の基となる直線は、図中直線251で示される。
【0092】
次に、スムース部検出処理部35は、同様にして、B領域における補間処理の開始点を、領域Bと領域Cの変化点から領域Bの画素数(または、領域Bの幅)の1/2(または、略1/2)を引いた地点242、すなわち、20という座標値を、2箇所目の補間処理の開始点として配列SSに記録する。スムース部検出処理部35は、2箇所目の補間処理の傾きを、同様にして、領域Bと領域Cの画素数の和(または、領域Bと領域Cのそれぞれの幅の和)の1/2(または、略1/2)を、閾値TH/量子値QB(ここでは、4/1=4)で除算した値とし、(12+18)/(2×4)=3.75の正の値を、補間処理の傾きとして配列SDに記録する。このようにして得られた2箇所目の補間処理の基となる直線は、図中直線252で示される。
【0093】
領域Cと領域D、領域Dと領域Eとの間は、階調の変化量が閾値よりも大きいので、補間は実行されない。そして、領域Eと領域Fではそれぞれ上述した場合と同様の補間処理が行われ、それぞれ配列SSには、図中の地点244および245が記録され、配列SDには、図中の直線253および254の傾き(ここでは、いずれも、17/8と13/8)が記録される。
【0094】
上述したスムース部検出処理部35の第1の動作例および第2の動作例のいずれにおいても、上述した配列SSと配列SDとは、1ラインごとに、#1データメモリ51と#2データメモリ52とに交互に供給されて記録される。
【0095】
次に、図9および図10を参照して、スムージング処理部40の処理について説明する。
【0096】
スムージング処理部40で処理した出力信号を図9および図10に示す。図9は図7で示したスムース部検出処理部35の第1の動作例が実行された場合のスムージング処理部40の出力信号であり、図10は図8で示したスムース部検出処理部35の第2の動作例が実行された場合のスムージング処理部40の出力信号である。
【0097】
スムージング処理部40は、ラインメモリ36から供給された出力信号Y1に対して、上述した配列SSに記録された補間処理の開始点と、上述した配列SDに記録された補間処理の基となる直線の傾きに基づいて、階調補間を行う。
【0098】
図9においては、配列SSに記録された座標の地点201乃至204のそれぞれから、列SDに記録された補間処理の基となる直線の傾きで階調が穏やかに変化するように、階調が再構成され、それ以外の部分は入力画像がそのまま出力される。同様に、図10においては、配列SSに記録された座標の地点241,242,244,245のそれぞれから、列SDに記録された補間処理の基となる直線の傾きで階調が穏やかに変化するように、階調が再構成され、それ以外の部分は入力画像がそのまま出力される。従って、画像の高周波成分を損なうことなく、任意の閾値以下で緩やかに階調が変化する部分のみ階調の量子化が細分化され、入力画像の量子化不足により目立っていた階調の段差を見えにくくすることが出来る。
【0099】
このようにして、画像処理装置11は、階調の変化点と次の変化点との距離にかかわらず、フリッカ等を発生させることなく、縞模様の発生を抑制することができる。
【0100】
次に、図11のフローチャートを参照して、画像処理装置11が実行する、画像変換処理について説明する。
【0101】
ステップS11において、ビデオデータ取得部31は、ビデオデータを取得し、10Bitのデジタルビデオ信号を、X方向1次ローパスフィルタ32に出力する。
【0102】
ステップS12において、X方向1次ローパスフィルタ32は、例えば、図3を用いて説明したようにして、水平成分のノイズを除去する。
【0103】
ステップS13において、Y方向1次ローパスフィルタ33は、例えば、図6を用いて説明したようにして、垂直成分のノイズを除去する。
【0104】
ステップS14において、図12または図13を用いて後述するスムース部検出処理が実行される。
【0105】
ステップS15において、図14を用いて後述するスムージング処理が実行される。
【0106】
ステップS16において、ビデオデータの供給が終了したか否かが判断される。ビデオデータの供給が終了していないと判断された場合、処理は、ステップS11に戻り、それ以降の処理が繰り返される。ビデオデータの供給が終了したと判断された場合、処理は終了される。
【0107】
このような処理により、画像処理装置11は、階調の変化点と次の変化点とが大きく離れしまっているような場合であっても、フリッカ等を発生させることなく、縞模様の発生を抑制することができる。
【0108】
次に、図12のフローチャートを参照して、図11のステップS14において実行される処理の第1の例であるスムース部検出処理1について説明する。
【0109】
ステップS41において、スムース部検出処理部35は、パラメータの初期化を行う。すなわち、スムース部検出処理部35は、データ入力の無いブランキング区間に各変数を初期化する。
【0110】
ステップS42において、スムース部検出処理部35は、データイネーブル信号が1であるか否か、すなわち、データ入力があるか否かを判断する。ステップS42において、データイネーブル信号が1ではないと判断された場合、処理は、ステップS41に戻り、それ以降の処理が繰り返される。
【0111】
ステップS42において、データイネーブル信号が1であると判断された場合、ステップS43において、スムース部検出処理部35は、入力信号Yに対して、閾値THの1/2(または、略1/2)を加算したものの下位nビットを省いた信号Y1を求める。
【0112】
ここで、スムース部検出処理部35においても、2進数の計算が実行されるため、スムース部の検出に用いられる閾値THは、2の累乗であると好適である。また、この閾値THは、上述したノイズ除去処理における閾値と異なる値であっても良いが、実際にスムージングが必要か否かを判断する閾値THとしては、上述したノイズ除去処理における閾値と同程度の値、すなわち、2の(ビット差)乗を用いると好適である。ここでは、閾値THは4であるものとする。
【0113】
なお、Y1を求めるために入力信号に閾値THの1/2(または、略1/2)を加算するのは、スムース部検出処理部35から出力される信号Y1の階調変化点と、X方向1次ローパスフィルタ32およびY方向一次ローパスフィルタ33を通過する前の元来の入力信号の変化点のずれを無くすためである。この処理により、出力信号Y1は閾値THを最小単位とする信号となる。
【0114】
ステップS44において、スムース部検出処理部35は、信号Y1は、現在の階調レベルCL(すなわち、ひとつ前の画素に対応する信号Y1)と異なる値か否かを判断する。
【0115】
ステップS44において、信号Y1は、現在の階調レベルCLと同一の値であると判断された場合、ステップS45において、スムース部検出処理部35は、現在の同一階調の連続幅(同一階調の画素数)CWの値をCW=CW+1として、処理は、後述するステップS52に進む。現在の同一階調の連続幅CWとは、例えば、図7を用いて説明した各領域A乃至Gのそれぞれの幅を最終的に求めるためのものである。
【0116】
ステップS44において、信号Y1は、現在の階調レベルCLと同一の値ではないと判断された場合、ステップS46において、スムース部検出処理部35は、現在の階調レベルCLと以前の階調レベルPLの差が1であるか否かを判断する。例えば、図7を用いて説明した場合において、現在処理中の画素が領域Bの範囲内であるとき、現在の階調レベルCL=2となり、以前の階調レベルPLは、領域Aの範囲の階調を示すので、PL=1となり、その差は1である。これに対して、現在処理中の画素が領域Dの範囲内であるとき、現在の階調レベルCL=6となり、以前の階調レベルPLは、領域Cの範囲の階調を示すので、PL=3となり、その差は3である。
【0117】
ステップS46において、現在の階調レベルCLと以前の階調レベルPLの差が1ではないと判断された場合、変化が緩やかではないということであり、処理は、ステップS51に進む。
【0118】
ステップS46において、現在の階調レベルCLと以前の階調レベルPLの差が1であると判断された場合、ステップS47において、スムース部検出処理部35は、現在の同一階調の連続幅CWは、以前の同一階調の連続幅PWよりも小さいか否かを判断する。例えば、図7を用いて説明した場合において、現在処理中の画素が領域Bの範囲内であるとき、現在の同一階調の連続幅CW=12となり、以前の同一階調の連続幅PWは、領域Aの範囲の階調を示すので、PW=14となる。
【0119】
ステップS47において、現在の同一階調の連続幅CWは、以前の同一階調の連続幅PWよりも小さくないと判断された場合、ステップS48において、スムース部検出処理部35は、階調が変化した座標をCP、量子値をQB(例えば、図7における場合では、量子値QB=1)として、補間処理の開始点SS[SC]=CP−PW/2とし、補間処理の傾きSD[SC]=(CL−PL)×PW×QB/THとする。ここで、[SC]は、いくつめの補間処理であるかを示すカウンタの値である。
【0120】
そして、スムース部検出処理部35は、補間処理の開始点SS[SC]と、その傾きSD[SC]をデータメモリ38に書き込む。すなわち、補間処理の開始点SS[SC]には、変化点CPから、PWの1/2(または、略1/2)の値を引いた値が保存され、SDにはPWをTH/QBで割った値に、CLとPLの大小関係から決まる極性をつけたものが保存される。TH/QBは、閾値THを量子値QBで割る、つまり閾値TH分の変化を何分割で変化させるかを決定するものである。補間される範囲はCPを中心として、CPからPWの1/2(または、略1/2)の値を引いた地点から、CPからPWの1/2(または、略1/2)を加えた地点までとなる。
【0121】
ステップS47において、現在の同一階調の連続幅CWは、以前の同一階調の連続幅PWよりも小さいと判断された場合、ステップS49において、スムース部検出処理部35は、階調が変化した座標をCP、量子値をQB(例えば、図7における場合では、量子値QB=1)として、補間処理の開始点SS[SC]=CP−CW/2とし、補間処理の傾きSD[SC]=(CL−PL)×CW×QB/THとする。ここで、[SC]は、いくつめの補間処理であるかを示すカウンタの値である。
【0122】
そして、スムース部検出処理部35は、補間処理の開始点SS[SC]と、その傾きSD[SC]をデータメモリ38に書き込む。すなわち、ステップS49の処理は、ステップS48の処理と、CWとPWが入れ替わった処理となり、補間される範囲はCPを中心として、CPからCWの1/2(または、略1/2)の値を引いた地点から、CPからCWの1/2(または、略1/2)を加えた地点までとなる。
【0123】
ステップS48または、ステップS49の処理の終了後、ステップS50において、スムース部検出処理部35は、いくつめの補間処理であるかを示すカウンタの値[SC]を1インクリメントする。
【0124】
ステップS46において、現在の階調レベルCLと以前の階調レベルPLの差が1ではないと判断された場合、または、ステップS50の処理の終了後、ステップS51において、スムース部検出処理部35は、データを更新して、CP=X、PL=CL,PW=CW,CL=Y1,CW=0とする。ここでXとは、現在の座標を示す値である。すなわち、CP=Xにより変化点CPが現在の座標に更新され、PL=CL,PW=CWにより今まで現在の値であったCL,CWが以前の値とされ、現在の階調レベルCLにはY1が代入されて、現在の同一階調の連続幅CWは0にリセットされる。
【0125】
ステップS45、または、ステップS51の処理の終了後、ステップS52において、スムース部検出処理部35は、入力信号Yをラインメモリ36に出力する。
【0126】
ステップS53において、スムース部検出処理部35は、座標Xが、その水平ライン中の最後の画素であるか否かを判断する。
【0127】
ステップS53において、座標Xが、その水平ライン中の最後の画素ではないと判断された場合、ステップS54において、スムース部検出処理部35は、Xの値を1インクリメントし、処理は、ステップS43に戻り、それ以降の処理が繰り返される。ステップS53において、座標Xが、その水平ライン中の最後の画素であると判断された場合、処理は終了される。
【0128】
このような処理により、図7を用いて説明したようにして、補間処理を実行するための補間処理の開始点および補間の傾きが検出される。
【0129】
次に、図13のフローチャートを参照して、図11のステップS14において実行される処理の第2の例であるスムース部検出処理2について説明する。
【0130】
ステップS81乃至ステップS86において、図12のステップS41乃至ステップS46と基本的に同様の処理が実行される。
【0131】
すなわち、パラメータの初期化が実行された後、データイネーブル信号が1であると判断された場合、入力信号Yに対して、閾値THの1/2(または、略1/2)を加算したものの下位nビットを省いた信号Y1が演算される。そして、信号Y1は、現在の階調レベルCL(すなわち、ひとつ前の画素に対応する信号Y1)と同一の値であると判断された場合、現在の同一階調の連続幅CWの値をCW=CW+1として、処理は、後述するステップS90に進む。
【0132】
そして、信号Y1は、現在の階調レベルCLと同一の値ではないと判断された場合、現在の階調レベルCLと以前の階調レベルPLの差が1であるか否かが判断される。現在の階調レベルCLと以前の階調レベルPLの差が1ではないと判断された場合、変化が緩やかではないということであり、処理は、ステップS89に進む。
【0133】
ステップS86において、現在の階調レベルCLと以前の階調レベルPLの差が1であると判断された場合、ステップS87において、スムース部検出処理部35は、階調が変化した座標をCP、閾値をTH、量子値をQB(例えば、図8における場合では、閾値TH=4,量子値QB=1)として、補間処理の開始点SS[SC]=CP−PW/2とし、補間処理の傾きSD[SC]=(CL−PL)×(PW+CW)×QB/(2×TH)とし、これらの値を、データメモリ38に書き込む。
【0134】
すなわち、補間処理の開始点SSには、変化点CPから、PWの1/2(または、略1/2)の値を引いた値が保存される。換言すれば、この処理においては、CWとPWの大小に関係なく、補間処理の開始点はPWの中心点となる。補間処理の傾きSDにはCWとPWの和の1/2(または、略1/2)をTH/QBで割った値に、CLとPLの大小関係から決まる極性をつけたものが保存される。したがって、補間される範囲はCPからPWの1/2(または、略1/2)の値を引いた地点から、CPからCWの1/2(または、略1/2)を加えた地点までとなるので、補間される領域が連続する場合はそれぞれの階調の中心点を結ぶ直線の連続となる。
【0135】
そして、ステップS88乃至ステップS92において、図12のステップS50乃至ステップS54と基本的に同様の処理が実行される。
【0136】
すなわち、ステップS87の処理の終了後、いくつめの補間処理であるかを示すカウンタの値[SC]が1インクリメントされる。その後、または、現在の階調レベルCLと以前の階調レベルPLの差が1ではないと判断された場合、データが更新されて、CP=X、PL=CL,PW=CW,CL=Y1,CW=0とされる。この処理、または、ステップS85の処理の終了後、入力信号Yがラインメモリ36に出力され、座標Xが、その水平ライン中の最後の画素であるか否かが判断される。座標Xが、その水平ライン中の最後の画素ではないと判断された場合、Xの値が1インクリメントされ、処理は、ステップS83に戻り、それ以降の処理が繰り返される。座標Xが、その水平ライン中の最後の画素であると判断された場合、処理は終了される。
【0137】
このような処理により、図8を用いて説明したようにして、補間処理を実行するための補間処理の開始点および補間の傾きが検出される。
【0138】
このようにして、スムース部検出処理部35によるスムース部検出処理が実行された場合、画像信号Yは、ラインメモリ36に供給され、配列データSSおよびSDは、それぞれ、データメモリ38のうちの、#1データメモリ51または#2データメモリ52のいずれかに、1ライン分ずつ供給されて保存される。次に、図14のフローチャートを参照して、図11のステップS15においてスムージング処理部40が実行する、スムージング処理について説明する。
【0139】
ステップS121において、スムージング処理部40は、パラメータの初期化を行う。
【0140】
ステップS122において、スムージング処理部40は、データイネーブル信号が1であるか否か、すなわち、映像信号区間であるか否かを判断する。ステップS122において、データイネーブル信号が1ではないと判断された場合、処理は、ステップS121に戻り、それ以降の処理が繰り返される。
【0141】
ステップS122において、データイネーブル信号が1であると判断された場合、ステップS123において、スムージング処理部40は、入力信号Yを取得する。
【0142】
ステップS124において、スムージング処理部40は、スムーススイッチフラグSWがSW=1であるか否かを判断する。スムーススイッチフラグSWは、補間処理の実行区間において1となるフラグであり、初期化状態では0であるので、例えば、処理中の水平ラインの最初の補間処理の開始点までの間は、スムーススイッチフラグSWはSW=1とはならない。ステップS124において、ムーススイッチフラグSWがSW=1であると判断された場合、処理は、後述するステップS131に進む。
【0143】
ステップS124において、ムーススイッチフラグSWがSW=1ではないと判断された場合、ステップS125において、スムージング処理部40は、座標XがSS[SC]、すなわち、補間処理の開始点であるか否かを判断する。
【0144】
ステップS125において、座標XがSS[SC]ではないと判断された場合、ステップS126において、スムージング処理部40は、補間処理中の階調レベルTY=入力された画像信号Yとし、画像信号Yを出力して、処理は、後述するステップS136に進む。
【0145】
ステップS125において、座標XがSS[SC]であると判断された場合、ステップS127において、スムージング処理部40は、補間処理の傾きSDは負の値であるかいなか、すなわち、SD[SC]の極性を判断する。
【0146】
ステップS127において、補間処理の傾きSDは負の値であると判断された場合、ステップS128において、スムージング処理部40は、スムージング処理における傾きの極性SPをSP=−1とする。
【0147】
ステップS127において、補間処理の傾きSDは負の値ではないと判断された場合、ステップS129において、スムージング処理部40は、スムージング処理における傾きの極性SPをSP=1とする。
【0148】
ステップS128またはステップS129の処理の終了後、ステップS130において、スムージング処理部40は、SW=1,現在の補正処理の傾きCS=|SD[SC]|,補間処理中に現在の階調を維持するカウンタKC=0,補間処理の段階カウンタLC=0,補間処理中の階調レベルTY=画像信号Yとする。すなわち、スムージング処理部40は、SW=1として補間処理のスイッチをオンにし、現在の補正処理の傾きCSにSD[SC]の絶対値を代入し、補間処理中に現在の階調を維持するカウンタKCと補間処理の段階カウンタLCを0にリセットして、補間処理中の階調レベルTYに画像信号Yを代入し、処理は、後述するステップS136に進む。
【0149】
ステップS124において、ムーススイッチフラグSWがSW=1であると判断された場合、ステップS131において、スムージング処理部40は、補間処理中に現在の階調を維持するカウンタKCと、SDに示される現在の補間処理の傾きCSとを比較し、KC<CSであるか否かを判断する。
【0150】
ステップS131において、KC<CSであると判断された場合、ステップS132において、スムージング処理部40は、補間処理中に現在の階調を維持するカウンタKCをインクリメントしてKC=KC+1とし、補間処理中の階調レベルTY=TYとし、処理は、後述するステップS136に進む。
【0151】
ステップS131において、KC<CSではないと判断された場合、ステップS133において、スムージング処理部40は、補間処理の段階カウンタLCが、LC=TH/QB−1であるか否かを判断する。
【0152】
ステップS133において、LC=TH/QB−1ではないと判断された場合、ステップS134において、スムージング処理部40は、補間処理中の階調レベルTY=TY+SP×QB,補間処理の段階カウンタLC=LC+1,補間処理中に現在の階調を維持するカウンタKC=0とし、処理は、後述するステップS136に進む。これは、現在の階調に、量子値QBの大きさでSPに示される極性の値を加算して、次の階調とするとともに、更にLCに1を加算し、KCを0にリセットするものである。
【0153】
ステップS133において、LC=TH/QB−1であると判断された場合、ステップS135において、スムージング処理部40は、スムーススイッチフラグSWの値をSW=0とし、補間処理中の階調レベルTYをTY=Yとし、補間処理が何箇所目であるかを示すカウンタ値SCをSC=SC+1として、処理は、後述するステップS136に進む。
【0154】
ステップS126、ステップS130、ステップS132、ステップS124、または、ステップS135の処理の終了後、ステップS136において、スムージング処理部40は、レベルTYを出力する。
【0155】
ステップS137において、スムージング処理部40は、座標Xが、該当する水平ラインの最後の画素であるか否かを判断する。
【0156】
ステップS137において、座標Xが、該当する水平ラインの最後の画素ではないと判断された場合、ステップS138において、スムージング処理部40は、Xの値を1インクリメントし、処理は、ステップS123に戻り、それ以降の処理が繰り返される。ステップS137において、座標Xが、該当する水平ラインの最後の画素であると判断された場合、処理は終了される。
【0157】
このような処理により、例えば、図9および図10を用いて説明したようにして、SS[SC]の配列データに記憶された座標において補間処理が開始され、SD[SC]の配列データに記憶された画素数ごとにQBずつ次の階調に近づいていく直線補間により出力画像が再構成される。
【0158】
以上説明した処理により、画像処理装置11は、階調の変化点と次の変化点とが大きく離れしまっているような場合であっても、フリッカ等を発生させることなく、縞模様の発生を抑制することができる。
【0159】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、上述した処理は、図15に示されるようなパーソナルコンピュータ500により実行される。
【0160】
図15において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または、記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【0161】
CPU501、ROM502、およびRAM503は、内部バス504を介して相互に接続されている。この内部バス504にはまた、入出力インターフェース505も接続されている。
【0162】
入出力インターフェース505には、キーボード、マウスなどよりなる入力部506、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、並びに、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【0163】
入出力インターフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア521が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
【0164】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0165】
この記録媒体は、図15に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM502や記憶部508が含まれるハードディスクなどで構成される。
【0166】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0167】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0168】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0169】
【図1】8bitの入力信号が入力された場合、得られる10bitの出力信号について説明するための図である。
【図2】画像処理装置の構成を示すブロック図である。
【図3】図1のX方向1次ローパスフィルタを示すブロック図である。
【図4】X方向1時ローパスフィルタへの入力信号について説明するための図である。
【図5】X方向1時ローパスフィルタへの出力信号について説明するための図である。
【図6】図1のY方向1次ローパスフィルタを示すブロック図である。
【図7】図1のスムース部検出処理部の処理について説明するための図である。
【図8】図1のスムース部検出処理部の処理について説明するための図である。
【図9】図1のスムージング処理部の処理について説明するための図である。
【図10】図1のスムージング処理部の処理について説明するための図である。
【図11】画像変換処理について説明するためのフローチャートである。
【図12】スムース部検出処理1について説明するためのフローチャートである。
【図13】スムース部検出処理2について説明するためのフローチャートである。
【図14】スムージング処理について説明するためのフローチャートである。
【図15】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【0170】
11 画像処理装置, 31 ビデオデータ取得部, 32 X方向1次ローパスフィルタ, 33 Y方向1次ローパスフィルタ, 34 ラインメモリ, 35 スムース部検出処理部, 36 ラインメモリ, 37 スイッチ, 38 データメモリ, 39 スイッチ, 40 スムージング処理部, 41 ビデオデータ出力部, 51 #1データメモリ, 52 #2データメモリ

【特許請求の範囲】
【請求項1】
画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるとき、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とを比較し、
前記第1の連続幅が前記第2の連続幅より小さい場合、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第1の連続幅によって決まる値とし、
前記第1の連続幅が前記第2の連続幅より大きい場合、前記変化点から前記第2の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第2の連続幅によって決まる値として
補間処理の開始点およびその傾きを求める演算手段と、
前記演算手段により演算された前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する変換手段と
を備える画像処理装置。
【請求項2】
前記画像信号は、Nビットの画像信号をMビットに変換した変換後の画像信号である
請求項1に記載の画像処理装置。
【請求項3】
前記所定の閾値は、2の(M−N)乗の値である
請求項2に記載の画像処理装置。
【請求項4】
前記画像信号の水平方向のノイズ成分を除去する水平成分ノイズ除去手段を更に備え、
前記演算手段は、前記水平成分ノイズ除去手段により水平方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行する
請求項1に記載の画像処理装置。
【請求項5】
前記画像信号の垂直方向のノイズ成分を除去する垂直成分ノイズ除去手段を更に備え、
前記演算手段は、前記垂直成分ノイズ除去手段により垂直方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行する
請求項1に記載の画像処理装置。
【請求項6】
前記演算手段による演算結果を水平1ライン分ずつ保持することが可能な2つのデータ保持手段を更に備え、
前記演算手段および前記変換手段は、水平1ライン分ごとに前記画像信号の処理を実行し、
前記演算手段による演算結果を前記データ保持手段のうちの一方が記録している間、前記変換手段は、他方のデータ保持手段に保持されている1つ前の水平ライン分の前記演算手段による演算結果を用いて前記画像信号の画素値を変換する
請求項1に記載の画像処理装置。
【請求項7】
画像信号を表示する場合の画像処理を実行する画像処理装置の画像処理方法において、
画像信号を取得し、
前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、
画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とを比較し、
前記第1の連続幅が前記第2の連続幅より小さい場合、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第1の連続幅によって決まる値とし、
前記第1の連続幅が前記第2の連続幅より大きい場合、前記変化点から前記第2の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第2の連続幅によって決まる値とし、
得られた前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する
ステップを含む画像処理方法。
【請求項8】
画像信号を表示する場合の画像処理をコンピュータに実行させるためのプログラムであって、
画像信号を取得し、
前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、
画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅と、前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅とを比較し、
前記第1の連続幅が前記第2の連続幅より小さい場合、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第1の連続幅によって決まる値とし、
前記第1の連続幅が前記第2の連続幅より大きい場合、前記変化点から前記第2の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分と前記第2の連続幅によって決まる値とし、
前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項9】
請求項8に記載のプログラムが記録されている記録媒体。
【請求項10】
画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるとき、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分、および、前記第1の連続幅と前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値として、補間処理の開始点およびその傾きを求める演算手段と、
前記演算手段により演算された前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する変換手段と
を備える画像処理装置。
【請求項11】
前記画像信号は、Nビットの画像信号をMビットに変換した変換後の画像信号である
請求項10に記載の画像処理装置。
【請求項12】
前記所定の閾値は、2の(M−N)乗の値である
請求項11に記載の画像処理装置。
【請求項13】
前記画像信号の水平方向のノイズ成分を除去する水平成分ノイズ除去手段を更に備え、
前記演算手段は、前記水平成分ノイズ除去手段により水平方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行する
請求項10に記載の画像処理装置。
【請求項14】
前記画像信号の垂直方向のノイズ成分を除去する垂直成分ノイズ除去手段を更に備え、
前記演算手段は、前記垂直成分ノイズ除去手段により垂直方向のノイズ成分が除去された前記画像信号に基づいて演算処理を実行する
請求項10に記載の画像処理装置。
【請求項15】
前記演算手段による演算結果を水平1ライン分ずつ保持することが可能な2つのデータ保持手段を更に備え、
前記演算手段および前記変換手段は、水平1ライン分ごとに前記画像信号の処理を実行し、
前記演算手段による演算結果を前記データ保持手段のうちの一方が記録している間、前記変換手段は、他方のデータ保持手段に保持されている1つ前の水平ライン分の前記演算手段による演算結果を用いて前記画像信号の画素値を変換する
請求項10に記載の画像処理装置。
【請求項16】
画像信号を表示する場合の画像処理を実行する画像処理装置の画像処理方法において、
画像信号を取得し、
前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、
画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分、および、前記第1の連続幅と前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値とし、
前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する
ステップを含む画像処理方法。
【請求項17】
画像信号を表示する場合の画像処理をコンピュータに実行させるためのプログラムであって、
画像信号を取得し、
前記画像信号の隣り合う画素の画素値の差分が0より大きい、かつ、所定の閾値以下であるか否かを判断し、
画素値の差分が0より大きい、かつ、所定の閾値以下である場合、前記変化点よりスキャン順が早い同一階調の画素の第1の連続幅に基づいて、前記変化点から前記第1の連続幅の略1/2だけスキャン順が早い画素位置を補間処理の開始点とし、その傾きを、前記変化点前後の画素値の差分、および、前記第1の連続幅と前記変化点よりスキャン順が遅い同一階調の画素の第2の連続幅との和によって決まる値とし、
前記補間処理の開始点およびその傾きに基づいて、前記画像信号の前記補間処理の開始点からの階調変化が前記傾きに即した値になるように、前記画像信号の画素値を変換する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項18】
請求項17に記載のプログラムが記録されている記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate