(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-13
(54)【発明の名称】品質アセスメントのための方法、装置、及びプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20231106BHJP
G06T 9/00 20060101ALI20231106BHJP
【FI】
G06T19/00 A
G06T9/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023524598
(86)(22)【出願日】2022-07-12
(85)【翻訳文提出日】2023-04-21
(86)【国際出願番号】 US2022073656
(87)【国際公開番号】W WO2023288231
(87)【国際公開日】2023-01-19
(32)【優先日】2021-07-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,シァン
(72)【発明者】
【氏名】ホアン,チャオ
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050CA07
5B050EA07
5B050EA12
5B050FA05
5B050FA06
5B050FA10
(57)【要約】
本開示の態様は、3次元(3D)グラフィクスモデリングのための品質アセスメントの方法及び装置を提供する。いくつかの例で、品質アセスメントのための装置は処理回路を含む。処理回路は、3次元(3D)空間から2次元(2D)空間への投影のための仮想カメラのポジション変化に応答して、更新された仮想カメラポジションを決定する。処理回路は、基準2D画像を生成するよう、更新された仮想カメラポジションに従って基準3D表現を投影し、かつ、アセスメント2D画像を生成するよう、更新された仮想カメラポジションに従ってアセスメント中の3D表現を投影する。処理回路は、基準2D画像及びアセスメント2D画像に基づき、更新された仮想カメラポジションに関連したアセスメントスコアを計算する。
【特許請求の範囲】
【請求項1】
品質アセスメントのための方法であって、
3次元(3D)空間から2次元(2D)空間への投影のための仮想カメラのポジション変化に応答して、更新された仮想カメラポジションを決定するステップと、
基準2D画像を生成するよう前記更新された仮想カメラポジションに従って基準3D表現を投影するステップと、
アセスメント2D画像を生成するよう前記更新された仮想カメラポジションに従ってアセスメント中の3D表現を投影するステップと、
前記基準2D画像及び前記アセスメント2D画像に基づき、前記更新された仮想カメラポジションに関連したアセスメントスコアを計算するステップと
を有する方法。
【請求項2】
前記更新された仮想カメラポジションを決定するステップは、
前記更新された仮想カメラポジションを決定するよう前記ポジション変化の回転マトリクスを前の仮想カメラポジションに適用するステップを更に有する、
請求項1に記載の方法。
【請求項3】
ユーザインターフェースにより入力パラメータとして前記回転マトリクスを受け取るステップを更に有する、
請求項2に記載の方法。
【請求項4】
複数の仮想カメラのポジション変化に基づき第1の複数の更新された仮想カメラポジションを決定するステップと、
前記第1の複数の更新された仮想カメラポジションに関連した第1の複数の基準2D画像を生成するよう前記第1の複数の更新された仮想カメラポジションに従って前記基準3D表現を投影するステップと、
前記第1の複数の更新された仮想カメラポジションに関連した第1の複数のアセスメント2D画像を生成するよう前記第1の複数の更新された仮想カメラポジションに従って前記アセスメント中の3D表現を投影するステップと、
前記第1の複数の基準2D画像及び前記第1の複数のアセスメント2D画像に基づき、前記第1の複数の更新された仮想カメラポジションに夫々関連している第1の複数のアセスメントスコアを計算するステップと、
前記第1の複数のアセスメントスコアの加重平均されたアセスメントスコアを計算するステップと
を更に有する、請求項1に記載の方法。
【請求項5】
前記第1の複数の更新された仮想カメラポジションは、前記3D空間内の球上に均等にサンプリングされるか、又は前記3D空間内の前記球上にランダムにサンプリングされる、
請求項4に記載の方法。
【請求項6】
前記アセスメント中の3D表現は、前記基準3D表現のフレームに対応している複数のフレームを有し、
前記第1の複数の更新された仮想カメラポジションは、前記アセスメント中の3D表現の第1のフレーム及び前記基準3D表現の第1の対応するフレームを投影するために使用され、
当該方法は、前記複数の仮想カメラの第2の複数の更新された仮想カメラポジションを決定するステップを更に有し、
前記第2の複数の更新された仮想カメラポジションは、前記アセスメント中の3D表現の第2のフレーム及び前記基準3D表現の第2の対応するフレームを投影するために使用される、
請求項4に記載の方法。
【請求項7】
カメラ移動経路に基づき前記複数の仮想カメラの前記第2の複数の更新された仮想カメラポジションを決定するステップを更に有する、
請求項6に記載の方法。
【請求項8】
第1のカメラ移動経路に基づき前記第2の複数の更新された仮想カメラポジションの中で、前記複数の仮想カメラの中の第1の仮想カメラに関連した第1のポジションを決定するステップと、
第2のカメラ移動経路に基づき前記第2の複数の更新された仮想カメラポジションの中で、前記複数の仮想カメラの中の第2の仮想カメラに関連した第2のポジションを決定するステップと
を更に有する、請求項6に記載の方法。
【請求項9】
前記第1の複数のアセスメントスコアの前記加重平均されたアセスメントスコアを計算するステップは、
前記アセスメント中の3D表現の投影に基づき、前記第1の複数のアセスメントスコアを重み付けする重みを決定するステップと、
前記重みに基づき前記加重平均されたアセスメントスコアを計算するステップと
を更に有する、
請求項4に記載の方法。
【請求項10】
前記第1の複数のアセスメント2D画像において投影される有効なピクセルの各々の数と、
前記第1の複数の更新された仮想カメラポジションに対応する投影面までの前記アセスメント中の3D表現の各々の距離と
のうちの少なくとも1つに基づき、前記第1の複数のアセスメントスコアを重み付けする重みを決定することを更に有する、
請求項9に記載の方法。
【請求項11】
前記アセスメント中の3D表現は、前記基準3D表現のフレームに対応している複数のフレームを有し、
前記第1の複数の更新された仮想カメラポジションは、前記アセスメント中の3D表現の第1のフレーム及び前記基準3D表現の第1の対応するフレームを投影するために使用され、
前記加重平均されたアセスメントスコアは、前記第1のフレームに対する第1のフレームレベルアセスメントスコアであり、
当該方法は、
前記第1の複数の更新された仮想カメラポジションに基づき、前記第1のフレームレベルアセスメントスコアを重み付けする第1のフレーム重みを決定するステップと、
前記複数のフレームに対する加重平均スコアである最終的なアセスメントスコアを計算するステップと
を有し、
前記第1のフレームレベルアセスメントスコアは、前記最終的なアセスメントスコアにおいて前記第1のフレーム重みによって重み付けされている、
請求項4に記載の方法。
【請求項12】
前記第1のフレーム重みを決定するステップは、
前記第1の複数の更新された仮想カメラポジションの中のポジションの数と、
前記第1の複数の更新された仮想カメラポジションの中の前記ポジションと
のうちの少なくとも1つに基づき前記第1のフレーム重みを決定することを有する、
請求項11に記載の方法。
【請求項13】
前記アセスメントスコアは、ピーク信号対雑音比(PSNR)、構造類似性指数メトリック(SSIM)、視覚情報フィデリティ(VIF)、ビデオマルチメソッドアセスメント融合(VMAF)、盲目/非参照型画像空間品質評価器(BRISQUE)、及び歪み識別に基づいた画像の真偽及び完全性の評価(DIIVINE)のうちの少なくとも1つを有する、
請求項1に記載の方法。
【請求項14】
品質アセスメントのための装置であって、
請求項1乃至13のうちいずれか一項に記載の方法を実行するよう構成される処理回路を有する装置。
【請求項15】
コンピュータで実行される場合に、該コンピュータに、請求項1乃至13のうちいずれか一項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2012年7月13日付けで出願された米国特許仮出願第63/221365号、「Image Based Sampling Metric for Mesh Quality Assessment」に対する優先権の利益を主張して2022年7月11日付けで出願された米国特許出願第17/862154号、「IMAGE BASED SAMPLING METRIC FOR QUALITY ASSESSMENT」に対する優先権の利益を主張するものである。先願の開示は、それらの全文を参照により本願に援用される。
【0002】
[技術分野]
本開示は、3次元(3D)グラフィクスモデリングのための品質アセスメントに概して関係がある実施形態について記載する。
【背景技術】
【0003】
ここで提供される背景の記載は、本開示の背景を一般的に提示するためのものである。現在名前を挙げられている発明者の研究は、この背景セクションで記載されている範囲において、出願時に先行技術としてさもなければ認められていない可能性がある記載の側面と同様に、本開示に対する先行技術として明示的にも暗黙的にも認められるものではない。
【0004】
世界、例えば、世界の中の対象物、世界の中の環境、などを捕捉して3次元(3D)空間で表現するために、様々な技術が開発されている。世界の3D表現は、インタラクション及びコミュニケーションのより没入的な形を可能にすることができる。
【発明の概要】
【0005】
本開示の態様は、3次元(3D)グラフィクスモデリングのための品質アセスメントの方法及び装置を提供する。いくつかの例で、品質アセスメントのための装置は処理回路を含む。処理回路は、3次元(3D)空間から2次元(2D)空間への投影のための仮想カメラのポジション変化に応答して、更新された仮想カメラポジションを決定する。処理回路は、基準2D画像を生成するよう、更新された仮想カメラポジションに従って基準3D表現を投影し、かつ、アセスメント2D画像を生成するよう、更新された仮想カメラポジションに従ってアセスメント中の3D表現を投影する。処理回路は、基準2D画像及びアセスメント2D画像に基づき、更新された仮想カメラポジションに関連したアセスメントスコアを計算する。
【0006】
いくつかの実施形態で、処理回路は、更新された仮想カメラポジションを決定するよう、ポジション変化の回転マトリクスを前の仮想カメラポジションに適用する。いくつかの例で、処理回路は、ユーザインターフェースにより入力パラメータとして回転マトリクスを受け取る。
【0007】
いくつかの実施形態で、処理回路は、複数の仮想カメラのポジション変化に基づき第1の複数の更新された仮想カメラポジションを決定する。処理回路は、第1の複数の更新された仮想カメラポジションに関連した第1の複数の基準2D画像を生成するよう、第1の複数の更新された仮想カメラポジションに従って基準3D表現を投影し、かつ、第1の複数の更新された仮想カメラポジションに関連した第1の複数のアセスメント2D画像を生成するよう、第1の複数の更新された仮想カメラポジションに従ってアセスメント中の3D表現を投影する。処理回路は、第1の複数の基準2D画像及び第1の複数のアセスメント2D画像に基づき、第1の複数の更新された仮想カメラポジションに夫々関連している第1の複数のアセスメントスコアを計算する。処理回路は、第1の複数のアセスメントスコアの加重平均されたアセスメントスコアを計算する。
【0008】
一例では、第1の複数の更新された仮想カメラポジションは、3D空間内の球上に均等にサンプリングされる。他の例では、第1の複数の更新された仮想カメラポジションは、3D空間内の球上にランダムにサンプリングされる。
【0009】
いくつかの例で、アセスメント中の3D表現は、基準3D表現のフレームに対応している複数のフレームを含む。第1の複数の更新された仮想カメラポジションは、アセスメント中の3D表現の第1のフレーム及び基準3D表現の第1の対応するフレームを投影するために使用される。処理回路は、複数の仮想カメラの第2の複数の更新された仮想カメラポジションを決定する。第2の複数の更新された仮想カメラポジションは、アセスメント中の3D表現の第2のフレーム及び基準3D表現の第2の対応するフレームを投影するために使用される。
【0010】
一例では、処理回路は、カメラ移動経路に基づき複数の仮想カメラの第2の複数の更新された仮想カメラポジションを決定する。
【0011】
他の例では、処理回路は、第1のカメラ移動経路に基づき第2の複数の更新された仮想カメラポジションの中で第1のポジションを決定し、かつ、第2のカメラ移動経路に基づき第2の複数の更新された仮想カメラポジションの中で第2のポジションを決定する。第1のポジションは、複数の仮想カメラの中の第1の仮想カメラに関連しており、第2のポジションは、複数の仮想カメラの中の第2の仮想カメラに関連している。
【0012】
いくつかの例で、第1の複数のアセスメントスコアの加重平均されたアセスメントスコアを計算するために、処理回路は、アセスメント中の3D表現の投影に基づき、第1の複数のアセスメントスコアを重み付けする重みを決定し、重みに基づき、加重平均されたアセスメントスコアを計算する。一例では、処理回路は、第1の複数のアセスメント2D画像において投影される有効なピクセルの各々の数に基づき、第1の複数のアセスメントスコアを重み付けする重みを決定する。他の例では、処理回路は、第1の複数の更新された仮想カメラポジションに対応する投影面までのアセスメント中の3D表現の各々の距離に基づき、第1の複数のアセスメントスコアを重み付けする重みを決定する。
【0013】
いくつかの例で、アセスメント中の3D表現は、基準3D表現のフレームに対応している複数のフレームを含む。第1の複数の更新された仮想カメラポジションは、アセスメント中の3D表現の第1のフレーム及び基準3D表現の第1の対応するフレームを投影するために使用され、加重平均されたアセスメントスコアは、第1のフレームに対する第1のフレームレベルアセスメントスコアである。処理回路は、第1の複数の更新された仮想カメラポジションに基づき、第1のフレームレベルアセスメントスコアを重み付けする第1のフレーム重みを決定する。処理回路は、複数のフレームに対する加重平均スコアである最終的なアセスメントスコアを計算する。第1のフレームレベルアセスメントスコアは、最終的なアセスメントスコアにおいて第1のフレーム重みによって重み付けされている。
【0014】
一例では、処理回路は、第1の複数の更新された仮想カメラポジションの中のポジションの数に基づき、第1のフレーム重みを決定する。他の例では、処理回路は、第1の複数の更新された仮想カメラポジションの中のポジションに基づき、第1のフレーム重みを決定する。
【0015】
一例では、アセスメントスコアは、ピーク信号対雑音比(peak signal-to-noise ratio,PSNR)に基づき計算される。一例では、アセスメントスコアは、構造類似性指数メトリック(structural similarity index metric,SSIM)に基づき計算される。一例では、アセスメントスコアは、視覚情報フィデリティ(visual information fidelity,VIF)に基づき計算される。一例では、アセスメントスコアは、ビデオマルチメソッドアセスメント融合(video multi-method assessment fusion,VMAF)に基づき計算される。一例では、アセスメントスコアは、盲目/非参照型画像空間品質評価器(blind/referenceless image spatial quality evaluator,BRISQUE)に基づき計算される。一例では、アセスメントスコアは、歪み識別に基づいた画像の真偽及び完全性の評価(distortion identification-based image verity and integrity evaluation,DIIVINE)に基づき計算される。
【0016】
本開示の態様は、コンピュータによって実行される場合に、コンピュータに、3Dグラフィクスモデリングのための品質アセスメントの方法を実行させる命令を記憶している非一時的なコンピュータ可読媒体も提供する。
【0017】
開示されている対象の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
【図面の簡単な説明】
【0018】
【
図1】いくつかの例の中で、3次元(3D)空間から2次元(2D)空間へ投影する一例を説明する図を示す。
【
図2】16個の異なるビュー方向からレンダリングされる2D画像を示す。
【
図3】いくつかの例の中で、画像ベースサンプリングメトリックの計算を説明する図を示す。
【
図4】本開示のいくつかの実施形態に係る他のプロセスを説明するフローチャートを示す。
【
図5】本開示のいくつかの実施形態に係る他のプロセスを説明するフローチャートを示す。
【
図6】本開示のいくつかの実施形態に係る他のプロセスを説明するフローチャートを示す。
【
図7】実施形態に係るコンピュータシステムの模式図である。
【発明を実施するための形態】
【0019】
本開示の態様は、3Dグラフィクスモデリングのための品質アセスメントの技術を提供する。いくつかの例で、当該技術は、3次元(3D)表現の品質アセスメントのための画像ベースサンプリングメトリックを改善することができる。
【0020】
いくつかの例では、点群(ポイントクラウド)及びメッシュが世界の3D表現として使用可能である。点群は、3D空間内の点の組であり、各点は、関連する属性、例えば、色、材料特製、テクスチャ情報、強度属性、反射属性、モーション関連属性、モダリティ属性、及び様々な他の属性を持っている。そのような点群は、大量のデータを含む可能性があり、記憶及び伝送するのに費用及び時間がかかる場合がある。いくつかの例では、より高速な伝送又は記憶の削減のために、点群を表すために必要なデータの両方を減らすべく、圧縮技術が開発され得る。例えば、点群の不可逆圧縮は、リアルタイム通信及び6自由度(6DoF)仮想現実において有用であることができる。いくつかの例では、圧縮技術は、元の3D表現に対して歪みを持った点群を生成するために、元の3D表現(例えば、元の点群、元のメッシュ、など)に適用され得る。
【0021】
メッシュ(いくつかの例ではポリゴンメッシュとも呼ばれる。)は、多面体オブジェクトの形状を定義する、頂点、辺、及び面の集合である。面には、通常、三角形(三角メッシュ)、四角形(クワッド)、又は他の簡単な凸多角形がある。いくつかの例では、面には、凹面多角形又は穴を持った多角形が含まれ得る。いくつかの例では、メッシング技術は、数値計算の速度又は精度を向上させることを目標として開発され得る。いくつかの例では、メッシング技術は、元の3D表現に対して歪みを持った新しいメッシュを生成するために、元の3D表現(例えば、元の点群、元のメッシュ、など)に適用され得る。
【0022】
本開示の対象に従って、3D表現の品質アセスメントは、2種類のアプローチ、すなわち、点に基づいたアプローチ及び画像に基づいたアプローチを用いて、実行され得る。
【0023】
いくつかの例で、点に基づいたアプローチを使用するために、3D表現は点群表現に変換される。例えば、第1のメッシュを第2のメッシュと比較するために、第1のメッシュの表面サンプリングは、第1のメッシュに関連した第1の点群表現を生成することができ、第2のメッシュの表面サンプリングは、第2のメッシュに関連した第2の点群表現を生成することができる。第1のメッシュに関連した第1の点群表現及び第2のメッシュに関連した第2の点群表現に基づき、ピーク信号対雑音比(PSNR)、点群品質メトリック(point cloud quality metric,PCQM)、などのいくつかのメトリックが計算され得る。
【0024】
いくつかの例で、第1の3D表現は点群(第1の点群と呼ばれる。)であり、第2の3D表現はメッシュである。メッシュの表面サンプリングは、第2の点群を生成することができる。第1の点群及び第2の点群に基づき、ピーク信号対雑音比(PSNR)、点群品質メトリック(PCQM)、などのいくつかのメトリックが、第1の3D表現と第2の3D表現とを比較するために、計算され得る。
【0025】
いくつかの例で、画像に基づいたアプローチを使用するために、3D表現は、3D空間から2D空間へ投影される。例えば、3D表現は、2次元(2D)画像を生成するよう投影面上に投影され得、3D表現の品質アセスメントは2D画像に基づく。3D表現の夫々は、点群、メッシュ、などの如何なる適切な3D表現でもあることができる。いくつかの例で、3D空間から2D空間への投影によって生成される2D画像は、色値の2Dマトリクス(カラー画像とも呼ばれる。)、バイナリマスク値の2Dマトリクス(マスク画像とも呼ばれる。)、及びデプス値の2Dマトリクス(デプス画像とも呼ばれる。)を含むことができる点に留意されたい。
【0026】
図1は、いくつかの例の中で、2D空間で1つ以上の2D画像(150)をレンダリングするために3D空間で3D表現(110)を投影する一例を説明する図を示す。
【0027】
3D表現(110)は、点群又はメッシュであることができる。
図1の例において、3D表現(110)の境界球(bounding sphere)(120)が取得され得る。一例で、境界球(120)は、3D表現(110)の境界ボックス(例えば、長方形ボックス)を決定し、境界ボックスの中心及び対角線に基づき境界球(120)を決定することによって、取得され得る。
【0028】
いくつかの例で、2D画像(150)は、3D空間内の境界球(120)の中心の方を指すビュー方向(例えば、ビュー方向ベクトルvdiにより定義される。)に基づき生成され得る。
【0029】
いくつかの例で、2D画像(150)は、直交投影によりレンダリングされ得る。ビュー方向ベクトルvdiの投影面(130)は、境界球(120)に接する面であり、ビュー方向ベクトルvdiに垂直である。
【0030】
いくつかの例で、ビュー方向は、3D空間から2D空間への投影のための仮想カメラを用いて説明することができる。例えば、仮想カメラのポジション(仮想カメラポジションとも呼ばれる。)は、境界球(120)上で決定され、ビュー方向は、仮想カメラポジションから境界球(120)の中心への方向である。他の例では、ビュー方向が決定される場合に、ビュー方向に平行であって境界球(120)の中心を通る直線は、仮想カメラポジションで境界球と交わることができる。
図1の例において、仮想カメラが、例えば、位置Aに置かれる場合に、その仮想カメラのビュー方向は、ビュー方向ベクトルvd
iによって特定され得る。2D画像(150)は、例えば、位置Aに置かれてビュー方向において3D表現(110)を撮影する仮想カメラによってされたものとして説明することができる。
【0031】
本開示の態様に従って、ビュー方向ベクトルvdiに従うレンダリング結果は、カラー画像、マスク画像、及びデプス画像を含む2D画像であることができる。いくつかの例で、カラーバッファは、ビュー方向ベクトルvdiに関連したカラー画像を記憶し、マスクバッファは、ビュー方向ベクトルvdiに関連したマスク画像を記憶し、デプスバッファは、ビュー方向ベクトルvdiに関連したデプス画像を記憶する。
【0032】
いくつかの例で、3D表現(110)はメッシュであり、カラーバッファは、ピクセル(m,n)ごとに、最も近い投影された三角形の色、例えば、RGB値又は他の色フォーマット値を記憶することができる。一例では、3D表現(110)は、テクスチャ化されたメッシュであり、RGB色は、三角形UV座標を用いてテクスチャマップの双線形補間により取得され得る。他の例では、3D表現(110)は、頂点ごとに色分けされたメッシュ(非テクスチャマップ)であり、ピクセルの色は、重心座標を用いて頂点の色を混合することに基づき決定され得る。マスクバッファは、ピクセル(m,n)ごとに、バイナリ値を記憶することができる。一例では、ピクセル(m,n)のバイナリ値は、そのピクセルの投影が存在する場合には1にセットされ、そうでない場合には、そのピクセルのバイナリ値は0にセットされる。デプスバッファは、ピクセル(m,n)ごとに、3D空間における投影面(130)から3D表面(投影面上のピクセル(m,n)からメッシュまでのビュー方向ベクトルvd
iの最も近い交差点)までの距離d
m,n(
図1では(140)によって示されている。)を記憶することができる。
【0033】
図1の例では、カラー画像が、ビュー方向ベクトルvd
iによって特定されるビュー方向に従う投影からレンダリングされる2D画像(150)を例示するために示されている。
【0034】
図2は、16個の異なるビュー方向からレンダリングされる2D画像(例えば、カラー画像)(251)~(266)を示す。
【0035】
本開示のいくつかの態様に従って、画像に基づいたアプローチは、アセスメント中の3D表現(第2の3D表現とも呼ばれる。)の品質を基準3D表現(第1の3D表現とも呼ばれる。)に基づき評価するために、画像ベースサンプリングメトリック(image-based sampling metric,IBSM)を用いてアセスメントスコアを計算することができる。いくつかの例で、基準3D表現は、元の3D表現であり、アセスメント中の3D表現は、元の3D表現に基づき(例えば、モデリング技術に従って)生成される。アセスメント中の3D表現は、元の3D表現に対して歪みを有していることがある。
【0036】
いくつかの例で、IBSMを用いてアセスメントスコアを計算するために、複数の投影画像が生成される。例えば、仮想カメラの第1の組は、2D画像の第1の組を生成するために第1の3D表現に関して特定のポジションで配置され、また、仮想カメラの第2の組は、2D画像の第2の組を生成するために第2の3D表現に関して対応するポジションで配置される。次いで、IBSMのアセスメントスコアが、2D画像の第1の組及び2D画像の第2の組に基づき計算され得る。いくつかの例で、仮想カメラはビュー方向を特定するために使用される点に留意されたい。仮想カメラの第1の組及び仮想カメラの第2の組は、第1の3D表現及び第2の3D表現について、対応するカメラポジションで配置され得る。カメラポジションはビュー方向と関連付けられている。よって、2D画像の第1の組及び2D画像の第2の組は、同じビュー方向から撮影される。
【0037】
具体的に、いくつかの例で、第1のカラーバッファは、ビュー方向に関連したカラー画像の第1の組を記憶し、第1のマスクバッファは、ビュー方向に関連したマスク画像の第1の組を記憶し、第1のデプスバッファは、ビュー方向に関連したデプス画像の第1の組を記憶する。同様に、第2のカラーバッファは、ビュー方向に関連したカラー画像の第2の組を記憶し、第2のマスクバッファは、ビュー方向に関連したマスク画像の第2の組を記憶し、第2のデプスバッファは、ビュー方向に関連したデプス画像の第2の組を記憶する。
【0038】
いくつかの例で、カラー画像及びデプス画像のPSNR値は、カラーバッファ及びデプスバッファの各対に基づきビュー方向ごとに計算され得る。カラー画像のPSNR値は、色歪みを推定する。一例では、PSNR値は、第1のカラーバッファ内の第1のカラー画像及び第2のカラーバッファ内の第2のカラー画像に基づき計算される。第1のカラー画像及び第2のカラー画像は、同じビュー方向を有することができる。デプス画像のPSNR値は、ジオメトリ歪みを推定する。一例では、PSNR値は、第1のデプスバッファ内の第1のデプス画像及び第2のデプスバッファ内の第2のデプス画像に基づき計算される。第1のデプス画像及び第2のデプス画像は、同じビュー方向を有することができる。
【0039】
一例では、最終的なPSNR値は、異なるビュー方向及び異なる時間フレーム(例えば、メッシュの複数のフレームを含むダイナミックメッシュ)からの全てのPSNR値を平均することによって計算される。
【0040】
図3は、いくつかの例の中で、画像ベースサンプリングメトリックを用いてアセスメント値を計算することを説明する図を示す。
【0041】
図3の例において、第1の3D表現(310A)は、基準3D表現であり、第2の3D表現(310B)は、アセスメント中の3D表現である。
【0042】
いくつかの例で、ビュー方向の組(例えば、V1、V2、V3などによって示されている。)が決定される。ビュー方向の組に従って、複数の投影画像(2D画像とも呼ばれる。)の第1の組が、第1の3D表現(310A)に関して生成され、複数の投影画像の第2の組が、第2の3D表現(310B)に関して生成される。例えば、ビュー方向V2に従って、カラー画像COLOR2A、マスク画像MASK2A、及びデプス画像DEPTH2Aが第1の3D表現(310A)から生成される。カラー画像COLOR2AはカラーバッファAに記憶され、マスク画像MASK2AはマスクバッファAに記憶され、デプス画像DEPTH2AはデプスバッファAに記憶される。
【0043】
同様に、ビュー方向V2に従って、カラー画像COLOR2B、マスク画像MASK2B、及びデプス画像DEPTH2Bが第2の3D表現(310B)から生成される。カラー画像COLOR2BはカラーバッファBに記憶され、マスク画像MASK2BはマスクバッファBに記憶され、デプス画像DEPTH2BはデプスバッファBに記憶される。
【0044】
いくつかの例で、カラーバッファAは、ビュー方向の組の中のビュー方向から投影された第1の3D表現(310A)のカラー画像を記憶することができる。マスクバッファAは、ビュー方向の組の中のビュー方向から投影された第1の3D表現(310A)のマスク画像を記憶することができる。デプスバッファAは、ビュー方向の組の中のビュー方向から投影された第1の3D表現(310A)のデプス画像を記憶することができる。同様に、カラーバッファBは、ビュー方向の組の中のビュー方向から投影された第2の3D表現(310B)のカラー画像を記憶することができる。マスクバッファBは、ビュー方向の組の中のビュー方向から投影された第2の3D表現(310B)のマスク画像を記憶することができる。デプスバッファBは、ビュー方向の組の中のビュー方向から投影された第2の3D表現(310B)のデプス画像を記憶することができる。
【0045】
一例では、平均二乗誤差(MSE)が、同じビュー方向の2つの画像の間の差を計算するために使用可能である。例えば、ビュー方向V2に関連したカラーMSE値は、カラー画像COLOR2A及びカラー画像COLOR2Bに基づき計算され、ビュー方向V2に関連したデプスMSE値は、デプス画像DEPTH2A及びデプス画像DEPTH2Bに基づき計算される。一例では、ビュー方向V2に関連したカラーPSNR値は、カラーMSE値に基づき計算され、ビュー方向V2に関連したデプスPSNR値は、デプスMSE値に基づき計算される。一例では、カラーアセスメントスコアは、ビュー方向に関連したカラーPSNR値の平均として計算される。他の例では、デプスアクセスメントスコアは、ビュー方向に関連したデプスPSNR値の平均として計算される。
【0046】
いくつかの例で、第1の3D表現(310A)は複数のフレームを含み、第2の3D表現(310B)は複数のフレームを含む。一例では、フレームレベルアセスメントスコア、例えば、フレームレベルカラーアセスメントスコア、フレームレベルデプスアセスメントスコア、などは、対応するフレームの各対について計算される。次いで、カラーメトリックが、フレームレベルカラーアセスメントスコアの全ての平均として計算され、デプスメトリックが、フレームレベルデプスアセスメントスコアの全ての平均として計算される。
【0047】
いくつかの例では、最終的なアセスメント値は、全てのPSNR値(例えば、メッシュの複数のフレームが存在する場合に、全てのビュー方向及びフレームのカラーPSNR値、デプスPSNR値)を平均することによって、計算される。最終的なアセスメントスコアは、第2の3D表現(310B)の品質を評価するために使用される。
【0048】
いくつかの関係がある例では、ビュー方向(仮想カメラポジションとも呼ばれる。)は、ビュー方向の数が決定されると固定される。更に、最終的なアセスメントスコアは、空間ドメイン及び時間ドメインの違いに関係なく、異なるビュー方向及びフレームからのPSNRを平均することによって取得される。本開示の態様に従って、PSNR値は、人間の視覚と十分に強く相関しない場合がある。
【0049】
本開示のいくつかの態様は、3D表現の品質アセスメントのためのIBSMメトリックを改善する技術を提供する。技術は、個別的に適用可能であり、あるいは、任意に組み合わされた形で適用可能である。
【0050】
本開示の態様に従って、3D表現を比較するための仮想カメラのポジション(ビュー方向に対応。)は変更することができる。仮想カメラポジションは、常に固定ではなく、変更することができる。
【0051】
いくつかの実施形態で、仮想カメラポジションの変化は、最初の仮想カメラポジションに適用可能である。3D表現の境界球上の最初の仮想カメラポジションは、如何なる手段によっても、例えば、フィボナッチ球格子などを使用して、決定され得る。
【0052】
いくつかの例では、(3D表現のための)境界球の周りで仮想カメラポジションを回転させ、更新された仮想カメラポジションを決定するために、最初の仮想カメラポジションに対して回転マトリクスが適用される。更新された仮想カメラポジションは、2D画像を生成するために使用され、2D画像は、品質アセスメントのために使用される。いくつかの例で、回転マトリクスは、ユーザインターフェースから受け取られた入力パラメータなどのユーザ入力パラメータによって指定され得る。一例では、回転マトリクスは、回転の大きさを持った回転軸に基づき決定され得る。他の例では、回転マトリクスは、予め定義された順序で異なる軸に沿った3つの回転軸から取得され得る(別名、ヨー、ピッチ、ロール表現)。他の例では、回転マトリクスは、四元数表現によって表現され得る。
【0053】
いくつかの実施形態で、仮想カメラポジションは、3D表現の境界球上に均等にサンプリング(配置、分布)される。いくつかの実施形態で、仮想カメラポジションは、3D表現の境界球上にランダムにサンプリング(例えば、配置、分布)される。
【0054】
いくつかの実施形態で、仮想カメラポジションは時間とともに変化することができる。いくつかの例で、3D表現は、異なる時間タイプを持った複数のフレームを含む。一例では、各フレームは、異なる仮想カメラポジション配置を有してもよい。いくつかの例で、仮想カメラのポジションはフレームごとに変化することができる。一例では、仮想カメラのポジションは、境界球上のカメラ移動経路に従って変化することができる。いくつかの例で、仮想カメラは、境界球上で同じ又は異なるカメラ移動経路を有してもよい。一例では、カメラ移動経路は固定であることができる。他の例では、カメラ移動経路は、ユーザ入力によって、例えば、ユーザインターフェースから受け取られた入力パラメータとして、指定される。
【0055】
本開示の態様に従って、適応重み付け技術が使用可能である。例えば、空間(例えば、仮想カメラポジション、仮想カメラ)及び時間(例えば、フレーム)にわたってアセスメントスコア(例えば、PSNR値)を平均するのではなく、より適応的な重み付けストラテジが、アセスメント中の3D表現の最終的なアセスメントスコアを計算することにおいて適用され得る。
【0056】
いくつかの例で、フレームごとのアセスメントスコアは、各仮想カメラからの加重和として計算され得る。例えば、式(1)は、i番目のフレームのアセスメントスコアを計算するために使用され得る。
【数1】
ここで、S
i
jは、i番目のフレーム内のj番目の仮想カメラのアセスメントスコアを表す。一例では、アセスメントスコアは、カラーバッファに基づき計算されたカラーPSNR値、若しくはデプスバッファに基づき計算されたデプスPSNR値、又は何らかの多のメトリックであることができる。W
i
jは、スコアS
i
jに対する重み付け係数を表す。F
iは、i番目のフレームの重み付けされたアセスメントスコアを表す。重みW
i
jは、レンダリングされた画像(投影画像)内の有効なピクセルの数、視点までの距離、などを含む種々の因子を考慮に入れることができる。
【0057】
一例では、第1の投影画像内の有効なピクセルの第1の数が第2の投影画像内の有効なピクセルの第2の数よりも多い場合に、より大きい重みが第1の投影画像に割り当てられる。一例では、投影画像の有効なピクセルの数は、投影画像のマスク画像内の「1」の数によって決定され得る。
【0058】
一例では、視点までの距離は、投影面までの点の平均距離を用いて計算される。一例では、視点までの距離は、投影画像のデプス画像内の有効なデプス値の平均デプス値を用いて計算される。
【0059】
更に、最終的なアセスメントスコアは、フレームのスコアからの加重和であることができ、これは、式(2)に示されるように定式化され得る。
【数2】
ここで、T
iは、i番目のフレームに対する重み付け係数を表し、Fは、全てのフレームにわたって重み付けされた最終的なアセスメントスコアを表す。重みT
iは、書くフレーム内の仮想カメラの数、仮想カメラポジション、などを含む種々の因子を考慮に入れることができる。一例では、異なるフレームの投影のために、異なる数の仮想カメラが使用される。仮想カメラの数が多い(投影された2D画像の数が多い)フレームは、より大きい重みを有してよい。他の例では、異なる仮想カメラポジションは、有効なピクセルの数が異なるか又は視点までの距離が異なる画像を生成する場合がある。仮想カメラポジションがフレームごとに異なる場合に、フレームに対する重みは、仮想カメラポジションの違いを考慮に入れることができる。
【0060】
本開示の態様に従って、追加の目的メトリックが3D表現の品質アセスメントで使用可能である。目的メトリックは、PSNRよりも人間の視覚により良く相関することができ、単にPSNRを計算することよりも、レンダリングされたフレームの品質を評価するために使用することができる。
【0061】
いくつかの実施形態で、構造類似性指数メトリック(SSIM)、視覚情報フィデリティ(VIF)、ビデオマルチメソッドアセスメント融合(VMAF)などのようないくつかのメトリックが、3D基準表現(基準メッシュ、基準点群など)に基づきアセスメント中の3D表現(例えば、アセスメント中の点群、アセスメント中のメッシュ)の品質を決定するために使用されてもよい。一例では、元のメッシュは、圧縮されたメッシュ(元のメッシュに対して歪みを有する場合がある。)の品質アセスメントのための3D基準表現として使用される。SSIM、VIF、VMAFなどのようなメトリックは、元のメッシュに基づき、圧縮されたメッシュの品質を決定するために使用されてもよい。
【0062】
いくつかの実施形態で、盲目/非参照型画像空間品質評価器(BRISQUE)、歪み識別に基づいた画像の真偽及び完全性の評価(DIIVINE)などのようないくつかのメトリックが、縮小参照又は非参照を用いてアセスメント中の3D表現(例えば、アセスメント中の点群、アセスメント中のメッシュ)の品質を決定することができる。一例では、元のメッシュは、圧縮されたメッシュの品質アセスメントを実行するために必要とされない。他の例では、元のメッシュの部分のみが、圧縮されたメッシュの品質アセスメントを実行するために必要とされる。
【0063】
図4は、本開示の実施形態に係るプロセス(400)を説明するフローチャートを示す。プロセス(400)は、3D表現の品質アセスメントで使用され得る。いくつかの実施形態で、プロセス(400)は、ソフトウェア命令で実装され、よって、処理回路がソフトウェア命令を実行するときに、処理回路はプロセス(400)を実行する。プロセスは(S401)から始まり、(S410)へ進む。
【0064】
(S410)で、更新された仮想カメラポジションが、仮想カメラのポジション変化に応答して決定される。仮想カメラは、3次元(3D)空間から2次元(2D)空間への投影のために使用される。
【0065】
いくつかの例で、ポジション変化の回転マトリクスが、更新された仮想カメラポジションを決定するよう、前の仮想カメラポジションに適用される。一例では、回転マトリクスは、ユーザインターフェースにより入力パラメータとして受け取られる。
【0066】
(S420)で、基準3D表現が、基準2D画像を生成するよう、更新された仮想カメラポジションに従って投影される。基準3D表現は点群又はメッシュであることができる。基準2D画像はカラー画像、マスク画像及びデプス画像を含むことができる。
【0067】
(S430)で、アセスメント中の3D表現が、アセスメント2D画像を生成するよう、更新された仮想カメラポジションに従って投影される。
【0068】
(S440)で、更新された仮想カメラポジションに関連したアセスメントスコアが、基準2D画像及びアセスメント2D画像に基づき計算される。
【0069】
いくつかの実施形態で、品質アセスメントは複数のカメラを使用する。いくつかの例で、第1の複数の更新された仮想カメラポジションが、複数の仮想カメラのポジション変化に基づき決定される。基準3D表現は、第1の複数の更新された仮想カメラポジションに関連した第1の複数の基準2D画像を生成するよう、第1の複数の更新された仮想カメラポジションに従って投影される。アセスメント中の3D表現は、第1の複数の更新された仮想カメラポジションに関連した第1の複数のアセスメント2D画像を生成するよう、第1の複数の更新された仮想カメラポジションに従って投影される。第1の複数の更新された仮想カメラポジションに夫々関連している第1の複数のアセスメントスコアが、第1の複数の基準2D画像及び第1の複数のアセスメント2D画像に基づき計算される。次いで、第1の複数のアセスメントスコアの加重平均されたアセスメントスコアが計算される。
【0070】
実施形態において、第1の複数の更新された仮想カメラポジションは、3D空間内の球上に均等にサンプリングされる。他の実施形態においては、第1の複数の更新された仮想カメラポジションは、3D空間内の球上にランダムにサンプリングされる。
【0071】
いくつかの例で、アセスメント中の3D表現は、基準3D表現のフレームに対応している複数のフレームを含む。第1の複数の更新された仮想カメラポジションは、アセスメント中の3D表現の第1のフレーム及び基準3D表現の第1の対応するフレームを投影するために使用される。いくつかの例で、複数の仮想カメラの第2の複数の更新された仮想カメラポジションが決定され得る。第2の複数の更新された仮想カメラポジションは、アセスメント中の3D表現の第2のフレーム及び基準3D表現の第2の対応するフレームを投影するために使用される。一例では、複数の仮想カメラの第2の複数の更新された仮想カメラポジションが、カメラ移動経路に基づきを決定される。
【0072】
他の例では、第2の複数の更新された仮想カメラポジションの中の第1のポジションが、第1のカメラ移動経路に基づき決定される。第1のポジションは、複数の仮想カメラの中の第1の仮想カメラに関連している。第2の複数の更新された仮想カメラポジションの中の第2のポジションが、第2のカメラ移動経路に基づき決定される。第2のポジションは、複数の仮想カメラの中の第2の仮想カメラに関連している。
【0073】
いくつかの例で、第1の複数のアセスメントスコアの加重平均されたアセスメントスコアを計算するために、第1の複数のアセスメントスコアを重み付けする重みがアセスメント中の3D表現の投影に基づき決定され、加重平均されたアセスメントスコアが重みに基づき計算される。一例では、第1の複数のアセスメントスコアを重み付けする重みは、第1の複数のアセスメント2D画像において投影される有効なピクセルの各々の数に基づき決定される。他の例では、第1の複数のアセスメントスコアを重み付けする重みは、第1の複数の更新された仮想カメラポジションに対応する投影面までのアセスメント中の3D表現の各々の距離に基づき決定される。
【0074】
いくつかの例で、アセスメント中の3D表現は、基準3D表現のフレームに対応している複数のフレームを含み、第1の複数の更新された仮想カメラポジションは、アセスメント中の3D表現の第1のフレーム及び基準3D表現の第1の対応するフレームを投影するために使用され、加重平均されたアセスメントスコアは、第1のフレームに対する第1のフレームレベルアセスメントスコアである。いくつかの例で、第1のフレームレベルアセスメントスコアを重み付けする第1のフレーム重みは、第1の複数の更新された仮想カメラポジションに基づき決定される。複数のフレームに対する加重平均スコアである最終的なアセスメントスコアが計算される。第1のフレームレベルアセスメントスコアは、最終的なアセスメントスコアにおいて第1のフレーム重みによって重み付けされている。一例では、第1のフレーム重みは、第1の複数の更新された仮想カメラポジションの中のポジションの数に基づき決定される。他の例では、第1のフレーム重みは、第1の複数の更新された仮想カメラポジションの中のポジションに基づき決定される。
【0075】
実施形態において、アセスメントスコアは、ピーク信号対雑音比(PSNR)に基づき計算される。他の実施形態においては、アセスメントスコアは、構造類似性指数メトリック(SSIM)に基づき計算される。他の実施形態においては、アセスメントスコアは、視覚情報フィデリティ(VIF)に基づき計算される。他の実施形態においては、アセスメントスコアは、ビデオマルチメソッドアセスメント融合(VMAF)に基づき計算される。他の実施形態においては、アセスメントスコアは、盲目/非参照型画像空間品質評価器(BRISQUE)に基づき計算される。他の実施形態においては、アセスメントスコアは、歪み識別に基づいた画像の真偽及び完全性の評価(DIIVINE)に基づき計算される。
【0076】
次いで、プロセスは(S499)へ進んで終了する。
【0077】
プロセス(400)は、適切に適応され得る。プロセス(400)のステップは、変更及び/又は省略することができる。追加のステップが加えられてもよい。如何なる適切な実施順序も使用することができる。
【0078】
図5は、本開示の実施形態に係るプロセス(500)を説明するフローチャートを示す。プロセス(500)は、3D表現の品質アセスメントで使用され得る。いくつかの実施形態において、プロセス(500)は、ソフトウェア命令で実装され、よって、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(500)を実行する。プロセスは(S501)から始まり、(S510)へ進む。
【0079】
(S510)で、基準3次元(3D)表現が、基準2次元(2D)画像を生成するよう、仮想カメラの複数の仮想カメラポジションに従って投影される。仮想カメラは、3D空間から2D空間への投影のために使用される。一例では、複数の仮想カメラポジションは固定ポジションである。他の例では、複数の仮想カメラポジションは、フレームごとに変化してもよい。
【0080】
(S520)で、アセスメント中の3D表現が、アセスメント2D画像を生成するよう、仮想カメラの複数の仮想カメラポジションに従って投影される。
【0081】
(S530)で、仮想カメラに関連したアセスメントスコアが、基準2D画像及びアセスメント2D画像に基づき計算され得る。
【0082】
(S540)で、アセスメント中の3D表現に対するアセスメントスコアの加重平均されたアセスメントスコアが計算される。アセスメントスコアを重み付けする重みは、アセスメント中の3D表現の投影に基づき決定される。
【0083】
いくつかの例で、アセスメントスコアを重み付けする重みは、アセスメント2D画像において投影される有効なピクセルの各々の数に基づき決定される。他の例では、アセスメントスコアを重み付けする重みは、複数の仮想カメラポジションに対応する投影面までのアセスメント中の3D表現の各々の距離に基づき決定される。
【0084】
いくつかの例で、アセスメント中の3D表現は、基準3D表現のフレームに対応している複数のフレームを含む。加重平均されたアセスメントスコアは、第1のフレームに対する第1のフレームレベルアセスメントスコアである。第1のフレームレベルアセスメントスコアを重み付けする第1のフレーム重みが、複数の仮想カメラポジションに基づき決定される。複数のフレームに対する加重平均されたスコアである最終的なアセスメントスコアが計算される。最終的なアセスメントスコアは、第1のフレーム重みによって重み付けされている第1のフレームレベルアセスメントスコアを含む。一例では、第1のフレーム重みは、複数の仮想カメラポジションの中のポジションの数に基づき決定される。他の例では、第1のフレーム重みは、複数の仮想カメラポジションの中のポジションに基づき決定される。
【0085】
実施形態において、アセスメントスコアは、ピーク信号対雑音比(PSNR)に基づき計算される。他の実施形態においては、アセスメントスコアは、構造類似性指数メトリック(SSIM)に基づき計算される。他の実施形態においては、アセスメントスコアは、視覚情報フィデリティ(VIF)に基づき計算される。他の実施形態においては、アセスメントスコアは、ビデオマルチメソッドアセスメント融合(VMAF)に基づき計算される。他の実施形態においては、アセスメントスコアは、盲目/非参照型画像空間品質評価器(BRISQUE)に基づき計算される。他の実施形態においては、アセスメントスコアは、歪み識別に基づいた画像の真偽及び完全性の評価(DIIVINE)に基づき計算される。
【0086】
次いで、プロセスは(S599)へ進んで終了する。
【0087】
プロセス(500)は、適切に適応され得る。プロセス(500)のステップは、変更及び/又は省略することができる。追加のステップが加えられてもよい。如何なる適切な実施順序も使用することができる。
【0088】
図6は、本開示の実施形態に係るプロセス(600)を説明するフローチャートを示す。プロセス(600)は、3D表現の品質アセスメントで使用され得る。いくつかの実施形態において、プロセス(600)は、ソフトウェア命令で実装され、よって、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(600)を実行する。プロセスは(S601)から始まり、(S610)へ進む。
【0089】
(S610)で、3次元(3D)空間から2次元(2D)空間へ投影するための仮想カメラの仮想カメラポジションに従って、アセスメント中の3D表現が、アセスメント2D画像を生成するよう投影される。
【0090】
(S620)で、アセスメントスコアが、アセスメント2D画像に基づき計算される。実施形態において、アセスメントスコアは、構造類似性指数メトリック(SSIM)に基づき計算される。他の実施形態においては、アセスメントスコアは、視覚情報フィデリティ(VIF)に基づき計算される。他の実施形態においては、アセスメントスコアは、ビデオマルチメソッドアセスメント融合(VMAF)に基づき計算される。他の実施形態においては、アセスメントスコアは、盲目/非参照型画像空間品質評価器(BRISQUE)に基づき計算される。他の実施形態においては、アセスメントスコアは、歪み識別に基づいた画像の真偽及び完全性の評価(DIIVINE)に基づき計算される。
【0091】
いくつかの例で、メトリックが基準を必要とする場合に、3D基準表現が、基準2D画像を生成するよう、仮想カメラの仮想カメラポジションに従って投影され得る。
【0092】
次いで、プロセスは(S699)へ進んで終了する。
【0093】
プロセス(600)は、適切に適応され得る。プロセス(600)のステップは、変更及び/又は省略することができる。追加のステップが加えられてもよい。如何なる適切な実施順序も使用することができる。
【0094】
上述された技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ可読媒体に物理的に記憶され得る。例えば、
図7は、開示されている対象の特定の実施形態を実装するのに適したコンピュータシステム(700)を示す。
【0095】
コンピュータソフトウェアは、1つ以上のコンピュータ中央演算処理装置(CPU)、グラフィクス処理ユニット(GPU)などによって、直接に、又は解釈、マイクロコード実行などを通じて、実行され得る命令を含むコードを生成するように、アセンブリ、コンパイル、リンキングなどのメカニズムに従い得る如何なる適切な機械コード又はコンピュータ言語によってもコーディング可能である。
【0096】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、インターネット・オブ・シングス(Internet of Things)デバイス、などを含む様々なタイプのコンピュータ又はその構成要素で実行可能である。
【0097】
コンピュータシステム(700)に関して
図7に示されるコンポーネントは、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関して如何なる限定も示唆することを意図しない。コンポーネントの構成は、コンピュータシステム(700)の例示的な実施形態において説明される構成要素のうちのいずれか1つ又は組み合わせに関して何らかの依存又は要件を有するものとして解釈されるべきではない。
【0098】
コンピュータシステム(700)は、特定のヒューマンインターフェース入力デバイスを含んでよい。かようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグロープ動作)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず。)を通じた一人以上のユーザによる入力に反応してよい。ヒューマンインターフェースデバイスはまた、音声(例えば、発話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画カメラから取得された写真画像)、映像(例えば、2次元映像、立体視映像を含む3次元映像)などの、人による意識的な入力に必ずしも直接には関係しない特定のメディアを捕捉するためにも使用され得る。
【0099】
入力ヒューマンインターフェースデバイスは、キーボード(701)、マウス(702)、トラックパッド(703)、タッチスクリーン(710)、データグローブ(図示せず。)、ジョイスティック(705)、マイク(706)、スキャナ(707)、カメラ(708)(各1つしか表されていない。)のうちの1つ以上を含んでよい。
【0100】
コンピュータシステム(700)は、特定のヒューマンインターフェース出力デバイスも含んでよい。かようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音響、光、及び匂い/味を通じて一人以上のユーザの感覚を刺激するものであってよい。かようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(710)、データグローブ(図示せず。)、又はジョイスティック(705)による触覚フィードバック、しかし、入力デバイスとして機能しない触覚フィードバックデバイスも存在することができる。)、音声出力デバイス(例えば、スピーカ(709)、ヘッドホン(図示せず。))、視覚出力デバイス(例えば、夫々タッチスクリーン入力機能の有無によらず、夫々触覚フィードバック機能の有無によらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それらのうちのいくつかは、立体視出力、仮想現実メガネ(図示せず。)、ホログラフィックディスプレイ及びスモークタンク(図示せず。)などの手段により2次元視覚出力又は3次元よりも多い次元の出力を出力可能であり得るスクリーン(710))、及びプリンタ(図示せず。)を含んでよい。
【0101】
コンピュータシステム(700)は、人がアクセス可能な記憶デバイス及びそれらの関連する媒体、例えば、CD/DVD又は同様の媒体(721)によるCD/DVD ROM/RW(720)、サムドライブ(722)、リムーバブルハードディスク又はソリッドステートドライブ(723)、レガシー磁気媒体、例えば、テープ及びフロッピー(登録商標)ディスク(図示せず。)、専用のROM/ASIC/PLDベースデバイス、例えば、セキュリティドングル(図示せず。)、なども含むことができる。
【0102】
当業者であれば、目下開示されている対象に関連して使用されている「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を含まないことも理解するはずである。
【0103】
コンピュータシステム(700)は、1つ以上の通信ネットワーク(755)へのインターフェース(754)も含むことができる。ネットワークは、例えば、ワイヤレス、ワイヤライン、光であることができる。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両及び産業、実時間、遅延耐性、などであることができる。ネットワークの例には、イーサネット(登録商標)などのローカルエリアネットワーク、ワイヤレスLAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTVワイヤライン又はワイヤレス広域デジタルネットワーク、CANBusを含む車両及び産業ネットワーク、などがある。特定のネットワークは、一般に、特定の汎用デジタルポート又はペリフェラルバス(749)(例えば、コンピュータシステム(700)のUSBポートなど)に取り付けられた外付けネットワークインターフェースアダプタを必要とする。他は、一般に、後述されるようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットネットワーク、又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム(700)のコアに組み込まれる。これらのネットワークのいずれかを使用して、コンピュータシステム(700)は他のエンティティと通信することができる。そのような通信は、一方向の受信専用(例えば、ブロードキャストTV)又は一方向の送信専用(例えば、特定のCANBusデバイスへのCANBus)であることができ、あるいは、例えば、ローカル若しくは広域デジタルネットワークを使用して他のコンピュータシステムに対して双方向であることができる。特定のプロトコル又はプロトコルスタックが、上述されたようなネットワーク及びネットワークインターフェースの夫々で使用可能である。
【0104】
上記のヒューマンインターフェースデバイス、人がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(700)のコア(740)へ取り付けられ得る。
【0105】
コア(740)は、1つ以上の中央演算処理装置(CPU)(741)、グラフィクス処理ユニット(GPU)(742)、フィールドプログラマブルゲートエリア(FPGA)(743)の形をとる専用のプログラム可能処理ユニット、特定のタスクのためのハードウェアアクセラレータ(744)、グラフィクスアダプタ(750)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(745)、ランダムアクセスメモリ(746)、内部のユーザアクセス不能ハードドライブなどの内蔵大容量記憶装置、SSD、など(747)とともに、システムバス(748)を通じて接続されてよい。いくつかのコンピュータシステムでは、システムバス(748)は、追加のCPU、GPUなどによる拡張を可能にするように、1つ以上の物理プラグの形でアクセス可能であることができる。コアのシステムバス(748)へ直接に又はペリフェラルバス(749)を通じて、周辺機器が取り付けられ得る。一例では、スクリーン(710)がグラフィクスアダプタ(750)へ接続され得る。ペリフェラルバスのためのアーキテクチャは、PCI、USB、などを含む。
【0106】
CPU(741)、GPU(742)、FPGA(743)、及びアクセラレータ(744)は、組み合わせて上記のコンピュータコードを構成することができる特定の命令を実行可能である。そのコンピュータコードは、ROM(745)又はRAM(746)に記憶され得る。一時データもRAM(746)に記憶可能であり、一方、永続性データは、例えば、内蔵大容量記憶装置(747)に記憶可能である。メモリデバイスのいずれかへの高速な格納及び読み出しは、キャッシュメモリの使用により可能にされ得る。キャッシュメモリは、1つ以上のCPU(741)、GPU(742)、大容量記憶装置(747)、ROM(745)、RAM(746)などと密接に関連し得る。
【0107】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであることができ、あるいは、それらは、コンピュータソフトウェア技術で通常の知識を有する者によく知られており利用可能である種類のものであることができる。
【0108】
例として、限定としてではなく、アーキテクチャ(700)を備えたコンピュータシステム、具体的にはコア(740)は、1つ以上の有形なコンピュータ可読媒体において具現されているソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む。)の結果として機能を提供することができる。かようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(747)又はROM(745)などの、非一時的な性質であるコア(740)の特定の記憶装置に加えて、先に紹介されたユーザアクセス可能な大容量記憶装置に関連した媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(740)によって実行可能である。コンピュータ可読媒体には、特定のニーズに応じて、1つ以上のメモリデバイス又はチップが含まれ得る。ソフトウェアは、コア(740)、及び、具体的には、その中のプロセッサ(CPU、GPU、FPGAなどを含む。)に、RAM(746)に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することとを含め、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的に、又は代替案として、コンピュータシステムは、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はそれとともに動作することができる、回路内でハードワイヤード又は別なふうに具現されたロジック(例えば、アクセラレータ(744))の結果として、機能を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶している回路(例えば、集積回路(IC))、実行のためのロジックを具現する回路、又は両方を包含することができる。本開示は、ハードウェア及びソフトウェアの如何なる適切な組み合わせも包含する。
【0109】
本開示は、いくつかの非限定的な実施例について記載してきたが、本開示の範囲内にある代替、交換、及び様々な置換均等物が存在する。よって、明らかなように、当業者であれば、たとえ本明細書で明示的に図示又は説明されていないとしても、本開示の原理を具現し、よって、その精神及び範囲の中にある多数のシステム及び方法に想到可能である。
【国際調査報告】