KR20180021936A - 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 - Google Patents
휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 Download PDFInfo
- Publication number
- KR20180021936A KR20180021936A KR1020187005341A KR20187005341A KR20180021936A KR 20180021936 A KR20180021936 A KR 20180021936A KR 1020187005341 A KR1020187005341 A KR 1020187005341A KR 20187005341 A KR20187005341 A KR 20187005341A KR 20180021936 A KR20180021936 A KR 20180021936A
- Authority
- KR
- South Korea
- Prior art keywords
- texture
- alternate
- textures
- display
- computing device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000004044 response Effects 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 2
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 claims 1
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 229910052698 phosphorus Inorganic materials 0.000 claims 1
- 239000011574 phosphorus Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000009877 rendering Methods 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001342 constant potential amperometry Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 235000013410 fast food Nutrition 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
- G06Q30/0256—User search
-
- H04N13/0468—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
휴대용 컴퓨팅 디바이스 (PCD) 상에서 실행중인 비디오 게임과 같은 프로그램 내에 동적 광고들을 생성하고 트래킹하는 방법 및 시스템이 설명된다. 그 방법 및 시스템은 텍스처에 대하여 프로그램으로부터 호출을 수신하고, 텍스처와 연관된 식별자를 검토하는 것을 포함한다. 그래픽 드라이버는 텍스처와 연관된 식별자가 텍스처 데이터베이스에서의 식별자와 매칭하는지 결정한다. 그 후에, 그래픽 드라이버는 텍스처와 연관된 식별자가 텍스처 데이터베이스에서의 식별자와 매칭한다면, 텍스처 데이터베이스로부터 동적 광고를 선택한다. 그래픽 드라이버는 동적 광고가 스크린 디스플레이 상에 제시되도록 명령들을 그래픽 프로세서에 발행한다. 그 후에, 그래픽 드라이버는 프로그램에 의해 생성된 비디오 오브젝트가 스크린 디스플레이 상에 제시된 동적 광고의 일부분을 차단하는지 결정한다.
Description
우선권 및 관련 출원들의 언급
본 출원은 "METHOD TO SUPPORT DYNAMIC EMBEDDED ADS IN MOBILE GAMES"의 명칭으로 2011년 3월 8일자로 출원된 미국 가특허출원 제 61/450,308 호에 대해 35 U.S.C.§119(e) 하에서 우선권 주장한다. 이 미국 가특허출원의 전체 내용들은 본 명세서에 참조로서 통합된다.
휴대용 컴퓨팅 디바이스들 ("PCDs") 은 퍼스널 및 프로페셔널 레벨들로 사람들에게 필수품이 되고 있다. 이들 디바이스들은 셀룰러 전화기들, 휴대/개인 정보 단말기들 ("PDAs"), 휴대용 게임 콘솔들, 휴대용 네비게이션 유닛들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다.
PCD들은 엔터테인먼트를 제공하기 위해 소프트웨어를 실행할 수도 있다. 이러한 소프트웨어는 비디오 게임들을 포함한다. 많은 비디오 게임들은 실제 생활을 시뮬레이션하는 사용자 경험을 제공한다. 예를 들어, 몇몇 3-차원 비디오 게임들은 빌딩들, 스포츠 경기장들, 빌보드들 및 간판들과 같은 오브젝트들을 포함하는 실제 세계 장면들을 원근/깊이 감각으로 생성한다.
많은 비디오 게임들은 이들 실제 세계 장면들 내에, 예컨대 빌보드들 및 간판들 상에 "실제로 보는 (real looking)" 광고들을 생성한다. 예컨대, 경기장을 묘사하는 3 차원 비디오 게임은 상품들 및 서비스들에 대한 실제 세계 브랜드들의 광고를 이러한 3 차원 "게임 세계" 에서의 빌보드들 및 간판들 상에 디스플레이할 수도 있다. 이러한 광고들은 종종 당업자에 의해 이해되는 것과 같이 "인-게임 (in-game) 광고 (Ad) 들" 이라 지칭될 수도 있다. 이러한 실제 세계 브랜드들의 상품들 및 서비스들은 게임 세계 밖에서 구매하는 것이 가능할 수도 있다. 3 차원 비디오 게임의 콘텍스트 내에서 상품들 및 서비스들에 대한 브랜드들의 이러한 광고는 일반적으로 업계에서 임베디드 광고들로서 지칭된다.
업계에서 한가지 문제는 비디오 게임들 내의 대부분의 임베디드 광고들이 "정적" 이라는 점이다. 이는 광고들이 보통 비디오 게임 프로그램이 실행될 때마다 동일하게 유지되는 것을 의미한다. 비디오 게임 프로그램들 내의 이러한 광고들은 보통 사용자와 결코 상호작용하지 않는다. 즉, 비디오 게임 개발자는 통상적으로 게임 동안 또는 게임이 플레이되는 다음 시간에 광고들이 변경될 수도 있는, 동적인 광고들을 제공하지 않는다. 게임들 내에서 종래의 광고들은 보통 사용자가 광고되고 있는 제품 또는 서비스에 관한 더 많은 정보를 획득하기 위해 게임 내에서 광고들의 양태 (aspect) 들을 선택하게 하지 않는다.
비디오 게임 개발자들이 비디오 게임 소프트웨어 내에서 대화형 광고들에 대해 제공하고 있지 않기 때문에, 개발자들은 게임 내에서 광고하기를 희망할 수도 있는 제품 제공자들 및 서비스 제공자들로부터 상당한 양의 잠정적인 수입을 이용할 수 없다. 대화형 광고 및 광고들을 비디오 게임들 내에서 더 동적으로 만드는 능력 없이, 게임 개발자들은 게임 경험 내에 광고들을 제공하는 완전한 잠재력을 실현하지 못한다.
따라서, 이러한 문제들을 처리하는 방법 및 시스템이 당업계에 요구된다. 상세하게는, 비디오 게임 내에서 광고들을 더 동적으로 만드는 방법 및 시스템이 당업계에 요구된다. 광고들의 트래킹 및 이러한 광고들과의 사용자 인터랙션을 허용하는, PCD 상의 게임 내에서 대화형 광고를 제공하는 방법 및 시스템이 요구된다.
휴대용 컴퓨팅 디바이스 (PCD) 상에서 실행중인 비디오 게임과 같은 프로그램 내에 동적 광고들을 생성하고 트래킹하는 방법 및 시스템이 설명된다. 그 방법 및 시스템은 텍스처에 대하여 프로그램으로부터 호출을 수신하고, 텍스처와 연관된 식별자를 검토하는 것을 포함한다. 그래픽 드라이버는 텍스처와 연관된 식별자가 텍스처 데이터베이스에서의 식별자와 매칭하는지 결정한다. 그 후에, 그래픽 드라이버는 텍스처와 연관된 식별자가 텍스처 데이터베이스에서의 식별자와 매칭한다면, 텍스처 데이터베이스로부터 동적 광고를 선택한다. 그래픽 드라이버는 동적 광고가 스크린 디스플레이 상에 제시되도록 명령들을 그래픽 프로세서에 발행한다. 그 후에, 그래픽 드라이버는 프로그램에 의해 생성된 비디오 오브젝트가 스크린 디스플레이 상에 제시된 동적 광고의 일부분을 차단하는지 결정한다. 그래픽 드라이버는 또한, 키보드에 의해 제어되는 언더바 또는 하이라이트, 또는 컴퓨터 마우스에 의해 제어되는 포인터와 같은 스크린 포인터가 동적 광고의 임의의 부분과 상호작용하는지 결정할 수도 있다.
도면들에 있어서, 동일한 참조부호들은, 달리 나타내지 않으면 다양한 도면들 전반에 걸쳐 동일한 부분들을 지칭한다. "102A" 또는 "102B" 와 같은 문자 지정을 갖는 도면부호들에 있어서, 그 문자 지정은 동일한 도면에 존재하는 2개의 동일한 부분들 또는 엘리먼트들을 구별할 수도 있다. 도면부호들에 대한 문자 지정은, 도면부호가 모든 도면들에 있어서 동일한 도면부호를 갖는 모든 부분들을 포괄하도록 의도될 경우에 생략될 수도 있다.
도 1 은 PCD 비디오 게임 내에 동적 광고들을 생성하는 시스템의 예시적인 엘리먼트들을 도시하는 기능 블록 다이어그램이다.
도 2 는 PCD 비디오 게임 내에 동적 광고들을 생성하는 시스템을 갖는 휴대용 컴퓨팅 디바이스 (PCD) 의 일 실시형태를 도시하는 기능 블록 다이어그램이다.
도 3a 는 PCD 비디오 게임에서 광고의 완전히 차단된 뷰를 포함하는 예시적인 디스플레이 스크린의 다이어그램이다.
도 3b 는 PCD 비디오 게임에서 광고의 부분적으로 차단된 뷰를 포함하는 예시적인 디스플레이 스크린의 다이어그램이다.
도 3c 는 PCD 비디오 게임에서 광고의 차단되지 않은 (가시적인) 뷰를 포함하는 예시적인 디스플레이 스크린의 다이어그램이다.
도 3d 는 PCD 비디오 게임에 제공된 광고 상의 선택 또는 "마우스 클릭" 에 응답하여 생성되는 스크린 디스플레이의 다이어그램이다.
도 4 는 PCD 비디오 게임에서 동적 광고들을 생성하는 시스템의 예시적인 컴포넌트들을 도시하는 기능 블록 다이어그램이다.
도 5 는 PCD 비디오 게임에서 동적 광고들을 생성하는 방법을 설명하는 논리적인 플로우차트이다.
도 6 은 PCD 비디오 게임 내의 동적 광고가 PCD 의 운영자와 관련된 뷰로부터 차단되는지 결정하는 서브 방법 또는 루틴을 설명하는 논리적인 플로우차트이다.
도 7 은 텍스처 데이터베이스의 예시적인 콘텐츠를 도시하는 차트이다.
도 8 은 PCD 비디오 게임 내에서 동적 광고들에 대한 예시적인 트래킹 옵션들을 도시하는 차트이다.
도 1 은 PCD 비디오 게임 내에 동적 광고들을 생성하는 시스템의 예시적인 엘리먼트들을 도시하는 기능 블록 다이어그램이다.
도 2 는 PCD 비디오 게임 내에 동적 광고들을 생성하는 시스템을 갖는 휴대용 컴퓨팅 디바이스 (PCD) 의 일 실시형태를 도시하는 기능 블록 다이어그램이다.
도 3a 는 PCD 비디오 게임에서 광고의 완전히 차단된 뷰를 포함하는 예시적인 디스플레이 스크린의 다이어그램이다.
도 3b 는 PCD 비디오 게임에서 광고의 부분적으로 차단된 뷰를 포함하는 예시적인 디스플레이 스크린의 다이어그램이다.
도 3c 는 PCD 비디오 게임에서 광고의 차단되지 않은 (가시적인) 뷰를 포함하는 예시적인 디스플레이 스크린의 다이어그램이다.
도 3d 는 PCD 비디오 게임에 제공된 광고 상의 선택 또는 "마우스 클릭" 에 응답하여 생성되는 스크린 디스플레이의 다이어그램이다.
도 4 는 PCD 비디오 게임에서 동적 광고들을 생성하는 시스템의 예시적인 컴포넌트들을 도시하는 기능 블록 다이어그램이다.
도 5 는 PCD 비디오 게임에서 동적 광고들을 생성하는 방법을 설명하는 논리적인 플로우차트이다.
도 6 은 PCD 비디오 게임 내의 동적 광고가 PCD 의 운영자와 관련된 뷰로부터 차단되는지 결정하는 서브 방법 또는 루틴을 설명하는 논리적인 플로우차트이다.
도 7 은 텍스처 데이터베이스의 예시적인 콘텐츠를 도시하는 차트이다.
도 8 은 PCD 비디오 게임 내에서 동적 광고들에 대한 예시적인 트래킹 옵션들을 도시하는 차트이다.
단어 "예시적인" 은 "예, 예증, 또는 예시로서 기능하는" 을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명되는 임의의 양태는 다른 양태들에 비해 반드시 바람직하거나 유리한 것으로서 해석되지는 않아야 한다.
이 설명에 있어서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 부가적으로, 본 명세서에서 지칭되는 "애플리케이션" 은 또한, 공개될 필요가 있을 수도 있는 문헌들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이 본질적으로 실행가능하지 않는 파일들을 포함할 수도 있다.
용어 "컨텐츠" 는 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 부가적으로, 본 명세서에서 지칭되는 "컨텐츠" 는 또한, 공개될 필요가 있을 수도 있는 문헌들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같이 본질적으로 실행가능하지 않는 파일들을 포함할 수도 있다.
이 설명에 있어서 사용되는 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔터티, 즉, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 구동하는 프로세스, 프로세서, 오브젝트, 실행 가능물 (executable), 실행 스레드 (thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 컴퓨팅 디바이스 양자는 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터에 국부화되고/되거나 2 이상의 컴퓨터들 사이에서 분산될 수도 있다. 부가적으로, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독가능 매체로부터 실행할 수도 있다. 컴포넌트들은 하나 이상의 데이터 패킷들을 갖는 신호 (예를 들어, 로컬 시스템에서, 분산 시스템에서 및/또는 신호에 의한 다른 시스템들과의 인터넷과 같은 네트워크에 걸쳐 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 에 따라서와 같은 로컬 및/또는 원격 프로세스들에 의해 통신할 수도 있다.
이 설명에 있어서, 용어들 "통신 디바이스", "무선 디바이스", "무선 전화기", "무선 통신 디바이스", 및 "무선 핸드셋" 은 대체가능하게 사용된다. 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래로, 더 큰 대역폭 가용성은 더 다양한 무선 능력들을 갖는 더 휴대성의 컴퓨팅 디바이스들을 인에이블시켰다.
이 설명에 있어서, 용어 "휴대용 컴퓨팅 디바이스" ("PCD") 는 배터리와 같은 제한된 용량의 전력 공급부에 대해 동작하는 임의의 디바이스를 설명하는데 사용된다. 배터리 동작식 PCD들이 수십 년 동안 사용되고 있었지만, 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래와 연결된 재충전가능 배터리들에 있어서의 기술적 진보는 다중의 능력들을 갖는 다수의 PCD들을 인에이블시켰다. 따라서, PCD 는, 다른 것들 중에서, 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 전술한 디바이스들의 조합, 및 무선 접속을 갖는 랩탑 컴퓨터일 수도 있다.
도 1a 는 휴대용 컴퓨팅 디바이스 ("PCD") 비디오 게임 내의 동적 광고들 ("ADs"; 119) 을 생성하는 시스템 (101) 의 예시적인 엘리먼트들을 도시하는 기능 블록 다이어그램이다. 시스템 (101) 은 PCD (100B) 와 컴퓨터 서버 (100A) 를 포함할 수도 있다. 도 1a 에 도시된 시스템 엘리먼트들 다수는 통신 링크들 (103) 을 통해 통신 네트워크 (142A) 에 커플링된다.
도 1a 에 도시된 링크들 (103) 은 유선 또는 무선 링크들을 포함할 수도 있다. 무선 링크들은 무선-주파수 ("RF") 링크들, 적외선 링크들, 음향 링크들 및 다른 무선 매체들을 포함하지만 이에 제한되지 않는다. 통신 네트워크 (142A) 는 광역 네트워크 ("WAN"), 근거리 네트워크 ("LAN"), 인터넷, 공중 전화 교환망 ("PSTN"), 페이징 네트워크, 또는 이들의 조합을 포함할 수도 있다. 통신 네트워크 (142A) 는 브로드캐스트 RF 트랜시버 타워들에 의해 확립될 수도 있다. 그러나, 당업자는 브로드캐스트 RF 트랜시버 타워들 이외의 다른 타입의 통신 디바이스들이 통신 네트워크 (142A) 를 확립하는데 사용가능한 것을 인식한다. PCD (100B) 는, 개별 PCD (100B) 가 RF 트랜시버 타워들을 통해 통신 네트워크 (142A) 와 무선 통신 링크들 (103B) 을 확립할 수 있도록 안테나 (172) 를 가지는 것으로 도시된다.
PCD (100B) 는 그래픽 드라이버 모듈 (107) (이하 "그래픽 드라이버" (107)) 를 포함할 수도 있다. 그래픽 드라이버 (107) 는 보통 하나 이상의 소프트웨어 모듈들을 포함한다. 그러나, 그래픽 드라이버 (107) 는 당업자에 의해 이해되는 것과 같이 하드웨어에서 구현될 수도 있다. 그래픽 드라이버 (107) 는 디스플레이 스크린 (132) 상에 가시적인 오브젝트들을 생성하도록 게임 애플리케이션 모듈 (105) 로부터 그래픽 호출들을 지원할 수도 있다 (도 2 참조). 그래픽 드라이버는 당업자에 의해 이해되는 것과 같이, 그래픽 프로세서 (110B) 와 같은 지정된 프로세서를 제어할 수도 있다 (도 2 참조). 그래픽 드라이버 (107) 는 PCD (100B) 를 위한 운영 시스템의 일부이거나 그 시스템에 의해 지원될 수도 있는, 광고 ("Ad") 룰들 (117) 에 액세스하여 이용할 수도 있다. 광고 룰들 (117) 은 그래픽 드라이버 (107) 가 디스플레이 스크린 (132) 상의 디스플레이를 위해 동적 광고 (119B) 를 선택하는 것을 보조할 수도 있다. 광고 룰들 (117A) 은 서버 (100A) 에 의해 생성되어 관리될 수도 있다. 서버 (100A) 는 OS (115) 에 광고 룰들 (117) 을 저장하기 위해 광고 룰들 (117) 을 컴퓨터 네트워크 (142) 를 통해 PCD (100B) 로 송신할 수도 있다. 동적 광고들 (119B) 은 또한, 서버 (100A) 에서 발신될 수도 있고, 또한 컴퓨터 네트워크 (142) 를 통해 PCD (100B) 로 송신될 수도 있다.
동적 광고들 (119; 도 1 참조) 은 당업자에 의해 이해되는 것과 같이 광고 캠페인들에서 발견되는 것과 같은 트래킹 피쳐들을 포함할 수도 있다. 동적 광고들 (119) 에 관한 추가의 세부사항들이 도 7 및 도 8 과 관련하여 이하 설명될 것이다. 동적 광고들 (119) 은 게임 애플리케이션 모듈 (105) 이 플레이 (실행) 될때마다 및/또는 게임 애플리케이션 모듈 (105) 이 플레이되는 "게임 라운드" 또는 반복 동안 변경될 수도 있다.
예를 들어, 게임 애플리케이션 (105) 에 의해 지원되는 3 차원 PCD 비디오 게임에서, 레이스 카 트랙을 위한 경기장이 도시될 수도 있다. PCD 비디오 게임은 PCD (100B) 의 운영자를 위한 레이싱 경험에 대해 준비할 수도 있다. 경기장 내의 레이스 카 트랙에 인접하여, PCD 비디오 게임은 동적 광고들 (119B) 을 전달할 수도 있는 가상 빌보드들을 디스플레이할 수도 있다. 예를 들어, 동적 광고 (119B) 는 PCD 비디오 게임에 의해 생성되고 있는 게임 세계 밖의 실제 세계에서 이용가능한 특정 브랜드의 자동차 타이어들에 대한 문자숫자 텍스트 기반의 광고를 포함할 수도 있다.
그래픽 드라이버 (107) 는 광고 룰들 (117) 에 따라 게임 세계 내의 가상 빌보드들 상의 디스플레이를 위해 특정 브랜드들을 선택할 수도 있다. 광고 룰들 (117) 은 PCD (100B) 의 운영 시스템에 의해 지원될 수도 있다. 예를 들어, 그래픽 드라이버 (107) 가 비디오 게임의 제 1 라운드 또는 플레이 또는 레벨 동안 디스플레이 스크린 (132) 상에 디스플레이할 제 1 브랜드의 타이어들을 선택할 수도 있다. 그래픽 드라이버 (107) 는 비디오 게임의 제 2 라운드 또는 플레이 또는 레벨 동안 디스플레이 스크린 (132) 상에 디스플레이할 제 2 브랜드의 타이어들을 선택할 수도 있다. 각각의 상황에서 서로 다른 광고들을 선택하는 그래픽 드라이버의 능력은 광고들을 동적으로 만드는 것이다. 광고 룰들 (117) 및 동적 광고들 (119) 에 관한 추가의 세부사항들이 이러한 광고 룰들 (117) 에 따라 선택되는 방식은 도 4 내지 도 8 과 관련하여 이하 설명될 것이다.
컴퓨터 서버 (100A) 는 동적 광고들 (119B) 및 광고 룰들 (117A) 의 데이터베이스를 포함할 수도 있다. 컴퓨터 서버 (100A) 는 특정 브랜드의 상품들 또는 서비스들 또는 이들 양자를 광고할 수도 있는 동적 광고들 (119B) 을 생성하는 제품 및 서비스 판매자들로부터의 입력을 수신할 수도 있다. 서버 (100A) 는 데이터베이스 내에 유지하는 동적 광고들 (119A) 을 컴퓨터 네트워크 (142) 를 통해 PCD (100B) 로 송신함으로써 PCD (110B) 에 저장된 동적 광고들 (119B) 을 업데이트할 수도 있다. PCD (100B) 는 소프트웨어 캐시로서 관리되는 메모리와 같은 메모리 디바이스에 중요한 동적 광고들 (119) 및 광고 룰들 (117B) 을 저장할 수도 있다. 이러한 저장은 광고들 (119) 과 룰들 (117B) 의 컴퓨터 네트워크 (142) 를 통해 PCD (100B) 로의 빈번한 송신에 대한 요구를 감소시키 수도 있다. 메모리 디바이스는 컴퓨터 네트워크 (142) 및/또는 컴퓨터 서버 (100A) 로의 액세스가 불가능한 경우에, 가장 최근에 이용된 동적 광고에 액세스하는데 이용될 수도 있다.
도 1 에 도시된 것과 같이, 서버 (100A) 는 OS (115) 에서의 광고 룰들 (117B) 을 서버 (100A) 에서 유지되는 새로운 광고 룰들 (117A) 로 대체함으로써 PCD (100B) 상에 저장된 OS (115) 에서의 광고 룰들 (117B) 을 업데이트할 수도 있다. PCD (100B) 는 PCD (100B) 가 서버 (100A) 에 액세스할 때마다, OS (115) 에서의 광고 룰들 (117B) 과 동적 광고들 (119B) 을 업데이트할 수도 있다.
도 2 : PCD (100B) 의 동적 광고 시스템 엘리먼트들
도 2 를 참조하면, 이 도면은 PCD 비디오 게임 내의 동적 광고들을 생성하는 방법들 및 시스템들을 구현하기 위한 무선 전화기의 형태의 PCD (100B) 의 예시적인, 비한정적 양태의 기능 블록 다이어그램이다. 도시된 바와 같이, PCD (100B) 는, 멀티코어의 중앙 프로세싱 유닛 ("CPU"; 110A), 그래픽 프로세서 (110B), 및 아날로그 신호 프로세서 (126) 를 포함하는 온-칩 시스템 (102) 을 포함한다. 이들 프로세서들 (110A, 110B, 및 126) 은 함께 커플링될 수도 있다.
CPU (110A) 는, 당업자에 의해 이해되는 바와 같이, 제 0 코어 (222), 제 1 코어 (224) 를 거쳐 제 N 코어 (230) 를 포함할 수도 있다. 대안적인 실시형태에 있어서, CPU (110A) 및 그래픽 프로세서 (110B) 대신, 하나 이상의 디지털 신호 프로세서들 ("DSPs") 이 또한 당업자에 의해 이해되는 바와 같이 채용될 수도 있다.
PCD (100B) 는 그래픽 드라이버 (107) 를 포함할 수도 있다. 당업자는 그래픽 드라이버 (107) 가 본 개시물을 벗어남 없이 다양한 부분들로 분할되고 상이한 프로세서들 (110A, 126) 에 의해 실행될 수도 있는 하나 이상의 소프트웨어 모듈들을 포함할 수도 있다. 대안적으로, 그래픽 드라이버 (107) 는 단일 엘리먼트로 조직되고, 단일 프로세서 (110A 또는 126) 에 의해 실행될 수도 있다.
전술된 것과 같이, 그래픽 드라이버 (107; 도 1) 는 게임 애플리케이션 (105) 으로부터 통신들을 수신하고, 커맨드들을 그래픽 프로세서 (110B) 로 전송하기 위해, CPU (110A) 에 의해 실행되는 소프트웨어를 포함할 수도 있다. 그러나, 그래픽 드라이버 (107) 는 또한 당업자에 의해 이해되는 것과 같이 하드웨어 및/또는 펌웨어로부터 형성될 수도 있다. 하나 이상의 게임 애플리케이션들 (105) 은 PCD 비디오 게임들을 제공해야할 책임이 있을 수도 있다. 그래픽 드라이버 (107) 는 사용자 액션들을 위해 게임 애플리케이션 (105) 을 모니터 및 트래킹할 수도 있다. 사용자 액션들은 디스플레이 스크린 (132) 상에 디스플레이된 그래픽 프로세서 (110B) 에 의해 생성된 동적 광고들 (119B; 도 1) 과 관련된 마우스 포인터 이동 및/또는 키스트로크를 포함할 수도 있다.
PCD (100B) 는 추가로, CPU (110A) 와 하드웨어 및 도시된 다른 소프트웨어 간의 통신들을 관리하는 운영 시스템 ("O/S") 소프트웨어 (115) 를 포함할 수도 있다. O/S 소프트웨어 (115) 는 추가로, 전술된 것과 같은 광고 룰들 (117) 을 포함할 수도 있다. 광고 룰들 (117) 은 정의된 조건들에 기초하여 PCD 비디오 게임 동안 디스플레이 스크린 (132) 상의 디스플레이를 위해 특정 동적 광고들 (119) 을 선택하기 위한 로직을 제공할 수도 있다. 정의된 조건들의 예들은, 사용자 선호도들, 사용자 우편번호, 사용자의 성별, 사용자의 나이, (아마도 사용자의 우편번호로부터 추정된) 사용자의 가계 소득, 및 게임 장르를 포함하지만, 그에 제한되지 않는다.
PCD (100B) 는 추가로, 깊이 버퍼 (113; 도 2) 를 포함할 수도 있다. 깊이 버퍼 (113) 는 또한 당업자에 의해 이해되는 것과 같이 z-버퍼로서 지칭될 수도 있다. 깊이 버퍼 (113) 는 하드웨어 또는 소프트웨어 또는 이들 양자를 포함할 수도 있다. 깊이 버퍼 (113) 는 당업자에 의해 이해되는 것과 같이 3-차원 ("3-D") 그래픽들로 이미지 깊이 좌표들을 관리한다. 깊이 버퍼 (113) 는 PCD 비디오 게임들의 3-D 그래픽들에서 모든 픽셀들마다 깊이 값을 저장하는 메모리를 포함할 수도 있다. 깊이 버퍼 (113) 는 PCD 비디오 게임 동안 디스플레이 스크린 (132) 상에 디스플레이된 오브젝트들의 깊이 값들을 레코딩할 수도 있다. 깊이 버퍼 (113) 는 그래픽 프로세서 (110B) 및 그래픽 드라이버 (107) 와 통신할 수도 있다.
PCD (100B) 는 추가로, 비디오 게임들과 같은 그래픽 표현들을 생성하기 위해 하나 이상의 오픈 그래픽 라이브러리들 (103) 을 포함할 수도 있다. 하나 이상의 오픈 그래픽 라이브러리들 (103) 은 DirectX (TM) 및 OpenGL (TM) 과 같은 라이브러리들을 포함하지만, 이에 제한되지 않을 수도 있다. 하나 이상의 오픈 그래픽 라이브러리들은 렌더링 및 이미징 동작들을 지원하는, 그래픽 프로세싱 유닛 (110B) 과 통신하는 멀티-플랫폼 소프트웨어 인터페이스를 포함할 수도 있다. 하나 이상의 오픈 그래픽 라이브러리들 (103) 은 디스플레이 스크린 (132) 상에서 보기 위한 2-차원 ("2-D") 및 3-차원 ("3D") 오브젝트들 상에 동작하는 복수의 기능들을 포함하는 그래픽 인터페이스를 포함할 수도 있다.
하나 이상의 오픈 그래픽 라이브러리들 (103) 은 모델링 및 평탄한 쉐이딩과 같은 기본 그래픽 렌더링 기술들, 및 텍스처 맵핑과 모션 블러, 특정 효과들을 생성하기 위해 텍스처에 액세스하는 버텍스 및 프래그먼트 셰이더들과 같은 진보된 기술들을 지원할 수도 있다. 이들 효과들은 모션 블러, 필드 깊이, 입자 영향들, 워터 시뮬레이션 등을 포함하지만, 이에 제한되지 않을 수도 있다. 하나 이상의 오픈 그래픽 라이브러리들 (103) 은 디스플레이 스크린 (132) 상에 비디오 이미지들을 렌더링하기 위해 프레임 버퍼를 지원하고 프레임 버퍼와 상호작용할 수도 있다.
PCD (110B) 는 EH한 텍스처 데이터베이스를 포함하는 메모리 (112) 를 포함할 수도 있다. 텍스처 데이터베이스 내의 텍스처 정보는 미리 구성된 해시 테이블들로부터 유도될 수도 있다. 텍스처 정보는 세부사항, 표면 텍스처 (비트맵 또는 래스터 이미지), 또는 컬러를 컴퓨터-생성 그래픽 또는 3D 모델에 부가하는 것을 포함한다. 예를 들어, 비트맵 또는 래스터 이미지에 의해 표시된 텍스처 정보는 컴퓨터-생성된 그래픽 또는 3-D 모델로의 (쉐이딩을 위한) 정규 맵들, 투명성, 및/또는 컬러를 포함한다. 텍스처 정보는 일반적으로 PCD들 (100) 상의 게임들에 디스플레이된 모든 타입의 3-D 그래픽들에서 이용된다.
일반적으로, 그래픽 드라이버 (107) 는 (O/S (115) 내의) 광고 룰들 (117) 과 결합하여, PCD 비디오 게임 내의 동적 광고들 (119B) 을 생성해야할 책임이 있을 수도 있다. 상세하게는, CPU들 (110) 상에서 실행중인 그래픽 드라이버 (107) 는 O/S (115) 내의 광고 룰들 (117) 에 액세스하고, 텍스처 데이터베이스에 저장된 메모리 (112) 로부터의 텍스처 정보로부터 텍스처들을 풀링하여 디스플레이 스크린 (132) 상에서 보기 위한 동적 광고들 (119B) 을 생성할 수도 있다.
특정 양태에서, 본 명세서에 설명된 하나 이상의 방법 단계들은 그래픽 드라이버 (107) 를 형성하는 메모리 (112) 에 저장된 실행가능한 명령들 및 파라미터들에 의해 구현될 수도 있다. 그래픽 드라이버 (107) 를 형성하는 이러한 명령들은 CPU (110), 아날로그 신호 프로세서 (126), 또는 다른 프로세서에 의해 실행될 수도 있다. 추가로, 프로세서들 (110A 및/또는 126), 메모리 (112), 그 내부에 저장된 명령들, 또는 이들의 조합은 본 명세서에 설명된 하나 이상의 방법 단계들을 수행하기 위한 수단으로서 작용할 수도 있다.
도 2 : PCD (100A) 의 다른 엘리먼트들
도 2 에 도시된 바와 같이, 디스플레이 제어기 (128) 및 터치스크린 제어기 (130) 가 디지털 신호 프로세서 (110) 에 커플링된다. 온-칩 시스템 (102) 외부의 터치스크린 디스플레이 (132) 가 디스플레이 제어기 (128) 및 터치스크린 제어기 (130) 에 커플링된다.
도 2 는, 비디오 인코더 (134), 예를 들어, "PAL" (phase-alternating line) 인코더, "SECAM" (sequential couleur avec memoire) 인코더, "NTSC" (national television system(s) committee) 인코더 또는 멀티코어 중앙 프로세싱 유닛 ("CPU") (110A) 에 커플링된 임의의 다른 타입의 비디오 인코더 (134) 를 도시하는 개략적인 다이어그램이다. 비디오 증폭기 (136) 가 비디오 인코더 (134) 및 터치스크린 디스플레이 (132) 에 커플링된다. 비디오 포트 (138) 가 비디오 증폭기 (136) 에 커플링된다. 도 2 에 도시된 바와 같이, 유니버셜 직렬 버스 ("USB") 제어기 (140) 가 CPU (110A) 에 커플링된다. 또한, USB 포트 (142) 가 USB 제어기 (140) 에 커플링된다. 가입자 아이덴터티 모듈 (SIM) 카드 (146) 가 또한 CPU (110A) 에 커플링될 수도 있다. 추가로, 도 2 에 도시된 바와 같이, 디지털 카메라 (148) 가 CPU (110A) 에 커플링될 수도 있다. 예시적인 양태에 있어서, 디지털 카메라 (148) 는 전하 결합형 디바이스 ("CCD") 카메라 또는 상보적 금속 산화물 반도체 ("CMOS") 카메라이다.
도 2 에 추가로 도시된 바와 같이, 스테레오 오디오 코덱 (150) 이 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 더욱이, 오디오 증폭기 (152) 가 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 예시적인 양태에 있어서, 제 1 스테레오 스피커 (154) 및 제 2 스테레오 스피커 (156) 가 오디오 증폭기 (152) 에 커플링된다. 도 2 는 마이크로폰 증폭기 (158) 가 또한 스테레오 오디오 코덱 (150) 에 커플링될 수도 있음을 나타낸다. 부가적으로, 마이크로폰 (160) 이 마이크로폰 증폭기 (158) 에 커플링될 수도 있다. 특정 양태에 있어서, 주파수 변조 ("FM") 라디오 튜너 (162) 가 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 또한, FM 안테나 (164) 가 FM 라디오 튜너 (162) 에 커플링된다. 또한, 스테레오 헤드폰들 (166) 이 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다.
도 2 은 추가로, 무선 주파수 ("RF") 트랜시버 (168) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있음을 나타낸다. RF 스위치 (170) 가 RF 트랜시버 (168) 및 RF 안테나 (172) 에 커플링될 수도 있다. 도 2 에 도시된 바와 같이, 키패드 (174) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 또한, 마이크로폰을 갖는 모노 헤드셋 (176) 이 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 또한, 바이브레이터 디바이스 (178) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 도 2 는 또한, 전력 공급부 (180), 예를 들어 배터리가 온-칩 시스템 (102) 에 커플링됨을 나타낸다. 특정 양태에 있어서, 전력 공급부 (180) 는, 교류 ("AC")-DC 변압기로부터 도출되는 DC 전력 공급부 또는 재충전식 DC 배터리를 포함하며, 이 변압기는 AC 전력원에 접속된다.
도 2 에 도시된 바와 같이, 터치 스크린 디스플레이 (132), 비디오 포트 (138), USB 포트 (142), 카메라 (148), 제 1 스테레오 스피커 (154), 제 2 스테레오 스피커 (156), 마이크로폰 (160), FM 안테나 (164), 스테레오 헤드폰들 (166), RF 스위치 (170), RF 안테나 (172), 키패드 (174), 모노 헤드셋 (176), 바이브레이터 (178), 열 센서들 (157B), 및 전력 공급부 (180) 는 온-칩 시스템 (102) 외부에 있다.
도 3a 는 PCD 비디오 게임에서 광고 (119A1) 의 완전히 차단된 뷰를 포함하는 예시적인 디스플레이 스크린 (300A) 의 다이어그램이다. 이러한 예시적인 실시형태에 따르면, 광고 (119A1) 는 어구 "AD1" 를 갖는 직사각형 간판을 포함할 수도 있다. PCD 비디오 게임은 비디오 오브젝트 (111A) 와 광고 (119A1) 를 생성하고 있다. 어구 "AD1" 의 문자숫자 캐릭터들 중 몇몇은 그들이 가시적이지 않거나 PCD 비디오 게임을 플레이하고 있는 PCD (100B) 의 운영자가 볼 수 없는 것을 나타내도록 점선들로 도시되고 있다. 상세하게는, "AD1" 의 문자숫자 캐릭터들 "A" 및 "D" 은 어느 부분이 비디오 오브젝트 (111A) 에 의해 차단되는지 나타내도록 점선들로 도시된다. 일부 경우, 광고 (119A1) 는 스크린 (300A) 에 위치되지 않거나 스크린 (300A) 에 직교할 수도 있다. 광고 (119A1) 는 스크린 (300A) 상의 PCD 비디오 게임에서 자연스럽게 나타날 경우 비-직교/원근 변환되기 쉬울 수도 있다.
도 3a 에 도시된 것과 같이, 비디오 오브젝트 (111A) 는 광고 (119A1) 의 전체 뷰를 차단하고 있다. 광고 (119A1) 는 도 3a 에 도시된 것과 같은 스코어 보드 또는 빌보드와 같은 장면 내의 오브젝트 상에 맵핑된 광고 텍스처에 의해 형성된다. 이러한 예시적인 실시형태에서, 비디오 오브젝트 (111A) 는 레이스 카를 포함한다. 당업자는 도 3a 도시된 것 이외의 다른 광고 (119A1) 들 및 다른 타입의 비디오 오브젝트들이 본 개시물의 범위 내에 있는 것을 인식한다. 예를 들면, 비디오 오브젝트 (111A) 는 스포츠를 플레이하는 사람 또는 아바타의 형상을 포함할 수도 있고, 광고 (119A1) 는 가상의 3-차원 경기장의 벽 위에 위치된 높은 빌보드 또는 배너 광고를 포함할 수도 있다.
깊이 버퍼 (113) 는 광고 (119A1) 상에 제시된 임의의 문자숫자 캐릭터들 또는 심볼들이 PCD 비디오 게임을 플레이하고 있는 PCD (100B) 의 운영자가 볼 수 없도록 및/또는 이해할 수 없도록 광고 (119A1) 를 완전히 차단하고 있을 수도 있는 것을 결정할 수도 있다. 깊이 버퍼 (113) 는 비디오 오브젝트 (111A) 와 광고 (119A1) 를 형성하는 3-차원 좌표들에 할당된 값들을 평가함으로써 이러한 결정을 실행한다.
대안적인 실시형태에서, 예를 들어, 깊이 버퍼 (113) 는 (광고 디자이너에 의해 결정된) 광고 (119A1) 의 하나 이상의 "키 포인트들" 이 깊이 버퍼에서 보여질 수 없기 때문에 광고 (119A1) 가 차단되는 것으로 결정할 수도 있으며, 이는 하나 이상의 "키 포인트들" 이 레이스 카 (111) 에 의해 모호하게 되기 때문이다. 추가의 실시형태에서, 예를 들어 깊이 버퍼 (113) 는 자동차 (111) 가 광고 (119A1) 를 차단하지 않은데도 (아마도 광고 (119A1) 가 일정한 각도로 디스플레이되기 때문에, 또는 광고 (119A1) 가 너무 멀리 떨어져있기 때문에) 광고 (119A1) 의 너무 적은 픽셀들이 디스플레이 되고 있는 것으로 결정할 수도 있고, 따라서 광고 (119A1) 는 먼 거리에 있거나 급격한 렌더링 각도로 있는 것에 의해 효율적으로 "차단될" 수도 있다. 대안적으로, 광고 (119A1) 는 "밉맵 (mipmap)" 에 몇몇 해상도들로 저장될 수도 있고, 광고 디자이너는 광고 (119A1) 가 사용자에게 디스플레이된 것으로 고려되기 전에 "밉맵" 에서의 몇몇 초이스들 사이의 선택에 기초하여 광고 (119A1) 가 얼마나 커야하는지를 나타낼 수도 있다. 그래픽 드라이버 (107) 는 밉맵으로부터 디스플레이된 서브-픽처를, 그 픽처가 당업자에 의해 이해되는 것과 같이 광고 또는 커머셜 임프레션의 자격을 가지기에 충분히 큰지 결정하기 위해 최소 밉맵 광고 사이즈 (광고 자체의 속성) 를 이용하여 검토할 수도 있다.
도 3b 는 PCD 비디오 게임에서의 광고 (119A1) 의 부분적으로 차단된 뷰를 포함하는 예시적인 디스플레이 스크린 (300B) 의 다이어그램이다. 도 3b 의 엘리먼트들은 도 3a 에 도시된 엘리먼트들과 실질적으로 유사하다. 그러므로, 도 3a 와 도 3b 간의 차이들만이 이하 설명될 것이다.
이러한 예시적인 실시형태에 따르면, 도 3a 와 비교하여, 도 3b 에 도시된 것과 같은 레이스 카를 포함하는 비디오 오브젝트 (111B) 는 디스플레이 스크린 (300B) 을 가로질러 이동하여 광고 (119A1) 와 오브젝트 (111B) 간에 오버랩의 양이 도 3a 에 도시된 것보다 실질적으로 적게 한다. 어구 "AD1" 의 문자숫자 캐릭터들 중 오직 하나, 즉 숫자 "1" 만이 가시적이지 않거나 PCD 비디오 게임을 플레이하고 있는 PCD (100B) 의 운영자가 볼 수 없는 것을 나타내도록 점선들로 도시된다.
깊이 버퍼 (113) 는 도 3a 에 제시된 차단량에 대하여 도 3b 에 도시된 차단량을 정량화할 수도 있다. 예를 들어, 깊이 버퍼 (113) 는 도 3b 의 광고 (119A1) 가 도 3a 의 대략 80% 차단과 비교하여 대략 20% 차단되는 것으로 결정할 수도 있다. 다른 예시적인 실시형태에서, 전술된 것과 같이, 깊이 버퍼 (113) 는 광고 (119A1) 의 일부 "키 포인트들" 이 가시적이지만, "키 포인트들" 모두가 가시적이지는 않은 것을 결정할 수도 있다.
도 3c 는 PCD 비디오 게임에서 광고 (119A1) 의 차단되지 않은 (가시적인) 뷰를 포함하는 예시적인 디스플레이 스크린 (300C) 의 다이어그램이다. 도 3c 의 엘리먼트들은 도 3a 에 도시된 것과 실질적으로 유사하다. 그러므로, 도 3a 와 도 3c 간의 차이들만이 이하 설명될 것이다.
본 예시적인 실시형태에 따르면, 도 3a 와 비교할 때, 도 3b 에 도시된 것과 같은 레이스 카를 포함하는 비디오 오브젝트 (111B) 는 디스플레이 스크린 (300C) 을 가로질러 이동하여 광고 (119A1) 와 비디오 오브젝트 (111B) 간에 오버랩이 없거나 0% 의 오버랩이 존재하도록 한다. 광고 (119A1) 에서의 어구 "AD1" 의 문자숫자 캐릭터들중 어느것도 차단되지 않기 때문에, 캐릭터들 각각은 그들이 가시적인 PCD 비디오 게임을 플레이하고 있는 PCD (100B) 의 운영자가 볼 수 있는 것을 나타내도록 실선들로 도시된다.
깊이 버퍼 (113) 는 도 3a 에 제시된 차단량에 대하여 도 3c 에 제시된 차단량을 정량화할 수도 있다. 예를 들어, 깊이 버퍼 (113) 는 도 3b 의 광고 (119A1) 가 도 3b 의 대략 20% 의 차단 및 도 3a 의 대략 80% 의 차단과 비교하여 차단을 가지지 않거나 0% 의 차단을 갖는 것으로 결정할 수도 있다.
또한 본 예시적인 실시형태 도 3c 에는 스크린 포인터 (307) 가 도시된다. 스크린 포인터 (307) 는 화살표의 형상을 가지는 것으로 도시되지만, 다른 형상들은 당업자에 의해 이해되는 것과 같이 본 개시물의 범위를 넘지 않는다. PCD (100B) 의 운영자는 스크린 포인터 (307) 를 조종하여 스크린 디스플레이 (300C) 를 가로질러 이동할 수 있도록 할 수도 있다.
PCD (100B) 의 운영자는 또한 광고 (119A1) 의 일부분을 선택하기 위해 스크린 포인터를 이용할 수도 있다. 그래픽 드라이버 (107) 는 운영자에 의해 스크린 포인터 (307) 를 이용하여 실행된 이동 및 활동, 예컨대 "선택" 을 모니터링할 수도 있다. 그래픽 드라이버 (107) 는 스크린 디스플레이 (300C) 상에 제시된 각각의 광고 (119A1) 위에 스크린 포인터 (307) 로 횡단되는 정확한 좌표들을 트래킹할 수도 있다. 그래픽 드라이버 (107) 는 또한 스크린 포인터 (307) 가 광고 (119A1) 를 선택하는데 이용되었는지 결정할 수도 있다. 그래픽 드라이버 (107) 는 스크린 "픽" 또는 이동이 게임 플레이 또는 광고 선택을 위한 것인지 결정을 실행해야할 수도 있다.
광고 (119A1) 의 선택 또는 "마우스 클릭" 에 응답하여, 그래픽 드라이버 (107) 는 인터넷 브라우저 애플리케이션을 런칭하고, 도 3d 에 도시된 것과 같이 새로운 윈도우, 예컨대 스크린 디스플레이 (300D) 를 오픈할 수도 있다. 새로운 윈도우 또는 스크린 디스플레이 (300D) 는 광고 (119A1) 의 대상이 된 제품 및/또는 서비스에 관한 더 많은 정보를 디스플레이하기 위해 인터넷 브라우저 애플리케이션 모듈에 의해 생성될 수도 있다. 그래픽 드라이버 (107) 는 당업자에 의해 이해되는 것과 같이 그리고 도 7 과 관련하여 이하 더 상세히 설명되는 것과 같이, 광고 트래킹 시스템들 및 소프트웨어를 이용하여 작업할 수도 있다. 스크린 디스플레이 (300D) 를 생성하는 웹사이트는 제품 판매자 또는 서비스 판매자 또는 이들 양자에 의해 동작되고 관리될 수도 있다.
도 4 는 PCD 비디오 게임에서 동적 광고들을 생성하는 시스템 (101) 의 추가의 예시적인 컴포넌트들을 설명하는 기능 블록 다이어그램이다. 도 1 에 도시된 것과 유사하게, 그래픽 드라이버 (107) 는 게임 애플리케이션 모듈 (105) 과 그래픽 프로세서 (110B) 에 커플링된다. 게임 애플리케이션 모듈 (105) 은 도 3a 내지 도 3c 에 도시된 것과 같이 비디오 오브젝트들 (111) 을 디스플레이하기 위해 텍스처들과 같은 리소스들을 포함할 수도 있다. 게임 애플리케이션 (105) 은 도 1 과 관련하여 전술된 것과 같이 하나 이상의 오픈 그래픽 라이브러리들 (103) 과 통신한다. 하나 이상의 오픈 그래픽 라이브러리들 (103) 은 또한 게임 엔진 (403) 과 통신한다.
게임 엔진 (403) 은 실시간 3D 렌더링을 제공할 수도 있고, 당업자에 의해 이해되는 것과 같이 "그래픽 엔진", "렌더링 엔진", 또는 "3D 엔진" 으로 지칭될 수도 있다. 게임 엔진 (403) 은 일반적으로, 종종 게임 설계를 간략하게 하는 3D 게임 세계의 오브젝트-지향적 표시를 포함하는 장면 그래프를 제공할 수도 있고, 거대한 가상 게임 세계들의 더 효율적인 렌더링을 위해 이용될 수도 있다.
도 1 및 도 4 에 도시된 것과 같이, 그래픽 드라이버 (107) 는 텍스처 데이터베이스 (112) 에 커플링될 수도 있다. 텍스처 데이터베이스 (112) 는 텍스처 식별 ("ID") 컬럼 (405) 과 광고 식별자 컬럼 (407) 을 포함하는 테이블을 포함할 수도 있다. 텍스처 ID 컬럼 (405) 은 텍스처 아틀라스 (300E) 와 연관된 문자숫자 캐릭터들을 포함할 수도 있다. 텍스처 아틀라스 (300E) 는 유사한 형상 및 레이아웃을 갖는 스크린 디스플레이 (300E) 와 대응한다.
게임 애플리케이션 (105) 은 보통, 게임 레벨들 전부를 갖는 라이브러리를 포함하며, 게임의 하나의 특정 레벨을 플레이할 경우 텍스처들은 렌더링 하드웨어에 의한 고속 액세스를 위해 텍스처 데이터베이스 (112) 내로 카피된다. 하나의 레벨이 완료된 후에, 텍스처들은 일반적으로 새로운 레벨로 덮어쓰기된다.
텍스처 아틀라스 (300E) 는 큰 이미지 또는 다수의 더 작은 서브-이미지들을 포함하는 "아틀라스" 를 포함할 수도 있고, 이들 각각은 PCD 비디오 게임에 의해 렌더링되는 3D 오브젝트의 일부 부분에 대하여 ID1, ID2, ID3, ID4, ID5 등등과 같은 텍스처 ID 를 갖는 텍스처이다. ID1 - ID5 와 같은 서브-텍스처들은 아틀라스 (300E) 상의 오브젝트의 uv-맵의 텍스처 좌표들을 변경시킴으로써, 본질적으로는 이미지의 어떤 부분에 텍스처가 존재하는지 식별함으로써 렌더링될 수도 있다.
텍스처 아틀라스 (300E) 는 그래픽 프로세서 (110B) 에 의해 하나의 유닛으로 취급될 수도 있다. 특히, 한번 바인딩하는 것에 의해 더 적은 렌더링 상태 변경들이 존재하기 때문에, 다수의 더 작은 텍스처들이 인출될 때 이들을 바인딩하는 것보다 하나의 큰 텍스처를 한번 바인딩하는 것이 더 빠를 수 있다.
당업자에 의해 이해되는 것과 같이, 아틀라스 (300E) 는 균일한 사이즈의 서브-텍스처들을 포함할 수도 있거나, 다양한 사이즈의 텍스처들 (ID1 - ID5) 을 포함할 수도 있다. 후자의 경우, 마야 (Maya) 와 같은 그래픽 디자인 소프트웨어는 보통, 텍스처들 (ID1 - ID5) 을 그래픽들 CPU (110B) 에 전송하기 전에 효율적인 방식으로 텍스처들 (ID1 - ID5) 을 자동으로 배열한다. 텍스처 아틀라스 (300E) 의 수동 배열이 가능하다. 종종 텍스처는 텍스처를 크게 줄어들게 하는 것으로부터의 아티팩트들을 감소시키고 렌더링 속도를 증가시키기 위해, 다수의 상이한 사이즈들로 저장될 것이고; 이러한 기술은 "밉맵핑" 으로 불린다. 밉맵들을 이용할 경우, 보통 서브-이미지들이 그들의 이웃들로부터 "오염되는" 것을 회피하기 위한 방식으로 텍스처들 (ID1 - ID5) 을 배열하도록 주의되어야 한다. 당업자들에 의해 이해되는 것과 같이, 텍스처들 간의 작은 경계는 이웃들에 의한 이러한 오염을 방지하는 것을 도울 수도 있다.
대안적인 예시적인 실시형태에 따르면, 텍스처 데이터베이스 (112) 와 텍스처 아틀라스 (300E) 는 게임 애플리케이션 (105) 으로부터 로딩될 수도 있다. 게임 애플리케이션 (105) 이 텍스처 데이터베이스 (112) 와 텍스처 아틀라스 (300E) 를 로딩하기 때문에, 일부 텍스처들이 "텍스처 대체"를 위한 비트로 마킹되는 것을 알아차릴 수도 있다. 예시적인 실시형태들에서, 일부 텍스처들은 이러한 텍스처에 대한 게임 플레이의 광고 환경을 나타내는 "장면 타입" 을 위한 하나의 워드로 마킹될 수도 있다. 예를 들어, 미식 축구와 같은 스포츠에 대한 게임 애플리케이션 (105) 은 경기장의 스포츠 경기를 위해 축구 로고들 또는 패스트푸드 판매자들의 로고들을 갖는 빌보드를 디스플레이할 수도 있다.
게임 애플리케이션 (105) 이 텍스처 아틀라스 (300E) 를 로딩하기 때문에, 그 레벨의 지속시간 동안 광고 초이스들을 자동으로 실행할 것이다. 각각의 레벨은 오직 수분 동안 지속될 수도 있기 때문에, 이러한 초이스들을 게임 로드들로서 실행할 때 일반성을 거의 손실하지 않는다.
도 4 의 예시적인 실시형태에서, 그래픽 드라이버 (107) 는 어떤 동적 광고 (119) 가 PCD 비디오 게임 동안 디스플레이 스크린 (132) 상에 디스플레이되어야하는지 결정하기 위해 운영 시스템 (115) 에 의해 지원되는 광고 룰들 (117) 에 액세스할 수도 있다. 광고 룰들 (117) 은 또한 비디오 게임에서 어떤 원래의 텍스처들이 교체되어야 하는지를 결정할 책임이 있을 수도 있다.
그래픽 드라이버 (107) 는 또한, 게임 개발자들이 동적 광고들 (119) 로 교체되기 위해 어떤 특정 텍스처들이 요구되는지 나타내게 하기 위해 메모리를 예비할 수도 있다 (즉, 예비된 비트들). 이러한 예비 메모리는 또한 텍스처들에 대한 속성들을 지정하는데 이용될 수도 있다. 텍스처의 속성들은 폭, 높이, 컬러, 및 다른 유사한 파라미터들을 포함하지만, 이에 제한되지 않을 수도 있다. 광고 룰 (117) 은 예비된 비트들 및 그들의 개별 속성들을 갖는 텍스처들을 제어하도록 생성될 수도 있다.
다른 예시적인 광고 룰 (117) 은 그래픽 드라이버 (107) 가 특정 텍스처 ID 에 할당될 수도 있는 다양한 동적 광고들 (119) 을 랜덤하게 선택하도록 랜덤 선택 기능을 포함할 수도 있다.
광고 룰 (117) 이 랜덤 선택 기능을 포함할 경우, 그래픽 드라이버 (107) 는 도 4 의 텍스처 데이터베이스 (112) 에 도시된 것과 같이 텍스처 데이터베이스 (112) 에서의 텍스처 ID "ID2" 에 대한 광고 식별자들 (AD2, AD3, 및 AD4) 을 갖는 3 개의 동적 광고들 (119) 사이에서 랜덤하게 선택할 수도 있다. 텍스처 아틀라스 (300E) 상에 도시된 것과 같은 텍스처 ID2 에 대하여 상이하게 언급될 때, 이러한 텍스처는 광고 식별자들 (AD2, AD3 또는 AD4) 에 대응하는 3 개의 상이한 동적 광고들 (119) 에 의해 이동될 수도 있다. 전술된 것과 같이, 그래픽 드라이버 (107) 는 PCD 비디오 게임의 실행 또는 반복 이후 또는 PCD 비디오 게임 동안 플레이의 "라운드" 의 종료 이후에 각각의 텍스처 ID 를 업데이트할 수도 있다.
예를 들어, 도 3 의 레이스 카와 같은 비디오 오브젝트 (111A) 가 동적 광고 (119A1) 를 통과한 후에, 그래픽 드라이버 (107) 는 동적 광고 (119A1) 를 변경시킬 수도 있다. 그래픽 드라이버 (107) 는 컬럼 (407) 에 할당된 광고 식별자들 및 텍스처 데이터베이스 (112) 의 컬럼 (405) 에 할당된 텍스처 식별자들에 기초하여 동적 광고를 변경시킬 수도 있다. 상세하게는, 어구 "AD1" 를 갖는 광고를 포함하는 동적 광고 (119A1) 는 어구 "AD2" 를 갖는 동적 광고 (119A1) 로 변경될 수도 있다.
또 다른 예는 타이어들의 제 1 브랜드를 포함하는 제 1 동적 광고 (119A1) 를 디스플레이하는 것이다. 레이스 카를 포함하는 비디오 오브젝트 (111A) 가 제 2 시간 동안 동적 광고 (119A1) 를 통과한 이후, 타이어들의 제 2 브랜드를 포함하는 (도시되지 않은) 제 2 동적 광고 (119B1) 가 디스플레이될 수도 있다. 동적 광고 (119A1) 가 그래픽 드라이버 (107) 에 의해 변경되는 시간의 양 및 빈도는 운영 시스템 (115) 의 광고 룰들 (117) 에 의해 지배될 수도 있다.
다른 예시적인 실시형태에 따르면, 오프라인 툴 (411) 이 제공될 수도 있고, 이 툴 (411) 은 광고 룰들 (117) 을 생성하기 위해 게임 애플리케이션 (105) 및 그래픽 드라이버 (107) 와 오프라인으로 작업한다. 오프라인 툴 (411) 은 게임 개발자가 비디오 게임 내의 임의의 텍스처를 선택하고, 비디오 게임이 플레이되고 있는 경우 특정 텍스처 또는 텍스처 세트를 교체하는데 이용될 수 있는 하나 이상의 광고들 (119) 을 선택하게 할 수도 있다. 오프라인 툴 (411) 은 서버 (100A) 또는 PCD (100B) (또는 이들 양자) 에 의해 실행될 수도 있는 소프트웨어를 포함할 수도 있다. 그래픽 드라이버 (107) 는 원래의 게임을 변경해야할 임의의 필요성 없이 비디오 게임에서 선택된 텍스처를 추출할 수도 있다. 추출된 텍스처의 속성들은 텍스처를 하나의 또는 다수의 대응하는 광고들 (119) 에 매칭하는 광고 룰 (117) 을 구성하는데 이용될 수도 있다. 추출된 텍스처의 속성들은 폭, 높이 및 컬러들을 포함하지만, 이에 제한되지 않을 수도 있다.
전술된 것과 같이, 광고 룰들 (117), 및 컬럼 (407) 에서의 광고 식별자들을 포함하는 텍스처 데이터베이스 (112) 와 동적 광고들 (119) 은 자체적으로 서버 (100A) 에 의해 업데이트될 수도 있다. 서버 (100A) 는 그 업데이트들을 컴퓨터 네트워크 (142) 를 통해 PCD (100B) 의 운영 시스템 (115) 으로 송신할 수도 있다. 업데이트들에 대한 빈도는 서버 (100A) 또는 PCD (100B) 또는 이들 양자에 의해 제어될 수도 있다. 동적 광고들 (119) 은 PCD 비디오 게임이 당업자에 의해 이해되는 것과 같이 실행중인 동안에도 서버 (100A) 에 의해 업데이트될 수도 있다.
도 5 는 PCD 비디오 게임에서 동적 광고들 (119) 을 생성하는 방법 (500) 을 설명하는 논리적인 플로우차트이다. 블록 (505) 은 방법 (500) 의 제 1 단계이다. 블록 (505) 에서, 그래픽 드라이버 (107) 는 PCD (100B) 의 디스플레이 스크린 (132) 상의 디스플레이를 위한 텍스처에 대하여 게임 애플리케이션 (105) 으로부터 호출을 수신할 수도 있다. 다음에, 블록 (510) 에서, 그래픽 드라이버 (107) 는 게임 애플리케이션 (105) 으로부터 발신하고 있는 호출과 연관된 텍스처 식별자 ("ID") 를 검토할 수도 있다.
다음에, 결정 블록 (515) 에서, 그래픽 드라이버 (107) 는 호출의 텍스처 식별자가 동적 광고 (119) 의 대체를 위해 텍스처 데이터베이스 (112) 에 리스트된 텍스처 ID 와 매칭하는지 결정할 수도 있다. 이러한 결정 블록 (515) 에서, 그래픽 드라이버 (107) 는 도 4 에 도시된 것과 같이 텍스처 데이터베이스 (112) 에서 발견된 테이블을 검토할 수도 있다. 상세하게는, 그래픽 드라이버 (107) 는 텍스처 ID 컬럼 (405) 을, 프로세싱되고 있는 현재 텍스처 호출에 의해 제시된 텍스처 ID 와 비교할 수도 있다.
이러한 결정 블록 (515) 에 대한 질의가 부정적이라면, 그 후에 "아니오" 브랜치는 다시 블록 (505) 을 뒤따를 수도 있다. 결정 블록 (515) 에 대한 질의가 긍정적이라면, 그 후에 "예" 브랜치 다음에 블록 (520) 이 뒤따를 수도 있다.
블록 (520) 에서, 그래픽 드라이버 (107) 는 운영 시스템 (115) 에서 발견된 하나 이상의 광고 룰들 (117) 에 따라 도 4 에 도시된 것과 같은 텍스처 데이터베이스 (112) 의 테이블의 컬럼 (407) 으로부터 적절한 광고 식별자를 선택할 수도 있다. 예를 들어, 광고 룰 (117) 이 특정 텍스처 ID 에 할당된 랜덤한 기능을 포함한다면, 그 후에 그래픽 드라이버 (107) 는 매칭하는 텍스처 식별자에 대응하는 광고 식별자들을 랜덤하게 선택할 수도 있다. 당업자는 광고 룰들 (117) 이 특정 텍스처 식별자들에 할당될 수도 있고/또는 복수의 텍스처 식별자들 또는 텍스처 식별자들의 그룹에 할당될 수도 있는 것을 인식할 것이다. 유사하게, 광고 룰들 (117) 은 요구되는 바에 따라 모든 텍스처 식별자들에 걸쳐 균일하게 적용될 수도 있다.
광고 식별자들은 광고 엔진에 로컬로 또는 광고 서버에 원격으로 저장된 이하의 정보 비트들: 광고 사이즈; 광고 형상; 광고 배경 컬러; 광고 타입 (비디오 또는 정적 텍스처); (사용자 연령 범위, 성별 및/또는 가계 소득을 포함하는) 의도된 뷰어 데모그래픽 (demographic); (PCD 의 위치를 결정하기 위해 PCD IP 어드레스를 이용할 수도 있는) 로케이션 지정자, 등등; 및 (디스플레이된 픽셀들, 키 픽셀들, 또는 임프레션 또는 임프레션을 결정하기 위한 다른 알고리즘을 형성하도록 디스플레이되어야 하는 최소 밉맵 서브-픽처를 이용하는) 임프레션 임계치와 연관될 수도 있다.
광고 식별자가 적절한 광고 룰 (117) 에 기초하여 그래픽 드라이버 (107) 에 의해 선택되면, 그 후에 이러한 광고 식별자는 도 7 에 도시된 것과 같이 텍스처 데이터베이스 (112) 에서 발견된 대응하는 동적 광고 (119) 와 매칭될 수도 있다. 도 7 에 도시된 것과 같은 텍스처 데이터베이스 (112) 에 관한 추가의 세부사항들이 이하 설명될 것이다.
도 5 를 다시 참조하면, 블록 (525) 에서, 그래픽 드라이버 (107) 는 동적 광고 (119) 를 그래픽 프로세서 (110B) 로 전송한다. 블록 (530) 에서, 그래픽 프로세서 (110B) 는 디스플레이 디바이스 (132) 상의 도 4 의 텍스처 아틀라스 (300E) 에 따라 동적 광고 (119) 를 생성한다.
다음에, 루틴 또는 서브방법 결정 블록 (535) 에서, 그래픽 드라이버 (107) 는 도 3c 에 도시된 것과 같은 스크린 포인터 (307) 에 가장 근접한 영역들에 위치된 동적 광고들 (119) 을 계속해서 모니터할 수도 있다. 이러한 루틴 결정 블록 (535) 에서, 그래픽 드라이버 (107) 는 동적 광고 (119) 가 임의의 비디오 오브젝트들 (111) 에 대하여 방해받지 않는지 및 광고 (119) 가 스크린 디스플레이 (132) 내에서 볼 수 있는지 결정할 수도 있다. 이러한 루틴 또는 서브방법 결정 블록 (535) 에 관한 추가의 세부사항들이 도 6 과 관련하여 이하 더 상세히 설명될 것이다.
결정 블록 (535) 에 대한 질의가 긍정적이라면, 그 후에 "예" 브랜치 다음에 블록 (540) 이 뒤따른다. 블록 (535) 에 대한 질의가 부정적이라면, 그 후에 "아니오" 브랜치 다음에 결정 블록 (545) 이 뒤따른다. 블록 (540) 에서, 그래픽 드라이버 (107) 는 광고 뷰 트래킹을 활성화할 수도 있다. 광고 뷰 트래킹은 동적 광고 (119) 가 스크린 디스플레이 (132) 에서 완전히 볼수 있는 시간 길이 또는 횟수 또는 이들 양자를 그래픽 드라이버 (107) 가 결정하는 것을 포함할 수도 있다. 당업자는 이것을, PCD 비디오 게임들이 실행되고 있는 동안 PCD (100B) 의 운영자에 의한 완전한 또는 전체 뷰에 대하여 동적 광고 (119) 가 사용가능한 빈도를 측정하는 커머셜 임프레션 메트릭으로서 지칭할 수도 있다.
다음에, 결정 블록 (545) 에서, 그래픽 드라이버 (107) 는 동적 광고 (119) 내에서 광고되고 있는 특정 제품 또는 서비스 (또는 이들 양자) 에 관한 더 많은 정보를 획득하기 위해 동적 광고 (119) 를 선택하거나 "클릭-온" 하였는지 결정할 수도 있다. 결정 블록 (545) 에 대한 질의가 부정적이라면, 그 후에 "아니오" 브랜치가 뒤따르며, 방법 (500) 이 리턴한다.
결정 블록 (545) 에 대한 질의가 긍정적이라면, 그 후에 "예" 브랜치는 블록 (550) 이 뒤따르며, 그 블록 (550) 에서 그래픽 드라이버 (107) 는 운영 시스템 (1152) 이 브라우저 애플리케이션을 런칭하도록 하는 커맨드를 발행할 수도 있다. 대안적으로, 그래픽 드라이버 (107) 는 스크린 포인터 (307) 를 이용하여 동적 광고 (119) 를 선택하거나 "클릭-온" 하는 PCD (100B) 의 운영자에 응답하여, 스크린 디스플레이 (132) 내에 새로운 윈도우를 런칭하도록 하는 커맨드를 브라우저 애플리케이션에 직접 발행할 수도 있다.
다음에, 블록 (555) 에서, 브라우저 애플리케이션은 PCD (100B) 의 운영자에 의해 선택된 동적 광고 (119) 와 연관된 웹페이지로 다시 전송될 수도 있다. 이러한 웹페이지는 전술된 도 3d 에 도시된 것과 유사한, 광고되고 있는 제품 또는 서비스에 관한 추가의 정보를 제공할 수도 있다. 블록 (555) 에서, 종래의 광고 캠페인 트래킹 기술들은 당업자에 의해 이해되는 것과 같이, 도 8 과 관련하여 이하 더 상세히 설명되는 것과 같이 상기 블록에서 활성화될 수도 있다.
도 6 은 PCD 비디오 게임 내의 동적 광고 (119) 가 운영자에 대한 뷰로부터 차단되는지 결정하기 위해 도 5 의 서브방법 또는 루틴 (535) 을 설명하는 논리적인 플로우차트이다. 블록 (605) 은 서브방법 (535) 의 제 1 단계이다. 블록 (605) 에서, 그래픽 드라이버 (107) 는 동적 광고 (119) 를 포함하는 스크린 디스플레이 (132) 의 현재 반복을 위해 현재 깊이 값들을 제공할 것을 깊이 버퍼 (113) 에 요청할 수도 있다. 깊이 값들은 그래픽 프로세서 (110B) 에 의해 계산될 수도 있다. 예시적인 실시형태에 따르면, 근소한 깊이 버퍼 값들이 깊이 버퍼 (113) 내에 포함된 모든 값들을 이용하는 대신에 샘플링된다. 이러한 방식에서, 이러한 서브방법 (535) 과 관련된 수행 속도는 더 적은 값들을 취득함으로써 형성된 감소된 계산들을 고려하여 증가될 수도 있다.
블록 (610) 에서, 그래픽 드라이버 (107) 는 깊이 버퍼 (113) 에 저장될 수도 있는, 그래픽 프로세서 (110B) 에 의해 계산된 이러한 깊이 값들에 기초하여 동적 광고 (119) 가 비디오 오브젝트 (111) 에 방해되지 않는지 또는 방해되는지 결정할 수도 있다. 블록 (605) 에서 전술된 것과 같이, 그래픽 드라이버 (107) 는 깊이 버퍼 (113) 내의 모든 값들 또는 값들의 샘플을 이용할 수도 있다. 이러한 깊이 버퍼 값들은 각각의 동적 광고 (119) 에 대한 깊이 값들과 비교된다.
예를 들어, 도 3 과 관련하여 전술된 것과 같이, 깊이 버퍼 (113) 를 활용하는 그래픽 드라이버 (107) 는 동적 광고 (119A1) 에 대한 차단 퍼센티지를 결정할 수도 있다. 임계 차단 퍼센티지는 그래픽 드라이버 (107) 가 뒤따르는 이러한 블록 (610) 에서 세팅되거나 확립될 수도 있다. 다시 말해서, 동적 광고 (119A1) 에 대하여 특정 차단 퍼센티지가 허용될 수도 있으며, 이는 동적 광고 (119A1) 의 대부분 또는 대다수가 PCD (100B) 의 운영자에게 가시적일 수도 있는 것을 의미한다.
예컨대, 도 3a 에서, 깊이 버퍼 (113) 를 활용하는 그래픽 드라이버 (107) 는 레이스 카를 포함하는 비디오 오브젝트 (111) 가 동적 광고 (119A1) 의 대략 100% 를 차단할 수도 있는 것을 발견할 수도 있다. 이러한 시나리오에서, 결정 블록 (535) 에 대한 질의는 부정적일 것이며, 이는 동적 광고의 콘텐츠가 PCD (100B) 의 운영자에 의해 이해될 수 없을 것이기 때문에 그래픽 드라이버 (107) 가 임의의 광고 뷰 트래킹을 활성화하지 않을 것을 의미한다.
대조적으로, 도 3c 에서, 깊이 버퍼 (113) 를 활용하는 그래픽 드라이버 (107) 는 레이스 카를 포함하는 비디오 오브젝트 (111) 가 동적 광고 (119) 의 어떤 부분도 차단하지 않을 수도 있는 것을 (0% 의 차단) 발견할 수도 있다. 이러한 시나리오에서, 결정 블록 (535) 에 대한 질의는 긍정적일 것이며, 이는 동적 광고 (119) 의 콘텐츠가 PCD (100B) 의 운영자에 의해 완전히 가시적이고 이해가능할 것이기 때문에 그래픽 드라이버 (107) 가 광고 뷰 트래킹을 활성화하기 시작할 것을 의미한다.
블록 (610) 에서, 그래픽 드라이버 (107) 는 또한, 동적 광고 (119) 가 디스플레이 디바이스 (132) 상에서 볼 수 있도록 필수 사이즈를 가지는지 결정할 수도 있다. 전술된 것과 같이, 3-차원 컨텍스트에서 관점을 갖는 PCD 비디오 게임에서, 동적 광고들 (119) 과 같은 일부 오브젝트들은 게임 내의 뷰잉 포인트에 대한 그들의 상대적인 거리에 기초하여 스케일링 될 것이다. 예를 들어, 동적 광고 (119) 를 포함하는 빌보드 간판은 스크린 디스플레이 (132) 상에 디스플레이되고 있는 현재 뷰로부터 몇몇의 "가상의" 마일들에 있는 것 같도록 생성될 수도 있다. 그래픽 드라이버 (107) 는 도 7 과 관련하여 이하 설명되는 차트 (700) 와 같은 차트에 리스트된 값들에 기초하여 동적 광고 (119) 의 사이즈를 체크할 수도 있다. 차트 (700) 는 텍스처 데이터베이스 (112) 에 저장될 수도 있다. 차트 (700) 는 동적 광고 (119) 가 디스플레이 스크린 (132) 내에서 볼 수 있거나 이해할 수 있는 것으로 고려되도록 하기 위해 동적 광고 (119) 의 최소 치수들을 리스트하는 사이즈 컬럼 (715) 을 포함한다. 그 후에 서브방법 (535) 은 다시 도 5 의 블록 (540) 또는 블록 (545) 으로 리턴한다. 도 7 은 텍스처 데이터베이스 (112) 의 추가의 예시적인 콘텐츠를 도시하는 차트 (700) 이다. 그 차트는 텍스처 광고 식별자 컬럼 (705), 광고 캠페인 번호 컬럼 (710), 광고 사이즈/형상 컬럼 (715), 및 광고 종횡비 컬럼 (720) 을 포함할 수도 있다. 텍스처 광고 식별자 컬럼 (705) 에서 텍스처 광고 식별자들은 일반적으로 도 4 의 광고 식별자 컬럼 (407) 에 리스트된 광고 식별자들과 대응한다. 광고 사이즈/형상 컬럼 (715) 은 픽셀들에서 측정된 동적 광고 (119) 의 상대적인 치수들을 제공할 수도 있다. 이러한 상대적인 치수들은 도 8 과 관련하여 이하 설명되는 것과 같이 동적 광고 (119) 가 볼 수 있고 커머셜 임프레션에 포함된 것으로 고려되도록 하기 위한 최소 사이즈를 정의할 수도 있다. 이러한 컬럼 (715) 은 또한 특정 동적 광고 (119) 에 대한 상대적인 기하학적 형상을 식별할 수도 있다. 그래픽 드라이버 (107) 는 동적 광고 (119) 가 도 4 에 도시된 것과 같이 텍스처 아틀라스 (300D) 내에서 생성되고 위치되어야만 할경우 요구되는 바에 따라 차트 (700) 의 컨텐츠를 그래픽 프로세서 (110b) 로 통과시킬 수도 있다. 당업자는 다른 동적 광고 파라미터들이 본 개시물의 범위로부터 벗어남 없이 차트 (700) 내에 제공될 수도 있음을 인식할 것이다. 예를 들어, 차트 (700) 는 게임 자체의 소스 또는 오브젝트 코드를 편집해야할 필요없이, 즉 게임의 3-D 레벨들을 생성하는데 이용된 데이터 구조들을 간단히 변경함으로써, 광고 캠페인들 및 광고 식별자들로 광고 텍스처들을 마킹하도록 PCD 운영자에 의해 편집될 수도 있다.
도 8 은 PCD 비디오 게임 내에서 동적 광고들 (119) 에 대한 예시적인 트래킹 옵션들을 도시하는 차트 (800) 이다. 각각의 동적 광고 (119) 는 (1) 동적 광고 (119) 가 PCD (100B) 의 운영자에게 보여질 경우 및 (2) PCD 운영자가 스크린 포인터 (307) 또는 다른 유사한 사용자 인터페이스를 이용하여 동적 광고 (119) 를 선택하고 "클릭-온" 또는 "클릭-스루" 할 경우, 트랙킹될 수도 있다. 그래픽 드라이버 (107) 는 이러한 트래킹 피처들에 대하여 책임이 있을 수도 있고, 데이터를 다시 컴퓨터 서버 (100A) 로 중계할 수도 잇다.
상세하게는, 그래픽 드라이버 (107) 는 이하: "CPM (Cost Per Mille)"; "CPC (Cost Per Clickthrough)"; "CPA (Cost Per Action)"; "CPD (Cost Per Day)"; 및 "PPC (Pay per click)" 를 포함하지만 이에 제한되지 않는 빌링 방법들을 가능하게 하는 광고중인 빌링 데이터를 트래킹하기 위해 컴퓨터 서버 (100A) 와 함께 작업할 수도 있다. CPM 은 당업자에 의해 이해되는 것과 같이, 1000 명의 고객들에게 동적 광고 (119) 를 보여주기 위해 광고주들이 지불하는 비용이다. CPM 은 당업자에 의해 이해되는 것과 같이, 오직 단일 커머셜 임프레션만을 수반하는 메트릭, "CPI (Cost Per Impression)" 에 기반한다. 단일 커머셜 임프레션은 한가지 예로서 스크린 디스플레이 (132) 상에 도시될 경우 발생한다. 이에 대하여, CPM 에 대한 통상의 비용은 지상 인터넷 동적 광고들 (119) 에 대하여 대략 $1 (U.S.) 내지 대략 $20 (U.S.) 사이의 범위이다. 그러나, 당업자에 의해 이해되는 것과 같이, 본 개시물에 설명된 비용들에 대한 다른 범위들도 가능하다.
당업자에 의해 이해되는 것과 같이, CPC 는 광고 (119) 를 클릭 온하는 각각의 사용자에 대하여 광고주가 지불하는 성과당 지불 비용이다. 이에 대하여, CPC 에 대한 통상의 비용은 지상 인터넷 광고들에 대하여 클릭-스루당 대략 $0.10 (U.S.) 내지 대략 $0.60 (U.S.) 사이의 범위이다.
당업자에 의해 이해되는 것과 같이, CPA 는 사용자가 웹사이트 상에 명시된 액션을 실행할 경우에만 지불되는 비용이다. 예를 들어, 한가지 액션은 사용자가 동적 광고 (119) 를 클릭 온 하는 것에 응답하여 런칭된, 사용자가 제품을 구매하는 것을 포함할 수도 있다. 이에 대하여, CPA 에 대한 통상의 비용들은 제공된 상품들과 서비스들 간의 광범위한 범위이다. 예컨대, 일부 CPA들은 신형 차 판매와 같은 산업에서 액션당 $100 (U.S.) 까지의 범위이다. CPA 는 클릭 스루당 비용, "CPL (Cost per lead)", "CPS (Cost per sale)", 및 동적 CPM ("dCPM") 을 포함할 수도 있다.
CPD 는 당업자에 의해 이해되는 것과 같이, 통상적으로 일자 (주, 월, 등) 당 제한되지 않은 수의 횟수들로 도시될 수도 있는 동적 광고들 (119) 을 포함한다. 그 메트릭은 통상적으로, 계약이 일부로서 최소 횟수의 쇼잉 (showing) 을 갖는다.
PPC 는 당업자에 의해 이해되는 것과 같이, 웹사이트들에서 이용되는 인터넷 광고 모델이다 이는 광고주들이 그들의 동적 광고 (119) 가 클릭도리 경우에만 호스트에게 지불할 수 있는 모델이다.
서버 (100A) 는 광고 서버를 포함할 수도 있다. 광고 서버는 보통, 온라인 마케팅에서 이용된 광고들 (119) 을 저장하고 이를 웹사이트 방문자들에게 전달하는 웹 서버 (100A) 를 포함한다. 웹 서버 (100A) 의 콘텐츠는 계속해서 업데이트되어 광고들 (119) 이 디스플레이되는 비디오 게임들이, PCD 비디오 게임이 사용자에 의해 재시작되거나 리프레시될 경우 새로운 광고들 (119) -- 예컨대, 배너들 (정적 이미지들/애니메이션들) 또는 텍스트 - 을 포함하게 할 수도 있다. 추가로, 서버 (100a) 는 광고가 사용자에게 디스플레이될 경우에 광고 엔진에 의해 인출되는 (도시되지 않은) "트래킹 URL들" 을 포함할 수도 있고, 이후 상이한 "트래킹 URL" 은 사용자에 의한 클릭-스루 액션을 보고하도록 인출될 수도 있다.
광고 서버 (100A) 는 광고 캠페인을 위해 및 리포트들을 생성하기 위해 전술된 광고 데이터를 트래킹하는 것과 같은 다양한 다른 작업들을 수행하도록, PCD (100B) 의 그래픽 드라이버 (107) 및 광고 룰들 (117B) 과 작업할 수도 있다. 광고 서버 (107) 및 그래픽 드라이버 (107) 에 의한 이러한 트래킹은 광고주가 특정 PCD 비디오 게임에 대하여 그 또는 그녀의 투자 수익률 ("ROI") 을 결정하는 것을 도울 수도 있다.
광고 서버 (100A) 는 로컬 광고 서버 (100A) 또는 하나 이상의 제 3 자/원격 광고 서버(들)(100A) 을 포함할 수도 있다. 로컬 광고 서버들 (100A) 은 통상적으로 단일 출판업자에 의해 관리되며, 광고들 (119) 을 출판업자의 도메인들에 제공하여 출판업자에 의한 세밀한 (fine-grained) 크리에이티브, 포맷화 및 콘텐츠 제어를 허용한다. 원격 광고 서버들 (100A) 은 다수의 출판업자들/광고주들 및/또는 제품 및 서비스 판매자들이 소유하는 도메인들에 걸쳐 동적 광고들 (119) 을 서비스할 수도 있다. 원격 광고 서버들은 통상적으로 광고 네트워크에 의해 소유되고 제어도니다. 서버 (100A) 는 하나의 중심 소스로부터 동적 광고들 (119) 을 전달하여 광고주들 및 출판업자들이 PCD 비디오 게임들 내의 그들의 온라인 광고들의 분배를 트래킹할 수 있도록 한다. 단일 서버 (100a) 는 복수의 PCD 비디오 게임들 내의 동적 광고들 (119) 의 회전 및 분배를 제어하기 위해 하나의 위치에 하우징될 수도 있다.
광고 서버 (100A) 는 적어도 이하 기능들: 광고주들, 제품 판매자들 및/또는 서비스 판매자들로부터 동적 광고들 (119) 및 리치 미디어를 업로딩하고; 상이한 비지니스 룰들 (117) 에 따라 광고들 (119) 을 트래킹하고; PCD 비디오 게임들의 상이한 사용자들에게 광고들 (119) 을 타겟화하고; 결과들에 기초하여 광고들 (119) 을 튜닝 및 최적화하고; 그리고 전술된 광고중인 데이터 (즉, CPI, CPM, CPC, 등등 를 보고하는 것을 지원할 수도 있다.
광고 서버 (100A) 는 그래픽 드라이버 (107) 및 광고 룰들 (117B) 과 결합하여, 또한 광고-빈도 캡핑 (capping) 을 구현할 수도 있고, 따라서 사용자들은 오직 PCD 비디오 게임 내에서 제한된 양의 시간에 메세지들을 볼 수 있다. 그래픽 드라이버 (107) 와 함께 작업하는 광고 서버 (100A) 는 광고주에 의해 제공되는 금액 소비에 관한 빈도 한도를 설정함으로써 광고들 (119) 을 제한할 수도 있다. 광고 서버 (100A) 는 또한 그래픽 드라이버 (107) 를 통해 광고 룰들 (117B) 을 이용하여 광고들 (119) 을 시퀀싱할 수도 있고, 따라서 사용자들은 (당업자에게 서라운드 세션들로 공지된) 특정 순서로 메세지들을 볼 수 있다.
그래픽 드라이버 (107) 및 광고 룰들 (117B) 과 함께 작업하는 광고 서버 (100A) 는 또한 경쟁을 거부할 수도 있고, 따라서 PCD 비디오 게임의 사용자들은 서로 바로 옆에 있는 경쟁자들의 광고들을 볼 수 없다. 광고 서버 (100A) 는 비디오 게임 내에 동적 광고들 (119) 을 디스플레이하고, 따라서 광고주는 (당업자에게 "방어벽 (Roadblocks)" 으로 공지된) PCD 비디오 게임 내의 단일 장면에서 100% 의 재고 (제품들 및/또는 서비스들) 를 소유할 수도 있다.
그래픽 드라이버 (107) 와 함께 PCD (100B) 의 광고 룰들 (117B) 을 통해 작업하는 광고 서버 (100A) 는 PCD 비디오 게임 동안 취득된 액션들에 대한 그들의 이전 거동 (거동 마케팅 또는 거동 타겟팅) 에 기초하여 광고들 (119) 을 사용자들에게 타겟팅할 수도 있다. 이는 거동 타겟팅을 포함할 수도 있다. 거동 타겟 마케팅은 PCD 비디오 게임의 이후 반복 동안 어떤 광고 (119) 를 보여줄 것인지를 결정하기 위해 PCD 비디오 게임 뷰어의 부분에 관한 이전 거동의 프로파일을 이용하는 것을 포함할 수도 있다. 예를 들어, 자동차 광고들은 PCD 비디오 게임의 이전 "플레이" 에서 클릭-온 또는 클릭-스루되었던 광고들 (119) 에 기초하여 자동차 웹사이트들을 방문한 것으로 공지된 뷰어에게 PCD 비디오 게임 동안 디스플레이될 수도 있다.
그래픽 드라이버 (107) 는 동적 광고들 (119) 의 개념적인 타겟화를 지원할 수도 있다. 예를 들면, 그래픽 드라이버 (107) 는 광고 (119) 가 스크린 디스플레이 (132) 상에 디스플레이되고 있는 동안 PCD 비디오 게임 내에서 특정 스크린 상에 포함된 정보로부터 최적의 광고 배치를 추론할 수도 있다. 예를 들면, 그래픽 드라이버 (107) 는 도 3a 내지 도 3c 에 도시된 것과 같이 레이스 카 (111) 가 빌보드들을 통과하여 이동하고 있을 경우 PCD 비디오 게임 내에서 가상의 빌보드들 상의 스크린에 자동으로 타이어 광고들 (119) 을 배치할 수도 있다. 그래픽 드라이버 (107) 는 소정의 광고 배치를 위한 최적의 쇼잉 (showing) 을 결정하기 위해 실험적인 또는 예측적인 방법들을 이용할 수도 있고, 광고 (119) 의 향후 임프레션들에서 결과적인 결정을 이용할 수도 있다.
CPM (cost-per-mille) 과금에 관하여 PCD 게임 콘텍스트 내에서 동적 광고들 (119) 의 수익을 트래킹하는 광고 서버 (100A) 와 그래픽 드라이버 (107) 에 대하여, 임프레션으로서 카운트하는 것은 적어도 2 가지 방식들로 계산될 수도 있다. 제 1 방법에 따라, 임프레션은 단일 게임 레벨에서 보여지고 (디스플레이되고) 있는 동적 광고 (119) 로서 정의될 수도 있다. PCD (100B) 의 운영자가 하나의 레벨에 올라가고, 그 후에 다시 하나의 레벨을 다시 내려간다면, 그 후에 특정 동적 광고 (119) 에 대한 광고주는 2 개의 임프레션들에 대하여 과금될 수도 있다. 이러한 경우에 임프레션들은 광고 서버와 함께 작업하는 그래픽 드라이버 (107) 에 의해 트래킹될 것이다.
보통, 동적 광고 (119) 의 임프레션은 보여지는 광고가 스크린상에서 특정 최소 사이즈일 것을 요구한다. 3-차원 PCD 비디오 게임 콘텍스트에서의 문제는 동적 광고 (119) 가 PCD 비디오 게임 플레이어로부터 2 마일 떨어진 가상의 빌보드 상에 있을 수도 있고, 스크린 상에서 사이즈가 1 픽셀일 수도 있다는 점이다. 따라서, 이러한 시나리오가 주어진 광고주는 광고들을 위해 특정한 최소 수의 픽셀들을 요구할 수도 있다 (즉, 350 × 100 픽셀 광고 (119), 사이즈의 적어도 50% 또는 175 × 50 은 사용자가 볼 수 있어야만 한다). 동적 광고들 (119) 의 이러한 상대적인 사이즈는 차트 (700) 의 컬럼 (715) 에 저장될 수도 있다. 그래픽 드라이버 (107) 는 동적 광고들 (119) 의 이러한 상대적인 사이즈를 트래킹하여, 이 데이터를 광고 서버 (100A) 로 중계할 수도 있다.
대안적으로, 동적 광고 (119) 의 사이즈는 스크린 상의 광고 (119) 디스플레이를 위해 이용된 "밉맵" 에서 몇몇 초이스들 사이의 선택에 기초하여 측정될 수도 있다. 밉맵은, 구현될 경우에, 몇몇 상이한 해상도들로 광고 (119) 를 포함하며, 그래픽 드라이버 (107) 는 가장 적절한 사이즈 (또는 그래픽 드라이버 (107) 가 2 개의 사이즈들 사이에서 보간하는 것을 의도한다면 2 개의 사이즈들) 를 선택한다. 이러한 시스템에서, 광고 사이즈/형상 (715) 은 픽셀들로서가 아니라 디스플레이를 위해 선택된 광고 의 밉맵 버전들에 기초하여 저장될 수도 있다. 임프레션이 존재하는 것을 결정하는 다른 방식들은, 그러나 광고 사이즈/형상 및/또는 임계 광고 픽셀들에 기초하여 임프레션을 결정하는 추가의 방법들이 또한 정의될 수 있는 것을 당업자는 인식할 것이다.
PCD 비디오 게임 콘텍스트에 대한 CPC (cost-per-click through) 에 관하여, (PCD 비디오 게임 자체가 보통 그래픽 드라이버 (107) 가 키보드 (117) 또는 마우스 키에 액세스하지 않는 동안 키보드 (117) 또는 마우스로부터의 입력을 판독할 경우) 그래픽 드라이버 (107) 가 클릭-스루를 인식하는 방식이 종래 기술에서 문제가 되었다. 예를 들어, 클릭-스루는, PCD (100B) 의 운영자가 실제로 게임이 플레이되고 있는 스크린 디스플레이 (132) 상에 제시된 광고 (119) 를 클릭-스루할 경우에, PCD 비디오 게임에 의해 (건-슈팅 PCD 비디오 게임 컨텍스트에서) 발사 이벤트인 것으로 이해되지 않아야 한다.
이러한 문제에 대한 한가지 솔루션은 PCD 비디오 게임을 플레이하는 운영자가, 운영자가 클릭-스루를 실행하려고 하는 것을 그래픽 드라이버 (107) 에 통지하는 어떤 종류의 "이스케이프" 키를 타격할 수도 있는 것이다. PCD 비디오 게임은 이러한 이스케이프 키 또는 마우스 클릭과 커플링된 이러한 키의 조합을 이용하지 않기 위해 사전 구성을 가질 수도 있다. 그래픽 드라이버 (107) 는 이러한 키 조합을 예비하여 PCD 비디오 게임이 이러한 키들의 조합을 판독하는 것을 불가능하게 할 수도 있다.
PCD 운영자가 PCD 비디오 게임 콘텍스트에 제시된 동적 광고 (119) 의 클릭-스루를 실행할 경우, 시스템 (101) 은 적어도 2 개의 상이한 클릭-스루 방법들을 제공할 수도 있다. 먼저, 클릭-스루는 메모리 (112) 에 저장되고 이후에, 예컨대 PCD 비디오 게임의 플레이 내에서 레벨 변경 동안 실행될 수도 있다.
제 2 의 대안적인 방법은 PCD 비디오 게임 세계가 도 5 와 관련하여 전술된 것과 같이 브라우저가 런칭되는 동안 프리즈될 수도 있는 것이다. 이러한 방법은 PCD (100B) 의 운영자가 그들이 클릭-스루 이벤트를 실행할 경우 PCD 비디오 게임 세계를 재시작하게 할 수도 있다. 클릭-스루를 수행하도록 하기 위한 우대책으로서, 게임의 특정 위치들에서 클릭-스루는 특정 위치 또는 룸에서 게임을 일시정지시키는 유일한 방법이 될 수도 있다. 그러나, 클릭-스루 동적 광고 (119) 에 관한 추가의 정보를 제시하는 다른 방법들이 당업자에 의해 이해되는 것과 같이 본 개시물의 범위 내에서 가능하다.
이러한 시스템 (101) 에서, 동적 광고들 (119) 은 게임 개발자가 게임에 대한 원래의 코딩을 변경해야할 필요 없이 PCD 비디오 게임들에서 플레이될 수도 있다. 시스템 (101) 은 게임 개발자가 임의의 게임 코드를 수정할 필요 없이 간단한 인터페이스로 광고들 (119) 을 변경시키고 대체시키게 한다.
이러한 시스템 (101) 에서, 동적 광고들 (119) 은 3-D 비디오 게임에 제시된 맵들의 구조를 수정하는데 공통적으로 이용되는 간단한 "레벨 편집기" 를 이용하여 PCD 비디오 게임 (105) 내로 간단히 삽입될 수도 있다. 동적 광고들 (119) 에 대한 공간을 생성하기 위해 룸 형상들 및 사이즈들과, 가장 중요하게는 텍스처 맵들을 편집함으로써, 상당한 프로그래밍 기술들 없이도 운영자들이 광고 (119) 의 타겟화를 돕기 위해 삽입 포인트들 및 광고 장르들/장면-타입들을 마킹하도록 텍스처들을 간단히 수정함으로써, 비디오 게임 (105) 이 동적 광고들 (119) 을 디스플레이하도록 수정할 수도 있다.
앞의 개시물의 관점에서, 프로그래밍에 있어서의 당업자는, 예를 들어, 본 명세서에 있어서의 플로우 차트들 및 관련 설명에 기초하여 어려움 없이, 개시된 발명을 구현하기 위해 컴퓨터 코드를 기입하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다. 따라서, 프로그램 코드 명령들 또는 상세한 하드웨어 디바이스들의 특정 세트의 개시는 본 발명을 제조 및 이용하는 방법의 적절한 이해에 필수적인 것으로 고려되지 않는다. 청구된 컴퓨터 구현 프로세스들의 본 발명의 기능은, 다양한 프로세스 플로우들을 예시할 수도 있는 도면들과 함께 상기 설명에서 더 상세히 설명된다.
하나 이상의 예시적인 양태들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송될 수도 있다. 컴퓨터 판독가능 매체는, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 컴퓨터 저장 매체 및 통신 매체 양자를 포함한다. 저장 매체는, 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체일 수도 있다. 한정이 아닌 예로서, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 스토리지 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 수록 또는 저장하는데 이용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다.
또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 ("DSL"), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다.
본 명세서에서 사용되는 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 ("CD"), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 ("DVD"), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 플레이하지만 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 플레이한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
따라서, 선택된 양태들이 상세히 도시 및 설명되었지만, 다양한 치환물들 및 변경물들이 다음의 청구항들에 의해 정의되는 바와 같은 본 발명의 사상 및 범위로부터 일탈함 없이 그 안에서 행해질 수도 있음이 이해될 것이다.
Claims (44)
- 컴퓨팅 디바이스 상에 디스플레이된 게임 애플리케이션 내에 동적 광고들을 생성하는 방법으로서,
상기 컴퓨팅 디바이스에서, 각각의 대체 텍스처가 광고에 대응하는, 복수의 대체 텍스처들을 수신하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 대체 텍스처들과 상기 게임 애플리케이션이 디스플레이를 위해 호출하는 것이 가능한 제 1 텍스처 사이의 연관들을 저장하는 단계로서, 상기 연관들은 상기 대체 텍스처들이 상기 제 1 텍스처를 대체하기 위해 선택 가능하다는 것을 나타내는, 상기 연관을 저장하는 단계;
상기 게임 애플리케이션의 단일 실행 동안에 상기 컴퓨팅 디바이스의 그래픽 드라이버에서, 상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 1 호출을 수신하는 단계로서, 상기 제 1 텍스처에 대한 후속 호출이 뒤따르는, 상기 제 1 호출을 수신하는 단계;
상기 제 1 호출에 응답하여:
상기 컴퓨팅 디바이스의 그래픽 프로세서에 의해, 상기 제 1 텍스처를 제 1 비디오 오브젝트 상에 텍스처 맵핑하는 단계, 및
상기 그래픽 프로세서에 의해, 상기 컴퓨팅 디바이스의 디스플레이상에, 맵핑된 상기 제 1 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 단계; 및
상기 후속 호출에 응답하여:
상기 그래픽 드라이버에 의해, 상기 컴퓨팅 디바이스에 저장된 하나 이상의 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 1 대체 텍스처를 선택하는 단계로서, 상기 광고 룰들은 상이한 대체 텍스처들로 하여금 게임플레이 동안에 발생한 상황들에 기초하여 선택되도록 하는, 상기 제 1 대체 텍스처를 선택하는 단계,
상기 그래픽 프로세서에 의해, 상기 제 1 대체 텍스처를 상기 제 1 비디오 오브젝트 상에 텍스처 맵핑하는 단계, 및
상기 그래픽 프로세서에 의해, 상기 컴퓨팅 디바이스의 상기 디스플레이상에, 상기 제 1 텍스처 대신에 맵핑된 상기 제 1 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 단계를 포함하는, 광고들을 생성하는 방법. - 제 1 항에 있어서,
상기 제 1 대체 텍스처를 이용하여 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는 단계를 더 포함하는, 광고들을 생성하는 방법. - 제 1 항에 있어서,
상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 2 후속 호출을 수신하는 단계;
상기 그래픽 드라이버에 의해, 상기 제 2 후속 호출에 응답하여 및 상기 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 2 대체 텍스처를 선택하는 단계; 및
상기 제 1 텍스처 대신에 맵핑된 상기 제 2 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 단계를 더 포함하고,
상기 제 2 대체 텍스처는 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는, 광고들을 생성하는 방법. - 제 1 항에 있어서,
상기 연관들은 대체 텍스처 데이터 베이스에 저장되고, 상기 제 1 텍스처를 대체하기 위해 선택될 수 있는 상기 대체 텍스처들은 상기 제 1 텍스처의 식별자와 연관되는, 광고들을 생성하는 방법. - 제 4 항에 있어서,
상기 대체 텍스처 데이터베이스는 상기 게임 애플리케이션에 의해 제공되는, 광고들을 생성하는 방법. - 제 4 항에 있어서,
상기 대체 텍스처 데이터베이스는, 적어도 하나의 텍스처에 대한 게임플레이 환경을 나타내는 장면 타입을 식별하는 상기 적어도 하나의 텍스처를 포함하는, 광고들을 생성하는 방법. - 제 4 항에 있어서,
미리 구성된 해시 테이블들을 이용하여, 상기 대체 텍스처들에 대응되는 텍스처 정보를 유도하는 단계를 더 포함하는, 광고들을 생성하는 방법. - 제 7 항에 있어서,
상기 텍스처 정보는 표면 텍스처 또는 컬러를 포함하는, 광고들을 생성하는 방법. - 제 8 항에 있어서,
상기 표면 텍스처는 비트맵 또는 래스터 이미지를 포함하는, 광고들을 생성하는 방법. - 제 1 항에 있어서,
상기 그래픽 드라이버에 의해, 상기 디스플레이상에 상기 제 1 대체 텍스처의 크기 또는 상기 제 1 대체 텍스처가 제 2 비디오 오브젝트에 의해 불명료하게 되는 양 중 적어도 하나에 기초하여 상기 제 1 대체 텍스처가 상기 디스플레이상에서 가시적인 정도를 결정하는 단계; 및
상기 제 1 대체 텍스처가 임계 가시성을 충족시키는지 결정하는 것에 응답하여, 상기 그래픽 드라이버에 의해, 상기 제 1 대체 텍스처가 완전히 가시적인 시간들의 횟수 또는 시간의 길이 중 적어도 하나를 결정하기 위해 게임플레이 동안에 상기 제 1 대체 텍스처를 추적하는 단계를 더 포함하는 광고들을 생성하는 방법. - 제 10 항에 있어서,
상기 제 1 대체 텍스처가 디스플레이되는 동안에 사용자 선택되었음을 결정하는 것에 응답하여, 상기 제 1 대체 텍스처와 연관된 웹 페이지를 디스플레이하는 단계로서, 상기 제 1 대체 텍스처는 상기 임계 가시성을 충족시키지 않고 사용자 선택될 수 있는, 상기 웹 페이지를 디스플레이하는 단계를 더 포함하는 광고들을 생성하는 방법. - 컴퓨팅 디바이스 상에 디스플레이된 게임 애플리케이션 내에 동적 광고들을 생성하는 시스템으로서,
각각의 대체 텍스처가 광고에 대응하는, 복수의 대체 텍스처들을 수신하고;
상기 대체 텍스처들과 상기 게임 애플리케이션이 디스플레이를 위해 호출하는 것이 가능한 제 1 텍스처 사이의 연관들을 저장하고, 상기 연관들은 상기 대체 텍스처들이 상기 제 1 텍스처를 대체하기 위해 선택 가능하다는 것을 나타내고;
상기 게임 애플리케이션의 단일 실행 동안에 상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 1 호출을 수신하고, 상기 제 1 텍스처에 대한 후속 호출이 뒤따르고;
상기 제 1 호출에 응답하여:
상기 제 1 텍스처를 제 1 비디오 오브젝트 상에 텍스처 맵핑하고, 그리고
상기 컴퓨팅 디바이스의 상기 디스플레이상에, 맵핑된 상기 제 1 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하고; 그리고
상기 후속 호출에 응답하여:
상기 컴퓨팅 디바이스에 저장된 하나 이상의 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 1 대체 텍스처를 선택하고, 상기 광고 룰들은 상이한 대체 텍스처들로 하여금 게임플레이 동안에 발생한 상황들에 기초하여 선택되도록 하고,
상기 제 1 대체 텍스처를 상기 제 1 비디오 오브젝트 상에 텍스처 맵핑하고, 그리고
상기 컴퓨팅 디바이스의 상기 디스플레이상에, 상기 제 1 텍스처 대신에 맵핑된 상기 제 1 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 상기 제 1 호출을 수신하도록 동작가능한 하드웨어 프로세서를 포함하는, 광고들을 생성하는 시스템 - 제 12 항에 있어서,
상기 프로세서는 또한, 상기 제 1 대체 텍스처를 이용하여 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하도록 동작가능한, 광고들을 생성하는 시스템. - 제 12 항에 있어서,
상기 프로세서는 또한,
상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 2 후속 호출을 수신하고;
상기 제 2 후속 호출에 응답하고 및 상기 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 2 대체 텍스처를 선택하고; 그리고
상기 제 1 텍스처 대신에 맵핑된 상기 제 2 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하도록 동작가능하고,
상기 제 2 대체 텍스처는 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는, 광고들을 생성하는 시스템. - 제 12 항에 있어서,
상기 연관들은 대체 텍스처 데이터 베이스에 저장되고, 상기 제 1 텍스처를 대체하기 위해 선택될 수 있는 상기 대체 텍스처들은 상기 제 1 텍스처의 식별자와 연관되는, 광고들을 생성하는 시스템. - 제 15 항에 있어서,
상기 대체 텍스처 데이터베이스는 상기 게임 애플리케이션에 의해 제공되는, 광고들을 생성하는 시스템. - 제 15 항에 있어서,
상기 대체 텍스처 데이터베이스는, 적어도 하나의 텍스처에 대한 게임플레이환경을 나타내는 장면 타입을 식별하는 상기 적어도 하나의 텍스처를 포함하는, 광고들을 생성하는 시스템. - 제 15 항에 있어서,
상기 프로세서는 또한, 미리 구성된 해시 테이블들을 이용하여, 상기 대체 텍스처들에 대응되는 텍스처 정보를 유도하도록 동작가능한, 광고들을 생성하는 시스템. - 제 18 항에 있어서,
상기 텍스처 정보는 표면 텍스처 또는 컬러를 포함하는, 광고들을 생성하는 시스템. - 제 19 항에 있어서,
상기 표면 텍스처는 비트맵 또는 래스터 이미지를 포함하는, 광고들을 생성하는 시스템. - 제 12 항에 있어서,
상기 프로세서는 또한,
상기 디스플레이상에 상기 제 1 대체 텍스처의 크기 또는 상기 제 1 대체 텍스처가 제 2 비디오 오브젝트에 의해 불명료하게 되는 양 중 적어도 하나에 기초하여 상기 제 1 대체 텍스처가 상기 디스플레이상에서 가시적인 정도를 결정하고; 그리고
상기 제 1 대체 텍스처가 임계 가시성을 충족시키는지 결정하는 것에 응답하여 상기 제 1 대체 텍스처가 완전히 가시적인 시간들의 횟수 또는 시간의 길이 중 적어도 하나를 결정하기 위해 게임플레이 동안에 상기 제 1 대체 텍스처를 추적하도록 동작가능한, 광고들을 생성하는 시스템. - 제 21 항에 있어서,
상기 프로세서는 또한, 상기 제 1 대체 텍스처가 디스플레이되는 동안에 사용자 선택되었음을 결정하는 것에 응답하여, 상기 제 1 대체 텍스처와 연관된 웹 페이지를 디스플레이하고, 상기 제 1 대체 텍스처는 상기 임계 가시성을 충족시키지 않고 사용자 선택될 수 있는, 상기 웹 페이지를 디스플레이하도록 동작가능한, 광고들을 생성하는 시스템. - 컴퓨팅 디바이스 상에 디스플레이된 게임 애플리케이션 내에 동적 광고들을 생성하기 위한 컴퓨터 시스템으로서,
각각의 대체 텍스처가 광고에 대응하는, 복수의 대체 텍스처들을 수신하는 수단;
상기 대체 텍스처들과 상기 게임 애플리케이션이 디스플레이를 위해 호출하는 것이 가능한 제 1 텍스처 사이의 연관들을 저장하는 수단으로서, 상기 연관들은 상기 대체 텍스처들이 상기 제 1 텍스처를 대체하기 위해 선택 가능하다는 것을 나타내는, 상기 연관들을 저장하는 수단;
상기 게임 애플리케이션의 단일 실행 동안에 상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 1 호출을 수신하는 수단으로서, 상기 제 1 텍스처에 대한 후속 호출이 뒤따르는, 상기 제 1 호출을 수신하는 수단;
상기 제 1 호출에 응답하여:
상기 제 1 텍스처를 제 1 비디오 오브젝트 상에 텍스처 맵핑하고, 그리고
맵핑된 상기 제 1 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 수단; 및
상기 후속 호출에 응답하여:
상기 컴퓨팅 디바이스에 저장된 하나 이상의 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 1 대체 텍스처를 선택하고, 상기 광고 룰들은 상이한 대체 텍스처들로 하여금 게임플레이 동안에 발생한 상황들에 기초하여 선택되도록 하고,
상기 제 1 대체 텍스처를 상기 제 1 비디오 오브젝트 상에 텍스처 맵핑하고, 그리고
상기 제 1 텍스처 대신에 맵핑된 상기 제 1 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 수단을 포함하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 23 항에 있어서,
상기 제 1 대체 텍스처를 이용하여 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는 수단을 더 포함하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 23 항에 있어서,
상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 2 후속 호출을 수신하는 수단;
상기 제 2 후속 호출에 응답하고 및 상기 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 2 대체 텍스처를 선택하는 수단; 및
상기 제 1 텍스처 대신에 맵핑된 상기 제 2 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 수단을 더 포함하고,
상기 제 2 대체 텍스처는 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 23 항에 있어서,
상기 연관들을 저장하는 수단은, 상기 연관들은 대체 텍스처 데이터 베이스에 저장하고, 상기 제 1 텍스처를 대체하기 위해 선택될 수 있는 상기 대체 텍스처들은 상기 제 1 텍스처의 식별자와 연관되는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 26 항에 있어서,
상기 대체 텍스처 데이터베이스는 상기 게임 애플리케이션에 의해 제공되는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 26 항에 있어서,
상기 대체 텍스처 데이터베이스는, 적어도 하나의 텍스처에 대한 게임플레이 환경을 나타내는 장면 타입을 식별하는 상기 적어도 하나의 텍스처를 포함하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 26 항에 있어서,
미리 구성된 해시 테이블들을 이용하여, 상기 대체 텍스처들에 대응되는 텍스처 정보를 유도하는 수단을 더 포함하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 29 항에 있어서,
상기 텍스처 정보는 표면 텍스처 또는 컬러를 포함하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 30 항에 있어서,
상기 표면 텍스처는 비트맵 또는 래스터 이미지를 포함하는, 광고들을 생성하기 위한 컴퓨터 시스템. - 제 23 항에 있어서,
상기 디스플레이상에 상기 제 1 대체 텍스처의 크기 또는 상기 제 1 대체 텍스처가 제 2 비디오 오브젝트에 의해 불명료하게 되는 양 중 적어도 하나에 기초하여 상기 제 1 대체 텍스처가 상기 디스플레이상에서 가시적인 정도를 결정하는 수단; 및
상기 제 1 대체 텍스처가 임계 가시성을 충족시키는지 결정하는 것에 응답하여, 상기 제 1 대체 텍스처가 완전히 가시적인 시간들의 횟수 또는 시간의 길이 중 적어도 하나를 결정하기 위해 게임플레이 동안에 상기 제 1 대체 텍스처를 추적하는 수단를 더 포함하는 광고들을 생성하기 위한 컴퓨터 시스템. - 제 32 항에 있어서,
상기 제 1 대체 텍스처가 디스플레이되는 동안에 사용자 선택되었음을 결정하는 것에 응답하여, 상기 제 1 대체 텍스처와 연관된 웹 페이지를 디스플레이하는 수단으로서, 상기 제 1 대체 텍스처는 상기 임계 가시성을 충족시키지 않고 사용자 선택될 수 있는, 상기 웹 페이지를 디스플레이하는 수단을 더 포함하는 광고들을 생성하기 위한 컴퓨터 시스템. - 컴퓨터 판독가능 프로그램 코드가 수록된 컴퓨터 판독가능 저장 매체로서,
상기 컴퓨터 판독가능 프로그램 코드는 컴퓨팅 디바이스 상에 디스플레이된 게임 애플리케이션 내에 동적 광고들을 생성하는 방법을 구현하기 위해 실행되도록 구성되며,
상기 방법은,
상기 컴퓨팅 디바이스에서, 각각의 대체 텍스처가 광고에 대응하는, 복수의 대체 텍스처들을 수신하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 대체 텍스처들과 상기 게임 애플리케이션이 디스플레이를 위해 호출하는 것이 가능한 제 1 텍스처 사이의 연관들을 저장하는 단계로서, 상기 연관들은 상기 대체 텍스처들이 상기 제 1 텍스처를 대체하기 위해 선택 가능하다는 것을 나타내는, 상기 연관을 저장하는 단계;
상기 게임 애플리케이션의 단일 실행 동안에 상기 컴퓨팅 디바이스의 그래픽 드라이버에서, 상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 1 호출을 수신하는 단계로서, 상기 제 1 텍스처에 대한 후속 호출이 뒤따르는, 상기 제 1 호출을 수신하는 단계;
상기 제 1 호출에 응답하여:
상기 컴퓨팅 디바이스의 그래픽 프로세서에 의해, 상기 제 1 텍스처를 제 1 비디오 오브젝트 상에 텍스처 맵핑하는 단계, 및
상기 그래픽 프로세서에 의해, 상기 컴퓨팅 디바이스의 상기 디스플레이상에, 맵핑된 상기 제 1 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 단계; 및
상기 후속 호출에 응답하여:
상기 그래픽 드라이버에 의해, 상기 컴퓨팅 디바이스에 저장된 하나 이상의 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 1 대체 텍스처를 선택하는 단계로서, 상기 광고 룰들은 상이한 대체 텍스처들로 하여금 게임플레이 동안에 발생한 상황들에 기초하여 선택되도록 하는, 상기 제 1 대체 텍스처를 선택하는 단계,
상기 그래픽 프로세서에 의해, 상기 제 1 대체 텍스처를 상기 제 1 비디오 오브젝트 상에 텍스처 맵핑하는 단계, 및
상기 그래픽 프로세서에 의해, 상기 컴퓨팅 디바이스의 상기 디스플레이상에, 상기 제 1 텍스처 대신에 맵핑된 상기 제 1 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체. - 제 34 항에 있어서,
상기 프로그램 코드가 구현하는 상기 방법은, 상기 제 1 대체 텍스처를 이용하여 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는 단계를 더 포함하는, 컴퓨터 판독가능 저장 매체. - 제 34 항에 있어서,
상기 컴퓨터 프로그램 코드가 구현하는 상기 방법은,
상기 제 1 텍스처에 대한 상기 게임 애플리케이션으로부터의 제 2 후속 호출을 수신하는 단계;
상기 제 2 후속 호출에 응답하고 및 상기 광고 룰들에 따라, 상기 대체 텍스처들 중에서 제 2 대체 텍스처를 선택하는 단계; 및
상기 제 1 텍스처 대신에 맵핑된 상기 제 2 대체 텍스처를 갖는 상기 제 1 비디오 오브젝트를 디스플레이하는 단계를 더 포함하고,
상기 제 2 대체 텍스처는 텍스처 맵핑에 의한 적어도 하나의 특수 효과를 생성하는, 컴퓨터 판독가능 저장 매체. - 제 34 항에 있어서,
상기 연관들은 대체 텍스처 데이터 베이스에 저장되고, 상기 제 1 텍스처를 대체하기 위해 선택될 수 있는 상기 대체 텍스처들은 상기 제 1 텍스처의 식별자와 연관되는, 컴퓨터 판독가능 저장 매체. - 제 37 항에 있어서,
상기 대체 텍스처 데이터베이스는 상기 게임 애플리케이션에 의해 제공되는, 컴퓨터 판독가능 저장 매체. - 제 37 항에 있어서,
상기 대체 텍스처 데이터베이스는, 적어도 하나의 텍스처에 대한 게임플레이 환경을 나타내는 장면 타입을 식별하는 상기 적어도 하나의 텍스처를 포함하는, 컴퓨터 판독가능 저장 매체. - 제 37 항에 있어서,
상기 프로그램 코드가 구현하는 상기 방법은, 미리 구성된 해시 테이블들을 이용하여, 상기 대체 텍스처들에 대응되는 텍스처 정보를 유도하는 단계를 더 포함하는, 컴퓨터 판독가능 저장 매체. - 제 40 항에 있어서,
상기 텍스처 정보는 표면 텍스처 또는 컬러를 포함하는, 컴퓨터 판독가능 저장 매체. - 제 41 항에 있어서,
상기 표면 텍스처는 비트맵 또는 래스터 이미지를 포함하는, 컴퓨터 판독가능 저장 매체. - 제 34 항에 있어서,
상기 디스플레이상에 상기 제 1 대체 텍스처의 크기 또는 상기 제 1 대체 텍스처가 제 2 비디오 오브젝트에 의해 불명료하게 되는 양 중 적어도 하나에 기초하여 상기 제 1 대체 텍스처가 상기 디스플레이상에서 가시적인 정도를 결정하는 단계; 및
상기 제 1 대체 텍스처가 임계 가시성을 충족시키는지 결정하는 것에 응답하여, 상기 제 1 대체 텍스처가 완전히 가시적인 시간들의 횟수 또는 시간의 길이 중 적어도 하나를 결정하기 위해 게임플레이 동안에 상기 제 1 대체 텍스처를 추적하는 단계를 더 포함하는 컴퓨터 판독가능 저장 매체. - 제 43 항에 있어서,
상기 제 1 대체 텍스처가 디스플레이되는 동안에 사용자 선택되었음을 결정하는 것에 응답하여, 상기 제 1 대체 텍스처와 연관된 웹 페이지를 디스플레이하는 단계로서, 상기 제 1 대체 텍스처는 상기 임계 가시성을 충족시키지 않고 사용자 선택될 수 있는, 상기 웹 페이지를 디스플레이하는 단계를 더 포함하는 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161450308P | 2011-03-08 | 2011-03-08 | |
US61/450,308 | 2011-03-08 | ||
US13/181,389 US20120232988A1 (en) | 2011-03-08 | 2011-07-12 | Method and system for generating dynamic ads within a video game of a portable computing device |
US13/181,389 | 2011-07-12 | ||
PCT/US2012/027539 WO2012122033A1 (en) | 2011-03-08 | 2012-03-02 | Method and system for generating dynamic ads within a video game of a portable computing device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167002989A Division KR20160021302A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180021936A true KR20180021936A (ko) | 2018-03-05 |
Family
ID=46796929
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167002989A KR20160021302A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
KR20137026672A KR20130130074A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
KR1020187018022A KR20180073721A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
KR1020187005341A KR20180021936A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
KR1020167002990A KR20160021303A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167002989A KR20160021302A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
KR20137026672A KR20130130074A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
KR1020187018022A KR20180073721A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167002990A KR20160021303A (ko) | 2011-03-08 | 2012-03-02 | 휴대용 컴퓨팅 디바이스의 비디오 게임 내에 동적 광고들을 생성하는 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20120232988A1 (ko) |
EP (1) | EP2684171A1 (ko) |
JP (1) | JP6148181B2 (ko) |
KR (5) | KR20160021302A (ko) |
CN (1) | CN103460234B (ko) |
WO (1) | WO2012122033A1 (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278183A1 (en) * | 2011-03-31 | 2012-11-01 | Fortuna Joseph A | Scripting language, method and system for delivering platform-independent dynamically interpreted and rendered interactive content, and for measuring the degree and nature of user interaction therewith |
US8409000B1 (en) * | 2012-03-09 | 2013-04-02 | Hulu Llc | Configuring advertisements in a video segment based on a game result |
US20130311273A1 (en) * | 2012-05-15 | 2013-11-21 | Nvidia Corporation | Advertisement system with advertisement selection rules engine |
DE112013005689T5 (de) | 2012-11-28 | 2015-09-10 | Nvidia Corporation | Tragbare Spielekonsole |
US11082490B2 (en) | 2012-11-28 | 2021-08-03 | Nvidia Corporation | Method and apparatus for execution of applications in a cloud system |
US9830621B2 (en) | 2013-03-14 | 2017-11-28 | Vdopia Inc. | Systems and methods for layering content |
WO2014145141A1 (en) * | 2013-03-15 | 2014-09-18 | Brightroll, Inc. | Mobile creative management system |
US9842532B2 (en) | 2013-09-09 | 2017-12-12 | Nvidia Corporation | Remote display rendering for electronic devices |
JP2015187795A (ja) * | 2014-03-27 | 2015-10-29 | 株式会社ジオ技術研究所 | 画像表示システム |
US20150350292A1 (en) * | 2014-05-28 | 2015-12-03 | Check-net Application Ltd | Site management platform |
US10109261B2 (en) * | 2014-09-22 | 2018-10-23 | Mitsubishi Electric Corporation | Information display control system and method of mapping elemental images into a texture atlas |
US10002449B2 (en) * | 2015-04-16 | 2018-06-19 | Sap Se | Responsive and adaptive chart controls |
CN107615324A (zh) * | 2015-05-15 | 2018-01-19 | 罗伯托·龙基略 | 用于在交互式环境中提供广告的系统和方法 |
CN106683593A (zh) * | 2015-11-06 | 2017-05-17 | 沈维 | 一种具有编码信息的广告牌 |
JP6378305B2 (ja) * | 2016-12-28 | 2018-08-22 | 株式会社バンダイナムコエンターテインメント | コンピュータシステム、ゲームシステム及びゲーム装置 |
US11682045B2 (en) | 2017-06-28 | 2023-06-20 | Samsung Electronics Co., Ltd. | Augmented reality advertisements on objects |
EP3675015A4 (en) * | 2017-08-24 | 2021-01-13 | GungHo Online Entertainment, Inc. | TERMINAL DEVICE, PROGRAM AND PROCEDURE |
WO2019172541A1 (en) | 2018-03-05 | 2019-09-12 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
CN109671147B (zh) * | 2018-12-27 | 2023-09-26 | 网易(杭州)网络有限公司 | 基于三维模型的纹理贴图生成方法及装置 |
JP7296735B2 (ja) * | 2019-01-23 | 2023-06-23 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
DE102019003041B4 (de) | 2019-04-26 | 2020-11-12 | e.solutions GmbH | Verfahren und Vorrichtung zum Anzeigen eines Zeigers in einer Instrumententafel und Fahrzeug mit einer Anzeigevorrichtung |
JP7106133B2 (ja) * | 2019-07-08 | 2022-07-26 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム装置のプログラム、ゲーム装置の制御方法、及び、配信システム |
JP7072177B2 (ja) * | 2020-04-02 | 2022-05-20 | 株式会社カプコン | 情報処理装置およびプログラム |
US11720921B2 (en) | 2020-08-13 | 2023-08-08 | Kochava Inc. | Visual indication presentation and interaction processing systems and methods |
US20230281918A1 (en) * | 2022-03-04 | 2023-09-07 | Bidstack Group PLC | Viewability testing in the presence of fine-scale occluders |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3645024B2 (ja) * | 1996-02-06 | 2005-05-11 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置及び描画方法 |
JP2001331813A (ja) * | 2000-05-22 | 2001-11-30 | Wall:Kk | 三次元都市における看板画像生成装置及び方法 |
US6616533B1 (en) * | 2000-05-31 | 2003-09-09 | Intel Corporation | Providing advertising with video games |
US9047609B2 (en) * | 2000-11-29 | 2015-06-02 | Noatak Software Llc | Method and system for dynamically incorporating advertising content into multimedia environments |
US7805680B2 (en) * | 2001-01-03 | 2010-09-28 | Nokia Corporation | Statistical metering and filtering of content via pixel-based metadata |
US8751310B2 (en) * | 2005-09-30 | 2014-06-10 | Sony Computer Entertainment America Llc | Monitoring advertisement impressions |
JP3321151B1 (ja) * | 2001-06-29 | 2002-09-03 | コナミ株式会社 | ゲーム広告課金システム、プログラム及びゲーム広告課金方法 |
US20030107580A1 (en) * | 2001-12-12 | 2003-06-12 | Stmicroelectronics, Inc. | Dynamic mapping of texture maps onto three dimensional objects |
US8608548B2 (en) * | 2002-06-12 | 2013-12-17 | Igt | Intelligent wagering token and wagering token tracking techniques |
TWI249144B (en) * | 2003-02-21 | 2006-02-11 | Via Tech Inc | Single level MIP filtering algorithm for anisotropic texturing |
CA2558579A1 (en) * | 2004-03-08 | 2005-09-22 | Massive Incorporated | Delivery of advertising into multiple video games |
JP2006195882A (ja) * | 2005-01-17 | 2006-07-27 | Namco Bandai Games Inc | プログラム、情報記憶媒体、及び画像生成システム |
CN1838167A (zh) * | 2005-03-21 | 2006-09-27 | 华为技术有限公司 | 一种移动网络游戏中的广告实现方法及其系统和游戏平台 |
US20080140481A1 (en) * | 2006-12-06 | 2008-06-12 | Josh Todd Gold | Method and system for generating advertisement |
CN101330397B (zh) * | 2008-07-01 | 2013-04-17 | 腾讯科技(深圳)有限公司 | 向游戏客户端推送广告的方法及系统 |
CN101359391A (zh) * | 2008-07-25 | 2009-02-04 | 腾讯科技(深圳)有限公司 | 向游戏客户端推送广告主题包的方法、系统及服务器 |
US8407090B2 (en) * | 2008-11-25 | 2013-03-26 | Skyworks Ventures, Inc. | Dynamic reassignment of advertisement placements to maximize impression count |
US20100332319A1 (en) * | 2009-06-24 | 2010-12-30 | Craig Stephen Etchegoyen | Methods and Systems for Dynamic Serving of Advertisements in a Game or Virtual Reality Environment |
-
2011
- 2011-07-12 US US13/181,389 patent/US20120232988A1/en not_active Abandoned
-
2012
- 2012-03-02 WO PCT/US2012/027539 patent/WO2012122033A1/en unknown
- 2012-03-02 CN CN201280016190.5A patent/CN103460234B/zh not_active Expired - Fee Related
- 2012-03-02 JP JP2013557772A patent/JP6148181B2/ja not_active Expired - Fee Related
- 2012-03-02 KR KR1020167002989A patent/KR20160021302A/ko active Application Filing
- 2012-03-02 EP EP12711053.4A patent/EP2684171A1/en not_active Withdrawn
- 2012-03-02 KR KR20137026672A patent/KR20130130074A/ko active Application Filing
- 2012-03-02 KR KR1020187018022A patent/KR20180073721A/ko active IP Right Grant
- 2012-03-02 KR KR1020187005341A patent/KR20180021936A/ko active IP Right Grant
- 2012-03-02 KR KR1020167002990A patent/KR20160021303A/ko active Application Filing
-
2013
- 2013-06-22 US US13/924,548 patent/US20130278734A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR20130130074A (ko) | 2013-11-29 |
KR20160021302A (ko) | 2016-02-24 |
KR20160021303A (ko) | 2016-02-24 |
US20120232988A1 (en) | 2012-09-13 |
CN103460234A (zh) | 2013-12-18 |
KR20180073721A (ko) | 2018-07-02 |
CN103460234B (zh) | 2018-01-23 |
EP2684171A1 (en) | 2014-01-15 |
WO2012122033A1 (en) | 2012-09-13 |
JP2014514595A (ja) | 2014-06-19 |
US20130278734A1 (en) | 2013-10-24 |
JP6148181B2 (ja) | 2017-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6148181B2 (ja) | ポータブルコンピューティングデバイスのビデオゲーム内で動的な広告を生成するための方法およびシステム | |
US7729946B2 (en) | Online game advertising system | |
US8075398B2 (en) | Independently-defined alteration of output from software executable using distributed alteration engine | |
US8328640B2 (en) | Dynamic advertising system for interactive games | |
US20130311303A1 (en) | Advertisement system with auction/bidding for advertisement placement opportunities | |
US8593453B2 (en) | Monitoring user attention in a computer-simulated environment | |
US20110159961A1 (en) | Networked game terminal | |
US20090300144A1 (en) | Hint-based streaming of auxiliary content assets for an interactive environment | |
US20100205035A1 (en) | Providing Advertisements in Virtual Environments | |
US20070038514A1 (en) | Bid-based delivery of advertising promotions on internet-connected media players | |
US20100164989A1 (en) | System and method for manipulating adverts and interactive | |
US20100100429A1 (en) | Systems and methods for using world-space coordinates of ad objects and camera information for adverstising within a vitrtual environment | |
JP2013218343A (ja) | 対話型環境において広告印象の数を増やす方法 | |
CN108170498B (zh) | 页面内容展示方法及装置 | |
US12051169B2 (en) | Interactive engagement portals within virtual experiences | |
US20240086964A1 (en) | Interactive digital advertising within virtual experiences | |
US20220207787A1 (en) | Method and system for inserting secondary multimedia information relative to primary multimedia information | |
CN116777527A (zh) | 内容展示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |