JP7426480B2 - 画像処理パイプラインのハイライト復元 - Google Patents

画像処理パイプラインのハイライト復元 Download PDF

Info

Publication number
JP7426480B2
JP7426480B2 JP2022521331A JP2022521331A JP7426480B2 JP 7426480 B2 JP7426480 B2 JP 7426480B2 JP 2022521331 A JP2022521331 A JP 2022521331A JP 2022521331 A JP2022521331 A JP 2022521331A JP 7426480 B2 JP7426480 B2 JP 7426480B2
Authority
JP
Japan
Prior art keywords
channel
value
hue
values
channels
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.)
Active
Application number
JP2022521331A
Other languages
English (en)
Other versions
JP2022553909A (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.)
Google LLC
Original Assignee
Google LLC
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
Application filed by Google LLC filed Critical Google LLC
Publication of JP2022553909A publication Critical patent/JP2022553909A/ja
Application granted granted Critical
Publication of JP7426480B2 publication Critical patent/JP7426480B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6075Corrections to the hue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Description

背景
本明細書は、画像プロセッサに関する。画像プロセッサは、取り込まれた画像データを処理するように設計されたドメイン固有の処理デバイスである。
いくつかの画像プロセッサは、特定用途向けハードウェアによって実現される画像処理パイプラインを有する。本明細書では、画像処理パイプラインは、画像ソース、例えばカメラと、画像レンダラ、例えばコンピュータまたは電話スクリーンとの間の任意の中間デジタル画像処理を実行する、「ブロック」と呼ばれる1つ以上の構成要素のセットとして定義される。
画像処理パイプラインのいくつかのブロックは、画像信号のゲインを増加させ、すなわち、画像のピクセルデータのそれぞれのチャネルの値を増加させる。典型的には、ブロックは、ピクセルのゲインをある点までしか増加させ得ない。ピクセルは、ピクセルデータのそれぞれのチャネルが取り得る最大値を定義するビット精度を暗黙的に有する。ビット精度によって許容されるよりも多くのゲインがブロックによって適用される場合、ピクセル値は、ビット精度によって許容される最大値に等しくなるようにブロックによってしばしば「クリッピング」される。これは一般に、「ハイライトクリッピング」として知られる画像劣化につながり、画像のある領域はクリッピングされたピクセル値に起因して歪んだ色を有する。例えば、ある領域内のピクセルのすべてのチャネルがクリッピングされる場合、その領域は、例えば、完全に白色である領域としてしばしばレンダリングされる、均一な最大ピクセル値を有し得る。
便宜上、本明細書はRGB色空間を用いる例を含み、すなわち、チャネルはRチャネル、Gチャネル、およびBチャネルを含む。本明細書に記載される主題は、任意の適切な色空間、例えば、ほんの数例を挙げると、RGrGbB色空間またはRGBA色空間に適用することができる。
さらに、便宜上、本明細書は、個々のピクセルを処理してピクセルの色相を復元することに言及する例を含む。本明細書で説明する主題は、より一般的には、ハイライト領域を処理してハイライト領域の色相を復元するために適用され得、ピクセルはハイライト領域の一例である。ハイライト領域の別の例は、カラーフィルタアレイにおいて2×2のグリッドで配置された4つのピクセルのグループである。この例では、4つのピクセルのグループ内のピクセルの各々は、単一の色を表す単一の値を有することができ、ハイライト領域のチャネルは、4つのピクセルの値とすることができる。特定の例として、画像は、画像がベイヤーフィルタを用いて処理されている場合、ピクセルの2×2のグリッドであるハイライト領域を有することができる。
ハイライト復元とは、画像のクリッピングされた領域の色情報を復元してハイライトクリッピングを補正するための技術である。
ハードウェアにおいてハイライト復元を実行するための1つの技術は、色伝播を用いる。色伝播ハイライト復元を実行するために、クリッピングされておらず、かつクリッピングされた領域に隣接するピクセルからの色値が、クリッピングされた領域に伝播される。したがって、クリッピングされていないピクセルの色値は、クリッピングされた領域を補正するために「ブリードオーバー」することが意図される。
しかしながら、ハードウェアにおいて色伝播ハイライト復元を実行することは、いくつかの欠点を有する。第1に、色伝播は、大きなランダムアクセスメモリ(RAM)を必要とし、例えば、他の態様で必要とされるであろうよりも大きいシリコンウエハが画像プロセッサ上に展開されることを必要とする。これは、色伝播ハイライト復元の間、画像プロセッサは複数のピクセル値をメモリ内に保持しなければならないからである。特に、入来画像データのラスタスキャンは、画像内のクリッピングされたピクセルに隣接するクリッピングされていないピクセルのピクセル値がSRAMまたはDRAMにバッファリングされることを必要とする。バッファサイズの増大は、ハードウェアのサイズ、コスト、および複雑さを増大させる。
第2に、色伝播は、効果的に補正することができる領域のサイズに自然な限界を有する。言い換えれば、クリッピングされる領域が大きいと、その大きなクリッピングされる領域の中央のピクセルにおけるハイライトクリッピングの補正に、隣接ピクセルからの色情報を確実に用いることができない。
図1は、色伝播ハイライト復元を実行する先行技術の画像信号プロセッサ(ISP)の画像処理パイプライン100のブロック図である。
ISPへの入力は、生ピクセルデータ102、例えば、カメラによって取り込まれたピクセルデータである。生ピクセルデータ102は、ピクセルごとに1つ以上のチャネルについての値を含む。例えば、各ピクセルは、Rチャネル、Gチャネル、およびBチャネルを含むことができ;特定の例として、ピクセルはチャネル値(250,120,50)を有し得る。
生ピクセルデータ102における各ピクセルに対する入力データは、bpp_inのビット精度を有し、「bpp」は、「bits per pixel(1ピクセル当たりのビット数)」の短縮形である。例示的なbpp_inは24bppであり、8ビットがRチャネル、Gチャネル、およびBチャネルの各々にそれぞれ割り当てられる。24のbppは、各チャネルが0と255との間の値を有することを可能にする。
生ピクセルデータ102を受信した後、ISPは、1つ以上のブロック104,106,108,および110のシーケンスを用いて生ピクセルデータを処理した後に、ブロック112で色伝播ハイライト復元を実行して、出力ピクセルデータ114を生成することができる。ブロックのうちの1つ以上は、非ゲイン適用ブロック(図1に示す例では、ブロック104および106)であり得る。ブロックのうちの1つ以上は、ゲイン適用ブロック(図1に示す例では、ブロック108および110)であり得る。図1は、非ゲイン適用ブロックのシーケンスと、それに続くゲイン適用ブロックのシーケンスとを示すが、概して、ゲイン適用ブロックおよび非ゲイン適用ブロックは、ISPにおいて任意の順序であり得る。
ISPの非ゲイン適用ブロックは、ブロックへの入力データのデータ精度にゲインを適用しないブロックである。言い換えると、非ゲイン適用ブロックによって生成される出力データは、精度を損なうことなく、入力データと同じデータ精度bpp_inで表すことができる。例えば、ISPの非ゲイン適用ブロックは、線形化ブロック104および黒レベル補正ブロック106を含むことができる。
ISPのゲイン適用ブロックは、ブロックへの入力データのデータ精度にゲインを適用する。言い換えると、ゲイン適用ブロックによって生成される出力データは、ブロックへの入力データのデータ精度bpp_inよりも高いデータ精度を必要とし得る。すなわち、ブロックへの入力データによって表されるいくつかのピクセルについて、ブロックによって生成されたピクセルに対応するそれぞれの出力データを、精度を損なうことなくエンコードするために、bpp_inよりも高いデータ精度が必要とされる。例えば、ISPのゲイン適用ブロックは、レンズシェーディング補正ブロック108およびホワイトバランスゲインブロック110を含むことができる。
従来、ISP内の任意のブロックによって生成される出力データは、ブロックの入力のデータ精度を維持しなければならない。したがって、ゲイン適用ブロック108および110は、データ精度bpp_inによって許容される最大値を超える値を有する各ピクセルを表すそれぞれの出力データを「クリッピング」しなければならない。そのようなピクセルごとに、チャネルの値がそのチャネルに割り当てられたデータ精度を超えるほど充分にブロックによって増加されたチャネルが、少なくとも1つある。そのようなチャネルの場合、ブロックは、チャネルの値をデータ精度bpp_inによって許容される最大値に設定する。
特定の例として、ゲイン適用ホワイトバランスゲインブロック110は、24bppの許容されたデータ精度を有することができる。ホワイトバランスゲインブロック110は、Rチャネル値が250であるピクセルを含む入力データを受信するかもしれず、ブロック110は、ピクセルのRチャネル値を250から260に変更するかもしれない。この場合、ホワイトバランスゲインブロック110は、Rチャネル値を、24bppで許容される最大値である255にクリッピングする。
ピクセル値をクリッピングすることは、Rチャネル、Gチャネル、およびBチャネルの相対的割合を表す、ピクセルの「色相」を変化させる。例えば、ゲイン適用ブロックが赤橙色である(380,240,0)のピクセル値を生成する場合、ブロックはピクセル値を黄色である(255,240,0)にクリッピングする。この問題が生じるのは、Rチャネルのみがクリッピングされ、GチャネルおよびBチャネルは触れられないままであり、したがってチャネル値の相対的な割合が変化するからである。
ゲイン適用ブロック108および110に続いて、色伝播ハイライト復元ブロック112があり、これは、それらの色相を復元するために、クリッピングされたピクセルを処理する。そのために、色伝播ハイライト復元ブロック112は、クリッピングされたピクセルごとに、クリッピングされなかった最も近い周辺ピクセルを調査し、周辺のクリッピングされていないピクセルの色相から、クリッピングされたピクセルの色相を推定する。このプロセスは、クリッピングされたピクセルからなる比較的小さい領域、例えば、クリッピングされた2つまたは4つのピクセルのクラスタに対して実行される場合、良好な結果をもたらすことができる。しかしながら、このプロセスは、クリッピングされたピクセルからなる、より大きい領域に対して実行される場合に生じるいくつかの欠点を有する。本明細書において、「領域」とは、画像の、連続するピクセルのグループである。
色伝播ハイライト復元プロセスが、クリッピングされたピクセルからなる、より大きい領域に対して実行される場合、ピクセルについて復元された色相は、不正確であることが多い。例えば、クリッピングされたピクセルからなる領域の中央におけるピクセルの色相を復元するためには、色伝播ハイライト復元ブロック112は、最も近いクリッピングされていないピクセルの色相を用いなければならない。しかしながら、最も近いクリッピングされていないピクセルは、多くのピクセル、例えば50ピクセル離れている場合がある。50ピクセル離れたクリッピングされていないピクセルの色相からクリッピングされたピクセルの色相を推論することは、非常に混合された結果を有し得、なぜならば、クリッピングされたピクセルの元のクリッピングされていない値は、50ピクセル離れたピクセルのクリッピングされていない値と非常に異なり得るからである。色伝播ハイライト復元を用いて生成された復元された色相は、望ましくないパターンを形成する可能性もある。例えば、クリッピングされた領域の色と隣接するクリッピングされていない領域の色との間に目に見える不連続性が存在し得る。
さらに、大きいクリッピングされた領域内のすべてのピクセルのRチャネルはクリッピングされたが、GチャネルおよびBチャネルはクリッピングされなかった場合、すべて同じ値にクリッピングされた広範囲のRチャネル値があり得る。したがって、色伝播ハイライト復元ブロック112は、領域内のすべてのピクセルについて、たとえそれらの元の色相が非類似であったとしても、類似の色相を復元し得る。例えば、24bppのデータ精度では、クリッピングされたピクセルからなる同じ領域内に、先にクリッピングされたRチャネル値が380である1つのピクセルと、先にクリッピングされたチャネル値が260である別のピクセルがあるかもしれない。クリッピング後、両方のピクセルは255のRチャネル値を有する。このクリッピングされた値のみが色伝播ハイライト復元ブロック112に利用可能であり、したがって、ブロック112が、第1のピクセルがはるかにより高いクリッピングされていないRチャネル値を有していたという事実を復元することは不可能である。
色伝播ハイライト復元プロセスは、ハードウェアコストも大きい。各クリッピングされた領域について、画像ピクセルデータのラスタスキャン順序は、領域内のクリッピングされたピクセルの色相を復元するために、クリッピングされた領域全体がSRAMにバッファリングされることを必要とし得、これは、クリッピングされた領域が大きい場合、費用がかかる要件である。さらに、クリッピングされた領域に必要な計算量は、クリッピングされた領域内のピクセルの数とともに超線形的に増加し、すなわち、クリッピングされた領域内のピクセル数が多いほど、クリッピングされた領域内の1つのピクセルの色相を復元するために必要な演算量が多くなる。
図2は、色伝播ハイライト復元を用いて先行技術のISPによって処理された例示的な画像200の図である。
画像200は、「Drive-Thru Open」と読めるネオンサインを示す。「Drive-Thru」と読めるネオンサインの文字は青色ネオン光であり、「Open」と読めるネオンサインの文字は赤色ネオン光である。
ISPが画像200に対して色伝播ハイライト復元を実行した後、「Drive-Thru」の文字を綴る青色文字の各々は、3つの別個の領域、すなわち、白色領域210、変色領域220、および青色領域230を有する。
各青色ネオン文字の中央には、白色領域210がある。画像は、白色領域210に白色ピクセルを有し、なぜならば、その領域におけるネオン光の強度が、画像200をキャプチャしたデバイスの露出設定を前提として、最大ピクセル値をもたらしたからである。
各青色ネオン文字の白色領域210を取り囲むのは、変色領域220である。変色領域220のピクセルは、青色ネオンサインから来る青色光の反射を示しており、青色であるべきである。しかしながら、変色領域220のピクセルは、ISPの色伝播ハイライト復元ブロックによって実行される不正確な色相復元に起因して、シアン(斜線によって表される)、すなわち青緑色である。
特定の例として、データ精度24bppを有するゲイン適用ブロックに続いて、ピクセルは、純粋な青色である、クリッピングされていないチャネル値(0,200,450)を有するかもしれない。クリッピングされた後、ピクセルは、シアン色であるクリッピングされたチャネル値(0,200,255)を有する。
ISPの色伝播ハイライト復元ブロックは、クリッピングされたピクセルを処理してそれらの色相を復元するが、変色領域220は、多数のクリッピングされたピクセルを含む大きな領域である。したがって、上述の色伝播ハイライト復元プロセスの欠点のため、変色領域220のピクセルの色相は適切に復元されず、最終的な画像は、変色領域220において、青色ピクセルの代わりにシアンピクセルを有する。
各青色ネオン文字の変色領域220を取り囲むのは、青色領域230である。青色領域230のピクセルはクリッピングする必要はなく、したがって、ピクセルの色相を失うことはなかった。すなわち、ISPのゲイン適用ブロックは、青色領域のピクセルに対して、それらのピクセル値がブロックのデータ精度で許容される最大値を超えるほど大きなゲインを適用しなかった。したがって、画像は、青色領域230内に青色ピクセル(ドットで表される)を正確に有する。
ISPが画像200に対して色伝播ハイライト復元を実行した後、「Open」の文字を綴る赤色ネオン光は、同様の特徴を示す。赤色文字の各々は、3つの領域、すなわち、白色領域240、変色領域250、赤色領域260を有する。
上述したように、各赤色ネオン文字の中央には白色領域240がある。画像は、白色領域240内に白色ピクセルを有し、なぜならば、その領域内の光の強度が、画像200をキャプチャしたデバイスの露光設定を前提として、最大ピクセル値をもたらしたからである。
各赤色ネオン文字の白色領域240を取り囲むのは、変色領域250である。変色領域250のピクセルは、赤色ネオンサインから来る赤色光の反射を示しており、赤色であるべきである。しかしながら、変色領域250のピクセルは、ISPの色伝播ハイライト復元ブロックによって実行される不正確な色相復元に起因して、黄色である(斜線によって表される)。
各赤色ネオン文字の変色領域250を取り囲むのは、赤色領域260である。赤色領域260のピクセルはクリッピングする必要はなく、したがって、ピクセルの色相を失うことはなかった。したがって、画像は、赤色領域260において赤色ピクセル(格子縞によって表される)を正確に有する。
したがって、図2によって示される例に図示されるように、色伝播ハイライト復元を行うことは、必要とされるハードウェアおよび結果として生じる画像の品質の両方において元来の欠点を有する。
概要
本明細書では、ビット精度要件を満たすように値がクリッピングされたピクセルの領域に対して、ピクセルのクリッピングされていない値を用いてハイライト復元を実行するシステムが記載される。本明細書で説明される技法を用いて処理されたピクセルは、ピクセルのクリッピングされていないバージョンと同じ色相を有するが、ビット精度要件を満たす。
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つ以上を実現するように実施することができる。
本明細書に記載されるハイライト復元プロセスは、上述の先行技術の色伝播ハイライト復元よりも著しく良好に機能する。
第1に、本明細書で説明されるハイライト復元プロセスは、色伝播プロセスが行うように、ISPのRAMバッファサイズの大きな増加を必要としない。いくつかの実現例では、本明細書で説明するハイライト復元プロセスは、RAMバッファをまったく伴わずに実行され得る。これは、ISPを実行するために必要とされるハードウェアのサイズ、コスト、および複雑さの著しい節約を提供することができる。
第2に、いくつかの実現例では、本明細書で説明されるハイライト復元プロセスの有効性は、クリッピング領域のサイズが増加するにつれて減少せず、このプロセスは、クリッピングされたピクセルが位置するクリッピングされた領域のサイズにかかわらず、色相が復元されなければならないすべてのクリッピングされたピクセルに対して一貫している。したがって、本明細書で説明される技法は、多くの場合、ピクセルの色相を復元することにおいて色伝播プロセスよりも著しく正確であり、要求される出力データ精度を依然として維持しながら、ピクセルの色相を復元することができる。さらに、いくつかの実現例では、本明細書で説明するハイライト復元プロセスは、いくつかの先行技術の技法と比較して、最小限の色アーチファクト、たとえば、画像中のクリッピングされた領域の色と隣接するクリッピングされていない領域の色との間の最小限の視覚的不連続性を有する。
本明細書の主題の1つ以上の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、局面および利点は、詳細な説明、図面および特許請求の範囲から明らかになる。
色伝播ハイライト復元を実行する先行技術の画像信号プロセッサの画像処理パイプラインのブロック図である。 色伝播ハイライト復元を用いてISPによって処理された例示的な画像の図である。 ハイライト復元ブロックを含む画像信号プロセッサの画像処理パイプラインのブロック図である。 ハイライト復元プロセスを用いてISPによって処理された例示的な画像の図である。 色相補正のための例示的なプロセスのフローチャートである。 ピクセルのクリッピングされていないチャネル値を用いてピクセルの色相値を生成するための例示的なプロセスのフローチャートである。 ピクセルのクリッピングされたチャネル値および色相値を用いてピクセルの最終チャネル値を生成するための例示的なプロセスのフローチャートである。
詳細な説明
本明細書では、必要とされるデータ精度を維持しながら、クリッピングされたピクセルからなる領域に対してハイライト復元を行うシステムを記載する。
図3は、ハイライト復元ブロック312を含むISPの画像処理パイプライン300のブロック図である。
図1は、色伝播ハイライト復元を実行する先行技術の画像信号プロセッサ(ISP)の画像処理パイプライン100のブロック図である。
ISPへの入力は、生ピクセルデータ302、例えば、カメラによって取り込まれたピクセルデータである。生ピクセルデータ302は、各ピクセルについて1つ以上のチャネルの値を含むことができる。生ピクセルデータ102内の各ピクセルに対する入力データは、bpp_inのビット精度を有する。
生ピクセルデータ302を受信した後、ISPは、1つ以上のブロック304,306,308,および310のシーケンスを用いて生ピクセルデータ302を処理した後に、ブロック312で色伝播ハイライト復元を実行して、出力ピクセルデータ322を生成することができる。ブロックのうちの1つ以上は、非ゲイン適用ブロックであり得る(図3に示す例では、ブロック304および306)。ブロックのうちの1つ以上は、ゲイン適用ブロックであり得る(図1に示す例では、ブロック308および310)。図3は、非ゲイン適用ブロックのシーケンスと、それに続くゲイン適用ブロックのシーケンスとを示すが、概して、ゲイン適用ブロックおよび非ゲイン適用ブロックは、ISPにおいて任意の順序であり得る。
非ゲイン適用ブロックは、ブロックへの入力データと同じデータ精度bpp_inを有する出力データを生成する。例えば、ISPの非ゲイン適用ブロックは、線形化ブロック304および黒レベル補正ブロック306を含むことができる。
ゲイン適用ブロックは、ブロックへの入力データよりも高いデータ精度を必要とする出力データを生成する。すなわち、ブロックの出力データにおける1つ以上のピクセル値は、データ精度bpp_inで許容される最大値を超える。例えば、ISPのゲイン適用ブロックは、レンズシェーディング補正ブロック308およびホワイトバランスゲインブロック310を含むことができる。
ゲイン適用ブロック308、310は、データ精度がbpp_inを超えるピクセルのチャネル値をクリッピングしない。代わりに、これらのブロックは、ピクセルのクリッピングされていない値を維持し、出力データにおいて、ピクセル当たり、ブロックへの入力データにおいて許容されたよりも多くのビットを割り当てる。
特定の例として、レンズシェーディング補正ブロック308は、入力データを精度bpp_inで受け取り、追加のN個のbppを追加するので、ブロック308の出力データは、bpp_in+Nのデータ精度を有する。いくつかの実現例では、他のゲイン適用ブロック、たとえば「デジタルゲイン」ブロックも、ISPに含まれ得る。
ゲイン適用ブロック308および310に続いて、ピクセルのチャネル値に対して色相補正プロセスを実行するハイライト復元ブロック312がある。ハイライト復元ブロック312は、精度bpp_in+N+Mを有する入力データを受け取り、データ精度bpp_inを有する出力ピクセルデータ322を生成する。すなわち、ハイライト復元ブロック312は、ブロック312の入力データにおける各ピクセルの色相を復元するとともに、ピクセルのデータ精度を低減して、要求されるデータ精度bpp_inまで低下させて戻す。特に、ハイライト復元ブロック312は、ブロック312の入力データに表される、bpp_inより大きいデータ精度を有する1つ以上のピクセルを識別し、それらのピクセルを処理して、それらのクリッピングされていない色相は保存されるが、それらのデータ精度はbpp_inに戻される。bpp_inのデータ精度は、画像をさらに処理または表示するためにISPの下流ブロックによって必要とされる場合があり、または画像のサイズに対する記憶制約を満たすことが必要とされる場合がある。
特に、ハイライト復元ブロック312は、クリッピングされていないピクセルチャネルデータを入力として受け取る。データ精度がbpp_inより大きいピクセルの色相を復元するために、ハイライト復元ブロック312は、i)クリッピングされていないピクセルチャネルデータと、ii)クリッピングされていないピクセルチャネルデータのクリッピングされたバージョンとを、ハイライト復元ブロック312の復元パイプライン313を用いて処理する。
復元パイプライン313のブロック314において、ハイライト復元ブロック312は、クリッピングされていないピクセルチャネルデータ内の各ピクセルについて、ピクセルのクリッピングされていないチャネル値を処理して、そのピクセルについて、クリッピングされていない色相を生成する。このプロセスは、図6を参照して以下でより詳細に説明される。
復元パイプライン313のブロック316において、ハイライト復元ブロック312は、クリッピングされていないピクセルチャネルデータ内の各ピクセルについて、ピクセルのチャネル値をクリッピングして、クリッピングされたチャネル値を生成する。ピクセルのクリッピングされたチャネル値は、bpp_inのデータ精度を有する。
復元パイプライン313のブロック318において、ハイライト復元ブロック312は、各ピクセルについて、ピクセルのクリッピングされたチャネル値を処理して、そのピクセルについて、クリッピングされた色相を生成する。
復元パイプライン313のブロック320において、ハイライト復元ブロック312は、ピクセルごとに、ピクセルのクリッピングされていない色相とピクセルのクリッピングされた色相とを組み合わせて、クリッピングされたチャネル値における色相を復元し、出力ピクセルデータ322を生成する。このプロセスは、図7を参照して以下でより詳細に説明される。出力ピクセルデータ322は、各ピクセルについて、正しい色相を有し、かつbpp_inのデータ精度要件を満たす、最終ピクセルチャネル値を含む。出力ピクセルデータ322は、次いで、ISPの後のブロックに渡され得る。
各ピクセルについて、ピクセルの色相を復元するためにハイライト復元ブロック312を用いてピクセルを処理することは、いくつかの既存のシステムにおいて必要とされるように所与のピクセルの値および複数の周囲ピクセルの値の代わりに、ピクセルの値のクリッピングされたバージョンおよびクリッピングされていないバージョンを記憶することをISPに要求するにすぎない。したがって、図3を参照して説明されるプロセスのハードウェアおよびSRAM要件は、上記で説明される先行技術の色伝播ハイライト復元プロセスにおけるよりも著しく少ない。いくつかの実現例では、図3のプロセスはSRAMを全く必要としない。
図4は、ハイライト復元プロセス、たとえば、図3を参照しながら上記で説明したハイライト復元プロセスを用いてISPによって処理された例示的な画像の図400である。
画像は、図2に見られるように「Drive-Thru Open」と読める同じネオンサインのものである。「Drive-Thru」と読める文字は青色ネオン光であり、「Open」と読める文字は赤色ネオン光である。
図400に示すように、「Drive-Thru」の文字を綴る青色文字の各々は、2つの領域、すなわち、白色領域410および青色領域420を有する。図2に示す色伝播ハイライト復元によって生成された画像とは異なり、変色領域は本質的に存在しない。
各青色ネオン文字の中央には、白色領域410がある。画像は、白色領域410内に白色ピクセルを有するが、これは、その領域内の光の強度が、画像を生成したデバイスの露光設定を前提として、最大ピクセル値をもたらしたためである。
各青色ネオン文字の白色領域410を取り囲むのは、青色領域420である。青色領域420内のピクセルの多く、特に白色領域410に最も近いピクセルは、データ精度ゲインを経た。仮に、これらのピクセルの値がISPのゲイン適用ブロックによってクリッピングされ、色伝播ハイライト復元ブロック、例えば図1に示す色伝播ハイライト復元ブロック112によって処理された場合、ピクセルは、図2の変色領域220にあるように、変色していたであろう。しかしながら、ピクセルの値は、ゲイン適用ブロックによってクリッピングされず、代わりに、値は保存され、その後、ISPのハイライト復元ブロック、例えば、図3に示されるハイライト復元ブロック312によって処理された。したがって、ピクセルは、それらの色相を適切に復元し、画像は、青色領域420内に青色ピクセル(ドットによって表される)のみを正確に有する。
「Open」の文字を綴る赤色ネオン光は、同様の特徴を示す。赤色文字の各々は、2つの領域、すなわち、白色領域430および赤色領域440を有する。変色領域はない。
各赤色ネオン文字の中央には、白色領域430がある。画像は、白色領域240内に白色ピクセルを有するが、これは、その領域内の光の強度が、画像を生成したデバイスの露光設定を前提として、最大ピクセル値をもたらしたためである。
各赤色ネオン文字の白色領域320を取り囲むのは、赤色領域440である。赤色領域440内のピクセルの多く、特に白色領域430に最も近いピクセルは、データ精度ゲインを経験し、ISPのハイライト復元ブロックによって処理された。前述のように、ピクセルは、それらの色相を適切に復元し、画像は、赤色領域440内に赤色ピクセル(格子縞によって表される)のみを正確に有する。
図5は、色相補正のための例示的なプロセス500のフローチャートである。このプロセスは、1つ以上のコンピュータ上にインストールされ、本明細書に従ってプログラムされた1つ以上のコンピュータプログラムによって実施することができる。たとえば、プロセス500は、ISPのハイライト復元ブロック、たとえば、図3に示すハイライト復元ブロック312によって実行され得る。便宜上、このプロセスは、1つ以上のコンピュータのシステムによって実行されるものとして説明される。
システムは、画像の複数のピクセルについて、クリッピングされていないピクセルチャネル値を受信する(ステップ510)。1つ以上のピクセルのチャネル値は、最大データ精度bpp_inを超えるデータ精度を有する。
システムは、それぞれのピクセルチャネル値を用いて各ピクセルの色相値を判断する(ステップ520)。色相値を判断するための例示的なプロセスは、以下で、図6を参照して、より詳細に説明される。
システムは、各ピクセルについて、クリッピングされたチャネル値を生成する(ステップ530)。クリッピングされたチャネル値は、クリッピングされていないチャネル値が閾値以下である場合、それぞれのクリッピングされていないチャネル値に等しく、クリッピングされていないチャネル値が閾値よりも大きい場合、閾値に等しい。閾値は、最大データ精度bpp_inに応じて決定することができる。例えば、上述のように、24のbpp_inは、各チャネルが0と255との間の値を有することを可能にし、したがって、閾値は、255に設定されることができる。
システムは、各ピクセルについて、ピクセルの色相値およびピクセルのクリッピングされたチャネル値を用いて最終チャネル値を生成する(ステップ540)。最終チャネル値を生成するための例示的なプロセスは、図7を参照して以下でより詳細に説明される。最終チャネル値は、正しい色相を有し、データ精度要件を満たし、ISPの後のブロックに提供することができる。
図6は、ピクセルのクリッピングされていないチャネル値を用いてピクセルの色相値を生成するための例示的なプロセス600のフローチャートである。このプロセスは、1つ以上のコンピュータ上にインストールされ、本明細書に従ってプログラムされた1つ以上のコンピュータプログラムによって実施することができる。たとえば、プロセス600は、ISPのハイライト復元ブロック、たとえば、図3に示すハイライト復元ブロック312によって実行され得る。便宜上、このプロセスは、1つ以上のコンピュータのシステムによって実行されるものとして説明される。
便宜上、以下の説明では、Rチャネル、Gチャネル、Bチャネルで表されるピクセルチャネルデータに言及する。しかしながら、プロセス600は、チャネルの任意の選択に適用され得ることを理解されたい。
システムは、ピクセルのクリッピングされていないチャネル値{R,G,B}の平均μunclippedを求める(ステップ610)。例えば、システムは、平均μunclippedをチャネル値の平均、すなわち(R+G+B)/3として求めることができる。別の例として、システムは、μunclippedを、より包括的な加重平均として求めることができる。特定の例として、システムは、μunclipped=wR+wG+wBを求めることができ、w{R,G,B}∈[0,1]およびw+w+w=1である。
システムは、ピクセルについて、初期色相値ρunclippedを生成する(ステップ620)。例えば、システムは、クリッピングされていないチャネル値{R,G,B}とクリッピングされていないチャネル値の平均μunclippedとの間の差を計算することによって初期色相値ρunclippedを生成することができ、すなわち、ρunclipped={R,G,B}-μunclippedである。
システムは、初期色相値を正規化することによって色相値hueunclippedを生成する(ステップ630)。初期色相値ρunclippedは、初期色相値ρunclippedを初期色相値から構成されるベクトルの長さで除算することによって正規化することができ、例えば、
Figure 0007426480000001
色相値hueunclippedは、例えば、図7を参照して以下で説明されるプロセスを用いて、ピクセルのチャネル値のクリッピングされたバージョンの色相を復元するために使用されることができる。
図7は、ピクセルのクリッピングされたチャネル値および色相値を用いてピクセルの最終チャネル値を生成するための例示的なプロセス700のフローチャートである。このプロセスは、1つ以上のコンピュータ上にインストールされ、本明細書に従ってプログラムされた1つ以上のコンピュータプログラムによって実施することができる。たとえば、プロセス700は、ISPのハイライト復元ブロック、たとえば、図3に示すハイライト復元ブロック312によって実行され得る。便宜上、このプロセスは、1つ以上のコンピュータのシステムによって実行されるものとして説明される。
便宜上、以下の説明では、Rチャネル、Gチャネル、Bチャネルで表されるピクセルチャネルデータに言及する。しかしながら、プロセス600は、チャネルの任意の選択に適用され得ることを理解されたい。
システムは、クリッピングされたチャネル値{R,G,B}clippedの平均μclippedを求める(ステップ710)。上述のように、システムは、平均μclippedをチャネル値の平均、すなわち(Rclipped+Gclipped+Bclipped)/3として求めることができる。別の例として、システムは、μclippedを、より包括的な加重平均、例えば、wclipped+wclipped+wclippedとして求めることができる。
システムは、クリッピングされた色相値ρclippedを生成する(ステップ720)。例えば、システムは、クリッピングされたチャネル値{R,G,B}clippedとクリッピングされたチャネル値の平均μclippedとの間の差を計算することによって初期色相値ρclippedを生成することができ、すなわち、ρclipped={R,G,B}clipped-μclippedである。
システムは、ピクセルのクリッピングされていないチャネル値を用いて生成された、ピクセルのクリッピングされていない色相値hueunclippedを取得する(ステップ725)。例えば、システムは、図6に関して上述したプロセスを用いて色相値hueunclippedを生成することができる。
システムは、クリッピングされた色相値ρclippedを用いて、ピクセルのクリッピングされていない色相値hueunclippedをスケーリングすることによって、スケーリングされた色相値huescaledを生成する(ステップ730)。クリッピングされていない色相値hueunclippedは、クリッピングされていない色相値に、クリッピングされた色相値から構成されるベクトルの長さを乗算することによって、スケーリングすることができる。特定の例として、システムは、以下を計算することができる。
Figure 0007426480000002
システムは、スケーリングされた色相値huescaledを用いてピクセルの最終チャネル値{R,G,B}finalを生成する(ステップ794)。例えば、システムは、i)クリッピングされた値の平均μclippedと、i)スケーリングされた色相値huescaledとの和、すなわち、
{R,G,B}final=huescaled+μclipped
を求める。
次いで、システムは、最終値{R,G,B}finalをISPの後のブロックに渡すことができる。
いくつかの実現例では、システムは、ハイライト復元の前または後に所与のピクセルのチャネルの各々にトーン調整を適用することができる。
いくつかの実現例では、システムは、画像をモザイク除去処理した後に、画像に対してハイライト復元を実行することができる。言い換えれば、システムは、カラーフィルタアレイ、例えば、ベイヤーフィルタでオーバーレイされた画像センサの出力を処理して、出力を、異なる色空間、例えば、RGB色空間に変換することができる。いくつかの他の実現例では、システムは、ハイライト復元を実行した後に、画像をモザイク除去することができる。
本明細書において記載される主題および機能的動作の実施形態は、本明細書に開示される構造およびそれらの構造的等価物を含む、デジタル電子回路系において、有形で実施されるコンピュータソフトウェアもしくはファームウェアにおいて、コンピュータハードウェアにおいて、またはそれらの1つ以上の組合せにおいて実現され得る。本明細書に記載される主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置による実行のために、または、データ処理装置の動作を制御するために有形の非一時的な記憶媒体上でエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実現され得る。コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、または、それらの1つ以上の組合せであり得る。代替として、または加えて、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するための情報をエンコードするように生成される、人工的に生成された伝搬信号、例えば、機械により生成される電気信号、光信号、または電磁信号上にエンコードされることができる。
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、およびマシンを包含する。装置はまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であり得るか、またはさらにそれを含み得る。装置は、ハードウェアに加えて、コンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを任意選択的に含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるか、またはそれとして記述され得るコンピュータプログラムは、コンパイルされた言語もしくは解釈された言語、または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチンもしくは他のユニットとして含む、任意の形態で展開することができる。プログラムは、ファイルシステム内のファイルに対応してもよいが、その必要はない。プログラムは、当該プログラムに専用である単一のファイルにおいて、または、複数の連携(coordinated)ファイル、たとえばコードの1つ以上のモジュール、サブプログラムまたは部分を格納するファイルにおいて、他のプログラムまたはデータを保持するファイルの一部、たとえばマークアップ言語ドキュメントに格納される1つ以上のスクリプトに格納され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置し、もしくは複数のサイトにわたって分散され、データ通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
1つ以上のコンピュータのシステムが特定の操作またはアクションを実行するように構成されているとは、動作中にそのシステムにそのような操作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせがそのシステムにインストールされていることを意味する。1つ以上のコンピュータプログラムが特定の操作またはアクションを実行するように構成されるとは、1つ以上のプログラムが、データ処理装置によって実行されると、データ処理装置にそのような操作またはアクションを実行させる命令を含むことを意味する。
本明細書で説明するプロセスおよび論理フローは、専用論理回路、たとえばFPGAもしくはASICによって、または専用論理回路と1つ以上のプログラムされたコンピュータとの組合せによって実行され得る。
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用マイクロプロセッサもしくはその両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を実行するための中央処理ユニットと、命令およびデータを格納するための1つ以上のメモリデバイスとである。中央処理ユニットおよびメモリは、特殊目的論理回路系によって補足され得るか、または特殊目的論理回路に組み込まれ得る。一般に、コンピュータはさらに、たとえば磁気ディスク、光磁気ディスクもしくは光ディスクといった、データを格納するための1つ以上の大容量記憶装置を含むか、または当該1つ以上の大容量記憶装置からデータを受取るかもしくは当該1つ以上の大容量記憶装置にデータを転送するよう、もしくはその両方を行うよう作動的に結合されることにもなる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータはたとえば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶装置(たとえばユニバーサルシリアルバス(USB)フラッシュドライブ)といった別のデバイスに埋め込まれ得る。コンピュータプログラム命令およびデータを格納するのに好適であるコンピュータ可読媒体は、例として、たとえばEPROM、EEPROMおよびフラッシュメモリデバイスといった半導体メモリデバイスを含むすべての形態の不揮発性メモリ、媒体およびメモリデバイス;たとえば内部ハードディスクまたはリムーバブルディスクといった磁気ディスク;光磁気ディスク;ならびにCD-ROMディスクおよびDVD-ROMディスクを含む。
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといった、ユーザに対して情報を表示するための表示装置と、たとえばマウス、トラックボール、または存在感知ディスプレイもしくは他のサーフィスといった、ユーザがコンピュータに入力を提供可能であるキーボードおよびポインティングデバイスとを有するコンピュータ上で実現され得る。他の種類のデバイスを用いて、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信することができる。加えて、コンピュータは、ユーザが使用するデバイスにドキュメントを送信し、ユーザが使用するデバイスからドキュメントを受信することによって、たとえば、ユーザのデバイス上のウェブブラウザから受信された要求に応答してそのウェブブラウザにウェブページを送信することによって、ユーザと対話し得る。また、コンピュータは、テキストメッセージまたは他の形態のメッセージを個人の機器、例えば、スマートフォンに送信し、メッセージングアプリケーションを実行し、返答としてユーザから応答メッセージを受信することによって、ユーザと対話することができる。
上記の実施形態に加えて、以下の実施形態も革新的である。
実施形態1は、システムであって、
画像の生画像データを生成するよう構成される画像キャプチャデバイスを備え、上記生画像データは、上記画像内の複数のハイライト領域の各々について、上記ハイライト領域の1つ以上のチャネルについての元のチャネル値を含み、上記システムはさらに、
画像信号プロセッサを備え、上記画像信号プロセッサは、
上記生画像データを処理して、更新された画像データを生成するよう構成される、画像処理パイプラインの1つ以上の構成要素を含み、上記更新された画像データは、上記画像内の各ハイライト領域について、更新されたチャネル値を含み、上記画像の1つ以上のハイライト領域の各々について、上記ハイライト領域の1つ以上の更新されたチャネル値は、所定のデータ精度によると最大チャネル値を超え、上記画像信号プロセッサはさらに、
上記画像の上記1つ以上のハイライト領域の上記更新されたチャネル値に対して色相補正プロセスを実行するよう構成されるハイライト復元回路を含み、上記色相補正プロセスを実行することは、上記更新されたチャネル値を処理して、i)上記所定のデータ精度を満たし、かつii)上記画像の上記1つ以上のハイライト領域の色相値を復元する最終チャネル値を生成することを含む。
実施形態2は、実施形態1のシステムであって、上記ハイライト領域は個々のピクセルであり、上記1つ以上のチャネルは、Rチャネル、Gチャネル、およびBチャネルを含む。
実施形態3は、実施形態1のシステムであって、上記ハイライト領域は、カラーフィルタアレイにおいて2×2のグリッドで配置された4つのピクセルのグループであり、上記ピクセルの各々は、単一の色を表す単一の値を有し、上記1つ以上のチャネルは、上記4つのピクセルの値を含む。
実施形態4は、実施形態1~3のいずれか1つのシステムであって、上記色相補正プロセスを実行することは、上記画像内の各ハイライト領域について、
色相値を計算することを含み、上記色相値を計算することは、上記ハイライト領域の上記1つ以上のチャネルの各々についてそれぞれの更新されたチャネル値を調整することを含み、上記色相値は、上記チャネルの上記更新されたチャネル値の割合を表し、上記色相補正プロセスを実行することは、上記画像内の各ハイライト領域について、さらに、
上記1つ以上のチャネルの各々について、クリッピングされたチャネル値を生成することを含み、上記クリッピングされたチャネル値は、上記更新されたチャネル値が上記最大チャネル値以下である場合、上記それぞれの更新されたチャネル値に等しく、上記更新されたチャネル値が上記最大チャネル値よりも大きい場合、上記最大チャネル値に等しく、上記色相補正プロセスを実行することは、上記画像内の各ハイライト領域について、さらに、
上記1つ以上のチャネルの各々について最終チャネル値を計算することを含み、上記1つ以上のチャネルの各々について最終チャネル値を計算することは、上記チャネルの上記更新されたチャネル値の上記割合をエミュレートするために、それぞれの色相値を用いてそれぞれのクリッピングされたチャネル値を調整することを含む。
実施形態5は、実施形態4のシステムであって、
上記画像内の各ハイライト領域について、色相値を計算することは、さらに、
上記ハイライト領域の上記1つ以上のチャネルの上記それぞれの更新されたチャネル値の中心傾向の尺度を判断することと、
上記ハイライト領域の上記更新されたチャネル値の上記中心傾向の尺度を用いて、上記1つ以上のチャネルの各々について上記それぞれの更新されたチャネル値を調整することとを含む。
実施形態6は、実施形態5のシステムであって、
上記画像内の各ハイライト領域について、上記1つ以上のチャネルの各々についての最終チャネル値を計算することは、
上記1つ以上のチャネルの上記クリッピングされたチャネル値の中心傾向の尺度を判断することと、
上記それぞれの色相値と上記ハイライト領域の上記クリッピングされたチャネル値の上記中心傾向の尺度とを用いて上記それぞれのクリッピングされたチャネル値を調整することとを含む。
実施形態7は、実施形態6のシステムであって、
各ハイライト領域について、上記1つ以上のチャネルの上記更新されたチャネル値および上記クリッピングされたチャネル値の上記中心傾向の尺度は、上記それぞれのチャネル値の平均であり、
各ハイライト領域について、上記1つ以上のチャネルの上記色相値を計算することは、
上記更新されたチャネル値と上記更新されたチャネル値の上記平均との間の差を計算することによって初期色相値を生成することと、
上記初期色相値を正規化することによって上記色相値を生成することとを含み、上記正規化することは、上記初期色相値を第1のベクトルの長さで除算することを含み、上記第1のベクトルの各要素は初期色相値である。
実施形態8は、実施形態7のシステムであって、上記1つ以上のチャネルの上記最終チャネル値を計算することは、
第2のベクトルの長さによって上記色相値をスケーリングすることによって、スケーリングされた色相値を生成することを含み、上記第2のベクトルの各要素は、チャネルの上記クリッピングされたチャネル値と上記クリッピングされたチャネル値の上記平均との間の差であり、上記1つ以上のチャネルの上記最終チャネル値を計算することはさらに、
上記スケーリングされた色相値を上記クリッピングされたチャネル値の上記平均に加算することによって上記最終チャネル値を生成することを含む。
実施形態9は、方法であって、
画像の生画像データを受信することを含み、上記生画像データは、上記画像内の複数のハイライト領域の各々について、上記ハイライト領域の1つ以上のチャネルについての元のチャネル値を含み、上記方法はさらに、
上記生画像データを処理して、更新された画像データを生成することを含み、上記更新された画像データは、上記画像内の各ハイライト領域について、更新されたチャネル値を含み、上記画像の1つ以上のハイライト領域の各々について、上記ハイライト領域の1つ以上の更新されたチャネル値は、所定のデータ精度に従って最大チャネル値を超え、上記方法はさらに、
上記画像の上記1つ以上のハイライト領域の上記更新されたチャネル値に対して色相補正プロセスを実行することを含み、上記色相補正プロセスを実行することは、上記更新されたチャネル値を処理して、i)上記所定のデータ精度を満たし、かつii)上記画像の上記1つ以上のハイライト領域の色相値を復元する最終チャネル値を生成することを含む。
実施形態10は、実施形態9の方法であって、上記ハイライト領域は個々のピクセルであり、上記1つ以上のチャネルは、Rチャネル、Gチャネル、およびBチャネルを含む。
実施形態11は、実施形態9の方法であって、上記ハイライト領域は、カラーフィルタアレイにおいて2×2のグリッドで配置された4つのピクセルのグループであり、上記ピクセルの各々は、単一の色を表す単一の値を有し、上記1つ以上のチャネルは、上記4つのピクセルの値を含む。
実施形態12は、実施形態8~11のいずれか1つの方法であって、上記色相補正プロセスを実行することは、上記画像内の各ハイライト領域について、
色相値を計算することを含み、上記色相値を計算することは、上記ハイライト領域の上記1つ以上のチャネルの各々についてそれぞれの更新されたチャネル値を調整することを含み、上記色相値は、上記チャネルの上記更新されたチャネル値の割合を表し、上記色相補正プロセスを実行することは、上記画像内の各ハイライト領域について、さらに、
上記1つ以上のチャネルの各々について、クリッピングされたチャネル値を生成することを含み、上記クリッピングされたチャネル値は、上記更新されたチャネル値が上記最大チャネル値以下である場合、上記それぞれの更新されたチャネル値に等しく、上記更新されたチャネル値が上記最大チャネル値よりも大きい場合、上記最大チャネル値に等しく、上記色相補正プロセスを実行することは、上記画像内の各ハイライト領域について、さらに、
上記1つ以上のチャネルの各々について最終チャネル値を計算することを含み、上記1つ以上のチャネルの各々について最終チャネル値を計算することは、上記チャネルの上記更新されたチャネル値の上記割合をエミュレートするために、それぞれの色相値を用いてそれぞれのクリッピングされたチャネル値を調整することを含む。
実施形態13は、実施形態12の方法であって、
上記画像内の各ハイライト領域について、色相値を計算することは、さらに、
上記ハイライト領域の上記1つ以上のチャネルの上記更新されたチャネル値の中心傾向の尺度を判断することと、
上記ハイライト領域の上記更新されたチャネル値の上記中心傾向の尺度を用いて、上記1つ以上のチャネルの各々について上記更新されたチャネル値を調整することとを含む。
実施形態14は、実施形態13の方法であって、
上記画像内の各ハイライト領域について、上記1つ以上のチャネルの各々についての最終チャネル値を計算することは、
上記1つ以上のチャネルの上記クリッピングされたチャネル値の中心傾向の尺度を判断することと、
上記それぞれの色相値と上記クリッピングされたチャネル値の上記中心傾向の尺度とを用いて上記それぞれのクリッピングされたチャネル値を調整することとを含む。
実施形態15は、実施形態14の方法であって、
各ハイライト領域について、上記1つ以上のチャネルの上記更新されたチャネル値および上記クリッピングされたチャネル値の上記中心傾向の尺度は、上記それぞれのチャネル値の平均であり、
各ハイライト領域について、上記1つ以上のチャネルの上記色相値を計算することは、
上記更新されたチャネル値と上記更新されたチャネル値の上記平均との間の差を計算することによって初期色相値を生成することと、
上記初期色相値を正規化することによって上記色相値を生成することとを含み、上記正規化することは、上記初期色相値を第1のベクトルの長さで除算することを含み、上記第1のベクトルの各要素は初期色相値である。
実施形態16は、実施形態15の方法であって、上記1つ以上のチャネルの上記最終チャネル値を計算することは、
第2のベクトルの長さによって上記色相値をスケーリングすることによって、スケーリングされた色相値を生成することを含み、上記第2のベクトルの各要素は、チャネルの上記クリッピングされたチャネル値と上記クリッピングされたチャネル値の上記平均との間の差であり、上記1つ以上のチャネルの上記最終チャネル値を計算することはさらに、
上記スケーリングされた色相値を上記クリッピングされたチャネル値の上記平均に加算することによって上記最終チャネル値を生成することを含む。
実施形態17は、複数のコンピュータによって実行されると、上記複数のコンピュータに実施形態9~16のいずれか1つの方法を実行させるコンピュータプログラム命令でエンコードされた、1つ以上の非一時的コンピュータ記憶媒体である。
本明細書は、多くの具体的な実現例の詳細を含むが、これらは、いかなる発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。本明細書において別々の実施形態の文脈で記載される特定の特徴は、単一の実施形態において組合せでも実現され得る。反対に、単一の実施形態の文脈において記載されるさまざまな特徴は、複数の実施形態において別々に、または任意の好適な部分的組合わせでも実現され得る。さらに、特徴は、ある組合せにおいて作用すると上で記載され、最初はそのように請求されていさえする場合もあるが、請求される組合せからの1つ以上の特徴はいくつかの場合には当該組合せから削除され得、請求される組合せは、部分的組合わせまたは部分的組合わせの変形例に向けられ得る。
同様に、動作が図においては特定の順に示されているが、そのような動作は、望ましい結果を達成するために、示された当該特定の順もしくは連続した順で実行される必要があると理解されるべきではなく、または、すべての示された動作が実行される必要があると理解されるべきではない。特定の状況では、マルチタスク化および並列処理化が有利である場合もある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載されるプログラムコンポーネントおよびシステムは一般に単一のソフトウェア製品に統合され得るかまたは複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
主題の特定の実施形態が記載された。他の実施形態は以下の請求の範囲内にある。たとえば、請求項において記載されるアクションは、異なる順で実行され得、それでも望ましい結果を達成し得る。一例として、添付の図において示されるプロセスは、望ましい結果を達成するために、示された特定の順または連続する順であることを必ずしも必要としない。いくつかの場合には、マルチタスク化および並列処理化が有利であり得る。

Claims (15)

  1. システムであって、
    画像の生画像データを生成するよう構成される画像キャプチャデバイスを備え、前記生画像データは、前記画像内の複数のハイライト領域の各々について、前記ハイライト領域の1つ以上のチャネルについての元のチャネル値を含み、前記システムはさらに、
    画像信号プロセッサを備え、前記画像信号プロセッサは、
    前記生画像データを処理して、更新された画像データを生成するよう構成される、画像処理パイプラインの1つ以上の構成要素を含み、前記更新された画像データは、前記画像内の各ハイライト領域について、更新されたチャネル値を含み、前記画像の1つ以上のハイライト領域の各々について、前記ハイライト領域の1つ以上の更新されたチャネル値は、所定のデータ精度によると最大チャネル値を超え、前記画像信号プロセッサはさらに、
    前記画像の前記1つ以上のハイライト領域の前記更新されたチャネル値に対して色相補正プロセスを実行するよう構成されるハイライト復元回路を含み、前記色相補正プロセスを実行することは、前記更新されたチャネル値を処理して、i)前記所定のデータ精度を満たし、かつii)前記画像の前記1つ以上のハイライト領域の色相値を復元する最終チャネル値を生成することを含み、
    前記更新されたチャネル値を処理して前記最終チャネル値を生成することは、
    前記チャネルの前記更新されたチャネル値の割合を表す色相値を計算することと、
    前記1つ以上のチャネルの各々について、クリッピングされたチャネル値を生成することとを含み、前記クリッピングされたチャネル値は、前記更新されたチャネル値が前記最大チャネル値以下である場合、前記それぞれの更新されたチャネル値に等しく、前記更新されたチャネル値が前記最大チャネル値よりも大きい場合、前記最大チャネル値に等しく、前記更新されたチャネル値を処理して前記最終チャネル値を生成することは、さらに、
    前記1つ以上のチャネルの各々について最終チャネル値を計算することを含み、前記1つ以上のチャネルの各々について最終チャネル値を計算することは、前記チャネルの前記更新されたチャネル値の前記割合をエミュレートするために、それぞれの色相値を用いてそれぞれのクリッピングされたチャネル値を調整することを含む、システム。
  2. 前記ハイライト領域は個々のピクセルであり、前記1つ以上のチャネルは、Rチャネル、Gチャネル、およびBチャネルを含む、請求項1に記載のシステム。
  3. 前記ハイライト領域は、カラーフィルタアレイにおいて2×2のグリッドで配置された4つのピクセルのグループであり、前記ピクセルの各々は、単一の色を表す単一の値を有し、前記1つ以上のチャネルは、前記4つのピクセルの値を含む、請求項1に記載のシステム。
  4. 前記画像内の各ハイライト領域について、色相値を計算することは、さらに、
    前記ハイライト領域の前記1つ以上のチャネルの前記それぞれの更新されたチャネル値の平均を判断することと、
    前記ハイライト領域の前記更新されたチャネル値の前記平均を用いて、前記1つ以上のチャネルの各々について前記それぞれの更新されたチャネル値を調整することとを含む、請求項に記載のシステム。
  5. 前記画像内の各ハイライト領域について、前記1つ以上のチャネルの各々についての最終チャネル値を計算することは、
    前記1つ以上のチャネルの前記クリッピングされたチャネル値の平均を判断することと、
    前記それぞれの色相値と前記ハイライト領域の前記クリッピングされたチャネル値の前記平均とを用いて前記それぞれのクリッピングされたチャネル値を調整することとを含む、請求項に記載のシステム。
  6. 各ハイライト領域について、前記1つ以上のチャネルの前記色相値を計算することは、
    前記更新されたチャネル値と前記更新されたチャネル値の前記平均との間の差を計算することによって初期色相値を生成することと、
    前記初期色相値を正規化することによって前記色相値を生成することとを含み、前記正規化することは、前記初期色相値を第1のベクトルの長さで除算することを含み、前記第1のベクトルの各要素は初期色相値である、請求項に記載のシステム。
  7. 前記1つ以上のチャネルの前記最終チャネル値を計算することは、
    第2のベクトルの長さによって前記色相値をスケーリングすることによって、スケーリングされた色相値を生成することを含み、前記第2のベクトルの各要素は、チャネルの前記クリッピングされたチャネル値と前記クリッピングされたチャネル値の前記平均との間の差であり、前記1つ以上のチャネルの前記最終チャネル値を計算することはさらに、
    前記スケーリングされた色相値を前記クリッピングされたチャネル値の前記平均に加算することによって前記最終チャネル値を生成することを含む、請求項に記載のシステム。
  8. 方法であって、
    画像の生画像データを受信することを含み、前記生画像データは、前記画像内の複数のハイライト領域の各々について、前記ハイライト領域の1つ以上のチャネルについての元のチャネル値を含み、前記方法はさらに、
    前記生画像データを処理して、更新された画像データを生成することを含み、前記更新された画像データは、前記画像内の各ハイライト領域について、更新されたチャネル値を含み、前記画像の1つ以上のハイライト領域の各々について、前記ハイライト領域の1つ以上の更新されたチャネル値は、所定のデータ精度に従って最大チャネル値を超え、前記方法はさらに、
    前記画像の前記1つ以上のハイライト領域の前記更新されたチャネル値に対して色相補正プロセスを実行することを含み、前記色相補正プロセスを実行することは、前記更新されたチャネル値を処理して、i)前記所定のデータ精度を満たし、かつii)前記画像の前記1つ以上のハイライト領域の色相値を復元する最終チャネル値を生成することを含み、
    前記更新されたチャネル値を処理して前記最終チャネル値を生成することは、
    前記チャネルの前記更新されたチャネル値の割合を表す色相値を計算することと、
    前記1つ以上のチャネルの各々について、クリッピングされたチャネル値を生成することとを含み、前記クリッピングされたチャネル値は、前記更新されたチャネル値が前記最大チャネル値以下である場合、前記それぞれの更新されたチャネル値に等しく、前記更新されたチャネル値が前記最大チャネル値よりも大きい場合、前記最大チャネル値に等しく、前記更新されたチャネル値を処理して前記最終チャネル値を生成することは、さらに、
    前記1つ以上のチャネルの各々について最終チャネル値を計算することを含み、前記1つ以上のチャネルの各々について最終チャネル値を計算することは、前記チャネルの前記更新されたチャネル値の前記割合をエミュレートするために、それぞれの色相値を用いてそれぞれのクリッピングされたチャネル値を調整することを含む、方法。
  9. 前記ハイライト領域は個々のピクセルであり、前記1つ以上のチャネルは、Rチャネル、Gチャネル、およびBチャネルを含む、請求項に記載の方法。
  10. 前記ハイライト領域は、カラーフィルタアレイにおいて2×2のグリッドで配置された4つのピクセルのグループであり、前記ピクセルの各々は、単一の色を表す単一の値を有し、前記1つ以上のチャネルは、前記4つのピクセルの値を含む、請求項に記載の方法。
  11. 前記画像内の各ハイライト領域について、色相値を計算することは、さらに、
    前記ハイライト領域の前記1つ以上のチャネルの前記更新されたチャネル値の平均を判断することと、
    前記ハイライト領域の前記更新されたチャネル値の前記平均を用いて、前記1つ以上のチャネルの各々について前記更新されたチャネル値を調整することとを含む、請求項に記載の方法。
  12. 前記画像内の各ハイライト領域について、前記1つ以上のチャネルの各々についての最終チャネル値を計算することは、
    前記1つ以上のチャネルの前記クリッピングされたチャネル値の平均を判断することと、
    前記それぞれの色相値と前記クリッピングされたチャネル値の前記平均とを用いて前記それぞれのクリッピングされたチャネル値を調整することとを含む、請求項1に記載の方法。
  13. 各ハイライト領域について、前記1つ以上のチャネルの前記色相値を計算することは、
    前記更新されたチャネル値と前記更新されたチャネル値の前記平均との間の差を計算することによって初期色相値を生成することと、
    前記初期色相値を正規化することによって前記色相値を生成することとを含み、前記正規化することは、前記初期色相値を第1のベクトルの長さで除算することを含み、前記第1のベクトルの各要素は初期色相値である、請求項1に記載の方法。
  14. 前記1つ以上のチャネルの前記最終チャネル値を計算することは、
    第2のベクトルの長さによって前記色相値をスケーリングすることによって、スケーリングされた色相値を生成することを含み、前記第2のベクトルの各要素は、チャネルの前記クリッピングされたチャネル値と前記クリッピングされたチャネル値の前記平均との間の差であり、前記1つ以上のチャネルの前記最終チャネル値を計算することはさらに、
    前記スケーリングされた色相値を前記クリッピングされたチャネル値の前記平均に加算することによって前記最終チャネル値を生成することを含む、請求項1に記載の方法。
  15. 複数のコンピュータによって実行されると、前記複数のコンピュータに請求項~1のいずれか1項に記載の方法を実行させる命令を含む、1つ以上のコンピュータプログラム。
JP2022521331A 2019-11-05 2020-11-02 画像処理パイプラインのハイライト復元 Active JP7426480B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962931073P 2019-11-05 2019-11-05
US62/931,073 2019-11-05
PCT/US2020/058528 WO2021091820A1 (en) 2019-11-05 2020-11-02 Highlight recovery for image processing pipeline

Publications (2)

Publication Number Publication Date
JP2022553909A JP2022553909A (ja) 2022-12-27
JP7426480B2 true JP7426480B2 (ja) 2024-02-01

Family

ID=73654879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022521331A Active JP7426480B2 (ja) 2019-11-05 2020-11-02 画像処理パイプラインのハイライト復元

Country Status (5)

Country Link
US (1) US20220261954A1 (ja)
EP (1) EP3981140B1 (ja)
JP (1) JP7426480B2 (ja)
CN (1) CN114424513B (ja)
WO (1) WO2021091820A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11617026B1 (en) 2022-02-03 2023-03-28 Apple Inc. Lens shading correction for quadra image sensors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191635A (ja) 2006-10-13 2012-10-04 Apple Inc 予め設定された階調再現曲線を使用して画像を処理するためのシステム及び方法
US20120288192A1 (en) 2011-05-13 2012-11-15 Wolfgang Heidrich Color highlight reconstruction
WO2016152414A1 (ja) 2015-03-26 2016-09-29 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
US10070109B2 (en) 2016-06-30 2018-09-04 Apple Inc. Highlight recovery in images

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4002377B2 (ja) * 1999-11-22 2007-10-31 パナソニック コミュニケーションズ株式会社 画像読取装置及び画像読取方法
JP4130601B2 (ja) * 2003-03-28 2008-08-06 富士重工業株式会社 対象物認識装置および対象物認識方法
KR100933282B1 (ko) * 2008-01-16 2009-12-22 연세대학교 산학협력단 색채 복원 방법 및 시스템
TWI521973B (zh) * 2011-04-15 2016-02-11 杜比實驗室特許公司 高動態範圍影像的編碼、解碼及表示
JP2014138294A (ja) * 2013-01-17 2014-07-28 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
CN104253930B (zh) * 2014-04-10 2017-04-05 西南科技大学 一种实时视频去雾方法
CN105354599B (zh) * 2015-11-25 2019-10-08 安徽创世科技股份有限公司 一种基于改进的slic超像素分割算法的颜色识别方法
CN105741248B (zh) * 2016-02-02 2019-02-22 深圳市未来媒体技术研究院 一种消除图像阴霾的方法
CN106559658B (zh) * 2016-12-02 2017-08-04 郑州捷安高科股份有限公司 多通道投影融合带色彩自动平衡控制方法
CN106709893B (zh) * 2016-12-28 2019-11-08 西北大学 一种全天时雾霾图像清晰化恢复方法
CN108259701A (zh) * 2018-01-17 2018-07-06 深圳市唯特视科技有限公司 一种基于高动态范围色域映射的颜色再现方法
CN109978848B (zh) * 2019-03-19 2022-11-04 电子科技大学 基于多光源颜色恒常模型检测眼底图像中硬性渗出的方法
CN110022469B (zh) * 2019-04-09 2021-03-02 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191635A (ja) 2006-10-13 2012-10-04 Apple Inc 予め設定された階調再現曲線を使用して画像を処理するためのシステム及び方法
US20120288192A1 (en) 2011-05-13 2012-11-15 Wolfgang Heidrich Color highlight reconstruction
WO2016152414A1 (ja) 2015-03-26 2016-09-29 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
US10070109B2 (en) 2016-06-30 2018-09-04 Apple Inc. Highlight recovery in images

Also Published As

Publication number Publication date
WO2021091820A1 (en) 2021-05-14
JP2022553909A (ja) 2022-12-27
EP3981140A1 (en) 2022-04-13
EP3981140B1 (en) 2024-01-03
CN114424513A (zh) 2022-04-29
US20220261954A1 (en) 2022-08-18
CN114424513B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
US10475403B2 (en) Display device and control method thereof with brightness and transmittance control
US20050162620A1 (en) Image processing apparatus
CN108476272B (zh) 图像数据转换设备、图像数据转换方法、pos终端设备和服务器
US8619330B2 (en) Image processing apparatus and image processing method
JP7426480B2 (ja) 画像処理パイプラインのハイライト復元
JP2018148280A5 (ja)
US10290254B2 (en) Image processing apparatus, display apparatus, and computer-readable storage medium
AU2016368003B2 (en) Image processing apparatus and program
KR101279576B1 (ko) 디지털 영상 처리 장치에서의 파노라마 영상 생성 방법
KR101582578B1 (ko) 그래픽 처리 장치 및 방법
KR20070063781A (ko) 색역 내에 존재하는 색상을 영상 적응적으로 조절하는 방법및 장치
CN107404600B (zh) 图像处理装置及方法
US9754162B2 (en) Image processing method and device for adaptive image enhancement
US20100091195A1 (en) De-ringing Device and Method
JP2012015654A (ja) 画像処理装置及びその制御方法
JP6564672B2 (ja) 画像処理装置、および画像形成装置
JP5141871B2 (ja) 画像処理方法及び画像表示装置
US8625923B2 (en) Image processing apparatus, imaging apparatus, and image processing program
JP2008304800A (ja) 画像処理方法、画像表示装置及びプログラム
JP2006331163A (ja) 画像処理装置
JP6482298B2 (ja) 液晶表示装置およびそれを用いるプログラム
JP4992438B2 (ja) 画像処理装置および画像処理プログラム
JP2009268011A (ja) 画像処理装置
JP2002158892A (ja) 画像処理装置、画像処理方法、および記録媒体
JP4771482B2 (ja) 割符画像生成装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220614

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231107

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: 20231226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240122

R150 Certificate of patent or registration of utility model

Ref document number: 7426480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150