(57)【特許請求の範囲】
【請求項１】
サーバと、
前記サーバから提供されるデータを用いてサービスを提供するサービスアプリケーションと、
ユーザに対し前記サービスアプリケーションのＵＩを提供するクライアント端末と
を有し、
前記サービスアプリケーションが、
前記クライアント端末を介して入力される指示に応じて、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を含む３Ｄデータセットを識別するデータ識別子、及び前記ユーザを識別するユーザ識別子を含む３Ｄデータセットに対する処理要求を前記サーバに送信する要求送信手段
を有し、
前記サーバが、
前記３Ｄデータセットの前記データ識別子、当該３Ｄデータセットに含まれるデータ本体において被写体であるユーザの前記ユーザ識別子、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの前記ユーザ識別子の対応関係を記憶する記憶手段と、
前記サービスアプリケーションから前記処理要求を受信する要求受信手段と、
前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記処理要求に係る処理を行うことを認証する認証手段と、
前記処理を行うことが認証された場合、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信する応答送信手段と
を有し、
前記サービスアプリケーションが、
前記サーバから前記応答を受信する応答受信手段と、
前記処理制限情報による制限事項の範囲内で、前記データ本体に対し前記処理を行う処理手段と
前記処理手段による処理結果を前記クライアント端末において出力させるためのデータを出力する出力手段と
を有する
３Ｄデータシステム。
【請求項２】
前記要求受信手段は、前記３Ｄデータセットを他のユーザにシェアする要求であって、シェア元のユーザ及びシェア先のユーザのユーザ識別子を含むシェア要求を前記サービスアプリケーションから受信し、
前記認証手段は、前記記憶手段に記憶されている前記シェア制限情報に基づいて、前記シェア元のユーザから前記シェア先のユーザへ前記３Ｄデータセットをシェアすることを認証し、
前記シェア元のユーザから前記シェア先のユーザへ前記３Ｄデータセットをシェアすることが認証された場合、当該シェア元のユーザから当該シェア先のユーザへ当該３Ｄデータセットをシェアした旨を前記記憶手段に記憶させるシェア手段を有する
請求項１に記載の３Ｄデータシステム。
【請求項３】
前記要求受信手段は、前記３Ｄデータセットのシェア先のユーザを変更する要求であって、当該３Ｄデータセットの識別子及び当該要求の送信元ユーザを識別するユーザ識別子を含む変更要求を受信し、
前記変更要求に含まれる前記ユーザ識別子が、前記３Ｄデータセットに含まれるデータ本体において被写体であるユーザ本人の識別子であった場合、前記シェア手段は、前記記憶手段に記憶されているシェア先のユーザを変更する
請求項２に記載の３Ｄデータシステム。
【請求項４】
前記処理要求は、前記３Ｄデータセットの用途を識別する用途識別子を含み、
前記応答送信手段は、前記データ本体に含まれるデータのうち、前記用途識別子に応じて選択された一部のデータを前記応答として前記サービスアプリケーションに送信する
請求項１乃至３のいずれか一項に記載の３Ｄデータシステム。
【請求項５】
前記要求送信手段、前記応答受信手段、及び前記処理手段が、ＳＤＫとして提供される
請求項１乃至４のいずれか一項に記載の３Ｄデータシステム。
【請求項６】
前記サーバが、
前記サービスアプリケーションから前記処理要求を受信した回数又は頻度に基づいて前記ＳＤＫのライセンス料を課金する課金手段
を有する請求項５に記載の３Ｄデータシステム。
【請求項７】
前記処理手段は、前記３Ｄモデルに編集を行うものであり、
前記編集の内容を示す編集データを、前記サーバを介する経路とは別の経路で他のクライアント端末に送信するデータ送信手段を有する
請求項１乃至６のいずれか一項に記載の３Ｄデータシステム。
【請求項８】
３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を各々が含む複数の３Ｄデータセットの各々について、当該３Ｄモデルの被写体であるユーザ、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの対応関係を記憶する記憶手段と、
前記３Ｄデータセットに対する処理の要求であって、ユーザ識別子を含む処理要求をサービスアプリケーションから受信する受信手段と、
前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記要求をしたユーザが前記処理を行うことを認証する認証手段と、
前記要求をしたユーザが前記処理を行うことが認証された場合、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信する送信手段と
を有するサーバ。
【請求項９】
サービスアプリケーションが、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を含む３Ｄデータセットを識別するデータ識別子、及びユーザを識別するユーザ識別子を含む３Ｄデータセットに対する処理要求をサーバに送信するステップと、
前記サーバが、前記３Ｄデータセットの前記データ識別子、当該３Ｄデータセットに含まれるデータ本体において被写体であるユーザの前記ユーザ識別子、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの前記ユーザ識別子の対応関係を記憶手段に記憶するステップと、
前記サーバが、前記サービスアプリケーションから前記処理要求を受信するステップと、
前記サーバが、前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記処理要求に係る処理を行うことを認証するステップと、
前記処理を行うことが認証された場合、前記サーバが、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信するステップと、
前記サービスアプリケーションが、前記サーバから前記応答を受信するステップと、
前記サービスアプリケーションが、前記処理制限情報による制限事項の範囲内で、前記データ本体に対し前記処理を行うステップと、
前記サービスアプリケーションが、前記処理の結果を前記クライアント端末において出力させるためのデータを出力するステップと
を有する３Ｄデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄモデルを表すデータを扱う技術に関する。
【背景技術】
【０００２】
人間や物品等を撮影して３Ｄデータ化し、仮想空間内で用いる技術が知られている。例えば特許文献１には、被写体の動的な個性を示す個性データを３Ｄモデリングデータに付加する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６４８９７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、ＳＮＳ（Social Networking Service）が普及している。３ＤモデリングデータをＳＮＳでシェアする、ということが近い将来、広く行われる可能性がある。しかし、ユーザを撮影した写真から作成した３Ｄモデリングデータは個人情報であり、被写体であるユーザが意図しない使用をされると、そのユーザのプライバシーが侵害されるおそれがあった。【０００５】
これに対し本発明は、３Ｄモデルを含む３Ｄデータセットがシェアされた場合に、その３Ｄデータセットの処理をユーザが制御することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、サーバと、前記サーバから提供されるデータを用いてサービスを提供するサービスアプリケーションと、ユーザに対し前記サービスアプリケーションのＵＩを提供するクライアント端末とを有し、前記サービスアプリケーションが、前記クライアント端末を介して入力される指示に応じて、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を含む３Ｄデータセットを識別するデータ識別子、及び前記ユーザを識別するユーザ識別子を含む３Ｄデータセットに対する処理要求を前記サーバに送信する要求送信手段を有し、前記サーバが、前記３Ｄデータセットの前記データ識別子、当該３Ｄデータセットに含まれるデータ本体において被写体であるユーザの前記ユーザ識別子、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの前記ユーザ識別子の対応関係を記憶する記憶手段と、前記サービスアプリケーションから前記処理要求を受信する要求受信手段と、前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記処理要求に係る処理を行うことを認証する認証手段と、前記処理を行うことが認証された場合、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信する応答送信手段とを有し、前記サービスアプリケーションが、前記サーバから前記応答を受信する応答受信手段と、前記処理制限情報による制限事項の範囲内で、前記データ本体に対し前記処理を行う処理手段と前記処理手段による処理結果を前記クライアント端末において出力させるためのデータを出力する出力手段とを有する３Ｄデータシステムを提供する。【０００７】
前記要求受信手段は、前記３Ｄデータセットを他のユーザにシェアする要求であって、シェア元のユーザ及びシェア先のユーザのユーザ識別子を含むシェア要求を前記サービスアプリケーションから受信し、前記認証手段は、前記記憶手段に記憶されている前記シェア制限情報に基づいて、前記シェア元のユーザから前記シェア先のユーザへ前記３Ｄデータセットをシェアすることを認証し、前記シェア元のユーザから前記シェア先のユーザへ前記３Ｄデータセットをシェアすることが認証された場合、当該シェア元のユーザから当該シェア先のユーザへ当該３Ｄデータセットをシェアした旨を前記記憶手段に記憶させるシェア手段を有してもよい。【０００８】
前記要求受信手段は、前記３Ｄデータセットのシェア先のユーザを変更する要求であって、当該３Ｄデータセットの識別子及び当該要求の送信元ユーザを識別するユーザ識別子を含む変更要求を受信し、前記変更要求に含まれる前記ユーザ識別子が、前記３Ｄデータセットに含まれるデータ本体において被写体であるユーザ本人の識別子であった場合、前記シェア手段は、前記記憶手段に記憶されているシェア先のユーザを変更してもよい。【０００９】
前記処理要求は、前記３Ｄデータセットの用途を識別する用途識別子を含み、前記応答送信手段は、前記データ本体に含まれるデータのうち、前記用途識別子に応じて選択された一部のデータを前記応答として前記サービスアプリケーションに送信してもよい。【００１０】
前記３Ｄデータシステムは、前記要求送信手段、前記応答受信手段、及び前記処理手段が、ＳＤＫ（Software Development Kit）として提供されてもよい。【００１１】
前記サーバが、前記サービスアプリケーションから前記処理要求を受信した回数又は頻度に基づいて前記ＳＤＫのライセンス料を課金する課金手段を有してもよい。【００１２】
前記処理手段は、前記３Ｄモデルに編集を行うものであり、前記３Ｄデータシステムは、前記編集の内容を示す編集データを、前記サーバを介する経路とは別の経路で他のクライアント端末に送信するデータ送信手段を有してもよい。【００１３】
本発明は、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を各々が含む複数の３Ｄデータセットの各々について、当該３Ｄモデルの被写体であるユーザ、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの対応関係を記憶する記憶手段と、前記３Ｄデータセットに対する処理の要求であって、ユーザ識別子を含む処理要求をサービスアプリケーションから受信する受信手段と、前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記要求をしたユーザが前記処理を行うことを認証する認証手段と、前記要求をしたユーザが前記処理を行うことが認証された場合、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信する送信手段とを有するサーバを提供する。【００１４】
また、本発明は、サービスアプリケーションが、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を含む３Ｄデータセットを識別するデータ識別子、及びユーザを識別するユーザ識別子を含む３Ｄデータセットに対する処理要求をサーバに送信するステップと、前記サーバが、前記３Ｄデータセットの前記データ識別子、当該３Ｄデータセットに含まれるデータ本体において被写体であるユーザの前記ユーザ識別子、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの前記ユーザ識別子の対応関係を記憶手段に記憶するステップと、前記サーバが、前記サービスアプリケーションから前記処理要求を受信するステップと、前記サーバが、前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記処理要求に係る処理を行うことを認証するステップと、前記処理を行うことが認証された場合、前記サーバが、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信するステップと、前記サービスアプリケーションが、前記サーバから前記応答を受信するステップと、前記サービスアプリケーションが、前記処理制限情報による制限事項の範囲内で、前記データ本体に対し前記処理を行うステップと、前記サービスアプリケーションが、前記処理の結果を前記クライアント端末において出力させるためのデータを出力するステップとを有する３Ｄデータ処理方法を提供する。
【発明の効果】
【００１５】
本発明によれば、３Ｄモデルを含む３Ｄデータセットがシェアされた場合に、その３Ｄデータセットの処理をユーザが制御することができる。
【図面の簡単な説明】
【００１６】
【図１】一実施形態に係る３Ｄデータシステム１の概略を示す図。
【図２】３Ｄデータシステム１の機能構成を例示するブロック図。
【図３】クライアント端末１０のハードウェア構成を例示するブロック図。
【図４】サーバ２０のハードウェア構成を例示するブロック図。
【図５】３Ｄデータシステム１のソフトウェア構成を例示するブロック図。
【図６】３Ｄデータセットの内容を例示する図。
【図７】シェアデータベースの内容を例示する図。
【図８】３Ｄデータシステム１の動作を例示するシーケンスチャート。
【図９】３Ｄデータシステム１の動作を例示するシーケンスチャート。
【図１０】３Ｄデータシステム１の動作を例示するシーケンスチャート。
【図１１】３Ｄデータシステム１の動作を例示するシーケンスチャート。
【図１２】３Ｄデータシステム１の動作を例示するシーケンスチャート。
【符号の説明】
【００１７】
１…３Ｄデータシステム、２…通信回線、１０…クライアント端末、１１…要求送信手段、１２…応答受信手段、１３…処理手段、１４…データ送信手段、２０…サーバ、２１…記憶手段、２２…要求受信手段、２３…認証手段、２４…応答送信手段、２５…シェア手段、２６…課金手段、２７…データ送信手段、１０１…プロセッサ、１０２…メモリ、１０３…記憶装置、１０４…通信ＩＦ、１０５…ＵＩ部、２０１…プロセッサ、２０２…メモリ、２０３…記憶装置、２０４…通信ＩＦ。
【発明を実施するための形態】
【００１８】
１．構成
図１は一実施形態に係る３Ｄデータシステム１の全体構成を例示する図である。３Ｄデータシステム１は、３Ｄモデルを表す３Ｄデータセットをアプリケーションに提供するシステムである。３Ｄモデルとは、３次元仮想空間において立体を表すデータをいう。３Ｄモデルは、少なくとも、３Ｄ被写体の表面形状及び表面の色彩に関する情報を含む。３Ｄデータセットは、例えば、被写体の表面を撮影した画像を用いて生成される。「被写体」は３Ｄデータセットを生成する対象となる物体をいい、人間や動物などの生物、及び人形、衣服、又は家具などの無生物を含む。
【００１９】
３Ｄデータシステム１は、クライアント端末１０、サーバ２０、及びサービスアプリケーション３０を備える。サービスアプリケーション３０は、３Ｄデータを用いたサービスをユーザに提供するためのソフトウェア（又はプログラム）である。サービスアプリケーション３０はどのようなハードウェア装置に実装されてもよく、一例においてはサーバ２０とは別のサーバに実装されるウェブアプリケーションである。あるいは、サービスアプリケーション３０は、その一部又は全部がクライアント端末１０に実装されてもよい。クライアント端末１０は、サービスアプリケーション３０のＵＩ（User Interface）を提供するための端末であり、例えばスマートフォン、タブレット端末、ラップトップ型コンピュータ、又はゲーム機器等のコンピュータである。サーバ２０はいわゆるクラウドサーバである。サーバ２０は３Ｄデータセットを複数記憶しており、サービスアプリケーション３０からの要求に応じて３Ｄデータセットを記憶部から読み出し、読み出した３Ｄデータセットをサービスアプリケーション３０に提供する。クライアント端末１０は通信回線２を介してサーバ２０に接続されている。通信回線２は、例えば、インターネット、移動体通信網、電話回線、又はＬＡＮ（Local Area Network）を含む。
【００２０】
クライアント端末１０には、オペレーティングシステム（以下「ＯＳ」という）及びアプリケーションプログラム等のソフトウェアがインストールされ、インストールされたアプリケーションはユーザにより使用される。特に、クライアント端末１０には、３Ｄデータセットを利用するアプリケーションがインストールされている。図１では図面を簡単にするために単一のクライアント端末１０を図示しているが、複数のクライアント端末１０が３Ｄデータシステム１に含まれてもよい。
【００２１】
図２は、３Ｄデータシステム１の機能構成を例示するブロック図である。３Ｄデータシステム１は、要求送信手段３１、応答受信手段３２、処理手段３３、データ送信手段３４、出力手段３５、記憶手段２１、要求受信手段２２、認証手段２３、応答送信手段２４、シェア手段２５、課金手段２６、及びＵＩ手段１１を有する。
【００２２】
サーバ２０において、記憶手段２１は、３Ｄデータセットに関するデータベースを記憶する。このデータベースには、３Ｄデータセットのデータ識別子、３Ｄデータセットに含まれるデータ本体において被写体であるユーザ（又はモデル化されたユーザ）のユーザ識別子、及びユーザから３Ｄデータセットをシェアされたユーザのユーザ識別子の対応関係が記録される。さらにこのデータベースには、３Ｄモデルを表すデータ本体、そのデータ本体をシェアする範囲の制限事項を記述したシェア制限情報、及びその３Ｄモデルの処理に関する制限事項を記述した処理制限情報が記録される。なお、データ本体等、一部のデータはこのデータベースではなく、外のデータベースに記録されてもよい。３Ｄデータセットは、例えば、３Ｄスキャナ（図示略）により生成される。３Ｄスキャナは、被写体の表面形状及び表面の色彩を読み取り３Ｄデータセットを生成する装置である。
【００２３】
サービスアプリケーション３０において、要求送信手段３１は、３Ｄデータセットに対する処理要求をサーバ２０に送信する。この処理要求は、３Ｄデータセットを識別するデータ識別子、及びユーザを識別するユーザ識別子を含む。なお、サービスアプリケーション３０は、例えば、クライアント端末１０においてＵＩ手段１１を介してユーザが入力する指示に応じて処理要求を送信する。ＵＩ手段１１は、ユーザに対するユーザインターフェースを提供する。
【００２４】
サーバ２０において、要求受信手段２２は、サービスアプリケーション３０から処理要求を受信する。認証手段２３は、記憶手段２１に記憶されている対応関係及び３Ｄデータセットに含まれるシェア制限情報に基づいて、処理要求に係る処理を行うことを認証する。応答送信手段２４は、処理を行うことが認証された場合、処理要求に対する応答として、データ本体の少なくとも一部及び処理制限情報の少なくとも一部をサービスアプリケーション３０に送信する。
【００２５】
サービスアプリケーション３０において、応答受信手段３２は、サーバ２０から応答を受信する。処理手段３３は、処理制限情報による制限事項の範囲内で、データ本体に対し処理を行う。出力手段３５は、処理手段３３における処理の結果をクライアント端末１０において出力（例えば表示）するためのデータを出力する。データ送信手段３４は、処理手段３３による処理が３Ｄモデルに編集を行うものである場合、編集の内容を示す編集データを、例えばサーバ２０を介する経路とは別の経路で他のクライアント端末１０に送信する。
【００２６】
サービスアプリケーション３０から送信される処理要求が３Ｄデータのシェアに関するものであって、シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアすることが認証された場合、シェア手段２５は、シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアした旨を記憶手段２１に記憶させる。課金手段２６は、クライアント端末１０から処理要求を受信した回数又は頻度に基づいてＳＤＫのライセンス料を課金する。
【００２７】
この例において、要求送信手段３１、応答受信手段３２、処理手段３３、及びデータ送信手段３４はサービスアプリケーション３０が有する機能である。前述のとおり、これらの機能は、どのハードウェアに実装されてもよい。一例において、これらの機能全てがクライアント端末１０に実装される。別の例において、これらの機能全てがサーバ２０とは別のサーバに実装されてもよい。さらに別の例において、これらの機能の一部がクライアント端末１０に、他の一部がサーバ装置に実装されてもよい。記憶手段２１、要求受信手段２２、認証手段２３、応答送信手段２４、シェア手段２５、及び課金手段２６はサーバ２０に実装される。なお、クライアント端末１０及びサーバ２０における機能の分担はあくまで例示であり、機能の分担は図２の例に限定されない。
【００２８】
図３は、クライアント端末１０のハードウェア構成を例示するブロック図である。プロセッサ１０１は、クライアント端末１０の他の要素を制御するプロセッサである。メモリ１０２は、プロセッサ１０１がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばＲＡＭ（Random Access Memory）を含む。記憶装置１０３は各種のプログラム及びデータを記憶する記憶装置であり、例えば、ＳＳＤ（Solid State Drive）又はＨＤＤ（Hard Disk Drive）を含む。通信ＩＦ１０４は、所定の通信規格（例えばＴＣＰ／ＩＰ）に従った通信を行うためのインターフェースであり、例えばＮＩＣ（Network Interface Card）を含む。ＵＩ部１０５は例えばタッチスクリーンとキーとを備える。ＵＩ部１０５はクライアント端末１０に内蔵されていてもよく、また、外付けされて外部接続されるものであってもよい。
【００２９】
この例で、記憶装置１０３は、ＯＳのプログラム、及びその他のアプリケーションプログラムを記憶する。プロセッサ１０１が記憶装置１０３に記憶されたプログラムを読み出して実行することにより、図２に示される機能が実装される。プログラムを実行しているプロセッサ１０１及び／又は通信ＩＦ１０４は、要求送信手段３１、応答受信手段３２及びデータ送信手段３４の一例である。プログラムを実行しているプロセッサ１０１は、処理手段３３の一例である。
【００３０】
図４は、サーバ２０のハードウェア構成を例示するブロック図である。プロセッサ２０１は、サーバ２０の他の要素を制御するプロセッサである。メモリ２０２は、プロセッサ２０１がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばＲＡＭ（Random Access Memory）を含む。記憶装置２０３は各種のプログラム及びデータを記憶する記憶装置であり、例えば、ＳＳＤ（Solid State Drive）又はＨＤＤ（Hard Disk Drive）を含む。通信ＩＦ２０４は、所定の通信規格（例えばＴＣＰ／ＩＰ）に従った通信を行うためのインターフェースであり、例えばＮＩＣ（Network Interface Card）を含む。
【００３１】
この例で、プロセッサ２０１が記憶装置２０３に記憶されたコンピュータプログラムを実行することにより、図２の機能が実装される。記憶装置２０３は記憶手段２１の一例である。プログラムを実行しているプロセッサ２０１及び／又は通信ＩＦ２０４は、要求受信手段２２及び応答送信手段２４の一例である。プログラムを実行しているプロセッサ２０１は、認証手段２３、シェア手段２５、及び課金手段２６の一例である。
【００３２】
図５は３Ｄデータシステム１のソフトウェア構成を例示するブロック図である。この例において、サービスアプリケーション３０は、一部がネットワーク上のサーバ（図示略）に実装される。具体的には、要求送信部３５１、応答受信部３５２、処理部３５３、データ送信部３５４、及び出力部３５５がサーバに実装される。他の一部、具体的には、表示制御部１５５及びＵＩ部１５６はクライアント端末１０に実装される。サービスアプリケーション３０は、３Ｄデータセットを利用したサービスをユーザに提供する。サービスアプリケーション３０は例えば、ＩＤカード、名刺、バーチャルコミュニケーション、ビデオゲーム、着せ替え（又は試着）、採寸、バーチャルシアター、フィットネス、医療、又は映画製作を提供するアプリケーションである。
【００３３】
ＩＤカードは、ユーザの身分証明に用いられるアプリケーションである。ＩＤカードにおいて、ユーザの写真の代わりに３Ｄモデルが表示される。名刺は、ユーザの個人情報を他のユーザに伝達するためのアプリケーションである。名刺のデータには、ユーザの３Ｄデータセットが含まれる。例えばユーザＵａの名刺データは、別のユーザＵｂに出力される。ユーザＵｂは自分のクライアント端末１０においてユーザＵｂの３Ｄモデルを含む名刺データを閲覧することができる。
【００３４】
バーチャルコミュニケーションは、仮想空間において他のユーザとコミュニケーションを行うためのアプリケーションである。仮想空間において、各ユーザはいわゆるアバターを用いて表示される。このアバターとして本実施形態に係る３Ｄモデルが用いられる。バーチャルコミュニケーションを用いれば、例えば遠隔地にいる複数のユーザが会議をすることができる。
【００３５】
ビデオゲームにおいて、ゲーム中に登場するキャラクターとして、本実施形態に係る３Ｄモデルが用いられる。例えば、格闘ゲームにおいて、プレイヤーは、自身の３Ｄモデルをプレイヤーキャラクターとして用いることができる。着せ替えは、仮想空間において人体モデルに服を着せるアプリケーションである。この人体モデルとして、本実施形態に係る３Ｄモデルが用いられる。人体モデルは服を着た状態で仮想空間内を移動する（いわゆるランウェイウォーク）。採寸は、被写体の体のサイズ（例えば、身長、胸囲、胴囲等）を測定するアプリケーションである。
【００３６】
バーチャルシアターは、仮想空間において、仮想キャラクター（又はアバター）に実演（例えば、歌唱、演劇、ダンス等）を行わせ、その実演を鑑賞するアプリケーションである。実演は、例えば仮想空間上のステージで行われる。ユーザは、仮想カメラで撮影されたこの実演を鑑賞することができる。仮想カメラ（又は視点）の位置は例えばユーザの指示に応じて制御される。ユーザは、特定の演者に仮想カメラを寄せたり、ステージを俯瞰したり、仮想カメラの位置を自在に制御できる。
【００３７】
フィットネスは運動の前後において被写体の体を３Ｄモデル化して記録するアプリケーションである。記憶された３Ｄモデルを比較することにより、運動により筋肉が増強された部分や、余分なぜい肉が落ちた部分を視覚的に確認することができる。医療は治療の前後において被写体の体を３Ｄモデル化して記録するアプリケーションである。記憶された３Ｄモデルを比較することにより、治療、投薬、リハビリの効果を視覚的に確認することができる。映画製作は、映画の中に３Ｄモデルを登場させるアプリケーションである。
【００３８】
サービスアプリケーション３０は、要求送信部３５１（要求送信手段３１の一例）、応答受信部３５２（応答受信手段３２の一例）、処理部３５３（処理手段３３の一例）、データ送信部３５４（データ送信手段３４の一例）、及び出力部３５５（出力手段３５の一例）を含む。要求送信部３５１は、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を含む３Ｄデータセットを識別するデータ識別子、及びユーザを識別するユーザ識別子を含む３Ｄデータセットに対する処理要求をサーバ２０に送信する。応答受信部３５２は、サーバ２０から応答を受信する。処理部３５３は、処理制限情報による制限事項の範囲内で、データ本体に対し処理を行う。出力部３５５は、処理部３５３における処理の結果をクライアント端末１０において出力（例えば表示）するためのデータを出力する。データ送信部３５４は、処理部３５３による処理が３Ｄモデルに編集を行うものである場合、編集の内容を示す編集データを、サーバ２０を介する経路とは別の経路で他のクライアント端末１０に送信する。
【００３９】
要求送信部３５１、応答受信部３５２、処理部３５３、及び出力部３５５は、ＳＤＫとしてサービスアプリケーション３０の開発者に提供される。サービスアプリケーション３０の開発者は、提供されるＳＤＫを用いてサービスアプリケーション３０の開発を行う。表示制御部１５５は、３Ｄモデルの表示を行う。例えば、表示制御部１５５は、プログラミングされた３Ｄモデルの動き（例えば、ダンス又はゲームキャラのアクション等）や仮想カメラの視点の動きに従って３ＤモデルをＵＩ部１５６に表示する。
【００４０】
また、プロセッサ２０１が記憶装置２０３に記憶されたコンピュータプログラムを実行することにより、図５の要求受信部２５２（要求受信手段２２の一例）、認証部２５３（認証手段２３の一例）、応答送信部２５４（応答送信手段２４の一例）、シェア部２５５（シェア手段２５の一例）、課金部２５６（課金手段２６の一例）、及び取得部２５７がサーバ２０に実装される。
【００４１】
記憶部２５１は記憶手段２１の一例である。記憶部２５１は、３Ｄデータセットのデータ識別子、３Ｄデータセットに含まれるデータ本体において被写体であるユーザのユーザ識別子、及びユーザから３Ｄデータセットをシェアされたユーザのユーザ識別子の対応関係を記憶する。要求受信部２５２は、クライアント端末１０から処理要求を受信する。認証部２５３は、記憶部２５１に記憶されている対応関係及び３Ｄデータセットに含まれるシェア制限情報に基づいて、処理要求に係る処理を行うことを認証する。応答送信部２５４は、処理を行うことが認証された場合、処理要求に対する応答として、データ本体の少なくとも一部及び処理制限情報の少なくとも一部をクライアント端末１０に送信する。
【００４２】
シェア部２５５は、シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアすることが認証された場合、シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアした旨を記憶部２５１に記憶させる。課金部２５６は、クライアント端末１０から受信した処理要求に応じて（例えば、処理要求を受信した回数又は頻度に基づいて）ＳＤＫのライセンス料を課金する。取得部２５７は、３Ｄデータセットを取得し、記憶部２５１に記憶する。
【００４３】
記憶部２５１には、３Ｄデータベース、及びシェアデータベースが記憶されている。３Ｄデータベースには、３Ｄデータセットが、３Ｄデータセットを識別する識別子（データＩＤ）、及びその３Ｄデータセットに含まれるデータ本体において被写体であるユーザを識別する識別子（ユーザＩＤ）に対応付けて記憶される。シェアデータベースには、３Ｄデータセットのそれぞれについて、どのユーザにシェアされたか（どのユーザの使用が許可されているか）を示す情報が記憶される。
【００４４】
図６は、３ＤデータセットＤ１の内容を例示する図である。図６の例で、３ＤデータセットＤ１は、データ本体Ｄ１１、シェア制限情報Ｄ１２、処理制限情報Ｄ１３、及びユーザ属性情報Ｄ１４を含む。データ本体Ｄ１１は、３Ｄモデルを表すデータ（以下「３Ｄモデリングデータ」という）である。３Ｄモデリングデータは、例えば、３Ｄモデルのスキンデータ及びボーンデータと含む。スキンデータは、３Ｄモデルの対象である被写体の表面の立体形状及び色彩を表すデータである。ボーンデータは、３Ｄモデルに動き（モーション）を与えるための仮想的な構造（ボーン）を表すデータである。ユーザ属性情報Ｄ１４は、３Ｄモデルの被写体となったユーザの属性を示す情報である。一例において、ユーザ属性情報Ｄ１４は、被写体のユーザＩＤを含む。ユーザ属性情報Ｄ１４は、ユーザＩＤに代えて、又は加えて、被写体の年齢、性別、職業等の属性を含んでもよい。
【００４５】
３Ｄモデリングデータに含まれるスキンデータは例えば、以下のようにして生成される。まず、３Ｄスキャナ（図示略）等のデータ生成装置において、対象となる被写体がカメラにより撮影され、撮影画像が得られる。対象被写体はあらかじめ決められたポーズで撮影される。３Ｄスキャナは、撮影画像に加え、カメラまでの距離を計測するための画像（例えば赤外線のパターン図形の像。以下「パターン画像」という）を取得する。３Ｄスキャナは、カメラからパターン画像における各点までの距離、すなわち対象被写体の表面の立体形状を、パターン画像を用いて計算し、計算された立体形状に対して撮影画像を貼り付ける。こうしてスキンデータが得られる。
【００４６】
また、３Ｄスキャナは、３Ｄモデリングデータから特徴点を取得する。特徴点は例えば、３Ｄモデルにおける、いわゆるボーンの端点である。特徴点の取得には、例えば、特許第６４８９７２６号公報に記載した手法が用いられる。また、３Ｄスキャナは、複数の特徴点の位置関係を示す特徴量を計算する。特徴点に関する特徴量を表すデータがボーンデータとして用いられる。さらに、３Ｄスキャナは、被写体であるユーザから、そのユーザの属性、シェアの制限に関する情報、及び処理の制限に関する情報の入力を受け付ける。３Ｄスキャナは、これら入力された情報に基づいて、ユーザ属性情報Ｄ１４、シェア制限情報Ｄ１２、及び処理制限情報Ｄ１３を生成する。３Ｄスキャナは、これらの情報を所定のデータフォーマットで記述し、３ＤデータセットＤ１を生成する。３Ｄスキャナは、生成した３ＤデータセットＤ１をサーバ２０にアップロードする。
【００４７】
シェア制限情報Ｄ１２は、データ本体をシェアする範囲の制限事項を記述した情報である。シェア制限情報には例えば、「制限なし」、「一次シェアのみ可」、又は「シェア不可」といた内容を示す情報が含まれる。「制限なし」は、シェアについての制限が設けられない旨を示す。「一次シェアのみ可」、はデータ本体が表す３Ｄモデルの被写体であるユーザにより直接シェアが行われた場合のみシェアが許可される旨を示す。「シェア不可」はシェアが禁止されている旨を示す。また、シェア制限情報には、シェアするユーザの上限人数を示す情報が含まれてもよい。さらに、シェア制限情報は、例えば、「シェア先が女性の場合のみ可」、「シェア元が１０代の場合のみ可」、「シェア先のユーザが被写体と同じ国に居住している場合のみ可」等、被写体、シェア元、又はシェア先のユーザの属性に関する制限事項を含んでもよい。
【００４８】
処理制限情報Ｄ１３は、３Ｄモデルの処理に関する制限事項を記述した情報である。処理制限情報は例えば、ボーンに関する制限事項、仮想カメラに関する制限事項、編集に関する制限事項、及びアプリケーションに関する制限事項の少なくとも１種を含む。ボーンに関する制限事項は、例えば、所定の動き（モーション）又は姿勢（ポーズ）を制限するための情報であり、例えば特定のポーズを禁止するための情報である。仮想カメラに関する制限事項は、３Ｄモデルの表示に際し仮想カメラの位置を制限するための情報であり、３Ｄモデルに対し例えば所定の角度及び／又は方向からの撮影が禁止される旨を示す情報である。編集に関する制限事項は、例えば、着せ替え処理を禁止するための情報、又は特定の部位の編集（例えば髪の毛の色を変更）を禁止するための情報である。アプリケーションに関する制限事項は、例えば、その３Ｄデータを使用可能なアプリケーションを制限するための情報であり、具体的には、アプリケーションの種類を制限するための情報、又は特定のアプリケーションでの使用を禁止するための情報である。
【００４９】
３Ｄデータセットは、３Ｄスキャナで生成されるものに限定されず、サーバ２０等、他の装置により生成されてもよいサーバ２０以外の装置により３Ｄデータセットが生成される場合、サーバ２０は、３Ｄデータセット、その３Ｄデータセットを識別するデータＩＤ、及びその３Ｄデータセットが表す３Ｄモデルの対象であるユーザのユーザＩＤを、他の装置から受信することにより取得し、３Ｄデータベースに記憶する。
【００５０】
図７は、シェアデータベースの内容を例示する図である。図７の例では、このデータベースには、「データＩＤ」、「ユーザＩＤ」、及び「許可ＩＤ」の各項目が互いに関連付けられている。これらの項目のうち、「データＩＤ」の項目には、３Ｄデータセットを識別する識別子（データＩＤ）が格納される。「ユーザＩＤ」の項目には、その３Ｄデータセットに含まれるデータ本体において被写体であるユーザを識別する識別子（ユーザＩＤ）が格納される。「許可ＩＤ」の項目には、「ユーザＩＤ」の項目に記憶されたユーザＩＤにより識別されるユーザから、その３ＤデータセットをシェアされたユーザのユーザＩＤ（以下「許可ＩＤ」という）が格納される。このように、シェアデータベースには、データＩＤ、ユーザＩＤ及びその３ＤデータセットをシェアされたユーザのユーザＩＤの対応関係が記憶されている。
【００５１】
また、この実施形態では、シェアデータベースの「許可ＩＤ」の項目には、その３ＤデータセットをシェアされたユーザのユーザＩＤと、そのシェアが何次シェア（一次シェア、二次シェア、三次シェア、等）であるかを示す情報（フラグ等）とが紐付けられて記憶される。「一次シェア」とは、３Ｄデータセットのデータ本体が表す３Ｄモデルの被写体であるユーザにより直接行われるシェアのことをいう。「二次シェア」とは、その３Ｄデータセットのデータ本体が表す３Ｄモデルの被写体であるユーザにより直接シェアが行われるのではなく、一次シェアにより３Ｄデータセットをシェアされたユーザが更に他のユーザにその３Ｄデータセットをシェアすることをいう。「三次シェア」とは、二次シェアにより３Ｄデータセットをシェアされたユーザが更に他のユーザにその３Ｄデータセットをシェアすることをいう。ｎ次シェア（ｎは自然数）も同様であり、ｎ人のユーザを介して３Ｄデータセットがシェアされることをいう。すなわちシェアデータベースには、その３ＤデータセットがシェアされたユーザのユーザＩＤに加えて、シェアされたユーザが何次シェアによりシェアされたかを示す情報が記憶される。図７の例において、「usr002(2)」という表記は、「user002」に対して二次シェアが許可されたことを示している。
【００５２】
２．動作
２−１．３Ｄデータセットの提供
次いで、３Ｄデータシステム１の動作について説明する。ここでは、ユーザが自分の３Ｄデータセットをサービスアプリケーション３０で用いる場合の動作を説明する。クライアント端末１０のユーザは、ＵＩ部１０５を用いてサービスアプリケーション３０を起動する操作を行う。クライアント端末１０はユーザの操作に応じてサービスアプリケーション３０を起動する。サービスアプリケーション３０は、３Ｄデータセットをサーバ２０から取得するための処理を行う。
【００５３】
図８は、３Ｄデータシステム１の一実施形態に係る動作を例示するシーケンスチャートである。ステップＳ１０１において、要求送信部３５１は、３Ｄデータセットに対する処理要求をサーバ２０に送信する。３Ｄデータセットに対する処理には、例えば、３Ｄモデルの出力又は編集、若しくはその３Ｄデータセットのシェアが含まれる。送信される処理要求には、３Ｄデータセットを識別するデータＩＤ（又はデータ識別子）、処理を要求するユーザを識別するユーザＩＤ（又はユーザ識別子）、３Ｄデータセットの用途（又は種別）を識別する用途識別子（例えば、全部、スキンデータのみ、ボーンデータのみ、等）、及び処理の内容が含まれる。この動作例では、データＩＤが「data011」、ユーザＩＤが「usr001」、用途識別子が「全部」、であり、また、シェアデータベースの内容が図７に例示したものである例を用いて説明する。要求受信部２５２はクライアント端末１０から受信した処理要求を認証部２５３に供給する（ステップＳ１０２）。
【００５４】
ステップＳ１０３において、認証部２５３は、シェアデータベースに記憶されているデータＩＤ、ユーザＩＤ、及び許可ＩＤの対応関係、並びに３Ｄデータセットに含まれるシェア制限情報に基づいて、処理要求に係る処理を行ってよいか認証する。ここで、処理要求に含まれるデータＩＤ「data011」とユーザＩＤ「usr001」とは、シェアデータベース（図７参照）に対応付けられて記憶されている。そのため、認証部２５３は、処理要求に係る処理を行うことを許可する。別の例で、データＩＤ「data011」及びユーザＩＤ「usr121」を含む処理要求に対しては、シェアデータベースにおいてデータＩＤ「data011」とユーザＩＤ「usr121」とが対応付けられていないので、処理要求に係る処理を行うことは許可されない。
【００５５】
処理要求に係る処理を行うことが認証された場合、ステップＳ１０４において、認証結果が応答送信部２５４に供給される。ステップＳ１０５において、応答送信部２５４は、ステップＳ１０１で受信された処理要求に対する応答として、３Ｄデータセットに含まれるデータ本体の少なくとも一部及び処理制限情報の少なくとも一部を、クライアント端末１０に送信する。この動作例では、応答送信部２５４は、データ本体に含まれるデータのうち、処理要求に含まれていた用途識別子に応じて選択された一部（又は全部）のデータを応答としてクライアント端末１０に送信する。用途識別子がデータ本体の全部を示すものである場合、応答送信部２５４は、３Ｄデータセットに含まれるデータ本体の全部と、処理制限情報の全部を、クライアント端末１０に送信する。送信されたデータ本体及び処理制限情報は、ステップＳ１０５において応答受信部３５２により受信される。ステップＳ１０６において、応答受信部３５２は、３Ｄデータセットを受信した旨を表示制御部１５５に通知する。
【００５６】
ステップＳ１０７において、表示制御部１５５は、３Ｄモデルの表示を行うべく、処理部３５３に３Ｄデータセットに対する処理の実行を指示する。この動作例では、表示制御部１５５は、予めプログラミングされた（又はユーザにより指定された）３Ｄモデルのボーンの動きや仮想カメラの視点の動き等に従い、３Ｄモデルの表示に関するパラメータ値を処理部３５３に入力する。３Ｄモデルの表示に関するパラメータ値は、例えば、ボーンの位置関係、又は仮想カメラの視点の座標である。
【００５７】
サービスアプリケーション３０において、３Ｄモデルは仮想空間に配置される。また、この仮想空間において視点（又は仮想カメラ）が定義される。サービスアプリケーション３０は、仮想空間内においてこの視点から見た（仮想カメラにより取得された）二次元画像をＵＩ部１０５に表示する。なお、仮想空間における視点の座標及び向きは、例えば、ユーザにより指定されてもよいし、あるいは、例えば、予め設定された情報又はアルゴリズムに従って自動的に設定されてもよい。後者の場合において、視点の座標及び向きが動的に変更されてもよい。
【００５８】
ステップＳ１０８において、処理部３５３は、受信された処理制限情報による制限事項の範囲内で、受信されたデータ本体に対し処理を行い、処理結果をステップＳ１０９において表示制御部１５５に出力する。例えば、仮想カメラの視点の座標が入力された場合、処理部３５３は、その視点からみた３Ｄモデルの画像（２次元）を生成し、生成した画像を出力する。また、例えば、ボーンの位置関係（つまりポーズ）が入力されると、処理部３５３は、仮想空間においてそのポーズの３Ｄモデルを、指定された視点から見たときの画像（２次元）を生成し、生成した画像を出力する。
【００５９】
このとき、処理部３５３は、処理制限情報で禁じられている視点の位置やボーンの位置関係等が表示制御部１５５により指定されると、２次元の画像を生成することなく、エラーを出力する。あるいは、処理部３５３は、処理制限情報で許可されている範囲に視点の位置又はボーンの位置関係を留めておき、禁じられている範囲にこれらを移動させる指示を無視してもよい。仮想空間に設定される視点はあくまで仮想的なものであるので、理論上、サービスアプリケーション３０は、視点の位置及び画角を任意に設定することができる。しかし、この実施形態では、処理制限情報により、３Ｄモデルを基準とする、視点の相対的な位置が制限される。具体例としては、例えば女性アイドル歌手の３Ｄモデルを取り扱う場合において、３Ｄモデルの腰より下に仮想カメラが来ないように制限したり、あるいは、仮想カメラの画角をある範囲を超えて小さくできないように制限したりすることができる。このように、処理制限情報により、視点の（３Ｄモデルに対する相対的な）位置が制限される。この情報により、３Ｄモデルに対する処理（例えば、ユーザに見せない領域）を３Ｄモデル毎に定義することができる。
【００６０】
ステップＳ１１０において、表示制御部１５５は、処理されたデータ本体を用いて３Ｄモデルの表示等の処理を行う。例えば、サービスアプリケーション３０がバーチャルコミュニケーションを行うアプリケーションである場合、受信された３Ｄモデリングデータによりユーザの３次元のアバターがＵＩ部１０５に表示され、そのアバターによりサービスアプリケーション３０において他のユーザとコミュニケーションが行われたりする。
【００６１】
処理部３５３が３Ｄデータセットを用いて行う処理は、３Ｄモデルの表示に限定されない。処理部３５３は、ユーザの操作等に応じて、３Ｄモデルに対する編集処理を行う。３Ｄモデルに対する編集処理は例えば、３Ｄモデルの髪の色を変更する処理、肌の色を変更する処理、顔のパーツ（目、鼻、等）の形状を変更する処理、又は衣装を変更する処理である。３Ｄモデルに対する編集を行う場合、処理部３５３は、編集の内容を示す編集データを生成する。３Ｄモデルが編集された場合、処理部３５３は、編集内容に従って３Ｄモデリングデータを加工し、加工した３Ｄモデリングデータ（又はデータ本体）により表される３Ｄモデルの画像（２次元）を表す画像データを生成する。処理部３５３は、生成した画像データを表示制御部１５５に供給するとともに、編集の内容を表す編集データを記憶装置１０３に記憶する。表示制御部１５５は、処理部３５３から供給される画像データに従い３Ｄモデルの２次元画像をＵＩ部１０５に表示する。記憶された編集データは、その３Ｄデータが他のユーザにシェアされる際に他のクライアント端末１０に送信される。なおこの例において、サーバ２０に記憶されている３Ｄモデリングデータ自体は変更されない。編集データはあくまで元のデータを基準として編集の内容（例えば、「肌の色を褐色に変更」、「髪の色を黒に変更」等）を示すものにすぎず、３Ｄモデリングデータそのものは含んでいない。
【００６２】
２−２．３Ｄデータセットのシェア
サービスアプリケーション３０のユーザは、自身が使用するサービスアプリケーション３０において処理した３Ｄモデリングデータを、サービスアプリケーション３０を使用する他のユーザにシェアすることができる。例えば、サービスアプリケーション３０がアバターにダンスを踊らせる動画を表示するプログラムであった場合、自身のアバターにダンスを踊らせる動画をサービスアプリケーション３０で作成したユーザＵａは、同じサービスアプリケーション３０を使用するユーザＵｂに、「ユーザＵａのアバターがダンスを踊る動画」をシェアすることができる。詳細には、ユーザＵａは、自身のアバターの３Ｄデータセット、及び自身のアバターにダンスを踊らせるための、ボーンの動きのシーケンス（すなわち振付）を示すデータをシェアすることができる。なお、３Ｄモデリングデータ（又は３Ｄデータセット）のシェアは、シェア制限情報による制限を受ける。シェア制限情報は、上述したように３Ｄデータセットに含まれている。この動作例では、あるユーザＵａが他のユーザＵｂに自身の３Ｄデータセットをシェアする場合の動作について説明する。以下の説明では、説明の便宜上、ユーザＵａが使用するクライアント端末１０を「クライアント端末１０ａ」とし、ユーザＵｂが使用するクライアント端末１０を「クライアント端末１０ｂ」として説明する。ユーザＵａは、クライアント端末１０ａのＵＩ部１０５を用いて、３Ｄデータセットをシェアするための操作を行う。サービスアプリケーション３０は、ユーザＵａの操作に応じて３Ｄデータセットをシェアするための処理を行う。
【００６３】
図９は、３Ｄデータシステム１が行う、３Ｄデータセットのシェアに係る動作を例示するシーケンスチャートである。ステップＳ２０１において、サービスアプリケーション３０の要求送信部３５１は、３Ｄデータセットを他のユーザにシェアする要求（シェア要求）をサーバ２０に送信する。シェア要求には、シェア元のユーザ及びシェア先のユーザそれぞれのユーザＩＤ、並びにシェアされる３ＤデータセットのデータＩＤが含まれる。なお１ユーザにつき１個の３Ｄデータセットに限る等の制限がある、又はユーザ毎にデフォルトの３Ｄデータセットが設定されている等の事情により、識別情報が無くても３Ｄデータセットを特定できる場合には、シェア要求はデータＩＤを含まなくてもよい。この動作例では、シェア元のユーザＩＤが「usr001」、シェア先のユーザＩＤが「usr002」であり、また、シェアの対象である３Ｄデータセットに含まれるシェア制限情報が「一次シェアのみ可」である場合を説明する。要求受信部２５２はステップＳ２０１においてクライアント端末１０から要求を受信する。受信された要求はステップＳ２０２において認証部２５３に供給される。
【００６４】
ステップＳ２０３において、認証部２５３は、シェア要求を実行してよいか、すなわちシェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアしてよいか、記憶部２５１に記憶されているシェア制限情報に基づいて認証する。具体的には、まず、認証部２５３は、シェア元のユーザのユーザＩＤ「usr001」を３Ｄデータベースから検索し、そのユーザＩＤに対応する３Ｄデータセットに含まれるシェア制限情報を読み出す。この場合、シェアの対象である３Ｄデータセットに含まれるシェア制限情報は「一次シェアのみ可」であるため、認証部２５３は、ユーザＵｂへのシェアを許可する。
【００６５】
シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアすることが認証された場合、ステップＳ２０４において、認証結果がシェア部２５５に送信される。ステップＳ２０５において、シェア部２５５は、認証結果に応じ、シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアした旨をシェアデータベースに記憶する。具体的には、シェア部２５５は、３ＤデータセットのデータＩＤ、シェア元のユーザＩＤ、及びシェア先のユーザＩＤを対応付けてシェアデータベースに記憶する。シェア部２５５による処理の結果は、ステップＳ２０６において応答送信部２５４に供給される。
【００６６】
ステップＳ２０７において、応答送信部２５４は、ステップＳ２０１で受信された要求に対する応答として、シェアが認証された旨を示す応答を送信する。サービスアプリケーション３０において応答受信部３５２により受信される。受信された応答の内容はステップＳ２０９において表示制御部１５５に通知される。
【００６７】
ステップＳ２０９において、表示制御部１５５はシェアが認証された旨を表示する等の処理を行う。また、３Ｄデータセットと共にシェアが指示されたデータ（以下「関連データ」という）があれば、表示制御部１５５は、関連データの送信をデータ送信部３５４に指示する（ステップＳ２１０）。関連データは、例えば、３Ｄデータセットの編集内容を示すデータ、又はダンスの振付を示すデータである。ステップＳ２１１において、データ送信部３５４は関連データを他のクライアント端末１０（クライアント端末１０ｂ）に送信する。このとき、関連データが送信される経路は、サーバ２０を介する経路とは異なる経路であり、例えばサービスアプリケーション３０の開発者が管理するサーバを介する経路である。これにより、関連データがユーザＵｂにシェアされる。
【００６８】
３ＤデータセットをシェアされたユーザＵｂは、クライアント端末１０ｂを用いて、シェアされた３Ｄデータセットを使用するための操作を行う。クライアント端末１０ｂのサービスアプリケーション３０は、ユーザＵｂの操作に応じて、サーバ２０に処理要求を送信する。送信される処理要求には、データＩＤとして「data011」、ユーザＩＤとして「usr002」、及び用途識別子（「全部」、等）が含まれる。この場合の３Ｄデータシステム１の動作は、図８で説明したステップＳ１０１乃至ステップＳ１０９の動作と同様である。なお、ステップＳ１０３においては、図７のシェアデータベースが参照され、ユーザＩＤ「usr001」に対応する許可ＩＤとして「usr002」がシェアデータベースに登録されているため、その処理要求に係る処理を行うことが許可される。
【００６９】
また、３Ｄデータセットのシェアに加え、クライアント端末１０ｂのユーザが関連データのシェアを受けた場合、クライアント端末１０ｂのサービスアプリケーション３０は、サーバ２０から受信した３Ｄデータセット及び他のサーバを介して受信した編集データを用いて、３Ｄモデルの表示等の各種処理を実行する。例えば、サービスアプリケーション３０がアバターにダンスをさせるアプリケーションである場合、処理部３５３により処理された３Ｄモデリングデータ及び関連データによりユーザの３次元のアバターがＵＩ部１０５に表示され、そのアバターがダンスしている様子がＵＩ部１０５に表示されたりする。
【００７０】
図９のステップＳ２０３の認証処理においてシェアが認証されない場合について説明する。例えば、ユーザＵａから一次シェアを受けたユーザＵｂが、ユーザＵａのアバターがダンスする動画をユーザＵｃにシェアしようとする場合がある。この場合において、３Ｄデータセットに含まれているシェア制限情報が「一次シェアのみ可」を示す情報である場合、ユーザＵｂからユーザＵｃへのシェアは認証されない。
【００７１】
図１０は、図９のステップＳ２０３の認証処理においてシェアが認証されない場合の３Ｄデータシステム１の動作を例示するシーケンスチャートである。図１０のステップＳ２０１乃至ステップＳ２０３の処理は図９に示したそれと同様である。ステップＳ２０３において、認証部２５３は、シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアしてよいか、記憶部２５１に記憶されているシェア制限情報に基づいて認証する。シェア元のユーザからシェア先のユーザへ３Ｄデータセットをシェアすることが認証されなかった場合、ステップＳ４０４において、認証結果が応答送信部２５４に送信される。ステップＳ４０５において、応答送信部２５４は、ステップＳ２０１で受信された要求に対する応答として、シェアが認証されなかった旨を示す応答を送信する。送信された応答はステップＳ４０５において応答受信部３５２により受信される。受信された応答の内容はステップＳ４０６において表示制御部１５５に通知される。
【００７２】
ステップＳ４０７において、表示制御部１５５はシェアが認証されなかった旨を表示する等の処理を行う。例えば「二次シェアは禁止されています」といったメッセージが表示される。ユーザＵｂは、表示制御部１５５による表示結果を視認し、シェアされなかった旨を確認する。
【００７３】
２−３．３Ｄデータセットのシェア先のユーザの変更動作
次いで、３Ｄデータセットのシェア先のユーザを変更する動作を説明する。この動作例では、ユーザＵａの３Ｄデータセットのシェア先を、ユーザＵｂからユーザＵｃに変更する場合の動作を説明する。ユーザＵａは、クライアント端末１０ａのＵＩ部１０５を用いて、３Ｄデータセットのシェア先のユーザを変更するための操作を行う。サービスアプリケーション３０は、ユーザＵａの操作に応じて３Ｄデータセットをシェアするための処理を行う。
【００７４】
図１１は、３Ｄデータセットのシェア先のユーザを変更する動作を例示するシーケンスチャートである。ステップＳ３０１において、要求送信部３５１は、３Ｄデータセットのシェア先を変更する要求（以下「変更要求」という）をサーバ２０に送信する。送信される変更要求には、３ＤデータセットのデータＩＤ、要求の送信元ユーザを識別するユーザＩＤ、及びシェア先のユーザを識別するユーザＩＤが含まれる。要求受信部２５２はステップＳ３０１においてクライアント端末１０から変更要求を受信する。受信された変更要求はステップＳ３０２においてシェア部２５５に供給される。
【００７５】
ステップＳ３０３において、受信された変更要求に含まれるユーザＩＤが、３Ｄデータセットに含まれるデータ本体において被写体であるユーザ本人のユーザＩＤであった場合、シェア部２５５は、記憶部２５１に記憶されているシェア先のユーザを変更する。シェア部２５５による処理の結果は、ステップＳ３０４において応答送信部２５４に供給される。ステップＳ３０５において、応答送信部２５４は、ステップＳ３０１で受信された変更要求に対する応答として、シェア先のユーザが変更された旨を示す応答を送信する。送信された応答はステップＳ３０５において応答受信部３５２により受信される。受信された応答の内容はステップＳ３０６において表示制御部１５５に通知される。ステップＳ３０７において、表示制御部１５５はシェアが認証された旨を表示する等の処理を行う。
【００７６】
図７の例において、被写体であるユーザであるｕｓｒ００１が、ｕｓｒ１０３へのシェアを、別のユーザであるｕｓｒ１０４に変更する場合を考える。シェア部２５５は、記憶部２５１に記憶されているシェア先のユーザ一覧から、ｕｓｒ１０３を削除し、ｕｓｒ１０４を追加する。ｕｓｒ００１の３Ｄデータに関し、ｕｓｒ１０４からシェアされたユーザは存在しないので、シェア部２５５は、一覧からｕｓｒ００２（２）及びｕｓｒ１０２（３）を削除する。なお記憶部２５１は、シェア先のユーザとシェア元のユーザとを対応付けて記憶してもよい。一例としては、シェア部２５５は、図７のテーブルに「ｕｓｅｒ１０２（３，ｕｓｒ００２）」と記録する。これは、ｕｓｅｒ１０２が３次シェアを受けたユーザであり、シェア元のユーザがｕｓｒ００２であることを示す。
【００７７】
別の例を説明する。図７の例において、被写体であるユーザであるｕｓｒ００１が、ｕｓｒ１０３へのシェアを、別のユーザであるｕｓｒ００２に変更する場合を考える。シェア部２５５は、記憶部２５１に記憶されているシェア先のユーザ一覧から、ｕｓｒ１０３を削除する。シェア部２５５は次に、シェア先のユーザ一覧にｕｓｒ００２を追加しようとするが、ｕｓｒ００２は既にリストに存在する。そこでシェア部２５５は、ｕｓｒ００２のシェア次数及びシェア元ユーザを書き換える。具体的には、シェア部２５５は、「ｕｓｒ００２（２，ｕｓｒ１０３）」を、「ｕｓｒ００２（１，ｕｓｒ００１）」と書き換える。「ｕｓｒ１０２（３，ｕｓｒ００２）」については、シェア元のユーザ（ｕｓｒ００２）が一覧に存在するので、シェア部２５５はシェア次数を書き換え、「ｕｓｒ１０２（２，ｕｓｒ００２）」とする。
【００７８】
最後の例の処理の後、例えばｕｓｒ１０３からｕｓｒ００１の３Ｄデータの処理要求を受信しても、一覧にｕｓｒ１０３が記録されていないので、認証部２５３は、この処理要求を認証しない。
【００７９】
なお、ここでは、被写体であるユーザからの変更要求を処理する例を説明したが、サーバ２０は、被写体であるユーザに代えて又は加えて、シェア先のユーザからの変更要求を受け付けてもよい。変更されたユーザとシェア元−シェア先の対応付けがあるか否かに応じて、シェア先のユーザ一覧からユーザＩＤを削除するか否かを判断する点は同様である。
【００８０】
２−４．シェアされた後でシェア制限情報が書き換えられる場合の動作
３Ｄデータセットがシェアされた後、シェア制限情報が書き換えられる場合がある。この場合の動作について具体例を用いて説明する。
【００８１】
ここでは、ユーザＵａの３Ｄデータセットのシェア制限情報が「三次シェアまで可」を示す情報であり、ユーザＵａの３ＤデータセットがユーザＵｃに二次シェアされているとする。この場合において、ユーザＵａのアバターがダンスする動画を、ユーザＵｃ（二次シェアを受けた者）がユーザＵｄ（三次シェアを受ける者）にシェアしようとした場合を想定する。この場合の３Ｄデータシステム１の動作は、図９で説明したステップＳ２０１乃至Ｓ２１２の動作と同様である。この場合、ステップＳ２０３においては、記憶部２５１に記憶されているシェア制限情報が参照される。シェアの対象であるユーザＵａの３Ｄデータセットに含まれるシェア制限情報は「三次シェアまで可」であるため、認証部２５３は、ユーザＵｄへのシェアを許可する。すなわち、ユーザＵａの３ＤデータセットはユーザＵｃからユーザＵｄに三次シェアされる。
【００８２】
ユーザＵａは、自身の３Ｄデータセットに含まれるシェア制限情報を書き換えることができる。シェア制限情報を書き換えたい場合、ユーザＵａは、クライアント端末１０ａのＵＩ部１０５を用いて、シェア制限情報を書き換えるための操作を行う。サービスアプリケーション３０は、ユーザＵａの操作に応じてシェア制限情報を書き換えるための処理を行う。
【００８３】
図１２は、シェア制限情報が書き換えられる場合の３Ｄデータシステム１の動作を例示するシーケンスチャートである。ステップＳ５０１において、サービスアプリケーション３０の要求送信部３５１は、シェア制限情報の書き換え要求をサーバ２０に送信する。書き換え要求には、ユーザＩＤ、対象である３ＤデータセットのデータＩＤ、及び書き換え後のシェア制限情報の値（例えば「二次シェアまで可」、「一次シェアまで可」、等）が含まれる。要求受信部２５２はステップＳ５０１においてクライアント端末１０ａから書き換え要求を受信する。受信された書き換え要求はステップＳ５０２において認証部２５３に供給される。
【００８４】
ステップＳ５０３において、認証部２５３は、シェアデータベースに記憶されているデータＩＤ及びユーザＩＤ、並びに書き換え要求に含まれている各種情報に基づいて、シェア制限情報の書き換えを行うことを認証する。ここで、ユーザＵａのユーザＩＤと３ＤデータセットのデータＩＤとがシェアデータベースに対応付けられて記憶されているため、認証部２５３は、シェア制限情報の書き換え処理を行うことを許可する。あるいは、シェア制限情報の書き換えの可否を示すデータがシェアデータベースに記録されており、認証部２５３がこのデータに基づいて書き換えの可否を判断してもよい。書き換えの可否はユーザ毎に記録及び判断されてもよいし、ユーザ属性に応じて判断されてもよい。
【００８５】
シェア制限情報の書き換え処理を行うことが認証された場合、ステップＳ５０４において、認証部２５３は、シェア制限情報の書き換え処理を行う。この処理により、ユーザＵａの３Ｄデータセットのシェア制限情報が例えば「三次シェアまで可」から「二次シェアまで可」に書き換えられる。
【００８６】
ステップＳ５０５において、認証部２５３は、シェアデータベースに記憶されている許可ＩＤに、書き換えられたシェア制限情報によりシェアが認められなくなったユーザＩＤが含まれるかを判定する。例えば、シェア制限情報が「三次シェアまで可」から「二次シェアまで可」に書き換えられた場合であって、そのシェア制限情報を含む３Ｄデータセットの許可ＩＤに三次シェアされたユーザＩＤが含まれている場合、その三次シェアされたユーザＩＤは、シェアが認められなくなったと判定される。この場合、ステップＳ５０６において、認証部２５３は、シェアが認められなくなったユーザＩＤを、シェアデータベースの「許可ＩＤ」の項目から削除する。この場合において、サーバ２０は、削除対象となったユーザＩＤにより特定されるユーザに対し、「被写体であるユーザの要望により、このデータの処理は禁止されました」等、３Ｄデータセットの利用ができなくなった旨を通知してもよい。
【００８７】
このように、シェア制限情報が書き換えられることによりシェアが許可されなくなったユーザのユーザＩＤは、シェアデータベースの「許可ＩＤ」の項目から削除される。例えばユーザＵａの３Ｄデータセットのシェア制限情報が「二次シェアまで可」に書き換えられた場合であって、ユーザＵｄが三次シェアされたユーザである場合、ユーザＵｄのユーザＩＤはシェアデータベースの「許可ＩＤ」の項目から削除される。また、例えばシェア制限情報が「一次シェアまで可」に書き換えられた場合であって、ユーザＵｃが二次シェアされたユーザであり、ユーザＵｄが三次シェアされたユーザである場合、ユーザＵｃのユーザＩＤとユーザＵｄのユーザＩＤとが、シェアデータベースの「許可ＩＤ」の項目から削除される。
【００８８】
認証部２５３による処理の結果は、ステップＳ５０７において応答送信部２５４に供給される。ステップＳ５０８において、応答送信部２５４は、ステップＳ５０１で受信された書き換え要求に対する応答として、シェア制限情報が書き換えられた旨を示す応答を送信する。送信された応答はステップＳ５０８において応答受信部３５２により受信される。受信された応答の内容はステップＳ５０９において表示制御部１５５に通知される。ステップＳ５１０において表示制御部１５５はシェア制限情報が書き換えられた旨を表示する等の処理を行う。
【００８９】
シェア制限情報が書き換えられた後、シェアが許可されなくなったユーザが３Ｄデータセットを使用しようとした場合、上述の図８の処理が３Ｄデータシステム１により行われる。この場合、図８のステップＳ１０３の認証処理において、シェアデータベースが参照され、そのユーザのユーザＩＤが「許可ＩＤ」の項目に登録されていない場合には、処理が許可されない。このように、シェア制限情報が書き換えられた後は、シェアが許可されなくなったユーザはその３Ｄデータセットを使用できなくなる。
【００９０】
２−５．課金動作
次いで、ライセンス料の課金動作を説明する。課金部２５６は、クライアント端末１０から処理要求を受信した回数又は頻度に基づいてＳＤＫのライセンス料を課金する。より詳細には、課金部２５６は、処理要求が認証され、その後、３Ｄデータがクライアント端末に送信された場合、課金部２５６は、ライセンス料算出のためのカウンタをカウントアップする。課金部２５６は、所定期間が経過した後（例えば、毎月１日）、カウンタの値に基づいて課金する。課金の具体的方法は、ユーザとの契約に応じて変わる。
課金は例えばサービスアプリケーション３０のベンダー（又は開発会社）に対して行われる。課金処理が行われるタイミングは、例えば、予め定められたタイミングで定期的に（例えば、１カ月毎、等）行われてもよく、また、３Ｄデータシステム１の管理者によって課金処理を指示されたタイミングで行われてもよい。処理要求を受信した回数は例えば、要求受信部２５２がクライアント端末１０から処理要求を受信する毎に、記憶部２５１に記憶されたカウンタをインクリメントすることによりカウントされてもよい。
【００９１】
以上説明したようにこの実施形態によれば、３Ｄモデルを含む３Ｄデータセットがシェアされた場合に、その３Ｄデータセットの処理をユーザが制御することができる。
【００９２】
３．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。実施形態の少なくとも一部及び以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００９３】
（１）上述の実施形態では、サーバ２０の応答送信部２５４は、受信された処理要求に対する応答として、データ本体の全部と、処理制限情報の全部を、クライアント端末１０に送信した。送信される処理制限情報は、上述の実施形態で示したものに限られない。一部の処理制限情報が送信されてもよい。例えば、処理要求に含まれる用途識別子の値が「スキンデータのみ」を示す値である場合、３Ｄモデルの動作を制限する処理制限情報は送信されず、その他の処理制限情報のみが送信されてもよい。
【００９４】
（２）３Ｄデータシステム１が行う処理の順序は、上述した実施形態において説明された例に限られない。処理のステップは、矛盾が生じない限りにおいて、入れ替えられてもよい。また、本発明は、３Ｄデータシステム１において行われる３Ｄデータ処理方法として提供されてもよい。
【００９５】
（３）３Ｄデータシステム１において、クライアント端末１０及びサーバ２０における機能の分担は、図２において例示されたものに限定されない。例えば、課金手段２６がサーバ２０とは別のサーバに設けられていてもよい。
【００９６】
（４）上述の実施形態において、クライアント端末１０のプロセッサ１０１又はサーバ２０のプロセッサ２０１により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、これらのプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【要約】
３Ｄデータシステム（１）は、３Ｄモデルを表すデータ本体、当該データ本体をシェアする範囲の制限事項を記述したシェア制限情報、及び当該３Ｄモデルの処理に関する制限事項を記述した処理制限情報を各々が含む複数の３Ｄデータセットの各々について、当該３Ｄ被写体であるユーザ、及び当該ユーザから当該３Ｄデータセットをシェアされたユーザの対応関係を記憶する記憶手段（２１）と、前記３Ｄデータセットに対する処理の要求であって、ユーザ識別子を含む処理要求をサービスアプリケーションから受信する要求受信手段（２２）と、前記記憶手段に記憶されている前記対応関係及び前記３Ｄデータセットに含まれる前記シェア制限情報に基づいて、前記要求をしたユーザが前記処理を行うことを認証する認証手段（２３）と、前記要求をしたユーザが前記処理を行うことが認証された場合、前記処理要求に対する応答として、前記データ本体の少なくとも一部及び前記処理制限情報の少なくとも一部を前記サービスアプリケーションに送信する応答送信手段（２４）とを有する。【図１】
0006791530.tif 000002
【図２】
0006791530.tif 000003
【図３】
0006791530.tif 000004
【図４】
0006791530.tif 000005
【図５】
0006791530.tif 000006
【図６】
0006791530.tif 000007
【図７】
0006791530.tif 000008
【図８】
0006791530.tif 000009
【図９】
0006791530.tif 000010
【図１０】
0006791530.tif 000011
【図１１】
0006791530.tif 000012
【図１２】
0006791530.tif 000013