JP2011507351A - Video compression system and method for reducing the effects of packet loss across a communication channel - Google Patents

Video compression system and method for reducing the effects of packet loss across a communication channel Download PDF


Publication number
JP2011507351A JP2010537091A JP2010537091A JP2011507351A JP 2011507351 A JP2011507351 A JP 2011507351A JP 2010537091 A JP2010537091 A JP 2010537091A JP 2010537091 A JP2010537091 A JP 2010537091A JP 2011507351 A JP2011507351 A JP 2011507351A
Prior art keywords
Prior art date
Legal status (The legal status 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 status listed.)
Application number
Other languages
Japanese (ja)
デル ラーン ロジャー ヴァン
スティーブン ジー パールマン
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
Priority to US99971807A priority Critical
Application filed by オンライブ インコーポレイテッド filed Critical オンライブ インコーポレイテッド
Priority to PCT/US2008/085606 priority patent/WO2009073831A1/en
Publication of JP2011507351A publication Critical patent/JP2011507351A/en
Application status is Pending legal-status Critical




    • 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/12Video games, i.e. games using an electronically generated display having two or more dimensions involving interaction between a plurality of game devices, e.g. transmisison or distribution systems
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/577Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player for watching a game played by other players


A system and method are described below for reducing the effects of packet loss in a video communication system. For example, one embodiment of a computer-implemented method comprises: logically subdividing each of a sequence of images of a video stream into a plurality of tiles, each of the tiles having a defined position within each of the sequence of images; and packing the tiles into a plurality of data packets to maximize the number of tiles which are aligned with boundaries of each of the data packets; and transmitting the data packets containing the tiles over a communication channel from a server to a client.


本発明は、一般的に、オーディオ及びビデオメディアを操作し及びそれにアクセスするユーザの能力を改善するデータ処理システムの分野に係る。 The present invention generally relates to the field of data processing systems that improve the ability of users to access audio and video media operate and its.

関連出願:本出願は、本出願の譲受人に譲渡された“APPARATUS AND METHOD FOR WIRELESS VIDEO GAMING”と題する2002年12月10日出願の第10/315,460号の一部継続(CIP)出願である。 RELATED APPLICATIONS: This application is part of the No. 10 / 315,460 of the present application of which is assigned to the assignee "APPARATUS AND METHOD FOR WIRELESS VIDEO GAMING" entitled, 2002 December 10, filed continuation (CIP) application it is.

記録音声及び動画メディアは、トーマスエジソンの時代から世相を表している。 Recorded audio and video media, represents the social conditions since the days of Thomas Edison. 20世紀の初頭に、記録音声メディア(シリンダー及びレコード)及び動画メディア(ニコロデオン及び映画)が広く配給されたが、両技術は、まだ幼時期であった。 To the beginning of the 20th century, recorded audio media (cylinders and records) and video media (Nickelodeon and movie), but has been distributed widely, both the technology was still young season. 1920年代後期に、動画が大量市場ベースで音声と結合され、その後、音声を伴うカラー動画となった。 In the late 1920s, the video is coupled with the voice in the mass market-based, then, became the color video with sound. ラジオ放送は、大規模な広告支援形態の放送大量市場音声メディアへと徐々に進化した。 Radio broadcast, was gradually evolved into large-scale broadcast mass market audio media of ad-supported form. 1940年代中期にテレビ(TV)放送規格が確立されると、テレビは、予め録画された又は生の動画を家庭へ届ける放送大量市場メディアの一形式としてラジオに加わった。 When in the 1940s the mid television (TV) broadcast standard is established, television, joined the pre-recorded or live video to the radio as a form of broadcast mass-market media to deliver to the home.

20世紀中期までは、米国の家庭の大部分は、記録音声メディアを再生する蓄音器レコードプレーヤ、生放送音声を受信するラジオ、及び生放送オーディオ/ビデオ(A/V)メディアを上映するテレビ受像機を有していた。 Until the 20th century the medium-term, a large part of the United States of the home, Yes phonographs record player for reproducing the recorded sound media, radio to receive the live broadcast voice, and a television set to screen the live broadcast audio / video (A / V) media Was. 多くの場合に、これら3つの「メディアプレーヤ」(レコードプレーヤ、ラジオ及びTV)は、共通のスピーカを共有する1つのキャビネットに結合されて、家庭の「メディアセンター」となった。 In many cases, these three "media player" (record player, radio and TV) is coupled to one cabinet sharing common speakers, becomes "Media Center" homes. メディアの選択肢は、消費者に制限されるが、メディア「エコシステム」は、かなり安定したものであった。 Media of choice, but is limited to consumer, media "eco-system", it was those fairly stable. ほとんどの消費者は、「メディアプレーヤ」をどのように使用するか知っており、それらの能力をフルに楽しむことができた。 Most of the consumer, knows how to use the "media player", I was able to enjoy their capacity to the full. 同時に、メディアの発行者(主に動画及びテレビスタジオ、並びに音楽会社)は、一般に普及した海賊版又は「二次販売」即ち中古メディアの再販から悩まされることなく、それらのメディアを劇場及び家庭の両方に配給することができた。 At the same time, the media of the issuer (mainly video and television studio and music company,) is generally popular pirated or "secondary sales" that is without suffering from the resale of used media, both those of the media of theater and home I was able to be delivered to. 典型的に、発行者は、二次販売から収入を得ず、従って、そうでなければ新規販売のために中古メディアの買い手から発行者が得るかもしれない収入が減少した。 Typically, the issuer, without the revenue from the secondary sale, therefore, revenue that might issuer from the buyer of used media for new sales get decreased otherwise. 20世紀の中期に販売された中古レコードは確かにあるが、そのような販売は、レコード発行者に大きな影響を及ぼさなかった。 Although used record that has been sold to mid-20th century, certainly, such a sale, did not have a significant effect on the record the issuer. というのは、典型的に大人が一度又は数回見るだけの動画又はビデオ番組とは異なり、音楽トラックは、数百回又は数千回も聞かれるからである。 This is because, typically different from the only video or video program for adults to see once or several times, music tracks, is because be heard even hundreds or thousands of times. 従って、音楽メディアは、動画/ビデオメディアより遥かに「腐敗」しない(即ち、大人の消費者にとって価値が継続する)。 Therefore, music media, not much "corruption" from the movie / video media (ie, value continues for adult consumers). レコードを購入すると、消費者がその音楽が好きな場合、消費者は、おそらくそれを長期間保持する。 When you purchase a record, if the consumer likes the music, the consumer, perhaps to hold it a long period of time.

20世紀の中期から今日にかけて、メディアエコシステムは、消費者及び発行者の利益及び損害の両方にとって一連の根本的な変化を受けた。 Toward today from the mid-20th century, the media ecosystem, has received a series of fundamental changes for both the profit and loss of the consumer and the issuer. オーディオレコーダー、特に、高品質ステレオサウンド付きのカセットテープが広く導入されると、確かに高度の消費者便宜性があった。 Audio recorder, in particular, when a high-quality stereo sound with a cassette tape is introduced widely, there is indeed highly consumer convenience. しかし、それは、消費者メディアと共に今や広く普及したもの、即ち海賊版の始まりも印した。 However, it is, those who spread now widely along with the consumer media, that was marked also the beginning of the pirated. 確かに、大勢の消費者が彼ら自身のレコードを純粋に便宜性のためにテープ記録するのにカセットテープを使用したが、次第に多くの消費者(例えば、互いのレコードコレクションに手早くアクセスできる寄宿舎の学生)が海賊版コピーを作成した。 Indeed, although many consumers using cassette tapes for tape recording purely for convenience of their own records, increasingly many consumers (e.g., a dormitory that can quickly access each other's record collection student) has created a pirated copy. 又、消費者は、発行者からレコードやテープを買うのではなく、ラジオを経て演奏される音楽もテープ記録した。 In addition, the consumer, rather than buy a record or tape from the publisher, music to be played through the radio was also tape recording.

消費者向けVCRの出現は、新規なVCRがTVショーを録画するようにセットでき、後で見ることができるので、更なる消費者便宜性を導くと共に、映画やTV番組に「オンデマンド」ベースでアクセスできるビデオレンタルビジネスの創設も導いた。 The emergence of consumer VCR to a novel VCR can be set to record a TV show, it is possible to see later, along with the lead further consumer convenience, "on demand" in a movie or TV program base in the creation of the video rental business that can be accessed led. 1980年代中期以来の大量市場家庭用メディア装置の急速な開発は、かつてない選択肢レベル及び消費者にとっての便宜性を導くと共に、メディア発行市場の急速な膨張も導いた。 The rapid development of mass-market home media apparatus of the 1980s since the mid, unprecedented guides the convenience for the choices levels and consumer, has led even the rapid expansion of the media issue market.

今日、消費者は、過度のメディア選択肢及び過度のメディア装置に直面し、その多くは、特定の形式のメディア又は特定の発行者に結び付いたものである。 Today, consumers are faced with a plethora of media choices and excessive media devices, many are those associated with the media or particular publishers specific forms. 熱心なメディア消費者は、家の種々の部屋にTV及びコンピュータに接続された装置を積み重ねて有し、その結果、1つ以上のTV受像機及び/又はパーソナルコンピュータ(PC)へのケーブルの「ネズミの巣穴」、並びにリモートコントローラのグループが生じている。 Avid media consumers has a stack of various rooms devices connected to the TV and the computer of the home, as a result, to one or more of the TV receiver and / or a personal computer (PC) of the cable " nest hole "of rats, as well as the group of the remote controller has occurred. (本出願に関して、「パーソナルコンピュータ」又は「PC」という語は、デスクトップ、Macintosh(登録商標)又は他の非Windows(登録商標)コンピュータ、Windows適合装置、Unix(登録商標)バリエーション、ラップトップ、等を含めて、家庭又はオフィスで使用するのに適した任意の種類のコンピュータを指す。)これらの装置は、ビデオゲームコンソール、VCR、DVDプレーヤ、オーディオサラウンド−サウンドプロセッサ/増幅器、衛星セットトップボックス、ケーブルTVセットトップボックス、等を含む。 (In the context of the present application, the term "personal computer" or "PC" is, desktop, Macintosh (registered trademark) or other non-Windows (registered trademark) computer, Windows compatible devices, Unix (registered trademark) variation, laptop, etc. ., including, refers to any kind of computer suitable for use in the home or office) these devices, video game consoles, VCR, DVD player, audio surround - sound processor / amplifier, satellite set-top box, cable TV set-top box, and the like. そして、熱心な消費者にとって、互換性の問題があるために、複数の類似機能装置が存在する。 And for an avid consumer, because of the compatibility problems, there are a plurality of similar functional units. 例えば、消費者は、HD−DVD及びBlu−ray DVDプレーヤの両方を所有したり、又はMicrosoft Xbox(登録商標)及びSony Playstation(登録商標)の両ビデオゲームシステムを所有したりすることがある。 For example, the consumer may or owned or own both HD-DVD and Blu-ray DVD player, or both video game system Microsoft Xbox (R) and Sony Playstation (registered trademark). 実際に、あるゲームはゲームコンソールのバージョンにわたって互換性がないために、消費者は、XBoxと、その後のバージョン、例えば、Xbox360(登録商標)との両方を所有することがある。 Indeed, for some games incompatible across versions of game consoles, the consumer, and XBox, later versions, for example, to possess both the Xbox360 (TM). 多くの場合、消費者は、どのビデオ入力及びどのリモートコントローラを使用すべきか混乱する。 Often, the consumer confusion should be used which video input and which remote controller. ディスクが正しいプレーヤ(例えば、DVD、HD−DVD、Blu−ray、Xbox又はPlaystation)に入れられ、その装置に対してビデオ及びオーディオ入力が選択され、そして正しいリモートコントローラが見つかった後でも、消費者は、まだ、技術的な挑戦に直面する。 Disc is correct player (e.g., DVD, HD-DVD, Blu-ray, Xbox or Playstation) placed in the video and audio input is selected for that device, and even after the correct remote controller is found, the consumer is, still, to face the technical challenge. 例えば、ワイドスクリーンDVDのケースでは、ユーザは、先ず、自分のTV又はモニタスクリーンにおける正しいアスペクト比(例えば、4:3、フル、ズーム、ワイドズーム、シネマワイド、等)を決定し、次いで、セットすることが必要になる。 For example, in the case of wide-screen DVD, the user first, the correct aspect ratio in his TV or monitor screen (e.g., 4: 3, Full, Zoom, Wide Zoom, Cinema Wide, etc.) is determined and then set it becomes necessary to. 同様に、ユーザは、先ず、正しいオーディオサラウンドサウンドシステムフォーマット(例えば、AC−3、ドルビーデジタル、DTS、等)を決定し、次いで、セットすることが必要になる。 Similarly, the user first, correct audio surround sound system format (e.g., AC-3, Dolby Digital, DTS, etc.) is determined and then, it is necessary to set. 多くの場合、消費者は、彼等のテレビ又はオーディオシステムのフル能力でメディアコンテンツを楽しんでいないことに気付かない(例えば、間違ったアスペクト比で押しつぶされた映画を見たり、又はサラウンドサウンドではなくステレオでオーディオを聞いたりしている)。 In many cases, the consumer, unaware that do not enjoy the media content at the full capacity of their television or audio system (for example, watch was crushed in the wrong aspect ratio of the movie, or not the surround sound You are listening to audio in stereo).

装置の積み重ね体には、インターネットベースのメディア装置が益々追加されている。 The stack of devices, Internet-based media devices have been increasingly added. Sonos(登録商標)デジタルミュージックシステムのようなオーディオ装置は、インターネットからオーディオを直接ストリーミングしている。 Sonos (R) audio devices, such as digital music systems is directly streamed audio from the Internet. 同様に、Slingbox(登録商標)エンターテイメントプレーヤのような装置は、ビデオを録画し、そしてホームネットワーク又はインターネットを通してそれをストリーミングし、遠隔位置でPCにおいてそれを見ることができる。 Similarly, devices such as Slingbox (TM) entertainment player record video and stream it through a home network or the Internet, it is possible to see it in PC at a remote location. インターネットプロトコルテレビジョン(IPTV)サービスは、デジタルサブスクライバーライン(DSL)又は他のホームインターネット接続を通してケーブルTV型のサービスを提供している。 Internet Protocol Television (IPTV) service provides a cable TV type services through Digital Subscriber Line (DSL) or other home Internet connections. 又、最近では、Moxi(登録商標)メディアセンターや、Windows XPメディアセンターエディションを実行するPCのような単一の装置へ複数のメディアファンクションを一体化する努力もなされている。 In addition, in recent years, Moxi and (registered trademark) Media Center, efforts are also made to integrate multiple media functions into a single device, such as a PC running Windows XP Media Center Edition. これらの装置は、各々、それが遂行するファンクションに対する便宜性の要素を与えるが、偏在性及びほとんどのメディアへの簡単なアクセス性が欠如している。 These devices are each it gives a convenience of the element to perform the function, easy accessibility to the ubiquitous and most media is missing. 更に、このような装置は、多くの場合に高価な処理及び/又はローカル記憶が必要なために、製造コストがしばしば数百ドルに達する。 Furthermore, such devices, for requiring expensive processing and / or local storage often manufacturing cost often reaches a few hundred dollars. 更に、これらの近代的な消費者向け電子装置は、典型的に、アイドル状態である間も、多量の電力を消費し、これは、時間と共に経費高となり且つエネルギーリソースを浪費することを意味する。 Additionally, these modern consumer electronic devices typically also while in an idle state, consume a large amount of power, this means wasting and energy resources become cost high with time . 例えば、ある装置は、消費者がそれをターンオフするのを怠るか又は異なるビデオ入力へスイッチした場合に動作し続けることがある。 For example, a device may continue to operate if the consumer switches or to a different video input neglect to turn off it. そして、どの装置も完全な解決策ではないので、家庭内の装置の他の積み重ね体と一体化しなければならず、これでは、依然、ユーザをワイヤのネズミの巣穴及びリモートコントローラの海に残すことになる。 Since any device is no complete solution, must be integrated with other stack of devices in the home, this is still leaving a user in a sea of ​​burrows and remote controller wire murine It will be.

更に、多くの新しいインターネットベースの装置は、それが適切に機能するときには、典型的に、メディアを、それが入手できる以上に一般的な形態で提供する。 Furthermore, many of the new Internet-based system, but when it is functioning properly, typically the media, it is provided in a general form than available. 例えば、インターネットを通してビデオをストリーミングする装置は、多くの場合、ビデオ、ゲームの「制作」又は演出家の解説のようなDVDをしばしば付随する双方向「エキストラ」ではなく、ビデオ資料だけをストリーミングする。 For example, a device for streaming video over the Internet is, in many cases, video, "production" or rather than two-way "extra" that often accompanying the DVD, such as the director of the commentary of the game, streaming only video material. これは、多くの場合、双方向性をローカルに取り扱う特定の装置に意図された特定のフォーマットで双方向資料が発生されることによるものである。 This is often due to the fact that the bidirectional article is produced in a particular format intended for a particular device that handles interactivity locally. 例えば、DVD、HD−DVD及びBlu−rayディスクは、それら自身の特定の双方向フォーマットを有している。 For example, DVD, HD-DVD and Blu-ray discs have a specific interactive format themselves. 普及型フォーマットを全てサポートするように開発されるホームメディア装置又はローカルコンピュータは、おそらく消費者が動作するには法外なほど高価で且つ複雑なものにするレベルの精巧さ及び融通性を要求することになる。 Home media device or local computer is developed to all pervasive format support, perhaps consumer to work requires the sophistication and flexibility level to and complicated and prohibitively expensive It will be.

この問題に加えて、将来的に新規なフォーマットが導入された場合には、ローカル装置は、その新規なフォーマットをサポートするハードウェア能力をもたないことがあり、これは、消費者がアップグレード型のローカルメディア装置を購入しなければならないことを意味する。 In addition to this problem, when a new format has been introduced in the future, the local device may not have the hardware capability to support the new format, which the consumer upgrade type which means that it must purchase the local media device. 例えば、高解像度ビデオ又はステレオビデオ(例えば、各目に対して1つのビデオストリーム)が後日に導入された場合には、ローカル装置は、そのビデオをデコードする計算能力をもたないか、又は新たなフォーマットでビデオを出力するためのハードウェアをもたないことがある(例えば、各目に60fpsが与えられて、120fpsのビデオがシャッター付き眼鏡と同期されることでステレオ感が達成されると仮定すれば、消費者のビデオハードウェアが60fpsビデオしかサポートできない場合、このオプションは、アップグレード型ハードウェアを購入しなければ、利用できない)。 For example, if the high-resolution video or stereoscopic video (e.g., one video stream for each eye) were introduced at a later date, either local device does not have the computational capability to decode the video, or new a format may not have the hardware to output the video (e.g., 60fps is given to each eye, the stereo feeling is achieved by 120fps video is synchronized with shuttered glasses If it is assumed, if the consumer of video hardware is 60fps video can only support, this option is, if you do not buy the upgrade type hardware, can not be used).

メディア装置の老朽化及び複雑さの問題は、精巧な双方向メディア、特に、ビデオゲームに至ったときには、重大な問題となる。 Problems aging and complexity of the media devices, sophisticated interactive media, especially when reaches the video game becomes a serious problem.

近代的なビデオゲームアプリケーションは、主として、4つの主要な非ポータブルハードウェアプラットホーム:即ち、Sony Playstation(登録商標)1、2及び3(PS1、PS2及びPS3)、Microsoft Xbox(登録商標)及びXbox 360(登録商標)、Nintendo Gamecube(登録商標)及びWii TM 、並びにPCベースのゲーム、に分割される。 Modern video game applications, mainly, the four major non-portable hardware platforms: namely, Sony Playstation (R) 1, 2 and 3 (PS1, PS2 and PS3), Microsoft Xbox (R) and Xbox 360 (registered trademark), it is divided Nintendo Gamecube (R) and Wii TM, and PC-based games, the. これらプラットホームの各々は、他のものとは異なり、1つのプラットホームで実行するように書かれたゲームは、別のプラットホームでは実行されない。 Each of these platforms is different from the others, in a game written to run on one platform, does not run on another platform. 又、装置のある世代から次の世代への互換性の問題もある。 In addition, there is also a compatibility problem from the generation of equipment to the next generation. ソフトウェアゲーム開発者の大半が、特定のプラットホームとは独立して設計されたソフトウェアゲームを創作しても、特定のゲームを特定のプラットホームで実行するためには、特定のプラットホームで使用するようにゲームを適応させるのに、ソフトウェアの専有レイヤ(しばしば「ゲーム開発エンジン」と称される)が必要になる。 Software majority of game developers, even created a software game that is designed independently of the particular platform, in order to perform a particular game on a specific platform, game for use with specific platform to adapt the software proprietary layer (often referred to as "game development engine") is required. 各プラットホームは、消費者へ「コンソール」(即ち、TV又はモニタ/スピーカに取り付けられるスタンドアローンボックス)として販売されるか、或いはPCそれ自体である。 Each platform, "console" to the consumer (i.e., stand-alone box attached to a TV or monitor / speakers) or sold as, or a PC itself. 典型的に、ビデオゲームは、精巧なリアルタイムソフトウェアアプリケーションとして実施されるビデオゲームを含むBlu−ray DVD、DVD−ROM、又はCD−ROMのような光学的メディアで販売される。 Typically, video games, Blu-ray DVD including video game embodied as a sophisticated real-time software applications, are sold in optical media such as DVD-ROM, or CD-ROM. 家庭用ブロードバンドの速度が高まるにつれて、ビデオゲームは、ダウンロードに利用されることが益々増えている。 As the speed of home broadband increases, video games, be available to download it is increasing more and more.

ビデオゲームソフトウェアとのプラットホーム互換性を得るための特定の要件は、進歩型ビデオゲームのリアルタイム性及び高計算要件のために極めて厳しいものである。 Specific requirements for obtaining platform compatibility with video game software is extremely demanding because of the real-time and high computational requirements of advanced video game. 例えば、あるPCから、より速い処理ユニット又はコアをもつ別のPCへの製造アプリケーション(例えば、マイクロソフトワード)の一般的な互換性と同様に、ビデオゲームのある世代から次の世代への(例えば、XBoxからXBox360への、又はPlaystation2(PS2)からPlaystation3(PS3)への)完全なゲーム互換性が期待される。 For example, from one PC, manufacturing applications to another PC with a faster processing unit or core (e.g., Microsoft Word) Like the general compatibility of the generation of video game to the next generation (e.g. , from the XBox to XBox360, or Playstation2 from (PS2) to Playstation3 (PS3)) full game compatibility is expected. しかしながら、ビデオゲームでは、このようにならない。 However, in the video game, not this way. ビデオゲームの製造者は、典型的に、あるビデオゲーム世代が発売になるときに所与の価格点に対して考えられる最高の性能を求めているので、前世代システムに対して書かれた多くのゲームが後世代システムでは機能しないような急激なアーキテクチャー変更がシステムに対してしばしばなされる。 Video game manufacturers, typically, because seeking the best performance to be considered for a given price point when a video game generation is released, many written for the previous generation system Games sudden architectural changes that do not work in the post-generation systems are often made to the system. 例えば、XBoxは、プロセッサのx86ファミリーをベースとしたものであり、一方、XBox360は、PowerPCファミリーをベースとしたものである。 For example, XBox is those based on x86 family of processors, whereas, XBox360 is those based on PowerPC family.

従来のアーキテクチャーをエミュレートするための技術を利用できるが、ビデオゲームがリアルタイムアプリケーションであるとすれば、エミュレーションにおいて厳密に同じ挙動を達成することはしばしば不可能である。 While the conventional architecture can use technology to emulate, if the video game is real-time applications, it is often not possible to achieve exactly the same behavior in an emulation. これは、消費者、ビデオゲームコンソール製造者、及びビデオゲームソフトウェア発行者にとって損害である。 This is the consumer, is a loss for the video game console manufacturers, and video game software publisher. 消費者については、全てのゲームをプレイできるようにするために、ビデオゲームコンソールの新旧の世代をTVに接続したままにする必要があることを意味する。 For consumers, it means that in order to be able to play all the games, there is a need to remain connected the old and new generation of video game console to the TV. コンソールの製造者については、エミュレーションに関連したコスト、及び新規コンソールの採用に手間取ることを意味する。 For console manufacturers, it means that the time-consuming cost associated with emulation, and the adoption of the new console. 又、発行者については、全ての潜在的な消費者に届くように、新たなゲームの複数のバージョンを発売する必要があり、即ちビデオゲームのブランド(例えば、XBox、Playstation)ごとのバージョンを発売するだけでなく、所与のブランドのバージョン(例えば、PS2及びPS3)ごとのバージョンをしばしば発売する必要がある。 In addition, for the publisher, to reach to all potential consumers, there is a need to launch multiple versions of new games, namely video game brand (for example, XBox, Playstation) released a version of each as well as, given the brand version (for example, PS2 and PS3) it is necessary to frequently launch a version of each. 例えば、他のプラットホームの中でも、XBox、XBox 360、PS2、PS3、Gamecube、Wii及びPCに対して、エレクトロニックアーツ“Madden NFL 08”の個別バージョンが開発されている。 For example, among other platforms, XBox, XBox 360, PS2, PS3, Gamecube, relative Wii and PC, separate version of Electronic Arts "Madden NFL 08" has been developed.

セルラー(セル)電話及びポータブルメディアプレーヤのようなポータブル装置も、ゲーム開発者への挑戦を提示する。 Cellular (cell) portable devices such as phones and portable media players also presents a challenge to the game developers. 次第に、このような装置は、ワイヤレスデータネットワークに接続されており、ビデオゲームをダウンロードできるようになっている。 Gradually, this device is connected to a wireless data network, and to be able to download video games. しかし、市場には、広範囲な異なる表示解像度及び計算能力をもつ種々様々なセル電話及びメディア装置が出回っている。 However, the market has been around the wide variety of cell phones and media devices with a wide range of different display resolutions and computing capabilities. 又、このような装置は、典型的に、電力消費、コスト及び重量に制約があるので、カリフォルニア州サンタクララのNVIDIAで製造される装置、等のグラフィックプロセッシングユニット(GPU)のような進歩型グラフィック加速ハードウェアに欠けるものである。 Further, such devices are typically power consumption, since there is a limitation in cost and weight, system manufactured by NVIDIA of Santa Clara, progressive type graphic, such as graphic processing unit etc. (GPU) one in which lack of acceleration hardware. その結果、ゲームソフトウェアの開発者は、典型的に、多数の異なる形式のポータブル装置に対して所与のゲームタイトルを同時に開発する。 As a result, game software developers typically simultaneously develop a given game title for a number of different types of portable devices. ユーザは、自分の特定のセル電話又はポータブルメディアプレーヤに対して所与のゲームタイトルが得られないことが分かる。 The user, it can be seen that can not be obtained given game title against their own particular cell phone or portable media player.

家庭用ゲームコンソールの場合には、ハードウェアプラットホームの製造者は、典型的に、彼等のプラットホームでゲームを発行する能力についてソフトウェアゲーム開発者にロイヤリティを課する。 In the case of the home video game console, the manufacturer of the hardware platform, typically charge a royalty to the software game developers for the ability to issue the game in their platform. セル電話の電信会社も、典型的に、ゲームをセル電話にダウンロードするためにゲーム発行者にロイヤリティを課する。 Telegraph company of cell phones, typically charge a royalty to the game publisher to download the game on the cell phone. PCゲームの場合には、ゲームを発行するために支払われるロイヤリティはないが、ゲームの開発者は、典型的に、生じ得る広範囲のPCコンフィギュレーション及びインストール問題をサポートするための消費者サービス負担が大きいために、高いコストに直面する。 In the case of the PC game, but loyalty is not to be paid in order to issue the game, game developers, typically, the consumer service burden to support a wide range of PC configuration and installation issues that may arise for large, face a high cost. 又、PCは、典型的に、ゲームソフトウェアの海賊行為に対してバリアがほとんどない。 In addition, PC is, typically, there is almost no barrier against piracy of game software. というのは、それらは、技術的知識のあるユーザによって再プログラムが容易であり、ゲームの海賊版を容易に作成して(例えば、インターネットを通して)容易に配布することができる。 Since they are easy to re-programmed by the user with technical knowledge, pirated game easily create (e.g., through the Internet) can be easily distributed. 従って、ソフトウェアゲーム開発者については、ゲームコンソール、セル電話及びPCにおいて発行する上でコストがかかり且つ欠点があることになる。 Therefore, for software game developer, game console, so that the cost-consuming and there is a disadvantage in terms of issuing the cell phone and PC.

コンソール及びPCソフトウェアのゲーム発行者にとって、コストは、これだけでは終わらない。 For the console and PC software game publisher of, cost, not end this alone. 小売チャンネルを通してゲームを配布するために、発行者は、利ざやを得るように小売店の販売価格より低い卸売価格を課する。 In order to distribute the game through the retail channel, the issuer, impose a lower wholesale price than the selling price of retail stores to obtain profit margins. 又、発行者は、典型的に、製造コストを支払いそしてゲームを保持する物理的メディアを配布しなければならない。 In addition, the issuer, typically, must distribute the physical media to hold the payment and game manufacturing cost. 又、発行者は、例えば、ゲームが売れない場合、ゲームの価格が下がった場合、或いは小売店が卸売価格の一部又は全部を払い戻し及び/又はゲームを買い手から引き取らねばならない場合に考えられる不測の事態をカバーするために小売店により「価格保護費用」がしばしば課せられる。 In addition, the issuer, for example, if the game is not sold, is considered in the case when the price of the game has dropped, that or the retail store must be drawn off from the buyer a refund and / or game some or all of the wholesale price unforeseen "price protection costs" by the retail outlets in order to cover the situation of is often imposed. 更に、小売店は、典型的に、広告チラシでゲームを市場に出す上で助けとなるように発行者に費用を課する。 In addition, retail stores, typically, a game in advertising flyers impose a cost to the issuer so as to help in to market. 更に、小売店は、ゲームをプレイし終えたユーザからゲームを買い戻して、それを中古ゲームとして販売し、典型的に、中古ゲームの収入をゲーム発行者と分配しないことが増えている。 In addition, retailers, game repurchased the game from the user you have finished playing, and sell it as a used game, typically, it is increasingly not shared with the game publisher revenue of used games. ゲーム発行者に課せられるコスト負担に加えて、しばしばゲームの海賊版が作成されてインターネットを通して配布され、ユーザがそれをダウンロードして無料でコピーする事態になっている。 In addition to the cost burden imposed on the game publisher, has often been created game of pirated are distributed through the Internet, users download it become a situation that you want to copy for free.

インターネットのブロードバンド速度が高まりつつあり、そして米国内及び世界中で、特に、家庭や、インターネット接続PCがレンタルされるインターネット「カフェー」へのブロードバンド接続がより一般的になってきているので、ゲームは、PC又はコンソールへのダウンロードを経て益々配布されてきている。 There is a growing broadband speed of the Internet, and in the United States and around the world, in particular, home and, because the broadband connection to the Internet "cafes" that Internet-connected PC is rental is becoming more common, the game , it has been increasingly distributed through the download to a PC or console. 又、マルチプレーヤ及び大規模マルチプレーヤのオンラインゲームをプレイするためにブロードバンド接続が益々使用されてきている(それらは、両方とも、本開示では頭文字“MMOG”で参照される)。 Also, broadband connections to play online games multiplayer and massively multiplayer player have been increasingly used (they both, in the present disclosure is referred to in the acronym "MMOG"). これらの変更は、小売配布に関連した問題及びコストをある程度軽減する。 These changes, to some extent alleviate the problems and costs associated with retail distribution. オンラインゲームをダウンロードすることは、配布コストが典型的に僅かであり且つ売れ残りメディアからのコストがほとんど又は全くないという点で、幾つかの欠点をゲーム発行者に差し向ける。 That you download the online game, in terms of the cost of the from and unsold media is the distribution cost is typically only little or not at all, directing some of the drawbacks to the game publisher. しかし、ダウンロードされたゲームは、依然、海賊行為を受け、そしてそのサイズ(しばしば数ギガバイトのサイズ)のために、ダウンロードするのに非常に長い時間を要する。 However, the downloaded game, still, received the piracy, and because of its size (often several gigabytes in size of), takes a very long time to download. 更に、ポータブルコンピュータ又はビデオゲームコンソールと共に販売されるような小さなディスク装置は複数のゲームで埋め尽くされる。 Furthermore, a small disk drive such as sold with portable computers or video game console is filled with multiple games. しかしながら、ゲーム又はMMOGがプレイ可能なゲームのためのオンライン接続を要求する程度まで、海賊版の問題は、軽減されている。 However, to the extent that game or MMOG to request an online connection for a playable game, piracy problems have been reduced. というのは、ユーザが、通常、有効なユーザアカウントを有することが要求されるからである。 Because the user is because usually required to have a valid user account. ディスプレイスクリーンのビデオを撮影するカメラ又はスピーカからの音声を録音するマイクロホンによりコピーできるリニアメディア(例えば、ビデオ及び音楽)とは異なり、各ビデオゲームの経験は独特なものであり、簡単なビデオ/オーディオ記録を使用してコピーすることができない。 Linear media can be copied by a microphone to record audio from the camera or speaker for photographing the display screen of the video (e.g., video and music) Unlike experience of each video game is unique, simple video / audio It can not be copied using the record. 従って、著作権法が強力に施行されておらず、海賊行為が横行する地域でも、MMOGは、海賊行為から遮蔽され、それ故、ビジネスをサポートすることができる。 Therefore, it has not been strongly enforced copyright law, even in areas where piracy is rampant, MMOG is shielded from piracy, therefore, it is possible to support the business. 例えば、Vivendi SAの“World of Warcraft”MMOGは、世界中にわたって海賊行為で悩まされずに首尾良く展開された。 For example, "World of Warcraft" MMOG of Vivendi SA have been successfully deployed without being plagued by piracy across the world. そして、多くのオンライン又はMMOGゲーム、例えば、Linden Labの“Second Life”MMOGは、オンラインツールを使用して資産を買い、売り、そして形成するゲームに内蔵された経済的モデルを通してゲームのオペレータのための収入を発生する。 And, many online or MMOG games, for example, "Second Life" MMOG of Linden Lab is, buy an asset using an online tool, sell, and for the game of the operator through the economic model that has been built into the game to form to generate revenue. 従って、従来のゲームソフトウェアの購入又は契約に加えて、メカニズムを使用して、オンラインゲームを使用するための支払をすることができる。 Therefore, in addition to the purchase or contract of the conventional game software, using the mechanism, it is possible to pay for the use of online games.

オンラインの性質又はMMOGにより海賊行為をしばしば軽減できるが、オンラインゲームオペレータは、依然、残りの挑戦に直面している。 The online nature or MMOG can often reduce the piracy, online game operator, still, we are faced with the rest of the challenge. 多くのゲームは、オンライン又はMMOGが適切に機能するために実質的なローカル(即ち、家庭内)処理リソースを要求する。 Many games, substantial local to online or MMOG to function properly (i.e., home) requires processing resources. ユーザは、性能の低いローカルコンピュータ(例えば、ローエンドラップトップのような、GPUをもたないもの)を有する場合に、ゲームをプレイできないことがある。 The user is less local computer (e.g., such as low-end laptop, having no GPU) in performance if it has, it may not be possible to play the game. 更に、ゲームコンソールが古くなるにつれて、最新型から徐々に後退し、より進歩したゲームを取り扱うことができなくなる。 In addition, as the game console ages, gradually retreat from state-of-the-art, will not be able to handle the more advanced games. ユーザのローカルPCがゲームの計算要求を取り扱いできると仮定しても、しばしばインストールの複雑さがある。 User's local PC even assuming can handle game calculation request, often the complexity of installation. ドライバの互換性がないことがある(例えば、新たなゲームがダウンロードされる場合に、グラフィックドライバの新たなバージョンがインストールされ、これは、グラフィックドライバの古いバージョンに基づく以前にインストールされたゲームを不作動にすることがある)。 It may be incompatible driver (e.g., when a new game is downloaded, the new version of the graphics driver is installed, this is the installed game previously based on the old version of the graphics driver not there is possible to operate). コンソールは、より多くのゲームがダウンロードされるにつれて、ローカルディスクスペースを使い果たす。 The console, as more of the game is downloaded, run out of local disk space. 複雑なゲームは、典型的に、バグが見つかって修理されたとき、又はゲームに変更がなされた場合に(例えば、ゲームのレベルがプレイするのに難し過ぎるか又は容易過ぎるとゲーム開発者が分かった場合に)、ゲーム開発者から時間と共にダウンロードされたパッチを受け取る。 Complex game, typically, when the bug has been repaired found, or if the change in the game has been made (for example, when the game level is too or easy too difficult to play known game developers was the case), receive a patch that has been downloaded over time from the game developers. これらのパッチは、新たなダウンロードを要求する。 These patches, to request a new download. しかし、時々、全てのユーザが全てのパッチのダウンロードを完了するのではない。 However, from time to time, all users not to complete the download of all of the patch. 他のときには、ダウンロードされたパッチが他の互換性又はディスクスペース消費の問題を導入する。 At other times, patches that have been downloaded to introduce the other of compatibility or disk space consumption problem.

又、ゲームのプレイ中に、グラフィック又は挙動情報をローカルPC又はコンソールに与えるために大きなデータダウンロードが要求されることがある。 In addition, during game play, there may be a large data downloads in order to give a graphic or behavior information to the local PC or console is required. 例えば、ユーザがMMOGの部屋に入り、そしてグラフィックデータで作られるか又はユーザのローカルマシンでは得られない挙動をもつシーン又はキャラクタに遭遇する場合には、そのシーン又はキャラクタのデータをダウンロードしなければならない。 For example, the user enters the room MMOG, and when it encounters a scene or a character with or Never behavior resulting in the user's local machine made by the graphic data, have to download the data of the scene or character not not. その結果、インターネット接続が充分に高速でない場合には、ゲームのプレイ中に実質的な遅延を招く。 As a result, if the Internet connection is not fast enough, it leads to a substantial delay in the play of the game. そして、遭遇したシーン又はキャラクタが、ローカルPC又はコンソールを越えるような記憶スペース又は計算能力を要求する場合には、ユーザがゲームを進められないか又は質の低いグラフィックで続けねばならない事態を招く。 Then, I encountered a scene or character, to request the storage space or computing power, such as more than a local PC or console, lead to a situation in which the user must be continued in the low graphics of or quality not proceed the game. 従って、オンライン又はMMOGゲームは、それらの記憶及び/又は計算の複雑さの要件をしばしば制限する。 Thus, online or MMOG games, the complexity of the requirements of their storage and / or calculation often limited. 更に、それらは、ゲーム中のデータ転送の量をしばしば制限する。 Furthermore, they often limit the amount of data transfers during the game. 又、オンライン又はMMOGは、ゲームをプレイできるユーザの市場を狭めることもある。 In addition, online or MMOG is also narrowing the user of the market that can play the game.

更に、技術的知識のあるユーザがゲームのローカルコピーをリバースエンジニアリングし、そしてチートできるようにゲームを変更することが次第に増えてきている。 Additionally, users with technical knowledge is reverse engineering local copies of games and to change the game to allow cheat has been increasing gradually. チートは、人間的に可能である以上に速くボタン押しを繰り返すのと同程度に簡単である(例えば、銃を非常に速く撃つように)。 Cheat is simple as the repeat faster push button than is humanly possible (e.g., to shoot very fast gun). ゲーム内資産トランザクションをサポートするゲームでは、チートが、実際の経済的価値の資産を含む詐欺的トランザクションを生じるレベルの精巧さに到達する。 In games that support in-game asset transactions, cheat reaches the actual sophistication level resulting fraudulent transactions involving assets of economic value. オンライン又はMMOG経済的モデルがそのような資産トランザクションに基づくものであるときは、これは、ゲームオペレータに実質的に有害な結果をもたらす。 When an online or MMOG economic model is based on such asset transactions, this results in substantial detrimental consequences to the game operators.

新たなゲームを開発するコストは、PC及びコンソールが(例えば、リアルタイムレイトレーシングのようなより現実的なグラフィック、及びリアルタイム物理的シミュレーションのようなより現実的な挙動と共に)益々精巧なゲームを作成できるのにつれて増大している。 Cost, PC and console (e.g., realistic graphics than such as real-time ray tracing, and with realistic behavior more like a real-time physical simulation) can create increasingly sophisticated games to develop new games It is increasing as the. ビデオゲーム産業の初期には、ビデオゲーム開発は、アプリケーションソフトウェア開発に非常に類似したプロセスであり、即ち開発コストの大部分は、ソフトウェアの開発であり、グラフィック、オーディオ、及び挙動エレメント又は「資産」の開発、例えば、広範囲な特殊効果をもつ動画に対して開発されるものではない。 In the early days of the video game industry, video game development is a process very similar to the application software development, that is a large part of the development costs is the development of software, graphics, audio, and behavior elements or "assets" development, for example, not intended to be developed for video with extensive special effects. 今日、多くの精巧なビデオゲーム開発努力は、ソフトウェア開発よりも、特殊効果に富んだ動画開発に厳密に似ている。 Today, many of the sophisticated video game development effort, than software development, are exactly similar to the motion picture development rich in special effects. 例えば、多くのビデオゲームは、3D世界のシミュレーションを与え、そして益々ホトリアリスティックな(即ち、生きた動きの映像写真撮影と同程度に現実的に見えるコンピュータグラフィックの)キャラクタ、プロップ及び環境を発生する。 For example, many of the video game, giving the simulation of the 3D world, and increasingly photo-realistic (that is, living in the realistic look computer graphics to the same extent as video photography of movement) character, generating a prop and environment to. ホトリアリスティックなゲーム開発の最も挑戦的な観点の1つは、生きた動きの人間の顔と見分けがつかないようなコンピュータ発生の人間の顔を創作することである。 One of the most challenging aspects of photorealistic game development is that the human face and to tell of living movement is created the computer-generated of a human face that does not stick. カリフォルニア州サンフランシスコのMovaにより開発されたContour TMリアリティキャプチャーのような顔捕獲技術は、演技者の顔の正確な形状を運動中に高い解像度で捕獲し追跡する。 Face capture techniques such as Contour TM reality capture developed by Mova of San Francisco, California, to capture the exact shape of the actor's face with high during exercise resolution tracking. この技術は、捕獲された生きた動きの顔と実質上区別できない3Dの顔をPC又はゲームコンソール上にレンダリングできるようにする。 This technology, the face of the captured alive movement of the face and virtually indistinguishable from 3D to be rendered on a PC or a game console. 「ホトリアル」な人間の顔を捕獲してレンダリングすることは、多数の観点で有用である。 Be rendered to capture the face of human beings "photorealistic" is useful in a number of point of view. 第1に、非常に認識し易い有名人又はスポーツプレーヤ(多くの場合に高い費用で雇われた)がビデオゲームにしばしば使用され、不完全さがユーザにとって明らかで、視覚体験(viewing experience)を混乱させ又は不快にさせることがある。 First, the very recognition and easy celebrity or sports player (was hired at a high cost in many cases) is often used in video games, the obvious imperfections is for the user, confuse the visual experience (viewing experience) which may be in the allowed or discomfort. 又、多くの場合に、高度のホトリアリズムを達成するには高度の細部が要求され、即ち、潜在的に、顔が動くときに多角形及び/又はテクスチャがフレームごとに変化するようにして、多数の多角形及び高解像度テクスチャをレンダリングすることが要求される。 Further, in many cases, it is required a high degree of detail is to achieve a high degree of Hotoriarizumu, i.e., potentially, polygonal and / or texture when the face moves are to be changed for each frame, to render multiple polygons and high-resolution texture is required.

詳細なテクスチャを伴う多数の多角形のシーンが急速に変化するときには、ゲームをサポートするPC又はゲームコンソールは、ゲームセグメントで発生される所要数のアニメーションフレームに対して充分な多角形及びテクスチャデータを記憶するに足るRAMを有していないことがある。 When the number of polygons in the scene with detailed textures change rapidly, PC, or game console supporting the game, enough polygon for the required number of animation frames generated in the game segment and texture data may not have a RAM sufficient to store. 更に、PC又はコンソールに典型的に利用できる単一の光学的ドライブ又は単一のディスクドライブは、通常、RAMより非常に低速であり、そして典型的に、多角形及びテクスチャをレンダリングする際にGPUが受け容れられる最大データレートを維持することができない。 Additionally, GPU in a single optical drive or single disk drive that can be typically utilized on the PC or console is typically of very slower than RAM, and typically renders the polygons and textures it is impossible to keep the maximum data rate is accepted. 現在のゲームは、典型的に、多角形及びテクスチャの大部分をRAMにロードし、これは、所与のシーンの複雑さ及び時間巾が主としてRAMの容量により制限されることを意味する。 Current games typically most of the polygons and textures loaded into RAM, which means that the complexity and duration of a given scene is largely limited by the capacity of the RAM. 例えば、顔のアニメーションの場合に、これは、ゲームが休止して多角形及びテクスチャ(及び他のデータ)をより多くのフレームに対してロードする前に、PC又はゲームコンソールを、ホトリアルでない低解像度の顔、又は限定された数のフレームについてのみアニメ化できるホトリアルな顔、のいずれかに制限する。 For example, in the case of facial animation, which, before loading polygon game is paused and textures (and other data) to more frames, the PC or game console, a low resolution not photoreal limiting face, or limited photoreal face that can animated only to the number of frames, to one of the.

“Loading...”に類似したメッセージをPC又はコンソールが表示するときに進行バーがスクリーンを横切ってゆっくり移動するのを見ていることは、複雑なビデオゲームの今日のユーザによって固有の欠点として容認されている。 That the "Loading ..." progress bar when a similar message PC or console is displayed in is looking at to move slowly across the screen, as an inherent drawback by today's user of complex video game It has been accepted. 次のシーンがディスク(ここで、「ディスク」とは、特に指示のない限り、不揮発性の光学又は磁気メディア、並びに非ディスクメディア、例えば、半導体「フラッシュ」メモリを指す)からロードする間の遅延は、数秒又は数分を要する。 (Here, the "disk", unless otherwise indicated, non-volatile optical or magnetic media, as well non-disk media, for example, a semiconductor "flash" refers to memory) next scene disk delay while loading the requires a few seconds or a few minutes. これは、時間の浪費であり、ゲームプレーヤにとってかなりのフラストレーションとなる。 This is a waste of time, and considerable frustration for the game player. 上述したように、多くの又は全ての遅延は、多角形、テクスチャ又は他のデータをディスクからロードする時間によるものであるが、PC又はコンソール内のプロセッサ及び/又はGPUがシーンのためのデータを準備する間にロード時間の一部分が費やされる場合もある。 As mentioned above, many or all of the delay, polygonal, but is due to the time to load textures or other data from the disk, the data for the processor and / or GPU is a scene in the PC or console If a portion of the load time in between to prepare is spent also. 例えば、サッカービデオゲームは、プレーヤが、多数の選手、チーム、スタジアム及び天候条件の中から選択を行えるようにする。 For example, a soccer video game, the player is, to allow a large number of players, the team, the selection from among the stadium and weather conditions. 従って、どんな特定の組合せが選択されるかに基づいて、異なる多角形、テクスチャ及び他のデータ(集合的に「オブジェクト」)がシーンに対して要求される(例えば、異なるチームは、そのユニホームに異なるカラー及びパターンを有する)。 Thus, based on what particular combination is chosen, different polygons, textures and other data (collectively "objects") is required for the scene (e.g., different teams, their uniforms with different colors and patterns). 多数の又は全ての種々の順列を列挙し、多数の又は全てのオブジェクトを前もって予め計算し、そしてそれらオブジェクトを、ゲームを記憶するのに使用されるディスクに記憶することができる。 Many or all of the various permutations listed, advance pre-computed multiple or all of the objects and their object may be stored on the disk used to store the game. しかし、順列の数が多い場合には、全オブジェクトに対して要求される記憶の量が、ディスクに適合するには大き過ぎる(ダウンロードするには不可能である)ことがある。 However, if the number of permutations is large, the amount of memory that required for all objects, to fit on the disk (it is impossible to download) too large it is. 従って、既存のPC及びコンソールシステムは、典型的に、所与のシーンの複雑さ及びプレイ時間巾の両方について制約があり、複雑なシーンに対する長いロード時間で悩まされている。 Thus, existing PC and console systems are typically there are restrictions on both the complexity and play duration of given scenes and suffer a long load times for complex scenes.

従来のビデオゲームシステム及びアプリケーションソフトウェアシステムに伴う別の顕著な制限は、それらが、例えば、PC又はゲームコンソールへ処理のためにロードされる必要のある多角形及びテクスチャのような3Dオブジェクトの大きなデータベースを次第に使用してきていることである。 Another significant limitations associated with prior art video game systems and application software systems, large database of them, for example, polygons and 3D objects such as texture needs to be loaded for the process to the PC or game console the is that has been increasingly used to. 上述したように、このようなデータベースは、ディスクにローカルに記憶されるときに長いロード時間を要する。 As described above, such a database requires a long load times when they are locally stored on the disk. しかしながら、ロード時間は、通常、データベースがリモート位置に記憶されそしてインターネットを通してアクセスされる場合には更に厳しいものとなる。 However, the load time usually becomes more severe if the database is stored a remote location and is accessed through the Internet. このような状態では、大きなデータベースをダウンロードするのに、数分、数時間、又は数日を要することがある。 In such a state, to download a large database, it may take a few minutes, a few hours, or a few days. 更に、このようなデータベースは、多くの場合に多大な費用で生成され(例えば、ゲーム、映画又は歴史ドキュメンタリーに使用するための詳細な高いマスト付きの帆船の3Dモデル)、そしてローカルエンドユーザに販売するように意図される。 Furthermore, such a database is produced by the great expense often (e.g., games, sailboats 3D model of detailed high with mast for use in movie or historical documentary) and sold to local end users It is intended to. しかしながら、データベースは、ローカルユーザへダウンロードされると、海賊行為を受けるおそれがある。 However, the database, there is a possibility that receiving is downloaded to the local user, the piracy. 多くの場合、ユーザは、データベースを評価してそれがユーザのニーズに合うか(例えば、ユーザが特定の動きをするときにゲームキャラクタの3Dコスチュームが満足な見掛け又は外観を有するか)どうか調べるだけのためにデータベースのダウンロードを希望する。 Often, the user, it evaluates the database it fits the needs of the user (e.g., having a 3D costume satisfactory appearance or look of the game character when a user makes a specific movement) if examined by I want to download the database for. 長いロード時間は、購入することを決断する前に3Dデータベースを評価するユーザにとって妨げになる。 Long load time will interfere for the user to evaluate the 3D database before you decided to buy.

MMOGでは、特に、ユーザがカスタマイズされたキャラクタを次第に使用できるようなゲームとして、同様の問題が発生する。 In MMOG, in particular, the user is customized character as the game, such as increasingly available, a similar problem occurs. キャラクタを表示するためのPC又はゲームコンソールの場合に、3D幾何学(多角形、テクスチャ、等)のデータベースへのアクセス及びそのキャラクタに対する挙動(例えば、キャラクタが盾を有する場合に、その盾が槍をそらすに充分な強度であるかどうか)を得ることが必要である。 In the case of PC or game console for displaying characters, 3D geometry (polygons, textures, etc.) access and behavior for the character to the database (for example, if the character has a shield, the shield spear it is necessary to obtain whether sufficient strength) to divert. 典型的に、MMOGがユーザにより最初にプレイされるときには、キャラクタに対する多数のデータベースが、ゲームの初期コピーと共に予め入手でき、これは、ゲームの光学的ディスクにローカルで入手できるか又はディスクへダウンロードされる。 Typically, when a MMOG is first played by a user, a large number of databases for characters, previously available with the initial copy of the game, which is downloaded to or disks available locally on the game optical disk that. しかし、ゲームが進行するにつれて、データベースがローカルで入手できないキャラクタ又はオブジェクトにユーザが遭遇する場合には(例えば、別のユーザがカスタマイズされたキャラクタを生成した場合には)、そのキャラクタ又はオブジェクトを表示できるまでに、そのデータベースがダウンロードされねばならない。 However, as the game progresses, (in the case that generated the example, the character another user customized) database if the user encounters a character or object is not available locally, display the character or object in until, that database must be downloaded. これは、ゲームの実質的な遅延を生じさせる。 This results in a substantial delay of game.

ビデオゲームの精巧さ及び複雑さがあるとすれば、従来のビデオゲームコンソールでのビデオゲーム開発者及び発行者の別の挑戦は、多くの場合、数千万ドルのコストで2ないし3年を掛けてビデオゲームを開発することである。 If there is a sophistication and complexity of video games, video game developers and publishers another challenge in the traditional video game console, in many cases, from 2 at a cost of several tens of million US dollars to 3 years it is to develop a video game over. 新規なビデオゲームコンソールプラットホームがほぼ5年毎に一度の割合で導入されると仮定すれば、ゲーム開発者は、新規なプラットホームが発売されるのと同時にビデオゲームを入手できるようにするために、新規なゲームコンソールの発売よりこれらゲーム年だけ前に開発作業をスタートする必要がある。 Assuming that the new video game console platform is introduced at a rate of once in approximately every five years, game developers, in order to be able to get from a video game at the same time a new platform will be released, there is a need to start the development work before only these games a year from the launch of new game console. ほぼ同じ時期に(例えば、互いに1年又は2年以内に)競合する製造者から多数のコンソールが時々発売されるが、調べなければならないものは、各コンソールの人気であり、例えば、どのコンソールがビデオゲームソフトウェアの最大売り上げを生じるかである。 Almost the same time, but many of the console will be released from time to time from (for example, one year or within two years of each other) competing manufacturer, is one that must be examined, is the popularity of each console, for example, what console it is how produce the greatest sales of video game software. 例えば、近年のコンソールサイクルでは、Microsoft XBox360、Sony Playstation3及びNintendo Wiiがほぼ同じ一般的な時間枠で導入されるようにスケジュールされている。 For example, recent console cycle, are scheduled to Microsoft XBox360, Sony Playstation3 and Nintendo Wii are introduced in substantially the same general timeframe. しかし、導入の何年か前に、ゲーム開発者は、どのコンソールプラットホームが他のものより成功するか本質的に「賭け」をし、それに応じて、開発リソースを捧げなければならない。 However, a few years ago of introduction, game developers, any console platform is successful than others or essentially the "bet", according to it, must dedicate development resources. 又、動画制作会社も、映画の封切りの充分前に映画の成功の見込みの推定に基づいて限られた制作リソースを配分しなければならない。 In addition, video production company must also allocate production resources that are limited on the basis of the well before the estimation of the prospects of success of the movie premiere of the movie. ビデオゲームに要求される投資レベルの増大を仮定すれば、ゲーム制作は、動画制作と益々類似してきており、ゲーム制作会社は、特定のビデオゲームの将来の成功の推定に基づいて制作リソースを日常的に捧げる。 Assuming an increase in the level of investment that is required to video games, game production is, video production and are becoming more and more similar, game production company, everyday the production resources on the basis of an estimate of the future success of a particular video game to dedicate. しかし、動画会社とは異なり、この賭けは、単に制作それ自体の成功に基づくものではなく、むしろ、ゲームの実行が意図されたゲームコンソールの成功に基づいたものである。 However, unlike the video company, this bet, not simply based on the success of the production itself, but rather, is based on the success of the game console the execution of the game is intended. 複数のコンソールに対するゲームを一度に発売することでリスクを軽減できるが、この付加的な努力がコストを増大し、ゲームの実際の発売をしばしば遅らせる。 Games can reduce the risk by released at once for a plurality of the console, but this additional effort will increase the cost, often delay the actual launch of the game.

PCにおけるアプリケーションソフトウェア及びユーザ環境は、ユーザに対してより視覚的に訴えるだけでなく、より有効で且つ直感的なものにするために、計算上より集中的で、動的で且つ双方向のものとなる。 Application software and user environments in the PC is not only more visually appealing to the user, in order to more effective and intuitive, a more focused on computationally, and those two-way dynamic to become. 例えば、新規なWindows Vista TMオペレーティングシステム、及びMacintosh(登録商標)オペレーティングシステムの次々のバージョンは、視覚アニメーション効果を合体している。 For example, one after another version of the new Windows Vista TM operating system, and Macintosh (R) operating system, has been combining the visual animation effect. Autodesk社からのMaya TMのような進歩型グラフィックツールは、最新のCPU及びGPUの限界を押し進める非常に精巧な3Dレンダリング及びアニメーション能力を与える。 Advances types such as Maya TM from Autodesk, Inc. graphic tool, give it a very sophisticated 3D rendering and animation ability to push the limits of the latest CPU and GPU. しかしながら、これら新規なツールの計算上の要件は、そのような製品のユーザ及びソフトウェア開発者にとって多数の実際上の問題を生じさせる。 However, the computational requirements of these new tools create a number of practical issues for users and software developers of such products.

オペレーティングシステム(OS)の視覚表示は、もはや販売されていないが新規なOSで依然アップグレード可能である前世代のコンピュータを含めて、広範囲な種類のコンピュータにおいて機能しなければならないので、OSグラフィック要件は、典型的にGPUを含まないコンピュータを含めたOSのターゲットであるコンピュータの最小公分母によって大きく制限される。 Visual display of an operating system (OS) is no longer sold, including computer previous generation is still upgradeable with the new OS, since it must function in a wide variety of computer, OS graphics requirements typically is largely limited by the lowest common denominator of computers is the target of OS, including computer without the GPU. これは、OSのグラフィック能力を甚だしく制限する。 This severely limits the OS of graphics capability. 更に、バッテリ作動式のポータブルコンピュータ(例えば、ラップトップ)は、視覚表示能力を制限する。 Furthermore, battery-operated portable computers (e.g., laptops) limit the visual display capability. というのは、CPU又はGPUにおける高い計算上のアクティビティが、典型的に、電力消費を高め、バッテリ寿命を短くするからである。 Because, since the activity on the high calculation in CPU or GPU is typically increased power consumption shortens the battery life. ポータブルコンピュータは、典型的に、プロセッサが利用されないときに消費電力を下げるためにプロセッサのアクティビティを自動的に下げるソフトウェアを含む。 Portable computers typically include automatically lowers software processor activity to reduce power consumption when the processor is not utilized. あるコンピュータモデルでは、ユーザは、プロセッサのアクティビティを手動で下げることができる。 In some computer models the user may lower the processor activity manually. 例えば、ソニーのVGN−SZ280Pラップトップは、(低性能、長バッテリ寿命のために)片側に“Stamina”と表示され且つ(高性能、短バッテリ寿命のために)他側に“Speed”と表示されたスイッチを含む。 For example, VGN-SZ280P laptop Sony, appears as "Stamina" on one side (low-performance, due to the length battery life) and displayed as "Speed" on the other side (for high-performance, high short battery life) It has been a switch. ポータブルコンピュータで実行されるOSは、コンピュータがそのピーク性能能力の一部分で実行される場合でも、有用に機能することができねばならない。 OS to be executed by the portable computer, even if the computer is running on a portion of its peak performance capabilities, must be able to function usefully. 従って、OSグラフィック性能は、入手可能な最新の計算能力より遥かに下に留まることがしばしばある。 Thus, OS graphics performance, it often remains far below the latest computing power available.

Mayaのようなハイエンドの計算に強いアプリケーションは、高性能PCに使用されるという期待でしばしば販売される。 High-end of a strong application to the calculation, such as the Maya are often sold in the expectation that will be used in high-performance PC. これは、典型的に、非常に高い性能と、より高価で且つ低ポータブル性の最小公分母要求を確立する。 This is typically a very high performance, establish a more lowest common denominator request expensive and low portability. その結果、このようなアプリケーションは、汎用のOS(又はMicrosoft Officeのような汎用の生産アプリケーション)より非常に限定されたターゲット視聴者を有し、典型的に、汎用のOSソフトウェア又は汎用のアプリケーションソフトウェアより相当に少ない量で販売される。 As a result, such applications have a target audience that is very limited than a general-purpose of an OS (or general purpose productivity application, such as Microsoft Office), typically, a general-purpose OS software or general purpose application software sold more considerably smaller amounts. 又、多くの場合、見込みのあるユーザがこのような計算に強いアプリケーションを前もって試すことは困難であるから、潜在的な視聴者は更に限定される。 Also, in many cases, because the user with a prospective it is difficult to try advance a strong application to such calculation, potential audience is further limited. 例えば、学生がMayaの使い方を学習することを希望し、又はこのようなアプリケーションについて既に知識のある潜在的な買い手が購入(Mayaを実行できるハイエンドコンピュータを買うことも含む)に投資する前にMayaを試すことを希望すると仮定する。 For example, Maya before students wish to learn how to use Maya, or that for such application is a potential buyer, which already have knowledge to invest in the purchase (including to buy a high-end computer that can run the Maya) assume that you want to try. 学生又は潜在的な買い手は、Mayaのデモバージョンをダウンロードするか又はその物理的メディアコピーを得ることはできるが、Mayaをそのフル能力(例えば、複雑な3Dシーンを取り扱う)で実行できるコンピュータがない場合には、製品の完全なインフォームドアセスメントを行うことができない。 Student or potential buyers, although it is possible to obtain either or physical media copy to download Maya demo version, there is no computer that can run its full ability to Maya (e.g., handling a complex 3D scene) case, it is not possible to perform a complete informed assessment of the product. これは、このようなハイエンドアプリケーションの視聴者を制限するものである。 This is intended to limit the audience of such high-end applications. 又、これは、高い販売価格にも貢献する。 In addition, this also contributes to a higher selling price. というのは、開発コストは、通常、汎用アプリケーションより非常に少数の購入にわたって割賦されるからである。 Since the development cost is usually because the installment over a very small number of purchased from general-purpose application.

又、高価格アプリケーションは、個人や企業がアプリケーションソフトウェアの海賊版コピーを使用する大きな誘因も生み出す。 In addition, the high price application, create a big incentive for individuals and businesses to use a pirated copy of the application software. その結果、ハイエンドのアプリケーションソフトウェアは、種々の技術を通して海賊行為を軽減するためにそのようなソフトウェアの発行者による顕著な努力にも関わらず、海賊版がはびこることで悩まされている。 As a result, high-end application software, despite significant efforts by publishers of such software to mitigate piracy through various techniques suffer in pirated rampant. 海賊版のハイエンドのアプリケーションを使用するときでも、ユーザは、海賊版コピーを実行するために高価な最新のPCに投資する必要性を排除することはできない。 Even when using pirated high-end applications, users can not eliminate the need to invest in expensive modern PC to run the pirated copies. 従って、海賊版ソフトウェアのユーザは、その実際の小売価格の一部分でソフトウェアアプリケーションを使用できるが、そのアプリケーションをフルに利用するためには、高価なPCを購入又は入手することが依然要求される。 Thus, the user of pirated software, but software applications can be used in a portion of its actual retail price, in order to use the application in full, it is still required to purchase or obtain an expensive PC.

高性能の海賊版ビデオゲームのユーザについても同じことが言える。 The same is true for users of high-performance of pirated video games. 海賊行為者は、ゲームをそれらの実際の価格の一部分で得ることはできるが、ゲームを適切にプレイするのに必要な高価なコンピューティングハードウェア(例えば、GPU増強型PC、又はXBox360のようなハイエンドのビデオゲームコンソール)を購入することが依然要求される。 Pirate, but game can be obtained in a portion of their actual price, expensive computing hardware needed to properly play the game (e.g., such as GPU enhanced PC, a or XBox360 it is still required to purchase a high-end video game console). ビデオゲームが典型的に消費者にとって気晴らしであると仮定すれば、ハイエンドのビデオゲームシステムのための付加的なコストが法外なものとなる。 Assuming video game is distraction for typical consumer, additional costs for the high-end video game system is prohibitive. この事態は、現在の労働者の平均年収が米国に比してかなり低い国(例えば、中国)では、一層悪いものである。 This situation, in much lower country the average annual income of the current workers than in the United States (for example, China), it is even more bad. その結果、ハイエンドのビデオゲームシステム又はハイエンドのPCを所有するのは、人口の非常に僅かな割合だけとなる。 As a result, to own a high-end video game system or a high-end PC is a only a very small percentage of the population. このような国々では、インターネットに接続されたコンピュータを使用するための料金をユーザが支払う「インターネットカフェ」が極めて一般的となる。 In such countries, the fee for using a computer connected to the Internet user pay "Internet Cafe" is very common. 多くの場合に、このようなインターネットカフェは、プレーヤが計算に強いビデオゲームをプレイできるようにするGPUのような高性能特徴をもたない旧モデル又はローエンドPCしか有していない。 In many cases, such Internet cafes, the player only has the old model, or low-end PC does not have the high-performance features such as GPU to be able to play a strong video game in the calculation. これは、中国で非常に成功し、そこのインターネットカフェで一般にプレイされるVivendiの“World of Warcraft”のような、ローエンドPCで実行されるゲームの成功における重要なファクタである。 This is very successful in China, such as the general of Vivendi is played in "World of Warcraft" that at the bottom of the Internet cafe, which is an important factor in the success of a game to be carried out in the low-end PC. それと対照的に、“Second Life”のような計算に強いゲームは、中国のインターネットカフェにインストールされたPCでプレイできる見込みが極めて低い。 In contrast, the calculation to strong games like "Second Life" has a very low likelihood that can be played on the installed PC in China's Internet cafe. このようなゲームは、インターネットカフェの低性能PCにしかアクセスできないユーザには、実質上アクセス不能である。 Such games are users who do not have access only to low-performance PC of Internet cafes, it is virtually inaccessible.

又、ビデオゲームの購入を考えており、先ず、インターネットを経て自分の家にゲームのデモバージョンをダウンロードすることによりそれを試してみたいユーザにとってもバリアが存在する。 In addition, we believe the purchase of video games, first of all, the barrier also exists for users who want to try it by through the Internet to download the game demo version of his house. ビデオゲームのデモは、多くの場合、幾つかの特徴がディスエイブルされるか又はゲームのプレイ量に限度が課せられたゲームの一人前のバージョンである。 Demo of the video game is, in many cases, is a full-fledged version of the game that some of the features is a limit to the play amount of, or the game is disabled were imposed. これは、PC又はコンソールのいずれかにゲームをインストールして実行できるまでにギガバイトのゲームをダウンロードする長いプロセス(おそらく数時間)を伴うことがある。 This may involve a long process (perhaps a few hours) to download gigabytes of game before can install and run the game on either PC or console. PCの場合には、ゲームに対して必要とされる特殊なドライバ(例えば、DirectX又はOpenGLドライバ)を計算し、正しいバージョンをダウンロードして、それらをインストールし、次いで、PCがゲームをプレイできるかどうか決定することを含む。 Or in the case of a PC, a special driver, which is required for the game (for example, DirectX or OpenGL drivers) to calculate the, download the correct version, install them, then, PC can play the game It includes determining whether. この後者のステップは、PCが充分な処理(CPU及びGPU)能力、充分なRAM、及び互換性のあるOS(例えば、あるゲームは、Windows XPで実行されるが、Vistaでは実行されない)を有するかどうか決定することを含む。 This latter step, PC is enough processing (CPU and GPU) capability, sufficient RAM, and a compatible OS (e.g., some games are executed by the Windows XP, Vista in not executed) having or it includes determining whether. 従って、ビデオゲームデモを実行するよう試みる長いプロセスの後に、ユーザは、ユーザのPCコンフィギュレーションを仮定すれば、ビデオゲームデモがおそらくプレイできないことを充分見出すことができる。 Thus, after a long process of attempting to run a video game demo, the user, assuming the PC configuration of the user, it may be found that the video game demo can not possibly be played enough. 悪いことに、ユーザが、デモを試すために新規なドライバダウンロードすると、それらのドライババージョンは、ユーザがPCにおいて普通に使用している他のゲーム又はアプリケーションとの互換性がないことがあり、従って、デモをインストールすると、以前に動作できたゲーム又はアプリケーションが不作動になることがある。 Unfortunately, when the user new driver download to try the demo, these driver versions may be incompatible with other games or applications the user uses normally in PC, thus When you install the demo, there is a game or application was able to operate in previously becomes inoperative. これらのバリアは、ユーザにフラストレーションを与えるだけでなく、ゲームを市場に出すビデオゲームソフトウェア発行者及びビデオゲーム開発者にとってもバリアとなる。 These barriers, the user to not only give the frustration, also serves as a barrier for the video game software publishers and video game developers put the game on the market.

経済的な非効率さを招く別の問題は、所与のPC又はゲームコンソールが、通常、アプリケーション及び/又はゲームに対するあるレベルの性能要件を受け容れるように設計されていることに関する。 Another problem leading to economic inefficiency has given PC or game console is usually about that it is designed to accept a certain level of performance requirement for applications and / or games. 例えば、あるPCは、多少のRAMを有し、低速又は高速のCPUを有し、そしてGPUを有する場合には低速又は高速のGPUを有する。 For example, some PC has some RAM has slower or faster CPU, and if it has a GPU has a slow or fast GPU. あるゲーム又はアプリケーションは、所与のPC又はコンソールの全計算パワーの利点を取り入れるが、多くのゲーム又はアプリケーションは、そうではない。 A game or application, but take advantage of all the computing power of a given PC or console, many of the game or application, not the case. ゲーム又はアプリケーションについてのユーザの選択が、ローカルPC又はコンソールのピーク性能能力に達しない場合には、ユーザは、利用されない特徴に関してPC又はコンソール上で金銭を浪費することになる。 User selection for the game or application, if not reach the local PC or console of peak performance capability, the user will waste money on the PC or console respect features that are not available. コンソールの場合には、コンソールの製造者は、コンソールコストを助成するために必要であった以上に支払ったことになる。 In the case of the console, the console manufacturer would have paid more than was necessary to subsidize the console cost.

ビデオゲームを買って楽しむ際に存在する別の問題は、ユーザがゲームの購入を決める前に他の者がそのゲームをプレイしているのをユーザが見ることができるようにすることに関する。 Another problem that exists at the time to enjoy buying a video game relates to the user to allow the user to see the other person have to play the game before deciding to purchase the game. ビデオゲームを記録して後で再生するための多数の従来の解決策が存在する。 To record the video game there are a number of conventional solutions for later playback. 例えば、米国特許第5,558,339号は、(同じユーザ又は異なるユーザにより所有された)ビデオゲームクライアントコンピュータでの「ゲームプレイ」中にゲームコントローラのアクションを含むゲーム情報体情報を記録することを教示している。 For example, U.S. Patent No. 5,558,339, to record game information body information including the action of the game controller during the "game play" in (owned by the same user or different users) video game client computer It teaches. この状態情報を後で使用して、ビデオゲームクライアントコンピュータ(例えば、PC又はコンソール)上で幾つか又は全てのゲームアクションを再生することができる。 This state information is used later, the video game client computer (e.g., PC, or console) can be reproduced some or all of the game action on. この解決策の顕著な欠点は、ユーザが記録されたゲームを見るために、ユーザは、ゲームをプレイできるビデオゲームクライアントコンピュータを所有すると共に、記録されたゲーム状態が再生されたときにゲームプレイが同一となるようにそのコンピュータ上で実行されるビデオゲームアプリケーションを有していなければならないことである。 Notable drawback of this solution is to see the user is recorded game, the user, as well as possess a video game client computer capable of playing the game, the game play when the recorded game state is reproduced it is that must have a video game application running on the same and so as to that computer. この他に、ビデオゲームアプリケーションは、記録されたゲームと再生されるゲームとの間に実行の相違がないように書かれねばならない。 In addition, the video game application must be written so that there is no difference in execution between the game to be played and recorded game.

例えば、ゲームグラフィックは、一般的に、フレームごとに計算される。 For example, game graphics are generally computed on a frame-by-frame basis. 多くのゲームの場合に、ゲームロジックは、時々、シーンが特に複雑であるかどうか、又は実行速度を下げる他の遅延があるかどうか(例えば、PCにおいて、ゲームアプリケーションからCPUサイクルを取り去る別のプロセスが実行されるかどうか)に基づいて、次のフレームに対して表示されるグラフィックを計算するのに1フレームより短い又は長い時間を要する。 For many games, the game logic sometimes whether scene whether particularly complex, or there are other delays execution speed is decreased (e.g., at PC, another process to remove the CPU cycles from the game applications based on but whether performed), requiring a shorter or longer than one frame to calculate the graphics displayed for the next frame. このようなゲームでは、1フレーム時間より若干短く(例えば、数CPUクロックサイクル短く)計算された「スレッシュホールド」フレームが最終的に発生する。 In such a game, slightly shorter than one frame time (e.g., short number CPU clock cycles) calculated "threshold" frame eventually occur. その同じシーンが、全く同じゲーム状態情報を使用して再び計算されたときには、1フレーム時間より数CPUクロックサイクル長くかかることが容易に起きる(例えば、内部CPUバスが外部DRAMバスと若干位相ずれし、そしてゲーム処理から数ミリ秒のCPU時間を取り去る別のプロセスによる大きな遅延がなくても、数CPUサイクルの時間遅延を導入する場合には)。 That same scene, when it is again calculated using the exact same game state information takes place easily can take from one frame time several CPU clock cycles long (e.g., an internal CPU bus is Shi deviation external DRAM bus and slightly phase and even without significant delay by another process to remove the CPU time of a few milliseconds from the game process, in the case of introducing a time delay of a few CPU cycles). それ故、ゲームが再生されるときには、フレームは、1つのフレーム時間ではなく、2つのフレーム時間で計算される。 Therefore, when the game is played, the frame, rather than a single frame time, is calculated in two frame times. 幾つかの挙動は、ゲームがどれほど頻繁に新たなフレームを計算するか(例えば、いつゲームがゲームコントローラから入力をサンプルするか)に基づいている。 Some behaviors are based on how the game calculates a how frequently a new frame (e.g., when to the game samples the input from the game controllers). ゲームが表示されている間には、異なる挙動に対する時間基準のこの相違は、ゲームのプレイに影響しないが、再生されたゲームが異なる結果を生じさせることを招く。 Between the game is displayed, the difference in time reference for different behaviors does not affect the game play, which leads to causing the results reproduced game are different. 例えば、バスケットボールの弾道は、一定の60fps速度で計算されるが、ゲームコントローラの入力が、計算されたフレームの速度に基づいてサンプリングされる場合には、計算されたフレームの速度は、ゲームが記録されたときは53fpsであるが、ゲームが再生されるときは52fpsとなり、これは、バスケットボールがバスケットへ入ることが阻止されるかどうかに差を生じさせ、異なる結果を招くことになる。 For example, basketball trajectory, but is calculated at a constant 60fps speed, input of the game controller, when it is sampled on the basis of the rate of computed frames, the rate of computed frames, the game is recorded it is a 53fps is when, next 52fps is when the game is played, this basketball causes a difference in whether it is prevented entering the basket, which leads to different results. 従って、ゲーム状態を使用してビデオゲームを記録するには、同じゲーム状態情報を使用した再生が全く同じ結果を生じさせるよう保証するために非常に入念なゲームソフトウェア設計が要求される。 Thus, using game state to record video games, the same game play using the status information is a very careful game software design to ensure that produce exactly the same results are required.

ビデオゲームを記録するための別の従来の解決策は、PC又はビデオゲームシステムのビデオ出力を(例えば、VCR、DVDレコーダへ、又はPC上のビデオ捕獲ボードへ)単に記録することである。 Another conventional solution for recording video game, the video output of a PC or video game system (e.g., VCR, the DVD recorder, or to a video capture board on PC) simply to record. 次いで、ビデオは、巻き戻して再生することもできるし、或いは記録されたビデオを、典型的に、圧縮した後にインターネットへアップロードすることもできる。 Then, the video, can either be played rewind, or recorded video, typically, it can be uploaded to the Internet after the compression. この解決策の欠点は、3Dゲームシーケンスが再生されるときに、ユーザは、シーケンスが記録された視点のみからシーケンスを見ることに限定されることである。 The disadvantage of this solution is, when the 3D game sequence is played, the user is that the sequence is limited to viewing the sequence from only the viewpoint recorded. 換言すれば、ユーザは、シーンの視点を変更することができない。 In other words, the user can not change the point of view of the scene.

更に、家庭用PC又はゲームコンソールで再生される記録されたゲームシーケンスの圧縮ビデオがインターネットを通して他のユーザに利用されるときには、ビデオがリアルタイムで圧縮された場合でも、その圧縮されたビデオをリアルタイムでインターネットにアップロードすることは不可能である。 Further, when compressed video of a recorded game sequence is played in home PC or game console is available to other users through the Internet, even if the video is compressed in real time, the compressed video in real-time it is impossible to be uploaded to the Internet. その理由は、インターネットに接続された世界中の多数の家庭が、極めて非対称的なブロードバンド接続を有する(例えば、DSL及びケーブルモデムは、典型的に、アップストリーム帯域巾よりも遥かに広いダウンストリーム帯域巾を有する)からである。 The reason is that many homes throughout the world connected to the Internet has a very asymmetric broadband connections (e.g., DSL and cable modem typically much wider downstream bandwidth than upstream bandwidth it is from having a width). 圧縮された高解像度ビデオシーケンスは、多くの場合に、ネットワークのアップストリーム帯域巾容量より広い帯域巾を有し、それらをリアルタイムでアップロードするのを不可能にする。 Compressed high resolution video sequences often have a wide bandwidth than upstream bandwidth capacity of the network, is it impossible to upload them in real time. 従って、ゲームシーケンスが再生された後、インターネットの別のユーザがゲームを見ることができるまでに著しい遅延が生じる(おそらく数分又は数時間)。 Thus, after the game sequence is played significant delay before another user of the Internet can view the game occurs (perhaps minutes or hours). この遅延は、ある状況(例えば、以前に生じたゲームプレーヤの成績を見る)では許容できるが、ゲーム(例えば、チャンピオンプレーヤによりプレイされるバスケットボールトーナメント)を生で見る能力、又はゲームが生でプレイされるときの「瞬時再生」能力を排除する。 This delay, some circumstances (e.g., previously seen the performance of the game player caused) but the acceptable, a game (e.g., a basketball tournament played by champion players) ability to see a live, or game live play to eliminate the "instant-play" capability when it is.

別の従来の解決策は、テレビジョン制作員の管理下でのみ、視聴者が、テレビ受像機でビデオゲームを生で見ることができるようにする。 Another of conventional solutions, only under the control of a television production crew, the viewer, to be able to see live video games on a television receiver. 米国及び他の国々における幾つかのチャンネルは、ビデオゲーム視聴チャンネルを提供し、テレビ視聴者は、ビデオゲームチャンネル上で何人かのビデオゲームユーザ(例えば、トーナメントでプレイする最高評価プレーヤ)を見ることができる。 Some of the channels in the United States and other countries, to provide a video game viewing channel, TV viewers, watching the video games on the channel at some of the video game user (for example, top-rated players playing in the tournament) can. これは、テレビジョンチャンネル用のビデオ配信及び処理装置へビデオゲームシステム(PC及び/又はコンソール)のビデオ出力をフィードすることにより達成される。 This is achieved by feeding the video output of the video game system (PC and / or console) to the video distribution and processing equipment for the television channel. これは、多数のカメラがバスケットボールコートの周囲で異なるアングルから生映像を送る生のバスケットボールゲームをテレビチャンネルが放送するときとは異なる。 This is a live basketball game in which a large number of camera sends live video from different angles around the basketball court TV channel different than when broadcast. 従って、テレビチャンネルは、それらのビデオ/オーディオ処理を活用して、種々のビデオゲームシステムからの出力を操作するように装置に作用することができる。 Accordingly, TV channels, by utilizing their video / audio processing, it is possible to act on the device to manipulate the output from the various video game systems. 例えば、テレビチャンネルは、異なるプレーヤの状態を示すテキストをビデオゲームからのビデオの上に重畳することができ(生のバスケットボールゲーム中のオーバーレイテキストであるかのように)、そしてテレビチャンネルは、ゲーム中に生じるアクションについて論じることのできるコメンテータからの音声をかぶせて録音することができる。 For example, television channels, text indicating the status of different players to be able to superimpose on top of the video from the video game (as if it were text overlays in live basketball game), and TV channels, game it is possible to record covered with a voice from the commentator that can be discussed about the action that occurs during. 更に、ビデオゲーム出力を、ゲームの実際のプレーヤのビデオを記録するカメラと合成することができる(例えば、ゲームに対する感情的応答を示す)。 Further, the video game output can be combined with a camera to record the actual players of the video game (for example, indicating the emotional response to the game).

この解決策に伴う1つの問題は、生放送の興奮を得るために、このような生のビデオフィードがテレビチャンネルのビデオ配信及び処理装置にリアルタイムで得られねばならないことである。 This solution one associated with the problem, in order to obtain a live broadcast of excitement, such live video feed is that which must be obtained in real time to video distribution and processing apparatus of the TV channel. しかしながら、上述したように、これは、ビデオゲームシステムが家庭から実行されるとき、特に、放送の一部分が、ゲームプレーヤの実世界ビデオを捕獲するカメラからの生ビデオを含む場合には、しばしば不可能である。 However, as described above, this is when the video game system is running from the home, especially if part of the broadcast, including live video from a camera to capture real-world video of the game player is often not possible it is. 更に、トーナメント状態において、上述したように、家庭内のゲーム遊技者がゲームを変更し及びチートする問題もある。 Further, in a tournament state, as described above, there is a problem that the game player in the home change the game and cheat. これらの理由で、テレビチャンネルを経てのこのようなビデオゲーム放送は、プレーヤ及びビデオゲームシステムが共通の位置(例えば、テレビスタジオ又は競技場)に集合し、そこで、テレビ制作装置が多数のビデオゲームシステム及び潜在的な生カメラからのビデオフィードを受け容れることができるように、しばしば構成される。 For these reasons, such video game broadcasts via television channels, players and video game systems have a common position (e.g., a television studio or stadium) gathered at, where a number of video game television production equipment as can be accept video feeds from the system and potential live cameras, often constructed.

このような従来のビデオゲームテレビチャンネルは、ビデオゲームの世界におけるアクション及び実世界におけるアクションの両方に関して、例えば、ビデオゲームプレーヤが「アスリート」として描かれるようにして、生のスポーツイベントに類似した体験である非常に興奮させる上映をテレビの視聴者に与えることができるが、これらのビデオゲームシステムは、プレーヤが互いに物理的に非常に接近した状態にしばしば限定される。 Such a conventional video game TV channel, both in terms of action in action and the real world in the world of video games, for example, as video game player is depicted as "athlete", similar to the live sporting event experience While screening for very excited it can be given to TV viewers, these video game systems are often limited to a state where the player is physically very close to each other. そして、テレビチャンネルが放送されて以来、各放送チャンネルは、テレビチャンネルの制作員により選択された1つのビデオストリームしか示すことができない。 And, since it was broadcast TV channels, each broadcasting channel, can not be shown only one of the video stream that has been selected by the production crew of the television channel. これらの制限や、放送時間、制作装置及び制作員の高いコストのために、テレビチャンネルは、典型的に、トップトーナメントでプレイする最高評価プレーヤしか示さない。 These limitations and, broadcasting time, because of the high production equipment and production personnel costs, TV channels, typically, does not show only top-rated players playing in top tournaments.

更に、ビデオゲームのフルスクリーン映像を全テレビ視聴者に放送する所与のテレビチャンネルは、一度に1つのビデオゲームしか示さない。 In addition, a given television channel to broadcast the full-screen image of the video game to all television viewers, it shows only one video game at a time. これは、テレビ視聴者の選択肢を甚だしく制限する。 This severely limits the choice of television viewers. 例えば、テレビ視聴者は、所与の時間に映されるゲームに関心がないことがある。 For example, TV viewers, there is that there is no interest in the game which is projected at a given time. 別の視聴者は、所与の時間にテレビチャンネルによって特集されない特定のプレーヤのゲームプレイを見ることにしか関心がない。 Another viewer, is not only interested in seeing the game play of a particular player that is not featured by the TV channel at a given time. 他のケースでは、視聴者は、専門プレーヤがゲームにおける特定のレベルをどのように取り扱うか見ることにしか関心がない。 In other cases, the viewer is a professional player is only interested in seeing how to handle a certain level in the game. 更に他の視聴者は、制作チーム等により選択されたものとは異なる、ビデオゲームを見る視点をコントロールすることを希望する。 Furthermore, other viewers are different from those selected by the production team, etc., I wish to control the point of view to see the video game. 手短に言えば、テレビ視聴者は、多数の異なるテレビチャンネルが見られる場合でも、テレビネットワークの特定の放送によって受け容れられないビデオゲームを見ることに無数の好みをもっている。 In short, TV viewers, even if a large number of different TV channels can be seen, have a myriad of preferences to see the video games that are not accepted by a particular broadcast of the television network. 上述した全ての理由で、従来のビデオゲームテレビチャンネルは、テレビ視聴者にビデオゲームを示す上で著しい制限がある。 In all of the aforementioned reasons, the conventional video game television channels, there are significant limitations in terms of showing the video game on the TV audience.

従来のビデオゲームシステム及びアプリケーションソフトウェアシステムの別の欠点は、それらが複雑であり、且つエラー、クラッシュ及び/又は意図されない及び望ましからぬ挙動(集合的に「バグ」)により通常悩まされていることである。 Another drawback of prior art video games systems and application software systems is that they are complex, and errors are usually plagued by crashes and / or unintended and undesired behaviors (collectively, "bugs") it is. ゲーム及びアプリケーションは、典型的に、発売までにデバッグ及びチューニングプロセス(しばしば「ソフトウェアクオリティアシュアランス」又はSQAと称される)に通されるが、ほぼ常に、ゲーム又はアプリケーションがその分野の広範囲な視聴者に発売されると、バグが突然現れる。 Games and applications, typically, it is passed through the debugging and tuning process until the sale (often referred to as "Software Quality Assurance" or SQA), almost always, the game or application is a wide range of audience in the field Once released, the bug suddenly appear. 不都合なことに、ソフトウェア開発者は、発売後に多くのバグを識別して追跡することは困難である。 Unfortunately, software developers, it is difficult to identify and track a number of bugs after release. ソフトウェア開発者がバグに気付くことは困難である。 Software developers it is difficult to notice the bug. バグについて学習したときでも、何がバグを生じさせたか識別するために利用できる情報は、限られた量しかない。 Even when you have learned about the bug, information that what is available in order to identify whether caused the bug, there is only a limited amount. 例えば、ユーザは、ゲーム開発者の顧客サービスラインに電話し、ゲームをプレイするときに、スクリーンがフラッシュを開始し、次いで、濃い青色に変化し、PCがフリーズすることを示すメッセージを残す。 For example, a user may call the game developers of the customer service line, when you play the game, the screen begins to flash, then change to dark blue, leave a message indicating that the PC freezes. これは、SQAチームに、バグを追跡するのに有用な非常に僅かな情報しか与えない。 This is, in SQA team, does not give only a very little information useful for tracking down bugs. オンライン接続されたあるゲーム又はアプリケーションは、時々、幾つかのケースでは、多くの情報を与えることができる。 Online connection has been a game or application, sometimes, in some cases, can give a lot of information. 例えば、ゲーム又はアプリケーションを「クラッシュ」について監視するために、時々「ウオッチドッグ」プロセスを使用することができる。 For example, a game or application to monitor for the "crash", sometimes it is possible to use a "watchdog" process. ウオッチドッグプロセスは、ゲーム又はアプリケーションプロセスがクラッシュしたときにその状態(例えば、スタックの状態、メモリ使用状態、ゲーム又はアプリケーションがどれほど進行したか、等)に関する統計情報を収集し、次いで、その情報を、インターネットを経てSQAチームへアップロードすることができる。 Watchdog process, the game or a state when the application process crashes (e.g., stack state, the memory use state or a game or application is how to proceed, etc.) gathers statistics on, then that information , it can be uploaded to the SQA team over the Internet. しかし、複雑なゲーム又はアプリケーションでは、このような情報は、クラッシュ時にユーザが何を行ったか正確に決定するために解読するのに非常に長時間を要する。 However, in a complex game or application, such information is very takes a long time to decrypt to either accurately determine the user has what went at the time of the crash. 従って、どんな事象シーケンスがクラッシュを招いたか決定することが不可能である。 Therefore, it is impossible to determine what sequence of events has led to the crash.

PC及びゲームコンソールに関連した更に別の問題は、消費者に相当不便をかけるサービスの問題を受けることである。 Yet another problem associated with the PC and game console is to receive the service of the problem of applying a considerable inconvenience to the consumer. 又、これらサービスの問題は、PC又はゲームコンソールの製造者に影響を及ぼす。 In addition, of these service issues will affect the manufacturer of the PC or game console. というのは、製造者は、壊れたPC又はコンソールを安全に運搬するために特殊なボックスを送付し、PC又はコンソールが保証期間内である場合には修理のコストを負う必要があるからである。 , The manufacturer, broken sent a special box in order to safely transport the PC or console, is because in the case PC or console is within the warranty period it is necessary to bear the cost of the repair of that . 又、ゲーム又はアプリケーションソフトウェアの発行者は、PC及び/又はコンソールが修理の状態にあることによる販売の損失(又はオンラインサービス使用)によっても影響を受ける。 In addition, the issuer of the game or application software is also affected by the loss of sales due to the PC and / or console is in a state of repair (or online service use).

図1は、Sony Playstation(登録商標)3、Microsoft XBox 360(登録商標)、Nintendo Wii TM 、Windowベースのパーソナルコンピュータ、又はApple Macintoshのような従来のビデオゲームシステムを示す。 1, Sony Playstation (R) 3, Microsoft XBox 360 (registered trademark), show Nintendo Wii TM, Window-based personal computer, or a conventional video game systems such as Apple Macintosh. これらシステムは、各々、プログラムコードを実行するための中央処理ユニット(CPU)、典型的に、進歩型グラフィックオペレーションを遂行するためのグラフィック処理ユニット(GPU)、並びに外部装置及びユーザと通信するための複数の形態の入力/出力(I/O)を備えている。 These systems, respectively, a central processing unit for executing a program code (CPU), typically, a graphics processing unit for performing a progressive-type graphics operations (GPU), and for communicating with external devices and user It includes input / output of multiple forms of (I / O). 簡単化のために、これらのコンポーネントは、単一のユニット100として一緒に結合されて示されている。 For simplicity, these components are shown coupled together as a single unit 100. 又、図1の従来のビデオゲームシステムは、光学的メディアドライブ104(例えば、DVD−ROMドライブ)、ビデオゲームのプログラムコード及びデータを記憶するためのハードドライブ103、マルチプレーヤゲームをプレイし、ゲーム、パッチ、デモ又は他のメディアをダウンロードするためのネットワーク接続105、CPU/GPU100により現在実行されているプログラムコードを記憶するためのランダムアクセスメモリ(RAM)101、ゲームプレイ中にユーザからの入力コマンドを受け取るためのゲームコントローラ106、及びディスプレイ装置102(例えば、SDTV/HDTV又はコンピュータモニタ)を含むように示されている。 Moreover, conventional video game system of FIG. 1, the optical media drive 104 (e.g., DVD-ROM drive), and play hard drives 103, a multi-player game for storing program code and data of the video game, game , patches, demos or other media network connection 105 to download, CPU / GPU 100 by a random access memory for storing program code currently being executed (RAM) 101, input commands from the user during gameplay game controller 106 for receiving and display device 102 (e.g., SDTV / HDTV or a computer monitor) is shown to include.

図1に示す従来のシステムは、多数の制限で悩まされている。 Conventional system shown in Figure 1, suffer from a number of limitations. 第1に、光学的ドライブ104及びハードドライブ103は、RAM101に比して非常に低速のアクセス速度を有する傾向がある。 First, optical drives 104 and hard drives 103 tend to have a very slow access speed than the RAM 101. RAM101を通して直接機能するときには、CPU/GPU100は、実際に、プログラムコード及びデータがハードドライブ103又は光学ドライブ104から直接読み取られるときに可能であるより遥かに多くの多角形を毎秒処理することができる。 When functioning directly through RAM101 is CPU / GPU 100 can, in fact, may be every second processing far more polygons than is possible when the program code and data is read directly from the hard drive 103 or optical drive 104 . というのは、RAM101は、一般的に、帯域巾が非常に広く、ディスクメカニズムの比較的長いシーク遅延で悩まされないからである。 Since, RAM 101 is typically bandwidth is very wide, because not suffer from the relatively long seek delays of disc mechanisms. しかし、これら従来システムでは、限定された量のRAMしか設けられていない(例えば、256−512Mバイト)。 However, in these prior art systems, only provided a limited amount of RAM (e.g., 256-512M bytes). それ故、ビデオゲームの次のシーケンスのためのデータでRAM101が周期的に埋められる“Loading...”シーケンスがしばしば要求される。 Therefore, "Loading ..." sequence RAM101 are filled periodically in the data for the next sequence of the video game is often required.

あるシステムは、ゲームプレイと同時にプログラムコードのローディングを重畳させるように試みているが、これは、既知の事象シーケンスがあるときしか行うことができない(例えば、車を運転して道路を下る場合に、車を運転しながら、路傍にある接近してくるビルの幾何学形状をロードすることができる)。 Some systems have attempted so as to superimpose the loading at the same time program code and game play, which can only be done when there is a known sequence of events (e.g., if down the road driving a car , while driving a car, it is possible to load the geometry of the building approaching in the roadside). 複雑で及び/又は急速なシーンの変化については、この形式の重畳は、通常、機能しない。 The change in the complex and / or rapid scene superposition of this type do not normally function. 例えば、ユーザが戦いの最中であり、そしてその瞬間に視野内のオブジェクトを表すデータでRAM101が完全に埋められるケースでは、RAM101に現在ロードされていないオブジェクトを見るためにユーザが視野を素早く左へ動かした場合に、アクションの不連続状態が生じる。 For example, a user is in the middle of a fight, and in that moment RAM101 in the data that represents the object within the field of view is completely filled in the case, quickly left the field of vision users to see objects that are not currently loaded in the RAM101 If you move to, discontinuity state of the action occurs. というのは、ハードドライブ103又は光学的メディア104から新たなオブジェクトをRAM101へロードするに充分な時間がないからである。 That is given because there is not enough time to load the new objects to the RAM101 from the hard drive 103 or optical media 104.

図1のシステムでは、ハードドライブ103及び光学的メディア104の記憶容量に制限があるために別の問題が生じる。 In the system of FIG. 1, another problem because of the limited storage capacity of hard drives 103 and optical media 104 occurs. 比較的大きな記憶容量(例えば、50ギガバイト以上)をもつディスク記憶装置を製造することはできるが、現在ビデオゲームで遭遇する幾つかのシーンについて充分な記憶容量をまだ与えることができない。 Relatively large storage capacity (e.g., more than 50 gigabytes) can be prepared a disk storage device having, can not give yet enough storage capacity for some scenes encountered in current video games. 例えば、上述したように、サッカーのビデオゲームは、世界中の多数のチーム、プレーヤ及びスタジアムの中からユーザが選択を行えるようにする。 For example, as described above, the video game football, the user to choose from a number of teams, players and stadiums throughout the world. 各チーム、各プレーヤ及び各スタジアムに対して、世界中の3D曲面を特徴付けるには非常に多数のテクスチャマップ及び環境マップが要求される(例えば、各チームが独特のジャージを有し、その各々が独特のテクスチャマップを要求する)。 Each team for each player and each stadium a large number of texture maps and environment maps are required to characterize the 3D surface of the globe (e.g., each team has a unique jersey, is each to request a unique texture map).

この後者の問題に対処するために使用される1つの技術は、ユーザによってテクスチャ及び環境マップが選択されたときにゲームがそれらを予め計算することである。 One technique used to address this latter problem is that the game is calculate their advance when texture and environment maps has been selected by the user. これは、映像の解凍、3Dマッピング、シェーディング、データ構造の編成、等を含めて、多数の計算上強いプロセスを含むことがある。 This image decompression, 3D mapping, including shading, organizing data structures, etc., may include a number of computationally intense process. その結果、ビデオゲームがこれらの計算を遂行する間にユーザにとって遅延が生じ得る。 As a result, delay may occur for the user between the video game perform these calculations. この遅延を減少するための1つの方法は、原理的に、ゲームが最初に開発されたときに、チーム、プレーヤ名簿及びスタジアムの各順列を含めて、これら計算の全てを遂行することである。 One way to reduce this delay, in principle, when the game was originally developed, including team, each permutation of the player roster and stadium is to perform all of these calculations. 従って、ゲームの発売バージョンは、光学的メディア104、又はインターネット上の1つ以上のサーバーに記憶された全てのこの前処理されたデータを、ユーザが選択を行うときにインターネットを通してハードドライブ103へダウンロードされる所与のチーム、プレーヤ名簿、スタジアム選択のための選択された前処理されたデータと共に含む。 Therefore, downloading released version of the game, the optical media 104, or all of this pre-processed data stored on one or more servers on the Internet, to a hard drive 103 through the Internet when the user makes a selection given team, player roster is, together with the selected pre-processed data for stadium selection. しかしながら、実際上の問題として、ゲームプレイにおいて考えられる各順列のこのような予めロードされるデータは、多分、今日の光学的メディア装置の容量を遥かに越えるテラバイトのデータになってしまう。 However, as a practical matter, data such pre-loaded for each permutation contemplated in game play is probably become far exceeds terabytes of data capacity of the optical media device today. 更に、所与のチーム、プレーヤ名簿、スタジアム選択のためのデータは、多分、数百メガバイト以上のデータになってしまう。 Furthermore, data for a given team, player roster, stadium selection is probably becomes hundreds megabytes of data. 例えば、10Mbpsの家庭用ネットワーク接続では、ネットワーク接続105を通してこのデータをダウンロードするのに、データをローカルで計算する以上の時間を要することになる。 For example, in a home network connection 10Mbps, to download this data through network connection 105, it takes more time to calculate the data locally.

従って、図1に示す従来のゲームアーキテクチャーは、複雑なゲームの主要シーン移行間にユーザに著しい遅延を受けさせる。 Thus, conventional game architecture shown in Figure 1, subjected to significant delays to the user between major scene transition complex game.

図1に示す従来の解決策に伴う別の問題は、年々、ビデオゲームがより進歩する傾向にあり、より高いCPU/GPUパワーを要求することである。 Another problem with prior art solutions shown in Figure 1, every year, there is a tendency that the video game is more advanced, is to require higher CPU / GPU power. 従って、限定された量のRAMを仮定しても、ビデオゲームハードウェアの要件は、これらシステムに得られる処理パワーのピークレベルを越えてしまう。 Thus, even assuming a limited amount of RAM, video games hardware requirements, it exceeds the peak level of processing power available in these systems. その結果、ユーザは、歩調を合わせるためにゲームハードウェアを数年毎にアップグレードする必要がある(又は新たなゲームを質の低いレベルでプレイする)。 As a result, the user, (to play or a new game at a lower quality level) in order to keep pace there is a need to upgrade the game hardware every few years. ビデオゲームが絶えず進歩する傾向の1つの結果として、家庭で使用するためのビデオゲームプレイマシンは、典型的に、それらのコストが、通常、サポートできる最高性能ゲームの要件により決定されるので、経済的に効率が悪い。 One consequence of the tendency of the video game is to progress constantly, video game playing machine for use at home, typically, their cost is, usually, since it is determined by the best performance game of requirements that can be supported, economy to poor efficiency. 例えば、XBox 360は、高性能CPU、GPU、及び数百メガバイトのRAMを必要とする“Gears of War”のようなゲームをプレイするのに使用されるか、又はXBox 360は、数キロバイトのRAM及び非常に低性能のCPUしか要求しない1970年代のゲームであるPac Manをプレイするのに使用される。 For example, XBox 360 is a high-performance CPU, or be used to play games, such as the GPU, that and require hundreds of megabytes RAM "Gears of War", or XBox 360, the number of kilobytes of RAM and it is very used to play Pac Man is a low performance 1970s of game that requires only of the CPU. 実際に、XBox 360は、Pac Manゲームを一度に多数同時にホストするに充分な計算パワーを有している。 In fact, XBox 360 has enough computing power to a large number at the same time host at a time Pac Man game.

ビデオゲームマシンは、典型的に、一週間のほとんどの時間中オフにされている。 Video game machine, typically, has been a week of most of the time during the off. 13年以上経った現役ゲームに関するニールセン・エンターテーメント・スタディ2006年7月号によれば、平均で、現役のゲームは、毎週14時間をコンソールビデオゲームのプレイに費やしており、即ち一週間の合計時間の12%に過ぎない。 According to the Nielsen Entertainment study July 2006 issue about 13 years older than the active game, on average, active in the game, has spent every week for 14 hours in the play of console video game, that is of one week only 12% of the total time. これは、平均でビデオゲームコンソールが88%の時間アイドル状態であり、高価なリソースの使用効率が悪いことを意味する。 This is a video game console on average the time the idle state of 88%, which means that the inefficient use of expensive resources. 購入価格を下げるためにビデオゲームコンソールが製造者によりしばしば助成されると仮定すれば(その助成金が将来のビデオゲームソフトウェアの購入からのロイヤリティにより還元されることを期待して)、これは、特に意義深いことである。 Assuming that the video game console in order to lower the purchase price is often subsidized by the manufacturer (in the hope that the grant will be reduced by royalties from the purchase of the future of video game software), this is, in particular, is that significant.

又、ビデオゲームコンソールは、ほとんどの消費者電子装置に関連したコストを負っている。 In addition, the video game console, owes the costs associated with most consumer electronic devices. 例えば、システムの電子装置及びメカニズムは、エンクロージャ内に収容する必要がある。 For example, electronic devices and mechanisms of the system needs to be accommodated in the enclosure. 製造者は、修理保証を提供する必要がある。 Manufacturers, there is a need to provide a repair warranty. システムを販売する小売店は、システムの販売及び/又はビデオゲームソフトウェアの販売において利ざやを収集する必要がある。 Retailers that sell the system needs to collect margins in the sales and / or sale of video game software system. これらのファクタは、全てビデオゲームコンソールのコストに追加され、これは、製造者によって助成されねばならないか、消費者へ回されるか、又はその両方である。 These factors are all added to the cost of a video game console, this is, or should be subsidized by the manufacturer, or is routed to the consumer, or both.

更に、ビデオゲーム産業にとって海賊版が主たる問題である。 In addition, it is pirated main problem for the video game industry. 実質上全ての主要ビデオゲームシステムに使用されるセキュリティメカニズムは、年々「クラック」されて、ビデオゲームの無断コピーが取られている。 Security mechanism to be used in virtually all of the major video game system, year by year, "crack", unauthorized copy of the video game have been taken. 例えば、XBox 360のセキュリティシステムは、2006年7月にクラックされ、ユーザは、今や、不正コピーをオンラインでダウンロードすることができる。 For example, the security system of the XBox 360 are cracks in July 2006, the user is now, it is possible to download illegal copies online. ダウンロード可能なゲーム(例えば、PC又はMac用のゲーム)は、特に海賊行為を受け易い。 Downloadable games (for example, PC or game for the Mac) are particularly susceptible to piracy. 海賊行為の取り締まりが弱い世界のある地域では、スタンドアローンビデオゲームソフトウェアのための成功が見込める市場が本質的にない。 In areas where enforcement of piracy is a weak world, success can be expected market for stand-alone video game software is essentially free. というのは、ユーザが海賊版コピーを合法的コピーと同程度に容易にそのコストのほんの一部分で買えるからである。 Because, because the user can buy at a fraction of the easily the cost to the same extent as legitimate copy pirated copy. 又、世界の多くの地域では、ゲームコンソールのコストが収入の高い割合であり、海賊版を取り締まっても、最新のゲームシステムを買う余裕がある人は僅かに過ぎない。 In addition, in many parts of the world, it is a high percentage cost of revenue of the game console, also cracking down pirated, people who can afford to buy the latest game system is only slightly.

更に、中古ゲーム市場は、ビデオゲーム産業の収入を減少させる。 In addition, pre-game market reduces the revenue of the video game industry. ユーザは、ゲームに飽きると、ゲームを店に売ることができ、店は、ゲームを他のユーザに再販売する。 When the user has tired of the game, it is possible to sell the game to the store, the store, and re-sell the game to other users. この無許可であるが一般的な慣習は、ゲーム発行者の収入を著しく減少させる。 This is an unauthorized but common practice significantly reduces the income of the game publisher. 同様に、数年毎にプラットホームの移行があるときには、通常、50%の販売量低下が生じる。 Similarly, when there is a platform transition every few years, usually occurs 50% of the sales volume decrease. これは、ユーザが、新規バージョンプラットホームが発売されようとしていることを知ると、旧型プラットホーム用のゲームの購入を止める(例えば、Playstation3が発売されようとしているときに、ユーザは、Playstation2のゲームの購入を止める)からである。 This is, when the user know that the new version of the platform is about to be released, stop the game purchase for the old platform (for example, when the Playstation3 is about to be released, the user, the purchase of the game Playstation2 it is from the stop). 新規のプラットホームに関連した販売の損失及び開発コストの増加が相まって、ゲーム開発者の利益に非常に大きな影響が及ぶことになる。 Loss and an increase in the development cost of sales related to the new platform is coupled, so that the range is very large impact on the interests of game developers.

又、新規なゲームコンソールは、非常に高価である。 In addition, the new game console, is very expensive. XBox 360、Nintendo Wii、及びSony Playstation3は、全て、数百ドルで小売される。 XBox 360, Nintendo Wii, and Sony Playstation3 is, all of which are retail a few hundred dollars. ハイパワーのパーソナルコンピュータゲームシステムは、その価格が$8000までである。 High-power personal computer game systems, the price is up to $ 8000. これは、特に、ハードウェアが数年後に旧式となり且つ多くのシステムが子供のために購入されることを考えると、ユーザにとって著しい投資を表す。 This is, in particular, considering that and many systems become obsolete hardware after a few years is purchased for children, it represents a significant investment for the user.

以上の問題に対する1つの解決策は、ゲームプログラムコード及びデータがサーバーにホストされそしてオンデマンドでクライアントマシンへデジタルブロードバンドネットワークを経てストリーミングされる圧縮されたビデオ及びオーディオとして配信されるオンラインゲームである。 One solution to the above problem is the online game in which the game program code and data is distributed as a compressed video and audio is streamed through the digital broadband network to the client machine in a hosted and on-demand server. フィンランドのG−Cluster(現在では、日本のソフトバンクブロードメディアの子会社)のような幾つかの会社は、これらのサービスをオンラインで提供する。 (At present, Softbank broad media subsidiary of Japan) G-Cluster of Finland some of company, such as is, to provide these services online. 同様のゲームサービスが、ホテル内にあるようなローカルネットワークにおいて利用でき、DSL及びケーブルテレビジョンプロバイダーによって提供されている。 Similar games service, available in the local network, such as in the hotel, has been provided by DSL and cable television provider. これらシステムの主たる欠点は、待ち時間(latency)、即ちオペレータの「ヘッドエンド」に典型的に配置されたゲームサーバーへ信号が進み且つそこから進むのに要する時間の問題である。 The main disadvantage of these systems is the latency (latency), that is, a matter of time required to travel from there "head end" typically signal advances to arranged the game server and the operator. 高速アクションビデオゲーム(「ツイッチ」ビデオゲームとしても知られている)は、ユーザがゲームコントローラでアクションを遂行する時間と、ディスプレイスクリーンが更新されてユーザアクションの結果を示す時間との間に非常に短い待ち時間を要求する。 Fast-action video game (also known as "Tsuitchi" video game), the time and performing an action in the user game controller, very in between the time that shows the result of user action display screen is updated to request a short waiting time. ゲームが「即座」に応答するという感覚をユーザがもつようにするため、短い待ち時間が必要とされる。 Since the game is a sense that response to have the user to "immediately", there is a need for low latency. ユーザは、ゲームの形式及びユーザの熟練度レベルに基づいて異なる待ち時間間隔で満足することができる。 The user can be satisfied with different latency intervals based on the skill level of the game types and user. 例えば、ゆっくりしたカジュアルなゲーム(バックギャモンのような)又は低速アクションの役割を演じるゲームについては100msの待ち時間が許容できるが、高速アクションゲームでは、待ち時間が70又は80msを越えると、ユーザは、ゲームにおいて演技が不充分となり、受け容れられない。 For example, although the game play a role (such as backgammon) or a slow action casual game slow acceptable latency of 100 ms, the fast action game, the wait time exceeds 70 or 80 ms, the user , acting becomes insufficient in the game, not acceptance. 例えば、高速反応時間を要求するゲームでは、待ち時間が50から100msへ増加するにつれて、精度が鋭く低下する。 For example, in a game that requires fast reaction time, as latency increases from 50 to 100 ms, accuracy decreases sharply.

ゲーム又はアプリケーションサーバーが、近傍のコントロールされたネットワーク環境にインストールされるか、又はユーザへのネットワーク経路が予想可能で及び/又は帯域巾ピークを許容できる環境にインストールされるときには、最大待ち時間と、待ち時間の一貫性の両方について、待ち時間をコントロールすることが遥かに容易である(例えば、ユーザがネットワークを通してストリーミングするデジタルビデオから一定の動きを観察するように)。 Game or application server, or installed in the vicinity of the controlled network environment, or when the network path to the user to be installed in an environment that can tolerate possible and / or bandwidth peaks expected, the maximum waiting time, for both latency consistency is much more easy to control the latency (e.g., so that the user observes a constant motion from digital video streaming through the network). このようなレベルのコントロールは、ケーブルTVネットワークのヘッドエンドとケーブルTV加入者の家庭との間、又はDSL中央オフィスからDSL加入者の家庭までの間、或いはサーバー又はユーザからの商業的オフィスのローカルエリアネットワーク(LAN)環境において、達成することができる。 Control of such a level is between the home headend and cable TV subscriber cable TV network, or between the DSL central office to home DSL subscribers, or commercial office from a server or a user local in area network (LAN) environment, it can be achieved. 又、保証された帯域巾及び待ち時間を有する会社間に特殊グレードのポイント対ポイントプライベート接続を得ることができる。 Further, it is possible to obtain the point-to-point private connections special grade between companies with guaranteed bandwidth and latency. しかし、一般的なインターネットに接続されたサーバーセンターにおいてゲームをホストし、次いで、ブロードバンド接続を経てユーザへ圧縮ビデオをストリーミングするゲーム又はアプリケーションシステムでは、多数のファクタから待ち時間を招き、従来システムの展開に甚だしい制限を生じさせる。 However, hosting a game in general connected server centers to the Internet, then the game or application system for streaming compressed video to the user through a broadband connection, invites latency from a number of factors, development of conventional systems causing a severe limitation to.

典型的なブロードバンド接続の家庭では、ユーザは、ブロードバンドサービスのためにDSL又はケーブルモデムをもつことができる。 The home typical broadband connections, the user may have a DSL or cable modem for broadband service. このようなブロードバンドサービスは、通常、ユーザの家庭と一般的なインターネットとの間に25ms程度(時々はそれ以上の)の往復待ち時間を被る。 Such a broadband service, usually, about 25ms between the user's home and the general Internet (sometimes more) suffer the round-trip latency. 更に、インターネットを経てサーバーセンターへデータをルーティングすることからも往復遅延を被る。 Furthermore, incur round-trip delay from routing the data to the server center via the Internet. インターネットを通しての待ち時間は、データが与えられるルート及びそれがルーティングされるときに被る遅延に基づいて変化する。 Latency through the Internet varies based on the delay incurred when the route and it data is applied is routed. ルーティング遅延に加えて、ほとんどのインターネットを相互接続する光ファイバを経て進む光の速度のために、往復遅延も被る。 In addition to routing delays, for the speed of light traveling through the optical fiber that interconnects most of the Internet suffer even round trip delay. 例えば、1000マイルごとに、光ファイバを通る光の速度及び他のオーバーヘッドのために、約22msの往復待ち時間を被る。 For example, every 1000 miles, for the speed of light and other overhead passing through the optical fiber, suffer roundtrip delay of approximately 22 ms.

インターネットを経てストリーミングされるデータのデータレートのために、付加的な待ち時間が生じる。 For data rate of the data streamed through the Internet, additional latency occurs. 例えば、ユーザが「6Mbps DSLサービス」として販売されるDSLサービスを有する場合に、実際に、ユーザは、おそらく、せいぜい5Mbps未満のダウンストリームスループットしか得ず、そしておそらく、デジタルサブスクライバーラインアクセスマルチプレクサ(DSLAM)におけるピークロード時間中の混雑のような種々のファクタのために、接続の質低下を周期的に見ることになる。 For example, if it has a DSL service user is sold as "6 Mbps DSL service", in fact, the user is probably not at best give only the downstream throughput less than 5 Mbps, and perhaps, a digital subscriber line access multiplexer (DSLAM for various factors such as congestion during peak load times at), you will see the quality reduction of the connection periodically. 又、ケーブルモデムシステムネットワークにおける隣接部又は他のどこかを経てループされるローカル共有同軸ケーブルに混雑が生じる場合には、「6Mbpsケーブルモデムサービス」として販売される接続に使用されるケーブルモデムのデータレートを遥かに低く減少する同様の問題が発生する。 Further, when the congestion in the local shared coaxial cable looped through the adjacent portion or other somewhere in the cable modem system network occurs, the cable modem to be used for connections that are sold as "6Mbps cable modem service" data similar problems to decrease much lower rate. 4Mbpsの一定レートでのデータパケットがサーバーセンターからこのような接続を経てユーザデータグラムプロトコル(UDP)フォーマットで一方向としてストリーミングされる場合には、全てがうまく機能すれば、データパケットが、付加的な待ち時間を被ることなく通過するが、混雑(又は他の障害)が存在し且つユーザへデータをストリーミングするのに3.5Mbpsしか利用できない場合には、典型的な状態において、パケットがドロップされてデータロスを生じるか、又はパケットを送ることができるまで混雑点にパケットがキューイングされて付加的な待ち時間を招くか、のいずれかである。 If data packets at a constant rate of 4Mbps are streamed as one-way through such connection from the server center User Datagram Protocol (UDP) format, if everything works well, the data packets, additional passes without incurring a latency, but if only 3.5Mbps to congestion (or other disorder) is to stream data to the present and the user is not available, a typical condition, the packet is dropped or cause data loss Te, or the packet is a packet congestion point to can send or incurring additional latency is queued is either. 異なる混雑点は、遅延パケットを保持する異なるキューイング容量を有し、従って、あるケースでは、混雑を通過できないパケットが直ちにドロップされる。 Different points of congestion have different queuing capacity to hold delayed packets, therefore, in some cases, packets can not pass through the congestion are dropped immediately. 他のケースでは、数メガビットのデータがキューイングされ、最終的に、送出される。 In other cases, several megabits of data are queued, finally, is delivered. しかし、ほぼ全てのケースにおいて、混雑点におけるキューは、容量限界があり、これらの限界を越えると、キューがオーバーフローし、パケットがドロップされる。 However, in almost all cases, queues at points of congestion, there is a capacity limit, exceeds these limits, the queue overflows, the packet is dropped. 従って、付加的な待ち時間(又は更に悪い場合は、パケットのロス)を被るのを回避するために、ゲーム又はアプリケーションサーバーからユーザへのデータレート容量を越えないようにする必要がある。 Therefore, additional latency (or if worse, loss of packets) in order to avoid incurring the need to be from the game or application server does not exceed the data rate capacity to the user.

又、サーバーにおいてビデオを圧縮しそしてクライアント装置においてビデオを解凍するのに要求される時間によっても待ち時間を被る。 Moreover, compressing the video in the server and incur waiting time by the time required to decompress video in the client device. 更に、サーバー上で実行されているビデオゲームが、表示されるべき次のフレームを計算する間にも待ち時間を被る。 Furthermore, video games running on the server, suffer waiting time while calculating the next frame to be displayed. 現在入手できるビデオ圧縮アルゴリズムは、高いデータレート又は長い待ち時間のいずれかで悩まされている。 Current video compression algorithms available suffer either high data rates or high latency. 例えば、モーションJPEGは、待ち時間が短いことを特徴とするイントラフレーム専用ロッシー(intra frame-only lossy)圧縮アルゴリズムである。 For example, motion JPEG is an intraframe-only lossy (intra frame-only lossy) compression algorithm, wherein the waiting time is short. 各ビデオフレームは、互いのビデオフレームと独立して圧縮される。 Each video frame is compressed independently of each other frame of video. クライアント装置は、圧縮されたモーションJPEGビデオのフレームを受け取ると、そのフレームを直ちに解凍して表示し、待ち時間を非常に短くする。 The client device receives a frame of compressed motion JPEG video, and displays immediately decompress the frame, very low latency. しかし、各フレームは、別々に圧縮されるので、アルゴリズムは、連続するフレーム間の類似性を利用することができず、その結果、イントラフレーム専用ビデオ圧縮アルゴリズムは、非常に高いデータレートで悩まされている。 However, each frame, since it is compressed separately, the algorithm can not utilize similarities between successive frames, so that intraframe-only video compression algorithms suffer from very high data rates ing. 例えば、60fps(フレーム/秒)640x480モーションJPEGビデオは、40Mbps(メガビット/秒)以上のデータを要求する。 For example, 60 fps (frames / second) 640x480 motion JPEG video may require more data than 40 Mbps (megabits / sec). このように低い解像度のビデオウインドウに対するこのように高いデータレートは、多くのブロードバンドアプリケーションにおいて(及び確実にほとんどの消費者インターネットベースのアプリケーションに対して)法外に高価なものとなる。 Thus such a high data rate for low resolution video windows are (relative and surely most consumers Internet-based applications) in many broadband applications become prohibitively expensive. 更に、各フレームは独立して圧縮されるので、ロッシー圧縮から生じ得るフレーム内の欠陥は、おそらく、連続するフレームの異なる場所に現れる。 Further, since each frame is compressed independently, the defect in the frame that may result from the lossy compression, perhaps, appear in different places in successive frames. これは、ビデオが解凍されたときに、動く視覚上の欠陥として視聴者に見える。 This is, when the video is decompressed, it appears to the viewer as a defect on the vision to move.

マイクロソフト社からのMPEG2、H. MPEG2 from Microsoft, H. 264、又はVC9のような他の圧縮アルゴリズムは、従来の構成で使用されたときに、高い圧縮比を達成できるが、長い待ち時間が犠牲となる。 Other compression algorithms, such as 264, or VC9, when used in a conventional configuration, can achieve high compression ratios, latency is sacrificed. このようなアルゴリズムは、インターフレーム及びイントラフレームの圧縮を使用する。 Such algorithm uses compression interframe and intraframe. 周期的に、このようなアルゴリズムは、フレームのイントラフレーム専用圧縮を遂行する。 Periodically, such algorithms perform an intraframe-only compression of a frame. このようなフレームは、キーフレーム(典型的に“I”フレームと称される)として知られている。 Such a frame is known as a key frame (typically referred to as the "I" frame). 次いで、これらのアルゴリズムは、典型的に、Iフレームを手前のフレーム及び連続するフレームの両方と比較する。 Then, these algorithms typically compare the both frames of frame and continuous forward the I-frame. 手前のフレーム及び連続するフレームを独立して圧縮するのではなく、このアルゴリズムは、Iフレームから手前のフレーム及び連続するフレームへと映像の何が変化したか決定し、次いで、それらの変化を、Iフレームに先行する変化については“B”フレームとして、及びIフレームに続く変化については“P”フレームとして記憶する。 Rather than compress independently previous frame and successive frames, the algorithm determines what has changed in the image and the frame to frame and continuous front from the I-frame, then those changes, as "B" frames are the changes preceding the I frame, and for changes following the I frame is stored as "P" frames. これは、イントラフレーム専用圧縮よりも非常にゆっくりしたデータレートを生じさせる。 This results in very slow data rate than intraframe-only compression. しかし、これは、典型的に、長い待ち時間を犠牲とする。 However, this is, typically, the expense of the long waiting time. Iフレームは、典型的に、B又はPフレームより非常に大きく(しばしば10倍以上)、その結果、所与のデータレートで送信するのに比例的に長い時間を要する。 I frame is typically much larger than B or P frame (often 10 times or more), as a result, require proportionately longer to transmit at a given data rate.

例えば、Iフレームが、B及びPフレームのサイズの10倍であり、単一のIイントラフレームごとに29個のBフレーム+30個のPフレーム=59個のインターフレームがあるか、又は「フレームグループ(GOP)」ごとに合計60個のフレームがある状態を考える。 For example, I-frame is a 10 times the size of B and P frames, or every single I intraframe there are 29 B frames + 30 pieces of P frames = 59 pieces of inter-frame, or "frame group consider that there is a total of 60 frames per (GOP) ". 従って、60fpsでは、毎秒1つの60フレームGOPがある。 Therefore, the 60 fps, there is every second one 60 frame GOP. 送信チャンネルが2Mbpsの最大データレートを有すると仮定する。 Assume the transmission channel has a maximum data rate of 2 Mbps. チャンネルに最高クオリティのビデオを得るために、圧縮アルゴリズムは、2Mbpsのデータストリームを発生し、上述した比を仮定すれば、これは、2メガビット(Mb)/(59+10)=30,394ビット/イントラフレーム及び303,935ビット/Iフレームを生じさせる。 For best quality of the video channel, the compression algorithm to generate a data stream of 2 Mbps, assuming the above ratio, which is 2 megabits (Mb) / (59 + 10) = 30,394 bits / intra causing frames and 303,935 bits / I-frame. 圧縮されたビデオストリームが解凍アルゴリズムによって受信されるときには、ビデオを着実にプレイするために、各フレームを規則的な間隔(例えば、60fps)で解凍して表示する必要がある。 When compressed video stream is received by the decompression algorithm, in order to play video steadily, each frame regular intervals (e.g., 60 fps) should be displayed in thawed. この結果を得るために、フレームが送信待ち時間を受ける場合には、全てのフレームを少なくともその待ち時間だけ遅延する必要があり、従って、最悪のケースのフレーム待ち時間は、各ビデオフレームに対する待ち時間を定義する。 To obtain this result, if the frame is subjected to transmission waiting time, it is necessary to delay by at least the waiting time every frame, therefore, the frame waiting time in the worst case, the waiting time for each video frame to define. Iフレームは、最も大きなものであるから、最長の送信待ち時間を導入し、Iフレームを解凍して表示できるまでにIフレーム全体を受信しなければならない(又はインターフレームがIフレームに依存する)。 Since I-frames are the largest ones, introduce the longest transmission latencies, must receive the entire I-frame (or inter-frame is dependent on the I frame) until show unzip the I-frame . チャンネルデータレートが2Mbpsであると仮定すれば、Iフレームを送信するのに、303,935/2Mb=145msを要することになる。 If the channel data rate is assuming a 2 Mbps, to transmit the I frame, it takes 303,935 / 2Mb = 145ms.

送信チャンネルの帯域巾の大部分を使用する上述したインターフレームビデオ圧縮システムは、フレームの平均サイズに対してIフレームのサイズが大きいために長い待ち時間を受けることになる。 Interframe video compression system as described above using a large portion of the bandwidth of the transmission channel will be subject to long latencies due to the large size of an I frame relative to the average size of the frame. 又は、換言すれば、従来のインターフレーム圧縮アルゴリズムは、イントラフレーム専用圧縮アルゴリズムより低いフレーム当たり平均データレートを達成するが(例えば、2Mbps対40Mbps)、大きなIフレームのために、依然、高いフレーム当たりピークデータレートで悩まされている(例えば、303,935*60=18.2Mbps)。 Or, in other words, the conventional interframe compression algorithms, but to achieve a low frame per average data rate than intraframe-only compression algorithms (e.g., 2 Mbps vs. 40 Mbps), due to the large I frames still high frame per suffer at the peak data rate (e.g., 303,935 * 60 = 18.2Mbps). 前記分析は、P及びBの両フレームがIフレームより非常に小さいと仮定していることを銘記されたい。 The analysis should be noted that both frames P and B is assumed to much smaller than the I-frame. これは、一般的には、真であるが、高い映像複雑さが手前のフレーム、高モーション又はシーンの変化に相関していないフレームについては真ではない。 This, in general, true, not true for frames where high image complexity uncorrelated in front of the frame, change in height motion or scene. このような状態では、P又はBフレームがIフレームと同程度の大きさになる(P又はBフレームがIフレームより大きくなると、精巧な圧縮アルゴリズムが、典型的に、Iフレームを「強制(force)」し、そしてP又はBフレームをIフレームに置き換える)。 In such a state, when the P or B-frame is of the same order of magnitude as the I-frame (P or B-frame is larger than the I frame, a sophisticated compression algorithm, typically, "forcing an I frame (force ) ", and then replace the P or B frames to I frames). 従って、デジタルビデオストリームには、いつでも、Iフレームサイズのデータレートピークが生じる。 Accordingly, the digital video stream at any time, data rate peaks of I frame size occur. 従って、圧縮されたビデオでは、平均ビデオデータレートが送信チャンネルのデータレート容量に接近するときに(ビデオに対する高いデータレート要求を仮定すると、しばしばそうである)、Iフレーム或いは大きなP又はBフレームからの高いピークデータレートが長いフレーム待ち時間を生じさせる。 Thus, the compressed video, (assuming the high data rate demands for video, often the case) when the average video data rate approaches data rate capacity of the transmission channel, from I frames or large P or B frames high peak data rates of causes a long frame waiting time.

もちろん、以上の説明は、GOPにおける大きなB、P又はIフレームによって生じる圧縮アルゴリズムの待ち時間を特徴付けるに過ぎない。 Of course, the foregoing description is only characterize the latency of large B, the compression algorithm caused by P or I frames in a GOP. Bフレームが使用される場合は、待ち時間がより長くなる。 If B frames are used, latency becomes longer. その理由は、Bフレームを表示できるまでに、Bフレーム及びIフレーム後の全てのBフレームを受信しなければならないからである。 The reason is that until Show B frame, since must receive all the B frames after the B frame and the I frame. 従って、各Iフレームの前に5個のBフレームがあるBBBBBIPPPPPBBBBBIPPPPPのような画像グループ(GOP)シーケンスにおいて、最初のBフレームは、その後のBフレーム及びIフレームが受信されるまでビデオデコンプレッサによって表示することができない。 Accordingly, in the image group (GOP) sequence such as BBBBBIPPPPPBBBBBIPPPPP there are 5 B frames before each I frame, the first B-frame, the display by the video decompressor until the subsequent B frames and I frames are received Can not do it. 従って、ビデオが60fps(即ち、16.67ms/フレーム)でストリーミングされる場合には、最初のBフレームを解凍できるまでに、チャンネル帯域巾がどれほど速くても、5個のBフレーム及びIフレームは、受信するのに16.67*6=100msを要し、これは、ちょうど、5個のBフレームである。 Thus, video 60 fps (i.e., 16.67 ms / frame) when streamed in, until it thawed first B frame, even if the channel bandwidth is how fast, five B frames and the I-frame , requires 16.67 * 6 = 100ms to receive, this is just a five B frames. 30個のBフレームをもつ圧縮されたビデオシーケンスは、極めて一般的である。 Compressed video sequences with 30 B frames are quite common. そして、2Mbpsのような低いチャンネル帯域巾では、Iフレームのサイズにより生じる待ち時間の影響が、主として、Bフレームが到着するのを待機することによる待ち時間の影響に加えられる。 Then, in the low channel bandwidth like 2 Mbps, the latency impact caused by the size of the I frame is primarily applied to the latency impact due to the B-frame to wait for the arrival. 従って、2Mbpsチャンネルにおいて、非常に多数のBフレームがある状態では、従来のビデオ圧縮技術を使用して、500ms以上の待ち時間を越えるのは極めて容易である。 Accordingly, the 2Mbps channel, in the presence of a large number of B frames, using conventional video compression techniques, from exceeding a minimum waiting time of 500ms is very easy. Bフレームが使用されない(所与のクオリティレベルに対して低い圧縮比を犠牲にして)場合には、Bフレームの待ち時間を被らないが、上述したピークフレームサイズにより生じる待ち時間は、依然、被る。 If B frames are not used (at the expense of lower compression ratio for given quality level), although not subject to latency B frame latency caused by the peak frame sizes described above, still, suffer.

この問題は、まさに多数のビデオゲームの性質により激化される。 This problem is exacerbated by the very nature of a number of video games. 上述したGOP構造を使用するビデオ圧縮アルゴリズムは、主として、受動的な視聴に意図された生のビデオ又は動画資料で、使用上最適化されている。 Video compression algorithm that uses the above-described GOP structure is mainly a passive and raw video or video materials intended for viewing, it has been optimized on the use. 典型的に、カメラ(実際のカメラであるか、コンピュータ発生アニメーションの場合のバーチャルカメラであるかに関わらず)、及びシーンは、比較的安定である。 Typically, the camera (whether a real camera, regardless of whether the virtual camera in the case of computer-generated animation) and scene is relatively stable. というのは、単に、カメラ又はシーンがあまりに急に動く場合に、ビデオ又は映画資料が、(a)典型的に見るのに不快であり、そして(b)それを見る場合に、カメラが突然グイと動くときに、通常、視聴者がアクションを厳密に追従できないからである(例えば、バースディケーキのキャンドルに息を吹きかける子供を撮影するときにカメラがバンプされ、そして突然ケーキから離れて戻るようにグイと動かされる場合に、視聴者は、典型的に、子供及びケーキに集中し、カメラが突然動くときの短い中断は無視する)。 Because, simply, if the camera or scene moves too abruptly, video or film material is, (a) typically look for is uncomfortable, and (b) in the case to see it, the camera is suddenly Gui when moving and, usually, the viewer is can not be strictly follow the action (for example, the camera is bump when shooting the children to breathe in the birthday cake candles, and back away from the suddenly cake when it is moved to the Gui, the viewer, typically, it focused on the children and cake, short interruption is ignored when the camera moves suddenly). ビデオのインタビュー又はビデオ遠隔会議のケースでは、カメラを固定位置に保持して、全く動かさず、非常に僅かなデータピークしか生じさせない。 In an interview, or a video teleconference cases video, holding the camera in a fixed position at all without moving, only cause very little data peak. しかし、3D高アクションビデオゲームは、一定の動きにより特徴付けられる(例えば、レースの期間中に全フレームが迅速な動きにあるような3Dレースを考えるか、又はバーチャルカメラが常にグイと動くようなファーストパーソンシューター(first-person shooter)を考える)。 However, 3D high action video games are characterized by constant motion (e.g., as you think the 3D racing as all frames during the race is in rapid motion, or a virtual camera moves always Gui First Person Shooter (first-person shooter) think of). このようなビデオゲームは、これらの突然の動きの間に何が起きたかユーザがはっきり見る必要があるところの大きなそして頻繁なピークを伴うフレームシーケンスを生じさせる。 Such a video game, causing a sequence of frames with large and frequent peak of where there is what is necessary to happened the user sees clearly between these sudden movement. 従って、3D高アクションビデオゲームでは、圧縮欠陥は、ほとんど許容できない。 Therefore, in the 3D high-action video game, compression defects, can hardly be acceptable. 従って、多くのビデオゲームのビデオ出力は、それらの性質により、非常に高く且つ頻繁なピークをもつ圧縮ビデオストリームを発生する。 Thus, the video output of many video games, by their nature, generates a compressed video stream with very high and frequent peaks.

高速アクションビデオゲームのユーザが長い待ち時間に対してあまり寛容度がないと仮定し、又、上述した全ての待ち時間の原因を仮定すれば、今日まで、インターネットを経てビデオをストリーミングするサーバーホスト型ビデオゲームには制限があった。 Assuming that too there is no latitude for the fast-action video game users long waiting time, also, assuming the cause of all of the waiting time as described above, until today, server-hosted streaming video over the Internet the video game there has been limited. 更に、高度の双方向性を要求するアプリケーションのユーザは、そのアプリケーションが一般的なインターネット及びストリームビデオでホストされる場合には、同様に制限で悩まされている。 Furthermore, user applications that require a high degree of interactivity, if the application is hosted on the general Internet and stream video suffer with similarly restricted. このようなサービスは、ホスティングサーバーが、商業的な設定において、ヘッドエンド(ケーブルブロードバンドの場合)、又は中央オフィス(デジタルサブスクライバーライン(DSL)の場合)、或いはLAN(又は特殊グレードのプライベート接続)内に直接設定されて、クライアント装置からサーバーへのルート及び距離が待ち時間を最小にするように制御され、且つ待ち時間を被ることなくピークを受け容れできるようなネットワークコンフィギュレーションを要求する。 Such services, hosting server, in a commercial setting, the head-end (in the case of a digital subscriber line (DSL)) (case of cable broadband), or central office, or LAN (or a special grade of a private connection) It is set directly within the root and the distance from the client device to the server is controlled to minimize latency, requesting network configuration that allows acceptance peaks without and suffer latency. LAN(典型的に100Mbpsから1Gbps定格)及び充分な帯域巾の賃貸ラインは、典型的に、ピーク帯域巾要求をサポートすることができる(例えば、18Mbpsのピーク帯域巾は、100MbpsのLAN容量の小部分である)。 LAN (typically 1Gbps rated from 100Mbps) and sufficient bandwidth rental lines typically can support peak bandwidth requirements (e.g., peak bandwidth of 18Mbps is small in LAN capacity 100Mbps part in it).

又、ピーク帯域巾要求は、特殊な受け容れがなされる場合には、住居用ブロードバンドインフラストラクチャーにより受け容れることができる。 Moreover, the peak bandwidth requirements, if the special acceptance is made, it is possible to accept the residential broadband infrastructure. 例えば、ケーブルTVシステムでは、デジタルビデオトラフィックに、大きなIフレームのようなピークを取り扱うことのできる専用帯域巾が与えられる。 For example, in a cable TV system, digital video traffic, dedicated bandwidth which can handle peaks, such as large I frames is given. そしてDSLシステムでは、高速DSLモデムを準備して、高いピークを許すことができるか、又は高いデータレートを取り扱うことのできる特殊グレードの接続を準備することができる。 And in DSL systems, it can be prepared by preparing a high-speed DSL modem, or may allow a high peak, or the connection of special grades that can handle high data rates. しかし、一般的なインターネットに取り付けられる従来のケーブルモデム及びDSLインフラストラクチャーは、圧縮ビデオのピーク帯域要件に対して遥かに低い寛容度しか有していない。 However, conventional cable modem and DSL infrastructure attached to the general Internet has only much lower latitude with respect to the peak bandwidth requirements for compressed video. 従って、クライアント装置から長距離にあるサーバーセンターにおいてビデオゲーム又はアプリケーションをホストし、次いで、インターネットを経て従来の住居用ブロードバンド接続を通して圧縮ビデオ出力をストリーミングするオンラインサービスは、特に、非常に短い待ち時間を要求するゲーム及びアプリケーション(例えば、ファーストパーソンシューター及び他のマルチユーザ双方向アクションゲーム、又は高速応答時間を要求するアプリケーション)に関して、顕著な待ち時間及びピーク帯域巾制限で悩まされている。 Thus, host video games or applications in server centers located from the client device to a long distance, then the online service for streaming compressed video output through conventional residential broadband connections over the Internet, in particular, a very short latency requesting a game and application (e.g., first person shooters and other multi-user interactive action games, or applications requiring a fast response time) with respect to suffer with prominent latency and peak bandwidth limitations.

本開示は、添付図面及び以下の詳細な説明から、より完全に理解されよう。 The present disclosure, from the accompanying drawings and from the detailed description below, will be more fully understood. しかしながら、ここに開示した要旨は、本発明を例示するものに過ぎず、ここに示す特定の実施形態に限定されるものではない。 However, the gist disclosed herein are merely intended to illustrate the invention and are not intended to be limited to the particular embodiments illustrated herein.

従来のビデオゲームシステムのアーキテクチャーを示す。 It shows the architecture of a conventional video game system. 一実施形態による高レベルシステムアーキテクチャーを示す。 It shows a high level system architecture according to one embodiment. 一実施形態による高レベルシステムアーキテクチャーを示す。 It shows a high level system architecture according to one embodiment. クライアントとサーバーとの間の通信に対する実際のデータレート、定格データレート、及び要求されるデータレートを示す。 The actual data rate for communication between a client and a server, showing a data rate that is rated data rate and required. 一実施形態により使用されたホスティングサービス及びクライアントを示す。 It shows a hosting service and a client that is used in accordance with an embodiment. クライアントとホスティングサービスとの間の通信に関連した例示的待ち時間を示す。 It illustrates an exemplary latencies associated with communication between a client and hosting service. 一実施形態によるクライアント装置を示す。 It shows a client device according to one embodiment. 別の実施形態によるクライアント装置を示す。 It shows a client device according to another embodiment. 図4cのクライアント装置のブロック図である。 It is a block diagram of the client device in Figure 4c. 図4dのクライアント装置のブロック図である。 It is a block diagram of the client device in Figure 4d. 一実施形態により使用できるビデオ圧縮の一形式を例示する。 It illustrates one form of video compression which may be employed according to one embodiment. 別の実施形態に使用できるビデオ圧縮の一形式を例示する。 It illustrates one form of video compression which may be employed in another embodiment. 低い複雑さ、低アクションのビデオシーケンスの送信に関連したデータレートのピークを示す。 Low complexity, a peak data rate associated with transmitting a video sequence low action. 高い複雑さ、高アクションのビデオシーケンスの送信に関連したデータレートのピークを示す。 High complexity, a peak data rate associated with transmitting a video sequence of a high action. 一実施形態に使用されるビデオ圧縮技術を示す。 Showing the video compression techniques employed in one embodiment. 一実施形態に使用されるビデオ圧縮技術を示す。 Showing the video compression techniques employed in one embodiment. 一実施形態に使用される付加的なビデオ圧縮技術を示す。 Show additional video compression techniques employed in one embodiment. データレートピークを緩和するために一実施形態に使用される技術を示す。 It shows the techniques employed in one embodiment for alleviating data rate peaks. データレートピークを緩和するために一実施形態に使用される技術を示す。 It shows the techniques employed in one embodiment for alleviating data rate peaks. データレートピークを緩和するために一実施形態に使用される技術を示す。 It shows the techniques employed in one embodiment for alleviating data rate peaks. 映像タイルをパケット内に効率的にパックする一実施形態を示す。 It shows an embodiment of efficiently packs image tiles within the packet. 映像タイルをパケット内に効率的にパックする一実施形態を示す。 It shows an embodiment of efficiently packs image tiles within the packet. 順方向エラー修正技術を使用する実施形態を示す。 It shows an embodiment using a forward error correction techniques. 順方向エラー修正技術を使用する実施形態を示す。 It shows an embodiment using a forward error correction techniques. 順方向エラー修正技術を使用する実施形態を示す。 It shows an embodiment using a forward error correction techniques. 順方向エラー修正技術を使用する実施形態を示す。 It shows an embodiment using a forward error correction techniques. 圧縮のためのマルチコア処理ユニットを示す一実施形態を示す。 It illustrates an embodiment showing a multi-core processing units for compression. 実施形態による地理的ポジショニング及びホスティングサービス間の通信を示す。 It illustrates communication between geographically positioning and hosting service according to an embodiment. 実施形態による地理的ポジショニング及びホスティングサービス間の通信を示す。 It illustrates communication between geographically positioning and hosting service according to an embodiment. クライアントとホスティングサービスとの間の通信に関連した待ち時間を例示する。 Illustrating the latencies associated with communication between a client and hosting service. ホスティングサービスのサーバーセンターアーキテクチャーを示す。 It shows the server center architecture of the hosting service. 複数の生のビデオウインドウを含むユーザインターフェイスの一実施形態のスクリーンショットを例示する。 It illustrates a screenshot of one embodiment of a user interface that includes a plurality of live video windows. 特定のビデオウインドウを選択した後の図16のユーザインターフェイスを示す。 It shows the user interface of Figure 16 after selecting a particular video window. 特定のビデオウインドウをフルスクリーンサイズへズーミングした後の図17のユーザインターフェイスを示す。 Shows the user interface of Figure 17 after zooming particular video window to full screen size. マルチプレーヤゲームのスクリーンにオーバーレイされる共同ユーザビデオデータを例示する。 Illustrate the joint user video data overlaid on the screen of the multi-player game. ホスティングサービスにおけるゲームプレーヤのためのユーザページを例示する。 To illustrate the user page for the game player in the hosting service. 3D双方向広告を例示する。 To illustrate the 3D interactive advertisements. 生の演技の表面捕獲からのテクスチャ処理表面を有するホトリアルな映像を発生するための一連のステップを例示する。 Illustrating the sequence of steps for producing a photoreal image having a textured surface from surface capture of live performance. リニアメディアコンテンツの選択を許すユーザインターフェイスページを例示する。 To illustrate the user interface page that allows the selection of linear media content. ウェブページが生である前に経過する時間長さを接続速度に対して示すグラフである。 Is a graph showing a time length that elapses before the web page is live for the connection speed.

以下の説明では、本開示を完全に理解するために、装置の形式、システムコンフィギュレーション、通信方法、等の特定の細部について述べる。 In the following description, in order to provide a thorough understanding of the present disclosure, it describes the format of the apparatus, the system configuration, the communication method, the specific details and the like. しかしながら、当業者であれば、ここに述べる実施形態を具現化するのに、これらの特定の細部は必要ないことが明らかであろう。 However, those skilled in the art to embody the embodiments set forth herein, these specific details will be apparent that not necessary.

図2a−bは、ビデオゲーム及びソフトウェアアプリケーションが、契約サービスのもとでインターネット206(或いは他のパブリック又はプライベートネットワーク)を経てユーザの家屋211(「ユーザの家屋」とは、ユーザが所在する場所を意味し、移動装置を使用する場合には屋外も含む)においてホスティングサービス210によりホストされそしてクライアント装置205によりアクセスされるような2つの実施形態の高レベルアーキテクチャーを示す。 Fig. 2a-b is, video games and software applications, user premises 211 via the Internet 206 (or other public or private network) under the contract services (a "user of the house", the user is located location means, when using the mobile device indicates a high level architecture of two embodiments as accessed by the host and the client device 205 by the hosting service 210 at including outdoors). クライアント装置205は、内部又は外部ディスプレイ装置222を有していてインターネットにワイヤード又はワイヤレス接続されるMicrosoft Windows又はLinuxベースのPC又はApple社のMacintoshコンピュータのような汎用コンピュータでもよいし、又はビデオ及びオーディオをモニタ又はTV受像機222へ出力するセットトップボックス(インターネットにワイヤード又はワイヤレス接続される)のような専用クライアント装置でもよいし、或いはおそらくインターネットにワイヤレス接続される移動装置でもよい。 The client device 205 may be a general purpose computer, such as internal or Microsoft Windows or Linux-based PC or Apple's Macintosh computers which are external display device 222 wired or wireless connection to the Internet have, or video and audio the may be a dedicated client devices such as set-top boxes for outputting a monitor or the TV receiver 222 (the wired or wireless connection to the Internet), or perhaps may be a mobile device that is wirelessly connected to the Internet.

これらの装置は、いずれも、それ自身のユーザ入力装置(例えば、キーボード、ボタン、タッチスクリーン、トラックパッド又は慣性感知棒、ビデオ捕獲カメラ及び/又は運動追跡カメラ、等)を有してもよいし、又は有線又は無線で接続された外部入力装置221(例えば、キーボード、マウス、ゲームコントローラ、慣性感知棒、ビデオ捕獲カメラ、及び/又は運動追跡カメラ、等)を使用してもよい。 These devices are both user input device itself (e.g., a keyboard, buttons, a touch screen, a track pad or inertial sensing rod, video capture cameras and / or motion tracking cameras, etc.) may have the , or an external input device 221 connected by wire or wireless (e.g., keyboard, mouse, game controller, inertial sensing rod, video capture cameras and / or motion tracking cameras, etc.) may be used. 以下に詳細に述べるように、ホスティングサービス210は、高パワーのCPU/GPU処理能力を伴うものを含めて、種々の性能レベルのサーバーを含む。 As discussed in more detail below, the hosting service 210, including those with CPU / GPU processing power of high power, including a variety of performance levels server. ゲームのプレイ中、又はホスティングサービス210におけるアプリケーションの使用中に、家庭又はオフィス用のクライアント装置205は、ユーザからのキーボード及び/又はコントローラ入力を受け取り、次いで、インターネット206を通してホスティングサービス210へコントローラ入力を送信し、このホスティングサービス210は、それに応答してゲームプログラムを実行し、そしてゲーム又はアプリケーションソフトウェアのためのビデオ出力の連続フレーム(一連のビデオ映像)を発生する(例えば、ユーザがボタンを押して、スクリーン上のキャラクタを右へ移動するように指令する場合には、ゲームプログラムが、右へ移動するキャラクタを示す一連のビデオ映像を生成する)。 During game play, or during use of an application on the hosting service 210, the client device 205 for the home or office receives keyboard and / or controller input from the user, then the controller input through the Internet 206 to the hosting service 210 transmitted, the hosting service 210 executes a game program in response thereto, and generates successive frames of video output for the game or application software (a set of video images) (e.g., by pressing a user button, when commanded to move the character on the screen to the right, the game program generates a sequence of video images showing the character moving to the right). この一連のビデオ映像は、次いで、短待ち時間のビデオコンプレッサを使用して圧縮され、次いで、ホスティングサービス210は、インターネット206を通して短待ち時間のビデオストリームを送信する。 This sequence of video images is then compressed using a video compressor low-latency, then the hosting service 210 transmits the video stream of low-latency through the Internet 206. 家庭又はオフィス用クライアント装置は、次いで、圧縮されたビデオストリームをデコードし、そしてモニタ又はTVにおいてその解凍されたビデオ映像をレンダリングする。 Home or office client device then decodes the compressed video stream and renders the decompressed video images on a monitor or TV. その結果、クライアント装置205のコンピューティング及びグラフィックハードウェア要件が著しく緩和される。 As a result, computing and graphical hardware requirements of the client device 205 are significantly relaxed. クライアント205は、キーボード/コントローラ入力をインターネット206へ転送し、そしてインターネット206から受け取った圧縮されたビデオストリームをデコードし解凍するための処理パワーを有するだけでよく、これは、実質上、パーソナルコンピュータが、今日、そのCPUにおいてソフトウケアで実行できることである(例えば、ほぼ2GHzで実行されるインテル社のCore Duo CPUは、H.264及びWindows Media VC9のようなコンプレッサを使用してエンコードされた720p HDTVを解凍することができる)。 The client 205 transfers the keyboard / controller input to the Internet 206, and it is only with the processing power to decode decompress a compressed video stream received from the Internet 206, which is, in effect, a personal computer today, it is to be performed in Sofutoukea in its CPU (e.g., a substantially Intel Core Duo CPU running in 2GHz is, H.264 and 720p HDTV encoded using compressors such as Windows Media VC9 it is possible to decompress). そして、クライアント装置のケースでは、専用のチップも、このような規格に対するビデオ解凍を、リアルタイムで、遥かに低いコストにおいて、且つ近代的なPCに要求されるような汎用CPUより遥かに低い消費電力で遂行することができる。 Then, in the case of the client device, dedicated chips, the video decompression for such standards in real-time, in a much lower cost, and modern PC much lower power consumption than a general-purpose CPU such as that required in can be performed. 特に、コントローラ入力を転送しそしてビデオを解凍する機能を遂行するために、家庭用クライアント装置205は、特殊なグラフィック処理ユニット(GPU)、光学的ドライブ又はハードドライブ、例えば、図1に示す従来のビデオゲームシステムを要求しない。 In particular, in order to perform the transfers controller input and the ability to decompress video, home client devices 205, special graphics processing unit (GPU), optical drive or hard drive, for example, the conventional case shown in FIG. 1 It does not require a video game system.

ゲーム及びアプリケーションソフトウェアが、より複雑になり且つよりホトリアリスティックになるにつれて、それらは、高性能CPU、GPU、より多くのRAM、及びより大きくて高速のディスクドライブを要求し、且つホスティングサービス210のコンピューティングパワーは、アップグレードし続けるが、エンドユーザは、家庭又はオフィス用のクライアントプラットホーム205を更新することが要求されない。 Games and applications software, as becomes and more photorealistic more complex, they, high-performance CPU, GPU, many more RAM, and from large to require high-speed disk drives, and the hosting service 210 computing power, it continues to upgrade, the end user, to update the client platform 205 for the home or office is not required. というのは、その処理要件は、所与のビデオ解凍アルゴリズムでの表示解像度及びフレームレートに対して一定のままだからである。 Since its processing requirements is because remains constant for a display resolution and frame rate at a given video decompression algorithm. 従って、図2a−bに示すシステムには、今日見られるハードウェア制限及び互換性の問題が生じない。 Therefore, the system shown in FIG. 2a-b are no hardware limitations and compatibility issues seen today.

更に、ゲーム及びアプリケーションソフトウェアは、ホスティングサービス210のサーバーでのみ実行されるので、ゲーム又はアプリケーションソフトウェアのコピー(光学的メディアの形態又はダウンロードされたソフトウェアとして)がユーザの家庭又はオフィスに存在することはない(ここで使用する「オフィス」とは、特に指示のない限り、例えば、学校の教室を含めて、非住居設定を含むものとする)。 Furthermore, games and application software, since it is performed only on the hosting service 210 server, a game, or copy of the application software (a software which is the form or downloaded optical media) is present in the user's home or office not (in this case, the "office" to be used, unless otherwise indicated, for example, including a classroom of the school, is intended to include non-residential settings). これは、ゲーム又はアプリケーションソフトウェアが不法にコピーされる(海賊版作成される)おそれを著しく軽減すると共に、海賊版作成されるゲーム又はアプリケーションにより貴重なデータベースが使用されるおそれを軽減する。 This, together with the game or application software is reduced illegally copied (created pirated) afraid significantly reduces the risk of valuable database is used by the game or application is pirated. 実際に、家庭又はオフィスでの使用に実際的でないゲーム又はアプリケーションソフトウェアをプレイするために特殊なサーバーが要求される(例えば、非常に高価で、大きく又はノイズを発生する装置が要求される)場合には、ゲーム又はアプリケーションソフトウェアの海賊版コピーが得られたとしても、家庭又はオフィスで動作することはできない。 Indeed, a special server to play the game or application software is not practical for home use or office is required (e.g., very expensive, large or device that generates noise is required) if to, even as pirated copy of the game or application software has been obtained, it is not possible to work at home or the office.

一実施形態では、ホスティングサービス210は、ソフトウェア開発ツールをゲーム又はアプリケーションソフトウェア開発者(一般的に、ソフトウェア開発会社、ゲーム又は映画スタジオ、或いはゲーム又はアプリケーションソフトウェア発行者を指す)220に与え、この開発者は、ホスティングサービス210において実行できるゲームを設計するようにビデオゲームを設計する。 In one embodiment, the hosting service 210, provides a software development tool game or application software developers (In general, software development company, game or movie studio, or refer to a game or application software publisher) to 220, this development who is, to design a video game to design a game that can be executed in the hosting service 210. そのようなツールは、スタンドアローンPC又はビデオゲームコンソールでは通常利用できないホスティングサービスの特徴を開発者が利用できるようにする(例えば、複雑な幾何学形状の非常に大きなデータベースへの高速アクセス(「幾何学形状」とは、特に指示のない限り、ここでは、多角形、テクスチャ、リギング、照明、挙動、並びに3Dデータベースを定義する他のコンポーネント及びパラメータを指すものとする))。 Such tools, features developers of hosting services that can not be normally available in stand-alone PC or video game console to be able to use (for example, high-speed access ( "geometric to the very large database of complex geometries the Manabu shape ", unless otherwise indicated, here, polygonal, textures, rigging, lighting, behaviors, and is intended to refer to other components and parameters that define 3D database)).

このアーキテクチャーのもとでは、異なるビジネスモデルが考えられる。 Under this architecture, different business models can be considered. 1つのモデルのもとで、ホスティングサービス210は、図2aに示すように、エンドユーザから契約料金を収集し、そして開発者220にロイヤリティを支払う。 Under one model, the hosting service 210, as shown in FIG. 2a, to collect subscription fee from the end user, and pay royalties to the developers 220. 図2bに示す別の具現化においては、開発者220がユーザから契約料金を直接収集し、そしてゲーム又はアプリケーションコンテンツをホストするためにホスティングサービス210に支払をする。 In another realization shown in FIG. 2b, the developer 220 collects directly subscription fee from the user, and the payment to the hosting service 210 for hosting the game or application content. これらの基礎的な原理は、オンラインゲーム又はアプリケーションホスティングを提供するための特定のビジネスモデルに限定されない。 These underlying principles are not limited to any particular business model for providing online gaming or application hosting.

圧縮ビデオ特性 Compressed video characteristics
上述したように、ビデオゲームサービス又はアプリケーションソフトウェアサービスをオンラインで提供することに伴う1つの顕著な問題は、待ち時間である。 As described above, one significant problem with providing video game services or applications software services online is waiting. (ユーザにより入力装置が操作される点から、ディスプレイ装置に応答が表示される点までの)70から80msの待ち時間が、高速応答時間を要求するゲーム及びアプリケーションの上限である。 (From the point where the input device is operated by a user, to the point to be displayed in response to a display device) latency 80ms from 70, as the upper limit of the games and applications that require fast response time. しかしながら、図2a及び2bに示すアーキテクチャーの環境では多数の実際的及び物理的な制約があるために、これを達成することが非常に困難である。 However, in the architecture of the environment shown in Figure 2a and 2b due to the large number of practical and physical constraints, it is very difficult to achieve this.

図3に示すように、ユーザがインターネットサービスに契約するときに、その接続は、典型的に、ユーザの家庭又はオフィスへの公称最大データレート301によって定格付けされる。 As shown in FIG. 3, when a user subscribing to an Internet service, the connection is typically a constant rated by a nominal maximum data rate 301 to the user's home or office. プロバイダーのポリシー及びルーティング装置の能力に基づいて、その最大データレートは、若干厳格に施行できるが、典型的に、実際に得られるデータレートは、多数の異なる理由の1つで、低いものとなる。 Based on the ability of the provider policy and routing device, the maximum data rate, can be somewhat strictly enforced, typically actually obtained data rate is one of a number of different reasons, the low . 例えば、DSL中央オフィス又はローカルケーブルモデムループに非常に多くのネットワークトラフィックがあるか、又はケーブルにノイズが生じてパケットをドロップさせるか、或いはプロバイダーが最大ビット数/月/ユーザを確立することがある。 For example, there are so many network traffic DSL central office or local cable modem loop, or noise to drop packets generated in the cable or provider may establish a maximum number of bits / month / user . 現在、ケーブル及びDSLサービスに対する最大ダウンストリームデータレートは、典型的に、数百キロビット/秒(Kbps)から30Mbpsの範囲である。 Currently, the maximum downstream data rate for cable and DSL services typically ranges from a few hundred kilobits / sec (Kbps) of 30 Mbps. セルラーサービスは、典型的に、数百Kbpsのダウンストリームデータに制限される。 Cellular services are typically limited to hundreds Kbps of downstream data. しかしながら、ブロードバンドサービスの速度及びブロードバンドサービスに契約するユーザの数は、時間と共に急激に増加する。 However, the number of users subscribing to the speed and broadband services broadband services, increases sharply with time. 現在、ある分析では、米国のブロードバンド加入者の33%が2Mbps以上のダウンストリームデータレートを有することが推定される。 Currently, some analysts, 33% of US broadband subscribers is estimated to have a more downstream data rate 2 Mbps. 例えば、ある分析では、2010年までに、米国のブロードバンド加入者の85%以上が2Mbps以上のデータレートを有することが推定される。 For example, in some analyzes, by 2010, over 85% of US broadband subscribers is estimated to have more data rate 2 Mbps.

図3に示すように、実際に利用可能な最大データレート302は、時間と共に変動し得る。 As shown in FIG. 3, the maximum data rate 302 actually available may vary with time. 従って、短い待ち時間のオンラインゲーム又はアプリケーションソフトウェアコンテクストでは、時々、特定のビデオストリームに対する実際に利用できるデータレートを予想することが困難である。 Thus, online gaming or application software context latency, sometimes it is difficult to predict the data rate actually available for a particular video stream. 所与の数値のフレーム/秒(fps)における所与のレベルのクオリティをある量のシーンの複雑さに対し所与の解像度(例えば、640x480@60fps)において維持するためにデータレート303が要求され、そして(図3にピークで示されるように)実際に利用できる最大データレート302より上に動きが上昇する場合には、多数の問題が発生し得る。 Data rate 303 is required to maintain relative complexity of the amount of scenes with the quality of a given level in the frames / sec (fps) for a given numerical given resolution (e.g., 640x480 @ 60 fps) in and if motion above the maximum data rate 302 (as indicated by the peak in Figure 3) can actually be utilized to increase a number of problems may occur. 例えば、あるインターネットサービスは、単にパケットをドロップし、ユーザのビデオスクリーンにデータロス及び映像歪/ロスを招くことになる。 For example, some internet services will simply drop packets, which leads to data loss and image distortion / loss to the user of the video screen. 他のサービスは、付加的なパケットを一時的にバッファし(即ち、キューイングし)、そして利用可能なデータレートでクライアントへパケットを与えて、待ち時間の増加、即ち多数のビデオゲーム及びアプリケーションにとって受け容れられない結果を招くことになる。 Other services, temporarily buffers additional packets (i.e., queued), and gives the packet to the client at the available data rate, increase in latency, i.e. for many video games and applications which leads to results which receives not put. 最終的に、あるインターネットサービスプロバイダーは、データレートの増加を、悪意のある攻撃、例えば、サービス拒否攻撃(ネットワーク接続を無能化するためにハッカーにより使用される良く知られた技術)とみなし、そしてユーザのインターネット接続を指定期間中切断する。 Finally, there Internet service provider considers an increase in data rates, a malicious attack, for example, denial of service attacks (well-known technique used by hackers to disabling the network connection), and to cut during a specified period of time the Internet connection of the user. 従って、ここに述べる実施形態は、ビデオゲームに要求されるデータレートが、利用可能な最大データレートを越えないことを保証するステップをとる。 Accordingly, the embodiments described herein take steps to ensure that the data rate required for video games, does not exceed the maximum available data rate.

ホスティングサービスアーキテクチャー Hosting service architecture
図4aは、一実施形態によるホスティングサービス210のアーキテクチャーを示す。 Figure 4a shows the architecture of the hosting service 210 according to one embodiment. ホスティングサービス210は、単一サーバーセンターに配置することもできるし、又は複数のサーバーセンターにわたり分散することもできる(あるサーバーセンターへの経路が他のサーバーセンターより短い待ち時間となる短待ち時間接続をユーザに与え、ユーザ間に負荷バランスを与え、そして1つ以上のサーバーセンターがフェイルする場合に冗長性を与えるために)。 The hosting service 210 can either be located in a single server center, or multiple paths, low latency connections become shorter latency than other server centers to which can also be (a server center to distributed across server centers the to the user, in order to provide redundancy in the case given load balance between users and the one or more server centers to fail). ホスティングサービス210は、最終的に、数百又は数千或いは数百万のサーバー402を含み、非常に大きなユーザベースにサービスすることができる。 Hosting service 210, finally, comprises a server 402 of hundreds or thousands or millions, can serve very large user base. ホスティングサービスコントロールシステム401は、ホスティングサービス210に対する全体的なコントロールを与え、ルーター、サーバー、ビデオ圧縮システム、ビリング及びアカウンティングシステム、等に指令する。 Hosting service control system 401 provides overall control for the hosting service 210, routers, servers, video compression systems, billing and accounting systems, it commands the like. 一実施形態では、ホスティングサービスコントロールシステム401は、ユーザ情報、サーバー情報及びシステム統計情報のためのデータベースを記憶するのに使用されるRAIDアレイに結合された分散処理Linuxベースシステムにおいて具現化される。 In one embodiment, the hosting service control system 401, the user information is embodied in a coupled distributed processing Linux-based system to RAID arrays used to store the databases for server information, and system statistics. 以上の説明では、ホスティングサービス210により具現化される種々のアクションは、他の特定システムに起因しない限り、ホスティングサービスコントロールシステム401により開始されコントロールされる。 In the above description, the various actions implemented by the hosting service 210, unless attributed to other specific systems, are controlled initiated by the hosting service control system 401.

ホスティングサービス210は、インテル、IBM、ヒューレットパッカード、等から現在入手できるもののような多数のサーバー402を含む。 Hosting service 210, including Intel, IBM, a large number of servers 402, such as those currently available from Hewlett-Packard, and the like. 或いは又、サーバー402は、コンポーネントのカスタム構成でアッセンブルすることもできるし、又は全サーバーが単一チップとして具現化されるように最終的に一体化することもできる。 Alternatively, the server 402 can either be assembled in a custom configuration of components, or the entire server can be eventually integrated as embodied in a single chip. この図は、図示明瞭化のために、少数のサーバー402しか示していないが、実際の展開では、1つ程度のサーバー402があってもよいし、又は数百万以上のサーバー402があってもよい。 This figure, for illustration clarity, only shows a small number of servers 402, the actual deployment, it may even have one degree of server 402, or if there is millions or more servers 402 it may be. サーバー402は、全てが同様に構成されてもよいし(幾つかの構成パラメータの例として、同じCPU形式及び性能で、GPUをもったりもたなかったりして、そしてGPUをもつ場合には、同じGPU形式及び性能で、又、同じ数のCPU及びGPUで、又、同じ量及び形式/速度のRAMで、並びに同じRAM構成で)、又はサーバー402の種々のサブセットが同じ構成を有してもよいし(例えば、サーバーの25%をある仕方で構成することができ、50%を異なる仕方で構成することができ、そして25%を更に別の仕方で構成することができ)、或いは各サーバー402が異なるものでもよい。 Server 402, as an example of all may be similarly configured (some configuration parameters, with the same CPU type and performance, and may not have or have GPU, and if with a GPU, the in the same GPU type and performance, and in CPU and GPU same number, and in the same amount and type / speed of RAM, and at the same RAM configuration), or various subsets of the servers 402 have the same configuration may be (for example, can be configured in a way that 25% of the servers can constitute 50% differently, and can be configured in yet another manner 25%), or the server 402 may be different.

一実施形態では、サーバー402は、ディスクレスであり、即ちそれ自身のローカル大量記憶装置(光学又は磁気記憶装置、或いは半導体ベースの記憶装置、例えば、フラッシュメモリ又は同様の機能を果たす他の大量記憶手段)を有するのではなく、各サーバーは、高速バックプレーン又はネットワーク接続を通して共有大量記憶装置にアクセスする。 In one embodiment, the server 402 is a diskless, i.e. the local mass storage device (optical or magnetic storage device of its own, or semiconductor-based memory devices, e.g., other mass storage means fulfilling flash memory or similar function ) rather than having each server accesses shared mass storage through fast backplane or network connection. 一実施形態では、この高速接続は、一連の独立ディスク冗長アレイ(RAID)405に接続された記憶エリアネットワーク(SAN)403であり、装置間の接続がギガビットイーサネット(登録商標)を使用して具現化される。 In one embodiment, this fast connection is a series of Redundant Array of Independent Disks storage area network connected to a (RAID) 405 (SAN) 403, connection between devices using Gigabit Ethernet (registered trademark) embodies It is of. 当業者に明らかなように、SAN403は、多数のRAIDアレイ405を一緒に合成して、最終的に広い帯域巾を生じさせ、即ち現在のゲームコンソール及びPCに使用されるRAMから得られる帯域巾に接近するか又はそれを潜在的に越えるのに使用される。 As will be apparent to those skilled in the art, SAN 403 is a number of RAID arrays 405 synthesizes together, causing finally a wide bandwidth, i.e. bandwidth obtained from the RAM used in current gaming consoles and PC It is used to potentially exceed either or it approaches the. そして、磁気メディアのような回転メディアをベースとするRAIDアレイは、著しいシーク時間アクセス待ち時間をしばしば有するが、半導体記憶装置をベースとするRAIDアレイは、相当に短いアクセス待ち時間で具現化することができる。 Then, RAID arrays based on rotating media, such as magnetic media, have frequently significant seek time access latency, RAID arrays based on semiconductor storage device, be embodied in considerably shorter access latency can. 別の構成では、サーバー402の幾つか又は全部が、それら自身の大量記憶装置の幾つか又は全部をローカルで与える。 In another configuration, some or all of the servers 402 provide some or all of their own mass storage device locally. 例えば、サーバー402は、そのオペレーティングシステムのような頻繁にアクセスされる情報、及びビデオゲーム又はアプリケーションのコピーを短待ち時間のローカルフラッシュベースの記憶装置に記憶するが、幾何学形状又はゲーム状態情報の大きなデータベースに時々アクセスするには、SANを使用して、回転メディアをベースとするRAIDアレイ405に大きなシーク待ち時間でアクセスする。 For example, the server 402, frequently accessed information such as its operating system, and stores a copy of a video game or application locally flash-based storage device of a short waiting time, the geometry or game state information to occasional access to a large database, using the SAN, to access a large seek latency rotating media RAID arrays 405 based.

更に、一実施形態では、ホスティングサービス210は、以下に詳細に説明する短待ち時間のビデオ圧縮ロジック404を使用する。 Furthermore, in one embodiment, the hosting service 210 uses the video low-latency compression logic 404 described in detail below. このビデオ圧縮ロジック404は、ソフトウェア、ハードウェア又はその組合せで具現化することができる(その幾つかの実施形態を以下に説明する)。 The video compression logic 404 (some of which are described in the embodiments below) software can be implemented in hardware or a combination thereof. ビデオ圧縮ロジック404は、オーディオ及びビジュアル資料を圧縮するためのロジックを含む。 Video compression logic 404 includes logic for compressing audio and visual materials.

動作に際し、ユーザの家屋211において、キーボード、マウス、ゲームコントローラ又は他の入力装置421を経てビデオゲームをプレイするか又はアプリケーションを使用する間に、クライアント415のコントロール信号ロジック413は、ユーザにより作動されたボタン押圧(及び他の形式のユーザ入力)を表す(典型的にUDPパケットの形態の)コントロール信号406a−bを送信する。 In operation, in the house 211 of a user, a keyboard, a mouse, via a game controller or other input device 421 while using or application to play video games, the control signal logic 413 on the client 415 is operated by the user buttons representing the pressing (and user input other types) (typically in the UDP packet of the form) to the control signal 406a-b. 所与のユーザからのコントロール信号は、適当なサーバー(又は複数のサーバーがユーザの入力装置に応答する場合には複数のサーバー)402へルーティングされる。 Control signals from a given user, a suitable server (or multiple servers when responding to an input device of the user is a plurality of servers) are routed to the 402. 図4aに示すように、コントロール信号406aは、SANを経てサーバー402へルーティングされる。 As shown in Figure 4a, control signals 406a may be routed through the SAN to the server 402. それとは別に又はそれに加えて、コントロール信号406bは、ホスティングサービスネットワーク(例えば、イーサネットベースのローカルエリアネットワーク)を経てサーバー402へ直接ルーティングされる。 Alternatively or in addition thereto, the control signal 406b is hosting service network (e.g., Ethernet-based local area network) are routed directly to the server 402 via the. それらがどのように送信されるかに関わらず、サーバー(1つ又は複数)は、コントロール信号406a−bに応答してゲーム又はアプリケーションソフトウェアを実行する。 Whether they are sent how, the server (s), executes the game or application software in response to a control signal 406a-b. 図4aに示されていないが、ファイアウオール(1つ又は複数)及び/又はゲートウェイ(1つ又は複数)のような種々のネットワークコンポーネントは、ホスティングサービス210の縁(例えば、ホスティングサービス210とインターネット410との間)において、及び/又はインターネット410と家庭又はオフィスクライアント415との間のユーザの家屋211の縁において到来するトラフィック及び出て行くトラフィックを処理することができる。 Although not shown in Figure 4a, various networking components such as firewalls (s) and / or gateway (s), the edge of the hosting service 210 (e.g., the hosting service 210 and the Internet 410 it can be processed during), and / or traffic and outgoing traffic arriving at the edge of the user premises 211 between the Internet 410 and the home or office client 415. 実行されたゲーム又はアプリケーションソフトウェアのグラフィック及びオーディオ出力、即ちビデオ映像の新たなシーケンスは、短待ち時間のビデオ圧縮ロジック404へ供給され、このロジックは、ここに述べるような短待ち時間のビデオ圧縮技術に基づいてビデオ映像のシーケンスを圧縮し、そして圧縮されたビデオストリームを、典型的に、圧縮された又は非圧縮のオーディオと共に、インターネット410を経て(又は、以下に述べるように、一般的なインターネットをバイパスする最適な高速ネットワークサービスを経て)クライアント415へ返送する。 Graphics and audio output of the executed game or application software, namely a new sequence of video images is supplied to a video low-latency compression logic 404, this logic, video compression techniques short latency as described herein the video stream is compressed sequence of video images, and compressed on the basis of, typically, with audio compressed or uncompressed, through the Internet 410 (or, as described below, the general Internet the through the optimal high-speed network services to bypass) be returned to the client 415. クライアント415における短待ち時間のビデオ解凍ロジック412は、次いで、ビデオ及びオーディオストリームを解凍し、その解凍されたビデオストリームをレンダリングし、そして典型的に、その解凍されたオーディオストリームをディスプレイ装置422においてプレイする。 Video decompression logic 412 of the short latency in the client 415, then decompresses the video and audio streams, and renders the decompressed video stream, and typically play the decompressed audio stream in the display device 422 to. 或いは又、オーディオは、ディスプレイ装置422とは個別のスピーカで再生してもよいし、そうでなくてもよい。 Alternatively, the audio may be reproduced by individual speakers and a display device 422 or not. 入力装置421及びディスプレイ装置422は、図2a及び2bでは独立した装置として示されているが、ポータブルコンピュータ又は移動装置のようなクライアント装置内に一体化されてもよいことに注意されたい。 Input device 421 and display device 422 is shown as apparatus independent in Figures 2a and 2b, it is noted that it may be integrated within client devices such as portable computers or mobile devices.

家庭又はオフィスクライアント415(図2a及び2bにおいて家庭又はオフィスクライアント205として既に述べた)は、非常に安価で且つ低電力の装置で、計算又はグラフィック性能が非常に限定されていると共に、ローカルの大量記憶装置が非常に限定されたものであるか又はそれを全く有していない。 Home or office client 415 (already mentioned as home or office client 205 in Figures 2a and 2b) is a very inexpensive and low-power device, with calculation or graphics performance is very limited, local mass storage device is not at all have very limited ones in which either or it. 対照的に、SAN403及び複数のRAID405に結合された各サーバー402は、非常に高い性能のコンピューティングシステムであり、そして実際に、複数のサーバーが並列処理構成で協働的に使用される場合は、保持することのできる計算及びグラフィック処理パワーの量にほぼ制限がなくなる。 In contrast, each server 402, coupled to SAN403 and a plurality of RAID405 are very high performance computing system, and indeed, if multiple servers are used in cooperative parallel processing configuration , substantially limits eliminates the amount of calculation and graphic processing power can hold. そして、ユーザにとって知覚的に短待ち時間のビデオ圧縮404及び短待ち時間のビデオ圧縮412のために、サーバー402の計算パワーがユーザに与えられる。 And for perceptually low-latency video compression 404 and low-latency video compression 412 for the user, computing power of the servers 402 is provided to the user. ユーザが入力装置421のボタンを押すと、ディスプレイ422上の映像は、ゲーム又はアプリケーションソフトウェアがローカルで実行されるかのように、知覚的に意義のある遅延を伴わずに、ボタンの押圧に応答して更新される。 When the user presses a button on input device 421, the image on the display 422, as if the game or application software is run locally, without perceptually meaningful delay, in response to pressing of the button It is updated. 従って、短待ち時間のビデオ解凍及びコントロール信号ロジック413を具現化する非常に低性能のコンピュータ又は安価なチップである家庭又はオフィスクライアント415では、ローカルで利用できると思われるリモート位置から効果的な任意の計算パワーがユーザに与えられる。 Therefore, in the home or office client 415 is a computer or inexpensive chip very low performance embodying video decompression and control signal logic 413 the low-latency, effective arbitrary from a remote location that appears to be available locally of computing power is provided to the user. これは、最も進歩したプロセッサ集中の(典型的に新規な)ビデオゲーム及び最高性能のアプリケーションをプレイするパワーをユーザに与える。 This gives the power to play the most advanced processor (a typically new) concentration of the application of video games and the best performance to the user.

図4cは、非常に基本的で且つ安価な家庭又はオフィスクライアント装置465を示す。 Figure 4c shows a very basic and inexpensive home or office client device 465. この装置は、図4a及び4bからの家庭又はオフィスクライアント415の実施形態である。 This device is a home or embodiment of the office client 415 from Figures 4a and 4b. これは約2インチの長さである。 This is the length of about 2 inches. これは、パワーオーバーイーサネット(PoE)でイーサネットケーブルとインターフェイスするイーサネットジャック462を有し、そこから、インターネットへの電力及び接続が得られる。 It has an Ethernet jack 462 to the Ethernet cable and interface Power over Ethernet (PoE), from which is obtained the power and connection to the Internet. ネットワークアドレストランスレーション(NAT)をサポートするネットワーク内でNATを実行することができる。 It is possible to perform NAT within a network that supports network address translation (NAT). オフィス環境では、多数の新規なイーサネットスイッチは、PoEを有し、そしてPoEをオフィスのイーサネットジャックへ直接持って行く。 In an office environment, a number of new Ethernet switch has a PoE, and bring direct the PoE to the office of the Ethernet jack. このような状況では、壁ジャックからクライアント465へのイーサネットケーブルが要求されるだけである。 In such a situation, it is only an Ethernet cable from the wall jack to the client 465 is required. 利用できるイーサネット接続が(例えば、DSL又はケーブルモデムをもつが、PoEはもたない家庭において)電力を搬送しない場合には、非給電イーサネットケーブル及びPoE付き出力イーサネットを受け容れる安価な壁「ブリック」(即ち電源)が利用できる。 Ethernet connection available (for example, but with DSL or cable modem, in a home without PoE is) when not conveying the power, unpowered Ethernet cable and PoE with Output Ethernet receiving accommodate inexpensive wall "brick" (ie, power) can be used.

クライアント465は、キーボード、マウス、ゲームコントローラ及び/又はマイクロホン及び/又はヘッドセットのようなブルーツース入力装置479とインターフェイスするブルーツースワイヤレスインターフェイスに結合された(図4aの)コントロール信号ロジック413を含む。 The client 465 includes a keyboard, a mouse, coupled to the game controller and / or Bluetooth input devices 479 and the interface to Bluetooth wireless interface, such as a microphone and / or headset (in FIG. 4a) the control signal logic 413. 又、クライアント465の一実施形態は、120fpsビデオをサポートできるディスプレイ装置468に結合されるビデオを120fpsで出力し、そしてシャッター付き眼鏡466に信号を送って(典型的に赤外線により)、各次々のフレームで片方の目に、次いで、他方の目に交互にシャッター作動することができる。 Further, one embodiment of client 465 outputs the video to be coupled to a display device 468 able to support 120fps video 120fps, and sends a signal to the shutter glasses 466 (typically by IR), in each successive in one eye in the frame, then it is possible to shutter alternately operated in the other eye. ユーザが認知する効果は、ディスプレイスクリーンを「跳び出す」ステレオ3D映像である。 Effect for the user to cognition, the display screen "jumps out", which is a stereo 3D image. このようなオペレーションをサポートする1つのこのようなディスプレイ装置468は、Samsung HL−T5076Sである。 Such operations to support one such display device 468 is a Samsung HL-T5076S. 各目のビデオストリームは個別であるから、一実施形態では、独立した2つのビデオストリームがホスティングサービス210により圧縮され、フレームは、時間的にインターリーブされ、そしてフレームは、クライアント465内の独立した2つの解凍プロセスとして解凍される。 Because each eye video stream is separately, in one embodiment, two independent video streams are compressed by the hosting service 210, frames are interleaved in time, and frame separate 2 in the client 465 It is decompressed as One of the decompression process.

又、クライアント465は、到来するビデオ及びオーディオを解凍してHDMI(高鮮明度マルチメディアインターフェイス)を通して出力する短待ち時間のビデオ解凍ロジック412と、SDTV(標準鮮明度テレビジョン)又はHDTV(高鮮明度テレビジョン)468に差し込まれてTVにビデオ及びオーディオを与えるか又はHDMIをサポートするモニタ468に差し込まれるコネクタ463とを含む。 The client 465 includes a video decompression logic 412 of the short latency output through decompress the video and audio HDMI (high definition multimedia interface) arrives, SDTV (Standard Definition Television) or HDTV (high definition plugged into degrees television) 468 and a connector 463 that plugs into a monitor 468 that supports or HDMI provide video and audio to TV. ユーザのモニタ468がHDMIをサポートしない場合には、HDMI対DVI(デジタルビジュアルインターフェイス)を使用することができるが、オーディオが失われる。 When the user of the monitor 468 does not support HDMI, which can be used HDMI-to DVI (Digital Visual Interface), the audio will be lost. HDMI規格のもとでは、ディスプレイの能力(例えば、サポートされる解像度、フレームレート)464がディスプレイ装置468から通信され、この情報は、次いで、インターネット接続462を通してホスティングサービス210へ返送され、従って、ディスプレイ装置に適したフォーマットで圧縮ビデオをストリーミングすることができる。 Under the HDMI standard, the display capabilities (e.g., supported resolutions, frame rates) 464 are communicated from the display device 468, this information is then sent back through the Internet connection 462 to the hosting service 210, therefore, the display capable of streaming compressed video in a format suitable for the device.

図4dは、より多くの外部インターフェイスを有する以外は図4cに示す家庭又はオフィスクライアント装置465と同じである家庭又はオフィスクライアント装置475を示す。 Figure 4d shows a home or office client device 475 is the same as the home or office client device 465 shown in Figure 4c except with more external interfaces. 又、クライアント475は、電力に対してPoEを受け容れることもできるし、又は壁に差し込まれる外部電源アダプタ(図示せず)から延びることもできる。 The client 475 can either be to accept a PoE for the power, or plugged into the wall can also extend from an external power adapter (not shown). クライアント475のUSB入力を使用すると、ビデオカメラ477は、圧縮されたビデオをクライアント475へ供給し、これは、クライアント475によってホスティングサービス210へアップロードされ、以下に述べるように使用される。 With USB input of the client 475, video camera 477 supplies the compressed video to client 475, which is uploaded by client 475 to hosting service 210 is used as described below. カメラ477に内蔵されるのは、以下に述べる圧縮技術を使用した短待ち時間のコンプレッサである。 It is built in the camera 477, a compressor low-latency using compression techniques described below.

インターネット接続としてイーサネットコネクタを有するのに加えて、クライアント475は、インターネットへの802.11gワイヤレスインターフェイスも有する。 In addition to having an Ethernet connector as an Internet connection, client 475 also has 802.11g wireless interface to the Internet. 両インターフェイスは、NATをサポートするネットワーク内でNATを使用することができる。 Both interfaces are able to use NAT within a network that supports NAT.

又、ビデオ及びオーディオを出力するためにHDMIコネクタを有するのに加えて、クライアント475は、アナログ出力を含む(且つ標準アダプタケーブルでVGA出力を与える)デュアルリンクDVI−Iコネクタも有する。 Further, in addition to having an HDMI connector to output video and audio, the client 475 includes an analog output (and give VGA output with a standard adapter cable) also has dual-link DVI-I connector. 又、これは、複合ビデオ及びS−ビデオのためのアナログ出力も有する。 Moreover, this also has analog outputs for composite video and S- video.

オーディオに対して、クライアント475は、左右のアナログステレオRCAジャックを、そしてデジタルオーディオ出力に対して、TOSLINK出力を有する。 The audio, the client 475, the left and right analog stereo RCA jacks, and for digital audio output has a TOSLINK output.

又、入力装置479へのブルーツースワイヤレスインターフェイスに加えて、入力装置にインターフェイスするためのUSBジャックも有する。 In addition to Bluetooth wireless interface to input devices 479, also has USB jacks to interface to input devices.

図4eは、クライアント465の内部アーキテクチャーの一実施形態を示す。 Figure 4e illustrates an embodiment of the internal architecture of client 465. 図示された装置の全部又は幾つかを、フィールドプログラマブルロジックアレー、カスタムASIC、或いはカスタム設計又は既製の多数の個別装置で具現化することができる。 All or some of the illustrated devices, field programmable logic arrays, can be embodied in a custom ASIC, or custom design or a number of individual devices ready.

PoEを伴うイーサネット497がイーサネットインターフェイス481に取り付けられる。 Ethernet 497 with PoE is attached to the Ethernet interface 481. PoEを伴うイーサネット497から電力499が導出され、クライアント465内の残りの装置に接続される。 Power 499 is derived from the Ethernet 497 with PoE, is connected to the remaining devices in the client 465. バス480は、装置間の通信のための共通バスである。 Bus 480 is a common bus for communication between devices.

フラッシュ476からの小さなクライアントコントロールアプリケーションを実行するコントロールCPU483(ほとんどの場合に、RAMが埋設された100MHzのMIPS R4000シリーズCPUのような小型のCPUで充分である)は、ネットワーク(即ち、イーサネットインターフェイス)のためのプロトコルスタックを具現化し、又、ホスティングサービス210と通信し、そしてクライアント465内の全ての装置を構成する。 (In most cases, RAM is sufficient a small CPU, such as a MIPS R4000 series CPU of buried 100 MHz) control CPU483 for executing a small client control application from Flash 476, network (i.e., Ethernet interfaces) It embodies a protocol stack for, also communicates with the hosting service 210, and configures all of the devices in the client 465. 又、これは、入力装置469とのインターフェイスを取り扱い、そして必要に応じて、「順方向エラー修正」で保護して、パケットをユーザコントローラデータと共にホスティングサービス210へ返送する。 It also handles interfaces with the input device 469, and optionally, be protected with "forward error correction", and returns to the hosting service 210 packets with user controller data. 又、コントロールCPU483は、パケットトラフィックを監視する(例えば、パケットが失われるか遅延された場合、それらの到着にタイムスタンプも押す)。 Further, the control CPU483 monitors the packet traffic (e.g., when it is delayed or packets are lost, press also timestamps their arrival). この情報は、ホスティングサービス210へ返送され、従って、ネットワーク接続を常時監視し、それに応じて何を送信するか調整することができる。 This information is sent back to the hosting service 210, thus, monitor the network constantly connected, it can be adjusted to send what accordingly. フラッシュメモリ476は、最初に、製造時に、コントロールCPU483のコントロールプログラムがロードされると共に、特定のクライアント465ユニットにとって独特のシリアル番号もロードされる。 Flash memory 476 is initially at the time of manufacture, control program of the control CPU483 together with loads are unique serial number is also loaded for a particular client 465 units. このシリアル番号は、ホスティングサービス210がクライアント465ユニットを独特に識別できるようにする。 The serial number is, the hosting service 210 to be able to uniquely identify the client 465 units.

ブルーツースインターフェイス484は、クライアント465の内部にあるそのアンテナを通して入力装置469へワイヤレス通信する。 Bluetooth interface 484 communicates wirelessly to the input device 469 through its antenna that is internal to the client 465.

ビデオデコンプレッサ486は、ここに述べるビデオ解凍を具現化するように構成された短待ち時間のビデオデコンプレッサである。 Video decompressor 486 is a video decompressor configured short latency to implement the video decompression described herein. 非常に多数のビデオ解凍装置が、既製品として、又はFPGA又はカスタムASICへ一体化できる知的プロパティ(IP)設計として、存在する。 Very large number of video decompression devices, off-the-shelf, or as Intellectual Property (IP) designed to be integrated into an FPGA or a custom ASIC, there. H. H. 264デコーダのためのIPを提供する1つの会社は、NSWオーストラリアのオーシャンロジックオブマンリー(Ocean Logic of Manly)である。 One of the companies that provide 264 IP for the decoder is a NSW Australia Ocean logic of Manly (Ocean Logic of Manly). IPを使用する効果は、ここで使用する圧縮技術が圧縮規格に従わないことである。 The effect of using the IP, the compression technique used here is that they do not conform to compression standards. ある標準的なデコンプレッサは、ここに述べる圧縮技術を受け容れるように構成されるに充分なほど融通性があるが、あるものはそうではない。 There Standard decompressor, it is enough flexibility in the configured accept the compression techniques described herein, but not with some. しかし、IPでは、デコンプレッサを必要に応じて設計し直す上で完全な融通性がある。 However, in the IP, there is complete flexibility in redesigning as required decompressor.

ビデオデコンプレッサの出力は、ビデオ出力サブシステム487に結合され、これは、ビデオをHDMIインターフェイス490のビデオ出力に結合する。 The output of the video decompressor is coupled to the video output subsystem 487, which couples the video to the video output of the HDMI interface 490.

オーディオ解凍サブシステム488は、入手可能な標準的オーディオデコンプレッサを使用して具現化されるか、又はIPとして具現化することもでき、或いはオーディオの解凍は、例えば、Vorbisオーディオデコンプレッサを具現化できるコントロールプロセッサ483内で具現化することもできる。 Audio decompression subsystem 488 may also be implemented either implemented using a standard audio decompressor available or as IP, or the audio decompression can be, for example, embody the Vorbis audio decompressor It can also be embodied in the control processor 483 as possible.

オーディオの解凍を具現化する装置は、オーディオ出力サブシステム489へ結合され、これは、オーディオをHDMIインターフェイス490のオーディオ出力へ結合する。 Apparatus embodying the decompression of audio is coupled to the audio output subsystem 489, which couples the audio to the audio output of the HDMI interface 490.

図4fは、クライアント475の内部アーキテクチャーの一実施形態を示す。 Figure 4f shows one embodiment of the internal architecture of client 475. 明らかなように、このアーキテクチャーは、付加的なインターフェイスと、壁に差し込む電源アダプタからの任意の外部DC電力を除き、クライアント465と同じであり、その外部DC電力は、そのように使用される場合、イーサネットPoE497から到来する電力に取って代わる。 Obviously, this architecture includes a additional interface, except any external DC power from the power adapter that plugs into the wall, the same as the client 465, the external DC power is used as such case, replace the power coming from the Ethernet PoE497. クライアント465と共通の機能は、以下に説明を繰り返さず、付加的な機能を以下に説明する。 Client 465 and the common features are not repeated description will now be described additional functions below.

CPU483は、付加的な装置と通信し、それを構成する。 CPU483 communicates with additional devices, its constituent.

WiFiサブシステム482は、そのアンテナを通してイーサネット497への代替物としてワイヤレスインターネットアクセスを与える。 WiFi subsystem 482 provides wireless Internet access as an alternative to Ethernet 497 through its antenna. WiFiサブシステムは、カリフォルニア州サンタクララのアセロスコミュニケーションズ(Atheros Communications)を含めて幅広い製造者から入手できる。 WiFi subsystem is available from a wide range of manufacturers, including the Santa Clara, California of Atheros Communications (Atheros Communications).

USBサブシステム485は、ワイヤードUSB入力装置479に対してブルーツース通信の代替物を与える。 USB subsystem 485 provides an alternative to Bluetooth communication to wired USB input device 479. USBサブシステムは、極めて標準的で、FPGA及びASICについて入手容易であり、且つビデオ解凍と同様に、他の機能を遂行する既製装置にしばしば内蔵される。 USB subsystem, a fairly standard, readily available for FPGA and ASIC, as with and video decompression, often built in performing off-the-shelf devices other functions.

ビデオ出力サブシステム487は、クライアント465内よりも広範囲なビデオ出力を発生する。 Video output subsystem 487 produces a wide range of video outputs than within client 465. これは、HDMI490ビデオ出力を与えるのに加えて、DVI−I491、S−ビデオ492及び複合ビデオ493を与える。 This, in addition to providing the HDMI490 video output, provide the DVI-I 491, S- video 492 and composite video 493. 又、DVI−I491インターフェイスがデジタルビデオに対して使用されるときには、ディスプレイ能力464がディスプレイ装置からコントロールCPU483へ返送され、ディスプレイ装置478の能力をホスティングサービス210に通知できるようにする。 Also, when the DVI-I 491 interface is used for digital video, display capabilities 464 is returned from the display device to the control CPU 483, to be notified to the ability of the display device 478 to the hosting service 210. ビデオ出力サブシステム487により与えられる全てのインターフェイスは、極めて標準的なインターフェイスであり、多数の形態で入手容易である。 All interfaces provided by the video output subsystem 487 are quite standard interfaces and readily available in many forms.

オーディオ出力サブシステム489は、デジタルインターフェイス494(S/PDIF及び/又はToslink)を通してオーディオをデジタルで出力すると共に、ステレオアナログインターフェイス495を通してオーディオをアナログ形態で出力する。 Audio output subsystem 489 outputs a digital audio through digital interface 494 (S / PDIF and / or Toslink), output in analog form an audio through stereo analog interface 495.

往復待ち時間の分析 Analysis of the round-trip latency
もちろん、以上の段落を理解するために、入力装置421を使用したユーザのアクションと、そのアクションの結果をディスプレイ装置420で見るときとの間の往復待ち時間は、70−80ms以下でなければならない。 Of course, in order to understand the above paragraph, round trip latency between when viewing the action of the user using the input device 421, the result of that action on display device 420 should be no more than 70-80ms . この待ち時間は、ユーザの家屋211内の入力装置421からホスティングサービス210へそしてユーザの家屋211へ戻って、ディスプレイ装置422へ至る経路における全てのファクタを考慮しなければならない。 This waiting time, the process returns to the user premises 211 from the input device 421 in the user premises 211 to the hosting service 210 navel, must take into account all of the factors in the path to the display device 422. 図4bは、信号が進行しなければならない種々のコンポーネント及びネットワークを示し、これらコンポーネント及びネットワークの上には、実際の具現化で予想できる待ち時間を列挙した時間線がある。 Figure 4b shows the various components and networks that signals must travel, on these components and networks, there is a real time line that lists predictable latency embodied. 図4bは、重要な経路ルーティングだけを示すように簡略化されていることに注意されたい。 Figure 4b is noted that it is simplified to show only important route routing. システムの他の特徴のために使用されるデータの他のルーティングは、以下で説明する。 Other routing of data used for other features of the system are described below. 双頭矢印(例えば、矢印453)は、往復待ち時間を表し、単頭矢印(例えば、矢印457)は、片道待ち時間を表し、そして「〜」は、近似尺度を示す。 Double-headed arrows (e.g., arrow 453) represents the round trip latency, single-headed arrows (e.g., arrow 457) represents the one-way latency, and "~" indicates an approximate measure. 列挙した待ち時間を達成できない実世界の状況があるが、米国内における多くのケースでは、ユーザの家屋211へのDSL及びケーブルモデム接続を使用し、次の段落で述べる環境においてこれら待ち時間を達成できることを指摘しなければならない。 There are real-world situation can not be achieved the recited latency, in many cases in the US, using DSL and cable modem connections to the user premises 211, achieves these latencies in the environment described in the following paragraphs it should be pointed out that you can. 又、インターネットへのセルラーワイヤレス接続は、図示されたシステムにおいて確実に機能するが、ほとんどの現在のUSセルラーデータシステム(EVDOのような)は、非常に長い待ち時間を被り、図4bに示す待ち時間を達成できないことにも注意されたい。 Further, cellular wireless connection to the Internet, will function reliably in the system shown, most current US cellular data systems (such as EVDO) are subject to very long waiting time, waiting shown in Fig. 4b Note also that you can not achieve the time. しかしながら、これらの基礎的な原理は、このレベルの待ち時間を具現化できる将来のセルラー技術において具現化することができよう。 However, these underlying principles are could be embodied in future cellular technologies that may be embodied latency of this level.

ユーザの家屋211における入力装置421からスタートして、ユーザが入力装置421を操作すると、ユーザコントロール信号がクライアント415へ送信され(これは、セットトップボックスのようなスタンドアローン装置でもよいし、或いはPC又は移動装置のような別の装置で実行されるソフトウェア又はハードウェアでもよい)、そして(一実施形態ではUDPフォーマットで)パケット化され、そのパケットには、ホスティングサービス210に到着するための行先アドレスが与えられる。 Starting from the input device 421 at user premises 211, the user operates the input device 421, a user control signal is sent to the client 415 (which may be a stand-alone device such as a set-top box, or PC or may be software or hardware running on another device, such as a mobile device), and (a) packetized in UDP format in one embodiment, the packet, destination address for arriving at the hosting service 210 It is given. 又、パケットは、コントロール信号がどのユーザから到来するか指示する情報も含む。 The packet also includes information indicating whether the control signal arrives from any user. 次いで、コントロール信号のパケット(1つ又は複数)は、ファイアウオール/ルーター/NAT(ネットワークアドレストランスレーション)装置443を通してWANインターフェイス442へ転送される。 Then, the packet of control signal (s), Firewall / Router / NAT (Network Address Translation) is transferred through the device 443 to WAN interface 442. WANインターフェイス442は、ユーザのISP(インターネットサービスプロバイダー)によりユーザの家屋211に与えられるインターフェイス装置である。 WAN interface 442 is an interface device that is provided to the user premises 211 by the user's ISP (Internet Service Provider). WANインターフェイス442は、ケーブル又はDSLモデム、WiMaxトランシーバー、ファイバートランシーバー、セルラーデータインターフェイス、インターネットプロトコル・オーバー・パワーラインインターフェイス、又はインターネットへの多数のインターフェイスの他のものでよい。 WAN interface 442, a cable or DSL modem, WiMax transceiver, Fiber transceiver, a cellular data interface, an Internet Protocol-over-powerline interface, or other may be of many interfaces to the Internet. 更に、ファイアウオール/ルーター/NAT装置443(及び潜在的にWANインターフェイス442)は、クライアント415に一体化されてもよい。 Further, Firewall / Router / NAT device 443 (and potentially WAN interface 442) may be integrated into the client 415. その一例は、家庭又はオフィスクライアント415の機能を具現化するためのソフトウェアと、ある規格(例えば、802.11g)によりインターネットへワイヤレスでルーティング及び接続する手段とを含む移動電話である。 One example is a home or office client 415 software for implementing the functions of certain standards (e.g., 802.11g) is a mobile telephone comprising means for routing and connecting wirelessly by the Internet.

WANインターフェイス442は、次いで、コントロール信号をユーザのインターネットサービスプロバイダー(ISP)のための「存在点(point of presence)」441と称されるものへルーティングし、これは、ユーザの家屋211に接続されたWANトランスポートと、一般的インターネット又はプライベートネットワークとの間のインターフェイスをなすファシリティである。 WAN Interface 442 then routes the "present point (point of presence)" 441 and what is referred to for the Internet service provider of the user control signal (ISP), which is connected to the user premises 211 and WAN transport has a facility which forms the interface between the general Internet or private networks. 存在点の特性は、提供されるインターネットサービスの性質に基づいて変化する。 Characteristics of existence points will vary based on the nature of the Internet service provided. DSLの場合、これは、典型的に、DSLAMが配置される電話会社の中央オフィスとなる。 In the case of DSL, which is, typically, the central office of the telephone company DSLAM is located. ケーブルモデムの場合、これは、典型的に、ケーブルマルチシステムオペレータ(MSO)ヘッドエンドとなる。 For cable modems, it typically will be a cable Multi-System Operator (MSO) headend. セルラーシステムの場合、これは、典型的に、セルラータワーに関連したコントロールルームとなる。 For cellular systems, it typically will be a control room associated with cellular tower. しかし、存在点の性質が何であれ、これは、コントロール信号パケット(1つ又は複数)を一般的インターネット410へルーティングする。 However, whatever the nature of the present point, which routes the control signal packet (s) to the general Internet 410. コントロール信号パケット(1つ又は複数)は、次いで、最も多くはファイバトランシーバーインターフェイスであるものを通して、ホスティングサービス210へのWANインターフェイス441へルーティングされる。 Control signal packet (s), then, most through what is fiber transceiver interface is routed to the WAN Interface 441 to the hosting service 210. WAN441は、次いで、コントロール信号パケットをルーティングロジック409(これは、イーサネットスイッチ及びルーティングサーバーを含めて、多数の異なる仕方で具現化される)へルーティングし、これは、ユーザのアドレスを評価し、そしてコントロール信号を所与のユーザに対する正しいサーバー402へルーティングする。 WAN441 is then (which, including Ethernet switches and routing servers, many are embodied differently) routing logic 409 control signal packet routes to which evaluates the address of the user, and routing control signals to the correct server 402 for a given user.

サーバー402は、次いで、コントロール信号を、サーバー402で実行されるゲーム又はアプリケーションソフトウェアに対する入力として取り上げ、そしてそのコントロール信号を使用して、ゲーム又はアプリケーションの次のフレームを処理する。 Server 402 may then control signal, taken as an input to the game or application software running on the server 402, and uses the control signal to process the next frame of the game or application. 次のフレームが発生されると、サーバー402からビデオコンプレッサ404へビデオ及びオーディオが出力される。 When the next frame is generated, the video and audio is output from server 402 to video compressor 404. ビデオ及びオーディオは、サーバー402から種々の手段を経てコンプレッサ404へ出力される。 Video and audio is output to the compressor 404 through various means from the server 402. 先ず、コンプレッサ404は、サーバー402に組み込むことができ、従って、圧縮をサーバー402内でローカルに具現化することができる。 First, the compressor 404 can be incorporated into server 402, therefore, may be embodied locally within server 402 compression. 又は、ビデオ及び/又はオーディオは、パケット化形態で、イーサネット接続のようなネットワーク接続を経て、サーバー402とビデオコンプレッサ404との間のプライベートネットワークであるネットワークへ、又はSAN403のような共有ネットワークを通して、出力することができる。 Or video and / or audio, in packetized form, over a network connection such as an Ethernet connection, to the network is a private network between server 402 and video compressor 404, or through a shared network, such as SAN 403, it is possible to output. 或いは、ビデオは、サーバー402から、DVI又はVGAコネクタのようなビデオ出力コネクタを通して出力され、次いで、ビデオコンプレッサ404により捕獲されてもよい。 Alternatively, the video from the server 402, is output through a video output connector, such as a DVI or VGA connector, and then may be captured by video compressor 404. 又、オーディオは、サーバー402からデジタルオーディオとして(例えば、TOSLINK又はS/PDIFコネクタを経て)出力されるか又はアナログオーディオとして出力されてもよく、アナログオーディオは、ビデオコンプレッサ404内のオーディオ圧縮ロジックによりデジタル化されエンコードされる。 The audio from the server 402 as a digital audio (e.g., TOSLINK or through the S / PDIF connector) may be output as or analog audio output, an analog audio by audio compression logic within video compressor 404 encoded digitized.

ビデオコンプレッサ404は、ビデオフレーム、及びサーバー402からのそのフレーム時間中に発生されたオーディオを捕獲すると、以下に述べる技術を使用してビデオ及びオーディオを圧縮する。 Video compressor 404, a video frame, and when to capture the audio generated during that frame time from server 402 compresses the video and audio using techniques described below. ビデオ及びオーディオが圧縮されると、アドレスと共にパケット化されて、ユーザのクライアント415へ返送され、WANインターフェイス441へルーティングされ、このWANインターフェイスは、ビデオ及びオーディオパケットを一般的なインターネット410を経てルーティングし、このインターネットは、ビデオ及びオーディオパケットをユーザのISP存在点441へルーティングし、この存在点は、ビデオ及びオーディオパケットをユーザの家屋のWANインターフェイス442へルーティングし、このインターフェイスは、ビデオ及びオーディオパケットをファイアウオール/ルーター/NAT装置443へルーティングし、次いで、この装置は、ビデオ及びオーディオパケットをクライアント415へルーティングする When video and audio are compressed and packetized with an address, sent back to the user of the client 415, is routed to the WAN interface 441, the WAN interface, the video and audio packets to route through the general Internet 410 the Internet routes the video and audio packets to the user's ISP point of presence 441, the point of presence routes the video and audio packets to the WAN interface 442 of the user premises, this interface, the video and audio packets routes to firewall / router / NAT device 443, then the device routes the video and audio packets to the client 415

クライアント415は、ビデオ及びオーディオを解凍し、次いで、ビデオをディスプレイ装置422(又はクライアントの内蔵ディスプレイ装置)に表示すると共に、オーディオをディスプレイ装置422又は個別の増幅器/スピーカへ或いはクライアントに内蔵された増幅器/スピーカへ送信する。 Amplifier client 415 decompresses the video and audio, and then, displays the video on a display device 422 (or the client on the integrated display device), which is built in the audio or the client to the display device 422 or a separate amplifier / speaker / it is transmitted to the speaker.

上述した全プロセスに知覚的に遅れがないことをユーザが認知するためには、往復遅延が70又は80ms未満である必要がある。 In order for the user to recognize that there is no perceptually delay to all processes described above, it is necessary round-trip delay is less than 70 or 80 ms. 前記往復経路における待ち時間遅延のあるものは、ホスティングサービス210及び/又はユーザのコントロールのもとにあり、他のものは、そうではない。 Some of the latency delays in the round-trip path is in the original hosting service 210 and / or user control, while others are not. それでも、非常に多数の実世界のシナリオの分析及びテストに基づき、おおよその測定値は次のようになる。 Still, very based on analysis and testing of a large number of real-world scenarios, the approximate measurements as follows.

コントロール信号451を送信するための片道送信時間は、典型的に、1ms未満であり、ユーザの家屋452を通る往復ルーティングは、典型的に、イーサネット上に入手容易な消費者グレードのファイアウオール/ルーター/NATスイッチを使用して約1msで達成される。 The one-way transmission time to send the control signal 451, typically less than 1 ms, reciprocating routing through the user premises 452 is typically easy consumer grade available on the Ethernet Firewall / Router / It is achieved in about 1ms using NAT switch. ユーザISPは、その往復遅延453が広く変化するが、DSL及びケーブルモデムプロバイダーでは、典型的に、10ないし25msである。 User ISP will vary widely its round-trip delay 453, the DSL and cable modem providers, typically between 10 to 25 ms. 一般的なインターネット410における往復待ち時間は、トラフィックがどのようにルーティングされるか及びルートに欠陥があるかどうか(これらの問題は以下で述べる)に基づいて大きく変化するが、典型的に、一般的なインターネットは、非常に最適なルートを与え、そして待ち時間は、行先までの距離が与えられると、主として光ファイバを通る光の速度によって決定される。 Round trip latency is the general Internet 410, varies greatly depending on whether there is a defect in one and route traffic how is routed (these issues are discussed below), typically generally specific Internet very give the best route, and latency, given the distance to the destination is determined by the speed of light mainly through the optical fiber. 以下に更に述べるように、ユーザの家屋211から離れてホスティングサービス210を発することが予想される最も遠いおおよその距離として1000マイルを確立した。 As described further below, it may issue a hosting service 210 to establish 1000 miles as the farthest approximate distance expected away from the user premises 211. 1000マイル(往復2000マイル)では、インターネットを通る信号の実際の通過時間は、約22msである。 In 1000 miles (round trip 2,000 miles), the actual transit time of a signal through the Internet is approximately 22 ms. ホスティングサービス210へのWANインターフェイス441は、典型的に、待ち時間を無視できる商業的グレードファイバの高速インターフェイスである。 WAN interface 441 to the hosting service 210, typically, is a high-speed interface of commercial grade fiber negligible latency. 従って、一般的インターネットの待ち時間454は、典型的に、1ないし10msである。 Therefore, the waiting time 454 of the general Internet is typically between 1 to 10 ms. ホスティングサービス210を通る片道ルーティング455の待ち時間は、1ms未満である。 Waiting one-way routing 455 through the hosting service 210 is less than 1 ms. サーバー402は、典型的に、ゲーム又はアプリケーションのための新たなフレームを1フレーム時間(60fpsでは16.7msである)未満で計算し、従って、使用するために合理的な最大片道待ち時間は、16msである。 Server 402 typically a new frame for a game or application calculated in less than one frame time (which is 16.7ms In 60 fps), therefore, reasonable maximum one-way latency for use, it is 16ms. ここに述べるビデオ圧縮及びオーディオ圧縮アルゴリズムの最適なハードウェア具現化では、圧縮457を1msで完了することができる。 The optimal hardware implementation of the video compression and audio compression algorithms described herein, the compression 457 can be completed in 1 ms. あまり最適でない形態では、圧縮に6ms程度を要する(もちろん、もっと最適でない形態は、更に長い時間を要するが、このような具現化は、往復の全待ち時間に影響を及ぼし、70−80msの待ち時間目標を維持するには他の待ち時間を短縮する必要がある(例えば、一般的なインターネットを通る許容距離を短縮することができる))。 In the form less optimal, the compression takes about 6 ms (of course, form not more optimal, it takes a longer time, such realization affects the total round-trip latency, wait 70-80ms to maintain the time goal, it is necessary to shorten the other waiting time (for example, it is possible to shorten the allowable distance through the general Internet)). インターネット454、ユーザISP453及びユーザ家屋ルーティング452の往復待ち時間は、既に考慮されており、従って、残りは、ビデオ解凍458の待ち時間であり、これは、ビデオ解凍458が専用のハードウェアで具現化されるか、又は(PC又は移動装置のような)クライアント装置415においてソフトウェアで具現化されるかに基づいて、又、ディスプレイのサイズ及び解凍CPUの性能に基づいて、変化する。 Round trip latency of the Internet 454, the user ISP453 and user premises routing 452 have already been considered, therefore, the remainder is the latency video decompression 458, which is the video decompression 458 is implemented in dedicated hardware either, or based on whether embodied in software in (such as a PC or mobile device) client device 415, also based on the performance of the size and thawing CPU of the display changes. 典型的に、解凍458は、1ないし8msを要する。 Typically, the decompression 458, take 1 to 8ms.

従って、実際上見られる最悪のケースの待ち時間を全部加算することにより、図4aに示すシステムのユーザにより経験されると予想できる最悪のケースの往復待ち時間を決定することができる。 Therefore, by adding all the worst-case latencies seen in practice, it is possible to determine the round trip latency worst case that can be expected to be experienced by a user of the system shown in Figure 4a. それらは、1+1+25+22+1+16+6+8=80msである。 They are 1 + 1 + 25 + 22 + 1 + 16 + 6 + 8 = 80ms. そして、正に、実際に(以下に述べる注意と共に)、これは、図4aに示すシステムのプロートタイプバージョンを使用し、既製品のWindows PCをクライアント装置として及び米国内の家庭用DSL及びケーブルモデム接続を使用して分かったおおよその往復待ち時間である。 Then, exactly, actually (with care described below), which uses a probe Totaipu version of the system shown in Figure 4a, household DSL and cable modem and the United States off the shelf a Windows PC as the client device it is the approximate round-trip latency was found using the connection. もちろん、最悪のケースより良好のシナリオでは、非常に短い待ち時間が得られるが、それは、広く使用される商業的サービスの開発に依存することができない。 Of course, from the good scenario worst case, very low latency is obtained, it can not rely on the development of a commercial service that is used widely.

一般的なインターネットを経て図4bに列挙する待ち時間を得るには、図4aのビデオコンプレッサ404及びクライアント415のビデオデコンプレッサ412が、非常に特定の特性をもつパケットストリームを発生し、ホスティングサービス210からディスプレイ装置422までの全経路を経て発生されるパケットシーケンスが、遅延や過剰なパケットロスを受けず、且つ特に、WANインターフェイス442及びファイアウオール/ルーター/NAT443を通るユーザのインターネット接続を経てユーザに利用できる帯域巾の制約内に一貫して入るようにする必要がある。 To obtain the listed latency in FIG. 4b through the general Internet, video decompressor 412 of the video compressor 404 and client 415 of Figure 4a is to generate a packet stream with very specific characteristics, the hosting service 210 packet sequence generated through entire path to the display device 422 from and not subject to delays or excessive packet loss, and in particular, available to the user via the Internet connection of the user through the WAN interface 442 and firewall / router / NAT443 it is necessary to enter consistently within the bandwidth constraints possible. 更に、ビデオコンプレッサは、通常のインターネット及びネットワーク送信において生じる不可避なパケットロス及びパケット並べ替えを許容できるに充分なほど頑丈なパケットストリームを生成しなければならない。 Further, the video compressor must create a rugged packet stream enough to tolerate normal Internet and sort inevitable packet loss and packet occurs in the network transmission.

短待ち時間のビデオ圧縮 Low-latency video compression
前記目標を達成するために、一実施形態は、待ち時間を減少し且つビデオを送信するためのピーク帯域巾要件を緩和するというビデオ圧縮の新規な解決策をとる。 To achieve the above objectives, one embodiment takes a new solution for video compression that mitigate peak bandwidth requirements for transmitting decreases and video latency. これらの実施形態を説明する前に、図5及び図6a−bを参照して、現在のビデオ圧縮技術の分析を行う。 Before describing these embodiments, with reference to FIGS. 5 and 6a-b, an analysis of current video compression techniques. もちろん、これらの技術は、これらの技術で要求されるデータレートを取り扱うに充分な帯域巾がユーザに与えられる場合には、基礎的な原理に基づいて使用することができる。 Of course, these techniques, if a sufficient bandwidth is provided to the user in handling the data rate required by these techniques, may be used in accordance with the underlying principles. オーディオの圧縮は、ビデオの圧縮と同時に且つ同期して具現化されることを述べる以外、ここでは扱わないことに注意されたい。 Compression of audio, except to state that is embodied at the same time and synchronous with the compression of the video, it is noted that not treated here. このシステムの要件を満足する従来のオーディオ圧縮技術が存在する。 Conventional audio compression technology that satisfies the requirements of the system are present.

図5は、ビデオを圧縮するための1つの特定の従来技術であって、特定の圧縮アルゴリズムを使用する圧縮ロジック520により各個々のビデオフレーム501−503を圧縮して、一連の圧縮されたフレーム511−513を発生する従来技術を示している。 5, frame a one particular prior art for compressing video, and compress each individual video frame 501-503 by compression logic 520 using a particular compression algorithm, which is a series of compression It shows a prior art that generates 511-513. この技術の一実施形態は、「モーションJPEG」であり、各フレームが、離散的コサイン変換(DCT)に基づき、ジョイント・ピクチャー・エクスパート・グループ(JPEG)圧縮アルゴリズムに従って圧縮されるというものである。 One embodiment of this technique is the "Motion JPEG", each frame, is that is compressed according to a discrete cosine based on transform (DCT), Joint Pictures Expert Group (JPEG) compression algorithm . 種々の異なる形式の圧縮アルゴリズムを使用してもよいが、これらの基礎的な原理(例えば、JPEG−2000のようなウェーブレットベースの圧縮アルゴリズム)に依然適合させるようにする。 Various different forms compression algorithms may be used, these underlying principles (e.g., wavelet-based compression algorithms such as JPEG-2000) so as to remain compatible with.

この形式の圧縮の1つの問題は、各フレームのデータレートを下げるが、連続フレーム間の類似性を利用してビデオストリーム全体のデータレートを下げるものでないことである。 One problem with this type of compression is lowered data rate of each frame is not intended to reduce the data rate of the entire video stream by utilizing the similarities between successive frames. 例えば、図5に示すように、映像の所与のクオリティに対し、640x480x24ビット/ピクセル=640*480*24/8/1024=900キロバイト/フレーム(KB/フレーム)のフレームレートを仮定すれば、モーションJPEGは、10のファクタでストリームを圧縮するだけであり、90KB/フレームのデータストリームを生じさせる。 For example, as shown in FIG. 5, for a given quality of image, assuming a frame rate of 640x480x24 bits / pixel = 640 * 480 * 24/8/1024 = 900 kilobytes / frame (KB / frame), motion JPEG is only compress the stream by a factor of 10 causes a data stream of 90 KB / frame. 60フレーム/秒では、これは、90KB*8ビット*60フレーム/秒=42.2Mbpsのチャンネル帯域巾を要求し、これは、今日の米国内のほぼ全ての家庭用インターネット接続に対して遥かに広い帯域巾となり、且つ多数のオフィス用インターネット接続に対しても非常に広い帯域巾となる。 The 60 frames / sec, which requests a channel bandwidth of 90 KB * 8 bits * 60 frames / sec = 42.2Mbps, which is much more for almost all home Internet connections in the US today become a wide bandwidth, it becomes very wide bandwidth against and a large number of office for the Internet connection. 実際に、このような広い帯域巾で一定のデータストリームを要求し、且つオフィスLAN環境においても1人のユーザにしか役立たないとすれば、100MbpsのイーサネットLAN帯域巾の大きな割合を消費し、LANをサポートするイーサネットスイッチに大きな負担を掛けることになる。 Indeed, such requests certain data streams over a wide bandwidth, even if only serve one user consume a large percentage of the Ethernet LAN bandwidth of 100Mbps in and office LAN environment, LAN It will be multiplied by a large burden to the Ethernet switches that support. 従って、動画ビデオに対する圧縮は、(以下に述べるような)他の圧縮技術と比べたときに、非効率的である。 Thus, compression for motion video, when compared to (as described below) other compression techniques, is inefficient. 更に、ロッシー圧縮アルゴリズムを使用するJPEG及びJPEG−2000のような単一フレーム圧縮アルゴリズムは、静止映像では気付かない圧縮欠陥(例えば、シーンにおける密集した葉の中の欠陥は、その密集した葉がどのように見えるべきか目にとって厳密に分からないので、欠陥として見えないことがある)を生じる。 Moreover, single frame compression algorithms like JPEG and JPEG-2000 that use lossy compression algorithms, compression artifacts unaware a still image (e.g., the defects in the dense foliage in the scene, the dense leaves which because I do not know exactly for should or eyes look like, cause there is not be visible as a defect). しかし、シーンが動くと、欠陥が静止映像では気付かないシーンのエリアにあるにも関わらず、欠陥がフレームごとに変化することが目で検出されるので、欠陥が目立つようになる。 However, when the scene is moved, despite in the area of ​​the scene that the defect is not noticeable in a still image, since it is detected by the eye defect is changed for each frame, so that the defect is conspicuous. その結果、余白的アナログTV受信中に見える「スノー」ノイズに見掛けが類似した「バックグランドノイズ」がフレームのシーケンスにおいて知覚される。 As a result, visible in the margin analog TV reception "snow" noise apparent similar to "background noise" is perceived in a sequence of frames. もちろん、この形式の圧縮は、ここに述べる幾つかの実施形態で依然使用できるが、一般的に述べると、シーンにおけるバックグランドノイズを回避するため、所与の知覚上のクオリティに対して高いデータレート(即ち、低い圧縮比)が要求される。 Of course, compression of this type, but still can be used in some embodiments described herein, generally speaking, to avoid background noise in the scene, a high relative quality on a given sensory data rate (i.e., a low compression ratio) is required.

H. H. 264、又はWindows MediaVC9、MPEG2及びMPEG4のような他の形式の圧縮は、全て、連続するフレーム間の類似性を利用しているので、ビデオストリームの圧縮がより効率的である。 264, or Windows MediaVC9, MPEG2 and other types of compression, such as MPEG4 are all, the use of the similarities between successive frames, compressed video stream is more efficient. これらの技術は、全て、ビデオを圧縮するための同じ一般的技術に依存している。 These techniques all rely upon the same general techniques to compress video. 従って、H. Therefore, H. 264規格について述べるが、他の種々の圧縮アルゴリズムにも同じ一般的原理が適用される。 It describes 264 standard, is also subject to the same general principles to various other compression algorithms. 圧縮H. Compression H. 264のためのx264オープンソースソフトウェアライブラリー、及び解凍H. x264 open source software library for the 264, and decompression H. 264のためのFFmpegオープンソースソフトウェアライブラリーを含めて、非常に多数のH. Including the FFmpeg open source software library for the 264, a very large number of H. 264コンプレッサ及びデコンプレッサを利用することができる。 264 it is possible to use the compressor and decompressor.

図6a及び6bは、従来の圧縮技術を例示するもので、一連の非圧縮のビデオフレーム501−503、559−561が、圧縮ロジック620により、一連の「Iフレーム」611、671、「Pフレーム」612−613、及び「Bフレーム」670へと圧縮される。 Figure 6a and 6b illustrate the conventional compression techniques, video frames 501-503,559-561 series of uncompressed, the compression logic 620, a series of "I-frame" 611,671, "P-frame "612-613, and is compressed to a" B frame "670. 図6aの縦軸は、一般的に、エンコードされて得られる各フレームのサイズを表す(が、フレームは適切なスケールで描かれていない)。 The vertical axis of Figure 6a, generally, encoded representing the size of each frame obtained by (but frame are not drawn with the appropriate scale). 上述したように、Iフレーム、Bフレーム及びPフレームを使用するビデオコーディングは、当業者に良く知られている。 As described above, video coding using I frames, B frames and P frames is well known to those skilled in the art. 簡単に述べると、Iフレーム611は、完全非圧縮のフレーム501のDCTベース圧縮である(上述した圧縮されたJPEG映像と同様)。 Briefly, I-frame 611 is entirely a DCT-based compression of uncompressed frame 501 (similar to JPEG images that are compressed as described above). Pフレーム612−613は、一般的に、Iフレーム611よりサイズが著しく小さい。 P frames 612-613 generally are significantly smaller in size than I frames 611. というのは、手前のIフレーム又はPフレームのデータの利点を取り入れるからであり、即ち手前のIフレーム又はPフレーム間の変化を示すデータを含むからである。 Because is because take advantage of the data in front of the I-frame or P-frame, that is, because includes data indicating the changes between before the I-frame or P-frame. Bフレーム670は、Pフレームと同様であるが、Bフレームは、後続する基準フレームにおけるフレームと、先行する基準フレームにおける潜在的なフレームとを使用する。 B frames 670 are similar to P-frame, B-frame uses a frame in succeeding reference frame, and a potential frame in the preceding reference frame.

以下の説明では、望ましいフレームレートが60フレーム/秒であり、各Iフレームが約160Kbであり、平均Pフレーム及びBフレームが16Kbであり、そして毎秒新たなIフレームが発生されると仮定する。 In the following description, the desired frame rate is 60 frames / sec, it is assumed that each I frame is approximately 160 Kb, the average P frame and B frame is 16Kb, and a new I-frame per second is generated. この1組のパラメータで、平均データレートは、160Kb+16Kb*59=1.1Mbpsとなる。 In this set of parameters, the average data rate becomes 160Kb + 16Kb * 59 = 1.1Mbps. このデータレートは、家庭及びオフィスへの多くの現在のブロードバンドインターネット接続に対する最大データレート内に充分入る。 This data rate is sufficiently enter the maximum data rate in for many of the current broadband Internet connections to homes and offices. 又、この技術は、イントラフレーム専用のエンコーディングからバックグランドノイズの問題を回避する傾向がある。 Also, this technique tends to avoid the background noise problem from intraframe-only encoding. というのは、P及びBフレームは、フレーム間の差を追跡し、圧縮欠陥がフレームごとに現れたり消えたりする傾向がなく、前記バックグランドノイズの問題を緩和するからである。 Because, since P and B frames track differences between the frames, the compression defects not tend to appear and disappear from frame to frame, to mitigate the background noise problem.

前記形式の圧縮に伴う1つの問題は、平均データレートが比較的低い(例えば、1.1Mbps)が、単一のIフレームが送信に多数のフレーム分の時間を要することである。 One problem with compression of the format, the average data rate is relatively low (e.g., 1.1 Mbps) is a single I frame is that it takes a large number of frames time transmission. 例えば、従来技術を使用すると、60フレームごとに160KbpsのIフレームの状態で1.1Mbpsでビデオをストリーミングするのに、典型的に、2.2Mbpsのネットワーク接続(例えば、図3aから2.2Mbpsピークの利用可能な最大データレート302をもつDSL又はケーブルモデム)で充分である。 For example, using conventional techniques, for streaming video at 1.1Mbps in a state of I frame of 160Kbps per 60 frames, typically, network connectivity 2.2 Mbps (e.g., 2.2 Mbps peak from Figure 3a it is sufficient for DSL or cable modem with the maximum data rate 302 available). これは、ビデオを解凍するまで解凍キューに1秒のビデオを入れておくことにより達成される。 This is achieved by keeping putting one second of video decompression queue until decompressing the video. 1秒で、1.1Mbのデータが送信され、これは、利用可能なデータレートが周期的に50%程度下がると仮定しても、2.2Mbpsの利用可能な最大データレートによって容易に受け容れられる。 In one second, the data of 1.1Mb are transmitted, which, even assuming that the available data rate periodically fall about 50%, readily acceptance by the maximum data rate available for 2.2Mbps It is. 不都合なことに、この従来の解決策は、1秒のビデオバッファが受信器にあるので、ビデオについて1秒の待ち時間を生じさせる。 Unfortunately, this conventional solution, since one second video buffer is in the receiver, causing a waiting time of 1 second for video. このような遅延は、多数の従来の用途(例えば、リニアビデオの再生)では充分であるが、70−80msを越える待ち時間を許容できない高速アクションのビデオゲームに対しては遥かに長い待ち時間である。 Such delays, many conventional applications (for example, a linear video playback) in is sufficient, a much longer latency for the video game fast action unacceptable latency exceeding 70-80ms is there.

1秒のビデオバッファを排除する試みがなされたが、高速アクションビデオゲームのための充分な待ち時間短縮が得られていない。 Attempts to eliminate the video buffer of one second has been made, but sufficiently reduced latency for fast action video games are not obtained. 一例として、上述したBフレームの使用は、Iフレームに先行する全てのBフレーム及びIフレームの受信を必要とする。 As an example, the use of B frames as described above requires reception of all B frames and the I frame preceding the I frame. PフレームとBフレームとの間で59個の非Iフレームがおおよそ分割されると仮定すれば、少なくとも29個のBフレームがあり、そしてBフレームを表示できるまでにIフレームが受信される。 Assuming 59 of non-I frames between P and B frames are roughly split, there are at least 29 B frames and I-frame is received until the display B-frames. 従って、チャンネルの利用可能な帯域巾に関わらず、各々1/60秒巾の29+1=30フレームの遅延、即ち500msの待ち時間が必要になる。 Therefore, regardless of the available bandwidth of the channel, the delay of 29 + 1 = 30 frames of each 1/60 Byohaba, i.e. it is necessary to 500ms of latency. 明らかに、これは、遥かに長過ぎる。 Clearly, this is far too long.

従って、別の解決策は、Bフレームを排除し、そしてI及びPフレームだけを使用することである。 Accordingly, another solution is to eliminate B frames and is to use only I and P frames. (その1つの結果として、所与のクオリティレベルに対してデータレートが増加することになるが、この例における一貫性のために、各Iフレームが160Kbであり、平均Pフレームが16Kbのサイズであり、従って、データレートが依然1.1Mbpsであると仮定し続ける。)この解決策は、Bフレームにより導入される不可避な待ち時間を排除する。 (One consequence, it will be the data rate is increased for a given quality level, for consistency in this example, each I frame is 160 Kb, the average P frame is the size of 16Kb There, therefore, the data rate continues to assume that still 1.1 Mbps.) this solution eliminates the unavoidable latency introduced by B frames. というのは、各Pフレームのデコーディングが、以前に受信したフレームに依存するだけだからである。 Because the decoding of each P frame is, it is because only depends on the frame previously received. この解決策に伴う問題は、Iフレームが平均Pフレームより非常に大きいために、ほとんどの家庭及び多くのオフィスにおいて典型的である狭帯域巾チャンネルでは、Iフレームの送信が実質的な待ち時間を増大することである。 Problem with this solution, because I-frame is much larger than the average P frame, in most homes and narrow bandwidth channel is typical in many offices, the transmission of the I frame is a substantial waiting time it is to increase. これが図6bに示されている。 This is illustrated in Figure 6b. Iフレームに要求されるピークデータレート623が、利用可能な最大データレート622を(及び定格最大データレート621も)遥かに越えるIフレームを除いて、ビデオストリームのデータレート624は、利用可能な最大データレート621より低い。 Maximum peak data rate 623 required for I-frame, the maximum data rate 622 available (and the rated maximum data rate 621 even) except I frames far exceeds the data rate 624 of the video stream is available lower than the data rate 621. Pフレームにより要求されるデータレートは、利用可能な最大データレート未満である。 Data rate required by the P frames is less than the maximum available data rate. 2.2Mbpsの利用可能な最大データレートのピークがその2.2Mbpsのピークレートに着実に保たれるとしても、Iフレームを送信するのに160Kb/2.2Mb=71msを要し、利用可能な最大データレート622が50%(1.1Mbps)下がった場合には、Iフレームを送信するのに142msを要する。 Even the peak of the maximum available data rate of 2.2Mbps can be steadily kept at a peak rate of the 2.2Mbps, take 160Kb / 2.2Mb = 71ms to transmit the I frame, is available If the maximum data rate 622 is lowered 50% (1.1 Mbps) requires a 142ms to transmit the I frame. 従って、Iフレームを送信する際の待ち時間は、71から142msのどこかに入る。 Therefore, the latency in transmitting the I-frame enters somewhere in 142ms from 71. この待ち時間は、図4bに示された待ち時間に加算され、最悪の場合、これが70msに加算され、従って、これは、ユーザが入力装置421を操作する時点から、ディスプレイ装置422に映像が現れるまで、141ないし222msの合計往復待ち時間を生じ、遥かに高いものとなる。 This waiting time is added to the waiting time shown in Figure 4b, the worst case, which is added to 70 ms, thus, this is the time when the user operates the input device 421, appears the image on the display device 422 up, 141 to produce a total round trip latency 222Ms, it becomes much higher. そして、利用可能な最大データレートが2.2Mbpsより下がる場合には、待ち時間は更に増大する。 When the maximum data rate available drops below 2.2Mbps, the latency further increases.

又、一般的に、ピークデータレート623でISPを「ジャミング」させて、利用可能なデータレート622を遥かに越える厳しい結果が生じることにも注意されたい。 Also, in general, by "jamming" the ISP with peak data rate 623, should also be noted that the severe consequences that far exceeds the available data rate 622 occur. 異なるISPの装置は、異なる挙動をするが、利用可能なデータレート622より非常に高いデータレートでパケットを受け取るときには、次の挙動がDSL及びケーブルモデムISPの間で極めて一般的となる。 Devices of different ISP is a different behavior, when receiving packets at much higher data rate than the available data rate 622, the following behavior is quite common among DSL and cable modem ISP. (a)パケットをキューイングすることでパケットを遅延させ(待ち時間を導入し)、(b)パケットの幾つか又は全部をドロップさせ、(c)ある期間接続をディスエイブルする(おそらく、ISPに関するものであるから、「サービス拒絶」攻撃のような悪意のある攻撃である)。 (A) the packet is delayed packets by queuing (introducing latency), (b) to drop some or all of the packets, disabling the time connection with a (c) (presumably relates ISP since it is intended, it is a malicious attack, such as "denial of service" attack). 従って、図6bに示すような特性で全データレートにおいてパケットストリームを送信することは、実現可能な選択肢ではない。 Thus, transmitting a packet stream at full data rate characteristic as shown in Figure 6b is not a viable option. ピーク623は、ホスティングサービス210においてキューイングされ、そして利用可能な最大データレートより低いデータレートで送信され、上述した許容できない待ち時間を導入することがある。 Peak 623 is the hosting service 210 is queued and transmitted at a lower data rate than the maximum data rate available, may introduce unacceptable latency described above.

更に、図6bに示すビデオストリームデータレートシーケンス624は、非常に「従順な」ビデオストリームデータレートシーケンスであり、そして著しく変化せず且つほとんど動きのないビデオシーケンスからビデオを圧縮することにより生じると予想される種類のデータレートシーケンスである(例えば、カメラが固定位置にあってほとんど動かず、そしてシーン内のオブジェクト、例えば、椅子に座って話している人がほとんど動きを示さないビデオ遠隔会議において一般的であるように)。 Furthermore, the video stream data rate sequence 624 shown in Figure 6b, expected to be very is "compliant" video stream data rate sequence and caused by compressing the video from and little motion video sequence without significantly changing the type of data rate sequence that is (typically e.g., camera almost motionless in a fixed position, and the object in the scene, for example, in video teleconferencing where people are talking chair show little motion as is basis).

図6cに示すビデオストリームデータレートシーケンス634は、動画又はビデオゲーム或いはあるアプリケーションソフトウェアにおいて発生されるような、遥かに多いアクションを伴うビデオから見えると予想されるものに対して典型的なシーケンスである。 Video stream data rate sequence 634 shown in Figure 6c is a typical sequence for what are expected to appear from the video with the actions much higher as generated in video or video game or an application software . Iフレームピーク633に加えて、極めて大きく且つ多くの場合に利用可能な最大データレートを越える635及び636のようなPフレームピークもあることに注意されたい。 In addition to the I frame peaks 633, it should be noted that there are also P frame peaks such as 635 and 636 exceed the maximum data rate available in the case of very large and many. これらのPフレームピークは、Iフレームピークと同程度に大きいことはあまりないが、全データレートでチャンネルにより搬送されるには遥かに大き過ぎるもので、又、Iフレームピークと同様に、Pフレームピークは、ゆっくり送信されねばならない(従って、待ち時間が増大する)。 These P frame peaks, those but it is not too large to the same extent as the I frame peaks, too much large to be carried by the channel at full data rate, and, as with the I frame peaks, P-frame peak, must be transmitted slowly (and therefore, the waiting time is increased).

広帯域巾チャンネル(例えば、100MbpsのLAN、又は広帯域巾100Mbpsのプライベート接続))において、ネットワークは、Iフレームピーク633又はPフレームピーク636のような大きなピークを許容することができ、そして原理的に、短い待ち時間を維持することができる。 High bandwidth channel (e.g., 100Mbps for LAN, or private connections of high bandwidth 100Mbps) in), the network is able to tolerate large peaks, such as I frame peaks 633 or P frame peaks 636, and in principle, it is possible to maintain the low latency. しかし、このようなネットワークは、多くの場合、大勢のユーザ間に共有され(例えば、オフィス環境において)、そしてこのような「ピーク」データは、特に、ネットワークトラフィックがプライベート共有接続へルーティングされた場合に(例えば、リモートデータセンターからオフィスへ)、LANの性能に影響を及ぼす。 However, such networks are often shared among many users (e.g., in an office environment), and such "peak" data, particularly if the network traffic was routed to a private shared connection (for example, from a remote data center to the office), it affects the performance of the LAN. 先ず、この例は、60fpsにおいて640x480ピクセルの比較的低解像度のビデオストリームであることを銘記されたい。 First, this example should be noted that a relatively low resolution video stream of 640x480 pixels at 60 fps. 60fpsにおいて1920x1080のHDTVストリームは、近代的なコンピュータ及びディスプレイによって容易に取り扱われ、そして60fpsにおいて2560x1440解像度のディスプレイが益々入手可能になってきている(例えば、アップル社の30”ディスプレイ)。又、60fpsにおいて1920x1080の高アクションビデオシーケンスは、適度なクオリティレベルに対してH.264圧縮を使用して4.5Mbpsを必要とする。公称データレートの10倍のIフレームピークを仮定すれば、それは45Mbps以下のピークを生じるが、まだかなりのPフレームピークがある。大勢のユーザが同じ100Mbpsのネットワーク(例えば、オフィスとデータセンターとの間のプライベートなネットワーク接続 1920x1080 is the HDTV stream at 60 fps, easily handled by modern computers and displays, and 2560x1440 resolution displays have become increasingly become available in 60 fps (e.g., Apple 30 "display). Also, 60 fps high action video sequence 1920x1080 in, assuming a 10-fold I frame peaks of moderate use the H.264 compression for quality level requiring 4.5Mbps in. nominal data rate, it is 45Mbps or less Although results of peaks, there is still considerable P frame peak. many users network with the same 100Mbps (e.g., a private network connection between an office and data center を経てビデオストリームを受信する場合、大勢のユーザのビデオストリームからのピークがどのように整列して、ネットワークの帯域巾を圧倒し、そしてネットワーク上のユーザをサポートするスイッチのバックプレーンの帯域巾を潜在的に圧倒するか容易に見ることができる。ギガビットのイーサネットネットワークの場合でも、充分なユーザが充分なピークを一度に整列させる場合は、ネットワーク又はネットワークスイッチを圧倒することができる。そして、2560x1440解像度のビデオがより平凡なものになると、平均ビデオストリームデータレートが9.5Mbpsとなり、おそらく、95Mbpsのピークデータレートを生じさせる。言うまでもなく、データセンターとオフィスとの間の100Mbpsの接続(これは When receiving a video stream via, aligned how the peaks from the video stream of many users, most of bandwidth of the network, and the bandwidth of the switch to support users on a network backplane even in the case of potentially or overwhelmed easily it can be seen. Gigabit Ethernet network, if enough users align sufficient peak at a time, can overwhelm the network or the network switch. Then, 2560x1440 the resolution of the video is be more commonplace, the average video stream data rate is 9.5Mbps, and the probably cause peak data rate of 95 Mbps. Needless to say, connection of 100Mbps between a data center and an office (which 今日、非常に高速な接続である)は、単一ユーザからのピークトラフィックによって完全に沈没される。従って、LAN及びプライベートネットワーク接続が、ピークストリーミングビデオを更に許容できるとしても、高いピークを伴うストリーミングビデオは、望ましいものではなく、オフィスのIT部門による特殊なプランニング及び適応を要求する。 Today, a very fast connection) is sunk completely by the peak traffic from a single user. Therefore, LAN and private network connections, even be further tolerate peak streaming video, streaming with a high peak video is not desirable, to request a special planning and adaptation by office IT department.

もちろん、標準的なリニアビデオアプリケーションの場合、これらの事柄は、問題ではない。 Of course, if the standard linear video applications, these things are not a problem. というのは、データレートが送信点において「平滑化」され、各フレームのデータが利用可能な最大データレート622より低く、そしてクライアントのバッファが、I、P及びBフレームのシーケンスを、それらが解凍されるまで記憶するからである。 Because the data rate is "smoothed" in the transmission point, lower than the maximum data rate 622 data is available for each frame, and the client's buffer, I, a sequence of P and B frames, they are thawed This is because the stored until. 従って、ネットワークにわたるデータレートは、ビデオストリームの平均データレートの近くに保たれる。 Thus, the network over the data rate is maintained close to the average data rate of the video stream. 不都合なことに、これは、Bフレームが使用されない場合でも待ち時間を導入し、即ち高速応答時間を要求するビデオゲーム及びアプリケーションのような短待ち時間アプリケーションについては受け容れられない。 Unfortunately, this introduces latency, even if B frames are not used, i.e. not accepted for low-latency applications such as video games and applications require fast response time.

高いピークを有するビデオストリームを軽減する1つの従来の解決策は、「コンスタントビットレート」(CBR)エンコーディングとしばしば称される技術を使用することである。 One conventional solution to reduce the video stream having a high peak is to use often technique called "Constant bit rate" (CBR) encoding. CBRという語は、全てのフレームが同じビットレート(即ち、サイズ)を有するように圧縮されることを意味すると思われるが、それが通常指すのは、ある数のフレーム(ここでは、1フレーム)にわたり最大ビットレートが許されるという圧縮パラダイムである。 The term CBR, all frames have the same bit rate (i.e., size), but is likely to mean that it is compressed to have, it's points normally, a certain number of frames (in this case, 1 frame) over a compression paradigm maximum bit rate is allowed. 例えば、図6cのケースでは、ビットレートを、定格最大データレート621の例えば70%に制限するエンコーディングにCBR制約が適用される場合に、圧縮アルゴリズムは、定格最大データレート621の70%以上を使用して通常圧縮されるフレームが少ないビットで圧縮されるように、各フレームの圧縮を制限する。 For example, in the case of FIG. 6c, the bit rate, if the CBR constraint on encoding to limit, for example 70% of the rated maximum data rate 621 is applied, compression algorithm, using more than 70% of the rated maximum data rate 621 to to be compressed in the usual frame fewer bits to be compressed, to limit the compression of each frame. その結果、所与のクオリティレベルを維持するために通常より多くのビットを要求するフレームがビットの「欠乏」となり、これらフレームの映像クオリティは、定格最大データレート621の70%以上のビットを要求しない他のフレームの場合より悪くなる。 As a result, becomes "deficiency" of the frame which requires more bits than usual in order to maintain a given quality level bits, the frames of the video quality may require a 70% or more bits of the rated maximum data rate 621 worse than in the case of the other frames that do not. この解決策は、(a)予想される動き又はシーンの変化があまりなく、且つ(b)ユーザが周期的なクオリティ低下を受け容れできるようなある形式の圧縮ビデオに対して、受け容れられる結果を生じさせることができる。 This solution, (a) the expected movement or change in the scene without a lot with respect to and (b) user periodic quality lower the acceptance can such some form of compressed video, is acceptance results it can be generated. CBRに適したアプリケーションの良い例は、ビデオ遠隔会議である。 A good example of an application that is suitable for CBR is a video teleconferencing. というのは、ピークが僅かしかなく、且つクオリティが短時間低下した場合に(例えば、カメラがパンして、著しいシーンの動き及び大きなピークを生じ、そのパン中に、高クオリティ映像圧縮に充分なビットがなく、映像クオリティの低下を招く場合に)、ほとんどのユーザにそれが受け容れられるからである。 Because, if there is only slight peak, which and quality drops a short period of time (for example, a camera is panned, resulting in significant scene motion and large peaks, during the panning, sufficient high quality video compression no bit, when deteriorating the picture quality), because it is accepted for most users. 不都合なことに、CBRは、非常に複雑な又は多くの動きのあるシーンを有し、及び/又は適度な一定レベルのクオリティが要求される他の多数のアプリケーションにはあまり適していない。 Unfortunately, CBR has a very complex or many motion scenes, the and / or moderate constant level a number of other applications that quality is required of not well suited.

一実施形態に使用される短待ち時間の圧縮ロジック404は、高いクオリティを維持しながら短待ち時間の圧縮ビデオをストリーミングすることに伴うある範囲の問題に対処するために多数の異なる技術を使用する。 The low-latency compression logic 404 employed in one embodiment uses a number of different techniques to address the range of problems that caused to stream the compressed video of a short waiting time while maintaining high quality . 第1に、短待ち時間の圧縮ロジック404は、Iフレーム及びPフレームしか発生せず、各Bフレームをデコードするために多数のフレーム分の時間を待機する必要性を緩和する。 First, the low-latency compression logic 404, alleviating the need to wait a number of frames of time to only I frames and P frames not occur, to decode each B frame. 更に、図7aに示すように、一実施形態では、短待ち時間の圧縮ロジック404は、各非圧縮フレーム701−760を一連の「タイル」へと細分化し、そして各タイルをIフレーム又はPフレームのいずれかとして個々にエンコードする。 Furthermore, as shown in Figure 7a, in one embodiment, the low-latency compression logic 404, each uncompressed frame 701-760 is subdivided into a series of "tiles", and each tile I-frame or P-frame encoded individually as either. 圧縮されたIフレーム及びPフレームのグループは、ここでは、「Rフレーム」711−770と称される。 The compressed I frames and groups of P frames are referred to herein as "R frames" 711-770. 図7aに示す特定例では、各非圧縮フレームが、16タイルの4x4マトリクスへと細分化される。 In the particular example shown in Figure 7a, each uncompressed frame is subdivided into 4x4 matrix 16 tiles. しかしながら、これらの基礎的な原理は、特定の細分化スキムに限定されない。 However, these underlying principles are not limited to any particular subdivision scheme.

一実施形態では、短待ち時間の圧縮ロジック404は、ビデオフレームを多数のタイルに分割し、そして各フレームからの1つのタイルをIフレームとしてエンコード(即ち、圧縮)し(即ち、タイルは、フル映像サイズの1/16の個別ビデオフレームであるかのように圧縮され、この「ミニ」フレームに使用される圧縮は、Iフレーム圧縮である)、そして残りのタイルをPフレームとしてエンコード(即ち、圧縮)する(即ち、1/16の各「ミニ」フレームに使用される圧縮は、Pフレーム圧縮である)。 In one embodiment, the low-latency compression logic 404 divides the video frame into a number of tiles, and encodes one tile from each frame as an I frame (i.e., compression) and (i.e., tiles, full is compressed as if it is a 1/16 of the individual video frames of the video size, compression used in the "mini" frame is an I frame compression), and encodes the remaining tiles as P frames (i.e., compression) to (i.e., compressed to be used for each "mini" frame 1/16 is a P frame compression). Iフレーム及びPフレームとして圧縮されるタイルは、各々、「Iタイル」及び「Pタイル」と称される。 Tiles are compressed as I frames and P frames, respectively, it referred to as "I tiles" and "P tiles". 各連続するビデオフレームでは、Iタイルとしてエンコードされるべきタイルが変化される。 In the video frames each successive tile to be encoded as an I tile is changed. 従って、所与のフレーム時間では、ビデオフレーム内のタイルのうちの1つのタイルだけがIタイルであり、そして残りのタイルがPタイルである。 Thus, for a given frame time, only one tile of the tiles in the video frame is an I tile, and the remaining tiles are P tiles. 例えば、図7aでは、非圧縮フレーム701のタイル0がIタイルI 0としてエンコードされ、そして残りの1−15タイルがPタイルP 1 −P 15としてエンコードされ、Rフレーム711を形成する。 For example, in Figure 7a, tile 0 of uncompressed frame 701 is encoded as I tile I 0, and the remaining 1-15 tiles are encoded as P tiles P 1 -P 15, to form the R frame 711. 次の非圧縮ビデオフレーム702では、非圧縮フレーム701のタイル1がIタイルI 1としてエンコードされ、そして残りのタイル0及び2から15がPタイルP 0及びP 2からP 15としてエンコードされ、Rフレーム712を形成する。 In the next uncompressed video frame 702, tile 1 of uncompressed frame 701 is encoded as I tile I 1, and the remaining tiles 0 and 2 through 15 are encoded as P 15 from P tiles P 0 and P 2, R forming the frame 712. 従って、タイルとしてIタイル及びPタイルは、連続するフレームにわたり時間的に次々にインターリーブされる。 Therefore, I tiles and P tiles as tiles are interleaved in time one after the other over successive frames. このプロセスは、マトリクス内の最後のタイルがIタイル(即ち、I 15 )としてエンコードされてRタイル770が発生されるまで続く。 This process last tile in the matrix I tile (i.e., I 15) continues until R tile 770 is generated encoded as. 次いで、このプロセスが再開されて、フレーム711のような別のRフレームを発生する(即ち、タイル0に対してIタイルをエンコードし、等々)。 Then, the process is resumed, generating another R frame such as frame 711 (i.e., encoding an I tile against a tile 0, etc.). 図7aには示されていないが、一実施形態では、Rフレームのビデオシーケンスのうちの第1のRフレームがIタイルしか含まない(即ち、その後のPフレームが、動きを計算するための基準映像データを有するように)。 Although not shown in Figure 7a, in one embodiment, the first R frame of the video sequence of R frames contains only I tiles (i.e., subsequent P frames, the basis for calculating the motion so as to have the video data). 或いは又、一実施形態では、スタートアップシーケンスが、通常と同じIタイルパターンを使用するが、Iタイルでまだエンコードされていないタイルに対してPタイルを含まない。 Alternatively, in one embodiment, the startup sequence uses the same I tile pattern as normal, not including P tile against a tile that have not yet been encoded with an I tile. 換言すれば、あるタイルは、第1のIタイルが到着するまでデータでエンコードされず、従って、以下に詳細に述べる図9aのビデオストリームデータレート934におけるスタートアップピークを回避する。 In other words, some tiles are first I tile is not encoded in the data to arrive, thus avoiding startup peaks in the video stream data rate 934 in Figure 9a described in detail below. 更に、以下に述べるように、これらの基礎的な原理に依然適合しつつ、タイルに対して種々の異なるサイズ及び形状を使用することができる。 Moreover, as described below, while still conform to these underlying principles may be using a variety of different sizes and shapes with respect to the tile.

クライアント415で実行されるビデオ解凍ロジック412は、各タイルを、小さなI及びPフレームの個別のビデオシーケンスであるかのように解凍し、次いで、各タイルをフレームバッファドライブディスプレイ装置422へレンダリングする。 Video decompression logic 412 executed by the client 415, each tile or thawed as a separate video sequence of small I and P frames, and then renders each tile to the frame buffer driving display device 422. 例えば、Rフレーム711ないし770からのI 0及びP 0を使用して、ビデオ映像のタイル0を解凍し、レンダリングする。 For example, using I 0 and P 0 from each of R frames 711 770, were thawed tile 0 of the video image, to render. 同様に、Rフレーム711ないし770からのI 1及びP 1を使用して、タイル1を再構成し、等々となる。 Similarly, using the I 1 and P 1 from each of R frames 711 770, reconfigure the tile 1, and so on. 上述したように、Iフレーム及びPフレームの解凍は、良く知られた技術であり、Iタイル及びPタイルの解凍は、クライアント415で実行されるビデオ解凍の複数のインスタンスを得ることにより遂行することができる。 As I mentioned above, decompression of I frames and P frames are a well-known technique, decompression of I tiles and P tiles can be accomplished by obtaining a plurality of instances of a video decompression that runs on the client 415 can. 乗算プロセスは、クライアント415の計算負担を増大すると思われるが、実際には、そうではない。 Multiplication process, but it is likely to increase the computational burden of the client 415, in fact, not the case. というのは、タイルそれ自体は、付加的なプロセスの数に対し比例的に小さく、従って、表示されるピクセルの数は、1つのプロセスがあって従来のフルサイズのI及びPフレームを使用する場合と同じだからである。 Because the tile itself to the number of additional process proportionally small, therefore, the number of pixels displayed, use the I and P frames of the conventional full size had one process If that because it is the same.

このRフレーム技術は、図6b及び6cに示したIフレームに典型的に関連した帯域巾ピークを著しく軽減する。 The R frame technique significantly reduces the typically associated with bandwidth peaks I frame shown in Figure 6b and 6c. というのは、所与のフレームが、大抵は、Iフレームより典型的に小さなPフレームで作られるからである。 Since the given frame is mostly, because made of typically small P-frame than I-frame. 例えば、典型的なIフレームが160Kbであると再び仮定すれば、図7aに示す各フレームのIタイルは、この量のほぼ1/16即ち10Kbとなる。 For example, if the typical again assumed that I frame is 160 Kb, I tiles of each frame shown in FIG. 7a is almost 1/16 That 10Kb of this amount. 同様に、典型的なPフレームが16Kbであると仮定すれば、図7aに示す各タイルのPフレームは、ほぼ1Kbとなる。 Similarly, assuming typical P frame is to be 16Kb, P-frame of each tile shown in FIG. 7a is substantially 1Kb. 最終の結果として、ほぼ10Kb+15*1Kb=25KbのRフレームとなる。 As a result of the final, the R frame of approximately 10Kb + 15 * 1Kb = 25Kb. 従って、各60フレームシーケンスは、25Kb*60=1.5Mbpsとなる。 Thus, each 60-frame sequence, the 25 Kb * 60 = 1.5 Mbps. 従って、60フレーム/秒では、これは、1.5Mbpsの帯域巾を維持することのできるチャンネルを要求するが、Iタイルのために相当に低いピークが60フレームインターバル全体にわたって分布される。 Thus, the 60 frames / sec, which is to request a channel capable of maintaining a bandwidth of 1.5 Mbps, the peak significantly lower due to I tiles being distributed throughout the 60-frame interval.

Iフレーム及びPフレームに対して同じデータレートを仮定した先の例では、平均データレートが1.1Mbpsであったことに注意されたい。 In the above example assuming the same data rates for I frames and P frames, it is noted that the average data rate was 1.1 Mbps. これは、先の例では、新たなIフレームが60フレームの時間ごとに一度しか導入されず、一方、この例では、16フレームの時間、ひいては、Iフレームに等しい時間でIフレームサイクルを作り上げる16個のタイルが16フレームの時間ごとに導入され、著しく高い平均データレートとなるからである。 This, in the previous example, not introduced only once for each time a new I-frame is 60 frames, whereas, in this example, 16 frames of time, and thus make up an I frame cycle time equal to I-frame 16 tiles is introduced every 16 frame times, because a significantly higher average data rate. 実際に、より頻繁にIフレームを導入しても、データレートを直線的に高めることはない。 Indeed, by introducing more frequent I frames it does not increase the data rate linearly. これは、Pフレーム(又はPタイル)が主として手前のフレームから次のフレームへの相違をエンコードするという事実のためである。 This is due to the fact that encodes the difference from the P-frame (or P tile) primarily front frame to the next. 従って、手前のフレームが次のフレームにかなり類似している場合には、Pフレームが非常に小さくなり、一方、手前のフレームが次のフレームとかなり相違がある場合には、Pフレームが非常に大きくなる。 Therefore, if the prior frame is quite similar to the next frame, P frame becomes very small, on the other hand, if the prior frame is quite different from the next frame, P-frame is very growing. しかし、Pフレームは、主として、実際のフレームではなく、手前のフレームから導出されるので、それにより生じるエンコードされたフレームは、充分なビット数でIフレームより大きなエラー(例えば、視覚欠陥)を含むことができる。 However, P-frame is primarily not the actual frame, since it is derived from the previous frame, the frame thereby encoded results, including greater error than I frames number sufficient bits (e.g., visual defects) be able to. そして、1つのPフレームに別のPフレームが続くときには、エラーの蓄積が生じ、長いシーケンスのPフレームがあるときには悪化する。 Then, when one P frame to another P frame persists, it caused accumulation of errors is exacerbated when there is a P-frame of the long sequence. ここで、精巧なビデオコンプレッサは、一連のPフレームの後に映像のクオリティが低下することを検出し、必要に応じて、より多くのビットをその後続Pフレームに割り当てて、クオリティを上げるか、又はそれが最も効率的なアクションのコースである場合には、PフレームをIフレームに置き換える。 Here, sophisticated video compressor, or detects that the image quality is reduced after a series of P frames, if necessary, by assigning more bits to the subsequent P frame, increase the quality, or If it is a course of the most efficient action, replace the P frame to I-frame. 従って、長いシーケンスのPフレーム(例えば、上述した例のように59個のPフレーム)が使用されるとき、特に、シーンが多大な複雑さ及び/又は動きを有するときには、典型的に、PフレームがIフレームから更に離れるにつれて、より多くのビットがPフレームに必要とされる。 Accordingly, P-frame of the long sequences (e.g., 59 P frames, as in the example described above) when is used, in particular, when a scene having a great deal of complexity and / or motion, typically, P-frame There as further away from the I-frame, more bits are needed for P frames.

或いは、Pフレームを逆の視点から見ると、Iフレームに接近して続くPフレームは、Iフレームから更に離れたPフレームよりビットを必要としない傾向がある。 Alternatively, looking at the P frames from the opposite point of view, P frames that follow close to the I frame tend to not require bits than P frames further away from the I-frame. 従って、図7aに示す例では、先行するIフレームから15フレーム以上離れたPフレームはなく、一方、先の例では、Pフレームは、Iフレームから59フレーム離れることができる。 Thus, in the example shown in FIG. 7a, P frames apart 15 frames or more from the I frame preceding not, while in the previous example, P-frame can leave 59 frames from an I frame. 従って、より頻繁にIフレームがあると、Pフレームは、より小さくなる。 Therefore, the more frequently it is I-frame, the P frame becomes smaller. もちろん、厳密な相対的サイズは、ビデオストリームの性質に基づいて変化するが、図7aの例では、Iタイルが10Kbである場合、Pタイルは、平均で、0.75Kbのみのサイズとなり、10Kb+15*0.75Kb=21.25Kbとなるか、又は60フレーム/秒では、データレートは、21.25Kb*60=1.3Mbpsとなり、又はIフレームの後に59個のPフレームが続く1.1Mbpsのストリームより約16%高いデータレートとなる。 Of course, the exact relative sizes will vary based on the nature of the video stream, in the example of Figure 7a, if an I tile is 10Kb, P tiles on average, it is the size of only 0.75 kb, 10Kb + 15 * 0.75Kb = 21.25Kb level, or the or the 60 frames / sec, data rate, 21.25Kb * 60 = 1.3Mbps, and the or 59 after the I-frame P-frame is followed by a 1.1Mbps approximately 16% higher data rate than stream. この場合も、ビデオ圧縮に対するこれら2つの解決策間の相対的な結果は、ビデオシーケンスに基づいて変化するが、典型的に、Rフレームを使用すると、I/Pフレームシーケンスを使用する場合より、所与のクオリティレベルに対して約20%多くのビットを要求することが実験で分かった。 Again, the relative results between these two solutions to video compression will vary based on the video sequence, typically by using the R frame, than using I / P frame sequences, it was found in experiments that require about 20% more bits for a given quality level. しかし、当然、Rフレームは、ピークを劇的に減少させ、I/Pフレームシーケンスより遥かに短い待ち時間でビデオシーケンスを使用可能にする。 However, of course, R frames dramatically reduce the peaks, to enable video sequences in a much shorter latency than I / P frame sequences.

Rフレームは、ビデオシーケンスの性質、チャンネルの信頼性、及び利用できるデータレートに基づいて、種々の異なる仕方で構成することができる。 R frame, the nature of the video sequence, the channel reliability, and based on the data rate available, can be configured in a variety of different ways. 別の実施形態では、4x4構成の16とは異なる数のタイルが使用される。 In another embodiment, a different number of tiles is used and 16 of the 4x4 configuration. 例えば、2枚のタイルを2x1又は1x2構成で使用することができ、4枚のタイルを2x2、4x1又は1x4構成で使用することができ、6枚のタイルを3x2、2x3、6x1又は1x6構成で使用することができ、或いは8枚のタイルを4x2(図7bに示すような)、2x4、8x1又は1x8構成で使用することができる。 For example, the 2 tiles may be used in 2x1 or 1x2 configuration, 4 tiles may be used in 2x2,4x1 or 1x4 configuration, 6 tiles 3x2,2x3,6x1 or 1x6 configuration It may be used, or the 8 tiles 4x2 (as shown in FIG. 7b), can be used in 2x4,8x1 or 1x8 configuration. タイルは、方形である必要がなく、又、ビデオフレームも、方形又は長方形である必要がないことに注意されたい。 Tiles, a need not be square, also, the video frames are also should be noted that there is no need to be square or rectangular. タイルは、使用するビデオフレーム及びアプリケーションに最も適した形状に分割することができる。 Tiles can be divided into most suitable shape to the video frames and the application used.

別の実施形態では、I及びPタイルのサイクルがタイルの数に固定されない。 In another embodiment, the cycle of the I and P tiles is not fixed to the number of tiles. 例えば、8タイルの4x2構成では、図7bに示すように16サイクルシーケンスを依然使用することができる。 For example, 8 in the 4x2 arrangement of the tile, can still be used the 16 cycle sequence as shown in Figure 7b. 順次の非圧縮フレーム721、722、723は、各々、8枚のタイル、0−7に分割され、各タイルが個々に圧縮される。 Uncompressed frame 721 in turn are each 8 tiles are divided into 0-7, each tile is compressed individually. Rフレーム731から、タイル0だけがIタイルとして圧縮され、残りのタイルは、Pタイルとして圧縮される。 From R frame 731, only tile 0 is compressed as an I tile, and the remaining tiles are compressed as P tiles. その後のRフレーム732については、8枚のタイル全部がPタイルとして圧縮され、次いで、その後のRフレーム733については、タイル1がIタイルとして圧縮され、そして他のタイル全部がPタイルとして圧縮される。 For subsequent R frame 732, all 8 tiles are compressed as P tiles, and then for subsequent R frame 733, tile 1 is compressed as an I tile and the other tiles all are compressed as P tiles that. 従って、16個のフレームについてシーケンスが続き、Iタイルは、1つおきのフレームのみに発生され、最後のIタイルは、15番目のフレーム時間中にタイル7について発生され(図7bには示さず)、そして第16番目のフレーム時間中に、全Pタイルを使用してRフレーム780が圧縮される。 Therefore, followed by 16 frames for the sequence, an I tile is generated only every other frame, the last I tile is generated for tile 7 during the 15 th frame time (not shown in Figure 7b ), and during a 16-th frame time, R frame 780 is compressed using all P tiles. 次いで、タイル0がIタイルとして圧縮されそして他のタイルがPタイルとして圧縮されるようにしてシーケンスが再開される。 Then, the tile 0 is compressed and the other tiles sequence so as to be compressed is resumed as P tiles as I tile. 先の実施形態と同様に、全ビデオシーケンスの各第1フレームは、典型的に、全てIタイルであり、その点から前方へのPタイルの基準を与える。 Similar to the previous embodiment, the first frame of the entire video sequence, typically all are I tiles, provides a basis P tiles forward from that point. Iタイル及びPタイルのサイクルは、タイルの数の偶数倍である必要がない。 Cycle of I tiles and P tiles need not be an even multiple of the number of tiles. 例えば、8枚のタイルでは、Iタイルをもつ各フレームの後に、全てPタイルをもつ2つのフレームが続き、その後に、別のIタイルが使用される。 For example, in the 8 tiles, after each frame with an I tile, followed by two frames with all P tiles, after which another I tile is used. 更に別の実施形態では、あるタイルは、例えば、スクリーンのあるエリアがより多くの動きを有し頻繁なIタイルを要求すると分かっているが、他のエリアはより静的であって(例えば、ゲームのスコアを示す)頻繁なIタイルをほとんど要求しない場合に、Iタイルが他のタイルより頻繁にある状態でシーケンスされる。 In yet another embodiment, certain tiles may, for example, areas with a screen is known to require frequent I tiles have more motion, the other area a more static (e.g., if requires little) frequent I tiles indicating the score of the game, I tile is a sequence in the presence often than other tiles. 更に、各フレームは、図7a−bにおいて単一のIタイルと共に示されているが、(送信チャンネルの帯域巾に基づいて)単一のフレーム内で複数のIタイルをエンコードすることもできる。 Furthermore, each frame is shown with a single I tile in FIG. 7a-b, it is also possible to encode multiple I tiles (based on the bandwidth of the transmission channel) within a single frame. 逆に、あるフレーム又はフレームシーケンスを、Iタイルなしで(即ち、Pタイルのみで)送信することもできる。 Conversely, certain frames or frame sequences, without I tile (i.e., P tiles only) can also be sent.

先の段落で述べた解決策が良く機能する理由は、各単一フレームにわたってIタイルを分布させないことで、大きなピークを生じると思われるが、システムの挙動は、そのように単純ではないことである。 Reasons mentioned in the preceding paragraph solution works well, that does not distribute the I tiles over each single frame would seem to result in large peaks, the behavior of the system, that so not simple is there. 各タイルは、他のタイルとは個別に圧縮されるので、タイルが小さくなるほど、各タイルのエンコーディングは、効率的でなくなる。 Each tile, since the other tiles are compressed individually, as the tiles decreases, the encoding of each tile is no longer efficient. というのは、所与のタイルのコンプレッサが、他のタイルからの類似映像特徴及び類似の動きを利用できないためである。 Since, because the compressor of a given tile is not able to utilize similarities video features and similar motion from the other tiles. 従って、スクリーンを16枚のタイルに分割すると、一般的に、スクリーンを8枚のタイルに分割する場合よりエンコーディングの効率が低下する。 Therefore, splitting the screen into 16 tiles, in general, the efficiency of encoding than dividing the screen into 8 tiles decreases. しかし、スクリーンが8枚のタイルに分割され、そして全Iフレームのデータを、16フレームごとではなく8フレームごとに導入させる場合には、全体的に非常に高いデータレートとなる。 However, the screen is divided into 8 tiles, and if the data of all I frames, is introduced every 8 frames instead of every 16 frames, the overall very high data rates. 従って、8フレームごとではなく16フレームごとに全Iフレームを導入することにより、全体的なデータレートが減少される。 Thus, by introducing a full I frame every 16 frames instead of every 8 frames, the overall data rate is reduced. 又、16枚の小さなタイルではなく8枚の大きなタイルを使用することにより、全データレートが減少され、大きなタイルにより生じるデータピークをある程度軽減させる。 Moreover, the use of eight large tiles instead of 16 sheets of smaller tiles, the total data rate is reduced, the data peaks caused by a large tile to some extent alleviated.

別の実施形態では、図7a及び7bの短待ち時間のビデオ圧縮ロジック404は、Rフレームにおける種々のタイルへのビットの割り当てを、圧縮されるべきビデオシーケンスの既知の特性に基づく設定で予め構成することにより、或いは各タイルにおける映像クオリティの進行中の分析に基づいて自動的に、コントロールする。 In another embodiment, low-latency video compression logic 404 in Figures 7a and 7b, the bit allocation to the various tiles in the R frames, preconfigured settings based on the known characteristics of the video sequence to be compressed by, or automatically, controlled based on ongoing analysis of the image quality in each tile. 例えば、ある競争ビデオゲームでは、(シーンにおいて比較的動きの少ない)プレーヤの車の前部が、シーンの下半分の大部分を占有し、一方、シーンの上半分が、ほぼ常に動いている接近する道路、ビル及び風景で完全に埋められる。 For example, in some competitive video game, (relatively small motion in the scene) front part of the car player, it occupies most of the lower half of the scene, while the closer the upper half of the scene is almost constant motion road to be completely filled with buildings and landscape. 圧縮ロジック404が各タイルに等しい数のビットを割り当てる場合には、図7bの非圧縮フレーム721のスクリーンの下半分のタイル(タイル4−7)が、一般的に、図7bの非圧縮フレーム721のスクリーンの上半分のタイル(タイル0−3)より高いクオリティで圧縮される。 If the compression logic 404 allocates an equal number of bits to each tile, the lower half tiles screen of uncompressed frame 721 in Figure 7b (tiles 4-7), in general, non-compressed frames in FIG. 7b 721 upper half of the tiles of the screen are compressed at higher (tiles 0-3) Quality. この特定のゲーム又はゲームのこの特定のシーンがこのような特性を有すると分かっている場合には、ホスティングサービス210のオペレータは、スクリーンの下部のタイルよりスクリーンの上部のタイルにより多くのビットを割り当てるように圧縮ロジック404を構成することができる。 In the case where this particular scene of this particular game or game is known to have such characteristics, the operator of the hosting service 210 allocates more bits bottom of the screen at the top of the tiles than the tiles of the screen it is possible to configure the compression logic 404 as. 或いは、圧縮ロジック404は、フレームが圧縮された後に(ピーク信号対雑音比(PSNR)のような多数の圧縮クオリティメトリックの1つ以上を使用して)タイルの圧縮のクオリティを評価することができ、そしてある時間ウインドウにわたり、あるタイルが高いクオリティの結果を一貫して生じると決定する場合に、種々のタイルが同様のクオリティレベルに達するまで、低いクオリティの結果を生じるタイルにより多くのビットを徐々に割り当てる。 Alternatively, the compression logic 404 may be a frame to evaluate the quality of the tile compression (many to use one or more compression quality metrics, such as peak signal to noise ratio (PSNR)) after being compressed and over a time window, when determining to occur consistently results of one tile high quality, gradually more bits various tiles until reaching the same quality level, the tiles produced results lower quality assigned to. 別の実施形態では、圧縮ロジック404は、特定のタイル又はタイルのグループに高いクオリティを得るようにビットを割り当てる。 In another embodiment, the compression logic 404 allocates bits to achieve higher quality in a particular group of tiles or tile. 例えば、スクリーンの縁より中心部のクオリティを高くするように全体的に良好な知覚上の見掛けを与えることができる。 For example, it is possible to provide an apparent on overall good perceived as higher quality in the center of the edge of the screen.

一実施形態では、ビデオストリームのある領域の解像度を改善するために、ビデオ圧縮ロジック404は、シーンの複雑さ及び/又は動きが比較的大きいビデオスクリーンのエリアを、シーンの複雑さ及び/又は動きが比較的小さいビデオスクリーンのエリアより小さいタイルを使用してエンコードする。 In one embodiment, in order to improve the resolution of certain regions of the video stream, the video compression logic 404, scene complexity and / or motion is relatively large video screen area, complexity and / or motion of the scene There is encoded using smaller tiles than relatively small video screen area. 例えば、図8に示すように、1つのRフレーム811の1つのエリア内の動くキャラクタ805の周りに小さなタイルが使用される(潜在的に、その後に、同じタイルサイズをもつ一連のRフレーム(図示せず)が続く)。 For example, as shown in FIG. 8, one small tiles are used around one moves within the area character 805 R frame 811 (potentially a series of R frames with Thereafter the same tile size ( not shown) is followed). 次いで、キャラクタ805が映像の新たなエリアへ移動すると、図示されたように、別のRフレーム812内のこの新たなエリアの周りに小さなタイルが使用される。 Then, the character 805 when moving to a new area of ​​the image, as illustrated, smaller tiles around this new area within another R frame 812 is used. 上述したように、これらの基礎的な原理に依然合致しながら、種々の異なるサイズ及び形状を「タイル」として使用することができる。 As described above, while still complying with these underlying principles, a variety of different sizes and shapes can be used as "tiles".

上述した循環するI/Pタイルは、ビデオストリームのデータレートのピークを実質的に減少するが、特に、動画、ビデオゲーム及びあるアプリケーションソフトウェアで発生する急速に変化する又は非常に複雑なビデオ映像の場合には、ピークを完全に排除することができない。 I / P tiles circulating described above, but substantially reduce the peak data rate of the video stream, in particular, videos, video games and rapidly changing or highly complex video images that occur in an application software case, it is not possible to completely eliminate the peak. 例えば、突然のシーンの移行中に、複雑なフレームの後に、完全に異なる別の複雑なフレームが続くことがある。 For example, during a sudden scene of transition, after the complex frame, may be completely different another complex frame is followed. 多数のIタイルが若干のフレームの時間だけシーンの移行に先行することがあっても、それらは、この状態において助けとならない。 Even if a large number of I tiles precedes the transition time by scenes some frames, they are not conducive in this state. というのは、新たなフレーム資料が手前のIタイルと関係がないからである。 This is because, since the new frame material is not related to the front of the I tile. このような状態(及び何もかもが変化しなくても、多くの映像が変化する他の状態)では、ビデオコンプレッサ404は、Pタイルの全部でなくてもその多くがIタイルとしてより効率的にコード化され、その結果、そのフレームに対するデータレートに非常に大きなピークが生じると決定する。 (Even if and not everything changes, other conditions that many video change) this state in, video compressor 404, efficiently encoded than as many of I tiles if not all of the P tiles ized, thereby determines a very large peak in the data rate for that frame is generated.

上述したように、ほとんどの消費者グレードのインターネット接続(及び多くのオフィス接続)では、図6cに622として示す利用可能な最大データレートを越えるデータを定格最大データレート621と共に「ジャム(jam)」することが単純に実行できないケースがある。 As described above, the Internet connection most consumers grades (and many office connections), the data exceeding the maximum data rate available, shown as 622 in Figure 6c with the rated maximum data rate 621 "jam (jam)" there is a case that can not be simply run it to. 定格最大データレート621(例えば、“6Mbps DSL”)は、インターネット接続の購入を考えるユーザにとって本質的にマーケッティングナンバーであるが、一般的に、性能のレベルを保証するものではない。 Rated maximum data rate 621 (e.g., "6Mbps DSL") is essentially a marketing number for users considering the purchase of an Internet connection, generally, it does not guarantee a level of performance. 本発明の説明上、これは、無関係である。 The description of the present invention, this is irrelevant. というのは、ビデオが接続を通してストリーミングされるときには、利用可能な最大データレート622だけが問題だからである。 Because, when the video is streamed through the connection, only the maximum available data rate 622 is because problems. その結果、図9a及び9cにおいて、ピークの問題に対する解決策を説明するときに、定格最大データレートがグラフから削除され、利用可能な最大データレート922だけが示される。 Consequently, in Figures 9a and 9c, when describing a solution to the peak in question, the rated maximum data rate is removed from the graph, only the available maximum data rate 922 is shown. ビデオストリームデータレートは、利用可能な最大データレート922を越えてはならない。 Video stream data rate must not exceed the available maximum data rate 922.

これに対処するために、ビデオコンプレッサ404が第1に実行すべきことは、チャンネルが着実に取り扱うことのできるデータレートであるピークデータレート941を決定することである。 To address this, the video compressor 404 is what to do first, is to determine the peak data rate 941 is a data rate that may be channels handled steadily. このレートは、多数の技術によって決定することができる。 This rate can be determined by a number of techniques. 1つのこのような技術は、図4a及び4bにおいて、ホスティングサービス210からクライアント415へ次第に高いデータレートテストストリームを徐々に送信し、そしてクライアントがパケットロス及び待ち時間のレベルに関してホスティングサービスへフィードバックを与えるようにさせるものである。 One such technique, in FIG. 4a and 4b, is gradually transmitted progressively higher data rate test stream from the hosting service 210 to the client 415, and client provide feedback to the hosting service for the level of packet loss and latency it is intended to be so. パケットロス及び/又は待ち時間が鋭い増加を示し始めるときには、それは、利用可能な最大データレート922に到達しつつあるという指示である。 When packet loss and / or latency begins to show a sharp increase, it is an indication that is being reached the available maximum data rate 922. その後、ホスティングサービス210は、適度な期間中受け容れられるパケットロスレベルでテストストリームが受信され且つ待ち時間がほぼ最小であることをクライアント415が報告するまで、テストストリームのデータレートを徐々に減少することができる。 Thereafter, the hosting service 210, until the client 415 reports that and latency are received test stream packet loss level for acceptance in a reasonable period is approximately the minimum, gradually decreasing the data rate of the test stream be able to. これは、ピーク最大データレート941を確立し、これは、次いで、ストリーミングビデオのためのピークデータレートとして使用される。 This establishes a peak maximum data rate 941, which is then used as a peak data rate for streaming video. 時間と共に、ピークデータレート941が変動し(例えば、家の別のユーザがインターネット接続を激しく使用し始める場合に)、そしてクライアント415は、それを常時監視して、パケットロス又は待ち時間が増大するかどうか調べる必要があり、利用可能な最大データレート922が以前に確立されたピークデータレート941より降下することを指示し、そしてもしそうであれば、ピークデータレート941を指示する。 Over time, the peak data rate 941 may fluctuate (e.g., if another user in a household starts to vigorously use the Internet connection), and the client 415 monitors it at all times, packet loss or latency increases whether it is necessary to examine, indicates that the available maximum data rate 922 drops below the peak data rate 941, which is previously established, and if so, instructs the peak data rate 941. 同様に、時間と共に、クライアント415は、パケットロス及び待ち時間が最適なレベルに保たれることを見つけた場合には、ビデオコンプレッサがデータレートをゆっくり増加して利用可能な最大データレートが増加したかどうか調べることを要求でき(例えば、家の別のユーザがインターネット接続の激しい使用を止めた場合に)、そして利用可能な最大データレート922を越えたことをパケットロス及び/又は長い待ち時間が指示し、ピークデータレート941に対して低いレベルを再び見つけることができるが、それがおそらく増加データレートのテストの前のレベルより高いものとなるまで、再び待機する。 Similarly, over time, the client 415, if it finds that the packet loss and latency is kept at an optimum level, the video compressor maximum data rate available to increase slowly the data rate is increased can request to investigate whether (e.g., if another user in a household has stopped heavy use of the Internet connection), and the packet loss and / or latency that exceeds the available maximum data rate 922 indicated, can again find a low level for the peak data rate 941, it probably until becomes higher than the level before testing increased data rate, and waits again. 従って、この技術(及びそれに類似した他の技術)を使用することにより、ピークデータレート941を見つけて、必要に応じて、周期的に調整することができる。 Therefore, by using this technique (and other techniques analogous thereto), locate the peak data rate 941 can be optionally periodically adjusted. ピークデータレート941は、ユーザへビデオをストリーミングするためにビデオコンプレッサにより使用できる最大データレートを確立する。 Peak data rate 941 establishes the maximum data rate that can be used by the video compressor to stream video to the user. ピークデータレートを決定するためのロジックは、ユーザの家屋211及び/又はホスティングサービス210において具現化することができる。 Logic for determining the peak data rate may be embodied in a house 211 and / or the hosting service 210 of the user. ユーザの家屋211において、クライアント装置415は、計算を行ってピークデータレートを決定し、そしてその情報をホスティングサービス210へ返送し、ホスティングサービス210において、ホスティングサービスのサーバー402は、クライアント415から受け取った統計情報(例えば、パケットロス、待ち時間、最大データレート、等)に基づいて、計算を行ってピークデータレートを決定する。 In user premises 211, the client device 415 determines the peak data rate by performing a calculation, and then send the information back to the hosting service 210, the hosting service 210, the server 402 hosting service, received from the client 415 statistics (e.g., packet loss, latency, max data rate, etc) on the basis of the calculation performed to determine the peak data rate.

図9aは、図7a、7b及び図8に示されて上述した循環I/Pタイル圧縮技術を使用して発生された実質的なシーンの複雑さ及び/又は動きを有するビデオストリームデータレート934を例示する。 Figure 9a, the video stream data rate 934 with substantial complexity and / or motion of the scene is generated using Figure 7a, circulation I / P tile compression techniques described above is shown in 7b and 8 illustrated. ビデオコンプレッサ404は、ピークデータレート941より低い平均データレートで圧縮ビデオを出力するように構成され、ほとんどの時間、ビデオストリームデータレートは、ピークデータレート941より低く保たれることに注意されたい。 Video compressor 404 is configured to output compressed video at a lower average data rate than the peak data rate 941, most of the time, the video stream data rate is noted to be kept below the peak data rate 941. I/P/B又はI/Pフレームを使用して生成された図6cに示すビデオストリームデータレート634とデータレート934との比較は、循環I/Pタイル圧縮が非常に滑らかなデータレートを発生することを示している。 Comparison with video stream data rate 634 and the data rate 934 shown in Figure 6c created using I / P / B or I / P frames circulating I / P tile compression generates a very smooth data rates It has shown that. 更に、フレーム2xピーク952(これは2xピークデータレート942に接近する)及びフレーム4xピーク954(これは4xピークデータレート944に接近する)において、データレートは、ピークデータレート941を越え、受け容れられない。 Further, in the frame 2x peak 952 (which approaches 2x the peak data rate 942) and frame 4x peak 954 (which approaches 4x the peak data rate 944), data rate, it exceeds the peak data rate 941, acceptance It is not. 実際に、迅速に変化するビデオゲームからの高アクションビデオでも、ピークデータレート941を越えるピークがフレームの2%未満で発生し、2xピークデータレート942を越えるピークがまれに発生し、そして3xピークデータレート943を越えるピークはほとんど発生しない。 Indeed, even at a high action video from rapidly changing video games, it generates a peak exceeding a peak data rate 941 is less than 2% of frames, peaks in excess of 2x peak data rate 942 occur rarely, and 3x peak peaks exceeding the data rate 943 hardly occurs. しかし、それらが(例えば、シーンの移行中に)発生するときには、それらによって要求されるデータレートは、良好なクオリティのビデオ映像を発生するのに必要なものである。 However, they are (e.g., during a scene transition) when generated, the data rate required by them is necessary to generate the video image of good quality.

この問題を解決する1つの方法は、最大データレート出力がピークデータレート941となるようにビデオコンプレッサ404を単に構成することである。 One way to solve this problem is that the maximum data rate output is simply configure the video compressor 404 such that the peak data rate 941. 不都合なことに、それによりピークフレーム中に生じるビデオ出力のクオリティは、圧縮アルゴリズムがビットについて「欠乏」しているので、不充分である。 Unfortunately, whereby the video output that occurs during the peak frames quality, since compression algorithm is "deficient" for the bit, is insufficient. その結果、突然の移行又は高速な動きがあるときに圧縮欠陥が現れ、やがて、ユーザは、突然の変化又は急速な動きがあるときに常に欠陥が現れ、それが極めて迷惑であることを悟る。 As a result, compression artifacts appear when there is a sudden transition or fast motion, eventually, the user, appears always defects when there is sudden changes or rapid motion, realize that it is very annoying.

人間の視覚系は、突然の変化又は急速な動きの間に現れる視覚上の欠陥には極めて敏感であるが、このような状態におけるフレームレートの減少の検出にはあまり敏感でない。 The human visual system, but the visual artifacts that appear during sudden changes or rapid motion is extremely sensitive, not very sensitive to detecting a reduction in frame rate in such a state. 実際に、このような突然の変化が生じたときに、人間の視覚系は、変化を追跡することに心を奪われ、フレームレートが短時間で60fpsから30fpsへ降下し、次いで、即座に60fpsへ復帰することに気付かないと思われる。 Indeed, when such sudden changes occur, the human visual system is preoccupied to track changes, and drops from 60fps in a short time frame rate to 30fps, then, 60fps in real It seems to be unaware that to return to. そして、突然のシーンの切り換えのような非常に急激な移行の場合には、人間の視覚系は、フレームレートが20fps又は15fpsへ降下し、次いで、即座に60fpsへ戻ることに気付かない。 In the case of a sudden scene very rapid transition, such as switching, the human visual system, the frame rate drops to 20fps or 15fps, then not immediately notice that the return to 60 fps. 観察する人間にとってフレームレートの減少が時々生じるだけである限り、ビデオは、60fpsで連続的に動作したかのように見える。 As long as the frame rate reduction for the observer to humans only occasionally occurs, the video will appear as if operated continuously at 60 fps.

人間の視覚系のこの特性は、図9bに示す技術により利用される。 This property of the human visual system is utilized by the techniques illustrated in Figure 9b. サーバー402(図4a及び4bからの)は、一定のフレームレート(一実施形態では60fps)の非圧縮ビデオ出力ストリームを発生する。 Server 402 (from Figures 4a and 4b) is (in one embodiment 60 fps) constant frame rate to generate an uncompressed video output stream. 時間線は、各フレーム961−970を各々1/60秒で示している。 Time lines are shown in each frame 961-970 each 1/60 second. 各非圧縮ビデオフレームは、フレーム961でスタートして、短待ち時間のビデオコンプレッサ404へ出力され、これは、フレームを1フレーム時間未満で圧縮し、第1フレームとして圧縮フレーム1 981を発生する。 Each uncompressed video frame, starting with frame 961, is output to the video compressor 404 of the low-latency, which compresses the frame in less than a frame time, generates the compressed frame 1 981 as the first frame. 圧縮フレーム1 981に対して発生されるデータは、上述したように、多数のファクタに基づいて大きくてもよいし小さくてもよい。 Data generated for the compressed frame 1 981, as described above, may be smaller or may be larger based on a number of factors. データが、フレーム時間(1/60秒)内又はピークデータレート941未満でクライアント415へ送信できるに充分なほど小さい場合には、それが送信時間(xmit時間)991中に送信される(矢印の長さは、送信時間の巾を示す)。 If the data is enough small can be transmitted in a frame time (1/60 sec) or within less than peak data rate 941 to the client 415, it is transmitted during transmit time (xmit time) 991 (the arrow length indicates the width of the transmission time). 次のフレーム時間において、サーバー402は、非圧縮フレーム2 962を発生し、これは、圧縮フレーム2 982へと圧縮され、そしてピークデータレート941においてフレーム時間未満である送信時間992中にクライアント415へ送信される。 In the next frame time, server 402, the uncompressed frame 2 962 occurs, it is compressed to compressed frame 2 982, and the client 415 during transmit time 992 is less than a frame time at peak data rate 941 It is sent.

次いで、次のフレーム時間に、サーバー402は、非圧縮フレーム3 963を発生する。 Then, the next frame time, server 402 produces uncompressed frame 3 963. これがビデオコンプレッサ404により圧縮されると、それにより生じる圧縮フレーム3 983は、1フレーム時間にピークデータレート941で送信できる以上のデータとなる。 When this is compressed by video compressor 404, the compressed frame 3 983 thereby resulting becomes data than can be transmitted at the peak data rate 941 in one frame time. 従って、それは、全フレーム時間と次のフレーム時間の一部分とを取り上げた送信時間(2xピーク)993中に送信される。 Therefore, it is the transmission time (2x peak) took up a fraction of the total frame time and the next frame time is transmitted during 993. ここで、次のフレーム時間中に、サーバー402は、別の非圧縮フレーム4 964を発生し、それをビデオコンプレッサ404へ出力するが、データは、無視され、974で示されている。 Here, during the next frame time, server 402 generates another uncompressed frame 4 964, but outputs it to video compressor 404, the data is ignored and is indicated by 974. これは、ビデオコンプレッサ404が、手前の圧縮フレームをまだ送信している間に到着する更に別の非圧縮ビデオフレームを無視するように構成されているからである。 This video compressor 404, because is further configured to ignore further uncompressed video frames that arrive while still sending the front of the compressed frame. もちろん、クライアント415のビデオデコンプレッサは、フレーム4を受信せず、2フレームの時間中、フレーム3をディスプレイ装置422に単に表示し続ける(即ち、フレームレートを60fpsから30fpsへ簡単に減少する)。 Of course, the video decompressor client 415, without receiving the frame 4, in the period of two frames, continues to display just the frame 3 to the display device 422 (i.e., briefly reduces to 30fps from 60fps frame rate).

次のフレーム5に対して、サーバー402は、非圧縮フレーム5 965を出力し、これは、圧縮フレーム5 985へと圧縮され、そして送信時間995中の1フレーム以内に送信される。 For the next frame 5, server 402 outputs uncompressed frame 5 965, which is compressed to compressed frame 5 985 and transmitted within 1 frame during transmit time 995. クライアント415のビデオデコンプレッサは、フレーム5を解凍し、ディスプレイ装置422に表示する。 Video decompressor client 415 decompresses frame 5 and displays it on the display device 422. 次いで、サーバー402は、非圧縮フレーム6 966を出力し、ビデオコンプレッサ404は、それを圧縮フレーム6 986へと圧縮するが、このときには、得られるデータが非常に長い。 Then, the server 402 outputs uncompressed frame 6 966, video compressor 404, which compresses it to compressed frame 6 986, at this time, the resulting data is very long. 圧縮フレームは、送信時間(4xピーク)996中にピークデータレート941で送信されるが、フレームを送信するのに、ほぼ4フレームの時間を要する。 Compressed frame is transmitted in the peak data rate 941 during transmit time (4x peak) 996, to transmit the frame, it takes almost 4 frame times. 次の3フレームの時間中に、ビデオコンプレッサ404は、サーバー402からの3フレームを無視し、そしてクライアント415のデコンプレッサは、フレーム6を4フレームの時間中にディスプレイ装置422に着実に保持する(即ち、フレームレートを60fpsから15fpsへ簡単に減少する)。 During the time of the next three frames, video compressor 404 ignores 3 frames from server 402, and decompressor of the client 415, steadily hold the display device 422 the frame 6 in the four frames of time ( in other words, briefly reduces to 15fps frame rate from 60fps). 次いで、最終的に、サーバー402は、フレーム10 970を出力し、ビデオコンプレッサ404は、それを圧縮フレーム10 987へ圧縮し、これは、送信時間997中に送信され、そしてクライアント415のデコンプレッサは、フレーム10を解凍してディスプレイ装置422に表示し、そしてもう一度ビデオが60fpsで再開する。 Then, finally, server 402 outputs frame 10 970, video compressor 404 compresses it into compressed frame 10 987, which is transmitted during transmit time 997, and decompressor client 415 , it is displayed on the display device 422 to decompress the frame 10, and once again the video resumes at 60fps.

ビデオコンプレッサ404は、サーバー402により発生されたビデオストリームからビデオフレームをドロップするが、オーディオがどんな形態で到来するかに関わらずオーディオデータはドロップせず、ビデオフレームがドロップされるときにオーディオデータを圧縮し続けて、それらをクライアント415へ送信し、クライアントは、オーディオデータを解凍し続け、そしてオーディオを、ユーザにより使用される装置へ供給し、オーディオを再生することに注意されたい。 Video compressor 404, which drops video frames from the video stream generated by server 402, audio data regardless of whether the audio comes in any form without dropping, the audio data when video frames are dropped continues to compress, and sends them to the client 415, the client continues to decompress the audio data and the audio is supplied to the device used by the user, it should be noted that play audio. 従って、オーディオは、フレームがドロップされる期間中は非減衰状態を続ける。 Therefore, the audio for the duration of a frame is dropped continues undamped state. 圧縮オーディオは、圧縮ビデオに比して、帯域巾の比較的僅かな割合を消費するだけであり、その結果、全体的なデータレートに大きな影響は及ぼさない。 Compressed audio is different from the compressed video, only consumes a relatively small percentage of bandwidth, as a result, does not adversely large impact on the overall data rate. いずれのデータレート図にも示されていないが、ピークデータレート941内で圧縮オーディオストリームに対して常にデータレート容量が予約されている。 Although not shown in any of the data rate diagrams, always data rate capacity is reserved for the compressed audio stream within the peak data rate 941.

図9bについて上述した例は、データレートピーク中にフレームレートがいかに降下するか示すために選択されたものであるが、先に述べた循環I/Pタイル技術が使用されるときに、そのようなデータレートピーク及びそれによりドロップされるフレームは、ビデオゲーム、動画及びあるアプリケーションソフトウェアにおいて生じるような高いシーン複雑さ/高いアクションのシーケンス中でもまれであることは、示されていない。 Examples described above with reference to FIG. 9b, but are those selected to indicate whether the frame rate is how drops during data rate peaks, when circulating I / P tile techniques described previously are used, such the frames that are dropped, such data rate peaks, and thereby video game it is rare, even in the sequence of high scene complexity / high action as occurs in the moving image and some application software, not shown. 従って、フレームレートの減少は、時々で且つ短時間であり、人間の視覚系は、それを検知しない。 Therefore, reduction of the frame rate is a short time from time to time, the human visual system does not detect it.

上述したフレームレート減少メカニズムが、図9aに示すビデオストリームデータレートに適用される場合に、それにより生じるビデオストリームデータレートが図9cに示されている。 Frame rate reduction mechanism described above, when applied to the video stream data rate illustrated in Figure 9a, the video stream data rate is illustrated in Figure 9c the resulting therefrom. この例では、2xピーク952が平坦な2xピーク953へ減少され、4xピーク955が平坦な4xピーク955へ減少され、そして全ビデオストリームデータレート934がピークデータレート941以下に保たれる。 In this example, reduced 2x peak 952 to a flat 2x peak 953, it is reduced 4x peak 955 to a flat 4x peak 955, and all the video stream data rate 934 is kept below the peak data rate 941.

従って、上述した技術を使用して、高アクションビデオストリームを、一般的なインターネット及び消費者グレードのインターネット接続を通して短い待ち時間で送信することができる。 Thus, using the techniques described above, a high action video stream can be transmitted with low latency through the general Internet connection Internet and consumer grade. 更に、LAN(例えば、100Mbsイーサネット又は802.11gワイヤレス)、或いはプライベートネットワーク(例えば、データセンターとオフィスとの間の100Mbps接続)におけるオフィス環境では、高アクションビデオストリームをピークなしに送信することができ、大勢のユーザ(例えば、4.5Mbpsにおいて60fpsで1920x1080を送信する)が、ネットワーク又はネットワークスイッチバックプレーンを圧倒する重畳ピークをもたずに、LAN又は共有プライベートデータ接続を使用できるようにする。 Furthermore, LAN (e.g., 100 Mbs Ethernet or 802.11g wireless), or a private network (e.g., 100Mbps connections between the data center and an office) in the office environment in, can transmit high action video stream without peak , many users (e.g., transmitting a 1920x1080 at 60fps at 4.5 Mbps) is, without any overwhelming superimposed peaks network or the network switch backplanes, to be able to use the LAN or shared private data connection.

データレートの調整 Adjustment of the data rate
一実施形態では、ホスティングサービス210は、最初、利用可能な最大データレート622及びチャンネルの待ち時間にアクセスして、ビデオストリームのための適当なデータレートを決定し、次いで、それに応答してデータレートを動的に調整する。 In one embodiment, the hosting service 210 initially accesses the maximum data rate 622 and the channel latency available, to determine the appropriate data rate for the video stream, then the data rate in response thereto dynamically adjusted. データレートを調整するために、ホスティングサービス210は、例えば、映像の解像度、及び/又はクライアント415へ送信されるビデオストリームのフレーム数/秒を変更することができる。 To adjust the data rate, the hosting service 210, for example, it is possible to change the number of frames / second of the video stream to be transmitted video resolution and / or to the client 415. 又、ホスティングサービスは、圧縮ビデオのクオリティレベルを調整することもできる。 Also, the hosting service can also adjust the quality level of the compressed video. ビデオストリームの解像度を、例えば、1280x720解像度から640x360へ変更するときに、クライアント415のビデオ解凍ロジック412は、ディスプレイスクリーン上に同じ映像サイズを維持するように映像をスケールアップすることができる。 The resolution of the video stream, for example, when changing from 1280x720 resolution to 640x360, video decompression logic 412 on the client 415 can scale up the image to maintain the same image size on the display screen.

一実施形態では、チャンネルが完全にドロップアウトする状況において、ホスティングサービス210は、ゲームを休止する。 In one embodiment, in a situation where the channel completely drops out, the hosting service 210 pauses the game. マルチプレーヤゲームの場合には、ホスティングサービスは、ユーザがゲームからドロップアウトしたことを他のユーザに報告し、及び/又は他のユーザに対してゲームを休止する。 In the case of multi-player game, the hosting service, the user reports that it has dropped out of the game to other users, and / or pauses the game to other users.

ドロップ又は遅延したパケット Drop or delay packets
一実施形態において、図4a又は4bにおけるビデオコンプレッサ404とクライアント415との間のパケットロスのために、或いはパケットが順序ずれして受け取られて、解凍するには遅過ぎ且つ解凍フレームの待ち時間要件を満足するには遅過ぎる到着であるために、データが失われる場合に、ビデオ解凍ロジック412は、視覚上の欠陥を軽減することができる。 In one embodiment, for packet loss between the video compressor 404 and client 415 in Figures 4a or 4b, or a packet is received by out-of-order, and decompress frame latency requirements too late to decompress for the satisfactory it is arriving too late and when the data is lost, the video decompression logic 412 is able to mitigate the visual artifacts. ストリーミングI/Pフレーム具現化において、失われ/遅延したパケットがある場合には、スクリーン全体に影響が及び、潜在的に、ある期間中スクリーンを完全に凍結させるか、又は他のスクリーン巾の視覚上の欠陥を表示させる。 In a streaming I / P frame implementation, if there is a lost / delayed packet, affects the entire screen Oyobi, potentially, or frozen for a period of time in the screen completely, or visual other screen width to display the defects of the above. 例えば、失われ/遅延したパケットがIフレームの損失を生じさせる場合には、デコンプレッサは、それに続く全てのPフレームに対する基準を、新たなIフレームが受け取られるまで欠くことになる。 For example, packets lost / delay when causing a loss of I frames, the decompressor, the criteria for all the P frames subsequent results in lack until a new I frame is received. Pフレームが失われた場合には、それに続く全スクリーンのためのPフレームに影響を及ぼすことになる。 If the P-frame is lost, it will affect the P frames for the entire screen that follow. Iフレームが現れるまでどれほど長いかに基づき、これは、長い又は短い視覚上の影響となる。 Based on how much longer until an I frame appears, this is a longer or shorter visual impact. 図7a及び7bに示すインターリーブされたI/Pタイルを使用すると、失われ/遅延したパケットは、スクリーン全体に影響を及ぼすおそれが非常に僅かになる。 Using interleaved I / P tiles shown in FIGS. 7a and 7b, the packet lost / delayed, it may affect the entire screen becomes very small. というのは、影響を受けるパケットに含まれたタイルにしか影響しないからである。 That's is because not only affect the tile that has been included in the packet that is affected. 各タイルのデータが個々のパケット内で送信される場合には、パケットが失われた場合に、それが1つのタイルにしか影響しない。 If the data of each tile are transmitted in individual packets, when a packet is lost, it will not only affect one tile. もちろん、視覚上の欠陥の巾は、Iタイルパケットが失われるかどうか、及びPタイルが失われた場合には、Iタイルが現れるまでにどれほど多くのフレームを要するか、に依存する。 Of course, the width of visual defects, when whether an I tile packet is lost, and P tiles is lost, or require how many frames until an I tile appears, to depend. しかし、スクリーン上の異なるタイルがIフレームで頻繁に(潜在的にフレームごとに)更新されるとすれば、スクリーン上の1つのタイルが影響を受ける場合でも、他のタイルは、そうではない。 However, (for each potentially frame) often different tiles on the screen in I-frame should been updated, even if one tile on the screen is affected, other tiles are not. 更に、ある事象が一度に多数のパケットのロスを生じさせる場合には(例えば、DSLラインに続く電力のスパイクでデータ流を短時間中断するもの)、あるタイルが、他のタイル以上に影響を受けるが、あるタイルは、新たなIタイルで素早く更新されるので、短時間影響を受けるだけである。 Further, in the case of causing the loss of an event are a number of packets at a time (e.g., one that briefly disrupts the data flow in the spike in power following the DSL line), there tiles, the influence over other tiles receive, but tile, because it is quickly updated with the new I tile, is only subject to a short period of time influence. 又、ストリーミングI/Pフレーム具現化では、Iフレームが最も重要なフレームであるだけでなく、非常に大きなフレームでもあり、従って、ドロップされ/遅延されたパケットを生じさせる事象がある場合には、Iフレームが影響を受ける確率が、非常に小さなIタイルより高くなる(即ち、Iフレームが一部分でも失われた場合には、Iフレームを解凍できる見込みが全くなくなる)。 Further, the streaming I / P frame implementation, not only I-frame is the most important frame, there also very large frame, therefore, if there is an event that causes a dropped / delayed packet, the probability that I frame is affected is higher than the very small I tile (that is, if the I frame is lost in part, at all there is no prospect that can extract the I frame). これら全ての理由で、I/Pタイルを使用すると、パケットがドロップされ/遅延されるときに、視覚上の欠陥は、I/Pフレームの場合より遥かに少なくなる。 In all these reasons, using I / P tiles, when the packet is being / delayed drop, visual defects on is much less than for I / P-frame.

一実施形態では、圧縮されたタイルをTCP(送信コントロールプロトコル)パケット又はUDP(ユーザデータグラムプロトコル)パケット内にインテリジェントにパッケージすることにより失われたパケットの作用を減少することが試みられる。 In one embodiment, an attempt is made to reduce the effect of lost packets by packaging intelligently compressed tiles TCP (transmission control protocol) packets or UDP (User Datagram Protocol) in the packet. 例えば、一実施形態では、タイルが、可能であれば、パケット境界に整列される。 For example, in one embodiment, tiles, if possible, be aligned to the packet boundary. 図10aは、この特徴を具現化せずに、タイルを一連のパケット1001−1005内にどのようにパックするか示す。 Figure 10a without embodying this feature is shown how to pack the tiles into a series of packets 1001-1005. より詳細には、図10aにおいて、単一パケットのロスが複数のフレームのロスを生じるように、タイルがパケット境界に交差し、非効率的にパックされる。 More particularly, in FIG. 10a, the loss of a single packet to produce a loss of multiple frames, tiles intersect packet boundaries, it is inefficiently packed. 例えば、パケット1003または1004が失われる場合に、3つのタイルが失われ、視覚上の欠陥を招く。 For example, if a packet 1003 or 1004 are lost, three tiles are lost, resulting in visual artifacts.

対称的に、図10bは、パケットロスの作用を減少するためにパケット内にタイルをインテリジェントにパッキングするためのタイルパッキングロジック1010を示す。 By contrast, Figure 10b illustrates tile packing logic 1010 for packing tiles intelligently within packets to reduce the effect of packet loss. 第1に、タイルパッキングロジック1010は、タイルをパケット境界に整列させる。 First, the tile packing logic 1010 aligns tiles packet boundaries. 従って、タイルT1、T3、T4、T7及びT2は、各々、パケット1001−1005の境界に整列される。 Thus, tiles T1, T3, T4, T7 and T2, respectively, are aligned to the boundary of packets 1001-1005. 又、タイルパッキングロジックは、パケット境界に交差せずに、考えられる最も効率的な仕方で、パケット内にタイルを嵌合させることも試みる。 Moreover, the tile packing logic, without intersecting the packet boundary, with most likely efficient manner, tried fitting the tile in the packet. 各タイルのサイズに基づいて、タイルT1及びT6は、1つのパケット1001内で合成され、T3及びT5は、1つのパケット1002内で合成され、タイルT4及びT8は、1つのパケット1003内で合成され、タイルT8は、パケット1004に追加され、そしてタイルT2は、パケット1005に追加される。 Based on the size of each tile, the tiles T1 and T6 are combined in one packet 1001, the T3 and T5 are combined in one packet 1002, tiles T4 and T8 are combined in one packet 1003 is, tile T8 is added to the packet 1004, and tile T2 is added to the packet 1005. 従って、このスキムのもとでは、単一パケットのロスは、(図10aに示す3つのタイルではなく)2つ以下のタイルのロスを招くことになる。 Thus, under this scheme, the loss of a single packet, which leads to loss of (rather than three tiles shown in FIG. 10a) 2 or fewer tiles.

図10bに示す実施形態に対する1つの付加的な利益は、タイルが、映像内に表示されるのとは異なる順序で送信されることである。 One additional benefit to the embodiment shown in Figure 10b, tile, is to be transmitted in a different order as they appear in the image. このように、隣接パケットが送信を妨げる同じ事象から失われた場合に、スクリーン上の互いに近隣でないエリアに影響を及ぼし、ディスプレイ上の欠陥をあまり目立たなくする。 Thus, if adjacent packets are lost from the same event interfering with transmission, it affects the area not close to each other on the screen, to not less noticeable defects on the display.

一実施形態では、順方向エラー修正(FEC)技術を使用して、ビデオストリームの幾つかの部分をチャンネルエラーから保護する。 In one embodiment, using a forward error correction (FEC) techniques to protect certain portions of the video stream from channel errors. この技術で知られているように、リードソロモン及びビタビのようなFEC技術は、エラー修正データ情報を発生して、通信チャンネルを経て送信されるデータに添付させる。 As is known in the art, FEC techniques such as Reed-Solomon and Viterbi is to generate error correction data information, is attached to the data to be transmitted over the communication channel. 基礎的なデータ(例えば、Iフレーム)にエラーが発生した場合には、FECを使用して、エラーを修正することができる。 Basic data (e.g., I-frame) if an error occurs can be used to FEC, to correct the error.

FECコードは、送信のデータレートを高め、従って、理想的には、それらが最も必要とされるところに使用されるだけである。 FEC codes increase the data rate of the transmission, therefore, ideally, they are only used where they are most needed. 非常に目立つ視覚上の欠陥を生じないデータが送信される場合には、データを保護するためにFECコードを使用しないのが好ましい。 If that does not cause visual defects highly visible data is transmitted is preferably not to use FEC codes to protect the data. 例えば、失われるIタイルの直前のPタイルは、スクリーン上に1/60秒だけ視覚上の欠陥を生じさせる(即ち、スクリーン上のタイルは更新されない)。 E.g., P tile immediately preceding the I tile that is lost will, on the screen only 1/60 second cause defects of visual (i.e., the tile on the screen will not be updated). このような視覚上の欠陥は、人間の目でかろうじて検知できる。 Defects on such visual, barely detected by the human eye. PタイルがIタイルから更に後方にある場合には、Pタイルを失うと、益々目立つことになる。 If the P tiles are more backward from the I tile, lose P tiles, it will be more noticeable. 例えば、タイルサイクルパターンが、Iタイルの後に15個のPタイルが続き、その後、Iタイルが再び得られるというものである場合、Iタイルの直後のPタイルが失われると、そのタイルは、15フレームの時間中誤った映像を示すことになる(60fpsでは、それは、250msである)。 For example, a tile cycle pattern, followed by 15 P tiles after I tile, then, when is that I tile is obtained again, the P tile immediately following an I tile is lost, the tiles 15 It will indicate the time in erroneous video frames (in 60 fps, which is 250ms). 人間の目は、250ms間のストリームの中断は容易に検知する。 The human eye, interruption of the stream between 250ms is easily detected. 従って、Pタイルが新たなIタイルから更に後方にあるほど(即ち、Pタイルがより接近してIタイルに続くほど)、欠陥がより目立ったものになる。 Thus, as the P tiles are more rearward from a new I tile (i.e., the more subsequent I tile closer a P tile), the what the defect is more noticeable. 上述したように、一般的に、Pタイルがより接近してIタイルに続くほど、そのPタイルに対するデータがより小さくなる。 As described above, in general, the more subsequent I tile closer together is P tiles, the data for that P tile becomes smaller. 従って、Iタイルに続くPタイルは、失われないよう保護するのがより重要であるだけでなく、サイズが小さいことも重要である。 Thus, P tiles following I tiles not only are more important to protect not lost, it is also important size is small. そして、一般的に、保護される必要のあるデータが小さいほど、それを保護するために必要なFECコードも小さくなる。 Then, in general, the more data that needs to be protected, the smaller FEC code required to protect it.

従って、図11aに示すように、一実施形態では、ビデオストリームにおけるIタイルの重要性のために、IタイルだけにFECコードが与えられる。 Accordingly, as shown in FIG. 11a, in one embodiment, because of the importance of I tiles in the video stream, FEC code is given only to the I tiles. 従って、FEC1101は、Iタイル1100に対するエラー修正コードを含み、そしてFEC1104は、Iタイル1103に対するエラー修正コードを含む。 Therefore, FEC1101 includes error correction code for I tile 1100 and FEC1104 includes error correction code for I tile 1103. この実施形態では、Pタイルに対してFECは発生されない。 In this embodiment, FEC is not generated for the P tiles.

図11bに示す一実施形態では、失われた場合に視覚上の欠陥を生じさせるおそれが最もあるPタイルについてもFECコードが発生される。 In one embodiment, shown in FIG. 11b, a possibility to cause visual artifacts if lost the FEC codes are also generated for the most P tiles. この実施形態では、FEC1105は、最初の3つのPタイルに対してエラー修正コードを与えるが、それに続くPタイルについては与えない。 In this embodiment, FEC1105 provide error correction codes for the first three P tiles, but not give the P tiles that follow. 別の実施形態では、データサイズが最も小さいPタイルについてFECコードが発生される(Iタイルの後に最も早く発生して、保護することが最も重要なPタイルを自己選択する傾向がある)。 In another embodiment, the data size is the smallest P tiles FEC code is generated (the most quickly occurs after the I tiles tend to self-select the most significant P tiles to protect).

別の実施形態では、FECコードをタイルと共に送信するのではなく、タイルが2回、そのたびに異なるパケットで、送信される。 In another embodiment, rather than sending an FEC code with a tile, the tile is twice, each time in a different packet, is transmitted. 1つのパケットが失われ/遅延された場合には、他のパケットが使用される。 If one packet is lost / delayed, the other packet is used.

図11cに示す一実施形態では、FECコード1111及び1113は、ビデオと同時にホスティングサービスから送信されるオーディオパケット1110及び1112に対して各々発生される。 In one embodiment, shown in FIG. 11c, FEC codes 1111 and 1113 are respectively generated for audio packets 1110 and 1112 are transmitted from the video concurrently with the hosting service. ビデオストリームにおいてオーディオの完全性を維持することが特に重要である。 It is particularly important to maintain the integrity of the audio in a video stream. というのは、歪んだオーディオ(例えば、カチカチ音又はスー音)は、特に望ましからぬユーザの経験を招くからである。 Because, distorted audio (for example, ticking sound or Sue sound) is because lead to a user's experience particularly undesirable. FECコードは、オーディオコンテンツがクライアントコンピュータ415において歪なくレンダリングされることを保証する上で助けとなる。 FEC code helps in ensuring that the audio content is rendered without distortion at the client computer 415.

別の実施形態では、FECコードをオーディオデータと共に送信するのではなく、オーディオデータが2回、そのたびに異なるパケットで、送信される。 In another embodiment, rather than sending an FEC code with audio data, the audio data twice, each time in a different packet, is transmitted. 1つのパケットが失われ/遅延された場合には、他のパケットが使用される。 If one packet is lost / delayed, the other packet is used.

更に、図11dに示す一実施形態では、クライアント415からホスティングサービス210へと上流に送信されるユーザ入力コマンド1120及び1122(例えば、ボタン押圧)に対してFECコード1121及び1123が各々使用される。 Furthermore, in one embodiment illustrated in FIG. 11d, the user input commands 1120 and 1122 are sent from the client 415 and the upstream to the hosting service 210 (e.g., button press) FEC code 1121 and 1123 are used respectively against. これは重要である。 This is important. というのは、ビデオゲーム又はアプリケーションにおいてボタン押圧又はマウス移動が欠落すると、望ましからぬユーザ経験を招くからである。 Because, when the button press or a mouse movement is missing in a video game or application, because lead to undesirable user experience.

別の実施形態では、FECコードをユーザ入力コマンドデータと共に送信するのではなく、ユーザ入力コマンドデータが2回、そのたびに異なるパケットで、送信される。 In another embodiment, rather than sending an FEC code with user input command data, the user input command data twice, each time in a different packet, is transmitted. 1つのパケットが失われ/遅延された場合には、他のパケットが使用される。 If one packet is lost / delayed, the other packet is used.

一実施形態では、ホスティングサービス210がクライアント415との通信チャンネルのクオリティを評価して、FECを使用すべきかどうか決定し、もしそうであれば、ビデオ、オーディオ及びユーザコマンドのどの部分にFECを適用すべきか決定する。 In one embodiment, the hosting service 210 evaluates the quality of the communication channel with the client 415, applied to determine whether to use FEC, if so, video, a FEC to which part of the audio and user commands to determine should be. チャンネルの「クオリティ」を評価することは、上述したように、パケットロス、待ち時間、等を評価するようなファンクションを含む。 Evaluating the "quality" of the channel, as described above, including the functions such as evaluating packet loss, latency, and the like. チャンネルに特に信頼性がない場合には、ホスティングサービス210は、Iタイル、Pタイル、オーディオ及びユーザコマンドの全てにFECを適用することができる。 When there is no particularly reliable channel, the hosting service 210 may apply FEC to all of I tiles, P tiles, audio and user commands. 対照的に、チャンネルに信頼性がある場合には、ホスティングサービス210は、オーディオ及びユーザコマンドのみにFECを適用するか、又はオーディオ又はビデオにFECを適用するか、或いはFECを全く使用しない。 In contrast, if the channel is reliable, the hosting service 210, to apply the FEC only to audio and user commands, or audio or applying the FEC to a video, or not used at all with FEC. これら基礎的な原理に依然合致しながら、FECの適用の種々の他の順列を使用することができる。 While still complying with these underlying principles may be used various other permutations of FEC applications. 一実施形態では、ホスティングサービス210は、チャンネルの状態を常時監視し、それに応じてFECポリシーを変更する。 In one embodiment, the hosting service 210 monitors the state of the channel at all times, to change the FEC policy accordingly.

別の実施形態では、図4a及び4bを参照すれば、パケットが失われ/遅延されてタイルデータを失うことになるか、又はおそらく特に悪いパケット損失のために、FECが、失われたタイルデータを修正できない場合には、クライアント415は、新たなIタイルが受け取られる前にどれほど多くのフレームが残っているか評価し、それをクライアント415からホスティングサービス210への往復待ち時間と比較する。 In another embodiment, referring to FIGS. 4a and 4b, if the packet is lost / delayed in will lose tile data, or perhaps especially for poor packet loss, the tile data FEC is lost If unable to fix, the client 415 assesses whether there remain how many frames before a new I tile is received, compares it from the client 415 and round trip latency to the hosting service 210. その往復待ち時間が、新たなIタイルが当然到着するまでのフレームの数より少ない場合には、クライアント415は、新たなIタイルを要求するメッセージをホスティングサービス210へ送信する。 The round trip latency is, if less than the number of frames until new I tile is of course arrive, the client 415 sends a message requesting a new I tile to the hosting service 210. このメッセージは、ビデオコンプレッサ404へルーティングされ、このコンプレッサは、データが失われたところのタイルに対してPタイルを発生するのではなく、Iタイルを発生する。 This message is routed to the video compressor 404, this compressor, rather than generating a P tile against a tile where the data is lost, it generates an I tile. 図4a及び4bに示すシステムが、典型的に80ms未満の往復待ち時間を与えるように設計されているとすれば、それにより、タイルが80ms以内に修正される(60fpsにおいて、フレームは、16.67msの巾であり、従って、全フレームの時間において、80msの待ち時間で、5フレームの時間である83.33ms以内にタイルが修正され、即ち、これは、目立った中断であるが、例えば、15フレームに対する250msの中断よりは遥かに目立たないものである)。 The system shown in FIGS. 4a and 4b, if typically them as being designed to provide a round trip latency of less than 80 ms, thereby, tile is corrected within 80 ms (at 60 fps, the frame is 16. a width of 67 ms, therefore, the time for all frames, in latency 80 ms, the tile is corrected within the time of 5 frames 83.33Ms, i.e., this is a noticeable interruption, for example, than interruption of 250ms for 15 frames are those which do not much noticeable). コンプレッサ404がその通常の循環順序からIタイルを発生するときに、Iタイルによりそのフレームの帯域巾が利用可能な帯域巾を越える場合は、コンプレッサ404は、他のタイルのサイクルを遅延させて、他のタイルがそのフレーム時間中にPタイルを受け取るようにし(1つのタイルが通常そのフレーム中に当然Iタイルであるべき場合でも)、次いで、次のフレームでスタートして、通常の循環が続き、そして通常はその手前のフレームでIタイルを受信するタイルが、Iタイルを受信するようにする。 When the compressor 404 generates an I tile from its normal circulation order, when exceeding the bandwidth bandwidth is available for the frame by the I tiles, compressor 404 delays the cycle of other tiles, to receive P tiles other tiles during that frame time (one tile even if normal should naturally I tile during that frame), then, starting with the next frame, the normal circulation continued , and usually tiles receives an I tile in the previous frame is, so as to receive an I tile. このアクションは、Rフレーム循環の位相を短時間遅延するが、通常は、視覚上、目立つものではない。 This action is delayed a short time the phase of the R frame circulating normally, visual, it does not stand out.

ビデオ及びオーディオコンプレッサ/デコンプレッサ具現化 Video and audio compressor / decompressor embodying
図12は、マルチコア及び/又はマルチプロセッサ1200を使用して8枚のタイルを並列に圧縮する1つの特定の実施形態を示す。 Figure 12 illustrates one particular embodiment for compressing the 8 tiles using multicore and / or multi-processor 1200 in parallel. 一実施形態では、2.66GHz以上で動作するデュアルプロセッサ・クオドコアXeon CPUコンピュータシステムが使用され、各コアは、オープンソースx264 H. In one embodiment, is used a dual processor Kuodokoa Xeon CPU computer system running at least 2.66GHz, each core is an open source x264 H. 264コンプレッサを独立プロセスとして具現化する。 264 embodying the compressor as an independent process. しかしながら、これら基礎的な原理に依然合致しながら、種々の他のハードウェア/ソフトウェアコンフィギュレーションが使用されてもよい。 However, while still complying with these underlying principles, various other hardware / software configurations may be used. 例えば、CPUコアの各々を、FPGAで具現化されるH. For example, each CPU core, is embodied in FPGA H. 264コンプレッサに置き換えることができる。 It can be replaced with 264 compressor. 図12に示す例では、コア1201−1208を使用して、Iタイル及びPタイルを8個の独立したスレッドとして同時に処理する。 In the example shown in FIG. 12, using the core 1201-1208, simultaneously process I tiles and P tiles as eight independent threads. この技術で良く知られているように、現在のマルチコア及びマルチプロセッサコンピュータシステムは、本来、Microsoft Windows XPプロフェッショナルエディション(64ビット又は32ビットエディション)及びLinuxのようなマルチスレッドオペレーティングシステムと一体化されたときにマルチスレッディング可能である。 As is well known in the art, current multi-core and multi-processor computer systems are inherently integrated with Microsoft Windows XP Professional Edition (64-bit or 32-bit edition) and multi-threaded operating system such as Linux it is possible to multithreading when.

図12に示す実施形態では、8個のコアの各々は、1つのタイルについてのみ役立つので、x264の個別インスタンス生成を各々実行する他のコアとは主として独立して動作する。 In the embodiment shown in FIG. 12, each of the eight core because it helps only one tile, operates mainly independently of the other core to perform each individual instantiation of x264. PCI Express x1ベースのDVI捕獲カード、例えば、オランダ、オーステルハウトのマイクロトロニクスからのセンデロ・ビデオ・イメージングIPデベロープメント・ボードを使用して、640x480、800x600、又は1280x720解像度で非圧縮ビデオを捕獲し、そしてこのカードのFPGAは、直接メモリアクセス(DMA)を使用して、DVIバスを経て捕獲されたビデオをシステムRAMへと転送する。 PCI Express x1-based DVI capture card, for example, capture the Netherlands, using the Sendero Video Imaging IP Debe rope instrument board from micro Toro Nix of Oosterhout, the non-compressed video in 640x480,800x600, or 1280x720 resolution and, and FPGA of the card uses direct memory access (DMA), and transfers the captured video through the DVI bus into system RAM. タイルは、4x2配列1205に配列される(それらは、方形タイルとして示されているが、この実施形態では、160x240解像度である)。 Tiles are arranged in 4x2 array 1205 (they are shown as square tiles, in this embodiment, a 160x240 resolution). x264の各インスタンス化は、8個の168x240タイルの1つを圧縮するように構成され、そしてそれらは、最初のIタイル圧縮の後に、各コアがサイクルに入り、各1つのフレームが他のフレームと位相ずれし、1つのIタイル、その後、7つのPタイルを圧縮するように、図12に示すように、同期される。 Each instantiation of x264 is configured to compress one of the 8 168x240 tiles, and they are, first after the I tiles compression, each core enters the cycle, each one frame of the other frame a shifted phase, one I tile, then, to compress the seven P tiles, as shown in FIG. 12, it is synchronized.

フレーム時間ごとに、得られた圧縮されたタイルが、上述した技術を使用して、パケットストリームへと合成され、次いで、その圧縮されたタイルが、行先クライアント415へ送信される。 For each frame time, compressed tiles were obtained, using the techniques described above, is combined into a packet stream, then the compressed tiles are transmitted to a destination client 415.

図12には示されていないが、合成される8枚のタイルのデータレートが特定のピークデータレート941を越える場合には、その合成される8枚のタイルのデータが送信されてしまうまで必要に応じて多数のフレームの時間中、全部で8x264のプロセスが保留される。 Although not shown in FIG. 12, when the data rate of the 8 tiles synthesized exceeds the specific peak data rate 941, required until the data of eight tiles whose synthesis has been transmitted during the time of a number of frames, the process of total 8x264 are reserved in accordance with the.

一実施形態では、クライアント415は、FFmpegの8個のインスタンスを実行するPCにおいてソフトウェアとして具現化される。 In one embodiment, client 415 is implemented as software in a PC running 8 instances of FFmpeg. 受信プロセスは、8枚のタイルを受信し、そして各タイルは、FFmpegへルーティングされ、これは、タイルを解凍して、ディスプレイ装置422上の適当なタイル位置にレンダリングする。 Receiving process receives the 8 tiles, and each tile is routed to FFmpeg, which decompresses the tile and renders a suitable tile location on the display device 422.

クライアント415は、PCの入力装置ドライバからキーボード、マウス、又はゲームコントローラ入力を受け取り、そしてそれをサーバー402へ送信する。 The client 415 receives keyboard from the PC input device driver, mouse, or game controller input, and sends it to the server 402. サーバー402は、次いで、その受け取った入力装置データを、サーバー402で実行されるゲーム又はアプリケーションに適用し、サーバー402は、Intel 2.16GHzCore Duo CPUを使用してWindowsを実行するPCである。 Server 402 then the received input device data, applied to the game or application running on the server 402, server 402 is a PC running Windows using Intel 2.16GHzCore Duo CPU. 次いで、サーバー402は、新たなフレームを発生し、そしてそのDVI出力を通して、マザーボードベースのグラフィックシステムから、或いはNVIDIA8800GTX PCIエクスプレスカードのDVI出力を通して、それを出力する。 Then, the server 402 generates a new frame, and through its DVI output, from the motherboard-based graphics system, or through DVI output NVIDIA8800GTX PCI Express card, and outputs it.

同時に、サーバー402は、ゲーム又はアプリケーションにより形成されたオーディオを、そのデジタルオーディオ出力(例えば、S/PDIF)を通して出力し、これは、ビデオ圧縮を具現化するデュアルクオドコアXeonベースPCのデジタルオーディオ入力に結合される。 At the same time, the server 402, audio formed by game or applications, and output through the digital audio output (e.g., S / PDIF), which is a digital audio input dual Kuo-core Xeon-based PC that embody video compression It is coupled to. Vorbisオープンソースオーディオコンプレッサは、プロセススレッドに対して利用可能なコアを使用して、オーディオをビデオと同時に圧縮するように使用される。 Vorbis open source audio compressor uses a core available for the process thread is used to compress audio and video at the same time. 一実施形態では、タイルの圧縮を完了するコアが、オーディオ圧縮を最初に実行する。 In one embodiment, complete core compression tiles, to perform the audio compression first. 圧縮されたオーディオは、次いで、圧縮されたビデオと共に送信され、そしてクライアント415においてVorbisオーディオデコンプレッサを使用して解凍される。 Compressed audio is then transmitted along with the compressed video, and is decompressed using the Vorbis audio decompressor at the client 415.

ホスティングサービスサーバーセンター配布 Hosting service server center distribution
光ファイバのようなガラスを通る光は、真空中の光の速度の一部分で進行し、従って、光ファイバにおける光の厳密な伝播速度を決定することができる。 Light passing through the glass, such as optical fiber proceeds in a portion of the speed of light in a vacuum, thus, it is possible to determine the exact propagation speed of light in the optical fiber. しかし、実際には、ルーティング遅延の時間、送信の非効率さ、及び他のオーバーヘッドを考慮すると、インターネット上の最適な待ち時間は、光速のほぼ50%の送信速度を反映することが観察される。 However, in practice, the time of the routing delay, inefficiencies of the transmission, and in consideration of the other overhead, the optimum waiting time on the Internet, are observed to reflect approximately 50% of the transmission speed of the speed of light . 従って、最適な1000マイル往復待ち時間は、約22msであり、そして最適な3000マイル往復待ち時間は、約64msである。 Therefore, the optimal 1000 miles round trip latency is about 22 ms, and the optimal 3000 miles round trip latency is about 64 ms. 従って、米国の一方の海岸にある単一のサーバーは、(3000マイル程度離れた)他方の海岸にあるクライアントに望ましい待ち時間でサービスするには離れ過ぎている。 Thus, a single in the US one coast server is too far to the service at the desired latency clients in coast (3,000 miles around away) the other. しかしながら、図13aに示すように、ホスティングサービス210のサーバーセンター1300が、米国の中央部(例えば、カンザス、ネブラスカ、等)に位置されて、米国大陸の任意の点までの距離が約1500マイル以下となる場合には、往復インターネット待ち時間を32ms程度に小さくすることができる。 However, as shown in Figure 13a, the server center 1300 hosting service 210, the central portion of the United States (e.g., Kansas, Nebraska, etc.) are located in the following distance is about 1500 miles to any point in the continental US when a can reduce the round trip Internet latency to approximately 32 ms. 図4bを参照すれば、ユーザISP453に許された最悪のケースの待ち時間は、典型的に、25msであるが、DSL及びケーブルモデムシステムでは、10から15msに近い待ち時間が観察されていることに注意されたい。 Referring to Figure 4b, the worst-case latencies allowed for the user ISP453 is, typically a 25 ms, the DSL and cable modem systems, the waiting time is observed near 10 to 15ms It should be noted. 又、図4bは、ユーザの家屋211からホスティングセンター210までの最大距離が1000マイルであると仮定している。 Also, Figure 4b, the maximum distance from the user premises 211 to the hosting center 210 is assumed to be 1000 miles. 従って、15msの典型的なユーザISP往復待ち時間が使用され、32msの往復待ち時間に対して1500マイルの最大インターネット距離では、ユーザが入力装置421を操作しそしてディスプレイ装置422上に応答を見る点からの合計往復待ち時間は、1+1+15+32+1+16+6+8=80msとなる。 Thus, a typical user ISP round trip latency of 15ms is used, the maximum Internet distance 1500 miles for round trip latency of 32 ms, the user operates the input device 421 and the point to see a response on display device 422 the total round trip latency from becomes 1 + 1 + 15 + 32 + 1 + 16 + 6 + 8 = 80ms. 従って、80msの応答時間が、典型的に、1500マイルのインターネット距離にわたって得られる。 Therefore, the response time of 80ms is typically achieved over Internet distance 1500 miles. これは、米国大陸において充分短いユーザISP待ち時間453をもつユーザの家屋が、中央部に位置する単一のサーバーにアクセスできるようにする。 This user premises with a short enough user ISP latency 453 in the continental US is, to access a single server located in the central portion.

図13bに示した別の実施形態では、ホスティングサービス210のサーバーセンターHS−1ないしHS6が、米国(又は他の地理的領域)に戦略的に配置され、ある大きなホスティングサービスサーバーセンター(例えば、HS2及びHS5)は、人口の多いセンターの付近に配置される。 In another embodiment shown in FIG. 13b, the server center HS-1 to HS6 hosting service 210, strategically placed in US (or other geographical region), a large hosting service server centers in (e.g., HS2 and HS5) is located in the vicinity of the populous center. 一実施形態では、サーバーセンターHS1ないしHS6は、インターネット又はプライベートネットワーク或いはその両方の組合せであるネットワーク1301を経て情報を交換する。 In one embodiment, to server centers HS1 HS6 exchange information via a network 1301 is the Internet or a private network or a combination of both. 複数のサーバーセンターがある状態では、長いユーザISP待ち時間453をもつユーザに対して短い待ち時間でサービスを提供することができる。 In a state in which there are multiple server centers, it is possible to provide a service in a short latency to users with long user ISP latency 453.

インターネット上の距離は、確実に、インターネットを通しての往復待ち時間に貢献するファクタであるが、時々、待ち時間にあまり関係のない他のファクタが影響するようになる。 Distance on the Internet is certainly, is a factor that contributes to round trip latency through the Internet, sometimes so other factors affect much unrelated to latency. 時々、パケットストリームがインターネットを通して離れた位置へルーティングされそして再び戻り、長いループから待ち時間を招く。 Sometimes, to and back again routed to position the packet stream leaves through the Internet, causing a waiting time from the long loop. 時々、適切に動作しないルーティング装置が経路上にあり、送信遅延を招く。 Sometimes, a routing device does not work properly is on the route, causing the transmission delay. 時々、経路に過負荷となるトラフィックがあって、遅延を導入する。 Sometimes, if there is traffic to be overloaded route, it introduces a delay. そして、時々、ユーザのISPが所与の行先へルーティングされるのを全く阻止する故障が生じる。 And sometimes, fault occurs the ISP users completely prevents the routed to a given destination. 従って、一般的なインターネットは、通常、距離により主として決定される非常に信頼性のある最適なルート及び待ち時間で(特に、ユーザのローカルエリアの外部へのルートを生じさせる長距離接続で)、ある点から別の点への接続を与えるが、このような信頼性及び待ち時間は、保証されるものではなく、多くの場合、ユーザの家屋から一般的なインターネット上の所与の行先まで得ることができない。 Thus, the general Internet usually predominantly very best route and latency reliable determined by distance (especially with long distance connections that causes a route to the outside of the local area of ​​the user), It gives a connection from one point to another, such reliability and latency is not intended to be guaranteed, often obtained from the user premises to a given destination on the general Internet it can not be.

一実施形態では、ユーザクライアント415が、最初にホスティングサービス210に接続して、ビデオゲームをプレイするか又はアプリケーションを使用するときに、クライアントは、始動時に利用可能なホスティングサービスサーバーセンターHS1ないしHS6の各々と通信する(例えば、上述した技術を使用して)。 In one embodiment, the user client 415, to first connect to the hosting service 210, when you use or application to play the video game, the client, to hosting service server centers HS1 not available at the start of the HS6 communicate with each (e.g., using the techniques described above). 特定の接続に対して待ち時間が充分短い場合には、その接続が使用される。 If latency is short enough for a particular connection, then that connection is used. 一実施形態では、クライアントは、最短待ち時間接続をもつものが選択されたところのホスティングサービスサーバーセンターの全部又はサブセットと通信する。 In one embodiment, the client, those with the shortest waiting time connection to communicate with all or a subset of the hosting service server centers was selected. クライアントが最短待ち時間接続をもつサービスセンターを選択してもよいし、又はサービスセンターが最短的時間接続をもつものを識別しそしてこの情報を(例えば、インターネットアドレスの形態で)クライアントに与えてもよい。 Client may select the service center with the lowest latency connection or the service center to identify those with connecting shortest temporal and the information (e.g., in the form of an Internet address) be given to the client good.

特定のホスティングサービスサーバーセンターが過負荷状態になり及び/又はユーザのゲーム又はアプリケーションが、別の負荷の少ないホスティングサービスサーバーセンターへの待ち時間を許容できる場合には、クライアント415は、他のホスティングサービスサーバーセンターに向け直される。 Particular hosting service server center is overloaded and / or the user of the game or application, when an acceptable latency to less hosting service server center of a different load, the client 415, other hosting service It is redirected to the server center. このような状況では、ユーザが実行しているゲーム又はアプリケーションは、ユーザの過負荷状態にサーバーセンターにおけるサーバー402上で休止され、そしてゲーム又はアプリケーションの状態データは、別のホスティングサービスサーバーセンターにおけるサーバー402へ転送される。 In such a situation, the game or application the user is running, paused on the server 402 in the server center overloaded users, and the game or application state data of the server in another hosting service server center It is transferred to the 402. 次いで、ゲーム又はアプリケーションが再開される。 Then, the game or application is resumed. 一実施形態では、ホスティングサービス210は、ゲーム又はアプリケーションが自然の休止点(例えば、ゲームにおけるレベル間、又はユーザがアプリケーションにおいて「セーブ」オペレーションを開始した後)に到達して転送を行うまで、待機する。 In one embodiment, the hosting service 210, the game or application the natural resting point (e.g., between levels in a game, or the user after starting the "save" operation in application) to perform the transfer to reach the standby to. 更に別の実施形態では、ホスティングサービス210は、ユーザのアクティビティが特定の期間中(例えば1分間)休止するまで待機し、次いで、その時点で転送を開始する。 In yet another embodiment, the hosting service 210 waits until the user of the activity pause during a particular period (e.g., 1 minute), then initiate the transfer at that time.

上述したように、一実施形態では、ホスティングサービス210は、そのクライアントに保証された待ち時間を与えるよう試みるために、図14のインターネットバイパスサービス440に契約する。 As described above, in one embodiment, the hosting service 210, to attempt to provide guaranteed latency to its clients subscribing to Internet bypass service 440 of Figure 14. ここで使用されるインターネットバイパスサービスとは、保証された特性(例えば、待ち時間、データレート、等)をもつインターネットにおいてある点から別の点へのプライベートネットワークルートを与えるサービスである。 The Internet bypass services, as used herein, guaranteed characteristics (e.g., latency, data rate, etc.) is a service that gives the private network route to another point from a certain point in the Internet with. 例えば、ホスティングサービス210が、AT&Tのサンフランシスコベースの中央オフィスへのルーティングではなく、サンフランシスコで提供されるAT&TのDSLサービスを利用してユーザから大量のトラフィックを受信した場合に、ホスティングサービス210は、サンフランシスコベースの中央オフィスと、ホスティングサービス210のための1つ以上のサービスセンターとの間のサービスプロバイダー(おそらくAT&Tそれ自体又は別のプロバイダー)から大容量のプライベートデータ接続をリースすることができる。 For example, if the hosting service 210, rather than routing to San Francisco-based central offices AT & T, which has received a large amount of traffic from users using the DSL service AT & T provided in San Francisco, the hosting service 210, San Francisco and the base of the central office, it is possible to lease a private data connection from the service provider (perhaps AT & T itself or another provider) of large capacity between one or more of the service center for the hosting service 210. 次いで、全てのホスティングサービスサーバーセンターHS1ないしHS6から一般的なインターネットを経てAT&TのDSLを使用するサンフランシスコのユーザへのルートが非常に長い待ち時間を生じる場合には、それに代わって、プライベートデータ接続を使用することができる。 Then, if the root to all of the hosting service server centers HS1 to San Francisco of the user through the general Internet using a DSL of AT & T from HS6 results in a very long wait time, on its behalf, a private data connection it can be used. プライベートデータ接続は、一般的に、一般的なインターネットを通るルートより費用が高いが、それがユーザへのホスティングサービス210接続の僅かな割合に保たれる限り、全コストへの影響は低く、ユーザは、より一貫したサービスを経験することになる。 Private data connections are generally although cost than route through the general Internet, so long as it is kept small percentage of the hosting service 210 connections to users, the impact on the total costs low, the user You will experience a more consistent service.

サービスセンターは、多くの場合、停電時に2層のバックアップ電源を有する。 Service Center, in many cases, have a backup power supply of the two layers in the event of a power failure. 第1の層は、典型的に、バッテリから(又は発電機に取り付けられてランニング状態に保たれるフライホイールのような別の直ちに利用できるエネルギー源から)のバックアップ電源であって、主電源が停電したときに直ちに電力を供給して、サーバーセンターをランニング状態に保持する。 The first layer, typically a backup power supply from the battery (attached to or generator from another immediately available energy source, such as a flywheel is kept running state), the main power supply immediately supply power to the event of a power failure, to hold the server center in the running state. 停電が短時間で、主電源が素早く(例えば、1分以内に)回復する場合には、バッテリは、全て、サーバーセンターをランニング状態に保持するために必要とされる。 Power failure in a short time, the main power supply quickly in the case where (e.g., within 1 minute) to recover the battery are all required to hold the server center running. しかし、停電が長期間である場合には、典型的に、発電機(例えば、ジーゼル付勢)が始動され、バッテリを引き継いで、燃料がある限り運転することができる。 However, if the power failure for a long period of time is typically generators (e.g., biased diesel) is started, taking over the battery, it can be operated as long as there is fuel. このような発電機は、サーバーセンターが通常主電源から得るのと同程度の電力を発生できねばならないので、非常に高価である。 Such a generator, because the server center must be able to generate the same degree of power and to obtain from the normal main power, is very expensive.

一実施形態では、ホスティングサービスHS1ないしHS5の各々は、互いにユーザデータを共有し、1つのサーバーセンターが停電した場合に、進行中のゲーム及びアプリケーションを休止し、次いで、ゲーム又はアプリケーションの状態データを各サーバー402から他のサーバーセンターのサーバー402へ転送し、そして各ユーザのクライアント415に通知して、新たなサーバー402と通信するように指令する。 In one embodiment, each of from hosting services HS1 HS5 share user data with one another, if one server center has a power failure, pause the games and applications in progress, then the game or application state data transferred from the server 402 of the other server centers to server 402, and notifies the client 415 of each user, it instructs so as to communicate with the new server 402. このような状態が頻繁に生じないとすれば、最適な待ち時間を与えることのできないホスティングサービスサーバーセンターへのユーザの転送を受け容れることができ(即ち、ユーザは、単に停電期間中に長い待ち時間を許容するだけでよく)、これは、ユーザを転送するための非常に広範囲のオプションを許す。 If such a state does not occur frequently, it is possible to accept the transfer of the user to the hosting service server centers that can not provide optimal latency (ie, the user is simply a long wait during a power outage period it is only necessary to allow time), which allows a very wide range of options for transferring users. 例えば、米国を横切る時間ゾーン差が与えられると、東海岸のユーザは、PM11時30分には就寝するが、PM8時30分の西海岸のユーザは、ビデオゲームの使用がピークになり始めている。 For example, the time zone differences across the US, given the East Coast of the user is going to bed for 30 minutes at PM11, West Coast users 30 pm PM8, the use of video games have started to peak. その時間に西海岸のホスティングサービスサーバーセンターに停電が生じた場合に、他のホスティングサービスサーバーセンターには、全てのユーザを取り扱うに充分な西海岸サーバー402が存在しないことがある。 In such a case a power failure in the hosting service server center of the west coast occurs in time, to the other hosting service server center, there may not be sufficient west coast server 402 to handle all of the user exists. このような状況では、利用できるサーバー402を有する東海岸のホスティングサービスサーバーセンターへあるユーザを転送することができ、それらユーザに対してのみ長い待ち時間となる。 In such situations, it is possible to transfer the user with the hosting service server centers on the East Coast with server 402 available, the latency only for those users. ユーザが、停電したサーバーセンターから転送されると、サーバーセンターは、次いで、そのサーバー及び装置の整然とした遮断を開始し、バッテリ(又は他の即座の電源バックアップ)が尽きるまでに全ての装置を遮断することができる。 Blocking the user, is transferred from the power failure the server centers, server center, then initiate an orderly shut-off of the server and device, all the devices until the battery (or other immediate power backup) is exhausted can do. このように、サーバーセンター用の発電機のコストを回避することができる。 In this way, it is possible to avoid the cost of a generator for the server center.

一実施形態では、ホスティングサービス210の激しい負荷の時間中に(ピークユーザ負荷によるか、又は1つ以上のサーバーセンターが停電したために)、ユーザは、彼等が使用しているゲーム又はアプリケーションの待ち時間要件に基づいて他のサーバーセンターへ転送される。 In one embodiment, during times of heavy loading of the hosting service 210 (for either by peak user load, or one or more server centers loses power), the user, the game or waiting application you are using It is transferred to the other server center on the basis of the time requirements. 従って、短待ち時間を要求するゲーム又はアプリケーションを使用しているユーザは、電源に制限があるときに、利用可能な短待ち時間サーバー接続への優先権が与えられる。 Accordingly, the user using the game or application requiring short latency, when there is a power limit is given priority to the available low latency server connections.

ホスティングサービスの特徴 Features of the hosting service
図15は、以下の特徴説明に使用されるホスティングサービス210のためのサーバーセンターのコンポーネントの実施形態を示す。 Figure 15 shows an embodiment of a server center of a component for the hosting service 210 for use in the feature described below. 図2aに示されたホスティングサービス210と同様に、サーバーセンターのコンポーネントは、特に指示のない限り、ホスティングサービス210の制御システム401により制御され整合される。 Similar to the hosting service 210 illustrated in Figure 2a, the components of server centers are unless otherwise indicated, are controlled by the control system 401 of the hosting service 210 are aligned.

ユーザクライアント415からのインバウンドインターネットトラフィック1501は、インバウンドルーティング1502に向けられる。 Inbound internet traffic 1501 from user clients 415 is directed to inbound routing 1502. 典型的に、インバウンドインターネットトラフィック1501は、インターネットへの高速光ファイバ接続を経てサーバーセンターに入るが、適当な帯域巾、信頼性及び短待ち時間のネットワーク接続手段で充分である。 Typically, inbound internet traffic 1501 will enter the server center via a high-speed fiber optic connection to the Internet, an appropriate bandwidth is sufficient network connection means reliability and low latency. インバウンドルーティング1502は、ネットワーク(ネットワークは、イーサネットネットワーク、ファイバチャンネルネットワークとして、或いは他の搬送手段を経て具現化できる)スイッチ、及びスイッチをサポートするルーティングサーバーのシステムであり、これは、到着するパケットを取り上げ、そして各パケットを適当なアプリケーション/ゲーム(app/game)サーバー1521−1525へルーティングする。 Inbound routing 1502 network (network Ethernet networks, as fiber channel network, or other transport means may be embodied through) switch, and a routing server of a system that supports the switch, which is a packet arriving taken, and routes each packet to the appropriate application / game (app / game) server 1521 -1525. 一実施形態では、特定のapp/gameサーバーに配送されるパケットは、クライアントから受信されたデータのサブセットを表し、及び/又はデータセンター内の他のコンポーネント(例えば、ゲートウェイ及びルーターのようなネットワークコンポーネント)によって変換/変更されてもよい。 In one embodiment, the packets to be delivered to a particular app / game server represents a subset of the data received from the client, and / or other components (e.g., gateways and network components such as routers in the data center it may be converted / modified by). あるケースでは、例えば、ゲーム又はアプリケーションが複数のサーバー上で並列に一度実行される場合に、パケットが一度に2つ以上のサーバー1521−1525へルーティングされる。 In some cases, for example, when the game or application runs once in parallel on multiple servers, the packet is routed to more than one server 1521 -1525 at a time. RAIDアレイ1511−1512は、インバウンドルーティングネットワーク1502へ接続され、app/gameサーバー1521−1525がそれらRAIDアレイ1511−1512の読み取り及び書き込みを行えるようにする。 RAID array 1511-1512 are connected to the inbound routing network 1502, app / game server 1521 -1525 is to allow read and write their RAID arrays 1511-1512. 更に、RAIDアレイ1515(複数のRAIDアレイとして具現化できる)も、インバウンドルーティング1502に接続され、RAIDアレイ1515からのデータは、app/gameサーバー1521−1525から読み出すことができる。 Furthermore, (can be embodied as multiple RAID arrays) RAID arrays 1515 is also connected to the inbound routing 1502, data from RAID array 1515 can be read from app / game server 1521 -1525. インバウンドルーティング1502は、インバウンドインターネットトラフィック1501を根にもつスイッチのツリー構造、全ての種々の装置を相互接続するメッシュ構造、或いは相互通信装置間の集中トラフィックが他の装置間の集中トラフィックから分離されるようにして相互接続された一連のサブネットを含めて、広範囲な従来のネットワークアーキテクチャーで具現化することができる。 Inbound routing 1502 is a tree structure of switches with inbound internet traffic 1501 to the root, the mesh structure interconnecting all of the various devices or centralized traffic between each other communication device is separated from the central traffic between other devices manner, including a series of subnets interconnected, can be embodied in a wide range of conventional network architecture. ネットワークコンフィギュレーションの一形式は、SANであり、これは、典型的に記憶装置として使用されるが、装置間の一般的な高速データ転送に使用することもできる。 One type of network configuration is a SAN, which is typically used as a memory device, may also be used for general high-speed data transfer between devices. 又、app/gameサーバー1521−1525は、各々、インバウンドルーティング1502への複数のネットワーク接続を有する。 Moreover, app / game server 1521-1525 may each have multiple network connections to the inbound routing 1502. 例えば、サーバー1521−1525は、RAIDアレイ1511−1512に取り付けられたサブネットへのネットワーク接続と、他の装置に取り付けられたサブネットへの別のネットワーク接続とを有することができる。 For example, the server 1521-1525 may have a network connection to a subnet attached to RAID arrays 1511-1512, and another network connection to a subnet attached to other devices.

app/gameサーバー1521−1525は、図4aに示す実施形態におけるサーバー402に関して上述したように、全部が同じに、幾つかが異なるように、又は全部が異なるように構成されてもよい。 app / game server 1521-1525, as described above with respect to the server 402 in the embodiment shown in Figure 4a, the whole is the same, some in different manner, or all of them may be configured differently. 一実施形態では、各ユーザは、ホスティングサービスを利用するときに、典型的に、少なくとも1つのapp/gameサーバー1521−1525を使用する。 In one embodiment, each user, when using the hosting service typically uses at least one app / game server 1521 -1525. 説明を簡略化するため、所与のユーザがapp/gameサーバー1521を使用すると仮定するが、1人のユーザが複数のサーバーを使用することができると共に、複数のユーザが単一のapp/gameサーバー1521−1525を共有することができる。 To simplify the explanation, it is assumed that the given user is using the app / game server 1521, together with one user able to use multiple servers, multiple users of a single app / game it is possible to share the server 1521 - 1525. 上述したようにクライアント415から送られるユーザ制御入力は、インバウンドインターネットトラフィック1501として受け取られ、そしてインバウンドルーティング1502を通してapp/gameサーバー1521へルーティングされる。 User control inputs sent from the client 415 as described above is received as inbound Internet traffic 1501, and is routed through inbound routing 1502 to app / game server 1521. app/gameサーバー1521は、ユーザの制御入力を、サーバー上で実行されるゲーム又はアプリケーションへの制御入力として使用し、そしてビデオ及びそれに関連したオーディオの次のフレームを計算する。 app / game server 1521, a control input of a user, and used as a control input to the game or application running on the server, and computes the next frame of audio associated video and therewith. 次いで、app/gameサーバー1521は、非圧縮のビデオ/オーディオ1529を共有ビデオ圧縮1530へ出力する。 Then, app / game server 1521 then outputs the video / audio 1529 uncompressed to shared video compression 1530. app/gameサーバーは、非圧縮のビデオを、1ギガビット以上のイーサネット接続を含む手段を経て出力できるが、一実施形態では、ビデオがDVI接続を経て出力され、そしてオーディオ及び他の圧縮並びに通信チャンネル状態情報は、ユニバーサルシリアルバス(USB)接続を経て出力される。 app / game server, the uncompressed video can be output via the means comprising one gigabit or more Ethernet connections, in one embodiment, the video is output via a DVI connection and the audio and other compression and communication channel state information is output via a Universal serial bus (USB) connection.

共有ビデオ圧縮1530は、app/gameサーバー1521ないし1525からの非圧縮ビデオ及びオーディオを圧縮する。 Shared video compression 1530 compresses the uncompressed video and audio from the app / game server 1521 through 1525. 圧縮は、完全にハードウェアで具現化されてもよいし、又はハードウェア実行ソフトウェアで具現化されてもよい。 Compression, completely may be embodied in hardware, or in hardware running software may be embodied. 各app/gameサーバー1521ないし1525に対する専用コンプレッサがあってもよいし、又はコンプレッサが充分高速である場合には、所与のコンプレッサを使用して、2つ以上のapp/gameサーバー1521ないし1525からのビデオ/オーディオを圧縮することができる。 It may be a dedicated compressor for each app / game server 1521 to 1525, or if the compressor is fast enough, from using a given compressor, to more than one app / game server 1521 1525 it is possible to compress the video / audio. 例えば、60fpsでは、ビデオフレーム時間は、16.67msである。 For example, the 60 fps, the video frame time is 16.67 ms. コンプレッサがフレームを1msで圧縮できる場合には、そのコンプレッサを使用して、16個程度のapp/gameサーバー1521ないし1525からのビデオ/オーディオを圧縮することができ、これは、あるサーバーからの入力を別のサーバーの後に取り上げ、コンプレッサが各ビデオ/オーディオ圧縮プロセスの状態をセーブし、そしてコンテクストを、それがサーバーからのビデオ/オーディオストリーム間で循環するときにスイッチすることにより行われる。 If the compressor can compress a frame in 1ms, using the compressor, to 16 or so app / game servers 1521 can compress the video / audio from 1525, which is input from one server taken up after another server, compressor saving the state of each video / audio compression process and the context, it is done by switches when circulating between video / audio streams from the server. その結果、圧縮ハードウェアにおいて実質的なコスト節約が得られる。 As a result, substantial cost savings can be obtained in the compression hardware. 異なるサーバーが異なる時間にフレームを完了するので、一実施形態では、コンプレッサリソースが、各圧縮プロセスの状態を記憶するための共有記憶手段(例えば、RAM、フラッシュ)と共に共有プール1530にあり、サーバー1521−1525のフレームが完了して圧縮の準備ができると、制御手段は、どの圧縮リソースがそのとき利用できるか決定し、圧縮リソースに、サーバーの圧縮プロセスの状態と、圧縮すべき非圧縮ビデオ/オーディオのフレームとを与える。 Because different server to complete a frame at different times, in one embodiment, the compressor resources, the shared storage means for storing the state of the compression process (e.g., RAM, Flash) located in the shared pool 1530 with server 1521 when ready frame is to completion of compression of -1525, the control means, which compression resource is determined whether available at that time, the compressed resource, and status of the server compression process, to be compressed uncompressed video / give the audio of the frame.

各サーバーの圧縮プロセスの状態の一部分は、圧縮それ自体に関する情報、例えば、Pタイルの基準として使用できる以前のフレームの解凍フレームバッファデータ、ビデオ出力の解像度;圧縮のクオリティ;タイル構造;タイル当たりのビットの割り当て;圧縮のクオリティ、オーディオフォーマット(例えば、ステレオ、サラウンドサウンド、Dolby(登録商標)、AC−3)を含むことに注意されたい。 A portion of the state of the compression process of each server, the information about the compression itself, for example, decompressed frame buffer data of the previous frame that can be used as a reference for P tiles, the resolution of the video output; compression quality; tile structure; per tile bit allocation; compression quality, the audio format (e.g., stereo, surround sound, Dolby (registered trademark), AC-3) Note that including. しかし、圧縮プロセスの状態は、ピークデータレート941に関する通信チャンネル状態情報、以前のフレーム(図9bに示す)が現在出力されるかどうか(その結果、現在フレームを無視すべきかどうか)、そして潜在的に、圧縮に考慮すべきチャンネル特性、例えば、圧縮の判断に影響する過剰なパケットロス(例えば、Iタイルの頻度、等に関して)があるかどうか、も含む。 However, the state of the compression process, the communication channel state information regarding the peak data rate 941, whether (a result, whether to ignore the current frame) previous frame (shown in FIG. 9b) is currently output, and potentially , the channel characteristic to consider compression, for example, excessive packet loss affecting the determination of the compression (e.g., the frequency of I tiles, with respect etc.) whether there is, also includes. クライアント415から送られるデータを監視する各ユーザをサポートするapp/gameサーバー1521−1525により決定されるように、ピークデータレート941又は他のチャンネル特性が時間と共に変化するときに、app/gameサーバー1521−1525は、共有ハードウェア圧縮1530へ関連情報を送信する。 As determined by the app / game server 1521-1525 supporting each user monitoring data sent from the client 415, when the peak data rate 941 or other channel characteristics change over time, app / game server 1521 -1525 is, to send the relevant information to the shared hardware compression 1530.

又、共有ハードウェア圧縮1530は、上述したような手段を使用して、圧縮されたビデオ/オーディオをパケット化し、そしてもし適当であれば、FECコードを適用し、あるデータを複写し、又は他のステップを行って、ビデオ/オーディオデータストリームをクライアント415により受信しそしてできるだけ高いクオリティ及び信頼性で解凍するという能力を充分に確保するようにする。 Further, the shared hardware compression 1530 uses the means described above, the compressed video / audio packetized, and if appropriate, to apply the FEC codes, copied certain data, or other performing the steps, receiving video / audio data stream by the client 415 and so as to sufficiently ensure the ability to thaw at highest possible quality and reliability.

以下に述べるような幾つかのアプリケーションでは、所与のapp/gameサーバー1521−1525のビデオ/オーディオ出力を同時に複数の解像度で(又は他の複数のフォーマットで)得られることが要求される。 In some applications, such as described below, the video / audio output of a given app / game server 1521-1525 simultaneously on multiple resolutions (or other in multiple formats) to be obtained is required. 従って、app/gameサーバー1521−1525が共有ハードウェア圧縮1530のリソースを通知する場合には、そのapp/gameサーバー1521−1525の非圧縮ビデオ/オーディオ1529が、異なるフォーマット、異なるリソース、及び/又は異なるパケット/エラー修正構造で同時に圧縮される。 Therefore, if the app / game server 1521 -1525 notifies the resource of the shared hardware compression 1530, uncompressed video / audio 1529 of that app / game server 1521 -1525, different formats, different resources, and / or It is simultaneously compressed in different packet / error correction structures. あるケースでは、幾つかの圧縮リソースを、同じビデオ/オーディオを圧縮する複数の圧縮プロセス間で共有することができる(例えば、多くの圧縮アルゴリズムには、圧縮を適用する前に映像を複数のサイズにスケーリングするステップがある。異なるサイズの映像を出力することが要求される場合に、このステップを使用して、一度に多数の圧縮プロセスに応じることができる)。 In some cases, some compression resources can be shared among multiple compression process for compressing the same video / audio (e.g., in many compression algorithms, multiple sizes image before applying compression If there is the step of scaling. is possible to output images of different sizes are required, using this step, it is possible to respond to a large number of compression process at a time) to. 他のケースでは、フォーマットごとに個別の圧縮リソースが要求される。 In other cases, separate compression resources for each format is required. いずれにせよ、所与のapp/gameサーバー1521−1525に要求される全ての種々の解像度及びフォーマットの圧縮されたビデオ/オーディオ1539は、(1つであっても多数であっても)アウトバウンドルーティング1540へ一度に出力される。 In any case, all of the various resolutions and formats the compressed video / audio required for a given app / game server 1521 -1525 1539, (even number be one) outbound routing It is output at a time to 1540. 一実施形態では、圧縮されたビデオ/オーディオ1539の出力はUDPフォーマットであり、従って、パケットの位置方向性ストリームである。 In one embodiment, the output of the compressed video / audio 1539 is UDP format, therefore, the position directional stream of packets.

アウトバウンドルーティングネットワーク1540は、圧縮された各ビデオ/オーディオストリームを、アウトバウンドインターネットトラフィック1599インターフェイス(これは、典型的に、インターネットへのファイバインターフェイスに接続される)を通して意図されたユーザ(1人又は複数)又は他の行先へ向け、及び/又は遅延バッファ1515へ戻し、及び/又はインバウンドルーティング1502へ戻し、及び/又はビデオ配布のためにプライベートネットワーク(図示せず)を通して向ける一連のルーティングサーバー及びスイッチを備えている。 Outbound routing network 1540, each video / audio stream compressed, outbound Internet traffic 1599 interface (which is typically connected to the fiber interface to the Internet) the user intended through (one or more) or other towards destinations, and / or back to the delay buffer 1515, and / or back to the inbound routing 1502, and / or comprises a series of routing servers and switches for directing through a private network (not shown) for video distribution ing. (以下に述べるように)アウトバウンドルーティング1540は、所与のビデオ/オーディオストリームを一度に複数の行先へ出力できることに注意されたい。 (Hereinafter, as described) the outbound routing 1540 Note that a given video / audio stream can be output to multiple destinations at once. 一実施形態では、これは、一度に複数の行先へストリーミングされることが意図された所与のUDPストリームをブロードキャストし、そしてこのブロードキャストをアウトバウンドルーティング1540内のルーティングサーバー及びスイッチにより繰り返すようなインターネットプロトコル(IP)マルチキャストを使用して具現化される。 In one embodiment, this is to broadcast a given UDP stream which is intended to be streamed to multiple destinations at once, and Internet protocols, such as repeating the broadcast a routing server and switches in the outbound routing 1540 (IP) is implemented using multicast. ブロードキャストの複数の行先は、インターネットを経て複数のユーザのクライアント415、インバウンドルーティング1502を経て複数のapp/gameサーバー1521−1525、及び/又は1つ以上の遅延バッファ1515である。 Broadcast Multiple destination, a plurality of user clients 415 via the Internet, multiple app / game servers via inbound routing 1502 1521-1525, and / or one or more delay buffers 1515. 従って、所与のサーバー1521−1522の出力は、1つ又は複数のフォーマットへ圧縮され、そして各圧縮されたストリームは、1つ又は複数の行先へ向けられる。 Therefore, the output of a given server 1521-1522 is compressed into one or multiple formats, and streams each compressed is directed to one or more destinations.

更に、別の実施形態では、複数のapp/gameサーバー1521−1525が1人のユーザにより同時に使用され(例えば、複雑なシーンの3D出力を生成するために並列処理構成で)そして各サーバーが出来上がる映像の一部分を発生する場合には、複数のサーバー1521−1525のビデオ出力を共有ハードウェア圧縮1530により合成フレームへと合成することができ、そしてその点以降は、それが単一のapp/gameサーバー1521−1525から到来したかのように、上述したように取り扱われる。 Further, in another embodiment, a plurality of app / game server 1521-1525 is simultaneously used by one user (e.g., in a parallel processing configuration to create the 3D output of a complex scene) and be ready is each server when generating the portion of the image may be composited into the composite frame by shared hardware compression 1530 to video output of a plurality of servers 1521 -1525, and after that point, it is a single app / game as if coming from the server 1521-1525, it is treated as described above.

一実施形態では、app/gameサーバー1521−1525により発生される全ビデオのコピー(少なくともユーザが見るビデオの解像度又はそれ以上)が、少なくとも数分(一実施形態では、15分)、遅延バッファ1515に記録されることに注意されたい。 In one embodiment, a copy of all video generated by app / game server 1521 -1525 (least user video resolution or more watching) is, at least several minutes (in one embodiment, 15 minutes), a delay buffer 1515 it should be noted that to be recorded in. これは、各ユーザが、以前の働き又は成績(ゲームの場合)を再検討するために各セッションからビデオを「巻き戻し」できるようにする。 This is, each user, to be able to "rewind" the video from each session in order to re-examine previous acts or performance (in the case of a game). 従って、一実施形態では、ユーザクライアント415へルーティングされる圧縮された各ビデオ/オーディオ出力1539のストリームは、遅延バッファ1515へもマルチキャストされる。 Accordingly, in one embodiment, the stream of each video / audio output 1539 that is compressed is routed to the user client 415 is also multicast to the delay buffer 1515. ビデオ/オーディオが遅延バッファ1515に記憶されるときには、遅延バッファ1515のディレクトリが、遅延されたビデオ/オーディオのソースであるapp/gameサーバー1521−1525のネットワークアドレスと、遅延されたビデオ/オーディオを見つけることのできる遅延バッファ1515上の位置との間の相互参照を与える。 When the video / audio is stored in the delay buffer 1515, a directory of the delay buffer 1515, locate the network address of the app / game server 1521 -1525 that is the source of the delayed video / audio, the delayed video / audio It provides a cross-reference between a location on the delay buffer 1515 which can.

生の、瞬時に見られる、瞬時にプレイ可能なゲーム Raw, instantly seen, playable game in an instant
app/gameサーバー1521−1525は、ユーザのための所与のアプリケーション又はビデオゲームを実行するのに使用できるだけでなく、ホスティングサービス210によるナビゲーション及び他の特徴をサポートするホスティングサービス210のためのユーザインターフェイスアプリケーションを生成するのにも使用できる。 app / game server 1521-1525 is the user interface for a given well can be used to run the application or video game, the hosting service 210 that supports navigation and other features according to the hosting service 210 for users It can also be used to generate an application. 1つのこのようなユーザインターフェイスアプリケーションのスクリーンショットが図16に示されており、即ち「ゲームファインダー」スクリーンである。 One screen shot of such user interface application is shown in Figure 16, that is, "Game Finder" screen. この特定のユーザインターフェイススクリーンは、ユーザが、他のユーザにより生で(又は遅延されて)プレイされている15のゲームを見ることができるようにする。 This particular user interface screen allows a user, a raw by another user (or delayed) to be able to see the play has been has 15 games. 1600のような「サムネール」ビデオウインドウの各々は、動きのある生のビデオウインドウで、1人のユーザのゲームから1つのビデオを示している。 Each of a "thumbnail" video window as of 1600, in a live video window in motion, shows one of the video from one of the user of the game. サムネールに示される視野は、ユーザが見ている同じ視野でもよいし、遅延された視野でもよい(例えば、ユーザがコンバットゲームをプレイする場合、ユーザは、自分がどこに隠れているか他のユーザから見えるのを望まず、又、ゲームプレイの視野を、ある期間、例えば、10分遅らせることを選択してもよい)。 Field of view is shown in the thumbnail, it may be in the same field of view looking at the user, the case may be in a delayed field of view (for example, for the user to play a combat game, the user is, visible to other users if he is hidden where the without wishing to, also, the field of view of the game play, it is a period of time, for example, be selected to be delayed 10 minutes). 又、視野は、ユーザの視野とは異なるゲームのカメラ視野でもよい。 In addition, the field of view, may be in the camera field of view of a different game from the user of the field of view. メニュー選択肢(この図には示さず)を通して、ユーザは、種々の基準に基づいて、一度に見るゲームの選択を選ぶことができる。 Through menu selections (This is not shown), the user, based on various criteria, can be selected to select the game to see at one time. 例示的選択の小さな例として、ユーザは、(図16に示すような)ゲームのランダムな選択、(異なるプレーヤにより全てプレイされる)一種類の全てのゲーム、ゲームのトップランクプレーヤのみ、ゲームの所与のレベルのプレーヤ、低いランクのプレーヤ(例えば、プレーヤが基礎を学習している場合)、「相棒」(又はライバル)であるプレーヤ、視聴者の最も多いゲーム、等を選ぶことができる。 As small example of exemplary selected, the user (as shown in FIG. 16) a random selection of games (all different played by the player) one or all of the game, the game top-ranked players only, the game a given level players, lower rank of the player (for example, if the player is learning the basics), players are "buddy" (or competitor), it is possible to choose the most frequent games, etc. of the viewer.

一般的に、各ユーザは、自分のゲーム又はアプリケーションからのビデオが他人に見られるかどうか判断し、もしそうであれば、どんな他人、いつ他人に見られるか、遅れて見られるだけかどうか、判断することに注意されたい。 In general, each user, it is determined whether or not the video from their game or application can be seen by others, and if so, what kind of others, when to be seen by others, whether only be seen with a delay, it should be noted that to determine.

図16に示すユーザインターフェイススクリーンを発生するapp/gameサーバー1521−1525は、ゲームが要求される各ユーザについてapp/gameサーバー1521−1525へメッセージを送信することにより15個のビデオ/オーディオフィードを取得する。 app / game server generates a user interface screen shown in FIG. 16 1521 - 1525, acquires the 15 video / audio feeds by sending a message for each user game is required to app / game server 1521 -1525 to. このメッセージは、インバウンドルーティング1502又は別のネットワークを通して送信される。 This message is sent through the inbound routing 1502 or another network. このメッセージは、要求されたビデオ/オーディオのサイズ及びフォーマットを含み、ユーザインターフェイススクリーンを見ているユーザを識別する。 This message includes the size and format of the requested video / audio, identify the user viewing the user interface screen. 所与のユーザは、「プライバシー」モードを選択し、他のユーザが彼のゲームのビデオ/オーディオを(彼の視点又は別の視点から)見るのを許さないことを選ぶか、或いは前記段落で述べたように、ユーザは、彼のゲームからのビデオ/オーディオを見るのを許すが、見るビデオ/オーディオを遅らせることを選んでもよい。 A given user, select the "privacy" mode, or choose to not allow the other user to view his game of the video / audio (from his point of view or another point of view), or in the preceding paragraph as mentioned, the user, but allow to see the video / audio from his game, may choose to delay the watch video / audio. ビデオ/オーディオを見ることを許すための要求を受け取って受け容れるユーザapp/gameサーバー1521−1525は、要求側サーバーに確認を送り、共有ハードウェア圧縮1530に、要求されたフォーマット又はスクリーンサイズで付加的な圧縮されたビデオストリームを発生する要求も通知し(フォーマット及びスクリーンサイズが、既に発生されたものとは異なると仮定すれば)、そしてその圧縮されたビデオの行先(即ち、要求側サーバー)も指示する。 User app / game server 1521-1525 that accept receiving a request to allow to view the video / audio, sends a confirmation to the requesting server, the shared hardware compression 1530, added in the requested format or screen size demand for generating a compression video stream and notifies (format and screen size, if different from the assumptions and those already generated), and destination of the compressed video (i.e., the requesting server) also instruct. 要求されたビデオ/オーディオが遅延されるだけである場合には、要求側app/gameサーバー1521−1525は、そのように通知され、そして遅延バッファ1515のディレクトリにおけるビデオ/オーディオの位置と、遅延されたビデオ/オーディオのソースであるapp/gameサーバー1521−1525のネットワークアドレスとをルックアップすることにより、遅延バッファ1515から遅延されたビデオ/オーディオを取得する。 If the requested video / audio is only delayed, the requesting app / game server 1521 -1525 is so notified, and the position of the video / audio in the directory of the delay buffer 1515 is delayed a network address of the app / game server 1521-1525 that is the source of the video / audio by looking up a obtains the delayed video / audio from a delay buffer 1515. これらの要求が全て発生されて処理されると、15までの生のサムネールサイズのビデオストリームが、アウトバウンドルーティング1540から、app/gameサーバー1521−1525へのインバウンドルーティング1502へルーティングされて、ユーザインターフェイススクリーンを発生し、そしてサーバーにより解凍されて表示される。 When these requests are processed is generated all video streams of live thumbnail size up 15, from the outbound routing 1540, it is routed to the inbound routing 1502 to app / game server 1521 -1525, the user interface screen the generated, and are displayed in a decompressed by the server. 遅延されたビデオ/オーディオストリームは、スクリーンサイズが大き過ぎることがあり、もしそうであれば、app/gameサーバー1521−1525は、ストリームを解凍して、ビデオストリームをサムネールサイズへスケールダウンする。 Delayed video / audio streams, it may be the screen size is too large, and if so, app / game server 1521-1525, unzip the stream, to scale down the video stream to thumbnail size. 一実施形態では、オーディオ/ビデオのための要求が、図4aのホスティングサービス制御システムと同様の中央「管理」サービス(図15には示さず)へ送られ(及びそれにより管理され)、これは、次いで、その要求を適当なapp/gameサーバー1521−1525へ向け直す。 In one embodiment, requests for audio / video, a similar central "Management" and hosting service control system of Figure 4a services (managed by it and) to be sent (not shown in FIG. 15), which is and then redirects the request to the appropriate app / game server 1521 - 1525. 更に、一実施形態では、サムネールが、それを許すユーザのクライアントへ「プッシュ」されるので、要求が発せられないこともある。 Furthermore, in one embodiment, thumbnails, because it is "pushed" to the user of the client that allows it, sometimes the request is not issued.

全て同時に混合される15個のゲームからのオーディオは、不快な音を発することがある。 Audio from 15 games all mixed simultaneously may emit an unpleasant sound. ユーザは、このように全ての音を一緒に混合することを選んでもよいし(おそらく、見ている全てのアクションにより生じる騒音の感覚を単に得るために)、又はユーザは、一度に1つのゲームからのオーディオのみを聞くことを選んでもよい。 The user may choose to mix this way all sound together (presumably, in order to simply get a sense of the noise caused by all the action being viewed), or the user, at a time one game You may choose to hear only the audio from. 単一ゲームの選択は、黄色の選択ボックス1601を所与のゲームへ移動することにより達成される(黄色のボックスの移動は、キーボード上の矢印キーを使用するか、マウスを移動するか、ジョイスティックを動かすか、又は移動電話のような別の装置の方向ボタンを押すことにより達成できる)。 Either a single game selection of the movement of the the (yellow box accomplished by moving the yellow selection box 1601 to a given game, use the arrow keys on the keyboard, moving the mouse, joystick It is achieved by pressing the direction buttons to move, or another device such as a mobile phone). 単一のゲームが選択されると、そのゲームからのオーディオだけが再生される。 When a single game is selected, just the audio from that game is played. 又、ゲーム情報1602も示される。 In addition, game information 1602 is also shown. このゲームの場合には、例えば、発行者ロゴ(“EA”)及びゲームロゴ“Need for Speed Carbon”、及びオレンジの水平バーは、その特定の瞬間にゲームをプレイするか又は見ている人々の数を相対的な表現で指示する(この場合は、多数、従って、ゲームは、「ホット」)。 In the case of this game, for example, the issuer logo ( "EA") and the game logo "Need for Speed ​​Carbon", and orange horizontal bar is, of people who have seen or to play a game at the moment of that particular indicating the number of relative expression (in this case, many, therefore, the game is "hot"). 更に、「スタッツ(Stats)」も設けられ、これは、145人のプレーヤがNeed for Speed Gameの80個の異なるインスタンス化を能動的にプレイしており(即ち、個人プレーヤゲーム又はマルチプレーヤゲームのいずれかによりプレイできる)、そして680人の視聴者がいる(このユーザは、そのうちの1人である)ことを示している。 In addition, "stats (Stats)" is also provided, which is, of the 145 people player has been actively playing 80 different instantiations of the Need for Speed ​​Game (ie, individual player games or multi-player games be played by any), and there are 680 viewers (this user shows a a) that one of them. これらの統計値(及び他の統計値)は、ホスティングサービス210のオペレーションのログを保持すると共に、ユーザに適宜請求し、又、コンテンツを提供する発行者に支払するために、ホスティングサービス制御システム401により収集され、そしてRAIDアレイ1511−1512に記憶される。 These statistics (and other statistics) holds the operation log of the hosting service 210, as appropriate and according to the user, also, in order to pay to the issuer that provides content, the hosting service control system 401 It is collected by and stored in the RAID array 1511-1512. 統計値のあるものは、サービス制御システム401によりアクションによって記録され、そしてあるものは、個々のapp/gameサーバー1521−1525によりサービス制御システム401へ報告される。 Some of the statistics are recorded by the action by the service control system 401, and some are, are reported by the individual app / game server 1521 -1525 to the service control system 401. 例えば、この「ゲームファインダー」アプリケーションを実行するapp/gameサーバー1521−1525は、ゲームを見ているとき(及びゲームを見終えたとき)ホスティングサービス制御システム401へメッセージを送信し、どれほど多くのゲームが見られているかの統計値を更新できるようにする。 For example, app / game server 1521-1525 to perform this "Game Finder" application, (when I finished watching the and game) when you're watching the game sends a message to the hosting service control system 401, how many games to be able to update one of the statistics have been observed. 統計値のあるものは、この「ゲームファインダー」アプリケーションのようなユーザインターフェイスアプリケーションに利用される。 Some of the statistics are available to the user interface applications, such as the "Game Finder" application.

ユーザは、入力装置のアクチベーションボタンをクリックした場合に、フルスクリーンサイズへの生の状態を保ちながら黄色のボックス内のサムネールビデオをズームアップして見ることができる。 The user, if you click the activation button of the input device, it is possible to see a thumbnail video in the yellow box to zoom up while maintaining the raw state to full screen size. この効果が図17のプロセスに示されている。 This effect is shown in the process of FIG. 17. ビデオウインドウ1700は、サイズが増大していることに注意されたい。 Video window 1700, should be noted that the size is increased. この効果を具現化するために、app/gameサーバー1521−1525は、選択されたゲームを実行しているapp/gameサーバー1521−1525から、そこにルーティングされたゲームのフルスクリーンサイズのビデオストリームのコピーを取ることを要求する(ユーザのディスプレイ装置422の解像度で)。 To realize this effect, the app / game server 1521 - 1525, from the app / game server 1521 -1525 running the selected game, there routed game video stream full screen size requesting to take copies (at the resolution of the user of the display device 422). ゲームを実行しているapp/gameサーバー1521−1525は、共有ハードウェアコンプレッサ1530に、ゲームのサムネールサイズのコピーがもはや必要ない(別のapp/gameサーバー1521−1525がそのようなサムネールを要求しない限り)ことを通知し、次いで、ビデオのフルスクリーンサイズコピーを、ビデオをズームしているapp/gameサーバー1521−1525へ送信することを指令する。 Game and are app / game server running 1521 - 1525 is, in the shared hardware compressor 1530, there is no longer need a copy of the thumbnail size of the game (another app / game server 1521 - 1525 does not require such a thumbnail only) notification that, then, the full-screen size copy of the video, an instruction to be sent to the app / game server 1521-1525 zooming the video. ゲームをプレイしているユーザは、ゲームをズームアップしているユーザと同じ解像度のディスプレイ装置422を有していても、いなくてもよい。 User playing the game, have the same resolution of the display device 422 as the user has zoomed game may or may not have. 更に、ゲームを見る他の者も、ゲームをズームアップしているユーザと同じ解像度のディスプレイ装置422を有していても、いなくてもよい(且つ異なるオーディオ再生手段、例えば、ステレオ又はサラウンドサウンドを有してもよい)。 Further, other viewers of the game, even if game have the same resolution of the display device 422 as the user is zoomed or may not have (and different audio playback means, e.g., stereo or surround sound it may have). 従って、共有ハードウェアコンプレッサ1530は、ビデオ/オーディオストリームを要求しているユーザの要件を満足する適当に圧縮されたビデオ/オーディオストリームが既に発生されたかどうか決定し、もしそれが存在する場合には、ビデオをズームしているapp/gameサーバー1521−1525へストリームのコピーをルーティングするようにアウトバウンドルーティング1540に通知し、又、もしそうでなければ、そのユーザに適したビデオの別のコピーを圧縮して、ビデオをズームしているapp/gameサーバー1521−1525及びインバウンドルーティング1502へストリームを返送するようにアウトバウンドルーティングに命令する。 Thus, the shared hardware compressor 1530, when suitably compressed video / audio stream that satisfies the user's requirements requesting video / audio stream is already determined whether it has been generated, if there it is , notifies the outbound routing 1540 to route a copy of the stream to the app / game server 1521-1525 zooming the video, and, if not, compressing another copy of the video that is suitable for that user to instructs the outbound routing to return the stream to the app / game server 1521-1525 and the inbound routing 1502 zooming the video. 選択されたビデオのフルスクリーンバージョンを現在受信しているこのサーバーは、それを解凍し、フルサイズまで徐々にスケールアップする。 The server that is receiving the full-screen version of the selected video now, unzip it, and gradually scaled up to full size.

図18は、ゲームがフルスクリーンへ完全にズームアップされた後にスクリーンがどのように見えるか示しており、ゲームは、矢印1800で指された映像により示すように、ユーザのディスプレイ装置422の全解像度で示されている。 18, the game shows or screen will look like after it has been completely zoomed up to full screen, the game, as shown by the image pointed to by arrow 1800, the total resolution of the user of the display device 422 in are shown. ゲームファインダーアプリケーションを実行しているapp/gameサーバー1521−1525は、もはや必要でないサムネールを発生した他のapp/gameサーバー1521−1525へメッセージを送信すると共に、他のゲームがもはや見られていないホスティングサービス制御サーバー401へメッセージを送信する。 Game Finder application to the run are app / game server 1521-1525, as well as to send a message to other app / game server 1521-1525 that caused the no longer necessary thumbnails, hosting other game is not longer seen to send a message to the service control server 401. この点において、発生される表示は、スクリーンの頂部にあって、情報及びメニュー制御をユーザに与えるオーバーレイ1801である。 In this regard, the display is generated, in the top of the screen, an overlay 1801 that provides information and menu controls to the user. このゲームが進行するにつれて、観衆は、2503人の視聴者まで増加したことに注意されたい。 As this game progresses, the crowd, it should be noted that increased to 2503 viewers. このように大勢の視聴者では、同じ又はほぼ同じ解像度をもつディスプレイ装置422に大勢の視聴者が結び付けられる(各app/gameサーバー1521−1525は、適合性を調整するためにビデオをスケーリングする能力を有する)。 Capacity this many viewers as, many viewers tied (each app / game server 1521 -1525 to the display apparatus 422 having the same or nearly the same resolution, to scale the video for adjusting the suitability the have).

図示されたゲームは、マルチプレーヤゲームであるから、ユーザは、ある点でゲームに加わることを決定できる。 Illustrated game, because a multi-player game, the user may decide to join the game at some point. ホスティングサービス210は、種々の理由で、ユーザがゲームに加わるのを許しても許さなくてもよい。 Hosting service 210, for a variety of reasons, it may not be forgiven for forgiveness for the user to join the game. 例えば、ユーザは、ゲームをプレイするために支払しなければならず、又、プレイしないことを選んでもよく、ユーザは、その特定のゲームに加わるに充分なランキングを有していないことがあり(例えば、他のプレーヤとの競争に耐えない)、或いはユーザのインターネット接続は、ユーザがプレイするのに充分な短い待ち時間を有していないことがある(例えば、ゲームを見るための待ち時間制約がなく、従って、遠くで(実際上、別の大陸で)プレイされるゲームを、待ち時間の問題なしに見ることはできるが、プレイするゲームについては、待ち時間は、(a)ゲームを楽しむために、及び(b)短い待ち時間接続を有する他のプレーヤと平等の立場であるために、ユーザにとって充分短いものでなければならない)。 For example, a user has to pay in order to play the game, also, may choose not to play, the user may not have sufficient ranking to participate in that particular game ( for example, unsuitable for competition with other players), or the Internet connection of the user is that the user may not have sufficient latency to play (e.g., latency constrained to view the game it is not, therefore, far away in a game that is (in practice, another of the continent) play, although it is possible to see without latency issues, about the game to play, waiting time, enjoy the (a) game for, and (b) in order to be equal footing with the other players with low latency connection, must sufficiently short for the user). ユーザがプレイを許された場合には、ユーザに対して「ゲームファインダー」ユーザインターフェイスを与えたapp/gameサーバー1521−1525は、ホスティングサービス制御サーバー401が、特定のゲームをプレイするために適当に構成されたapp/gameサーバー1521−1525を始動して(即ち、探索し始動して)、RAIDアレイ1511−1512からゲームをロードし、次いで、ホスティングサービス制御サーバー401が、ゲームを現在ホストしているapp/gameゲームサーバーへユーザから制御信号を転送するようにインバウンドルーティング1502に命令すると共に、「ゲームファインダー」アプリケーションをホストしたapp/gameサーバーからのビデオ/オーディオを圧縮する If the user is allowed to play, app / game server 1521 - 1525, which gave the "Game Finder" user interface for the user, hosting service control server 401, suitably in order to play a specific game start the app / game server 1521-1525 that is configured (i.e., the search to start), then load the game from a RAID array 1511-1512, then the hosting service control server 401, a game currently hosting with instruct the inbound routing 1502 to transfer the control signals from the user to the app / game game server you are, to compress the video / audio from app / game server hosting the "game finder" application とから、ゲームを現在ホストしているapp/gameサーバーからのビデオ/オーディオを圧縮することへスイッチするように共有ハードウェアコンプレッサ1530に命令することを要求する。 From, to request that the instruction to the shared hardware compressor 1530 to switch to it to compress the video / audio from the app / game server game currently host. 「ゲームファインダー」app/gameサービス、及びゲームをホストしている新たなapp/gameサーバーの垂直同期は、同期されず、その結果、2つの同期間におそらく時間差が生じる。 "Game Finder" app / game service, and the vertical synchronization of the new app / game server that is hosting the game, not synchronized, the result, perhaps the time difference in the two of the same period occurs. 共有ビデオ圧縮ハードウェア1530は、app/gameサーバー1521−1525がビデオフレームを完成したときにビデオの圧縮を開始するので、新たなサーバーからの第1のフレームは、古いサーバーのフルフレーム時間より早期に完成され、これは、その手前の圧縮されたフレームがその送信を完了する前である(例えば、図9bの送信時間992を考えると、非圧縮フレーム3 963がフレーム時間の半分早期に完成された場合に、送信時間992に影響を及ぼす)。 Shared video compression hardware 1530, because the app / game server 1521 - 1525 is to start the compression of the video when you complete the video frame, the first frame from the new server, earlier than full-frame time of the old server is completed, it is compressed frames of the front is before completing its transmission (e.g., considering the transmission time 992 in FIG. 9b, uncompressed frame 3 963 were completed early half of the frame time in the case it was, affect the transmission time 992). このような状況では、共有ビデオ圧縮ハードウェア1530は、新たなサーバーからの第1のフレームを無視し(例えば、フレーム4 964が無視される(974)のと同様に)、クライアント415は、古いサーバーからの最後のフレームを特別のフレーム時間中保持し、そして共有ビデオ圧縮ハードウェア1530は、ゲームをホストする新たなapp/gameサーバーからの次のフレーム時間ビデオの圧縮を開始する。 In this situation, the shared video compression hardware 1530 will ignore the first frame from the new server (e.g., similar to the frame 4 964 is ignored (974)), the client 415, the old the last frame from the server to hold in a special frame time, and the shared video compression hardware 1530, to start the compression of the next frame time video from the new app / game server hosting the game. 視覚上、あるapp/gameサーバーから他のapp/gameサーバーへの移行は、シームレスである。 Visual, the transition from one app / game server to another app / game server is seamless. ホスティングサービス制御サーバー401は、次いで、「ゲームファインダー」をホストしていたapp/gameゲームサーバー1521−1525に、それが再び必要になるまでアイドル状態にスイッチするように通知する。 Hosting service control server 401, then, in the "Game Finder" app / game game server 1521 - 1525, which was hosting a, it is notified to switch to an idle state until it is needed again.

次いで、ユーザは、ゲームをプレイすることができる。 Then, the user is able to play the game. そして、何が優れているかと言えば、ゲームは、知覚上即座にプレイされ(ギガビット/秒の速度でRaidアレイ1511−1512からapp/gameゲームサーバー1521−1525にロードされるので)、そしてゲームは、理想的なドライバ、レジストリ構成(Windowsの場合)をもち、且つゲームのオペレーションと競合し得るサーバーで実行される他のアプリケーションをもたずに、ゲームに対して厳密に構成されたオペレーティングシステムと一緒にゲームに厳密に適したサーバーにロードされる。 And, speaking of what is good, the game is played in perception on the immediate (because they are loaded Gigabit / seconds speed from the Raid array 1511-1512 to app / game game server 1521 - 1525), and game an ideal driver has a registry configuration (in the case of Windows), and with no other applications running on the game operation and may compete server strictly configured operating system to the game It is loaded into the strictly suitable server in the game with.

又、ユーザがゲームを通して進行するにつれて、ゲームの各セグメントが、RAIDアレイ1511−1512からギガビット/秒の速度でサーバーへロードされ(即ち、1ギガバイトの負荷が8秒で)、そしてRAIDアレイ1511−1512の膨大な記憶容量のために(これは多数のユーザ間の共有リソースであるから、非常に大きく、又、コスト効率がよい)、幾何学的な設定又は他のゲームセグメント設定を予め計算して、RAIDアレイ1511−1512に記憶し、そして非常に迅速にロードすることができる。 Also, as the user progresses through the game, each segment of the game is loaded from the RAID array 1511-1512 to server gigabit / second speed (i.e., load of one gigabyte 8 seconds), and RAID arrays 1511- (since this is a shared resource among many users, very large, and good cost efficiency) for the vast storage capacity of 1512, in advance to calculate the geometric configuration or other game segment setting Te, it can be stored in RAID arrays 151 1 -1512, and very quickly loaded. 更に、各app/gameサーバー1521−1525のハードウェア構成及び計算能力が既知であるから、ピクセル及び頂点シェーダーを予め計算することができる。 Furthermore, because the hardware configuration and computational capabilities of each app / game server 1521-1525 is known, it is possible to pre-calculate the pixel and vertex shaders.

従って、ゲームは、ほぼ瞬間的に始動し、理想的な環境で実行され、そしてその後のセグメントがほぼ瞬間的にロードされる。 Thus, the game is started almost instantaneously, be performed in an ideal environment, and subsequent segments are load almost instantly.

しかし、これらの効果を越えて、ユーザは、ゲームをプレイする他人を見ることができ(上述した「ゲームファインダー」及び他の手段を経て)、そしてゲームに関心があるかどうか判断し、もしそうであれば、他人を見ることから秘訣を学習することができる。 However, beyond these effects, the user can see the others to play the game (via the "Game Finder" and other means described above), and it is determined whether or not there is an interest in the game, if so if, it is possible to learn the secrets from to see the others. そして、ユーザは、大きなダウンロード及び/又はインストールを待機する必要なく、ゲームを瞬時にデモすることができ、又、ユーザは、おそらく、僅かな費用の試行ベースで、又は長期間ベースで、ゲームを瞬時にプレイすることができる。 Then, the user, without the need to wait for a large download and / or install, the game can be demo instantly, also, the user is, perhaps, at a fraction of the cost of the trial base, or base in a long period of time, the game it can be played instantly. そして、ユーザは、ゲームを、ウインドウズPC、マッキントッシュ、家のTV受像機で、又、旅行中も、移動電話で、充分短い待ち時間のワイヤレス接続によりプレイすることができる。 Then, the user, games, Windows PC, Macintosh, in the house of the TV receiver, also, even while traveling, in the mobile phone, can be played by a wireless connection of short enough latency. 又、これは、全て、ゲームのコピーを物理的に所持せずに行うことができる。 In addition, this is all, it is possible to carry out a copy of the game without physical possession.

上述したように、ユーザは、自分のゲームプレイを他人に見られることを許さないか、自分のゲームを遅延の後に見られるのを許すか、自分のゲームを選択されたユーザにより見られるのを許すか、又は自分のゲームを全てのユーザにより見られるのを許すかを判断することができる。 As described above, the user is either not allowed to be seen by others their game play, or allow the seen their game after a delay, from being seen by the user, which is select your game forgive, or their own game it is possible to determine whether allowing the seen by all users. それにも関わらず、ビデオ/オーディオは、一実施形態では、15分間、遅延バッファ1515に記憶され、そしてユーザは、デジタルビデオレコーダ(DVR)でTVを見ていたときに行うことができたのと同様に、自分の以前のゲームプレイを「巻き戻して」見ることができ、又、休止し、スローで再生し、早送りし、等々を行うことができる。 Nevertheless, the video / audio is in one embodiment 15 minutes, stored in the delay buffer 1515, and the user, and the it was carried out when watching TV with a digital video recorder (DVR) Similarly, their previous game play can be seen, "rewind", also, pause, play in slow, fast-forward, it is possible to perform and so on. この例では、ユーザは、ゲームをプレイするが、ユーザがアプリケーションを使用する場合には、同じ“DVR”能力を利用することができる。 In this example, the user, but to play the game, if the user uses the application, it is possible to use the same "DVR" capability. これは、以前の行動を再検討すること及び以下に述べる他のアプリケーションでも有用である。 This is also useful in other applications mentioned in and below to review the previous action. 更に、カメラの視野を変更できる、等のように、ゲーム状態情報の利用に基づいて巻き戻することができるようにゲームが設計されている場合は、この“3D DVR”能力もサポートされるが、それをサポートするようにゲームを設計することが要求される。 Furthermore, to change the field of view of the camera, as the like, when the game to be able Modosuru winding based on the use of the game state information is designed, this "3D DVR" capability is also supported , it is required to design the game so as to support it. 遅延バッファ1515を使用する“DVR”能力は、もちろん、ゲーム又はアプリケーションが使用されたときに発生するビデオに限定して、ゲーム又はアプリケーションと共に機能するが、3D DVR能力をもつゲームの場合には、ユーザは、以前にプレイしたセグメントの3Dにおける「フライスルー(fly through)」を制御することができ、そしてそれにより得られるビデオを遅延バッファ1515で記録させ、ゲームセグメントのゲーム状態を記録させることができる。 "DVR" capability using a delay buffer 1515, of course, is limited to video that occurs when the game or application was used, but work with the game or application, when the game with the 3D DVR capability, the user can control the "fly-through (fly through)" in the 3D segment played earlier, and thereby is recorded in delay buffer 1515 to the video obtained, making it possible to record the game state of the game segment it can. 従って、特定の「フライスルー」が、圧縮されたビデオとして記録されるが、ゲーム状態も記録されるので、後日、ゲームの同じセグメントについて異なるフライスルーが考えられることになる。 Thus, certain "fly through" is but is recorded as compressed video, because game state is also recorded at a later date, so that the different fly-through for the same segment of the game are contemplated.

以下に述べるように、ホスティングサービス210におけるユーザは、各々、彼等に関する情報及び他のデータを掲示することのできる「ユーザページ」を有する。 As described below, the user on the hosting service 210, respectively, can be post information and other data relating to them with a "user page". ユーザが掲示することのできるものの中には、彼等がセーブしたゲームプレイからのビデオセグメントがある。 Among those that the user can post is, they there is a video segment from the game play was saved. 例えば、ユーザがゲームにおいて特に困難な挑戦を克服した場合には、ユーザは、ゲームにおいて偉大な成果をなし得た点の直前まで「巻き戻し」、次いで、他のユーザが見るために、ある時間巾(例えば、30秒)のビデオセグメントをユーザの「ユーザページ」にセーブするようにホスティングサービス210に命令することができる。 For example, if the user has overcome a particularly difficult challenge in the game, the user, great achievements "rewind" to just before the point where obtained without the in the game, then, to see the other user, a certain time width (for example, 30 seconds) it is possible to command the video segment of the hosting service 210 to save the "user page" of the user. これを達成するには、ユーザが、遅延バッファ1515に記憶されたビデオをRAIDアレイ1511−1512へ再生してユーザの「ユーザページ」においてそのビデオセグメントをインデックスするように使用するという、単なるapp/gameサーバー1521−1525の問題である。 To achieve this, that the user uses to index the video segments in the "User Page" of the user to play a video stored in a delay buffer 1515 to a RAID array 151 1 -1512, mere app / game is a server-1521-1525 issue.

ゲームが、上述した3D DVRの能力を有する場合には、3D DVRに要求されるゲーム状態情報もユーザによって記録して、ユーザの「ユーザページ」に利用することができる。 Game, if it has the capability of 3D DVR described above, and recorded by the game status information is also user required for 3D DVR, can be utilized to "user pages" of the user.

能動的なプレーヤに加えて「観客」(即ち3Dの世界を進んで、アクションに関与せずにそれを観察できるユーザ)をもつようにゲームが設計されている場合には、「ゲームファインダー」アプリケーションは、ユーザが観客及びプレーヤとしてゲームに加わることができるようにする。 (Proceed world i.e. 3D, the user can be observed without further involved in the action) In addition to the active player "audience" when the game is designed to have a "Game Finder" application it is to allow the user to join the game as a spectator and the player. 具現化の視点から、ユーザが能動的なプレーヤではなく観客である場合も、ホスティングシステム210に対して差はない。 From the viewpoint of realization, even if the user is a spectator instead of an active player, there is no difference with respect to the hosting system 210. ゲームは、app/gameサーバー1521−1525にロードされ、そしてユーザは、ゲームを制御する(例えば、世界を見るバーチャルカメラを制御する)。 The game is loaded into the app / game server 1521-1525, and the user controls the game (for example, to control the virtual camera to see the world). 唯一の相違は、ユーザのゲーム経験である。 The only difference is the game experience of the user.

複数ユーザの協力 Cooperation of multiple users
ホスティングサービス210の別の特徴は、複数のユーザが、大きく異なる視聴装置を使用していても、生のビデオを見ながら協力する能力である。 Another feature of the hosting service 210, multiple users, even if using very different viewing device is the ability to cooperate while watching live video. これは、ゲームをプレイするとき及びアプリケーションを使用するときの両方に有用である。 This is useful both when using and application when playing the game.

多くのPC及び移動電話は、ビデオカメラを装備しており、且つ特に、映像が小さいときには、リアルタイム映像圧縮を行う能力を有している。 Many PC and mobile phone, equipped with a video camera, and in particular, when the image is small, has the ability to perform real-time video compression. 又、テレビに取り付けることのできる小型カメラも入手でき、リアルタイム圧縮を、ソフトウェアで具現化するか、又はビデオを圧縮するための多数のハードウェア圧縮装置の1つを使用して具現化するのは、困難なことではない。 Also, small cameras that can be attached to a television available, real-time compression, or embodied in software, or to implemented using one of many hardware compression devices to compress the video , not difficult. 又、多数のPC及び全ての移動電話は、マイクロホンを有し、又、マイクロホンと共にヘッドセットが利用できる。 Also, a large number of PC and all mobile phones have microphones, and headsets are available with microphones.

このようなカメラ及び/又はマイクロホンは、ローカルのビデオ/オーディオ圧縮能力(特に、ここに述べる短待ち時間のビデオ圧縮技術を使用する)と合成されると、ユーザが、ユーザの家屋211からのビデオ及び/又はオーディオを入力装置の制御データと共にホスティングサービス210へ送信できるようにする。 Such cameras and / or microphones, local video / audio compression capability (particularly, using video compression technology, low latency described herein) and the synthesized user, video from the user premises 211 to be sent to the hosting service 210 and / or with the control data of the input device audio. このような技術が使用されるときには、図19に示す能力を達成でき、即ちユーザは、自分のビデオ及びオーディオ1900を別のユーザのゲーム又はアプリケーション内のスクリーンに出現させることができる。 When such a technique is used, it can achieve the ability to 19, i.e. the user is able to reveal the own video and audio 1900 to the screen in another user of the game or application. この例は、カーレースにおいてチームメートが協力するマルチプレーヤゲームである。 This example is a multi-player game in which teammates to cooperate in car racing. ユーザのビデオ/オーディオは、チームメートだけにより選択的に見る/聞くことができる。 A user of the video / audio, teammates only by selectively see / can be heard. そして、実質上、待ち時間がないので、上述した技術を使用すると、プレーヤは、気付くほどの遅延を伴うことなく、互いにリアルタイムで話したり動いたりすることができる。 Then, substantially, there is no latency, using the techniques described above, the player, without the delay of perceptible, or can move talk in real time with each other.

このビデオ/オーディオの一体化は、ユーザのカメラ/マイクロホンからの圧縮されたビデオ及び/又はオーディオをインバウンドインターネットトラフィック1501として到着させることにより達成される。 The video / audio integration is accomplished by arriving compressed video and / or audio from a user of the camera / microphone as inbound internet traffic 1501. 次いで、インバウンドルーティング1502が、ビデオ及び/又はオーディオを、それを見る/聞くことが許されたapp/gameゲームサーバー1521−1525へルーティングする。 Then, the inbound routing 1502, the video and / or audio, see it / listening is routed to app / game game server 1521 -1525 that is allowed. 次いで、ビデオ及び/又はオーディオを使用することを選択する各app/gameゲームサーバー1521−1525のユーザは、それを解凍し、そして1900で示されたように、必要に応じて、ゲーム又はアプリケーション内に現れるように一体化する。 Then, the user of each app / game game server 1521-1525 that choose to use the video and / or audio, to decompress it, and as shown at 1900, if necessary, game or an application integrated to appear.

図19の例は、このような協力がゲームにおいてどのように利用されるか示しているが、このような協力は、アプリケーションにとって非常にパワフルなツールである。 Example of FIG. 19, but such assistance indicates either utilized how a game, such cooperation is very powerful tool for applications. ニューヨーク市ではニューヨークに本拠地を置く不動産開発業者のためにシカゴの建築家により大きなビルが設計されているが、その判断には、旅行中でマイアミの空港にたまたまいる金融投資家が含まれ、そして投資家と不動産開発業者の両方を満足させるために、周囲のビルにどのように調和させるかに関してそのビルの幾つかの設計要素について判断をする必要がある状況を考える。 Although New York City is a large building by Chicago architect for real estate developers based in New York have been designed, in its judgment, it contains the financial investors that happens to have the airport in Miami in the trip, and in order to satisfy both the investors and real estate developers, consider the situation where there is a need to make decisions about some of the design elements of the building as to whether to harmonize how the periphery of the building. 建設会社は、シカゴにおいてカメラがPCに取り付けられた高解像度モニタを有し、不動産開発業者は、ニューヨークにおいてカメラ付きのラップトップを有し、そして投資家は、マイアミにおいてカメラ付きの移動電話を有している。 Construction companies, the camera has a high-resolution monitor that is attached to the PC in Chicago, real estate developers have a laptop with a camera in New York, and investors, have a camera with a mobile phone in Miami doing. 建設会社は、ホスティングサービス210を使用して、非常に現実的な3Dレンダリングを行うことのできるパワフルな建設設計アプリケーションをホストすることができ、ニューヨーク市内のビルの大きなデータベース及び設計中のビルのデータベースを使用することができる。 Construction companies, using the hosting service 210, very realistic 3D rendering can be used to host the powerful construction design applications capable of performing, large databases and building during the design of the New York City building it is possible to use the database. 建設設計アプリケーションは、app/gameサーバー1521−1525の1つで実行され、又は多大な計算パワーを要求する場合には、その幾つかにおいて実行される。 Construction design application runs in one of the app / game server 1521 -1525, or to request a great deal of computational power is performed in some of. 異なる位置にいる3人のユーザの各々は、ホスティングサービス210に接続され、そしてその各々は、建設設計アプリケーションのビデオ出力の同時ビューを有するが、これは、各ユーザが有する所与の装置及びネットワーク接続特性に対して共有ハードウェア圧縮1530により適当なサイズにされる(例えば、建設会社は、20Mbpsの商業的インターネット接続を通して2560x1440の60fpsディスプレイを見ることができ、ニューヨークの不動産開発業者は、自分のラップトップの6MbpsのDSL接続を経て1280x720の60fps映像を見ることができ、そして投資家は、自分の移動電話の250Kbpsのセルラーデータ接続を経て320x180の60fps映像を見ることができる。各当事者は、 Each three users in different locations, connected to the hosting service 210, and each of which has a simultaneous view of the video output of construction design application, which is given device and network with each user is the appropriate size by the shared hardware compression 1530 for the connection characteristics (for example, construction companies, can see the 60fps display of 2560x1440 through a commercial Internet connection of 20Mbps, New York real estate developer, of their own through a DSL connection of 6Mbps of laptop can see the 60fps video of 1280x720, and investors can see the 60fps video of 320x180 via a cellular data connection of 250Kbps of their mobile phone. each party, の当事者の音声を聞き(会議コールは、app/gameサーバー1521−1525において広く利用できる多数の会議コールソフトウェアパッケージのいずれかにより取り扱われ)、そしてユーザ入力装置上のボタンの操作を通して、ユーザは、ローカルカメラを使用してそれら自身のビデオ出演をすることができる。ミーティングが進むにつれて、建築家は、そのビルを回転し且つそのエリアの他のビルの近くを飛行したときにそのビルがどのように見えるか、非常にホトリアルな3Dレンダリングで示すことができ、そして同じビデオを、各当事者のディスプレイ装置の解像度で全ての当事者が見ることができる。当事者により使用されるローカル装置が、どれも、このようなリアリズムで3Dアニメーションを取り扱いできない (Conference call is handled by any of a number of conference calling software package that can be widely used in the app / game server 1521 - 1525) of listening to the voice of the party, and through manipulation of buttons on the user input device, the user, can be a video appeared of their own using the local camera. as the meeting progresses, the architect, the building is how when you fly close to the other buildings and the area by rotating the building or it looks, very can be represented by photoreal 3D rendering, and the same video, the local apparatus to be used by. party can see all parties at the resolution of each party of the display device, none, I can not handle 3D animation with such realism とは問題ではないが、ニューヨーク市の周囲のビルをレンダリングするために要求される膨大なデータベースをダウンロードするか又は記憶することは言うまでもない。各ユーザの視点から、距離が離れているにも関わらず、又、異なるローカル装置であるにも関わらず、ユーザは、単純に、信じられないほどのリアリズムで繋ぎ目のない経験をする。そして、1人の当事者が顔を見えるようにして感情を良く伝えたいときには、そのようにすることができる。更に、不動産開発業者又は投資家のいずれかが建設プログラムの制御を手に入れてそれら自身の入力装置(キーボード、マウス、キーパッド又はタッチスクリーン)を使用したい場合には、知覚上待ち時間なしに応答でき、又、応答することになる(それらのネットワーク接続が不 It is not a problem and, needless to say, or store to download the vast database required to render the building around the New York City. Even though from the perspective of the user, the distance is away not, also, in spite of the different local device, the user is, simply, incredible to the joint with no experience in the realism of. then, the emotion as one of the parties can be seen the face when you want to tell well, it is possible to do so. in addition, the input device of their own any of the real estate developers or investors is to get control of the construction program (keyboard, mouse, keypad or touch screen) If you want to use it can respond without perceptual latency, and will respond (their network connection is not 合理な待ち時間をもたないと仮定して)。 Assuming that does not have a reasonable latency). 例えば、移動電話の場合には、その移動電話が空港のWiFiネットワークに接続された場合には、待ち時間が非常に短くなる。 For example, in the case of a mobile phone, if the mobile phone is connected to the airport WiFi network, latency is very short. しかし、米国で今日利用できるセルラーデータネットワークを使用する場合には、おそらく、顕著な遅れで悩まされることになる。 However, when using the cellular data networks available today in the US, probably it will be bothered by the noticeable delay. 更に、投資家が見ているミーティングのほとんどの目的では、建築家がビルの接近飛行を制御し、又はビデオ遠隔会議で話をするためには、セルラー待ち時間でも許容できねばならない。 In addition, in most of the purpose of meeting the investors are looking at, architect controls the flyby of the building, or in order to talk in video teleconferencing, must be acceptable in the cellular latency.

最終的に、協力会議コールの終わりに、不動産開発業者及び投資家は、ホスティングサービスから彼等のコメントを発し且つ署名し、建設会社は、遅延バッファ1515に記録された会議のビデオを「巻き戻し」、そしてコメント、顔の表情、及び/又はミーティング中に作られたビルの3Dモデルに加えられたアクションを再検討することができる。 Finally, at the end of the cooperation conference call, real estate developers and investors, issued and signed their comments from hosting services, construction companies, back "up the meeting of the video that has been recorded in the delay buffer 1515 ", and can be re-considered comments, facial expressions, and / or the action that has been added to the 3D model of made the building during the meeting. セーブしたい特定のセグメントがある場合は、ビデオ/オーディオのそれらセグメントを、記録保管及び後で再生するために遅延バッファ1515からRAIDアレイ1511−1512へ移動することができる。 If there are particular segments to be saved is their segments of video / audio can be moved to the RAID arrays 1511 - 1512 from delay buffer 1515 to reproduce recorded storage and later.

又、コストの観点から、建築家が計算パワー及びニューヨーク市の大きなデータベースを15分の会議コールにしか使用する必要がない場合には、ハイパワーのワークステーションを所有し且つ大きなデータベースの高価なコピーを購入するのではなく、リソースを使用した時間について支払するだけでよい。 In addition, from the point of view of cost, if the architect does not need to be used only in computing power and large databases 15 minutes of the conference call in New York City, an expensive copy of owned and large database of high-powered workstations rather than buy, it is only necessary to pay for the time you use the resources.

ビデオリッチなコミュニティサービス Video-rich community services
ホスティングサービス210は、インターネットにビデオリッチなコミュニティサービスを確立するための空前の機会を可能にする。 Hosting service 210, to allow the unprecedented opportunity for establishing video-rich community services on the Internet. 図20は、ホスティングサービス210におけるゲームプレーヤのための規範的「ユーザページ」を示す。 Figure 20 illustrates an exemplary "user pages" for a game player on the hosting service 210. 「ゲームファインダー」アプリケーションと同様に、「ユーザページ」は、app/gameサーバー1521−1525の1つにおいて実行されるアプリケーションである。 Similar to the "Game Finder" application, "user page" is an application to be executed in one of the app / game server 1521 - 1525. このページにおけるサムネール及びビデオウインドウは、全て、絶えず動くビデオ(セグメントが短い場合は、ループになる)を示す。 Thumbnail and video window in this page are all constantly moving video (if the segments are short, becomes the loop) indicating a.

ビデオカメラを使用するか、又はビデオをアップロードすることにより、ユーザ(ユーザ名は“KILLHAZARD”である)は、自分自身のビデオ2000を掲示することができ、他のユーザがこれを見ることができる。 You can use the video camera, or by uploading a video, a user (user name is "KILLHAZARD") is able to post your own video 2000, other users can see this . このビデオは、RAIDアレイ1511−1512に記憶される。 The video is stored on a RAID array 1511-1512. 又、他のユーザがKILLHAZARDの「ユーザページ」に到来するときに、KILLHAZARDがそのときホスティングサービス210を使用していれば、(ユーザが彼を見るために彼の「ユーザページ」を見ることを許すと仮定すれば)彼が何を行おうとその生のビデオ2001が示される。 In addition, when the other user arrives at the "user page" of KILLHAZARD, if you are using a hosting service 210 at that time KILLHAZARD, to see the "user page" of him to see him (user by any) he is trying to do is the raw video 2001 assumption is shown to forgive. これは、サーバー制御システム401から要求される「ユーザページ」アプリケーションをホストするapp/gameサーバー1521−1525により達成され、KILLHAZARDがアクティブであるかどうか、そしてもしそうであれば、彼が使用するapp/gameサーバー1521−1525により達成される。 app This is achieved by the app / game server 1521-1525 that will host the "user page" applications that are requested from the server control system 401, whether KILLHAZARD is active, and if so, which he will use / it is achieved by the game server 1521 - 1525. 次いで、「ゲームファインダー」アプリケーションにより使用される同じ方法を使用して、適当な解像度及びフォーマットの圧縮されたビデオストリームが、「ユーザページ」アプリケーションを実行するapp/gameサーバー1521−1525へ送信され、そして表示される。 Then, using the same method used by the "Game Finder" application, suitable resolution and format compressed video stream is sent to the app / game server 1521 -1525 running the "user page" application, and displayed. ユーザがKILLHAZARDの生のゲームプレイでウインドウを選択し、次いで、その入力装置を適当にクリックする場合は、ウインドウがズームアップされ(この場合も「ゲームファインダー」アプリケーションと同じ方法を使用して)、そして生のビデオが、見ているユーザのインターネット接続の特性に適した、見ているユーザのディスプレイ装置422の解像度でスクリーンを埋める。 The user selects a window in the live game play of KILLHAZARD, then, if you click on the input device appropriately, the window is zoomed up (in this case be used the same way as the "Game Finder" application), the raw video, suitable for characteristics of the Internet connection looking user to fill the screen with the display device 422 of the user viewing resolution.

従来に勝るこの解決策の重要な効果は、「ユーザページ」を見ているユーザが、自分が所有していないゲームの生のプレイを見ることができ、且つ非常に良いことに、ゲームをプレイできるローカルコンピュータ又はゲームコンソールをもたなくてよいことである。 An important effect of this solution over the prior art, a user looking at the "user page" are, you can see the live play of the game that you do not own, and to be very good, play the game can is that it is not necessary to have a local computer or game console. これは、ゲームをプレイする「アクション中」である「ユーザページ」に示されたユーザをユーザが見る良い機会を与えると共に、見ているユーザが試してみたい又は上手くなりたいゲームに関して学習する機会でもある。 This is, to play the game is "in action" with give a good opportunity to the user that has been shown to "user page" user to view, there is also an opportunity to learn about watching that want to user trial or good will want the game.

KILLHAZARDの相棒2002からのカメラ記録又はアップロードされたビデオクリップも「ユーザページ」に示され、そして各ビデオクリップの下には、相棒がオンラインでゲームをプレイしているかどうか示すテキストがある(例えば、six_shotは、ゲーム“Eragon”をプレイしており、MrSnuggles99は、オフラインであり、等)。 The camera recorded or uploaded video clips from partner 2002 of KILLHAZARD is also shown in the "user page", and the bottom of each video clip, partner and there is a text that indicates whether you are playing the game online (for example, six_shot is playing the game "Eragon", MrSnuggles99 is off-line, etc.). メニューアイテム(図示せず)をクリップすることにより、相棒のビデオクリップは、記録又はアップロードされたビデオを示すものから、ホスティングサービス210上で現在ゲームをプレイしている相棒がそのときゲームにおいて何をしているかの生のビデオへとスイッチする。 By clipping the menu item (not shown), a video clip buddy from those indicating the recording or uploaded videos, what buddy at that time game playing the current game on the hosting service 210 and to switch to is that of the raw video. 従って、これは、相棒のためのゲームファインダーグループとなる。 Therefore, this is a game finder group for buddy. 相棒のゲームが選択されそしてユーザがそれをクリックする場合には、全スクリーンをズームアップし、そしてユーザは、全スクリーンでプレイされるゲームを生で見ることができる。 If the partner of the game is selected and the user clicks on it, the whole screen to zoom up, and the user, a game that is played in all the screen can be seen live.

この場合も、相棒のゲームを見ているユーザは、ゲームのコピーも、ゲームをプレイするためのローカルコンピューティング/ゲームコンソールリソースも、所有していない。 Again, the user viewing the buddy game, a copy of the game, nor local computing / game console resources to play the game, do not own. ゲームを見るのは、実際上、瞬間的である。 To see the game is, in practice, it is instantaneous.

上述したように、ユーザがホスティングサービス210においてゲームをプレイするときには、ユーザは、ゲームを「巻き戻し」、セーブしたいビデオセグメントを見出し、次いで、ビデオセグメントを自分の「ユーザページ」へセーブする。 As mentioned above, when a user to play a game in the hosting service 210, the user, the game the "rewind", heading a video segment that you want to save, then, to save the video segment to their "user page". これらは、「自慢のクリップ(Brag Clips)」と称される。 These are referred to as "the pride of the clip (Brag Clips)". ビデオセグメント2003は、全て、プレイした以前のゲームからKILLHAZARDによりセーブされた「自慢のクリップ」2003である。 Video segment 2003, all of which are 2003 "proud of the clip" that has been saved by KILLHAZARD from a previous game that was played. 番号2004は、「自慢のクリップ」が何回見られたかを示し、そして「自慢のクリップ」が見られるときに、ユーザは、それを格付けする機会を得、オレンジのキー穴形状のアイコン2005の数は、どれほど高い格付けであるかを示す。 Number 2004, when indicates whether the "pride of the clip" was seen many times, and the "pride of the clip" can be seen, the user, the opportunity to rate it, the orange of the key hole shape icon of 2005 the number indicates whether it is how high rating. 「自慢のクリップ」2003は、ユーザが「ユーザページ」を見るとき、そのページにおけるビデオの残りと共に絶えずループする。 "Brag Clip" 2003, when the user sees a "user page", to constantly loop along with the rest of the video in the page. ユーザが「自慢のクリップ」2003の1つを選択してクリックする場合には、それがズームアップし、「自慢のクリップ」2003を、クリップの再生、休止、巻き戻し、早送り、ステップスルー、等を行えるようにするDVRコントロールと共に提示する。 If the user clicks to select one of the 2003 "proud of the clip" is that it zoom up, the 2003 "Brag Clip", the clip of the play, pause, rewind, fast-forward, step-through, etc. It is presented with DVR controls to allow the.

「自慢のクリップ」2003の再生は、ユーザが「自慢のクリップ」を記録し、それを解凍して再生するときに、RAIDアレイ1511−1512に記憶された圧縮ビデオセグメントをapp/gameサーバー1521−1525がロードすることにより具現化される。 Play of 2003 "Brag Clips", the user records a "Brag Clip", when playing it to decompress the compressed video segment stored in RAID arrays 1511 - 1512 app / game server 1521- 1525 is implemented by loading.

又、「自慢のクリップ」2003は、“3D DVR”ビデオセグメント(即ち、再生でき且つユーザがカメラの視点を変更するのを許すゲームからのゲーム状態シーケンス)でもあり、これは、そのような能力をサポートするゲームからのものである。 In addition, the "pride of the clip" 2003, "3D DVR" video segments (ie, playback can and game state sequence from the user allows you to change the point of view of the camera game) is also the, this is, such ability it is from games that support. この場合、ゲームセグメントが記録されたときにユーザが作った特定の「フライスルー」の圧縮ビデオ記録に加えて、ゲーム状態情報が記憶される。 In this case, the game segment in addition to the compressed video recording of the "fly through" user specific made when recorded, the game state information is stored. 「ユーザページ」が見られ、そして全てのサムネール及びビデオウインドウが絶えずループ化するときには、3D DVR「自慢のクリップ」2003は、ユーザがゲームセグメントの「フライスルー」を記録したときに圧縮ビデオとして記録された「自慢のクリップ」2003を絶えずループ化する。 Seen "user page", and when all of the thumbnails and video window to loop of constantly is, 3D DVR "Brag Clip" 2003, recorded as a compressed video when the user has recorded the "fly-through" of the game segment constantly loop the 2003 "proud of the clip" that is. しかし、ユーザが3D DVR「自慢のクリップ」2003を選択してそれをクリップするときには、圧縮ビデオの「自慢のクリップ」を再生できるようにするDVRコントロールに加えて、ユーザは、ゲームセグメントに対する3D DVR能力を与えるボタンをクリックすることができる。 However, when a user to clip it to select the 3D DVR "Brag Clip" 2003, in addition to the DVR controls to allow play "Brag Clip" compressed video, the user, 3D to the game segment DVR it is possible to click the button which gives the ability. それらは、彼等自身でゲームセグメント中にカメラの「フライスルー」を制御することができ、そしてそれらが望む(及びユーザページを所有するユーザがそれを許す)場合に、別の「自慢のクリップ」の「フライスルー」を圧縮ビデオ形態で記録することができ、これは、次いで、ユーザページの他の視聴者に利用可能となる(直ちに、又はユーザページの所有者が「自慢のクリップ」を再検討する機会をもった後に)。 They are their camera during the game segment itself can be controlled to "fly through", and if they wish (and the user who owns the user page allows it), another "Brag Clip can be recorded in a compressed video form a "fly through" the ", this is then made available to other viewers of the user page (immediately or owner of the user page to" brag clip " after having the opportunity to review).

この3D DVR「自慢のクリップ」2003の能力は、記録されたゲーム状態情報を別のapp/gameサーバー1521−1525において再生しようとしているゲームを作動することによりイネーブルされる。 This 3D DVR "Brag Clip" 2003 capability is enabled by activating the game you are trying to play the recorded game state information in another app / game server 1521 - 1525. ゲームは、ほぼ瞬間的に作動できるので(上述したように)、「自慢のクリップ」により記録されたゲーム状態にプレイを限定してゲームを作動し、次いで、ユーザが、圧縮ビデオを遅延バッファ1515に記録しながらカメラで「フライスルー」を実行できるようにするのは、困難ではない。 Game, since it operates almost instantaneously (as described above), to operate the game by limiting the play game state recorded by "Brag Clip", then the user, delay the compressed video buffer 1515 while recording to be able to run a "fly-through" with the camera, not difficult. ユーザが「フライスルー」の実行を完了すると、ゲームが不作動にされる。 When the user completes the execution of "fly-through", the game is deactivated.

ユーザの視点から、3D DVRの「自慢のクリップ」2003で「フライスルー」を作動することは、リニアな「自慢のクリップ」2003のDVRコントロールを制御することより努力が要らない。 From the user's point of view, to operate a "fly-through" in the "pride of the clip" 2003 3D DVR is, does not need effort than that to control the linear "Brag Clip" 2003 DVR control of. それらは、ゲームについて又はゲームをどのようにプレイするかについて何も知らなくてよい。 They may not know anything about how to play the game or games. それらは、別の者により記録されるゲームセグメント中に3D世界を凝視するバーチャルカメラオペレータに過ぎない。 They are not only virtual camera operator to stare the 3D world in the game segment, which is recorded by another person.

又、ユーザは、それら自身のオーディオを、マイクロホンから記録されるか又はアップロードされる「自慢のクリップ」にオーバーダビングすることもできる。 The user, their own audio can be overdubbed on "Brag Clip" as or uploaded is recorded from the microphone. このようにして、「自慢のクリップ」は、ゲームからのキャラクタ及びアクションを使用して、カスタムアニメーションを生成するのに使用できる。 In this way, the "pride of the clip" is, using the characters and action from the game, it can be used to generate a custom animation. このアニメーション技術は、「マシニマ(machinima)」として一般に知られている。 This animation technique is commonly known as "machinima (machinima)".

ユーザがゲームを進めるにつれて、異なるスキルレベルを達成する。 As the user advances the game, to achieve a different skill level. プレイしたゲームは、達成度をサービスコントロールシステム401へ報告し、それらのスキルレベルが「ユーザページ」に示される。 Played the game is to report the achievement to the service control system 401, their skill level is shown in the "user page".

双方向アニメ化広告 Interactive animated ad
オンライン広告は、テキストから、静止映像へ、ビデオへ、そして今や、Adobe Flashのようなアニメーションシンクライアントを使用して典型的に具現化される双方向セグメントへと推移してきた。 Online advertising, from text, to still images, to video, and now, has been transition to the two-way segment that is typically implemented using animation thin clients, such as Adobe Flash. アニメーションシンクライアントを使用する理由は、ユーザが、典型的に、製品やサービスが彼等に推薦される特典に対する遅れが耐え難いからである。 The reason for using animation thin clients, users, typically, because the delay with respect to benefits that products and services are recommended to them is unbearable. 又、シンクライアントは、非常に低性能のPCで実行され、従って、広告主は、双方向アドが適切に機能するという高い信頼度をもつことができる。 Also, thin clients run on very low-performance of PC, therefore, the advertiser can have a high degree of confidence that the interactive ad to function properly. 不都合なことに、Adobe Flashのようなアニメーションシンクライアントは、双方向性の度合い及び経験の巾が制限される(ダウンロード時間を軽減するために)。 Unfortunately, animation thin clients, such as Adobe Flash is, the width of the bidirectional degree and experience is limited (in order to reduce the download time).

図21は、ショールーム内で車を回転させ、車がどのように見えるかリアルタイムレイトレーシングで示しながら、ユーザが車の外部及び内部の色を選択する双方向広告を示している。 Figure 21 rotates the car in the showroom, while shown in either real-time ray tracing car looks like, shows interactive advertisement where the user selects the external and internal color of the car. ユーザは、車を運転するアバターを選択し、次いで、ユーザは、レーストラック上、又はモナコのようなエキゾチックな場所でドライブするように車を取り出すことができる。 The user selects an avatar to drive the car, then the user can take out the car to drive over racetrack, or exotic places like Monaco. ユーザは、より大きなエンジン又はより優れたタイヤを選択することができ、次いで、その変更した構成が車の加速性能又は路面の食い付きにどのように影響するか見ることができる。 The user is more able to choose a large engine or better tires, and then can see how configuration in which the change affects how the biting acceleration performance or road vehicles.

もちろん、広告は、実際上、精巧な3Dビデオゲームである。 Of course, advertising is, in practice, is a sophisticated 3D video game. しかし、PC又はビデオゲームコンソール上に再生できる広告については、おそらく、100MBダウンロードを要求し、そしてPCの場合には、特殊なドライバのインストールを要求すると共に、PCが充分なCPU又はGPU計算能力に欠ける場合には全く実行されないことがある。 However, for advertising that can be played on a PC or video game console, perhaps, it requires a 100MB download, and in the case of the PC, as well as to request the installation of special drivers, the PC has sufficient CPU or GPU computing power there may not be performed at all in the case of lack. 従って、このような広告は、従来の構成では不可能である。 Thus, such advertisements are not possible with conventional construction.

ホスティングサービス210では、このような広告は、ほぼ瞬時に起動し、そしてユーザのクライアント415の能力がどんなものであっても、完全に実行される。 In the hosting service 210, such advertisements launch almost instantly, and the ability of the user of the client 415 even what is completely executed. 従って、それらは、シンクライアント双方向アドより素早く起動し、著しく経験に富み、且つ非常に信頼性が高い。 Therefore, they are quickly activated by the thin client interactive ad, rich in significantly experience, and very reliable.

リアルタイムアニメーション中のストリーミング幾何学形状 Streaming geometry in real-time animation
RAIDアレイ1511−1512及びインバウンドルーティング1502は、リアルタイムアニメーション(例えば、複雑なデータベースを伴うフライスルー)中にゲームプレイ又はアプリケーションの中間において幾何学形状をオンザフライで確実に配信するためにRAIDアレイ1511−1512及びインバウンドルーティング1502に依存するビデオゲーム及びアプリケーションを設計できるように高速で且つ短待ち時間のデータレートを与えることができる。 RAID array 1511-1512 and the inbound routing 1502, real-time animation (e.g., a fly-through with complex database) RAID arrays to ensure delivery geometry on-the-fly in the middle of game play or applications during 1511-1512 and it can give and data rate, low latency fast as possible to design video games and applications that rely on the inbound routing 1502.

図1に示すビデオゲームシステムのような従来のシステムでは、特に実際の家庭用装置に使用できる大量記憶装置は、要求される幾何学形状をある程度予想できる状況を除き、ゲームプレイ中に幾何学形状をストリームするには遥かに低速である。 In conventional systems, such as the video game system shown in FIG. 1, a mass storage device that can be used especially in the actual home device, except what you can expect the required geometry to some extent, geometry during gameplay it is much slower to stream. 例えば、特定の道路が存在するドライブゲームにおいて、視野に入って来るビルの幾何学形状は、合理的に充分なほど予想でき、そして大量記憶装置は、近づきつつある幾何学形状が位置している場所を前もって探すことができる。 For example, in a driving game which a particular road is present, the geometry of the building come into the field of view, reasonably be expected enough, and mass storage devices, geometry approaching is located location can be a pre-search.

しかし、予想できない変化を伴う複雑なシーンにおいて(例えば、あたり一面に複雑なキャラクタが存在する戦闘のシーンにおいて)、PC又はビデオゲームシステムのRAMが、現在視野にある物体に対する幾何学形状で完全に埋められており、次いで、ユーザが突然それらのキャラクタを、それらキャラクタの背後の視野へ方向転換する場合に、幾何学形状がRAMに予めロードされていなければ、それを表示できるまでに遅延が生じることになる。 However, in complex scenes with unpredictable changes (e.g., in a battle scene there is a complex character with an all around), PC or video game system RAM is fully in geometry with respect to the object in the current field and filled, and then the user suddenly those characters, in the case of turning to the back of the field of view of their character, if the geometry has not been preloaded into RAM, a delay occurs until display it It will be.

ホスティングサービス210において、RAIDアレイ1511−1512は、ギガビットイーサネット速度以上でデータをストリームすることができ、そしてSANネットワークでは、10ギガビットのイーサネット又は他のネットワークに勝る10ギガビット/秒の速度を達成することができる。 In the hosting service 210, RAID arrays 1511-1512 may be a stream of data at gigabit Ethernet speeds higher, and in SAN network, achieving 10 gigabit / second speed over 10 Gigabit Ethernet or other network can. 10ギガビット/秒は、ギガバイトのデータを1秒未満でロードする。 10 Gbit / sec, to load gigabytes of data in less than a second. 60fpsのフレーム時間(16.67ms)では、ほぼ170メガビット(21MB)のデータをロードすることができる。 In 60fps frame time (16.67 ms), it is possible to load the data of approximately 170 megabits (21MB). 当然、RAID構成にある回転するメディアは、1フレーム時間より大きな待ち時間を依然被るが、フラッシュベースのRAID記憶装置は、結局、回転するメディアRAIDアレイと同程度の大きさであり、そのような長い待ち時間は被らない。 Of course, a rotating medium in a RAID configuration suffers still a greater latency than one frame time, but Flash-based RAID storage will eventually be the same order of magnitude as the media RAID arrays to rotate, such long waiting time does not suffer. 一実施形態では、大量RAMライトスルーキャッシングを使用して、非常に短い待ち時間のアクセスを与える。 In one embodiment, using a large amount of RAM write-through caching, give the access of very short latency.

従って、充分に高いネットワーク速度及び充分に短い待ち時間の大量記憶では、CPU及び/又はGPUが3Dデータを処理できるのと同程度の速さでapp/gameゲームサーバー1521−1525へ幾何学形状をストリームすることができる。 Accordingly, the sufficiently high network speed, and sufficiently low latency mass storage, geometry in CPU and / or GPU is comparable to can handle 3D data rate to app / game game server 1521 -1525 it is possible to stream. 従って、ユーザがそのキャラクタを突然方向転換しそして後を見る上述した例では、後方の全てのキャラクタに対する幾何学形状を、キャラクタが回転を完了する前にロードすることができ、従って、ユーザにとって、生のアクションと同程度にリアルなホトリアルな世界にいるかのように思える。 Thus, in the example the user above view after suddenly turning to and the character, the geometry for all of the characters behind can be loaded before the character completes the rotation, therefore, for the user, it seems as if you were in realistic photorealistic world to the same extent and live action.

上述したように、ホトリアルなコンピュータアニメーションにおける最後の未開拓の1つは、人間の顔であり、不完全さに対して人間の目が敏感であるために、ホトリアルな顔からの若干のエラーが視聴者から否定的なリアクションを招くことがある。 As mentioned above, one of the last frontiers in photorealistic computer animation is the human face, for the human eye is sensitive to imperfections, a slight error from a photoreal face It can lead to negative reactions from the audience. 図22は、Contour TM 「リアリティキャプチャーテクノロジー」(本CIP出願の譲受人に各々譲渡された同時係争中の特許出願、即ち2004年9月15日に出願された第10/942,609号“Apparatus and method for capturing the motion of a performer”、2004年9月15日に出願された第10/942,413号“Apparatus and method for capturing the expression of a performer”、2005年2月25日に出願された第11/066,954号“Apparatus and method for improving marker identification within a motion capture system”、2005年3月10日に出願された第11/077,628号“Apparatus and method for performing motion capture using shutter synchronization”、2005年10月20日に出願された第11/255,854号“Apparatus and method for performing motion capture usi FIG. 22 is a patent application in co-pending, which are each assigned to the assignee of the Contour TM "Reality Capture Technology" (this CIP application, namely No. 10 / 942,609 Patent was filed on September 15, 2004 "Apparatus and method for capturing the motion of a performer ", No. 10 / 942,413 Patent was filed on September 15, 2004" Apparatus and method for capturing the expression of a performer ", filed on February 25, 2005 was No. 11 / 066,954 No. "Apparatus and method for improving marker identification within a motion capture system", No. 11 / 077,628, filed on March 10, 2005 "Apparatus and method for performing motion capture using shutter synchronization ", No. 11 / 255,854, filed on October 20, 2005" Apparatus and method for performing motion capture usi ng a random pattern on capture surfaces”、2006年6月7日に出願された第11/449,131号“System and method for performing motion capture using phosphor application techniques”、2006年6月7日に出願された第11/449,043号“System and method for performing motion capture by strobing a fluorescent lamp”、2006年6月7日に出願された第11/449,127号“System and method for three dimensional capture of stop-motion animated characters”の要旨)を使用して捕獲される生の演技が、非常に滑らかな捕獲表面を、次いで、高多角形数追跡表面(即ち、多角形の動きが顔の動きに正確に追従する)をどのように生じるか示している。 ng a random pattern on capture surfaces ", No. 11 / 449,131, filed on June 7, 2006" System and method for performing motion capture using phosphor application techniques ", filed on June 7, 2006 No. 11 / 449,043 "System and method for performing motion capture by strobing a fluorescent lamp", No. 11 / 449,127, filed on June 7, 2006 "System and method for three dimensional capture of stop- raw performance to be captured using the gist) of motion animated characters "is a very smooth captured surface, then a high polygon count tracking surface (i.e., accurately follows polygonal motion to the motion of the face the to) shows how to produce. 最終的に、生の演技のビデオが追跡表面にマップされて、テクスチャ処理表面を形成するときに、ホトリアルな結果が得られる。 Finally, live performance video is mapped to the tracking surface, when forming a textured surface, a photoreal result is obtained.

現在のGPU技術は、追跡表面における多角形の数及びテクスチャをレンダリングしそして表面をリアルタイムで照明することができるが、多角形及びテクスチャがフレーム時間ごとに変化する(これは、最もホトリアルな結果を生じる)場合には、近代的PC又はビデオゲームコンソールの利用可能な全てのRAMを急速に消費してしまう。 Current GPU technology is a render the number and texture of polygons in track surface and the surface can be illuminated in real time, a polygon and texture changes every frame time (which is the most photoreal results If that occurs) is, resulting in rapid consumption of the modern PC or video game console all of RAM available.

上述したストリーミング幾何学形状技術を使用すると、app/gameゲームサーバー1521−1525へ幾何学形状を連続的に供給して、ホトリアルな顔を連続的にアニメ化し、生の動きの顔とほとんど見分けがつかない顔をもつビデオゲームを作成できるようにするが実際的である。 When you use the streaming geometry techniques described above, by continuously feeding the geometric shape to app / game game server 1521 - 1525, continuously animated the photoreal face, with little to distinguish the face of the raw movement to be able to create a video game that has a face that does not stick, but it is practical.

リニアなコンテンツと双方向特徴との一体化 Integration of the linear content and interactive features
動画、テレビ番組及びオーディオ資料(集合的に「リニアコンテンツ」)は、家庭及びオフィスのユーザに多数の形態で広く利用することができる。 Videos, television programs and audio material (collectively, "linear content") can be widely used in many forms to the user's home and office. リニアコンテンツは、CD、DVD、HD−DVD及びBlu−rayメディアのような物理的なメディアにおいて取得することができる。 Linear content, can be acquired CD, DVD, in physical media, such as HD-DVD and Blu-ray media. 又、これは、衛星及びケーブルTV放送からDVRにより記録することもできる。 It also can be recorded by DVR from satellite and cable TV broadcast. そして、衛星及びケーブルTVを通してペイパービュー(PPV)コンテンツとして、及びケーブルTVのビデオオンデマンド(VOD)として利用することもできる。 Then, as the pay-per-view (PPV) content through satellite and cable TV, and can also be utilized as a cable TV for video on demand (VOD).

益々多くのリニアコンテンツが、インターネットを通して、ダウンロードされたコンテンツとして及びストリーミングコンテンツとして利用できるようになった。 More and more linear content, through the Internet, have become available and as streaming content as a download content. 今日、リニアメディアに関連した全ての特徴を経験するための場所は、実際に1つではない。 Today, all of the features of the place to experience related to the linear media, actually is not one. 例えば、DVD及び他のビデオ光学メディアは、典型的に、演出家の解説、「メーキングオブ(making of)」特徴、等のように、他の場所では利用できない双方向特徴を有する。 For example, DVD and other video optical media, typically, commentary of the director, "making-of (making of)" feature, as an equal, with a bi-directional features that are not available in other places. オンライン音楽サイトは、一般的にCDでは入手できないカバー技術及び歌情報を有するが、全てのCDをオンラインで入手できるのではない。 Online music sites, but generally have a cover art and song information not available in the CD, not to be able to get all of the CD online. 又、テレビ番組に関連したウェブサイトは、しばしば、特別な特徴、ブログ、及びときには、俳優又は創作スタッフからのコメントを有する。 In addition, the web site associated with the television program, often, special features, blogs, and in time, with a comment from the actor or creative staff.

更に、多くの動画又はスポーツの出来事では、(動画の場合)しばしばリニアメディアと一緒に発売されるか、或いは(スポーツの場合)実世界の出来事(例えば、プレーヤのトレード)に密接に結びついたビデオゲームがしばしばある。 In addition, in the event of a number of videos or sports, (in the case of video) often or it will be released in conjunction with the linear media, or (in the case of sports) real-world events (for example, the player of the trade) to closely linked video game often.

ホスティングサービス210は、異なる形態の関連コンテンツと一緒にリンクしてリニアコンテンツを配布するのに良く適している。 Hosting service 210 is well suited for distributing linear content linked with related content in different forms. 確かに、動画の配信は、もはや、高度な双方向性のビデオゲームを配信する挑戦ではなく、ホスティングサービス210は、リニアコンテンツを家庭又はオフィスの広範な装置或いは移動装置へ配信することができる。 Indeed, video delivery is no longer a challenge to deliver a high degree of interactivity of video games, the hosting service 210, it is possible to deliver the linear content to a wide variety of device or mobile device of the home or office. 図23は、リニアコンテンツの選択を示すホスティングサービス210の規範的なユーザインターフェイスページを示している。 Figure 23 shows a normative user interface page for hosting service 210 that shows a selection of linear content.

しかし、ほとんどのリニアコンテンツ配信システムとは異なり、ホスティングサービス210は、関連する双方向コンポーネント(例えば、DVDにおけるメニュー及び特徴、HD−DVDにおける双方向オーバーレイ、及びウェブサイトにおけるAdobe Flashアニメーション(以下に述べる))を配信することもできる。 However, unlike most linear content delivery system, hosting service 210, the associated bi-directional components (for example, bi-directional overlay on the menu and features, HD-DVD in the DVD, and described in the Adobe Flash animation (below in the web site )) it can also be used to deliver. 従って、クライアント装置415の制限は、どの特徴が利用できるかについて、もはや制限を導入しない。 Therefore, limitations of the client device 415, about which features are available, not introduce longer limited.

更に、ホスティングサービス210は、リニアコンテンツをビデオゲームコンテンツと動的に且つリアルタイムでリンクすることができる。 Further, the hosting service 210 can link the linear content in the video game content and dynamically and real time. 例えば、ユーザがハリーポッターの映画においてクィディッチの試合を見て、クィディッチのプレイにトライしたい場合に、ボタンをクリックするだけで、映画を休止し、直ちに、ハリーポッタービデオゲームのクィディッチセグメントへ移ることができる。 For example, a user is looking at the Quidditch match in the movie of Harry Potter, if you want to try to play Quidditch, just click the button to pause the movie, immediately, it moves to the Quidditch segment of the Harry Potter video game it can. クィディッチの試合をプレイした後に、ボタンの別のクリックで、即座に映画が再開する。 After playing Quidditch match, with another click of a button, instantly movie resume.

写真的に捕獲されたビデオが生の動きのキャラクタと見分けがつかないようなホトリアルなグラフィック及び制作技術では、ユーザが、生の動きの映画におけるクィディッチゲームから、ここに述べるホスティングサービスにおけるビデオゲームのクィディッチゲームへ移行するときに、2つのシーンは、実質上、見分けがつかない。 In the photographically captured video is raw movement of the character and distinguish the photorealistic graphics and production techniques, such as not stick, the user, from the raw movement of Quidditch game in the movie, a video game in the hosting service as described herein when you migrate to the Quidditch game, the two scenes, virtually indistinguishable. これは、2つの世界の間の線が見分けられないのでリニアコンテンツ及び双方向(例えば、ビデオゲーム)コンテンツの両方の演出家にとって全く新しい創作オプションを与える。 This is, because the line between the two worlds can not be distinguished linear content and two-way (for example, video games) give a whole new creative options for both the content director.

図14に示すホスティングサービスアーキテクチャーを使用して、3D映画のバーチャルカメラの制御権を視聴者に与えることができる。 Use hosting service architecture shown in FIG. 14, it is possible to provide control of the virtual camera 3D movie viewers. 例えば、列車の車両内で生じるシーンでは、視聴者がバーチャルカメラを制御して、ストーリーが進行する間に車両の周囲を見ることができる。 For example, in a scene occurring in the train of the vehicle, can be seen around the vehicle while the viewer to control the virtual camera, the story progresses. これは、車両内の全ての3Dオブジェクト(アセット)が利用できると共に、シーンをリアルタイムでレンダリングできる充分なレベルの計算パワー、及びオリジナルの映画を仮定している。 This, along with all of the 3D objects in the vehicle (assets) are available, it is assumed sufficient level of computing power capable of rendering the scenes in real-time, and the original movie.

そして、非コンピュータ発生娯楽であっても、非常にエキサイティングな双方向特徴を提供することができる。 Then, even in non-computer generated entertainment, it can provide a very exciting interactive features. 例えば、2005動画“高慢と偏見(Pride and Prejudice)”は、華麗な古い英国風大邸宅における多くのシーンを有している。 For example, 2005 motion picture "Pride and Prejudice (Pride and Prejudice)" has a lot of scenes in brilliant old British Kazedai mansion. 大邸宅の幾つかのシーンに対し、ユーザは、ビデオを休止し、次いで、カメラを制御して、大邸宅の塔、又はおそらく、周囲のエリアを撮影することができる。 To several scenes mansion, the user pauses the video, and then controls the camera, tower mansion, or perhaps it is possible to shoot around the area. これを具現化するために、従来のアップル社のQuickTime VRが具現化されたのと同様に、位置を見失わないように魚眼レンズをつけて大邸宅を通してカメラを搬送することができる。 To realize this, just as QuickTime VR conventional Apple is embodied, it is possible to carry the camera through the mansion with a fish-eye lens so as not to lose sight of the position. 次いで、種々のフレームが変換され、従って、映像は歪むことなく、映画と共にRAIDアレイ1511−1512に記憶され、そしてユーザがバーチャルの塔に行くことを選択したときに再生することができる。 Then, various frames are converted, therefore, images without distortion is stored in RAID arrays 151 1 -1512 along with the movie, and the user can be reproduced when you choose to go on a virtual tower.

スポーツ行事では、バスケットボールゲームのような生のスポーツ行事を、ユーザが普通のTVで見るために、ホスティングサービス210を通してストリーミングすることができる。 In sporting events, live sports events such as basketball games, in order to see the user in the usual TV, can be streamed through the hosting service 210. ユーザが特定のプレイを見た後に、ゲームのビデオゲーム(最終的には実際のプレーヤと同程度ホトリアルに見えるバスケットプレーヤを伴う)を、プレーヤが同じ位置でスタートして始めることができ、そしてユーザ(おそらく各々1人のプレーヤの制御権を得ている)がプレイをやり直して、プレーヤよりうまくいくかどうか確かめることができる。 After the user has seen a particular play, the game of video game (eventually with a basket player that looks to the actual player and the same degree photorealistic), it can be the player begins to start at the same position, and user (probably taken control of each one of the player) and try again is playing, it is possible to ascertain whether successful than players.

ここに述べるホスティングサービス210は、この未来派的な世界をサポートするのに非常に良く適している。 Hosting service 210 to be described here is very well suited to support this futuristic world. というのは、家庭又はほとんどのオフィス設定でインストールするのが不可能である計算パワー及び大量記憶リソースを保持することができ、又、家庭用設定では常に古い世代のPC及びビデオゲームをもつものとなるが、その計算リソースは、入手可能な最新の計算ハードウェアで、常に、最新のものだからである。 Because, it is possible to hold the computing power and mass storage resources to install at home or most of the office setting is impossible, also, to those that have always older generation of PC and video games in the home setting made, but the computational resources, in the latest available of computing hardware, it is always, because up-to-date. そして、ホスティングサービス210では、この計算の複雑さが全てユーザから隠され、従って、非常に精巧なシステムを使用しても、ユーザの観点から、テレビのチャンネルを切り換えるように簡単である。 Then, the hosting service 210, the computational complexity is hidden from all users, therefore, also be used very sophisticated systems, from the user's point of view, it is easy to switch channels on a television. 更に、ユーザは、全ての計算パワーにアクセスし、そして計算パワーがクライアント415から得られるところの経験にアクセスすることができる。 Furthermore, the user can access all of computing power and computational power to access experience where obtained from the client 415.

マルチプレーヤゲーム Multi-player games
ゲームがマルチプレーヤゲームであるという点で、インバウンドルーティング1502のネットワークを通してapp/gameゲームサーバー1521−1525と通信できると共に、インターネット(図示せず)へのネットワークブリッジで、ホスティングサービス210において実行されないサーバー又はゲームマシンと通信することができる。 Game in that they are multi-player games, it is possible to communicate with the app / game game server 1521-1525 through the network of the inbound routing 1502, Internet network bridge (not shown), are not executed in the hosting service 210 server or it is possible to communicate with the game machine. 一般的なインターネットにおけるコンピュータでマルチプレーヤゲームをプレイするときには、app/gameゲームサーバー1521−1525は、インターネットへのアクセスが非常に速い(ゲームが家庭のサーバーで実行された場合に比して)という利点を有するが、低速な接続でゲームをプレイする他のコンピュータの能力により制限を受けると共に、インターネット上のゲームサーバーが、比較的低速の消費者用インターネット接続上の家庭用コンピュータである最小公分母を受け容れるように設計されたことによっても潜在的に制限を受ける。 When you play a multi-player game on a computer in the general Internet, app / game game server 1521 - 1525, that access to the Internet is very fast (as compared with the case where the game has been executed in the home server) has the advantage, with restricted by the ability of the other computers playing the game on slower connections, the lowest common denominator game servers on the Internet is the relatively slow home computer on consumer Internet connections potentially receive limited by designed receiving accommodate manner.

しかし、マルチプレーヤゲームが完全にホスティングサービス210のサーバーセンター内でプレイされるときには、差の世界を達成することができる。 However, when the multi-player game is played entirely in the server center of the hosting service 210, it is possible to achieve a world of difference. ユーザのためのゲームをホストする各app/gameゲームサーバー1521−1525は、他のapp/gameゲームサーバー1521−1525と、非常に高速で非常に短待ち時間の接続及び膨大な非常に高速の記憶アレイをもつマルチプレーヤゲームのための集中制御をホストするサーバーとに相互接続される。 Each app / game game server 1521-1525 hosting a game for a user, the other app / game game server 1521 -1525, very very connected low-latency and large very fast memory at high speed It is interconnected to the server hosting the central control for the multiplayer game having an array. 例えば、インバウンドルーティング1502のネットワークにギガビットのイーサネットが使用される場合には、app/gameゲームサーバー1521−1525は、ギガビット/秒の速度において潜在的に1ms以下の待ち時間で、互いに通信すると共に、マルチプレーヤゲームのための集中制御をホストするサーバーとも通信する。 For example, with the case where the network of the inbound routing 1502 Gigabit Ethernet is used, app / game game server 1521 - 1525, with potentially less latency 1ms at gigabit / second speed, to communicate with each other, the centralized control for multi-player games to communicate with the server that hosts. 更に、RAIDアレイ1511−1512は、非常に迅速に応答し、そしてギガビット/秒の速度でデータを転送することができる。 Furthermore, RAID arrays 1511-1512 will very quickly respond, and can transfer data at gigabit / second speed. 例えば、家庭においてPC又はゲームコンソールで実行されるゲームクライアントに制限された従来のシステムで、キャラクタが大量の幾何学形状及びそのキャラクタ独特の挙動を有するように、容貌及び服装に関してユーザがキャラクタをカスタマイズする場合に、そのキャラクタが別のユーザの視野に入ってきた場合には、ユーザは、長くて低速のダウンロードが完了して全ての幾何学形状及び挙動データがコンピュータにロードされるまで、待機しなければならなくなる。 Customization example, in a conventional system is limited to the game client in a home is run on a PC or game console, as the character has a large amount of geometry and character peculiar behavior that the user character with respect to appearance and clothing when, in which case the character has entered the field of view of another user, the user, until all of the geometry and behavior data download is complete slow long is loaded into the computer, waits no longer must be. ホスティングサービス210内では、その同じダウンロードを、RAIDアレイ1511−1512から対応されるギガビットのイーサネットを経てギガビット/秒の速度で行うことができる。 The hosting service 210. The same download that can be carried out at gigabit / second speed via the Gigabit Ethernet, which is associated from the RAID arrays 1511-1512. 家庭のユーザが8Mbpsのインターネット接続(これは、今日の規格では非常に高速である)を有する場合でも、ギガビットイーサネットは、100倍も高速である。 Users Internet connection of 8Mbps home (which is very fast in today's standards), even if they have a, Gigabit Ethernet, 100 times is also a high speed. 従って、高速インターネット接続で1分かかるものが、ギガビットイーサネットでは1秒未満である。 Therefore, consuming 1 minute at high speed Internet connection, a Gigabit Ethernet is less than 1 second.

トッププレーヤグループ及びトーナメント The top group of players and tournament
ホスティングサービス210は、トーナメントに非常に良く適している。 Hosting service 210 is very well suited to the tournament. ローカルクライアントではゲームが実行されないので、ユーザがチートする機会がない。 Since the game is not being run on the local client, there is no opportunity for the user to cheat. 又、出力ルーティング1540がUDPストリームをマルチキャストできるので、ホスティングサービス210は、メジャートーナメントを観衆の中の数千の人々に一度にブロードキャストすることができる。 In addition, the output routing 1540 can multicast the UDP streams, the hosting service 210 may broadcast one time major tournaments to thousands of people in the audience.

実際に、数千のユーザが同じストリーム(例えば、メジャートーナメントのビューを示す)を受信するように普及した幾つかのビデオストリームがあるときは、多くのクライアント装置415へ大量配布するためにAkamai又はLimelightのような「コンテンツデリバリーネットワーク」(CDN)へビデオストリームを送信するのがより効率的である。 Indeed, thousands of users are the same stream (e.g., showing views of a major tournament) when there are several video streams spread to receive the, Akamai or to mass distribution to many client devices 415 it is more efficient to send the video stream to "content delivery network" (CDN) such as Limelight.

CDNを使用してトッププレーヤグループの「ゲームファインダー」ページを示すときには、同様の効率レベルを得ることができる。 When indicating "Game Finder" page top player group with the CDN can obtain the same efficiency level.

メジャートーナメントの場合、生の有名アナウンサを使用して、ある試合中に実況放送することができる。 In the case of a major tournament, using the raw famous announcer, it is possible to broadcast live during a game. メジャートーナメントを見ているのは大勢のユーザであるが、トーナメントでプレイするのは比較的少数である。 Is a large number of users are you looking at a major tournament, it is a relatively small number to play in the tournament. 有名アナウンサからの音声は、トーナメントでプレイしているユーザをホストすると共にトーナメントにおけるゲームの観客モードコピーをホストするapp/gameゲームサーバー1521−1525へルーティングすることができ、そしてその音声は、ゲーム音声の上にオーバーダビングすることができる。 Famous audio from the announcer, can be routed to the app / game game server 1521 - 1525 that will host the audience mode copy of the game in the tournament along with the hosts a user you are playing in a tournament, and the voice is, game sound it is possible to over-dubbing on top of the. 有名アナウンサの映像も、ゲームにオーバーレイし、おそらくは、観客のビューにオーバーレイすることができる。 The video of the famous announcer also, to overlay the game, perhaps, it is possible to overlay the audience of the view.

ウェブページロードの加速 Acceleration of web page load
ワールドワイドウェブ、その一次トランスポートプロトコルであるハイパーテキストトランスファープロトコル(HTTP)は、ビジネスだけが高速インターネット接続をもちそしてオンラインにいる消費者がダイヤルアップモデム又はISDNを使用していた時代に考えられ定義されたものである。 World Wide Web, hypertext transfer protocol, which is the primary transport protocol (HTTP) is considered at a time when consumers were using a dial-up modem or ISDN only business you are in have and online high-speed Internet connection definition it is those that have been. そのとき、高速接続用の「黄金律(gold standard)」は、1.5Mbpsのデータレートを対称的に(即ち、両方向に等しいデータレートで)与えるT1ラインであった。 Then, "Golden Rule (gold standard)" for high-speed connection, symmetrically data rates 1.5 Mbps (i.e., with equal data rate in both directions) giving was a T1 line.

今日、状況は、完全に異なる。 Today, the situation is completely different. 開発された世界の多くにおいてDSL又はケーブルモデム接続を通る平均的な家庭用接続の速度は、T1ラインより遥かに高いダウンストリームデータレートを有している。 Average speed home connection through a DSL or cable modem connections in much of the developed world has a far higher downstream data rate than a T1 line. 実際に、世界の幾つかの部分では、ファイバー・ツー・ザ・カーブ(fiber-to-the-curb)が、50ないし100Mbps程度の高さのデータレートを家庭へ運ぶ。 In fact, in some parts of the world, fiber-to-the-curve (fiber-to-the-curb) is, 50 to carry the data rate of the height of about 100Mbps to the home.

不都合なことに、HTTPは、これらの急激な速度改善の利点を効果的に取り入れるように構成されてこなかった(又、具現化もされなかった)。 Unfortunately, HTTP was not been configured to incorporate the advantages of these rapid speed improving effectively (also was not also embodied). ウェブサイトは、リモートサーバーにおけるファイルの集合である。 Web site is a collection of files in the remote server. 非常に簡単に言えば、HTTPは、第1のファイルを要求し、そのファイルがダウンロードされるのを待機し、次いで、第2のファイルを要求し、そのファイルがダウンロードされるのを待機し、等々である。 In very simple terms, HTTP requests the first file, waits for the file to be downloaded, then the second file requested to wait for the file to be downloaded, and so on. 実際に、HTTPは、2つ以上の「オープン接続」を許し、即ち一度に2つ以上のファイルを要求できるようにするが、合意された規格(及びウェブサーバーが過負荷にならないよう防止する要望)があるために、非常に僅かなオープン接続しか許されない。 In fact, HTTP is, forgiveness two or more of the "open connection", that is, to be able to request more than one file at a time, to prevent as agreed-upon standards (and the web server is not overloaded demand ) is because of, not only allowed a very small open connection. 更に、ウェブページが構成される方法のために、ブラウザは、多くの場合、直ちにダウンロードに利用できる複数の同時のページに気付かない(即ち、ページをパーズした後にのみ、映像と同様に、新たなファイルをダウンロードする必要があることが明らかとなる)。 In addition, because of the way the web page is constructed, the browser, in many cases, unaware of the multiple simultaneous pages available to download immediately (that is, only after you parse the page, in the same way as the video, the new It becomes apparent that there is a need to download the file). 従って、ウェブサイトのファイルは、本質的に1つ1つロードされる。 Therefore, the web site files are essentially one single load. そして、HTTPによって使用される要求及び応答プロトコルのために、ロードされる各ファイルに関連して(米国で典型的なウェブサーバーにアクセスすると)おおよそ100msの待ち時間がある。 And for request and response protocol used by HTTP, (when accessing typical web servers in the US) associated with each file that is loaded is approximately 100ms of latency.

比較的低速の接続では、これにより大きな問題が導入されることはない。 In a relatively slow connection, thereby it does not have major problems are introduced. というのは、ファイルそれ自体のダウンロード時間がウェブページの待ち時間を支配するからである。 Because the download time of the file itself is because to dominate the waiting time of the web page. しかし、接続速度が上がるにつれて、特に、複雑なウェブページでは、問題が起き始める。 However, as the connection speed increases, in particular, in a complex web page, the problem begins to occur.

図24に示す例では、典型的な商業的ウェブサイトが示されている(この特定のウェブサイトは、一流運動選手用の靴のブランドからのものである)。 In the example shown in FIG. 24, a typical commercial website is shown (this particular website is from brand shoes for leading athletes). このウェブサイトには、54のファイルがある。 The web site, there are 54 files. これらファイルは、HTML、CSS、JPEG、PHP、Java(登録商標)Script、及びFlashファイルを含むと共に、ビデオコンテンツを含む。 These files, HTML, CSS, JPEG, PHP, Java (registered trademark) Script, and together with, including the Flash file, including video content. ページが生になる(即ち、ユーザがそれをクリックして、それを使用し始める)前に、合計1.5Mバイトをロードしなければならない。 Page is live (ie, the user click on it, and begin to use it) before, must be loaded with a total of 1.5M bytes. 多数のファイルには、多くの理由がある。 The large number of files, there are a number of reasons. 1つのこととして、複雑で且つ精巧なウェブページであり、そして別のこととして、ページにアクセスするユーザに関する情報(例えば、ユーザの母国、言語、以前に購入したかどうか、等)に動的に基づいてアッセンブルされるウェブページであり、そしてこれら全てのファクタに基づいて、異なるファイルがダウンロードされる。 As one thing, a complex and sophisticated webpage, and Another thing, information about the user accessing the page (e.g., whether purchased the user's native language, before, etc.) to dynamically is a web page is assembled on the basis of, and on the basis of all of these factors, different file is downloaded. 依然、これは、非常に典型的な商業用ウェブページである。 Still, this is a very typical commercial web page.

図24は、接続速度が上がるにつれてウェブページが生になるまでに経過する時間量を示している。 Figure 24 shows the amount of time that elapses before the web page is live as the connection speed increases. 1.5Mbpsの接続速度2401では、従来のウェブブラウザを伴う従来のウェブサーバーを使用すると、ウェブページが生になるまでに13.5秒を要する。 In 1.5Mbps connection speed 2401, the use of conventional web server with a conventional web browser, it takes 13.5 seconds to the web page is live. 12Mbpsの接続速度2402では、ロード時間は、6.5秒に短縮され、即ち約2倍の速さになる。 In 12Mbps connection speed 2402, the load time is reduced to 6.5 seconds, that is, the speed of approximately 2-fold. しかし、96Mbpsの接続速度2403では、ロード時間は、約5.5秒までしか短縮されない。 However, the connection speed 2403 of 96Mbps, the load time, not shortened only up to about 5.5 seconds. その理由として、このように高いダウンロード速度では、ファイルそれ自体をダウンロードするための時間は最小であるが、ファイル当たりの待ち時間、各々約100msが依然あって、その結果、54ファイル*100ms=5.4秒の待ち時間となる。 The reason is that in such a high download speed, the file is the time to download itself a minimal latency per file, there respectively approximately 100ms is still a result, 54 files * 100ms = 5 a .4 seconds of waiting time. 従って、家庭への接続がどれほど速くても、このウェブサイトは、常に、それが生となるまでに少なくとも少なくとも5.4秒を要する。 Therefore, even if the connection to the home is how fast, this web site is, always, it requires at least at least 5.4 seconds until it is raw. 別のファクタは、サーバー側のキューイングであり、即ち各HTTP要求がキューの後部に追加され、従って、ビジーのサーバーでは、これが大きな影響を及ぼす。 Another factor is the queuing server side, that each HTTP request is added to the rear of the queue, thus, in the busy server, which greatly affects. というのは、ウェブサーバーから小さなアイテムを得るたびに、HTTP要求がその方向転換を待機する必要があるためである。 Since, each time to obtain a small item from a web server, and it is necessary to HTTP requests will wait for its turning.

これらの問題を解決する1つの仕方は、HTTPを破棄するか又は再定義することである。 One way to solve these problems is to or redefine discarding HTTP. 或いは、おそらく、ウェブサイト所有者がそのファイルを単一のファイル(例えば、Adobe Flashフォーマットの)へうまく合併することである。 Or, perhaps, the web site owner is the file of a single file (for example, Adobe of Flash format) is to merge successfully to. しかし、実際的な問題として、この会社及び多くの他の者は、そのウェブサイトアーキテクチャー多大な投資をしている。 However, as a practical matter, this company and many of the other person, and the web site architecture significant investment. 更に、ある家庭は、12−100Mbpsの接続を有するが、大多数の家庭は、依然、ゆっくりした速度であり、HTTPも、低速度で機能する。 Furthermore, some households, but has a connection 12-100Mbps, the majority of homes, still a slower rate, HTTP also function at a low speed.

1つの別の仕方は、app/gameサーバー1521−1525のウェブブラウザをホストすると共に、RAIDアレイ1511−1512のウェブサーバーに対するファイルをホストすることである(或いは潜在的にウェブブラウザをホストするapp/gameサーバー1521−1525のRAM又はローカル記憶装置において)。 One other way is, app / game together to host a web browser server 1521 -1525 is to host the files for the web servers RAID arrays 1511-1512 (or potentially to host a web browser app / in RAM or local storage game server 1521 -1525). インバウンドルーティング1502を通して(又はローカル記憶装置への)非常に高速の相互接続があるために、HTTPを使用してファイル当たり100msの待ち時間となるのではなく、HTTPを使用してファイル当たり最小の待ち時間となる。 Through the inbound routing 1502 (or to local storage) because of the very fast interconnect, rather than a latency of 100ms per file using HTTP, minimum waiting per file using HTTP time to become. 従って、家にいるユーザがHTTPを通してウェブページにアクセスするのではなく、ユーザは、クライアント415を通してウェブページにアクセスすることができる。 Therefore, rather than accessing the web page through HTTP is user in the home, the user is able to access the web page through the client 415. 次いで、1.5Mbpsの接続では(このウェブページがそのビデオに対して著しい帯域巾を要求しないので)、ウェブページは、線2400当たり1秒未満で生となる。 Then, the connection of 1.5 Mbps (because this web page does not require much bandwidth for its video), the web page, the live in less than 1 second per line 2400. 本質的に、app/gameサーバー1521−1525で実行されるウェブブラウザが生のページを表示するまでは待ち時間がなく、そしてクライアント415がウェブブラウザからのビデオ出力を表示するまでは検出可能な待ち時間がない。 In essence, app / game to the web browser, which is running on the server 1521 - 1525 to display the raw page there is no waiting time, and can be detected wait until the client 415 to display the video output from the web browser no time. ユーザがウェブページ上でマウス操作し及び/又はタイプするときに、ユーザの入力情報がapp/gameサーバー1521−1525で実行されるウェブブラウザへ送信され、そしてウェブブラウザが適宜に応答する。 User when mouse operation and / or types on the web page is sent to the web browser input information of the user is executed by the app / game server 1521 -1525, and the web browser will respond accordingly.

この解決策の1つの欠点は、コンプレッサがビデオデータを常時送信する場合に、ウェブページが静的なものとなっても、帯域巾が使用されることである。 One disadvantage of this solution is, if the compressor is constantly transmitted video data, even if the web page becomes static and is that the bandwidth is used. これは、ウェブページが変化するときだけ(及びその場合にのみ)データを送信し、次いで、変化したページの部分にのみデータを送信するようにコンプレッサを構成することにより、改善することができる。 This sends only (and if only) data when the web page is changed, then by configuring the compressor to send data only to the portion of the changed pages, can be improved. 常時変化するフラッシングバナー、等をもつ幾つかのウェブページがあるが、このようなウェブページは、うっとうしい傾向となり、通常、ウェブページは、何かが動く(例えば、ビデオクリップ)理由がない限り静的なものとなる。 Constantly changing flashing banner, etc. Although there are a number of web pages with such a web page, becomes annoying tendency, usually, web pages, something is moving (for example, video clips) static as long as there is no reason the ones. このようなウェブページの場合、おそらく、従来のウェブサーバーよりも少ないデータがホスティングサービス210を使用して送信される。 In the case of such a web page, perhaps, less data than a conventional web server is sent using the hosting service 210. というのは、実際に表示される映像だけが送信され、シンクライアント実行コードも、決して見ることのない大きなオブジェクト、例えば、ロールオーバー映像も、送信されないからである。 Since only images actually displayed is sent, the thin client executable code is also large objects never seen any way, for example, be a rollover images, because not transmitted.

従って、ホスティングサービス210を使用して、レガシーウェブページをホストすると、ウェブページのロード時間は、ウェブページをオープンすることがテレビのチャンネルを切り換えることと同じである点まで短縮することができ、即ちウェブページは、実際上瞬時に生となる。 Thus, using the hosting service 210, and to host the legacy web page, load time of web pages, it is possible to open a web page is shortened to the point is the same as switching the channel of the TV, that is web page is a raw practically instantaneously.

ゲーム及びアプリケーションのデバッグの容易化 Ease of debugging of games and applications
上述したように、リアルタイムグラフィックを伴うビデオゲーム及びアプリケーションは、非常に複雑なアプリケーションであり、典型的に、市場に発売されるときに、バグを含むことがある。 As described above, video games and applications involving real-time graphics are very complex applications, typically when they are released in the market, which may contain bugs. ソフトウェア開発者は、バグに関してユーザからフィードバックを得、そしてクラッシュ後にマシン状態を還元するための何らかの手段を有するが、ゲーム又はリアルタイムアプリケーションに何が起きてクラッシュさせ又は不適切に機能させたか厳密に識別することは非常に困難である。 Software developers, give feedback from users about bugs, and has some means for reducing the machine state after a crash, either exactly identify what was allowed or improperly functioning crash occurred in the game or real-time application it is very difficult to.

ゲーム又はアプリケーションがホスティングサービス210で実行されるときに、ゲーム又はアプリケーションのビデオ/オーディオ出力は、遅延バッファ1515に常時記録される。 When a game or an application running on the hosting service 210, the video / audio output of the game or application is constantly recorded on a delay buffer 1515. 更に、ウオッチドッグプロセスが、各app/gameサーバー1521−1525を動作させ、app/gameサーバー1521−1525が円滑に動作することをホスティングサービスコントロールシステム401に規則的に報告する。 Additionally, watchdog process, operating each app / game server 1521-1525, app / game server 1521-1525 is regularly reported to the hosting service control system 401 to operate smoothly. ウオッチドッグプロセスが報告を怠った場合には、サーバーコントロールシステム401は、app/gameサーバー1521−1525と通信するように試み、それが成功すれば、どんなマシン状態が得られてもそれを収集する。 If the watchdog process fails to report server control system 401 attempts to communicate with the app / game server 1521 -1525, if it succeeds, even any machine state is obtained to collect it . どんな情報が得られてもそれが、遅延バッファ1515に記録されたビデオ/オーディオと共に、ソフトウェア開発者へ送信される。 It Whatever information is available, along with the video / audio recorded in the delay buffer 1515 and sent to the software developer.

従って、ゲーム又はアプリケーションソフトウェアの開発者が、ホスティングサービス210からクラッシュの通知を得ると、何がクラッシュを招いたかのフレームごとの記録を得る。 Accordingly, developers of the game or application software, when the hosting service 210 to obtain notification of a crash, what obtain a record of each of frames led to the crash. この情報は、バグを追跡して修理する上で非常に価値がある。 This information is very valuable in the repair track bugs.

又、app/gameサーバー1521−1525がクラッシュすると、サーバーは、最も最近の再スタート可能な点において再スタートされ、そして技術的な困難さについて謝罪するメッセージがユーザに与えられる。 In addition, when the app / game server 1521-1525 crashes, the server, the most recent of the re-start in terms that can be re-start, and the message to apologize for the technical difficulties is provided to the user.

リソースの共有及びコストの節約 Sharing and cost savings of resources
図4a及び4bに示されたシステムは、エンドユーザとゲーム及びアプリケーションの開発者の両方に種々の利益を与える。 The system shown in Figures 4a and 4b provide a variety of benefits for both developers end users and game and application. 例えば、典型的に、家庭及びオフィスのクライアントシステム(例えば、PC又はゲームコンソール)は、一週間に僅かな時間しか使用されない。 For example, typically, the client system of home and office (for example, PC or game console) is not used only a short time in a week. ニールセンエンターテイメント“Active Gamer Benchmark Study”(による2006年10月5日プレスリリースによれば、積極的なゲーマーは、一週間に平均14時間を費やしてビデオゲームコンソールをプレイし、そして一週間に約17時間をハンドヘルド状態にしている。 Nielsen Entertainment "Active Gamer Benchmark Study" 2006 years due to ( 10 January 5 According to the press release, aggressive gamers, has been playing a video game console spend on average 14 hours a week, and about 17 hours a week to hand-held state. 又、このレポートは、(コンソール、ハンドヘルド及びPCゲームプレイを含む)全てのゲームプレイ活動に対し、積極的なゲーマーは、一週間に平均13時間を費やすと述べている。 In addition, this report is, to the (console, handheld and a PC game play) all of the game play activity, aggressive gamers, has said that spend an average 13 hours a week. コンソールビデオゲームのプレイ時間が高い数値であることを考慮すれば、一週間は、24*7=168時間であり、これは、積極的なゲーマーの家では、ビデオゲームコンソールが一週間の時間のうち17/168=10%しか使用されないことを意味する。 Considering that the play time of the console video game is a high number, one week, a 24 * 7 = 168 hours, this is, of aggressive gamer in the house, video game console is a week of time of 17/168 = only 10% which means that it will not be used. 即ち、90%の時間は、ビデオゲームコンソールがアイドル状態である。 In other words, 90% of the time, the video game console is in an idle state. 高いコストのビデオゲームコンソールであり、そして製造者がこのような装置に助成しているとすれば、高価なリソースの非常に非効率的な使い方である。 A high cost of video game consoles, and manufacturer if being subsidize such devices, it is highly inefficient use of expensive resources. 会社の中のPCも、典型的に、一週間のうち僅かな時間しか使用されず、特に、Autodesk Mayaのようなハイエンドアプリケーションにしばしば要求される非ポータブルのデスクトップPCがそうである。 PC in the company is also, typically, only a small time a week without being used, in particular, non-portable desktop PC, which is often required in high-end applications such as Autodesk Maya is the case. ある会社は、全ての時間及び休日も営業し、そしてあるPC(例えば、夜家で仕事をするために持ち運ばれるポータブル)は、全ての時間及び休日も使用されるが、会社のほとんどの活動は、月曜日から金曜日まで所定の営業時間ゾーンのほぼAM9時からPM5時までを中心とする傾向があり、休日や休息時間(昼食時のような)にはほとんど行われず、又、ほとんどのPC使用は、ユーザがPCに積極的に関わる間に生じるので、デスクトップPCの使用は、これらの営業時間に従う傾向となる。 Some companies, also open all of the time and holidays, and a PC (for example, portable to be carried in order to work at night the house), which is also used all of the time and holidays, most of the activities of the company is, there is a tendency to center from the time almost AM9 of a given operating time zone until PM5 from Monday to Friday, most done not on holiday and rest time (such as during lunch), also, use most of the PC is, since the user is generated between the actively involved in PC, use of the desktop PC is a tendency to follow these business hours. PCが、週5日間、AM9時からPM5時まで恒常的に使用されると仮定すれば、PCが週の時間の40/168=24%使用されることを意味する。 PC is, 5 days a week, if assumed to be permanently employed o'clock AM9 o'clock PM5, it means that the PC is used 40/168 = 24% of the time of the week. 高性能デスクトップPCは、会社にとって非常個高価な投資であり、これは、非常に低い利用レベルを反映している。 High-performance desktop PC is a very individual expensive investment for the company, which reflects the very low utilization level. デスクトップコンピュータで授業する学校は、週のより小さな時間巾でもコンピュータを使用し、授業時間に基づいて変化するが、ほとんどの授業は、月曜日から金曜日までの昼間の時間中に行われる。 School for teaching the desktop computer, use the computer more even with a small duration of the week, will vary based on class time, most of the classes, carried out during the daytime hours from Monday to Friday. 従って、一般的に、PC及びビデオゲームコンソールは、週の時間の僅かな部分でしか利用されない。 Therefore, in general, PC and video game console is not used only by the time a small portion of the week.

特に、多くの人々は、平日月曜日から金曜日の昼間の時間中は会社や学校にいるので、これらの人々は、一般的に、これらの時間中はビデオゲームをプレイせず、従って、ビデオゲームをプレイするのは、一般的に、夜や週末や休日のような他の時間中である。 In particular, many of the people, because during the Friday daytime time weekdays from Monday are in the company or school, these people, in general, in these times do not play video games, and therefore, the video game to play, generally, it is in the evening or on weekends or other time, such as a holiday.

図4aに示すホスティングサービスの構成が与えられると、上述した2つの段落で述べた使用パターンは、リソースの非常に効率的な利用を生じる。 When the configuration of the hosting service shown in Figure 4a is given, use described in the two paragraphs above pattern results in a very efficient use of resources. 明らかなように、特に、ユーザが、精巧な3Dビデオゲームのような複雑なアプリケーションに対してリアルタイム応答を要求する場合には、所与の時間にホスティングサービス210によってサービスを受けることのできるユーザの数に限度がある。 Obviously, in particular, when the user requests real-time response for complex applications like sophisticated 3D video game, the user can receive the service by the hosting service 210 at a given time there is a limit to the number. しかし、典型的にほとんどの時間アイドル状態にある家庭のビデオゲームコンソールや会社で使用されるPCとは異なり、サーバー402は、異なる時間に異なるユーザにより再利用することができる。 However, unlike the typically most of the PC to be used in the video game console and the company's home some time in the idle state, server 402, can be reused by different users at different times. 例えば、高性能のデュアルCPU及びデュアルGPUと大容量のRAMとを伴う高性能サーバー402は、平日のAM9時からPM5時まで会社及び学校により利用することができるが、夜、週末及び休日には精巧なビデオゲームをプレイするゲーマーにより利用することができる。 For example, high-performance server 402 with a high-performance dual-CPU and dual GPU and a large amount of RAM, but can be used by the company and school on weekdays starting at AM9 o'clock PM5, night, on weekends and holidays it can be used by gamers to play a sophisticated video game. 同様に、低性能のアプリケーションは、Celeron CPUをもち、GPUをもたず(又は非常にローエンドのGPUをもち)且つ制限されたRAMをもつ低性能サーバー402において会社の時間中に会社及び学校によって利用することができ、そして低性能ゲームは、会社の時間中でないときに低性能サーバー402を利用することができる。 Similarly, low-performance applications has a Celeron CPU, by companies and schools during company time in low performance server 402 with no GPU (or a very has a low-end GPU) and limited RAM it is possible to use, and low-performance game, it is possible to use a low-performance server 402 when not in the company of the time.

更に、ここに述べるホスティングサービス構成では、数百万でなくても数千のユーザ間でリソースが効率的に共用される。 Furthermore, in the hosting service arrangement described herein, resources among millions a not in thousands users are efficiently shared. 一般的に、オンラインサービスは、所与の時間にサービスを利用する全ユーザベースの僅かな割合しかもたない。 Generally, online services, has only a small fraction of the total user base using the service at a given time. 上述したニールセンのビデオゲーム使用統計値を考えると、なぜそうなるか調べることは容易である。 Given the video game usage statistics value of the above-mentioned Nielsen, it is easy to find out why so. 積極的なゲーマーがコンソールゲームを一週間に17時間しかプレイしない場合に、ゲームのピーク使用時間が、夜(5−AM12、7*5日=35時間/週)及び週末(AM8−AM12、16*2=32時間/週)の典型的な非仕事非会社時間中であると仮定すると、17時間のゲームプレイに対して一週間に35+32=65ピーク時間ある。 If the aggressive gamer is not only to play 17 hours a week the console game, peak usage times of the game, at night (5-AM12,7 * 5 days = 35 hours / week) and weekend (AM8-AM12,16 * 2 = 32 hours / week) typical non-work and assumed to be in a non-company time, there is 35 + 32 = 65 peak time in a week to the game play of 17 hours. システムに対する厳密なピークユーザ負荷は、多くの理由で推定が困難であり、即ちあるユーザは、オフピーク時間中にプレイし、ある日中の時間にユーザの集団ピークがあり、ピーク時間は、プレイするゲームの形式により影響され(例えば、子供のゲームは、おそらく、夜の早い時間にプレイされ)、等々である。 The exact peak user load on the system is difficult to estimate for many reasons, that is, the user is playing in the off-peak time, there is a population peak of user time in one day, the peak time, play it is influenced by the type of game (for example, children's games, perhaps, are played in the early hours of the night), and so on. しかし、ゲーマーがプレイする平均時間数が、ゲーマーがおそらくゲームをプレイする日の時間数より遥かに少ないとすれば、所与の時間にホスティングサービス210のユーザ数の一部分がそれを使用するだけである。 However, gamers the number of average time to play, if the gamer is probably much less than the number of hours of the day to play the game, only the number of users of a portion of the hosting service 210 at a given time to use it is there. この分析のためには、ピーク負荷が12.5%であると仮定しなければならない。 For this analysis, we must assume the peak load is 12.5%. 従って、計算、圧縮及び帯域巾リソースの12.5%が所与の時間に使用されるだけであり、その結果、リソースの再使用により所与の性能レベルのゲームをプレイするように所与のユーザをサポートするのにハードウェアコストの12.5%だけとなる。 Therefore, calculation, 12.5% ​​of compression and bandwidth resources are only used at a given time, so that the reuse of resources given to play a given level of performance game to support the user becomes the only 12.5% ​​of the hardware cost.

更に、あるゲーム及びアプリケーションが他のものより多くの計算パワーを要求するとすれば、ユーザによってプレイされるゲーム又は実行されるアプリケーションに基づいてリソースを動的に割り当てることができる。 Furthermore, if any games and applications require more computing power than others, it is possible to dynamically allocate resources based on the application to be a game or running is played by the user. 従って、低性能ゲーム又はアプリケーションを選択するユーザには、低性能(低廉な)サーバー402が割り当てられ、そして高性能ゲーム又はアプリケーションを選択するユーザには、高性能(より高価な)サーバー402が割り当てられる。 Therefore, a user selecting a low-performance game or applications, low-performance (inexpensive) server 402 is assigned, and a user selecting a high-performance game or applications, high-performance (more expensive) server 402 is assigned It is. 実際に、所与のゲーム又はアプリケーションは、ゲーム又はアプリケーションの低性能区分及び高性能区分を有し、そしてユーザは、ゲーム又はアプリケーションのニーズを満足する最低コストのサーバー402でのユーザの動作を保持するように、ゲーム又はアプリケーションの区分間で、あるサーバー402から別のサーバー402へスイッチすることができる。 Indeed, a given game or application, has a low performance section and high-performance sections of the game or applications, and the user holds the user's operation at the lowest cost server 402 that satisfies the needs of the game or application as to, among the game or application segment, it is possible to switch from one server 402 to another server 402. 単一のディスクより遥かに高速のRAIDアレイ405が、低性能のサーバー402でも使用でき、高速ディスク転送レートの利益を得る。 Fast RAID arrays 405 far than a single disk, can be used even low-performance servers 402, the benefit of high-speed disk transfer rates. 従って、プレイされるゲーム又は使用されるアプリケーションの全部にわたるサーバー402当たりの平均コストは、最高性能のゲーム又はアプリケーションをプレイする最も高価なサーバー402のコストよりかなり低く、更に、低性能サーバー402は、RAIDアレイ405からディスク性能の利益を導出する。 Thus, the average cost per server 402 across all of the applications that are game or use the play, well below the most expensive cost of the servers 402 to play highest performance game or applications, further low-performance servers 402, It derives the benefit of disk performance from the RAID array 405.

更に、ホスティングサービス210のサーバー402は、ネットワークインターフェイス以外のディスク又は周辺インターフェイスをもたないPCマザーボード以上のものではなく、やがて、SAN403への高速ネットワークインターフェイスのみをもつ単一チップへと一体化される。 Furthermore, the server 402 of the hosting service 210, not more than PC motherboard without a non-network interface disk or peripheral interfaces, finally, are integrated into a single chip with only fast network interface to the SAN403 . 又、RAIDアレイ405は、おそらく、ディスクより遥かに多数のユーザ間で共用され、従って、活動的なユーザ当たりのディスクコストは、1つのディスクドライブより遥かに低い。 Also, RAID arrays 405, perhaps, is shared among a much larger number of users than the disk, therefore, the disk cost per active user is much lower than one disk drive. この装置は、全て、おそらく、環境的に制御されたサーバールーム環境においてラック内に存在する。 This device, are all probably present in the rack in a environmentally controlled server room environment. サーバー402がフェイルした場合に、ホスティングサービス210において容易に修理又は交換することができる。 If the server 402 fails, it can be readily repaired or replaced at the hosting service 210. 対照的に、家庭又はオフィスにおけるPC又はゲームコンソールは、叩かれたり落とされたりすることによる適度な摩耗及び引き裂きに生き残ることができねばならず、ハウジングを要求し、少なくとも1つのディスクドライブを有し、悪い環境条件(例えば、他のギアでオーバーヘッドAVキャビネットへ詰め込まれる)に生き残らねばならず、サービス保証を要求し、パッケージされて出荷されねばならず、且つおそらく小売利ざやを徴収する小売店により販売される頑強なスタンドアローン機器でなければならない。 In contrast, PC, or game console in the home or office, not must be able to survive reasonable wear and tear due to or dropped or struck, requires a housing, has at least one disk drive sales, bad environmental conditions (for example, packed as in other gear to overhead AV cabinet) not must survive in, request a service guarantee, not must be shipped in a package, and perhaps by the retail store to collect the retail margins It must be a robust stand-alone equipment to be. 更に、PC又はゲームコンソールは、ほとんどの時間に低性能ゲーム又はアプリケーション(或いはゲーム又はアプリケーションの区分)がプレイされても、将来のある時点で使用される最も計算上強いと予想されるゲーム又はアプリケーションのピーク性能を満足するように構成されねばならない。 Furthermore, PC, or the game console, most even low-performance game or application (or a game or application segment) are played in time, the game or application is expected that most computationally intense used at some point in the future It must be configured so as to satisfy the peak performance. そして、PC又はコンソールがフェイルした場合に、それを修理するのは、高価で且つ時間のかかるプロセス(製造者、ユーザ及びソフトウェア開発者に悪影響が及ぶ)である。 When the PC or console has failed, to repair it is expensive and time-consuming process (manufacturer, a negative effect on the user and software developer ranges).

従って、図4aに示すシステムがローカル計算リソースに匹敵する経験をユーザに与えるとすれば、家庭、オフィス又は学校のユーザが所与のレベルの計算能力を経験するために、図4aに示すアーキテクチャーを通してその計算能力を与えるのにかなり低廉なものとなる。 Therefore, if give the user the experience of the system shown in FIG. 4a comparable to the local computing resource, home to the user's office or school to experience a computing power of a given level, the architecture shown in Figure 4a a fairly inexpensive to provide the computing power through.

アップグレードの必要性の排除 Elimination of the need for upgrade
更に、ユーザは、新たなゲームをプレイし又はより高い性能の新たなアプリケーションを取り扱うためにPC及び/又はコンソールをアップグレードすることに関して心配する必要はもはやない。 In addition, the user, there is no longer need to worry about that you upgrade your PC and / or console in order to handle the new application of playing a new game or higher performance. ホスティングサービス210におけるゲーム又はアプリケーションは、そのゲーム又はアプリケーションのためにどんな形式のサーバー402が要求されるかに関わらず、ユーザに利用することができ、全てのゲーム及びアプリケーションは、ほぼ即座に(即ち、サーバー402上のRAIDアレイ405又はローカル記憶装置から素早くロードされて)且つ最新の更新及びバグ修理で適切に実行される(即ち、ソフトウェア開発者は、所与のゲーム又はアプリケーションを実行するサーバー402にとって理想的なサーバー構成を選択し、次いで、最適なドライバを伴うサーバー402を構成することができ、そして時間の経過と共に、開発者は、ホスティングサービス210におけるゲーム又はアプリケーションの全てのコピーに更新、 Game or application in the hosting service 210, regardless of what kind format server 402 is required for that game or applications, can be utilized in a user, all games and applications, almost immediately (i.e. , it is quickly loaded from the RAID array 405 or local storage on the server 402) and are appropriately performed with the latest updates and bug fixes (i.e., software developers, server 402 to perform a given game or application select the ideal server configuration for, then it is possible to configure the server 402 with optimal drivers, and over time, the developer, update all copies of the game or application in the hosting service 210, グ修理、等を一度に与えることができる)。 It can give grayed repair, or the like at a time). 実際に、ユーザがホスティングサービス210の使用を開始した後に、ユーザは、おそらく、(例えば、更新及び/又はバグ修理を通じて)優れた経験を与え続けるゲーム及びアプリケーションを見出し、そしてユーザは、1年前に存在しなかったコンピューティング技術(例えば、高性能GPU)を使用するサービス210に新たなゲーム又はアプリケーションを利用できることを1年後に発見し、ひいては、1年後にゲームをプレイし又はアプリケーションを実行する技術を1年前に買うことがユーザにとって不可能であったことを発見することになろう。 In fact, after the user has started using the hosting service 210, the user is, perhaps, (for example, update and / or through the bug repair) heading the games and applications continue to provide an excellent experience, and user, 1 year ago computing technology (e.g., high-performance GPU) that did not exist discover the availability of new game or application to the service 210 to use after one year, therefore, executes playing the game or application after 1 year would be able to buy the technology a year ago to discover that it was not possible for the user. ゲームをプレイし又はアプリケーションを実行する計算リソースは、ユーザには見えないから(即ち、ユーザの観点から、ユーザは、テレビのチャンネルを切り換えるのと同様に、ほぼ瞬時に実行を開始するゲーム又はアプリケーションを単に選択するだけであるから)、ユーザのハードウェアは、ユーザが絶えずアップグレードに気付かなくても「アップグレード」されている。 Computing resources to run and play a game or application, because not visible to the user (that is, from the point of view of the user, the user, as well as switching the channel of the TV, game or application to start almost instantly to execution simply because it is only to select a), the user's hardware, without notice to the user is constantly upgrade has been "upgraded".

バックアップの必要性の排除 Elimination of the need for backup
会社、学校及び家庭においてユーザに対する別の主たる問題は、バックアップである。 Company, another major problem for the user in the school and home, is a backup. ローカルPC又はビデオゲームコンソールに記憶された情報(例えば、コンソールの場合には、ユーザのゲーム成績及びランキング)は、ディスクがフェイルするか、又は偶発的な消去があった場合に、失われる。 Local PC or video game console on the information stored (e.g., in the case of a console, game scores and ranking of users), when the disc had either failed, or accidental erasure, is lost. PCのための手動又は自動バックアップを与えるアプリケーションは、多数入手でき、ゲームコンソールの状態をバックアップのためにオンラインサーバーへアップロードできるが、ローカルバックアップは、典型的に、別のローカルディスク(又は他の不揮発性記憶装置)へコピーして、これをどこか安全な場所に保管し組織化しなければならず、又、オンラインサービスに対するバックアップは、典型的な低コストインターネット接続を通して利用できるのがゆっくりのアップストリーム速度であるから、しばしば制限がある。 Applications that give the manual or automatic backup for the PC, a large number available, but the state of the game console can be uploaded to an online server for backup, local backup is, typically, another local disk (or other non-volatile copy sexually storage device), must be kept to organize it somewhere safe, also backup for online services, typical low-cost can be available through an Internet connection is slow upstream because it is speed, often there is a limit. 図4aのホスティングサービス210では、RAIDアレイ405に記憶されるデータは、当業者に良く知られた従来のRAID構成技術を使用して、ディスクがフェイルした場合にも、データが失われず、そのフェイルしたディスクを収容しているサーバーセンターの専門家が通知を受けて、ディスクを交換し、RAIDアレイがもう一度フェイル許容となるよう自動的に更新されるように、構成することができる。 In the hosting service 210 of Figure 4a, the data that is stored in RAID arrays 405, using well-known conventional RAID configuration techniques to those skilled in the art, when a disk has failed is also not data is lost, the fail It was in response to the experts notification of server center that houses the disk, replace the disk, to be automatically updated so that the RAID array is a fail acceptable once again, can be configured. 更に、全てのディスクドライブが互いに近くにあり、そしてそれらの間にはSAN402を通して高速ローカルネットワークがあるので、サーバーセンターにおいて全てのディスクシステムを規則的に二次記憶装置でバックアップし、この二次記憶装置をサーバーセンターに保管するか又は離れた場所へ移すことは困難ではない。 Furthermore, close to all the disk drives from each other, and since between them there is a high-speed local network through SAN402, backed up by regular secondary storage all disk system in server centers, the secondary storage it is not difficult to move the device to or remote location to store the server center. ホスティングサービス210のユーザの視点から、データは、単純に常時セキュアなものであり、バックアップについて考える必要はない。 From the point of view of the users of the hosting service 210, data is intended simply as always secure, there is no need to think about backup.

デモへのアクセス Access to the demo
ユーザは、多くの場合に、ゲーム又はアプリケーションを購入する前にそれを試したがる。 The user, in many cases, eager to try it before you buy the game or application. 上述したように、ゲーム及びアプリケーションをデモする従来の手段があるが(「デモ」の動詞形は、デモンストレーションバージョンを試すことを意味し、これは、名詞として「デモ」とも称される)、それらの各々は、制限及び/又は不便さで悩まされている。 As described above, there is a conventional means of demonstration games and applications (the verb form of the "Demo" means to try a demonstration version, which is also referred to as "demo" as a noun), their each suffer restriction and / or inconvenience. ホスティングサービス210を使用すると、ユーザがデモを試すのが容易で且つ便利になる。 When you use the hosting service 210, the user is easy and convenient to try the demo. 実際に、全てのユーザがユーザインターフェイス(以下に述べるような)を通してモデを選択して、デモを試す。 Indeed, all the user has selected the model through a user interface (as described below), try the demo. デモは、デモに適したサーバー402へほぼ瞬間的にロードを行い、そして他のゲーム又はアプリケーションと同様に実行するだけである。 Demo performs a load almost instantly to a server 402 that is suitable for the demonstration, and it only runs in the same way as any other game or application. デモが非常に高性能のサーバー402を要求するか低性能のサーバー402を要求するかに関わらず、又、どんな形式の家庭又はオフィスクライアント415をユーザが使用しても、ユーザの観点から、デモは、きちんと機能する。 Regardless of whether the demonstration is to request very whether the low performance of the server 402 to request a high-performance server 402, also, be used any form of home or office client 415 users, from the user's point of view, demo it functions properly. ゲーム又はアプリケーションデモのソフトウェア発行者は、どんなデモをどれほど長くユーザが試すことが許されるか厳密に制御することができ、そしてもちろん、デモは、デモンストレーションされるゲーム又はアプリケーションのフルバージョンにアクセスする機会をユーザに与えるユーザインターフェイスエレメントを含むことができる。 Software publisher of the game or application demo, can be strictly controlled or can try is how long a user any demonstration is allowed, and of course, demo, to access the full version of the game or application is demonstration opportunity it can include a user interface element that gives the user.

デモは、おそらく、価格未満又は無料で提供されるので、あるユーザは、デモ(特に、繰り返しプレイするのが楽しいゲームデモ)を繰り返し使用することを試みる。 Demo, perhaps, because they are provided at a price less than or free, some users, demo try to (in particular, is to repeatedly play a fun game demo) to use repeatedly. ホスティングサービス210は、所与のユーザに対してデモの使用を制限する種々の技術を使用することができる。 Hosting service 210 may use various techniques for limiting the use of demonstration for a given user. 最も単純な解決策は、ユーザごとにユーザIDを確立して、所与のユーザIDがデモをプレイすることが許される回数を制限することである。 The simplest solution is to establish a user ID for each user, it is to limit the number of times a given user ID is allowed to play a demo. しかしながら、ユーザは、ユーザIDが無料の場合には、複数のユーザIDを設定することができる。 However, the user, when the user ID is free, it is possible to set a plurality of user ID. この問題に対処する1つの技術は、所与のクライアント415がデモをプレイすることが許される回数を制限することである。 One technique for addressing this problem is to limit the number of times a given client 415 is allowed to play a demo. クライアントがスタンドアローン装置である場合には、装置がシリアルナンバーを有し、ホスティングサービス210は、そのシリアルナンバーをもつクライアントによりデモをアクセスできる回数を制限することができる。 If the client is a stand-alone device, the device has a serial number, the hosting service 210 can limit the number of times that can be accessed demonstrations by a client with that serial number. クライアント415がPC又は他の装置のソフトウェアとして実行される場合には、ホスティングサービス210によりシリアルナンバーを指定してPCに記憶し、これを使用してデモの使用を制限できるが、PCをユーザが再プログラムでき且つシリアルナンバーを消去又は変更できるとすれば、PCネットワークアダプタ「メディアアクセスコントロール(MAC)」アドレス(及び/又は他のマシン特有の識別子、例えば、ハードドライブのシリアルナンバー、等)のレコードを保持して、それに対してデモの使用を制限するという別のオプションがホスティングサービス210に対して設けられる。 If the client 415 is implemented as software PC or other device, and stored in the PC to specify the serial number by the hosting service 210, can limit the use of demo uses this user a PC if and can re-program can erase or change the serial number, PC network adapter "media access control (MAC)" address (and / or other machine-specific identifier, for example, hard drive serial number, etc.) of the record holds, another option is provided for hosting service 210 that limits the use of demonstration against it. しかしながら、ネットワークアダプタのMACアドレスを変更できるとすれば、これは、フールプルーフな方法ではない。 However, if it changes the MAC address of the network adapter, which is not a foolproof method. 別の解決策は、所与のIPアドレスに対してデモをプレイできる回数を制限することである。 Another solution is to limit the number of times that you can play the demo for a given IP address. IPアドレスは、ケーブルモデム及びDSLプロバイダーによって周期的に再指定できるが、実際にはあまり頻繁に行われず、IPが、住居DSL又はケーブルモデムアクセスに対するIPアドレスのブロック内にあると決定できる場合には(例えば、ISPにコンタクトすることによって)、典型的に、所与の家庭に対して少数のデモ使用を確立することができる。 IP address, if it can be periodically reassigned by cable modem and DSL providers, actually not very frequent in, IP is can be determined to be within the block of IP addresses for residential DSL or cable modem access (e.g., by contacting the ISP), typically it is possible to establish a small number of demo use for a given home. 又、家庭において同じIPアドレスを共有するNATルーターの後方に複数の装置が存在することもあるが、典型的に、住居設定では、このような装置は限定された数だけである。 Although multiple devices behind a NAT router sharing the same IP address in the home may be present, typically in a residential setting, such devices are only a limited number. IPアドレスが、会社にサービスするブロック内にある場合には、1つの会社に対して多数のデモを確立することができる。 IP address, if there is in a block serving the company can establish a number of demonstration for one company. しかし、結局、PCにおけるデモの数を制限する最良の方法は、上述した全ての解決策の組合せである。 However, after all, the best way to limit the number of demos on PC is a combination of all of the solutions described above. 断固とした技術的に熟練したユーザが、繰り返しプレイされるデモの数を制限できるフールプルーフの方法はないが、多数のバリアを生成することで、トラブルの多いPCユーザがデモシステムを悪用しても価値がなく、むしろ、デモをそれらが意図されたように使用して新たなゲーム及びアプリケーションを試せるように、充分な抑止力を生み出すことができる。 Decisive technical skilled users, but not how foolproof can limit the number of demos are repeatedly played, by generating a large number of barriers, trouble often PC users to abuse the demo system there is no worth, but rather, to use as they are intended for demonstration to try out new games and applications, it is possible to produce a sufficient deterrent.

学校、会社及び他の施設の利益 School, company and interests of the other facilities
特に、図4aに示すシステムを利用する会社、学校及び他の施設に対して著しい利益が得られる。 In particular, companies that utilize the system shown in Figure 4a, significant benefits to schools and other institutions obtained. 会社及び学校は、PCをインストールし、維持し及びアップグレードすることに関連して著しいコストがかかり、それが、Mayaのような高性能アプリケーションを実行するためのPCになったときには、特にそうである。 Company and school, install the PC, it takes maintain and significant cost in relation to upgrade, it is, when it comes to the PC in order to run the high-performance applications such as Maya is especially true . 上述したように、PCは、一般的に、週の時間の僅かな部分しか利用されず、そして家庭の場合と同様に、所与のレベルの性能能力を伴うPCのコストは、オフィス又は学校環境の方がサーバーセンター環境よりも遥かに高い。 As described above, PC is generally time a small portion of the week only be utilized, and as in the case of home, the cost of PC with the performance capabilities of a given level, office or school environment It is much higher than the server center environment towards.

大きな会社又は学校(例えば、大規模な大学)の場合には、そのようなエンティティのIT部門がサーバーセンターを設定し、そしてLANグレード接続を経てリモートアクセスされるコンピュータを維持するのが実際的である。 A large company or school (for example, large-scale university) in the case of, set the IT department server center of such entities, and to maintain the computer to be remotely accessed via the LAN grade connection is practical is there. LANを経て又はオフィス間のプライベートな広帯域巾接続を通してコンピュータにリモートアクセスするための解決策は、多数存在する。 Solutions for remote access to the computer through a private high bandwidth connection between via LAN or office, there are many. 例えば、Microsoft Windowsターミナルサーバーでは、又はRealVNC社からのVNCのようなバーチャルネットワーク計算アプリケーションを通して、或いはSun Microsystemsからのシンクライアント手段を通して、ユーザは、グラフィック応答時間及びユーザ経験においてある範囲のクオリティでPC又はサーバーへのリモートアクセスを得ることができる。 For example, in Microsoft Windows Terminal Server, or through virtual network computing applications like VNC from RealVNC, Inc., or through thin client means from Sun Microsystems, users, PC, or Quality of range of the graphic response time and user experience it is possible to obtain a remote access to the server. 更に、このような自己管理型のサーバーセンターは、典型的に、単一の会社又は学校専用であり、従って、異種のアプリケーション(例えば、娯楽及び会社アプリケーション)が週の異なる時間に同じ計算リソースを利用するときに考えられる使用の重複の利点を取り入れることができない。 Further, such self-managed server centers are typically a single company or school only, therefore, disparate applications (e.g., entertainment and company application) the same computing resources at different times of the week it is not possible to take advantage of overlapping use contemplated at the time of use. 従って、多くの会社及び学校は、各ユーザへのLAN速度ネットワーク接続を有するサーバーセンターをそれ自身で設定するスケール、リソース又は専門知識に欠ける。 Therefore, many companies and schools, scale to set the server center with a LAN speed network connection to each user on its own, lack the resources or expertise. 実際に、学校及び会社の大部分は、家庭と同じインターネット接続(例えば、DSL、ケーブルモデム)を有する。 In fact, the majority of schools and companies, have the same Internet connection to the home (eg, DSL, cable modem).

このような組織は、定常的ベース又は周期的ベースのいずれかで非常に高性能の計算の必要性を依然有している。 Such organizations have very need for high performance computing still either stationary base or periodic basis. 例えば、小さな建築会社は、少数の建築家しかおらず、設計の仕事をするときに計算の必要性が比較的僅かであるが、非常に高性能の3D計算を周期的に必要とする(例えば、クライアントに対する新たな建築設計の3Dフライスルーを創作するときに)。 For example, a small construction company is not he only a small number of architects, but is relatively little need for the calculation at the time of the work of design, very high-performance 3D calculation periodically need (for example, , when you created a 3D fly-through of a new architectural design for a client). 図4aに示すシステムは、このような組織に非常に良く適している。 The system shown in Figure 4a, very well suited to such tissue. 組織は、典型的に非常に安価な、家庭に提供されるものと同じ種類のネットワーク接続(例えば、DSL、ケーブルモデム)以上のものを必要としない。 Tissue is typically very inexpensive, the same type of network connection shall be provided to homes (e.g., DSL, cable modems) or more does not require one. それらは、安価なPCをクライアント415として利用するか、或いはPCを全く省き、制御信号ロジック413及び短待ち時間ビデオ解凍412を簡単に具現化する安価な専用装置を利用するかのいずれかである。 They can either utilize inexpensive PC as the client 415, or no omit PC, is either utilize inexpensive dedicated devices which simply implement the control signal logic 413 and low-latency video decompression 412 . これらの特徴は、PCの窃盗や、PC内の専用コンポーネントへのダメージに伴う問題がある学校にとって特に魅力的である。 These features, theft or PC, is particularly attractive for schools where there is a problem associated with damage to the dedicated components in the PC.

このような構成は、このような組織の多数の問題を解決する(そしてこれら効果の多くは、一般的な計算を行う家庭のユーザによっても共用される)。 Such an arrangement solves a number of problems for such organizations (and many of these effects are shared by home users to perform common computing). その1つとして、運営コスト(最終的に、実現可能な取引を得るためにある形態でユーザへ還元されねばならない)を非常に低くすることができる。 As one of them, operating costs (ultimately must be reduced to the user in a form in order to obtain a feasible transaction) can be very low. というのは、(a)計算リソースが、週内に異なるピーク使用時間を有する他のアプリケーションと共有され、(b)組織が、必要な時だけ高性能計算リソースにアクセスする(及びそのコストを被る)ことができ、(c)組織が、高性能計算リソースをバックアップ又は維持するためのリソースを設ける必要がないからである。 Because, (a) is calculated resources are shared with other applications that have different peak usage times the week, suffer (b) tissue, access to only high performance computing resources when required (and cost thereof ) it can, (c) tissue, there is no need to provide resources for backing up or maintaining high performance computing resources.

海賊行為の排除 Elimination of piracy
更に、ゲーム、アプリケーション、双方向映画、等は、今日のように海賊行為を受けることがもはやない。 In addition, games, applications, interactive movie, etc., is no longer subject to piracy as of today. ゲームは、サービスセンターで実行されるので、ユーザには、基礎的なプログラムコードへのアクセス権が与えられず、従って、海賊行為を受けるものは何もない。 Game is executed at the service center, the user, basic not be given access to the program code, therefore, is nothing subjected to piracy. ユーザがソースコードをコピーする場合でも、ユーザは、標準的なゲームコンソール又は家庭用コンピュータにおいてコードを実行することはできない。 Even if the user to copy the source code, the user can not run the code in a standard game console or home computer. これは、標準的なビデオゲームが入手できない中国のような世界の場所に市場を開く。 This opens the market to a standard video game is not available in China the world of places like. 又、中古ゲームの再販売はできない。 In addition, it can not re-sale of used games.

ゲームの開発者にとって、今日、市場の不連続部は僅かである。 For game developers, today, discontinuous portion of the market is small. ホスティングサービス210は、技術の完全に新たな世代がユーザや開発者を強制的にアップグレードさせ且つゲーム開発者がハードウェアプラットホームの適時の配信に依存する現在の状況とは対照的に、ゲームの要件が変化するにつれて時間と共に徐々に更新することができる。 Hosting service 210, in contrast to the current situation in which forcibly and game developers to upgrade completely new generation users and developers of the technology is dependent on the timely delivery of the hardware platform, game requirements There can be gradually updated over time as changes.

ストリーミング双方向ビデオ Streaming interactive video
以上の説明は、一般的インターネットをベースとする短待ち時間のストリーミング双方向ビデオ(これは、ここで使用されるオーディオもビデオと一緒に暗示的に含む)の新規な基礎的概念により可能となる広範囲なアプリケーションを述べるものである。 The above description, (which here Audio used including implicitly with video) low-latency streaming interactive video to the general Internet-based made possible by the novel underlying concept of it is intended to describe the wide range of applications. インターネットを通してストリーミングビデオを与える従来のシステムは、長待ち時間の双方向性で具現化できるアプリケーションを可能にするだけである。 Conventional systems that provide streaming video through the Internet will only allow applications that can be embodied in a bidirectional long latency. 例えば、リニアビデオのための再生コントロール(例えば、休止、巻き戻し、早送り)は、長い待ち時間で充分に機能し、リニアビデオフィードの中から選択することができる。 For example, playback controls for linear video (e.g., pause, rewind, fast forward) is sufficiently function in latency may be selected from among linear video feeds. そして、上述したように、あるビデオゲームの性質は、それらを長待ち時間でプレイすることを許す。 Then, as described above, the nature of some video games, allows to play them in long waiting time. しかし、ストリーミングビデオのための従来の解決策の長待ち時間(又は低圧縮比)は、ストリーミングビデオの潜在的なアプリケーションを甚だしく制限するか、又はそれらの開発を特殊なネットワーク環境へと狭め、そしてそのような環境においても、従来の技術は、ネットワークに実質的な負担を導入する。 However, the long latency (or low compression ratio) of prior art solutions for streaming video or severely limits the potential applications of streaming video or narrowed their development into specialized network environments, and even in such an environment, the prior art introduces a substantial burden on the network. ここに述べる技術は、インターネットを通る短待ち時間のストリーミング双方向ビデオ、特に、消費者グレードのインターネット接続を通して可能になるもの、で考えられる広範囲なアプリケーションに対してドアを開く。 Techniques described herein, short latency streaming interactive video through the Internet, particularly those made possible through consumer-grade Internet connections, open the door in a wide range of applications contemplated.

実際上任意の量の計算パワー、任意の量の高速記憶、並びにパワフルなサーバーの中の非常に高速なネットワークでユーザ経験の向上を果たすに充分な、図4cのクライアント465と同程度に小さいクライアント装置で、実際に、新しい計算の時代を可能にする。 In practice any amount computing power, arbitrary amount of fast storage, and sufficient to fulfill the improvement of the user experience in very fast networks in powerful servers, small client to the same extent as client 465 of Figure 4c in the device, actually, to enable a new era of calculation. 更に、帯域巾要件は、システムの計算パワーが増大するにつれて拡大しないので(即ち、帯域巾要件は、表示解像度、クオリティ及びフレームレートに結び付いているだけであるので)、ブロードバンドインターネット接続が偏在し(例えば、広く普及した短待ち時間のワイヤレスカバレージを通して)、信頼性があり、且つ全ユーザのディスプレイ装置422のニーズを満足するに充分な広い帯域巾であるときには、典型的な消費者及び会社向けアプリケーションに対して、(Windows、Linux、OSX、等を実行するPC又は移動電話のような)シッククライアントが必要か、又は(Adobe Flash又はJavaのような)シンクライアントでもよいかが問題となる。 Further, bandwidth requirements, since it does not expand as computing power of the system is increased (i.e., bandwidth requirements, display resolution, since only tied to quality and frame rate), broadband Internet access is unevenly distributed ( for example, widely throughout the wireless coverage popular low latency), is reliable, and when it is sufficient high bandwidth to meet the needs of the display device 422 of all users, typical consumer and company applications against, the (Windows, Linux, OSX, the such as a PC or a mobile phone to perform, etc.) chic or not the client is necessary, or (such as Adobe Flash or Java) or may be a thin client is a problem.

ストリーミング双方向ビデオの出現は、計算アーキテクチャーの構造についての仮定を考え直す結果となった。 Advent of streaming interactive video resulted to rethink assumptions about the structure of computing architectures. その一例が、図15に示すホスティングサービス210のサーバーセンター実施形態である。 One example is the server center embodiment of the hosting service 210 illustrated in Figure 15. 遅延バッファ及び/又はグループビデオ1550のためのビデオ経路は、app/gameサーバー1521−1525のマルチキャストされたストリーミング双方向ビデオ出力が、経路1552を経てリアルタイムで、又は経路1551を経て選択可能な遅延の後に、app/gameサーバー1521−1525へフィードバックされる。 Video path for delay buffer and / or group video 1550, app / game multicasted streaming interactive video output of the server 1521 - 1525, in real-time via path 1552 or path 1551 through by the selectable delay later, it is fed back to the app / game server 1521 - 1525. これは、従来のサーバー又はローカル計算アーキテクチャーでは不可能であるか又は実現不能な広範囲の実際的なアプリケーション(例えば、図16,17及び20に示すもののような)を可能にする。 This allows a conventional server or local computing architectures practical application as or for unfeasible extensive impossible with chromatography (e.g., such as that shown in FIGS. 16, 17 and 20). しかし、より一般的なアーキテクチャー上の特徴として、フィードバックループ1550が与えるものは、ストリーミング双方向ビデオレベルでの反復である。 However, as a feature on a more general architecture which feedback loop 1550 provides is a repeat of streaming interactive video level. というのは、アプリケーションが要求したときに、ビデオを不定にループバックできるからである。 Because, when the application requests is because it loops back video undefined. これは、従来得られなかった広範囲のアプリケーションの可能性を実現できるようにする。 This is such a possibility of the prior obtained not been widespread application can be realized.

別の重要なアーキテクチャー上の特徴は、ビデオストリームが単一方向のUDPストリームであることである。 Features on another important architecture is that the video stream is UDP stream unidirectional. これは、実際上、ストリーミング双方向ビデオのマルチキャスティングを任意の度合いで行えるようにする(対照的に、TCP/IPストリームの両方向ストリームは、ユーザの数が増えるにつれて前後通信からネットワークに益々大きな渋滞を生じることになる)。 This, in effect, the multicasting of streaming interactive video to allow in any degree (as opposed, both streams of TCP / IP streams, increasingly large traffic jam from communication back and forth to the network as the number of users increases It will produce a). マルチキャスティングは、サーバーセンター内で重要な能力である。 Multicasting is an important capability in the server center. というのは、システムが、インターネットユーザ(及び実際には世界の人口)の増大するニーズに応答して、1対多又は多対多で、通信を行えるようにするからである。 Because the system, Internet users (and in fact the world's population) in response to increasing needs, in one-to-many or many-to-many, because to allow the communication. この場合も、ストリーミング双方向ビデオ反復及びマルチキャスティングの両方の使用を示す図16について述べた例は、可能性についての非常に大きな氷山の頂点に過ぎない。 Again, the example described for FIG. 16 showing the use of both streaming interactive video repetition and multicasting, only very large iceberg of the vertices of the possibility.

一実施形態では、ここ及び関連するステップに示す種々の機能的モジュールは、そのステップを遂行するための固定布線ロジックを含む特定のハードウェアコンポーネント、例えば、特定用途向け集積回路(ASIC)により遂行されるか、又はプログラムされたコンピュータコンポーネント及びカスタムハードウェアコンポーネントの組合せにより遂行される。 In one embodiment performing the various functional modules illustrated herein and the associated steps are specific hardware components that contain hardwired logic for performing the steps, for example, by an application specific integrated circuit (ASIC) either, or it is performed by a combination of programmed computer components and custom hardware components.

一実施形態では、これらモジュールは、テキサスインスツルーメント社のTMS320xアーキテクチャー(例えば、TMS320C6000、TMS320C5000、等)のプログラム可能なデジタル信号プロセッサ(DSP)において具現化される。 In one embodiment, these modules are Texas Instruments True Instruments Inc. of TMS320x architecture (e.g., TMS320C6000, TMS320C5000, etc.) embodied in a programmable digital signal processor (DSP). これらの基礎的な原理に適合する種々の異なるDSPを使用することができる。 A variety of different DSP conform to these underlying principles may be used.

これら実施形態は、上述した種々のステップを含むことができる。 These embodiments may include various steps as set forth above. これらステップは、汎用プロセッサ又は特殊目的のプロセッサが幾つかのステップを遂行するようにさせるマシン実行可能なインストラクションにおいて実施することができる。 These steps can be implemented in machine-executable instructions which cause a like general-purpose or special-purpose processor to perform certain steps. これら基礎的な原理に関連しない種々の要素、例えば、コンピュータメモリ、ハードドライブ、入力装置は、適切な観点を不明瞭にしないために図面から除外してある。 Various elements which are not relevant to these underlying principles, for example, a computer memory, hard drive, input devices, have been excluded from the figures in order not to obscure the proper perspective.

ここに開示する要旨の要素は、マシン実行可能なインストラクションを記憶するためのマシン読み取り可能なメディアとして与えられてもよい。 Elements of the subject matter disclosed herein may be provided as a machine-readable medium for storing the machine-executable instructions. マシン読み取り可能なメディアは、フラッシュメモリ、光学的ディスク、CD−ROM、DVD ROM、RAM、EPROM、EEPROM、磁気又は光学カード、電子的インストラクションを記憶するのに適した伝播メディア又は他の形式のマシン読み取り可能なメディアを含むが、これらに限定されない。 Machine-readable media, flash memory, optical disks, CD-ROM, DVD ROM, RAM, EPROM, EEPROM, magnetic or optical cards, propagation media suitable for storing electronic instructions or other types of machine including readable media, without limitation. 例えば、本発明は、通信リンク(例えば、モデム又はネットワーク接続)を経ての搬送波又は他の伝播メディアで実施されるデータ信号によりリモートコンピュータ(例えば、サーバー)から要求側コンピュータ(例えば、クライアント)へ転送されるコンピュータプログラムとしてダウンロードすることができる。 For example, the present invention, the transfer communication link (e.g., a modem or network connection) a remote computer (e.g., server) the data signals embodied in a carrier wave or other propagation medium via the requesting computer from (e.g., a client) it can be downloaded as a computer program to be.

又、ここに開示する要旨の要素は、一連のオペレーションを遂行するようにコンピュータ(例えば、プロセッサ又は他の電子装置)をプログラムするのに使用されるインストラクションが記憶されたマシン読み取り可能なメディアを含むコンピュータプログラム製品として提供されてもよいことを理解されたい。 Also, the elements of the subject matter disclosed herein, a computer to perform a series of operations (e.g., a processor or other electronic device) including a machine-readable medium instructions are stored, which is used to program the it is to be understood that may be provided as a computer program product. 或いは又、オペレーションは、ハードウェア及びソフトウェアの組合せにより遂行されてもよい。 Alternatively, operations may be performed by a combination of hardware and software. マシン読み取り可能なメディアは、フロッピー(登録商標)ディスケット、光学的ディスク、CD−ROM、及び磁気・光学ディスク、ROM、RAM、EPROM、EEPROM、磁気又は光学カード、電子的インストラクションを記憶するのに適した伝播メディア又は他の形式のメディア/マシン読み取り可能なメディアを含むが、これらに限定されない。 Machine-readable media suitable for storing floppy diskettes, optical disks, CD-ROM, and magneto-optical disks, ROM, RAM, EPROM, EEPROM, magnetic or optical cards, electronic instructions Although including propagation media or other type of media / machine-readable medium is not limited thereto. 例えば、ここに開示する要旨の要素は、通信リンク(例えば、モデム又はネットワーク接続)を経ての搬送波又は他の伝播メディアで実施されるデータ信号によりプログラムがリモートコンピュータ又は電子装置から要求側コンピュータへ転送されるようなコンピュータプログラム製品としてダウンロードすることができる。 For example, elements of the subject matter disclosed herein, the transfer communication link (e.g., a modem or network connection) program from a remote computer or electronic device by the data signals embodied in a carrier wave or other propagation medium via the requesting computer it can be downloaded as a computer program product, such as is.

更に、ここに開示する要旨は、特定の実施形態に関連して説明したが、本開示の範囲内で多数の変更や修正がなされ得る。 Furthermore, subject matter disclosed herein has been described in conjunction with specific embodiments, numerous modifications and variations within the scope of the present disclosure may be made. 従って、本発明及び添付図面は、単なる例示に過ぎず、それに限定されるものではない。 Accordingly, the present invention and the accompanying drawings are merely illustrative and are not intended to be limited thereto.

100:CPU/GPU 100: CPU / GPU
101:RAM 101: RAM
102:ディスプレイ装置 103:ハードドライブ 104:光学的メディアドライブ 105:ネットワーク接続 106:ゲームコントローラ 205:クライアント装置 206:インターネット 210:ホスティングサービス 211:ユーザの家屋 220:ソフトウェア開発者 221:入力装置 222:モニタ又はTV受像機 301:最大データレート 302:実際に利用できる最大データレート 303:要求されたデータレート 401:ホスティングサービスコントロールシステム 402:サーバー 403:SAN 102: Display device 103: Hard Drive 104: optical media drive 105: Network connection 106: the game controller 205: Client device 206: Internet 210: hosting service 211: user premises 220: Software developers 221: input device 222: Monitor or TV receiver 301: the maximum data rate 302: the maximum data rate 303 is actually available: the requested data rate 401: the hosting service control system 402: server 403: SAN
404:低待ち時間のビデオ圧縮 405:RAIDアレイ 406:コントロール信号 410:インターネット 412:低待ち時間の解凍 413:コントロール信号ロジック 415:家庭又はオフィスクライアント 421:入力装置 422:モニタ又はHDTV 404: low latency video compression 405: RAID arrays 406: control signal 410: Internet 412: Low latency decompression 413: Control signal logic 415: home or office client 421: input device 422: a monitor or HDTV
441:中央オフィス、ヘッドエンド、セルタワー、等 442:WANインターフェイス 443:ファイアウオール/ルーター/NAT 441: Central office, head-end, cell tower, etc. 442: WAN interface 443: Firewall / Router / NAT
444:WANインターフェイス 451:コントロール信号 452:ユーザの家屋ルーティング 453:ユーザISP 444: WAN interface 451: The control signal 452: the user premises routing 453: user ISP
454:インターネット 455:サーバーセンタールーティング 456:フレーム計算 457:ビデオ圧縮 458:ビデオ解凍 462:パワーオーバーイーサネット 463:HDMI出力 464:ディスプレイ能力 465:イーサネット対HDMIクライアント 466:シャッター付き眼鏡 468:モニタ又はSD/HDTV 454: Internet 455: Server Center Routing 456: Frame calculation 457: Video Compression 458: video decompression 462: Power over Ethernet 463: HDMI Output 464: display capabilities 465: Ethernet vs. HDMI Client 466: shuttered glasses 468: monitor or SD / HDTV
469:ブルーツース入力装置 476:フラッシュ 480:バス 481:イーサネットインターフェイス 483:コントロールCPU 469: Bluetooth input device 476: Flash 480: Bus 481: Ethernet interface 483: Control CPU
484:ブルーツース 486:ビデオデコンプレッサ 487:ビデオ出力 488:オーディオデコンプレッサ 489:オーディオ出力 490:HDMI 484: Bluetooth 486: video decompressor 487: Video Output 488: audio decompressor 489: Audio output 490: HDMI
497:イーサネット 499:電力 497: Ethernet 499: power

Claims (2)

  1. ビデオストリーム内のパケットロスの影響を減少するためのコンピュータ実施方法において、 A computer implemented method for reducing the effects of packet loss within a video stream,
    ビデオストリームの一連の映像各々を複数のタイルへと論理的に細分化するステップであって、各タイルは、一連の各映像内に定義された位置を有するものであるステップと、 Comprising the steps of logically subdivided into a series of images each of the plurality of tiles of video streams, each tile, the steps are those having a defined position within each of a series of images,
    各データパケットの境界に整列されるタイルの数を最大にするように、タイルを複数のデータパケットへとパッキングするステップと、 The number of tiles that are aligned in the boundary of each data packet to maximize the steps of packing the tiles into a plurality of data packets,
    タイルを含むデータパケットをサーバーから通信チャンネルを経てクライアントへ送信するステップと、 And transmitting to the client via the communication channel data packets including a tile from the server,
    を備えた方法。 Method with.
  2. ビデオストリーム内のパケットロスの影響を減少するためのコンピュータ実施方法において、 A computer implemented method for reducing the effects of packet loss within a video stream,
    ビデオストリームの一連の映像各々を複数のタイルへと論理的に細分化するステップであって、各タイルは、一連の各映像内に定義された位置を有するものであるステップと、 Comprising the steps of logically subdivided into a series of images each of the plurality of tiles of video streams, each tile, the steps are those having a defined position within each of a series of images,
    連続するデータパケットの境界間に延びるタイルの数を最小にするように、タイルを複数のデータパケットへとパッキングするステップと、 The number of tiles that extends between the boundary of consecutive data packets to minimize the steps of packing the tiles into a plurality of data packets,
    タイルを含むデータパケットをサーバーから通信チャンネルを経てクライアントへ送信するステップと、 And transmitting to the client via the communication channel data packets including a tile from the server,
    を備えた方法。 Method with.
JP2010537091A 2007-12-05 2008-12-04 Video compression system and method for reducing the effects of packet loss across a communication channel Pending JP2011507351A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US99971807A true 2007-12-05 2007-12-05
PCT/US2008/085606 WO2009073831A1 (en) 2007-12-05 2008-12-04 Video compression system and method for reducing the effects of packet loss over a communication channel

Publications (1)

Publication Number Publication Date
JP2011507351A true JP2011507351A (en) 2011-03-03



Family Applications (3)

Application Number Title Priority Date Filing Date
JP2010537091A Pending JP2011507351A (en) 2007-12-05 2008-12-04 Video compression system and method for reducing the effects of packet loss across a communication channel
JP2013113063A Pending JP2013211902A (en) 2007-12-05 2013-05-29 Video compression system and method for reducing effects of packet loss over communication channel
JP2016213073A Active JP6442461B2 (en) 2007-12-05 2016-10-31 Video compression system and method for reducing the effects of packet loss across a communication channel

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2013113063A Pending JP2013211902A (en) 2007-12-05 2013-05-29 Video compression system and method for reducing effects of packet loss over communication channel
JP2016213073A Active JP6442461B2 (en) 2007-12-05 2016-10-31 Video compression system and method for reducing the effects of packet loss across a communication channel

Country Status (11)

Country Link
EP (1) EP2218016A4 (en)
JP (3) JP2011507351A (en)
KR (1) KR20100121598A (en)
CN (1) CN101918935B (en)
AU (1) AU2008333833A1 (en)
CA (1) CA2707708A1 (en)
HK (1) HK1149811A1 (en)
NZ (1) NZ585906A (en)
RU (1) RU2493585C2 (en)
TW (2) TW200943079A (en)
WO (1) WO2009073831A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10058778B2 (en) 2007-12-05 2018-08-28 Sony Interactive Entertainment America Llc Video compression system and method for reducing the effects of packet loss over a communication channel
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
KR20170129296A (en) 2010-09-13 2017-11-24 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 A method and system of providing a computer game at a computer game system including a video server and a game server
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
TWI423068B (en) * 2009-10-23 2014-01-11 Univ Nat Cheng Kung
BR112012027960A2 (en) * 2010-05-06 2018-05-08 Nippon Telegraph & Telephone "Method and video encoding control unit"
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
US9878240B2 (en) 2010-09-13 2018-01-30 Sony Interactive Entertainment America Llc Add-on management methods
GB201102128D0 (en) * 2011-02-08 2011-03-23 Mustafa Bilal I Method and system for providing video game content
US10118095B2 (en) * 2012-12-14 2018-11-06 Nvidia Corporation Implementing a remote gaming server on a desktop computer

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007025029A2 (en) * 2005-08-24 2007-03-01 Qualcomm Incorporated Transmission of multiplex protocol data units in physical layer packets

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
JP2002077864A (en) * 2000-08-31 2002-03-15 Csk Sogo Kenkyusho:Kk Image/voice information reproduction method and system
US6795895B2 (en) * 2001-03-07 2004-09-21 Canopy Group Dual axis RAID systems for enhanced bandwidth and reliability
JP2003152752A (en) * 2001-08-29 2003-05-23 Matsushita Electric Ind Co Ltd Data transmission/reception method
US7916147B2 (en) * 2002-03-01 2011-03-29 T5 Labs Ltd. Centralised interactive graphical application server
US20030217135A1 (en) * 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
JP4178462B2 (en) * 2003-07-18 2008-11-12 ソニー株式会社 Moving picture cluster processing system
US7246183B2 (en) * 2003-11-14 2007-07-17 Avocent California Corporation Phase optimization for wireless KVM transmission
JP2005167515A (en) * 2003-12-01 2005-06-23 Matsushita Electric Ind Co Ltd System and apparatus for streaming data communication, and streaming data distribution method
JP2005244315A (en) * 2004-02-24 2005-09-08 Kddi Corp Network quality stabilizing apparatus for video streaming transmission
RU2270528C1 (en) * 2004-08-12 2006-02-20 Борис Иванович Волков Method for compressing and restoring digital data and device for realization of said method
JP2006109099A (en) * 2004-10-05 2006-04-20 Sony Corp Content distribution system, content distribution apparatus, user terminal, and computer program
EP1869599A2 (en) * 2005-03-21 2007-12-26 Yosef Mizrahi Method, system and computer-readable code for providing a computer gaming service
US20060230428A1 (en) * 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
JP4707514B2 (en) * 2005-09-20 2011-06-22 三菱電機株式会社 Video stream supply system, the video stream supply device, and a video stream receiving device
US20070086528A1 (en) * 2005-10-18 2007-04-19 Mauchly J W Video encoder with multiple processors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007025029A2 (en) * 2005-08-24 2007-03-01 Qualcomm Incorporated Transmission of multiplex protocol data units in physical layer packets

Also Published As

Publication number Publication date
WO2009073831A1 (en) 2009-06-11
HK1149811A1 (en) 2014-08-22
EP2218016A1 (en) 2010-08-18
NZ585906A (en) 2013-06-28
RU2493585C2 (en) 2013-09-20
EP2218016A4 (en) 2013-06-12
AU2008333833A1 (en) 2009-06-11
CN101918935B (en) 2014-05-14
TW200941232A (en) 2009-10-01
KR20100121598A (en) 2010-11-18
CN101918935A (en) 2010-12-15
CA2707708A1 (en) 2009-06-11
TW200943079A (en) 2009-10-16
RU2010127307A (en) 2012-01-10
JP2017076984A (en) 2017-04-20
JP2013211902A (en) 2013-10-10
JP6442461B2 (en) 2018-12-19

Similar Documents

Publication Publication Date Title
JP5405819B2 (en) Multi-player video game system
EP2720766B1 (en) System and method for managing audio and video channels for video game players and spectators
CN102428703B (en) System and method for selecting video compression formats based on feedback data
CN102428484B (en) Encoding format using a plurality of systems and methods for multi-stream video compression
US9756349B2 (en) User interface, system and method for controlling a video stream
EP2656888B1 (en) Method for user session transitioning among streaming interactive video servers
RU2510591C2 (en) System for combining plurality of views of real-time streaming interactive video
RU2510590C2 (en) System and method of compressing streaming interactive video
AU2011247835B2 (en) System and method for remote-hosted video effects
RU2503998C2 (en) Hosting and broadcasting virtual events using streaming interactive video
CN102428697B (en) System and method for utilizing forward error correction with video compression
US10071308B2 (en) System and method for capturing text for an online application
RU2504908C2 (en) System for collaborative conferencing using streaming interactive video
AU2008333803B2 (en) System for reporting recorded video preceding system failures
KR101757485B1 (en) System and method for accelerated machine switching
RU2501167C2 (en) System for streaming databases serving real-time applications used through streaming interactive video
KR101783055B1 (en) System and method for compressing video based on latency measurements and other feedback
KR101723695B1 (en) System and method for multi-stream video compression
RU2509419C2 (en) Method for multicasting views of real-time streaming interactive video
KR101788330B1 (en) System and method for compressing video frames or portions thereof based on feedback information from a client device
RU2500022C2 (en) Streaming interactive video client apparatus
US9707481B2 (en) System for streaming databases serving real-time applications used through streaming interactive video
EP2450088A2 (en) System and Method for Remote-Hosted Video Effects
RU2496135C2 (en) Streaming interactive video integrated with recorded video segments
KR101783057B1 (en) Temporary decoder apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination


Effective date: 20111201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121031

A131 Notification of reasons for refusal


Effective date: 20121129

A601 Written request for extension of time


Effective date: 20130228

A602 Written permission of extension of time


Effective date: 20130307

A02 Decision of refusal


Effective date: 20130917

A711 Notification of change in applicant


Effective date: 20131018

A521 Written amendment


Effective date: 20131114