JP2013508853A - 画像信号処理のための時間フィルタリング技術 - Google Patents

画像信号処理のための時間フィルタリング技術 Download PDF

Info

Publication number
JP2013508853A
JP2013508853A JP2012535233A JP2012535233A JP2013508853A JP 2013508853 A JP2013508853 A JP 2013508853A JP 2012535233 A JP2012535233 A JP 2012535233A JP 2012535233 A JP2012535233 A JP 2012535233A JP 2013508853 A JP2013508853 A JP 2013508853A
Authority
JP
Japan
Prior art keywords
value
pixel
color
current pixel
motion
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.)
Granted
Application number
JP2012535233A
Other languages
English (en)
Other versions
JP5643320B2 (ja
Inventor
ガイ コート,
ジェフリー イー. フレデリクセン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US12/582,414 external-priority patent/US8638342B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2013508853A publication Critical patent/JP2013508853A/ja
Application granted granted Critical
Publication of JP5643320B2 publication Critical patent/JP5643320B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Color Television Image Signal Generators (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

撮像素子により取得されたraw画像データを時間フィルタリングする種々の技術が提供される。一実施形態において、時間フィルタは、現画素の空間位置を判定し、先行フレームの同一の場所に配置された少なくとも1つの参照画素を識別する。動きデルタ値は、現画素及び同一の場所に配置された参照画素に少なくとも部分的に基づいて判定される。次に、指標は、動きデルタ値及び現画素の空間位置に対応する先行フレームの動き履歴値に基づいて判定される。第1のフィルタ係数は、その指標を使用して動きテーブルから選択される。第1のフィルタ係数を選択した後、減衰率が現画素の値に基づいてルマテーブルから選択され、第2のフィルタ係数は、選択された減衰率及び第1のフィルタ係数に基づいて判定される。現画素に対応する時間フィルタリング済み出力値は、第2のフィルタ係数、現画素及び同一の場所に配置された参照画素に基づいて算出される。
【選択図】図11

Description

本発明は、一般に、デジタル撮影装置に関し、特に、デジタル撮影装置の撮像素子を使用して取得された画像データを処理するシステム及び方法に関する。本出願は、2009年10月20日に出願された米国一部継続特許出願第12/582414号である。
以下に説明し且つクレームする本発明の技術の種々の態様に関連する可能性のある技術の種々の態様を読み手に紹介することを意図する。この説明は、本発明の種々の態様を理解し易くする背景情報を読み手に提供するのに有用であると考えられる。従って、本明細書は、従来技術の認識としてではなく上述の観点で読まれるものであることが理解されるべきである。
近年、デジタル撮影装置は、少なくとも1つの要因として平均的な消費者にとって益々手頃になってきていることにより普及してきている。更に、現在市販されている多くのスタンドアロンデジタルカメラに加えて、デジタル撮影装置がデスクトップコンピュータ、ノートブックコンピュータ、携帯電話又はポータブルメディアプレーヤ等の別の電子装置の一部として組み込まれることは珍しいことではない。
画像データを取得するために、殆どのデジタル撮影装置は、撮像素子により検出された光を電気信号に変換するように構成された多くの光検出素子(例えば、受光器)を提供する撮像素子を含む。撮像素子は、色情報を撮像するために撮像素子により撮像された光をフィルタリングするカラーフィルタアレイを更に含む。撮像素子により撮像された画像データは、画像処理パイプラインにより処理される。画像処理パイプラインは、モニタ等の表示装置で閲覧するために表示されるフルカラー画像を生成するために多くの種々の画像処理動作を画像データに適用する。
従来の画像処理技術は、一般に閲覧者にとって客観的にも主観的にも満足のいく閲覧可能な画像を生成することを目的とするが、撮影装置及び/又は撮像素子が取り込んだ画像データ中の誤差及び/又は歪みに十分に対応しない可能性がある。例えば、製造欠陥又は動作故障が原因となる撮像素子における欠陥画素は、正確に光強度を検知できず、補正されない場合は、結果として得られる処理済み画像中に発生するアーチファクトとして現れる可能性がある。更にレンズの製造時の不備が原因となる撮像素子のエッジにおける光強度の低下は、特性測定に悪影響を及ぼし、全体の光強度が均一でない画像を結果として与える可能性がある。画像処理パイプラインは、画像を鮮明化するために1つ以上の処理を更に実行する。しかし、従来の鮮明化技術は、画像信号中の既存の雑音を十分に考慮しないか、又は画像中のエッジ及びテクスチャ領域と雑音とを区別できない可能性がある。そのような例において、従来の鮮明化技術は、実際には画像における雑音の発生を増加させてしまい、これは一般的に望ましくない。
撮像素子により撮像された画像データに適用される別の画像処理動作は、デモザイク処理である。一般にカラーフィルタアレイがセンサ画素毎に1つの波長においてカラーデータを提供するため、カラーデータの完全な集合は、一般にフルカラー画像(例えば、RGB画像)を再生するために色チャネル毎に補間される。一般に従来のデモザイク技術は、ある種の固定閾値に従って水平方向又は垂直方向に欠落しているカラーデータに対する値を補間する。しかし、そのような従来のデモザイク技術は、画像内のエッジの方向及び場所を十分に考慮せず、その結果、エイリアシング、チェッカーボードアーチファクト又はレインボーアーチファクト等のエッジアーチファクトが特に画像内の対角線のエッジに沿ってフルカラー画像内に取り込まれてしまうだろう。
従って、結果として得られる画像の見かけを向上するために、デジタルカメラ又は他の撮影装置により取得されたデジタル画像を処理する時には種々の問題に対処しなければならない。特に、以下の本発明の特定の態様は、簡単に上述した欠点の1つ以上に対処する。
本明細書で開示する特定の実施形態の概要を以下に示す。これらの態様は、それら特定の実施形態の簡単な概要を読み手に提供するためにのみ提示され、本発明の範囲を限定することを意図しないことが理解されるべきである。実際には、本発明は、以下に説明しない種々の態様を含む。
本発明は、デジタル撮像素子を使用して取得された画像データを処理する種々の技術を提供する。本発明の態様によると、1つのそのような技術は、撮像素子における欠陥画素の検出及び補正に関連する。一実施形態において、既知の静的欠陥の位置を格納する静的欠陥テーブルが提供される。そのような実施形態では、欠陥が素の補正及び検出は、二段階で行われる。第一段階では、画像処理フレームにおける現画素の位置が、静的欠陥テーブルに格納された情報と比較される。もし現画素の位置が静的欠陥テーブル内で見つかれば、現画素は静的欠陥と識別され、置換値により補正される。置換値は同一色の先行画素の値として選択されても良い。もし現画素が静的欠陥と識別されない場合、第二段階で、現画素と隣接画素のセットとの間の画素間勾配を動的欠陥閾値を用いて比較することにより、現画素が動的欠陥かどうかが判定される。動的欠陥を補正するための置換値は、最小勾配を示す方向における、現画素と反対側の2つの隣接画素の値を補間することにより決定されても良い。
発明の態様によれば、他の画像処理技術は、画像鮮明化のためのマルチスケールのアンシャープマスクの適用に関連する。ある実施形態では、デジタル撮像素子により取得された画像データの輝度画像が最初に取得される。半径が異なる少なくとも2つのガウスフィルタを含むマルチスケールのアンシャープマスクが、複数のアンシャープ値を決定するために輝度画像に対して適用される。各アンシャープ値は対応する閾値と比較されて、各閾値を超えるアンシャープ値は対応するゲインが適用され、増幅されたアンシャープ値が、輝度画像又はいずれかのガウスフィルタの出力から選択されたベース画像に付加される。別の実施形態では、各閾値を超えないアンシャープ値に対して減衰ゲインを適用しても良い。更なる実施形態では、エッジ強調やクロマ抑制のために、鮮明化された画像を更に処理してもよい。
発明の更なる態様によれば、別の画像処理技術は、フルカラー画像を生成するための、デジタル撮像素子で取得した画像データのデモザイク処理に関連する。ある実施形態では、撮像素子はベイヤカラーフィルタアレイを含み、デモザイク処理が得られたベイヤ画像パターンに適用される。そのような実施形態では、垂直及び水平エネルギーを判定するために、各非緑色画素について適応エッジ検出フィルタを使用して失われた緑色値を補間する。開示の実施形態によれば、緑成分、赤成分、及び、青成分は、垂直及び水平エネルギーを判定する際のエッジ検出に役立つ。現在の非緑色画素の補間された緑色値の垂直及び水平成分は、垂直及び水平エネルギーを利用して重み付けされ、重み付け値は補間された緑色値を決定するために合計される。そのような実施形態では、補間された緑色値は失われた赤色及び青色のサンプルを補完するために用いられても良い。
発明のさらに別の態様によれば、レンズシェーディングの不規則性を補正するための技術が提供される。ある実施形態では、現画素の位置が、水平方向及び垂直方向に分散された複数の格子点を有するゲイン格子に対して決定される。もし現画素の位置が格子点に対応する場合、当該格子点と関連するレンズシェーディングゲインが現画素に対して適用される。もし、現画その位置が4つの格子点の間に存在する場合、双線形補間が3つの格子点に対して適用されて、補間済レンズシェーディングゲインが決定される。更なる実施形態では、画像の中心から現画素までの半径距離を判定し、半径距離に現画素の色に基づくグローバルゲインパラメータを掛け合わせることで、径方向のレンズシェーディングゲインが決定される。径方向のレンズシェーディングゲインは、決定されたレンズシェーディング格子ゲイン或いはレンズシェーディング補間済ゲインと共に現画素に適用される。
時間フィルタは、雑像素子を使用して取得されたraw画像データを受信する。時間フィルタは、画素毎に、現在の画素の空間位置を判定し、先行フレームの同一の場所に配置された少なくとも1つの参照画素(例えば、同一の空間位置における)を識別する。動きデルタ値は、現在の画素及び同一の場所に配置された参照画素に少なくとも部分的に基づいて判定される。次に、第1の指標値は、動きデルタ値及び現在の画素の空間位置に対応する先行フレームの動き履歴値に基づいて判定される。第1のフィルタ係数は、第1の指標を使用して動きテーブルから選択される。第1のフィルタ係数を選択した後、減衰率は現在の画素の値(例えば、指標である)に基づいてルマ(luma)テーブルから選択され、その後、第2のフィルタ係数は選択された減衰率及び第1のフィルタ係数に基づいて判定される。現在の画素に対応する空間フィルタリング済み出力値は、第2のフィルタ係数、現在の画素及び同一の場所に配置された参照画素に基づいて算出される。
一実施形態において、raw画像データが複数の色成分を含む場合、色に依存するゲインは、各色チャネル間の信号対雑音比の変動を低減するために利用される。例えば、現在の画素の色に依存して、動きテーブルに対する指標及びルマテーブルに対する指標を判定する前に適切なゲインが現在の画素に適用される。更なる一実施形態において、色に依存する独立した動きテーブル及びルマテーブルは、raw画像データの色毎に提供され、第1のフィルタ係数及び減衰率は、現在の画素の色に依存して現在の色に対応する動きテーブル及びルマテーブルから選択される。
上述した特徴の種々の改良点が本発明の種々の態様に関連して存在する。更なる特徴がそれら種々の態様に取り入れられる。これらの改良点及び追加の特徴は、個々に存在するか又は組み合わされて存在する。例えば、図示する1つ以上の実施形態に関連して以下に説明する種々の特徴は、本発明の上述した態様のいずれかに単独で又はあらゆる組み合わせで取り入れられる。上述した簡単な概要は、請求される主題を限定せず、本発明の実施形態の特定の態様及び状況を読み手に理解させることのみを意図する。
本発明の種々の態様は、以下の詳細な説明を読み且つ図面を参照することにより理解されるだろう。
図1は、本発明において示される1つ以上の画像処理技術を実現するように構成された撮影装置及び画像処理回路網を含む電子装置の一例の構成要素を示す概略ブロック図である。 図2は、図1の撮影装置において実現されるベイヤカラーフィルタアレイの2×2画素ブロックの図形表現を示す図である。 図3は、本発明の態様に従ってラップトップコンピューティングデバイスの形態で図1の電子装置を示す透視図である。 図4は、本発明の態様に従ってデスクトップコンピューティングデバイスの形態で図1の電子装置を示す正面図である。 図5は、本発明の態様に従ってハンドヘルドポータブル電子装置の形態で図1の電子装置を示す正面図である。 図6は、図5に示す電子装置の背面図である。 図7は、本発明の態様に従って図1の画像処理回路網において実現されるフロントエンド画像信号処理(ISP)ロジック部及びISPパイプ処理ロジック部を示すブロック図である。 図8は、本発明の態様に従って図7のISPフロントエンド処理ロジック部の一実施形態を示すより詳細なブロック図である。 図9は、本発明の態様に従って撮像素子により撮像されたソース画像フレーム内で規定される種々の撮像領域を示す図である。 図10は、本発明の態様に従って図8のISPフロントエンド処理ロジック部に示すようなISPフロントエンド画素処理ユニットの一実施形態のより詳細な図を提供するブロック図である。 図11は、一実施形態に従って時間フィルタリングが図10に示すISPフロンエンド画素処理ユニットにより受信された画像画素データに適用される方法を示す処理図である。 図12は、図11に示す時間フィルタリング処理に対する1つ以上のパラメータを判定するために使用される参照画像画素の集合及び対応する現在の画像画素の集合を示す図である。 図13は、一実施形態に従って画像データの集合の現在の画像画素に時間フィルタリングを適用する処理を示すフローチャートである。 図14は、一実施形態に従って図13の現在の画像画素の時間フィルタリングと共に使用する動きデルタ値を算出する技術を示すフローチャートである。 図15は、別の実施形態に従って画像データの色成分毎に種々のゲインを使用することを含む時間フィルタリングを画像データの集合の現在の画像画素に適用する別の処理を示すフローチャートである。 図16は、更なる一実施形態に従って時間フィルタリング技術が図10に示すISPフロントエンド画素処理ユニットにより受信された画像画素データの色成分毎に別個の動きテーブル及びルマテーブルを利用する方法を示す処理図である。 図17は、更なる実施形態に従って図16に示す動きテーブル及びルマテーブルを使用して画像データの集合の現在の画像画素に時間フィルタリングを適用する処理を示すフローチャートである。 図18は、本発明の態様に従って図10のISPフロントエンド画素処理ユニットにおいて実現されるビニング補償フィルタの一実施形態を示すより詳細な図である。 図19は、一実施形態に従って図18のビニング補償フィルタを使用して画像データをスケーリングする処理を示すフローチャートである。 図20は、本発明の態様に従って図8に示すようにISPフロントエンド処理ロジック部において実現される統計処理ユニットの一実施形態を示すより詳細なブロック図である。 図21は、本発明の態様に従って図20の統計処理ユニットによる統計処理中に欠陥画素を検出し且つ補正する技術を適用する時に考慮される種々の画像フレーム境界の例を示す図である。 図22は、一実施形態に従って統計処理中に欠陥画素検出及び補正を実行する処理を示すフローチャートである。 図23は、撮影装置の従来のレンズに対する光強度対画素位置を示す3次元プロファイルを示す図である。 図24は、レンズシェーディングの不規則性の結果として得られる画像にわたる不均一な光強度を示すカラー図である。 図25は、本発明の態様に従ってレンズシェーディング補正領域及びゲイン格子を含むraw撮像フレームを示す図である。 図26は、本発明の態様に従って4つの境界格子ゲイン点により囲まれた画像画素に対するゲイン値の補間を示す図である。 図27は、本技術の一実施形態に従ってレンズシェーディング補正動作中に撮像画素に適用される補間されたゲイン値を判定する処理を示すフローチャートである。 図28は、本発明の態様に従ってレンズシェーディング補正を行う時に図23に示す光強度特性を示す画像に適用される補間されたゲイン値を示す3次元プロファイルである。 図29は、本発明の態様に従ってレンズシェーディング補正動作が適用された後に改善された光強度の均一性を示す図24のカラー図を示す図である。 図30は、一実施形態に従ってレンズシェーディング補正に対する径方向のゲイン成分を判定するために現在の画素と画像の中心との間の半径距離が計算され且つ使用される方法を示す図である。 図31は、本技術の一実施形態に従ってレンズシェーディング補正動作中に撮像画素に適用される合計のゲインを判定するためにゲイン格子の補間されたゲイン及び径方向のゲインが使用される処理を示すフローチャートである。 図32は、本発明の態様に従って図7のISPパイプ処理ロジック部の一実施形態を示すブロック図である。 図33は、本発明の態様に従って図32のISPパイプ処理ロジック部において実現されるraw画素処理ブロックの一実施形態を示すより詳細な図である。 図34は、本発明の態様に従って図33に示すraw画素処理ブロックによる処理中に欠陥画素を検出し且つ補正する技術を適用する時に考慮される種々の画像フレーム境界の例を示す図である。 図35〜図37は、一実施形態に従って図33のraw画素処理ブロックにおいて実行される欠陥画素を検出し且つ補正する種々の処理を示すフローチャートである。 図38は、本発明の態様に従って図33のraw画素処理ロジック部による処理中に緑色不均一性補正技術を適用する時に補間されるベイヤ撮像素子の2×2画素ブロックにおける2つの緑色画素の場所を示す図である。 図39は、本発明の態様に従って雑音除去のために水平フィルタリング処理の一部として使用される中心画素及び関連する水平隣接画素を含む画素の集合を示す図である。 図40は、本発明の態様に従って雑音除去のために垂直フィルタリング処理の一部として使用される中心画素及び関連する垂直隣接画素を含む画素の集合を示す図である。 図41は、フルカラーRGB画像を生成するためにデモザイクがrawベイヤ画像パターンに適用される方法を示す簡略化されたフローチャートである。 図42は、一実施形態に従ってベイヤ画像パターンのデモザイク中に緑色値を補間するために水平エネルギー成分及び垂直エネルギー成分が導出されるベイヤ画像パターンの画素の集合を示す図である。 図43は、本技術の態様に従ってベイヤ画像パターンのデモザイク中に補間された緑色値の水平成分を判定するためにフィルタリングが適用される水平画素の集合を示す図である。 図44は、本技術の態様に従ってベイヤ画像パターンのデモザイク中に補間された緑色値の垂直成分を判定するためにフィルタリングが適用される垂直画素の集合を示す図である。 図45は、本技術の態様に従ってベイヤ画像パターンのデモザイク中に補間された赤色値及び青色値を判定するためにフィルタリングが適用される種々の3×3画素ブロックを示す図である。 図46〜図49は、一実施形態に従ってベイヤ画像パターンのデモザイク中に緑色値、赤色値及び青色値を補間する種々の処理を示すフローチャートである。 図50は、本明細書で開示されるデモザイク技術の態様に従って撮像素子により撮像され且つ処理される元の画像シーンを示すカラー図である。 図51は、図50に示す画像シーンのベイヤ画像パターンを示すカラー図である。 図52は、図51のベイヤ画像パターンに基づいて従来のデモザイク技術を使用して再構成されたRGB画像を示すカラー図である。 図53は、本明細書で開示されたデモザイク技術の態様に従って図51のベイヤ画像パターンから再構成されたRGB画像を示すカラー図である。 図54は、本発明の態様に従って図32のISPパイプ処理ロジック部において実現されるRGB処理ブロックの一実施形態を示す更に詳細な図である。 図55は、本発明の態様に従って図32のISPパイプ処理ロジック部において実現されるYCbCr処理ブロックの一実施形態を示す更に詳細な図である。 図56は、本発明の態様に従って1平面形式を使用してソースバッファ内に規定されるようなルマ及びクロマに対するアクティブソース領域を示す図である。 図57は、本発明の態様に従って2平面形式を使用してソースバッファ内に規定されるようなルマ及びクロマに対するアクティブソース領域を示す図である。 図58は、一実施形態に従って図55に示すようにYCbCr処理ブロックにおいて実現される画像鮮明化ロジック部を示すブロック図である。 図59は、一実施形態に従って図55に示すようにYCbCr処理ブロックにおいて実現されるエッジ強調ロジック部を示すブロック図である。 図60は、本発明の態様に従って鮮明化されたルマ値に対するクロマ減衰率の関係を示すグラフである。 図61は、一実施形態に従って図55に示すようにYCbCr処理ブロックにおいて実現される画像の明るさ、コントラスト及び色(BCC)調整ロジック部を示すブロック図である。 図62は、図61に示すBCC調整ロジック部における色調整中に適用される種々の色相角及び彩度値を規定するYCbCr色空間における色相及び彩度の色相環を示す図である。
本発明の1つ以上の特定の実施形態について以下に説明する。これらの説明される実施形態は、本明細書で開示される技術の例にすぎない。更に、これらの実施形態を簡潔に説明しようとするため、本明細書において実際の一実現例の全ての特徴が説明されない可能性がある。そのようないかなる実際の実現例の開発時にも、どのようなエンジニアリング又は設計プロジェクトとも同様に、実現例毎に異なるシステム関連又はビジネス関連の制約に準拠すること等の開発者の特定の目的を達成するために実現例固有の多くの決定がされる必要があることが理解されるべきである。更にそのような開発努力は、複雑であり且つ時間がかかるが、本発明の利益を有する当業者にとっては設計、組立及び製造の日常的な業務であることが理解されるべきである。
本発明の種々の実施形態の要素を紹介する際、単数形は1つ以上の要素が存在することを意味することを意図する。「備える」、「含む」及び「有する」という用語は、含むことを意図し、列挙した要素以外の追加の要素が存在することを意味する。また、本発明の「一実施形態」に対する参照は、列挙した特徴を取り入れる追加の実施形態の存在を除外するものとして解釈されることを意図しないことが理解されるべきである。
以下に説明するように、本発明は、一般に1つ以上の撮像装置を介して取得された画像データを処理する技術に関する。特に、本発明の特定の態様は、欠陥画素を検出し且つ補正する技術、raw画像パターンをデモザイクする技術、マルチスケールアンシャープマスクを使用して輝度画像を鮮明化する技術及びレンズシェーディングの不規則性を補正するためにレンズシェーディングゲインを適用する技術に関する。更に、本発明で開示される技術は、静止画及び動画(例えば、ビデオ)の双方に適用され、デジタルカメラ、内蔵デジタルカメラを有する電子装置、セキュリティ又はビデオ監視システム及び医療撮影システム等のあらゆる適切な種類の撮像応用例において利用されることが理解されるべきである。
上述の点を考慮すると、図1は、簡単に上述した1つ以上の画像処理技術を使用して画像データの処理を提供する電子装置10の一例を示すブロック図である。電子装置10は、1つ以上の画像検出構成要素を使用して取得されたデータ等の画像データを受信及び処理するように構成されるラップトップコンピュータ、デスクトップコンピュータ、移動電話又はデジタルメディアプレーヤ等のいかなる種類の電子装置であってもよい。単なる例として、電子装置10は、Cupertino、CaliforniaのApple Inc.から市販されているある機種のiPod(登録商標)又はiPhone(登録商標)等のポータブル電子装置である。更に電子装置10は、Apple Inc.から市販されているある機種のMacBook(登録商標)、MacBook(登録商標)Pro、MacBook Air(登録商標)、iMac(登録商標)、Mac(登録商標)Mini又はMac Pro(登録商標)等のデスクトップコンピュータ又はラップトップコンピュータである。他の実施形態において、電子装置10は、画像データを取得及び処理できる別の製造業者のある機種の電子装置である。
その形態に関わらず(例えば、携帯型であっても非携帯型であっても)、電子装置10は、特に欠陥画素補正及び/又は検出技術、レンズシェーディング補正技術、デモザイク技術、あるいは画像鮮明化技術を含む簡単に上述した1つ以上の画像処理技術を使用する画像データの処理を提供することが理解されるべきである。いくつかの実施形態において、電子装置10は、電子装置10のメモリに格納された画像データにそのような画像処理技術を適用する。更なる実施形態において、電子装置10は、上述した1つ以上の画像処理技術を使用して電子装置10により処理される画像データを取得するように構成された内蔵デジタルカメラ又は外部デジタルカメラ等の1つ以上の撮影装置を含む。電子装置10の携帯型の実施形態及び非携帯型の実施形態を示す実施形態について、図3〜図6において以下に更に説明する。
図1に示すように、電子装置10は、装置10の機能に寄与する種々の内部構成要素及び/又は外部構成要素を含む。図1に示す種々の機能ブロックは、ハードウェア要素(回路網を含む)、ソフトウェア要素(コンピュータ可読媒体に格納されたコンピュータコードを含む)又はハードウェア要素及びソフトウェア要素の組み合わせを含むことが当業者には理解されるだろう。例えば本明細書で示される実施形態において、電子装置10は、入出力(I/O)ポート12、入力構造14、1つ以上のプロセッサ16、メモリ素子18、不揮発性記憶装置20、拡張カード22、ネットワーク装置24、電源26及びディスプレイ28を含む。更に電子装置10は、デジタルカメラ等の1つ以上の撮影装置30及び画像処理回路網32を含む。以下に更に説明するように、画像処理回路網32は、画像データを処理する時に上述した1つ以上の画像処理技術を実現するように構成される。理解されるように、画像処理回路網32により処理された画像データは、メモリ18及び/又は不揮発性記憶装置20から検索されるか、あるいは撮影装置30を使用して取得される。
説明を続ける前に、図1に示す装置10のシステムブロック図は、そのような装置10に含まれる種々の構成要素を示す高レベル制御図であることが理解されるべきである。すなわち、図1に示す個々の構成要素間の接続線は、必ずしもデータが装置10の種々の構成要素間を流れるか又は送信される際に通るパス又は方向を表すとは限らない。実際には、以下に説明するように、いくつかの実施形態において、図示するプロセッサ16は、主プロセッサ(例えば、CPU)、並びに専用画像及び/又はビデオプロセッサ等の複数のプロセッサを含む。そのような実施形態において、画像データの処理は主にそれらの専用プロセッサにより対処され、これにより主プロセッサ(CPU)のそのようなタスクの負担が効果的に軽減される。
図1において図示される各構成要素を考慮すると、I/Oポート12は、電源、オーディオ出力装置(例えば、ヘッドセット又はヘッドホン)又は他の電子装置(ハンドヘルド装置及び/又はコンピュータ、プリンタ、プロジェクタ、外部ディスプレイ、モデム及びドッキングステーション等)等の種々の外部装置に接続するように構成されたポートを含む。一実施形態において、I/Oポート12は、画像処理回路網32を使用して処理される画像データを取得するためにデジタルカメラ等の外部撮影装置に接続するように構成される。I/Oポート12は、USB(Universal Serial Bus)ポート、シリアル接続ポート、IEEE1394(FireWire)ポート、Ethernet又はモデムポート、並びに/あるいはAC/DC電源接続ポート等のあらゆる適切なインタフェースの種類をサポートする。
いくつかの実施形態において、特定のI/Oポート12は2つ以上の機能を提供するように構成される。例えば一実施形態において、I/Oポート12は、電子装置10と外部ソースとの間のデータの転送を容易にするように機能するだけでなく、コンセントから電力を提供するように設計された電源アダプタ等の充電インタフェース又は電源26(1つ以上の充電可能なバッテリを含む)を充電するためにデスクトップコンピュータ又はラップトップコンピュータ等の別の電気装置から電力を得るように構成されたインタフェースケーブルに装置10を結合するように機能するApple Inc.の自社開発のポートを含む。従って、I/Oポート12は、例えばI/Oポート12を介して装置10に結合されている外部構成要素に依存してデータ転送ポート及びAC/DC電源接続ポートの2つの機能を果たすように構成される。
入力構造14は、ユーザ入力又はフィードバックをプロセッサ16に提供する。例えば入力構造14は、電子装置10で実行するアプリケーション等の電子装置10の1つ以上の機能を制御するように構成される。例として、入力構造14は、ボタン、スライダ、スイッチ、制御パッド、キー、ノブ、スクロールホイール、キーボード、マウス及びタッチパッド等、あるいはそれらの組み合わせを含む。一実施形態において、入力構造14は、ユーザが装置10に表示されたグラフィカルユーザインタフェース(GUI)をナビゲートできるようにする。更に入力構造14は、ディスプレイ28と共に提供されたタッチセンシティブ機構を含む。そのような実施形態において、ユーザは、タッチセンシティブ機構を介して表示されたインタフェース要素を選択し、あるいはインタフェース要素と対話する。
入力構造14は、種々の装置、回路網、並びにユーザ入力又はフィードバックが1つ以上のプロセッサ16に提供される際の経路を含む。そのような入力構造14は、装置10の機能、装置10で実行するアプリケーション、並びに/あるいは電子装置10に接続されるか又は電子装置10により使用されるあらゆるインタフェース又は装置を制御するように構成される。例えば入力構造14は、ユーザが表示されたユーザインタフェース又はアプリケーションインタフェースをナビゲートできるようにする。入力構造14の例は、ボタン、スライダ、スイッチ、制御パッド、キー、ノブ、スクロールホイール、キーボード、マウス及びタッチパッド等を含む。
特定の実施形態において、入力構造14及び表示装置28は、例えば「タッチスクリーン」の場合に共に提供され、それにより、タッチセンシティブ機構がディスプレイ28と共に提供される。そのような実施形態において、ユーザはタッチセンシティブ機構を介して表示されたインタフェース要素を選択するか、あるいはインタフェース要素と対話する。このように、表示されたインタフェースは対話機能性を提供し、これによりユーザはディスプレイ28に触れることにより表示されたインタフェースをナビゲートできる。例えばディスプレイ26に表示されたユーザ又はアプリケーションインタフェースとの対話等の入力構造14とのユーザ対話により、ユーザ入力を示す電気信号が生成される。これらの入力信号は、更なる処理のために入力ハブ又はデータバス等の適切な経路を介して1つ以上のプロセッサ16にルーティングされる。
入力構造14を介して受信された種々の入力信号の処理に加えて、プロセッサ16は装置10の一般的な動作を制御する。例えばプロセッサ16は、オペレーティングシステム、プログラム、ユーザ及びアプリケーションインタフェース、並びに電子装置10のあらゆる他の機能を実行するための処理能力を提供する。プロセッサ16は、1つ以上の「汎用」マイクロプロセッサ、1つ以上の専用マイクロプロセッサ及び/又は特定用途向けマイクロプロセッサ(ASIC)、あるいはそのような処理構成要素の組み合わせ等の1つ以上のマイクロプロセッサを含む。例えばプロセッサ16は、1つ以上の命令セット(例えば、RISC)プロセッサ並びにグラフィックプロセッサ(GPU)、ビデオプロセッサ、オーディオプロセッサ及び/又は関連するチップセットを含む。理解されるように、プロセッサ16は、装置10の種々の構成要素間でデータ及び命令を転送するために1つ以上のデータバスに結合される。特定の実施形態において、プロセッサ16は、Apple Inc.から市販されているPhoto Booth(登録商標)、Aperture(登録商標)、iPhoto(登録商標)又はPreview(登録商標)、あるいはApple Inc.により提供され且つiPhone(登録商標)において入手可能な「カメラ」及び/又は「写真」アプリケーション等の電子装置10においてイメージングアプリケーションを実行するための処理能力を提供する。
プロセッサ16により処理される命令又はデータは、メモリ素子18等のコンピュータ可読媒体に格納される。メモリ素子18は、ランダムアクセスメモリ(RAM)等の揮発性メモリ又は読み出し専用メモリ(ROM)等の不揮発性メモリ、あるいは1つ以上のRAM及びROM装置の組み合わせとして提供される。メモリ18は、種々の情報を格納し、種々の目的で使用される。例えばメモリ18は、基本入出力システム(BIOS)、オペレーティングシステム、種々のプログラム、アプリケーション、あるいはユーザインタフェース機能及びプロセッサ機能等を含む電子装置10において実行されるあらゆる他のルーチン等の電子装置10に対するファームウェアを格納する。更にメモリ18は、電子装置10の動作中にバッファリング又はキャッシュするために使用される。例えば一実施形態において、メモリ18は、ビデオデータがディスプレイ28に出力されている時にバッファリングするための1つ以上のフレームバッファを含む。
メモリ素子18に加えて、電子装置10はデータ及び/又は命令を固定的に格納するための不揮発性記憶装置20を更に含む。不揮発性記憶装置20は、フラッシュメモリ、ハードドライブ、あるいはあらゆる他の光記憶媒体、磁気記憶媒体及び/又は固体記憶媒体、あるいはそれらの何らかの組み合わせを含む。従って、不揮発性記憶装置20は、理解し易くするために図1において単一の装置として示されるが、プロセッサ16と共に動作する上記で列挙した1つ以上の記憶装置の組み合わせを含む。不揮発性記憶装置20は、ファームウェア、データファイル、画像データ、ソフトウェアプログラム及びアプリケーション、無線接続情報、個人情報、ユーザの好み、並びにあらゆる他の適切なデータを格納するために使用される。本発明の態様によると、不揮発性記憶装置20及び/又はメモリ素子18に格納された画像データは、ディスプレイに出力される前に画像処理回路網32により処理される。
図1に示す実施形態は、1つ以上のカード又は拡張スロットを更に含む。カードスロットは、追加のメモリ、I/O機能性又はネットワーク化機能等の機能性を電子装置10に追加するのに使用される拡張カード22を受け入れるように構成される。そのような拡張カード22は、あらゆる種類の適切なコネクタを介して装置に接続し、電子装置10の筐体の内部又は外部からアクセスされる。例えば一実施形態において、拡張カード22は、セキュアデジタル(SD)カード、miniSD、microSD又はコンパクトフラッシュカード等のフラッシュメモリカードであるか、あるいはPCMCIA装置である。更に拡張カード22は、移動電話機能を提供する電子装置10の一実施形態と共に使用する加入者識別モジュール(SIM)カードであってもよい。
電子装置10はネットワーク装置24を更に含み、ネットワーク装置24は、無線802.11規格、あるいはローカルエリアネットワーク(LAN)、GSMの拡張向け高速データ(EDGE)ネットワーク、3Gデータネットワーク又はインターネット等のワイドエリアネットワーク(WAN)等のあらゆる他の適切なネットワーク化規格を介してネットワーク接続性を提供するネットワークインタフェースカード(NIC)又はネットワークコントローラである。特定の実施形態において、ネットワーク装置24は、Apple Inc.から市販されているiTunes(登録商標)音楽サービス等のオンラインデジタルメディアコンテンツプロバイダに対する接続を提供する。
装置10の電源26は、非ポータブル設定及びポータブル設定で装置10に電力を供給する機能を含む。例えばポータブル設定において、装置10は装置10に電力を供給するためにリチウムイオン電池等の1つ以上のバッテリを含む。バッテリは、装置10をコンセント等の外部電源に接続することにより充電される。非ポータブル設定において、電源26は、コンセントから電力を得て且つデスクトップコンピューティングシステム等の非携帯型電子装置の種々の構成要素に電力を分配するように構成された電源ユニット(PSU)を含む。
以下に更に説明するように、ディスプレイ28は、オペレーティングシステムに対するGUI又は画像処理回路網32により処理された画像データ(静止画及びビデオデータを含む)等の装置10により生成された種々の画像を表示するために使用される。上述したように、画像データは、撮影装置30を使用して取得された画像データ、あるいはメモリ18及び/又は不揮発性記憶装置20から検索された画像データを含む。ディスプレイ28は、例えば液晶ディスプレイ(LCD)、プラズマディスプレイ又は有機発光ダイオード(OLED)ディスプレイ等のあらゆる適切な種類のディスプレイである。更に上述したように、ディスプレイ28は、電子装置10に対する制御インタフェースの一部として機能できる上述したタッチセンシティブ機構(例えば、タッチスクリーン)と共に提供される。
図示する撮影装置30は、静止画及び動画(例えば、ビデオ)の双方を取得するように構成されたデジタルカメラとして提供される。カメラ30は、光を撮像し且つそれを電気信号に変換するように構成された1つ以上の撮像素子及びレンズを含む。単なる例として、撮像素子は、CMOS撮像素子(例えば、CMOS能動画素センサ(APS))又はCCD(電荷結合素子)センサを含む。一般にカメラ30の撮像素子は、各画素が光を検出する受光器を含む画素アレイを有する集積回路を含む。当業者には理解されるように、一般に撮像画素の受光器は、カメラレンズを介して撮像された光の明度を検出する。しかし、受光器は、一般にそれ自体で撮像された光の波長を検出できないため、色情報を判定できない。
従って、撮像素子は、色情報を撮像するために撮像素子の画素アレイと重なり合うか又は画素アレイ上に配設されるカラーフィルタアレイ(CFA)を更に含む。カラーフィルタアレイは小さなカラーフィルタのアレイを含み、各カラーフィルタは、撮像素子の各画素と重なり且つ撮像した光を波長によりフィルタリングする。従って、カラーフィルタアレイ及び受光器は、共に使用される場合、撮像した画像を表すカメラを介して撮像された光に関して波長及び明度情報を提供する。
一実施形態において、カラーフィルタアレイは、ベイヤカラーフィルタアレイを含み、50%が緑色要素であり、25%が赤色要素であり且つ25%が青色要素であるフィルタパターンを提供する。例えば図2は、ベイヤCFAの2×2画素ブロックが2つの緑色要素(Gr及びGb)、1つの赤色要素(R)及び1つの青色要素(B)を含むことを示す。従って、ベイヤカラーフィルタアレイを利用する撮像素子は、緑色波長、赤色波長及び青色波長でカメラ30が受光した光の明度に関する情報を提供し、それにより各画像画素は3色(RGB)のうち1色のみを記録する。「raw画像データ」又は「raw領域」のデータと呼ばれるこの情報は、1つ以上のデモザイク技術を使用して処理され、一般に画素毎に赤色値、緑色値及び青色値の集合を補間することによりraw画像データをフルカラー画像に変換する。以下に更に説明するように、そのようなデモザイク技術は画像処理回路網32により実行される。
上述したように、画像処理回路網32は、欠陥画素検出/補正、レンズシェーディング補正、デモザイク、画像鮮明化、雑音除去、ガンマ補正、画像強調、色空間変換、画像圧縮、クロマサブサンプリング及び画像スケーリング動作等の種々の画像処理ステップを提供する。いくつかの実施形態において、画像処理回路網32は、種々の画像処理ステップの各々を実行するための画像処理「パイプライン」をまとめて形成するロジック部の種々の副構成要素及び/又は別個のユニットを含む。これらの副構成要素は、ハードウェア(例えば、デジタル信号プロセッサ又はASIC)又はソフトウェアを使用して、あるいはハードウェアコンポーネント及びソフトウェアコンポーネントの組み合わせを介して実現される。画像処理回路網32により提供される種々の画像処理動作、特に欠陥画素検出/補正、レンズシェーディング補正、デモザイク及び画像鮮明化に関係する処理動作について、以下に更に詳細に説明する。
説明を続ける前に、以下に説明する種々の処理技術の種々の実施形態はベイヤCFAを利用するが、本明細書で開示する技術はそれに関して限定されること意図しない。実際には、本明細書で提供される画像処理技術は、RGBWフィルタ及びCYGMフィルタ等を含むあらゆる適切な種類のカラーフィルタアレイに適用可能であることが当業者には理解されるだろう。
電子装置10を再度参照すると、図3〜図6は、電子装置10がとる種々の形態を示す。上述したように、電子装置10は、一般に携帯型であるコンピュータ(ラップトップコンピュータ、ノートブックコンピュータ及びタブレットコンピュータ等)並びに一般に非携帯型であるコンピュータ(デスクトップコンピュータ、ワークステーション及び/又はサーバ等)又はハンドヘルドポータブル電子装置(例えばデジタルメディアプレーヤ又は移動電話)等の他の種類の電子装置を含むコンピュータの形態をとる。特に図3及び図4は、ラップトップコンピュータ40及びデスクトップコンピュータ50の形態の電子装置10をそれぞれ示す。図5及び図6は、それぞれハンドヘルドポータブル装置60の形態の電子装置10を示す正面図及び背面図である。
図3に示すように、図示するラップトップコンピュータ40は、筐体42、ディスプレイ28、I/Oポート12及び入力構造14を含む。入力構造14は、筐体42に組み込まれるキーボード及びタッチパッドマウスを含む。更に入力構造14は、例えばコンピュータ40で実行するアプリケーション又はGUIを動作するためにコンピュータの電源を投入するか又はコンピュータを開始するため、並びにコンピュータ40の動作に関連する他の種々の要素(例えば、音量、ディスプレイの明るさ等)を調整するためにコンピュータ40と対話するのに使用される種々の他のボタン及び/又はスイッチを含む。コンピュータ40は、上述したようにFireWire(登録商標)又はUSBポート、高品位マルチメディアインタフェース(HDMI)ポート、あるいは外部装置への接続に適したあらゆる他の種類のポート等の追加の装置に対する接続性を提供する種々のI/Oポート12を更に含む。また、図1を参照して上述したように、コンピュータ40は、ネットワーク接続性(例えば、ネットワーク装置26)、メモリ(例えば、メモリ20)及び記憶機能(例えば、記憶装置22)を含む。
更に、図示する実施形態において、ラップトップコンピュータ40は内蔵撮影装置30(例えば、カメラ)を含む。他の実施形態において、ラップトップコンピュータ40は、内蔵カメラ30の代わりに又は内蔵カメラ30に加えて1つ以上のI/Oポート12に接続された外部カメラ(例えば、外部USBカメラ又は「webcam」)を利用する。例えば外部カメラは、Apple Inc.から市販されているiSight(登録商標)カメラである。カメラ30は、内蔵カメラであっても外部カメラであっても画像の撮像及び記録を提供する。そのような画像は、画像閲覧アプリケーションを使用してユーザにより閲覧されるか、あるいはiChat(登録商標)等のテレビ会議アプリケーション及びApple Inc.から市販されているPhoto Booth(登録商標)、Aperture(登録商標)、iPhoto(登録商標)又はPreview(登録商標)等の画像編集/閲覧アプリケーションを含む他のアプリケーションにより利用される。特定の実施形態において、図示するラップトップコンピュータ40は、Apple Inc.から市販されているある機種のMacBook(登録商標)、MacBook(登録商標)Pro、MacBook Air(登録商標)又はPowerBook(登録商標)である。更に一実施形態において、コンピュータ40は、Apple Inc.から市販されているある機種のiPad(登録商標)タブレットコンピュータ等のポータブルタブレットコンピューティングデバイスである。
図4は、電子装置10がデスクトップコンピュータ50として提供される一実施形態を更に示す。理解されるように、デスクトップコンピュータ50は、一般に図4に示すラップトップコンピュータ40により提供される特徴と類似する多くの特徴を含むが、一般に全体のフォームファクタはより大きい。図示するように、デスクトップコンピュータ50は、ディスプレイ28並びに図1に示したブロック図に関して上述した種々の他の構成要素を含むエンクロージャ42に収納される。更にデスクトップコンピュータ50は、1つ以上のI/Oポート12(例えば、USB)を介してコンピュータ50に結合されるか又はコンピュータ50と無線(例えば、RF、Bluetooth等)で通信する外部キーボード及びマウス(入力構造14)を含む。上述したように、デスクトップコンピュータ50は、内蔵カメラ又は外部カメラである撮影装置30を更に含む。特定の実施形態において、図示するデスクトップコンピュータ50は、Apple Inc.から市販されているある機種のiMac(登録商標)、Mac(登録商標)mini又はMac Pro(登録商標)である。
更に図示するように、ディスプレイ28は、ユーザにより閲覧される種々の画像を生成するように構成される。例えばコンピュータ50の動作中、ディスプレイ28は、ユーザがオペレーティングシステム及び/又はコンピュータ50で実行するアプリケーションと対話できるようにするグラフィカルユーザインタフェース(「GUI」)52を表示する。GUI52は、表示装置28の全体又は一部に表示される種々のレイヤ、ウィンドウ、画面、テンプレート又は他の図形要素を含む。例えば図示する実施形態において、オペレーティングシステムGUI52は種々のグラフィックアイコン54を含み、各アイコンは、ユーザ選択(例えば、キーボード/マウス又はタッチスクリーン入力を介する)が検出されると開かれるか又は実行される種々のアプリケーションに対応する。アイコン54は、ドック56に表示されるか、あるいは画面に表示された1つ以上のグラフィックウィンドウ要素58内に表示される。いくつかの実施形態において、アイコン54の選択により、ある画面が表示されるか、あるいは1つ以上の追加のアイコン又は他のGUI要素を含む別のグラフィックウィンドウが開かれるように、アイコン54の選択により階層ナビゲーション処理を開始する。単なる例として、図4で表示されたオペレーティングシステムGUI52は、Apple Inc.から市販されているあるバージョンのMac OS(登録商標)オペレーティングシステムのものである。
図5及び図6に継続すると、電子装置10は、Apple Inc.から市販されているある機種のiPod(登録商標)又はiPhone(登録商標)であるポータブルハンドヘルド電子装置60の形態で更に示される。図示する実施形態において、ハンドヘルド装置60は、内部構成要素を物理的損傷から保護し且つ電磁妨害から保護するように機能するエンクロージャ42を含む。エンクロージャ42は、プラスチック、金属又は複合材料等のあらゆる適切な材料又は材料の組み合わせから形成され、図5に示すようにエンクロージャ42内に配設される無線通信回路網(例えば、ネットワーク装置24)まで無線ネットワーク信号等の特定の周波数の電磁放射を通過させる。
エンクロージャ42は、ユーザがハンドヘルド装置60とインタフェースする際に介する種々のユーザ入力構造14を更に含む。例えば各入力構造14は、押下された時又は起動された時に1つ以上の各装置を制御するように構成される。例として、1つ以上の入力構造14は、例えばスリープモード、起動モード又は電源オン/オフモードの間で切り換えるため、携帯電話アプリケーションに対する呼び出し音を消すため、音量出力を増加又は低下するために、表示される「ホーム」画面42又はメニューを呼び出すように構成される。図示する入力構造14は単なる例示であること、並びにハンドヘルド装置60はボタン、スイッチ、キー、ノブ及びスクロールホイール等を含む種々の形態で存在する適切なユーザ入力構造をいくつ含んでもよいことが理解されるべきである。
図5に示すように、ハンドヘルド装置60は種々のI/Oポート12を含む。例えば図示するI/Oポート12は、データファイルを送信及び受信するため又は電源26を充電するための自社開発の接続ポート12aと、装置60をオーディオ出力装置(例えば、ヘッドホン又はスピーカ)に接続するためのオーディオ接続ポート12bとを含む。更にハンドヘルド装置60が移動電話機能性を提供する実施形態において、装置60は、加入者識別モジュール(SIM)カード(例えば、拡張カード22)を受け入れるI/Oポート12cを含む。
LCD、OLED又はあらゆる適切な種類のディスプレイである表示装置28は、ハンドヘルド装置60により生成された種々の画像を表示する。例えばディスプレイ28は、電力状態、信号明度及び外部装置接続等のハンドヘルド装置60の1つ以上の状態に関してユーザにフィードバックを提供する種々のシステム標識64を表示する。ディスプレイは、図4を参照して上述したようにユーザが装置60と対話できるようにするGUI52を更に表示する。GUI52は、各アイコン54のユーザ選択の検出時に開かれるか又は実行される種々のアプリケーションに対応するアイコン54等のグラフィック要素を含む。例として、アイコン54の1つは、画像を取得するカメラ30(図5に想像線で示される)と共に使用されるカメラアプリケーション66を表する。図6を参照すると、図5に示すハンドヘルド電子装置60の背面図が示され、カメラ30が筐体42と一体化されており且つハンドヘルド装置60の背面に位置付けられていることを示す。
上述したように、カメラ30を使用して取得された画像データは画像処理回路網32を使用して処理される。画像処理回路網32は、ハードウェア(例えば、エンクロージャ42内に配設された)及び/又は装置60の1つ以上の記憶装置(例えば、メモリ18又は不揮発性記憶装置20)に格納されたソフトウェアを含む。カメラアプリケーション66及びカメラ30を使用して取得された画像は、装置60(例えば、記憶装置20)に格納され、写真閲覧アプリケーション68を使用して後で閲覧される。
ハンドヘルド装置60は、種々のオーディオ入力及び出力要素を含む。例えば一般に図中符号70により示されるオーディオ入出力要素は、1つ以上のマイク等の入力受信機を含む。例えばハンドヘルド装置60が携帯電話機能性を含む場合、入力受信機は、ユーザの声等のユーザオーディオ入力を受信するように構成される。更にオーディオ入出力要素70は、1つ以上の出力送信機を含む。そのような出力送信機は、メディアプレーヤアプリケーション72を使用した音楽データの再生中等にユーザにオーディオ信号を送信するように機能する1つ以上のスピーカを含む。更にハンドヘルド装置60が携帯電話アプリケーションを含む実施形態において、図5に示すように、追加のオーディオ出力送信機74が提供される。オーディオ入出力要素70の出力送信機のように、出力送信機74は、通話中に受信した音声データ等のオーディオ信号をユーザに送信するように構成された1つ以上のスピーカを更に含む。従って、オーディオ入出力要素70及び74は、電話のオーディオ受信及び送信要素として機能するように共に動作する。
電子装置10がとる可能性のある種々の形態に関してある状況を仮定して、本発明はここで図1に示す画像処理回路網32に注目する。上述したように、画像処理回路網32は、ハードウェアコンポーネント及び/又はソフトウェアコンポーネントを使用して実現され、画像信号処理(ISP)パイプラインを規定する種々の処理ユニットを含む。特に以下の説明は、本発明で示す画像処理技術の態様、特に欠陥画素検出/補正技術、レンズシェーディング補正技術、デモザイク技術及び画像鮮明化技術に関連する態様に注目する。
図7を参照すると、本明細書で開示される技術の一実施形態に従って、画像処理回路網32の一部として実現されるいくつかの機能構成要素を示す簡略化された上位レベルのブロック図が示される。特に図7は、少なくとも1つの実施形態に従った画像処理回路網32を介した画像データフローを示す。画像処理回路網32の一般的な概要を提供するために、画像データを処理するためのそれら機能構成要素の動作方法について図7を参照して一般的に説明し、その一方で図示する各機能構成要素及びそれらの各副構成要素について以下に更に詳細に説明する。
図示する実施形態を参照すると、画像処理回路網32は、画像信号処理(ISP)フロントエンド処理ロジック部80、ISPパイプ処理ロジック部82及び制御ロジック部84を含む。撮影装置30により撮像された画像データは、まずISPフロントエンド処理ロジック部80により処理され、ISPパイプ処理ロジック部82及び/又は撮影装置30に対する1つ以上の制御パラメータを判定するために使用される画像統計を撮像するために解析される。ISPフロントエンド処理ロジック部80は、撮像素子入力信号から画像データを撮像するように構成される。例えば図7に示すように、撮影装置30は、1つ以上のレンズ88及び撮像素子90を有するカメラを含む。上述したように、撮像素子90は、カラーフィルタアレイ(例えば、ベイヤフィルタ)を含み、ISPフロントエンド処理ロジック部80により処理されるraw画像データの集合を提供するために撮像素子90の各撮像画素により撮像された光強度及び波長情報の双方を提供する。例えば撮影装置30からの出力92はセンサインタフェース94により受信され、センサインタフェース94は、例えばセンサインタフェースの種類に基づいてraw画像データ96をISPフロントエンド処理ロジック部80に提供する。例として、センサインタフェース94は、SMIA(Standard Mobile Imaging Architecture)インタフェース又はMIPI(Mobile Industry Processor Interface)、あるいはそれらの何らかの組み合わせを利用する。特定の実施形態において、ISPフロントエンド処理ロジック部80は、自身のクロック領域内で動作し、種々のサイズの撮像素子及びタイミングに関する要求をサポートするために同期インタフェースをセンサインタフェース94に提供する。
raw画像データ96は、多くの形式でISPフロントエンド処理ロジック部80に提供され且つ画素毎に処理される。例えば各画像画素は、8、10、12又は14ビットのビット深度を有する。ISPフロントエンド処理ロジック部80は、raw画像データ96に対して1つ以上の画像処理動作を実行し且つ画像データ96に関する統計を収集する。画像処理動作及び統計データの収集は、同一のビット深度精度で実行されるか又は異なるビット深度精度で実行される。例えば一実施形態において、raw画像画素データ96の処理は14ビット精度で実行される。そのような実施形態において、14ビット未満(例えば、8ビット、10ビット、12ビット)のビット深度を有するISPフロントエンド処理ロジック部80により受信されたraw画像データは、画像処理の目的で14ビットにアップサンプリングされる。別の実施形態において、統計処理は8ビット精度で行われ、より大きいビット深度を有するraw画素データは統計の目的で8ビット形式にダウンサンプリングされる。理解されるように、8ビットへのダウンサンプリングは、ハードェウェアサイズ(例えば、面積)を縮小し且つ統計データに対する処理/計算の複雑さを軽減するだろう。更にraw画像データは、統計データが雑音に対してより高いロバスト性を有することができるように空間的に平均される。
更に図7に示すように、ISPフロントエンド処理ロジック部80は、メモリ108から画素データを受信する。例えば図中符号98で示すように、raw画素データはセンサインタフェース94からメモリ108に送出される。その後、メモリ108に常駐するraw画素データは、図中符号100で示すように、処理するためにISPフロントエンド処理ロジック部80に提供される。メモリ108は、メモリ素子18の一部、記憶装置20であるか、あるいは電子装置10内の別個の専用メモリであり且つ直接メモリアクセス(DMA)機能を含む。更に特定の実施形態において、ISPフロントエンド処理ロジック部80は、自身のクロック領域内で動作し、種々のタイミング要求を有する種々のサイズのセンサをサポートするために同期インタフェースをセンサインタフェース94に提供する。
raw画像データ96(センサインタフェース94から)又はraw画像データ100(メモリ108から)を受信すると、ISPフロントエンド処理ロジック部80は、時間フィルタリング及び/又はビニング補償フィルタリング等の1つ以上の画像処理動作を実行する。処理された画像データは、表示される(例えば、表示装置28上に)前に追加の処理を行うためにISPパイプ処理ロジック部82に提供されるか(出力信号109)、あるいはメモリに送出される(出力信号110)。ISPパイプ処理ロジック部82は、「フロントエンド」処理されたデータをISPフロントエンド処理ロジック部80又はメモリ108(入力信号112)から直接受信し、raw領域並びにRGB色空間及びYCbCr色空間の画像データの追加の処理を提供する。ISPパイプ処理ロジック部82により処理された画像データは、ユーザが閲覧するためにディスプレイ28に出力され(信号114)且つ/あるいはグラフィックエンジン又はGPUにより更に処理される。また、ISPパイプ処理ロジック部82からの出力は、メモリ108に送出され(信号115)、ディスプレイ28はメモリ108から画像データを読み出す(信号116)。ある実施形態において、メモリ108は、1つ以上のフレームバッファを実現するように構成される。更にいくつかの実現例において、ISPパイプ処理ロジック部82の出力は、画像データを符号化/復号化する圧縮/伸張エンジン118に更に提供される(信号117)。符号化画像データは格納され、その後、表示装置28に表示される(信号119)前に伸張される。例として圧縮エンジン又は「符号器」118は、静止画を符号化するJPEG圧縮エンジン、ビデオ画像を符号化するH.264圧縮エンジン又はそれらの何らかの組み合わせ、並びに画像データを復号化する対応する伸張エンジンである。ISPパイプ処理ロジック部82において提供される画像処理動作に関する追加の情報については、図32〜図62に関して以下に更に詳細に説明する。尚、ISPパイプ処理ロジック部82は、入力信号112で示すようにメモリ108からraw画像データを更に受信する。
ISPフロントエンド処理ロジック部80により判定された統計データ102は、制御ロジックユニット84に提供される。統計データ102は、例えば自動露出、自動ホワイトバランス、オートフォーカス、フリッカ検出、黒レベル補償(BLC)及びレンズシェーディング補正等に関する撮像素子統計を含む。制御ロジック部84は、受信統計データ102に基づいて撮影装置30に対する制御パラメータ104及びISPパイプ処理ロジック部82に対する制御パラメータ106を判定するように構成される1つ以上のルーチン(例えば、ファームウェア)を実行するように構成されたプロセッサ及び/又はマイクロコントローラを含む。単なる例として、制御パラメータ104は、センサ制御パラメータ(例えば、ゲイン、露出制御の積分時間)、カメラフラッシュ制御パラメータ、レンズ制御パラメータ(例えば、合焦又はズームの焦点距離)又はそのようなパラメータの組み合わせを含む。ISP制御パラメータ106は、自動ホワイトバランス及び色調整(例えば、RGB処理中)に対するゲインレベル及び色補正行列(CCM)係数、並びに以下に説明するようにホワイトポイントバランスパラメータに基づいて判定されるレンズシェーディング補正パラメータを含む。いくつかの実施形態において、制御ロジック部84は、統計データ102の解析に加えて、電子装置10(例えば、メモリ18又は記憶装置20)に格納される履歴統計を更に解析する。
本明細書で示す画像処理回路網32の一般的に複雑な設計のために、以下に示すようにISPフロントエンド処理ロジック部80及びISPパイプ処理ロジック部82の説明を別個の節に分ける方が有効だろう。特に本出願の図8〜図31は、ISPフロントエンド処理ロジック部80の種々の実施形態及び態様の説明に関連し、その一方で、本出願の図32〜図62は、ISPパイプ処理ロジック部82の種々の実施形態及び態様の説明に関連する。
ISPフロントエンド処理ロジック部
図8は、一実施形態に従ってISPフロントエンド処理ロジック部80において実現される機能ロジックブロックを示すより詳細なブロック図である。図7において上述したように、撮影装置30及び/又はセンサインタフェース94の構成に依存して、raw画像データは、1つ以上の撮像素子90によりISPフロントエンド処理ロジック部80に提供される。図示する実施形態において、raw画像データは、第1の撮像素子90a(Sensor0)及び第2の撮像素子90b(Sensor1)によりISPフロントエンド処理ロジック部80に提供される。図示するように、撮像素子90a及び90bは、raw画像データをそれぞれ信号Sif0及びSif1として提供する。撮像素子90a及び90bは、統計処理ユニット120及び122とそれぞれ関連付けられる。
尚、raw画像データSif0及びSif1は、処理ユニット120及び122にそれぞれ直接提供されるか、あるいはメモリ108に格納されるか又は書き込まれた後、信号SifIn0及びSifIn1としてそれぞれ検索される。従って、ISPフロントエンド処理ロジック部80は、Sensor0(90a)により撮像されたraw画像データを表すSif0又はSifIn0信号を統計処理ユニット120に提供する選択ロジック部124を含み、Sensor1(90b)により撮像されたraw画像データを表すSif1又はSifIn1信号を統計処理ユニット122に提供する選択ロジック部126を更に含む。統計処理ユニット120及び122の各々は、raw撮像素子データの解析を介して取得された種々の統計データを判定し、出力信号Stats0及びStats1により示されるように統計の集合をそれぞれ提供する。上述したように、統計データ(Stats0及びStats1)は、撮影装置30及び/又はISPパイプ処理ロジック部82を動作するために使用される種々の制御パラメータの判定のために制御ロジック部84に提供される。
統計処理ユニット120及び122に加えて、ISPフロントエンド処理ロジック部80は画素処理ユニット130を更に含む。画素処理ユニット130は、raw画像データに対して画素毎に種々の画像処理動作を実行する。図示するように、画素処理ユニット130は、選択ロジック部132を介して、raw画像信号Sif0(Sensor0から)又はSif1(Sensor1から)を受信するか、あるいはメモリ108からraw画像データFEProcInを受信する。理解されるように、図8に示す選択ロジックブロック(120、122及び132)は、制御信号に応答して複数の入力信号のうちの1つを選択するマルチプレクサ等のあらゆる適切な種類のロジック部により提供される。画素処理ユニット130は、以下に更に説明するように画素処理動作を実行する時に種々の信号(例えば、時間フィルタリング中に使用される動き履歴及びルマデータを表すRin、Hin、Hout及びYout)を受信及び出力する。画素処理ユニット130の出力109(FEProcOut)は、1つ以上の先入れ先出し(FIFO)キュー等を介してISPパイプ処理ロジック部82に転送されるか、あるいはメモリ108に送出される。
図8のISPフロントエンド処理ロジック部80において示される統計処理及び画素処理動作の更に詳細な説明を続ける前に、種々のISPフレーム領域の既定に関して簡単な概要を提供することにより、本発明の主題をより簡単に理解できるだろう。このことを考慮して、画像ソースフレーム内で規定される種々のフレーム領域を図9に示す。画像処理回路網32に提供されたソースフレームに対する形式は、8、10、12又は14ビット精度の画素形式を利用するのと同様に、上述したタイル又はリニアアドレス指定モードを使用する。図9に示すような画像ソースフレーム150は、センサフレーム領域152、rawフレーム領域154及びアクティブ領域156を含む。一般にセンサフレーム152は、撮像素子90が画像処理回路網32に提供できる最大フレームサイズである。rawフレーム領域154は、ISPフロントエンド処理ロジック部80に送出されるセンサフレーム152の領域として規定される。アクティブ領域156は、一般に特定の画像処理動作のために処理が実行されるrawフレーム領域154内のソースフレーム150の一部として規定される。本技術の実施形態によると、アクティブ領域156は、種々の画像処理動作に対して同一であっても異なってもよい。
本技術の態様によると、ISPフロントエンド処理ロジック部80はrawフレーム154のみを受信する。従って、説明の目的で、ISPフロントエンド処理ロジック部80に対するグローバルフレームサイズは、幅158及び高さ160により判定されるようなrawフレームサイズと仮定される。いくつかの実施形態において、センサフレーム152の境界からrawフレーム154までのオフセットは、制御ロジック部84により判定され且つ/又は維持される。例えば制御ロジック部84は、センサフレーム152に対して特定されるxオフセット162及びyオフセット164等の入力パラメータに基づいてrawフレーム領域154を判定するファームウェアを含む。更にいくつかの例において、ISPフロントエンド処理ロジック部80又はISPパイプ処理ロジック部82内の処理ユニットは、rawフレーム内にあるがアクティブ領域156外にある画素が処理されないように、すなわち変更されないままであるように、規定されたアクティブ領域を有する。例えば幅166及び高さ168を有する特定の処理ユニットに対するアクティブ領域156は、rawフレーム154に対するxオフセット170及びyオフセット172に基づいて規定される。更にアクティブ領域が特に規定されない場合、画像処理回路網32の一実施形態は、アクティブ領域156がrawフレーム154と同一である(例えば、xオフセット170及びyオフセット172は双方とも0である)と仮定する。従って、画像データに対して実行される画像処理動作の目的で、境界条件はrawフレーム154又はアクティブ領域156の境界に対して規定される。
これらの点を考慮して図10を参照すると、ISPフロントエンド画素処理ロジック部130(図8において先に説明した)の更に詳細な図が本技術の一実施形態に従って示される。図示するように、ISPフロントエンド画素処理ロジック部130は、時間フィルタ180及びビニング補償フィルタ182を含む。時間フィルタ180は、入力画像信号Sif0、Sif1又はFEProcInのうちの1つを受信し、いずれかの追加の処理が実行される前にraw画素データに対して動作する。例えば時間フィルタ180は、最初に時間方向に画像フレームを平均することにより雑音を低減するために画像データを処理する。
時間フィルタ180は、動き及び明るさの特性に基づいて画素適応性を有する。例えば画素の動きが多い場合、結果として得られる処理済み画像において「トレーリング」又は「ゴーストアーチファクト」が発生するのを回避するために、フィルタリング明度は低減され、その一方で動きが殆ど又は全く検出されない場合はフィルタリング明度が増加される。更にフィルタリング明度は、明るさのデータ(例えば、「ルマ」)に基づいて調整される。例えば画像の明るさが増加すると、フィルタリングアーチファクトは人の眼でより見えやすくなる。従って、画素が高レベルな明るさを有する場合、フィルタリング明度は更に低減される。
時間フィルタリングを適用する際、時間フィルタ180は、先にフィルタリングされたフレーム又は元のフレームから得られる参照画素データ(Rin)及び動き履歴入力データ(Hin)を受信する。時間フィルタ180は、これらのパラメータを使用して、動き履歴出力データ(Hout)及びフィルタリングされた画素出力(Yout)を提供する。フィルタリングされた画素出力Youtは、ビニング補償フィルタ182に渡される。ビニング補償フィルタ182は、出力信号FEProcOutを生成するためにフィルタリングされた画素出力データYoutに対して1つ以上のスケーリング動作を実行するように構成される。上述したように、処理された画素データFEProcOutは、その後ISPパイプ処理ロジック部82に転送される。
図11を参照すると、図10に示した時間フィルタにより実行される時間フィルタリング処理190を示す処理図が第1の実施形態に従って示される。時間フィルタ180は2タップフィルタを含み、フィルタ係数は、動き及び明るさのデータに少なくとも部分的に基づいて画素毎に適応的に調整される。例えば変数「t」が時間値を示す場合の入力画素x(t)は、フィルタ係数を含む動き履歴テーブル(M)192において動き指標ルックアップテーブルを生成するために先にフィルタリングされたフレーム又は元の先行フレームの参照画素r(t−1)と比較される。更に、動き履歴入力データh(t−1)に基づいて、現在の入力画素x(t)に対応する動き履歴出力h(t)が判定される。
動き履歴出力h(t)及びフィルタ係数Kは、動きデルタd(j,i,t)に基づいて判定され、(j,i)は現在の画素x(j,i,t)の空間位置の座標を表す。動きデルタd(j,i,t)は、水平方向に同一の場所に配置された同一色の3つの画素に対する参照画素と元の画素との間の3つの絶対デルタのうちの最大値を判定することにより計算される。例えば図12を参照すると、元の入力画素206、208及び210に対応するそれぞれ同一の場所に配置された3つの参照画素200、202及び204の空間位置が示される。一実施形態において、動きデルタは、以下の式を使用してそれらの元の画素及び参照画素に基づいて算出される。
動きデルタ値を判定する本技術を示すフローチャートを図14において以下に更に示す。更に上記式1a(及び以下の図14)に示すように動きデルタ値を算出する技術は、動きデルタ値を判定する一実施形態を提供することのみを意図することが理解されるべきである。
他の実施形態において、同一色の画素のアレイは、動きデルタ値を判定するために評価される。例えば動きデルタ値を判定する一実施形態は、式1aで参照される3つの画素に加えて、参照画素206、208及び210並びにそれらに対応する同一の場所に配置された画素の上の2つの行(例えば、ベイヤパターンを仮定するとj−2)と参照画素206、208及び210並びにそれらに対応する同一の場所に配置された画素の下の2つの行(例えば、ベイヤパターンを仮定するとj+2)との同一色の画素の間の絶対デルタを評価することを更に含む。例えば一実施形態において、動きデルタ値は以下のように表される。
従って、式1bで示した実施形態において、動きデルタ値は、現在の画素(208)が同一色の画素の3×3アレイ(例えば、実際には、種々の色の画素がカウントされる場合、ベイヤ色パターンに対して5×5アレイである)の中心に配置されている状態でその3×3アレイの間の絶対デルタを比較することにより判定される。現在の画素(例えば208)がアレイの中心に配置されている同一色の画素のあらゆる適切な2次元アレイ(例えば、同一行の全ての画素を有するアレイ(例えば、式1a)又は同一列の全ての画素を有するアレイ)を含む)は、動きデルタ値を判定するために解析されることが理解されるべきである。更に動きデルタ値が絶対デルタの最大値として判定される(例えば、式1a及び1bに示すように)一方で、他の実施形態において、動きデルタ値は、絶対デルタの平均値又は中央値として選択できる。更に上記技術は、他の種類のカラーフィルタアレイ(例えば、RGBW、CYGM等)に適用され、ベイヤパターン専用であることを意図しない。
図11に戻ると、動きデルタ値が判定された時に、動きテーブル(M)192からフィルタ係数Kを選択するのに使用される動き指標ルックアップは、現在の画素(例えば空間位置(j,i)にある)に対する動きデルタd(t)と動き履歴入力h(t−1)とを合計することにより算出される。例えばフィルタ係数Kは以下のように判定される。
更に動き履歴出力h(t)は、以下の式を使用して判定される。
次に現在の入力画素x(t)の明るさは、ルマテーブル(L)194においてルマ指標ルックアップを生成するために使用される。一実施形態において、ルマテーブルは、0〜1の減衰率を含み、ルマ指標に基づいて選択される。第2のフィルタ係数K'は、以下の式に示すように第1のフィルタ係数Kとルマ減衰率とを乗算することにより算出される。
K'に対して判定された値は、時間フィルタ180に対するフィルタ係数として使用される。上述したように、時間フィルタ180は2タップフィルタである。更に時間フィルタ180は、フィルタリングされた先行フレームを使用する無限インパルス応答(IIR)フィルタとして又は元の先行フレームを使用する有限インパルス応答(FIR)フィルタとして構成される。時間フィルタ180は、現在の入力画素x(t)、参照画素r(t−1)及びフィルタ係数K'を使用し、以下の式を使用してフィルタリング済み出力画素y(t)(Yout)を計算する。
上述したように、図11に示す時間フィルタリング処理190は画素毎に実行される。一実施形態において、同一の動きテーブルM及びルマテーブルLは全ての色成分(例えば、R、G及びB)に対して使用される。更にいくつかの実施形態は、制御ロジック部84からの制御信号に応答するなどして時間フィルタリングを回避するバイパス機構を提供する。更に図16及び図17に関して以下に説明するように、時間フィルタ180の一実施形態は、画像データの色成分毎に別個の動きテーブル及びルマテーブルを利用する。
図11及び図12を参照して説明した時間フィルタリング技術の実施形態は、図13において更によく理解されるだろう。図13は、上述した実施形態に従って方法214を示すフローチャートである。方法214はステップ216で開始し、画像データの現在のフレームの空間位置(j,i)に配置された現在の画素x(t)が時間フィルタリングシステム190により受信される。ステップ218において、画像データの先行フレーム(例えば、現在のフレームの直前の画像フレーム)の同一の場所に配置された1つ以上の参照画素(例えば、r(t−1))に少なくとも部分的に基づいて、動きデルタ値d(t)が現在の画素x(t)に対して判定される。ステップ218における動きデルタ値d(t)を判定する技術は、図14を参照して以下に更に説明され、上記で示したように式1aに従って実行される。
ステップ218の動きデルタ値d(t)が取得されると、ステップ220に示すように、動きテーブルルックアップ指標が動きデルタ値d(t)及び先行フレームの空間位置(j,i)に対応する動き履歴入力値h(t−1)を使用して判定される。更に、図示しないが、現在の画素x(t)に対応する動き履歴値h(t)は、例えば上記の式3aを使用して、動きデルタ値d(t)が認識された後にステップ220において判定される。その後、ステップ222において、第1のフィルタ係数Kは、ステップ220からの動きテーブルルックアップ指標を使用して動きテーブル192から選択される。動きテーブルルックアップ指標の判定及び動きテーブルからの第1のフィルタ係数Kの選択は、上記で示したように式2aに従って実行される。
次にステップ224において、減衰率はルマテーブル194から選択される。例えばルマテーブル194は、約0〜1の範囲の減衰率を含み、減衰率は、現在の画素x(t)の値をルックアップ指標として使用してルマテーブル194から選択される。減衰率が選択されると、上記の式4aで示したように、第2のフィルタ係数K'は選択された減衰率及び第1のフィルタ係数K(ステップ222からの)を使用してステップ226で判定される。その後、ステップ228において、現在の入力画素x(t)に対応する時間フィルタリング済み出力値y(t)は、第2のフィルタ係数K'(ステップ224からの)、同一の場所に配置された参照画素r(t−1)の値及び入力画素x(t)の値に基づいて判定される。例えば一実施形態において、上記で示したように、出力値y(t)は式5aに従って判定される。
図14を参照すると、方法214の動きデルタ値d(t)を判定するステップ218が一実施形態に従って更に詳細に示される。特に動きデルタ値d(t)の判定は、一般に式1aに従って上記で示した動作に対応する。図示するように、ステップ218は、サブステップ232〜238を含む。サブステップ232で開始すると、現在の入力画素x(t)と同一の色値を有する3つの水平隣接画素の集合が識別される。例として、図12に示した実施形態に従って、画像データはベイヤ画像データを含み、3つの水平隣接画素は、現在の入力画素x(t)(208)、現在の入力画素208の左側にある同一色の第2の画素206及び現在の入力画素208の右側にある同一色の第3の画素を含む。
次にサブステップ234において、選択された3つの水平隣接画素206、208及び210の集合に対応する先行フレームの同一の場所に配置された3つの参照画素200、202及び204が識別される。サブステップ236において、選択された画素206、208及び210並びに同一の場所に配置された3つの参照画素200、202及び204を使用して、選択された3つの画素206、208及び210とそれらに対応する同一の場所に配置された参照画素200、202及び204との間の絶対差分値がそれぞれ判定される。次にサブステップ238において、サブステップ236からの3つの差分の最大値は、現在の入力画素x(t)に対する動きデルタ値d(t)として選択される。上述したように、式1aに示した動きデルタ値算出技術を示す図14は、一実施形態を提供することのみを意図する。実際には、上述したように、現在の画素がアレイの中心に置かれた同一色の画素のあらゆる適切な2次元アレイは、動きデルタ値(例えば、式1b)を判定するために使用される。
画像データに時間フィルタリングを適用する技術の別の実施形態を図15に更に示す。例えば画像データの種々の色成分に対する信号対雑音比が異なるため、動きテーブル192から動き値を及びルマテーブル194からルマ値を選択する前に現在の画素が得られるように、あるゲインが現在の画素に適用される。色に依存する各ゲインを適用することにより、信号対雑音比は種々の色成分間でより一定になるだろう。単なる例として、rawベイヤ画像データを使用する一実現例において、一般に赤色チャネル及び青色チャネルは、緑(Gr及びGb)色チャネルより感度が高い。従って、色に依存する適切なゲインを各処理済み画素に適用することにより、一般に色成分間の信号対雑音比の変動は、低減され且つそれにより特にゴーストアーチファクトが低減され、また、自動ホワイトバランスゲインの後の種々の色にわたり一定となるだろう。
このことを考慮すると、図15は、そのような一実施形態に従ってフロントエンド処理ユニット130により受信された画像データに時間フィルタリングを適用する方法240を示すフローチャートを提供する。ステップ242で開始すると、画像データの現在のフレームの空間位置(j,i)に配置された現在の画素x(t)は、時間フィルタリングシステム190により受信される。ステップ244において、動きデルタ値d(t)は、画像データの先行フレーム(例えば、現在のフレームの直前の画像フレーム)の同一の場所に配置された1つ以上の参照画素(例えば、r(t−1))に少なくとも部分的に基づいて現在の画素x(t)に対して判定される。ステップ244は、図13のステップ218に類似し、上記の式1で表された動作を利用する。
次のステップ246において、動きテーブルルックアップ指標は、動きデルタ値d(t)、先行フレームの空間位置(j,i)に対応する(例えば、同一の場所に配置された参照画素r(t−1)に対応する)動き履歴入力値h(t−1)及び現在の画素の色と関連付けられたゲインを使用して判定される。その後、ステップ248において、第1のフィルタ係数Kは、ステップ246で判定された動きテーブルルックアップ指標を使用して動きテーブル192から選択される。単なる例として、一実施形態において、フィルタ係数K及び動きテーブルルックアップ指標は以下のように判定される。
式中、Mは動きテーブルを表し、gain[c]は現在の画素の色と関連付けられたゲインに対応する。更に図15には示さないが、現在の画素に対する動き履歴出力値h(t)が判定され、後続画像フレーム(例えば、次のフレーム)の同一の場所に配置された画素に時間フィルタリングを適用するために使用されることが理解されるべきである。本実施形態において、現在の画素x(t)に対する動き履歴出力h(t)は、以下の式を使用して判定される。
次のステップ250において、減衰率は、現在の画素x(t)の色と関連付けられたゲイン(gain「c」)に基づいて判定されたルマテーブルルックアップ指標を使用してルマテーブル194から選択される。上述したように、ルマテーブルに格納された減衰率は約0〜1の範囲を有する。その後、ステップ252において、第2のフィルタ係数K'は減衰率(ステップ250からの)及び第1のフィルタ係数K(ステップ248からの)に基づいて算出される。単なる例として、一実施形態において、第2のフィルタ係数K'及びルマテーブルルックアップ指標は以下のように判定される。
次のステップ254において、現在の入力画素x(t)に対応する時間フィルタリング済み出力値y(t)は、第2のフィルタ係数K'(ステップ252からの)、同一の場所に配置された参照画素r(t−1)の値及び入力画素x(t)の値に基づいて判定される。例えば一実施形態において、出力値y(t)は以下のように判定される。
図16に継続すると、時間フィルタリング処理260の更なる一実施形態が示される。ここで、時間フィルタリング処理260は、色に依存するゲイン(例えば、gain[c])を各入力画素に適用し且つ共有の動きテーブル及びルマテーブルを使用する代わりに別個の動きテーブル及びルマテーブルが色成分毎に提供されることを除いて、図15で説明した実施形態と同様の方法で達成される。例えば図16に示すように、動きテーブル192は、第1の色に対応する動きテーブル192a、第2の色に対応する動きテーブル192b及び第nの色に対応する動きテーブル192cを含む。nは、raw画像データに存在する色の数に依存する。同様に、ルマテーブル194は、第1の色に対応するルマテーブル194a、第2の色に対応するルマテーブル194b及び第nの色に対応するルマテーブル194cを含む。従って、raw画像データがベイヤ画像データである一実施形態において、3つの動きテーブル及びルマテーブルが赤色成分、青色成分及び緑色成分の各々に対して提供される。以下に説明するように、フィルタ係数K及び減衰率の選択は、現在の色(例えば、現在の入力画素の色)に対して選択された動きテーブル及びルマテーブルに依存する。
色に依存する動きテーブル及びルマテーブルを使用する時間フィルタリングに対する更なる一実施形態を示す方法270を図17に示す。理解されるように、方法270により採用される種々の計算及び式は、図13に示す実施形態に類似して特定の動きテーブル及びルマテーブルが色毎に選択されるか、あるいは図15に示す実施形態に類似して色に依存するgain[c]の使用を色に依存する動きテーブル及びルマテーブルの選択と置換する。
ステップ272で開始すると、画像データの現在のフレームの空間位置(j,i)に配置された現在の画素x(t)は時間フィルタリングシステム260(図16)により受信される。ステップ274において、画像データの先行フレーム(例えば、現在のフレームの直前の画像フレーム)の同一の場所に配置された1つ以上の参照画素(例えば、r(t−1))に少なくとも部分的に基づいて、動きデルタ値d(t)が現在の画素x(t)に対して判定される。ステップ274は、図13のステップ218に類似し、上記の式1に示した演算を利用する。
次にステップ276において、動きテーブルルックアップ指標は、先行フレームの空間位置(j,i)に対応する(例えば、同一の場所に配置された参照画素r(t−1)に対応する)動き履歴入力値h(t−1)及び動きデルタ値d(t)を使用して判定される。その後、ステップ278において、第1のフィルタ係数Kは、現在の入力画素の色に基づいて利用可能な動きテーブル(例えば、192a、192b、192c)のうちの1つから選択される。例えば適切な動きテーブルが識別されると、第1のフィルタ係数Kは、ステップ276で判定された動きテーブルルックアップ指標を使用して選択される。
第1のフィルタ係数Kを選択した後、ステップ280に示すように、現在の色に対応するルマテーブルが選択され、減衰率が選択されたルマテーブルから現在の画素x(t)の値に基づいて選択される。その後、ステップ282において、第2のフィルタ係数K'は、減衰率(ステップ280からの)及び第1のフィルタ係数K(ステップ278)に基づいて判定される。次のステップ284において、現在の入力画素x(t)に対応する時間フィルタリング済み出力値y(t)は、第2のフィルタ係数K'(ステップ282からの)、同一の場所に配置された参照画素r(t−1)の値及び入力画素x(t)の値に基づいて判定される。図17に示した技術は、実現するのによりコストがかかる可能性がある(例えば、追加の動きテーブル及びルマテーブルを格納するのに必要とされるメモリのために)が、いくつかの例において、自動ホワイトバランスゲインの後の種々の色にわたる一貫性及びゴーストアーチファクトに関する更なる改善を提供する可能性がある。
更なる実施形態によると、時間フィルタ180により提供された時間フィルタリング処理は、時間フィルタリングを入力画素に適用するために色に依存するゲイン並びに色別の動きテーブル及び/又はルマテーブルの組み合わせを利用する。例えばそのような一実施形態において、単一の動きテーブルが全ての色成分に対して提供され、動きテーブルから第1のフィルタ係数(K)を選択するための動きテーブルルックアップ指標が色に依存するゲインに基づいて判定される(例えば、図15のステップ246及び248に示すように)。その一方で、ルマテーブルルックアップ指標は、色に依存するゲインを適用されていない可能性があるが、現在の入力画素の色に従って複数のルマテーブルのうちの1つから明るさの減衰率を選択するために使用される(図17のステップ280に示すように)。あるいは別の実施形態において、複数の動きテーブルが提供され、動きテーブルルックアップ指標(色に依存するゲインが適用されていない)は現在の入力画素の色に対応する動きテーブルから第1のフィルタ係数(K)を選択するために使用され(例えば、図17のステップ278に示すように)、その一方で、単一のルマテーブルが全ての色成分に対して提供され、明るさの減衰率を選択するためのルマテーブルルックアップ指標は色に依存するゲインに基づいて判定される(例えば、図15のステップ250及び252に示すように)。更に、ベイヤカラーフィルタアレイが利用される一実施形態において、1つの動きテーブル及び/又はルマテーブルが赤(R)色成分及び青(B)色成分の各々に対して提供され、その一方で共通の動きテーブル及び/又はルマテーブルが双方の緑色成分(Gr及びGb)に対して提供される。
時間フィルタ180の出力は、ビニング補償フィルタ(BCF)182に送出され、BCF182は、カラーサンプルの線形配置に依存するISPパイプ処理ロジック部82(例えば、デモザイク等)における後続の画像処理動作が正常に動作できるようにカラーサンプルの非線形配置を補償するために画像画素を処理する。更にBCF182は、垂直方向及び/又は水平方向のスケーリング等の1つ以上のスケーリング動作を適用することにより画素データを処理する。図18は、開示される一実施形態に従って、スケーリングロジック部292及び微分解析器294を含むビニング補償フィルタ182を示すブロック図である。図19は、スケーリング動作を実行するために利用される処理296を示す。
図18に示すように、スケーリングロジック部292は、出力FEProcOut(109)を生成し、この出力は、上述したように、以下に更に説明するような追加の処理のためにISPパイプ処理ロジック部82に転送される。一実施形態において、BCF182により実行されたスケーリング動作は、ソース画像から画素を選択し、各画素と重み付け因子とを乗算し、且つ目標画素を形成するために画素値を合計する1つ以上のマルチタップポリフェーズフィルタを使用して実行される。理解されるように、スケーリング動作で使用される画素の選択は、現在の画素位置及びフィルタにより提供されるタップ数に少なくとも部分的に依存する。更にフィルタリング動作は、同一色の画素を使用して色成分毎に行われ、重み付け因子(又は係数)は、ルックアップテーブルから取得され、現在の画素間の断片の位置に基づいて判定される。
図示する実施形態において、微分解析器294はデジタル微分解析器(DDA)であり、スケーリング動作中に現在の画素位置を制御するように構成される。単なる例として、DDA294は、12ビットの整数部及び20ビットの小数部を有する2の補数の固定小数点数を含む32ビットデータレジスタとして提供される。12ビットの整数部は、現在の画素位置を判定するために使用される。小数部は、係数テーブルへの指標として使用される。一実施形態において、垂直方向及び水平方向のスケーリング成分は、20ビットの小数部のうち上位3ビットが指標に対して使用されるように深度8の係数テーブルを利用する。
32ビットDDAレジスタ(DDA[31:0])に基づく一例を提供するために、現在の中心のソース画素の場所(currPixel)は12ビットの整数部DDA[31:20]により規定され、次のビットDA[19]が1である場合は切り上げられる(+1)。currPixelに隣接する画素のソース画素値は、フィルタにより提供されるタップ数に従って取得される。例えば一実施形態において、垂直方向のスケーリングは、currPixelの両側の同一色の1画素が選択されるように(例えば、−1、0、+1)3タップポリフェーズフィルタを使用して実行され、水平方向のスケーリングは5タップポリフェーズフィルタを使用して実行され、ここでcurrPixelの両側の同一色の2つの画素が選択される(例えば、−2、−1、0、+1、+2)。更に各タップは、自身の係数テーブルを有する。従って、深度8の3つのテーブルが3タップ垂直スケーリングフィルタに対して提供され、深度8の5つのテーブルが5タップ水平スケーリングフィルタに対して提供される。現在の係数指標(currIndex)は、DDA[19:16](小数部DDA[19:0]の上位3ビット)により規定され、次のビットDDA[15]が1である場合に切り上げられる(+1)。
従って、BCF182で行われるフィルタリング処理は、中心画素(currPixel)周辺のソース画素値を取得すること及びcurrIndexを使用してアクセスされるテーブルの適切な係数とそれらのソース画素値とを乗算することを含む。フィルタリング処理が所定の画素に対して完了すると、ステップ値(DDAStep)は次の画素の位置を判定するためにDDA294に加算され、フィルタリング/スケーリング動作は後続画素に対して繰り返される。これを図19に示す処理296により更に示す。例えばステップ298で開始すると、DDA294は初期化され、現在の画素位置が識別される。上述したように、DDA294が2の補数の固定小数点数を格納する32ビットレジスタを含む場合、現在の画素位置は、レジスタデータの上位12ビット(整数部)により特定される。
ステップ300において、マルチタップフィルタリングは、垂直方向及び水平方向のスケーリングに対して実行される。例として、3タップポリフェーズフィルタ及び5タップポリフェーズフィルタが垂直方向及び水平方向のスケーリングに対してそれぞれ使用されると仮定し、撮像素子90がベイヤカラーフィルタパターン(図2)を使用すると仮定すると、垂直方向のスケーリング成分は4つの別個の3タップポリフェーズフィルタを含む。各3タップフィルタは、色成分Gr、R、B及びGbの各々に対するものである。各3タップフィルタは、係数に対する指標及び現在の中心画素のステッピングを制御するためにDDAを使用する。同様に、水平方向のスケーリング成分は、4つの別個の5タップポリフェーズフィルタを含み、各5タップフィルタは色成分Gr、R、B及びGbの各々に対するものである。各5タップフィルタは係数に対する指標及び現在の中心画素のステッピングを制御するためにDDAを使用する。境界においては、水平方向及び垂直方向のフィルタリング処理で使用される画素は、DDAにより確立されるように現在の画素の位置に依存する。例えばフィルタにより必要とされる1つ以上のソース画素が境界の外側に存在するように現在の画素(currPixel)がフレームの境界に近接することをDDAの値が示す場合、境界の画素は繰り返される。
最後にステップ302に示すように、垂直方向及び水平方向のスケーリング動作が所定の現在の画素(currPixel)に対して完了すると、DDA294は、次の画素の位置に進められ、処理296は、ステップ300に戻り、次の画素に対して垂直方向及び水平方向のスケーリングを実行する。上述したように、出力FEProcOut(109)であるBCF182の出力は、追加の処理のためにISPパイプ処理ロジック部82に転送される。しかし、この説明の焦点をISPパイプ処理ロジック部82に移す前に、ISPフロントエンド処理ロジック部80において実現される統計処理ユニット(例えば、122及び124)により提供される種々の機能性について更に詳細に説明する。
統計処理ユニット120及び122の一般的な説明に戻ると、これらのユニットは、自動露出、自動ホワイトバランス、オートフォーカス、フリッカ検出、黒レベル補償及びレンズシェーディング補正等に関する統計等のraw画像信号(Sif0及びSif1)を撮像し且つ提供する撮像素子に関する種々の統計を収集するように構成される。これを行う際、統計処理ユニット120及び122は、1つ以上の画像処理動作を各入力信号Sif0(Sensor0からの)及びSif1(Sensor1からの)に適用する。
例えば図20を参照すると、Sensor0(90a)と関連付けられた統計処理ユニット120のより詳細なブロック図が一実施形態に従って示される。図示するように、統計処理ユニット120は、以下の機能ブロック、すなわち欠陥画素検出及び補正ロジック部304、黒レベル補償(BLC)ロジック部306、レンズシェーディング補正ロジック部308、逆BLCロジック部310及び統計収集ロジック部312を含む。これらの機能ブロックの各々について以下に説明する。更に、Sensor1(90b)と関連付けられた統計処理ユニット122は同様に実現されることが理解されるべきである。
最初に、選択ロジック部124の出力(例えば、Sif0又はSifIn0)がフロントエンド欠陥画素補正ロジック部304により受信される。理解されるように、「欠陥画素」は、照度を正確に検知できない撮像素子90内の撮像画素を示すと認識される。欠陥画素は、多くの要因に起因する可能性があり、「ホット」(又は漏れ)ピクセル、「スタック」ピクセル及び「デッドピクセル」を含む。一般に「ホット」ピクセルは、同一の空間位置で同一の光量を与えられた非欠陥画素より明るく見える。ホットピクセルは、リセット失敗及び/又は高漏洩に起因する。例えばホットピクセルは、非欠陥画素に対して通常より多くの電荷漏洩を示し、非欠陥画素より明るく見える。更に「デッド」ピクセル及び「スタック」ピクセルは、製造及び/又は組み立て行程中に撮像素子を汚染する塵又は他の微量の物質等の不純物のために発生し、これは特定の欠陥画素を非欠陥画素より暗く又は明るくするか、あるいは実際にさらされる光量に関係なく欠陥画素を特定の値に固定する原因となる。更に、デッドピクセル及びスタックピクセルは、撮像素子の動作中に発生する回路の故障の結果発生する可能性がある。例として、スタックピクセルは常にオンの時(例えば、フル充電されている時)に現れ、従ってより明るく見え、デッドピクセルは常にオフの時に現れる。
ISPフロントエンド処理ロジック部80の欠陥画素検出及び補正(DPDC)ロジック部304は、統計収集(例えば、312)において考慮される前に欠陥画素を補正する(例えば、欠陥画素値を置換する)。一実施形態において、欠陥画素補正は、色成分(例えば、ベイヤパターンに対してはR、B、Gr及びGb)毎に別個に実行される。一般にフロントエンドDPDCロジック部304は、動的欠陥補正を提供し、欠陥画素の場所が同一色の隣接画素を使用して計算された方向勾配に基づいて自動的に判定される。理解されるように、欠陥は、所定の時間において欠陥画素であるような画素の特徴が隣接画素における画像データに依存するという意味で「動的」である。例として、常に最大明るさであるスタックピクセルは、スタックピクセルの場所がより明るい色又は白色により占められている現在の画像の領域にある場合は欠陥画素と考えられない。逆に、スタックピクセルが黒色又はより暗い色により占められている現在の画像の領域にある場合、スタックピクセルは、DPDCロジック部304による処理中に欠陥画素として識別され且つ補正される。
DPDCロジック部304は、画素間の方向勾配を使用して現在の画素に欠陥画素であるかを判定するために現在の画素の両側にある1つ以上の同一色の水平隣接画素を利用する。現在の画素に欠陥画素であると識別される場合、その欠陥画素の値は水平隣接画素の値で置換される。例えば一実施形態において、rawフレーム154(図9)の境界内にある同一色の5つの水平隣接画素が使用され、5つの水平隣接画素は、現在の画素及び2つの隣接画素を両側に含む。従って、図21に示すように、所定の色成分c及び現在の画素Pに対して、水平隣接画素P0、P1、P2及びP3はDPDCロジック部304により考慮される。尚、現在の画素Pの場所によって、rawフレーム154の外側にある画素は画素間の勾配を算出する時に考慮されない。
例えば図21に示すように、「左エッジ」の例314において、現在の画素Pはrawフレーム154の最も左側のエッジにあるため、rawフレーム154の外側にある隣接画素P0及びP1は考慮されず、画素P、P2及びP3(N=3)のみが残る。「左エッジ+1」の例316において、現在の画素Pは、rawフレーム154の最も左側のエッジから1単位画素離れているため、画素P0は考慮されない。これにより、画素P1、P、P2及びP3(N=4)のみが残る。更に「中心」の例318において、現在の画素Pの左側にある画素P0及びP1並びに現在の画素Pの右側にある画素P2及びP3は、rawフレーム154の境界内にあるため、隣接画素P0、P1、P2及びP3の全て(N=5)が画素間の勾配を算出する際に考慮される。更に、rawフレーム154の最も右側のエッジに近づくと、同様の例320及び322が発生するだろう。例えば、「右エッジ−1」の例320を仮定すると、現在の画素Pはrawフレーム154の最も右側のエッジから1単位画素離れているため、画素P3は考慮されない(N=4)。同様に、「右エッジ」の例322において、現在の画素Pはrawフレーム154の最も右側のエッジにあるため、隣接画素P2及びP3の双方とも考慮されない(N=3)。
図示する実施形態において、ピクチャ境界(例えば、rawフレーム154)内の隣接画素(k=0〜3)毎に画素間の勾配が以下のように計算される。
画素間の勾配が判定されると、欠陥画素検出は以下のようにDPDCロジック部304により実行される。最初に、特定の数の勾配Gが変数dprThにより示される特定の閾値以下である場合に画素は欠陥画素であると仮定する。閾値dprTh以下であるピクチャ境界内の隣接画素に対する勾配数のカウント(C)が画素毎に累積される。例として、閾値dprTh以下である勾配Gkの累積カウントCは、rawフレーム154内の隣接画素毎に以下のように計算される。
理解されるように、閾値dprThは色成分に依存して変動する。次に、累積カウントCが変数dprMaxCで示される最大カウント以下であると判定される場合、画素は欠陥画素と考えられる。このロジックは以下のように表される。
欠陥画素は、複数の置換規則を使用して置換される。例えば一実施形態において、欠陥画素はすぐ左側にある画素P1と置換される。境界条件(例えば、P1がrawフレーム154の外側にある)において、欠陥画素はすぐ右側にある画素P2で置換される。更に、置換値は連続する欠陥画素検出動作の間保持されるか又は伝播されることが理解されるべきである。例えば図21に示した水平方向の画素の集合を参照すると、P0又はP1が欠陥画素であるとDPDCロジック部304により以前に識別された場合、それらに対応する置換値は、欠陥画素検出及び現在の画素Pの置換に使用される。
上述した欠陥画素検出及び補正技術を要約するために、そのような処理を示すフローチャートを図22で提供し、図中符号330で示す。図示するように、処理330はステップ332で開始し、現在の画素(P)が受信され且つ隣接画素の集合が識別される。上述した実施形態に従って、隣接画素は現在の画素の両側それぞれの同一色成分の2つの水平画素(例えば、P0、P1、P2及びP3)を含む。次にステップ334において、水平方向の画素間の勾配は、上記の式6で説明したように、rawフレーム154内の各隣接画素に対して計算される。その後、ステップ336において、特定の閾値dprTh以下である勾配数のカウントCが判定される。判断ロジック338で示すように、CがdprMaxC以下である場合、処理330はステップ340に継続し、現在の画素は欠陥画素であると識別される。欠陥画素は、ステップ342において置換値を使用して補正される。更に判断ロジック338に戻ると、CがdprMaxCより大きい場合、ステップ344に進み、現在の画素は欠陥画素ではないと識別され、その値は変更されない。
尚、ISPフロントエンド統計処理中に適用される欠陥画素検出/補正技術は、ISPパイプ処理ロジック部82において実行される欠陥画素検出/補正よりロバスト性が低いだろう。例えば以下に更に詳細に説明するように、ISPパイプ処理ロジック部82において実行される欠陥画素検出/補正は、動的欠陥補正に加えて固定欠陥補正を提供し、欠陥画素の場所は演繹的に既知であり、1つ以上の欠陥テーブルにロードされる。更にISPパイプ処理ロジック部82における動的欠陥補正は、水平方向及び垂直方向の双方の画素勾配を考慮し、以下に説明するようにスペックリングの検出/補正を更に提供する。
図20に戻ると、DPDCロジック部304の出力は黒レベル補償(BLC)ロジック部306に渡される。BLCロジック部306は、統計収集に使用される画素における色成分「c」(例えば、ベイヤに対するR、B、Gr及びGb)毎に個々にデジタルゲイン、オフセット及びクリッピングを提供する。例えば以下の演算により表されるように、現在の画素の入力値は符号付きの値の分だけオフセットされ、その後ゲインと乗算される。
式中、Xは所定の色成分c(例えば、R、B、Gr又はGb)に対する入力画素値を表し、O[c]は現在の色成分cに対する符号付き16ビットオフセットを表し、G[c]は色成分cに対するゲイン値を表す。一実施形態において、ゲインG[c]は、2ビットの整数部及び14ビットの小数部(例えば、浮動小数点表現で2.14)を有する16ビットの符号なし数であり、G[c]は丸められる。単なる例として、ゲインG[c]は0〜4X(例えば、4×入力画素値)の範囲を有する。
次に上記の式10により示されるように、計算された符号付きの値Yは、最小及び最大範囲にクリップされる。
変数min[c]及びmax[c]は、最小出力値及び最大出力値に対する符号付き16ビットクリッピング値をそれぞれ表す。一実施形態において、BLCロジック部306は、色成分毎に最大値より上及び最小値より下にクリップされた画素数のカウントを維持するように構成される。
その後、BLCロジック部306の出力はレンズシェーディング補正(LSC)ロジック部308に転送される。LSCロジック部308は、一般に撮影装置30のレンズ88の光学的中心からの距離にほぼ比例する明度の低下を補償するために画素毎に適切なゲインを適用するように構成される。理解されるように、そのような低下は、レンズの幾何学的光学の結果として発生する。例として、理想的な光学特性を有するレンズは、コサイン4乗則で示される入射角の余弦の4乗cos(θ)としてモデル化される。しかし、レンズの製造が完璧でないため、レンズにおける種々の不規則性は、光学特性が仮定したコサイン4乗モデルから外れる原因となるだろう。例えばレンズのエッジが薄いと、一般に最も多くの不規則性を示す。更にレンズシェーディングパターンにおける不規則性は、撮像素子内のマイクロレンズアレイがカラーアレイフィルタと完全に位置合わせされていない結果起こる。また、いくつかのレンズにおける赤外線(IR)フィルタにより、明度の低下は光源に依存するため、レンズシェーディングゲインは検出された光源に従って適応される。
図23を参照すると、一般的なレンズに対する光強度対画素位置を示す3次元プロファイル346が示される。図示するように、レンズの中心348の近くの光強度は、レンズの隅又はエッジ350に向かって徐々に低下する。図23に示すレンズシェーディングの不規則性は図24により適切に示される。図24は、隅及びエッジに向かって光強度の低下を示す画像352のカラー図である。特に、画像のほぼ中心の光強度は画像の隅及び/又はエッジにおける高度より明るく見える。
本技術の実施形態に従って、レンズシェーディング補正ゲインは、色チャネル(例えば、ベイヤフィルタに対してはGr、R、B、Gb)毎にゲインの2次元格子として特定される。ゲイン格子点は、rawフレーム154(図9)内の水平方向及び垂直方向に固定間隔で分散される。図9において上述したように、rawフレーム154は、処理が特定の画像処理動作のために実行される領域を規定するアクティブ領域156を含む。レンズシェーディング補正動作に関して、LSC領域と呼ばれるアクティブ処理領域はrawフレーム領域154内に規定される。以下に説明するように、LSC領域は、ゲイン格子境界内又はゲイン格子境界に完全に存在すべきであり、存在しない場合は結果が不確定である可能性がある。
例えば図25を参照すると、rawフレーム154内に規定されるLSC領域354及びゲイン格子356が示される。LSC領域354は、幅358及び高さ360を有し、rawフレーム154の境界に対するxオフセット362及びyオフセット364により規定される。格子ゲイン356の基準370からLSC領域354の第1の画素372までの格子オフセット(例えば、格子xオフセット366及び格子yオフセット368)が提供される。これらのオフセットは、所定の色成分に対する第1の格子間隔内である。水平方向(x方向)の格子点間隔374及び垂直方向(y方向)の格子点間隔376は、色チャネル毎に別個に特定される。
上述したように、ベイヤカラーフィルタアレイを使用することを仮定すると、格子ゲインの4つの色チャネル(R、B、Gr及びGb)が規定される。一実施形態において、合計で4K(4096)個の格子点が利用可能であり、色チャネル毎に格子ゲインの開始場所に対する基準アドレスがポインタを使用するなどして提供される。更に水平方向の格子点間隔(374)及び垂直方向の格子点間隔(376)は、1つの色平面の解像度で画素に関して規定され、特定の実施形態において、8、16、32、64又は128等の2の累乗により区切られた格子点間隔を提供する。理解されるように、2の累乗を利用することにより、シフト(例えば、除算)及び加算演算を使用するゲイン補間の効率的な実現例が達成される。これらのパラメータを使用して、撮像素子トリミング領域が変更している時でも同一のゲイン値が使用できる。例えば、全ての格子ゲイン値を更新するのではなく、いくつかのパラメータのみがトリミング領域に格子点を位置合わせするために更新される必要がある(例えば、格子オフセット374及び376を更新する)。単なる例として、これは、トリミングがデジタルズーム動作中に使用される場合に有用である。更に図25の実施形態に示すゲイン格子356は一般に同等に離間された格子点を有するものとして示されるが、他の実施形態において、格子点は必ずしも同等に離間される必要はないことが理解されるべきである。例えばいくつかの実施形態において、格子点は、LSC領域354の中心に集中しないようにし且つ一般にレンズシェーディング歪みがより見えやすいLSC領域354の隅に向かってより集中するように不均一に(例えば、対数的に)分散される。
本発明で開示されたレンズシェーディング補正技術によると、現在の画素の場所がLSC領域354の外側にある場合、ゲインは適用されない(例えば、画素は変更されずに渡される)。現在の画素の場所がゲイン格子の場所にある場合、特定の格子点におけるゲイン値が使用される。しかし、現在の画素の場所が格子点の間にある場合、ゲインは双線形補間を使用して補間される。図26における画素の場所「G」に対するゲインを補間する一例を以下に提供する。
図26に示すように、画素Gは、それぞれ現在の画素の場所Gに対して左上のゲイン、右上のゲイン、左下のゲイン及び右下のゲインに対応する格子点G0、G1、G2及びG3の間にある。格子間隔の水平方向のサイズ及び垂直方向のサイズは、X及びYでそれぞれ表される。更にii及びjjは、それぞれ左上のゲインG0の位置に対する水平方向の画素オフセット及び垂直方向の画素オフセットを表す。これらの因子に基づいて、位置Gに対応するゲインは以下のように補間される。
上記の式11aの項は、以下の式を取得するために結合される。
一実施形態において、補間方法は、各画素において乗数を使用するのではなく、増分的に実行され、それにより計算の複雑さを軽減する。例えば項(ii)(jj)は、ゲイン格子356の場所(0,0)において0に初期化され且つ現在の列数が1画素増加する度に現在の行数だけ増分される加算器を使用して実現される。上述したように、X及びYの値が2の累乗として選択されるため、ゲイン補間は単純なシフト演算を使用して達成される。従って、乗数は格子点G0においてのみ(全ての画素ではなく)必要とされ、残りの画素に対する補間ゲインを判定するために加算演算のみが必要とされる。
特定の実施形態において、格子点間のゲインの補間は14ビット精度を使用し、格子ゲインは2ビットの整数部及び8ビットの小数部(例えば、浮動小数点表現で2.8)の符号なし10ビット値である。この規則を使用して、ゲインは0〜4Xの範囲を有し、格子点間のゲイン解像度は1/256である。
レンズシェーディング補正技術は、図27に示す処理380により更に示される。図示するように、処理380はステップ382で開始し、現在の画素位置が図25のLSC領域354の境界に対して判定される。次に判断ロジック384は、現在の画素位置がLSC領域354内にあるかを判定する。現在の画素位置がLSC領域354の外側である場合、処理380はステップ386に継続し、ゲインは現在の画素に適用されない(例えば、画素は変更されずに渡される)。
現在の画素位置がLSC領域354内にある場合、処理380は判断ロジック388に継続し、現在の画素の位置がゲイン格子354内の格子点に対応するかが更に判定される。現在の画素位置が格子点に対応する場合、ステップ390で示すように、その格子点におけるゲイン値が選択され且つ現在の画素に適用される。現在の画素位置が格子点に対応しない場合、処理380はステップ392に継続し、ゲインは境界の格子点(例えば、図26のG0、G1、G2及びG3)に基づいて補間される。例えば補間されたゲインは、上述したように、式11a及び11bに従って計算される。その後、処理380はステップ394で終了する。ステップ394において、ステップ392からの補間されたゲインは現在の画素に適用される。
理解されるように、処理380は画像データの画素毎に繰り返される。例えば図28に示すように、LSC領域(例えば、354)内の各画素位置に適用されるゲインを示す3次元プロファイルが示される。図示するように、図23及び図24に示すように隅において光強度が大きく低下するため、画像の隅396において適用されたゲインは、一般に画像の中心398に適用されたゲインより大きい。本明細書で説明するレンズシェーディング補正技術を使用して、画像中に光強度の低下が現れるのを低減させるか又はほぼ除去できる。例えば図29は、図24の画像352のカラー図がレンズシェーディング補正の適用後にどのように見えるかの一例を提供する。図示するように、図24の元の画像と比較して、全体の光強度が一般に画像にわたりより均一である。特に画像のほぼ中心における光強度は、画像の隅及び/又はエッジにおける光強度値とほぼ等しいだろう。更に上述したように、いくつかの実施形態において、補間されたゲインの計算(式11a及び11b)は、後続の列及び行の増分構造を利用することにより格子点間の追加の「デルタ」で置換される。理解されるように、これにより計算の複雑さは軽減される。
更なる実施形態において、格子ゲインを使用することに加えて、画像の中心からの距離の関数としてスケーリングされる色成分毎のグローバルゲインが使用される。画像の中心は、入力パラメータとして提供され、均一に照明された画像の各画像画素の光強度振幅を解析することにより推定される。識別された中心画素と現在の画素との間の半径距離は、以下に示すように線形スケーリングされた径方向のゲインGを取得するために使用される。
式中、G[c]は、色成分c(例えば、ベイヤパターンに対してはR、B、Gr及びGb成分)毎のグローバルゲインパラメータを表し、Rは中心画素と現在の画素との間の半径距離を表す。
上述したLSC領域354を示す図30を参照すると、距離Rはいくつかの技術を使用して計算又は推定される。図示するように、画像の中心に対応する画素Cは座標(x,y)を有し、現在の画素Gは座標(x,y)を有する。一実施形態において、LSCロジック部308は以下の式を使用して距離Rを計算する。
別の実施形態において、以下に示すより単純な推定式がRの推定値を取得するために利用される。
式14において、推定係数α及びβは、8ビット値にスケーリングされる。単なる例として、一実施形態において、Rの推定値を提供するために、αは123/128にほぼ等しく、βは51/128にほぼ等しい。これらの係数値を使用すると、最大誤差は約4%であり、中間誤差は約1.3%である。従って、推定技術はRを判定する際(式13)に計算技術を利用するより多少精度が低いが、誤差範囲は十分に小さく、推定値すなわちRは本発明のレンズシェーディング補正技術に対して径方向のゲイン成分を判定するのに適する。
径方向のゲインGは、現在の画素に適用される合計のゲインを判定するために現在の画素に対する補間された格子ゲイン値G(式11a及び11b)と乗算される。出力画素Yは、以下に示すように入力画素値Xを合計のゲインと乗算することにより得られる。
従って、本技術によると、レンズシェーディング補正は、補間されたゲインのみ、補間されたゲイン及び径方向のゲイン成分の双方を使用して実行される。あるいは、レンズシェーディング補正は、径方向の近似誤差を補償する径方向格子テーブルと共に径方向のゲインのみを使用して達成される。例えば図25に示すような矩形のゲイン格子356の代わりに、径方向及び角度方向にゲインを規定する複数の格子点を有する径方向のゲイン格子が提供される。従って、LSC領域354内の径方向の格子点の1つと位置合わせされていない画素に適用するゲインを判定する時、最適な補間済みレンズシェーディングゲインを判定するために画素を囲む4つの格子点を使用して補間が適用される。
図31を参照すると、レンズシェーディング補正の補間済み径方向ゲイン成分の使用について処理400により示される。尚、処理400は、図27において上述した処理380に類似するステップを含む。従って、そのようなステップは同様の図中符号で示されている。ステップ382で開始すると、現在の画素が受信され、LSC領域354に対するその画素の場所が判定される。次に、判断ロジック384は、現在の画素位置がLSC領域354内にあるかを判定する。現在の画素位置がLSC領域354の外側にある場合、処理400はステップ386に継続し、ゲインは現在の画素に適用されない(例えば、画素は変更されずに渡される)。現在の画素位置がLSC領域354内にある場合、処理400はステップ402及び判断ロジック388に同時に継続する。まずステップ402を参照すると、画像の中心を識別するデータが検索される。上述したように、画像の中心を判定することは、均一な照明下で画素に対する光強度振幅を解析することを含む。これは例えば較正中に行われる。従って、ステップ402は、各画素を処理するために画像の中心を繰り返し計算することを必ずしも含まず、先に判定された画像の中心のデータ(例えば、座標)を検索することを示す。画像の中心が識別されると、処理400はステップ404に継続し、画像の中心と現在の画素の場所(R)との間の距離が判定される。上述したように、Rの値は計算(式13)又は推定(式14)される。その後、ステップ406において、径方向のゲイン成分Gは、距離R及び現在の画素の色成分に対応するグローバルゲインパラメータを使用して計算される(式12)。径方向のゲイン成分Gは、以下のステップ410で説明するように、合計のゲインを判定するために使用される。
判断ロジック388に戻ると、現在の画素位置がゲイン格子354内の格子点に対応するかが判定される。現在の画素位置が格子点に対応する場合、ステップ408で示すように、その格子点におけるゲイン値が判定される。現在の画素位置が格子点に対応しない場合、処理400はステップ392に継続し、補間済みゲインは境界の格子点(例えば、図26のG0、G1、G2及びG3)に基づいて計算される。例えば補間済みゲインは、上述したように式11a及び11bに従って計算される。次のステップ410において、合計のゲインは、ステップ406で判定された径方向のゲイン並びに格子ゲイン(ステップ408)又は補間済みゲイン(392)の一方に基づいて判定される。理解されるように、これは判断ロジック388が処理400中に選ぶ分岐に依存する。ステップ412で示すように、合計のゲインは現在の画素に適用される。尚、処理380と同様に、処理400は画像データの画素毎に繰り返される。
格子ゲインと共に径方向のゲインを使用することにより、種々の利点が提供される。例えば径方向のゲインを使用することにより、全ての色成分に対して単一の共通のゲイン格子を使用できる。これにより、色成分毎に別個のゲイン格子を格納するのに必要な合計の記憶空間が大幅に減少される。例えばベイヤ撮像素子において、R、B、Gr及びGb成分の各々に対して単一のゲイン格子を使用することにより、ゲイン格子データは約75%減少される。理解されるように、格子ゲインデータテーブルが画像処理ハードウェアにおけるチップ面積又はメモリの大部分を占めるため、この格子ゲインデータの減少は実現コストを低下する。更にハードウェア実現例に依存して、ゲイン格子の値の単一の集合を使用することにより、更なる利点を提供できる。例えば、全体のチップ面積を減少したり(例えば、ゲイン格子の値がオンチップメモリに格納される場合等)、メモリ帯域幅に対する要求を低減したりする(例えば、ゲイン格子の値がオフチップ外部メモリに格納される場合等)。
図20に示すレンズシェーディング補正ロジック部308の機能性を十分に説明したが、LSCロジック部308の出力は、その後逆黒レベル補償(IBLC)ロジック部310に転送される。IBLCロジック部310は、色成分(例えば、R、B、Gr及びGb)毎に個別にゲイン、オフセット及びクリップを提供し、一般にBLCロジック部306に対して逆関数を実行する。例えば以下の動作により示すように、入力画素の値は、まずゲインと乗算され、その後符号付き値の分だけオフセットされる。
式中、Xは所定の色成分c(例えば、R、B、Gr又はGb)に対する入力画素値を表し、O[c]は現在の色成分cに対する符号付き16ビットオフセットを表し、G[c]は色成分cに対するゲイン値を表す。一実施形態において、ゲインG[c]は約0〜4X(4×入力画素値X)の範囲を有する。尚、これらの変数は、式9で上述した同一の変数である。計算した値Yは、例えば式10を使用して最小及び最大範囲にクリップされる。一実施形態において、IBLCロジック部310は、色成分毎に最大値より上及び最小値より下にクリップされた画素数のカウントを維持するように構成される。
その後、IBLCロジック部310の出力は、統計収集ブロック312により受信され、統計収集ブロック312は、自動露出(AE)、自動ホワイトバランス(AWB)、オートフォーカス(AF)及びフリッカ検出等に関連する種々の統計データ点等の撮像素子90に関する種々の統計データ点の収集を提供する。以下において、AWB、AE及びAF統計の重要性を説明する簡単な概要を提供する。
ホワイトバランスに関して、光源が画像シーンの物体から反射されるため、各画素における撮像素子応答は照明源に依存する。従って、画像シーンにおいて記録された各画素値は光源の色温度に関連する。白色の物体が低い色温度で照明される場合、その物体は撮像画像において赤みがかって見えるだろう。逆に、高い色温度で照明される白色の物体は撮像画像において青みがかって見えるだろう。従って、ホワイトバランスの目的は、画像が標準的な光の下で撮像されたかのように人の眼に見えるようにRGB値を調整することである。ホワイトバランスに関する撮像統計において、白色の物体に関する色情報は光源の色温度を判定するために収集される。一般にホワイトバランスアルゴリズムは2つの主なステップを含む。第1に、光源の色温度が推定される。第2に、推定された色温度は、色ゲイン値を調整し且つ/又は色補正行列の係数を判定/調整するために使用される。そのようなゲインは、ISPデジタルゲイン並びにアナログ及びデジタル撮像素子ゲインの組み合わせである。
次に、一般に自動露出は、撮像画像の輝度を制御するために画素積分時間及びゲインを調整する処理を示す。例えば自動露出は、積分時間を設定することにより撮像素子により撮像されるシーンからの光量を制御する。更にオートフォーカスは、画像の焦点をほぼ最適化するためにレンズの最適な焦点距離を判定することを示す。従って、特にこれらの種々の統計は統計収集ブロック312を介して判定及び収集される。図示するように、統計収集ブロック312の出力STATS0は、メモリ108に送出され且つ制御ロジック部84にルーティングされるか、あるいは制御ロジック部84に直接送出される。
上述したように、制御ロジック部84は撮影装置30及び/又は画像処理回路網32を制御する1つ以上の制御パラメータを判定するために取集した統計データを処理する。例えばそのような制御パラメータは、撮像素子90のレンズを動作するためのパラメータ(例えば、焦点距離調整パラメータ)、撮像素子パラメータ(例えば、アナログ及び/又はデジタルゲイン、積分時間)並びにISPパイプ処理パラメータ(例えば、デジタルゲイン値、色補正行列(CCM)係数)を含む。更に上述したように、特定の実施形態において、統計処理は、8ビット精度で行われ、より大きいビット深度を有するraw画素データは統計の目的で8ビット形式にダウンサンプリングされる。上述したように、8ビット(又は他のあらゆるより低いビット解像度)へのダウンサンプリングは、ハードェウェアサイズ(例えば、面積)を縮小し且つ処理の複雑さを軽減し、また、統計データが雑音に対してより高いロバスト性を有することを可能にするだろう(例えば、画像データの空間平均を使用して)。
ISPフロントエンド処理ロジック部80の下流側のISPパイプ処理ロジック部82の詳細な説明に進む前に、統計処理ユニット120及び122における種々の機能ロジックブロック(例えば、ロジックブロック304、306、308、310及び312)並びにISPフロントエンド画素処理ユニット130における種々の機能ロジックブロック(例えば、ロジックブロック180及び182)の構成は、本技術の一実施形態のみを示すことを意図していることが理解されるべきである。実際には、他の実施形態において、本明細書で示すロジックブロックは異なる順序で配置されるか、あるいは本明細書では特に説明しない追加の画像処理機能を実行する追加のロジックブロックを含む。更にレンズシェーディング補正、欠陥画素検出/補正及び黒レベル補償等の統計処理ユニット(例えば、120及び122)において実行される画像処理動作は、統計データを収集する目的で統計処理ユニット内において実行されることが理解されるべきである。従って、統計処理ユニットにより受信された画像データに対して実行される処理動作は、ISPフロントエンド画素処理ロジック部130から出力され且つISPパイプ処理ロジック部82に転送される画像信号109(FEProcOut)に実際には反映されない。
説明を続ける前に、十分な処理時間及び本明細書で説明する種々の動作の多くの処理要求の間の類似性を仮定すると、パイププライン特性ではなく連続的に画像処理を実行するように本明細書で示した機能ブロックを再構成できる。理解されるように、これにより全体のハードウェア実現コストが更に低下するが、外部メモリに対する帯域幅を増加する可能性もある(例えば、中間結果/データをキャッシュ/格納するために)。
ISPパイプライン(「パイプ」)処理ロジック部
ISPフロントエンド処理ロジック部80について詳細に上述したが、本説明は、ここでISPパイプ処理ロジック部82に注目する。一般にISPパイプ処理ロジック部82の機能は、ISPフロントエンド処理ロジック部80から提供されるか又はメモリ108から検索されるraw画像データを受信し、画像データを表示装置28に出力する前に追加の画像処理動作を実行することである。
ISPパイプ処理ロジック部82の一実施形態を示すブロック図を図32に示す。図示するように、ISPパイプ処理ロジック部82は、raw処理ロジック部414、RGB処理ロジック部416及びYCbCr処理ロジック部418を含む。raw処理ロジック部414は、以下に更に説明するように、欠陥画素検出及び補正、レンズシェーディング補正、デモザイク、並びに自動ホワイトバランスに対するゲインの適用及び/又は黒レベルの設定等の種々の画像処理動作を実行する。本実施形態において示すように、raw処理ロジック部414に対する入力信号422は、選択ロジック部420の現在の構成に依存して、ISPフロントエンド処理ロジック部80からのraw画素出力109(信号FEProcOut)又はメモリ108からのraw画素データ112である。
raw処理ロジック部414内で実行されたデモザイク動作の結果として、画像信号出力424はRGB領域にあり、その後RGB処理ロジック部416に転送される。例えば図32に示すように、RGB処理ロジック部416は、選択ロジック部428の現在の構成に依存して、出力信号424又はメモリ108からのRGB画像信号426である信号430を受信する。RGB処理ロジック部416は、以下に更に説明するように、色補正(例えば、色補正行列を使用する)、自動ホワイトバランスに対する色ゲインの適用、並びにグローバルトーンマッピングを含む種々のRGB色調整動作を提供する。RGB処理ロジック部418は、YCbCr(ルマ/クロマ)色空間へのRGB画像データの色空間変換を更に提供する。従って、画像信号出力432はYCbCr領域にあり、その後YCbCr処理ロジック部418に転送される。
例えば図32に示すように、YCbCr処理ロジック部418は、選択ロジック部436の現在の構成に依存して、RGB処理ロジック部416からの出力信号432又はメモリ108からのYCbCr信号434である信号438を受信する。以下に更に詳細に説明するように、YCbCr処理ロジック部418は、スケーリング、クロマ抑制、ルマ鮮明化、明るさ、コントラスト及び色(BCC)調整、YCbCrガンママッピング、並びにクロマデシメーション等を含むYCbCr色空間における画像処理動作を提供する。YCbCr処理ロジック部418の画像信号出力440は、メモリ108に送出されるか、あるいはISPパイプ処理ロジック部82から画像信号114(図7)として出力される。画像信号114は、ユーザが閲覧するために表示装置28に送出されるか(直接又はメモリ108を介して)、あるいは圧縮エンジン(例えば、符号器118)、CPU/GPU又はグラフィックエンジン等を使用して更に処理される。
本技術の実施形態によると、ISPパイプ処理ロジック部82は、8ビット、10ビット、12ビット又は14ビット形式のraw画像データの処理をサポートする。例えば一実施形態において、8ビット、10ビット又は12ビット入力データはraw処理ロジック部414の入力において14ビットに変換され、raw処理及びRGB処理動作は14ビット精度で実行される。後者の実施形態において、14ビット画像データは、YCbCr色空間へのRGBデータの変換前に10ビットにダウンサンプリングされ、YCbCr処理(ロジック部418)は、10ビット精度で実行される。
ISPパイプ処理ロジック部82により提供される種々の機能を包括的に説明するために、raw処理ロジック部414、RGB処理ロジック部416及びYCbCr処理ロジック部418の各々、並びにロジックユニット414、416及び418の各々において実現される種々の画像処理動作を実行する内部ロジック部について以下に説明する。raw処理ロジック部414から説明する。例えば図33を参照すると、本技術の一実施形態に従って、raw処理ロジック部414の一実施形態のより詳細な図を示すブロック図が示される。図示するように、raw処理ロジック部414は、ゲイン、オフセット及びクランピング(GOC)ロジック部442、欠陥画素検出/補正(DPDC)ロジック部444、雑音除去ロジック部446、レンズシェーディング補正ロジック部448、GOCロジック部450及びデモザイクロジック部452を含む。更に、以下に説明する例が撮像素子90と共にベイヤカラーフィルタアレイを使用することを仮定する一方で、本技術の他の実施形態は種々のカラーフィルタを利用してもよいことが理解されるべきである。
raw画像信号である入力信号422は、まずゲイン、オフセット及びクランピング(GOC)ロジック部442により受信される。GOCロジック部442は、同様の機能を提供し、図20において上述したように、ISPフロントエンド処理ロジック部80の統計処理ユニット120のBLCロジック部306に関して同様に実現される。例えばGOCロジック部442は、ベイヤ撮像素子の色成分R、B、Gr及びGbの各々に対して個別にデジタルゲイン、オフセット及びクランピング(クリッピング)を提供する。特にGOCロジック部442は、自動ホワイトバランスを実行するか、あるいはraw画像データの黒レベルを設定する。更にいくつかの実施形態において、GOCロジック部442は、Gr色成分とGb色成分との間のオフセットを補正又は補償するために使用される。
動作中、現在の画素に対する入力値は、まず符号付き値の分だけオフセットされ、ゲインと乗算される。この動作は、上記の式9を使用して実行される。Xは、所定の色成分R、B、Gr又はGbに対する入力画素値を表し、O[c]は現在の色成分cに対する符号付き16ビットオフセットを表し、G[c]は色成分cに対するゲイン値を表す。G[c]の値は、統計処理(例えば、ISPフロントエンド処理ブロック80における)中に先に判定される。一実施形態において、ゲインG[c]は、2ビットの整数部及び14ビットの小数部(例えば、浮動小数点表現で2.14)を有する16ビットの符号なし数であり、ゲインG[c]は丸められる。単なる例として、ゲインG[c]は0〜4Xの範囲を有する。
式9の計算された画素値Y(ゲインG[c]及びオフセットO[c]を含む)は、式10に従って最小及び最大範囲にクリップされる。上述したように、変数min[c]及びmax[c]は、それぞれ最小出力値及び最大出力値に対する16ビットの符号付き「クリッピング値」を表す。一実施形態において、GOCロジック部442は、色成分毎に最大範囲の上及び最小範囲の下にクリップされた画素数のカウントを維持するように更に構成される。
次に、GOCロジック部442の出力は、欠陥画素検出及び補正ロジック部444に転送される。図20(DPDCロジック部304)を参照して上述したように、欠陥画素は、多くの要因によるものであり、「ホット」(又は漏れ)ピクセル、「スタック」ピクセル及び「デッドピクセル」を含む。ホットピクセルは、非欠陥画素に対して通常より多くの電荷漏洩を示すため非欠陥画素より明るく見える。スタックピクセルは、常にオンの時(例えば、フル充電されている時)に現れるため明るく見える。デッドピクセルは、常にオフの時に現れる。従って、種々の障害例を識別し且つそれに対処するのに十分なロバスト性を有する画素検出方式を有するのが望ましいだろう。特に動的欠陥検出/補正を提供するフロントエンドDPDCロジック部304と比較すると、パイプDPDCロジック部444は、固定又は静的欠陥検出/補正、動的欠陥検出/補正並びにスペックル除去を提供する。
ここで開示される技術の実施形態によると、DPDCロジック部444により実行される欠陥画素補正/検出は、色成分(例えば、R、B、Gr及びGb)毎に個別に行われ、欠陥画素を検出し且つ検出された欠陥画素を補正する種々の動作を含む。例えば一実施形態において、欠陥画素検出動作は、静的欠陥、動的欠陥の検出、並びに撮像素子において存在する可能性のある混信又は雑音(例えば、光子雑音)を示すスペックルの検出を提供する。類推すると、静電気がテレビディスプレイ等のディスプレイで現れるのと同様に、スペックルは、外見上ランダム雑音アーチファクトのように画像に現れる。更に上述したように、動的欠陥補正は、所定の時間において欠陥画素であるような画素の特徴が隣接画素における画像データに依存するという意味で動的であると考えられる。例えば常に最大の明るさであるスタックピクセルは、スタックピクセルの場所が明るい白色により占められている現在の画像の領域にある場合は欠陥画素と考えられない。逆に、スタックピクセルが黒色又はより暗い色により占められている現在の画像の領域にある場合、スタックピクセルは、DPDCロジック部444による処理中に欠陥画素として識別され且つ補正される。
静的欠陥検出に関して、各画素の場所は、欠陥画素であると認識される画素の場所に対応するデータを格納する静的欠陥テーブルと比較される。例えば一実施形態において、DPDCロジック部444は欠陥画素の検出を監視し(例えば、カウンタ機構又はレジスタを使用して)、特定の画素が繰り返し欠陥として観察される場合、その画素の場所は静的欠陥テーブルに格納される。従って、静的欠陥検出中、現在の画素の場所が静的欠陥テーブルにあると判定される場合、現在の画素は、欠陥画素であると識別され、置換値が判定されて一時的に格納される。一実施形態において、置換値は、同一の色成分の先行画素(走査順に基づいて)の値である。以下に説明するように、置換値は、動的/スペックル欠陥検出及び補正中に静的欠陥を補正するために使用される。更に先行画素がrawフレーム154(図9)の外側にある場合、その値は使用されず、静的欠陥は動的欠陥補正処理中に補正される。更にメモリを考慮すると、静的欠陥テーブルは、有限数の場所エントリを格納する。例えば一実施形態において、静的欠陥テーブルは、画像データの2行毎に合計16個の場所を格納するように構成されたFIFOキューとして実現される。静的欠陥テーブルにおいて規定された場所は、先行画素置換値を使用して(以下に説明する動的欠陥検出処理を介するのではなく)補正される。上述したように、本技術の実施形態は、ある期間にわたり間欠的に静的欠陥テーブルを更新する。
実施形態は、オンチップメモリ又はオフチップメモリにおいて実現される静的欠陥テーブルを提供する。理解されるように、オンチップ実現例を使用することは、全体のチップ面積/サイズを増加する可能性があり、その一方で、オフチップ実現例を使用することは、チップ面積/サイズを縮小するがメモリ帯域幅に対する要求を増加する可能性がある。従って、静的欠陥テーブルは、特定の実現要件に従って、すなわち静的欠陥テーブル内に格納される合計の画素数に従ってオンチップ又はオフチップで実現されることが理解されるべきである。
動的欠陥及びスペックル検出処理は、上述した静的欠陥検出処理に対して時間シフトされる。例えば一実施形態において、動的欠陥及びスペックル検出処理は、静的欠陥検出処理が2走査線(例えば、行)の画素を解析した後に開始する。理解されるように、これにより、動的/スペックル検出が行われる前に静的欠陥の識別及びそれらの置換値を判定できる。例えば動的/スペックル検出処理中、動的/スペックル検出動作を適用するのではなく、現在の画素が静的欠陥であると先に印をつけられた場合、静的欠陥が先に評価された置換値を使用して単純に補正される。
動的欠陥及びスペックル検出に関して、これらの処理は順次又は並列に行われる。DPDCロジック部444により実行される動的欠陥及びスペックル検出及び補正は、画素間の方向勾配を使用する適応エッジ検出に依存する。一実施形態において、DPDCロジック部444は、rawフレーム154(図9)内にある同一の色成分を有する現在の画素のすぐ隣の8つの画素を選択する。換言すると、図34において以下に示すように、現在の画素及びその8つの隣接画素P0、P1、P2、P3、P4、P5、P6及びP7は3×3領域を形成する。
尚、現在の画素Pの場所に従って、rawフレーム154の外側の画素は、画素間の勾配を算出する時に考慮されない。例えば図34に示した「左上」の例454に関して、現在の画素Pはrawフレーム154の左上隅にあるため、rawフレーム154の外側の隣接画素P0、P1、P2、P3及びP5は考慮されず、画素P4、P6及びP7(N=3)のみが残る。「上」の例458において、現在の画素Pは、rawフレーム154の最上部のエッジにあるため、rawフレーム154の外側の隣接画素P0、P1及びP2は考慮されず、画素P3、P4、P5、P6及びP7(N=5)のみが残る。次に「右上」の例458において、現在の画素Pはrawフレーム154の右上隅にあるため、rawフレーム154の外側の隣接画素P0、P1、P2、P4及びP7は考慮されず、画素P3、P5及びP6(N=3)のみが残る。「左」の例460において、現在の画素Pはrawフレーム154の最も左側のエッジにあるため、rawフレーム154の外側の隣接画素P0、P3及びP5は考慮されず、画素P1、P2、P4、P6及びP7(N=5)のみが残る。
「中心」の例462において、全ての画素P0〜P7は、rawフレーム154内にあるため、画素間の勾配を判定する際に使用される(N=8)。「右」の例464において、現在の画素Pはrawフレーム154の最も右側のエッジにあるため、rawフレーム154の外側の隣接画素P2、P4及びP7は考慮されず、画素P0、P1、P3、P5及びP6(N=5)のみが残る。更に「左下」の例466において、現在の画素Pはrawフレーム154の左下隅にあるため、rawフレーム154の外側の隣接画素P0、P3、P5、P6及びP7は考慮されず、画素P1、P2及びP4(N=3)のみが残る。「下」の例468において、現在の画素Pはrawフレーム154の最下部のエッジにあるため、rawフレーム154の外側の隣接画素P5、P6及びP7は考慮されず、画素P0、P1、P2、P3及びP4(N=5)のみが残る。最後に「右下」の例470において、現在の画素Pはrawフレーム154の右下隅にあるため、rawフレーム154の外側の隣接画素P2、P4、P5、P6及びP7は考慮されず、画素P0、P1及びP3(N=3)のみが残る。
従って、現在の画素Pの位置に依存して、画素間の勾配を判定する際に使用される画素数は3、5又は8である。図示する実施形態において、ピクチャ境界(例えば、rawフレーム154)内の隣接画素(k=0〜7)毎に画素間の勾配が以下のように算出される。
更に平均勾配Gavは、以下の式で示すように現在の画素とその周囲の画素の平均Pavとの間の差分として算出される。
画素間の勾配の値(式17)は、動的欠陥の例を判定する際に使用され、隣接画素の平均(式18及び19)は、以下に更に説明するようにスペックルの例を識別する際に使用される。
一実施形態において、動的欠陥検出は、以下のようにDPDCロジック部444により実行される。最初に、特定の数の勾配Gが変数dynTh(動的欠陥閾値)により示される特定の閾値以下である場合に画素は欠陥画素であると仮定する。従って、閾値dynTh以下であるピクチャ境界内の隣接画素に対する勾配数のカウント(C)が画素毎に累積される。閾値dynThは、周囲の画素にある「アクティビティ」に依存する固定閾値成分及び動的閾値成分の組み合わせである。例えば一実施形態において、以下に示すように、dynThの動的閾値成分は、平均画素値Pav(式18)と各隣接画素との間の絶対差分を合計することに基づいて高周波成分値Phfを算出することにより判定される。
画素が画像の隅(N=3)又は画像のエッジ(N=5)に配置される例において、Phfは8/3又は8/5とそれぞれ乗算される。理解されるように、これは、高周波成分Phfが8つの隣接画素(N=8)に基づいて正規化されることを保証する。
hfが判定されると、動的欠陥検出閾値dynThは以下に示すように計算される。
式中、dynThは固定閾値成分を表し、dynThは動的閾値成分を表し、式21においてPhfの乗数である。異なる固定閾値成分dynThは、色成分毎に提供されるが、同一色の画素毎に同一である。単なる例として、dynThは、少なくとも画像の雑音の変動を上回るように設定される。
動的閾値成分dynThは、画像のある特性に基づいて判定される。例えば一実施形態において、dynThは、露出及び/又はセンサ積分時間に関する格納された実験データを使用して判定される。実験データは、撮像素子(例えば、90)の較正中に判定され、dynThに対して選択される動的閾値成分値を多くのデータ点の各々と関連付ける。従って、ISPフロントエンド処理ロジック部80における統計処理中に判定される現在の露出及び/又はセンサ積分時間値に基づいて、dynThは、現在の露出及び/又はセンサ積分時間値に対応する格納された実験データから動的閾値成分値を選択することにより判定される。更に現在の露出及び/又はセンサ積分時間値が実験データ点の1つに直接対応しない場合、dynThは、間に現在の露出及び/又はセンサ積分時間値が入るデータ点と関連付けられた動的閾値成分値を補間することにより判定される。更に固定閾値成分dynThのように、動的閾値成分dynThは色成分毎に異なる値を有する。従って、合成閾値dynThは色成分(例えば、R、B、Gr、Gb)毎に異なる。
上述したように、閾値dynTh以下であるピクチャ境界内の隣接画素に対する勾配数のカウント(C)が画素毎に判定される。例えば閾値dynTh以下である勾配Gの累積カウントCは、rawフレーム154内の隣接画素毎に以下のように計算される。
次に、累積カウントCが変数dynMaxCで示される最大カウント以下であると判定される場合、画素は動的欠陥として考えられる。一実施形態において、dynMaxCに対する種々の値は、N=3(隅)、N=5(エッジ)及びN=8の条件で提供される。このロジック部を以下に表す。
上述したように、欠陥画素の場所は静的欠陥テーブルに格納される。いくつかの実施形態において、現在の画素に対する動的欠陥検出中に算出された最小勾配値(min(Gk))は格納され、最小勾配値が大きい程欠陥の「深刻さ」が大きいことを示し且つ深刻さがより小さい欠陥が補正される前により大きい最小勾配値が画素補正中に補正されるように欠陥画素をソートするために使用される。一実施形態において、画素は、ある期間にわたり欠陥画素の場所をフィルタリングするなどにより、静的欠陥テーブルに格納される前に複数の撮像フレームにわたり処理される必要がある。後者の実施形態において、欠陥が特定の数の連続した画像において同一の場所に現れる場合にのみ、欠陥画素の場所は静的欠陥テーブルに格納される。更にいくつかの実施形態において、静的欠陥テーブルは、最小勾配値に基づいて、格納された欠陥画素の場所をソートするように構成される。例えば最大の最小勾配値は、「深刻さ」がより大きい欠陥を示す。このように場所を順序付けすることにより、最も深刻な又は重大な欠陥が最初に補正されるように静的欠陥補正の優先度が設定される。更に静的欠陥テーブルは、新しく検出された静的欠陥を含むようにある期間にわたり更新され、各最小勾配値に基づいてそれら欠陥を順序付けする。
上述した動的欠陥検出処理と並列に行われるスペックル検出は、値Gav(式19)がスペックル検出閾値spkThを上回るかを判定することにより実行される。動的欠陥閾値dynThのように、スペックル閾値spkThは、spkThにより示される固定成分及びspkThにより示される動的成分を含む。より多くのテクスチャを与えられる画像及びテキスト、フォリッジ、特定のファブリックパターン等の領域において誤ってスペックルを検出することを回避するために、一般に固定成分spkTh及び動的成分spkThは、dynTh1及びdynTh2と比較してより「アグレッシブ」に設定される。従って、一実施形態において、動的スペックル閾値成分spkThは、画像の高度テクスチャ領域に対しては増加され、「より平坦な」又はより均一な領域に対しては減少される。スペックル検出閾値spkThは、以下に示すように計算される。
式中、spkThは固定閾値成分を表し、spkThは動的閾値成分を表す。スペックルの検出は、以下の表現に従って判定される。
欠陥画素が識別されると、DPDCロジック部444は検出された欠陥の種類に従って画素補正動作を適用する。例えば欠陥画素が静的欠陥として識別された場合、画素は、上述したように格納された置換値(例えば、同一の色成分の先行画素の値)で置換される。画素が動的欠陥又はスペックルとして識別された場合、画素補正は以下のように実行される。第1に、以下に示すように、勾配は水平(h)方向、垂直(v)方向、正の対角線方向(dp)及び負の対角線方向(dn)の4つの方向に対して中心画素と第1の隣接画素及び第2の隣接画素との間の絶対差分の合計として計算される(例えば、式17のGの計算)。
次に、補正画素値Pは、最小値を有する方向勾配G、G、Gdp及びGdnと関連付けられた2つの隣接画素の線形補間を介して判定される。例えば一実施形態において、以下のロジック部表現は、Pの算出を表す。
DPDCロジック部444により実現される画素補正技術は、境界条件における例外を提供する。例えば選択された補間方向と関連付けられた2つの隣接画素のうちの一方がrawフレームの外側にある場合、rawフレーム内にある隣接画素の値が代わりに置換される。従って、この技術を使用すると、補正画素値はrawフレーム内の隣接画素の値と等しくなる。
尚、ISPパイプ処理中にDPDCロジック部444により適用される欠陥画素検出/補正技術は、ISPフロントエンド処理ロジック部80のDPDCロジック部304と比較してより高いロバスト性を有する。上記実施形態において説明したように、DPDCロジック部304は水平方向のみの隣接画素を使用して動的欠陥検出及び補正のみを実行し、その一方で、DPDCロジック部444は水平方向及び垂直方向双方の隣接画素を使用する静的欠陥、動的欠陥及びスペックルの検出及び補正を提供する。
理解されるように、静的欠陥テーブルを使用して欠陥画素の場所を格納することにより、必要とされるメモリがより少ない欠陥画素の時間フィルタリングが提供される。例えば画像全体を格納し且つ時間フィルタリングを適用して静的欠陥をある時間にわたり識別する多くの従来の技術と比較して、本技術の実施形態は欠陥画素の場所のみを格納する。これは、一般に画像フレーム全体を格納するのに必要とされる何分の1かのメモリを使用して行われる。更に上述したように、最小勾配値(min(G))を格納することにより、欠陥画素が補正される(例えば、最もよく目に見える欠陥画素から開始する)場所に優先順位をつける静的欠陥テーブルが効率的に使用できる。
更に動的成分を含む閾値(例えば、dynTh及びspkTh)を使用することは、画像(例えば、テキスト、フォリッジ、特定のファブリックパターン等)の高度テクスチャ領域を処理する時に従来の画像処理システムにおいてよく直面する問題である欠陥の誤検出を低減するのを助長する。また、画素補正のために方向勾配(例えば、h、v、dp、dn)を使用することは、欠陥の誤検出が行われた場合の可視アーチファクトの出現を低減できる。例えば最小勾配方向にフィルタリングした結果、誤検出の場合であっても殆どの場合に許容される結果を与える補正が行われる。更に現在の画素Pを勾配算出に含むことは、特にホットピクセルの場合に勾配検出の精度を向上できる。
DPDCロジック部444により実現される上述した欠陥画素検出及び補正技術は、図35〜図37において提供される一連のフローチャートにより概略が示される。例えばまず図35を参照すると、静的欠陥を検出する処理472が示される。ステップ474で開始すると、入力画素Pが第1の時間Tにおいて受信される。次のステップ476において、画素Pの場所は静的欠陥テーブルに格納された値と比較される。判断ロジック478は、画素Pの場所が静的欠陥テーブルにおいて見つけられるかを判定する。Pの場所が静的欠陥テーブルにある場合、処理472はステップ480に継続し、画素Pは静的欠陥として印をつけられ、置換値が判定される。上述したように、置換値は、同一の色成分の先行画素(走査順において)の値に基づいて判定される。処理472はステップ482に継続し、ステップ482において、処理472は図36に示した動的及びスペックル検出処理484に進む。更に、判断ロジック478において、画素Pの場所が静的欠陥テーブルにないと判定される場合、処理472はステップ480を実行せずにステップ482に進む。
図36に継続すると、ステップ486により示されるように、入力画素Pは、動的欠陥又はスペックルが存在するかを判定する処理のために時間T1において受信される。時間T1は、図35の静的欠陥検出処理472に対する時間シフトを表す。上述したように、動的欠陥及びスペックル検出処理は、静的欠陥検出処理が2走査線(例えば、行)の画素を解析した後に開始し、これにより、動的/スペックル検出が行われる前に静的欠陥の識別及びそれらの置換値が判定される時間を与える。
判断ロジック488は、入力画素Pが静的欠陥として先に印をつけられたか(例えば、処理472のステップ480により)を判定する。Pが静的欠陥として印をつけられた場合、処理484は、図37に示す画素補正処理に継続し、図36に示す残りのステップを回避する。入力画素Pが静的欠陥でないと判断ロジック488が判定する場合、ステップ490に継続し、動的欠陥及びスペックル処理において使用される隣接画素が識別される。例えば図34に示し且つ上述した実施形態によると、隣接画素は画素Pのすぐ隣の8つの画素(例えば、P0〜P7)を含み、3×3画素領域を形成する。次のステップ492において、上記の式17において説明したように、画素間の勾配はrawフレーム154内の各隣接画素に対して算出される。更に、式18及び19において示すように、平均勾配(Gav)は、現在の画素とその周囲の画素の平均との間の差分として算出される。
その後、処理484は、動的欠陥検出のためのステップ494及びスペックル検出のための判断ロジック502に分岐する。上述したように、いくつかの実施形態において、動的欠陥検出及びスペックル検出は並列に行われる。ステップ494において、閾値dynTh以下である勾配数のカウントCが判定される。上述したように、閾値dynThは、固定成分及び動的成分を含み、一実施形態においては上記の式21に従って判定される。Cが最大カウントdynMaxC以下である場合、処理484はステップ500に継続し、現在の画素は動的欠陥であるとして印をつけられる。その後、以下に説明するように、処理484は図37に示す画素補正処理に継続する。
ステップ492の後の分岐に戻ると、スペックル検出の場合、判断ロジック502は、平均勾配Gavが固定成分及び動的成分を含むスペックル検出閾値spkThより大きいかを判定する。Gavが閾値spkThより大きい場合、画素Pはステップ504においてスペックルを含むものとして印をつけられ、その後、処理484はスペックル画素の補正のために図37に継続する。更に判断ロジックブロック496及び502の双方の出力が「NO」である場合、これは、画素Pが動的欠陥、スペックル又は静的欠陥(判断ロジック488)を含まないことを示す。従って、判断ロジック496及び502の出力が「NO」である場合、欠陥(例えば、静的、動的又はスペックル)が検出されなかったため、処理484はステップ498で終了し、これにより画素Pは変更されずに渡される。
図37に継続すると、上述した技術に従う画素補正処理506が提供される。ステップ508において、入力画素Pは、図36の処理484から受信される。尚、画素Pは、ステップ488(静的欠陥)又はステップ500(動的欠陥)及び504(スペックル欠陥)から処理506により受信される。判断ロジック510は、画素Pが静的欠陥として印をつけられているかを判定する。画素Pが静的欠陥である場合、処理506はステップ512に継続して終了し、これにより静的欠陥はステップ480(図35)で判定された置換値を使用して補正される。
画素Pが静的欠陥として識別されない場合、処理506は判断ロジック510からステップ514に継続し、方向勾配が算出される。例えば式26〜29を参照して上述したように、勾配は、現在の画素と4方向(h、v、dp及びdn)に対する第1の隣接画素及び第2の隣接画素との間の絶対差分の合計として計算される。次のステップ516において、最小値を有する方向勾配が識別され、その後、判断ロジック518は、最小勾配と関連付けられた2つの隣接画素のうちの一方が画像フレーム(例えば、rawフレーム154)の外側に配置されているかを評価する。双方の隣接画素が画像フレーム内にある場合、処理506はステップ520に継続し、画素補正値(P)は式30により示されるように2つの隣接画素の値に線形補間を適用することにより判定される。その後、入力画素Pは、ステップ526に示すように補間済み画素補正値Pを使用して補正される。
判断ロジック518に戻ると、2つの隣接画素のうち一方が画像フレーム(例えば、rawフレーム165)の外側に配置されると判定される場合、外側の画素(Pout)の値を使用する代わりに、ステップ522に示すように、DPDCロジック部444は画像フレーム(Pin)内の他方の隣接画素の値でPoutの値を置換する。その後、ステップ524において、画像補正値Pは、Pinの値及びPoutの置換された値を補間することにより判定される。換言すると、この場合、PはPinの値と等しい。ステップ526で終了すると、画素Pは値Pを使用して補正される。説明を続ける前に、DPDCロジック部444を参照して本明細書で説明した特定の欠陥画素検出及び補正処理は、本技術の1つの可能な実施形態のみを反映することを意図していることが理解されるべきである。実際には、設計及び/又はコスト制限に従って、多くの変形が可能であり、欠陥検出/補正ロジック部の全体の複雑さ及びロバスト性がISPフロントエンド処理ブロック80において実現されるより単純な検出/補正ロジック部304とDPDCロジック部444を参照して本明細書において説明した欠陥検出/補正ロジック部との間になるように特徴が追加又は除去される。
図33に戻ると、補正済み画素データはDPDCロジック部444から出力され、更なる処理のために雑音除去ロジック部446により受信される。一実施形態において、雑音除去ロジック部446は、詳細及びテクスチャを維持しつつ画像データにおける雑音を低減するために2次元エッジ適応ローパスフィルタリングを実現するように構成される。エッジ適応閾値は、フィルタリングが低光条件下で強化されるように現在の照明レベルに基づいて設定される(例えば、制御ロジック部84により)。更にdynTh値及びspkTh値の判定に関して簡単に上述したように、雑音除去処理中に雑音がシーンの詳細及びテクスチャに大きく影響を及ぼさずに低減される(例えば、誤検出を回避/低減する)ように雑音除去閾値が雑音変動をちょうど超える値に設定されるように、雑音の変動は所定のセンサに対して先に判定される。ベイヤカラーフィルタ実現例を仮定すると、雑音除去ロジック部446は、分離7タップ水平フィルタ及び5タップ垂直フィルタを使用して色成分Gr、R、B及びGbの各々を別個に処理する。一実施形態において、雑音除去処理は、緑色成分(Gb及びGr)の不均一性を補正し且つ水平フィルタリング及び垂直フィルタリングを実行することにより実行される。
均一に照明された平坦な表面を仮定すると、一般に緑色不均一性(GNU)は、Gr画素とGb画素との間の僅かな明るさの差により特徴付けられる。この不均一性の補正も補償もしないと、「迷路のような」アーチファクト等の特定のアーチファクトがデモザイク後のフルカラー画像に現れる可能性がある。緑色が不均一の間、処理は、rawベイヤ画像データの緑色画素毎に、現在の緑色画素(G1)と現在の画素の右下の緑色画素(G2)との間の絶対差分がGNU補正閾値(gnuTh)未満であるかを判定することを含む。図38は、ベイヤパターンの2×2領域のG1画素及びG2画素の配置を示す。図示するように、G1に隣接する画素の色は、現在の緑色画素がGb又はGr画素であるかに依存する。例えばG1がGrである場合、G2はGbであり、G1の右側の画素はR(赤)であり、G1の下側の画素はB(青)である。あるいは、G1がGbである場合、G2はGrであり、G1の右側の画素はBであり、G1の下側の画素はRである。G1とG2との間の絶対差分がGNU補正閾値未満である場合、以下のロジック部で示すように、現在の緑色画素G1はG1及びG2の平均値により置換される。
理解されるように、このように緑色不均一性補正を適用することは、G1画素及びG2画素がエッジをまたいで平均されないようにするのを助長し、これにより鮮明度を向上し且つ/又は維持する。
水平フィルタリングは、緑色不均一性補正の後に適用され、一実施形態においては、7タップ水平フィルタを提供する。各フィルタタップのエッジを横切る勾配が計算され、それが水平エッジ閾値(horzTh)を超える場合、フィルタタップは、以下に示すように中心画素に重ねられる。水平フィルタは、色成分(R、B、Gr、Gb)毎に個別に画像データを処理し、フィルタリングされていない値を入力値として使用する。
例として、図39は、中央タップがP3に位置付けられた水平画素P0〜P6の集合を示す図である。図39に示す画素に基づいて、各フィルタタップに対するエッジ勾配が以下のように算出される。
エッジ勾配Eh0〜Eh5は、以下の式38を使用して水平フィルタリング出力Phorzを判定するために水平フィルタ成分により利用される。
式中、horzTh[c]は色成分c(例えば、R、B、Gr及びGb)毎の水平エッジ閾値であり、C0〜C6はそれぞれ画素P0〜P6に対応するフィルタタップ係数である。水平フィルタ出力Phorzは、中心画素P3の場所において適用される。一実施形態において、フィルタタップ係数C0〜C6は、3ビットの整数部及び13ビットの小数部(浮動小数点で3.13)を有する16ビットの2の補数値である。尚、フィルタタップ係数C0〜C6は中心画素P3に関して必ずしも対称である必要はない。
垂直フィルタリングは、緑色不均一性補正及び水平フィルタリング処理の後に雑音除去ロジック部446により適用される。一実施形態において、垂直フィルタ動作は、垂直フィルタの中央タップがP2に配置された状態で、図40に示すように5タップフィルタを提供する。垂直フィルタリング処理は、上述した水平フィルタリング処理と同様に行われる。例えば各フィルタタップのエッジを横切る勾配が計算され、それが垂直エッジ閾値(vertTh)を上回る場合、フィルタタップは中心画素P2に重ねられる。垂直フィルタは、色成分(R、B、Gr、Gb)毎に個別に画像データを処理し、フィルタリングされていない値を入力値として使用する。
図40に示す画素に基づいて、フィルタタップ毎の垂直エッジ勾配は以下のように算出される。
エッジ勾配Ev0〜Ev5は、以下の式43を使用して垂直フィルタリング出力Pvertを判定するために垂直フィルタにより利用される。
式中、vertTh[c]は、色成分c(例えば、R、B、Gr及びGb)毎の垂直エッジ閾値であり、C0〜C4は、それぞれ図40の画素P0〜P4に対応するフィルタタップ係数である。垂直フィルタ出力Pvertは、中心画素P2の場所において適用される。一実施形態において、フィルタタップ係数C0〜C4は、3ビットの整数部及び13ビットの小数部(浮動小数点で3.13)を有する16ビットの2の補数値である。尚、フィルタタップ係数C0〜C4は、中心画素P2に関して必ずしも対称である必要はない。
更に境界条件に関して、隣接画素がrawフレーム154(図9)の外側にある場合、境界の外側の画素の値がrawフレームのエッジにおける同一色の画素値により繰り返される。この規則は、水平フィルタリング動作及び垂直フィルタリング動作に対して実現される。例として、図39を参照すると、水平フィルタリングの場合、画素P2がrawフレームの最も左側のエッジのエッジ画素であり且つ画素P0及びP1がrawフレームの外側にある場合、画素P0及びP1の値は水平フィルタリングのために画素P2の値で置換される。
図33に示すraw処理ロジック部414のブロック図に戻ると、雑音除去ロジック部446の出力は、処理のためにレンズシェーディング補正(LSC)ロジック部448に送出される。上述したように、レンズシェーディング補正技術は、レンズの幾何学的光学の結果起こる光強度の低下、製造時の不完全性並びにマイクロレンズアレイ及びカラーアレイフィルタの位置合わせ不良等を補償するために画素毎に適切なゲインを適用することを含む。更にいくつかのレンズにおける赤外線(IR)フィルタにより、光強度の低下は光源に依存するため、レンズシェーディングゲインは検出された光源に従って適応される。
図示する実施形態において、ISPパイプ82のLSCロジック部448は同様に実現され、図23〜図31を参照して上述したように一般にISPフロントエンド処理ブロック80のLSCロジック部308と同一の機能を提供する。従って、重複を避けるため、本明細書で図示する実施形態のLSCロジック部448は一般にLSCロジック部304と同様に動作するように構成され且つそのために上記で提供されたレンズシェーディング補正技術の説明はここでは繰り返さないことが理解されるべきである。しかし、一般的に要約するために、LSCロジック部448は、現在の画素に適用するゲインを判定するためにraw画素データストリームの各色成分を個別に処理することが理解されるべきである。上述した実施形態によると、レンズシェーディング補正ゲインは、撮像フレームにわたり分散された規定されたゲイン格子点の集合に基づいて判定される。各格子点間の間隔は多くの画素(例えば、8画素、16画素等)により規定される。現在の画素の場所が格子点に対応する場合、その格子点と関連付けられたゲイン値は現在の画素に適用される。しかし、現在の画素の場所が格子点(例えば、図26のG0、G1、G2及びG3)の間にある場合、LSCゲイン値は、現在の画素が間に配置される格子点の補間により算出される(式11a及び11b)。この処理は、図27の処理380により示される。更に図25に関して上述したように、いくつかの実施形態において、格子点は、LSC領域354の中心に集中せず、一般にレンズシェーディング歪みがより見えやすいLSC領域354の隅に向かってより集中するように不均一に(例えば、対数的に)分散される。
更に図30及び図31を参照して上述したように、LSCロジック部448は、格子ゲイン値を有する径方向のゲイン成分を更に適用する。径方向のゲイン成分は、画像の中心からの現在の画素の距離に基づいて判定される(式12〜14)。上述したように、径方向のゲインを使用することにより、全ての色成分に対して単一の共通のゲイン格子を使用することが可能になり、色成分毎に別個のゲイン格子を格納するのに必要とされる合計の記憶空間が大きく減少されるだろう。格子ゲインデータテーブルが画像処理ハードウェアのメモリ又はチップ面積の多くの部分を占めるため、この格子ゲインデータの減少により実現コストは低下する。
次に図33のraw処理ロジックブロック図414を再度参照すると、LSCロジック部448の出力は、第2のゲイン、オフセット及びクランピング(GOC)ブロック450に渡される。GOCロジック部450は、デモザイク(ロジックブロック452による)の前に適用され、LSCロジック部448の出力に対して自動ホワイトバランスを実行するために使用される。図示する実施形態において、GOCロジック部450は、GOCロジック部442(及びBLCロジック部306)と同様に実現される。上記の式9に従って、GOCロジック部450により受信された入力は、符号付き値の分だけオフセットされ、ゲインと乗算される。結果として得られる値は、式10に従って最小範囲及び最大範囲にクリップされる。
その後、GOCロジック部450の出力は、処理のためにデモザイクロジック部452に転送され、rawベイヤ入力データに基づいてフルカラー(RGB)画像を生成する。理解されるように、ベイヤフィルタ等のカラーフィルタアレイを使用する撮像素子のraw出力は、各画素が単一の色成分のみを取得するためにフィルタリングされるという意味で「不完全」である。従って、個々の画素に対して収集されたデータは色を判定するには不十分である。デモザイク技術は、画素毎に欠落したカラーデータを補間することによりrawベイヤデータからフルカラー画像を生成するために使用される。
図41を参照すると、フルカラーRGBを生成するためにrawベイヤ画像パターン532へのデモザイクの適用方法に関して一般的な概要を提供する処理フロー530の図が示される。図示するように、rawベイヤ画像532の4×4部分534は、色成分毎に別個のチャネルを含み、緑色チャネル536、赤色チャネル538及び青色チャネル540を含む。ベイヤセンサのみの各撮像画素が1つの色に対するデータを取得するため、色チャネル536、538及び540の各々に対するカラーデータは、記号「?」で示すように不完全である可能性がある。デモザイク技術542を適用することにより、各チャネルの欠落したカラーサンプルが補間される。例えば図中符号544で示すように、補間データG'は緑色チャネルの欠落したサンプルを埋めるために使用される。同様に、補間データR'は赤色チャネル546の欠落したサンプルを埋めるために使用され(補間データG'544と組み合わせて)、補間データB'は青色チャネル548の欠落したサンプルを埋めるために使用される(補間データG'544と組み合わせて)。従って、デモザイク処理の結果、各色チャネル(R、G、B)はカラーデータの完全な集合を有し、これはフルカラーRGB画像550を再構成するために使用される。
次に、デモザイクロジック部452により実現されるデモザイク技術について、一実施形態に従って説明する。緑色チャネルにおいて、欠落したカラーサンプルは、既知の緑色サンプルにおいて方向ローパスフィルタを使用し且つ隣接する色チャネル(例えば、赤及び青)においてハイパス(又は勾配)フィルタを使用して補間される。赤色チャネル及び青色チャネルの場合、欠落したカラーサンプルは同様に補間されるが、既知の赤色値又は青色値においてローパスフィルタリングを使用し且つ同一の場所に配置された補間済み緑色値においてハイパスフィルタリングを使用することにより補間される。更に一実施形態において、緑色チャネルにおけるデモザイクは、元のベイヤカラーデータに基づいて5×5画素ブロックエッジ適応フィルタを利用する。以下に更に説明するように、エッジ適応フィルタを使用することにより、水平及び垂直フィルタリング済みの値の勾配に基づく連続した重み付けを提供し、これにより従来のデモザイク技術で一般に見られたエイリアシング、「チェッカーボード」又は「レインボー」アーチファクト等の特定のアーチファクトの出現が低減される。
緑色チャネルにおけるデモザイク中、ベイヤ画像パターンの緑色画素(Gr及びGb画素)に対する元の値が使用される。しかし、緑色チャネルに対するデータの完全な集合を取得するために、緑色画素値はベイヤ画像パターンの赤色画素及び青色画素において補間される。本技術によると、最初に、Eh及びEvでそれぞれ示される水平エネルギー成分及び垂直エネルギー成分は、上述した5×5画素ブロックに基づいて赤色画素及び青色画素において算出される。Eh及びEvの値は、以下に更に説明するように、水平及び垂直フィルタリングステップからのフィルタリング済みのエッジ重み付き値を取得するために使用される。
例として、図42は、場所(j,i)における5×5画素ブロックの中心に配置された赤色画素に対するEh値及びEv値の計算を示す。ここで、jは行に対応し、iは列に対応する。図示するように、Ehの算出では、5×5画素ブロックの中央の3行(j−1、j、j+1)を考慮し、Evの算出では、5×5画素ブロックの中央の3列(i−1、i、i+1)を考慮する。Ehを計算するために、対応する係数(例えば、列i−2及びi+2に対しては−1、列iに対しては2)と乗算された赤色の列(i−2、i、i+2)の画素の合計の絶対値は、対応する係数(例えば、列i−1に対しては1、列i+1に対しては−1)と乗算された青色の列(i−1、i+1)の画素の合計の絶対値と合計される。Evを計算するために、対応する係数(例えば、行j−2及びj+2に対しては−1、行jに対しては2)と乗算された赤色の行(j−2、j、j+2)の画素の合計の絶対値は、対応する係数(例えば、行j−1に対しては1、行j+1に対しては−1)と乗算された青色の行(j−1、j+1)の画素の合計の絶対値と合計される。これらの計算は、以下の式44及び45により示される。
従って、合計のエネルギーは、Eh+Evで表される。更に図42に示す例は(j,i)における赤色の中心画素に対するEh及びEvの計算を示すが、Eh値及びEv値は青色の中心画素に対して同様に判定されることが理解されるべきである。
次に水平及び垂直フィルタリングは、それぞれ水平方向及び垂直方向の補間済み緑色値を表す垂直及び水平フィルタリング済みの値Gh及びGvを取得するためにベイヤパターンに適用される。フィルタリング済みの値Gh及びGvは、欠落した緑色サンプルの場所における高周波信号を得るために隣接する色(R又はB)の方向勾配を使用することに加えて既知の隣接する緑色サンプルにおいてローパスフィルタを使用して判定される。例えば図43を参照して、Ghを判定するための水平補間の一例を次に示す。
図43に示すように、ベイヤ画像の赤色の線552の5つの水平画素(R0、G1,R2、G3及びR4)は、Ghを判定する際に考慮される。ここで、R2は(j,i)における中心画素であると仮定される。これらの5つの画素の各々と関連付けられたフィルタ係数は、図中符号554により示される。従って、中心画素R2に対するG2'で示される緑色値の補間は以下のように判定される。
種々の数値演算は、以下の式47及び48に示したG2'に対する表現を生成するために利用される。
図43及び上記の式46〜48を参照すると、(j,i)における緑色値に対する水平補間に対する一般的な表現は以下のように導出される。
垂直フィルタリング成分Gvは、Ghと同様に判定される。例えば図44を参照すると、ベイヤ画像の赤色の列556の5つの垂直画素(R0、G1、R2、G3及びR4)及びそれらのフィルタ係数558は、Gvを判定する際に考慮される。ここで、R2は(j,i)における中心画素であると仮定される。垂直方向において既知の緑色サンプルにおいてローパスフィルタリングを使用し且つ赤色チャネルにおいてハイパスフィルタリングを使用して、Gvに対して以下の表現を導出する。
本明細書で説明した例は、赤色画素における緑色値の補間を示したが、式49及び50において示された表現が青色画素に対する緑色値の水平及び垂直補間において使用されることが理解されるべきである。
中心画素(j,i)に対する最終的な補間済み緑色値G'は、以下の式を得るために上述したエネルギー成分(Eh及びEv)により水平フィルタ出力(Gh)及び垂直フィルタ出力(Gv)を重み付けすることにより判定される。
上述したように、エネルギー成分Eh及びEvは、水平フィルタ出力Gh及び垂直フィルタ出力Gvのエッジ適応重み付けを提供し、これは、再構成RGB画像におけるレインボー、エイリアシング又はチェッカーボードアーチファクト等の画像アーチファクトを低減するのを助長する。更にデモザイクロジック部452は、Gh及びGvが同等に重み付けされるようにEh値及びEv値をそれぞれ1に設定することによりエッジ適応重み付け機能を回避するオプションを提供する。
一実施形態において、上記の式51に示す水平重み付け係数及び垂直重み付け係数は、重み付け係数の精度を「粗」な値の集合に低下させるために量子化される。例えば一実施形態において、重み付け係数は、8つの可能な重み比率1/8、2/8、3/8、4/8、5/8、6/8、7/8及び8/8に量子化される。他の実施形態は、重み付け係数を16個の値(例えば、1/16〜16/16)及び32個の値(1/32〜32/32)等に量子化する。理解されるように、完全精度値(例えば、32ビットの浮動小数点の値)を使用することと比較すると、重み係数の量子化は、重み付け係数を判定して水平フィルタ出力及び垂直フィルタ出力に適用する時の実装の複雑さを軽減できる。
更なる実施形態において、本明細書で開示される技術は、重み付け係数を水平フィルタリング済みの値(Gh)及び垂直フィルタリング済みの値(Gv)に適用するために水平エネルギー成分及び垂直エネルギー成分を判定し且つ使用することに加えて、正の対角線方向及び負の対角線方向のエネルギー成分を判定し且つ利用する。例えばそのような実施形態において、フィルタリングは正の対角線方向及び負の対角線方向に適用される。フィルタ出力の重み付けは、2つの最大エネルギー成分を選択すること及びそれぞれのフィルタ出力を重み付けするためにそれら選択したエネルギー成分を使用することを含む。例えば2つの最大エネルギー成分が垂直方向及び正の対角線方向に対応すると仮定すると、垂直方向のエネルギー成分及び正の対角線方向のエネルギー成分は、垂直方向のフィルタ出力及び正の対角線方向のフィルタ出力を重み付けするために使用され、補間済み緑色値(例えば、ベイヤパターンにおける赤色画素又は青色画素の場所における)を判定する。
次に赤色チャネル及び青色チャネルにおけるデモザイクは、ベイヤ画像パターンの緑色画素において赤色値及び青色値を補間し、ベイヤ画像パターンの青色画素において赤色値を補間し、且つベイヤ画像パターンの赤色画素において青色値を補間することにより実行される。ここで説明した技術によると、欠落した赤色画素値及び青色画素値は、既知の隣接する赤色画素及び青色画素に基づくローパスフィルタリング並びに現在の画素の場所に依存して元の値であるか又は補間済みの値(上述した緑色チャネルデモザイク処理から得られる)同一の場所に配置された緑色画素値に基づくハイパスフィルタリングを使用して補間される。そのような実施形態に関して、欠落した緑色値の補間は、緑色値(元の値及び補間済みの値の双方)の完全な集合が欠落した赤色サンプル及び青色サンプルを補間する時に利用可能であるように最初に実行されることが理解されるべきである。
赤色画素値及び青色画素値の補間について、図45を参照して説明する。図45は、赤色及び青色デモザイクが適用されるベイヤ画像パターンの種々の3×3ブロック並びに緑色チャネルにおけるデモザイク中に取得された補間済み緑色値(G'で示す)を示す。まずブロック560を参照すると、Gr画素(G11)に対する補間済みの赤色値R'11は以下のように判定される。
式中、G'10及びG'12は、図中符号568により示されるように補間済み緑色値を表す。同様に、Gr画素(G11)に対する補間済み青色値B'11は以下のように判定される。
式中、G'01及びG'21は補間済み緑色値を表す(568)。
次に中心画素がGb画素(G11)である画素ブロック562を参照すると、補間済み赤色値R'11及び青色値B'11は、以下の式54及び55に示すように判定される。
更に画素ブロック564を参照すると、青色画素B11における赤色値の補間は以下のように判定される。
式中、G'00、G'02、G'11、G'20及びG'22は、図中符号570により示されるように補間済み緑色値を表す。最後に、画素ブロック566により示されるような赤色画素における青色値の補間は以下のように算出される。
上述した実施形態は、補間済み赤色値及び青色値を判定するために色差(例えば、勾配)に依存したが、別の実施形態は、色比を使用して補間済み赤色値及び青色値を提供する。例えば補間済み緑色値(ブロック568及び570)は、ベイヤ画像パターンの赤色画素の場所及び青色画素の場所における色比を取得するために使用され、それらの比の線形補間は、欠落したカラーサンプルに対する補間済み色比を判定するために使用される。補間済みの値又は元の値である緑色値は、最終的な補間済み色値を取得するために補間済み色比と乗算される。例えば色比を使用する赤色画素値及び青色画素値の補間は、以下の式に従って実行される。ここで、式58及び59はGr画素に対する赤色値及び青色値の補間を示し、式60及び61はGb画素に対する赤色値及び青色値の補間を示し、式62は青色画素における赤色値の補間を示し、式63は赤色画素における青色値の補間を示す。
(G11がGr画素の場合に補間されたR'11
(G11がGr画素の場合に補間されたB'11
(G11がGb画素の場合に補間されたR'11
(G11がGb画素の場合に補間されたB'11
(青色画素B11において補間されたR'11
(赤色画素R11において補間されたB'11
欠落したカラーサンプルがベイヤ画像パターンの画像画素毎に補間されると、赤色チャネル、青色チャネル及び緑色チャネルに対する色値の完全なサンプル(例えば、図41の544、546及び548)は、フルカラーRGB画像を生成するために組み合わされる。例えば図32及び33に戻ると、raw画素処理ロジック部414の出力424は、8ビット形式、10ビット形式、12ビット形式又は14ビット形式のRGB画像信号である。
次に図46〜図49を参照すると、開示された実施形態に従ってrawベイヤ画像パターンをデモザイクする処理を示す種々のフローチャートが示される。特に、図46の処理572は、所定の入力画素Pに対して補間される色成分の判定を示す。処理572による判定に基づいて、緑色値を補間する処理584(図47)、赤色値を補間する処理596(図48)及び青色値を補間する処理608(図49)のうちの1つ以上が実行される(例えば、デモザイクロジック部452により)。
図46から開始すると、処理572は入力画素Pが受信された時にステップ574で開始する。判断ロジック576は、入力画素の色を判定する。例えばこれは、ベイヤ画像パターン内の画素の場所に依存する。従って、Pが緑色画素(例えば、Gr又はGb)であると識別される場合、処理572はステップ578に進み、Pに対する補間済み赤色値及び青色値を取得する。例えばこれは、図48の処理596及び図49の処理608に継続することを含む。Pが赤色画素であると識別される場合、処理572はステップ580に進み、Pに対する補間済みに緑色値及び青色値を取得する。これは、図47の処理584及び図49の処理608を更に実行することを含む。また、Pが青色画素であると識別される場合、処理572はステップ582に進み、Pに対する補間済みの緑色値及び赤色値を取得する。これは、図47の処理584及び図48の処理596を更に実行することを含む。処理584、596及び608の各々について以下に更に説明する。
入力画素Pに対する補間済み緑色値を判定する処理584は、図47に示され、ステップ586〜594を含む。ステップ586において、入力画素Pが受信される(例えば、処理572から)。次のステップ588において、5×5画素ブロックを形成する隣接画素の集合が識別される。ここで、Pは5×5ブロックの中心である。その後、ステップ590において、画素ブロックは、水平エネルギー成分及び垂直エネルギー成分を判定するために解析される。例えば水平エネルギー成分及び垂直エネルギー成分は、それぞれEh及びEvを算出するための式44及び45に従って判定される。上述したように、エネルギー成分Eh及びEvは、エッジ適応フィルタリングを提供するために重み付け係数として使用されるため、最終的な画像における特定のデモザイクアーチファクトの出現を低減できる。ステップ592において、水平フィルタリング出力及び垂直フィルタリング出力を判定するために、ローパスフィルタリング及びハイパスフィルタリングは水平方向及び垂直方向に適用される。例えば水平フィルタリング出力Gh及び垂直フィルタリング出力Gvは、式49及び50に従って算出される。次に処理572はステップ594に継続し、式51に示すように、補間済み緑色値G'はエネルギー成分Eh及びEvにより重い付けされたGh及びGvの値に基づいて補間される。
次に、図48の処理596に関して、赤色値の補間はステップ598で開始し、入力画素Pが受信される(例えば、処理572から)。ステップ600において、3×3画素ブロックを形成する隣接画素の集合が識別される。ここで、Pは3×3ブロックの中心である。その後、ステップ602において、ローパスフィルタリングは、3×3ブロック内の隣接赤色画素において適用され、ハイパスフィルタリングは、ベイヤ撮像素子により撮像された元の緑色値又は補間済みの値(例えば、図47の処理584を介して判定された)である同一の場所に配置された隣接する緑色値において適用される(ステップ604)。Pに対する補間済み赤色値R'は、ステップ606において示すように、ローパスフィルタリング出力及びハイパスフィルタリング出力に基づいて判定される。Pの色に依存して、R'は式52、54又は56の1つに従って判定される。
青色値の補間に関して、図49の処理608が適用される。一般にステップ610及び612は、処理596(図48)のステップ598及び600と同一である。ステップ614において、ローパスフィルタリングは、3×3内の隣接青色画素において適用され、ステップ616において、ハイパスフィルタリングはベイヤ撮像素子により撮像された元の緑色値又は補間済みの値(例えば、図47の処理584を介して判定された)である同一の場所に配置された隣接する緑色値において適用される。Pに対する補間済み青色値B'は、ステップ618において示すように、ローパスフィルタリング出力及びハイパスフィルタリング出力に基づいて判定される。Pの色に依存して、B'は式53、55又は57の1つに従って判定される。更に上述したように、赤色値及び青色値の補間は、色差(式52〜27)又は色比(式58〜63)を使用して判定される。欠落した緑色値の補間は、緑色値(元の値及び補間済みの値の双方)の完全な集合が欠落した赤色サンプル及び青色サンプルを補間する時に利用可能であるように最初に実行されることが理解されるべきである。例えば図47の処理584は、図48の処理596及び図49の処理608をそれぞれ実行する前に全ての欠落した緑色サンプルを補間するために適用される。
図50〜図53を参照すると、ISPパイプ82のraw画素処理ロジック部414により処理された画像のカラー図の例が提供される。図50は、撮影装置30の撮像素子90により撮像される元の画像シーン620を示す。図51は、撮像素子90により撮像されたraw画素データを表すrawベイヤ画像622を示す。上述したように、従来のデモザイク技術は、画像データにおけるエッジ(例えば、2色以上の領域間の境界)の検出に基づいて適応フィルタリングを提供しない可能性があり、これにより、結果として得られる再構成フルカラーRGB画像においてアーチファクトが生成されてしまう。例えば図52は従来のデモザイク技術を使用して再構成されたRGB画像624を示し、エッジ628において「チェッカーボード」アーチファクト626等のアーチファクトを含む可能性がある。しかし、上述したデモザイク技術を使用して再構成された画像の一例である図53のRGB画像630と画像624とを比較すると、図52に存在するチェッカーボードアーチファクト626が存在しないこと、あるいは少なくともその見かけがエッジ628において実質的に低減されていることがわかる。このように、図50〜図53に示す画像は、従来の方法と比べて本明細書で開示したデモザイク技術が有する少なくとも1つの利点を示すことを意図する。
図32に戻ると、RGB画像信号424を出力するraw画素処理ロジック部414の動作について十分に説明したため、次にこの説明はRGB処理ロジック部416によるRGB画像信号424の処理に注目する。図示するように、RGB画像信号424は、選択ロジック部428及び/又はメモリ108に送出される。RGB処理ロジック部416は、選択ロジック部428の構成に依存して、信号426で示すような信号424又はメモリ108からのRGB画像データである入力信号430を受信する。RGB画像データ430は、色補正(例えば、色補正行列を使用する)、自動ホワイトバランスに対する色ゲインの適用、並びにグローバルトーンマッピング等を含む色調整動作を実行するために、RGB処理ロジック部416により処理される。
RGB処理ロジック部416の一実施形態のより詳細な図を示すブロック図を図54に示す。図示するように、RGB処理ロジック部416は、ゲイン、オフセット及びクランピング(GOC)ロジック部640、RGB色補正ロジック部642、GOCロジック部644、RGBガンマ調整ロジック部、並びに色空間変換ロジック部648を含む。入力信号430は、最初にゲイン、オフセット及びクランピング(GOC)ロジック部640により受信される。図示する実施形態において、GOCロジック部640は、色補正ロジック部642による処理の前にR色チャネル、G色チャネル又はB色チャネルのうちの1つ以上において自動ホワイトバランスを実行するためにゲインを適用する。
GOCロジック部640は、ベイヤ画像データのR、B、Gr及びGb成分ではなくRGB領域の色成分が処理されること以外はraw画素処理ロジック部414のGOCロジック部442と類似する。動作中、現在の画素に対する入力値は、上記の式9で示すように、まず符号付き値O[c]の分だけオフセットされ、ゲインG[c]と乗算される。ここで、cはR、G及びBを表す。上述したように、ゲインG[c]は2ビットの整数部及び14ビットの小数部(例えば、浮動小数点表現で2.14)を有する16ビットの符号なし数であり、ゲインG[c]の値は統計処理(例えば、ISPフロントエンド処理ブロック80における)中に先に判定される。計算された画素値Y(式9に基づく)は、式10に従って最小及び最大範囲にクリップされる。上述したように、変数min[c]及びmax[c]は、それぞれ最小出力値及び最大出力値に対する16ビットの符号付き「クリッピング値」を表す。一実施形態において、GOCロジック部640は、色成分R、G及びBの各々に対して最大値の上及び最小値の下にクリップされた画素数のカウントを維持するように更に構成される。
GOCロジック部640の出力は、色補正ロジック部642に転送される。ここで開示された技術によると、色補正ロジック部642は、色補正行列(CCM)を使用してRGB画像データに色補正を適用するように構成される。一実施形態において、CCMは3×3RGB変換行列であるが、他の実施形態において、他の次元の行列が利用される(例えば、4×3等)。従って、R、G及びB成分を有する入力画素に対して色補正を実行する処理は、以下のように表される。
式中、R、G及びBはそれぞれ入力画素に対する現在の赤色値、緑色値及び青色値を表し、CCM00〜CCM22は色補正行列の係数を表し、R'、G'及びB'はそれぞれ入力画素に対する補正済み赤色値、緑色値及び青色値を表す。従って、正確な色値は、以下の式65〜67に従って計算される。
上述したように、CCMの係数(CCM00〜CCM22)は、ISPフロントエンド処理ブロック80における統計処理中に判定される。一実施形態において、所定の色チャネルに対する係数は、それら係数(例えば、赤色補正の場合はCCM00、CCM01及びCCM02)の合計が1になるように選択され、これは、明るさ及び色のバランスを維持するのを助長する。更に係数は、一般に正のゲインが補正されている色に適用されるように選択される。例えば赤色補正の場合、係数CCM00は1より大きく、係数CCM01及びCCM02の一方又は双方は1より小さい。このように係数を設定することにより、結果として得られる補正済みR'値の赤色(R)成分を向上し、その一方で青色(B)成分及び緑色(G)成分の一部を減算する。理解されるように、これは、特定のカラー画素に対するフィルタリングされた光の一部が異なる色の隣接画素に「流出」する時に元のベイヤ画像の取得中に起こる可能性のある色の重なりに関する問題に対処する。一実施形態において、CCMの係数は、4ビットの整数部及び12ビットの小数部(浮動小数点で4.12と表される)を有する16ビットの2の補数として提供される。更に色補正ロジック部642は、計算された補正済み色値が最大値を上回るか又は最小値を下回る場合にその値のクリッピングを提供する。
RGB色補正ロジック部642の出力は、別のGOCロジックブロック644に渡される。GOCロジック部644は、GOCロジック部640と同一の方法で実現されるため、提供されるゲイン、オフセット及びクランピング機能の詳細な説明はここでは繰り返さない。一実施形態において、色補正に後続するGOCロジック部644の適用は、補正済み色値に基づいて画像データの自動ホワイトバランスを提供し、赤色対緑色の比及び青色対緑色の比のセンサの変動値を更に調整する。
次に、GOCロジック部644の出力は、更なる処理のためにRGBガンマ調整ロジック部646に送出される。例えばRGBガンマ調整ロジック部646は、ガンマ補正、トーンマッピング及びヒストグラムマッチング等を提供する。開示された実施形態によると、ガンマ調整ロジック部646は、対応する出力RGB値への入力RGB値のマッピングを提供する。例えばガンマ調整ロジック部は、3つのルックアップテーブルの集合、すなわちR、G及びB成分の各々に対して1つのテーブルを提供する。例として、各ルックアップテーブルは、各々が出力レベルを表す10ビット値の256個のエントリを格納するように構成される。テーブルエントリは、入力値が2つのエントリ間にある場合に出力値が線形補間されるように、入力画素値の範囲において均等に分散される。一実施形態において、R、G及びBに対する3つのルックアップテーブルの各々は、メモリに「ダブルバッファリング」されるように複製され、それにより、その複製が更新されている間、1つのテーブルが処理中に使用できる。尚、上述した10ビット出力値に基づいて、14ビットのRGB画像信号は、本実施形態におけるガンマ補正処理の結果として効果的に10ビットにダウンサンプリングされる。
ガンマ調整ロジック部646の出力は、メモリ108及び/又は色空間変換ロジック部648に送出される。色空間変換(CSC)ロジック部648は、ガンマ調整ロジック部646からのRGB出力をYCbCr形式に変換するように構成される。YCbCr形式において、Yはルマ成分を表し、Cbは青差分クロマ成分を表し、Crは赤差分クロマ成分を表し、各々は、ガンマ調整動作中の14ビットから10ビットへのRGBデータのビット深度変換の結果として10ビット形式となる。上述したように、一実施形態において、ガンマ調整ロジック部646のRGB出力は、10ビットにダウンサンプリングされ、CSCロジック部648により10ビットのYCbCr値に変換され、その後、以下に更に説明するYCbCr処理ロジック部418に転送される。
RGB領域からYCbCr色空間への変換は、色空間変換行列(CSCM)を使用して実行される。例えば一実施形態において、CSCMは3×3変換行列である。CSCMの係数は、BT.601及びBT.709規格等の既知の変換式に従って設定される。更にCSCM係数は入力及び出力の所望の範囲に基づいて柔軟性を有する。いくつかの実施形態において、CSCM係数は、ISPフロントエンド処理ブロック80における統計処理中に収集されたデータに基づいて判定され且つプログラムされる。
RGB入力画素に対してYCbCr色空間変換を実行する処理は、以下のように表される。
式中、R、G及びBはそれぞれ10ビット形式(ガンマ調整ロジック部646により処理されたように)の入力画素に対する現在の赤色値、緑色値及び青色値を表し、CSCM00〜CSCM22は色空間変換行列の係数を表し、Y、Cb及びCrはそれぞれ結果として得られる入力画素に対するルマ成分及びクロマ成分を表す。従って、Y、Cb及びCrの値は以下の式69〜71に従って計算される。
色空間変換動作の後、結果として得られるYCbCr値は信号432としてCSCロジック部648から出力され、信号432は、以下に説明するようにYCbCr処理ロジック部418により処理される。
一実施形態において、CSCMの係数は、4ビットの整数部及び12ビットの小数部(4.12)を有する16ビットの2の補数である。別の実施形態において、CSCロジック部648は、Y値、Cb値及びCr値の各々にオフセットを適用し且つ結果として得られる値を最小値及び最大値にクリップするように更に構成される。単なる例として、YCbCr値が10ビット形式であると仮定すると、オフセットは−512〜512の範囲であり、最小値及び最大値はそれぞれ0及び1023である。
図32のISPパイプ処理ロジック部82のブロック図に戻ると、YCbCr信号432は、選択ロジック部436及び/又はメモリ108に送出される。YCbCr処理ロジック部418は、選択ロジック部436の構成に依存して信号434により示すような信号432又はメモリ108からのYCbCr画像データである入力信号438を受信する。YCbCr画像データ438は、ルマ鮮明化、クロマ抑制、クロマ雑音除去、並びに明るさ、コントラスト及び色調整等のためにYCbCr処理ロジック部418により処理される。更にYCbCr処理ロジック部418は、水平方向及び垂直方向の双方の処理済み画像データのガンママッピング及びスケーリングを提供する。
YCbCr処理ロジック部418の一実施形態のより詳細な図を示すブロック図を図55に示す。図示するように、YCbCr処理ロジック部418は、画像鮮明化ロジック部660、明るさ、コントラスト及び/又は色を調整するロジック部662、YCbCrガンマ調整ロジック部664、クロマデシメーションロジック部668及びスケーリングロジック部670を含む。YCbCr処理ロジック部418は、1平面、2平面又は3平面メモリ構成を使用して4:4:4、4:2:2又は4:2:0形式の画素データを処理するように構成される。更に一実施形態において、YCbCr入力信号438は、ルマ及びクロマ情報を10ビット値として提供する。
理解されるように、1平面、2平面又は3平面に対する参照は、ピクチャメモリにおいて利用される像面の数を示す。例えば、3平面形式において、Y成分、Cb成分及びCr成分の各々は、別個のメモリ平面を利用する。2平面形式において、第1の平面はルマ成分(Y)に対して提供され、Cbサンプル及びCrサンプルをインタリーブする第2の平面はクロマ成分(Cb及びCr)に対して提供される。1平面形式において、メモリの単一平面は、ルマサンプル及びクロマサンプルをインタリーブされる。更に4:4:4、4:2:2又は4:2:0形式に関して、4:4:4形式は、3つのYCbCr成分の各々が同一レートでサンプリングされるサンプリング形式を示すことが理解されるだろう。4:2:2形式において、クロマ成分Cb及びCrはルマ成分Yの半分のサンプリングレートでサブサンプリングされ、これによりクロマ成分Cb及びCrの解像度を水平方向に半分に減少する。同様に、4:2:0形式は、垂直方向及び水平方向の双方にクロマ成分Cb及びCrをサブサンプリングする。
YCbCr情報の処理は、ソースバッファ内に規定されたアクティブソース領域内で行われる。アクティブソース領域は、「有効な」画像データを含む。例えば図56を参照すると、アクティブソース領域678を規定したソースバッファ676が示される。図示する例において、ソースバッファは、10ビット値のソース画素を提供する4:4:4の1平面形式を表す。アクティブソース領域678は、ルマ(Y)サンプル及びクロマサンプル(Cb及びCr)に対して個々に指定される。従って、アクティブソース領域678は、実際にはルマサンプル及びクロマサンプルに対して複数のアクティブソース領域を含むことが理解されるべきである。ルマ及びクロマに対するアクティブソース領域678の開始はソースバッファの基本アドレス(0,0)680からのオフセットに基づいて判定される。例えばルマアクティブソース領域に対する開始位置(Lm_X,Lm_Y)682は、基本アドレス680に対するxオフセット686及びyオフセット690により規定される。同様に、クロマアクティブソース領域に対する開始位置(Ch_X、Ch_Y)684は、基本アドレス680に対するxオフセット688及びyオフセット692により規定される。尚、この例において、ルマ及びクロマに対するyオフセット688及び692は等しい。開始位置682に基づいて、ルマアクティブソース領域は、それぞれx方向及びy方向のルマサンプルの数を表す幅694及び高さ696により規定される。更に開始位置684に基づいて、クロマアクティブソース領域は、それぞれx方向及びy方向のクロマサンプルの数を表す幅698及び高さ700により規定される。
図57は、2平面形式でのルマサンプル及びクロマサンプルに対するアクティブソース領域の判定方法を示す一例を更に提供する。例えば図示するように、ルマアクティブソース領域678は、第1のソースバッファ676(基本アドレス680を有する)において、開始位置682に対する幅694及び高さ696により指定される領域により規定される。クロマアクティブソース領域704は、第2のソースバッファ702(基本アドレス706を有する)において、開始位置684を基準として幅698及び高さ700により指定される領域として規定される。
上記の点を考慮し、図55に戻ると、まずYCbCr信号438が画像鮮明化ロジック部660により受信される。画像鮮明化ロジック部660は、画像におけるテクスチャ及びエッジ詳細を増加するためにピクチャ鮮明化及びエッジ強調処理を実行するように構成される。理解されるように、画像鮮明化は知覚される画像解像度を向上する。しかし、一般に画像における既存の雑音がテクスチャ及び/又はエッジとして検出されず、従って、鮮明化処理中に増幅されないのが望ましい。
本技術によると、画像鮮明化ロジック部660は、YCbCr信号のルマ(Y)成分においてマルチスケールアンシャープマスクフィルタを使用してピクチャ鮮明化を実行する。一実施形態において、スケールサイズの異なる2つ以上のローパスガウスフィルタが提供される。例えば2つのガウスフィルタを提供する一実施形態において、第1の半径(x)を有する第1のガウスフィルタの出力(例えば、ガウスぼかし)は第2の半径(y)を有する第2のガウスフィルタの出力から減算され、アンシャープマスクを生成する。ここで、xはyより大きい。更なるアンシャープマスクは、Y入力からガウスフィルタの出力を減算することにより取得される。特定の実施形態において、この技術はアンシャープマスクを使用して実行される適応コアリング閾値比較動作を提供し、その結果、その比較の結果に基づいて、ゲイン量が元のY入力画像又は1つのガウスフィルタの出力として選択される基本画像に加算され、最終的な出力を生成する。
図58を参照すると、本明細書で開示される技術の実施形態に従って画像鮮明化を実行する例示的なロジック部710を示すブロック図が示される。ロジック部710は、入力ルマ画像Yinに適用されるマルチスケールアンシャープフィルタリングマスクを表す。例えば図示するように、Yinは2つのローパスガウスフィルタ712(G1)及び714(G2)により受信され且つ処理される。この例において、フィルタ712は3×3フィルタであり、フィルタ714は5×5フィルタである。しかし、追加の実施形態において、異なるスケールのフィルタを含む3つ以上のガウスフィルタが使用される(例えば、7×7、9×9等)ことが理解されるべきである。理解されるように、ローパスフィルタリング処理のために、一般に雑音に対応する高周波成分はG1及びG2の出力から除去され、「非鮮明な」画像(G1out及びG2out)を生成する可能性がある。以下に説明するように、非鮮明な入力画像を基本画像として使用することにより、鮮明化フィルタの一部として雑音除去が可能になる。
3×3ガウスフィルタ712及び5×5ガウスフィルタ714は、以下に示すように規定される。
単なる例として、ガウスフィルタG1及びG2の値は、一実施形態において以下のように選択される。
Yin、G1out及びG2outに基づいて、3つのアンシャープマスクSharp1、Sharp2及びSharp3が生成される。Sharp1は、ガウスフィルタ712の非鮮明な画像G1outからガウスフィルタ714の非鮮明な画像G2outを減算された結果として判定される。Sharp1は、実質的には2つのローパスフィルタ間の差分であるため、高周波雑音成分がG1out及びG2out非鮮明画像において既に除去されているために「ミッドバンド」マスクと呼ばれる。更にSharp2は、入力ルマ画像YinからG2outを減算することにより算出され、Sharp3は入力ルマ画像YinからG1outを減算することにより算出される。以下に説明するように、適応閾値コアリング方式は、アンシャープマスクSharp1、Sharp2及びSharp3を使用して適用される。
選択ロジック部716を参照すると、基本画像は制御信号UnsharpSelに基づいて選択される。図示する実施形態において、基本画像は、入力画像Yin、あるいはフィルタリング済み出力G1out又はG2outである。理解されるように、元の画像が大きい雑音変動(例えば、信号変動とほぼ同等)を有する場合、鮮明化の際に元の画像Yinを基本画像として使用すると、鮮明化中に雑音成分を十分に除去しない可能性がある。従って、雑音コンテンツの特定の閾値が入力画像において検出される場合、選択ロジック部716は、雑音を含む可能性のある高周波コンテンツが低減されたローパスフィルタリング済み出力G1out又はG2outの一方を選択するように構成される。一実施形態において、制御信号UnsharpSelの値は、画像の雑音コンテンツを判定するためにISPフロントエンド処理ブロック80における統計処理中に取得された統計データを解析することにより判定される。例として、鮮明化処理の結果として出現雑音が増加しないような低雑音コンテンツを入力画像Yinが有する場合、入力画像Yinは基本画像として選択される(例えば、UnsharpSel=0)。鮮明化処理が雑音を増幅するような認識できるレベルの雑音を入力画像Yinが含むと判定される場合、フィルタリング済み画像G1out又はG2outの一方が選択される(例えば、UnsharpSel=1又は2)。従って、基本画像を選択する適応技術を適用することにより、ロジック部710は実質的に雑音除去機能を提供する。
次に、以下に説明するように、ゲインは適応コアリング閾値方式に従ってSharp1、Sharp2及びSharp3マスクのうちの1つ以上に適用される。次に、アンシャープ値Sharp1、Sharp2及びSharp3は、比較器ブロック718、720及び722により種々の閾値SharpThd1、SharpThd2及びSharpThd3(それぞれ対応する必要はない)と比較される。例えば、Sharp1値は、比較器ブロック718において常にSharpThd1と比較される。比較器ブロック720に関しては、閾値SharpThd2が選択ロジック部726に依存してSharp1又はSharp2と比較される。例えば、選択ロジック部726は、制御信号SharpCmp2の状態に依存してSharp1又はSharp2を選択する(例えば、SharpCmp2=1はSharp1を選択し、SharpCmp2=0はSharp2を選択する)。例えば一実施形態において、SharpCmp2の状態は、入力画像(Yin)の雑音変動/コンテンツに依存して判定される。
図示する実施形態において、画像データが相対的に少ない雑音を有することが検出されない限り、一般にSharp1を選択するようにSharpCm2及びSharpCmp3を設定するのが好ましい。これは、ガウスローパスフィルタG1及びG2の出力の間の差分であるSharp1が一般に雑音の影響を受けにくく、そのため「雑音のある」画像データにおける雑音レベルの変動によりSharpAmt1、SharpAmt2及びSharpAmt3が変動する量を低減するのを助長できるためである。例えば元の画像が大きい雑音変動を有する場合、固定閾値を使用する時に高周波成分の一部が把握できず、鮮明化処理中に増幅される可能性がある。従って、入力画像の雑音コンテンツが多い場合、雑音コンテンツの一部がSharp2に存在する可能性がある。そのような例において、SharpCmp2は1に設定され、上述したように2つのローパスフィルタ出力の差分であるために高周波コンテンツを低減し且つそのため雑音の影響が少ないミッドバンドマスクSharp1を選択する。
理解されるように、同様の処理は、SharpCmp3の制御下の選択ロジック部724によるSharp1又はSharp3の選択に適用される。一実施形態において、SharpCmp2及びSharpCmp3はデフォルトで1に設定され(例えば、Sharp1を使用する)、一般に小さい雑音変動を有すると識別される入力画像に対してのみ0に設定される。これは、実質的に、比較値(Sharp1、Sharp2又はSharp3)の選択が入力画像の雑音変動に基づいて適応可能である適応コアリング閾値方式を提供する。
比較器ブロック718、720及び722の出力に基づいて、鮮明化された出力画像Ysharpは基本画像(例えば、ロジック部716を介して選択された)に入手したアンシャープマスクを適用することにより判定される。例えば最初に比較器ブロック722を参照すると、SharpThd3は、本明細書において「SharpAbs」と呼ばれ且つSharpCmp3の状態に依存してSharp1又はSharp3と等しい選択ロジック部724により提供されたB入力と比較される。SharpAbsが閾値SharpThd3より大きい場合、ゲインSharpAmt3はSharp3に適用され、結果として得られる値は基本画像に加算される。SharpAbsが閾値SharpThd3より小さい場合、減衰ゲインAtt3が適用される。一実施形態において、減衰ゲインAtt3は以下のように判定される。
式中、SharpAbsは、選択ロジック部724により判定されるようにSharp1又はSharp3である。フルゲイン(SharpAmt3)又は減衰ゲイン(Att3)と合計された基本画像の選択は、比較器ブロック722の出力に基づいて選択ロジック部728により実行される。理解されるように、減衰ゲインを使用することにより、SharpAbsが閾値(例えば、SharpThd3)より大きくないが、画像の雑音変動が所定の閾値に近い状況に対処する。これは、鮮明な画素と非鮮明な画素との間の認識される移行部分を減少するのを助長する。例えば画像データがそのような状況において減衰ゲインなしで渡される場合、結果として得られる画素は欠陥画素(例えば、スタックピクセル)として現れるだろう。
次に同様の処理が、比較器ブロック720に関して適用される。例えばSharpCmp2の状態に依存して、選択ロジック部726は閾値SharpThd2と比較される比較器ブロック720に対する入力としてSharp1又はSharp2を提供する。比較器ブロック720の出力に依存して、ゲインSharpAmt2又はSharpAmt2に基づく減衰ゲインAtt2は、Sharp2に適用され、上述した選択ロジック部728の出力に加算される。理解されるように、減衰ゲインAtt2は、ゲインSharpAmt2及び閾値SharpThd2がSharp1又はSharp2として選択されるSharpAbsに関して適用されること以外は上記の式72と同様の方法で計算される。
その後、ゲインSharpAmt1又は減衰ゲインAtt1はSharp1に適用され、結果として得られる値は、選択ロジック部730の出力と合計され、鮮明化された画素出力Ysharpを生成する。ゲインSharpAmt1又は減衰ゲインAtt1を適用する選択は、Sharp1と閾値SharpThd1とを比較する比較器ブロック718の出力に基づいて判定される。減衰ゲインAtt1は、ゲインSharpAmt1及び閾値SharpThd1がSharp1に関して適用されること以外は上記の式72と同様の方法で判定される。3つのマスクの各々を使用してスケーリングされた結果として得られる鮮明化画素値は、入力画素Yinに加算され、鮮明化出力Ysharpを生成する。この出力は、一実施形態において10ビットにクリップされる(YCbCr処理が10ビット精度で行われることを仮定する)。
理解されるように、従来のアンシャープマスキング技術と比較すると、本発明で示す画像鮮明化技術は、出力画像における雑音を低減しつつ、テクスチャ及びエッジの強調を向上する。特に本技術は、ポータブル装置(例えば、移動電話)に内蔵された低解像度カメラを使用して低光条件下で取得された画像等の例えばCMOS撮像素子を使用して撮像された画像が低い信号対雑音比を示す応用例において非常に適するだろう。例えば雑音変動及び信号変動が同等である場合、雑音成分の一部がテクスチャ及びエッジに沿って鮮明化されるため、鮮明化するのに固定閾値を使用するのは困難である。従って、上述したように、本明細書で提供される技術は、低減された雑音コンテンツを示す鮮明化画像を提供するために、マルチスケールガウスフィルタを使用して入力画像から雑音を除去し、非鮮明な画像(例えば、G1out及びG2out)から特徴を抽出する。
説明を続ける前に、図示するロジック部710は、本技術の例示的な一実施形態のみを提供することを意図することが理解されるべきである。他の実施形態において、追加の特徴又はより少ない特徴が画像鮮明化ロジック部660により提供される。例えばいくつかの実施形態において、減衰ゲインを適用するのではなく、ロジック部710は単純に基準値を渡す。更にいくつかの実施形態は、選択ロジックブロック724、726又は716を含まない。例えば比較器ブロック720及び722は、選択ロジックブロック724及び726からの選択出力ではなく、単にSharp2値及びSharp3値を受信する。そのような実施形態は、図58に示す実現例と同等のロバスト性を有する鮮明化機能及び/又は雑音除去機能を提供しないが、そのような設計選択は、コスト及び/又はビジネス関連の制約の結果行われることが理解されるべきである。
本実施形態において、画像鮮明化ロジック部660は、鮮明化画像出力YSharpが取得されると、エッジ強調機能及びクロマ制約機能を提供する。これらの追加の機能の各々について以下に説明する。まず図59を参照すると、図58の鮮明化ロジック部710の下流側で実現されるエッジ強調を実行する例示的なロジック部738が一実施形態に従って示される。図示するように、元の入力値Yinはエッジ検出のためにソーベルフィルタ740により処理される。ソーベルフィルタ740は、元の画像の3×3画素ブロック(以下において「A」で示される)に基づいて勾配値YEdgeを判定する。ここで、Yinは3×3ブロックの中心画素である。一実施形態において、ソーベルフィルタ740は、水平方向及び垂直方向の変化を検出するために元の画像データを畳み込むことによりYEdgeを算出する。この処理を以下の式73〜75において示す。
式中、S及びSは、それぞれ水平方向及び垂直方向の勾配エッジ明度検出のための行列演算子を表す。G及びGは、それぞれ水平方向の変化の導関数及び垂直直方向の変化の導関数を含む勾配画像を表す。従って、出力YEdgeは、G及びGの積として判定される。
YEdgeは、図58において上述したように、ミッドバンドSharp1マスクに沿って選択ロジック部744により受信される。制御信号EdgeCmpに基づいて、Sharp1又はYEdgeは比較器ブロック742において閾値EdgeThdと比較される。EdgeCmpの状態は、例えば画像の雑音コンテンツに基づいて判定され、それによりエッジ検出及び強調のために適応コアリング閾値方式を提供する。次に比較器ブロック742の出力は、選択ロジック部746に提供され、フルゲイン又は減衰ゲインが適用される。例えば比較器ブロック742に対する選択されたB入力(Sharp1又はYEdge)はEdgeThdを上回る場合、YEdgeは、適用されるエッジ強調量を判定するためにエッジゲインEdgeAmtと乗算される。比較器ブロック742におけるB入力がEdgeThdより小さい場合、減衰エッジゲインAttEdgeは、強調されたエッジと元の画素との間の認識される移行を回避するために適用される。理解されるように、AttEdgeは、上記の式72に示すのと同様に算出されるが、EdgeAmt及びEdgeThdは、選択ロジック部744の出力に依存してSharp1又はYEdgeである「SharpAbs」に適用される。従って、ゲイン(EdgeAmt)又は減衰ゲイン(AttEdge)を使用して強調されたエッジ画素は、Ysharp(図58のロジック部710の出力)に加算され、一実施形態において10ビットにクリップされる(YCbCr処理が10ビット精度で行われることを仮定する)エッジ強調出力画素Youtを取得する。
画像鮮明化ロジック部660により提供されるクロマ抑制機能に関して、そのような機能はルマエッジにおいてクロマを減衰させる。一般に、クロマ抑制は、上述したルマ鮮明化及び/又はエッジ強調ステップから取得された値(YSはrp、Yout)に依存して1より小さいクロマゲイン(減衰率)を適用することにより実行される。例として、図60は、対応する鮮明化ルマ値(YSharp)に対して選択されるクロマゲインを表す曲線752を含むグラフ750である。グラフ750により表されるデータは、YSharp値及び0〜1(減衰率)の対応するクロマゲインのルックアップテーブルとして実現される。ルックアップテーブルは、曲線752を近似するために使用される。ルックアップテーブルにおける2つの減衰率の間の同一の場所に配置されるYSharp値に対して、線形補間が現在のYSharp値を上回るYSharp値及び下回るYSharp値に対応する2つの減衰率に適用される。更に他の実施形態において、入力ルマ値は、図58において上述したようにロジック部710により判定されたSharp1、Sharp2又はSharp3の1つ、あるいは図59において説明したようにロジック部738により判定されるYEdgeとして選択される。
次に画像鮮明化ロジック部660(図55)の出力は、明るさ、コントラスト及び色(BCC)調整ロジック部662により処理される。BCC調整ロジック部662の一実施形態を示す機能ブロック図を図61に示す。図示するように、ロジック部662は、明るさ及びコントラスト処理ブロック760、グローバル色相制御ブロック762及び彩度制御ブロック764を含む。ここで示される実施形態は、10ビット精度のYCbCrデータの処理を提供するが、他の実施形態は異なるビット深度を利用する。ブロック760、762及び764の各々の機能を以下に説明する。
最初に明るさ及びコントラスト処理ブロック760を参照すると、オフセットYOffsetは、黒レベルをゼロに設定するためにルマ(Y)データから減算される。これは、コントラスト調整が黒レベルを変更しないことを保証するために行われる。次にルマ値は、コントラスト制御を適用するためにコントラストゲイン値と乗算される。例として、コントラストゲイン値は2ビットの整数部及び10ビットの小数部を有する符号なしの12ビットであり、これにより、最大4×画素値のコントラストゲイン範囲を提供する。その後、明るさの調整は、ルマデータの明るさのオフセット値を加算(又は減算)することにより実現される。例として、本実施形態における明るさのオフセットは、−512〜+512の範囲を有する10ビットの2の補数である。尚、明るさの調整は、コントラストを変更する時にDCオフセットを変動させないようにするためにコントラスト調整の後に実行される。その後、初期のYOffsetは、黒レベルを元に戻すために調整されたルマデータに加算される。
ブロック762及び764は、Cb及びCrデータの色相特徴に基づく色調整を提供する。図示するように、512のオフセット(10ビット処理を仮定する)は、範囲を約ゼロに位置付けるためにCb及びCrデータから減算される。色相は、以下の式に従って調整される。
式中、Cbadj及びCradjは調整されたCb値及びCr値をそれぞれ表し、θは以下のように算出される色相角を表す。
上記演算は、グローバル色相制御ブロック762内のロジック部により示され、以下の行列演算により表される。
式中、Ka=cos(θ)であり、Kb=sin(θ)であり、θは上記の式78で規定される。
次に、彩度制御は、彩度制御ブロック764により示されるようにCbadj及びCradjに適用される。図示する実施形態において、彩度制御は、Cb値及びCr値の各々に対するグローバル彩度の乗数及び色相に基づく彩度の乗数を適用することにより実行される。色相に基づく彩度制御は、色の再現性を向上できる。色の色相は、図62の色相環グラフ770により示されるようにYCbCr色空間で表される。理解されるように、YCbCr色相及び彩度の色相環770は、HSV色空間(色相、彩度及び明度)において同一の色相環を約109度シフトすることにより導出される。図示するように、グラフ770は、0〜1の範囲内の彩度の乗数(S)を表す円周値、並びに0〜360度の範囲内の上記で規定するようなθを表す角度値を含む。各θは、異なる色を表す(例えば、49度=マゼンタ、109度=赤、229度=緑等)。特定の色相角θにおける色の色相は、適切な彩度の乗数Sを選択することにより調整される。
図61に戻ると、色相角θ(グローバル色相制御ブロック762において算出される)は、Cb彩度ルックアップテーブル766及びCr彩度ルックアップテーブル768に対する指標として使用される。一実施形態において、彩度ルックアップテーブル766及び768は、0〜360度の色相範囲に均一に分散された256個の彩度値を含み(例えば、第1のルックアップテーブルエントリは0度であり、最後のエントリは360度である)、所定の画素における彩度値Sは、ルックアップテーブル中の現在の色相角θをちょうど下回る彩度値及びちょうど上回る彩度値の線形補間を介して判定される。Cb成分及びCr成分の各々に対する最終的な彩度値は、判定された色相に基づく彩度値とグローバル彩度値(Cb及びCrの各々に対するグローバル定数である)とを乗算することにより取得される。従って、最終的な補正済みCb'値及びCr'値は、色相に基づく彩度制御ブロック764において示すように、Cbadj及びCradjを最終的な各彩度値と乗算することにより判定される。
その後、BCCロジック部662の出力は、図55に示すようにYCbCrガンマ調整ロジック部664に渡される。一実施形態において、ガンマ調整ロジック部664は、Yチャネル、Cbチャネル及びCrチャネルに対する非線形マッピング機能を提供する。例えば入力Y値、Cb値及びCr値は、対応する出力値にマッピングされる。YCbCrデータが10ビットで処理されると仮定すると、補間済み10ビット256エントリルックアップテーブルが利用される。各々がYチャネル、Cbチャネル及びCrチャネルの各々に対するものである3つのそのようなルックアップテーブルが提供される。256個の入力エントリの各々は均一に分散され、出力は現在の入力指標をちょうど上回る指標及びちょうど下回る指標にマッピングされた出力値の線形補間により判定される。いくつかの実施形態において、1024個のエントリ(10ビットデータに対して)を有する補間されていないルックアップテーブルが使用されるが、非常に多くのメモリが必要とされるだろう。理解されるように、ルックアップテーブルの出力値を調整することにより、YCbCrガンマ調整機能は、白黒、セピア色、陰画及びソラリゼーション等の特定の画像フィルタ効果を実行するために使用される。
次にクロマデシメーションは、クロマデシメーションロジック部668によりガンマ調整ロジック部664の出力に適用される。一実施形態において、クロマデシメーションロジック部668は、4:4:4形式からクロマ(Cr及びCr)情報がルマデータの半分のレートでサブサンプリングされる4:2:2形式にYCbCrデータを変換するために水平デシメーションを実行するように構成される。単なる例として、デシメーションは、以下に示すように、ハーフバンドランチョスフィルタ等の7タップローパスフィルタを7つの水平画素の集合に適用することにより実行される。
式中、in(i)は入力画素(Cb又はCr)を表し、C0〜C6は7タップフィルタのフィルタ係数を表す。各入力画素は、クロマフィルタリング済みサンプルに対して柔軟性のある位相オフセットを可能にするために個別のフィルタ係数(C0〜C6)を有する。
更にいくつかの例において、クロマデシメーションは、フィルタリングせずに実行される。これは、ソース画像が元々4:2:2形式で受信されたがYCbCr処理のために4:4:4形式にアップサンプリングされた場合に有用である。この場合、結果として得られるデシメートされた4:2:2画像は元の画像と同一である。
次に、クロマデシメーションロジック部668から出力されたYCbCrデータは、YCbCr処理ブロック418から出力される前にスケーリングロジック部670を使用してスケーリングされる。スケーリングロジック部670の機能は、図18を参照して上述したように、フロントエンド画素処理ユニット130のビニング補償フィルタ182におけるスケーリングロジック部292の機能性に類似する。例えばスケーリングロジック部670は、水平方向及び垂直方向のスケーリングを2段階で実行する。一実施形態において、5タップポリフェーズフィルタは、垂直方向のスケーリングに対して使用され、9タップポリフェーズフィルタは水平方向のスケーリングに対して使用される。マルチタップポリフェーズフィルタは、ソース画像から選択された画素を重み付け因子(例えば、フィルタ係数)と乗算し、それら出力を合計して目標画素を形成する。選択された画素は、現在の画素位置及びフィルタタップ数に依存して選択される。例えば垂直5タップフィルタにより、現在の画素の垂直側の2つの隣接画素が選択され、水平9タップフィルタにより、現在の画素の水平側の4つの隣接画素が選択される。フィルタ係数は、ルックアップテーブルから提供され、現在の画素間の断片の位置により判定される。スケーリングロジック部670の出力440は、YCbCr処理ブロック418からの出力である。
図32に戻ると、処理された出力信号440は、メモリ108に送出されるか、あるいは、ユーザが閲覧するためにディスプレイハードウェア(例えば、ディスプレイ28)に対して又は圧縮エンジン(例えば、符号器118)に対して画像信号114としてISPパイプ処理ロジック部82から出力される。いくつかの実施形態において、画像信号114は、グラフィック処理ユニット及び/又は圧縮エンジンにより更に処理され、伸張されてディスプレイに提供される前に格納される。更に1つ以上のフレームバッファは、特にビデオ画像データに関してディスプレイに出力されている画像データのバッファリングを制御するために提供される。
理解されるように、特に欠陥画素検出及び補正、レンズシェーディング補正、デモザイク、並びに画像鮮明化に関連する上述した種々の画像処理技術は、本明細書において単なる例として提供される。従って、本発明は、上記で提供した例のみに限定されるものとして解釈されるべきではないことが理解されるべきである。実際には、本明細書で示す例示的なロジック部は、他の実施形態における多くの変形及び/又は追加の機能が行われてもよい。更に、上述した技術は、あらゆる適切な方法で実現されてもよいことが理解されるべきである。例えば画像処理回路網32の構成要素、特にISPフロントエンド処理ブロック80及びISPパイプブロック82は、ハードウェア(例えば、適切に構成された回路網)、ソフトウェア(例えば、1つ以上の有形コンピュータ可読媒体に格納された実行可能コードを含むコンピュータプログラムを介する)、あるいはハードウェア要素及びソフトウェア要素の組み合わせを使用して実現されてもよい。
上述した特定の実施形態は例として示されたものであり、これらの実施形態は、種々の変更及び別の形態が可能であることが理解されるべきである。請求の範囲は、開示される特定の形態に限定されることを意図せず、本発明の趣旨の範囲内の全ての変更、均等物及び代替物を範囲に含むことを意図することが更に理解されるべきである。

Claims (30)

  1. 画像データを処理する方法であって、
    画像信号プロセッサを使用するステップと、
    撮像素子を使用して取得された前記画像データの現フレームにおいて空間位置を有する現画素を受信するステップと、
    前記画像データの先行フレームにおける同一の場所に配置された参照画素に少なくとも部分的に基づいて、前記現画素に対する動きデルタ値を判定するステップと、
    前記動きデルタ値及び前記現画素の前記空間位置に対応する前記先行フレームの動き履歴値に基づいて動きテーブルルックアップ指標を判定するステップと、
    前記動きテーブルルックアップ指標を使用して動きテーブルから第1のフィルタ係数を選択するステップと、
    ルマテーブルから減衰率を選択するために前記現画素に対応する明るさの値を使用するステップと、
    前記選択した減衰率及び前記第1のフィルタ係数に基づいて第2のフィルタ係数を判定するステップと、
    前記同一の場所に配置された参照画素、前記現画素及び前記第2のフィルタ係数に基づいて前記現画素に対応する時間フィルタリング済み出力値を判定するために前記画像信号プロセッサの時間フィルタを使用するステップと、
    を備えることを特徴とする方法。
  2. 1と前記第1のフィルタ係数との間の差分と等しい第1の値を判定し、
    前記第1の値及び前記先行フレームの前記動き履歴値の積と等しい第2の値を判定し、
    前記動きデルタ値及び前記第2の値を合計することにより、
    前記現画素の前記空間位置に対応する動き履歴値を判定するために前記画像信号プロセッサを使用するステップを備えることを特徴とする請求項1記載の方法。
  3. 前記動きデルタ値を判定するステップは、
    画素の2次元アレイの中心に位置付けられる前記現画素と同一色を有し且つ前記2次元アレイを形成する現フレームの画素の集合を識別するステップと、
    各々が前記現フレームの前記画素の集合のうちの1つと同一の場所に配置されている先行フレームの参照画素の集合を識別するステップと、
    前記現フレームの前記画素の集合の各々に対して、前記現フレームの画素値と同一の場所に配置された対応する参照画素との間の差分の絶対値と等しい絶対デルタを判定するステップと、
    前記絶対デルタに基づいて前記動きデルタ値を判定するステップと
    を含むことを特徴とする請求項1記載の方法。
  4. 前記動きデルタ値を判定するステップは、
    前記現画素、前記現画素の第1の側に隣接する第2の画素及び前記現画素の第2の側に隣接する第3の画素を含む同一の色値を有する3つの水平隣接画素の集合を識別するステップと、
    前記現画素の値と前記先行フレームの前記同一の場所に配置された参照画素の値との間の差分の絶対値と等しい第1の値を判定するステップと、
    前記第2の画素の値と前記先行フレームの同一の場所に配置された第2の参照画素との間の差分の絶対値と等しい第2の値を判定するステップと、
    前記第3の画素の値と前記先行フレームの同一の場所に配置された第3の参照画素との間の差分の絶対値と等しい第3の値を判定するステップとを含み、
    前記動きデルタ値は、前記第1の値、前記第2の値及び前記第3の値の最大値として選択されることを特徴とする請求項3記載の方法。
  5. 前記画像データはベイヤraw画像データを含み、前記2次元アレイ内の各画素は、水平方向、垂直方向及び対角線方向に現画素から空間的に2画素位置離れて配置されることを特徴とする請求項3記載の方法。
  6. 前記動きテーブルルックアップ指標は、前記動きデルタ値及び前記先行フレームの前記動き履歴値の合計として計算されることを特徴とする請求項1記載の方法。
  7. 前記現画素に対する前記時間フィルタリング済み出力値を判定するステップは、
    前記現画素の値と前記同一の場所に配置された参照画素の値との間の差分を判定するステップと、
    第1の値を取得するために前記差分を前記第2のフィルタ係数と乗算するステップと、
    前記現画素に対して前記時間フィルタリング済み出力値を判定するために前記同一の場所に配置された参照画素の値を前記第1の値に加算するステップと
    を含むことを特徴とする請求項1記載の方法。
  8. 画像データを時間フィルタリングする方法であって、
    画像信号プロセッサを使用するステップと、
    撮像素子を使用して取得され且つ各々が各ゲインと関連付けられる2つ以上の色成分を含む前記画像データの現フレームにおいて空間位置を有する現画素を受信するステップと、
    前記画像データの先行フレームの同一の場所に配置された参照画素に少なくとも部分的に基づいて前記現画素に対する動きデルタ値を判定するステップと、
    前記現画素の色に対応する選択されたゲイン、前記動きデルタ値及び前記先行フレームの前記同一の場所に配置された参照画素に対応する動き履歴値に基づいて動きテーブルルックアップ指標を判定するステップと、
    前記動きテーブルルックアップ指標を使用して動きテーブルから第1のフィルタ係数を選択するステップと、
    前記現画素の値に前記選択したゲインを適用し且つルマテーブルから減衰率を選択するために前記現画素の前記入手された値をルマテーブルルックアップ指標として使用することにより、前記ルマテーブルから前記減衰率を選択するステップと、
    前記第1のフィルタ係数と前記選択した減衰率とを乗算することにより第2のフィルタ係数を判定するステップと、
    前記参照画素の値、前記現画素の値及び前記第2のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を判定するために前記画像信号プロセッサの時間フィルタを使用するステップと、
    を備えることを特徴とする方法。
  9. 前記動きデルタ値を判定するステップは、
    画素の2次元アレイの中心に位置付けられる前記現入力画素と同一色を有し且つ前記2次元アレイを形成する前記現フレームの画素の集合を識別するステップと、
    各々が前記現フレームの前記画素の集合のうちの1つと同一の場所に配置されている前記先行フレームの参照画素の集合を識別するステップと、
    前記現フレームの前記画素の集合の各々に対して、前記現フレームの画素の値と同一の場所に配置された対応する参照画素との間の差分の絶対値と等しい絶対デルタを判定するステップと、
    前記絶対デルタの平均値、前記絶対デルタの最大値又は前記絶対デルタの中央値のうちの少なくとも1つとして前記動きデルタ値を判定するステップと
    を含むことを特徴とする請求項8記載の方法。
  10. 前記2次元アレイは、前記現画素と同一の色値を有する3つの水平隣接画素の集合を含み、前記現画素は、空間的に前記3つの水平隣接画素の集合の中心に配置され、前記動きデルタ値を判定することは、前記現画素の前記値と前記先行フレームの前記同一の場所に配置された参照画素の前記値との間の差分の絶対値と等しい第1の値、前記現画素に水平方向に隣接する前記現フレームの第2の画素の値と前記先行フレームの同一の場所に配置された対応する第2の参照画素の値との間の差分の絶対値と等しい第2の値、及び前記現画素に水平方向に隣接する前記現フレームの第3の画素と前記先行フレームの同一の場所に配置された対応する第3の参照画素の値との間の差分の絶対値と等しい第3の値のうちの最大値として前記動きデルタ値を判定することを含むことを特徴とする請求項9記載の方法。
  11. 前記先行フレームの前記動き履歴値と前記動きデルタ値との間の差分を判定し、積を取得するために前記差分を前記第1のフィルタ係数と乗算し、前記動きデルタ値を前記積と合計することにより前記現画素の前記空間位置に対応する動き履歴値を判定することを備え、前記現画素に対応する前記動き履歴値は、前記画像データの後続フレームの同一の場所に配置された画素に時間フィルタリングを適用するために使用されることを特徴とする請求項8記載の方法。
  12. 前記動きテーブルルックアップ指標は、前記動きデルタ値及び前記先行フレームの前記動き履歴値の合計と前記選択したゲインとを乗算することにより判定されることを特徴とする請求項8記載の方法。
  13. 前記ルマルックアップ指標は、前記選択したゲインを前記現画素に適用することにより判定されることを特徴とする請求項12記載の方法。
  14. 前記現画素に対する前記時間フィルタリング済み出力値を判定するステップは、
    前記同一の場所に配置された参照画素の前記値と前記現画素の前記値との間の差分を判定するステップと、
    積を取得するために前記差分を前記第2のフィルタ係数と乗算するステップと、
    前記現画素に対する前記時間フィルタリング済み出力値を判定するために前記現画素の前記値を前記積に加算するステップと
    を含むことを特徴とする請求項8記載の方法。
  15. 画像データの色成分毎の各ゲインは、ホワイトバランスゲインに基づいて判定されることを特徴とする請求項8記載の方法。
  16. 撮像素子を使用して取得された多色raw画像データを時間フィルタリングする時間フィルタを備え、前記時間フィルタは、
    前記raw画像データの現フレームから特定の色及び前記現フレーム内の空間位置を有する現画素を受信し、
    同一の場所に配置された参照画素に基づいて前記現画素に対する動きデルタ値を判定し、
    前記動きデルタ値、前記同一の場所に配置された参照画素に対応する前記raw画像データの先行フレームの動き履歴値及び前記現画素の色と関連付けられたゲインに基づいて判定された動きテーブルルックアップ指標を使用して動きテーブルから第1のフィルタ係数を選択し、
    前記現画素の色と関連付けられた前記ゲインを前記現画素の値に適用し且つ減衰率を選択するために前記結果をルマテーブルルックアップ指標として使用することによりルマテーブルから前記現画素に対する前記減衰率を選択し、
    前記減衰率及び前記第1のフィルタ係数の積として第2のフィルタ係数を判定し、
    前記同一の場所に配置された参照画素、前記現画素及び前記第2のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を提供するように構成されていることを特徴とする画像信号処理システム。
  17. 前記時間フィルタは、前記同一の場所に配置された参照画素の前記値と前記現画素の前記値との間の差分を判定し、前記差分を前記第2のフィルタ係数と乗算することにより積を判定し、且つ前記積及び前記現画素の前記値を合計することにより、前記時間フィルタリング済み出力値を提供するように構成されていることを特徴とする請求項16記載の画像信号処理システム。
  18. 前記時間フィルタは、有限インパルス応答(FIR)フィルタであり、前記先行フレームの前記同一の場所に配置された参照画素は、前記撮像素子により取得されるような元のフィルタリングされていない画像データに対応することを特徴とする請求項16記載の画像信号処理システム。
  19. 前記時間フィルタは、無限インパルス応答(IIR)フィルタであり、前記先行フレームの前記同一の場所に配置された参照画素は、前記時間フィルタにより先にフィルタリングされた時間フィルタリング済み画像データに対応することを特徴とする請求項16記載の画像信号処理システム。
  20. 前記raw画像データはベイヤ画像データを含み、前記現画素の前記色と関連付けられた前記ゲインは、前記現画素が赤色画素、青色画素又は緑色画素を含むかに依存して選択されることを特徴とする請求項16記載の画像信号処理システム。
  21. 少なくとも1つのデジタル撮像素子と、
    前記少なくとも1つのデジタル撮像素子と通信するように構成されたインタフェースと、
    メモリ素子と、
    前記少なくとも1つのデジタル撮像素子により取得されたraw画像データに対応する1つ以上の画像シーンの視覚表現を表示するように構成された表示装置と、
    撮像信号処理システムであって、
    フィルタ係数の集合を格納するように構成された動きテーブルと、
    明るさの減衰率の集合を格納するように構成されたルマテーブルと、
    前記raw画像データの現フレーム内の空間位置及び特定の色を有する現画素に対して、前記raw画像データの先行フレームの同一の場所に配置された参照画素に基づいて前記現画素に対する動きデルタ値を判定し、前記動きデルタ値、前記同一の場所に配置された参照画素に対応する前記raw画像データの前記先行フレームの動き履歴値及び前記現画素の前記色と関連付けられたゲインに基づいて判定された第1のルックアップ指標を使用して前記動きテーブルに格納された前記フィルタ係数の集合から第1のフィルタ係数を選択し、前記現画素の色と関連付けられた前記ゲインを前記現画素の前記値に適用することにより判定された第2のルックアップ指標を使用して前記ルマテーブルに格納された前記明るさの減衰率の集合から明るさの減衰率を選択し、前記減衰率及び前記第1のフィルタ係数の積として第2のフィルタ係数を判定し、且つ前記同一の場所に配置された参照画素、前記現画素及び前記第2のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を提供することにより、時間フィルタリングを適用するために前記raw画像データを処理するように構成された時間フィルタと
    を備える撮像信号処理システムと、
    を備えることを特徴とする電子装置。
  22. 前記時間フィルタは、時間フィルタリングされたraw画像データを前記画像信号処理システムの画像処理パイプラインに出力するように構成されていることを特徴とする請求項21記載の電子装置。
  23. 前記少なくとも1つのデジタル撮像素子は、前記電子装置と一体化されたデジタルカメラ、前記インタフェースを介して前記電子装置に結合される外部デジタルカメラ又はそれらの組み合わせを含むことを特徴とする請求項21記載の電子装置。
  24. 前記インタフェースは、MIPI(Mobile Industry Processor Interface)、SMIA(Standard Mobile Imaging Architecture)インタフェース又はそれらの組み合わせを含むことを特徴とする請求項21記載の電子装置。
  25. デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイル携帯電話、ポータブルメディアプレーヤ又はそれらのいずれかの組み合わせを備えることを特徴とする請求項21記載の電子装置。
  26. 画像データを時間フィルタリングする方法であって、
    画像信号プロセッサを使用するステップと、
    撮像素子を使用して取得された多色raw画像データの現フレームにおいて空間位置を有する現画素に対して、前記多色raw画像データの先行フレームの同一の場所に配置された参照画素に少なくとも部分的に基づいて前記現画素に対する動きデルタ値を判定するステップと、
    前記動きデルタ値及び前記現画素の前記空間位置に対応する前記先行フレームの動き履歴値に基づいて動きテーブルルックアップ指標を判定し且つ前記動きテーブルルックアップ指標を使用して動きテーブルから第1のフィルタ係数を選択することにより、前記現画素の前記色に基づいて前記第1のフィルタ係数を判定するステップと、
    ルマテーブルルックアップ指標を使用してルマテーブルから減衰率を選択し且つ前記第2のフィルタ係数を判定するために前記第1のフィルタ係数及び前記選択した減衰率を乗算することにより、前記現画素の前記色に基づいて第2のフィルタ係数を判定するステップと、
    前記参照画素の値、前記現画素の値及び前記第2のフィルタ係数の値に基づいて前記現画素に対応する時間フィルタリング済み出力値を判定するステップと、
    を備えることを特徴とする方法。
  27. 単一の動きテーブルは、前記多色raw画像データの各色成分に対して共有され、前記動きテーブルルックアップ指標は、前記現画素の前記色に対応する色に依存するゲインに基づいて更に判定され、
    前記ルマテーブルは、各々が前記多色raw画像データの色に対応する複数のルマテーブルのうちの1つから選択され、前記減衰率は、前記ルマテーブルルックアップ指標を使用して前記選択されたルマテーブルから選択されることを特徴とする請求項26記載の方法。
  28. 前記多色raw画像データは、赤色成分、青色成分、第1の緑色成分及び第2の緑色成分を有するベイヤ画像データを含み、前記選択されたルマテーブルは、前記赤色成分に対応する第1のルマテーブル、前記青色成分に対応する第2のルマテーブル及び前記第1の緑色成分と前記第2の緑色成分との間で共有される第3のルマテーブルから選択されることを特徴とする請求項27記載の方法。
  29. 単一のルマテーブルは、前記多色raw画像データの各色成分に対して共有され、前記ルマテーブルルックアップ指標は、前記現画素の前記色に対応する色に依存するゲインに基づいて更に判定され、
    前記動きテーブルは、各々が前記多色raw画像データの色に対応する複数の動きテーブルのうちの1つから選択され、前記第1のフィルタ係数は、前記動きテーブルルックアップ指標を使用して前記選択された動きテーブルから選択されることを特徴とする請求項26記載の方法。
  30. 前記多色raw画像データは、赤色成分、青色成分、第1の緑色成分及び第2の緑色成分を有するベイヤ画像データを含み、前記選択された動きテーブルは、前記赤色成分に対応する第1の動きテーブル、前記青色成分に対応する第2の動きテーブル及び前記第1の緑色成分と前記第2の緑色成分との間で共有される第3の動きテーブルから選択されることを特徴とする請求項29記載の方法。
JP2012535233A 2009-10-20 2010-10-12 画像信号処理のための時間フィルタリング技術 Expired - Fee Related JP5643320B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/582,414 US8638342B2 (en) 2009-10-20 2009-10-20 System and method for demosaicing image data using weighted gradients
US12/582,414 2009-10-20
US12/789,821 2010-05-28
US12/789,821 US8593483B2 (en) 2009-10-20 2010-05-28 Temporal filtering techniques for image signal processing
PCT/US2010/052272 WO2011049779A1 (en) 2009-10-20 2010-10-12 Temporal filtering techniques for image signal processing

Publications (2)

Publication Number Publication Date
JP2013508853A true JP2013508853A (ja) 2013-03-07
JP5643320B2 JP5643320B2 (ja) 2014-12-17

Family

ID=43357194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012535233A Expired - Fee Related JP5643320B2 (ja) 2009-10-20 2010-10-12 画像信号処理のための時間フィルタリング技術

Country Status (8)

Country Link
US (1) US8593483B2 (ja)
EP (1) EP2491528B1 (ja)
JP (1) JP5643320B2 (ja)
KR (1) KR101269344B1 (ja)
CN (1) CN102640184B (ja)
AU (1) AU2010308351B2 (ja)
TW (1) TWI430654B (ja)
WO (1) WO2011049779A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015513837A (ja) * 2012-02-24 2015-05-14 アップル インコーポレイテッド パラレルスケーラ処理
WO2016103481A1 (ja) * 2014-12-26 2016-06-30 キヤノン株式会社 撮像装置の駆動方法、信号処理方法
JP2019519862A (ja) * 2016-06-30 2019-07-11 アップル インコーポレイテッドApple Inc. 並列コンピュータビジョン及び画像スケーリング・アーキテクチャ
JP2020155907A (ja) * 2019-03-20 2020-09-24 株式会社朋栄 自動色補正処理方法及び自動色補正処理装置

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284271B2 (en) * 2009-06-05 2012-10-09 Apple Inc. Chroma noise reduction for cameras
US8274583B2 (en) * 2009-06-05 2012-09-25 Apple Inc. Radially-based chroma noise reduction for cameras
US8699813B2 (en) 2010-11-19 2014-04-15 Analog Devices, Inc Adaptive filter for low-light noise reduction
US20120128244A1 (en) * 2010-11-19 2012-05-24 Raka Singh Divide-and-conquer filter for low-light noise reduction
US8755625B2 (en) 2010-11-19 2014-06-17 Analog Devices, Inc. Component filtering for low-light noise reduction
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
JP4970606B1 (ja) * 2011-03-31 2012-07-11 株式会社東芝 テレビジョン装置及び電子機器
JP5927541B2 (ja) * 2011-06-08 2016-06-01 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
US8217945B1 (en) 2011-09-02 2012-07-10 Metric Insights, Inc. Social annotation of a single evolving visual representation of a changing dataset
US9076252B2 (en) * 2012-01-05 2015-07-07 Qualcomm Incorporated Image perceptual attribute adjustment
US9143704B2 (en) 2012-01-20 2015-09-22 Htc Corporation Image capturing device and method thereof
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
JP6175505B2 (ja) * 2012-09-28 2017-08-02 ヴィド スケール インコーポレイテッド ビデオコーディングにおけるクロマ信号強調のためのクロスプレーンフィルタリング
JP5806706B2 (ja) * 2012-10-15 2015-11-10 株式会社沖データ 画像読み取り装置及び画像形成装置
CN103974058A (zh) * 2013-01-24 2014-08-06 鸿富锦精密工业(深圳)有限公司 影像噪声分析系统及方法
CN104103037B (zh) * 2013-04-02 2017-02-15 杭州海康威视数字技术股份有限公司 一种图像增强处理方法和装置
US9165352B2 (en) * 2013-06-10 2015-10-20 Xerox Corporation Precipitation removal for vision-based parking management systems
CN104349080B (zh) * 2013-08-07 2018-12-14 联想(北京)有限公司 一种图像处理方法及电子设备
CN104572388B (zh) * 2013-10-15 2017-01-25 鸿富锦精密工业(深圳)有限公司 数据滤波系统、数据滤波装置及方法
CN105100550A (zh) * 2014-04-21 2015-11-25 展讯通信(上海)有限公司 阴影校正方法及装置、成像系统
US9462189B2 (en) 2014-07-31 2016-10-04 Apple Inc. Piecewise perspective transform engine
US9413951B2 (en) 2014-07-31 2016-08-09 Apple Inc. Dynamic motion estimation and compensation for temporal filtering
US9374526B2 (en) 2014-07-31 2016-06-21 Apple Inc. Providing frame delay using a temporal filter
US9514525B2 (en) 2014-07-31 2016-12-06 Apple Inc. Temporal filtering for image data using spatial filtering and noise history
US9479695B2 (en) * 2014-07-31 2016-10-25 Apple Inc. Generating a high dynamic range image using a temporal filter
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
CN105389776B (zh) * 2014-09-02 2019-05-03 辉达公司 图像缩放技术
KR102224851B1 (ko) 2014-12-11 2021-03-08 삼성전자주식회사 서브 픽셀 보간을 수행하는 이미지 처리 장치 및 이미지 처리 시스템
US10021396B1 (en) * 2014-12-30 2018-07-10 Ambarella, Inc. Motion detection based on observing several pictures
CN104796583B (zh) * 2015-05-14 2017-11-21 上海兆芯集成电路有限公司 相机噪声模型产生及使用方法以及使用该方法的装置
US9927862B2 (en) 2015-05-21 2018-03-27 Microsoft Technology Licensing, Llc Variable precision in hardware pipelines for power conservation
US10467496B2 (en) * 2015-08-31 2019-11-05 Apple Inc. Temporal filtering of independent color channels in image data
US9787922B2 (en) 2015-08-31 2017-10-10 Apple Inc. Pixel defect preprocessing in an image signal processor
US9754182B2 (en) 2015-09-02 2017-09-05 Apple Inc. Detecting keypoints in image data
US10440299B2 (en) 2015-09-04 2019-10-08 Apple Inc. Correcting pixel defects based on defect history in an image processing pipeline
CN105306941B (zh) * 2015-11-12 2019-05-24 成都图影视讯科技有限公司 一种视频编码方法
CN105676291B (zh) * 2016-01-11 2017-04-19 中国海洋大学 一种基于同相轴优化追踪的多次波匹配衰减方法
US10277844B2 (en) * 2016-04-20 2019-04-30 Intel Corporation Processing images based on generated motion data
US9979942B2 (en) 2016-06-30 2018-05-22 Apple Inc. Per pixel color correction filtering
DE102016217792A1 (de) * 2016-09-16 2018-03-22 Xion Gmbh Justiersystem
CN106651787B (zh) * 2016-11-08 2019-08-23 深圳市安健科技股份有限公司 基于x射线的hdr图像合成方法及系统
WO2018128896A1 (en) * 2017-01-03 2018-07-12 Flir Systems, Inc. Image noise reduction using spectral transforms
CN108810552B (zh) 2017-04-28 2021-11-09 华为技术有限公司 图像预测方法和相关产品
GB2568039B (en) * 2017-10-30 2020-10-28 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2567881B (en) 2017-10-30 2021-02-10 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2568038B (en) 2017-10-30 2020-12-02 Imagination Tech Ltd Systems and methods for processing a stream of data values
JP6995629B2 (ja) * 2018-01-05 2022-01-14 日本電信電話株式会社 演算回路
TWI712989B (zh) * 2018-01-16 2020-12-11 瑞昱半導體股份有限公司 影像處理方法及影像處理裝置
GB2572571B (en) * 2018-04-03 2021-09-01 Apical Ltd Image processing
US10951875B2 (en) * 2018-07-03 2021-03-16 Raxium, Inc. Display processing circuitry
CN110830680B (zh) * 2018-08-08 2021-03-16 瑞昱半导体股份有限公司 确定滤波器系数的方法
EP3654064B1 (en) * 2018-11-16 2021-01-13 Bayerische Motoren Werke Aktiengesellschaft Apparatus and method for characterizing an object based on measurement samples from one or more location sensors
KR102152346B1 (ko) 2019-01-30 2020-09-04 스노우 주식회사 이미지 파일의 블록 간 차이를 통한 압축율 향상 방법 및 시스템
KR102185668B1 (ko) 2019-01-30 2020-12-02 스노우 주식회사 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템
CN112312046B (zh) * 2019-07-26 2023-05-23 瑞昱半导体股份有限公司 应用于图像感测电路的像素通道不平衡补偿方法与系统
CN111311503A (zh) * 2019-11-13 2020-06-19 深圳大学 一种夜晚低亮度图像增强系统
CN110852976B (zh) * 2019-11-22 2023-04-18 昆明物理研究所 一种红外图像明暗不均匀校正方法及计算机程序产品
WO2021102947A1 (zh) * 2019-11-29 2021-06-03 深圳市大疆创新科技有限公司 图像信号处理装置、方法、相机以及可移动平台
US11508037B2 (en) 2020-03-10 2022-11-22 Samsung Electronics Co., Ltd. Systems and methods for image denoising using deep convolutional networks
CN111487257A (zh) * 2020-04-01 2020-08-04 武汉精立电子技术有限公司 一种显示面板异常像素实时检测修复方法及装置
US11488285B2 (en) * 2020-04-13 2022-11-01 Apple Inc. Content based image processing
CN112837323A (zh) * 2021-01-12 2021-05-25 全时云商务服务股份有限公司 一种基于人像分割的视频处理方法、系统和存储介质
US11798135B2 (en) * 2021-02-24 2023-10-24 Gn Audio A/S Method and system for three-dimensional noise reduction and contrast enhancement of images
US11509836B1 (en) 2021-12-29 2022-11-22 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11704891B1 (en) 2021-12-29 2023-07-18 Insight Direct Usa, Inc. Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data
CN114511469B (zh) * 2022-04-06 2022-06-21 江苏游隼微电子有限公司 一种图像智能降噪先验检测方法
US11778167B1 (en) 2022-07-26 2023-10-03 Insight Direct Usa, Inc. Method and system for preprocessing optimization of streaming video data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08181910A (ja) * 1994-12-26 1996-07-12 Hitachi Ltd 画像処理装置
JP2000115632A (ja) * 1998-09-30 2000-04-21 Sharp Corp 映像信号処理装置
JP2007060153A (ja) * 2005-08-23 2007-03-08 Nikon Corp 履歴付加装置、電子カメラ、および画像処理プログラム
US20070071343A1 (en) * 2005-09-29 2007-03-29 Jay Zipnick Video acquisition with integrated GPU processing
JP2008252767A (ja) * 2007-03-30 2008-10-16 Sanyo Electric Co Ltd ノイズ低減装置、ノイズ低減方法、及び電子機器
WO2008132791A1 (ja) * 2007-04-13 2008-11-06 Panasonic Corporation 画像処理装置、集積回路及び画像処理方法
JP2009188914A (ja) * 2008-02-08 2009-08-20 Ricoh Co Ltd 撮像装置および画像処理装置

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US39213A (en) * 1863-07-14 Improvement in the manufacture of alkaline carbonates
US38896A (en) * 1863-06-16 Improvement in sheep-racks
US38911A (en) * 1863-06-16 Van eensselaee powell
US4589089A (en) * 1978-05-30 1986-05-13 Bally Manufacturing Corporation Computer-peripheral interface for a game apparatus
US4475172A (en) * 1978-05-30 1984-10-02 Bally Manufacturing Corporation Audio/visual home computer and game apparatus
US4799677A (en) * 1983-09-02 1989-01-24 Bally Manufacturing Corporation Video game having video disk read only memory
US4979738A (en) 1983-12-06 1990-12-25 Midway Manufacturing Corporation Constant spatial data mass RAM video display system
US4682360A (en) * 1983-12-22 1987-07-21 Frederiksen Jeffrey E Video transmission system
US4742543A (en) * 1983-12-22 1988-05-03 Frederiksen Jeffrey E Video transmission system
US4605961A (en) * 1983-12-22 1986-08-12 Frederiksen Jeffrey E Video transmission system using time-warp scrambling
US4694489A (en) * 1983-12-22 1987-09-15 Frederiksen Jeffrey E Video transmission system
US4743959A (en) * 1986-09-17 1988-05-10 Frederiksen Jeffrey E High resolution color video image acquisition and compression system
US5227863A (en) * 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
US5272529A (en) * 1992-03-20 1993-12-21 Northwest Starscan Limited Partnership Adaptive hierarchical subband vector quantization encoder
US5247355A (en) * 1992-06-11 1993-09-21 Northwest Starscan Limited Partnership Gridlocked method and system for video motion compensation
CA2143633A1 (en) * 1992-09-01 1994-03-17 James Oliver Normile Improved vector quantization
JP2931520B2 (ja) * 1993-08-31 1999-08-09 三洋電機株式会社 単板式カラービデオカメラの色分離回路
US6122411A (en) * 1994-02-16 2000-09-19 Apple Computer, Inc. Method and apparatus for storing high and low resolution images in an imaging device
US5694227A (en) * 1994-07-15 1997-12-02 Apple Computer, Inc. Method and apparatus for calibrating and adjusting a color imaging system
US5764291A (en) * 1994-09-30 1998-06-09 Apple Computer, Inc. Apparatus and method for orientation-dependent camera exposure and focus setting optimization
US5496106A (en) * 1994-12-13 1996-03-05 Apple Computer, Inc. System and method for generating a contrast overlay as a focus assist for an imaging device
US5629734A (en) * 1995-03-17 1997-05-13 Eastman Kodak Company Adaptive color plan interpolation in single sensor color electronic camera
US5640613A (en) * 1995-04-14 1997-06-17 Apple Computer, Inc. Corrective lens assembly
US6011585A (en) 1996-01-19 2000-01-04 Apple Computer, Inc. Apparatus and method for rotating the display orientation of a captured image
JPH09261463A (ja) 1996-03-26 1997-10-03 Casio Electron Mfg Co Ltd 画像データ補正装置
US5867214A (en) 1996-04-11 1999-02-02 Apple Computer, Inc. Apparatus and method for increasing a digital camera image capture rate by delaying image processing
US5809178A (en) * 1996-06-11 1998-09-15 Apple Computer, Inc. Elimination of visible quantizing artifacts in a digital image utilizing a critical noise/quantizing factor
US6031964A (en) * 1996-06-20 2000-02-29 Apple Computer, Inc. System and method for using a unified memory architecture to implement a digital camera device
US6157394A (en) 1996-08-29 2000-12-05 Apple Computer, Inc. Flexible digital image processing via an image processing chain with modular image processors
US5991465A (en) * 1996-08-29 1999-11-23 Apple Computer, Inc. Modular digital image processing via an image processing chain with modifiable parameter controls
US6028611A (en) * 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
US5790705A (en) * 1996-09-13 1998-08-04 Apple Computer, Inc. Compression techniques for substantially lossless digital image data storage
US6141044A (en) * 1996-09-26 2000-10-31 Apple Computer, Inc. Method and system for coherent image group maintenance in memory
US5979738A (en) * 1998-02-05 1999-11-09 E.P. Paton Electric Welding Machine for flash-butt welding of rails
US6198514B1 (en) 1998-02-27 2001-03-06 Apple Computer, Inc. Color misconvergence measurement using a common monochrome image
US6954193B1 (en) 2000-09-08 2005-10-11 Apple Computer, Inc. Method and apparatus for correcting pixel level intensity variation
US6745012B1 (en) 2000-11-17 2004-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive data compression in a wireless telecommunications system
US7110455B2 (en) * 2001-08-14 2006-09-19 General Instrument Corporation Noise reduction pre-processor for digital video using previously generated motion vectors and adaptive spatial filtering
US7170938B1 (en) * 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
US6959044B1 (en) 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US6933971B2 (en) * 2002-05-14 2005-08-23 Kwe International, Inc. Reconstruction of color components in digital image processing
US7277595B1 (en) * 2003-01-06 2007-10-02 Apple Inc. Method and apparatus for digital image manipulation to remove image blemishes
WO2004088992A1 (ja) * 2003-03-28 2004-10-14 Olympus Corporation 画像処理装置及び画像処理プログラム
US7310371B2 (en) * 2003-05-30 2007-12-18 Lsi Corporation Method and/or apparatus for reducing the complexity of H.264 B-frame encoding using selective reconstruction
US7327786B2 (en) * 2003-06-02 2008-02-05 Lsi Logic Corporation Method for improving rate-distortion performance of a video compression system through parallel coefficient cancellation in the transform
US7324595B2 (en) * 2003-09-22 2008-01-29 Lsi Logic Corporation Method and/or apparatus for reducing the complexity of non-reference frame encoding using selective reconstruction
US7602849B2 (en) * 2003-11-17 2009-10-13 Lsi Corporation Adaptive reference picture selection based on inter-picture motion measurement
US7362804B2 (en) * 2003-11-24 2008-04-22 Lsi Logic Corporation Graphical symbols for H.264 bitstream syntax elements
JP2005159957A (ja) * 2003-11-28 2005-06-16 Mega Chips Corp 色補間方法
US7345708B2 (en) * 2003-12-23 2008-03-18 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7362376B2 (en) * 2003-12-23 2008-04-22 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7515765B1 (en) * 2004-01-30 2009-04-07 Apple Inc. Image sharpness management
US7502505B2 (en) * 2004-03-15 2009-03-10 Microsoft Corporation High-quality gradient-corrected linear interpolation for demosaicing of color images
US7231587B2 (en) * 2004-03-29 2007-06-12 Lsi Corporation Embedded picture PSNR/CRC data in compressed video bitstream
US7620103B2 (en) * 2004-12-10 2009-11-17 Lsi Corporation Programmable quantization dead zone and threshold for standard-based H.264 and/or VC1 video encoding
US7576783B2 (en) 2005-02-04 2009-08-18 Hau Hwang Confidence based weighting for color interpolation
US7612804B1 (en) * 2005-02-15 2009-11-03 Apple Inc. Methods and apparatuses for image processing
US7949044B2 (en) * 2005-04-12 2011-05-24 Lsi Corporation Method for coefficient bitdepth limitation, encoder and bitstream generation apparatus
US8031766B2 (en) * 2005-08-02 2011-10-04 Lsi Corporation Performance adaptive video encoding with concurrent decoding
US7903739B2 (en) * 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
US8155194B2 (en) * 2005-08-05 2012-04-10 Lsi Corporation Method and apparatus for MPEG-2 to H.264 video transcoding
US8045618B2 (en) * 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US7881384B2 (en) * 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8208540B2 (en) * 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
JP2007086559A (ja) * 2005-09-26 2007-04-05 Pentax Corp カメラ
US7596280B2 (en) * 2005-09-29 2009-09-29 Apple Inc. Video acquisition with integrated GPU processing
US7711200B2 (en) 2005-09-29 2010-05-04 Apple Inc. Video acquisition with integrated GPU processing
US7551214B2 (en) * 2005-12-01 2009-06-23 Megachips Lsi Solutions Inc. Pixel interpolation method
US7830426B2 (en) 2005-12-29 2010-11-09 Micron Technology, Inc. Method and apparatus providing color interpolation in color filter arrays using edge detection and correction terms
JP5183880B2 (ja) * 2006-03-14 2013-04-17 ソニー株式会社 カラーフィルタおよび撮像素子
JP5053373B2 (ja) 2006-06-29 2012-10-17 トムソン ライセンシング 適応ピクセルベースのフィルタリング
US7893975B2 (en) * 2006-10-13 2011-02-22 Apple Inc. System and method for processing images using predetermined tone reproduction curves
US7773127B2 (en) * 2006-10-13 2010-08-10 Apple Inc. System and method for RAW image processing
JP4284628B2 (ja) * 2006-12-15 2009-06-24 ソニー株式会社 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
US20080253652A1 (en) * 2007-04-10 2008-10-16 Aricent Inc. Method of demosaicing a digital mosaiced image
US8724895B2 (en) 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
US8405727B2 (en) * 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
CN101448077B (zh) * 2008-12-26 2010-06-23 四川虹微技术有限公司 一种自适应视频图像3d降噪方法
CN101551901B (zh) * 2009-05-25 2010-12-29 中国人民解放军国防科学技术大学 动态遮挡图像的实时补偿和增强方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08181910A (ja) * 1994-12-26 1996-07-12 Hitachi Ltd 画像処理装置
JP2000115632A (ja) * 1998-09-30 2000-04-21 Sharp Corp 映像信号処理装置
JP2007060153A (ja) * 2005-08-23 2007-03-08 Nikon Corp 履歴付加装置、電子カメラ、および画像処理プログラム
US20070071343A1 (en) * 2005-09-29 2007-03-29 Jay Zipnick Video acquisition with integrated GPU processing
JP2008252767A (ja) * 2007-03-30 2008-10-16 Sanyo Electric Co Ltd ノイズ低減装置、ノイズ低減方法、及び電子機器
WO2008132791A1 (ja) * 2007-04-13 2008-11-06 Panasonic Corporation 画像処理装置、集積回路及び画像処理方法
JP2009188914A (ja) * 2008-02-08 2009-08-20 Ricoh Co Ltd 撮像装置および画像処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015513837A (ja) * 2012-02-24 2015-05-14 アップル インコーポレイテッド パラレルスケーラ処理
WO2016103481A1 (ja) * 2014-12-26 2016-06-30 キヤノン株式会社 撮像装置の駆動方法、信号処理方法
JPWO2016103481A1 (ja) * 2014-12-26 2017-10-05 キヤノン株式会社 撮像装置の駆動方法、信号処理方法
US10462432B2 (en) 2014-12-26 2019-10-29 Canon Kabushiki Kaisha Method for driving image pickup apparatus, and signal processing method
JP2019519862A (ja) * 2016-06-30 2019-07-11 アップル インコーポレイテッドApple Inc. 並列コンピュータビジョン及び画像スケーリング・アーキテクチャ
JP2020155907A (ja) * 2019-03-20 2020-09-24 株式会社朋栄 自動色補正処理方法及び自動色補正処理装置

Also Published As

Publication number Publication date
US8593483B2 (en) 2013-11-26
AU2010308351B2 (en) 2014-07-10
EP2491528A1 (en) 2012-08-29
KR20120062941A (ko) 2012-06-14
EP2491528B1 (en) 2016-08-31
TWI430654B (zh) 2014-03-11
WO2011049779A1 (en) 2011-04-28
TW201143378A (en) 2011-12-01
CN102640184A (zh) 2012-08-15
US20110090351A1 (en) 2011-04-21
AU2010308351A1 (en) 2012-05-17
CN102640184B (zh) 2015-04-08
KR101269344B1 (ko) 2013-05-31
JP5643320B2 (ja) 2014-12-17

Similar Documents

Publication Publication Date Title
JP5643320B2 (ja) 画像信号処理のための時間フィルタリング技術
JP5688090B2 (ja) 重み付け勾配を利用した画像データのデモザイク処理のためのシステム及び方法
JP5597717B2 (ja) 撮像素子における欠陥画素の検出及び補正のためのシステム及び方法
US8294781B2 (en) System and method for sharpening image data
US8472712B2 (en) System and method for applying lens shading correction during image processing
US8525895B2 (en) Binning compensation filtering techniques for image signal processing
RU2537038C2 (ru) Автоматическая обработка баланса белого с гибким выбором цветового пространства
RU2543974C2 (ru) Управление автофокусировкой с использованием статистических данных изображения на основании показателей грубой и точной автофокусировки
TWI513298B (zh) 雙影像感測器影像處理系統及方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140804

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141030

R150 Certificate of patent or registration of utility model

Ref document number: 5643320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees