KR102096300B1 - 출력 데이터 제공 서버 및 출력 데이터 제공 방법 - Google Patents

출력 데이터 제공 서버 및 출력 데이터 제공 방법 Download PDF

Info

Publication number
KR102096300B1
KR102096300B1 KR1020157034662A KR20157034662A KR102096300B1 KR 102096300 B1 KR102096300 B1 KR 102096300B1 KR 1020157034662 A KR1020157034662 A KR 1020157034662A KR 20157034662 A KR20157034662 A KR 20157034662A KR 102096300 B1 KR102096300 B1 KR 102096300B1
Authority
KR
South Korea
Prior art keywords
output data
information processing
data
unit
client terminal
Prior art date
Application number
KR1020157034662A
Other languages
English (en)
Other versions
KR20160018523A (ko
Inventor
카즈키 오하라
카즈시 요시다
Original Assignee
주식회사 소니 인터랙티브 엔터테인먼트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 소니 인터랙티브 엔터테인먼트 filed Critical 주식회사 소니 인터랙티브 엔터테인먼트
Publication of KR20160018523A publication Critical patent/KR20160018523A/ko
Application granted granted Critical
Publication of KR102096300B1 publication Critical patent/KR102096300B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • H04L67/38
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • 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/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • 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/67Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • 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/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/42

Abstract

서버(30b)의 입력 정보 수신 유닛(32)은 클라이언트 단말(10)로부터 사용자 조작에 관한 입력 정보를 수신하고, 시간과 함께 입력 정보를 입력 정보 저장 유닛(42)에 기록한다. 정보 처리 유닛(36)은 입력 정보를 기초로 하여 즉시 정보 처리를 수행하고, 인코딩 유닛(38)은 생성된 일차 출력 데이터를 인코딩하고, 데이터 전송 유닛(40)은 클라이언트 단말(10)에 인코딩된 데이터를 전송한다. 조정부(52)는 통신 상황 모니터링 유닛(50)에 의해 모니터링된 통신 상황에 응답하여 언제든지 인코드 매개변수 및 처리 컨텐트들을 조정하고, 시간과 함께 조정 이력을 조정 이력 저장 유닛(54)에 기록한다. 리소스들에 공간이 있는 기간 내에, 정보 처리 및 인코딩이 이차 데이터 생성 지시 유닛(34)으로부터의 지시에 따라 기록된 입력 정보 및 조정 이력을 사용하여 고 품질로 다시 수행되고, 생성된 이차 데이터는 출력 데이터 저장 유닛(46)에 저장된다.

Description

출력 데이터 제공 서버 및 출력 데이터 제공 방법{OUTPUT DATA PROVIDING SERVER AND OUTPUT DATA PROVIDING METHOD}
본 발명은 정보 처리 서비스를 제공하기 위해 네트워크를 이용하는 기술에 관한 것이다.
최근 몇 년 동안의 정보 처리 기술들의 발전 및 네트워크의 강화 덕분에, 개인용 컴퓨터, 휴대용 단말 등과 같은 사용자에 의해 조작되는 장치의 사용자 환경 또는 성능에 의존하지 않고 서버와의 협력을 통해 다양한 정보 처리를 구현하는 것이 가능해졌다. 예를 들어, 간단한 구성의 휴대용 단말조차도 고급 정보(예를 들어, PTL 1 참조)를 출력할 수 있도록 사용자에 의해 조작되는 단말 및 단말과 관련된 정보 처리를 수행하는 정보 처리 장치가 서로 분리되는 기술이 제안되었다. 클라우드 컴퓨팅과 같은 네트워크를 통해 서버에 의해 제공되는 다양한 서비스를 이용함으로써, 사용자가 놓인 환경에 의존하지 않고 고급 정보 처리 및 거대한 데이터 관리를 구현할 수 있도록 하기 위한 기술적 추세가 점점 증가하고 있다.
PTL 1: 일본 특허 공개 제2010-20159호
전술한 바와 같은 기술에서 출력까지 조작(operation) 후 응답성(responsiveness) 및 단말 측에 표시되는 이미지와 같은 출력 데이터의 품질 모두를 만족시키는 것은 하나의 정보 처리 장치에서의 처리와 비교하여 더 어렵다. 특히, 단말과 서버 간의 통신 대역이 변수 매개변수로서 추가되기 때문에, 통신 상황의 변화에 의존하지 않고 응답성을 유지하기 위해서는 불가피하게 화상 품질(picture quality)을 충분히 낮추고 데이터 크기를 정상적으로 억제할 필요가 있다. 응답성이 특히 중요한 게임 등에서의 정보 처리에서, 응답성의 유지는 적절한 타이밍에서 조작이 수행되지만 조작 오류로 판단되고, 이것이 출력 데이터의 품질이 희생되어야 하는 딜레마를 일으키는 문제를 피하기 위해 특히 중요하다.
본 발명은 전술한 문제를 고려하여 이루어졌고, 본 발명의 목적은 서버가 네트워크를 통해 정보 처리 서비스를 제공하는 환경에서 출력 데이터의 응답성 및 품질을 모두 만족시킬 수 있는 기술을 제공하는 것이다.
본 발명의 모드는 출력 데이터 제공 서버에 관한 것이다. 출력 데이터 제공 서버는 정보 처리를 수행하기 위해 네트워크를 통해 클라이언트 단말에 접속하여 클라이언트 단말에서 사용자 조작에 관한 정보를 수신한 후, 출력 데이터를 요청하는 클라이언트 단말에 정보 처리의 결과로서 획득된 출력 데이터를 전송하는 출력 데이터 제공 서버로서, 입력 정보로서 사용자 조작에 관한 정보를 획득하도록 구성되는 입력 정보 수신 유닛, 입력 정보의 이력을 저장하도록 구성되는 입력 정보 저장 유닛, 사용자 조작에 응답하여 전송될 일차 출력 데이터를 생성하기 위해 입력 정보 수신 유닛에 의해 획득된 입력 정보를 기초로 하여 정보 처리를 즉시 수행하고, 이차 출력 데이터로서 출력 데이터를 재생성하기 위해 입력 정보 저장 유닛으로부터 판독된 입력 정보의 이력을 기초로 하여 제2 시간 동안 정보 처리를 수행하도록 구성되는 정보 처리 유닛, 이차 출력 데이터를 저장하도록 구성되는 출력 데이터 저장 유닛, 및 요청에 따라 클라이언트 단말에 정보 처리 유닛에 의해 생성된 일차 출력 데이터 또는 출력 데이터 저장 유닛으로부터 판독된 이차 출력 데이터를 전송하도록 구성되는 데이터 전송 유닛을 포함한다.
또한, 본 발명의 다른 모드는 출력 데이터 제공 서버에 관한 것이다. 출력 데이터 제공 서버는 정보 처리를 수행하기 위해 네트워크를 통해 클라이언트 단말에 접속하여 클라이언트 단말에서 사용자 조작에 관한 정보를 수신한 후, 출력 데이터를 요청하는 클라이언트 단말에 정보 처리의 결과로서 획득된 출력 데이터를 전송하는 출력 데이터 제공 서버로서, 입력 정보로서 사용자 조작에 관한 정보를 획득하도록 구성되는 입력 정보 수신 유닛, 출력 데이터를 생성하기 위해 입력 정보를 기초로 하여 정보 처리를 수행하도록 구성되는 정보 처리 유닛, 및 출력 데이터를 클라이언트 단말에 전송하도록 구성되는 데이터 전송 유닛을 포함한다. 정보 처리 유닛은 클라이언트 단말과의 통신 상황에 응답하여 정보 처리의 컨텐트들 및 출력 데이터의 품질 중 적어도 하나를 적응적으로 조정한다.
본 발명의 또 다른 모드는 출력 데이터 제공 방법에 관한 것이다. 출력 데이터 제공 방법은 서버가 정보 처리를 수행하기 위해 네트워크를 통해 클라이언트 단말에 접속하여 클라이언트 단말에서 사용자 조작에 관한 정보를 수신한 후, 출력 데이터를 요청하는 클라이언트 단말에 정보 처리의 결과로서 획득된 출력 데이터를 전송하는 출력 데이터 제공 방법으로서, 입력 정보로서 사용자 조작에 관한 정보를 획득하는 단계, 입력 정보의 이력을 메모리에 저장하는 단계, 사용자 조작에 응답하여 전송될 일차 출력 데이터를 생성하기 위해 입력 정보를 기초로 하여 정보 처리를 즉시 수행하고, 생성된 데이터를 클라이언트 단말에 전송하는 단계, 이차 출력 데이터로서 출력 데이터를 재생성하기 위해 메모리로부터 판독된 입력 정보의 이력을 기초로 하여 제2 시간 동안 정보 처리를 수행하고, 이차 출력 데이터를 저장 장치에 저장하는 단계, 및 요청에 따라 클라이언트 단말에 저장 장치로부터 판독된 이차 출력 데이터를 전송하는 단계를 포함한다.
또한, 본 발명의 또 다른 모드는 출력 데이터 제공 방법에 관한 것이다. 출력 데이터 제공 방법은 서버가 정보 처리를 수행하기 위해 네트워크를 통해 클라이언트 단말에 접속하여 클라이언트 단말에서 사용자 조작에 관한 정보를 수신한 후, 출력 데이터를 요청하는 클라이언트 단말에 정보 처리의 결과로서 획득된 출력 데이터를 전송하는 출력 데이터 제공 방법으로서, 입력 정보로서 사용자 조작에 관한 정보를 획득하는 단계, 출력 데이터를 생성하기 위해 입력 정보를 기초로 하여 정보 처리를 수행하는 단계, 및 출력 데이터를 클라이언트 단말에 전송하는 단계를 포함한다. 출력 데이터를 생성하는 단계는 클라이언트 단말과의 통신 상황에 응답하여 정보 처리의 컨텐트들 및 출력 데이터의 품질 중 적어도 하나를 적응적으로 조정한다.
또한, 전술한 구성 요소들의 임의의 조합들 및 방법, 장치, 시스템, 컴퓨터 프로그램 등의 사이에서 이들의 변환에 의해 획득되는 본 발명의 표현들은 본 발명의 모드로서 효과적이라는 것을 유의해야 한다.
본 발명에 의해, 상황에 응답하여 네트워크를 통한 정보 처리 서비스 제공이 최적의 상태에서 수행될 수 있다.
도 1은 일 실시예에 따른 정보 처리 시스템의 구성을 도시하는 도면이다.
도 2는 본 실시예의 클라이언트 및 서버의 구성을 더 상세하게 도시하는 도면이다.
도 3은 본 실시예에서 게임 실행 기간 동안 클라이언트 단말 및 서버가 게임을 진행하는 처리 절차를 도시하는 흐름도이다.
도 4는 본 실시예에서 입력 정보 저장 유닛에 저장된 입력 정보 파일의 데이터 구조의 일 예를 도시하는 도면이다.
도 5는 본 실시예에서 서버가 이차 데이터를 생성하는 처리 절차를 도시하는 흐름도이다.
도 6은 본 실시예에서 게임 플레이가 재생될 때 클라이언트 단말 및 서버의 처리 절차를 도시하는 흐름도이다.
도 7은 본 실시예에서 게임 실행 기간 내에 통신 상황에 응답하여 정보 처리 및 인코딩 처리를 조정하는 기능을 더 포함하는 서버의 구성을 특별히 도시하는 도면이다.
도 8은 본 실시예에서 서버가 통신 상황에 응답하여 조정을 수행하는 동안 정보 처리를 수행할 때의 처리 절차를 도시하는 흐름도이다.
도 9는 본 실시예에서 조정부에 의해 수행되는 처리 컨텐트들의 조정을 질적으로 도시하는 도면이다.
도 10은 본 실시예에서 조정 컨텐트들이 이차 데이터 생성 시에 재생될 때 서버의 처리 절차를 도시하는 흐름도이다.
도 11은 본 실시예에서 조정 컨텐트들이 표시되는 이차 데이터의 이미지의 일 예를 도시하는 도면이다.
도 12는 본 실시예에서 게임의 실행 동안 조작 타이밍을 재촉하도록 사용자를 촉구하는 표시 이미지인 게임 이미지의 일 예를 도시하는 도면이다.
도 13은 본 실시예에서 인코드 매개변수가 조정되는 모드를 도시하는 도면이다.
도 1은 일 실시예에 따른 정보 처리 시스템의 구성을 도시한다. 정보 처리 시스템(1)에는, 클라이언트 단말들(10a, 10b 및 10c)이 네트워크(3)를 통해 서버(30)에 접속하기 위해 구성되고, 서버(30)로부터 및 서버(30)로의 데이터 전송을 수행한다. 서버(30)는 클라이언트 단말들(10a, 10b 및 10c)로부터의 요청에 응답하여 정보 처리를 수행하고, 클라이언트 단말들(10a, 10b 및 10c)에 정보 처리의 결과로서 생성되는 출력 데이터를 전송한다. 클라이언트 단말들(10a, 10b 및 10c) 및 서버(30)는 유선 접속 또는 무선 접속에 의해 네트워크(3)에 대한 접속을 확립한다. 일반적으로 사용 가능한 기술들이 클라이언트 단말들(10a, 10b 및 10c)과 서버(30) 간의 접속 기술, 및 정보 처리 및 출력 데이터의 전송을 요청하기 위한 절차에 적용될 수 있다.
클라이언트 단말들(10a, 10b 및 10c)은 각각의 사용자들에 의해 조작되는 장치이다. 클라이언트 단말들(10a, 10b 및 10c) 각각은 입력 정보로서 사용자에 의해 수행되는 조작을 서버(30)에 전송하고, 입력 정보에 대응하는 정보 처리에 대한 요청을 제기하고, 서버(30)에 의해 수행된 정보 처리의 결과로서 생성된 출력 데이터를 이미지 또는 사운드로서 출력한다. 클라이언트 단말들(10a, 10b 및 10c)은 각각 태블릿, 휴대용 전화 세트, 휴대용 단말, 또는 개인용 컴퓨터와 같은 단말들 및 일반적인 장치 중 어느 하나일 수 있다. 네트워크(3)에 접속될 클라이언트 단말들(10a, 10b 및 10c) 및 서버(30)의 개수는 특별히 한정되지 않는다는 것을 유의해야 한다. 다음의 설명에서, 클라이언트 단말들(10a, 10b 및 10c)은 통틀어 클라이언트 단말(10)로서 언급된다.
클라이언트 단말(10)에 의해 서버(30)에 요청되는 정보 처리가 특별히 한정되지는 않지만, 다음의 설명에서는 게임을 구현하는 모드가 주로 기술된다. 특히, 서버(30)는 임의의 클라이언트 단말(10)에서 사용자에 의해 지정된 게임을 시작하고, 클라이언트 단말(10)에서 사용자의 조작에 따라 게임을 진행한다. 이후, 서버(30)는 게임의 진행에 응답하여 생성된 게임의 이미지 또는 사운드와 같은 출력 데이터를 클라이언트 단말(10)에 연속적으로 전송한다. 클라이언트 단말(10)은 디코딩 등에 의해 서버(30)로부터 전송된 출력 데이터를 데이터가 출력될 수 있는 형태의 데이터로 연속적으로 변환한 후, 이미지 또는 사운드로서 데이터를 출력한다.
결과적으로, 사용자의 조작에 대응하는 게임 화면 이미지 및 사운드가 클라이언트 단말(10)로부터 출력된다. 이러한 구성은 컨텐트 데이터로서, 사용자의 조작에 응답하여 컨텐트들이 변경되는 동화상(moving picture)의 데이터를 전송하는 서비스를 제공하는 것으로 고려된다. 그러나, 서버(30)에 의해 수행될 정보 처리가 게임이 아니라 문서 작성, 이미지 렌더링, 또는 전자 게시판 등의 통신 도구들과 같은 일반적인 정보 처리들 중 하나일 수 있다. 또한, 후술에서는 출력 데이터가 시간 축에 대하여 연속적으로 생성되는 이미지 프레임 시퀀스로부터 구성되는 동화상의 데이터라고 가정한다. 그러나, 출력 데이터는 사운드 데이터를 또한 포함할 수 있다.
또한, 서버(30)는 복수의 사용자들이 이미지 데이터를 공유할 수 있도록 복수의 클라이언트 단말(10)에 동일한 이미지 데이터를 전송한다. 예를 들어, 수행될 정보 처리가 복수의 사용자들이 참여할 수 있는 네트워크 게임이면, 서버(30)는 복수의 클라이언트 단말(10)로부터 각각의 사용자들의 조작에 관한 정보를 연속적으로 수신하고, 게임의 진행에 수신된 정보를 반영한다. 이후, 게임의 생성된 이미지 데이터는 또한 경쟁 게임을 구현하기 위해 클라이언트 단말(10)들에 모두 전송된다.
이러한 방식으로, 본 실시예에서, 정보 처리 시스템은 기본적으로 서버(30)가 클라이언트 단말(10)의 개수와 관계 없이 클라이언트 단말(10)에서의 사용자들의 조작 컨텐트들을 나타내는 입력 정보를 연속적으로 수신하고, 실시간 기준으로 이미지 데이터를 생성하고, 조작에 대응하는 이미지가 클라이언트 단말(10)에 표시되도록 클라이언트 단말(10)에 이미지 데이터를 전송하도록 구성된다. 또한, 서버(30)는 게임에 참여하는 사용자들뿐만 아니라 단지 게임을 시청하고자 하는 사용자 또는 나중에 게임의 방식을 평가하고자 하는 사용자들의 클라이언트 단말(10)에도 생성된 이미지 데이터를 전송한다. 이로 인해, 자신의 게임 플레이 또는 다른 사람의 게임 플레이가 시간 및 장소와 관계 없이 복수의 사용자들에 의해 공유될 수 있다.
전술한 바와 같은 모드에서, 사용자들에 의한 조작들의 빈도가 높거나, 조작 타이밍이 스코어에 관한 것인 게임에서는, 네트워크(3)에서의 통신 상황에 의존하는 응답성의 변화에 의해 사용자에게 높은 스트레스가 제공된다. 또한, 통신 상황의 악화가 이미지 정지 또는 프레임 누락이 발생하는 것과 같은 불이익을 일으키는 일이 때때로 발생할 수 있다. 이러한 문제는 압축 후의 이미지 또는 데이터의 품질이 높아질때 현실화된다.
따라서, 본 실시예에서는, 게임의 실행 시, 플레이어인 사용자의 조작에 관한 스트레스를 완화시키기 위해 이미지 표시의 응답성에 가장 높은 순위가 제공된다. 특히, 화질(picture quality)은 강건성이 통신 상황의 변화에 제공되는 동안 어느 정도 억제된다. 반면에, 동화상이 게임의 종료 후 게시되는 단계에서는 어떠한 조작 및 응답성도 요구되지 않는다는 사실을 이용하여 화질이 우선적으로 처리된다. 이를 구현하기 위해, 서버(30)는 게임 종료 후 이미지 데이터를 재생성하기 위해 실제 게임 플레이에서와 마찬가지로 다시 게임을 실행한다. 결과적으로, 게시 동안 이미지 데이터에 대해 고 품질이 보장된다. 후술에서는, 사용자의 조작에 응답하여 실시간 기준으로 생성되는 이미지 데이터는 "일차 데이터"로 언급되고, 게임 종료 후에 재생성되는 이미지 데이터는 "이차 데이터"로 언급된다.
도 2는 클라이언트 단말(10) 및 서버(30)의 구성을 더 구체적으로 도시한다. 가능한 한 후술에서 서버(30)들과 구별하기 위해, 도 2의 서버는 서버(30a)로 나타낸다. 각각의 클라이언트 단말(10)은 사용자 조작을 허용하는 입력 유닛(12), 입력 정보로서 허용된 조작의 컨텐트들을 서버(30)에 전송하는 입력 정보 전송 유닛(14), 서버(30)로부터 전송되는 이미지 데이터를 수신하는 데이터 수신 데이터(16), 이미지 데이터를 디코딩하는 디코딩 유닛(18), 및 이미지를 표시하는 표시 유닛(20)을 포함한다.
서버(30a)는 클라이언트 단말(10)로부터 사용자에 의한 입력 정보를 수신하는 입력 정보 수신 유닛(32), 클라이언트 단말(10)로부터 요청되는 게임 등의 정보 처리를 수행하는 정보 처리 유닛(36), 이미지 처리의 결과로서 생성되는 이미지의 데이터를 인코딩하는 인코딩 유닛(38), 및 인코딩 후의 이미지 데이터를 클라이언트 단말(10)에 전송하는 데이터 전송 데이터(40)를 포함한다.
또한, 서버(30a)는 입력 시간과 관련하여 클라이언트 단말(10)로부터의 입력 정보를 저장하는 입력 정보 저장 유닛(42), 사용자가 게임을 저장하고 중단시킬 때 저장에 관한 정보를 저장하는 저장 데이터 저장 유닛(44), 이차 데이터를 생성하도록 정보 처리 유닛(36) 및 인코딩 유닛(38)에 지시하는 이차 데이터 생성 지시 유닛(34), 및 일차 데이터 및 이차 데이터의 이미지 데이터를 저장하는 출력 데이터 저장 유닛(46)을 포함한다.
도 2 및 후술되는 도 7을 참조하면, 다양한 처리들을 수행하는 기능 블록들로서 기술되는 요소들이 중앙 처리 유닛(CPU), 메모리, 및 다른 LSI들로부터 하드웨어로 구성될 수 있고, 기록 매체 또는 저장 장치에 저장되고, 메모리에서 로딩되는 프로그램 등이 소프트웨어로 구현된다. 따라서, 기능 블록들이 단지 하드웨어로부터, 단지 소프트웨어로부터, 또는 하드웨어와 소프트웨어의 조합으로부터 다양한 형태로 구현될 수 있고, 이들 중 어느 하나에 제한되지 않는다는 것은 당업자들에 의해 인식될 수 있다.
클라이언트 단말(10)의 입력 유닛(12)은 서버(30)에 요청되는 게임을 지정하거나, 게임에 대한 조작을 수행하거나, 명령을 입력하기 위한 사용자에 의한 입력 수단이고, 게임 패드, 버튼, 터치 패널, 키보드, 마우스, 및 조이스틱과 같은 일반적인 입력 장치 중 적어도 하나로부터 구현된다. 입력 정보 전송 유닛(14)은 일반적인 기술에 의해 서버(30)와의 통신을 확립하고, 입력 유닛(12)에 대한 사용자의 조작 컨텐트들을 나타내는 입력 정보의 신호를 생성하고, 서버(30)에 신호를 전송한다.
서버(30)의 입력 정보 수신 유닛(32)은 임의의 클라이언트 단말(10)로부터 전송되는 입력 정보를 수신한다. 정보 처리 유닛(36)은 입력 정보 수신 유닛(32)에 의해 수신되는 입력 정보에 따라 게임 등의 정보 처리를 수행한다. 전술한 바와 같이, 입력 정보는 하나 또는 복수의 클라이언트 단말(10)로부터 연속적으로 전송되고, 정보 처리 유닛(36)은 입력 정보에 응답하여 실시간 기준으로 정보 처리를 진행한다. 임의의 클라이언트 단말(10)의 입력 정보 전송 유닛(14)으로부터의 입력 정보를 서버(30)의 입력 정보 수신 유닛(32) 및 정보 처리 유닛(36)에 즉시 전송함으로써, 정보 처리가 클라이언트 단말(10)의 내부에서 수행되고 있는 것과 같은 방식으로 정보 처리가 수행된다.
일반 에뮬레이션(emulation) 기술이 특정 프로토콜 또는 포맷 및 입력 신호의 해석 방법에 적용될 수 있기 때문에, 이들의 설명은 여기에서 생략된다. 입력 정보 수신 유닛(32)은 입력 정보 파일로서 정보 처리 유닛(36)에 공급되는 입력 정보와 유사한 입력 시간들과 연관되는 정보를 입력 정보 저장 유닛(42)에 저장한다.입력 정보 파일은 각각의 게임 플레이에 대해 생성되고, 게임 플레이의 식별 정보와 연관된다. 여기에서, 게임 플레이의 식별 정보는 이차 데이터를 생성하거나 클라이언트 단말(10)에 대한 전송 타겟을 지정하기 위해 게임 플레이에 고유하게 제공되는 정보이고, 서버(30a)에서 공유된다. 입력 시간은 이차 데이터가 생성될 때 게임의 시작 후 조작들의 타이밍을 추적하기 위해 사용되기 때문에, 게임의 시작 후 시간의 경과 기간, 표준 시간을 나타내는 시간 포인트, 직전 조작 후 시간 간격 등 중 어느 하나일 수 있다.
정보 처리 유닛(36)은 게임 시작 후 게임 종료까지의 게임 실행 기간 내에 일차 데이터로서 게임의 이미지 데이터를 연속적으로 생성하고, 인코딩 유닛(38)에 이미지 데이터를 공급한다. 이미지 데이터는 미리 결정된 프레임 속도를 갖는 일반적인 동화상이거나, 혼합된 방식으로 불규칙적인 시간 간격들에서 스틸 사진 및 동화상들을 포함하는 것과 같은 데이터일 수 있다. 또한, 게임 종료는 게임의 설정에 따라 게임을 종료하는 소위 게임 오버의 시간 포인트이거나 사용자가 그때까지의 데이터를 저장하고 게임 도중에 게임을 중단하기 위한 조작을 수행하는 시간의 포인트일 수 있다.
후자의 경우, 정보 처리 유닛(36)은 저장 데이터 특히 게임의 도달 포인트(저장 포인트), 그 시간의 포인트에서의 점수 등을 게임 플레이의 식별 정보와의 연관 관계에서 저장 데이터 저장 유닛(44)에 저장한다. 사용자가 그때까지의 저장 포인트로부터 게임을 재시작하기 위한 요청을 수행하면, 정보 처리 유닛(36)은 저장 데이터 저장 유닛(44)으로부터 게임 플레이에 관한 식별 정보와 관련된 저장 데이터를 판독하고, 저장 데이터로 게임의 처리를 시작한다. 따라서, 클라이언트 단말(10)에 의해 재시작하는 타겟의 게임의 식별 정보를 기초로 하여 서버(30)에 의해 게임 플레이의 식별 정보를 지정하는 메커니즘이 제공된다.
가장 간단한 메커니즘으로서, 게임 플레이의 식별 정보 자체는 사용자에 의해 직접 선택될 수 있도록 클라이언트 단말 또는 플레이어인 사용자의 식별 정보, 게임명, 마지막 저장 시간 등과 같이 사람에 의해 인식될 수 있고, 게임 플레이에 대해 고유한 정보로부터 구성될 수 있다. 그러나, 다양한 다른 형태들이 가정될 수 있다는 것을 당업자들은 인식할 수 있다. 저장 포인트는 그때까지의 게임 플레이의 종료 포인트이고, 또한 재시작되는 게임 플레이의 시작 포인트라는 것을 유의해야 한다. 따라서, 이차 데이터의 생성을 준비하기 위해, 저장 포인트는 게임 플레이의 후자의 식별 정보와 또한 관련된다.
또한, 정보 처리 유닛(36)은 이전에 수행된 게임 플레이를 재생하고, 다시 이차 데이터로서 게임의 이미지 데이터를 생성하고, 인코딩 유닛(38)에 이차 데이터를 공급한다. 따라서, 이차 데이터 생성 지시 유닛(34)은 정보 처리 유닛(36) 및 인코딩 유닛(38)의 처리 용량을 결정한다, 즉 미리 결정된 기준에 따라 CPU 시간 또는 메모리 용량과 같이 리소스들에 충분한 공간이 있는 지 여부를 결정한다. 이후, 이차 데이터 생성 지시 유닛(34)이 충분한 공간이 있다고 결정하면, 이차 데이터 생성 지시 유닛(34)은 이차 데이터의 생성을 시작하도록 정보 처리 유닛(36) 및 인코딩 유닛(38)에 지시한다.
이차 데이터의 생성 처리는 기본적으로 이차 데이터 생성 타겟의 게임 플레이가 종료된 후에 수행된다. 그러나, 리소스들에 공간이 있다면, 일부 경우에 이차 데이터는 게임 플레이가 수행되는 것과 동시에 생성될 수 있다. 정보 처리 유닛(36) 또는 인코딩 유닛(38)의 처리 용량에 따라서 일부 다른 게임 또는 게임들이 동시에 수행될 수 있다.
이차 데이터 생성 지시 유닛(34)은 이차 데이터가 아직 생성되지 않은 게임 플레이의 식별 정보를 내부 메모리에 유지한다. 이후, 리소스들에 공간이 있다고 결정되면, 이차 데이터 생성 지시 유닛(34)은 선입선출(FIFO)과 같은 미리 결정된 규칙에 따라 이차 데이터 생성 타겟의 게임 플레이를 선택하고, 게임 플레이의 식별 정보를 정보 처리 유닛(36)에 통지한다. 정보 처리 유닛(36)은 입력 정보 저장 유닛(42)으로부터의 게임 플레이의 수신된 식별 정보를 기초로 하여 해당 입력 정보 파일을 판독한다. 또한, 관련 게임 플레이가 저장 포인트로부터 재시작하면, 정보 처리 유닛(36)은 저장 데이터 저장 유닛(44)으로부터 해당 저장 데이터를 판독한다.
이후, 저장 데이터가 판독될 때, 게임의 처리는 저장 포인트로부터 시작되지만, 다른 경우에서는 게임의 처리가 처음부터 시작된다. 게임이 시작된 후, 게임은 입력 정보가 기록된 시간에 대응하는 타이밍에서 입력 정보에 응답하여 프로세스를 수행함으로써 재생된다. 그러나, 이차 데이터 생성 시, 클라이언트 단말(10)에 데이터를 즉시 전송할 필요는 없기 때문에, 처리는 미리 결정하는 배율 등까지 시간 축을 길게 늘임으로써 기간 동안 수행될 수 있다. 또한, 동일한 이유로, 이차 데이터는 일차 데이터보다 높은 화상 품질로 생성될 수 있다. 예를 들어, 이미지의 공간 해상도 및 시간 해상도 중 적어도 하나가 일차 데이터보다 높아질 수 있다.
그러나, 설정에 따라, 이차 데이터의 품질이 반드시 일차 데이터의 품질보다 높아질 수 있는 것은 아니다. 예를 들어, 후술되는 바와 같이, 게임의 응답성이 일차 데이터의 생성에 우선하고 통신 상황에 응답하여 품질이 조정되는 것과 같은 경우에서는, 품질이 기본 설정에서 동일하더라도 이러한 조정이 이차 데이터의 생성에 대해 수행되지 않기 때문에, 품질의 안정성 및 신뢰성은 실질적으로 향상될 수 있다. 또한, 이차 데이터는 클라이언트 단말(10)의 표시의 가정된 크기에 따라 복수의 해상도로 생성될 수 있다.
인코딩 유닛(38)은 정보 처리 유닛(36)으로부터 공급되는 일차 데이터 또는 이차 데이터를 인코딩한다. 또한, 인코딩 유닛(38)에서는, 응답성은 일차 데이터에 대해 우선하고, 데이터의 품질은 이차 데이터에 우선한다. 예를 들어, 이차 데이터의 생성 시, 비트율은 일차 데이터의 생성 시보다 높게 설정된다. 또한, 처리 시간 기간을 더 길게 설정함으로써 품질과 함께 압축 비율을 높이는 것이 가능하다. 정보 처리 유닛(36)으로부터의 출력 데이터가 연속적으로 인코딩될 때, 출력 데이터의 공급 타이밍은 인코딩을 위해 소요되는 시간에 대한 대응 관계에서 정보 처리의 시간 축을 길게 늘임으로써 조정될 수 있다.
인코딩 유닛(38)은 데이터 전송 유닛(40)에 인코딩된 일차 데이터를 연속적으로 공급하고, 게임 플레이의 식별 정보와의 연관 관계에서 출력 데이터 저장 유닛(46)에 인코딩된 일차 데이터를 연속적으로 저장한다. 또한, 이차 데이터가 인코딩될 때, 인코딩 유닛(38)은 인코딩된 이차 데이터를 게임의 식별 정보와의 연관 관계에서 출력 데이터 저장 유닛(46)에 저장한다. 동일한 게임 플레이의 이차 데이터가 생성되기 때문에 일차 데이터에 대한 필요성이 상실되면, 일차 데이터는 출력 데이터 저장 유닛(46)에서 삭제될 수 있다.
정보 처리 유닛(36)에 의해 생성되는 일차 데이터는 출력 데이터 저장 유닛(46)에 직접 저장될 수 있음을 유의해야 한다. 이러한 경우, 인코딩 이전의 일차 데이터는 인코딩 유닛(38)에 의해 인코딩된 후에 출력 데이터 저장 유닛(46)에 이차 데이터로서 저장될 수 있지만, 비트율이 높아지거나 더 긴 처리 시간이 소요된다. 또한, 이러한 처리는 인코딩 유닛(38)의 리소스들에 공간이 있는 시간의 기간 내에 수행될 수 있다. 이것에 의해서도, 높은 압축 비율 및 높은 품질의 데이터가 게임 실행 기간 내에 응답성에 우선 순위를 부여하여 전송되는 일차 데이터로부터 생성될 수 있다. 또한, 전술한 바와 같이 정보 처리 유닛(36)이 게임을 재생할 때 획득되는 이미지 데이터의 품질을 더 향상시킴으로써 획득되는 데이터는 삼차 데이터로서 저장될 수 있다.
데이터 전송 유닛(40)은 게임 실행 기간 내에 인코딩 유닛(38)으로부터 공급되는 일차 데이터를 클라이언트 단말(10)에 연속적으로 전송한다. 특정 전송 처리가 일반적인 기술을 적용함으로써 구현될 수 있다. 또한, 데이터 전송 유닛(40)은 게임 종료 등 후에 클라이언트 단말(10)로부터의 요청에 응답하여 출력 데이터 저장 유닛(46)으로부터 판독된 요청된 게임 플레이의 이미지 데이터를 전송한다. 이때, 게임 플레이의 이차 데이터가 출력 데이터 저장 유닛(46)에 이미 저장되어 있으면, 데이터 전송 유닛(40)은 이차 데이터를 전송하지만, 이차 데이터가 아직 저장되어 있지 않다면, 데이터 전송 유닛(40)은 일차 데이터를 전송한다.
클라이언트 단말(10)의 데이터 수신 유닛(16)은 서버(30a)로부터 전송되는 이미지 데이터를 수신한다. 디코딩 유닛(18)은 수신되는 이미지 데이터를 디코딩 및 압축 해제하고, 도시되지 않은 프레임 메모리에 이들을 이미지로서 전개한다. 디코딩 시의 매개변수들은 전송된 이미지 데이터가 일차 데이터인지 이차 데이터인지 여부에 따라 달라질 수 있는 것으로 고려되기 때문에, 디코딩 유닛(18)은 데이터에 포함된 디코딩 매개변수의 설정 정보에 따라 적절하게 디코딩 조건을 바꾼다.
표시 유닛(20)은 프레임 메모리에서 전개되는 이미지를 표시한다. 따라서, 출력 유닛(26)은 액정 표시 유닛, 유기 EL 표시 유닛, 또는 플라즈마 표시 유닛 등과 같이 이미지를 표시하는 일반적인 표시 유닛, 및 표시 유닛을 제어하는 제어기를 포함한다. 또한, 표시 유닛(20)은 스피커, 이어폰, 또는 헤드폰과 같이 음향 사운드로서 사운드 신호를 출력하는 사운드 출력 장치를 포함할 수 있다.
이제, 전술한 구성에 의해 구현되는 시스템의 조작이 기술된다. 도 3은 클라이언트 단말(10) 및 서버(30a)가 게임 실행 기간 내에 게임을 진행할 때의 처리 절차를 도시하는 흐름도이다. 도 3은 하나의 클라이언트 단말(10) 및 서버(30a)에 의해 처리하는 절차를 도시하지만, 복수의 클라이언트 단말(10)이 동시에 서버(30a)에 접속할 수 있고, 이러한 경우, 복수의 클라이언트 단말(10)은 유사하게 처리를 진행한다. 또한, 데이터의 생성, 전송 및 출력과 같은 처리들이 하나의 단계로서 표현되지만, 단계는 처리 컨텐트들에 따라 시간 폭을 가질 수 있고, 이러한 경우, 처리들은 적절하게 동시에 진행된다고 가정한다. 마찬가지로, 이것은 후술되는 도 5, 도 6 및 도 8의 흐름도에도 적용된다.
우선, 사용자가 클라이언트 단말(10)의 입력 유닛(12)에 게임명 등을 지정함으로써 처리의 시작을 요청하는 조작을 시작하면(S30), 입력 정보 전송 유닛(14)은 처리 시작 요청을 위한 신호를 생성하여 서버(30a)에 전송한다. 이러한 신호는 게임명 및 사용자 및 클라이언트 단말(10)의 식별 정보와 같은 필요 정보를 포함한다. 저장 포인트로부터의 재시작이 요청될 때, 신호는 저장 시간과 같은 재시작 타겟의 게임 플레이를 식별하기 위한 정보를 포함한다.
처리 시작 요청 신호를 수신하는 서버(30a)의 입력 정보 수신 유닛(32)은 해당 게임의 처리를 시작하도록 정보 처리 유닛(36)에 지시하고, 입력 정보 저장 유닛(42)에 저장된 입력 정보 파일을 초기화한다(S31). 특히, 입력 정보 수신 유닛(32)은 게임 플레이의 식별 정보와의 연관 관계에서 입력 정보를 기록하기 위한 새로운 파일을 준비한다. 입력 정보가 게임 시작으로부터의 경과 기간과의 연관 관계에서 기록되어야 한다면, 입력 정보 수신 유닛(32)은 도시되지 않은 타이머를 시작한다.
정보 처리 유닛(36)은 지정된 게임 등의 프로그램을 시작함으로써 처리를 시작한다. 이후, 초기 이미지의 생성된 데이터는 인코딩 유닛(38)에 의해 인코딩되고, 데이터 전송 유닛(40)에 의해 클라이언트 단말(10)에 전송된다(S32). 클라이언트 단말(10)의 데이터 수신 유닛(16)이 초기 이미지의 데이터를 수신할 때, 디코딩 유닛(18)은 데이터를 디코딩하고, 표시 유닛(20)은 디코딩된 데이터를 출력한다. 결과적으로, 초기 이미지는 클라이언트 단말(10)에 표시된다(S34). 초기 이미지의 데이터가 동화상의 데이터와 같이 시간 폭을 갖는 데이터인 경우, S32에서의 전송 처리는 스트림 전송일 수 있고, 클라이언트 단말(10)이 수신된 데이터를 연속적으로 디코딩하여 표시한다는 것을 유의해야 한다.
사용자가 전술한 바와 같은 방식으로 표시되는 초기 이미지를 보면서 입력 유닛(12)에 입력하는 명령과 같은 입력하는 지시를 수행하면, 입력 정보 전송 유닛(14)은 입력 정보를 매번 서버(30a)에 전송한다(S36). 서버(30a)가 정보를 수신할 때, 입력 정보 수신 유닛(32)은 정보를 정보 처리 유닛(36)에 통지하고, 결과적으로, 정보 처리 유닛(36)은 수신된 입력 정보에 대응하는 게임의 처리를 수행한다(S38). 또한, 입력 정보 수신 유닛(32)은 시간과 함께 입력 정보를 입력 정보 저장 유닛(42)에 준비된 입력 정보 파일에 기록한다(S40). 예를 들어, 입력 정보 수신 유닛(32)은 서로의 연관 관계에서 입력 정보 및 자신의 타이머에 의해 측정된 게임 시작으로부터의 경과 시간 기간을 기록한다.
서버(30a)의 인코딩 유닛(38)은 정보 처리 유닛(36)에 의한 게임 처리의 결과로서 생성된 이미지의 데이터를 인코딩한다(S42). 데이터 전송 유닛(40)은 이러한 방식으로 생성된 인코딩 후의 이미지 데이터를 일차 데이터로서 클라이언트 단말(10)에 전송한다(S44). 클라이언트 단말(10)의 데이터 수신 유닛(16)이 이미지 데이터를 수신할 때, 디코딩 유닛(18)은 이미지 데이터를 디코딩하고(S48), 표시 유닛(20)은 이미지 데이터를 표시한다. 결과적으로, 사용자 조작에 대응하는 게임 화면 이미지가 클라이언트 단말(10)에 표시된다. S36에서 S50까지의 처리를 반복함으로써, 화면 이미지가 적절히 업데이트되고, 게임이 사용자 조작에 응답하여 진행되는 모드가 구현될 수 있다.
도 4는 입력 정보 저장 유닛(42)에 저장되는 입력 정보 파일의 데이터 구조의 일 예를 도시한다. 입력 정보 파일(70)은 시간 필드(72) 및 입력 값 필드(74)를 포함하고, 시간과의 연관 관계에서 게임 시작 후 클라이언트 단말(10)에 대해 수행되는 조작의 컨텐트들을 나타내는 입력 정보를 기록한다. 도 4의 경우에서, 시간 필드(72)에 기록되는 입력 시간은 게임 시작 후의 경과 시간 기간이다. 그러나, 조작들의 시간 시리즈들이 명백하면, 입력 정보의 형태는 제한되지 않는다.
또한, 도 4의 경우에서, 입력 값 필드(74)는 식별 번호의 형태로 기록된 사용자의 조작 컨텐트들을 갖는다. 예를 들어, 식별 번호가 클라이언트 단말(10)의 입력 유닛(12)의 GUI 또는 버튼과 같은 각각의 조작 수단에 적용되고, 눌린 조작 수단들이 입력 값 필드(74)에 기록된다. 그러나, 계속 누르고 있는 시간 기간 또는 조작 방향과 같은 보다 상세한 조작이 때때로 기록되어야 하기 때문에, 입력 값 필드(74)에서의 입력 정보의 기록 형태는 도시된 형태에 한정되지는 않는다. 입력 정보 수신 유닛(32)은 입력 정보가 게임 실행 기간 내에 클라이언트 단말(10)로부터 전송될 때마다 입력 정보 파일(70)의 열을 추가함으로써 입력 정보를 기록한다.
도 5는 이차 데이터를 생성하는 서버(30a)에 의한 처리 절차를 도시하는 흐름도이다. 서버(30a)의 이차 데이터 생성 지시 유닛(34)은 이차 데이터를 생성하기 위한 충분한 공간이 있는 지 여부를 결정하기 위해 정보 처리 유닛(36) 및 인코딩 유닛(38)의 리소스들을 모니터링한다(S52). 이러한 처리에서, 이차 데이터 생성 지시 유닛(34)이 실제로 주기적으로 확인할 수 있거나, 이차 데이터 생성 지시 유닛(34)이 기준 값보다 높은 공간이 나타나는 시간의 포인트에서 정보 처리 유닛(36) 또는 인코딩 유닛(38)으로부터 통지를 수신할 수 있다.
공간이 없다면, 이차 데이터 생성 지시 유닛(34)은 공간이 있을 때까지 기다린다(S52에서 N). 공간이 발생하면(S52에서 Y), 이차 데이터 생성 지시 유닛(34)은 이차 데이터가 초기 메모리 등으로부터 아직 생성되지 않은 게임 플레이의 식별 정보를 선택하고, 이차 데이터를 생성하도록 이들을 지시하기 위해 식별 정보를 정보 처리 유닛(36) 및 인코딩 유닛(38)에 통지한다. 게임 플레이의 시작 포인트를 나타내는 저장 데이터가 저장 데이터 저장 유닛(44)에 저장되면, 정보 처리 유닛(36)은 저장 데이터를 판독한다(S54에서 Y, 및 S56). 또한, 저장 데이터가 존재하는 지 여부와 관계 없이, 정보 처리 유닛(36)은 입력 정보 저장 유닛(42)으로부터 게임 플레이의 식별 정보와 관련된 입력 정보 파일을 판독한다(S58).
이후, 저장 데이터가 판독되면(S54에서 Y), 정보 처리 유닛(36)은 저장 포인트로부터 게임 처리를 재생하지만, 저장 데이터가 존재하지 않으면(S54에서 N), 정보 처리 유닛(36)은 처음부터 게임 처리를 재생한다(S56). 이와 함께, 정보 처리 유닛(36)은 입력 정보 파일에 기록된 입력 정보에 따라 동일한 타이밍에서 동일한 조작이 수행되는 지를 결정하는 게임을 진행한다. 결과적으로, 이미지 데이터가 생성될 때마다, 인코딩 유닛(38)은 데이터를 인코딩한다(S62).
S60 및 S62에서 생성되고 인코딩되는 이차 데이터는 게임 실행 기간 내에 생성되는 일차 데이터의 비트율 또는 해상도와는 상이한 비트율 또는 해상도를 가질 수 있다. 예를 들어, S60에서, 이미지는 데이터 전송 대상의 클라이언트 단말로 예상되는, 표준 화질(SD), 고화질(HD), 및 풀(full) HD와 같은, 표시 이미지의 해상도에 따라 복수의 크기로 생성될 수 있다. 또한, S62에서, 이미지는 복수의 방법에 의해 인코딩될 수 있다. 인코딩 유닛(38)은 인코딩된 이차 데이터를 출력 데이터 저장 유닛(46)에 저장한다(S64). 이때, 동일한 게임 플레이를 나타내는 일차 데이터는 필요에 따라 출력 데이터 저장 유닛(46)에서 삭제된다.
도 6은 게임 플레이가 재생될 때의 클라이언트 단말(10) 및 서버(30a)의 처리 절차를 도시하는 흐름도이다. 감상자와 같은 사용자가 우선 클라이언트 단말(10)의 입력 유닛(12)에 재생 타겟의 게임 플레이를 지정함으로써 재생을 요청하는 조작을 수행하면(S70), 입력 정보 전송 유닛(14)은 재생 요청을 위한 신호를 생성하여 서버(30a)에 전송한다. 사용자는 게임 플레이를 지정하기 위해 미리 서버(30a)로부터 공개되고 있는 게임 플레이의 선택 화면 이미지를 나타내는 웹 페이지의 데이터 또는 유사 데이터를 전송할 수 있다. 선택 화면 이미지에는, 게임명, 플레이어 이름, 플레이 날짜 등이 사용자에 의한 선택을 용이하게 하기 위해 게임 화면 이미지들의 섬네일 이미지들과 함께 표시된다.
또한, 재생 요청 신호는 자신의 장치의 표시 해상도, 요청되는 인코딩 방법 등을 포함할 수 있다. 재생 요청을 수신하는 서버(30a)의 입력 정보 수신 유닛(32)은 선택된 게임 플레이의 식별 정보를 지정하고, 식별 정보를 데이터 전송 유닛(40)에 전송한다. 데이터 전송 유닛(40)은 게임 플레이의 이차 데이터가 출력 데이터 저장 유닛(46)에 저장되는 지 여부를 확인한다(S72). 이러한 이차 데이터가 저장되면(S72에서 Y), 데이터 전송 유닛(40)은 이차 데이터를 판독하고, 요청 소스의 클라이언트 단말(10)에 이차 데이터를 전송한다. 이와 함께, 데이터가 복수의 해상도 또는 인코딩 방법으로 저장되면, 데이터 전송 유닛(40)은 클라이언트 단말(10)로부터의 요청에 대응하는 데이터를 선택하고, 선택된 데이터를 전송한다.
이차 데이터가 저장되지 않으면(S72에서 N), 데이터 전송 유닛(40)은 일차 데이터를 판독하여 요청 소스의 클라이언트 단말(10)에 전송한다(S76). 클라이언트 단말(10)의 데이터 수신 유닛(16)이 데이터를 수신할 때, 디코딩 유닛(18)은 데이터를 디코딩하고(S78), 표시 유닛(20)은 디코딩된 데이터를 표시한다. 결과적으로, 선택된 게임 플레이는 클라이언트 단말(10)에 동화상 등의 형태로 표시된다(S80). 도 3, 도 5 및 도 6에 도시된 처리 절차들에 의해, 게임 실행 기간 내에서는 응답성에 우선 순위를 부여되지만, 게임 플레이 재생 시에는 화상 품질에 우선 순위를 부여할 수 있다.
이러한 방식으로, 본 실시예에서, 품질은 게임 플레이의 동일한 이미지에 관하여 상황에 응답하여 독립적으로 설정될 수 있다. 이러한 장점은 게임 실행 시, 이미지 데이터의 품질이 통신 상황에 응답하여 적절하게 조정되도록 보다 적극적으로 이용될 수 있다. 이로 인해, 응답성이 확보되는 상태에서 통신 상황이 양호할 때 고 품질로 이미지를 표시할 수 있다. 또한 이러한 경우, 이차 데이터가 전술한 바와 같이 생성되면, 실행 기간 내의 통신 상황은 이후 재생에 영향을 미치지 않는다.
도 7은 게임 실행 기간 내의 통신 상황에 응답하여 정보 처리 또는 인코딩 처리를 조정하는 기능을 더 포함하는 서버(30)의 구성을 특히 도시한다. 도 7에서 서버(30b)는 게임의 컨텐트 자체뿐만 아니라 통신 상황에 응답하여 이미지 데이터의 품질을 조정한다. 이로 인해, 사용자 조작이 서버(30) 측에 의해 통신 상황의 악화에 의해 야기되는 지연 이후에 검출되고, 이것이 사용자에게 불리하게 작용하는 것과 같은 상황의 발생을 억제할 수 있다. 도 7의 도 2에 도시된 서버(30a)의 기능들과 동일한 기능들을 갖는 블록들은 유사 참조 문자들에 의해 표시되고, 이들의 설명은 적절히 생략된다는 것을 유의해야 한다. 또한, 클라이언트 단말(10)의 구성이 도 2에 도시된 구성과 유사하기 때문에, 도 7에서는 상기의 예시는 생략된다.
서버(30b)는 입력 정보 수신 유닛(32), 이차 데이터 생성 지시 유닛(34), 정보 처리 유닛(36), 인코딩 유닛(38), 데이터 전송 유닛(40), 입력 정보 저장 유닛(42), 저장 데이터 저장 유닛(44) 및 출력 데이터 저장 유닛(46)을 포함한다. 언급된 기능 블록들은 기본적으로 도 2의 서버(30a)에 포함된 기능 블록들과 유사하게 기능한다. 그러나, 정보 처리 유닛(36)은 통신 상황에 응답하여 정보 처리 유닛(36) 및 인코딩 유닛(38)에 의한 처리를 조정하는 조정부(52)를 포함한다. 또한, 서버(30b)는 클라이언트 단말(10)의 통신 상황을 모니터링하는 통신 상황 모니터링 유닛(50) 및 시간과의 연관 관계에서 수행되는 조정 컨텐트들을 기록하는 조정 이력 저장 유닛(54)을 포함한다.
통신 상황 모니터링 유닛(50)은 게임 실행 기간 내의 클라이언트 단말(10)과의 통신 상황을 모니터링한다. 통신 상황은 다양한 매개변수들에 의해 표현될 수 있지만, 예를 들어 통신 대역의 여유 상황(free situation), 패킷 손실율, 지연 시간 기간, 및 지연 시간 기간에서의 분산과 같은 매개변수들 중 적어도 하나가 모니터링된다. 패킷 손실율은 입력 정보 전송 등을 위해 클라이언트 단말(10)로부터 전송되는 패킷들 중에서 서버(30b)에 도착하지 않은 패킷들의 비율을 나타낸다. 예를 들어, 클라이언트 단말(10)은 전송하는 순서로 패킷들에 연속 번호를 적용하고, 서버(30b)는 번호의 손실을 검출하고, 패킷 손실율을 계산하기 위해 이러한 손실된 패킷들의 개수를 카운트한다.
지연 시간은 서버(30b)에 의해 입력 정보가 수신되는 시간과 입력 정보를 전송하는 패킷의 전송 시간이나 클라이언트 단말(10)에 대한 사용자 조작의 입력 시간 간의 차이다. 예를 들어, 패킷의 전송 시간 또는 사용자 조작의 입력 시간의 타임스탬프가 입력 정보와 함께 서버(30)에 전송되고, 서버(30)는 지연 시간 기간을 획득하기 위해 입력 정보가 수신되는 시간과 타임스탬프를 비교한다. 지연 시간 기간에서의 분산은 지연 시간 기간의 이력을 서버(30)에 유지하고, 미리 결정된 기간 간격 등에서 변화의 표준 편차를 계산하여 획득된다.
통신 상황 모니터링 유닛(50)은 미리 결정된 시간 간격들에서 전술한 매개변수들 중에서 모니터링 타겟으로 설정된 매개변수의 값을 결정하고, 결정의 결과를 정보 처리 유닛(36)의 조정부(52)에 통지한다. 조정부(52)는 전송된 값을 기초로 하여 조정에 대한 필요성에 대해 결정을 하고, 미리 결정된 규칙에 따라 정보 처리 유닛(36)에 의해 처리의 컨텐트들을 조정한다. 대안적으로, 조정부(52)는 인코딩 유닛(38)에 의한 처리 단계에서 사용될 인코딩 매개변수의 조정 이후 값을 결정하고, 값을 인코딩 유닛(38)에 통지한다. 정보 처리 유닛(36)은 조정부(52)의 조정 하에서 게임 처리를 진행한다. 인코딩 유닛(38)은 인코딩을 수행하기 위해 조정부(52)로부터의 통지에 따라 인코드 매개변수를 변경한다.
여기에서, 처리 컨텐트들의 조정은 예를 들어 게임의 규칙을 완화하기 위한 것과 같이 게임의 컨텐트 자체를 조정하는 것이다. 예를 들어, 게임 패드의 누름이 적절한 타이밍에서 수행될 때 점수가 제공되는 게임에서는, 적절한 타이밍에 대한 기준의 시간 기간이 연장된다. 이것은 게임 패드를 원래의 적절한 타이밍에서 누르지만, 서버(30)가 클라이언트 단말(10)에서 서버(30b)로의 통신 지연의 결과로서 타이밍을 놓쳐서 사용자가 불이익을 받게 된다고 결정하는 것과 같은 상황을 방지한다.
본 실시예는 클라이언트 단말(10)에 대한 입력이 네트워크를 통해 허용되고 서버(30b)에 의해 해석되는 구성을 갖기 때문에, 특히 사용자 조작의 타이밍이 결과에 영향을 미치는 게임에서, 게임의 상황은 통신 상황에 의해 변경될 가능성이 있다. 또한, 이미지 표시 이전에 시간이 필요하고, 결과적으로, 사용자 조작의 타이밍이 전술한 바와 같이 서버(30b)에 의해 늦게 검출되는 것과 함께 다음 조작이 지연되는 일이 발생할 가능성이 있을 수 있다. 따라서, 전술한 바와 같이 통신 상황에 응답하여 적절한 타이밍의 결정을 위해 기준 시간 기간을 조정하는 것이 특히 효과적이다. 그러나, 조정부(52)에 의해 수행될 처리 컨텐트들의 조정은 이에 한정되지 않으며, 조정은 예를 들어 전투 게임에서 적들의 수를 감소시키기 위한 또는 캐릭터의 움직임에 따라 목적지에 도착하기 쉽도록 만들기 위한 것과 같이 어려움을 단지 감소시키기 위한 조정일 수 있다. 추가적인 특정 예가 후술된다.
또한, 인코드 매개변수는 대표적으로 비트율 또는 인코딩 방법이지만, 인코드 처리에서 조정될 수 있고, 처리 시간 기간의 감소에 효과적인 임의의 매개변수일 수 있다. 인코드 매개변수의 조정 및 처리 컨텐트들의 조정의 경우들 중 어느 하나에서, 특정 조정 타겟은 정보 처리 유닛(36)에 의해 수행될 처리들의 컨텐트 각각에 대해, 즉 게임의 상황 또는 컨텐트들 각각에 대해 상이할 수 있고, 게임의 창작자에 의해 미리 결정될 수 있다. 또한, 조정이 필요한 지 여부와 함께, 수행되어야 하는 조정, 이러한 조정의 정도 등이 통신 상황에 응답하여 적절하게 변경될 수 있다.
조정부(52)는 결정된 조정 컨텐트들을 게임 플레이의 식별 정보의 각 타입에 대한 조정 시간과의 연관 관계에서 조정 이력 저장 유닛(54)에 저장한다. 여기에서 기록될 조정 시간은 입력 정보 저장 유닛(42)에 저장된 입력 정보 파일에서와 마찬가지로 표준 시간과 같은 시간 또는 게임 시작 이후의 경과 시간 기간일 수 있다. 정보 처리 유닛(36)이 이차 데이터를 생성하기 위해 게임을 재생할 때, 조정부(52)는 게임 플레이의 식별 정보를 기초로 하여 조정 이력 저장 유닛(54)으로부터 해당 조정 이력을 판독하고, 게임 조정 기간 내의 조정과 동일한 조정을 수행한다. 이로 인해, 조정이 수행된 것을 포함하여 게임의 방식이 이차 데이터를 생성하기 위해 재생된다.
조정이 수행되는 매개변수들 중에서 재생을 필요로 하지 않는 매개변수는 이차 데이터 생성 시 조정 타겟에서 제외된다. 예를 들어, 화상 품질이 희생되지만 전송 속도에 대해 우선 순위를 부여하기 위해 인코더의 비트율이 낮아지는 경우, 비트율은 고 화상이 기본적으로 요구되는 이차 데이터에 대해 의도적으로 낮아질 수 없다. 이러한 방식으로, 이차 데이터 생성 시 재생을 필요로 하지 않는 매개변수에 대해, 조정은 조정 이력 저장 유닛(54)에 기록될 수 없다.
이제, 도 7의 구성을 갖는 서버(30b)의 조작이 기술된다. 도 8은 통신 상황에 응답하여 서버(30b)가 조정을 수행하는 동안 정보 처리를 수행하기 위해 서버(30b)에 의해 수행되는 처리 절차를 도시하는 흐름도이다. 이 흐름도를 도 3의 흐름도의 S38의 처리에 통합함으로써, 조정 기능이 구현되는 동안 게임이 진행될 수 있다. 우선, 통신 상황을 나타내는 매개변수가 통신 상황 모니터링 유닛(50)으로부터 연속적으로 입력되면, 조정부(52)는 조정이 필요한 지 여부를 결정하기 위해 미리 설정된 기준과 매개변수를 비교한다(S82). 기준은 수행될 조정 컨텐트들이 기준에 따라 선택되도록 조정 컨텐트 각각에 대해 설정될 수 있다.
조정이 필요한 지 여부의 결정은 통신 상황 모니터링 유닛(50)에 의해 이루어질 수 있다는 것을 유의해야 한다. 통신 상황이 악화되더라도 통신 상황의 악화에 의해 야기되는 통신 시간에서의 분산 또는 패킷 손실이 기존 기술에 의해 조정될 수 있고, 게임에 미치는 영향이 낮다고 결정될 수 있는 범위 내에서는, 조정이 수행될 수 없다. 예를 들어, 패킷 손실에 관하여, 손실된 패킷은 스트리밍 중복을 만드는 것에 의해 재저장될 수 있다. 또한, 통신 시간에서의 분산에 관하여, 분산된 시간은 클라이언트 단말(10)에서 버퍼를 제공함으로써 흡수될 수 있다. 이러한 메커니즘들은 별도로 제공될 수 있고, 조정에 대한 이전 단계로서 이용될 수 있다.
S82에서의 결정의 결과로서 조정에 대한 필요성이 없다면(S82에서 N), 게임은 조정 없이 연속적으로 진행된다(S90). 조정이 필요하고(S82에서 Y), 수행될 조정 컨텐트들이 비트율의 감소와 같은 인코드 처리에 관한 것이면(S84에서 Y), 인코드 매개변수의 조정 이후의 값과 같은 특정 조정 컨텐트들과 함께 조정 요청이 인코딩 유닛(38)에 제기된다(S86). 조정 타겟이 인코드 처리에 관한 것이 아니면(S84에서 N), 정보 처리 유닛(36)에 의해 처리의 컨텐트 자체가 조정된다(S88). 이러한 처리는 실제로 완화 타겟의 규칙에 대한 설정 값을 변경하거나, 조정을 위해 준비된 상이한 프로그램에 대한 처리를 나누기 위한 처리일 수 있다.
이후, 전술한 바와 같은 조정된 상태에서, 정보 처리 유닛(36)은 게임을 지속적으로 처리한다(S90). 도 8의 흐름도는 처리 컨텐트들의 조정 및 인코드 매개변수의 조정 중 하나가 수행되는 일 예를 도시하지만, 설정에 따라 두 가지 조정이 모두 수행될 수 있다는 것을 유의해야 한다. 악화가 진행될 때, 조정 타겟의 개수가 증가되도록, 전술한 바와 같은 통신 상황을 나타내는 매개변수에 대해 복수의 기준이 제공될 수 있다. S88에서 정보 처리 유닛(36)에 의해 생성될 게임 이미지의 해상도가 저하될 수 있다는 것을 유의해야 한다.
도 9는 조정부(52)에 의해 수행될 처리 컨텐트들의 조정을 질적으로 도시하는 도면이다. 도 9는 클라이언트 단말(10)의 버튼 등의 누름에 대해, 적절한 타이밍이 연속적으로 설정되는 것으로 간주되는 기준의 시간 기간(이하, "결정 시간 기간"으로 언급됨)이 연속적으로 설정되고, 결정 시간 기간 내에서 누름이 검출되면 스코어가 제공되는 게임을 가정한다. 전술한 바와 같은 게임으로서, 공의 비행 거리가 골프 클럽의 스윙업 양 및 공의 타격 타이밍에 의존하는 골프 게임, 플레이어들이 음악에 맞게 게임 패드를 누름으로써 타악기 연주 기법들에 대해 경쟁하는 게임, 게임 패드 등의 누름에 의해 가상 세계에서 적을 타격하는 파이팅 게임 등이 사용 가능하다.
도 9는 동일한 시간 범위 내에서의 게임(상단 및 중간 단) 및 통신 상황(하단)의 흐름을 나타낸다. 가로축은 경과 시간을 표시하고, 나중 시간은 왼쪽에서 오른쪽으로 표현된다. 우선, 상단은 어떤 조정도 수행되지 않은 표준 상태에서의 게임의 흐름(60)을 나타내고, 빈 사각형으로 각각 표현되는 시간 범위 내에 결정 시간 기간(62a 및 62b)이 설정된다. 반면에, 게임의 실행 시, 통신 상태를 나타내는 매개변수(P)는 가장 낮은 단에서 그래프(66)에 의해 도시되는 바와 같은 상태로 변화한다고 가정한다. 여기에서, Pc 값은 조정의 요구에 대한 기준이고, 기준(Pc)이 초과되면, 조정이 필요하다. 시간 TA 및 TB에서, 매개변수(P)는 각각 A 및 B 만큼 기준(Pc)을 초과한다.
이때, 조정부(52)는 우선 시간 TA에서 초과량 A에 대응하는 조정량 A' 만큼 결정 시간 기간을 연장한다. 결과적으로, 중간 단에서 게임의 흐름(63)을 도시한 바와 같이, 그 직후 타이밍에 오는 결정 시간 기간(62a)은 원래의 결정 시간 기간(62a)과 동일한 시간에서 시작하고, 조정량 A' 만큼 연장된 결정 시간 기간(64a)으로 조정된다. 마찬가지로, 시간 TB에서, 결정 시간 기간은 초과량 B에 대응하는 조정량 B' 만큼 연장된다. 결과적으로, 그 직후 타이밍에 오는 결정 시간 기간(62b)은 원래의 결정 시간 기간(62b)과 동일한 시간에서 시작하고, 조정량B' 만큼 연장된 결정 시간 기간(64b)으로 조정된다. 또한, 결정 시간 기간들의 시작 포인트 각각은 초과량 A 및 B에 대응하는 조정량들 만큼 지연될 수 있다.
결과적으로, 이것이 표준 상태에서 미스(miss)로서 결정되는 굵은 화살표의 타이밍에서 누름이 검출되더라도, 점수가 주어진다. 결과적으로, 누름이 클라이언트 단말(10)에서 적절한 타이밍에서 수행되지만, 서버(30)에 의한 검출이 통신 상황의 악화에 의해 지연되기 때문에 누름이 미스로 결정되는 것과 같은 실패의 발생이 억제될 수 있다. 기준(Pc)으로부터 매개변수(P)의 초과량 A 및 B에 대한 조정량 A' 및 B'를 결정하는 규칙은 매개변수(P), 게임의 컨텐트들 등으로 선택될 변수에 응답하여 미리 설정된다.
예를 들어, 통신 상황을 나타내는 매개변수(P)가 지연 시간 기간인 경우, 조정량 A' 및 B'는 각각 기준(Pc)으로부터 경과된 시간 기간 A 및 B와 동일하게 설정될 수 있거나, 상수가 경과된 시간 기간 A 및 B에 추가될 수 있거나, 경과된 시간 기간 A 및 B에 상수를 곱할 수 있다. 대안적으로, 조정은 기준(Pc)이 초과된 후 동일한 조정량으로 균일하게 수행될 수 있다. 도 9에서는 결정 시간 기간의 길이만 조정된다. 그러나, 통신 상황의 악화가 사용자에게 불이익을 주지 않는 이상적인 상황 하에서는 조정 컨텐트들이 게임의 컨텐트들에 따라 다양한 방식으로 달라질 수 있다.
예를 들어, 레이스 게임에서는, 결정 시간 기간의 조정 및 조정에 대한 처리 수행원의 변화는 코너를 도는 조향 조작의 타이밍이 지연되더라도 지연이 조정 후의 결정 시간 기간 내에 남아있다면, 탈선 결정이 이루어질 수 없도록 차량의 움직임이 조정되도록 동시에 수행될 수 있다. 도 9는 통신 상황이 악화될 때 증가하는 매개변수(P)가 사용되는 일 예를 도시하지만, 반대의 특성을 갖는 매개변수(P)가 사용되면, 기준(Pc)보다 낮아질때 조정이 자연적으로 수행된다는 것을 유의해야 한다.
도 10은 조정 컨텐트들이 이차 데이터의 생성 시 재생될 때의 서버(30)의 처리 절차를 도시하는 흐름도이다. 본 흐름도를 도 5의 흐름도의 S60의 처리에 통합함으로써, 고려되는 조정 처리에 의해 이차 데이터가 생성될 수 있다. 우선, 이차 데이터 생성 지시가 도 5를 참조하여 전술한 바와 같이 제기되면, 정보 처리 유닛(36)의 조정부(52)는 재생을 요구하는 조정이 생성 타겟의 게임 플레이의 실행 시 수행되었는 지 여부를 확인한다(S94). 조정이 수행되었는 지 여부는 조정 이력 저장 유닛(54)에 재생을 요구하는 조정의 이력만을, 게임 실행 시 저장함으로써 조정 이력이 존재하는 지 여부에 따라 결정될 수 있다.
이차 데이터에서 재생을 요구하는 조정은 전술한 바와 같이 게임의 규칙을 완화하기 위한 것과 같이 일반적으로 처리의 컨텐트 자체의 조정이지만, 설정에 따라서, 인코드 매개변수의 조정이 또한 재생될 수 있다. 재생을 요구하는 조정이 수행되지 않았다면(S94에서 N), 조정부(52)에 의한 조정은 수행되지 않지만, 정보 처리 유닛(36)은 게임의 처리를 수행한다(S96). 조정이 수행되었다면(S94에서 Y), 조정부(52)는 조정 이력 저장 유닛(54)으로부터 조정 이력을 판독하고, 실제 조정의 타이밍과 동일한 타이밍에서 동일한 조정을 정보 처리 유닛(36)에 의한 게임 처리 시에 수행한다. 예를 들어, 도 9에 도시된 조정이 수행되었다면, 조정부(52)는 게임이 이차 데이터 생성 처리에서 시작된 후에 시간 TA 또는 TB에 대응하는 시간에서 조정량 A' 또는 B' 만큼 결정 시간 기간을 연장하기 위해 조정을 수행한다.
조정을 제외하고, 정보 처리 유닛(36) 및 인코딩 유닛(38)의 조작은 도 5를 참조하여 전술한 것과 유사할 수 있다. 결과적으로, 일차 데이터가 규칙 완화 등의 조정을 또한 포함하여 정확하게 추적되는 동안 고 품질의 이차 데이터가 생성될 수 있다. 조정 이력 저장 유닛(54)에 저장될 조정 이력은 통신 상황을 나타내는 매개변수(P)의 시간 변화 또는 조정 시간 TA, TB 등과 도 9의 예에서의 조정량 A' 및 B'와 같은 특정 조정량들을 관련시키는 정보일 수 있다는 것을 유의해야 한다. 후자의 경우, 게임의 재생 처리 시, 조정부(52)는 조정 처리를 재생하기 위해 다시 조정량들을 도출한다.
게임의 규칙이 이러한 방식으로 통신 상황에 응답하여 완화되는 경우, 재생 화면 이미지를 보고 있는 사용자는 원래 미스로 결정되어야 하는 타이밍에서의 조작이 적절한 조작으로 결정된다는 점에서 불쾌한 감정을 가질 수 있다. 이와 함께, 조정부(52)는 이차 데이터 재생 시 조정의 재생과 함께 이미지에서 조정 컨텐트들을 나타내는 캐릭터 정보 등을 표시할 수 있다. 도 11은 조정 컨텐트들이 표시되는 이차 데이터의 이미지의 일 예를 도시한다.
이미지(90)는 골프 게임의 한 장면을 나타내고, 이차 데이터가 사용되는 재생 시 클라이언트 단말(10)의 표시 유닛(20)에 표시된다. 본 예에서는, 게임 실행 시, 사용자의 조작에 의해 스윙되는 골프 클럽이 공을 타격하는 타이밍이 적절하다고 결정되는 결정 시간 기간을 20ms 만큼 연장하기 위한 조정이 수행된다. 이러한 경우, 이차 데이터 생성 시, 공 타격 타이밍의 결정이 조정 후의 결정 시간 기간에 따라 결정될 때, 조정 컨텐트들을 나타내는 윈도우(92)는 미리 결정된 시간의 기간동안 표시되도록 이미지가 생성된다. 도 11의 예에서, "네트워크 타이밍 조정 20ms"의 캐릭터 정보는 게임 화면 이미지에 대한 오버랩핑 관계에서 표시된다.
결과적으로, 플레이어들 이외의 사용자가 게임 실행 시 상황을 또한 알 수 있고, 공 타격 타이밍과 상기의 결정 결과 간의 대응에 대한 의심을 느낄 필요가 없다. 조정 컨텐트들의 표시가 일차 데이터에 대해 수행될 수 있다는 것을 유의해야 한다. 특히, 게임을 플레이하고 있는 사용자뿐만 아니라 실시간 기준으로 게임 플레이를 즐기고 있는 사용자에게, 규칙이 완화되거나, 어느 정도의 완화가 수행되는 지와 같은 정보가 개시될 수 있다. 또한, 조정 컨텐트들은 캐릭터 정보에서뿐만 아니라 상기의 움직임 또는 색깔에 의해 또는 그래픽에 의해서도 표현될 수 있다.
본 명세서에서 기술되는 규칙을 완화시키는 모드는 플레이어인 사용자가 보통의 경우에서 처럼 클라이언트 단말(10)의 조작을 수행하고, 결정 시간 기간이 통신 상황에 응답하여 서버(30b) 측에 의해 조정되도록 한다. 반면에, 결정 시간 기간을 변경하지 않고 통신 상황에 응답하여 사용의 조작 자체를 조정하는 것이 가능한 아이디어가 될 수 있다. 특히, 입력 정보가 서버(30b)에 도착할 때까지의 시간 기간을 고려하여 조작 타이밍을 재촉하기 위해 사용자를 촉구하는 표시가 수행된다.
도 12는 게임의 실행 시 조작 타이밍을 재촉하기 위해 사용자를 촉구하는 표시가 추가되는 게임 이미지의 일 예를 도시한다. 이미지(75)는 도 11의 것과 유사한 골프 게임의 한 장면을 나타내고, 게임 실행 시 클라이언트 단말(10)의 표시 유닛(20)에 표시된다.
이러한 골프 게임에서, 골프 클럽의 백 스윙 및 다운 스윙의 일련의 움직임들에 응답하여, 스윙 방향의 전환 타이밍 및 공 타격 타이밍이 게임 패드의 누름 동작들에 의해 결정된다. 이후, 누름 타이밍의 측정으로서, 시간의 현재 시점에서 클럽의 스윙 폭을 나타내는 게이지(76)가 표시된다. 게이지(76)의 왼쪽 끝에 "100"으로 표시되는 위치는 풀 스윙 시의 스윙 폭을 나타내고, 게이지의 오른쪽 끝 부근에서 화살표에 의해 표시된 위치는 저스트 미트(just meet) 시 스윙 폭을 나타낸다. 게이지에서 인덱스의 끝 가장자리는 골프 클럽의 움직임에 응답하여 다운 스윙 기간 동안에는 오른쪽 방향으로, 백 스윙 기간 동안에는 왼쪽 방향으로 움직인다.
비행 거리가 풀 스윙에 의해 길어져야 할 때, 표준 상태에서, 게임 패드는 풀 스윙의 스윙 폭으로 눌리고, 바람직하게 게임 패드는 저스트 미트의 스윙 폭으로 다시 눌린다. 반면에, 통신 상황이 악화되면, 서버(30b)에 의한 검출 이전의 시간 기간을 고려하여 누름 타이밍들을 재촉할 필요가 있다. 따라서, 조정부(52)는 게이지(76)에 스윙 방향 전환 조작을 수행하기에 적합한 타이밍을 나타내는 표시(78a) 및 공 타격 조작을 수행하기에 적합한 타이밍을 나타내는 표시(78b)를 적용한다.
특히, 사용자가 표시(78a)의 타이밍에서 스윙 방향을 전환하도록 조작하면, 서버(30)는 풀 스윙의 타이밍에서 조작을 검출한다. 반면에, 사용자가 표시(78b)의 타이밍에서 공 타격 조작을 수행하면, 서버(30)는 저스트 미트의 타이밍에서 조작을 검출한다. 이로 인해, 통신 상황의 악화가 결정 시간 기간을 변경하지 않고 단지 조작 타이밍들의 조정에 의해서 처리될 수 있다. 이러한 방법이 적용되더라도, 게임의 어려움 자체는 아주 많이 변경되지 않기 때문에, 통신 상황의 악화에 의한 사용자에 대한 불이익의 발생이 억제될 수 있다. 현재의 모드에서, 어떠한 결정 시간 기간의 조정도 수행되지 않기 때문에 이차 데이터의 이미지는 표시(78a) 및 표시(78b)를 표시하지 않는 보통의 이미지일 수 있다.
도 13은 인코드 매개변수가 도 8의 흐름도의 S86의 처리에 의해 조정되는 모드를 도시하는 도면이다. 가장 간단한 예로서, 조정이 필요한 상황이 나타날 때, 전체 이미지의 비트율이 균일하게 낮아지는 것이 가능한 아이디어처럼 보인다. 반면에, 하나의 게임 이미지에서 조차, 정보의 주목도 또는 품질이 다른 지역들 사이에서 상이한 경우, 각각의 지역에 대한 화상 품질을 제어하는 것이 또한 권할 만한 것처럼 보인다. 도 13의 예는 이러한 방식으로 비트율이 각 지역에 대해 변경되는 모드를 도시한다.
이미지(80)는 자동차 레이스 게임의 한 장면을 나타내고, 사용자는 가상 세계의 코스에서 달리는 차량(82)을 조작한다. 조정에 대한 어떠한 요구도 없는 경우, 전체 이미지는 동일한 비트율로 인코딩된다. 그러나, 조정 시, 주목도가 높다고 간주되는 차량(82)의 전방 지역(84) 즉, 화면 이미지의 중심 부근의 미리 결정된 범위 내의 비트율은 그대로 유지되지만, 나머지 지역에서의 비트율은 낮아진다. 조정부(52)는 인코딩이 인코딩 유닛(38)에 의해 수행되도록 인코딩 유닛(38)에 조정 후의 나머지 지역의 비트율 및 지역(84)의 위치 및 크기에 관한 정보의 통지를 제기한다.
결과적으로, 게임 실행 시, 통신 상황의 악화에 응답하여 클라이언트 단말(10)에 전송될 이미지의 데이터 크기는 감소되지만, 사용자의 조작이 영향받을 수 있는 가능성이 높은 지역의 화상 품질은 유지될 수 있다. 지역(84)의 크기가 달라질 수 있거나, 나머지 지역에서의 비트율이 통신 상황의 악화 정도에 따라 더 조정될 수 있다. 또한, 필요에 따라, 지역(84)에서, 비트율이 미리 결정된 범위 내에서 또한 낮아질 수 있다. 또한, 비트율이 유지되어야 하는 지역(84)은 구성의 변화에 응답하여 이동될 수 있다.
도 13은 레이스 게임의 일 예를 도시하지만, 일부 다른 게임들에서도, 조정부(52)가 조정 시 지역을 참조할 수 있도록 마찬가지로 게임의 컨텐트들에 응답하여 가능한 한 비트율이 유지되어야 하는 지역이 미리 결정된다. 비트율이 유지되어야 하는 지역으로서, 주목도가 높은 지역, 중요한 정보가 포함되는 지역, 화상 품질의 악화가 사용자의 조작에 영향을 미치는 지역 등이 적용 가능하다.
특히, 사용자가 롤 플레잉 게임과 같은 뷰 포인트 또는 캐릭터를 이동시키는 게임의 경우에, 캐릭터를 포함하는 미리 결정된 범위 내의 지역, 1인칭 슈팅(FPS), 3인칭 슈팅(TPS)에서 목표의 부근에서 미리 결정된 범위 내의 지역, 또는 유사 지역이 적용 가능하다. 또한, 현재 점수 또는 단계의 캐릭터 정보, 문자 채팅 등이 표시되는 지역, 게임 플레이 동안 표시되는 팝업 윈도우 지역, 가상의 뷰 포인트가 사용자 조작에 의해 이동될 때 뷰 필드(view field)에 새롭게 진입하는 지역 또는 유사 지역이 적용 가능하다.
전술된 본 실시예에 의해, 게임 이미지가 클라이언트 단말에서의 사용자 조작에 응답하여 서버 측에 생성되고, 생성된 이미지의 데이터가 클라이언트 단말에 전송되는 시스템에서, 사용자 조작의 컨텐트들이 서버 측에 기록된다. 이후, 게임 이미지를 재생성하고 저장하기 위해 사용자 조작의 기록된 컨텐트들을 기초로 하여 적절한 타이밍에서 게임이 다시 실행되고, 게임 이미지는 복수의 사용자들에 의해 공유되어야 하거나 재확인될 때 사용된다. 결과적으로, 처음 실행 시 및 재실행 시, 게임의 방식은 동일하지만 이미지의 품질 등은 독립적으로 제어될 수 있다. 따라서, 상황에 응답하여 최적의 조건들 하에서 서비스가 제공될 수 있다.
특히, 처음 실행 시에는 인코딩 시의 해상도 및 비트율이 응답성에 우선 순위를 부여하여 낮게 억제되지만, 재실행 시에는 어떠한 제한 시간도 없기 때문에, 이들보다 높은 해상도 및 비트율이 사용된다. 결과적으로, 처음 실행 시 플레이어가 원하는 응답성 및 게임 재생 시 뷰어가 원하는 이미지의 품질 모두가 만족될 수 있다. 또한, 재실행 시, 인코딩의 처리 시간 기간보다는 압축율에 우선 순위가 부여된다. 결과적으로, 이미지 데이터의 크기 자체가 감소될 수 있고, 이것은 또한 서버의 저장 지역 및 재생 시 통신 대역의 절약에 기여할 수 있다.
또한, 처음 실행 시, 생성될 이미지의 해상도 또는 게임의 규칙과 같은 처리 컨텐트 및 비트율과 같은 인코드 매개변수가 통신 상황에 응답하여 조정된다. 결과적으로, 응답성이 악화되고 통신 상황의 악화에 의해 점수가 연장되지 않는 것과 같은 플레이어에 대한 불이익이 감소될 수 있다. 또한, 해상도 및 비트율이 통신 상황의 악화에 대한 준비로 처음부터 감소될 필요는 없기 때문에, 통신 상황이 양호한 상태에서, 게임이 실행되고 있더라도, 높은 화상 품질의 표시가 구현될 수 있다. 해상도 및 비트율이 처음 실행 시 조정되더라도, 재실행에 의해 이미지를 재생성함으로써, 재생 시 화상 품질은 영향받지 않는다. 결과적으로, 뷰어들의 요구 및 플레이어들의 요구 모두를 만족시킬 수 있는 시스템이 통신 상황과 관계 없이 구현될 수 있다.
실시예를 참조하여 본 발명을 전술하였다. 실시예는 예시이고, 다양한 수정예들이 구성 요소 및 프로세스들의 조합에 대해 이루어질 수 있고, 수정예들은 본 발명의 범위에 속한다는 것을 당업자들은 이해할 것이다.
예를 들어, 도 7에 도시된 서버(30b)는 통신 상황에 응답하는 조정 기능 및 이차 데이터의 생성 기능 모두를 포함하지만, 서버는 기능들 중 전자 하나만을 포함할 수 있다. 전술한 바와 같은 서버에 의해서도, 게임 실행 시, 통신 상황의 악화에 의해 야기되는 응답성의 악화가 방지되면서 이미지가 가능한 한 높은 화상 품질로 표시될 수 있다.
전술한 바와 같이, 본 발명은 정보 처리 시스템, 프록시 서버 및 클라우드 컴퓨팅과 같은 정보 처리 서비스를 위해 이용될 수 있다.
1: 정보 처리 시스템, 10: 클라이언트 단말, 12: 입력 유닛, 14: 입력 정보 전송 유닛, 16: 데이터 수신 유닛, 18: 디코딩 유닛, 20: 표시 유닛, 30: 서버, 32: 입력 정보 수신 유닛, 34: 이차 데이터 생성 지시 유닛, 36: 정보 처리 유닛, 38: 인코딩 유닛, 40: 데이터 전송 유닛, 42: 입력 정보 저장 유닛, 44: 저장 데이터 저장 유닛, 46: 출력 데이터 저장 유닛, 50: 통신 상황 모니터링 유닛, 52: 조정부, 54: 조정 이력 저장 유닛

Claims (18)

  1. 정보 처리를 수행하기 위해 네트워크를 통해 클라이언트 단말에 접속하여 상기 클라이언트 단말에서 사용자 조작에 관한 정보를 수신한 후, 출력 데이터를 요청하는 상기 클라이언트 단말에 상기 정보 처리의 결과로서 획득된 상기 출력 데이터를 전송하는 출력 데이터 제공 서버로서,
    입력 정보로서 상기 사용자 조작에 관한 정보를 획득하도록 구성되는 입력 정보 수신 유닛;
    상기 입력 정보의 이력을 저장하도록 구성되는 입력 정보 저장 유닛;
    상기 사용자 조작에 응답하여 전송될 일차 출력 데이터를 생성하기 위해 상기 입력 정보 수신 유닛에 의해 획득된 상기 입력 정보를 기초로 하여 정보 처리를 즉시 수행하고, 이차 출력 데이터로서 출력 데이터를 재생성하기 위해 상기 입력 정보 저장 유닛으로부터 판독된 상기 입력 정보의 이력을 기초로 하여 제2 시간 동안 정보 처리를 수행하도록 구성되는 정보 처리 유닛;
    상기 이차 출력 데이터를 저장하도록 구성되는 출력 데이터 저장 유닛; 및
    요청에 따라 상기 클라이언트 단말에 상기 정보 처리 유닛에 의해 생성된 상기 일차 출력 데이터 또는 상기 출력 데이터 저장 유닛으로부터 판독된 상기 이차 출력 데이터를 전송하도록 구성되는 데이터 전송 유닛을 포함하는 출력 데이터 제공 서버.
  2. 제 1 항에 있어서,
    상기 정보 처리 유닛이 출력 데이터 독립적으로 상기 일차 출력 데이터 및 상기 이차 출력 데이터에 포함된 이미지의 해상도 및 비트율 중 적어도 하나를 설정하고, 상기 일차 출력 데이터 및 상기 이차 출력 데이터를 생성하는 출력 데이터 제공 서버.
  3. 제 1 항에 있어서,
    상기 정보 처리 유닛이 상기 일차 출력 데이터의 생성 시 상기 클라이언트 단말과의 통신 상황에 응답하여 상기 일차 출력 데이터에 포함된 이미지의 해상도 및 비트율 중 적어도 하나를 적응적으로 조정하고, 조정이 있는 지 여부와 관계 없이 미리 결정된 해상도 및 비트율로 상기 이차 출력 데이터를 생성하는 출력 데이터 제공 서버.
  4. 제 1 항에 있어서,
    상기 정보 처리 유닛이 상기 일차 출력 데이터의 생성 시 상기 클라이언트 단말과의 통신 상황에 응답하여 상기 정보 처리의 컨텐트들을 변경하고, 상기 변경 이력을 기록하고, 및 상기 제2 시간 동안의 상기 정보 처리에서 상기 변경 이력을 기초로 하여 유사하게 상기 정보 처리의 컨텐트들을 변경하는 출력 데이터 제공 서버.
  5. 제 4 항에 있어서,
    상기 일차 출력 데이터의 생성시 상기 정보 처리의 컨텐트들이 변경되면, 상기 정보 처리 유닛이 상기 이차 출력 데이터에 포함된 이미지 상에 상기 변경의 컨텐트들을 표시하는 출력 데이터 제공 서버.
  6. 제 1 항에 있어서,
    상기 정보 처리 유닛이 상기 일차 출력 데이터로서 상기 사용자의 상기 클라이언트 단말에 바로 표시될 게임의 이미지 데이터를 생성하기 위해 상기 사용자 조작에 응답하여 상기 게임을 진행하는 정보 처리를 수행하고, 상기 게임이 종료된 후 상기 이차 출력 데이터를 생성하여 상기 출력 데이터 저장 유닛에 저장하는 출력 데이터 제공 서버.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 출력 데이터 저장 유닛이 상기 일차 출력 데이터를 더 저장하고; 및
    상기 데이터 전송 유닛이 상기 이차 출력 데이터가 생성되기 전에 상기 클라이언트 단말의 요청에 따라 상기 출력 데이터 저장 유닛으로부터 상기 일차 출력 데이터를 판독하여 전송하는 출력 데이터 제공 서버.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 서버가 정보 처리를 수행하기 위해 네트워크를 통해 클라이언트 단말에 접속하여 상기 클라이언트 단말에서 사용자 조작에 관한 정보를 수신한 후, 출력 데이터를 요청하는 상기 클라이언트 단말에 상기 정보 처리의 결과로서 획득된 상기 출력 데이터를 전송하는 출력 데이터 제공 방법으로서,
    입력 정보로서 상기 사용자 조작에 관한 정보를 획득하는 단계;
    상기 입력 정보의 이력을 메모리에 저장하는 단계;
    상기 사용자 조작에 응답하여 전송될 일차 출력 데이터를 생성하기 위해 상기 입력 정보를 기초로 하여 정보 처리를 즉시 수행하고 상기 클라이언트 단말에 상기 생성된 데이터를 전송하는 단계;
    이차 출력 데이터로서 출력 데이터를 재생성하기 위해 상기 메모리로부터 판독된 상기 입력 정보의 이력을 기초로 하여 제2 시간 동안 정보 처리를 수행하고 저장 장치에 상기 이차 출력 데이터를 저장하는 단계; 및
    요청에 따라 상기 클라이언트 단말에 상기 저장 장치로부터 판독된 상기 이차 출력 데이터를 전송하는 단계를 포함하는 출력 데이터 제공 방법.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020157034662A 2013-06-12 2013-06-12 출력 데이터 제공 서버 및 출력 데이터 제공 방법 KR102096300B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/003699 WO2014199412A1 (ja) 2013-06-12 2013-06-12 出力データ提供サーバおよび出力データ提供方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207006360A Division KR102112998B1 (ko) 2013-06-12 2013-06-12 출력 데이터 제공 서버 및 출력 데이터 제공 방법

Publications (2)

Publication Number Publication Date
KR20160018523A KR20160018523A (ko) 2016-02-17
KR102096300B1 true KR102096300B1 (ko) 2020-04-02

Family

ID=52021748

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207006360A KR102112998B1 (ko) 2013-06-12 2013-06-12 출력 데이터 제공 서버 및 출력 데이터 제공 방법
KR1020157034662A KR102096300B1 (ko) 2013-06-12 2013-06-12 출력 데이터 제공 서버 및 출력 데이터 제공 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207006360A KR102112998B1 (ko) 2013-06-12 2013-06-12 출력 데이터 제공 서버 및 출력 데이터 제공 방법

Country Status (6)

Country Link
US (2) US10075525B2 (ko)
EP (2) EP3498350B1 (ko)
JP (1) JP6268174B2 (ko)
KR (2) KR102112998B1 (ko)
CN (1) CN105264502B (ko)
WO (1) WO2014199412A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5602963B1 (ja) * 2014-01-30 2014-10-08 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
JP6348726B2 (ja) * 2014-02-13 2018-06-27 任天堂株式会社 情報共有システム、情報処理装置、プログラム及び情報共有方法
JP2015150172A (ja) 2014-02-13 2015-08-24 任天堂株式会社 情報共有システム、情報処理装置、プログラム及び情報共有方法
CN104135395B (zh) * 2014-03-10 2015-12-30 腾讯科技(深圳)有限公司 Idc网络中数据传输质量监控方法和系统
JP6439414B2 (ja) * 2014-12-01 2018-12-19 富士通株式会社 通信装置
US9860535B2 (en) * 2015-05-20 2018-01-02 Integrated Device Technology, Inc. Method for time-dependent visual quality encoding for broadcast services
US10282108B2 (en) 2016-08-31 2019-05-07 Micron Technology, Inc. Hybrid memory device using different types of capacitors
US10986232B2 (en) * 2017-06-16 2021-04-20 Genesys Telecommunications Laboratories, Inc. Systems and methods for sizing modular routing applications
CN107426209A (zh) * 2017-07-24 2017-12-01 终极(北京)科技有限公司 一种vr一体机的共享系统及方法
CN111699447B (zh) * 2018-02-07 2023-10-24 日本电气株式会社 信息处理装置、控制方法和程序
WO2020191040A1 (en) * 2019-03-18 2020-09-24 Google Llc Timing compensation and correlation of input with frames in a video game application
US11115458B2 (en) * 2019-12-24 2021-09-07 Atlassian Pty Ltd. Monitoring in composite request systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005061067A1 (en) * 2003-12-15 2005-07-07 Nokia Corporation Method and device for difficulty level adaptation of a network based game
US20100167816A1 (en) * 2002-12-10 2010-07-01 Perlman Stephen G System and Method for Multi-Stream Video Compression
JP2010214028A (ja) 2009-03-19 2010-09-30 Sony Computer Entertainment Inc プログラム、情報記憶媒体、画像処理装置、画像処理方法及びデータ構造
JP2012090120A (ja) 2010-10-20 2012-05-10 Sony Computer Entertainment Inc 画像処理システム、画像処理方法、動画像送信装置、動画像受信装置、プログラム及び情報記憶媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4596097B2 (ja) * 2000-07-12 2010-12-08 株式会社セガ 通信ゲームシステム、通信ゲーム方法、及び記録媒体
US6475090B2 (en) * 2001-03-29 2002-11-05 Koninklijke Philips Electronics N.V. Compensating for network latency in a multi-player game
US7803054B1 (en) * 2004-03-31 2010-09-28 Microsoft Corporation Multi-vehicle cross-network coordination
US7458894B2 (en) * 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
US7500916B2 (en) * 2005-11-07 2009-03-10 Microsoft Corporation Game strategy analysis tool generating a two dimensional image overlaid with telemetry data
JP2007274443A (ja) 2006-03-31 2007-10-18 Canon Inc 画像伝送方法、送信装置、受信装置及び画像伝送システム
JP5054508B2 (ja) * 2007-12-27 2012-10-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 画面表示用情報提供装置、画面表示用情報提供方法、及びプログラム
JP5436794B2 (ja) * 2008-04-04 2014-03-05 株式会社バンダイナムコゲームス ゲーム動画配信システム
US20090318232A1 (en) * 2008-06-24 2009-12-24 Motorola, Inc. Method and system for controlling load in a communication network
JP5281324B2 (ja) 2008-07-11 2013-09-04 株式会社ソニー・コンピュータエンタテインメント 画面出力コンバータ、ディスプレイ装置および画面表示方法
KR20100020159A (ko) 2008-08-12 2010-02-22 최윤실 온수 가열조
US8805920B2 (en) * 2009-02-19 2014-08-12 Nec Corporation Information processing apparatus, information processing system, information processing method and program storage medium
JP2011147562A (ja) * 2010-01-20 2011-08-04 Konami Digital Entertainment Co Ltd 情報処理装置、情報処理方法、プログラム、ならびに、ゲームシステム
JP5918618B2 (ja) * 2011-06-03 2016-05-18 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100167816A1 (en) * 2002-12-10 2010-07-01 Perlman Stephen G System and Method for Multi-Stream Video Compression
WO2005061067A1 (en) * 2003-12-15 2005-07-07 Nokia Corporation Method and device for difficulty level adaptation of a network based game
JP2010214028A (ja) 2009-03-19 2010-09-30 Sony Computer Entertainment Inc プログラム、情報記憶媒体、画像処理装置、画像処理方法及びデータ構造
JP2012090120A (ja) 2010-10-20 2012-05-10 Sony Computer Entertainment Inc 画像処理システム、画像処理方法、動画像送信装置、動画像受信装置、プログラム及び情報記憶媒体

Also Published As

Publication number Publication date
US10511666B2 (en) 2019-12-17
JP6268174B2 (ja) 2018-01-24
EP3009938A1 (en) 2016-04-20
US20180352035A1 (en) 2018-12-06
EP3498350A1 (en) 2019-06-19
EP3009938A4 (en) 2017-06-07
WO2014199412A1 (ja) 2014-12-18
CN105264502B (zh) 2019-06-14
KR20160018523A (ko) 2016-02-17
EP3498350B1 (en) 2021-03-03
KR20200027059A (ko) 2020-03-11
CN105264502A (zh) 2016-01-20
JPWO2014199412A1 (ja) 2017-02-23
US20160112515A1 (en) 2016-04-21
US10075525B2 (en) 2018-09-11
EP3009938B1 (en) 2019-03-06
KR102112998B1 (ko) 2020-05-20

Similar Documents

Publication Publication Date Title
KR102096300B1 (ko) 출력 데이터 제공 서버 및 출력 데이터 제공 방법
JP7441786B2 (ja) ゲームシステムにおける表示ラグの検出および補償
CN111526927B (zh) 在失去主动控制之后通过用户模拟的临时游戏控制
KR102268442B1 (ko) 다수의 디바이스에서 동기화된 미디어 콘텐츠 재생 동안 품질 레벨을 조절하기 위한 방법들, 시스템들 및 매체들
WO2008076537A1 (en) Method and system for providing adaptive trick play control of streaming digital video

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)