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

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

Info

Publication number
KR101589396B1
KR101589396B1 KR1020147015303A KR20147015303A KR101589396B1 KR 101589396 B1 KR101589396 B1 KR 101589396B1 KR 1020147015303 A KR1020147015303 A KR 1020147015303A KR 20147015303 A KR20147015303 A KR 20147015303A KR 101589396 B1 KR101589396 B1 KR 101589396B1
Authority
KR
South Korea
Prior art keywords
screen
rendering
processing
displayed
generated
Prior art date
Application number
KR1020147015303A
Other languages
English (en)
Other versions
KR20140098772A (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 KR20140098772A publication Critical patent/KR20140098772A/ko
Application granted granted Critical
Publication of KR101589396B1 publication Critical patent/KR101589396B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/126The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

1개의 디바이스가 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 제1 화면을 생성한다. 다른 한편으로, 1개의 디바이스를 제외한 디바이스들은 그 정보에 따라 표시될 화면의 렌더링 처리의, 제1 처리는 포함하지 않지만 제1 처리와 상이한 제2 처리를 포함하는 일부 처리를 실행함으로써 제2 화면을 생성하고, 제2 화면을 1개의 디바이스에 송신한다. 다음에, 1개의 디바이스는 1개의 디바이스를 제외한 각각의 디바이스에 의해 생성된 제2 화면을 수신하고, 제1 및 제2 화면을 합성함으로써 표시될 화면을 생성한다.

Description

렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체 {RENDERING SYSTEM, RENDERING SERVER, CONTROL METHOD THEREOF, AND RECORDING MEDIUM}
본 발명은 렌더링 시스템(rendering system), 렌더링 서버, 그 제어 방법, 및 기록 매체에 관한 것으로서, 특히 네트워크를 통해 접속된 복수의 디바이스에 의해 렌더링 처리를 공유함으로써 1개의 화면을 생성하기 위한 기술에 관한 것이다.
네트워크 접속이 가능한 퍼스널 컴퓨터(personal computer: PC)와 같은 클라이언트 디바이스가 널리 보급되고 있다. 디바이스의 광범한 사용과 함께, 인터넷의 네트워크 인구가 증가하고 있다. 인터넷을 사용하는 다양한 서비스는 최근에 네트워크 사용자에 대해 개발되어 왔고, 게임과 같은 엔터테인먼트 서비스가 또한 제공되고 있다.
네트워크 사용자에 대한 서비스들 중 하나는 MMORPG(Massively Multiplayer Online Role-Playing Game: 대규모 다중 사용자 온라인 롤플레잉 게임)와 같은 다중 사용자 온라인 네트워크 게임이다. 다중 사용자 온라인 네트워크 게임에서, 사용자는 사용중인 그/그녀의 클라이언트 디바이스를 게임을 제공하는 서버에 접속하여, 서버에 접속된 다른 클라이언트 디바이스를 사용하는 다른 사용자와 함께 매치업 플레이 또는 팀플레이를 행한다.
일반적인 다중 사용자 온라인 네트워크 게임에서, 각각의 클라이언트 디바이스는 서버로/서버로부터 게임 렌더링을 위해 필요한 데이터를 송수신한다. 클라이언트 디바이스는 렌더링을 위해 필요한 수신된 데이터를 사용하여 렌더링 처리를 실행하고 생성된 게임 화면을 클라이언트 디바이스에 접속된 디스플레이 디바이스에 제시하여, 게임 화면을 사용자에게 제공한다. 사용자가 입력 인터페이스를 조작함으로써 입력된 정보는 서버에 송신되어 서버에서 계산 처리를 위해 사용되거나 서버에 접속된 다른 클라이언트 디바이스에 전송된다.
그러나, 클라이언트 디바이스가 렌더링 처리를 실행하게 하는 일부 네트워크 게임들은 사용자가 충분한 렌더링 성능을 갖는 PC 또는 전용 게임기를 사용하는 것을 요구한다. 이 이유로, 네트워크 게임(1개의 콘텐츠)의 사용자들의 수는 콘텐츠에 의해 요구되는 클라이언트 디바이스의 성능에 의존한다. 고성능 디바이스는 물론 고가이고, 디바이스를 소유할 수 있는 사용자의 수는 제한된다. 즉, 예를 들어 화려한 그래픽(beautiful graphics)을 제공하는 게임과 같은 높은 렌더링 성능을 요구하는 게임의 사용자의 수를 증가시키는 것이 곤란하다.
그러나, 최근에, 클라이언트 디바이스의 렌더링 성능과 같은 처리 능력에 의존하지 않고 사용자에 의해 플레이 가능한 게임이 또한 제공되고 있다. 국제 출원 공개 제2009/138878호에 설명된 게임에서, 서버는 클라이언트 디바이스에서 발생된 조작의 정보를 취득하고, 이 정보를 사용하여 렌더링 처리를 실행함으로써 얻어진 게임 화면을 클라이언트 디바이스에 제공한다.
국제 출원 공개 제2009/1388878호에 설명된 게임에서, 서버는 클라이언트 디바이스에 제공될 게임 화면을 렌더링하여 전송한다. 즉, 클라이언트 디바이스는 서버에 의해 실행된 렌더링 처리에 의해 생성된 게임 화면을 수신하여 재생하고, 따라서 게임 화면을 표시한다. 그러나, 복수의 디바이스에 의해 렌더링 처리를 공유하는 실용적인 방법은 아직 개시되어 있지 않다.
본 발명의 전술된 종래의 문제점을 고려하여 이루어진 것이다. 본 발명은 복수의 디바이스가 1개의 화면에 대해 렌더링 처리를 공유하고 효율적으로 실행하게 하는 렌더링 시스템, 렌더링 서버, 그 제어 방법, 프로그램 및 기록 매체를 제공한다.
본 발명은 그 제1 양태에서, 복수의 디바이스가 디스플레이 수단 상에 표시될 화면의 렌더링 처리를 공유하고 실행하게 하기 위한 렌더링 시스템으로서, 복수의 디바이스들 중 1개의 디바이스는 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구되는 정보를 복수의 디바이스들 중 1개의 디바이스를 제외한 각각의 디바이스에 송신하기 위한 송신 수단과, 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 제1 화면을 생성하기 위한 제1 렌더링 수단과, 1개의 디바이스를 제외한 각각의 디바이스에 의해 생성되고 렌더링된 콘텐츠에 대응하는 제2 화면을 수신하기 위한 화면 수신 수단과, 제1 렌더링 수단에 의해 생성된 제1 화면과 화면 수신 수단에 의해 수신된 제2 화면을 합성함으로써 표시될 화면을 생성하기 위한 합성 수단을 포함하고, 1개의 디바이스를 제외한 각각의 디바이스는 1개의 디바이스로부터 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 수신하기 위한 수신 수단과, 수신 수단이 수신한 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의, 제1 처리를 포함하지 않지만 제1 처리와 상이한 제2 처리를 포함하는 일부 처리를 실행함으로써 제2 화면을 생성하기 위한 제2 렌더링 수단과, 제2 렌더링 수단에 의해 생성된 제2 화면을 1개의 디바이스에 송신하기 위한 화면 송신 수단을 포함하는 것인 렌더링 시스템을 제공한다.
본 발명은 그 제2 양태에서, 제1 디바이스 및 제2 디바이스가 디스플레이 수단 상에 표시될 화면의 렌더링 처리를 공유하고 실행하게 하는 렌더링 시스템으로서, 제1 디바이스는 제2 디바이스로부터 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구되는 정보를 수신하기 위한 수신 수단과, 수신 수단이 수신한 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 제1 화면을 생성하기 위한 제1 렌더링 수단과, 제2 디바이스에 의해 생성되고 렌더링된 콘텐츠에 대응하는 제2 화면을 수신하기 위한 화면 수신 수단과, 제1 렌더링 수단에 의해 생성된 제1 화면과 화면 수신 수단에 의해 수신된 제2 화면을 합성함으로써 표시될 화면을 생성하기 위한 합성 수단을 포함하고, 제2 디바이스는 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 제1 디바이스에 송신하기 위한 송신 수단과, 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의, 제1 처리를 포함하지 않지만 제1 처리와 상이한 제2 처리를 포함하는 일부 처리를 실행함으로써 제2 화면을 생성하기 위한 제2 렌더링 수단과, 제2 렌더링 수단에 의해 생성된 제2 화면을 제1 디바이스에 송신하기 위한 화면 송신 수단을 포함하는 것인 렌더링 시스템을 제공한다.
본 발명은 그 제3 양태에서, 클라이언트 디바이스에 접속된 디스플레이 수단 상에 표시될 화면의 렌더링 처리의 일부 처리를 취급하는 렌더링 서버로서, 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의 미리결정된 처리를 포함하는 일부 처리를 실행함으로써 제공될 화면을 생성하기 위한 렌더링 수단과, 렌더링 수단에 의해 생성된 제공될 화면을 클라이언트 디바이스에 송신하기 위한 송신 수단을 포함하는 렌더링 서버를 제공한다.
본 발명의 다른 특징은 이하의 예시적인 실시예의 설명으로부터 명백해질 것이다(첨부 도면을 참조하여).
도 1은 본 발명의 실시예에 따른 렌더링 시스템의 시스템 구성을 도시하고 있는 도면이다.
도 2는 본 발명의 실시예에 따른 PC(100)의 기능 구성을 도시하고 있는 블록 다이어그램이다.
도 3은 본 발명의 실시예에 따른 렌더링 서버(200)의 기능 구성을 도시하고 있는 블록 다이어그램이다.
도 4는 본 발명의 제1 실시예에 따른 게임 처리를 예시하는 흐름도이다.
도 5는 본 발명의 제1 실시예에 따른 클라이언트측 렌더링 처리를 예시하는 흐름도이다.
도 6은 본 발명의 제1 실시예에 따른 서버측 렌더링 처리를 예시하는 흐름도이다.
도 7은 본 발명의 제2 실시예에 따른 클라이언트측 렌더링 처리를 예시하는 흐름도이다.
도 8a 및 도 8b는 본 발명의 실시예에 따른 제1 및 제2 화면을 예시하는 도면이다.
[제1 실시예]
본 발명의 예시적인 실시예가 도면을 참조하여 이하에 상세히 설명될 것이다. 이하에 설명될 일 실시예는 본 발명이 PC(100)에서 실행된 게임 프로그램에 관련된 화면의 렌더링 처리의 일부 미리결정된 처리가 실행되는 화면을 PC(100)에 제공하는 렌더링 시스템의 예로서 렌더링 서버(200)에 적용되는 예를 설명할 것이다. 그러나, 본 발명은 복수의 디바이스에 의해 그 처리를 공유함으로써 1개의 화면에 관련된 렌더링 처리를 실행할 수 있는 임의의 디바이스 및 시스템에 적용 가능하다.
<렌더링 시스템의 구성>
도 1은 본 발명의 실시예에 따른 렌더링 시스템의 시스템 구성을 도시하고 있는 도면이다.
도 1에 도시되어 있는 바와 같이, PC(100) 및 렌더링 서버(200)는 인터넷과 같은 네트워크(300)를 통해 접속된다. 본 실시예에서, PC(100) 및 렌더링 서버(200)는 PC(100)에서 실행될 게임 프로그램에 관련된 화면(게임 화면)의 렌더링 처리를 공유하고 실행한다.
더 구체적으로, 1개의 화면에 대해, PC(100)는 화면에 포함된 렌더링 객체(rendering object)에 전역 조명(global illumination)을 적용하지 않고 텍스처 맵핑(texture mapping)[텍스처링 처리(texturing processing)] 및 기본 조명 모델을 사용하여 제1 화면을 생성한다. 네트워크(300)를 통해 PC(100)로부터 화면의 렌더링된 콘텐츠를 결정하기 위해 요구되는 정보의 수신시에, 렌더링 서버(200)는 렌더링 객체에 어떠한 텍스처링도 적용하지 않고 전역 조명을 적용함으로써 제2 화면을 생성한다. 렌더링 서버(200)는 네트워크(300)를 통해 PC(100)에 생성된 제2 화면을 송신하고, PC(100)는 수신된 제2 화면 및 생성된 제1 화면을 합성함으로써 표시될 게임 화면을 생성한다. 다음에, PC(100)는 접속된 디스플레이 디바이스에 표시될 화면을 출력한다.
전술된 바와 같이, 본 실시예의 렌더링 시스템에서, 2개의 디바이스[PC(100) 및 렌더링 서버(200)]는 1개의 화면의 렌더링 처리를 공유하고, 렌더링 처리에 관련된 모든 처리가 공유된 처리와 연관하여 화면을 독립적으로 생성하고 생성된 화면들을 합성함으로써 최종적으로 실행되는 화면을 생성한다.
전역 조명은 재료에 따라 광의 간접 반사 및 확산과 같은 거동 등을 물리적으로 정확하게 재현하는 렌더링 알고리즘이라는 것을 주목하라. 전역 조명은 실제 그래픽 화상의 렌더링에 적합하다. 전역 조명에 관련된 처리는 다양한 알고리즘에 의해 고속화된다. 그러나, 전역 조명은 일반적으로 큰 계산량을 요구하고, 또한 미리결정된 업데이트 프레임률이 게임에서와 같이 요구될 때 소정의 시간 내에 이들 계산을 완료하기 위한 하드웨어 성능을 요구한다. 즉, 예를 들어, 게임과 같은 콘텐츠에 관련된 프로그램을 실행하는 컴퓨터에 전역 조명을 적용하기 위해, 매우 높은 렌더링 성능 또는 계산 성능이 컴퓨터에 대해 요구되고, 따라서 콘텐츠 사용자를 제한한다.
본 실시예는 렌더링 서버(200)에 접속된 클라이언트 디바이스로서 PC(100)를 설명할 것이지만, 본 발명은 이러한 특정 실시예에 한정되는 것은 아니다. 예를 들어, 렌더링 서버(200)에 접속된 클라이언트 디바이스는 가정용 게임기, 휴대용 게임기, 휴대폰, PDA 또는 태블릿과 같은 제1 화면을 렌더링하기 위한 충분한 렌더링 성능을 갖는 디바이스일 수 있다.
<PC(100)의 구성>
도 2는 본 발명의 실시예에 따른 PC(100)의 기능 구성을 도시하고 있는 블록 다이어그램이다.
CPU(101)가 PC(100)에 포함된 각각의 블록의 동작을 제어한다. 더 구체적으로, CPU(101)는 예를 들어 ROM(102) 또는 기록 매체(106)에 기록된 게임 처리 및 클라이언트측 렌더링 처리의 동작 프로그램을 판독하고, 판독 프로그램을 RAM(103)에 추출하고, 추출된 프로그램을 실행함으로써 각각의 블록의 동작을 제어한다.
ROM(102)은 예를 들어, 재기록 가능 비휘발성 메모리이다. ROM(102)은 게임 처리의 동작 프로그램에 추가하여 PC(100) 내에 포함된 각각의 블록의 동작을 위해 요구된 상수(constant)와 같은 정보를 저장한다.
RAM(103)은 휘발성 메모리이다. RAM(103)은 동작 프로그램의 추출 영역으로서 뿐만 아니라, PC(100) 내에 포함된 각각의 블록의 동작 중에 출력되는 중간 데이터 등을 일시적으로 저장하도록 요구되는 저장 영역으로서 사용된다.
GPU(104)가 디스플레이부(108)(후술됨) 상에 표시될 게임 화면을 생성한다. GPU(104)에는, 게임 화면의 렌더링 영역으로서 비디오 메모리(VRAM)(105)가 접속된다. 또한, GPU(104)는 GPU 메모리(도시 생략)를 갖는다. CPU(101)로부터의 렌더링 명령의 수신시에, GPU(104)는 그 렌더링 명령에 관련된 렌더링 객체를 수신하고, 이를 GPU 메모리 내에 저장한다. 다음에, GPU(104)는 렌더링 명령에 따라 접속된 VRAM(105) 상에 렌더링 객체를 렌더링한다. 본 실시예에서, GPU(104)는 전역 조명을 적용하지 않고 렌더링 처리 내에 포함된 처리로서 기본 조명 모델 및 텍스처링 처리를 사용하여 제1 화면을 생성한다.
기록 매체(106)는 예를 들어 PC(100)에 제거 가능하게 접속된 HDD 또는 SSD와 같은 기록 디바이스이다. 본 실시예에서, 기록 매체(106)는 게임 처리의 동작 프로그램 등에 추가하여, 게임 화면 상에 렌더링된 렌더링 객체에 관련되는 모델 데이터(또는 정점 데이터 및 와이어 접속 데이터), 텍스처 데이터, 설정 파라미터 등을 기록하는 것으로 가정한다.
통신부(107)은 PC(100) 내에 포함된 통신 인터페이스이다. 통신부(107)은 네트워크(300)를 통해 접속된 렌더링 서버(200)와 같은 다른 디바이스와 데이터를 교환한다. 데이터의 송신시에, 통신부(107)은 데이터를 자신과 네트워크(300) 사이에 결정된 데이터 전송 포맷으로 변환하고, 데이터를 목적지 디바이스(destination device)로 송신한다. 또한, 데이터의 수신시에, 통신부(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)은 휘발성 메모리이다. 서버 RAM(203)은 동작 프로그램의 추출 영역으로서 뿐만 아니라 렌더링 서버 내에 포함된 각각의 블록의 동작 중에 출력되는 중간 데이터 등을 일시적으로 저장하도록 요구되는 저장 영역으로서 사용된다.
서버 GPU(204)는 렌더링 처리의 텍스처링 처리를 배제한 일부 미리결정된 처리가 PC(100)의 디스플레이부(108) 상에 표시될 게임 화면과 연관하여 적용되는 화면(제2 화면)을 생성한다. 서버 GPU(204)에는, 서버 VRAM(205)이 접속된다. 서버 CPU(201)로부터 렌더링 명령의 수신시에, 서버 GPU(204)는 렌더링 명령에 관련된 렌더링 객체를 수신하고, 이 렌더링 객체를 GPU 메모리 내에 저장한다. 서버 GPU(204)가 접속된 서버 VRAM(205) 상에 렌더링을 실행할 때, 이는 캐시 메모리 상에 렌더링 객체를 추출하고, 추출된 렌더링 객체를 서버 VRAM(205) 내에 기록한다.
본 실시예에서, 서버 GPU(204)는 게임 화면을 위한 렌더링 처리의 일부 미리결정된 처리로서, 전역 조명을 적용하기 위한 처리를 취급한다. 서버 GPU(204)는 게임 화면에 대응하는 카메라(관점)의 위치 및 방향의 수신된 정보 - 게임 화면의 렌더링된 콘텐츠를 결정하기 위해 요구됨 - 에 따라 화면을 생성한다. 이 때, 서버 GPU(204)는 서버 VRAM(205) 상에, 텍스처링 처리를 적용하지 않고 게임 화면 내에 포함된 렌더링 객체에 전역 조명을 적용함으로써 제2 화면을 생성한다.
서버 기록 매체(206)는 예를 들어 렌더링 서버(200)에 제거 가능하게 접속되는 HDD와 같은 기록 디바이스이다. 본 실시예에서, 서버 기록 매체(206)는 렌더링 처리에 있어서 화면을 생성하는 데 사용되는 모델 데이터, 광원 정보 등을 기록하는 것으로 가정한다. 서버 기록 매체(206) 내에 기록된 모델 데이터는 PC(100)의 기록 매체(106) 내에 기록된 것들과 동일하다는 것을 주목하라.
본 실시예에서, 렌더링 서버(200)는 PC(100)로부터, 전술된 바와 같이, 렌더링 콘텐츠를 결정하기 위해 요구된 정보로서 게임 화면에 대응하는 카메라의 위치 및 방향을 나타내는 정보를 수신한다. 즉, 서버 GPU(204)는 카메라의 위치 및 방향의 정보에 기초하여 게임 화면 내에 포함된 렌더링 객체를 특정해야 한다. 이 목적으로, 서버 기록 매체(206)는 게임 화면 내에 포함된 렌더링 객체로서 PC(100)에서의 게임 처리의 것들과 동일한 렌더링 객체들을 특정하는 처리 프로그램을 기록한다. 이 처리 프로그램은 게임 처리의 것과 동일할 수도 있고, 또는 게임 처리의 프로그램과는 상이하지만, 카메라의 위치 및 방향의 정보에 기초하여 게임 화면 내에 포함된 렌더링 객체 및 이들 렌더링 객체의 위치/회전 정보 등의 파라미터를 특정하는 프로그램일 수 있다.
서버 통신부(207)은 렌더링 서버(200) 내에 포함된 통신 인터페이스이다. 본 실시예에서, 서버 통신부(207)은 네트워크(300)를 통해 접속된 PC(100)와 같은 다른 디바이스와 데이터를 교환한다. 서버 통신부(207)은 통신부(107)에서와 같이 통신 사양에 따라 데이터 포맷의 변환을 실행한다는 것을 주목하라.
<게임 처리>
전술된 구성을 갖는 본 실시예의 렌더링 시스템의 PC(100)에서 실행된 기본 게임 처리가 도 4에 도시되어 있는 흐름도를 참조하여 이하에 실질적으로 설명될 것이다. 이 흐름도에 대응하는 처리는 CPU(101)가 예를 들어 기록 매체(106) 내에 기록된 대응 처리 프로그램을 판독하고, 판독된 프로그램을 RAM(103) 상에 추출하고, 추출된 프로그램을 실행할 때 구현될 수 있다. 이하의 설명은 예를 들어 사용자가 PC(100) 내의 게임 처리에 대응하는 애플리케이션의 실행 명령을 입력할 때 이 게임 처리가 시작되고, 게임의 1개의 프레임에 대해 반복적으로 실행된다는 가정 하에서 제공될 것이라는 것을 주목하라.
본 실시예에서, 간단화를 위해, PC(100)에서 실행된 게임 콘텐츠가 조작될 캐릭터의 1인칭 시점이 게임 화면으로서 제공되는 소위 FPS(First Person Shooter: 1인칭 슈팅 게임)와 같은 게임인 것으로 가정한다. 또한, 게임 화면 내에 포함된 캐릭터와 같은 렌더링 객체의 모션 및 동작이 생성되지 않거나 또는 시간과 같은 고유하게 결정된 변수에 따라 정의될 수 있는 것으로 가정한다. 즉, 본 실시예의 PC(100)에서 실행된 게임 콘텐츠는 단지 게임 화면에 대응하는 카메라의 위치 및 방향을 나타내는 정보에 의해 게임 화면 내에 포함된 렌더링 객체를 특정할 수 있다. 즉, PC(100)의 게임 처리에 의해 규정된 게임 화면은 단지 카메라의 위치 및 방향을 나타내는 정보만을 사용하여 렌더링 서버(200) 상에 동일한 화면을 특정할 수 있다.
그러나, 본 발명의 실시예는 FPS 게임 등의 1인칭 시점의 이러한 게임 화면을 제공하는 것에 한정되는 것은 아니고, 본 발명은 렌더링 처리에 의해 얻어진 화면을 제공하는 다른 콘텐츠에 적용 가능하다. 예를 들어, 게임 화면 내에 포함된 렌더링 객체의 모션 및 동작이 사용자 또는 랜덤 이벤트로부터의 조작 입력에 응답하여 화면 내에서 생성될 때, 프레임 내의 렌더링 객체의 모션 및 동작을 정의하는 파라미터는 카메라의 위치 및 방향에 추가하여 렌더링 콘텐츠를 결정하기 위해 요구되는 정보로서 렌더링 서버(200)에 송신되기만 하면 된다. 대안적으로, 사용자로부터의 조작 입력은 렌더링 서버(200)에 직접 송신될 수도 있다.
CPU(101)는 단계 S401에서, 게임 화면을 특정하는 카메라의 위치 및 방향을 변경하기 위한 조작 입력이 사용자에 의해 행해졌는지 여부를 결정한다. 더 구체적으로, CPU(101)는 카메라의 위치 및 방향을 변경하기 위한 조작 입력에 대응하는 제어 신호가 조작 입력부(109)으로부터 수신되었는지 여부를 확인함으로써 조작 입력이 행해졌는지 여부를 결정한다. CPU(101)가 게임에 대한 조작 입력이 행해진 것으로 판단하면, 처리는 단계 S402로 진행하고, 그렇지 않으면 처리는 단계 S403으로 진행한다.
단계 S402에서, CPU(101)는 카메라의 위치 및 방향을 나타내는 정보(렌더링 카메라 파라미터)를 업데이트하고, 이 정보는 예를 들어 카메라의 위치 및 방향을 변경하기 위한 조작 입력에 따라 RAM(103) 내에 저장된다.
단계 S403에서, CPU(101)는 RAM(103) 내에 저장된 렌더링 카메라 파라미터를 렌더링된 콘텐츠를 결정하기 위해 요구된 정보로서 렌더링 서버(200)에 송신한다. 더 구체적으로, CPU(101)는 RAM(103)으로부터 렌더링 카메라 파라미터를 판독하고, 판독된 파라미터를 통신부(107)에 전송하고, 파라미터를 렌더링 서버(200)에 송신하도록 통신부(107)을 제어한다.
단계 S404에서, CPU(101)는 RAM(103) 내에 저장된 렌더링 카메라 파라미터에 따라 게임 화면에 관련된 제1 화면을 렌더링하기 위한 클라이언트측 렌더링 처리를 실행한다.
(클라이언트측 렌더링 처리)
본 실시예의 PC(100) 내에서 실행된 클라이언트측 렌더링 처리가 도 5에 도시되어 있는 흐름도를 참조하여 이하에 실질적으로 설명될 것이다.
단계 S501에서, CPU(101)는 렌더링될 게임 화면 내에 포함된 렌더링 객체를 특정한다. 더 구체적으로, CPU(101)는 RAM(103)으로부터 렌더링 카메라 파라미터를 판독하고, 렌더링 카메라 파라미터에 의해 특정된 세계 상의 렌더링 범위의 정보를 계산한다. 다음에, CPU(101)는 세계에 분배된 렌더링 객체의 레이아웃 위치의 정보에 기초하여 렌더링 범위 내에 포함된 렌더링 객체를 특정한다.
단계 S502에서, CPU(101)는 미리결정된 렌더링 순서 결정 방법에 의해 결정된 렌더링 순서에 따라 렌더링될 렌더링 객체를 선택한다. CPU(101)는 이어서 선택된 렌더링 객체의 렌더링 명령을 GPU(104)에 전송한다. 또한, CPU(101)는 렌더링 객체의 모델 데이터(또는 정점 데이터 및 와이어 접속 데이터) 및 텍스처 데이터와, 기록 매체(106)로부터 그 렌더링 객체와 연관된 위치/회전 정보 파라미터의 파라미터를 판독하고, 이들을 GPU(104)에 전송한다. 이 단계에서 선택된 렌더링 객체는 배경 객체를 포함하는 것으로 가정한다. GPU(104)는 GPU 메모리 내의 렌더링 객체와 연관된 전송된 정보를 저장한다.
단계 S503에서, GPU(104)는 CPU(101)의 제어 하에서 선택된 렌더링 객체와 연관된 위치/회전 정보의 파라미터에 따라 GPU 메모리 내에 저장된 모델 데이터를 이동 및 회전한다. 더 구체적으로, GPU(104)는 선택된 렌더링 객체의 각각의 정점에 대한 위치/회전 정보의 파라미터에 대응하는 공간 좌표를 정의한다.
단계 S504에서, CPU(101)의 제어 하에서, GPU(104)는 단계 S503에서, GPU 메모리 내에 저장된 텍스처 데이터를 사용하여 텍스처 맵핑(텍스처링 처리)을 이동되고 회전된 모델 데이터의 각각의 폴리곤에 적용하고, VRAM(105)의 프레임 버퍼 상에 객체를 렌더링한다. 반사 등의 조명 계산은 이 클라이언트측 렌더링 처리에서 렌더링될 각각의 렌더링 객체에 대해 실행되지 않고, 각각의 정점은 이들의 밝기값이 미리결정된 고정값 등을 사용하여 규정되도록 렌더링된다는 것을 주목하라.
CPU(101)는 단계 S505에서, GPU(104)에 의해 VRAM(105) 상의 렌더링 범위 내에 포함된 모든 렌더링 객체의 렌더링이 완료되었는지 여부를 결정한다. CPU(101)가 VRAM(105) 상의 모든 렌더링 객체의 렌더링이 완료되었다고 판단하면, 이 클라이언트측 렌더링 처리는 종료되고, 그렇지 않으면 처리는 단계 S502로 복귀한다.
클라이언트측 렌더링 처리는 이 방식으로 실행되기 때문에, 텍스처링 처리 및 기본 조명 모델을 사용하여 생성된 제1 화면은 전역 조명을 적용하지 않고 얻어질 수 있다. 예를 들어, 구 모델이 렌더링되어야 할 때, 도 8a에 도시되어 있는 바와 같이, 제1 화면이 얻어진다. 도 8a의 예에서, 구 모델은 자체 조명되고(각각의 평면에 대해 균일한 휘도 레벨을 갖기 위해), 텍스처링 처리를 경험한다.
CPU(101)는 단계 S405에서, 게임 화면에 관련된 텍스처링 처리를 적용하지 않고 전역 조명을 적용함으로써 생성된 제2 화면이 수신되는지 여부를 결정한다. 더 구체적으로, CPU(101)는 통신부(107)이 네트워크(300)를 통해 렌더링 서버(200)로부터 제2 화면을 수신하는지 여부를 결정한다. CPU(101)가 제2 화면이 수신되었다고 판단하면, 처리는 단계 S406으로 진행하고, 그렇지 않으면 이 단계의 처리가 반복된다.
본 실시예의 이하의 설명은 제1 및 제2 화면의 생성이 1개의 프레임 내에서 실행된다는 가정 하에 제공될 것이다. 그러나, 본 발명은 이러한 특정 실시예에 한정되는 것은 아니다. 예를 들어, 제2 프레임의 생성이 1개의 프레임 내에서 완료되지 않을 때, 제2 화면은 단계 S404에서 실행된 클라이언트측 렌더링 처리에 의해 얻어진 제1 화면 및 이 단계에서 수신된 제2 화면이 동일한 프레임의 게임 화면에 대해 렌더링되는지 여부를 분간하기 위해 렌더링 프레임을 판별하도록 요구된 프레임 식별 정보를 포함할 수도 있다. 이 경우에, CPU(101)는 단계 S403에서 렌더링된 콘텐츠를 결정하기 위해 요구되는 정보를 송신하고, 프레임 식별 정보를 포함한다. 렌더링 서버(200)가 제2 화면을 생성하여 이 제2 화면을 PC(100)에 송신할 때, 서버 CPU(201)는 프레임 식별 정보를 그 제2 화면과 연관한다. 더 구체적으로, CPU(101)는 통신부(107)에 의해 수신된 화면과 연관된 프레임 식별 정보를 참조하여, 수신된 화면이 동일한 프레임의 게임 화면을 위해 렌더링되는지 여부를 판별할 수 있다.
단계 S406에서, CPU(101)는 수신된 제2 화면 및 제1 화면을 합성함으로써 예를 들어 VRAM(105) 상에 디스플레이부(108) 상에 표시될 최종 게임 화면을 생성한다. 더 구체적으로, 제1 및 제2 화면은 예를 들어 R, G 및 B 성분의 화상으로 형성되고, 최종 게임 화면과 연관된 각각의 컬러의 화상은 각각의 컬러의 화상의 동일한 화소 위치에서 화소들을 합성함으로써 생성된다. 각각의 화소의 화소값은 정규화된 값을 취하고, 화소 합성은 예를 들어 화소값들을 곱셈함으로써 실행될 수도 있다.
단계 S407에서, CPU(101)는 단계 S406에서 생성된 최종 게임 화면을 디스플레이부(108)에 전송하여 디스플레이 화면 상에 표시한다.
<서버측 렌더링 처리>
게임 화면에 관련된 제2 화면을 렌더링하기 위해 렌더링 서버(200) 내에서 실행되는 서버측 렌더링 처리는 도 6에 도시되어 있는 흐름도를 참조하여 이하에 실질적으로 설명될 것이다. 이 흐름도에 대응하는 처리는 서버 CPU(201)가 예를 들어 서버 기록 매체(206) 내에 기록된 대응 처리 프로그램을 판독하고, 서버 RAM(203) 상에 판독 프로그램을 추출하고, 추출된 프로그램을 실행할 때 구현될 수 있다. 이하의 설명은 예를 들어 서버 CPU(201)가 서버 통신부(207)이 게임 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보로서 렌더링 카메라 파라미터를 수신하는 것을 검출할 때, 이 서버측 렌더링 처리가 시작된다는 가정 하에 제공될 것이라는 것을 주목하라. 또한, 이하의 설명은 서버 CPU(201)가 서버 통신부(207)에 의해 수신된 렌더링 카메라 파라미터를 서버 RAM(203) 내에 저장하는 가정 하에 제공될 것이다.
단계 S601에서, 서버 CPU(201)는 렌더링될 게임 화면 내에 포함된 렌더링 객체를 특정한다. 더 구체적으로, 서버 CPU(201)는 서버 RAM(203)으로부터 렌더링 카메라 파라미터를 판독하고, 렌더링 카메라 파라미터에 의해 특정된 세계 상의 렌더링 범위의 정보를 계산한다. 다음에, 서버 CPU(201)는 PC(100)에서와 같은 세계에 분배된 렌더링 객체의 레이아웃 위치의 정보에 기초하여 렌더링 범위 내에 포함된 렌더링 객체를 특정한다.
단계 S602에서, 서버 CPU(201)는 서전 결정된 렌더링 순서 결정 방법에 의해 결정된 렌더링 순서에 따라 렌더링될 렌더링 객체를 선택한다. 다음에, 서버 CPU(201)는 렌더링 객체에 관련된 렌더링 명령을 서버 GPU(204)에 전송한다. 또한, 서버 CPU(201)는 서버 기록 매체(206)로부터 렌더링 객체와 연관된 위치/회전 정보의 파라미터 및 모델 데이터를 판독한다. 서버 GPU(204)는 렌더링 객체에 관련된 전송된 정보를 GPU 메모리 내에 저장한다.
단계 S603에서, 서버 GPU(204)는 서버 CPU(201)의 제어 하에 선택된 렌더링 객체에 관련된 위치/회전 정보의 파라미터에 따라 GPU 메모리 내에 저장된 모델 데이터를 이동 및 회전시켜, 따라서 공간 좌표를 정의한다.
서버 CPU(201)는 단계 S604에서, 렌더링 범위 내에 포함된 모든 렌더링 객체에 대한 공간 좌표의 정의가 완료되었는지 여부를 결정한다. 서버 CPU(201)가 모든 렌더링 객체의 공간 좌표의 정의가 완료되었다고 판단하면, 처리는 단계 S605로 진행하고, 그렇지 않으면 처리는 단계 S602로 복귀한다.
단계 S605에서, 서버 GPU(204)는 서버 CPU(201)의 제어 하에 전역 조명을 적용하기 위한 처리를 실행한다. 서버 CPU(201)는 서버 기록 매체(206)로부터 렌더링 범위 또는 그 주변부에 적용될 광원의 위치, 방향 및 유형을 나타내는 정보(광원 정보)를 판독하고, 판독된 정보를 서버 GPU(204)에 전송한다. 광원 정보의 수신시에, 서버 CPU(204)는 그 공간 좌표가 정의되는 렌더링 객체를 위한 광원 정보에 기초하여 전역 조명에 관련된 계산 처리[예를 들어, 포톤 맵핑(photon mapping), 라디오시티(radiosity) 등]를 실행한다. 다음에, 서버 GPU(204)는 전역 조명이 서버 VRAM(205)에 적용되는 제2 화면을 렌더링한다. 예를 들어, 구 모델이 렌더링될 때, 도 8b에 도시되어 있는 바와 같이 제2 화면이 얻어진다. 도 8b의 예에서, 방향광과 연관하여 스펙큘러 맵(Specular map)을 고려하는 조명 계산이 구 모델에 적용되지만, 어떠한 텍스처도 적용되지 않는다. 도 8b는 매우 간단한 예를 도시하고 있고, 전역 조명의 적용된 콘텐츠는 본 예에 한정되는 것은 아니라는 것이 용이하게 이해될 수 있을 것이라는 것을 주목하라.
단계 S606에서, 서버 CPU(201)는 서버 GPU(204)에 의해 렌더링된 제2 화면을 취득하고, 이 화면을 서버 통신부(207)에 전송하고, 이 화면을 PC(100)에 송신하도록 서버 통신부(207)을 제어한다. 게임 화면이 본 실시예에서와 같이 연속적인 동화상 데이터로서 제공되는 구성에서, 렌더링 서버(200)로부터 PC(100)에 송신될 제2 화면의 포맷은 화상 데이터 포맷에 한정되는 것은 아니라는 것이 주목하라. 더 구체적으로, 연속적으로 송신될 화면의 고려시에, 서버 GPU(201)는 생성된 제2 화면과 연관하여 이전 및 이후의 프레임 등을 참조하여 프레임간 예측을 포함하는 인코딩 처리를 실행함으로써 얻어진 인코딩된 동화상 데이터를 PC(100)에 송신할 수 있다.
전술된 바와 같이, 본 실시예의 렌더링 시스템은 텍스처링 처리가 적용되는 제1 화면 및 전역 조명이 적용되는 제2 화면을 생성하기 위해 게임 화면의 렌더링 처리를 공유할 수 있다. 즉, 렌더링 처리에 있어서 높은 계산 성능을 요구하는 전역 조명이 충분한 계산 리소스를 갖도록 설계될 수 있는 렌더링 서버에 할당되고, 따라서 클라이언트 디바이스의 렌더링 성능에 독립적으로 고품질 게임 화면을 제공하다.
본 실시예는 클라이언트 디바이스로서 PC(100) 및 렌더링 서버(200)가 통신을 통해 접속되어 있다는 조건 하에서 설명되어 있다는 것을 주목하라. 예를 들어, 통신이 접속 해제될 때, 제1 화면은 합성 처리를 스킵하면서 제공될 수도 있다. 대안적으로, PC(100) 및 렌더링 서버(200)가 통신을 통해 접속되어 있는지 여부에 따라, PC(100)에 렌더링될 제1 화면의 렌더링 처리는 스위칭될 수 있다. 더 구체적으로, PC(100)가 렌더링 서버(200)와 통신할 수 없을 때, 게임 화면은 PC(100)의 렌더링 성능에 따라 조명 계산을 실행함으로써 렌더링되고 제공된다. 다른 한편으로, PC(100)가 렌더링 서버(200)와 통신할 수 있을 때, PC(100)는 임의의 조명 계산을 실행하지 않고, 전역 조명이 적용되는 제2 화면에 제1 화면을 합성하고, 따라서 높은 광원 재현성을 갖는 고품질 게임 화면을 제공한다.
이 경우에, 예를 들어, PC(100)는 게임 화면의 품질이 디스플레이부(108) 상에 이러한 메시지를 표시함으로써 네트워크 상의 렌더링 서버(200)와 렌더링 처리를 공유함으로써 얻어진 화상을 사용하여 향상된다는 것을 사용자에 통지할 수 있다. 역으로, PC(100)는 네트워크 상의 렌더링 서버(200)와의 통신이 게임 화면의 품질 향상을 스킵하는 것이 불가능하고, 단지 PC(100)에 의해서만 렌더링 처리를 실행함으로써 얻어진 게임 화면이 디스플레이부(108) 상에 이러한 메시지를 표시함으로써 표시된다는 것을 사용자에 통지할 수 있다.
전역 조명이 적용되는 게임 화면을 제공하는지 여부는 사용자에 의해 스위칭될 수 있다.
[제2 실시예]
전술된 실시예는 클라이언트 디바이스로서 PC(100)가 게임 진행을 관리할 때 PC(100) 및 렌더링 서버(200)에 있어서의 렌더링 처리를 설명한다. 본 실시예는 그 게임 진행이 렌더링 서버(200)에 의해 관리되는 게임 처리가 실행될 때 각각의 디바이스에 있어서의 렌더링 처리를 설명할 것이다.
<게임 처리>
전술된 제1 실시예에서와 동일한 구성을 갖는 본 실시예의 렌더링 시스템의 렌더링 서버(200)에 의해 실행된 기본 게임 처리가 먼저 설명될 것이다. 이하의 설명은, 게임 처리가 예를 들어 렌더링 서버(200)가 시동될 때 서버 CPU(201)에 의해 시작되고, 이 처리는 게임의 1개의 프레임에 대해 반복적으로 실행된다는 가정 하에 제공될 것이다.
본 실시예의 렌더링 서버(200)에서 실행된 게임 처리는 전술된 제1 실시예의 PC(100)에서 실행된 것과 거의 동일하기 때문에, 처리의 상세한 설명은 제공되지 않을 것이고, 단지 차이점만이 설명될 것이다.
제1 실시예의 게임 처리에서, 게임 화면을 규정하는 카메라의 위치 및 방향을 변경하기 위해 사용자에 의해 행해진 조작 입력에 응답하여, PC(100)의 CPU(101)는 카메라의 위치 및 방향을 나타내는 렌더링 카메라 파라미터를 변경하고 업데이트한다. 본 실시예에서, 렌더링 서버(200)의 서버 CPU(201)는 렌더링 카메라 파라미터를 변경하고 업데이트한다. 이 이유로, PC(100)에 의해 검출된 카메라의 위치 및 방향을 변경하기 위한 조작 입력을 나타내는 정보가 통신부(107)을 통해 렌더링 서버(200)에 전송되고, 서버 CPU(201)는 조작 입력을 나타내는 정보에 기초하여 렌더링 카메라 파라미터를 변경하고 업데이트한다.
렌더링 카메라 파라미터가 결정된 후에, 서버 CPU(201)는 서버 통신부(207)을 통해 PC(100)에 렌더링 카메라 파라미터를 전송한다. 이 때, CPU(101)가 통신부(107)이 렌더링 카메라 파라미터를 수신한 것을 검출할 때, CPU는 클라이언트측 렌더링 처리(후술됨)를 실행한다. 또한, 렌더링 카메라 파라미터가 결정된 후에, 서버 CPU(201)는 이들 파라미터를 사용하여 제1 실시예에서와 동일한 서버측 렌더링 처리를 실행하고, 따라서 1개의 프레임에 관련된 게임 처리를 완료한다.
<클라이언트측 렌더링 처리>
본 실시예의 PC(100)에서 실행된 클라이언트측 렌더링 처리가 도 7에 도시되어 있는 흐름도를 참조하여 이하에 실질적으로 설명될 것이다. 이하의 설명은, CPU(101)가 전술된 바와 같이 통신부(107)이 렌더링 카메라 파라미터를 수신하는 것을 검출할 때 이 클라이언트측 렌더링 처리가 시작된다는 가정 하에 제공될 것이라는 것을 주목하라. 본 실시예의 클라이언트측 렌더링 처리에서, 동일한 단계 번호들이 전술된 제1 실시예의 것들과 동일한 처리를 실행하는 단계들을 나타내고, 그 설명은 반복되지 않을 것이다. 단지 본 실시예의 특징적인 처리만이 설명될 것이다.
렌더링 객체가 단계 S504에서 렌더링된 후에, CPU(101)는 단계 S701에서, VRAM(105) 상의 GPU(104)에 의한 렌더링 범위에 포함된 모든 렌더링 객체의 렌더링이 완료되었는지 여부를 결정한다. CPU(101)가 VRAM(105) 상의 모든 렌더링 객체의 렌더링이 완료되었다고 판단하면, 처리는 단계 S702로 진행하고, 그렇지 않으면 처리는 단계 S502로 복귀한다.
CPU(101)는 단계 S702에서, 게임 화면에 관련된 텍스처링 처리를 적용하지 않고 전역 조명을 적용함으로써 생성된 제2 화면이 수신되었는지 여부를 결정한다. 더 구체적으로, CPU(101)는 통신부(107)이 네트워크(300)를 통해 렌더링 서버(200)로부터 제2 화면을 수신하는지 여부를 결정한다. CPU(101)가 제2 화면이 수신되었다고 판단하면, 처리는 단계 S703으로 진행하고, 그렇지 않으면 이 단계의 처리가 반복된다.
단계 S703에서, CPU(101)는 예를 들어 수신된 제2 화면과 제1 화면을 합성함으로써 디스플레이부(108)에 표시될 최종 게임 화면을 VRAM(105) 상에 생성한다. 더 구체적으로, 제1 및 제2 화면은 예를 들어 R, G 및 B 성분의 화상으로 형성되고, 최종 게임 화면과 연관된 각각의 컬러의 화상은 각각의 컬러의 화상의 동일한 화소 위치에서 화소들을 합성함으로써 생성된다.
단계 S704에서, CPU(101)는 디스플레이 화면 상에 이를 표시하기 위해, 단계 S703에서 생성된 최종 게임 화면을 디스플레이부(108)에 전송한다.
이 방식으로, 게임 진행 관리가 네트워크 게임에서와 같이 서버측에서 실행될 때에도, 본 발명은 렌더링 처리를 효율적으로 분배하도록 적용될 수 있고, 클라이언트 디바이스는 전역 조명이 사용자에게 적용되는 고품질 게임 화면을 제공할 수 있다.
서버가 본 실시예에서와 같이 게임 진행을 관리할 때, 이하의 장점들이 제공될 수 있다는 것을 주목하라. 예를 들어, 서버가 복수의 클라이언트 디바이스에 게임 화면을 동시에 제공할 때, 서버 상의 렌더링 처리의 계산 부하는 예를 들어 신속 응답을 요구하는 게임 콘텐츠에서 높아진다. 즉, 서버가 화면을 제공할 수 있는 클라이언트 디바이스의 수는 그 렌더링 성능 및 요구된 응답성에 따라 제한된다. 대조적으로, 각각의 클라이언트 디바이스가 서버와 클라이언트 디바이스 사이에 렌더링 처리를 공유하기 위해 일반적인 렌더링 성능에 의해 실행될 수 있는 처리를 실행하도록 제어될 때, 화면은 더 많은 클라이언트 디바이스에 제공될 수 있다. 또한, 일반적으로, 텍스처 맵핑을 적용하지 않고 렌더링되는 게임 화면은 높은 압축 효율을 갖고, 인터넷과 같은 네트워크를 통해 더 작은 대역폭을 갖고 송신될 수 있다.
제1 및 제2 실시예에서, 렌더링 처리의 일부 미리결정된 처리는 텍스처링 처리보다 높은 계산 부하 및 높은 계산 성능을 요구하는 전역 조명의 적용 처리로서 설명되었다. 그러나, 본 발명은 이러한 특정 실시예에 한정되는 것은 아니다. 본 발명은 1개의 디바이스가 이들 디바이스 사이의 1개의 화면에 대한 공유된 렌더링 처리를 실행하는 결과로서 복수의 디바이스에 의해 생성된 1개의 화면에 관련된 복수의 화상을 합성함으로써 렌더링 처리를 실행할 때 얻어지는 것과 동일한 화면을 생성한다. 즉, 본 발명은 원하는 화면이 복수의 디바이스에 의해 1개의 화면에 관련된 렌더링 처리의 공유의 결과로서 간단한 처리에 의해 복수의 디바이스로부터 얻어진 화상을 합성함으로써 얻어지는 경우에 적용 가능하다. 예를 들어, 적어도 텍스처링 처리(제1 처리)가 적용되는 렌더링 객체가 렌더링되는 제1 화면 상에 부가적으로 중첩될 수 있는 화상을 생성하기 위한 처리[제2 처리: 예를 들어, 조명 계산(셰이딩 처리), 효과를 제공하는 렌더링 객체의 중첩 등]가 제1 화면을 렌더링하는 디바이스와 상이한 디바이스에 의해 공유되고 실행될 수 있다.
전술된 실시예는 기본 조명 모델을 사용하는 렌더링 처리가 클라이언트 디바이스에 의해 실행되는 경우를 설명하고 있다는 것을 주목하라. 또한, 본 발명은 현존하는 게임 콘솔을 위한 보급된 렌더링 방법으로서 셰이더 아키텍처(shader architecture)를 사용하는 렌더링 처리에 적용 가능하다. 기본 셰이더 아키텍처를 사용하는 렌더링 처리는 일반적으로 버텍스 셰이더(vertex shader), 지오메트리 셰이더(geometry shader) 및 픽셀 셰이더(pixel shader)를 포함한다. 이들 셰이더들 중에서, 텍스처 맵핑을 경험한 렌더링 객체를 렌더링하기 위해 최소로 요구되는 버텍스 셰이더 및 지오메트리 셰이더는 클라이언트 디바이스에 할당될 수 있고, 범프 맵핑(bump mapping) 및 스펙큘러 맵핑(specular mapping)을 포함하는 효과를 적용하는 픽셀 셰이드는 렌더링 서버에 할당될 수 있다.
본 실시예는 렌더링 처리가 2개의 디바이스에 의해 공유되고 실행되는 경우만을 설명하고 있다. 그러나, 본 발명은 이러한 특정 실시예에 한정되는 것은 아니다. 본 발명은 1개의 화면이 2개 이상의 디바이스에 렌더링 처리를 공유함으로써 생성되는 경우에 적용 가능하다는 것이 용이하게 이해될 수 있다. 이 경우에, 렌더링 처리는 1개의 최종 화면이 간단히 각각의 디바이스의 렌더링 처리의 결과로서 화상을 합성함으로써 생성될 수 있도록 공유된다는 것을 주목하라.
본 발명은 바람직하게는 상기 실시예들에 설명된 바와 같이, 1개의 화면이 3차원 장면을 2차원 화상에 렌더링하기 위한 렌더링 처리에서와 같이 생성될 때마다 계산 처리를 실행함으로써 렌더링 처리가 실행되는 경우에 적용된다. 그러나, 본 발명은 이러한 특정 실시예에 한정되는 것은 아니다. 예를 들어, 정지 화상에 대해, 렌더링 서버는 정지 화상을 분석할 수 있고 화상으로서 휘도 보정 필터를 송신할 수 있고, 클라이언트 디바이스는 정지 화상 및 필터를 합성할 수도 있다.
전술된 바와 같이, 본 발명의 렌더링 시스템은 복수의 디바이스가 1개의 화면에 관련된 렌더링 처리를 공유하고 효율적으로 실행하게 한다. 더 구체적으로, 렌더링 시스템은 복수의 디바이스가 디스플레이 디바이스 상에 표시될 화면의 렌더링 처리를 공유하고 실행하게 한다. 복수의 디바이스 중 1개는 그 1개의 디바이스를 제외한 복수의 디바이스의 각각의 디바이스에 표시될 화면의 렌더링 콘텐츠를 결정하기 위해 요구된 정보를 송신한다. 1개의 디바이스가 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 제1 화면을 생성한다. 다른 한편으로, 1개의 디바이스로부터 렌더링 콘텐츠를 결정하기 위해 요구된 정보의 수신시에, 1개의 디바이스를 제외한 각각의 디바이스는 수신된 정보에 따라 표시될 화면의 렌더링 처리의 일부 처리 - 제1 처리를 포함하지 않지만 제1 처리와 상이한 제2 처리를 포함함 - 에 의해 제2 화면을 생성하고, 1개의 디바이스에 생성된 화면을 송신한다. 다음에, 1개의 디바이스는 1개의 디바이스를 제외한 디바이스에 의해 각각 생성된 제2 화면을 수신하고, 제1 화면과 제2 화면을 합성함으로써 표시될 화면을 생성한다.
이 방식으로, 다른 디바이스가 1개의 화면에 관련된 렌더링 처리를 공유하고 실행할 수 있고, 공유된 렌더링 처리의 효과는 합성 처리에 의해 용이하게 적용될 수 있다. 따라서, 예를 들어, 풍부한 게임 화면이 클라이언트 디바이스의 렌더링 성능에 독립적으로 제공될 수 있다.
다른 실시예
본 발명이 예시적인 실시예를 참조하여 설명되었지만, 본 발명은 개시된 예시적인 실시예에 한정되는 것은 아니라는 것이 이해되어야 한다. 이하의 청구범위의 범주는 모든 이러한 수정 및 등가의 구조 및 기능을 포함하기 위해 가장 넓은 해석에 따라야 한다.
본 출원은 2011년 11월 7일 출원된 미국 가특허 출원 제61/556,544호 및 2011년 12월 16일 출원된 일본 특허 출원 제2011-276107호의 이익을 청구하고, 이들 출원은 그대로 본 명세서에 참조로서 통합되어 있다.

Claims (17)

  1. 복수의 디바이스로 하여금 디스플레이 수단 상에 표시될 화면의 렌더링 처리를 공유하고 실행하게 하기 위한 렌더링 시스템에 있어서,
    상기 복수의 디바이스 중 1개의 디바이스는,
    상기 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 상기 복수의 디바이스 중 상기 1개의 디바이스를 제외한 각각의 디바이스에 송신하기 위한 송신 수단과,
    상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 제1 화면을 생성하기 위한 제1 렌더링 수단과,
    상기 1개의 디바이스를 제외한 각각의 디바이스에 의해 생성되고 상기 렌더링된 콘텐츠에 대응하는 제2 화면을 수신하기 위한 화면 수신 수단과,
    상기 제1 렌더링 수단에 의해 생성된 상기 제1 화면과 상기 화면 수신 수단에 의해 수신된 상기 제2 화면을 합성함으로써 상기 표시될 화면을 생성하기 위한 합성 수단
    을 포함하고,
    상기 1개의 디바이스를 제외한 각각의 디바이스는,
    상기 1개의 디바이스로부터 상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 수신하기 위한 수신 수단과,
    상기 수신 수단이 수신한 상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의, 상기 제1 처리를 포함하지 않지만 상기 제1 처리와 상이한 제2 처리를 포함하는 일부 처리를 실행함으로써 상기 제2 화면을 생성하기 위한 제2 렌더링 수단과,
    상기 제2 렌더링 수단에 의해 생성된 상기 제2 화면을 상기 1개의 디바이스에 송신하기 위한 화면 송신 수단
    을 포함하고,
    상기 제1 화면 및 상기 제2 화면이 생성된 후에, 어떤 렌더링 처리도 수행하지 않고 상기 표시될 화면이 생성되는 것인 렌더링 시스템.
  2. 제1 디바이스 및 제2 디바이스로 하여금 디스플레이 수단 상에 표시될 화면의 렌더링 처리를 공유하고 실행하게 하기 위한 렌더링 시스템에 있어서,
    상기 제1 디바이스는,
    상기 제2 디바이스로부터 상기 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 수신하기 위한 수신 수단과,
    상기 수신 수단이 수신한 상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 제1 화면을 생성하기 위한 제1 렌더링 수단과,
    상기 제2 디바이스에 의해 생성되고 상기 렌더링된 콘텐츠에 대응하는 제2 화면을 수신하기 위한 화면 수신 수단과,
    상기 제1 렌더링 수단에 의해 생성된 상기 제1 화면과 상기 화면 수신 수단에 의해 수신된 상기 제2 화면을 합성함으로써 상기 표시될 화면을 생성하기 위한 합성 수단
    을 포함하고,
    상기 제2 디바이스는,
    상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 상기 제1 디바이스에 송신하기 위한 송신 수단과,
    상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의, 상기 제1 처리를 포함하지 않지만 상기 제1 처리와 상이한 제2 처리를 포함하는 일부 처리를 실행함으로써 상기 제2 화면을 생성하기 위한 제2 렌더링 수단과,
    상기 제2 렌더링 수단에 의해 생성된 상기 제2 화면을 상기 제1 디바이스에 송신하기 위한 화면 송신 수단
    을 포함하고,
    상기 제1 화면 및 상기 제2 화면이 생성된 후에, 어떤 렌더링 처리도 수행하지 않고 상기 표시될 화면이 생성되는 것인 렌더링 시스템.
  3. 제1항에 있어서, 상기 표시될 화면의 렌더링 처리는 2차원 화상으로서 3차원 장면을 렌더링하기 위한 처리이고, 상기 제1 화면 및 제2 화면은 동일한 3차원 장면과 연관하여 상이한 처리를 실행함으로써 얻어진 2차원 화상을 포함하는 것인 렌더링 시스템.
  4. 제1항에 있어서, 상기 제2 처리는 상기 제1 처리보다 계산 부하가 높은 처리인 것인 렌더링 시스템.
  5. 제1항에 있어서, 상기 제1 처리는 상기 표시될 화면 내에 포함된 렌더링 객체에 텍스처를 적용하기 위한 처리인 것인 렌더링 시스템.
  6. 제1항에 있어서, 상기 제2 처리는 상기 표시될 화면 내에 포함된 렌더링 객체를 위한 조명 계산을 포함하는 처리인 것인 렌더링 시스템.
  7. 제1항에 있어서, 상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보는 상기 표시될 화면을 규정하기 위해 요구된 카메라의 위치 및 방향을 나타내는 정보인 것인 렌더링 시스템.
  8. 제1항에 있어서, 상기 제1 화면 및 제2 화면은 R 성분, G 성분 및 B 성분의 화상으로 형성되고,
    상기 합성 수단은 각각의 컬러 성분에 대한 화상의 화소값을 합성함으로써 상기 표시될 화면의 R 성분, G 성분 및 B 성분의 화상을 생성하는 것인 렌더링 시스템.
  9. 제1항, 제3항 내지 제8항 중 어느 한 항에 있어서, 상기 화면 수신 수단이 상기 제2 화면을 수신하는 것에 실패할 때, 상기 합성 수단은 상기 표시될 화면으로서 상기 제1 화면을 출력하는 것인 렌더링 시스템.
  10. 복수의 디바이스로 하여금 디스플레이 수단 상에 표시될 화면의 렌더링 처리를 공유하고 실행하게 하는 렌더링 시스템에 있어서,
    상기 렌더링 시스템은, 상기 디스플레이 수단 상에 표시될 사용자 인터페이스 상에,
    상기 복수의 디바이스 중 1개의 디바이스에 의해 상기 렌더링 처리의 제1 처리를 포함하는 일부 처리를 실행함으로써 생성된 제1 화면이 상기 표시될 화면으로서 표시된다는 것을 나타내는 통상 화면 통지 필드와,
    상기 복수의 디바이스 중 상기 1개의 디바이스를 제외한 디바이스에 의해 상기 렌더링 처리의, 상기 제1 처리를 포함하지 않지만 상기 제1 처리와 상이한 제2 처리를 포함하는 일부 처리를 실행함으로써 생성된 상기 제1 화면과 제2 화면을 합성함으로써 얻어진 확장 화면이 상기 표시될 화면으로서 표시된다는 것을 나타내는 확장 화면 통지 필드
    를 포함하고,
    상기 제1 화면 및 상기 제2 화면이 생성된 후에, 어떤 렌더링 처리도 수행하지 않고 상기 확장 화면이 얻어지는 것인 렌더링 시스템.
  11. 클라이언트 디바이스에 접속된 디스플레이 수단 상에 표시될 화면의 렌더링 처리의 일부 처리를 취급하는 렌더링 서버에 있어서,
    상기 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의 미리 결정된 처리를 포함하는 일부 처리를 실행함으로써 제2 화면을 생성하기 위한 렌더링 수단과,
    상기 렌더링 수단에 의해 생성된 상기 제2 화면을 상기 클라이언트 디바이스에 송신하기 위한 송신 수단
    을 포함하고,
    상기 클라이언트 디바이스에서는,
    상기 표시될 화면의 상기 렌더링 처리의, 상기 미리 결정된 처리를 포함하지 않지만 상기 미리 결정된 처리와 상이한 다른 처리를 포함하는 일부 처리를 실행함으로써 제1 화면이 생성되고,
    어떤 렌더링 처리도 수행하지 않고 상기 제1 화면과 상기 제2 화면을 합성함으로써 상기 표시될 화면이 생성되는 것인 렌더링 서버.
  12. 제11항에 있어서, 상기 렌더링 수단은 상기 표시될 화면 내에 포함된 렌더링 객체에 텍스처링 처리를 적용하지 않고 제공될 화면을 생성하는 것인 렌더링 서버.
  13. 제11항에 있어서, 상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보는 상기 표시될 화면을 규정하기 위해 요구된 카메라의 위치 및 방향을 나타내는 정보인 것인 렌더링 서버.
  14. 클라이언트 디바이스에 접속된 디스플레이 수단 상에 표시될 화면의 렌더링 처리의 일부 처리를 취급하는 렌더링 서버의 제어 방법에 있어서,
    상기 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의 미리 결정된 처리를 포함하는 일부 처리를 실행함으로써 제2 화면을 생성하는 렌더링 단계와,
    상기 렌더링 단계에서 생성된 상기 제2 화면을 상기 클라이언트 디바이스에 송신하는 송신 단계
    를 포함하고,
    상기 클라이언트 디바이스에서는,
    상기 표시될 화면의 상기 렌더링 처리의, 상기 미리 결정된 처리를 포함하지 않지만 상기 미리 결정된 처리와 상이한 다른 처리를 포함하는 일부 처리를 실행함으로써 제1 화면이 생성되고,
    어떤 렌더링 처리도 수행하지 않고 상기 제1 화면과 상기 제2 화면을 합성함으로써 상기 표시될 화면이 생성되는 것인 렌더링 서버의 제어 방법.
  15. 제11항 내지 제13항 중 어느 한 항의 렌더링 서버의 각각의 수단으로서 기능하도록 컴퓨터를 제어하기 위한 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체.
  16. 디스플레이 수단이 접속된 컴퓨터를 제어하는 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체에 있어서,
    상기 디스플레이 수단 상에 표시될 화면의 렌더링된 콘텐츠를 결정하기 위해 요구된 정보를 렌더링 서버에 송신하기 위한 송신 수단,
    상기 렌더링된 콘텐츠를 결정하기 위해 요구된 정보에 따라 상기 표시될 화면의 렌더링 처리의 제1 처리를 포함하는 일부 처리와 상이한 일부 처리를 실행함으로써 제1 화면을 생성하기 위한 렌더링 수단,
    상기 렌더링 서버에 의해 생성되고 상기 렌더링된 콘텐츠에 대응하는 제2 화면을 수신하기 위한 화면 수신 수단,
    상기 렌더링 수단에 의해 생성된 상기 제1 화면과 상기 화면 수신 수단에 의해 수신된 상기 제2 화면을 합성함으로써 상기 표시될 화면을 생성하기 위한 합성 수단, 및
    상기 합성 수단에 의해 생성된 상기 표시될 화면을 상기 디스플레이 수단 상에 표시하기 위한 수단
    으로서 기능하고,
    상기 제1 화면 및 상기 제2 화면이 생성된 후에, 어떤 렌더링 처리도 수행하지 않고 상기 표시될 화면이 생성되도록 상기 컴퓨터를 제어하는 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체.
  17. 삭제
KR1020147015303A 2011-11-07 2012-10-05 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체 KR101589396B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161556544P 2011-11-07 2011-11-07
US61/556,544 2011-11-07
JPJP-P-2011-276107 2011-12-16
JP2011276107A JP5977023B2 (ja) 2011-11-07 2011-12-16 描画システム、プログラム、及び記録媒体
PCT/JP2012/076560 WO2013069409A1 (en) 2011-11-07 2012-10-05 Rendering system, rendering server, control method thereof, program, and recording medium

Publications (2)

Publication Number Publication Date
KR20140098772A KR20140098772A (ko) 2014-08-08
KR101589396B1 true KR101589396B1 (ko) 2016-01-27

Family

ID=48620773

Family Applications (1)

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

Country Status (7)

Country Link
US (1) US9665334B2 (ko)
EP (1) EP2777023A4 (ko)
JP (1) JP5977023B2 (ko)
KR (1) KR101589396B1 (ko)
CN (1) CN103918012A (ko)
CA (1) CA2853212C (ko)
WO (1) WO2013069409A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053582B2 (en) 2012-06-11 2015-06-09 Disney Enterprises, Inc. Streaming light propagation
US9123162B2 (en) 2012-06-11 2015-09-01 Disney Enterprises, Inc. Integration cone tracing
US8957896B2 (en) 2012-06-11 2015-02-17 Disney Enterprises, Inc. Streaming hierarchy traversal renderer
US9123154B2 (en) * 2012-10-09 2015-09-01 Disney Enterprises, Inc. Distributed element rendering
US9508315B2 (en) 2013-03-08 2016-11-29 Disney Enterprises, Inc. Ordering rays in rendered graphics for coherent shading
US10008034B2 (en) * 2013-05-03 2018-06-26 Nvidia Corporation System, method, and computer program product for computing indirect lighting in a cloud network
US10713838B2 (en) * 2013-05-03 2020-07-14 Nvidia Corporation Image illumination rendering system and method
KR102058465B1 (ko) * 2013-05-22 2019-12-23 삼성전자 주식회사 전자기기 원격제어 시스템 및 이의 운용방법
JP6379673B2 (ja) * 2014-05-26 2018-08-29 凸版印刷株式会社 描画システム、描画装置、計算装置、描画プログラム、及び描画プロセッサ基盤
CN106887032B (zh) * 2015-12-15 2020-09-29 中国电信股份有限公司 三维场景渲染方法和系统以及相关设备
WO2017135984A1 (en) * 2016-02-01 2017-08-10 Google Inc. Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources
CN106157366A (zh) * 2016-08-03 2016-11-23 上海同筑信息科技有限公司 基于bim的超大场景在移动端的渲染优化方法及系统
GB2576846A (en) 2017-04-21 2020-03-04 Zenimax Media Inc Systems and methods for game-generated motion vectors
EP3613210A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR DELAYED POST-PROCESSING IN VIDEO ENCODING
CA3060089C (en) 2017-04-21 2023-06-13 Zenimax Media Inc. Player input motion compensation by anticipating motion vectors
US10225564B2 (en) 2017-04-21 2019-03-05 Zenimax Media Inc Systems and methods for rendering and pre-encoded load estimation based encoder hinting
RU2730435C1 (ru) 2017-04-21 2020-08-21 Зенимакс Медиа Инк. Системы и способы рендеринга с адаптируемым качеством под управлением кодировщика
CN111694625B (zh) * 2019-03-14 2023-05-19 阿里巴巴集团控股有限公司 一种车盒向车机投屏的方法和设备
US11270496B2 (en) * 2019-05-24 2022-03-08 Nvidia Corporation Fine grained interleaved rendering applications in path tracing
CN112118463A (zh) * 2019-06-21 2020-12-22 广州虎牙科技有限公司 一种信息处理方法、云平台及信息处理系统
US11941752B2 (en) 2020-07-21 2024-03-26 Nvidia Corporation Streaming a compressed light field
CN111882636A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种画面渲染方法、装置、设备和介质
US11501467B2 (en) 2020-11-03 2022-11-15 Nvidia Corporation Streaming a light field compressed utilizing lossless or lossy compression
WO2023002687A1 (ja) * 2021-07-19 2023-01-26 ソニーグループ株式会社 情報処理装置及び情報処理方法
CN114489540B (zh) * 2022-01-12 2022-09-23 广州三七极耀网络科技有限公司 游戏画面的协同显示方法、系统、装置及介质
CN116524104B (zh) * 2023-07-03 2023-10-03 腾讯科技(深圳)有限公司 渲染数据处理方法、装置、设备及存储介质

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 (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261030A (en) * 1991-07-24 1993-11-09 Hughes Training, Inc. Real-time digital computer graphics processing method and apparatus
JPH0683977A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd 描画方式
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
JPH06214555A (ja) * 1993-01-20 1994-08-05 Sumitomo Electric Ind Ltd 画像処理装置
IL119928A (en) * 1996-12-29 2001-01-11 Univ Ramot Model-based view extrapolation for interactive virtual reality systems
GB2347332B (en) 1998-10-28 2003-07-09 Canon Kk Computer games apparatus
US6226017B1 (en) * 1999-07-30 2001-05-01 Microsoft Corporation Methods and apparatus for improving read/modify/write operations
JP3269814B2 (ja) 1999-12-03 2002-04-02 株式会社ナムコ 画像生成システム及び情報記憶媒体
JP3466173B2 (ja) * 2000-07-24 2003-11-10 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
JP2002216151A (ja) 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
US7064766B2 (en) 2001-10-18 2006-06-20 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
WO2003075116A2 (en) 2002-03-01 2003-09-12 T5 Labs Ltd Centralised interactive graphical application server
US7088374B2 (en) * 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
JP2006252291A (ja) 2005-03-11 2006-09-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US7385614B2 (en) 2005-03-28 2008-06-10 Silicon Graphics, Inc. Compositing images using logically divided object space
US8527563B2 (en) 2005-09-12 2013-09-03 Microsoft Corporation Remoting redirection layer for graphics device interface
JP4772058B2 (ja) * 2005-11-15 2011-09-14 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
US20080030510A1 (en) 2006-08-02 2008-02-07 Xgi Technology Inc. Multi-GPU rendering system
CN101295408A (zh) * 2007-04-27 2008-10-29 新奥特硅谷视频技术有限责任公司 一种3d图文渲染方法和渲染系统
WO2009067675A1 (en) * 2007-11-23 2009-05-28 Mercury Computer Systems, Inc. Client-server visualization system with hybrid data processing
US8117617B2 (en) 2007-11-26 2012-02-14 Xerox Corporation Energy-aware print job management
EP2364190B1 (en) 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
US9270783B2 (en) * 2008-12-06 2016-02-23 International Business Machines Corporation System and method for photorealistic imaging workload distribution
KR101266360B1 (ko) * 2009-08-24 2013-05-22 한국전자통신연구원 전역조명을 지원하는 그래픽 처리 장치 및 이를 이용한 그래픽 처리 방법
CN102118573B (zh) * 2009-12-30 2015-06-17 新奥特(北京)视频技术有限公司 一种增加虚实结合度的虚拟体育系统
US8280172B1 (en) * 2011-03-22 2012-10-02 Mitutoyo Corporation Edge location measurement correction for coaxial light images
US20120280991A1 (en) * 2011-05-03 2012-11-08 Microsoft Corporation Employing mesh files to animate transitions in client applications

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
US20140285499A1 (en) 2014-09-25
JP2013099494A (ja) 2013-05-23
WO2013069409A1 (en) 2013-05-16
CA2853212C (en) 2018-03-20
KR20140098772A (ko) 2014-08-08
US9665334B2 (en) 2017-05-30
EP2777023A1 (en) 2014-09-17
JP5977023B2 (ja) 2016-08-24
CA2853212A1 (en) 2013-05-16
CN103918012A (zh) 2014-07-09
EP2777023A4 (en) 2015-12-23

Similar Documents

Publication Publication Date Title
KR101589396B1 (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
US11617947B2 (en) Video game overlay
KR101623288B1 (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US11458393B2 (en) Apparatus and method of generating a representation of a virtual environment
US9937423B2 (en) Voice overlay
JP6341986B2 (ja) 描画装置、その描画方法、プログラム及び記録媒体
KR101536501B1 (ko) 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
TWI608856B (zh) 資訊處理裝置、成像裝置、方法及程式
JP6959365B2 (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
JP6576245B2 (ja) 情報処理装置、制御方法及びプログラム
JP7425196B2 (ja) ハイブリッドストリーミング
EP2954495B1 (en) Information processing apparatus, method of controlling the same, program, and storage medium
TWI532005B (zh) An animation distribution server, an animation reproduction apparatus, a control method, a program, and a recording medium

Legal Events

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