(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
理解がより深まるように、図を参照した以下の説明では本発明をより詳細に説明する。本発明はこの例示的な実施形態だけに限定されないこと、および添付の特許請求の範囲に定義された本発明の範囲から逸脱することなく、本明細書に記載された特徴を適宜、組み合わせかつ/または変更することができることが理解される。
【0020】
使用者がパラメータを調整しない、ディジタル化されたフィルム上の掻き傷および汚れオブジェクトの完全自動検出は、ノイズ(noise)、粒子(grain)、フリッカ(flicker)、ジッタ(jitter)、運動および内容(コンテンツ)自体のような異なるいくつかの因子が関係するため、困難な作業である。検出アルゴリズムの設計は一般に、検出しきい値の周囲で尤度を分けることによって、誤検出の比率(以後、誤検出率)および検出漏れの比率(以後、検出漏れ率)を低下させることを目指す。このことが
図1に概略的に示されている。現実世界のアルゴリズムに関しては、オブジェクトの確率密度関数は通常、別のフレーム内容の確率密度関数と部分的に重なる。これは、オブジェクトの誤検出率および検出漏れ率が常にゼロよりも大きいことを意味する。その理由を以下で説明する。
【0021】
図2および3は、掻き傷の検出および除去の問題を示す。
図2には、2つの掻き傷2、2’を含むフレーム1が示されている。
図3は、掻き傷を除去した後の同じフレーム1を示している。
【0022】
掻き傷は、フィルムを処理装置、映写機またはスキャナに通している間に、小さな粒子がフィルムの表面を連続的に傷つけることによって生じる。掻き傷は、それぞれのフレームの横断方向に揺れ動く傾向を有する。揺れ動く速度が小さい場合、掻き傷はほぼ垂直であり、複数のフレームのほぼ同じ位置に現われる。しかしながら、揺れ動く速度が大きい場合には、掻き傷がかなりの水平成分を示し、掻き傷は、ある1つのフレームで出現し、同じフレームで消失することさえある。垂直な掻き傷の問題は、
図2の建造物3に存在する垂直な画像フィーチャと混同しやすいことである。このことはしばしば、建造物、橋、柵などの人工のオブジェクトに対して起こる。
【0023】
複数のフレームのほぼ同じ位置に現われる掻き傷は、掻き傷の下の内容に関する時間情報を大規模に破壊する。したがって、除去は、掻き傷の周囲のエリアの空間情報を利用しなければならない。
【0024】
図4および5は、汚れの検出および除去の問題を示す。
図4には、汚れオブジェクト4および移動オブジェクト5を含む一連のフレーム1が示されている。
図5は、汚れオブジェクト4を除去した後の同じ一連のフレーム1を示す。
【0025】
フィルム表面に位置する汚れは、それが静止汚れでない限り、ある1つのフレームで出現し、次のフレームで消失する。局所的な近隣領域に注目すれば、同じことが移動オブジェクトについても言える。
図4の一連のフレーム1は、左から右へ移動している移動オブジェクト5、すなわちボールを示しており、フレームnでは移動オブジェクト5が近隣窓6の中にある。フレームn+1およびn−1の移動オブジェクト5は同じ窓の位置にはない。したがって主要な問題は汚れを運動と区別することである。そのため運動が考慮される。
【0026】
別の問題は、不規則な運動(erratic motion)、モーションブラー(motion blur)、オクルージョン(occlusion)、アンカバリング(uncovering)および汚れと同じ時間特性を有するその他の影響によって引き起こされる病的な(pathological)運動によって生じる。
【0027】
フレームが変わってもその下の内容があまり変化していない場合、汚れオブジェクト4は、クローニング(cloning)によって容易に除去することができる。(病的な)運動の場合には、汚れオブジェクト4の下の原内容の位置がかなり変わっている可能性があるため状況はより困難である。
【0028】
図6に、修復された内容8を原内容7から生み出す単一ステップ自動修復プロセス10を示す。掻き傷および汚れの自動修復アルゴリズムがあらゆるシーンおよびあらゆる種類のフィルムに対して等しく良好に機能するのであれば、このような監督なしの単一ステップ修復プロセス10は多くの場合に十分であろう。しかしながら、完璧なアルゴリズムはまだ得られていない。主な問題は、異なる種類のフィルムに対してアルゴリズムの品質を制御することである。
【0029】
この問題に対する一般的な解決策を
図7に示す。この解決策では、フレームごとに結果を再検討し11、修復アルゴリズムのパラメータを個別に調整する12ため、修復ループ内に作業者9が配置されている。この反復的な単一ステップ完全対話式ワークフローは、時間および作業者の技能によっては潜在的に、掻き傷および汚れの完璧な除去を可能にする。修復アルゴリズムを提供し、修復された内容8と原内容7とを作業者が比較するのを助ける高性能のソフトウェアツールが使用可能である。
【0030】
通常は、作業時間を短縮するために、このループを、
図8に示すように2つのステージに分割する。
図8は、作業者が支援するシーケンスベースの修復プロセスを示す。この修復プロセスは、フレーム列、例えばシーンカット(scene cut)に対して反復的に機能する。修復は、作業者9がある種のパラメータをセットすることによって開始され、中間結果14が記憶される。品質管理ステップ13では、中間結果14が受け入れられるかまたは拒絶され、処理は、パラメータを調整しまたは処理領域の境界を画定した後に再開される。中間結果14とともに、ノイズレベル、粒子レベル、運動ベクトルフィールドおよびシーンカット位置のような修復ステージの間に集められた全般的な情報を含むメタデータセット15を記憶することができる。さらに、位置およびサイズのような特定の欠陥情報を記憶し、修復を手引きするために作業者に提示することもできる。メタデータの生成は、どちらかと言えば定性的なスクリーニングプロセスを、定量的な測定可能な品質プロセスに変えることを可能にする。例えば、修復された出力8に加えて、オブジェクトの数およびフレームごとの累積面積(画素カウント数)がメタデータ15として記憶される。処理後、メタデータセット全体の図表現は、フレームごとにいくつの画素が変更されたかに関する情報を与える。このプロセスではまだ、生成されるメタデータ15は、結果を受け入れるかまたは拒絶するかの決定を助けるだけである。
【0031】
本発明によれば、最終的な出力を生成する前に修復プロセスの品質を確認するため、修復プロセスを、
図9に概略的に示すように、検出プロセス20と除去プロセス21とに分割する。メタデータ15は、2つのプロセス20、21間で情報を伝達する役目を果たす。検出プロセス20では、検出アルゴリズムが自動的に働いてメタデータ情報15を生成する。メタデータ情報15は次いで除去プロセス21中に使用される。検出結果は集約されて22、包括的な品質レポート23が作成される。包括的な品質レポート23は、人間または機械によって確認することができる。
【0032】
図10は、さらに改良された3ステップワークフローを示す。このワークフローでは、掻き傷および汚れオブジェクトの検出20と除去21の間に、作業者9によって実行される品質管理24が挿入される。品質管理24の間に、例えば掻き傷オブジェクトまたは汚れオブジェクトの記述を変更しまたは追加することによって、メタデータデータベース15が、除去の実行前に対話によって編集される。
【0033】
以下では、この3ステップワークフローを詳細に説明する。言うまでもなく、
図9の2ステップワークフローでは、品質管理に関係したステップは実行されない。
【0034】
パラメータを手動で調整しない、掻き傷および汚れオブジェクトの自動検出20、特にディジタル化されたフィルム上の掻き傷および汚れオブジェクトの自動検出20は、ノイズ、粒子、フリッカ、ジッタおよび(病的な)運動のような異なるいくつかの因子が関係するため、複雑な作業である。これらのさまざまな因子に対処するため、掻き傷および汚れに対して多ステップ検出戦略を適用する。この戦略の概要を
図11に示す。第1のステップ30で、全体のノイズレベルを推定する。続いて疑わしい画素の検出31を実行する。疑わしい画素のクラスタ化によって、潜在的なオブジェクトを識別する32。識別後、潜在的なオブジェクトに重み関数を適用する33。続いて、例えば重みしきい値処理によってオブジェクトを検出する34。これは、決められた検出しきい値よりも大きな重みを有する潜在的なオブジェクトだけをメタデータデータベース15に記憶することを意味する。偽陰性(false negative)事象を減らすために検出しきい値は比較的に低く設定する。最後に、それらのオブジェクトの妥当性を検証し34、除去対象であることを示すフラグを立てる35。除去フラグ属性は、フラグを立てるステップ35において、事前に決められた除去しきい値重みに応じて自動的にセットされる。偽陽性(false positive)が除去されることを防ぐため、この除去しきい値重みは、検出しきい値よりも高く設定される。除去フラグは、妥当性検証ステップ34で実行されるオブジェクトの妥当性検証によっても左右される。疑わしい画素の検出31、潜在的なオブジェクトの識別32および重み関数の適用33に対して使用するアルゴリズムの設計は、オブジェクト確率密度関数および非オブジェクト確率密度関数の形状に影響を及ぼす。この設計は、誤った検出を減らすために、それらの関数が重なり合う領域を小さくすることを目指す。
図12は、例示的なオブジェクト確率密度関数および非オブジェクト確率密度関数、ならびにそれらの確率密度関数と検出しきい値および除去しきい値との関係を示す。
【0035】
掻き傷および汚れオブジェクトは、単一のフレーム内の有限のエリアを覆うあるタイプのオブジェクトと考えられる。これは、ノイズ、フリッカなどフレーム全体に影響を及ぼすアーチファクトとは対照的である。掻き傷および汚れオブジェクトごとに、以下の一組の属性をメタデータデータベース15に記述情報として記憶することが好ましい。
− タイプ(掻き傷または汚れ)
− 長方形の境界ボックスの座標
− フレーム索引出現
− 境界ボックスサイズの2値画素マスク
− 影響を受ける画素の数
− 検出重み
− 除去フラグ(自動的にセットされる)
− 除去トグルフラグ(使用者がセットする)
− 除去情報
【0036】
以下では、掻き傷および汚れオブジェクトに対するメタデータの生成を、垂直、水平および時間索引が付けられた3次元フィールドであるディジタル化されたフィルム素材y(h,v,t)に関して説明する。フィルムのタイプに応じて、y(h,v,t)は、白黒フィルムではスカラー(scalar)、またはカラーフィルムではRGBもしくはYUV値のトリプル(triple)でありうる。
【0037】
T個のフレームのうちのフレーム番号t内のN個のオブジェクトから検出されたそれぞれのオブジェクトnに対して一意のメタデータセットmeta(t,n)が定義される。オブジェクトは、フレームマトリックスy(:,:,t)のある有限の領域を覆うように定義される。メタデータセットを、いくつかのオブジェクトタイプ、例えばmetaScratch(t,n)、metaDirt(t,n)に分けることができる。以下では、metaX(t,n)を使用して、一方のタイプまたは両方のタイプのオブジェクトを示す。これは、掻き傷オブジェクトと汚れオブジェクトが同じ番号nを有することができることを意味する。以下のオブジェクト属性を記憶すると有利である。
【0038】
a)オブジェクトを識別し区別するため、一意の索引をセットしなければならない。番号付けは、オブジェクトの位置に従ってフレームの左上から右下へ実行することができる。
metaX(t,n).index=n{1,...,N}
【0039】
b)オブジェクトの番号付けが全てのオブジェクトタイプにわたって連続的に実施される場合には、タイプ属性による差別化が必要である。
metaX(t,n).type={‘掻き傷’|‘汚れ’|‘静止汚れ’|...}
【0040】
c)オブジェクトの最大水平長および最大垂直長xWidth(n)およびyWidth(n)によって、長方形の境界ボックスの幅および高さを定義する。左上隅とともに、ボックスによって覆われるエリアの水平位置および垂直位置を定義するxPos(n)およびyPos(n)を明白に指定する。
b(t,n)=y(yPos(n):yPos(n)+yWidth(n)−1,xPos(n):xPos(n)+xWidth(n)−1,t)
例示的な境界ボックスを
図13に示す。したがって、ボックス属性は4要素ベクトルとして定義される。
metaX(t,n).box=[xPos(n) yPos(n) xWidth(n) yWidth(n)]
【0041】
d)フレームマトリックスy(:,:,t)内のオブジェクトによって覆われている画素を一意的に記述する目的にはさまざまな方法が使用可能である。検出後のタイプXのそれぞれのオブジェクトnは、2値マスクmaskX(1:yWidth(n),1:xWidth(n),n)によって定義されると仮定する。ここで「1」はオブジェクトがその位置に存在することを示す。例えば、
図13の境界ボックス内に示されたオブジェクトに対する2値マスクは以下の表によって記述されることになる。
【0043】
第1の方法によれば、2値マスクの情報は、2値マスク自体を記憶することによって記憶される。
metaX(t,n).pixel=maskX(:,:,n)
他の方法によれば、マスクが「1」である索引のリストを記憶する。
metaX(t,n).pixel=find(maskX(:,:,n))
【0044】
e)ブール(Boolean)フラグmeta.removeは、後続の除去ステップでそのオブジェクトが修復されるのか否かを示す。自動検出の判断が明瞭でなく、作業者による承認を必要とするときには常に、その値をfalse(偽)にセットすることもできる。
metaX(t,n).remove={true|false}
【0045】
f)掻き傷、静止汚れなどのオブジェクトは通常、複数のフレームにわたって存在する。したがって、前(indexForward)のフレームおよび後(indexBackward)のフレーム内の同じオブジェクトの索引を記憶することが提案される。「0」は、対応がないことを示すために使用される。
metaX(t,n).indexForward={1,...,N
forward|0}
metaX(t,n).indexBackward={1,...,N
backward|0}
【0046】
g)再検討目的および統計目的で、全てのマスク内の「1」の和を構築することによって、検出された全てのオブジェクトの面積または検出されたあるタイプXのオブジェクトの面積を記憶することが提案される。
metaX(t).areaDetected=s(maskX(:,:,:))
【0047】
h)同様に、再検討目的および統計目的で、metaX.remove(t,n)が「true(真)」である全てのマスク内の「1」の和を構築することによって、フレームt内で検出された後に除去される全てのオブジェクトの面積またはあるタイプXのオブジェクトの面積を記憶することが提案される。
metaX(t).areaRemoved=sum(maskX(:,:,metaX(t,n).remove))
【0048】
i)除去をどのように実行するのかについての情報、すなわちmetaX(t,n).remove=trueである場合に、metaX(t,n).pixelによって与えられるオブジェクト画素をどの方法で変更しまたは置き換えなければならないのかについての情報を提供するフィールド
metaX(t,n).replacement
をmetaX(t,n)が含むと有利である。metaX(t,n).removeは品質管理ステップ24の間に変更される可能性があるため、metaX(t,n).removeの状態を無視して、常にmetaX(t,n).replacementを定義することが好ましい。このフィールドは、除去ステップ21の間に適当な置換パターンを見つけるための処理が必要ないという利点を有する。このことは、除去の計算要求がより小さくなることを意味する。ただし検出時間は長くなる。さらにメタデータの量も増大する。
【0049】
第1の可能性によれば、周囲ボックスb(n)を有するオブジェクトnに対するmetaX(t,n).replacementが、そのオブジェクトによって覆われるr(n)の値だけを直接に記憶することによって得られる。
【0050】
metaX(t,n).replacement=r(metaX(t,n).pixel))
あるいは、b(n)とr(n)の差を記憶する。
metaX(t,n).replacement=r(metaX(t,n).pixel))−b(metaX(t,n).pixel))
【0051】
別の選択肢によれば、現在のフレーム内またはそれよりも前もしくはそれよりも後の他のフレーム内の画像領域からのクローニングによってr(n)が見つかった場合には、水平オフセットyOff(n)、垂直オフセットxOff(n)および時間オフセットtOff(n)を有する3要素ベクトルを記憶する。
metaX(t,n).replacement=[yOff(n) xOff(n) tOff(n)]
【0052】
品質管理ステップ24での再検討は、既に「十分に良好な」出力を与えているメタデータセット15を編集して、「優れた」修復結果を与えるメタデータセット15を得ることを可能にする。言うまでもなく、実際の結果は、作業者9が費やす時間によって変わってくる。加えて、品質管理ステップ24は、データセットを手動で変更することなくアルゴリズムの品質を制御するのにも役立つことがある。品質管理は、メタデータを確認し変更することによって実行される。このことにより、計数可能な尺度によってより客観的に、かつ対話式の逐次的なフレーム比較よりも潜在的にはるかに速く品質を制御することができる。メタデータが承認された後、修復されたバージョンに対する変更記録とともに、原ファイルに対する品質レポートを生成することが好ましい。
【0053】
グラフィカルユーザインタフェースを有するソフトウェアアプリケーション内のメタデータデータベース15の図表現を使用することが好ましい。例示的な図表現を
図14および15に示す。このグラフィカルユーザインタフェースが、集約されたメタデータの視覚化を提供すると有利である。そうすると、誤った検出を示す異常値を容易に発見することができる。通常はごく少数であるが、対応するフレームをさらに調べる必要がある。この目的のため、境界ボックスの座標属性を使用して、あるフレーム内で検出された掻き傷および汚れオブジェクト50、51にアノテーションを付ける。除去フラグ属性に従って、境界ボックスに対して異なるスタイルを使用することが好ましい。このようにすると、誤って検出されたオブジェクトを迅速に集めることができる。
【0054】
前述のようにして誤った検出が識別された場合には、メタデータの品質を向上させる必要がある。対応するメタデータを変更するかまたは拡張する。偽陽性として検出された掻き傷および汚れオブジェクトは、メタデータデータベース15から除去されるか、またはトグルフラグ属性をセットすることによって除去対象から外される。検出されなかったまたは完全には検出されなかった(偽陰性の)掻き傷および汚れオブジェクトに手作業で印を付けて、メタデータデータベース15に追加することができる。
【0055】
次に、
図14および15に示したグラフィカルユーザインタフェースをより詳細に参照する。第1のパネル41では、metaX(t,n).boxに記憶されたサイズおよび座標に従って現在のフレームtの内容の上に長方形のボックスを描くことによって、それぞれのオブジェクト50、51にアノテーションが付けられている。ボックスの線に対して異なる色を使用し、かつ/またはボックスの線を破線にすることによって、除去するオブジェクト50、すなわちmetaX(t,n).remove=trueであるオブジェクトを、除去しないオブジェクト51、すなわちmetaX(t,n).remove=falseであるオブジェクトから区別すると有利である。
【0056】
第2のパネル42では、全てのフレームについて、ベクトルmetaX(t).areaDetectedおよび/またはmetaX(t).areaRemovedが視覚化されている。フレームIの数は通常、表示画面の水平解像度よりもはるかに大きいため、データ全体を第2のパネル42に収めるためのデータ整理が実行される。要素metaX(t).areaDetected(t)は常に、metaX(t).areaRemoved(t)に等しいかまたはそれよりも大きいため、同じパネル42内に、metaX).areaDetectedの前にmetaX.areaRemovedが置かれた2本のバープロット(bar plot)が示される。
【0057】
第3のパネル43には、metaX(t).areaDetectedの前にmetaX(t).areaRemovedが置かれた追加の2本のバープロットがプロットされる。第2のパネル42とは対照的に、metaX(t).areaDetectedの前にmetaX(t).areaRemovedが置かれたそれぞれの要素は、1画素よりも大きな幅を有する離れたバーによって表示される。フレームIの数は通常、表示画面の水平解像度よりもはるかに大きいため、プロットの一部分だけが見えている。この部分は、現在のフレームtに対応するバーが常にプロットの中央に位置するように選択される。
【0058】
誤って検出されたオブジェクトが除去されることを防ぐためには、対応するボックスをクリックするかまたは対応するボックスにタッチして、metaX(t,n).removedのオブジェクト状態を切り換え、それに応じてアノテーションボックスの色および/または破線表示を切り換える。metaX(t,n).removedの状態を切り換えたときに、metaX(t).areaRemoved内の累算された面積、ならびに第2のパネル42および第3のパネル43に示されたプロットが瞬時に更新されると都合がよい。
【0059】
第2のパネル42および第3のパネル43内のプロットのある位置をクリックしまたはその位置にタッチしたときには常に、グラフィカルユーザインタフェースが対応するフレームに切り換わることが好ましい。第1のパネル41に示される内容およびアノテーション、ならびに第3のパネル43内のメタデータバープロットの区間が瞬時に更新される。
【0060】
第4のパネル44は、第1のパネル41に掻き傷だけもしくは汚れだけを表示するのか、または掻き傷と汚れの両方を表示するのかを選択することを可能にする。加えて、第5のパネル45は、第1のパネル41内で、原内容の代わりに、除去プロセス21の結果得られた出力をプレビューすることを可能にする。この目的のため、第4のパネル内の掻き傷および/または汚れのチェックボックスがアクティブにされ、第5のパネル45内の対応する選択項目をクリックするかまたはショートカットキーを押すことによって表示が除去後(フィルタリング後)に変更されたときには常に、現在のフレームtに除去プロセス21が適用される。あるいはまたはそれに加えて、専用の除去/適用ボタン(図示せず)が押されたときに、現在のフレームtに除去プロセス21が適用される。
【0061】
このグラフィカルユーザインタフェースはさらに、索引
metaX(t,n).index=n+1
およびタイプ
metaX(t,n+1).type={‘掻き傷’|‘汚れ’|‘静止汚れ’|...}
を有する別のオブジェクトmetaX(t,n+1)を追加することを可能にする。
【0062】
それらのオブジェクトには、位置[xPos yPos]および幅[xWidth yWidth]を有する第1のパネル41内のある領域
metaX(t,n+1).box=[xPos yPos xWidth yWidth]
にマウスフリーハンドツールなどを使用して印を付けることによって、
metaX(t,n+1).remove=true
のフラグが立てられる。
【0063】
それによって、上記d)で既に説明したmetaX(t,n+1).pixelをセットするためのmaskX(:,:,n+1)が定義される。さらに、f)に基づくエントリ
metaX(t,n+1).indexForward={1,...,N
forward|0}
metaX(t,n+1).indexBackward={1,...,N
backward|0}
g)に基づくエントリ
metaX(t).areaDetected=metaX(t).areaDetected+sum(maskX(:,:,n+1))
h)に基づくエントリ
metaX(t).areaRemoved=metaX(t).areaRemoved+sum(maskX(:,:,n+1))
i)に基づくエントリ
metaX(t,n).replacement
がセットされる。
【0064】
最後に、掻き傷および汚れオブジェクトの除去21をメタデータデータベース15を使用して自動的に実行して、修復された出力8を生成する。したがって、結果は完全に予測でき、原ファイル7は、オブジェクトが検出され、除去に関してメタデータが承認された位置だけが変更される。より具体的には、メタデータmetaX(n)をそれぞれのフレームtに適用することによってフィルムの修復が実行される。metaX(t,n).pixelによって定義されたオブジェクトnの画素は、metaX(t,n).remove=trueである場合に変更される。フレームt内の他の画素は無傷のままに残される。
【0065】
それぞれのオブジェクトに対して以下の手順が実行される。「’」が付けられた変数は「その場」で、すなわち追加の記憶域を割り当てることなく処理することもできる。それらの変数は例示のために導入したものである。
【0066】
a.フレームtに対して、修復された出力マトリックスy’(t)を入力マトリックスy(t)にセットする。
y’(t)=y(t)
【0067】
b.metaX(t,n).boxを用いて、c)で説明したようにして、境界ボックスマトリックスb(t,n)を見つける。
【0068】
c.修復された境界ボックスマトリックスb’(t,n)をb(t,n)にセットする。
b’(t,n)=b(t,n)
【0069】
d.metaX(t,n).typeに応じて、b’(t,n)内のmetaX(t,n).pixelによって与えられる画素を変更する方法を選択する。
i.b’(t,n,metaX(t,n).pixel)=metaX(t,n).replacement
ii.b’(t,n,metaX(t,n).pixel)=b’(t,n,metaX(t,n).pixel)+metaX(t,n).replacement
iii.metaX(t,n).replacementからyOff(n)、xOff(n)およびtOff(n)を抽出することによって、一時的な境界ボックスマトリックスb”を、
b”=y(yPos(n)+yOff(n):yPos(n)+yOff(n)+yWidth(n)−1,xPos(n)+xOff(n):xPos(n)+xOff(n)+xWidth(n)−1,i+tOff(n))
にセットする。
b’(t,n,metaX(t,n).pixel)=b”(metaX(t,n).pixel)
をセットする。
【0070】
e)y(n)’内のオブジェクトiを、修復された
y’(yPos(n):yPos(n)+yWidth(n)−1,xPos(n):xPos(n)+xWidth(n)−1,i)=b’(t,n)
で置き換える。
【0071】
図16から18は、修復ワークフローの例示的な結果を示す。
図16には、修復が一切なされていない原画像が示されている。
図17は、メタデータアノテーションを有する同じ画像、すなわち検出プロセス20を実行した後の同じ画像を示す。
図18は、除去プロセス21を適用した後の出力画像を示す。
(付記1)
1つの画像または一連の画像を修復する方法であって、
− 前記1つの画像または前記一連の画像中のアーチファクトを検出するステップと、
− 検出されたアーチファクトに関する情報をメタデータデータベースに記憶するステップと、
− 検出されたアーチファクトのうちの1つまたは複数のアーチファクトを、前記メタデータデータベースに記憶された前記情報に基づいて、前記1つの画像または前記一連の画像から除去するステップと、
を含む、前記方法。
(付記2)
前記アーチファクトは、掻き傷オブジェクトと汚れオブジェクトのうちの少なくとも一方のオブジェクトである、付記1に記載の方法。
(付記3)
アーチファクトに関する前記情報は、前記アーチファクトの索引、前記アーチファクトのタイプ、長方形の境界ボックスの座標、前記アーチファクトの出現のフレーム索引、境界ボックスサイズの2値画素マスク、影響を受ける画素の数、検出重み、除去フラグ、除去トグルフラグおよび除去情報のうちの1つまたは複数を含む、付記1または2に記載の方法。
(付記4)
アーチファクトに関する前記情報は、前の画像中の同じアーチファクトの索引と後の画像中の同じアーチファクトの索引のうちの少なくとも一方をさらに含む、付記1から3のいずれかに記載の方法。
(付記5)
検出されたアーチファクトに関する情報を前記メタデータデータベースに記憶した後、検出されたアーチファクトのうちの1つまたは複数のアーチファクトを前記1つの画像または前記一連の画像から除去する前に、前記メタデータデータベースに記憶された前記情報に対して品質管理プロセスを実行するステップをさらに含む、付記1から4のいずれかに記載の方法。
(付記6)
前記品質管理プロセスは、前記メタデータデータベースにアーチファクトを追加すること、および/または前記メタデータデータベースからアーチファクトを除去することを含む、付記5に記載の方法。
(付記7)
アーチファクトは、前記メタデータデータベース内の前記アーチファクトに関する前記情報を削除することによって、または前記除去トグルフラグの値をセットすることにより前記アーチファクトを除去対象から外すことによって、前記メタデータデータベースから除去される、付記6に記載の方法。
(付記8)
前記画像中の検出されたアーチファクトの総面積と、前記画像中の除去対象としてセットされたアーチファクトの総面積のうちの少なくとも一方を求めるステップをさらに含む、付記1から7のいずれかに記載の方法。
(付記9)
前記メタデータデータベース中に記憶された前記情報に基づいて品質レポートを作成するステップをさらに含む、付記1から8のいずれかに記載の方法。
(付記10)
1つの画像または一連の画像を修復する装置であって、
− 前記1つの画像または前記一連の画像中のアーチファクトを検出する第1の画像処理プロセッサと、
− 検出されたアーチファクトに関する検出されたアーチファクトに関する情報を記憶するメタデータデータベースと、
− 検出されたアーチファクトのうちの1つまたは複数のアーチファクトを、前記メタデータデータベースに記憶された前記情報に基づいて、前記1つの画像または前記一連の画像から除去する第2の画像処理プロセッサと、
を備える、前記装置。