WO2014171066A1 - 三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法 - Google Patents

三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法 Download PDF

Info

Publication number
WO2014171066A1
WO2014171066A1 PCT/JP2014/001571 JP2014001571W WO2014171066A1 WO 2014171066 A1 WO2014171066 A1 WO 2014171066A1 JP 2014001571 W JP2014001571 W JP 2014001571W WO 2014171066 A1 WO2014171066 A1 WO 2014171066A1
Authority
WO
WIPO (PCT)
Prior art keywords
polygon
vertex
server
client
information
Prior art date
Application number
PCT/JP2014/001571
Other languages
English (en)
French (fr)
Inventor
裕大 石橋
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2015512290A priority Critical patent/JPWO2014171066A1/ja
Publication of WO2014171066A1 publication Critical patent/WO2014171066A1/ja
Priority to US14/879,138 priority patent/US20160035127A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Definitions

  • the present disclosure relates to a three-dimensional computer graphics technique, and relates to a three-dimensional image display system and a three-dimensional image display method in which a server and a client cooperate to draw a three-dimensional polygon model.
  • 3D computer graphics processing is processing for generating an image to be displayed on a display by interactively placing a virtual three-dimensional solid object in a three-dimensional space on the screen based on the viewpoint information of the user.
  • Patent Document 1 discloses an example of a configuration that reduces the load on an information processing terminal.
  • a server performs three-dimensional computer graphics processing and encodes a generated image into video.
  • the server sends the encoded video to the client via the network.
  • the client decodes the received video and displays it on the display.
  • a configuration is disclosed in which an information processing terminal serving as a client receives an image after 3D computer graphics processing without performing heavy 3D computer graphics processing and displays the image on a display.
  • Patent Document 2 discloses another example.
  • the polygon data itself necessary for display is distributed from the server to control the communication data amount.
  • This disclosure provides a three-dimensional image display system that achieves both a reduction in client load and a reduction in network load.
  • a three-dimensional image display system and a three-dimensional image display method of the present disclosure are a three-dimensional image display system in which a server and a client cooperate to display a three-dimensional image, and the server includes a polygon of a three-dimensional shape.
  • the server memory that stores the vertex information indicating the vertex position, and the vertex information stored in the server memory is converted to a different coordinate system, and the polygon is displayed based on the converted vertex information and the viewpoint information transmitted from the client
  • the effective polygon specifying unit for generating effective vertex information indicating whether the polygon is determined to be a valid polygon for drawing with respect to the polygon determined to be displayed, and the effective vertex information
  • a server communication unit for transmitting to the client, and the client stores vertex information indicating vertex positions of polygons constituting the three-dimensional shape.
  • the client communication unit that sends viewpoint information to the client memory and receives the valid vertex information from the server, and the vertex information stored in the client memory for only valid vertices from the valid vertex information, and different coordinates
  • a polygon rendering unit that converts the system into a system and generates a three-dimensional image.
  • the 3D image display system and 3D image display method of the present disclosure can achieve both a reduction in client load and a reduction in network load.
  • FIG. 1 is a block diagram illustrating an example of a configuration of a three-dimensional image display system according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of data stored in the server memory according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of data stored in the client memory according to the embodiment.
  • FIG. 4 is a flowchart illustrating an example of the operation of the server in the embodiment.
  • FIG. 5 is a diagram for explaining whether or not polygon drawing is valid.
  • FIG. 6A is a diagram illustrating an example in which a polygon model is configured in a polygon strip format.
  • FIG. 6B is a diagram showing a correspondence relationship between the polygon model of FIG. 6A and effective vertex information.
  • FIG. 6C is a diagram illustrating an example of the generated effective vertex information.
  • FIG. 6D is a diagram illustrating another example of the generated effective vertex information.
  • FIG. 6E is a diagram showing still another example of the generated effective vertex information.
  • FIG. 7 is a flowchart illustrating an example of the operation of the client in the embodiment.
  • an object of the present disclosure is to provide a three-dimensional image display system that can simultaneously reduce the load on the information processing terminal and the load on the network.
  • a polygon model that represents a three-dimensional object with a combination of polygons and a virtual camera that serves as a viewpoint are arranged in a three-dimensional space. Then, an image in which the polygon model is displayed on the screen from a virtual camera is generated.
  • a 3D space in which polygon models and virtual cameras are arranged is called a scene.
  • the 3D image display system forms one scene by drawing the arranged polygon model on the display screen.
  • a drawing target scene is called a target scene
  • a drawing target polygon model constituting the target scene is called a target polygon.
  • FIG. 1 is a block diagram illustrating an example of a configuration of a three-dimensional image display system according to an embodiment. As shown in FIG. 1, in the 3D image display system 100, a server 101 and a client 102 are connected via a network 103.
  • the server 101 includes a server information processing apparatus 104 and a server memory 105.
  • the server information processing apparatus 104 includes a server CPU (Central Processing unit) 106, a server GPU (Graphics Processing Unit) 107, and a server communication unit 108.
  • a server CPU Central Processing unit
  • a server GPU Graphics Processing Unit
  • a server communication unit 108 The server information processing apparatus 104 includes a server CPU (Central Processing unit) 106, a server GPU (Graphics Processing Unit) 107, and a server communication unit 108.
  • the server GPU 107 includes a vertex coordinate processing unit 109 and an effective polygon specifying unit 110.
  • the client 102 includes a client information processing apparatus 111 and a client memory 112.
  • the client information processing apparatus 111 includes a client CPU 113, a client GPU 114, a display 115, and a client communication unit 116.
  • the client GPU 114 includes a polygon drawing unit 117.
  • FIG. 2 is a diagram illustrating an example of data stored in the server memory 105 according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of data stored in the client memory 112 according to the embodiment.
  • the server memory 105 and the client memory 112 each store data necessary for 3D image display in advance.
  • the server memory 105 stores data 201 including a drawing command list 202 and a vertex data list 203.
  • the drawing command list 202 includes a drawing command 204 indicating information related to the polygon drawing command.
  • the drawing command 204 includes a representation format of a polygon to be drawn, a top address of various data of vertex data 205 to be described later, and the like.
  • Polygon representation formats include a polygon strip format, a polygon fan format, and a polygon mesh format.
  • the vertex data list 203 is a list of vertex data 205, which is data indicating information on the vertices constituting the polygon of the polygon model.
  • the vertex data 205 includes a vertex ID 206, coordinate data 207, and form data 208.
  • the vertex ID 206 indicates the number of the vertex of the polygon model. In the example of FIG. 2, the vertex ID 206 is indicated by V0V1, V2,..., V (k ⁇ 1), Vk (k is an integer of 1 or more).
  • Coordinate data 207 indicates the position of each vertex of the polygon model.
  • the form data 208 indicates information other than the coordinate data of each vertex of the polygon model, for example, normal data, color data, texture coordinate data, etc. of each vertex.
  • the same data 301 is stored in the client memory 112 with the same configuration as the data 201 stored in the server memory 105. That is, the drawing command list 302 for the drawing command list 202, the vertex data list 303 for the vertex data list 203, the drawing command 304 for the drawing command 204, the vertex data 305 for the vertex data 205, and the vertex ID 206
  • the coordinate data 307 corresponds to the vertex ID 306 and the coordinate data 207
  • the form data 308 corresponds to the form data 208, respectively.
  • the client CPU 113 transmits a drawing start instruction to the client GPU 114 and the server 101.
  • the drawing start instruction to the server 101 is sent from the client communication unit 116 to the server communication unit 108 via the network 103 and further to the server CPU 106.
  • the drawing start instruction is, for example, a drawing start instruction such as a scene number to be displayed in a 3D image.
  • the client GPU 114 receives a drawing start instruction.
  • the client GPU 114 Upon receiving the drawing start instruction, the client GPU 114 sends the first viewpoint information 118 for starting drawing to the client CPU 113.
  • This viewpoint information 118 is a predetermined viewpoint such as an origin.
  • the client CPU 113 sends the viewpoint information 118 from the client communication unit 116 to the server communication unit 108 via the network 103 and further to the server GPU 107.
  • the server CPU 106 transmits the drawing start instruction to the server GPU 107.
  • the vertex coordinate processing unit 109 uses the drawing command 204 of the target scene to be drawn from the drawing command list 202 of the server memory 105 and the vertex to be drawn from the vertex data list 203. Data 205 is loaded.
  • the vertex coordinate processing unit 109 includes coordinate data 207 indicating the position of the vertex of the polygon among the viewpoint information 118 received from the client CPU 113 and the vertex data 205 of the target polygon included in the target scene loaded from the server memory 105. Then, the world coordinates which are the coordinates in the three-dimensional space of the vertex of the target polygon when viewed from the viewpoint of the viewpoint information 118 and the screen coordinates which are the coordinates on the screen of the vertex of the target polygon are calculated.
  • the effective polygon specifying unit 110 determines whether or not drawing of the target polygon is valid from the world coordinates and the screen coordinates that are the coordinate values calculated by the vertex coordinate processing unit 109, and outputs polygon drawing valid information. Then, the effective polygon specifying unit 110 generates effective information of vertices constituting the target polygon from the polygon rendering effective information of the output target polygon.
  • the server communication unit 108 transmits the effective vertex information 119 generated by the effective polygon specifying unit 110 from the server communication unit 108 to the client communication unit 116 via the network 103.
  • the client communication unit 116 receives the effective vertex information 119 received from the server communication unit 108 and sends it to the polygon drawing unit 117.
  • the polygon drawing unit 117 Upon receiving a drawing start instruction and valid vertex information 119, the polygon drawing unit 117 receives a drawing command 304 for the target scene to be drawn from the drawing command list 302 stored in the client memory 112, and a vertex data list for the target scene.
  • the target vertex data 305 from 303 only the vertex data 305 determined to be valid from the received valid vertex information 119 is loaded from the client memory 112.
  • the polygon rendering unit 117 uses the world coordinates and the coordinates on the screen, which are the coordinates in the three-dimensional space viewed from the viewpoint, from the first viewpoint information 118 for starting the rendering and the coordinate data 307 included in the loaded vertex data 305.
  • a screen image is calculated by calculating a color value of each pixel of the polygon from the calculated coordinate value and the form data 308 included in the loaded vertex data 305.
  • the image generated by the polygon drawing unit 117 is displayed on the display 115.
  • FIG. 4 is a flowchart illustrating an example of the operation of the server 101 in the embodiment. In the description of the flowchart of FIG. 4, it is assumed that a drawing start instruction has been given in advance.
  • Step S401 The vertex coordinate processing unit 109 receives the viewpoint information 118 transmitted from the client CPU 113 via the client communication unit 116 and the network 103 through the server communication unit 108.
  • Step S402 Upon receiving the drawing start instruction and the viewpoint information 118, the vertex coordinate processing unit 109 receives the drawing command 204 and the vertex data list of the target scene to be drawn from the drawing command list 202 stored in the server memory 105. The vertex data 205 to be drawn is loaded from 203.
  • Step S403 the vertex coordinate processing unit 109 performs coordinate conversion processing on the coordinate data 207 of the loaded vertex data 205 to world coordinates and screen coordinates.
  • the effective polygon specifying unit 110 determines whether or not drawing of the target polygon is effective from the world coordinates and screen coordinates calculated for each vertex constituting the polygon, and generates a determination result as polygon drawing effective information.
  • FIG. 5 is a diagram for explaining whether or not drawing of the target polygon is valid.
  • the determination of whether or not drawing of the target polygon is valid is a process of determining whether or not a polygon composed of a plurality of vertices is used when generating an image. In determining whether the drawing of the target polygon is valid, coordinate data converted into screen coordinates with the viewpoint 501 as the origin is used. If the polygon can be projected onto the screen 502 when viewed from the viewpoint 501, the drawing is determined to be valid, and otherwise, it is determined to be invalid. Specifically, four types of determinations are performed to determine whether drawing of the target polygon is valid.
  • the target polygon is in the hexahedron indicating the visible space 503. If the coordinates of all the vertices constituting the target polygon exist outside the visible space 503, the drawing of the target polygon is invalid. For example, drawing of a polygon existing outside the visible space 503 such as the polygon 504 becomes invalid.
  • the second determination it is determined whether or not the display portion of the target polygon is less than one pixel when the target polygon is projected onto the screen 502. For example, drawing is invalid for a polygon that is small like the polygon 505 and that is arranged horizontally with respect to the viewpoint 501.
  • the target polygon in the visible space 503 is face up when viewed from the viewpoint 501.
  • the front and back of the polygon can be determined. If it is facing away from the viewpoint 501, drawing of the polygon is invalid. For example, drawing is invalid for a polygon whose polygon surface is facing away from the viewpoint 501 such as the polygon 506.
  • the target polygon is placed behind the other polygon when it is projected on the screen 502 and cannot be seen. For example, when projected onto the screen 502, the polygon 507 is disposed behind the polygon 508, so that drawing is invalid.
  • drawing is effective for a polygon that is effective for drawing.
  • drawing is effective for the polygon 508 and the polygon 509.
  • the effective polygon specifying unit 110 determines whether or not the vertex constituting the polygon is valid based on the polygon drawing valid information indicating the determination result of whether or not the polygon drawing is valid, and the effective vertex is determined. Information 119 is generated.
  • FIG. 6A is a diagram showing an example in which a polygon model is configured in a polygon strip format.
  • FIG. 6B is a diagram showing a correspondence relationship between the polygon model of FIG. 6A and effective vertex information.
  • FIG. 6C is a diagram illustrating an example of the generated effective vertex information.
  • FIG. 6D is a diagram illustrating another example of the generated effective vertex information.
  • FIG. 6E is a diagram showing still another example of the generated effective vertex information.
  • the vertex ID of the polygon strip 601 is specified in the order of V0 ⁇ V1 ⁇ V2 ⁇ V3 ⁇ V4 ⁇ V5 ⁇ V6 ⁇ V7 ⁇ V8. Note that polygons P0, P1, and P6 are valid polygons.
  • Whether or not the vertices constituting the polygon are valid is determined in the order of V0 ⁇ V1 ⁇ V2 ⁇ V3 ⁇ V4 ⁇ V5 ⁇ V6 ⁇ V7 ⁇ V8.
  • a logical sum operation is performed on the polygon drawing valid information of the polygons Pi-2, Pi-1, and Pi including the vertex Vi. That is, if at least one polygon drawing effective information of the target polygon is valid, it is determined that the vertex Vi is valid. In this determination, the polygon drawing valid information of the polygon number that does not exist is treated as invalid.
  • FIG. 6B illustrates this determination. Specifically, for the vertex V0, since the polygon drawing effective information of the polygon P0 including the vertex V0 indicates T, the vertex V0 is determined to be valid. As for the vertex V1, since both polygons P0 and P1 including the vertex V1 indicate T for which the polygon drawing effective information is valid, the vertex V1 is determined to be valid. As for the vertex V2, since the polygon drawing valid information of P0 and P1 is valid among the polygons P0, P1, and P2 including the vertex V2, it is determined that the vertex V2 is valid.
  • the vertex V3 it is determined that the vertex V3 is valid because the polygon drawing effective information of P1 is valid among the polygons P1, P2, and P3 including the vertex V3.
  • the vertex V4 since the polygon drawing valid information of all the polygons among the polygons P2, P3, and P4 including the vertex V4 indicates F, it is determined that the vertex V4 is invalid.
  • the vertex V5 of the polygons P3, P4, and P5 including the vertex V5, all the polygon drawing valid information indicates F which is invalid. Therefore, it is determined that the vertex V5 is invalid.
  • the vertex V6 it is determined that the vertex V6 is valid because the polygon drawing effective information of P6 is valid T among the polygons P4, P5, and P6 including the vertex V6.
  • the vertex V7 it is determined that the vertex V7 is valid because the polygon drawing effective information of P6 is valid T among the polygons P5 and P6 including the vertex V7.
  • the vertex V8 since the polygon drawing effective information of the polygon P6 including the vertex V8 indicates T which is valid, it is determined that the vertex V8 is valid.
  • the effective polygon specifying unit 110 generates effective vertex information in which the vertices V0, V1, V2, V3, V6, V7, and V8 are valid and the vertices V4 and V5 are invalid.
  • the list of valid vertex information corresponding to the vertex ID may be used as shown in FIG. 6C, or the list of only the vertex IDs whose valid vertex information is valid as shown in FIG. 6D.
  • FIG. 6E only address information of vertex IDs whose valid vertex information is valid may be listed.
  • Step S406 The server communication unit 108 transmits the effective vertex information 119 generated by the effective polygon specifying unit 110 to the client communication unit 116. By transmitting the effective vertex information 119 to the client 102 as the minimum necessary information, the load on the network can be reduced.
  • Step S407 If the processing of Step S402 to Step S406 is not completed for all target polygons of the target scene, the processing returns to Step S402 and the processing for the next polygon is continued. If completed, exit.
  • FIG. 7 is a flowchart illustrating an example of the operation of the client 102 in the embodiment. In the description of the flowchart in FIG. 7, it is assumed that an instruction to start drawing has been given in advance.
  • Step S701 Upon receiving the drawing start instruction, the client GPU 114 sends the first viewpoint information 118 for starting drawing to the client CPU 113.
  • This viewpoint information 118 is a predetermined viewpoint such as an origin.
  • the client CPU 113 sends the viewpoint information 118 to the server GPU 107 through the client communication unit 116 and the server communication unit 108.
  • the polygon drawing unit 117 loads a drawing command 304 for a target scene to be drawn from the drawing command list 302 in the client memory 112.
  • Step S702 The client communication unit 116 receives the effective vertex information 119 transmitted from the server communication unit 108 and sends it to the polygon drawing unit 117.
  • Step S703 The polygon rendering unit 117 checks whether or not the vertex included in the target polygon is valid for each vertex ID from the received valid vertex information 119. If the vertex is valid, it is stored in the client memory 112. Of the vertex data 305 to be drawn from the vertex data list 303 of the target scene to be drawn, only the valid vertex ID 306, valid coordinate data 307, and valid form data 308 are loaded. For example, when the effective vertex information is FIG. 6C, the effective vertex IDs are V0, V1, V2, V3, V6, V7, and V8, so only the coordinate data 307 and the form data 308 corresponding to these vertex IDs are loaded. To do.
  • the polygon rendering unit 117 converts the coordinate data into the world coordinates and the screen coordinates from the loaded coordinate data 307 and the form data 308, and calculates the color value of each pixel of the polygon. An image is generated, and the image generated by the polygon drawing unit 117 is displayed on the display 115.
  • Step S705 When the processing in steps S702 to S704 is completed for all target polygons in the target scene, the processing is completed. If the processing in steps S702 to S704 has not been completed for all target polygons in the target scene, the processing in steps S702 to S704 is executed for the next polygon.
  • the timing for transmitting the viewpoint information 118 from the client CPU 113 may be transmitted every predetermined time, or the viewpoint It may be transmitted only when the information 118 changes.
  • the viewpoint information is not limited to a predetermined viewpoint such as the origin, but in addition to the viewpoint, the scene number of the scene that the client wants to display, the visible range of the display screen on the client, and the three-dimensional display on the display screen on the client Projection parameters indicating how to project from space to two-dimensional space, position / movement amount / movement speed / movement acceleration after object operation, which is a scene change in which a client user operates a menu operation or an object in a scene
  • One or more of information such as / shape change / color change may be used as viewpoint information.
  • the vertex data included in the vertex data list 303 of the data 301 in which the vertex ID 206 and the coordinate data 207 are stored in the client memory 112 may be the same.
  • the valid vertex information may be in a format other than the examples in FIGS. 6C, 6D, and 6E.
  • the format of FIG. A form of only F may be used.
  • the server is necessary for drawing the target polygon from the viewpoint information received from the client and the coordinate data included in the vertex data of the polygons constituting the polygon model stored in the server memory.
  • a valid vertex is identified, and valid vertex information indicating the vertex of a polygon valid for drawing is transmitted to the client.
  • the client draws a polygon by accessing only the minimum necessary coordinate data and form data of the vertex data to the client memory.
  • the server 101 and the client 102 do not necessarily have a one-to-one relationship, and a single server may have a plurality of clients. According to this configuration, if there is one server 101 having a powerful processing capability, it is possible to achieve both a reduction in the load on the network and a reduction in the load on the three-dimensional computer graphics processing of each client 102.
  • four types of determination are performed to determine whether or not the drawing of the target polygon by the effective polygon specifying unit 110 is effective. However, some of the four types may be selected, or another determination may be performed. May be.
  • the processing load of the effective polygon specifying unit 110 can be reduced, and conversely, by adding the determination, the number of polygons to be drawn can be reduced. Therefore, the load on the three-dimensional computer graphics processing in the client 102 can be further reduced. it can.
  • the CPU and the GPU may be individually integrated into an integrated circuit, or may be a single integrated circuit.
  • the server information processing apparatus and the client information processing apparatus may be partially or entirely realized by a program on a general-purpose processor, or an FPGA (Field Programmable Gate Array) whose hardware configuration can be changed after manufacturing. Alternatively, it may be realized using a reconfigurable processor capable of reconfiguring connection and setting of circuit cells in the integrated circuit.
  • the present disclosure may be realized as a recording medium such as a computer-readable CD-ROM (Compact Disc-Read Only Memory) in which the above program is recorded, or may be realized as information, data, or a signal indicating the program. You can also. These programs, information, data, and signals may be distributed via a communication network such as the Internet.
  • a communication network such as the Internet.
  • the three-dimensional image display system of the present disclosure includes various electronic devices equipped with a graphics drawing function, such as a mobile phone, a tablet, a PDA (Personal Digital Assistant), a digital TV, a car navigation system, a consumer game machine, and a personal computer. Etc. can be used.
  • a graphics drawing function such as a mobile phone, a tablet, a PDA (Personal Digital Assistant), a digital TV, a car navigation system, a consumer game machine, and a personal computer. Etc. can be used.
  • SYMBOLS 100 3D image display system 101 Server 102 Client 103 Network 104 Server information processing apparatus 105 Server memory 106 Server CPU 107 server GPU DESCRIPTION OF SYMBOLS 108 Server communication part 109 Vertex coordinate process part 110 Effective polygon specific part 111 Client information processing apparatus 112 Client memory 113 Client CPU 114 Client GPU 115 Display 116 Client Communication Unit 117 Polygon Rendering Unit 118 Viewpoint Information 119 Effective Vertex Information 201, 301 Data 202, 302 Rendering Command List 203, 303 Vertex Data List 204, 304 Rendering Command 205, 305 Vertex Data 206, 306 Vertex ID 207, 307 Coordinate data 208, 308 Form data 501 View point 502 Screen 503 Visible space 504, 505, 506, 507, 508, 509 Polygon

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 サーバ(101)とクライアント(102)とが協働して三次元画像表示する三次元画像表示システム(100)であって、サーバ(101)は、三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するサーバメモリ(105)と、サーバメモリ(105)に格納された頂点情報を異なる座標系に変換し、変換後の頂点情報と、クライアント(102)から送信される視点情報(118)とに基づき、ポリゴンが表示されるポリゴンか否かを判断し、表示されるポリゴンと判断されたポリゴンに対して描画に有効な頂点であるか否かを示す有効頂点情報(119)を生成する有効ポリゴン特定部(110)と、有効頂点情報(119)をクライアント(102)に対して送信するサーバ通信部(108)と、を備え、クライアント(102)は、三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するクライアントメモリ(112)と、サーバ(101)に視点情報(118)を送信し、サーバ(101)から有効頂点情報(119)を受信するクライアント通信部(116)と、有効頂点情報(119)から有効な頂点のみに対して、クライアントメモリ(112)に格納された頂点情報を読み出し、異なる座標系に変換し、三次元画像を生成するポリゴン描画部と、を備える。

Description

三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法
 本開示は、三次元コンピュータグラフィックス技術に関し、サーバとクライアントとが協働して三次元形状のポリゴンモデルを描画する三次元画像表示システム及び三次元画像表示方法に関する。
 三次元コンピュータグラフィックス処理は、三次元空間に仮想的な三次元の立体物を、ユーザの視点情報などに基づき、インタラクティブにスクリーン上に配置し、ディスプレイに表示する画像を生成する処理である。
 三次元コンピュータグラフィックス処理において、処理の過程で生じる計算の負荷およびメモリアクセスの負荷が大きく、情報処理端末に搭載するには、これらの負荷を低減することが課題である。
 特許文献1には、情報処理端末の負荷を低減する構成の一例が開示されている。特許文献1の構成では、サーバで三次元コンピュータグラフィックス処理を行い、生成された画像をビデオにエンコードする。サーバはネットワークを介してエンコードしたビデオをクライアントに送信する。クライアントは、受信したビデオをデコードしディスプレイに表示する。クライアントとなる情報処理端末は、負荷の大きい三次元コンピュータグラフィックス処理を行わずに三次元コンピュータグラフィックス処理後の画像を受け取って、その画像をディスプレイに表示する構成が開示されている。
 特許文献2には、別の一例が開示されている。特許文献2の構成では、地図を三次元的に表示する際に、サーバから表示に必要なポリゴンデータそのものを配信して通信データ量を制御する。
特表2012-521268号公報 特開2007-255989号公報
 本開示は、クライアントの負荷の低減とネットワークの負荷の低減を両立する三次元画像表示システムを提供する。
 本開示の三次元画像表示システムおよび三次元画像表示方法は、サーバとクライアントとが協働して三次元画像表示する三次元画像表示システムであって、サーバは、三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するサーバメモリと、サーバメモリに格納された頂点情報を異なる座標系に変換し、変換後の頂点情報と、クライアントから送信される視点情報とに基づき、ポリゴンが表示されるポリゴンか否かを判断し、表示されるポリゴンと判断されたポリゴンに対して描画に有効な頂点であるか否かを示す有効頂点情報を生成する有効ポリゴン特定部と、有効頂点情報をクライアントに対して送信するサーバ通信部と、を備え、クライアントは、三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するクライアントメモリと、サーバに視点情報を送信し、サーバから有効頂点情報を受信するクライアント通信部と、有効頂点情報から有効な頂点のみに対して、クライアントメモリに格納された頂点情報を読み出し、異なる座標系に変換し、三次元画像を生成するポリゴン描画部と、を備える。
 これにより、本開示の三次元画像表示システムおよび三次元画像表示方法はクライアントの負荷の低減と、ネットワークの負荷の低減を両立できる。
図1は、実施の形態における三次元画像表示システムの構成の一例を示すブロック図である。 図2は、実施の形態におけるサーバメモリに格納されているデータの一例を示す図である。 図3は、実施の形態におけるクライアントメモリに格納されているデータの一例を示す図である。 図4は、実施の形態におけるサーバの動作の一例を示すフローチャートである。 図5は、ポリゴンの描画が有効か否かの判定を説明する図である。 図6Aは、ポリゴンモデルがポリゴンストリップ形式で構成されている一例を示す図である。 図6Bは、図6Aのポリゴンモデルと有効頂点情報の対応関係を示す図である。 図6Cは、生成した有効頂点情報の一例を示す図である。 図6Dは、生成した有効頂点情報の別の一例を示す図である。 図6Eは、生成した有効頂点情報のさらに別の一例を示す図である。 図7は、実施の形態におけるクライアントの動作の一例を示すフローチャートである。
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
 (実施の形態)
 近年、情報処理端末のディスプレイの高解像度化に伴って三次元コンピュータグラフィックス処理によって生成される画像のデータサイズが増加している。その結果、生成された画像をエンコードした結果であるビデオデータのサイズも増加するため、特許文献1の構成のように、サーバで三次元コンピュータグラフィックス処理した画像をクライアント情報処理端末に送信すると、ネットワークに大きな負荷が発生する。そのため、情報処理端末のディスプレイへの画像の表示に遅延が発生する。さらに、ネットワークの負荷を低減させるためにビデオデータを過度に圧縮すると、情報処理端末のディスプレイへの表示画像の画質の劣化を招いてしまう。また、特許文献2の構成のように、通信データ量を抑制するために、サーバからクライアントへ表示に必要なポリゴンのみを送信したとしても、表示に必要なポリゴンのそれぞれのデータ量が大きいため、ネットワークの負荷は大きくなる。
 以上のように、従来の情報処理端末において、情報処理端末における三次元コンピュータグラフィックス処理を、ネットワークで接続されたサーバ上で処理させると情報処理端末における負荷が低減されてもネットワーク上の負荷が増大するという課題がある。
 そこで、本開示は、情報処理端末の負荷の低減とネットワークの負荷の低減を両立する三次元画像表示システムを提供することを目的とする。
 本実施の形態の三次元画像表示システムで実施する三次元コンピュータグラフィックス処理は、三次元空間に、多角形の組み合わせで立体物を表現するポリゴンモデルおよび視点となる仮想的なカメラを配置する。そして、ポリゴンモデルが仮想的なカメラからスクリーンに表示される画像を生成する。
 三次元コンピュータグラフィックス処理において、ポリゴンモデルおよび仮想的なカメラが配置された三次元空間を、シーンと呼ぶ。
 本実施の形態の三次元画像表示システムは、配置されたポリゴンモデルを表示画面に描画することで、一つのシーンを構成する。本実施の形態では、描画対象のシーンを対象シーン、対象シーンを構成する描画対象のポリゴンモデルを対象ポリゴンと呼ぶ。
 <1.構成>
 図1は、実施の形態における三次元画像表示システムの構成の一例を示すブロック図である。図1に示すように、三次元画像表示システム100は、サーバ101とクライアント102がネットワーク103を介して接続されている。
 サーバ101は、サーバ情報処理装置104とサーバメモリ105で構成される。
 サーバ情報処理装置104は、サーバCPU(Central Processing unit)106、サーバGPU(Graphics Processing Unit)107とサーバ通信部108で構成される。
 サーバGPU107は頂点座標処理部109と有効ポリゴン特定部110で構成される。
 クライアント102は、クライアント情報処理装置111とクライアントメモリ112で構成される。
 クライアント情報処理装置111は、クライアントCPU113とクライアントGPU114とディスプレイ115とクライアント通信部116で構成される。
 クライアントGPU114は、ポリゴン描画部117で構成される。
 図2は、実施の形態におけるサーバメモリ105に格納されているデータの一例を示す図である。図3は、実施の形態におけるクライアントメモリ112に格納されているデータの一例を示す図である。サーバメモリ105とクライアントメモリ112には予め、三次元画像表示に必要なデータがそれぞれ格納されている。
 サーバメモリ105には、描画命令リスト202と頂点データリスト203で構成されるデータ201が格納されている。
 描画命令リスト202は、ポリゴン描画命令に関する情報を示す描画命令204を含む。図2に示すように、描画命令204は、描画対象となるポリゴンの表現形式、後述する頂点データ205の各種データの先頭アドレス等を含む。ポリゴンの表現形式には、ポリゴンストリップ形式、ポリゴンファン形式やポリゴンメッシュ形式等がある。
 頂点データリスト203は、ポリゴンモデルのポリゴンを構成する頂点の情報を示すデータである、頂点データ205のリストである。頂点データ205は、頂点ID206、座標データ207と形態データ208で構成される。頂点ID206は、ポリゴンモデルの頂点の番号を示し、図2の一例では、V0V1、V2、・・・、V(k-1)、Vk(kは1以上の整数)で示されている。座標データ207は、ポリゴンモデルの各頂点の位置を示す。形態データ208は、ポリゴンモデルの各頂点の座標データ以外の情報、例えば、各頂点の法線データ、カラーデータ、テクスチャ座標データ等を示す。
 クライアントメモリ112には、サーバメモリ105に格納されるデータ201と同じ構成で同一のデータ301が格納されている。すなわち、描画命令リスト202に対して描画命令リスト302、頂点データリスト203に対して頂点データリスト303、描画命令204に対して描画命令304、頂点データ205に対して頂点データ305、頂点ID206に対して頂点ID306、座標データ207に対して座標データ307、形態データ208に対して形態データ308がそれぞれ対応している。
 クライアントCPU113は描画開始の指示をクライアントGPU114とサーバ101へ伝える。サーバ101への描画開始の指示は、クライアント通信部116からネットワーク103を介してサーバ通信部108へ、さらに、サーバCPU106へ送付される。描画開始の指示とは、例えば、三次元画像表示したいシーンの番号等の描画開始の指示である。クライアントGPU114は描画開始の指示を受け付ける。
 描画開始の指示を受け付けたクライアントGPU114は、クライアントCPU113へ描画開始の最初の視点情報118を送る。この視点情報118は、原点等の予め決められた視点である。クライアントCPU113は、クライアント通信部116からネットワーク103を介してサーバ通信部108へ、さらにサーバGPU107へ視点情報118を送る。
 サーバCPU106は、描画開始の指示を受けて、サーバGPU107へ描画開始の指示を伝える。描画開始の指示を受け付けたサーバGPU107において、頂点座標処理部109は、サーバメモリ105の描画命令リスト202から描画の対象となる対象シーンの描画命令204と頂点データリスト203から描画の対象となる頂点データ205をロードする。
 サーバGPU107において、頂点座標処理部109はクライアントCPU113から受信した視点情報118と、サーバメモリ105からロードした対象シーンに含まれる対象ポリゴンの頂点データ205のうち、ポリゴンの頂点の位置を示す座標データ207から、視点情報118の視点から見たときの対象ポリゴンの頂点の三次元空間上の座標であるワールド座標および対象ポリゴンの頂点のスクリーン上の座標であるスクリーン座標を計算する。
 次に、有効ポリゴン特定部110は、頂点座標処理部109で計算された座標値であるワールド座標とスクリーン座標から対象ポリゴンの描画が有効か否かを判定し、ポリゴン描画有効情報を出力する。そして、有効ポリゴン特定部110は、出力された対象ポリゴンのポリゴン描画有効情報から対象ポリゴンを構成する頂点の有効情報を生成する。
 サーバ通信部108は、有効ポリゴン特定部110で生成された、有効頂点情報119をサーバ通信部108からネットワーク103を介してクライアント通信部116へ送信する。
 クライアント通信部116は、サーバ通信部108から受信した有効頂点情報119を受信し、ポリゴン描画部117へ送る。ポリゴン描画部117は、描画開始の指示と有効頂点情報119を受けて、クライアントメモリ112に格納された描画命令リスト302から描画の対象となる対象シーンの描画命令304と、対象シーンの頂点データリスト303から対象となる頂点データ305のうち、受信した有効頂点情報119から有効と判断された頂点データ305についてのみ、クライアントメモリ112からロードする。そして、ポリゴン描画部117は、描画開始の最初の視点情報118およびロードした頂点データ305に含まれる座標データ307から、視点から見た三次元空間上の座標であるワールド座標およびスクリーン上の座標であるスクリーン座標を計算し、計算された座標値およびロードした頂点データ305に含まれる形態データ308から、ポリゴンの各画素のカラー値を計算することでスクリーンの画像を生成する。
 ポリゴン描画部117で生成された画像はディスプレイ115で表示される。
 <2.動作>
 以下、実施の形態の三次元画像表示システムのサーバ101の動作とクライアント102の動作について、図面を参照しながら説明する。
 図4は、実施の形態におけるサーバ101の動作の一例を示すフローチャートである。図4のフローチャートの説明において、あらかじめ描画開始の指示がされているものとする。
 (ステップS401)頂点座標処理部109は、クライアントCPU113からクライアント通信部116およびネットワーク103を介して送信された視点情報118を、サーバ通信部108を通じて受信する。
 (ステップS402)頂点座標処理部109は、描画開始の指示と視点情報118を受けて、サーバメモリ105に格納された描画命令リスト202から描画の対象となる対象シーンの描画命令204と頂点データリスト203から描画の対象となる頂点データ205をロードする。
 (ステップS403)次に、頂点座標処理部109は、ロードした頂点データ205の座標データ207に対してワールド座標およびスクリーン座標への座標変換処理を行う。
 (ステップS404)。有効ポリゴン特定部110は、ポリゴンを構成する各頂点について計算したワールド座標およびスクリーン座標から対象ポリゴンの描画が有効か否かを判定し、判定結果をポリゴン描画有効情報として生成する。
 対象ポリゴンの描画が有効か否かの判定は、例えば以下のように判定する。図5は、対象ポリゴンの描画が有効か否かの判定を説明する図である。対象ポリゴンの描画が有効か否かの判定は、複数の頂点から構成されるポリゴンが画像生成時に用いられるか否かを判定する処理である。対象ポリゴンの描画が有効であるか否かの判定では、視点501を原点としてスクリーン座標に変換した座標データを用いる。視点501から見たときに、スクリーン502に投影することができるポリゴンであれば描画が有効、そうでなければ無効と判定する。具体的には、対象ポリゴンの描画が有効であるか否かの判定は、4種類の判定を行う。
 第1の判定では、対象ポリゴンが可視空間503を示す六面体の中に入っているか否かを判定する。対象ポリゴンを構成する頂点のうち全ての頂点の座標が可視空間503の外に存在していれば対象ポリゴンの描画は無効となる。例えば、ポリゴン504のように可視空間503の外に存在するポリゴンは描画が無効となる。
 第2の判定では、対象ポリゴンをスクリーン502に投影したときに対象ポリゴンの表示部分が1画素未満になるか否かを判定する。例えば、ポリゴン505のように対象ポリゴンが小さく、視点501に対して水平に配置されているポリゴンは描画が無効となる。
 第3の判定では、可視空間503の中に入っている対象ポリゴンについて視点501から見たときのポリゴン面が表向きかどうかを判定する。対象ポリゴンを構成する頂点の座標から面法線ベクトルを求め視点方向ベクトルとの内積の符号を確認することでポリゴンの表裏を判定することができる。視点501から見て裏向きであれば、ポリゴンの描画は無効となる。例えば、ポリゴン506のようにポリゴン面が視点501から見て裏向きであるポリゴンは描画が無効である。
 第4の判定では、対象ポリゴンをスクリーン502に投影したときに他のポリゴンの奥に配置されて見えなくなるか否かを判定する。例えば、スクリーン502に投影したときに、ポリゴン507は、ポリゴン508の奥に配置されるので、描画は無効である。
 以上の4種類の判定の全てにおいて、描画が有効であるポリゴンは描画が有効であると判定される。例えば、ポリゴン508、ポリゴン509は、描画が有効である。
 (ステップS405)さらに、有効ポリゴン特定部110は、ポリゴンの描画が有効か否かの判定結果を示すポリゴン描画有効情報をもとにポリゴンを構成する頂点が有効か否かを判定し、有効頂点情報119を生成する。
 図6Aは、ポリゴンモデルがポリゴンストリップ形式で構成されている一例を示す図である。図6Bは、図6Aのポリゴンモデルと有効頂点情報の対応関係を示す図である。図6Cは、生成した有効頂点情報の一例を示す図である。図6Dは、生成した有効頂点情報の別の一例を示す図である。図6Eは、生成した有効頂点情報のさらに別の一例を示す図である。ポリゴンストリップ形式は、頂点を共有しながら連続でポリゴンを描画する形式である。図6Aに示すように、ポリゴンストリップ601のポリゴンPj(j=0~6)は、頂点IDがVj、Vj+1、Vj+2の3点で構成される。また、ポリゴンストリップ601の頂点IDはV0→V1→V2→V3→V4→V5→V6→V7→V8の順で指定される。なお、ポリゴンP0、P1及びP6が有効なポリゴンであるとする。
 ポリゴンを構成する頂点の有効か否かの判定は、V0→V1→V2→V3→V4→V5→V6→V7→V8の順に行う。頂点Viについて頂点が有効か否かの判定を行うときに、頂点Viを含むポリゴンPi-2、Pi-1、Piのポリゴン描画有効情報の論理和演算を行う。すなわち、対象ポリゴンのポリゴン描画有効情報が1つでも有効であれば、頂点Viは有効であると判定される。なおこの判定で、存在しないポリゴン番号のポリゴン描画有効情報は無効であるとして扱う。
 図6Bは、この判定を図示している。具体的には、頂点V0については、頂点V0が含まれるポリゴンP0のポリゴン描画有効情報が有効であるTを示しているので頂点V0は有効であると判定する。頂点V1については、頂点V1が含まれるポリゴンP0、P1の両方ともポリゴン描画有効情報が有効であるTを示しているので頂点V1は有効であると判定する。頂点V2については、頂点V2が含まれるポリゴンP0、P1及びP2のうち、P0とP1のポリゴン描画有効情報が有効であるTを示しているので頂点V2は有効であると判定する。頂点V3については、頂点V3が含まれるポリゴンP1、P2及びP3のうち、P1のポリゴン描画有効情報が有効であるTを示しているので頂点V3は有効であると判定する。頂点V4については、頂点V4が含まれるポリゴンP2、P3及びP4のうち、全てのポリゴンのポリゴン描画有効情報が無効であるFを示しているので頂点V4は無効であると判定する。頂点V5についても、頂点V5が含まれるポリゴンP3、P4及びP5のうち、全てのポリゴン描画有効情報が無効であるFを示しているので頂点V5は無効であると判定する。頂点V6については、頂点V6が含まれるポリゴンP4、P5及びP6のうち、P6のポリゴン描画有効情報が有効であるTを示しているので頂点V6は有効であると判定する。頂点V7については、頂点V7が含まれるポリゴンP5及びP6のうち、P6のポリゴン描画有効情報が有効であるTを示しているので頂点V7は有効であると判定する。頂点V8については、頂点V8が含まれるポリゴンP6のポリゴン描画有効情報が有効であるTを示しているので頂点V8は有効であると判定する。有効ポリゴン特定部110は、頂点V0、V1、V2、V3、V6、V7、V8は有効、頂点V4、V5は無効とする有効頂点情報を生成する。
 有効頂点情報の形式としては、図6Cのように、頂点IDと対応する有効頂点情報をリストにしたものでもよいし、図6Dのように有効頂点情報が有効な頂点IDのみをリストにしたものでもよいし、図6Eのように有効頂点情報が有効な頂点IDのアドレス情報のみをリストにしたものでもよい。
 (ステップS406)サーバ通信部108は、有効ポリゴン特定部110で生成した有効頂点情報119をクライアント通信部116に送信する。有効頂点情報119を必要最小限の情報としてクライアント102に送信することで、ネットワークの負荷が低減できる。
 (ステップS407)対象シーンの全ての対象ポリゴンについてステップS402~ステップS406の処理が完了していなければ、ステップS402に戻って次のポリゴンに対する処理を継続する。完了した場合は終了する。
 図7は、実施の形態におけるクライアント102の動作の一例を示すフローチャートである。図7のフローチャートの説明において、あらかじめ描画開始の指示がされているものとする。
 (ステップS701)描画開始の指示を受け付けたクライアントGPU114は、クライアントCPU113へ描画開始の最初の視点情報118を送る。この視点情報118は、原点等の予め決められた視点である。クライアントCPU113は、クライアント通信部116、サーバ通信部108を通じて、サーバGPU107へ視点情報118を送る。ポリゴン描画部117は、クライアントメモリ112の描画命令リスト302から描画の対象となる対象シーンの描画命令304をロードする。
 (ステップS702)クライアント通信部116は、サーバ通信部108が送信した有効頂点情報119を受信し、ポリゴン描画部117に送る。
 (ステップS703)ポリゴン描画部117は、受信した有効頂点情報119から頂点IDごとに対象ポリゴンに含まれる頂点が有効か否かを確認し、頂点が有効であれば、クライアントメモリ112に格納された描画の対象となる対象シーンの頂点データリスト303から描画の対象となる頂点データ305のうち、有効な頂点ID306、有効な座標データ307、有効な形態データ308のみロードする。例えば、有効頂点情報が図6Cの場合、有効な頂点IDはV0、V1、V2、V3、V6、V7、V8であるので、これらの頂点IDに対応する座標データ307と形態データ308のみをロードする。
 (ステップS704)ポリゴン描画部117は、ロードした座標データ307および形態データ308から、ワールド座標およびスクリーン座標への座標変換、および、ポリゴンの各画素のカラー値を計算することで、対象ポリゴンのスクリーン画像を生成し、ポリゴン描画部117で生成された画像はディスプレイ115で表示される。
 (ステップS705)対象シーンの全ての対象ポリゴンについてステップS702~ステップS704の処理が完了すれば、処理は完了する。対象シーンの全ての対象ポリゴンについてステップS702~ステップS704の処理が完了していなければ、次のポリゴンについてステップS702~ステップS704の処理を実行する。
 本実施の形態の三次元画像表示システムのサーバ101の動作とクライアント102の動作について、クライアントCPU113から視点情報118を送信するタイミングは、あらかじめ決めておいた時間毎に送信してもよいし、視点情報118が変化したときにのみ送信してもよい。
 なお、視点情報として、原点等の予め決められた視点だけでなく、視点に加えて、クライアントが表示させたいシーンのシーン番号、クライアント上の表示画面の可視範囲、クライアント上の表示画面に三次元空間から二次元空間にどのように投影するかを示す投影パラメータ、クライアントのユーザがメニュー操作やシーン内のオブジェクトを操作したシーン変化であるオブジェクトの操作後の位置/移動量/移動速度/移動加速度/形状変化/色変化等の情報のうち1つまたは複数を視点情報としてもよい。
 なお、サーバメモリ105に格納されるデータ201とクライアントメモリ112に格納されるデータ301は、同じものであるとして動作説明したが、同じである必要はなく、サーバメモリ105に格納されるデータ201の頂点データリスト203に含まれる頂点データ205のうち処理に必要な座標データ207が、クライアントメモリ112に格納されるデータ301の頂点データリスト303に含まれる頂点データ305の座標データ307と同じであればよい。また、サーバメモリ105に格納されるデータ201の頂点データリスト203に含まれる頂点データ205のうち頂点ID206と座標データ207がクライアントメモリ112に格納されるデータ301の頂点データリスト303に含まれる頂点データ305の頂点ID306と座標データ307と同じであればよい。
 なお、有効頂点情報は、図6C、図6D、図6Eの例以外の形式でもよい。例えば、サーバメモリとクライアントメモリで同じ頂点データを格納しており、頂点IDの順も同じであるので、図6Cの形式のうち、頂点IDの順で描画有効情報が有効であるTか無効であるFのみの形式としてもよい。
 <3.まとめ>
 本実施の形態の三次元画像表示システムにおいて、サーバは、クライアントから受信する視点情報およびサーバメモリに格納されているポリゴンモデルを構成するポリゴンの頂点データに含まれる座標データから対象ポリゴンの描画に必要な頂点を特定し、描画に有効なポリゴンの頂点を示す有効頂点情報をクライアントに送信する。クライアントでは、受信した有効頂点情報に基づき、クライアントメモリへ必要最小限の頂点データの座標データと形態データにのみアクセスしてポリゴンを描画する。この構成により、クライアントの三次元コンピュータグラフィックス処理の負荷を低減しつつ、ネットワーク上にビデオデータを送信しないので、ネットワークの負荷も低減する三次元コンピュータグラフィックス処理画像の生成が実現できる。
 <4.他の構成>
 本開示に係る三次元画像表示システムについて説明したが、本開示はこれに限られるものではない。
 例えば、サーバ101とクライアント102は、必ずしも一対一である必要はなく、一台のサーバに複数のクライアントの構成でもよい。この構成によれば、強力な処理能力を持つサーバ101が一台あればネットワークの負荷の低減とそれぞれのクライアント102の三次元コンピュータグラフィックス処理の負荷の低減を両立させることが可能である。
 また、有効ポリゴン特定部110の対象ポリゴンの描画が有効であるか否かの判定に4種類の判定を行ったが、4種類のうち一部を選択してもよいし、別の判定を行ってもよい。判定を減らすことで、有効ポリゴン特定部110の処理負荷を低減でき、逆に判定を追加することで描画するポリゴンが減るので、クライアント102における三次元コンピュータグラフィックス処理の負荷をさらに低減することができる。
 本実施の形態のサーバ情報処理装置104およびクライアント情報処理装置111は、それぞれCPUおよびGPUは個別に集積回路化してもよいし、1つの集積回路としてもよい。また、サーバ情報処理装置やクライアント情報処理装置はそれぞれ一部又は全部を汎用プロセッサ上のプログラムによって実現してもよいし、製造後にハードウェア構成を変更することが可能なFPGA(Field Programmable Gate Array)や集積回路内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用して実現してもよい。
 また、本開示は、上記のプログラムを記録したコンピュータ読み取り可能なCD-ROM(Compact Disc-Read Only Memory)などの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、インターネット等の通信ネットワークを介して配信してもよい。
 本開示の三次元画像表示システムは、グラフィックス描画機能を搭載する様々な電子機器、例えば、携帯電話、タブレット、PDA(Personal Digital Assistant)、デジタルテレビ、カーナビゲーションシステム、家庭用ゲーム機、パーソナルコンピュータ等に用いることができる。
 100 三次元画像表示システム
 101 サーバ
 102 クライアント
 103 ネットワーク
 104 サーバ情報処理装置
 105 サーバメモリ
 106 サーバCPU
 107 サーバGPU
 108 サーバ通信部
 109 頂点座標処理部
 110 有効ポリゴン特定部
 111 クライアント情報処理装置
 112 クライアントメモリ
 113 クライアントCPU
 114 クライアントGPU
 115 ディスプレイ
 116 クライアント通信部
 117 ポリゴン描画部
 118 視点情報
 119 有効頂点情報
 201,301 データ
 202,302 描画命令リスト
 203,303 頂点データリスト
 204,304 描画命令
 205,305 頂点データ
 206,306 頂点ID
 207,307 座標データ
 208,308 形態データ
 501 視点
 502 スクリーン
 503 可視空間
 504,505,506,507,508,509 ポリゴン

Claims (4)

  1.  サーバとクライアントとが協働して三次元画像表示する三次元画像表示システムであって、
     前記サーバは、
     三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するサーバメモリと、
     前記サーバメモリに格納された前記頂点情報を異なる座標系に変換し、変換後の頂点情報と、前記クライアントから送信される視点情報とに基づき、前記ポリゴンが表示されるポリゴンか否かを判断し、表示されるポリゴンと判断されたポリゴンに対して描画に有効な頂点であるか否かを示す有効頂点情報を生成する有効ポリゴン特定部と、
     前記有効頂点情報を前記クライアントに対して送信するサーバ通信部と、を備え、
     前記クライアントは、
     前記三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するクライアントメモリと、
     前記サーバに前記視点情報を送信し、前記サーバから前記有効頂点情報を受信するクライアント通信部と、
     前記有効頂点情報から有効な頂点のみに対して、前記クライアントメモリに格納された前記頂点情報を読み出し、異なる座標系に変換し、三次元画像を生成するポリゴン描画部と、を備える、
    三次元画像表示システム。
  2.  前記クライアントメモリが格納する前記頂点情報は、頂点の位置を示す座標データと前記座標データ以外の情報を示す形態データとを含む、
    請求項1に記載の三次元画像表示システム。
  3.  サーバとクライアントとが協働して三次元画像表示する三次元画像表示システムにおけるサーバであって、
     三次元形状を構成するポリゴンの頂点位置を示す頂点情報を格納するサーバメモリと、
     前記サーバメモリに格納された前記頂点情報を異なる座標系に変換し、変換後の頂点情報と、前記クライアントから送信される視点情報とに基づき、前記ポリゴンが表示されるポリゴンか否かを判断し、表示されるポリゴンと判断されたポリゴンに対して描画に有効な頂点であるか否かを示す有効頂点情報を生成する有効ポリゴン特定部と、
     前記有効頂点情報を前記クライアントに対して送信するサーバ通信部と、を備える、
    三次元画像表示システムのサーバ。
  4.  三次元画像表示する三次元画像表示方法であって、
     三次元形状を構成するポリゴンの頂点位置を示す頂点情報を異なる座標系に変換し、変換後の頂点情報と、視点情報とに基づき、前記ポリゴンが表示されるポリゴンか否かを判断し、表示されるポリゴンと判断されたポリゴンに対して描画に有効な頂点であるか否かを示す有効頂点情報を生成する有効ポリゴン特定ステップと、
     前記有効頂点情報を送信する送信ステップと、
    を含む、
    三次元画像表示方法。
PCT/JP2014/001571 2013-04-19 2014-03-19 三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法 WO2014171066A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015512290A JPWO2014171066A1 (ja) 2013-04-19 2014-03-19 三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法
US14/879,138 US20160035127A1 (en) 2013-04-19 2015-10-09 Three-dimensional image display system, server for three-dimensional image display system, and three-dimensional image display method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013088099 2013-04-19
JP2013-088099 2013-04-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/879,138 Continuation US20160035127A1 (en) 2013-04-19 2015-10-09 Three-dimensional image display system, server for three-dimensional image display system, and three-dimensional image display method

Publications (1)

Publication Number Publication Date
WO2014171066A1 true WO2014171066A1 (ja) 2014-10-23

Family

ID=51731031

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/001571 WO2014171066A1 (ja) 2013-04-19 2014-03-19 三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法

Country Status (3)

Country Link
US (1) US20160035127A1 (ja)
JP (1) JPWO2014171066A1 (ja)
WO (1) WO2014171066A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7397940B2 (ja) 2021-10-12 2023-12-13 スクウェア エニックス、リミテッド コンピュータゲームにおけるサブアイテムの平坦化リストを使用したシーンエンティティ処理

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201605217VA (en) * 2013-12-26 2016-07-28 Univ Singapore Technology & Design A method and apparatus for reducing data bandwidth between a cloud server and a thin client
CN111798361A (zh) * 2019-09-20 2020-10-20 厦门雅基软件有限公司 渲染方法、装置、电子设备及计算机可读存储介质
CN113870403B (zh) * 2021-09-23 2023-01-10 埃洛克航空科技(北京)有限公司 用于图像渲染的信息处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08153211A (ja) * 1994-11-29 1996-06-11 Fujitsu Ltd コンピュータグラフィックスデータのポリゴン削減装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
EP2133843A1 (en) * 2007-04-11 2009-12-16 Panasonic Corporation Image generating apparatus and image generating method
US8441486B2 (en) * 2009-04-27 2013-05-14 Jagex Ltd. Position tracking in a virtual world
US8976188B1 (en) * 2012-04-20 2015-03-10 Google Inc. Optimized data communication system and method for an image rendering system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08153211A (ja) * 1994-11-29 1996-06-11 Fujitsu Ltd コンピュータグラフィックスデータのポリゴン削減装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7397940B2 (ja) 2021-10-12 2023-12-13 スクウェア エニックス、リミテッド コンピュータゲームにおけるサブアイテムの平坦化リストを使用したシーンエンティティ処理

Also Published As

Publication number Publication date
US20160035127A1 (en) 2016-02-04
JPWO2014171066A1 (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
US9159135B2 (en) Systems, methods, and computer program products for low-latency warping of a depth map
US20200051269A1 (en) Hybrid depth sensing pipeline
CN107958480B (zh) 图像渲染方法、装置及存储介质
EP2939216B1 (en) Apparatus for enhancement of 3-d images using depth mapping and light source synthesis
US20140092439A1 (en) Encoding images using a 3d mesh of polygons and corresponding textures
US20170186243A1 (en) Video Image Processing Method and Electronic Device Based on the Virtual Reality
KR20170086077A (ko) 증강 현실 장면에서의 드로잉을 위한 깊이 정보의 사용
US11417060B2 (en) Stereoscopic rendering of virtual 3D objects
WO2014171066A1 (ja) 三次元画像表示システム、三次元画像表示システムのサーバ及び三次元画像表示方法
JP2022519462A (ja) ホモグラフィ変換を使用した点群符号化
JP4234089B2 (ja) エンタテインメント装置、オブジェクト表示装置、オブジェクト表示方法、プログラム、およびキャラクタ表示方法
US20230027519A1 (en) Image based sampling metric for quality assessment
TW202141418A (zh) 處理拆分渲染中的遮蔽之方法及裝置
CN114500970B (zh) 一种全景视频图像处理、显示方法及设备
KR20120139054A (ko) 영상변환장치
US10388060B2 (en) System and method for multi-view rendering
CN117376540A (zh) 一种基于深度图的虚拟视角合成方法和装置
CN116075860A (zh) 信息处理装置、信息处理方法、视频分发方法和信息处理系统
US20230316656A1 (en) Information processing device, information processing method, and program
EP4258221A2 (en) Image processing apparatus, image processing method, and program
JP2007072881A (ja) 画像表示システム
JP2010026567A (ja) 3dオブジェクト表現方法及びコンピュータプログラム
JP2010026568A (ja) 3dオブジェクト表現方法及びコンピュータプログラム
JP2006331062A (ja) 立体画像生成方法および立体画像生成装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14785311

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015512290

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14785311

Country of ref document: EP

Kind code of ref document: A1