KR101923011B1 - 장면 이미지 생성기 - Google Patents

장면 이미지 생성기 Download PDF

Info

Publication number
KR101923011B1
KR101923011B1 KR1020177012635A KR20177012635A KR101923011B1 KR 101923011 B1 KR101923011 B1 KR 101923011B1 KR 1020177012635 A KR1020177012635 A KR 1020177012635A KR 20177012635 A KR20177012635 A KR 20177012635A KR 101923011 B1 KR101923011 B1 KR 101923011B1
Authority
KR
South Korea
Prior art keywords
data
value
rendered object
processor
stored
Prior art date
Application number
KR1020177012635A
Other languages
English (en)
Other versions
KR20170068546A (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 KR20170068546A publication Critical patent/KR20170068546A/ko
Application granted granted Critical
Publication of KR101923011B1 publication Critical patent/KR101923011B1/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/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

장면 이미지를 생성하는 데 유효한 방법 및 시스템에 대한 기술이 일반적으로 설명된다. 예시에서, 프로세서는 제1 장치로부터 제1 렌더링된 객체를 수신할 수 있고, 또한 제1 렌더링된 객체를 메모리에 저장할 수 있다. 제1 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제1 속성 데이터를 포함할 수 있다. 또한, 프로세서는 장면 이미지를 생성하도록 제2 장치로부터 요청을 수신할 수 있다. 장면 이미지는 객체 데이터에 기초할 수 있고 객체 데이터의 제2 속성 데이터를 포함할 수 있는 제2 렌더링된 객체의 객체 이미지를 포함할 수 있다. 또한, 프로세서는 제2 속성 데이터를 제1 속성 데이터와 비교하여 일치 값을 결정할 수 있다. 프로세서는 또한 일치 값에 기초하여 장면 이미지를 생성하도록 저장된 제1 렌더링된 객체를 선택할지 여부를 결정할 수 있다.

Description

장면 이미지 생성기{SCENE IMAGE GENERATOR}
여기에서 달리 지적되지 않는다면, 본 섹션에서 설명되는 내용은 본 출원에서 청구범위에 대한 선행 기술이 아니며, 본 섹션에 포함함으로써 선행 기술로 인정되지 않는다.
비디오 게임과 같은, 애플리케이션은 디스플레이 상에 디스플레이 가능한 캐릭터 또는 무기와 같은, 객체 이미지(object image)와 연관될 수 있는 객체 데이터를 포함할 수 있다. 애플리케이션은 하나 이상의 장면 이미지를 생성하는 데 더 유효할 수 있고, 여기에서 각각의 장면 이미지는 장면 데이터에 기초할 수 있다. 장면 데이터는 렌더링된 객체의 합성(composition)일 수 있고, 장면 이미지로서 디스플레이 가능할 수 있다. 예시에서, 프로세서는 객체 데이터 및 객체 데이터의 속성(attribute)에 기초하여 렌더링된 객체를 생성할 수 있다.
일부 예시에서, 장면 이미지를 생성하기 위한 방법이 일반적으로 설명된다. 방법은 프로세서에 의해, 제1 장치로부터 제1 렌더링된 객체를 수신하는 단계를 포함할 수 있다. 제1 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제1 속성 데이터를 포함할 수 있다. 방법은 또한 프로세서에 의해, 제1 렌더링된 객체 및 객체 데이터를 메모리에 저장하는 단계를 포함할 수 있다. 메모리는 프로세서와 통신하도록 구성될 수 있다. 또한, 방법은 프로세서에 의해, 장면 이미지를 생성하도록 제2 장치로부터 요청을 수신하는 단계를 포함할 수 있다. 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함할 수 있다. 제2 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제2 속성 데이터를 포함할 수 있다. 방법은 또한 프로세서에 의해, 일치 값(match value)을 결정하도록 제2 속성 데이터를 제1 속성 데이터와 비교하는 단계를 포함할 수 있다. 또한, 방법은 프로세서에 의해, 장면 이미지를 생성하도록 저장된 제1 렌더링된 객체 또는 저장된 객체 데이터를 선택할지 여부를 결정하는 단계를 포함할 수 있다. 선택 여부의 결정은 일치 값에 기초할 수 있다.
일부 예시에서, 장면 이미지를 생성하는 데 유효한 시스템이 일반적으로 설명된다. 시스템은 메모리를 포함할 수 있다. 메모리는 명령어를 저장하도록 구성될 수 있다. 또한, 시스템은 프로세서를 포함할 수 있다. 프로세서는 메모리와 통신하도록 구성될 수 있다. 프로세서는 제1 장치로부터 제1 렌더링된 객체를 수신하도록 구성될 수 있다. 제1 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제1 속성 데이터를 포함할 수 있다. 프로세서는 제1 렌더링된 객체 및 객체 데이터를 메모리에 저장하도록 더 구성될 수 있다. 프로세서는 장면 이미지를 생성하기 위해 제2 장치로부터 요청을 수신하도록 더 구성될 수 있다. 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함할 수 있다. 제2 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제2 속성 데이터를 포함할 수 있다. 제2 요청의 수신에 응답하여, 프로세서는 제2 속성 데이터를 제1 속성 데이터와 비교하기 위한 메모리에 저장된 명령어를 실행할 수 있다. 또한, 프로세서는 비교에 기초하여 제1 및 제2 속성 간의 일치 값을 결정하기 위한 명령어를 실행할 수 있다. 또한, 프로세서는 장면 이미지를 생성하도록 저장된 제1 렌더링된 객체 또는 저장된 객체 데이터를 선택할지 여부를 결정하기 위한 명령어를 실행할 수 있다. 선택 여부의 결정은 일치 값에 기초할 수 있다.
일부 예시에서, 장면 이미지를 생성하는 데 유효한 시스템이 일반적으로 설명된다. 시스템은 메모리를 포함할 수 있다. 메모리는 명령어를 저장하도록 구성될 수 있다. 시스템은 제1 프로세서 및 제2 프로세서를 포함할 수 있다. 제1 프로세서는 메모리와 통신하도록 구성될 수 있다. 제1 프로세서는 제1 렌더링된 객체를 생성하도록 구성될 수 있다. 제1 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제1 속성 데이터를 포함할 수 있다. 또한, 제1 프로세서는 제1 렌더링된 객체 및 객체 데이터를 메모리에 저장하도록 구성될 수 있다. 제2 프로세서는 메모리 및 제1 프로세서와 통신하도록 구성될 수 있다. 제2 프로세서는 장면 이미지를 생성하기 위해 장치로부터 요청을 수신하도록 구성될 수 있다. 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함할 수 있다. 제2 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제2 속성 데이터를 포함할 수 있다. 제2 요청의 수신에 응답하여, 제2 프로세서는 제2 속성 데이터를 제1 속성 데이터와 비교하기 위한 메모리에 저장된 명령어를 실행할 수 있다. 또한, 제2 프로세서는 비교에 기초하여 제1 및 제2 속성 간의 일치 값을 결정하기 위한 명령어를 실행할 수 있다. 또한, 제2 프로세서는 장면 이미지를 생성하도록 저장된 제1 렌더링된 객체 또는 저장된 객체 데이터를 선택할지 여부를 결정하기 위한 명령어를 실행하도록 구성될 수 있다. 선택 여부의 결정은 일치 값에 기초할 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것은 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 전술한 예시적인 양태들, 실시예들 및 특징들에 더하여, 추가적인 양태들, 실시예들 및 특징들 또한 명확해질 것이다.
본 개시의 전술한 특징 및 다른 특징은 첨부 도면과 결합하여, 다음의 설명 및 첨부된 청구범위로부터 더욱 충분히 명백해질 것이다. 이들 도면은 본 개시에 따른 단지 몇 개의 실시예를 도시할 뿐이고, 따라서, 그 범위를 제한하는 것으로 고려되어서는 안 될 것임을 이해하면서, 본 개시는 첨부 도면의 사용을 통해 더 구체적이고 상세하게 설명될 것이다.
도 1은 장면 이미지 생성기를 구현하는 데 이용될 수 있는 예시적인 시스템을 예시하고;
도 2는 프로세서가 속성 데이터를 비교하는 데 어떻게 사용될 수 있는지에 관하여 더 상세하게 도 1의 예시적인 시스템을 예시하고;
도 3은 하나 이상의 분포 도메인을 가지는 장면 이미지 생성기의 구현에 관하여 더 상세하게 도 1의 예시적인 시스템을 예시하고;
도 4는 장면 이미지 생성기를 구현하기 위한 예시적인 프로세스에 대한 흐름도를 예시하고;
도 5는 장면 이미지 생성기를 구현하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품을 예시하며; 그리고
도 6은 장면 이미지 생성기를 구현하도록 배열되는 예시적인 컴퓨팅 장치를 예시하는 블록도이다.
모두 여기에서 설명되는 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서, 여기의 일부를 이루는 첨부하는 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 도면에서 유사한 부호는 전형적으로 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면 및 청구범위에 설명되는 예시적인 실시예들은 제한적으로 여겨지지 않는다. 여기에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서 다른 실시예들이 이용될 수 있고, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 예시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있고, 이 모두는 여기에서 명시적으로 고려됨이 쉽게 이해될 것이다.
본 개시는 그 중에서도, 장면 이미지의 생성에 관한 방법, 기구, 시스템, 장치 및 컴퓨터 프로그램 제품에 일반적으로 관련된다.
간략하게 설명하면, 장면 이미지를 생성하는 데 유효한 방법 및 시스템에 대한 기술이 일반적으로 설명된다. 예시에서, 프로세서는 제1 장치로부터 제1 렌더링된 객체를 수신할 수 있고, 또한 제1 렌더링된 객체를 메모리에 저장할 수 있다. 제1 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제1 속성 데이터를 포함할 수 있다. 예컨대, 제1 렌더링된 객체는 제1 크기의 캐릭터일 수 있고, 여기에서 객체 데이터는 캐릭터의 모델일 수 있고, 제1 속성 데이터는 제1 크기를 나타내는 데 유효할 수 있다. 또한, 프로세서는 장면 이미지를 생성하도록 제2 장치로부터 요청을 수신할 수 있다. 장면 이미지는 객체 데이터에 기초할 수 있고 객체 데이터의 제2 속성 데이터를 포함할 수 있는 제2 렌더링된 객체의 객체 이미지를 포함할 수 있다. 예컨대, 장면 이미지는 동일한 캐릭터이지만 제1 크기와 상이한 제2 크기의 객체 이미지를 포함할 수 있다. 또한, 프로세서는 제2 속성 데이터를 제1 속성 데이터와 비교하여 일치 값을 결정할 수 있다. 예컨대, 프로세서는 제1 크기를 제2 크기와 비교할 수 있다. 프로세서는 또한 일치 값에 기초하여 장면 이미지를 생성하도록 저장된 제1 렌더링된 객체를 선택할지 여부를 결정할 수 있다. 예컨대, 일치 값이 제1 크기가 제2 크기와 일치함을 나타내는 경우, 프로세서는 장면 이미지를 생성하기 위해 제2 렌더링된 객체를 생성하는 대신, 장면 이미지의 생성에 사용될 제1 렌더링된 객체를 선택할 수 있다.
도 1은 여기에서 설명되는 적어도 일부 실시예에 따라 배열된, 장면 이미지 생성기를 구현하는 데 이용될 수 있는 예시적인 시스템(100)을 예시한다. 이하에서 더 상세히 설명될 것처럼, 시스템(100)은 어떻게 장면 이미지(138)를 생성할 것인지 결정하기 위해 분포 도메인(distribution domain)(120)으로 구현될 수 있다. 시스템(100)은 요청된 렌더링된 객체를 생성함으로써 그리고/또는 메모리에 저장될 수 있는 렌더링된 객체를 검색함으로써 장면 이미지(138)를 생성하도록 구현될 수 있다. 분포 도메인(120)은 (저장된 렌더링된 객체(144a, 144b, 144c, 144d)를 포함하는) 저장된 렌더링된 객체(144)를 수신하고 저장하도록 구성된 메모리(124)를 포함할 수 있다. 저장된 렌더링된 객체(144)는 예컨대, 비디오 게임과 같은 애플리케이션(118)의 저장된 객체 데이터(142)(저장된 객체 데이터 142a, 142b, 142c, 142d를 포함함)에 기초하여 생성되는 렌더링된 객체일 수 있다. 저장된 객체 데이터(142)의 예시는 비디오 게임의 캐릭터의 3 차원 모델과 같은, 객체 또는 모델을 표현하는 데 유효한 데이터일 수 있다. 저장된 렌더링된 객체(144)는 저장된 객체 데이터(142)에 의해 표현된 객체의 저장된 속성 데이터(143)(저장된 속성 데이터 143a, 143b, 143c, 143d를 포함함)를 포함할 수 있다. 속성 데이터(143)는 예컨대, 저장된 객체 데이터(142)에 의해 표현된 객체의 ID(identification), 크기 등과 같은, 저장된 객체 데이터(142)에 의해 표현된 객체의 하나 이상의 속성을 설명하는 데 유효할 수 있다. 예컨대, 저장된 렌더링된 객체(144d)는 저장된 객체 데이터(142d)의 저장된 속성 데이터(143d)를 포함할 수 있으며, 여기에서 저장된 속성 데이터(143d)는 저장된 렌더링된 객체(144d)에서 저장된 객체 데이터(142d)에 의해 표현된 객체의 크기를 나타낼 수 있다. 저장된 렌더링된 객체(144a, 144b, 144c, 144d) 및 저장된 객체 데이터(142a, 142b, 142c, 142d)는 메모리(124)에 저장될 수 있다.
분포 도메인(120)은 장면 이미지(138)를 생성하기 위한 요청(136)을 수신할 수 있고, 여기에서 장면 이미지(138)는 요청된 렌더링된 객체(148)의 객체 이미지(146)(객체 이미지 146a, 146b, 146c, 146d를 포함함)를 포함할 수 있다. 일부 예시에서, 요청(136)은 저장된 객체 데이터(142)의 ID를 포함할 수 있고 요청된 속성 데이터(145)(요청된 속성 데이터 145a, 145b, 145c, 145d를 포함함)의 표시(indication)를 포함할 수 있다. 일부 예시에서, 요청(136)은 애플리케이션(118)의 객체에 대한 요청을 포함할 수 있고, 분포 도메인(120)의 프로세서(122)는 요청된 객체를 표현하는 저장된 객체 데이터(142)를 식별할 수 있다. 요청된 렌더링된 객체(148)의 생성은 이하에서 설명되는 바와 같이 요구된 속성 데이터(145)를 저장된 객체 데이터(142)에 적용하는 것에 기초할 수 있다. 분포 도메인(120)의 프로세서(122)는 요청된 속성 데이터(145)를 메모리(124)에 저장된 저장된 속성 데이터(143)와 비교하여 일치 값(190)을 결정할 수 있다. 일치 값(190)은 요청된 속성 데이터(145)가 저장된 속성 데이터(143)와 일치하는지 여부를 나타낼 수 있다. 또한, 프로세서(122)는 일치 값(190)에 기초하여, 메모리(124)에 저장된 저장된 렌더링된 객체(144)를 선택할지, 요청된 렌더링된 객체(148)를 생성할지, 또는 요청된 렌더링된 객체(148)를 애플리케이션 도메인(110)으로부터 요청할지 여부를 일치 값(190)에 기초하여 결정할 수 있다. 결정에 기초하여, 프로세서(122)는 메모리(124)에 저장된 저장된 렌더링된 객체(144) 사용하여 그리고/또는 요청된 렌더링된 객체(148)에 기초하여 장면 이미지(138)를 생성할 수 있다.
사용자(130)는 애플리케이션(118)을 실행하기 위해 장치(132)를 사용할 수 있다. 장치(132)는 네트워크(102)를 통해 분포 도메인(120)과 통신하도록 구성될 수 있는, 휴대 전화, 랩톱 컴퓨터, 비디오 게임 콘솔 등일 수 있다. 일부 예시에서, 분포 도메인(120)은 CDN(content delivery network)와 연관될 수 있다. 네트워크(102)는 인터넷일 수 있거나 셀룰러 네트워크일 수 있다. 장치(132)는 애플리케이션(118)을 저장하도록 구성될 수 있는 장치 메모리(134)를 포함할 수 있다. 장치(132)에서 애플리케이션(118)의 실행 동안, 장치(132)는 사용자(130)에 의한 입력에 기초하여 장면 이미지(138)에 대한 요청(136)을 생성할 수 있다. 예컨대, 사용자(130)는 버튼과 같은, 장치(132)의 조종 장치를 사용하여 요청(136)을 생성하기 위한 명령(command)를 입력할 수 있다. 일부 예시에서, 장치(132)는 애플리케이션(118)의 실행에 기초하여 요청(136)을 생성할 수 있다. 예컨대, 장치(132)는 장면 이미지(138)가 애플리케이션(118)의 실행을 계속하도록 요구되는 경우, 요청(136)을 생성할 수 있다. 일부 예시에서, 요청(136)은 특정 렌더링된 객체를 장면 이미지(138)에 삽입하기 위한 요청일 수 있다. 애플리케이션(118)이 비디오 게임인 예시에서, 예시적인 장면 이미지는 비디오 게임의 스테이지, 던전 등일 수 있다. 애플리케이션(118)이 비디오 게임인 예시에서, 렌더링된 객체의 예시는 비디오 게임의 캐릭터 또는 장비 등일 수 있다. 애플리케이션(118)이 비디오 게임인 예시에서, 요청(136)은 비디오 게임의 특정 스테이지 또는 장치(132)에 의해 디스플레이되는 현재 장면 이미지로의 캐릭터 삽입에 대한 요청 등일 수 있다.
장치(132)는 네트워크(102)를 통해 분포 도메인(120)에 요청(136)을 전송할 수 있다. 분포 도메인(120)은 프로세서(122) 및/또는 메모리(124)를 포함할 수 있으며, 프로세서(122) 및 메모리(124)는 서로 통신하도록 구성될 수 있다. 메모리(124)는 하나 이상의 저장된 렌더링된 객체(144) 및 저장된 객체 데이터(142)를 저장하도록 구성될 수 있다. 메모리(124)는 매칭 명령어(160)를 저장하도록 더 구성될 수 있으며, 매칭 명령어(160)는 요청된 속성 데이터(145)를 저장된 속성 데이터(143)와 비교하도록 프로세서(122)에 명령하는 데 유효할 수 있다. 매칭 명령어(160)은 비교에 기초하여 일치 값(190)을 결정하도록 프로세서(122)에 명령하는 데 더 유효할 수 있다. 예시에서, 분포 도메인(120)의 프로세서(122)는 요청(136)을 수신할 수 있고, 이에 응답하여 요청된 속성 데이터(145)를 저장된 속성 데이터(143)와 비교하여 일치 값(190)을 결정할 수 있다.
일치 값(190)이 요청된 속성 데이터(145)와 저장된 속성 데이터(143) 사이의 일치를 나타내면, 프로세서(122)는 메모리(124)로부터 저장된 속성 데이터(143)와 연관되는 저장된 렌더링된 객체(144)를 검색할 수 있고, 저장된 렌더링된 객체(144)를 사용하여 장면 이미지(138)를 생성할 수 있다. 요청된 속성 데이터(145)가 저장된 속성 데이터(143)와 일치하지 않는다는 것을 나타내면, 프로세서(122)는 요청된 속성 데이터(145)를 저장된 객체 데이터(142)에 적용하거나, 요청된 속성 데이터(145)를 저장된 렌더링된 객체(144)에 적용하여, 요청된 렌더링된 객체(148)를 생성할 수 있다(이하에서 설명됨). 일부 예시에서, 일치 값(190)이 요청된 속성 데이터(145)가 저장된 속성 데이터(143)와 일치하지 않는다는 것을 나타내는 경우, 프로세서(122)는 요청된 렌더링된 객체(148)를 생성하도록 애플리케이션 도메인(110)에 요청하기 위한 요청(180)을 생성할 수 있다.
예시에서, 일치 값(190)은 요청된 속성 데이터(145a, 145c)가 저장된 속성 데이터(143a, 143c)와 일치하지 않음을 나타낼 수 있다. 프로세서(122)는 요청(180)을 생성할 수 있으며, 여기에서 요청(180)은 저장된 객체 데이터(142a, 142c)의 ID를 포함할 수 있고, 요청된 속성 데이터(145a, 145c)의 표시를 포함할 수 있다. 프로세서(122)는 요청된 속성 데이터(145a, 145c)에 기초하여 요청된 렌더링된 객체(148a, 148c)의 생성을 요청하기 위해 요청(180)을 애플리케이션 도메인(110)에 전송할 수 있다. 애플리케이션 도메인(110)의 애플리케이션 프로세서(112)는 요청(180)을 수신할 수 있으며, 이에 응답하여 요청된 렌더링된 객체(148a, 148c)를 생성할지 여부를 결정하기 위해 애플리케이션 명령어(119)를 분석할 수 있다.
애플리케이션 도메인(110)은 서로 통신하도록 구성된 애플리케이션 프로세서(112) 및/또는 애플리케이션 메모리(114)를 포함할 수 있다. 애플리케이션 메모리(114)는 애플리케이션(118), 애플리케이션 명령어(119) 및/또는 저장된 객체 데이터(142)를 저장하도록 구성될 수 있다. 애플리케이션 명령어(119)는 요청된 속성 데이터(145)와 같은 속성 데이터를 저장된 객체 데이터(142)에 적용하도록 애플리케이션 프로세서(112)에 명령하는 데 유효할 수 있다. 애플리케이션 프로세서(112)는 요청된 렌더링된 객체(148a, 148c)를 생성할 수 있고, 네트워크(102)를 통해 요청된 렌더링된 객체(148a, 148c)를 분포 도메인(120)에 전송할 수 있다. 프로세서(122)는 저장된 렌더링된 객체(144) 및/또는 요청된 렌더링된 객체(148)의 합성(composition)과 같은 것에 의해 장면 데이터(140)를 생성할 수 있다. 프로세서(122)는 장면 데이터(140)에 기초하여 장면 이미지(138)를 생성할 수 있고, 장치(132)의 디스플레이 상에 디스플레이되도록 장치(132)에 장면 이미지(138)를 전송할 수 있다. 프로세서(122)는 이후 메모리(124)에 요청된 렌더링된 객체(148a, 148c)를 저장할 수 있고, 이는 요청된 객체(148a, 148c)의 객체 이미지(146a, 146c)를 포함할 수 있는 다음의 요청된 장면 이미지를 생성하도록 프로세서(122)로부터 검색될 수 있다.
도 2는 여기에서 설명되는 적어도 일부 실시예에 따라 배열된, 프로세서가 속성 데이터를 비교하는 데 어떻게 사용될 수 있는지에 관하여 더 상세하게 도 1의 예시적인 시스템을 예시한다. 도 2는 도 1의 시스템(100)과 추가적인 세부사항이 실질적으로 유사하다. 도 1의 컴포넌트와 동일하게 레이블 붙여진 도 2의 컴포넌트는 명확성을 위하여 다시 설명되지 않을 것이다.
프로세서(122)는 저장된 속성 데이터(143)와 요청된 속성 데이터(145)의 비교에 기초하여 일치 값(190)을 결정할 수 있다. 저장된 속성 데이터(143)와 요청된 속성 데이터(145)의 비교는 적어도 저장된 속성 데이터(143) 및/또는 요청된 속성 데이터(145)의 제1 레벨(210) 및 제2 레벨(220)에 기초할 수 있다. 제1 레벨(210) 및 제2 레벨(220)은 속성 레벨일 수 있고, 여기에서 각각의 속성 레벨은 하나 이상의 속성 멤버를 포함할 수 있고, 각각의 멤버는 저장된 객체 데이터(142)에 의해 표현된 객체의 특정 속성을 표현하는 데 유효한 데이터를 포함할 수 있다. 예시에서, 제1 레벨(210)은 저장된 객체 데이터(142)에 의해 표현된 객체의 ID(identification)를 표현하는 데 유효한 데이터를 포함할 수 있는 멤버 "ID"를 포함할 수 있다. 제1 레벨(210)은 저장된 객체 데이터(142)에 의해 표현된 객체의 크기를 표현하는 데 유효한 데이터를 포함할 수 있는 멤버 "크기"를 더 포함할 수 있다. 제2 레벨(220)은 저장된 객체 데이터(142)에 의해 표현된 객체의 유형을 표현하는 데 유효한 데이터를 포함할 수 있는 멤버 "유형"을 포함할 수 있다. 제2 레벨(220)은 저장된 객체 데이터(142)에 의해 표현된 객체의 시점을 표현하는 데 유효한 데이터를 포함할 수 있는 멤버 "뷰"를 더 포함할 수 있다. 예컨대, 요청된 속성 데이터(145a)의 멤버 "크기"의 값은 "0.70"일 수 있고, 이는 요청된 렌더링된 객체(148a)가 저장된 객체 데이터(142a)에 의해 표현된 객체의 원래 크기의 70% 크기임을 나타낼 수 있다. 매칭 명령어(160)는 저장된 속성 데이터(143)와 요청된 속성 데이터(145)의 비교를 용이하게 하도록 레벨 및/또는 멤버의 값을 비교하기 위한 순서(sequence)를 나타내는 데 더 유효할 수 있다. 프로세서(122)는 하나 이상의 멤버 및/또는 레벨에서 값의 비교에 기초하여 일치 값(190)을 결정할 수 있다. 프로세서(122)는 또한 장면 이미지(138)를 생성하기 위하여, 저장된 렌더링된 객체(144)를 선택하거나, 요청된 렌더링된 객체(148)를 생성하거나, 또는 애플리케이션 도메인(110)으로부터 요청된 렌더링된 객체(148)를 요청할지 여부를 결정하도록 임계값(threshold)(230)과 일치 값(190)을 비교할 수 있다.
예시에서, 분포 도메인(120)의 프로세서(122)는 장치(132)로부터, 요청된 속성 데이터(145)를 포함할 수 있는, 요청(136)을 수신할 수 있다. 프로세서(122)는 요청된 속성 데이터(145)를 저장된 속성 데이터(143)와 비교하여 일치 값(190)을 결정할 수 있다. 프로세서(122)는 각각의 요청된 속성 데이터(145)를 저장된 속성 데이터(143a, 143b, 143c, 143d)와 비교할 수 있다. 요청된 속성 데이터(145b)와 저장된 속성 데이터(143a, 143b, 143c, 143d)의 예시적인 비교에 주목하면, 프로세서(122)는 요청된 속성 데이터(145b)가 저장된 속성 데이터(143b)와 가장 일치하는 것으로 결정할 수 있다. 프로세서(122)는 요청된 속성 데이터(145b)에 대한 일치 값(190)이 요청된 속성 데이터(145b)와 저장된 속성 데이터(143b) 사이의 레벨(210, 220)의 멤버에서 동일한 데이터 값에 기초하여 "100 %"임을 결정할 수 있다. 프로세서(122)는 "100 %"의 일치 값(190)을 임계값(230)과 비교할 수 있다. 예시에서, 임계값(230)은 "90 %"일 수 있다. 프로세서(122)는 "100 %"의 일치 값(190)이 "90 %"의 임계값(230)보다 크다고 결정할 수 있으며, 이에 응답하여, 저장된 속성 데이터(143b)에 대응하는 저장된 렌더링된 객체(144b)를 메모리(124)로부터 검색할 수 있다.
요청된 속성 데이터(145c)와 저장된 속성 데이터(143a, 143b, 143c, 143d)의 예시적인 비교에 주목하면, 프로세서(122)는 요청된 속성 데이터(145c)가 저장된 속성 데이터(143c)와 가장 일치하는 것으로 결정할 수 있다. 예시에서, 프로세서(122)는 요청된 속성 데이터(145c)에 대한 일치 값(190)이 요청된 속성 데이터(145c)와 저장된 속성 데이터(143c)의 멤버 사이에서 4 개의 값 중 3 개의 값의 일치에 기초하여 "75 %"임을 결정할 수 있다. 다른 예시에서, 프로세서(122)는 불일치한 멤버의 비교에 기초하여 요청된 속성 데이터(145c)에 대한 일치 값(190)이 "87.5 %"임을 결정할 수 있다. 예컨대, 프로세서(122)는 요청된 속성 데이터(145c)에서 멤버 "크기"의 값 "0.70"을 저장된 속성 데이터(143c)에서 멤버 "크기"의 값 "0.80"과 비교하여 "7/8", 또는 "87.5 %"의 비율을 결정할 수 있다. 프로세서(122)는 "87.5 %"의 일치 값(190)을 "90 %"일 수 있는 임계값(230)과 비교할 수 있다. 프로세서(122)는 "87.5 %"의 일치 값(190)이 "90 %"의 임계값(230)보다 작다고 결정할 수 있으며, 이에 응답하여, 저장된 객체 데이터(142c)가 메모리(124)에 저장되는 경우, 저장된 객체 데이터(142c)에 대한 요청된 속성 데이터(145)의 적용에 의해, 요청된 렌더링된 객체(148c)를 생성할 수 있다.
일부 예시에서, 요청된 속성 데이터(145c)에 대응하는 일치 값(190)이 임계값(230)보다 작고, 저장된 객체 데이터(142c)가 메모리(124)에 저장되지 않은 경우, 프로세서(122)는 요청(180)을 생성할 수 있고, 요청(180)을 애플리케이션 도메인(110)에 전송할 수 있다. 애플리케이션 프로세서(112)는 이후 요청된 렌더링된 객체(148c)를 생성할 수 있고, 요청된 렌더링된 객체(148c)를 분포 도메인(120)에 전송할 수 있다. 일부 예시에서, 애플리케이션 프로세서(112)는 예컨대, 요청된 렌더링된 객체(148c)의 저해상도 버전과 같은, 중간 렌더링된 객체(249c)를 생성할 수 있다. 중간 렌더링된 객체(249c)의 생성은 요청된 속성 데이터(145c)의 일부를 저장된 객체 데이터(142c)에 적용하는 것을 포함할 수 있다. 예컨대, 애플리케이션 프로세서(112)는 중간 렌더링된 객체(249c)에 대응하는 멤버 "뷰"의 값이 요청된 속성 데이터(145c)에 의해 나타난 바와 같이 "Left(왼쪽)"가 되도록 중간 렌더링된 객체(249c)를 생성할 수 있다. 중간 렌더링된 객체(249c)에 대응하는 멤버 "크기"의 값은 요청된 속성 데이터(145c)에 의해 나타난 "0.70" 대신, 저장된 객체 데이터(142c)에 의해 표현된 객체의 원래 크기일 수 있는, "1.0"일 수 있다. 애플리케이션 프로세서(112)는 중간 렌더링된 객체(249c)를 분포 도메인(110)에 전송할 수 있다.
분포 도메인(110)의 프로세서(122)는 중간 렌더링된 객체(249c)를 수신할 수 있고, 중간 렌더링된 객체(249c)에 대한 요청된 속성 데이터(145c)의 적용 같은 것에 의해, 요청된 렌더링 된 객체(148c)를 생성할 수 있다. 예시에서, 중간 렌더링된 객체(249c)가 메모리(124)에 저장되면, 프로세서(122)는 요청(180)을 애플리케이션 도메인(110)에 전송할 필요 없이, 중간 렌더링된 객체(249c)의 사용으로 요청된 렌더링된 객체(148c)를 생성할 수 있다. 일부 예시에서, 요청된 속성 데이터(145c)에 대응하는 일치 값(190)이 임계값(230)보다 작으면, 프로세서(122)는 요청된 속성 데이터(145c)를 저장된 렌더링된 객체(144c)에 적용함으로써 요청된 렌더링된 객체(148c)를 생성할 수 있다.
예시에서, 매칭 명령어(160)는 우선 제2 레벨(220)의 멤버의 값을 비교하고, 이후 제1 레벨(210)의 멤버의 값을 비교하는 것과 같이, 상이한 레벨에서 멤버의 값을 비교하기 위한 순서를 나타내는 데 유효할 수 있다. 프로세서(122)는 우선 요청된 속성 데이터(145c)의 제2 레벨(220)에서 멤버의 값을 저장된 속성 데이터(143)의 제2 레벨(220)에서 멤버의 값과 비교할 수 있다. 프로세서(122)는 제2 레벨(220)에서 저장된 속성 데이터(143)와 요청된 속성 데이터(145c)의 비교의 결과에 기초하여, 저장된 속성 데이터(143)의 제1 레벨(210)의 멤버의 값과 요청된 속성 데이터(145c)의 제1 레벨(210)의 멤버의 값을 비교할지 여부를 결정할 수 있다. 예시에서, 저장된 속성 데이터(143b)와 요청된 속성 데이터(145c)의 제2 레벨(220)에서 멤버의 값의 비교는 요청된 속성 데이터(145c)가 저장된 속성 데이터(143b)와 일치하지 않음을 나타낼 수 있다. 프로세서(122)는 그 후에 제2 레벨(220)에서의 매칭 부족이 저장된 속성 데이터(143)가 요청된 속성 데이터(145)에 대한 요청을 충족하는 데 사용될 수 없음을 나타내므로, 요청된 속성 데이터(145c)의 제1 레벨(210)의 값을 저장된 속성 데이터(143b)의 제1 레벨(210)의 값과 비교하지 않을 수 있다. 저장된 속성 데이터(143c)와 요청된 속성 데이터(145c)의 제2 레벨(220)에서 멤버의 값의 비교는 요청된 속성 데이터(145c)가 저장된 속성 데이터(143c)와 일치함을 나타낼 수 있다. 프로세서(122)는 요청된 속성 데이터(145c)의 제1 레벨(210)에서 멤버의 값을 저장된 속성 데이터(143c)의 제1 레벨(210)에서 멤버의 값과 비교할 수 있다.
다른 예시에서, 매칭 명령어(160)는 우선 제1 레벨(210)을 비교하고, 이후 제2 레벨(220)을 비교하는 비교 순서를 나타낼 수 있고, 멤버 "뷰"는 제2 레벨(220) 대신 제1 레벨(210)의 멤버일 수 있다. 프로세서(122)는 우선 요청된 속성 데이터(145b)의 제1 레벨(210)에서 멤버의 값을 저장된 속성 데이터(143)의 제1 레벨(210)에서 멤버의 값과 비교할 수 있다. 프로세서(122)는 제1 레벨(210)에서 요청된 속성 데이터(145b)와 저장된 속성 데이터(143)의 비교에 기초하여, 요청된 속성 데이터(145b)의 제2 레벨(220)에서 멤버의 값을 저장된 속성 데이터(143)의 제2 레벨(220)에서 멤버의 값과 비교할지 여부를 결정할 수 있다. 예시에서, 저장된 속성 데이터(143b)와 요청된 속성 데이터(145b)의 멤버 "ID", "크기" 및 "뷰"의 값의 비교는 요청된 속성 데이터(145b)가 저장된 속성 데이터(143b)와 일치함을 나타낼 수 있다. 프로세서(122)는 저장된 렌더링된 객체(144b)가 요청된 렌더링된 객체(148b)와 동일할 수 있다고 결정할 수 있고, 요청된 속성 데이터(145b)의 제2 레벨(220)에서 멤버의 값을 저장된 속성 데이터(143b)의 제2 레벨(220)에서 멤버의 값과 계속 비교하지 않을 수 있다.
다른 예시에서, 매칭 명령어(160)는 우선 제1 레벨(210)을 비교하고, 이후 제2 레벨(220)을 비교하는 비교 순서를 나타낼 수 있고, 멤버 "뷰"는 제2 레벨(220) 대신 제1 레벨(210)의 멤버일 수 있다. 프로세서(122)는 우선 요청된 속성 데이터(145c)의 제1 레벨(210)에서 멤버의 값을 저장된 속성 데이터(143)의 제1 레벨(210)에서 멤버의 값과 비교할 수 있다. 프로세서(122)는 제1 레벨(210)에서 요청된 속성 데이터(145c)와 저장된 속성 데이터(143)의 비교에 기초하여, 요청된 속성 데이터(145c)의 제2 레벨(220)에서 멤버의 값을 저장된 속성 데이터(143)의 제2 레벨(220)에서 멤버의 값과 비교할지 여부를 결정할 수 있다. 예시에서, 프로세서(122)는 저장된 속성 데이터(143c)와 요청된 속성 데이터(145c)의 멤버 "ID", "크기" 및 "뷰"의 값을 비교할 수 있다. 프로세서(122)는 비교에 대응하는 일치 값(190)이 "87.5 %"임을 결정할 수 있고, "87.5 %"가 "85 %"의 임계값(130)보다 크다고 결정할 수 있다. 프로세서(122)는 일치 값(190)에 기초하여, 저장된 렌더링된 객체(144c)가 요청된 렌더링된 객체(148c)와 동일할 수 있다고 결정할 수 있고, 요청된 속성 데이터(145c)의 제2 레벨(220)에서 멤버의 값을 저장된 속성 데이터(143c)의 제2 레벨(220)에서 멤버의 값과 계속 비교하지 않을 수 있다.
도 3은 여기에서 설명된 적어도 일부 실시예에 따라 배열되는, 하나 이상의 분포 도메인을 가지는 장면 이미지 생성기의 구현에 관하여 더 상세하게 도 1의 예시적인 시스템(100)을 예시한다. 도 3은 도 1의 시스템(100)과 추가적인 세부사항이 실질적으로 유사하다. 도 1의 컴포넌트와 동일하게 레이블 붙여진 도 3의 컴포넌트는 명확성을 위하여 다시 설명되지 않을 것이다.
일부 예시에서, 분포 도메인(120)은 하나 이상의 상이한 분포 도메인(320)과 메모리(124)에 저장된 저장된 렌더링된 객체(144)를 공유할 수 있다. 분포 도메인(320)은 네트워크(102)를 통해 분포 도메인(120)과 통신하도록 구성될 수 있다. 분포 도메인(320)은 프로세서(322) 및/또는 메모리(324)를 포함할 수 있고, 여기에서 프로세서(322) 및 메모리(324)는 프로세서(122) 및 분포 도메인(120)의 메모리(124)와 유사한 기능을 포함할 수 있다. 프로세서(322)는 일치 값(390)을 결정하도록 메모리(324)에 저장될 수 있는, 매칭 명령어(160)를 실행하도록 구성될 수 있다. 예시에서, 사용자(330)는 애플리케이션(118)과 상이할 수 있는, 애플리케이션(318)을 실행하도록 장치(332)를 사용할 수 있다. 일부 예시에서, 애플리케이션(318) 및 애플리케이션(118)은 각각 상이한 비디오 게임일 수 있다. 일부 예시에서, 애플리케이션(318) 및 애플리케이션(118)은 동일한 비디오 게임에 대응할 수 있지만, 각각이 비디오 게임의 상이한 버전일 수 있다. 장치(332)는 네트워크(102)를 통해 분포 도메인(320)과 통신하도록 구성 될 수 있는, 휴대 전화, 랩톱 컴퓨터, 비디오 게임 콘솔 등일 수 있다. 장치(332)는 애플리케이션(318)을 저장하도록 구성될 수 있는, 장치 메모리(334)를 포함할 수 있다. 애플리케이션 메모리(114)는 애플리케이션(318)을 저장하도록 더 구성될 수 있다.
장치(332) 상에서 애플리케이션(318)의 실행 동안, 장치(332)는 사용자(330)에 의한 입력에 기초하여 장면 이미지(338)에 대한 요청(380)을 생성할 수 있다. 장면 이미지(338)는 저장된 렌더링된 객체 144b, 144d(메모리(124)에 저장됨), 354(메모리(324)에 저장됨)에 대응할 수 있는 객체 이미지를 포함할 수 있다. 요청(380)은 애플리케이션(318)의 저장된 객체 데이터(142b, 142d, 352)에 의해 표현되는 객체를 설명하는 데 유효할 수 있는, 요청된 속성 데이터(345)를 포함할 수 있다. 장치(332)는 네트워크(102)를 통해 요청(380)을 분포 도메인(320)에 전송할 수 있다. 프로세서(322)는 요청(380)을 수신할 수 있고, 이에 응답하여 요청된 속성 데이터(345)를 메모리(324)에 저장된 저장된 속성 데이터(353)와 비교할 수 있다. 프로세서(322)는 요청된 속성 데이터(345)와 저장된 속성 데이터(353)의 비교에 기초하여 일치 값(390)을 결정할 수 있다. 예시에서, 메모리(324)는 저장된 렌더링된 객체(354)를 포함할 수 있지만, 저장된 렌더링된 객체(144b, 144d)를 포함하지 않을 수 있다. 프로세서(322)에 의해 결정된 일치 값(390)은 렌더링된 객체(354)의 저장된 속성 데이터(353)와 요청된 속성 데이터(345) 사이의 일치를 나타낼 수 있다. 프로세서(322)는 일치 값(390)에 기초하여, 렌더링된 객체(354)를 메모리(324)로부터 검색할 수 있다. 프로세서(322)는 일치 값(390)에 기초하여, 또한 요청(382)를 생성할 수 있고, 이에 응답하여 요청(382)을 분포 도메인(120)에 전송할 수 있다.
요청(382)은 저장된 렌더링된 객체(144b, 144d)에 대한 요청일 수 있고, 저장된 렌더링된 객체(144b, 144d)에 대응하는 요청된 속성 데이터(345)를 포함할 수 있다. 분포 도메인(120)의 프로세서(122)는 요청(382)을 수신할 수 있고, 이에 응답하여, 일치 값(190)을 결정하도록 요청된 속성 데이터(345)를 저장된 속성 데이터(143)와 비교할 수 있다. 예시에서, 일치 값(190)은 요청된 속성 데이터(345)와 메모리(124)에 저장된 저장된 속성 데이터(143b, 143d) 사이의 일치를 나타낼 수 있다. 프로세서(122)는 일치 값(190)에 기초하여, 메모리(124)로부터 저장된 렌더링된 객체(144b, 144d)를 검색할 수 있고, 저장된 렌더링된 객체(144b, 144d)를 분포 도메인(320)에 전송할 수 있다. 분포 도메인(320)의 프로세서(322)는 저장된 렌더링된 객체(144b, 144d)를 수신할 수 있고, 저장된 렌더링된 객체(144b, 144d)를 메모리(324)에 저장할 수 있다. 프로세서(322)는 또한 저장된 렌더링된 객체(144b, 144d, 354)를 사용하여 장면 이미지(338)를 생성할 수 있고, 장치(332)의 디스플레이 상에 출력되도록 장면 이미지(338)를 장치(332)로 전송할 수 있다.
일부 예시에서, 매칭 명령어(160)는 렌더링된 객체를 선택적으로 저장하기 위해 분포 도메인의 프로세서에 명령하는 데 유효한 명령어를 포함할 수 있다. 예시에서, 매칭 명령어(160)는 렌더링된 객체에 대한 요청의 빈도(frequency)에 기초하여 렌더링된 객체를 저장하도록 프로세서(122)에 명령할 수 있다. 예컨대, 매칭 명령어(160)는 지난 10일 이내 상위 10개의 가장 많이 요청된 렌더링된 객체를 저장하도록 프로세서(122)에 명령할 수 있다. 프로세서(122)는 또한 매칭 명령어(160)에 기초하여, 메모리(124)로부터 렌더링된 객체를 제거하도록 구성될 수 있다. 다른 예시에서, 매칭 명령어(160)는 렌더링된 객체를 생성하기 위한 데이터 비용에 기초하여 렌더링된 객체를 저장하도록 프로세서(122)에 명령할 수 있다. 렌더링된 객체를 생성하기 위한 데이터 비용은 렌더링된 객체의 파일 크기, 렌더링된 객체를 생성하기 위한 시간 등에 대응할 수 있다. 예시에서, 매칭 명령어(160)는 파일 크기가 500 메가 바이트보다 클 수 있는 렌더링된 객체를 저장하도록 프로세서(122)에 명령할 수 있다.
다른 가능한 이점들 중에서, 본 개시에 따른 시스템은 애플리케이션 개발자, 애플리케이션 배포자 및 애플리케이션 사용자에게 이익을 줄 수 있다. 본 개시에 따른 시스템은 장면 이미지를 생성하기 위해 렌더링된 객체를 생성하기 위한 빈도를 감소시킴으로써 장면 이미지를 생성하기 위한 보다 효율적인 방법을 제공할 수 있다. 렌더링된 객체가 생성되는 때, 렌더링된 객체는 저장될 수 있고, 렌더링된 객체를 생성하기 위한 빈도를 감소시키도록 상이한 게임 또는 상이한 버전의 게임과 같은, 상이한 애플리케이션으로부터 상이한 장면 이미지를 생성하는 데 사용될 수 있다. 렌더링된 객체 생성의 감소는 애플리케이션 배포 데이터 센터(application distribution data center)에서 하드웨어 및 에너지를 덜 이용할 수 있다. 그러한 감소는 애플리케이션 개발자가 애플리케이션 배포자로부터 장비 또는 서비스를 덜 구입하도록 허용할 수 있다. 그러한 감소는 렌더링된 객체의 생성 감소가 리소스 상 부하를 줄일 수 있으므로 애플리케이션 배포자가 리소스를 유지하도록 허용할 수 있다. 애플리케이션 사용자는 요청된 애플리케이션 인스턴스를 보다 효율적인 방식으로 수신하는 것이 가능함으로써 또한 시스템으로부터 이익을 얻을 수 있다. 본 개시에 따른 시스템은 또한 애플리케이션 도메인 내의 병목 현상의 발생을 감소시킬 수 있고, 복제된 데이터의 저장을 감소시킬 수 있다.
도 4는 여기에서 제시되는 적어도 일부 실시예에 따라 배열된, 장면 이미지 생성기를 구현하기 위한 예시적인 프로세스에 대한 흐름도를 예시한다. 도 4의 프로세스는 예컨대, 상술한 시스템(100)을 사용하여 구현될 수 있다. 예시적인 프로세스는 블록 S2, S4, S6, S8 및/또는 S10 중 하나 이상에 의해 예시된 바에 따라 하나 이상의 동작, 작용 또는 기능을 포함할 수 있다. 별개의 블록으로 예시되었지만, 요구된 구현에 따라 다양한 블록이 추가적인 블록으로 나누어지거나, 더 적은 블록으로 조합되거나, 제거될 수 있다.
프로세싱은 "제1 장치로부터 제1 렌더링된 객체를 수신"하는 블록 S2에서 시작할 수 있다. 블록 S2에서, 프로세서는 제1 장치로부터 제1 렌더링된 객체를 수신할 수 있다. 제1 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제1 속성 데이터를 포함할 수 있다.
프로세싱은 블록 S2로부터 "제1 렌더링된 객체 및 객체 데이터를 메모리에 저장"하는 블록 S4로 계속될 수 있다. 블록 S4에서, 프로세서는 제1 렌더링된 객체 및 객체 데이터를 메모리에 저장할 수 있다. 메모리는 프로세서와 통신하도록 구성될 수 있다. 일부 예시에서, 프로세서는 제1 렌더링된 객체에 대한 요청의 빈도에 기초하여 제1 렌더링된 객체 및 객체 데이터를 저장할 수 있다. 일부 예시에서, 프로세서는 제1 렌더링된 객체의 생성에 관련될 수 있는 데이터 비용에 기초하여 제1 렌더링된 객체 및 객체 데이터를 저장할 수 있다.
프로세싱은 블록 S4로부터 "장면 이미지를 생성하도록 제2 장치로부터 요청을 수신"하는 블록 S6으로 계속될 수 있다. 블록 S6에서, 프로세서는 장면 이미지를 생성하도록 제2 장치로부터 요청을 수신할 수 있다. 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함할 수 있다. 제2 렌더링된 객체는 객체 데이터에 기초할 수 있고, 객체 데이터의 제2 속성 데이터를 포함할 수 있다. 일부 예시에서, 요청은 객체 데이터의 ID(identification) 및 제2 속성 데이터의 표시(indication)을 포함할 수 있다.
프로세싱은 블록 S6으로부터 "일치 값을 결정하도록 제2 속성 데이터를 제1 속성 데이터와 비교"하는 블록 S8로 계속될 수 있다. 블록 S8에서, 프로세서는 일치 값을 결정하도록 제2 속성 데이터를 제1 속성 데이터와 비교할 수 있다. 일부 예시에서, 제1 속성 데이터는 제1 레벨 및 제2 레벨을 포함할 수 있다. 제1 속성 데이터의 제1 레벨은 제1 멤버 및 제1 멤버의 제1 값을 포함할 수 있다. 제1 속성 데이터의 제2 레벨은 제2 멤버 및 제2 멤버의 제2 값을 포함할 수 있다. 제2 속성 데이터는 제1 레벨 및 제2 레벨을 포함할 수 있다. 제2 속성 데이터의 제1 레벨은 제1 멤버 및 제1 멤버의 제3 값을 포함할 수 있다. 제2 속성 데이터의 제2 레벨은 제2 멤버 및 제2 멤버의 제4 값을 포함할 수 있다. 프로세서는 제3 값을 제1 값과 비교함으로써 제2 속성 데이터를 제1 속성 데이터와 비교할 수 있다. 프로세서는 제3 값과 제1 값의 비교에 기초하여, 제4 값을 제2 값과 비교할지 여부를 결정할 수 있다. 일부 예시에서, 일치 값은 제2 값과 제4 값의 비교에 기초할 수 있다.
프로세싱은 블록 S8로부터 "장면 이미지를 생성하도록 저장된 제1 렌더링된 객체 또는 저장된 객체 데이터를 선택할지 여부를 결정"하는 블록 S10으로 계속될 수 있다. 블록 S10에서, 프로세서는 장면 이미지를 생성하도록 저장된 제1 렌더링된 객체 또는 저장된 객체 데이터를 선택할지 여부를 결정할 수 있다. 일부 예시에서, 프로세서는 일치 값을 임계값과 비교할 수 있다. 프로세서는 일치 값이 임계값보다 큰 경우, 제1 저장된 렌더링된 객체를 선택할 수 있다. 프로세서는 일치 값이 임계값보다 작은 경우, 제2 렌더링된 객체를 검색할 수 있거나, 제1 렌더링된 객체 또는 저장된 렌더링된 객체의 사용으로 제2 렌더링된 객체를 생성할 수 있다. 프로세서는 제2 렌더링된 객체의 사용으로 장면 이미지를 생성할 수 있다.
도 5는 여기에서 설명되는 적어도 일부 실시예에 따라 배열된, 장면 이미지 생성기를 구현하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품을 예시한다. 프로그램 제품(500)은 신호 베어링 매체(502)를 포함할 수 있다. 신호 베어링 매체(502)는 예컨대, 프로세서에 의해 실행되는 경우, 도 1 내지 도 4에 관하여 상술한 기능을 제공할 수 있는 하나 이상의 명령어(504)를 포함할 수 있다. 따라서, 예컨대, 시스템(100)을 참조하면, 프로세서(122)는 매체(502)에 의해 시스템(100)으로 전달되는 명령어(504)에 응답하여, 도 5에 도시된 블록 중 하나 이상을 착수할 수 있다.
일부 구현예에서, 신호 베어링 매체(502)는 하드 디스크 드라이브, CD(compact disc), DVD(digital versatile disc), 디지털 테이프, 메모리 등과 같은 컴퓨터 판독 가능 매체(506)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 일부 구현예에서, 신호 베어링 매체(502)는 메모리, 읽기/쓰기(R/W) CD, R/W DVD 등과 같은 기록 가능 매체(508)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 일부 구현예에서, 신호 베어링 매체(502)는 디지털 및/또는 아날로그 통신 매체(예컨대, 광섬유 케이블, 도파관(waveguide), 유선 통신 링크, 무선 통신 링크 등)와 같은 통신 매체(510)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 따라서, 예컨대, 프로그램 제품(500)은, 신호 베어링 매체(502)가 무선 통신 매체(510)(예컨대, IEEE 802.11 표준에 따르는 무선 통신 매체)에 의해 전달되는, RF 신호 베어링 매체(502)에 의하여 시스템(100)의 하나 이상의 모듈로 전달될 수 있다.
도 6은 여기에서 설명되는 적어도 일부 실시예에 따라 배열된, 장면 이미지 생성기를 구현하도록 배열되는 예시적인 컴퓨팅 장치를 예시하는 블록도이다. 매우 기본 구성(602)에서, 컴퓨팅 장치(600)는 전형적으로 하나 이상의 프로세서(604) 및 시스템 메모리(606)를 포함한다. 메모리 버스(608)는 프로세서(604)와 시스템 메모리(606) 사이의 통신을 위해 사용될 수 있다.
요구되는 구성에 따라, 프로세서(604)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(604)는 레벨 1 캐시(610) 및 레벨 2 캐시(612)와 같은, 하나 이상의 레벨의 캐싱, 프로세서 코어(614) 및 레지스터(616)를 포함할 수 있다. 예시적인 프로세서 코어(614)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core) 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(618)는 또한 프로세서(604)와 사용될 수 있거나 또는 일부 구현예에서, 메모리 컨트롤러(618)는 프로세서(604)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(606)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리 또는 그 임의의 조합을 포함할 수 있지만, 이에 제한되지 않는 임의의 유형일 수 있다. 시스템 메모리(606)는 운영 체제(620), 하나 이상의 애플리케이션(622) 및 프로그램 데이터(624)를 포함할 수 있다. 애플리케이션(622)은 도 1 내지 도 5의 시스템(100)에 관하여 설명된 바를 포함하여 여기에서 설명된 바에 따라 기능을 수행하도록 배열되는 장면 이미지 생성 알고리즘(626)을 포함할 수 있다. 프로그램 데이터(624)는 여기에서 설명되는 것처럼 장면 이미지 생성기의 구현을 위해 유용할 수 있는 장면 이미지 생성 데이터(628)를 포함할 수 있다. 일부 실시예에서, 애플리케이션(622)은 장면 이미지 생성기의 구현이 제공될 수 있도록 운영 체제(620) 상에 프로그램 데이터(624)로 동작하도록 배열될 수 있다. 이러한 설명된 기본 구성(602)은 내부 파선 내의 컴포넌트들에 의해 도 6에 예시된다.
컴퓨팅 장치(600)는 추가적인 특징 또는 기능 및 기본 구성(602)과 임의의 요구되는 장치 및 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예컨대, 버스/인터페이스 컨트롤러(630)는 저장 인터페이스 버스(634)를 통한 기본 구성(602)과 하나 이상의 데이터 저장 장치(632) 간의 통신을 용이하게 하는 데 사용될 수 있다. 데이터 저장 장치(632)는 분리형 저장 장치(636), 비분리형 저장 장치(638) 또는 그 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD) 및 테이프 드라이브가 포함된다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(606), 분리형 저장 장치(636) 및 비분리형 저장 장치(638)는 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(600)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 컴퓨팅 장치(600)의 일부일 수 있다.
컴퓨팅 장치(600)는 또한 버스/인터페이스 컨트롤러(630)를 통한 다양한 인터페이스 장치(예컨대, 출력 장치(642), 주변 인터페이스(644) 및 통신 장치(646))로부터 기본 구성(602)으로의 통신을 용이하게 하기 위한 인터페이스 버스(640)를 포함할 수 있다. 예시적인 출력 장치(642)는 그래픽 처리 유닛(648) 및 오디오 처리 유닛(650)을 포함하며, 이는 하나 이상의 A/V 포트(652)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(644)는 직렬 인터페이스 컨트롤러(654) 또는 병렬 인터페이스 컨트롤러(656)를 포함하고, 이는 하나 이상의 I/O 포트(658)를 통해 입력 장치(예컨대, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예컨대, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(646)는 네트워크 컨트롤러(660)를 포함하며, 이는 하나 이상의 통신 포트(664)를 통해 네트워크 통신 링크 상에서의 하나 이상의 다른 컴퓨팅 장치(662)와의 통신을 용이하게 하도록 배열될 수 있다.
네트워크 통신 링크는 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 그 특성 중 하나 이상을 가지는 신호일 수 있다. 제한적이지 않은 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기에서 사용된 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(600)는, 휴대 전화, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 특수 용도 장치 또는 위 기능 중 임의의 것을 포함하는 하이브리드 장치 같은 소형 폼 팩터(small-form factor)의 휴대용(또는 모바일) 전자 장치의 일부로서 구현될 수 있다. 컴퓨팅 장치(600)는 또한 랩톱 컴퓨터 및 랩톱이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다.
본 개시는 다양한 태양의 예시로서 의도되는, 본 출원에 설명된 특정 실시예에 제한되지 않을 것이다. 많은 수정과 변형이 당업자에 명백할 바와 같이, 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 기구가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항의 용어에 의해서만, 그러한 청구항에 부여된 균등물의 전 범위와 함께, 제한될 것이다. 본 개시는 물론 다양할 수 있는 특정 방법, 시약, 합성 구성 또는 생물학적 시스템에 제한되지 않는다. 여기에서 사용된 용어는 단지 특정 실시예를 설명하기 위한 목적이고, 제한하도록 의도되지 않는 것으로 이해된다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명확히 기재될 수 있다.
일반적으로 여기에서 사용되며 특히 첨부된 청구범위(예컨대, 첨부된 청구범위의 주요부(body))에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예컨대, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도된다. 도입된 청구항 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없는 것으로 이해된다. 예컨대, 이해를 돕기 위해, 이하의 첨부된 청구범위는 "적어도 하나" 및 "하나 이상"의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용은, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 오직 하나의 기재사항을 포함하는 실시예들로, 그러한 도입된 청구항 기재사항을 포함하는 임의의 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")와 같은 부정관사(예컨대, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 그러한 기재가 적어도 기재된 수(예컨대, 다른 수식어가 없는 "두 개의 기재사항"을 단순히 기재한 것은, 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 당업자는 인식할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 예컨대, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, 그리고/또는 A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음을 의미되도록 의도된다. "A, B 또는 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 예컨대, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, 그리고/또는 A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음을 의미하도록 의도된다. 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지에 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나 또는 그 용어들 모두를 포함하는 가능성을 고려했음이 이해되어야 한다. 예컨대, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
당업자에게 이해될 바와 같이, 기술 내용을 제공하는 면에서와 같이, 임의의 그리고 모든 목적에서, 여기에 개시되는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그 하위범위의 조합 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시 가능하게 하는 것으로서 쉽게 인식될 수 있다. 비제한적인 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3 및 상위 1/3 등으로 쉽게 나누어질 수 있다. 당업자에게 이해될 바와 같이, "까지", "적어도", "보다 많은", "보다 적은" 등과 같은 모든 언어는 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭한다. 마지막으로, 당업자에게 이해될 바와 같이, 범위는 각각의 개별 요소를 포함한다. 따라서, 예컨대, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 의미한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 의미한다.
다양한 양상 및 실시예들이 여기에서 개시되었지만, 다른 양상 및 실시예들이 당업자에게 명백해질 것이다. 여기에서 개시된 다양한 양상 및 실시예들은 예시의 목적을 위한 것이고, 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에 의해 나타난다.

Claims (22)

  1. 장면 이미지(scene image)를 생성하기 위한 방법으로서, 프로세서에 의해,
    제1 장치로부터 제1 렌더링된 객체를 수신하는 단계 - 상기 제1 렌더링된 객체는 객체 데이터에 기초하고, 상기 제1 렌더링된 객체는 제1 속성 데이터를 포함하고, 상기 제1 속성 데이터는 상기 객체 데이터에 의해 표현된 상기 제1 렌더링된 객체의 적어도 하나의 특정 속성을 표현하는 데 유효한 것임 -;
    상기 제1 렌더링된 객체 및 상기 객체 데이터를 상기 프로세서와 통신하도록 구성된 메모리에 저장하는 단계;
    상기 장면 이미지를 생성하도록 제2 장치로부터 요청을 수신하는 단계 - 상기 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함하고, 상기 제2 렌더링된 객체는 상기 객체 데이터에 기초하고, 상기 제2 렌더링된 객체는 제2 속성 데이터를 포함하고, 상기 제2 속성 데이터는 상기 객체 데이터에 의해 표현된 상기 제2 렌더링된 객체의 적어도 하나의 다른 특정 속성을 표현하는 데 유효한 것임 -;
    일치 값(match value)을 결정하도록 상기 제2 속성 데이터를 상기 제1 속성 데이터와 비교하는 단계;
    상기 일치 값을 임계값(threshold)과 비교하는 단계;
    상기 장면 이미지를 생성하도록 상기 저장된 제1 렌더링된 객체 또는 상기 저장된 객체 데이터를 선택할지 여부를 결정하는 단계 - 상기 선택할지 여부의 결정은 상기 일치 값과 상기 임계값의 비교에 기초함 -; 및
    상기 일치 값이 상기 임계값보다 작은 경우 상기 저장된 제1 렌더링된 객체를 사용하여 상기 제2 렌더링된 객체를 생성하는 단계
    를 포함하는 장면 이미지를 생성하기 위한 방법.
  2. 제1항에 있어서,
    상기 요청은 상기 객체 데이터의 ID(identification) 및 상기 제2 속성 데이터의 표시(indication)를 포함하는 것인, 장면 이미지를 생성하기 위한 방법.
  3. 제1항에 있어서,
    상기 선택할지 여부를 결정하는 단계는, 상기 일치 값이 상기 임계값보다 큰 경우 상기 저장된 제1 렌더링된 객체를 선택하는 단계를 더 포함하는, 장면 이미지를 생성하기 위한 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 제1 속성 데이터는 제1 레벨 및 제2 레벨을 포함하고, 상기 제1 레벨은 제1 멤버 및 상기 제1 멤버의 제1 값을 포함하며, 상기 제2 레벨은 제2 멤버 및 상기 제2 멤버의 제2 값을 포함하고,
    상기 제2 속성 데이터는 상기 제1 레벨 및 상기 제2 레벨을 포함하고, 상기 제1 레벨은 상기 제1 멤버 및 상기 제1 멤버의 제3 값을 포함하며, 상기 제2 레벨은 상기 제2 멤버 및 상기 제2 멤버의 제4 값을 포함하고, 그리고
    상기 제2 속성 데이터를 상기 제1 속성 데이터와 비교하는 단계는 상기 제3 값을 상기 제1 값과 비교하는 단계를 포함하는, 장면 이미지를 생성하기 위한 방법.
  8. 제7항에 있어서,
    상기 일치 값은 제1 일치 값이고, 상기 방법은,
    상기 제3 값의 상기 제1 값과의 비교에 기초하여 제2 일치 값을 결정하는 단계; 및
    상기 제4 값을 상기 제2 값과 비교할지 여부를 결정하는 단계
    를 더 포함하고,
    상기 제4 값을 상기 제2 값과 비교할지 여부의 결정은 상기 제2 일치 값에 기초하는 것인, 장면 이미지를 생성하기 위한 방법.
  9. 제8항에 있어서,
    상기 제4 값을 상기 제2 값과 비교할지 여부를 결정하는 단계는 상기 제2 일치 값을 상기 제1 레벨과 연관된 제1 임계값과 비교하는 단계를 포함하고,
    상기 방법은 상기 제2 일치 값이 상기 제1 임계값보다 큰 경우 상기 제4 값을 상기 제2 값과 비교하는 단계를 더 포함하고,
    상기 제1 일치 값의 결정은 상기 제4 값의 상기 제2 값과의 비교에 기초하는 것인, 장면 이미지를 생성하기 위한 방법.
  10. 제1항에 있어서,
    상기 제1 렌더링된 객체 및 상기 객체 데이터를 저장하는 단계는 상기 제1 렌더링된 객체에 대한 요청의 빈도(frequency)를 결정하는 것에 응답하여 수행되는 것인, 장면 이미지를 생성하기 위한 방법.
  11. 제1항에 있어서,
    상기 제1 렌더링된 객체 및 상기 객체 데이터를 저장하는 단계는 상기 제1 렌더링된 객체의 생성에 관련된 데이터 비용(data cost)을 결정하는 것에 응답하여 수행되는 것인, 장면 이미지를 생성하기 위한 방법.
  12. 장면 이미지를 생성하는 데 유효한 시스템으로서,
    명령어(instruction)를 저장하도록 구성된 메모리; 및
    상기 메모리와 통신하도록 구성된 프로세서
    를 포함하고, 상기 프로세서는,
    제1 장치로부터 제1 렌더링된 객체를 수신하고 - 상기 제1 렌더링된 객체는 객체 데이터에 기초하고, 상기 제1 렌더링된 객체는 제1 속성 데이터를 포함하고, 상기 제1 속성 데이터는 상기 객체 데이터에 의해 표현된 상기 제1 렌더링된 객체의 적어도 하나의 특정 속성을 표현하는 데 유효한 것임 -;
    상기 제1 렌더링된 객체 및 상기 객체 데이터를 상기 메모리에 저장하고;
    상기 장면 이미지를 생성하기 위해 제2 장치로부터 요청을 수신하고 -상기 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함하고, 상기 제2 렌더링된 객체는 상기 객체 데이터에 기초하고, 상기 제2 렌더링된 객체는 제2 속성 데이터를 포함하고, 상기 제2 속성 데이터는 상기 객체 데이터에 의해 표현된 상기 제2 렌더링된 객체의 적어도 하나의 다른 특정 속성을 표현하는 데 유효한 것임 -;
    상기 요청의 수신에 응답하여,
    상기 제2 속성 데이터를 상기 제1 속성 데이터와 비교하고;
    상기 비교에 기초하여 상기 제1 속성 데이터 및 상기 제2 속성 데이터 간의 일치 값을 결정하고;
    상기 일치 값을 임계값과 비교하고;
    상기 장면 이미지를 생성하도록 상기 저장된 제1 렌더링된 객체 또는 상기 저장된 객체 데이터를 선택할지 여부를 결정하고 - 상기 선택 여부의 결정은 상기 일치 값과 상기 임계값의 비교에 기초함 -; 그리고
    상기 일치 값이 상기 임계값보다 작은 경우 상기 저장된 제1 렌더링된 객체를 사용하여 상기 제2 렌더링된 객체를 생성
    하기 위하여 상기 메모리에 저장된 상기 명령어를 실행하도록 구성되는 것인, 시스템.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 일치 값이 상기 임계값보다 큰 경우 상기 저장된 제1 렌더링된 객체를 선택하기 위한 상기 명령어를 실행하도록 더 구성되는 것인, 시스템.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제12항에 있어서,
    상기 프로세서는 상기 제2 장치의 디스플레이에 상기 장면 이미지를 출력하도록 더 구성되는 것인, 시스템.
  18. 장면 이미지를 생성하는 데 유효한 시스템으로서,
    명령어를 저장하도록 구성된 메모리;
    상기 메모리와 통신하도록 구성된 제1 프로세서; 및
    상기 메모리 및 상기 제1 프로세서와 통신하도록 구성된 제2 프로세서
    를 포함하고,
    상기 제1 프로세서는,
    제1 렌더링된 객체를 생성하고 - 상기 제1 렌더링된 객체는 객체 데이터에 기초하고, 상기 제1 렌더링된 객체는 제1 속성 데이터를 포함하고, 상기 제1 속성 데이터는 상기 객체 데이터에 의해 표현된 상기 제1 렌더링된 객체의 적어도 하나의 특정 속성을 표현하는 데 유효한 것임 -; 그리고
    상기 제1 렌더링된 객체 및 상기 객체 데이터를 상기 메모리에 저장
    하도록 구성되고,
    상기 제2 프로세서는,
    상기 장면 이미지를 생성하기 위해 장치로부터 요청을 수신하고 - 상기 장면 이미지는 제2 렌더링된 객체의 객체 이미지를 포함하고, 상기 제2 렌더링된 객체는 상기 객체 데이터에 기초하며, 상기 제2 렌더링된 객체는 제2 속성 데이터를 포함하고, 상기 제2 속성 데이터는 상기 객체 데이터에 의해 표현된 상기 제2 렌더링된 객체의 적어도 하나의 다른 특정 속성을 표현하는 데 유효한 것임 -;
    상기 요청의 수신에 응답하여,
    상기 제2 속성 데이터를 상기 제1 속성 데이터와 비교하고;
    상기 비교에 기초하여 상기 제1 속성 데이터 및 상기 제2 속성 데이터 간의 일치 값을 결정하며;
    상기 일치 값을 임계값과 비교하고;
    상기 장면 이미지를 생성하도록 상기 저장된 제1 렌더링된 객체 또는 상기 저장된 객체 데이터를 선택할지 여부를 결정하고 - 상기 선택 여부의 결정은 상기 일치 값과 상기 임계값의 비교에 기초함 -; 그리고
    상기 일치 값이 상기 임계값보다 작은 경우 상기 제1 렌더링된 객체를 사용하여 상기 제2 렌더링된 객체를 생성
    하기 위한 상기 메모리에 저장된 상기 명령어를 실행하도록 구성되는 것인, 시스템.
  19. 제18항에 있어서,
    상기 제2 프로세서는 상기 장치의 디스플레이에 상기 장면 이미지를 출력하도록 더 구성되는 것인, 시스템.
  20. 제18항에 있어서,
    상기 제2 프로세서는, 상기 일치 값이 상기 임계값보다 큰 경우 상기 저장된 제1 렌더링된 객체를 선택하기 위한 상기 명령어를 실행하도록 더 구성되는 것인, 시스템.
  21. 제18항에 있어서,
    상기 제2 프로세서는, 상기 제2 렌더링된 객체를 사용하여 상기 장면 이미지를 생성하도록 더 구성되는 것인, 시스템.
  22. 제18항에 있어서,
    상기 제1 프로세서는,
    상기 제2 렌더링된 객체를 생성하고; 그리고
    상기 메모리에 상기 제2 렌더링된 객체를 저장
    하도록 더 구성되는 것인, 시스템.
KR1020177012635A 2014-10-10 2014-10-10 장면 이미지 생성기 KR101923011B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/088281 WO2016054800A1 (en) 2014-10-10 2014-10-10 Scene image generator

Publications (2)

Publication Number Publication Date
KR20170068546A KR20170068546A (ko) 2017-06-19
KR101923011B1 true KR101923011B1 (ko) 2018-11-28

Family

ID=55652488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012635A KR101923011B1 (ko) 2014-10-10 2014-10-10 장면 이미지 생성기

Country Status (3)

Country Link
US (1) US9761030B2 (ko)
KR (1) KR101923011B1 (ko)
WO (1) WO2016054800A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124579B (zh) * 2019-12-24 2023-12-19 北京金山安全软件有限公司 一种特效渲染方法、装置、电子设备及存储介质
CN112991158B (zh) * 2021-03-31 2024-05-31 商汤集团有限公司 一种图像生成方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111581A (en) 1997-01-27 2000-08-29 International Business Machines Corporation Method and system for classifying user objects in a three-dimensional (3D) environment on a display in a computer system
US20090232214A1 (en) 1999-11-26 2009-09-17 British Telecommunications Plc Video coding and decoding
CN101620724A (zh) 2008-06-04 2010-01-06 Arm有限公司 图形处理系统
US20110194731A1 (en) 2009-12-23 2011-08-11 Metaio Gmbh Method of determining reference features for use in an optical object initialization tracking process and object initialization tracking method
US20120105446A1 (en) 2010-10-29 2012-05-03 International Business Machines Corporation Building controllable clairvoyance device in virtual world
WO2012158836A2 (en) 2011-05-17 2012-11-22 Activision Publishing, Inc. Video game with concurrent processing of game-related physical objects
CN102903146A (zh) 2012-09-13 2013-01-30 中国科学院自动化研究所 用于场景绘制的图形处理方法
US20130071012A1 (en) 2011-03-03 2013-03-21 Panasonic Corporation Image providing device, image providing method, and image providing program for providing past-experience images
CN102999680A (zh) 2011-09-09 2013-03-27 盛乐信息技术(上海)有限公司 计算机游戏中的道具关联系统及其实现方法
US20140085314A1 (en) * 2011-05-20 2014-03-27 Dream Chip Technologies Gmbh Method for transmitting digital scene description data and transmitter and receiver scene processing device
US20140198918A1 (en) 2012-01-17 2014-07-17 Qi Li Configurable Three-dimensional Sound System
US20140229324A1 (en) * 2013-02-08 2014-08-14 Thomson Licensing Method and system for recommending items

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023585B1 (ko) * 2008-12-08 2011-03-21 주식회사 케이티 객체기반 스토리지 시스템에서 클라이언트 요청빈도에 따른데이터 관리 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111581A (en) 1997-01-27 2000-08-29 International Business Machines Corporation Method and system for classifying user objects in a three-dimensional (3D) environment on a display in a computer system
US20090232214A1 (en) 1999-11-26 2009-09-17 British Telecommunications Plc Video coding and decoding
CN101620724A (zh) 2008-06-04 2010-01-06 Arm有限公司 图形处理系统
US8698828B2 (en) 2008-06-04 2014-04-15 Arm Limited Graphics processing systems
US20110194731A1 (en) 2009-12-23 2011-08-11 Metaio Gmbh Method of determining reference features for use in an optical object initialization tracking process and object initialization tracking method
US20120105446A1 (en) 2010-10-29 2012-05-03 International Business Machines Corporation Building controllable clairvoyance device in virtual world
US20130071012A1 (en) 2011-03-03 2013-03-21 Panasonic Corporation Image providing device, image providing method, and image providing program for providing past-experience images
WO2012158836A2 (en) 2011-05-17 2012-11-22 Activision Publishing, Inc. Video game with concurrent processing of game-related physical objects
US20140085314A1 (en) * 2011-05-20 2014-03-27 Dream Chip Technologies Gmbh Method for transmitting digital scene description data and transmitter and receiver scene processing device
CN102999680A (zh) 2011-09-09 2013-03-27 盛乐信息技术(上海)有限公司 计算机游戏中的道具关联系统及其实现方法
US20140198918A1 (en) 2012-01-17 2014-07-17 Qi Li Configurable Three-dimensional Sound System
CN102903146A (zh) 2012-09-13 2013-01-30 中国科学院自动化研究所 用于场景绘制的图形处理方法
US20140229324A1 (en) * 2013-02-08 2014-08-14 Thomson Licensing Method and system for recommending items

Also Published As

Publication number Publication date
US20160253832A1 (en) 2016-09-01
WO2016054800A1 (en) 2016-04-14
US9761030B2 (en) 2017-09-12
KR20170068546A (ko) 2017-06-19

Similar Documents

Publication Publication Date Title
US10558646B2 (en) Cognitive deduplication-aware data placement in large scale storage systems
KR102363369B1 (ko) 문서들의 벡터 표현들 생성하기
JP6047550B2 (ja) 検索方法、クライアント及びサーバ
KR101868829B1 (ko) 머신 러닝에서의 가중치의 생성
US20140244600A1 (en) Managing duplicate media items
KR101889451B1 (ko) 트레이닝 데이터를 위한 가중치 이득 평가기
CN109858045B (zh) 机器翻译方法和装置
CN109829164B (zh) 用于生成文本的方法和装置
US20150169676A1 (en) Generating a Table of Contents for Unformatted Text
CN112182255A (zh) 用于存储媒体文件和用于检索媒体文件的方法和装置
CN112860758A (zh) 搜索方法、装置、电子设备及计算机存储介质
US20150339310A1 (en) System for recommending related-content analysis in an authoring environment
CN105550217A (zh) 场景音乐搜索方法及场景音乐搜索装置
KR101923011B1 (ko) 장면 이미지 생성기
CN109416621A (zh) 利用支持共享对象的计算机存储系统来恢复非易失性存储中的空闲空间
CN112148844A (zh) 机器人的信息回复方法及装置
US9811526B2 (en) Computing resource provisioning based on deduplication
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
CN117273018A (zh) 信息处理方法、信息处理装置、计算机设备及存储介质
CN110955380B (zh) 访存数据生成方法、存储介质、计算机设备和装置
US9946765B2 (en) Building a domain knowledge and term identity using crowd sourcing
US9590933B2 (en) Generation of a communication request based on visual selection
CN107483595B (zh) 信息推送方法和装置
CN116935261A (zh) 数据处理方法及相关装置
CN107728806A (zh) 输入法候选词展示方法、装置、计算机装置及存储介质

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