JP2018170588A - Model data distribution server and model data reception client - Google Patents
Model data distribution server and model data reception client Download PDFInfo
- Publication number
- JP2018170588A JP2018170588A JP2017065266A JP2017065266A JP2018170588A JP 2018170588 A JP2018170588 A JP 2018170588A JP 2017065266 A JP2017065266 A JP 2017065266A JP 2017065266 A JP2017065266 A JP 2017065266A JP 2018170588 A JP2018170588 A JP 2018170588A
- Authority
- JP
- Japan
- Prior art keywords
- model data
- processing unit
- decoding
- encoding
- decoding program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】サーバクライアント型のシステムにおいて、物体の形状を表すモデルデータの送受および画像処理におけるセキュリティ強度の向上を図る。【解決手段】サーバ2は、エンコード処理部2bと、デコードプログラム生成部2cと、データ送信部2dとを有する。エンコード処理部2bは、物体の形状を表すモデルデータをエンコードすることによって、エンコードモデルデータを生成する。デコードプログラム生成部2cは、エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成され、かつ、クライアント側において、中央処理装置とは別に設けられた画像処理部によって実行されるデコードプログラムを生成する。データ送信部2dは、エンコードモデルデータと、デコードプログラムとをクライアントに送信する。【選択図】図2PROBLEM TO BE SOLVED: To improve security strength in transmission / reception of model data representing an object shape and image processing in a server-client type system. A server 2 has an encoding processing unit 2b, a decoding program generation unit 2c, and a data transmission unit 2d. The encoding processing unit 2b generates encoded model data by encoding model data representing the shape of an object. The decoding program generation unit 2c is composed of a series of instructions for instructing a processing procedure for decoding the encoded model data, and is a decoding program executed by an image processing unit provided separately from the central processing unit on the client side. To generate. The data transmission unit 2d transmits the encoding model data and the decoding program to the client. [Selection diagram] Fig. 2
Description
本発明は、物体の形状を表すモデルデータの送受を行うサーバおよびクライアントに関する。 The present invention relates to a server and a client that transmit and receive model data representing the shape of an object.
例えば、特許文献1には、CPU(メインプロセッサ装置)と、GPU(サブプロセッサ装置)とを備えたデータ処理システムにおいて、暗号化された画像データを復号する際のセキュリティ強度を高める構成が開示されている。具体的には、CPUは、暗号化された画像データを復号することなく、GPUに転送する。GPUは、暗号化された画像データを内部メモリ(デバイスメモリ)上に展開した上で、復号、デコード、表示などの処理を行う。暗号化された画像データは、GPUの内部で処理されるため、復号された画像データがCPUのメモリ上に展開されることはない。これにより、メモリダンプ等によって復号された画像データが取得されることを防止できるので、セキュリティ強度が向上する。
For example,
特許文献1は、サーバクライアント型ではなくスタンドアロン型のシステムに関するものであって、サーバおよびクライアント間におけるデータの送受については記載されておらず、また、暗号化された画像データの復号処理についての詳細も記載されていない。
本発明の目的は、サーバクライアント型のシステムにおいて、物体の形状を表すモデルデータの送受および画像処理におけるセキュリティ強度の向上を図ることである。 An object of the present invention is to improve the security strength in transmission / reception of model data representing the shape of an object and image processing in a server client type system.
かかる課題を解決すべく、第1の発明は、エンコード処理部と、デコードプログラム生成部と、データ送信部とを有するモデルデータ配信サーバを提供する。エンコード処理部は、物体の形状を表すモデルデータをエンコードすることによって、エンコードモデルデータを生成する。デコードプログラム生成部は、エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成され、かつ、クライアント側において、中央処理装置とは別に設けられた画像処理部によって実行されるデコードプログラムを生成する。データ送信部は、エンコードモデルデータと、デコードプログラムとをクライアントに送信する。 In order to solve such a problem, the first invention provides a model data distribution server having an encoding processing unit, a decoding program generation unit, and a data transmission unit. The encoding processing unit generates encoded model data by encoding model data representing the shape of the object. The decode program generation unit is composed of a series of instructions for instructing a processing procedure for decoding the encode model data, and on the client side, a decode program executed by an image processing unit provided separately from the central processing unit Generate. The data transmission unit transmits the encoding model data and the decoding program to the client.
ここで、第1の発明において、上記エンコード処理部は、モデルデータの配信毎に異なる処理でモデルデータをエンコードし、上記デコードプログラム生成部は、配信対象毎に処理内容が異なるデコードプログラムを生成することが好ましい。また、上記デコードプログラムは、画像処理部によって実行されるシェーダプログラムであることが好ましい。 Here, in the first invention, the encoding processing unit encodes the model data by a different process for each distribution of the model data, and the decoding program generation unit generates a decoding program having a different processing content for each distribution target. It is preferable. The decoding program is preferably a shader program executed by the image processing unit.
第2の発明は、データ受信部と、画像処理部とを有するモデルデータ受信クライアントを提供する。データ受信部は、物体の形状を表すモデルデータをエンコードしたエンコードモデルデータと、エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成されたデコードプログラムとを、サーバより受信する。画像処理部は、中央処理装置とは別に設けられていると共に、画像を表示する際、デコードプログラムを実行することによって、エンコードモデルデータをデコードして画像を生成する。 A second invention provides a model data receiving client having a data receiving unit and an image processing unit. The data receiving unit receives, from the server, encoded model data obtained by encoding model data representing the shape of an object, and a decoding program configured by a series of instructions for instructing a processing procedure for decoding encoded model data. The image processing unit is provided separately from the central processing unit, and generates an image by decoding the encoded model data by executing a decoding program when displaying the image.
ここで、第2の発明において、上記デコードプログラムは、サーバより配信されるモデルデータの配信対象毎に処理内容が異なることが好ましい。また、上記デコードプログラムは、画像処理部によって実行されるシェーダプログラムであることが好ましい。 Here, in the second invention, it is preferable that the decoding program has different processing contents for each distribution target of the model data distributed from the server. The decoding program is preferably a shader program executed by the image processing unit.
本発明によれば、サーバとクライアントとの間におけるモデルデータの送受を、モデルデータをエンコードしたエンコードモデルデータの形で行うことで、第三者による盗聴や改ざんを防止できる。また、クライアント側におけるエンコードモデルデータのデコードは、画像を表示する際、中央処理装置とは別に設けられた画像処理部がデコードプログラムを実行することによって行われる。ネットワーク上やメインメモリ上にデコード済のモデルデータを配置せず、モデルデータを表示する際(描画時)、その都度デコードすることで、セキュリティ強度の向上を図ることができる。 According to the present invention, eavesdropping and falsification by a third party can be prevented by transmitting and receiving model data between a server and a client in the form of encoded model data obtained by encoding model data. Also, the decoding of the encoding model data on the client side is performed by an image processing unit provided separately from the central processing unit executing a decoding program when displaying an image. The security strength can be improved by not decoding the model data on the network or on the main memory, but decoding the model data each time it is displayed (during drawing).
図1は、本実施形態に係るサーバクライアント型システムの全体図である。このシステム1は、モデルデータを配信するサーバ2と、モデルデータを受信可能な多数のクライアント3とがインターネットを介して接続されている。サーバ2は、クライアント3からの要求に応じて、配信データとして、エンコード処理が施されたモデルデータ(以下、エンコードモデルデータという。)と、このエンコードデータをデコードするためのデコードプログラムとを配信する。本実施形態の特徴は、モデルデータをそのまま配信するのではなく、モデルデータにエンコード処理を施して内容を特定困難な形(エンコードモデルデータ)で配信することにある。この場合、エンコードモデルデータを受信したクライアント3は、そのままでは有意なデータを復元できないので、この復元を可能にすべく、サーバ2からクライアント3にデコードプログラムが渡される。配信データを受信したクライアント3は、画像の表示に際して、エンコードモデルデータをデコードプログラムによって復元して画像を生成し、この画像を表示する。
FIG. 1 is an overall view of a server client type system according to the present embodiment. In this
ここで、「モデルデータ」とは、物体の形状を表すデータであって、二次元データ、三次元データのいずれであってもよい。三次元データは、三次元CADデータ(ファイルの拡張子としては、IGES、STEP、PARASOLID、SAT、JT、VDAなど)であってもよいし、3DCG(三次元コンピュータグラフィックス)データや、三次元の表面形状を多数の点で表現した点群データであってもよい。また、「デコードプログラム」とは、エンコードモデルデータをデコードするためのプログラムであって、エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成されている。この「デコードプログラム」は、クライアント側において、中央処理装置とは別に設けられた画像処理部(典型的には、グラフィックス・プロセッシング・ユニット(以下、GPUという。))によって実行される Here, the “model data” is data representing the shape of the object, and may be either two-dimensional data or three-dimensional data. The 3D data may be 3D CAD data (file extensions such as IGES, STEP, PARASOLID, SAT, JT, VDA, etc.), 3DCG (3D computer graphics) data, 3D It may be point cloud data that expresses the surface shape of the image by a number of points. The “decode program” is a program for decoding the encoded model data, and is composed of a series of instructions for instructing a processing procedure for decoding the encoded model data. This “decode program” is executed on the client side by an image processing unit (typically, a graphics processing unit (hereinafter referred to as GPU)) provided separately from the central processing unit.
なお、エンコードモデルデータおよびデコードプログラムの配信は、同時に行ってもよいが、セキュリティ強度の向上を図るべく、別個に配信してもよいし、所定のサイトにアクセスすることによって別ルートで入手するようにしてもよい。さらに、本実施形態に係るモデルデータの配信方法とともに、ユーザ認証や公開鍵暗号などといった周知のセキュリティ強化手法を併用すれば、データの送受におけるセキュリティの一層の強化を図ることができる。 The distribution of the encoded model data and the decoding program may be performed simultaneously, but may be distributed separately in order to improve the security strength, or may be obtained through a different route by accessing a predetermined site. It may be. Furthermore, when a well-known security enhancement technique such as user authentication or public key cryptography is used in combination with the model data distribution method according to the present embodiment, the security in data transmission / reception can be further enhanced.
図2は、サーバ2のブロック図である。このサーバ2は、データ要求受信部2aと、エンコード処理部2bと、デコードプログラム生成部2cと、データ送信部2dと、モデルデータ格納部2eとを主体に構成されている。
FIG. 2 is a block diagram of the
データ要求受信部2aは、指定したモデルデータを取得する旨の要求をクライアント3から受信する。エンコード処理部2bは、モデルデータ格納部2eを参照して、クライアント3によって指定されたモデルデータを配信対象として取得する。そして、エンコード処理部2bは、配信対象となるモデルデータをエンコードプログラムを用いてエンコードすることによって、エンコードモデルデータを生成する。
The data
デコードプログラム生成部2cは、エンコード処理部2bからの指示を受けて、配信対象となるエンコードモデルデータをデコードするためのデコードプログラムを生成する。このデコードプログラムは、配信対象に対して適用されたエンコードプログラムとは逆の処理を行うものであり、エンコードプログラムが配信対象毎に異なる場合には、デコードプログラムも配信対象毎に固有のものとなる。データ送信部2dは、エンコード処理部2bによって生成されたエンコードモデルデータと、デコードプログラム生成部2cによって生成されたデコードプログラムとをクライアント3に送信する。
In response to the instruction from the encoding processing unit 2b, the decoding program generation unit 2c generates a decoding program for decoding the encoding model data to be distributed. This decoding program performs the reverse process of the encoding program applied to the distribution target. When the encoding program differs for each distribution target, the decoding program is also unique for each distribution target. . The data transmission unit 2d transmits the encoding model data generated by the encoding processing unit 2b and the decoding program generated by the decoding program generation unit 2c to the
図3は、モデルデータのエンコードの一例を示す図である。例えば、モデルデータが三次元座標よりなる多数の頂点Vによって構成されている場合、最もシンプルな例として、所定のエンコード規則にしたがって、X座標、Y座標、Z座標を入れ替えるスクランブルが考えられる。同図の例では、奇数番目の頂点V2n-1(nは自然数)については、X座標をZ座標に、Y座標をX座標に、Z座標とY座標にそれぞれ入れ替え、偶数番目の頂点V2nについては、X座標をY座標に、Y座標をZ座標に、Z座標をX座標にそれぞれ入れ替えている。また、座標値の入れ替えに代えて、頂点V同士を入れ替えてもよい。このようなエンコード処理を行うことで、有意なモデルデータは有意でないデータに変換される。ただし、これは一例であって、クライアント3側の画像処理部で演算可能な形態であれば、スクランブルに限らず、どのようなエンコード手法を用いてもよいことに留意すべきである。
FIG. 3 is a diagram illustrating an example of encoding of model data. For example, when the model data is composed of a large number of vertices V composed of three-dimensional coordinates, as the simplest example, scrambling is possible in which the X, Y, and Z coordinates are switched according to a predetermined encoding rule. In the example of the figure, for the odd-numbered vertex V2n-1 (n is a natural number), the X coordinate is replaced with the Z coordinate, the Y coordinate is replaced with the X coordinate, and the Z coordinate and the Y coordinate are respectively replaced. Replaces the X coordinate with the Y coordinate, the Y coordinate with the Z coordinate, and the Z coordinate with the X coordinate. Further, the vertices V may be exchanged instead of the coordinate values. By performing such an encoding process, significant model data is converted into insignificant data. However, this is merely an example, and it should be noted that any encoding method may be used as long as the image processing unit on the
図4は、図3に示したエンコードに対応するデコードプログラムの一例を示すフローチャートである。このデコードプログラムは、配信対象となるエンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成されている。詳細については後述するが、本実施形態では、クライアント3側の画像処理部(例えばプログラマブルシェーダ)によって実行されるシェーダプログラムをデコードプログラムとして用いる。同図の例は、シェーダプログラムとして、頂点の座標変換方法を規定した頂点シェーダプログラムを用いるケースを示している。
FIG. 4 is a flowchart showing an example of a decoding program corresponding to the encoding shown in FIG. This decoding program is composed of a series of instructions for instructing a processing procedure for decoding encoding model data to be distributed. Although details will be described later, in this embodiment, a shader program executed by an image processing unit (for example, a programmable shader) on the
まず、ステップ1において、頂点フォーマットが定義される。つぎに、ステップ2において、どんな頂点情報を扱うのかをシェーダに教えるため、頂点シェーダで扱う頂点データが宣言される。
First, in
ステップ3以降は、シェーダプログラムの実体部分である。ステップ3において、頂点シェーダプログラムを作成し、画像処理部が理解できる形にコンパイルした上で、バッファにコンパイル後の命令が保持される。ステップ4において、シェーダプログラムバッファを用いて、頂点シェーダインターフェイス(シェーダハンドラ)が生成される。ステップ5において、頂点シェーダインターフェイスをストリームに設定し、固定機能パイプラインをプログラマブルパイプラインに切り替えて、レンダリングが行われる。
ステップ3以降の実体部分において、デコードの処理内容として、上述したエンコードとは逆の手順が記述される。例えば、図3に示したエンコードの場合、奇数番目の頂点V2n-1(nは自然数)については、Z座標をX座標に、X座標をY座標に、Y座標とZ座標にそれぞれ入れ替え、偶数番目の頂点V2nについては、Y座標をX座標に、Z座標をY座標に、X座標をZ座標にそれぞれ入れ替えるといった如くである。
In the actual part after
なお、セキュリティ強度の向上を図るという観点でいえば、モデルデータのエンコードは、配信対象毎にエンコード方法を変えることが好ましい。この場合、エンコード処理部2bは、モデルデータの配信毎に異なる処理でモデルデータをエンコードする。そして、デコードプログラム生成部2cは、エンコード処理部2bが採用したエンコード方法に応じて、配信対象毎に処理内容が異なるデコードプログラムを生成する。 From the viewpoint of improving the security strength, it is preferable that the encoding method of the model data is changed for each distribution target. In this case, the encoding processing unit 2b encodes the model data by a different process for each delivery of the model data. Then, the decode program generation unit 2c generates a decode program having different processing contents for each distribution target in accordance with the encoding method adopted by the encoding processing unit 2b.
図5は、クライアント3のブロック図である。このクライアント3は、CPU3a(中央演算装置)と、画像処理部としてのGPU3bと、データ受信部3cと、メインメモリなどの記憶装置3dと、GPU用メモリ3eと、表示装置3fとを主体に構成されている。記憶装置3dは、CPU3aがアクセス可能であり、GPU用メモリ3eは、GPU3bのみがアクセス可能である。
FIG. 5 is a block diagram of the
データ受信部3cは、サーバ2より送信されたエンコードモデルデータと、デコードプログラムとを受信する。これらのデータは記憶装置3dに記憶される。記憶装置3dに記憶されたモデルデータのエンコードされたままなので、記憶装置3dをダンプしても、有意なデータを取り出すことは困難である。GPU3bは、CPU3aとは別に設けられており、CPU3aの指示に基づいて、もっぱら画像処理を担当する。GPU3bは、表示装置3fに画像を表示する際、サーバ2より配信されたデコードプログラムを実行することによって、エンコードモデルデータをデコード、すなわち、有意なデータに復元して、画像を生成する。
The
図6は、GPU3bにおける画像処理の流れの説明図であり、一例として、マイクロソフト社が開発・提供しているゲームなどのマルチメディア向けAPIセットであるDirectX(特にDirectX9)の流れを示している。まず、「頂点データ」とは、ローカル座標で定義され頂点バッファに格納されている頂点データのことである。頂点バッファの中には、位置や頂点の色、テクスチャ座標などが設定されている。「プリミティブデータ」とは、基本的な図形、例えば点、線、三角ポリゴンなどで構成されている幾何学図形で、序列(インデックス)バッファとして定義される。頂点バッファおよびインデックスバッファは、両方あってもよいが、どちらか一方であっても構わない。これらの情報は、「テセレーション」に渡される。これは、ポリゴンを細かく分割する部分である。通常、この機能はサポートされないことも多く、何もせずに通り抜ける時もある。
FIG. 6 is an explanatory diagram of the flow of image processing in the
「固定機能パイプライン」および「プログラマブルパイプライン(頂点シェーダ)」は、三次元のポリゴンの情報を直方体の座標系に変換する。プログラマブルパイプラインについて、プログラマがこの頂点変換作業を独自の方法で記述する。これらのパイプラインを通った座標は直方体の座標系に凝縮される。視点を正面に設定した場合、二次元のスクリーン画像となるが、その際、必要のない情報が多く含まれることになる。そこで、「背面カリング」、「クリッピング」、「属性の評価」、「ラスタ化」などによって、無駄を省きながら、不要な情報が破棄される。以上の処理によって、頂点の変換およびスクリーンでの位置決めが終了する。 The “fixed function pipeline” and the “programmable pipeline (vertex shader)” convert three-dimensional polygon information into a rectangular coordinate system. For programmable pipelines, programmers describe this vertex transformation in a unique way. Coordinates passing through these pipelines are condensed into a rectangular coordinate system. When the viewpoint is set to the front, it becomes a two-dimensional screen image, but at this time, a lot of unnecessary information is included. Therefore, unnecessary information is discarded while eliminating waste by “rear culling”, “clipping”, “attribute evaluation”, “rasterization”, and the like. With the above processing, vertex conversion and screen positioning are completed.
以後の処理は頂点ではなく、描画される1点毎に各種の描画処理と判定とが行われる。最初の「ピクセルシェーダ」では、ラスタ化の段階で、ポリゴンをスクリーン上にどうやって描画するかが記述され、最終的には「ピクセルカラー」が出力される。プログラマはピクセルシェーダを独自にカスタマイズすることで、様々なエフェクトを発生させることができる。「テクスチャサーフェイス」は、テクスチャ情報のことであり、「テクスチャサンプラ」は、入力されたテクスチャに各種フィルタを適用する。これにより、ピクセルシェーダは、指定のテクスチャ座標(テクセル)に対して、適切な色を取り出すことができるようになる。 Subsequent processes are not vertices, but various drawing processes and determinations are performed for each drawn point. The first “pixel shader” describes how to draw a polygon on the screen at the stage of rasterization, and finally “pixel color” is output. Programmers can customize the pixel shader to generate various effects. The “texture surface” is texture information, and the “texture sampler” applies various filters to the input texture. As a result, the pixel shader can extract an appropriate color for the designated texture coordinate (texel).
ピクセルシェーダによりスクリーン上でのピクセルカラーが決まった後は、「アルファテスト」、「深度テスト」、「ステンシルテスト」、「フォグテスト」、「ブレンディング」などにより、描画するか否かの判定が行われる。これらの判定を経て、バッファにピクセルが描画される。 After the pixel color on the screen is determined by the pixel shader, whether to draw or not is determined by "alpha test", "depth test", "stencil test", "fog test", "blending", etc. Is called. After these determinations, pixels are drawn in the buffer.
プログラマブルシェーダは、GPU3bのうち、「プログラマブルパイプライン(頂点シェーダ)」と、「ピクセルシェーダ」の部分について、独自の命令群を差し込むものである。頂点シェーダおよびピクセルシェーダには、それぞれGPU3bに命令を与えるための命令群が予め用意されている。本実施形態では、クライアント3側の画像処理部3bが有するプログラマブルシェーダによって実行されるシェーダプログラムのうち、特に、頂点の座標変換方法を規定した頂点シェーダプログラム(図4参照)をデコードプログラムとして用いる。GPU3bは、このプログラムを実行することにより、エンコードモデルデータを逐次的にデコードしながら画像処理を行い、表示装置3fに画像を表示させる。なお、デコードプログラムとしては、頂点シェーダプログラムに代えて、ピクセルシェーダプログラムを用いることも可能である。
The programmable shader inserts a unique instruction group into the “programmable pipeline (vertex shader)” and “pixel shader” portion of the
このように、本実施形態によれば、サーバ2とクライアント3との間におけるモデルデータの送受を、モデルデータをエンコードしたエンコードモデルデータの形で行うことで、第三者による盗聴や改ざんを防止できる。また、クライアント3側におけるエンコードモデルデータのデコードは、画像を表示する際、CPU3aとは別に設けられた画像処理部(典型的にはGPU3b)がデコードプログラムを実行することによって行われる。この画像処理は、メインメモリ等の記憶装置3dを用いることなく、GPU用メモリ3eを用いて行われる。このように、ネットワーク上やメインメモリ上にデコード済のモデルデータを配置せず、モデルデータを表示する際(描画時)、その都度デコードする。エンコードモデルデータは、表示画面(1フレーム分)を形成するために必要なデータのみが部分的に順次デコードされていき、GPU用メモリ3eに全てのデータが一括で展開されることはない。これにより、モデルデータの送受および画像処理におけるセキュリティ強度の向上を図ることができる。
As described above, according to the present embodiment, model data is transmitted and received between the
なお、上述した実施形態では、図6のDirectX9を例に説明したが、最新のDirectX12では、これとは異なる環境が採用されており、ブラウザで動作するWebGLは、OpenGLベースであるため、図6とは環境が更に異なる。レンダリングパイプラインの詳細は環境に依存しており、本発明は、画像処理部としてのGPU3bの環境を問うものではない。本発明において重要なことは、画像処理部において、「頂点データをラスタライズして画面に表示するまでの間に、ユーザが作成した処理を挿入できる」ことである。この条件を満たす限り、本発明は、画像処理部の環境を何ら問うものではないことに留意すべきである。
In the above-described embodiment, the DirectX 9 in FIG. 6 has been described as an example. However, the latest DirectX 12 employs a different environment, and the WebGL operating in the browser is based on OpenGL. The environment is different. The details of the rendering pipeline depend on the environment, and the present invention does not ask the environment of the
また、上述した実施形態では、「画像処理部で動作するプログラム(シェーダ)」として、頂点シェーダについて例示し、ピクセルシェーダについても適用可能である旨説明したが、本発明はこれに限定されるものではなく、両者を区別することについても、本質的な意味はない。例えば、統合型シェーダ・アーキテクチャのGPUでは、これらを区別しておらず、頂点シェーダやピクセルシェーダとは別のジオメトリシェーダ等が使用可能な環境も存在する。本発明は、クライアント3が備える画像処理部の環境下で動作する各種シェーダ(プログラム)を広く用いることができる。
In the above-described embodiment, the vertex shader is exemplified as the “program (shader) operating in the image processing unit”, and the pixel shader is also applicable. However, the present invention is not limited to this. However, there is no essential meaning to distinguish the two. For example, the GPU of the integrated shader architecture does not distinguish between these, and there is an environment in which a geometry shader other than the vertex shader and the pixel shader can be used. The present invention can widely use various shaders (programs) that operate in the environment of the image processing unit included in the
1 サーバクライアント型システム
2 サーバ
2a データ要求受信部
2b エンコード処理部
2c デコードプログラム生成部
2d データ送信部
2e モデルデータ格納部
3 クライアント
3a CPU
3b GPU
3c データ受信部
3d 記憶装置
3e GPU用メモリ
3f 表示装置
DESCRIPTION OF
3b GPU
3c Data receiving unit
Claims (6)
物体の形状を表すモデルデータをエンコードすることによって、エンコードモデルデータを生成するエンコード処理部と、
前記エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成され、かつ、クライアント側において、中央処理装置とは別に設けられた画像処理部によって実行されるデコードプログラムを生成するデコードプログラム生成部と、
前記エンコードモデルデータと、前記デコードプログラムとをクライアントに送信するデータ送信部と
を有することを特徴とするモデルデータ配信サーバ。 In the model data distribution server,
An encoding processing unit that generates encoded model data by encoding model data representing the shape of an object;
Decoding program generation that includes a series of instructions for instructing a processing procedure for decoding the encoding model data, and that generates a decoding program executed on the client side by an image processing unit provided separately from the central processing unit And
A model data distribution server comprising: a data transmission unit configured to transmit the encoding model data and the decoding program to a client.
前記デコードプログラム生成部は、前記配信対象毎に処理内容が異なる前記デコードプログラムを生成することを特徴とする請求項1または2に記載されたモデルデータ配信サーバ。 The encoding processing unit encodes the model data by a different process for each delivery of the model data,
The model data distribution server according to claim 1, wherein the decode program generation unit generates the decode program having different processing contents for each distribution target.
物体の形状を表すモデルデータをエンコードしたエンコードモデルデータと、前記エンコードモデルデータをデコードする処理手順を指示する一連の命令群によって構成されたデコードプログラムとを、前記サーバより受信するデータ受信部と、
中央処理装置とは別に設けられていると共に、画像を表示する際、前記デコードプログラムを実行することによって、前記エンコードモデルデータをデコードして前記画像を生成する画像処理部と
を有することを特徴とするモデルデータ受信クライアント。 In the model data receiving client,
A data receiving unit that receives from the server, an encoded model data that encodes model data representing the shape of an object, and a decoding program configured by a series of instructions that instruct a processing procedure for decoding the encoded model data;
An image processing unit that is provided separately from the central processing unit and that generates the image by decoding the encoded model data by executing the decoding program when the image is displayed. Model data receiving client.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017065266A JP2018170588A (en) | 2017-03-29 | 2017-03-29 | Model data distribution server and model data reception client |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017065266A JP2018170588A (en) | 2017-03-29 | 2017-03-29 | Model data distribution server and model data reception client |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018170588A true JP2018170588A (en) | 2018-11-01 |
Family
ID=64018891
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017065266A Pending JP2018170588A (en) | 2017-03-29 | 2017-03-29 | Model data distribution server and model data reception client |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018170588A (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11353462A (en) * | 1998-06-09 | 1999-12-24 | Monolith:Kk | Method for encrypting and decrypting three-dimensional shape data |
| JP2008017489A (en) * | 2006-07-06 | 2008-01-24 | Accenture Global Services Gmbh | Encryption and decryption in graphics processing unit |
| JP2013238855A (en) * | 2012-05-14 | 2013-11-28 | Thomson Licensing | Methods and devices for protecting graphical object and methods and devices for unprotecting graphical object |
| JP2014531175A (en) * | 2011-10-28 | 2014-11-20 | ダンマークス・テクニスケ・ユニヴェルシテット | Dynamic encryption method |
| JP2016085503A (en) * | 2014-10-23 | 2016-05-19 | 日本電気株式会社 | Information processing apparatus, information processing method, and information processing program |
-
2017
- 2017-03-29 JP JP2017065266A patent/JP2018170588A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11353462A (en) * | 1998-06-09 | 1999-12-24 | Monolith:Kk | Method for encrypting and decrypting three-dimensional shape data |
| JP2008017489A (en) * | 2006-07-06 | 2008-01-24 | Accenture Global Services Gmbh | Encryption and decryption in graphics processing unit |
| JP2014531175A (en) * | 2011-10-28 | 2014-11-20 | ダンマークス・テクニスケ・ユニヴェルシテット | Dynamic encryption method |
| JP2013238855A (en) * | 2012-05-14 | 2013-11-28 | Thomson Licensing | Methods and devices for protecting graphical object and methods and devices for unprotecting graphical object |
| JP2016085503A (en) * | 2014-10-23 | 2016-05-19 | 日本電気株式会社 | Information processing apparatus, information processing method, and information processing program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4987988B2 (en) | Image compression and / or decompression | |
| EP3673463B1 (en) | Rendering an image from computer graphics using two rendering computing devices | |
| CN101685548B (en) | Fragment shader for a hybrid raytracing system and method of operation | |
| CN103946895B (en) | The method for embedding in presentation and equipment based on tiling block | |
| TWI328200B (en) | Systems and methods for providing controllable texture sampling,and computer readable medium for recording related instructions thereon | |
| JP5847159B2 (en) | Surface patch tessellation in tile-based rendering systems | |
| EP3185214B1 (en) | Streaming of hybrid geometry and image based 3d objects | |
| KR20210151114A (en) | Hybrid rendering | |
| CN111754381B (en) | Graphics rendering method, device and computer readable storage medium | |
| US7463269B2 (en) | Texture data compression and rendering in 3D computer graphics | |
| KR102258100B1 (en) | Method and apparatus for processing texture | |
| JP2019012535A (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
| KR102477264B1 (en) | Method and apparatus for processing compressed texture | |
| CN106408635B (en) | Graphic processing system, method of operating the same, and computer-readable storage medium | |
| KR20060101223A (en) | Method and system for generating 2D transition using 3D model | |
| CN102306391A (en) | OpenGL (open graphics library)-based inverted image display processing device and method | |
| JP2018101415A (en) | Method, apparatus, computer program and recording medium for determining LOD for texturing a cube map | |
| CN113076152B (en) | Rendering method and device, electronic equipment and computer readable storage medium | |
| KR20160032597A (en) | Method and apparatus for processing texture | |
| CN103413344A (en) | 3D frame animation realization method, device and terminal | |
| US8854368B1 (en) | Point sprite rendering in a cross platform environment | |
| WO2016040538A1 (en) | Convex polygon clipping during rendering | |
| JP2018170588A (en) | Model data distribution server and model data reception client | |
| JP2016009374A (en) | Information processing apparatus, method, and program | |
| WO2022135050A1 (en) | Rendering method, device, and system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200117 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201217 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210126 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210511 |
|
| A603 | Late request for extension of time limit during examination |
Free format text: JAPANESE INTERMEDIATE CODE: A603 Effective date: 20210511 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211006 |