(57)【特許請求の範囲】
【請求項１】
欠陥を有するディジタル・イメージを修復する方法であって、
修復すべきディジタル・イメージにおいて欠陥を含む細長い区域の画素化された第１および第２の長辺を生成するステップと、
前記第１および第２の長辺上の対応する画素の対を選択し、それらの間に画素化された線分を生成するステップと、
前記線分において前記画素の対の間にある内部画素の新しい色値を前記画素の対の色値に基づいて自動的に計算し、前記内部画素の元の色値を前記新しい色値によって置換することにより前記細長い区域の内部を塗り潰すステップと
を含む、欠陥を有するディジタル・イメージを修復する方法。
【請求項２】
前記塗り潰すステップで塗り潰せなかった画素を識別し、該画素の新しい色値をその隣接画素の色値に基づいて計算し、該画素の古い色値を計算した新しい色値によって置換するステップをさらに含む、請求項１に記載の方法。
【請求項３】
欠陥を有するディジタル・イメージを修復するために、コンピュータに、
修復すべきディジタル・イメージにおいて欠陥を含む細長い区域の画素化された第１および第２の長辺を生成するステップと、
前記第１および第２の長辺上の対応する画素の対を選択し、それらの間に画素化された線分を生成するステップと、
前記線分において前記画素の対の間にある内部画素の新しい色値を前記画素の対の色値に基づいて自動的に計算し、前記内部画素の元の色値を前記新しい色値によって置換することにより前記細長い区域の内部を塗り潰すステップと
を実行させる、コンピュータ・プログラム。
【請求項４】
さらに、前記塗り潰すステップで塗り潰せなかった画素を識別し、該画素の新しい色値をその隣接画素の色値に基づいて計算し、該画素の古い色値を計算した新しい色値によって置換するステップをコンピュータに実行させる、請求項３に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル・データ処理装置に関し、具体的には、ディジタル・イメージを操作する装置に関する。
【０００２】
【従来の技術】
２０世紀の後半に、情報革命と称する現象がおきた。情報革命は、単一の事象または計算機より広い範囲の歴史的進展であるが、ディジタル電子計算機以上に情報革命を代表する装置はない。コンピュータ・システムの発展は、確かに革命であった。毎年、コンピュータ・システムが、より速く生長し、より多くのデータを保管し、より多くのアプリケーションをユーザに提供する。
【０００３】
初期のコンピュータ・システムは、非常に高価で使用が困難であり、少数の高度な教育を受けた専門家でなければプログラミングし、操作することができなかった。そのようなコンピュータを運営するコストは、それ相応に高く、したがって、そのようなコンピュータは、最も重要な作業だけに使用された。情報革命を駆り立てた原動力は、計算のコストの削減の維持である。したがって、数年前には収集、保管、および処理があまりに高価であった情報が、現在は、コンピュータを介して操作することが経済的に可能になっている。情報処理のコスト削減が、雪だるま式に高まる生産性を駆り立てる。というのは、製品設計、製造工程、リソース・スケジューリング、管理の雑用、および多数の他の要因が、より効率的になるからである。
【０００４】
現代のコンピュータは、価格低下および機能拡張によって、ますます多様になる応用分野に適用されるようになっている。最近数年間に、安価な「パーソナル・コンピュータ」が、家庭での個人的使用または仕事場での単独の個人の使用に利用可能になった。これらの計算機は、小型ではあるが、少し前には想像することしかできなかった機能を備える。
【０００５】
計算能力およびディジタル記憶域が現在のように安価なので、以前に他のフォーマットで実施されていたもののディジタル記録を作成することがますます一般的になってきた。具体的に言うと、写真、図面などの視覚的イメージのディジタル記録を作成することが一般的になってきた。ディジタル・イメージには、離散的な画素のマトリックスが含まれ、画素のそれぞれは、色または陰影を表す事前に定義された値の組のいずれかとすることができる。ディジタル・イメージの粗雑な形態が、各画素が２つだけの値の１つ（白または黒）になることができる白黒イメージである。しかし、ほとんどの現代のシステムでは、白黒ディジタル・イメージに、通常は、それぞれがたとえば０から２５５までの整数として表されるグレイ・スケール画素が含まれる。イメージがカラーの場合には、画素値は、同様にある色または色の陰影を表す。
【０００６】
ディジタル・イメージは、元々ディジタル形式で（たとえばコンピュータ上で）作成することができるが、一般に、非ディジタル・メディアからディジタル形式に変換される。ディジタル形式になった後に、そのようなイメージを、ディジタル・コンピュータに保管し、ディジタル・コピー装置を用いて複製し、さまざまな編集ツールのいずれかを使用して編集し、インターネットなどのディジタル・ネットワークを介して伝送することができる。ディジタル形式への変換の一般的な方法の１つが、非ディジタル・メディア（紙など）の写真、図面、または他のイメージを、ディジタル・スキャン装置を使用してスキャンすることである。さまざまな市販ディジタル・スキャナが、この目的のために存在する。そのようなスキャナは、たとえば、「フラットベッド」スキャナ、ハンドヘルド・スキャナ、シートフィーダ型スキャナ、または他の設計とすることができる。
【０００７】
【発明が解決しようとする課題】
ディジタル・イメージが、紙などの他のメディアからスキャンされる時に、イメージの欠陥が、ディジタル・フォーマットで表現される場合がある。欠陥の非常に一般的な形が、紙メディアの折り目によって導入されるものである。折り目によって、折り目の線に沿ったインクまたは他の着色の一部が除去され、ディジタル・イメージで白い線または明るい色の線として見えるようになる場合がある。
【０００８】
画素ごとに手作業でイメージを編集することによって、ディジタルにスキャンされたイメージの折り目の影響を修復することが可能ではあるが、この方法は極端に単調で退屈になる可能性がある。折り目または類似するアーチファクトを有するディジタルにスキャンされたイメージを修復するための自動化された方法に関する認識されていない必要が存在する。
【０００９】
【課題を解決するための手段】
ディジタル・イメージ内の比較的長く狭い欠陥が、修復すべき細長い区域を識別することと、修復される区域内の画素色／陰影値を、細長い区域の周辺の近くの画素値から自動的に計算することによって修復される。
【００１０】
好ましい実施形態では、ユーザが、イメージ上の修復される区域を囲む細長い矩形を識別する。矩形は、まずコンピュータ・システムの対話式ディスプレイにイメージを表示することと、その後、ポインティング・デバイスを用いて対話式ディスプレイ上で、矩形の対向する角である２つの点を選択することと、その後、イメージ上の修復される区域を含む必要に応じて矩形の回転、平行移動、またはサイズ変更を行うことによって識別されることが好ましい。コンピュータが、矩形の対向する長辺を構成する平行線の対の画素座標を自動的に生成する。１つの直線内の各画素が、対向する直線の１画素に対応し、そのような対応する画素の対のそれぞれによって、矩形の長辺に直交する線分の端点が定義される。その後、矩形の内部の画素が、端点の色値から各線分に沿って色値を補間することによって塗り潰される。説明を簡単にするために、本明細書で使用する句「色値」は、色相のほかに、陰影、強度、または輝度などの属性を含むと解釈され、白黒イメージの場合には、色相なしで陰影だけを含めることができる。
【００１１】
上に記載の方法では、矩形区域内のすべての画素を塗り潰すことが保証されないので、代替実施形態では、コンピュータ・システムが、好ましい実施形態の方法を実行している間に塗り潰された画素および塗り潰されない画素のマップを維持し、完了の後に、塗り潰されていない画素のすべてに、隣接するすべての画素の平均に基づく値を割り当てるという追加ステップを実行する。
【００１２】
もう１つの代替実施形態では、コンピュータ・システムが、修復しなければならない疑わしい区域を自動的に識別することができ、ユーザが、区域を変更するか、区域の修復を確認することができる。
【００１３】
長く狭い欠陥、特に折り目によって生じた欠陥について、本明細書に記載の自動化されたディジタル・イメージ修復方法では、一般に、大きな視覚的に目立つ欠陥のないイメージが作られ、ユーザの側の過度な労力なしにこれが行われる。
【００１４】
【発明の実施の形態】
図面を参照すると、同様の符号によって複数の図面を通じて同様の部分が示されているが、図１は、通常の対話式のコンピュータ・システム１００の高水準ブロック図であり、コンピュータ・システム１００は、好ましい実施形態に従って、ディジタル・イメージを受け取り、保管し、表示し、送出し、編集するのに使用することができる。コンピュータ・システム１００には、ＣＰＵ１０１、メモリ１０２、ディスプレイ・アダプタ１０３、キーボード／ポインタ・アダプタ１０４、記憶装置アダプタ１０５、プリンタ・アダプタ１０６、スキャナ・アダプタ１０７、ネットワーク・インターフェース１０８、および通信バス１１０が含まれる。ＣＰＵ１０１は、メモリ１０２に記憶された命令を実行する汎用プログラム可能プロセッサであり、図１には単一のＣＰＵが図示されているが、複数のＣＰＵを有するコンピュータ・システムを使用することができることを理解されたい。メモリ１０２は、データおよびプログラムを記憶するランダム・アクセス半導体メモリであり、メモリは、概念上単一のモノリシックなエンティティとして図示されているが、メモリがキャッシュおよび他のメモリ・デバイスの階層に配置されることがしばしばであることを理解されたい。通信バス１１０は、異なるデバイスの間でのデータ、コマンド、および他の情報の転送をサポートし、単一のバスとして簡略化された形で図示されているが、複数のバスとして構成することができ、階層的な形に配置することができる。ディスプレイ・アダプタ１０３は、ディスプレイ１１１をサポートし、ディスプレイ１１１は、通常は陰極線管ディスプレイであるが、他のディスプレイ技術を使用することができる。キーボード／ポインタ・アダプタ１０４は、キーボード１１２およびマウスとして図示されたポインティング・デバイス１１３をサポートするが、他の形の入力装置を使用することができることを理解されたい。記憶装置アダプタ１０５は、１つまたは複数のデータ記憶装置１１４をサポートし、データ記憶装置１１４は、通常は回転式磁気ハード・ディスクであるが、他のデータ記憶装置を使用することができる。プリンタ・アダプタ１０６は、プリンタ１１５をサポートする。スキャナ・アダプタ１０７は、ディジタル・スキャナ１１６をサポートする。ディジタル・スキャナ１１６は、別のメディア上のイメージをスキャンして、イメージのディジタル・コピーを作り、このディジタル・コピーが、ディジタルに保管される（たとえばデータ記憶装置１１４に）。ディジタル・スキャナは、紙をスキャンするスキャナ、たとえば「フラットベッド」スキャナ、ハンドヘルド・スキャナ、またはシートフィーダ型スキャナであることが好ましいが、将来に開発される装置を含む他の装置を、別のメディア上のイメージのスキャンおよびディジタル・コピーの作成に使用できることを理解されたい。ネットワーク・インターフェース１０８は、インターネットまたはローカル・エリア・ネットワークなどのコンピュータ・ネットワークへの物理インターフェースを提供する。コンピュータ・システム１００を、その代わりに、メインフレーム端末チャネル・インターフェースを介して大型「メインフレーム」コンピュータ・システムに接続することができる。
【００１５】
図１の表現は、例示的な簡略化された表現として企図されており、システム構成の多数の変形形態が、本明細書で述べる形態のほかに可能であることを理解されたい。接続される装置の数および種類は、かなり変更することができる。コンピュータ・システム１００は、通常は、「パーソナル・コンピュータ」として既知の単一ユーザ・コンピュータ・システムのさまざまなモデルのいずれかであるが、本明細書に記載のディジタル・イメージを訂正する方法および装置は、異なる環境で実施することができ、諸機能を異なるコンピュータ・システムまたはシステム構成要素の間で分散することができる。たとえば、複数の対話式ワークステーションを、メインフレーム・コンピュータ・システムに接続し、このメインフレームにディジタル・イメージを含むデータを保管し、ワークステーションを対話式のデータ編集に使用することができる。その代わりに、本発明を、サーバがデータを保管するか要求元クライアントの代わりにある種のタスクを実行するクライアント・サーバ・モデルを使用して実施することができる。さらに、本発明に従ってディジタル・イメージを操作するシステムを、ノートブック・コンピュータ、ラップトップ・コンピュータ、特殊目的装置、またはさまざまなハードウェア変形形態のいずれかとすることができる。
【００１６】
図２は、コンピュータ・システム１００のメモリ１０２内の主要なソフトウェア・コンポーネントの概念図である。オペレーティング・システム２０１が、当技術分野で周知のように、デバイス・インターフェース、メモリ・ページの管理、ウィンドウ・インターフェースの管理、複数のタスクの管理などのさまざまな低水準ソフトウェア機能を提供する。ブラウザ２０２が、当技術分野で既知のように、インターネットを介するディジタル・イメージ・ファイルの送受信の能力を含めて、インターネットへのユーザ・インターフェースを提供する。ブラウザ２０２は、オペレーティング・システム２０１に統合するか、別のアプリケーション・プログラムとすることができる。メモリ１０２には、さらに、本明細書で完全に説明する、ディジタル・イメージを操作するアプリケーション・プログラムであるイメージ・アプリケーション２０３が含まれる。イメージ・ファイル２２１、２２２、および２２３は、イメージ・アプリケーション２０３によって使用されるディジタル・イメージを含むファイルである。メモリ１０２に、図２で全般的にアプリケーション２１１および２１２として図示された、有用な作業を実行するためのさまざまな追加のアプリケーションを含めることができる。これらのアプリケーションには、たとえば、ワード・プロセッシング、スプレッド・シート、電子カレンダ、会計、グラフィックス、コンピュータ・コード開発、または無数の他の可能なアプリケーションのどれでも含めることができる。
【００１７】
ある個数のアプリケーション、ファイル、または他のエンティティが図２に示されているが、これらが例示のみを目的として図示されていることと、そのようなエンティティの実際の個数および種類を変更することができることを理解されたい。さらに、図２のソフトウェア・コンポーネントは、概念上メモリに常駐するものとして図示されているが、一般に、コンピュータ・システムのメモリは、すべてのプログラムおよびデータを同時に保持するには小さすぎることと、情報が、通常は回転式磁気ディスク・ドライブなどの１つまたは複数の大容量記憶装置を含むデータ記憶装置１１４に保管されることと、情報が、オペレーティング・システムによって必要に応じてメモリにページングされることを理解されたい。
【００１８】
イメージ・アプリケーション２０３に、ディジタル・スキャナ１１６からイメージ内をスキャンするスキャン機能、データ記憶装置１１４にイメージを保管する保管機能、イメージを表示する表示機能、およびイメージを編集する編集機能が含まれることが好ましい。イメージ・アプリケーションには、さらに、ディジタル・イメージからある種の欠陥を除去する自動化された折り目除去機能２０４が含まれる。折り目除去機能２０４は、一般編集機能の一部とするか、別の機能とすることができる。折り目除去機能２０４は、本明細書で説明するように、イメージの識別された区域の周辺付近の画素に基づいて、その区域内の画素を塗り潰す。
【００１９】
一般に、本発明の図示の実施形態を実施するために実行されるルーチンは、オペレーティング・システムの一部として実施されるものであれ、特定のアプリケーション、プログラム、オブジェクト、モジュール、または命令のシーケンスとして実施されるものであれ、本明細書では「コンピュータ・プログラム」と呼称する。コンピュータ・プログラムには、通常は、本発明との一貫性を有するコンピュータ・システム内の装置またはシステム内の１つまたは複数のプロセッサによって読み取られ、実行される時に、本発明のさまざまな態様を実施するステップの実行または要素の生成に必要なステップをこれらの装置またはシステムに実行させる命令が含まれる。さらに、本発明を、本明細書では完全に機能するコンピュータ・システムに関して説明するが、本発明のさまざまな態様を、さまざまな形のプログラム製品として配布することができ、本発明は、配布を実際に実行するのに使用される信号担持媒体の具体的な種類に無関係に同等に適用される。信号担持媒体の例には、揮発性メモリ・デバイス、不揮発性メモリ・デバイス、フロッピ・ディスク、ハード・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、および磁気テープなどの記録可能型媒体と、無線通信リンクを含むディジタル通信リンクおよびアナログ通信リンクなどの伝送型媒体が含まれる。信号担持媒体の例は、図１で、データ記憶装置１１４およびメモリ１０２として図示されている。
【００２０】
図３および図４は、好ましい実施形態による、イメージ・アプリケーション２０３の動作の高水準流れ図である。イメージ・アプリケーション２０３は、ユーザに選択肢のメニューを提示し、ディジタル・イメージの使用および操作のためのさまざまな機能をユーザが選択できるようにする、対話式アプリケーション・プログラムであることが好ましい。図３からわかるように、ユーザによって呼び出された時に、イメージ・アプリケーション２０３が、初期化を行い（ステップ３０１）、これによって、イメージ・アプリケーション２０３が、ユーザに選択肢のメイン・メニューを提示し、ユーザが適当な選択を行うのをループで待つ（ステップ３０２）。通常、イメージ・アプリケーションは、さまざまな周知のグラフィカル・ユーザ・インターフェースのいずれかを使用し、このグラフィカル・ユーザ・インターフェースで、ユーザが、マウスなどの対話式ポインティング・デバイスを用いて適当な選択肢をクリックすることによって、ツール・バー、メニュー・バー、ボタン、選択肢のリスト、または類似物から選択を行う。しかし、選択を行う正確な形は、変更することができる。選択が行われた時に、ステップ３０２の「Ｙｅｓ」分岐に進んで、適当なアクションを実行する。
【００２１】
さまざまなアクションを、ユーザが選択することができ、その一部だけが例示のために図３および図４に示されており、他のアクションを実行することができることを理解されたい。ユーザが、スキャン・アクションを選択する場合（ステップ３０３）、イメージ・アプリケーションは、接続されたディジタル・スキャナ１１６に適当なコマンドを送って、スキャナの視野内の文書または他のオブジェクトをスキャンすることによってディジタル・イメージを生成し、そのように生成されたイメージを、メモリ１０２内に現行イメージとしてロードするか、おそらくはそれをデータ記憶装置１１４に直接に保管する（ステップ３０４）。ユーザが、イメージ保管アクションを選択する場合（ステップ３０５）、イメージ・アプリケーションは、ユーザによって指定されたファイル名の下で、データ記憶装置１１４に現行イメージのコピーを保管する（ステップ３０６）。ユーザが、イメージ取出アクションを選択する場合（ステップ３０７）、イメージ・アプリケーションは、ファイル名を求めるプロンプトをユーザに出し、記憶装置から指定されたファイル名のイメージを取り出し（ステップ３０８）、取り出されたイメージが、表示、編集などに関する現行イメージになる。ユーザがイメージ編集アクションを選択する場合（ステップ３０９）、イメージ・アプリケーションは、イメージを表示し、ユーザが、トリミング、アスペクト比変更、線または他の特徴の追加または除去、他のイメージの部分のオーバーレイなどのさまざまな従来の編集技法のいずれかを使用して対話式にイメージを編集できるようにする（ステップ３１０）。イメージ編集機能では、ユーザが、任意の色の値を指定することによってイメージの任意の画素を編集できるようにすることが好ましい。
【００２２】
上の機能のいずれも選択されず、ユーザが折り目除去機能を選択しない場合（図４のステップ３１１の「Ｎｏ」分岐）、ユーザは、図示されていない他の機能を選択する（ステップ３１５の「Ｙｅｓ」分岐）（この場合、イメージ・アプリケーションが適当な選択された機能を実行する（ステップ３１６））か、アプリケーションを終了する（ステップ３１５の「Ｎｏ」分岐）。
【００２３】
折り目除去機能２０４は、ステップ３１１から「Ｙｅｓ」分岐をたどることによって選択される。この機能は、紙を折り、その結果、紙に永久的な折り目をつけることによって導入される種類の欠陥の除去に最も有用になることが期待される。通常、この欠陥は、インクまたは着色料が折り目の線に沿って薄くなるという影響を有する。しかし、本明細書では「折り目除去」機能と呼称するが、この機能は、必ずしも折り目の訂正に制限されない。この機能は、長く狭い他の欠陥に使用することができる。たとえば、切れ目、線、スキャン・アーチファクト、または伝送アーチファクトによって長く狭い欠陥が導入される場合があり、これらの欠陥は、本明細書に記載の機能を使用する訂正に従うはずである。
【００２４】
ユーザが、折り目除去機能を呼び出す時に、イメージ・アプリケーションが、ディスプレイ１１１に訂正される現行イメージを表示することが好ましい。まだイメージが現行イメージとして選択されていない場合には、対話式メニューを提示して、記憶装置からイメージを取り出し、現行イメージとしてメモリ１０２にロードする。イメージが表示されている状態で、ユーザは、下で説明する欠陥訂正のためにイメージの長く狭い矩形区域を対話式に識別する（ステップ３１２）。
【００２５】
好ましい実施形態では、矩形区域の識別で、ユーザが矩形の少なくとも２つの点を識別することが必要である。この２つの点は、矩形の対向する角であることが好ましい。好ましい実施形態では、ユーザに、第１の点を選択するように求めるプロンプトが出され、これに応答して、ユーザが、イメージ上の所望の位置にポインティング・デバイスを移動し、ポインティング・デバイスのボタンを活動化する。この過程を、第２の点について繰り返す。両方の点を選択した時に、矩形区域の境界線が、イメージに重ねてディスプレイ１１１に表示される。
【００２６】
厳密に数学的な意味では、２つの点は、矩形を定義するのに不十分である。好ましい実施形態では、矩形の辺に、当初は水平および垂直の向きが与えられる、すなわち、各辺は、厳密に水平（０°）または垂直（９０°）であり、したがって、２つの点が、初期矩形の定義に十分である。しかし、イメージの修復のためには、任意の向きの矩形を許容することすなわち、対向する辺が平行である限り、矩形の辺を任意の角度に向けることができることが望ましい。したがって、ユーザが、上で説明したように矩形の２つの対向する角を選択し、コンピュータ・システムが、選択に応答して矩形の輪郭を表示した後に、ユーザが、さまざまな従来のグラフィックス機構のいずれかを使用して矩形のサイズ、配置、および向きを調整でき、たとえば、ユーザは、ポインティング・デバイスを用いて内部を選択し、ドラッグすることによって矩形を平行移動することができ、ユーザは、角を選択し、ドラッグすることによって矩形を回転することができ、ユーザは、隣接する辺を選択し、ドラッグすることによって、辺の対の長さを変更することができ、ユーザは、さまざまな代替対話式グラフィックス入力機構のどれでも使用することができる。
【００２７】
矩形区域は、理想的には、すべての欠陥画素を含むのに十分に長く、広いことが必要であるが、大きすぎてはならない。紙に複数の折り目または他の欠陥があり、影響される区域が、１つまたは複数の別個の屈曲になる場合には、欠陥区域を複数の相対的にまっすぐな部分に副分割し、各部分について異なる矩形区域を別々に識別し、本明細書に記載の塗潰しステップを実行して、各区域内の欠陥を別々に訂正することが許容可能である。
【００２８】
折り目除去機能は、ユーザに、「塗潰し（Fill）」ボタンを提示する。ユーザは、欠陥訂正に関する矩形区域を識別し、その輪郭について満足した後に、「塗潰し」ボタンを選択して、矩形内の画素の自動塗潰しに進む。この処理は、図４のステップ３１３として表され、図５に詳細に示されている。
【００２９】
図５は、選択された矩形区域内の画素を塗り潰す際に折り目除去機能によって実行されるステップを詳細に示す図である。「塗潰し」は、矩形区域内の画素が選択され、新しい色値が各画素に割り当てられ、その画素の前の値が上書きされることを意味する。画素は、ユーザによって欠陥として識別された区域内にあるので、画素の前の値は、信頼できないものとみなされ、新しい「塗り潰される」値の判定には使用されない。新しい値は、本質的に、矩形区域の対向する辺の対応する画素の対の値を補間することによって導出される。
【００３０】
図６は、区域内のイメージ欠陥を訂正するために好ましい実施形態のアルゴリズムに従って塗り潰される、ユーザが選択した画素化された矩形区域の一部の単純な例である。図６の円は、個々の画素を表し、画素が行および列のマトリックスに配置されていることが観察されるが、図をわかりやすくするために一部の画素だけが示されていることを理解されたい。通常、選択される区域は、一方の次元が他方の次元よりはるかに長く、長い次元を、矩形区域の長さと呼称し、短い次元を幅と呼称する。線Ａ５０１および線Ｂ５０２は、矩形の対向する長い辺を表し、これらの辺の一部だけが図示されている。
【００３１】
図５および図６を参照して、単純な例に関して塗潰しアルゴリズムの動作を説明する。ユーザが、ステップ３１２によって表され、上で説明したように、塗り潰される矩形区域の角を識別した後に、折り目除去機能２０４が、選択された矩形区域の長辺の画素化された表現の生成を自動的に引き起こす（ステップ４０１）。この画素化された表現は、たとえば、オペレーティング・システム機能または他の外部グラフィックス機能を呼び出すことによるか、完全に折り目除去機能の内部のコードによって生成することができる。辺の線を、ＡおよびＢとして指定するが、これらは図６では線Ａ５０１および線Ｂ５０２として図示されている。ディジタル・イメージは、離散的な画素からなるので、線ＡおよびＢは、数学的に純粋な線としてではなく、図６に示されたそれぞれの画素のアレイＡiおよびＢiとして表現される。
【００３２】
折り目除去機能は、対応する画素の次の対、ＡiおよびＢiを選択する（ステップ４０２）。すなわち、ステップ４０２ないし４０７を含むループの最初の反復で、画素Ａ1５０３およびＢ1５０４を選択し、このループの反復のたびに、インデックス変数ｉを１つ増分する。この画素の対が、塗り潰される線分の端点になる。
【００３３】
折り目除去機能は、線分バーＡiバーＢi（２つの端点画素ＡiおよびＢiを含まない）の画素化された表現を生成するが、これは、外部の呼び出される機能または内部コードもしくはその組合せを使用して行うことができる（ステップ４０３）。図６の例を参照すると、ステップ４０２ないし４０７を含むループの最初の反復では、ステップ４０３で、画素５１１、５１２、および５１３が、線分バーＡ1バーＢ1の構成要素として識別される。このループの６回目の反復では、画素５１４、５１５、および５１６が、線分バーＡ6バーＢ6の構成要素として識別され、このループの７回目の反復では、画素５１７、５１８、および５１９が、線分バーＡ7バーＢ7の構成要素として識別される。
【００３４】
ステップ４０４ないし４０６で、線分バーＡiバーＢi内の各画素に、新しい色値を割り当てる。具体的に言うと、画素Ａiに最も近い画素から始めて、画素Ｐijを選択する（ステップ４０４）。たとえば、線分バーＡ6バーＢ6の場合には、画素５１４が最初に選択される。その後、新しい色値を、下で説明するように画素Ｐijについて計算し、この新しい色値で古い色値を置換する（ステップ４０５）。線分バーＡiバーＢi内にまだ画素がある場合には（ステップ４０６）、線分バーＡiバーＢiのすべての画素が処理されるまでこの処理を繰り返す。すべての画素が処理された時点で、ステップ４０６の「Ｎ」分岐に進む。処理しなければならない追加の線分バーＡiバーＢiがある場合には（ステップ４０７）、折り目除去機能は、ステップ４０２に戻ってこのループをもう一度反復する。すべての線分バーＡiバーＢiが処理された時に（ステップ４０７の「Ｎｏ」分岐）、折り目除去機能がリターンし、図４のステップ３１３によって表される処理が完了する。
【００３５】
ステップ４０５では、色の値が線形補間によって計算されることが好ましい。イメージが白黒の場合には、各画素に、通常は暗さの度合を表す単一の整数値が含まれる。たとえば、０から２５５までの整数値が使用される場合があり、ここで、０は白、２５５は完全に暗いか黒を表し、その間の値は灰色の陰影を表す。この場合、画素Ｐijの新しい陰影値は、２つの端点ＡiおよびＢiの間の補間された値すなわち、
Ｓ（Ｐij）＝Ｓ（Ａi）＋（Ｓ（Ｂi）−Ｓ（Ａi））×Ｄｉｓｔ（Ａi，Ｐij）／Ｄｉｓｔ（Ａi，Ｂi）
として定義されることが好ましい。ここで、Ｓ（Ｘ）は、画素Ｘの陰影であり、Ｄｉｓｔ（Ｘ，Ｙ）は、画素Ｘと画素Ｙの間の距離の尺度である。距離の尺度は、正確である必要はなく、線分バーＡiバーＢiの点の数を数えることによって得られる整数近似値とすることができる。たとえば、線分バーＡ6バーＢ6の場合、計算を簡略化するために、画素Ａ6と画素５１４の間の距離を１、画素Ａ6と画素５１５の間の距離を２、画素Ａ6と画素５１６の間の距離を３、画素Ａ6と画素Ｂ6の間の距離を４として近似することが許容可能である。他の近似も使用することができる。その一方で、正確な距離を計算することも許容可能である。
【００３６】
イメージがカラーの場合には、画素の色および陰影の特性を、それぞれ赤、緑、および青の色強度を表す３つの整数Ｒ、Ｇ、およびＢとして表すことが一般的である。これらは、白黒イメージの場合に単一の陰影整数が補間されたのと正確に同一の形で端点の間で別々に補間される、すなわち、
Ｒ（Ｐij）＝Ｒ（Ａi）＋（Ｒ（Ｂi）−Ｒ（Ａi））×Ｄｉｓｔ（Ａi，Ｐij）／Ｄｉｓｔ（Ａi，Ｂi）
Ｇ（Ｐij）＝Ｇ（Ａi）＋（Ｇ（Ｂi）−Ｇ（Ａi））×Ｄｉｓｔ（Ａi，Ｐij）／Ｄｉｓｔ（Ａi，Ｂi）
Ｂ（Ｐij）＝Ｂ（Ａi）＋（Ｂ（Ｂi）−Ｂ（Ａi））×Ｄｉｓｔ（Ａi，Ｐij）／Ｄｉｓｔ（Ａi，Ｂi）
であることが好ましい。他の色値エンコード方式が使用される場合には、同様の適当な補間式を導出することができる。
【００３７】
上で説明した、図５に示された塗潰し手順からリターンした時に、折り目除去機能は、ステップ３１４によって表されるように、オプションとして追加の塗潰しを実行する。上で説明した塗潰し手順が、すべての画素を塗り潰すことを数学的に保証されないことが観察される。線分が、選択された矩形の周辺の端点の間で計算され、矩形が、画素のグリッドに関してある角度である場合があるので、偶然に分離された画素が塗り潰されないままになる可能性がある。図６の例では、画素５２０が、線分バーＡ6バーＢ6にも線分バーＡ7バーＢ7にも含まれず、この２つの線分の間のギャップで塗り潰されないままになる。したがって、好ましい実施形態の代替変形形態では、折り目除去機能が、ステップ３１２で矩形区域が最初に識別される時に矩形区域のビット・マップを作成し、このビット・マップをすべて０に初期化する。ステップ４０４で画素を選択する時に、ビット・マップ値を１に変更する。その後、ステップ３１４で、折り目除去機能が、まだ０の値を有する画素についてこのビット・マップを単純にスキャンする。そのような画素について、新しい色値を計算する。この新しい値を計算するさまざまな方法が存在するが、好ましい実施形態では、隣接する画素の色値の平均を使用する。イメージがカラー・イメージの場合には、赤、緑、および青の強度値のそれぞれについて、隣接画素からの別々の平均をとる。図６の例では、画素５１４、５１５、５１７、および５１８の平均値を計算し、画素５２０の新しい値にする。
【００３８】
劣化したと仮定される画素の色値を計算するさまざまな具体的な式を上で開示したが、当業者は、詳細な式の多数の変形形態が可能であることを諒解するであろう。たとえば、線分の２つの端点以外の複数の点の平均をとることができる。さらに、線分が矩形区域の長辺に垂直でない場合であっても、類似する色／陰影特性を有する周辺上の点を識別し、同一の特性を有する線分を用いてそれらを接続することを試みることが可能である。最後に、矩形区域は、必ずしも厳密に長方形である必要はないが、比較的長く、狭いものでなければならない。矩形は識別が簡単なので、矩形を使用することが好ましい。
【００３９】
好ましい実施形態では、欠陥訂正機能（折り目除去機能と称する）が、イメージのスキャン、イメージの伝送、イメージの編集などの機能も有する大きいイメージ・アプリケーションの一部である。しかし、イメージ・アプリケーションのこれらの追加機能は、単にそのようなアプリケーションが有する通常の機能であり、本発明の実践に必要ではない。さらに、本発明は、イメージ・アプリケーションとは別の独立アプリケーションとして実施することができ、ブラウザ、オペレーティング・システム、通信マネージャなどの、異なるタイプのソフトウェア製品またはモジュールに組み込まれた機能とすることができる。
【００４０】
好ましい実施形態では、ユーザが、好ましくは角の点を指定し、その後、必要に応じて矩形区域のサイズ、位置、または向きを調整することによって、修復されるイメージの矩形区域を手作業で識別する。しかし、修復される区域を、他の形で識別することができる。たとえば、ユーザが、ポインティング・デバイスを用いて線（直線であってもなくてもよい）を描き、区域が、仮定された幅またはユーザ指定の幅を有するものとすることができる。さらに、ユーザの介入なしで、ディジタル・イメージ内の疑わしい区域を自動的に検出し、それらを修復するアルゴリズムを考案することが可能である可能性がある。
【００４１】
もう１つの代替案では、下記のように、ディジタル・イメージ内の疑わしい区域を自動的に検出する、計算機によって実行されるアルゴリズムを、ユーザ入力と共に使用して、修復される細長い区域を識別することができる。このシステムは、疑わしい区域についてイメージをスキャンする。疑わしい区域は、たとえば（ａ）疑わしい区域の画素と隣接する画素の間に色（特に強度）の大きい差がある、（ｂ）区域が比較的長く、狭い、（ｃ）疑わしい区域内の画素が、ほとんど同一であるなど、複数の判断基準を満たす区域である。そのような疑わしい区域を識別した後に、このシステムは、疑わしい区域の上に矩形などの輪郭を表示し、ユーザに、その疑わしい区域を本明細書に記載の技法を使用して修復しなければならないかどうかを確認するように求める。ユーザは、対話式ディスプレイ上の、ボタンなどの適当な選択肢を選択して、疑わしい区域の修復を確認するか取り消す。場合によっては、アルゴリズム的システムが疑わしい区域の縁を識別することが困難である場合があるので、疑わしい区域を修復する前に、疑わしい区域を変更する選択肢をユーザに与えることもできる。純粋に自動的な修復処理では、時折、実際にはイメージの一部であることが企図された特徴がイメージから除去される場合があるので、本明細書に記載の代替案は、純粋に自動的なイメージ修復より好ましいと思われる。
【図面の簡単な説明】
【図１】本発明の好ましい実施形態による、ディジタル・イメージを操作する対話式コンピュータ・システムの高水準ブロック図である。
【図２】好ましい実施形態による、コンピュータ・システムの主要なソフトウェア・コンポーネントを示す概念図である。
【図３】好ましい実施形態による、イメージ・アプリケーション・ソフトウェアの動作の高水準流れ図である。
【図４】好ましい実施形態による、イメージ・アプリケーション・ソフトウェアの動作の高水準流れ図である。
【図５】好ましい実施形態による、選択された矩形区域内の画素を塗り潰す際に、折り目除去機能によって実行されるステップを詳細に示す図である。
【図６】好ましい実施形態のアルゴリズムによる、イメージ欠陥を訂正するために塗り潰される、ユーザが選択した画素化された矩形区域の一部の簡単な例を示す図である。
【符号の説明】
１０２  メモリ
２０１  ＯＳ
２０２  ブラウザ
２０３  イメージ・アプリケーション
２０４  折り目除去機能
２１１  アプリケーションＡ
２１２  アプリケーションＢ
２２１  イメージ１
２２２  イメージ２
２２３  イメージ３
【図１】
0004088424.tif 000002
【図２】
0004088424.tif 000003
【図３】
0004088424.tif 000004
【図４】
0004088424.tif 000005
【図５】
0004088424.tif 000006
【図６】
0004088424.tif 000007