KR101623288B1 - 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체 - Google Patents

렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체 Download PDF

Info

Publication number
KR101623288B1
KR101623288B1 KR1020147015306A KR20147015306A KR101623288B1 KR 101623288 B1 KR101623288 B1 KR 101623288B1 KR 1020147015306 A KR1020147015306 A KR 1020147015306A KR 20147015306 A KR20147015306 A KR 20147015306A KR 101623288 B1 KR101623288 B1 KR 101623288B1
Authority
KR
South Korea
Prior art keywords
rendering
screen
objects
type
rendered
Prior art date
Application number
KR1020147015306A
Other languages
English (en)
Other versions
KR20140098773A (ko
Inventor
데츠지 이와사키
Original Assignee
가부시키가이샤 스퀘어.에닉스.홀딩스
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 가부시키가이샤 스퀘어.에닉스.홀딩스 filed Critical 가부시키가이샤 스퀘어.에닉스.홀딩스
Publication of KR20140098773A publication Critical patent/KR20140098773A/ko
Application granted granted Critical
Publication of KR101623288B1 publication Critical patent/KR101623288B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

디스플레이될 화면의 렌더링 처리가 제1 장치와 제2 장치 간에 분담되어 수행된다. 제1 장치는 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여, 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 일부 렌더링 객체들이 렌더링되는 제1 화면을 생성한다. 제2 장치는, 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 일부 렌더링 객체들을 제외한, 렌더링 객체들이 렌더링되는 제2 화면을 생성한다. 제1 장치는 제2 장치로부터 제2 화면을 수신하고, 제1 화면과 제2 화면을 합성함으로써 디스플레이될 화면을 생성한다.

Description

렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체{RENDERING SYSTEM, RENDERING SERVER, CONTROL METHOD THEREOF, PROGRAM, AND RECORDING MEDIUM}
본 발명은 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체에 관한 것으로서, 상세하게는 네트워크를 통해 연결된 복수의 장치들 간에 렌더링 처리를 공유함으로써 하나의 화면을 생성하는 기술에 관한 것이다.
네트워크 연결을 할 수 있는 개인용 컴퓨터(personal computer, PC) 등의 클라이언트 장치가 널리 보급되었다. 이들 장치가 널리 사용됨에 따라, 인터넷의 네트워크 인구가 증가하고 있다. 네트워크 사용자들을 위해 인터넷을 사용하는 다양한 서비스들이 최근에 개발되었으며, 또한 게임 등의 엔터테인먼트 서비스들이 제공되고 있다.
네트워크 사용자들을 위한 서비스들 중 하나는 MMORPG(Massively Multiplayer Online Role-Playing Game) 등의 멀티유저 온라인 네트워크 게임이다. 멀티유저 온라인 네트워크 게임에서, 사용자는 사용 중인 자신의 클라이언트 장치를 게임을 제공하는 서버에 연결시키고, 그로써 서버에 연결되어 있는 다른 클라이언트 장치를 사용하는 다른 사용자와 대전 플레이(match-up play) 또는 팀 플레이(team play)를 행한다.
일반적인 멀티유저 온라인 네트워크 게임에서, 각각의 클라이언트 장치는 게임 렌더링을 위해 필요한 데이터를 서버로/로부터 송신/수신한다. 클라이언트 장치는 렌더링하는 데 필요한 수신된 데이터를 사용하여 렌더링 처리를 수행하고, 생성된 게임 화면을 클라이언트 장치에 연결된 디스플레이 장치 상에 제시하며, 그로써 사용자에게 게임 화면을 제공한다. 사용자가 입력 인터페이스를 조작하여 입력한 정보는 서버로 송신되고, 서버에서의 계산 처리에서 사용되거나, 서버에 연결된 다른 클라이언트 장치로 송신된다.
그렇지만, 클라이언트 장치로 하여금 렌더링 처리를 수행하게 하는 어떤 네트워크 게임들은 사용자가 충분한 렌더링 성능을 갖는 PC 또는 전용 게임기를 사용할 것을 필요로 한다. 이 때문에, 네트워크 게임(하나의 콘텐츠)의 사용자들의 수는 콘텐츠에 의해 요구되는 클라이언트 장치의 성능에 의존한다. 고성능 장치는 물론 고가이고, 장치를 소유할 수 있는 사용자들의 수가 제한되어 있다. 즉, 높은 렌더링 성능을 필요로 하는 게임(예를 들어, 아름다운 그래픽을 제공하는 게임)의 사용자들의 수를 증가시키는 것이 어렵다.
그렇지만, 최근에, 클라이언트 장치의 렌더링 성능 등의 처리 능력에 의존함이 없이 사용자에 의해 플레이가능한 게임이 또한 제공되고 있다. 국제 공개 제2009/138878호에 기술된 게임에서, 서버는 클라이언트 장치에서 야기되는 조작의 정보를 획득하고, 이 정보를 사용하여 렌더링 처리를 실행하는 것에 의해 획득되는 게임 화면을 클라이언트 장치에 제공한다.
앞서 기술한 국제 공개 제2009/138878호는 서버가 클라이언트 장치에 제공될 게임 화면을 렌더링하고 렌더링된 게임 화면을 클라이언트 장치로 송신하는 것을 기술하고 있다. 즉, 클라이언트 장치는 서버에서 수행되는 렌더링 처리에 의해 생성되는 게임 화면을 수신하고 재생함으로써 게임 화면을 디스플레이할 수 있다. 그렇지만, 지금까지 복수의 장치들 간에 렌더링 처리를 공유하는 어떤 실용적인 방법도 개시되어 있지 않다.
본 발명은 상기한 종래의 문제들을 고려하여 이루어졌다. 본 발명은 복수의 장치들 간에 렌더링 처리를 공유함으로써 하나의 화면에 대한 렌더링 처리를 효율적으로 수행하는, 렌더링 시스템, 렌더링 서버, 그 제어 방법, 프로그램, 및 기록 매체를 제공한다.
본 발명은, 그의 제1 측면에서, 디스플레이 수단 상에 디스플레이될 화면의 렌더링 처리를 제1 장치와 제2 장치 사이에서 분담하여 수행하는 렌더링 시스템을 제공하고, 제1 장치는 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여, 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 일부 렌더링 객체들이 렌더링되는 제1 화면을 생성하는 제1 렌더링 수단; 제2 장치에 의해 생성되고, 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 일부 렌더링 객체들을 제외한, 렌더링 객체들이 렌더링되는 제2 화면을 수신하는 화면 수신 수단; 및 제1 렌더링 수단에 의해 생성되는 제1 화면과 화면 수신 수단에 의해 수신되는 제2 화면을 합성함으로써 디스플레이될 화면을 생성하는 합성 수단을 포함하고, 제2 장치는 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여 제2 화면을 생성하는 제2 렌더링 수단; 및 제2 렌더링 수단에 의해 생성된 제2 화면을 제1 장치로 송신하는 화면 송신 수단을 포함한다.
본 발명은, 그의 제2 측면에서, 클라이언트 장치에 연결되어 있는 디스플레이 수단 상에 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 일부 렌더링 객체들을 렌더링하는 렌더링 서버를 제공하고, 이 서버는 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위해 필요한 정보에 기초하여 일부 렌더링 객체들이 렌더링되는 제공 화면을 생성하는 렌더링 수단; 및 렌더링 수단에 의해 생성된 제공 화면을 클라이언트 장치로 송신하는 송신 수단을 포함한다.
본 발명의 추가적인 특징들은 첨부 도면들을 참조한 예시적인 실시예들에 대한 이하의 설명으로부터 명백하게 될 것이다.
도 1은 본 발명의 실시예에 따른 렌더링 시스템의 시스템 구성을 나타낸 도면.
도 2는 본 발명의 실시예에 따른 PC(100)의 기능 구성을 나타낸 블록도.
도 3은 본 발명의 실시예에 따른 렌더링 서버(200)의 기능 구성을 나타낸 블록도.
도 4는 본 발명의 실시예에 따른, 렌더링 서버(200)에 의해 수행되는 게임 처리를 예시한 플로우차트.
도 5는 본 발명의 실시예에 따른, 렌더링 서버(200)에 의해 수행되는 서버측 렌더링 처리를 예시한 플로우차트.
도 6은 본 발명의 실시예에 따른, PC(100)에 의해 수행되는 화면 생성 처리를 예시한 플로우차트.
도 7은 본 발명의 실시예에 따른, 배경 객체의 렌더링과 관련하여 배경 텍스처 및 배경 모델 사이의 관계를 설명하는 도면.
도 8은 본 발명의 실시예에 따른 배경 텍스처를 결정하는 표를 나타낸 도면.
도 9는 본 발명의 실시예에 따른 제2 화면에 대해 생성된 마스크 데이터를 설명하는 도면.
본 발명의 예시적인 실시예들에 대해 도면들을 참조하여 이하에서 상세히 기술할 것이다. 유의할 점은, 이후에 기술될 일 실시예가 본 발명이, 렌더링 시스템의 한 예로서, PC(100) 및 렌더링 서버(100)에 적용되는 한 예를 설명할 것이라는 것이다. 이 실시예에서, 렌더링 서버(200)에 의해 실행되는 게임 프로그램과 연관되어 있는 화면의 렌더링 처리가 화면에 포함되어 있는 렌더링 객체의 단위로 PC(100)와 렌더링 서버(200) 간에 분담된다. 그렇지만, 본 발명은 렌더링 처리를 복수의 장치들 간에 분담하는 동안 하나의 화면과 연관되어 있는 렌더링 처리를 수행할 수 있는 임의의 장치들 및 시스템에 적용가능하다.
<렌더링 시스템의 구성>
도 1은 본 발명의 실시예에 따른 렌더링 시스템의 시스템 구성을 나타낸 것이다.
도 1에 도시된 바와 같이, PC(100) 및 렌더링 서버(200)는 인터넷 등의 네트워크(300)를 통해 연결되어 있다. 이 실시예에서, 렌더링 서버(200)에 의해 실행되는 게임 프로그램에서, 게임 프로그램과 연관되어 있는 화면(게임 화면)에 관계된 렌더링 처리가 PC(100)와 렌더링 서버(200) 간에 분담되어 처리된다.
보다 구체적으로는, 하나의 화면에 대해, PC(100)는 네트워크(300)를 통해 렌더링 서버(200)로부터 화면의 렌더링된 콘텐츠를 결정하기 위해 필요한 정보를 수신하고, 화면에 포함되어 있는 렌더링 객체들 중 화면의 배경에 대응하는 배경 객체가 렌더링되는 제1 화면을 생성한다.
게임 화면 등의 3차원 화면에 대한 렌더링 처리에서, 카메라(시점)로부터 멀리 있는 풍경 등의 렌더링 객체들(예를 들어, 산, 구름 등)이 항상 개개의 3차원 모델들에 텍스처들을 적용하는 것에 의해 렌더링되는 것은 아니다. 실제로, 이들 렌더링 객체는, 예를 들어, 2차원 영상의 텍스처로서 준비되고 제시된다. 이것은 렌더링 처리의 계산량을 감소시키기 위한 것이다. 게다가, 이것은 3차원 모델들을 사용할 필요성이 낮은 것으로부터의 결과인데, 그 이유는 멀리 떨어져 있는 객체들이 3차원적으로 거의 인식되지 않기 때문이다. 즉, 멀리 있는 풍경 등의 배경은 렌더링 처리에서 간단한 3차원 모델에 배경의 텍스처만을 적용하는 것에 의해 표현될 수 있다. 따라서, 배경 객체에 대한 렌더링 처리는 높은 렌더링 성능을 필요로 하지 않는다. 즉, 배경 객체의 렌더링이 간단한 3차원 모델을 렌더링할 수 있는 일반적인 렌더링 성능을 가지는 GPU에 의해 수행될 수 있다. 이 때문에, 이 실시예의 렌더링 시스템에서, 배경 객체의 렌더링은 렌더링 서버(200)의 렌더링 성능보다 낮은 렌더링 성능의 GPU를 가지는 PC(100)에 할당된다.
렌더링 서버(200)는 화면에 포함되어 있는 것들 중 배경 객체 이외의 렌더링 객체들(전경 객체들)이 렌더링되는 제2 화면을 생성하고, 생성된 제2 화면을 네트워크(300)를 통해 PC(100)로 송신한다. 이어서, PC(100)는 수신된 제2 화면과 생성된 제1 화면을 합성함으로써 디스플레이될 게임 화면을 생성하고, 생성된 게임 화면을 연결된 디스플레이 장치로 출력한다.
앞서 기술된 바와 같이, 이 실시예의 렌더링 시스템에서, 하나의 화면의 렌더링 처리를 위해, 화면에 포함되어 있는 렌더링 객체들이 배경 객체들과 전경 객체들로 분류되고, 이들 각각에 대한 렌더링 처리가 2개의 장치들[PC(100)와 렌더링 서버(200)] 간에 분담된다. 각자의 장치들에 의해 렌더링되는 화면들이 합성되고, 이어서 모든 렌더링 객체들이 렌더링되어 있는 화면이 최종적으로 생성된다.
유의할 점은, 이 실시예에서, PC(100)가 렌더링 서버(200)에 연결되어 있는 클라이언트 장치로서 기술되어 있지만, 본 발명이 이러한 구체적인 실시예로 제한되지 않는다는 것이다. 예를 들어, 렌더링 서버(200)에 연결되어 있는 클라이언트 장치는 가정용 게임기, 휴대용 게임기, 휴대폰, PDA, 태블릿 등의 렌더링 처리 능력을 가지는 장치이다.
<PC(100)의 구성>
도 2는 본 발명의 실시예에 따른 PC(100)의 기능 구성을 나타낸 블록도이다.
CPU(101)는 PC(100)에 포함되어 있는 각자의 블록들의 동작들을 제어한다. 보다 구체적으로는, CPU(101)는, 예를 들어, ROM(102) 또는 기록 매체(106)에 기록되어 있는 화면 생성 처리 등의 동작 프로그램들을 판독하는 것, 판독된 프로그램을 RAM(103) 상으로 추출하는 것, 및 추출된 프로그램을 실행하는 것에 의해 각자의 블록들의 동작들을 제어한다.
ROM(102)은, 예를 들어, 재기입가능한 비휘발성 메모리이다. ROM(102)은, PC(100)에 포함되어 있는 각자의 블록들의 동작 프로그램들에 부가하여, 각자의 블록들의 동작들을 위해 필요한 상수들 등의 정보를 저장한다.
RAM(103)은 휘발성 메모리이다. RAM(103)은 동작 프로그램의 추출 영역으로서 뿐만 아니라, PC(100)에 포함되어 있는 각자의 블록들의 동작들 동안에 출력되는 중간 데이터 등을 일시적으로 저장하는 데 사용되는 저장 영역으로서도 사용된다.
GPU(104)는 (나중에 기술될) 디스플레이부(108) 상에 디스플레이될 게임 화면을 생성한다. 게임 화면의 렌더링 영역으로서의 비디오 메모리(VRAM)(105)가 GPU(104)에 연결되어 있다. 또한, GPU(104)는 GPU 메모리(도시 생략)를 가진다. CPU(101)로부터 렌더링 명령의 수신 시에, GPU(104)는 그 렌더링 명령과 연관되어 있는 렌더링 객체의 데이터를 획득하고, 획득된 데이터를 GPU 메모리에 저장한다. 이어서, GPU(104)는 렌더링 명령에 따라 렌더링 객체를 연결된 VRAM(105) 상에 렌더링한다. 이 실시예에서, GPU(104)는 디스플레이될 게임 화면에 포함되어 있는 렌더링 객체들 중 배경 객체만이 렌더링되는 제1 화면을 생성한다.
기록 매체(106)는, 예를 들어, PC(100)에 분리가능하게 연결되어 있는 HDD 또는 SSD 등의 기록 장치이다. 이 실시예에서, 기록 매체(106)가, 화면 생성 처리 등의 동작 프로그램들에 부가하여, 렌더링 서버(200)로부터의 게임 화면 상에 렌더링될 렌더링 객체들의 수신된 모델 데이터[또는 정점(vertex) 데이터 및 와이어 연결(wire connection) 데이터]를 기록하는 것으로 가정한다. 이 실시예에서, PC(100)는 디스플레이될 게임 화면에 포함되어 있는 렌더링 객체들 중 배경 객체를 렌더링한다. 이 실시예에서, 배경 객체는 원경 텍스처를 천구 모델(celestial sphere model)에 적용하는 것에 의해 렌더링된다. 이 때문에, 이 실시예의 기록 매체(106)는 렌더링 서버(200)로부터 수신되고 배경 객체의 렌더링 처리에서 사용되는 천구 모델을 기록한다.
유의할 점은, 이 실시예의 이하의 설명이 배경 객체의 렌더링에서 사용되는 천구 모델이 렌더링 서버(200)로부터 PC(100)로 배포된다는 가정 하에 주어질 것이라는 것이다. 그렇지만, 본 발명이 이것으로 제한되지 않는다. 즉, 배경 객체의 렌더링에서 사용되는 천구 모델의 데이터가 사전에 PC(100)에 기록되어 있을 수 있거나, PC(100)에서의 렌더링 처리에서 프리미티브 세트(primitive set)를 사용하여 각각의 프레임에 대해 생성될 수 있다. 이하의 설명이 배경 객체가 천구 모델에 배경 텍스처를 적용하는 것에 의해 렌더링된다는 가정 하에 주어질 것이다. 그렇지만, 천구 모델 이외의 모델이 배경 텍스처가 적용되는 모델로서 사용될 수 있다.
통신부(107)은 PC(100)에 포함되어 있는 통신 인터페이스이다. 통신부(107)은 네트워크(300)를 통해 연결되어 있는 다른 장치[렌더링 서버(200) 등]와 데이터 통신을 수행한다. PC(100)가 데이터를 송신할 때, 통신부(107)은 데이터를 그 자신과 네트워크(300) 또는 송신 목적지 장치 사이에 특정된 데이터 송신 형식으로 변환하고, 데이터를 송신 목적지 장치로 송신한다. 또한, PC(100)가 데이터를 수신할 때, 통신부(107)은 네트워크(300)를 통해 수신된 데이터를 PC(100)에 의해 판독될 수 있는 임의의 데이터 형식으로 변환하고, 변환된 데이터를, 예를 들어, RAM(103)에 저장한다.
유의할 점은, 이 실시예의 이하의 설명이 PC(100) 및 렌더링 서버(200)가 네트워크(300)를 통해 연결되어 있다는 가정 하에 주어질 것이라는 것이다. 그렇지만, 쉽게 예상되는 바와 같이, 예를 들어, PC(100) 및 렌더링 서버(200)가 케이블을 사용하여 직접 연결될 수 있다. 다른 대안으로서, PC(100) 및 렌더링 서버(200)는 다른 장치를 통해 연결될 수 있다.
디스플레이부(108)은, 예를 들어, PC(100)에 연결되어 있는 LCD 모니터 등의 디스플레이 장치이다. 디스플레이부(108)은 디스플레이 영역 상에 입력 게임 화면을 디스플레이하기 위한 컨트롤들을 디스플레이한다. 유의할 점은, 디스플레이부(108)이 랩톱 PC 등의 PC(100)에 내장되어 있는 디스플레이 장치일 수 있거나 케이블을 사용하여 PC(100)에 외부적으로 연결되어 있는 디스플레이 장치일 수 있다는 것이다.
조작 입력부(109)은, 예를 들어, PC(100)에 포함되어 있는 마우스, 키보드, 및 게임 패드 등의 사용자 인터페이스이다. 조작 입력부(109)은, 사용자가 사용자 인터페이스 상에서 조작을 했다는 것을 검출할 때, 그 조작에 대응하는 제어 신호를 CPU(101)로 출력한다.
<렌더링 서버(200)의 구성>
도 3은 본 발명의 실시예에 따른 렌더링 서버(200)의 기능 구성을 나타낸 블록도이다.
서버 CPU(201)는 렌더링 서버(200)에 포함되어 있는 각자의 블록들의 동작들을 제어한다. 보다 구체적으로는, 서버 CPU(201)는, 예를 들어, 서버 ROM(202) 또는 서버 기록 매체(206)에 기록되어 있는 게임 처리 및 서버측 렌더링 처리의 동작 프로그램들을 판독하는 것, 판독된 프로그램들을 서버 RAM(203) 상으로 추출하는 것, 및 추출된 프로그램들을 실행하는 것에 의해 각자의 블록들의 동작들을 제어한다.
서버 ROM(202)은, 예를 들어, 재기입가능한 비휘발성 메모리이다. 서버 ROM(202)은, 서버측 렌더링 처리 등의 동작 프로그램들에 부가하여, 렌더링 서버(200)에 포함되어 있는 각자의 블록들의 동작들을 위해 필요한 상수들 등의 정보를 저장한다.
서버 RAM(203)은 휘발성 메모리이다. 서버 AM(203)은 동작 프로그램들의 추출 영역으로서 뿐만 아니라, 렌더링 서버(200)에 포함되어 있는 각자의 블록들의 동작들 동안에 출력되는 중간 데이터 등을 일시적으로 저장하는 데 사용되는 저장 영역으로서도 사용된다.
서버 GPU(204)는, PC(100)의 디스플레이부(108) 상에 디스플레이될 게임 화면과 관련하여, 게임 화면에 포함되어 있는 것들의 배경 객체 이외의 렌더링 객체들이 렌더링되는 화면(제2 화면)을 생성한다. 서버 VRAM(205)은 서버 GPU(204)에 연결되어 있다. 서버 CPU(201)로부터 렌더링 명령의 수신 시에, 서버 GPU(204)는 그 렌더링 명령과 연관되어 있는 렌더링 객체들의 데이터를 획득하고, 획득된 데이터를 GPU 메모리에 저장한다. 서버 GPU(204)는, 연결된 서버 VRAM(205) 상에서 렌더링을 수행할 때, GPU 메모리 상에 렌더링 객체를 추출하고 추출된 렌더링 객체를 서버 VRAM(205) 상에 기입한다.
서버 기록 매체(206)는, 예를 들어, 렌더링 서버(200)에 분리가능하게 연결되어 있는 HDD 등의 기록 장치이다. 이 실시예에서, 서버 기록 매체(206)가 렌더링 처리에서 화면을 생성하기 위해 사용되는 모델 데이터, 광원 정보 등을 기록하는 것으로 가정한다. 유의할 점은, 서버 기록 매체(206)에 기록되어 있는 모델 데이터가 PC(100)의 기록 매체에 기록되어 있는 것과 동일하다는 것이다.
서버 통신부(207)은 렌더링 서버(200)에 포함되어 있는 통신 인터페이스이다. 이 실시예에서, 서버 통신부(207)은 네트워크(300)를 통해 연결되어 있는 다른 장치[PC(100) 등]와 데이터 통신을 수행한다. 유의할 점은, 서버 통신부(207)이 통신부(107)에서와 같이 통신 규격들에 따라 데이터 형식 변환을 수행한다는 것이다.
<게임 처리>
이 실시예의 렌더링 시스템의 앞서 언급한 구성을 가지는 렌더링 서버(200)에서 수행되는 기본적인 게임 처리가 도 4에 도시되어 있는 플로우차트를 참조하여 이하에서 상세히 기술될 것이다. 이 플로우차트에 대응하는 처리는 서버 CPU(201)가, 예를 들어, 서버 ROM(202)에 기록되어 있는 대응하는 처리 프로그램을 판독하고 판독된 프로그램을 서버 RAM(203) 상에 추출하며, 추출된 프로그램을 실행할 때 구현될 수 있다. 유의할 점은, 이하의 설명이, 예를 들어, 렌더링 서버(200)에 의해 제공되는 게임 콘텐츠에 대응하는 응용 프로그램이 PC(100) 상에서 수행되고, 사용자가 렌더링 서버(200)에 로그인할 때 이 게임 처리가 시작된다는 가정 하에 주어질 것이라는 것이다. 이 게임 처리는 게임의 각각의 프레임에 대해 반복적으로 수행된다.
유의할 점은, 이 실시예의 렌더링 서버(200)에 의해 제공되는 게임 콘텐츠가 게임 화면에 대응하는 카메라의 위치 및 방향을 나타내는 정보(카메라 파라미터들)를 사용하여 3차원 장면을 렌더링하는 것에 의해 게임 화면을 제공한다는 것이다. 이 실시예의 게임 콘텐츠와 연관되어 있는 3차원 장면에 포함되어 있는 렌더링 객체들이 배경 객체 및 전경 객체들로 분류될 수 있는 것으로 가정한다. 또한, 배경 객체가, 앞서 기술한 바와 같이, 간단한 3차원 모델에 배경 텍스처를 적용하는 것에 의해 렌더링될 수 있는 것으로 가정한다.
서버 CPU(201)는, 단계(S401)에서, 게임 화면을 규정하는 카메라의 위치 및 방향이 변경되었는지를 판정한다. 보다 구체적으로는, 서버 CPU(201)는 서버 통신부(207)이 카메라의 위치 및 방향을 변경하는 조작 입력 - 이 입력은 PC(100)에서 행해짐 - 의 정보를 수신하는지 여부를 판정한다. 서버 CPU(201)가 카메라의 위치 및 방향이 변경된 것으로 판정하는 경우, 서버 CPU(201)는 프로세스를 단계(S402)로 진행시키고; 그렇지 않은 경우, 서버 CPU(201)는 프로세스를 단계(S403)로 진행시킨다.
단계(S402)에서, 서버 CPU(201)는, 카메라의 위치 및 방향을 변경하는 조작 입력의 수신된 정보에 기초하여, 예를 들어, 서버 RAM(203)에 저장되어 있는 카메라의 위치 및 방향을 나타내는 정보(렌더링 카메라 파라미터들)를 갱신한다.
단계(S403)에서, 서버 CPU(201)는 렌더링될 게임 화면의 배경 텍스처를 특정한다. 앞서 기술된 바와 같이, 이 실시예의 렌더링 시스템에서, 배경 객체에 대한 렌더링 프로세스 및 전경 객체들에 대한 렌더링 프로세스가, 각각, PC(100)와 렌더링 서버(200) 간에 분담되어 수행된다. 이들 렌더링 프로세스 중에, PC(100)가 배경 객체의 렌더링 프로세스를 수행하는 데 할당되어 있기 때문에, 서버 CPU(201)는, 이 단계에서, PC(100)에서 배경 객체를 렌더링하는 데 사용되는 배경 텍스처를 특정한다.
(배경 텍스처 및 배경 모델)
이 실시예의 렌더링 시스템의 PC(100) 상에서 수행되는 배경 객체의 렌더링에서 사용되는 배경 텍스처 및 배경 모델 사이의 관계는 도면들을 참조하여 이하에서 기술될 것이다.
앞서 기술된 바와 같이, 3차원 장면의 렌더링 처리에서, 배경은 일반적으로 간단한 모델에 배경 텍스처를 적용함으로써 배경 객체로서 렌더링된다. 각각에 배경 텍스처가 적용되어야 하는 모델들이 다양한 형상을 갖지만, 이 실시예에서는, 도 7에 도시되어 있는 바와 같이, 시점인 카메라(701)의 위치에 중심이 있는 천구 모델(700)이 사용된다. 천구 모델에 적용되는 배경 텍스처는 360도에 걸친 주변 전체를 표현하는 텍스처이다. 예를 들어, 조작될 캐릭터의 위치 및 방향에 기초하여 카메라 위치가 결정될 때, 텍스처는 조작될 캐릭터 주위의 전체 배경을 포함한다. 따라서, 카메라의 방향이 결정될 때, 이 방향에 따른 주변 전체 배경 텍스처의 영역에 대응하는 영상(702)이 화면 상에 배경으로서 렌더링된다. 이 경우에, 천구가, 예를 들어, 천구 모델의 중심에 위치한 카메라로부터 볼 때 건물의 실루엣 및 산의 능선을 정확히 표현하도록, 배경 텍스처에 포함되어 있는 풍경 영상 등이 천구의 반경에 따라 왜곡된다.
유의할 점은, 주변 전체 배경 텍스처가 카메라에 중심이 있는 천구 모델에 적용되기 때문에, 카메라의 회전만이 있을 때에는, CPU(101)는 배경 텍스처를 갱신할 필요가 없다. 또한, 원경이 배경으로서 표현될 때, 조작될 캐릭터의 움직임에 대응하여 카메라의 위치 및 방향을 변경하더라도 CPU(101)는 배경 텍스처를 갱신할 필요가 없다. 즉, 카메라의 이동 거리가 카메라와 배경으로 표현된 위치 사이의 거리에 대해 아주 작기 때문에, CPU(101)는 배경의 시야의 변화 없음을 표현하기 위해 배경 텍스처를 갱신할 필요가 없다. 실제로, 카메라 위치가 특정의 필드에 포함되어 있는 동안, 동일한 배경 텍스처가 항상 배경 객체에 적용될 수 있다.
한편, 다음과 같은 경우에 배경 텍스처가 변경된다. 예를 들어, 게임 콘텐츠에서 시간의 경과가 표현될 때, 배경 텍스처가, 예를 들어, 콘텐츠에서 표현되는 시간대(오전, 주간, 야간 등; 예를 들어, 1시간의 실제 시간이 콘텐츠에서 하루로서 할당되는 경우, 시간대는 1시간의 실제 시간을 3등분함으로써 정의되는 각각의 기간을 각각 할당받음)에 따라 변경될 수 있다. 또한, 카메라가 표현될 풍경이 (예를 들어, 산에서 숲으로) 변하는 필드들 사이에서 이동될 때, 배경 콘텐츠가 변경될 수 있다. 게다가, 카메라와 배경으로서 표현되는 위치 사이의 거리가 미리결정된 거리(예를 들어, 중간 거리)보다 크지 않은 필드에서, (예를 들어, 카메라의 이동량이 미리결정된 값보다 작지 않을 때) 카메라의 이동에 대응하여 배경 텍스처가 갱신될 수 있다.
이러한 방식으로, 이 단계에서, 서버 CPU(201)는 렌더링 카메라 파라미터들에 따라 PC(100)에서 배경 객체의 렌더링을 위해 사용되는 배경 텍스처를 특정한다. 보다 구체적으로는, 서버 CPU(201)는, 예를 들어, 서버 기록 매체(206)에 저장되어 있는 배경 텍스처 결정 테이블을 참조하고, 카메라 파라미터들에 따라 배경 텍스처의 정보를 획득한다. 배경 텍스처 결정 테이블은, 예를 들어, 도 8에 도시되어 있는 것과 같다.
도 8에 도시된 바와 같이, 배경 텍스처 결정 테이블은 다음과 같은 파라미터들을 저장한다:
Figure 112014053070116-pct00001
텍스처 ID;
Figure 112014053070116-pct00002
카메라가 위치해 있는 필드;
Figure 112014053070116-pct00003
콘텐츠 기반 시간대; 및
Figure 112014053070116-pct00004
텍스처 저장 위치.
서버 CPU(201)는 서버 RAM(203)에 저장되어 있는 렌더링 카메라 파라미터들을 판독하고, 카메라 위치의 정보에 따라 카메라를 포함하는 필드를 특정한다. 서버 CPU(201)는 현재의 콘텐츠 기반 시간대를 참조하고, 배경 텍스처 결정 테이블로부터 PC(100)에서 배경 객체의 렌더링을 위해 사용되는 배경 텍스처를 특정한다.
유의할 점은, 이 실시예의 이하의 설명이 배경 객체의 렌더링된 콘텐츠가 간단함을 위해 배경 텍스처만을 변경하는 것에 의해 변경된다는 가정 하에서 주어질 것이라는 것이다. 그렇지만, 카메라와 배경으로서 표현되는 위치 사이의 거리의 변화가 배경 텍스처를 변경함이 없이 표현될 수 있다. 예를 들어, 배경과 카메라 사이의 거리 변화가 배경 텍스처가 적용되는 천구 모델의 반경을 변경함으로써 표현될 수 있다. 보다 구체적으로는, 배경에의 접근을 표현하기 위해, 렌더링될 화면에 포함되는 배경의 영상을 확대하도록 천구 모델의 반경이 증가된다.
단계(S404)에서, 서버 CPU(201)는 단계(S403)에서 특정된 배경 텍스처, 배경 텍스처가 적용되는 3차원 모델로서의 천구 모델, 및 렌더링 카메라 파라미터들을 PC(100)로 송신한다. 보다 구체적으로는, 서버 CPU(201)는 서버 RAM(203) 또는 서버 기록 매체(206)로부터 이들 정보를 판독하고, 이들 정보를 서버 통신부(207)으로 송신하며, 이들 정보를 PC(100)로 송신하도록 서버 통신부(207)을 제어한다.
유의할 점은, 앞서 기술한 바와 같이, 렌더링 카메라 파라미터들 중의 카메라 위치가 미리결정된 필드 내에 위치해 있을 때 렌더링될 게임 화면의 배경 텍스처가 변하지 않는다는 것이다. 따라서, 이 단계에서, 렌더링 카메라 파라미터들만이 송신될 수 있다. 즉, 각각의 프레임에 대해 배경 텍스처 및 천구 모델이 송신될 필요가 없다. 예를 들어, 카메라 위치가 배경 텍스처가 변경되어야 하는 필드 내로 이동될 때 또는 카메라 위치의 변화량이 미리결정된 양보다 작지 않을 때, 배경 텍스처 및 천구 모델이 송신될 수 있다. 다른 대안으로서, 배경 텍스처 및 천구 모델이 미리결정된 프레임 간격으로 송신될 수 있다.
단계(S405)에서, 서버 CPU(201)는 서버 RAM(203)에 저장되어 있는 렌더링 카메라 파라미터들에 따라 게임 화면에 포함되어 있는 렌더링 객체들 중 배경 객체 이외의 전경 객체들이 렌더링되는 제2 화면을 생성하기 위한 서버측 렌더링 처리를 수행한다.
(서버측 렌더링 처리)
이 실시예의 렌더링 서버(200)에 의해 실행되는 서버측 렌더링 처리가 도 5에 도시되어 있는 플로우차트를 참조하여 이하에서 상세히 기술될 것이다.
단계(S501)에서, 서버 CPU(201)는 렌더링될 게임 화면에 포함되어 있는 렌더링 객체들(전경 객체들)을 특정한다. 보다 구체적으로는, 서버 CPU(201)는 서버 RAM(203)으로부터 렌더링 카메라 파라미터들을 판독하고, 렌더링 카메라 파라미터들에 의해 정의되는 세계에서의 렌더링 범위의 정보를 참조한다. 이어서, 서버 CPU(201)는, 예를 들어, 레이아웃 위치들의 정보, 세계에 분포되어 있는 렌더링 객체들에 기초하여, 렌더링 범위에 포함되어 있는 렌더링 객체들을 특정한다.
유의할 점은, 세계에 분포되어 있는 렌더링 객체들의 레이아웃 위치들이, PC(100)에서 조작될 캐릭터의 이동 명령 등의 시간 변화에 의존하여, 각각의 프레임에 대해 변경될 수 있다는 것이다. 즉, 이 단계에서, 서버 CPU(201)가 각각의 프레임에 대한 렌더링 객체들의 레이아웃 위치들의 정보를 갱신하고 이어서 게임 화면에 포함되는 렌더링 객체들을 특정하는 것으로 가정한다.
단계(S502)에서, 서버 CPU(201)는 사전 정의된 렌더링 순서 결정 방법에 의해 결정되는 렌더링 순서에 따라 렌더링될 렌더링 객체를 선택한다. 이어서, 서버 CPU(201)는 그 렌더링 객체에 관한 렌더링 명령을 서버 GPU(204)로 송신한다. 또한, 서버 CPU(201)는 서버 기록 매체(206)로부터 렌더링 객체의 모델 데이터(또는 정점 데이터 및 와이어 연결 데이터), 텍스처 데이터, 게임 화면에서의 광원 데이터, 및 렌더링 객체의 위치/회전 정보 파라미터들을 판독하고, 이들을 서버 GPU(204)로 송신한다.
단계(S503)에서, 서버 GPU(204)는 GPU 메모리에 저장되어 있는 모델 데이터를, 서버 CPU(201)의 제어 하에서, 선택된 렌더링 객체의 위치/회전 정보 파라미터들에 따라 이동시키고 회전시킨다. 보다 구체적으로는, 서버 GPU(204)는 선택된 렌더링 객체의 각자의 정점들에 대한 위치/회전 정보 파라미터들에 대응하는 공간 좌표들을 정의한다.
단계(S504)에서, 서버 GPU(204)는, 서버 CPU(201)의 제어 하에서 GPU 메모리에 저장되어 있는 텍스처 데이터를 사용하여, 단계(S503)에서 이동되고 회전된 모델 데이터의 각자의 폴리곤들에 텍스처 매핑을 적용한다.
단계(S505)에서, 서버 GPU(204)는 단계(S504)에서 텍스처 매핑을 적용한 렌더링 객체의 모델에 광원 데이터를 고려하는 음영 처리를 적용하고, 그 모델을 서버 CPU(201)의 제어 하에서 서버 VRAM(205)의 프레임 버퍼 상에서 렌더링한다.
서버 CPU(201)는, 단계(S506)에서, 렌더링 범위에 포함되어 있는 모든 전경 객체들의 서버 GPU(204)에 의한 서버 VRAM(205) 상으로의 렌더링이 완료되었는지 여부를 판정한다. 서버 CPU(201)가 서버 VRAM(205) 상으로의 모든 렌더링 객체들의 렌더링이 완료된 것으로 판정하는 경우, 서버 CPU(201)는 프로세스를 단계(S507)로 진행시키고; 그렇지 않은 경우, 서버 CPU(201)는 프로세스를 단계(S502)로 되돌아가게 한다.
단계(S507)에서, 서버 GPU(204)는, 서버 CPU(201)의 제어 하에서, 생성된 제2 화면에 대응하는 마스크 데이터(mask data)를 생성한다. 보다 구체적으로는, 도 9에 도시된 바와 같이, 단계(S506)까지의 앞서 언급한 프로세스들에 의해 서버 VRAM(205) 상에 렌더링되는 제2 화면(900) 상에 어떤 배경 객체도 렌더링되지 않기 때문에, 화면 내의 픽셀들은 렌더링되지 않은 픽셀들(901)을 포함한다. 이 실시예에서, PC(100)가 화면 생성 처리(나중에 기술됨)를 수행할 때 배경 객체를 렌더링하는 것에 의해 획득된 제1 화면과 제2 화면을 합성함으로써, PC(100)에서 디스플레이 장치 상에 최종적으로 디스플레이될 게임 화면이 생성된다. 이 경우에, 제2 화면 상에 렌더링된 전경 객체들은 배경 객체가 렌더링되는 제1 화면 상에 오버레이된다.
이 때문에, 이 실시예에서, 렌더링 서버(200)는 제2 화면 상에서 어떤 전경 객체들도 렌더링되지 않는 픽셀들을 PC(100)에 알려주기 위해, 도 9에 도시된 바와 같이, 제2 화면의 마스크 데이터(910)를 생성하여 PC(100)로 송신한다. 마스크 데이터에서, 픽셀 값들은 합성을 위한 제2 영상의 불투명도 값(알파 값)을 나타낸다. 예를 들어, 각각의 픽셀의 픽셀 값은 0부터 1까지의 범위로 정규화된다. 즉, 전경 객체들의 렌더링 처리에서 어떤 전경 객체도 렌더링되지 않는 픽셀들(901)의 위치들에 있는 픽셀 값들은 "0"이다. 그리고, 임의의 전경 객체가 렌더링되는 픽셀들(902)의 위치들에 있는 픽셀 값들은 "1"이다. 유의할 점은, 전경 객체들이 반투명 객체를 포함할 때, 각자의 픽셀들에 대해 설정된 알파 값들을 참조하여 마스크 데이터가 생성될 수 있다는 것이다.
이러한 방식으로, 이 실시예의 서버측 렌더링 처리를 수행할 때, 렌더링 서버(200)는 PC(100)에 제공될 게임 화면에 포함되는 렌더링 객체들 중에서 배경 객체를 제외한 전경 객체들이 렌더링되는 제2 화면을 생성한다. 그렇지만, 제공될 게임 콘텐츠에 따라, 앞서 기술한 바와 같이, 전경 객체들로서 렌더링되는 렌더링 객체들에 대해, 일반적으로 모델 데이터의 이동 또는 회전 처리, 및 텍스처링 및 음영 처리의 적용 등의 과중한 계산 부하 처리를 수행하는 것이 요구된다. 렌더링 서버(200)에서 전경 객체들의 이들 렌더링 프로세스를 수행함으로써, 이 실시예의 렌더링 시스템은 PC(100)와 렌더링 서버(200) 사이의 렌더링 프로세스들의 부하 분산을 달성한다.
마스크 데이터의 생성의 완료 시에, 서버 CPU(201)는 서버측 렌더링 처리를 종료하고, 프로세스를 게임 처리로 되돌아가게 한다.
단계(S406)에서, 서버 CPU(201)는 제2 화면 및 제2 화면에 대응하는 마스크 데이터를 PC(100)로 송신한다. 보다 구체적으로는, 서버 CPU(201)는 서버 VRAM(205)으로부터 제2 화면 및 마스크 데이터를 판독하고, 이들을 서버 통신부(207)으로 송신하며, 제2 화면 및 마스크 데이터를 PC(100)로 송신하도록 서버 통신부(207)을 제어한다. 송신 후에, 서버 CPU(201)는 현재 프레임과 연관되어 있는 게임 처리를 종료한다.
<화면 생성 처리>
게임 화면을 생성하는 화면 생성 처리 - 이 처리는 이 실시예의 PC(100)에 의해 수행됨 - 가 도 6에 도시되어 있는 플로우차트를 참조하여 이하에서 실제적으로 기술될 것이다. 이 플로우차트에 대응하는 처리는 CPU(101)가, 예를 들어, 기록 매체(106)에 기록되어 있는 대응하는 처리 프로그램을 판독하고 판독된 프로그램을 RAM(103) 상에 추출하며, 추출된 프로그램을 실행할 때 구현될 수 있다. 유의할 점은, 이하의 설명이 사용자가 PC(100)에서 렌더링 서버(200)에 의해 제공되는 게임 콘텐츠에 대응하는 응용 프로그램의 실행 명령을 입력할 때 이 화면 생성 처리가 시작된다는 가정 하에 제공될 것이라는 것이다.
CPU(101)는, 단계(S601)에서, 렌더링될 제1 화면(배경 객체가 렌더링되는 화면)을 생성하기 위해 사용되고 렌더링된 콘텐츠를 결정하기 위해 필요한 정보에 대응하는 렌더링 카메라 파라미터들이 렌더링 서버(200)로부터 수신되었는지 여부를 판정한다. 보다 구체적으로는, CPU(101)는 통신부(107)이 현재 프레임의 렌더링 카메라 파라미터들을 렌더링 서버(200)로부터 수신하는지 여부를 판정한다. CPU(101)는, 렌더링 카메라 파라미터들이 수신되는 것으로 판정하는 경우, 렌더링 카메라 파라미터들을 RAM(103)에 저장하고, 이어서 프로세스를 단계(S602)로 진행시킨다. 한편, CPU(101)는, 렌더링 카메라 파라미터들이 수신되지 않는 것으로 판정하는 경우, 이 단계의 프로세스를 반복한다.
CPU(101)는, 단계(S602)에서, 배경 텍스처들 및 천구 모델 중 적어도 하나가 렌더링 카메라 파라미터들과 함께 수신되는지 여부를 판정한다. CPU(101)는, 배경 텍스처들 및 천구 모델 중 적어도 하나가 수신되는 것으로 판정하는 경우, 프로세스를 단계(S603)로 진행시키고; 그렇지 않은 경우, 프로세스를 단계(S604)로 진행시킨다.
단계(S603)에서, CPU(101)는, 새로 수신된 배경 텍스처 및 천구 모델 중 적어도 하나를 사용하여, RAM(103)에 저장되어 있는 이미 수신된 대응하는 데이터를 갱신하고, 갱신된 데이터를 저장한다.
단계(S604)에서, CPU(101)는 RAM(103)에 저장되어 있는 렌더링 카메라 파라미터들, 배경 텍스처, 및 천구 모델을 사용하여 제1 화면을 렌더링한다. 보다 구체적으로는, CPU(101)는 천구 모델 및 배경 텍스처를 RAM(103)으로부터 판독하고, 이들을 GPU(104)로 송신한다. GPU(104)는 배경 텍스처를 천구 모델에 적용하고, 화면에 포함되어 있는 범위를 렌더링 카메라 파라미터들에 따라 제1 화면으로서 VRAM(105) 상에 렌더링한다.
CPU(101)는, 단계(S605)에서, 제2 화면 및 제2 화면의 마스크 데이터가 렌더링 서버(200)로부터 수신되는지 여부를 판정한다. CPU(101)는, 제2 화면 및 마스크 데이터가 수신되는 것으로 판정하는 경우, 데이터를 RAM(103)에 저장하고, 이어서 프로세스를 단계(S606)로 진행시킨다. CPU(101)는, 제2 화면 및 마스크 데이터가 수신되지 않는 것으로 판정하는 경우, 이 단계의 프로세스를 반복한다.
단계(S606)에서, CPU(101)는 디스플레이부(108) 상에 디스플레이될 최종 게임 화면을, 예를 들어, VRAM(105) 상에 생성하기 위해 제1 화면과 제2 화면을 합성한다. 보다 구체적으로는, CPU(101)는 제2 화면의 데이터 및 마스크 데이터를 RAM(103)으로부터 판독하고, 이들을 GPU(104)로 송신한다. 이어서, 예를 들어, GPU(104)는 마스크 데이터를 참조하여 VRAM(105) 상에서 제2 화면을 제1 화면 상에 오버레이시킴으로써 게임 화면을 생성한다.
단계(S607)에서, CPU(101)는 단계(S606)에서 생성된 최종 게임 화면을 디스플레이부(108)으로 송신하고, 이를 디스플레이 화면 상에 디스플레이하도록 디스플레이부(108)을 제어한다.
앞서 기술된 바와 같이, 이 실시예의 렌더링 시스템은, 게임 화면의 렌더링 처리를 배경 객체만이 렌더링되는 제1 화면의 렌더링 처리와 배경 객체 이외의 렌더링 객체들이 렌더링되는 제2 화면의 렌더링 처리로 분담하면서, 게임 화면을 생성할 수 있다. 즉, 렌더링 처리에서, 게임 화면이 개별적으로 생성될 수 있다 - 복잡한 3차원 모델 및 조명 계산(이는 높은 렌더링 성능을 요구함)이 필요한 제2 화면 및 배경 텍스처가 간단한 3차원 모델에 적용되는 제1 화면 -. 즉, 렌더링 처리에서, 높은 렌더링 성능이 요구되는 제2 화면의 생성은 렌더링 서버에 할당되고, 따라서 클라이언트 장치의 렌더링 성능과 무관하게 고품질 게임 화면을 제공한다.
유의할 점은, 이 실시예가 게임 화면의 렌더링 프로세스가, 렌더링 객체가 배경 객체인지 여부에 따라, 렌더링 객체의 단위로 PC(100)와 렌더링 서버(200) 간에 분담되어 수행되는 것을 설명하였다는 것이다. 그렇지만, 본 발명이 이러한 구체적인 실시예로 제한되지 않는다. 본 발명은 게임 화면에 포함되어 있는 렌더링 객체들의 단위로 게임 화면의 렌더링 프로세스를 분담하여 수행함으로써 그리고 간단한 합성 처리에 의해 복수의 획득된 화면들을 합성함으로써 게임 화면을 생성할 수 있는 렌더링 시스템에 적용가능하다.
게임 화면에 포함되어 있는 렌더링 객체들이, 이 실시예에서와 같이, 렌더링 객체가 배경 객체인지 여부에 따라 분류될 때, 배경 객체는 전경 객체들의 렌더링 처리에서 숨겨진 표면 처리(hidden-surface processing)에 영향을 미치지 않는다. 즉, 전경 객체들의 모든 렌더링 객체들이 배경 객체의 전방에 존재하기 때문에, 전경 객체의 렌더링 처리는 배경 객체와의 깊이 순서에 의해 야기되는 어떤 폐색(occlusion)도 고려할 필요가 없다. 이 때문에, 배경 객체를 렌더링함으로써 획득되는 제1 화면 및 전경 객체들을 렌더링함으로써 획득되는 제2 화면은 렌더링될 렌더링 객체들에 대한 깊이 순서를 유지한다. 즉, 2개의 화면을 간단히 오버레이시킴으로써, 모든 렌더링 객체들이 동시에 렌더링될 때 획득되는 것과 동등한 게임 화면이 생성될 수 있다.
한편, 예를 들어, 제2 화면에 포함되어 있는 렌더링 객체가 제1 화면에 포함되어 있는 것보다 카메라에 더 가까운 위치에 있을 때, 제1 화면과 제2 화면을 합성하기 위해 각자의 픽셀들의 깊이 값들이 고려되어야만 한다. 즉, 게임 화면의 생성 시에 각자의 픽셀들의 깊이 값들이 비교될 필요가 있기 때문에, PC(100)에서의 화면 합성 처리에 필요한 처리 시간이 원치 않게도 길어진다. 이 실시예의 렌더링 시스템에서, 또한 이러한 합성 처리에서의 계산량 감소를 달성하기 위해, 렌더링 처리를 수행할 시에 렌더링 객체가 배경 객체인지 여부에 따라, 게임 화면에 포함되어 있는 렌더링 객체들이 분류된다.
앞서 기술된 바와 같이, 본 발명은, 제1 화면의 렌더링 처리가 제2 화면에 포함되어 있는 렌더링 객체들의 어떤 숨겨진 표면 처리도 고려하지 않도록, 게임 화면에 포함되어 있는 렌더링 객체들이 분류되어 렌더링되는 경우에 적용가능하다. 즉, 본 발명은 배경 객체로 제한되지 않으며, 어떤 숨겨진 표면 처리도 필요로 하지 않도록 렌더링 객체들이 카메라와의 거리에 따라 분류되고, 복수의 장치들이 분류된 렌더링 객체들을 각각 렌더링할 때는 얻어지는 화면들이 하나의 화면을 생성하기 위해 합성되는 경우에 적용가능하다. 이 경우에, 낮은 렌더링 성능의 GPU를 가지는 장치의 렌더링 처리 능력에 따라, 분류될 렌더링 객체들의 수가 증가/감소될 수 있다.
앞서 기술된 바와 같이, 본 발명의 렌더링 시스템은 렌더링 처리를 복수의 장치들 간에 분담하면서 하나의 화면에 대한 렌더링 처리를 효율적으로 수행할 수 있다. 보다 구체적으로는, 렌더링 시스템은 그 처리를 제1 장치와 제2 장치 간에 분담하면서 디스플레이될 화면의 렌더링 처리를 수행한다. 제1 장치는, 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여, 화면 상에 렌더링될 렌더링 객체들 중 일부가 렌더링되는 제1 화면을 생성한다. 제2 장치는, 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 일부 렌더링 객체들을 제외한, 렌더링 객체들이 렌더링되는 제2 화면을 생성한다. 제1 장치는 제2 장치로부터 제2 화면을 수신하고, 제1 화면과 제2 화면을 합성하며, 그로써 디스플레이될 화면을 생성한다.
앞서 기술된 바와 같이, 하나의 화면의 렌더링 처리가 복수의 장치들에 의해 렌더링 객체들의 단위로 개별적으로 수행될 수 있기 때문에, 클라이언트 장치의 렌더링 성능과 무관하게, 안정된 품질을 갖는 게임 화면이 제공될 수 있다.
다른 실시예들
본 발명이 예시적인 실시예들을 참조하여 기술되어 있지만, 본 발명이 개시된 예시적인 실시예들로 제한되지 않는다는 것을 잘 알 것이다. 이하의 특허청구범위의 범주가 모든 이러한 수정들 및 등가 구조들 및 기능들을 포함하도록 최광의의 해석을 부여받아야 한다.
이 출원은 미국 가특허 출원 제61/556,375호(2011년 11월 7일자로 출원됨) 및 일본 특허 출원 제2012-197875호(2012년 9월 7일자로 출원됨)에 기초하여 우선권을 주장하며, 이들 출원은 참조 문헌으로서 그 전체가 본 명세서에 포함된다.

Claims (21)

  1. 디스플레이 수단 상에 디스플레이될 화면의 렌더링 처리를 제1 장치와 제2 장치 사이에서 분담하여 수행하는 렌더링 시스템에 있어서,
    상기 제1 장치는,
    상기 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여, 상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 제1 유형으로 분류되는 렌더링 객체들이 렌더링되는 제1 화면을 생성하는 제1 렌더링 수단;
    상기 제2 장치에 의해 생성되고, 상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 상기 제1 유형의 렌더링 객체들을 제외한 것이며 제2 유형으로 분류되는 렌더링 객체들이 렌더링되는 제2 화면을 수신하는 화면 수신 수단; 및
    상기 제1 렌더링 수단에 의해 생성되는 상기 제1 화면과 상기 화면 수신 수단에 의해 수신되는 상기 제2 화면을 합성함으로써 상기 디스플레이될 화면을 생성하는 합성 수단
    을 포함하고,
    상기 제2 장치는,
    상기 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여 상기 제2 화면을 생성하는 제2 렌더링 수단; 및
    상기 제2 렌더링 수단에 의해 생성된 상기 제2 화면을 상기 제1 장치로 송신하는 화면 송신 수단
    을 포함하고,
    상기 제2 유형의 렌더링 객체들은 렌더링을 위해 상기 제1 유형의 렌더링 객체들에 기초한 어떤 숨겨진 표면 처리(hidden-surface processing)도 필요로 하지 않는 것인 렌더링 시스템.
  2. 제1항에 있어서, 상기 제2 렌더링 수단은 상기 제1 렌더링 수단의 렌더링 결과에 관계없이 렌더링 처리를 수행하는 것인 렌더링 시스템.
  3. 제1항 또는 제2항에 있어서, 상기 제2 렌더링 수단은 상기 제2 화면과 함께 상기 제2 유형의 렌더링 객체들에 대한 마스크 데이터를 생성하고,
    상기 화면 송신 수단은 상기 제2 화면 및 상기 마스크 데이터를 상기 제1 장치로 송신하며,
    상기 합성 수단은 상기 마스크 데이터를 참조하여 상기 제2 화면을 상기 제1 화면 상에 오버레이(overlay)시키는 것인 렌더링 시스템.
  4. 제1항에 있어서, 상기 제2 장치는,
    상기 렌더링된 콘텐츠를 결정하기 위한 정보를 획득하는 획득 수단; 및
    상기 획득 수단에 의해 획득된 상기 렌더링된 콘텐츠를 결정하기 위한 정보를 상기 제1 장치로 송신하는 송신 수단을 더 포함하고,
    상기 제1 렌더링 수단은 상기 제2 장치로부터 수신된 상기 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여 상기 제1 화면을 생성하는 것인 렌더링 시스템.
  5. 제1항에 있어서, 상기 제1 유형의 렌더링 객체들은 상기 디스플레이될 화면 상의 배경 객체인 것인 렌더링 시스템.
  6. 제5항에 있어서, 상기 제2 장치는 상기 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여, 상기 배경 객체의 텍스처 데이터를 상기 제1 장치로 송신하는 파트 송신 수단(parts transmission means)을 더 포함하고,
    상기 제1 렌더링 수단은 상기 제2 장치로부터 수신된 상기 배경 객체의 텍스처 데이터 및 상기 배경 객체의 모델 데이터를 사용하여 상기 제1 화면을 렌더링하는 것인 렌더링 시스템.
  7. 제6항에 있어서, 상기 배경 객체의 모델 데이터는 천구(celestial sphere) 모델인 것인 렌더링 시스템.
  8. 제6항 또는 제7항에 있어서, 상기 파트 송신 수단은, 상기 렌더링된 콘텐츠를 결정하기 위한 정보가 미리결정된 조건을 충족시킬 때, 상기 배경 객체의 텍스처 데이터를 송신하는 것인 렌더링 시스템.
  9. 제1항에 있어서, 상기 렌더링된 콘텐츠를 결정하기 위한 정보는 상기 디스플레이될 화면을 정의하는 카메라의 위치 및 방향을 나타내는 정보인 것인 렌더링 시스템.
  10. 클라이언트 장치에 연결되어 있는 디스플레이 수단 상에 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 제2 유형으로 분류되는 렌더링 객체들을 렌더링하는 렌더링 서버에 있어서,
    상기 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위해 필요한 정보에 기초하여 상기 제2 유형의 렌더링 객체들이 렌더링되는 제공 화면을 생성하는 렌더링 수단; 및
    상기 렌더링 수단에 의해 생성된 상기 제공 화면을 상기 클라이언트 장치로 송신하는 송신 수단
    을 포함하고,
    상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들은 상기 제2 유형과는 상이한 제1 유형으로 분류되는 렌더링 객체들을 포함하고,
    상기 제1 유형의 렌더링 객체들에 대한 렌더링 처리는 상기 클라이언트 장치 상에서 수행되고,
    상기 제2 유형의 렌더링 객체들은 렌더링을 위해 상기 제1 유형의 렌더링 객체들에 기초한 어떤 숨겨진 표면 처리도 필요로 하지 않는 것인 렌더링 서버.
  11. 제10항에 있어서, 상기 렌더링 수단은 상기 제1 유형의 렌더링 객체들에 대한 렌더링 처리의 렌더링 결과에 관계없이 렌더링 처리를 수행하는 것인 렌더링 서버.
  12. 제10항 또는 제11항에 있어서, 상기 렌더링 수단은 상기 제공 화면과 함께 상기 제2 유형의 렌더링 객체들에 대한 마스크 데이터를 생성하고,
    상기 송신 수단은 상기 제공 화면 및 상기 마스크 데이터를 상기 클라이언트 장치로 송신하는 것인 렌더링 서버.
  13. 제10항에 있어서, 상기 렌더링된 콘텐츠를 결정하기 위한 정보를 획득하는 획득 수단; 및
    상기 획득 수단에 의해 획득된 상기 렌더링된 콘텐츠를 결정하기 위한 정보를 상기 클라이언트 장치로 송신하는 정보 송신 수단을 더 포함하는 렌더링 서버.
  14. 제10항에 있어서, 상기 제1 유형의 객체들은 상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들로부터 배경 객체를 제외한 렌더링 객체들인 것인 렌더링 서버.
  15. 제14항에 있어서, 상기 렌더링된 콘텐츠를 결정하기 위한 정보에 기초하여, 상기 배경 객체의 텍스처 데이터를 상기 클라이언트 장치로 송신하는 파트 송신 수단을 더 포함하는 렌더링 서버.
  16. 제15항에 있어서, 상기 파트 송신 수단은, 상기 렌더링된 콘텐츠를 결정하기 위한 정보가 미리결정된 조건을 충족시킬 때, 상기 배경 객체의 텍스처 데이터를 송신하는 것인 렌더링 서버.
  17. 제10항에 있어서, 상기 렌더링된 콘텐츠를 결정하기 위한 정보는 상기 디스플레이될 화면을 정의하는 카메라의 위치 및 방향을 나타내는 정보인 것인 렌더링 서버.
  18. 클라이언트 장치에 연결되어 있는 디스플레이 수단 상에 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 제2 유형으로 분류되는 렌더링 객체들을 렌더링하는 렌더링 서버의 제어 방법에 있어서,
    상기 렌더링 서버의 렌더링 수단이, 상기 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위해 필요한 정보에 기초하여 상기 제2 유형의 렌더링 객체들이 렌더링되는 제공 화면을 생성하는 렌더링 단계; 및
    상기 렌더링 서버의 송신 수단이 상기 렌더링 단계에서 생성된 상기 제공 화면을 상기 클라이언트 장치로 송신하는 송신 단계
    를 포함하고,
    상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들은 상기 제2 유형과는 상이한 제1 유형으로 분류되는 렌더링 객체들을 포함하고,
    상기 제1 유형의 렌더링 객체들에 대한 렌더링 처리는 상기 클라이언트 장치 상에서 수행되고,
    상기 제2 유형의 렌더링 객체들은 렌더링을 위해 상기 제1 유형의 렌더링 객체들에 기초한 어떤 숨겨진 표면 처리도 필요로 하지 않는 것인 렌더링 서버 제어 방법.
  19. 클라이언트 장치에 연결되어 있는 디스플레이 수단 상에 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 제2 유형으로 분류되는 렌더링 객체들을 렌더링하는 렌더링 서버의 제어 방법을 수행하도록 컴퓨터를 제어하는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체에 있어서, 상기 제어 방법은,
    상기 렌더링 서버의 렌더링 수단이, 상기 디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위해 필요한 정보에 기초하여 상기 제2 유형의 렌더링 객체들이 렌더링되는 제공 화면을 생성하는 렌더링 단계; 및
    상기 렌더링 서버의 송신 수단이 상기 렌더링 단계에서 생성된 상기 제공 화면을 상기 클라이언트 장치로 송신하는 송신 단계
    를 포함하고,
    상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들은 상기 제2 유형과는 상이한 제1 유형으로 분류되는 렌더링 객체들을 포함하고,
    상기 제1 유형의 렌더링 객체들에 대한 렌더링 처리는 상기 클라이언트 장치 상에서 수행되고,
    상기 제2 유형의 렌더링 객체들은 렌더링을 위해 상기 제1 유형의 렌더링 객체들에 기초한 어떤 숨겨진 표면 처리도 필요로 하지 않도록 상기 컴퓨터를 제어하는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  20. 디스플레이 수단이 연결되어 있는 컴퓨터를 제어하는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체에 있어서,
    디스플레이될 화면의 렌더링된 콘텐츠를 결정하기 위해 필요한 정보에 기초하여, 상기 디스플레이 수단 상에 디스플레이될 화면에 포함되는 렌더링 객체들 중 제1 유형으로 분류되는 렌더링 객체들이 렌더링되는 제1 화면을 생성하는 렌더링 수단;
    외부 장치에 의해 생성되고, 상기 디스플레이될 화면 상에 렌더링될 렌더링 객체들 중 상기 제1 유형의 렌더링 객체들을 제외한 것이며 제2 유형으로 분류되는 렌더링 객체들이 렌더링되는 제2 화면을 수신하는 수신 수단;
    상기 디스플레이될 화면을 생성하기 위해, 상기 렌더링 수단에 의해 생성된 상기 제1 화면 및 상기 수신 수단에 의해 수신된 상기 제2 화면을 합성하는 합성 수단; 및
    상기 합성 수단에 의해 생성된 상기 디스플레이될 화면을 상기 디스플레이 수단 상에 디스플레이하는 제시 수단
    으로서 기능하고,
    상기 제2 유형의 렌더링 객체들은 렌더링을 위해 상기 제1 유형의 렌더링 객체들에 기초한 어떤 숨겨진 표면 처리도 필요로 하지 않도록 상기 컴퓨터를 제어하는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  21. 삭제
KR1020147015306A 2011-11-07 2012-10-31 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체 KR101623288B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161556375P 2011-11-07 2011-11-07
US61/556,375 2011-11-07
JPJP-P-2012-197875 2012-09-07
JP2012197875A JP6181917B2 (ja) 2011-11-07 2012-09-07 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
PCT/JP2012/078767 WO2013069654A1 (en) 2011-11-07 2012-10-31 Rendering system, rendering server, control method thereof, program, and recording medium

Publications (2)

Publication Number Publication Date
KR20140098773A KR20140098773A (ko) 2014-08-08
KR101623288B1 true KR101623288B1 (ko) 2016-05-20

Family

ID=48620785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147015306A KR101623288B1 (ko) 2011-11-07 2012-10-31 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체

Country Status (7)

Country Link
US (1) US9717988B2 (ko)
EP (1) EP2777022A4 (ko)
JP (1) JP6181917B2 (ko)
KR (1) KR101623288B1 (ko)
CN (1) CN103918011B (ko)
CA (1) CA2853761A1 (ko)
WO (1) WO2013069654A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2886282C (en) 2013-05-23 2019-07-23 Stephan Georgiev Dynamic allocation of rendering resources in a cloud gaming system
CN105531743A (zh) * 2013-09-13 2016-04-27 史克威尔·艾尼克斯控股公司 描绘装置
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9596280B2 (en) 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
US9578074B2 (en) 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9332285B1 (en) 2014-05-28 2016-05-03 Lucasfilm Entertainment Company Ltd. Switching modes of a media content item
CN104796393A (zh) * 2014-05-30 2015-07-22 厦门极致互动网络技术有限公司 一种基于服务器实时渲染的网络游戏系统及方法
CN104991827A (zh) * 2015-06-26 2015-10-21 季锦诚 云游戏中gpu资源共享的方法
CN106887032B (zh) * 2015-12-15 2020-09-29 中国电信股份有限公司 三维场景渲染方法和系统以及相关设备
US20170287097A1 (en) * 2016-03-29 2017-10-05 Ati Technologies Ulc Hybrid client-server rendering in a virtual reality system
CN108389245B (zh) * 2018-02-13 2022-11-04 鲸彩在线科技(大连)有限公司 动画场景的渲染方法、装置、电子设备和可读存储介质
CN110837402B (zh) * 2018-08-16 2023-03-31 中国电信股份有限公司 终端屏幕编排方法和系统
JP7290852B2 (ja) * 2018-12-07 2023-06-14 国立大学法人東京工業大学 多コンテンツ描画システム及び多コンテンツ描画方法
CN109767466B (zh) * 2019-01-10 2021-07-13 深圳看到科技有限公司 画面渲染方法、装置、终端及对应的存储介质
CN110490965A (zh) * 2019-08-19 2019-11-22 深圳天际云数字技术有限公司 一种3d模型浏览的方法及系统
CN117058292B (zh) * 2023-07-28 2024-04-26 北京透彻未来科技有限公司 基于数字病理图像的色阶图渲染系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284403A (ja) * 2004-03-26 2005-10-13 Olympus Corp 3次元情報出力システム、サーバ並びにクライアント
JP2006107337A (ja) * 2004-10-08 2006-04-20 Nec Corp 3dコンテンツ配信方法、システム、装置、及び、プログラム
JP2007060015A (ja) 2005-08-22 2007-03-08 Aiphone Co Ltd インターホンシステム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267203B (en) 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
JPH0683977A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd 描画方式
JPH06214555A (ja) * 1993-01-20 1994-08-05 Sumitomo Electric Ind Ltd 画像処理装置
JP3632705B2 (ja) * 1994-08-31 2005-03-23 ソニー株式会社 対話型画像提供方法、サーバ装置、提供方法、ユーザ端末、受信方法、画像提供システム、および画像提供方法
JP3533717B2 (ja) 1994-09-27 2004-05-31 松下電器産業株式会社 画像合成装置
JP2000217075A (ja) 1999-01-25 2000-08-04 Toshiba Corp 動画像再生装置と動画像再生方法
US6377257B1 (en) * 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
JP3466173B2 (ja) 2000-07-24 2003-11-10 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
US8207966B2 (en) 2004-05-26 2012-06-26 Sony Online Entertainment Llc Terrain editor tool for rule-based procedural terrain generation
US8368686B2 (en) 2004-05-26 2013-02-05 Sony Online Entertainment Llc Resource management for rule-based procedural terrain generation
US8115765B2 (en) 2004-05-26 2012-02-14 Sony Online Entertainment Llc Rule-based procedural terrain generation
US7385614B2 (en) 2005-03-28 2008-06-10 Silicon Graphics, Inc. Compositing images using logically divided object space
WO2007021560A2 (en) * 2005-08-12 2007-02-22 Wms Gaming Inc. Three-dimensional gaming system environments
JP4566120B2 (ja) 2005-11-21 2010-10-20 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
CN100573656C (zh) * 2006-03-15 2009-12-23 凌阳科技股份有限公司 实时压缩及解压缩的绘图系统
US8117617B2 (en) 2007-11-26 2012-02-14 Xerox Corporation Energy-aware print job management
JP2009237680A (ja) * 2008-03-26 2009-10-15 Namco Bandai Games Inc プログラム、情報記憶媒体および画像生成システム
WO2009138878A2 (en) 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
WO2011101904A1 (ja) * 2010-02-18 2011-08-25 三菱電機株式会社 グラデーション描画装置
US8731315B2 (en) * 2011-09-12 2014-05-20 Canon Kabushiki Kaisha Image compression and decompression for image matting
CN102724532B (zh) * 2012-06-19 2015-03-04 清华大学 一种平面视频立体化转化方法及使用该方法的系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284403A (ja) * 2004-03-26 2005-10-13 Olympus Corp 3次元情報出力システム、サーバ並びにクライアント
JP2006107337A (ja) * 2004-10-08 2006-04-20 Nec Corp 3dコンテンツ配信方法、システム、装置、及び、プログラム
JP2007060015A (ja) 2005-08-22 2007-03-08 Aiphone Co Ltd インターホンシステム

Also Published As

Publication number Publication date
JP2013099511A (ja) 2013-05-23
WO2013069654A1 (en) 2013-05-16
KR20140098773A (ko) 2014-08-08
CN103918011A (zh) 2014-07-09
CN103918011B (zh) 2018-10-09
EP2777022A1 (en) 2014-09-17
CA2853761A1 (en) 2013-05-16
US20140302930A1 (en) 2014-10-09
US9717988B2 (en) 2017-08-01
JP6181917B2 (ja) 2017-08-16
EP2777022A4 (en) 2015-09-23

Similar Documents

Publication Publication Date Title
KR101623288B1 (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
KR101589396B1 (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
JP5128276B2 (ja) ゲーム装置、ゲームプログラム、コンピュータ読み取り可能な情報記憶媒体、ゲームシステムおよびゲーム処理方法
JP6959365B2 (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
EP2105905A2 (en) Image generation apparatus
JP7050883B2 (ja) 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
US11107183B2 (en) Adaptive mesh skinning in a foveated rendering system
US7277571B2 (en) Effective image processing, apparatus and method in virtual three-dimensional space
JP7425196B2 (ja) ハイブリッドストリーミング
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008027064A (ja) プログラム、情報記録媒体および画像生成システム
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
US20100144448A1 (en) Information storage medium, game device, and game system
JP4624527B2 (ja) ゲームシステム及び情報記憶媒体
JP4162125B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2008304999A (ja) 画像処理装置、画像処理方法及びプログラム
JP4632796B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2010033297A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2010033252A (ja) プログラム、情報記憶媒体および画像生成システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant