IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-524196プライバシー保護マルチパスストリートビューフォトステッチ
<>
  • 特表-プライバシー保護マルチパスストリートビューフォトステッチ 図1
  • 特表-プライバシー保護マルチパスストリートビューフォトステッチ 図2
  • 特表-プライバシー保護マルチパスストリートビューフォトステッチ 図3
  • 特表-プライバシー保護マルチパスストリートビューフォトステッチ 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-05
(54)【発明の名称】プライバシー保護マルチパスストリートビューフォトステッチ
(51)【国際特許分類】
   G06F 16/58 20190101AFI20240628BHJP
【FI】
G06F16/58
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023578805
(86)(22)【出願日】2022-06-24
(85)【翻訳文提出日】2023-12-20
(86)【国際出願番号】 CN2022101081
(87)【国際公開番号】W WO2023274058
(87)【国際公開日】2023-01-05
(31)【優先権主張番号】17/359,813
(32)【優先日】2021-06-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
(72)【発明者】
【氏名】ボックスウェル、スティーブン、アーサー
(72)【発明者】
【氏名】ブレーキ、カイル、マシュー
(72)【発明者】
【氏名】フロスト、キース、グレゴリー
(72)【発明者】
【氏名】バーニア、スタンレー、ジョン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175DA03
5B175FB03
5B175HA01
(57)【要約】
ユーザ機器から場所の複数の画像を受信することであって、複数の画像は、様々な時間における場所の画像を含む、受信することと、複数の画像のうちの1つまたは複数の画像のオブジェクトを特定することであって、オブジェクトは、データベースにとって不適当な条件に対応する、特定することと、特定されたオブジェクトに少なくとも部分的に基づいて、複数の画像のうちの1つまたは複数の画像のスコアを判定することと、複数の画像のうちの1つまたは複数の画像からベース画像を判定することと、複数の画像のうちの1つまたは複数の画像のそれぞれの判定されたスコアに少なくとも部分的に基づいて、場所の置換画像のセットを生成することと、により、不適当な動的要素を排除しつつ制御可能なパノラマ画像を生成する。
【選択図】図2
【特許請求の範囲】
【請求項1】
ユーザ機器から場所の複数の画像を受信することであって、前記複数の画像は様々な時間における場所の画像を含む、受信することと、
前記複数の画像のうちの1つまたは複数の画像のオブジェクトを特定することであって、前記オブジェクトは、データベースにとって不適当な条件に対応する、特定することと、
前記特定されたオブジェクトに少なくとも部分的に基づいて、前記複数の画像のうちの前記1つまたは複数の画像のスコアを判定することと、
前記複数の画像のうちの前記1つまたは複数の画像からベース画像を判定することと、
前記複数の画像のうちの前記1つまたは複数の画像のそれぞれの判定されたスコアに少なくとも部分的に基づいて、前記場所の置換画像のセットを生成することと、を含むコンピュータ実装方法。
【請求項2】
前記ベース画像に関連付けられた第2の判定されたスコアよりも小さい第1の判定されたスコアに関連付けられた前記置換画像のセットの置換画像を特定することに応答して、前記ベース画像を前記置換画像のセットの前記置換画像に置き換えることをさらに含む、請求項1に記載の方法。
【請求項3】
前記ベース画像を前記置換画像のセットの前記置換画像に置き換えることに応答して、前記不適当な条件に対応する前記オブジェクトを含む前記ベース画像を前記データベースから除去することをさらに含む、請求項2に記載の方法。
【請求項4】
重み付けされたラベルのセットを生成することであって、前記重み付けされたラベルのセットの1つまたは複数の重み付けされたラベルが、前記データベースのそれぞれの不適当な条件に対応する、生成することと、
前記重み付けされたラベルのセットを前記置換画像のセットにマッピングすることであって、重み付けされたラベルは、前記複数の画像のうちの前記1つまたは複数の画像のセグメントの前記オブジェクトに対応する、マッピングすることと、
前記複数の画像のうちの前記1つまたは複数の画像のそれぞれのセグメントのそれぞれの重み付けされたラベルに少なくとも部分的に基づいて、前記場所の置換サブ画像のセットを生成することであって、サブ画像は、前記複数の画像のうちの前記1つまたは複数の画像の前記それぞれのセグメントに対応する、生成することと、をさらに含む、請求項1に記載の方法。
【請求項5】
第1の重み付けされたラベルに関連付けられた前記置換サブ画像のセットのうち、前記ベース画像のセグメントに関連付けられた第2の重み付けされたラベルの値よりも小さいサブ画像はないと判定することに応答して、前記ベース画像の前記セグメントをマスクすることをさらに含む、請求項4に記載の方法。
【請求項6】
前記ベース画像のセグメントに関連する第2の重み付けされたラベルの値よりも小さい第1の重み付けされたラベルの値に関連する前記置換サブ画像のセットのサブ画像を特定することに応答して、前記ベース画像の前記セグメントを前記置換サブ画像のセットの前記サブ画像に置き換えることであって、前記ベース画像の前記セグメントは不適当な条件を含む、置き換えること、をさらに含む、請求項4に記載の方法。
【請求項7】
前記ベース画像の前記セグメントを前記置換サブ画像のセットの前記サブ画像に置き換えることに応答して、前記不適当な条件を含む前記ベース画像の前記セグメントを前記データベースから除去すること、をさらに含む、請求項6に記載の方法。
【請求項8】
1つまたは複数のコンピュータ可読記憶装置と、前記1つまたは複数のコンピュータ可読記憶装置上に集合的に記憶されたプログラム命令とを含むコンピュータプログラム製品であって、前記記憶されたプログラム命令は、
ユーザ機器から場所の複数の画像を受信するプログラム命令であって、前記複数の画像は様々な時間における場所の画像を含む、プログラム命令と、
前記複数の画像のうちの1つまたは複数の画像のオブジェクトを特定するプログラム命令であって、前記オブジェクトは、データベースにとって不適当な条件に対応する、プログラム命令と、
前記特定されたオブジェクトに少なくとも部分的に基づいて、前記複数の画像のうちの前記1つまたは複数の画像のスコアを判定するプログラム命令と、
前記複数の画像のうちの前記1つまたは複数の画像からベース画像を判定するプログラム命令と、
前記複数の画像のうちの前記1つまたは複数の画像のそれぞれの判定されたスコアに少なくとも部分的に基づいて、前記場所の置換画像のセットを生成するプログラム命令と、を含む、コンピュータプログラム製品。
【請求項9】
前記記憶されたプログラム命令は、前記ベース画像に関連付けられた第2の判定されたスコアよりも小さい第1の判定されたスコアに関連付けられた前記置換画像のセットの置換画像を特定することに応答して、前記ベース画像を前記置換画像のセットの前記置換画像に置き換えるプログラム命令をさらに含む、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記記憶されたプログラム命令は、前記ベース画像を前記置換画像のセットの前記置換画像に置き換えることに応答して、前記不適当な条件に対応する前記オブジェクトを含む前記ベース画像を前記データベースから除去するプログラム命令をさらに含む、請求項9に記載のコンピュータプログラム製品。
【請求項11】
前記記憶されたプログラム命令は、
重み付けされたラベルのセットを生成するプログラム命令であって、前記重み付けされたラベルのセットの1つまたは複数の重み付けされたラベルが、前記データベースのそれぞれの不適当な条件に対応する、プログラム命令と、
前記重み付けされたラベルのセットを前記置換画像のセットにマッピングするプログラム命令であって、重み付けされたラベルは、前記複数の画像のうちの前記1つまたは複数の画像のセグメントの前記オブジェクトに対応する、プログラム命令と、
前記複数の画像のうちの前記1つまたは複数の画像のそれぞれのセグメントのそれぞれの重み付けされたラベルに少なくとも部分的に基づいて、前記場所の置換サブ画像のセットを生成するプログラム命令であって、サブ画像は、前記複数の画像のうちの前記1つまたは複数の画像の前記それぞれのセグメントに対応する、プログラム命令と、をさらに含む、請求項8に記載のコンピュータプログラム製品。
【請求項12】
前記記憶されたプログラム命令は、第1の重み付けされたラベルに関連付けられた前記置換サブ画像のセットのうち、前記ベース画像のセグメントに関連付けられた第2の重み付けされたラベルの値よりも小さいサブ画像はないと判定することに応答して、前記ベース画像の前記セグメントをマスクするプログラム命令をさらに含む、請求項11に記載のコンピュータプログラム製品。
【請求項13】
前記記憶されたプログラム命令は、前記ベース画像のセグメントに関連する第2の重み付けされたラベルの値よりも小さい第1の重み付けされたラベルの値に関連する前記置換サブ画像のセットのサブ画像を特定することに応答して、前記ベース画像の前記セグメントを前記置換サブ画像のセットの前記サブ画像に置き換えるプログラム命令であって、前記ベース画像の前記セグメントは不適当な条件を含む、プログラム命令をさらに含む、請求項11に記載のコンピュータプログラム製品。
【請求項14】
前記記憶されたプログラム命令は、前記ベース画像の前記セグメントを前記置換サブ画像のセットの前記サブ画像に置き換えることに応答して、前記不適当な条件を含む前記ベース画像の前記セグメントを前記データベースから除去するプログラム命令をさらに含む、請求項13に記載のコンピュータプログラム製品。
【請求項15】
1つまたは複数のコンピュータプロセッサと、
1つまたは複数のコンピュータ可読記憶装置と、
前記1つまたは複数のコンピュータプロセッサによる実行のために、前記1つまたは複数のコンピュータ可読記憶装置上に記憶されたプログラム命令と、を含み、前記記憶されたプログラム命令は、
ユーザ機器から場所の複数の画像を受信するプログラム命令であって、前記複数の画像は、様々な時間における場所の画像を含む、プログラム命令と、
前記複数の画像のうちの1つまたは複数の画像のオブジェクトを特定するプログラム命令であって、前記オブジェクトは、データベースにとって不適当な条件に対応する、プログラム命令と、
前記特定されたオブジェクトに少なくとも部分的に基づいて、前記複数の画像のうちの前記1つまたは複数の画像のスコアを判定するプログラム命令と、
前記複数の画像のうちの前記1つまたは複数の画像からベース画像を判定するプログラム命令と、
前記複数の画像のうちの前記1つまたは複数の画像のそれぞれの判定されたスコアに少なくとも部分的に基づいて、前記場所の置換画像のセットを生成するプログラム命令と、を含む、コンピュータシステム。
【請求項16】
前記記憶されたプログラム命令は、前記ベース画像に関連付けられた第2の判定されたスコアよりも小さい第1の判定されたスコアに関連付けられた前記置換画像のセットの置換画像を特定することに応答して、前記ベース画像を前記置換画像のセットの前記置換画像に置き換えるプログラム命令をさらに含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記記憶されたプログラム命令は、
重み付けされたラベルのセットを生成するプログラム命令であって、前記重み付けされたラベルのセットの1つまたは複数の重み付けされたラベルが、前記データベースのそれぞれの不適当な条件に対応する、プログラム命令と、
前記重み付けされたラベルのセットを前記置換画像のセットにマッピングするプログラム命令であって、重み付けされたラベルは、前記複数の画像のうちの前記1つまたは複数の画像のセグメントの前記オブジェクトに対応する、プログラム命令と、
前記複数の画像のうちの前記1つまたは複数の画像のそれぞれのセグメントのそれぞれの重み付けされたラベルに少なくとも部分的に基づいて、前記場所の置換サブ画像のセットを生成するプログラム命令であって、サブ画像は、前記複数の画像のうちの前記1つまたは複数の画像の前記それぞれのセグメントに対応する、プログラム命令と、をさらに含む、請求項15に記載のコンピュータシステム。
【請求項18】
前記記憶されたプログラム命令は、第1の重み付けされたラベルに関連付けられた前記置換サブ画像のセットのうち、前記ベース画像のセグメントに関連付けられた第2の重み付けされたラベルの値よりも小さいサブ画像はないと判定することに応答して、前記ベース画像の前記セグメントをマスクするプログラム命令をさらに含む、請求項17に記載のコンピュータシステム。
【請求項19】
前記記憶されたプログラム命令は、前記ベース画像のセグメントに関連する第2の重み付けされたラベルの値よりも小さい第1の重み付けされたラベルの値に関連する前記置換サブ画像のセットのサブ画像を特定することに応答して、前記ベース画像の前記セグメントを前記置換サブ画像のセットの前記サブ画像に置き換えるプログラム命令であって、前記ベース画像の前記セグメントは不適当な条件を含む、プログラム命令をさらに含む、請求項17に記載のコンピュータシステム。
【請求項20】
前記記憶されたプログラム命令は、前記ベース画像の前記セグメントを前記置換サブ画像のセットの前記サブ画像に置き換えることに応答して、前記不適当な条件を含む前記ベース画像の前記セグメントを前記データベースから除去するプログラム命令をさらに含む、請求項19に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に画像認識に関する。本開示は、特に、不適当な動的要素を排除しつつ制御可能なパノラマ画像を生成するために、ユーザ機器の複数のパスからのデータを結合することに関する。
【背景技術】
【0002】
バーチャルリアリティ(VR)とは、現実世界と似ていることもあれば、まったく異なることもある疑似体験のことである。バーチャルリアリティの用途には、娯楽(ビデオゲームなど)、教育(医療や軍事訓練など)、ビジネス(バーチャル会議など)などがある。VRスタイルの技術には他に、拡張現実(AR)、複合現実(MR)があり、拡張現実(XR)と呼ばれることもある。360度写真は、撮影された元の地点を取り囲む、制御可能なパノラマ画像である。360度写真は、撮影者の立場になって、好きなように左、右、上、下を見回したり、時にはズームしたりすることをシミュレートする。
【0003】
コンピュータビジョンは、コンピュータがデジタル画像やビデオからいかに高度な理解を得るかを扱う学際的な科学分野である。工学の観点から、コンピュータビジョンは、人間の視覚システムが実行できるタスクを理解し、自動化することを目指している。コンピュータビジョンのタスクには、デジタル画像の取得、処理、分析、理解、および現実世界からの高次元データの抽出方法が含まれる。コンピュータビジョンのサブドメインには、シーン再構築、物体検出、イベント検出、ビデオトラッキング、物体認識、3Dポーズ推定、学習、インデックス作成、モーション推定、3Dシーンモデリング、画像復元などがある。
【発明の概要】
【0004】
以下では、本開示の1つまたは複数の実施形態の基本的な理解を提供するための要約を示す。この要約は、重要な部分または重要な要素を特定すること、または特定の実施形態の範囲または特許請求の範囲を画定することを意図するものではない。その一の目的は、後に提示されるより詳細な説明の前段階として、簡略化された形態で概念を提示することである。本明細書に記載される1つまたは複数の実施形態において、装置(devices)、システム、コンピュータ実装方法、装置(apparatuses)、もしくはコンピュータプログラム製品またはそれらの組み合わせは、ユーザ装置の複数のパスからのデータを組み合わせて、不適当な動的要素を除去しながら制御可能なパノラマ画像を生成することを可能にする。
【0005】
本発明の態様は、ユーザ機器から場所の複数の画像を受信することであって、複数の画像は、様々な時間における場所の画像を含む、受信することと、複数の画像のうちの1つまたは複数の画像のオブジェクトを特定することであって、オブジェクトは、データベースにとって不適当な条件に対応する、特定することと、特定されたオブジェクトに少なくとも部分的に基づいて、複数の画像のうちの1つまたは複数の画像のスコアを判定することと、複数の画像のうちの1つまたは複数の画像からベース画像を判定することと、複数の画像のうちの1つまたは複数の画像のそれぞれの判定されたスコアに少なくとも部分的に基づいて、場所の置換画像のセットを生成することと、に関連する方法、システム、およびコンピュータ可読媒体を開示する。
【0006】
添付図面における本開示のいくつかの実施形態のより詳細な説明を通じて、本開示の上記および他の目的、特徴および利点がより明らかになるであろう。
【図面の簡単な説明】
【0007】
図1】本発明の一実施形態によるコンピューティング環境の概略図である。
図2】本発明の一実施形態による動作シーケンスを示すフローチャートである。
図3】本発明の一実施形態によるクラウドコンピューティング環境を示している。
図4】本発明の一実施形態による抽象化モデルレイヤを示す図である。
【発明を実施するための形態】
【0008】
いくつかの実施形態を、本開示の実施形態が図示された添付図面を参照してより詳細に説明する。しかしながら、本開示は、様々な態様で実施することができ、したがって、本明細書に開示された実施形態に限定されると解釈されるべきではない。
【0009】
現在、さまざまなインターネットサービスによって、ユーザは街頭からの家や会社の画像を見ることができる。一般に、撮影車両に搭載された360度カメラによって撮影されたこれらの画像は、様々な作業に有用である。本発明の実施形態では、これらの画像は、撮影車両が通過する際に偶然居合わせた個人のプライバシーを不当に侵害する可能性があることを認識している。従来の方法では、個人の顔や車のナンバープレートを見えなくする努力がなされている。しかしながら、本発明の実施形態は、個人および所有物が他の手段によって特定される可能性があるため、顔およびナンバープレートを不明瞭にする方法によって個人の特定を防止することに課題が存在することを認識する。追加的な実施形態は、ある物体が様々な理由でユーザのデータベースに適さないことを認識する。例えば、画像内の個人または車両が、画像の意図された対象(例えば、店先)を不明瞭にすることがある。別の例では、歩道にゴミ箱があふれている瞬間に画像がキャプチャされ、この不快な画像は、場所や事業所に対して訪問者を不当に偏見させる可能性がある。また、他社の知的財産に関する社内ポリシーのため、データベースに適さない保護されたコンテンツ(商標、著作権で保護されたコンテンツなど)を含む看板広告を含む画像がキャプチャされる。
【0010】
本発明の開示された実施形態は、データベースから不適当な動的要素(例えば、不適当な条件に対応するオブジェクト)を除去しながら、制御可能なパノラマ画像を生成するために、ユーザ機器の複数のパスからのデータを組み合わせることを可能にする。さらに、本発明の開示された実施形態は、不適当な動的要素を除去するために、ある場所の複数の画像の時間的な差異を利用する。さらに、開示された実施形態は、不適当な動的要素を含む画像を除去することによって、データベースのメモリ使用率を自動的に低減する。
【0011】
一実施形態では、システムの1つ以上の構成要素は、本質的に高度に技術的である問題(例えば、ポリシー違反検索、複数の画像のうちの1つ以上の画像のオブジェクトを特定することであって、オブジェクトがデータベースにとって不適当な条件に対応する、など)を解決するために、ハードウェアもしくはソフトウェアまたはその両方を採用することができる。これらの解決策は抽象的なものではなく、例えば、不適当な条件に対応するオブジェクトを含むベース画像をデータベースから除去することを容易にするために必要とされる処理能力のために、人間による一連の精神的行為として実行することはできない。さらに、実行される処理の一部は、重み付けされたラベルの集合を置換画像のセットにマッピングすることに関連する定義されたタスクを実行するための専用のコンピュータによって実行されてもよく、ここで、重み付けされたラベルは、複数の画像のうちの1つ以上の画像のセグメントのオブジェクトに対応する。例えば、専用コンピュータは、複数の画像のうちの1つ以上の画像のオブジェクトを特定することに関連するタスクを実行するために採用することができ、オブジェクトは、データベースなどにとって不適当な条件に対応する。
【0012】
本発明の実施形態の実装は、様々な形態をとることができ、例示的な実装の詳細については、図を参照して後述する。
【0013】
一実施形態では、不適当な動的要素除去方法を実行するシステムは、重み付けされたラベルのセット「L」を1つ以上の置換画像のセットにマッピングする。この方法は、画像のオブジェクトがユーザにとってどの程度望ましくないかを示すラベル「l」に値(例えば、0.0から1.0まで、0.0は最低値であり、1.0は最高値である)を割り当てる(すなわち、データベースの意図された目的に対する画像のオブジェクトの不適性を示す値を割り当てる)ことによって、重み付けされたラベルのセットを生成する。ラベルは、データベースに対するユーザの不適当な条件に対応する。例えば、不適当な条件は、利害の衝突、プライバシーの侵害、不快なコンテンツなどを含むが、これらに限定されない問題を引き起こすオブジェクトに関連することができる。利益相反には、他者の知的財産を含む画像の使用や、社内ポリシーの遵守に違反する画像が含まれる。プライバシーの侵害には、個人を特定できる情報(PII)を開示する画像、または個人を特定できるその他のデータ要素を開示する画像が含まれる場合がある。攻撃的なコンテンツには、暴力的、脅迫的、詐欺的、またはわいせつな内容を含む画像の使用が含まれる場合がある。
【0014】
実施形態において、本方法は、ラベルを1つ以上の置換画像のセットにマッピングする。例えば、本方法は、マップ関数を利用することができ、マップ関数は、所定の関数(例えば、マップ関数が所定の反復可能の各要素を渡す関数)を所定の反復可能(例えば、リスト、タプルなど)の各項目に適用した後の結果のマップオブジェクト(例えば、イテレータ)を返す。この例では、本方法は、「C」が所定の関数「l」を適用した後の結果の返されたリストを含むオブジェクトであり、「l」が重み付けされたラベルを表し、「r」がマッピングのための反復可能なもの(例えば、置換画像のセットの置換画像)を表す「マップC(l,r)」を利用する。さらに、本方法は、「C」を利用して、リストもしくはセットまたはその方法を作成することができ、本方法は、タイプ(例えば、画像のセグメント、オブジェクト、画素範囲等)によって整理することができる。
【0015】
一実施形態では、本方法は、ユーザ機器からジオロケーションの複数の画像を受信する。本方法は、伝送制御プロトコル(TCP)およびインターネットプロトコル(IP)を介して、ユーザの撮像デバイスからジオロケーションの複数の画像を受信する。画像は、建物を複数回通過する間に様々な時間に撮影された建物のパノラマストリートレベル画像であってもよい。本実施形態では、本方法は、複数の画像を利用して、置換画像のセットを生成する。さらに、画像及び場所データは、撮像装置によって提供され、ユーザの同意を得て開示された方法に使用される。代替実施形態では、本方法は、遠隔記憶装置からジオロケーションの複数の画像を検索する。本方法は、画像が遠隔記憶装置から検索可能であることを示す記憶場所を含む通知を撮像装置から受信する。この代替実施形態では、本方法は、遠隔記憶装置から画像を検索するために、通知の記憶場所を利用する。
【0016】
本方法は、リカレントニューラルネットワーク(RNN)、サポートベクターマシン(SVM)、または他の分類機械学習モデルアーキテクチャなどの機械学習モデルを訓練して、データベースの意図された目的に対して不適当な条件に対応するオブジェクトを特定する(すなわち、望ましくない動的要素を特定する)。本方法は、不適当な条件に対応する重み付けされたラベルに関連付けられたオブジェクトを特定するようにモデルを訓練する。一実施形態において、本方法は、不適当な条件に対応するクラスのオブジェクトに対応する特徴を含む画像のセットをラベル付けし、ラベル付けされた画像のセットを機械学習モデルの訓練に提供する。一実施形態において、本方法は、ラベル付けされた画像データのセットの一部を、訓練された機械学習モデルを検証するためのテストデータとして使用するために確保する。訓練された機械学習モデルは、ユーザの撮像デバイスの新たなラベル付けされていない画像データを使用して、不適当な条件に対応するオブジェクトの検出を可能にする。訓練されたモデルは、新たな入力画像データから、訓練されたモデルによる不適当な条件に対応する1つ以上のオブジェクトの検出及び分類を示す出力を提供する。不適当な条件に対応する1つまたは複数のオブジェクトの分類は、学習済みモデルの出力に従って方法によって判定される。
【0017】
実施形態において、本方法は、ユーザの撮像デバイスの複数の画像(例えば、画像「P」の集合)のうちの1つ以上の画像(例えば、(p)は複数の画像のうちの1つの画像)を学習済みモデルに入力し、複数の画像のうちの1つ以上の画像が不適当な条件(例えば、ラベル、クラスなど)に対応するオブジェクトを含むか否かを判定する。本実施形態において、本方法は、不適当な条件に対応するオブジェクトを含む画像のセグメント(例えば、定義された領域)にラベルを割り当てる。
【0018】
一実施形態において、本方法は、ユーザの撮像装置の複数の画像のうちの画像(p)のスコアを判定する。本方法は、画像内の特定されたオブジェクトに対応するラベル「L」のセットのメンバーのカウントと、メンバーのそれぞれの重みとを利用して、画像にスコアを割り当てる。例えば、本方法は、Σ(L(i))を利用してスコアを判定し、ここで、「i」は、画像上の各特定されたオブジェクトのラベル「l」である。この例では、本方法は、画像のセグメント(例えば、サブ画像、定義された領域、画素範囲など)に関連するスコアを判定するために上記の方法を利用することができる。また、本方法は、ユーザの撮像デバイスから受信した画像「P」のセットの各画像(p)に対するスコアを判定することができる。
【0019】
一実施形態において、本方法は、ユーザの撮像装置の複数の画像のベース画像(p’)を判定する。本方法は、複数の画像の各画像の判定されたスコアに関して最も低い値を有する画像を特定する。本実施形態において、本方法は、判定されたスコアが最も低い複数の画像の画像を選択し、その画像をベース画像として指定する。あるいは、本方法は、ユーザの撮像デバイスから受信した第1の画像をベース画像として選択することができる。別の実施形態では、本方法は、ユーザの装置によって提供されたユーザ選択画像をベース画像として選択する。
【0020】
一実施形態において、本方法は、ベース画像に対する置換画像のセットを生成する。画像がユーザの撮像デバイスから本方法によって受信されると、本方法は、上述した方法を使用して、受信された画像の各々についてスコアを判定する。本実施形態において、本方法は、ベース画像の判定されたスコアと受信画像の判定されたスコアとを比較して、受信画像の判定されたスコアがベース画像の判定されたスコアより低いかまたは等しいかを判定する。あるシナリオでは、受信画像の判定されたスコアがベース画像の判定されたスコア以下であると本方法が判定した場合、本方法は受信画像をベース画像の置換セットに追加する。別のシナリオでは、受信画像の判定されたスコアがベース画像の判定されたスコアより大きいと本方法が判定した場合、本方法は受信画像をベース画像の置換セットに追加しない。あるいは、本方法は、使用に適さないという理由で、受信した画像をデータベースから廃棄することができる。
【0021】
別の実施形態では、本方法は、ベース画像のセグメントに対する置換サブ画像のセットを生成する。本方法は、ベース画像のラベル付けされたセグメント(p’)と、複数の画像(例えば、画像のセット「p」)の各受信画像(p)とのペアをスコアリングするためのサブ画像を含むペアのセット「M」を生成する。本実施形態において、本方法は、「M」を入力するために式のセットを利用し、これは、ベース画像(p’)のラベル付けされたセグメントを画像(p)のサブ画像で置き換えるために利用され得る。例えば、本方法が(p’=p)と判定した場合、本方法は、ベース画像(p’)のラベル付けされたセグメントを、ラベル付けされたセグメントに対応するスコアを有する「M」に追加する。方法が「p’≠p」(例えば、第1の式)と判定した場合、方法は式の集合の第2の式を評価する。この例において、方法が、画像のサブ画像(p)がラベル付けされておらず、ベース画像(p’)のラベル付けされたセグメントに対応すると判定した場合、方法は、画像のサブ画像(p)をゼロ(0.0)のスコアで「M」に追加する。第2の式が偽と評価されると判定された場合、方法は式のセットの第3の式を評価する。この例では、方法が、画像(p)のサブ画像のラベルの合計(例えば、サブ画像スコア)がベース画像(p’)のラベル付けされたセグメントに対応し、(p)のラベルの合計がベース画像(p’)のラベル付けされたセグメントのスコア(例えば、セグメントスコア)より小さいと判定した場合、方法は、サブ画像のラベルの合計をスコアとして、画像(p)のサブ画像を「M」に追加する。
【0022】
一実施形態において、本方法は、ベース画像を、生成された置換画像のセットの置換画像に置き換える。本方法は、ベース画像のスコアよりも低いスコアを有する生成された置換画像のセットの画像を特定する。本実施形態において、方法が、ベース画像よりも低いスコアを有する生成された置換画像のセットの画像を特定しない場合、方法は、不適当な条件に対応するベース画像のオブジェクトをマスクする。例えば、本方法は、不適当な条件に対応するオブジェクトを含むベース画像にオーバーレイ層を追加する。この例では、オーバーレイ層は、オブジェクトを覆い、視聴者の視界からオブジェクトを遮る画像を含む。
【0023】
別の実施形態では、本方法は、ベース画像のセグメントを、置換サブ画像のセットのサブ画像に置き換える。本方法は、置換サブ画像のセットのサブ画像をスコア(例えば、オブジェクトの累積スコア)によってランク付けして、ベース画像のセグメントに対応する最も低いスコアを有する置換サブ画像のセットのサブ画像を特定することができる。本実施形態では、方法は、サブ画像のスコアがベース画像のセグメントのラベルのスコアよりも小さい場合、ベース画像のセグメントを特定されたサブ画像で置き換えることができる。1つのシナリオでは、方法が、式のセットの式が偽に評価されると判定した場合、方法は、ベース画像のラベル付けされたセグメント(p’)を、ラベル付けされたセグメントのスコアよりも小さい最も低いスコアを有する「M」の対応するサブ画像に置き換える。別のシナリオでは、ベース画像(p’)のラベル付けされたセグメントに対応する最低スコアを有する「M」のサブ画像が、ラベル付けされたセグメントのスコア未満ではないと判定した場合、方法はベース画像(p’)のセグメントをマスクする。例えば、マスキングには、画像をモザイク処理してベース画像のセグメントを覆うこと、セグメントを覆うレイヤに画像を追加することなどが含まれるが、これらに限定されない。
【0024】
さらに別の実施形態では、本方法は、ベース画像のセグメントのラベルと、生成された重み付けされたラベルのセットとを利用して、ベース画像のセグメントを置き換える。本方法は、1つ以上のラベル付けされたセグメントが、生成された重み付けされたラベルのセットのキーであることを判定する。実施形態において、方法は、キーとして特定された1つ以上のラベル付けされたセグメントのラベルを、置換画像のセットの置換サブ画像「r」に置き換える(すなわち、ベース画像(p’)のラベル付けされたセグメントが「C」のキーである場合、ベース画像(p’)のラベル付けされたセグメントを置換「r」に置き換える)。
【0025】
一実施形態では、本方法は、置換画像を含むベース画像を返す。この方法は、データベースにとって不適当な条件に対応するオブジェクトをもはや含まないか、または変更されたベース画像のオブジェクトがマスクされた、新しいまたは変更されたベース画像を提供する。実施形態において、本方法は、置換されたベース画像またはベース画像のラベル付けされたセグメントをデータベースから除去することができ、これにより、データベースがユーザのポリシーに適合するようになり、もしくは、追加の好適な置換画像のためにデータベースの利用可能なメモリリソースが増加し、またはその両方が起こる。さらに、本方法は、歩行者のプライバシーを保護し、財産権の侵害を防止するパノラマストリートレベル画像の生成に適したベース画像を提供する。
【0026】
図1は、開示された発明の実施に関連する例示的なネットワークリソースの概略図である。本発明は、命令ストリームを処理する開示された要素のいずれかのプロセッサにおいて実施することができる。図に示すように、ネットワーク接続されたクライアント装置110は、サーバサブシステム102に無線接続する。クライアント装置104は、ネットワーク114を介してサーバサブシステム102に無線接続する。クライアント装置104および110は、アプリケーションプログラム(図示せず)と、プログラムを実行するのに十分なコンピューティングリソース(プロセッサ、メモリ、ネットワーク通信ハードウェア)を含む。
【0027】
図1に示すように、サーバサブシステム102は、サーバコンピュータ150を含む。図1は、本発明の実施形態による、ネットワーク化されたコンピュータシステム1000内のサーバコンピュータ150の構成要素のブロック図を示す。図1は、1つの実施形態の例示を提供するだけであり、異なる実施形態が実施され得る環境に関していかなる制限も意味しないことを理解されたい。特許請求の範囲に記載された本発明の範囲から逸脱することなく、当業者によって、図示された環境に対する多くの変更がなされ得る。
【0028】
本発明は、個人情報、コンテンツ、またはユーザが処理されないことを望む情報を含む可能性のある、クライアント装置104および110ならびにメモリ158などの様々なアクセス可能なデータソースを含む可能性がある。個人情報には、トラッキング情報やジオロケーション情報などのユーザ情報だけでなく、個人を特定する情報や機密性の高い個人情報が含まれる。処理とは、収集、記録、整理、構造化、保管、適応、変更、検索、相談、使用、送信による開示、普及、またはその他の方法で利用可能にすること、組み合わせ、制限、消去、または破棄など、自動化されているかどうかにかかわらず、個人情報に対して行われる操作または一連の操作を指す。プログラム175は、個人情報の認可された安全な処理を可能にする。プログラム175は、個人情報の収集に関する通知とともに、インフォームドコンセントを提供し、ユーザが個人情報の処理をオプトインまたはオプトアウトできるようにする。同意にはいくつかの形式がある。オプトインコンセントは、個人情報が処理される前に積極的な行動をとることをユーザに課すことができる。あるいは、オプトアウトの同意は、個人情報が処理される前に、個人情報の処理を防止するための積極的な行動を取ることをユーザに課すことができる。プログラム175は、個人情報および処理の性質(種類、範囲、目的、期間など)に関する情報を提供する。プログラム175は、保存された個人情報のコピーをユーザに提供する。プログラム175は、不正確または不完全な個人情報の訂正または補完を可能にする。プログラム175は、個人情報を直ちに削除することができる。
【0029】
サーバコンピュータ150は、プロセッサ154、メモリ158、永続記憶装置170、通信ユニット152、入出力(I/O)インタフェース156、および通信ファブリック140を含むことができる。通信ファブリック140は、キャッシュ162、メモリ158、永続記憶装置170、通信ユニット152、および入出力(I/O)インタフェース156間の通信を提供する。通信ファブリック140は、プロセッサ(マイクロプロセッサ、通信およびネットワークプロセッサなど)、システムメモリ、周辺装置、およびシステム内の他のハードウェアコンポーネント間でデータもしくは制御情報またはその両方を受け渡すように設計された任意のアーキテクチャで実装することができる。例えば、通信ファブリック140は、1つまたは複数のバスで実装することができる。
【0030】
メモリ158および永続記憶装置170は、コンピュータ可読記憶媒体である。本実施形態では、メモリ158はランダムアクセスメモリ(RAM)160を含む。一般に、メモリ158は、任意の適切な揮発性または不揮発性のコンピュータ可読記憶媒体を含むことができる。キャッシュ162は、最近アクセスされたデータ、および最近アクセスされたデータの近傍のデータをメモリ158から保持することによって、プロセッサ154の性能を向上させる高速メモリである。
【0031】
本発明の実施形態を実践するために使用されるプログラム命令およびデータ、例えばプログラム175は、キャッシュ162を介してサーバコンピュータ150のそれぞれのプロセッサ154の1つまたは複数による実行もしくはアクセスまたはその両方のために、永続記憶装置170に記憶される。本実施形態では、永続記憶装置170は磁気ハードディスクドライブを含む。代替的に、または磁気ハードディスクドライブに加えて、永続記憶装置170は、ソリッドステートハードドライブ、半導体記憶装置、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、フラッシュメモリ、またはプログラム命令またはデジタル情報を記憶することができる任意の他のコンピュータ可読記憶媒体を含むことができる。
【0032】
永続記憶装置170が使用する媒体は、取り外し可能である場合もある。例えば、リムーバブルハードドライブを永続記憶装置170に使用することができる。他の例としては、永続記憶装置170の一部でもある別のコンピュータ可読記憶媒体に転送するためにドライブに挿入される光ディスクや磁気ディスク、サムドライブ、スマートカードがある。
【0033】
通信ユニット152は、これらの例では、クライアントコンピューティング装置104、および110のリソースを含む、他のデータ処理システムまたは装置との通信を提供する。これらの実施例において、通信ユニット152は、1つ以上のネットワークインタフェースカードを含む。通信ユニット152は、物理通信リンクおよび無線通信リンクのいずれか一方または両方の使用を通じて通信を提供することができる。ソフトウェア配布プログラム、および本発明の実施に使用される他のプログラムおよびデータは、通信ユニット152を介してサーバコンピュータ150の永続記憶装置170にダウンロードされてもよい。
【0034】
I/Oインタフェース156は、サーバコンピュータ150に接続され得る他の装置とのデータの入出力を可能にする。例えば、I/Oインタフェース156は、キーボード、キーパッド、タッチスクリーン、マイクロフォン、デジタルカメラ、もしくは他の適切な入力装置またはこれらの組み合わせなどの外部装置190への接続を提供することができる。外部装置190は、例えば、サムドライブ、ポータブル光または磁気ディスク、メモリカードなどのポータブルコンピュータ可読記憶媒体も含むことができる。本発明の実施形態を実施するために使用されるソフトウェアおよびデータ、例えば、サーバコンピュータ150上のプログラム175は、このような携帯型コンピュータ可読記憶媒体に記憶することができ、I/Oインタフェース156を介して永続記憶装置170にロードすることができる。I/Oインタフェース156はディスプレイ180にも接続する。
【0035】
ディスプレイ180は、ユーザにデータを表示する機構を提供し、例えば、コンピュータのモニタであってもよい。ディスプレイ180は、タブレットコンピュータのディスプレイのようなタッチスクリーンとしても機能することができる。
【0036】
図2は、本開示の実施に関連する例示的な動作を示すフローチャート200を提供する。一実施形態では、プログラム175は、ユーザがネットワーク114を介してクライアント装置104または110をプログラム175に接続することに応答して開始する。例えば、プログラム175は、ユーザがWLAN(例えば、ネットワーク114)を介してプログラム175に画像形成装置(例えば、クライアント装置104)を登録(例えば、オプトイン)することに応答して開始する。別の実施形態では、プログラム175は、クライアント装置104を継続的に監視するバックグラウンドアプリケーションである。例えば、プログラム175は、ユーザの画像形成装置(例えば、クライアント装置104)の起動時に開始し、画像形成装置の画像データを監視するクライアント側アプリケーションである。
【0037】
プログラム開始後、ブロック202において、プログラム175の方法は重み付けされたラベルのセットを生成する。一実施形態では、プログラム175は重み付けされたラベルのセットを生成し、重み付けされたラベルのセットをサーバコンピュータ150のメモリ158に格納する。
【0038】
ブロック204において、プログラム175の方法は、重み付けされたラベルのセットを画像のセットにマッピングする。一実施形態では、プログラム175は、サーバコンピュータ150のメモリ158内の重み付けされたラベルのセットをメモリ158の画像のセットにマッピングする。この実施形態では、メモリ158の画像のセットは、最初は画像を含まない場合があり、プログラム175は、クライアント装置104から受信されたメモリ158のデータベースオブジェクトの画像のセットの値のターゲット先に重み付けされたラベルをマッピングする。
【0039】
ブロック206において、プログラム175の方法は、ユーザ機器から複数の画像を受信する。一実施形態では、プログラム175は、ユーザのクライアント装置104から場所の複数の画像を受信する。この実施形態では、プログラム175は、複数の画像をメモリ158に記憶する。さらに、プログラム175は、プログラム175が追加の画像を受信すると、クライアント装置104から複数の画像を更新する。別の実施形態では、プログラム175は、クライアント装置104から場所の複数の画像を取得する。この例では、プログラム175は、ネットワーク114を介してサーバコンピュータ150に複数の画像の送信要求を送信する。
【0040】
ブロック208において、プログラム175の方法は、複数の画像のうちの1つまたは複数の画像のオブジェクトを特定する。一実施形態では、プログラム175は、メモリ158の重み付けされたラベルのセットを利用して、クライアント装置104から受信した複数の画像のラベルのセットのラベルに対応するオブジェクトを特定する。この実施形態では、プログラム175は、ラベルに対応する画像内のオブジェクトを検出するためにコンピュータビジョン技術(例えば、機械学習モデル)を利用する。
【0041】
ブロック210において、プログラム175の方法は、1つまたは複数の画像に関連するスコアを判定する。一実施形態では、プログラム175は、重み付けされたラベルのセットの各ラベルに関連する重みを利用して、クライアント装置104から受信されたメモリ158の複数の画像のうちの1つ以上の画像についてのスコアを判定する。この実施形態では、プログラム175は、複数の画像のうちの1つ以上の画像の1つ以上のサブ画像のスコアを判定する。
【0042】
ブロック212において、プログラム175の方法はベース画像を選択する。一実施形態では、プログラム175は、クライアント装置104から受信したメモリ158の複数の画像のうちの1つまたは複数の画像を利用してベース画像を判定する。この実施形態では、プログラム175は、判定されたスコアが最も低いメモリ158の複数の画像の画像を特定し、その画像をベース画像として選択する。別の実施形態では、プログラム175は、クライアント装置104からユーザの画像を受信する。この実施形態では、ユーザは、プログラム175に対して、画像が初期使用のベース画像であることを示す。
【0043】
ブロック214において、プログラム175の方法は、ベース画像に対する置換画像のセットを生成する。一実施形態では、プログラム175は、ベース画像のスコアと、クライアント装置104から受信したメモリ158の複数の画像のうちの1つ以上の画像のスコアとを利用して、ベース画像に対するメモリ158内の置換画像のセットを生成する。この実施形態では、プログラム175は、ベース画像と複数の画像の1つまたは複数の画像のスコアを比較し、複数の画像のうちの画像が置換画像のセットに含まれ得るかどうかを判定する。さらに、置換画像のセットは、複数の画像のセグメントのスコアに基づく置換サブ画像のセットを含むことができる。
【0044】
ブロック216において、プログラム175の方法は、置換画像のセットが適切な置換画像を含むか否かを判定する。一実施形態では、プログラム175は、ベース画像に対する置換画像を特定するために、メモリ158内の置換画像のセットを照会する。この実施形態では、プログラム175は、ベース画像のスコアを置換画像のセットの画像のスコアと比較して、置換画像を特定する。また、プログラム175は、ベース画像のセグメントのスコアを、置換サブ画像のセットのサブ画像のスコアと比較して、置換サブ画像を特定することができる。プログラム175は、重み付けされたラベルのマッピングされたセットに少なくとも部分的に基づいて、最も低いスコアを利用して、またはデータベースの返されたオブジェクトのキーとしてベース画像のラベルを特定して、置換(例えば、サブ画像、画像)を特定することができる。
【0045】
ブロック218において、プログラム175の方法は、定義されたアクションを実行する。一実施形態では、プログラム175は、定義されたタスクを実行する。この実施形態において、プログラム175が、ベース画像がメモリ158の置換画像のセットの置換画像で置換されると判定した場合、プログラム175は、メモリ158からベース画像を除去する。さらに、プログラム175は、プログラム175が置換サブ画像と置き換えるメモリ158からベース画像のセグメントを除去することができる。別の実施形態では、プログラム175が、メモリ158の置換画像のセットがベース画像に適した置換画像を含んでいないと判定した場合、プログラム175は、ベース画像の不適当な条件に対応するオブジェクトをマスクする。さらに、プログラム175は、ベース画像の不適当な条件に対応するオブジェクトがユーザの視界に入らないように、ベース画像のセグメントをマスクすることができる。
【0046】
ブロック220において、プログラム175の方法は、ベース画像を適切な置換画像に置き換える。一実施形態では、プログラム175は、ベース画像をメモリ158内の置換画像のセットの置換画像に置き換える。この実施形態では、プログラム175は、ベース画像を、ベース画像よりも小さいスコアを有すると判定された、返された置換画像と置き換える。別の実施形態では、プログラム175は、ベース画像のセグメントを、セグメントに対応し、ベース画像のセグメントよりも小さいスコアを有すると判定された置換サブ画像に置き換える。この実施形態では、プログラム175は、ベース画像のセグメントではなく、置換サブ画像を含むベース画像を返す。
【0047】
例示的な実施形態では、ユーザは、街頭画像のデータベースのためにクライアント装置104で画像データをキャプチャすることを意図している。ユーザは、店先や家屋の高品質画像を生成する意図があり、画像内の以下のオブジェクトを避ける意図がある。プログラム175は、ユーザによって提供された重みをオブジェクトに割り当て、そのオブジェクトがどの程度不適当であるかを示す。歩行者(0.5)、自転車(0.5)、バス(0.7)、溢れたゴミ箱(0.9)である(例えば、重み付けされたラベルのセット)。この例示的な実施形態では、プログラム175は、クライアント装置104によって画像がキャプチャされると、重み付けされたラベルのセットをキャプチャされた画像データにマッピングする(すなわち、最初はマップCは空である)。ユーザは、3つの異なる日にメインストリートを3回通過し、クライアント装置104でジオロケーションの店先の3つの画像をキャプチャする。最初の画像では、店頭には画像の左側に歩行者が1人いる。2枚目の画像では、店頭の右側に溢れたゴミ箱がある。第3の画像では、店先の画像全体がバスによって隠されている。プログラム175は、3つの画像に対してコンピュータビジョン技術を実行し、各画像に1つのラベル付きセグメント(例えば、それぞれ、「PEDESTRIAN」、「OVERFLOWING_GARBAGE_CAN」、「BUS」)が割り当てられる。3つの画像のうち、プログラム175は、最初の画像(すなわち、歩行者がいる画像)をベース画像(例えば、p’)として選択する。
【0048】
さて、プログラム175は、クライアント装置104によってキャプチャされた複数の画像(例えば、画像「p」のセット)を反復する。プログラム175は、p’に等しい第1の画像は、第1の画像のラベル付けされたセグメントに歩行者の画像を有する(スコアは0.5)と判定する。プログラム175は、第2の画像は、ベース画像のラベル付けされたセグメントに対応するセグメントにオブジェクトを有さず、(0.0のスコアが割り当てられる)と判定する。プログラム175は、第3の画像は、ベース画像のラベル付けされたセグメントに対応するセグメント内のバスのみで構成され、スコア0.7が割り当てられると判定する。プログラム175は、3つの置換候補(「置換」としてのベース画像を含む)のうち、第2の画像のスコアが最も低いと判断し、ベース画像のラベル付けされたセグメントに対応するセグメント(すなわち、サブ画像)を使用して、ベース画像のラベル付けされたセグメントを置き換える。さらに、プログラム175は、ベース画像のセグメントと不適当な条件をデータベースから除去する。
【0049】
別の実施形態例では、ユーザは、街頭画像のデータベースのためにクライアント装置104で画像データをキャプチャすることを意図している。ユーザは、店先や家屋の高品質画像を生成する意図があり、ユーザの競合相手のコンテンツに対応する画像内のオブジェクトを回避する意図がある。この実施形態例では、プログラム175は、競合他社のコンテンツがデータベースの画像に表示された場合に、そのコンテンツを別の画像でマスクする。さらに、プログラム175は、会社1の保護されたコンテンツおよび会社2の保護されたコンテンツを含む、不適当なコンテンツのラベルのセットを生成する。プログラム175は、マップ関数(例えば、マップC)を実行することに応答して、[Company One --> {Image1.jpg, Image2.jpg, Image3.jpg}、Company Two --> {Image1.jpg, Image2.jpg, Image3.jpg}]を返す。ユーザは、1週間の間に同じエリアを3回通過する。プログラム175は、2つのパスの画像において、会社1と会社2の保護されたコンテンツを特定する。3回目のパスで、プログラム175は、会社2の保護されたコンテンツが、ユーザの競合他社ではない会社3のコンテンツに置き換えられており、会社3のコンテンツがラベルセット「L」に含まれていないと判定する。この例示的な実施形態では、プログラム175は、会社1の保護されたコンテンツのみを含む第3のパスの画像をベース画像(p’)として選択する。さらに、プログラム175は、各画像内の不適当なコンテンツを検出し、不適当なコンテンツを含むベース画像のセグメントを置き換えるのに適した画像が存在しないと判定する。したがって、プログラム175は、不適当なコンテンツを含むベース画像のセグメントを別の画像でマスクまたは置き換えることができる。
【0050】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載した教示の実装形態はクラウドコンピューティング環境に限定されない。むしろ、本発明の実施形態は、現在公知のまたは将来開発される他の任意の種類のコンピュータ環境と共に実施することができる。
【0051】
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがある。
【0052】
特性は以下の通りである。
【0053】
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
【0054】
ブロード・ネットワークアクセス:能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
【0055】
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
【0056】
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
【0057】
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
【0058】
サービスモデルは以下の通りである。
【0059】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
【0060】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
【0061】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含む任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
【0062】
展開モデルは以下の通りである。
【0063】
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0064】
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0065】
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
【0066】
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
【0067】
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0068】
図3は、例示的なクラウドコンピューティング環境50を示す。クラウドコンピューティング環境50は1つまたは複数のクラウドコンピューティングノード10を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、PDAもしくは携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは自動車コンピュータシステム54Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード10は互いに通信することができる。ノード10は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境50は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、図3に示すコンピュータ装置54A~Nの種類は例示に過ぎず、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
【0069】
図4は、図3に示されるクラウドコンピューティング環境50によって提供される機能的抽象化モデルレイヤを示す。なお、図4に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本発明の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
【0070】
ハードウェアおよびソフトウェアレイヤ60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワークコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
【0071】
仮想化レイヤ70は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75。
【0072】
一例として、管理レイヤ80は以下の機能を提供することができる。リソース準備81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定82は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウドコンシューマおよびタスクの識別確認を可能にする。ユーザポータル83は、コンシューマおよびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行85は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
【0073】
ワークロードレイヤ90は、クラウドコンピューティング環境が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育の配信93、データ分析処理94、取引処理95、ならびに、プログラム175が含まれる。
【0074】
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。本発明は、命令ストリームを処理する単一または並列の任意のシステムにおいて有益に実施され得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
【0075】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
【0076】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、または、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくはワイヤレスネットワークネットワークまたはその組み合わせ)を介して外部コンピュータまたは外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバーまたはその組み合わせで構成される。各コンピューティング/処理装置のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0077】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、統合回路のための構成データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語と「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行可能である。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)外部コンピュータに接続されてよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0078】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に記載されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0079】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/動作を実装するための手段を生成するように、機械を生成するためにコンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供されることができる。これらのコンピュータ可読プログラム命令はまた、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実装する命令を含む生成品の1つを命令が記憶されたコンピュータ可読プログラム命令が構成するように、コンピュータ、プログラム可能なデータ処理装置、もしくは特定の方法で機能する他のデバイスまたはその組み合わせに接続可能なコンピュータ可読記憶媒体の中に記憶されることができる。
【0080】
コンピュータ、他のプログラム可能な装置、または他のデバイス上でフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為を実行する命令のように、コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の操作ステップを実行し、コンピュータ実装された過程を生成することができる。
【0081】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品が実行可能な実装の構成、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または命令の一部を表してよく、これは、指定された論理機能を実装するための1つまたは複数の実行可能命令を構成する。いくつかの代替の実施形態では、ブロックに示されている機能は、図に示されている順序とは異なる場合がある。例えば、連続して示される2つのブロックは、実際には、1つのステップとして達成される場合があり、同時に、実質的に同時に、部分的または全体的に時間的に重複する方法で実行されるか、またはブロックは、関係する機能に応じて逆の順序で実行される場合がある。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能または動作を実行する、または特別な目的のハードウェアとコンピュータ命令の組み合わせを実行する特別な目的のハードウェアベースのシステムによって実装できることにも留意されたい。
【0082】
本明細書において、「ある実施形態(one embodiment)」、「一実施形態(an embodiment)」、「例示的実施形態(an example embodiment)」または同様の文言は、実施形態に関連して記載される特定の特徴、構造、または特性が、記載される実施形態に含まれる可能性があることを示すが、すべての実施形態が必ずしも特定の特徴、構造、または特性を含むとは限らない。さらに、このような表現は、必ずしも同じ実施形態を指すものではない。さらに、特定の特徴、構造、または特性が実施形態に関連して記載されている場合、明示的に記載されているか否かにかかわらず、他の実施形態に関連してそのような特徴、構造、または特性に影響を及ぼすことは当業者の知識の範囲内である。
【0083】
本明細書で用いる用語は、特定の実施形態を説明するためのものに過ぎず、本発明を限定することを意図したものではない。本明細書において、単数形「ある/1つの/一の(a)」、「ある/1つの/一の(an)」および「その/当該(the)」は、文脈からそうではないことが明らかでない限り、複数形を含む。さらに、本明細書において、「含む(comprises)」もしくは「含んでいる(comprising)」またはその両方の用語は、記載された特徴、整数、工程、動作、要素もしくはコンポーネントまたはこれらの組み合わせの存在を特定するものであるが、1つ以上の他の特徴、整数、工程、動作、要素、コンポーネントもしくはそれらのグループまたはこれらの組み合わせが存在したり、追加されたりすることを排除するものではない。
【0084】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。本発明の範囲から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するため、または当業者が本明細書に記載の実施形態を理解できるようにするために選択された。
図1
図2
図3
図4
【手続補正書】
【提出日】2024-01-29
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正の内容】
図2
【国際調査報告】