(57)【特許請求の範囲】
【請求項１】
コンピュータ実装される方法であって、
画像を受信するステップであって、前記画像が、１つまたは複数のオブジェクトを含み、さらに、１つまたは複数のテキスト部分に関連している、前記受信するステップと、
前記画像の前記１つまたは複数のオブジェクトを識別するステップと、
識別された前記１つまたは複数のオブジェクトの各々について、オブジェクト・タグを抽出するステップと、
前記１つまたは複数のテキスト部分の各々について、テキスト・タグを抽出するステップと、
各前記テキスト・タグについて、
決定をもたらすために前記１つまたは複数のオブジェクトの各々から抽出された前記オブジェクト・タグに基づいて、前記テキスト・タグが前記１つまたは複数のオブジェクトのいずれかを記述するかどうかを決定するステップと、
前記決定に応じて、
前記画像に対し、前記画像において前記１つまたは複数のオブジェクトのうちの前記テキスト・タグが記述しないと決定された少なくとも１つを遮蔽する画像処理を行うステップと、
前記１つまたは複数のテキスト部分のものにテキスト処理を行うステップと
を含む、方法。
【請求項２】
前記画像に対し画像処理を行うステップが、前記オブジェクトまたは前記オブジェクト・タグのうちの少なくとも１つを選択することに応じる、請求項１に記載のコンピュータ実装される方法。
【請求項３】
前記画像に関連する前記１つまたは複数のテキスト部分にテキスト処理を行うステップが、前記オブジェクトまたは前記オブジェクト・タグのうちの少なくとも１つを選択することに応じる、請求項１または２に記載のコンピュータ実装される方法。
【請求項４】
前記画像に対し画像処理を行うステップが、前記画像の前記１つまたは複数のオブジェクトの文脈上の情報に基づく、請求項１〜３のいずれか１項に記載のコンピュータ実装される方法。
【請求項５】
前記画像に対し画像処理を行うステップが、各前記オブジェクトまたは各前記オブジェクト・タグの選択データに基づく、請求項１〜４のいずれか１項に記載のコンピュータ実装される方法。
【請求項６】
コンピュータ実装される方法であって、
画像を受信するステップであって、前記画像が、１つまたは複数のオブジェクトを含み、さらに、１つまたは複数のテキスト部分に関連している、前記受信するステップと、
前記画像の前記１つまたは複数のオブジェクトを識別するステップと、
識別された前記１つまたは複数のオブジェクトの各々について、オブジェクト・タグを抽出するステップと、
前記１つまたは複数のテキスト部分の各々について、テキスト・タグを抽出するステップと、
各前記テキスト・タグについて、
決定をもたらすために前記１つまたは複数のオブジェクトの各々から抽出された前記オブジェクト・タグに基づいて、前記テキスト・タグが前記１つまたは複数のオブジェクトのいずれかを記述するかどうかを決定するステップと、
前記決定に応じて、
前記１つまたは複数のオブジェクトのものに画像処理を行うステップと、
前記１つまたは複数のテキスト部分のものにテキスト処理を行うステップと
を含み、各前記オブジェクト・タグがタグ・リストの中に表示され、前記テキスト・タグが前記１つまたは複数のオブジェクトのいずれかを記述することを首尾よく決定することに応じて、前記オブジェクトから抽出された前記オブジェクト・タグが前記タグ・リストの中で視覚的強調を行って表示される、方法。
【請求項７】
コンピュータ実装される方法であって、
画像を受信するステップであって、前記画像が、１つまたは複数のオブジェクトを含み、さらに、１つまたは複数のテキスト部分に関連している、前記受信するステップと、
前記画像の前記１つまたは複数のオブジェクトを識別するステップと、
識別された前記１つまたは複数のオブジェクトの各々について、オブジェクト・タグを抽出するステップと、
前記１つまたは複数のテキスト部分の各々について、テキスト・タグを抽出するステップと、
各前記テキスト・タグについて、
決定をもたらすために前記１つまたは複数のオブジェクトの各々から抽出された前記オブジェクト・タグに基づいて、前記テキスト・タグが前記１つまたは複数のオブジェクトのいずれかを記述するかどうかを決定するステップと、
前記決定に応じて、
前記１つまたは複数のオブジェクトのものに画像処理を行うステップと、
前記１つまたは複数のテキスト部分のものにテキスト処理を行うステップと
を含み、前記テキスト処理が、前記１つもしくは複数のオブジェクトまたは前記１つもしくは複数のオブジェクト・タグからの少なくとも１つのユーザ選択に基づいてテキストを生成するステップを含み、前記ユーザ選択が、選択順序に基づく各前記オブジェクトに対する品詞の割当てを示す、方法。
【請求項８】
請求項１〜７の何れか１項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項９】
請求項８に記載の前記コンピュータ・プログラムを、コンピュータ可読記憶媒体に記録した、コンピュータ可読記憶媒体。
【請求項１０】
請求項１〜７の何れか１項に記載の方法の各ステップを、コンピュータ・ハードウェアによる手段として構成した、コンピュータ・システム。
【請求項１１】
コンピュータ実装される方法であって、
画像を受信するステップであって、前記画像が１つまたは複数のオブジェクトを含む、前記受信するステップと、
前記画像の前記１つまたは複数のオブジェクトを識別するステップと、
前記画像に関連してテキスト処理を行うステップと
を含み、前記テキスト処理が、前記１つまたは複数のオブジェクトからの少なくとも１つのユーザ選択に基づいてテキストを生成するステップを含み、前記ユーザ選択が、選択順序に基づく各前記オブジェクトに対する品詞の割当てを少なくとも部分的に示す、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に画像編集に関し、特に、ソーシャル・ネットワーキング・アプリケーションで表示するため、関連するテキストを有する画像を編集することに関する。
【背景技術】
【０００２】
インターネット上のブログ、マイクロブログ、およびソーシャル・ネットワーキング・サイトの普及に伴い、キャプションした画像などの、関連するテキストを有する画像のポスティングあるいは共有は、一般に普及した通信手段になった。キャプションした画像に加えて、画像ファイルは、画像を分類することおよび処理することの両方のために使用できる、タグまたはキーワードなどの記述的メタデータをさらに含む場合がある。しかし、画像のどの部分が望ましく、何のテキストを画像に添付するべきなのかを、ユーザだけが分かっている場合がある。さらに、システムが、ユーザの意図を知らずに画像を分類または処理することはできない。こうして、ユーザが関連するテキストを有する画像を生成、処理、および編集する機能は、次第に負担になってきた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、画像および関連するテキストを処理するためのコンピュータ実装される方法、コンピュータ・プログラム製品、ならびにコンピュータ・システムを提供することである。
【課題を解決するための手段】
【０００４】
コンピュータ実装される方法は、画像を受信するステップを含む。画像は、１つまたは複数のオブジェクトおよび１つまたは複数のテキスト部分を含む。コンピュータ実装される方法は、画像の１つまたは複数のオブジェクトを識別するステップをさらに含む。コンピュータ実装される方法は、識別された１つまたは複数のオブジェクトの各々について、オブジェクト・タグを抽出するステップをさらに含む。コンピュータ実装される方法は、１つまたは複数のテキスト部分の各々について、テキスト・タグを抽出するステップをさらに含む。コンピュータ実装される方法は、各テキスト・タグについて、決定をもたらすために１つまたは複数のオブジェクトの各々から抽出されたオブジェクト・タグに基づいて、テキスト・タグが１つまたは複数のオブジェクトのいずれかを記述するかどうかを決定するステップをさらに含む。コンピュータ実装される方法は、決定に応じて、１つまたは複数のオブジェクトに画像処理を行うステップをさらに含む。コンピュータ実装される方法は、決定に応じて、１つまたは複数のテキスト部分にテキスト処理を行うステップをさらに含む。対応するコンピュータ・プログラム製品およびコンピュータ・システムも開示される。
【図面の簡単な説明】
【０００５】
【図１】本発明の少なくとも１つの実施形態に従う動作に好適なコンピュータ・システム環境のブロック図である。
【図２】本発明の少なくとも１つの実施形態に従う動作に好適な動作環境のネットワーク図である。
【図３】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１のための動作ステップを描くフローチャート図である。
【図４】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図５】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図６】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図７】本発明の少なくとも１つの実施形態に従う画像処理１１０のための動作ステップを描くフローチャート図である。
【図８】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図９】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図１０】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１のための動作ステップを描くフローチャート図である。
【図１１】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図１２】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。
【図１３】本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１を実行するのに好適なコンピュータ１３００のブロック図である。
【発明を実施するための形態】
【０００６】
より詳細に本発明の様々な実施形態をここで参照すると、図１は、本発明の少なくとも１つの実施形態に従う動作に好適なコンピュータ・システム環境のブロック図である。コンピュータ・システム１００内で、画像修正プログラム１０１が、画像１０２を受信することができる。画像１０２は、１つまたは複数のオブジェクト１０３および１つまたは複数のテキスト部分１０４を含むことができる。画像修正プログラム１０１は、画像１０２の１つまたは複数のオブジェクト１０３をさらに識別することができる。画像修正プログラム１０１は、さらに、識別された１つまたは複数のオブジェクト１０３の各々について、オブジェクト・タグ１０６を抽出することができる。各オブジェクト・タグ１０６は、タグ・リスト１０９の中に一緒に表示することができる。画像修正プログラム１０１は、さらに、１つまたは複数のテキスト部分１０４の各々について、テキスト・タグ１０７を抽出することができる。
【０００７】
画像修正プログラム１０１は、さらに、各テキスト・タグ１０７について、決定をもたらすために１つまたは複数のオブジェクト１０３の各々から抽出されたオブジェクト・タグ１０６に基づいて、テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述するかどうかを決定することができる。テキスト・タグ１０７が画像１０２のオブジェクト１０３を記載するかどうかを決定するために、各テキスト・タグ１０７を各オブジェクト・タグ１０６と、逐語的に、意味的に、または概念的に、あるいはそれらの組合せで比較することができる。テキスト・タグ１０７がオブジェクト・タグ１０６と一致する場合、テキスト・タグ１０７が画像１０２のオブジェクト１０３を記述すると決定することができる。テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述すると首尾よく決定するのに応じて、オブジェクト１０３から抽出されたオブジェクト・タグ１０６を、タグ・リスト１０９の中に視覚的強調を行って表示することができる。
【０００８】
画像修正プログラム１０１は、決定に応じて、画像１０２の１つまたは複数のオブジェクト１０３のものに画像処理１１０をさらに行うことができる。たとえば、画像処理１１０は、ぼかし処理、ピクシレーション、モザイク処理、トリミング、またはクロッピング技法を使用して、画像１０２の１つまたは複数のオブジェクト１０３を、除去または隠すことを含むことができる。加えて、画像処理１１０は、たとえば、縁取りによって、画像１０２の１つまたは複数のオブジェクト１０３を強調することを含むことができる。画像修正プログラム１０１は、決定に応じて、画像１０２の１つまたは複数のテキスト部分１０４のものに対してテキスト処理１１１をさらに行うことができる。たとえば、テキスト処理１１１は、画像１０２に関連する１つまたは複数のテキスト部分１０４の書式、すなわちフォント、色、下線、太字または斜体を修正することを含むことができる。
【０００９】
図２は、本発明の少なくとも１つの実施形態に従う動作に好適な動作環境のネットワーク図である。図２において、画像修正プログラム１０１は、ユーザ・デバイス２０１を介してユーザ２００と通信することができる。より詳細には、画像修正プログラム１０１は、ユーザ２００により選択される画像１０２を受信することができる。画像１０２は、１つまたは複数のオブジェクト１０３および１つまたは複数のテキスト部分１０４を含むことができる。画像１０２は、インターネットなどのネットワーク２０２、デスクトップ・コンピュータもしくはモバイル・デバイスなどのユーザ・デバイス２０１上のローカルに記憶されたデータ、またはサーバ２０３などの離れた場所からを含む、いくつかの環境を介してユーザ２００がアクセスすることができる。
【００１０】
加えて、画像修正プログラム１０１は、オブジェクト・データベース２０４と通信することができる。オブジェクト・データベース２０４は、画像１０２中に見つかるオブジェクト１０３についての文脈上の情報を記憶することができる。たとえば、オブジェクト１０３についての文脈上の情報には、すべての人々、政治的なもしくは地理的な領域の人の集団、人口統計上のグループ、または写真家などといった関心事のグループといった人のグループによってオブジェクトに添付される任意の意味または文脈が挙げられる。文脈上の情報は、ユーザ２００が画像１０２中のオブジェクト１０３を遮蔽しそうかどうかを示す値の形で、オブジェクト・データベース２０４中に記憶することができる。ここで、画像修正プログラム１０１は、オブジェクト・データベース２０４と通信して、オブジェクト・データベース２０４中に記憶された同様の、または同一のオブジェクトについての文脈上の情報に基づいて、１つまたは複数のオブジェクト１０３を画像１０２中で遮蔽するべきかどうかを決定することができる。
【００１１】
画像修正プログラム１０１は、履歴データベース２０５と通信することがさらにできる。履歴データベース２０５は、各オブジェクト１０３の選択データまたはタグ・リスト１０９からのオブジェクト・タグ１０６を記憶することができる。ここで、画像修正プログラム１０１は、履歴データベース２０５と通信して、履歴データベース２０５中に記憶された同様のまたは同一のオブジェクトの、ユーザ２００の選択または非選択に基づいて、１つまたは複数のオブジェクト１０３を画像１０２中で遮蔽するべきかどうかを決定することができる。
【００１２】
一般的に、本発明の実施形態は、ネットワーク２０２、ユーザ・デバイス２０１、またはサーバ２０３などの離れた場所を含む１つまたは複数の環境に画像１０２を転送することができる。ここで、画像処理１１０またはテキスト処理１１１が完了すると、ユーザ２００が、画像１０２を保存する、または他の人々と共有することを望む場合がある。より詳細には、画像修正プログラム１０１は、画像１０２を保存することまたは共有することに関する１つまたは複数のサービスを実行できるサーバ２０３などの離れた場所に、画像１０２を転送することができる。たとえば、サーバ２０３は、ソーシャル・ネットワーキング・サービス（「ＳＮＳ」）、電子メール送達サービス、ウェブサイト作成サービス、ファイル転送サービス、データ記憶サービス、印刷サービス、または写真アルバム作成サービスを実行することができる。
【００１３】
図３は、本発明の少なくとも１つの実施形態に従う画像修正プログラムのための動作ステップを描くフローチャート図である。描かれる実施形態によれば、ステップ３００において、画像修正プログラム１０１は、画像１０２を受信することができる。たとえば、画像１０２は、写真またはスキャンした画像などの、任意のデジタル的にキャプチャした画像であってよい。画像１０２は、１つまたは複数のオブジェクト１０３および１つまたは複数のテキスト部分１０４を含むことができる。より詳細には、１つまたは複数のオブジェクト１０３は、画像１０２内の任意の物理的なオブジェクトならびに１つまたは複数のオブジェクト・タグ１０６などのメタデータを含むことができる。１つまたは複数のテキスト部分１０４は、キャプションなどの画像１０２に関連する任意の既存のテキストならびに１つまたは複数のテキスト・タグ１０７などのメタデータを含むことができる。
【００１４】
ステップ３０１において、画像修正プログラム１０１は、画像１０２の１つまたは複数のオブジェクト１０３を識別することができる。オブジェクト１０３は、建造物、人、樹木、川もしくは車などの物理的なオブジェクトに対応する画像１０２の任意の部分、顔、手、もしくは庭園の花、もしくは車のタイヤなどの物理的なオブジェクトの部分に対応する画像１０２の任意の部分、桜の花、交通渋滞などの物理的なオブジェクトの組に対応する画像１０２の部分、またはより一般的に、任意の視覚的に観察できる現象に対応する画像１０２の部分であってよい。１つまたは複数のオブジェクト１０３は、エッジ検出などの任意の一般的に知られている識別法によって、画像１０２から識別することができる。
【００１５】
ステップ３０２において、画像修正プログラム１０１は、識別された１つまたは複数のオブジェクト１０３の各々について、オブジェクト・タグ１０６を抽出することができる。各オブジェクト・タグ１０６は、タグ・リスト１０９の中に一緒に表示することができる。オブジェクト・タグ１０６は、画像認識などの任意の一般的に知られているタグ抽出法によって、１つまたは複数のオブジェクト１０３から抽出することができる。ここで、画像認識を行い、たとえば、実際の世界において、１つまたは複数のオブジェクト１０３がどんな物理的なオブジェクトまたは物理的なオブジェクトの範疇に対応するのかを決定することができる。さらに、画像認識は、外見ベースの方法または特徴ベースの方法など、任意の一般的に知られている認識法に基づいてよい。
【００１６】
より詳細には、オブジェクト・タグ１０６は、オブジェクトもしくはオブジェクトのタイプを記述または示す言葉もしくは語句を表すメタデータの形であってよい。たとえば、「建造物」を表すオブジェクト・タグ１０６が画像１０２のオブジェクト１０３から抽出される場合、オブジェクト・タグ「建造物」が画像１０２から抽出されたと単純に想定することができる。オブジェクト・タグ１０６は、オブジェクトまたはオブジェクトのタイプに与えられる名前であってもよい。加えて、オブジェクト・タグ１０６は、オブジェクト・タグ１０６が対応するオブジェクト１０３についての情報を含むことができる。たとえば、「建造物」というオブジェクト・タグが画像１０２のオブジェクト１０３から抽出される場合、オブジェクト・タグ１０６は、（ｘ、ｙ）座標など、画像１０２の中の１つまたは複数の建造物の位置についての情報を含有することができる。同様に、「建造物」というオブジェクト・タグが、建造物の形状またはサイズについての情報を含むことができる。さらに、オブジェクト・タグ１０６を、抽象化の上位レベルなど、異なる抽象化の程度で割り当てることができる。たとえば、「樹木」というオブジェクト・タグを、「桜の花」というオブジェクトに対応して抽出することができ、「水」というオブジェクト・タグを、「川」というオブジェクトに対応して抽出することができる。
【００１７】
ステップ３０３において、画像修正プログラム１０１は、１つまたは複数のテキスト部分１０４の各々について、テキスト・タグ１０７を抽出することができる。テキスト・タグ１０７は、自然言語処理（「ＮＬＰ」）などの、任意の一般的に知られているテキスト抽出法によって抽出することができる。たとえば、画像修正プログラム１０１は、任意の知られている形態素解析法を使用して、文を複数の言葉に分離することができる。画像修正プログラム１０１は、次いで、任意の一般的に知られている構文解析法を使用して、分離された言葉または言葉のグループの各々に品詞を割り当てることができる。画像修正プログラム１０１は、名詞である、１つまたは複数の分離された言葉または言葉のグループをさらに選択し、たとえば、単純に言葉または言葉のグループをテキスト・タグ１０７として使用することによって、各言葉または言葉のグループについてテキスト・タグ１０７を生成することができる。あるいは、たとえば、言葉または言葉のグループを識別する総称的な名前を割り当てることによって、言葉または言葉のグループについてテキスト・タグ１０７を生成することができる。
【００１８】
より詳細には、テキスト・タグ１０７は、言葉もしくは語句を表す、またはさもなければ１つまたは複数のテキスト部分１０４に対応する言葉もしくは語句を表すメタデータの形であってよい。さらに、テキスト・タグ１０７は、１つもしくは複数のテキスト部分１０４の同義語である言葉もしくは語句を表してもよく、または１つもしくは複数のテキスト部分１０４よりも大きい普遍性もしくは小さい普遍性を有する概念であってよい。
【００１９】
ステップ３０４において、画像修正プログラム１０１は、各テキスト・タグ１０７について、決定をもたらすために１つまたは複数のオブジェクト１０３の各々から抽出されたオブジェクト・タグ１０６に基づいて、テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述するかどうかを決定することができる。テキスト・タグ１０７が画像１０２のオブジェクト１０３を記述するかどうかを決定するために、各テキスト・タグ１０７を各オブジェクト・タグ１０６と、逐語的に、意味的に、または概念的に、あるいはそれらの組合せで比較することができる。画像修正プログラム１０１は、任意の一般的に知られている比較法を使用することができる。たとえば、ＷｏｒｄＮｅｔ（Ｒ）などの概念辞書を使用して、テキスト・タグ１０７の根底にある概念が、オブジェクト・タグ１０６の根底にある概念と一致するかどうかを決定することができる。テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述すると首尾よく決定するのに応じて、オブジェクト１０３から抽出されたオブジェクト・タグ１０６を、タグ・リスト１０９の中に視覚的強調を行って表示することができる。オブジェクト・タグ１０６は、オブジェクト・タグ１０６を太字にすること、斜体にすること、または下線を付けることなどの任意の一般的に知られている手段によって視覚的に強調して表示することができる。
【００２０】
ステップ３０５において、ステップ３０４の決定に応じて、画像修正プログラム１０１は、画像１０２の１つまたは複数のオブジェクト１０３のものに画像処理１１０を行うことができる。画像処理１１０は、画像１０２の１つまたは複数のオブジェクト１０３を修正する、任意の一般的に知られている手段であってよい。たとえば、テキスト・タグ１０７がオブジェクト・タグ１０６に一致しない場合、画像修正プログラム１０１は、オブジェクト１０３を除去または隠すことによって画像１０２中のオブジェクト１０３を遮蔽することができる。別の例では、テキスト・タグ１０７がオブジェクト・タグ１０６に一致する場合、画像修正プログラム１０１は、画像１０２中のオブジェクト１０３を強調することができる。画像処理１１０の他の例としては、画像１０２のオブジェクト１０３の周りの境界もしくは形状を描くステップ、または画像１０２のオブジェクト１０３を明るくするもしくは強調表示するステップが挙げられる。
【００２１】
ステップ３０６において、ステップ３０４の決定に応じて、画像修正プログラム１０１は、画像１０２に関連する１つまたは複数のテキスト部分１０４に対してテキスト処理１１１を行うことができる。テキスト処理１１１は、画像１０２に関連する１つまたは複数のテキスト部分１０４を修正する、任意の一般的に知られている手段であってよい。たとえば、テキスト・タグ１０７がオブジェクト・タグ１０６に一致する場合、画像修正プログラム１０１は、テキスト・タグ１０７に対応する１つまたは複数のテキスト部分１０４を強調表示または太字にすることによって、１つまたは複数のテキスト部分１０４の書式を変えることができる。前に述べた画像処理１１０およびテキスト処理１１１によって、画像１０２に関連する１つもしくは複数のオブジェクト１０３または１つもしくは複数のテキスト部分１０４を閲覧しているユーザ２００が、画像１０２に関連する１つまたは複数のオブジェクト１０３と１つまたは複数のテキスト部分１０４の間の関係を容易に理解することが可能になることを諒解されたい。
【００２２】
本発明の別の実施形態では、画像修正プログラム１０１は、少なくとも１つもしくは複数のオブジェクト１０３または１つもしくは複数のオブジェクト・タグ１０６を選択することに応じて、画像１０２の１つまたは複数のオブジェクト１０３に画像処理を行うことができる。ここで、オブジェクト１０３またはオブジェクト・タグ１０６の選択は、特定のタイプの画像処理１１０またはテキスト処理１１１を示すこともできる。さらに、タグ・リスト１０９からの選択は、示されたタイプの画像処理１１０またはテキスト処理１１１の、任意の選択可能なパラメータの値を指定することができる。たとえば、ユーザ２００は、マウスの使用によって、画像１０２のオブジェクト１０３またはタグ・リスト１０９からのオブジェクト・タグ１０６を選択することができる。一度、オブジェクト１０３またはオブジェクト・タグ１０６のいずれかが選択されたら、画像修正プログラム１０１は、ユーザ２００に画像処理メニューまたはテキスト処理メニューを提示することができる。
【００２３】
たとえば、画像処理メニューまたはテキスト処理メニューは、その後のメニュー選択部を備える、ポップアップ・ウィンドウまたはパネルの形でユーザ２００に表示することができる。ここで、特定のタイプの画像処理１１０またはテキスト処理１１１は、ユーザ２００による、その後のマウス・クリックまたはキーストロークによって達成することができる。たとえば、特定のタイプの画像処理１１０またはテキスト処理１１１は、画像１０２の１つもしくは複数のオブジェクト１０３のぼかし処理をすること、または画像処理１１０またはテキスト処理１１１に関連する特定のパラメータの値を指定することであってよい。オブジェクト１０３またはオブジェクト・タグ１０６の選択は、マウス入力、キーボード入力、タッチ・スクリーン入力、視線追跡入力、音声コマンドまたはジェスチャーなどの、任意の一般的に知られている選択法により達成できることを諒解されたい。
【００２４】
本発明の別の実施形態では、画像修正プログラム１０１は、オブジェクト・タグ１０６を選択することに応じて、画像１０２に関連する１つまたは複数のテキスト部分１０４に対してテキスト処理１１１を行うことができる。各オブジェクト・タグ１０６の選択は、画像１０２に関連する１つまたは複数のテキスト部分１０４に対する所望の変化を示すことができる。たとえば、画像１０２が既存のテキストを含む場合、所望の変化は、既存のテキストを訂正することである場合がある。別の例では、画像１０２が既存のテキストを含まない場合、所望の変化は、最初からテキストを作成すること、または最初から作成されたテキストを訂正することである場合がある。
【００２５】
本発明の別の実施形態では、画像修正プログラム１０１は、オブジェクト１０３を選択することに応じて、画像１０２に関連する１つまたは複数のテキスト部分１０４に対してテキスト処理１１１を行うことができる。たとえば、画像１０２のオブジェクト１０３が選択される場合、画像修正プログラムは、オブジェクト１０３に対応する１つまたは複数のテキスト部分１０４を生成することができる。
【００２６】
図４は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図４において、ユーザ２００は、デスクトップ・コンピュータ、または電話などのモバイル・デバイスなどのユーザ・デバイス２０１を介して、画像修正プログラム１０１にアクセスすることができる。ユーザ２００に、画像１０２、１つまたは複数のテキスト部分１０４（「川の近くの桜の花！とても、きれい！」）、およびタグ・リスト１０９の中の視覚的強調（「桜の花」および「川」）を行って表示される各オブジェクト・タグ１０６を表示するための領域を含むスクリーンを提示することができる。
【００２７】
図４において、画像修正プログラム１０１は、決定をもたらすために１つまたは複数のオブジェクト１０３の各々から抽出されたオブジェクト・タグ１０６に基づいて、テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述するかどうかを決定することができる。たとえば、画像修正プログラム１０１は、「花」というオブジェクトの画像認識を実行することにより、画像１０２から「花」というオブジェクト・タグを抽出することができる。ここで、画像修正プログラム１０１は、「桜の花」というテキスト・タグが「花」というオブジェクト・タグを記述すると決定することができる。「桜の花」というテキスト・タグが「花」というオブジェクト・タグを記述するので、画像修正プログラム１０１は、「桜の花」というテキスト・タグおよび「花」というオブジェクト・タグの両方を表すオブジェクト・タグ１０６を生成することができる。言い換えると、画像修正プログラム１０１は、たとえば、「桜の花」および「花」というオブジェクト・タグの両方ではなく、「桜の花」というオブジェクト・タグだけといった、単一のタグを生成することができる。
【００２８】
テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述すると首尾よく決定するのに応じて、オブジェクト１０３から抽出されたオブジェクト・タグ１０６を、タグ・リスト１０９の中に視覚的強調を行って表示することができる。図４に見られるように、「桜の花」および「川」というオブジェクト・タグに対し、これらの言葉を太字にして斜体にすることによって、視覚的強調が適用されている。テキスト・タグ１０７がオブジェクト・タグ１０６を記述するかどうかを決定することに加えて、画像修正プログラム１０１は、追加の基準に基づいて視覚的強調を適用するべきかどうかを決定することができる。
【００２９】
画像修正プログラム１０１は、タグ・リスト１０９の中の各オブジェクト・タグ１０６が、画像１０２の中で焦点が合っているかどうか、さらに決定することができる。ここで、画像修正プログラム１０１は、各オブジェクト・タグ１０６に関連する１つまたは複数のオブジェクト１０３が、画像１０２の中で焦点が合っているかどうかに基づいて、各オブジェクト・タグ１０６に視覚的強調を与えるかどうかを決定することができる。１つまたは複数のオブジェクト１０３が、画像１０２の中で焦点が合っているかどうかの決定は、画像１０２の１つまたは複数のオブジェクト１０３の関連性を決定する追加手段である。
【００３０】
より詳細には、画像修正プログラム１０１は、画像１０２中の合焦情報を含有するメタデータを参照することにより、１つまたは複数のオブジェクト１０３は焦点が合っているかどうかを決定することができる。写真がカメラにより撮られるとき、カメラのレンズは、自動または手動のいずれかで、目標オブジェクト上に合焦するように調節することができる。画像１０２がキャプチャされた時間における合焦状態は、画像１０２中の合焦情報としてカメラにより記憶することができる。そのような合焦情報は、たとえば、画像１０２中の目標オブジェクトの座標の形をとることができる。
【００３１】
図５は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図５は、画像１０２の下部の「トリミング」という画像処理を図５が追加で描くことを除けば、図４と同一である。図５では、各テキスト・タグ１０７は、「建造物」、「人々」、「遠くの人々」、および「シャツを着ていない人」というオブジェクトを記述しなかったと想定することができる。結果として、画像修正プログラム１０１は、画像１０２の不一致オブジェクトを遮蔽したことが分かる。加えて、画像修正プログラム１０１は、そのようなプロセスが各テキスト・タグ１０７により記述される１つまたは複数のオブジェクト１０３のいずれかを同様に除去しない限り、画像１０２からこれらの１つまたは複数のオブジェクト１０３をトリミングまたは除去することができる。ここで、画像修正プログラム１０１は、画像１０２の中に「雲」および「建造物」というオブジェクトを残した。というのは、トリミングによってそれらを除去すると、記述された「桜の花」および「川」というオブジェクトを同様に除去させることになるからである。
【００３２】
図６は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図６は、図６が画像１０２の下部の「トリミング」の代わりに、１つまたは複数のオブジェクト１０３のぼかし処理を描くことを除けば、図５と同一である。この方法では、画像修正プログラム１０１は、テキスト・タグ１０７により記述される「桜の花」および「川」というオブジェクトを除去することなく、各テキスト・タグ１０７により記述されない１つまたは複数のオブジェクト１０３のすべてを除去することができる。
【００３３】
図７は、本発明の少なくとも１つの実施形態に従う画像処理１１０のための動作ステップを描くフローチャート図である。ステップ７００において、画像修正プログラム１０１は、テキスト・タグ１０７が１つまたは複数のオブジェクト１０３のいずれかを記述するかどうかを決定することに応じて、画像１０２上に画像処理１１０を行うことができる。テキスト・タグ１０７がオブジェクト１０３を記述する場合、オブジェクト１０３を画像１０２の中で遮蔽するべきでないことを、最初に想定することができる。一方、テキスト・タグ１０７がオブジェクト１０３を記述しない場合、オブジェクト１０３を画像１０２の中で遮蔽するべきであることを、最初に想定することができる。
【００３４】
ステップ７０１において、画像修正プログラム１０１は、オブジェクト１０３が画像１０２中で焦点が合っているかどうかに基づいて、画像１０２上で画像処理１１０を行うこともできる。たとえば、画像修正プログラム１０１は、画像１０２中の合焦情報を含有するメタデータを参照することができる。オブジェクト１０３が画像１０２の中で焦点が合っている場合、オブジェクト１０３を遮蔽するべきでないことを、最初に想定することができる。一方、オブジェクト１０３が画像１０２の中で焦点が合っていない場合、オブジェクト１０３を遮蔽するべきであることを、最初に想定することができる。
【００３５】
ステップ７０２において、テキスト・タグ１０７によりオブジェクト１０３を記述することができ、オブジェクト１０３の焦点が合っているにもかかわらず、画像修正プログラム１０１は、ユーザ２００がオブジェクト１０３またはオブジェクト・タグ１０６を選択したかどうかを決定し、それによって、画像修正プログラム１０１に、画像１０２のオブジェクト１０３の遮蔽を実行することを示すことができる。オブジェクト１０３またはオブジェクト・タグ１０６を選択することによって、デフォルトでは、ユーザ２００による選択が、画像１０２の中のオブジェクト１０３を「オフ」にするように、オブジェクト１０３を画像１０２の中で遮蔽するべきであることを示すことができる。あるいは、オブジェクト１０３またはオブジェクト・タグ１０６を選択することによって、デフォルトでは、ユーザ２００による選択が、画像１０２の中のオブジェクト１０３を「オン」にするように、オブジェクト１０３を画像１０２の中で遮蔽するべきでないことを示すことができる。いずれの場合でも、オブジェクト１０３を遮蔽するべきか遮蔽しないべきかは、ユーザ２００によって、オブジェクト１０３またはオブジェクト・タグ１０６を選択することにより、具体的に指定することができる。
【００３６】
ステップ７０３において、検討中のオブジェクト１０３が、テキスト・タグ１０７により記載されず、画像１０２の中で焦点が合ってもいないことを想定することができる。したがって、最初の想定は、画像修正プログラム１０１がオブジェクト１０３を遮蔽するべきであるということであってよい。しかし、オブジェクト１０３を遮蔽する前に、画像修正プログラム１０１は、オブジェクト・データベース２０４中に記憶されるオブジェクト１０３についての文脈上の情報、または履歴データベース２０５中に記憶される選択データをさらに参照することができる。より詳細には、オブジェクト１０３についての文脈上の情報は、ユーザ２００がオブジェクト１０３を遮蔽しそうかどうかを示すことができ、選択データは、ユーザ２００が、同様または同一のオブジェクトを典型的には遮蔽してきたかどうかを示すことができる。
【００３７】
たとえば、人々の顔についての文脈上の情報は、匿名の人々のプライバシーを保護するために、ユーザ２００が、人々の顔を遮蔽するであろうと示すことができる。したがって、ユーザ２００の友人と認識されない顔を画像１０２が含有する場合、画像修正プログラム１０１は、そのような文脈上の情報を基準として、顔を遮蔽するべきであると決定することができる。一方、ユーザ２００の友人の場合には、ユーザ２００が典型的にはある種の顔を遮蔽しないことを選択データが示すことができる。したがって、文脈上の情報および選択データを基準として、画像修正プログラム１０１は、ある種の知っている顔を遮蔽するべきでなく、一方他の知らない顔を遮蔽するべきであると決定することができる。
【００３８】
ステップ７０４において、文脈上の情報または選択データを考慮すると、画像修正プログラム１０１は、１つまたは複数のユーザ設定に基づいて、オブジェクト１０３を遮蔽するべきであるかどうかを決定することができる。たとえば、画像修正プログラム１０１は、ユーザ２００がオブジェクト１０３を遮蔽するであろうと文脈上の情報が示す場合またはユーザ２００が典型的には同様のまたは同一のオブジェクトを遮蔽すると選択データが示す場合のいずれかの場合で、オブジェクト１０３を遮蔽するべきであると決定するように構成することができる。別の例では、画像修正プログラム１０１は、ユーザ２００がオブジェクト１０３を遮蔽しないであろうと文脈上の情報が示すことができず、ユーザ２００が典型的には同様のまたは同一のオブジェクトを遮蔽すると選択データが示すことができない場合に、オブジェクト１０３を遮蔽するべきであると決定するように構成することができる。ここで、画像修正プログラム１０１は、何らかの例外的な状況でなければ、テキスト・タグ１０７により記述されず、焦点が合っていないオブジェクト１０３を遮蔽することができる。
【００３９】
他の設定では、画像修正プログラム１０１は、文脈上の情報または選択データのいずれかを考慮することによって、オブジェクト１０３を遮蔽するべきであるかどうかを決定することができる。ここで、オブジェクト１０３を遮蔽するべきであると文脈上の情報または選択データが示す場合、最初の想定が当てはまり、オブジェクト１０３を画像１０２中で遮蔽する。そうでない場合、オブジェクト１０３を遮蔽しない。
【００４０】
図７から分かるように、画像修正プログラム１０１は、テキスト・タグ１０７がオブジェクト１０３を記述するかどうかを決定することに応じて、オブジェクト１０３を遮蔽するかどうかを決定するように構成することができる。画像修正プログラム１０１は、ユーザ２００がオブジェクト１０３またはオブジェクト・タグ１０６を選択したか選択しなかったかを基準として、オブジェクト１０３を遮蔽するべきであるかどうかを決定するようにも構成することができる。さらに、画像修正プログラム１０１は、オブジェクト・データベース２０４の中に記憶されるオブジェクト１０３についての文脈上の情報または履歴データベース２０５の中に記憶される選択データのいずれかを考慮することによって、オブジェクト１０３を遮蔽するべきであるかどうかを決定するように構成することができる。画像修正プログラム１０１が任意の数の前に述べた設定を含むことができることを諒解されたい。したがって、これらの設定のいずれかが、ユーザ２００に対するオブジェクト１０３の関連性の表示を与えるので、画像修正プログラム１０１は、１つまたは複数のテキスト部分１０４に関連した、画像１０２を編集することに関するユーザ２００の意図を遂行することができる。
【００４１】
図８は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図８では、画像修正プログラム１０１は、記述されないオブジェクトから、「人々」および「シャツを着ていない人」というオブジェクトを遮蔽するべきであると決定した。一方、画像修正プログラム１０１は、「雲」、「建造物」、および「遠くの人々」というオブジェクトを遮蔽するべきでないと決定した。
【００４２】
「雲」および「建造物」というオブジェクトを遮蔽しないという決定は、画像修正プログラム１０１が各オブジェクト１０３についての文脈上の情報を参照できる方法を説明する。上で前に説明したように、文脈上の情報は、人々のグループ（たとえば、すべての人々）によってオブジェクト１０３に添付される意味または文脈を含むことができ、ユーザ２００がオブジェクト１０３を遮蔽しそうかどうかを示すことができる。「雲」および「建造物」というオブジェクトの場合には、典型的には、ユーザ２００の画像１０２の中でこれらのオブジェクト１０３を遮蔽しない場合である可能性がある。「雲」は美しいと考えることができ、多くの画像１０２の背景の重要な部分であると考察することができる。「建造物」は、画像１０２の場所を規定する働きをすることができる。さらに、それらは動かないので、「建造物」が、画像１０２の意図された主題の邪魔をすると見なされることは、めったにない可能性がある。そのような考察に起因して、画像修正プログラム１０１は、文脈上の情報を基準として、ユーザ２００が「雲」または「建造物」というオブジェクトを遮蔽しないであろうと決定した。
【００４３】
一方、「遠くの人々」というオブジェクトを遮蔽しない決定は、画像修正プログラム１０１が、オブジェクト１０３またはオブジェクト・タグ１０６の、ユーザ２００の過去の選択の履歴データベース２０５から、選択データを参照できる方法を説明する。履歴データベース２０５は、ユーザ２００が過去において「遠くの人々」と同一の、または同様の選択を行ったか、または過去において「遠くの人々」と同一の、または同様の選択を行わなかったかのいずれかを示す１つまたは複数のエントリーを有することができる。ここで、画像修正プログラム１０１は、選択データを基準として、ユーザ２００が典型的には「遠くの人々」というオブジェクトを遮蔽しないことを決定した。
【００４４】
図９は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図９において、ユーザ２００は、「シャツを着ていない人」というオブジェクト・タグを、タグ・リスト１０９の中で、オブジェクト・タグの上をクリックすることによって選択した。「シャツを着ていない人」というオブジェクト・タグを選択することにより、ユーザ２００は、画像１０２中の「シャツを着ていない人」というオブジェクトのぼかし処理をすることによって遮蔽することを画像修正プログラム１０１が実行するべきであることを示した。ここで、「シャツを着ていない人」というオブジェクト・タグを選択することによって、画像１０２の中の対応するオブジェクト１０３を単純にオフにする（すなわち、遮蔽する）ように、ぼかし処理によって遮蔽する指定がデフォルトにされている。
【００４５】
図１０は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１のための動作ステップを描くフローチャート図である。ステップ１０００において、画像修正プログラム１０１は、画像１０２を受信することができる。画像１０２は、１つまたは複数のオブジェクト１０３および１つまたは複数のテキスト部分１０４を含むことができる。ステップ１００１において、画像修正プログラム１０１は、画像１０２の１つまたは複数のオブジェクト１０３を識別することができる。ステップ１００２において、ユーザ２００は、画像１０２の中で識別された１つまたは複数のオブジェクト１０３を選択することができる。ステップ１００３において、ユーザ２００は、タグ・リスト１０９から１つまたは複数のオブジェクト・タグ１０６を選択することができる。
【００４６】
ステップ１００４において、画像修正プログラム１０１は、テキスト処理を行うことができ、ここでテキスト処理は、１つまたは複数のオブジェクト１０３または１つまたは複数のオブジェクト・タグ１０６から、少なくとも１つのユーザ選択に基づいてテキストを生成するステップを含むことができる。テキストは、任意の一般的に知られている発見的方法またはメッセージ・テンプレートを使用して生成することができる。たとえば、画像修正プログラム１０１は、画像１０２の中のオブジェクト１０３の選択を基準として、オブジェクト１０３に関連するテキストを生成することができる。画像１０２のオブジェクト１０３を選択することによって、画像修正プログラム１０１が特定の雰囲気のテキストを生成するように、さらに指示することができる。たとえば、画像１０２のオブジェクト１０３を選択することによって、生成されるテキストのための異なる書式オプションを含むドロップ・ダウン・メニューからさらなる選択をするようにユーザ２００を促すことができる。
【００４７】
加えて、１つまたは複数のオブジェクト１０３または１つまたは複数のオブジェクト・タグ１０６からのユーザ選択は、選択順序に基づいて、各オブジェクト１０３に対する品詞の割当てを示すことができる。たとえば、オブジェクト１０３がテキストの文法的主語として働くべきであり、一方別のオブジェクト１０３が直接目的語として働くべきであるように指定することをユーザ２００が望む場合がある。ここで、画像修正プログラム１０１は、ユーザ２００の意図をより正確に反映するようにテキストを生成することができる。たとえば、ユーザ２００が、タグ・リスト１０９から一連のオブジェクト・タグ１０６の選択を行う場合に、選択される各オブジェクト・タグ１０６の順序によって、各オブジェクト１０３に対応して生成されるべきテキストの各部に対する品詞の割当てを決定することができる。同様に、ユーザ２００が、画像１０２の中のオブジェクト１０３を囲む一連の可視領域の選択を行う場合に、選択される各オブジェクト１０３の順序によって、選択される各オブジェクト１０３に対応して生成されるべきテキストの各部に対する品詞の割当てを決定することができる。
【００４８】
さらに、画像修正プログラム１０１は、画像１０２の１つもしくは複数のオブジェクト１０３についての、位置、サイズまたは文脈上の情報に基づいてテキストを生成することができる。たとえば、１つまたは複数のオブジェクト１０３が選択される場合、そのうちのいくつかは互いに近接しており、画像修正プログラム１０１は、互いに近接しているそれらのオブジェクト１０３に「近い」という言葉を関連付けることができる。
【００４９】
同様に、オブジェクト・データベース２０４中に記憶される文脈上の情報は、上に説明されたようにオブジェクト１０３に添付される意味または文脈を含むことができ、これも、画像修正プログラム１０１が考慮に入れることができる。たとえば、「樹木」というオブジェクトについての文脈上の情報は、その典型的なサイズについての情報を含むことができる。そのような情報を用いて、画像１０２中の「樹木」のサイズについての情報と組み合わせて、画像修正プログラム１０１は、「大きい」という言葉を「樹木」という言葉と関連付けることができる。
【００５０】
図１１は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図１１において、画像１０２、１つまたは複数のテキスト部分１０４（「人々が川の近くで花を見る」）、およびタグ・リスト１０９を見ることができる。ここで、ユーザ２００は、タグ・リスト１０９から「川」、「花」、および「人々」というオブジェクト・タグを選択した。さらに、ユーザ２００は、「人々」が、生成されるべきテキストの文法的主語として働くべきであることを示した。たとえば、ユーザ２００は、マウスで、最初に「人々」というオブジェクト・タグを、その後、任意の後続する順序で、「川」および「花」というオブジェクト・タグをクリックした可能性がある。ユーザ２００による選択順序に基づいて、画像修正プログラム１０１は、「人々」を文法的主語として割り当てることに従って、「人々が川の近くで花を見る」というテキストを生成した。
【００５１】
図１２は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１の加工例の一部についての例示的な図である。図１２において、タグ・リスト１０９は描かれず、画像修正プログラム１０１によって識別されたオブジェクト１０３の各々の周りに枠が引かれた。ここで、ユーザ２００は、一連の選択を通して、画像１０２の中の「川」、「花」、および「人々」というオブジェクトを選択した。さらに、ユーザ２００は、「人々」が、生成されるべきテキストの文法的主語として働くべきであることを示した。たとえば、ユーザ２００は、マウスで、最初に「人々」というオブジェクトを囲む枠、その後、任意の後続する順序で、「川」および「花」というオブジェクトを囲む枠をクリックした可能性がある。ユーザ２００による選択順序に基づいて、画像修正プログラム１０１は、「人々」を文法的主語として割り当てることに従って、「人々が川の近くで花を見る」というテキストを生成した。
【００５２】
ここで、図１１および図１２の両方を参照して、画像修正プログラム１０１は、選択されたオブジェクトの位置、選択されたオブジェクトのサイズ、またはオブジェクト・データベース２０４中に記憶された選択されたオブジェクトについての文脈上の情報に基づいて、「見る」および「近い」という言葉を生成した可能性がある。たとえば、「川」というオブジェクトへの「人々」というオブジェクトの「近接度」は、オブジェクト１０３の位置またはサイズから導かれる近接情報に基づいて、画像修正プログラム１０１によって生成された可能性がある。同様に、「見る」という動詞は、「花」または「人々」についての文脈上の情報に基づいて、画像修正プログラム１０１によって生成された可能性がある。そのようなオブジェクト１０３についての文脈上の情報は、ユーザ２００が、「人々」と「花」の間に「見る」という動詞を含むことが多いことを示すことができる。
【００５３】
図１３は、本発明の少なくとも１つの実施形態に従う画像修正プログラム１０１を実行するのに好適なコンピュータ１３００のブロック図である。図１３は、コンピュータ１３００、（１つまたは複数のコンピュータ・プロセッサを含む）１つまたは複数のプロセッサ１３０４、通信機構１３０２、メモリ１３０６、ＲＡＭ、キャッシュ１３１８、持続的記憶装置１３０８、通信ユニット１３１２、Ｉ／Ｏインターフェイス１３１４、ディスプレイ１３２２、および外部デバイス１３２０を表示する。図１３は、一実施形態の説明だけを提供し、異なる実施形態が実装され得る環境に関して、何ら制限することを意図していないことを諒解されたい。描かれた環境に対し、多くの変更を行うことができる。
【００５４】
描かれるように、コンピュータ１３００は、プロセッサ１３０４、メモリ１３０６、持続的記憶装置１３０８、通信ユニット１３１２、およびＩ／Ｏインターフェイス１３１４の間に通信を実現する、通信機構１３０２を介して動作する。通信機構１３０２は、プロセッサ１３０４（たとえば、マイクロプロセッサ、通信プロセッサ、およびネットワーク・プロセッサ）、メモリ１３０６、外部デバイス１３２０、およびシステム内の任意の他のハードウェア構成要素の間で、データまたは制御情報を渡すために好適な任意のアーキテクチャで実装することができる。たとえば、通信機構１３０２は、１つまたは複数のバスで実装することができる。
【００５５】
メモリ１３０６および持続的記憶装置１３０８は、コンピュータ可読記憶媒体である。描かれる実施形態では、メモリ１３０６は、ランダム・アクセス・メモリ（ＲＡＭ）およびキャッシュ１３１８を備える。一般的に、メモリ１３０６は、任意の好適な、揮発性または不揮発性の、１つまたは複数のコンピュータ可読記憶媒体を備えることができる。
【００５６】
画像修正プログラム１０１のためのプログラム命令は、メモリ１３０６の１つまたは複数のメモリを介して、それぞれのプロセッサ１３０４のうちの１つまたは複数が実行するために、持続的記憶装置１３０８、またはより一般的には、任意のコンピュータ可読記憶媒体の中に記憶することができる。持続的記憶装置１３０８は、磁気ハード・ディスク・ドライブ、固体ディスク・ドライブ、半導体記憶デバイス、読取り専用メモリ（ＲＯＭ）、電気的消去可能プログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、またはプログラム命令もしくはデジタル情報を記憶することが可能な、任意の他のコンピュータ可読記憶媒体であってよい。
【００５７】
持続的記憶装置１３０８により使用される媒体は、取外し可能であってもよい。たとえば、取外し可能ハード・ドライブを、持続的記憶装置１３０８のために使用することができる。他の例としては、やはり持続的記憶装置１３０８の部分である別のコンピュータ可読記憶媒体上に転送するためドライブの中に挿入される、光学的および磁気的ディスク、サム・ドライブ、およびスマート・カードが挙げられる。
【００５８】
これらの例では、通信ユニット１３１２が他のデータ処理システムまたはデバイスとの通信を実現する。これらの例では、通信ユニット１３１２は、１つまたは複数のネットワーク・インターフェイス・カードを備えることができる。通信ユニット１３１２は、物理的な通信リンクまたはワイヤレス通信リンクあるいはその両方の使用を介して通信を実現することができる。本発明のいくつかの実施形態の文脈では、入力データを受信でき、出力が同様に通信ユニット１３１２を介して送信できるように、様々な入力データの発生源は、コンピュータ１３００と物理的に離れていてよい。
【００５９】
Ｉ／Ｏインターフェイス１３１４は、コンピュータ１３００と一緒に動作できる他のデバイスとのデータの入出力を可能にする。たとえば、Ｉ／Ｏインターフェイス１３１４は、キーボード、キーパッド、タッチ・スクリーン、または他の好適な入力デバイスなどであってよい、外部デバイス１３２０との接続を実現することができる。外部デバイス１３２０としては、たとえばサム・ドライブ、携帯型光学または磁気ディスク、およびメモリ・カードといった、携帯型のコンピュータ可読記憶媒体も挙げられる。本発明の実施形態を実施するために使用されるソフトウェアおよびデータは、そのような携帯型のコンピュータ可読記憶媒体上に記憶することができ、Ｉ／Ｏインターフェイス１３１４を介して持続的記憶装置１３０８上にロードすることができる。Ｉ／Ｏインターフェイス１３１４は、同様に、ディスプレイ１３２２に接続することができる。ディスプレイ１３２２は、ユーザにデータを表示するための機構を提供し、たとえば、コンピュータ・モニタであってよい。
【００６０】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるため、コンピュータ可読プログラム命令を有する、１つまたは複数のコンピュータ可読記憶媒体を含むことができる。
【００６１】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用するための命令を保持および記憶できる有形のデバイスであってよい。コンピュータ可読記憶媒体は、たとえば、限定するものではないが、電子的記憶デバイス、磁気的記憶デバイス、光学的記憶デバイス、電磁的記憶デバイス、半導体記憶デバイス、または上記の任意の好適な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例の、網羅的でないリストは以下、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、携帯型コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、命令を記録させたパンチカードまたは溝の中の隆起構造などの機械的に符号化されたデバイス、あるいは上記の任意の好適な組合せを含む。本明細書で使用するコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝播する電磁波（たとえば、光ファイバ・ケーブルを通過する光パルス）、またはワイヤを通って伝送される電気信号など、一時的な信号自体であると解釈されるべきでない。
【００６２】
本明細書で記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、またはたとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワーク、あるいはそれらの組合せといったネットワークを介して、外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組合せを含むことができる。各コンピューティング／処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、ネットワークから、コンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体中で記憶するため、コンピュータ可読プログラム命令を転送する。
【００６３】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれる、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で、部分的にはユーザのコンピュータ上でおよび部分的にはリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを通してユーザのコンピュータに接続することができ、または、外部コンピュータに（たとえば、インターネット・サービス・プロバイダを使用してインターネットを通して）接続をすることができる。いくつかの実施形態では、本発明の態様を実施するために、たとえば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、電子回路を個別化するため、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行することができる。
【００６４】
本発明の態様は、本発明の実施形態に従う、方法、装置（システム）およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して本明細書で記載される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方中のブロックの組合せは、コンピュータ可読プログラム命令により実装することが可能であることが理解されよう。
【００６５】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／動作を実装するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令を記憶させたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／動作の態様を実装する命令を含む製造品を含むように、可読記憶媒体中に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの組合せに特定の方法で機能するように指示することができるものであってもよい。
【００６６】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／動作を実装するように、コンピュータ実装されたプロセスを作り出すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００６７】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態に従うシステム、方法、およびコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能性、および動作を図示する。この点に関連し、フローチャートまたはブロック図中の各ブロックは、指定された論理的機能を実装するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコンピュータ・プログラム命令の部分を表すことができる。いくつかの代替実装形態において、ブロック内に言及される機能は、図中で言及される順序から外れて生じる場合がある。たとえば、含まれる機能性に依存して、連続して示される２つのブロックを、実際には、実質的に同時に実行することができ、またはブロックを、場合によって逆の順序で実行することができる。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方中のブロックの組合せは、指定される機能もしくは動作を実行する専用ハードウェアベースのシステムにより実装でき、または専用ハードウェアとコンピュータ命令の組合せにより実行できることも留意されよう。
【００６８】
本発明の様々な実施形態の記載は、説明のために提示されたが、網羅的であること、または、開示された実施形態に限定することを意図していない。記載された実施形態の範囲および思想から逸脱することなく、多くの変更形態および変形形態が、当業者には明らかになるであろう。本明細書に使用される用語は、実施形態の原理、市場で見いだされる技術への実践的な適用または技術的な改良を最良に説明するため、または当業者が本明細書に開示される実施形態を理解することを可能にするために選択された。
【符号の説明】
【００６９】
１００  コンピュータ・システム
１０１  画像修正プログラム
１０２  画像
１０３  オブジェクト
１０４  テキスト部分
１０６  オブジェクト・タグ
１０７  テキスト・タグ
１０９  タグ・リスト
１１０  画像処理
１１１  テキスト処理
２００  ユーザ
２０１  ユーザ・デバイス
２０２  ネットワーク
２０３  サーバ
２０４  オブジェクト・データベース
２０５  履歴データベース
１３００  コンピュータ
１３０２  通信機構
１３０４  プロセッサ
１３０６  メモリ
１３０８  持続的記憶装置
１３１２  通信ユニット
１３１４  Ｉ／Ｏインターフェイス
１３１８  キャッシュ
１３２０  外部デバイス
１３２２  ディスプレイ
【図１】
0006771259.tif 000002
【図２】
0006771259.tif 000003
【図３】
0006771259.tif 000004
【図４】
0006771259.tif 000005
【図５】
0006771259.tif 000006
【図６】
0006771259.tif 000007
【図７】
0006771259.tif 000008
【図８】
0006771259.tif 000009
【図９】
0006771259.tif 000010
【図１０】
0006771259.tif 000011
【図１１】
0006771259.tif 000012
【図１２】
0006771259.tif 000013
【図１３】
0006771259.tif 000014