(58)【調査した分野】(Int.Cl.,DB名)
前記空間的近接内にある画像データを調整することが、ノイズの多いピクセルに隣接するピクセルに前記ノイズの多いピクセルの距離、明るさの差及び明るさのうちの少なくとも1つを基礎として加重する値を計算することと、前記ノイズの多いピクセルを前記値に設定することとを含む、請求項1に記載の方法。
前記プロセッサは、前記第1及び第2の色のうちの少なくとも一方の画素を前記第3の色を基礎として修正する前にノイズを除去する、請求項5に記載の画像処理デバイス。
前記プロセッサは、前記第1及び第2の色のうちの少なくとも一方の画素を前記第3の色を基礎として修正した後にノイズを除去する、請求項5に記載の画像処理デバイス。
前記プロセッサは、先行フレームにおけるノイズの多い画素に隣接する画素に前記ノイズの多い画素の距離、明るさの差及び明るさのうちの少なくとも1つを基礎として加重する値を計算し、且つカレントフレームにおける前記ノイズの多い画素を前記値に設定することで前記画像データの時間的なノイズ除去を行うように更に構成されている、請求項5に記載の画像処理デバイス。
前記画像プロセッサが空間的近接内にある画像データを調整することが、ノイズの多いピクセルに隣接するピクセルに前記ノイズの多いピクセルの距離、明るさの差及び明るさのうちの少なくとも1つを基礎として加重する値を計算することと、前記ノイズの多いピクセルを前記値に設定することとを含む、請求項11に記載のビデオカメラ。
前記画像プロセッサは、先行フレームにおけるノイズの多いピクセルを包囲するピクセルに前記ノイズの多いピクセルの距離、明るさの差及び明るさのうちの少なくとも1つを基礎として加重する値を計算することと、前記カレントフレームにおける前記ノイズの多いピクセルを前記値に設定することによって、前記先行フレームを基礎として前記カレントフレームを調整する、請求項11に記載のビデオカメラ。
【発明を実施するための形態】
【0040】
図1は、動画用ビデオカメラのコンテキストで記述された、画像の検出、処理及び圧縮モジュールを有するカメラの概略ブロック図である。ここに開示されている実施形態は、ベイヤパターンフィルタを備える単一のセンサデバイスを有するビデオカメラのコンテキストで記述されているが、その理由は、これらの実施形態が本コンテキストにおいて特定の有用性を有することにある。しかしながら、本図における実施形態及び発明は、異なる画像フォーマットタイプに対して動作し、且つ静止画及び/又は動画用に構成されている他のタイプの画像センサ(例えば、CMY Bayer並びに他の非Bayerパターン)、他の数の画像センサ、を有するカメラへも適用されることが可能である。従って、本明細書に開示されている実施形態は例示的であって非限定的な実施形態であり、よって本明細書に開示される発明は開示されている例示的な実施形態に限定されないことは理解されるべきである。
【0041】
引き続き
図1を参照すると、カメラ10は、システム14を支持するように構成される本体又はハウジング12を含むことが可能であって、システム14は、ビデオ画像データを検出し、処理し、且つ、場合により記憶し且つ/又は再生するように構成される。例えば、システム14は、光学ハードウェア16と、画像センサ18と、画像処理モジュール20と、圧縮モジュール22と、記憶デバイス24とを含んでもよい。場合により、カメラ10は、モニタモジュール26と、再生モジュール28と、ディスプレイ30も含むことが可能である。
【0042】
図2は、カメラ10の非限定的な例示的実施形態を示す。
図2に示されているように、光学ハードウェア16は、その外面が露出されたままの状態でハウジング12によって支持されることが可能である。実施形態によっては、システム14はハウジング12内で支持される。例えば、画像センサ18、画像処理モジュール20及び圧縮モジュール22はハウジング12内に収容されてもよい。記憶デバイス24は、ハウジング12内に搭載されることが可能である。さらに、実施形態によっては、記憶デバイス24はハウジング12の外部に搭載され、且つシステム14の他の部分へ任意タイプの既知のコネクタ又はケーブルを介して接続されることが可能である。さらに、記憶デバイス24は可撓ケーブルでハウジング12へ接続されることが可能であって、記憶デバイス24がハウジング12とは幾分独立して移動されることを許容する。例えば、このような可撓ケーブル接続を使用すれば、記憶デバイス24はユーザのベルトに装着されることが可能であり、ハウジング12の総重量の低減が可能にされる。さらに、実施形態によっては、ハウジングは内部に、且つその外部に搭載された1つ又は複数の記憶デバイス24を含んでもよい。さらに、ハウジング12はモニタモジュール26及び再生モジュール28も支持することができる。さらに、実施形態によっては、ディスプレイ30はハウジング12の外部へ搭載されるように構成されてもよい。
【0043】
光学ハードウェア16は、入ってくる画像を画像センサ18上へ集束するように構成される少なくとも1つのレンズを有するレンズ系の形式であることが可能である。光学ハードウェア16は、場合により、可変性のズーム、口径及び焦点を提供するマルチレンズシステムの形式であることも可能である。さらに、光学ハードウェア16はハウジング12によって支持され且つ複数の異なるタイプのレンズ系を受け入れるように構成されるレンズソケットの形式であることが可能であって、例えば、但し限定的ではなく、光学ハードウェア16は、50〜100ミリメートル(F2.8)のズームレンズ、18〜50ミリメートル(F2.8)のズームレンズ、300ミリメートル(F2.8)レンズ、15ミリメートル(F2.8)レンズ、25ミリメートル(F1.9)レンズ、35ミリメートル(F1.9)レンズ、50ミリメートル(F1.9)レンズ、85ミリメートル(F1.9)レンズ及び/又は他の任意のレンズを含む様々なサイズのレンズ系を受け入れるように構成されるソケットを含む。先に述べたように、光学ハードウェア16は、どのレンズが取り付けられるかに関わらず、画像が画像センサ18の感光表面上へ集束され得るように構成されることが可能である。
【0044】
画像センサ18は、例えば、但し限定的ではなく、CCD、CMOS、Foveon(登録商標)センサ等の縦型積層CMOSデバイス又はプリズムを用いてセンサ間で光を分割するマルチセンサアレイを含む任意タイプのビデオセンシングデバイスであることが可能である。実施形態によっては、画像センサ18は約1200万個の光電池を有するCMOSデバイスを含むことが可能である。しかしながら、他のサイズのセンサも使用されることが可能である。構造によっては、カメラ10は、「2k」(例えば、2048×1152ピクセル)、「4k」(例えば、4,096×2,540ピクセル)、「4.5k」の水平解像度又はこれ以上の水平解像度で映像を出力するように構成されることが可能である。本明細書において、xk(上述の2k及び4k等)の様式で表現されている用語の量「x」は、近似的な水平解像度を指す。従って、解像度「4k」は約4000又はそれ以上の水平ピクセルに相当し、且つ「2k」は約2000又はそれ以上のピクセルに相当する。現時点で市販されているハードウェアを使用すれば、センサは約0.5インチ(8mm)という小型であることが可能であるが、これは約1.0インチ又はそれ以上であってもよい。さらに、画像センサ18は、センサ18の予め決められた部分のみを選択的に出力することにより、可変解像度を提供するように構成されることも可能である。例えば、センサ18及び/又は画像処理モジュールは、ユーザが出力される画像データの解像度を識別できるように構成されてもよい。
【0045】
またカメラ10は、センサ18の出力をダウンサンプリングし、且つ続いてこれを、映像出力を2K、1080p、720p又は他の任意の解像度で生み出すべく処理するように構成されることも可能である。例えば、センサ18からの画像データは「ウィンドウ処理される」ことが可能であって、これにより、出力画像のサイズは縮小され、且つより高い読出し速度が見込まれる。しかしながら、他のサイズのセンサも使用されることが可能である。さらに、カメラ10は、より高い解像度で映像出力を生み出すためにセンサ18の出力をアップサンプリングするように構成されてもよい。
【0046】
図1から
図3までを参照すると、実施形態によっては、センサ18はベイヤパターンフィルタを含むことが可能である。従って、センサ18は、そのチップセット(不図示)によって、画像センサ18の個々の光電池により検出される赤、緑又は青の光の振幅を表現するデータを出力する。
図3は、センサ18のベイヤパターン出力を概略的に図示したものである。実施形態によっては、例えば、
図3に示されているように、ベイヤパターンフィルタは赤要素の数及び青要素の数の2倍数の緑要素を有する。画像センサ18のチップセットは、画像センサの各要素上の電荷を読み取り、これにより値ストリームを周知のRGBフォーマット出力で出力するために使用されることが可能である。
【0047】
続いて
図4を参照すると、画像処理モジュール20は、場合により、画像センサ18からのデータストリームを任意の既知方法でフォーマットするように構成されることが可能である。実施形態によっては、画像処理モジュール20は、緑、赤及び青の画像データを3つ又は4つの別々のデータコンピレーションに分離するように構成されてもよい。例えば、画像処理モジュール20は、赤データを1つのデータエレメントに、青データを1つの青データエレメントに、且つ緑データを1つの緑データエレメントに分離するように構成されてもよい。例えば、
図4を参照すると、画像処理モジュール20は、赤データ処理モジュール32と、青データ画像処理モジュール34と、第1の緑画像データ処理モジュール36とを含んでもよい。
【0048】
しかしながら、先に述べたように、
図3に示されているベイヤパターンデータは他の二色の2倍数である緑のピクセルを有する。
図5は、青と赤のデータを除去して原初の緑の画像データのみを残したデータ成分を示している。
【0049】
実施形態によっては、カメラ10は、緑画像データの幾つかを削除又は除外するように構成されることが可能である。例えば、実施形態によっては、画像処理モジュール20は、緑画像データの合計量が青及び赤画像データの量と同じになるように、緑画像データの1/2を削除するように構成されてもよい。例えば、
図6は、画像処理モジュール20が緑画像データの1/2を削除した後の残りのデータを示している。
図6に示された実施形態では、列n−3、列n−1、列n+1及び列n+3が削除されている。これは、単に、削除されることが可能な緑画像データパターンの一例である。緑画像データは、他のパターン及び他の量で削除されてもよい。
【0050】
代替例によっては、カメラ10は、赤及び青画像データが緑画像データを基礎として変換された後に緑画像データの1/2を削除するように構成されることが可能である。任意選択であるこの技法については、緑画像データ値を他の色の画像データから減算する説明に続いて後述する。
【0051】
場合により、画像処理モジュール20は緑画像データを選択的に削除するように構成されることが可能である。例えば、画像処理モジュール20は、どの緑画像データを削除するかを選択的に決定するように構成される削除分析モジュール(不図示)を含んでもよい。例えば、このような削除モジュールは、緑画像データからの列パターンの削除が結果的にモアレ線等のエリアジングアーティファクト(aliasing artifacts)又は他の視覚的に知覚可能なアーティファクトをもたらすことになるかどうかを判定するように構成されてもよい。削除モジュールはさらに、このようなアーティファクトを生成する危険性が低いと思われる緑画像データパターンの削除を選択するように構成されることも可能である。例えば、削除モジュールは、画像センサ18によって捕捉される画像が複数の平行する水平線を特徴とする画像特徴を含むと判断すれば、縦に交互する欄の緑画像データパターンの削除を選択するように構成されてもよい。この削除パターンは、画像内に検出される水平線に平行する交互する画像データラインの削除パターンから結果的に生じている可能性もあるモアレ線等のアーティファクトを減らすか、又は除去することができる。
【0052】
しかしながら、これは単に、削除モジュールによって使用されることが可能な画像特徴及び削除パターンのタイプの例示的且つ非限定的な一例であるに過ぎない。削除モジュールは、他の画像特徴を検出し且つ例えば、但し限定的ではなく、交互する列、交互する対角線又は他のパターンの削除等の他の画像データ削除パターンを使用するように構成されることも可能である。さらに、削除モジュールは、赤及び青画像データ等の他の画像データの一部又は使用されるセンサのタイプに依存して他の画像データの一部を削除するように構成されてもよい。
【0053】
さらに、カメラ10は、どの画像データが削除されているかを指示するデータフィールドを画像データ内に挿入するように構成されることも可能である。例えば、但し限定的ではなく、カメラ10は、ビデオクリップの「フレーム」の各々においてどのデータが削除されているかを指示するデータフィールドを、記憶デバイス24へ記憶される任意のビデオクリップの初めに挿入するように構成されてもよい。実施形態によっては、カメラは、どの画像データが削除されているかを指示するデータフィールドを画像センサ18によって捕捉される各フレームに挿入するように構成されることが可能である。例えば、画像処理モジュール20が1つの削除パターンで緑画像データの1/2を削除するように構成されている実施形態によっては、データフィールドは画像データが削除されているか否かを示すシングルビットの小さいデータフィールドであってもよい。画像処理モジュール20は、データを1つのパターンでのみ削除するように構成されることから、どのデータが削除されているかを示すことに関してはシングルビットで足りる。
【0054】
実施形態によっては、先に述べたように、画像処理モジュール20は画像データを2つ以上のパターンで選択的に削除するように構成されることが可能である。従って、画像データ削除フィールドは、複数の異なる画像データ削除パターンのうちのどれが使用されたかを示すに足る数の値を含んでより大きくなってもよい。このデータフィールドは、下流側のコンポーネント及び/又はプロセスによって残りの画像データがどの空間的位置に対応するかを決定するために用いられてもよい。
【0055】
実施形態によっては、画像処理モジュールは、例えば
図5に示されているデータである緑の生画像データを全て保持するように構成されることが可能である。このような実施形態では、画像処理モジュールは、1つ又は複数の緑画像データ処理モジュールを含んでもよい。
【0056】
先に述べたように、既知のベイヤパターンフィルタの場合、緑要素は赤要素の数及び青要素の数の2倍数で存在する。言い替えれば、赤要素はベイヤパターンアレイ全体の25%を構成し、青要素はベイヤパターンアレイの25%に相当し且つ緑要素はベイヤパターンアレイの要素の50%を構成している。従って、全ての緑画像データが保持される実施形態によっては、画像処理モジュール20は、第2の緑データ画像処理モジュール38を含むことが可能である。従って、第1の緑データ画像処理モジュール36は緑要素の半分を処理してもよく、且つ第2の緑画像データ処理モジュール38は残りの緑要素を処理してもよい。しかしながら、本発明は、例えば、但し限定的ではなく、CMY及びRGBW等の他のタイプのパターンに関連して使用されてもよい。
【0057】
図7は、モジュール32、34、36及び38(
図4)によって処理される赤、青及び2つの緑データ成分の概略図を含んでいる。これは、これらのモジュールの各々がほぼ同量のデータを扱っていることからそれらのサイズ及び構造がほぼ同一であり得るという理由によって、さらなる優位点を提供することができる。さらに、画像処理モジュール20は、(モジュール36及び38の双方を用いることによって)全ての緑画像データが処理されるモードと、緑画像データの1/2が削除されるモード(この場合、モジュール36及び38のうちの一方だけを利用する)との間で選択的に切り替えられることが可能である。しかしながら、他の構成が使用されることも可能である。
【0058】
さらに、実施形態によっては、画像処理モジュール20は他のモジュールを含むことも可能であり、且つ/又は、例えば、但し限定的ではなく、ガンマ補正プロセス、ノイズフィルタリングプロセス、他等の他のプロセスを実行するように構成されることも可能である。
【0059】
さらに、実施形態によっては、画像処理モジュール20は、緑要素の値を青要素及び/又は赤要素の値から減算するように構成されることが可能である。従って、実施形態によっては、画像センサ18によって所定の色が検出される場合、対応する赤又は青要素はゼロに減らされることが可能である。例えば、多くの写真において、黒、白又はグレーもしくはグレーから赤又は青色へ向かってシフトされる色の広いエリアが存在し得る。従って、画像センサ18の対応するピクセルがグレーのエリアを検出していれば、緑、赤及び青の振幅はほぼ等しくなる。従って、赤及び青の値から緑の値が減算されれば、赤及び青の値はゼロ又は約ゼロに下がる。従って、これに続く圧縮プロセスでは、ピクセルにおいて黒、白又はグレーのエリアを検出するゼロの存在は増加し、よって結果的に得られるデータの圧縮性は高まる。さらに、緑を他の色の一方又は双方から減算することは、結果的に得られる画像データの圧縮性を他の理由からも高めることが可能である。
【0060】
このような技法は、より高い効果的な圧縮比の達成を助け、しかも、その原初の画像データのエントロピーとの関連性に起因して視覚的無損失を保つことが可能である。例えば、画像のエントロピーは、画像におけるランダム性の量に関連づけられる。1つの色の画像データの、例えば他の色の画像データからの減算はランダム性を減らし、よってこれらの色の画像データのエントロピーを減らすことができ、これにより、データは無損失でより高い圧縮比で圧縮されることができるようになる。典型的には、画像はランダムな色の値の集合体ではない。むしろ、周囲の画素間にある程度の相関性が存在する場合が多い。従って、このような減算技法は、画素の相関性を用いてより良い圧縮を達成することができる。圧縮の量は、少なくとも部分的に、画像内の原初の情報のエントロピーに依存する。
【0061】
実施形態によっては、赤又は青ピクセルから減算される振幅は、対象である赤又は青ピクセルに隣接する緑ピクセルから出力される値の大きさである可能性がある。更に、実施形態によっては、赤又は青要素から減算される緑の振幅は、周囲の緑要素の平均から導出されてもよい。このような技法については、後にさらに詳しく説明する。しかしながら、他の技法が用いられることも可能である。
【0062】
場合により、画像処理モジュール20は、緑画像データを他の色から選択的に減算されるように構成されることも可能である。例えば、画像処理モジュール20は、緑画像データを他の色の何れかの画像データの一部から減算することによってより良い圧縮性がもたらされるか否かを決定するように構成されてもよい。このモードでは、画像処理モジュール20は、画像データのどの部分が(例えば緑画像データの減算により)修正されていて、どの部分がこうした修正をされていないか、を指示するフラグを画像データ内に挿入するように構成されてもよい。このようなフラグを用いて、下流側のデモザイク/再構成コンポーネントは、このようなデータフラグのステータスを基礎として、緑画像の値を他の色の画像データへ選択的に戻して追加することができる。
【0063】
場合により、画像処理モジュール20は、例えば、緑の振幅の減算後に赤又は青のデータがゼロに近ければ(例えば、より高い解像度システムに関して0〜255又はこれ以上の振幅範囲の8ビットスケール上で1又は2以内)、赤及び青データの値を丸めるように構成されるさらなるデータ減算モジュール(不図示)を含むことも可能である。例えば、画像センサ18は、0〜4095のスケール上で赤、青及び緑のデータを出力する12ビットセンサであってもよい。丸めモジュールによって実行されるデータの任意の丸め又はフィルタリングは、所望される効果を達成するために調整されることが可能である。例えば、丸めは、無損失の出力を有することが所望されればより少ない程度に、且つ幾分かの損失又は損失性の出力を容認できればより大きい程度に実行されてもよい。丸めの中には、実行されてもなお視覚的に無損失な出力をもたらし得るものがある。例えば、8ビットスケール上では、2又は3までの絶対値を有する赤又は青のデータは0に丸められてもよく、しかもなお視覚的に無損失な出力をもたらす。さらに、12ビットスケール上では、10から20までの絶対値を有する赤又は青のデータは0に丸められてもよく、しかもなお視覚的に無損失な出力をもたらす。
【0064】
さらに、ゼロに丸められる、又は他の値に丸められることが可能であって、しかもなお視覚的に無損失な出力をもたらす値の大きさは、光学ハードウェア16、画像センサ18、画像センサの解像度、画像センサ18の色解像度(ビット)、フィルタリングのタイプ、画像処理モジュール20によって実行されるアンチエイリアシング技法又は他の技法、圧縮モジュール22によって実行される圧縮技法及び/又はカメラ10の他のパラメータ又は特性を含むシステムの環境に依存する。
【0065】
先に述べたように、実施形態によっては、カメラ10は、赤及び青画像データが緑画像データを基礎として変換された後に緑画像データの1/2を削除するように構成されることが可能である。例えば、但し限定的ではなく、画像処理モジュール20は、周囲の緑データ値の大きさの平均が赤及び青のデータ値から減算された後に緑画像データの1/2を削除するように構成されてもよい。緑データのこの減算は、関連ハードウェアに対するスループット要件を低減することができる。さらに、残りの緑画像データは、
図14及び
図16を参照して後にさらに詳しく述べる赤及び青画像データの再構成に使用されることが可能である。
【0066】
先に述べたように、カメラ10は、圧縮モジュール22を含むことも可能である。圧縮モジュール22は別個のチップの形式であってもよく、又はソフトウェア及び別のプロセッサと共に実装されてもよい。例えば、圧縮モジュール22は、JPEG2000標準に準拠する圧縮技法又は他の圧縮技法を実行する市販の圧縮チップの形式であってもよい。
【0067】
圧縮モジュールは、画像処理モジュール20からのデータに対して任意タイプの圧縮プロセスを実行するように構成されることが可能である。実施形態によっては、圧縮モジュール22は、画像処理モジュール20によって実行される技法を利用する圧縮技法を実行する。例えば、先に述べたように、画像処理モジュール20は、緑画像データの大きさを減算することによって赤及び青データの値の大きさを減らすように構成されてもよく、これにより、ゼロ値の数は増加するだけでなく、他の効果も生じる。さらに、画像処理モジュール20は、画像データのエントロピーを用いる生データの操作を実行することができる。従って、圧縮モジュール22によって実行される圧縮技法は、圧縮モジュール22から出力される圧縮データのサイズを縮小するためにより大きいゼロストリングの存在から恩恵を受けるタイプであってもよい。
【0068】
さらに、圧縮モジュール22は、視覚的に無損失な出力をもたらすために画像処理モジュール20からの画像データを圧縮するように構成されることも可能である。例えば、まず、圧縮モジュールは、JPEG2000、MotionJPEG、任意のDCTベースのコーデック、RGB画像データの圧縮用に設計された任意のコーデック、H.264、MPEG4、Huffman又は他の技法等の、但しこれらに限定されない任意の既知の圧縮技法を適用するように構成されてもよい。
【0069】
使用される圧縮技法のタイプに依存して、圧縮技法の様々なパラメータは、視覚的に無損失な出力をもたらすように設定されることが可能である。例えば、上述の圧縮技法の多くは異なる圧縮率に調整されてもよく、この場合、解凍されると、結果として得られる画像は圧縮率が低いほど高品質になり、圧縮率が高いほど低品質になる。従って、圧縮モジュールは、視覚的に無損失な出力をもたらすような方法で画像データを圧縮するように構成されてもよく、若しくは、視覚的に無損失な出力を達成するためにユーザが様々なパラメータを調整できるように構成されてもよい。例えば、圧縮モジュール22は、画像データを約6:1、7:1、8:1又はこれ以上の圧縮比で圧縮するように構成されてもよい。実施形態によっては、圧縮モジュール22は、画像データを12:1又はこれ以上の割合で圧縮するように構成されてもよい。
【0070】
さらに、圧縮モジュール22は、圧縮モジュール22によって達成される圧縮比をユーザが調整できるように構成されることも可能である。例えば、カメラ10は、圧縮モジュール22に圧縮比を変更させるコマンドをユーザが入力できるようにするユーザインタフェースを含んでもよい。従って、実施形態によっては、カメラ10は可変圧縮を提供することができる。
【0071】
本明細書において、「視覚的に無損失」という言い回しは、同じディスプレイデバイス上でオリジナル(圧縮されたことのないもの)画像データと並べて比較された場合に、一般的な当業者は、両画像の視覚的検査だけではどちらの画像がオリジナルであるかを妥当な精度で決定することができないような出力を包含するように意図されている。
【0072】
引き続き
図1を参照すると、カメラ10は、記憶デバイス24も含むことが可能である。記憶デバイスは、例えば、但し限定的ではなく、ハードディスク、フラッシュメモリ又は他の任意タイプのメモリデバイス等の任意タイプのデジタル記憶装置であってもよい。実施形態によっては、記憶デバイス24のサイズは、解像度12メガピクセル、色解像度12ビット及び毎秒60フレームで少なくとも約30分間の映像に対応する圧縮モジュール22からの画像データを記憶するに足るものであってもよい。しかしながら、記憶デバイス24は任意のサイズを有することが可能である。
【0073】
実施形態によっては、記憶デバイス24はハウジング12の外部に搭載されることが可能である。さらに、実施形態によっては、記憶デバイス24は、システム14の他のコンポーネントへ、例えばIEEE1394、USB2.0、IDE、SATA、他を含む、但しこれらに限定されない規格通信ポートを介して接続されることも可能である。さらに、実施形態によっては、記憶デバイス24は、RAIDプロトコルに従って動作する複数のハードドライブを備えることができる。しかしながら、記憶デバイスは任意のタイプの使用が可能である。
【0074】
引き続き
図1を参照すると、先に述べたように、実施形態によっては、本システムは、動作中に画像センサ18によって捕捉されるビデオ画像をユーザが見ることを可能にするように構成されるモニタモジュール26及びディスプレイデバイス30を含むことが可能である。実施形態によっては、画像処理モジュール20は、モニタモジュール26へ低減された解像度の画像データを出力するように構成されるサブサンプリングシステムを含むことが可能である。例えば、このようなサブサンプリングシステムは、2K、1080p、720p又は他の任意の解像度をサポートするビデオ画像データを出力するように構成されてもよい。実施形態によっては、デモザイクするために使用されるフィルタは、ダウンサンプリングとフィルタリングとを同時に実行できるように、ダウンサンプリングフィルタリングも実行するように適合化されてもよい。モニタモジュール26は、画像処理モジュール20からのデータに対して任意タイプのデモザイクプロセスを実行するように構成されてもよい。モニタモジュール26はこの後、デモザイクされた画像データをディスプレイ30へ出力することができる。
【0075】
ディスプレイ30は、任意タイプの監視デバイスであることが可能である。例えば、但し限定的ではなく、ディスプレイ30は、ハウジング12によって支持される4インチLCDパネルであってもよい。例えば、実施形態によっては、ディスプレイ30は、ユーザがディスプレイ30をハウジング12に対する任意の角度で見ることができるようにディスプレイ30がハウジング12との任意の相対位置へ調整されることを可能にすべく構成される無限調整可能なマウントへ接続されてもよい。実施形態によっては、ディスプレイ30はモニタモジュールへ、例えばRGB又はYCCフォーマットのビデオケーブル等の任意タイプのビデオケーブルを介して接続されてもよい。
【0076】
場合により、再生モジュール28は、記憶デバイス24からデータを受信し、画像データを解凍し且つデモザイクし、次いで画像データをディスプレイ30へ出力するように構成されることが可能である。実施形態によっては、モニタモジュール26及び再生モジュール28は、中間ディスプレイコントローラ(不図示)を介してディスプレイへ接続されることが可能である。従って、ディスプレイ30は単一のコネクタでディスプレイコントローラへ接続されることが可能である。ディスプレイコントローラは、モニタモジュール26又は再生モジュール28の何れかからのデータをディスプレイ30へ転送するように構成されることが可能である。
【0077】
図8は、カメラ10による画像データの処理を示すフローチャート50を含む。実施形態によっては、フローチャート50は、記憶デバイス24又はカメラ10内の別の記憶デバイス(不図示)等のメモリデバイスに記憶される制御ルーチンを表すことが可能である。さらに、中央処理装置(CPU)(不図示)は、この制御ルーチンを実行するように構成されることが可能である。フローチャート50に対応する方法に関する以下の説明は、ビデオ画像データの1フレームの処理というコンテキストで記述する。従って、本技法は、単一の静止画の処理に適用されてもよい。これらのプロセスは、例えば12を超えるフレームレート並びに20、23.976、24、30、60及び120のフレームレート又はこれらのフレームレートの間、若しくはこれらを超える他のフレームレートの連続映像処理に適用されることも可能である。
【0078】
引き続き
図8を参照すると、制御ルーチンは動作ブロック52で開始されることが可能である。動作ブロック52において、カメラ10は、センサデータを取得することができる。例えば、
図1を参照すると、ベイヤセンサ及びチップセットを含むことが可能な画像センサ18は画像データを出力することができる。
【0079】
例えば、但し限定的ではなく、
図3を参照すると、画像センサは、その受光表面上にベイヤパターンフィルタを有するCMOSデバイスを備えることが可能である。従って、光学ハードウェア16からの集束された画像は、画像センサ18のCMOSデバイス上のベイヤパターンフィルタ上へ集束される。
図3は、CMOSデバイス上のベイヤパターンフィルタの配置によって生成されるベイヤパターンの一例を示している。
【0080】
図3において、列mはベイヤパターンの左端から4番目の列であり、行nはパターンの上から4番目の行である。残りの列及び行は、列m及び行nとの関連でラベリングされている。しかしながら、この配置は単に例示を目的として任意に選ばれているものであって、本明細書に開示される実施形態又は発明の何れをも限定するものではない。
【0081】
先に述べたように、既知のベイヤパターンフィルタは、青及び赤要素の2倍の緑要素を含む場合が多い。
図5のパターンでは、青要素は行n−3、n−1、n+1及びn+3にのみ現出する。赤要素は、行n−2、n、n+2及びn+4にのみ現出する。しかしながら、緑要素は、赤及び青要素と共に散在されて全ての行及び列内に現出する。
【0082】
従って、動作ブロック52では、画像センサ18から出力される赤、青及び緑の画像データは画像処理モジュール20によって受信され、且つ
図7に示されているもの等の別々の色データ成分に編成されることが可能である。
図7に示されているように、且つ
図4を参照して先に述べたように、画像処理モジュール20は、赤、青及び緑の画像データを4つの別々の成分に分離することができる。
図7は、2つの緑成分(緑1及び緑2)と、1つの青成分と、1つの赤成分とを示している。しかしながらこれは、単に画像センサ18からの画像データを処理する例示的な一方法である。さらに、先に述べたように、画像処理モジュール20は場合により、緑画像データの1/2を任意に、又は選択的に削除することができる。
【0083】
動作ブロック52の後、フローチャート50は動作ブロック54へ進むことができる。動作ブロック56では、画像データはさらに処理されることが可能である。例えば、場合により、結果として生じるデータ(例えば、緑1、緑2、
図9からの青画像データ及び
図10からの赤画像データ)のうちの任意の1つ又は全てがさらに処理されてもよい。
【0084】
例えば、画像データは、別の方法で予強調又は処理されてもよい。実施形態によっては、画像データはより(数学的に)非線形的になるように処理されてもよい。圧縮アルゴリズムの中には、圧縮に先立って画素にこのような線形化を実行することから恩恵を得るものがある。しかしながら、他の技法が用いられることも可能である。例えば、画像データは、事実上何の強調ももたらさない線形曲線で処理されてもよい。
【0085】
実施形態によっては、動作ブロック54は、関数y=x^0.5によって画定される曲線を用いて画像データを処理することができる。実施形態によっては、この曲線は、画像データが、例えば、但し限定的ではなく、正規化された0〜1の範囲内の浮動小数点データであった場合に使用されることが可能である。例えば、画像データが12ビットデータである他の実施形態では、画像は、曲線y=(x/4095)^0.5によって処理されてもよい。さらに、画像データは、y=(x+c)^g等の他の曲線によって処理されてもよい。但し、0.01<g<1、及びcは補正値であって、実施形態によっては0である可能性がある。さらに、例えばy=A*log(B*x+C)の形式の曲線である対数曲線も使用されることが可能である。但し、A、B及びCは所望される結果をもたらすように選ばれる定数である。さらに、上述の曲線及びプロセスは、周知のRec709ガンマ曲線に利用される技法に類似して、黒の近傍により線形的なエリアを与えるように修正されてもよい。これらのプロセスを画像データへ適用する場合、同じプロセスが全ての画像データへ適用されてもよく、又は、異なるプロセスが異なる色の画像データへ適用されてもよい。しかしながら、これらは単に画像データの処理に使用され得る例示的な曲線であり、曲線又は変換も使用されることが可能である。さらに、これらの処理技法は先に述べたもの等の数学的関数を用いて、又はルックアップテーブル(LUT)を用いて適用されてもよい。さらに、異なるプロセス、技法又は変換が異なるタイプの画像データ、画像データの記録中に使用される異なるISO設定、温度(ノイズレベルに影響する可能性がある)、他に対して用いられてもよい。
【0086】
動作ブロック54の後、フローチャート50は動作ブロック56へ進むことができる。動作ブロック56では、赤及び青の画素を変換することができる。例えば、先に述べたように、緑画像データは青及び赤の画像データ成分の各々から減算されることが可能である。実施形態によっては、赤又は青の画像データ値は、赤又は青の画素に隣接する緑画素のうちの少なくとも1つの緑画像データ値を減算することによって変換されてもよい。実施形態によっては、複数の隣接する緑画素のデータ値の平均値が赤又は青の画像データ値から減算されてもよい。例えば、但し限定的ではなく、2つ、3つ、4つ、又はこれ以上の緑画像データ値の平均値が計算され、且つ緑画素の近傍における赤又は青画素から減算されてもよい。
【0087】
例えば、但し限定的ではなく、
図3を参照すると、赤要素R
m−2,n−2の生出力は4つの緑画素G
m−2,n−3、G
m−1,n−2、G
m−3,n−2及びG
m−2,n−1によって囲まれている。従って、赤要素R
m−2,n−2は、下記のように、包囲する緑要素の値の平均を減算することによって変換されることが可能である。
(1) R
m,n = R
m,n − (G
m,n−1 + G
m+1,n + G
m,n+1 + G
m−1,n)/4
【0088】
同様に、青要素も類似方法で、下記のように、包囲する緑要素の平均を減算することによって変換されることが可能である。
(2) B
m+1,n+1 =B
m+1,n+1 − (G
m+1,n + G
m+2,n+1 + G
m+1,n+2 + G
m,n+1)/4
【0089】
図9は、原初の青生データB
m−1,n−1が変換されて新しい値がB’
m−1,n−1としてラベリングされている、結果として得られる青データ成分を示している(図中には成分中の1つの値のみ記入されているが、青要素の全てについて同じ技法を使用できる)。同様に、
図10は、変換された赤要素R
m−2,n−2がR’
m−2,n−2として同定されている、変換された赤データ成分を示している。この状態では、画像データはまだ「生」データとされることが可能である。例えば、データに対して実行される数学的プロセスは、原初の全ての値がこれらのプロセスを逆転させることによって取得され得るように完全に可逆性である。
【0090】
引き続き
図8を参照すると、動作ブロック56の後、フローチャート50は動作ブロック58へ進むことができる。動作ブロック58において、生である、又は略生であり得る、結果として得られるデータは、任意の既知の圧縮アルゴリズムを用いてさらに圧縮されることが可能である。例えば、圧縮モジュール22(
図1)がこのような圧縮アルゴリズムを実行するように構成されてもよい。圧縮の後、圧縮された生データは記憶デバイス24(
図1)に記憶されてもよい。
【0091】
図8Aは、参照数字50’によって同定されたフローチャート50の修正例である。フローチャート50を参照して先に述べたステップの中にはフローチャート50’の対応するステップのうちの幾つかに類似する、又は同じであり得るものがあり、よって同じ参照数字で同定されている。
【0092】
図8Aに示されているように、フローチャート50’は、実施形態によっては場合により動作ブロック54を省くことができる。実施形態によっては、フローチャート50’は、画像データにルックアップテーブルが適用され得る動作ブロック57も含むことができる。例えば、
図11の曲線で表現される任意選択のルックアップテーブルは、さらなる圧縮を強調するために用いられてもよい。実施形態によっては、
図11のルックアップテーブルは緑画素に対してのみ使用される。他の実施形態では、このルックアップテーブルは赤及び青画素にも使用されてもよい。この同じルックアップテーブルは3つの異なる色に対して使用されてもよく、若しくは各色がその固有のルックアップテーブルを有してもよい。さらに、
図11の曲線によって表現されるもの以外のプロセスも適用されることが可能である。
【0093】
画像データを
図8及び
図8Aを参照して先に述べたような方法で処理することにより、画像センサ18からの画像データが6対1又はこれ以上の圧縮比で圧縮されることが可能であり、しかも視覚的に無損失なままであることが発見されている。さらに、画像データは(例えば緑画像データの減算によって)変換されているが、エンドユーザは依然として全ての生画像データを利用できる。例えば、プロセスのうちの所定のものを逆転することにより、全ての、又は略全ての原初の生データは抽出されることが可能であり、よってユーザが望む任意のプロセスを用いてさらに処理され、濾波され且つ/又はデモザイクされることが可能である。
【0094】
例えば、
図12を参照すると、記憶デバイス24に記憶されたデータは解凍されてデモザイクされてもよい。場合により、カメラ10はフローチャート60によって示されている方法を実行するように構成されることが可能である。例えば、但し限定的ではなく、再生モジュール28はフローチャート60によって示されている方法を実行するように構成されてもよい。しかしながら、ユーザは記憶デバイス24からのデータを別個のワークステーションへ転送してフローチャート60の任意の、又は全てのステップ及び/又はオペレーションを適用することもできる。
【0095】
引き続き
図12を参照すると、フローチャート60は動作ブロック62で開始され、記憶デバイス24からのデータが解凍される。例えば、動作ブロック62におけるデータの解凍は、動作ブロック58(
図8)において実行される圧縮アルゴリズムの逆転であってもよい。動作ブロック62の後、フローチャート60は動作ブロック64へ進むことができる。
【0096】
動作ブロック64では、動作ブロック56(
図8)において実行されるプロセスが逆転されることが可能である。例えば、
図11の曲線の逆転、又は
図8及び
図8Aの動作ブロック56を参照して先に述べた他の関数のうちの任意のものの逆転が画像データに適用されてもよい。動作ブロック64の後、フローチャート60はステップ66へ進むことができる。
【0097】
動作ブロック66では、緑画素がデモザイクされることが可能である。例えば、先に述べたように、データ成分緑1及び/又は緑2(
図7)からの全ての値は記憶デバイス24に記憶されることが可能である。例えば、
図5を参照すると、データ成分緑1、緑2からの緑画像データは、画像センサ18によって適用される原初のベイヤパターンに従って配置されてもよい。緑データは次に、例えば線形補間、双線形、他等の任意の既知技法によってさらにデモザイクされてもよい。
【0098】
図13は、全ての生の緑画像データからデモザイクされた緑画像データの例示的な配置を示す。文字G
xで同定された緑画像要素は原初の生(解凍された)画像データを表し、「DG
x」で同定された要素は原初のデータからデモザイクプロセスを介して導出された要素を表す。この命名法は、他の色に対するデモザイクプロセスについての下記の説明に関連して用いられる。
図14は、原初の緑画像データの1/2からデモザイクされた緑画像データの例示的な画像データ配置を示す。
【0099】
引き続き
図12を参照すると、フローチャート60は動作ブロック66の後、動作ブロック68へ進むことができる。動作ブロック68では、デモザイクされた緑画像データはさらに処理されることが可能である。例えば、但し限定的ではなく、ノイズ低減技法が緑画像データへ適用されてもよい。しかしながら、緑画像データへは、アンチエイリアシング技術等の他の任意の画像処理技術も適用されることが可能である。動作ブロック68の後、フローチャート60は動作ブロック70へ進むことができる。
【0100】
動作ブロック70では、赤及び青の画像データがデモザイクされることが可能である。例えば、まず、
図9の青画像データが原初のベイヤパターン(
図15)に従って再配置されてもよい。周囲の要素は、
図16に示されているように、線形補間、双線形、他を含む任意の既知のデモザイク技法を用いて既存の青画像データからデモザイクされてもよい。デモザイクステップの結果として、
図16に示されているように、あらゆるピクセルに青画像データが存在することになる。しかしながら、この青画像データは、
図9の修正された青画像データ、即ち、緑画像データの値が減算された青画像データの値を基礎としてデモザイクされたものである。
【0101】
動作ブロック70は、赤画像データのデモザイクプロセスも含むことが可能である。例えば、
図10からの赤画像データは原初のベイヤパターンに従って再配置され、且つ線形補間、双線形、他等の任意の既知のデモザイクプロセスによってさらにデモザイクされてもよい。
【0102】
動作ブロック70の後、フローチャートは動作ブロック72へ進むことができる。動作ブロック72では、デモザイクされた赤及び青の画像データがデモザイクされた緑画像データから再構築されることが可能である。
【0103】
実施形態によっては、赤及び青の画像データ要素は各々、共通サイトの緑画像要素(同じ列「m」及び行「n」位置における緑画像要素)からの緑値を加算することによって再構築されることが可能である。例えば、デモザイクの後、青画像データは青要素値DB
m−2,n−2を含む。
図3の原初のベイヤパターンは青要素をこの位置に含んでいなかったことから、この青値DB
m−2,n−2は、例えば要素B
m−3,n−3、 B
m−1,n−3、 B
m−3,n−1及びB
m−1,n−1のうちの任意の1つからの青値を基礎として上述のデモザイクプロセスを介して、又は他の任意の技法又は他の青画像要素によって導出されている。先に述べたように、これらの値は動作ブロック54(
図8)において修正されており、よって画像センサ18により検出される原初の青画像データに一致しない。むしろ、これらの値の各々から緑値の平均が減算されていた。従って、結果的に生じる青画像データDB
m−2,n−2も、緑画像データが減算された青データを表している。従って、ある実施形態では、要素DG
m−2,n−2のデモザイクされた緑画像データは青画像値DB
m−2,n−2へ加算されることが可能であり、これにより、再構築された青画像データ値がもたらされる。
【0104】
実施形態によっては、場合により、青及び/又は赤画像データはまず、デモザイクより前に再構築されることが可能である。例えば、変換された青画像データB’
m−1,n−1はまず、周囲の緑要素の平均値を加算することによって再構築されてもよい。これは、原初の青画像データB
m−1,n−1の取得又は再計算に繋がるものと思われる。このプロセスは、全ての青画像データに対して実行されてもよい。続いて、青画像データは任意の既知のデモザイク技法によってさらにデモザイクされてもよい。赤画像データもまた、同じ方法又は類似方法で処理されることが可能である。
【0105】
図12Aは、参照数字60’によって同定されたフローチャート60の修正例である。フローチャート60を参照して先に述べたステップの中にはフローチャート60’の対応するステップのうちの幾つかに類似する、又は同じであり得るものがあり、よって同じ参照数字で同定されている。
【0106】
図12Aに示されているように、フローチャート60’は、動作ブロック62に続いて動作ブロック68’を含むことが可能である。動作ブロック68’では、画像データに対してノイズ低減技法が実行されることが可能である。例えば、但し限定的ではなく、ノイズ低減技法が緑画像データへ適用されてもよい。しかしながら、緑画像データへは、アンチエイリアシング技術等の他の任意の画像処理技術も適用されることが可能である。動作ブロック68’の後、フローチャートは動作ブロック70’へ進むことができる。
【0107】
動作ブロック70’では、画像データがデモザイクされることが可能である。動作ブロック66及び70を参照して先に述べた説明では、緑、赤及び青の画像データは2つのステップでデモザイクされることが可能である。しかしながら、このフローチャート60’では、3色全ての画像データのデモザイクが1つのステップにおいて表される。但し、デモザイクプロセスに上述のものと同じデモザイク技法が用いられてもよい。動作ブロック70’の後、フローチャートは、赤及び青画像データが再構築され得る動作ブロック72へ、及び逆ルックアップテーブルが適用され得る動作ブロック64へと進むことができる。
【0108】
画像データがフローチャート70又は70’の何れか、又は他の任意の適切なプロセスに従って解凍され且つ処理された後、画像データはデモザイクされた画像データとしてさらに処理されることが可能である。
【0109】
赤及び青画像データを再構築する前に緑画像データをデモザイクすることにより、所定のさらなる優位点が達成されることが可能である。例えば、先に述べたように、人間の目は緑光に対する感度がより高い。緑画像データのデモザイク及び処理は、人間の目の感度がそれに対してより高い緑画像値を最適化する。従って、これに続く赤及び青画像データの再構築は、緑画像データの処理によって影響される。
【0110】
さらに、ベイヤパターンは、赤及び青要素の2倍数の緑要素を有する。従って、全ての緑データが保持される実施形態では、緑要素の画像データは赤又は青画像データ要素の2倍存在する。従って、デモザイク技法、フィルタ及び他の画像処理技法は、より良くデモザイクされた鮮明な、又はフィルタリングされた画像をもたらす。これらのデモザイクされた値を用いて赤及び青画像データを再構築し且つデモザイクすることは、原初の緑データのより高い解像度に付随する利点を赤及び青要素の処理、再構成及びデモザイクへと転じる。従って、結果として得られる画像はさらに増強される。
【0111】
図17A〜
図17Bは、ノイズ除去の段階を含む、
図8Aのフローチャート50の修正例を示す。この例示的な方法は、画像処理モジュール20、圧縮モジュール22及び/又はカメラ10の他のコンポーネントによってアクセス可能なプロセスとして記憶されてもよい。フローチャート50を参照して先に述べたステップの中には
図17A〜
図17Bにおけるフローチャートの対応するステップのうちの幾つかに類似する、又は同じであり得るものがあり、よって同じ参照数字で同定されている。
【0112】
図17A〜
図17Bに示されているように、実施形態によっては、動作ブロック170は、画像データにノイズ除去が適用されるものに包含されることが可能である。ノイズ除去ステップは、1ピクセル又は画素におけるノイズ抑制に1つの画像フレームが使用される空間ノイズ除去等のノイズ除去技術を包含することができる。また、動き適応型、半動き適応型又は動き補償型の方法を含む、ノイズ補正用に複数の画像フレームを用いる時間ノイズ除去も使用されることが可能である。さらに、
図17C及び
図18〜
図20を参照して後にさらに詳述するように、他のノイズ除去方法を用いて画像又はビデオ信号からノイズが除去されてもよい。
【0113】
実施形態によっては、動作ブロック170に示されているノイズ除去段階は、動作ブロック58における圧縮の前に発生することが可能である。圧縮に先立ってデータからノイズを除去することは、これが圧縮プロセスの有効性を大幅に向上させ得るという理由で効果的である可能性がある。実施形態によっては、ノイズ除去は動作ブロック58における圧縮プロセスの一部として行われてもよい。
【0114】
図17A〜
図17Bに示されているように、動作ブロック170は、画像データ変換プロセスにおける多くのポイントで発生することが可能である。例えば、ノイズ除去は、ステップ52の後、画像センサからの生画像データに対して変換に先立って適用されても、動作ブロック56における変換の後にベイヤパターンデータに対して適用されてもよい。実施形態によっては、ノイズ除去は、動作ブロック54において発生するデータの予強調(pre-emphasis)の前又は後で適用されてもよい。注目すべきは、予強調の前に行うノイズ除去は、これが知覚的線形データに対してより有効に作用し得るという理由で効果的であり得ることにある。さらに、例示的な実施形態では、緑画像データは、動作ブロック56における赤及び青画素の変換プロセスの間のノイズを最小限に抑えるために、動作ブロック56より前にノイズ除去されることも可能である。
【0115】
図17Cは、画像データからノイズを除去する複数の段階を示すフローチャートを含む。実施形態によっては、本フローチャートは、記憶デバイス24又はカメラ10内の別の記憶デバイス(不図示)等のメモリデバイスに記憶されるノイズ除去ルーチンを表すことが可能である。さらに、中央処理装置(CPU)(不図示)は、このノイズ除去ルーチンを実行するように構成されることが可能である。実施形態に依存して、後述するブロックのうちの所定のものは除去されてもよく、その他のものが追加されてもよく、且つブロックの順序が変更されてもよい。
【0116】
引き続き
図17Cを参照すると、ノイズ除去ルーチンは動作ブロック172で開始されることが可能である。動作ブロック172では、閾値メジアンのノイズ除去が適用される。閾値メジアンノイズ除去は、画像フレーム内でノイズ除去されているカレントピクセルの周囲又は近傍のピクセルを用いてメジアン(又は平均)を計算することを含んでもよい。閾値は、カレントピクセルをメジアンで置換するか否かを決定するために使用されることが可能である。これは、周囲のピクセルより遙かに明るい、又は暗いピクセル等のスパイク状ノイズを除去するために効果的であり得る。緑画素を基礎とする赤及び青画素の変形に先立って緑画素に閾値メジアンノイズ除去が適用される場合、ノイズ除去は大幅に向上されることが可能である。
【0117】
例えば、ある実施形態では、閾値メジアンノイズ除去は、ソーティングアルゴリズムを用いて、例えば適用される欠陥管理アルゴリズム及び時間ノイズによって導入されることがあるアーティファクトを平滑化する3×3メジアンフィルタを使用してもよい。これらのアーティファクトは、概して、ごま塩ノイズ(salt-and-pepper noise)として発現され、且つメジアンフィルタはこの種のノイズを除去するために有益である場合がある。
【0118】
先に述べたように、閾値メジアンノイズ除去において、閾値は、ピクセルが置換されるべきか否かを、ピクセルのメジアン値に対する類似性又は差異を測定する測定基準に依存して決定するために使用されることが可能である。例えば、近傍の緑ピクセルG1及びG2の想定は、これらが同一のサンプルからのものであるかのように扱われてもよい。閾値メジアンノイズ除去は、例示を目的として擬似コードの形式で表現されている下記のアルゴリズムを使用してもよい。
【0119】
差=abs(ガンマ(ピクセル値)−ガンマ(メジアン値))
【0120】
(差<閾値)であれば、ピクセル値を選ぶ。
【0122】
当業者は、閾値メジアンノイズ除去が他のタイプのアルゴリズムを使用する場合があることを認識するであろう。例えば、閾値は、決定される、又は計算される静的値であってもよい。或いは、閾値は、カレントフレームの特性、1つ又は複数の先行フレームの特性、他を基礎として動的に決定され且つ調整されてもよい。
【0123】
ブロック174へ進むと、画像データに空間ノイズ除去が適用される。空間ノイズ除去は、ノイズ除去用の画像又はビデオフレームにおいてカレントピクセルに隣接する(例えば、空間的に近接している)画素を使用することを含んでもよい。実施形態によっては、周囲のピクセルに、カレントピクセルからのそれらの距離、明るさ及びカレントピクセルとの明るさレベルの差を基礎として加重する重み関数が使用されてもよい。これは、画像フレーム内のノイズ除去を大幅に向上させることができる。注目すべきは、空間ノイズ除去は、幾つかの実施形態において、変換された赤、青及び緑ピクセルに対し予強調の後に発生し得ることにある。
【0124】
続くブロック176では、画像データへ時間ノイズ除去が適用される。時間ノイズ除去は、幾つかの画像又はビデオフレームからのデータを用いてカレントフレームからノイズを除去することを含んでもよい。例えば、先行フレーム又は累積フレームを用いてカレントフレームからノイズが除去されてもよい。時間ノイズ除去プロセスは、実施形態によっては、ちらつきを除去するために用いられてもよい。実施形態によっては、先行フレームから正しいピクセル値を決定するために、ピクセルの動きを検出する動作適応型、半動作適応型及び動作補償型の方法が使用されてもよい。
【0125】
図18Aは、閾値メジアンノイズ除去の例示的な一方法のフローチャートの実施形態を示す。この例示的な方法は、画像処理モジュール150及び/又はカメラ10の他のコンポーネントによってアクセス可能なプロセスとして記憶されてもよい。実施形態に依存して、後述するブロックのうちの所定のものは除去されてもよく、その他のものが追加されてもよく、且つブロックの順序が変更されてもよい。
【0126】
ブロック180を始めとして、画像フレーム内のカレントピクセルを包囲するピクセルのメジアン(又は、実施形態によっては平均値)が計算される。ピクセルサンプルは、カメラ10の基礎を成すハードウェアにおける制限を均衡させながらノイズ除去を最適化するために、画像又はビデオフレームから様々なサイズのものが選択されてもよい。例えば、
図18Bは赤及び青データピクセルのサンプルカーネルサイズを示し、
図18Cは緑データピクセルのサンプルサイズを示している。
図18B〜
図18Cの双方において、赤(R)、青(B)及び緑(G1又はG2)の画像データのサンプルサイズは9ポイントである。
【0127】
図18Bが赤及び青ピクセルのメジアンを計算するために使用されるピクセルのパターンを示していることは、注目すべきである。図示されているように、
図18において、赤及び青データに使用されるピクセルのサンプルは正方形形状を保っている。しかしながら、
図18Cにおいて分かるように、緑データに使用されるピクセルのサンプルはダイヤモンド形状を有する。サンプルの形状及びサイズは画像データのフォーマット及び他の制約に依存して異なるものが選択されてもよいことは、注目すべきである。
【0128】
引き続き
図18Aを参照すると、動作ブロック180の後、フローチャートはブロック182へ進む。ブロック182では、カレントピクセルの値がメジアンと比較される。ブロック184へ進んで、カレントピクセルが(例えば、絶対差で)メジアンから閾値を超えて偏向していれば、ブロック186において、カレントピクセルはメジアン値で置換される。しかしながら、ブロック188では、カレントピクセルがメジアンから閾値を超えて偏向していなければ、カレントピクセル値はそのままにされる。
【0129】
実施形態によっては、計算されるメジアン又は閾値の値は、ノイズを除去されているカレントピクセルが暗い領域に存在するか、明るい領域に存在するかに依存して変わる可能性がある。例えば、ピクセル値が線形的な光センサデータに一致していれば、カレントピクセルが明るい領域に存在するか、暗い領域に存在するかを基礎として最終結果が歪まないように、周囲の各ピクセルに重みがかけられてもよい。或いは、閾値は、計算されるメジアン又はカレントピクセルの明るさに依存して選択されてもよい。これにより、ノイズ除去プロセスの間にフレームのシャドー領域におけるピクセルから過剰なノイズが除去されることをなくすことができる。
【0130】
図19Aは、画像又はビデオデータのフレームから空間ノイズを除去する例示的な一方法を示す。この例示的な方法は、画像処理モジュール20、圧縮モジュール22及び/又はカメラ10の他のコンポーネントによってアクセス可能なプロセスとして記憶されてもよい。実施形態に依存して、後述するブロックのうちの所定のものは除去されてもよく、その他のものが追加されてもよく、且つブロックの順序が変更されてもよい。
【0131】
動作ブロック190を始めとして、画像フレーム内で1つのカレントピクセルが選択され、且つ閾値と照合されてそのカレントピクセルがノイズ閾値を超えているかどうかが決定される。熟練者は、カレントピクセルがノイズ閾値を超えているかどうかの決定に際して、
図18Aを参照して述べたもの及び本明細書に記述されている他のものを含む様々な技法が使用され得ることを認識するであろう。
【0132】
続くブロック192では、カレントピクセルに隣接するピクセル集合が選択され、近傍ピクセルに空間関数が適用される。
図19B〜
図19Cは、空間関数への入力として供給するためのデータポイントとして使用されることが可能な周囲の青、赤及び緑ピクセルのサンプル配置を示す。
図19Bには、赤画像データの21個のタップ又はポイントを有するサンプルカーネルが示されている。
図19Bから分かるように、このサンプルは略円形のパターン及び形状を有する。
図19Bに示されているものに類似するポイントのサンプリングが青画素にも使用可能であることは、注目すべきである。
【0133】
図19Cには、カレントピクセルに隣接するデータポイントの緑データによるサンプリングが示されている。図示されているように、本サンプルは、略円形パターンを形成する29個のデータポイントを含む。
図19B〜
図19Cは例示的な実施形態を示したものであり、サンプルとしては、必要とされるノイズ除去の程度及びカメラ10のハードウェア上の制約に依存して他の数のデータポイント及び形状が選択され得ることは、注目すべきである。
【0134】
ブロック192をさらに参照すると、空間関数は、典型的には、ノイズを除去されているカレントピクセルを包囲するピクセルに、カレントピクセルと周囲ピクセルとの間の明るさレベルの差、カレントピクセルの明るさレベル及び周囲ピクセルのカレントピクセルからの距離を基礎として重みをかける。実施形態によっては、カレントピクセルのノイズを除去するために、記述されている3要素(並びに他の要素)のうちの幾つか、又は全てが空間関数によって使用されてもよい。
【0135】
実施形態によっては、近傍ピクセル毎のノイズ除去強度を決定するために、ノイズを除去されているカレントピクセルと各近傍ピクセルとの間の明るさレベルの絶対差が計算されてもよい。或いは、
図19Dに示されているように、バイラテラルフィルタを適用する例示的な重み関数がこの効果を達成するために適用されてもよい。
図19Dでは、カレントピクセルは重み関数へのx入力として与えられ、且つ周囲ピクセルはy入力として与えられている。
図19Dから分かるように、重み関数は、x軸を中心に概して対称性であってもよい。重み関数の右側は、3つの線分を含んでもよい。カレントピクセル及び周囲ピクセルがどの線分に属するかに依存して、重み関数の結果は、3値のうちの1つになる可能性がある。実施形態によっては、重み関数のエンドポイント、(x0,y0)及び(x3,y3)は、各々座標(0,1)及び(1,0)に定められることが可能である。2つの中間点(x1,y1)及び(y2,x2)の座標は、プログラム可能であってもよい。座標の定配置及びプログラム可能な配置の組合せが、計算時間を短縮すると同時に引き続き高精度を与え得ることは、注目すべきである。実施形態によっては、
図19Dの例示的な関数に略類似する特性を有する重み関数も使用されることが可能である。
【0136】
先に述べたように、ノイズを除去されているカレントピクセルの明るさレベルは、カレントピクセルのノイズを除去するために空間関数によって使用されることも可能である。
図19E〜
図19Fは、画像のより暗い領域を考慮して空間ノイズ除去関数を調整するために使用されることが可能な例示的な重み関数を示している。概して、
図19Eに示されている曲線は、関数Y = X
1/3によって表されることが可能である。
図19Fに示されている曲線は、関数:Y =(l/3)
xによって表されることが可能である。
図19E〜
図19Fは共に、ノイズを除去されているピクセルの明るさ(又は絶対明度)を入力xとして受け入れ、加重された明るさの値をyとして出力する。実施形態によっては、略類似の特性を有する曲線族も使用されることが可能である。
【0137】
引き続きブロック192を参照すると、各周囲ピクセルのノイズを除去されているカレントピクセルからの距離は、ノイズ除去効果がどの程度の強度であるかを制御するためにも使用されることが可能である。例示的な実施形態では、共に先に説明されている
図19B〜
図19Cは、近傍ピクセルをそれらのカレントピクセルからの距離を基礎として2つのグループに分離するために使用されることが可能である。近傍ピクセルは、それがどちらのグループに属するかに依存して、空間ノイズ除去関数において所定の重みを与えられてもよい。例えば、カレントピクセルからかなり遠いピクセルは少なく加重されてもよいのに対して、カレントピクセルへより近いピクセルはより重く加重されてもよい。実施形態によっては、距離を基礎として近傍ピクセルを区別化するために、3つ以上のグループが用いられてもよい。
【0138】
続く動作ブロック192では、空間関数は、カレントピクセルと各周囲ピクセルとの間の明るさレベルの差、カレントピクセルの明るさレベル及び各周囲ピクセルのカレントピクセルからの距離を基礎として周囲ピクセルに加重するカレントピクセルのノイズ除去ピクセル値を計算することを終了する。ノイズ除去ピクセル値が計算された後、カレントピクセルはこのノイズ除去ピクセル値に設定される。
【0139】
図20は、ビデオ又は画像データのフレームから時間ノイズを除去する例示的な一方法を示す。この例示的な方法は、画像処理モジュール20、圧縮モジュール22及び/又はカメラ10の他のコンポーネントによってアクセス可能なプロセスとして記憶されてもよい。実施形態に依存して、後述するブロックのうちの所定のものは除去されてもよく、その他のものが追加されてもよく、且つブロックの順序が変更されてもよい。
【0140】
動作ブロック200を始めとして、画像フレーム内で1つのカレントピクセルが選択され、且つ閾値と照合されてそのカレントピクセルがノイズ閾値を超えているかどうかが決定される。熟練者は、カレントピクセルがノイズ閾値を超えているかどうかの決定に際して、
図18Aを参照して述べたもの及び本明細書に記述されている他のものを含む様々な技法が使用され得ることを認識するであろう。
【0141】
ブロック202へ進むと、空間的にノイズ除去されている先行フレームが取得される。例えば、
図19Aのノイズ除去ルーチンが先行フレーム上で実行されると、このフレームが選択されてもよい。或いは、未だノイズ除去が行われていない累積フレーム又は先行フレームが使用されてもよい。
【0142】
続くブロック204では、時間関数が、先行フレームからノイズを除去されているカレントピクセルを包囲するピクセルに、カレントピクセルと周囲ピクセルとの間の明るさレベルの差、カレントピクセルの明るさレベル及び周囲ピクセルのカレントピクセルからの距離を基礎として重みをかける。実施形態によっては、カレントピクセルのノイズを除去するために、記述されている3要素(並びに他の要素)のうちの幾つか、又は全てが時間関数によって使用されてもよい。
【0143】
ブロック204をさらに参照すると、先行フレームにおけるカレントピクセルに隣接するピクセル集合が選択され、これらの近傍ピクセルに時間関数が適用される。先行フレームにおける周囲の青、赤及び緑ピクセルのサンプル配置を示す先に述べた
図19B〜
図19Cは、カレントフレームにおけるノイズを除去されているカレントピクセルに加えて、時間関数におけるデータポイントとして使用されることが可能である。さらに、近傍ピクセル毎にその明るさレベルを基礎としてノイズ除去の強度を決定するための重み関数を示す先に述べた
図19Dも使用されることが可能である。実施形態によっては、先行フレームにおける周囲ピクセルにそのカレントピクセルからの距離を基礎として加重する距離重み関数は、ノイズ除去効果がどの程度の強度であるかを制御するために使用されることが可能である。実施形態によっては、ノイズを除去されているカレントピクセルの明るさレベルも時間関数によって使用されてもよい。
図19E〜
図19Fは、画像のより暗い領域を考慮して時間ノイズ除去関数を調整するために使用されることが可能な例示的な重み関数を示している。他の曲線及び曲線族が使用されてもよいことは、注目すべきである。
【0144】
続く動作ブロック206では、空間関数は、カレントフレーム内のカレントピクセルと各周囲ピクセルとの間の明るさレベルの差、カレントピクセルの明るさレベル及び周囲ピクセルの各カレントピクセルからの距離を基礎として先行フレームからの周囲ピクセルに加重するカレントピクセルのノイズ除去ピクセル値を計算することを終了する。ノイズ除去ピクセル値が計算された後、カレントピクセルはこのノイズ除去ピクセル値に設定されてもよい。