(57)【要約】【課題】画像全体の品質を維持しつつ、デジタル写真における１つ又は複数の傷を修復するシステム及び方法を提供する。【解決手段】  デジタルカメラ（１００）にオリジナルデジタル画像を格納するコンピュータ可読記憶装置（１５０）と、オリジナルデジタル画像における少なくとも１つの傷を修復する、デジタルカメラ（１００）で実行する傷修復ロジック（１６４）とを備え、傷修復ロジックが、傷を修復するために画素値を複製し、オリジナルデジタル画像における傷に複製された画素値を重ね合わせ、修復された画像を表示することを特徴とするデジタルカメラシステムを提供する。【選択図】図１
2008109668.tif 000002
【特許請求の範囲】
【請求項１】
デジタルカメラにオリジナルデジタル画像を格納するコンピュータ可読記憶装置と、
前記オリジナルデジタル画像における少なくとも１つの傷を修復する、前記デジタルカメラで実行する傷修復ロジックとを備え、
前記傷修復ロジックが、前記傷を修復するために画素値を複製し、前記オリジナルデジタル画像における前記傷に前記複製された画素値を重ね合わせ、前記修復された画像を表示することを特徴とするデジタルカメラシステム。
【請求項２】
前記傷修復ロジックは、前記画素値を複製するために、前記傷に隣接する前記画素値をサンプリングすることを特徴とする請求項１に記載のデジタルカメラシステム。
【請求項３】
前記傷修復ロジックは、前記画素値を結合することにより、ぼかし効果を有する前記複製された画素値を生成することを特徴とする請求項１に記載のデジタルカメラシステム。
【請求項４】
前記傷修復ロジックは、ＲＧＢのトリプレットの重み付き平均化によって前記画素値を結合することを特徴とする請求項３に記載のデジタルカメラシステム。
【請求項５】
前記傷修復ロジックは、ＹＣｂＣｒ画素値の重み付き平均化によって前記画素値を結合することを特徴とする請求項３に記載のデジタルカメラシステム。
【請求項６】
前記傷修復ロジックは、前記Ｙの最も明るい画素値を、サンプルの他のすべての画素値と結合することを特徴とする請求項３に記載のデジタルカメラシステム。
【請求項７】
前記オリジナルデジタル画像において複数の傷を対話的に選択するように実行するユーザインタフェースロジックをさらに備えることを特徴とする請求項１に記載のデジタルカメラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラのデジタル写真のための傷修復ツールに関する。
【背景技術】
【０００２】
従来のフィルムカメラ、及びより最近のデジタルカメラは、価格及び動作の両方において、プロの写真家が使用する高性能の一眼レフ（ＳＬＲ）カメラから、ほぼ誰でも比較的容易に使用することができる安価な「自動露出の」カメラまで、広く市販されている。カメラで写真を「修整する」ものは、あるとしてもほとんど市販されていない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ユーザが写真を編集するためにあらゆるカメラ機能を選択するのを可能にするユーザインタフェースを備えたデジタルカメラが入手可能であるが、これら機能は、通常、実際には限られている（たとえば赤目除去）。カメラユーザは、画像中の傷を、写真の取込中にカメラを非常にわずかに移動させ、傷が容易には見えないような程度にのみ画像をぼかすことにより、隠そうと試みる場合がある。しかしながら、特にカメラユーザがこうした技法に熟練してない場合、画像全体の品質が悪化する可能性がある。写真の高度な修整は、通常、パーソナルコンピュータで高性能のソフトウェアを使用して行われる必要があるが、必ずしもすべてのカメラユーザが、このソフトウェアにアクセスすることができ、その使用が楽であると感じるか、又は使用したいという欲求及び使用に費やす時間があるとは限らない。
【課題を解決するための手段】
【０００４】
デジタル写真において１つ又は複数の傷を修復するシステム及び方法を開示する。例示的なシステムを、デジタルカメラに表示され、ユーザが従来のカメラコントロール（たとえば、カメラにすでに設けられている矢印ボタン及びズームレバー）を用いてナビゲートされる使い易いインタフェースとして実装してもよい。ユーザは、写真編集に関する知識の必要があるとしてもほとんどなく、自身のカメラのデジタル写真における傷を修復するために自身のパーソナルコンピュータ用の特別なソフトウェアを必要としない。
【０００５】
傷を修復するさまざまなユーザオプションもまた入手可能であり、それらをユーザが直接カメラ自体で複数の所定設定から容易に選択することができる。任意に、ユーザはまた、複数の傷を選択し、各傷に対してプロセスを繰り返す必要なく同時に修復を適用してもよく、それにより、カメラの限られたメモリ及び処理資源が節約される。
【発明を実施するための最良の形態】
【０００６】
（例示的なシステム）
図１は、デジタル写真のための傷修復ツールを実装することができる例示的なカメラシステムのブロック図である。例示的なカメラシステム１００は、シーン１２５の１つ又は複数の対象１２２から反射する光１２０を、シャッタ１３５が開いている時（たとえば画像露出のため）、画像取込装置又はイメージセンサ１３０に集束させるように配置されたレンズ１１０を有するデジタルカメラであってもよい。例示的なレンズ１１０は、シーン１２５から反射する光１２０をイメージセンサ１３０に集束させる任意の適当なレンズであってもよい。
【０００７】
例示的なイメージセンサ１３０を、複数の感光セルとして実装してもよく、それらの各々は、光への露出に応じて電荷を増大させるか又は蓄積する。任意の所与の画素に対する蓄積された電荷は、露光の強度及び持続時間に比例する。例示的なイメージセンサ１３０としては、電荷結合素子（ＣＣＤ）又は相補型金属酸化膜半導体（ＣＭＯＳ）センサが挙げられるが、これらに限定されない。
【０００８】
カメラシステム１００はまた、画像処理ロジック１４０を含んでもよい。デジタルカメラでは、画像処理ロジック１４０は、イメージセンサ１３０から、露出中にイメージセンサ１３０によって取り込まれた光１２０を表す電気信号を受け取ることにより、シーン１２５のデジタル画像を生成する。デジタル画像を、カメラのメモリ（コンピュータ可読記憶装置）１５０（たとえばリムーバブルメモリカード）に格納してもよい。
【０００９】
図１に示すもの等、シャッタ、イメージセンサ、メモリ及び画像処理ロジックは、カメラ技術及び写真技術においてよく理解されている。これらコンポーネントは、本明細書の教示を熟知した当業者によって、デジタルカメラ１００に容易に提供されることができ、したがって、これ以上の説明は必要ではない。
【００１０】
デジタルカメラ１００はまた、写真編集サブシステム１６０を有してもよい。例示的な実施形態では、写真編集サブシステム１６０は、市販のデジタルカメラに通常提供されるメモリ及びプロセッサ等、デジタルカメラ１００のメモリに存在し且つデジタルカメラ１００においてプロセッサによって実行可能な、プログラムコード（たとえばファームウェア及び／又はソフトウェア）で実装される。写真編集サブシステム１６０は、ユーザインタフェースエンジン１６２及び傷修復ロジック１６４を有してもよい。
【００１１】
傷修復ロジック１６４は、デジタル画像にアクセスするためにメモリ１５０に動作可能に関連してもよい（たとえば、画像処理ロジック１４０によってメモリ１５０に格納されている画像を読み出すか又は傷修復ロジック１６４によって生成される画像を書き込む）。傷修復ロジック１６４は、後により詳細に説明するように、カメラシステム１００に格納されているデジタル画像における１つ又は複数の傷を修復するプログラムコードを含んでもよい。傷修復ロジック１６４はまた、ユーザインタフェースエンジン１６２に動作可能に関連してもよい。
【００１２】
ユーザインタフェースエンジン１６２は、多くの市販のデジタルカメラにすでに提供されているディスプレイ１７０及び１つ又は複数のカメラコントロール１７５に動作可能に関連してもよい。かかる実施形態は、製造コストを低減すると共に（たとえば、写真編集システム１６０を実装するための追加のハードウェアを提供する必要がないことにより）、追加のカメラボタンによってユーザを当惑させないことによって使い易さを向上させる。
【００１３】
動作中、ユーザインタフェースエンジン１６２は、デジタルカメラに（たとえばディスプレイ１７０に）傷修復ツールを選択するメニューを表示する。例示的な実施形態では、傷修復ツールに、ユーザが「デザインギャラリー」メニューオプションを選択することによってアクセスしてもよい。そして、傷修復ツールのメニューを、ユーザが傷を修復するための種々のメニューオプションのうちの任意のものから選択することによってナビゲートしてもよい。たとえば、ユーザインタフェースエンジン１６２は、傷を修復するためのユーザ選択（複数可）を識別する入力を（たとえばカメラコントロール１７５のうちの１つ又は複数を介して）受け取ってもよい。そして、傷修復ロジック１６４を、図２〜図４を参照して後により詳細に説明するように、効果メニューからのユーザ選択（複数可）に基づいてデジタルカメラ１００に（たとえばメモリ１５０）に格納されているデジタル画像における傷を修復するように実装してもよい。
【００１４】
ディスプレイ１７０にプレビュー画像を表示してもよく、それによりユーザが、傷が修復された後のデジタル画像を見ることができる。任意に、ディスプレイ１７０に、傷修復を変更し、又は承認／拒否するための指示テキストを表示してもよい。指示テキストを、ユーザがカメラコントロール１７５を操作する（たとえば、デジタルカメラ１００のボタンを押す）まで表示してもよい。ユーザがカメラコントロール１７５を操作した後、ユーザが傷が修復されたプレビュー画像をディスプレイ１７０上でよりよく見ることができるように、そのテキストを除去してもよい。
【００１５】
また任意に、ユーザは、カメラコントロール１７５を操作して（たとえば指示テキストによって示されるように）傷修復を変更してもよい。たとえば、ユーザは、デジタルカメラ１００の左／右矢印ボタンを押すことにより、傷を修復するために使用されるぼけの度合を増大又は低減してもよい（たとえば、影響を、目視検査の時にそれほど容易には目に見えないように緩和する）。
【００１６】
例示的な実施形態では、傷を修復するために、オリジナルデジタル写真のコピーが使用される。たとえば、ユーザがオリジナルの画像と変更された画像とを共に容易に見ることができるように、ユーザによってディスプレイ１７０上で新たな画像がオリジナル画像の直後に見えるようにしてもよい。
【００１７】
続ける前に、図１を参照して上に示し説明したデジタルカメラは、デジタル写真のための傷修復ツールを実装することができるカメラシステムを単に例示するものであるということに留意されたい。しかしながら、本明細書において説明するシステム及び方法は、カメラシステム１００での使用のみに限定されるようには意図されていない。デジタル写真のための傷修復ツールを実装することができるカメラシステムの他の実施形態も意図される。
【００１８】
図２Ａ〜図２Ｂは、図１のカメラシステム１００によって生成され得るような傷修復を示す例示的なデジタル写真２００を示す。図２Ａ及び図２Ｂの両方において、オリジナルデジタル写真２０１ａ、２０１ｂは図面の左側に示されており、被写体２１０ａ〜２１０ｂは、カメラによって最初に取り込まれた状態で現われている。写真の被写体２１０ａ〜２１０ｂ（及び／又はカメラユーザ）は、オリジナルデジタル写真２０１ａ、２０１ｂにおいて１つ又は複数の傷（たとえば皺、ほくろ、吹き出物等）が誇張されていると思う場合がある。たとえば、被写体２１０ａ〜２１０ｂは、デジタル写真２０１ａ、２０１ｂにおいて、それぞれ円２２０ａ（図２Ａ）における吹き出物及び／又は円２２０ｂ（図２Ｂ）におけるほくろが誇張されていると思う場合がある。
【００１９】
したがって、カメラユーザは、カメラの傷修復ツールを使用して、傷がより目立たなく見えるように（はっきりしないように）オリジナルデジタル写真２０１ａ、２０１ｂの１つ又は複数の傷を修復することができる。図２Ａの画像２０２及び図２Ｂの画像２０３は共に、それぞれ傷２２０ａ〜２２０ｂを修復するためにオリジナルデジタル写真２０１ａ、２０１ｂへの傷修復ツールの適用を示す。
【００２０】
画像２０２及び画像２０３をそれぞれオリジナルデジタル写真２０１ａ、２０１ｂと比較することにより、傷修復ツールを使用した後に、修復された傷２２１ａ〜２２１ｂがより目立たなく見えることが容易に観察される。さらに、傷２２０ａ〜２２０ｂを修復するために画像全体をぼかす必要はない。したがって、画像２０２及び２０３は焦点が良く合わせられたままであり、変更されたようには見えない。
【００２１】
図２Ａ、図２Ｂは、傷２２０ａ〜２２０ｂの各タイプを修正するために別々の画像２０２及び２０３を示すが、傷修復ツールは、オリジナルデジタル写真２０１ａ、２０１ｂの１つのエリアのみで使用されるようには限定されない。例示的な実施形態では、同じ写真から２つ以上の傷を選択し、選択された傷のすべてが修復された画像においてより目立たなく見えるように同時に修復してもよい。こうした実施形態は、カメラに傷修復ツールを実装する処理要件及びメモリ要件を低減することができる（すなわち、複数の傷を修復するために１つの修復画像のみを生成すればよい）。
【００２２】
傷２２０ａ〜２２０ｂを修復する例示的な実施形態を、図３を参照して、後述する簡略化した図を参照してよりよく理解することができる。
【００２３】
図３は、カメラにおけるデジタル写真のための例示的な傷修復を示す３００である（たとえば、図１のカメラシステム１００を使用する図２Ａ、Ｂの画像２００）。図３において、画像３０１はオリジナルデジタル写真を表し、円３１０は傷（たとえば、図２Ａの吹き出物２２０ａ又は図２Ｂのほくろ２２０ｂ）を表す。
【００２４】
カーソル３２０（カーソルで描いた３２０）を、ユーザがカメラディスプレイ上で移動させ、画像３０１における少なくとも１つの傷３１０を含む候補領域３２５を選択するように表示してもよい。例示的な実施形態では、ユーザは、カメラ上の４方向ロッカースイッチを押して、候補領域３２５にカーソル３２０を移動してもよい。また、カメラのズームレバーを使用して、候補領域３２５が実質的に傷３１０のみを含むようにカーソル３２０の半径を制御してもよい。画像３０１の周囲における移動を容易にするために、カーソル３２０の「ジャンプ距離」を、４方向ロッカースイッチが押下される時間に比例して加速させてもよい。別法として、カーソル３２０を、たとえば円のサイズの１半径分、その位置において増大させてもよい。いずれの場合も、画像３０１の任意の部分を、ユーザが対話的に選択することができる。
【００２５】
例示的な実施形態では、画像３０１（又は画像の一部）を、ユーザが実質的に傷３１０のみをより容易に選択することができるように、拡大してもよい。たとえば、カメラ上での表示エリアが限られている場合、画像３０１を拡大してもよい。そして、カーソル３２０内で（又はディスプレイ全体において）小さい部分のみが可視であるように、カーソル３２０を画像３０１の周囲で「移動」することができる。
【００２６】
任意に、候補領域３２５を、カメラによって自動的に選択してもよい。例示的な実施形態では、画像３０１の潜在的な傷を識別するために画像認識アルゴリズムを実装してもよい。自動選択をユーザに対して表示してもよく、続いてユーザは潜在的な傷のいずれを修復すべきであり、いずれをそのままにしておくべきかを選択してもよい。
【００２７】
候補領域（複数可）３２５が選択された後、傷を修復するために画素がクローン（複製）されてもよい。例示的な実施形態では、画素を、クローニング（複製作成）のために画像の別の部分からサンプリング（抽出）する。画素を画像の任意の部分からサンプリングしてもよいが、傷３２０に隣接してサンプリングされる画素ほど、修復操作後に周囲と調和する可能性が高い。図３において、サンプリングされた画素３３５を正方形３３０で示す。また、画素を、画像３０１の２つ以上の部分からサンプリングしてもよいということも留意されたい。
【００２８】
サンプリングされた画素３３５を、多種多様のアルゴリズムのうちの任意のものを使用して傷３１０に適用してもよい。単純なアルゴリズムは、たとえば候補領域３２５にわたってサンプリルの画素３３５を円形でフェザリングする（ぼかす）ことにより、傷３１０にサンプリングされた画素３３５を重ね合わせるか又は覆うことを含んでもよい。より高度なアルゴリズムを実行してもよい。
【００２９】
例示の目的で、レンダリングされた（表示された）画像によりよい結果をもたらすためにガウスぼかしカーネルを実装してもよい。例示的な実施形態では、サンプル３３５の各画素に対する赤・緑・青（ＲＧＢ）画素値をトリプレット（たとえば３行の画素値（ピクセル値）及び３列の画素値）として平均化して（ＲＧＢを原色ごとの重み付き平均化して）、「ぼかし」サンプル３４０を生成してもよい。平均化関数を、サンプル３３５の中心に向かう画素値に対し縁の画素値より大きい重みを与え得るように重み付けしてもよい。例示の目的で、以下のようになる。
【００３０】
【数１】
2008109668.tif 000003
【００３１】
ここで、Ｒ１−１は、サンプルの列１、行１の赤色画素値であり、係数２によって重み付けされ、Ｒ１−２は、サンプルの列１、行２の赤色画素値であり、係数３によって重み付けされ、Ｒ１−３は、サンプルの列１、行３の赤色画素値であり、係数２によって重み付けされ、Ｒ−ＡＶＧは、ＲＧＢトリプレットの重み付き平均赤色画素値である。
【００３２】
続ける前に、傷修復アルゴリズムはＲＧＢ画素値と使用するように限定されないことに留意されたい。たとえば、ガウスぼかしカーネルを、ＹＣｂＣｒ画素値を用いて実装してもよい。ＹＣｂＣｒでは、Ｙ値は画素の輝度、すなわちルマ（ｌｕｍａ）を表し、ベクトルＣｂは青−輝度（Ｂ−Ｙ）を表し、Ｃｒは赤−輝度（Ｒ−Ｙ）を表す。
【００３３】
例示的な実施形態では、輝度チャネル（Ｙ）をクローニングしてもよい（たとえば、輝度チャネルの平均値、重み付き平均値、最も明る値、最も暗い値等を求めることにより）。たとえば、最も明るい輝度チャネルを、画素サンプル３３５の他のＹ値のすべてと平均してもよい。言い換えれば、各Ｙチャネル値を、最も明るいＹチャネルを用いて平均するか又は「ぼかす」ことにより傷を「薄くする」。
【００３４】
そして、画像３０２における「ぼかし」効果又は傷修復３５０によって示すように、たとえばオリジナル画像３０１の傷３１０に対応する画素値に重ね合わせる（又は上書きする）ことによって、ぼかしサンプル３４０を傷３１０に適用してもよい。例示的な実施形態では、たとえば傷修復した画像全体又は画像の一部をカメラディスプレイに表示することにより、傷修復をユーザにプレビューしてもよい。オリジナル画像３０１を修復済み画像３０２と比較することにより、傷３１０が修復済み画像３０２においてより目立たないことが容易に観察される。さらに、画像３０２が鮮明（crisp）のままであり変更されているように見えないように、画像３０１の実質的に候補領域３２５のみが変更されている。ユーザが変更を承認する場合（たとえばカメラインタフェースの「ｏｋ」を選択することにより）、画像３０２に傷修復３５０が適用される。
【００３５】
任意に、ユーザは、カメラのインタフェースに表示されるオプションから、傷修復３５０を「和らげる（soften）」ように選択してもよい。オプションは、平均化関数に使用される異なる重み付け係数に対応してもよく、それにより異なるぼかしサンプル３４０が生成される。たとえば、オプション１は、１−３−１の所定重み付け係数に対応してもよく、オプション２は、２−５−２の所定重み付け係数に対応してもよく、オプション３は、３−７−３の所定重み付け係数に対応してもよい。そして、ユーザは、傷修復３５０のいずれが最もよく見えるかを選択することができる。ユーザの選択は少なくとも或る程度までユーザの好みによって決まってもよいが、通常、ユーザは、見る人にデジタル写真が変更されたことが明らかに（又は過度に明らかに）ならないようにして、傷がより目立たなく見えるようにする傷修復３５０を選択するよう望む。
【００３６】
所定重み付けによりユーザインタフェースが簡略化し、傷を修復するための処理要件及び処理時間も低減するということに留意されたい。したがって、図１を参照して上述したカメラシステム１００等の組込みシステムに、傷修復を容易に実装することができる。当然ながら、ユーザに対し他のオプションを提供してもよい。たとえば、スライダ（たとえばカメラのズームレバー）又は他のユーザ入力により、ユーザが傷修復を和らげるためのより細かい段階的変化を選択することができてもよい。
【００３７】
任意に、オリジナル画素値（オリジナル画像の画素の座標と共に）を、たとえば画像ファイルヘッダにメタデータとして格納してもよい。これにより、画像がカメラから（たとえばパーソナルコンピュータ又は他の記憶装置に）オフロードされた後でさえ、ユーザがオリジナル画像に戻りたい場合、迅速に元に戻すことが可能となる。
【００３８】
続ける前に、アルゴリズムはガウスぼかしカーネルに限定されないことに留意されたい。画素をクローニングするために、多種多様の異なるアルゴリズムのうちの任意のものを実装してもよい。他の実施形態には、メディアンフィルタ、皮膚分析、ヒストグラム分析及びルックアップテーブルシステムが挙げられるが、これらに限定されない。本明細書の教示を熟知した当業者に容易に明らかとなるように、現在既知であるか又は後に開発されるこれら及び他のアルゴリズムを実装してもよい。クローニング動作がデジタルカメラで実行されている例示的な実施形態では、これらアルゴリズムの選択は、少なくとも或る程度まで、カメラシステムの処理制約及びメモリ制約によって決まってもよい。
（例示的な動作）
例示的な動作を、１つ又は複数のコンピュータ可読媒体における論理命令として具現化してもよい。プロセッサ（たとえばカメラの）で実行される時、論理命令は上述した動作を実行する。例示的な実施形態では、図面に示すコンポーネント及び接続を実装してもよい。
【００３９】
図４は、デジタル写真のための傷修復ツールを実行する例示的な動作４００を示すフローチャートである。動作４１０において、デジタル写真の少なくとも１つの候補領域を選択してもよい。候補領域（複数可）は、修復すべき１つ又は複数の傷を含んでもよい。たとえば、候補領域（複数可）を、少なくとも部分的にカメラのユーザインタフェースを介して受け取られるユーザ入力に基づいて対話的に選択してもよい。別の例では、候補領域（複数可）を、画像認識を使用するカメラによって自動的に選択してもよい。任意に、候補領域（複数可）を、カメラによって自動的に選択し、その後修復する前にユーザが承認又は拒否するために表示してもよい（たとえば、いくつかの欠点が人及び／又は写真の重要な特徴として見える）。
【００４０】
動作４２０において、画素をクローニングしてもよい。画素をクローニングする例示的な実施形態を、図４において動作５００に関して示す。動作５１０において、候補領域の近くか又は隣接する画素をサンプリングする。動作（ぼかし効果）５２０において、サンプリングされた画素値を使用してぼかし効果を生成する。しかしながら、動作５００は単に例示的であり、動作４２０は動作５００による実施に限定されないということが留意される。
【００４１】
動作４３０において、クローニングされた画素を候補領域に結合してもよい。たとえば、傷を表す画素を、クローニングされた画素に置き換えてもよい。したがって、クローニングされた画素は、傷を隠すか又は覆う役割を果たす。動作４４０において、傷が修復された画像をレンダリングしてもよい。たとえば、レンダリングされた画像を、ユーザが承認し／拒否し且つ／又はさらに変更するためにカメラディスプレイに表示してもよい。
【００４２】
図示して説明した例示的な実施形態は、例示の目的で提供されているものであり、限定するものとして意図されていないということに留意されたい。デジタル写真に対する傷修復ツールを実装するためのさらに他の実施形態も考えられる。
【図面の簡単な説明】
【００４３】
【図１】デジタル写真のための傷修復ツールを実装することができる例示的なカメラシステムのブロック図である。
【図２Ａ】傷修復を示す例示的なデジタル写真を示す図である。
【図２Ｂ】傷修復を示す例示的なデジタル写真を示す図である。
【図３】デジタル写真のための例示的な傷修復を示す図である。
【図４】カメラ内にデジタル写真のための傷修復ツールを実装する例示的な動作を示すフローチャートである。
【符号の説明】
【００４４】
１００      デジタルカメラ
１５０      メモリ（コンピュータ可読記憶装置）
１６４      傷修復ロジック
２０１      オリジナルデジタル画像
２２０      傷
【図１】
2008109668.tif 000004
【図２Ａ】
2008109668.tif 000005
【図２Ｂ】
2008109668.tif 000006
【図３】
2008109668.tif 000007
【図４】
2008109668.tif 000008