JPWO2002067589A1 - 画像処理システム、画像処理方法、及び画像処理プログラム - Google Patents
画像処理システム、画像処理方法、及び画像処理プログラム Download PDFInfo
- Publication number
- JPWO2002067589A1 JPWO2002067589A1 JP2002566979A JP2002566979A JPWO2002067589A1 JP WO2002067589 A1 JPWO2002067589 A1 JP WO2002067589A1 JP 2002566979 A JP2002566979 A JP 2002566979A JP 2002566979 A JP2002566979 A JP 2002566979A JP WO2002067589 A1 JPWO2002067589 A1 JP WO2002067589A1
- Authority
- JP
- Japan
- Prior art keywords
- pixels
- value
- pixel
- boundary
- image processing
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本発明においては、境界画素を含み境界に対して直交して連続する該境界を挟む片側N個の画素からなる2N個の画素(信号レベルV1〜V8)を参照し修正処理を行うか判定し、修正処理を行うと判定されたとき境界画素とそれを挟む片側M個の画素とを用いて修正処理を行う。また、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理システムにおいて、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める。上記着目画素を含みブロック同士の境界に対して直交して連続する片側N個の画素からなる2N個の画素について隣接画素間の差分値を求める。この求めた差分値を上記最大値に対応する閾値と比較してフィルタ処理を行うか判定する。フィルタ処理を行うと判定された場合、上記着目画素とそれを挟む片側M個の画素とを用いてフィルタ処理を行う。Nは、正の整数であり、Mは正の整数、かつ、M<Nとする。
Description
技術分野
本発明は画像処理システム、画像処理方法、及び画像処理プログラムに関する。
背景技術
静止画像についての圧縮技術としてJPEG(Joint Photographic Experts Group)方式、動画像についての圧縮技術としてMPEG(Moving Picture Experts Group)方式、が広く知られている。これらの画像圧縮方式においては、8画素×8画素のブロックを処理の1単位として扱い、周知の離散コサイン変換(Discrete Cosine Transform;以下、DCT)処理を行う。DCT処理は、元の画像を空間的な周波数成分に分解する処理であり、空間的に冗長な情報を削減することによって、画像を圧縮することができる。
ところで、JPEG方式又はMPEG方式を採用する場合、次のような2種類のノイズが発生し、このノイズが画質を劣化させる原因となる。すなわち、上述したように、JPEG方式及びMPEG方式においては、8画素×8画素のブロックを処理の単位としているので、画像によっては、このブロックの境界がノイズとして見えてしまう。この境界部分のノイズはブロックノイズと呼ばれている。
また、JPEG方式及びMPEG方式におけるDCT処理では、高調波成分を冗長な情報として除去する結果、周辺との輝度差が大きい部分にノイズが表れる。例えば、自然画の背景に文字が存在する場合等、ブロック内に輝度の大きな変化がある場合、DCT処理を行うと、本来の境界部分を構成するデータから高調波成分が除去され、境界周辺にモヤモヤとしたノイズが表れる。このノイズは、モスキートノイズと呼ばれる。
以上のブロックノイズを軽減するための技術として、verification model(以下、VM)や特開平11−98505公報に記載されている技術が知られている。特開平11−98505公報に記載されている技術においては、第13図に示されている垂直方向及び水平方向のブロック境界について、デフォルトモードかDCオフセットモードかを判定し、それぞれの処理を行う。
この場合、ブロックの境界B1,B2を基点としてピクセルセットS0,S1,S2を定義し、モード決定値からブロック歪現象の程度に基づいて選択的にデブロッキングモードをデフォルトモードかDCオフセットモードかに決める。そして、デフォルトモードと決定されると、4ポイントDCTカーネルを用いて各ピクセルに対するブロック境界周辺の周波数情報を求める。モード決定段階でDCオフセットモードと決定されると、DCオフセットモードの実行が必要であるかどうかを判断し、必要であれば画像の動きが緩慢な領域でブロック歪み現象を除去する。
以上の他、VMにはモスキートノイズを除くフィルタもある。このフィルタにおいては、ブロック内の最大値及び最小値を求める処理、すべての画素について閾値処理をし、モスキートノイズ除去処理をするか、しないかの判断処理が必要になる。
また、以上のようなノイズを軽減するための技術が特開平3−46482号公報に記載されている。同公報に記載されている技術においては、2つの境界隣接画素間の信号レベル差が第1の閾値より大きく、ブロックの各々において境界隣接画素と列上の画素のうちその境界隣接画素に同一ブロック内で隣接する画素との間の信号レベル差がそれぞれ第2の閾値より小さい場合に、フィルタ処理をする。
このとき、第12図において、ブロック境界の両側に位置する画素配置X1及びX0、画素配置X’0及びX’1についての信号レベルS1、S0、S’0、S’1の差分値d0,d1,d2に基づいて、画素配置X0、X’0についての信号レベルを修正する。すなわち新たな信号レベルS0−new、S’0−newは、
となる。
しかしながら、上述した特開平3−46482号公報に記載されている技術では、境界画素のみを補正しているので、ブロック歪みを除去する処理として充分ではないという欠点がある。また、VMや特開平11−98505公報に記載されている技術では処理が複雑で計算負荷が大きすぎるという欠点がある。
ここで、いくつかの調査や実験により、以下のことがわかってきた。まず、フィルタによって補正するとき、ブロック境界1〜2画素を補正するのでは不十分であり、3画素は補正すべきである。また、エッジ周辺のモスキートノイズと画像本来の高周波成分とを判別するのは難しい。さらに、ブロック境界画素のみを用いた判定では、ブロック歪みを検出することはできても、広域フィルタにするか、狭域フィルタにするか、の正しい判断ができない。ブロック内部に強エッジがあった場合、広域フィルタ処理は行うべきでない。
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的はより簡単な処理によって上記のノイズを軽減することのできる画像処理システム、画像処理方法、及び画像処理プログラムを提供することである。
発明の開示
本発明による画像処理システムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理システムであって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定手段と、前記判定手段によって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理手段とを含むことを特徴とする。
また、前記判定手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記判定手段においては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする。
また、前記判定手段においては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする。
また、前記判定手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする。
また、前記修正処理手段における修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする。
また、前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶する記憶手段を含み、前記ブロックに含まれる所定画素を該記憶手段に順次記憶していき、前記判定手段および前記修正処理手段は、該記憶手段に記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
これにより、フィルタ処理の際に画素を記憶しておくために必要となる記憶容量を軽減できる。
また、本発明による画像処理方法は、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理方法であって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、前記判定ステップによって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含むことを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする。
また、前記判定ステップにおいては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする。
また、前記修正処理ステップにおける修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする。
また、前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、前記ブロックにおいて、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、前記判定ステップおよび前記修正処理ステップにおいては、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
本発明による画像処理プログラムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理プログラムであって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、前記判定ステップによって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含むことを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする。
また、前記判定ステップにおいては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする。
また、前記修正処理ステップにおける修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする。
また、前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、前記ブロックにおいて、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、前記判定ステップおよび前記修正処理ステップにおいては、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
要するに、本発明では、境界を挟む片側N個の画素からなる2N個の画素を参照し、修正する場合には境界画素とそれを挟む片側M個の画素とを用いる。そして、N及びMの値を適切に設定することによって、上記のノイズを低減するのである。
本発明による画像処理システムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理システムであって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求めることが可能な最大値検出手段と、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出手段と、前記差分値算出手段において求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定手段と、前記判定手段においてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理手段とを含むことを特徴とする。
また、前記差分値算出手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定手段においては、前記差分値算出手段において求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記差分値算出手段においては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定手段においては、前記差分値算出手段において求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記判定手段においては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする。
また、前記判定手段においては、前記最大値に応じて前記閾値の値を決定することを特徴とする。
また、前記判定手段においては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする。
また、前記フィルタ処理手段においては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする。
また、前記最大値検出手段における最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶する記憶手段と、該記憶手段に記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得手段とを含み、前記最大値検出手段は、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出手段およびフィルタ処理手段は、該記憶手段に記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
本方法により、フィルタ処理の際に画素を記憶しておくために必要となる記憶容量を軽減できる。
また、水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶する記憶手段と、該記憶手段に記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得手段とを含み、前記最大値検出手段は、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出手段およびフィルタ処理手段は、該記憶手段に記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする。
本発明による画像処理方法は、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理方法であって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、前記差分値算出ステップにおいて求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、前記判定ステップにおいてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含むことを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする。
また、前記判定ステップにおいては、前記最大値に応じて前記閾値の値を決定することを特徴とする。
また、前記判定ステップにおいては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする。
また、前記フィルタ処理ステップにおいては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする。
また、前記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、該記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶していき、該記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする。
本発明による画像処理プログラムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理プログラムであって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、前記差分値算出ステップにおいて求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、前記判定ステップにおいてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含むことを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする。
また、前記判定ステップにおいては、前記最大値に応じて前記閾値の値を決定することを特徴とする。
また、前記判定ステップにおいては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする。
また、前記フィルタ処理ステップにおいては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする。
また、前記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、該記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶していき、該記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする。
ところで、モスキートノイズが目立つのは、強エッジに隣接する部分である。したがって、ブロック内に含まれているエッジのおよその大きさによってフィルタのオンオフ評価値を変えればモスキートノイズを低減させることが期待できる。隣接差分値を使用した処理を利用するため、エッジ抽出は隣接画素間のみとし、さらに処理を容易にするため、かつ、判断を誤った場合の影響を小さくするために、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める対象とする。ただし、斜め成分を含まない水平、垂直方向のみのエッジに対応するため、ブロック中心のみは画素すべてをエッジ抽出に利用する。
発明を実施するための最良の形態
次に、図により本発明に係る画像処理システムの実施形態を具体的に説明する。
初めに、本発明の第1の実施の形態について説明する。
なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
第2図は本発明による画像処理システムの実施の一形態を示すブロック図である。同図に示されているように、本実施形態による画像処理システムは、境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個の画素からなる2N個の画素を参照し修正処理を行うか判定する判定部1と、この判定部1によって修正処理を行うと判定されたとき、境界を挟む片側M個の画素を用いて修正処理を行う修正処理部2とを含んで構成されている。ここで、Nは、3乃至5のいずれかの整数である。また、Mは、整数、かつ、M<Nである。
なお、フィルタ処理対象となるブロックを一旦保持しておくためのバッファを設けても良い。この場合、例えば、第1図に示されているブロック境界を挟んでそれぞれ片側4画素(境界の両側8画素)を参照する場合、処理対象であるフレーム全体を保持するのではなく、ブロック境界を含む8画素×8画素(以下、適宜「一時記憶ブロック」と言う。)を一時的に保持することにより、修正処理およびフィルタ処理を適切に行うことができる。第3図は、一時記憶ブロックの概念を示す図である。
このように、フィルタ処理対象となる境界を含む所定サイズの一時記憶ブロックを保持して修正処理を行うか否かを判定することにより、必要となる記憶容量を軽減することができる。
なお、フレームの端部においては、境界の片側にのみ画素が存在し、8画素×8画素に満たないため、存在する側の画素を境界で折り返して一時記憶ブロックを補完したり、所定の擬似的な画素で補完したりするというように、フィルタ処理に影響の少ない画素を補うことが考えられる。
本例において、判定部1は、第1図に示されているブロック境界を挟む片側4画素を参照する。すなわち、信号レベル値v1〜v8を参照する。そして、参照する2N(本例では、8)個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき修正処理を行うと判定する。
また、修正処理部2は、境界画素の信号レベルとそれを挟む2M(本例では、6)個の画素それぞれの信号レベルとに所定係数を乗じる。そして、この乗じた値を、係数の合計値で除する。この除した値に応じて境界画素の信号レベルを修正する。この場合、各画素に乗じる係数は、境界画素についての信号レベルの値が、他の画素についての信号レベルの値よりも大であるようにする。
なお、本例では、垂直方向のブロック境界B1に位置する画素全てについて処理を行った後(ブロック境界B1に対して直交して連続する画素を参照する)、水平方向のブロック境界B2に位置する画素全てについて処理を行う(ブロック境界B2に対して直交して連続する画素を参照する)。もっとも、水平方向のブロック境界B2に位置する画素全てについて先に処理を行い、その後に垂直方向のブロック境界B1に位置する画素全てについて処理を行っても良い。
また、画像処理は、輝度信号(Y)、色差信号(U,V)それぞれの画像に対して行う。
以下、より具体的に説明する。本例の場合、第1図に示されているように、ブロック境界を含む、片側4画素ずつを参照する。つまり、同図中の各画素の信号レベル値v1〜v8を参照する。信号レベル値v1〜v8について、各々隣接する画素との差分を求める。すなわち、
により、差分値d1〜d7の各々の値を求める。
そして、求めた差分絶対値のすべてが、ある閾値QPより小である場合には、広域ローパスフィルタ処理を行う。その係数は、例えば、
とする。また、画像の端部に位置している画素については、参照する画素が余分に要らず、かつ、計算が容易なように、
とする。したがって、このフィルタ処理を式で表現すると、以下のようになる。すなわち、
となる。
ここで、「QP」は閾値であり、
である。発明者の検証によると、d=2〜10が適当であり、特に4又は6が良い。また、量子化に応じてdの値を変化させるのが良い。発明者の検証によると、量子化値が30以上なら、d=0が良い。
さらに、ブロック内は、QP=量子化値+4、ブロック境界は、QP=量子化値×2とするのが良い。
なお、差分の値がすべて「0」である場合は、ブロック歪みがないか、又はあっても目立たないので、フィルタ処理を行わない。
同様に、差分の値d1〜d7のうち、1つが「0」でなく、他がすべて「0」である場合にも、ブロック歪みが目立たないので、フィルタ処理を行わない。
差分d1〜d7の値のいずれかが大きい場合、強エッジがあると判断し、フィルタ処理はブロック境界画素のみとし、ブロック境界画素に隣接する両側画素との差分がある閾値より小さい場合、ローパスフィルタをかける。その係数は、例えば
とする。この処理を信号レベル値v3,v4,v5,v6に対して行う。
以上の動作について、第4図を参照して説明する。同図において、まず、隣接する画素同士の差分値を求める(ステップS101)。求めた差分値全てが閾値より小さい場合は、さらに差分値全てが零であるか、又は1つのみが零でないか、判断する(ステップS102→S103)。差分値全てが零であるか、又は1つのみが零でない場合は、フィルタ処理を行わないで処理を終了する。一方、ステップS103の条件を充足しない場合は、フィルタ処理を行う(ステップS103→S104)。
ステップS102において、求めた差分値のいずれかが閾値より大きい場合は、さらに隣接する差分値が所定閾値より小であるか判断する(ステップS102→S105)。隣接する差分値が所定閾値より小であれば、フィルタ処理を行う(ステップS105→S106)。この場合、上述したように強エッジがあると判断し、上述した
等の係数によるフィルタ処理を行う(ステップS106)。ステップS105の条件を充足しない場合は、上記のフィルタ処理を行わない。
ところで、上記の判定では、第5図のように輝度が緩やかに変化している場合でも、強いフィルタがかかってしまう。すなわち、同図に示されているように、画素配置X1〜X7について、上述したようにフィルタ処理を行うと、矢印Yで示されているようにX3,X4,X5の信号レベルが低下してしまう。このようなフィルタ処理は行わないようにしなければならない。
このため、ブロック境界をなす画素の輝度値と、その同じブロック内で1画素空けた2画素目の画素の輝度値との差分絶対値をとり、その値がある閾値より小さい場合に上記フィルタをかけるようにする。同図においては、x3を空けてx2とx4とを参照し、x6を空けてx5とx7とを参照する。つまり、
を求め、(d21<QP)&(d22<QP)の場合に上記のフィルタ処理を行う。
以上の処理を標準フィルタ処理とする。
なお、上記の例では、1画素空けて隣接する画素同士の差分値を求めているが、2画素空けても良い。したがって、少なくとも1画素空ければ良いことになる。
この場合の動作について、第6図を参照して説明する。同図において、まず、隣接する画素同士の差分値を求める(ステップS101)。求めた差分値全てが閾値より小さい場合は、さらに差分値全てが零であるか、又は1つのみが零でないか、判断する(ステップS102→S103)。差分値全てが零であるか、又は1つのみが零でない場合は、フィルタ処理を行わないで処理を終了する。そうでなければ、さらに少なくとも1画素空けて隣接する画素同士の差分値を求める(ステップS103→S103a)。求めた差分値全てが閾値より小さいか、判断する(ステップS103a→S103b)。求めた差分値全てが閾値より小さい場合はフィルタ処理を行い(ステップS103b→S104)、そうでなければフィルタ処理を行わないで処理を終了する。
ステップS102において、求めた差分値のいずれかが閾値より大きい場合は、さらに隣接する差分値が所定閾値より小であるか判断する(ステップS102→S105)。隣接する差分値が所定閾値より小であれば、フィルタ処理を行う(ステップS105→S106)。この場合、上述したように強エッジがあると判断し、上述した
等の係数によるフィルタ処理を行う(ステップS106)。ステップS105の条件を充足しない場合は、上記のフィルタ処理を行わない。
ところで、画像によっては、フィルタ処理を簡略化したい場合がある。上記の標準フィルタ処理では、輝度信号(Y)、色差信号(U,V)それぞれについて処理していたが、輝度信号のみについてフィルタ処理を行えば充分な場合が多い。これを簡易フィルタAとする。
さらに簡略化したい場合は、上記の片側4画素参照及び3画素修正の代わりに、片側3画素参照及び2画素修正を採用する。このとき、係数は、例えば、
とする。つまり、
である。以上を簡易フィルタBとする。
一方、上述した標準フィルタ処理よりも滑らかなフィルタ処理を行うには、片側5画素参照及び4画素修正を採用する。すなわち、
により差分値d0〜d8の値を求める。そして、求めた差分絶対値のすべてが、ある閾値QPより小である場合には、広域ローパスフィルタ処理を行う。このときの係数は、例えば、
である。したがって、このフィルタ処理を式で表現すると、以下のようになる。すなわち、
である。
以上の処理を行うことによって、特にブロックノイズを軽減することができる。また、ブロックノイズの他、モスキートノイズについても効果があることが発明者によって確認されている。
ところで、本システムにおいては、以下のような画像処理方法が実現されている。すなわち、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理方法であり、上記境界画素を含み上記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、上記判定ステップによって修正処理を行うと判定されたとき上記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含む画像処理方法が実現されている。
そして、上記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが上記画像についての量子化値に基づいて定められた閾値より小であるとき上記修正処理を行うと判定するか、又は参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが上記画像についての量子化値に基づいて定められた閾値より小であるとき上記修正処理を行うと判定する。この場合、上記閾値は、上記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値とする。
また、上記判定ステップにおいては、上記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に、上記修正処理を行わないと判定する。
なお、上記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが上記画像についての量子化値に基づいて定められた閾値より小であるとき、上記修正処理を行うと判断する。
さらに、上記修正処理ステップにおける修正処理は、上記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに上記係数の合計値で除した値に応じて上記境界画素を修正する。この場合、上記所定係数は、上記境界画素についての値が、他の画素についての値よりも大であることとする。
なお、フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行う。
また、第4図,第6図に示されている動作を実現するためのプログラムを用意し、これによってコンピュータを制御すれば、上述と同様に画像処理を行うことができることは明白である。このプログラムは、第1図に示されていない半導体メモリ、磁気ディスク、光ディスク等の他、種々の記録媒体に記憶しておくことができる。
次に、本発明の第2の実施の形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
第7図は本発明による画像処理システムの実施の一形態を示すブロック図である。同図に示されているように、本実施形態による画像処理システムは、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出部3と、境界画素を含み境界に対して直交して連続する、その境界を挟む片側N個の画素からなる2N個の画素の差分値を求める差分値算出部4と、この差分値算出部4において求めた差分値を最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定部5と、判定部5においてフィルタ処理を行うと判定された場合、境界画素とそれを挟む片側M個の画素とを用いてフィルタ処理を行うフィルタ処理部6とを含んで構成されている。ここで、Nは、正の整数である。また、Mは、正の整数、かつ、M<Nである。なお、後述するように、フィルタ処理対象となるブロックを一旦保持しておくためのバッファを設けても良い。
以下、より具体的に説明する。本例の場合、第1図のように、垂直方向のブロック境界B1に位置する画素全てについて処理を行った後(ブロック境界B1に対して直交して連続する画素を参照する)、水平方向のブロック境界B2に位置する画素全てについて処理を行う(ブロック境界B2に対して直交して連続する画素を参照する)。もっとも、水平方向のブロック境界B2に位置する画素全てについて先に処理を行い、その後に垂直方向のブロック境界B1に位置する画素全てについて処理を行っても良い。また、画像処理は、輝度信号(Y)、色差信号(U,V)それぞれの画像に対して行う。
本システムでは、最大値検出部3において、半ブロック単位で、隣接画素間の差分値が最も大きい値(最大値)dmaxを求める。水平ブロック境界フィルタの場合は、垂直方向に8ライン、垂直ブロック境界フィルタの場合は、水平方向に8列、ブロック境界を挟んで片側4画素をとり、各々隣接する画素との差分を求める。すなわち、
により、差分値d1〜d3の各々の値を求める。結果的に、ブロックの半分の領域内での最大隣接差分値が得られる。ただし、少なくともブロックの中心付近を通る1ライン(例えば、後述する第11図(b)中のラインL4)は、片側8画素を参照する。そして、同様に差分値をとって、他の値と比較し、より大きい方を最大値dmaxとする。
また、水平ライン・垂直ライン単位で、ブロック境界を含む、片側4画素ずつをとり、各々隣接する画素との差分を求める。すなわち、
により、差分値d1〜d7の各々の値を求める。
その差分絶対値の全てがある閾値より小さい場合、広域ローパスフィルタをかける。閾値は、上記で求めた最大値dmaxの値に応じて、そのブロック毎に決定する。また、ブロック境界に位置する画素については、ブロック内に位置する画素よりも大きな閾値とする。例えば、
とする。ここで、QPはそのブロックが属する画像についての量子化値である。QP2、QP3の値は、上記の条件式によって定められる。
また、フィルタ係数は、
とする。したがって、以上のフィルタ処理を式で表現すると、以下のようになる。すなわち、
となる。
ここで、以上の処理を行う際に必要となるデータの記憶に関する処理について説明する。本例においては、第1の実施の形態と同様に、8画素×8画素の一時記憶ブロックを単位としてフィルタ処理を行うことが可能である。ただし、本例では、一時記憶ブロック内において、ブロック境界に区切られた各部分については、その部分が属するブロック毎に定まる閾値に基づいて上記処理が行われる。即ち、一時記憶ブロックの画素から得られる値のみでは、一時記憶ブロックについての上記処理が行えない。
そこで、上記処理を行うために、例えば、以下のような方法を用いる。
まず、一時記憶ブロック(8画素×8画素)をバッファに保持して処理を行っていく。このとき、一時記憶ブロックに含まれる各部分毎の差分最大値を算出する。
すると、8画素×8画素である各ブロックを区分した4画素×4画素の部分について、従前に処理された部分の差分最大値が算出されていくこととなる。
第8図は、処理対象のフレームにおける一時記憶ブロックと、差分最大値が算出された4画素×4画素の区分を示す図である。第8図において、h1〜h4は、一時記憶ブロックにおける4画素×4画素の部分を示し、黒丸点は、差分最大値が既に算出されている部分を示している。
そして、一時記憶ブロックに含まれる1つの部分(h1〜h4)を処理する際には、その部分が属するブロックにおける各部分の差分最大値のうち、最大のものを上述の最大値dmaxとして閾値を決定することにより、上記処理を行う。
ここで、一時記憶ブロックに含まれる各部分のうち、上側の2つの部分(h1,h2)については、従前の処理によって、その部分が属するブロックの全ての部分について差分最大値が算出されている。一方、下側の2つの部分(h3,h4)については、その部分が属するブロックは、未だ一時記憶ブロックとして全てが処理されてはいないことから、他の部分の差分最大値が得られていない。
そこで、第1の方法として、下側の2つの部分については、その部分が属するブロックにおいて、差分最大値が得られている部分の差分最大値のうち、最大のものを最大値dmaxとして閾値を決定する。即ち、h3が属するブロックにおいては、h3とその左隣の部分における差分最大値のうち大きいほうを最大値dmaxとし、h4が属するブロックにおいては、h4の差分最大値をして閾値を決定する。
また、第2の方法として、一時記憶ブロックの下側の2つの部分が含まれるブロックにおいて、それら2つの部分の直下の部分(4画素×4画素を2つ)を一時記憶ブロックに含めて先行して読み出し、一時記憶ブロックの処理に伴い、これらの部分の差分最大値を算出する。即ち、一時記憶ブロックを8画素×12画素として記憶し、各部分の差分最大値を算出しつつ、上側8画素×8画素の部分について、フィルタ処理を行う。なお、第8図における○印は、先行して読み出され、差分最大値が算出された部分を示している。この場合、第1の方法より正確な閾値を得ることができる。
このように、第1あるいは第2の方法を用いることにより、フレーム全体を記憶することなく、一時記憶ブロックのみを記憶することで、上記処理を行うことができる。
以上の動作について、第9図を参照して説明する。
同図において、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める(ステップS201)。この後、境界画素を含みその境界に対して直交して連続する、その境界を挟む片側N個の画素からなる2N個の画素について隣接画素間の差分値を求める(ステップS202)。
次に、ステップS202において求めた差分値を最大値に対応する閾値と比較してフィルタ処理を行うか判定する(ステップS203)。差分値全てが閾値より小であるときフィルタ処理を行う(ステップS204→S205)。
ステップS204において、差分値全てが閾値より小であることが成立していない場合、隣接する差分が所定閾値より小であるか判断する(ステップS204→S206)。隣接する差分が所定閾値より小である場合、フィルタ処理を行う(ステップS206→S207)。このフィルタ処理は、差分値の全てが所定閾値より小さい場合でなくても、部分的には小さい場合があるので、その場合に行うフィルタ処理である。ステップS206、S207においては、V2〜V7の片側3画素について、各々の隣接画素差分値を閾値と比較し、差分値が小さい場合に、1・2・1を係数とするフィルタ処理を行う。評価する範囲に大きなエッジが存在する場合のモスキートノイズは、このフィルタによって低減することができる。
一方、ステップS206において、隣接する差分が所定閾値より小でない場合、フィルタ処理を行わず、処理を終了する(ステップS206→S208)。
ところで、上記の判定では、第5図の場合と同様に輝度が緩やかに変化している場合でも、強いフィルタがかかってしまう。すなわち、同図に示されているように、画素配置X1〜X7について、上述したようにフィルタ処理を行うと、矢印Yで示されているようにX3,X4,X5の信号レベルが低下してしまう。このようなフィルタ処理は行わないようにしなければならない。
このため、ブロック境界をなす画素の輝度値と、その同じブロック内で1画素空けた2画素目の画素の輝度値との差分絶対値をとり、その値がある閾値より小さい場合に上記フィルタをかけるようにする。同図においては、x3を空けてx2とx4とを参照し、x6を空けてx5とx7とを参照する。つまり、
を求め、(d21<QP)&(d22<QP)の場合に上記のフィルタ処理を行う。
以上の動作について、第10図を参照して説明する。
同図において、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める(ステップS201)。この後、境界画素を含みその境界に対して直交して連続する、その境界を挟む片側N個の画素からなる2N個の画素について隣接画素間の差分値を求める(ステップS202)。
次に、ステップS202において求めた差分値を最大値に対応する閾値と比較してフィルタ処理を行うか判定する(ステップS203)。差分値全てが閾値より小である場合、さらに少なくとも1画素空けて隣接する画素同士の差分値を求める(ステップS204→S204a)。求めた差分値全てが閾値より小さい場合は、フィルタ処理を行う(ステップS204b→S205)。
ステップS204又はS204bにおいて、求めた差分値のいずれかが閾値より大きい場合は、さらに隣接する差分が所定閾値より小であるか判断する(ステップS204→S206、ステップS204b→S206)。隣接する差分が所定閾値より小であれば、フィルタ処理を行う(ステップS206→S207)。このフィルタ処理は、差分値の全てが所定閾値より小さい場合でなくても、部分的には小さい場合があるので、その場合に行うフィルタ処理である。ステップS206、S207においては、V2〜V7の片側3画素について、各々の隣接画素差分値を閾値と比較し、差分値が小さい場合に、1・2・1を係数とするフィルタ処理を行う。
一方、ステップS206において、隣接する差分が所定閾値より小でない場合、フィルタ処理を行わず、処理を終了する(ステップS206→S208)。
ところで、画像によっては、フィルタ処理を簡略化したい場合がある。上記のフィルタ処理では、輝度信号(Y)、色差信号(U,V)それぞれについて処理していたが、輝度信号のみについてフィルタ処理を行えば充分な場合が多い。
(処理の軽量化)
また、以上の処理の処理量を軽減するため、以下の変形例が考えられる。フィルタ処理の閾値は、ブロック内のエッジの大きさに関係なく、量子化値に応じて決定する。フィルタ処理を行わない場合は、画素単位で、その画素の両側隣接画素との差分値の最大値(隣接差分最大値)dmaxにより、フィルタ処理を行うか判断をする。
隣接差分最大値の探索は、第11図(a)に示されているように、1ラインおきとする。すなわち、第11図(a)において、全ラインL1〜L8を探索対象とするのではなく、ラインについて間引きを行う。本例では、ラインL1,L3,L5,L7について同図中の右半分に位置している黒丸点の画素を探索対象とする。さらに、ラインL4について同図中の左半分に位置している黒丸点の画素を探索対象とする。そして、各ラインL1,L3,L5,L7について4画素間の差分値を求める。また、中央のラインL4については、ブロック境界Bから遠い方(図中の左半分)において、5画素間の差分値を求める。
以上により、ブロック内のほぼすべての方向におけるエッジを検出することが期待できる。第11図(b)において、同図中の黒丸点が差分検出に使用する画素(垂直方向のブロック境界フィルタの場合)である。このように、配置されている画素を探索対象とすれば、同図中の一点鎖線のように想定されるエッジを検出することができる。すなわち、同図(b)においては、どの一点鎖線もいずれかの黒丸点を通っているので、いずれについてもエッジとして検出されることになる。なお、着目している境界の反対側については、上記と左右対称位置の黒丸点を探索対象とする。
(応用例)
さらに応用例として、以下の処理が考えられる。上記の隣接差分最大値を求める場合、第11図に示されているような半ブロック内での最大値を求めるのではなく、ブロック全体について最大値を求めても良い。この方がより正確に処理を行える。
また、探索対象とするラインの間引き方は、多様であり、第11図において黒丸点で示されているような、1行目のラインL1,3行目のラインL3,5行目のラインL5,7行目のラインL7、及び4行目のラインL4の探索に限らず、1行目のラインL1,3行目のラインL3,5行目のラインL5,8行目のラインL8、並びに2行目のラインL2及び7行目のラインL7の探索等でも良い。
さらに、探索対象のラインについて、ブロック右半分側の4画素及びブロック左半分の5画素を対象とする他、ブロック右半分側の5画素及びブロック左半分の4画素を対象としても良い。
閾値については、上述した例ではQP2及びQP3の2種類を設けて3つに場合分けしていたが、場合分けの数は任意である。ただし、閾値は量子化値との相関が強いので、量子化値QPに基づいて決定するのが効果的である。
以上説明した画像処理システムにおいては、以下のような画像処理方法が実現されている。すなわち、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理方法であり、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、上記着目画素を含み上記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、上記差分値算出ステップにおいて求めた差分値を上記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、上記判定ステップにおいてフィルタ処理を行うと判定された場合、上記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含む画像処理方法が実現されている。そして、上記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、上記判定ステップにおいては、上記差分値算出ステップにおいて求めた差分値全てが上記閾値より小であるとき上記フィルタ処理を行うと判定するか、あるいは参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、上記判定ステップにおいては、上記差分値算出ステップにおいて求めた差分値全てが上記画像についての量子化値に基づいて定められた閾値より小であるとき上記フィルタ処理を行うと判定する。
また、上記判定ステップにおいては、上記最大値に応じて上記閾値の値を決定する。この場合、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とする。
なお、上記判定ステップにおいては、上記差分値全てが上記閾値より小であることが成立していない場合であっても、上記M画素各々の隣接画素差分値が所定閾値より小であるとき、上記フィルタ処理とは異なる所定のフィルタ処理を行うと判断する。
上記フィルタ処理ステップにおいては、上記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに上記係数の合計値で除した値に応じて上記着目画素を修正する。上記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行う。そして、上記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行う。
また、第9図,第10図に示されている動作を実現するためのプログラムを用意し、これによってコンピュータを制御すれば、上述と同様に画像処理を行うことができることは明白である。このプログラムは、第7図に示されていない半導体メモリ、磁気ディスク、光ディスク等の他、種々の記録媒体に記憶しておくことができる。
なお、以上は本システムによってモスキートノイズを除去する場合について説明したが、本システムはブロックノイズをも低減できることが発明者によって確認されている。本システムによるモスキートノイズ除去処理は、ブロックノイズ除去処理との親和性が良いので、ブロックノイズ除去処理を実現するシステムに本システムを追加することも簡単である。このため、ブロックノイズ除去処理を実現するシステムに対して本システムの機能の追加及び削除が簡単である。予め本システムのモスキートノイズ除去処理機能を設けておき、その除去処理機能のオンオフをユーザの要求に応じて指定するように構成しても良い。
産業上の利用の可能性
本発明は、境界画素を含み境界に対して直交して連続する該境界を挟む片側N個の画素からなる2N個の画素を参照し修正処理を行うか判定し、修正処理を行うと判定されたとき境界画素とそれを挟む片側M個の画素とを用いて修正処理を行うことにより、特にブロックノイズを軽減することができるという効果がある。
また、本発明は、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求め、着目画素を含みブロック同士の境界に対して直交して連続する片側N個の画素からなる2N個の画素について隣接画素間の差分値を求め、この求めた差分値を上記最大値に対応する閾値と比較してフィルタ処理を行うか判定し、フィルタ処理を行うと判定された場合、上記着目画素とそれを挟む片側M個の画素とを用いてフィルタ処理を行うことにより、簡単な処理によってモスキートノイズを軽減できるという効果がある。
【図面の簡単な説明】
第1図は本発明による画像処理システムによる処理対象である、画像のブロックと参照する画素との位置関係を示す図である。第2図は本発明による画像処理システムの構成を示すブロック図である。第3図は一時記憶ブロックの概念を示す図である。第4図は第2図中の画像処理システムによるフィルタ処理の一例を示すフローチャートである。第5図は第2図中の画像処理システムにおいて、1画素空けて参照する場合を示す図である。第6図は第2図中の画像処理システムによるフィルタ処理の他の例を示すフローチャートである。第7図は本発明による画像処理システムの構成を示すブロック図である。第8図は処理対象のフレームにおける一時記憶ブロックと、差分最大値が算出された4画素×4画素の区分を示す図である。第9図は第7図中の画像処理システムによるフィルタ処理の一例を示すフローチャートである。第10図は第7図中の画像処理システムによるフィルタ処理の他の例を示すフローチャートである。第11図は最大値の検索範囲を示す図である。第12図は従来の画像処理システムによるフィルタ処理を示す図である。第13図は従来の画像処理システムにおいて参照する画素を示す図である。
本発明は画像処理システム、画像処理方法、及び画像処理プログラムに関する。
背景技術
静止画像についての圧縮技術としてJPEG(Joint Photographic Experts Group)方式、動画像についての圧縮技術としてMPEG(Moving Picture Experts Group)方式、が広く知られている。これらの画像圧縮方式においては、8画素×8画素のブロックを処理の1単位として扱い、周知の離散コサイン変換(Discrete Cosine Transform;以下、DCT)処理を行う。DCT処理は、元の画像を空間的な周波数成分に分解する処理であり、空間的に冗長な情報を削減することによって、画像を圧縮することができる。
ところで、JPEG方式又はMPEG方式を採用する場合、次のような2種類のノイズが発生し、このノイズが画質を劣化させる原因となる。すなわち、上述したように、JPEG方式及びMPEG方式においては、8画素×8画素のブロックを処理の単位としているので、画像によっては、このブロックの境界がノイズとして見えてしまう。この境界部分のノイズはブロックノイズと呼ばれている。
また、JPEG方式及びMPEG方式におけるDCT処理では、高調波成分を冗長な情報として除去する結果、周辺との輝度差が大きい部分にノイズが表れる。例えば、自然画の背景に文字が存在する場合等、ブロック内に輝度の大きな変化がある場合、DCT処理を行うと、本来の境界部分を構成するデータから高調波成分が除去され、境界周辺にモヤモヤとしたノイズが表れる。このノイズは、モスキートノイズと呼ばれる。
以上のブロックノイズを軽減するための技術として、verification model(以下、VM)や特開平11−98505公報に記載されている技術が知られている。特開平11−98505公報に記載されている技術においては、第13図に示されている垂直方向及び水平方向のブロック境界について、デフォルトモードかDCオフセットモードかを判定し、それぞれの処理を行う。
この場合、ブロックの境界B1,B2を基点としてピクセルセットS0,S1,S2を定義し、モード決定値からブロック歪現象の程度に基づいて選択的にデブロッキングモードをデフォルトモードかDCオフセットモードかに決める。そして、デフォルトモードと決定されると、4ポイントDCTカーネルを用いて各ピクセルに対するブロック境界周辺の周波数情報を求める。モード決定段階でDCオフセットモードと決定されると、DCオフセットモードの実行が必要であるかどうかを判断し、必要であれば画像の動きが緩慢な領域でブロック歪み現象を除去する。
以上の他、VMにはモスキートノイズを除くフィルタもある。このフィルタにおいては、ブロック内の最大値及び最小値を求める処理、すべての画素について閾値処理をし、モスキートノイズ除去処理をするか、しないかの判断処理が必要になる。
また、以上のようなノイズを軽減するための技術が特開平3−46482号公報に記載されている。同公報に記載されている技術においては、2つの境界隣接画素間の信号レベル差が第1の閾値より大きく、ブロックの各々において境界隣接画素と列上の画素のうちその境界隣接画素に同一ブロック内で隣接する画素との間の信号レベル差がそれぞれ第2の閾値より小さい場合に、フィルタ処理をする。
このとき、第12図において、ブロック境界の両側に位置する画素配置X1及びX0、画素配置X’0及びX’1についての信号レベルS1、S0、S’0、S’1の差分値d0,d1,d2に基づいて、画素配置X0、X’0についての信号レベルを修正する。すなわち新たな信号レベルS0−new、S’0−newは、
となる。
しかしながら、上述した特開平3−46482号公報に記載されている技術では、境界画素のみを補正しているので、ブロック歪みを除去する処理として充分ではないという欠点がある。また、VMや特開平11−98505公報に記載されている技術では処理が複雑で計算負荷が大きすぎるという欠点がある。
ここで、いくつかの調査や実験により、以下のことがわかってきた。まず、フィルタによって補正するとき、ブロック境界1〜2画素を補正するのでは不十分であり、3画素は補正すべきである。また、エッジ周辺のモスキートノイズと画像本来の高周波成分とを判別するのは難しい。さらに、ブロック境界画素のみを用いた判定では、ブロック歪みを検出することはできても、広域フィルタにするか、狭域フィルタにするか、の正しい判断ができない。ブロック内部に強エッジがあった場合、広域フィルタ処理は行うべきでない。
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的はより簡単な処理によって上記のノイズを軽減することのできる画像処理システム、画像処理方法、及び画像処理プログラムを提供することである。
発明の開示
本発明による画像処理システムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理システムであって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定手段と、前記判定手段によって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理手段とを含むことを特徴とする。
また、前記判定手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記判定手段においては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする。
また、前記判定手段においては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする。
また、前記判定手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする。
また、前記修正処理手段における修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする。
また、前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶する記憶手段を含み、前記ブロックに含まれる所定画素を該記憶手段に順次記憶していき、前記判定手段および前記修正処理手段は、該記憶手段に記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
これにより、フィルタ処理の際に画素を記憶しておくために必要となる記憶容量を軽減できる。
また、本発明による画像処理方法は、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理方法であって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、前記判定ステップによって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含むことを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする。
また、前記判定ステップにおいては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする。
また、前記修正処理ステップにおける修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする。
また、前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、前記ブロックにおいて、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、前記判定ステップおよび前記修正処理ステップにおいては、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
本発明による画像処理プログラムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理プログラムであって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、前記判定ステップによって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含むことを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする。
また、前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする。
また、前記判定ステップにおいては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする。
また、前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする。
また、前記修正処理ステップにおける修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする。
また、前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、前記ブロックにおいて、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、前記判定ステップおよび前記修正処理ステップにおいては、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
要するに、本発明では、境界を挟む片側N個の画素からなる2N個の画素を参照し、修正する場合には境界画素とそれを挟む片側M個の画素とを用いる。そして、N及びMの値を適切に設定することによって、上記のノイズを低減するのである。
本発明による画像処理システムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理システムであって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求めることが可能な最大値検出手段と、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出手段と、前記差分値算出手段において求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定手段と、前記判定手段においてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理手段とを含むことを特徴とする。
また、前記差分値算出手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定手段においては、前記差分値算出手段において求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記差分値算出手段においては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定手段においては、前記差分値算出手段において求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記判定手段においては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする。
また、前記判定手段においては、前記最大値に応じて前記閾値の値を決定することを特徴とする。
また、前記判定手段においては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする。
また、前記フィルタ処理手段においては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする。
また、前記最大値検出手段における最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶する記憶手段と、該記憶手段に記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得手段とを含み、前記最大値検出手段は、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出手段およびフィルタ処理手段は、該記憶手段に記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
本方法により、フィルタ処理の際に画素を記憶しておくために必要となる記憶容量を軽減できる。
また、水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶する記憶手段と、該記憶手段に記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得手段とを含み、前記最大値検出手段は、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出手段およびフィルタ処理手段は、該記憶手段に記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする。
本発明による画像処理方法は、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理方法であって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、前記差分値算出ステップにおいて求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、前記判定ステップにおいてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含むことを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする。
また、前記判定ステップにおいては、前記最大値に応じて前記閾値の値を決定することを特徴とする。
また、前記判定ステップにおいては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする。
また、前記フィルタ処理ステップにおいては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする。
また、前記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、該記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶していき、該記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする。
本発明による画像処理プログラムは、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理プログラムであって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、前記差分値算出ステップにおいて求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、前記判定ステップにおいてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含むことを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記差分値算出ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする。
また、前記判定ステップにおいては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする。
また、前記判定ステップにおいては、前記最大値に応じて前記閾値の値を決定することを特徴とする。
また、前記判定ステップにおいては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする。
また、前記フィルタ処理ステップにおいては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする。
また、前記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする。
また、前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、該記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする。
また、水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶していき、該記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする。
ところで、モスキートノイズが目立つのは、強エッジに隣接する部分である。したがって、ブロック内に含まれているエッジのおよその大きさによってフィルタのオンオフ評価値を変えればモスキートノイズを低減させることが期待できる。隣接差分値を使用した処理を利用するため、エッジ抽出は隣接画素間のみとし、さらに処理を容易にするため、かつ、判断を誤った場合の影響を小さくするために、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める対象とする。ただし、斜め成分を含まない水平、垂直方向のみのエッジに対応するため、ブロック中心のみは画素すべてをエッジ抽出に利用する。
発明を実施するための最良の形態
次に、図により本発明に係る画像処理システムの実施形態を具体的に説明する。
初めに、本発明の第1の実施の形態について説明する。
なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
第2図は本発明による画像処理システムの実施の一形態を示すブロック図である。同図に示されているように、本実施形態による画像処理システムは、境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個の画素からなる2N個の画素を参照し修正処理を行うか判定する判定部1と、この判定部1によって修正処理を行うと判定されたとき、境界を挟む片側M個の画素を用いて修正処理を行う修正処理部2とを含んで構成されている。ここで、Nは、3乃至5のいずれかの整数である。また、Mは、整数、かつ、M<Nである。
なお、フィルタ処理対象となるブロックを一旦保持しておくためのバッファを設けても良い。この場合、例えば、第1図に示されているブロック境界を挟んでそれぞれ片側4画素(境界の両側8画素)を参照する場合、処理対象であるフレーム全体を保持するのではなく、ブロック境界を含む8画素×8画素(以下、適宜「一時記憶ブロック」と言う。)を一時的に保持することにより、修正処理およびフィルタ処理を適切に行うことができる。第3図は、一時記憶ブロックの概念を示す図である。
このように、フィルタ処理対象となる境界を含む所定サイズの一時記憶ブロックを保持して修正処理を行うか否かを判定することにより、必要となる記憶容量を軽減することができる。
なお、フレームの端部においては、境界の片側にのみ画素が存在し、8画素×8画素に満たないため、存在する側の画素を境界で折り返して一時記憶ブロックを補完したり、所定の擬似的な画素で補完したりするというように、フィルタ処理に影響の少ない画素を補うことが考えられる。
本例において、判定部1は、第1図に示されているブロック境界を挟む片側4画素を参照する。すなわち、信号レベル値v1〜v8を参照する。そして、参照する2N(本例では、8)個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき修正処理を行うと判定する。
また、修正処理部2は、境界画素の信号レベルとそれを挟む2M(本例では、6)個の画素それぞれの信号レベルとに所定係数を乗じる。そして、この乗じた値を、係数の合計値で除する。この除した値に応じて境界画素の信号レベルを修正する。この場合、各画素に乗じる係数は、境界画素についての信号レベルの値が、他の画素についての信号レベルの値よりも大であるようにする。
なお、本例では、垂直方向のブロック境界B1に位置する画素全てについて処理を行った後(ブロック境界B1に対して直交して連続する画素を参照する)、水平方向のブロック境界B2に位置する画素全てについて処理を行う(ブロック境界B2に対して直交して連続する画素を参照する)。もっとも、水平方向のブロック境界B2に位置する画素全てについて先に処理を行い、その後に垂直方向のブロック境界B1に位置する画素全てについて処理を行っても良い。
また、画像処理は、輝度信号(Y)、色差信号(U,V)それぞれの画像に対して行う。
以下、より具体的に説明する。本例の場合、第1図に示されているように、ブロック境界を含む、片側4画素ずつを参照する。つまり、同図中の各画素の信号レベル値v1〜v8を参照する。信号レベル値v1〜v8について、各々隣接する画素との差分を求める。すなわち、
により、差分値d1〜d7の各々の値を求める。
そして、求めた差分絶対値のすべてが、ある閾値QPより小である場合には、広域ローパスフィルタ処理を行う。その係数は、例えば、
とする。また、画像の端部に位置している画素については、参照する画素が余分に要らず、かつ、計算が容易なように、
とする。したがって、このフィルタ処理を式で表現すると、以下のようになる。すなわち、
となる。
ここで、「QP」は閾値であり、
である。発明者の検証によると、d=2〜10が適当であり、特に4又は6が良い。また、量子化に応じてdの値を変化させるのが良い。発明者の検証によると、量子化値が30以上なら、d=0が良い。
さらに、ブロック内は、QP=量子化値+4、ブロック境界は、QP=量子化値×2とするのが良い。
なお、差分の値がすべて「0」である場合は、ブロック歪みがないか、又はあっても目立たないので、フィルタ処理を行わない。
同様に、差分の値d1〜d7のうち、1つが「0」でなく、他がすべて「0」である場合にも、ブロック歪みが目立たないので、フィルタ処理を行わない。
差分d1〜d7の値のいずれかが大きい場合、強エッジがあると判断し、フィルタ処理はブロック境界画素のみとし、ブロック境界画素に隣接する両側画素との差分がある閾値より小さい場合、ローパスフィルタをかける。その係数は、例えば
とする。この処理を信号レベル値v3,v4,v5,v6に対して行う。
以上の動作について、第4図を参照して説明する。同図において、まず、隣接する画素同士の差分値を求める(ステップS101)。求めた差分値全てが閾値より小さい場合は、さらに差分値全てが零であるか、又は1つのみが零でないか、判断する(ステップS102→S103)。差分値全てが零であるか、又は1つのみが零でない場合は、フィルタ処理を行わないで処理を終了する。一方、ステップS103の条件を充足しない場合は、フィルタ処理を行う(ステップS103→S104)。
ステップS102において、求めた差分値のいずれかが閾値より大きい場合は、さらに隣接する差分値が所定閾値より小であるか判断する(ステップS102→S105)。隣接する差分値が所定閾値より小であれば、フィルタ処理を行う(ステップS105→S106)。この場合、上述したように強エッジがあると判断し、上述した
等の係数によるフィルタ処理を行う(ステップS106)。ステップS105の条件を充足しない場合は、上記のフィルタ処理を行わない。
ところで、上記の判定では、第5図のように輝度が緩やかに変化している場合でも、強いフィルタがかかってしまう。すなわち、同図に示されているように、画素配置X1〜X7について、上述したようにフィルタ処理を行うと、矢印Yで示されているようにX3,X4,X5の信号レベルが低下してしまう。このようなフィルタ処理は行わないようにしなければならない。
このため、ブロック境界をなす画素の輝度値と、その同じブロック内で1画素空けた2画素目の画素の輝度値との差分絶対値をとり、その値がある閾値より小さい場合に上記フィルタをかけるようにする。同図においては、x3を空けてx2とx4とを参照し、x6を空けてx5とx7とを参照する。つまり、
を求め、(d21<QP)&(d22<QP)の場合に上記のフィルタ処理を行う。
以上の処理を標準フィルタ処理とする。
なお、上記の例では、1画素空けて隣接する画素同士の差分値を求めているが、2画素空けても良い。したがって、少なくとも1画素空ければ良いことになる。
この場合の動作について、第6図を参照して説明する。同図において、まず、隣接する画素同士の差分値を求める(ステップS101)。求めた差分値全てが閾値より小さい場合は、さらに差分値全てが零であるか、又は1つのみが零でないか、判断する(ステップS102→S103)。差分値全てが零であるか、又は1つのみが零でない場合は、フィルタ処理を行わないで処理を終了する。そうでなければ、さらに少なくとも1画素空けて隣接する画素同士の差分値を求める(ステップS103→S103a)。求めた差分値全てが閾値より小さいか、判断する(ステップS103a→S103b)。求めた差分値全てが閾値より小さい場合はフィルタ処理を行い(ステップS103b→S104)、そうでなければフィルタ処理を行わないで処理を終了する。
ステップS102において、求めた差分値のいずれかが閾値より大きい場合は、さらに隣接する差分値が所定閾値より小であるか判断する(ステップS102→S105)。隣接する差分値が所定閾値より小であれば、フィルタ処理を行う(ステップS105→S106)。この場合、上述したように強エッジがあると判断し、上述した
等の係数によるフィルタ処理を行う(ステップS106)。ステップS105の条件を充足しない場合は、上記のフィルタ処理を行わない。
ところで、画像によっては、フィルタ処理を簡略化したい場合がある。上記の標準フィルタ処理では、輝度信号(Y)、色差信号(U,V)それぞれについて処理していたが、輝度信号のみについてフィルタ処理を行えば充分な場合が多い。これを簡易フィルタAとする。
さらに簡略化したい場合は、上記の片側4画素参照及び3画素修正の代わりに、片側3画素参照及び2画素修正を採用する。このとき、係数は、例えば、
とする。つまり、
である。以上を簡易フィルタBとする。
一方、上述した標準フィルタ処理よりも滑らかなフィルタ処理を行うには、片側5画素参照及び4画素修正を採用する。すなわち、
により差分値d0〜d8の値を求める。そして、求めた差分絶対値のすべてが、ある閾値QPより小である場合には、広域ローパスフィルタ処理を行う。このときの係数は、例えば、
である。したがって、このフィルタ処理を式で表現すると、以下のようになる。すなわち、
である。
以上の処理を行うことによって、特にブロックノイズを軽減することができる。また、ブロックノイズの他、モスキートノイズについても効果があることが発明者によって確認されている。
ところで、本システムにおいては、以下のような画像処理方法が実現されている。すなわち、画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理方法であり、上記境界画素を含み上記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、上記判定ステップによって修正処理を行うと判定されたとき上記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含む画像処理方法が実現されている。
そして、上記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが上記画像についての量子化値に基づいて定められた閾値より小であるとき上記修正処理を行うと判定するか、又は参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが上記画像についての量子化値に基づいて定められた閾値より小であるとき上記修正処理を行うと判定する。この場合、上記閾値は、上記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値とする。
また、上記判定ステップにおいては、上記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に、上記修正処理を行わないと判定する。
なお、上記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが上記画像についての量子化値に基づいて定められた閾値より小であるとき、上記修正処理を行うと判断する。
さらに、上記修正処理ステップにおける修正処理は、上記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに上記係数の合計値で除した値に応じて上記境界画素を修正する。この場合、上記所定係数は、上記境界画素についての値が、他の画素についての値よりも大であることとする。
なお、フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行う。
また、第4図,第6図に示されている動作を実現するためのプログラムを用意し、これによってコンピュータを制御すれば、上述と同様に画像処理を行うことができることは明白である。このプログラムは、第1図に示されていない半導体メモリ、磁気ディスク、光ディスク等の他、種々の記録媒体に記憶しておくことができる。
次に、本発明の第2の実施の形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
第7図は本発明による画像処理システムの実施の一形態を示すブロック図である。同図に示されているように、本実施形態による画像処理システムは、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出部3と、境界画素を含み境界に対して直交して連続する、その境界を挟む片側N個の画素からなる2N個の画素の差分値を求める差分値算出部4と、この差分値算出部4において求めた差分値を最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定部5と、判定部5においてフィルタ処理を行うと判定された場合、境界画素とそれを挟む片側M個の画素とを用いてフィルタ処理を行うフィルタ処理部6とを含んで構成されている。ここで、Nは、正の整数である。また、Mは、正の整数、かつ、M<Nである。なお、後述するように、フィルタ処理対象となるブロックを一旦保持しておくためのバッファを設けても良い。
以下、より具体的に説明する。本例の場合、第1図のように、垂直方向のブロック境界B1に位置する画素全てについて処理を行った後(ブロック境界B1に対して直交して連続する画素を参照する)、水平方向のブロック境界B2に位置する画素全てについて処理を行う(ブロック境界B2に対して直交して連続する画素を参照する)。もっとも、水平方向のブロック境界B2に位置する画素全てについて先に処理を行い、その後に垂直方向のブロック境界B1に位置する画素全てについて処理を行っても良い。また、画像処理は、輝度信号(Y)、色差信号(U,V)それぞれの画像に対して行う。
本システムでは、最大値検出部3において、半ブロック単位で、隣接画素間の差分値が最も大きい値(最大値)dmaxを求める。水平ブロック境界フィルタの場合は、垂直方向に8ライン、垂直ブロック境界フィルタの場合は、水平方向に8列、ブロック境界を挟んで片側4画素をとり、各々隣接する画素との差分を求める。すなわち、
により、差分値d1〜d3の各々の値を求める。結果的に、ブロックの半分の領域内での最大隣接差分値が得られる。ただし、少なくともブロックの中心付近を通る1ライン(例えば、後述する第11図(b)中のラインL4)は、片側8画素を参照する。そして、同様に差分値をとって、他の値と比較し、より大きい方を最大値dmaxとする。
また、水平ライン・垂直ライン単位で、ブロック境界を含む、片側4画素ずつをとり、各々隣接する画素との差分を求める。すなわち、
により、差分値d1〜d7の各々の値を求める。
その差分絶対値の全てがある閾値より小さい場合、広域ローパスフィルタをかける。閾値は、上記で求めた最大値dmaxの値に応じて、そのブロック毎に決定する。また、ブロック境界に位置する画素については、ブロック内に位置する画素よりも大きな閾値とする。例えば、
とする。ここで、QPはそのブロックが属する画像についての量子化値である。QP2、QP3の値は、上記の条件式によって定められる。
また、フィルタ係数は、
とする。したがって、以上のフィルタ処理を式で表現すると、以下のようになる。すなわち、
となる。
ここで、以上の処理を行う際に必要となるデータの記憶に関する処理について説明する。本例においては、第1の実施の形態と同様に、8画素×8画素の一時記憶ブロックを単位としてフィルタ処理を行うことが可能である。ただし、本例では、一時記憶ブロック内において、ブロック境界に区切られた各部分については、その部分が属するブロック毎に定まる閾値に基づいて上記処理が行われる。即ち、一時記憶ブロックの画素から得られる値のみでは、一時記憶ブロックについての上記処理が行えない。
そこで、上記処理を行うために、例えば、以下のような方法を用いる。
まず、一時記憶ブロック(8画素×8画素)をバッファに保持して処理を行っていく。このとき、一時記憶ブロックに含まれる各部分毎の差分最大値を算出する。
すると、8画素×8画素である各ブロックを区分した4画素×4画素の部分について、従前に処理された部分の差分最大値が算出されていくこととなる。
第8図は、処理対象のフレームにおける一時記憶ブロックと、差分最大値が算出された4画素×4画素の区分を示す図である。第8図において、h1〜h4は、一時記憶ブロックにおける4画素×4画素の部分を示し、黒丸点は、差分最大値が既に算出されている部分を示している。
そして、一時記憶ブロックに含まれる1つの部分(h1〜h4)を処理する際には、その部分が属するブロックにおける各部分の差分最大値のうち、最大のものを上述の最大値dmaxとして閾値を決定することにより、上記処理を行う。
ここで、一時記憶ブロックに含まれる各部分のうち、上側の2つの部分(h1,h2)については、従前の処理によって、その部分が属するブロックの全ての部分について差分最大値が算出されている。一方、下側の2つの部分(h3,h4)については、その部分が属するブロックは、未だ一時記憶ブロックとして全てが処理されてはいないことから、他の部分の差分最大値が得られていない。
そこで、第1の方法として、下側の2つの部分については、その部分が属するブロックにおいて、差分最大値が得られている部分の差分最大値のうち、最大のものを最大値dmaxとして閾値を決定する。即ち、h3が属するブロックにおいては、h3とその左隣の部分における差分最大値のうち大きいほうを最大値dmaxとし、h4が属するブロックにおいては、h4の差分最大値をして閾値を決定する。
また、第2の方法として、一時記憶ブロックの下側の2つの部分が含まれるブロックにおいて、それら2つの部分の直下の部分(4画素×4画素を2つ)を一時記憶ブロックに含めて先行して読み出し、一時記憶ブロックの処理に伴い、これらの部分の差分最大値を算出する。即ち、一時記憶ブロックを8画素×12画素として記憶し、各部分の差分最大値を算出しつつ、上側8画素×8画素の部分について、フィルタ処理を行う。なお、第8図における○印は、先行して読み出され、差分最大値が算出された部分を示している。この場合、第1の方法より正確な閾値を得ることができる。
このように、第1あるいは第2の方法を用いることにより、フレーム全体を記憶することなく、一時記憶ブロックのみを記憶することで、上記処理を行うことができる。
以上の動作について、第9図を参照して説明する。
同図において、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める(ステップS201)。この後、境界画素を含みその境界に対して直交して連続する、その境界を挟む片側N個の画素からなる2N個の画素について隣接画素間の差分値を求める(ステップS202)。
次に、ステップS202において求めた差分値を最大値に対応する閾値と比較してフィルタ処理を行うか判定する(ステップS203)。差分値全てが閾値より小であるときフィルタ処理を行う(ステップS204→S205)。
ステップS204において、差分値全てが閾値より小であることが成立していない場合、隣接する差分が所定閾値より小であるか判断する(ステップS204→S206)。隣接する差分が所定閾値より小である場合、フィルタ処理を行う(ステップS206→S207)。このフィルタ処理は、差分値の全てが所定閾値より小さい場合でなくても、部分的には小さい場合があるので、その場合に行うフィルタ処理である。ステップS206、S207においては、V2〜V7の片側3画素について、各々の隣接画素差分値を閾値と比較し、差分値が小さい場合に、1・2・1を係数とするフィルタ処理を行う。評価する範囲に大きなエッジが存在する場合のモスキートノイズは、このフィルタによって低減することができる。
一方、ステップS206において、隣接する差分が所定閾値より小でない場合、フィルタ処理を行わず、処理を終了する(ステップS206→S208)。
ところで、上記の判定では、第5図の場合と同様に輝度が緩やかに変化している場合でも、強いフィルタがかかってしまう。すなわち、同図に示されているように、画素配置X1〜X7について、上述したようにフィルタ処理を行うと、矢印Yで示されているようにX3,X4,X5の信号レベルが低下してしまう。このようなフィルタ処理は行わないようにしなければならない。
このため、ブロック境界をなす画素の輝度値と、その同じブロック内で1画素空けた2画素目の画素の輝度値との差分絶対値をとり、その値がある閾値より小さい場合に上記フィルタをかけるようにする。同図においては、x3を空けてx2とx4とを参照し、x6を空けてx5とx7とを参照する。つまり、
を求め、(d21<QP)&(d22<QP)の場合に上記のフィルタ処理を行う。
以上の動作について、第10図を参照して説明する。
同図において、処理対象のブロックを構成する全画素のうち境界画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める(ステップS201)。この後、境界画素を含みその境界に対して直交して連続する、その境界を挟む片側N個の画素からなる2N個の画素について隣接画素間の差分値を求める(ステップS202)。
次に、ステップS202において求めた差分値を最大値に対応する閾値と比較してフィルタ処理を行うか判定する(ステップS203)。差分値全てが閾値より小である場合、さらに少なくとも1画素空けて隣接する画素同士の差分値を求める(ステップS204→S204a)。求めた差分値全てが閾値より小さい場合は、フィルタ処理を行う(ステップS204b→S205)。
ステップS204又はS204bにおいて、求めた差分値のいずれかが閾値より大きい場合は、さらに隣接する差分が所定閾値より小であるか判断する(ステップS204→S206、ステップS204b→S206)。隣接する差分が所定閾値より小であれば、フィルタ処理を行う(ステップS206→S207)。このフィルタ処理は、差分値の全てが所定閾値より小さい場合でなくても、部分的には小さい場合があるので、その場合に行うフィルタ処理である。ステップS206、S207においては、V2〜V7の片側3画素について、各々の隣接画素差分値を閾値と比較し、差分値が小さい場合に、1・2・1を係数とするフィルタ処理を行う。
一方、ステップS206において、隣接する差分が所定閾値より小でない場合、フィルタ処理を行わず、処理を終了する(ステップS206→S208)。
ところで、画像によっては、フィルタ処理を簡略化したい場合がある。上記のフィルタ処理では、輝度信号(Y)、色差信号(U,V)それぞれについて処理していたが、輝度信号のみについてフィルタ処理を行えば充分な場合が多い。
(処理の軽量化)
また、以上の処理の処理量を軽減するため、以下の変形例が考えられる。フィルタ処理の閾値は、ブロック内のエッジの大きさに関係なく、量子化値に応じて決定する。フィルタ処理を行わない場合は、画素単位で、その画素の両側隣接画素との差分値の最大値(隣接差分最大値)dmaxにより、フィルタ処理を行うか判断をする。
隣接差分最大値の探索は、第11図(a)に示されているように、1ラインおきとする。すなわち、第11図(a)において、全ラインL1〜L8を探索対象とするのではなく、ラインについて間引きを行う。本例では、ラインL1,L3,L5,L7について同図中の右半分に位置している黒丸点の画素を探索対象とする。さらに、ラインL4について同図中の左半分に位置している黒丸点の画素を探索対象とする。そして、各ラインL1,L3,L5,L7について4画素間の差分値を求める。また、中央のラインL4については、ブロック境界Bから遠い方(図中の左半分)において、5画素間の差分値を求める。
以上により、ブロック内のほぼすべての方向におけるエッジを検出することが期待できる。第11図(b)において、同図中の黒丸点が差分検出に使用する画素(垂直方向のブロック境界フィルタの場合)である。このように、配置されている画素を探索対象とすれば、同図中の一点鎖線のように想定されるエッジを検出することができる。すなわち、同図(b)においては、どの一点鎖線もいずれかの黒丸点を通っているので、いずれについてもエッジとして検出されることになる。なお、着目している境界の反対側については、上記と左右対称位置の黒丸点を探索対象とする。
(応用例)
さらに応用例として、以下の処理が考えられる。上記の隣接差分最大値を求める場合、第11図に示されているような半ブロック内での最大値を求めるのではなく、ブロック全体について最大値を求めても良い。この方がより正確に処理を行える。
また、探索対象とするラインの間引き方は、多様であり、第11図において黒丸点で示されているような、1行目のラインL1,3行目のラインL3,5行目のラインL5,7行目のラインL7、及び4行目のラインL4の探索に限らず、1行目のラインL1,3行目のラインL3,5行目のラインL5,8行目のラインL8、並びに2行目のラインL2及び7行目のラインL7の探索等でも良い。
さらに、探索対象のラインについて、ブロック右半分側の4画素及びブロック左半分の5画素を対象とする他、ブロック右半分側の5画素及びブロック左半分の4画素を対象としても良い。
閾値については、上述した例ではQP2及びQP3の2種類を設けて3つに場合分けしていたが、場合分けの数は任意である。ただし、閾値は量子化値との相関が強いので、量子化値QPに基づいて決定するのが効果的である。
以上説明した画像処理システムにおいては、以下のような画像処理方法が実現されている。すなわち、画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理方法であり、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、上記着目画素を含み上記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、上記差分値算出ステップにおいて求めた差分値を上記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、上記判定ステップにおいてフィルタ処理を行うと判定された場合、上記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含む画像処理方法が実現されている。そして、上記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、上記判定ステップにおいては、上記差分値算出ステップにおいて求めた差分値全てが上記閾値より小であるとき上記フィルタ処理を行うと判定するか、あるいは参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、上記判定ステップにおいては、上記差分値算出ステップにおいて求めた差分値全てが上記画像についての量子化値に基づいて定められた閾値より小であるとき上記フィルタ処理を行うと判定する。
また、上記判定ステップにおいては、上記最大値に応じて上記閾値の値を決定する。この場合、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とする。
なお、上記判定ステップにおいては、上記差分値全てが上記閾値より小であることが成立していない場合であっても、上記M画素各々の隣接画素差分値が所定閾値より小であるとき、上記フィルタ処理とは異なる所定のフィルタ処理を行うと判断する。
上記フィルタ処理ステップにおいては、上記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに上記係数の合計値で除した値に応じて上記着目画素を修正する。上記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行う。そして、上記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行う。
また、第9図,第10図に示されている動作を実現するためのプログラムを用意し、これによってコンピュータを制御すれば、上述と同様に画像処理を行うことができることは明白である。このプログラムは、第7図に示されていない半導体メモリ、磁気ディスク、光ディスク等の他、種々の記録媒体に記憶しておくことができる。
なお、以上は本システムによってモスキートノイズを除去する場合について説明したが、本システムはブロックノイズをも低減できることが発明者によって確認されている。本システムによるモスキートノイズ除去処理は、ブロックノイズ除去処理との親和性が良いので、ブロックノイズ除去処理を実現するシステムに本システムを追加することも簡単である。このため、ブロックノイズ除去処理を実現するシステムに対して本システムの機能の追加及び削除が簡単である。予め本システムのモスキートノイズ除去処理機能を設けておき、その除去処理機能のオンオフをユーザの要求に応じて指定するように構成しても良い。
産業上の利用の可能性
本発明は、境界画素を含み境界に対して直交して連続する該境界を挟む片側N個の画素からなる2N個の画素を参照し修正処理を行うか判定し、修正処理を行うと判定されたとき境界画素とそれを挟む片側M個の画素とを用いて修正処理を行うことにより、特にブロックノイズを軽減することができるという効果がある。
また、本発明は、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求め、着目画素を含みブロック同士の境界に対して直交して連続する片側N個の画素からなる2N個の画素について隣接画素間の差分値を求め、この求めた差分値を上記最大値に対応する閾値と比較してフィルタ処理を行うか判定し、フィルタ処理を行うと判定された場合、上記着目画素とそれを挟む片側M個の画素とを用いてフィルタ処理を行うことにより、簡単な処理によってモスキートノイズを軽減できるという効果がある。
【図面の簡単な説明】
第1図は本発明による画像処理システムによる処理対象である、画像のブロックと参照する画素との位置関係を示す図である。第2図は本発明による画像処理システムの構成を示すブロック図である。第3図は一時記憶ブロックの概念を示す図である。第4図は第2図中の画像処理システムによるフィルタ処理の一例を示すフローチャートである。第5図は第2図中の画像処理システムにおいて、1画素空けて参照する場合を示す図である。第6図は第2図中の画像処理システムによるフィルタ処理の他の例を示すフローチャートである。第7図は本発明による画像処理システムの構成を示すブロック図である。第8図は処理対象のフレームにおける一時記憶ブロックと、差分最大値が算出された4画素×4画素の区分を示す図である。第9図は第7図中の画像処理システムによるフィルタ処理の一例を示すフローチャートである。第10図は第7図中の画像処理システムによるフィルタ処理の他の例を示すフローチャートである。第11図は最大値の検索範囲を示す図である。第12図は従来の画像処理システムによるフィルタ処理を示す図である。第13図は従来の画像処理システムにおいて参照する画素を示す図である。
Claims (63)
- 画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理システムであって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定手段と、前記判定手段によって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理手段とを含むことを特徴とする画像処理システム。
- 前記判定手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする請求の範囲第1項記載の画像処理システム。
- 前記判定手段においては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする請求の範囲第1項記載の画像処理システム。
- 前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする請求の範囲第1項〜第3項のいずれかに記載の画像処理システム。
- 前記判定手段においては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする請求の範囲第1項〜第4項のいずれかに記載の画像処理システム。
- 前記判定手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする請求の範囲第1項記載の画像処理システム。
- 前記修正処理手段における修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする請求の範囲第1項〜第6項のいずれかに記載の画像処理システム。
- 前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする請求の範囲第7項記載の画像処理システム。
- 前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする請求の範囲第1項〜第8項のいずれかに記載の画像処理システム。
- 水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶する記憶手段を含み、前記ブロックに含まれる所定画素を該記憶手段に順次記憶していき、前記判定手段および前記修正処理手段は、該記憶手段に記憶された8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第1項〜第9項のいずれかに記載の画像処理システム。
- 画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理方法であって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、前記判定ステップによって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含むことを特徴とする画像処理方法。
- 前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする請求の範囲第11項記載の画像処理方法。
- 前記判定ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする請求の範囲第11項記載の画像処理方法。
- 前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする請求の範囲第11項〜第13項のいずれかに記載の画像処理方法。
- 前記判定ステップにおいては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする請求の範囲第11項〜第14項のいずれかに記載の画像処理方法。
- 前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする請求の範囲第11項記載の画像処理方法。
- 前記修正処理ステップにおける修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする請求の範囲第11項〜第16項のいずれかに記載の画像処理方法。
- 前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする請求の範囲第17項記載の画像処理方法。
- 前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする請求の範囲第11項〜第18項のいずれかに記載の画像処理方法。
- 前記ブロックにおいて、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、前記判定ステップおよび前記修正処理ステップにおいては、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第11項〜第19項のいずれかに記載の画像処理方法。
- 画像圧縮における離散コサイン変換処理の処理単位であるブロックについて隣接するブロックとの境界に位置する境界画素についてフィルタ処理を行う画像処理プログラムであって、前記境界画素を含み前記境界に対して直交して連続する該境界を挟む片側N個(Nは、3乃至5のいずれかの整数、以下同じ)の画素からなる2N個の画素を参照し修正処理を行うか判定する判定ステップと、前記判定ステップによって修正処理を行うと判定されたとき前記境界画素とそれを挟む片側M個(Mは整数、かつ、M<N、以下同じ)の画素とを用いて修正処理を行う修正処理ステップとを含むことを特徴とする画像処理プログラム。
- 前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする請求の範囲第21項記載の画像処理プログラム。
- 前記判定ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、この求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記修正処理を行うと判定することを特徴とする請求の範囲第21項記載の画像処理プログラム。
- 前記閾値は、前記量子化値が30以下の値である場合に該量子化値に2乃至10のいずれかの整数を加えた値であることを特徴とする請求の範囲第21項〜第23項のいずれかに記載の画像処理プログラム。
- 前記判定ステップにおいては、前記参照する2N個の画素のうち隣接する画素同士の差分の値が全て零であるか1つのみが零でない場合に前記修正処理を行わないと判定することを特徴とする請求の範囲第21項〜第24項のいずれかに記載の画像処理プログラム。
- 前記判定ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、この求めた差分値のいずれかが前記画像についての量子化値に基づいて定められた閾値より小であるとき、前記修正処理を行うと判断することを特徴とする請求の範囲第24項記載の画像処理プログラム。
- 前記修正処理ステップにおける修正処理は、前記境界画素及びそれを挟む2M個の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記境界画素を修正することを特徴とする請求の範囲第21項〜第26項のいずれかに記載の画像処理プログラム。
- 前記所定係数は、前記境界画素についての値が、他の画素についての値よりも大であることを特徴とする請求の範囲第27項記載の画像処理プログラム。
- 前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする請求の範囲第21項〜第28項のいずれかに記載の画像処理プログラム。
- 前記ブロックにおいて、水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、前記判定ステップおよび前記修正処理ステップにおいては、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第21項〜第29項のいずれかに記載の画像処理プログラム。
- 画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理システムであって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求めることが可能な最大値検出手段と、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出手段と、前記差分値算出手段において求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定手段と、前記判定手段においてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理手段とを含むことを特徴とする画像処理システム。
- 前記差分値算出手段においては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定手段においては、前記差分値算出手段において求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする請求の範囲第31項記載の画像処理システム。 - 前記差分値算出手段においては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定手段においては、前記差分値算出手段において求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする請求の範囲第31項記載の画像処理システム。 - 前記判定手段においては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする請求の範囲第32項記載の画像処理システム。
- 前記判定手段においては、前記最大値に応じて前記閾値の値を決定することを特徴とする請求の範囲第31項〜第34項のいずれかに記載の画像処理システム。
- 前記判定手段においては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする請求の範囲第31項〜第35項のいずれかに記載の画像処理システム。
- 前記フィルタ処理手段においては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする請求の範囲第31項〜第36項のいずれかに記載の画像処理システム。
- 前記最大値検出手段における最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする請求の範囲第31項〜第37項のいずれかに記載の画像処理システム。
- 前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする請求の範囲第31項〜第38項のいずれかに記載の画像処理システム。
- 水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶する記憶手段と、該記憶手段に記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得手段とを含み、前記最大値検出手段は、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出手段およびフィルタ処理手段は、該記憶手段に記憶された8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第31項〜第39項のいずれかに記載の画像処理システム。
- 水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶する記憶手段と、該記憶手段に記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得手段とを含み、前記最大値検出手段は、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出手段およびフィルタ処理手段は、該記憶手段に記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第31項〜第39項のいずれかに記載の画像処理システム。
- 画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理方法であって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、前記差分値算出ステップにおいて求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、前記判定ステップにおいてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含むことを特徴とする画像処理方法。
- 前記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする請求の範囲第42項記載の画像処理方法。 - 前記差分値算出ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする請求の範囲第42項記載の画像処理方法。 - 前記判定ステップにおいては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする請求の範囲第42項記載の画像処理方法。
- 前記判定ステップにおいては、前記最大値に応じて前記閾値の値を決定することを特徴とする請求の範囲第42項〜第45項のいずれかに記載の画像処理方法。
- 前記判定ステップにおいては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする請求の範囲第42項〜第46項のいずれかに記載の画像処理方法。
- 前記フィルタ処理ステップにおいては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする請求の範囲第42項〜第47項のいずれかに記載の画像処理方法。
- 前記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする請求の範囲第42項〜第48項のいずれかに記載の画像処理方法。
- 前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする請求の範囲第42項〜第49項のいずれかに記載の画像処理方法。
- 水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、該記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第42項〜第50項のいずれかに記載の画像処理方法。
- 水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶していき、該記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第42項〜第50項のいずれかに記載の画像処理方法。
- 画像圧縮における離散コサイン変換処理の処理単位であるブロックに属する画素についてフィルタ処理を行う画像処理プログラムであって、処理対象のブロックを構成する全画素のうち着目している着目画素を含む少なくとも半分の画素について隣接画素間の差分値の最大値を求める最大値検出ステップと、前記着目画素を含み前記ブロック同士の境界に対して直交して連続する片側N個(Nは、正の整数、以下同じ)の画素からなる2N個の画素について隣接画素間の差分値を求める差分値算出ステップと、前記差分値算出ステップにおいて求めた差分値を前記最大値に対応する閾値と比較してフィルタ処理を行うか判定する判定ステップと、前記判定ステップにおいてフィルタ処理を行うと判定された場合、前記着目画素とそれを挟む片側M個(Mは正の整数、かつ、M<N、以下同じ)の画素とを用いてフィルタ処理を行うフィルタ処理ステップとを含むことを特徴とする画像処理プログラム。
- 前記差分値算出ステップにおいては、参照する2N個の画素のうち隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする請求の範囲第53項記載の画像処理プログラム。 - 前記差分値算出ステップにおいては、参照する2N個の画素のうち少なくとも1画素空けて隣接する画素同士の差分をそれぞれ求め、
前記判定ステップにおいては、前記差分値算出ステップにおいて求めた差分値全てが前記画像についての量子化値に基づいて定められた閾値より小であるとき前記フィルタ処理を行うと判定することを特徴とする請求の範囲第53項記載の画像処理プログラム。 - 前記判定ステップにおいては、前記差分値全てが前記閾値より小であることが成立していない場合であっても、前記M画素各々の隣接画素差分値が所定閾値より小であるとき、前記フィルタ処理とは異なる所定のフィルタ処理を行うと判断することを特徴とする請求の範囲第53項記載の画像処理プログラム。
- 前記判定ステップにおいては、前記最大値に応じて前記閾値の値を決定することを特徴とする請求の範囲第53項〜第56項のいずれかに記載の画像処理プログラム。
- 前記判定ステップにおいては、処理対象のブロック内に位置する画素についての閾値よりも、該ブロックの境界に位置する画素についての閾値を大とすることを特徴とする請求の範囲第53項〜第57項のいずれかに記載の画像処理プログラム。
- 前記フィルタ処理ステップにおいては、前記着目画素及びそれを挟む複数の画素それぞれに所定係数を乗じ、さらに前記係数の合計値で除した値に応じて前記着目画素を修正することを特徴とする請求の範囲第53項〜第58項のいずれかに記載の画像処理プログラム。
- 前記最大値検出ステップにおける最大値の探索は、探索すべき画素について1ラインおきに行うことを特徴とする請求の範囲第53項〜第59項のいずれかに記載の画像処理プログラム。
- 前記フィルタ処理対象のブロックについて、水平方向のライン及び垂直方向のラインのいずれか一方についてのフィルタ処理を行った後、他方についてのフィルタ処理を行うことを特徴とする請求の範囲第53項〜第60項のいずれかに記載の画像処理プログラム。
- 水平方向および垂直方向の前記境界の交差点を中心として、該境界を挟む片側それぞれ4個の画素を記憶していき、該記憶された8個×8個の画素について、前記隣接画素間の差分値を算出し、前記境界によって区切られた4個×4個の画素毎の該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第53項〜第61項のいずれかに記載の画像処理プログラム。
- 水平方向および垂直方向の前記境界の交差点を中心として、垂直方向の前記境界を挟む片側それぞれ4個の画素と、水平方向の前記境界を挟む上側4個の画素および下側8個の画素とを記憶していき、該記憶された8個×12個の画素について、前記隣接画素間の差分値を算出し、該8個×12個の画素を2列3行に区分した1単位である4個×4個の画素毎の、該差分値の最大値である仮最大値を取得する仮最大値取得ステップを含み、前記最大値検出ステップにおいては、前記仮最大値がブロック全てについて既に取得されている場合には、該ブロックにおける全ての仮最大値のうち最大のものを前記最大値とし、前記仮最大値がブロック全てについては取得されていない場合には、取得されている前記仮最大値のうち最大のものを前記最大値とし、前記差分値算出ステップおよびフィルタ処理ステップにおいて、該記憶された8個×12個の画素のうち上側の8個×8個の画素を対象として処理を行うことを特徴とする請求の範囲第53項〜第61項のいずれかに記載の画像処理プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001049218 | 2001-02-23 | ||
JP2001049218 | 2001-02-23 | ||
JP2001091063 | 2001-03-27 | ||
JP2001091063 | 2001-03-27 | ||
PCT/JP2002/001651 WO2002067589A1 (en) | 2001-02-23 | 2002-02-25 | Image processing system, image processing method, and image processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2002067589A1 true JPWO2002067589A1 (ja) | 2004-06-24 |
Family
ID=26610038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002566979A Withdrawn JPWO2002067589A1 (ja) | 2001-02-23 | 2002-02-25 | 画像処理システム、画像処理方法、及び画像処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7054503B2 (ja) |
JP (1) | JPWO2002067589A1 (ja) |
WO (1) | WO2002067589A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7239755B1 (en) * | 1997-07-30 | 2007-07-03 | Lg Electronics Inc. | Method of reducing a blocking artifact when coding moving picture |
KR100281099B1 (ko) * | 1997-07-30 | 2001-04-02 | 구자홍 | 동영상의부호화에따른블록화현상제거방법 |
KR100244290B1 (ko) | 1997-09-09 | 2000-02-01 | 구자홍 | 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법 |
KR100308016B1 (ko) * | 1998-08-31 | 2001-10-19 | 구자홍 | 압축 부호화된 영상에 나타나는 블럭현상 및 링현상 제거방법및 영상 복호화기 |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
JP3737436B2 (ja) * | 2002-01-24 | 2006-01-18 | 株式会社メガチップス | ノイズ除去方法およびノイズ除去装置 |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
JP2005167399A (ja) * | 2003-11-28 | 2005-06-23 | Noritsu Koki Co Ltd | 画像ノイズ除去方法 |
US20050157796A1 (en) | 2004-01-20 | 2005-07-21 | Victor Company Of Japan, Ltd. | Block noise reducing apparatus |
US7471820B2 (en) * | 2004-08-31 | 2008-12-30 | Aptina Imaging Corporation | Correction method for defects in imagers |
US8744184B2 (en) * | 2004-10-22 | 2014-06-03 | Autodesk, Inc. | Graphics processing method and system |
JP4457346B2 (ja) * | 2004-11-12 | 2010-04-28 | ノーリツ鋼機株式会社 | 画像ノイズ除去方法 |
JP4961182B2 (ja) * | 2005-10-18 | 2012-06-27 | 株式会社リコー | ノイズ除去装置、ノイズ除去方法、ノイズ除去プログラム及び記録媒体 |
US8482625B2 (en) * | 2005-11-16 | 2013-07-09 | Hewlett-Packard Development Company, L.P. | Image noise estimation based on color correlation |
US7756355B2 (en) * | 2006-05-05 | 2010-07-13 | Aptina Imaging Corp. | Method and apparatus providing adaptive noise suppression |
WO2010001911A1 (ja) * | 2008-07-03 | 2010-01-07 | シャープ株式会社 | フィルタ装置 |
US20110123121A1 (en) * | 2009-10-13 | 2011-05-26 | Sony Corporation | Method and system for reducing blocking artefacts in compressed images and video signals |
KR20120140181A (ko) * | 2011-06-20 | 2012-12-28 | 한국전자통신연구원 | 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치 |
JP2014526818A (ja) * | 2011-09-09 | 2014-10-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 低複雑度のデブロッキングフィルタ決定 |
US9319684B2 (en) * | 2012-08-21 | 2016-04-19 | Qualcomm Incorporated | Alternative transform in scalable video coding |
US9743091B2 (en) * | 2012-12-17 | 2017-08-22 | Lg Electronics Inc. | Method for encoding/decoding image, and device using same |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0714211B2 (ja) | 1989-07-14 | 1995-02-15 | 国際電信電話株式会社 | 動画像符号化のブロック歪除去方法および装置 |
US6188799B1 (en) | 1997-02-07 | 2001-02-13 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for removing noise in still and moving pictures |
JPH11187400A (ja) * | 1997-12-22 | 1999-07-09 | Matsushita Electric Ind Co Ltd | 歪除去方法および歪除去フィルタ |
KR100244290B1 (ko) | 1997-09-09 | 2000-02-01 | 구자홍 | 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법 |
JP2001160970A (ja) | 1999-12-02 | 2001-06-12 | Sony Corp | 画像データ処理装置及びその方法 |
-
2002
- 2002-02-25 WO PCT/JP2002/001651 patent/WO2002067589A1/ja active Application Filing
- 2002-02-25 JP JP2002566979A patent/JPWO2002067589A1/ja not_active Withdrawn
- 2002-02-25 US US10/257,860 patent/US7054503B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20030138160A1 (en) | 2003-07-24 |
US7054503B2 (en) | 2006-05-30 |
WO2002067589A1 (en) | 2002-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2002067589A1 (ja) | 画像処理システム、画像処理方法、及び画像処理プログラム | |
JP5233014B2 (ja) | 方法および装置 | |
KR101303667B1 (ko) | 의사 윤곽을 탐지 및 제거하는 방법 및 장치, 픽셀의 윤곽여부를 확인하는 방법 및 장치 그리고 심플리시티를계산하는 방법 및 장치 | |
JP4641704B2 (ja) | ノイズ低減化方法、ノイズ低減化装置、記録媒体、及びプログラム | |
US20100080472A1 (en) | Image processing apparatus, moving image decoding apparatus, moving image encoding apparatus and method | |
JP2001522172A (ja) | 量子化効果減少のための映像データ後処理方法、装置及びこれを記録した記録媒体 | |
JPH08186714A (ja) | 画像データのノイズ除去方法及びその装置 | |
US20130022288A1 (en) | Image processing apparatus and method for reducing edge-induced artefacts | |
KR101001676B1 (ko) | 화소 분류를 이용한 에지보존 디블로킹 필터 | |
KR100675498B1 (ko) | 필터링 장치 및 방법 | |
JP2004215216A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2007334457A (ja) | 画像処理装置及び画像処理方法 | |
US8831354B1 (en) | System and method for edge-adaptive and recursive non-linear filtering of ringing effect | |
JP2002208006A (ja) | 画像ノイズ減少方法 | |
JP4065287B2 (ja) | 画像データのノイズ除去方法及びその装置 | |
JP2001245155A (ja) | 画像データのエッジ補正方法、及びその装置 | |
WO2017036386A1 (zh) | 一种视频去噪方法及装置、终端、存储介质 | |
JP3715273B2 (ja) | 画像データの平滑化処理装置、平滑化処理方法及び平滑化処理プログラム | |
CN101389019B (zh) | 一种视频处理方法 | |
KR100871998B1 (ko) | 디지털 이미지들을 후처리하는 방법 및 장치 | |
Gadgil et al. | Image Debanding Using Iterative Adaptive Sparse Filtering | |
Eerenberg et al. | Block-based detection systems for visual artifact location | |
JP2003143605A (ja) | ブロッキングアーチファクト検出方法 | |
Bronstein | SIMD implementation of the bilateral filter | |
JP2003281537A (ja) | 画像処理回路および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050223 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20061229 |