KR20110028333A - 인터랙티브 환경을 위한 보조 컨텐츠 자산의 힌트기반 스트리밍 - Google Patents

인터랙티브 환경을 위한 보조 컨텐츠 자산의 힌트기반 스트리밍 Download PDF

Info

Publication number
KR20110028333A
KR20110028333A KR1020117000069A KR20117000069A KR20110028333A KR 20110028333 A KR20110028333 A KR 20110028333A KR 1020117000069 A KR1020117000069 A KR 1020117000069A KR 20117000069 A KR20117000069 A KR 20117000069A KR 20110028333 A KR20110028333 A KR 20110028333A
Authority
KR
South Korea
Prior art keywords
content
prehint
auxiliary content
vector
server
Prior art date
Application number
KR1020117000069A
Other languages
English (en)
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 KR20110028333A publication Critical patent/KR20110028333A/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/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/61Generating 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 using advertising information
    • A63F13/12
    • 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
    • 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
    • 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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • 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/55Details of game data or player data management
    • A63F2300/5506Details of game data or player data management using advertisements
    • 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/55Details of game data or player data management
    • A63F2300/5593Details of game data or player data management involving scheduling aspects
    • 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/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

인터랙티브 환경(interactive environment)을 위한 보조 컨텐츠 자산(auxiliary content assets)을 획득하고 배포하는 방법과 그러한 방법을 구현할 수 있는 클라이언트 장치와 서버가 개시되어 있다. 클라이언트 장치는 카메라 시점에서 가상 환경의 일부분의 장면을 비디오 화면에 디스플레이한다. 클라이언트 장치는 카메라 시점의 위치를 기반으로 프리힌트 벡터(pre-hint vector)를 발생시키고, 벡터를 서버로 전송하고, 서버로부터 보조 컨텐츠 정보를 수신한다. 서버는 프리힌트 벡터를 수신하여, 프리힌트 벡터로부터 미래 시계를 결정하고, 가능한 미래 시계 안의 하나 이상의 보조 컨텐츠 표적을 식별하고, 식별된 표적을 위한 보조 컨텐츠 정보를 상기 클라이언트 장치로 전송한다.

Description

인터랙티브 환경을 위한 보조 컨텐츠 자산의 힌트기반 스트리밍 {HINT-BASED STREAMING OF AUXILIARY CONTENT ASSETS FOR AN INTERACTIVE ENVIRONMENT}
본 출원은, 2008년 6월 3일에 출원된 미국 특허 출원 제12/132,568호를 우선권의 주장의 기초로 하고 있으며, 상기 출원의 개시 내용 전체는 참조로서 본 명세서에 포함되어 있는 것으로 한다.
본 발명은 전자 컴퓨팅(electric computing), 특히 인터랙티브 환경(interactive environment)에서 보조 컨텐츠(auxiliary content)의 배포에 관한 것이다.
인터넷과 비디오 게임과 같은 인터랙티브 엔터테인먼트(interactive entertainment)의 인기의 성장은 비디오 게임 내 광고의 기회로 이어졌다. 처음에는 광고들이 비디오 게임 내에 정적으로 위치하였다. 비디오 게임 콘솔(console)의 인터넷 연결이 가능해지면서, 비디오 게임 내에 나타나는 광고들의 업데이트(update)가 가능하게 되었다. 이것은 게임 콘솔 제작자들과 비디오 게임 회사들이 하나 이상의 광고주들에게 비디오 게임 내 광고 공간의 판매에서 수익을 발생시킬 여러 방안으로 이어졌다. 광고 컨텐츠는 종종 비디오 게임 타이틀의 성질에 의해 달라진다. 또한, 게임 내의 특정한 광고 공간은 다른 공간에 비해 더 가치 있을 수 있다. 추가로, 광고 캠페인은 시간에 따라 특정 광고를 단계적으로 중단하고, 다른 광고를 단계적으로 도입하면서 변화할 수 있다. 그러므로 어떤 광고들이 특정한 시간 동안, 특정한 비디오 게임 내의 특정한 공간에 위치하는 것을 결정하는 시스템을 갖추는 것은 유용하다.
통상적으로 비디오 게임 콘솔은 게임 타이틀, 하루 중 시간, 월, 년도, 기타 등등의 고려사항에 의해 게임 내에 어떤 광고를 특정 광고 공간에 위치시킬 것인지 결정하는 배포 서버에 접속할 수 있다. 종종 실제 광고 컨텐츠는 컨텐츠 서버라고 알려진 별개의 서버에 저장되어 있다. 그러한 경우에 배포 서버는 게임 콘솔에게 특정한 컨텐츠 서버를 접속하고, 비디오 게임 콘솔이 특정한 광고 공간을 위해 컨텐츠를 생성하기 위해 사용할 수 있는, 여기서 컨텐츠 자산이라고 지칭하는, 하나 이상의 컨텐츠 파일을 요청하도록 지시한다. 그러면 콘솔은 컨텐츠 서버에 직접적으로 접속하고, 지정된 컨텐츠 자산을 요청한다. 이 컨텐츠 자산은 비디오 게임 내 광고 공간에 컨텐츠의 빠른 업데이트를 용이하게 하기 위하여, 비디오 게임 콘솔의 캐시에 임시로 저장될 수 있다.
인터넷, 비디오 게임과 같은 인터랙티브 엔터테인먼트의 인기의 성장은 비디오 게임 내에서 광고의 기회로 이어졌다. 비디오 게임들 그리고 다른 형태의 인터랙티브 엔터테인먼트는 광고주의 수요가 있는 인구 집단 사이에서 점점 더 인기가 있어지고 있다. 따라서, 광고주들은 비디오 게임과 같은 인터랙티브 엔터테인먼트 내에 그들의 상품 및/또는 서비스들에 대한 광고를 갖기 위해 기꺼이 돈을 지급할 용의가 있다.
비디오 게임 환경 내에 실제 광고주들의 광고가 배치되고, 디스플레이되어 왔고, 앞으로도 계속 그럴 것이다. 대표적인 예가 U.S Patents 5,946,664와 6,539,544에 제시된 것처럼 운전 게임 내의 드라이빙 코스(driving course) 주변의 광고판에 광고가 붙여진 것이고, 상기 출원의 개시 내용 전체는 참조로서 본 명세서에 포함되어 있는 것으로 한다. 이러한 게임 내 광고에 따라, 비디오 게임을 만드는 소프트웨어 출판 회사는 광고주를 식별하고, 광고주에 의해 제공되는 광고 문구를 기반으로 텍스처 데이터(texture data)를 만들고, 비디오 게임 환경 내 광고의 대표 텍스처 데이터를 위치시킨다(즉, 광고판에 광고를 게재하는 것). U.S. Patent 5,946,664(Kan Ebisawa)는 예를 들어, 광고판과 같은 텍스처를 이용해 게임 내 자산을 교체하기 위해 네트워크를 이용하는 일반적인 개념을 설명하고 있다.
컴퓨터 네트워크를 통해 배포된 정보의 역동적인 성질로 인하여, 비디오 게임 내에 디스플레이되는 광고는 꽤 빠르게 업데이트 될 필요가 있을 수 있다. 추가로, 게임 환경 내에 광고 텍스처를 위한 매우 많은 수의 표적이 있을 가능성이 있다. 일반적으로 비디오 게임 콘솔은 각 가능한 표적에 대한 모든 가능한 광고 텍스처를 위해 제한된 저장 공간을 가지고 있다. 추가로, 어떤 비디오 게임 "세계"를 디스플레이할 것인가는 비디오 게임 플레이어가 결정하는 것이다. 플레이어는 게임 세계의 제한된 일부분만을 방문할 수도 있기 때문에 제한된 수의 광고 텍스처들만을 다운로드 할 필요가 있다. 전체 게임 세계를 위한 모든 광고 텍스처가 다운로드 가능하더라도, 네트워크 대역폭과 지연시간 제한 때문에 실용적이지 않을 수 있다.
자유형식의 게임에서 사실성을 용이하게 하기 위하여, 사용자가 게임을 플레이 할 때 '세계'의 일부는 때때로 온 더 플라이(on the fly)로 옮겨진다. "세계"의 일부가 광고를 포함하고 있을 수 있기 때문에 광고 컨텐츠를 최대한 빨리 업데이트 하는 것이 바람직하다. 유감스럽게도 자유형식의 비디오 게임의 역동적인 성질로 인하여, 일반적으로, 게임 콘솔은 네트워크로부터 광고 컨텐츠를 불러오는데 얼마나 오래 걸릴지 모르기 때문에, 광고 컨텐츠는 사용자에게 적시에 보여지기 위하여 미리 불러들여 질 수 있다.
이와 관련하여 본 발명의 실시형태들이 기술될 것이다.
인터랙티브 환경(interactive environment)을 위한 보조 컨텐츠 자산(auxiliary content assets)을 획득하고 배포하는 방법과 그러한 방법을 구현할 수 있는 클라이언트 장치와 서버를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 컴퓨터로 구현되는 방법은, 하나 이상의 보조 컨텐츠 표적을 포함하는 인터랙티브 환경과 상호작용하도록 구성되는 클라이언트 장치에서 보조 컨텐츠를 획득하기 위한 컴퓨터로 구현되는 방법으로, a) 비디오 화면에 시점을 기반으로 한 가상 환경의 일부분의 장면을 디스플레이하는 단계; b) 상기 가상 환경 내의 시점(視點, point of view)의 위치를 기반으로 프리힌트 벡터(pre-hint vector)를 발생시키는 단계; c) 상기 프리힌트 벡터를 서버로 송신하는 단계; d) 상기 서버로부터, 상기 프리힌트 벡터로부터 결정된 가능한 미래 시계(視界, field of view) 내의 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠와 관련된 보조 컨텐츠 정보를 수신하는 단계; 및 e) 하나 이상의 보조 컨텐츠 표적에 대한 상기 보조 컨텐츠를 미리 불러오는 단계; 를 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 클라이언트 장치는, 프로세서; 프로세스에 결합된 메모리; 및 상기 프로세서에 의해 실행되도록 상기 메모리에 내장된 하나 이상의 명령을 포함하는 인터랙티브 클라이언트 장치로, 상기 하나 이상의 명령은 인터랙티브 환경에 대한 보조 컨텐츠를 얻는 방법을 수행하도록 구성되며, 상기 보조 컨텐츠를 얻는 방법은, a) 비디오 화면에 시점에서의 가상 환경의 일부분의 장면을 디스플레이하는 단계; b) 가상 환경 내의 시점의 위치를 기반으로 프리힌트 벡터(pre-hint vector)를 발생시키는 단계; c) 상기 프리힌트 벡터를 서버로 송신하는 단계; d) 상기 서버로부터, 상기 프리힌트 벡터로부터 결정된 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠와 관련된 보조 컨텐츠 정보를 수신하는 단계; 를 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 컴퓨터로 구현되는 방법은, 서버에서, 컴퓨터로 구현되는 보조 컨텐츠의 배포를 관리하기 위한 컴퓨터로 구현되는 방법으로, a) 클라이언트 장치로부터, 가상 환경에서 시점의 위치를 기반으로 하는 정보를 포함하는 프리힌트 벡터를 수신하는 단계; b) 상기 프리힌트 벡터에 포함된 정보를 이용하여 미래 시계를 결정하는 단계; c) 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적을 식별하는 단계; 및 d) 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적과 관계된 보조 컨텐츠 정보를 클라이언트 장치에 보내는 단계; 를 포함하는 것을 특징으로 하는 방법을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 서버는, 프로세서; 메모리; 및 상기 프로세서에 의해 실행되도록 상기 메모리에 내장되는 하나 이상의 명령들을 포함하는 서버로, 상기 하나 이상의 명령들은 보조 컨텐츠의 배포를 관리하는 방법을 수행하도록 구성되며, 상기 보조 컨텐츠의 배포를 관리하는 방법은, a) 클라이언트 장치로부터 가상 환경 내의 시점의 위치와 움직임에 기반한 정보를 포함하는 프리힌트 벡터를 수신하는 단계; b) 상기 프리힌트 벡터에 포함된 정보를 이용하여 미래 시계를 결정하는 단계; c) 상기 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적을 식별하는 단계; 및 d) 상기 클라이언트 장치로 상기 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠와 관계된 보조 컨텐츠 정보를 보내는 단계; 를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 클라이언트 장치가 프리힌트 벡터(pre-hint vector)를 생성하고 네트워크에 접속된 서버로 보낼 수 있어, 서버에서 가능한 미래 시계 내의 공간을 식별하여 이 공간에 필요한 광고를 획득하기 위한 정보를 공급할 수 있다. 이로 인하여, 광고 컨텐츠가 네트워크로부터 미리 불러 들여지는 것이 허용되어, 클라이언트 장치에서 광고 컨텐츠를 적시에 사용자에게 보여주는 것을 가능하게 한다.
본 발명의 사상들은 첨부된 도면과 함께 다음의 실시예를 고려함으로써 용이하게 이해될 수 있다.
도 1은 본원 발명의 일 실시예에 따른 보조 컨텐츠 배포 시스템의 개략도이다.
도 1a는 클라이언트 장치에서 가상 환경 내의 광고의 일례를 도시하고 있다.
도 1b는 광고를 포함하는 가상 환경의 개략도이다.
도 2는 본원 발명의 일 실시예에 따른 보조 컨텐츠 자산의 미리 불러오기를 도시하고 있는 흐름도(flow diagram)이다.
도 3은 본원 발명의 일 실시예에 따른 클라이언트 장치를 도시하고 있는 블록도(block diagram)이다.
도 4는 본원 발명의 일 실시예에 따른 배포 서버를 도시하고 있는 블록도이다.
다음의 상세한 설명이 설명을 위하여 많은 구체적 세부사항들을 포함할지라도, 당업자라면 다음 세부사항들에 대한 많은 변형례들이 본 발명의 범위 내에 있다는 것을 이해할 것이다. 따라서, 이하에서 기술된 본 발명의 예시적 실시형태들은, 청구된 발명의 일반성을 잃지 않고, 청구된 발명에 제한을 두지 않으면서 기술된다.
본원 발명의 실시예는 시점의 위치(예를 들어, 카메라 시점 또는 플레이어(player)의 아바타 위치)와 속도 벡터 ν와 같이 시점의 움직임에 관한 정보를 포함하는 프리펫치 벡터(pre-fetch vector)를 네트워크에 접속된 서버로 보낼 수 있는 게임 콘솔을 허용한다. 서버는 가능한 미래 시계를 결정하기 위하여 상기 정보를 사용할 수 있다.
배포기는 가능한 미래 시계 내의 광고 공간을 식별할 수 있고 이 공간에 필요한 광고를 획득하기 위한 정보를 공급할 수 있다. 발명의 실시예는 시점을 둘러싼 지역 내의 표적을 위한 광고를 다운로드 할 서버, 그리고 기타 같은 종류의 것을 식별하는 정보에 반응할 수 있는 get spaces around (x,y,...)와 같은 컴퓨터 언어구조 규칙을 가지면서 콘솔이 배포기에 보낼 수 있는 간단한 명령을 보여준다. 이것은 광고 컨텐츠가 네트워크로부터 미리 불러 들여지는 것을 허용하여, 클라이언트 장치에서 광고 컨텐츠를 적시에 사용자에게 보여주는 것을 가능하게 한다.
도 1에서 보여지듯이, 캐시에 저장된 컨텐츠의 일관성 관리 시스템(100)은 하나 이상의 클라이언트 장치(102)와 하나 이상의 배포 서버(104)를 포함할 수 있다. 클라이언트 장치(102)와 배포 서버(104)는 네트워크(101)를 통해 서로 통신하도록 구성될 수 있다. 일 실시예에서, 일반성을 잃지않고, 네트워크(101)는 쌍방향 디지털 통신 네트워크가 될 수 있다. 네트워크(101)는 인터넷과 같은 근거리통신망 또는 광대역 통신망이 될 수 있다. 네트워크(101)는 본원 발명의 특정한 실시예를 구현하기 위한 네트워크 연결이 가능하도록 예를 들어, 케이블TV 쌍방향 네트워크, ISDN 또는 xDSL 고속 네트워크 같은 기반 시설을 이용하여 구현될 수 있다.
다른 실시예로, 상기 클라이언트 장치(102)는 비디오 게임 콘솔이 될 수 있다(이에 한정되는 것은 아님). 상업적 게임 콘솔의 예는 미국 Washington주 Redmond의 Microsoft Corporation사의 Xbox®, 일본 교토의 Nintendo Company,Ltd사의 Wii®, 일본 도쿄의 Sony Computer Entertainment사의 Playstation3와 같은 Playstation® 장치를 포함한다. Xbox®는 미국 Washington주 Redmond의 Microsoft Corporation사의 등록 상표이다. Playstation®은 일본 토쿄의 Kabushi Kaisha Sony Computer Entertainment사의 등록상표이다. Wii®는 일본 교토의 Nintendo Company,Ltd사의 등록상표이다. 그 외에, 상기 클라이언트 장치는 다른 어떠한 형태의 네트워크 가능한 장치가 될 수 있다. 그러한 장치들은 핸드폰, PC, 노트북, 텔레비전 셋톱박스, 휴대용 인터넷 접속장치, 휴대용 이메일(e-mail) 장치, 휴대용 비디오 게임 장치, 개인 휴대 정보 단말기, 디지털 음악 재생기, 그리고 기타 같은 종류의 것들을 포함하지만, 제한되지는 않는다. 추가로, 클라이언트 장치(102)는 앞의 실시예에서 나열한 하나 이상의 장치들의 기능을 포함할 수 있다.
여기서 사용된 컨텐츠라는 용어는 가상 환경 내의 화면에 표시되는 이미지(image), 비디오(video), 텍스트(text), 소리(sound) 등을 지칭한다. 그러한 컨텐츠들은, 예를 들어 배경화면, 아바타, 가상 환경 내에서 사용되는 시뮬레이션 된 객체와 같은 가상 환경의 필수적인 부분인 컨텐츠를 포함할 수 있다. 컨텐츠는 가상 환경에 필수적이지는 않지만 그 안에 나타날 수 있는 보조 컨텐츠 또한 포함할 수 있다. 여기서 사용된 "보조 컨텐츠"라는 용어는 상기 클라이언트 장치(102)에 무료로 제공되는, 예를 들어 텍스트(text), 정지화상(still image), 비디오(video), 애니메이션(animation), 소리(sound), 애플릿(applets), 3차원 컨텐츠(3-D content) 등의 형태의 컨텐츠를 의미한다. 일 실시예로, 이에 제한되지 않지만, 예를 들어, 비디오 게임, 3차원 컨텐츠와 같은 인터랙티브 환경의 구성은 이미지 또는 3차원을 포함하는 시뮬레이션과 관련된 정보를 포함할 수 있다. 그러한 정보의 예는 게임 타이틀 그 자체의 모든 상호작용 표현과 함께 정적 기하학부터 게임 레벨의 하위 집합 또는 전체 게임 수준에 이르기까지 다양할 수 있다. 보조 컨텐츠의 예로는 광고, 공익 광고, 소프트웨어 업데이트, 대화형 게임 컨텐츠, 그리고 기타 같은 종류의 것들을 포함한다.
보조 컨텐츠를 포함하는 컨텐츠는 컨텐츠 자산으로부터 클라이언트 장치에 의해 발생될 수 있다. 여기서 사용된 "컨텐츠 자산"이라는 용어는 클라이언트 장치가 컨텐츠를 발생시키기 위해 사용할 수 있는, 클라이언트 장치에 의해 읽혀질 수 있는 형식의 정보를 지칭한다. 보조 컨텐츠를 포함하는 컨텐츠, 그리고 상응하는 컨텐츠 자산은 가상 환경 세션(session)의 과정 동안 "온 더 플라이(on the fly)"로 생성될 수 있다.
보조 컨텐츠는 클라이언트 장치(102)에 의해 생성된 가상 환경에서 하나 이상의 미리 정의된 위치 또는 특정한 시간에 나타날 수 있다. 여기서 사용된 "가상 환경"이라는 용어는 장치의 사용자에 의해 시작되는 작업 중에 클라이언트 장치(102)에 의해 생성되는 문자, 정지 화상, 영상, 애니메이션, 소리 등을 지칭한다. 실시예의 방법으로, 그리고 제한을 두지 않고, 가상 환경은 상기 클라이언트 장치(102)가 사용자에게 나타내는 문자, 정지 화상, 영상, 애니메이션, 소리로 나타내어지는 비디오 게임 내의 풍경일 수 있다.
클라이언트 장치(102)는 하나 이상의 컨텐츠 서버(106)로부터 보조 컨텐츠 자산을 검색할 수 있다. 배포 서버(104)는 보조 컨텐츠의 어떤 특정한 아이템이 클라이언트 장치(102)에 의해서 생성되는 가상 환경 내의 특정한 공간 또는 특정 시간에 속하는지 결정할 수 있다. 각 배포 서버(104)는 다른 지역에 있는 클라이언트 장치들(102)에 대한 보조 컨텐츠의 배포를 책임질 수 있다.
예를 들어, 캐시에 저장된 컨텐츠가 광고 컨텐츠를 포함하는 것과 같은 특정한 작업에서, 시스템은 하나 이상의 컨텐츠 서버(106), 하나 이상의 보고 서버(108)와 하나 이상의 캠페인 관리 서버(110)를 선택적으로 포함할 수 있다. 어떤 작업에서 시스템은 컨텐츠의 배포를 용이하게 하기 위하여 선택적인 중개 서버(112)를 포함할 수 있다.
각 클라이언트 장치(102)는 중개 서버(112)에 입력을 제출하도록 구성되어 있다. 중개 서버(112)는 클라이언트 장치(102)와 배포 서버(104) 사이에서 중개자 역할을 할 수 있다. 실시예의 방법으로 중개 서버(112)는 어떤 배포 서버(104)가 특정한 지역에 있는 클라이언트 장치를 위해 보조 컨텐츠 배포를 처리할지 결정할 수 있다. 중개 서버(112)는 클라이언트 장치로부터 입력을 수신하고 입력에 대한 응답으로 상기 클라이언트 장치(102)에게 배포 서버(104)에 대한 접속 정보를 보내줄 수 있다. 각 클라이언트 장치(102)는 추가적으로, 중개 서버(112)로부터 접속 정보를 수신하고 보조 컨텐츠 공간에 대한 보조 컨텐츠 정보의 요청과 함께, 하나 이상의 배포 서버(104)를 접속하기 위하여 접속 정보를 이용하도록 구성될 수 있다. 배포 서버(104)는 하나 이상의 클라이언트 장치(102)로부터 보조 컨텐츠 정보에 대한 요청을 지원하도록 구성될 수 있다. 중개 서버(112)는 각 클라이언트 장치(102)와 미리 존재하는 신뢰 관계를 가질 수 있다. 실시예의 방법으로, 신뢰 관계는 비대칭적 암호 방식으로도 알려진 공개 키 암호 방식을 사용하여 이루어질 수 있다. 클라이언트 장치(102)와 중개 서버(112) 사이의 미리 존재하는 신뢰관계는 다수의 배포 서버(104)의 관리를 위임하도록 이용될 수 있다. 보조 컨텐츠 배포와 결합된 중개 서버의 사용은 "인터랙티브 환경에서 보조 컨텐츠의 중개"라고 제목 붙여진 미국 특허출원 11/759,143(James E. Marr 외)에서 설명되어 있고 상기 출원의 개시 내용 전체는 참조로서 본 명세서에 포함되어 있는 것으로 한다.
어떤 실시예에서는, 시스템(100)은 추가적으로, 하나 이상의 네트워크(101)에 결합된 보고 서버(108)를 포함할 수 있다. 클라이언트 장치(102)는 보조 컨텐츠와 관련된 사용자 활동을 보고할 수 있다. 예를 들어, 광고 형식의 보조 컨텐츠에 관해서 클라이언트 장치(102)는 보고 서버(108)에 광고가 표시되었는지 및/또는 사용자에게 노출되었는지와 관련된 정보를 보고하도록 구성될 수 있다. 그러한 노출에 관한 보고는, 예를 들어, 전체 내용이 여기에서 참조하는, 통상적으로 양도된, 2005년 9월 30일에 출원된 미국 특허출원 11/241,229에서 설명되어 있다. 어떤 실시예에서는, 상기 중개 서버(112)는 보고 서버(108)를 위한 URL과 보고 서버와 통신을 위한 암호 키를 제공한다.
본원 발명의 실시예에 따르면, 인터랙티브 환경에서 보조 컨텐츠를 획득하고 배포하기 위한 컴퓨터에서 구현되는 방법이 제공되어 있다. 적절한 가상 환경의 예도 포함되어있지만, 비디오 게임과 인터랙티브 가상 세계에 한정되는 것은 아니다. 가상 세계의 예는, 전체 내용을 여기에서 참조하고 통상적으로 양도된 미국 특허출원 11/682,281, 11/628,284, 11/682,287, 11/682,292, 11/682,298 그리고 11/682,299 에 설명되어 있다.
본원발명의 실시예에 따르면, 클라이언트 장치(102)는 가상 환경 내에 시점의 위치와 움직임을 기반으로 프리힌트 벡터(pre-hint vector) PV를 생성할 수 있다. 클라이언트 장치(102)는 프리힌트 벡터 PV를 서버(104)로 보낼 수 있다. 서버(104)는 클라이언트 장치(102)로부터 프리힌트 벡터 PV를 수신하고, 프리힌트 벡터 PV에 포함된 정보를 이용하여 미래 시계를 결정한다. 서버는 그런 후에, 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적을 식별하고, 클라이언트 장치에 보조 컨텐츠 정보 ACI를 보낸다. 보조 컨텐츠 정보 ACI는 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적과 관련된다. 클라이언트 장치(102)는 보조 컨텐츠 정보 ACI를 수신한다. 클라이언트 장치는 보조 컨텐츠 정보 ACI를 기반으로 하여 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠를 미리 불러들인다.
도 1A-1B는 본원발명의 실시예의 맥락에서 보조 컨텐츠를 포함하는 가상 환경의 예를 도시한 것이다. 실시예의 방법으로 클라이언트 장치(102)는 콘솔(120)을 포함할 수 있다. 가상 환경은 콘솔(120)의 일부인 프로세서에서 실행되는 시뮬레이션 소프트웨어(122)를 이용하여 생성될 수 있다. 카메라 관리 시스템(124)과 벡터 발생 명령(126) 역시 콘솔(120)에서 실행될 수 있다. 콘솔(120)에서 시뮬레이션 소프트웨어(122)의 실행과 카메라 관리 시스템(124)의 동작은 이미지를 비디오 화면(128)에 디스플레이하게 한다. 카메라 관리 시스템(124)은 적절히 구성된 하드웨어 및/또는 소프트웨어를 통해 콘솔(120)에 구현될 수 있다. 가상 환경은 하나 이상의 보조 컨텐츠 표적 101A, 101B, 101C 그리고 101D를 포함할 수 있다. 광고 표적의 예시는 여기에서 모든 목적에 대해 전체로서 참조하는 미국 특허 출원 공개번호 20070079331에 설명되어 있다. 사용자 U에게 디스플레이되는 장면은 상기 가상 환경과 함께 조작 가능한 카메라 관리 시스템(124)에 의해 최소한 부분적으로라도 통제 가능할 수 있다. 여기서 사용된 "장면"은 가상 환경의 디스플레이되는 일부분을 지칭한다. 프리힌트 벡터 발생 명령(126)은 상기 시뮬레이션 소프트웨어(122) 및/또는 카메라 관리 시스템(124)에 의해 결정되는 가능한 미래 시점의 위치와 속도 정보를 기반으로 프리힌트 벡터를 생성시킬 수 있다.
카메라 관리 시스템(124)은 가상 환경이 장면(121)을 디스플레이하기 위한 목적으로 보여지는 가상 환경 내에 위치를 결정할 수 있다. 카메라 관리 시스템(124)은 또한 장면이 보여지는 각도를 결정할 수 있다. 추가적으로, 카메라 관리 시스템(124)은 또한 장면의 일부분의 시계의 넓이, 높이, 그리고 심도의 제한을 결정할 수도 있다. 장면(121)은 가상 환경 내의 특정한 시점에서 가상 환경의 일부분의 화면으로 생각되어질 수도 있다. 도 1B에서 나타나듯이, 장면(121)은 비디오 화면(128)에 시점(카메라 시점)에서 디스플레이될 수도 있다. 장면(121)은 절두체(127)로 인해 좁은 끝에 위치한 가상 카메라(129)와 함께 절두체(127) 내에 놓여진 가상 환경의 일부를 포함할 수 있다. 시점(125)은 실제 장면을 촬영하는 카메라의 위치와 각도와 비슷하고, 절두체(127)는 장면을 촬영하는 카메라의 시계와 유사하다. 유사한 점이 있어, 특정한 시점은 여기에서 카메라 시점(카메라 POV)이라고 지칭되고, 절두체(127)는 카메라 시계(FOV)라고 지칭된다. 카메라 POV(125)는 일반적으로 가상 카메라(129)의 위치(예를 들어, x,y,z)와 각도(예를 들어, 피치(pitch), 롤(roll), 요(yaw) angle)를 포함한다. 가상 카메라(129)의 위치나 각도의 변화는 비디오 화면(128)에 디스플레이되는 장면(121)의 이동을 초래한다. 카메라 각도는 시향(viewing direction) V를 포함할 수 있다. 시향 V는 카메라 절두체(127)의 좁은 면의 중심에 수직으로 향하고, 카메라 시계를 향하는 단위 벡터로 정의될 수 있다. 시향 V는 가상 카메라(129)의 피치(pitch) 및/또는 야(yaw)의 변화에 따라 변할 수 있다. 시향 V는 가상 카메라(129)의 "롤(roll)" 축으로 정의될 수 있다. 시계(127)는, 시계(127) 내에 있는 보조 컨텐츠 표적에 디스플레이되는 컨텐츠의 해상도의 일부 하한에 기반한 상기 카메라 시점(125)에 의해 제한된 범위를 가질 수도 있음을 명기한다.
카메라 시야(125)와 카메라 절두체(127)에 대해서 가능한 다른 구성이 여러 가지 있다. 실시예의 방법으로, 그리고 제한 두지않고, 사용자는 사용자 U가 가상 세계와 상호작용 가능한 것을 통해 아바타 A를 통제할 수 있다. 카메라 시점(125)은 어떤 적절한 각도에서 가상 환경 내에서 아바타 A를 보여주도록 선택될 수 있다. 그렇지 않으면, 카메라 시점(125)은 비디오 화면(128)이 아바타의 시점에서 장면을 나타내도록 선택될 수 있다.
도 1B에서 개략적으로 보여지듯이, 장면(121)은 절두체(127) 내에 놓여진 가상 환경의 일부분을 보여준다. 장면(121)은 사용자의 가상 환경과의 상호작용 동안 카메라 시점(125)의 움직임에 대한 응답으로 카메라 경로(131)를 따라 카메라 시점(125)이 변함에 따라 변할 수 있다. 카메라 관리 시스템(124)은 카메라 경로(131)에 기반하여 가상 환경 내에서 장면(121)의 경관을 자동으로 생성할 수 있다. 시뮬레이션 소프트웨어(122)는 카메라 경로(131)를 소프트웨어(122)의 명령의 실행 상태와 사용자 U에 의해 시작되는 동작명령에 대한 응답으로 부분적으로 결정할 수 있다. 사용자 U는 콘솔(120)에 결합된 인터페이스(130)에 의해 그러한 동작명령을 시작시킬 수 있다. 디스플레이된 장면(121)은 카메라 시점(125)이 사용자의 가상 환경과의 상호작용 동안, 카메라 경로(131)에 따른 카메라 시점(125)과 카메라 절두체(127)의 움직임에 대한 응답에 의해 변함에 따라 변화할 수 있다. 카메라 경로(131)는 사용자의 가상 환경과의 상호작용 동안 복수의 다른 시간 증분에서 카메라 시점(125)의 위치(x,y,z)와 각도(요(yaw), 피치(pitch), 롤(roll))를 나타내는 데이터 값의 집합으로 나타내어질 수 있다. 시야에 대한 속도 벡터 V는 하나의 프레임과 다른 프레임 사이의 시야(125)의 상대적인 이동에 의해 계산될 수 있다. 시향 θ와 속도 벡터 V는 다른 방향을 향할 수 있음을 명기한다. 추가적으로, 본원발명의 실시예는 카메라 시점 이외의 다른 시점에 대해 계산된 위치와 속도를 사용할 수 있음을 명기한다. 예를 들어, 아바타 A에 대한 위치와 속도는 카메라 시점(125)을 위한 대안으로 사용될 수 있다.
프리힌트 벡터 생성 명령(126)은 다른 여러 가지 방법으로 프리힌트 벡터를 생성할 수 있다. 실시예의 방법으로, 일반성을 잃지않고, 프리힌트 벡터 발생 명령(126)은 현재 시점(125), 시야각 θ와 미래 시계를 결정하는 시야 속도 v를 포함하는 프리힌트 벡터 PV를 적절한 데이터 형식으로 생성할 수 있다. 구체적으로, 프리힌트 벡터 PV는,
PV = (x, y, z, vx, vy, vz, t)와 같은 형식을 갖는다. x,y,z는 카메라 시점(125)의 위치의 좌표를 나타내고, vx, vy, vz는 시간 t에서 시야 속도 v의 좌표를 나타낸다.
프리힌트 벡터 PV는 시야각 θ의 각도 요소를 나타내는 θx, θy, θz 와 시야각 θ의 변화율의 요소를 나타내는 ωx, ωy, ωz를 덧붙여 포함할 수 있다. 프리힌트 벡터는 또한 시점(125)의 병진 가속도의 요소와 시야각 θ의 각 가속도의 구성요소도 선택적으로 포함할 수 있다.
프리힌트 벡터 PV 안의 정보를 기반으로 하여 서버(104)는 가능한 미래 시계를 계산할 수 있다. 특히, 서버(104)는 시점 좌표 x,y,z 와 속도 벡터 v로부터 가능한 미래 시점(135) 또는 그러한 시점의 범위를 추산할 수 있다. 서버(104)는 추가적으로 시야각 θ'와 각속도 정보로부터 가능한 미래 시야각 또는 미래 시야각의 범위를 결정할 수 있다. 서버(104)는 다음으로, 예를 들어, 현재 시계(127)의 시점(125)을 각 가능한 미래 시점(135)으로 이동시키고, 그 결과로 생긴 절두체를 가상 환경의 저장된 지도 위에 올려놓음으로써 가능한 미래 시계(133)를 계산할 수 있다. 서버는 그 다음으로 가능한 미래 시계(133) 내의 보조 컨텐츠 표적과 관련된 정보를 검색할 수 있다. 도 1B에서 묘사된 예에서, 서버(104)는 표적 101B와 101C와 관련된 보조 컨텐츠 정보 ACI는 되돌려주겠지만, 표적 101A와 101D에 대해서는 그렇지 않을 것이다.
상기 예에서 가능한 미래 시계(133)는 단일 프리힌트 벡터 PV에 의해 결정되었다. 하지만, 본원발명의 실시예는 그러한 구현에 제한되지 않는다. 대신, 서버(104)는 다른 특정 시간에 획득하여지는 다수의 프리힌트 벡터에 기반하여 계산될 수 있는 가능한 미래 시계(133)를 계산할 수 있다. 서버(104)는 일정 기간 동안 정해진 클라이언트 장치(102)로부터 다수의 프리힌트 벡터를 수신할 수 있다. 서버(104)는 다음으로, 미래 시계를 계산하고, 적절하다고 판단될 때 보조 컨텐츠를 보낼 수 있다. 다수의 프리힌트 벡터가 유용한 상황의 예로, 플레이어(또는 상기 플레이어의 아바타)가 원 주변을 뛰는 것을 생각해보라(예를 들면 상기 플레이어가 다른 플레이어와 경주를 하는 것). 만약 서버(104)가 순간 속도만을 포함하는 단일 프리힌트 벡터만을 사용한다면, 사용자가 원을 뛰고 있었다는 것을 알아내기 힘들 것이다. 하지만, 일정 기간 동안 다수의 프리힌트 벡터에 의하면, 서버(104)는 많은 수학적 기술을 이용하여 더 정확한 가능한 미래 시계를 만들어 낼 수 있을 것이다. 실시예의 방법으로, 서버(104)는 적절한 수의 프리힌트 벡터에 적용된 다항식에 맞는 알고리즘을 이용하여 미래 시계(133)를 결정할 것이다.
추가적으로, 어떤 실시예에서는, 서버(104)는 클라이언트 장치(102)가 카메라 시점과 더 가까운 보조 컨텐츠를 내려받도록 보조 컨텐츠의 우선순위를 매길 수 있다.
첫째로, 예를 들어, 비디오 게임 상황에서, 서버(104)는 클라이언트에게, 예를 들어, 현재 레벨 또는 다음 레벨과 같은 모든 레벨에 대한 보조 컨텐츠의 목록을 제공할 수 있다. 서버(104)는 미래 시계(135)에 더 가까운 컨텐츠가 목록에 먼저 나타나고 클라이언트 장치(102)가 그 컨텐츠를 먼저 내려받을 수 있도록 목록을 정렬하기 위하여 계산된 가능한 미래 시계(133)를 사용할 수 있다.
덧붙여, 프리힌트 벡터는 카메라 위치, 각도, 속도, 그리고 기타 등등의 것들과 다른 정보를 포함할 수도 있다. 예를 들어, 프리힌트 벡터는 가상 환경의 종래 저장된 상태와 관련된 정보를 포함할 수 있다. 예를 들어, 비디오 게임의 경우에 사용자는 종종 세션(session)의 끝에서 게임을 종료하기 전에 게임의 상태를 저장한다. 비디오 게임은 종종 사용자에게 다른 도전과 과제를 제시하는 것과 관련된 게임의 다른 부분들을 지칭하는 각각 다른 "레벨"을 가진다. 종종 상기 사용자가 있던 레벨은 게임의 상태의 일부로 저장된다. 그러한 정보는 게임의 가상 환경 내에 시야(또는 사용자의 아바타)의 "위치"와 관련되어 있다고 여겨진다. 클라이언트 장치(102)는, 게임 프로그램과 같은 프로그램의 실행을 통해, 가상 환경의 상태를 점검하고, 그 상태를 저장하는 일환으로 그러한 정보를 결정할 수 있다. 이 정보는 서버(104)로 보내어진 프리힌트 벡터 안에 포함될 수도 있다. 예를 들어, 비디오 게임의 경우에, 플레이어의 가장 최근에 저장된 게임이 레벨 4에 있다고 가정하자. 이 정보는 프리힌트 벡터에 포함되어 서버(104)에 보내졌을 것이다. 서버(104)는 그 다음, 레벨 4에 관한 보조 컨텐츠 정보를 클라이언트 장치(102)로 보낼 수 있을 것이다.
도 2에서 나타난 것처럼, 시스템(100)은 독창적인 방법(200)에 따라 보조 컨텐츠를 배포하도록 구성될 수 있다. 방법(200)의 다양한 측면은 클라이언트 장치(102) 및/또는 배포 서버(104)에서 실행되는, 컴퓨터에서 실행가능한 명령의 실행으로 구현될 수 있다. 구체적으로, 클라이언트 장치(102)는 예를 들어, 적절한 프로그래밍을 통해 특정한 클라이언트 장치 명령(210)을 구현하도록 구성될 수 있다. 덧붙여, 배포 서버(104)는 특정한 중개 서버 명령(230)을 구현하도록 구성될 수 있다. 추가로, 컨텐츠 서버(106)는 특정한 컨텐츠 서버 명령(240)을 구현하도록 구성될 수 있다.
구체적으로, 211에서 나타난 것처럼 클라이언트 장치(102)는 사용자로부터 입력에 대한 응답으로 시점을 움직일 수 있다. 시점의 위치와 움직임에 기반하여 클라이언트 장치는 213에 나타난 것처럼, 배포 서버(104)에게 보내기 위하여, 212에 나타난 것처럼, 하나 이상의 프리힌트 벡터 PV를 생성할 수 있다. 배포 서버(104)는 232에 나타난 것처럼, 클라이언트 장치(102)로부터 프리힌트 벡터를 수신하고, 234에서 나타난 것처럼, 미래 시계를 결정하기 위하여, 프리힌트 벡터를 이용한다. 미래 시계는 위에서, 도 1B에 대하여 설명한 것처럼 프리힌트 벡터로부터 또는 다른 시간에서 획득되는 다수의 프리힌트 벡터의 사용을 통하여 결정될 수 있다. 배포 서버(104)는 다음으로, 235에 나타난 것처럼, 미래 시계 내에 위치한 보조 컨텐츠에 대한 표적을 식별한다. 이것은 전체 가상 환경 또는 그것의 일부분에 대한 컨텐츠 표적 위치를 나열하는 표에 색인을 포함할 수 있다. 서버(104)는 일치하는 것이 있는지 결정하기 위하여, 미래 시계 내의 위치와 보조 표적에 대한 위치를 비교할 수 있다. 일치하는 것이 식별되면, 서버는 다음으로, 236에 나타난 것처럼, 각 식별된 표적에 대해 관련 있는 컨텐츠 정보를 결정할 수 있다. 실시예의 방법에 의하면, 배포 서버(104)는 다음으로, 어떤 하나 이상의 컨텐츠 서버(106)가 미래 시계 내의 식별된 표적에 대한 보조 컨텐츠를 포함하고 있는지 결정할 수 있다. 어떤 경우에는, 가상 환경의 다른 공간에 대한 보조 컨텐츠가 다른 컨텐츠 서버들(106)에 저장될 수 있다. 덧붙여, 컨텐츠 정보는 237에 나타난 것처럼, 선택적으로 정렬될 수 있다. 어떤 컨텐츠 서버들(106)이 식별된 표적을 위한 컨텐츠를 가지고 있는지 결정한 후에, 배포 서버(104)는 238에 나타난 것처럼 컨텐츠 정보(207)를 클라이언트 장치(102)에 보낼 수 있다. 컨텐츠 정보(207)는 보조 컨텐츠 자산이 상기 클라이언트 장치(102)에 의하여 생성된 가상 환경 내의 특정한 보조 컨텐츠 공간에 디스플레이되도록 하는 것을 나타내는 정보를 포함할 수 있다. 컨텐츠 정보(207)는 프리힌트 벡터로부터 결정된 미래 시계에 대한 표적 공간의 우선순위대로 정렬된 보조 컨텐츠 아이템의 목록을 포함할 수 있다.
실시예의 방법으로 상기 컨텐츠 정보(207)는 하나 이상의 보조 컨텐츠 공간에 대한 정보를 제공할 수 있다. 각 보조 컨텐츠 공간 정보는 자산들이 다운로드 될 수 있는 서버로부터 선택된 하나 이상의 컨텐츠 서버(106)를 위해 공간식별기, 각 공간식별기와 관련된 하나 이상의 자산의 목록, 그리고 예를 들어 하나 이상의 URL들과 같은, 하나 이상의 주소를 포함할 수 있다. 둘 이상의 다른 컨텐츠 서버들(106)이 각 보조 컨텐츠 공간과 관련 있을 수 있다고 명기한다. 구체적으로, 이 정보는 각 보조 컨텐츠 공간과 관련된 목록 또는 표의 형태일 수 있다. 목록은 각 URL로부터 내려받기 가능한 하나 이상의 상응하는 보조 컨텐츠 자산을 위하여 공간 식별기, 하나 이상의 URL들, 그리고 파일 이름의 목록을 이용하여 하나 이상의 보조 컨텐츠 공간을 식별할 수 있다. 예를 들어, 컨텐츠 파일 A, B 그리고 C는 보조 컨텐츠 공간 1, 2 그리고 3에 대하여 URL1, URL2 그리고 URL3에서 각각 다운로드 가능하다.
214에 나타난 것처럼, 클라이언트 장치(102)는 컨텐츠 정보(207)를 수신한 후에 215에 나타난 것처럼, 하나 이상의 컨텐츠 요청(208)을 하나 이상의 선택된 컨텐츠 서버(106)에 보낼 수 있다. 각 선택된 컨텐츠 서버(106)를 위한 컨텐츠 요청은, 컨텐츠 서버(106)로부터 내려받을 보조 컨텐츠 파일의 목록을 포함할 수 있다. 그러한 목록은 배포 서버(104)로부터 획득되는 상기 컨텐츠 정보(207)로부터 얻어질 수 있다. 242에 나타난 것처럼, 컨텐츠 요청(208)을 수신한 후에, 244에 나타난 것처럼, 컨텐츠 서버는 요청된 컨텐츠에 대응하는 보조 컨텐츠 자산(209)(예를 들어, 텍스트, 이미지, 비디오, 오디오, 애니메이션 또는 다른 파일들)을 보낼 수 있다. 클라이언트 장치(102)는 다음으로, 자산(209)을 216에 수신하고, 자산(209)을 이용하여 (선택적으로) 보조 컨텐츠를 디스플레이하거나, 상기 자산을 저장하거나, 보조 컨텐츠를 디스플레이하고 상기 자산을 저장한다.. 실시예의 방법으로, 비디오 게임 형태의 가상 환경은 예를 들어, 광고판 등과 같은 하나 이상의 광고 공간을 포함할 수 있다. 그러한 공간들은 시각적으로 나타내어지는 장면을 묘사하는 이미지, 게임 내의 경치나 배경으로 렌더링 될 수 있다. 광고 컨텐츠는 이러한 공간에 게임의 보통 동작 과정 중에 컨텐츠 자산(209)을 이용하여 디스플레이될 수 있는 공간에 디스플레이될 수 있다. 그렇지 않으면, 광고 컨텐츠 자산(209)은 광고 공간과 관련된 위치에 컴퓨터 메모리나 하드드라이브에 저장되고 이후에 디스플레이될 수 있다.
일 실시예에서, 클라이언트 장치(102)는 본 발명의 실시예에 따른 클라이언트 장치(300)의 구성을 그리는 블록도 도 3에 나타난 것처럼 구성될 수 있다. 실시예의 방법으로, 그리고 일반성을 잃지않고, 클라이언트 장치(300)는 PC, 비디오 게임 콘솔, 개인 휴대 정보 단말기 또는 본원발명의 실시예를 실행하기 위해 적절한 다른 디지털 장치와 같은 컴퓨터 시스템으로 구현될 수 있다. 클라이언트 장치(300)는 소프트웨어 응용프로그램 그리고 선택적으로 운영체제를 실행하도록 구성된 중앙처리장치(CPU)(305)를 포함할 수 있다. CPU(305)는 하나 이상의 프로세싱 코어를 포함할 수 있다. 실시예의 방법으로 그리고 제한을 두지않고, CPU(305)는 셀 프로세서(Cell Processor)와 같은 병렬 프로세싱 모듈(parallel processor module)일 수 있다. 셀 프로세서 아키텍쳐(Cell Processor Architecture)의 예는 전체 내용은 여기에서 참조하고 http://cell.scei.co.jp/에서 다운로드 가능한 Cell Broadband Engine Architecture, copyright International Business Machines Corporation, Sony Computer Entertainment Incorporated, Toshiba Corporation(05.8.8)에 자세히 설명되어 있다.
메모리(306)는 CPU(305)에 결합되어 있다. 메모리(306)는 상기 CPU(305)가 사용하는 응용프로그램과 데이터를 저장할 수 있다. 메모리(306)는 RAM, DRAM, ROM, 그리고 기타 유사한 것과 같은 집적회로의 형태일 수 있다. 컴퓨터프로그램(301)은 프로세서(305)에 의해 실행될 수 있는 형태의 명령으로 메모리(306)에 저장될 수 있다. 프로그램(301)의 명령은, 다른 것들 사이에서, 예를 들어 도 1A와 1B에 대한 것과 함께 위에서 설명된 것과 같은 보조 컨텐츠와 도 2에서 클라이언트 쪽의 명령(210)을 획득하기 위한 특정한 방법의 단계를 구현하기 위해 구성될 수 있다. 실시예의 방법으로, 프로그램(301)은 가상 환경의 시점의 위치와 움직임에 기반하여 프리힌트 벡터를 생성, 서버(104)에게 프리힌트 벡터 PV를 보내고, 응답으로 서버로부터 보조 컨텐츠 정보를 수신하고, 보조 컨텐츠 정보에 기반한 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠 자산(316)을 미리 불러오는 명령을 포함할 수 있다.
프로그램(301)은 인터랙티브 환경을 구현하기 위하여 구성되는 하나 이상의 명령과 결합하여 동작할 수 있다. 실시예의 방법으로, 그러한 명령은 비디오 게임 프로그램과 같은, 메인 프로그램(303)의 서브루틴 또는 호출가능한 함수일 수 있다. 그렇지 않으면, 메인 프로그램(303)은 가상 세계와 접속하는 프로그램일 수 있다. 메인 프로그램(303)은 가상 환경의 일부 장면을 카메라 시점으로부터 비디오 화면에 나타내고, 가상 환경과 사용자의 상호작용 동안 카메라 경로에 따른 카메라 시점의 움직임에 대한 응답으로 카메라 시점이 변함에 따라 상기 장면이 변화할 수 있도록 구성될 수 있다. 메인 프로그램(303)은 물리 시뮬레이션 (physics simulation)(304), 카메라 관리(307) 그리고 광고 노출 보고(309)를 위한 명령을 포함할 수 있다. 메인 프로그램(303)은, 예를 들어, 함수 또는 서브루틴과 같은 노출 향상 프로그램(301), 물리 시뮬레이션(physics simulation) 명령(304), 카메라 관리 명령(307) 그리고 광고 노출 보고 명령(309)을 불러들일 수 있다.
클라이언트 장치(300)는 또한 입출력 요소(I/O)(311), 전원(P/S)(312), 클록(CLK)(313), 그리고 캐시(314)와 같은 잘 알려진 보조 기능(310)을 포함할 수 있다. 클라이언트 장치(300)는, 추가적으로, 응용프로그램과 데이터를 위한 비휘발성 저장공간을 제공하는 저장장치(315)를 포함할 수 있다. 저장장치(315)는 컨텐츠 서버(120)로부터 내려받은 보조 컨텐츠 자산(316)의 임시 또는 장기 저장을 위해 이용될 수 있다. 실시예의 방법으로, 저장장치(315)는 고정된 디스크 드라이브, 이동식 디스크 드라이브, 플래시 메모리 장치, 테이프 드라이브, CD-ROM, DVD-ROM, 블루레이, HD-DVD, UMD 또는 다른 광학 저장장치가 될 수 있다. 미리 불러 들여진 자산(316)은 메모리(306)로의 빠른 로딩을 위하여 저장장치(315)에 임시로 저장될 수 있다.
하나 이상의 사용자 입력장치(320)는 하나 이상의 사용자로부터 사용자 입력을 컴퓨터 클라이언트 장치(300)와 통신하기 위해 이용된다. 실시예의 방법으로, 하나 이상의 사용자 입력장치(320)는 입출력 요소(311)를 통하여 클라이언트 장치(300)와 결합될 수 있다. 적절한 입력장치(320)의 예는 키보드, 마우스, 조이스틱, 터치패드, 터치스크린, 라이트펜, 카메라, 비디오 카메라 및/또는 마이크로폰을 포함한다. 클라이언트 장치(300)는 전자통신 네트워크(327)를 통한 통신을 용이하게 하기 위하여 네트워크 인터페이스(325)를 포함할 수 있다. 네트워크 인터페이스(325)는 인터넷과 같은 근거리 네트워크 그리고 광대역 네트워크를 통한 유선 또는 무선 통신을 구현하기 위해 구성될 수 있다. 클라이언트 장치(300)는 네트워크(327)를 통한 하나 이상의 메시지 패킷(326)을 통하여, 파일에 대한 데이터 및/또는 요청을 보내고 수신할 수 있다.
클라이언트 장치(300)는 추가적으로, 그래픽 처리장치(GPU)(335)와 그래픽 메모리(340)를 포함할 수 있는 그래픽 서브시스템(330)으로 구성된다. 그래픽 메모리(340)는 출력 이미지의 각 픽셀에 대한 픽셀 데이터를 저장하기 위해 사용되는 디스플레이 메모리(예를 들어, 프레임 버퍼)를 포함할 수 있다. 그래픽 메모리(340)는, GPU(335)와 분리된 장치로 연결된, 및/또는 메모리(306) 내에서 구현되는, GPU(335)와 동일한 장치에 통합될 수 있다. 픽셀 데이터는 CPU(305)로부터 직접 그래픽 메모리(340)에 제공될 수 있다. 그렇지 않으면, CPU(305)는 GPU(335)에 GPU가 하나 이상의 출력 이미지의 데이터를 생성할 수 있는 원하는 출력 이미지를 정의할 수 있는 데이터 및/또는 명령을 제공할 수 있다. 원하는 출력 이미지를 정의하는 데이터 및/또는 명령은 메모리(306) 및/또는 그래픽 메모리(340)에 저장될 수 있다. 한 실시예에서는 GPU(335)는 장면에 대한 기하학, 라이팅(lighting), 셰이딩(shading), 텍스처링(texturing), 동작(motion), 및/또는 카메라 파라미터를 정의하는 데이터와 명령으로부터 출력 이미지에 대한 픽셀 데이터를 생성하기 위한 3D 렌더링 능력을 갖고 구성될 수 있다(예를 들어, 적절한 프로그래밍 또는 하드웨어 구성을 통해). GPU는 추가적으로, 셰이더 프로그램(shader program)을 실행할 수 있는 하나 이상의 프로그램 가능한 실행 유닛(execution unit)을 포함할 수 있다.
그래픽 서브시스템(330)은 비디오 디스플레이 장치(350)에 디스플레이하기 위하여, 그래픽 메모리(340)로부터의 이미지를 위한 픽셀 데이터를 주기적으로 출력할 수 있다. 비디오 디스플레이 장치(350)는 CRT, LCD, plasma, 그리고 OLED 디스플레이를 포함하여, 클라이언트 장치(300)로부터의 신호에 대응하여 시각 정보를 디스플레이할 수 있는 어떠한 장치도 될 수 있다. 컴퓨터 클라이언트 장치(300)는 디스플레이 장치(350)에 아날로그 또는 디지털 신호를 제공한다. 실시예의 방법으로, 디스플레이(350)는 텍스트, 숫자, 그래픽 심벌(graphic symbols), 이미지를 나타내는 브라운관(CRT) 또는 평면 패널 스크린(flat panel screen)을 포함할 수 있다. 덧붙여, 디스플레이(350)는 들을 수 있거나 또는 다른 탐지 가능한 소리를 발생시키는 하나 이상의 오디오 스피커를 포함할 수 있다. 그러한 소리의 생성을 용이하게 하기 위하여, 클라이언트 장치(300)는 추가적으로, CPU(305), 메모리(306), 및/또는 저장장치(315)로부터 제공되는 명령 및/또는 데이터로부터 아날로그 또는 디지털 오디오 출력을 생성하기 적당한 오디오 프로세서(355)를 포함할 수 있다.
CPU(305), 메모리(306), 보조 기능(310), 데이터 저장장치(315), 사용자 입력장치(320), 네트워크 인터페이스(325), 그리고 오디오 프로세서(355)를 포함하는 클라이언트 장치(300)의 구성요소는 하나 이상의 데이터 버스(bus)(360)를 통해 사용 가능하게 서로 연결되어 있을 수 있다. 이러한 구성요소들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 둘 이상의 것들의 어떤 조합으로 구현될 수 있다.
실시예의 방법으로, 그리고 일반성을 잃지않고, 시스템(100) 내의 배포 서버(104)는 도 4에서 나타난 것과 같이 구성될 수 있다. 본원발명의 실시예에 따르면, 배포 서버(400)는 컴퓨터 시스템 또는 다른 디지털 장치로 구현될 수 있다. 배포 서버(400)는 소프트웨어 응용프로그램과 선택적으로 운영체제를 실행할 수 있도록 구성되는 중앙처리장치(CPU)(404)를 포함할 수 있다. CPU(404)는 하나 이상의 프로세싱 코어(processing core)를 포함할 수 있다. 실시예의 방법으로, 그리고 제한을 두지않고, CPU(404)는 셀 프로세서(Cell Processor)와 같은 병렬 프로세서 모듈(parallel processor module)일 수 있다.
메모리(406)는 CPU(404)에 결합되어 있다. 메모리(406)는 CPU(404)가 사용하는 응용프로그램과 데이터를 저장할 수 있다. 메모리(406)는 집적회로(예를 들면 RAM, DRAM, ROM, 그리고 기타 등등) 형태로 될 수 있다. 컴퓨터 프로그램(403)은 프로세서(404)에 의해 실행될 수 있는 명령의 형태로 메모리(406)에 저장될 수 있다. 최신 업데이트 값(401)은 메모리(406)에 저장될 수 있다. 프로그램(403)의 명령은, 다른 것들 사이에서, 예를 들면, 위에서 설명한 도 2에서 배포하는 쪽의 동작(230)과 같은 보조 컨텐츠의 프리힌트 벡터 스트리밍을 위한 방법의 특정한 단계를 구현하기 위하여 구성될 수 있다. 구체적으로 상기 배포 서버(400)는 예를 들어, 프로그램(403)의 적절한 프로그래밍을 통해, 클라이언트 장치로부터 하나 이상의 프리힌트 벡터(401)를 수신, 프리힌트 벡터(401)에 포함된 정보를 이용하여 미래 시계를 결정, 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적을 식별하고, 그 표적을 위한 보조 컨텐츠 정보를 클라이언트 장치에 보내기 위한 것으로 구성될 수 있다.
메모리(406)는 가상 세계 데이터(405)를 포함할 수 있다. 가상 세계 데이터(405)는 가상 환경의 지형과 물체들의 상태에 관련된 정보를 포함할 수 있다. 프리힌트 프로그램(403)은 또한 가상 세계 데이터(405)와 상기 프리힌트 벡터(401)를 이용하여, 프로그램(403)에 의해 생성된 보조 컨텐츠 표적들의 목록(409)에 기반한 복수의 컨텐츠 서버 중에서 하나 이상의 컨텐츠 서버를 선택할 수 있다. 예를 들어, 메모리(406)는 게임 타이틀과 그에 상응하는 게임 내의 광고 표적 컨텐츠 순으로 정리된 컨텐츠 서버 목록과 함께 상호참조 표(407)를 포함할 수 있다. 프로그램(403)은 리스트(409) 안에 있는 타이틀과 보조 컨텐츠 표적에 상응하는 컨텐츠 서버에 대한 표의 검색을 수행할 수 있다.
배포 서버(400)는 잘 알려진 입출력(I/O) 요소(411), 전원(P/S)(412), 클럭(CLK)(413), 그리고 캐시(414)와 같은 보조기능(410)을 포함할 수 있다. 중개 서버(400)는 추가적으로 응용프로그램과 데이터를 위한 비휘발성 저장소를 제공하는 저장장치(415)를 포함할 수 있다. 저장장치(415)는 배포 서버 주소와 암호 키와 같은 접속정보(416)의 임시 또는 장기 저장을 위해 이용될 수 있다. 실시예의 방법으로, 저장 장치(415)는 고정식 디스크 드라이브, 이동식 디스크 드라이브, 플래시 메모리 장치, 테이프 장치, CD-ROM, DVD-ROM, 블루레이, HD-DVD, UMD 또는 다른 광학 저장장치가 될 수 있다.
하나 이상의 사용자 입력 장치(420)는 하나 이상의 사용자들로부터의 사용자 입력을 중개 서버(400)로 통신하기 위해 사용될 수 있다. 실시예의 방법으로, 하나 이상의 사용자 입력 장치(420)는 상기 I/O 요소(411)를 통하여 상기 중개 서버(400)와 결합될 수 있다. 적절한 입력장치(420)의 예는 키보드, 마우스, 조이스틱, 터치패드, 터치스크린, 라이트펜, 카메라 또는 비디오 카메라 및/또는 마이크로폰을 포함한다. 중개 서버(400)는 전자통신 네트워크(427)를 통한 통신을 용이하게 하기 위해서 네트워크 인터페이스(425)를 포함할 수 있다. 네트워크 인터페이스(425)는 인터넷과 같은 근거리 네트워크 그리고 광대역 네트워크를 통한 유선 또는 무선 통신을 구현하기 위해 구성될 수 있다. 중개 서버(400)는 네트워크(427)를 통한 하나 이상의 메시지 패킷을 통해 파일을 위한 데이터 및/또는 요청을 보내고 수신할 수 있다.
CPU(450), 메모리(406), 보조 기능(410), 데이터 저장장치(415), 사용자 입력장치(420), 그리고 네트워크 인터페이스(425)를 포함하는 배포 서버(400)의 구성요소는 하나 이상의 데이터 버스(460)을 통하여 사용 가능하게 서로 연결될 수 있다. 이 구성요소들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 둘 이상의 것들의 어떤 조합으로 구현될 수 있다.
본원발명의 실시예는 클라이언트 장치 자체에 지나친 부담을 주지 않고 클라이언트 장치에 캐시에 저장된 컨텐츠 자산의 일관성의 관리를 용이하게 한다. 어떤 자산을 미리 불러들일 것인지를 결정하는 책임을 내려놓음에 따라, 본원발명의 실시예는 그 자산을 사용하는 장치에 추가적인 부담없이 전산 보조 컨텐츠 자산의 빠른 입수를 용이하게 할 수 있다.
본 발명의 바람직한 실시형태가 이상에서 완벽하게 기술되었을지라도, 다양한 변형례들 및 균등물을 이용하는 것이 가능하다. 그러므로 본 발명의 범위는, 이상의 상세한 설명을 참조하지 않고 결정되어야 하며, 균등물들의 전체 범위를 따라 첨부된 청구범위를 참조하여 결정되어야 한다. 본 명세서에 기술된 임의의 특징은, 바람직한지 여부에 상관없이, 본 명세서에 기술된 다른 특징과 결합될 수 있다. 이하의 청구범위에서는, 부정관사 "A" 또는 "An"은, 다르게 표현되어 있지 않다면, 관사의 뒤를 따르는 아이템(item)의 하나 이상의 분량을 의미한다. 첨부된 청구범위는, "~ 을 위한 수단(means for)"이라는 용어를 사용하여 주어진 청구항에서 명확하게 열거된 경우가 아니라면, 수단-플러스-기능 제한들(means-plus-function limitaiton)을 포함하는 것으로 해석되지 않는다.
100: 컨텐츠 일관성 관리 시스템
101: 네트워크
101A, 101B, 101C, 101D: 보조 컨텐츠 표적
102: 클라이언트장치
104: 배포 서버
106: 컨텐츠 서버
108: 보고 서버
110: 캠페인 서버
120: 콘솔
121: 디스플레이되는 장면
122: 시뮬레이션 소프트웨어
124: 카메라 관리 시스템
125: 카메라 시점
126: 벡터 발생 명령
127: 시계
128: 비디오 화면
129: 가상 카메라
130: 인터페이스
131: 카메라 경로
133: 가능한 미래 시계
135: 가능한 미래 시점
207: 컨텐츠 정보
208: 컨텐츠 요청
209: 보조 컨텐츠 자산
210: 클라이언트 장치 명령
230: 중개 서버 명령
240: 컨텐츠 서버 명령
300: 클라이언트 장치
301: 벡터제출 프로그램
303: 메인 프로그램
304: 물리 시뮬레이션(physics simulation)
306: 메모리
307: 카메라 관리
309: 광고 노출 보고 명령
310: 보조 기능
311: 입·출력장치
312: 전원
313: 클럭
314: 캐시
315: 데이터 저장장치
316: 미리 불러온 자산(pre-fetched assets)
320: 사용자 인터페이스
325: 네트워크 인터페이스
326: 메세지 패킷
327: 네트워크
330: 그래픽 서브 시스템
335: GPU
340: 그래픽 메모리
350: 디스플레이
355: 오디오 프로세서
400: 배포서버
401: 프리힌트 벡터(pre-hint vector)
403: 프리힌트 프로그램
404: CPU
405: 가상 세계 데어터
406: 메모리
407: 상호참조 표
409: 표적목록
410: 보조 기능
411: 입·출력 장치
412: 전원
413: 클럭
414: 캐시
415: 저장장치
416: 접속정보
420: 사용자 인터페이스
425: 네트워크 인터페이스
426: 메세지 패킷
427: 네트워크
450: 디스플레이
460: 데이터 버스(data bus)

Claims (35)

  1. 하나 이상의 보조 컨텐츠 표적을 포함하는 인터랙티브 환경과 상호작용하도록 구성되는 클라이언트 장치에서 보조 컨텐츠를 획득하기 위한 컴퓨터로 구현되는 방법으로,
    a) 비디오 화면에 시점을 기반으로 한 가상 환경의 일부분의 장면을 디스플레이하는 단계;
    b) 상기 가상 환경 내의 시점(視點, point of view)의 위치를 기반으로 프리힌트 벡터(pre-hint vector)를 발생시키는 단계;
    c) 상기 프리힌트 벡터를 서버로 송신하는 단계;
    d) 상기 서버로부터, 상기 프리힌트 벡터로부터 결정된 가능한 미래 시계(視界, field of view) 내의 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠와 관련된 보조 컨텐츠 정보를 수신하는 단계; 및
    e) 하나 이상의 보조 컨텐츠 표적에 대한 상기 보조 컨텐츠를 미리 불러오는 단계; 를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 프리힌트 벡터는 가상 환경 내의 시점에 대한 위치 좌표들과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 프리힌트 벡터는 카메라 시점의 시야각과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 프리힌트 벡터는 가상 환경 내의 시점의 움직임에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 프리힌트 벡터는 시점의 속도에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 프리힌트 벡터는 상기 클라이언트 장치를 위한 가상 환경의 종래 저장된 상태에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  7. 제4항에 있어서,
    상기 프리힌트 벡터는 상기 카메라 시점의 시야각의 변화율에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 보조 컨텐츠 정보는 상기 가능한 미래 시계 내의 표적에 대한 다운로드 가능한 보조 컨텐츠 자산을 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 보조 컨텐츠 정보는, 상기 가능한 미래 시계 내의 인터랙티브 환경 내의 표적에 대한 보조 컨텐츠를 다운로드 하는 다운로드 소스인 컨텐츠 서버의 주소를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 보조 컨텐츠 정보는 상기 표적에 대한 하나 이상의 보조 컨텐츠 자산의 목록을 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 단계 e)는 하나 이상의 보조 컨텐츠 자산을 위한 요청과 함께 상기 콘텐츠 서버에 접속하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 방법은 상기 컨텐츠 서버로부터 하나 이상의 보조 컨텐츠 자산을 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 방법은 상기 인터랙티브 환경에서 하나 이상의 보조 컨텐츠 공간에 보조 컨텐츠를 디스플레이하기 위하여, 하나 이상의 보조 컨텐츠 자산을 이용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제1항에 있어서,
    상기 보조 컨텐츠는 광고 컨텐츠를 포함하는 것을 특징으로 하는 방법.
  15. 제1항에 있어서,
    상기 가상 환경은 비디오 게임의 환경인 것을 특징으로 하는 방법.
  16. 제1항에 있어서,
    상기 보조 컨텐츠 정보는 상기 프리힌트 벡터로부터 결정되는 미래 시계에 대한 근접성의 순서로 정렬된 보조 컨텐츠 항목들의 목록을 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 단계 e)는 미래 시계에 대한 근접성의 순서로 하나 이상의 보조 컨텐츠 표적에 대한 상기 보조 컨텐츠를 미리 불러오는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 프로세서;
    프로세스에 결합된 메모리; 및 상기 프로세서에 의해 실행되도록 상기 메모리에 내장된 하나 이상의 명령을 포함하는 인터랙티브 클라이언트 장치로, 상기 하나 이상의 명령은 인터랙티브 환경에 대한 보조 컨텐츠를 얻는 방법을 수행하도록 구성되며, 상기 보조 컨텐츠를 얻는 방법은,
    a) 비디오 화면에 시점에서의 가상 환경의 일부분의 장면을 디스플레이하는 단계;
    b) 가상 환경 내의 시점의 위치를 기반으로 프리힌트 벡터(pre-hint vector)를 발생시키는 단계;
    c) 상기 프리힌트 벡터를 서버로 송신하는 단계;
    d) 상기 서버로부터, 상기 프리힌트 벡터로부터 결정된 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠와 관련된 보조 컨텐츠 정보를 수신하는 단계; 를 포함하는 것을 특징으로 하는 방법.
  19. 제18항에서,
    상기 인터랙티브 환경을 구현하기 위해 구성되는, 메모리에 내장된 하나 이상의 명령을 더 포함하는 것을 특징으로 하는 클라이언트 장치.
  20. 제18항에서,
    상기 인터랙티브 환경은 비디오 게임인 것을 특징으로 하는 클라이언트 장치.
  21. 서버에서, 컴퓨터로 구현되는 보조 컨텐츠의 배포를 관리하기 위한 컴퓨터로 구현되는 방법으로,
    a) 클라이언트 장치로부터, 가상 환경에서 시점의 위치를 기반으로 하는 정보를 포함하는 프리힌트 벡터를 수신하는 단계;
    b) 상기 프리힌트 벡터에 포함된 정보를 이용하여 미래 시계를 결정하는 단계;
    c) 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적을 식별하는 단계; 및
    d) 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적과 관계된 보조 컨텐츠 정보를 클라이언트 장치에 보내는 단계; 를 포함하는 것을 특징으로 하는 방법.
  22. 제21항에서,
    상기 프리힌트 벡터는 가상 환경 내의 시점에 대한 위치 좌표들과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  23. 제21항에서,
    상기 프리힌트 벡터는 카메라 시점의 시야각과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  24. 제21항에서,
    상기 프리힌트 벡터는 가상환경 내의 시점의 움직임에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  25. 제24항에서,
    상기 프리힌트 벡터는 시점의 속도에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  26. 제24항에서,
    상기 프리힌트 벡터는 상기 카메라 시점의 시야각의 변화율에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  27. 제21항에서,
    상기 프리힌트 벡터는 클라이언트 장치를 위한 가상 환경의 종래 저장된 상태에 관련된 정보를 포함하는 것을 특징으로 하는 방법.
  28. 제21항에서,
    상기 단계 b)는 상기 시점의 위치 좌표들과 상기 시점에 대한 속도 벡터로부터 미래 시점을 결정하는 단계와 상기 미래 시점으로부터 가능한 미래 시계를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  29. 제21항에서,
    상기 보조 컨텐츠 정보는 가능한 미래 시계 내의 인터랙티브 환경 내의 표적에 대한 보조 컨텐츠를 다운로드 가능한 컨텐츠 서버에 대한 주소를 포함하는 것을 특징으로 하는 방법.
  30. 제21항에서,
    상기 단계 a)는 상기 클라이언트 장치로부터 복수의 프리힌트 벡터를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  31. 제30항에서,
    상기 단계 b)는 복수의 프리힌트 벡터를 이용하여 상기 미래 시계를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  32. 제21항에서,
    상기 단계 c는 프리힌트 벡터로부터 결정되는 미래 시점에 대하여 가상 환경에서 해당 지역의 근접성에 의해 컨텐츠 항목의 목록을 정렬하는 단계를 포함하는 방법.
  33. 프로세서;
    메모리; 및 상기 프로세서에 의해 실행되도록 상기 메모리에 내장되는 하나 이상의 명령들을 포함하는 서버로, 상기 하나 이상의 명령들은 보조 컨텐츠의 배포를 관리하는 방법을 수행하도록 구성되며, 상기 보조 컨텐츠의 배포를 관리하는 방법은,
    a) 클라이언트 장치로부터 가상 환경 내의 시점의 위치와 움직임에 기반한 정보를 포함하는 프리힌트 벡터를 수신하는 단계;
    b) 상기 프리힌트 벡터에 포함된 정보를 이용하여 미래 시계를 결정하는 단계;
    c) 상기 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적을 식별하는 단계; 및
    d) 상기 클라이언트 장치로 상기 가능한 미래 시계 내의 하나 이상의 보조 컨텐츠 표적에 대한 보조 컨텐츠와 관계된 보조 컨텐츠 정보를 보내는 단계; 를 포함하는 것을 특징으로 하는 방법.
  34. 제33항에서,
    상기 b)는 위치 좌표들과 속도 벡터로부터 미래 시점을 결정하는 단계와 상기 미래 시점으로부터 가능한 미래 시계를 결정하는 단계를 포함하는 것을 특징으로 하는 서버.
  35. 제33항에서,
    상기 보조 컨텐츠 정보는 가능한 미래 시계 내의 인터랙티브 환경 내의 표적에 대한 보조 컨텐츠로를 다운로드 가능한 컨텐츠 서버에 대한 주소를 포함하는 것을 특징으로 하는 서버.
KR1020117000069A 2008-06-03 2009-05-20 인터랙티브 환경을 위한 보조 컨텐츠 자산의 힌트기반 스트리밍 KR20110028333A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/132,568 2008-06-03
US12/132,568 US20090300144A1 (en) 2008-06-03 2008-06-03 Hint-based streaming of auxiliary content assets for an interactive environment

Publications (1)

Publication Number Publication Date
KR20110028333A true KR20110028333A (ko) 2011-03-17

Family

ID=41381152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117000069A KR20110028333A (ko) 2008-06-03 2009-05-20 인터랙티브 환경을 위한 보조 컨텐츠 자산의 힌트기반 스트리밍

Country Status (5)

Country Link
US (1) US20090300144A1 (ko)
EP (1) EP2304671A4 (ko)
KR (1) KR20110028333A (ko)
CN (1) CN102113003B (ko)
WO (1) WO2009148833A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140009913A (ko) * 2012-07-12 2014-01-23 삼성전자주식회사 가상 세계 처리 장치 및 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416247B2 (en) * 2007-10-09 2013-04-09 Sony Computer Entertaiment America Inc. Increasing the number of advertising impressions in an interactive environment
KR101502756B1 (ko) * 2009-06-09 2015-03-17 한국전자통신연구원 게임 컨텐츠 판매 시스템 및 그 방법
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US20110084983A1 (en) * 2009-09-29 2011-04-14 Wavelength & Resonance LLC Systems and Methods for Interaction With a Virtual Environment
US20120188279A1 (en) * 2009-09-29 2012-07-26 Kent Demaine Multi-Sensor Proximity-Based Immersion System and Method
US20120072936A1 (en) * 2010-09-20 2012-03-22 Microsoft Corporation Automatic Customized Advertisement Generation System
US8667519B2 (en) 2010-11-12 2014-03-04 Microsoft Corporation Automatic passive and anonymous feedback system
US8782053B2 (en) * 2011-03-06 2014-07-15 Happy Cloud Inc. Data streaming for interactive decision-oriented software applications
US9098339B2 (en) * 2012-06-12 2015-08-04 Microsoft Technology Licensing, Llc Predictive cloud-based presimulation
US10220301B1 (en) * 2012-09-20 2019-03-05 Zynga Inc. Providing content to a scrollable user interface
US9519574B2 (en) * 2012-11-28 2016-12-13 Microsoft Technology Licensing, Llc Dynamic content access window loading and unloading
CN103096134B (zh) * 2013-02-08 2016-05-04 广州博冠信息科技有限公司 一种基于视频直播和游戏的数据处理方法和设备
US9564102B2 (en) * 2013-03-14 2017-02-07 Microsoft Technology Licensing, Llc Client side processing of player movement in a remote gaming environment
CN103138992B (zh) * 2013-03-26 2015-10-28 广东威创视讯科技股份有限公司 基于网络的场景模拟方法
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US10154072B2 (en) * 2014-09-17 2018-12-11 Microsoft Technology Licensing, Llc Intelligent streaming of media content
US10135890B2 (en) * 2015-03-06 2018-11-20 Sony Interactive Entertainment LLC Latency-dependent cloud input channel management
US10057604B2 (en) * 2016-07-01 2018-08-21 Qualcomm Incorporated Cloud based vision associated with a region of interest based on a received real-time video feed associated with the region of interest
US11024092B2 (en) * 2017-02-01 2021-06-01 Pcms Holdings, Inc. System and method for augmented reality content delivery in pre-captured environments
CN110472099B (zh) * 2018-05-10 2023-07-14 腾讯科技(深圳)有限公司 互动视频生成方法及装置、存储介质
EP3991441A1 (en) 2019-06-28 2022-05-04 PCMS Holdings, Inc. System and method for hybrid format spatial data distribution and rendering
CN112954437B (zh) * 2021-02-02 2022-10-28 深圳市慧鲤科技有限公司 一种视频资源处理方法、装置、计算机设备及存储介质

Family Cites Families (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1245361A (en) * 1984-06-27 1988-11-22 Kerry E. Thacher Tournament data system
US4734690A (en) * 1984-07-20 1988-03-29 Tektronix, Inc. Method and apparatus for spherical panning
US4807158A (en) * 1986-09-30 1989-02-21 Daleco/Ivex Partners, Ltd. Method and apparatus for sampling images to simulate movement within a multidimensional space
US4905168A (en) * 1986-10-15 1990-02-27 Atari Games Corporation Object processing for video system using slips and linked list
AU641397B2 (en) * 1989-04-28 1993-09-23 Softel, Inc. Method and apparatus for remotely controlling and monitoring the use of computer software
JP2825291B2 (ja) * 1989-11-13 1998-11-18 株式会社東芝 半導体記憶装置
US5283731A (en) * 1992-01-19 1994-02-01 Ec Corporation Computer-based classified ad system and method
US5377997A (en) * 1992-09-22 1995-01-03 Sierra On-Line, Inc. Method and apparatus for relating messages and actions in interactive computer games
US5592212A (en) * 1993-04-16 1997-01-07 News Datacom Ltd. Methods and systems for non-program applications for subscriber television
US5857149A (en) * 1994-05-27 1999-01-05 Kabushiki Kaisha Media Marketing Network Multibroadcast receiver for extracting desired broadcast information based on an identification code
KR0127229B1 (ko) * 1994-07-30 1997-12-29 구자홍 게임장치 겸용 티브이 및 제어방법
JP3325134B2 (ja) * 1994-10-21 2002-09-17 パイオニア株式会社 ビデオゲームシステム
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
EP0715453B1 (en) * 1994-11-28 2014-03-26 Canon Kabushiki Kaisha Camera controller
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5654746A (en) * 1994-12-01 1997-08-05 Scientific-Atlanta, Inc. Secure authorization and control method and apparatus for a game delivery service
JP2002083219A (ja) * 2000-07-04 2002-03-22 Sony Computer Entertainment Inc コンテンツ内広告方法、コンテンツ内広告用サーバ及びコンテンツ内広告を実現するためのプログラムの伝送媒体
JP4040117B2 (ja) 1995-06-30 2008-01-30 ソニー株式会社 ゲーム機及びゲーム機制御方法
US8574074B2 (en) 2005-09-30 2013-11-05 Sony Computer Entertainment America Llc Advertising impression determination
US5860073A (en) * 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
US6199082B1 (en) * 1995-07-17 2001-03-06 Microsoft Corporation Method for delivering separate design and content in a multimedia publishing system
US6026368A (en) * 1995-07-17 2000-02-15 24/7 Media, Inc. On-line interactive system and method for providing content and advertising information to a targeted set of viewers
JP2991093B2 (ja) * 1995-09-12 1999-12-20 株式会社セガ・エンタープライゼス ゲーム機
US5712979A (en) * 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
US5721827A (en) * 1996-10-02 1998-02-24 James Logan System for electrically distributing personalized information
US6015348A (en) * 1996-10-18 2000-01-18 Starwave Corporation Scalable game server architecture
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
CN1210897C (zh) 1996-12-25 2005-07-13 索尼公司 发送/接收侧系统、数据配发系统/方法、程序执行装置/方法
US6024643A (en) * 1997-03-04 2000-02-15 Intel Corporation Player profile based proxy play
US6343338B1 (en) * 1997-04-01 2002-01-29 Microsoft Corporation System and method for synchronizing disparate processing modes and for controlling access to shared resources
US6012984A (en) * 1997-04-11 2000-01-11 Gamesville.Com,Inc. Systems for providing large arena games over computer networks
US6179713B1 (en) * 1997-06-18 2001-01-30 Circadence Corporation Full-time turn based network multiplayer game
US20020004744A1 (en) * 1997-09-11 2002-01-10 Muyres Matthew R. Micro-target for broadband content
US5867208A (en) * 1997-10-28 1999-02-02 Sun Microsystems, Inc. Encoding system and method for scrolling encoded MPEG stills in an interactive television application
US6196920B1 (en) * 1998-03-31 2001-03-06 Masque Publishing, Inc. On-line game playing with advertising
US6181988B1 (en) * 1998-04-07 2001-01-30 Raytheon Company Guidance system having a body fixed seeker with an adjustable look angle
US20030048293A1 (en) * 1998-05-11 2003-03-13 Creative Edge Internet Services Pty. Ltd. Internet advertising system
EP1076871A1 (en) * 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6513160B2 (en) * 1998-06-17 2003-01-28 Opentv, Inc. System and method for promoting viewer interaction in a television system
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US20020026638A1 (en) * 2000-08-31 2002-02-28 Eldering Charles A. Internet-based electronic program guide advertisement insertion method and apparatus
US6684194B1 (en) * 1998-12-03 2004-01-27 Expanse Network, Inc. Subscriber identification system
US20040034686A1 (en) * 2000-02-22 2004-02-19 David Guthrie System and method for delivering targeted data to a subscriber base via a computer network
US6036601A (en) * 1999-02-24 2000-03-14 Adaboy, Inc. Method for advertising over a computer network utilizing virtual environments of games
US8479251B2 (en) * 1999-03-31 2013-07-02 Microsoft Corporation System and method for synchronizing streaming content with enhancing content using pre-announced triggers
AU4481600A (en) * 1999-04-22 2000-11-10 Qode.Com, Inc. System and method for providing electronic information upon receipt of a scannedbar code
EP1047005B1 (en) * 1999-04-23 2005-11-09 Sony Deutschland Gmbh Method et system for distributing information
US6757740B1 (en) * 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US6257982B1 (en) * 1999-06-01 2001-07-10 Mark Rider Motion picture theater interactive gaming system
US20060229930A9 (en) * 1999-11-15 2006-10-12 Gottfurcht Elliot A Method to generate advertising revenue based on time and location
US20020010757A1 (en) * 1999-12-03 2002-01-24 Joel Granik Method and apparatus for replacement of on-line advertisements
CA2394483A1 (en) * 1999-12-17 2001-06-21 Technology, Patents And Licensing, Inc. Global asset information registry
US7035270B2 (en) * 1999-12-30 2006-04-25 General Instrument Corporation Home networking gateway
US6343990B1 (en) * 2000-01-27 2002-02-05 Paul Donovan Entertainment system offering merit-based rewards
AU2001231285A1 (en) * 2000-02-04 2001-08-14 Homerelay Communications, Inc. Method and apparatus for conducting long distance telephone calls in associationwith an advertisement system
CA2298358A1 (en) * 2000-02-11 2001-08-11 Pixel Systems Inc. Method and apparatus for the display of selected images at selected times
AUPQ582000A0 (en) * 2000-02-24 2000-03-16 Downloadit Pty Ltd Navigable computer site and associated print medium
US7472093B2 (en) * 2000-03-08 2008-12-30 Rsa Security Inc. Targeted delivery of informational content with privacy protection
AUPQ736200A0 (en) * 2000-05-08 2000-06-01 Canon Kabushiki Kaisha Information appliance cost subsidy
US20020018982A1 (en) * 2000-05-12 2002-02-14 Conroy Steven J. Dynamometer racing simulator
US20020010626A1 (en) * 2000-05-22 2002-01-24 Eyal Agmoni Internert advertising and information delivery system
US20020010628A1 (en) * 2000-05-24 2002-01-24 Alan Burns Method of advertising and polling
US20020013174A1 (en) * 2000-05-31 2002-01-31 Kiyoshi Murata Method and system for interactive advertising
US20040030595A1 (en) * 2000-06-02 2004-02-12 Park Jong Hyouk Method of advertisement using online games
US20020032906A1 (en) * 2000-06-02 2002-03-14 Grossman Avram S. Interactive marketing and advertising system and method
ITMI20001420A1 (it) * 2000-06-23 2001-12-24 Vrway Patent B V Sistema e metodo interattivi per l'effettuazione di transazioni commerciali
US20020022516A1 (en) * 2000-07-17 2002-02-21 Forden Christopher Allen Advertising inside electronic games
US20020032608A1 (en) * 2000-08-02 2002-03-14 Kanter Andrew S. Direct internet advertising
US20020019774A1 (en) * 2000-08-02 2002-02-14 Kanter Andrew S. Internet advertising
JP2002118656A (ja) * 2000-08-04 2002-04-19 Csd:Kk 携帯電話を通じた広告方法
US20020023000A1 (en) * 2000-08-16 2002-02-21 Bollay Denison W. Displaying as a map and graphs on a web page the geographical distribution of visitors that click on banner ads in cyberspace
JP4416294B2 (ja) * 2000-08-30 2010-02-17 富士通株式会社 広告方法及びアウェアネスサーバ
US20030036944A1 (en) * 2000-10-11 2003-02-20 Lesandrini Jay William Extensible business method with advertisement research as an example
US6840861B2 (en) * 2000-11-20 2005-01-11 Kent Wilcoxson Jordan Method and apparatus for interactive real time distributed gaming
US9047609B2 (en) * 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US20030014414A1 (en) * 2000-12-07 2003-01-16 Newman Bruce D. Personcast - customized end-user briefing
EP1219927B1 (en) * 2000-12-27 2008-05-28 FUJIFILM Corporation Information notification system and method
US6995788B2 (en) * 2001-10-10 2006-02-07 Sony Computer Entertainment America Inc. System and method for camera navigation
US8751310B2 (en) * 2005-09-30 2014-06-10 Sony Computer Entertainment America Llc Monitoring advertisement impressions
JP3236603B1 (ja) * 2001-02-28 2001-12-10 コナミ株式会社 家庭用ゲーム等のゲーム広告課金システム及びプログラム
US20030046148A1 (en) * 2001-06-08 2003-03-06 Steven Rizzi System and method of providing advertising on the internet
US20030014307A1 (en) * 2001-07-16 2003-01-16 General Motors Corporation Method and system for mobile commerce advertising
US7822843B2 (en) * 2001-08-13 2010-10-26 Cox Communications, Inc. Predicting the activities of an individual or group using minimal information
US20030035075A1 (en) * 2001-08-20 2003-02-20 Butler Michelle A. Method and system for providing improved user input capability for interactive television
EP1444605A4 (en) 2001-10-10 2007-04-11 Sony Comp Entertainment Us SYSTEM AND METHOD FOR DYNAMICALLY LOADING GAME SOFTWARE FOR SMOOTH PLAYING
US7136871B2 (en) * 2001-11-21 2006-11-14 Microsoft Corporation Methods and systems for selectively displaying advertisements
US6683941B2 (en) * 2001-12-17 2004-01-27 International Business Machines Corporation Controlling advertising output during hold periods
WO2003084187A2 (en) * 2002-03-26 2003-10-09 Response Metrics, Inc. Wireless data system
US20050021397A1 (en) * 2003-07-22 2005-01-27 Cui Yingwei Claire Content-targeted advertising using collected user behavior data
WO2003102728A2 (en) * 2002-05-31 2003-12-11 Predictive Media Corporation Method and system for the storage, viewing management, and delivery of targeted advertising
US7996862B2 (en) * 2002-06-27 2011-08-09 Microsoft Corporation Metadata mapping to support targeted advertising
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
US7752072B2 (en) * 2002-07-16 2010-07-06 Google Inc. Method and system for providing advertising through content specific nodes over the internet
US20040019521A1 (en) * 2002-07-25 2004-01-29 Birmingham Robert K. System and method for advertising products and services on computer readable removable medium
US20040039796A1 (en) * 2002-08-08 2004-02-26 Virtual Radio, Inc. Personalized cyber disk jockey and Internet radio advertising
US20040039648A1 (en) * 2002-08-20 2004-02-26 Sony Corporation Method and apparatus for downloading data to a set top box
JP2004105671A (ja) * 2002-09-16 2004-04-08 Genki Kk 空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアント
US7589732B2 (en) * 2002-11-05 2009-09-15 Autodesk, Inc. System and method of integrated spatial and temporal navigation
US20050032577A1 (en) * 2003-03-17 2005-02-10 Blackburn Christopher W. Message director service in a service-oriented gaming network environment
US20050015267A1 (en) * 2003-07-18 2005-01-20 American Express Travel Related Services Company, Inc. System and method for incorporation of products and services into reality television
US20050021396A1 (en) * 2003-07-24 2005-01-27 Bcmg Limited Method of assessing the cost effectiveness of advertising
KR20050014077A (ko) * 2003-07-30 2005-02-07 하장효 로또 게임을 이용한 광고 시스템 및 광고방법
US7617203B2 (en) * 2003-08-01 2009-11-10 Yahoo! Inc Listings optimization using a plurality of data sources
US20050027587A1 (en) * 2003-08-01 2005-02-03 Latona Richard Edward System and method for determining object effectiveness
US20050033700A1 (en) * 2003-08-04 2005-02-10 Vogler Dean H. Method and apparatus for creating and rendering an advertisement
US20070072676A1 (en) * 2005-09-29 2007-03-29 Shumeet Baluja Using information from user-video game interactions to target advertisements, such as advertisements to be served in video games for example
JP4118920B2 (ja) * 2006-02-22 2008-07-16 株式会社スクウェア・エニックス ゲーム装置、フィールド間境界表示方法、並びにプログラム及び記録媒体
US20080004954A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Methods and architecture for performing client-side directed marketing with caching and local analytics for enhanced privacy and minimal disruption
US8345049B2 (en) * 2007-08-16 2013-01-01 International Business Machine Corporation Method and apparatus for predicting avatar movement in a virtual universe
US8888601B2 (en) * 2012-05-24 2014-11-18 Sap Ag Player segmentation based on predicted player interaction score

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140009913A (ko) * 2012-07-12 2014-01-23 삼성전자주식회사 가상 세계 처리 장치 및 방법

Also Published As

Publication number Publication date
US20090300144A1 (en) 2009-12-03
EP2304671A1 (en) 2011-04-06
CN102113003A (zh) 2011-06-29
WO2009148833A1 (en) 2009-12-10
EP2304671A4 (en) 2011-12-21
CN102113003B (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
KR20110028333A (ko) 인터랙티브 환경을 위한 보조 컨텐츠 자산의 힌트기반 스트리밍
US8328640B2 (en) Dynamic advertising system for interactive games
JP5744105B2 (ja) 対話型環境において広告印象の数を増やす方法
JP5474776B2 (ja) キャッシュされたコンテンツの一貫性管理
US8600779B2 (en) Advertising with an influential participant in a virtual world
JP2023110075A (ja) コンソールゲームデータをキャプチャし共有するためのシステム及び方法
US20100100429A1 (en) Systems and methods for using world-space coordinates of ad objects and camera information for adverstising within a vitrtual environment
US20090132361A1 (en) Consumable advertising in a virtual world
US20130278734A1 (en) Method and system for generating dynamic ads within a video game of a portable computing device
US8363051B2 (en) Non-real-time enhanced image snapshot in a virtual world system
US20120259712A1 (en) Advertising in a virtual environment
US8988421B2 (en) Rendering avatar details
US20100231582A1 (en) Method and system for distributing animation sequences of 3d objects
JP2012532396A (ja) 媒体内に埋め込まれた広告への視聴者注意の誘導
US20080307103A1 (en) Mediation for auxiliary content in an interactive environment
Li Computer Games.
JP2009251887A (ja) 画像生成システム、プログラム及び情報記憶媒体
Hillmann et al. The VR Ecosystem and What to Expect in the Years to Come

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20121022

Effective date: 20140423

S901 Examination by remand of revocation
E902 Notification of reason for refusal
AMND Amendment
S601 Decision to reject again after remand of revocation
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20141022

Effective date: 20150909