(57)【要約】【課題】従来、スケーリングとして一律のフィルタを使用するのが一般的であるが、その際使用するフィルタによってはノイズを強調したり、ディテール感を減らしたりという弊害を起しかねない。そのため、映像信号の輝度パターンによってフィルタを使い分けながらスケーリングを行うという方法が提案されているが、ある領域単位でフィルタを決定しているため、例えばその領域内にエッジ部分があったとしてもリンギングを軽減させるために小タップのフィルタを使うことになり、エッジ成分自体の鮮鋭感は失われてしまうなどの課題が生じる。【解決手段】以上課題解決のため、本発明は画素ごとの二次微分値などを利用することで、画素ごとにエッジ成分か周辺画素か、といった平坦性を算出する。そして平坦性に応じて画素ごとに適用するフィルタのタップ数を替えてスケーリング処理を行う映像処理装置を提供する。【選択図】図２
2008123156.tif 000002
【特許請求の範囲】
【請求項１】
映像信号を取得する映像信号取得部と、
取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を算出する平坦性算出部と、
算出された平坦性に応じてスケーリング用のフィルタのタップ数を選択してスケーリング処理を実行するフィルタリング部と、
を有する映像処理装置。
【請求項２】
平坦性算出部は、各画素ごとに平坦性を算出する画素単位算出手段を有し、
フィルタリング部は、各画素ごとに前記選択をし、画素ごとに前記スケーリング処理を実行する画素単位フィルタリング手段を有する請求項１に記載の映像処理装置。
【請求項３】
平坦性算出部は、
取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域が平坦画像領域か、非平坦画像領域かを判断する平坦非平坦判断手段を有し、
フィルタリング部は、
前記判断結果が平坦画像領域であると判断された領域に配置されている画素に関しては、比較的少ないタップ数のフィルタである小タップフィルタを用いてスケーリング処理を実行する小タップフィルタ手段と、
前記判断結果が非平坦画像領域であると判断された領域に配置されている画素に関しては、比較的多いタップ数のフィルタである多タップフィルタを用いてスケーリング処理を実行する多タップフィルタ手段と、
を有する請求項１又は２に記載の映像処理装置。
【請求項４】
小タップフィルタは２タップフィルタである請求項３に記載の映像処理装置。
【請求項５】
フィルタリング部は、
算出された平坦性に応じて一の画素のスケーリングを実行するために複数種のフィルタを利用する複数種フィルタ手段
を有する請求項１から４のいずれか一に記載の映像処理装置。
【請求項６】
フィルタリング部がスケーリング処理を実行する場合には、スケーリング処理実行前に輪郭強調処理を実行する前輪郭強調処理部を有する請求項１から５のいずれか一に記載の映像処理装置。
【請求項７】
映像信号を取得する映像信号取得ステップと、
取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を算出する平坦性算出ステップと、
算出された平坦性に応じてスケーリング用のフィルタのタップ数を選択してスケーリング処理を実行するフィルタリングステップと、
を計算機に実行させる映像処理方法。
【請求項８】
平坦性算出ステップにおいて、各画素ごとに平坦性を算出する画素単位算出ステップを有し、
フィルタリングステップにおいて、各画素ごとに前記選択をし、画素ごとに前記スケーリング処理を実行する画素単位フィルタリングステップを有する請求項７に記載の映像処理方法。
【請求項９】
平坦性算出ステップにおいて、
取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域が平坦画像領域か、非平坦画像領域かを判断する平坦非平坦判断ステップを有し、
フィルタリングステップにおいて、
前記判断結果が平坦画像領域であると判断された領域に配置されている画素に関しては、比較的少ないタップ数のフィルタである小タップフィルタを用いてスケーリング処理を実行する小タップフィルタステップと、
前記判断結果が非平坦画像領域であると判断された領域に配置されている画素に関しては、比較的多いタップ数のフィルタである多タップフィルタを用いてスケーリング処理を実行する多タップフィルタステップと、
を有する請求項７又は８に記載の映像処理方法。
【請求項１０】
小タップフィルタは２タップフィルタである請求項９に記載の映像処理方法。
【請求項１１】
フィルタリングステップにおいて、算出された平坦性に応じて一の画素のスケーリングを実行するために複数種のフィルタを利用する複数種フィルタステップを有する請求項７から１０のいずれか一に記載の映像処理方法。
【請求項１２】
フィルタリングステップにてスケーリング処理を実行する場合には、スケーリング処理実行前に輪郭強調処理を実行する前輪郭強調処理ステップを有する請求項７から１１のいずれか一に記載の映像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像の拡大、縮小処理であるスケーリングを実行する映像処理技術に関する。
【背景技術】
【０００２】
液晶テレビなどのデジタルディスプレイにおいては、映像を画素単位で表示している。したがって、入力映像ソースの解像度と、出力ディスプレイの解像度が異なる場合、映像ソースをディスプレイの解像度に合わせて拡大／縮小する、いわゆる「スケーリング処理」が必要となる。そしてこの「スケーリング処理」において、従来は、一律にフィルタリングを行うため以下のような問題点があった。例えば、一律に多タップフィルタをかけてスケーリングを行う場合、画像内のディテール部分やエッジ部分は比較的破綻無く拡大／縮小されるものの、エッジ周辺にいわゆるリンギングノイズが発生してしまう。一方、リンギングの発生しにくい２タップフィルタを利用してスケーリングを行う場合、今度はディテール部分やエッジ部分が上手く拡大／縮小されず、エッジ感やディテール感など鮮鋭感の喪失したぼやけた画像になってしまう。
【０００３】
そこで特許文献１には、以下のような技術が開示されている。該技術では、まず連続して入力される複数の輝度信号値の増加、減少で示される変化パターンから高周波領域と低周波領域とを分類する。そして高周波領域では８タップフィルタなどを用いてスケーリングを行い、低周波領域では４タップフィルタなどを用いてリンギングの発生を抑えつつスケーリングを行う、といった技術である。
【０００４】
また、このようなスケーリング処理においては、処理過程において変容したエッジ部分を修正するための「エンハンス処理」と呼ばれる輪郭強調処理も行われている。そして従来、この輪郭強調処理は、スケーリング処理とは別の処理過程で実行されている。
【特許文献１】特開２００４−３４８１１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の技術には以下のような課題がある。つまり、特許文献１で開示されている技術では、第一に、連続画素の輝度変化パターンで画像を分類している。そのため、タップフィルタの適用選択単位が、高周波「領域」か低周波「領域」か、と言う具合に画像内の領域単位となっている。ところが、輝度変化パターンで分類された画像の低周波領域には、エッジ成分とその周辺部分が同時に含まれる場合もありうる。そして、リンギングが発生するのはエッジ成分そのものではなく、エッジ成分の周辺画素においてである。
【０００６】
すると上記技術では、低周波領域内に含まれるエッジ成分とその周辺部分に対して小タップフィルタが適用されてしまい、エッジ周辺部分（の画素）のリンギング発生は抑えられるものの、エッジ成分自体（の画素）の鮮鋭感などは失われてしまうことになる、という課題が生じる。
【０００７】
また第二に、４タップフィルタと８タップフィルタを領域ごとに切り替えて適用しているため、異なるタップ数のフィルタが適用された隣接領域の境目部分において、それぞれのスケーリングの補正値が大きく異なっている場合がある。そのため、その境目部分において視覚上の違和感が生じてしまうことがある、という課題もある。
【０００８】
更にスケーリングには一律なフィルタを使用することが一般的であり、スケーリングした映像の輪郭強調処理がスケーリング処理と別の処理過程で実行されている。そのためスケーリング処理後のリンギングが発生したりノイズが拡大されたりしている映像に対して輪郭強調処理が実行されることになり、リンギングや拡大ノイズが強調されてしまう、という課題もある。
【課題を解決するための手段】
【０００９】
以上の課題を解決するために、本発明は以下のような映像処理装置を提供する。第一に、例えば画素ごとの二次微分値（隣接画素との差分値）などを利用することで、画素ごとにエッジ成分か周辺画素か、といった平坦性を算出する。そして平坦性に応じて画素ごとに適用するフィルタのタップ数を替えてスケーリング処理を行う映像処理装置を提供する。
【００１０】
具体的には、映像信号を取得する映像信号取得部と、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を算出する平坦性算出部と、算出された平坦性に応じてスケーリング用のフィルタのタップ数を選択してスケーリング処理を実行するフィルタリング部と、を有する映像処理装置であって、その平坦性算出部は、各画素ごとに平坦性を算出する画素単位算出手段を有し、フィルタリング部は、各画素ごとに前記選択をし、画素ごとに前記スケーリング処理を実行することを特徴とする映像処理装置である。
【００１１】
第二は、上記第一の映像処理装置を基本として、さらに例えば画素ごとの平坦性を示す二次微分値の大小に応じて、複数のフィルタを合計適用率が１００％となるようそれぞれの適用率を変化させながら一画素に対して適用しスケーリングする映像処理装置である。具体的には、第一の映像処理装置におけるフィルタリング部が、算出された平坦性に応じて一の画素のスケーリングを実行するために複数種のフィルタを利用する複数種フィルタ手段を有する構成をとる。このようにして、平坦性に応じて、ある画素に対して異なるタップ数のフィルタが混合適用されることになる。したがってスケーリング処理された隣接領域の境目部分においても視覚上リニアに変化しているように見えるため違和感を低減させることができる。
【００１２】
第三は、上記第一や第二の映像処理装置を基本として、さらにスケーリング処理の前にエッジ成分に対して適当な輪郭強調処理を実行する映像処理装置である。具体的には、前記第一や第二の映像処理装置におけるフィルタリング部がスケーリング処理を実行する場合には、スケーリング処理実行前に輪郭強調処理を実行する前輪郭強調処理部を有する構成をとる。このようにして、リンギングや拡大ノイズ発生後にそれらに対する輪郭強調処理が実行されることがない。
【発明の効果】
【００１３】
以上のような構成をとる第一の本発明によって、画素ごとにエッジ成分か周辺画素か、といった平坦性を算出し、その平坦製に応じて画素ごとに適用するフィルタのタップ数を替えてスケーリング処理を行うことができる。したがって、エッジ成分を構成する画素に対しては８タップなどの多タップフィルタを適用し鮮鋭さを失わないようスケーリング処理し、エッジ周辺を構成する画素に対しては小タップフィルタを適用しリンギングが発生しないようスケーリング処理を実行することができる。
【００１４】
また、第二の本発明によって、平坦性に応じて異なるタップ数のフィルタが混合適用されてスケーリング処理される。したがって隣接領域の境目部分においても視覚上リニアに変化しているようにして見えるため違和感を低減させることができる。また第三の本発明によって、輪郭強調補正されたリンギングやノイズを抑えたスケーリング処理を実行することができる。
【発明を実施するための最良の形態】
【００１５】
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。なお、実施例１は、主に請求項１、２，３，４、及び請求項７、８，９，１０、について説明する。また、実施例２は、主に請求項５、及び請求項１１について説明する。また、実施例３は、主に請求項６、及び請求項１２について説明する。
【００１６】
≪実施例１≫
<概要>
図１は、映像を構成する画面内の画素の一部を表した概念図であり、本実施例の映像処理装置によるスケーリング処理の一例を説明するための図である。この図にあるように、この映像は画素単位での輝度差から見ると平坦性の高い画像であり、例えばＡ行には１列から５列まで２タップフィルタなどを適用しスケーリング処理を実行する。一方、Ｂ行においては、４列、５列の画素は二次微分値が０となり水平方向に平坦であることが分かる。そこでこのＢ行４列、５列の画素を拡大／縮小処理する際に生成される補間画素には２タップフィルタを適用する。またＢ行１列から３列の画素は二次微分値から水平方向の隣接画素と異なっていることが分かる。そこでＢ行１列から３列の画素を拡大／縮小処理する際に生成される補間画素には多タップフィルタを適用しスケーリングを実行する。
【００１７】
このように、画素単位で適用フィルタを選択し切り替えることで、上記図１の映像のように領域で見ると低周波領域にあるエッジ部分（Ｂ−２、Ｃ−２、Ｄ−３など）の拡大／縮小処理に際し、生成される補間画素に対しては多タップフィルタを適用しディテール（鮮鋭感）を保持し、その周辺画素に対しては小タップフィルタを適用しリンギングの発生を抑えてスケーリング処理を行うことができる。
【００１８】
<機能的構成>
図２は、本実施例の映像処理装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「映像処理装置」（０２００）は、「映像信号取得部」（０２０１）と、「平坦性算出部」（０２０２）と、「フィルタリング部」（０２０３）とを有する。
【００１９】
なお、以下に記載する映像処理装置の機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、CPUや主メモリ、バス、あるいは二次記録媒体（ハードディスクや不揮発性メモリ、CD−ROMやDVD−ROMなどの記憶メディアとそれらメディアの読取ドライブなど）、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部やその外部周辺機器用のI/Oポート、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるユーザーインターフェースなどが挙げられる。
【００２０】
またこれらハードウェアやソフトウェアは、主メモリ上に展開したプログラムをCPUで演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェースを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる（本明細書の全体を通じて同様である）。
【００２１】
「映像信号取得部」（０２０１）は、映像信号を取得する機能を有する。「映像信号」とは、デコード前、又は後において画素の値を示す信号であって、この信号に基づいて画素ごとに様々な色が表示される。具体的には、例えば、色を赤（Ｒ）・緑（Ｇ）・青（Ｂ）の三原色の組合せとして表現するＲＧＢ信号や、輝度信号（Ｙ）と、その輝度信号と赤色成分の差（Ｕ）と、輝度信号と青色成分の差（Ｖ）の３つの情報で色を表す信号であるＹＵＶ信号などが挙げられる。
【００２２】
そしてこの取得した映像信号のうち、例えば輝度信号を利用して、隣接画素間の輝度差などを、平坦性を示す指標として算出しスケーリング処理の為にどのフィルタを適用するかを判断することができる。
【００２３】
「平坦性算出部」（０２０２）は、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を算出する機能を有する。「平坦性」とは、映像内での視覚的な平坦度合いを示す指標をいい、すなわち、近傍画素との輝度値の差分値によって示される指標である。具体的には、例えば隣接画素との輝度信号の差分値（一次微分値）や、左（上）方向の隣接画素と右（下）方向の隣接画素との差分値の差分値（二次微分値）、あるいはその左右（上下）方向の差分値の積分値などが挙げられる。そして、このように算出した一次や二次微分値などから、例えば画素ごとにその平坦性を算出し、その適用するフィルタのタップ数を切り替えることができる。
【００２４】
「フィルタリング部」（０２０３）は、算出された平坦性に応じてスケーリング用のフィルタのタップ数を選択してスケーリング処理を実行する機能を有する。「スケーリング用のフィルタ」とは、拡大／縮小処理に際して補間画素を生成するために利用される関数をいい、補間画素の周囲にある画素を入力値として重み付け平均を実行する関数である。そして「タップ数」とはその関数に入力される周囲画素の数をいう。
【００２５】
図３は、このスケーリング用のフィルタの一例を表す図である。この図３（ａ）は２タップフィルタを表し、この図にあるように、例えば中心にある画素Ａを拡大／縮小時の補間画素として生成する際には、隣接する２画素（２タップ）を入力信号として補間用の画素を生成する。一方、図３（ｂ）は１０タップフィルタを表し、この図にあるように補間画素Ａを生成する際には、隣接する１０画素（１０タップ）を入力信号として、補間用の画素を生成する、という具合である。
【００２６】
そして、タップ数の多いフィルタでは、上図に示す通り補間画素が比較的遠くにある画素の影響も受けるため、細かい変化をつけることができディテールやエッジをはっきりさせることができる反面、リンギングが発生しやすい。一方、タップ数の少ないフィルタでは、近傍画素の影響しか受けないためディテールやエッジは損なわれるが、リンギングは発生しにくい。そこで、本実施例においては、前記算出した平坦性を示す指標数値に応じて、例えば８ビット輝度信号の二次微分値が０から３までの画素に対しては２タップフィルタを適用し、同二次微分値が４から１５までの画素に対しては４タップフィルタを適用する。また同二次微分値が１６から３１までの画素に対しては８タップフィルタを適用し、同二次微分値が３２以上であれば１０タップフィルタを適用してスケーリング処理を実行する、という具合の適用フィルタの選択を行う。
【００２７】
<処理の流れ>
図４は、本実施例の映像処理装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、映像信号を取得する（ステップＳ０４０１）と、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を、例えば各画素の輝度値などを用いて算出する（ステップＳ０４０２）。そして、算出された平坦性に応じてスケーリング用のフィルタのタップ数を選択して（ステップＳ０４０３）、選択したタップ数のフィルタにてスケーリング処理を実行する（ステップＳ０４０４）。
【００２８】
そして、上記本実施例の映像処理装置は、以下のように画素ごとに平坦性を判断し、その平坦性に応じて画素ごとに適用フィルタを切り替えるよう構成されていることを特徴とする。それによって画素単位のきめ細かなフィルタ適用が可能になるので、エッジ成分を構成する画素には多タップフィルタを適用し、そのエッジ周辺の画素にはリンギングが発生しないよう小タップフィルタを適用する、といった処理が可能になる。
【００２９】
<別の機能的構成１>
図５は、本実施例の映像処理装置における機能ブロックの、別の一例を表す図である。この図にあるように、本実施例の「映像処理装置」（０５００）は、上記構成を基本として「映像信号取得部」（０５０１）と、「平坦性算出部」（０５０２）と、「フィルタリング部」（０５０３）とを有する。そしてこの別の例の特徴点は、その平坦性算出部が「画素単位算出手段」（０５０４）を有し、かつフィルタリング部が「画素単位フィルタリング手段」（０５０５）を有する点である。
【００３０】
「画素単位算出手段」（０５０４）は、各画素ごとに平坦性を算出する機能を有し、例えば、画素ごとに隣接画素との一次微分値や二次微分値などを算出し、指標化する方法が挙げられる。なお、「画素の平坦性」とは、画素単位で算出される例えば輝度差分値などで示される値に応じて判断されるものであり、例えばその指標値が０に近い、ないし０であればその画素は平坦であると規定し、それ以外であればその画素は平坦ではないと規定する、という具合である。
【００３１】
「画素単位フィルタリング手段」（０５０５）は、各画素ごとに前記選択をし、画素ごとに前記スケーリング処理を実行する機能を有する。このように、画素ごとに平坦性を判断し、画素ごとに適用するフィルタを切り替えることで、例えば均一色背景上の字幕、といった低周波領域内のエッジ成分（字幕）であっても画素単位で対応することができる。したがってエッジ感やディテール感を損なうことなく、かつリンギングの発生も抑えてスケーリング処理を実行することができる。
【００３２】
<別の処理の流れ１>
図６は、本実施例の映像処理装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、映像信号を取得する（ステップＳ０６０１）と、取得した映像信号に基づいて、各画素ごとに平坦性を算出する（ステップＳ０６０２）。そして、算出された平坦性に応じて各画素ごとにスケーリング用のフィルタのタップ数を選択して（ステップＳ０６０３）、選択したタップ数のフィルタにて各画素ごとにスケーリング処理を実行する（ステップＳ０６０４）。
【００３３】
<別の概要２>
また、上記本実施例の映像処理装置は、平坦性の判断において以下のように平坦か非平坦かの二者択一で判断するよう構成されていても良い。そして平坦な領域や画素に対しては２タップフィルタなどの小タップフィルタを適用し、非平坦な領域や画素に対しては１０タップフィルタなどの多タップフィルタを適用する。このようにフィルタリングの適用を平坦か非平坦かの二者択一で選択することで用意するフィルタの数を抑えることができる。
【００３４】
<別の機能的構成２>
図７は、本実施例の映像処理装置における機能ブロックの、さらに別の一例を表す図である。この図にあるように、本実施例の「映像処理装置」（０７００）は、上記構成を基本として「映像信号取得部」（０７０１）と、「平坦性算出部」（０７０２）と、「フィルタリング部」（０７０３）とを有する。また、図示していないが「画素単位算出手段」や「画素単位フィルタリング手段」を有していても良い。そしてこのさらに別の例の特徴点は、その平坦性算出部が「平坦非平坦判断手段」（０７０４）を有し、かつフィルタリング部が「小タップフィルタ手段」（０７０５）と「多タップフィルタ手段」（０７０６）と、を有する点である。
【００３５】
「平坦非平坦判断手段」（０７０４）は、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域が平坦画像領域か、非平坦画像領域かを判断する機能を有する。この判断は、前述の平坦性を指標化した数値と閾値を利用し、例えば８ビット輝度信号を映像信号として算出された平坦性の指標値（画素の二次微分値など）が閾値３以上であるか、といった具合に判断すると良い。そして、その判断結果に応じて、次のフィルタリング部の小タップフィルタ手段でのスケーリング処理か、多タップフィルタ手段でのスケーリング処理か、が区別される、という具合である。
【００３６】
「小タップフィルタ手段」（０７０５）とは、平坦非平坦判断手段（０７０４）での判断結果が平坦画像領域であると判断された画素に関しては、小タップフィルタを用いてスケーリング処理を実行する機能を有する。「小タップフィルタ」とは、次の多タップフィルタと比較してタップ数の少ないフィルタをいう。なお、リンギング発生を抑制するという点から鑑みると、この小タップフィルタは、例えば２タップフィルタや４タップフィルタであることが望ましい。また、特に２タップフィルタにおいてはリンギング発生をほぼ抑えるようパラメータが設定されたフィルタも提供されているため、そのような２タップフィルタを用いることがさらに望ましい。
【００３７】
「多タップフィルタ手段」（０７０６）とは、平坦非平坦判断手段（０７０４）での判断結果が非平坦画像領域であると判断された領域に配置されている画素に関しては、比較的多いタップ数のフィルタである多タップフィルタを用いてスケーリング処理を実行する機能を有する。
【００３８】
このようにして、小タップフィルタと多タップフィルタという２つのフィルタの適用を平坦か非平坦かの二者択一で選択する、という構成をとることで装置内に保持するフィルタの数を抑えることができる。なお、適用するフィルタを２種類のみとすると、それぞれのフィルタの隣接適用領域の境目部分において、それぞれのスケーリングの補正値が大きく異なっている場合がある。そのため、その境目部分において視覚上の違和感が生じてしまうことがある。そこで、そのような場合における視覚上の違和感を解消する手段を有する映像処理装置に関して次の実施例２にて後述する。
【００３９】
<別の処理の流れ２>
図８は、本実施例の映像処理装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、映像信号を取得する（ステップＳ０８０１）と、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域や各画素の平坦性を算出する（ステップＳ０８０２）。そして、算出された平坦性に基づいて画像領域や各画素が平坦か、非平坦かを判断する（ステップＳ０８０３）。そして、前記判断結果が平坦であると判断された場合、その領域や画素に対して比較的少ないタップ数のフィルタである小タップフィルタを用いてスケーリング処理を実行する（ステップＳ０８０４ａ）。一方、前記判断結果が非平坦であると判断された場合、その領域や画素に対して比較的多いタップ数のフィルタである多タップフィルタを用いてスケーリング処理を実行する（ステップＳ０８０４ｂ）。
【００４０】
<ハードウェア的構成>
図９は、上記機能的な各構成要件をハードウェアとして実現した際の、映像処理装置装置における構成の一例を表す概略図である。この図を利用してスケーリング処理におけるそれぞれのハードウェア構成部の働きについて説明する。この図にあるように、映像処理装置は、各種演算処理を行う「ＣＰＵ（中央演算装置）」（０９０１）と、「主メモリ」（０９０２）と、を有している。また、映像信号が入力され輝度信号値などを出力する「デコーダ」（０９０３）と、スケーリングに利用する各種タップフィルタを保持する「ＥＥＰＲＯＭ」（０９０４）と、画素データを画素ごとのメモリアドレスに格納する「ＶＲＡＭ」（０９０５）も備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
【００４１】
また、「主メモリ」は、各種処理を行うプログラムをＣＰＵに実行させるために読み出すと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、この「主メモリ」や「ＥＥＰＲＯＭ」にはそれぞれ複数のメモリアドレスが割り当てられており、「ＣＰＵ」で実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。
【００４２】
ここで、「デコーダ」に映像信号が入力されると、デコード処理によって例えば画素ごとのＲＧＢ値が出力され「ＶＲＡＭ」に格納される。そしてそのＲＧＢ値から演算処理によって輝度値が算出される。そして、その輝度値に基づく「ＣＰＵ」の四則演算処理により、それぞれの画素に関して平坦性を示す指標となる二次微分値が算出され「主メモリ」のアドレス１に格納される。この二次微分値の算出は、具体的には例えば、まずある画素Ａの輝度値と、左（上）隣の画素の輝度値との差分値αをＣＰＵの演算処理によって算出する。続いてある画素Ａの輝度値と、今度は右（下）隣の画素の輝度値との差分値βをＣＰＵの演算処理によって算出する。そして、それぞれの差分値αとβの差分値をＣＰＵの演算処理によって二次微分値として算出する、という具合である。
【００４３】
つづいて「主メモリ」のアドレス１に格納されている例えば各画素ごとの二次微分値をキーとして、「二次微分値−適用フィルタテーブル」などを検索し、各画素ごとにスケーリング処理に適用すべきフィルタを選択する。そして選択されたフィルタ、例えば２タップフィルタを「ＥＥＰＲＯＭ」のアドレス１から読出し、「ＣＰＵ」の演算処理によって二タップフィルタを利用してスケーリング処理された補間画素の映像信号値が算出され、「主メモリ」のアドレス２に格納される、という具合である。
【００４４】
<効果の簡単な説明>
以上のように本実施例の映像処理装置によって、画素ごとにエッジ成分か周辺画素か、といった平坦性を分類し、画素ごとに適用するフィルタのタップ数を替えてスケーリング処理を行うことができる。したがって、エッジ成分を構成する画素に対しては８タップなどの多タップフィルタを適用し鮮鋭さを失わないようスケーリング処理し、エッジ周辺を構成する画素に対しては小タップフィルタを適用しリンギングが発生しないようスケーリング処理を実行することができる。
【００４５】
≪実施例２≫
<概要>
図１０は、本実施例の映像処理装置における画素の平坦性に応じたフィルタの適用例について説明するための概念図である。この図にあるように、本実施例の映像処理装置では、実施例１で説明したように、平坦性を示す二次微分値が３６である画素Ａに関しては、１０タップフィルタを適用してスケーリング処理を実行する。また、平坦性を示す二次微分値が２である画素Ｂに関しては、２タップフィルタを適用してスケーリング処理を実行する。
【００４６】
そして、本実施例では、平坦性を示す二次微分値が例えば２４となる画素Ｃに関しては１０タップフィルタを適用したスケーリング処理結果を８０％、２タップフィルタを適用したスケーリング処理結果を２０％として、その合計値をスケーリング処理結果として出力する、といった処理を行う。このように本実施例は実施例１を基本とし、一の画素のスケーリング処理に関し、複数種のフィルタを平坦性に応じた割合で実行し、その実行結果を足し合わせることを特徴とする映像処理装置である。
【００４７】
<機能的構成>
図１１は、本実施例の映像処理装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「映像処理装置」（１１００）は、実施例１を基本として「映像信号取得部」（１１０１）と、「平坦性算出部」（１１０２）と、「フィルタリング部」（１１０３）とを有する。また、図示していないが「画素単位算出手段」や「画素単位フィルタリング手段」、あるいは「平坦非平坦判断手段」や「小タップフィルタ手段」や「多タップフィルタ手段」を有していても良い。なお、これら構成要件については上記実施例にて既に記載済みであるのでその説明は省略する。そして、本実施例の映像処理装置の特徴点は、そのフィルタリング部が「複数種フィルタ手段」（１１０４）を有する点である。
【００４８】
「複数種フィルタ手段」（１１０４）は、算出された平坦性に応じて一の画素のスケーリングを実行するために複数種のフィルタを利用する機能を有する。「平坦性に応じて」とは、例えば平坦性を示す前述の指標化値（二次微分値）などに応じて複数種のフィルタの適用割合を変化させることをいう。それによってこの複数種フィルタ手段では、平坦性に応じた複数種のフィルタの利用を行う。
【００４９】
図１２は、その平坦性に応じた複数種のフィルタの適用割合の一例を示す図である。この図にあるように、ある画素の平坦性を示す二次微分値が閾値Ａ（８ビット輝度信号の場合は例えば３）以下である場合は、２タップフィルタを１００％適用してスケーリング処理を実行する。一方、二次微分値が閾値Ｂ（８ビット輝度信号の場合は例えば３２）以上である場合は、１０タップフィルタを１００％適用してスケーリング処理を実行する。
【００５０】
そして、二次微分値が閾値Ａから閾値Ｂの間である場合は、図に示すように、１０タップフィルタと２タップフィルタのそれぞれの適用割合を合計１００％となるよう割り当てる。例えば二次微分値がＣである場合は、１０タップフィルタを８０％、２タップフィルタを２０％適用してスケーリング処理を実行する、という具合である。
【００５１】
なお、この複数種フィルタ手段は、もちろん２種類以上のフィルタを選択可能であって、その適用率もさらに詳細に規定されていても構わない。
【００５２】
<処理の流れ>
図１３は、本実施例の映像処理装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、映像信号を取得する（ステップＳ１３０１）と、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を算出する（ステップＳ１３０２）。そして、算出された平坦性に応じて、一の画素のスケーリングを実行するためのフィルタを複数種選択して（ステップＳ１３０３）、選択した複数種のフィルタにてスケーリング処理を実行する（ステップＳ１３０４）。
【００５３】
<ハードウェア構成>
図１４は、上記機能的な各構成要件をハードウェアとして実現した際の、映像処理装置における構成の一例を表す概略図である。この図を利用してスケーリング処理におけるそれぞれのハードウェア構成部の働きについて説明する。この図にあるように、映像処理装置は、実施例１と同様、「ＣＰＵ」（１４０１）と、「主メモリ」（１４０２）と、「デコーダ」（１４０３）と、「ＥＥＰＲＯＭ」（１４０４）と、「ＶＲＡＭ」（１４０５）を備え、「システムバス」などのデータ通信経路によって相互に接続されている。
【００５４】
ここで、実施例１で説明したような処理により、それぞれの画素に関して平坦性を示す指標となる二次微分値が算出され「主メモリ」のアドレス１に格納される。
【００５５】
つづいて、「主メモリ」のアドレス１に格納されている各画素ごとの二次微分値をキーとして、図１２に示すような表をテーブル化した「適用割合フィルタテーブル」を検索し、各画素ごとにフィルタの適用率を取得する。ここでは、例えば二次微分値がＣであり、フィルタの適用割合は２タップフィルタが２０％、１０タップフィルタが８０％、となる。
【００５６】
すると、「ＥＥＰＲＯＭ」のアドレス１から読出された２タップフィルタと、処理対象画素の映像信号値を利用した「ＣＰＵ」の演算処理によってスケーリング処理が実行される。そして、その結果算出された輝度信号値、例えば１２０が「主メモリ」のアドレス２に格納される。また、「ＥＥＰＲＯＭ」のアドレス２から読出された１０タップフィルタと、処理対象画素の映像信号値を利用した「ＣＰＵ」の演算処理によってスケーリング処理が実行される。そして、その結果算出された輝度信号値、例えば１９６が「主メモリ」のアドレス２に格納される。そして今度は、「主メモリ」のアドレス２と３に格納されているそれぞれの輝度信号値に対して、前記取得したフィルタの適用率を適用し、合算する演算処理が「ＣＰＵ」によって実行される。それにより、２タップフィルタと１０タップフィルタが所定の適用率で適用された合成スケーリング結果である輝度信号値、例えば１８０（１２０×２０％＋１９６×８０％）が算出され、「主メモリ」のアドレス４に格納される、という具合である。
【００５７】
また、もちろん本実施例や上記実施例１の映像処理装置は、このような汎用的な情報処理装置によって実現しても良いし、ディスプレイ装置などに専用の映像処理回路を設けることで実現しても良い。
【００５８】
図１５は、本実施例の映像処理装置を専用の映像処理回路として実現した際のハードウェア構成の一例を表す概略図である。この図にあるように、専用の映像処理回路（１５００）は、「スケーリング座標計算部」（１５０１）と、「メモリコントローラ」（１５０２）と、「ラインメモリ」（１５０３）と、「平坦性検出部」（１５０４）と、「スケーリング部」（１５０５）と、「加算割合算出部」（１５０６）と、「積和演算部」（１５０７）と、を備えている。
【００５９】
ここで、まず、この映像処理回路がスケーリング処理の実行命令を取得する。すると、その実行命令に含まれるスケーリング倍率の値を利用して、「スケーリング座標演算部」を構成する演算チップの演算処理によって、スケーリング時に参照すべき画素の座標情報が算出される。そして、算出された座標情報が「メモリコントローラ」に出力され、「メモリコントローラ」の制御に当該座標の映像情報が「ラインメモリ」より読み出される。
【００６０】
続いて、読み出された画素の映像信号が「スケーリング部」と「平坦性検出部」に出力される。「スケーリング部」では、例えば図３に示すような補間割合値を用いて、スケーリングの対象となる一の画素に対し、「２タップフィルタ積和演算部」による演算と「多タップフィルタ積和演算部」による演算とを実行し、それぞれのタップフィルタによる演算結果α、βを「積和演算部」に出力する。
【００６１】
一方、「平坦性検出部」では、その映像信号を用いて、スケーリングの対象となる画素の平坦性を示す隣接画素との差分値（一次微分値や二次微分値）を算出し、算出結果を「加算割合算出部」に出力する。
【００６２】
そして「加算割合算出部」では、予め与えられた閾値Ａ，Ｂと平坦性を示す算出値と、の比較処理を行う。その比較処理に基づいて、例えば図１２に示すような関数を利用してタップフィルタの適用割合「Ｃ（％）」及び「１００−Ｃ（％）」を算出し、「積和演算部」に出力する。
【００６３】
すると、「積和演算部」では、「２タップフィルタ積和演算部」の出力結果αに対し、加算割合値の出力結果「１００−Ｃ（％）」を掛け合わせる。また、「多タップフィルタ積和演算部」の出力結果βに対し、加算割合値の出力結果「Ｃ（％）」を掛け合わせる。そして、それぞれの演算結果を加算した結果を、スケーリング後の画素値として出力する、と言う具合である。
【００６４】
なお、上記構成例では省略したが、例えばこの映像処理回路は以下のような構成をさらに備えていても良い。すなわち、各種映像信号の入力を切り替える「入力切替処理回路」や、アナログ映像信号をデジタル映像信号に変換する「Ａ／Ｄ変換処理回路」、インタレース信号をプログレッシブ信号に変換する「ＩＰ変換処理回路」、デジタルフィルタにより映像のエッジを強調したりノイズ除去処理を行ったりする「画質補正処理回路」、映像のγ特性をγテーブルに従って変更し映像のトーンを調整する「ガンマ補正処理回路」、あるいはオンスクリーンディスプレイ制御を行う「ＯＳＤ処理回路」など、その他の処理を実行するための手段や、映像表示パネルのゲートドライバ及びソースドライバなどを制御するコントローラなどである。また、「ＩＰ変換処理回路」は、本発明でのスケーリング処理時に同時に実行されるよう構成されていても良い。
【００６５】
<効果の簡単な説明>
このようにして、異なるタップ数のフィルタが適用された隣接領域の境目部分において、その平坦性に応じてリニアにフィルタの適用率を変化させて合成算出する処理を行うことができる。したがって、その境目部分においてリニアに変化させる処理を行うことができ、視覚上の違和感を抑えることができる。
【００６６】
≪実施例３≫
<概要>
本実施例の映像処理装置は、上記実施例を基本として、スケーリング処理実行前に輪郭強調処理（エンハンス処理）を実行することを特徴とする。また、その輪郭強調処理に関しては、エッジがより急峻となるように補正することでエッジを強調する処理を行う。このようにスケーリング処理の前に輪郭強調補正を実行することで、スケーリング処理後に発生するリンギングやノイズが輪郭強調処理によって強調される、といった事態の発生を抑えることができる。
【００６７】
また、このスケーリングの前に実行される輪郭強調補正については、例えば次の図に示すような補正を行うと良い。図１６は、本実施例の映像処理装置におけるエッジ部分の輪郭強調処理（エンハンス処理）の一例を説明するための概念図である。本実施例の映像処理装置では、この図中矢印で示すように、本来のエッジ構成する所定位置の画素の輝度値を、下方向及び上方向に伸張することでエッジ成分をより急峻にし強調する処理を行う、という具合である。
【００６８】
<機能的構成>
図１７は、本実施例の映像処理装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「映像処理装置」（１７００）は、実施例１を基本として「映像信号取得部」（１７０１）と、「平坦性算出部」（１７０２）と、「フィルタリング部」（１７０３）とを有する。また、図示していないが「画素単位算出手段」や「画素単位フィルタリング手段」、あるいは「平坦非平坦判断手段」や「小タップフィルタ手段」や「多タップフィルタ手段」、あるいは「複数種フィルタ手段」を有していても良い。なお、これら構成要件については上記実施例にて既に記載済みであるのでその説明は省略する。そして、本実施例の映像処理装置の特徴点は、さらに「前輪郭強調処理部」（１７０４）を有する点である。
【００６９】
「前輪郭強調処理部」（１７０４）は、フィルタリング部がスケーリング処理を実行する場合には、スケーリング処理実行前に輪郭強調処理を実行する機能を有する。このようにスケーリング処理の前に輪郭強調補正を実行することで、スケーリング処理後に発生するリンギングやノイズが輪郭強調処理によって強調される、といった事態の発生を抑えることができる。
【００７０】
図１８は、本実施例の映像処理装置における輪郭補正処理の一例を説明するための概念図である。ここで、まず例えば所定個数連続する画素において輝度値の増加または減少の傾き係数が閾値以上である場合に、そこはある程度急峻なエッジ部分と判断する。そして、図１８（ａ）に示すように、その連続減少（増加）するエッジ部分の始点画素と終点画素の輝度差分値を全体差分値として算出する。そして全体差分値が閾値Ａ以下であれば微小振幅などのノイズ部分などとして補正は実行しない。また、閾値Ｂ以上であれば１００％の補正をし、閾値ＡからＢの間であれば、図に示すようにリニアに補正割合ｆを決定する。
【００７１】
上記全体差分値から補正を実行すること決定された場合、次に図１８（ｂ）にあるように、エッジを構成している各差分値のＭＡＸ値を得ることによりエッジ内部の最も急峻なエッジ部分を検出する。そして、そのＭＡＸ値をとる画素を中心に上下方向に補正することによってより自然にエッジを強調することができる。そこでエッジ部分の各画素の隣接差分値によるＭＡＸ値を算出し、そのＭＡＸ値と閾値Ｃ及び閾値ＤによりＭＡＸ差分値による補正割合ｇを決定する。またＭＡＸ値を取る画素を中心としてその隣接複数個の画素をそれぞれ上下方向へ移動させることを決定する。
【００７２】
そして、今度はエッジ内のグラデーション部をつぶすことなく補正するために、図１８（ｃ）にあるように、それぞれの画素の隣接差分値とＭＡＸ差分値の差分値を算出し、閾値Ｅにより補正割合ｈを決定する。このように決定された補間割合ｆ、ｇ、ｈを例えば、（ｆ＋ｇ）＊ｈのように組み合わせることにより全体の輝度値の補正率を決定する。そして、これらの補正率を用いてスケーリングの際の輝度値を変化させた後、スケーリングのためのフィルタ演算を行うことにより、図１６に示すようにエッジ部分を更に急峻に立たせることが可能となる。
【００７３】
<処理の流れ>
図１９は、本実施例の映像処理装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、映像信号を取得する（ステップＳ１９０１）と、取得した映像信号に基づいて映像を構成する各画素が配置されている画像領域の平坦性を算出する（ステップＳ１９０２）。そして、算出された平坦性に応じて、輪郭強調処理を実行する（ステップＳ１９０３）。つづいて、算出された平坦性に応じてスケーリング用のフィルタのタップ数を選択して（ステップＳ１９０４）、選択したタップ数のフィルタにて、輪郭強調補正されたエッジを含む映像に対しスケーリング処理を実行する（ステップＳ１９０５）。
【００７４】
<ハードウェア構成>
図２０は、上記機能的な各構成要件をハードウェアとして実現した際の、映像処理装置装置における構成の一例を表す概略図である。この図を利用してスケーリング処理の前の輪郭強調処理におけるそれぞれのハードウェア構成部の働きについて説明する。この図にあるように、映像処理装置は、実施例１と同様、「ＣＰＵ」（２００１）と、「主メモリ」（２００２）と、「デコーダ」（２００３）と、「ＥＥＰＲＯＭ」（２００４）と、「ＶＲＡＭ」（２００５）を備え、「システムバス」などのデータ通信経路によって相互に接続されている。
【００７５】
ここで、実施例１で説明したような処理により、それぞれの画素に関して平坦性を示す指標となる二次微分値が算出され適用するフィルタのタップ数が選択される。
【００７６】
また、非平坦である画素に関しては、水平方向又は垂直方向に連続する画素の輝度値を取得し、「ＣＰＵ」の演算処理によって連続増加、又は減少の判断処理を行う。そして連続増加（減少）している始点画素と終点画素の輝度差分値を「ＣＰＵ」の演算処理によって算出し全体差分値として「主メモリ」のアドレス１に格納する。そして「ＥＥＰＲＯＭ」に保持されている図１８（ａ）で示すような閾値表ａを利用し、輪郭強調処理を実行するかが判断される。また、その処理を実行する場合、閾値表から第一補正割合ｆが取得され「主メモリ」のアドレス２に格納される。
【００７７】
つづいて、隣接画素ごとの輝度差分値が「ＣＰＵ」の演算処理によって算出されＭＡＸ差分値として「主メモリ」のアドレス３に格納する。そして「ＥＥＰＲＯＭ」に保持されている図１８（ｂ）で示すような閾値表ｂを利用し、ＭＡＸ値と閾値Ｃ及び閾値ＤによりＭＡＸ差分値による第二補正割合ｇが取得され「主メモリ」のアドレス４に格納される。またＭＡＸ値を取る画素を中心としてその隣接複数個の画素の移動方向も決定し、その方向を画素と関連付けて「主メモリ」に格納する。
【００７８】
そして、今度はエッジ内のグラデーション部をつぶすことなく補正するために、それぞれの画素の隣接差分値とＭＡＸ差分値の差分値を「ＣＰＵ」の演算処理により算出する。そして「ＥＥＰＲＯＭ」に保持されている図１８（ｃ）にあるような閾値表ｃを利用して第三補正割合ｈを決定し「主メモリ」のアドレス５に格納する。そして「主メモリ」のアドレス２，４，５に格納されている第一、第二、第三の補間割合ｆ、ｇ、ｈを、例えば、（ｆ＋ｇ）＊ｈの式に代入し「ＣＰＵ」の演算処理によって最終的な補正割合を算出し「主メモリ」のアドレス６に格納する。そしてその補正率を用いてスケーリングの際の輝度値を変化させる処理を実行する、という具合である。
【００７９】
そしてその処理を行った後、実施例１で説明したように平坦性を指標として選択されたタップ数のフィルタを適用し、例えば画素ごとにスケーリング処理が実行される。
【００８０】
<効果の簡単な説明>
以上のように、本実施例の映像処理装置によってスケーリング処理の前に輪郭強調補正を実行することで、スケーリング処理後に発生するリンギングやノイズが輪郭強調処理によって強調される、といった事態の発生を抑えることができる。
【図面の簡単な説明】
【００８１】
【図１】実施例１の映像処理装置によるスケーリング処理の一例を説明するための図
【図２】実施例１の映像処理装置における機能ブロックの一例を表す図
【図３】実施例１の映像処理装置のフィルタリング部で利用されるスケーリング用のフィルタの一例を表す図
【図４】実施例１の映像処理装置における処理の流れの一例を表すフローチャート
【図５】実施例１の映像処理装置における機能ブロックの、別の一例を表す図
【図６】実施例１の映像処理装置における処理の流れの、別の一例を表すフローチャート
【図７】実施例１の映像処理装置における機能ブロックの、さらに別の一例を表す図
【図８】実施例１の映像処理装置における処理の流れの、さらに別の一例を表すフローチャート
【図９】実施例１の映像処理装置におけるハードウェア構成の一例を表す概略図
【図１０】実施例２の映像処理装置における画素の平坦性に応じたフィルタの適用例について説明するための概念図
【図１１】実施例２の映像処理装置における機能ブロックの一例を表す図
【図１２】実施例２の映像処理装置の複数種フィルタ手段での平坦性に応じた複数種のフィルタの適用割合の一例を示す図
【図１３】実施例２の映像処理装置における処理の流れの一例を表すフローチャート
【図１４】実施例２の映像処理装置におけるハードウェア構成の一例を表す概略図
【図１５】実施例２の映像処理装置におけるハードウェア構成の、別の一例を表す概略図
【図１６】実施例３の映像処理装置におけるエッジ部分の輪郭強調処理（エンハンス処理）の一例を説明するための概念図
【図１７】実施例３の映像処理装置における機能ブロックの一例を表す図
【図１８】実施例３の映像処理装置における輪郭補正処理の一例を説明するための概念図
【図１９】実施例３の映像処理装置における処理の流れの一例を表すフローチャート
【図２０】実施例３の映像処理装置におけるハードウェア構成の一例を表す概略図
【符号の説明】
【００８２】
０２００  映像処理装置
０２０１  映像信号取得部
０２０２  平坦性算出部
０２０３  フィルタリング部
【図１】
2008123156.tif 000003
【図２】
2008123156.tif 000004
【図３】
2008123156.tif 000005
【図４】
2008123156.tif 000006
【図５】
2008123156.tif 000007
【図６】
2008123156.tif 000008
【図７】
2008123156.tif 000009
【図８】
2008123156.tif 000010
【図９】
2008123156.tif 000011
【図１０】
2008123156.tif 000012
【図１１】
2008123156.tif 000013
【図１２】
2008123156.tif 000014
【図１３】
2008123156.tif 000015
【図１４】
2008123156.tif 000016
【図１５】
2008123156.tif 000017
【図１６】
2008123156.tif 000018
【図１７】
2008123156.tif 000019
【図１８】
2008123156.tif 000020
【図１９】
2008123156.tif 000021
【図２０】
2008123156.tif 000022