【解決手段】フレーム単位で与えられる画像データのノイズ判定するノイズ判定装置であって、画像データを周波数分解し、得られた周波数成分について、周波数が比較的低い低周波成分および周波数が比較的高い高周波成分について、それぞれ所定数のデータをサンプリングし、低周波側データに対する高周波側データの比率に基づいて、エッジ画像が含まれるか否かを解析する。
【発明を実施するための形態】
【0021】
<実施の形態>
図1は本発明に係る実施の形態のノイズ判定装置を有した、ノイズ除去装置100の構成を示すブロック図である。
【0022】
図1に示すように、ノイズ除去装置100は、画像データPDを受け、当該画像データPDにノイズが含まれるか否かを判定するノイズ判定装置1と、画像データPDに含まれるノイズを除去するフィルタ回路2とを備えている。
【0023】
フィルタ回路2は、ノイズ判定装置1からの特性選択信号CSと画像データPDとを受け、画像データPDにフィルタ処理を行って出力するか、画像データPDをそのまま出力する。
【0024】
図2には、ノイズ判定装置1の構成をブロック図で示す。
図2に示すように、ノイズ判定装置1には、画像データPDとしてベイヤーデータが入力されるが、当該ベイヤーデータは、ラインメモリ群11に一時的に保存される。後に説明するが、ノイズ判定装置1は、1フレーム分の画像データPDを8×8画素単位、または4×4画素単位のマトリクスで処理するので、ラインメモリ群11は、8×8画素単位の場合は7個のラインメモリを含み、3×3画素単位の場合は3個のラインメモリを含むこととなる。
【0025】
ラインメモリ群11に保存されたベイヤーデータは、先入れ先出し(FIFO)処理で4×4画素単位または8×8画素単位でDCT(離散コサイン)変換部12に与えられ、それは4ラインまたは8ラインのベイヤーデータが与えられるまで連続して行われる。
【0026】
DCT変換部12(周波数分解部)では、与えられたベイヤーデータ(以後、ベイヤーデータブロックと呼称)に対して離散コサイン変換を施して周波数分解し、得られた周波数成分についての変換係数を出力する。
【0027】
そして、DCT変換部12から出力される変換係数に対して、周波数解析部13で解析を行うことで、1つのフレームに含まれるノイズをベイヤーデータブロック単位で解析する。そして、解析結果はフィルタ特性選択部15に与えられる。
【0028】
また、DCT変換部12の出力および周波数解析部13での解析結果は孤立周波数解析部14に与えられ、孤立周波数の解析が行われ、解析結果はフィルタ特性選択部15に与えられる。
【0029】
フィルタ特性選択部15では、周波数解析部13での解析結果および孤立周波数解析部14での解析結果に基づいて、フィルタの特性を決める量子化マトリクステーブルを作成して、フィルタ特性選択信号FSとしてフィルタ回路2に与えると共に、画像データPDにフィルタ処理を行って出力するか、画像データPDをそのまま出力するかを選択する制御信号CSを与える。
【0030】
なお、ノイズ判定装置1は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)およびワイヤードロジック等で構成され、ROM内に格納されたプログラムを読み出し、当該プログラムをCPUで実行することによって、ノイズ判定装置1を機能的に実現する。
【0031】
図3にフィルタ回路2の構成を示す。
図3に示すように、フィルタ回路2は、画像データPDにフィルタ処理を行うかそのまま出力するかを選択する選択回路20と、画像データPDをDCT変換するDCT変換部21と、DCT変換後のデータに対して量子化処理を行う量子化部22と、量子化されたデータに対して逆量子化処理を行う逆量子化部23と、逆量子化後のデータに対して逆DCT変換を行う逆DCT変換部24とを有している。
【0032】
選択回路20の選択動作はフィルタ特性選択部15から与えられる制御信号CSによって制御され、フィルタ処理を行う場合は、画像データPDがDCT変換部21に与えられる。
【0033】
<ノイズ判定処理>
次に、
図4〜
図7に示すフローチャートを用いて、ノイズ判定装置1におけるノイズ判定処理のうち、エッジ判定処理について説明する。
【0034】
<水平エッジの判定>
まず、
図4を用いて水平エッジの判定について説明する。なお、以下の説明は、
図2に示した周波数解析部13以下での処理であり、DCT処理は周知の技術であるので説明は省略する。
【0035】
ステップS1において、周波数解析部13では、DCT変換部12から出力される変換係数(DCT係数)のマトリクス(8×8のベイヤーデータブロックに対応)において、AC(交流)成分をDC(直流)成分で割ることでAC成分の正規化を行う。
【0036】
ここで、8×8のベイヤーデータブロックに対応するDCT係数のマトリクスを
図8に示す。
図8において、マトリクスの先頭(左上角部)がDC成分であり、マトリクスの水平方向が垂直周波数成分(V)を、マトリクスの垂直方向が水平周波数成分(H)を表している。そして、DC成分に近いAC成分ほど低周波であり、マトリクスのDC成分とは対角をなす角部に近いAC成分ほど高周波となっている。
【0037】
なお、
図8において、DC成分側寄りのAC成分である低周波成分(低域成分)のサンプリング領域をサンプリング領域LSR(低域サンプリング領域)とし、DC成分とは対角をなす側のAC成分である高周波成分(高域成分)のサンプリング領域をサンプリング領域HSR(高域サンプリング領域)として示している。
【0038】
なお、サンプリング領域は任意に設定可能であり、周波数解析部13は、
図9に示すように、水平周波数成分(H)を多くし、垂直周波数成分(V)を少なくしたサンプリング領域HLSR(水平低域サンプリング領域)を設定する。そして、サンプリング領域HLSRでの正規化されたDCT係数の総数(Σ水平低域)に対する、サンプリング領域HSRでの正規化されたDCT係数の総数(Σ高域)の比率(Σ高域/Σ水平低域)を算出し、予め定めた閾値Aとの比較を行う(ステップS2)。
【0039】
当該比率が、閾値Aを超える場合にはステップS4に進むが、閾値A以下の場合は、処理対象となっているベイヤーデータブロックは水平エッジの多い画像であると判定し、ステップS3に進む。なお、閾値Aは任意に設定可能である。
【0040】
ここで、水平エッジとは、画像の垂直方向に沿ったエッジのことであり、水平エッジが多いということは、ノイズが含まれているという誤判定となる可能性がある。水平エッジの判定は、水平エッジをノイズと誤判定して除去しないために行う。
【0041】
フィルタ特性選択部15では、処理対象となっているベイヤーデータブロックは水平エッジの多い画像であるとの解析結果を受け、水平エッジの多い画像に対応する弱いフィルタとなるようにフィルタ回路2のフィルタ特性を選択する(ステップS3)。
【0042】
すなわち、水平エッジがノイズとして除去されることがないような量子化マトリクステーブルを設定してフィルタ回路2に与える。
【0043】
なお、ステップS3においてフィルタ特性を選択する際には、フィルタ回路2の選択回路20を制御して、処理対象となっているベイヤーデータブロックに対応する画像データPDにフィルタ処理が行われるようにする。
【0044】
一方で、ステップS2において、処理対象となっているベイヤーデータブロックが水平エッジの多い画像となっていない場合は、画像データPDに対するフィルタ処理は行わない。
【0045】
その後、ステップS4において、1フレーム中の全てのベイヤーデータブロックに対してステップS2のノイズ判定を行ったか否かを確認し、全てのベイヤーデータブロックに対してノイズ判定を行った場合は、当該フレームに対する判定処理およびフィルタ処理を終了するが、未判定のベイヤーデータブロックがある場合には、ステップS1以下の処理を繰り返す。
【0046】
<垂直エッジの判定>
次に、
図5を用いて垂直エッジの判定について説明する。なお、ステップS11は、
図4を用いて説明したステップS1と同じ処理であるので、説明は省略する。
【0047】
周波数解析部13は、
図10に示すように、垂直周波数成分(V)を多くし、水平周波数成分(H)を少なくしたサンプリング領域VLSR(垂直低域サンプリング領域)を設定する。そして、サンプリング領域VLSRでの正規化されたDCT係数の総数(Σ垂直低域)に対する、サンプリング領域HSRでの正規化されたDCT係数の総数(Σ高域)の比率(Σ高域/Σ垂直低域)を算出し、予め定めた閾値Bとの比較を行う(ステップS12)。
【0048】
当該比率が、閾値Bを超える場合にはステップS14に進むが、閾値B以下の場合は、処理対象となっているベイヤーデータブロックは垂直エッジの多い画像であると判定し、ステップS13に進む。なお、閾値Bは任意に設定可能である。
【0049】
ここで、垂直エッジとは、画像の水平方向に沿ったエッジのことであり、垂直エッジが多いということは、ノイズが含まれているという誤判定となる可能性がある。垂直エッジの判定は、垂直エッジをノイズと誤判定して除去しないために行う。
【0050】
フィルタ特性選択部15では、処理対象となっているベイヤーデータブロックは垂直エッジの多い画像であるとの解析結果を受け、垂直エッジの多い画像に対応する弱いフィルタとなるようにフィルタ回路2のフィルタ特性を選択する(ステップS13)。
【0051】
すなわち、垂直エッジがノイズとして除去されることがないような量子化マトリクステーブルを設定してフィルタ回路2に与える。
【0052】
なお、ステップS13においてフィルタ特性を選択する際には、フィルタ回路2の選択回路20を制御して、処理対象となっているベイヤーデータブロックに対応する画像データPDにフィルタ処理が行われるようにする。
【0053】
一方で、ステップS12において、処理対象となっているベイヤーデータブロックが垂直エッジの多い画像となっていない場合は、画像データPDに対するフィルタ処理は行わない。
【0054】
その後、ステップS14において、1フレーム中の全てのベイヤーデータブロックに対してステップS12のノイズ判定を行ったか否かを確認し、全てのベイヤーデータブロックに対してノイズ判定を行った場合は、当該フレームに対する判定処理およびフィルタ処理を終了するが、未判定のベイヤーデータブロックがある場合には、ステップS11以下の処理を繰り返す。
【0055】
<水平、垂直エッジの判定>
次に、
図6を用いてエッジの判定について説明する。なお、ステップS21は、
図4を用いて説明したステップS1と同じ処理であるので、説明は省略する。
【0056】
周波数解析部13は、
図8に示すように、垂直周波数成分(V)と水平周波数成分(H)とが同じとなるサンプリング領域LSRおよびHSRを設定する。そして、サンプリング領域LSRでの正規化されたDCT係数の総数(Σ低域)に対する、サンプリング領域HSRでの正規化されたDCT係数の総数(Σ高域)の比率(Σ高域/Σ低域)を算出し、予め定めた閾値Cとの比較を行う(ステップS22)。
【0057】
当該比率が、閾値Cを超える場合にはステップS24に進むが、閾値C以下の場合は、処理対象となっているベイヤーデータブロックは(水平、垂直共に)エッジの多い画像であると判定し、ステップS23に進む。なお、閾値Cは任意に設定可能である。
【0058】
ここで、エッジが多いということは、ノイズが含まれているという誤判定となる可能性がある。水平、垂直エッジの判定は、エッジをノイズと誤判定して除去しないために行う。
【0059】
フィルタ特性選択部15では、処理対象となっているベイヤーデータブロックはエッジの多い画像であるとの解析結果を受け、エッジの多い画像に対応する弱いフィルタとなるようにフィルタ回路2のフィルタ特性を選択する(ステップS23)。
【0060】
すなわち、エッジがノイズとして除去されることがないような量子化マトリクステーブルを設定してフィルタ回路2に与える。
【0061】
なお、ステップS23においてフィルタ特性を選択する際には、フィルタ回路2の選択回路20を制御して、処理対象となっているベイヤーデータブロックに対応する画像データPDにフィルタ処理が行われるようにする。
【0062】
一方で、ステップS22において、処理対象となっているベイヤーデータブロックがエッジの多い画像となっていない場合は、画像データPDに対するフィルタ処理は行わない。
【0063】
その後、ステップS24において、1フレーム中の全てのベイヤーデータブロックに対してステップS22のノイズ判定を行ったか否かを確認し、全てのベイヤーデータブロックに対してノイズ判定を行った場合は、当該フレームに対する判定処理およびフィルタ処理を終了するが、未判定のベイヤーデータブロックがある場合には、ステップS21以下の処理を繰り返す。
【0064】
<エッジ判定の組み合わせ>
図4〜
図6を用いた各種のエッジ判定は、それぞれ独立して行っても良いし、何れかを組み合わせても良く、全てを組み合わせても良い。
【0065】
例えば、
図4のステップS2で水平エッジの判定を行い、処理対象となっているベイヤーデータブロックが水平エッジの多い画像となっていないと判定された場合は、次に、
図5のステップS12のように垂直エッジの判定を行う。そして、処理対象となっているベイヤーデータブロックが垂直エッジの多い画像となっていないと判定された場合は、次に、
図6のステップS22のようにエッジの判定を行うようにしても良い。
【0066】
このようにエッジ判定を組み合わせることで、多様なエッジを有する画像に対して、適切なフィルタ特性に基づいたフィルタ処理を行うことができる。
【0067】
<孤立周波数の解析>
次に、
図7に示すフローチャートを用いて、孤立周波数解析部14での孤立周波数の解析について説明する。
【0068】
孤立周波数とは、他の周波数成分から孤立している周波数成分であり、これを削除することはノイズの軽減につながるが、特殊な形状のエッジが存在する場合も孤立周波数が多数存在するものと誤認識される場合がある。
【0069】
孤立周波数解析部14では、孤立周波数の存在を確認し、孤立周波数が多数存在する場合には、その情報をフィルタ特性選択部15に与える。
【0070】
なお、孤立周波数解析部14は、周波数解析部13での解析結果を受け、周波数解析部13での解析結果が、何れの種類のエッジも検出されないという結果であった場合に孤立周波数の解析を行う。
【0071】
孤立周波数解析部14は、
図7のステップS31において、周波数解析部13では、DCT変換部12から出力されるDCT係数のマトリクスにおいて、AC成分をDC成分で割ることでAC成分の正規化を行う。
【0072】
そして、正規化された全て(ここでは63個)のAC成分の平均値を算出する(ステップS32)。
【0073】
次に、ステップS33において、63個のAC成分のうち、周囲に8個の周波数成分がある周波数成分を特定する。これは、AC成分に対応する63個の周波数成分について1つずつ周囲に8個の周波数成分があるか否かを確認する処理であり、周囲に8個の周波数成分がある周波数成分、すなわち8個の周波数成分で囲まれた中央の周波数成分を特定する処理である。なお、このような周波数成分は、ベイヤーデータブロックの4辺を構成する周波数成分ではないので、これらの周波数成分についてはステップS33の対象としないようにしても良い。
【0074】
ステップS33において、8個の周波数成分で囲まれた周波数成分(中央周波数成分)が特定された場合、それぞれについて、周囲の8個の周波数成分のうち、ステップS32で算出した平均値よりも大きな周波数成分が、予め定めた閾値D個未満である周波数成分の個数を算出する。このような周波数成分は孤立周波数と言えるが、単なるノイズである場合と特殊な形状のエッジの存在を表す場合がある。そこで、当該周波数成分の個数が、予め定めた閾値F個未満であるか否かを判定し(ステップS34)、閾値F個以上である場合は、対象としているベイヤーデータブロックには、ノイズではなく、特殊な形状のエッジがあると判断する。
【0075】
すなわち、平均値よりも大きなAC成分が少ない場合は、孤立周波数である場合を示唆しているが、孤立周波数が多い場合は周波数解析部13では解析できなかった特殊な形状のエッジが存在する可能性を示唆している。そのため、ステップS33で特定した複数の中央周波数成分のうち、周囲に平均値よりも大きな周波数成分がD個未満存在する中央周波数成分の個数が全部でF個以上となる場合(ステップS34でNoの場合)は、処理対象となっているベイヤーデータブロックは特殊な形状のエッジが存在する画像であると判定し、ステップS35に進む。なお、閾値DおよびFは任意に設定可能である。
【0076】
一方、ステップS34において、該当する中央周波数成分の個数が全部でF個未満の場合(Yesの場合)はステップS36に進む。
【0077】
ステップS36では、63個のAC成分のうち、周囲に5個の周波数成分がある周波数成分を特定する。これは、63個のAC成分について1つずつ周囲に5個の周波数成分があるか否かを確認する処理であり、周囲に5個の周波数成分がある周波数成分、すなわちベイヤーデータブロックの4辺を構成する周波数成分のうち、角部の周波数成分を除いた周波数成分を特定する処理である。なお、このような周波数成分は、ベイヤーデータブロックの4辺にしかないので、それ以外の周波数成分についてはステップS36の対象としないようにしても良い。
【0078】
ステップS36において、5個の周波数成分で囲まれた周波数成分(端縁周波数成分)が特定された場合、それぞれについて、周囲の5個の周波数成分のうち、ステップS32で算出した平均値よりも大きな周波数成分が、予め定めた閾値E個未満である周波数成分の個数を算出する。このような周波数成分は孤立周波数と言えるが、単なるノイズである場合と特殊な形状のエッジの存在を表す場合がある。そこで、当該周波数成分の個数が、予め定めた閾値G個未満であるか否かを判定し(ステップS37)、閾値G個以上である場合は、対象としているベイヤーデータブロックには、ノイズではなく、特殊な形状のエッジがあると判断する。
【0079】
すなわち、平均値よりも大きなAC成分が少ない場合は、孤立周波数である場合を示唆しているが、孤立周波数が多い場合は周波数解析部13では解析できなかった特殊な形状のエッジが存在する可能性を示唆している。そのため、ステップS36で特定した複数の端縁周波数成分のうち、周囲に平均値よりも大きな周波数成分がE個未満存在する端縁周波数成分の個数が全部でG個以上となる場合(ステップS37でNoの場合)は、処理対象となっているベイヤーデータブロックに特殊な形状のエッジが存在する画像であると判定し、ステップS35に進む。なお、閾値EおよびGは任意に設定可能である。
【0080】
一方、ステップS37において、該当する端縁周波数成分の個数が全部でG個未満の場合(Yesの場合)は、対象としているベイヤーデータブロックには特殊な形状のエッジはないと判断してステップS38に進む。
【0081】
ステップS35では、孤立周波数解析部14から、処理対象となっているベイヤーデータブロックは、特殊な形状のエッジが存在する画像であるとの解析結果を受けたフィルタ特性選択部15が、エッジが残るような弱いフィルタとなるようにフィルタ回路2のフィルタ特性を選択する。
【0082】
すなわち、特殊な形状のエッジが除去されないような量子化マトリクステーブルを設定してフィルタ回路2に与える。
【0083】
なお、ステップS35においてフィルタ特性を選択する際には、フィルタ回路2の選択回路20を制御して、処理対象となっているベイヤーデータブロックに対応する画像データPDにフィルタ処理が行われるようにする。
【0084】
その後、ステップS39において全てのベイヤーデータブロックについて孤立周波数を解析したかを確認し、解析を終了した場合は一連の処理を終了し、未解析のベイヤーデータブロックが存在する場合はステップS31以下の処理を繰り返す。
【0085】
一方で、孤立周波数解析部14から、処理対象となっているベイヤーデータブロックに、特殊な形状のエッジが存在する画像ではないとの解析結果を受けたフィルタ特性選択部15は、エッジが存在しない画像に対するフィルタとなるようにフィルタ回路2のフィルタ特性を選択する(ステップS38)。
【0086】
その後、ステップS39において全てのベイヤーデータブロックについて孤立周波数を解析したかを確認し、解析を終了した場合は一連の処理を終了し、未解析のベイヤーデータブロックが存在する場合はステップS31以下の処理を繰り返す。
【0087】
ここで、以上説明した判定処理は、入力されたベイヤーデータのGb(青側の緑)、Gr(赤側の緑)、R(赤)、B(青)の4つの色のそれぞれについて実行することで、判定の精度を高めることができる。なお、緑成分は輝度情報を含んでいるので、Gbのデータだけ、あるいはGrのデータだけについて上記判定処理を実行するようにしても良い。
【0088】
<一般的なエッジ検出方法との組み合わせ>
画像中のある領域のエッジを検出する場合、ゾーベル(Sobel)法などを用いることが一般的である。
【0089】
図4〜
図7を用いて説明したエッジ検出と、ゾーベル法によるエッジ検出とを組み合わせることで、さらに多様なエッジを有する画像に対して、適切なフィルタ特性に基づいたフィルタ処理を行うことができる。
【0090】
例えば、
図4〜
図7を用いて説明したエッジ検出(またはこれらの組み合わせによるエッジ検出)を行っても何れの種類のエッジも検出されない場合は、さらにゾーベル法によるエッジ検出を行い、エッジの検出が少ない場合は、エッジを有さない画像であるとして、強いフィルタとなるようにフィルタ回路2のフィルタ特性を選択する。
【0091】
すなわち、エッジが少ないので、エッジを考慮することなく、ノイズを除去するような量子化マトリクステーブルを設定してフィルタ回路2に与える。この量子化マトリクステーブルは、高域も低域も除去するようなフィルタを実現する。
【0092】
なお、ゾーベル法によるエッジ検出で、エッジの検出が多い場合は、何らかのエッジを有する画像であるとして、強いフィルタとなるようにフィルタ回路2のフィルタ特性を選択する。
【0093】
<フィルタ処理>
次に、フィルタ回路2におけるフィルタ処理について説明する。
図3に示すようにフィルタ回路2は、画像データPDをDCT変換するDCT変換部21と、DCT変換後のデータに対して量子化処理を行う量子化部22と、量子化されたデータに対して逆量子化処理を行う逆量子化部23と、逆量子化後のデータに対して逆DCT変換を行う逆DCT変換部24とを有している。
【0094】
量子化部22において、DCT変換後のデータを、所定の量子化マトリクステーブルで割り算することでDCT変換後のデータが量子化されるが、これがフィルタ処理に相当する。従って、量子化マトリクステーブルを変更することで、フィルタの強度を任意に変更することができる。この量子化マトリクステーブルを決定するための信号がフィルタ特性選択信号FSであり、予め準備された複数の量子化マトリクステーブルからフィルタ特性選択信号FSを用いて選択しても良いし、フィルタ特性選択部15で作成して、フィルタ特性選択信号FSとして与えても良い。
【0095】
なお、量子化されたデータに対して逆量子化部23で逆量子化処理を行い、さらに逆量子化後のデータに対して逆DCT変換部24で逆DCT変換を行うことで、画像データを元に戻すことができるが、この画像データはフィルタ処理済みの画像データとなる。
【0096】
逆量子化部23での逆量子化処理は、量子化されたデータに対して所定の量子化マトリクステーブルを掛け算する処理であるので、ここでも量子化マトリクステーブルを使用する。この量子化マトリクステーブルを決定するための信号がフィルタ特性選択信号FSであり、予め準備された複数の量子化マトリクステーブルからフィルタ特性選択信号FSを用いて選択しても良いし、フィルタ特性選択部15で作成して、フィルタ特性選択信号FSとして与えても良い。なお、量子化部22および逆量子化部23で使用するテーブルは同じものではないが、対になって使用するので、
図3では同じフィルタ特性選択信号FSが与えられるように記載している。
【0097】
<量子化マトリクステーブルの例>
以下、
図11〜
図18を用いて量子化マトリクステーブルの例について説明する。なお、量子化マトリクステーブルは、フィルタ特性選択部15において予め準備されたものを使用しても良いし、周波数解析部13および孤立周波数解析部14での解析結果を受けて、フィルタ特性選択部15でその都度作成しても良い。
【0098】
<水平エッジに対応するテーブル>
図11は、
図4を用いて説明した水平エッジの判定により、処理対象となっているベイヤーデータブロックは水平エッジの多い画像であると判定された場合に、フィルタ回路2に与えられる、水平エッジがノイズとして除去されることがないような量子化マトリクステーブルである。
【0099】
図11に示されるように、当該量子化マトリクステーブルは、
図9に示したDCT係数のマトリクスのように、低域側で水平周波数成分が多く、垂直周波数成分が少なくなるように設定された領域のみに有意な数値が与えられ、他の領域は全て最大値「255」が与えられている。なお、有意な数値については任意に設定可能である。
【0100】
これにより、有意な数値が与えられた部分に対応するAC成分のみが残り、他の部分に対応するAC成分は除去されるというフィルタ特性となる。
【0101】
<垂直エッジに対応するテーブル>
図12は、
図5を用いて説明した垂直エッジの判定により、処理対象となっているベイヤーデータブロックは垂直エッジの多い画像であると判定された場合に、フィルタ回路2に与えられる、垂直エッジがノイズとして除去されることがないような量子化マトリクステーブルである。
【0102】
図12に示されるように、当該量子化マトリクステーブルは、
図10に示したDCT係数のマトリクスのように、低域側で水平周波数成分が少なく、垂直周波数成分が多くなるように設定された領域のみに有意な数値が与えられ、他の領域は全て最大値「255」が与えられている。
【0103】
これにより、有意な数値が与えられた部分に対応するAC成分のみが残り、他の部分に対応するAC成分は除去されるというフィルタ特性となる。
【0104】
<水平、垂直エッジに対応するテーブル>
図13は、
図6を用いて説明したエッジの判定により、処理対象となっているベイヤーデータブロックは、水平、垂直共にエッジの多い画像であると判定された場合に、フィルタ回路2に与えられる、水平、垂直エッジがノイズとして除去されることがないような量子化マトリクステーブルである。
【0105】
図13に示されるように、当該量子化マトリクステーブルは、
図8に示したDCT係数のマトリクスのように、低域側で水平周波数成分と垂直周波数成分とが同じとなるように設定された領域のみに有意な数値が与えられ、他の領域は全て最大値「255」が与えられている。
【0106】
これにより、有意な数値が与えられた部分に対応するAC成分のみが残り、他の部分に対応するAC成分は除去されるというフィルタ特性となる。
【0107】
<孤立周波数の解析で得られたエッジに対応するテーブル>
図14は、
図7を用いて説明した孤立周波数の解析により、処理対象となっているベイヤーデータブロックは、特殊な形状のエッジが端縁部またはそれ以外に存在する画像であると判定された場合に、フィルタ回路2に与えられる、特殊な形状のエッジについては除去されるような量子化マトリクステーブルである。
【0108】
図14に示されるように、当該量子化マトリクステーブルは、低域側で水平周波数成分と垂直周波数成分とが同じになるように設定されているが、
図13の量子化マトリクステーブルよりもさらに領域が狭くなっている。これにより、除去されるAC成分が増え、より強力なフィルタ特性となる。
【0109】
<ゾーベル法で得られたエッジに対応するテーブル>
図15は、ゾーベル法によっても検出されるエッジが少ない場合に、フィルタ回路2に与えられる、エッジを考慮することなくノイズを除去するような量子化マトリクステーブルである。
【0110】
図15に示されるように、当該量子化マトリクステーブルは、低域側で水平周波数成分と垂直周波数成分とが同じになるように設定されているが、
図14の量子化マトリクステーブルよりもさらに領域が狭くなっている。これにより、除去されるAC成分が増え、さらに強力なフィルタ特性となる。
【0111】
<エッジ判定を組み合わせた場合のテーブル>
先に説明したように、
図4〜
図6を用いた各種のエッジ判定を組み合わせて用いる場合には、単独のエッジ判定を行う場合とは量子化マトリクステーブルも異なる。
【0112】
例えば、
図16は、
図4〜
図6を用いて説明した3種類のエッジ判定を組み合わせた場合に、フィルタ回路2に与えられる量子化マトリクステーブルであり、低域側で水平周波数成分と垂直周波数成分とが同じになるように設定されているが、
図8の量子化マトリクステーブルよりもさらに領域が広くなっている。
【0113】
これにより、水平エッジも垂直エッジもノイズとして除去されることがないフィルタ特性となる。
【0114】
また、
図17は、
図4および
図6を用いて説明した2種類のエッジ判定を組み合わせた場合に、フィルタ回路2に与えられる量子化マトリクステーブルであり、
図11に示した量子化マトリクステーブルよりも、垂直周波数成分に有意な部分が多くなるように設定されている。
【0115】
これにより、水平エッジだけでなくエッジ全般がノイズとして除去されることがないフィルタ特性となる。
【0116】
また、
図18は、
図5および
図6を用いて説明した2種類のエッジ判定を組み合わせた場合に、フィルタ回路2に与えられる量子化マトリクステーブルであり、
図12に示した量子化マトリクステーブルよりも、水平周波数成分に有意な部分が多くなるように設定されている。
【0117】
これにより、垂直エッジだけでなくエッジ全般がノイズとして除去されることがないフィルタ特性となる。
【0118】
<効果>
以上説明したように、本発明に係る実施の形態においては、周波数解析部13および孤立周波数解析部14において、エッジ成分を検出し、エッジ成分が検出された場合にはエッジが除去されないように弱いフィルタをかけるので、フィルタ処理によりエッジ成分が除去されることを防止でき、画像上の有意な構成がノイズと共に除去されることを抑制できる。
【0119】
また、エッジ成分が検出されない場合には強いフィルタをかけるので、ノイズを確実に除去することができる。
【0120】
また、画像データを周波数分解して得られた周波数成分についてフィルタ処理を行うノイズフィルタを用いることで、画像上の有意な構成がノイズと共に除去されることを抑制したノイズ除去が可能となる。
【0121】
<他の適用例>
以上説明した本発明に係る実施の形態においては、画像データとしてベイヤーデータを用いてノイズ判定を行う構成について説明したが、YCbCrデータやYUVデータを用いてノイズ判定を行っても良い。
【0122】
また、以上の説明では、周波数分解のためにDCTを使用した例について示したが、FFT(高速フーリエ変換)やウエーブレット変換などを使用してノイズ判定を行っても良い。
【0123】
なお、以上説明したノイズ判定装置およびフィルタ回路が、コーデックと共に画像処理装置等に実装されている場合には、コーデックのDCT部および量子化部が共有できるので、より簡便な回路構成でエッジ成分の種類やノイズの有無を判定できるという効果がある。
【0124】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。