特許第6266656号(P6266656)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許6266656画像をサイズ変更するためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6266656
(24)【登録日】2018年1月5日
(45)【発行日】2018年1月24日
(54)【発明の名称】画像をサイズ変更するためのシステム及び方法
(51)【国際特許分類】
   G06T 3/00 20060101AFI20180115BHJP
【FI】
   G06T3/00 705
【請求項の数】20
【全頁数】27
(21)【出願番号】特願2015-555151(P2015-555151)
(86)(22)【出願日】2013年11月20日
(65)【公表番号】特表2016-506000(P2016-506000A)
(43)【公表日】2016年2月25日
(86)【国際出願番号】US2013070988
(87)【国際公開番号】WO2014116346
(87)【国際公開日】20140731
【審査請求日】2016年8月24日
(31)【優先権主張番号】13/749,564
(32)【優先日】2013年1月24日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ダータール, マユール
(72)【発明者】
【氏名】リャオ, フェイ−ハン クリストファー
(72)【発明者】
【氏名】クワトラ, ヴィヴェック
(72)【発明者】
【氏名】フアン, アレン
【審査官】 佐田 宏史
(56)【参考文献】
【文献】 米国特許第08270765(US,B1)
【文献】 特開2002−063215(JP,A)
【文献】 米国特許出願公開第2011/0141143(US,A1)
【文献】 特開2010−187376(JP,A)
【文献】 米国特許出願公開第2011/0085745(US,A1)
【文献】 三柴 数、池原 雅章,“ウェーブレット変換領域におけるシームカービング”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2011年 2月24日,Vol.110, No.441,pp.341-346
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00,3/40
H04N 1/387
(57)【特許請求の範囲】
【請求項1】
画像をサイズ変更するための方法であって、
画像のデータと、シームコスト閾値と、ステップサイズとをデータプロセッサで受け取る段階と、
前記データプロセッサを用いて、前記画像の前記データに基づいて前記画像の顕著性マップを算出する段階と、
前記データプロセッサを用いて、前記算出された顕著性マップに基づいて前記画像の第1組のシームを特定する段階であって、前記第1組のシームの各シームが前記シームコスト閾値未満の顕著性コストを備えた、特定する段階と、
第2画像を生成するために第1組のサイズ変更シームのピクセルを複製または削除することによって前記画像をサイズ変更する段階であって、前記第1組のサイズ変更シームが、前記第1組のシームのシーム数と前記ステップサイズとのうちのより大きい方に等しい数のシームを含む、サイズ変更する段階と、
前記データプロセッサを用いて、前記第2画像の第2組のシームを特定する段階であって、前記第2組のシームの各シームが前記シームコスト閾値未満の顕著性コストを備えた、特定する段階と、
サイズ変更済み画像を生成するために第2組のサイズ変更シームのピクセルを複製または削除することによって前記第2画像をサイズ変更する段階であって、前記第2組のサイズ変更シームが、前記第2組のシームのシーム数と前記ステップサイズとのうちのより大きい方に等しい数のシームを含む、サイズ変更する段階と、
前記サイズ変更済み画像の表示を実行するための表示データを出力する段階とを含む、方法。
【請求項2】
前記データプロセッサを用いて、前記顕著性マップの平均顕著性値を算出する段階をさらに含み、
前記平均顕著性値が平均閾値未満であれば前記画像がサイズ変更される、請求項1に記載の方法。
【請求項3】
前記平均顕著性値が前記平均閾値を上回っていれば代替的な画像を出力する段階をさらに含む、請求項2に記載の方法。
【請求項4】
前記データプロセッサを用いて、前記第1組のサイズ変更シーム及び前記第2組のサイズ変更シームの合計コスト値を算出する段階をさらに含み、
前記サイズ変更済み画像の表示を実行するための前記表示データは、前記合計コスト値が最小コスト閾値未満であれば出力され、前記合計コスト値が最大コスト閾値を上回っていれば出力されない、請求項1に記載の方法。
【請求項5】
前記合計コスト値が前記最大コスト閾値を上回っていれば代替的な画像を出力する段階をさらに含む、請求項4に記載の方法。
【請求項6】
前記顕著性マップが前記画像の各ピクセルの顕著性スコアを含み、前記顕著性スコアは、
勾配顕著性値と、
色空間分布顕著性値と、
テキスト検出顕著性値とに基づく、請求項1に記載の方法。
【請求項7】
各ピクセルの前記顕著性スコアが顔検出顕著性値にさらに基づく、請求項6に記載の方法。
【請求項8】
各ピクセルの前記顕著性スコアが、前記勾配顕著性値と、前記色空間分布顕著性値と、前記顔検出顕著性値と、前記テキスト検出顕著性値との重みつき平均である、請求項7に記載の方法。
【請求項9】
各ピクセルの前記顕著性スコアがロゴ検出顕著性値にさらに基づく、請求項6に記載の方法。
【請求項10】
各ピクセルの前記顕著性スコアが背景領域顕著性値にさらに基づく、請求項6に記載の方法。
【請求項11】
前記画像がサードパーティコンテンツアイテムを含み、前記表示データが要求装置に出力される、請求項1に記載の方法。
【請求項12】
命令を格納するコンピュータ可読記憶装置であって、前記命令は、データプロセッサにより実行されると前記データプロセッサに、
リソースと共に表示するためのコンテンツアイテムに対する要求を要求装置から受信する動作と、
複数のピクセルを備えた画像を含むコンテンツアイテムを選択する動作と、
前記画像の前記複数のピクセルの各ピクセルの顕著性スコアを算出する動作であって、各ピクセルの前記顕著性スコアが、
勾配顕著性値と、
色空間分布顕著性値と、
ロゴ検出顕著性値とに基づいた、算出する動作と、
前記画像の平均顕著性値を前記算出された顕著性スコアに基づいて算出する動作と、
前記平均顕著性値が平均閾値未満であれば、前記画像の第1組のシームを前記算出された顕著性スコアに基づいて特定する動作と、
前記画像を前記第1組のシームのピクセルを複製または削除することによってサイズ変更する動作であって、前記第1組のシームが、前記第1組のシームのシーム数とステップサイズとのうちのより大きい方に等しい数のシームを含む、サイズ変更する動作と、
前記第1組のシームの合計コスト値を算出する動作と、
前記合計コスト値が最小コスト閾値未満であれば、前記コンテンツアイテムとしての前記サイズ変更済み画像の表示を実行するための表示データを出力する動作とを含む動作を実行させる、コンピュータ可読記憶装置。
【請求項13】
前記データプロセッサにより実行されると動作を前記データプロセッサに実行させる命令をさらに含み、前記動作が、前記平均顕著性値が前記平均閾値を上回っているか、前記合計コスト値が最大コスト閾値を上回っていれば代替的な画像を出力する動作を含む、請求項12に記載のコンピュータ可読記憶装置。
【請求項14】
前記第1組のシームを特定する前記動作が、
前記データプロセッサを用いて、シームコスト閾値未満のシームの数を算出する動作と、
前記シームコスト閾値未満の前記算出されたシームの数とステップサイズとの最小値に等しいシームを前記第1組のシームとして選択する動作とを含む、請求項12に記載のコンピュータ可読記憶装置。
【請求項15】
前記画像を前記第1組のシームに基づいてサイズ変更する前記動作が第2画像を生成し、さらに、データプロセッサにより実行されると前記データプロセッサに、
前記第2画像の第2組のシームを特定する動作と、
前記第2組のシームを用いて前記画像をサイズ変更する動作とを含む動作を実行させる命令をさらに含む、請求項12に記載のコンピュータ可読記憶装置。
【請求項16】
各ピクセルの前記顕著性スコアが顔検出顕著性値にさらに基づく、請求項12に記載のコンピュータ可読記憶装置。
【請求項17】
各ピクセルの前記顕著性スコアが、前記勾配顕著性値と、前記色空間分布顕著性値と、前記顔検出顕著性値と、前記ロゴ検出顕著性値との重みつき平均である、請求項16に記載のコンピュータ可読記憶装置。
【請求項18】
各ピクセルの前記顕著性スコアがテキスト検出顕著性値にさらに基づく、請求項12に記載のコンピュータ可読記憶装置。
【請求項19】
サードパーティ・コンテンツプロバイダの画像コンテンツアイテムをサイズ変更するためのシステムであって、
データプロセッサと、
命令を格納するコンピュータ可読記憶装置とを含み、前記命令は、前記データプロセッサにより実行されると前記データプロセッサに、
複数のピクセルを備えた画像のデータと、シームコスト閾値と、ステップサイズとを受け取る動作と、
前記画像の顕著性マップを算出する動作であって、前記顕著性マップは前記画像の前記複数のピクセルの各ピクセルの顕著性スコアを含む、算出する動作と、
前記画像の平均顕著性値を前記算出された顕著性スコアに基づいて算出する動作と、
前記平均顕著性値が平均閾値未満であれば、前記算出された顕著性スコアに基づいて前記画像の第1組のシームを特定する動作であって、前記第1組のシームの各シームが前記シームコスト閾値未満の顕著性コストを備えた、特定する動作と、
第2画像を生成するために第1組のサイズ変更シームのピクセルを複製または削除することによって前記画像をサイズ変更する動作であって、前記第1組のサイズ変更シームが、前記特定された第1組のシームのシーム数と前記ステップサイズとのうちのより大きい方に等しい数のシームを含む、サイズ変更する動作と、
前記第2画像の第2組のシームを特定する動作と、
サイズ変更済み画像を生成するために前記第2画像を前記第2組のシームのピクセルを複製または削除することによってサイズ変更する動作であって、前記第2組のシームが、前記第2組のシームのシーム数と前記ステップサイズとのうちのより大きい方に等しい数のシームを含む、サイズ変更する段階と、
前記サイズ変更済み画像の表示を実行するための表示データを出力する動作とを含む動作を実行させる、システム。
【請求項20】
各ピクセルの前記顕著性スコアが、
勾配顕著性値と、
テキスト検出顕著性値と、
ロゴ検出顕著性値と、
顔検出顕著性値とに基づき、
各ピクセルの前記顕著性スコアが、前記勾配顕著性値と、前記テキスト検出顕著性値と、前記ロゴ検出顕著性値と、前記顔検出顕著性値との重みつき平均である、請求項19に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
インターネット又はその他のネットワークなどのネットワーク環境において、ファーストパーティ・コンテンツプロバイダは、リソース上での公開表示のための例えば、ウェブページ、文書、アプリケーション、及び/又は他のリソースなどの情報を提供できる。このファーストパーティコンテンツには、例えば、インターネット上での表示のためにコンテンツサーバを介してファーストパーティにより提供されるテキスト、ビデオ、及び/又はオーディオ情報が含まれる。ファーストパーティが提供するファーストパーティコンテンツと共に、付加的なサードパーティコンテンツもリソース上で表示のためにサードパーティ・コンテンツプロバイダによって提供できる。よって、リソースを閲覧する人は、そのリソースの主題である情報に加え、そのリソースの主題に関連している場合もあるが、していない場合もあるサードパーティコンテンツにアクセスできる。
【発明の概要】
【0002】
画像をサイズ変更するための方法は、前記画像のデータと、シームコスト閾値と、ステップサイズとを受け取る段階とを含むことができる。前記画像の顕著性マップが前記画像の前記データに基づいて作成できる。前記画像の第1組のシームが前記顕著性マップに基づいて特定でき、前記第1組のシームの各シームはシームコスト閾値未満の顕著性コストを備える。前記画像は、第1組のサイズ変更シームを用いてサイズ変更して第2画像を生成できる。前記第1組のサイズ変更シームは、前記第1組のシームのシーム数と前記ステップサイズとの最小値に等しい数のシームを含んでいる。前記第2画像の第2組のシームが特定でき、前記第2組のシームの各シームは前記シームコスト閾値未満の顕著性コストを備えている。前記第2画像は、第2組のサイズ変更シームを用いてサイズ変更してサイズ変更済み画像を生成できる。前記第2組のサイズ変更シームは、前記第2組のシームのシーム数と前記ステップサイズとの最小値に等しい数のシームを含んでいる。前記サイズ変更済み画像の表示を実行するための表示データが出力できる。
【0003】
コンピュータ可読記憶装置は、データプロセッサにより実行されると前記データプロセッサに幾つかの動作を実行させうる命令を格納できる。前記動作は、リソースと共に表示するためのコンテンツアイテムに対する要求を要求装置から受信する動作を含むことができる。幾つかのピクセルを備えた画像を含むコンテンツアイテムが選択できる。各ピクセルの顕著性スコアが、勾配顕著性値、色空間分布顕著性値、及びロゴ検出値に基づいて算出できる。前記画像の平均顕著性値が前記顕著性スコアに基づいて算出できる。前記平均顕著性値が平均閾値未満であれば、前記画像の第1組のシームが前記顕著性スコアに基づいて特定できる。前記画像は前記第1組のシームに基づいてサイズ変更できる。前記第1組のシームの合計コストが算出でき、前記合計コスト値が最小コスト閾値未満であれば、前記コンテンツアイテムとしての前記サイズ変更済み画像の表示を実行するための表示データが出力できる。
【0004】
サードパーティ・コンテンツプロバイダの画像コンテンツアイテムをサイズ変更するためのシステムは、データプロセッサと、幾つかの命令を格納するコンピュータ可読記憶装置とを含むことができ、前記命令は、前記データプロセッサにより実行されると前記データプロセッサに様々な動作を実行させる。前記動作は、幾つかのピクセルを備えた画像のデータと、シームコスト閾値と、ステップサイズとを受け取る動作を含むことができる。前記画像の顕著性スコアが算出でき、これは、前記画像の各ピクセルの顕著性スコアを含むことができる。前記画像の平均顕著性値が前記顕著性スコアに基づいて算出できる。前記平均顕著性値が平均閾値未満であれば、前記画像の第1組のシームが前記顕著性スコアに基づいて特定できる。前記第1組のシームの各シームは、前記シームコスト閾値未満の顕著性コストを備えることができる。前記画像は、第1組のサイズ変更シームに基づいてサイズ変更して第2画像を生成できる。前記第1組のサイズ変更シームは、前記特定された第1組のシームのシーム数と前記ステップサイズとの最小値に等しい数のシームを含むことができる。前記第2画像の第2組のシームが特定できる。前記第2画像は、前記第2組のシームに基づいてサイズ変更してサイズ変更済み画像を生成できる。前記サイズ変更済み画像の表示を実行するための表示データが出力できる。
【図面の簡単な説明】
【0005】
本明細書で教示する様々な実装例は、次の添付図面において限定目的でなく例示目的で示されている。
図1図1は、コンピュータネットワークを介して情報を提供する代表的なシステムを示す概観図である。
図2図2は、画像コンテンツアイテムをサイズ変更するための例示的な処理のフローチャートである。
図3図3Aは、画像の例示的な顕著性マップの概略図であり、例示的なシームを示している。 図3Bは、例示的なシームが除去された状態の、図3Aの例示的な顕著性マップの概略図である。
図4図4Aは、平均顕著性値が平均閾値を上回りうる例示的な画像コンテンツアイテムである。 図4Bは、充填物が付加された図4Aの画像コンテンツアイテムの画像を示す一例である。 図4Cは、充填物が付加された図4Aの画像コンテンツアイテムの画像を示す別の例である。
図5図5Aは、適応シームカービングを適用できる例示的な画像コンテンツアイテムである。 図5Bは、図5Aの画像コンテンツアイテムの画像の検出されたテキスト領域及びロゴ領域を示す一例である。 図5Cは、シームコスト閾値未満となりうる図5Aの画像コンテンツアイテムの画像の幾つかのシームを示す一例である。 図5Dは、シームを複製することでサイズ変更した後の、図5Aの画像コンテンツアイテムの第2のサイズ変更済み画像を示す一例である。 図5Eは、図5Aの画像コンテンツアイテムの例示的なサイズ変更済み画像を示す。 図5Fは、シームコスト閾値未満となりうる図5Aの画像コンテンツアイテムの画像の幾つかのシームを示す一例である。 図5Gは、図5Fのシームを複製することでサイズ変更した後の、図5Aの画像コンテンツアイテムの第2のサイズ変更済み画像を示す一例である。 図5Hは、図5Gの付加的なシームを複製することでサイズ変更した後の、図5Aの画像コンテンツアイテムの第3のサイズ変更済み画像を示す一例である。
図6図6Aは、適応シームカービングを適用できる別の例示的な画像コンテンツアイテムである。 図6Bは、図6Aの画像コンテンツアイテムの例示的なサイズ変更済み画像で、該画像のサイズ変更に使用される幾つかの特定されたシームを示す。 図6Cは、特定されたシームを省略した状態の、図6Aの画像コンテンツアイテムの例示的なサイズ変更済み画像である。
図7図7Aは、適応シームカービングを適用できるさらに別の例示的な画像コンテンツアイテムである。 図7Bは、図7Aの画像コンテンツアイテムの例示的なサイズ変更済み画像で、該画像のサイズ変更に使用される幾つかの特定されたシームを示す。 図7Cは、特定されたシームを省略した状態の、図7Aの画像コンテンツアイテムの例示的なサイズ変更済み画像である。
図8図8Aは、適応シームカービングを適用できるさらに別の例示的な画像コンテンツアイテムである。 図8Bは、図8Aの画像コンテンツアイテムの例示的なサイズ変更済み画像で、該画像のサイズ変更に使用される幾つかの特定されたシームを示す。 図8Cは、特定されたシームを省略した状態の、図8Aの画像コンテンツアイテムの例示的なサイズ変更済み画像である。
図9図9は、本明細書で記載且つ図示したシステム及び方法の様々な要素を実装するために使用できるコンピュータシステムの一般的なアーキテクチャを示すブロック図である。
【0006】
図面の一部又は全部は例示目的の概略図であることは理解されるはずである。図面は1つ又は複数の実装例を示すためのものであり、請求項の範囲又は意味を限定するものでないことは明確に理解されている。
【発明を実施するための形態】
【0007】
以下は、コンピュータネットワーク上で情報を提供するための方法、装置、及びシステムに関する様々な概念ならびにそれらの実装例のより詳細な説明である。後に詳述する様々な局面は、それらが特定の様態の実装例に限定されるものでないため、多くの方法の何れによっても実現できる。具体的な実装例及び応用例は、主として例示目的で記載されている。
【0008】
幾つかの例では、画像及び/又はビデオなどのコンテンツアイテムをサイズ変更することが有益となる場合がある。例えば、計算装置(例えば、ユーザデバイス又は要求装置)は、ウェブページなどのリソースを、当該リソースに対応するウェブページサーバなどのサーバと通信することでインターネットを介して閲覧できる。このリソースは、ファーストパーティプロバイダからのそのリソースの主題であるコンテンツに加えて、広告などのサードパーティが提供する付加的なコンテンツを含むことができる。一実装例では、ウェブページに対するアクセス要求の受信に応答して、ウェブページサーバは、コンテンツ配置システムなどのデータ処理システムと通信して、計算装置に表示されるウェブページのレンダリングに挿入するためのコンテンツアイテムを要求できる。このコンテンツ配置システムは適切なコンテンツアイテムを選択し、それをウェブページでの表示のためウェブページサーバに与えることができる。
【0009】
場合によっては、このリソースのスロットは、選択されたコンテンツアイテムとは異なる一組の寸法を備えることがある。こうした例では、コンテンツアイテムの一部を除去且つ/又は付加的なピクセルをコンテンツアイテムに付加するなどして、コンテンツアイテムがそのスロットに適するようにサイズ変更することが有益となる場合がある。そうしたサイズ変更は、シームカービングなどの技法を利用することで実行できる。シームカービングは、所望のサイズ変更に従って複製且つ/又は除去するコンテンツアイテムの一連の接続されたピクセルを選択する。コンテンツアイテムについては、そのコンテンツアイテムの主要又は顕著なコンテンツを歪めないシームを選択するのが有益となることがある。一例として、コンテンツアイテムは、背景にテキスト形式コンテンツを含むことがある。テキスト形式コンテンツ及び/又は文字間隔を保存する一方でコンテンツアイテムをサイズ変更するようにシームを選択することで、サイズ変更されたコンテンツアイテムを提供するが、顕著なコンテンツは保存できる。他の例では、コンテンツアイテムは顔を含むことがあり、顔コンテンツを保存するため顔検出が有益なことがある。さらに別の例では、ロゴがコンテンツアイテムに存在しており、そうしたロゴの形状及びサイズを保存することが有益となる場合もある。顕著なコンテンツに関するさらに他の考慮すべき事項は後に詳述する。
【0010】
そうした顕著なコンテンツの保存及びシームの選択は、各ピクセルの顕著性スコア(すなわち、各ピクセルの、コンテンツアイテムの当該コンテンツに対する重要度)を求めることにより達成できる。顕著性スコアの集合を求めてコンテンツアイテムに関する顕著性マップを生成できる。この顕著性マップは、シームカービングのためのシーム及び/又は1つ又は複数の評価メトリックと共に使用するシームを求めるために使用できる。
【0011】
評価メトリックをサイズ変更処理の前、その間、及び/又は後に使用して、シームカービングを続行し且つ/又はサイズ変更した画像を使用すべきかを判断できる。例えば、顕著性マップの顕著性スコアの平均を計算できる。この顕著性スコアの平均が平均閾値未満であれば、シームカービングを続行できる。この平均が平均閾値を上回れば、別の方法及び/又はコンテンツアイテムを選択できる(例えば、平均顕著性スコアが高い画像コンテンツアイテムをサイズ変更せずに、この画像コンテンツアイテムを充填物と共に表示してこの画像コンテンツアイテムのコンテンツを保存することが好ましいことがある)。
【0012】
顕著性マップの顕著性スコアを使用すれば、顕著性スコアが低いピクセルを備えたシームを選択することによって、コンテンツアイテムをサイズ変更するためのシームを選択できる。幾つかの例では、選択されたシームがシームコスト閾値未満の顕著性コストを備えるように、シームコスト閾値評価メトリックを使用してもよい。任意シームの顕著性コストは、そのシームの各ピクセルの顕著性コストの合計として計算できる。幾つかの例では、ステップサイズを用いて、コンテンツアイテムをサイズ変更するための繰り返し処理時に一定数のシームが選択されることを限定且つ/又は保証できる。こうしたステップサイズをシームコスト閾値と共に用いることができるが、これら2つの最大又は最小値を用いて適応サイズ変更処理を実現できる。
【0013】
さらに別の実装例では、付加且つ/又は除去されるシームの合計コスト値評価メトリックを計算できる。こうした合計コスト値を用いてサイズ変更画像が使用されるかどうかを決定できる。例えば、コンテンツアイテムからシームを除去する合計コスト値が最大値を超えていれば、サイズ変更する画像では、除去且つ/又は追加される高い顕著性スコアのピクセルが多すぎる可能性があり、コンテンツアイテムのコンテンツを歪める可能性がある。シームを除去且つ/又は追加する合計コスト値が最小値を下回っていれば、サイズ変更した画像では、顕著性スコアの低いピクセルが除去且つ/又は追加され、コンテンツアイテムのコンテンツを歪める見込みは低い可能性がある。もちろん、評価メトリックとしての合計コスト値の他の使用法及び実現方法も利用できる。
【0014】
I. 例示的なシステムの概説
【0015】
図1は、ネットワーク105などのコンピュータネットワークを介して情報を提供するための例示的なシステム100を示す。ネットワーク105は、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、又は他の地域ネットワーク、イントラネットなどのコンピュータネットワーク、及び音声又はデータ携帯電話通信ネットワークなどの他のコンピュータネットワークを含むことができる。さらに、システム100は、データ処理システム110を含むことができる。データ処理システム110は、ネットワーク105を介して例えばリソースサーバ120、要求装置125、及びサードパーティ・コンテンツプロバイダ115と通信するプロセッサを備えた計算装置などの少なくとも1つの論理機構を含むことができる。データ処理システム110は、情報を処理してコンテンツをリソースサーバ120又は要求装置125に与えるよう構成されたコンテンツ配置システム130と、情報を格納するよう構成されたコンテンツデータベース140などの1つ又は複数のデータベースとを含むことができる。この例では、コンテンツ配置システム130は、1つ又は複数のコンテンツアイテムを後に詳述する処理200に従ってサイズ変更するよう構成できるサイズ変更モジュール135を含む。データ処理システム110は、広告サーバなどのサーバを含むことができる。
【0016】
要求装置125は、コンピュータ、ラップトップ、デスクトップ、スマートフォン、タブレット、携帯情報端末、サーバ装置などのネットワーク105を介して他の装置と通信するよう構成された計算装置を含むことができる。要求装置125は、ソフトウェアアプリケーション(例えば、ウェブブラウザ又は他のアプリケーション)を実行してネットワーク105を介して他の計算装置からコンテンツを取り出すことができる。
【0017】
リソースサーバ120は、ウェブページ又は他のリソースなどのリソースをホストするよう構成されたサーバを備えたコンピュータを含むことができる。例えば、リソースサーバ120は、コンピュータサーバ(例えば、FTPサーバ、ファイル共有サーバ、ウェブサーバなど)又は複数サーバの組合せ(例えば、データセンター、クラウドコンピューティング・プラットフォームなど)でよい。リソースサーバ120は、リソースデータ又は他のコンテンツ(例えば、テキスト文書、PDFファイル、及び他の形式の電子文書)を要求装置125に提供できる。一実装例では、要求装置125は、リソースサーバ120のリソースへのアクセスを要求するため、ネットワーク105を介してリソースサーバ120にアクセスできる。
【0018】
一実装例では、データ処理システム110は、リソースと共に表示するためのコンテンツアイテムに対する要求を、ネットワーク105を介して受け取ることができる。一実装例では、このリソースはウェブページを含む。このリソースは、1つ又は複数のサードパーティコンテンツアイテムを表示するための該リソースの指定位置などのコンテンツアイテムスロットを含むことができる。コンテンツ配置プロセッサ130は、リソースサーバ120又は要求装置125から要求を受け取るよう構成できる。リソースサーバ120は、リソースのファーストパーティプロバイダを含むことができ、このプロバイダは、データ処理システム110がリソースサーバ120の1つ又は複数のリソースと共に表示するコンテンツアイテムを提供できるよう、このシステムとの間で協定を交わすことができる。要求装置125は、ユーザ(装置識別子により表される)により動作される計算装置でよく、これは、リソースサーバ120のリソースにアクセスする際に、例えばそのリソースと共に表示されるコンテンツをデータ処理システム110に要求できる。
【0019】
幾つかの例では、リソースのコンテンツアイテムスロットは、選択されたコンテンツアイテムの寸法サイズとは異なるサイズを備えることがある。例えば、コンテンツアイテムスロットが360x50ピクセルであり、コンテンツアイテムが320x50ピクセルである場合もある。よって、このコンテンツアイテムをこのコンテンツアイテムスロット内で表示するには、このコンテンツアイテムはサイズ変更し且つ/又は充填物背景と共に表示して、このコンテンツアイテムスロットを満たすコンテンツアイテムとすればよい。幾つかの例では、可能ならこのコンテンツアイテムをサイズ変更することが有益となる場合がある。
【0020】
II. コンテンツアイテムをサイズ変更するための例示的な処理
【0021】
図2は、画像などのコンテンツアイテムをサイズ変更するための例示的な処理200を示す。幾つかの実装例では、画像コンテンツアイテムの要求をコンテンツ配置システム130が受信できる。コンテンツアイテムの要求は、オンライン広告、記事、プロモーション、クーポン、又は製品説明の要求を含むことができる。コンテンツ配置システム130は、例えば要求装置125などの計算装置からこの要求を受け取ることができる。幾つかの実装例では、コンテンツ配置システム130は、要求装置125上で実行されるアプリケーションを介してこの要求を受信する。例えば、モバイル装置(例えば、スマートフォン又はタブレット)上で実行されるモバイルアプリケーションが、コンテンツアイテムに対する要求を行うことができる。別の例では、ウェブページは、要求装置125のユーザがそのウェブページを訪問したことに応答して、コンテンツアイテムをコンテンツ配置システム130から要求できる。
【0022】
幾つかの実装例では、コンテンツアイテムの要求は、コンテンツアイテムの選択を容易にする情報を含むことができる。例えば、この情報は、コンテンツアイテムスロットの寸法サイズ、要求装置のIPアドレス、要求装置のドメイン、コンテンツアイテムが併せて表示されることになるリソースに関するデータ、要求装置に関連付けられた履歴データ、要求装置の種類(例えば、デスクトップ、ラップトップ、スマートフォン、タブレットなど)、要求装置の1つ又は複数の特性(例えば、オペレーティングシステムの種類、性能データ、表示装置の解像度など)、地理的位置、及び/又は他の任意データ)を含むことができる。
【0023】
本明細書で記載したシステムがユーザの個人情報を収集又は利用する状況に関しては、プログラム若しくは機能がユーザ情報を収集するのか(例えば、ユーザのソーシャルネットワーク、ソーシャルアクション又はアクティビティ、ユーザの好み、ユーザの現在地などに関する情報)、及び/又はユーザにとってより重要かもしれないコンテンツをコンテンツサーバから受け取るのか或いはどのようにそれを受け取るのか、を制御する機会をユーザに与えてもよい。さらに、ある種のデータは、それが格納又は使用される前に1つ又は複数の方法で匿名化して、パラメータ(例えば、人口統計学データ)を生成するにあたって個人の特定を可能とする情報が削除されるようにしてもよい。別の例では、ユーザの個人特定を可能とする情報が特定されないようにユーザの識別情報を匿名化してもよいし、位置情報が取得されるユーザの地理的位置を一般化して(例えば都市、郵便番号、州レベルまで)、ユーザの位置が特定できないようにしてもよい。従って、ユーザは、自分に関する情報がコンテンツサーバによりどのように収集され且つ使用されるのかを管理できる。
【0024】
画像コンテンツアイテムは、コンテンツ配置システム130によって選択できる(ブロック204)。幾つかの実装例では、この画像コンテンツアイテムは、少なくとも部分的には、1つ又は複数のビッドに基づいてコンテンツアイテムオークションを介して選択できる。例えば、コンテンツ配置システム130は、1つ又は複数のコンテンツアイテム候補を、複数のコンテンツアイテムを備えたオンラインオークションに提供でき、最も高いビッド(例えば、コンテンツプロバイダ115のコンテンツアイテムに提示された最高のビッド価格)又は最高の質のコンテンツアイテムなどの他の要因に関連付けられたコンテンツアイテムが選択され、要求装置125での表示のために提供される。幾つかの例では、コンテンツ配置システム130は、キーワード、適合率、品質係数、クリック率、又はコンバージョン率などの1つ又は複数の要因に基づいて多数のコンテンツアイテム候補を選択又は識別してもよい。
【0025】
サイズ変更モジュール135は、選択されたコンテンツアイテムの画像のデータと、シームコスト閾値と、ステップサイズとを受け取ることができる(ブロック206)。幾つかの実装例では、選択されたコンテンツアイテムの画像のデータは、データ処理システム110のコンテンツデータベース140などのコンテンツ配置システム130に関連付けられたデータベースに格納できる。この画像のデータは、その画像のビットマップ(例えば、ピクセルのグリッドを表すマトリックス)を含むことができる。このビットマップは、各ピクセルの位置情報と共に16進値、RGB値、HSB/HSL値、RGBA値、HSBA/HSLA値、及び/又はそれ以外などの色情報を含むことができる。この画像のデータには.BMP、.JPEG、.GIF、.PNG、.TIFFなどの様々な形式を使用できる。
【0026】
シームコスト閾値は、デフォルト値、コンテンツ配置システム130により設定された値、及び/又はコンテンツプロバイダ115により指定された値でよい。幾つかの例では、多数のシームコスト閾値がコンテンツ配置システム130により使用できる。例えば、コンテンツプロバイダ指定値が与えられていればそれを使用でき、コンテンツプロバイダ指定値が与えられない場合は、デフォルトシームコスト閾値が使用できる。他の例では、コンテンツプロバイダが、他の要因に依存したシームコスト閾値を指定できる(例えば、スマートフォン要求装置用の第1シーム閾値、タブレット要求装置用の第2シーム閾値、ラップトップ要求装置用の第3シーム閾値、及び/又はデスクトップ要求装置用の第4シーム閾値など)。もちろん、他のシーム閾値及び/又は要因を使用してもよい。
【0027】
ステップサイズは、デフォルト値、コンテンツ配置システム130により設定された値、及び/又はコンテンツプロバイダ115により指定された値でよい。幾つかの例では、多数のステップサイズ値がコンテンツ配置システム130により使用できる。例えば、最小ステップサイズ及び最大ステップサイズは、後述する各シームカービング繰り返しに関して一定の最小又は最大数のシームが使用されるように指定できる。別の例では、最小ステップサイズのみ又は最大ステップサイズのみが使用できる。さらなる実装例では、1つ又は複数のコンテンツプロバイダ指定ステップサイズが与えられていればそれを使用でき、1つ又は複数のコンテンツプロバイダ指定ステップサイズが与えられない場合は、1つ又は複数のデフォルトステップサイズが使用できる。さらなる他の例では、コンテンツプロバイダが、他の要因に依存した1つ又は複数のステップサイズを指定できる(例えば、スマートフォン要求装置用の第1ステップサイズ、タブレット要求装置用の第2ステップサイズ、ラップトップ要求装置用の第3ステップサイズ、及び/又はデスクトップ要求装置用の第4ステップサイズなど)。もちろん、他のステップサイズ及び/又は要因を使用してもよい。
【0028】
コンテンツアイテムの画像の顕著性マップは、その画像のデータ及びその画像の各ピクセルの顕著性スコアに基づいて算出できる。例示的な顕著性マップ300が図3Aに示されており、後に詳述する。顕著性スコアは各ピクセルに関するスコアであって、そのピクセルが画像のコンテンツに対してどの程度重要かを示すスコアである。例えば、画像の前景における人の顔のピクセルは、背景における壁の煉瓦のピクセルよりも高い顕著性スコアを備えることができる。幾つかの例では、画像の主要コンテンツが保存されるよう、顕著性スコアが低い(すなわち、画像に対して重要度がより低い)ピクセルを複製且つ/又は除去することが好ましいことがある。
【0029】
各ピクセルの顕著性スコアは、該スコアを決定するための単一の値又は複数の値を含むことができる。例えば、顕著性スコアは、単一の値から、幾つかの異なる値の合計から、幾つかの異なる値の重みつき平均から、且つ/又はそれ以外から算出してもよい。顕著性スコアを算出するのに使用できる値は、勾配顕著性値、色空間分布顕著性値、テキスト検出顕著性値、顔検出顕著性値、ロゴ検出顕著性値、背景領域顕著性値などを含むことができる。
【0030】
勾配顕著性値は、垂直及び水平方向におけるピクセル間の強度変動に基づいて決定されるピクセルに関する値とすることができる。言い換えると、勾配顕著性は、ピクセルの色がどの程度漸進的に又は急激に変化するかを測定するものである。例えば、青空を背景とした赤い旗の縁のピクセルは高い勾配顕著性値を備えることができるが、赤い旗内部のピクセルは低い勾配顕著性値を備えることになる。
【0031】
色空間分布顕著性値は、画像内の支配色のピクセルの空間的変動に関するその支配色のクラスタに基づいて決定されるピクセルに関する値とすることができる。例えば、赤いボールなどの画像の前景に近い物体は、多数の密集した赤いピクセルを備える可能性が高いが、白黒のチェックの背景はより少ない同色のピクセルを備え、それらピクセルは分散していることがある。赤く且つ空間的に近接したピクセルは、チェックの背景のピクセルに比べて高い色空間分布顕著性値を備える可能性が高い。
【0032】
テキスト検出顕著性値は、画像内のテキスト領域を算出するための光学的文字認識(OCR)を用いて決定できる。従って、識別されたテキスト領域に対応したピクセルは高いテキスト検出顕著性値を備えることができるが、その画像の他の領域のテキスト検出顕著性値は低い又はゼロとなることがある。幾つかの実装例は、個々の文字でなく単語を識別するため文字枠を用いることによって、文字間隔を保存できる可能性がある。
【0033】
顔検出顕著性値は、画像内の顔領域を求めるための顔認識検出器を用いて算出できる。従って、識別された顔領域に対応したピクセルは高い顔検出顕著性値を備えることができるが、その画像の他の領域の顔検出顕著性値は低い又はゼロとなることがある。幾つかの例では、識別された顔を囲むピクセルが高い顔検出顕著性値を備えるように、その顔領域周りの緩衝領域を指定してもよい。
【0034】
ロゴ検出顕著性値は、画像の領域をロゴデータベースと比較するためのロゴ検出器を用いて算出できる。従って、ロゴが検出されると、そのロゴに対応したピクセル領域は高いロゴ検出顕著性値を備えることができるが、その画像の他の領域のロゴ検出顕著性値は低い又はゼロとなることがある。幾つかの例では、識別されたロゴを囲むピクセルが高いロゴ検出顕著性値を備えるように、そのロゴ領域周りの緩衝領域を指定してもよい。
【0035】
背景領域顕著性値は、背景領域を示すことができる画像の大きな部分上の支配色を検出することで決定できる。例えば、コンテンツアイテムは、そのコンテンツアイテムの背景に関して単一の色又は単一の色彩計画を含むことができる。コンテンツアイテムのこの背景領域の識別は、シームカービングを介した画像操作に関して有用である。例えば、コンテンツアイテムのデータが、50%を上回るピクセルが白色であること示していれば、これは、これらのピクセルが背景領域の一部であることを示しているのかもしれない。幾つかの実装例では、この背景領域の検出は、支配色ピクセルは連続的であり又は大きなクラスタを形成しているという判断を含むことができる(例えば、白い背景上のプレーンテキストは、その背景として実質的に隣接した白いピクセルを備えるはずである)。幾つかの実装例では、背景領域顕著性値は、ピクセルが背景領域の一部であるとの判断と逆相関となりうる(すなわち、識別された背景領域のピクセルに関する低い値及び識別された背景領域でない部分のピクセルに関する高い値)。もちろん、背景領域を検出する他の方法を使用してもよい。
【0036】
上述したように、1つ又は複数の顕著性値に基づいて、複数ピクセルの各ピクセルについての顕著性スコアを求めることができる。幾つかの実装例では、重みつけ値をそれぞれの顕著性値に割当ててもよく、さらに平均スコアを求めて、それを各ピクセルに関する顕著性スコアとして使用してもよい。これら顕著性スコアを用いて、顕著性スコアのマトリックスなどの画像のピクセルに対応した顕著性マップを生成できる。図3Aは、各ピクセルの顕著性スコアが図示された4行及び4列のピクセルからなる例示的画像の例示的な顕著性マップ300を示す。
【0037】
幾つかの実装例では、初期評価メトリックを用いて、シームカービングを使用した画像のサイズ変更を初めに続行すべきかどうかを判断できる。例えば、顕著性マップの平均顕著性値を求めることができる(ブロック210)。例えば、この平均顕著性値は、この顕著性マップのすべての顕著性スコアの平均でよい。図3Aの顕著性マップを一例として用いると、平均顕著性値は各顕著性スコアの合計、すなわちこの例では、合計の38を顕著性スコアの数である16で除算すればよく、2.375などの平均顕著性値が得られる。もちろん、上述の数字は単なる例である。幾つかの例では、顕著性スコアは、0以上で255以下又はその他の任意範囲の顕著性スコアを含むことができる(例えば、0以上で3以下、0以上で7以下、0以上で15以下、0以上で31以下、0以上で63以下、0以上で127以下、0以上で511以下、0以上で1023以下、0以上で2047以下、0以上で4095以下、0以上で8191以下、0以上で16383以下、0以上で32767以下、0以上で65535以下など)。
【0038】
求められた平均顕著性値は平均閾値と比較できる(ブロック212)。例えば、0以上で255以下の顕著性スコアの範囲については、平均閾値は220となることがある。平均顕著性値が平均閾値に等しい且つ/又はそれを上回る場合、これは、画像がシームカービングを使ったサイズ変更に適していないことを示す可能性がある(すなわち、画像のコンテンツにとって重要であることを示すピクセルが多すぎる)。そうした例では、代替的な画像コンテンツアイテムを出力できる(ブロック250)。例えば、コンテンツアイテムが多くの重要なすなわち顕著なピクセルを備えており、求められた平均顕著性値が平均閾値を超過する場合は、充填物背景を付加してよいが、その際にコンテンツアイテムの画像が概ね同一状態を維持し、且つその充填物背景が画像を囲むギャップを満たしてコンテンツアイテムのスロットを満たすようにする。他の例では、コンテンツアイテムは、スケーリングなどによる代替的な方法を用いてサイズ変更でき、且つ/又は他のコンテンツアイテムを選択できる。シームカービングが適しておらず且つ充填物背景が与えられる画像コンテンツアイテムのそうした画像の一例が、図4A-4Cに示されており、それら図を参照して説明する。
【0039】
求められた平均顕著性値が平均閾値を下回り且つ/又は平均顕著性値が求められない場合は(すなわち、平均顕著性閾値算出が用いられない)、シームカービングに関する一組のシームを求める(ブロック214)。このシームの組は、所望の次元で画像を通過する最低顕著性コスト経路を備えたシームに基づいて選択できる。垂直シームに関しては、このシームは、最低累積ピクセル顕著性スコアを備えた、y軸に沿った(例えば、上部から底部への)経路を形成する顕著性マップの顕著性スコアに基づいて特定できる。特定されたシームの組内の各シームは、この特定されたシームの組内の別のシームと重複しないことは理解すべきである(例えば、各ピクセルは、特定されたシームの組の1つのシームの一部にしかなることができない)。図3Aは、より高い顕著性スコアを備えたピクセル領域320と330との間の例示的な低顕著性コストシーム310を示す。この例では、シーム310の顕著性コストは2だが、上述したように、他の数値及び範囲を用いてもよい。水平シームに関しては、このシームは、最低累積ピクセル顕著性スコアを備えた、x軸に沿った(例えば、左から右への)経路を形成する顕著性マップの顕著性スコアに基づいて特定できる。
【0040】
幾つかの実装例では、画像に付加される且つ/又は画像から除去されるピクセルの総数は、画像の寸法サイズを、コンテンツアイテムがその内部で表示されることになるコンテンツアイテムスロットの受信した寸法サイズと比較することにより求められる。例えば、コンテンツアイテムスロットが360ピクセルの幅×50ピクセルの高さであり、選択されたコンテンツアイテムが320ピクセルの幅×50ピクセルの高さとすることができる。従って、選択されたコンテンツアイテムに40ピクセルを追加する必要があると判断できる。各シームが1ピクセル幅であれば、この画像をシームカービングによって広げるのに必要なシームの総数は40シームでよい。幾つかの実装例では、シームは1ピクセル幅より多くてもよく(例えば、2、3、4、5ピクセルなど)、従って、シームの総数は、ピクセルの総数をシームのピクセル幅で割ったものとすればよい。幾つかの実装例では、シームのピクセル幅は予め決めておいてもよい(すなわち、1ピクセル幅、2ピクセル幅などに事前設定する)。
【0041】
幾つかの例では、特定されたシームの組内のシーム数を制限するためシームコスト閾値を用いることができ、各シームがこのシームコスト閾値未満の顕著性コストを備えることになる。図3Aに示した例では、シームコスト閾値が2であれば、シーム310のみがこの閾値を満たすことができる。シームコスト閾値が1であれば、この閾値を満たすことができるシームは存在しえない。シームコスト閾値が3であれば、この閾値に等しく且つ/又はそれ未満の顕著性コストを備えた幾つかのシームを特定できる。後に詳述するように、このシームコスト閾値を用いて適応シームカービングを実現できる。
【0042】
この画像は、一組のサイズ変更シームを用いてピクセルを挿入且つ/又は削除することによってサイズ変更できる(ブロック216)。図3Bは、例示的なシーム310が除去されてピクセル領域320と330とが接合し、画像を縮小させた図3Aの顕著性マップ300を示す。幾つかのバージョンでは、顕著性マップ300を用いてサイズ変更した画像を生成できる。例えば、この顕著性マップの各値を画像のピクセルにマッピングして、対応するピクセルが画像に追加又は削除されるようにしてよい。別の例では、この顕著性マップは顕著性スコアと共に色情報を含むことができ(例えば、 (saliency_score, color_information))、顕著性マップの操作が関連したピクセル色情報を直接的に追加又は削除する。すると顕著性マップからの色情報及び位置情報(例えば、行及び列)を用いることでサイズ変更した画像を生成できる。
【0043】
幾つかの実装例では、こうしたサイズ変更シームの組は、特定されたシームの組に対応できる。例えば、画像が5ピクセルを付加又は除去する必要があり、且つ5つの1ピクセルシームがシームコスト閾値未満の顕著性コストを備えることが識別された場合、サイズ変更シームの組は特定されたシームの組と同一となりうる。他の例では、特定されたシームの組が最大ステップサイズを上回るような場合は、サイズ変更シームの組は特定されたシームの組の部分集合でよく、或いは、特定されたシームの組が最小ステップサイズを下回るような場合は、サイズ変更シームの組は、所定最少数の最低顕著性コストシームでよい。
【0044】
特定されたシームの組にシームが存在しないか、特定されたシームの組のシームが最小ステップサイズを下回れば、最小ステップサイズの値に等しい最低顕著性コストシームをサイズ変更シームの組として選択できる。例えば、2つのシームがシームコスト閾値未満の顕著性コストを備えていることが確認され、且つ最小ステップサイズが5であれば、特定されたシームの組のこれら2つのシームを含む5つの最低顕著性コストシームが、サイズ変更シームの組として使用できる。画像をサイズ変更するのに必要な合計シーム数が満たされない場合、処理200は、画像が所望の寸法サイズへサイズ変更されるまで、複数組のサイズ変更シームで繰り返すことができる(ブロック214、216)。
【0045】
最大ステップサイズが使用される例では、処理200は、画像が所望の寸法サイズへサイズ変更されるまで、複数組のサイズ変更シームで繰り返すことができる。例えば、仮に画像には40シームを付加する必要があり、且つ最大ステップサイズが10シームであれば、この画像をサイズ変更して第2画像を生成するための第1の繰り返しにおいて、特定された100シームの組から顕著性コストが最も低い10個のシームを使用できる。幾つかの実装例では、第2画像は生成されないが、付加又は除去されたシームを備えた修正済み顕著性マップによって表現できる。次に、処理200は第2の繰り返しを実行して、シームコスト閾値未満の顕著性コストを備えた第2画像用の第2組のシームを特定する(ブロック214)。すると、第2画像をサイズ変更するにあたり、第2の特定されたシームの組から顕著性コストが最も低い10個のシームを用いることができる。こうした繰り返しは、画像が所望の寸法サイズへサイズ変更されるまで反復できる。幾つかの実装例では、第2の繰り返しのシームは第1の繰り返しのシームと重複してもよい(シームは各繰り返し内では重複しないが)。シームを付加する例では、この繰り返し処理を介して画像を変更する際に、最低顕著性コストシームはより頻繁に使用できる。
【0046】
幾つかの実装例では最大ステップサイズのみを使用できる。特定されたシームの組のシーム数が最大ステップサイズ未満であれば、サイズ変更シームの組のシームの数は、シームコスト閾値未満のシームの数と最大ステップサイズとの最小値から選択できる。一例として、15個のシームがシームコスト閾値未満であると特定され、最大ステップサイズが10であれば、ステップサイズである10が最小値なので、特定されたシームの組内でコストが最も低い10個のシームが選択されることになる。5個のシームがシームコスト閾値未満であると特定され、最大ステップサイズが10であれば、特定されたシームの組のこれら5個のシームが、これら2つの最小値として選択される。すると、この画像をサイズ変更した画像すなわち第2画像にサイズ変更するため、これら5個のシームが使用される。例えば、画像をサイズ変更するため15個のシームを付加する必要があれば、処理200は、シームコスト閾値未満の顕著性コストを備えた第2組のシームを第2画像から特定する(ブロック214)。この例では、5個の初期シーム及び5個の複製シームの合計10個のシームが、シームコスト閾値未満の第2組のシームとして特定できる。従って、最小ステップサイズの10と特定されたシームの組みの10個のシームとでは、最小値は両方の10となる。従って、第1の繰り返しは5個のシームを使用し、第2の繰り返しは10個のシームを使用した。従って、各繰り返し時に使用されるシームの数は適応的となることができ、シームコスト閾値及び最大ステップに基づいて変化できる。そうした適応シームカービング処理の一例を図5F-5Hに示し、それらを参照して説明する。
【0047】
画像がサイズ変更された後、幾つかのバージョンでは、選択されたコンテンツアイテムの画像がサイズ変更された後に、合計コスト値が算出され(ブロック218)、それが評価メトリックとして使用できる。この合計コスト値は、サイズ変更時に画像に付加且つ/又は除去されるシームの顕著性コストの合計でよい。算出された合計コスト値が最小コスト閾値未満であれば(ブロック220)、サイズ変更された画像は、リソースと共に提供するため出力できる(ブロック230)サイズ変更済み画像コンテンツアイテムとして使用できる。すなわち、サイズ変更済み画像に付加又は削除されたシームがピクセルに関して低い顕著性スコアを備えていれば、付加又は削除されたシームが画像の顕著なコンテンツに有意な影響を与えた可能性は低く、このサイズ変更済み画像コンテンツアイテムは使用できる。
【0048】
この算出された合計コスト値が最小コスト閾値未満でなければ、この合計コスト値と最大閾値とを比較できる(ブロック222)。合計コスト値が最大閾値を上回れば、代替的な画像コンテンツアイテムを出力でき(ブロック250)、その例が図4B-4Cに示されており、別のコンテンツアイテムを選択し且つ/又は選択されたコンテンツアイテムの他のサイズ変更を使用できる。言い換えると、サイズ変更済み画像に付加又は削除されたシームがピクセルに関して高い顕著性スコアを備えているか、付加又は除去された平均顕著性コストのシームが多すぎる場合、これら付加又は除去されたシームが、画像の顕著なコンテンツに影響を与えた可能性があり、代替的な画像コンテンツアイテム又は異なる画像コンテンツアイテムが好ましい場合がある。
【0049】
この算出された合計コスト値が最小コスト閾値未満でなく且つ最大閾値を上回らなければ、付加又は除去されたシームの合計コストと、付加又は除去されたシーム及び次の組のシームの合計コストを許容度パラメータで除した結果と、が比較される(ブロック224)。すなわち、合計コストCnを備えたn個のシームに関して、2n個のシーム(すなわち、n個のシームと次のn個のシームの組)についての合計コストC2nとの比較を実行する。合計コストCnが、2n個のシームについての合計コストC2nを許容度パラメータtで除したものと等しいかそれより少なければ、すなわち
であれば、サイズ変更済み画像コンテンツアイテムを出力できる(ブロック230)。許容度パラメータtは、2以上の任意の正数に設定すればよい。許容度パラメータが、例えば5又は10などの大きな値に設定されると、より少ないサイズ変更済み画像が出力されるが、出力されるサイズ変更済み画像のシームカービング結果が向上することがある。許容度パラメータが2の近くに設定されると、より多くのサイズ変更済み画像を出力できる。幾つかの実装例では、許容度パラメータは、出力されるサイズ変更済み画像を微調整するため変化させることができる。
【0050】
一例として、それぞれの顕著性コストが1、1、2、3、4である5個のシームが用いられ、次の組の5個のシームがそれぞれ4、4、4、5、5の顕著性コストを備えている場合、これらn個のシームの合計コストCnは11となり、2n個のシームの合計コストC2nは33となる。tとして許容度パラメータ3が選択されると、n個のシームの合計コストCn= 11は、2n個のシームの合計コストを許容度パラメータtで除したものと等しくなり、すなわちC2n/3 = 11となる。従って、これは、2n個のシームの中で最初のn個のシームはより低い顕著性コストを備えており、サイズ変更済み画像コンテンツアイテムは有益でありうることを示している。n個のシームの合計コストが、2n個のシームの合計コストを許容度パラメータで除したものより大きくなれば、n個のシームは画像コンテンツアイテムのサイズ変更にとってそれほど有益でないことを示すことができ、代替的な画像コンテンツアイテムを出力でき(ブロック250)、その例が図4B-4Cに示されている。
【0051】
幾つかの例では、シームの付加及び/又は除去がギャップを形成することがある。そうしたギャップは、ホールフィリング又はインペインティングを用いて埋めればよい。一実装例では、サイズ変更済み画像のギャップを埋めるためのピクセルを選択できるが、これは、周囲ピクセルの平均である色を選択して実行する。他の実装例では、これらギャップは、最も類似の近傍領域からのピクセルを用いて埋めればよい。
【0052】
幾つかの実装例では、処理200は、コンテンツアイテムの要求の受信とは独立して実行できる。例えば、処理200は、画像コンテンツアイテムに関してオフラインで実行してもよい。1つ又は複数のサイズを選択でき、さらに、この画像コンテンツアイテムは、それがコンテンツプロバイダ115から受け取られた時に且つ/又は任意の他の時に、処理200を用いてこれらサイズにサイズ変更できる。一実装例では、画像コンテンツアイテムは、データ処理システム110によりコンテンツプロバイダ115から受信でき、さらに、サイズ変更モジュール135が、この画像コンテンツアイテムがサイズ変更される一組のサイズを備えることができる。この画像コンテンツアイテムは、処理200を用いてこれらサイズの組にサイズ変更でき、出力されたサイズ変更済み画像コンテンツアイテム(ステップ230)は、コンテンツデータベース140などのデータベースに格納できる。しかし、この画像コンテンツアイテムが、これらサイズの組の1つのサイズであるコンテンツアイテムスロットに選択されると、そのサイズ変更済み画像コンテンツアイテムをそのコンテンツアイテムスロットに提供するためコンテンツデータベース140から選択できる。従って、コンテンツ配置システム130は、コンテンツアイテムの要求が受信されたときに、サイズ変更を実行する必要がなく、従ってこの処理は他の時間に実行すればよい。
【0053】
図4A-4Cは、平均閾値を上回る算出平均顕著性値を備えた画像410を具備した例示的な画像コンテンツアイテム400であって、処理200のシームカービングを用いて画像410をサイズ変更するのでなく、図4B-4Cの代替的な画像コンテンツアイテムが使用できる、画像コンテンツアイテム400を示す。図2の処理200を再び参照すると、画像コンテンツアイテム400は、例えばコンテンツアイテムオークション及び/又はそれ以外を介して選択できる(ブロック204)。画像コンテンツアイテム400の画像410のデータは、シームコスト閾値及びステップサイズと共に受信できる(ステップ206)。画像410の顕著性マップは、画像410の各ピクセルの顕著性スコアに基づいて算出できる(ブロック208)。この例では、各ピクセルには、勾配顕著性値と、色空間分布顕著性値と、テキスト検出顕著性値と、顔検出顕著性値と、ロゴ検出顕著性値と、背景領域顕著性値との重みつき平均に基づいて顕著性スコアを割り当てることができる。例えば、画像410は、「Great Plumbing Store」という語句に対応したテキスト領域412を含んでいる。従って、検出されたテキスト領域412のピクセルは、高いテキスト検出顕著性値を備えることができる。さらに、画像410の他の領域は、線及び辺の数に基づいて高い勾配顕著性値を備えることができる。こうした高い顕著性値の結果、画像410の各ピクセルの顕著性スコアは高くなりうる。こうした顕著性値を用いて、各ピクセルの顕著性スコアを求めることができ、さらに図3Aに示したものと似た顕著性マップを形成するために使用できる。
【0054】
画像410の各ピクセルの顕著性スコアを用いれば、画像410の顕著性マップの平均顕著性値を求めることができる(ブロック210)。例えば、この例では、画像410の算出された顕著性マップの平均顕著性値は、0以上255以下の尺度で235の値となりうる。平均閾値220が使用される場合、算出された平均顕著性スコアとこの平均閾値との比較(ブロック212)により、算出された平均顕著性スコアがこの平均閾値を上回ることを示すはずである。従って、代替的な画像コンテンツアイテムを出力できる(ブロック250)。こうした代替的な画像コンテンツアイテムの例は図4B-4Cに示した。
【0055】
例えば、このコンテンツアイテムが表示されることになるコンテンツアイテムスロットが、このコンテンツアイテムの寸法幅より大きい幅を備えていれば、充填物背景422を画像410に付加して、画像410を囲むギャップを埋めることができる。そうした代替的な画像420の一例は図4Bに示した。同様に、このコンテンツアイテムが表示されることになるコンテンツアイテムスロットが、このコンテンツアイテムの寸法高さより大きい高さを備えていれば、充填物背景を画像410の上及び/又は下に付加して、画像410を囲むギャップを埋めることができる。
【0056】
例えば、このコンテンツアイテムが表示されることになるコンテンツアイテムスロットが、このコンテンツアイテムの寸法幅より小さい幅を備えていれば、画像410はサイズをサイズ変更済み画像432まで縮小してそのより小さい寸法幅に適するようにし、さらに、充填物背景434を付加して、サイズ変更済み画像432を囲むギャップを埋めることができる。そうした代替的な画像430の一例は図4Cに示した。同様に、このコンテンツアイテムが表示されることになるコンテンツアイテムスロットが、このコンテンツアイテムの寸法高さより小さい高さを備えていれば、画像410はサイズをサイズ変更済み画像まで縮小してそのより小さい寸法高さに適するようにし、さらに、充填物背景を付加して、サイズ変更済み画像を囲むギャップを埋めることができる。
【0057】
図5A-5Hは、適応シームカービングが適用される画像510を備えた画像コンテンツアイテム500の一例を示す。図5Aは、テキスト512、514、ロゴ516、及び背景518を含む画像510を備えた例示的な画像コンテンツアイテム500を示す。図2の処理200を再び参照すると、画像コンテンツアイテム500は、例えばコンテンツアイテムオークション及び/又はそれ以外を介して選択できる(ブロック204)。画像コンテンツアイテム500の画像510のデータは、シームコスト閾値及びステップサイズと共に受信できる(ステップ206)。この例では、シームコスト閾値は50で、最大ステップサイズは5シームとすることができる。このシームコスト閾値及び/又はステップサイズは、デフォルト値、コンテンツプロバイダ選択値、コンテンツ配置システム130選択値でよく、且つ/又は他の方法で決定してもよい。
【0058】
画像510の顕著性マップは、画像510の各ピクセルの顕著性スコアに基づいて算出できる(ブロック208)。この例では、各ピクセルには、勾配顕著性値と、色空間分布顕著性値と、テキスト検出顕著性値と、顔検出顕著性値と、ロゴ検出顕著性値と、背景領域顕著性値との重みつき平均に基づいて顕著性スコアを割り当てることができる。例えば、図5Bを参照すると、画像510は、「PLAY THE」、「LATEST」、「NEW」、「MOVIE」、「RELEASES」、及び「Game Store」というテキストに対応する検出されたテキスト領域520を含んでいる。従って、検出されたテキスト領域520に対応するピクセルは、これらピクセルに関して高いテキスト検出顕著性値を備えることができる。
【0059】
画像510は、検出された三角形ロゴ516に対応した検出されたロゴ領域522も含んでいる。幾つかの実装例では、ロゴ516は、この画像のピクセルをロゴのデータベースと比較することで検出できる。検出されたロゴ領域522に対応するピクセルは、これらピクセルに関して高いロゴ検出顕著性値を備えることができる。各ピクセルは、勾配顕著性値、色空間分布顕著性値、顔検出顕著性値、及び/又は背景領域顕著性値などの他の算出された顕著性値も含むことができる。各ピクセルの顕著性スコアは、これら顕著性値の重みつき平均に基づいて算出できる。すると、これら顕著性スコアを用いて、例えば、顕著性スコアが適用される画像510のピクセルに対応した行及び列を備えた0以上255以下の値のマトリックスなどの、この画像の顕著性マップを生成できる。こうした顕著性マップは、図3Aに示した例と類似することがある。
【0060】
画像510の各ピクセルの顕著性スコアを用いれば、画像510の顕著性マップの平均顕著性値を求めることができる(ブロック210)。例えば、この例では、画像510の算出された顕著性マップの平均顕著性値は、0以上255以下の尺度で100の値となりうる。平均閾値220が使用される場合、算出された平均顕著性スコアとこの平均閾値との比較(ブロック212)により、算出された平均顕著性スコアがこの平均閾値を下回ることを示すはずである。従って、シームカービングを使用したこの画像のサイズ変更は有益となることがあり、図4B-4Cに示したもののような代替的な画像コンテンツアイテムを使用しないで続行できる。
【0061】
シームカービング用のシームの組を特定できる(ブロック214)。このシームの組は、所望の次元で画像510を通過する最低顕著性コスト経路を備えたシームに基づいて選択できる。幾つかの例では、特定されたシームの組内のシーム数を制限するためシームコスト閾値50を用い、各シームがこのシームコスト閾値である50未満の顕著性コストを備える。例えば、図5Cに示したように、6個のシーム530、532、534、536、538、540は、このシームコスト閾値未満のシームコストを備えていることが判断された。例えば、シーム530、532、534、536、538、540のコストは、それぞれ 0、44、10、15、30、及び20となりうる。この例の最大ステップサイズは5なので、顕著性コストが最も低い5個のシームのみがシームカービングの初期繰り返しで使用されることになる。従って、シーム530、534、536、538、及び540のみが使用されることになる。
【0062】
図5Dは、シーム530、534、536、538、及び540と、第1の繰り返し(ブロック216)で画像をサイズ変更した後の複製されたシーム531、535、537、539、及び541とを示すコンテンツアイテム500の例示的な第2画像550を図示している。画像コンテンツアイテム500の画像510をサイズ変更するのに5個のシームのみを付加する必要があれば、処理200は、付加且つ/又は除去されるシームの合計コスト値の算出に進む(ブロック218)。例えば、画像のサイズ変更のため10個のシームが必要であれば、第2の繰り返しのシームカービング用の第2組のシームを特定できる(ブロック214)。例えば、上述の及び新たに付加された複製シームを使用すると、シームコスト閾値未満のシームは、それぞれ0、0、44、10、10、15、15、30、30、20、及び20の対応したシームコストを備えた530、531、532、534、535、536、537、538、539、540、及び541である。従って、11個のシームがシームコスト閾値未満のシームコストを備えている。ステップサイズが5つのシームに限定されているので、第2の繰り返しでは、シームコストが最も低い5個のシームは、それぞれ0、0、10、10、及び15のコストを備えた530、531、534、535、及び536 (又は537)となる。これら5個のシームは、この画像のサイズをさらに増大させるため複製してよい(ブロック216)。こうした繰り返し処理は、この画像が所望の寸法サイズにサイズ変更されるまで継続できる。数回の繰り返し後のサイズ変更済みの画像560の一例は図5Eに示した。
【0063】
幾つかの例では、シームコスト閾値未満のシームの数が、最大ステップサイズを下回ることもある。例えば、図5Fに示したように、シームコスト閾値が18であれば、ぞれぞれ0、10、及び15のシームコストを備えたシーム530、534、及び536のみが、シームコスト閾値未満のシームの組に入るものとして特定される(ブロック214)。従って、この例では3である特定されたシームの組のシーム数と、この例では5であるステップサイズとの内の最小値が、サイズ変更シームの組で使用されるシーム数になりうる。よって、シームカービングの初期繰り返しについては、3個のシーム530、534、及び536のみが使用されるが、これは特定されたシームの組のこれら3個のシームが、特定されたシームの組とステップサイズとの内の最小値だからである。
【0064】
図5Gは、シーム530、534、及び536と、第1の繰り返し(ブロック216)で画像をサイズ変更した後の複製されたシーム531、535、及び537とを示すコンテンツアイテム500の例示的な第2画像560を図示している。画像コンテンツアイテム500の画像510をサイズ変更するのに3個のシームのみを付加する必要があれば、処理200は、付加且つ/又は除去されるシームの合計コスト値の算出に進む(ブロック218)。例えば、画像のサイズ変更のため10個のシームが必要であれば、第2の繰り返しのシームカービング用の第2組のシームを特定できる(ブロック214)。例えば、上述の及び新たに付加された複製シームを使用すると、シームコスト閾値未満のシームは、それぞれ0、0、10、10、15、及び15の対応したシームコストを備えた530、531、534、535、536、及び537である。従って、6個のシームがシームコスト閾値未満のシームコストを備えている。ステップサイズが5つのシームに限定されているので、第2の繰り返しでは、シームコストが最も低い5個のシームは、それぞれ0、0、10、10、及び15のコストを備えた530、531、534、535、及び536 (又は537)となる。従って、第2の繰り返し時に使用されるシームの数は、シームコスト閾値及びステップサイズに基づいて、第1の繰り返しで使用される3個のシームから5個のシームまで増加している。これら5個のシームは、図5Hに示した第3画像などのように画像のサイズをさらに増大させる(ブロック216)ため複製してよい。10個のシームを加える必要があるこの例については、8個(3+5)のシームのみが付加されているので第3の繰り返しが必要である。よって、最もコストが低い2個のシームを使用してこの画像を拡張するための最後の2個のシームとすればよい。例えば、より多くのシームが必要であれば、この処理は、この画像が所望の寸法サイズへサイズ変更されるまで継続できる。
【0065】
図6A-6C、7A-7C、及び8A-8Cは、処理200を使ってサイズ変更できる画像コンテンツアイテムの画像の付加的な例を示す。例えば、図6Aは、別の例示的な画像コンテンツアイテムの画像600を示す。この例では、画像は検出可能な顔を含み、この顔のピクセルは高い顔検出顕著性値を含むことができる。さらに、「New Server Launch!」及び「GameX」のテキストが検出でき、このテキストのピクセルは高いテキスト検出顕著性値を含むことができる。従って、サイズ変更済み画像610として図6Bに示したもののように、画像600についてシームが特定されると、これら顔及びテキストのピクセルは、サイズ変更時のシームとして選択される可能性は低くなりうる。図6Cは、サイズ変更済み画像610をシームなしで示す。
【0066】
図7Aは、別の例示的な画像コンテンツアイテムの別の画像700を示す。この例では、画像700は検出可能な「M」のロゴを含み、このロゴのピクセルは高いロゴ検出顕著性値を含むことができる。 さらに、「Fresh brewed coffee.」、「6:00AM - 9:00AM」、及び「sold all morning!」というテキストも検出可能で検出可能であり、このテキストのピクセルは高いテキスト検出顕著性値を備えることができる。従って、サイズ変更済み画像710として図7Bに示したもののように、画像700についてシームが特定されると、これらロゴ及びテキストのピクセルは、サイズ変更時のシームとして選択される可能性は低くなりうる。図7Cは、サイズ変更済み画像710をシームなしで示す。
【0067】
図8Aは、別の例示的な画像コンテンツアイテムの別の画像800を示す。この例では、画像800は検出可能な顔を含み、この顔のピクセルは高いロゴ検出顕著性値を含むことができる。さらに、この画像の「Discover the earlier version of the Mona Lisa by da Vinci」というテキストが検出でき、このテキストのピクセルは高いテキスト検出顕著性値を含むことができる。従って、サイズ変更済み画像810として図8Bに示したもののように、画像800についてシームが特定されると、これら顔及びテキストのピクセルは、サイズ変更時のシームとして選択される可能性は低くなりうる。図8Cは、サイズ変更済み画像810をシームなしで示す。
【0068】
画像コンテンツアイテムの画像の寸法幅を増大するための幾つかの例示的な実装例を示し且つ説明してきたが、処理200を用いて画像コンテンツアイテムの画像の寸法高さを増大でき、画像コンテンツアイテムの画像の寸法幅を減少でき、且つ/又は画像コンテンツアイテムの画像の寸法高さを減少できる。さらに、画像コンテンツアイテムは例として使用されており、処理200は他の画像及び/又は他の媒体と共に使用できることも理解すべきである。
【0069】
図9は、幾つかの実装例に従って本明細書で説明する任意のシステム又は方法を実装するため使用できる例示的なコンピュータシステム900の一般的なアーキテクチャを示す。幾つかの例では、本明細書で記載した1つ又は複数の側面に関して多数のコンピュータシステム900を用いることができる。コンピュータシステム900を用いてネットワーク105を介して情報を提供できる。コンピュータシステム900は、メモリ925に通信可能に結合された1つ又は複数のプロセッサ920と、1つ又は複数の通信インターフェース905と、1つ又は複数の出力装置910(例えば、1つ又は複数の表示装置)と、1つ又は複数の入力装置915とを含む。複数のプロセッサ920は、データ処理システム110、コンテンツ配置システム130、サイズ変更モジュール135、リソースサーバ120、要求装置125、及び/又はコンテンツプロバイダ115の一部として含めることができる。
【0070】
コンピュータシステム900では、メモリ925は、任意のコンピュータ可読記憶媒体を含むことができ、それぞれのシステムに関わる本明細書に記載された様々な機能を実装するためのプロセッサ実行可能命令などのコンピュータ命令と、それらに関連しかつ生成されデータ又は1つもしくは複数の通信インターフェース又は1つ若しくは複数の入力装置(存在する場合)を介して受信されたデータとを格納できる。1つ又は複数のプロセッサ920を用いてメモリ925に格納された命令を実行でき、その際に、これら命令の実行に従って処理及び/又は生成された様々な情報をメモリに読み書きできる。
【0071】
コンピュータシステム900のプロセッサ920は、1つ又は複数の通信インターフェース905に通信可能に結合させてよく、又は通信インターフェース905を制御して命令の実行に従って様々な情報を送信若しくは受信できる。例えば、1つ又は複数の通信インターフェース905は有線若しくは無線ネットワーク、バス、又は他の通信手段に結合してよく、従って、コンピュータシステム900は、他の装置(例えば、他のコンピュータシステム)との間で情報を送信し且つ/又は受信できる。
【0072】
コンピュータシステム900の出力装置910を設けて、例えば、命令の実行に関連した情報の閲覧又はそれ以外の様態による認識を可能としてよい。1つ又は複数の入力装置915を設けて、例えば、ユーザによる手動調整、選択、データ若しくは様々な情報の入力、又は命令の実行時におけるプロセッサとの様々な様態での対話を可能としてよい。本明細書に記載する様々なシステムで使用できる一般的なコンピュータシステムのアーキテクチャに関連した付加的な情報は、本開示の最後に記載する。
【0073】
本明細書に記載した主題及び動作の実装例は、デジタル電子回路又は有形媒体で実現されたコンピュータソフトウェア、ファームウェア若しくは本明細書で開示された構造体及びその構造的等価物を含むハードウェア又はそれらの1つ若しくは複数の組合せで実装できる。本明細書に記載した主題の実装例は、1つ又は複数のコンピュータプログラムとして、すなわち、データ処理装置による実行又はデータ処理装置の動作制御のためコンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つ又は複数のモジュールとして実装できる。コンピュータ格納媒体は、コンピュータ可読格納媒体、コンピュータ可読格納基板、ランダム又はシリアルアクセス記憶装置アレイ若しくはデバイス、又はそれらの1つ若しくは複数の組合せとすることができ、或いはそれらに含まれていてもよい。さらに、コンピュータ格納媒体は伝搬信号ではないが、コンピュータ格納媒体は、人工生成伝搬信号で符号化されたコンピュータプログラム命令の供給源又は出力先となりうる。コンピュータ格納媒体は、1つもしくは複数の別個の物理的構成要素又は媒体(例えば、複数のCD、ディスク、又は他の記憶装置)とすることができ、又はそれらに含まれていてもよい。
【0074】
「データ処理装置」、「データ処理システム」、又は「計算装置」という用語は、例示的には、プログラマブルプロセッサ、コンピュータ、チップ搭載システム、それらの複数又は組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、機械を包含する。こうした装置は、例えば、FPGA(書替え可能ゲートアレイ)又はASIC(特定用途向けIC)などの専用論理回路を含むことができる。さらに、この装置は、ハードウェアに加え、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームのランタイム環境、仮想マシン、これらの1つ又は複数の組合せなどを構成するコードなど、当該コンピュータプログラムの実行環境を作成するコードを含むことができる。これら装置及び実行環境は、ウェブサービス、分散形計算及びグリッドコンピューティング・インフラストラクチャなどの様々な異なる計算モデルインフラストラクチャを実現できる。
【0075】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとも呼ばれる)は、コンパイル済み若しくは解釈実行言語又は宣言型若しくは手続き型言語を含む任意形式のプログラミング言語で書くことができ、こうしたプログラムは、スタンドアローン形式のプログラム若しくはモジュール、構成要素、サブルーチン、オブジェクト又は計算環境における使用に適した他の単位を含む任意形式で導入できる。コンピュータプログラムは、ファイルシステムのファイルに対応できるが、必ずしもそうである必要はない。プログラムは、他のプログラム又はデータ(例えば、マーク付け言語文書に格納された1つ又は複数のスクリプト)を保持するファイルの一部、このプログラム専用の単一ファイル、又は多数の調整ファイル(例えば、1つ又は複数のモジュール、サブプログラム、又はコードの複数部分を格納するファイル)に格納できる。コンピュータプログラムは、単一のコンピュータ又は単一サイトに配置された複数のコンピュータ若しくは複数サイトに分散されて通信ネットワークにより相互接続した複数のコンピュータで実行されるよう導入できる。
【0076】
コンピュータプログラムの実行に適したプロセッサは、例示目的だが、汎用及び専用マイクロプロセッサ並びに任意種類のデジタルコンピュータの1つ又は複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリ若しくはランダムアクセス記憶装置又はそれら両方から命令及びデータを受け取る。コンピュータの不可欠な要素は、命令に従って動作を実行するためのプロセッサと、命令及びデータを格納するための1つ又は複数の記憶装置とである。一般に、コンピュータは、例えば、磁気ディスク、光磁気ディスク、又は光ディスクなどの1つ又は複数のデータ格納用の大容量記憶装置を含むか、それらからデータを受信又は転送、並びにその両方を行うため機能的に接続されている。しかし、コンピュータはそうした装置を備えている必要はない。さらに、例えば、コンピュータは、例えば、携帯電話、個人情報端末(PAD)、携帯オーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又は携帯用記憶装置(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別の装置に埋め込むことができる。コンピュータプログラム命令及びデータを格納するのに適した装置は、例えば、EPROM、EEPROM、及びフラッシュメモリ装置などの半導体記憶装置;例えば、内部ハードディスク又はリムーバルブディスクなどの磁気ディスク;光磁気ディスク;並びにCD-ROM及びDVD-ROMディスクを含むあらゆる形式の不揮発性記憶装置、媒体及び記憶装置を例えば含む。こうしたプロセッサ及びメモリは、専用論理回路により補足するかそれに組み込み可能である。
【0077】
ユーザとのインタラクションを実現するため、本明細書に記載された主題の実装例は、情報をユーザに表示するための、例えば、CRT(ブラウン管)、プラズマ、又はLCD(液晶表示装置)モニタなどの表示装置と、ユーザがコンピュータに入力を与えるのに使用するキーボード及び例えばマウスやトラックボールなどのポインティングデバイスとを備えたコンピュータで実装できる。他の種類のデバイスを使ってもユーザとインタラクションを実現できる。例えば、ユーザに与えられるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの任意形式の感覚フィードバックでよく、ユーザからの入力は、音響、音声、又は触覚入力を含む任意形式で受信できる。さらに、コンピュータは、例えば、ユーザのクライアント装置上のウェブブラウザから受信した要求に応答してウェブページをこのウェブブラウザに送るなど、ユーザが使用する装置との間で文書を送受信することでユーザとインタラクションできる。
【0078】
本明細書に記載された主題の実装例は、データサーバなどのバックエンド構成要素を含んだ計算機システム、例えばアプリケーションサーバなどのミドルウェア構成要素を含んだ計算機システム、ユーザが本明細書に記載された主題の実装例とインタラクションする手段となるグラフィカル・ユーザインタフェース若しくはウェブブラウザを備えたクライアントコンピュータなどのフロントエンド構成要素を含む計算機システム、又は1つ又は複数のそうしたバックエンド、ミドルウェア、若しくはフロントエンド構成要素の任意組合せ含む計算機システムで実装できる。こうしたシステムの構成要素は、例えば通信ネットワークなどの任意形式又は媒体のデジタルデータ通信により相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、相互接続ネットワーク(例えば、インターネット)、及びピアツーピアネットワーク(例えば、アドホック・ピアツーピアネットワーク)が含まれる。
【0079】
この計算機システムは、クライアント及びサーバを含むことができる。クライアントとサーバは、概して互いから遠隔に位置し、典型的には通信ネットワークを介して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されかつ互いにクライアント・サーバ関係を備えたコンピュータプログラムによって実現される。幾つかの実装例では、サーバは、データ(例えば、HTMLページ)をクライアント装置に送信する(例えば、データをクライアント装置とインタラクションするユーザに表示し、ユーザからユーザ入力を受け取るため)。クライアント装置で生成されるデータ(例えば、ユーザインタラクションの結果)は、クライアント装置からサーバで受信できる。
【0080】
本明細書は多くの特定の実装例に関する詳細を含むが、これらはいかなる発明の範囲又は請求項で記載されるものの限定と解釈されるべきでなく、本明細書で記載したの特定の実装例に固有な特徴の記述と解釈すべきである。別々の実装例の文脈で本明細書に記載された幾つかの特徴は、組み合わせることにより単一の実装例でも実現してもよい。反対に、単一の実装例の文脈で記載された様々な特徴は、複数の実装例で別々に又は任意適切な部分的な組合せでも実現してもよい。さらに、幾つかの特徴は、特定の組合せで動作するように上記で説明されかつ請求項にも当初そのように記載されているかもしれないが、請求項に記載の組合せからの1つ又は複数の特徴は、場合によってはこうした組合せから削除でき、さらに、請求項に記載のこの組合せは、部分的組合せ又は部分的組合せの変形例に関するものとしてよい。
【0081】
同様に、動作は図面では特定の順序で図示されているが、所望の結果を得るためには、こうした動作は、図示した特定の順序又は連続した順序で実行する必要があると理解すべきではなく、又すべての例示的な動作が実行される必要があるとも理解すべきでもない。幾つかの場合では、請求項に記載の動作は、異なる順序で実行してもなお所望の結果を得ることができる。さらに、添付図面に示した処理過程は、所望の結果を得るために図示した順序や連続した順番で実行する必要があるわけではない。
【0082】
一定の状況では、多重タスク処理及び並列処理が有利となることがある。さらに、上述の実装例における様々なシステム構成要素の分離は、すべての実装例でそうした分離が必要であると理解すべきでなく、上述のプログラム構成要素及びシステムは、概して有形媒体で実現された単一のソフトウェア製品に統合又は多数のそうしたソフトウェア製品に実装できることは理解すべきである。
【0083】
本明細書で使用する語句及び用語は説明目的であり、限定的に考慮されるべきではない。「含む」、「包含する」、「備える」、「収容する」、「伴う」、「を特徴とする」、「の点を特徴とする」及び本明細書でのそれらの変形の使用は、それら用語の対象となる部材とその等価物や付加的部材に加えて、それら用語の対象となる部材のみからなる代替的な実装例も含むことを意図している。一実装例では、本明細書で記載したシステム及び方法は、記載した要素、動作、又は構成要素の1つ、2つ以上の各組合せ、若しくはすべてを含む。
【0084】
本明細書で記載されたシステム及び方法の実装例、要素、又は動作の単数形での言及は、それら要素を数個含む実装例も包含でき、さらに、本明細書で記載された実装例、要素、又は動作の複数形での言及は、単一の要素のみを含む実装例も包含できる。単数又は複数形での言及は、本明細書で開示したシステム若しくは方法、それらの構成要素、動作、又は要素を単数又は複数構成に限定することを意図するものではない。任意の情報、動作、若しくは要素に基づいた任意動作又は要素の言及は、該動作又は要素が任意情報、動作、又は要素に少なくとも部分的に基づいている実装例を含むことがある。
【0085】
本明細書で開示された任意の実装例は、任意の他の実装例又は実施形態と組み合わせてもよく、さらに、「一実装例」、「幾つかの実装例」、「代替的な一実装例」、「様々な実装例」、「1つの実装例」などの言及は必ずしも相互排他的ではなく、その実装例に関連して記載された特定の機能、構造体、又は特徴が少なくとも1つの実装例若しくは実施形態に含まれうることを示すことを意図している。本明細書で使用されたそうした用語は、必ずしも同一の実装例を言及していない。任意の実装例は、本明細書で開示した側面及び実装例と矛盾しない方法で、包括的又は排他的に、任意の他の実装例と組み合わせることができる。
【0086】
「又は」という語句は包括的なものと解釈でき、「又は」を用いて記載された任意項目は、その記載された項目の単一、2つ以上、或いはすべてを示すことができる。
【0087】
図面、詳細な説明、又は任意の請求項の技術的特徴の後に参照符号が付加されている場合は、これら参照符号は、それら図面、詳細な説明、及び請求項の明瞭性を向上させることのみを目的として含まれている。従って、これら参照符号が記載されていてもいなくても、請求項の要素の範囲に何の影響も及ぼさない。
【0088】
本明細書で記載したシステム及び方法は、それらの特徴から逸脱することなく他の具体的な形式で実施できる。上述の実装例は、記載されたシステム及び方法に対して限定的でなく例示的である。従って、本明細書で記載したシステム及び方法の範囲は、上述の説明ではなく添付の請求項によって示されるものであり、請求項の意味及び均等物の範囲内での変化は、その中に包含されている。
図1
図2
図3A
図3B
図4A
図4B
図4C
図5A
図5B
図5C
図5D
図5E
図5F
図5G
図5H
図6A
図6B
図6C
図7A
図7B
図7C
図8A
図8B
図8C
図9