TW200949567A - Apparatus for combining recorded application state with application streaming interactive video output - Google Patents
Apparatus for combining recorded application state with application streaming interactive video output Download PDFInfo
- Publication number
- TW200949567A TW200949567A TW098125719A TW98125719A TW200949567A TW 200949567 A TW200949567 A TW 200949567A TW 098125719 A TW098125719 A TW 098125719A TW 98125719 A TW98125719 A TW 98125719A TW 200949567 A TW200949567 A TW 200949567A
- Authority
- TW
- Taiwan
- Prior art keywords
- video
- game
- frame
- user
- server
- Prior art date
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 33
- 238000007906 compression Methods 0.000 description 138
- 230000006835 compression Effects 0.000 description 130
- 238000000034 method Methods 0.000 description 108
- 230000033001 locomotion Effects 0.000 description 52
- 230000005540 biological transmission Effects 0.000 description 36
- 238000003860 storage Methods 0.000 description 30
- 239000000872 buffer Substances 0.000 description 28
- 230000000007 visual effect Effects 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 27
- 230000006837 decompression Effects 0.000 description 26
- 230000001934 delay Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 26
- 230000009471 action Effects 0.000 description 25
- 230000003111 delayed effect Effects 0.000 description 22
- 239000000463 material Substances 0.000 description 22
- 230000008901 benefit Effects 0.000 description 20
- 230000003287 optical effect Effects 0.000 description 20
- 238000003491 array Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 230000002829 reductive effect Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 15
- 238000011161 development Methods 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 230000006399 behavior Effects 0.000 description 12
- 230000007547 defect Effects 0.000 description 12
- 238000012937 correction Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 9
- 239000000835 fiber Substances 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000000981 bystander Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000001815 facial effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004936 stimulating effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000008267 milk Substances 0.000 description 2
- 210000004080 milk Anatomy 0.000 description 2
- 235000013336 milk Nutrition 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000282465 Canis Species 0.000 description 1
- 241001342895 Chorus Species 0.000 description 1
- 101100346764 Mus musculus Mtln gene Proteins 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 206010041235 Snoring Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 210000000038 chest Anatomy 0.000 description 1
- 235000020057 cognac Nutrition 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000006397 emotional response Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- A63F13/12—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/10—Current supply arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4347—Demultiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/53—Features 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/534—Features 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 network load management, e.g. bandwidth optimization, latency reduction
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/556—Player lists, e.g. online players, buddy list, black list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
200949567 六、發明說明: 【發明所屬之技術領域】 本揭示案大體而言係關於改良使用者操縱及存取音訊及 視訊媒體之能力的資料處理系統之領域。 本申請案為2002年12月10曰申請之名為「用於無線視訊 遊戲之裝置及方法(Apparatus and Method for Wireless Video Gaming)」的第10/315,460號部分接續(CIP)申請案, 該案已讓與給本CIP申請案之受讓人。 【先前技術】 自從托馬斯·愛迪生(Thomas Edison)時代以來,已記錄 之音訊及電影媒體已成為社會之一方面。在20世紀初期, 存在已記錄之音訊媒體(磁柱及唱片)及電影媒體(投幣式自 動點唱機及電影)的廣泛發行,但兩種技術仍處於其起步 階段。在20世紀20年代後期,在暢銷基礎上將電影與音訊 組合,繼之將彩色電影與音訊組合。無線電廣播逐漸演變 成很大程度上支援廣告之形式的廣播暢銷音訊媒體。當在 20世紀40年代中期建立電視(TV)廣播標準時,電視與無線 電以廣播暢銷媒體之形式接合,從而將先前已記錄的或現 場直播的電影帶入家庭中。 至20世紀中期為止,大部分美國家庭已具有用於播放已 記錄之音訊媒體的唱片播放機(phonograph record player)、用於接收現場直播之廣播音訊的無線電,及用於 播放現場直播之廣播音訊/視訊(A/V)媒體的電視機。常常 將此等3個「媒體播放機」(唱片播放機、無線電及TV)組 139849.doc 200949567 合於一共用公共揚聲器之櫥櫃中,變成家庭之「媒體中 心」。儘管對於消費者而言媒體選擇有限,但媒體「生態 系、先」非常穩疋。大多數消費者知道如何使用「媒體播放 * 冑」且能夠享受其能力之全部範圍。同時,媒體之出版商 、(Λ#為電影及電視工作室’及音樂公司)能夠將其媒體分 配給電影院與家庭兩者,而不遭受廣泛的盜版或「二次銷 售」(亦即,已使用媒體的重新銷售)。通常,出版商不會 ❿自二次銷售得到收入,且因此’二次銷售減少了出版商對 於新的銷售原本可自已使用媒體的購買者得到的收入。儘 管的確存在於20世紀中期期間出售的已使用之唱片,該 等銷售不會對唱片出版商有大影響,因為不同於電影或視 訊卽目(其通常被成年人觀看—次或僅數次),音樂曲目可 被收聽數百次或甚至數千·欠。 ^ 數干夂因此,音樂媒體遠比電影/ 視訊媒體「經久」(亦即,對於成年消費者而言,其具有 持久價值)。一旦購買了 ^日Η ^ , ㈣一“ 若消費者喜歡該音樂,則 ❿ 4費者可月b將其保持長時間。 自20世紀中期至當今,媒 〇 、體生匕、系統對於消費者與出版 :之4及知失而言皆已經歷了一系列根本改變。在音訊 s己錄器(尤其是具有高品質 體耷之盒式磁帶)之廣泛引入 的情況下,的確存在較高程度之消費者 著現在廣泛的消費者媒體仁八亦私岭 買有《體實踐-盜版之開始。 濟費者純粹出於便利起見而使❹心 唱片,但曰益增加的消費 * 表具自身的 之唱片收集的學生)將進 :取: 做衣又’动費者將錄製 139849.doc 200949567 經由無線電播放之音樂,而非自出版商購買唱片或磁帶。 消費者VCR之出現導致更多的消費者便利,因為現在 VCR可設定為記錄TV節目,其可在稍後時間觀看,且VCR 亦導致視訊租賃業之建立,其中電影以及TV節目設計可 在「按要求」基礎上進行存取。自20世紀80年代中期以來 的暢銷家庭媒體器件之快速開發已導致消費者之空前的選 擇及便利程度,且亦導致媒體出版市場之快速擴張。 現今,消費者面臨過多媒體選擇以及過多媒體器件,其 中之許多者綁定至特定形式之媒體或特定出版商。熱衷的 媒體消費者可能將一堆器件連接至房屋各房間中的TV及 電腦,造成至一或多個電視機及/或個人電腦(PC)之「鼠窩 式」電纜以及一群遠端控制。(在本申請案之上下文中, 術語「個人電腦」或「PC」指代適合於在家庭或辦公室中 使用的任何種類之電腦),包括桌上型電腦、Macintosh® 或其他非Windows電腦、與Windows相容之器件、Unix變 體、膝上型電腦等)。此等器件可包括視訊遊戲控制台、 VCR、DVD播放機、音訊環繞音效處理器/放大器、衛星 機頂盒、電纜TV機頂盒等。此外,對於熱衷的消費者, 可能由於相容性問題而存在多個類似功能之器件。舉例而 言,消費者可能擁有HD-DVD與藍光(Blu-ray)DVD播放機 兩者,或Microsoft Xbox® 與 Sony Playstation®視訊遊戲系 統兩者。實際上,由於一些遊戲跨越遊戲控制台之若干版 本的不相容性,消費者可能擁有XBox與稍後之版本(諸 如,Xbox 360®)兩者。經常地,消費者對於使用哪個視訊 139849.doc 200949567 輸入端及哪個遠端感到迷惑。甚至在將光碟置放於正確播 放機(例如,DVD、HD-DVD、藍光、Xbox 或 Playstation) 中、選擇用於彼器件之視訊及音訊輸入端且發現正確遠端 控制之後,消費者仍面臨技術挑戰。舉例而言,在寬螢幕 DVD之狀況下,使用者可能需要首先判定正確的縱橫比 (例如,4:3、完全、放大、寬放大、電影院寬等)且接著在 其TV或監視器螢幕上設定正確的縱橫比。類似地,使用 者可能需要首先判定正確的音訊環繞音效系統格式(例 如,AC-3、杜比數位、DTS等)且接著設定正確的音訊環 繞音效系統格式。時常地,消費者未意識到其可能未享受 到其電視或音訊系統之全部能力下的媒體内容(例如,觀 看以錯誤縱橫比擠壓之電影,或收聽立體聲之音訊而非環 繞音效之音訊)。 日益增加地,已將以網際網路為基礎之媒體器件添加至 器件之堆疊。類似Sonos®數位音樂系統之音訊器件使音訊 直接自網際網路串流。同樣地,類似8111^13〇\頂娛樂播放 機之器件記錄視訊且使其經由家庭網路串流或經由網際網 路串流而出,其中可在PC上於遠端觀看該視訊。且網際網 路協定電視(IPTV)服務經由數位用戶線(DSL)或其他家庭 網際網路連接而提供類似電纜TV之服務。近來亦存在將 多個媒體功能整合於單一器件(諸如,Moxi®媒體中心及執 行Windows XP媒體中心版本之PC)中的努力。儘管此等器 件中之每一者對其執行之功能提供一點便利,但每一者缺 乏對大多數媒體之普遍且簡單的存取。另外,常常由於昂 139849.doc 200949567 貴處理及/或本端料之需要而使得該等n件經常花費數 I美7G來裝k ^另彳’此等現代消費者電子器件通常消耗 大量電力’甚至當閒置時亦消耗大量電力,此意謂其隨著 時間而昂貴且浪費能源。舉例而纟,若消f者忘記將一器 件切斷或將其切換至不同視訊輸人端,則該器件可能繼續 細作。此外’因為該等器件當中沒有—者為完全解決方 案’所以必須將其與家庭中之其他器件㈣整合,此仍對 使用者留下鼠窩式線及許多遠端控制。 此外’當許多㈣的以網際網路為基礎之时適當地工 作時,其通常提供更-般形式(與其原本可能可用之形式 相比)之媒體。舉例而f ’使視訊經由網際網路串流之器 件常常僅使視訊材料_流,而不能使常常伴隨dvd互動式 「額外計費項目」串流,如視訊之「製作」、遊戲或導演 評論。此係由於以下事實:互動式材料經常係以意欲用於 在本端處理互動性之特定器件的特定格式而製作。舉例而 言,卿、HD-DVD及藍光光碟中之每—者具有其自身的 特定互動格式。任何家庭媒體器件或本端電腦(其可能經 開發以支援所有風行格式)將需要一定程度的尖端性 (sophistication)及靈活性,其將可能對於消費者操作而言 過於昂貴及複雜。 〇 使該問題加重,若稍後在將來引入新格式,則本端器件 可能不具有支援新格式之硬體能力,此將意謂消費者將必 須購買升級的本端媒體器件。舉例而古, ° 右在稍後之曰期 引入較高解析度之視訊或立體視訊(例如,每一隻眼一視 139849.doc 200949567 訊流),則本端器件可能不具有解碼該視訊之計算能力, 或其可能不具有用於以新格式輸出該視訊的硬體(例如, 叙定藉由與遮光眼鏡(shuttered glassess)同步之12〇 fps視 ’ 訊來達成立體視覺,其中將6〇 fPs遞送至每一隻眼,若消 • 費者之視訊硬體僅可支援60 fps視訊,則此選項在缺乏升 級的硬體購買之情況下將不可用)。 當談及尖端的互動式媒體(尤其是視訊遊戲)時,媒體器 鲁 件廢棄及複雜度之問題為一嚴重問題。 現代視訊遊戲應用基本上劃分成四個主要非可攜式硬體 平台:Sony PlayStation® 1、2及 3(PS1、PS2,及 PS3);200949567 VI. Description of the Invention: [Technical Field of the Invention] The present disclosure is generally in the field of a data processing system that improves the ability of a user to manipulate and access audio and video media. This application is the 10th, 315, 460 part of the continuation (CIP) application filed on December 10, 2002, entitled "Apparatus and Method for Wireless Video Gaming". The assignee of the CIP application has been granted. [Prior Art] Since the days of Thomas Edison, recorded audio and film media have become one aspect of society. In the early 20th century, there were widespread releases of recorded audio media (magnetic columns and records) and movie media (coin-operated jukeboxes and movies), but the two technologies are still in their infancy. In the late 1920s, films and audio were combined on the basis of bestsellers, followed by color films and audio. Radio broadcasts have evolved into broadcast-selling audio media that largely support the form of advertising. When the television (TV) broadcast standard was established in the mid-1940s, television and radio were joined in the form of broadcast-selling media to bring previously recorded or live-lived movies to the home. By the middle of the 20th century, most American households had a phonograph record player for playing recorded audio media, a radio for receiving live broadcasts of broadcast audio, and a broadcast audio for live broadcasts. / Video (A/V) media TV. These three "media players" (recorders, radios and TVs) group 139849.doc 200949567 are often combined into a common public speaker cabinet to become the "media center" of the family. Although media choices are limited for consumers, the media “ecology, first” is very stable. Most consumers know how to use Media Play * 且 and enjoy the full range of their abilities. At the same time, publishers of the media, (Λ#for film and television studios' and music companies) are able to distribute their media to both cinemas and families without extensive piracy or “secondary sales” (ie, already Use media resale). Often, publishers do not receive revenue from secondary sales, and therefore 'secondary sales reduce publishers' revenue for new sales of buyers who would otherwise be able to use their own media. Although there are indeed used records sold during the mid-20th century, such sales will not have a major impact on record publishers, because they are different from movies or video spots (which are usually viewed by adults - once or only a few times) Music tracks can be listened to hundreds or even thousands of times. ^ Cognac, therefore, music media is far more "lasting" than film/video media (that is, for adult consumers, it has lasting value). Once you have purchased ^日Η ^, (4) 1 "If the consumer likes the music, then the fee can be kept for a long time. From the middle of the 20th century to the present, the media, the body, the system for the consumer And publishing: 4 and knowing the loss have experienced a series of fundamental changes. In the case of the widespread introduction of audio recorders (especially cassettes with high quality body), there is indeed a high degree of Consumers nowadays a wide range of consumer media, Ren Ba, also bought the "Practical Practice - The Beginning of Piracy." The philanthropist makes the record for the sake of convenience, but the increased consumption * The student of the album collection will enter: Take the clothes and the 'movers will record 139849.doc 200949567 music broadcasted by radio instead of buying the album or tape from the publisher. The emergence of consumer VCR leads to more consumption Convenience, because the VCR can now be set to record TV programs, which can be viewed at a later time, and the VCR also leads to the establishment of the video rental industry, in which movies and TV program designs can be accessed on an "as required" basis.The rapid development of popular home media devices since the mid-1980s has led to unprecedented choice and convenience for consumers, and has led to a rapid expansion of the media publishing market. Today, consumers face multimedia choices and multimedia devices, many of which are tied to specific forms of media or to specific publishers. A keen media consumer may connect a bunch of devices to the TVs and computers in each room of the house, resulting in a "snake" cable to one or more televisions and/or personal computers (PCs) and a group of remote controls. (In the context of this application, the term "personal computer" or "PC" refers to any type of computer suitable for use in a home or office), including desktop computers, Macintosh® or other non-Windows computers, and Windows compatible devices, Unix variants, laptops, etc.). Such devices may include video game consoles, VCRs, DVD players, audio surround sound processors/amplifiers, satellite set-top boxes, cable TV set-top boxes, and the like. In addition, for enthusiastic consumers, there may be multiple devices with similar functions due to compatibility issues. For example, consumers may own both HD-DVD and Blu-ray DVD players, or both Microsoft Xbox® and Sony Playstation® video game systems. In fact, due to the incompatibility of several games across several versions of the game console, consumers may have both XBox and later versions (such as Xbox 360®). Frequently, consumers are confused about which video is used and which remote end is used. Even after placing the disc in the correct player (eg DVD, HD-DVD, Blu-ray, Xbox or Playstation), selecting the video and audio inputs for the device and finding the correct remote control, the consumer still faces Technical challenges. For example, in the case of a wide-screen DVD, the user may need to first determine the correct aspect ratio (eg, 4:3, full, zoom, wide magnification, cinema wide, etc.) and then on their TV or monitor screen. Set the correct aspect ratio. Similarly, the user may need to first determine the correct audio surround sound system format (e.g., AC-3, Dolby Digital, DTS, etc.) and then set the correct audio surround sound system format. Often, consumers are unaware that they may not have access to the media content of their television or audio system (for example, watching a movie that is squeezed in the wrong aspect ratio, or listening to stereo audio instead of surround sound) . Increasingly, Internet-based media devices have been added to the stack of devices. Audio devices like the Sonos® digital music system stream audio directly from the Internet. Similarly, devices like the 8111^13 entertainment player record video and stream it through the home network or via the Internet, where the video can be viewed remotely on the PC. And Internet Protocol Television (IPTV) services provide cable TV-like services via digital subscriber line (DSL) or other home Internet connections. There have also been recent efforts to integrate multiple media functions into a single device, such as the Moxi® Media Center and the PC running the Windows XP Media Center version. While each of these devices provides a little convenience for the functions they perform, each lacks universal and simple access to most media. In addition, often due to the need for expensive processing and / or local materials, these n pieces often cost a number of 7 US dollars to install k ^ another 'such modern consumer electronics devices usually consume a lot of power' Even when idle, it consumes a lot of power, which means it is expensive and wastes energy over time. For example, if the device forgets to cut a device or switch it to a different video input, the device may continue to work. In addition, because none of these devices is a complete solution, it must be integrated with other devices in the home (4), which still leaves the mouse with a mouse line and many remote controls. Moreover, when many (four) work properly on the Internet, they typically provide a more general form of media (compared to the form that might otherwise be available). For example, f 'devices that stream video over the Internet often only stream video material, and can't often accompany dvd interactive "extra billing" streams, such as video "production", games or director reviews. . This is due to the fact that interactive materials are often produced in a specific format intended for the specific device that handles interactivity at the local end. For example, each of Qing, HD-DVD, and Blu-ray Disc has its own specific interactive format. Any home media device or local computer (which may be developed to support all popular formats) will require some degree of sophistication and flexibility that would be too expensive and complicated for consumer operations. 〇 This problem is exacerbated. If a new format is introduced in the future, the local device may not have the hardware capability to support the new format. This means that consumers will have to purchase the upgraded local media device. For example, the old device may not have a higher resolution video or stereo video (for example, each eye 139849.doc 200949567 stream), then the local device may not have the decoding to decode the video. Capabilities, or they may not have hardware for outputting the video in a new format (for example, to achieve stereo vision by 12 〇 fps visual synchronization with shuttered glasses), where 6 〇 fPs Delivered to each eye, if the consumer's video hardware can only support 60 fps video, this option will not be available in the absence of an upgraded hardware purchase). When it comes to cutting-edge interactive media (especially video games), the problem of obsolescence and complexity of media is a serious problem. Modern video game applications are basically divided into four main non-portable hardware platforms: Sony PlayStation® 1, 2 and 3 (PS1, PS2, and PS3);
Microsoft Xbox(g^Xb〇x 36〇⑧;及Nintend〇 ⑧及Microsoft Xbox (g^Xb〇x 36〇8; and Nintend〇 8 and
WiiTM ;以及以pc為基礎之遊戲。此等平台中之每一者不 同於其他者,使得經編寫以在一平台上執行之遊戲通常不 會在另一平台上執行。亦可能存在一代器件與下一代器件 之相容性問題。即使大多數軟體遊戲開發者建立獨立於特 ❹ 定平台而設計之軟體遊戲,為了在特定平台上執行特定遊 戲,亦需要專有軟體層(其經常被稱為「遊戲開發引擎」) 來調適遊戲以在特定平台上使用。每一平台以「控制台」 (亦即,附接至TV或監視器/揚聲器之獨立盒子)之形式出 售給消費者或其本身為一 PC。通常,視訊遊戲係在諸如藍 光DVD、DVD-ROM或CD_ROM之光學媒體上出售,該光 學媒體含有體現為尖端的即時軟體應用程式之視訊遊戲。 隨著家庭寬頻帶速度增加,視訊遊戲正日益變得可用於下 載0 139849.doc 200949567 由於高階視訊遊戲之即時性及高計算要求而使得達成與 視訊遊戲軟體之平台相容性的特殊性要求極端苛刻。舉例 而吕,吾人可能期望自一代視訊遊戲至下一代視訊遊戲 (例如,自 XBox至 XBox 360,或自 playstati〇n 2 (「ps2」) 至Playstation 3 (「PS3」))的完全遊戲相容性,正如存在 自pc至具有較快處理單元或核心之另一 pc的生產力廡 用程式(例如,MiCrosoft Word)之普遍相容性。然而,對於 視訊遊戲並非為此狀況。因為#發行—代視訊遊戲時,視WiiTM; and PC-based games. Each of these platforms is different from the others, so that games written to be executed on one platform are typically not executed on another platform. There may also be compatibility issues between a generation of devices and next-generation devices. Even though most software game developers build software games designed to be independent of the specific platform, in order to execute specific games on a specific platform, a proprietary software layer (which is often referred to as the "game development engine") is needed to adapt the game. Used on a specific platform. Each platform is sold to the consumer in the form of a "console" (i.e., a separate box attached to the TV or monitor/speaker) or itself as a PC. Typically, video games are sold on optical media such as Blu-ray DVD, DVD-ROM or CD_ROM, which contains video games embodied in sophisticated real-time software applications. As home broadband speeds increase, video games are becoming increasingly available for download. 0 139849.doc 200949567 Due to the immediacy and high computing requirements of high-end video games, the special requirements for platform compatibility with video game software are extremely extreme. harsh. For example, we may expect full game compatibility from a generation of video games to next-generation video games (for example, from XBox to XBox 360, or from playstati〇n 2 ("ps2") to Playstation 3 ("PS3")). Sex, as there is a general compatibility of productivity applications (eg, MiCrosoft Word) from pc to another pc with a faster processing unit or core. However, this is not the case for video games. Because #release-generation video game, view
訊遊戲製造商通常尋求對於給定價格點之最高可能效能, 所以經對系統進行動態架構改變,以使得經編寫以用於 前代系統之許多遊戲在稍後一代系統上不工作。舉例而 5,ΧΒ〇Χ係基於χ86系列處理器,而XBox 360係基於Game manufacturers often seek the highest possible performance for a given price point, so dynamic architectural changes are made to the system so that many games written for use in previous generation systems do not work on later generation systems. For example, 5, based on the χ86 series processor, and XBox 360 is based on
PowerPC 系列。 可利用技術來模擬先前架構,但假定視訊遊戲為即時應 用程式則在模擬中達成完全相同之行為常常不切實際。 此係對’肖費者、視訊遊戲控制台製造商及視訊遊戲軟體出 版商之知失。對於消費者而言,纟意謂保持將舊的一代視 S、遊戲控制台與新的-代視訊遊戲控制台兩者接通至TV 以:肐夠玩所有遊戲的必要性。對於控制台製造商而言, 其…月與新控制台之模擬及較緩慢採用相關聯的成本。且 對於出版商而+,甘立 5 其忍謂可能必須發行新遊戲之多個版本 以便涵蓋所古1 + 有潛在的消費者·不僅發行用於視訊遊戲之每 一商標(例如, Λϋ〇Χ、Playstation)的版本,而且常常發行 用於給定商;);發夕> 〈母一版本(例如,PS2及PS3)的版本。舉例 139849.doc -10- 200949567 而言’開發電子藝術「瘋狂橄欖球08」之單獨版本以用於 XBox、XBox 360、PS2、PS3、Gamecube、"Wii 及 PC 平台 以及其他平台。 可攜式器件(諸如,蜂巢式電話及可攜式媒體播放機)亦 對遊戲開發商提出挑戰。日益增加地,該等器件連接至無 線資料網路且能夠下載視訊遊戲。但是,市場中存在具有 多種不同顯示解析度及計算能力的多種蜂巢式電話及媒體 器件。又’因為該等器件通常具有電力消耗、成本及重量 約束,所以其通常缺乏類似圖形處理單元(「GPU」)之高 階圖形加速硬體(諸如,由CA之Santa Clara之NVIDIA製造 的器件)。因此,遊戲軟體開發商通常開發同時用於許多 不同類型之可攜式器件的給定遊戲標題。使用者可發現: 給定遊戲標題不可用於其特定蜂巢式電話或可攜式媒體播 放機。 在家庭遊戲控制台之狀況下,硬體平台製造商通常向軟 φ 體遊戲開發商索要用於在其平台上發布遊戲之能力的版 稅。蜂巢式電話無線通信公司通常亦向遊戲出版商索要用 於將遊戲下載至蜂巢式電話中之版稅。在pc遊戲之狀況 下,不存在用於發布遊戲所支付之版稅,但由於用於支援 多種PC組態及可能引起的安裝問題的較高消費者服務負擔 而使得遊戲開發商通常面臨高成本。又,pc通常較少對遊 戲軟體之盜版提出障礙,因為其可由技術上博學之使用者 容易地重新程式化且遊戲可更容易地被盜版且更容易地被 分配(例如,經由網際網路”因此,對於軟體遊戲開發商 139849.doc 200949567 而言’在遊戲控制台、蜂巢式電話及PC上發現存在成本及 不利之處。 對於控制台及PC軟體之遊戲出版商而言,成本不止於 此。為了經由零售通道分配遊戲,出版商向零售商索要低 於出售價格之批發價格以使零售商具有利潤率。出版商通 常亦必須支付製造及分配保存遊戲之實體媒體的成本。零 售商經常亦向出版商索要「價格保護費」以涵蓋可能的意 外費用(諸如,遊戲售不出,或遊戲之價格降低,或零售 商必須退還部分或所有批發價格及/或自購買者收回遊 戲)。另外’零售商通常亦向出版商索要用於幫助在廣告 傳單中銷售遊戲之費用。此外,零售商日益增加地自已完 成遊戲之使用者購買回遊戲,且接著將該等遊戲以已使用 之遊戲出售,通常不與遊戲出版商分享已使用遊戲之收 入。以下事實添加施加於遊戲出版商之成本負擔:遊戲常 常被經由網際網路盜版及分配以供使用者下載及進行免費 複製。 隨著網際網路寬頻帶速度增加且寬頻帶連接性在美國及 全世界變得更廣泛(特定言之,至家庭及至租賃連接網際 網路之PC的「網咖」),遊戲日益增加地被經由下載而分 配至PC或控制台。又,寬頻帶連接日益增加地用於玩多人 及大型多人線上遊戲(該兩者在本揭示案中藉由首字母縮 寫詞「MMOG」來指稱)。此等改變減輕了與零售分配相 關聯之一些成本及問題。下載線上遊戲解決了遊戲出版商 之二不利之處,因為分配成本通常較小且存在較少或不 139849.doc 200949567 存在未出售媒體之成本。但已下載的遊戲仍經受盜版,且 由於八大小(大小常常為許多個十億位元組)而使得其可能 花費非常長之時間來下載。另外,多個遊戲可填滿小磁碟 機諸如連同可揭式電腦一起或連同視tfl遊戲控制台一起 ‘ 出售之彼等磁碟機。然而,就遊戲或MMOG需要線上連接 以使得遊戲可玩之程度而言,盜版問題得以減輕,因為通 常需要使用者具有有效的使用者帳戶。不同於可藉由相機 ❹ #攝顯不螢幕之視訊或藉由麥克風記錄來自揚聲器之音訊 來複製的線性媒體(例如,視訊及音樂),每一視訊遊戲體 驗係唯一的,且不可使用簡單視訊/音訊記錄來複製。因 此,甚至在未強力執行版權法且盜版猖獗的區域中,亦可 保護MMOG免於被盜版且因此可支援商業。舉例而言,已 成功地部署Vivendi SA之「魔獸世界」mm〇g,而在全世 界未遭受盜版。且許多線上或MM〇G遊戲(諸如,以以⑽ Lab之「第二人生」MM〇G)經由建置於遊戲中之經濟模型 • 而產生遊戲運營商的收入,其中資產可使用線上工具而帶 來、出售且甚至建立。因此,可使用除習知遊戲軟體購買 或訂用之外的機制來為線上遊戲之使用付費。 儘管由於線上或MMOG之性質而使得常常可減輕盜版, 但線上遊戲運營商仍面臨其餘挑戰。許多遊戲需要大量的 本端(亦即,家庭内)處理資源以供線上或MM〇G適當地工 作。若使用者具有低效能之本端電腦(例如,不具有αρυ 之電腦,諸如低端膝上型電腦),則其可能不能夠玩該遊 戲。另外,隨著遊戲控制台老化,其遠落後於目前技術狀 139849.doc 200949567 態且可能不能夠處理更高階之遊戲。即使假定使用者之本 MPC能夠處料戲之計算要求,常f亦存在安裝複雜度。 :::子在驅動器不相容性(例如,若下載新遊戲,則可能 ^的圖形驅動11,其致使依賴於舊版本圖形驅動 先別已安裝之遊戲不可操作)。隨著下載更多遊戲, 控制台可能用完本端磁碟空間。當發現缺陷並修復時或若 對遊戲進行了修_如,若遊戲開發商發現遊戲之級別 太難玩或太容易玩),複雜遊戲通常隨著時間推移而自遊 戲開發商接收下載之修補程式(patch)。此等修補程式需要 新的下載。但有時並非所有使用者完成所有修補程式之下 載。在其他時候,下載之修補程式引入其他相容性或磁碟 空間消耗問題。 〃 又,在遊戲播放期間,可能需要大資料下載以將圖形或 行為資訊提供至本端PC或控制台。舉例而言,若使用者進 入MMOG中之-房間中,且遭遇由圖形資料組成或具有在 使用者之本端機器上不可用之行為的場景或人物,則必須 下載彼場景或人物之資料。若網際網路連接不夠快,則此 可導致玩遊戲期間的實質延遲。此外,若所遭遇之場景或 人物需要超過本端PC或控制台之儲存空間或計算能力的儲 存空間或計算能力’則其可產生一情形:其中使用者不可 在遊戲中繼續,或必須以品質降低之圖形繼續。因此,線 上或MMQG遊戲常常限制其儲存及/或計算複雜度要求。 另外,其常常限制遊戲期間之資料傳送的量。線上或 MMOG遊戲亦可使可玩遊戲之使用者之市場變窄。 139849.doc -14- 200949567 此外,技術上博學之使用者日益增加地反向工程設計遊 戲之本端複本且修改遊戲以使得其可作弊。作弊可能 行比用人力可能的速度快的重複按紐按壓(例如,以便非 ' $快速地射擊)-般簡單。在支援遊戲中資產交易之遊戲 ' =#弊可達^導致欺編性交易涉及具有實際經濟價值之 資產的欺詐程度。t線上或MM0G經濟模型係、基於該等資 產交易時,此可導致對遊戲運營商之實質有害後果。 φ 、開發新遊戲之成本隨著似控制台能夠製作愈加尖端的 遊戲(例如’具有更逼真之圖形(諸如,即時光線追縱),及 更逼真之行為(諸如,即時物理學仿真))而增長。在視訊遊 戲業之早期,視訊遊戲開發係與應用程式軟體開發非常類 、之過程,亦即,大多數開發成本係在軟體之開發中(與 圖形、音訊及行為要素或「資產」之開發相對比),諸^ 可絰開發以用於具有廣泛特殊效果之電影的彼等軟體開 發。現今,許多尖端的視訊遊戲開發努力比軟體開發更類 ⑩ t於富有特殊效果之電影開發。舉例而言,許多視訊遊戲 ^ D世界之仿真,且產生日益真實(亦即,看似與攝影 拍攝的活人動作影像一般逼真的電腦圖形)的人物、道具 及環境。照片般逼真的遊戲開發之最具挑戰方面中之一者 為建立不能區別於活人動作人面的電腦產生之人面。面部 俘獲技術(諸如,由CA之San Francisc〇之開發的 c〇ntourTM真實性俘獲系統)俘獲表演者之面部之精確幾何 形狀並在表演者處於運動中時以高解析度追蹤表演者之面 部之精確幾何形狀。此技術允許在pc或遊戲控制台上再現 139849.doc -15· 200949567 3D面部’該3D面部實際上不能區別於所俘獲的活人動作 面部。精確地俘獲及再現「照片般逼真的」人面在若干方 面有用。首先’高度可辨識之名人或運動員常常用於視訊 遊戲中(常常以高成本雇用),且不完美性可能對於使用者 而言顯而易見,從而使檢視體驗分心或令人不愉快。經常 地,需要高度細節來達成高度照片般逼真感_潛在地需要 再現大量多邊形及高解析度紋理(在多邊形及/或紋理在圖 框接圖框基礎上隨著面部移動而改變之情況下)。PowerPC series. Techniques can be used to simulate the previous architecture, but it is often impractical to assume that video games are instant applications that achieve the same behavior in the simulation. This is a loss to the publishers of the "Shaokes", video game console manufacturers and video game software publishers. For consumers, it means keeping the old generation of S, the game console and the new video game console connected to the TV to: Play enough for all games. For console manufacturers, their monthly cost associated with the simulation and slower adoption of the new console. And for publishers, +, Gan Li 5, it may be necessary to issue multiple versions of the new game in order to cover the ancient 1 + potential consumers · not only issued each trademark for video games (for example, Λϋ〇Χ , Playstation) version, and often issued for a given quotient ;); eve > < mother version (for example, PS2 and PS3) version. Example 139849.doc -10- 200949567 For the purpose of developing a separate version of the electronic art "Crazy Rugby 08" for XBox, XBox 360, PS2, PS3, Gamecube, "Wii and PC platforms and other platforms. Portable devices such as cellular phones and portable media players also challenge game developers. Increasingly, these devices are connected to a wireless data network and are capable of downloading video games. However, there are a variety of cellular phones and media devices in the market that have many different display resolutions and computing capabilities. Also, because such devices typically have power consumption, cost, and weight constraints, they typically lack high-level graphics acceleration hardware like a graphics processing unit ("GPU") (such as those manufactured by NVIDIA of Santa Clara, CA). Therefore, game software developers typically develop a given game title that is used for many different types of portable devices. The user can find that the given game title is not available for its particular cellular phone or portable media player. In the case of a home game console, hardware platform manufacturers typically ask software developers for a version of the tax on their ability to publish games on their platforms. Honeycomb telephony wireless communication companies often also ask game publishers for royalties to download games to cellular phones. In the case of pc games, there is no royalties paid for publishing games, but game developers often face high costs due to the high consumer service burden used to support multiple PC configurations and possible installation problems. Also, pcs generally have fewer obstacles to piracy of game software because they can be easily re-programmed by technically savvy users and games can be more easily pirated and more easily distributed (eg, via the Internet). Therefore, for software game developer 139849.doc 200949567, 'there are costs and disadvantages found in game consoles, cellular phones and PCs. For game publishers of consoles and PC software, the cost does not stop there. In order to distribute the game through the retail channel, the publisher asks the retailer for a wholesale price below the sale price to give the retailer a profit margin. The publisher usually has to pay for the cost of manufacturing and distributing the physical media that holds the game. Ask the publisher for a "price protection fee" to cover possible unforeseen expenses (such as a game not being sold, or the price of the game is reduced, or the retailer must refund some or all of the wholesale price and / or withdraw the game from the purchaser). 'Retailers usually also ask publishers for the cost of helping to sell games in advertising flyers. The retailer increasingly purchases the game from the user who has completed the game, and then sells the game as a used game, usually not sharing the revenue of the used game with the game publisher. The following facts are added to the game publisher. Cost burden: Games are often pirated and distributed via the Internet for users to download and copy for free. As the Internet broadband speed increases and broadband connectivity becomes more widespread in the US and around the world (specifically In the case of homes and to "network cafes" that lease PCs connected to the Internet, games are increasingly being distributed to PCs or consoles via downloads. Moreover, broadband connections are increasingly used to play multiplayer and large-scale Online game (the two are referred to in this disclosure by the acronym "MMOG"). These changes alleviate some of the costs and issues associated with retail distribution. Downloading online games solves game publishers' The second disadvantage is that the cost of distribution is usually small and there is little or no 139849.doc 200949567 there is a cost of unsold media. Downloaded games are still subject to piracy, and due to eight sizes (often many billions of bytes) it can take a very long time to download. In addition, multiple games can fill up small drives such as Detachable computers are sold together with or together with the tfl game console. However, insofar as the game or MMOG requires an online connection to make the game playable, the piracy problem is alleviated because it is usually required Have a valid user account. Unlike video media (such as video and music) that can be copied by camera ❹ # 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频 视频It is unique and cannot be copied using simple video/audio recordings. Therefore, MMOG can be protected from piracy and thus can support commerce even in areas where copyright law is not enforced and pirated. For example, Vivendi SA's World of Warcraft mm〇g has been successfully deployed and has not been pirated throughout the world. And many online or MM〇G games (such as to use (10) Lab's "Second Life" MM〇G) generate revenue from game operators through the economic model built into the game, where assets can be used with online tools. Brought, sold and even established. Therefore, mechanisms other than the purchase or subscription of conventional game software can be used to pay for the use of online games. Although piracy is often mitigated due to the nature of the online or MMOG, online game operators still face the remaining challenges. Many games require a large number of local (i.e., in-home) processing resources for proper operation on the line or MM〇G. If the user has a low-performance local computer (for example, a computer that does not have an αρυ, such as a low-end laptop), it may not be able to play the game. In addition, as the game console ages, it lags far behind the current state of the art and may not be able to handle higher-order games. Even if it is assumed that the user's own MPC can handle the calculation requirements of the game, there is often installation complexity. ::: Sub-drive incompatibility (for example, if a new game is downloaded, it may be a graphics driver 11, which renders the game dependent on the old version of the graphics driver inoperable). As more games are downloaded, the console may run out of local disk space. When a defect is found and repaired, or if the game is repaired, if the game developer finds that the level of the game is too difficult or too easy to play, the complex game usually receives the downloaded patch from the game developer over time. (patch). These patches require a new download. But sometimes not all users complete all patch downloads. At other times, the downloaded patch introduces additional compatibility or disk space consumption issues. 〃 Also, during game play, large data downloads may be required to provide graphical or behavioral information to the local PC or console. For example, if a user enters a room in a MMOG and encounters a scene or character that is composed of graphical material or has behavior that is not available on the user's home machine, then the material of the scene or character must be downloaded. If the internet connection is not fast enough, this can result in substantial delays during game play. In addition, if the scene or character encountered needs more than the storage space or computing power of the storage space or computing power of the local PC or console, then it may generate a situation in which the user cannot continue in the game, or must be of quality The reduced graphics continue. Therefore, online or MMQG games often limit their storage and/or computational complexity requirements. In addition, it often limits the amount of data transfer during the game. Online or MMOG games can also narrow the market for users of playable games. 139849.doc -14- 200949567 In addition, technically knowledgeable users are increasingly reversing the native copy of the game and modifying the game to make it cheating. Cheating may be as simple as pressing a button with a quicker human hand (for example, to shoot non-$ quickly). The game that supports asset trading in games '=#Defense^ causes fraudulent transactions to involve fraudulent assets with real economic value. On the t-line or the MM0G economic model system, based on these asset transactions, this can have substantial harmful consequences for the game operator. φ, the cost of developing new games, as the console can produce more sophisticated games (such as 'having more realistic graphics (such as instant light tracking), and more realistic behavior (such as real-time physics simulation)) increase. In the early days of the video game industry, video game development and application software development were very similar, that is, most of the development costs were in the development of software (as opposed to the development of graphics, audio and behavioral elements or "assets"). More than that, they can be developed for the development of their software for films with a wide range of special effects. Today, many cutting-edge video game development efforts are more like a software development with special effects than software development. For example, many video games simulate the world of D, and produce characters, props, and environments that are increasingly real (that is, computer graphics that look like real-life images of live action movies). One of the most challenging aspects of photo-realistic game development is to create a human face that can't be distinguished from a living person's face. Facial capture techniques, such as the c〇ntourTM authenticity capture system developed by San Francisco's San Francisc〇, capture the precise geometry of the performer's face and track the performer's face with high resolution while the performer is in motion Precise geometry. This technique allows reproduction on a pc or game console. 139849.doc -15· 200949567 3D Faces The 3D face is virtually indistinguishable from the captured live action face. Accurately capturing and reproducing "photo-realistic" faces is useful in several ways. First, highly recognizable celebrities or athletes are often used in video games (often employed at high cost), and imperfections may be apparent to the user, making the viewing experience distracting or unpleasant. Often, high levels of detail are required to achieve a high degree of photorealistic sensation - potentially requiring the reproduction of large numbers of polygons and high resolution textures (in the case where polygons and/or textures change with the movement of the face on the basis of the frame) .
當具有詳細紋理之高多邊形計數場景快速改變時,支援 遊戲之pc或遊戲控制台可能不具有足夠的ram來儲存用 於遊戲片段中所產生的所需數目之動畫圖框的足夠多邊形 及紋理資料。另外,通常可詩PC或遊戲控Μ上之單一 光碟機或單一磁碟機通常比RAM緩慢得多且通常不可跟 上GPU在再現多邊形及紋理中可接受的最大資料速率。當 前遊戲通常將大多數多邊形及紋理載入至ram中,此意謂 給定場景在複雜度及持續時間上很大程度上受ram之容量When a high polygon count scene with detailed texture changes quickly, the game-enabled pc or game console may not have enough ram to store enough polygons and texture data for the required number of animated frames produced in the game clip. . In addition, a single disc drive or a single drive on a poem PC or game console is typically much slower than RAM and typically cannot keep up with the maximum data rate that the GPU can accept in rendering polygons and textures. Current games usually load most polygons and textures into the ram, which means that the given scene is largely affected by the ram's complexity in complexity and duration.
限制。在(例如)面部動畫製作之狀況下,此可能將PC或遊 戲控制台限制於並無真實感之低解析度 可在遊戲暫停且載入用於更多圖框之多邊形二二 ,貧枓)之前在有限數目之圖框中製作成動晝的真實感面 ϋ11上制σ顯不類似於「正在載入...」之訊息時觀看 :越螢幕緩慢地移動由現今的複雜視訊遊戲之使用 u為内在缺點。下一個場景自磁碟(除非另外有條 139849.doc • 16 - 200949567 參 ❹ 件否則本文中之「磁碟」指代非揮發性光學媒體或磁性 媒體以及諸如半導體「快閃」記憶體之非磁碟媒體)載 入時之延遲可花費若干秒或甚至若干分鐘。此浪費時間且 可能使遊戲玩家相當受挫。如先前所論述,大量或所有延 遲可此係由於來自磁碟之多邊形、紋理或其他資料之載入 時間,但亦可能係以下狀況:當pc或控制台中之處理器及/ 或GPU準備用於場景之資料時,花費一部分載入時間。舉 例而5,*式足球視訊遊戲可允許玩家在大量玩家、小 組、運動場及天氣條件當中選擇。因此,取決於選擇何特 定組合,可能需要用於場景之不同多邊形、紋理及其他資 =(統稱「物件」)(例如,不同小組在其制服上具有不同色 f及圖案)。有可能列舉各種排列中之許多或所有者且提 =預先計算物件中之許多或所有者並將物件館存於用於儲 存遊戲之磁碟上。但是,芒Μ 排狀數目Α,料有物件所 ^之儲存量可能過大以致不能安裝在磁碟上(或太不切實 能下载)。因此,現存⑽及控制台系統通常在 2场景之複雜度與播放持續時間兩者上受約束且對於複 雜場景遭受長載入時間。 、 先前技術視訊賴系統及應用程式軟體 限制在於.盆口、力顯者 、./、曰盈增加地使用(例如)3D物件之大資料庫 ’多邊形及紋理),該等大資料庫需要 :戲控制台中以用於處理。如上所述,當將該等資料庫 2 =儲存於磁碟上時,該等f料庫可花費長時間 然而4資料庫係儲存於遠端位置且經由網際網路來存 139849.doc 200949567 取則戴入時間it常嚴重得多。在此種情形下,下載大資 料庫可能花費幾分鐘、幾小時或甚至幾天。另夕卜,該等資 ;',庫常常產生大量費用(例如,用於遊戲、電影或歷史記 錄片中的詳細的高有桅帆船之3D模型)且意欲用於銷售給 本端終端使用者。然而’一旦資料庫被下載至本端使用 者,其就有被盜版之風險。在許多狀況下,使用者僅出於 估計資料庫以查看其是否適合使用者之需要(例如,當使 用者執行特定移動時,用於遊戲人物之職褒是否具有滿 意的外觀或外表)的目的而希望下載資料庫。對於在決定 進行購買之前估計3D資料庫之使用者而言,長載入時間可 能係一阻礙。 類似問題在MMOG(特定言之,如允許使用者利用日益 定製化人物之遊戲)中出現。對於顯示人物之PC或遊戲控 制台,其需要能夠存取具有31)幾何形狀(多邊形、紋理等) 以及彼人物之行為(例如,若人物具有盾牌,則盾牌是否 足夠強以使矛偏轉)的資料庫。通常,當1^11^〇(}由一使用 者初次玩時,用於人物之大量資料庫在遊戲之初始複本下 已經可用,遊戲之初始複本在本端在遊戲光碟上可用或經 下載至磁碟。但是,隨著遊戲進展,若使用者遭遇資料庫 在本端不可用之人物或物件(例如,若另一使用者已建立 疋製人物),則在可顯示彼人物或物件之前,必須下載 其資料庫。此可導致遊戲之實質延遲。 給疋視§fl遊戲之尖端性及複雜度,則在先前技術視訊遊 戲控制台情況下對視訊遊戲開發商及出版商之另一挑戰在 139849.doc -18. 200949567 於:開發視訊遊戲經常花費2年至3年,成本在數千萬美 元。假定新視訊遊戲控制台平台係以大致每隔五年一次之 速率引入,則遊戲開發商需要在新遊戲控制台發行之前的 -數年開始彼等遊戲之開發工作,以便在發行新平台時使視 訊遊戲同時可用。來自競爭性製造商之若干個控制台有時 大約同時發行(例如,彼此在一年或兩年内),但尚待分曉 的係每一控制台之風行性(例如,哪個控制台將產生最大 ❿ 視訊遊戲軟體銷售)。舉例而言,在近來的控制台循環 中 ’ M1Crosoft χΒοχ 36〇、s〇ny playstati〇n 3及胸如加 預定為在大約相同的一般時間框引入。但在該等引入之前 的數年中,遊戲開發商實質上必須「壓注」哪些控制台平 台將比其他者更成功,且相應地投入其開發資源。電影製 作公司亦必須在電影發行之前很長時間基於其估計可能成 功之電影而分攤其有限的製作資源。給定視訊遊戲所需之 投k之增長程度,則遊戲製作愈加變得類似電影製作,且 ❹ 遊戲製作公司常規上基於其對特定視訊遊戲之將來成功的 估计而投入其製作資源。但是,不同於電影公司,此壓注 並非僅基於製作本身之成功;實情為,其依據於遊戲意欲 在其上執行之遊戲控制台的成功。同時在多個控制台上發 打遊戲可減輕風險,但此額外努力增加成本,且經常延遲 遊戲之實際發行。 PC上之應用程式軟體及使用者環境正變得更為計算上密 集、動態及互動,不僅使其在視覺上更吸引使用者,而且 使其更有用及直觀。舉例而言,新Wind〇ws vistaTM作業系 139849.doc 19 200949567 統與Macintosh®作業系統之相繼版本兩者併有視覺動晝效 應。高階圖形工具(諸如,來自Autodesk公司之MayaTM)提 供非常尖端之3D再現及動畫製作能力(其推動了目前技術 狀態的CPU及GPU之限制)。然而,此等新工具之計算要求 對於該等產品之使用者及軟體開發商而言產生許多實際問limit. In the case of, for example, facial animation, this may limit the PC or game console to a low resolution without realism that can be paused in the game and loaded into polygons for more frames, barren) Previously created in a limited number of frames, the real-world facet ϋ11 is not similar to the "Loading..." message: the slower the screen is moved by the use of today's complex video games. u is an inherent disadvantage. The next scene is a disk (unless there is another article 139849.doc • 16 - 200949567), otherwise the term “disk” refers to non-volatile optical media or magnetic media and non-semiconductor “flash” memory. Disk media) can take a few seconds or even a few minutes to load. This wastes time and can make gamers quite frustrated. As discussed previously, a large or all delay may be due to the loading time of polygons, textures, or other material from the disk, but may also be the case when the processor and/or GPU in the pc or console is ready for use. When loading the data of the scene, it takes a part of the loading time. For example, a football video game allows players to choose among a large number of players, groups, sports fields, and weather conditions. Therefore, depending on which combination of choices you choose, you may need different polygons, textures, and other assets for the scene (collectively, "objects") (for example, different groups have different colors f and patterns on their uniforms). It is possible to enumerate many or all of the various arrangements and to pre-calculate many or all of the objects and store the objects on a disk for storing games. However, the number of rows of awnings is too large, and the storage of the objects may be too large to be mounted on the disk (or too hard to download). Thus, existing (10) and console systems are typically constrained in both the complexity and playback duration of the 2 scenes and suffer long loading times for complex scenes. The limitations of the prior art videoconferencing system and application software are: the basin, the power, the ./, and the increased use of (for example) the large database 'polygons and textures of 3D objects'. These large databases need to: Used in the console for processing. As mentioned above, when the database 2 = is stored on the disk, the f library can take a long time. However, the 4 database is stored in the remote location and stored via the Internet. 139849.doc 200949567 It is often much more serious when it is worn. In such cases, downloading a large repository can take minutes, hours, or even days. In addition, the capital; ', the library often generates a large amount of fees (for example, a detailed high-altitude sailing 3D model used in games, movies, or historical recordings) and is intended for sale to local end users. However, once the database is downloaded to the local user, there is a risk of being pirated. In many cases, the user only uses the estimated database to see if it is suitable for the user (for example, whether the user's job title has a satisfactory appearance or appearance when the user performs a particular move). And hope to download the database. Long load times can be a hindrance to users who estimate the 3D database before deciding to make a purchase. Similar problems arise in MMOGs (specifically, games that allow users to take advantage of increasingly customized characters). For a PC or game console displaying a character, it needs to be able to access the behavior with 31) geometry (polygon, texture, etc.) and the character's behavior (eg, if the character has a shield, then the shield is strong enough to deflect the spear) database. Usually, when 1^11^〇(} is played by a user for the first time, a large database for characters is available under the initial copy of the game, and the initial copy of the game is available on the game disc or downloaded to the local end. Disk. However, as the game progresses, if the user encounters a character or object that is not available to the database at the local end (for example, if another user has established a squat character), before the person or object can be displayed, The database must be downloaded. This can result in a substantial delay in the game. To defy the cutting-edge and complexity of §fl games, another challenge for video game developers and publishers in the case of prior art video game consoles is 139849.doc -18. 200949567 Yu: Developing video games often takes 2 to 3 years and costs tens of millions of dollars. Assuming that the new video game console platform is introduced at roughly every five years, the game developer The development of these games needs to be started several years before the release of the new game console to make video games available simultaneously when the new platform is released. Several from competitive manufacturers The consoles are sometimes released at about the same time (for example, within a year or two of each other), but it remains to be seen that each console is popular (for example, which console will produce the largest video game software sales). In the recent console loop, 'M1Crosoft χΒοχ 36〇, s〇ny playstati〇n 3 and chests are scheduled to be introduced in about the same general time frame. But in the years before the introduction, game development In essence, the business must “inject” which console platforms will be more successful than others, and invest their development resources accordingly. Film production companies must also share their limited time based on their estimated possible success before the film is released. Production resources. Given the growth in the demand for video games, game production becomes more and more similar to film production, and game production companies routinely invest in their production resources based on their estimates of the future success of specific video games. However, unlike film companies, this bet is not based solely on the success of the production itself; the truth is that it is based on the game. The success of the game console on which you want to execute. Simultaneously playing games on multiple consoles can alleviate the risk, but this extra effort increases costs and often delays the actual release of the game. Application software and users on the PC The environment is becoming more computationally intensive, dynamic and interactive, not only making it more visually appealing to users, but also making it more useful and intuitive. For example, the new Wind〇ws vistaTM operating system is 139849.doc 19 200949567 Both the sequential versions of the Macintosh® operating system have visual effects. High-end graphics tools such as MayaTM from Autodesk offer very cutting-edge 3D rendering and animation capabilities that drive the current state of the art CPU and GPU Limit). However, the calculation requirements for these new tools create many practical questions for users and software developers of such products.
題。 不D 因為作業系統(〇S)之視覺顯示必須在多種電腦(包括不 再出售但仍可隨著新OS而升級之前代電腦)上工作,〇3圖 形要求在很大程度上受〇5意欲用於之電腦(其通常包括不 包括GPU之電腦)的最少共同點限制。此嚴重地限制OS之 圖形能力。此外,電池供電之可攜式電腦(例如,膝上型 電腦)限制視覺顯示能力,因為CPU或GPU中之高計算活動 通常導致較高電力消耗及較短電池壽命。可攜式電腦通常 包括在不利用處理器時自動地減低處理器活動性以降低電 力消:的軟體。在一些電腦型號中,使用者可手動地減低 ❹ 處理益活動性。舉例而言,s〇ny之VGN-SZ280P膝上型電 腦,有在一側上標記為「―」(用於低效能,更長電 池哥命)且另-側上標記為「Speed」(用於高效能,較短電 池壽命)之交換器。在可攜式電腦上執行之㈣須能夠即 使在電腦以其峰值效能能力之一分率執行的情況下亦可用 地起作用。因此’⑽圖形效能常常保持為遠低於目前技術 狀態的可用計算能力。 經常出售高端的計算上密集之應用程式(如Maya),期望 該等應用程式將用於高效能pc上。此通常產生高得多的效 139849.doc -20- 200949567 能,及更昂貴且可攜性較差、最少共同點之要求。因此, 該等應用程式具有比通用0S(或通用生產力應用程式,類 似Mi⑽oft 0ffice)有限得多的目標受眾且通常以比通用 0S軟體或制剌程式軟體低得多的量出售。潛在的受眾 進-步受限制,因為預期的使用者時常難以提前試用二等 計算上密集之應用程式。舉例而言,假設學生希望瞭解如 何使用或已經知道該等應用程式之潛在購買者在購買 ❹ ❹ 中希望在進打投資之前試用Maya(此可能涉及亦講買能夠 執行Maya之高端電腦)。當學生或潛在購買者可下載〜 之演城本或得賴aya㈣版本之實體媒體複本時,若其 、乏月b夠執行Maya至其全部潛能(例如,處理複雜場景) 之電腦,則其將不能夠進行產品之全方位評估。此實質上 制該等间端應用程式之受其亦使出售價格變高,因 為開發成本通常經由比通用應用程式之講買次數小得多之 購買次數而清償。 高價應用程式亦對使用應用程式軟體之盜版複本之個體 〜商業產生更多刺激。因此’高端應用程式軟體遭受猎獗 一版儘亥軟體之出版商進行了大量努力來藉由各種技 :減輕該盜版。但是,甚至當使用盜版的高端應用程式 也」吏用者亦不可能排除投資昂貴的目前技術狀態的PC來 執行盜版複本之雲1 要。因此’儘管使用者可以軟體應用程 式之實際零售價故+ 、 貝枪之一分率獲得軟體應用程式之使用,但 7軟體之使用者仍需要購買或獲得昂貴的PC,以便完全 利用該應用程式。 139849.doc •21 · 200949567 ❹ 此對於高效能盜版視訊遊戲之使用者同樣成立。儘管次 版者可以遊戲之實際價格之一分率得到遊戲,但其仍需要 購買適當地玩遊戲所需的昂貴計算硬體(例如,GPU_増強 型PC,或類似ΧΒox 360之高端視訊遊戲控制台)。假定視 訊遊戲通常為消費者之娛樂,則用於高端視訊遊戲系統之 額外成本可為過於昂貴的《此情形在當前工人之平均年收 入相當低(相對於美國之當前工人平均年收入)的國家(例 如,中國)中更糟。因此,小得多的百分比之人口擁有高 端視訊遊戲系統或高端PC。在該等國家中,使用者可支Z 費用以使用連接至網際網路之電腦的「 並 經常地,料網咖具有不具有高效能特徵(諸如:^可 使玩家能夠玩計算上密集之視訊遊戲的Gpu)的較舊型號 或低端PC。此為在低端PC上執行之遊戲成功的關鍵因素 (諸如,Vivendi之「魔獸世界」,其在中國高度成功,且通 常係「在中一國的網咖中玩)。相比之下,計算上密集之遊戲 ( 第—人生」)更不可能在安裝於中國網咖中之pc上 ❿ 玩。該等遊戲實際上達不到僅能夠存取網咖中之低效能% 的使用者。 對於考慮購買視訊遊戲且首先願意藉由經由網際網路將 =不下載至其家庭而試用遊戲之示範版本的使用者亦存在 障礙。視訊遊戲演示常常為遊戲之全能版本,丨中一歧特 ::用,或對遊戲播放之量施加限制。此可能涉及在可將 遊戲安裝於PC或控制台上 丄址 1在Pc*控制台上執行之前下 載數十億位元組之資料的長過程(可能幾個小時)。在PC之 139849.doc -22- 200949567 狀況下,其亦可能涉及算出遊戲需要哪些特殊驅動器(例 如,DirectX或OpenGL驅動器),下載正碟的版本,安裝正 確的版本,及接著判定PC是否能夠播放該遊戲。此後者步 驟可能涉及判定PC是否具有足夠的處理(CPU及GPU)能 力、足夠的RAM及相容的OS(例如,一些遊戲在Windows XP上執行而不在Vista上執行)。因此,在試圖執行視訊遊 戲演示之長過程之後,使用者可能發現視訊遊戲演示不可 能玩(給定使用者之PC組態)。更糟地,一旦使用者已下載 新驅動器以便嘗試該演示,此等驅動器版本就可能與使用 者在PC上習慣使用的其他遊戲或應用程式不相容,因此, 演示之安裝可致使先前可操作的遊戲或應用程式不能操 作。此等障礙不僅使使用者受挫,而且其對視訊遊戲軟體 出版商及視訊遊戲開發商銷售其遊戲產生障礙。 導致不具經濟效益之另一問題與以下事實有關:給定PC 或遊戲控制台通常經設計以適應對應用程式及/或遊戲的 特定程度之效能要求。舉例而言,一些P C具有或多或少之 RAM、較緩慢或較快之CPU及較緩慢或較快之GPU(若其 具有GPU)。一些遊戲或應用程式利用給定PC或控制台之 全計算能力,而一些遊戲或應用程式卻不利用給定PC或控 制台之全計算能力。若使用者之遊戲或應用程式之選擇未 達到本端PC或控制台之峰值效能能力,則使用者可能由於 未利用之特徵而在PC或控制台上浪費了財力。在控制台之 狀況下,控制台製造商可能支付地比資助控制台成本所要 的多。 139849.doc -23- 200949567 存在於視訊遊戲之銷售及享受中的另―問題涉及在使用 者實施購買遊戲之前允許㈣者觀看他人玩輯。存在用 於記錄視訊遊戲以在稍後時間重放的若干先前技術方法。 舉例而言,美國專利第5,558,339號教示了在「遊戲播放」 期間將遊戲狀態資訊(包括遊戲控制器動作)記錄於視訊遊 戲用戶端電腦(由同-或不同使用者擁有)中。此狀態資訊 可在務後時間使用以在視訊遊戲用戶端電腦(例如,pc或 控制台)上重放-些或所有遊戲動作。此方法之顯著缺點 在於:對於檢視已記錄之遊戲的使用I,使用者必須具有 能夠減該遊戲之視訊遊戲用戶%電腦且必須具有在彼電 腦上執行之視訊韻應帛m使得#重放已記錄之遊 戲狀態時賴㈣料同的。除此之外,視㈣戲應用程 式必須係以在已記錄之遊戲與經回放之遊戲之間不存在可 能的執行差異的此種方式編寫。 舉例而言,遊戲圖形大體係在圖框接圖框基礎上計算。 對於許多遊戲,取決於場景是否特別複雜或是否存在減緩 執行之其他延遲(例如,在PC上,另一過程可能正在執 行,以致自遊戲應用程式奪走CPU循環),遊戲邏輯有時可 能花費比-圖框時間短或比—圖框時間長之時間來計算為 下一個圖框而顯示之圖形。在此種遊戲中,以比一圖框時 間稍少之時間(例如,少幾個CPU時脈循環)計算的「臨限 值」圖框最終可出現。當使用完全相同之遊戲狀態資訊再 人"十算彼同一場景時,可能容易花費比一圖框時間多幾個 CPU時脈循環之時間(例如,若内部cpu匯流排稍微與外部 139849.doc •24· 200949567 DRAM匯流排不同相,且即使不存在來自自遊戲處理奪走 數毫秒CPU時間之另-過程的大延遲,其亦引入幾個cpu 循環時間之延遲)。因此,當回放遊戲時,圖框變成以兩 個圖框時間計算而非以單一圖框時間計算。一些行為係基 於遊戲計算新圖框之頻率(例如,當遊戲取樣來自遊戲控 制器之輸入時)。當播放遊戲時,用於不同行為的時間參 考中之此偏差不會影響遊戲播&,但其可料所回放之遊 ❹冑產生不同結果。舉例而言’若籃球之軌道係以穩定的⑽ fps速率來計算’但遊戲控制器輸入係基於經計算之圖框 之速率來取樣,則當記錄遊戲時,經計算之圖框之速率可 能為53 fps,而當重放遊戲時,經計算之圖框之速率可能 為52 fps,此可使得籃球是否被阻止進入籃中存在差異, 從而導致不同結果。因此,使用遊戲狀態記錄視訊遊戲需 要非常謹慎之遊戲軟體設計,以確保使用同一遊戲狀態資 訊重放產生完全相同之結果。 ❿ 用於§己錄視訊遊戲之另一先前技術方法係僅記錄pc或視 訊遊戲系統之視訊輸出(例如,至VCR、DVD記錄器,或 至PC上之視訊俘獲板)。接著可將視訊回倒及重放,或替 代地,將已記錄之視訊上載至網際網路(通常在將視訊壓 ,,伯之後)。此方法之不利之處在於:當回放3D遊戲序列 日守,使用者限於僅自檢視點(序列被自其記錄)來檢視序 列。換言之,使用者不可改變場景之檢視點。 另外,當經由網際網路而使在家庭pc或遊戲控制台上播 放的已記錄之遊戲序列的經壓縮之視訊為其他使用者可用 139849.doc -25- 200949567 夺即使視訊係即時壓縮,亦不可能即時地將經麼縮之視 訊^載f網際網路。其原因仙為世界上連接至網際網路 許夕豕X八有间度不對稱之寬頻帶連接(例如,dSL及電 境數據機通常具有比上傳頻寬高得多的下傳頻寬)。經壓 縮之高解析度視訊序列常常具有比網路之上傳頻寬容量高 的頻寬,使得其不可能即時上載H在播放遊戲序列 之後(可月b 4分鐘或甚至幾小時),在網際網路上之另一使 用者能夠檢視該遊戲之前,將存在顯著延遲^儘管此延遲 在特定情形下(例如’觀看在先前時間出現的遊戲玩家之 成果)可容忍,但其消除了觀看遊戲現場直播(例如,由優 勝玩家玩的籃球錦標赛)之能力或現場直播地播放遊戲時 的「即刻重放」能力。 另一先前技術方法允許具有電視接收器之檢視者觀看視 訊遊戲現場直播,但僅在電視製作人員之控制下。美國與 其他國豕中的一些電視頻道提供視訊遊戲檢視頻道,其中 電視觀眾能夠在視訊遊戲頻道上觀看特定視訊遊戲使用者 (例如,參加錦標赛之頂級玩家)。此藉由將視訊遊戲系統 (PC及/或控制台)之視訊輸出饋送至用於電視頻道之視訊分 配及處理設備中來完成。此正如電視頻道廣播現場直播之 監球比賽時的情況,其中若干個相機自籃球場周圍之不同 角度提供現場直播之饋送。電視頻道接著能夠利用其視訊/ 音訊處理及效應設備來操縱來自各種視訊遊戲系統之輸 出。舉例而言’電視頻道可在來自視訊遊戲的視訊之上上 覆指示不同玩家之狀態的文字(正如其可在現場直播之籃 139849.doc -26 - 200949567 球比赛期間上覆文字)’且電視頻道可加錄來自評論員(其 可論述在比賽期間出現之動作)之音訊。另外,可將視訊 «輸出與記錄遊戲之實際玩家之視訊的相機(例如,展 示玩家對遊戲之情緒反應)組合。 此方法之一問題在於:必須即時地使該等現場直播之視 訊饋送為電視頻道之視訊分配及處理設備可用,以便使其 具有現場直播之廣播的刺激性。然而,如先前所論述,當 _ 視訊遊戲系統係自家庭執行時(尤其是當廣播之一部封包 化括來自正俘獲遊戲玩家之真實世界視訊之相機的現場直 播之視訊時),此常常不可能。另外,在錦標赛情形下, 所關注的為家庭中遊戲者可修改遊戲及作弊,如先前所描 述。由於此等原、目,電視頻道上之該等視訊遊戲廣播常常 配置有聚集於公共位置處(例如,在電視演播室處或在競 技場中)之播放器及視訊遊戲系統,其中電視製作設備可 接受來自多個視訊遊戲系統及潛在的現場直播之相機的視 0 訊饋送。 儘管該等先前技術視訊遊戲電視頻道可為電視觀眾提供 非常刺激之演出(其為與現場直播之運動事件同類(例如, 與以「運動員」呈現之視訊遊戲玩家同類)的體驗,不僅 根據其在視訊遊戲世界中之動作,而且根據其在真實世界 中之動作),但此等視訊遊戲系統常常限於玩家彼此實體 極接近之情形。此外,因為電視頻道係經廣播,所以每一 經廣播之頻道僅可展示由電視頻道之製作人員選擇的一視 訊流。由於此等限制及廣播時間、製作設備及製作人員之 139849.doc -27· 200949567 高成本’該等電視頻道通常僅展示參加頂級錦標賽之頂級 玩家。 另外’向全部電視觀眾廣播視訊遊戲之全螢幕影像的給 定電視頻道母次僅展示一視訊遊戲。此嚴重地限制電視檢 視者之選擇。舉例而言,電視檢視者可能對給定時間展示 之遊戲不感興趣。另一檢視者可能僅對觀看並非由電視頻 道在給定時間放映的特定玩家之遊戲播放感興趣。在其他 狀況下,檢視者可能僅對觀看内行玩家如何處理遊戲中之 特定級別感興趣。其他檢視者可能希望控制檢視點(視訊 遊戲係自其來看),該檢視點不同於由製作小組等選擇之 檢視點。簡言之,電視檢視者在觀看視訊遊戲中可能具有 無數的偏好(即使若干個不同電視頻道可用,電視網路之 特定廣播亦不適應該等偏好)。由於所有上述原因,使得 先刚技術視訊遊戲電視頻道在向電視檢視者呈現視訊遊戲 中具有顯著限制。 先前技術視訊遊戲系統及應用程式軟體系統之另一缺點 在於.其複雜,且通常遭受錯誤、崩潰及/或非所欲且不 需要的行為(統稱「缺陷」)。儘管遊戲及應用程式在發行 之則通常經歷除錯及調諧過程(經常稱為「軟體品質保 證」或SQA),但幾乎不變的是:—旦遊戲或應用程式被 發仃至領域中之廣大受眾,缺陷就會突然出現。遺憾的 疋軟體開發商難以在發行之後識別及追蹤到許多缺陷。 軟體開發商可能難以意識到缺陷。即使當其瞭解-缺陷 時,亦可能僅存在其可用於識別是什麼引起該缺陷的有限 139849.doc 200949567 ❹ 參 量之資訊。舉例而言,使用者可打電話給遊戲開發商之消 費者服務熱線且留下訊息,該訊息陳述:當玩遊戲時,螢 幕開始閃爍,接著改變成固體藍且PC凍結。其為sqa小組 提供了在追蹤缺陷中有用的非常少之資訊。線上連接之一 些遊戲或應用程式在特定狀況下有時可提供更多資訊。舉 例而言,有時可使用「看門狗」過程來監視遊戲或應用程 式是否「崩潰」《看門狗過程可收集遊戲或應用程式崩潰 時關於遊戲或應用程式過程之狀態(例如,記憶體堆疊之 使用狀態、遊戲或應用程式進展至之程度等)的統計,且 接著經由網際網路而將彼資訊上載至SQA小組。但在複雜 遊戲或應用程式中,該資訊可花費非常長之時間來解密, 以便準確地判定在崩潰時使用者正在進行什麼。儘管如 此,亦不可能判定何事件序列導致崩潰。 與pc及遊戲控制台相關聯之又—問題在於:其經受使消 費者極不便利之服務問題。服務問題亦影響pc或遊戲控制 台之製造商’因為其通常需要發送特殊盒子以安全地裝運 破損的pc或控制台,且因而招致修理之成本(若pc或控制 台處於保修期内)。遊戲或應用程式軟體出版商亦可受處 於修理狀態中之PC及勒制台引起的銷售損失(或線上服 務使用)影響。question. No D Because the visual display of the operating system (〇S) must work on a variety of computers (including those that are no longer sold but can still be upgraded with the new OS), 图形3 graphics requirements are largely influenced by 5 The least common point limit for computers used, which typically include computers that do not include a GPU. This severely limits the graphics capabilities of the OS. In addition, battery powered portable computers (e.g., laptops) limit visual display capabilities because high computing activity in the CPU or GPU typically results in higher power consumption and shorter battery life. Portable computers typically include software that automatically reduces processor activity to reduce power consumption when the processor is not being utilized. In some computer models, the user can manually reduce the handling activity. For example, s〇ny's VGN-SZ280P laptop has one side marked "" (for low performance, longer battery life) and the other side marked "Speed" (using For high performance, short battery life). The (4) implementation on a portable computer shall be capable of functioning even if the computer is executed at a rate of one of its peak performance capabilities. Therefore, '(10) graphics performance often remains available for computing power well below current state of the art. High-end, computationally intensive applications such as Maya are often sold, and it is expected that such applications will be used on high-performance PCs. This usually yields much higher efficiency, and is more expensive, less portable, and least common. As a result, such applications have a much more limited target audience than a generic OS (or generic productivity application, similar to Mi(10)oft 0ffice) and are typically sold in much lower quantities than the generic OS software or software. Potential audiences are limited in their steps because it is often difficult for prospective users to try out second-tier computing-intensive applications in advance. For example, suppose students want to know how to use or already know that potential buyers of such applications want to try Maya before they invest in the purchase (this may involve buying a high-end computer that can execute Maya). When a student or potential purchaser can download a copy of the physical media of the version of the City or the aya (4) version, if it is sufficient to perform Maya to its full potential (for example, to handle complex scenes), then it will It is not possible to conduct a comprehensive evaluation of the product. This essentially creates the application, which also increases the selling price because the development cost is usually paid off through a much smaller number of purchases than the general-purpose application. High-priced apps also generate more excitement for individuals who use pirated copies of the application software. Therefore, the high-end application software has been hunted by a publisher of a version of the software, and a lot of efforts have been made to reduce the piracy. However, even when using pirated high-end applications, it is impossible for users to exclude PCs that invest in expensive current state of the art to perform pirated copies. Therefore, although the user can use the software application at the actual retail price of the software application and the score of the shell gun, the user of the 7 software still needs to purchase or obtain an expensive PC in order to fully utilize the application. . 139849.doc •21 · 200949567 ❹ This is also true for users of high-performance pirated video games. Although the second edition can get the game at a rate that is the actual price of the game, it still needs to purchase the expensive computing hardware needed to play the game properly (for example, GPU_ bare PC, or high-end video game control like ΧΒox 360) station). Assuming that video games are usually entertainment for consumers, the extra cost for high-end video game systems can be too expensive. "This situation is in a country where the average annual income of current workers is quite low (relative to the current average annual income of workers in the US). (for example, China) is even worse. As a result, a much smaller percentage of the population has high-end video game systems or high-end PCs. In these countries, users can pay Z to use computers connected to the Internet. "And often, Internet cafes have features that are not highly efficient (such as: ^ allows players to play computationally intensive video) Older models of games (Gpu) or low-end PCs. This is a key factor in the success of games executed on low-end PCs (such as Vivendi's "World of Warcraft", which is highly successful in China and is usually "in the first In the country's Internet cafes.) In contrast, computationally intensive games (first-life) are less likely to be played on PCs installed in Chinese Internet cafes. These games do not actually reach users who are only able to access the low performance % of Internet cafes. There are also barriers to users considering purchasing a video game and first being willing to try out a demo version of the game by downloading = not downloading to their home via the Internet. Video game demos are often a versatile version of the game, with a limit on the amount of game play. This may involve a long process (possibly several hours) of downloading billions of bytes of data before the game can be installed on a PC or console, on the Pc* console. In the case of PC 139849.doc -22- 200949567, it may also involve calculating which special drivers (such as DirectX or OpenGL drivers) the game needs, downloading the version of the original, installing the correct version, and then determining if the PC can play. The game. The latter step may involve determining if the PC has sufficient processing (CPU and GPU) capabilities, sufficient RAM, and a compatible OS (for example, some games are executed on Windows XP and not on Vista). Therefore, after attempting to perform the video game presentation process, the user may find that the video game demo is not playable (given the user's PC configuration). Worse, once the user has downloaded a new drive to try the demo, these drive versions may be incompatible with other games or applications that the user is accustomed to using on the PC, so the installation of the demo may render the previous operation The game or application cannot be operated. These obstacles not only frustrated users, but they also created obstacles for video game software publishers and video game developers to sell their games. Another problem that is not economically viable is related to the fact that a given PC or game console is typically designed to accommodate a particular level of performance requirements for the application and/or game. For example, some PCs have more or less RAM, slower or faster CPUs, and slower or faster GPUs (if they have GPUs). Some games or applications take advantage of the full computing power of a given PC or console, while some games or applications do not take advantage of the full computing power of a given PC or console. If the user's game or application selection does not meet the peak performance capabilities of the local PC or console, the user may be wasting money on the PC or console due to unused features. In the case of a console, the console manufacturer may pay more than the cost of funding the console. 139849.doc -23- 200949567 Another problem that exists in the sale and enjoyment of video games involves allowing (4) people to watch other people's play before the user implements the purchase of the game. There are several prior art methods for recording video games for playback at a later time. For example, U.S. Patent No. 5,558,339 teaches that game state information (including game controller actions) is recorded during a "game play" on a video game client computer (owned by the same or different users). This status information can be used at a later time to replay some or all of the game actions on a video game client computer (e.g., a pc or console). A significant disadvantage of this method is that for viewing the usage of the recorded game I, the user must have a video game user % computer capable of reducing the game and must have a video signal on the computer to make the # replay When recording the state of the game, Lai (4) is expected to be the same. In addition, the Visual Studio application must be written in such a way that there is no possible difference in execution between the recorded game and the played back game. For example, the game graphics system is calculated based on the frame of the frame. For many games, depending on whether the scene is particularly complex or if there are other delays that slow down execution (for example, on a PC, another process may be executing, so that the CPU loop is taken away from the game application), the game logic may sometimes cost - The frame time is short or longer than the frame time to calculate the graphic displayed for the next frame. In such a game, a "threshold value" frame calculated with less time than a frame time (for example, a few CPU clock cycles) may eventually appear. When using the same game state information to re-manage the same scene, it may be easier to spend a few more CPU clock cycles than a frame time (for example, if the internal cpu bus is slightly external to the 139849.doc • 24· 200949567 DRAM busses are out of phase, and even if there is no large delay from another process that takes a few milliseconds of CPU time from game processing, it introduces several cpu cycle time delays). Therefore, when the game is played back, the frame becomes calculated in two frame times instead of a single frame time. Some behaviors are based on the frequency at which the game calculates new frames (for example, when the game samples input from the game controller). This deviation in the time reference for different behaviors does not affect the game play & when playing the game, but it can be expected that the played back game will produce different results. For example, if the basketball track is calculated at a steady (10) fps rate, but the game controller input is sampled based on the calculated frame rate, then when the game is recorded, the calculated frame rate may be 53 fps, and when replaying the game, the calculated frame rate may be 52 fps, which can cause differences in whether basketball is prevented from entering the basket, resulting in different results. Therefore, the use of game state recording video games requires a very cautious game software design to ensure that the same game state information playback produces exactly the same results.另一个 Another prior art method for § recorded video games is to record only the video output of a PC or video game system (eg, to a VCR, DVD recorder, or to a video capture board on a PC). The video can then be replayed and replayed, or alternatively, the recorded video can be uploaded to the Internet (usually after the video is pressed, after the post). The disadvantage of this method is that when playing back the 3D game sequence, the user is limited to only self-test viewpoints (sequences are recorded from it) to view the sequence. In other words, the user cannot change the view point of the scene. In addition, when the recorded video sequence of the recorded game sequence played on the home PC or the game console via the Internet is used by other users, even if the video system is compressed immediately, It may be possible to instantly reduce the video to the Internet. The reason for this is that the world is connected to the Internet. The broadband connection is asymmetrical (for example, dSL and environmental data machines usually have a much lower downlink bandwidth than the upload bandwidth). Compressed high-resolution video sequences often have a higher bandwidth than the network's upload bandwidth, making it impossible to upload H immediately after playing the game sequence (4 b or even hours) or so on the Internet. There will be a significant delay before another user on the road can view the game ^ although this delay can be tolerated in certain situations (eg 'watching the outcome of a game player that appeared at a previous time), but it eliminates the live broadcast of the watching game ( For example, the ability to play a basketball tournament by a winning player or the "immediate playback" capability when playing a game live. Another prior art method allows viewers with television receivers to watch video game live broadcasts, but only under the control of the television producer. Some television channels in the United States and other countries provide video game detection video channels in which television viewers can view specific video game users (e.g., top players in the tournament) on the video game channel. This is accomplished by feeding the video output of the video game system (PC and/or console) to a video distribution and processing device for the television channel. This is the case when the TV channel broadcasts a live broadcast of the ball game, several of which provide live feeds from different angles around the basketball court. The television channel can then utilize its video/audio processing and effects devices to manipulate the output from various video game systems. For example, a TV channel can overlay text indicating the status of different players on the video from the video game (as it can be overwritten during the live broadcast of the basket 139849.doc -26 - 200949567 during the ball game). The channel can add audio from commentators who can discuss the actions that occur during the game. In addition, the video «output and camera that records the video of the actual player of the game (eg, showing the player's emotional response to the game) can be combined. One of the problems with this approach is that the live video feeds must be made available instantly to the video distribution and processing equipment of the television channel to make it stimulating for live broadcasts. However, as previously discussed, when the video game system is from home execution (especially when a broadcast packet is included in a live broadcast of a camera from a real-world video that is capturing a game player), this is often not the case. may. In addition, in the case of tournaments, the concern is that the player in the family can modify the game and cheat as previously described. Due to such originals and purposes, such video game broadcasts on television channels are often configured with players and video game systems that are gathered at a common location (eg, at a television studio or in an arena), where the television production equipment A video feed from multiple video game systems and potential live broadcast cameras is acceptable. Although these prior art video game television channels can provide a very stimulating performance for a television viewer (which is similar to a live broadcast of a sports event (eg, similar to a video game player presented as an "athlete"), not only based on its experience The actions in the video game world, and based on their actions in the real world, but such video game systems are often limited to situations where players are physically close to each other. In addition, because the television channels are broadcast, each broadcast channel can only display a video stream selected by the producer of the television channel. Due to these restrictions and broadcast time, production equipment and production staff, 139849.doc -27· 200949567 high cost 'these TV channels usually only show top players participating in the top tournaments. In addition, a given video channel of a full screen image of a video game is broadcast to all television viewers to display only one video game. This severely limits the choice of TV viewers. For example, a TV viewer may not be interested in a game displayed at a given time. Another viewer may only be interested in watching a particular player's game play that is not shown by the video channel at a given time. In other situations, the viewer may only be interested in seeing how the player is dealing with a particular level in the game. Other viewers may wish to control the view point (from which the video game is viewed), which is different from the view point selected by the production team or the like. In short, TV viewers may have countless preferences in watching video games (even if several different TV channels are available, the particular broadcast of the TV network should not be suitable for preference). For all of the above reasons, the first video game TV channel has significant limitations in presenting video games to television viewers. Another disadvantage of prior art video game systems and application software systems is that they are complex and often suffer from errors, crashes, and/or undesired and undesirable behaviors (collectively "defects"). Although games and applications are usually undergoing debugging and tuning processes (often referred to as "software quality assurance" or SQA), they are almost unchanged: - games or applications are sent to the vast majority of the field Audience, defects will suddenly appear. Unfortunately, it is difficult for software developers to identify and track many defects after the release. Software developers may have difficulty recognizing defects. Even when it is aware of a defect, there may be only information that it can be used to identify what is causing the defect. 139849.doc 200949567 参 Parameters. For example, the user can call the game developer's consumer service hotline and leave a message stating that when playing the game, the screen begins to flash, then changes to solid blue and the PC freezes. It provides the sqa team with very little information that is useful in tracking defects. One of the online connections Some games or applications sometimes provide more information under certain conditions. For example, the "Watchdog" process can sometimes be used to monitor whether a game or application "crashes". The watchdog process collects information about the state of a game or application process when a game or application crashes (for example, memory). Statistics of the usage status of the stack, the extent to which the game or application progresses, etc., and then uploading the information to the SQA team via the Internet. But in a complex game or application, the information can take a very long time to decrypt, in order to accurately determine what the user is doing during the crash. Despite this, it is impossible to determine what sequence of events caused the crash. The problem associated with PCs and game consoles is that they suffer from service problems that are extremely inconvenient for consumers. Service issues also affect manufacturers of PCs or game consoles because they typically need to send special boxes to safely ship damaged PCs or consoles, and thus incur the cost of repairs (if the pc or console is under warranty). Game or application software publishers may also be affected by sales losses (or online service usage) caused by PCs and consoles in the repair state.
圖 1 說明諸如 Sony PIaystati〇n⑧ 3、I 36_、Nintend0 WiiTM、以Wind〇ws為基礎之個人電腦或 Apple Macintosh的先前技術視訊遊戲系統。此等系統中之 每-者包括用於執行程式碼之中央處理單元(咖)(通常為 139849.doc -29- 200949567 用於執行高階圖形操作之圖形處理單元(GPU)),及用於與 外部器件及使用者通信的多個形式之輸入/輸出(1/〇)。為 簡單起見’將此等組件展示為組合在一起為單一單元 100。圖1之先前技術視訊遊戲系統亦展示為包括光學媒體 驅動器104(例如,DVD-ROM驅動器);用於儲存視訊遊戲 程式碼及資料之硬碟機103;用於播放多人遊戲、用於下 載遊戲、修補程式、演示或其他媒體之網路連接丨〇5 ;用 於儲存當前正由CPU/GPU 100執行之程式碼的隨機存取記 憶體(RAM)lOl ;用於在遊戲播放期間接收來自使用者之 輸入命令的遊戲控制器106 ;及顯示器件102(例如,SDTV/ HDTV或電腦監視器)。 圖1中所展示之先前技術系統遭受若干限制。首先,與 ram ιοί之存取速度相比較,光碟機1〇4及硬碟機1〇3往往 具有緩慢得多的存取速度。當直接經由RAM 1〇1工作時, 由於RAM 101通常具有高得多的頻寬且不會遭受光碟機構 之相對長的搜尋延遲的事實,CPU/GPU 1〇〇在實踐中可處 理比直接自硬碟機103或光碟機1〇4讀出程式碼及資料時可 能的每秒多邊形數多得多的每秒多邊形數。但僅有限量之 RAM提供於此等先前技術系統中(例如,256-512兆位元 組)。因此,常常需要「正在載入…」序列,其中ram ι〇ι 被週期性地填以用於視訊遊戲之下一個場景的資料。 一些系統試圖同時地重疊程式碼之載入與遊戲播放,但 此僅可在存在已知序列之事件時進行(例如,若正沿道路 駕駛車,則可在駕駛車的同時載入路旁之正接近的建築物 139849.doc -30- 200949567 的幾何形狀)。對於複雜及/或快速場景改變,此類型之重 疊通常不起作業。舉例而言,在使用者處於戰役進行之中 且在彼時刻之視圖内RAM 101完全被填滿表示物件之資料 的狀況下’若使用者將視圖快速地向左移動以檢視當前未 ' 載入於RAM 1 〇 1中之物件,則將導致動作之不連續性,因 為不存在足夠的時間來將新物件自硬碟機103或光碟機1〇4 載入至RAM 101中。 φ 圖1之系統的另一問題係由於硬碟機103及光學媒體1〇4 之儲存容量之限制引起。儘管磁碟儲存器件可被製造成有 相對大之儲存容量(例如,5〇〇億位元組或5〇〇億位元組以 上),但其仍不提供用於在當前視訊遊戲中所遭遇之特定 情況的足夠儲存容量。舉例而言,如先前所敍述,英式足 球視訊遊戲可允許使用者在全世界的許多小組、玩家及運 動場當中選擇。對於每一小組、每一玩家及每一運動場, 而要大量紋理映射及環境映射來特徵化世界上之3D表面 ❿ (例如,每一小組具有一唯一運動衫,每一者需要一唯一 紋理映射)。 用於解決此後者問題之一技術係:對於遊戲,一旦使用 者選擇了紋理及環境映射,就預先計算紋理及環境映射。 此可涉及許多計算上密集之過程,包括解壓縮影像、扣映 射、=陰影、組織資料結構等。因此,當視訊遊戲執行此 等計算時,對於使用者可能存在延遲。減少此延遲之一方 法原則上為:最初開發遊戲時執行所有此等計算_包括小 组 '玩家名冊及運動場之每—排列。遊戲之發行版本因而 139849.doc •31- 200949567 將包括儲存於光學媒體1〇4上或網際網路上之—或多個伺 服器上的所有此經預先處理之資料,當使用者作出選擇 時,僅經由網際網路將用於給定小组、玩家名冊、運動場 選擇的選定之預先處理之資料下載至硬碟機103。然而, 作為實際問題,遊戲播放中可能的每個排列之該預先载入 之資料可能輕易地為數太位元組(terabyte)之資料,其遠超 過現今的光學媒體器件之容量。此外,用於給定小組、玩 豕名冊、運動場選擇之資料可能輕易地為數億位元組之資 料或數億位元組以上之資料。在家庭網路連接之情況下 (例如,10 Mbps),經由網路連接1〇5下載此資料將比在本 端計算資料花費更長時間。 因此,圖1中所展示之先前技術遊戲架構使使用者在複 雜遊戲之較大場景轉變之間經受顯著延遲。 諸如圖1中所展示之先前技術方法的先前技術方法的另 一問題在於.這些年來,視訊遊戲傾向於變得更高階且需 要更多CPU/GPU處理能力。因此,即使採用無限量之 RAM,視訊遊戲硬體要求亦超過此等系統中可用之處理能 力的峰值位準。因此,需要使用者每隔幾年升級遊戲硬體 以保持同步(或以較低品質水準玩較新遊戲)。比以往更高 階之視訊遊戲之趨勢的一後果為:用於家庭用途的玩視訊 遊戲之機器通常不具經濟效益,因為其成本通常係由其可 支援之最咼效能遊戲的要求來判定。舉例而言,可能使用 XBox 360來玩類似「戰爭機器(Gears 〇f War)」之遊戲, 該遊戲要求高效能之CPU、GPU及數億位元組之ram,或 139849.doc -32- 200949567 者可錢用XBox 360來玩「吃豆(pac ‘)」,其為來自^ 世紀7〇年代之遊戲,其僅需要數千位元組之RAM及非常低 =能之cpu。實際上,XBgx 36()具有同時主機代管許多同 時的「吃豆」遊戲的足夠計算能力。 纟-週之大多數小時中’通常切斷視訊遊戲機。根據 2006年7月Nielsen娛樂對13歲及丨域以上之活躍遊戲者的 研究,平均起來,活躍遊戲者—週中花費十四個小時或— • 週中的王°M、時之僅12%來玩控制台視訊遊戲。此意謂平 均視訊遊戲控制台在88%之時間内閒置,此為昂貴資源之 無效率使用。假定視訊遊戲控制台常常係由製造商來資助 以降低購買價格(期望該資助將藉由來自未來視訊遊戲軟 體購買之版稅來賺回),則此特別有意義。 視訊遊戲控制台亦招致與幾乎任何消費者電子器件相關 聯的成本。舉例而言,需要將系統之電子器件及機構容納 於外殼中。製造商需要提供服務保證。出售該系統之零售 φ 冑需要收取關於系統之銷售及/或關於視訊遊戲軟體之銷 售的利潤。所有此等因素添加視訊遊戲控制台之成本該 成本必須由製造商來資助、傳遞至消費者,或者由製造商 與消費者兩者來資助。 另外’盜版係視訊遊戲工f之較大問題。實際上每個較 大視訊遊戲系統上所利用的安全機構這些年來已「破 裂」,導致視訊遊戲之未經授權的複製。舉例而言,xb〇x 360安全系統在2_年7月破裂錢用者現在能夠線上下載 非法複本。可下載之遊戲(壯,用於pqMac之遊戲)特 139849.doc -33- 200949567 別易受經受盜版。在世界之特定區域(其中盜版管制不強) 中,實質上不存在獨立視訊遊戲軟體之可行市場,因為使 用者可與合法複本一般容易地以成本之—微小分率購買盜 版複本。又,在世界之許多地方,遊戲控制台之成本係收 入之高百分比,以致即使盜版受控制,亦报少有人可買得 起目前技術狀態之遊戲系統。 另外,已使用之遊戲的市場減少了視訊遊戲業之收入。 當使用者變得對遊戲厭倦時,其可將遊戲出售給將遊戲轉 售給其他使用者之店鋪。此未經授權但普遍的實踐顯著減 少了遊戲出版商之收入。類似地,當每隔幾年存在平台轉 變時,通常出現大約50%的銷售減少。此係因& :當使用 者知道即將發行較新版本之平台時,使用者停止講買用於 較舊平台之遊戲(例如,當即將發行piaystati〇n 3時,使用 者停止購買Playstation 2遊戲)。組合起來,銷售之損失及 與新平台相關聯之增加的開發成本可對遊戲開發商之收益 性有非常顯著之不利影響。 新遊戲控制台亦非常昂貴。Xb〇x 360、Nintendo醫及Figure 1 illustrates a prior art video game system such as Sony PIaystati〇n8 3, I 36_, Nintend0 WiiTM, a Windyws-based PC or Apple Macintosh. Each of these systems includes a central processing unit (cafe) for executing code (usually 139849.doc -29-200949567 graphics processing unit (GPU) for performing high-level graphics operations), and for Multiple forms of input/output (1/〇) for external devices and user communication. For the sake of simplicity, these components are shown as being combined into a single unit 100. The prior art video game system of FIG. 1 is also shown to include an optical media drive 104 (eg, a DVD-ROM drive); a hard drive 103 for storing video game code and data; for playing a multiplayer game, for downloading Network connection for games, patches, demos, or other media 丨〇5; random access memory (RAM) 101 for storing code currently being executed by CPU/GPU 100; used to receive during game play The game controller 106 that inputs the command by the user; and the display device 102 (eg, SDTV/HDTV or computer monitor). The prior art system shown in Figure 1 suffers from several limitations. First, compared to the access speed of ram ιοί, the optical drive 1〇4 and the hard drive 1〇3 tend to have much slower access speeds. When working directly via RAM 1〇1, since RAM 101 typically has a much higher bandwidth and does not suffer from the relatively long search delay of the disc mechanism, CPU/GPU 1 can be processed in practice than directly from The number of polygons per second that the hard disk drive 103 or the optical disk drive 1 〇 4 can read when the code and data are read. However, only a limited amount of RAM is provided in such prior art systems (e.g., 256-512 megabytes). Therefore, a "Loading..." sequence is often required, where ram ι〇ι is periodically filled with data for a scene under the video game. Some systems attempt to overlap code loading and game play at the same time, but this can only be done when there is a known sequence of events (for example, if driving along a road, you can load the roadside while driving the car. The geometry of the building 139849.doc -30- 200949567 is approaching). For complex and/or fast scene changes, this type of overlay usually does not work. For example, if the user is in the middle of a campaign and the RAM 101 is completely filled with information indicating the object in the view of the moment, 'If the user moves the view to the left quickly to view the current not loaded' The object in RAM 1 〇1 will result in a discontinuity in motion because there is not enough time to load the new object from the hard disk drive 103 or the optical drive 1〇4 into the RAM 101. Another problem with the system of Fig. 1 is due to the limitation of the storage capacity of the hard disk drive 103 and the optical medium 1〇4. Although the disk storage device can be manufactured to have a relatively large storage capacity (for example, 500 million bytes or more than 500 million bytes), it is not provided for use in current video games. Sufficient storage capacity for a particular situation. For example, as previously described, a British football video game may allow a user to select among many groups, players, and sports fields around the world. For each group, each player, and each field, a large number of texture maps and environment maps are required to characterize the 3D surface of the world (for example, each group has a unique jersey, each requiring a unique texture map) ). One of the techniques used to solve this latter problem: For games, once the user has selected texture and environment mapping, the texture and environment mapping is pre-computed. This can involve a number of computationally intensive processes, including decompressing images, smearing maps, shadows, and organizational data structures. Therefore, when the video game performs such calculations, there may be a delay for the user. One way to reduce this delay is, in principle, to perform all of these calculations when the game is first developed _ including the group 'player roster and each of the sports fields'. The release version of the game thus 139849.doc •31- 200949567 will include all such pre-processed material stored on optical media 1〇4 or on the internet—or multiple servers, when the user makes a choice, The selected pre-processed data for a given group, player roster, and sports field selection is downloaded to the hard disk drive 103 via the Internet only. However, as a practical matter, the pre-loaded material for each permutation possible in game play may easily be a terabyte of data that far exceeds the capacity of today's optical media devices. In addition, the information used for a given group, play roster, and sports field selection may easily be hundreds of millions of bytes of information or hundreds of millions of bytes of information. In the case of a home network connection (for example, 10 Mbps), downloading this data via the network connection 1〇5 takes longer than calculating the data on the local side. Thus, the prior art gaming architecture shown in Figure 1 allows the user to experience significant delays between large scene transitions of complex games. Another problem with prior art methods such as the prior art method shown in Figure 1 is that video games tend to become higher order and require more CPU/GPU processing power over the years. Therefore, even with an unlimited amount of RAM, video game hardware requirements exceed the peak levels of processing power available in such systems. Therefore, users are required to upgrade their game hardware every few years to stay in sync (or play newer games at a lower quality level). One consequence of the trend of higher-order video games over the past is that machines for video games for home use are generally not economical because their cost is usually determined by the requirements of the most powerful game they can support. For example, you might use XBox 360 to play a game like Gears 〇f War, which requires a high-performance CPU, GPU, and hundreds of millions of bytes of ram, or 139849.doc -32- 200949567 You can use the XBox 360 to play "pac", which is a game from the 1970s. It only requires thousands of bytes of RAM and very low = cpu. In fact, XBgx 36() has enough computing power to host many of the same "Pacman" games at the same time. In most hours of the week-week, the video game console is usually cut off. According to Nielsen Entertainment's research on active players over the age of 13 and above in July 2006, on average, active players - spending 14 hours in midweek or - 28 weeks in the middle of the week, only 12% of the time To play console video games. This means that the average video game console is idle 88% of the time, which is an inefficient use of expensive resources. It is particularly meaningful to assume that a video game console is often funded by a manufacturer to lower the purchase price (which is expected to be earned back by royalties from future video game software purchases). Video game consoles also incur costs associated with virtually any consumer electronics device. For example, the electronics and mechanisms of the system need to be housed in a housing. Manufacturers need to provide service guarantees. Selling the retail of the system φ 胄 requires a profit on the sale of the system and/or on the sales of the video game software. The cost of adding these video game consoles to all of these factors must be financed by the manufacturer, delivered to the consumer, or funded by both the manufacturer and the consumer. In addition, 'piracy is a big problem for video game workers. In fact, the security agencies used on each of the larger video game systems have been "broken" over the years, resulting in unauthorized copying of video games. For example, the xb〇x 360 security system crashed in July 2nd and users can now download illegal copies online. Downloadable games (Zhuang, games for pqMac) Special 139849.doc -33- 200949567 Don't be vulnerable to piracy. In certain regions of the world (where piracy is not strong), there is virtually no viable market for independent video game software, as users can easily purchase pirated copies at a cost-small rate with legitimate copies. Moreover, in many parts of the world, the cost of the game console is a high percentage of revenue, so that even if piracy is controlled, it is reported that few people can afford the current state of the art game system. In addition, the market for used games has reduced the revenue of the video game industry. When the user becomes bored with the game, they can sell the game to a store that resells the game to other users. This unauthorized but widespread practice significantly reduces the revenue of game publishers. Similarly, when there is a platform change every few years, there is typically a 50% reduction in sales. This is due to & : When the user knows that a newer version of the platform is about to be released, the user stops buying the game for the older platform (for example, when the piaystati〇n 3 is about to be released, the user stops buying the Playstation 2 game) ). In combination, the loss of sales and the increased development costs associated with the new platform can have a significant adverse effect on the profitability of game developers. The new game console is also very expensive. Xb〇x 360, Nintendo Medical and
Sony Playstation 3均以數百美元零|。冑能力之個人電腦 遊戲系統可花費高達$8〇〇〇。此表示使用者之顯著投資, 特定言之’考慮到硬體在幾年後變陳舊及許多系統係為孩 子而購買的事實。 上述問題之—方法係'線上遊戲,其中將遊戲程式碼及資 料主機代管㈣服器上且按要求將其遞送至用戶端機器, 經塵縮之視訊及音訊經由數位寬頻帶網路而争流。一些公 139849.doc 200949567 司(諸如’ Finland之G_cluster,其現在為日本之 SOFTBANK Broadmedia的子公司)冬針嬙卜钽似 J 丁 A 口J )田月丨j線上提供此等服 務。類似遊戲服務變得在本端網路(諸如,旅館内及由 . 及電纜電視提供者提供之彼等網路)中可用。此等系統之 -較大缺點係延時之問題,亦即,信號行進至遊戲飼服器及 自遊戲贿ϋ行進所花費㈣間,遊戲伺服器通常定位於 運營商之「頭端」中。快速動作視訊遊戲(亦稱為「極速 _ (tWitCh)」視訊遊戲)在使用者藉由遊戲控制器執行動作之 日守間與更新顯不螢幕以展示使用者動作之結果的時間之間 需要非常低的延時。需要低延時,以使得使用者感覺到遊 戲「即刻地」回應。可視遊戲之類型及使用者之熟練程度 而以不同延時間隔來滿足使用者。舉例而言,對於緩慢的 非正式遊戲(類似西洋雙陸棋)或緩慢動作角色扮演遊戲而 ^ ’ 100毫秒之延時可能係可容忍的,但在快動作遊戲 中’超過70毫秒或8〇毫秒之延時可引起使用者在遊戲中更 ❿ 拙劣地表現,且因此不可接受。舉例而言,在需要快反應 時間之遊戲中’當延時自50毫秒增加至100毫秒時,存在 準確度之銳降。 當遊戲或應用伺服器安裝於附近的受控網路環境或至使 田 4^ 省' 之網路路徑可預測及/或可容忍頻寬峰值的網路環境 中時’在最大延時以及延時之一致性方面,控制延時容易 得多(例如’因此使用者經由網路觀察到來自數位視訊串 "IL之穩定運動)。該程度之控制可在以下達成:在電纜TV 網路頭端至電纜TV用戶之家庭之間,或自DSL中央辦公室 139849.doc -35- 200949567 至DSL用戶之家庭,或在來自伺服器或使用者之商業辦公 室區域網路(LAN)環境有可能獲得商業之間的具 有侍到保證之頻寬及延時的經特定分級的點到點私用連 接。但在將遊戲主機代管於連接至通用網際網路之伺服器 中心中且接著經由寬頻帶連接而使經壓縮之視m串流至使 用者的遊戲或應用系統中,許多因素招致延時,導致先前 技術系統之部署中的嚴重限制。Sony Playstation 3 is available in hundreds of dollars. The PC gaming system can cost up to $8. This represents a significant investment by the user, in particular, considering the fact that the hardware became obsolete in a few years and many systems were purchased for the child. The above-mentioned problem is the 'online game, in which the game code and data host are hosted on the server and delivered to the client machine as required. The video and audio through the digital video are contending through the digital broadband network. flow. Some of the 139849.doc 200949567 divisions (such as G_cluster of 'Finland, which is now a subsidiary of SOFTBANK Broadmedia in Japan) provide such services to the winter needles. Similar game services become available in local networks such as hotels and their networks provided by cable TV providers. The larger drawback of these systems is the delay, that is, the signal travels to the game feeder and the cost of the game bribe. (4), the game server is usually located in the "head end" of the operator. The fast motion video game (also known as the "tWitCh" video game) requires very much between the time when the user performs the action by the game controller and the time when the update is not displayed to show the result of the user's action. Low latency. A low latency is required to make the user feel the game respond "immediately". The user is satisfied with different delay intervals depending on the type of visual game and the proficiency of the user. For example, for slow informal games (like backgammon) or slow action role-playing games, the '100 millisecond delay may be tolerable, but in fast action games 'more than 70 milliseconds or 8 milliseconds. The delay can cause the user to perform worse in the game and is therefore unacceptable. For example, in a game that requires fast response time, when the delay increases from 50 milliseconds to 100 milliseconds, there is a sharp drop in accuracy. When the game or application server is installed in a nearby controlled network environment or in a network environment where the network path of the field is predictable and/or tolerant of peak bandwidth, 'at maximum delay and delay In terms of consistency, the control delay is much easier (for example, 'so the user observes the steady motion from the digital video string "IL via the network). This level of control can be achieved either between the cable TV network head end and the cable TV user's home, or from the DSL Central Office 139849.doc -35- 200949567 to the DSL user's home, or from the server or user The commercial office area network (LAN) environment has the potential to obtain a point-to-point private connection with a specific level of bandwidth and latency between businesses. However, in the game or application system in which the game console is hosted in a server center connected to the universal Internet and then the compressed video stream is streamed to the user via a broadband connection, many factors cause delays, resulting in delays. A severe limitation in the deployment of prior art systems.
•在典型的連接寬頻帶之家庭中,使用者可具有用於寬頻 π服務之DSL或電境數據機。該等寬頻帶服務通常招致使 用者之家庭與通用網際網路之間的多達25毫秒之來回行程 時(有夺更夕)。另外,存在由於經由網際網路將資料 路由至伺服器中心而招致的來回行程延時。經由網際網路 之延時基於給出資料之路線及資料被路由時資料所招致之 延遲而改變。除路由+ , 塔田延遲之外,亦由於光穿過互連大多數 網際網路之光纖的球许%切站七 鸚町迷度而招致來回行程延時。舉例而言, 對於每一 1000英里,ώ於止 由於先穿過光纖之速度及其他耗用而• In a typical broadband wideband home, users can have a DSL or electrical data modem for broadband π services. These broadband services typically result in up to 25 milliseconds of round-trip travel between the user's home and the universal Internet. In addition, there is a round trip delay due to routing data to the server center via the Internet. The delay through the Internet changes based on the delay in the route of the given data and the data being routed. In addition to the route +, Tatian delay, but also due to the light through the fiber optic ball interconnecting most of the Internet, the number of trains and the singularity of the squadrons caused a delay in travel. For example, for every 1000 miles, the speed of the first through the fiber and other consumption
招致約22毫秒之來回行程延時。 1卜L時可由於經由網際網路串流之資料的資料速率而 招致舉例而5,力使用者具有以「6 Mbps DSL服務」出 售之DSL服務,則在實踐中,使用者將很可能最多得到小 於5 Mbps之下行輸送量,且將可能週期性地看見由於各種 因素(諸h冑值載入時間期間在數位用戶線存取多工器 (DSLAM)處之擁擠)產生的連接降級。若經由相鄰者循環Incurs a round trip delay of approximately 22 milliseconds. In the case of L, the data rate of the data streamed via the Internet may be cited as an example. 5, the user has a DSL service sold under the "6 Mbps DSL service", in practice, the user will most likely A line throughput of less than 5 Mbps is obtained, and it will be possible to periodically see connection degradation due to various factors (crowding at the Digital Subscriber Line Access Multiplexer (DSLAM) during h载入 value loading time). If looping through neighbors
之本端共用同軸電穆+ L 电現中存在擁擠或電纜數據機系統網路中 139849.doc -36 - 200949567 之其他地方存在擁擠,則類似問題可出現,從而將用於以 「6 Mbps電纜數據機服務」出售之連接的電纜數據機之資 料速率減小至遠小於彼資料速率。若使4 Mbps之穩定速率 •下的資料封包以使用者資料報協定(UDP)格式單向地自伺 服器中心經由該等連接而串流,若一切皆適當地工作,則 貧料封包將通過而不招致額外延時,但若存在擁擠(或其 他妨礙)且僅3.5 Mbps可用於使資料串流至使用者,則在典 _ 型情形下,封包將被丟棄,導致丟失資料,或者封包將在 擁擠點處排入佇列直至其可被發送為止,藉此引入了額外 延時。不同擁擠點具有用於保存經延遲之封包的不同排入 佇列容量,因此在一些狀況下,立即將不可成功解決擁擠 之封包丟棄。在其他狀況下,將數百萬位元之資料排入佇 列且最終將其發送。但是,在幾乎所有狀況下,擁擠點處 之佇列具有容量限制,且一旦超過彼等限制,佇列將溢出 且封包將被丟棄。因此,為了避免招致額外延時(或更糟 參 地,封包之丟失),必須避免超過自遊戲或應用伺服器至 使用者之資料速率容量。 亦由於在伺服器中壓縮視訊及在用戶端器件中解壓縮視 訊所需之時間而招致延時。當在伺服器上執行之視訊遊戲 正在計算待顯示之下一個圖框時,進一步招致延時。當前 可用之視訊壓縮演算法遭受高資料速率或高延時。舉例而 言,運動JPEG為僅框内有損之壓縮演算法,其特徵為低延 時。視訊之每一圖框獨立於視訊之每一其他圖框而壓縮。 當用戶端器件接收經壓縮之運動jPEG視訊的一圖框時其 139849.doc •37· 200949567 可立即解壓縮該圖框且顯示該圖框,從而導致非常低之延 時。但因為每一圖框係分開進行壓縮,所以演算法不能夠 利用相繼圖框之間的類似性,且因此僅框内視訊壓縮演算 法遭受非常高之資料速率。舉例而言,60 fps(每秒圖框 數)640χ480運動JPEG視訊可能需要40 Mbps(每秒百萬位 元)或40 Mbps(每秒百萬位元)以上之資料。用於該等低解 析度視訊窗之該等高資料速率在許多寬頻帶應用程式中將 係過於昂貴(且對於大多數消費者的以網際網路為基礎之 應用程式的確如此)。另外,因為每一圖框經獨立壓縮, ❹ 所以可能由於有損壓縮而產生的圖框中之假影可能出現於 相繼圖框中之不同位置處。此可導致當解壓縮視訊時,在 檢視者看來為移動的視覺假影。 其他壓Ιί§决算法(諸如,來自Microsoft公司之MPEG2、 H.264或VC9)當用於先前技術組態中時,可達成高壓縮比 率,但以高延時為代價。該等演算法利用框間壓縮以及框 内壓縮。週期性地,該等演算法執行圖框之僅框内壓縮。 此種圖框被稱為關鍵圖框(通常稱作Γι」圖框)。接著,此 G 等演算法通常將I圖框與先前圖框與相繼圖框兩者相比 較。並非獨立地壓縮先前圖框及相繼圖框,而是演算法判 定影像自I圖框至先前圖框及相繼圖框有何改變,且接著 將彼等改變儲存為:「Β」圖框(對於1圖框之前的改變)及 「Ρ」圖框(對於I圖框之後的改變)。此導致比僅框内壓縮 低得多的資料速率。但是,其通常以較高延時為代價。I 圖框通常比Β圖框或Ρ圖框大得多(常常大1〇倍),且因此, 139849.doc -38- 200949567 、、’、疋資料速率傳輸成比例地花費較長之時間。 考慮(例如)一情形:其中J圖框為B圖框及p圖框之大小 的10倍,且對於每個單一1框内,存在29個B圖框+30個P圖 框―59個框間,或對於每一「圖框群」(GOP)總共60個圖 框。因此’在60 fPs下,每秒存在1個60圖框GOP。假設傳 輸頻道具有2 Mbps之最大資料速率。為了在頻道中達成最 南品質之視訊,壓縮演算法將產生2 Mbps資料流,且給定 φ 上述比率,此將產生每框内2百萬位元(Mb)/(59+10)=30,394 個位元及每I圖框303,935個位元。當藉由解壓縮演算法接 收經壓縮之視訊流時,為了穩定地播放視訊,需要以規則 間隔(例如,60 fps)解壓縮及顯示每一圖框。為了達成此 結果,若任何圖框經受傳輸延時,則需要將所有圖框延遲 至少彼延時’因此最糟狀況的圖框延時將界定用於每個視 訊圖框之延時。因為〗圖框最大,所以j圖框引入最長傳輸 延時’且整個1圖框將必須在可解壓縮及顯示I圖框(或取決 〇 於Ϊ圖框之任何框間)之前接收。假定頻道資料速率為2 Mbps,則傳輸一 j圖框將花費3〇3,935/2隱=145毫秒。 使用傳輸頻道之頻寬之大百分比的框間視訊壓縮系統 (如上所述)將由於I圖框相對於圖框之平均大小的大的大小 而經受長延時。或者,換言之’當先前技術框間壓縮演算 法達成比僅框内壓縮演算法低之平均每圖框資料速率(例 如’ 2 Mbps對40 Mbps)時,其由於大ϊ圖框而仍遭受高的 夸值母圖框資料速率(例如,303,935*60 = 18.2 Mbps)。但 请記住:上述分析假定p圖框及B圖框均比ϊ圖框小得多。 139849.doc .39· 200949567 儘管此大體成立,但對於具有與先前圖框、高運動或場景 改變不相關之高影像複雜度的圖框,此不成立。在該^情 形下,P圖框或B圖框可變得與j圖框一般大(若p圖框或 框變得比I圖框大,則尖端壓縮演算法通常將「強制」工圖 框且用I圖框替換P圖框或B圖框)。因此,1圖框大小之資 料速率峰值可在任何時刻出現於數位視訊流中。因此,對 於經壓縮之視訊,當平均視訊資料速率接近傳輸頻道之資 料速率容量時(經常為該狀況,給定對於視訊之高資料速 率要求),來自I圖框或大的P圖框或B圖框之高峰值資料速 率導致高圖框延時。 當然’上述論述僅特徵化由G〇p中之大的b圖框、p圖框 或I圖框產生的壓縮演算法延時。若使用B圖框,則延時 將更高。此之原因係因為在可顯示B圖框之前,必須接收 B圖框之後的所有B圖框及I圖框。因此,在諸如A similar problem can arise with the local shared coaxial cable + L power present in the crowded or cable modem system network 139849.doc -36 - 200949567, which will be used for "6 Mbps cable The data rate of the connected cable modem sold by the Data Machine Service is reduced to much less than the data rate. If the data packet at a stable rate of 4 Mbps is unidirectionally streamed from the server center via the connection in the User Datagram Protocol (UDP) format, if everything works properly, the poor packet will pass. Without incurring additional delays, but if there is congestion (or other obstruction) and only 3.5 Mbps can be used to stream data to the user, then in the case of the _ type, the packet will be discarded, resulting in lost data, or the packet will be An extra delay is introduced by arranging the queue at the point of congestion until it can be sent. Different congestion points have different capacity for storing the delayed packets, so in some cases, the packets that cannot be successfully resolved are discarded immediately. In other cases, millions of bits of data are queued and eventually sent. However, in almost all cases, the queue at the point of congestion has a capacity limit, and once it exceeds these limits, the queue will overflow and the packet will be discarded. Therefore, in order to avoid incurring additional delays (or worse, participation, loss of packets), data rate capacity beyond the game or application server to the user must be avoided. Delays are also incurred due to the time required to compress the video in the server and decompress the video in the client device. When the video game executed on the server is calculating the next frame to be displayed, further delay is incurred. Currently available video compression algorithms suffer from high data rates or high latency. For example, Motion JPEG is a frame-only lossy compression algorithm characterized by low latency. Each frame of the video is compressed independently of each other frame of the video. When the client device receives a frame of compressed motion jPEG video, its 139849.doc •37· 200949567 can immediately decompress the frame and display the frame, resulting in very low latency. However, because each frame is compressed separately, the algorithm cannot take advantage of the similarity between successive frames, and therefore only the in-frame video compression algorithm suffers from very high data rates. For example, 60 fps (frames per second) 640 χ 480 motion JPEG video may require 40 Mbps (megabits per second) or 40 Mbps (megabits per second) or more. These high data rates for such low resolution video windows will be too expensive in many broadband applications (and indeed for most consumer Internet-based applications). In addition, because each frame is independently compressed, 假 the artifacts in the frame that may be due to lossy compression may appear at different locations in successive frames. This can result in a visual artifact that appears to the viewer as moving when the video is decompressed. Other compression algorithms (such as MPEG2, H.264, or VC9 from Microsoft Corporation) can achieve high compression ratios when used in prior art configurations, but at the expense of high latency. These algorithms utilize inter-frame compression and in-frame compression. Periodically, the algorithms perform only in-frame compression of the frame. This type of frame is called a key frame (commonly called a Γι frame). Then, this G algorithm usually compares the I frame with the previous frame and the subsequent frame. Instead of compressing the previous frame and the successive frames independently, the algorithm determines how the image changes from the I frame to the previous frame and the subsequent frame, and then stores the changes as: "Β" frame (for 1 change before the frame) and "Ρ" frame (for changes after the I frame). This results in a much lower data rate than just in-frame compression. However, it usually comes at the expense of higher latency. The I frame is usually much larger (usually 1x larger) than the frame or frame, and therefore, the 139849.doc -38- 200949567 , , ', data rate transmission takes a prolonged proportion of time. Consider, for example, a situation where the J frame is 10 times the size of the B frame and the p frame, and for each single 1 frame, there are 29 B frames + 30 P frames - 59 boxes A total of 60 frames, or for each "Frame Group" (GOP). Therefore, at 60 fPs, there is one 60-frame GOP per second. Assume that the transmission channel has a maximum data rate of 2 Mbps. In order to achieve the most south quality video in the channel, the compression algorithm will generate a 2 Mbps data stream, given a ratio of φ above, which will result in 2 million bits per frame (Mb) / (59 + 10) = 30,394 One bit and 303, 935 bits per I frame. When the compressed video stream is received by the decompression algorithm, in order to stably play the video, each frame needs to be decompressed and displayed at regular intervals (e.g., 60 fps). To achieve this result, if any frame is subjected to a transmission delay, all frames need to be delayed by at least one delay' so the worst case frame delay will define the delay for each video frame. Because the frame is the largest, the j frame introduces the longest transmission delay' and the entire frame will have to be received before the I frame can be decompressed and displayed (or depending on any frame between the frames). Assuming a channel data rate of 2 Mbps, transmitting a j frame will cost 3 〇 3,935/2 隐 = 145 milliseconds. An inter-frame video compression system (as described above) that uses a large percentage of the bandwidth of the transmission channel will experience long delays due to the large size of the I frame relative to the average size of the frame. Or, in other words, 'When the prior art interframe compression algorithm achieves an average lower data rate per frame than the in-frame compression algorithm (eg '2 Mbps vs. 40 Mbps), it still suffers high due to the large frame Exaggerate the parent frame data rate (for example, 303,935*60 = 18.2 Mbps). But keep in mind that the above analysis assumes that both the p-frame and the B-frame are much smaller than the frame. 139849.doc .39· 200949567 Although this is generally true, this is not true for frames with high image complexity that are not related to previous frames, high motion, or scene changes. In this case, the P frame or the B frame can become larger than the j frame (if the p frame or frame becomes larger than the I frame, the tip compression algorithm will usually "force" the frame. And replace the P frame or the B frame with an I frame). Therefore, the peak data rate of a frame size can appear in the digital video stream at any time. Thus, for compressed video, when the average video data rate is close to the data rate capacity of the transmission channel (often for this condition, given the high data rate requirements for video), from the I frame or the large P frame or B The high peak data rate of the frame results in a high frame delay. Of course, the above discussion only characterizes the compression algorithm delay generated by the large b-frame, p-frame or I-frame in G〇p. If you use the B frame, the delay will be higher. The reason for this is because all B frames and I frames after the B frame must be received before the B frame can be displayed. So in such as
BBBBBIPPPPPBBBBBIPPPPP之圖片群(GOP)序列中,其中 在每一I圖框之前存在5個B圖框,只有在接收到隨後的B圖 框及I圖框之後才可由視訊解壓縮器顯示第一B圖框。因 此’若使視訊以60 fpS(亦即,16.67毫秒/圖框)串流,則在 可解壓縮第一 B圖框之前,不管頻道頻寬如何快,接收五 個B圖框及I圖框將花費i6 67*6=1〇〇毫秒,且此係僅$個b 圖框之情況。具有30個B圖框的經壓縮之視訊序列相當普 遍。此外’在如2 MbpSi低頻道頻寬下,由於I圖框之大 小而引起的延時影響很大程度上添加至由於等待B圖框到 達而產生的延時影響。因此,在2 Mbps頻道上,在大量B 139849.doc 200949567 圖框之情況下’使用先前技術視訊壓縮技術超過5〇〇毫秒 或500毫秒以上之延時相當容易。若不使用b圖框(對於給 定品質水準,以較低壓縮比率為代價),則不招致B圖框延 時’但仍招致上文所描述的由於峰值圖框大小而引起的延 時。 ❿ 問題恰恰由於許多視訊遊戲之性質而加重。利用上文所 描述之G Ο P結構的視訊壓縮演算法很大程度上被最佳化以 用於連同意欲用於被動檢視的現場直播之視訊或電影材料 一起使用。通常,相機(真實相機,或者電腦產生之動晝 之狀況下的虛擬相機)及場景相對穩定,僅因為若相機或 場景太顛簸地來回移動,則視訊或電影材料(a)通常觀看起 來令人不愉快,且(b)若其正被觀看’ #相機突然、來回顚蔽 時,檢視者通常不能夠緊密地跟隨該動作(例如,若相機 在拍攝吹滅生曰辣上之壤濁的孩子時被優動^突然在蛋 糕之間來回顛簸,則檢視者通常集中於孩子及蛋糕上,而 不理會相機突然移動時之簡財斷)。在視訊會談或視訊 電話會議之狀況下,可將相機固持於固定位置中且根本不 移動,從而導致根本非常少之資料峰值。但扣高動作視訊 遊戲係藉由以運動來特徵化(例如,考慮扣競赛,並中 整個圖框在競賽之持續時間中處於快速運動中,或者考慮 人稱射擊遊戲,其中虛擬相機恆定地颠蔽地來回: 該等:見訊遊戲可產生具有大的及頻繁料值之圖框 二二用者可能需要清楚地看見在彼等突然運動期 了什麼。因此,在3D高動作視訊遊戲中,壓縮假影 139849.doc -41 - 200949567 遠不可容忍。因此’許多視訊遊戲之視訊輸出(由於其性 質)產生具有非常高且頻繁之峰值的經壓縮之視訊流。 假定快動作視訊遊戲之使用者對於高延時具有小的容忍 度’且給定所有上述延時原因,至今存在對於使視訊在網 際網路上串流的伺服器主機代管之視訊遊戲的限制。另 外’若需要高度互動性之應用程式係主機代管於通用網際 網路上且使視訊串流’則該等應用程式之使用者遭受類似 限制。a亥等服務需要網路組態’其中主機代管伺服器直接 3又置於頭端(在電窥寬頻帶之狀況下)或中央辦公室(在數位 用戶線(DSL)之狀況下)中,或商業背景中之lan内(或經特 別分級之私用連接上),以便控制自用戶端器件至伺服器 之路線及距離以最小化延時且可適應峰值而不招致延時。 LAN(通常額定在1〇〇 Mbps-1 Gbps)及具有足夠頻寬之租用 線路通常可支援峰值頻寬要求(例如,18 Mbps峰值頻寬為 1 00 Mbps LAN容量之一小分率)。 若進行特殊適應,則峰值頻寬要求亦可由住宅寬頻帶基 礎架構來適應。舉例而言,在電纜Tv系統上,可為數位 視訊訊務給出專用頻寬,該專用頻寬可處理諸如大】圖框 之峰值。此外,在DSL系統上,可供應較高速度之DSL數 據機(慮及高峰值),或可供應可處理較高資料速率之經特 別分級的連接。但是,附接至通用網際網路之習知電纜數 據機及DSL基礎架構對於用於經壓縮之視訊的峰值頻寬要 求而言遠不能容忍。因此,線上服務(將視訊遊戲或應用 程式主機代管於距用戶端器件長距離之伺服器中心中,且 139849.doc •42- 200949567 接著經由習知的住宅寬頻帶連接經由網際網路而使經壓縮 之視訊輸出串流)遭受顯著之延時及峰值頻寬要求-尤其對 於需要非常低之延時的遊戲及應用程式(例如,第一 I稱 射擊遊戲及其他多使用者、互動式動作遊戲,或需要快回 應時間之應用程式)。 【實施方式】 本揭示案將自以下[實施方式]及附圖而更完全地理解, Φ ❿ ’、、:而八不應用於將所揭示之標的物限於所展示之特定實 施例’而僅用於說明及理解。 △在以下描述中闡述特定細節(諸如,器件類型、系統組 〜通l方法等以便提供對本揭示案之徹底理解。然 而’ -般熟習相關技術者應瞭解,實踐所描述之該等實: 例可能不需要此等特定細節。 圖2a至圖2b提供兩個實施例之高階架構,其中視訊遊戲 及軟體應用程式由主機代管服務21〇主機代管且在訂用服 =由使用者場所211(注意,「使㈣場所」意謂使用者 疋位的無論何處之位置’若使用行動器件則包括室外) 處之用戶端器件2G5經由網際網路2G6(或其他H網路或 :用網路)來存取。用戶端器件2〇5可為具有至網際網路之 "線或無線連接、具有内部或外部顯示器件222的通用電 腦(諸如,以Microsoft偏彻扣職為基礎之%或 公司之Macintosh電腦),或者其可為將視訊及音訊輪 出至監視器或電視機222之諸如機頂盒之專用用戶端器件 (具有至網際網路之有線或無線連接),或者其可 139S49.doc -43- 200949567 來具有至網際網路之無線連接的行動器件。 此等器件中之任一者可具有其自身的使用者輸入器件 (例如,鍵盤、按鈕、觸模螢幕、追蹤板(track pad)或慣性 感測棒(inertial-sensing wand)、視訊俘獲相機及/或運動追 蹤相機等),或者其可使用藉由線連接或無線地連接之外 部輸入器件221(例如,鍵盤、滑鼠、遊戲控制器、慣性感 測棒、視訊俘獲相機及/或運動追蹤相機等)。如下文更詳 細描述,主機代管服務210包括各種效能位準之伺服器(包 括具有高能力CPU/GPU處理能力之彼等伺服器)。在播放 遊戲或使用主機代管服務210上之應用程式期間,家庭或 辦公室用戶端器件205接收來自使用者之鍵盤及/或控制器 輸入,且接著其將控制器輸入經由網際網路2〇6傳輸至主 機代管服務210,主機代管服務210回應於此而執行遊戲程 式碼並產生用於遊戲或應用程式軟體的視訊輸出(視訊影 像序列)之相繼圖框(例如,若使用者按壓將會指引螢幕上 之人物向右移動的按鈕,則遊戲程式接著將產生展示人物 向右移動的視訊影像序列)。接著使用低延時視訊壓縮器 壓縮此視訊影像序列,且主機代管服務21〇接著經由網際 網路206而傳輸低延時視訊流。家庭或辦公室用戶端器件 接著解碼經壓縮之視訊流並將經解壓縮之視訊影像再現於 監視器或TV上。因此,顯著地減少用戶端器件2〇5之計算 及圖形硬體要求。用戶端205僅需要具有用於將鍵盤/控制 器輸入轉遞至網際網路206且解碼並解壓縮自網際網路2〇6 所接收的經壓縮之視訊流的處理能力,實際上現今任 B9849.doc 200949567 何個人電腦均能夠在其CPU上以軟體來進行此(例如,以 約2 GHz執行之lntel &司雙核cpu能夠解壓縮使用諸如 H.264及Windows媒體VC9之壓縮器編碼的72〇p hdtv)。 此外’在任何用戶端器件之狀況下,專用晶片亦可以比通 用cpu低得多的成本及比通用cpu少得多的電力消耗(諸 如,現代PC所需的)來即時地執行用於該等標準之視訊解 壓縮。值得注意地,為了執行轉遞控制ϋ輸人及解壓縮視In the picture group (GOP) sequence of BBBBBIPPPPPBBBBBIPPPPP, there are 5 B frames before each I frame, and the first B picture can be displayed by the video decompressor only after receiving the subsequent B frame and I frame. frame. Therefore, if the video is streamed at 60 fpS (ie, 16.67 ms/frame), before the first B frame can be decompressed, no matter how fast the channel bandwidth is, five B frames and I frames are received. It will cost i6 67*6 = 1 〇〇 milliseconds, and this is only the case of $ b frames. A compressed video sequence with 30 B-frames is quite common. In addition, in the low channel bandwidth such as 2 MbpSi, the delay effect due to the size of the I frame is largely added to the delay caused by waiting for the B frame to arrive. Therefore, on the 2 Mbps channel, in the case of a large number of B 139849.doc 200949567 frames, it is quite easy to use a prior art video compression technique with a delay of more than 5 milliseconds or more than 500 milliseconds. If the b-frame is not used (at the expense of a lower compression ratio for a given quality level), then the B-frame delay is not incurred' but still causes the delay due to the peak frame size described above. ❿ The problem is aggravated by the nature of many video games. The video compression algorithm utilizing the G Ο P structure described above is largely optimized for use with live video or movie material that is intended for passive viewing. Usually, the camera (real camera, or the virtual camera in the state of the computer generated by the computer) and the scene are relatively stable, just because if the camera or scene moves too far and bumpy, the video or movie material (a) usually looks good. Unpleasant, and (b) if it is being watched' #Camera suddenly, back and forth, the viewer is usually unable to follow the action closely (for example, if the camera is shooting a child who is turbid on the sizzling Being motivated ^ suddenly bumped back and forth between the cakes, the viewers usually focus on the children and the cake, regardless of the simple and sinister when the camera suddenly moves). In the case of video conferencing or video conferencing, the camera can be held in a fixed position and not moved at all, resulting in very little data spikes. However, the high-definition action video game is characterized by motion (for example, considering the deduction of the game, and the entire frame is in a fast motion during the duration of the competition, or considering a personal shooting game in which the virtual camera is constantly Back and forth: These: The game can produce frames with large and frequent values. Users may need to clearly see what happened during their sudden movements. Therefore, in 3D high-motion video games, Compression artifacts 139849.doc -41 - 200949567 are far intolerable. Therefore, the video output of many video games (due to their nature) produces a compressed video stream with very high and frequent peaks. Assume that users of fast motion video games There is a small tolerance for high latency' and given all of the above-mentioned delay reasons, there is still a limitation on video games hosted by server hosts that stream video over the Internet. In addition, if a highly interactive application is required The host is hosted on the universal Internet and the video stream is streamed', and users of such applications suffer similar restrictions. Network configuration is required, where the colocation server is directly placed at the head end (in the case of a wide-spectrum) or central office (in the case of a digital subscriber line (DSL)), or a commercial background. Medium lan (or specially graded private connection) to control the route and distance from the client device to the server to minimize latency and adapt to peaks without incurring delays. LAN (usually rated at 1〇〇) Mbps-1 Gbps) and leased lines with sufficient bandwidth typically support peak bandwidth requirements (for example, 18 Mbps peak bandwidth is one of the 100 Mbps LAN capacity fractions). Peak bandwidth if special adaptation is applied. The requirements can also be accommodated by the residential broadband infrastructure. For example, on a cable Tv system, a dedicated bandwidth can be given for digital video traffic, which can handle peaks such as large frames. DSL systems can supply higher speed DSL modems (taking into account high peaks) or can be supplied with specially graded connections that can handle higher data rates. However, conventional cables attached to the universal Internet The machine and DSL infrastructure is far from tolerant for peak bandwidth requirements for compressed video. Therefore, online services (hosting video games or application hosts in server centers that are long distances from the client device) And 139849.doc • 42- 200949567 then subject the compressed video output stream via the Internet to a significant delay and peak bandwidth requirement via a conventional residential broadband connection - especially for very low latency Games and applications (for example, the first I-called shooting game and other multi-users, interactive action games, or applications that require fast response time). [Embodiment] This disclosure will be from the following [Embodiment] and attached The drawings are more fully understood, and Φ ❿ ', , and 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 The specific details (such as device type, system group, method, etc.) are set forth in the following description in order to provide a thorough understanding of the present disclosure. However, those skilled in the art should understand that the practice describes the actual: Specific details may not be required. Figures 2a through 2b provide a high-level architecture of two embodiments in which video games and software applications are hosted by a colocation service 21 and hosted at a subscription service = by a user location 211 (Note that “Make (4) place” means wherever the user is located. 'If the mobile device is used, it includes outdoor.” The client device 2G5 is connected to the Internet 2G6 (or other H network or network). The client device 2〇5 can be a general-purpose computer with an internal or external display device 222 having a "wire or wireless connection to the Internet" (e.g., based on Microsoft’s partial deduction) Or the company's Macintosh computer, or it may be a dedicated client device such as a set-top box that turns video and audio out to a monitor or television 222 (with wired or wireless connection to the Internet) Or its 139S49.doc -43- 200949567 to have a mobile device to the Internet wireless connection. Any of these devices may have its own user input device (eg, keyboard, button, touch mode) a screen, a track pad or an inertial-sensing wand, a video capture camera, and/or a motion tracking camera, or the like, or an external input device 221 connected by wire or wirelessly ( For example, a keyboard, a mouse, a game controller, an inertial sensing stick, a video capture camera, and/or a motion tracking camera, etc. As described in more detail below, the colocation service 210 includes servers of various performance levels (including having The high-capacity CPU/GPU processing capabilities of the server. During playback of the game or use of the application on the colocation service 210, the home or office client device 205 receives keyboard and/or controller input from the user. And then it transmits the controller input to the colocation service 210 via the Internet 2〇6, and the colocation service 210 executes the game code in response thereto. Successive frames for the video output (video sequence) of the game or application software (for example, if the user presses a button that will direct the person moving on the screen to the right), the game program will then generate the display character to the right The video image sequence is then compressed using a low-latency video compressor, and the colocation service 21 then transmits the low-latency video stream via the Internet 206. The home or office client device then decodes the compressed video. The video stream and the decompressed video image are reproduced on the monitor or TV. Therefore, the calculation and graphics hardware requirements of the client device 2〇5 are significantly reduced. The client 205 only needs to have the processing capability for forwarding the keyboard/controller input to the Internet 206 and decoding and decompressing the compressed video stream received from the Internet 2〇6, in fact today B9849 .doc 200949567 Any personal computer can do this in software on its CPU (for example, the lntel & dual-core cpu executing at about 2 GHz can decompress 72 using compressor encoding such as H.264 and Windows Media VC9 〇p hdtv). In addition, in the case of any client device, the dedicated chip can also be executed at a much lower cost than the general-purpose CPU and much less power consumption than the general-purpose CPU (such as that required by modern PCs). Standard video decompression. Notably, in order to perform the transfer control, the input and the uncompressed view
Λ的功此,豕庭用戶端器件2〇5不需要任何專門化的圖形 處理單元(GPU)、光碟機或硬碟機(諸如,圖1中所展示之 先前技術視訊遊戲系統)。 隨著遊戲及應用程式軟體變得更複雜及更具照片般逼】 感’其將需要較高效能之CPU、Gpu、較多ram,及較) 且較快之磁碟機,且可使主機代管服務21〇處之計算能) 不斷地升級,但終端使用者將不需要使家庭或辦公室用/ 端平台205升級,因為將藉由給定視訊解壓縮演算法㈣ 家庭或辦公室用戶端平㈣5之處理要求對於顯示解析肩 及圖框速率保持恆定。因此,圖h至圖2b中所說明之系胡 中不存在現今所見的硬體限制及相容性問題。 另外,因為遊戲及應用矛呈式軟體僅在主機代管服務川 中之伺服g中執仃,所以在使用者之家庭或辦公室(除非 另外有條件,否則如本文中所使狀「辦公室」將包括任 =^宅背景,包括(例如)教室)中決不存在遊戲或應用程 式軟體之複本(光學媒體之形式,或者為經下載之軟體)。 此顯者減輕遊戲或應用程式軟龍非法複製(盜版)之可能 139849.doc •45· 200949567 性,以及減輕可由遊戲或應用程式軟體使用的有價值之資 料庫被盜版之可能性。實際上,若需要專門化的伺服器 (例如,需要非常昂貴的、大的或有噪音的設備)來播放對 於家庭或辦公室使用不可行之遊戲或應用程式軟體,則即 使獲得遊戲或應用程式軟體之盜版複本,其亦將不可在家 庭或辦公室中操作。 在一實施例中,主機代管服務2 10向設計視訊遊戲之遊 戲或應用程式軟體開發商(其大體指代軟體開發公司、遊 戲或電影工作室’或遊戲或應用程式軟體出版商)22〇提供 ❿ 軟體開發工具,以使得其可設計能夠在主機代管服務21〇 上執行之遊戲。該等工具允許開發商利用主機代管服務之 特徵(該等特徵通常在獨立?(:或遊戲控制台中將不可 用)(例如,快速存取複雜幾何形狀的非常大之資料庫(除非 另外有條件,否則「幾何形狀」將在本文中用於指代界定 3D資料集之多邊形、紋理、索具、照明、行為及其他組件 及參數))。 ❹ 在此架構下,不同商業模型係可能的。在一模型下,主 機代管服務21〇自終端使用者收取訂用費用且向開發商咖 支付版稅,如圖2a中所展示。在替代實施中(圖2” 示),開發商22G直接自❹者收取訂用費用且向主機代管 服務21〇支付用於主機代管遊戲或應用程式内容的費用。 ί等f本原料限㈣於提供線上遊戲或助程式主機代 官之任何特定商業模型。 气 經壓縮之視訊特性 139849.doc -46· 200949567 如先刖所响述,線上提供視訊遊戲服務或應用程式軟體 服務之一顯著問題在於延時。70毫秒-80毫秒之延時(自輸 入器件被使用者致動4時刻至在冑示器件上顯示回應時之 %刻)為用於需要快回應時間之遊戲及應用程式的上限。 . 然而由於大量貫際及實體約束而使得此在圖2a及圖2b中 所展示之架構的情況下非常難以達成。 如圖3中所指示,當使用者訂用網際網路服務時,連接 φ 通常額疋為至使用者之家庭或辦公室的標稱最大資料速率 3〇1。取決於提供者之策略及路由設備能力,彼最大資料 速率可或多或少被嚴格地強制執行,但通常由於許多不同 原因中之一者而使得實際可用資料速率較低。舉例而言, 可能在DSL中央辦公室處或在本端電纔數據機迴路上存在 過多網路訊務,或可能在電镜線上存在雜訊,從而引起丢 棄之封包,或提供者可能建立每使用者每月最大數目之位 $。當冑’用於電纜及DSL服務之最大下行資料速率通 φ 常在數百千位元/秒(KbPs)至3〇 Mbps之範圍内。蜂巢式 服務通常限於數百Kbps之下行資料。然而,寬頻帶服務^ 速度及訂用寬頻帶服務之使用者之數目將隨著時間而急劇 增加。當前,一些分析者估計33%之美國寬頻帶用戶具有 2 Mbps或2 Mbps以上之下行資料速率。舉例而言,一些分 析者預測:至2010年止,超過85%之美國寬頻帶用戶將具 有2 Mbps或2 Mbps以上之資料速率。 如圖3中所指示,實際可用最大資料速率3〇2可隨著時間 而波動。因此,在低延時、線上遊戲或應用程式軟體情況 139849.doc •47- 200949567 下,有時難以預測用於特定視訊流之實際可用資料速率。 右對於特定量之場景複雜度及運動在給定數目之每秒圖框 數(fpS)下以給定解析度(例如,640x480 @ 60 fps)維持給 定品質位準所需的資料速率3〇3升高高於實際可用最大資 料速率3 0 2 (如藉由圖3中之峰值指示),則可出現若干問 題。舉例而言,一些網際網路服務將僅丟棄封包,從而導 致使用者之視訊螢幕上的丟失的資料及失真的/丟失的影 像。其他服務將暫時緩衝(亦即,排入佇列)額外封包且以 可用資料速率將該等封包提供至用戶端,從而導致延時之 增加-對於許多視訊遊戲及應用程式而言為不可接受的結 果。最後,一些網際網路服務提供者將資料速率之增加視 為惡意攻擊(諸如,否認服務攻擊(由電腦黑客用以使網路 連接停用的熟知技術))’且將在特定時間週期中切斷使用 者之網際網路連接。因此,本文中所描述之實施例設法確 保用於視訊遊戲的所需資料速率不會超過最大可用資料速 率 〇 主機代管服務架構 圖4a說明根據一實施例之主機代管服務21〇的架構。主 機代管服務21〇可定位於單一伺服器中心中,或者可跨越 複數個伺服器中心而分散(以為具有比其他者低延時:至 特定龍器中心之路徑的使用者提供低延時連接,以在使 用者之間提供負載平衡,且在一或多個伺服器中心出故障 之狀況下提供冗餘)。主機代管服務21()最終可包括成千上 萬個或甚至數百萬個伺服器4〇2,從而伺服非常大之使用 139849.doc •48- 200949567 者基礎(user base)。主機代管服務控制系統4〇1提供對主機 代管服務2H)之總體控制,且指引路由器、飼服器、視訊 壓縮系統、計費及帳務系統等。在一實施例中,主機代管 •月良務控制系統4〇1實施於以Linux為基礎之分散式處理系統 •上,該處理系統綁定至用於儲存用於使用者資訊、伺服器 資訊及系統統計資料之資料庫的RAID陣列。在上述描述 中,除非歸因於其他特定系統,否則由主機代管服務21〇 實施之各種動作由主機代管服務控制系統401來起始及控 制。 主機代管服務210包括許多伺服器4〇2,諸如當前可自 Intel、IBM及Hewlett Packard及其他者得到的彼等伺服 器。或者,可將伺服器402裝配成定製組件組態,或者最 終可將伺服器402整合以便將整個伺服器實施為單一晶 片。儘管此圖為說明起見而展示少數伺服器4〇2,但在實 際部署中’可能存在少至一伺服器402或多達數百萬個或 _ 數百萬個以上伺服器402的伺服器。伺服器4〇2均可以相同 方式組態(作為一些組態參數之實例,具有相同Cpu類型及 效能;具有或不具有GPU,且若具有GPU,則具有相同 GPU類型及效能;具有相同數目之cpu及GPU ;具有相同 量及相同類型/速度之RAM ;及具有相同RAM組態),或伺 服器402之各種子集可具有相同組態(例如,25。/〇之伺服器 可以一特定方式組態,50%之伺服器以一不同方式組態, 且25°/。之伺服器以又一方式組態),或每個伺服器402可不 同0 139849.doc -49- 200949567 在一實施例中,伺服器 自身的太@4·〜I …磁碟,亦即,並非具有其 ^的本端大谷量儲存器(其為光學或磁性儲存器,或者 以半導體為基礎之儲存器 一 ^ ^ ^ yL 陝閃S己憶體或伺服類似功 此之其他大容量儲存構件), 伺服态經由快速底板或 接而存取共用的大容量儲存器。在-實施例中,此 '速連接為連接至獨立冗餘磁碟陣列(raid)彻系列之儲 存區域網路(SAN) 4〇3,在使用超高速乙太網路實施之器 件之間具有連接。如熟習此項技術者已知的,SAN 403可 用於將許多R細陣列彻組合在—起,從而導致極高之頻 寬-接近或可能超過可自用於當前遊戲控制台及pc中之 讀得到的頻寬。此外,儘管基於諸如磁性媒禮之旋轉媒 體的RAID陣列經常具有顯著的搜尋時間存取延時,但基 於半導體儲存器之RAID陣列可實施為具有低得多的存取 延時。在另一組態中,一些或所有伺服器4〇2在本端提供 一些或所有其自身的大容量儲存器。舉例而言,伺服器 402可將頻繁存取之資訊(諸如,其作業系統及視訊遊戲或 應用程式之複本)儲存於以低延時本端快閃記憶體為基礎 之儲存器上,但其可利用SAN來存取基於旋轉媒體之具有 較南搜尋延時之RAID陣列405 ’以較不頻繁地存取幾何形 狀或遊戲狀態資訊之大資料庫。 另外,在一實施例中,主機代管服務21〇使用下文詳細 描述的低延時視訊壓縮邏輯404。視訊壓縮邏輯4〇4可以軟 體、硬體或其任何組合來實施(下文描述其特定實施例)。 視訊壓縮邏輯404包括用於壓縮音訊以及視覺材料之邏 139849.doc -50- 200949567 輯。 在操作中’當經由鍵盤、滑鼠、遊戲控制器或其他輸入 器件421而玩視訊遊戲或使用使用者場所211處之應用程式 時’用戶端415上之控制信號邏輯413將表示由使用者致動 之按紐按壓(及其他類型之使用者輸入)的控制信號4〇6a_ b(通常為UDP封包之形式)傳輸至主機代管服務21〇。將來 自給定使用者之控制信號路由至適當伺服器(或若多個伺For the sake of this, the client device 2〇5 does not require any specialized graphics processing unit (GPU), optical drive or hard drive (such as the prior art video game system shown in Figure 1). As games and application software become more complex and more photo-like, they will need a higher-performance CPU, Gpu, more ram, and more fast drives. The management of the escrow service can be upgraded continuously, but the end user will not need to upgrade the home or office/end platform 205 because the video will be decompressed by a given video (4) (4) The processing requirements of 5 are constant for the display resolution shoulder and frame rate. Therefore, there are no hardware limitations and compatibility problems seen today in the system described in Figures h to 2b. In addition, because the game and application spearware software is only executed in the server g of the host hosting service, it is in the user's home or office (unless otherwise conditional, the "office" as in this article will include any There is never a copy of the game or application software (in the form of optical media, or downloaded software) in the home background, including, for example, the classroom. This significantly reduces the possibility of illegal copying (piracy) of games or application software dragons, and the possibility of pirating valuable libraries that can be used by games or application software. In fact, if you need a specialized server (for example, a very expensive, large or noisy device) to play games or application software that is not feasible for home or office use, even if you get a game or application software. A copy of the pirated copy will not be operated in the home or office. In one embodiment, the colocation service 2 10 is directed to a game or application software developer (which generally refers to a software development company, a game or movie studio) or a game or application software publisher that designs video games. A software development tool is provided to enable it to design games that can be executed on the colocation service 21〇. These tools allow developers to take advantage of the features of colocation services (these features are usually independent? (or will not be available in the game console) (for example, very fast access to very large databases of complex geometries (unless otherwise Condition, otherwise "geometry" will be used herein to refer to the definition of polygons, textures, rigging, lighting, behavior, and other components and parameters of the 3D dataset)) ❹ Under this architecture, different business models are possible Under a model, the colocation service 21 charges the subscription fee from the end user and pays royalties to the developer, as shown in Figure 2a. In an alternative implementation (Figure 2), the developer 22G is directly The self-collected person charges the subscription fee and pays the courier service 21 for the cost of hosting the game or the application content. ί等f The raw material limit (4) is to provide any specific business model for the online game or the helper host agency. The video characteristics of compressed air compression 139849.doc -46· 200949567 As one of the first words, there is a significant problem in providing video game services or application software services online. Delay. The 70ms-80ms delay (from the time the input device is actuated by the user for 4 minutes to the time the response is displayed on the display device) is the upper limit for games and applications that require fast response times. Due to the large number of internal and physical constraints, this is very difficult to achieve in the case of the architecture shown in Figures 2a and 2b. As indicated in Figure 3, when the user subscribes to the Internet service, the connection φ is usually The nominal maximum data rate to the user's home or office is 3.1. Depending on the provider's strategy and routing equipment capabilities, the maximum data rate may be more or less strictly enforced, but usually due to many differences One of the reasons is that the actual available data rate is low. For example, there may be too many network traffic at the DSL central office or at the local computer data path, or there may be noise on the SEM line. , thereby causing the discarded packet, or the provider may establish a maximum number of bits per user per month. When the maximum downlink data rate for cable and DSL services is φ Hundreds of kilobits per second (KbPs) to 3 Mbps. Honeycomb services are typically limited to hundreds of Kbps of data. However, the number of users of broadband service speed and subscription broadband services will vary. Time has increased dramatically. Currently, some analysts estimate that 33% of US broadband users have data rates below 2 Mbps or above 2 Mbps. For example, some analysts predict that by 2010, more than 85% of US broadband The user will have a data rate of 2 Mbps or more. As indicated in Figure 3, the actual maximum data rate of 3 〇 2 can fluctuate over time. Therefore, in low latency, online gaming or application software 139849 .doc • 47- 200949567, it is sometimes difficult to predict the actual data rate available for a particular video stream. The right is the data rate required for a given amount of scene complexity and motion to maintain a given quality level at a given resolution (eg, 640x480 @ 60 fps) for a given number of frames per second (fpS). 3 The rise is higher than the actual available maximum data rate of 3 0 2 (as indicated by the peak in Figure 3), and several problems can arise. For example, some Internet services will only discard packets, resulting in lost data and distorted/lost images on the user's video screen. Other services will temporarily buffer (ie, queue) extra packets and provide them to the client at the available data rate, resulting in increased latency - unacceptable results for many video games and applications . Finally, some Internet service providers view the increase in data rate as a malicious attack (such as denial of service attacks (well-known techniques used by computer hackers to disable network connections)) and will be cut in a specific time period. Disconnect the user's internet connection. Accordingly, the embodiments described herein seek to ensure that the required data rate for video games does not exceed the maximum available data rate. 主机 Hosted Service Architecture Figure 4a illustrates the architecture of a hosted service 21 根据 according to an embodiment. The colocation service 21 can be located in a single server center or can be spread across multiple server centers (think of having a lower latency than others: a low latency connection to a user to a specific dragon center path to Provides load balancing between users and provides redundancy in the event of one or more server center failures). The colocation service 21() can eventually include tens of thousands or even millions of servers 4〇2, so that the servo is very large. 139849.doc •48- 200949567 The user base. The colocation service control system 4-1 provides overall control over the host escrow service 2H) and directs routers, feeders, video compression systems, billing and accounting systems, and the like. In one embodiment, the host escrow control system is implemented on a Linux-based distributed processing system, and the processing system is bound to store information for user information and server information. And a RAID array of database of system statistics. In the above description, various actions implemented by the colocation service 21 are initiated and controlled by the colocation service control system 401 unless attributed to other specific systems. The colocation service 210 includes a number of servers 4, such as those currently available from Intel, IBM, and Hewlett Packard, among others. Alternatively, the server 402 can be assembled into a custom component configuration, or the server 402 can ultimately be integrated to implement the entire server as a single wafer. Although this figure shows a small number of servers 4〇2 for illustrative purposes, in actual deployments there may be as few as one server 402 or as many as millions or _ millions of servers 402. . Server 4〇2 can be configured in the same way (as an example of some configuration parameters, with the same CPU type and performance; with or without GPU, and with GPU, with the same GPU type and performance; with the same number Cpu and GPU; RAM with the same amount and the same type/speed; and with the same RAM configuration), or various subsets of the server 402 can have the same configuration (eg, 25./〇 server can be in a specific way Configuration, 50% of the servers are configured in a different way, and the 25°/server is configured in another way), or each server 402 can be different 0 139849.doc -49- 200949567 in one implementation In the example, the server itself is too @4·~I ... the disk, that is, the local large-volume storage device (which is an optical or magnetic storage device, or a semiconductor-based storage device) ^ ^ yL 陕 S 己 或 或 或 或 或 或 或 或 或 或 或 或 或 或 或 或 己 己 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服 伺服In an embodiment, the 'speed connection is a storage area network (SAN) 4〇3 connected to a series of independent redundant disk arrays (raid), between devices implemented using ultra-high speed Ethernet connection. As is known to those skilled in the art, the SAN 403 can be used to combine many R fine arrays together, resulting in extremely high bandwidth - close to or possibly beyond what can be used in current game consoles and PCs. The bandwidth. Moreover, while RAID arrays based on rotating media such as magnetic media often have significant seek time access latency, RAID arrays based on semiconductor memory can be implemented with much lower access latency. In another configuration, some or all of the servers 4〇2 provide some or all of their own mass storage at the local end. For example, the server 402 can store frequently accessed information (such as a copy of its operating system and video game or application) on a low-latency local flash memory-based storage, but A SAN is used to access a large database of rotationally-oriented RAID arrays 405' with south search latency to access geometry or game state information less frequently. Additionally, in one embodiment, the colocation service 21 uses the low latency video compression logic 404 described in detail below. The video compression logic 410 can be implemented in software, hardware, or any combination thereof (the specific embodiments thereof are described below). Video compression logic 404 includes logic for compressing audio and visual material 139849.doc -50-200949567. In operation, 'when playing a video game via a keyboard, mouse, game controller or other input device 421 or using an application at the user location 211, the control signal logic 413 on the client 415 will indicate The control button 4〇6a_b (usually in the form of a UDP packet) pressed by the button (and other types of user input) is transmitted to the colocation service 21〇. In the future, the control signal from a given user is routed to the appropriate server (or multiple servos)
服器回應於使用者之輸入器件,則路由至多個彳司服器) 402。如圖“中所說明,可經由SAN而將控制信號4〇6&路 由至伺服器402。或者或另外,可經由主機代管服務網路The server is routed to a plurality of server devices 402 in response to the user's input device. As illustrated in the figure, the control signal 4〇6& can be routed to the server 402 via the SAN. Alternatively or additionally, the service network can be hosted via the host.
WJU ^yJOD (例如,以乙太網路為基礎之區域網路)而將控制信______ 直接路由至伺服器402。不管控制信號406a_b係如何被傳 輸,該或該等伺服器均回應於控制信號4〇6ab而執行遊戲 或應用程式軟體。儘管^4a巾未說明,但各種網路連接組 件(諸如,防火牆及/或閘道器)可處理主機代管服務210之 邊緣處(例如,主機代管服務210與網際網路41〇之間)及/或 使用者場所211之邊緣處(網際網路川與家庭或辦公室用 戶端415之間)的傳入及傳出的訊務。所執行的遊戲或應用 程式軟體之圖形及音訊輸出(亦即,新的視訊影像序列)提 :至低延時視訊壓縮邏輯4G4,低延時視訊壓縮邏輯綱根 據低延時視訊壓縮技術( 本文中所描述之彼等技術) 而壓縮視訊影像序列日奴 冢㈣且經由網際網路4H)(或,如下文所描 述,經由繞過通用網際 ^ ( 、 的取佳鬲速網路服務)而將經 壓^之視訊流(通常具有經 縮或未經塵縮之音訊)傳輸回 139849.doc 200949567 至用戶端415。接著,用戶端415上之低延時視訊解壓縮邏 輯412解壓縮視訊及音訊流並再現經解壓縮之視訊流,且 通常在顯示器件422上播放經解壓縮之音訊流。或者,可 在與顯不器件422分開之揚聲器上播放音訊或根本不播放 音訊。注意,儘管輸入器件421及顯示器件422在圖2a及圖 2b中展示為獨立式器件,但其可整合於諸如可攜式電腦或 行動器件之用戶端器件内。 家庭或辦公室用戶端415(先前在圖2a及圖2b中描述為家 庭或辦公室用戶端205)可為非常低廉且低能力之器件,其 〇 具有非常有限之計算或圖形效能且可能具有#常有限之本 端大容量儲存器或不具有本端大容量儲存器。相比之下, 耦σ至SAN 403及多個RAID 405之每一伺服器4〇2可為格 外高效能之計算系統,且實際上,若多個飼服器以一並列 處理組態合作地使用’則幾乎不存在對可承受的計算量及 圖形處理能力的限制。此外’由於低延時視訊壓縮4〇4及 低延時視訊解壓縮412(由使用者感知地),所以將伺服器 4〇2之計算能力提供給使用者。當使用者按壓輸入器件似❹ 上之按紐時’顯示器422上之影像被回應於按紐按壓而更 新(在感知上無有意義之延遲),好像遊戲或應用程式軟體 ,、在本端執行因此’對於為非常低效能之電腦或僅為實 施低延時視訊解壓縮及控制信號邏輯413之低廉晶片的家 庭或辦a至用戶端415’自看來在本端可用之遠端位置有 效地為使用者提供任意計算能力。此為使用者給出用於玩 最高階、處理器密集的(通常為新的)視訊遊戲及最高效能 139849.doc -52- 200949567 之應用程式的能力。 圖4c展示非常基礎且低廉的家庭或辦公室用戶端器件 465。此器件為來自圖钝及圖朴之家庭或辦公室用戶端415 . t -實施例。其為約2对長。其具有與具有乙太網路供電 , (PoE)之乙太網路電纜介接的乙太網路插孔462,該器件自 乙太網路插孔462得到其電力及其至網際網路之連接性。 該器件能夠在支援網路位址轉譯(NAT)之網路内執行 φ NAT。在辦么至環境中,許多新的乙太網路交換器具有 PoE且將P〇E直接帶至辦公室中之乙太網路插孔。在此種 情形下,所需的為自壁式插孔至用戶端465之乙太網路電 纜。若可用的乙太網路連接不載運電力(例如,在具有dsl 或電纜數據機但無P0E之家庭中),則存在可用的低廉的壁 式「碑塊(brick)」(亦即,電源),其將接受無電力之乙太 網路電瘦且輸出具有p〇E之乙太網路。 用戶端465含有耦合至藍芽無線介面之控制信號邏輯 φ 413(圖4a),該藍芽無線介面與諸如鍵盤、滑鼠、遊戲控制 器及/或麥克風及/或耳機之藍芽輸入器件479介接。又,用 戶端465之一實施例在與顯示器件468耦合的情況下能夠以 120 fps輸出視訊,顯示器件468能夠支援12〇 fps視訊且向 一對遮光眼鏡466發信號(通常經由紅外)以對於每一相繼圖 框交替地遮蔽一隻眼接著遮蔽另一隻眼。使用者所感覺之 效應為「跳出」顯示螢幕之立體31)影像。支援該操作之一 種該顯示器件468為Samsung HL-T5〇76S。因為用於每一隻 眼之視訊流係單獨的,所以在兩個獨立視訊流係由主機代 139S49.doc -53- 200949567 管服務210壓縮的一實施例中,圖框在時間上交錯,且圖 框在用戶端465内係以兩個獨立解壓縮過程來解壓縮。 用戶端465亦含有低延時視訊解壓縮邏輯412,其解壓縮 傳入的視訊及音訊且經由HDMI(高清晰度多媒體介面)、 連接器463輸出,HDMI(高清晰度多媒體介面)、連接器 463插入於SDTV(標準清晰度電視)或HDTV(高清晰度電 視)468中,從而向TV提供視訊及音訊,或插入於支援 HDMI之監視器468中。若使用者之監視器468不支援 HDMI,則可使用HDMI至DVI(數位視覺介面),但音訊將 丟失。在HDMI標準下,顯示能力(例如,所支援之解析 度,圖框速率)464係自顯示器件468傳達,且接著經由網 際網路連接462將此資訊傳回至主機代管服務2丨〇,因此主 機代管服務210可使經壓縮之視訊以適合於該顯示器件之 格式串流。 圖4d展示家庭或辦公室用戶端器件475,除了用戶端器 件475具有更多外部介面之外,其與圖4c中所展示之家庭 或辦公至用戶端器件465相同。又,用戶端475可接受p〇E 來供電,或者其可佔用插入牆壁中之外部電源配接器(未 圖示)。視訊相機477使用用戶端475 USB輸入將經壓縮之 視訊提供至用戶端475,經壓縮之視訊由用戶端475上載至 主機代管服務210以用於下文所描述之用途。將利用下文 所描述之壓縮技術將低延時壓縮器建置於相機477中。 除具有用於其網際網路連接之乙太網路連接器之外,用 戶端475亦具有至網際網路之8〇211 g無線介面。兩種介面 139849.doc -54- 200949567 均能夠在支援NAT之網路内使用NAT。 又,除具有用於輸出視訊及音訊之HDMI連接器之外, 用戶端475亦具有雙鏈接DVI-I連接器,雙鏈接DVI-I連接 器包括類比輸出端(且具有將提供VGA輸出之標準配接器 電纜)。其亦具有用於複合視訊及S視訊之類比輸出端。 對於音訊,用戶端475具有左/右類比立體RCA插孔,且 對於數位音訊輸出,其具有TOSLINK輸出端。 除了至輸入器件479之藍芽無線介面之外,其亦具有用 ^ 於介接至輸入器件之USB插孔。 圖4e展示用戶端465之内部架構之一實施例。該圖中所 展示的所有器件或一些器件可實施於場可程式化邏輯陣 列、定製ASIC中或若干個離散器件(定製設計或者現成的) 中〇 具有PoE之乙太網路497附接至乙太網路介面48 1。電力 499係自具有PoE之乙太網路497得到且連接至用戶端465中 φ 之其餘器件。匯流排480為用於器件之間的通信之公同匯 流排。 執行來自快閃記憶體476之小用戶端控制應用程式的控 制CPU 483(幾乎任何小CPU係適當的,諸如具有嵌入式 RAM的100 MHz下的MIPS R4000系列CPU)實施用於網路 (亦即,乙太網路介面)之協定堆疊且亦與主機代管服務210 通信,並組態用戶端465中之所有器件。其亦處理與輸入 器件469之介面並將封包(必要時,連同受前向錯誤校正保 護之使用者控制器資料一起)發送回至主機代管服務210。 139849.doc -55- 200949567 又,控制CPU 483監視封包訊務(例如,封包係*失還是延 遲,以及其到達之時間戳)。將此資訊發送回至主機代管 服務21〇 ’以使得其可怪定地監視網路連接且相應地調整 其發送之内纟。最初在製造時騎閃記憶體㈣載入用於 控制CPU 483之控制程式以及對於特定用戶端465單元而言 唯-的序冑。此序號允許主機代管服務⑽唯—地識別用 戶端465單元。 藍芽介面484經由其天線(在用戶端奶内部)無線地通信 至輸入器件469。 視訊解壓縮器486為.經組態以實施本文中所描述之視訊 解壓縮的低延時視訊解壓縮器。大量視訊解壓縮器件存 在,或者為現成產品,或者作為具有可整合於FpGA或定 製ASIC中的設計之智慧產㈣p)。—提供用於h⑽解碼 器之巧的公司為NSW Australia之〇eean L〇gic 〇f Manb。 使用IP之優點在於:本文中所使用之壓縮技術與壓縮標準 不相符 些彳示準解壓縮器足夠靈活以經組態以適應本文 中之壓縮技術,但一些標準解壓縮器可能並非如此。但 疋,在IP之情況下,在視需要而重新設計解壓縮器中存在 完全靈活性。 視解壓縮斋之輸出端耦合至視訊輸出子系統487,視 訊輸出子系統487將視訊耦合至HDMI介面49〇之視訊輸出 端。 音訊解壓縮子系統488或者使用可用的標準音訊解壓縮 器來實施,或者其可實施為Ip,或者可在可(例如)實施 139849.doc • 56 - 200949567The control message ______ is routed directly to the server 402 by WJU ^yJOD (e.g., an Ethernet-based local area network). Regardless of how the control signals 406a-b are transmitted, the or the servers execute the game or application software in response to the control signals 4〇6ab. Although not illustrated, various network connectivity components, such as firewalls and/or gateways, may handle the edge of the colocation service 210 (eg, between the colocation service 210 and the Internet 41〇) And/or incoming and outgoing traffic at the edge of the user premises 211 (between the Internet and the home or office client 415). The graphics and audio output of the executed game or application software (ie, the new video image sequence) is raised to: low latency video compression logic 4G4, low latency video compression logic based on low latency video compression technology (described in this article) And their technology) compresses the video image sequence to the slave (4) and via the Internet 4H) (or, as described below, via the bypass of the Universal Internet Service) The video stream (usually with or without fluffy audio) is transmitted back to 139849.doc 200949567 to the client 415. Next, the low latency video decompression logic 412 on the client 415 decompresses the video and audio streams and reproduces The decompressed video stream, and typically the decompressed audio stream is played on display device 422. Alternatively, the audio may be played on a separate speaker from display device 422 or not at all. Note that despite input device 421 and Display device 422 is shown as a stand-alone device in Figures 2a and 2b, but can be integrated into a client device such as a portable computer or mobile device. The room client 415 (described previously as home or office client 205 in Figures 2a and 2b) can be a very low cost and low power device with very limited computational or graphical performance and possibly #常常本本End-capacity storage or no local-capacity storage. By contrast, each server 4〇2 coupled to SIS 403 and multiple RAID 405 can be an extra-high-performance computing system, and actually If multiple feeding devices are used cooperatively in a side-by-side configuration configuration, there is almost no limit on the amount of computational and graphics processing that can be tolerated. In addition, due to low-latency video compression 4〇4 and low-latency video decompression 412 (perceived by the user), so the computing power of the server 4〇2 is provided to the user. When the user presses the button on the input device, the image on the display 422 is pressed in response to the button. Update (no meaningful delay in perception), like game or application software, executed at the local end so 'for very low-performance computers or just low-latency video decompression and control signals The low-cost family of the 413 chip or the client-to-client 415' effectively provides the user with any computing power at the remote location available to the local end. This is given to the user for playing the highest order, processor. The ability of intensive (usually new) video games and applications with maximum performance of 139849.doc -52- 200949567. Figure 4c shows a very basic and inexpensive home or office client device 465. This device is from the blunt and graph Park's home or office client 415. t - embodiment. It is about 2 pairs long. It has an Ethernet jack 462 that interfaces with an Ethernet cable (Ethernet over Ethernet) (PoE). The device derives its power and its connectivity to the Internet from the Ethernet jack 462. The device is capable of executing φ NAT over a network that supports Network Address Translation (NAT). In the environment, many new Ethernet switches have PoE and bring P〇E directly to the Ethernet jack in the office. In this case, what is required is an Ethernet cable from the wall jack to the customer terminal 465. If the available Ethernet connection does not carry power (for example, in a home with a dsl or cable modem but no P0E), there is an inexpensive wall-type "brick" (ie, power supply) available. It will accept the powerless Ethernet and thin and output the Ethernet with p〇E. The client 465 contains control signal logic φ 413 (Fig. 4a) coupled to the Bluetooth wireless interface with a Bluetooth input device 479 such as a keyboard, mouse, game controller and/or microphone and/or earphone. Interface. Moreover, one embodiment of the client 465 can output video at 120 fps with the display device 468 coupled, and the display device 468 can support 12 〇 fps video and signal a pair of opaque glasses 466 (typically via infrared) for Each successive frame alternately shades one eye and then obscures the other eye. The effect felt by the user is to "jump out" the stereoscopic 31) image of the display screen. One of the operations is supported. The display device 468 is a Samsung HL-T5 〇 76S. Since the video stream for each eye is separate, in one embodiment where the two independent video streams are compressed by the host 139S49.doc -53 - 200949567 tube service 210, the frames are interleaved in time and the graph The box is decompressed in client 465 in two separate decompression processes. The client 465 also includes low-latency video decompression logic 412, which decompresses incoming video and audio and outputs via HDMI (High Definition Multimedia Interface), connector 463, HDMI (High Definition Multimedia Interface), connector 463 It is inserted in SDTV (Standard Definition Television) or HDTV (High Definition Television) 468 to provide video and audio to the TV, or to be inserted into the monitor 468 supporting HDMI. If the user's monitor 468 does not support HDMI, HDMI to DVI (Digital Visual Interface) can be used, but the audio will be lost. Under the HDMI standard, display capabilities (eg, supported resolution, frame rate) 464 are communicated from display device 468, and then transmitted back to the colocation service 2 via Internet connection 462, The colocation service 210 can therefore compress the compressed video in a format suitable for the display device. Figure 4d shows a home or office client device 475 which is identical to the home or office to client device 465 shown in Figure 4c, except that the client device 475 has more external interfaces. Again, the client 475 can accept p〇E to power, or it can occupy an external power adapter (not shown) that is plugged into the wall. The video camera 477 provides the compressed video to the client 475 using the client 475 USB input, and the compressed video is uploaded by the client 475 to the colocation service 210 for use as described below. The low latency compressor will be built into camera 477 using the compression techniques described below. In addition to having an Ethernet connector for its Internet connection, the client 475 also has an 8 〇 211 g wireless interface to the Internet. Both interfaces 139849.doc -54- 200949567 are capable of using NAT within a network that supports NAT. In addition to the HDMI connector for outputting video and audio, the client 475 also has a dual-link DVI-I connector, and the dual-link DVI-I connector includes an analog output (and has a standard that will provide VGA output). Adapter cable). It also has an analog output for composite video and S video. For audio, the client 475 has a left/right analog stereo RCA jack and has a TOSLINK output for digital audio output. In addition to the Bluetooth wireless interface to input device 479, it also has a USB jack for interfacing to the input device. Figure 4e shows an embodiment of the internal architecture of the client 465. All or some of the devices shown in this figure can be implemented in field programmable logic arrays, custom ASICs, or several discrete devices (custom design or off-the-shelf). Ethernet 497 with PoE To the Ethernet interface 48 1. Power 499 is derived from Ethernet 497 with PoE and is connected to the rest of φ in user terminal 465. Bus 480 is a common bus for communication between devices. The control CPU 483 that executes the small client control application from flash memory 476 (almost any small CPU is suitable, such as the MIPS R4000 series CPU at 100 MHz with embedded RAM) is implemented for the network (ie The protocol of the Ethernet interface stacks and also communicates with the colocation service 210 and configures all of the devices in the client 465. It also processes the interface with the input device 469 and sends the packet (along with the user controller data subject to forward error correction protection) back to the colocation service 210. 139849.doc -55- 200949567 In turn, the control CPU 483 monitors the packet traffic (e.g., whether the packet is lost or delayed, and the timestamp of its arrival). This information is sent back to the colocation service 21〇' so that it can strangely monitor the network connection and adjust its intranets accordingly. Initially, at the time of manufacture, the flash memory (4) is loaded with a control program for controlling the CPU 483 and a serial number for the specific client 465 unit. This sequence number allows the colocation service (10) to uniquely identify the user 465 unit. The Bluetooth interface 484 communicates wirelessly to the input device 469 via its antenna (within the client's milk). Video decompressor 486 is a low latency video decompressor configured to implement the video decompression described herein. A large number of video decompression devices exist, either as off-the-shelf products or as a smart product with a design that can be integrated into FpGA or custom ASICs (4) p). - The company that provides the h(10) decoder is the eE L〇gic 〇f Manb of NSW Australia. The advantage of using IP is that the compression techniques used in this article do not match the compression standards. Some indicate that the quasi-decompressor is flexible enough to be configured to accommodate the compression techniques in this article, but some standard decompressors may not. But hey, in the case of IP, there is complete flexibility in redesigning the decompressor as needed. The output of the view compression coupling is coupled to the video output subsystem 487, which couples the video to the video output of the HDMI interface 49. The audio decompression subsystem 488 may be implemented using an available standard audio decompressor, or it may be implemented as an Ip, or may be implemented, for example, 139849.doc • 56 - 200949567
Vorbis音訊解壓縮器之控制處理器483内實施音訊解壓縮。 實施音訊解壓縮之器件耦合至音訊輸出子系統489,音 訊輸出子系統489將音訊耦合至HDMI介面490之音訊輸出 端。 圖4f展示用戶端475之内部架構之一實施例。如可見, 除額外介面及來自插入牆壁中之電源配接器的可選外部 DC電力(且若如此使用,則可選外部DC電力替換將來自乙 太網路PoE 497之電力)之外,該架構與用戶端465之架構 參 相同。下文中將不重複與用戶端465共同之功能性,但將 額外功能性描述如下。 CPU 483與額外器件通信且組態額外器件。The audio decompression is implemented in the control processor 483 of the Vorbis audio decompressor. The device that implements the audio decompression is coupled to an audio output subsystem 489 that couples the audio to the audio output of the HDMI interface 490. Figure 4f shows an embodiment of the internal architecture of the client 475. As can be seen, in addition to the additional interface and optional external DC power from the power adapter plugged into the wall (and if so, the optional external DC power replacement will be from the Ethernet PoE 497), The architecture is the same as the architecture of the client 465. The functionality common to the client 465 will not be repeated below, but the additional functionality will be described below. The CPU 483 communicates with additional devices and configures additional devices.
WiFi子系統482經由其天線提供無線網際網路存取,作 為對乙太網路497之替代。WiFi子系統可購自多家製造 商,包括 CA之 Santa Clara之 Atheros Communications。 USB子系統485提供對用於有線USB輸入器件479之藍芽 φ 通信的替代。USB子系統相當標準且可容易地用於FPGA 及ASIC,且經常建置於執行如視訊解壓縮之其他功能的現 成器件中。 與用戶端465内之視訊輸出相比較,視訊輸出子系統487 產生較寬範圍之視訊輸出。除提供HDMI 490視訊輸出之 外,其提供DVI-I 491、S-視訊492及複合視訊493。又,當 DVI-I 491介面係用於數位視訊時,將顯示能力464自顯示 器件傳回至控制CPU 483,以使得其可向主機代管服務210 通知顯示器件478之能力。由視訊輸出子系統487提供之所 139849.doc -57- 200949567 有介面均為相當標準之介面且容易以許多形式可用。 音訊輸出子系統489經由數位介面494(s/pDlF及/或The WiFi subsystem 482 provides wireless internet access via its antenna as an alternative to Ethernet 497. The WiFi subsystem is available from a number of manufacturers, including Atheros Communications of Santa Clara, CA. USB subsystem 485 provides an alternative to Bluetooth φ communication for wired USB input device 479. The USB subsystem is fairly standard and can be easily used in FPGAs and ASICs, and is often built into existing devices that perform other functions such as video decompression. The video output subsystem 487 produces a wider range of video outputs than the video output in the client 465. In addition to providing HDMI 490 video output, it provides DVI-I 491, S-Video 492 and Composite Video 493. Also, when the DVI-I 491 interface is used for digital video, the display capability 464 is passed back from the display device to the control CPU 483 so that it can notify the host escrow service 210 of the capabilities of the display device 478. The 139849.doc -57- 200949567 interface provided by the video output subsystem 487 is a fairly standard interface and is readily available in many forms. The audio output subsystem 489 is via the digital interface 494 (s/pDlF and/or
Toslink)數位地輸出音訊且經由立體類比介面495輸出類 形式之音訊。 來回行程延時分析 ❹ 當然,為了實現前-段之利益,使用者使用輸入器件 421之動作與在顯示器件倒上看見彼動作之後果之間的來 回行程延時應不大於7〇毫秒_8〇毫秒。此延時必須考慮在 自使用者場所2U中之輸入器件421至主機代管服務2ι〇及 再-人返回至使用者場所211至顯示器件422之路徑中的所有 因素。圖4b說明各種組件及網路(信號必須經由其行進), 且此等組件及網路上方的為時刻表,該時刻表列出實際實 施中可預期的例示性延時。注意,圖朴經簡化以便僅展干 重要路徑路由。下文描述用於系統之其他特徵之資料的1 他路由。雙頭箭頭(例如’箭頭453)指示來回行程延時且單 :箭頭(例如’箭頭457)指示單向延時,且「〜」表示近似 里測°應指出,將存在所列之延時何達成的真實世界情 形i•在大1狀況下,在美國,使用至使用者場所η 1之 電纜數據機連接,此等延時可在下一段令所描述之 III _成° X ’注意,儘管至網際網路之蜂巢式無線連 在所展示之系統中工作,但大多數當前美國蜂 =貝料系統(諸如,EVD〇)招致非常高之延時且將不能 夠達成圖财所展示之延時。然而,此等基本原理可在可 能能夠實施此位準之延時的未來蜂巢式技術上實施。 139849.doc •58- 200949567 自使用者場所211處之輸入器件421開始,一旦使用者致 動輸入器件421,就將使用者控制信號發送至用戶端 415(其可為諸如機頂盒之獨立器件,或其可為在諸如pc或 行動器件之另一器件中執行的軟體或硬體),且將其封包 化(在一實施例中以UDP格式)並為封包給出目的地位址以 到達主機代管服務210。封包將亦含有用於指示控制信號 係來自哪個使用者的資訊。接著經由防火牆/路由器/ φ NAT(網路位址轉譯)器件443將控制信號封包轉遞至WAN介 面442。WAN介面442為由使用者之ISP(網際網路服務提供 者)提供至使用者場所211的介面器件。WAN介面442可為 電欖或DSL數據機、WiMax收發器、光纖收發器、蜂巢式 資料介面、電力線網際網路協定介面(Internet 〇ver-P〇werline interface),或至網際網路之許多介面中的 任何其他介面。另外,可將防火牆/路由器/NAT器件 443(及(可能地)WAN介面442)整合於用戶端415中。此之一 φ 實例將為行動電話,其包括用於實施家庭或辦公室用戶端 415之功能性的軟體’以及用於經由某一標準(例如, 802.11 g)而無線地路由及連接至網際網路的構件。 WAN介面442接著將控制信號路由至本文中所稱的用於 使用者之網際網路服務提供者(isp)的「存在點」441, WAN介面442為提供連接至使用者場所211之WAN輸送器與 通用網際網路或私用網路之間的介面的設施。存在點之特 性將視所提供之網際網路服務的性質而改變。對於DSL, 其通常將為DSLAM所定位之電話公司中央辦公室。對於 139849.doc •59- 200949567 電纜數據機,其通常將為電纜多系統運營商(MS〇)頭端。 對於蜂巢式系統,其通常將為與蜂巢式塔相關聯的控制 室。但無論存在點之性質怎樣,其均將接著將控制信號封 包路由至通用網際網路410。接著經由將最可能係光纖收 發器介面之介面將控制信號封包路由至WAN介面444至主 機代管服務210。WAN 444將接著將控制信號封包路由至 路由邏輯409(其可以許多不同方式來實施,包括乙太網路 父換器及路由伺服器),路由邏輯4〇9估計使用者之位址且 將控制L號路由至用於給定使用者之正確的伺服器。 ❿ 伺服器402接著將肖等控制信i視為在词服器4〇2上執行 之遊戲或應用程式軟體的輸入且使用該等控制信號來處理 遊戲或應用程式之下一個圖框。—旦產生下一個圖框,就 將視訊及音訊自飼服H4()2輸出至視訊壓縮器4〇4。可經由 各種構件將視訊及音訊自词服器術輸出至壓縮器綱。首 先,可將廢縮器404建置於飼服器4〇2中,因此可在飼服器 402内在本端實施壓縮。或者,可經由至網路(其或者為伺 服器術與視訊壓縮器404之間的私用網路,或者為經由諸© 如SAN 403之共用網路的網路)之網路連接(諸如,乙太網 路連接)以封包化形式輸出視訊及/或音訊。或者,可經由 ^訊輸出連接器(諸如,DVI或偷連接器)將視訊自词服 益402輸出,且接著由視訊壓縮器4〇4來俘獲。&,可將音 訊自伺服器搬輸出為數位音訊(例如,經由t〇sunk或 S_F連接器)或類比音訊’類比音訊由視訊壓縮器綱内 之音訊壓縮邏輯來數位化並編碼。 139849.doc •60. 200949567 /-旦視訊壓縮器404已俘獲來自祠服器4〇2之視訊圖框及 在彼圖框時間期間所產生之音訊,則視訊壓縮器將使用下 文所描述之技術壓縮視訊及音訊。一旦視訊及音訊被壓 • 縮,就藉由一位址將其封包化以將其發送回至使用者之用 戶端415,且將其路由至WAN介面4料,wan介面444接著 經由通用網際網路41〇路由視訊及音訊封包,通用網際網 路41 0接耆將視訊及音訊封包路由至使用者之π?的存在點 _ 441,存在點441將視訊及音訊封包路由至使用者場所處之 WAN介面442,WAN介面442將視訊及音訊封包路由至防 火牆/路由器/NAT器件443,防火牆/路由器/NAT器件443接 著將視訊及音訊封包路由至用戶端415。 用戶4 41 5解壓縮視訊及音訊,且接著在顯示器件 422(或用戶端之内置顯示器件)上顯示視訊並將音訊發送至 顯示器件422或至單獨的放大器/揚聲器或至建置於用戶端 中之放大器/揚聲器。 ❹ 為使使用者感覺到剛才所描述之整個過程在感知上無滞 後’來回行程延遲需要小於70毫秒或8〇毫秒。所描述之來 回行程路徑中的一些延時延遲受主機代管服務21〇及/或使 用者之控制’而其他的延時延遲不受主機代管服務21〇及/ 或使用者之控制。儘管如此,基於大量真實世界情況之分 析及測試,以下為近似量測。 用於發送控制信號之單向傳輸時間45 1通常小於1毫秒, 經由使用者場所之來回行程路由452通常係使用乙太網路 上的易得之消費者級防火牆/路由器/NAT交換器而在約i毫 139849.doc •61 - 200949567 秒内完成。使用者ISP廣泛地改變其來回行程延遲453,但 在DSL及電纜數據機提供者之情況下,通常看見其在1〇毫 秒與25毫秒之間。通用網際網路41〇上之來回行程延時可 視訊務被如何路由及路線上是否存在任何故障(且此等問 題在下文加以論述)而極大地改變,但通常通用網際網路 提供相當最佳的路由且延時很大程度上係由光穿過光纖之 速度(給定至目的地之距離)來判定。如下文進一步論述, 已確定1〇〇〇英里作為期望將主機代管服務21〇遠離使用者 場所211置放的大致最遠距離。在1〇〇〇英里處(來回行程❿ 2000英里)’用於信號經由網際網路之實際傳輸時間為約 22毫秒。至主機代管服務21〇之WAN介面444通常為具有可 心略之延時的商業級光纖高速介面。因此,通用網際網路 延時454通常係在丨毫秒與1()毫秒之間。經由主機代管服務 21〇之單向路由455延時可在小於1毫秒内達成。伺服器術 通常將在小於一圖框時間(其在6〇 fps下為16 7毫秒)之時間 中《十算用於遊戲或應用程式之新圖框,因此16毫秒為將使 用的合理的最大單向延時456。在本文中所描述之視訊壓© 縮及曰汛壓縮演算法之最佳硬體實施中,壓縮7可在1毫 秒内完成。在次佳版本中’壓縮可花費多達6毫秒(當然, 更人L之版本可花費更長時間,但該等實施將影響來回行 程之、延時且將需要其他延時較短(例如,可減小經由通 用‘周際網路之可允許的距離)以維持7G毫秒-8G毫秒延時目 軚)。已經考慮網際網路454、使用者ISP 453及使用者場所 路由452之來回行程延時,因此剩餘的為視訊解壓縮458延 139849.doc •62· 200949567 犄,視訊解壓縮458延時取決於視訊解壓縮458是實施於專 用硬體中還是實施於用戶端器件415(諸如,pc或行動器 件)上之軟體中,可視顯示器之大小及解壓縮cpU2效能而 改變通常,解壓縮458花費1毫秒與8毫秒之間的時間。 • 因此,可藉由將在實踐中所見的所有最糟狀況之延時加 在起來判疋圖4a中所展示之系統之使用者可預期將經歷的 最糟狀況之來回行程延時。其為:1 + 1+25+22+i + i6+6+8=8〇 φ 毫秒。此外,實際上,在實踐中(具有下文所論述的防止 誤解之說明)’此大致為使用圖乜中所展示之系統之原型 版本(在美國使用現成的Windows pc作為用戶端器件及家 庭DSL及電纜數據機連接)所見的來回行程延時。當然,優 於最糟狀況之情況可導致短得多的延時,但不可依賴其來 開發廣泛使用之商業服務。 為了經由通用網際網路達成圖4b中所列出之延時,需要 用戶端415中之視訊壓縮器4〇4及視訊解壓縮器412(來自圖 Φ 4a)產生具有非常特定的特性之封包流,以使得經由自主 機代管服務210至顯示器件422之整個路徑所產生的封包序 列不經受延遲或過多肖包丟失,且詳言之,始終如一地落 在經由使用者之網際網路連接(經由WAN介面442及防火牆/ 路由器/NAT 433)而可用於使用者的頻寬之約束内。另 外,視訊壓縮器必須產生足夠強健之封包流,以使得其可 容忍在正常網際網路及網路傳輸中出現的不可避免的封包 丟失及封包重排序。 低延時視訊壓縮 139849.doc -63- 200949567 為了完成上述目標,一實施例採用新的視訊壓縮方法, 該方法降低用於傳輸視訊之延時及峰值頻寬要求。在描述 此等實施例之前’將關於圖5及圖6a至圖6b提供對當前視 訊壓縮技術之分析。當然,若使用者具備足以處理此等技 術所需之資料速率的頻寬’則此等技術可根據基本原理來 使用。注意’本文中不解決音訊壓縮,而是陳述音訊壓縮 係與視訊壓縮同時且同步地來實施。滿足用於此系統之要 求的先前技術音訊壓縮技術存在。 圖5說明用於壓縮視訊之一特定先前技術,其中由壓縮 _ 邏輯520使用特定壓縮演算法來壓縮每一個別視訊圖框 501-503以產生一系列經壓縮之圖框511_513。此技術之一 實施例係「運動JPEG」,其中根據聯合圖像專家群(JpEG) 壓縮演算法基於離散餘弦變換(DCT)來壓縮每一圖框。可 使用各種不同類型之壓縮演算法,然而,仍遵守此等基本 原理(例如,以小波為基礎之壓縮演算法,諸如JpEG_ 2000)〇 此類型壓縮之一問題在於:其減小了每一圖框之資料速 ® 率,但其不利用相繼圖框之間的類似性來減小總視訊流之 資料速率。舉例而言,如圖5中所說明,假定640x480x24 位元/像素=640*480*24/8/1024=900千位元組/圖框(KB/圖 框)之圖框速率,則對於給定品質之影像,運動JpE(J可能 僅將該流壓縮1/10,從而產生9〇 KB/圖框之資料流。在6〇 圖框7秒下,此將需要90 KB* 8位元*60圖框/秒=42.2 Mbps 之頻道頻寬’其對於美國現今幾乎所有的家庭網際網路連 139849.doc •64- 200949567 接而言將為極高之頻寬’且對於許多辦公室網際網路連接 而言為過高之頻寬。實際上,假定其在此種高頻寬之情況 下要求怪定資料流’且其將僅飼服—使㈣,則即使在辦 至AN環境中,其亦將消耗1〇〇 MbpS6太網路LAN之頻 寬的大百刀比及支援LAN之負擔沉重的乙太網路交換器。 因此,备與其他壓縮技術(諸如下文所描述之彼等技術)相 比較時,用於運動視訊之壓縮無效率。此外,使用有損壓 φ 縮演算法之單一圖框壓縮演算法(如JPEG及JPEG-2000)產 生在靜止影像中可能不引人注意的壓縮假影(例如,場景 中之密集樹葉内之假影可能不呈現為假影,因為眼並不確 切地知道密集樹葉應如何呈現)。但是,一旦場景係在運 動中,假影就可能突出,因為眼偵測到自圖框至圖框而改 變之假影,儘管假影係在場景之區域(在該區域中,假影 在靜止影像中可能不引人注意)中。此導致圖框序列中之 「背景雜訊」之感知,該「背景雜訊」之外觀與邊緣類比 ❹ TV接收期間可見的「雪」雜訊類似。當然,此類型之壓 縮仍可用於本文中所描述之特定實施例中’但一般而言, 為了避免場景中之背景雜訊,對於給定感知品質,需要高 資料速率(亦即,低壓縮比率)。 其他類型之麼縮(諸如’ H.264,或Windows媒體VC9、 MPEG2及MPEG4)在壓縮視訊流中均更有效,因為其利用 相繼圖框之間的類似性。此等技術均依賴於用於壓縮視訊 之相同的一般技術。因此,儘管將描述H.264標準,但相 同的一般原理適用於各種其他壓縮演算法。大量H.264壓 139849.doc -65- 200949567 縮器及解壓縮器可用’包括用於壓縮Η.264之x264開放源 軟體庫及用於解壓縮H.264之FFmpeg開放源軟體庫。 圖6a及圖6b說明例示性先前技術壓縮技術,其中由壓縮 邏輯620將一系列未經壓縮之視訊圖框5〇1_5〇3、559_561壓 縮成一系列「I圖框」611、671 ;「P圖框」612-613 ;及 「B圖框」670。圖6a中之垂直轴大體表示經編碼之圖框中 之每一者的所得大小(儘管該等圖框未按比例進行繪製)。 如上所述’熟習此項技術者良好地理解使用I圖框、B圖框 及P圖框之視訊寫碼。簡言之,〗圖框6丨丨為完全未壓縮之 圖框501的以DCT為基礎之壓縮(類似於如上所述的經壓縮 之JPEG影像)。P圖框612-613之大小通常顯著小於z圖框 611之大小’因為其利用先前I圖框或ρ圖框中之資料;亦 即’其含有指示先前I圖框或Ρ圖框之間的改變的資料。除 Β圖框使用隨後參考圖框中的圖框以及(可能地)之前參考 圖框中的圖框之外’ Β圖框670類似於Ρ圖框。 對於以下論述,將假定所要之圖框速率為6〇圖框/秒, 每一 I圖框為約160 Kb ’平均ρ圖框及β圖框為16 Kb且每隔 一秒產生一新的I圖框。在此組參數下,平均資料速率將 為:160 Kb+16 Kb*59=l.l Mbps。此資料速率適當地落在 用於至家庭及辦公室之許多當前寬頻帶網際網路連接之最 大資料速率内。此技術亦傾向於避免來自僅框内編碼之背 景雜訊問題’因為P圖框及B圖框追蹤圖框之間的差異,因 此壓縮假影傾向於不自圖框至圖框而呈現及消失,藉此減 少上文所描述之背景雜訊問題。 I39849.doc -66 * 200949567 上述類型之壓縮之一問題在於:儘管平均資料速率相對 低(例如,1.1 Mbps),但單一 I圖框可能花費若干個圖框時 間來傳輸。舉例而言,使用先前技術,2.2 Mbps網路連接 (例如,DSL或電纜數據機,其具有來自圖3&的最大可用資 料速率302之2.2 Mbps峰值)通常將足夠使視訊以M Mbps 串流’每60個圖框一 1 60 Kbps I圖框。此將藉由使解壓縮 器在解壓縮視訊之前將1秒視訊排入仔列來完成。在1秒 内,將傳輸1_1 Mb之資料,其將藉由2 2 Mbps最大可用資 料速率來容易地適應,即使假定可用資料速率可能週期性 地下降多達50%亦如此》遺憾地,此先前技術方法將由於 接收器處之1秒視訊緩衝而導致視訊之丨秒延時。此種延遲 對於許多先前技術應用程式(例如,線性視訊之回放)而言 足夠,但對於不可容忍大於7〇毫秒_8〇毫秒之延時的快動 作視訊遊戲而言其為極長之延時。 若進行嘗試來消除1秒視訊緩衝,其仍將不會導致用於Toslink) outputs audio digitally and outputs analog video via stereo analog interface 495. Round trip delay analysis ❹ Of course, in order to achieve the benefits of the front-end, the user's action of using the input device 421 and the back-and-forth delay between seeing the action on the display device should be no more than 7 milliseconds _8 milliseconds. . This delay must take into account all factors in the path from the input device 421 in the user premises 2U to the colocation service 2ι〇 and the return of the person to the user premises 211 to the display device 422. Figure 4b illustrates the various components and networks through which signals must travel, and above these components and the network is a timetable that lists exemplary delays that can be expected in actual implementation. Note that the map is simplified to only extend the important path routing. The following describes the routing of information for other features of the system. A double-headed arrow (eg 'arrow 453') indicates a round trip delay and a single: arrow (eg 'arrow 457') indicates a one-way delay, and "~" indicates an approximate measurement. ° should indicate that there will be a delay in the listed World situation i. In the case of the Big 1 situation, in the United States, use the cable modem connection to the user's location η 1 , these delays can be noted in the next paragraph III _ into ° X ' Note, although to the Internet Honeycomb wireless networks work in the systems shown, but most current US bee=bedding systems (such as EVD〇) incur very high latency and will not be able to achieve the delays shown by the money. However, these basic principles can be implemented on future cellular technologies that may be able to implement this level of delay. 139849.doc • 58- 200949567 Beginning with the input device 421 at the user premises 211, once the user actuates the input device 421, a user control signal is sent to the client 415 (which may be a standalone device such as a set top box, or It may be software or hardware implemented in another device such as a pc or mobile device, and it is packetized (in UDP format in one embodiment) and given a destination address for the packet to reach the colocation Service 210. The packet will also contain information indicating which user the control signal is from. The control signal packets are then forwarded to the WAN interface 442 via a firewall/router/φ NAT (Network Address Translation) device 443. The WAN interface 442 is an interface device provided to the user premises 211 by the user's ISP (Internet Service Provider). The WAN interface 442 can be a TEL or DSL modem, a WiMax transceiver, a fiber optic transceiver, a cellular data interface, an Internet 〇ver-P〇werline interface, or many interfaces to the Internet. Any other interface in . Additionally, firewall/router/NAT device 443 (and (possibly) WAN interface 442) can be integrated into client 415. One such φ instance would be a mobile phone that includes software for implementing the functionality of the home or office client 415' and for wirelessly routing and connecting to the Internet via a standard (eg, 802.11g) Components. The WAN interface 442 then routes the control signals to a "presence point" 441 for the user's Internet service provider (ISSP), which is a WAN transporter that provides connectivity to the user premises 211. A facility with an interface between a universal Internet or a private network. The nature of the point of existence will vary depending on the nature of the Internet service provided. For DSL, it will typically be the central office of the telephone company to which the DSLAM is located. For the 139849.doc •59- 200949567 cable modem, it will typically be the cable multi-system operator (MS〇) headend. For a honeycomb system, it will typically be the control room associated with the honeycomb tower. But regardless of the nature of the point, it will then route the control signal packet to the universal internet 410. The control signal packets are then routed to the WAN interface 444 to the host escrow service 210 via the interface that is most likely to be the fiber optic transceiver interface. WAN 444 will then route the control signal packets to routing logic 409 (which can be implemented in many different ways, including the Ethernet parent and routing servers), routing logic 4〇9 to estimate the user's address and will control Route L is routed to the correct server for a given user.伺服 The server 402 then treats the control letter i, such as the chorus, as input to the game or application software executing on the vocabulary 4 〇 2 and uses the control signals to process the next frame of the game or application. Once the next frame is generated, the video and audio self-feeding suit H4()2 is output to the video compressor 4〇4. Video and audio can be output to the compressor program via various components. First, the attenuator 404 can be placed in the feeder 4〇2 so that compression can be performed at the local end within the feeder 402. Alternatively, it may be connected via a network to the network (either a private network between the server and the video compressor 404, or a network via a shared network such as the SAN 403) (such as, The Ethernet connection) outputs video and/or audio in a packetized form. Alternatively, the video content benefit 402 can be output via a video output connector (such as a DVI or a steal connector) and then captured by the video compressor 4〇4. &, can be used to output audio from the server as digital audio (for example, via t〇sunk or S_F connectors) or analog audio ' analog audio is digitized and encoded by the audio compression logic within the video compressor. 139849.doc • 60. 200949567 / Once the video compressor 404 has captured the video frame from the server 4〇2 and the audio generated during the frame time, the video compressor will use the technique described below. Compress video and audio. Once the video and audio are compressed, they are packetized by an address to send it back to the user's client 415 and routed to the WAN interface. The wan interface 444 then goes through the universal Internet. The path 41 and the audio packet are routed, and the universal network 41 0 routes the video and audio packets to the presence point _ 441 of the user, and the presence point 441 routes the video and audio packets to the user's place. The WAN interface 442, the WAN interface 442 routes the video and audio packets to the firewall/router/NAT device 443, and the firewall/router/NAT device 443 then routes the video and audio packets to the client 415. The user 4 41 5 decompresses the video and audio, and then displays the video on the display device 422 (or the built-in display device of the user terminal) and sends the audio to the display device 422 or to a separate amplifier/speaker or to the user terminal. In the amplifier / speaker. ❹ In order for the user to feel that the entire process just described is perceptually free of lag, the 'round trip delay' needs to be less than 70 milliseconds or 8 milliseconds. Some of the delay delays described in the return trip path are controlled by the colocation service 21 and/or the user' while other delay delays are not controlled by the colocation service 21 and/or the user. Nonetheless, based on the analysis and testing of a large number of real-world situations, the following are approximate measurements. The one-way transmission time 45 1 for transmitting control signals is typically less than 1 millisecond, and the round-trip routing 452 via the user premises is typically performed using an easy-to-access consumer-grade firewall/router/NAT switch on the Ethernet. i 139849.doc • 61 - 200949567 completed in seconds. The user ISP extensively changes its round trip delay 453, but in the case of DSL and cable modem providers, it is typically seen between 1 and 25 milliseconds. The back-and-forth delay of the Universal Internet 41 is how the routing is routed and whether there are any faults on the route (and these issues are discussed below), but the general Internet is usually quite optimal. Routing and delay are largely determined by the speed at which light passes through the fiber (the distance given to the destination). As discussed further below, 1 mile has been determined as the approximate farthest distance from which the host escrow service 21 is expected to be placed away from the user premises 211. At 1 mile (round trip ❿ 2000 miles), the actual transmission time for signals via the Internet is approximately 22 milliseconds. The WAN interface 444 to the hosted service is typically a commercial-grade fiber optic high-speed interface with a decisive delay. Therefore, the universal internet latency 454 is typically between 丨 milliseconds and 1 () milliseconds. The one-way routing 455 delay via the colocation service 21 can be achieved in less than 1 millisecond. The server will usually be used for a new frame of the game or application at less than one frame time (which is 16 7 milliseconds at 6 〇 fps), so 16 milliseconds is the reasonable maximum that will be used. One-way delay 456. In the best hardware implementation of the video compression and compression algorithm described herein, compression 7 can be completed in 1 millisecond. In the next best version, 'compression can take up to 6 milliseconds (of course, the version of L can take longer, but these implementations will affect the round trip, delay and will require other delays shorter (for example, can be reduced) Small through the general 'internal distance of the weekly network to maintain the 7G milliseconds - 8G milliseconds delay target). The round trip delay of Internet 454, user ISP 453 and user location route 452 has been considered, so the rest is video decompression 458 extension 139849.doc • 62· 200949567 犄, video decompression 458 delay depends on video decompression Whether the 458 is implemented in a dedicated hardware or in a software implemented on a client device 415 (such as a PC or a mobile device), the size of the visual display and the decompression of the cpU2 performance are changed. Generally, decompression 458 takes 1 millisecond and 8 milliseconds. Between the time. • Therefore, the worst-case back-and-forth delay that the user of the system shown in Figure 4a can expect will be expected by adding the delays of all the worst conditions seen in practice. It is: 1 + 1+25+22+i + i6+6+8=8〇 φ milliseconds. In addition, in practice, in practice (with the misunderstanding described below) 'This is roughly a prototype version of the system shown in Figure ( (using the ready-made Windows PC as a client device and home DSL in the US) Cable data machine connection) See the round trip delay. Of course, situations that are better than the worst can lead to much shorter delays, but you can't rely on them to develop widely used business services. In order to achieve the delays listed in FIG. 4b via the universal internet, the video compressor 4〇4 and the video decompressor 412 (from FIG. Φ 4a) in the client 415 are required to generate a packet stream having very specific characteristics. So that the sequence of packets generated via the entire path from the colocation service 210 to the display device 422 is not subject to delay or excessive packet loss, and in detail, consistently falls over the Internet connection via the user (via The WAN interface 442 and firewall/router/NAT 433) can be used within the constraints of the user's bandwidth. In addition, the video compressor must generate a sufficiently robust packet stream to withstand the inevitable packet loss and packet reordering that occurs in normal Internet and network transmissions. Low Latency Video Compression 139849.doc -63- 200949567 In order to accomplish the above objectives, an embodiment employs a new video compression method that reduces the delay and peak bandwidth requirements for video transmission. Prior to describing such embodiments, an analysis of current video compression techniques will be provided with respect to Figures 5 and 6a through 6b. Of course, if the user has a bandwidth sufficient to handle the data rate required by such techniques, then such techniques can be used in accordance with the basic principles. Note that the audio compression is not addressed in this document, but rather that the audio compression is implemented simultaneously and synchronously with video compression. Prior art audio compression techniques that meet the requirements for this system exist. Figure 5 illustrates a particular prior art for compressing video in which each individual video frame 501-503 is compressed by compression_logic 520 using a particular compression algorithm to produce a series of compressed frames 511-513. One embodiment of this technique is "Motion JPEG" in which each frame is compressed based on a Discrete Cosine Transform (DCT) according to the Joint Image Experts Group (JpEG) compression algorithm. Various different types of compression algorithms can be used, however, these basic principles are still adhered to (for example, wavelet-based compression algorithms such as JpEG_2000). One of the problems with this type of compression is that it reduces each figure. The frame's data rate is high, but it does not take advantage of the similarity between successive frames to reduce the data rate of the total video stream. For example, as illustrated in Figure 5, assuming a frame rate of 640x480x24 bits/pixel = 640*480*24/8/1024=900 kilobytes/frame (KB/frame), A quality image, motion JpE (J may only compress the stream by 1/10, resulting in a 9 〇 KB/frame data stream. In 7 seconds, this will require 90 KB* 8 bits* 60 frames per second = 42.2 Mbps channel bandwidth 'for almost all home Internet connections in the United States today 139849.doc •64- 200949567 will be extremely high bandwidth' and for many office internet In terms of connection, it is too high a bandwidth. In fact, if it is required to blame the data stream in the case of such a high frequency width and it will only feed the device - (4), even if it is in the AN environment, it will It consumes a bandwidth of 1 〇〇MbpS6 too wide LAN LAN and a heavy Ethernet switch that supports LAN. Therefore, it is compared with other compression technologies (such as those described below). When it is used for motion video compression inefficiency. In addition, a single frame compression algorithm using lossy pressure φ reduction algorithm Such as JPEG and JPEG-2000) produce compression artifacts that may be unobtrusive in still images (for example, artifacts in dense foliage in a scene may not appear as artifacts, because the eye does not know exactly how dense foliage should be How to render.) However, once the scene is in motion, the artifact may be prominent, because the eye detects artifacts that change from frame to frame, although the artifact is in the area of the scene (in that area, False shadows may not be noticeable in still images. This leads to the perception of "background noise" in the sequence of frames, the appearance and edge analogy of the "background noise" 「 "snow" visible during TV reception Similarly, this type of compression can still be used in the specific embodiments described herein 'but in general, to avoid background noise in the scene, a high data rate is required for a given perceived quality (ie, Low compression ratio. Other types of shrinkage (such as 'H.264, or Windows Media VC9, MPEG2, and MPEG4) are more efficient in compressed video streams because they take advantage of the similarity between successive frames. The technology relies on the same general techniques for compressing video. Therefore, although the H.264 standard will be described, the same general principles apply to various other compression algorithms. A large number of H.264 compressions 139849.doc -65- 200949567 And decompressor available 'includes the x264 open source software library for compression 264.264 and the FFmpeg open source software library for decompressing H.264. Figures 6a and 6b illustrate an exemplary prior art compression technique in which The compression logic 620 compresses a series of uncompressed video frames 5〇1_5〇3, 559_561 into a series of "I frames" 611, 671; "P frames" 612-613; and "B frames" 670. The vertical axis in Figure 6a generally represents the resulting size of each of the encoded frames (although the frames are not drawn to scale). As described above, those skilled in the art are well aware of the video writing codes using the I frame, the B frame, and the P frame. In short, frame 6 is a DCT-based compression of frame 501 that is completely uncompressed (similar to a compressed JPEG image as described above). The size of P-frames 612-613 is typically significantly smaller than the size of z-frame 611 'because it utilizes data from previous I-frames or ρ-frames; that is, 'which contains an indication between the previous I-frame or frame Changed information. The frame 670 is similar to the frame except that the frame is used in the subsequent reference frame and (possibly) before the reference frame in the frame. For the following discussion, it will be assumed that the desired frame rate is 6 frames/sec, and each I frame is about 160 Kb. The average ρ frame and the β frame are 16 Kb and a new I is generated every second. Frame. Under this set of parameters, the average data rate will be: 160 Kb + 16 Kb * 59 = l.l Mbps. This data rate falls appropriately within the maximum data rate for many current broadband Internet connections to homes and offices. This technique also tends to avoid background noise problems from intra-frame coding only. Because the difference between the P-frame and the B-frame tracking frame, the compression artifact tends to appear and disappear from the frame to the frame. To reduce the background noise problem described above. I39849.doc -66 * 200949567 One of the problems with compression of the above type is that although the average data rate is relatively low (for example, 1.1 Mbps), a single I frame may take several frame times to transmit. For example, using prior art, a 2.2 Mbps network connection (eg, a DSL or cable modem with a 2.2 Mbps peak from the largest available data rate 302 of Figure 3&) would typically be sufficient to stream video at M Mbps ' One 60 Kbps I frame per 60 frames. This will be done by having the decompressor queue the 1 second video before decompressing the video. Within 1 second, 1_1 Mb of data will be transmitted, which will be easily accommodated by the 2 2 Mbps maximum available data rate, even if it is assumed that the available data rate may periodically drop by as much as 50%. The technical method will result in a leap second delay of the video due to the 1 second video buffer at the receiver. This delay is sufficient for many prior art applications (e.g., playback of linear video), but it is an extremely long delay for fast motion video games that cannot tolerate delays greater than 7 milliseconds _ 8 milliseconds. If you try to eliminate the 1 second video buffer, it will still not be used for
框。(此之一後果為: 方法將為消除B圖框且僅使用J圖框及p圖 後果為I對於給定品質位準’資料速率將增 139849.doc •67· 200949567 加,但出於此實例中之一致性起見,繼續假定每―丨圖框 之大小為160 Kb且平均P圖框之大小為16 Kb,且因此資料 速率仍為1.1 Mbps^此方法消除了由3圖框引入的不可避 免之延時,因為每一P圖框之解碼僅依賴於先前所接收之 圖框。此方法仍存在的問題在於:Ϊ圖框比平均p圖框大得 多,以致在低頻寬頻道上(如大多數家庭中及許多辦公室 中典型的),I圖框之傳輸添加實質延時。此在圖讣中加以 說明。視訊流資料速率624低於可用最大資料速率621(除 對於I圖框之外),其中ϊ圖框所需之峰值資料速率623遠超 過可用最大資料速率622(且甚至超過額定最大資料速率 621)» P圖框所需之資料速率小於可用最大資料速率。即 使在2.2 Mbps之可用最大資料速率峰值穩定地保持在其2 2 Mbps峰值速率,亦將花費16〇 Kb/22 Mb=7i毫秒來傳輸工 圖框,且若可用最大資料速率622下降5〇%(1」Mbps),則 將花費142毫秒來傳輸了圖框。因此,傳輸1圖框中之延時將 洛在71毫秒與142毫秒之間的某處。此延時添加至圖4b中 所識別之延時(該等延時在最糟狀況下總計達7〇毫秒),因 此,此將導致自使用者致動輸入器件421之時刻直至影像 呈見於顯示器件422上的為141 -222毫秒之總來回行程延 時’其極高。且若可用最大資料速率下降至低於2 2 Mbps,則延時將進一步增加。 亦注意’以遠超過可用資料速率622之峰值資料速率623 使isp「堵塞」通常存在嚴重後果。不同isp中之設備將不 同地表現,但當以比可用資料速率622高得多的資料速率 I39849.doc 200949567 接收封包時,以下行為在DSL及電纜數據機ία當中相當 普遍:(a)藉由將封包排入佇列而使封包延遲(引入延時卜 (b)丟棄-些或所有封包,⑷停用連接歷時—時間週期(最 . 可能因為1SP擔憂其為惡意攻擊,諸如「否認服務」攻 • 擊)°因此’以全資料速率傳輸封包流(具有諸如圖6b中所 展示之彼等特性的特性)並非為可行的選項。可在主機代 管服務將峰值623排人㈣且以低於可用最大資料速 〇 #之資料速率進行發送’從而引入前-段中所描述的不可 接受之延時。 另外’圖6b中所展示之視訊流資料速率序列624為非常 「馴服的㈣e)」視訊流資料速率序列,且將係由於塵縮 來自視訊序列之視訊而預期產生的該種資料速率序列,該 視訊序列並不改變报大且具有非常少之運動(例如,如在 視訊電話會議中將係普遍的,在視訊電話會議中,相機處 於固定位置中且具有非常少之運動,且場景(例如,就座 Φ 的人談話)中之物件展示較少運動)。 圖6c中所展示之視訊流資料速率序列㈣為自且有多得 多的動作之視訊(諸如,可能在電影或視訊遊戲/中或在某 一應用程式軟體中產生)預期可見的典型序列。^,⑽ 圖框蜂值633之外,亦存在相當大且在許多場合上^可 用最大資料速率之Ρ圖框峰值(諸如,奶及636)。儘管此 等Ρ圖框峰值並不如I圖框峰值一 功^山 值I相畲大,但其仍極大以 致不此由頻道以全資料速率來載運,且如同旧框峰值一 樣,ρ圖框峰值必須緩慢地傳輸(藉此增加延時卜 139849.doc -69- 200949567 在-高頻寬頻道(例如,100 Mbps LAN,或高頻寬⑽ Mbps私用連接)上,網路將能夠容忍諸如I圖框峰值633或p 圖框峰值636之大峰值’但原則Λ,可維持低延時:但 是,該等網路經常在許多使用者當中共用(例如,在辦公 室裱境中),且該「有峰」資料將影響LAN之效能,尤其 在網路訊務經路由至私用共用連接(例如,自遠端資料中 心至辦公室)之情況下。首先,記住此實例係下 640X480像素的相對低解析度的視訊流的實例。60 fps下之 1920x1080的HDTV流容易由現代電腦及顯示器來處理,且 60 fps下之2560x1440解析度顯示器日益可用(例如, 公司之30"顯示器)。使用Η Μ#壓縮,ό〇加下之 1920x1080之高動作視訊序列可能需要4 5 Mbps以獲得合 理品質位準。若假定I圖框峰值為標稱資料速率之1〇倍, 則其將產生45 Mbps峰值,以及較小但仍相當大的p圖框峰 值。若若干個使用者正在同一 1〇〇 Mbps網路(例如,辦公 室與資料中心之間的私用網路連接)上接收視訊流,則容 易看見來自若干使用者之視訊流之峰值可如何碰巧對準, 從而淹沒網路之頻寬,且可能淹沒網路上支援使用者之交 換器的底板之頻寬。即使在超高速乙太網路之狀況下,若 足夠的使用者具有同時對準的足夠峰值,則其可淹沒網路 或網路交換器。此外,一旦256〇xl44〇解析度視訊變得更 常見,平均視訊流資料速率就可能為9.5 Mbps,從而或許 產生95 Mbps峰值資料速率。不用說,資料中心與辦公室 之間的1 00 Mbps連接(其在現今為格外快之連接)將完全被 139849.doc •70- 200949567 來自單一使用者之峰值訊務擊潰。因此,即使LAN及私用 網路連接對有峰串流視訊可具有更高容忍度,具有高峰值 之串流視訊亦係不需要的且可能需要辦公室之汀部門之特 殊計劃及適應。 當然, 對於標準線性視訊應用程式,此等問題並非問 題’因為資料速率在傳輸點「經平滑化」且用於每一圖框 之資料低於最大可用資料速率622,且在解壓縮I圖框、pframe. (One of the consequences is: The method will be to eliminate the B frame and only use the J frame and the p image. The result is I for a given quality level. The data rate will increase by 139849.doc •67· 200949567 plus, but for this For consistency in the example, it is assumed that the size of each frame is 160 Kb and the average P frame size is 16 Kb, and therefore the data rate is still 1.1 Mbps ^ This method eliminates the introduction of the 3 frame The inevitable delay, because the decoding of each P frame depends only on the previously received frame. The problem with this method is that the frame is much larger than the average p frame, so that it is on the low frequency wide channel (such as In most homes and in many offices, the transmission of the I-frame adds a substantial delay. This is illustrated in Figure 。. The video stream data rate 624 is lower than the maximum data rate 621 available (except for the I frame). , where the peak data rate 623 required by the frame exceeds the maximum data rate 622 (and even exceeds the maximum data rate of 621). » The data rate required for the P frame is less than the maximum data rate available. Even at 2.2 Mbps. maximum The material rate peak is steadily maintained at its peak rate of 2 2 Mbps, and it will take 16 〇Kb/22 Mb=7i milliseconds to transmit the work frame, and if the maximum data rate 622 is reduced by 5〇% (1” Mbps), then It will take 142 milliseconds to transfer the frame. Therefore, the delay in the transmission 1 frame will be somewhere between 71 milliseconds and 142 milliseconds. This delay is added to the delay identified in Figure 4b (the delays are at the most In the case of a bad condition, the total is up to 7 〇 milliseconds, so this will result in a total round trip delay of 141 - 222 milliseconds from the moment the user actuates the input device 421 until the image is seen on the display device 422. If the maximum available data rate drops below 2 2 Mbps, the delay will increase further. Also note that 'the peak data rate 623 far exceeds the available data rate 622. The isp "blocking" usually has serious consequences. The devices in different isps will be different. Performance, but when receiving packets at a data rate much higher than the available data rate 622, I39849.doc 200949567, the following behavior is quite common among DSL and cable modems: (a) by placing packets in 伫And delay the packet (introduction delay (b) discard some or all packets, (4) disable connection duration - time period (most. may be because 1SP is concerned about malicious attacks, such as "denial service" attack) Transmitting packet streams at full data rate (with features such as those shown in Figure 6b) is not a viable option. The host escrow service can rank the peak 623 (four) and below the available maximum data speed. The data rate is transmitted 'and thus introduces the unacceptable delay described in the pre-segment. In addition, the video stream data rate sequence 624 shown in Figure 6b is a very "tamed (four) e)" video stream data rate sequence and will The sequence of data rates expected to occur due to dust reduction from video of the video sequence, the video sequence does not change the report size and has very little motion (eg, as would be common in video teleconferences, in video telephony) During the conference, the camera is in a fixed position with very little motion, and the objects in the scene (eg, the person sitting in the seat Φ show less movement). The video stream data rate sequence (4) shown in Figure 6c is a typical sequence that is expected to be visible from video motions that are much more active (such as may be generated in a movie or video game/in or in an application software). ^, (10) In addition to the frame bee 633, there are also quite large and high-resolution data frame peaks (such as milk and 636) that can be used on many occasions. Although the peak value of such a frame is not as large as the peak value of the I frame, it is still so large that it is not carried by the channel at the full data rate, and like the peak of the old frame, the peak of the ρ frame Must be transmitted slowly (by increasing latency 139849.doc -69- 200949567 on - high-bandwidth channels (for example, 100 Mbps LAN, or high-bandwidth (10) Mbps private connections), the network will be able to tolerate peaks such as I-frames 633 or p frame peak 636 peaks 'but in principle, low latency can be maintained: however, these networks are often shared among many users (for example, in an office environment), and the "peak" data Will affect the performance of the LAN, especially if the network traffic is routed to a private shared connection (for example, from a remote data center to the office). First, remember that this example is relatively low resolution of 640x480 pixels. An example of video streaming. The 1920x1080 HDTV stream at 60 fps is easily handled by modern computers and displays, and the 2560x1440 resolution display at 60 fps is increasingly available (for example, the company's 30" display). Using Η Μ# The 1920x1080 high motion video sequence may require 4 5 Mbps to obtain a reasonable quality level. If the I frame peak is assumed to be 1 times the nominal data rate, it will produce a 45 Mbps peak, and Small but still quite large p-frame peaks. If several users are receiving video streams on the same 1 Mbps network (for example, a private network connection between the office and the data center), it is easy to see How the peak of the video stream of several users can be aligned, which drowns the bandwidth of the network and may overwhelm the bandwidth of the backplane of the switch supporting the user on the network, even in the case of ultra-high speed Ethernet. If enough users have enough peaks for simultaneous alignment, they can flood the network or network switch. In addition, once 256〇xl44〇 resolution video becomes more common, the average video stream data rate may be 9.5. Mbps, which may produce a peak data rate of 95 Mbps. Needless to say, the 100 Mbps connection between the data center and the office (which is now an extraordinarily fast connection) will be completely 139849.doc • 70- 200949567 Peak traffic crash from a single user. Therefore, even if LAN and private network connections are more tolerant to peak streaming video, streaming video with high peaks is not required and possible Special plans and adaptations for the office's Ting department are required. Of course, for standard linear video applications, these issues are not a problem' because the data rate is "smoothed" at the transmission point and the data for each frame is below the maximum available. Data rate 622, and decompress I frame, p
圖框及B圖框序列之前,用戶端中之緩衝器儲存I圖框、p 圖框及B圖框序列。因此,網路上之資料速率保持接近於 視讯流之平均資料速率。遺憾地,此引入延時,即使不使 用B圖框,對於諸如需要快回應時間之視訊遊戲及應用程 式的低延時應用程式而言,彼亦係不可接受的。 用於減輕具有高峰值之視訊流 疋刖孜術解決方法係 使用常常被稱作「值定位元速率」(CBR)編碼之技術。儘 管術語C B R看來似乎暗示將所有圖框壓縮以具有相同位元 速率(亦即,大小),但其經常提及的為I縮範例,在壓縮 範例中’允許跨越特定數目之圖框(在吾人之狀況下,㈣ 圖框)的最大位元速率。舉例而t,在圖6。之狀況下,若 對編碼施加CBR約束(其將位元速率限於(例如)額定最大資 料速率621之观)’則壓縮演算法將限制該等圖框中之: 一者的壓縮,以使得通常將使用額定最大資料速率621之 70%以上來壓縮的任何圖框將以較少位元來壓縮。此之社 果為··將使通常將需要更多位元來維持給定品質位準之圖。 框「極度缺乏」位元且彼等圖框 乏衫像品質將比不需要比 139849.doc •71 · 200949567 最大資料速率621之70%多的位元的其他圖框之影像 品質糟。此方法對於特定類型的經壓縮視訊(其中(a)預期 較夕運動或%景改變且(b)使用者可接受週期性的品質降 級)可產生可接受的結果。適合CBR之應用的良好實例為 視訊電話會議’因為存在較少峰值,且在品質暫時降級之 清况下(例如,若使相機掃視,從而導致顯著場景運動及 大峰值’則在掃視期間可能不存在足夠的位元用於高品質 影像壓縮,其將導致降級的影像品質),大多數使用者τ 接受:遺懷地’ CBR並非良好地適合具有高複雜度之場景_ 或大量運動及/或需要合理恆定之品質位準的許多其他應 用0 ’、 在實施例中所使用之低延時壓縮邏輯4〇4使用若干不 ,技術來解決串流低延時經壓縮視訊同時維持高品質之許 多問題。首先,低延時壓縮邏輯4〇4僅產生Z圖框及p圖 框,藉此緩解等待若干個圖框時間來解碼每一叩框的需 要。。另外’如圖7a中所說明,在一實施例中,低延時&縮 邏輯404將每一未經壓縮之圖框7〇1_76()再分成一系列「影⑩ 像塊㈣」且將每-影像塊個職編碼為頂框或p圖框^ 在本文中將該群經壓縮之Ϊ圖框及ρ圖框稱作「r圖框」 77〇 .在圖7a中所展不之特定實例中’將每一未經壓 縮之圖框再分成4χ4矩陣的16個影像塊。然而,此等基= 原理不限於任何特定再分機制。 ^ C例中’低延時I縮邏輯4〇4將視訊圖框劃分成 許多衫像塊,且將來自每_圖框之—影像塊編碼(亦即, 139849.doc •72· 200949567 壓縮)為i圖框(亦即,將該影像塊壓縮,好像其為全影像之 大小之1/16的單獨視訊圖框,且用於此「迷你型」圖框之 壓縮為I圖框壓縮)並將剩餘影像塊編碼為P圖框(亦即,用 . 於每一「逑你型」1/16圖框之壓縮為P圖框壓縮)。經壓縮 . 為1圖框之影像塊及經壓縮為P圖框之影像塊將分別被稱作 I〜像塊」及「P影像塊」。隨著每一相繼視訊圖框而改 變待編碼為I影像塊之影像塊。因此,在給定圖框時間 Φ 中,視訊圖框中之該等影像塊中僅一影像塊為I影像塊, X專景^/像塊中之剩餘者為p影像塊。舉例而言,在圖h 中,未經壓縮之圖框701之影像塊〇經編碼為〗影像塊1〇且剩 餘的1-15影像塊經編碼為p影像塊(p〗至u以產生r圖框 711。在下一個未經壓縮之視訊圖框7〇2中,未經壓縮之圖 框7 01之影像塊丨經編碼為〗影像塊Σ丨且剩餘的影像塊〇及2至 15經編碼為Ρ影像塊(Ρ〇,及Ρ2至Ρ〗5)以產生R圖框712。因 此,用於影像塊之I影像塊及卩影像塊在相繼圖框上逐 ❿ 在時間上交錯。該過程繼續,直至產生R影像塊77〇(矩陣 中,末影像塊經編碼為!影像塊(亦即,Μ為止。該過程 接著重新開始,從而產生諸如圖框7n(亦即,對於影像塊 〇 ’編則影像塊)等之另_R圖框。儘管圖中未說明,但 在K施例中,R圖框之視訊序列之第一 R圖框僅含有工影 像塊^即,以使得隨後之p圖框具有參考影像資料(自其 開始計算運動))。或者,在一實施例中,啟動序列使用與 ^常相同的!影像塊型樣,但不包括用於尚未連同ι影像塊 一起編碼m彡像塊的P影像塊1言之,在第d影像 139849.doc •73· 200949567 塊到達之前不連同任何資料—起編碼特定影像塊,藉此避 免圖9a中的視訊流資料速率934中之啟動峰值,其在下文 進一步詳細說明。此外,如Μ ϋX τ π i r所返各種不同大小及形狀 可用於該等影像塊同時仍遵守此等基本原理。Before the frame and B frame sequence, the buffer in the client side stores the I frame, the p frame and the B frame sequence. Therefore, the data rate on the network remains close to the average data rate of the video stream. Unfortunately, this introduction delay, even if the B-frame is not used, is unacceptable for low-latency applications such as video games and applications that require fast response times. The technique used to mitigate video streams with high peaks is a technique often referred to as "value-located meta-rate" (CBR) encoding. Although the term CBR appears to imply that all frames are compressed to have the same bit rate (ie, size), it is often referred to as the I-shrinking paradigm, which in the compression paradigm 'allows a certain number of frames to be crossed (in In the case of our person, (4) the maximum bit rate of the frame. For example and t, in Figure 6. In the case where a CBR constraint is applied to the code (which limits the bit rate to, for example, the nominal maximum data rate 621), then the compression algorithm will limit the compression of one of the frames: Any frame that will be compressed using more than 70% of the nominal maximum data rate 621 will be compressed with fewer bits. The result of this is that it will usually require more bits to maintain a given level of quality. The frame is "extremely lacking" and the quality of the frame is less than that of the other frames of the 139849.doc •71 · 200949567 maximum data rate of 621. This method produces acceptable results for a particular type of compressed video (where (a) expected eve movement or % scape change and (b) user accepts periodic quality degradation. A good example of a suitable CBR application is a video conference call' because there are fewer peaks and the quality is temporarily degraded (for example, if the camera is swept, resulting in significant scene motion and large peaks), it may not be during the panning. There are enough bits for high-quality image compression, which will result in degraded image quality.) Most users τ accept that: 'CBR is not well suited for scenes with high complexity _ or a lot of motion and/or Many other applications that require a reasonably constant quality level 0', the low-latency compression logic used in the embodiment 4〇4 uses a number of techniques to solve the many problems of streaming low-latency compressed video while maintaining high quality. First, the low-latency compression logic 4〇4 only generates Z-frames and p-frames, thereby alleviating the need to wait for several frame times to decode each frame. . In addition, as illustrated in Figure 7a, in one embodiment, the low latency & reduction logic 404 subdivides each uncompressed frame 7〇1_76() into a series of "shadow 10 blocks (four)" and will each - The image block is coded as a top frame or a p frame. ^ In this paper, the group of compressed frames and ρ frames are called "r frames". 77. Specific examples not shown in Figure 7a In 'replace each uncompressed frame into 16 image blocks of 4χ4 matrix. However, these base = principles are not limited to any particular sub-dividing mechanism. ^ In the C example, 'low-latency I-reduction logic 4〇4 divides the video frame into a number of jersey blocks, and encodes the image block from each frame (ie, 139849.doc •72·200949567) i frame (ie, compressing the image block as if it were 1/16 of the size of the full image, and the compression for this "mini" frame is I frame compression) and The remaining image blocks are encoded as P-frames (that is, compressed by the P-frame for each "逑" type 1/16 frame). Compressed. Image blocks that are 1 frame and image blocks that are compressed into P frames will be referred to as I~blocks and P blocks. The image block to be encoded as an I image block is changed with each successive video frame. Therefore, in a given frame time Φ, only one image block in the image block in the video frame is an I image block, and the rest of the X scenes/image blocks are p image blocks. For example, in Figure h, the image block of uncompressed frame 701 is encoded as image block 1 and the remaining 1-15 image blocks are encoded as p image blocks (p to u to generate r Block 711. In the next uncompressed video frame 7〇2, the uncompressed frame 71 is encoded as an image block and the remaining image blocks and 2 to 15 are encoded. For example, the image block (Ρ〇, and Ρ2 to Ρ5) is used to generate the R frame 712. Therefore, the I image block and the 卩 image block for the image block are successively staggered in time on successive frames. Continue until R image block 77 is generated (in the matrix, the last image block is encoded as a ! image block (ie, Μ. The process then restarts, resulting in, for example, frame 7n (ie, for image block 〇 ' Editing the image block) and other _R frames. Although not illustrated in the figure, in the K example, the first R frame of the video sequence of the R frame contains only the image block ^, so that The p-frame has reference image data (from which motion is calculated). Or, in one embodiment, the start sequence is used ^often the same! Image block type, but does not include a P block for encoding m彡 blocks that have not been coded together with the ι image block. In the case of the d image 139849.doc •73· 200949567, the block does not come together. Any data - encoding a particular image block, thereby avoiding the on-shot peak in the video stream data rate 934 in Figure 9a, which is described in further detail below. Further, various sizes and shapes such as Μ X τ π ir can be used for These image blocks still adhere to these basic principles.
在用戶端415上執行之視訊解壓縮邏輯412解壓縮每一影 像塊,好像其為小I圖框及p圖框之單獨視訊序列,且接著 將每一影像塊再現給驅動顯示器件422之圖框緩衝器。舉 例而言,使用來自R圖框川至77〇之來解壓縮並再現 視訊影像之影像塊〇。類似地,使用來自R圖框7ιι至77〇之The video decompression logic 412 executing on the client 415 decompresses each image block as if it were a separate video sequence of the small I frame and the p frame, and then reproduces each image block to the map of the drive display device 422. Frame buffer. For example, the image block from the R frame is used to decompress and reproduce the video image. Similarly, use from R frame 7 to 87
來重建影像塊卜等#。如上所述,Z圖框及p圖框之 解壓縮係此項技術以所熟知的,且旧像塊及p影像塊之 解壓縮可藉由使視訊解壓縮器之多個執行個體在用戶端 415上執行來完成。儘管倍增過程看來似乎增加用戶端化 上之计算負擔,但實際上其不會增加用戶端々Μ上之計算 負擔’因為影像塊本身成比例地較小(相對於額外處理: 數目而言)’因此所顯示之像素之數目㈣,好像存在一 個處理且使用習知的全大小之丨圖框及p圖框。 此R圖框技術顯著減輕通常與〗圖框相關聯之頻寬峰值 (圖6b及圖6e中所說明)’因為任何料圖框主要係由通常 比I圖框小之P圖框構成。舉例而言,再次假定典心圖框 為160 Kb,則圖7a中戶斤說明之圖框中之每一者的j影像塊 將為此量之大細6或10 Kbe類似地,假定典型p圖框為 Μ Kb,則用於圖7a中所說明之影像塊中之每—者的p圖框 可為大致1 Kb。最終結果為約1〇Kb+15iM Kb=25 圖 139849.doc -74- 200949567 框。因此,每一60圖框序列將係25 Kb*60=1.5 Mbps。因 此,在60圖框/秒下,此將需要能夠維持丨5 Mbps之頻寬的 頻道,但由於I影像塊係貫穿6〇圖框間隔而分散而使得具 ' 有低得多的峰值。 - 注意,在先前實例中,在用於I圖框及P圖框之相同假定 資料速率情況下,平均資料速率為i」Mbps。此係因為在 先前實例中,每隔60個圖框時間僅引入一新1圖框,而在 φ 此實例中,構成1圖框之16個影像塊在16個圖框時間中循 環,且因此,每隔16個圖框時間引入一 1圖框之均等物, 從而導致稍高之平均資料速率。儘管如此,但在實踐中, 引入更頻繁之I圖框並不會線性地增加資料速率。此係由 於以下事實:P圖框(或p影像塊)主要編碼自先前圖框至下 -個圖框之差異。因此’若先前圖框與下一個圖框相當類 似’則P圖框將非常若先前圖框與下一個圖框相當不 同,則p圖框將非常大。㈣為p圖框很大程度上係自先前 ® ®框導出,而非自實際圖框導出,所以所得的經編碼圖框 可能含有比具有足夠數目之位元之t圖框多的錯誤(例如, 視覺假影)。此外,當一P圖枢跟隨另_p圖框時,可出現 錯誤累加(當存在長P圖框序列日夺,變得更糟)。現在,尖 2的視壓縮@將债測到影像之品f在—序列p圖框之後 降級的事實’且必要時,其將争一 ,, 具將更夕位疋分配給P遺後之P圖 框以提高品質,或若其為最有效 # π 乍過私,則用1圖框 、圖框。因此,當使用長Ρ圖框序列(例如,洲 框,如上文先前實例中)時,特定言之當場景具有大量複 139849.doc -75- 200949567 雜度及/或運動時,通常,對於P圖框而言需要更多位元(因 為其變得距I圖框更遠)。 或者’自相對檢視點看P圖框,緊密地跟隨I圖框之P圖 框傾向於需要比距I圖框更遠之p圖框少的位元。因此,在 圖7a中所展示之實例中’無P圖框比距I圖框隔開1 5個圖框 更遠(在I圖框之前)’而在先前實例中,p圖框可為自I圖框 隔開59個圖框。因此,在更頻繁之I圖框情況下,P圖框較 小°當然’蜂切相對大小將基於視訊流之性質而改變,但 在圖乃之實例中,若I影像塊為10 Kb,則P影像塊之大小平 均可為僅 0.75 kb,從而導致 1〇 Kb+15*0.75 Kb=21.25 Kb, 或在60圖框/秒下,資料速率將為21 25 Kb*60=1.3 Mbps, 或比1 · 1 Mbps下的具有一 i圖框繼之以59個p圖框之流之資 料速率尚約16°/。。再一次,用於視訊壓縮之此等兩種方法 之間的相對結果將視視訊序列而改變,但通常,吾人憑經 驗發現,對於給定品質位準,使用R圖框比使用I/p圖框序 列需要多約20%之位元。但是,當然,r圖框急劇地減少 峰值’此使視訊序列在遠小於I/p圖框序列之延時下可用。 可視視訊序列之性質、頻道之可靠性及可用資料速率而 以多種不同方式來組態R圖框。在替代實施例中,在4χ4組 態中使用不同於16之數目之影像塊。舉例而言,可在2χΐ 或1x2組態中使用2個影像塊,可在2x2、4xl或ιΜ組態中 使用4個影像塊,可在3x2、2x3、6x1或1x6組態中使用6個 影像塊或可在4χ2(如圖7b中所展示)、2x4、8x1或lx8組賤 中使用8個影像塊。注意,影像塊不需要為方形視訊圖 139849.doc •76· 200949567 框亦不必為方形,或甚至矩形。可將影像塊分解成最佳地 適合所使用之視訊流及應用程式的無論什麼形狀。 參 在另一實施例中,I影像塊及p影像塊之循環不鎖定至影 像塊之數目。舉例而言,在8影像塊4χ2組態中,仍可如圖 7b中所說明而使用16循環序列。順序的未經壓縮之圖框 721、7U、7U各自經劃分成8個影像塊〇_7,且每一影像 塊經個別壓縮。自R圖框731,僅影像塊〇經壓縮為〗影像 塊,且剩餘影像塊經壓縮為p影像塊。對於隨後之R圖框 732,所有8個影像塊經壓縮為p影像塊,且接著對於隨後 之R圖框733,影像塊!經壓縮為【影像塊且其他影像塊均經 壓縮為p影像塊。此外,如此對於16個圖框繼續進行排 序,僅每隔一圖框產生一1影像塊,因此在第Η個圖框時 間期間(圖7b ’未圖示)及在第16個圖框時間期間產生用於 影像塊=最末!影像塊(使用所有的p影像塊壓縮r圖框 780)。接者’序列再次以影像塊_ &縮為了影像塊且直他 影像塊經㈣為P影像塊開始。如在先前實施财’整個 t訊序狀第—圖框通常將均為1影像塊,以提供用於自 彼點向前之P影像塊的參考。1影像境及P影像塊之循環甚 ^不需要為影像塊之數目之偶倍數。舉例而言,在_影 像塊之情況下,在使用另一” 知— 尾之刖’具有一 I影像堍 =母—圖框之後可為所有皆為p影像塊之2個圖框。在又— 要更頻繁之I與德抬、 £域具有更夕運動(需 頻繁“像塊),而其他區域更為靜態(例如, 戲之分數)(需要較不頻繁之丨寻 ’、遊 景/像塊)’則與其他影像塊相 139849.doc •77- 200949567 比,可更經常地將特定影像塊連同!影像塊—起進行排 序此外,儘管在圖7a•圖7b中說明每·'圖框具有單-I影 像鬼仁可在單^框中編碼多個i影像塊(取決於傳輸頻 頻寬)相反地,特定圖框或圖框序列可在不具有I影 像塊(亦即,僅p影像塊)的情況下傳輸。 、 前-段之方法適當起作用之原因在於:儘管不具有跨越 每個早—圖框而分散之1影像塊看來似乎導致較大峰值, 但系統之行為並不如此簡單。因為每-影像塊係與其他影 像塊分開進行壓縮’所以當影像塊變小時,每—影像塊之 編|可變付較不有效,因為給定影像塊之壓縮器不能夠利 用來自其他影像塊之類㈣像特徵及類似運動。因此,盘 將螢幕劃分成㈣影像塊相比較,將螢幕劃分成16個影像 塊通常將導致較不有效之編碼。但是,若將營幕劃分成8 個影像塊且其引起每隔8個圖框(而非每隔16個圖框)引入— 凡王I圖t之―貝料,則其導致總體上高得多的資料速率。 因此,藉由每隔16個圖框(而非每隔8個圖框)引入一完全工 圖框,減小了總資料速率1,藉由使用8個較大影像塊 (而非16個較小影像塊),減小了總資料速率,其亦將由較 大影像塊引起之資料峰值減輕至某種程度。 在另-實施例中,圖7a及圖7bt之低延時視訊I缩邏輯 404藉由基於待壓縮之視訊序列之已知特性而藉由設定預 先組態或者基於每-影像塊中之影像品質的正在進行之分 析而自動地控制至中之各影像塊之位元的分配。舉 例而言’在-些競賽視訊遊戲中,玩家之汽車(其為場景 139849.doc •78· 200949567 中相對無運動的)之前方佔據 瑩幕之上半部完全被填…幕之下丰部之大部分,而 其幾乎她^ 真滿正接近的道路、建築物及風景, 二手:疋在運動中。若壓縮邏輯4〇4將相等數目之位元 刀配給母一影像塊,則圖7b 罄m 中的未經壓縮之圖框721中的 之下半部上之影像塊(影像塊4_7)通常將以比圖外中的 未經壓縮之圖框721中的螢幕 〇 h〜 愛綦之上+部中之影像塊(影像塊To reconstruct the image block Bu et al. As described above, the decompression of the Z frame and the p frame is well known in the art, and the decompression of the old image block and the p image block can be performed by causing multiple execution entities of the video decompressor to be at the user end. Execute on 415 to complete. Although the multiplication process seems to increase the computational burden on the client, it does not actually increase the computational burden on the client side because the image block itself is proportionally smaller (relative to the extra processing: number) Therefore, the number of pixels displayed (four) seems to be a process and uses the conventional full-size frame and p-frame. This R-frame technique significantly mitigates the bandwidth peaks typically associated with the frame (as illustrated in Figures 6b and 6e) because any material frame is primarily composed of P-frames that are typically smaller than the I-frame. For example, suppose that the typical frame is 160 Kb, then the j image block of each of the frames in Figure 7a will be a large 6 or 10 Kbe for this amount, assuming a typical p The frame is Μ Kb, and the p frame for each of the image blocks illustrated in Figure 7a can be approximately 1 Kb. The final result is approximately 1〇Kb+15iM Kb=25 Figure 139849.doc -74- 200949567 box. Therefore, each 60 frame sequence will be 25 Kb * 60 = 1.5 Mbps. Therefore, at 60 frames per second, this would require a channel capable of maintaining a bandwidth of 丨5 Mbps, but because the I-picture block is dispersed throughout the 6-frame interval, it has a much lower peak. - Note that in the previous example, the average data rate was i" Mbps for the same assumed data rate for the I and P frames. This is because in the previous example, only a new 1 frame is introduced every 60 frame time, and in the example of φ, the 16 image blocks constituting the 1 frame are cycled in 16 frame times, and thus , an equalization of one frame is introduced every 16 frame times, resulting in a slightly higher average data rate. Despite this, in practice, the introduction of more frequent I frames does not linearly increase the data rate. This is due to the fact that the P-frame (or p-image block) is mainly encoded from the previous frame to the next frame. So if the previous frame is quite similar to the next frame, then the P frame will be very different if the previous frame is quite different from the next frame, then the p frame will be very large. (d) The p-frame is largely derived from the previous ® box, rather than from the actual frame, so the resulting coded frame may contain more errors than a t-frame with a sufficient number of bits (eg , visual artifacts). In addition, when a P-picture pivot follows another _p frame, an error accumulation can occur (when there is a long P-frame sequence, it gets worse). Now, the visual compression of the tip 2 will measure the fact that the image f of the image is degraded after the sequence p frame and, if necessary, it will compete for one, and assign the more 夕 to the P after P Frame to improve quality, or if it is the most effective # π 乍 private, use 1 frame, frame. Therefore, when using a long frame sequence (for example, a continent box, as in the previous example above), when the scene has a large number of complex 139849.doc -75 - 200949567 noise and / or motion, usually, for P More bits are needed for the frame (because it becomes farther away from the I frame). Or 'from the relative view point to see the P-frame, the P-frame that closely follows the I-frame tends to require fewer bits than the p-frame farther from the I-frame. Thus, in the example shown in Figure 7a, the 'no P frame is farther away from the I frame (1 before the I frame)' while in the previous example, the p frame can be self The I frame is separated by 59 frames. Therefore, in the case of more frequent I frames, the P frame is smaller. Of course, the relative size of the bee cut will change based on the nature of the video stream. However, in the example of the figure, if the I image block is 10 Kb, then The size of the P image block can average only 0.75 kb, resulting in 1〇Kb+15*0.75 Kb=21.25 Kb, or at 60 frames/sec, the data rate will be 21 25 Kb*60=1.3 Mbps, or The data rate of a stream with an i frame followed by 59 p frames at 1 Mbps is still about 16°/. . Again, the relative results between these two methods for video compression will vary depending on the video sequence, but in general, we have empirically found that for a given quality level, using an R frame is more efficient than using an I/p map. The frame sequence requires about 20% more bits. However, of course, the r frame sharply reduces the peak value. This makes the video sequence available at a much slower delay than the I/p frame sequence. The R frame is configured in a number of different ways depending on the nature of the video sequence, the reliability of the channel, and the available data rate. In an alternate embodiment, a number of image blocks other than 16 are used in the 4χ4 configuration. For example, you can use 2 image blocks in a 2χΐ or 1x2 configuration, 4 image blocks in a 2x2, 4xl or ι configuration, and 6 images in a 3x2, 2x3, 6x1 or 1x6 configuration. The block may use 8 image blocks in 4χ2 (as shown in Figure 7b), 2x4, 8x1 or 1x8 groups. Note that the image block does not need to be a square video image. 139849.doc •76· 200949567 The frame does not have to be square, or even rectangular. The image block can be broken down into whatever shape best suits the video stream and application being used. In another embodiment, the loop of the I image block and the p image block is not locked to the number of image blocks. For example, in an 8 image block 4χ2 configuration, a 16-cycle sequence can still be used as illustrated in Figure 7b. The sequential uncompressed frames 721, 7U, 7U are each divided into 8 image blocks 〇_7, and each image block is individually compressed. From R frame 731, only the image block is compressed into an image block, and the remaining image blocks are compressed into p image blocks. For subsequent R frame 732, all 8 image blocks are compressed into p-image blocks, and then for subsequent R frame 733, image blocks! It is compressed into [image block and other image blocks are compressed into p image blocks. In addition, the 16 frames continue to be sorted so that only one image block is generated every other frame, so during the third frame time (Fig. 7b 'not shown) and during the 16th frame time Generated for image block = last! Image block (compress r frame 780 using all p image blocks). The sequence of the receivers is again reduced to the image block by the image block _ & and the video block begins with the (4) P picture block. For example, in the previous implementation, the entire frame will always be 1 image block to provide a reference for the P image block forward from the other point. 1 The loop of the image and P blocks does not need to be an even multiple of the number of image blocks. For example, in the case of a _image block, after using another "know-tail", there is an I image 堍=mother-frame, which can be two frames of all p-image blocks. - More frequent I and German, £ domain have a better movement (requires frequent "blocks", while other areas are more static (for example, scores of play) (requires less frequent search, 'views/images Block) 'Compared with other image blocks 139849.doc •77- 200949567, you can more often combine specific image blocks! Image blocks are sorted together. In addition, although it is illustrated in FIG. 7a and FIG. 7b that each frame has a single-I image ghost, a plurality of i image blocks can be encoded in a single frame (depending on the transmission bandwidth). A particular frame or frame sequence can be transmitted without an I-picture block (ie, only a p-picture block). The reason why the pre-segment method works properly is that although the 1 image block that does not have a spread across each early-frame appears to cause a large peak, the behavior of the system is not so simple. Because each image block is compressed separately from other image blocks, so when the image block becomes smaller, each image block is less effective, because the compressor of a given image block cannot utilize other image blocks. Such as (4) image features and similar sports. Therefore, the disc divides the screen into (4) image blocks, and dividing the screen into 16 image blocks will generally result in less efficient coding. However, if the screen is divided into 8 image blocks and it is induced to be introduced every 8 frames (rather than every 16 frames), then the king I figure t-bee, which leads to overall high More data rates. Therefore, by introducing a full frame every 16 frames (rather than every 8 frames), the total data rate 1 is reduced by using 8 larger image blocks instead of 16 The small image block) reduces the total data rate, which also reduces the peak value of the data caused by the larger image block to some extent. In another embodiment, the low-latency video reduction logic 404 of FIGS. 7a and 7bt is configured by pre-configuration or based on image quality in each image block based on known characteristics of the video sequence to be compressed. The ongoing analysis automatically controls the allocation of the bits of each of the image blocks. For example, in some of the video games, the player's car (which is relatively unmoved in the scene 139849.doc •78·200949567) is completely filled in the upper part of the screen. Most of them, and almost all of them are really close to the roads, buildings and landscapes, used: squatting in sports. If the compression logic 4〇4 assigns an equal number of bit knives to the parent image block, then the image block (image block 4_7) on the lower half of the uncompressed frame 721 in Figure 7b 罄m will usually In the uncompressed frame 721 outside the picture, the image block (image block) in the upper part of the screen 〇h~
❹ 場^的已知此特定遊戲或遊戲之此特定 2具有該料性,則主機代#„2⑽運營商可組態 :縮邏輯404以將更多位元分配給勞幕之頂部之影像塊(與 刀配給螢幕之底部處之影像塊的位元相比)。或者,壓縮 邏輯彻可在壓縮圖框之後估計影像塊之壓縮品質(使用許 多壓縮。口質度篁中之-或多I,諸如峰值信號雜訊比 郎卿’且若判定在特定時間窗上,特定影像塊始終如 一地產生較佳品質結果,則其逐漸地將更多位元分配給產 生較低質結果之影像塊,直至各種影像塊達到類似位準 之品質為止。在替代實施例中,壓縮器邏輯4〇4分配位元 乂在特疋影像塊或影像塊群中達成較高品質。舉例而言, 其可提供較佳的總體感知外觀,以在螢幕之中心具有比邊 緣處南之品質。 在一實施例中,為了改良視訊流之特定區域之解析度, 視訊壓縮邏輯404使用較小影像塊來編碼視訊流之具有相 對多之場景複雜度及/或運動的區域(與視訊流之具有相對 少之場景複雜度及/或運動的區域相比)。舉例而言,如圖8 中所說明在一 R圖框8 11 (可能繼之以具有相同影像塊大 139849.doc -79- 200949567 之系列R圖框(未圖示))之一區域中的移動人物奶之周 圍,用較小衫像塊。接著,當人物哪移動至影像之新區 域時S另-R圖框812内之此新區域之龍使用較小影像 ^如所5兄明。如上所述,各種不同大小及形狀可用作 「影像塊」同時仍遵守此等基本原理。 儘管上文所描述之循環1 / P影像塊實質上減小視訊流之 資料速率中的峰值,但其並不完全消除峰值,尤其在快速 改變或高度複雜之視訊影像(諸如在電影 '視訊遊戲及某 一應用程式軟體下出現)的狀況下。舉例而言,在突然場 景轉變期間,一複雜圖框可能繼之以完全不同之另一複雜 圖框。即使若干個I影像塊可領先於場景轉變僅幾個圖框 時間,其在此情形下亦無助益,因為新圖框之材料與先前 I影像塊無關。在此種情形下(及在即使並非一切皆改變, 大量影像亦改變的其他情形下),視訊壓縮器404將判定將 許多(若並非所有)P影像塊更有效地寫碼為〗影像塊,且所 導致的為彼圖框之資料速率中的非常大之峰值。 如先别所論述,其僅為對於大多數消費者級網際網路連 接(及許多辦公室連接)之狀況’其僅不可「堵塞」超過圖 6c中展示為622之可用最大資料速率以及額定最大資料速 率621的資料。注意’額定最大資料速率621(例如,「6 Mbps DSL」)實質上為對於考慮購買網際網路連接的使用 者之銷售數字’但通常其不保證效能位準。出於此應用之 目的,其不相關’因為吾人僅關注經由連接使視訊串流時 之可用最大資料速率622。因此,在圖9a及圖9c中,當描 139849.doc •80· 200949567 述對峰值問題之解決方法時,自曲線圖省略額定最大資料 速率’且僅展示可用最大資料速率922。視訊流資料速率 不得超過可用最大資料速率922。 為了解決此問題,視訊壓縮器404進行的第一件事係判 定峰值資料速率941 ’其為頻道能夠穩定地處理之資料速 率。此速率可藉由許多技術來判定。一種該技術係將愈加 變高的資料速率測試流自主機代管服務21〇逐漸發送至用 戶端415(圖4a及圖4b中),且使用戶端將關於封包丟失及延 時之位準的反饋提供至主機代管服務。當封包丟失及/或 延時開始展示尖銳增加時’其為達到可用最大資料速率 922之指示。之後,主機代管服務21〇可逐漸地減小測試流 之資料速率,直至用戶端415報告在合理之時間週期中已 接收到測試流(封包丟失及延時之可接受位準接近最小)為 止。此確定峰值最大資料速率941,其接著將用作用於串 流視訊之峰值資料速率。隨著時間的推移,峰 941將波動(例如,"家庭中之另-使用者開始嚴重地使用 網際網路連接),且用戶端415將需要怪定地 速率941以查看封包丢失或延時是否增加(指示可用最= 料ί率922下降至低於先前所確定的峰值資料速率941), 且右如此,則峰值資料速率94 推移,用戶端化發現封包丢失及^ 右著時間的 則其可請求視訊壓縮器緩慢地 <丰, 大資料速率是否增加(例如,若家庭m看可用最 止對網際網路連接之嚴重使用),且再次等待直 139849.doc 200949567 失及/或較高延時指示已超過可用最大資料速率922為止, 且可再次發現用於峰值資料速率941之較低位準,但該較 低位準可能高於測試增加的資料速率之前的位準。因此, 可藉由使用此技術(及類似其之其他技術)而發現峰值資料 速率941 ’且視需要而週期性地進行調整。峰值資料速率 941破定可由視訊壓縮器4G4使用以使視訊串流至使用者的 最大資料速率。用於判定峰值資料速率之邏輯可在使用者 場所2H處及/或在主機代管服務21〇上加以實施。在使用 者場所211處,用戶端器件化執行計算以敎峰值資料速 率且將此資訊傳輸回至主機卩管服務21〇 ;纟主機代管服 務210處,主機代管服務處之飼服器術執行計算以基於自 用戶端415所接收之統計資料(例如,峰值丟失、延時、最 大資料速率等)而判定峰值資料速率。 圖9a展不具有實質场景複雜度及/或運動之實例視訊流 資料速率934,其係使用先前所描述且在圖h、圖几及圖8 中加以說明的«㈣彡像塊壓縮技術而產生。視訊壓縮器 404經組態Μ低於峰值資料料941之平均資料速率輸出 經壓縮之視訊’且注意’大部分時間,視訊流資料速率保 持低於峰值資料速率941。資料速率934與圖&中所展示之 視訊流資料速率634(其係使用I/p/B或I/p圖柩而產幻的比 較展示循環卿像塊壓縮產生平滑得多的資料速率。但在 圖框2倍峰值952(其接近2倍峰值資料速率942)及圖框4倍峰 值954(其接近4倍峰值資料速率944)下,資料速率仍超過锋 值資料速率941,其為不可接受的。在實踐中,即使對於 139849.doc -82- 200949567 來自快速改變之視訊遊戲的高動作視訊,超過峰值資料速 率941之峰值亦在小於2%之圖框中出現,超過2倍峰值資 料速率942之峰值很少出現,且超過3倍峰值資料速率943 之峰值難得出.見。但是,當其確實出現時(例如,在場景 轉變期間)’其所需之資料速率必須產生良好品質之視訊 影像。 解決此問題之一方式係簡單地組態視訊壓縮器以使If the specific 2 of this particular game or game is known to have this property, then the host generation #„2(10) operator can configure: reduce the logic 404 to allocate more bits to the image block at the top of the screen. (Compared to the bit of the image block at the bottom of the screen assigned to the screen.) Alternatively, the compression logic can estimate the compression quality of the image block after compressing the frame (using many compressions. - Orality - or more I , such as peak signal noise than Lang Qing's and if it is determined that a particular image block consistently produces better quality results over a particular time window, it gradually assigns more bits to image blocks that produce lower quality results. Until the various image blocks reach a similar level of quality. In an alternative embodiment, the compressor logic 4〇4 assigns a bit 乂 to achieve a higher quality in the special image block or image block group. For example, Providing a better overall perceived appearance to have a quality south of the screen than at the edge. In one embodiment, to improve the resolution of a particular region of the video stream, video compression logic 404 encodes the image using a smaller image block. The area of the stream that has relatively large scene complexity and/or motion (compared to the area of the video stream that has relatively little scene complexity and/or motion). For example, as illustrated in Figure 8 R frame 8 11 (may be followed by a moving figure in the area of one of the series R frames (not shown) with the same image block size 139849.doc -79- 200949567), with a smaller shirt block Then, when the character moves to a new area of the image, the dragon of the new area in the S-R frame 812 uses a smaller image, such as the 5 brothers. As described above, various sizes and shapes can be used. The "image block" still adheres to these basic principles. Although the cyclic 1 / P image block described above substantially reduces the peak in the data rate of the video stream, it does not completely eliminate the peak, especially in the fast change or Highly complex video images (such as in the movie 'video game and some application software). For example, during a sudden scene transition, a complex frame may be followed by another complex picture that is completely different. Box. Even a few The I image block can lead the scene transition by only a few frame times, which is not helpful in this case, because the material of the new frame is independent of the previous I image block. In this case (and even if not everything) In other cases where all of the images are changed, the video compressor 404 will determine that many, if not all, P-picture blocks are more efficiently coded as image blocks and result in a data rate of the frame. Very large peaks. As discussed earlier, it is only for most consumer-grade Internet connections (and many office connections). It can only be "blocked" more than the one shown in Figure 6c. Maximum data rate and data for rated maximum data rate 621. Note that 'rated maximum data rate 621 (eg, "6 Mbps DSL") is essentially a sales figure for users considering purchasing an internet connection' but usually it is not guaranteed Performance level. For the purposes of this application, it is irrelevant' because we only focus on the maximum data rate 622 available when streaming video over a connection. Therefore, in Figures 9a and 9c, when the solution to the peak problem is described in 139849.doc • 80· 200949567, the nominal maximum data rate is omitted from the graph and only the maximum data rate 922 is displayed. The video streaming data rate must not exceed the maximum available data rate of 922. To solve this problem, the first thing the video compressor 404 does is to determine the peak data rate 941' which is the data rate at which the channel can be processed steadily. This rate can be determined by a number of techniques. One technique is to gradually increase the data rate test stream from the colocation service 21 to the client 415 (Figs. 4a and 4b), and cause the UE to provide feedback on the level of packet loss and delay. Provide to the hosting service. When the packet is lost and/or the delay begins to show a sharp increase, it is an indication that the maximum data rate 922 is available. Thereafter, the colocation service 21 can gradually reduce the data rate of the test stream until the client 415 reports that the test stream has been received within a reasonable period of time (the packet loss and the acceptable level of the delay are near minimum). This determines the peak maximum data rate 941, which will then be used as the peak data rate for streaming video. Over time, peak 941 will fluctuate (eg, "other in the family-user begins to seriously use the internet connection), and client 415 will need to rate 941 to see if the packet is lost or delayed Increase (indicating that the most available material rate 922 falls below the previously determined peak data rate 941), and right then, the peak data rate is 94, the user-side finds that the packet is lost and the right time is Requesting the video compressor to slowly <Feng, whether the data rate is increased (for example, if the home m sees the use of the Internet connection is severely used), and waits again for 139849.doc 200949567 Loss and/or higher latency The indication has exceeded the maximum data rate 922 available, and the lower level for the peak data rate 941 may be found again, but the lower level may be higher than the level prior to testing the increased data rate. Thus, the peak data rate 941' can be found by using this technique (and other techniques like it) and periodically adjusted as needed. The peak data rate 941 is broken by the video compressor 4G4 to allow the video stream to flow to the user's maximum data rate. The logic for determining the peak data rate can be implemented at the user premises 2H and/or on the colocation service 21〇. At the user premises 211, the user device performs computation to calculate the peak data rate and transmits this information back to the host management service 21; at the host hosting service 210, the hosting device at the hosting service A calculation is performed to determine the peak data rate based on statistics received from the client 415 (eg, peak loss, delay, maximum data rate, etc.). Figure 9a shows an example video stream data rate 934 that does not have substantial scene complexity and/or motion, which is generated using the «(4) block compression technique described previously and illustrated in Figures h, and 8 and Figure 8. . The video compressor 404 is configured to output compressed video below the average data rate of the peak data material 941 and note that most of the time, the video stream data rate remains below the peak data rate 941. A comparison of the data rate 934 with the video stream data rate 634 shown in Figures & (which uses I/p/B or I/p maps to produce a magical comparison shows that the cyclic image block compression produces a much smoother data rate. However, at frame 2 times peak 952 (which is close to 2 times peak data rate 942) and frame 4 times peak 954 (which is close to 4 times peak data rate 944), the data rate still exceeds the front data rate 941, which is not In practice, even for 139849.doc -82- 200949567 high-motion video from fast-changing video games, the peak value exceeding the peak data rate 941 appears in the frame of less than 2%, more than 2 times the peak data. The peak of rate 942 is rare, and peaks above 3 times the peak data rate 943 are difficult to see. See, however, when it does occur (for example, during a scene transition), the required data rate must produce good quality. Video image. One way to solve this problem is to simply configure the video compressor so that
付其最大貧料速率輸出為峰值資料速率941。遺憾地,峰 值圖框期間的所得視訊輸出品質不良,因為壓縮演算法 「極度缺乏」位元。所導致的為#存在突然轉變或快速運 動時出現壓縮假影,且及時地,使用者開始認識到:當存 在犬然改變或快速運動時假影總是突然出現,且其可變得 相當討厭。 儘管人的視覺系統對在突然改變或快速運動期間出現的 視覺假影相當敏感,但對在該等情形下偵測到圖框速率之 減小並不是非常敏感。事實上,當該等突然改變出現時, 看來似乎人的視覺系統專注於追蹤該等改變,且若圖框速 率暫時自6〇 fps下降至30 fps且接著立即返回至6〇 fps,則 人的視覺系統不會注意到。此外,在非常急劇之轉變(如 犬然場景改變)的狀況下,若圖框速率下降至2〇 fps或甚至 15 fps且接著立即返回至6〇 fps,則人的視覺系統不會注意 到。只要圖框速率減小僅偶爾出現,對於人觀察者而言, 看來似乎視訊係以60 fps不斷地執行。 藉由圖9b中所說明之技術來利用人的視覺系統之此特 139849.doc -83- 200949567 性。伺服器402(來自圖4a及圖4b)以穩定圖框速率(在一實 施例中,在60 fpS下)產生未經壓縮之視訊輪出流。時刻表 展示每一 1/60秒每一圖框961-970輸出。自圖框961開始, 將每一未經壓縮之視訊圖框輸出至低延時視訊壓縮器 404,低延時視訊壓縮器404在小於一圖框時間之時間中壓 縮該圖框,產生用於第一圖框之經壓縮之圖框丨981。麫The maximum lean rate output is paid as the peak data rate 941. Unfortunately, the resulting video output quality during the peak frame is poor because the compression algorithm is "extremely lacking" bits. The resulting compression artifacts occur when there is a sudden transition or rapid motion, and in time, the user begins to realize that the artifact always appears suddenly when there is a change in the dog or a rapid movement, and it can become quite annoying. . Although the human visual system is quite sensitive to visual artifacts that occur during sudden changes or rapid motion, it is not very sensitive to the reduction in frame rate detected in such situations. In fact, when these sudden changes occur, it seems that the human visual system is focused on tracking these changes, and if the frame rate temporarily drops from 6〇fps to 30 fps and then immediately returns to 6〇fps, then The visual system will not notice. In addition, in the case of very sharp transitions (such as changes in the canine scene), if the frame rate drops to 2 〇 fps or even 15 fps and then immediately returns to 6 〇 fps, the human visual system will not notice. As long as the frame rate reduction occurs only occasionally, it seems to the human observer that the video system is continuously executed at 60 fps. This feature of the human visual system is utilized by the technique illustrated in Figure 9b. Server 402 (from Figures 4a and 4b) produces an uncompressed video wheel outflow at a stable frame rate (in one embodiment, at 60 fpS). The timetable shows the output of each frame 961-970 for each 1/60 second. Starting from frame 961, each uncompressed video frame is output to the low latency video compressor 404, and the low latency video compressor 404 compresses the frame for less than one frame time, resulting in the first The frame of the frame is compressed 丨 981.麫
產生用於經壓縮之圖框1 981的資料可視如先前所描述之 許多因素而較大或較小。若資料足夠小以致可以峰值資料 速率941在一圖框時間(1/6〇秒)或小於一圖框時間内將其傳 輸至用戶端415,則在傳輸時間(xmit時間)991(指示傳輸時 間之持續時間的箭頭之長度)期間將其傳輸。在下—個圖 框時間中,伺服器402產生未經壓縮之圖框2 962,將其壓 縮成經壓縮之圖框2 982,且在小於一 間992期間以峰值資料速率94丨將其傳輸 圖框時間之傳輸時 至用戶端415。The data generated for compressed frame 1 981 may be larger or smaller depending on many of the factors previously described. If the data is small enough to transmit the peak data rate 941 to the client 415 at frame time (1/6 sec) or less than one frame time, then at the transmission time (xmit time) 991 (indicating the transmission time) It is transmitted during the length of the arrow of duration. In the next frame time, the server 402 generates an uncompressed frame 2 962, compresses it into a compressed frame 2 982, and transmits it at a peak data rate of 94 小于 during less than one 992 period. The frame time is transmitted to the client 415.
接著,在下-個圖框時間巾,飼服器4〇2產生未經壓縮 之圖框3 963。當由視訊壓縮器彻來壓縮未經壓縮之圖框 3 963時,所得的經壓縮之圖框3 983為比可以峰值資料速 率941在一圖框時間中傳輸之資料多的資料。因此,在傳 輸時間(2倍峰值)993期間將其傳輸,其佔據所有圖框時間 及下-個圖框時間之—部分。現在,在下—個圖框時間期 間,伺服器402產生另一未經壓縮之圖框4 9M且將其輪出 至視訊壓縮器4G4,但資料被忽略且藉由974來說日/此係 因為視訊壓縮器404經組態以忽略在其仍傳輸先前經壓縮 之圖框時到達的其他未經壓縮之視訊圖框。當然,用戶端 139849.doc -84 - 200949567 415之視訊解壓縮器將未能接收到圖框4,但其簡單地繼續 在顯示器件422上顯示圖框3歷時2個圖框時間(亦即,暫時 將圖框速率自60 fps減小至30 fps)。 . 對於下—個圖框5,伺服器402輸出未經壓縮之圖框5 • 965,將其壓縮成經壓縮之圖框5 985且在傳輸時間995期 間在1圖框内將其傳輸。用戶端化之視訊解壓縮器解壓縮 圖框5並將其顯示於顯示器件422上。接著,飼服器402輸 # *未經壓縮之圖框6 966,視訊壓縮器404將其麼縮成經壓 縮之圖框6 986,但此時所得的資料非常大。在傳輸時間(4 倍,值)996期間以峰值資料速率941傳輸經壓縮之圖框, 但花費幾乎4個@框時間來傳㈣框。在接下來的3個圖框 時間期間,視訊壓縮!M0Q略來自词服器搬之3個圖 框,且用戶端415之解壓縮器將圖框6穩定地保持在顯示器 件422上歷日夺4個圖框時間(亦即,暫時將圖框速率自6〇伽 減小至15fPS)。接著最後,飼服器402輸出圖框10 970,視 參tfll缩11404將其壓縮成經壓縮之圖框1()撕,且在傳輸 時間997期間將其傳輸’且用戶端415之解壓縮器解壓縮圖 框1〇並將其顯示於顯示器件422上且再-次視訊以60 fps重 新開始。 注意,儘管視訊壓縮器4〇4丟奈 μ云案了來自由伺服器4〇2產生 之視訊流的視訊圖框,作1 ^ 仁其不會丟棄音訊資料(不管音訊 係以什麼形式來的),且當吾牵 *舌衆視訊圖框時視訊壓縮器404 繼續壓縮音訊資料並將盆傳輪 打/、得輸至用戶端415,用戶端415繼 續解壓縮音訊資料亦脾立ω 將曰·供至由使用者使用以回放音 J39849.doc -85· 200949567 訊之無論什麼器件。因此在丟棄圖框之週期期間,音訊繼 續而不減弱。與經壓縮之視訊相比,經壓縮之音訊消耗相 對小百分比之頻寬,且因此不會對總資料速率有較大影 響。儘管在資料速率圖中之任一者中皆未說明,但峰值二 料速率941内總是存在經保留用於經壓縮音訊流的資料速 率容量。 ' 選擇剛剛在圖9b中所描述之實例來說明在資料速率峰值 期間圖框速率如何下降,但未說明的係#使用先前所描述 ❹ 之循環Ι/P影像塊技術時,該等資料速率峰值及隨之發生的 丟棄的圖框很少’即使在高場景複雜度/高動作序列(諸如 在視訊遊戲、電影及某-應用程式軟體中出現的彼等)期 間亦如此。因,匕’減小的圖框速率罕有且暫時,且人的視 覺系統不會偵測到它們。 若將剛剛所描述之圖框速率減小機制應用於_中所說 明之視訊流資料速率,則力圃〜 寸疋手則在圖%中,兄明所得的視訊流資料 ❹ 速率。在此實例中,2倍峰值952已減小至平坦化的2倍峰 值953 ’ S 4倍峰值955已減小至平坦化的*倍峰值%$,且 整個視訊流資料料934保減於或低於峰值資料速率 941 ° 吏用上文所描述之技術,可經由通用_際網路及 消費者級網際網路連接而以低延時來傳輪高動作視訊流。 另外’在LAN(例如,100 Mbs乙太網路或802.H g無線網 路)上或私用網路⑽,資料中心與辦公室之間的· Mbps連接)上之辦公室環境中,可在無峰值情況下傳輸高 139849.doc • 86 · 200949567 動作視訊流,以使得多個使用者(例如,以45Mbps傳輸6〇 fPs下之192〇xl〇8〇)可使用LAN或共用私用資料連接,而不 使重疊峰值淹沒網路或網路交換器底板。 資料速率調整Next, in the next frame time, the feeder 4〇2 produces an uncompressed frame 3 963. When the uncompressed frame 3 963 is compressed by the video compressor, the resulting compressed frame 3 983 is more data than can be transmitted in the frame time at the peak data rate 941. Therefore, it is transmitted during the transmission time (2 times peak) 993, which occupies part of all frame time and next frame time. Now, during the next frame time, the server 402 generates another uncompressed frame 49M and rotates it out to the video compressor 4G4, but the data is ignored and by 974 for the day/this is because Video compressor 404 is configured to ignore other uncompressed video frames that arrive as they still transmit previously compressed frames. Of course, the video decompressor of the client 139849.doc -84 - 200949567 415 will fail to receive frame 4, but simply continues to display frame 3 on display device 422 for 2 frame times (ie, Temporarily reduce the frame rate from 60 fps to 30 fps). For the next frame 5, the server 402 outputs the uncompressed frame 5 • 965, compresses it into a compressed frame 5 985 and transmits it in a frame 1 during transmission time 995. The user-side video decompressor decompresses frame 5 and displays it on display device 422. Next, the feeder 402 loses the uncompressed frame 6 966, and the video compressor 404 shrinks it to the compressed frame 6 986, but the data obtained at this time is very large. The compressed frame is transmitted at peak data rate 941 during transmission time (4 times, value) 996, but it takes almost 4 @box times to pass the (four) box. During the next 3 frames, video compression! M0Q is slightly from the 3 frames of the word server, and the decompressor of the client 415 stably holds the frame 6 on the display device 422 for 4 frames (that is, temporarily the frame rate). Reduced from 6 〇 to 15fPS). Next, finally, the feeder 402 outputs the frame 10 970, compresses it into a compressed frame 1 () tear according to the reference tfll, and transmits it during the transmission time 997' and the decompressor of the client 415. The frame 1 is decompressed and displayed on the display device 422 and the re-time video is restarted at 60 fps. Note that although the video compressor 4〇4 has a video frame from the video stream generated by the server 4〇2, it does not discard the audio data (regardless of the form of the audio system). ), and when I hold the video frame, the video compressor 404 continues to compress the audio data and transmits the channel to the client 415, and the client 415 continues to decompress the audio data. · For use by the user to play back the sound J39849.doc -85· 200949567 No matter what device. Therefore, during the period in which the frame is discarded, the audio continues without being attenuated. Compressed audio consumes a relatively small percentage of the bandwidth compared to compressed video and therefore does not have a significant impact on the overall data rate. Although not illustrated in any of the data rate maps, there is always a data rate capacity reserved for the compressed audio stream within the peak binary rate 941. 'Select the example just described in Figure 9b to illustrate how the frame rate drops during the peak data rate, but the unspecified system# uses the cyclic Ι/P image block technique described previously. And the consequent discarding of the frames is rarely 'even during high scene complexity/high action sequences (such as those found in video games, movies, and some-application software). Because, 匕' reduced frame rate is rare and temporary, and the human visual system does not detect them. If the frame rate reduction mechanism just described is applied to the video stream data rate as described in _, then the video stream data rate in the figure % is shown in the figure %. In this example, the 2x peak 952 has been reduced to a flattened 2x peak 953 'S 4 times the peak 955 has been reduced to the flattened * times the peak %$, and the entire video stream data 934 is reduced to or Below the peak data rate of 941 °, using the techniques described above, high-motion video streams can be transmitted with low latency via the universal network and consumer-grade Internet connection. In addition, in an office environment on a LAN (for example, 100 Mbs Ethernet or 802.Hg wireless network) or private network (10), data center and office Mbps connection, no Peak transmission 139849.doc • 86 · 200949567 Motion video stream, so that multiple users (for example, 192 〇 x 〇 〇 8 〇 under 6 〇 fPs at 45 Mbps) can use LAN or shared private data connection, Do not flood the network or network switch backplane without overlapping peaks. Data rate adjustment
❹ 在一實施例中,主機代管服務210最初評估頻道之可用 最大資料速率622及延時以判定用於視訊流之適當資料速 率且接著回應於此而動態地調整資料速率。為了調整資料 速率,主機代管服務210可(例如)修改待發送至用戶端415 之視訊流的影像解析度及/或每秒圖框數。又,主機代管 服務可調整經壓縮視訊的品質位準。當改變視訊流之解析 度時(例如,自1280x720解析度至64〇x36〇),用戶端415上 之視訊解壓縮邏輯412可將影像按比例增加以在顯示螢幕 上維持相同影像大小。 在一實施例中,在頻道完全退出之情形下,主機代管服 務210將遊戲暫停。在多人遊戲之狀況下,主機代管服務 向其他使用者報告該使用者已退出遊戲及/或將遊戲暫停 以用於其他使用者。 去棄或延遲的封包 在一實加例中’若資料由於圖4a或圖4b中的視訊壓句 4〇4與用戶端415之間的封包丟失而丟失,或由於到達+ 晚以致不能解壓縮及滿足經解壓縮圖框之延時要求的達 被無次序地接收而丟失,則視訊解壓縮邏輯412能夠分 視覺假影。在串流I/p圖框實施中,若存在丟失/延遲白 包,則整個螢幕受影響,從而可能引起螢幕完全凍結名 139849.doc -87- 200949567 一時間週期或展示其他螢幕寬視覺假影。舉例而言,若吾 失/延遲的封包引起I圖框之丟失’則在接收新的I圖框之 前’解壓縮器將缺乏用於跟隨的所有p圖框之來考。若 失P圖框,則其將影響跟隨的用於整個螢幕之p圖框 '見I 圖框出現之前有多久,此將具有較長或較短之視覺影響 使用如圖7a及圖7b中所展示之交錯I/p影像塊,丟失/延遲 的封包不太可能影響整個螢幕,因為其僅影響受影響之封 包中所含有的影像塊。若每一影像塊之資料係在個別封包 内發送,則若封包丟失,則其僅影響一影像塊。當然,= 覺假影之持續時間將取決於丨影像塊封包是否丟失及在p影 像塊丟失之情況下在〗影像塊出現之前將花費多少個圖 框。但疋,假定螢幕上之不同影像塊係藉由工圖框非常頻 繁地(可能每個圖框)更新,則即使螢幕上之一影像塊受影 響,其他影像塊亦可能不受影響。另—如 封包同時丢失(例如,鄰接DSL線之電力:的= 貝料流之尖峰信號),則一些影像塊將比其他影像塊受到 更大影響,但因為-些影像塊將藉由新的工影像塊迅速地 更新,所以其僅暫時受影響。又,在串流I/p圖框實施之情 况下,不僅I圖框為最關鍵圖框,而且旧框極大,因此若 ft引起丢棄/延遲的封包之事件,則與小得多的I影像塊 目t ’ I圖框x影響存在較高機率(亦即,w圖框之任何部 分丟失’則根本不可能可解壓縮I圖框)。由於所有此等原 因,與ι/p圖框夕样 ’、 之隋況相比,當封包被丟棄/延 卿像塊導致小得多的視覺假影。 139849.doc -88 - 200949567 一實施例試圖藉由將經壓縮之影像塊智慧地封裝於 TCP(傳輸控制協定)封包或UDP(使用者資料報協定)封包内 而減少丢失封包之效應。舉例而言,在一實施例中,只要 . τ能’即將影像塊與封包邊界對準。圖1Ga說明可如何在 • 不實施此特徵之情況下將影像塊封裝於一系列封包1001_ 1005内。具體言之,在圖1〇a中,影像塊越過封包邊界且 經無效率地封裝以致單—封包之丢失導致多個圖框之丢 • 《。舉例而言’若封包1003或1004丟失,則吾失三個影像 塊,導致視覺假影。 相比之下,圖10b說明用於將影像塊智慧地封裝於封包 内以減少封包丟失之效應的影像塊封裝邏輯1010。首先, 影像塊封裝邏輯1010將影像塊與封包邊界對準。因此,影 像塊ΤΙ、T3、T4、T7及T2分別與封包1001_1〇〇5之邊界對 準。影像塊封裝邏輯亦試圖以可能的更有效之方式將影像 塊組合於封包内,而不越過封包邊界。基於影像塊中之每 Φ 一者的大小,將影像塊T1與T6組合於一封包1〇〇1中;將 T3與T5組合於一封包1002中;將影像塊^與以組合於一 封包1003中’將影像塊丁8添加至封包1〇〇4;且將影像塊T2 添加至封包1005。因此,在此方案下,單一封包丟失將導 致不多於2個影像塊(而非如圖10a中所說明的3個影像塊)之 丟失。 圖1 Ob中所展示之實施例的一額外益處在於:影像塊係 以其在影像内被顯示之不同次序進行傳輸。若鄰近封包由 於干擾傳輸之同一事件(其將影響螢幕上彼此不接近之區 139849.doc •89- 200949567 域)而丟失’則此方式在顯示器上產生較不引人注意的假 影。 一實施例使用前向錯誤校正(FEC)技術來保護視訊流之 特定部分以使其免受頻道錯誤之影響。如此項技術中已 知,諸如里德-所羅門及viterbi之FEC技術產生錯誤校正資 料資訊並將其附加至經由通信頻道而傳輸之資料。若錯誤 在基本資料(例如,〗圖框)中出現,則FEC可用於校正該錯 誤。 FEC碼增加傳輸之資料速率,因此理想地,其僅在最需 要時使用。若資料正被發送,且其將不導致非常引人注意 之視覺假影,則可較佳不使用FEC碼來保護資料。舉例而 5,緊接於丟失的I影像塊之前的p影像塊將僅在螢幕上產 生1/60秒之視覺假影(亦即,螢幕上之影像塊將不被更 新)。此種視覺假影幾乎不能被人眼偵測到。隨著p影像塊 自I影像塊進一步向後,丟失p影像塊愈加變得更引人注 意。舉例而言,若影像塊循環型樣為在〗影像塊再次可用 之前一 I影像塊繼之以15個P影像塊’則若緊接於z影像塊 之後之P影像塊丟失,則其導致彼影像塊展示不正確之影 像歷時15個圖框時間(在60 fpS下,彼將為250毫秒)。人眼 將容易偵測到250毫秒的流之中斷。因此,p影像塊距新的 I影像塊愈向後(亦即,P影像塊跟隨〗影像塊愈接近),則假 〜愈引人注意。如先則所論述,儘管如此,但一般而言, p影像塊跟隨Ϊ影像塊愈接近,用於彼P影像塊之資料愈 小。因此’跟隨I影像塊之p影像塊不僅對於保護以免丟失 139849.doc •90· 200949567 而5更關鍵,而且其大小較小。此外,一般而言,需要保 護之資料愈小,保護其所需之FEC碼愈小。In one embodiment, the colocation service 210 initially evaluates the channel's available maximum data rate 622 and latency to determine the appropriate data rate for the video stream and then dynamically adjusts the data rate in response thereto. To adjust the data rate, the colocation service 210 can, for example, modify the image resolution and/or the number of frames per second of the video stream to be sent to the client 415. In addition, the colocation service can adjust the quality level of the compressed video. When changing the resolution of the video stream (e.g., from 1280x720 resolution to 64〇x36〇), the video decompression logic 412 on the client 415 can scale the image to maintain the same image size on the display screen. In one embodiment, the colocation service 210 suspends the game in the event that the channel is completely exited. In the case of a multiplayer game, the colocation service reports to other users that the user has quit the game and/or paused the game for other users. The discarded or delayed packet is in a real case. 'If the data is lost due to packet loss between the video squad 4〇4 and the client 415 in Figure 4a or 4b, or cannot be decompressed due to reaching + night. And the video that satisfies the delay requirement of the decompressed frame is received without loss of order, and the video decompression logic 412 can divide the visual artifact. In the streaming I/p frame implementation, if there is a lost/delayed white packet, the entire screen is affected, which may cause the screen to completely freeze. Name 139849.doc -87- 200949567 A time period or display other screen wide visual artifacts . For example, if the lost/delayed packet causes the loss of the I frame, then the decompressor will lack all of the p-frames to follow before receiving the new I-frame. If the P frame is missing, it will affect the following p-frame for the entire screen. 'How long before the I frame appears, this will have a longer or shorter visual impact. Use as shown in Figure 7a and Figure 7b. Demonstrating interleaved I/p blocks, lost/delayed packets are less likely to affect the entire screen because it only affects the image blocks contained in the affected packets. If the data of each image block is sent in an individual packet, if the packet is lost, it affects only one image block. Of course, the duration of the illusion will depend on whether the 丨 image block packet is lost and how many frames will be spent before the image block appears in the event of a p-picture block loss. However, assuming that the different image blocks on the screen are updated very frequently (perhaps with each frame), even if one of the image blocks on the screen is affected, the other image blocks may not be affected. In addition—if the packet is lost at the same time (for example, the power of the adjacent DSL line: the spike of the bedding stream), some image blocks will be more affected than other image blocks, but because some of the image blocks will be replaced by new ones. The image block is updated quickly, so it is only temporarily affected. Moreover, in the case of the implementation of the streaming I/p frame, not only the I frame is the most critical frame, but the old frame is extremely large, so if the ft causes the event of the discarded/delayed packet, then the I is much smaller. The image block t 'I frame x affects the existence of a higher probability (that is, any part of the w frame is lost) is impossible to decompress the I frame). For all of these reasons, when the packet is discarded/extended, the block is caused by a much smaller visual artifact than when the ι/p frame is in the same state. 139849.doc -88 - 200949567 An embodiment attempts to reduce the effects of lost packets by intelligently encapsulating compressed video blocks into TCP (Transmission Control Protocol) packets or UDP (User Datagram Protocol) packets. For example, in one embodiment, as long as .τ can' align the image block with the packet boundary. Figure 1Ga illustrates how an image block can be encapsulated in a series of packets 1001_1005 without implementing this feature. Specifically, in Figure 1A, the image block crosses the packet boundary and is inefficiently packaged so that the loss of the single-packet causes multiple frames to be lost. For example, if the packet 1003 or 1004 is lost, I lose three image blocks, resulting in visual artifacts. In contrast, Figure 10b illustrates image block packaging logic 1010 for intelligently encapsulating image blocks within a packet to reduce the effects of packet loss. First, image block encapsulation logic 1010 aligns the image block with the packet boundary. Therefore, the image blocks ΤΙ, T3, T4, T7, and T2 are aligned with the boundaries of the packets 1001_1 〇〇 5, respectively. Image block encapsulation logic also attempts to combine image blocks into packets in a potentially more efficient manner without crossing the packet boundaries. Based on the size of each Φ in the image block, the image blocks T1 and T6 are combined in one packet 1〇〇1; T3 and T5 are combined in one packet 1002; and the image blocks are combined into one packet 1003. Medium 'Add image block D8 to packet 1〇〇4; and add image block T2 to packet 1005. Therefore, under this scheme, a single packet loss will result in the loss of no more than 2 image blocks (rather than the 3 image blocks as illustrated in Figure 10a). An additional benefit of the embodiment shown in Figure 1 is that the image blocks are transmitted in a different order in which they are displayed within the image. This approach produces less noticeable artifacts on the display if the adjacent packets are lost due to the same event that interferes with the transmission (which would affect areas that are not close to each other on the screen 139849.doc •89-200949567). An embodiment uses forward error correction (FEC) techniques to protect a particular portion of the video stream from channel errors. As is known in the art, FEC techniques such as Reed-Solomon and Viterbi generate error correction information and attach it to the material transmitted via the communication channel. If an error occurs in the basic data (for example, the frame), FEC can be used to correct the error. The FEC code increases the data rate of the transmission, so ideally it is only used when it is most needed. If the material is being sent and it will not result in a very noticeable visual artifact, then the FEC code may preferably not be used to protect the material. For example, the p-image block immediately before the missing I image block will only produce a 1/60 second visual artifact on the screen (ie, the image block on the screen will not be updated). This visual artifact can hardly be detected by the human eye. As the p-image block is further backwards from the I-image block, the loss of the p-image block becomes more and more noticeable. For example, if the image block cycle pattern is that an I image block is followed by 15 P image blocks before the image block is available again, then if the P image block immediately after the z image block is lost, it leads to The image block shows an incorrect image for 15 frame times (at 60 fpS, it will be 250 milliseconds). The human eye will easily detect a 250 millisecond flow interruption. Therefore, the more the p image block is from the new I image block (that is, the closer the P image block follows the image block), the more noticeable ~ is noticed. As discussed earlier, in general, the closer the p-image block follows the Ϊ image block, the smaller the data used for the P-image block. Therefore, the p-image block following the I image block is not only critical for protection from loss, but also smaller. In addition, in general, the smaller the information that needs to be protected, the smaller the FEC code needed to protect it.
因此,如圖1 la中所說明,在一實施例中,由於j影像塊 在視訊流中之重要性,僅j影像塊具備FEC碼。因此,FEC ' 1101含有用於1影像塊1100之錯誤校正碼且FEC 1104含有 用於I影像塊1103之錯誤校正碼。在此實施例中,對於?影 像塊不產生FEC。 • 在圖lib中所說明之一實施例中,對於在丟失時最可能 引起視覺假影之P影像塊亦產生FEC碼。在此實施例中, 咖11〇5提供用於前3個p影像塊但不用於跟隨的p影像境 之錯誤校正碼。在另一實施例中,對於資料大小最小之P 影像塊產生FEC碼(其將傾向於自選在Γ影像塊之後最早出 現的Ρ影像塊,其對於保護最為關鍵)。 在另-實施例中,並非將FEC碼連同影像塊一起發送, 而是將影像塊傳輸兩次,每次在不同封包中傳輸。若一封 φ 包丟失/延遲,則使用另一封包。Thus, as illustrated in Figure la, in one embodiment, only the j image block has an FEC code due to the importance of the j image block in the video stream. Therefore, FEC '1101 contains an error correction code for 1 video block 1100 and FEC 1104 contains an error correction code for I picture block 1103. In this embodiment, for? The image block does not produce FEC. • In one embodiment illustrated in Figure lib, an FEC code is also generated for P-picture blocks that are most likely to cause visual artifacts when lost. In this embodiment, the coffee 11〇5 provides error correction codes for the first 3 p-image blocks but not for the following p-images. In another embodiment, an FEC code is generated for a P-image block having the smallest data size (which would tend to be the first Ρ image block that appears after the Γ image block, which is most critical for protection). In another embodiment, instead of transmitting the FEC code along with the image block, the image block is transmitted twice, each time in a different packet. If a φ packet is lost/delayed, another packet is used.
415處無失真地再現。 如,滴答聲或嘶嘶聲)將導致特別不合需 。咖碼幫助確保音訊内容在 :415 is reproduced without distortion. For example, ticking or snoring will result in particular undesirableness. The coffee code helps ensure that the audio content is:
在另一實施例中, 送’而是將音訊資料偵 I39849.doc -91 - 200949567 若一封包丟失/延遲,則使用另一封包。 另外’在圖lid中所說明之一實施例中,FEC^^ 112ι及 1123分別用於自用戶端415上行傳輸至主機代管服務21〇之 使用者輸入命令(例如,按鈕按壓)112〇及1122。此係重要 的,因為在視訊遊戲或應用程式中漏掉按鈕按壓或滑鼠運 動可能導致不合需要之使用者體驗。 在另一實施例中,並非將FEC碼連同使用者輸入命令資 料一起發送,而是將使用者輸入命令資料傳輸兩次,每次 在不同封包中傳輸。若一封包丟失/延遲,則使用另一封 包。 在一實施例中,主機代管服務21〇評估與用戶端415之通 信頻道之品質,以判定是否使用FEC,且若使用,則判定 應對視訊、音訊及使用者命令之何部分應用FEc。評估頻 道之「品質」可包括如上所述的諸如估計封包丟失、延時 等之功能。若頻道特別不可靠,則主機代管服務21〇可對 所有I影像塊、p影像塊、音訊及使用者命令應用FEc。相 比之下,若頻道可靠,則主機代管服務21〇可僅對音訊及 使用者命令應用FEC,或可不對音訊或視訊應用fec,或 可根本不使用FEC。可使用FEC之應用之各種其他排列, 同時仍遵守此等基本原理。在一實施例中,主機代管服務 2 1 0不斷地監視頻道之狀況且相應地改變fec策略。 在另一實施例中,參看圖乜及圖仆,當封包丟失/延 遲,從而導致影像塊資料之丟失時,或若可能由於特別糟 之封包丟失而使得FEC不能夠校正丟失的影像塊資料,用 139849.doc -92- 200949567 戶端415評估在將接收新的i影像塊之前剩餘多少個圖框且 :用戶端415至主機代管服務210之來回行程延時相 比較右來回仃程延時小於新的旧像塊應到達之前的圖 框之數目’則用戶端415向主機代管服務21〇發送訊息,請 . 束新的1⑥像塊。將此訊息路由至視訊Μ縮器404,且其並 非產生用於資料已丢失之影像塊的ρ影像塊,而是產生【影 像塊。假定圖4a及圖仆中所展示之系統經設計以提供通常 參+於8〇毫秒之來回行程延時,則此導致影像塊被校正於80 毫和内(在60 fpS下,圖框具有16 67毫秒之持續時間因此 在全圖框時間巾,8G毫秒延時將導致㈣毫秒内的經校 正之影像塊,83.33毫秒為5個圖框時間,其為引人注意的 中斷,但遠不及(例如)對於15個圖框25〇毫秒中斷引人注 意)。當壓縮器4〇4脫離其通常的循環次序而產生此種!影像 塊時,若I影像塊將引起彼圖框之頻寬超過可用頻寬,則 壓縮器404將延遲其他影像塊之循環,以使得其他影像塊 ❿ 在彼圖框時間期間接收P影像塊(即使在彼圖框期間一影像 塊通常將應為〗影像塊),且接著通常的循環將自下一個圖 框開始繼續,且通常將已接收到先前圖框中之〗影像塊的 影像塊將接收I影像塊。儘管此動作暫時延遲尺圖框循環之 階段,但其通常將在視覺上不引人注意。 視訊及音訊壓縮器/解壓縮器實施 圖丨2說明一特定實施例,其中使用多核及/或多處理器 1200來並行地壓縮8個影像塊.在一實施例中,使用在 2.66 GHz或更高下執行之雙核處理器、四核Xe〇n cpu電腦 139849.doc •93· 200949567 系統,每一核心作為獨立過程實施開源x264 Η.264壓縮 器。然而,可使用各種其他硬體/軟體組態,同時仍遵守 此等基本原理。舉例而言,CPU核心中之每一者可藉由以 FPGA實施之H.204壓縮器來替換。在圖12中所展示之實例 中,核心1201-1208用於作為八個獨立線緒來同時處理I影 像塊及P影像塊。如此項技術中眾所熟知的,當前多核及 多處理器電腦系統與諸如Microsoft Windows XP專業版(64 位元版或者32位元版)及Linux之多線緒處理作業系統整合 時,其固有地能夠進行多線緒處理。 在圖12中所說明之實施例中,因為該8個核心中之每一 者僅負責一影像塊,所以其很大程度上獨立於其他核心而 操作,每一者執行x264之單獨實例化。使用以PCI Express xl為基礎之DVI俘獲卡(諸如,來自Netherlands的 Microtronix of Oosterhout之 Sendero視訊成像 IP 開發板)來 俘獲640x480、800x600或1280x720解析度下的未經壓縮之 視訊,且卡上之FPGA使用直接記憶體存取(DMA)來將所 俘獲之視訊經由DVI匯流排傳送至系統RAM中。將該等影 像塊配置成4x2配置1205(儘管其說明為方形影像塊,但在 此實施例中,其具有160x240解析度)。x264之每一實例化 經組態以壓縮該8個160x240影像塊中之一者,且其經同步 化以使得在初始I影像塊壓縮之後每一核心進入一循環, 每一圖框與另一圖框不同相,以壓縮一 I影像塊繼之以七 個P影像塊,如圖12中所說明。 在每一圖框時間,使用先前所描述之技術將所得的經壓 139849.doc -94- 200949567 縮影像塊組合成封包流,且接著將經壓縮影像塊傳輸至目 的地用戶端41 5。 儘管圖12中未說明,但若組合的8個影像塊之資料速率 超過指定峰值資料速率941,則所有8個x264過程將暫時中 止歷時達必要的圖框時間,直至已傳輸用於組合的8個影 像塊之資料為止。 在一實施例中,將用戶端415實施為執行FFmpeg之8個 實例化之PC上的軟體。接收過程接收8個影像塊,且將每 一影像塊路由至FFmpeg實例化,FFmpeg實例化解壓縮影 像塊並將其再現至顯示器件422上之適當影像塊位置。 用戶端41 5接收來自PC之輸入器件驅動器的鍵盤、滑鼠 或遊戲控制器輸入並將其傳輸至伺服器402。伺服器402接 著應用所接收之輸入器件資料並將其應用於在伺服器402 上執行之遊戲或應用程式,伺服器402為使用Intel 2.16 GHz雙核CPU執行Windows之PC。伺服器402接著產生新圖 框並經由其DVI輸出端將新圖框自以主機板為基礎之圖形 系統或者經由NVIDIA 8800GTX PCI Express卡之DVI輸出 端輸出。 同時,伺服器402經由其數位音訊輸出端(例如, S/PDIF)輸出由遊戲或應用程式產生之音訊,該數位音訊 輸出端耦合至實施視訊壓縮的以雙四核Xeon為基礎之PC 上的數位音訊輸入端。Vorbis開源音訊壓縮器用於使用可 用於處理線緒之無論什麼核心來與視訊同時地壓縮音訊。 在一實施例中,完成壓縮其影像塊之核心首先執行音訊壓 139849.doc •95· 200949567 縮。接著將經壓縮之音訊連同經壓縮之視訊一起傳輸,並 在用戶端415上使用Vorbis音訊解壓縮器來解壓縮經壓縮之 音訊。 主機代管服務伺服器中心分配 經由玻璃(諸如,光纖)之光以光在真空中之速度的某一 分率行進,且因此可判定光在光纖中之確切傳播速度。但 是’在實踐中,考慮用於路由延遲、傳輸無效率及其他耗 用之時間,吾人觀察到網際網路上之最佳延時反映較接近 光速之50%的傳輸速度。因此,最佳1〇〇〇英里來回行程延 時為約22毫秒,且最佳3000英里來回行程延時為約64毫 秒。因此,一美國海岸上之單一伺服器將距離過遠以致不 能以所要之延時祠服另一海岸上之用戶端(其可能達3〇〇〇 英里遠)。然而’如圖13a中所說明,若主機代管服務21〇 词服器中心1300定位於美國之中心(例如,Kansas、 Nebraska等)’以致至美國大陸中之任何點之距離為約丨5 〇〇 英里或1500英里以下,來回行程網際網路延時可低至32毫 秒。參看圖4b,注意:儘管使用者ISP 453所允許之最糟狀 況延時為25毫秒,但通常,在DSL及電纜數據機系統之情 況下吾人觀察到較接近10-15毫秒之延時。又,’圖4b假定 自使用者場所211至主機代管中心210之最大距離為1 〇〇〇英 里°因此’在所使用的典型的15毫秒之使用者isP來回行 程延時及對於32毫秒之來回行程延時的15〇〇英里之最大網 際網路距離的情況下,自使用者致動輸入器件421之時刻 至在顯示器件422上看見回應的總來回行程延時為 139849.doc •96· 200949567 1 + 1 + 15+32 + 1 + 16+6+8=80 毫秒 因此,通常可在1500英里 之網際網路距離上達成8〇毫秒⑽㈣m許美國大 陸中具有足夠短之使用者ISP延時453的任何使用者場所存 取在中心定位之單一伺服器中心。 在圖13b中所說明之另一實施例中,主機代管服務㈣祠 服器中心HS1-HS6戰略上定位於美國(或其他地理區域)之 周圍,特定較大之主機代管服務伺服器巾心、接近高人口中 心而定位(例如’HS2及HS5)。在—實施例中,伺服器中心 聰-腸經由網路13〇1交換資訊,網路η〇ι可為網際網路 或私用網路或兩者之組合4多㈣服器中心、之情況下, 可以較低延時向具有高使用者Isp延時453之使用者提供服 務0In another embodiment, instead, the audio data is detected. I39849.doc -91 - 200949567 If one packet is lost/delayed, another packet is used. In addition, in one embodiment illustrated in the figure, FEC^1121 and 1123 are respectively used for user input commands (eg, button presses) 112 from the user terminal 415 to the host escrow service 21, respectively. 1122. This is important because missing button presses or mouse movements in a video game or application can result in an undesirable user experience. In another embodiment, rather than transmitting the FEC code along with the user input command data, the user input command data is transmitted twice, each time in a different packet. If a packet is lost/delayed, another packet is used. In one embodiment, the colocation service 21 evaluates the quality of the communication channel with the client 415 to determine whether to use the FEC, and if so, determines which portion of the video, audio, and user commands should be applied for the FEc. The "quality" of the evaluation channel may include functions such as estimating packet loss, delay, etc. as described above. If the channel is particularly unreliable, the colocation service 21 can apply FEc to all I video blocks, p video blocks, audio and user commands. In contrast, if the channel is reliable, the colocation service 21 can apply FEC only for audio and user commands, or can apply fec to audio or video, or can not use FEC at all. Various other arrangements of FEC applications can be used while still adhering to these basic principles. In an embodiment, the colocation service 2 10 continuously monitors the status of the channel and changes the fec policy accordingly. In another embodiment, referring to the figure and the servant, when the packet is lost/delayed, resulting in loss of image block data, or if the FEC is unable to correct the lost image block data due to the particularly bad packet loss, Using 139849.doc -92- 200949567, the client 415 evaluates how many frames remain before the new i-picture block will be received and the round-trip delay of the client 415 to the colocation service 210 is less than the new round-trip delay. The old image block should reach the number of previous frames. Then the client 415 sends a message to the colocation service 21, please. Please bundle the new 16 image block. This message is routed to the video squeezer 404, which does not generate a ρ image block for the image block from which the data has been lost, but instead produces a [image block. Assuming that the system shown in Figure 4a and the servant is designed to provide a normal runback delay of 8 〇 milliseconds, this results in the image block being corrected to 80 s and within (at 60 fpS, the frame has 16 67 The duration of milliseconds is therefore in the full frame time, the 8G millisecond delay will result in a corrected image block in (four) milliseconds, and 83.33 milliseconds is 5 frame times, which is an attractive interruption, but far less than (for example) For 15 frames, the 25-millisecond interrupt is noticeable). This occurs when the compressor 4〇4 leaves its usual cycle order! In the image block, if the I image block will cause the bandwidth of the frame to exceed the available bandwidth, the compressor 404 will delay the loop of the other image blocks so that the other image blocks receive the P image block during the frame time ( Even if a block of images will normally be a block of images during the frame, and then the usual loop will continue from the next frame, and usually the image block that has received the image block in the previous frame will Receive an I image block. Although this action temporarily delays the stage of the ruler loop, it will usually be visually unobtrusive. Video and Audio Compressor/Decompressor Implementation Figure 2 illustrates a particular embodiment in which multiple cores and/or multiple processors 1200 are used to compress eight image blocks in parallel. In one embodiment, at 2.66 GHz or more High-performance dual-core processor, quad-core Xe〇n cpu computer 139849.doc • 93· 200949567 system, each core as an independent process to implement open source x264 Η.264 compressor. However, a variety of other hardware/software configurations can be used while still adhering to these basic principles. For example, each of the CPU cores can be replaced by an H.204 compressor implemented in an FPGA. In the example shown in Figure 12, cores 1201-1208 are used to process I and P blocks simultaneously as eight separate threads. As is well known in the art, current multi-core and multi-processor computer systems are inherently integrated with multi-threaded processing operating systems such as Microsoft Windows XP Professional (64-bit or 32-bit) and Linux. Ability to perform multi-thread processing. In the embodiment illustrated in Figure 12, since each of the eight cores is only responsible for one image block, it operates largely independently of the other cores, each performing a separate instantiation of x264. Use a PCI Express xl-based DVI capture card (such as the Sendero Video Imaging IP Development Board from Microtronix of Oosterhout in the Netherlands) to capture uncompressed video at 640x480, 800x600 or 1280x720 resolution, and the FPGA on the card Direct memory access (DMA) is used to transfer the captured video to the system RAM via the DVI bus. The image blocks are configured in a 4x2 configuration 1205 (although this is illustrated as a square image block, in this embodiment it has a 160x240 resolution). Each instantiation of x264 is configured to compress one of the eight 160x240 image blocks and is synchronized such that each core enters a loop after initial I image block compression, each frame and another The frames are out of phase to compress an I image block followed by seven P image blocks, as illustrated in FIG. At each frame time, the resulting compressed 139849.doc -94 - 200949567 thumbnail blocks are combined into a packet stream using the techniques previously described, and the compressed image block is then transmitted to the destination client 41 5 . Although not illustrated in Figure 12, if the data rate of the combined 8 image blocks exceeds the specified peak data rate 941, all 8 x264 processes will temporarily suspend the necessary frame time until the 8 for the combination has been transmitted. The data of the image block. In one embodiment, client 415 is implemented as a software executing on 8 instantiated PCs of FFmpeg. The receiving process receives eight image blocks and routes each image block to FFmpeg for instantiation, and FFmpeg instantiates the decompressed image block and reproduces it to the appropriate image block location on display device 422. The client 41 5 receives the keyboard, mouse or game controller input from the input device driver of the PC and transmits it to the server 402. The server 402 then receives the input device data received by the application and applies it to the game or application executed on the server 402. The server 402 is a PC that executes Windows using an Intel 2.16 GHz dual-core CPU. Server 402 then generates a new frame and exports the new frame to the motherboard based graphics system via its DVI output or via the DVI output of the NVIDIA 8800GTX PCI Express card. At the same time, the server 402 outputs audio generated by the game or application via its digital audio output (eg, S/PDIF), which is coupled to a dual quad-core Xeon-based PC that implements video compression. Digital audio input. The Vorbis open source audio compressor is used to compress audio simultaneously with video, regardless of the core that can be used to process the thread. In one embodiment, the core of the compressed image block is first compressed to perform an audio signal 139849.doc • 95· 200949567. The compressed audio is then transmitted along with the compressed video and the compressed audio is decompressed at the client 415 using a Vorbis audio decompressor. The colocation service server center distributes light traveling through the glass (such as an optical fiber) at a fraction of the speed of the light in the vacuum, and thus the exact propagation speed of the light in the fiber can be determined. However, in practice, considering the routing delay, transmission inefficiency, and other elapsed time, we have observed that the optimal delay on the Internet reflects a transmission speed that is closer to 50% of the speed of light. Therefore, the optimal 1 mile round trip delay is about 22 milliseconds, and the optimal 3000 mile round trip delay is about 64 milliseconds. As a result, a single server on the US coast will be too far away to be able to compromise the client on the other coast (which may be up to 3 miles away) with the desired delay. However, as illustrated in Figure 13a, if the colocation service 21 is located at the center of the United States (eg, Kansas, Nebraska, etc.), the distance to any point in the continental United States is approximately 5 〇. For miles or less than 1,500 miles, the internet latency can be as low as 32 milliseconds. Referring to Figure 4b, note that although the worst case delay allowed by the user ISP 453 is 25 milliseconds, in general, in the case of DSL and cable modem systems, we observe a delay of approximately 10-15 milliseconds. Again, 'Fig. 4b assumes that the maximum distance from the user premises 211 to the colocation center 210 is 1 mile. Therefore, the typical 15 millisecond user isP round trip delay and 32 milliseconds back and forth. In the case of a maximum internet distance of 15 miles for the travel delay, the total round trip delay from the moment the user actuates the input device 421 to the response seen on the display device 422 is 139849.doc • 96· 200949567 1 + 1 + 15+32 + 1 + 16+6+8=80 milliseconds, therefore, typically achieves 8 milliseconds (10) (4) in the Internet distance of 1500 miles. Any use of the user's ISP delay 453 is short enough in the continental United States. The site accesses a single server center located at the center. In another embodiment illustrated in Figure 13b, the colocation service (4) server center HS1-HS6 is strategically located around the United States (or other geographic area), a particular larger colocation service server towel Positioned close to the center of the population (eg 'HS2 and HS5'). In the embodiment, the server center Cong-intestine exchanges information via the network 13〇1, and the network η〇ι can be an internet or a private network or a combination of the two. 4 (4) server center, the case Under the lower delay, it can provide services to users with high user Isp delay 453.
儘B周際網路上之距離的確為對經由網際網路之來回行 程L時有衫響的因f,但有時很大程度上與延時無關之其 他因素亦起作用。有時經由網際網路將封包流路由至距離 遠之位置且再次返回,從而導致來自長循環之延時。有時 在路徑上存在不適當操作之路由設備,從而導致傳輸之延 遲。有時存在使路徑超載之訊務,其引入延遲。此外,有 時,根本係存在防止使用者之ISP路由至給定目的地的故 障。因此,儘管通用網際網路通常以相當可靠且最佳之路 由及延時來提供自—點至另一點之連接 ,該相當可靠且最 佳之路線及延時很大程度上係藉由距離來判定(尤其是在 導致路由至使用者之本端區域之外部的長距離連接的情況 下)’但該可靠性及延時得不到任何保證且常常不可自使 139S49.doc -97- 200949567 用者之場所至通用網際網路上之給定目的地而達成β 在一實施例中’當使用者用戶端415最初連接至主機代 管服務210以玩視訊遊戲或使用應用程式時,用戶端在啟 動時與可用的主機代管服務伺服器中心Hs丨_HS6中之每一 者通信(例如,使用上文所描述之技術)。若延時對於特定 連接而言足夠低,則使用彼連接。在一實施例中,用戶端 與所有主機代管服務伺服器中心或主機代管服務伺服器中 ^之子集通化,選擇具有最低延時連接之主機代管服務 伺服器中心。用戶端可選擇具有最低延時連接之服務中 、或伺服益中心可識別具有最低延時連接之伺服器中心 並將此資訊(例如,以網際網路位址之形式)提供給用戶 端。 右特疋主機代管服務伺服器中心超載及/或使用者之竭 戲或應用程式可容忍至另一、較少载入之主機代管服務存 服器中心的延時,則可將用戶端415重定向至另一主機於 管服務伺服器中心、。在此種情形下,將使使用者正執行之 遊戲或應用程式在使用者之超制服器中^處的飼服突 4〇2上暫停,且將遊戲或應用程式狀態資料傳送至另一: 機代管服務伺服器中心處之伺服器術。接著將重新開% 該遊戲或應用程式。在一實施例中,主機代管服務加將 等待直至遊戲或應隸式達到自㈣停點(例如,遊戲中 之級別之間,或者在使用者在應用程式中起始「保存」操 作之後)才進行傳送。在又一實施例中,主機代管服務21( 將等待直至使用者活動停止歷時指定時間週期(例如,^分 139849.doc -98· 200949567 鐘)為止且接著將在彼時起始傳送 如上所述,在一實施例中’主機代管服務21〇訂用圖14 之網際網路繞過服務4似試圖將得到保證的延時提供給 其用戶端。如本文中所使用之網際網路繞過服務係提供自 網際網路上之一 St 5 S wi. 之點至另一點之具有得到保證之特性(例 如,延時、資料速率等)的私用網路路線的服務。舉例而 言,若主機代f服務210正使用在“⑽心。提件的The distance on the B-week network is indeed a factor in the response to the Internet through the Internet, but sometimes other factors that are largely unrelated to the delay also work. Sometimes the packet flow is routed to a remote location via the Internet and returned again, resulting in a delay from the long loop. Sometimes there are routing devices that are not operating properly on the path, resulting in delays in transmission. There are sometimes traffic that overloads the path, which introduces delays. In addition, sometimes, there is a failure to prevent the user's ISP from routing to a given destination. Therefore, while the universal Internet usually provides connections from one point to another with fairly reliable and optimal routing and latency, this fairly reliable and optimal route and delay is largely determined by distance ( Especially in the case of long-distance connections that lead to the outside of the local area of the user) 'but the reliability and delay are not guaranteed and often cannot be used by 139S49.doc -97- 200949567 Achieving β to a given destination on the general Internet In one embodiment, 'when the user client 415 is initially connected to the colocation service 210 to play a video game or use an application, the client is available at startup and available. Each of the colocation service server centers Hs丨_HS6 communicates (eg, using the techniques described above). If the delay is low enough for a particular connection, use the connection. In one embodiment, the client communicates with a subset of all colocation server servers or colocation service servers, selecting the colocation service server center with the lowest latency connection. The client can select the service with the lowest latency connection, or the server can identify the server center with the lowest latency connection and provide this information (for example, in the form of an internet address) to the client. The right-hand host hosting service server center overload and/or user's exhaustion or application can tolerate the delay of another, less loaded colocation service server center, then the client terminal 415 Redirect to another host in the server service server center. In this case, the game or application being executed by the user will be suspended on the feeding device 4 in the user's super uniform and the game or application status data will be transferred to the other: The server service at the server hosting server. Then the % or the game will be reopened. In an embodiment, the colocation service add will wait until the game or the liaison reaches the (four) stop (eg, between levels in the game, or after the user initiates a "save" operation in the application) Only transfer. In yet another embodiment, the colocation service 21 (will wait until the user activity ceases for a specified period of time (eg, ^139849.doc -98.200949567 clock) and then will start transmitting at the time as above As described, in an embodiment, the "hosting service 21" subscribes to the Internet bypass service 4 of Figure 14 as if attempting to provide a guaranteed delay to its client. As used herein, the Internet bypass The service provides a service from a point of St 5 S wi. on the Internet to another point of private network routing with guaranteed features (eg, latency, data rate, etc.). f service 210 is being used in "(10) heart.
AT&T之親服務接收來自制者之大量訊務(而非路由至 以AT&T之San Francisc〇為基地的中央辦公室),則主機代 f服務210將在以San Franeise。為基地之十央辦公室與用 於主機代管服務210之伺服器中心中的-或多者之間租用 來自服務提供者(可能為AT&T本身或另—提供者)之高容量 私用資料連接。接著,#自所有主機代管服務飼服器中心 HS1-HS6經由通用網際網路至San中使用 DSL之使用者的路線導致過高料,則可改為使用私用資 料連接。儘管私用資料連接通常比經由通用網際網路之路 線更昂貴,但只要其保持主機代管服務21〇之一小百分比 連接至使用者,總成本料就低,且使㈣㈣驗到更— 貫之服務體驗。 在電力故障之情況下,伺服器中心常常具有兩個備用電 力層。第一層通常為來自電池(或來自替代的立即可用之 能量源,諸如保持運轉且附接至發電機之飛輪)之備用電 力,其在電力幹線出故障時立即提供電力且保持伺服器中 〜運轉。若電力故障為暫時的,且電力幹線迅速返回(例 139849.doc -99- 200949567 如,在一分鐘内),則電池所需的係保持伺服器中心運 轉。但若電力故障歷時較長之時間週期,則通常啟動發電 機(例如,柴油機供電)來取代電池且發電機只要具有燃料 即可運轉。該等發電機極昂貴,因為其必須能夠產生多達 伺服器中心通常自電力幹線所得到的電力。 在一實施例中,主機代管服務HS1_HS5中之每一者彼此 共用使用者資料,以便在—伺服器中心具有電力故障時, °字在進行中的遊戲及應用程式暫停,且接著將遊戲或 應用程式狀態資料自每一伺服器搬傳送至其他祠服器巾_ 〜處之伺服器402,且接著將通知每—使用者之用戶端 以才曰導其傳達至新的词服器4〇2。假定該等情形偶爾出 見則將使用者轉移至不能夠提供最佳&時之主機代管服 務飼服器中心(亦即,使用者將僅必須容忍較高延時歷時 電力故障之持續時間)可為可接受的,其將允許用於轉移 使用者之寬得多的範圍的選項。舉例而言,給定跨越美國 之時區差’則東海岸上之使用者在11:30PM可能將要睡 眠、’而西海岸上之制者在8:30PM正開始在視訊賴❹❹ 上達到峰值。若彼時西海岸上之主機代管服務飼服器中心 中存在電力故障,則其他主機代管服務祠服器中心處可能 不存在用於處理所有使用者之足夠的西海岸伺服器402。 在此f情形下,可將一些使用者轉移至東海岸上具有可用 词服益402之主機代管服務伺服器中心,且對於使用者而 :的唯後果將係較高延時。一旦將使用者自失去電力之 飼服益中心轉移,伺服器中心接著就可開始其飼服器及設 139849.doc •100- 200949567 備之有序切斷,以便在電池(或其他立即電力備用)耗盡之 前切斷所有設備。以此方式,可避免用於伺服器中心之發 電機的成本。 在一實施例中,在主機代管服務210之嚴重載入之時間 期間(或者由於峰值使用者載入,或者因為一或多個伺服 器中心出故障),基於使用者正使用之遊戲或應用程式之 延時要求將使用者轉移至其他伺服器中心。因此,將為使 ❿ 用需要低延時之遊戲或應用程式的使用者給出對存在有限 供應之可用低延時伺服器連接的優選。 主機代管服務特徵 圖15說明在以下特徵描述中利用的用於主機代管服務 210之伺服器中心之組件的實施例。如同圖中所說明之 主機代管服務21〇—樣,除非另外有條件,否則此伺服器 中心之組件由主機代管服務21〇控制系統4〇1來控制及協 調。 ❹ 將來自使用者用戶端415之入埠網際網路訊務15〇1指引 至入埠路由15 02。通常,入埠網際網路訊務丨別丨將經由至 網際網路之高速光纖連接而進入伺服器中心,但具有足夠 頻寬、可靠性及低延時之任何網路連接構件將係足夠的。 入埠路由1502係網路(該網路可實施為乙太網路、光纖頻 道網路,或經由任何其他輸送構件)交換器及支援該等交 換器之路由伺服器的系統,其取得到達的封包且將每一封 包路由至適當應用程式/遊戲伺服器1521_1525。在一實施 例中,遞送至特定應用程式/遊戲飼服器之封包表示自用 139849.doc -101 - 200949567 戶端所接收之資料之一子集及/或可由資料中心内之其他 組件(例如,網路連接組件,諸如閘道器及路由器)來轉譯/ 改變。在一些狀況下,(例如)若遊戲或應用程式同時並行 地在多個伺服器上執行,則每次將封包路由至一個以上伺 服器1521·1525。RAID陣列1511_1512連接至人埠路由網路 1502,以使得應用程式/遊戲伺服器可讀取 陣列1511-1512及寫入尺八11)陣列1511_1512。另外,尺八1〇 陣列1515(其可實施為多個RAID陣列)亦連接至入埠路由 1502,且來自RAID陣列1515之資料可自應用程式/遊戲伺 服器1521-1525來讀取。入埠路由15〇2可在多種先前技術 網路架構(包括樹結構之交換器,入埠網際網路訊務ΐ5〇ι 在其根部)中實施;在互連所有各種器件之網狀結構中實 施,或作為互連之子網路序列(互通器件當中之集中訊務 與其他器件當中之集中訊務隔離)來實施。一類型之網路 組態為SAN,其儘管通常用於儲存器件,但其亦可用於器 件之間的通用高速資料傳送。又,應用程式/遊戲伺服器 1521-1525可各自具有至入埠路由15〇2之多個網路連接。 舉例而s ,伺服器1521-1525可具有至附接至RAID陣列 1511-1512之子網路的網路連接及至附接至其他器件之子 網路的另一網路連接。 應用程式/遊戲伺服器1521-1525可經相同地、有些不同 地或全部不同地來組態,如先前關於圖钓中所說明之實施 例中之伺服器402所描述的。在一實施例中,每一使用者 當使用主機代管服務時通常為至少一應用程式/遊戲伺服 139849.doc •102· 200949567AT&T's pro-service receives a large amount of traffic from the system (rather than routing to the central office based on AT&T's San Francisc〇), then the host f service 210 will be in San Franeise. Hiring high-capacity private data from a service provider (possibly AT&T itself or another provider) between the ten central office of the base and the server center for the colocation service 210 connection. Then, ############################################################################################# Although the private data connection is usually more expensive than the route through the universal Internet, as long as it maintains a small percentage of the colocation service to the user, the total cost is low, and (4) (4) is more consistent. Service experience. In the event of a power failure, the server center often has two spare power layers. The first layer is typically backup power from a battery (or from an alternate ready-to-use energy source, such as a flywheel that remains operational and attached to the generator) that provides power immediately in the event of a power mains failure and remains in the server~ Running. If the power failure is temporary and the mains return quickly (eg, 139849.doc -99- 200949567, for example, within one minute), then the battery is required to maintain the server center. However, if the power failure lasts for a long period of time, the generator (e.g., diesel powered) is typically activated to replace the battery and the generator can operate as long as it has fuel. These generators are extremely expensive because they must be capable of generating as much power as the servo center typically draws from the mains. In one embodiment, each of the colocation services HS1_HS5 shares user data with each other so that when there is a power failure in the server center, the game and application in progress are paused, and then the game or The application status data is transferred from each server to the server 402 at the other server towel, and then the user of each user is notified to communicate to the new word processor. 2. Assuming that the situation occasionally appears, the user is transferred to the colocation service center that is unable to provide the best & time (ie, the user will only have to tolerate the duration of the higher delay duration power failure) It may be acceptable that it will allow for the option of transferring a much wider range of users. For example, given the time difference across the United States, users on the East Coast may be sleeping at 11:30 PM, while the makers on the West Coast are starting to peak on the video at 8:30 PM. If there is a power failure in the hosted service server center on the West Coast, there may not be enough West Coast servers 402 to handle all users at the other hosting server center. In this case, some users may be transferred to the hosted service server center with the available word service 402 on the East Coast, and the consequences for the user will be higher. Once the user has transferred the feed from the loss of power, the server center can then start its feeder and set up an orderly cutoff for the battery (or other immediate power backup). ) Cut off all equipment before exhausting. In this way, the cost of the generator for the servo center can be avoided. In one embodiment, during the time of severe loading of the colocation service 210 (either due to peak user loading or because one or more server centers fail), based on the game or application being used by the user The program delay requires the user to be transferred to another server center. Therefore, users of games or applications that require low latency will be given the preference for available low latency server connections with limited supply. Hosted Hosting Service Features Figure 15 illustrates an embodiment of the components of the server center for the hosted hosting service 210 utilized in the following description of the features. As with the colocation service 21 illustrated in the figure, the components of this server center are controlled and coordinated by the colocation service 21〇 control system 4〇1 unless otherwise conditional.指引 Direct the incoming Internet traffic 15〇1 from the user client 415 to the incoming route 15 02. Typically, incoming Internet traffic screenings will enter the server center via high-speed fiber-optic connections to the Internet, but any network connectivity component with sufficient bandwidth, reliability, and low latency will suffice. Inbound routing 1502 is a network (which can be implemented as an Ethernet, fiber channel network, or via any other transport component) switch and a system that supports the routing servers of the switches, which arrives Packets are routed and routed to the appropriate application/game server 1521_1525. In one embodiment, the packet delivered to the particular application/game server represents a subset of the data received by the client 139849.doc -101 - 200949567 and/or may be other components within the data center (eg, Network connection components, such as gateways and routers, are translated/changed. In some cases, the packet is routed to more than one server 1521·1525 each time, for example, if the game or application is executing concurrently on multiple servers. The RAID arrays 1511_1512 are connected to the human routing network 1502 such that the application/game server can read the arrays 1511 - 1512 and the write shaku 11 ) arrays 1511 - 1 512 . In addition, the size array 1515 (which can be implemented as multiple RAID arrays) is also coupled to the incoming routing 1502, and the data from the RAID array 1515 can be read from the application/game servers 1521-1525. Incoming routing 15〇2 can be implemented in a variety of prior art network architectures (including tree-structured switches, inbound Internet traffic 在5〇ι at its root); in a mesh structure interconnecting all of the various devices Implemented, or implemented as a sub-network sequence of interconnects (concentrated traffic among interworking devices and centralized traffic isolation among other devices). One type of network is configured as a SAN, which, although commonly used for storage devices, can also be used for general high-speed data transfer between devices. Also, the application/game servers 1521-1525 can each have multiple network connections to the incoming route 15〇2. For example, 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. The application/game servers 1521-1525 can be configured identically, somewhat differently, or all differently, as previously described with respect to server 402 in the illustrated embodiment of the fishing. In one embodiment, each user typically has at least one application/game servo when using the colocation service 139849.doc • 102· 200949567
器1521-1525。出於說明之簡單起見,將假定給定使用者 正使用應用程式/遊戲伺服器1521,但多個伺服器可由一 使用者使用,且多個使用者可共用單一應用程式/遊戲伺 服器1521-1525。自用戶端41 5(如先前所描述)所發送的使 用者之控制輸入經接收為入埠網際網路訊務1 5 〇 1,且經由 入埠路由1502而路由至應用程式/遊戲伺服器丨52 1。應用 程式/遊戲伺服器1521使用使用者之控制輸入作為至在伺 服器上執行之遊戲或應用程式的控制輸入,且計算視訊及 與其相關聯之音訊的下一個圖框。應用程式/遊戲词服器 1521接著將未經壓縮之視訊/音訊1529輸出至共用視訊壓 縮15 3 0。應用程式/遊戲伺服器可經由任何構件(包括一或 多個超高速乙太網路連接)而輸出未經壓縮之視訊,但在 實把例中’視§孔係經由D VI連接而輸出,且音訊及其他 壓縮及通信頻道狀態資訊係經由通用串列匯流排(USB)連 接而輸出。 共用視訊壓縮1530壓縮來自應用程式/遊戲伺服器1521 1525的未經壓縮之視訊及音訊。該壓縮可完全以硬體或以 執行軟體之硬體來實施。可存在用於每一應用程式/遊戲 伺服器1521-1525之專用壓縮器 或若壓縮器足夠快,則 可使壓縮ϋ Μ縮來自一個以上應用程式/遊戲祠 服器152Μ525之視訊/音訊。舉例而言,在6〇fps下,視 訊圖框時間為關毫秒。若一壓縮器能夠在i毫秒内壓缩 1圖框,則彼壓縮器可用於藉由取得來自—個接—個之祠 服器的輪入而壓縮來自多達16個應用程式/遊戲伺服器 139849.doc -103- 200949567 1521-1525之視訊/音訊,該壓縮器保存每一視訊/音訊壓縮 過程之狀態且當其在來自伺服器之視訊/音訊流當中循環 時切換背景。此導致壓縮硬體的實質成本節省。因為不同 伺服器將在不同時間完成圖框,所以在一實施例中,壓縮 器資源係處於具有用於儲存每一壓縮過程之狀態之共用儲 存構件(例如,RAM,快閃記憶體)的共用集區153〇中,且 當伺服器1 521 -1 525圖框完整且準備被壓縮時,控制構件 判定彼時哪個壓縮資源可用,為該壓縮資源提供伺服器之 壓縮過程之狀態及待壓縮的未經壓縮之視訊/音訊之圖 框。 注意,用於每一伺服器之壓縮過程的狀態之一部封包化 括關於壓縮本身之資訊,諸如先前圖框之經解壓縮之圖框 緩衝資料(其可用作用於P影像塊之參考)、視訊輸出之解 析度;壓縮之品質;影像塊結構;每影像塊之位元之分 配,壓縮品質、音訊格式(例如,立體聲、環繞音效、 Dolby® AC-3)。但是壓縮過程狀態亦包括關於以下之通信 頻道狀態資訊:峰值資料速率941,及先前圖框(如圖处中 所說明)當前是否正被輸出(且因此應忽略當前圖框),及潛 在地是否存在應在壓縮中考慮的(諸如,過多封包丟失)影 響壓縮決策(例如,在I影像塊之頻率方面,等)的頻道特 性。因為峰值資料速率941或其他頻道特性隨著時間而改 變,如由支援每一使用者監視自用戶端415所發送之資料 的應用程式/遊戲伺服器1521_1525所判定的,所以應用程 式/遊戲伺服器152 1-1525將相關資訊發送至共用硬體壓縮 139849.doc -104- 200949567 1530。 共用硬體壓縮1530亦使用諸如先前所描述之彼等構件之 構件將經壓縮之視訊/音訊封包化,且在適當時,應用fec 碼,複製特定資料,或採取其他步驟,以便充分地確保視 . 訊7音訊資料流由用戶端415接收且以可行之高品質及可靠 性解壓縮的能力。 一些應用程式(諸如,下文所描述之彼等應用程式)需要 φ 給定應用程式/遊戲伺服器^21-1525之視訊/音訊輸出同時 在多個解析度下(或以其他多個格式)可用。若應用程式/遊 戲伺服器1521-1525如此通知共用硬體壓縮153〇資源,則 彼應用程式/遊戲词服器1521_1525的未經壓縮之視訊音訊 1529將被以不同格式、不同解析度及/或在不同封包/錯誤 校正結構中同時壓縮。在一些狀況下’一些壓縮資源可在 壓縮同一視訊/音訊之多個壓縮過程當中共用(例如,在許 多壓縮演算法中,存在藉以在應用壓縮之前將影像按比例 © 調整至多個大小的步驟。若需要輸出不同大小之影像,則 此步驟可用於同時伺服若干個壓縮過程)^在其他狀況 下,對於每一格式將需要單獨的壓縮資源。在任何狀況 下,將用於給定應用程式/遊戲伺服器1521-1525(—或多 )所需的所有各種解析度及格式的經壓縮之視訊/音訊 ⑽同時輸出至出埠路由⑽。在—實施财,經墨社 視訊/音訊1539之輸出係處於UDp格式,因此其為單向封包 流。 出埠路由網路1540包含-系列路由飼服器及交換器,該 139849.doc 200949567 系列路由伺服器及交換器將每一經壓縮之視訊/音訊流經 由出埠網際網路訊務1599介面(其通常將連接至至網際網 路之光纖介面)而指引至所欲使用者或其他目的地及/或返 回至延遲緩衝器1515,及/或返回至入埠路由15〇2,及/或 經由私用網路(未圖示)而輸出以供進行視訊分配。注意(如 下所述):出埠路由1540可將給定視訊/音訊流同時輸出至 多個目的地在只施例中,此係使用網際網路協定(jp) 多播來實施’纟中廣播意欲同時串流至多個目的地之給定 UDP流’且該廣播由出珲路由154()中之路㈣服器及交換 器來重複。廣播之該多個目的地可係經由網際網路而至多 個使用者之用戶端41 5、經由入埠路由〗5 〇 2而至多個應用 程式/遊戲伺服器1521-1525,及/或至一或多個延遲緩衝器 1515。因此,將給定伺服器1521_1522之輸出壓縮成一或 多個格式,且將每一經壓縮之流指引至一或多個目的地。 另外,在另一實施例中,若多個應用程式/遊戲伺服器 1521-1525同時由一使用者使用(例如,在用於產生具有複 雜場景之3D輸出的並行處理組態中)且每一伺服器產生所 付:像之。P刀,則可由共用硬體壓縮15 3 〇將多個飼服器 1521-1525之視訊輸出組合成—組合圖框,且自彼點向前 如上所述處理該組合圖框,好像其來自單一應用程式/遊 戲伺服器1521-1525。 注意,在一實施例中,將由應用程式/遊戲伺服器1521_ 1525產生之所有視訊的複本(至少以由使用者檢視之視訊 之解析度或更咼解析度)記錄於延遲緩衝器1515中歷時至 139849.doc 200949567 少某一數目之分鐘(在一實施例中為15分鐘)。此允許每一 使用者「回倒」來自每一會話之視訊,以便核查先前工作 或業績(在遊戲之狀況下)。因此,在—實施例中,將路由 •至使用者用戶端415的每一經壓縮視訊/音訊輸出1539流亦 .多播至延遲緩衝器1515。當將視訊/音訊儲存於延遲緩衝 器1515上時,延遲緩衝器1515上之目錄提供應用程式/遊 戲祠服器1521·1525(其為延遲之視訊/音訊之來源)之網路 φ 位址與延遲緩衝器1515上可發現延遲之視訊/音訊之位置 之間的交又參考。 現場直播的、可即刻檢視的、可即刻播放的遊戲 應用程式/遊戲伺服器1521-1525不僅可用於執行使用者 之給定應用程式或視訊遊戲,而且其可用於建立用於支援 經由主機代管服務21〇之導航及其他特徵之主機代管服務 210的使用者介面應用程式。—種該使用者介面應用程式 之螢幕拍攝展示於圖16中(「遊戲取景器」螢幕)。此特定 〇 制者介面螢幕允許使用者觀看自其他使用♦現場玩的 (或延遲的)15個遊戲。「縮略圖」視訊窗中之每一者(諸 如,1600)為在運動中的現場直播之視訊窗,其展示來自 一使用者之遊戲的一視訊。縮略圖中所展示之視圖可為使 用者正看之同一視圖,或其可為延遲的視圖(例如,若使 用者正玩搏鬥遊戲,則使用者可能不希望其他使用者看見 其隱藏在哪裡且其可選擇將其遊戲播放之任何視圖延遲一 時間週期(例如,10分鐘))。視圖亦可為不同於任何使用者 之視圖的遊戲之相機視圖。使用者可基於多種標準而經由 139849.doc •107. 200949567 選單選擇(此說明中未圖示)來選擇待同時檢視之遊戲之選 擇。作為例示性選擇之小取樣’使用者可選擇遊戲之隨機 選擇(諸如圖16中所展示之彼等遊戲)' 所有一類別之遊戲 (均由不同玩家來玩)、僅遊戲之頂級玩家、遊戲中之給定 級別的玩家’或較低級玩家(例如,若玩家正學習基礎)、 為「搭檔」(或為競爭者)之玩家、具有最多數目檢視者的 遊戲等。 注意,通常,每一使用者將決定來自其遊戲或應用程式 之視讯是否可由他人檢視,且若如此,則決定該視訊可由 哪些他人檢視及何時可由他人檢視,決定該視訊是否僅可 在具有延遲之情況下檢視。 產生圖16中所展示之使用者介面螢幕的應用程式/遊戲 伺服器1521-1525藉由向每一使用者(該應用程式/遊戲伺服 器1521-1525正請求來自該使用者之遊戲)之應用程式/遊戲 伺服器1521-1525發送訊息而獲取該15個視訊/音訊饋送。 該訊息係經由入埠路由1502或另一網路來發送。該訊息將 包括被請求之視訊/音訊之大小及格式,且將識別檢視使 用者介面螢幕之使用者。給定使用者可選擇選擇「盜版」 模式且不准許任何其他使用者檢視其遊戲之視訊/音訊(自 其檢視點或者自另一檢視點),或如先前段中所描述,使 用者可選擇允許檢視來自其遊戲之視訊/音訊,但延遲所 檢視之視訊/音訊。使用者應用程式/遊戲飼服器i52i_ 助(其接收並接受允許其視訊/音訊被檢視之請幻將因此 向請求祠服器碟認,且其亦將通知共用硬體壓縮153〇需要 139849.doc •108· 200949567 產生被明求格式或螢幕大小(假定格式及螢幕大小不同於 已、工產生的格式及螢幕大小)的額外經壓縮視訊流,且其 亦將才曰不經壓縮視訊的目的地(亦即,請求飼服器)。若被 . 冑求的視訊/音訊僅被延遲,則請求應用程式/遊戲伺服器 .1521_1525將被如此通知,且其將藉由查找延遲緩衝器 1515上之目錄中的視訊/音訊之位置及為延遲的視訊/音訊 之來源的應用程式/遊戲飼服器1521·1525之網路位址而自 ❹延遲緩衝器15丨5獲取延遲的視訊/音訊…旦所有此等請 求被產生並處理,則將高達15個現場直播之縮略圖大小之 視訊流自出埠路由154〇路由至入埠路由15〇2、至產生使用 者介面螢幕之應用程式/遊戲伺服器1521-1525,且將由該 伺服器來解壓縮及顯示。延遲的視訊/音訊流可能處於過 大之螢幕大小,且若如此,則應用程式/遊戲伺服器ΐ52ι_ 1525將解壓縮該等流並將視訊流按比例縮減至縮略圖大 小。在一實施例中,將對音訊/視訊之請求發送至與圖牦 Ο 之主機代管服務控制系統類似之中央「管理」服務(圖i 5 中未展示)(且由中央「管理」服務來管理),中央「管理」 服務接著將該等請求重定向至適當應用程式/遊戲伺服器 1 521 -1 525。此外,在一實施例中,可能不需要請求,因 為縮略圖被「推送」至允許其之彼等使用者的用戶端。 來自1 5個遊戲之所有同時混合的音訊可能產生刺耳的聲 音。使用者可選擇以此方式將所有聲音混合在一起(可能 就為得到由被檢視之所有動作產生的「喧囂」之感覺), 或者使用者可選擇每次僅聽取來自一遊戲之音訊。單一遊 139849.doc -109- 200949567 二選:係藉由將黃色選擇框1601移動至給定遊戲來完成 (:、色框移動可藉由使用鍵盤上之箭頭鍵、藉由移動滑 既由移動操縱桿或藉由推動諸如行動電話之另一器件 2方向按紐來完成)。—旦選擇了單—遊戲,則僅來自 、戲之音訊播放。又,展示遊戲資訊1602。在此遊戲之 狀況下’例如’出版商標諸(「EA」)及遊戲標誌、「極品飛 車卡本峽谷」及橙色橫條在相對條件下指示在彼特定時刻 玩遊戲或檢視遊戲之人的數目(在此狀況下,許多,因此 遊戲為「熱門」)。另外提供「狀態」,指示存在145個玩 家正積極地玩極品飛車遊戲之8〇個不同實例化(亦即,該 遊戲可藉由個別玩家遊戲或多人遊戲來玩),且存在_個 檢視者(此使用者係其中之_)。注意,此等統計資料(及其 他統计資料)由主機代管服務控制系統4〇丨來收集並儲存於 RAID陣列1511-1512上,以用於保持主機代管服務21〇操作 之曰誌且用於適當地向使用者計費並向提供内容之出版商 支付費用。一些統計資料係由於由服務控制系統4〇丨進行 之動作而記錄,且一些統計資料係由個別應用程式/遊戲 伺服器1521-1525報告給服務控制系統4〇1。舉例而言,當 遊戲正被;^視時(及當遊戲被停止檢視時),執行此遊戲取 景器應用程式之應用程式/遊戲伺服器152卜1525向主機代 管服務控制系統401發送訊息’以使得主機代管服務控制 系統401可更新多少個遊戲處於檢視中的統計資料。一些 統計資料可為使用者介面應用程式(諸如,此遊戲取景器 應用程式)所用。 139849.doc -110· 200949567 若使用者單擊其輸入器件上之啟動按鈕,則其將看見黃 色框中之縮略圖視訊放大同時縮略圖視訊保持現場直播為 全螢幕大小。此效應展示於圖丨7中之過程中。注意,視訊 . 窗1700之大小增大。為了實施此效應,應用程式/遊戲伺 * 服器1521-1525自執行選定之遊戲之應用程式/遊戲伺服器 1521-1525請求具有路由至其之遊戲之全螢幕大小(以使用 者之顯示器件422之解析度)的視訊流之複本。執行遊戲之 ❸ 應用程式/遊戲飼服器1521-1525通知共用硬體壓縮器1530 不再需要遊戲之縮略圖大小之複本(除非另一應用程式/遊 戲伺服器1521-1525需要此種縮略圖),且接著其指引共用 硬體壓縮器1530將視訊之全螢幕大小之複本發送至放大視 訊之應用程式/遊戲伺服器1521_1525。玩該遊戲之使用者 可或可不具有解析度與將遊戲放大之使用者之彼顯示器件 的解析度相同的顯示器件422。另外,遊戲之其他檢視者 可或可不具有解析度與將遊戲放大之使用者相同的顯示器 φ 件422(且可具有不同的音訊回放構件,例如,立體聲或環 繞音效)。因此,共用硬體壓縮器153〇判定是否已經產生 滿足4求視訊/音訊流之使用者之要求的合適的經壓縮視 讯/音訊流,且若合適的經壓縮視訊/音訊流確實存在,則 共用硬體壓縮器1530通知出埠路由154〇將該流之複本路由 至放大§亥視訊之應用程式/遊戲伺服器1521_1525,且若合 適的經壓縮視訊/音訊流不存在,則壓縮視訊之適合於彼 使用者的另一複本並指導出埠路由將該流發送回至入埠路 由1502及放大該視訊之應用程式/遊戲伺服器丨521_1525。 139849.doc 111 200949567 現在接收選定視訊之全螢幕版本的此伺服器將解壓縮該全 螢幕版本並將其逐漸地按比例放大至全大小。 圖18說明在將遊戲完全放大至全螢幕且以使用者之顯示 器件422之全解析度展示遊戲之後螢幕看起來如何(如藉由 箭頭1800指向之影像所指示的)。執行遊戲取景器應用程 式之應用程式/遊戲伺服器1521_1525向提供縮略圖之其他 應用程式/遊戲伺服器1521-1525發送訊息以指示該等縮略 圖不再需要且向主機代管服務控制伺服器4〇1發送訊息以 指示不再檢視其他遊戲❹此時,產生的唯一顯示為螢幕頂 部的上覆1801,其將資訊及選單控制提供給使用者。注 意,隨著此遊戲進展,觀眾增長至2,5〇3個檢視者。在如 此多的檢視者之情況下,必然存在具有顯示器件422之許 多檢視者,該等顯示器件422具有相同或接近之解析度(每 一應用程式/遊戲伺服ϋ1521_1525具有按比例調整視訊以 用於調整配合度之能力)。 因為所展示之遊戲為多人遊戲,所以使用者可決定在某 時刻加人該遊戲。由於多種原因,主機代f服務21〇可或 可不允許使用者加人該遊戲。舉例而言,冑用者可能必須1521-1525. For simplicity of description, it will be assumed that a given user is using the application/game server 1521, but multiple servers can be used by one user, and multiple users can share a single application/game server 1521 -1525. The user's control input sent from the client 41 5 (as previously described) is received as an incoming Internet traffic 1 5 〇1 and routed to the application/game server via the incoming route 1502. 52 1. The application/game server 1521 uses the user's control input as a control input to the game or application executing on the server and calculates the video and the next frame of the audio associated therewith. The application/game word processor 1521 then outputs the uncompressed video/audio 1529 to the shared video compression 15 3 0. The application/game server can output uncompressed video via any component (including one or more super-fast Ethernet connections), but in the real example, the 'holes are connected via D VI, And audio and other compression and communication channel status information is output via a universal serial bus (USB) connection. The shared video compression 1530 compresses uncompressed video and audio from the application/game server 1521 1525. This compression can be implemented entirely in hardware or in hardware that executes the software. There may be a dedicated compressor for each application/game server 1521-1525 or if the compressor is fast enough, the compression/compression may be collapsed from video/audio from more than one application/game server 152Μ525. For example, at 6〇fps, the video frame time is off milliseconds. If a compressor can compress 1 frame in i milliseconds, then the compressor can be used to compress from up to 16 applications/game servers 139849 by taking round-ups from one server. .doc -103- 200949567 1521-1525 Video/audio, which stores the state of each video/audio compression process and switches the background as it cycles through the video/audio stream from the server. This results in substantial cost savings for the compressed hardware. Since different servers will complete the frame at different times, in one embodiment, the compressor resources are in a shared state with shared storage components (eg, RAM, flash memory) for storing the state of each compression process. In the pool 153, and when the server 1 521 -1 525 is complete and ready to be compressed, the control component determines which compression resource is available at that time, provides the state of the compression process of the server and the to be compressed for the compressed resource Uncompressed video/audio frame. Note that one of the states of the compression process for each server includes information about the compression itself, such as the decompressed frame buffer data of the previous frame (which can be used as a reference for the P image block), Resolution of video output; quality of compression; image block structure; allocation of bits per image block, compression quality, audio format (eg stereo, surround sound, Dolby® AC-3). However, the compression process state also includes information about the following communication channel status: peak data rate 941, and whether the previous frame (as illustrated in the figure) is currently being output (and therefore the current frame should be ignored), and potentially There are channel characteristics that should be considered in compression (such as excessive packet loss) that affect compression decisions (eg, in terms of the frequency of I-picture blocks, etc.). Since the peak data rate 941 or other channel characteristics change over time, as determined by the application/game server 1521_1525 that supports each user monitoring the data sent from the client 415, the application/game server 152 1-1525 sends the relevant information to the shared hardware compression 139849.doc -104- 200949567 1530. The shared hardware compression 1530 also encapsulates the compressed video/audio using components such as those previously described, and, where appropriate, applies the fec code, copies the particular material, or takes other steps to fully ensure the view. The 7 data stream is received by the client 415 and decompressed with a viable high quality and reliability. Some applications (such as those described below) require φ the video/audio output of a given application/game server ^21-1525 to be available at multiple resolutions (or in multiple formats) at the same time. . If the application/game server 1521-1525 thus notifies the shared hardware compression 153 resource, the uncompressed video audio 1529 of the application/game word processor 1521_1525 will be in a different format, different resolution and/or Simultaneous compression in different packet/error correction structures. In some cases, some compression resources may be shared among multiple compression processes that compress the same video/audio (eg, in many compression algorithms, there are steps to scale the image to multiple sizes before applying compression). If you need to output images of different sizes, this step can be used to simultaneously servo several compression processes. ^ In other cases, separate compression resources will be required for each format. In any event, the compressed video/audio (10) for all of the various resolutions and formats required for a given application/game server 1521-1525 (- or more) is simultaneously output to the outgoing routing (10). In the implementation of the financial, the output of the video/audio 1539 is in the UDp format, so it is a one-way packet stream. The outgoing routing network 1540 includes a series of routing feeders and switches, and the 139849.doc 200949567 series routing server and switch streams each compressed video/audio stream via the outgoing Internet traffic 1599 interface (which Typically connected to the optical interface of the Internet) to the desired user or other destination and/or back to the delay buffer 1515, and/or back to the incoming route 15〇2, and/or via private It is output by a network (not shown) for video distribution. Note (as described below): Outbound Routing 1540 can simultaneously output a given video/audio stream to multiple destinations. In the only example, this is done using Internet Protocol (JP) multicasting. At the same time, a given UDP stream is streamed to multiple destinations' and the broadcast is repeated by the way (4) server and switch in the outgoing route 154(). The multiple destinations of the broadcast may be via the Internet to the user terminals 41 5 of the plurality of users, to the plurality of application/game servers 1521-1525 via the routing route 55 〇2, and/or to one Or a plurality of delay buffers 1515. Thus, the output of a given server 1521_1522 is compressed into one or more formats and each compressed stream is directed to one or more destinations. Additionally, in another embodiment, if multiple application/game servers 1521-1525 are simultaneously used by a user (eg, in a parallel processing configuration for generating 3D output with complex scenes) and each The server generates what it pays: like it. For the P-knife, the video output of the plurality of feeding devices 1521-1525 can be combined into a combined frame by the common hardware compression 15 3 ,, and the combined frame is processed as described above from the other point as if it came from a single Application/game server 1521-1525. Note that in one embodiment, a copy of all of the video generated by the application/game server 1521_ 1525 (at least at the resolution or resolution of the video viewed by the user) is recorded in the delay buffer 1515 for a duration of 139849.doc 200949567 Less than a certain number of minutes (15 minutes in one embodiment). This allows each user to "rewind" the video from each session to check previous work or performance (in the case of the game). Thus, in an embodiment, each compressed video/audio output 1539 stream routed to user client 415 is also multicast to delay buffer 1515. When the video/audio is stored on the delay buffer 1515, the directory on the delay buffer 1515 provides the network φ address of the application/game server 1521·1525, which is the source of the delayed video/audio. A reference between the locations of the delayed video/audio can be found on the delay buffer 1515. The live, instantly viewable, instantly playable game application/game server 1521-1525 can be used not only to execute a given application or video game of the user, but also to establish support for hosting via the host A user interface application for the hosted service 210 of the navigation and other features of the service. A screen shot of the user interface application is shown in Figure 16 ("Game Viewfinder" screen). This particular player interface screen allows the user to view 15 games played (or delayed) from other uses. Each of the "thumbnail" video windows (e.g., 1600) is a live video window in motion that displays a video from a user's game. The view shown in the thumbnail may be the same view that the user is looking at, or it may be a delayed view (eg, if the user is playing a fighting game, the user may not want other users to see where they are hidden and It can choose to delay any view of its game play for a period of time (eg, 10 minutes). The view can also be a camera view of the game that is different from the view of any user. The user can select the game to be viewed simultaneously based on a variety of criteria via the 139849.doc • 107. 200949567 menu selection (not shown in this description). As a small selection of exemplary choices, the user can select a random selection of games (such as those shown in Figure 16). 'All games in one category (both played by different players), only top players in the game, games A given level of player's or lower level players (eg, if the player is learning the basics), a player who is a "partner" (or a competitor), a game with the largest number of viewers, and the like. Note that in general, each user will determine whether the video from their game or application can be viewed by others, and if so, determine which other people can view and when they can be viewed by others, and decide whether the video can only have View in case of delay. The application/game server 1521-1525 that produces the user interface screen shown in FIG. 16 is applied to each user (the application/game server 1521-1525 is requesting a game from the user) The program/game server 1521-1525 sends a message to retrieve the 15 video/audio feeds. The message is sent via the incoming route 1502 or another network. The message will include the size and format of the requested video/audio and will identify the user viewing the user interface screen. A given user may choose to select the "Piracy" mode and not allow any other user to view the video/audio of their game (from their view point or from another view point), or as described in the previous paragraph, the user may choose Allow viewing of video/audio from its games, but delay the video/audio being viewed. User Application/Game Feeder i52i_ Help (it receives and accepts the video/audio that is allowed to be viewed by the user, so it will be notified to the requester, and it will also notify the shared hardware to compress 153. 139849 is required. Doc •108· 200949567 Generates an additional compressed video stream that is formatted or screen size (assuming the format and screen size are different from the generated format and screen size) and will not be compressed for video purposes. Ground (ie, requesting the feeder). If the requested video/audio is only delayed, the requesting application/game server.1521_1525 will be notified as such, and it will be looked up by the lookup delay buffer 1515. The location of the video/audio in the directory and the network address of the application/game feeder 1521·1525 for the delayed video/audio source, and the delayed video/audio from the delay buffer 15丨5... Once all such requests are generated and processed, up to 15 live broadcast thumbnail-sized video streams are routed from the outgoing route 154 to the incoming route 15〇2, to the application that generates the user interface screen. / game server 1521-1525, and will be decompressed and displayed by the server. The delayed video/audio stream may be at an excessive screen size, and if so, the application/game server ΐ52ι_ 1525 will decompress the The stream is scaled down to the thumbnail size. In one embodiment, the request for audio/video is sent to a central "management" service similar to the hosted service control system of Figure ( (Figure i The central "management" service then redirects the requests to the appropriate application/game server 1 521 -1 525. In addition, in an embodiment , may not require a request, because the thumbnails are "pushed" to the users of their users. The simultaneous mixing of audio from 15 games may produce harsh sounds. Users can choose this way All sounds are mixed together (maybe to get the feeling of "喧嚣" produced by all the actions being viewed), or the user can choose to listen to only one game at a time. Audio. Single Tour 139849.doc -109- 200949567 Second Choice: This is done by moving the yellow selection box 1601 to the given game (:, the color frame can be moved by using the arrow keys on the keyboard, by moving the slide It is done by moving the joystick or by pushing another device 2 direction button such as a mobile phone.) Once the single-game is selected, only the audio from the play is played. Also, the game information 1602 is displayed. In the case of 'for example' published trademarks ("EA") and game logos, "Need for Speed Card Canyon" and orange bars indicate the number of people playing games or viewing games at a particular time under relative conditions (here) In the case of a lot, so the game is "hot". In addition, a "status" is provided indicating that there are 8 different instantiations in which 145 players are actively playing Need for Speed games (ie, the game can be played by individual player games or multiplayer games), and there are _ views (This user is among them _). Note that such statistics (and other statistics) are collected by the hosted service control system 4 and stored on the RAID arrays 1511-1512 for maintaining the operation of the host hosting service. Used to properly bill users and pay fees to publishers who provide content. Some statistics are recorded as a result of actions performed by the service control system 4, and some statistics are reported by the individual application/game servers 1521-1525 to the service control system 4〇1. For example, when the game is being viewed (and when the game is stopped viewing), the application/game server 152 executing the game viewfinder application 152 1525 sends a message to the colocation service control system 401 ' The statistics that enable the colocation service control system 401 to update how many games are in view. Some statistics can be used by user interface applications such as this game viewfinder application. 139849.doc -110· 200949567 If the user clicks the start button on their input device, they will see the thumbnail video in the yellow box and the thumbnail video will be live broadcast to full screen size. This effect is shown in the process in Figure 7. Note that the video 1700 is larger in size. In order to implement this effect, the application/game server 1521-1525 requests the full screen size of the game routed to it from the application/game server 1521-1525 executing the selected game (by the user's display device 422) A resolution of the video stream. After the game is executed, the application/game server 1521-1525 notifies the shared hardware compressor 1530 that the thumbnail size of the game is no longer needed (unless another application/game server 1521-1525 requires such a thumbnail) And then it directs the shared hardware compressor 1530 to send a copy of the full screen size of the video to the application/game server 1521_1525 that amplifies the video. The user playing the game may or may not have a display device 422 having the same resolution as the display device of the user who zooms in on the game. In addition, other viewers of the game may or may not have a display φ 422 (and may have a different audio playback component, such as stereo or surround sound) having the same resolution as the user who zoomed in on the game. Therefore, the shared hardware compressor 153 determines whether a suitable compressed video/audio stream that satisfies the requirements of the user of the 4 video/audio stream has been generated, and if a suitable compressed video/audio stream does exist, then The shared hardware compressor 1530 notifies the outgoing route 154 to route the duplicate of the stream to the application/game server 1521_1525 that amplifies the video, and if the appropriate compressed video/audio stream does not exist, the compressed video is suitable. Another copy of the user is directed to the routing route to send the stream back to the incoming route 1502 and the application/game server 521_1525 that amplifies the video. 139849.doc 111 200949567 This server that now receives the full screen version of the selected video will decompress the full screen version and gradually scale it up to full size. Figure 18 illustrates how the screen looks after the game is fully enlarged to full screen and the game is displayed at full resolution of the user's display device 422 (as indicated by the image pointed to by arrow 1800). The application/game server 1521_1525 executing the game viewfinder application sends a message to other application/game servers 1521-1525 that provide thumbnails to indicate that the thumbnails are no longer needed and host the service control server 4 to the host. 〇1 sends a message to indicate that no other games are being viewed. At this point, the only display that is generated is the overlay 1801 at the top of the screen, which provides information and menu controls to the user. Note that as the game progressed, the audience grew to 2, 5, 3 viewers. In the case of so many viewers, there must be many viewers with display devices 422 that have the same or close resolution (each application/game servo ϋ1521_1525 has scaled video for Ability to adjust the fit). Since the game shown is a multiplayer game, the user can decide to add the game at a certain time. For a variety of reasons, the host may not allow the user to add the game. For example, the user may have to
被遠距離地(實際上, 因此可在無延時關注之情況下檢視 在另—大陸上)玩的遊戲,但對於待 139849.doc 112 200949567 玩之遊戲而言,延時必須足夠低以使使用者(a)享受該遊 戲’且(b)處於與可能具有較低延時連接之其他玩家相等的 地位)°若不准許使用者玩,則為使用者提供遊戲取景器 使用者介面之應用程式/遊戲伺服器1521-1525將請求主機 代官服務控制伺服器401起始(亦即,定位並啟動)經合適地A game that is played remotely (in fact, so it can be viewed on another continent without delay), but for games played 139849.doc 112 200949567, the delay must be low enough for the user to (a) enjoy the game 'and (b) is in the same position as other players who may have a lower latency connection) ° If the user is not allowed to play, the user/game interface user application/game is provided The server 1521-1525 will request the host agent service control server 401 to initiate (ie, locate and start) suitably
❹ 組態以用於播放特定遊戲之應用程式/遊戲伺服器1521-1525以自RAID陣列1511-1512載入該遊戲,且接著主機代 官服務控制伺服器401將指導入埠路由15〇2將來自使用者 之控制信號傳送至現在主機代管遊戲之應用程式/遊戲伺 服器且現在主機代管遊戲之應用程式/遊戲伺服器將指導 共用硬體壓縮1530自壓縮來自主機代管遊戲取景器應用程 式之應用程式/遊戲伺服器之視訊/音訊切換至壓縮來自現 在主機代管遊戲之應用程式/遊戲伺服器之視訊/音訊。遊 戲取景器應用程式/遊戲服務與主機代管遊戲之新的應用 程式/遊戲伺服器之垂直同步並不同步,且因此在該兩個 同步之間可能存在時間i。因$共用視訊壓縮硬體WO將 在應用程式/遊戲伺服器1521_1525完成視訊圖框之後即開 始壓縮視訊,所以來自新伺服器之第一圖框可比舊伺服器 之全圖框時間完成得早’來自新伺服器之第一圖框可能在 先别,’座C縮之圖框完成其傳輸之前(例如,考慮圖外之傳 輸時間992 :若未㈣縮之關3 963完成地早—圖框時間 之一半,則其將衝擊傳輸時間992)。在此種情形下,共用 視訊壓縮硬體1530將忽略來自新飼服器之第一圖框:例 如,如忽略(974)圖框4 964),且用戶端415將來自舊飼服 139849.doc •113· 200949567 器之最末圖框保持一額外圖框時間,且共用視訊壓縮硬體 1530將開始壓縮來自主機代管遊戲之新應用程式/遊戲伺 服器的下一圖框時間視訊。對於使用者而言,在視覺上, 自應用程式/遊戲伺服器至另一應用程式/遊戲伺服器之 轉變將係無縫的。主機代管服務控制伺服器4〇1接著將通 知主機代管遊戲取景器之應用程式/遊戲伺服器i52i_i525 切換至閒置狀態,直至再次需要其為止。 使用者接著能夠玩該遊戲。此外,例外的係遊戲將在感 知上係即刻地播放(因為遊戲已被以十億位元/秒速度自 Raid陣列1511-1512載入至應用程式/遊戲飼服器l52i_i525 上),且將藉由理想的驅動器、暫存器組態(在Wind〇ws2 狀況下)將遊戲連同經確切組態以用於該遊戲之作業系統 一起載入至確切適合於該遊戲之伺服器上,且無可能與該 遊戲之操作競爭的其他應用程式在該伺服器上執行。 又,隨著使用者在遊戲中進展,遊戲之片段中之每一者 將以十億位元/秒速度(亦即,^少〗次十億位元組載入)自 RAID陣歹,Jl5U-1512m司服器巾,且由於RAID陣列 1511-1512之巨大儲存容量(因為其為許多使用者之此用資 源,所以其可能非常大,但仍具成本效益),使得^預先 計算幾何㈣言史£或其他遊戲片段設置並將其儲存於 RAID陣列1511_1512上且極快速地進行載^此外,因為 每一應用程式/遊戲伺服器1521_1525之硬體_及計算能 力係已知的,所以可預先計算像素及頂點著色。 此 因此,遊戲可幾乎即刻啟動,其將在理想環境中執行, 139849.doc -114- 200949567 且隨後之片段將幾乎即刻載入。 但是,除此等優點之外’使用者將能夠檢視他人玩遊戲 (經由先前所描述之遊戲取景器,及其他構件),且兩者均 • 決疋遊戲是否有趣’且若如此’則自觀看他人而學習技 • 巧。此外,使用者將能夠即刻地演示該遊戲,而不必等待 大的下載及/或安裝’且使用者將能夠即刻玩該遊戲(可能 在較小費用之試用基礎上,或在較長期基礎上此外, 參使用者將能夠藉由足鈞低延時之無線連接而在windows PC、Macintosh上、在電視機上、在家裏、在行進時且甚 至在行動電話上玩該遊戲。此外,此均可在並非曾經實體 擁有遊戲複本的情況下完成。 如先前所敍述,使用者可決定不允許其遊戲播放可被他 人檢視,允許其遊戲可在延遲之後檢視,允許其遊戲可被 f定使用者檢視,或允許其遊戲可被所有❹者檢視。不 管怎樣’在一實施例中,將視訊/音訊儲存於延遲緩衝器 〇 1515中歷時15分鐘,且使用者將能夠「回倒」並檢視其先 前的遊戲播放,且將遊戲暫停,將遊戲緩慢地回放,將遊 戲决進等,正如其在觀看具有數位視訊記錄器(DVR)之TV 時所能夠進行的。儘管在此實例中,使用者係在玩遊戲, 但若使用者正使用應用程式,則相同「DVR」能力係可用 的。此在核查先前工作中及在如下詳述之其他應用中可係 有用的。另外,右遊戲輕設計為具有基於利用遊戲狀態資 訊而回倒之能力,以便可改變相機視圖等,則亦將支援此 「3D DVR」能力’但其將需要將遊戲設計為支援「扣 139849.doc •115- 200949567 DVR」此力。使用延遲緩衝器1515之「DVR」能力將連同 任何遊戲或應用程式(當然,限於在使用遊戲或應用程式 時所產生的視訊)一起起作用,但在具有3D DVR能力之遊 戲的狀況下,使用者可控制先前所播放之片段的3D「穿 越」’且使延遲緩衝器1515記錄所得視訊並記錄遊戲片段 之遊戲狀態。因此’將特定「穿越」記錄為經壓縮之視 訊,但因為亦將記錄遊戲狀態,所以不同的穿越將可能在 遊戲之同一片段之稍後日期。 如下所述,主機代管服務21〇上之使用者將各自具有一 使用者頁Φ,在該使用者頁面中,使㈣可公布關於其本 身之資訊及其他資料。使用者將能夠公布之事情之一為來 自其已保存之遊戲播放之視訊片段。舉例而言,若使用者 已克服遊戲中之特別困難之挑戰,則使用者可剛好「回 倒」至其在遊戲中獲得其大成果之地點之前,且接著指導 主機代管服務210將某-持續時間(例如,3()秒)之視訊片段 保存在使用者之使用者頁面上以供其他使用者觀看。為實 施此,使用者正使用之應用程式/遊戲伺服器152ι_ΐ525僅 要做的事情係將儲存於延遲緩衝器〗5〗5中之視訊回放至 RAID陣列1 5 11 -1 5 12且接著將彼視訊片段編索引於使用者 之使用者頁面上。 若遊戲具有3D DVR之能力,如上所述,則亦可由使用 者來記錄3D DVR所需之遊戲狀態資訊且使其為使用者之 使用者頁面可用。 在遊戲經設計為除具有活躍玩家外亦具有「旁觀者 139849.doc -116. 200949567 (亦即,能夠在不參與的情況下在3D世界行進並觀察到動 作的使用者)的情況下’則遊戲取景器應用程式將使使用 者能夠作為旁觀者以及玩家加入遊戲。自檢視之實施點 看,對於主機代管系統210而言,使用者為旁觀者而非活 躍玩家不存在差異。將遊戲載入應用程式/遊戲伺服器 15 21 -15 2 5上且使用者將控制該遊戲(例如,控制檢視世界 之虛擬相機)。唯一差異將係使用者之遊戲體驗。 0 多個使用者合作 主機代管服務210之另一特徵係多個使用者在檢視現場 直播之視§孔的同時合作的能力(即使使用迥然不同之写件 來檢視亦如此)。當玩遊戲時及當使用應用程式時,此均 有用。 許多PC及行動電話裝備有視訊相機且具有進行即時視訊 壓縮之能力(尤其當影像小時)。又,小相機可用,可附接 至電視,且以軟體或使用用於壓縮視訊之許多硬體壓縮器 ❹ 件中之一者來實施即時壓縮並不困難。又,許多PC及所有 行動電話具有麥克風,且耳機在具有麥克風情況下可用。 組合有本端視訊/音訊壓縮能力(特定言之,使用本文中 所描述之低延時視訊壓縮技術)之該等相機及/或麥克風將 使使用者能夠將視訊及/或音訊連同輸入器件控制資料一 起自使用者場所211傳輸至主機代管服務21〇。當使用該等 技術時,則可達成圖19中所說明之能力:使用者可使其視 訊及音訊1900出現於另一使用者之遊戲或應用程式内的螢 幕上。此實例為多人遊戲,其中隊友在賽車中合作。使用 139849.doc -117- 200949567 者之視訊/音訊僅可被其隊友選擇性地檢視/聽到。此外, 因為使用上文所描述之技術將有效地不存在延時,所以玩 家將能夠即時地彼此談話或進行運動而無可感知的延遲。 此視訊/音訊整合係藉由使來自使用者之相機/麥克風的 、,二壓縮視Λ及/或音訊作為入埠網際網路訊務丨1到達而 完成。接著’人埠路由15G2將該視訊及⑼音訊路由至被 准許檢視/聽到視訊及/或音訊之應用程式/遊戲伺服器 1521-1525。接著,選擇使用視訊及/或音訊之各別應用程 式/遊戲伺服器1521-1525的使用者解壓縮視訊及/或音訊且 視需要而將其整合以出現於遊戲或應用程式内,諸如藉由 1900所說明的。 圖19之實例展示如何在遊戲中使用該合作但該合作可 為用於應用程式之極其強大的工具。考慮一情形:其中一 大建築物正由在芝加哥的建築師為以紐約為基地之房地產 開發商為紐約市设叶,但該決策涉及在行進中且碰巧處於 邁阿密機場之財務投資者,且需要關於建築物之特定設計 要素(在其如何搭配其附近之建築物方面)進行決策以滿 足投資者與房地產開發商兩者。假定建築公司在芝加哥具 有具有附接至PC之相機的高解析度監視器,房地產開發商 在紐約具有具有相機的膝上型電腦,且投資者在邁阿密具 有具有相機的仃動電話。建築公司可使用主機代管服務 210。來主機代管能夠高度逼真3D再現的強大的建築設計應 用程式,且其可利用紐約市之建築物之大資料庫,以及正 設計的建築物之資料庫。建築設計應用程式將在應用程式/ 139849.doc 200949567 遊戲舰hi52i_1525中之—者上(或若其需要大量計算能 力,則在若干者上)執行。處於全異位置處之3個使用者中 之每-者將連接至主機代管服務21〇,且每一者將具有對 建築設計應用程式之視訊輸出的同時檢視,但其將被針對 每-使用者具有的給定器件及網路連接特 Φ 鲁 壓縮⑽適當地定大小(例如,建築公司可經由2二 用網際網路連接看見25一物6〇扣顯示,每約之房地 產開發商可經由其膝上型電腦上之6 咖連接看見 跡72“"PS影像’且投資者可經由其行動電話上之 ⑽Kbps蜂巢式資料連接看見32〇χΐ8〇 6〇如影像卜每一 方將聽到其他方之語音(將藉由應用程式,遊戲伺服器⑸卜 1525中的許多廣泛可用之會議呼叫套裝軟體中之任一者來 處理會議呼叫),域由使用者輸人器件上之按紐之致 動,使用者將能夠使用其本端相機使視訊出現。隨著會議 進行,建築師將能夠藉由極具照片般逼真感之祀再現展示 當其使建築物旋轉且使其鄰接該區域中之另—建築物穿越 時建築物看起來像什麼,且所有方均將在各方之顯示器件 之解析度下可見到相同視訊。由任何方使用之本端器件中 之任一者均能夠以該真實感處理3〇動畫不係問題更不用 說下载或甚至儲存再現紐約市之周圍建築物所需的巨大資 料庫。自使用者中之每一者的觀點看’儘管距離很遠,且 儘管係全異本端器件,但其將簡單地在難以置信之真實感 程度下具有無縫體驗。此外’當一方希望其面部被看來較 佳地傳達其情緒狀態時,其可如此進行。另外,若房地產 139849.doc 119· 200949567 開發商或投資者希望控制建築程式且使用其自身的輪入器 件(其為鍵盤、滑鼠、小鍵盤或觸摸螢幕),則其可如此, 且其可以無感知的延時來回應(假定其網路連接不具有不 合理的延時)。舉例而言,在行動電話之狀況下,若行動 電話連接至機場之WiFi網路,則其將具有㈣低之延時。 但若其使用美國現今可用之蜂巢式資料網路,則其很可能 將遭受引人注意的滯後。但是,對於會議之大多數目= (其中投資者正觀看建築師控制建築物穿越或正談論視訊 電话會議)’甚至蜂巢式延時亦應係可接受的。 最後,在合作性會議呼叫結㈣,房地產開發商及投資 者將進行其料且自主機代管服務停播,㈣公司將能夠 「回倒」已記錄於延遲緩衝器1515上之會議的視訊且核查 在會議期間進行的應用於建築物之3D模型的評論、面部表 情及/或動作。若存在其希望保存之特定片段,則可將視 訊/音訊之彼等片段自延遲緩衝器1515移動至raid陣列 15 11-1 5 12以用於檔案儲存及稍後回放。 又,自成本觀點看,若建築師僅需要使用紐約市之計算 能力及大資料庫歷時15分鐘之會議呼叫,則其僅需要支付 該等資源被使用之時間的費用,而不必擁有高能力之工作 台且不必購買大資料庫之昂貴複本。 視訊豐富之社區服務 主機代管服務210致能用於在網際網路上建立視訊豐富 之社區服務的空前機會。圖2G展示用於主機代管服務21〇 上之遊戲玩㈣例示性使用者頁面。如同遊戲取景器應用 139849.doc •120- 200949567 程式一樣’使用者頁面為在應用程式/遊戲伺服器1521_ 1525中之一者上執行的應用程式。此頁面上之所有縮略圖 及視訊窗展示恆定地移動的視訊(若片段短,則其循環)。 使用視訊相機或藉由上載視訊,使用者(其用戶名為 • 「KILLHAZARD」)能夠公布其本身之視訊2〇〇〇(其他使用 者可檢視該視訊)。該視訊儲存於rAID陣列i 5丨丨_丨5丨2上。 又’當其他使用者來到KILLHAZARD之使用者頁面時,若 ❼ KILLHAZARD此時正使用主機代管服務21〇,則將展示其 正進行的無論什麼的現場直播之視訊2001(假定其准許檢 視其使用者頁面之使用者觀看其)。此將由主機代管使用 者頁面應用程式之應用程式/遊戲伺服器1521_1525自服務 控制系統401請求KILLHAZARD是否為活躍的(且若如此’ 則凊求其正使用的應用程式/遊戲伺服器1521-1 525)來完 成。接著,使用由遊戲取景器應用程式使用之相同方法, 將合適解析度及格式的經壓縮視訊流發送至執行使用者頁 φ 面應用程式之應用程式/遊戲伺服器1 52 1 -1 525且將其顯 示若使用者選擇具有KILLHAZARD之現場直播之遊戲播 放的窗口且接著適當地單擊其輸入器件,則該窗口將放大 (再··人使用與遊戲取景器應用程式相同之方法),且現場直 播之視訊將以觀看使用者之顯示器件422的解析度(適合於 觀看使用者之網際網路連接的特性)填充螢幕。 此優於先前技術方法之關鍵優點係:檢視使用者頁面之 使用者此夠看見使用者不擁有的現場直播地播放的遊戲, 且可不具有能夠玩該遊戲之本端電腦或遊戲控制台。其為 139849.doc •121 · 200949567 使用者提供看使用者頁面中展示為「活動中」的使用者玩 遊戲之極好機會,且其為瞭解檢視使用者可能希望嘗試或 較擅長之遊戲的機會。 來自KILLHAZARD之搭檔2002之相機記錄的或上載的視 訊剪輯亦展示於使用者頁面上,且每一視訊剪輯之下方為 指不該搭檔是否線上玩遊戲之文字(例如,six—sh〇t正玩遊 戲「龍騎士(Eragon)」且MrSnuggles99離線等)。藉由單擊 選單項(未圖示)’搭檔視訊剪輯自展示已記錄的或上載的 視訊切換至當前正玩主機代管服務21〇上之遊戲之搭檔在 _ 彼時刻在其遊戲中正在進行的内容的現場直播之視訊。因 此,其變成為搭檔分群的遊戲取景器。若選擇搭檔之遊戲 且使用者單擊該遊戲,則該遊戲將放大至全螢幕,且使用 者將能夠觀看全螢幕現場直播地播放的遊戲。 再-人,檢視搭樓之遊戲之使用者不擁有遊戲之複本亦 不擁有用於玩該遊戲之本端計算/遊戲控制台資源。遊戲 檢視係有效瞬時的。 如上文先前所描述,當使用者玩主機代管服務21〇上之 ® 遊戲日守,使用者能夠「回倒」遊戲且發現其希望保存之視 Λ片I又,且接著將該視訊片段保存至其使用者頁面。此等 被稱為「自賞剪輯(Brag Clip)」。視訊片段2〇〇3均為由 KILLHAZARD自其所玩的先前遊戲保存的自賞剪輯2〇〇3。 數子2004展不自賞剪輯已被檢視多少次,及自賞剪輯何時 、檢視使用者具有對其評定等級之機會,且橙色鑰匙孔 形狀的圖示2005之數目指示等級係多高。當使用者檢視使 139849.doc •122· 200949567 用者頁面時’自賞剪輯2003連同頁面上之其餘視訊一起恆 定地循環。若使用者選擇並單擊自賞剪輯2〇〇3中之一者, 則其放大以呈現自賞剪輯2〇〇3 ’以及允許播放、暫停、回 •倒、快進、步進等該剪輯之DVR控制。 •自賞剪輯2003回放係藉由應用程式/遊戲伺服器ι521_ 1525載入使用者記錄自賞剪輯時儲存於RAID陣列1511-1512上的經壓縮視訊片段且將其解壓縮並將其回放來實 施0 φ 自賞剪輯2003亦可為來自支援3D DVR能力之遊戲的 「3 D D VR」視訊片段(亦即’來自可被重放且允許使用者 改變相機檢視點之遊戲的遊戲狀態序列)^在此狀況下, 除使用者在記錄遊戲片段時進行的特定「穿越」的經壓縮 視訊記錄之外,亦儲存遊戲狀態資訊。當使用者頁面正被 檢視且所有縮略圖及視訊窗均恆定地循環時,3D DVR自 賞剪輯2003將使在使用者記錄遊戲片段之「穿越」時記錄 ❹ 為經壓縮視訊的自賞剪輯2003恆定地循環。但是,當使用 者選擇3D DVR自賞剪輯2003並單擊3D DVR自賞剪輯“们 時,除允許播放經壓縮視訊自賞剪輯的〇乂尺控制之外,使 用者將能夠單擊給出其用於遊戲片段之3D 〇¥尺能力的按 鈕。其將能夠獨立地控制遊戲片段期間的相機「穿越」, 且若其希望(且擁有使用者頁面的使用者如此允許),則盆 將能夠以經壓縮視訊之形式記錄替代性自賞剪輯「穿 越」,替代性自賞努輯「穿越」將接著可為使用者頁面之 其他檢視者所用(立即地,或者在使用者頁面之擁有者具 139849.doc -123- 200949567 有核查自賞剪輯之機會之後)。 此3D DVR自賞剪輯2003能力係藉由啟動將要在另一應 用程式/遊戲伺服器1521-1525上重放已記錄之遊戲狀態資 訊的遊戲來啟用。因為遊戲可被幾乎瞬時地啟動(如先前 所描述)’所以啟動其(其播放限於由自賞剪輯片段記錄之 遊戲狀態)且接著允許使用者在將經壓縮視訊記錄至延遲 緩衝器1515的同時用相機進行「穿越」並不困難。一旦使 用者完成進行「穿越」,則將遊戲撤銷啟動。 自使用者之觀點看’啟動具有3D DVR自賞剪輯2003之 ⑩ 「穿越」並不比控制線性自賞剪輯2003之dvr控制難。其 可不知道該遊戲或甚至不知道如何玩該遊戲。其僅為盯著 看另一操作者記錄的遊戲片段期間之3D世界的虛擬相機操 作者。 使用者將亦能夠將其自身的音訊加錄於自賞剪輯上(或 者自麥克風記錄或者上載)。以此方式,可使用自賞剪輯 來使用來自遊戲之人物及動作產生定製動畫。此動畫製作 技術通常被稱為「遊戲電影(machinima)」。 ❹ 隨著使用者在遊戲中進展,其將達成不同技能級別。所 播放之遊戲將成果報告給服務控制系統4〇 1,且此等技能 級別亦將展示於使用者頁面上。 互動式動畫廣告 線上廣告已自文字轉變至靜態影像、視訊,且現在轉變 至互動式片段’通常係使用如Adobe Flash之動畫精簡型用 戶端來實施。使用動畫精簡型用戶端之原因在於:使用者 139849.doc -124· 200949567 !常:於::其推麟產品或服務之特權而被延遲較無耐 :精簡型用戶端在非常低效能ο。上執行,且因此 妯° 了具有尚度信心:互動式廣告將適當地工作。遺槭 諸如AdGbeF】ash之動畫精簡型用戶端在互動性之程度 及體驗(以減少下载時間)之持續時間上受限制。 圖21說明一互動式廣告,其中使用者將在汽車在陳列室 中紅轉時選擇汽車之外部及内部色彩,同時即時射線追鞭应用 The application/game server 1521-1525 configured to play a particular game to load the game from the RAID arrays 1511-1512, and then the host agent service control server 401 will direct the routing route 15〇2 from The user's control signal is sent to the application/game server of the current hosted game and now the hosted game application/game server will guide the shared hardware compression 1530 self-compression from the hosted game viewfinder application. The video/audio of the application/game server switches to compress the video/audio from the application/game server of the current hosted game. The vertical synchronization of the game viewfinder application/game service with the new application/game server of the colocation game is not synchronized, and therefore there may be time i between the two synchronizations. Since the shared video compression hardware WO will start compressing the video after the application/game server 1521_1525 completes the video frame, the first frame from the new server can be completed earlier than the full frame time of the old server. The first frame from the new server may be different, before the frame is completed. (For example, consider the transmission time outside the picture 992: if not (four) shrinks 3 963 completes early - frame One and a half of the time, it will impact the transmission time 992). In this case, the shared video compression hardware 1530 will ignore the first frame from the new feeder: for example, ignore (974) frame 4 964), and the client 415 will be from the old feeding service 139849.doc • 113· 200949567 The last frame of the device maintains an extra frame time, and the shared video compression hardware 1530 will begin compressing the next frame time video from the new application/game server of the colocation game. For the user, the transition from the application/game server to another application/game server will be visually seamless. The colocation service control server 〇1 then switches the application/game server i52i_i525, which informs the host escrow game viewfinder, to the idle state until it is needed again. The user can then play the game. In addition, the exceptional game will be played instantly on the sensation (because the game has been loaded from the Raid array 1511-512 to the app/game feeder l52i_i525 at a bite/second speed) and will be borrowed The game is loaded by the ideal drive, scratchpad configuration (in the case of Wind〇ws2) along with the operating system that is configured for the game, to the exact server that is suitable for the game, and is impossible Other applications that compete with the operation of the game are executed on the server. Also, as the user progresses in the game, each of the segments of the game will be loaded at a rate of one billion bits per second (i.e., less than one billionth bit) from the RAID array, Jl5U -1512m server towel, and because of the huge storage capacity of the RAID array 1511-512 (because it is a resource for many users, it can be very large, but still cost-effective), so ^ pre-calculated geometry (four) History or other game clip settings are stored on the RAID array 1511_1512 and loaded very quickly, because the hardware and computing power of each application/game server 1521_1525 is known, so it can be pre- Calculate pixels and vertex shading. So, the game can be launched almost instantly, it will be executed in an ideal environment, 139849.doc -114- 200949567 and the subsequent clips will be loaded almost instantly. However, in addition to these advantages, the user will be able to view other people playing the game (via the previously described game viewfinder, and other components), and both • decide if the game is interesting 'and if so' then watch it Learning skills from others. In addition, the user will be able to demonstrate the game instantly without having to wait for a large download and/or installation' and the user will be able to play the game instantly (perhaps on a less expensive trial basis or on a longer term basis) The user will be able to play the game on a Windows PC, Macintosh, on a TV, at home, on the go, and even on a mobile phone with a low-latency wireless connection. Not once the entity has a copy of the game. As previously stated, the user may decide not to allow their game play to be viewed by others, allowing their game to be viewed after a delay, allowing their game to be viewed by the user. Or allow their games to be viewed by all the viewers. In any case, in one embodiment, the video/audio is stored in the delay buffer 〇 1515 for 15 minutes, and the user will be able to "rewind" and view their previous The game plays, and the game is paused, the game is played back slowly, the game is decided, etc., just as it is when watching a TV with a digital video recorder (DVR) Although this is the case, the user is playing the game, but if the user is using the application, the same "DVR" capability is available. This is in the check of previous work and other applications as detailed below. It can be useful. In addition, the right game light is designed to have the ability to fall back based on the use of game state information, so that the camera view can be changed, etc., it will also support this "3D DVR" capability but it will need to design the game. To support the "deduction 139849.doc • 115- 200949567 DVR" force, the "DVR" capability using the delay buffer 1515 will be combined with any game or application (of course, limited to the video generated when using the game or application). It works, but in the case of a 3D DVR capable game, the user can control the 3D "travel" of the previously played clip and cause the delay buffer 1515 to record the video and record the game state of the game segment. The specific "traversal" record is compressed video, but because the game state will also be recorded, different traversals will likely be in the same segment of the game. Later date. As described below, users on the colocation service 21 will each have a user page Φ in which (4) can publish information about themselves and other information. One of the things that can be announced is a video clip from a game that has been saved. For example, if the user has overcome the particular difficulty of the game, the user can just "rewind" until they get it in the game. Before the location of the big result, and then instructing the colocation service 210 to save a video clip of a certain duration (eg, 3 () seconds) on the user's user page for viewing by other users. The only thing that the user is using the application/game server 152ι_ΐ525 is to play the video stored in the delay buffer 〖5〗 5 to the RAID array 1 5 11 -1 5 12 and then edit the video clip. Indexed on the user's user page. If the game has the ability to have a 3D DVR, as described above, the user can also record the game state information required by the 3D DVR and make it available to the user's user page. The game is designed to have "bystanders 139849.doc -116. 200949567 (that is, users who can travel in the 3D world and observe movements without participation) in addition to active players. The game viewfinder application will enable the user to join the game as a bystander and a player. From the point of view of the implementation, there is no difference between the user and the active player for the hosted system 210. Enter the application/game server 15 21 -15 2 5 and the user will control the game (for example, control the virtual camera of the world). The only difference will be the user's gaming experience. Another feature of the tube service 210 is the ability of multiple users to collaborate while viewing a live broadcast of the hole (even with a differently written view). When playing games and when using an application, This is useful. Many PCs and mobile phones are equipped with video cameras and have the ability to perform instant video compression (especially when the image is small). Also, a small camera is available. It can be attached to a TV, and it is not difficult to implement instant compression in software or using one of many hardware compressors for compressing video. Also, many PCs and all mobile phones have microphones and headphones Available with a microphone. These cameras and/or microphones combined with native video/audio compression capabilities (specifically, using the low latency video compression techniques described herein) will enable users to view video and/or video. The audio is transmitted from the user premises 211 to the colocation service 21 along with the input device control data. When using these techniques, the capabilities illustrated in Figure 19 can be achieved: the user can have his video and audio 1900 appear On the screen of another user's game or application. This example is a multiplayer game where teammates collaborate in the car. The video/audio using 139849.doc -117- 200949567 can only be viewed selectively by their teammates. /hear. Also, because there is effectively no delay in using the techniques described above, players will be able to talk to each other or exercise instantly Perceived delay. This video/audio integration is accomplished by having the camera/microphone from the user, the second compressed video and/or audio as the incoming Internet traffic 丨1 arrives. Routing 15G2 routes the video and (9) audio to application/game servers 1521-1525 that are permitted to view/hear video and/or audio. Next, select respective applications/game servers 1521 that use video and/or audio. The user of -1525 decompresses the video and/or audio and integrates it as needed to appear in the game or application, such as illustrated by 1900. The example of Figure 19 shows how to use the collaboration in a game but Collaboration can be an extremely powerful tool for applications. Consider a scenario where a large building is being set up by New York-based real estate developers in Chicago by the architects in Chicago, but the decision involves financial investors who are on the move and happen to be at Miami Airport, and need Decisions are made regarding the specific design elements of the building (how it relates to the buildings in its vicinity) to satisfy both investors and real estate developers. Suppose the construction company has a high-resolution monitor with a camera attached to the PC in Chicago, the real estate developer has a laptop with a camera in New York, and the investor has a camera-initiated phone call in Miami. The construction company can use the colocation service 210. It hosts a powerful architectural design application that is highly realistic 3D reproduction, and it utilizes a large database of New York City buildings and a library of buildings being designed. The architectural design application will be executed on the application/139849.doc 200949567 game ship hi52i_1525 (or on several if it requires a lot of computational power). Each of the three users at the disparate location will be connected to the colocation service 21〇, and each will have a simultaneous view of the video output of the architectural design application, but it will be targeted for each - The user has a given device and network connection Φ Lu compression (10) appropriately size (for example, the construction company can see 25, 6 and 6 button display via 2 Internet connection, every real estate developer can You can see the trace 72 ""PS image" via the 6 coffee connection on your laptop and the investor can see 32〇χΐ8〇6 via the (10) Kbps cellular data connection on their mobile phone. Fang Zhisheng (the conference call will be handled by any of the widely available conference call suite software in the application server, game server (5) Bu 1525), the domain is replaced by the button on the user input device The user will be able to use his local camera to make the video appear. As the meeting progresses, the architect will be able to reproduce the display with a photorealistic sense of reality as it rotates the building and makes it adjacent to the area. Another in the domain—what the building looks like when the building traverses, and all parties will see the same video at the resolution of the display devices of each party. Any of the local devices used by either party will be Being able to handle 3 〇 animations with this realism is not a problem, let alone downloading or even storing a huge database needed to reproduce the surrounding buildings of New York City. From the point of view of each of the users, 'although the distance is far, And although it is a disparate native device, it will simply have a seamless experience at an incredible level of realism. Furthermore, 'when a party wants its face to appear to better convey its emotional state, it can do so. In addition, if the real estate 139849.doc 119· 200949567 developer or investor wants to control the building program and use its own wheeled device (which is a keyboard, mouse, keypad or touch screen), then it can be, and it can No sensible delay to respond (assuming that the network connection does not have an unreasonable delay). For example, in the case of a mobile phone, if the mobile phone is connected to the airport WiFi Road, it will have (4) low latency. However, if it uses the cellular data network available in the United States today, it is likely to suffer a noticeable lag. However, for the majority of the conference = (where the investor is Watch the architects control the building crossing or talking about the video conference call) 'Even the hive delay should be acceptable. Finally, in the cooperative meeting call (4), real estate developers and investors will carry out their own materials and from the host The escrow service is off, and (4) the company will be able to "rewind" the video of the conference that has been recorded on the delay buffer 1515 and check the comments, facial expressions and/or actions applied to the 3D model of the building during the conference. If there are specific segments that it wishes to save, then the segments of the video/audio can be moved from the delay buffer 1515 to the raid array 15 11-1 5 12 for archival storage and later playback. Also, from a cost perspective, if an architect only needs to use New York City's computing power and a large database for a 15-minute conference call, then it only needs to pay for the time when the resources are used, without having to have high capabilities. Workbench does not have to purchase expensive copies of large databases. Video-rich community services Hosting services 210 are an unprecedented opportunity to build video-rich community services on the Internet. Figure 2G shows a game play (4) exemplary user page for the colocation service 21〇. Like the game viewfinder application 139849.doc • 120- 200949567 Programs like the 'user page' is an application executed on one of the application/game servers 1521_ 1525. All thumbnails and video windows on this page show a constantly moving video (if the clip is short, it loops). By using a video camera or by uploading video, the user (whose user name is "KILLHAZARD") can publish his own video 2 (other users can view the video). The video is stored on the rAID array i 5丨丨_丨5丨2. 'When other users come to the user page of KILLHAZARD, if KILLHAZARD is using the colocation service 21〇, it will show the live video of whatever it is doing 2001 (assuming it is allowed to view it) The user of the user page views it). This will be requested by the hosted user page application application/game server 1521_1525 from the service control system 401 whether the KILLHAZARD is active (and if so, the application/game server 1521-1 is being requested) 525) to complete. Then, using the same method used by the game viewfinder application, the compressed video stream of the appropriate resolution and format is sent to the application/game server 1 52 1 -1 525 executing the user page φ surface application and will It shows that if the user selects a window with a live broadcast of KILLHAZARD and then clicks on its input device appropriately, the window will be enlarged (again, the person uses the same method as the game viewfinder application), and the scene The live video will be populated with the resolution of the viewing device 422 (suitable for viewing the user's Internet connection). The key advantage of this prior art approach is that the user viewing the user page is able to see a live broadcast of the game that the user does not own, and may not have a local computer or game console capable of playing the game. It is 139849.doc •121 · 200949567 Users have an excellent opportunity to see the users on the user page displayed as “active”, and it is an opportunity to learn about the games that users may wish to try or are good at. . Video clips recorded or uploaded from the camera of KILLHAZARD's partner 2002 are also displayed on the user's page, and below each video clip is the text that should not be played online or not (for example, six-sh〇t is playing) The game "Eragon" and MrSnuggles99 offline, etc.). By clicking on the menu item (not shown), the partner video clip switches from displaying the recorded or uploaded video to the game partner currently playing the colocation service 21〇 at the time of the game. Live video of the content. Therefore, it becomes a game viewfinder that is a group of partners. If a partner game is selected and the user clicks on the game, the game will be zoomed in to the full screen and the user will be able to watch the game played live on the full screen. Again, the user who views the game of the building does not own the copy of the game and does not have the local computing/game console resources for playing the game. The game view is effective instantaneous. As previously described above, when the user plays the game keeper on the colocation service 21, the user can "rewind" the game and find that he wants to save the video I, and then save the video clip. To its user page. These are called "Brag Clips". Video clips 2〇〇3 are self-reward clips 2〇〇3 saved by KILLHAZARD from previous games played by them. The number of 2004 shows does not show how many times the clip has been viewed, and when the clip is viewed, the user has an opportunity to rate it, and the number of icons of the orange keyhole shape 2005 indicates how high the rating is. When the user views the 139849.doc • 122· 200949567 user page, the self-reward clip 2003 is continuously cycled along with the rest of the video on the page. If the user selects and clicks one of the self-review clips 2〇〇3, it zooms in to present the self-reward clip 2〇〇3' and allows the clip to be played, paused, backed down, fast forwarded, stepped, etc. DVR control. • Self-recruiting clip 2003 playback is performed by the application/game server ι521_ 1525 loading the compressed video clips stored on the RAID arrays 1511-1512 when the user records the self-review clips and decompressing them and playing them back. 0 φ Self-recruiting clip 2003 can also be a "3 DD VR" video clip from a 3D DVR-capable game (ie, a 'game sequence from a game that can be played back and allows the user to change the camera view point) ^ In this case, game state information is also stored in addition to the specific "crossing" compressed video recordings that the user performs while recording the game segment. When the user page is being viewed and all thumbnails and video windows are constantly looping, the 3D DVR self-reward clip 2003 will cause the user to record the self-reward clip 2003 of the compressed video when the user records the "travel" of the game segment. Constantly circulate. However, when the user selects the 3D DVR self-reward clip 2003 and clicks the 3D DVR self-reward clip, the user will be able to click to give it, in addition to allowing the playback of the compressed video clip. A button for the 3D 〇¥ ruler of the game clip. It will be able to independently control the camera "crossing" during the game segment, and if it wishes (and the user with the user page so allows), the basin will be able to The alternative self-reward clip "crossing" is recorded in the form of a compressed video, and the alternative self-reward "crossing" will then be available to other viewers of the user page (immediately, or on the owner of the user page 139849) .doc -123- 200949567 After verifying the opportunity to edit the clip). This 3D DVR Self-Camp Clip 2003 capability is enabled by launching a game that will replay the recorded game state information on another application/game server 1521-1525. Because the game can be launched almost instantaneously (as previously described), so it is activated (its playback is limited to the game state recorded by the self-reward clip) and then the user is allowed to record the compressed video to the delay buffer 1515. It is not difficult to "cross" with a camera. Once the user completes the "crossing", the game is deactivated. From the user's point of view, it is no more difficult to control the dvr control with the 3D DVR Self-Tricks 2003. It does not know the game or even know how to play the game. It is only a virtual camera operator staring at the 3D world during the game segment recorded by another operator. The user will also be able to add their own audio to the self-reward clip (or record or upload from the microphone). In this way, a self-reward clip can be used to generate custom animations using characters and actions from the game. This animation technique is often referred to as "machinima". ❹ As users progress through the game, they will reach different skill levels. The played game reports the results to the service control system 4〇 1, and these skill levels will also be displayed on the user page. Interactive animated ads Online ads have evolved from text to still images, video, and now to interactive clips' are typically implemented using an animated, thin-client user like Adobe Flash. The reason for using the animated streamlined client is that the user 139849.doc -124· 200949567 !often::: The privilege of the product or service is delayed and less resistant: the thin client is very inefficient. Execution, and therefore 妯° has a level of confidence: interactive ads will work properly. Aussie, such as AdGbeF] ash's animated, streamlined client is limited in the degree of interactivity and the duration of the experience (to reduce download time). Figure 21 illustrates an interactive advertisement in which the user will select the exterior and interior colors of the car as the car turns red in the showroom, while the instant ray chasing
❷ 展不,車看起來如何。接著使用者選擇化身來駕駛汽車, 且接者使用者可採用該汽車來用於在競赛軌道上或者穿過 諸如Monaco之外國場所駕駛。使用者可選擇較大引擎或較 佳輪胎,且接著可看見改變的組態如何影響汽車加速或保 持穩定之能力。 當然,廣告有效地的為尖端的31)視訊遊戲。但對於可在 PC或視訊遊戲控制台上播放之此種廣告,其將需要可能 100 MB下载’且在PC之狀況下’其可能需要安震特殊驅 動器,且可能在Pc缺乏足夠cpu或Gpu計算能力時根本不 執行。因此,該等廣告在先前技術組態中不切實際。 在主機代管服務210中,該等廣告幾乎即刻地投放,且 較佳地執行’無論使用者之用戶端415能力如何。因此, 其比精簡型用戶端互動式廣告更迅速地投放,體驗上更加 豐富’且高度可靠。 即時動畫期間串流幾何形狀 RAID陣列1511-1 512及入埠路由1502可提供如此快之資 料速率且具有如此低之延時,以致有可能設計依賴於 139849.doc -125 - 200949567 陣列15叫512及人埠路由咖來在即時動 =複雜資料庫之穿越)期間於遊戲播放之中間或庫用程 式中可靠地直接遞送幾何形狀的視訊遊戲及應用程式。 下在=技㈣統(諸如,圖1中所展示之視訊遊戲系統) 下’可用的大量儲存考侔r+甘a 器件(尤其疋在實用的家庭器件中)極 、、慢以致不能在遊戲播放期間串流幾何形狀(除了之 幾何形狀稍微可預測的情形之外而t,在存在指 定道路之駕駛遊戲中,可合理地適當預測用於進入視野内曰 之建築物㈣何形狀且大量儲存器件可提前搜尋即將到來 的幾何形狀所定位的位置。 但在具有不可預測之改變的複雜場景中(例如,在周圍 具有複雜人物之戰役場景中),若PC或視訊遊戲系統上之 RAM完全被填滿用於當前在視圖中之物件的幾何形狀,且 接著使用者突然將其人物轉向以檢視其人物之後為何若 未將幾何形狀預先載入RAM中,則可能在可顯示幾何形狀 之前存在延遲。 在主機代管服務210中,RAID陣列1511-1512可以超過超 咼速乙太網路速度之速度串流資料’且在SAN網路下,有 了 Sb達成優於1 0個十彳思位元乙太網路或優於其他網路技術 的100億位元/秒之速度。100億位元/秒將在小於一秒内載 入十億位元組之資料。在60 fps圖框時間(16.67毫秒)内, 可載入約170百萬位元(21 MB)之資料。當然,甚至在 RAID組態中,旋轉媒體亦仍將招致大於一圖框時間之延 時,但以快閃記憶體為基礎之RAID儲存器最終將與旋轉 139849.doc 126- 200949567 媒體RAID陣列一般大且將不會招致該高延時。在一實施 例中,使用經由大量RAM寫入之快取來提供非常低延時之 存取。 •因此,在足夠高之網路速度,以及足夠低延時的大量儲 . 存器下,可與CPU及/或GPU可處理3D資料一般快地將幾 何形狀串流至應用程式/遊戲伺服器1521-1525中。因此, 在先前所給出的實例中,其中使用者突然將其人物轉向且 向後看,可在人物完成旋轉之前載入其身後的所有人物之❷ No, how the car looks. The user then selects the avatar to drive the car, and the pick-up user can use the car for driving on a race track or through a country other than Monaco. The user can select a larger engine or a better tire and then see how the changed configuration affects the car's ability to accelerate or maintain stability. Of course, the advertisement is effectively a cutting-edge 31) video game. But for such an ad that can be played on a PC or video game console, it will need to be 100 MB downloadable 'and in the case of a PC' it may require an An Zhen special drive, and may lack sufficient cpu or Gpu calculations in the Pc Ability is not enforced at all. Therefore, such advertisements are impractical in prior art configurations. In the colocation service 210, the advertisements are placed almost immediately, and preferably perform 'regardless of the capabilities of the user's client 415. As a result, it delivers more quickly than a streamlined, user-friendly ad, with a richer experience and a high degree of reliability. Streaming geometry RAID arrays 1511-1 512 and incoming routing 1502 during instant animation can provide such fast data rates with such low latency that it is possible to design depending on 139849.doc -125 - 200949567 array 15 called 512 and The video routers and the application program reliably deliver the geometric video games and applications directly in the middle of the game play or in the library application during the mobile game. Under the = technology (four) system (such as the video game system shown in Figure 1), the available mass storage test r + Gan a device (especially in practical home devices) is extremely slow, so that it cannot be played in the game. During the cross-flow geometry (except for the slightly predictable geometry of the geometry, t, in the driving game where there is a designated road, it is reasonable to properly predict the building (4) and the shape of the storage device for entering the field of view. You can search for the location of the upcoming geometry in advance. But in complex scenes with unpredictable changes (for example, in a battle scene with complex characters around), if the RAM on the PC or video game system is completely filled Fully for the geometry of the object currently in view, and then if the user suddenly turns his character to view his character, why if the geometry is not preloaded into the RAM, there may be a delay before the geometry can be displayed. In the colocation service 210, the RAID arrays 1511-1512 can exceed the speed of the ultra-fast Ethernet speed data 'and under the SAN network With Sb achieving a speed of 10 billion bits per second that is better than 10 Tencent Ethernet or better than other network technologies. 10 billion bits per second will load ten in less than one second. Information on billions of bytes. In the 60 fps frame time (16.67 milliseconds), about 170 million bits (21 MB) can be loaded. Of course, even in the RAID configuration, rotating media will still incur A time delay greater than one frame time, but the flash memory based on the flash memory will eventually be larger than the rotating 139849.doc 126-200949567 media RAID array and will not incur this high latency. In one embodiment, Uses a large amount of RAM write cache to provide very low latency access. • Therefore, it can be processed with the CPU and/or GPU at a high enough network speed and a large amount of memory with low latency. The 3D data generally streams the geometry to the application/game server 1521-1525. Thus, in the previously given example, where the user suddenly turns his character and looks backwards, the character can be rotated. All the characters that were previously loaded behind them
A 幾何形狀,且因此,對於使用者而言,將看來似乎其處於 與現場直播之動作一般真實的照片般逼真的世界中。 如先前所論述,照片般逼真的電腦動晝中之最後的邊界 中之一者為人面部,且由於人眼對於不完全性之敏感性, 來自.照片般逼真的面部之最輕微錯誤可導致來自檢視者之 負面反應。圖22展示使用Contour™真實性俘獲技術(以下 同在申請中之申請案的主題:2004年9月15曰申請之第 ❹ 10/942,609 號「Apparatus and method for capturing the motion of a performer」;2004 年 9 月 15 曰申請之第 10/942,413 M,「Apparatus and method for capturing the expression of a performer」;2005 年 2月 25 曰申請之第 11/066,954號 r 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 139849.doc -127- 200949567 method for performing motion capture using 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 曰申請之第 1/449,127 號「System and method for three dimensional capture of stop-motion animated characters」,該等申請案中之每一者已讓於給本 CIP申請案之受讓人)俘獲的現場直播之表演如何導致非常 平滑之俘獲表面,既而達成高多邊形計數的追蹤表面(亦 即,多邊形運動精確地追隨面部之運動)。最後,當將現 場直播之表演之視訊映射於追蹤表面上以產生紋理表面 時,產生照片般逼真的結果。 儘管當前GPU技術能夠再現追蹤表面及紋理中的許多多 邊形且即時地照明該表面,但若多邊形及紋理每一圖框時 間改變(其將產生最具照片般逼真感之結果),則其將迅速 地消耗現代PC或視訊遊戲控制台之所有可用RAM。 使用上文所描述之串流幾何形狀技術,將幾何形狀不斷 地饋送至應用程式/遊戲伺服器1521-1525中以使得其可不 斷地動畫製作照片般逼真的面部從而允許產生具有幾乎不 能區別於現場直播之動作面部之面部的視訊遊戲變得實 際。 線性内容與互動式特徵之整合 139849.doc -128· 200949567 電影、電視節目及音訊材料(統稱「線性内容」)廣泛地 以許多形式可用於家庭及辦公室使用者。線性内容可在如 CD、DVD、HD-DVD及藍光媒體之實體媒體上獲取。其亦 可藉由來自衛星及電纜Tv廣播之DVR來記錄。此外,其 可以經由衛星及電境TV之即付即看(ppv)内容及以電親w 上之視訊點播(VOD)可用。A geometry, and therefore, for the user, it would seem that it is in a world that is as realistic as a live photo action. As discussed earlier, one of the last boundaries of a photo-realistic computer is the human face, and the slightest error from a photo-realistic face can result from the human eye being sensitive to incompleteness. Negative reactions from viewers. Figure 22 shows the use of ContourTM Authenticity Capture Technology (the following is the subject of the application: Application No. 10/942,609, "Apparatus and method for capturing the motion of a performer"; 2004 10/942,413 M, "Apparatus and method for capturing the expression of a performer", September 15th, 2005; Application No. 11/066,954, r Apparatus and method for improving marker identification within a motion Capture system"; March 10, 2005, pp. 11/077, 628, "Apparatus and method for performing motion capture using shutter synchronization"; Application No. 11/255,854, October 20, 2005, "Apparatus and 139849.doc - 127-200949567 method for performing motion capture using a random pattern on capture surfaces"; June 07, 2006 曰 Application No. 11/449,131 "System and method for performing motion capture using phosphor application techniques"; June 7, 2006 Application No. 11/449,043 "System and method fo r performing motion capture by strobing a fluorescent lamp"; June 1987, pp. 1/449, 127, "System and method for three dimensional capture of stop-motion animated characters", each of which has been How the performance of the live broadcast captured by the assignee of this CIP application results in a very smooth capture surface that achieves a high polygon count tracking surface (i.e., the polygon motion accurately follows the motion of the face). Finally, photo-realistic results are produced when the live broadcast of the live video is mapped onto the tracking surface to create a textured surface. Although current GPU technology is capable of reproducing many polygons in the tracking surface and texture and illuminating the surface in real time, if the polygon and texture each frame time changes (which will produce the most photorealistic result), it will quickly All available RAM of a modern PC or video game console is consumed. Using the stream geometry technique described above, the geometry is continuously fed into the application/game server 1521-1525 so that it can continually animate a photo-realistic face to allow for almost indistinguishable The video game of the facial face of the live action becomes practical. Integration of linear content and interactive features 139849.doc -128· 200949567 Movies, TV shows and audio materials (collectively "Linear Content") are widely available in many forms for home and office users. Linear content is available on physical media such as CD, DVD, HD-DVD and Blu-ray media. It can also be recorded by a DVR broadcast from satellite and cable Tv. In addition, it can be available via pay-as-you-go (ppv) content on satellite and TV, and on-demand video on demand (VOD).
日益增加的線性内容可經由網際網路以下載的内容及率 ⑽内谷可用。現今,確實不存在一能體驗與線性媒體相關 聯之所有特徵的位置。舉例而言,DVD及其他視訊光學媒 體通常具有在其他位置處不可用之互動式特徵(如導演之 砰淪、「花絮」短片等)。線上音樂站點具有通常在cd上不 可用之封面藝術及歌曲資訊,但並非所有cd線上可用。 且與電視節目相關聯之網站常常具有額外特徵、網志 (blog)及有時來自演員或創作人員之評論。 另外,在許多電影或運動事件之情況下,常常存在常常 連同線性媒體-起發行(在電影之狀況下)或(在運動之狀況 下)可緊密地聯繫至真實世界事件(例如,玩家之交易)的視 訊遊戲。 主機代管服務210非常適合於在將全異形式之相關内容 連結在一起時遞送線性内容。的確,遞送電影電影不如遞 送高度互動式視訊遊戲有挑戰,且主機代管服務21〇能夠 將線性内容遞送至家庭或辦公室中的多種器件,或遞送至 行動器件。圖23展示用於主機代管服務21〇之例示性使用 者介面頁面,其展示線性内容之選擇。 139849.doc •129· 200949567 但是,不同於大多數線性内容遞送系統,主機代管服務 210亦能夠遞送相關的互動式成份(例如,DVD上之選單及 特徵、HD-DVD上之互動式上覆’及網站上之Adobe Flash 動畫(如下文所說明))。因此,用戶端器件415限制不再引 入關於哪些特徵可用之限制。 另外’主機代管系統210能夠動態且即時地將線性内容 與視訊遊戲内容連結在一起。舉例而言,若使用者正觀看 哈利波特電影中之Quidditch比賽,且決定其願意嘗試玩 Quidditch,則其可僅僅單擊按鈕且電影將暫停且其將被立 即輸送至哈利波特視訊遊戲之Quidditch片段。在玩 Quidditch比赛之後,另一次單擊按鈕,且電影將即刻重新 開始。 在照片般逼真的圖形及製作技術之情況下,其中攝影俘 獲的視訊不能區別於現場直播之動作人物,當使用者進行 自現場直播之動作電影中之Quidditch遊戲至主機代管服務 上之視訊遊戲中之Quidditch遊戲的轉變時(如本文中所描 述)’該兩個場景實際上不能區別。此為線性内容與互動 式(例如’視訊遊戲)内容兩者之導演提供全新的創作選 項,因為該兩個世界之間的線變得不能區別。 利用圖14中所展示之主機代管服務架構,可將3d電影中 之虛擬相機之控制提供給檢視者。舉例而言,在發生於列 車内之場景中,將有可能允許檢視者在故事進展時控制虛 擬相機且環顧列車。此假定列車中之所有3D物件(「資 產」)以及能夠即時地再現該等場景以及原始電影的足夠 139849.doc •130- 200949567 計算能力位準可用。 至對於非電腦產生之娛樂,存在可提供的非常刺激 之互動式特徵。舉例而言,2005電影「傲慢與偏見」具有 裝飾華麗的舊英國大廈中之許多場景。對於特定大廈場 景,使用者可將視訊暫停且接著控制相貞以巡視大廈,或 :能的周圍區域^實施此,可載運具有魚眼透鏡之相機 牙過大廈’ t其追蹤其位置時,非物似於實施先前技術 Apple公司之QuickTime VR。各種圖框接著將被轉換因 ΦIncreasing linear content is available via the Internet for downloading content and rates (10). Today, there is really no place to experience all the features associated with linear media. For example, DVDs and other video optical media typically have interactive features that are not available at other locations (such as directors, "tact" clips, etc.). Online music sites have cover art and song information that are not normally available on cd, but not all cd lines are available. And websites associated with television shows often have additional features, blogs, and sometimes comments from actors or creators. In addition, in the case of many movies or sports events, there are often transactions that can be closely associated with real-world events (eg, player transactions), either in conjunction with linear media (in the case of a movie) or (in the case of sports). ) video game. The colocation service 210 is well suited for delivering linear content when linking disparate forms of related content together. Indeed, delivering a movie movie is less challenging than delivering a highly interactive video game, and the colocation service 21 can deliver linear content to a variety of devices in a home or office, or to a mobile device. Figure 23 shows an exemplary user interface page for the colocation service 21, which shows the selection of linear content. 139849.doc •129· 200949567 However, unlike most linear content delivery systems, the colocation service 210 is also capable of delivering relevant interactive components (eg, menus and features on DVDs, interactive overlays on HD-DVDs). 'And Adobe Flash animation on the website (as explained below)). Therefore, the client device 415 limits no restrictions on which features are available. In addition, the colocation system 210 is capable of dynamically and instantly linking linear content to video game content. For example, if a user is watching a Quidditch game in a Harry Potter movie and decides that he or she is willing to try to play Quidditch, it can simply click the button and the movie will pause and it will be immediately sent to the Harry Potter video. Quidditch clip of the game. After playing the Quidditch game, another click on the button and the movie will start again. In the case of photo-realistic graphics and production techniques, the video captured by the camera cannot be distinguished from the live action characters, when the user performs a video game from the Quidditch game in the live action movie to the colocation service. In the transition of the Quidditch game (as described in this article), the two scenes can't actually be distinguished. This is a brand new creative option for directors of both linear content and interactive (eg, 'video game') content, as the lines between the two worlds become indistinguishable. Using the colocation service architecture shown in Figure 14, the control of the virtual camera in the 3d movie can be provided to the viewer. For example, in a scene that occurs within a train, it will be possible to allow the viewer to control the virtual camera and look around the train as the story progresses. This assumes that all 3D objects in the train ("assets") and enough 139849.doc • 130-200949567 computing power levels are available to instantly reproduce these scenes as well as the original movie. To non-computer-generated entertainment, there is a very stimulating interactive feature that can be provided. For example, the 2005 film "Pride and Prejudice" has many scenes in the beautifully decorated old British mansion. For a specific building scenario, the user can pause the video and then control the camera to patrol the building, or: the surrounding area can be carried out, can carry the camera with the fisheye lens over the building, when it tracks its position, It is similar to the implementation of the prior art Apple's QuickTime VR. Various frames will then be converted by Φ
此景/像不失真,且接著其連同電影一起被儲存於陣 J 15 12上,且在使用者選擇繼續虛擬巡視時被回 放。 在運動事件之情況下,可經由主機代管服務21〇來串流 現場直播之運動事件(諸如,籃球比賽)以供使用者觀看(如 同其對於常見TV所想要的那樣)。在使用者觀看特定播放 之後,遊戲之視訊遊戲(最終籃球玩家看起來與真實玩家 一般照片般逼真)可趕上在同一位置中開始的玩家,且使 用者(可能各自控制一玩家)可重新玩以查看其是否可比該 等玩家做得更佳。 本文中所描述之主機代管服務210極其適合於支援此未 來世界’因為其能夠承受不切實際以致不能安裝於家庭中 或大多數辦公室背景中的計算能力及大容量儲存資源,而 且其計算資源總是最新的(在可用的最新的計算硬體之情 況下),但是在家庭背景中,將總是存在具有較舊代之pC 及視訊遊戲的家庭。此外’在主機代管服務21〇中,使用 139849.doc -131 - 200949567 者被隱瞒所有此計算複雜度’因此,即使使用者可能正使 用非常尖端之系統’自使用者之觀點看,亦如改變電視上 之頻道一般簡單。另外’使用者將能狗存取所有計算能力 及計算能力將自任何用戶端415帶來的體驗。 多人遊戲 至遊戲為多人遊戲之程度,則其將能夠不僅經由入捧路 由1502網路傳達至應用程式/遊戲伺服器ΐ52ι_ΐ525而且藉 由網路橋接器傳達至具有不在主機代管服務21〇中執行之 伺服器或遊戲機器的網際網路(未圖示)。當藉由通用網際參 網路上之電腦玩多人遊戲時,則應用程式/遊戲伺服器 1521-1525將具有極快存取網際網路之益處(與遊戲係在家 庭中之飼服器上執行的情況相比),但其將受在較緩慢連 接上玩遊戲之其他電腦的能力限制,且亦潛在地受網際網 路上之遊戲伺服器經設計以適應最少共同點(該等遊戲伺 服盗將為相對緩慢之消費者網際網路連接上的家庭電腦) 的事實限制。 但當完全在主機代管服務21〇伺服器中心内玩多人遊戲© 時,則可達成極大差異。主機代管用於使用者之遊戲之每 一應用程式/遊戲伺服器1521-1525將與其他應用程式/遊戲 5艮器1521-1525以及藉由極高速度、極低延時連接性及 巨大、非常快之儲存陣列主機代管對多人遊戲之中央控制 的任何伺服器互連。舉例而言,若超高速乙太網路用於入 阜路由1502網路’則應用程式/遊戲伺服器1521-1525將在 彼此田中傳達’且傳達至以十億位元/秒速度在潛在的僅1 139849.doc -132- 200949567 毫秒或1毫秒以下之延時下主機代管對多人遊戲之中央控 制的任何伺服器。另外,RAID陣列15 11 -1512將能夠非常 快速地回應且接著以十億位元/秒速度傳送資料。作為一 • 實例’若使用者在外表及服裝方面定製人物,以使得人物 . 具有對於人物而言唯一的大量幾何形狀及行為,在限於在 家庭中在PC或遊戲控制台上執行之遊戲用戶端的先前技術 系統下,若彼人物將進入另一使用者之視野中,則使用者 _ 將必須等待直至長的緩慢下載完成為止,以便將所有幾何 形狀及行為資料載入其電腦中。在主機代管服務21〇内, 彼相同下載可優於以十億位元/秒速度自RAID陣列ι511_ 15 12伺服的超高速乙太網路。即使家庭使用者具有^ Mbps 網際網路連接(其根據現今之標準來看極快),超高速乙太 網路亦快100倍。因此,在快的網際網路連接上花費一分 鐘進行的工作在超高速乙太網路上將花費小於一秒。 頂級玩家分群及錦標赛 Φ 主機代管服務210極其適合於錦標賽。因為無遊戲係在 本端用戶端中執行,所以不存在使用者作弊之機會。又, 由於輸出路由1540多播UDP流之能力,使得主機代管服務 210能夠同時向觀眾中的數千人廣播較大錦標赛。 事實上,當存在如此風行以致數千名使用者正接收相同 流的特定視訊流時(例如,展示較大錦標賽之視圖),將視 訊流發送至内容遞送網路(CDN)(諸如,从咖以或This scene/image is not distorted, and then it is stored on the array J 15 12 along with the movie and is played back when the user chooses to continue the virtual tour. In the case of a sporting event, a live event (e.g., a basketball game) can be streamed via the colocation service 21 for viewing by the user (as it would be for a typical TV). After the user views a particular play, the video game of the game (finally the basketball player looks as realistic as the real player's photo) can catch up with the player starting in the same position, and the user (possibly controlling one player each) can replay To see if it can do better than these players. The colocation service 210 described herein is extremely well-suited to support this future world's computing power and large-capacity storage resources that are unrealistic enough to be installed in the home or in most office settings, and its computing resources Always up to date (in the case of the latest computing hardware available), but in the home background, there will always be families with older generations of pCs and video games. In addition, 'in the colocation service 21〇, the use of 139849.doc -131 - 200949567 is concealed of all this computational complexity', so even if the user may be using a very sophisticated system' from the user's point of view, It is generally simple to change the channel on TV. In addition, the user will be able to access all computing power and computing power from any client 415. The multiplayer game to the extent that the game is a multiplayer game, it will be able to communicate not only to the application/game server ΐ52ι_ΐ525 via the network 1502 but also to the host escrow service 21 via the network bridge. The Internet (not shown) of the server or game machine being executed. When playing multiplayer games on a computer on a universal Internetwork, the application/game server 1521-1525 will have the benefit of extremely fast access to the Internet (with the game system running on the feeder in the home) Compared to the situation, but it will be limited by the ability of other computers playing games on slower connections, and potentially by the game servers on the Internet to be designed to accommodate the least commonalities (these game pirates will The factual limit for a relatively slow consumer Internet connection on a home computer). However, when playing multiplayer game© in the server hosting service 21〇 server center completely, a great difference can be achieved. Each application/game server 1521-1525 hosted by the host for the user's game will be connected to other applications/games 5 1521-1525 and by extremely high speed, very low latency and huge, very The Fast Storage Array Host hosts any server interconnects that are centrally controlled by multiplayer games. For example, if a hyper-speed Ethernet is used to route the 1502 network' then the application/game server 1521-1525 will communicate in the field and communicate to the potential at a bite/second speed. Only 1 139849.doc -132- 200949567 milliseconds or less than 1 millisecond delay under the host to host any server for the central control of multiplayer games. In addition, RAID arrays 15 11 - 1512 will be able to respond very quickly and then transfer data at a gigabit per second rate. As an example, if a user customizes a character in appearance and clothing so that the character has a large number of geometric shapes and behaviors that are unique to the character, the game user is limited to playing on a PC or game console in the home. Under the prior art system, if the character enters the field of view of another user, the user_ will have to wait until a long slow download is completed in order to load all geometry and behavioral data into his computer. Within 21 主机 of the colocation service, the same download can be superior to the ultra-high-speed Ethernet from the RAID array ι511_ 15 12 at a rate of one billion bits per second. Even if the home user has a ^ Mbps Internet connection (which is extremely fast based on today's standards), the ultra-fast Ethernet network is 100 times faster. Therefore, it takes less than a second to spend a minute on a fast internet connection on a super-fast Ethernet. Top Player Grouping and Tournaments Φ The Hosting Service 210 is ideal for tournaments. Since no game is executed in the local client, there is no chance for the user to cheat. Again, due to the ability of the output route 1540 to multicast UDP streams, the colocation service 210 can simultaneously broadcast larger tournaments to thousands of people in the audience. In fact, when there are so popular that thousands of users are receiving the same stream of specific video streams (for example, showing a larger tournament view), the video stream is sent to a content delivery network (CDN) (such as from a coffee) Or
Limelight)以供至大量分配至許多用戶端器件415可能更有 效0 139849.doc 133- 200949567 虽使用CDN來展示頂級玩家分群之遊戲取景器頁面時, 可獲得類似位準之效率。 對於較大錦標赛,可使用現場直播的名人解說員來在特 定比赛期間提供評論。儘管大量使用者將係在觀看較大錦 標赛,且相對小數目將係在錦標赛中玩。可將來自名人解 說員之音訊路由至主機代管在錦標赛中玩之使用者且主機 代管錦標赛中之遊戲之任何旁觀者模式複本的應用程式/ 遊戲伺服器U2M525,且可將音訊加錄於遊戲音訊之 上。可在遊戲上(亦可能剛好在旁觀者視圖上)上覆名人解❽ 說員之視訊。 網頁載入之加速 求·貝Λ網之主要輸送協定、超文字傳送協定(Ηττρ)係 經構想並界定於-其中僅商業具有高速網際網路連接,且 線上之消費者使用撥號數據機或ISDN的時代中。此時, 用於快速連接之「黃金標準」為71線,其對稱地提供^ 5 Mbps資料速率(亦即,兩個方向中具有相等資料速率)。 現今,情形完全不同。大量發達世界中經由肌或電境❹ 數據機連接之平均家庭連接速度具有比以線高得多的下行 資料速率。事實上,在世界之—些地方中,光纖至路邊 (flber_t〇-the-CUrb)正將高達5〇河叶5至100 Mbps之資料速 率引入家庭。 遺憾地,HTTP未經架構(亦未實施)以有效地利用此等急 劇速度改良。網站為遠端伺服器上之樓案之集合。非常簡 單地說,HTTP請求第—檔案,等待下載該檔案且接著 I39849.doc -134- 200949567 請求第二檔案’等待下載該標案等。事實上,HTTP允許 一個以上「開放連接」(亦即,每次請求—個以上樓案)°, ,由於議定的標準(及防止網路词服器被超載之願望)而使 得僅准許非常少之開放連接。此外,由於網頁經構造之方 式,劉覽器常常未意識到可用於立即下載之多個同時頁面 (亦即’僅在剖析—頁面之後才變得顯而易見:需要下載 如影像之新樓案)。因此,網站上之權案實質上係逐個地Limelight) may be more efficient for distribution to a large number of client devices 415. 139849.doc 133- 200949567 Although CDN is used to display the top viewer grouped game viewfinder page, similar level efficiency can be obtained. For larger tournaments, live celebrity commentators can be used to provide comments during specific competitions. Although a large number of users will be watching the larger championships, a relatively small number will be played in the tournament. The audio from the celebrity commentator can be routed to the application/game server U2M525 that hosts the host in the tournament and hosts any of the bystander mode games of the game in the tournament, and can add the audio Recorded on the game audio. You can use the celebrity to explain the video of the speaker on the game (or just on the bystander view). Accelerated webpage loading. The main delivery protocol and hypertext transfer protocol (Ηττρ) of Bellow.com are conceived and defined in which only commercials have high-speed Internet connections, and consumers on the line use dial-up data machines or ISDN. In the era. At this time, the "gold standard" for fast connection is 71 lines, which symmetrically provides a data rate of ^ 5 Mbps (i.e., equal data rates in both directions). Today, the situation is completely different. In a large number of developed worlds, the average home connection speed via a muscle or electricity modem connection has a much higher downlink data rate than the line. In fact, in some parts of the world, fiber-to-the-road (flber_t〇-the-CUrb) is introducing data rates of 5 to 100 Mbps up to 5 〇 river leaves into the home. Unfortunately, HTTP has not been architected (and not implemented) to effectively utilize these dramatic speed improvements. The website is a collection of buildings on the remote server. Quite simply, the HTTP request is the first file, waiting to be downloaded, and then I39849.doc -134- 200949567 requests the second file 'waiting to download the standard, etc.'. In fact, HTTP allows for more than one "open connection" (that is, each request - more than one case) °, because of the agreed standards (and the desire to prevent the network word server from being overloaded), so that only very few permits Open connection. In addition, because web pages are structured, viewers are often unaware of the multiple simultaneous pages available for immediate download (i.e., 'only after profiling—the page becomes apparent: a new building such as an image needs to be downloaded). Therefore, the powers on the website are essentially one by one.
載入。此外’由於由Ηττρ使用之請求及回應協定,存在 與所載入之每一檔案相關聯的大致(存取美國的典型網路 飼服器)1 〇 〇毫秒之延時。 在相對低速連接之情況下,此不會引人大量問題,因為 =於檔案本身之下載時間決^網頁之等待時間。但是,隨 者連接速度增大(尤其是複雜網頁情況下),開始引起問 題。 在圖24中所展不之實例中,展示典型商業網站(此特定 網站係來自較大運動鞋商標)。網站上具有54個檔案。檔 案包括HTML、CSS、JPEG、PHp、 2,且包括視訊内容。在現場直播網頁(亦即,使用者可 早擊其並開始使用其)之前,必須載入總共15 “位元組。 對於大量㈣存在許多原因。首先,其為複雜且尖端之網 頁,且其次,其為基於關於存取該頁面之使用者之資訊動 態地組合的網頁(例如,使用者來自哪個國家,何種語 言,使用者之前是否進行購買等),且視所有此等因素而 下載不同檔案。但是,其仍為非常典型的商業網頁。 139849.doc -135- 200949567 圖24展示隨著連接速度增大在現場直播網頁之前消逝的 時間量。在1.5 Mbps連接速度24〇1下,使用具有習知網路 劇覽器之習知網路舰n,在現場直播網頁之前花費 秒。在12 Mbps連接速度2402下,載入時間減少至65秒, 或約快一倍。但在96 Mbps連接速度24〇3下,載入時間僅 減少至約5.5秒。&之原因係因為在此種高下載速度下, 下载檔案本身之時間最小,但每檔案各自大致丨〇〇毫秒之 延時仍保持,從而導致54個檔案*1〇〇毫秒=54秒之延時。 因此,無論至家庭之連接多快,此網站在現場直播之前將 _ 總是花費至少5.4秒。另一因素係伺服器側排入佇列;每 個HTTP請求係在佇列之後部添加,因此在忙碌伺服器 上,此將具有顯著影響,因為對於待自網路伺服器得到的 每個小項目,HTTP請求需要等待其返回。 解決此等問題之一方式係廢棄或重新界定HTTp。或 者’可能使網站擁有者較佳地將其檔案合併成單一檔案 (例如,以Adobe Flash格式)。但是,作為一實際問題,此 公司以及許多他人在其網站架構中具有大量投資。另外,© 儘B些豕庭具有12·100 Mbps連接’但大多數家庭仍具 有較緩慢之速度,且HTTP在緩慢速度下確實工作良好。 一替代方法係將網路瀏覽器主機代管於應用程式/遊戲 飼服器1521-1525上’且將用於網路伺服器的檔案主機代 管於RAID陣列1511-1512上(或潛在地主機代管於主機代管 網路瀏覽器之應用程式/遊戲伺服器1521-1525上的RAM中 或本端儲存器上)。由於經由入埠路由1502(或至本端儲存 139849.doc -136- 200949567 鬱 ❹ 器)之非常快之互連,並非在使用HTTP下每檔案具有1〇〇 毫秒之延時,而是在使用HTTP下將存在每檔案最小延 時°接著,並非使家庭中之使用者經由HTTP存取網頁, 而是使用者可經由用戶端415存取網頁。接著,甚至在i 5 Mbps連接下(因為此網頁不需要大量頻寬來用於其視訊), 網頁亦將在每一線2400小於i秒之時間内處於現場直播。 實質上,在應用程式/遊戲伺服器1521_1525上執行之網路 瀏覽器顯示現場直播之頁面之前將不存在延時,且在用戶 端415顯示來自網路瀏覽器之視訊輸出之前將不存在可偵 測到的延時。當使用者使用滑鼠搜尋網頁及/或在網頁上 鍵入字時’將使用者之輸入資訊發送至在應用程式/遊戲 伺服器1521-1525上執行之網路瀏覽器,且網路劉覽器將 相應地作出回應。 此方法之-不利之處係:若壓縮器正恆定地傳輸視訊資 料,則使用頻寬,即使網頁變成靜態亦如此。此可藉由組 態壓縮器以僅在(且若)網頁改變時才傳輸資料且接著僅將 資料傳輸至發生改變之頁面部分來補救。#存在且有怪定 地改變的快閃標語等之—些網頁時,該等網頁傾向於令人 。寸厭且除非存在要移動某物(例如,視訊剪輯)之原因, 否則通常網頁為靜態的。對於該等網頁,可能為以下狀 況仰使用主機代官服務21G將傳輸較少資料(與f知網路祠 服器相比),因為將僅傳輸實際顯示的影像,無精簡型用 戶端可執行碼,且無可能從不被檢視之大物件(諸如 動翻轉影像)。 139849.doc •137- 200949567 因此,使用主機代管服務210來主機代管舊版網頁,可 將網頁载入時間減少至打開網頁係類似改變電視上之頻道 的程度:有效地即刻地現場直播該網頁。 促進遊戲及應用程式之除錯 如先剛所敍述,具有即時圖形之視訊遊戲及應用程式為 非常複雜之應用程式且通常當其被發行至該領域中時,其 含有缺陷。儘管軟體開發商將自使用者得到關於缺陷之反 饋,且其可能具有用於在崩潰之後將機器狀態傳回之一些 方式,但確切地識別是什麼引起遊戲或即時應用程式崩潰 或不適當地執行非常困難。 將收集可用的無論什麼機器狀態。將矣 連同由延遲緩衝器1515記錄之視訊/音 當遊戲或應用程式在主機代管服務2丨〇中執行時,將遊 戲或應用程式之視訊/音訊輸出恆定地記錄於延遲緩衝器 1。515上。另外,看門狗過程執行每一應用程式/遊戲伺服 器1521.1525,該看狗過程將向主機代管服務控制系統 401定期地報告應用程式/遊戲舰器152ι_ΐ525正平滑地執 行。若看Η狗過程未能報告,㈣服器控制系統撕將試 圖與應用程式/遊戲伺服器1521_1525通信,且若成功,則 將無論什麼可用之資訊 L/音訊一起發送至軟體 主機代管服務Load. In addition, due to the request and response protocol used by Ηττρ, there is a delay of approximately 1 〇 milliseconds associated with each file loaded (typical access to the US network feeder). In the case of a relatively low-speed connection, this does not cause a lot of problems, because = the download time of the file itself depends on the waiting time of the web page. However, as the connection speed increases (especially in the case of complex web pages), it starts to cause problems. In the example shown in Figure 24, a typical commercial website (this particular website is from a larger athletic shoe trademark) is shown. There are 54 files on the website. The files include HTML, CSS, JPEG, PHp, 2, and include video content. A total of 15 "bytes" must be loaded before the live web page (that is, the user can hit it early and start using it). There are many reasons for the large number (four). First, it is a complex and sophisticated web page, and secondly a web page that is dynamically combined based on information about users accessing the page (eg, from which country the user came from, what language, whether the user previously made a purchase, etc.), and downloaded differently depending on all of these factors Archive. However, it is still a very typical commercial web page. 139849.doc -135- 200949567 Figure 24 shows the amount of time that elapses before the live web page increases as the connection speed increases. At 1.5 Mbps connection speed 24〇1, use The familiar network ship n with a conventional network browser takes seconds before the live web page. At 12 Mbps connection speed 2402, the load time is reduced to 65 seconds, or approximately doubled. But at 96 Mbps The connection speed is only 24 〇3, and the load time is only reduced to about 5.5 seconds. The reason is because at this high download speed, the time to download the file itself is the smallest, but each file is roughly The delay of 丨〇〇 milliseconds is still maintained, resulting in a delay of 54 files * 1 〇〇 milliseconds = 54 seconds. Therefore, no matter how fast the connection to the home, this website will always take at least 5.4 seconds before the live broadcast. Another factor is that the server side is queued up; each HTTP request is added after the queue, so on a busy server, this will have a significant impact because for each small one to be obtained from the web server Projects, HTTP requests need to wait for them to return. One way to solve these problems is to discard or redefine HTTp. Or 'may make the site owner better merge their files into a single file (for example, in Adobe Flash format). As a practical matter, this company and many others have invested heavily in its website architecture. In addition, ©B, there are 12.100 Mbps connections in the courts' but most families still have slower speeds, and HTTP is slow. The speed does work well. An alternative is to host the web browser host on the application/games server 1521-1525' and the file master will be used for the web server. The machine is hosted on the RAID arrays 1511-1512 (or potentially hosted in the RAM on the application/game server 1521-1525 hosted on the hosted web browser or on the local storage).非常 Route 1502 (or to the local storage 139849.doc -136- 200949567 ❹ ) ) is a very fast interconnection, not using HTTP with a delay of 1 〇〇 per file, but will exist under HTTP Minimum latency per file. Next, instead of allowing a user in the home to access the web page via HTTP, the user can access the web page via the client 415. Then, even under the i 5 Mbps connection (because the web page does not require a lot of bandwidth for its video), the web page will be live broadcast in less than i seconds per line 2400. In essence, there will be no delay before the web browser executing on the application/game server 1521_1525 displays the live broadcast page, and there will be no detectable before the user terminal 415 displays the video output from the web browser. The delay to arrive. When the user uses the mouse to search the webpage and/or type a word on the webpage, 'the user's input information is sent to the web browser executed on the application/game server 1521-1525, and the web browser A response will be responded accordingly. The disadvantage of this method is that if the compressor is constantly transmitting video data, the bandwidth is used, even if the web page becomes static. This can be remedied by the configuration compressor to transmit data only when (and if) the web page changes and then only transfer the data to the portion of the page where the change occurred. #有有有有地地的快闪标语, etc. - Some pages tend to be fascinating. Web pages are usually static unless there is a reason to move something (for example, a video clip). For these web pages, it may be possible to use the host agency service 21G to transfer less data for the following situations (since compared to the network server), since only the actual displayed image will be transmitted, no compact client executable code And there are no large objects (such as moving images) that may never be viewed. 139849.doc • 137- 200949567 Therefore, using the colocation service 210 to host an old web page can reduce the web page load time to the extent that opening the web page is similar to changing the channel on the TV: effectively live broadcasting the live Web page. Promoting the Debugging of Games and Applications As just described, video games and applications with instant graphics are very complex applications and often have defects when they are released into the field. Although the software developer will get feedback on the defect from the user and it may have some way to return the machine state after the crash, it is exactly what is causing the game or instant application to crash or improperly execute. very difficult. Any machine state will be available for collection. The video/audio output of the game or application is constantly recorded in the delay buffer 1 along with the video/audio recorded by the delay buffer 1515 when the game or application is executed in the colocation service 2丨〇. on. In addition, the watchdog process executes each application/game server 1521.1525, which will periodically report to the colocation service control system 401 that the application/game ship 152ι_ΐ 525 is executing smoothly. If the dog walking process fails to report, (4) the server control system tears the attempt to communicate with the application/game server 1521_1525, and if successful, sends any information about the available L/audio to the software colocation service.
當遊戲或應用程式軟體開發商自 2 10得到崩潰4 圖框之紀錄。 139849.doc 200949567 亦注意,當應用程式/遊戲伺服器1521-1525崩潰時,在 最近的可重新啟動之時刻重新啟動伺服器,且將訊息提供 給使用者,從而就技術困難道歉。 資源共用及成本節省When the game or application software developer gets a record of crashing 4 frames from 2 10 . 139849.doc 200949567 It is also noted that when the application/game server 1521-1525 crashes, the server is restarted at the most recent restartable time and the message is provided to the user, apologizing for technical difficulties. Resource sharing and cost savings
圖4a及圖4b中所展示之系統為終端使用者與遊戲及應用 程式開發商兩者提供多種益處。舉例而言,通常,家庭及 辦公室用戶端系統(例如,PC或遊戲控制台)僅在一週中之 小百分比之小時中處於使用中。根據由Nieisen娛樂「活 rc.c om/cgi- 躍遊戲者基準點研究」(hup://www.prnewswi bin/stories.pl?ACCT=l〇4&STORY=/www/story/l〇-〇5-2006/ 〇〇〇4446115&EDATE=)的2〇〇6年ι〇月5日通信稿,活躍遊戲 者一週平均花費14個小時來在視訊遊戲控制台上玩且約一 週17個小時在掌上型器件上玩。該報告亦陳述:對於所有 遊戲播放活動(包括控制台、掌上型器件&pc遊戲播放卜 活躍遊戲者平均-週13個小時。考慮較高數字之控制台視 訊遊戲播放時間,存在一週24*7=168個小時,彼暗示在活 躍遊戲者之家中,視訊賴控制台僅在-週之17/168 = 10% 的小時中處於使料。或者,贈。之時間,視訊遊戲控制 台係間置的。給定視訊遊戲控制台之高成本,及製造商資 助該等器件之事實’此為昂貴資源之非常無效率之使用。、 商業内之PC通常亦僅尤 Λ _ ^ 兀僅在—週之-分率小時h吏用,尤其是 南端應用程式(諸如,1 mThe systems shown in Figures 4a and 4b provide multiple benefits to both end users and game and application developers. For example, in general, home and office client systems (e.g., PCs or game consoles) are only in use for a small percentage of the week. According to Nieisen Entertainment "Live rc.c om/cgi- leap player benchmark study" (hup://www.prnewswi bin/stories.pl?ACCT=l〇4&STORY=/www/story/l〇- 〇5-2006/ 〇〇〇4446115&EDATE=) 2nd 6th year 〇 5 5th communication, active players spend an average of 14 hours a week on the video game console and about 17 hours a week Play on handheld devices. The report also states that for all game play activities (including console, handheld devices & PC games, active players average - 13 hours per week. Considering the higher number of console video game play time, there is a week 24* 7=168 hours, he suggested that in the active gamer's home, the video console is only in the hour of 17/168 = 10% of the week. Or, the time of the video game console The high cost of a given video game console, and the fact that the manufacturer subsidizes such devices' is a very inefficient use of expensive resources. PCs in the business are usually only _ ^ 兀 only in - Week-times, hours, especially for southern applications (such as 1 m)
Autodesk 桌上型PC 〇儘管一些商紫 揚式 PCV— m -—業在所有小時及假曰操作且-歧 PC(例如,帶回家以用於 一 兄進仃工作的可攜式PC)係在 139849.doc •139· 200949567 所有小時及假日使用,/日4· , C大多數商業活動傾向於在給定 業時區中集中於自週-至週五的約9 AM至5 PM,較少假 曰及斷開時間(諸如,午餐),且因為大多數pc使用在使用又 者積極地利用PC時出現’所以其遵循:桌上型pc利用傾 向於遵循此等操作小時數。若假I週中之五天的自 至5 PM〖亙定地利用pc ,則彼將暗示%在一週之Autodesk Desktop PCs, although some commercial-style PCV-m--operated in all hours and with false alarms, and PCs (for example, portable PCs brought home for a brother-in-the-job work) In 139849.doc • 139· 200949567 All hours and holidays, / 4, C Most commercial activities tend to focus on the week-to-week from 9 AM to 5 PM in a given industry time zone, less False and disconnection times (such as lunch), and because most PCs appear when they are used again and actively use the PC's, so they follow: desktop PCs tend to follow these hours of operation. If the five days of the fake I week are from 5 PM to the use of pc, then he will imply that the % is in a week.
4〇/168=24%之小時中被利用。高效能桌上型PC為用於商 業之非常昂貴的投f ’且此反映非常低之利用i。在桌上 型電腦上教學之學校可在一週之甚至更小分率中使用電 腦’且儘管其視教學之小時數而改變,但大多數教學在自 週-至週五之日間小時期間出現。因此,一般而言,似 視訊遊戲控制台僅在_週之小分率小時中被利用。 值得注意地,因為許多人在非假日之週—至週五之日間 j時期間在商業S在學校卫作,所以此等人通常在此等小 時期間不玩視訊遊戲,且因此當其確實玩視訊遊戲時,其 通常係在其他小時期間(諸如,晚上、週末及假曰4〇/168=24% of the hours are utilized. High-performance desktop PCs are very expensive investments for business and this reflects very low utilization. Schools that teach on a desktop can use the computer for a week or even less, and although it varies depending on the number of hours taught, most of the teaching occurs during the hours of the week-week. Therefore, in general, a video-like game console is only utilized in the hour of the minute. Notably, because many people are in the business s in the business week during the non-holiday week - to the time of the Friday, these people usually do not play video games during these hours, and therefore when they do play When video games are played, they are usually during other hours (such as evenings, weekends, and fakes).
給定圖4a中所展示的主機代管服務之組態,則上述兩段 中所描述之使用型樣導致資源之非f有效之利用。顯而易 見,存在對於可在給定時間由主機代管服務21〇來伺服之 使用者的數目的限制’尤其在使用者需要用於複雜應用程 =(如尖端3D視訊遊戲)之即時回應性的情況下。但是,不 同於豕庭中之視訊遊戲控制台或由商業使用的pc(其通常 在大多數時間閒置放置),伺服器術可由不同使用者在不 同夺間重新利用。舉例而言,具有高效能雙cpu及雙Gpu 139849.d〇c -140. 200949567 及大量RAM之高效能伺服器4〇2可由商業及學校在非假曰 之9 AM至5 PM利用,但由玩尖端視訊遊戲之遊戲者在晚 上、週末及假日利用。類似地,低效能應用程式可由商業 . 及學校在商業小時期間在具有Celeron CPU、無Gpu(或非 ' 常低端之GPU)及有限RAM之低效能伺服器4〇2上利用且低 效能遊戲可在非商業小時期間利用低效能伺服器4〇2。 另外,在本文中所描述之主機代管服務配置的情況下, 參 資源係在數千名(若非數百萬名)使用者當中有效地共用。 一般而言,線上服務僅具有其總使用者基礎的小百分比在 給定時間使用服務。若考慮先前所列出訊遊戲 使用統計資料,則容易瞭解為什麼。若活躍遊戲者一週僅 17個小時玩控制台遊戲,且若假定遊戲之峰值使用時間係 在晚上(5-12 AM,7*5天=35小時/週)及週末(8 am_12 AM,16*2=32小時/週)的典型非工作、非商業小時期間, 則對於17個小時之遊戲播放,一週存在35+32=65個峰值小 ❿ 時。由於以下許多原因而使得難以估計系統上之確切峰值 使用者負載:一些使用者將在峰值外時間期間玩’可能存 在特定日間時間存在使用者之叢集峰值,峰值時間可受所 玩遊戲之類型(例如’孩子之遊戲將可能係在晚上的較早 時間玩)等影響。但是,假定當遊戲者可能玩遊戲時,遊 戲者玩的平均小時數遠小於曰間之小時數,則僅主機代管 服務210之一分率數目之使用者將係在給定時間使用主機 代管服務2 1 0。為此分析起見,將假定峰值負載為丨2 $。/。 因此,僅12.5%之計算、壓縮及頻寬資源係在給定時間使 139849.doc • 141 - 200949567 用’從而由於資源之再使用而導致僅12.5%之硬體成本來 支援給定使用者玩效能遊戲之一給定級別。 此外,假定一些遊戲及應用程式需要比其他者多的計算 能力,則可基於被使用者玩之遊戲或由使用者執行之應用 程式來動態地分配資源。因此,選擇低效能遊戲或應用程 式之使用者將被分配低效能(較低廉)伺服器4〇2,且選擇高 效能遊戲或應用程式之使用者將被分配高效能(較昂貴)飼 服器402。實際上’給定遊戲或應用程式可能具有遊戲或 應用程式之較低效能及較高效能區,且可在遊戲或應用程 ❹ 式之區之間將使用者自一伺服器4〇2切換至另一伺服器 402 ’以保持使用者在滿足遊戲或應用程式之需要的最低 成本伺服器402上執行。注意,遠比單一磁碟快之raid. 列405將可為甚至低效能伺服器4〇2所用,此具有較快磁碟 傳达速率之益處。因此,跨越所有所玩遊戲或所使用之應 用程式的每伺服器402平均成本比玩最高效能遊戲或應用 程式之大多數昂貴伺服器402之成本小得多,然而,即使 低效能伺服器402亦將自raid陣列405得到磁碟效能益 © 處。 另外’主機代管服務210中之伺服器402可能僅為不具有 磁碟或周邊介面(不同於網路介面)之pc主機板,且恰好, 可向下整合至剛好具有至SAN 403之快速網路介面的單一 曰曰片。又,RAID陣列405可能將在比存在磁碟之情況多得 、的使用者當中共用,因此每一活躍使用者之磁碟成本將 遠小於一磁碟機。所有此設備將可能駐留於環境上受控制 139849.doc •142· 200949567 二服器室環境中的支架t。若飼服器術出故障,則其 可容易地在主機代管服務210處進行修理或替換。相比2 下,家庭或辦公室中之pc或遊戲控制台必須堅固,必須能 . 夠倖免於合理之磨損及撕裂以防被重擊或降落的獨立器^ 需要外成,具有至少一磁碟機,必須倖免於不利的環境 條件(例如,被勉強塞入具有其他用具之過熱AV櫥櫃中), 需要服務保證,必須被封裝及裝運,且由可能收取零售利 φ 狀零售商來出售。另外’ PC或遊戲控制台必須經組態以 滿足將在未來某—時刻使用的計算上帛密集之預期遊戲或 應用程式的峰值效能,即使較低效能遊戲或應用程式(或 遊戲或應用程式之區)亦可能在大多數時間玩。此外,若 PC或控制台出故障,則使其得到修理係一昂貴且耗時之過 程(不利地影響製造商、使用者及軟體開發商)。 口此假疋圖4a中所展示之系統將相當於本端計算資源 之體驗的體驗提供給使用者,以供使用者在家庭、辦公室 ❹ 或學校中體驗給定位準之計算能力,則經由圖4a中所展示 之架構提供彼計算能力要低廉得多。 消除對升級之需要 另外’使用者不必再擔憂將PC及/或控制台升級以玩新 遊戲或處理較鬲效能之新應用程式。主機代管服務21〇上 之任何遊戲或應用程式(不管彼等遊戲或應用程式需要何 類型之饲服器402)均可為使用者所用,且所有遊戲及應用 程式接近即刻地執行(亦即,快速地自RAID陣列405或伺服 器402上之本端儲存器載入)且適當地具有最新更新及缺陷 139849.doc -143- 200949567 修復(亦即’軟體開發商將能夠選擇用於執行給定遊戲或 應用程式之伺服器402的理想伺服器組態,且接著將飼服 1§ 402組態有最佳驅動器’且接著隨著時間的推移,開發 商將能夠同時將更新、缺陷修復等提供給主機代管服務 210中之遊戲或應用程式之所有複本)。實際上,在使用者 開始使用主機代管服務210之後,使用者可能發現遊戲及 應用程式繼續提供較佳體驗(例如,經由更新及/或缺陷修 復)且可能為以下狀況:使用者一年後發現新遊戲或應用 私式可用於利用計算技術(例如,較高效能之Gpu)(其在一 年刖甚至不存在)之服務21〇上,因此對於使用者而言,將 不可能購買將在一年後玩遊戲或執行應用程式的一年前之 技術。因為玩遊戲或執行應用程式之計算資源對於使用者 而吕不可見(亦即,自使用者之觀點看,使用者僅係選擇 接近即刻地開始執行之遊戲或應用程式_更像使用者改變 電視上之頻道),所以使用者之硬體將在使用者甚至未意 識到升級之情況下已被「升級」。 消除對於備份之需要 、對於商業、學杈及家庭中之使用者的另一較大問題係傾 伤右磁碟出故障’或若存在無意抹除,則健存於本端以 或視Λ遊戲控制台中之資訊(例如,在控制台之狀況下, 使用者之遊戲成果及等級)可能吾失。存在提供用於心 I動^動備份的許多可用的應用程式,且可將遊戲控制 :狀恶上載至線上伺服器以供備份,但通常將本端備份複 須錯存於安全且有組織的某處之另-本端磁碟(或 139849.doc 200949567 其他非揮發性儲存器件),且由於經由典型低成本網際網 路連接可用4緩慢上行速度而使才寻對於線上服務之備份常 ¥有限。在圖4a之主機代管服務21G下,儲存於RAID陣列 405中之資料可使用為熟f此項技術者所熟知之先前技術 RAID組態技術來組態,以使得當磁碟出故障時,將不丟 失貝料,且將通知容納出故障之磁碟之伺服器中心處的技 術員,且接著技術員將替換該磁碟,該磁碟接著將被自動Given the configuration of the colocation service shown in Figure 4a, the usage patterns described in the two paragraphs above result in the non-f efficient use of resources. Obviously, there is a limit to the number of users that can be served by the colocation service at a given time, 'especially when the user needs instant responsiveness for complex applications = (such as cutting-edge 3D video games) under. However, unlike video game consoles in the court or PCs that are used commercially (which are usually left idle most of the time), server technology can be reused by different users in different ways. For example, a high-performance dual cpu and dual Gpu 139849.d〇c-140. 200949567 and a large amount of RAM high-performance server 4〇2 can be utilized by commercial and school in non-false 9 9 AM to 5 PM, but by Players who play cutting-edge video games use it at night, on weekends and on holidays. Similarly, low-performance applications can be utilized by businesses and schools during business hours on low-performance servers with Celeron CPUs, no Gpu (or non-normally low-end GPUs), and limited RAM. The low performance server 4〇2 can be utilized during non-commercial hours. In addition, in the case of the colocation service configuration described herein, the participating resources are effectively shared among thousands (if not millions) of users. In general, online services only use a small percentage of their total user base to use the service at a given time. If you consider the statistics of the game games listed previously, it is easy to understand why. If active players play console games for only 17 hours a week, and if the peak usage time of the game is assumed to be at night (5-12 AM, 7*5 days = 35 hours/week) and weekends (8 am_12 AM, 16*) During a typical non-working, non-commercial hour of 2 = 32 hours/week, there is a 35+32=65 peak hour for a 17-hour game. It is difficult to estimate the exact peak user load on the system for a number of reasons: some users will play during peak out-of-peak time. There may be a cluster peak of the user at a particular daytime, and the peak time may be affected by the type of game being played ( For example, 'the game of the child will probably play at an earlier time in the evening." However, assuming that when the player is likely to play the game, the average number of hours played by the player is much less than the number of hours between the players, then only the number of users of the colocation service 210 will use the host generation at a given time. Pipe service 2 1 0. For this analysis, the peak load is assumed to be 丨2 $. /. Therefore, only 12.5% of the computing, compression and bandwidth resources are used to support 139849.doc • 141 - 200949567 at a given time, resulting in only 12.5% of the hardware cost due to the reuse of resources to support a given user. One of the performance games is given a level. In addition, assuming that some games and applications require more computing power than others, resources can be dynamically allocated based on the game being played by the user or by the application executed by the user. Therefore, users who choose low-performance games or applications will be assigned low-performance (lower-cost) servers 4〇2, and users who choose high-performance games or applications will be assigned high-performance (more expensive) feeders. 402. In fact, a given game or application may have a lower performance and higher performance area of the game or application, and the user can switch from a server 4〇2 to a game or application area. Another server 402' is executed to maintain the user on the lowest cost server 402 that satisfies the needs of the game or application. Note that raids that are much faster than a single disk. Column 405 will be used even for low performance servers 4〇2, which has the benefit of faster disk transfer rates. Thus, the average cost per server 402 across all played games or applications used is much less than the cost of playing most of the most expensive servers 402 of the highest performance game or application, however, even the low performance server 402 The disk performance benefit © will be obtained from the raid array 405. In addition, the server 402 in the colocation service 210 may be only a pc motherboard without a disk or a peripheral interface (different from the network interface), and just can be integrated down to a fast network just to the SAN 403. A single piece of the interface. Also, the RAID array 405 may be shared among users who are more likely to have a disk, so the cost per disk of each active user will be much less than that of a disk drive. All of this equipment will likely reside in the environment controlled by the bracket t in the environment of the 139849.doc •142· 200949567 two server room. If the feeder fails, it can be easily repaired or replaced at the colocation service 210. Compared to 2, the pc or game console in the home or office must be sturdy and must be able to survive the reasonable wear and tear to prevent being hit or landed. 2. Need to be external, with at least one disk Machines must survive unfavorable environmental conditions (for example, being forced into a heated AV cabinet with other appliances), require service assurance, must be packaged and shipped, and sold by retailers who may receive retail sales. In addition, the PC or game console must be configured to meet the peak performance of the expected game or application that will be used in a future-timed, even low-performance game or application (or game or application). District) may also play most of the time. In addition, if a PC or console fails, it can be a costly and time consuming process (which adversely affects manufacturers, users, and software developers). The system shown in Figure 4a provides the user with the experience of the experience of the computing resources of the local end, so that the user can experience the computing power of the location in the home, office or school. The architecture shown in 4a provides much less computational power. Eliminate the need for upgrades. ‘Users no longer have to worry about upgrading PCs and/or consoles to play new games or handle new applications with better performance. Any game or application on the escrow service (regardless of the type of food server 402 required by their games or applications) can be used by the user and all games and applications are executed in close proximity (ie , quickly loaded from the RAID array 405 or the local storage on the server 402) and suitably with the latest updates and defects 139849.doc -143- 200949567 fix (ie 'software developers will be able to choose to execute The ideal server configuration for the game 402 of the game or application, and then the feed 1 § 402 is configured with the best drive' and then over time, the developer will be able to simultaneously update, fix, etc. All copies of the game or application provided to the host hosting service 210). In fact, after the user starts using the colocation service 210, the user may find that the game and the application continue to provide a better experience (eg, via update and/or defect repair) and may be in the following situation: the user is one year later It is found that new games or application privates can be used to take advantage of the computing technology (eg, higher performance Gpu) (which does not even exist in a year), so it is impossible for the user to purchase A year ago, the technology to play games or execute applications a year later. Because the computing resources for playing games or executing applications are invisible to the user (ie, from the user's point of view, the user only chooses a game or application that is close to being executed immediately. More like the user changes the TV. The channel is on, so the user's hardware will be "upgraded" even if the user is not aware of the upgrade. Eliminate the need for backup, another big problem for users in business, school and home, is that the right disk fails. Or if there is an inadvertent erasure, it is saved on the local side or as a video game. The information in the console (for example, in the case of the console, the user's game results and ratings) may be lost. There are many applications available for heart-to-heart backup, and the game control can be uploaded to the online server for backup, but the local backup is usually stored in a safe and organized manner. Somewhere else - the local disk (or 139849.doc 200949567 other non-volatile storage devices), and because of the slow uplink speed available via a typical low-cost Internet connection, the backup for online services is often limited. . In the colocation service 21G of Figure 4a, the data stored in the RAID array 405 can be configured using prior art RAID configuration techniques well known to those skilled in the art, such that when the disk fails, The bedding will not be lost and the technician at the server center hosting the failed disk will be notified, and then the technician will replace the disk, which will then be automatically
地更新以使得RAID陣列再一次容忍故障。另外,因為所 有磁碟機彼此接近且其間具有經由SAN 4〇3之快速本端網 路’所以在伺服器中心中將所有磁碟系統配置為定期地備 份至次級儲存器(其可儲存於飼服器中心處或者經易地重 新定位)並不困難。自主機代管服務21〇之使用者之觀點 看,其資料始終完全安全,且其從不必考慮備份。 對演示之存取 使用者經常希望在購買遊戲或制程式之前試用遊戲或 應用程式。如先前所㈣,存在藉以演示(「演示」之動 詞形式意謂試用演示版本’演示版本亦被稱為「演示」, 但作為一名詞)遊戲及應用程式之先前技術構件,但其中 之每一者遭受限制及/或不便利。使用主機代管服務21〇, 對於使用者而言,|易且便於試用演示。實際上,使用者 所進行的係經由使用者介面(諸如,下文所描述之使用者 介面)選擇演示且試㈣演示。演示將幾乎即刻地載入適 合於該演示m術上,且其將完全_任何其他遊 戲或應用程式而執行。無論演示需要非常高效能之饲服器 139849.doc •145- 200949567 402還是低效能之伺服器4〇2,且無論使用者使用之家庭或 辦公室用戶端41 5係何類型,自使用者之觀點看,演示均 將工作。遊戲演示或應用程式演示之軟體出版商將能夠確 切地控制准許使用者試用何演示及試用多長時間,且當 然,演不可包括為使用者提供獲得對所演示之遊戲或應用 程式之全版本的存取機會的使用者介面要素。 因為廣示可能係低於成本價或免費提供,所以一些使用 者可能試圖使用重複的演示(尤其是重複地玩可能有趣的 遊戲演示)。主機代管服務210可使用各種技術來限制用於 給定使用者之演示使用。最直接的方法係建立用於每一使 用者之使用者ID且限制允許給定使用者m播放演示之次 數。然而,使用者可設置多個使用者ID,尤其是其係自由 的情況下。用於解決此問題之一技術係限制允許給定用戶 端415播放演示之次數。若用戶端為獨立器件,則該器件 將具有一序號,且主機代管服務210可限制演示可由具有 彼序號之用戶端存取之次數。若用戶端415正以pc或其他 器件上之軟體執行,則可由主機代管服務210來指派序號 且將该序號儲存於PC上並使用該序號來限制演示使用,但 假定PC可由使用者來重新程式化,且序號被抹除或改變, 則另一選項係主機代管服務210保持P c網路配接器媒體存 取控制(MAC)位址(及/或其他機器特定識別符,諸如硬碟 機序號等)之紀錄並將演示使用限制於該MAC位址。假定 可改變網路配接器之mac位址,然而,此並非極簡單的方 法。另—方法係限制演示可被播放至給定IP位址之次數。 139849.doc -146- 200949567 儘管可由電纜數據機及DSL提供者來週期性地重新指派ιρ 位址,但其在實踐中不會非常頻繁地發生,且若可9判定 (例如’藉由聯繫ISP)IP係處於用於住宅DSL或電缓數據機 • 存取之IP位址之區塊中,則通常可建立用於給定家庭的小 • ㈣之演示使用。又’在家庭中在共用HP位址之爾 路由器之後可能存在多個器件,但通常在住宅背景中,將 存在有限數目之該等器件。若IP位址係處於飼服商業之區 φ 塊中’則可建立用於商業之較大數目之演示。但是,最 後,所有先前所述方法之組合係限制pc上之演示之數目的 最佳方式。儘官可能不存在使得所判定的且技術上熟練的 使用者可旎在重複播放演示之數目中受到限制的極簡單之 方式,但建立大量障礙可建立足夠阻礙以使得大多數PC使 用者不值得費神去濫用演示系統,且相反,•其在其意欲試 用新遊戲及應用程式時使用演示。 對學校、商業及其他機構之益處 Φ 顯著益處尤其出現於利用圖4a中所展示之系統之商業、 干校及其他機構。商業及學校具有與安裝、維護及升級PC 相關聯之實質成本,尤其當談及執行諸緖⑽之高效能應 用矛王式之PC時。如先前所陳述,PC通常僅在一週之小時 2刀率中被利用,且如在家庭中,具有給定位準之效能 力的PC在辦公至或學校環境中之成本遠高於在词服器中 心環境中之成本。 在較大商業或學校(例如,大的大學)之狀況下,該等實 體之1T部門設置飼服器中心且維護經由LAN級連接而遠端 139849.doc -147· 200949567 ,存取之電腦可係實際的。存在用於經由LAN或經由辦公 至之門的私用向頻寬連接而遠端存取電腦的許多解決方 、、 】而σ,藉由Microsoft之Windows終端機飼服器, 或者藉由虛擬網路計算應用程式(如來自RealVNC有限公司 )或者藉由來自Sun Microsystems之精簡型用戶端構 件使用者可獲得對PC或伺服器之遠端存取,在圖形回應 時間及使用者體驗中具有-系列品質。另夕卜,該等自行管 里之伺服器中心通常專用於單一商業或學校,且因此不能 夠利用在全異應用程式(例如,娱樂及商業應用程式)在一 週之不料間利用同—計算資源時所可能的使用之重疊。 因此’許乡商業及學校缺乏獨立設置具有至每一使用者之 副速度之網路連接的伺服器中心之規模、資源或專門技 施實際上,大百分比之學校及商業具有與家庭相同之網 際網路連接(例如,DSL、電纜數據機)。 然而,該等組織仍可能具有對於非常高效能之計算的需 要(或者定期地或者週期性地卜舉例而言,小建築公司可 能僅具有小數目之建築自币’當進行設計工作時,I有相對 適度之6十算需要,但其可能週期性地需要非常高效能之3D 計算(例如,當建立用於用戶端之新建築設計的阳穿越 時)。圖4a中所展示之系統極其適合於該等組織。該等組 織僅需要為提供至家庭之同一種類之網路連接(例如, DSL、電纜數據機)且通常非常低廉。其可利用低廉的% 作為用戶端415,或者完全沒有pC亦可,而利用僅實施控 制信號邏輯413及低延時視訊解壓縮412之低廉的專用器 139849.doc -148- 200949567 。此等特徵對於可能具#pc之偷竊或對pc内之專用組 件之損壞的問題的學校特別有吸引力。 此種配置解決了用於該等組織之許多問題(且許多此等 /點亦為進行通用計算之家庭使用者共用)。舉例而言, :乍成本(其最終必須以某種形式傳遞回至使用者以便具 有可行的商業)可能低得多,因為⑷計算資源係與在一週 中具有不科值使科間的其他應用程式共用,(b)該等組 ❹ ° 4堇在需I時獲得(且招致成本)對高效能計算資源之存 取,(C)該等組織不必提供用於備份或以其他方式維護高效 能計算資源之資源。 盜版之消除 另外,遊戲、應用程式、互動式電影等可能不再如現今 這樣被盜版。因為遊戲係在伺服器中心處執行,所以使用 者不具備對於基本程式碼之存取,因此不存在盜版。即使 使用者將要複製原始碼,使用者亦不能夠在標準遊戲控制 Φ 纟或家庭電腦上執行該碼。此打開了標準視訊遊戲不可用 之世界各地(諸如’中國)的市場。已使用之遊戲之重新銷 售亦係不可能的。 對於遊戲開發商而言,如同現今之狀況,存在較少市場 不連續性。與全新的一代技術迫使使用者及開發商升級且 遊戲開發商係取決於硬體平台之及時遞送的當前情形對 比,可隨著時間隨著遊戲要求改變而逐漸地更新主機代管 服務210。 串流互動式視訊 139849.doc •149· 200949567 以上描述提供由以通用網際網路為基礎的低延時串流互 動式視訊(其隱含地亦包括連同視訊一起之音訊,如本文 中所使用)之新穎基本概念致能的多種應用。經由網際網 路而k供串流視訊之先前技術系統僅具有可藉由高延時互 動實施的所致能之應用。舉例而言,用於線性視訊之基本 回放控制(例如,暫停、回倒、快進)在高延時下適當地工 作,且有可能線上性視訊饋送當中進行選擇。此外,如先 前所陳述,一些視訊遊戲之性質允許其以高延時來播放。 但疋,用於串流視訊之先前技術方法之高延時(或低壓縮 比率)嚴重限制串流視訊的潛在應用或使其部署變窄至專 門化的網路環境,且甚至在該等環境中,先前技術亦引入 、·祠路上之實質負擔。本文中所描述之技術打開了在經由網 際網路之低延時串流互動式視訊下可能的多種應用的大 門,尤其是經由消費者級網際網路連接而致能之彼等應 用。 〜 貫際上,在與圖勑之用戶端465 一般小之用戶端器件 下’足以藉由有效的任意量之計算能力、任意量之快速儲 存及強大伺服器之間的極快網路連接而提供增強的使用者 體驗’其致能新的計算時代。料,因為頻寬要求並不隨 者糸統之計算能力增長而增長(亦即,因為頻寬要求僅係 關於顯不解析度、品質及圖框速率),所以-旦寬頻帶網 際網路連接性係'普遍存在的(例如,經由分布廣的低延時 無線涵蓋)、可靠的且具有足以滿足所有使用者之顯示器 件422之而要的足夠高之頻寬,則問題將係典型消費者及 139849.doc 200949567 商業應用所必要的是厚重用戶端(諸如,執行偏簡、The ground is updated so that the RAID array tolerates the failure again. In addition, because all drives are close to each other with a fast local network via SAN 4〇3, all disk systems are configured in the server center to be periodically backed up to secondary storage (which can be stored in It is not difficult to relocate at the center of the feeding device or easily. From the point of view of the hosted service user, the data is always completely secure and never has to be considered for backup. Access to the presentation Users often want to try out a game or application before purchasing a game or programming. As previously mentioned (4), there is a demonstration (the "verb" form means that the demo version is also called "demo", but as a noun) the prior art components of games and applications, but each of them Subject to restrictions and/or inconvenience. Using the colocation service 21〇, for the user, it is easy and easy to try out the demo. In fact, what the user does is select the presentation and try (4) the presentation via the user interface (such as the user interface described below). The demo will load almost instantly for the demo, and it will be executed entirely by any other game or application. Regardless of whether the presentation requires a very efficient feeding device 139849.doc • 145- 200949567 402 is still a low-performance server 4〇2, and regardless of the user's home or office client type 4 5, from the user's point of view Look, the demo will work. The software publisher of the game demo or application demo will be able to precisely control how long the demo and trials are allowed for the user to try, and of course, the performance may not include providing the user with a full version of the game or application being demonstrated. The user interface element of the access opportunity. Because the presentation may be lower than the cost price or provided free of charge, some users may attempt to use repeated presentations (especially to repeatedly play potentially interesting game presentations). The colocation service 210 can use various techniques to limit the presentation usage for a given user. The most straightforward method is to establish a user ID for each user and limit the number of times a given user m can play the presentation. However, the user can set multiple user IDs, especially if they are free. One technique for addressing this problem is to limit the number of times a given client 415 can play a presentation. If the client is a standalone device, the device will have a sequence number and the colocation service 210 can limit the number of times the presentation can be accessed by the client with the serial number. If the client 415 is executing on a PC or other software on the device, the host escrow service 210 can assign the serial number and store the serial number on the PC and use the serial number to limit the presentation usage, but assume that the PC can be re-used by the user. Stylized, and the sequence number is erased or changed, then another option is that the colocation service 210 maintains the Pc network adapter media access control (MAC) address (and/or other machine specific identifiers, such as hard Record the number of the disc player, etc.) and limit the use of the demo to the MAC address. Assume that the mac address of the network adapter can be changed, however, this is not an extremely simple method. Another method is to limit the number of times a presentation can be played to a given IP address. 139849.doc -146- 200949567 Although the IP address can be reassigned periodically by cable modems and DSL providers, it does not happen very frequently in practice, and if it can be determined (eg 'by contacting the ISP IP is in the block of the IP address used for residential DSL or electric slow data machine access, and it is usually possible to establish a small (4) demo for a given home. Also, there may be multiple devices in the home after sharing the HP address router, but typically in a residential setting, there will be a limited number of such devices. If the IP address is in the φ block of the commercial area, then a larger number of presentations for business can be established. However, in the end, all combinations of the previously described methods are the best way to limit the number of presentations on the pc. There may be no way for a determined and technically skilled user to be limited in the number of replayed presentations, but creating a large number of obstacles can create enough obstacles to make most PC users unworthy The gods go to abuse the demo system, and instead, they use the demo when they want to try out new games and applications. Benefits to Schools, Businesses, and Other Institutions Φ Significant benefits especially occur in commercial, dry, and other institutions that utilize the systems shown in Figure 4a. Businesses and schools have substantial costs associated with installing, maintaining, and upgrading PCs, especially when it comes to implementing the high-performance applications of the Spear-Type PCs. As stated previously, PCs are typically only used in a two-week rate of one week, and as in the home, PCs with the ability to position the quasi-effectiveness in the office-to-school environment are much more expensive than in the word processor. The cost in the central environment. In the case of larger businesses or schools (for example, large universities), the 1T department of these entities sets up the feeder center and maintains the remote connection through the LAN level 139849.doc -147· 200949567 It is actual. There are many solutions for remote access to a computer via a LAN or via a private office to a wide-band connection, σ, by Microsoft's Windows terminal, or via a virtual network. Road computing applications (such as from RealVNC, Inc.) or remote access to PCs or servers by Sun Microsystems' streamlined user component users, with a series of graphical response times and user experience quality. In addition, these self-managed server centers are typically dedicated to a single business or school, and therefore cannot be utilized in disparate applications (eg, entertainment and business applications) to utilize the same computing resources for a week. The overlap of possible uses. Therefore, Xuxiang Commercial and School lacks the scale, resources or expertise to independently set up a server center with a network connection to each user's secondary speed. In fact, a large percentage of schools and businesses have the same Internet as the family. Network connection (for example, DSL, cable modem). However, such organizations may still have the need for very efficient calculations (either periodically or periodically, for example, small construction companies may only have a small number of buildings from the currency' when designing work, I have A relatively modest amount of 60 is needed, but it may periodically require very efficient 3D calculations (for example, when establishing a yang crossing for a new architectural design at the user end). The system shown in Figure 4a is extremely suitable for Such organizations. These organizations only need to provide the same kind of network connection to the home (for example, DSL, cable modem) and are usually very inexpensive. They can use the low % as the client 415, or no pC at all. However, an inexpensive specializer 139849.doc-148-200949567 that implements only control signal logic 413 and low-latency video decompression 412 can be utilized. These features are likely to be theft of #pc or damage to dedicated components within the pc. The problematic school is particularly attractive. This configuration solves many of the problems for these organizations (and many of these/points are also used for home use for general purpose computing) Shared). For example, the cost of 乍 (which must ultimately be passed back to the user in some form to have a viable business) may be much lower, because (4) the computing resource system has a non-interest value in the week. Sharing of other applications, (b) such groups are required to obtain (and incur costs) access to high-performance computing resources, (C) such organizations do not have to provide for backup or otherwise Resources for maintaining high-performance computing resources. Elimination of piracy In addition, games, applications, interactive movies, etc. may no longer be pirated as they are today. Because the game is executed at the server center, the user does not have the basic code. Access, so there is no piracy. Even if the user is going to copy the source code, the user cannot execute the code on standard game control Φ 家庭 or home computer. This opens the world where standard video games are not available (such as ' China's market. Resale of used games is also impossible. For game developers, as in today's situation, there are Less market discontinuity. With the new generation of technology forcing users and developers to upgrade and game developers depending on the current situation of the timely delivery of the hardware platform, the host can be gradually updated as the game requirements change over time Managed Services 210. Streaming Interactive Video 139849.doc • 149· 200949567 The above description provides low-latency streaming interactive video based on the Universal Internet (which also implicitly includes audio along with video, such as The novel basic concepts enabled in this article enable a variety of applications. Prior art systems for streaming video over the Internet have only applications that can be implemented by high latency interactions. For example, The basic playback control for linear video (eg, pause, rewind, fast forward) works properly at high latency, and it is possible to select among the online video feeds. Moreover, as previously stated, the nature of some video games allows them to be played with high latency. However, the high latency (or low compression ratio) of prior art methods for streaming video severely limits the potential application of streaming video or narrows its deployment to a specialized network environment, and even in such environments. The prior art also introduced the substantial burden of the road. The techniques described herein open the door to a variety of applications that are likely to be possible via low-latency streaming interactive video over the Internet, especially those enabled via consumer-grade Internet connections. ~ In a consistent manner, under the user interface of the client 465, which is small enough, it is sufficient to use any amount of computing power, any amount of fast storage, and extremely fast network connection between powerful servers. Providing an enhanced user experience' that enables a new era of computing. As the bandwidth requirements do not increase with the computing power of the system (that is, because the bandwidth requirements are only about the resolution, quality, and frame rate), the broadband Internet connection The problem is that typical users will be ubiquitous (for example, via a widely distributed low-latency wireless coverage), reliable enough, and having a sufficiently high bandwidth to satisfy all users' display devices 422. 139849.doc 200949567 What is necessary for business applications is a thick client (such as performing a partial,
Linux OSX等之PC或付動電話)還是甚至精簡型用戶端(諸 如,Adobe Flash或 Java)。 串流互動式視訊之出現導致關於計算架構之結構的假定 之重新考慮。此之-實例係圖15中所展示之主機代管服務 洲司服器中心實施例。用於延遲緩衝〇器及/或分群視訊 ⑽之視訊路徑係反饋迴路’其中應用程式/遊戲伺服器 搴 參 1525之..二夕播之串流互動式視訊輸出經由路徑Mu 而即時地或者經由路徑1551在可選擇之延遲之後經反饋回 至應用程式/遊戲伺服器1521_1525中。此致能藉由先前技 術伺服器或本端計算㈣將係何能或不可行❹種實際 應用(例如,諸如圖16、圖17及圖2〇中所說明之彼等應 用)H作為更-般之架構特徵’反饋迴路155〇所提 供的為申流互動式視訊位準下之遞歸,因為可在應用程式 需要視訊時將視訊無限地循環。此致能之前從未可用的多 種應用可能性。 另一關鍵架構特徵在於:視訊流係單向UDP流。此有效 地致能串流互動式視訊之任意程度的多播(相比之下諸 如TCP/IP流之雙向流將隨著使用者之數目增加而在來自來 =信之網路上產生愈加更多的訊務停滯)。多播係飼服 裔。内之重要能力,因為其允許系統對網際網路使用者 (广實際上’世界之人口)之增長的需要作出回應以在一對 二對多基礎上通信。再次,本文中所論述的說明 串机動式視訊遞歸與多播兩者之使用的實例(諸如,圖 139849.doc -151 - 200949567 16)僅為具有可能性之非常大之冰山的尖端。 在一實施例中,本文中所說明之各種功能模组及相關聯 之步驟可由含有用於執行該等步驟之固線式邏輯的特定硬 體組件(諸如,特殊應用積體電路(「ASIC」))或由經程式 化之電腦組件與定製硬體組件之任何組合來執行。 在實施例中,可將該等模組實施於諸如Texas儀器的 320X 架構(例如,TMS32〇c_〇、tms32〇c5〇〇〇, 等)之可程式化數位信號處理器(「Dsp」)上。可使用各種 不同的DSP,同時仍遵守此等基本原理。 籲 實施例可包括如上文所闡述之各種步驟。該等步驟可體 現於引起通用或專用處理器執行特定步驟之機器可執行指 令中。已將與此等基本原理無關之各種元件(諸如,電腦 記憶體、硬碟機、輸入器件)自圖中省去以避免混淆相關 所揭不之標的物之要素亦可作為用於儲存機器可執行指 ❹ 令之機器可讀媒體來提供。機器可讀媒體可包括(作不限 於)快閃記憶體、光碟、cd_r〇m、DVDr〇m、ram、 epr⑽、EEPR〇m、磁卡或光卡、傳播媒體或適合於儲存 電子指令之其他類型之機器可讀媒體。舉例而t,本發明 可作為電腦程式來下載,該電腦程式可經由通信鍵路(例 =據機,連接)藉助於體現於載波或其他傳播媒 貧料L號而自遠端電腦(例如,伺服 主 電腦(例如,用戶端)。 ’寻逆至明求 亦應理解,所揭示之標的物之要素亦可作為電腦程式產 】39849.doc -152- 200949567 品來提供,該電腦程式產品可包括在上面儲存有指令之機 I可讀媒體,該等指令可用於程式化電腦(例如,處 ;其他電子器件)以執行-序列操作。或者,料操作;· 藉由硬體與軟體之組合來執行。機器可讀媒體可包括… 不限於)軟性磁碟、光碟、CD_R〇M,及磁光碟、細、 RAM、EPR〇M'EEPR⑽、磁卡或光卡、傳播媒體或適合 於_子指令之其他類型之媒體/機器可讀媒體。舉例 Φ ❷ 而吕’所揭示之標的物之要素可作為電腦程式產品來下 載’其中㈣可經由通信鏈路(例如’數據機或網路連接) 藉助於體現於載波或其他傳播媒體中之資料信號而自遠端 電腦或電子器件傳送至請求過程。 另外,儘纟已結合特定實施例描述所揭示之標的物但 =多修改及變更將適#地處於本揭示案之範_内。因此, 【圖式簡單說明】 說明書及圖式應視為說明性的而非限制性的意義。 圖1說明先前技術視訊遊戲系統之架構。 圖2a至圖2b說明根據一實施例之高階系統架構。 圖3說明用於用戶端與伺服器之間的通信的實際的、額 疋的及所需的資料速率。 圖4a 5兒明根據一實施例而使用的主機代管服務及用戶 端0 圖4b 5兑明與用戶端與主機代管服務之間的通信相關聯的 例示性延時。 圖4e說明根據一實施例之用戶端器件。 139849.doc -153- 200949567 圖4d說明根據另一實施例之用戶端器件。 圖4e說明圖4c中之用戶端器件的實例方塊圖。 圖4f說明圖4d中之用戶端器件的實例方塊圖。 圖5說明可根據一實施例而使用的視訊壓縮之一實例形 式。 圖6&說明可在另—實施例中使用的視訊壓縮之_ 式。 圖6b說明與傳輸低複雜度、低動作視訊序列相關聯的資 料速率中之峰值。 圖6c說明與傳輸高複雜度、高動作視訊序列相關聯的資 料速率中之峰值。 圖7a至圖7b說明在一實施例中使用之實例視訊壓縮技 術。 圖8說明在一實施例中使用之額外實例視訊壓縮技術。 圖9a至圖9c說明在一實施例中使用以用於緩解資料速率 峰值的實例技術。 圖10a至圖10b說明將影像影像塊有效地封裝於封包内的 一實施例。 圖lla至圖lid說明使用前向錯誤校正技術之實施例。 圖12 s兒明使用多核心處理單元來進行壓縮之一實施例。 圖13a至圖13b說明根據各種實施例之主機代管服務之間 的地理定位及通信。 圖14說明與用戶端與主機代管服務之間的通信相關聯的 例示性延時。 139849.doc -154- 200949567PCs such as Linux OSX or payphones are even thinner clients (such as Adobe Flash or Java). The emergence of streaming interactive video has led to a reconsideration of assumptions about the structure of the computing architecture. This is an example of the colocation service center shown in Figure 15. The video path feedback loop for the delay buffer buffer and/or the group video (10) is used by the application/game server 15 15 1525. The streamed interactive video output of the second day broadcast via the path Mu is instantaneous or via Path 1551 is fed back into application/game server 1521_1525 after a selectable delay. This can be done by prior art servers or local computing (4) as to what is or is not feasible for practical applications (eg, such applications as those illustrated in Figures 16, 17, and 2). The architectural feature 'Feedback Loop 155' provides recursion for the interactive interactive video position because the video can be looped indefinitely when the application requires video. There are many application possibilities that have never been available before. Another key architectural feature is that the video stream is a one-way UDP stream. This effectively enables any degree of multicasting of streaming interactive video (compared to a bi-directional stream such as TCP/IP streams that will increase over the number of users as the number of users increases) The traffic is stagnant). Multicast pedigree. An important capability within it because it allows the system to respond to the growing needs of Internet users (widely the 'world's population) to communicate on a one-to-two-to-many basis. Again, examples of the use of both stringed mobile video recursion and multicast discussed herein (such as Figures 139849.doc - 151 - 200949567 16) are only the tip of a very large iceberg of possibility. In one embodiment, the various functional modules and associated steps described herein may be comprised of specific hardware components (such as special application integrated circuits ("ASICs") that contain the fixed-line logic for performing the steps. )) or by any combination of programmed computer components and custom hardware components. In an embodiment, the modules may be implemented in a programmable digital signal processor ("Dsp") such as a Texas Instruments 320X architecture (eg, TMS32〇c_〇, tms32〇c5〇〇〇, etc.) on. A variety of different DSPs can be used while still adhering to these basic principles. The embodiments may include various steps as set forth above. These steps can be embodied in machine executable instructions that cause a general purpose or special purpose processor to perform particular steps. Various components (such as computer memory, hard disk drive, and input device) that are not related to these basic principles have been omitted from the figure to avoid confusing the elements of the related objects that are not disclosed. Execution instructions are provided by machine readable media. The machine-readable medium can include, without limitation, flash memory, optical disc, cd_r〇m, DVDr〇m, ram, epr(10), EEPR〇m, magnetic or optical card, media, or other type suitable for storing electronic instructions. Machine readable medium. For example, t, the present invention can be downloaded as a computer program that can be accessed from a remote computer via a communication key (eg, a computer, connected) by means of a carrier or other medium of communication (eg, Servo host computer (for example, the user terminal). 'Retrospection to the understanding should also be understood, the elements of the disclosed subject matter can also be provided as computer programs. 39849.doc -152- 200949567 products, the computer program products can be Included in the machine readable medium having instructions stored thereon, the instructions can be used to program a computer (eg, at a location; other electronic devices) to perform-sequence operations. Or, material operations; · by a combination of hardware and software The machine-readable medium can include... not limited to) flexible disk, optical disk, CD_R〇M, and magneto-optical disk, fine, RAM, EPR〇M'EEPR (10), magnetic or optical card, propagation medium or suitable for _ sub-command Other types of media/machine readable media. For example, Φ ❷ and Lu's elements of the subject matter disclosed can be downloaded as a computer program product. (4) Data can be transmitted via a communication link (eg, 'data machine or network connection') by means of a carrier or other communication medium. The signal is transmitted from the remote computer or electronic device to the request process. In addition, the disclosed subject matter has been described in conjunction with the specific embodiments, but the <RTIgt; </ RTI> modifications and variations will be in the scope of the present disclosure. Therefore, the description and drawings are to be regarded as illustrative and not restrictive. Figure 1 illustrates the architecture of a prior art video game system. 2a-2b illustrate a high order system architecture in accordance with an embodiment. Figure 3 illustrates the actual, prior and required data rate for communication between the client and the server. Figure 4a shows a colocation service and a client 0 used in accordance with an embodiment. Figure 4b illustrates an exemplary delay associated with communication between the client and the colocation service. Figure 4e illustrates a client device in accordance with an embodiment. 139849.doc -153- 200949567 Figure 4d illustrates a client device in accordance with another embodiment. Figure 4e illustrates an example block diagram of the client device of Figure 4c. Figure 4f illustrates an example block diagram of the client device of Figure 4d. Figure 5 illustrates an example of video compression that may be used in accordance with an embodiment. Figure 6 & illustrates the video compression that can be used in another embodiment. Figure 6b illustrates the peak in the data rate associated with transmitting a low complexity, low motion video sequence. Figure 6c illustrates the peak in the data rate associated with transmitting a high complexity, high motion video sequence. Figures 7a through 7b illustrate an example video compression technique used in an embodiment. Figure 8 illustrates an additional example video compression technique used in an embodiment. Figures 9a through 9c illustrate example techniques for use in mitigating data rate peaks in an embodiment. Figures 10a through 10b illustrate an embodiment of efficiently encapsulating a video image block within a packet. Figures 11a through 15 illustrate an embodiment using a forward error correction technique. Figure 12 illustrates an embodiment of compression using a multi-core processing unit. Figures 13a-13b illustrate geolocation and communication between colocation services, in accordance with various embodiments. Figure 14 illustrates an exemplary delay associated with communication between the client and the colocation service. 139849.doc -154- 200949567
圖15說明實例主M J芏機代管服務伺服器中心架構。 §、月匕括複數個現場直播之視訊窗的使用者介面之 一實施例的實例螢幕拍攝。 圖17說月在選擇特定視訊窗之後的圖16之使用者介面。 圖18說明在將特定視訊窗放大至全螢幕大小之後的圖17 之使用者介面。 圖19說明上覆於多人遊戲之螢幕上的實例合作使用者視 訊資料。Figure 15 illustrates an example master M J server hosting server architecture. §. An example of an embodiment of a user interface of a plurality of live video windows is screen shot. Figure 17 illustrates the user interface of Figure 16 after the selection of a particular video window. Figure 18 illustrates the user interface of Figure 17 after a particular video window has been enlarged to full screen size. Figure 19 illustrates example collaborative user video material overlaid on a multiplayer game screen.
圖20說明用於主機代管服務上的—遊戲玩家之實例使用 者頁面。 圖21說明實例3D互動式廣告。 圖22說明用於自現場直播之表演的表面俘獲產生具有紋 理表面之照片般逼真的影像的實例步驟序列。 圖23說明允許選擇線性媒體内容之實例使用者介面頁 面。 圖24為說明在現場直播網頁之前消逝的時間量與連接速 度之曲線圖。 【主要元件符號說明】 100 CPU/GPU 101 隨機存取記憶體(RAM) 102 顯示器件(SDTV/HDTV或電腦監視 103 硬碟機 104 光學媒體驅動器/光學媒體/光碟機 105 網路連接 139849.doc -155- 200949567 106 205 206 210 211 220 221 222 301 302 303 401 402 403 404 405 406 406a 406b 409 410 412 413 遊戲控制器 用戶端器件/用戶端/用戶端平台 網際網路 主機代管服務/主機代管系統 使用者場所 遊戲或應用程式軟體開發商 輸入器件 顯示器件/監視器或電視機 標稱最大資料速率 可用最大資料速率 所需的資料速率 主機代管服務控制系統/主機代管服務控制 伺服器 伺服器 儲存區域網路(SAN) 視訊壓縮邏輯/視訊壓縮器 獨立冗餘磁碟陣列(RAID) 控制信號 控制信號 控制信號 路由邏輯 網際網路 低延時視訊解壓縮邏輯 控制信號邏輯 139849.doc -156- 200949567 用戶端/用戶端器件/用戶端電腦 顯示器件 輸入器件 顯示器件/顯示器 網際網路繞過服務 存在點 WAN介面Figure 20 illustrates an example user page for a game player on a colocation service. Figure 21 illustrates an example 3D interactive advertisement. Figure 22 illustrates an example sequence of steps for surface capture from a live broadcast performance to produce a photorealistic image with a textured surface. Figure 23 illustrates an example user interface page that allows selection of linear media content. Figure 24 is a graph illustrating the amount of time elapsed and the connection speed before the live web page is live. [Main component symbol description] 100 CPU/GPU 101 Random access memory (RAM) 102 Display device (SDTV/HDTV or computer monitor 103 Hard disk drive 104 Optical media drive/Optical media/CD player 105 Network connection 139849.doc -155- 200949567 106 205 206 210 211 220 221 222 301 302 303 401 402 403 404 405 406 406a 406b 409 410 412 413 Game Controller Client Device / Client / Client Platform Internet Host Hosting Service / Host Generation Pipe system user location game or application software developer input device display device / monitor or TV nominal maximum data rate available data rate required maximum data rate colocation service control system / colocation service control server Server Storage Area Network (SAN) Video Compression Logic/Video Compressor Independent Redundant Disk Array (RAID) Control Signal Control Signal Control Signal Routing Logic Network Low Latency Video Decompression Logic Control Signal Logic 139849.doc -156 - 200949567 Client/Client Device/Customer Computer Display Device Input Device Display Device /display Internet bypass service existence point WAN interface
防火牆/路由器/NAT(網路位址轉譯)器件 WAN介面 用於發送控制信號之單向傳輸時間 經由使用者場所之來回行程路由/使用者場 所路由Firewall/Router/NAT (Network Address Translation) Device WAN Interface One-way transmission time for transmitting control signals Round-trip routing/user field routing via user premises
箭頭/來回行程延遲/使用者ISP 通用網際網路延時 單向路由Arrow/round trip delay/user ISP universal internet delay one-way routing
415 420 421 422 440 441 442 443 444 451 452 453 454 455 456 457 458 462 463 464 465 最大單向延時 箭頭/壓縮 視訊解壓縮 乙太網路插孔/網際網路連接 HDMI(高清晰度多媒體介面)、連接器 顯示能力 用戶端器件/用戶端 466 遮光眼鏡415 420 421 422 440 441 442 443 444 451 452 453 454 455 456 457 458 462 463 464 465 Maximum one-way delay arrow / compressed video decompressed Ethernet jack / Internet connection HDMI (High Definition Multimedia Interface) , connector display capability, client device / client 466, blackout glasses
468 顯示器件/SDTV(標準清晰度電視)或HDTV 139849.doc -157- 200949567 (高清晰度電視)/監視器 469 輸入器件 475 用戶端器件 476 快閃記憶體 477 視訊相機 478 顯示器件 479 藍芽輸入器件/有線USB輸 480 匯流排 481 乙太網路介面 482 WiFi子系統 483 控制CPU/控制處理器 484 藍芽介面 485 USB子系統 486 視訊解壓縮器 487 視訊輸出子系統 488 音訊解壓縮子系統 489 音訊輸出子系統 490 HDMI介面 491 DVI-I 492 S -視訊 493 複合視訊 494 數位介面 495 立體類比介面 497 乙太網路 139849.doc 158- 200949567 499 電力 501 未經壓縮之視訊圖框 502 未經壓縮之視訊圖框 503 未經壓縮之視訊圖框 511 經壓縮之圖框 512 經壓縮之圖框 513 經壓縮之圖框 520 壓縮邏輯 559-561 未經壓縮之視訊圖框 611 I圖框 612-613 P圖框 620 壓縮邏輯 621 額定最大資料速率 622 623 φ 624 633 可用最大資料速率/可用資料速率 I圖框所需之峰值資料速率/峰值資料速率 視訊流資料速率/視訊流資料速率序列 I圖框峰值 634 635 視訊流資料速率序列/視訊流資料速率 P圖框峰值 636 P圖框峰值 670 B圖框 671 I圖框 701-760 未經壓縮之圖框 711-770 R圖框 139S49.doc •159- 200949567 721-770 未經壓縮之圖框 731-780 R圖框 805 移動人物 811 R圖框 812 R圖框 922 可用最大資料速率 934 視訊流資料速率 941 峰值資料速率/峰值最大資料速率 942 2倍峰值資料速率 943 3倍峰值資料速率 944 4倍峰值資料速率 952 圖框2倍峰值 953 平坦化的2倍峰值 954 圖框4倍峰值 955 平坦化的4倍峰值 961 未經壓縮之圖框1 962 未經壓縮之圖框2 963 未經壓縮之圖框3 964 未經壓縮之圖框4 965 未經壓縮之圖框5 966 未經壓縮之圖框6 967 未經壓縮之圖框7 968 未經壓縮之圖框8 969 未經壓縮之圖框9 139849.doc - 160- 200949567468 Display Device / SDTV (Standard Definition TV) or HDTV 139849.doc -157- 200949567 (High Definition TV) / Monitor 469 Input Device 475 Client Device 476 Flash Memory 477 Video Camera 478 Display Device 479 Bluetooth Input Device / Wired USB Input 480 Bus 481 Ethernet Interface 482 WiFi Subsystem 483 Control CPU / Control Processor 484 Bluetooth Interface 485 USB Subsystem 486 Video Decompressor 487 Video Output Subsystem 488 Audio Decompression Subsystem 489 Audio Output Subsystem 490 HDMI Interface 491 DVI-I 492 S - Video 493 Composite Video 494 Digital Interface 495 Stereo Analog Interface 497 Ethernet 139849.doc 158- 200949567 499 Power 501 Uncompressed Video Frame 502 Compressed video frame 503 uncompressed video frame 511 compressed frame 512 compressed frame 513 compressed frame 520 compressed logic 559-561 uncompressed video frame 611 I frame 612- 613 P frame 620 Compression logic 621 Rated maximum data rate 622 623 φ 624 633 Maximum data rate available / available data Rate I frame required peak data rate / peak data rate video stream data rate / video stream data rate sequence I frame peak 634 635 video stream data rate sequence / video stream data rate P frame peak 636 P frame peak 670 Block B 671 I Frame 701-760 Uncompressed Frame 711-770 R Frame 139S49.doc •159- 200949567 721-770 Uncompressed Frame 731-780 R Frame 805 Moving Character 811 R Box 812 R frame 922 Available maximum data rate 934 Video stream data rate 941 Peak data rate / Peak maximum data rate 942 2 times Peak data rate 943 3 times Peak data rate 944 4 times Peak data rate 952 Frame 2 times peak 953 Flat 2x peak 954 frame 4x peak 955 flattened 4x peak 961 uncompressed frame 1 962 uncompressed frame 2 963 uncompressed frame 3 964 uncompressed frame 4 965 Uncompressed frame 5 966 Uncompressed frame 6 967 Uncompressed frame 7 968 Uncompressed frame 8 969 Uncompressed frame 9 139849.doc - 160- 200949567
970 未經壓縮之圖框10 981 經壓縮之圖框1 982 經壓縮之圖框2 983 經壓縮之圖框3 985 經壓縮之圖框5 986 經壓縮之圖框6 987 經壓縮之圖框10 991 傳輸時間(xmit時間) 992 傳輸時間 993 傳輸時間(2倍峰值) 995 傳輸時間 996 傳輸時間(4倍峰值) 997 傳輸時間 1001-1005 封包 1010 影像塊包裝封裝邏輯 1100 I影像塊 1101 前向錯誤校正碼(FEC) 1103 I影像塊 1104 前向錯誤校正碼(FEC) 1105 前向錯誤校正碼(FEC) 1110 音訊封包 1111 FEC碼 1112 音訊封包 1113 FEC碼 139849.doc -161 - 200949567 1120 1121 1122 1123 1200 1201- 1205 1300 1301 1501 1502 1511 1512 1515 1521- 1529 1530 1539 1540 1550 1551 1552 1599 使用者輸入命令 FEC碼 使用者輸入命令 FEC碼 多核及/或多處理器 1208 核心 4x2配置/未經壓縮之圖框 伺服器中心/主機代管服務 網路 入埠網際網路訊務 入埠路由/入埠路由網路 RAID陣列 RAID陣列 RAID陣列/延遲緩衝器 1525 應用程式/遊戲伺服器 未經壓縮之視訊/音訊 共用視訊壓縮/共用集區/共用硬體壓縮/共 用硬體壓縮器/共用視訊壓縮硬體 經壓縮視訊/音訊輸出 出埠路由/出埠路由網路 延遲緩衝器及/或分群視訊/反饋迴路 路徑 路徑 出埠網際網路訊務 139849.doc -162- 200949567970 uncompressed frame 10 981 compressed frame 1 982 compressed frame 2 983 compressed frame 3 985 compressed frame 5 986 compressed frame 6 987 compressed frame 10 991 Transmission time (xmit time) 992 Transmission time 993 Transmission time (2 times peak value) 995 Transmission time 996 Transmission time (4 times peak value) 997 Transmission time 1001-1005 Packet 1010 Image block package package logic 1100 I image block 1101 Forward error Correction Code (FEC) 1103 I Image Block 1104 Forward Error Correction Code (FEC) 1105 Forward Error Correction Code (FEC) 1110 Audio Packet 1111 FEC Code 1112 Audio Packet 1113 FEC Code 139849.doc -161 - 200949567 1120 1121 1122 1123 1200 1201- 1205 1300 1301 1501 1502 1511 1512 1515 1521- 1529 1530 1539 1540 1550 1551 1552 1599 User input command FEC code User input command FEC code Multicore and / or multiprocessor 1208 Core 4x2 configuration / uncompressed map Frame Server Center/Host Hosting Service Network Incoming Internet Traffic Incoming Routing/Incoming Routing Network RAID Array RAID Array RAID Array/Delay Buffer 1525 Application/Game Server Uncompressed Video/Audio Shared Video Compression/Common Cluster/Common Hardware Compression/Common Hardware Compressor/Common Video Compression Hardware Compressed Video/Audio Output Routing/ Outbound routing network delay buffer and / or group video / feedback loop path path out of the Internet traffic 139849.doc -162- 200949567
1600 「縮略圖」視訊窗 1601 黃色選擇框 1602 遊戲資訊 1700 視訊窗 1800 箭頭 1801 上覆 1900 視訊及音訊 2000 使用者本身之視訊 2001 現場直播之視訊 2002 搭檔 2003 視訊片段/自賞剪輯/3D DVR自賞剪輯 2004 數字 2005 圖示 2400 線 2401 1.5 Mbps連接速度 2402 12 Mbps連接速度 2403 96 Mbps連接速度 HS1-HS6 主機代管服務伺服器中心 139849.doc 163-1600 "thumbnail" video window 1601 yellow selection box 1602 game information 1700 video window 1800 arrow 1801 over 1900 video and audio 2000 user's own video 2001 live video 2002 partner 2003 video clip / self-reward clip / 3D DVR from Reward clip 2004 number 2005 icon 2400 line 2401 1.5 Mbps connection speed 2402 12 Mbps connection speed 2403 96 Mbps connection speed HS1-HS6 colocation service server center 139849.doc 163-
Claims (1)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US99971407A | 2007-12-05 | 2007-12-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200949567A true TW200949567A (en) | 2009-12-01 |
Family
ID=40718188
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098123940A TW201001177A (en) | 2007-12-05 | 2008-12-04 | Apparatus for recursive recombination of streaming interactive video |
TW098125719A TW200949567A (en) | 2007-12-05 | 2008-12-04 | Apparatus for combining recorded application state with application streaming interactive video output |
TW097147259A TW200943075A (en) | 2007-12-05 | 2008-12-04 | Streaming interactive video client apparatus |
TW098122810A TW200942305A (en) | 2007-12-05 | 2008-12-04 | Apparatus for streaming databases serving real-time applications used through streaming interactive video |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098123940A TW201001177A (en) | 2007-12-05 | 2008-12-04 | Apparatus for recursive recombination of streaming interactive video |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097147259A TW200943075A (en) | 2007-12-05 | 2008-12-04 | Streaming interactive video client apparatus |
TW098122810A TW200942305A (en) | 2007-12-05 | 2008-12-04 | Apparatus for streaming databases serving real-time applications used through streaming interactive video |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP2232379A4 (en) |
JP (1) | JP2011507350A (en) |
KR (1) | KR20100114881A (en) |
CN (1) | CN101918936A (en) |
AU (1) | AU2008333832A1 (en) |
CA (1) | CA2707707A1 (en) |
NZ (1) | NZ585910A (en) |
RU (1) | RU2500022C2 (en) |
TW (4) | TW201001177A (en) |
WO (1) | WO2009073830A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843653B2 (en) | 2010-03-30 | 2014-09-23 | International Business Machines Corporation | Interactively communicating a media resource |
TWI484819B (en) * | 2011-08-02 | 2015-05-11 | Inventec Appliances Corp | Streaming media player system and display method thereof |
TWI510095B (en) * | 2009-12-23 | 2015-11-21 | Sling Media Inc | Systems and methods for remotely controlling a media server via a network |
US11134217B1 (en) | 2021-01-11 | 2021-09-28 | Surendra Goel | System that provides video conferencing with accent modification and multiple video overlaying |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832772B2 (en) | 2002-12-10 | 2014-09-09 | Ol2, Inc. | System for combining recorded application state with application streaming interactive video output |
US8661496B2 (en) | 2002-12-10 | 2014-02-25 | Ol2, Inc. | System for combining a plurality of views of real-time streaming interactive video |
US9003461B2 (en) | 2002-12-10 | 2015-04-07 | Ol2, Inc. | Streaming interactive video integrated with recorded video segments |
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US8468575B2 (en) | 2002-12-10 | 2013-06-18 | Ol2, Inc. | System for recursive recombination of streaming interactive video |
US8949922B2 (en) | 2002-12-10 | 2015-02-03 | Ol2, Inc. | System for collaborative conferencing using streaming interactive video |
US9032465B2 (en) | 2002-12-10 | 2015-05-12 | Ol2, Inc. | Method for multicasting views of real-time streaming interactive video |
US8893207B2 (en) | 2002-12-10 | 2014-11-18 | Ol2, Inc. | System and method for compressing streaming interactive video |
US8495678B2 (en) | 2002-12-10 | 2013-07-23 | Ol2, Inc. | System for reporting recorded video preceding system failures |
US8387099B2 (en) | 2002-12-10 | 2013-02-26 | Ol2, Inc. | System for acceleration of web page delivery |
US8549574B2 (en) | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US8840475B2 (en) | 2002-12-10 | 2014-09-23 | Ol2, Inc. | Method for user session transitioning among streaming interactive video servers |
US8888592B1 (en) | 2009-06-01 | 2014-11-18 | Sony Computer Entertainment America Llc | Voice overlay |
US8147339B1 (en) | 2007-12-15 | 2012-04-03 | Gaikai Inc. | Systems and methods of serving game video |
US8968087B1 (en) | 2009-06-01 | 2015-03-03 | Sony Computer Entertainment America Llc | Video game overlay |
US8613673B2 (en) | 2008-12-15 | 2013-12-24 | Sony Computer Entertainment America Llc | Intelligent game loading |
US8926435B2 (en) | 2008-12-15 | 2015-01-06 | Sony Computer Entertainment America Llc | Dual-mode program execution |
US8171148B2 (en) | 2009-04-17 | 2012-05-01 | Sling Media, Inc. | Systems and methods for establishing connections between devices communicating over a network |
US9723319B1 (en) | 2009-06-01 | 2017-08-01 | Sony Interactive Entertainment America Llc | Differentiation for achieving buffered decoding and bufferless decoding |
JP5481693B2 (en) * | 2009-07-21 | 2014-04-23 | コクヨ株式会社 | Video call system, calling terminal, receiving terminal, program |
US9015225B2 (en) | 2009-11-16 | 2015-04-21 | Echostar Technologies L.L.C. | Systems and methods for delivering messages over a network |
US9275054B2 (en) | 2009-12-28 | 2016-03-01 | Sling Media, Inc. | Systems and methods for searching media content |
US8771064B2 (en) | 2010-05-26 | 2014-07-08 | Aristocrat Technologies Australia Pty Limited | Gaming system and a method of gaming |
KR20110132680A (en) * | 2010-06-03 | 2011-12-09 | 주식회사 토비스 | Game machine |
US9113185B2 (en) | 2010-06-23 | 2015-08-18 | Sling Media Inc. | Systems and methods for authorizing access to network services using information obtained from subscriber equipment |
US8676591B1 (en) | 2010-08-02 | 2014-03-18 | Sony Computer Entertainment America Llc | Audio deceleration |
KR102000618B1 (en) | 2010-09-13 | 2019-10-21 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | Add-on Management |
KR20170129967A (en) | 2010-09-13 | 2017-11-27 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | A method of transferring a game session, over a communication network, between clients on a computer game system including a game server |
CN102457694A (en) * | 2010-10-26 | 2012-05-16 | 芯讯通无线科技(上海)有限公司 | Mobile terminal with HDMI (High-Definition Multimedia Interface), control device, system and control method |
TWI450208B (en) * | 2011-02-24 | 2014-08-21 | Acer Inc | 3d charging method, 3d glass and 3d display apparatus with charging function |
TWI550408B (en) * | 2011-04-22 | 2016-09-21 | 晨星半導體股份有限公司 | Multi-core electronic system and speed adjusting device thereof |
CN103517144A (en) * | 2012-06-29 | 2014-01-15 | 深圳市快播科技有限公司 | Multi-screen interaction adapter and display device |
KR101502806B1 (en) * | 2013-08-28 | 2015-03-18 | 건국대학교 산학협력단 | System and method for streaming based lod for navigation |
US9900362B2 (en) | 2014-02-11 | 2018-02-20 | Kiswe Mobile Inc. | Methods and apparatus for reducing latency shift in switching between distinct content streams |
DE102014011339A1 (en) * | 2014-07-30 | 2016-02-04 | Exaring Ag | Smart HDMI streaming adapter |
US10963539B2 (en) | 2014-09-10 | 2021-03-30 | Mk Systems Usa Inc. | Interactive web application editor |
US9432734B2 (en) | 2014-09-10 | 2016-08-30 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-person and multi-device content personalization |
US20180243651A1 (en) * | 2015-07-24 | 2018-08-30 | Gorillabox Gmbh | Method for streaming and reproducing applications (APPs) via a particular telecommunication system, telecommunication network for streaming and reproducing applications (APPs) via a particular telecommunication system and use of a telecommunication network for streaming and reproducing applications (APPs) via a particular telecommunication system |
CN105898548A (en) * | 2015-12-10 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | HDMI (High Definition Multimedia Interface) based video output wireless adaption method, device and system |
EP3393610A1 (en) | 2015-12-21 | 2018-10-31 | Gorillabox GmbH I. G. | Method for playing back applications from a cloud, telecommunication network for streaming and for replaying applications (apps) via a specific telecommunication system, and use of a telecommunication network for streaming and replaying applications (apps) |
WO2018041324A1 (en) | 2016-09-03 | 2018-03-08 | Gorillabox Gmbh | Method for streaming and reproducing applications via a particular telecommunications system, telecommunications network for carrying out the method, and use of a telecommunications network of this type |
US10158905B2 (en) * | 2016-09-14 | 2018-12-18 | Dts, Inc. | Systems and methods for wirelessly transmitting audio synchronously with rendering of video |
US10416954B2 (en) * | 2017-04-28 | 2019-09-17 | Microsoft Technology Licensing, Llc | Streaming of augmented/virtual reality spatial audio/video |
US10623508B2 (en) * | 2018-09-12 | 2020-04-14 | Citrix Systems, Inc. | Systems and methods for integrated service discovery for network applications |
CN110572686B (en) * | 2019-08-05 | 2022-05-10 | 广州方硅信息技术有限公司 | Interaction method, live broadcast system, electronic equipment and storage device |
US11146612B1 (en) * | 2019-09-25 | 2021-10-12 | Motionray, Inc. | System, device and method for streaming and receiving content in real-time from wearable cameras with latency control and quality of content control |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1110964C (en) * | 1997-08-08 | 2003-06-04 | 联华电子股份有限公司 | Adaptive access priority selecting method for memory in MPEG circuit |
JP4315414B2 (en) * | 2001-05-01 | 2009-08-19 | メタ4ハンド インク. | Wireless network computing |
GB0219509D0 (en) * | 2001-12-05 | 2002-10-02 | Delamont Dean | Improvements to interactive TV games system |
JP2003289553A (en) * | 2002-03-28 | 2003-10-10 | Sanyo Electric Co Ltd | Image data processor and stereoscopic image display system |
GB0208317D0 (en) * | 2002-04-11 | 2002-05-22 | Koninkl Philips Electronics Nv | Controlling a home electronics system |
US7356588B2 (en) * | 2003-12-16 | 2008-04-08 | Linear Technology Corporation | Circuits and methods for detecting the presence of a powered device in a powered network |
RU46397U1 (en) * | 2005-03-05 | 2005-06-27 | Еремеев Владимир Сергеевич | INFORMATION TRANSMISSION SYSTEM |
US20080207322A1 (en) * | 2005-03-21 | 2008-08-28 | Yosef Mizrahi | Method, System and Computer-Readable Code For Providing a Computer Gaming Device |
US20060282855A1 (en) * | 2005-05-05 | 2006-12-14 | Digital Display Innovations, Llc | Multiple remote display system |
JP2006350919A (en) * | 2005-06-20 | 2006-12-28 | Matsushita Electric Ind Co Ltd | Video distribution terminal and video distributing method |
US20070011712A1 (en) * | 2005-07-05 | 2007-01-11 | White Technologies Group | System for multimedia on demand over internet based network |
EP1777966A1 (en) * | 2005-10-20 | 2007-04-25 | Siemens Aktiengesellschaft, A German Corporation | Decomposition of a H.264-decoder on a playstation |
JP4463237B2 (en) * | 2006-04-28 | 2010-05-19 | 株式会社ソニー・コンピュータエンタテインメント | COMMUNICATION DEVICE, GAME DEVICE, WIRELESS GAME CONTROLLER, AND GAME SYSTEM |
-
2008
- 2008-12-04 CN CN2008801193004A patent/CN101918936A/en active Pending
- 2008-12-04 TW TW098123940A patent/TW201001177A/en unknown
- 2008-12-04 KR KR1020107014739A patent/KR20100114881A/en not_active Application Discontinuation
- 2008-12-04 TW TW098125719A patent/TW200949567A/en unknown
- 2008-12-04 EP EP08857774A patent/EP2232379A4/en not_active Ceased
- 2008-12-04 WO PCT/US2008/085605 patent/WO2009073830A1/en active Application Filing
- 2008-12-04 NZ NZ585910A patent/NZ585910A/en unknown
- 2008-12-04 TW TW097147259A patent/TW200943075A/en unknown
- 2008-12-04 RU RU2010127328/08A patent/RU2500022C2/en active
- 2008-12-04 CA CA2707707A patent/CA2707707A1/en not_active Abandoned
- 2008-12-04 JP JP2010537090A patent/JP2011507350A/en active Pending
- 2008-12-04 TW TW098122810A patent/TW200942305A/en unknown
- 2008-12-04 AU AU2008333832A patent/AU2008333832A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI510095B (en) * | 2009-12-23 | 2015-11-21 | Sling Media Inc | Systems and methods for remotely controlling a media server via a network |
US8843653B2 (en) | 2010-03-30 | 2014-09-23 | International Business Machines Corporation | Interactively communicating a media resource |
TWI468014B (en) * | 2010-03-30 | 2015-01-01 | Ibm | Interactively communicating a media resource |
TWI484819B (en) * | 2011-08-02 | 2015-05-11 | Inventec Appliances Corp | Streaming media player system and display method thereof |
US11134217B1 (en) | 2021-01-11 | 2021-09-28 | Surendra Goel | System that provides video conferencing with accent modification and multiple video overlaying |
Also Published As
Publication number | Publication date |
---|---|
EP2232379A1 (en) | 2010-09-29 |
TW201001177A (en) | 2010-01-01 |
TW200943075A (en) | 2009-10-16 |
RU2010127328A (en) | 2012-01-10 |
CA2707707A1 (en) | 2009-06-11 |
EP2232379A4 (en) | 2011-05-25 |
WO2009073830A1 (en) | 2009-06-11 |
TW200942305A (en) | 2009-10-16 |
JP2011507350A (en) | 2011-03-03 |
RU2500022C2 (en) | 2013-11-27 |
AU2008333832A1 (en) | 2009-06-11 |
NZ585910A (en) | 2013-05-31 |
KR20100114881A (en) | 2010-10-26 |
CN101918936A (en) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI399982B (en) | System for compressing streaming interactive video | |
TWI459215B (en) | System and method for storing program code and data within an application hosting center | |
TWI536804B (en) | System and method for compressing video based on detected data rate of a communication channel | |
RU2504908C2 (en) | System for collaborative conferencing using streaming interactive video | |
RU2503998C2 (en) | Hosting and broadcasting virtual events using streaming interactive video | |
RU2509419C2 (en) | Method for multicasting views of real-time streaming interactive video | |
RU2496141C2 (en) | System for combining recorded application state with application streaming interactive video output | |
RU2510591C2 (en) | System for combining plurality of views of real-time streaming interactive video | |
RU2496135C2 (en) | Streaming interactive video integrated with recorded video segments | |
RU2500022C2 (en) | Streaming interactive video client apparatus | |
RU2493583C2 (en) | System for recursive reconstruction of streaming interactive video | |
RU2510590C2 (en) | System and method of compressing streaming interactive video | |
RU2493667C2 (en) | Method of combining linear content and interactive content compressed together as streaming interactive video | |
TWI592198B (en) | System and method for accelerated machine switching | |
RU2507568C2 (en) | System for accelerating web page delivery | |
TWI536805B (en) | System and method for encoding video using a selected tile and tile rotation pattern | |
TWI528832B (en) | System and method for video compression using feedback including data related to the successful receipt of video content | |
TWI530163B (en) | System and method for compressing video based on latency measurements and other feedback, and machine-readable medium | |
TWI554115B (en) | System and method for selecting a video encoding format based on feedback data | |
TWI545938B (en) | Temporary decoder apparatus and method | |
TWI558109B (en) | System and method for compressing video frames or portions thereof based on feedback information from a client device | |
RU2491756C2 (en) | System and method of protecting certain types of multimedia data transmitted over communication channel | |
TWI475843B (en) | System and method for multi-stream video compression | |
RU2493588C2 (en) | System and method of compressing video based on detected intraframe motion | |
RU2493585C2 (en) | Video compression system and method for reducing effect of packet loss in communication channel |