(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-31
(54)【発明の名称】光沢の視覚化
(51)【国際特許分類】
G06T 15/60 20060101AFI20240124BHJP
G06T 7/70 20170101ALI20240124BHJP
G06T 7/246 20170101ALI20240124BHJP
G06V 10/60 20220101ALI20240124BHJP
G06T 5/94 20240101ALI20240124BHJP
G06T 19/00 20110101ALI20240124BHJP
【FI】
G06T15/60
G06T7/70 Z
G06T7/246
G06V10/60
G06T5/00 735
G06T19/00 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023545313
(86)(22)【出願日】2022-01-17
(85)【翻訳文提出日】2023-07-26
(86)【国際出願番号】 EP2022050914
(87)【国際公開番号】W WO2022161807
(87)【国際公開日】2022-08-04
(32)【優先日】2021-01-29
(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)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】アルマン、シリル
(72)【発明者】
【氏名】ドゥルーズ、アイバン
(72)【発明者】
【氏名】ベーラー、オリビエ
(72)【発明者】
【氏名】メニケッティ、クリストフ
【テーマコード(参考)】
5B050
5B057
5B080
5L096
【Fターム(参考)】
5B050AA10
5B050BA06
5B050BA12
5B050BA13
5B050CA07
5B050CA08
5B050DA04
5B050EA09
5B050EA19
5B050FA02
5B050FA05
5B057BA02
5B057CA08
5B057CA12
5B057CB12
5B057CC03
5B057CE06
5B057CE11
5B057DA08
5B057DA16
5B057DB02
5B057DB09
5B057DC08
5B057DC22
5B080AA00
5B080BA00
5B080CA00
5B080FA02
5B080GA00
5L096AA06
5L096FA14
5L096FA67
5L096FA69
5L096GA04
5L096GA08
5L096GA51
5L096GA55
5L096HA04
5L096HA05
5L096MA03
(57)【要約】
光沢の視覚化のための方法、コンピュータ・システム、およびコンピュータ・プログラム製品を提供する。本発明は、ユーザ・デバイスにロードされたデジタル画像内のオブジェクトを認識することを含み得る。本発明は、認識されたオブジェクトに光沢指数を割り当てることを含み得る。本発明は、認識されたオブジェクトに対応する複数のピクセル値に基づいて、認識されたオブジェクトに対する光の方向を決定することを含み得る。本発明は、ユーザ・デバイス上でデジタル画像を見ているユーザの目の位置を追跡することを含み得る。本発明は、ユーザの目の位置の動きを検出したことに応答して、デジタル画像内の認識されたオブジェクトの光沢効果をシミュレートするために、認識されたオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することを含み得る。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、
認識された前記少なくとも1つのオブジェクトに光沢指数を割り当てることと、
認識された前記少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに対する光の方向を決定することと、
前記ユーザ・デバイス上で前記デジタル画像を見ているユーザの目の位置を追跡することと、
前記ユーザの目の前記位置の動きを検出したことに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することと
を含む、コンピュータ実装方法。
【請求項2】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を満たしていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの前記光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトをさらに処理すること
をさらに含む、請求項1に記載の方法。
【請求項3】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を下回っていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトのオリジナル・バージョンを表示すること
をさらに含む、請求項1または2に記載の方法。
【請求項4】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値を比較することと、
比較された前記複数のピクセル値における少なくとも1つの階調変化を検出することであって、検出された前記少なくとも1つの階調変化は、認識された前記少なくとも1つのオブジェクトから反射した光に関連する、前記検出することと
をさらに含む、請求項1ないし3のいずれかに記載の方法。
【請求項5】
比較された前記複数のピクセル値における検出された前記少なくとも1つの階調変化に基づいて、認識された前記少なくとも1つのオブジェクトに関連する少なくとも1つの光度レベルを計算すること
をさらに含む、請求項4に記載の方法。
【請求項6】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに関連する光度勾配を計算することであって、計算された前記光度勾配は最高光度レベルおよび最低光度レベルを含む、前記計算することと、
前記光の前記方向が、前記最高光度レベルを有する認識された前記少なくとも1つのオブジェクトの側にあると決定することと
をさらに含む、請求項1ないし5のいずれかに記載の方法。
【請求項7】
割り当てられた前記光沢指数を乗数として適用される前記少なくとも1つのフィルタと共に利用することであって、より高い光沢指数は、適用される前記少なくとも1つのフィルタの強度を増加させ得る、前記利用すること
をさらに含む、請求項1ないし6のいずれかに記載の方法。
【請求項8】
光沢の視覚化のためのコンピュータ・システムであって、
1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読有形記憶媒体と、プログラム命令とを含み、前記プログラム命令は、前記1つまたは複数のメモリのうちの少なくとも1つを介して前記1つまたは複数のプロセッサのうちの少なくとも1つによって実行するために、前記1つまたは複数のコンピュータ可読有形記憶媒体のうちの少なくとも1つに記憶され、前記コンピュータ・システムは方法を実行することが可能であり、前記方法は、
ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、
認識された前記少なくとも1つのオブジェクトに光沢指数を割り当てることと、
認識された前記少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに対する光の方向を決定することと、
前記ユーザ・デバイス上で前記デジタル画像を見ているユーザの目の位置を追跡することと、
前記ユーザの目の前記位置の動きを検出したことに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することと
を含む、コンピュータ・システム。
【請求項9】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を満たしていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの前記光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトをさらに処理すること
をさらに含む、請求項8に記載のコンピュータ・システム。
【請求項10】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を下回っていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトのオリジナル・バージョンを表示すること
をさらに含む、請求項8または9に記載のコンピュータ・システム。
【請求項11】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値を比較することと、
比較された前記複数のピクセル値における少なくとも1つの階調変化を検出することであって、検出された前記少なくとも1つの階調変化は、認識された前記少なくとも1つのオブジェクトから反射した光に関連する、前記検出することと
をさらに含む、請求項8、9、または10に記載のコンピュータ・システム。
【請求項12】
比較された前記複数のピクセル値における検出された前記少なくとも1つの階調変化に基づいて、認識された前記少なくとも1つのオブジェクトに関連する少なくとも1つの光度レベルを計算すること
をさらに含む、請求項11に記載のコンピュータ・システム。
【請求項13】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに関連する光度勾配を計算することであって、計算された前記光度勾配は最高光度レベルおよび最低光度レベルを含む、前記計算することと、
前記光の前記方向が、前記最高光度レベルを有する認識された前記少なくとも1つのオブジェクトの側にあると決定することと
をさらに含む、請求項8ないし12のいずれかに記載のコンピュータ・システム。
【請求項14】
割り当てられた前記光沢指数を乗数として適用される前記少なくとも1つのフィルタと共に利用することであって、より高い光沢指数は、適用される前記少なくとも1つのフィルタの強度を増加させ得る、前記利用すること
をさらに含む、請求項8ないし13のいずれかに記載のコンピュータ・システム。
【請求項15】
光沢の視覚化のためのコンピュータ・プログラム製品であって、
1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体に集合的に記憶されたプログラム命令とを含み、前記プログラム命令は、プロセッサによって実行可能であり、前記プロセッサに方法を実行させ、前記方法は、
ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、
認識された前記少なくとも1つのオブジェクトに光沢指数を割り当てることと、
認識された前記少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに対する光の方向を決定することと、
前記ユーザ・デバイス上で前記デジタル画像を見ているユーザの目の位置を追跡することと、
前記ユーザの目の前記位置の動きを検出したことに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することと
を含む、コンピュータ・プログラム製品。
【請求項16】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を満たしていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの前記光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトをさらに処理すること
をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を下回っていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトのオリジナル・バージョンを表示すること
をさらに含む、請求項15または16に記載のコンピュータ・プログラム製品。
【請求項18】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値を比較することと、
比較された前記複数のピクセル値における少なくとも1つの階調変化を検出することであって、検出された前記少なくとも1つの階調変化は、認識された前記少なくとも1つのオブジェクトから反射した光に関連する、前記検出することと
をさらに含む、請求項15、16、または17に記載のコンピュータ・プログラム製品。
【請求項19】
比較された前記複数のピクセル値における検出された前記少なくとも1つの階調変化に基づいて、認識された前記少なくとも1つのオブジェクトに関連する少なくとも1つの光度レベルを計算すること
をさらに含む、請求項18に記載のコンピュータ・プログラム製品。
【請求項20】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに関連する光度勾配を計算することであって、計算された前記光度勾配は最高光度レベルおよび最低光度レベルを含む、前記計算することと、
前記光の前記方向が、前記最高光度レベルを有する認識された前記少なくとも1つのオブジェクトの側にあると決定することと
をさらに含む、請求項15ないし19のいずれかに記載のコンピュータ・プログラム製品。
【請求項21】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行された場合に、請求項1ないし7のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般にコンピューティングの分野に関し、より詳細にはデジタル画像処理に関する。
【背景技術】
【0002】
色は、マット仕上げを含む場合もあれば、様々なレベルの光沢を有する場合もある。色のそのような効果は、人間の目による色の見え方に直接的な影響を与え得る。たとえば、マット仕上げを有する色は平坦に見え得る。しかしながら、光沢仕上げを有する同じ色の外観は、より多くの光を反射するので、より多くの色の変化を生成し得る。この違いはビデオまたは3次元動画像で簡単に確認され得、その理由は、光沢のある色はカメラまたは目の位置に応じて変化し得るためである。
【発明の概要】
【0003】
本発明の実施形態は、光沢の視覚化のための方法、コンピュータ・システム、およびコンピュータ・プログラム製品を開示する。本発明は、ユーザ・デバイスにロードされたデジタル画像内のオブジェクトを認識することを含み得る。本発明は、認識されたオブジェクトに光沢指数(shine index)を割り当てることを含み得る。本発明は、認識されたオブジェクトに対応する複数のピクセル値に基づいて、認識されたオブジェクトに対する光の方向を決定することを含み得る。本発明は、ユーザ・デバイス上でデジタル画像を見ているユーザの目の位置を追跡することを含み得る。本発明は、ユーザの目の位置の動きを検出したことに応答して、デジタル画像内の認識されたオブジェクトの光沢効果をシミュレートするために、認識されたオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することを含み得る。
【0004】
本発明の一態様によれば、ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、認識された少なくとも1つのオブジェクトに光沢指数を割り当てることと、認識された少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された少なくとも1つのオブジェクトに対する光の方向を決定することと、ユーザ・デバイス上でデジタル画像を見ているユーザの目の位置を追跡することと、ユーザの目の位置の動きを検出したことに応答して、デジタル画像内の認識された少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することとを含む、コンピュータ実装方法が提供される。
【0005】
本発明の他の態様によれば、光沢の視覚化のためのコンピュータ・システムであって、1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読有形記憶媒体と、プログラム命令とを含み、プログラム命令は、1つまたは複数のメモリのうちの少なくとも1つを介して1つまたは複数のプロセッサのうちの少なくとも1つによって実行するために、1つまたは複数のコンピュータ可読有形記憶媒体のうちの少なくとも1つに記憶され、コンピュータ・システムは方法を実行することが可能であり、方法は、ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、認識された少なくとも1つのオブジェクトに光沢指数を割り当てることと、認識された少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された少なくとも1つのオブジェクトに対する光の方向を決定することと、ユーザ・デバイス上でデジタル画像を見ているユーザの目の位置を追跡することと、ユーザの目の位置の動きを検出したことに応答して、デジタル画像内の認識された少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することとを含む、コンピュータ・システムが提供される。
【0006】
本発明の他の態様によれば、光沢の視覚化のためのコンピュータ・プログラム製品であって、1つまたは複数のコンピュータ可読記憶媒体と、1つまたは複数のコンピュータ可読記憶媒体に集合的に記憶されたプログラム命令とを含み、プログラム命令は、プロセッサによって実行可能であり、プロセッサに方法を実行させ、方法は、ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、認識された少なくとも1つのオブジェクトに光沢指数を割り当てることと、認識された少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された少なくとも1つのオブジェクトに対する光の方向を決定することと、ユーザ・デバイス上でデジタル画像を見ているユーザの目の位置を追跡することと、ユーザの目の位置の動きを検出したことに応答して、デジタル画像内の認識された少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することとを含む、コンピュータ・プログラム製品が提供される。
【0007】
ここで、本発明の好ましい実施形態を単なる例として、以下の図面を参照して説明する。
【図面の簡単な説明】
【0008】
【
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す図である。
【
図2】少なくとも1つの実施形態によるデジタル画像処理環境の概略ブロック図である。
【
図3】少なくとも1つの実施形態による光沢の視覚化のためのプロセスを示す動作フローチャートである。
【
図4】少なくとも1つの実施形態による光沢視覚化プロセスの第1の例示的なイベントを示すブロック図である。
【
図5】少なくとも1つの実施形態による光沢視覚化プロセスの第2の例示的なイベントを示すブロック図である。
【
図6】少なくとも1つの実施形態による光沢視覚化プロセスの第3の例示的なイベントを示すブロック図である。
【
図7】少なくとも1つの実施形態による光沢視覚化プロセスの第4の例示的なイベントを示すブロック図である。
【
図8】少なくとも1つの実施形態による光沢視覚化プロセスの第5の例示的なイベントを示すブロック図である。
【
図9】少なくとも1つの実施形態による光沢視覚化プロセスの第6の例示的なイベントを示すブロック図である。
【
図10】少なくとも1つの実施形態による、
図1に示したコンピュータおよびサーバの内部および外部コンポーネントのブロック図である。
【
図11】本開示の一実施形態による、
図1に示したコンピュータ・システムを含む例示的なクラウド・コンピューティング環境のブロック図である。
【
図12】本開示の一実施形態による、
図11の例示的なクラウド・コンピューティング環境の機能レイヤのブロック図である。
【発明を実施するための形態】
【0009】
図は当業者が詳細な説明と併せて本発明を理解するのを容易にする際に明確にするためのものであるので、図面の様々な特徴は縮尺通りではない。
【0010】
特許請求する構造および方法の詳細な実施形態を本明細書に開示するが、開示した実施形態が、様々な形態で具現化され得る特許請求する構造および方法を単に例示するものであることは理解されよう。しかしながら、本発明は多くの異なる形態で具現化され得、本明細書に記載した例示的な実施形態に限定されるものと解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が網羅的かつ完全になり、本発明の範囲を当業者に十分に伝えるように提供している。本説明では、提示した実施形態を不必要に曖昧にしないように、よく知られている特徴および技術の詳細を省略し得る。
【0011】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組合せであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0012】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリー・スティック(登録商標)、フロッピー(登録商標)ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組合せが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
【0013】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組合せなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
【0014】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、または、Smalltalk(登録商標)、Python、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行され得る。最後のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
【0015】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書で説明している。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方におけるブロックの組合せが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
【0016】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するための手段を生成するように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製造品を構成するように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス、またはそれらの組合せに特定の方式で機能するように指示するものであってもよい。
【0017】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ実装処理を生成するべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0018】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実装形態では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には、1つのステップとして実現され得、同時に、実質的に同時に、部分的にまたは完全に時間的に重なるように実行され得、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行するか、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。
【0019】
以下に説明する例示的な実施形態は、光沢の視覚化のためのシステム、方法、およびプログラム製品を提供する。そのため、本実施形態は、静止デジタル画像内の光沢のあるオブジェクトを視覚化することによって、デジタル画像処理の技術分野を改善する能力を有する。より具体的には、光沢視覚化プログラムは、デジタル画像内のオブジェクトを認識し、認識されたオブジェクトに対応する関連する光沢指数を決定し得る。次いで、決定された光沢指数が閾値光沢指数を満たしていることに応答して、光沢視覚化プログラムは、デジタル画像内の認識されたオブジェクトに関連付けられた複数のピクセルのピクセル値を抽出し得る。次に、光沢視覚化プログラムは、認識されたオブジェクトに関連付けられた複数のピクセルの抽出されたピクセル値の変化を検出し得、抽出されたピクセル値の検出された変化は、デジタル画像内の認識されたオブジェクトから反射した光に関連し得る。次いで、光沢視覚化プログラムは、抽出された色値の検出された変化に基づいて、デジタル画像内の認識されたオブジェクトに対する光源の位置を決定し得る。次に、光沢視覚化プログラムは、ユーザ・デバイス上でデジタル画像を見ているユーザの目の位置を追跡し得る。その後、ユーザの目の位置の動きを検出したことに応答して、光沢視覚化プログラムは、認識されたオブジェクトの複数のピクセルのサブセットにフィルタを適用して、デジタル画像内の認識されたオブジェクト上の光沢効果をシミュレートし得る。
【0020】
前述のように、色は、マット仕上げを含む場合もあれば、様々なレベルの光沢を有する場合もある。色のそのような効果は、人間の目による色の見え方に直接的な影響を与え得る。たとえば、マット仕上げを有する色は平坦に見え得る。しかしながら、光沢仕上げを有する同じ色の外観は、より多くの光を反射するので、より多くの色の変化を生成し得る。この違いはビデオまたは3次元動画像で簡単に確認され得、その理由は、光沢のある色はカメラまたは目の位置に応じて変化し得るためである。しかしながら、固定デジタル画像では、媒体の静止した性質のために、オブジェクトの光沢効果を見ることは不可能である。
【0021】
したがって、特に、(カメラを有する)ユーザ・デバイスでデジタル画像を見ているユーザが動いているか否かを検出し、動きが検出された場合に、デジタル画像内のオブジェクトの光沢効果をシミュレートする方法を提供することは有利であり得る。したがって、開示した実施形態は、ユーザ体験を向上させ、ユーザ・デバイス上でデジタル画像とインタラクションを行うユーザにより多くの情報を提供し得る。
【0022】
実生活では、閲覧者は、閲覧者の位置と太陽または他の光源の位置との結果として、オブジェクトの明るさを観察し得る。本開示の少なくとも1つの実施形態によれば、追加のレベルのデータを静止または固定デジタル画像に追加することによって、画像リーダが画像内の様々な光沢のあるオブジェクト上の光の反射を表示できるようにし得る。一実施形態では、デジタル画像内のオブジェクトを検出および認識するために画像認識が実装され得る。画像内で認識されたオブジェクトの材質に基づいて、光沢レベルまたは指数が各オブジェクトに割り当てられ得る。閾値光沢レベルを満たす光沢指数を含むオブジェクトは、さらに処理され得る。一実施形態では、さらなる処理は、光の反射に起因するオブジェクトの色の変化を検出して、デジタル画像内のオブジェクトに対する光の方向を決定することを含み得る。一実施形態によれば、画像がリーダによってユーザ・デバイス上に表示されているときに、ユーザ・デバイスのカメラは、(たとえば、ユーザの目または視線に基づいて)ユーザの動きを追跡し得る。ユーザが安定している場合、リーダは画像に変更を加えなくてもよい。しかしながら、ユーザまたはデバイスの動きが検出された場合、リーダは1つまたは複数のフィルタを画像に適用して、画像内の様々なオブジェクト上の光沢効果をシミュレートし得る。一実施形態では、ユーザが頭を光源から遠ざけると、リーダはフィルタを適用して、オブジェクトの明るさを増強することによって、光源によるミラー効果をシミュレートし得る。他の実施形態では、ユーザが頭を光源に近づけると(たとえば、光源とオブジェクトとの間)、リーダはフィルタを適用してオブジェクトの明るさを減少させ得る。
【0023】
図1を参照すると、一実施形態による例示的なネットワーク化されたコンピュータ環境100が示されている。ネットワーク化されたコンピュータ環境100は、ソフトウェア・プログラム108および光沢視覚化プログラム110aを実行可能にされたプロセッサ104とデータ・ストレージ・デバイス106とを有するコンピュータ102を含み得る。ネットワーク化されたコンピュータ環境100はまた、データベース114および通信ネットワーク116とやりとりし得る光沢視覚化プログラム110bを実行可能にされたサーバ112を含み得る。ネットワーク化されたコンピュータ環境100は複数のコンピュータ102およびサーバ112を含み得、それらのうちの1つのみを示している。通信ネットワーク116は、たとえば、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、電気通信ネットワーク、無線ネットワーク、公衆交換回線網、もしくは衛星ネットワーク、またはそれらの組合せなどの様々なタイプの通信ネットワークを含み得る。
図1は一実装の例示を提供するに過ぎず、様々な実施形態が実装され得る環境に関していかなる制限も意図していないことを理解されたい。設計および実装要件に基づいて、図示した環境に多くの変更が加えられ得る。
【0024】
クライアント・コンピュータ102は、通信ネットワーク116を介してサーバ・コンピュータ112と通信し得る。通信ネットワーク116は、たとえば、有線、無線通信リンク、または光ファイバ・ケーブルなどの接続を含み得る。
図10を参照して説明するように、サーバ・コンピュータ112は内部コンポーネント902aおよび外部コンポーネント904aをそれぞれ含み得、クライアント・コンピュータ102は内部コンポーネント902bおよび外部コンポーネント904bをそれぞれ含み得る。サーバ・コンピュータ112は、たとえば、ソフトウェア・アズ・ア・サービス(SaaS)、プラットフォーム・アズ・ア・サービス(PaaS)、またはインフラストラクチャ・アズ・ア・サービス(IaaS)などのクラウド・コンピューティング・サービス・モデルでも動作し得る。サーバ112は、たとえば、プライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウドなどのクラウド・コンピューティング・デプロイメント・モデルにも配置され得る。クライアント・コンピュータ102は、たとえば、モバイル・デバイス、電話、パーソナル・デジタル・アシスタント、ネットブック、ラップトップ・コンピュータ、タブレット・コンピュータ、デスクトップ・コンピュータ、またはプログラムを実行し、ネットワークにアクセスし、データベース114にアクセスすることが可能な任意のタイプのコンピューティング・デバイスであり得る。本発明の実施形態の様々な実装によれば、光沢視覚化プログラム110a、110bは、たとえば、コンピュータ/モバイル・デバイス102、ネットワーク化されたサーバ112、またはクラウド・ストレージ・サービスなどであるがこれらに限定されない様々なストレージ・デバイスに具現化され得るデータベース114とやりとりし得る。
【0025】
本発明の実施形態によれば、クライアント・コンピュータ102またはサーバ・コンピュータ112を使用するユーザは、(それぞれ)光沢視覚化プログラム110a、110bを使用して、静止デジタル画像をアニメーション化して画像オブジェクト上の光沢効果をシミュレートし得る。本開示の実施形態を、
図2~
図9に関して以下でより詳細に説明する。
【0026】
ここで
図2を参照すると、少なくとも1つの実施形態による光沢視覚化プログラム110a、110bを実装するデジタル画像処理環境200の概略ブロック図が示されている。一実施形態によれば、デジタル画像処理環境200は、
図1を参照して上述したコンピュータ環境100の1つまたは複数のコンポーネント(たとえば、クライアント・コンピュータ102、サーバ・コンピュータ112、通信ネットワーク116)を含み得る。
【0027】
一実施形態によれば、デジタル画像処理環境200は、ユーザ・デバイス202と呼ばれ得る、カメラを使用可能なコンピューティング・デバイスを含み得る。様々な実施形態において、ユーザ・デバイス202は、ワークステーション、パーソナル・コンピューティング・デバイス、ラップトップ・コンピュータ、デスクトップ・コンピュータ、タブレット・コンピュータ、スマート・テレフォン、または他の適切な電子デバイスを含み得る。一実施形態によれば、ユーザ・デバイス202は、有形のストレージ・デバイス(たとえば、データ・ストレージ・デバイス106)と、光沢視覚化プログラム110a、110bを実行可能になされたプロセッサとを含み得る。
【0028】
一実施形態では、光沢視覚化プログラム110a、110bは、ユーザ・デバイス202のプロセッサによって実行される単一のコンピュータ・プログラムもしくは複数のプログラム・モジュールまたは命令のセットを含み得る。光沢視覚化プログラム110a、110bは、特定のタスクを実行するかまたは特定の抽象データ・タイプを実装し得るルーチン、オブジェクト、コンポーネント、ユニット、ロジック、データ構造、およびアクションを含み得る。光沢視覚化プログラム110a、110bは、通信ネットワーク116を介してリンクされ得るリモート処理デバイスによってタスクが実行され得る分散型クラウド・コンピューティング環境において実施され得る。一実施形態では、光沢視覚化プログラム110a、110bは、1つまたは複数のコンピュータ可読記憶媒体に集合的に記憶され得るプログラム命令を含み得る。図示の実施形態に示すように、光沢視覚化プログラム110a、110bは、画像認識モジュール204、光沢割り当てモジュール206、色抽出モジュール208、光検出モジュール210、動き検出モジュール212、および画像レンダリング・モジュール214を含み得る。
【0029】
一実施形態によれば、デジタル画像処理環境200は、ユーザ・デバイス202にロードされるデジタル画像216(たとえば、固定または静止デジタル画像)を含み得る。デジタル画像216の例示的なファイル・タイプには、たとえば、ジョイント・フォトグラフィック・エキスパート・グループ(JPEG)、ポータブル・ネットワーク・グラフィックス(PNG)、ロー・イメージ・フォーマット(RAW)、または固定画像を記憶するための他の任意の適切なファイル・タイプが含まれ得る。一実施形態では、光沢視覚化プログラム110a、110bは、オブジェクトの材質もしくは色またはその両方に基づいて輝く自然な傾向を有し得るデジタル画像216内の任意のオブジェクト上の光沢効果をシミュレートするように実装され得る。
【0030】
一実施形態によれば、光沢視覚化プログラム110a、110bは、デジタル画像216にキャプチャされた任意のオブジェクトを検出、分類、または認識するための画像認識モジュール204を実装し得る。一実施形態では、画像認識モジュール204は、デジタル画像216を入力層として受け取り、ピクセル特徴に基づいて、デジタル画像216内の検出または認識されたオブジェクトまたは要素ごとに対応するラベルを出力するための、たとえば、訓練された畳み込みニューラルネットワーク(CNN:convolutional neural network)などの訓練された機械学習モデルを実装し得る。様々な実施形態において、画像認識モジュール204はまた、認識された各オブジェクトの色および表面の材質または特徴を決定できるようにされ得る。たとえば、画像認識モジュール204は、湖をデジタル画像216内の1つのオブジェクトとして認識し得る。一実施形態では、画像認識モジュール204はまた、湖の色が青であり、湖の表面の材質が水であることを示し得る。
【0031】
一実施形態によれば、光沢視覚化プログラム110a、110bは、デジタル画像216内の画像認識モジュール204によって認識された各オブジェクトに光沢レベルまたは光沢指数を割り当てるための光沢割り当てモジュール206を実装し得る。少なくとも1つの実施形態では、オブジェクトの光沢指数は、オブジェクトが(たとえば、オブジェクトの色、材質、もしくは仕上げ、またはそれらの組合せに基づいて)反射し得る光の量に関連し得る。一実施形態では、光沢指数は0から1までの範囲であり得、0の光沢指数は、オブジェクトが光を反射しない(たとえば、マット仕上げで塗装された壁)ことを示し得、1の光沢指数は、オブジェクトに非常に光沢がある(たとえば、鏡、金、水)ことを示し得る。他の実施形態では、光沢指数は0から任意の数(たとえば、100)までの範囲であり得る。いくつかの実施形態では、光沢指数の範囲を逆さにして、0の光沢指数が最高レベルの光沢を示し得るようにし得る。
【0032】
一実施形態によれば、デジタル画像処理環境200は、デジタル画像216にキャプチャされ得る様々なオブジェクトおよび材質に対応する光沢指数を記憶し得るオブジェクト光沢指数リポジトリ218を含み得る。一実施形態では、光沢割り当てモジュール206は、オブジェクト光沢指数リポジトリ218と通信して、画像認識モジュール204によって認識された各オブジェクトの光沢指数を取り出し得る。
【0033】
一実施形態によれば、デジタル画像216で認識されたオブジェクトに割り当てられた光沢指数のいずれもが最小光沢指数(たとえば、閾値光沢指数)を満たしていない場合、光沢視覚化プログラム110a、110bはデジタル画像216を静止画像として表示し得る。一実施形態では、デジタル画像216で認識されたオブジェクトのいくつかに割り当てられた光沢指数が最小光沢指数を満たしている場合、光沢視覚化プログラム110a、110bはさらにそれらのオブジェクトの光沢を処理してアニメーション化し、最小光沢指数を満たしていなかった他のオブジェクトをそのまま表示し得る。一実施形態では、0を超えるあらゆる光沢指数が最小光沢指数要件を満たし得る。一実施形態では、光沢視覚化プログラム110a、110bは、デフォルトの最小光沢指数を含み得、また、ユーザがユーザ定義の最小光沢指数を入力できるようにし得る。
【0034】
一実施形態によれば、光沢視覚化プログラム110a、110bは、デジタル画像216にキャプチャされた光源の位置および光の方向を決定するための色抽出モジュール208および光検出モジュール210を実装し得る。一実施形態では、色は光の反射に直接的に関係するので、光の方向はオブジェクトの色によって決定され得る。たとえば赤い車のように、実際には単色または均一な色であるオブジェクトでさえ、車への光の当たり方に基づいて、色の変化を有するように知覚され得る。一実施形態では、色の変化は階調値によって示され得、元の色に白、黒、またはグレーを加えることによって、色の階調値が変更され得る。全ての色は、色の明るさまたは暗さに関連付けられた階調値を含み得る。一実施形態では、色の高階調の階調値は色のより明るい変化を示し得、色の低階調の階調値は色のより暗い変化を示し得る。一実施形態では、色抽出モジュール208は、各オブジェクトのピクセルに対応するピクセル値を抽出および比較して、オブジェクトの色の変化(たとえば、階調変化)を検出し得る。一実施形態では、色抽出モジュール208は、赤、緑、青(RGB)の加法混色モデルを使用してピクセル値を比較し得る。他の実施形態では、色抽出モジュール208はまた、ピクセル値を比較するときに、色相、彩度、輝度(HSL:hue, saturation, lightness)または色相、彩度、明度(HSV:hue, saturation, value)のカラー・モデルを使用できるようにされ得る。
【0035】
一実施形態によれば、光検出モジュール210は、色抽出モジュール208によって測定された色の階調変化を使用して、オブジェクトの1つまたは複数の光度(luminosity)レベルを計算し得る。一実施形態では、光度は、オブジェクトの表面に当たった光の量の測定値を指し得る。一実施形態では、光度は、0から1までの範囲、0から100までの範囲、または他の任意の適切な範囲における相対値(たとえば、相対光度)を示し得、表面に関連付けられたより高い光度レベルは、その表面により多くの光が当たっていることを示し得る。様々な実施形態において、光検出モジュール210は、各オブジェクトについて複数の光度レベルを計算し得、最も多くの光量を受光したオブジェクトの表面は、最高光度レベル(たとえば、1)を含み得、最も少ない光量を受光したオブジェクトの表面は、最低光度レベル(たとえば、0.2)を含み得る。一実施形態によれば、色抽出モジュール208によって決定された、比較的高階調の階調値(たとえば、色のより明るい変化)を含むオブジェクトの部分は、光検出モジュール210によって比較的高い光度レベルを含むと決定され得る。一実施形態では、光検出モジュール210によって計算された光度レベルは、明から暗への(たとえば、高い相対光度から低い相対光度への)光度勾配を示し得る。様々な実施形態において、計算された光度勾配は、光源の位置および光の方向を示し得る。より具体的には、光検出モジュール210は、光源の位置および光の方向が最高光度レベルを有するオブジェクトの側にあると決定し得る。
【0036】
一実施形態によれば、画像認識モジュール204、光沢割り当てモジュール206、色抽出モジュール208、および光検出モジュール210を参照して上述したプロセス(たとえば、オブジェクトの認識、光沢指数の割り当て、および光の方向の識別)は、デジタル画像216がユーザ・デバイス202にロードされるとすぐにリアルタイムに実行され得る。上記のプロセスによって生成されたメタデータは、光沢視覚化プログラム110a、110bに関連付けられたユーザ・デバイス202のメイン・メモリに記憶され得る。一実施形態では、動き検出モジュール212および画像レンダリング・モジュール214は、記憶されたメタデータを利用して、以下でさらに説明するように、デジタル画像216の1つまたは複数のオブジェクト上の光沢効果をシミュレートし得る。
【0037】
一実施形態によれば、光沢視覚化プログラム110a、110bは、ユーザ・デバイス202のカメラとやりとりして、ユーザ・デバイス202上でデジタル画像216を見ているユーザの動きを追跡するための動き検出モジュール212を実装し得る。一実施形態では、動き検出モジュール212は、ユーザの頭の動きまたはデバイスの動きのいずれかを追跡し得、その理由は、どちらの場合もユーザの目の位置がカメラに対して異なるためである。少なくとも1つの実施形態では、動き検出モジュール212は、光検出モジュール210によって決定された光源の位置に対するユーザの目の動きを追跡し得る。一実施形態によれば、動き検出モジュール212が、ユーザが光源の位置から離れ得ると決定した場合、画像レンダリング・モジュール214は、リアルタイムにフィルタを適用して、オブジェクトの明るさを増加させることによって、光源によるミラー効果の増加をシミュレートするように実装され得る。少なくとも1つの実施形態では、画像レンダリング・モジュール214は、オブジェクトに関連付けられたピクセルの少なくともサブセットに任意の適切なフィルタ(たとえば、明るさフィルタ、コントラスト・フィルタ、ハイライト・フィルタ、階調値フィルタ)を適用して、光沢効果をシミュレートし得る。同様に、動き検出モジュール212が、ユーザが光源の位置に向かって、もしくは光源とオブジェクトとの間で、またはその両方で動き得ると決定した場合、画像レンダリング・モジュール214は、1つまたは複数のフィルタをリアルタイムに適用してオブジェクトの明るさを減少させるように実装され得る。一実施形態によれば、画像レンダリング・モジュール214は、オブジェクトに割り当てられた光沢指数を乗数としてフィルタと共に使用し得る。したがって、画像レンダリング・モジュール214は、より高い光沢指数を有するオブジェクトにより強くフィルタを適用し得る。
【0038】
ここで
図3を参照すると、少なくとも1つの実施形態による、光沢視覚化プログラム110a、110bによって使用される例示的な光沢視覚化プロセス300を示す動作フローチャートが示されている。
【0039】
302において、デジタル画像内でオブジェクトが認識される。一実施形態によれば、光沢視覚化プログラム110a、110bの画像認識モジュール204は、ユーザ・デバイスにロードされたデジタル画像にキャプチャされた様々なオブジェクトを検出および認識するために、たとえば、訓練されたCNNモデルなどの画像認識機能を実装し得る。
【0040】
次いで304において、認識されたオブジェクトに光沢指数が割り当てられる。一実施形態によれば、光沢視覚化プログラム110a、110bの光沢割り当てモジュール206は、デジタル画像内で画像認識モジュール204によって認識された各オブジェクトに光沢指数を割り当て得る。
図2を参照して前述したように、光沢割り当てモジュール206は、様々なオブジェクトおよび材質に対応する光沢指数を記憶し得るオブジェクト光沢指数リポジトリ218にアクセス可能であり得る。
【0041】
次いで、306において、割り当てられた光沢指数が閾値光沢指数を満たしていることに応答して、認識されたオブジェクトの複数のピクセル値が抽出される。一実施形態によれば、光沢視覚化プログラム110a、110bは、さらなる処理の前にデジタル画像内で認識されたオブジェクトが満たさなければならない最小光沢指数として、閾値光沢指数を実装し得る。
図2を参照して前述したように、光沢視覚化プログラム110a、110bは、デフォルトの最小光沢指数(たとえば、デフォルトの閾値光沢指数)を含み得、また、ユーザがユーザ定義の最小光沢指数(たとえば、ユーザ定義の閾値光沢指数)を入力できるようにし得る。一実施形態では、色抽出モジュール208は、
図2を参照して前述したように、各オブジェクトのピクセルに対応するピクセル値を抽出して比較し得る。
【0042】
次いで、308において、認識されたオブジェクトの抽出された複数のピクセル値における階調変化が検出される。一実施形態によれば、色抽出モジュール208は、
図2を参照して前述したように、カラー・モデルを使用してピクセル値を比較することによって階調変化を検出し得る。オブジェクトの色の階調変化は、オブジェクトから反射した光の量の結果であり得る。
【0043】
次いで、310において、抽出された複数のピクセル値に基づいて認識されたオブジェクトに対する光源の位置が決定される。一実施形態によれば、光沢視覚化プログラム110a、110bの光検出モジュール210は、色抽出モジュール208によって測定された色の階調変化を使用して、オブジェクトの1つまたは複数の光度レベルを計算し得る。一実施形態によれば、色抽出モジュール208によって決定された、比較的高階調の階調値(たとえば、色のより明るい変化)を含むオブジェクトの部分は、光検出モジュール210によって比較的高い光度レベルを含むと決定され得る。一実施形態では、光検出モジュール210によって計算された光度レベルは、明から暗への(たとえば、高い相対光度から低い相対光度への)光度勾配を示し得る。様々な実施形態において、光度勾配は、光源の位置および光の方向を示し得る。より具体的には、光検出モジュール210は、光源の位置および光の方向が最高光度レベルを有するオブジェクトの側にあると決定し得る。
【0044】
次いで、312において、ユーザがユーザ・デバイス上でデジタル画像を見ているときに、ユーザの目が追跡される。一実施形態によれば、光沢視覚化プログラム110a、110bの動き検出モジュール212は、ユーザ・デバイスのカメラとやりとりして、ユーザ・デバイス上でデジタル画像を見ているユーザの動きを追跡し得る。一実施形態では、動き検出モジュール212は、ユーザの頭の動きまたはデバイスの動きのいずれかを追跡し得、その理由は、どちらの場合もユーザの目の位置がカメラに対して異なるためである。少なくとも1つの実施形態では、動き検出モジュール212はまた、312において、光検出モジュール210によって決定された光源の位置に対するユーザの目の動きを追跡し得る。
【0045】
その後、314において、ユーザの目の位置の動きを検出したことに応答して、1つまたは複数のフィルタを認識されたオブジェクトに適用して、デジタル画像内の認識されたオブジェクトの光沢効果をシミュレートする。一実施形態では、画像レンダリング・モジュール214は、様々なフィルタをリアルタイムに適用して、ユーザの目の動きに基づいてオブジェクトの光沢効果を増加または減少させ得る。一実施形態によれば、動き検出モジュール212が、ユーザが光源の位置から離れ得ると決定した場合、画像レンダリング・モジュール214は、1つまたは複数のフィルタを適用して、オブジェクトの明るさを増加させることによって、光源によるミラー効果の増加をシミュレートするように実装され得る。少なくとも1つの実施形態では、画像レンダリング・モジュール214は、オブジェクトに関連付けられたピクセルの少なくともサブセットに任意の適切なフィルタ(たとえば、明るさフィルタ、コントラスト・フィルタ、ハイライト・フィルタ、階調値フィルタ)を適用して、光沢効果をシミュレートし得る。同様に、動き検出モジュール212が、ユーザが光源の位置に向かって、もしくは光源とオブジェクトとの間で、またはその両方で動き得ると決定した場合、画像レンダリング・モジュール214は、1つまたは複数のフィルタをリアルタイムに適用してオブジェクトの明るさを減少させるように実装され得る。一実施形態によれば、画像レンダリング・モジュール214は、オブジェクトに割り当てられた光沢指数を乗数としてフィルタと共に使用し得る。したがって、画像レンダリング・モジュール214は、より高い光沢指数を有するオブジェクトにより強くフィルタを適用し得る。
【0046】
ここで
図4~
図9を参照すると、少なくとも1つの実施形態による、光沢視覚化プログラム110a、110bによって使用される
図3の光沢視覚化プロセス300の一例を示すブロック図が示されている。
【0047】
一実施形態によれば、
図4はイベント400を示している。イベント400では、デジタル画像216がユーザ・デバイスにロードされ得、光沢視覚化プログラム110a、110bは、画像認識モジュール204を実行して、デジタル画像216内の様々な要素またはオブジェクトを発見し得る。この例では、画像認識モジュール204は、デジタル画像216内の以下の3つのオブジェクト、すなわち、第1のオブジェクト402(手;色「明るい肌色」)、第2のオブジェクト404(指輪の色「金色」)、第3のオブジェクト406(背景色「明るいグレー」)を認識してラベル付けし得る。
図4に示すように、画像認識モジュール204はまた、認識されたオブジェクトの色もしくは材質またはその両方を認識し得る。
【0048】
イベント400を続けると、デジタル画像216内の様々なオブジェクトが検出および認識されると、光沢割り当てモジュール206は、各オブジェクトに対応する光沢指数を決定し得る。オブジェクトの光沢指数は、光を反射するオブジェクトの能力に依存し得る。
図2を参照して前述したように、光沢視覚化プログラム110a、110bは、オブジェクト光沢指数リポジトリ218にアクセスして、対応するオブジェクトまたは材質の光沢指数を調べ得る。オブジェクト光沢指数リポジトリ218に基づいて、光沢割り当てモジュール206は、第1のオブジェクト402(たとえば、手;肌色)の光沢指数が0.2であり、第2のオブジェクト404(たとえば、指輪;金色)の光沢指数が0.8であり、第3のオブジェクト406(たとえば、背景;グレー)の光沢指数が0であると決定し得る。この例では、閾値光沢指数は0.1に設定され得、これは第1および第2のオブジェクト402、404によって満たされ得る。第1のオブジェクト406(たとえば、背景)は光沢=0(たとえば、このオブジェクトは全く光らない)に関連付けられているので、光沢視覚化プログラム110a、110bは、光沢効果をシミュレートするために第3のオブジェクト406を処理しなくてもよい。さらなる処理は、第1および第2のオブジェクト402、404で継続され得る。
【0049】
一実施形態によれば、
図5はイベント500を示している。イベント500では、色抽出モジュール208は、第2のオブジェクト404に対応するピクセル値を測定および比較して、オブジェクトの色の階調変化を検出し得る。一実施形態では、色抽出モジュール208は、各オブジェクトの任意の数の階調変化502を検出し得る。
【0050】
一実施形態によれば、
図6はイベント600を示している。イベント600では、光検出モジュール210は、イベント500で色抽出モジュール208によって決定された階調変化を使用して、第2のオブジェクト404の1つまたは複数の光度レベルを計算し得る。前述のように、光度は、オブジェクトの表面に当たった光の量の測定値を指し得る。この例では、光度は、0から1までの範囲の相対値(たとえば、相対光度)を示し得る。イベント600では、光検出モジュール210は第2のオブジェクト404について2つの光度レベルを計算し得、最も多くの光量を受光したオブジェクトの表面は最高光度レベル(たとえば、光度=1)を含み得、最も少ない光量を受光したオブジェクトの表面は最低光度レベル(たとえば、光度=0.2)を含み得る。これらの光度レベルに基づいて、光検出モジュール210は、光源の位置602および光604の方向が最高光度レベル(たとえば、光度=1)を有するオブジェクトの側にあると決定し得る。
【0051】
一実施形態によれば、
図7はイベント700を示している。イベント500と同様に、イベント700では、色抽出モジュール208は、第1のオブジェクト402に対応するピクセル値を測定および比較して、オブジェクトの色の階調変化を検出し得る。
【0052】
一実施形態によれば、
図8はイベント800を示している。イベント600と同様に、イベント800では、光検出モジュール210は、イベント700で色抽出モジュール208によって決定された階調変化を使用して、第1のオブジェクト402の1つまたは複数の光度レベルを計算し得る。イベント800では、光検出モジュール210は第1のオブジェクト402について3つの光度レベルを計算し得、最も多くの光量を受光したオブジェクトの表面は最高光度レベル(たとえば、光度=1)を含み得、最も少ない光量を受光したオブジェクトの表面は最低光度レベル(たとえば、光度=0.2)を含み得、中間の光量を受光したオブジェクトの表面は中間光度レベル(たとえば、光度=0.5)を含み得る。これらの光度レベルに基づいて、光検出モジュール210は、光源が位置602にあり、光の方向604が最高光度レベル(たとえば、光度=1)を有するオブジェクトの側にあるという(たとえば、イベント600からの)決定を維持し得る。
【0053】
一実施形態によれば、
図9はイベント850を示している。イベント850では、光沢視覚化プログラム110a、110bは、動き検出モジュール212を実行して、ユーザ・デバイスのカメラ802とやりとりすることによって、ユーザ・デバイス・ディスプレイ806上でデジタル画像216を見ているユーザ804の動きを追跡し得る。
【0054】
たとえば、時刻1(T1)-808において、ユーザ804が安定している(たとえば、動いていない)場合、光沢視覚化プログラム110a、110bの画像レンダリング・モジュール214は、デジタル画像216のデフォルトの(たとえば、オリジナルの)バージョンをユーザ・デバイス・ディスプレイ806上にレンダリングし得る。
【0055】
たとえば、時刻2(T2)-810において、ユーザ804がカメラ802に対して頭を左に動かした場合、画像レンダリング・モジュール214を実行し、1つまたは複数のフィルタをリアルタイムに適用して、第1および第2のオブジェクト402、404の明るさを増加させることによって、光源によるミラー効果の増加をシミュレートし得る。前述のように、画像レンダリング・モジュール214は、第1および第2のオブジェクト402、404に割り当てられた光沢指数を乗数としてフィルタと共に使用し得る。したがって、第2のオブジェクト404は0.8の光沢指数を含んでいたので、画像レンダリング・モジュール214は、0.2の光沢指数を有していた第1のオブジェクト402と比べて、第2のオブジェクト404のピクセルにより強くフィルタを適用し得る。
【0056】
その後、たとえば、時刻3(T3)-812において、ユーザ804がカメラ802に対して頭を右に動かした場合、画像レンダリング・モジュール214を実行し、1つまたは複数のフィルタをリアルタイムに適用して、第1および第2のオブジェクト402、404の明るさを減少させ得る。
【0057】
光沢視覚化プログラム110a、110bは、コンピュータが、(カメラを有する)コンピュータ上でデジタル画像を見ているユーザが動いているか否かを検出し、動きが検出された場合に、デジタル画像内のオブジェクトの光沢効果をシミュレートすることを可能にし得るので、光沢視覚化プログラム110a、110bは、コンピュータの機能を向上させ得る。したがって、光沢視覚化プログラム110a、110bは、ユーザ体験を向上させ、コンピュータ上のデジタル画像とインタラクションを行うユーザにより多くの情報を提供し得る。
【0058】
図2~
図9は一実施形態の例示のみを提供しており、様々な実施形態がどのように実装され得るかに関していかなる制限も意図していないことは理解されよう。設計および実装要件に基づいて、図示した実施形態に多くの変更が加えられ得る。
【0059】
図10は、本発明の例示的な実施形態による、
図1に示したコンピュータの内部および外部コンポーネントのブロック
図900である。
図10は1つの実装の例示のみを提供しており、様々な実施形態が実装され得る環境に関していかなる制限も意図していないことを理解されたい。設計および実装要件に基づいて、図示した環境に多くの変更が加えられ得る。
【0060】
データ処理システム902、904は、機械可読プログラム命令を実行することが可能な任意の電子デバイスを表す。データ処理システム902、904は、スマート・フォン、コンピュータ・システム、PDA、または他の電子デバイスを表し得る。データ処理システム902、904によって表され得るコンピューティング・システム、環境、もしくは構成、またはそれらの組合せの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、ネットワークPC、ミニコンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境が含まれるが、これらに限定されない。
【0061】
ユーザ・クライアント・コンピュータ102およびネットワーク・サーバ112は、
図10に示す内部コンポーネント902a、bおよび外部コンポーネント904a、bのそれぞれのセットを含み得る。内部コンポーネント902a、bのセットのそれぞれは、1つまたは複数のバス912上の1つまたは複数のプロセッサ906、1つまたは複数のコンピュータ可読RAM908、および1つまたは複数のコンピュータ可読ROM910と、1つまたは複数のオペレーティング・システム914と、1つまたは複数のコンピュータ可読有形ストレージ・デバイス916とを含む。1つまたは複数のオペレーティング・システム914、ソフトウェア・プログラム108、およびクライアント・コンピュータ102内の光沢視覚化プログラム110a、ならびにネットワーク・サーバ112内の光沢視覚化プログラム110bは、1つまたは複数のRAM908(典型的にはキャッシュ・メモリを含む)を介した1つまたは複数のプロセッサ906による実行のために、1つまたは複数のコンピュータ可読有形ストレージ・デバイス916に記憶され得る。
図10に示す実施形態では、コンピュータ可読有形ストレージ・デバイス916のそれぞれは、内蔵ハード・ドライブの磁気ディスク・ストレージ・デバイスである。あるいは、コンピュータ可読有形ストレージ・デバイス916のそれぞれは、半導体ストレージ・デバイス、たとえば、ROM910、EPROM、フラッシュ・メモリ、またはコンピュータ・プログラムおよびデジタル情報を記憶することができる他の任意のコンピュータ可読有形ストレージ・デバイスである。
【0062】
内部コンポーネント902a、bの各セットはまた、たとえば、CD-ROM、DVD、メモリー・スティック、磁気テープ、磁気ディスク、光ディスク、または半導体ストレージ・デバイスなどの1つまたは複数のポータブル・コンピュータ可読有形ストレージ・デバイス920に対して読み書きするためのR/Wドライブまたはインターフェース918を含む。ソフトウェア・プログラム108ならびに光沢視覚化プログラム110aおよび110bなどのソフトウェア・プログラムは、それぞれのポータブル・コンピュータ可読有形ストレージ・デバイス920のうちの1つまたは複数に記憶し、それぞれのR/Wドライブまたはインターフェース918を介して読み取り、それぞれのハード・ドライブ916にロードすることができる。
【0063】
内部コンポーネント902a、bの各セットはまた、ネットワーク・アダプタ(もしくはスイッチ・ポート・カード)またはインターフェース922、たとえば、TCP/IPアダプタ・カード、無線wi-fiインターフェース・カード、または3Gもしくは4G無線インターフェース・カード、または他の有線もしくは無線通信リンクを含み得る。クライアント・コンピュータ102内のソフトウェア・プログラム108および光沢視覚化プログラム110a、ならびにネットワーク・サーバ・コンピュータ112内の光沢視覚化プログラム110bは、ネットワーク(たとえば、インターネット、ローカル・エリア・ネットワーク、または他のワイド・エリア・ネットワーク)およびそれぞれのネットワーク・アダプタまたはインターフェース922を介して外部コンピュータ(たとえば、サーバ)からダウンロードすることができる。ネットワーク・アダプタ(もしくはスイッチ・ポート・アダプタ)またはインターフェース922から、クライアント・コンピュータ102内のソフトウェア・プログラム108および光沢視覚化プログラム110a、ならびにネットワーク・サーバ・コンピュータ112内の光沢視覚化プログラム110bが、それぞれのハード・ドライブ916にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを含み得る。
【0064】
外部コンポーネント904a、bのセットのそれぞれは、コンピュータ・ディスプレイ・モニタ924、キーボード926、およびコンピュータ・マウス928を含むことができる。外部コンポーネント904a、bはまた、タッチ・スクリーン、仮想キーボード、タッチ・パッド、ポインティング・デバイス、および他のヒューマン・インターフェース・デバイスを含むことができる。内部コンポーネント902a、bのセットのそれぞれはまた、コンピュータ・ディスプレイ・モニタ924、キーボード926、およびコンピュータ・マウス928にインターフェースするためのデバイス・ドライバ930を含む。デバイス・ドライバ930、R/Wドライブまたはインターフェース918、およびネットワーク・アダプタまたはインターフェース922は、ハードウェアおよびソフトウェア(ストレージ・デバイス916もしくはROM910またはその両方に記憶される)を含む。
【0065】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に列挙した教示の実装形態はクラウド・コンピューティング環境に限定されないことを前もって理解されたい。むしろ、本発明の実施形態は、現在知られているまたは今後開発される他の任意のタイプのコンピューティング環境と共に実装することが可能である。
【0066】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとのやりとりによって迅速にプロビジョニングおよび解放することができる、設定可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つのデプロイメント・モデルとを含み得る。
【0067】
特徴は以下の通りである。
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービスのプロバイダとの人的な相互作用を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
ブロード・ネットワーク・アクセス:能力はネットワークを介して利用することができ、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースをプールして、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当ておよび再割り当てされるマルチ・テナント・モデルを使用して複数のコンシューマにサービス提供する。一般にコンシューマは、提供されるリソースの正確な位置に対して何もできず、知っているわけでもないが、より高い抽象化レベル(たとえば、国、州、またはデータセンターなど)では位置を特定可能であり得るという点で位置非依存の感覚がある。
迅速な弾力性:能力を迅速かつ弾力的に、場合によっては自動的にプロビジョニングして素早くスケール・アウトし、迅速に解放して素早くスケール・インすることができる。コンシューマにとって、プロビジョニング可能な能力は無制限であるように見えることが多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウド・システムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適したある抽象化レベルでの計量機能を活用して、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、管理、および報告して、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
【0068】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、Webブラウザ(たとえば、Webベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能性のある例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション機能を含む、基盤となるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマがデプロイして動作させることが可能な、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御し、場合によっては選択したネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)を限定的に制御する。
【0069】
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは組織専用に運用される。これは組織または第三者によって管理され得、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャはいくつかの組織によって共有され、共通の懸念(たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項など)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理され得、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界団体に対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(たとえば、クラウド間の負荷分散のためのクラウド・バースティング)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を合成したものである。
【0070】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味論的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0071】
ここで
図11を参照すると、例示的なクラウド・コンピューティング環境1000が示されている。図示のように、クラウド・コンピューティング環境1000は1つまたは複数のクラウド・コンピューティング・ノード100を含み、これらを使用して、たとえば、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話1000A、デスクトップ・コンピュータ1000B、ラップトップ・コンピュータ1000C、もしくは自動車コンピュータ・システム1000N、またはそれらの組合せなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信し得る。ノード100は相互に通信し得る。これらは、たとえば、上述のプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境1000は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを維持する必要がない、インフラストラクチャ・アズ・ア・サービス、プラットフォーム・アズ・ア・サービス、もしくはソフトウェア・アズ・ア・サービス、またはそれらの組合せを提供することが可能になる。
図11に示したコンピューティング・デバイス1000A~Nのタイプは例示的なものにすぎないことを意図しており、コンピューティング・ノード100およびクラウド・コンピューティング環境1000は、任意のタイプのネットワークもしくはネットワーク・アドレス指定可能接続(たとえば、Webブラウザを使用)またはその両方を介して任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
【0072】
ここで
図12を参照すると、クラウド・コンピューティング環境1000によって提供される機能的抽象化レイヤのセット1100が示されている。
図12に示したコンポーネント、レイヤ、および機能は例示的なものにすぎないことを意図しており、本発明の実施形態はこれらに限定されないことを事前に理解されたい。図示のように、以下のレイヤおよび対応する機能が提供される。
【0073】
ハードウェアおよびソフトウェア・レイヤ1102は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム1104、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ1106、サーバ1108、ブレード・サーバ1110、ストレージ・デバイス1112、ならびにネットワークおよびネットワーキング・コンポーネント1114が含まれる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1116およびデータベース・ソフトウェア1118を含む。
【0074】
仮想化レイヤ1120は抽象化レイヤを提供し、抽象化レイヤから、仮想エンティティの以下の例、すなわち、仮想サーバ1122、仮想ストレージ1124、仮想プライベート・ネットワークを含む仮想ネットワーク1126、仮想アプリケーションおよびオペレーティング・システム1128、ならびに仮想クライアント1130が提供され得る。
【0075】
一例では、管理レイヤ1132は、下記の機能を提供し得る。リソース・プロビジョニング1134は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計量および価格決定1136は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する会計または請求とを提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマおよびタスクの同一性検証だけでなく、データおよび他のリソースに対する保護も提供する。ユーザ・ポータル1138は、コンシューマおよびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理1140は、要求されたサービス・レベルが満たされるような、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル合意(SLA)の計画および履行1142は、SLAに従って将来要求されると予想されるクラウド・コンピューティング・リソースの事前手配および調達を提供する。
【0076】
ワークロード・レイヤ1144は、クラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤから提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション1146、ソフトウェア開発およびライフサイクル管理1148、仮想教室教育配信1150、データ分析処理1152、取引処理1154、ならびに光沢の視覚化1156、を含む。光沢視覚化プログラム110a、110bは、静止デジタル画像をアニメーション化して画像オブジェクト上の光沢効果をシミュレートするための方法を提供する。
【0077】
本発明の様々な実施形態の説明は、例示の目的で提示してきたが、網羅的であることも、開示した実施形態に限定されることも意図したものではない。記載した実施形態の範囲から逸脱することなく、多くの変更および変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、実際の適用、または市場に見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示した実施形態を理解できるようにするために選んだ。
【手続補正書】
【提出日】2023-08-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータの情報処理により実行する方法であって、
ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、
認識された前記少なくとも1つのオブジェクトに光沢指数を割り当てることと、
認識された前記少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに対する光の方向を決定することと、
前記ユーザ・デバイス上で前記デジタル画像を見ているユーザの目の位置を追跡することと、
前記ユーザの目の前記位置の動きを検出したことに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することと
を含む方法。
【請求項2】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を満たしていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの前記光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトをさらに処理すること
をさらに含む、請求項1に記載の方法。
【請求項3】
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を下回っていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトのオリジナル・バージョンを表示すること
をさらに含む、請求項1または2に記載の方法。
【請求項4】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値を比較することと、
比較された前記複数のピクセル値における少なくとも1つの階調変化を検出することであって、検出された前記少なくとも1つの階調変化は、認識された前記少なくとも1つのオブジェクトから反射した光に関連する、前記検出することと
をさらに含む、請求項1ないし3のいずれかに記載の方法。
【請求項5】
比較された前記複数のピクセル値における検出された前記少なくとも1つの階調変化に基づいて、認識された前記少なくとも1つのオブジェクトに関連する少なくとも1つの光度レベルを計算すること
をさらに含む、請求項4に記載の方法。
【請求項6】
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに関連する光度勾配を計算することであって、計算された前記光度勾配は最高光度レベルおよび最低光度レベルを含む、前記計算することと、
前記光の前記方向が、前記最高光度レベルを有する認識された前記少なくとも1つのオブジェクトの側にあると決定することと
をさらに含む、請求項1ないし5のいずれかに記載の方法。
【請求項7】
割り当てられた前記光沢指数を乗数として適用される前記少なくとも1つのフィルタと共に利用することであって、より高い光沢指数は、適用される前記少なくとも1つのフィルタの強度を増加させ得る、前記利用すること
をさらに含む、請求項1ないし6のいずれかに記載の方法。
【請求項8】
光沢の視覚化のためのコンピュータ・システムであって、
1つまたは複数のプロセッサと
、
1つまたは複数のコンピュータ可読メモリ
と
を含み、前記1つまたは複数のプロセッサが、
ユーザ・デバイスにロードされたデジタル画像内の少なくとも1つのオブジェクトを認識することと、
認識された前記少なくとも1つのオブジェクトに光沢指数を割り当てることと、
認識された前記少なくとも1つのオブジェクトに対応する複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに対する光の方向を決定することと、
前記ユーザ・デバイス上で前記デジタル画像を見ているユーザの目の位置を追跡することと、
前記ユーザの目の前記位置の動きを検出したことに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトに少なくとも1つのフィルタをリアルタイムに適用することと
を実行するよう構成される、コンピュータ・システム。
【請求項9】
前記1つまたは複数のプロセッサが、
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を満たしていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトの前記光沢効果をシミュレートするために、認識された前記少なくとも1つのオブジェクトをさらに処理すること
をさらに
実行するよう構成される、請求項8に記載のコンピュータ・システム。
【請求項10】
前記1つまたは複数のプロセッサが、
認識された前記少なくとも1つのオブジェクトに関連付けられた割り当てられた前記光沢指数が閾値光沢指数を下回っていることに応答して、前記デジタル画像内の認識された前記少なくとも1つのオブジェクトのオリジナル・バージョンを表示すること
をさらに
実行するよう構成される、請求項8または9に記載のコンピュータ・システム。
【請求項11】
前記1つまたは複数のプロセッサが、
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値を比較することと、
比較された前記複数のピクセル値における少なくとも1つの階調変化を検出することであって、検出された前記少なくとも1つの階調変化は、認識された前記少なくとも1つのオブジェクトから反射した光に関連する、前記検出することと
をさらに
実行するよう構成される、請求項8、9、または10に記載のコンピュータ・システム。
【請求項12】
前記1つまたは複数のプロセッサが、
比較された前記複数のピクセル値における検出された前記少なくとも1つの階調変化に基づいて、認識された前記少なくとも1つのオブジェクトに関連する少なくとも1つの光度レベルを計算すること
をさらに
実行するよう構成される、請求項11に記載のコンピュータ・システム。
【請求項13】
前記1つまたは複数のプロセッサが、
認識された前記少なくとも1つのオブジェクトに対応する前記複数のピクセル値に基づいて、認識された前記少なくとも1つのオブジェクトに関連する光度勾配を計算することであって、計算された前記光度勾配は最高光度レベルおよび最低光度レベルを含む、前記計算することと、
前記光の前記方向が、前記最高光度レベルを有する認識された前記少なくとも1つのオブジェクトの側にあると決定することと
をさらに
実行するよう構成される、請求項8ないし12のいずれかに記載のコンピュータ・システム。
【請求項14】
前記1つまたは複数のプロセッサが、
割り当てられた前記光沢指数を乗数として適用される前記少なくとも1つのフィルタと共に利用することであって、より高い光沢指数は、適用される前記少なくとも1つのフィルタの強度を増加させ得る、前記利用すること
をさらに
実行するよう構成される、請求項8ないし13のいずれかに記載のコンピュータ・システム。
【請求項15】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行された場合に、請求項1ないし7のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
【請求項16】
請求項15に記載のコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【国際調査報告】