專利名稱:用于通過基于所檢測的幀內(nèi)運動或場景復雜度給圖像塊分配比特來壓縮視頻的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本公開總體上涉及改善用戶操作及存取音頻和視頻媒體的能力的數(shù)據(jù)處理系統(tǒng) 的領(lǐng)域。
背景技術(shù):
自從托馬斯·愛迪生(Thomas Edison)時代以來,記錄的音頻及電影媒體已成為 社會的一方面。在20世紀初期,記錄的音頻媒體(磁柱及唱片)及電影媒體(投幣式自動 點唱機及電影)廣泛發(fā)行,但兩種技術(shù)仍處于其起步階段。在20世紀20年代后期,在大 眾市場的基礎上將電影與音頻組合,之后將彩色電影與音頻組合。無線電廣播逐漸演變成 很大程度上支持廣告的形式的廣播大眾市場音頻媒體。當在20世紀40年代中期建立電視 (TV)廣播標準時,電視與無線電以廣播大眾市場媒體的形式接合,從而將先前記錄的或現(xiàn) 場直播的電影帶入家庭中。至20世紀中期為止,大部分美國家庭已具有用于播放記錄的音頻媒體的唱片播 放器(phonograph record player)、用于接收現(xiàn)場直播的廣播音頻的無線電設備,及用于 播放現(xiàn)場直播的廣播音頻/視頻(A/V)媒體的電視機。常常將所述3個“媒體播放器”(唱 片播放器、無線電設備及TV)組合到共有公共揚聲器的櫥柜中,變成家庭的“媒體中心”。盡 管對于消費者而言媒體選擇有限,但媒體“生態(tài)系統(tǒng)”非常穩(wěn)定。大多數(shù)消費者知道如何使 用“媒體播放器”且能夠享受其能力的全部范圍。同時,媒體的出版商(大多為電影和電視 工作室,及音樂公司)能夠?qū)⑵涿襟w分配給電影院與家庭兩者,而不遭受廣泛的盜版或“二 次銷售”(也即,已使用媒體的重新銷售)。通常,出版商不會從二次銷售得到收入,且因此, 二次銷售減少了出版商對于新的銷售從原本可自己使用媒體的購買者得到的收入。盡管在 20世紀中期期間的確存有已使用的唱片出售,但所述銷售不會對唱片出版商有大影響,因 為不同于電影或視頻節(jié)目(其通常被成年人觀看一次或僅數(shù)次),音樂曲目可被收聽數(shù)百 次或甚至數(shù)千次。因此,音樂媒體遠比電影/視頻媒體“經(jīng)久”(也即,對于成年消費者而 言,其具有持久價值)。一旦購買了唱片,若消費者喜歡該音樂,則消費者可能將其保持很長 時間。自20世紀中期到現(xiàn)在,媒體生態(tài)系統(tǒng)對于消費者與出版商的利益及損失來說都 經(jīng)歷了一系列根本改變。在音頻錄音機(尤其是具有高質(zhì)量立體聲的盒式磁帶)的廣泛 引入的情況下,的確有較高程度的消費者便利。但其也標志著現(xiàn)在廣泛的消費者媒體實 踐_盜版的開始。的確,許多消費者純粹出于便利起見而使用盒式磁帶來錄制其自己的唱片,但日益增加的消費者(例如,宿舍中準備存取彼此的唱片收集的學生)將進行盜版復 制。而且,消費者將錄制經(jīng)由無線電播放的音樂,而非從出版商購買唱片或磁帶。消費者VCR的出現(xiàn)導致更多的消費者便利,因為現(xiàn)在VCR被設置為記錄TV節(jié)目, 其可在稍后時間觀看,且VCR也導致視頻租賃業(yè)的建立,其中電影以及TV節(jié)目設計可在“點 播”基礎上進行存取。自20世紀80年代中期以來的大眾市場家庭媒體設備的快速開發(fā)已 導致消費者的空前的選擇及便利程度,且也導致媒體出版市場的快速擴張?,F(xiàn)今,消費者面對過多媒體選擇以及過多媒體設備,其中許多被綁定到特定形式 的媒體或特定出版商。熱衷的媒體消費者可能將一堆設備連接到房屋各房間中的TV及計 算機,造成至一或多個電視機和/或個人計算機(PC)的“鼠窩式”電纜以及一群遠程控制。 (在本申請的上下文中,術(shù)語“個人計算機”或“PC”指代適合于在家庭或辦公室中使用的任 何種類的計算機),包括臺式計算機、Macintosh麥金托什機器)⑧或其他非Windows (視 窗)計算機、與Windows相容的設備、Unix變體、筆記本計算機等)。所述設備可包括視頻 游戲控制臺、VCR、DVD播放器、音頻環(huán)繞音效處理器/放大器、衛(wèi)星機頂盒、電纜TV機頂盒 等。此外,對于熱衷的消費者,可能由于相容性問題而存在多個類似功能的設備。舉例而 言,消費者可能擁有HD-DVD與藍光(Blu-ray) DVD播放器兩者,或Microsoft Xbox (微軟 家用游戲機)⑧與Sony Playstation (索尼游戲站) 視頻游戲系統(tǒng)兩者。實際上,由于 一些跨游戲控制臺版本的的游戲的不相容性,消費者可能擁有XBox與稍后的版本(諸如, Xbox 360 )兩者。經(jīng)常地,消費者對于使用哪個視頻輸入端及哪個遠端感到迷惑。甚至 在將光碟置放于正確的播放器(例如,DVD、HD-DVD、藍光、Xbox或Playstation)中、選擇用 于該設備的視頻及音頻輸入端且發(fā)現(xiàn)正確遠程控制之后,消費者仍面臨技術(shù)挑戰(zhàn)。舉例而 言,在寬屏DVD的狀況下,用戶可能需要首先確定正確的縱橫比(例如,4 3、完全、放大、 寬放大、電影院寬等)且接著在其TV或監(jiān)視器屏幕上設定正確的縱橫比。類似地,用戶可 能需要首先確定正確的音頻環(huán)繞音效系統(tǒng)格式(例如,AC-3、杜比數(shù)字、DTS等)且接著設 定正確的音頻環(huán)繞音效系統(tǒng)格式。時常,消費者未意識到其可能未享受到其電視或音頻系 統(tǒng)的全部能力下的媒體內(nèi)容(例如,觀看以錯誤縱橫比擠壓的電影,或收聽立體聲的音頻 而非環(huán)繞音效的音頻)。日益增加地,已將以基于互聯(lián)網(wǎng)的媒體設備添加到設備的堆棧中。類似Sonos (索 羅斯) 數(shù)字音樂系統(tǒng)的音頻設備使音頻直接從互聯(lián)網(wǎng)流動(stream)。同樣地,類似 Slingbox (視靈寶 )娛樂播放器的設備記錄視頻且使其經(jīng)由家庭網(wǎng)絡流動或經(jīng)由互聯(lián)網(wǎng) 流動而出,其中可在PC上遠程觀看該視頻。且互聯(lián)網(wǎng)協(xié)議電視(IPTV)服務經(jīng)由數(shù)字用戶 線(DSL)或其他家庭互聯(lián)網(wǎng)連接而提供類似電纜TV的服務。近來還努力將多個媒體功能 整合到單個設備(諸如,Moxi (摩西) 媒體中心及執(zhí)行Windows XP媒體中心版本的PC) 中。盡管所述設備中的每個設備對其執(zhí)行的功能提供一點便利,但每個設備缺乏對大多數(shù) 媒體的普遍且簡單的存取。另外,常常由于昂貴的處理和/或本地儲存的需要而使得所述 設備經(jīng)?;ㄙM數(shù)百美元來制造。另外,所述現(xiàn)代的消費者電子設備通常消耗大量電力,甚至 當閑置時也消耗大量電力,這意謂著其隨著時間而更加昂貴且浪費能源。舉例而言,若消費 者忘記將設備切斷或?qū)⑵淝袚Q到不同視頻輸入端,則該設備可能繼續(xù)操作。此外,因為所述 設備當中沒有一個設備為完全的解決方案,所以必須將其與家庭中的其他設備的堆棧整合 在一起,這仍對用戶留下鼠窩式線及許多遠程控制。
4
此外,當許多較新的以互聯(lián)網(wǎng)為基礎的設備適當?shù)毓ぷ鲿r,其通常提供更一般形 式(與其原本可能可用的形式相比)的媒體。舉例而言,使視頻經(jīng)由互聯(lián)網(wǎng)流動的設備常 常僅使視頻材料流動,而不能使常常伴隨DVD的互動式“額外項目”流動,如視頻的“制作”、 游戲或?qū)а菰u論。這是由于以下事實互動式材料經(jīng)常是以特定格式制作,該特定格式意 欲用于在本地處理互動性的特定設備。舉例而言,DVD、HD-DVD及藍光光碟中每一者具有其 自身的特定互動格式。任何家庭媒體設備或本地計算機(其可能經(jīng)開發(fā)以支持所有流行格 式)將需要一定程度的尖端性(sophistication)及靈活性,其將可能對于消費者操作而言 過于昂貴及復雜。使該問題加重,若稍后在將來引入新格式,則本地設備可能不具有支持新格式的 硬件能力,這將意味著消費者將必須購買升級的本地媒體設備。舉例而言,若在稍后的日期 引入較高分辨率的視頻或立體視頻(例如,每一只眼一個視頻流),則本地設備可能不具有 解碼該視頻的計算能力,或其可能不具有用于以新格式輸出該視頻的硬件(例如,假定通 過與遮光眼鏡(shuttered glassess)同步的120fps視頻來實現(xiàn)立體視覺,其中將60fps 傳送到每一只眼,若消費者的視頻硬件僅可支持60fps視頻,則該選項在缺乏升級的硬件 購買的情況下將不可用)。當談及尖端的互動式媒體(尤其是視頻游戲)時,媒體設備廢棄及復雜度的問題 為嚴重問題?,F(xiàn)代視頻游戲應用基本上劃分成四個主要非便攜式式硬件平臺 Sony PlayStation 1、2 及 3 (PSl、PS2,及 PS3) ; Microsoft Xbox 及Xbox 360 ;及
Nintendo Gamecube (任天堂方糖)⑧及Wi i ;以及以PC為基礎的游戲。所述平臺中的每一 者不同于其他者,使得被編寫以在一個平臺上執(zhí)行的游戲通常不會在另一平臺上執(zhí)行。也 可能存在一代設備與下一代設備的相容性問題。即使大多數(shù)軟件游戲開發(fā)者建立獨立于特 定平臺而設計的軟件游戲,為了在特定平臺上執(zhí)行特定游戲,也需要專有軟件層(其經(jīng)常 被稱為“游戲開發(fā)引擎」”)來調(diào)適游戲以在特定平臺上使用。每一個平臺以“控制臺”(也 即,附接到TV或監(jiān)視器/揚聲器的脫機盒(standalone box))的形式出售給消費者或其本 身為PC。通常,視頻游戲在諸如藍光DVD、DVD_R0M或⑶-ROM的光學媒體上出售,該光學媒 體含有體現(xiàn)為尖端的實時軟件應用程序的視頻游戲。隨著家庭寬帶速度增加,視頻游戲正 日益變得可用于下載。由于高級視頻游戲的實時性及高計算要求而使得實現(xiàn)與視頻游戲軟件的平臺相 容性的特殊性要求極端苛刻。舉例而言,一個人可能期望從一代視頻游戲到下一代視頻游 戲(例如,自 XBox 至 XBox 360,或自 Playstation 2(“PS2”)至 Playstation 3(“PS3”)) 的完全游戲相容性,正如存在從一個PC到具有較快處理單元或核心的另一 PC的生產(chǎn)力應 用程序(例如,MicrosoftWord(微軟文字處理軟件))的普遍相容性。然而,對于視頻游戲 并非是這種狀況。因為當發(fā)行一代視頻游戲時,視頻游戲制造商通常尋求對于給定價格點 的最高可能性能,所以經(jīng)常對系統(tǒng)進行動態(tài)架構(gòu)改變,以使得被編寫以用于前代系統(tǒng)的許 多游戲在稍后一代系統(tǒng)上不能工作。舉例而言,XBox基于x86系列處理器,而XBox 360基 于PowerPC系列??衫眉夹g(shù)來模仿先前架構(gòu),但假定視頻游戲為實時應用程序,則在模仿中達成 完全相同的行為常常不切實際。這是對消費者、視頻游戲控制臺制造商及視頻游戲軟件出版商的損失。對于消費者而言,這意味著將舊的一代視頻游戲控制臺與新的一代視頻游戲 控制臺兩者保持接通到TV以便能夠玩所有游戲的必要性。對于控制臺制造商而言,這意味 著與新控制臺的模仿及較慢采用相關(guān)的成本。且對于出版商而言,這意味著可能必須發(fā)行 新游戲的多個版本以便涵蓋所有潛在的消費者_不僅發(fā)行用于視頻游戲的每個商標(例 如,XBohPlaystation)的版本,而且常常發(fā)行用于給定商標的每個版本(例如,PS2及PS3) 的版本。舉例而言,開發(fā)藝電有限公司(Electronic Arts)的“瘋狂橄欖球08”的單獨版本 以用于XBox、XBox 360、PS2、PS3、Gamecube、Wii及PC平臺以及其他平臺。便攜式設備(諸如,移動電話及便攜式媒體播放器)也對游戲開發(fā)商提出挑戰(zhàn)。日 益增加地,所述設備連接到無線數(shù)據(jù)網(wǎng)絡且能夠下載視頻游戲。但是,市場中存在具有多種 不同顯示分辨率及計算能力的多種移動電話及媒體設備。而且,因為所述設備通常具有電 力消耗、成本及重量約束,所以其通常缺乏類似于圖形處理單元(“GPU”)的高級圖形加速 硬件(諸如,由美國加州的圣克拉拉的NVIDIA(英偉達公司)制造的設備)。因此,游戲軟 件開發(fā)商通常開發(fā)同時用于許多不同類型的便攜式設備的給定游戲標題。用戶可發(fā)現(xiàn)給 定游戲標題不可用于其特定移動電話或便攜式媒體播放器。在家庭游戲控制臺的狀況下,硬件平臺制造商通常向軟件游戲開發(fā)商收取用于在 其平臺上發(fā)布游戲的能力的版稅。移動電話無線通信公司通常也向游戲出版商收取用于將 游戲下載到移動電話中的版稅。在PC游戲的狀況下,不存在用于發(fā)布游戲所支付的版稅, 但由于用于支持多種PC配置及可能引起的安裝問題的較高消費者服務負擔而使得游戲開 發(fā)商通常面臨高成本。而且,PC通常較少阻礙游戲軟件的盜版,因為其可很容易地由精通 技術(shù)的用戶重新編程且游戲可更容易地被盜版且更容易地被分配(例如,經(jīng)由互聯(lián)網(wǎng))。因 此,對于軟件游戲開發(fā)商而言,在游戲控制臺、移動電話及PC上發(fā)行具有成本及不利之處。對于控制臺及PC軟件的游戲出版商而言,成本不止于此。為了經(jīng)由零售通道分配 游戲,出版商向零售商收取低于出售價格的批發(fā)價格以使零售商具有利潤率。出版商通常 也必須支付制造及分配保存游戲的物理媒體的成本。零售商經(jīng)常也向出版商收取“價格保 護費”以涵蓋可能的意外費用(諸如,游戲售不出,或游戲的價格降低,或零售商必須退還部 分或所有批發(fā)價格和/或從購買者收回游戲)。另外,零售商通常也向出版商收取用于幫助 在廣告?zhèn)鲉沃袖N售游戲的費用。此外,零售商日益增加地從已玩完游戲的用戶購買回游戲, 且接著將所述游戲以使用過的游戲出售,通常不與游戲出版商分享使用過的游戲的收入。 以下事實增加了施加給游戲出版商的成本負擔游戲常常被經(jīng)由互聯(lián)網(wǎng)盜版及分配以供用 戶下載及進行免費復制。隨著互聯(lián)網(wǎng)寬帶速度增加且寬帶連接性在美國及全世界變得更廣泛(更具體地, 到家庭和到租賃連接互聯(lián)網(wǎng)的PC的“網(wǎng)吧”),游戲被更多地經(jīng)由下載而分配到PC或控制 臺。而且,寬帶連接更多地用于玩多人及大型多人在線游戲(該兩者在本公開中由首字母 縮寫詞“MM0G”來指代)。這些改變減輕了與零售分配相關(guān)的一些成本及問題。下載在線游 戲解決了游戲出版商的一些不利之處,因為分配成本通常較小且存在較少或不存在未出售 媒體的成本。但已下載的游戲仍被盜版,且由于其大小(大小常常為幾十億字節(jié))而使得 其可能花費非常長的時間來下載。另外,多個游戲可裝滿小磁盤驅(qū)動器,例如連同便攜式計 算機一起或連同視頻游戲控制臺一起出售的那些磁盤驅(qū)動器。然而,就游戲或MMOG需要在 線連接以使得游戲可玩的程度而言,盜版問題得以減輕,因為通常需要用戶具有有效的用戶帳戶。不同于可由相機拍攝顯示屏幕的視頻或由麥克風記錄來自揚聲器的音頻來復制的 線性媒體(例如,視頻及音樂),每個視頻游戲體驗是唯一的,且不可使用簡單的視頻/音 頻記錄來復制。因此,甚至在未強力執(zhí)行版權(quán)法且盜版猖獗的區(qū)域中,也可保護MMOG免于 被盜版,從而可支持商業(yè)。舉例而言,已成功地部署Vivendi SA(維旺迪公司)的“魔獸世 界”MM0G,而在全世界未遭受盜版。且許多在線或MMOG游戲(諸如,Linden Lab (林登實驗 室)的“第二人生”MM0G)通過建在游戲中的經(jīng)濟模型而產(chǎn)生游戲運營商的收入,其中資產(chǎn) 可使用在線工具而帶來、出售且甚至建立。因此,可使用除傳統(tǒng)游戲軟件購買或訂閱之外的 機制來為在線游戲的使用付費。盡管由于在線或MMOG的性質(zhì)而使得常??蓽p輕盜版,但在線游戲運營商仍面臨 其余挑戰(zhàn)。許多游戲需要大量的本地(也即,家庭內(nèi))處理資源以供在線或MMOG適當?shù)毓?作。若用戶具有低性能的本地計算機(例如,不具有GPU的計算機,諸如低端筆記本計算 機),則其可能不能夠玩該游戲。另外,隨著游戲控制臺老化,其遠落后于目前技術(shù)狀態(tài)且 可能不能夠處理更高級的游戲。即使假定用戶的本地PC能夠處理游戲的計算要求,常常也 存在安裝復雜度。可能存在驅(qū)動器不相容性(例如,若下載新游戲,則可能安裝新版本的圖 形驅(qū)動器,其致使依賴于舊版本圖形驅(qū)動器的先前已安裝的游戲不可操作)。隨著下載更 多游戲,控制臺可能用完本地磁盤空間。當發(fā)現(xiàn)缺陷并修復時或若對游戲進行了修改(例 如,若游戲開發(fā)商發(fā)現(xiàn)游戲的級別太難玩或太容易玩),復雜游戲通常隨著時間推移而從游 戲開發(fā)商接收下載的補丁(patch)。該補丁需要新的下載。但有時并非所有用戶完成所有 補丁的下載。在其他時候,下載的補丁引入其他相容性或磁盤空間消耗問題。而且,在游戲播放期間,可能需要大數(shù)據(jù)下載以將圖形或行為信息提供到本地PC 或控制臺。舉例而言,若用戶進入MMOG中的一個房間中,且遇到由圖形數(shù)據(jù)組成或具有在 用戶的本地機器上不可用的行為的場景或人物,則必須下載那個場景或人物的數(shù)據(jù)。若互 聯(lián)網(wǎng)連接不夠快,則此可導致玩游戲期間的實質(zhì)延遲。此外,若所遇到的場景或人物需要超 過本地PC或控制臺的儲存空間或計算能力的儲存空間或計算能力,則其可產(chǎn)生下述情形 其中用戶不能在游戲中繼續(xù),或必須以質(zhì)量降低的圖形繼續(xù)。因此,在線或MMOG游戲常常 限制其儲存和/或計算復雜度要求。另外,其常常限制游戲期間的數(shù)據(jù)傳送的量。在線或 MMOG游戲也可使可玩游戲的用戶的市場變窄。此外,精通技術(shù)的用戶越來越多地對游戲的本地復本進行反向工程且修改游戲以 使得他們可以作弊。作弊可能與進行比用人力可能的速度快的重復按鈕按壓(例如,為了 非常快速地射擊)一樣簡單。在支持游戲中資產(chǎn)交易的游戲中,作弊可達到導致欺騙性交 易涉及具有實際經(jīng)濟價值的資產(chǎn)的欺詐程度。當在線或MMOG經(jīng)濟模型基于所述資產(chǎn)交易 時,這可導致對游戲運營商的實質(zhì)有害后果。開發(fā)新游戲的成本隨著PC及控制臺能夠制作越來越尖端的游戲(例如,具有更逼 真的圖形(諸如,實時光線追蹤),及更逼真的行為(諸如,實時物理學仿真))而增長。在 視頻游戲業(yè)的早期,視頻游戲開發(fā)是應用程序軟件開發(fā)非常類似的過程;也即,大多數(shù)開發(fā) 成本在軟件的開發(fā)中(與圖形、音頻及行為要素或“資產(chǎn)”的開發(fā)相對比),諸如可被開發(fā)以 用于具有廣泛特殊效果的電影的那些軟件開發(fā)?,F(xiàn)今,許多尖端的視頻游戲開發(fā)成果比軟 件開發(fā)更類似于富有特效的電影開發(fā)。舉例而言,許多視頻游戲提供3-D世界的仿真,且產(chǎn) 生更加真實(也即,看似與攝影拍攝的實景(live action)圖像一樣逼真的計算機圖形)
7的人物、道具及環(huán)境。照片一樣逼真的游戲開發(fā)的最具挑戰(zhàn)方面中的一者為創(chuàng)建不能區(qū)別 于實景人臉的計算機產(chǎn)生的人臉。面部捕獲技術(shù)(諸如,由加州的圣弗朗西斯科的Mova開 發(fā)的Contour (輪廓 )真實性捕獲系統(tǒng))捕獲表演者的面部的精確幾何形狀并在表演者 處于運動中時以高分辨率追蹤表演者的面部的精確幾何形狀。此技術(shù)允許在PC或游戲控 制臺上再現(xiàn)3D面部,該3D面部實際上不能區(qū)別于所捕獲的實景面部。精確地捕獲及再現(xiàn) “照片一樣逼真的”人臉在多個方面是有用的。首先,高度可識別的名人或運動員常常用于 視頻游戲中(常常被高成本雇用),且不完美性可能對于用戶而言顯而易見,從而使觀看體 驗(viewing experience)分心或令人不愉快。經(jīng)常地,需要高度細節(jié)來實現(xiàn)高度的照片一 樣的逼真感_潛在地需要再現(xiàn)大量多邊形及高分辨率紋理(在多邊形和/或紋理在幀接幀 的基礎上隨著面部移動而改變的情況下)。當具有詳細紋理的高多邊形計數(shù)場景快速改變時,支持游戲的PC或游戲控制臺 可能不具有足夠的RAM來儲存用于游戲片段中所產(chǎn)生的所需數(shù)目的動畫幀的足夠多邊形 及紋理數(shù)據(jù)。另外,通??捎糜赑C或游戲控制臺上的單個光學驅(qū)動器或單個磁盤驅(qū)動器通 常比RAM緩慢得多,且通常不能跟上GPU在再現(xiàn)多邊形及紋理中可接受的最大數(shù)據(jù)速率。當 前游戲通常將大多數(shù)多邊形及紋理載入到RAM中,這意味著給定場景在復雜度及持續(xù)時間 上很大程度上受RAM的容量限制。在例如面部動畫制作的狀況下,這可能將PC或游戲控制 臺限制于并無真實感的低分辨率面部,或限制于僅可在游戲暫停且載入用于更多幀的多邊 形及紋理(及其他數(shù)據(jù))之前在有限數(shù)目的幀中制作成動畫的真實感面部。當PC或控制臺顯示類似于“正在載入...”的消息時,觀看進程條跨屏幕緩慢地 移動被現(xiàn)今的復雜視頻游戲的用戶公認為是內(nèi)在缺點。下一個場景從磁盤(除非另外有 條件,否則本文中的“磁盤”指非易失性光學媒體或磁性媒體,以及諸如半導體“閃存”存儲 器的非磁盤媒體)載入時的延遲可花費若干秒或甚至若干分鐘。這浪費時間且可能使游戲 玩家相當沮喪。如先前所述,大量或所有延遲可能是由于來自磁盤的多邊形、紋理或其他數(shù) 據(jù)的載入時間,但也可能是以下狀況當PC或控制臺中的處理器和/或GPU準備用于場景 的數(shù)據(jù)時,花費一部分載入時間。舉例而言,英式足球視頻游戲可允許玩家在大量玩家、小 組、運動場及天氣條件當中選擇。因此,取決于選擇什么特定組合,可能需要用于場景的不 同多邊形、紋理及其他數(shù)據(jù)(統(tǒng)稱“對象”)(例如,不同小組在其制服上具有不同色彩及圖 案)??赡芤信e各種排列中的許多或所有排列且提前預先計算對象中的許多或所有對象 并將對象儲存在用于儲存游戲的磁盤上。但是,若排列的數(shù)目很大,則所有對象所需的儲存 量可能過大以致不能安裝在磁盤上(或太不切實際以致不能下載)。因此,現(xiàn)有的PC及控 制臺系統(tǒng)通常在給定場景的復雜度與播放持續(xù)時間兩者上受約束且對于復雜場景遭受長 的載入時間。先前技術(shù)的視頻游戲系統(tǒng)及應用程序軟件系統(tǒng)的另一顯著限制在于其越來越多 地使用例如3D對象的大數(shù)據(jù)庫(諸如,多邊形及紋理),所述大數(shù)據(jù)庫需要被載入到PC或 游戲控制臺中以用于處理。如上所述,當將所述數(shù)據(jù)庫在本地儲存于磁盤上時,所述數(shù)據(jù)庫 可花費長時間來載入。然而,若數(shù)據(jù)庫系儲存于遠程位置且經(jīng)由互聯(lián)網(wǎng)來存取,則載入時間 通常嚴重得多。在此種情形下,下載大數(shù)據(jù)庫可能花費幾分鐘、幾小時或甚至幾天。另外, 所述數(shù)據(jù)庫常常產(chǎn)生大量費用(例如,用于游戲、電影或歷史記錄片中的詳細的高的有桅 帆船的3D模型)且意欲用于銷售給本地終端用戶。然而,一旦數(shù)據(jù)庫被下載至本地用戶,其就有被盜版的風險。在許多狀況下,用戶僅為了評估數(shù)據(jù)庫來觀看其是否適合用戶的需 要(例如,當用戶執(zhí)行特定移動時,用于游戲人物的3D服裝是否具有滿意的外觀或外表) 的目的而希望下載數(shù)據(jù)庫。對于在決定進行購買之前評估3D數(shù)據(jù)庫的用戶而言,長載入時 間可能是阻礙。類似問題在MMOG (更具體地,如允許用戶利用更加定制化的人物的游戲)中出現(xiàn)。 對于顯示人物的PC或游戲控制臺,其需要能夠存取具有3D幾何形狀(多邊形、紋理等)以 及所述人物的行為(例如,若人物具有盾牌,則盾牌是否足夠強以使矛偏轉(zhuǎn))的數(shù)據(jù)庫。通 常,當MMOG由用戶初次玩時,用于人物的大量數(shù)據(jù)庫在游戲的初始復本下已經(jīng)可用,游戲 的初始復本在本地在游戲光盤上可用或被下載到磁盤。但是,隨著游戲進展,若用戶遇到數(shù) 據(jù)庫在本地不可用的人物或?qū)ο?例如,若另一用戶已建立一定制人物),則在可顯示該人 物或?qū)ο笾?,必須下載其數(shù)據(jù)庫。這可導致游戲的實質(zhì)延遲。給定視頻游戲的尖端性及復雜度,則在先前技術(shù)視頻游戲控制臺情況下對視頻游 戲開發(fā)商及出版商的另一挑戰(zhàn)在于開發(fā)視頻游戲經(jīng)?;ㄙM2年到3年,成本在數(shù)千萬美 元。假定新視頻游戲控制臺平臺以大致每隔五年一次的速率引入,則游戲開發(fā)商需要在新 游戲控制臺發(fā)行之前的數(shù)年開始那些游戲的開發(fā)工作,以便在發(fā)行新平臺時使視頻游戲同 時可用。來自競爭性制造商的若干個控制臺有時大約同時發(fā)行(例如,彼此在一年或兩年 內(nèi)),但尚待分曉的是每個控制臺的流行性(例如,哪個控制臺將產(chǎn)生最大的視頻游戲軟件 銷售)。舉例而言,在最近的控制臺周期中,Microsoft XBox 360、SonyPlaystation 3及 Nintendo Wii計劃在大約相同的大體時段引進。但在所述引進之前的數(shù)年中,游戲開發(fā)商 實質(zhì)上必須“壓注(place bets)”哪些控制臺平臺將比其他者更成功,且相應地投入其開 發(fā)資源。電影制作公司也必須在電影發(fā)行之前很長時間基于其估計可能成功的電影而分 攤其有限的制作資源。給定視頻游戲所需的投資的增長程度,則游戲制作越加變得類似電 影制作,且游戲制作公司常規(guī)上基于其對特定視頻游戲的將來成功的估計而投入其制作資 源。但是,不同于電影公司,此壓注并非僅基于制作本身的成功;而是,其依據(jù)于游戲要在其 上執(zhí)行的游戲控制臺的成功。同時在多個控制臺上發(fā)行游戲可減輕風險,但此額外努力增 加成本,且經(jīng)常延遲游戲的實際發(fā)行。PC上的應用程序軟件及用戶環(huán)境正變得更為計算上密集、動態(tài)及互動,不僅使其 在視覺上更吸引用戶,而且使其更有用及直觀。舉例而言,新Windows Vista(視窗遠景) 操作系統(tǒng)與Macintosh 操作系統(tǒng)的后續(xù)版本兩者并入了視覺動畫效應。高級圖形工具 (諸如,來自Autodesk(歐特克)公司的Maya (瑪雅 ))提供非常尖端的3D再現(xiàn)及動畫 制作能力(其推動了目前技術(shù)狀態(tài)的CPU及GPU的限制)。然而,這些新工具的計算要求對 于所述產(chǎn)品的用戶及軟件開發(fā)商而言產(chǎn)生了許多實際問題。因為操作系統(tǒng)(OS)的視覺顯示必須在多種計算機(包括不再出售但仍可隨著新 OS而升級的前代計算機)上工作,OS圖形要求在很大程度上受OS要用于的計算機(其通 常包括不包括GPU的計算機)的最少共同點限制。這嚴重地限制OS的圖形能力。此外,電 池供電的便攜式計算機(例如,筆記本計算機)限制視覺顯示能力,因為CPU或GPU中的高 計算活動通常導致較高電力消耗及較短電池壽命。便攜式計算機通常包括在不利用處理 器時自動地減低處理器活動性以降低電力消耗的軟件。在一些計算機型號中,用戶可手動 地減低處理器活動性。舉例而言,Sony的VGN-SZ280P筆記本計算機包括在一側(cè)上標記為
9"Stamina (持久性)”(用于低性能,更長電池壽命)且另一側(cè)上標記為“Speed (速度)”(用 于高性能,較短電池壽命)的交換器。在便攜式計算機上執(zhí)行的OS必須能夠即使在計算機 以其峰值性能能力的一小部分執(zhí)行的情況下也可用地起作用。因此,OS圖形性能常常保持 為遠低于目前技術(shù)狀態(tài)的可用計算能力。經(jīng)常出售高端的計算上密集的應用程序(如Maya),期望所述應用程序?qū)⒂糜诟?性能PC上。此通常產(chǎn)生高得多的性能,及更昂貴且便攜性較差、最少共同點的要求。因此, 所述應用程序具有比通用OS(或通用生產(chǎn)力應用程序,類似Microsoft Office)有限得多 的目標受眾且通常以比通用OS軟件或通用應用程序軟件低得多的量出售。潛在的受眾進 一步受限制,因為預期的用戶時常難以提前試用所述計算上密集的應用程序。舉例而言,假 設學生希望了解如何使用Maya或已經(jīng)知道所述應用程序的潛在購買者在購買中希望在進 行投資之前試用Maya (此可能涉及也購買能夠執(zhí)行Maya的高端計算機)。當學生或潛在購 買者可下載Maya的演示版本或得到Maya演示版本的物理媒體復本時,若其缺乏能夠執(zhí)行 Maya的全部潛能(例如,處理復雜3D場景)的計算機,則其將不能夠進行產(chǎn)品的全方位評 估。此實質(zhì)上限制所述高端應用程序的受眾。這也使出售價格變高,因為開發(fā)成本通常經(jīng) 過比通用應用程序的購買次數(shù)小得多的購買次數(shù)而分攤。高價應用程序也對使用應用程序軟件的盜版復本的個體及商業(yè)產(chǎn)生更多刺激。因 此,高端應用程序軟件遭受猖獗盜版,盡管該軟件的出版商進行了大量努力來通過各種技 術(shù)減輕該盜版。但是,甚至當使用盜版的高端應用程序時,用戶也不可能排除投資昂貴的目 前技術(shù)狀態(tài)的PC來執(zhí)行盜版復本的需要。因此,盡管用戶可以用軟件應用程序的實際零 售價格的一小部分獲得軟件應用程序的使用,但盜版軟件的用戶仍需要購買或獲得昂貴的 PC,以便完全利用該應用程序。此對于高性能盜版視頻游戲的用戶同樣成立。盡管盜版者可以用游戲的實際價格 的一小部分得到游戲,但其仍需要購買適當?shù)赝嬗螒蛩璧陌嘿F計算硬件(例如,GPU-增 強型PC,或類似XBox 360的高端視頻游戲控制臺)。假定視頻游戲通常是消費者的娛樂, 則用于高端視頻游戲系統(tǒng)的額外成本可能是過于昂貴的。該情形在當前工人的平均年收入 相當?shù)?相對于美國的當前工人平均年收入)的國家(例如,中國)中更糟。這樣,小得多 的百分比的人口擁有高端視頻游戲系統(tǒng)或高端PC。在這些國家中,用戶可支付費用以使用 連接到互聯(lián)網(wǎng)的計算機的“網(wǎng)吧”相當普遍。經(jīng)常地,所述網(wǎng)吧具有不具有高性能特征(諸 如,原本可使玩家能夠玩計算上密集的視頻游戲的GPU)的較舊型號或低端PC。這是在低端 PC上執(zhí)行的游戲成功的關(guān)鍵因素(諸如,Vivendi的“魔獸世界”,其在中國高度成功,且通 常是在中國的網(wǎng)吧中玩)。相比之下,計算上密集的游戲(如“第二人生”)更不可能在安 裝于中國網(wǎng)吧中的PC上玩。所述游戲?qū)嶋H上對于僅能夠存取網(wǎng)吧中的低性能PC的用戶來 說是不可訪問的。對于考慮購買視頻游戲且首先愿意通過經(jīng)由互聯(lián)網(wǎng)將演示下載到其家庭而試用 游戲的示范版本的用戶也存在障礙。視頻游戲演示常常為游戲的全能版本,其中一些特征 停用,或?qū)τ螒虿シ诺牧渴┘酉拗?。此可能涉及在可將游戲安裝于PC或控制臺上且在PC或 控制臺上執(zhí)行之前下載數(shù)十億字節(jié)的數(shù)據(jù)的長過程(可能幾個小時)。在PC的狀況下,其 也可能涉及算出游戲需要哪些特殊驅(qū)動器(例如,DirectX或OpenGL驅(qū)動器),下載正確的 版本,安裝正確的版本,及接著確定PC是否能夠播放該游戲。后者步驟可能涉及確定PC是
10否具有足夠的處理(CPU及GPU)能力、足夠的RAM及相容的OS (例如,一些游戲在Windows XP上執(zhí)行而不在Vista上執(zhí)行)。因此,在試圖執(zhí)行視頻游戲演示的長過程之后,用戶可能 發(fā)現(xiàn)在給定用戶的PC配置的情況下視頻游戲演示不可能玩。更糟地,一旦用戶已下載新驅(qū) 動器以用于嘗試該演示,這些驅(qū)動器版本就可能與用戶在PC上習慣使用的其他游戲或應 用程序不相容,因此,演示的安裝可致使先前可操作的游戲或應用程序不能操作。這些障 礙不僅使用戶沮喪,而且其也對視頻游戲軟件出版商及視頻游戲開發(fā)商銷售其游戲產(chǎn)生障 礙。導致不具經(jīng)濟效益的另一問題與以下事實有關(guān)給定PC或游戲控制臺通常被設 計以適應對應用程序和/或游戲的特定程度的性能要求。舉例而言,一些PC具有或多或少 的RAM、較慢或較快的CPU及較慢或較快的GPU (若其具有GPU)。一些游戲或應用程序利用 給定PC或控制臺的全計算能力,而一些游戲或應用程序卻不利用給定PC或控制臺的全計 算能力。若用戶的游戲或應用程序的選擇未達到本地PC或控制臺的峰值性能能力,則用戶 可能由于未利用的特征而在PC或控制臺上浪費了財力。在控制臺的狀況下,控制臺制造商 可能支付比資助控制臺成本所要的多的成本。存在于視頻游戲的銷售及享受中的另一問題涉及在用戶實施購買游戲之前允許 用戶觀看他人玩游戲。存在用于記錄視頻游戲以在稍后時間重放的若干先前技術(shù)方法。舉 例而言,美國專利第5,558,339號教導了在“游戲播放”期間將游戲狀態(tài)信息(包括游戲控 制器動作)記錄在視頻游戲客戶端計算機(由同一個或不同用戶擁有)中。此狀態(tài)信息可 在稍后時間使用以在視頻游戲客戶端計算機(例如,PC或控制臺)上重放一些或所有游戲 動作。該方法的顯著缺點在于對于觀看已記錄的游戲的用戶,用戶必須具有能夠播放該游 戲的視頻游戲客戶端計算機且必須具有在該計算機上執(zhí)行的視頻游戲應用程序,以使得當 重放被記錄的游戲狀態(tài)時游戲播放是完全相同的。除此之外,視頻游戲應用程序必須是以 在被記錄的游戲與經(jīng)回放的游戲之間不存在可能的執(zhí)行差異的方式編寫。舉例而言,游戲圖形大體在幀接幀基礎上計算。對于許多游戲,取決于場景是否特 別復雜或是否存在減緩執(zhí)行的其他延遲(例如,在PC上,另一過程可能正在執(zhí)行,以致從游 戲應用程序奪走CPU周期),游戲邏輯有時可能花費比一幀時間短或比一幀時間長的時間 來計算為下一個幀而顯示的圖形。在此種游戲中,以比一幀時間稍少的時間(例如,少幾個 CPU時鐘周期)計算的“臨限值”巾貞最終可出現(xiàn)。當使用完全相同的游戲狀態(tài)信息再次計算 該同一場景時,可能容易花費比一幀時間多幾個CPU時鐘周期的時間(例如,若內(nèi)部CPU總 線稍微與外部DRAM總線不同相,且即使不存在來自從游戲處理奪走數(shù)毫秒CPU時間的另一 過程的大延遲,其也引入幾個CPU周期時間的延遲)。因此,當回放游戲時,幀變成以兩個 幀時間計算而非以單個幀時間計算。一些行為基于游戲計算新幀的頻率(例如,當游戲取 樣來自游戲控制器的輸入時)。當播放游戲時,用于不同行為的時間參考中的該偏差不會 影響游戲播放,但其可導致所回放的游戲產(chǎn)生不同結(jié)果。舉例而言,若籃球的軌道是以穩(wěn)定 的60fps速率來計算,但游戲控制器輸入是基于計算的幀的速率來取樣,則當記錄游戲時, 計算的幀的速率可能為53fps,而當重放游戲時,計算的幀的速率可能為52fps,此可使得 籃球是否被阻止進入籃中存在差異,從而導致不同結(jié)果。因此,使用游戲狀態(tài)記錄視頻游戲 需要非常謹慎的游戲軟件設計,以確保使用同一游戲狀態(tài)信息重放產(chǎn)生完全相同的結(jié)果。用于記錄視頻游戲的另一先前技術(shù)方法是僅記錄PC或視頻游戲系統(tǒng)的視頻輸出(例如,到VCR、DVD記錄器,或到PC上的視頻捕獲板)。接著可將視頻回倒及重放,或替代 地,將記錄的視頻上傳到互聯(lián)網(wǎng)(通常在將視頻壓縮之后)。該方法的不利之處在于當回 放3D游戲序列時,用戶限于僅從觀看點(序列從該觀看點被記錄)來觀看序列。換言之, 用戶不可改變場景的觀看點。另外,當經(jīng)由互聯(lián)網(wǎng)而使在家庭PC或游戲控制臺上播放的記錄的游戲序列的經(jīng) 壓縮的視頻為其他用戶可用時,即使視頻是實時壓縮,也不可能實時地將經(jīng)壓縮的視頻上 傳到互聯(lián)網(wǎng)。其原因是因為世界上連接到互聯(lián)網(wǎng)的許多家庭具有高度不對稱的寬帶連接 (例如,DSL及電纜調(diào)制解調(diào)器通常具有比上流帶寬高得多的下流帶寬)。被壓縮的高分辨 率視頻序列常常具有比網(wǎng)絡的上傳帶寬容量高的帶寬,使得其不可能實時上傳。因此,在播 放游戲序列之后(可能幾分鐘或甚至幾小時),在互聯(lián)網(wǎng)上的另一用戶能夠觀看該游戲之 前,將存在顯著延遲。盡管該延遲在特定情形下(例如,觀看在先前時間出現(xiàn)的游戲玩家的 成果)可容忍,但其消除了觀看游戲現(xiàn)場直播(例如,由優(yōu)勝玩家玩的籃球錦標賽)的能力 或現(xiàn)場直播地播放游戲時的“即刻重放”能力。另一先前技術(shù)方法允許具有電視接收器的觀看者觀看視頻游戲現(xiàn)場直播,但僅在 電視制作人員的控制下。美國與其他國家中的一些電視頻道提供視頻游戲觀看頻道,其中 電視觀眾能夠在視頻游戲頻道上觀看特定的視頻游戲用戶(例如,參加錦標賽煩人頂級玩 家)。這通過將視頻游戲系統(tǒng)(PC和/或控制臺)的視頻輸出饋送至用于電視頻道的視頻 分配及處理設備中來完成。這正如電視頻道廣播現(xiàn)場直播的籃球比賽時的情況,其中若干 個相機從籃球場周圍的不同角度提供現(xiàn)場直播的饋送。電視頻道接著能夠利用其視頻/音 頻處理及效應設備來操作來自各種視頻游戲系統(tǒng)的輸出。舉例而言,電視頻道可在來自視 頻游戲的視頻之上疊加指示不同玩家的狀態(tài)的文字(正如其可在現(xiàn)場直播的籃球比賽期 間疊加文字),且電視頻道可加錄來自評論員(其可論述在比賽期間出現(xiàn)的動作)的音頻。 另外,可將視頻游戲輸出與記錄游戲的實際玩家的視頻的相機(例如,顯示玩家對游戲的 情緒反應)組合。該方法的一個問題在于必須實時地使所述現(xiàn)場直播的視頻饋送為電視頻道的視 頻分配及處理設備可用,以便使其具有現(xiàn)場直播的廣播的刺激性。然而,如先前所述,當視 頻游戲系統(tǒng)從家庭執(zhí)行時(尤其是當廣播的一部分包括來自正捕獲游戲玩家的真實世界 視頻的相機的現(xiàn)場直播的視頻時),這常常不可能。另外,在錦標賽情形下,所關(guān)注的是家庭 中游戲者可修改游戲及作弊,如先前所述。由于這些原因,電視頻道上的所述視頻游戲廣播 常常配置有聚集于公共位置處(例如,在電視演播室處或在競技場中)的播放器及視頻游 戲系統(tǒng),其中電視制作設備可接受來自多個視頻游戲系統(tǒng)及潛在的現(xiàn)場直播的相機的視頻 饋送。盡管所述先前技術(shù)視頻游戲電視頻道可為電視觀眾提供非常刺激的演出(這是 與現(xiàn)場直播的運動事件同類(例如,與以“運動員”呈現(xiàn)的視頻游戲玩家同類)的體驗,不 僅根據(jù)其在視頻游戲世界中的動作,而且根據(jù)其在真實世界中的動作),但這些視頻游戲系 統(tǒng)常常限于玩家彼此身體上極接近的情形。此外,因為電視頻道被廣播,所以每個被廣播的 頻道僅可顯示由電視頻道的制作人員選擇的一個視頻流。由于這些限制及廣播時間、制作 設備及制作人員的高成本,所述電視頻道通常僅顯示參加頂級錦標賽的頂級玩家。另外,向全部電視觀眾廣播視頻游戲的全屏幕圖像的給定電視頻道每次僅顯示一個視頻游戲。這嚴重地限制電視觀看者的選擇。舉例而言,電視觀看者可能對給定時間顯 示的游戲不感興趣。另一觀看者可能僅對觀看并非由電視頻道在給定時間放映的特定玩家 的游戲播放感興趣。在其他狀況下,觀看者可能僅對觀看內(nèi)行玩家如何處理游戲中的特定 級別感興趣。其他觀看者可能希望控制觀看點(視頻游戲從該觀看點來看),該觀看點不同 于由制作小組等選擇的觀看點。簡言之,電視觀看者在觀看視頻游戲中可能具有無數(shù)的偏 好(即使若干個不同電視頻道可用,電視網(wǎng)絡的特定廣播也不適應所述偏好)。由于所有上 述原因,使得先前技術(shù)視頻游戲電視頻道在向電視觀看者呈現(xiàn)視頻游戲中具有顯著限制。先前技術(shù)視頻游戲系統(tǒng)及應用程序軟件系統(tǒng)的另一缺點在于他們很復雜,且通 常遭受錯誤、崩潰和/或無意識且不需要的行為(統(tǒng)稱“缺陷”)。盡管游戲及應用程序在 發(fā)行之前通常經(jīng)歷除錯及調(diào)諧過程(經(jīng)常稱為“軟件質(zhì)量保證”或SQA),但幾乎不變的是 一旦游戲或應用程序被發(fā)行到領(lǐng)域中的廣大受眾,缺陷就會突然出現(xiàn)。遺憾的是,軟件開發(fā) 商難以在發(fā)行之后識別及追蹤到許多缺陷。軟件開發(fā)商可能難以意識到缺陷。即使當其了 解缺陷時,也可能僅存在其可用于識別是什么引起該缺陷的有限量的信息。舉例而言,用戶 可打電話給游戲開發(fā)商的消費者服務熱線且留下消息,該消息陳述當玩游戲時,屏幕開始 閃爍,接著變成固體藍(solid blue)且PC凍結(jié)。其為SQA小組提供了在追蹤缺陷中有用 的非常少的信息。在線連接的一些游戲或應用程序在特定狀況下有時可提供更多信息。舉 例而言,有時可使用”看門狗”過程來監(jiān)視游戲或應用程序是否“崩潰”??撮T狗過程可收 集游戲或應用程序崩潰時關(guān)于游戲或應用程序過程的狀態(tài)(例如,存儲器堆棧使用狀態(tài)、 游戲或應用程序進展到的程度等)的統(tǒng)計,且接著經(jīng)由互聯(lián)網(wǎng)而將所述信息上傳至SQA小 組。但在復雜游戲或應用程序中,該信息可花費非常長的時間來解密,以便準確地確定在崩 潰時用戶正在進行什么。盡管如此,也不可能確定什么事件序列導致崩潰。與PC及游戲控制臺相關(guān)聯(lián)的又一問題在于其經(jīng)受使消費者極不便利的服務問 題。服務問題也影響PC或游戲控制臺的制造商,因為其通常需要發(fā)送特殊盒子以安全地裝 運破損的PC或控制臺,且因而招致修理的成本(若PC或控制臺處于保修期內(nèi))。游戲或應 用程序軟件出版商也可受處于修理狀態(tài)中的PC和/或控制臺引起的銷售損失(或在線服 務使用)影響。圖 1 說 明 諸 如 Sony Playstation 3、Microsoft Xbox 360 、
NintendoWii 、以Windows為基礎的個人計算機或Apple Macintosh的先前技術(shù)視頻游戲 系統(tǒng)。所述系統(tǒng)中的每一者包括用于執(zhí)行程序碼的中央處理單元(CPU)(通常為用于執(zhí)行 高級圖形操作的圖形處理單元(GPU)),及用于與外部設備及用戶通信的多個形式的輸入/ 輸出(1/0)。為簡單起見,將所述組件顯示為組合在一起為單個單元100。圖1的先前技術(shù) 視頻游戲系統(tǒng)也顯示為包括光學媒體驅(qū)動器104(例如,DVD-ROM驅(qū)動器);用于儲存視頻 游戲程序代碼及數(shù)據(jù)的硬盤驅(qū)動器103 ;用于播放多人游戲、用于下載游戲、補丁、演示或 其他媒體的網(wǎng)絡連接105 ;用于儲存當前正由CPU/GPU 100執(zhí)行的程序碼的隨機存取存儲 器(RAM)IOl ;用于在游戲播放期間接收來自用戶的輸入命令的游戲控制器106 ;及顯示設 備102 (例如,SDTV/HDTV或計算機監(jiān)視器)。圖1中所顯示的先前技術(shù)系統(tǒng)受到若干限制。首先,與RAM 101的存取速度相比 較,光學驅(qū)動器104及硬碟機103往往具有慢得多的存取速度。當直接通過RAM 101工作 時,由于RAM 101通常具有高得多的帶寬且不會受到磁盤機構(gòu)相對長的搜尋延遲的事實,CPU/GPU 100在實踐中可處理比直接從硬盤驅(qū)動器103或光學驅(qū)動器104讀出程序代碼及 數(shù)據(jù)時可能的每秒多邊形數(shù)多得多的每秒多邊形數(shù)。但僅有限量的RAM提供于這些先前技 術(shù)系統(tǒng)中(例如,256-512兆字節(jié))。因此,常常需要“正在載入...”序列,其中RAM 101被 周期性地填充有用于視頻游戲的下一個場景的數(shù)據(jù)。一些系統(tǒng)試圖同時地重迭程序代碼的載入與游戲播放,但這僅可在存在已知序列 的事件時進行(例如,若正沿道路駕駛車,則可在駕駛車的同時載入路旁的正接近的建筑 物的幾何形狀)。對于復雜和/或快速場景改變,此類型的重迭通常不起作用。舉例而言, 在用戶處于戰(zhàn)役進行之中且在那時刻的視圖內(nèi)RAM 101完全被填滿表示對象的數(shù)據(jù)的狀 況下,若用戶將視圖快速地向左移動以觀看當前未載入在RAM 101中的對象,則將導致動 作的不連續(xù)性,因為不存在足夠的時間來將新對象自硬盤驅(qū)動器103或光學媒體104載入 到 RAM 101 中。圖1的系統(tǒng)的另一問題是由于硬盤驅(qū)動器103及光學媒體104的儲存容量的限制 引起。盡管磁盤儲存設備可被制造成有相對較大的儲存容量(例如,500億字節(jié)或500億字 節(jié)以上),但其仍不提供用于在當前視頻游戲中所遇到的特定情況的足夠儲存容量。舉例而 言,如先前所述,英式足球視頻游戲可允許用戶在全世界的許多小組、玩家及運動場當中選 擇。對于每個小組、每個玩家及每個運動場,需要大量紋理映射及環(huán)境映射來特征化世界上 的3D表面(例如,每個小組具有唯一運動衫,每一者需要唯一紋理映射)。用于解決上述后者問題的一個技術(shù)是對于游戲,一旦用戶選擇了紋理及環(huán)境映 射,就預先計算紋理及環(huán)境映射。此可涉及許多計算上密集的過程,包括解壓縮圖像、3D映 射、加陰影、組織數(shù)據(jù)結(jié)構(gòu)等。因此,當視頻游戲執(zhí)行這些計算時,對于用戶可能存在延遲。 減少此延遲的一個方法原則上為最初開發(fā)游戲時執(zhí)行所有這些計算_包括小組、玩家名 冊及運動場的每個排列。游戲的發(fā)行版本因而將包括儲存在光學媒體104上或互聯(lián)網(wǎng)上的 一個或多個服務器上的所有所述經(jīng)預先處理的數(shù)據(jù),當用戶作出選擇時,僅經(jīng)由互聯(lián)網(wǎng)將 用于給定小組、玩家名冊、運動場選擇的選定的預先處理的數(shù)據(jù)下載到硬盤驅(qū)動器103。然 而,作為實際問題,游戲播放中可能的每個排列的該預先載入的數(shù)據(jù)可能輕易地為幾兆兆 字節(jié)(terabyte)的數(shù)據(jù),其遠超過現(xiàn)今的光學媒體設備的容量。此外,用于給定小組、玩家 名冊、運動場選擇的數(shù)據(jù)可能輕易地為幾億字節(jié)的數(shù)據(jù)或幾億字節(jié)以上的數(shù)據(jù)。在家庭網(wǎng) 絡連接的情況下(例如,10Mbps),經(jīng)由網(wǎng)絡連接105下載該數(shù)據(jù)將比在本地計算數(shù)據(jù)花費 更長時間。因此,圖1中所顯示的先前技術(shù)游戲架構(gòu)使用戶在復雜游戲的較大場景轉(zhuǎn)變之間 經(jīng)受顯著延遲。諸如圖1中所顯示的先前技術(shù)方法的先前技術(shù)方法的另一問題在于這些年來, 視頻游戲傾向于變得更高級且需要更多CPU/GPU處理能力。因此,即使采用無限量的RAM, 視頻游戲硬件要求也超過所述系統(tǒng)中可用的處理能力的峰值水平。因此,需要用戶每隔幾 年升級游戲硬件以保持同步(或以較低質(zhì)量水準玩較新游戲)。比以往更高級的視頻游戲 的趨勢的后果為用于家庭用途的玩視頻游戲的機器通常不具經(jīng)濟效益,因為其成本通常 由其可支持的最高性能游戲的要求來確定。舉例而言,可能使用XBox 360來玩類似“戰(zhàn)爭 機器(Gears of War) ”的游戲,該游戲要求高性能的CPU、GPU及幾億字節(jié)的RAM,或者可能 使用XBox 360來玩“吃豆(Pac Man) ”,其為來自20世紀70年代的游戲,其僅需要幾千字
14節(jié)的RAM及非常低性能的CPU。實際上,XBox 360具有同時主機代管許多同時的“吃豆”游 戲的足夠計算能力。在一周的大多數(shù)小時中,通常關(guān)閉視頻游戲機。根據(jù)2006年7月Nielsen(尼爾 森)娛樂對13歲及13歲以上的活躍游戲者的研究,平均起來,活躍游戲者一周中花費十四 個小時或一周中的全部小時的僅12%來玩控制臺視頻游戲。這意味著平均視頻游戲控制臺 在88%的時間內(nèi)閑置,這是昂貴資源的無效率使用。假定視頻游戲控制臺常常是由制造商 來資助以降低購買價格(期望該資助將通過來自未來視頻游戲軟件購買的版稅來賺回), 則這特別有意義。視頻游戲控制臺也造成與幾乎任何消費者電子設備相關(guān)的成本。舉例而言,需要 將系統(tǒng)的電子設備及機構(gòu)容納于外殼中。制造商需要提供服務保證。出售該系統(tǒng)的零售商 需要收取關(guān)于系統(tǒng)的銷售和/或關(guān)于視頻游戲軟件的銷售的利潤。所有這些因素添加視頻 游戲控制臺的成本,該成本必須由制造商來資助、傳遞至消費者,或者由制造商與消費者兩 者來資助。另外,盜版是視頻游戲工業(yè)的較大問題。實際上每個較大視頻游戲系統(tǒng)上所利用 的安全機構(gòu)這些年來已“破裂”,導致視頻游戲的未經(jīng)授權(quán)的復制。舉例而言,Xbox 360安 全系統(tǒng)在2006年7月破裂且用戶現(xiàn)在能夠在線下載非法復本。可下載的游戲(例如,用于 PC或Mac的游戲)特別容易經(jīng)受盜版。在世界的特定區(qū)域(其中盜版管制不強)中,實質(zhì) 上不存在獨立視頻游戲軟件的可行市場,因為用戶可與合法復本一般容易地以成本的非常 小一部分購買盜版復本。而且,在世界的許多地方,游戲控制臺的成本占收入的高百分比, 以致即使盜版受控制,也很少有人可買得起目前技術(shù)狀態(tài)的游戲系統(tǒng)。另外,已使用的游戲的市場減少了視頻游戲業(yè)的收入。當用戶變得對游戲厭倦時, 其可將游戲出售給將游戲轉(zhuǎn)售給其他用戶的店鋪。這種未經(jīng)授權(quán)但普遍的實踐顯著減少 了游戲出版商的收入。類似地,當每隔幾年存在平臺轉(zhuǎn)變時,通常出現(xiàn)大約50%的銷售減 少。這是因為當用戶知道即將發(fā)行較新版本的平臺時,用戶停止購買用于較舊平臺的游戲 (例如,當即將發(fā)行Playstation 3時,用戶停止購買Playstation 2游戲)。組合起來,銷 售的損失及與新平臺相關(guān)的增加的開發(fā)成本可對游戲開發(fā)商的收益性有非常顯著的不利 影響。新游戲控制臺也非常昂貴。Xbox360、Nintendo Wii 及 Sony Playstation 3 均 以數(shù)百美元零售。高能力的個人計算機游戲系統(tǒng)可花費高達$8000。這表示用戶的顯著投 資,具體來說,考慮到硬件在幾年后變陳舊及許多系統(tǒng)是為孩子而購買的事實。上述問題的一個方法是在線游戲,其中將游戲程序代碼及數(shù)據(jù)主機代管于服務器 上且按要求將其傳送至客戶端機器,經(jīng)壓縮的視頻及音頻經(jīng)由數(shù)字寬帶網(wǎng)絡而流動。一些 公司(諸如,芬蘭的G-ClusteHG-群集公司),其現(xiàn)在為日本的SOFTBANK Broadmedia(軟 銀寬媒)的子公司)當前在線提供所述服務。類似游戲服務變得在本地網(wǎng)絡(諸如,旅館 內(nèi)及由DSL及電纜電視提供者提供的那些網(wǎng)絡)中可用。這些系統(tǒng)的較大缺點是延時的問 題,也即,信號行進到游戲服務器及從游戲服務器行進所花費的時間,游戲服務器通常定位 在運營商的“前端”中??焖賱幼饕曨l游戲(也稱為“極速(twitch)”視頻游戲)在用戶 通過游戲控制器執(zhí)行動作的時間與更新顯示屏幕以顯示用戶動作的結(jié)果的時間之間需要 非常低的延時。需要低延時,以使得用戶感覺到游戲“即刻地”響應??梢曈螒虻念愋图坝?br>
15戶的熟練程度而以不同延時間隔來滿足用戶。舉例而言,對于緩慢的非正式游戲(類似西 洋雙陸棋)或慢動作角色扮演游戲而言,100毫秒的延時可能是可容忍的,但在快動作游戲 中,超過70毫秒或80毫秒的延時可引起用戶在游戲中更拙劣地表現(xiàn),且因此不可接受。舉 例而言,在需要快反應時間的游戲中,當延時自50毫秒增加至100毫秒時,存在準確度的銳 降。當游戲或應用服務器安裝在附近的受控網(wǎng)絡環(huán)境或至用戶的網(wǎng)絡路徑可預測和/ 或可容忍帶寬峰值的網(wǎng)絡環(huán)境中時,在最大延時以及延時的一致性方面,控制延時容易得 多(例如,因此用戶經(jīng)由網(wǎng)絡觀察到來自數(shù)字視頻流動的穩(wěn)定運動)。該程度的控制可在以 下達成在電纜TV網(wǎng)絡前端到電纜TV用戶的家庭之間,或自DSL中央辦公室至DSL用戶的 家庭,或在來自服務器或用戶的商業(yè)辦公室區(qū)域網(wǎng)絡(LAN)環(huán)境中。而且,有可能獲得商業(yè) 之間的具有得到保證的帶寬及延時的特定分級的點到點私用連接。但在將游戲主機代管于 連接到通用互聯(lián)網(wǎng)的服務器中心中且接著經(jīng)由寬帶連接而使經(jīng)壓縮的視頻流動(stream) 到用戶的游戲或應用系統(tǒng)中,許多因素造成延時,導致先前技術(shù)系統(tǒng)的部署中的嚴重限制。在典型的連接寬帶的家庭中,用戶可具有用于寬帶服務的DSL或電纜調(diào)制解調(diào) 器。所述寬帶服務通常造成用戶的家庭與通用互聯(lián)網(wǎng)之間的多達25毫秒的來回行程延時 (且有時更多)。另外,存在由于經(jīng)由互聯(lián)網(wǎng)將數(shù)據(jù)路由到服務器中心而造成的來回行程延 時。經(jīng)由互聯(lián)網(wǎng)的延時基于給出數(shù)據(jù)的路線及數(shù)據(jù)被路由時數(shù)據(jù)所造成的延遲而改變。除 路由延遲之外,還由于光穿過使大多數(shù)互聯(lián)網(wǎng)互連的光纖的速度而造成來回行程延時。舉 例而言,對于每1000英里,由于光穿過光纖的速度及其他耗用而造成約22毫秒的來回行程 延時。額外延時可由于經(jīng)由互聯(lián)網(wǎng)流動的數(shù)據(jù)的數(shù)據(jù)速率而造成。舉例而言,若用戶具 有以“6Mbps DSL服務”出售的DSL服務,則在實踐中,用戶將很可能最多得到小于5Mbps 的下行輸送量,且將可能周期性地看見由于各種因素(諸如,峰值載入時間期間在數(shù)字用 戶線接入復用器(DSLAM)處的擁擠)產(chǎn)生的連接降級。若經(jīng)由相鄰者循環(huán)的本地共用同軸 電纜中存在擁擠或電纜調(diào)制解調(diào)器系統(tǒng)網(wǎng)絡中的其他地方存在擁擠,則類似問題可出現(xiàn), 從而將用于以“6Mbps電纜調(diào)制解調(diào)器服務”出售的連接的電纜調(diào)制解調(diào)器的數(shù)據(jù)速率減 小至遠小于該數(shù)據(jù)速率。若使4Mbps的穩(wěn)定速率下的數(shù)據(jù)分組以用戶數(shù)據(jù)報協(xié)議(UDP)格 式單向地從服務器中心經(jīng)由所述連接而流動,若一切都適當?shù)毓ぷ?,則數(shù)據(jù)分組將通過而 不造成額外延時,但若存在擁擠(或其他妨礙)且僅3. 5Mbps可用于使數(shù)據(jù)流動到用戶,則 在典型情形下,包將被丟棄,導致丟失數(shù)據(jù),或者分組將在擁擠點處排隊直至它們可被發(fā)送 為止,從而引入了額外延時。不同擁擠點具有用于保存被延遲的分組的不同隊列容量,因此 在一些狀況下,立即將不可成功解決擁擠的分組丟棄。在其他狀況下,將幾百萬比特的數(shù)據(jù) 排隊且最終將其發(fā)送。但是,在幾乎所有狀況下,擁擠點處的排隊具有容量限制,且一旦超 過該限制,隊列將溢出且分組將被丟棄。因此,為了避免造成額外延時(或更糟地,分組丟 失),必須避免超過從游戲或應用服務器到用戶的數(shù)據(jù)速率容量。還由于在服務器中壓縮視頻及在客戶端設備中解壓縮視頻所需的時間而造成延 時。當在服務器上執(zhí)行的視頻游戲正在計算待顯示的下一個幀時,進一步造成延時。當前可 用的視頻壓縮算法受到高數(shù)據(jù)速率或高延時。舉例而言,運動JPEG為僅幀內(nèi)有損的壓縮算 法,該壓縮算法特征為低延時。視頻的每個幀獨立于視頻的每個其他幀而壓縮。當客戶端設備接收經(jīng)壓縮的運動JPEG視頻的一個幀時,其可立即解壓縮該幀且顯示該幀,從而導致 非常低的延時。但因為每個幀分開進行壓縮,所以算法不能夠利用連續(xù)幀之間的類似性,且 因此僅幀內(nèi)視頻壓縮算法受到非常高俄數(shù)據(jù)速率。舉例而言,60fps (每秒幀數(shù))640X480 運動JPEG視頻可能需要40Mbps (每秒百萬比特)或40Mbps (每秒百萬比特)以上的數(shù)據(jù)。 用于所述低分辨率視頻窗的所述高數(shù)據(jù)速率在許多寬帶應用程序中將是過于昂貴的(且 對于大多數(shù)消費者的基于互聯(lián)網(wǎng)的應用程序的確如此)。另外,因為每個幀經(jīng)獨立壓縮,所 以可能由于有損壓縮而產(chǎn)生的幀中的假影可能出現(xiàn)于連續(xù)幀中的不同位置處。這可導致當 解壓縮視頻時,在觀看者看來為移動的視覺假影。其他壓縮算法(諸如,來自Microsoft公司的MPEG2、H. 264或VC9)當用于先前技 術(shù)的配置中時,可實現(xiàn)高壓縮比率,但以高延時為代價。所述算法利用幀間壓縮以及幀內(nèi)壓 縮。周期性地,所述算法執(zhí)行幀的僅幀內(nèi)壓縮。這種幀被稱為關(guān)鍵幀(通常稱作“I”幀)。 接著,該算法通常將I幀與先前幀與相繼幀兩者相比較。并非獨立地壓縮先前幀及相繼幀, 而是算法確定圖像從I幀到先前幀及相繼幀有什么改變,且接著將該改變儲存為“B”幀 (對于I幀之前的改變)及“P”幀(對于I幀之后的改變)。這導致比僅幀內(nèi)壓縮低得多 的數(shù)據(jù)速率。但是,其通常以較高延時為代價。I幀通常比B幀或P幀大得多(常常大10 倍),且因此,以給定數(shù)據(jù)速率傳輸成比例地花費較長的時間??紤](例如)一個i情形其中I幀為B幀及P幀的大小的10倍,且對于每個單 個I幀內(nèi),存在29個B幀+30個P幀=59個幀間,或?qū)τ诿總€“幀群”(GOP)總共60個幀。 因此,在60fps下,每秒存在1個60幀G0P。假設傳輸信道具有2Mbps的最大數(shù)據(jù)速率。為 了在信道中達成最高質(zhì)量的視頻,壓縮算法將產(chǎn)生2Mbps數(shù)據(jù)流,且給定上述比率,這將產(chǎn) 生每幀內(nèi)2百萬比特(Mb)/(59+10) = 30,394個比特及每I幀303,935個比特。當通過解 壓縮算法接收經(jīng)壓縮的視頻流時,為了穩(wěn)定地播放視頻,需要以規(guī)則間隔(例如,60fps)解 壓縮及顯示每個幀。為了實現(xiàn)該結(jié)果,若任何幀受到傳輸延時,則需要將所有幀延遲至少該 延時,因此最糟狀況的幀延時將限定用于每個視頻幀的延時。因為I幀最大,所以I幀引入 最長傳輸延時,且整個I幀將必須在可解壓縮及顯示I幀(或取決于I幀的任何幀間)之 前接收。假定信道數(shù)據(jù)速率為2Mbps,則傳輸I幀將花費303,935/2Mb = 145毫秒。使用傳輸信道的帶寬的大百分比的幀間視頻壓縮系統(tǒng)(如上所述)將由于I幀相 對于幀的平均大小的大的大小而經(jīng)受長延時?;蛘?,換言之,當先前技術(shù)幀間壓縮算法達成 比僅幀內(nèi)壓縮算法低的平均每幀數(shù)據(jù)速率(例如,2Mbps對40Mbps)時,其由于大I幀而仍 遭受高的峰值每幀數(shù)據(jù)速率(例如,303,935*60 = 18. 2Mbps)。但請記住上述分析假定P 幀及B幀均比I幀小得多。盡管這大體成立,但對于具有與先前幀、高運動或場景改變不相 關(guān)的高圖像復雜度的幀,這不成立。在所述情形下,P幀或B幀可變得與I幀一般大(若P 幀或B幀變得比I幀大,則尖端壓縮算法通常將“強制”I幀且用I幀替換P幀或B幀)。因 此,I幀大小的數(shù)據(jù)速率峰值可在任何時刻出現(xiàn)于數(shù)字視頻流中。因此,對于經(jīng)壓縮的視頻, 當平均視頻數(shù)據(jù)速率接近傳輸信道的數(shù)據(jù)速率容量時(經(jīng)常為該狀況,給定對于視頻的高 數(shù)據(jù)速率要求),來自I幀或大的P幀或B幀的高峰值數(shù)據(jù)速率導致高幀延時。當然,上述論述僅特征化由GOP中的大的B幀、P幀或I幀產(chǎn)生的壓縮算法延時。 若使用B幀,則延時將更高。原因是因為在可顯示B幀之前,必須接收B幀之后的所有B幀 及I幀。因此,在諸如BBBBBIPPPPPBBBBBIPPPPP的圖片群(GOP)序列中,其中在每個I幀之前存在5個B幀,只有在接收到隨后的B幀及I幀之后才可由視頻解壓縮器顯示第一 B幀。 因此,若使視頻以60fps (也即,16. 67毫秒/幀)流動,則在可解壓縮第一 B幀之前,不管 信道帶寬如何快,接收五個B幀及I幀將花費16. 67*6 = 100毫秒,且這是僅5個B幀的情 況。具有30個B幀的經(jīng)壓縮的視頻序列相當普遍。此外,在如2Mbps的低信道帶寬下,由 于I幀的大小而引起的延時影響很大程度上增加到由于等待B幀到達而產(chǎn)生的延時影響。 因此,在2Mbps信道上,在大量B幀的情況下,使用先前技術(shù)視頻壓縮技術(shù)超過500毫秒或 500毫秒以上的延時相當容易。若不使用B幀(對于給定質(zhì)量水準,以較低壓縮比率為代 價),則不招致B幀延時,但仍招致上文所描述的由于峰值幀大小而引起的延時。問題恰恰由于許多視頻游戲的性質(zhì)而加重。利用上文所描述的GOP結(jié)構(gòu)的視頻壓 縮算法很大程度上被最佳化以用于連同要用于被動觀看的現(xiàn)場直播的視頻或電影材料一 起使用。通常,相機(真實相機,或者計算機產(chǎn)生的動畫的狀況下的虛擬相機)及場景相對 穩(wěn)定,僅因為若相機或場景太顛簸地來回移動,則視頻或電影材料(a)通常觀看起來令人 不愉快,且(b)若其正被觀看,當相機突然來回顛簸時,觀看者通常不能夠緊密地跟隨該動 作(例如,若相機在拍攝吹滅生日蛋糕上的蠟燭的孩子時被擾動且突然在蛋糕之間來回顛 簸,則觀看者通常集中于孩子及蛋糕上,而不理會相機突然移動時的簡短中斷)。在視頻會 談或視頻電話會議的狀況下,可將相機固持于固定位置中且根本不移動,從而導致根本非 常少的數(shù)據(jù)峰值。但3D高動作視頻游戲通過恒定運動來被特征化(例如,考慮3D競賽,其 中整個幀在競賽的持續(xù)時間中處于快速運動中,或者考慮第一人稱射擊游戲,其中虛擬相 機恒定地顛簸地來回移動)。所述視頻游戲可產(chǎn)生具有大的及頻繁的峰值的幀序列,其中用 戶可能需要清楚地看見在該突然運動期間發(fā)生了什么。因此,在3D高動作視頻游戲中,壓 縮假影遠不可容忍。因此,許多視頻游戲的視頻輸出(由于其性質(zhì))產(chǎn)生具有非常高且頻 繁的峰值的經(jīng)壓縮的視頻流。假定快動作視頻游戲的用戶對于高延時具有小的容忍度,且給定所有上述延時原 因,至今存在對于使視頻在互聯(lián)網(wǎng)上流動的服務器主機代管的視頻游戲的限制。另外,若需 要高度互動性的應用程序被主機代管于通用互聯(lián)網(wǎng)上且使視頻流動,則所述應用程序的用 戶遭受類似限制。所述服務需要網(wǎng)絡配置,其中主機代管服務器直接設置于前端(在電纜 寬帶的狀況下)或中央辦公室(在數(shù)字用戶線(DSL)的狀況下)中,或商業(yè)背景中的LAN內(nèi) (或特別分級的私用連接上),以便控制自客戶端設備至服務器的路線及距離以最小化延 時且可適應峰值而不造成延時。LAN(通常額定在lOOMbps-lGbps)及具有足夠帶寬的租用 線路通常可支持峰值帶寬要求(例如,18Mbps峰值帶寬為100Mbps LAN容量的一小部分)。若進行特殊適應,則峰值帶寬要求也可由住宅寬帶基礎架構(gòu)來適應。舉例而言,在 電纜TV系統(tǒng)上,可為數(shù)字視頻通信給出專用帶寬,該專用帶寬可處理諸如大I幀的峰值。此 外,在DSL系統(tǒng)上,可供應較高速度的DSL調(diào)制解調(diào)器(考慮高峰值),或可供應可處理較高 數(shù)據(jù)速率的特別分級的連接。但是,附接至通用互聯(lián)網(wǎng)的傳統(tǒng)電纜調(diào)制解調(diào)器及DSL基礎 架構(gòu)對于用于壓縮的視頻的峰值帶寬要求而言遠不能容忍。因此,在線服務(將視頻游戲 或應用程序主機代管于距客戶端設備長距離的服務器中心中,且接著經(jīng)由傳統(tǒng)的住宅寬帶 連接經(jīng)由互聯(lián)網(wǎng)而使經(jīng)壓縮的視頻輸出流動)遭受顯著的延時及峰值帶寬要求-尤其對于 需要非常低的延時的游戲及應用程序(例如,第一人稱射擊游戲及其他多用戶、互動式動 作游戲,或需要快響應時間的應用程序)。
根據(jù)下面的詳細描述并根據(jù)附圖可以更完整地理解本公開,然而,所述附圖并不 用來將公開的主題限制到所示特定實施方式中,而只是用作解釋和理解。圖1示出了先前技術(shù)視頻游戲系統(tǒng)的架構(gòu)。圖2a至圖2b示出了根據(jù)一個實施例的高級系統(tǒng)架構(gòu)。圖3示出了用于客戶端與服務器之間的通信的實際的、額定的及所需的數(shù)據(jù)速率。圖4a示出了根據(jù)一個實施例而使用的主機服務及客戶端。圖4b示出了與客戶端與主機服務之間的通信相關(guān)的例示性延時。圖4c示出了根據(jù)一個實施例的客戶端設備。圖4d示出了根據(jù)另一個實施例的客戶端設備。圖4e示出了圖4c中的客戶端設備的實例方塊圖。圖4f示出了圖4d中的客戶端設備的實例方塊圖。圖5示出了可根據(jù)一個實施例而使用的視頻壓縮的一個實例。圖6a示出了可在另一個實施例中使用的視頻壓縮的一個實例。圖6b示出了與傳輸?shù)蛷碗s度、低動作視頻序列相關(guān)的數(shù)據(jù)速率中的峰值。圖6c示出了與傳輸高復雜度、高動作視頻序列相關(guān)的數(shù)據(jù)速率中的峰值。圖7a至圖7b示出了在一個實施例中使用的實例視頻壓縮技術(shù)。圖8示出了在一個實施例中使用的額外實例視頻壓縮技術(shù)。圖9a至圖9c示出了在一個實施例中使用以用于緩解數(shù)據(jù)速率峰值的實例技術(shù)。圖IOa至圖IOb示出了將圖像圖像塊有效地封裝于分組內(nèi)的一個實施例。圖Ila至圖Ild示出了使用前向糾錯技術(shù)的實施例。圖12示出了使用多核心處理單元來進行壓縮的一個實施例。圖13a至圖13b示出了根據(jù)各種實施例的主機服務之間的地理定位及通信。圖14示出了與客戶端與主機服務之間的通信相關(guān)的示例性延時。圖15示出了實例主機服務服務器中心架構(gòu)。圖16示出了包括多個現(xiàn)場直播的視頻窗的用戶接口的一個實施例的實例屏幕拍攝。圖17示出了在選擇特定視頻窗之后的圖16的用戶接口。圖18示出了在將特定視頻窗放大至全屏幕大小之后的圖17的用戶接口。圖19示出了疊加在多人游戲的屏幕上的實例合作用戶視頻數(shù)據(jù)。圖20示出了用于主機服務上的游戲玩家的實例用戶頁面。圖21示出了實例3D互動式廣告。圖22示出了用于自現(xiàn)場直播的表演的表面捕獲產(chǎn)生具有紋理表面的照片般逼真 的圖像的實例步驟序列。圖23示出了允許選擇線性媒體內(nèi)容的實例用戶接口頁面。圖24為示出了在現(xiàn)場直播網(wǎng)頁之前消逝的時間量與連接速度的曲線圖。
19
具體實施例方式在以下描述中列舉了特定細節(jié)(諸如,設備類型、系統(tǒng)配置、通信方法等),以便提 供對本公開的徹底理解。然而,一般本領(lǐng)域的技術(shù)人員應了解,實踐所描述的所述實施例可 能不需要這些特定細節(jié)。圖2a至圖2b提供兩個實施例的高級架構(gòu),其中視頻游戲及軟件應用程序由主機 服務210主機代管且在訂閱服務下由用戶場所211 (注意,“用戶場所”意思是用戶所定位的 無論何處的位置,若使用移動設備則包括室外)處的客戶端設備205經(jīng)由互聯(lián)網(wǎng)206 (或其 他公眾網(wǎng)絡或私用網(wǎng)絡)來存取??蛻舳嗽O備205可為具有至互聯(lián)網(wǎng)的有線或無線連接、 具有內(nèi)部或外部顯示設備222的通用計算機(諸如,以Microsoft Windows或Linux為基 礎的PC或Apple公司的Macintosh計算機),或者其可為將視頻及音頻輸出到監(jiān)視器或電 視機222的諸如機頂盒的專用客戶端設備(具有至互聯(lián)網(wǎng)的有線或無線連接),或者其可為 推測起來具有至互聯(lián)網(wǎng)的無線連接的行動設備。所述設備中的任一者可具有其自身的用戶輸入設備(例如,鍵盤、按鈕、觸摸屏 幕、追蹤板(track pad)或慣性感測棒(inertial-sensing wand)、視頻捕獲相機和/或運 動追蹤相機等),或者其可使用通過有線或無線連接的外部輸入設備221 (例如,鍵盤、鼠 標、游戲控制器、慣性感測棒、視頻捕獲相機和/或運動追蹤相機等)。如下文更詳細描述, 主機服務210包括各種性能水平的服務器(包括具有高能力CPU/GPU處理能力的那些服務 器)。在播放游戲或使用主機服務210上的應用程序期間,家庭或辦公室客戶端設備205 接收來自用戶的鍵盤和/或控制器輸入,且接著其將控制器輸入經(jīng)由互聯(lián)網(wǎng)206傳輸至主 機服務210,主機服務210作為響應來執(zhí)行游戲程序代碼并產(chǎn)生用于游戲或應用程序軟件 的視頻輸出(視頻圖像序列)的相繼幀(例如,若用戶按壓將會指引屏幕上的人物向右移 動的按鈕,則游戲程序接著將產(chǎn)生顯示人物向右移動的視頻圖像序列)。接著使用低延時 視頻壓縮器壓縮該視頻圖像序列,且主機服務210接著經(jīng)由互聯(lián)網(wǎng)206而傳輸?shù)脱訒r視頻 流。家庭或辦公室客戶端設備接著解碼經(jīng)壓縮的視頻流并將經(jīng)解壓縮的視頻圖像再現(xiàn)于監(jiān) 視器或TV上。因此,顯著地減少客戶端設備205的計算及圖形硬件要求??蛻舳?05僅需 要具有用于將鍵盤/控制器輸入轉(zhuǎn)發(fā)到互聯(lián)網(wǎng)206且解碼并解壓縮從互聯(lián)網(wǎng)206所接收的 經(jīng)壓縮的視頻流的處理能力,實際上現(xiàn)今任何個人計算機均能夠在其CPU上以軟件來進行 這些(例如,以約2GHz執(zhí)行的Intel公司雙核CPU能夠解壓縮使用諸如H. 264及Windows 媒體VC9的壓縮器編碼的720p HDTV)。此外,在任何客戶端設備的狀況下,專用芯片也可以 比通用CPU低得多的成本及比通用CPU少得多的電力消耗(諸如,現(xiàn)代PC所需的)來實時 地執(zhí)行用于所述標準的視頻解壓縮。值得注意地,為了執(zhí)行轉(zhuǎn)遞控制器輸入及解壓縮視頻 的功能,家庭客戶端設備205不需要任何專門化的圖形處理單元(GPU)、光學驅(qū)動器或硬盤 驅(qū)動器(諸如,圖1中所顯示的先前技術(shù)視頻游戲系統(tǒng))。隨著游戲及應用程序軟件變得更復雜及更具照片般逼真感,其將需要較高性能的 CPU、GPU、較多RAM,及較大且較快的磁盤驅(qū)動器,且可使主機服務210處的計算能力不斷地 升級,但終端用戶將不需要使家庭或辦公室客戶端平臺205升級,因為將通過給定視頻解 壓縮算法而使家庭或辦公室客戶端平臺205的處理要求對于顯示分辨率及幀速率保持恒 定。因此,圖2a至圖2b中所說明的系統(tǒng)中不存在現(xiàn)今所見的硬件限制及相容性問題。另外,因為游戲及應用程序軟件僅在主機服務210中的服務器中執(zhí)行,所以在用戶的家庭或辦公室(除非另外有條件,否則如本文中所使用的“辦公室”將包括任何非住宅 背景,包括(例如)教室)中決不存在游戲或應用程序軟件的復本(光學媒體的形式,或者 為下載的軟件)。這顯著減輕游戲或應用程序軟件被非法復制(盜版)的可能性,以及減輕 可由游戲或應用程序軟件使用的有價值的數(shù)據(jù)庫被盜版的可能性。實際上,若需要專門化 的服務器(例如,需要非常昂貴的、大的或有噪音的設備)來播放對于家庭或辦公室使用不 可行的游戲或應用程序軟件,則即使獲得游戲或應用程序軟件的盜版復本,其也將不可在 家庭或辦公室中操作。在一個實施例中,主機服務210向設計視頻游戲的游戲或應用程序軟件開發(fā)商 (其大體指代軟件開發(fā)公司、游戲或電影工作室,或游戲或應用程序軟件出版商)220提供 軟件開發(fā)工具,以使得其可設計能夠在主機服務210上執(zhí)行的游戲。所述工具允許開發(fā)商 利用主機服務的特征(所述特征通常在獨立PC或游戲控制臺中將不可用)(例如,快速存 取復雜幾何形狀的非常大的數(shù)據(jù)庫(除非另外有條件,否則“幾何形狀”將在本文中用于指 代限定3D數(shù)據(jù)集的多邊形、紋理、索具、照明、行為及其他組件及參數(shù)))。在該架構(gòu)下,不同商業(yè)模型是可能的。在一個模型下,主機服務210從終端用戶 收取訂閱費用且向開發(fā)商220支付版稅,如圖2a中所顯示。在替代實施中(圖2b中所顯 示),開發(fā)商220直接從用戶收取訂閱費用且向主機服務210支付用于主機代管游戲或應用 程序內(nèi)容的費用。這些基本原理不限于用于提供在線游戲或應用程序主機代管的任何特定 商業(yè)模型。經(jīng)壓縮的視頻特性如先前所論述,在線提供視頻游戲服務或應用程序軟件服務的一個顯著問題在于 延時。70毫秒-80毫秒的延時(自輸入設備被用戶致動(actuate)的時刻到在顯示設備上 顯示響應時的時刻)為用于需要快響應時間的游戲及應用程序的上限。然而,由于大量實 際及物理約束而使得這在圖2a及圖2b中所顯示的架構(gòu)的情況下非常難以達成。如圖3中所指示,當用戶訂閱互聯(lián)網(wǎng)服務時,連接通常額定為到用戶的家庭或辦 公室的標定最大數(shù)據(jù)速率301。取決于提供者的策略及路由設備能力,該最大數(shù)據(jù)速率可或 多或少被嚴格地強制執(zhí)行,但通常由于許多不同原因中的一者而使得實際可用數(shù)據(jù)速率較 低。舉例而言,可能在DSL中央辦公室處或在本地電纜調(diào)制解調(diào)器回路上存在過多網(wǎng)絡通 信通信,或可能在電纜線上存在噪音,從而引起丟棄的分組,或提供者可能建立每用戶每月 最大數(shù)目的比特。當前,用于電纜及DSL服務的最大下行數(shù)據(jù)速率通常在數(shù)百千比特/秒 (Kbps)到30Mbps的范圍內(nèi)。蜂窩式服務通常限于數(shù)百Kbps的下行數(shù)據(jù)。然而,寬帶服務 的速度及訂閱寬帶服務的用戶的數(shù)目將隨著時間而急劇增加。當前,一些分析者估計33% 的美國寬帶用戶具有2Mbps或2Mbps以上的下行數(shù)據(jù)速率。舉例而言,一些分析者預測至 2010年止,超過85%的美國寬帶用戶將具有2Mbps或2Mbps以上的數(shù)據(jù)速率。如圖3中所指示,實際可用最大數(shù)據(jù)速率302可隨著時間而波動。因此,在低延 時、在線游戲或應用程序軟件情況下,有時難以預測用于特定視頻流的實際可用數(shù)據(jù)速率。 若對于特定量的場景復雜度及運動在給定數(shù)目的每秒幀數(shù)(fps)下以給定分辨率(例如, 640X480i60fps)維持給定質(zhì)量水平所需的數(shù)據(jù)速率303升高高于實際可用最大數(shù)據(jù)速率 302 (如通過圖3中的峰值指示),則可出現(xiàn)若干問題。舉例而言,一些互聯(lián)網(wǎng)服務將僅丟棄 分組,從而導致用戶的視頻屏幕上的丟失的數(shù)據(jù)及失真的/丟失的圖像。其他服務將暫時緩沖(也即,排隊)額外分組且以可用數(shù)據(jù)速率將所述分組提供到客戶端,從而導致延時的 增加-對于許多視頻游戲及應用程序而言為不可接受的結(jié)果。最后,一些互聯(lián)網(wǎng)服務提供 者將數(shù)據(jù)速率的增加視為惡意攻擊(諸如,否認服務攻擊(由計算機黑客用以使網(wǎng)絡連接 停用的公知技術(shù))),且將在特定時間周期中切斷用戶的互聯(lián)網(wǎng)連接。因此,本文中所描述的 實施例設法確保用于視頻游戲的所需數(shù)據(jù)速率不會超過最大可用數(shù)據(jù)速率。主機服務架構(gòu)圖4a說明根據(jù)一個實施例的主機服務210的架構(gòu)。主機服務210可位于單個服 務器中心中,或者可跨越多個服務器中心而分散(以為具有比其他者低延時的至特定服務 器中心的路徑的用戶提供低延時連接,以在用戶之間提供負載平衡,且在一或多個服務器 中心出故障的狀況下提供冗余)。主機服務210最終可包括成千上萬個或甚至數(shù)百萬個服 務器402,從而服務非常大的用戶基礎(user base)。主機服務控制系統(tǒng)401提供對主機服 務210的總體控制,且指引路由器、服務器、視頻壓縮系統(tǒng)、計費及帳務系統(tǒng)等。在一個實施 例中,主機服務控制系統(tǒng)401實施在基于Linux的分散式處理系統(tǒng)上,該處理系統(tǒng)綁定到用 于儲存用于用戶信息、服務器信息及系統(tǒng)統(tǒng)計數(shù)據(jù)的數(shù)據(jù)庫的RAID陣列。在上述描述中, 除非歸因于其他特定系統(tǒng),否則由主機服務210實施的各種動作由主機服務控制系統(tǒng)401 來起始及控制。主機服務210包括許多服務器402,諸如當前可從Intel (因特爾公司)、IBM(美 國國際商用機器公司)及Hewlett Packard(惠普公司)及其他者得到的所述服務器?;?者,可將服務器402裝配成定制組件配置,或者最終可將服務器402整合以便將整個服務器 實施為單個芯片。盡管此圖為說明起見而顯示少數(shù)服務器402,但在實際部署中,可能存在 少至一個服務器402或多達數(shù)百萬個或數(shù)百萬個以上服務器402的服務器。服務器402均 可以相同方式配置(作為一些配置參數(shù)的實例,具有相同CPU類型及性能;具有或不具有 GPU,且若具有GPU,則具有相同GPU類型及性能;具有相同數(shù)目的CPU及GPU ;具有相同量及 相同類型/速度的RAM ;及具有相同RAM配置),或服務器402的各種子集可具有相同配置 (例如,25%的服務器可以一個特定方式配置,50%的服務器以不同方式配置,且25%的服 務器以又一個方式配置),或每個服務器402可不同。在一個實施例中,服務器402無磁盤,也即,并非具有其自身的本地大容量儲存器 (其為光學或磁性儲存器,或者基于半導體的儲存器,諸如閃存或服務類似功能的其他大 容量儲存裝置),每一個服務器經(jīng)由快速底板或網(wǎng)絡連接而存取共用的大容量儲存器。在 一個實施例中,該快速連接為連接到獨立冗余磁盤陣列(RAID)405系列的儲存區(qū)域網(wǎng)絡 (SAN)403,在使用超高速以太網(wǎng)實施的設備之間具有連接。如本領(lǐng)域的技術(shù)人員已知的, SAN 403可用于將許多RAID陣列405組合在一起,從而導致極高的帶寬_接近或可能超過 可自用于當前游戲控制臺及PC中的RAM得到的帶寬。此外,盡管基于諸如磁性媒體的旋轉(zhuǎn) 媒體的RAID陣列經(jīng)常具有顯著的搜尋時間存取延時,但基于半導體儲存器的RAID陣列可 實施為具有低得多的存取延時。在另一配置中,一些或所有服務器402在本地提供一些或 所有其自身的大容量儲存器。舉例而言,服務器402可將頻繁存取的信息(諸如,其操作 系統(tǒng)及視頻游戲或應用程序的復本)儲存在基于低延時本地閃存的儲存器上,但其可利用 SAN來存取基于旋轉(zhuǎn)媒體的具有較高搜尋延時的RAID陣列405,以較不頻繁地存取幾何形 狀或游戲狀態(tài)信息的大數(shù)據(jù)庫。
另外,在一個實施例中,主機服務210使用下文詳細描述的低延時視頻壓縮邏輯 404。視頻壓縮邏輯404可以軟件、硬件或其任何組合來實施(下文描述其特定實施例)。 視頻壓縮邏輯404包括用于壓縮音頻以及視覺材料的邏輯。在操作中,當經(jīng)由鍵盤、鼠標、游戲控制器或其他輸入設備421而玩視頻游戲或使 用用戶場所211處的應用程序時,客戶端415上的控制信號邏輯413將表示由用戶促使的 按鈕按壓(及其他類型的用戶輸入)的控制信號406a-b(通常為UDP分組的形式)傳輸 到主機服務210。將來自給定用戶的控制信號路由到適當服務器(或若多個服務器響應于 用戶的輸入設備,則路由至多個服務器)402。如圖4a中所說明,可經(jīng)由SAN而將控制信號 406a路由至服務器402??商鎿Q地或另外,可經(jīng)由主機服務網(wǎng)絡(例如,基于以太網(wǎng)的區(qū)域 網(wǎng)絡)而將控制信號406b直接路由至服務器402。不管控制信號406a-b是如何被傳輸,該 或所述服務器均響應于控制信號406a_b而執(zhí)行游戲或應用程序軟件。盡管圖4a中未說明, 但各種網(wǎng)絡連接組件(諸如,防火墻和/或網(wǎng)關(guān))可處理主機服務210的邊緣處(例如,主 機服務210與互聯(lián)網(wǎng)410之間)和/或用戶場所211的邊緣處(互聯(lián)網(wǎng)410與家庭或辦公 室客戶端415之間)的傳入及傳出的通信。所執(zhí)行的游戲或應用程序軟件的圖形及音頻輸 出(也即,新的視頻圖像序列)提供至低延時視頻壓縮邏輯404,低延時視頻壓縮邏輯404 根據(jù)低延時視頻壓縮技術(shù)(諸如,本文中所描述的所述技術(shù))而壓縮視頻圖像序列且經(jīng)由 互聯(lián)網(wǎng)410(或,如下文所描述,經(jīng)由繞過通用互聯(lián)網(wǎng)的最佳高速網(wǎng)絡服務)而將經(jīng)壓縮的 視頻流(通常具有經(jīng)壓縮或未經(jīng)壓縮的音頻)傳輸回至客戶端415。接著,客戶端415上的 低延時視頻解壓縮邏輯412解壓縮視頻及音頻流并再現(xiàn)經(jīng)解壓縮的視頻流,且通常在顯示 設備422上播放經(jīng)解壓縮的音頻流?;蛘?,可在與顯示設備422分開的揚聲器上播放音頻 或根本不播放音頻。注意,盡管輸入設備421及顯示設備422在圖2a及圖2b中顯示為獨 立式設備,但其可集成在諸如便攜式計算機或行動設備的客戶端設備內(nèi)。家庭或辦公室客戶端415 (先前在圖2a及圖2b中描述為家庭或辦公室客戶端 205)可為非常低廉且低能力的設備,其具有非常有限的計算或圖形性能且可能具有非常 有限的本地大容量儲存器或不具有本地大容量儲存器。相比之下,耦合至SAN 403及多個 RAID 405的每一個服務器402可為格外高性能的計算系統(tǒng),且實際上,若多個服務器以并 列處理配置合作地使用,則幾乎不存在對可承受的計算量及圖形處理能力的限制。此外,由 于低延時視頻壓縮404及低延時視頻解壓縮412(由用戶感知地),所以將服務器402的計 算能力提供給用戶。當用戶按壓輸入設備421上的按鈕時,顯示器422上的圖像被響應于 按鈕按壓而更新(在感知上無有意義的延遲),好像游戲或應用程序軟件在本地執(zhí)行。因 此,對于為非常低性能的計算機或只是實施低延時視頻解壓縮及控制信號邏輯413的低廉 芯片的家庭或辦公室客戶端415,自看來在本地可用的遠程位置有效地為用戶提供任意計 算能力。此為用戶給出用于玩最高級、處理器密集的(通常為新的)視頻游戲及最高性能 的應用程序的能力。圖4c顯示非?;A且低廉的家庭或辦公室客戶端設備465。該設備為根據(jù)圖4a 及圖4b的家庭或辦公室客戶端415的一個實施例。其大約2英寸長。其具有與具有以太 網(wǎng)供電(PoE)的以太網(wǎng)電纜相接口的以太網(wǎng)插孔462,該設備從以太網(wǎng)插孔462得到其電 力及其到互聯(lián)網(wǎng)的連接性。該設備能夠在支持網(wǎng)絡地址轉(zhuǎn)換(NAT)的網(wǎng)絡內(nèi)執(zhí)行NAT。在 辦公室環(huán)境中,許多新的以太網(wǎng)交換器具有PoE且將PoE直接帶到辦公室中的以太網(wǎng)插孔。
23在此種情形下,所需的為從壁式插孔到客戶端465的以太網(wǎng)電纜。若可用的以太網(wǎng)連接不 運輸電力(例如,在具有DSL或電纜調(diào)制解調(diào)器但無PoE的家庭中),則存在可用的低廉的 壁式“磚塊(brick),,(也即,電源),其將接受無電力的以太網(wǎng)電纜且輸出具有PoE的以太 網(wǎng)??蛻舳?65含有耦合至藍牙無線接口的控制信號邏輯413 (圖4a),該藍牙無線接 口與諸如鍵盤、鼠標、游戲控制器和/或麥克風和/或耳機的藍牙輸入設備479相接口。而 且,客戶端465的一個實施例在與顯示設備468耦合的情況下能夠以120fps輸出視頻,顯 示設備468能夠支持120fps視頻且向一對遮光眼鏡466發(fā)信號(通常經(jīng)由紅外)以對于 每個相繼幀交替地遮蔽一只眼接著遮蔽另一只眼。用戶所感覺的效果為“跳出”顯示屏幕 的立體3D圖像。支持該操作的一種該顯示設備468為Samsung HL-T5076S。因為用于每一 只眼的視頻流是單獨的,所以在兩個獨立視頻流由主機服務210壓縮的一個實施例中,幀 在時間上交錯,且?guī)诳蛻舳?65內(nèi)以兩個獨立解壓縮過程來解壓縮??蛻舳?65也含有低延時視頻解壓縮邏輯412,其解壓縮傳入的視頻及音頻且經(jīng) 由HDMI (高清晰度多媒體接口 )、連接器463輸出,HDMI (高清晰度多媒體接口 )、連接器463 插入到SDTV (標準清晰度電視)或HDTV (高清晰度電視)468中,從而向TV提供視頻及音 頻,或插入到支持HDMI的監(jiān)視器468中。若用戶的監(jiān)視器468不支持HDMI,則可使用HDMI 至DVI (數(shù)字視覺接口),但音頻將丟失。在HDMI標準下,顯示能力(例如,所支持的分辨 率,幀速率)464從顯示設備468表達,且接著經(jīng)由互聯(lián)網(wǎng)連接462將該信息傳回到主機服 務210,因此主機服務210可使經(jīng)壓縮的視頻以適合于該顯示設備的格式流動。圖4d顯示家庭或辦公室客戶端設備475,除了客戶端設備475具有更多外部接口 之外,其與圖4c中所顯示的家庭或辦公室客戶端設備465相同。而且,客戶端475可接受 PoE來供電,或者其可占用插入墻壁中的外部電源適配器(未圖示)。視頻相機477使用客 戶端475USB輸入將經(jīng)壓縮的視頻提供到客戶端475,經(jīng)壓縮的視頻由客戶端475上傳到主 機服務210以用于下文所描述的用途。將利用下文所描述的壓縮技術(shù)將低延時壓縮器創(chuàng)建 到相機477中。除具有用于其互聯(lián)網(wǎng)連接的以太網(wǎng)連接器之外,客戶端475還具有到互聯(lián)網(wǎng)的 802. Ilg無線接口。兩種接口均能夠在支持NAT的網(wǎng)絡內(nèi)使用NAT。而且,除具有用于輸出視頻及音頻的HDMI連接器之外,客戶端475還具有雙鏈接 DVI-I連接器,雙鏈接DVI-I連接器包括模擬輸出端(且具有將提供VGA輸出的標準適配器 電纜)。其還具有用于復合視頻及S視頻的模擬輸出端。對于音頻,客戶端475具有左/右模擬立體RCA插孔,且對于數(shù)字音頻輸出,其具 有T0SLINK (光纖)輸出端。除了到輸入設備479的藍牙無線接口之外,其還具有用于接口到輸入設備的USB 插孔。圖4e顯示客戶端465的內(nèi)部架構(gòu)的一個實施例。該圖中所顯示的所有設備或一 些設備可實施在場可程序化邏輯陣列、定制ASIC中或若干個離散設備(定制設計或者現(xiàn)成 的)中。具有PoE的以太網(wǎng)497附接到以太網(wǎng)接口 481。電力499才具有PoE的以太網(wǎng)497 得到且連接到客戶端465中的其余設備??偩€480為用于設備之間的通信的公同總線。
執(zhí)行來自閃存476的小客戶端控制應用程序的控制CPU 483 (幾乎任何小CPU都 是適當?shù)?,諸如具有嵌入式RAM的IOOMHz下的MIPS R4000系列CPU)實施用于網(wǎng)絡(也即, 以太網(wǎng)接口)的協(xié)議棧且還與主機服務210通信,并配置客戶端465中的所有設備。其還 處理與輸入設備469的接口并將分組(必要時,連同受前向糾錯保護的用戶控制器數(shù)據(jù)一 起)發(fā)送回至主機服務210。而且,控制CPU 483監(jiān)視分組通信(例如,分組是丟失還是延 遲,以及其到達的時間戳)。將此信息發(fā)送回至主機服務210,以使得其可恒定地監(jiān)視網(wǎng)絡 連接且相應地調(diào)整其發(fā)送的內(nèi)容。最初在制造時為閃存476載入用于控制CPU 483的控制 程序以及對于特定客戶端465單元而言唯一的序號。此序號允許主機服務210唯一地識別 客戶端465單元。藍牙接口 484經(jīng)由其天線(在客戶端465內(nèi)部)無線地通信至輸入設備469。視頻解壓縮器486為經(jīng)配置以實施本文中所描述的視頻解壓縮的低延時視頻解 壓縮器。大量視頻解壓縮設備存在,或者為現(xiàn)成產(chǎn)品,或者作為具有可整合在FPGA或定制 ASIC中的設計的知識產(chǎn)權(quán)(IP)。一個提供用于H. 264解碼器的IP的公司為澳大利亞新南 威爾士州(NSWAustralia)的Ocean Logicof Manly。使用IP的優(yōu)點在于本文中所使用 的壓縮技術(shù)與壓縮標準不相符。一些標準解壓縮器足夠靈活以經(jīng)配置以適應本文中的壓縮 技術(shù),但一些標準解壓縮器可能并非如此。但是,在IP的情況下,在視需要而重新設計解壓 縮器中存在完全靈活性。視頻解壓縮器的輸出端耦合至視頻輸出子系統(tǒng)487,視頻輸出子系統(tǒng)487將視頻 耦合至HDMI接口 490的視頻輸出端。音頻解壓縮子系統(tǒng)488或者使用可用的標準音頻解壓縮器來實施,或者其可實施 為IP,或者可在可(例如)實施VorbiS音頻解壓縮器的控制處理器483內(nèi)實施音頻解壓 縮。實施音頻解壓縮的設備耦合到音頻輸出子系統(tǒng)489,音頻輸出子系統(tǒng)489將音頻 耦合至HDMI接口 490的音頻輸出端。圖4f顯示客戶端475的內(nèi)部架構(gòu)的一個實施例。如可見,除額外接口及來自插入 墻壁中的電源適配器的可選外部DC電力(且若如此使用,則可選外部DC電力替換將來自 以太網(wǎng)PoE 497的電力)之外,該架構(gòu)與客戶端465的架構(gòu)相同。下文中將不重復與客戶 端465共同的功能性,但將額外功能性描述如下。CPU 483與額外設備通信且配置額外設備。WiFi子系統(tǒng)482經(jīng)由其天線提供無線互聯(lián)網(wǎng)存取,作為對以太網(wǎng)497的替代。WiFi 子系統(tǒng)可購自多家制造商,包括美國加州的圣克拉拉的AtherosCommunications (阿特赫 魯斯通信公司)。USB子系統(tǒng)485提供對用于有線USB輸入設備479的藍牙通信的替代。USB子系 統(tǒng)相當標準且可容易地用于FPGA及ASIC,且經(jīng)常創(chuàng)建到執(zhí)行如視頻解壓縮的其他功能的 現(xiàn)成設備中。與客戶端465內(nèi)的視頻輸出相比較,視頻輸出子系統(tǒng)487產(chǎn)生較寬范圍的視頻輸 出。除提供HDMI 490視頻輸出之外,其提供DVI-I 491、S-視頻492及合成視頻493。而 且,當DVI-I 491接口用于數(shù)字視頻時,將顯示能力464自顯示設備傳回至控制CPU 483,以 使得其可向主機服務210通知顯示設備478的能力。由視頻輸出子系統(tǒng)487提供的所有接
25口均為相當標準的接口且容易以許多形式可用。音頻輸出子系統(tǒng)489經(jīng)由數(shù)字接口 494(S/PDIF和/或Toslink)數(shù)字地輸出音頻 且經(jīng)由立體模擬接口 495輸出模擬形式的音頻。來回行程延時分析當然,為了實現(xiàn)前一段的利益,用戶使用輸入設備421的動作與在顯示設備420上 看見該動作的后果之間的來回行程延時應不大于70毫秒-80毫秒。此延時必須考慮在自用 戶場所211中的輸入設備421到主機服務210及再次返回到用戶場所211至顯示設備422 的路徑中的所有因素。圖4b說明各種組件及網(wǎng)絡(信號必須經(jīng)由該組件或網(wǎng)絡行進),且 該組件及網(wǎng)絡上方的為時間線,該時間線列出實際實施中可預期的例示性延時。注意,圖4b 經(jīng)簡化以便僅顯示重要路徑路由。下文描述用于系統(tǒng)的其他特征的數(shù)據(jù)的其他路由。雙頭 箭頭(例如,箭頭453)指示來回行程延時且單頭箭頭(例如,箭頭457)指示單向延時,且 “ ”表示近似量測。應指出,將存在所列的延時不可達成的真實世界情形,但在大量狀況 下,在美國,使用至用戶場所211的DSL及電纜調(diào)制解調(diào)器連接,該延時可在下一段中所描 述的情形中達成。而且,注意,盡管至互聯(lián)網(wǎng)的蜂窩式無線連接性的確將在所顯示的系統(tǒng)中 工作,但大多數(shù)當前美國蜂窩式數(shù)據(jù)系統(tǒng)(諸如,EVD0)招致非常高的延時且將不能夠達成 圖4b中所顯示的延時。然而,這些基本原理可在可能能夠?qū)嵤┰撍降难訒r的未來蜂窩式 技術(shù)上實施。自用戶場所211處的輸入設備421開始,一旦用戶致動輸入設備421,就將用戶控 制信號發(fā)送至客戶端415 (其可為諸如機頂盒的獨立設備,或其可為在諸如PC或行動設備 的另一設備中執(zhí)行的軟件或硬件),且將其分組化(在一個實施例中以UDP格式)并為分組 給出目的地地址以到達主機服務210。分組將也含有用于指示控制信號來自哪個用戶的信 息。接著經(jīng)由防火墻/路由器/NAT(網(wǎng)絡地址轉(zhuǎn)換)設備443將控制信號分組轉(zhuǎn)發(fā)到WAN 接口 442。WAN接口 442為由用戶的ISP (互聯(lián)網(wǎng)服務提供者)提供到用戶場所211的接口 設備。WAN接口 442可以是電纜或DSL數(shù)據(jù)機、WiMax收發(fā)器、光纖收發(fā)器、蜂窩式數(shù)據(jù)接 □、電網(wǎng)十辦i^din (InternetProtocol-over-powerline interface), ^ilJSKN 的許多接口中的任何其他接口。另外,可將防火墻/路由器/NAT設備443 (及(可能地) WAN接口 442)整合到客戶端415中。該一個實例將為移動電話,其包括用于實施家庭或辦 公室客戶端415的功能性的軟件,以及用于經(jīng)由某標準(例如,802. Ilg)而無線地路由及連 接到互聯(lián)網(wǎng)的裝置。WAN接口 442接著將控制信號路由至本文中所稱的用于用戶的互聯(lián)網(wǎng)服務提供者 (ISP)的“存在點”441,WAN接口 442為提供連接至用戶場所211的WAN輸送器與通用互聯(lián) 網(wǎng)或私用網(wǎng)絡之間的接口的設施。存在點的特性將視所提供的互聯(lián)網(wǎng)服務的性質(zhì)而改變。 對于DSL,其通常是DSLAM位于的電話公司中央辦公室。對于電纜調(diào)制解調(diào)器,其通常是電 纜多系統(tǒng)運營商(MSO)前端。對于蜂窩式系統(tǒng),其通常是與蜂窩式塔相關(guān)的控制室。但無 論存在點的性質(zhì)怎樣,其均將接著將控制信號分組路由至通用互聯(lián)網(wǎng)410。接著經(jīng)由將最 可能系光纖收發(fā)器接口的接口將控制信號分組路由至WAN接口 444至主機服務210。WAN 444將接著將控制信號分組路由至路由邏輯409 (其可以許多不同方式來實施,包括以太網(wǎng) 交換器及路由服務器),路由邏輯409估計用戶的地址且將控制信號路由至用于給定用戶 的正確的服務器402。
服務器402接著將所述控制信號視為在服務器402上執(zhí)行的游戲或應用程序軟件 的輸入且使用所述控制信號來處理游戲或應用程序的下一個幀。一旦產(chǎn)生下一個幀,就將 視頻及音頻自服務器402輸出至視頻壓縮器404??山?jīng)由各種裝置將視頻及音頻自服務器 402輸出至壓縮器404。首先,可將壓縮器404創(chuàng)建到服務器402中,因此可在服務器402 內(nèi)在本地實施壓縮?;蛘?,可經(jīng)由到網(wǎng)絡(其或者是服務器402與視頻壓縮器404之間的 私用網(wǎng)絡,或者是經(jīng)由諸如SAN 403的共用網(wǎng)絡的網(wǎng)絡)的網(wǎng)絡連接(諸如,以太網(wǎng)連接) 以分組化的形式輸出視頻和/或音頻?;蛘撸山?jīng)由視頻輸出連接器(諸如,DVI或VGA連 接器)將視頻自服務器402輸出,且接著由視頻壓縮器404來捕獲。而且,可將音頻自服務 器402輸出為數(shù)字音頻(例如,經(jīng)由T0SLINK或S/PDIF連接器)或模擬音頻,模擬音頻由 視頻壓縮器404內(nèi)的音頻壓縮邏輯來數(shù)字化并編碼。—旦視頻壓縮器404已捕獲來自服務器402的視頻幀及在該幀時間期間所產(chǎn)生的 音頻,則視頻壓縮器將使用下文所描述的技術(shù)壓縮視頻及音頻。一旦視頻及音頻被壓縮,就 通過一地址將其分組化以將其發(fā)送回至用戶的客戶端415,且將其路由至WAN接口 444,WAN 接口 444接著經(jīng)由通用互聯(lián)網(wǎng)410路由視頻及音頻分組,通用互聯(lián)網(wǎng)410接著將視頻及音 頻分組路由至用戶的ISP的存在點441,存在點441將視頻及音頻分組路由至用戶場所處的 WAN接口 442,WAN接口 442將視頻及音頻分組路由至防火墻/路由器/NAT設備443,防火 墻/路由器/NAT設備443接著將視頻及音頻分組路由至客戶端415??蛻舳?15解壓縮視頻及音頻,且接著在顯示設備422(或客戶端的內(nèi)置顯示設 備)上顯示視頻并將音頻發(fā)送到顯示設備422或到單獨的放大器/揚聲器或到創(chuàng)建到客戶 端中的放大器/揚聲器。為使用戶感覺到剛才所描述的整個過程在感知上沒有滯后,來回行程延遲需要小 于70毫秒或80毫秒。所描述的來回行程路徑中的一些延時延遲受主機服務210和/或用 戶的控制,而其他的延時延遲不受主機服務210和/或用戶的控制。盡管如此,基于大量真 實世界情況的分析及測試,以下為近似量測。用于發(fā)送控制信號的單向傳輸時間451通常小于1毫秒,經(jīng)由用戶場所的來回行 程路由452通常使用以太網(wǎng)上的易得的消費者級防火墻/路由器/NAT交換器而在約1毫 秒內(nèi)完成。用戶ISP廣泛地改變其來回行程延遲453,但在DSL及電纜調(diào)制解調(diào)器提供者 的情況下,通常看見其在10毫秒與25毫秒之間。通用互聯(lián)網(wǎng)410上的來回行程延時可視 頻務被如何路由及路在線是否存在任何故障(且該問題在下文加以論述)而極大地改變, 但通常通用互聯(lián)網(wǎng)提供相當最佳的路由且延時很大程度上由光穿過光纖的速度(給定到 目的地的距離)來確定。如下文進一步論述,已確定1000英里作為期望將主機服務210遠 離用戶場所211置放的大致最遠距離。在1000英里處(來回行程2000英里),用于信號 經(jīng)由互聯(lián)網(wǎng)的實際傳輸時間為約22毫秒。至主機服務210的WAN接口 444通常為具有可 忽略的延時的商業(yè)級光纖高速接口。因此,通用互聯(lián)網(wǎng)延時454通常在1毫秒與10毫秒之 間。經(jīng)由主機服務210的單向路由455延時可在小于1毫秒內(nèi)達成。服務器402通常將在 小于一幀時間(其在60fps下為16. 7毫秒)的時間中計算用于游戲或應用程序的新幀,因 此16毫秒為將使用的合理的最大單向延時456。在本文中所描述的視頻壓縮及音頻壓縮算 法的最佳硬件實施中,壓縮457可在1毫秒內(nèi)完成。在次佳版本中,壓縮可花費多達6毫秒 (當然,更欠佳的版本可花費更長時間,但所述實施將影響來回行程的總延時且將需要其他延時較短(例如,可減小經(jīng)由通用互聯(lián)網(wǎng)的可允許的距離)以維持70毫秒-80毫秒延時目 標)。已經(jīng)考慮互聯(lián)網(wǎng)454、用戶ISP 453及用戶場所路由452的來回行程延時,因此剩余 的為視頻解壓縮458延時,視頻解壓縮458延時取決于視頻解壓縮458是實施于專用硬件 中還是實施于客戶端設備415(諸如,PC或行動設備)上的軟件中,可視顯示器的大小及解 壓縮CPU的性能而改變。通常,解壓縮458花費1毫秒與8毫秒之間的時間。因此,可通過將在實踐中所見的所有最糟狀況的延時加在一起來確定圖4a中所顯 示的系統(tǒng)的用戶可預期將經(jīng)歷的最糟狀況的來回行程延時。他們是1+1+25+22+1+16+6+8 =80毫秒。此外,實際上,在實踐中(具有下文所論述的防止誤解的說明),此大致為使用 圖4a中所顯示的系統(tǒng)的原型版本(在美國使用現(xiàn)成的Windows PC作為客戶端設備及家庭 DSL及電纜調(diào)制解調(diào)器連接)所見的來回行程延時。當然,優(yōu)于最糟狀況的情況可導致短得 多的延時,但不可依賴其來開發(fā)廣泛使用的商業(yè)服務。為了經(jīng)由通用互聯(lián)網(wǎng)達成圖4b中所列出的延時,需要客戶端415中的視頻壓縮器 404及視頻解壓縮器412 (來自圖4a)產(chǎn)生具有非常特定的特性的分組流,以使得經(jīng)由自主 機服務210至顯示設備422的整個路徑所產(chǎn)生的分組序列不經(jīng)受延遲或過多分組丟失,且 詳言之,始終如一地落在經(jīng)由用戶的互聯(lián)網(wǎng)連接(經(jīng)由WAN接口 442及防火墻/路由器/ NAT 433)而可用于用戶的帶寬的約束內(nèi)。另外,視頻壓縮器必須產(chǎn)生足夠強健的分組流,以 使得其可容忍在正?;ヂ?lián)網(wǎng)及網(wǎng)絡傳輸中出現(xiàn)的不可避免的分組丟失及分組重排序。低延時視頻壓縮為了完成上述目標,一個實施例采用新的視頻壓縮方法,該方法降低用于傳輸視 頻的延時及峰值帶寬要求。在描述該實施例之前,將關(guān)于圖5及圖6a至圖6b提供對當前 視頻壓縮技術(shù)的分析。當然,若用戶具備足以處理所述技術(shù)所需的數(shù)據(jù)速率的帶寬,則該技 術(shù)可根據(jù)基本原理來使用。注意,本文中不解決音頻壓縮,而是陳述音頻壓縮與視頻壓縮同 時且同步地來實施。滿足用于該系統(tǒng)的要求的先前技術(shù)音頻壓縮技術(shù)存在。圖5說明用于壓縮視頻的一個特定先前技術(shù),其中由壓縮邏輯520使用特定壓縮 算法來壓縮每個個別視頻幀501-503以產(chǎn)生一系列經(jīng)壓縮的幀511-513。該技術(shù)的一個實 施例是“運動JPEG”,其中根據(jù)聯(lián)合圖像專家群(JPEG)壓縮算法基于離散余弦變換(DCT) 來壓縮每一幀??墒褂酶鞣N不同類型的壓縮算法,然而,仍遵守該基本原理(例如,以小波 為基礎的壓縮算法,諸如JPEG-2000)。此類型壓縮的一個問題在于其減小了每個幀的數(shù)據(jù)速率,但其不利用連續(xù)幀之 間的類似性來減小總視頻流的數(shù)據(jù)速率。舉例而言,如圖5中所說明,假定640 X 480 X 24比 特/像素=640*480*24/8/1024 = 900千字節(jié)/幀(KB/幀)的幀速率,則對于給定質(zhì)量的 圖像,運動JPEG可能僅將該流壓縮1/10,從而產(chǎn)生90KB/幀的數(shù)據(jù)流。在60幀/秒下,此 將需要90KB*8比特*60幀/秒=42. 2Mbps的信道帶寬,其對于美國現(xiàn)今幾乎所有的家庭 互聯(lián)網(wǎng)連接而言將為極高的帶寬,且對于許多辦公室互聯(lián)網(wǎng)連接而言為過高的帶寬。實際 上,假定其在此種高帶寬的情況下要求恒定數(shù)據(jù)流,且其將僅服務一個用戶,則即使在辦公 室LAN環(huán)境中,其也將消耗IOOMbps以太網(wǎng)LAN的帶寬的大百分比及支持LAN的負擔沉重的 以太網(wǎng)交換器。因此,當與其他壓縮技術(shù)(諸如下文所描述的那些技術(shù))相比較時,用于運 動視頻的壓縮無效率。此外,使用有損壓縮算法的單個幀壓縮算法(如JPEG及JPEG-2000) 產(chǎn)生在靜止圖像中可能不引人注意的壓縮假影(例如,場景中的密集樹葉內(nèi)的假影可能不呈現(xiàn)為假影,因為眼并不確切地知道密集樹葉應如何呈現(xiàn))。但是,一旦場景在運動中,假影 就可能突出,因為眼偵測到自幀至幀而改變的假影,盡管假影在場景的區(qū)域(在該區(qū)域中, 假影在靜止圖像中可能不引人注意)中。此導致幀序列中的“背景噪音”的感知,該“背景 噪音”的外觀與邊緣模擬TV接收期間可見的“雪花”雜音類似。當然,該類型的壓縮仍可用 于本文中所描述的特定實施例中,但一般而言,為了避免場景中的背景噪音,對于給定感知 質(zhì)量,需要高數(shù)據(jù)速率(也即,低壓縮比率)。其他類型的壓縮(諸如,H. 264,或Windows媒體VC9、MPEG2及MPEG4)在壓縮視頻 流中均更有效,因為其利用連續(xù)幀之間的類似性。這些技術(shù)均依賴于用于壓縮視頻的相同 的一般技術(shù)。因此,盡管將描述H. 264標準,但相同的一般原理適用于各種其他壓縮算法。 大量H. 264壓縮器及解壓縮器可用,包括用于壓縮H. 264的x264開放源軟件庫及用于解壓 縮H. 264的FFmpeg (—種視頻和音頻流方案)開放源軟件庫。圖6a及圖6b說明例示性先前技術(shù)壓縮技術(shù),其中由壓縮邏輯620將一系列未 經(jīng)壓縮的視頻幀501-503,559-561壓縮成一系列“I幀” 611、671 ;“P幀” 612-613 ;及“B 幀” 670。圖6a中的垂直軸大體表示經(jīng)編碼的幀中的每一者的所得大小(盡管所述幀未按 比例進行繪制)。如上所述,本領(lǐng)域的技術(shù)人員良好地理解使用I幀、B幀及P幀的視頻寫 碼。簡言之,I幀611為完全未壓縮的幀501的基于DCT的壓縮(類似于如上所述的經(jīng)壓縮 的JPEG圖像)。P幀612-613的大小通常顯著小于I幀611的大小,因為其利用先前I幀 或P幀中的數(shù)據(jù);也即,其含有指示先前I幀或P幀之間的改變的數(shù)據(jù)。除B幀使用隨后參 考幀中的幀以及(可能地)之前參考幀中的幀之外,B幀670類似于P幀。對于以下論述,將假定所要的幀速率為60幀/秒,每個I幀為約160Kb,平均 P幀及B幀為16Kb且每隔一秒產(chǎn)生一新的I幀。在該組參數(shù)下,平均數(shù)據(jù)速率將為 160Kb+16Kb*59 = 1. 1Mbps。該數(shù)據(jù)速率適當?shù)芈湓谟糜诘郊彝ゼ稗k公室的許多當前寬帶 互聯(lián)網(wǎng)連接的最大數(shù)據(jù)速率內(nèi)。該技術(shù)也傾向于避免來自僅幀內(nèi)編碼的背景噪音問題,因 為P幀及B幀追蹤幀之間的差異,因此壓縮假影傾向于不自幀至幀而呈現(xiàn)及消失,從而減少 上文所描述的背景噪音問題。上述類型的壓縮的一個問題在于盡管平均數(shù)據(jù)速率相對低(例如,1. IMbps),但 單個I幀可能花費若干個幀時間來傳輸。舉例而言,使用先前技術(shù),2. 2Mbps網(wǎng)絡連接(例 如,DSL或電纜調(diào)制解調(diào)器,其具有來自圖3a的最大可用數(shù)據(jù)速率302的2. 2Mbps峰值) 通常將足夠使視頻以1. IMbps流動,每60個幀一個160Kbps的I幀。這將通過使解壓縮器 在解壓縮視頻之前將1秒視頻排入隊列來完成。在1秒內(nèi),將傳輸1. 1Mb的數(shù)據(jù),其將通過 2. 2Mbps最大可用數(shù)據(jù)速率來容易地適應,即使假定可用數(shù)據(jù)速率可能周期性地下降多達 50%也如此。遺憾地,此先前技術(shù)方法將由于接收器處的1秒視頻緩沖而導致視頻的1秒 延時。此種延遲對于許多先前技術(shù)應用程序(例如,線性視頻的回放)而言足夠,但對于不 可容忍大于70毫秒-80毫秒的延時的快動作視頻游戲而言其為極長的延時。若進行嘗試來消除1秒視頻緩沖,其仍將不會導致用于快動作視頻游戲的足夠延 時減少。舉例而言,如先前所述,B幀的使用將需要接收I幀的前的所有B幀以及I幀。若 假定在P幀與B幀之間大致分裂59個非I幀,則將存在至少29個B幀且可顯示任何B幀 之前所接收的I幀。因此,不管信道的可用帶寬如何,均需要29+1 = 30個幀每一者1/60 秒持續(xù)時間的延遲,或500毫秒的延時。顯而易見,該時間極長。
因此,另一方法將是消除B幀且僅使用I幀及P幀。(其中一個后果是對于給 定質(zhì)量水平,數(shù)據(jù)速率將增加,但出于此實例中的一致性起見,繼續(xù)假定每個I幀的大小為 160Kb且平均P幀的大小為16Kb,且因此數(shù)據(jù)速率仍為1. IMbps)。該方法消除了由B幀引 入的不可避免的延時,因為每個P幀的解碼僅依賴于先前所接收的幀。該方法仍存在的問 題在于1幀比平均P幀大得多,以致在低帶寬信道上(如大多數(shù)家庭中及許多辦公室中典 型的),I幀的傳輸添加實質(zhì)延時。此在圖6b中加以說明。視頻流數(shù)據(jù)速率624低于可用 最大數(shù)據(jù)速率621 (除對于I幀之外),其中I幀所需的峰值數(shù)據(jù)速率623遠超過可用最大 數(shù)據(jù)速率622 (且甚至超過額定最大數(shù)據(jù)速率621)。P幀所需的數(shù)據(jù)速率小于可用最大數(shù)據(jù) 速率。即使在2. 2Mbps的可用最大數(shù)據(jù)速率峰值穩(wěn)定地保持在其2. 2Mbps峰值速率,也將花 費160Kb/2. 2Mb = 71毫秒來傳輸I幀,且若可用最大數(shù)據(jù)速率622下降50% (1. 1Mbps),則 將花費142毫秒來傳輸I幀。因此,傳輸I幀中的延時將落在71毫秒與142毫秒之間的某 處。該延時添加到圖4b中所識別的延時(所述延時在最糟狀況下總計達70毫秒),因此, 這將導致從用戶致動輸入設備421的時刻直到圖像呈現(xiàn)于顯示設備422上的為141-222毫 秒的總來回行程延時,其極高。且若可用最大數(shù)據(jù)速率下降至低于2. 2Mbps,則延時將進一 步增加。還注意到,以遠超過可用數(shù)據(jù)速率622的峰值數(shù)據(jù)速率623使ISP “堵塞”通常存 在嚴重后果。不同ISP中的設備將不同地表現(xiàn),但當以比可用數(shù)據(jù)速率622高得多的數(shù)據(jù) 速率接收分組時,以下行為在DSL及電纜調(diào)制解調(diào)器ISP當中相當普遍(a)通過將分組排 入隊列而使分組延遲(引入延時),(b)丟棄一些或所有分組,(c)將連接停用一時間周期 (最可能因為ISP擔憂其為惡意攻擊,諸如“否認服務”攻擊)。因此,以全數(shù)據(jù)速率傳輸分 組流(具有諸如圖6b中所顯示的所述特性的特性)并非為可行的選項。可在主機服務210 處將峰值623排入隊列且以低于可用最大數(shù)據(jù)速率的數(shù)據(jù)速率進行發(fā)送,從而引入前一段 中所描述的不可接受的延時。另外,圖6b中所顯示的視頻流數(shù)據(jù)速率序列624為非常“馴服的(tame) ”視頻流數(shù) 據(jù)速率序列,且將是由于壓縮來自視頻序列的視頻而預期產(chǎn)生的該種數(shù)據(jù)速率序列,該視 頻序列并不改變很大且具有非常少的運動(例如,如在視頻電話會議中將是普遍的,在視 頻電話會議中,相機處于固定位置中且具有非常少的運動,且場景(例如,就座的人談話) 中的對象顯示較少運動)。圖6c中所顯示的視頻流數(shù)據(jù)速率序列634為從具有多得多的動作的視頻(諸如, 可能在電影或視頻游戲中或在某應用程序軟件中產(chǎn)生)預期可見的典型序列。注意,除I 幀峰值633之外,還存在相當大且在許多場合上超過可用最大數(shù)據(jù)速率的P幀峰值(諸如, 635及636)。盡管所述P幀峰值并不如I幀峰值一般相當大,但其仍極大以致不能由信道 以全數(shù)據(jù)速率來運輸,且如同I幀峰值一樣,P幀峰值必須緩慢地傳輸(借此增加延時)。在高帶寬信道(例如,100Mbps LAN,或高帶寬IOOMbps私用連接)上,網(wǎng)絡將能 夠容忍諸如I幀峰值633或P幀峰值636的大峰值,但原則上,可維持低延時。但是,所述 網(wǎng)絡經(jīng)常在許多用戶當中共用(例如,在辦公室環(huán)境中),且該“有峰”數(shù)據(jù)將影響LAN的 性能,尤其在網(wǎng)絡通信經(jīng)路由至私用共用連接(例如,從遠程數(shù)據(jù)中心到辦公室)的情況 下。首先,記住此實例是60fps下640X480像素的相對低分辨率的視頻流的實例。60fps 下的1920X1080的HDTV流容易由現(xiàn)代計算機及顯示器來處理,且60fps下的2560X1440
30分辨率顯示器日益可用(例如,Apple公司的30"顯示器)。使用H. 264壓縮,60fps下的 1920X1080的高動作視頻序列可能需要4. 5Mbps以獲得合理質(zhì)量水平。若假定I幀峰值為 標定數(shù)據(jù)速率的10倍,則其將產(chǎn)生45Mbps峰值,以及較小但仍相當大的P幀峰值。若若干 個用戶正在同一 IOOMbps網(wǎng)絡(例如,辦公室與數(shù)據(jù)中心之間的私用網(wǎng)絡連接)上接收視 頻流,則容易看見來自若干用戶的視頻流的峰值可如何碰巧對準,從而淹沒網(wǎng)絡的帶寬,且 可能淹沒網(wǎng)絡上支持用戶的交換器的底板的帶寬。即使在超高速以太網(wǎng)的狀況下,若足夠 的用戶具有同時對準的足夠峰值,則其可淹沒網(wǎng)絡或網(wǎng)絡交換器。此外,一旦2560X1440 分辨率視頻變得更常見,平均視頻流數(shù)據(jù)速率就可能為9. 5Mbps,從而或許產(chǎn)生95Mbps峰 值數(shù)據(jù)速率。不用說,數(shù)據(jù)中心與辦公室之間的IOOMbps連接(其在現(xiàn)今為格外快的連接) 將完全被來自單一用戶的峰值通信擊潰。因此,即使LAN及私用網(wǎng)絡連接對有峰流動視頻 可具有更高容忍度,具有高峰值的流動視頻也是不需要的且可能需要辦公室的IT部門的 特殊計劃及適應。當然,對于標準線性視頻應用程序,該問題并不是問題,因為數(shù)據(jù)速率在傳輸點 “經(jīng)平滑化”且用于每一幀的數(shù)據(jù)低于最大可用數(shù)據(jù)速率622,且在解壓縮I幀、P幀及B幀 序列之前,客戶端中的緩沖器儲存I幀、P幀及B幀序列。因此,網(wǎng)絡上的數(shù)據(jù)速率保持接 近于視頻流的平均數(shù)據(jù)速率。很遺憾地,這引入延時,即使不使用B幀,對于諸如需要快響 應時間的視頻游戲及應用程序的低延時應用程序而言,這也是不可接受的。用于減輕具有高峰值的視頻流的一個先前技術(shù)解決方法是使用常常被稱作“恒定 比特速率”(CBR)編碼的技術(shù)。盡管術(shù)語CBR看來似乎暗示將所有幀壓縮以具有相同比特速 率(也即,大小),但其經(jīng)常提及的為壓縮范例,在壓縮范例中,允許跨越特定數(shù)目的幀(在 我們的狀況下,1個幀)的最大比特速率。舉例而言,在圖6c的狀況下,若對編碼施加CBR 約束(其將比特速率限于(例如)額定最大數(shù)據(jù)速率621的70% ),則壓縮算法將限制所 述幀中的每一者的壓縮,以使得通常將使用額定最大數(shù)據(jù)速率621的70%以上來壓縮的任 何幀將以較少比特來壓縮。這個結(jié)果是將使通常將需要更多比特來維持給定質(zhì)量水平的 幀“極度缺乏”比特且所述幀的圖像質(zhì)量將比不需要比額定最大數(shù)據(jù)速率621的70%多的 比特的其他幀的圖像質(zhì)量糟。此方法對于特定類型的經(jīng)壓縮視頻(其中(a)預期較少運動 或場景改變且(b)用戶可接受周期性的質(zhì)量降級)可產(chǎn)生可接受的結(jié)果。適合CBR的應用 的良好實例為視頻電話會議,因為存在較少峰值,且在質(zhì)量暫時降級的情況下(例如,若使 相機掃視,從而導致顯著場景運動及大峰值,則在掃視期間可能不存在足夠的比特用于高 質(zhì)量圖像壓縮,其將導致降級的圖像質(zhì)量),大多數(shù)用戶可接受。很遺憾地,CBR并非良好地 適合具有高復雜度的場景或大量運動和/或需要合理恒定的質(zhì)量水平的許多其他應用。在一個實施例中所使用的低延時壓縮邏輯404使用若干不同技術(shù)來解決流動低 延時經(jīng)壓縮視頻同時維持高質(zhì)量的許多問題。首先,低延時壓縮邏輯404僅產(chǎn)生I幀及P 幀,從而緩解等待若干個幀時間來解碼每個B幀的需要。另外,如圖7a中所說明,在一個實 施例中,低延時壓縮邏輯404將每個未經(jīng)壓縮的幀701-760再分成一系列“圖像塊(tile) ” 且將每個圖像塊個別地編碼為I幀或P幀。在本文中將該群經(jīng)壓縮的I幀及P幀稱作“R 幀”711-770。在圖7a中所顯示的特定實例中,將每個未經(jīng)壓縮的幀再分成4X4矩陣的16 個圖像塊。然而,所述基本原理不限于任何特定再分機制。在一實施例中,低延時壓縮邏輯404將視頻幀劃分成許多圖像塊,且將來自每個
31幀的一個圖像塊編碼(也即,壓縮)為I幀(也即,將該圖像塊壓縮,好像其為全圖像的大 小的1/16的單獨視頻幀,且用于此“迷你型”巾貞的壓縮為I幀壓縮)并將剩余圖像塊編碼為 P幀(也即,用于每個“迷你型” 1/16幀的壓縮為P幀壓縮)。經(jīng)壓縮為I幀的圖像塊及經(jīng) 壓縮為P幀的圖像塊將分別被稱作“I圖像塊”及“P圖像塊”。隨著每個相繼視頻幀而改變 待編碼為I圖像塊的圖像塊。因此,在給定幀時間中,視頻幀中的所述圖像塊中僅一個圖像 塊為I圖像塊,且所述圖像塊中的剩余者為P圖像塊。舉例而言,在圖7a中,未經(jīng)壓縮的幀 701的圖像塊0經(jīng)編碼為I圖像塊IO且剩余的1-15圖像塊經(jīng)編碼為P圖像塊(Pl至P15) 以產(chǎn)生R幀711。在下一個未經(jīng)壓縮的視頻幀702中,未經(jīng)壓縮的幀701的圖像塊1經(jīng)編碼 為I圖像塊Il且剩余的圖像塊0及2至15經(jīng)編碼為P圖像塊(P0,及P2至P15)以產(chǎn)生R 幀712。因此,用于圖像塊的I圖像塊及P圖像塊在相繼幀上逐漸地在時間上交錯。該過 程繼續(xù),直至產(chǎn)生R圖像塊770 (矩陣中最末圖像塊經(jīng)編碼為I圖像塊(也即,115))為止。 該過程接著重新開始,從而產(chǎn)生諸如幀711(也即,對于圖像塊0,編碼I圖像塊)等的另一 個R幀。盡管圖7a中未說明,但在一個實施例中,R幀的視頻序列的第一 R幀僅含有I圖 像塊(也即,以使得隨后的P幀具有參考圖像數(shù)據(jù)(自其開始計算運動))?;蛘?,在一實施 例中,啟動序列使用與正常相同的I圖像塊型樣,但不包括用于尚未連同I圖像塊一起編碼 的所述圖像塊的P圖像塊。換言之,在第一I圖像塊到達之前不連同任何數(shù)據(jù)一起編碼特 定圖像塊,從而避免圖9a中的視頻流數(shù)據(jù)速率934中的啟動峰值,其在下文進一步詳細說 明。此外,如下所述,各種不同大小及形狀可用于所述圖像塊同時仍遵守所述基本原理。在客戶端415上執(zhí)行的視頻解壓縮邏輯412解壓縮每個圖像塊,好像其為小I幀 及P幀的單獨視頻序列,且接著將每個圖像塊再現(xiàn)給驅(qū)動顯示設備422的幀緩沖器。舉例 而言,使用來自R幀711至770的IO及PO來解壓縮并再現(xiàn)視頻圖像的圖像塊0。類似地, 使用來自R幀711至770的Il及Pl來重建圖像塊1,等等。如上所述,I幀及P幀的解壓 縮是這項技術(shù)中眾所熟知的,且I圖像塊及P圖像塊的解壓縮可通過使視頻解壓縮器的多 個執(zhí)行個體在客戶端415上執(zhí)行來完成。盡管倍增過程看來似乎增加客戶端415上的計算 負擔,但實際上其不會增加客戶端415上的計算負擔,因為圖像塊本身成比例地較小(相對 于額外處理的數(shù)目而言),因此所顯示的像素的數(shù)目相同,好像存在一個處理且使用傳統(tǒng)的 全大小的I幀及P幀。該R幀技術(shù)顯著減輕通常與I幀相關(guān)聯(lián)的帶寬峰值(圖6b及圖6c中所說明),因 為任何給定幀主要是由通常比I幀小的P幀構(gòu)成。舉例而言,再次假定典型I幀為160Kb, 則圖7a中所說明的幀中的每一者的I圖像塊將為該量的大致1/16或10Kb。類似地,假定 典型P幀為16Kb,則用于圖7a中所說明的圖像塊中的每一者的P幀可為大致1Kb。最終結(jié) 果為約10Kb+15*lKb = 25Kb的R幀。因此,每一 60幀序列將是25Kb*60 = 1. 5Mbps。因 此,在60幀/秒下,這將需要能夠維持1. 5Mbps的帶寬的信道,但由于I圖像塊是貫穿60 幀間隔而分散而使得具有低得多的峰值。注意,在先前實例中,在用于I幀及P幀的相同假定數(shù)據(jù)速率情況下,平均數(shù)據(jù)速 率為1. 1Mbps。這是因為在先前實例中,每隔60個幀時間僅引入新I幀,而在此實例中,構(gòu) 成I幀的16個圖像塊在16個幀時間中循環(huán),且因此,每隔16個幀時間引入I幀的均等物, 從而導致稍高的平均數(shù)據(jù)速率。盡管如此,但在實踐中,引入更頻繁的I幀并不會線性地增 加數(shù)據(jù)速率。這是由于以下事實P幀(或P圖像塊)主要編碼自先前幀至下一個幀的差異。因此,若先前幀與下一個幀相當類似,則P幀將非常小,若先前幀與下一個幀相當不同, 則P幀將非常大。但因為P幀很大程度上是自先前幀導出,而非自實際幀導出,所以所得的 經(jīng)編碼幀可能含有比具有足夠數(shù)目的比特的I幀多的錯誤(例如,視覺假影)。此外,當一 個P幀跟隨另一 P幀時,可出現(xiàn)錯誤累加(當存在長P幀序列時,變得更糟)?,F(xiàn)在,尖端的 視頻壓縮器將偵測到圖像的質(zhì)量在一序列P幀的后降級的事實,且必要時,其將更多比特 分配給隨后的P幀以提高質(zhì)量,或若其為最有效的動作過程,則用I幀替換P幀。因此,當 使用長P幀序列(例如,59個P幀,如上文先前實例中)時,特定言的當場景具有大量復雜 度和/或運動時,通常,對于P幀而言需要更多比特(因為其變得距I幀更遠)?;蛘撸韵鄬τ^看點看P幀,緊密地跟隨I幀的P幀傾向于需要比距I幀更遠的P 幀少的比特。因此,在圖7a中所顯示的實例中,沒有P幀比距I幀隔開15個幀更遠(在I 幀之前),而在先前實例中,P幀可能從I幀隔開59個幀。因此,在更頻繁的I幀情況下,P 幀較小。當然,確切相對大小將基于視頻流的性質(zhì)而改變,但在圖7a的實例中,若I圖像塊 為10Kb,則P圖像塊的大小平均可為僅0. 75kb,從而導致10Kb+15*0. 75Kb = 21. 25Kb,或在 60幀/秒下,數(shù)據(jù)速率將為21. 25Kb*60 = 1. 3Mbps,或比1. IMbps下的具有I幀隨后跟著 59個P幀的流的數(shù)據(jù)速率高約16%。再一次,用于視頻壓縮的所述兩種方法之間的相對結(jié) 果將視視頻序列而改變,但通常,我們憑經(jīng)驗發(fā)現(xiàn),對于給定質(zhì)量水平,使用R幀比使用I/P 幀序列需要多約20%的比特。但是,當然,R幀急劇地減少峰值,這使視頻序列在遠小于I/ P幀序列的延時下可用。可視視頻序列的性質(zhì)、信道的可靠性及可用數(shù)據(jù)速率而以多種不同方式來配置R 幀。在替代實施例中,在4X4配置中使用不同于16的數(shù)目的圖像塊。舉例而言,可在2X1 或1X2配置中使用2個圖像塊,可在2X2、4X1或1X4配置中使用4個圖像塊,可在3X2、 2X3、6X1或1X6配置中使用6個圖像塊或可在4X2(如圖7b中所顯示)、2X4、8X 1或 1 X 8配置中使用8個圖像塊。注意,圖像塊不需要為方形,視頻幀也不必為方形,或甚至矩 形。可將圖像塊分解成最佳地適合所使用的視頻流及應用程序的無論什么形狀。在另一實施例中,I圖像塊及P圖像塊的循環(huán)不鎖定到圖像塊的數(shù)目。舉例而言, 在8圖像塊4X2配置中,仍可如圖7b中所說明而使用16循環(huán)序列。順序的未經(jīng)壓縮的幀 721、722、723各自經(jīng)劃分成8個圖像塊0_7,且每個圖像塊被個別壓縮。自R幀731,僅圖 像塊0被壓縮為I圖像塊,且剩余圖像塊被壓縮為P圖像塊。對于隨后的R幀732,所有8 個圖像塊被壓縮為P圖像塊,且接著對于隨后的R幀733,圖像塊1被壓縮為I圖像塊且其 他圖像塊均被壓縮為P圖像塊。此外,如此對于16個幀繼續(xù)進行排序,僅每隔一幀產(chǎn)生一 個I圖像塊,因此在第15個幀時間期間(圖7b中未圖示)及在第16個幀時間期間產(chǎn)生用 于圖像塊7的最末I圖像塊(使用所有的P圖像塊壓縮R幀780)。接著,序列再次以圖像 塊0被壓縮為I圖像塊且其他圖像塊被壓縮為P圖像塊開始。如在先前實施例中,整個視 頻序列的第一幀通常將均為I圖像塊,以提供用于從該點向前的P圖像塊的參考。I圖像 塊及P圖像塊的循環(huán)甚至不需要為圖像塊的數(shù)目的偶倍數(shù)。舉例而言,在8個圖像塊的情 況下,在使用另一 I圖像塊之前,具有一個I圖像塊的每一幀之后可為所有都為P圖像塊的 2個幀。在又一實施例中,若(例如)已知屏幕的特定區(qū)域具有更多運動(需要更頻繁的I 圖像塊),而其他區(qū)域更為靜態(tài)(例如,顯示游戲的分數(shù))(需要較不頻繁的I圖像塊),則 與其他圖像塊相比,可更經(jīng)常地將特定圖像塊連同I圖像塊一起進行排序。此外,盡管在圖7a-圖7b中說明每個幀具有單個I圖像塊,但可在單個幀中編碼多個I圖像塊(取決于傳 輸信道的帶寬)。相反地,特定幀或幀序列可在不具有I圖像塊(也即,僅P圖像塊)的情 況下傳輸。前一段的方法適當起作用的原因在于盡管不具有跨越每個單個幀而分散的I圖 像塊看來似乎導致較大峰值,但系統(tǒng)的行為并不如此簡單。因為每個圖像塊是與其他圖像 塊分開進行壓縮,所以當圖像塊變小時,每個圖像塊的編碼可變得較不有效,因為給定圖像 塊的壓縮器不能夠利用來自其他圖像塊的類似圖像特征及類似運動。因此,與將屏幕劃分 成8個圖像塊相比較,將屏幕劃分成16個圖像塊通常將導致較不有效的編碼。但是,若將 屏幕劃分成8個圖像塊且其引起每隔8個幀(而非每隔16個幀)引入一個完全I幀的數(shù) 據(jù),則其導致總體上高得多的數(shù)據(jù)速率。因此,通過每隔16個幀(而非每隔8個幀)引入 一個完全I幀,減小了總數(shù)據(jù)速率。而且,通過使用8個較大圖像塊(而非16個較小圖像 塊),減小了總數(shù)據(jù)速率,其也將由較大圖像塊引起的數(shù)據(jù)峰值減輕至某種程度。在另一實施例中,圖7a及圖7b中的低延時視頻壓縮邏輯404通過基于待壓縮的 視頻序列的已知特性而通過設定預先配置或者基于每個圖像塊中的圖像質(zhì)量的正在進行 的分析而自動地控制至R幀中的各圖像塊的比特的分配。舉例而言,在一些競賽視頻游戲 中,玩家的汽車(其為場景中相對無運動的)的前方占據(jù)屏幕的下半部的大部分,而屏幕 的上半部完全被填滿正接近的道路、建筑物及風景,其幾乎總是在運動中。若壓縮邏輯404 將相等數(shù)目的比特分配給每個圖像塊,則圖7b中的未經(jīng)壓縮的幀721中的屏幕的下半部 上的圖像塊(圖像塊4-7)通常將以比圖7b中的未經(jīng)壓縮的幀721中的屏幕的上半部中的 圖像塊(圖像塊0-3)高的質(zhì)量而壓縮。若已知該特定游戲或游戲的此特定場景具有所述 特性,則主機服務210的運營商可配置壓縮邏輯404以將更多比特分配給屏幕的頂部的圖 像塊(與分配給屏幕的底部處的圖像塊的比特相比)?;蛘撸瑝嚎s邏輯404可在壓縮幀之 后估計圖像塊的壓縮質(zhì)量(使用許多壓縮質(zhì)量度量中的一者或多者,諸如峰值信號噪音比 (PSNR)),且若確定在特定時間窗上,特定圖像塊始終如一地產(chǎn)生較佳質(zhì)量結(jié)果,則其逐漸 地將更多比特分配給產(chǎn)生較低質(zhì)量結(jié)果的圖像塊,直至各種圖像塊達到類似水平的質(zhì)量為 止。在替代實施例中,壓縮器邏輯404分配比特以在特定圖像塊或圖像塊群中達成較高質(zhì) 量。舉例而言,其可提供較佳的總體感知外觀,以在屏幕的中心具有比邊緣處高的質(zhì)量。在一個實施例中,為了改良視頻流的特定區(qū)域的分辨率,視頻壓縮邏輯404使用 較小圖像塊來編碼視頻流的具有相對多的場景復雜度和/或運動的區(qū)域(與視頻流的具 有相對少的場景復雜度和/或運動的區(qū)域相比)。舉例而言,如圖8中所說明,在一個R幀 811 (可能隨后跟著具有相同圖像塊大小的一系列R幀(未圖示))的一個區(qū)域中的移動人 物805的周圍使用較小圖像塊。接著,當人物805移動至圖像的新區(qū)域時,在另一 R幀812 內(nèi)的此新區(qū)域的周圍使用較小圖像塊,如所說明。如上所述,各種不同大小及形狀可用作 “圖像塊”同時仍遵守所述基本原理。盡管上文所描述的循環(huán)I/P圖像塊實質(zhì)上減小視頻流的數(shù)據(jù)速率中的峰值,但其 并不完全消除峰值,尤其在快速改變或高度復雜的視頻圖像(諸如在電影、視頻游戲及某 一應用程序軟件下出現(xiàn))的狀況下。舉例而言,在突然場景轉(zhuǎn)變期間,復雜幀可能隨后跟著 完全不同的另一復雜幀。即使若干個I圖像塊可領(lǐng)先于場景轉(zhuǎn)變僅幾個幀時間,其在該情 形下也沒有幫助,因為新幀的材料與先前I圖像塊無關(guān)。在這種情形下(及在即使并非一
34切都改變,大量圖像也改變的其他情形下),視頻壓縮器404將確定將許多(若并非所有)P 圖像塊更有效地寫碼為I圖像塊,且所導致的是所述幀的數(shù)據(jù)速率中的非常大的峰值。如先前所論述,其僅為對于大多數(shù)消費者級互聯(lián)網(wǎng)連接(及許多辦公室連接)的 狀況,其僅不可“堵塞”超過圖6c中顯示為622的可用最大數(shù)據(jù)速率以及額定最大數(shù)據(jù)速 率621的數(shù)據(jù)。注意,額定最大數(shù)據(jù)速率621 (例如,“6Mbps DSL”)實質(zhì)上為對于考慮購買 互聯(lián)網(wǎng)連接的用戶的銷售數(shù)字,但通常其不保證性能水平。出于該應用的目的,其是不相關(guān) 的,因為我們僅關(guān)注經(jīng)由連接使視頻流動時的可用最大數(shù)據(jù)速率622。因此,在圖9a及圖 9c中,當描述對峰值問題的解決方法時,自曲線圖省略額定最大數(shù)據(jù)速率,且僅顯示可用最 大數(shù)據(jù)速率922。視頻流數(shù)據(jù)速率不得超過可用最大數(shù)據(jù)速率922。為了解決此問題,視頻壓縮器404進行的第一件事是確定峰值數(shù)據(jù)速率941,其為 信道能夠穩(wěn)定地處理的數(shù)據(jù)速率。該速率可通過許多技術(shù)來確定。一種該技術(shù)是將越加變 高的數(shù)據(jù)速率測試流自主機服務210逐漸發(fā)送至客戶端415 (圖4a及圖4b中),且使客戶 端將關(guān)于分組丟失及延時的水平的反饋提供至主機服務。當分組丟失和/或延時開始顯示 尖銳增加時,其為達到可用最大數(shù)據(jù)速率922的指示。之后,主機服務210可逐漸地減小測 試流的數(shù)據(jù)速率,直至客戶端415報告在合理的時間周期中已接收到測試流(分組丟失及 延時的可接受水平接近最小)為止。這確定峰值最大數(shù)據(jù)速率941,其接著將用作用于流動 視頻的峰值數(shù)據(jù)速率。隨著時間的推移,峰值數(shù)據(jù)速率941將波動(例如,若家庭中的另一 用戶開始嚴重地使用互聯(lián)網(wǎng)連接),且客戶端415將需要恒定地監(jiān)視峰值數(shù)據(jù)速率941以觀 看分組丟失或延時是否增加(指示可用最大數(shù)據(jù)速率922下降至低于先前所確定的峰值數(shù) 據(jù)速率941),且若如此,則峰值數(shù)據(jù)速率941。類似地,若隨著時間的推移,客戶端415發(fā)現(xiàn) 分組丟失及延時保持在最佳水平,則其可請求視頻壓縮器緩慢地增加數(shù)據(jù)速率以觀看可用 最大數(shù)據(jù)速率是否增加(例如,若家庭中的另一用戶已停止對互聯(lián)網(wǎng)連接的嚴重使用),且 再次等待直至分組丟失和/或較高延時指示已超過可用最大數(shù)據(jù)速率922為止,且可再次 發(fā)現(xiàn)用于峰值數(shù)據(jù)速率941的較低水平,但該較低水平可能高于測試增加的數(shù)據(jù)速率之前 的水平。因此,可通過使用該技術(shù)(及類似其的其他技術(shù))而發(fā)現(xiàn)峰值數(shù)據(jù)速率941,且視 需要而周期性地進行調(diào)整。峰值數(shù)據(jù)速率941確定可由視頻壓縮器404使用以使視頻流動 至用戶的最大數(shù)據(jù)速率。用于確定峰值數(shù)據(jù)速率的邏輯可在用戶場所211處和/或在主機 服務210上加以實施。在用戶場所211處,客戶端設備415執(zhí)行計算以確定峰值數(shù)據(jù)速率 且將此信息傳輸回至主機服務210 ;在主機服務210處,主機服務處的服務器402執(zhí)行計算 以基于自客戶端415所接收的統(tǒng)計數(shù)據(jù)(例如,峰值丟失、延時、最大數(shù)據(jù)速率等)而確定 峰值數(shù)據(jù)速率。圖9a顯示具有實質(zhì)場景復雜度和/或運動的實例視頻流數(shù)據(jù)速率934,其是使用 先前所描述且在圖7a、圖7b及圖8中加以說明的循環(huán)I/P圖像塊壓縮技術(shù)而產(chǎn)生。視頻 壓縮器404經(jīng)配置而以低于峰值數(shù)據(jù)速率941的平均數(shù)據(jù)速率輸出經(jīng)壓縮的視頻,且注意, 大部分時間,視頻流數(shù)據(jù)速率保持低于峰值數(shù)據(jù)速率941。數(shù)據(jù)速率934與圖6c中所顯示 的視頻流數(shù)據(jù)速率634 (其是使用I/P/B或I/P幀而產(chǎn)生)的比較顯示循環(huán)I/P圖像塊壓 縮產(chǎn)生平滑得多的數(shù)據(jù)速率。但在幀2倍峰值952 (其接近2倍峰值數(shù)據(jù)速率942)及幀4 倍峰值954 (其接近4倍峰值數(shù)據(jù)速率944)下,數(shù)據(jù)速率仍超過峰值數(shù)據(jù)速率941,這是不 可接受的。在實踐中,即使對于來自快速改變的視頻游戲的高動作視頻,超過峰值數(shù)據(jù)速率941的峰值也在小于2%的幀中出現(xiàn),超過2倍峰值數(shù)據(jù)速率942的峰值很少出現(xiàn),且超過 3倍峰值數(shù)據(jù)速率943的峰值難得出現(xiàn)。但是,當其確實出現(xiàn)時(例如,在場景轉(zhuǎn)變期間), 其所需的數(shù)據(jù)速率必須產(chǎn)生良好質(zhì)量的視頻圖像。解決此問題的一個方式是簡單地配置視頻壓縮器404以使得其最大數(shù)據(jù)速率輸 出為峰值數(shù)據(jù)速率941。遺憾地,峰值幀期間的所得視頻輸出質(zhì)量不良,因為壓縮算法“極 度缺乏”比特。所導致的為當存在突然轉(zhuǎn)變或快速運動時出現(xiàn)壓縮假影,且及時地,用戶開 始認識到當存在突然改變或快速運動時假影總是突然出現(xiàn),且其可變得相當討厭。盡管人的視覺系統(tǒng)對在突然改變或快速運動期間出現(xiàn)的視覺假影相當敏感,但對 在所述情形下偵測到幀速率的減小并不是非常敏感。事實上,當所述突然改變出現(xiàn)時,看來 似乎人的視覺系統(tǒng)專注于追蹤所述改變,且若幀速率暫時從60fps下降到30fps且接著立 即返回到60fps,則人的視覺系統(tǒng)不會注意到。此外,在非常急劇的轉(zhuǎn)變(如突然場景改變) 的狀況下,若幀速率下降到20fps或甚至15fps且接著立即返回到60fps,則人的視覺系統(tǒng) 不會注意到。只要幀速率減小僅偶爾出現(xiàn),對于人觀察者而言,看來似乎視頻以60fps不斷 地執(zhí)行。通過圖9b中所說明的技術(shù)來利用人的視覺系統(tǒng)的此特性。服務器402 (來自圖4a 及圖4b)以穩(wěn)定幀速率(在一個實施例中,在60fps下)產(chǎn)生未經(jīng)壓縮的視頻輸出流。時 間線顯示每個1/60秒每個幀961-970輸出。自幀961開始,將每個未經(jīng)壓縮的視頻幀輸出 至低延時視頻壓縮器404,低延時視頻壓縮器404在小于一幀時間的時間中壓縮所述幀,產(chǎn) 生用于第一幀的經(jīng)壓縮的幀1981。經(jīng)產(chǎn)生用于經(jīng)壓縮的幀1 981的數(shù)據(jù)可視如先前所描 述的許多因素而較大或較小。若數(shù)據(jù)足夠小以致可以峰值數(shù)據(jù)速率941在一幀時間(1/60 秒)或小于一幀時間內(nèi)將其傳輸至客戶端415,則在傳輸時間(xmit時間)991(指示傳輸時 間的持續(xù)時間的箭頭的長度)期間將其傳輸。在下一個幀時間中,服務器402產(chǎn)生未經(jīng)壓 縮的幀2 962,將其壓縮成經(jīng)壓縮的幀2 982,且在小于一幀時間的傳輸時間992期間以峰 值數(shù)據(jù)速率941將其傳輸至客戶端415。接著,在下一個幀時間中,服務器402產(chǎn)生未經(jīng)壓縮的幀3 963。當由視頻壓縮器 404來壓縮未經(jīng)壓縮的幀3 963時,所得的經(jīng)壓縮的幀3 983為比可以峰值數(shù)據(jù)速率941 在一幀時間中傳輸?shù)臄?shù)據(jù)多的數(shù)據(jù)。因此,在傳輸時間(2倍峰值)993期間將其傳輸,其占 據(jù)所有幀時間及下一個幀時間的一部分。現(xiàn)在,在下一個幀時間期間,服務器402產(chǎn)生另一 未經(jīng)壓縮的幀4964且將其輸出至視頻壓縮器404,但數(shù)據(jù)被忽略且通過974來說明。這是 因為視頻壓縮器404經(jīng)配置以忽略在其仍傳輸先前經(jīng)壓縮的幀時到達的其他未經(jīng)壓縮的 視頻幀。當然,客戶端415的視頻解壓縮器將未能接收到幀4,但其簡單地繼續(xù)在顯示設備 422上顯示幀3歷時2個幀時間(也即,暫時將幀速率自60fps減小至30fps)。對于下一個幀5,服務器402輸出未經(jīng)壓縮的幀5965,將其壓縮成經(jīng)壓縮的幀5985 且在傳輸時間995期間在1幀內(nèi)將其傳輸??蛻舳?15的視頻解壓縮器解壓縮幀5并將其 顯示于顯示設備422上。接著,服務器402輸出未經(jīng)壓縮的幀6966,視頻壓縮器404將其壓 縮成經(jīng)壓縮的幀6986,但此時所得的數(shù)據(jù)非常大。在傳輸時間(4倍峰值)996期間以峰值 數(shù)據(jù)速率941傳輸經(jīng)壓縮的幀,但花費幾乎4個幀時間來傳輸幀。在接下來的3個幀時間期 間,視頻壓縮器404忽略來自服務器402的3個幀,且客戶端415的解壓縮器將幀6穩(wěn)定地 保持在顯示設備422上歷時4個幀時間(也即,暫時將幀速率自60fps減小至15fps)。接著最后,服務器402輸出幀10970,視頻壓縮器404將其壓縮成經(jīng)壓縮的幀10987,且在傳輸 時間997期間將其傳輸,且客戶端415的解壓縮器解壓縮幀10并將其顯示于顯示設備422 上且再一次視頻以60fps重新開始。注意,盡管視頻壓縮器404丟棄了來自由服務器402產(chǎn)生的視頻流的視頻幀,但其 不會丟棄音頻數(shù)據(jù)(不管音頻是以什么形式來的),且當丟棄視頻幀時視頻壓縮器404繼 續(xù)壓縮音頻數(shù)據(jù)并將其傳輸至客戶端415,客戶端415繼續(xù)解壓縮音頻數(shù)據(jù)并將音頻提供 至由用戶使用以回放音頻的無論什么設備。因此在丟棄幀的周期期間,音頻繼續(xù)而不減弱。 與經(jīng)壓縮的視頻相比,經(jīng)壓縮的音頻消耗相對小百分比的帶寬,且因此不會對總數(shù)據(jù)速率 有較大影響。盡管在數(shù)據(jù)速率圖中的任一者中都未說明,但峰值數(shù)據(jù)速率941內(nèi)總是存在 經(jīng)保留用于經(jīng)壓縮音頻流的數(shù)據(jù)速率容量。選擇剛剛在圖9b中所描述的實例來說明在數(shù)據(jù)速率峰值期間幀速率如何下降, 但未說明的是當使用先前所描述的循環(huán)I/P圖像塊技術(shù)時,所述數(shù)據(jù)速率峰值及隨的發(fā)生 的丟棄的幀很少,即使在高場景復雜度/高動作序列(諸如在視頻游戲、電影及某個應用程 序軟件中出現(xiàn)的那些)期間也如此。因此,減小的幀速率罕有且暫時,且人的視覺系統(tǒng)不會 偵測到它們。若將剛剛所描述的幀速率減小機制應用于圖9a中所說明的視頻流數(shù)據(jù)速率,則 在圖9c中說明所得的視頻流數(shù)據(jù)速率。在此實例中,2倍峰值952已減小至平坦化的2倍 峰值953,且4倍峰值955已減小至平坦化的4倍峰值955,且整個視頻流數(shù)據(jù)速率934保 持處于或低于峰值數(shù)據(jù)速率941。因此,使用上文所描述的技術(shù),可經(jīng)由通用互聯(lián)網(wǎng)及消費者級互聯(lián)網(wǎng)連接而以低 延時來傳輸高動作視頻流。另外,在LAN(例如,IOOMbs以太網(wǎng)或802. Ilg無線網(wǎng)絡)上或私 用網(wǎng)絡(例如,數(shù)據(jù)中心與辦公室之間的IOOMbps連接)上的辦公室環(huán)境中,可在無峰值情 況下傳輸高動作視頻流,以使得多個用戶(例如,以4. 5Mbps傳輸60fps下的1920X 1080) 可使用LAN或共用私用數(shù)據(jù)連接,而不使重迭峰值淹沒(overwhelm)網(wǎng)絡或網(wǎng)絡交換器底 板。數(shù)據(jù)速率調(diào)整在一個實施例中,主機服務210最初評估信道的可用最大數(shù)據(jù)速率622及延時以 確定用于視頻流的適當數(shù)據(jù)速率且接著響應于此而動態(tài)地調(diào)整數(shù)據(jù)速率。為了調(diào)整數(shù)據(jù)速 率,主機服務210可(例如)修改待發(fā)送至客戶端415的視頻流的圖像分辨率和/或每秒 幀數(shù)。而且,主機服務可調(diào)整經(jīng)壓縮視頻的質(zhì)量水平。當改變視頻流的分辨率時(例如,自 1280 X 720分辨率至640 X 360),客戶端415上的視頻解壓縮邏輯412可將圖像按比例增加 以在顯示屏幕上維持相同圖像大小。在一個實施例中,在信道完全退出的情形下,主機服務210將游戲暫停。在多人游 戲的狀況下,主機服務向其他用戶報告該用戶已退出游戲和/或?qū)⒂螒驎和R杂糜谄渌脩?。丟棄或延遲的分組在一個實施例中,若數(shù)據(jù)由于圖4a或圖4b中的視頻壓縮器404與客戶端415之間 的分組丟失而丟失,或由于到達得過晚以致不能解壓縮及滿足經(jīng)解壓縮幀的延時要求的分 組被無次序地接收而丟失,則視頻解壓縮邏輯412能夠減輕視覺假影。在流動I/P幀實施
37中,若存在丟失/延遲的分組,則整個屏幕受影響,從而可能引起屏幕完全凍結(jié)一段時間周 期或顯示其他屏幕寬視覺假影。舉例而言,若丟失/延遲的分組引起I幀的丟失,則在接收 新的I幀之前,解壓縮器將缺乏用于跟隨的所有P幀的參考。若丟失P幀,則其將影響跟隨 的用于整個屏幕的P幀。視I幀出現(xiàn)之前有多久,這將具有較長或較短的視覺影響。使用 如圖7a及圖7b中所顯示的交錯I/P圖像塊,丟失/延遲的分組不太可能影響整個屏幕,因 為其僅影響受影響的分組中所含有的圖像塊。若每個圖像塊的數(shù)據(jù)是在個別分組內(nèi)發(fā)送, 則若分組丟失,則其僅影響一個圖像塊。當然,視覺假影的持續(xù)時間將取決于I圖像塊分組 是否丟失及在P圖像塊丟失的情況下在I圖像塊出現(xiàn)之前將花費多少個幀。但是,假定屏 幕上的不同圖像塊是通過I幀非常頻繁地(可能每個幀)更新,則即使屏幕上的一圖像塊 受影響,其他圖像塊也可能不受影響。另外,若某一事件引起若干分組同時丟失(例如,鄰 接DSL線的電力中的暫時中斷數(shù)據(jù)流的尖峰信號),則一些圖像塊將比其他圖像塊受到更 大影響,但因為一些圖像塊將通過新的I圖像塊迅速地更新,所以其僅暫時受影響。而且, 在流動I/P幀實施的情況下,不僅I幀為最關(guān)鍵幀,而且I幀極大,因此若存在引起丟棄/ 延遲的分組的事件,則與小得多的I圖像塊相比,I幀受影響存在較高機率(也即,若I幀 的任何部分丟失,則根本不可能可解壓縮I幀)。由于所有所述原因,與I/P幀的情況相比, 當分組被丟棄/延遲時,使用I/P圖像塊導致小得多的視覺假影。一個實施例試圖通過將經(jīng)壓縮的圖像塊智能地封裝于TCP(傳輸控制協(xié)議)分組 或UDP(用戶數(shù)據(jù)報協(xié)議)分組內(nèi)而減少丟失分組的效應。舉例而言,在一個實施例中,只 要可能,即將圖像塊與分組邊界對準。圖IOa說明可如何在不實施此特征的情況下將圖像 塊封裝于一系列分組1001-1005內(nèi)。具體言之,在圖IOa中,圖像塊越過分組邊界且經(jīng)無效 率地封裝以致單一分組的丟失導致多個幀的丟失。舉例而言,若分組1003或1004丟失,則 丟失三個圖像塊,導致視覺假影。相比之下,圖IOb說明用于將圖像塊智能地封裝于分組內(nèi)以減少分組丟失的效應 的圖像塊封裝邏輯1010。首先,圖像塊封裝邏輯1010將圖像塊與分組邊界對準。因此,圖 像塊T1、T3、T4、T7及Τ2分別與分組1001-1005的邊界對準。圖像塊封裝邏輯也試圖以可 能的更有效的方式將圖像塊組合于分組內(nèi),而不越過分組邊界。基于圖像塊中的每一者的 大小,將圖像塊Tl與Τ6組合于一個分組1001中;將Τ3與Τ5組合于一個分組1002中;將 圖像塊Τ4與Τ8組合于一個分組1003中;將圖像塊Τ8添加至分組1004 ;且將圖像塊Τ2添 加至分組1005。因此,在此方案下,單個分組丟失將導致不多于2個圖像塊(而非如圖IOa 中所說明的3個圖像塊)的丟失。圖IOb中所顯示的實施例的一個額外益處在于圖像塊是以其在圖像內(nèi)被顯示的 不同次序進行傳輸。若鄰近分組由于干擾傳輸?shù)耐皇录?其將影響屏幕上彼此不接近的 區(qū)域)而丟失,則此方式在顯示器上產(chǎn)生較不引人注意的假影。一個實施例使用前向糾錯(FEC)技術(shù)來保護視頻流的特定部分以使其免受信道 錯誤的影響。如此項技術(shù)中已知,諸如里德-所羅門及Viterbi (維特比)的FEC技術(shù)產(chǎn)生 糾錯數(shù)據(jù)信息并將其附加至經(jīng)由通信信道而傳輸?shù)臄?shù)據(jù)。若錯誤在基本數(shù)據(jù)(例如,I幀) 中出現(xiàn),則FEC可用于校正該錯誤。FEC碼增加傳輸?shù)臄?shù)據(jù)速率,因此理想地,其僅在最需要時使用。若數(shù)據(jù)正被發(fā)送, 且其將不導致非常引人注意的視覺假影,則可較佳不使用FEC碼來保護數(shù)據(jù)。舉例而言,緊接于丟失的I圖像塊之前的P圖像塊將僅在屏幕上產(chǎn)生1/60秒的視覺假影(也即,屏幕上 的圖像塊將不被更新)。此種視覺假影幾乎不能被人眼偵測到。隨著P圖像塊自I圖像塊 進一步向后,丟失P圖像塊越加變得更引人注意。舉例而言,若圖像塊循環(huán)型樣為在I圖像 塊再次可用之前I圖像塊隨后跟著15個P圖像塊,則若緊接于I圖像塊之后的P圖像塊丟 失,則其導致該圖像塊顯示不正確的圖像歷時15個幀時間(在60fps下,這將為250毫秒)。 人眼將容易偵測到250毫秒的流的中斷。因此,P圖像塊距新的I圖像塊越向后(也即,P 圖像塊跟隨I圖像塊越接近),則假影越引人注意。如先前所論述,盡管如此,但一般而言, P圖像塊跟隨I圖像塊越接近,用于該P圖像塊的數(shù)據(jù)越小。因此,跟隨I圖像塊的P圖像 塊不僅對于保護以免丟失而言更關(guān)鍵,而且其大小較小。此外,一般而言,需要保護的數(shù)據(jù) 越小,保護其所需的FEC碼越小。因此,如圖Ila中所說明,在一個實施例中,由于I圖像塊在視頻流中的重要性,僅 I圖像塊具備FEC碼。因此,F(xiàn)EC 1101含有用于I圖像塊1100的糾錯碼且FEC 1104含有 用于I圖像塊1103的糾錯碼。在此實施例中,對于P圖像塊不產(chǎn)生FEC。在圖lib中所說明的一個實施例中,對于在丟失時最可能引起視覺假影的P圖像 塊也產(chǎn)生FEC碼。在此實施例中,F(xiàn)EC 1105提供用于前3個P圖像塊但不用于跟隨的P圖 像塊的糾錯碼。在另一實施例中,對于數(shù)據(jù)大小最小的P圖像塊產(chǎn)生FEC碼(其將傾向于 自選在I圖像塊的后最早出現(xiàn)的P圖像塊,其對于保護最為關(guān)鍵)。在另一實施例中,并非將FEC碼連同圖像塊一起發(fā)送,而是將圖像塊傳輸兩次,每 次在不同分組中傳輸。若一分組丟失/延遲,則使用另一分組。在圖Ilc中所顯示的一個實施例中,產(chǎn)生分別用于與視頻同時自主機服務傳輸?shù)?音頻分組1110及1112的FEC碼1111及1113。維持視頻流中的音頻的完整性特別重要,因 為失真的音頻(例如,滴答聲或嘶嘶聲)將導致特別不合需要的用戶體驗。FEC碼幫助確保 音頻內(nèi)容在客戶端計算機415處無失真地再現(xiàn)。在另一實施例中,并非將FEC碼連同音頻數(shù)據(jù)一起發(fā)送,而是將音頻數(shù)據(jù)傳輸兩 次,每次在不同分組中傳輸。若一個分組丟失/延遲,則使用另一分組。另外,在圖Ild中所說明的一個實施例中,F(xiàn)EC碼1121及1123分別用于自客戶 端415上行傳輸?shù)街鳈C服務210的用戶輸入命令(例如,按鈕按壓)1120及1122。這是重 要的,因為在視頻游戲或應用程序中漏掉按鈕按壓或鼠標運動可能導致不合需要的用戶體 驗。在另一實施例中,并非將FEC碼連同用戶輸入命令數(shù)據(jù)一起發(fā)送,而是將用戶輸 入命令數(shù)據(jù)傳輸兩次,每次在不同分組中傳輸。若一個分組丟失/延遲,則使用另一分組。在一個實施例中,主機服務210評估與客戶端415的通信信道的質(zhì)量,以確定是否 使用FEC,且若使用,則確定應對視頻、音頻及用戶命令的何部分應用FEC。評估信道的“質(zhì) 量”可包括如上所述的諸如估計分組丟失、延時等的功能。若信道特別不可靠,則主機服務 210可對所有I圖像塊、P圖像塊、音頻及用戶命令應用FEC。相比之下,若信道可靠,則主 機服務210可僅對音頻及用戶命令應用FEC,或可不對音頻或視頻應用FEC,或可根本不使 用FEC??墒褂肍EC的應用的各種其他排列,同時仍遵守所述基本原理。在一個實施例中, 主機服務210不斷地監(jiān)視信道的狀況且相應地改變FEC策略。在另一實施例中,參看圖4a及圖4b,當分組丟失/延遲,從而導致圖像塊數(shù)據(jù)的丟失時,或若可能由于特別糟的分組丟失而使得FEC不能夠校正丟失的圖像塊數(shù)據(jù),客戶端 415評估在將接收新的I圖像塊之前剩余多少個幀且將其與自客戶端415至主機服務210 的來回行程延時相比較。若來回行程延時小于新的I圖像塊應到達之前的幀的數(shù)目,則客 戶端415向主機服務210發(fā)送消息,請求新的I圖像塊。將此消息路由至視頻壓縮器404, 且其并非產(chǎn)生用于數(shù)據(jù)已丟失的圖像塊的P圖像塊,而是產(chǎn)生I圖像塊。假定圖4a及圖 4b中所顯示的系統(tǒng)經(jīng)設計以提供通常小于80毫秒的來回行程延時,則這導致圖像塊被校 正于80毫秒內(nèi)(在60fps下,幀具有16. 67毫秒的持續(xù)時間,因此在全幀時間中,80毫秒 延時將導致83. 33毫秒內(nèi)的經(jīng)校正的圖像塊,83. 33毫秒為5個幀時間,其為引人注意的中 斷,但遠不及(例如)對于15個幀250毫秒中斷引人注意)。當壓縮器404脫離其通常的 循環(huán)次序而產(chǎn)生此種I圖像塊時,若I圖像塊將引起所述幀的帶寬超過可用帶寬,則壓縮器 404將延遲其他圖像塊的循環(huán),以使得其他圖像塊在所述幀時間期間接收P圖像塊(即使在 所述幀期間一個圖像塊通常將應為I圖像塊),且接著通常的循環(huán)將自下一個幀開始繼續(xù), 且通常將已接收到先前幀中的I圖像塊的圖像塊將接收I圖像塊。盡管此動作暫時延遲R 幀循環(huán)的階段,但其通常將在視覺上不引人注意。視頻及音頻壓縮器/解壓縮器實施圖12說明一個特定實施例,其中使用多核和/或多處理器1200來并行地壓縮8個 圖像塊。在一實施例中,使用在2. 66GHz或更高下執(zhí)行的雙核處理器、四核Xeon (至強)CPU 計算機系統(tǒng),每個核心作為獨立過程實施開源x264H. 264壓縮器。然而,可使用各種其他硬 件/軟件配置,同時仍遵守所述基本原理。舉例而言,CPU核心中的每一者可通過以FPGA實 施的H. 264壓縮器來替換。在圖12中所顯示的實例中,核心1201-1208用于作為八個獨立 線緒來同時處理I圖像塊及P圖像塊。如此項技術(shù)中眾所周知的,當前多核及多處理器計 算機系統(tǒng)與諸如Microsoft Windows XP專業(yè)版(64比特版或者32比特版)及Linux的多 線緒處理操作系統(tǒng)整合時,其固有地能夠進行多線緒處理。在圖12中所說明的實施例中,因為該8個核心中的每一者僅負責一個圖像塊, 所以其很大程度上獨立于其他核心而操作,每一者執(zhí)行x264的單獨實例化。使用以PCI Express xl 為基礎的 DVI 捕獲卡(諸如,來自 Netherlands 的Microtronix of Oosterhout 的Sendero視頻成像IP開發(fā)板)來捕獲640X480、800X600或1280X720分辨率下的未 經(jīng)壓縮的視頻,且卡上的FPGA使用直接存儲器存取(DMA)來將所捕獲的視頻經(jīng)由DVI總線 傳送至系統(tǒng)RAM中。將所述圖像塊配置成4X2配置1205 (盡管其說明為方形圖像塊,但在 該實施例中,其具有160 X 240分辨率)。x264的每個實例化被配置成壓縮該8個160 X 240 圖像塊中的一者,且其經(jīng)同步化以使得在初始I圖像塊壓縮的后每一核心進入一循環(huán),每 一幀與另一幀不同相,以壓縮一 I圖像塊繼的以七個P圖像塊,如圖12中所說明。在每一幀時間,使用先前所描述的技術(shù)將所得的經(jīng)壓縮圖像塊組合成分組流,且 接著將經(jīng)壓縮圖像塊傳輸至目的地客戶端415。盡管圖12中未說明,但若組合的8個圖像塊的數(shù)據(jù)速率超過指定峰值數(shù)據(jù)速率 941,則所有8個x264過程將暫時中止歷時達必要的幀時間,直至已傳輸用于組合的8個圖 像塊的數(shù)據(jù)為止。在一個實施例中,將客戶端415實施為執(zhí)行FFmpeg的8個實例化的PC上的軟件。 接收過程接收8個圖像塊,且將每一圖像塊路由至FFmpeg實例化,F(xiàn)Fmpeg實例化解壓縮圖
40像塊并將其再現(xiàn)至顯示設備422上的適當圖像塊位置??蛻舳?15接收來自PC的輸入設備驅(qū)動器的鍵盤、鼠標或游戲控制器輸入并將其 傳輸?shù)椒掌?02。服務器402接著應用所接收的輸入設備數(shù)據(jù)并將其應用于在服務器402 上執(zhí)行的游戲或應用程序,服務器402為使用Intel 2. 16GHz雙核CPU執(zhí)行Windows的PC。 服務器402接著產(chǎn)生新幀并經(jīng)由其DVI輸出端將新幀自以主機板為基礎的圖形系統(tǒng)或者經(jīng) 由NVIDIA8800GTX PCI卡的DVI輸出端輸出。同時,服務器402經(jīng)由其數(shù)字音頻輸出端(例如,S/PDIF)輸出由游戲或應用程序 產(chǎn)生的音頻,該數(shù)字音頻輸出端耦合至實施視頻壓縮的以雙四核Xeon為基礎的PC上的數(shù) 字音頻輸入端。Vorbis開源音頻壓縮器用于使用可用于處理線緒的無論什么核心來與視頻 同時地壓縮音頻。在一個實施例中,完成壓縮其圖像塊的核心首先執(zhí)行音頻壓縮。接著將 經(jīng)壓縮的音頻連同經(jīng)壓縮的視頻一起傳輸,并在客戶端415上使用Vorbis音頻解壓縮器來 解壓縮經(jīng)壓縮的音頻。主機服務服務器中心分配經(jīng)由玻璃(諸如,光纖)的光以光在真空中的速度的某一部分行進,且因此可確定 光在光纖中的確切傳播速度。但是,在實踐中,考慮用于路由延遲、傳輸無效率及其他耗用 的時間,我們觀察到互聯(lián)網(wǎng)上的最佳延時反映較接近光速的50%的傳輸速度。因此,最佳 1000英里來回行程延時為約22毫秒,且最佳3000英里來回行程延時為約64毫秒。因此, 一美國海岸上的單個服務器將距離過遠以致不能以所要的延時伺服另一海岸上的客戶端 (其可能達3000英里遠)。然而,如圖13a中所說明,若主機服務210服務器中心1300定位 于美國的中心(例如,堪薩斯州、內(nèi)布拉斯加州等),以致至美國大陸中的任何點的距離為 約1500英里或1500英里以下,來回行程互聯(lián)網(wǎng)延時可低至32毫秒。參看圖4b,注意盡管 用戶ISP 453所允許的最糟狀況延時為25毫秒,但通常,在DSL及電纜調(diào)制解調(diào)器系統(tǒng)的 情況下我們觀察到較接近10-15毫秒的延時。而且,圖4b假定自用戶場所211至主機代管 中心210的最大距離為1000英里。因此,在所使用的典型的15毫秒的用戶ISP來回行程延 時及對于32毫秒的來回行程延時的1500英里的最大互聯(lián)網(wǎng)距離的情況下,自用戶致動輸 入設備421的時刻至在顯示設備422上看見響應的總來回行程延時為1+1+15+32+1+16+6+8 =80毫秒。因此,通常可在1500英里的互聯(lián)網(wǎng)距離上達成80毫秒響應時間。這將允許美 國大陸中具有足夠短的用戶ISP延時453的任何用戶場所存取在中心定位的單個服務器中 心。在圖13b中所說明的另一實施例中,主機服務210服務器中心HS1-HS6戰(zhàn)略上定 位于美國(或其他地理區(qū)域)的周圍,特定較大的主機服務服務器中心接近高人口中心而 定位(例如,HS2及HS5)。在一個實施例中,服務器中心HS1-HS6經(jīng)由網(wǎng)絡1301交換信息, 網(wǎng)絡1301可為互聯(lián)網(wǎng)或私用網(wǎng)絡或兩者的組合。在多個服務器中心的情況下,可以較低延 時向具有高用戶ISP延時453的用戶提供服務。盡管互聯(lián)網(wǎng)上的距離的確為對經(jīng)由互聯(lián)網(wǎng)的來回行程延時有影響的因素,但有時 很大程度上與延時無關(guān)的其他因素也起作用。有時經(jīng)由互聯(lián)網(wǎng)將分組流路由至距離遠的位 置且再次返回,從而導致來自長循環(huán)的延時。有時在路徑上存在不適當操作的路由設備,從 而導致傳輸?shù)难舆t。有時存在使路徑超載的通信,其引入延遲。此外,有時,根本是存在防 止用戶的ISP路由至給定目的地的故障。因此,盡管通用互聯(lián)網(wǎng)通常以相當可靠且最佳的
41路由及延時來提供從一點到另一點的連接,該相當可靠且最佳的路線及延時很大程度上是 通過距離來確定(尤其是在導致路由至用戶的本地區(qū)域的外部的長距離連接的情況下), 但該可靠性及延時得不到任何保證且常常不可自用戶的場所至通用互聯(lián)網(wǎng)上的給定目的 地而達成。在一個實施例中,當用戶客戶端415最初連接到主機服務210以玩視頻游戲或使 用應用程序時,客戶端在啟動時與可用的主機服務服務器中心HS1-HS6中的每一者通信 (例如,使用上文所描述的技術(shù))。若延時對于特定連接而言足夠低,則使用該連接。在一 個實施例中,客戶端與所有主機服務服務器中心或主機服務服務器中心的一個子集通信, 選擇具有最低延時連接的主機服務服務器中心??蛻舳丝蛇x擇具有最低延時連接的服務中 心,或服務器中心可識別具有最低延時連接的服務器中心并將此信息(例如,以互聯(lián)網(wǎng)地 址的形式)提供給客戶端。若特定主機服務服務器中心超載和/或用戶的游戲或應用程序可容忍至另一、較 少載入的主機服務服務器中心的延時,則可將客戶端415重定向至另一主機服務服務器中 心。在此種情形下,將使用戶正執(zhí)行的游戲或應用程序在用戶的超載服務器中心處的服務 器402上暫停,且將游戲或應用程序狀態(tài)數(shù)據(jù)傳送至另一主機服務服務器中心處的服務器 402。接著將重新開始該游戲或應用程序。在一個實施例中,主機服務210將等待直至游戲 或應用程序達到自然暫停點(例如,游戲中的級別之間,或者在用戶在應用程序中起始“保 存”操作之后)才進行傳送。在又一實施例中,主機服務210將等待直至用戶活動停止歷時 指定時間周期(例如,1分鐘)為止且接著將在這時起始傳送。如上所述,在一個實施例中,主機服務210訂閱圖14的互聯(lián)網(wǎng)旁路服務440以試 圖將得到保證的延時提供給其客戶端。如本文中所使用的互聯(lián)網(wǎng)旁路服務是提供自互聯(lián)網(wǎng) 上的一點至另一點的具有得到保證的特性(例如,延時、數(shù)據(jù)速率等)的私用網(wǎng)絡路線的服 務。舉例而言,若主機服務210正使用在圣弗朗西斯科提供的AT&T的DSL服務接收來自 用戶的大量通信(而非路由至以AT&T的圣弗朗西斯科為基地的中央辦公室),則主機服務 210將在以圣弗朗西斯科為基地的中央辦公室與用于主機服務210的服務器中心中的一或 多者之間租用來自服務提供者(可能為AT&T本身或另一提供者)的高容量私用數(shù)據(jù)連接。 接著,若自所有主機服務服務器中心HS1-HS6經(jīng)由通用互聯(lián)網(wǎng)至圣弗朗西斯科中使用AT&T DSL的用戶的路線導致過高延時,則可改為使用私用數(shù)據(jù)連接。盡管私用數(shù)據(jù)連接通常比經(jīng) 由通用互聯(lián)網(wǎng)的路線更昂貴,但只要其保持主機服務210的一小百分比連接至用戶,總成 本影響就低,且用戶將體驗到更一貫的服務體驗。在電力故障的情況下,服務器中心常常具有兩個備用電力層。第一層通常為來自 電池(或來自替代的立即可用的能量源,諸如保持運轉(zhuǎn)且附接至發(fā)電機的飛輪)的備用電 力,其在電力干線出故障時立即提供電力且保持服務器中心運轉(zhuǎn)。若電力故障為暫時的,且 電力干線迅速返回(例如,在一分鐘內(nèi)),則電池所需的是保持服務器中心運轉(zhuǎn)。但若電力 故障歷時較長的時間周期,則通常啟動發(fā)電機(例如,柴油機供電)來取代電池且發(fā)電機只 要具有燃料即可運轉(zhuǎn)。所述發(fā)電機極昂貴,因為其必須能夠產(chǎn)生多達服務器中心通常自電 力干線所得到的電力。在一個實施例中,主機服務HS1-HS5中的每一者彼此共用用戶數(shù)據(jù),以便在一個 服務器中心具有電力故障時,其可將在進行中的游戲及應用程序暫停,且接著將游戲或應用程序狀態(tài)數(shù)據(jù)自每個服務器402傳送至其他服務器中心處的服務器402,且接著將通知 每一用戶的客戶端415以指導其傳達至新的服務器402。假定所述情形偶爾出現(xiàn),則將用戶 轉(zhuǎn)移至不能夠提供最佳延時的主機服務服務器中心(也即,用戶將僅必須容忍較高延時歷 時電力故障的持續(xù)時間)可為可接受的,其將允許用于轉(zhuǎn)移用戶的寬得多的范圍的選項。 舉例而言,給定跨越美國的時區(qū)差,則東海岸上的用戶在11 30PM可能將要睡眠,而西海岸 上的用戶在8:30PM正開始在視頻游戲使用上達到峰值。若那時西海岸上的主機服務服務 器中心中存在電力故障,則其他主機服務服務器中心處可能不存在用于處理所有用戶的足 夠的西海岸服務器402。在此種情形下,可將一些用戶轉(zhuǎn)移至東海岸上具有可用服務器402 的主機服務服務器中心,且對于用戶而言的唯一后果將是較高延時。一旦將用戶自失去電 力的服務器中心轉(zhuǎn)移,服務器中心接著就可開始其服務器及設備的有序切斷,以便在電池 (或其他立即電力備用)耗盡之前切斷所有設備。以此方式,可避免用于服務器中心的發(fā)電 機的成本。在一個實施例中,在主機服務210的嚴重載入的時間期間(或者由于峰值用戶載 入,或者因為一個或多個服務器中心出故障),基于用戶正使用的游戲或應用程序的延時要 求將用戶轉(zhuǎn)移至其他服務器中心。因此,將為使用需要低延時的游戲或應用程序的用戶給 出對存在有限供應的可用低延時服務器連接的優(yōu)選。主機服務特征圖15說明在以下特征描述中利用的用于主機服務210的服務器中心的組件的實 施例。如同圖2a中所說明的主機服務210 —樣,除非另外有條件,否則此服務器中心的組 件由主機服務210控制系統(tǒng)401來控制及協(xié)調(diào)。將來自用戶客戶端415的入埠互聯(lián)網(wǎng)通信1501指引至入埠路由1502。通常,入埠 互聯(lián)網(wǎng)通信1501將經(jīng)由至互聯(lián)網(wǎng)的高速光纖連接而進入服務器中心,但具有足夠帶寬、可 靠性及低延時的任何網(wǎng)絡連接裝置將是足夠的。入埠路由1502是網(wǎng)絡(該網(wǎng)絡可實施為 以太網(wǎng)、光纖信道網(wǎng)絡,或經(jīng)由任何其他輸送裝置)交換器及支持所述交換器的路由服務 器的系統(tǒng),其取得到達的分組且將每個分組路由到適當應用程序/游戲服務器1521-1525。 在一實施例中,傳送至特定應用程序/游戲服務器的分組表示自客戶端所接收的數(shù)據(jù)的一 子集和/或可由數(shù)據(jù)中心內(nèi)的其他組件(例如,網(wǎng)絡連接組件,諸如網(wǎng)關(guān)及路由器)來轉(zhuǎn) 譯/改變。在一些狀況下,(例如)若游戲或應用程序同時并行地在多個服務器上執(zhí)行,則 每次將分組路由至一個以上服務器1521-1525。RAID陣列1511-1512連接至入埠路由網(wǎng)絡 1502,以使得應用程序/游戲服務器1521-1525可讀取RAID陣列1511-1512及寫入RAID 陣列1511-1512。另外,RAID陣列1515 (其可實施為多個RAID陣列)也連接至入埠路由 1502,且來自RAID陣列1515的數(shù)據(jù)可自應用程序/游戲服務器1521-1525來讀取。入埠路 由1502可在多種先前技術(shù)網(wǎng)絡架構(gòu)(包括樹結(jié)構(gòu)的交換器,入埠互聯(lián)網(wǎng)通信1501在其根 部)中實施;在互連所有各種設備的網(wǎng)狀結(jié)構(gòu)中實施;或作為互連的子網(wǎng)絡序列(互通設 備當中的集中通信與其他設備當中的集中通信隔離)來實施。一類型的網(wǎng)絡配置為SAN(存 儲區(qū)域網(wǎng)絡),其盡管通常用于儲存設備,但其也可用于設備之間的通用高速數(shù)據(jù)傳送。又, 應用程序/游戲服務器1521-1525可各自具有至入埠路由1502的多個網(wǎng)絡連接。舉例而 言,服務器1521-1525可具有至附接至RAID陣列1511-1512的子網(wǎng)絡的網(wǎng)絡連接及至附接 至其他設備的子網(wǎng)絡的另一網(wǎng)絡連接。
應用程序/游戲服務器1521-1525可經(jīng)相同地、有些不同地或全部不同地來配置, 如先前關(guān)于圖4a中所說明的實施例中的服務器402所描述的。在一實施例中,每一用戶當 使用主機服務時通常為至少一應用程序/游戲服務器1521-1525。出于說明的簡單起見,將 假定給定用戶正使用應用程序/游戲服務器1521,但多個服務器可由一用戶使用,且多個 用戶可共用單一應用程序/游戲服務器1521-1525。自客戶端415 (如先前所描述)所發(fā) 送的用戶的控制輸入經(jīng)接收為入埠互聯(lián)網(wǎng)通信1501,且經(jīng)由入埠路由1502而路由至應用 程序/游戲服務器1521。應用程序/游戲服務器1521使用用戶的控制輸入作為至在服務 器上執(zhí)行的游戲或應用程序的控制輸入,且計算視頻及與其相關(guān)聯(lián)的音頻的下一個幀。應 用程序/游戲服務器1521接著將未經(jīng)壓縮的視頻/音頻1529輸出至共用視頻壓縮1530。 應用程序/游戲服務器可經(jīng)由任何裝置(包括一或多個超高速以太網(wǎng)連接)而輸出未經(jīng)壓 縮的視頻,但在一實施例中,視頻是經(jīng)由DVI (交互式數(shù)字視頻系統(tǒng))連接而輸出,且音頻及 其他壓縮及通信信道狀態(tài)信息系經(jīng)由通用串列總線(USB)連接而輸出。共用視頻壓縮1530壓縮來自應用程序/游戲服務器1521-1525的未經(jīng)壓縮的視 頻及音頻。該壓縮可完全以硬件或以執(zhí)行軟件的硬件來實施??纱嬖谟糜诿總€應用程序/ 游戲服務器1521-1525的專用壓縮器,或若壓縮器足夠快,則可使用給定壓縮器來壓縮來 自一個以上應用程序/游戲服務器1521-1525的視頻/音頻。舉例而言,在60fps下,視頻 幀時間為16. 67毫秒。若壓縮器能夠在1毫秒內(nèi)壓縮1幀,則該壓縮器可用于通過取得來 自一個接一個的服務器的輸入而壓縮來自多達16個應用程序/游戲服務器1521-1525的 視頻/音頻,該壓縮器保存每個視頻/音頻壓縮過程的狀態(tài)且當其在來自服務器的視頻/ 音頻流當中循環(huán)時切換背景。這導致壓縮硬件的實質(zhì)成本節(jié)省。因為不同服務器將在不同 時間完成幀,所以在一個實施例中,壓縮器資源是處于具有用于儲存每個壓縮過程的狀態(tài) 的共用儲存裝置(例如,RAM,閃存)的共用集區(qū)1530中,且當服務器1521-1525幀完整且 準備被壓縮時,控制裝置確定那時哪個壓縮資源可用,為該壓縮資源提供服務器的壓縮過 程的狀態(tài)及待壓縮的未經(jīng)壓縮的視頻/音頻的幀。注意,用于每個服務器的壓縮過程的狀態(tài)的一部分包括關(guān)于壓縮本身的信息,諸 如先前幀的經(jīng)解壓縮的幀緩沖數(shù)據(jù)(其可用作用于P圖像塊的參考)、視頻輸出的分辨率; 壓縮的質(zhì)量;圖像塊結(jié)構(gòu);每圖像塊的比特的分配;壓縮質(zhì)量、音頻格式(例如,立體聲、環(huán) 繞音效、Dolby AC-3 (杜比 ) AC-3)。但是壓縮過程狀態(tài)也包括關(guān)于以下的通信信 道狀態(tài)信息峰值數(shù)據(jù)速率941,及先前幀(如圖9b中所說明)當前是否正被輸出(且因 此應忽略當前幀),及潛在地是否存在應在壓縮中考慮的(諸如,過多分組丟失)影響壓縮 決策(例如,在ι圖像塊的頻率方面,等)的信道特性。因為峰值數(shù)據(jù)速率941或其他信道 特性隨著時間而改變,如由支持每個用戶監(jiān)視從客戶端415發(fā)送的數(shù)據(jù)的應用程序/游戲 服務器1521-1525所確定的,所以應用程序/游戲服務器1521-1525將相關(guān)信息發(fā)送至共 用硬件壓縮1530。共用硬件壓縮1530也使用諸如先前所描述的所述裝置的裝置將經(jīng)壓縮的視頻/ 音頻分組化,且在適當時,應用FEC碼,復制特定數(shù)據(jù),或采取其他步驟,以便充分地確保視 頻/音頻數(shù)據(jù)流由客戶端415接收且以可行的高質(zhì)量及可靠性解壓縮的能力?!贸绦?諸如,下文所描述的應用程序)需要給定應用程序/游戲服務器 1521-1525的視頻/音頻輸出同時在多個分辨率下(或以其他多個格式)可用。若應用程
44序/游戲服務器1521-1525如此通知共用硬件壓縮1530資源,則該應用程序/游戲服務 器1521-1525的未經(jīng)壓縮的視頻音頻1529將被以不同格式、不同分辨率和/或在不同分組 /糾錯結(jié)構(gòu)中同時壓縮。在一些狀況下,一些壓縮資源可在壓縮同一視頻/音頻的多個壓 縮過程當中共用(例如,在許多壓縮算法中,存在借以在應用壓縮的前將圖像按比例調(diào)整 成多個大小的步驟。若需要輸出不同大小的圖像,則該步驟可用于同時服務若干個壓縮過 程)。在其他狀況下,對于每個格式將需要單獨的壓縮資源。在任何狀況下,將用于給定應 用程序/游戲服務器1521-1525 ( 一或多個)所需的所有各種分辨率及格式的經(jīng)壓縮的視 頻/音頻1539同時輸出到出埠路由1540。在一個實施例中,經(jīng)壓縮的視頻/音頻1539的 輸出是處于UDP格式,因此其為單向分組流。出埠路由網(wǎng)絡1540包含一系列路由服務器及交換器,該系列路由服務器及交換 器將每個經(jīng)壓縮的視頻/音頻流經(jīng)由出埠互聯(lián)網(wǎng)通信1599接口(其通常將連接到至互聯(lián) 網(wǎng)的光纖接口)而指引到有意的用戶或其他目的地和/或返回至延遲緩沖器1515,和/或 返回至入埠路由1502,和/或經(jīng)由私用網(wǎng)絡(未圖示)而輸出以供進行視頻分配。注意(如 下所述)出埠路由1540可將給定視頻/音頻流同時輸出至多個目的地。在一實施例中, 這是使用互聯(lián)網(wǎng)協(xié)議(IP)多播來實施,其中廣播意欲同時流動到多個目的地的給定UDP 流,且該廣播由出埠路由1540中的路由服務器及交換器來重復。廣播的該多個目的地可經(jīng) 由互聯(lián)網(wǎng)而至多個用戶的客戶端415、經(jīng)由入埠路由1502而到多個應用程序/游戲服務器 1521-1525,和/或到一個或多個延遲緩沖器1515。因此,將給定服務器1521-1522的輸出 壓縮成一個或多個格式,且將每個經(jīng)壓縮的流指引到一個或多個目的地。另外,在另一實施例中,若多個應用程序/游戲服務器1521-1525同時由一個用戶 使用(例如,在用于產(chǎn)生具有復雜場景的3D輸出的并行處理配置中)且每個服務器產(chǎn)生 所得圖像的部分,則可由共用硬件壓縮1530將多個服務器1521-1525的視頻輸出組合成 一組合幀,且自該點向前如上所述處理該組合幀,好像其來自單個應用程序/游戲服務器 1521-1525。注意,在一個實施例中,將由應用程序/游戲服務器1521-1525產(chǎn)生的所有視頻的 復本(至少以由用戶觀看的視頻的分辨率或更高分辨率)記錄于延遲緩沖器1515中歷時 至少某一數(shù)目的分鐘(在一個實施例中為15分鐘)。這允許每個用戶“回放”來自每個會 話的視頻,以便核查先前工作或業(yè)績(在游戲的狀況下)。因此,在一個實施例中,將路由至 用戶客戶端415的每個經(jīng)壓縮視頻/音頻輸出1539流也多播至延遲緩沖器1515。當將視 頻/音頻儲存于延遲緩沖器1515上時,延遲緩沖器1515上的目錄提供應用程序/游戲服 務器1521-1525 (其為延遲的視頻/音頻的來源)的網(wǎng)絡地址與延遲緩沖器1515上可發(fā)現(xiàn) 延遲的視頻/音頻的位置之間的交叉參考。 現(xiàn)場直播的、可即刻觀看的、可即刻播放的游戲 應用程序/游戲服務器1521-1525不僅可用于執(zhí)行用戶的給定應用程序或視頻 游戲,而且其可用于建立用于支持經(jīng)由主機服務210的導航及其他特征的主機服務210的 用戶接口應用程序。一種該用戶接口應用程序的屏幕拍攝顯示在圖16中(“游戲取景器 (Game Finder) ”屏幕)。該特定用戶接口屏幕允許用戶觀看由其他用戶現(xiàn)場玩的(或延遲 的)15個游戲?!翱s略圖”視頻窗中的每一者(諸如,1600)為在運動中的現(xiàn)場直播的視頻 窗,其顯示來自一個用戶的游戲的一個視頻??s略圖中所顯示的視圖可為用戶正看的同一
45視圖,或其可為延遲的視圖(例如,若用戶正玩搏斗游戲,則用戶可能不希望其他用戶看見 其隱藏在哪里且其可選擇將其游戲播放的任何視圖延遲一時間周期(例如,10分鐘))。視 圖也可為不同于任何用戶的視圖的游戲的相機視圖。通過菜單選擇(此說明中未圖示),用 戶可基于多種標準來選擇要同時觀看的游戲的選擇。作為例示性選擇的小取樣,用戶可選 擇游戲的隨機選擇(諸如圖16中所顯示的游戲)、所有一個類別的游戲(均由不同玩家來 玩)、僅游戲的頂級玩家、游戲中的給定級別的玩家,或較低級玩家(例如,若玩家正學習基 礎)、是“搭檔”(或為競爭者)的玩家、具有最多數(shù)目觀看者的游戲等。注意,通常,每個用戶將決定來自其游戲或應用程序的視頻是否可由他人觀看,且 若如此,則決定該視頻可由哪些他人觀看及何時可由他人觀看,決定該視頻是否只可在具 有延遲的情況下觀看。產(chǎn)生圖16中所顯示的用戶接口屏幕的應用程序/游戲服務器1521-1525通過向 每個用戶(該應用程序/游戲服務器1521-1525正請求來自該用戶的游戲)的應用程序 /游戲服務器1521-1525發(fā)送消息而獲取該15個視頻/音頻饋送。該消息經(jīng)由入埠路由 1502或另一網(wǎng)絡來發(fā)送。該消息將包括被請求的視頻/音頻的大小及格式,且將識別觀看 用戶接口屏幕的用戶。給定用戶可選擇選擇“盜版”模式且不準許任何其他用戶觀看其游 戲的視頻/音頻(自其觀看點或者自另一觀看點),或如先前的段中所描述,用戶可選擇允 許觀看來自其游戲的視頻/音頻,但延遲所觀看的視頻/音頻。用戶應用程序/游戲服務 器1521-1525 (其接收并接受允許其視頻/音頻被觀看的請求)將因此向請求服務器確認, 且其也將通知共用硬件壓縮1530需要產(chǎn)生被請求格式或屏幕大小(假定格式及屏幕大小 不同于已經(jīng)產(chǎn)生的格式及屏幕大小)的額外經(jīng)壓縮視頻流,且其也將指示經(jīng)壓縮視頻的目 的地(也即,請求服務器)。若被請求的視頻/音頻僅被延遲,則請求應用程序/游戲服務 器1521-1525將被這樣通知,且其將通過查找延遲緩沖器1515上的目錄中的視頻/音頻的 位置及為延遲的視頻/音頻的來源的應用程序/游戲服務器1521-1525的網(wǎng)絡地址而自延 遲緩沖器1515獲取延遲的視頻/音頻。一旦所有該請求被產(chǎn)生并處理,則將高達15個現(xiàn) 場直播的縮略圖大小的視頻流從出埠路由1540路由到入埠路由1502、到產(chǎn)生用戶接口屏 幕的應用程序/游戲服務器1521-1525,且將由該服務器來解壓縮及顯示。延遲的視頻/音 頻流可能處于過大的屏幕大小,如果這樣,則應用程序/游戲服務器1521-1525將解壓縮所 述流并將視頻流按比例縮減至縮略圖大小。在一個實施例中,將對音頻/視頻的請求發(fā)送 到與圖4a的主機服務控制系統(tǒng)類似的中央“管理”服務(圖15中未顯示)(且由中央“管 理”服務來管理),中央“管理”服務接著將所述請求重定向到適當應用程序/游戲服務器 1521-1525。此外,在一個實施例中,可能不需要請求,因為縮略圖被“推送”至允許其的那 些用戶的客戶端。來自15個游戲的所有同時混合的音頻可能產(chǎn)生刺耳的聲音。用戶可選擇以此方 式將所有聲音混合在一起(可能就為得到由被觀看的所有動作產(chǎn)生的“喧囂”的感覺),或 者用戶可選擇每次僅收聽來自一個游戲的音頻。單個游戲的選擇是通過將黃色選擇幀1601 移動到給定游戲來完成(黃色幀移動可通過使用鍵盤上的箭頭鍵、通過移動鼠標、通過移 動操縱桿或通過推動諸如移動電話的另一設備上的方向按鈕來完成)。一旦選擇了單個游 戲,則只有來自該游戲的音頻播放。而且,顯示游戲信息1602。在該游戲的狀況下,例如, 出版商標志(“EA”)及游戲標志“極品飛車卡本峽谷”及橙色橫條在相對條件下指示在該特定時刻玩游戲或觀看游戲的人的數(shù)目(在此狀況下,許多,因此游戲為“熱門”)。另外提 供“狀態(tài)”,指示存在145個玩家正積極地玩極品飛車游戲的80個不同具體實例(也即,該 游戲可通過個別玩家游戲或多人游戲來玩),且存在680個觀看者(此用戶是其中之一)。 注意,該統(tǒng)計數(shù)據(jù)(及其他統(tǒng)計數(shù)據(jù))由主機服務控制系統(tǒng)401來收集并儲存于RAID陣列 1511-1512上,以用于保持主機服務210操作的日志且用于適當?shù)叵蛴脩粲嬞M并向提供內(nèi) 容的出版商支付費用。一些統(tǒng)計數(shù)據(jù)是由于由服務控制系統(tǒng)401進行的動作而記錄,且一 些統(tǒng)計數(shù)據(jù)是由個別應用程序/游戲服務器1521-1525報告給服務控制系統(tǒng)401。舉例而 言,當游戲正被觀看時(及當游戲被停止觀看時),執(zhí)行此游戲取景器應用程序的應用程序 /游戲服務器1521-1525向主機服務控制系統(tǒng)401發(fā)送消息,以使得主機服務控制系統(tǒng)401 可更新多少個游戲處于觀看中的統(tǒng)計數(shù)據(jù)。一些統(tǒng)計數(shù)據(jù)可為用戶接口應用程序(諸如, 此游戲取景器應用程序)所用。若用戶單擊其輸入設備上的啟動按鈕,則其將看見黃色幀中的縮略圖視頻放大同 時縮略圖視頻保持現(xiàn)場直播為全屏幕大小。該效果顯示在圖17中的過程中。注意,視頻窗 1700的大小增大。為了實施該效果,應用程序/游戲服務器1521-1525從運行選定的游戲 的應用程序/游戲服務器1521-1525請求具有路由到其的游戲的全屏幕大小(以用戶的顯 示設備422的分辨率)的視頻流的復本。執(zhí)行游戲的應用程序/游戲服務器1521-1525通 知共用硬件壓縮器1530不再需要游戲的縮略圖大小的復本(除非另一應用程序/游戲服 務器1521-1525需要這種縮略圖),且接著其指引共用硬件壓縮器1530將視頻的全屏幕大 小的復本發(fā)送至放大視頻的應用程序/游戲服務器1521-1525。玩該游戲的用戶可或可不 具有分辨率與將游戲放大的用戶的所述顯示設備的分辨率相同的顯示設備422。另外,游 戲的其他觀看者可或可不具有分辨率與將游戲放大的用戶相同的顯示設備422(且可具有 不同的音頻回放裝置,例如,立體聲或環(huán)繞音效)。因此,共用硬件壓縮器1530確定是否已 經(jīng)產(chǎn)生滿足請求視頻/音頻流的用戶的要求的合適的經(jīng)壓縮視頻/音頻流,且若合適的經(jīng) 壓縮視頻/音頻流確實存在,則共用硬件壓縮器1530通知出埠路由1540將該流的復本路 由至放大該視頻的應用程序/游戲服務器1521-1525,且若合適的經(jīng)壓縮視頻/音頻流不 存在,則壓縮視頻的適合于所述用戶的另一復本并指導出埠路由將該流發(fā)送回至入埠路由 1502及放大該視頻的應用程序/游戲服務器1521-1525?,F(xiàn)在接收選定視頻的全屏幕版本 的該服務器將解壓縮該全屏幕版本并將其逐漸地按比例放大至全大小。圖18說明在將游戲完全放大至全屏幕且以用戶的顯示設備422的全分辨率顯示 游戲之后屏幕看起來如何(如通過箭頭1800指向的圖像所指示的)。執(zhí)行游戲取景器應 用程序的應用程序/游戲服務器1521-1525向提供縮略圖的其他應用程序/游戲服務器 1521-1525發(fā)送消息以指示所述縮略圖不再需要且向主機服務控制服務器401發(fā)送消息以 指示不再觀看其他游戲。此時,產(chǎn)生的唯一顯示為屏幕頂部的疊加層(overlay) 1801,其將 信息及菜單控制提供給用戶。注意,隨著該游戲進展,觀眾增長至2,503個觀看者。在如此 多的觀看者的情況下,必然存在具有顯示設備422的許多觀看者,所述顯示設備422具有相 同或接近的分辨率(每個應用程序/游戲服務器1521-1525具有按比例調(diào)整視頻以用于調(diào) 整配合度的能力)。因為所顯示的游戲為多人游戲,所以用戶可決定在某時刻加入該游戲。由于多種 原因,主機服務210可或可不允許用戶加入該游戲。舉例而言,用戶可能必須支付玩游戲的
47費用而選擇不支付,用戶可能不具有足以加入所述特定游戲的足夠等級(例如,對于其他 玩家而言,其將不有競爭性),或者用戶的互聯(lián)網(wǎng)連接可能不具有足以允許用戶玩的足夠低 的延時(例如,不存在用于觀看游戲的延時約束,因此可在無延時關(guān)注的情況下觀看被遠 距離地(實際上,在另一大陸上)玩的游戲,但對于待玩的游戲而言,延時必須足夠低以使 用戶(a)享受該游戲,且(b)處于與可能具有較低延時連接的其他玩家相等的地位)。若 準許用戶玩,則為用戶提供游戲取景器用戶接口的應用程序/游戲服務器1521-1525將請 求主機服務控制服務器401初始化(也即,定位并啟動)被合適地配置以用于播放特定游 戲的應用程序/游戲服務器1521-1525從而從RAID陣列1511-1512載入該游戲,且接著主 機服務控制服務器401將指導入埠路由1502將來自用戶的控制信號傳送至現(xiàn)在對游戲進 行主機代管的應用程序/游戲服務器且現(xiàn)在對游戲進行主機代管的應用程序/游戲服務器 將指導共用硬件壓縮1530自壓縮來從主機代管游戲取景器應用程序的應用程序/游戲服 務器的視頻/音頻切換至壓縮來自現(xiàn)在對游戲進行主機代管的應用程序/游戲服務器的視 頻/音頻。游戲取景器應用程序/游戲服務與對游戲進行主機代管的新的應用程序/游戲 服務器的垂直同步并不同步,且因此在該兩個同步之間可能存在時間差。因為共用視頻壓 縮硬件1530將在應用程序/游戲服務器1521-1525完成視頻幀之后即開始壓縮視頻,所以 來自新服務器的第一幀可比舊服務器的全幀時間完成得早,來自新服務器的第一幀可能在 先前經(jīng)壓縮的幀完成其傳輸之前(例如,考慮圖9b的傳輸時間992 若未經(jīng)壓縮的幀3963 早一幀時間的一半地完成,則其將影響(impinge)傳輸時間992)。在這種情形下,共用視 頻壓縮硬件1530將忽略來自新服務器的第一幀(例如,如忽略(974)幀4964),且客戶端 415將來自舊服務器的最末幀保持額外一幀時間,且共用視頻壓縮硬件1530將開始壓縮來 自對游戲進行主機代管的新應用程序/游戲服務器的下一幀時間視頻。對于用戶而言,在 視覺上,從一個應用程序/游戲服務器至另一應用程序/游戲服務器的轉(zhuǎn)變將是無縫的。 主機服務控制服務器401接著將通知對游戲取景器進行主機代管的應用程序/游戲服務器 1521-1525切換至閑置狀態(tài),直至再次需要其為止。用戶接著能夠玩該游戲。此外,例外的是游戲?qū)⒃诟兄霞纯痰夭シ?因為游戲 已被以十億比特/秒速度從Raid陣列1511-1512載入到應用程序/游戲服務器1521-1525 上),且將通過理想的驅(qū)動器、暫存器配置(在Windows的狀況下)將游戲連同被正確配置 以用于該游戲的操作系統(tǒng)一起載入到準確適合于該游戲的服務器上,且沒有可能與該游戲 的操作競爭的其他應用程序在該服務器上執(zhí)行。而且,隨著用戶在游戲中進展,游戲的片段中的每一者將以十億比特/秒的速度 (也即,在8秒內(nèi)載入十億字節(jié))從RAID陣列1511-1512載入服務器中,且由于RAID陣 列1511-1512的巨大儲存容量(因為其為許多用戶的共用資源,所以其可能非常大,但仍 具成本效益),使得可預先計算幾何形狀設置或其他游戲片段設置并將其儲存于RAID陣列 1511-1512上且極快速地進行載入。此外,因為每個應用程序/游戲服務器1521-1525的硬 件配置及計算能力是已知的,所以可預先計算像素及頂點著色。因此,游戲可幾乎即刻啟動,其將在理想環(huán)境中執(zhí)行,且隨后的片段將幾乎即刻載 入。但是,除這些優(yōu)點之外,用戶將能夠觀看他人玩游戲(經(jīng)由先前所描述的游戲取 景器,及其他裝置),且兩者均決定游戲是否有趣,如果這樣,則自觀看他人來學習技巧。此外,用戶將能夠即刻地演示該游戲,而不必等待大的下載和/或安裝,且用戶將能夠即刻玩 該游戲(可能在較小費用的試用基礎上,或在較長期的基礎上)。此外,用戶將能夠通過足 夠低延時的無線連接而在Windows PC、MaCint0Sh上、在電視機上、在家里、在行進時且甚至 在移動電話上玩該游戲。此外,這均可在并非曾經(jīng)實體擁有游戲復本的情況下完成。如先前所敘述,用戶可決定不允許其游戲播放可被他人觀看,允許其游戲可在延 遲之后觀看,允許其游戲可被選定用戶觀看,或允許其游戲可被所有用戶觀看。不管怎樣, 在一個實施例中,將視頻/音頻儲存于延遲緩沖器1515中歷時15分鐘,且用戶將能夠“回 倒”并觀看其先前的游戲播放,且將游戲暫停,將游戲緩慢地回放,將游戲快進等,正如其在 觀看具有數(shù)字視頻記錄器(DVR)的TV時所能夠進行的。盡管在該實例中,用戶在玩游戲, 但若用戶正使用應用程序,則相同“DVR”能力是可用的。這在核查先前工作中及在如下詳 述的其他應用中可是有用的。另外,若游戲經(jīng)設計為具有基于利用游戲狀態(tài)信息而回倒的 能力,以便可改變相機視圖等,則也將支持此“3D DVR”能力,但其將需要將游戲設計為支持 “3D DVR”能力。使用延遲緩沖器1515的“DVR”能力將連同任何游戲或應用程序(當然,限 于在使用游戲或應用程序時所產(chǎn)生的視頻)一起起作用,但在具有3D DVR能力的游戲的狀 況下,用戶可控制先前所播放的片段的3D “飛越(fly-through) ”,且使延遲緩沖器1515記 錄所得視頻并記錄游戲片段的游戲狀態(tài)。因此,將特定“飛越”記錄為經(jīng)壓縮的視頻,但因 為也將記錄游戲狀態(tài),所以不同的飛越將可能在游戲的同一片段的稍后日期。如下所述,主機服務210上的用戶將各自具有一個用戶頁面,在該用戶頁面中,用 戶可公布關(guān)于其本身的信息及其他數(shù)據(jù)。用戶將能夠公布的事情之一為來自其已保存的游 戲播放的視頻片段。舉例而言,若用戶已克服游戲中的特別困難的挑戰(zhàn),則用戶可剛好“回 倒”到其在游戲中獲得其大成果的地點之前,且接著指導主機服務210將某一持續(xù)時間(例 如,30秒)的視頻片段保存在用戶的用戶頁面上以供其他用戶觀看。為了實施這些,用戶正 使用的應用程序/游戲服務器1521-1525僅要做的事情是將儲存于延遲緩沖器1515中的 視頻回放至RAID陣列1511-1512且接著在用戶的用戶頁面上給所述視頻片段編索引。若游戲具有3D DVR的能力,如上所述,則也可由用戶來記錄3D DVR所需的游戲狀 態(tài)信息且使其為用戶的用戶頁面可用。在游戲經(jīng)設計為除具有活躍玩家外還具有“旁觀者”(也即,能夠在不參與的情況 下在3D世界行進并觀察到動作的用戶)的情況下,則游戲取景器應用程序?qū)⑹褂脩裟軌蜃?為旁觀者以及玩家加入游戲。從觀看的實施點看,對于主機系統(tǒng)210而言,用戶是旁觀者而 不是活躍玩家是不存在差異的。將游戲載入應用程序/游戲服務器1521-1525上且用戶將 控制該游戲(例如,控制觀看世界的虛擬相機)。唯一的差異是用戶的游戲體驗。多個用戶合作主機服務210的另一特征是多個用戶在觀看現(xiàn)場直播的視頻的同時合作的能力 (即使使用迥然不同的設備來觀看也如此)。當玩游戲時及當使用應用程序時,這都有用。許多PC及移動電話裝備有視頻相機且具有進行實時視頻壓縮的能力(尤其當圖 像小時)。而且,小相機是可用的,可附接到電視,且以軟件或使用用于壓縮視頻的許多硬件 壓縮設備中的一者來實施實時壓縮并不困難。而且,許多PC及所有移動電話具有麥克風, 且耳機在具有麥克風情況下可用。組合有本地視頻/音頻壓縮能力(具體來說,使用本文中所描述的低延時視頻壓縮技術(shù))的所述相機和/或麥克風將使用戶能夠?qū)⒁曨l和/或音頻連同輸入設備控制數(shù)據(jù) 一起從用戶場所211傳輸?shù)街鳈C服務210。當使用所述技術(shù)時,則可實現(xiàn)圖19中所說明的 能力用戶可使其視頻及音頻1900出現(xiàn)在另一用戶的游戲或應用程序內(nèi)的屏幕上。該實例 為多人游戲,其中隊友在賽車中合作。用戶的視頻/音頻僅可被其隊友選擇性地觀看/聽 到。此外,因為7使用上文所描述的技術(shù)將有效地不存在延時,所以玩家將能夠?qū)崟r地彼此 談話或進行運動而沒有可感知的延遲。該視頻/音頻整合是通過使來自用戶的相機/麥克風的經(jīng)壓縮視頻和/或音頻作 為入埠互聯(lián)網(wǎng)通信1501到達而完成。接著,入埠路由1502將該視頻和/或音頻路由到被 準許觀看/聽到視頻和/或音頻的應用程序/游戲服務器1521-1525。接著,選擇使用視頻 和/或音頻的各別應用程序/游戲服務器1521-1525的用戶解壓縮視頻和/或音頻且視需 要而將其整合以出現(xiàn)于游戲或應用程序內(nèi),諸如通過1900所說明的。圖19的實例顯示如何在游戲中使用該合作,但該合作可為用于應用程序的極其 強大的工具??紤]一各情形其中一大建筑物正由在芝加哥的建筑師為以紐約為基地的房 地產(chǎn)開發(fā)商為紐約市設計,但該決策涉及在旅游中且碰巧在邁阿密機場的財務投資者,且 需要進行關(guān)于建筑物的特定設計要素(在其如何搭配其附近的建筑物方面)的決策,以滿 足投資者與房地產(chǎn)開發(fā)商兩者。假定建筑公司在芝加哥具有具有附接到PC的相機的高分 辨率監(jiān)視器,房地產(chǎn)開發(fā)商在紐約具有帶相機的筆記本計算機,且投資者在邁阿密具有帶 相機的移動電話。建筑公司可使用主機服務210來對能夠進行高度逼真3D再現(xiàn)的強大的 建筑設計應用程序進行主機代管,且其可利用紐約市的建筑物的大數(shù)據(jù)庫,以及正設計的 建筑物的數(shù)據(jù)庫。建筑設計應用程序?qū)⒃趹贸绦?游戲服務器1521-1525中的一者上 (或若其需要大量計算能力,則在若干者上)執(zhí)行。處于全異(disparate)位置處的3個用 戶中的每一者將連接至主機服務210,且每一者將具有對建筑設計應用程序的視頻輸出的 同時觀看,但其將被針對每個用戶具有的給定設備及網(wǎng)絡連接特性而由共用硬件壓縮1530 適當?shù)卦O定大小(例如,建筑公司可經(jīng)由20Mbps商用互聯(lián)網(wǎng)連接看見2560X1440 60fps 顯示,紐約的房地產(chǎn)開發(fā)商可經(jīng)由其筆記本計算機上的6Mbps DSL連接看見1280X720 60fps圖像,且投資者可經(jīng)由其移動電話上的250Kbps蜂窩式數(shù)據(jù)連接看見320X180 60fps圖像)。每一方將聽到其他方的語音(將通過應用程序/游戲服務器1521-1525中 的許多廣泛可用的會議呼叫套裝軟件中的任一者來處理會議呼叫),且經(jīng)由用戶輸入設備 上的按鈕的致動,用戶將能夠使用其本地相機使視頻出現(xiàn)。隨著會議進行,建筑師將能夠通 過極具照片般逼真感的3D再現(xiàn)顯示當其使建筑物旋轉(zhuǎn)且使其鄰接該區(qū)域中的另一建筑物 飛越(fly-by)時建筑物看起來像什么,且所有方均將在各方的顯示設備的分辨率下可見 到相同視頻。由任何方使用的本地設備中的任一者均能夠以該真實感處理3D動畫不是問 題,更不用說下載或甚至儲存再現(xiàn)紐約市的周圍建筑物所需的巨大數(shù)據(jù)庫。自用戶中的每 一者的觀點看,盡管距離很遠,且盡管是全異本地設備,但其將簡單地在難以置信的真實感 程度下具有無縫體驗。此外,當一方希望其面部被看來較佳地傳達其情緒狀態(tài)時,其可如此 進行。另外,若房地產(chǎn)開發(fā)商或投資者希望控制建筑程序且使用其自身的輸入設備(其為 鍵盤、鼠標、小鍵盤或觸摸屏幕),則其可如此,且其可以用無感知的延時來響應(假定其網(wǎng) 絡連接不具有不合理的延時)。舉例而言,在移動電話的狀況下,若移動電話連接至機場的 WiFi網(wǎng)絡,則其將具有非常低的延時。但若其使用美國現(xiàn)今可用的蜂窩式數(shù)據(jù)網(wǎng)絡,則其很可能將遭受引人注意的滯后。但是,對于會議的大多數(shù)目的(其中投資者正觀看建筑師控 制建筑物飛越或正談論視頻電話會議),甚至蜂窩式延時也應是可接受的。最后,在合作性會議呼叫結(jié)束時,房地產(chǎn)開發(fā)商及投資者將進行其評論且從主機 服務停播,建筑公司將能夠“回倒”已記錄在延遲緩沖器1515上的會議的視頻且核查在會 議期間進行的應用于建筑物的3D模型的評論、面部表情和/或動作。若存在其希望保存的 特定片段,則可將視頻/音頻的所述片段自延遲緩沖器1515移動至RAID陣列1511-1512 以用于檔案儲存及稍后回放。而且,從成本觀點看,若建筑師僅需要使用紐約市的計算能力及大數(shù)據(jù)庫歷時15 分鐘的會議呼叫,則其僅需要支付所述資源被使用的時間的費用,而不必擁有高能力的工 作臺且不必購買大數(shù)據(jù)庫的昂貴復本。視頻豐富的社區(qū)服務主機服務210使得有空前機會來在互聯(lián)網(wǎng)上建立視頻豐富的社區(qū)服務。圖20顯 示用于主機服務210上的游戲玩家的例示性用戶頁面。如同游戲取景器應用程序一樣,用 戶頁面為在應用程序/游戲服務器1521-1525中的一者上執(zhí)行的應用程序。該頁面上的所 有縮略圖及視頻窗顯示恒定地移動的視頻(若片段短,則其循環(huán))。使用視頻相機或通過上傳視頻,用戶(其用戶名為“KILLHAZARD”)能夠公布其本 身的視頻2000 (其他用戶可觀看該視頻)。該視頻儲存于RAID陣列1511-1512上。而且, 當其他用戶來到KILLHAZARD的用戶頁面時,若KILLHAZARD此時正使用主機服務210,則將 顯示其正進行的無論什么的現(xiàn)場直播的視頻2001 (假定KILLHAZARD準許觀看其用戶頁面 的用戶觀看該視頻)。這將由對用戶頁面應用程序進行主機代管的應用程序/游戲服務器 1521-1525從服務控制系統(tǒng)401請求KILLHAZARD是否為活躍的(且若如此,則請求其正使 用的應用程序/游戲服務器1521-1525)來完成。接著,使用由游戲取景器應用程序使用的 相同方法,將合適分辨率及格式的經(jīng)壓縮的視頻流發(fā)送至執(zhí)行用戶頁面應用程序的應用程 序/游戲服務器1521-1525且將其顯示。若用戶選擇具有KILLHAZARD的現(xiàn)場直播的游戲 播放的窗口且接著適當?shù)貑螕羝漭斎朐O備,則該窗口將放大(再次使用與游戲取景器應用 程序相同的方法),且現(xiàn)場直播的視頻將以觀看用戶的顯示設備422的分辨率(適合于觀看 用戶的互聯(lián)網(wǎng)連接的特性)填充屏幕。這優(yōu)于先前技術(shù)方法的關(guān)鍵優(yōu)點是觀看用戶頁面的用戶能夠看見用戶不擁有的 現(xiàn)場直播地播放的游戲,且可不具有能夠玩該游戲的本地計算機或游戲控制臺。其為用戶 提供看用戶頁面中顯示為“活動中”的用戶玩游戲的極好機會,且這是了解觀看用戶可能希 望嘗試或較擅長的游戲的機會。來自KILLHAZARD的搭檔2002的相機記錄的或上傳的視頻剪輯也顯示于用戶頁面 上,且每個視頻剪輯的下方為指示該搭檔是否在線玩游戲的文字(例如,siX_sh0t正玩游 戲“龍騎士(Eragon) ”且MrSnUggleS99離線等)。通過單擊菜單項(未圖示),搭檔視頻 剪輯自顯示已記錄的或上傳的視頻切換至當前正玩主機服務210上的游戲的搭檔在所述 時刻在其游戲中正在進行的內(nèi)容的現(xiàn)場直播的視頻。因此,其變成為搭檔分群的游戲取景 器。若選擇搭檔的游戲且用戶單擊該游戲,則該游戲?qū)⒎糯笾寥聊?,且用戶將能夠觀看全 屏幕現(xiàn)場直播地播放的游戲。再次,觀看搭檔的游戲的用戶不擁有游戲的復本,也不擁有用于玩該游戲的本地
51計算/游戲控制臺資源。游戲觀看是有效瞬時的。如上文先前所描述,當用戶玩主機服務210上的游戲時,用戶能夠“回倒”游戲且 發(fā)現(xiàn)其希望保存的視頻片段,且接著將該視頻片段保存到其用戶頁面。這被稱為“自賞剪 輯(Brag Clip)”。視頻片段2003都是由KILLHAZARD從其所玩的先前游戲保存的自賞剪 輯2003。數(shù)字2004顯示自賞剪輯已被觀看多少次,及自賞剪輯何時被觀看,用戶具有對其 評定等級的機會,且橙色鑰匙孔形狀的圖示2005的數(shù)目指示等級是多高。當用戶觀看用戶 頁面時,自賞剪輯2003連同頁面上的其余視頻一起恒定地循環(huán)。若用戶選擇并單擊自賞剪 輯2003中的一者,則其放大以呈現(xiàn)自賞剪輯2003,以及允許播放、暫停、回倒、快進、步進等 該剪輯的DVR控制。自賞剪輯2003回放是通過應用程序/游戲服務器1521-1525載入用戶記錄自賞 剪輯時儲存于RAID陣列1511-1512上的經(jīng)壓縮視頻片段且將其解壓縮并將其回放來實施。自賞剪輯2003也可為來自支持3D DVR能力的游戲的“3D DVR”視頻片段(也即, 來自可被重放且允許用戶改變相機觀看點的游戲的游戲狀態(tài)序列)。在此狀況下,除用戶 在記錄游戲片段時進行的特定“飛越”的經(jīng)壓縮視頻記錄之外,也儲存游戲狀態(tài)信息。當用 戶頁面正被觀看且所有縮略圖及視頻窗均恒定地循環(huán)時,3D DVR自賞剪輯2003將使在用 戶記錄游戲片段的“飛越”時記錄為經(jīng)壓縮視頻的自賞剪輯2003恒定地循環(huán)。但是,當用 戶選擇3D DVR自賞剪輯2003并單擊3D DVR自賞剪輯2003時,除允許播放經(jīng)壓縮視頻自 賞剪輯的DVR控制之外,用戶將能夠單擊給出其用于游戲片段的3D DVR能力的按鈕。其將 能夠獨立地控制游戲片段期間的相機“飛越”,且若其希望(且擁有用戶頁面的用戶允許如 此),則其將能夠以經(jīng)壓縮的視頻的形式記錄替代性自賞剪輯“飛越”,替代性自賞剪輯“飛 越”將接著可為用戶頁面的其他觀看者所用(立即地,或者在用戶頁面的擁有者具有核查自 賞剪輯的機會之后)。該3D DVR自賞剪輯2003能力是通過啟動將要在另一應用程序/游戲服務器 1521-1525上重放已記錄的游戲狀態(tài)信息的游戲來啟用。因為游戲可被幾乎瞬時地啟動 (如先前所描述),所以啟動其(其播放限于由自賞剪輯片段記錄的游戲狀態(tài))且接著允許 用戶在將經(jīng)壓縮視頻記錄到延遲緩沖器1515的同時用相機進行“飛越”并不困難。一旦用 戶完成進行“飛越”,則將游戲撤銷啟動。從用戶的觀點看,啟動具有3D DVR自賞剪輯2003的“飛越”并不比控制線性自賞 剪輯2003的DVR控制難。用戶可不知道該游戲或甚至不知道如何玩該游戲。用戶指示盯 著看另一操作者記錄的游戲片段期間的3D世界的虛擬相機操作者。用戶將也能夠?qū)⑵渥陨淼囊纛l加錄于自賞剪輯上(或者自麥克風記錄或者上 傳)。以這種方式,可使用自賞剪輯來使用來自游戲的人物及動作產(chǎn)生定制動畫。此動畫制 作技術(shù)通常被稱為“游戲電影(machinima) ”。隨著用戶在游戲中進展,其將達成不同技能級別。所播放的游戲?qū)⒊晒麍蟾娼o服 務控制系統(tǒng)401,且所述技能級別也將顯示于用戶頁面上?;邮絼赢嫃V告在線廣告已自文字轉(zhuǎn)變至靜態(tài)圖像、視頻,且現(xiàn)在轉(zhuǎn)變至互動式片段,通常使用如 Adobe Flash的動畫精簡型客戶端來實施。使用動畫精簡型客戶端的原因在于用戶通常 對于因向其推銷產(chǎn)品或服務的特權(quán)而被延遲較無耐心。而且,精簡型客戶端在非常低性能
52的PC上執(zhí)行,且因此廣告商可具有高度信心互動式廣告將適當?shù)毓ぷ?。很遺憾地,諸如 Adobe Flash的動畫精簡型客戶端在互動性的程度及體驗(以減少下載時間)的持續(xù)時間 上受限制。圖21說明一個互動式廣告,其中用戶將在汽車在陳列室中旋轉(zhuǎn)時選擇汽車的外 部及內(nèi)部色彩,同時實時射線追蹤顯示汽車看起來如何。接著用戶選擇角色來駕駛汽車,且 接著用戶可采用該汽車來用于在競賽軌道上或者穿過諸如摩納哥的外國場所駕駛。用戶 可選擇較大引擎或較佳輪胎,且接著可看見改變的配置如何影響汽車加速或保持穩(wěn)定的能 力。當然,廣告有效地的為尖端的3D視頻游戲。但對于可在PC或視頻游戲控制臺上播 放的這種廣告,其將需要可能100MB下載,且在PC的狀況下,其可能需要安裝特殊驅(qū)動器, 且可能在PC缺乏足夠CPU或GPU計算能力時根本不執(zhí)行。因此,所述廣告在先前技術(shù)配置 中不切實際。在主機服務210中,所述廣告幾乎即刻地投放,且較佳地執(zhí)行,無論用戶的客戶端 415能力如何。因此,其比精簡型客戶端互動式廣告更迅速地投放,體驗上更加豐富,且高度可靠。實時動畫期間流動的幾何形狀RAID陣列1511-1512及入埠路由1502可提供如此快的數(shù)據(jù)速率且具有如此低的 延時,以致有可能設計依賴于RAID陣列1511-1512及入埠路由1502來在實時動畫(例如, 具有復雜數(shù)據(jù)庫的飛越)期間于游戲播放的中間或應用程序中可靠地直接傳送幾何形狀 的視頻游戲及應用程序。在先前技術(shù)的系統(tǒng)(諸如,圖1中所顯示的視頻游戲系統(tǒng))下,可用的大量儲存設 備(尤其是在實用的家庭設備中)極緩慢以致不能在游戲播放期間流動幾何形狀(除了所 需的幾何形狀稍微可預測的情形之外)。舉例而言,在存在指定道路的駕駛游戲中,可合理 地適當預測用于進入視野內(nèi)的建筑物的幾何形狀且大量儲存設備可提前搜尋即將到來的 幾何形狀所定位的位置。但在具有不可預測的改變的復雜場景中(例如,在周圍具有復雜人物的戰(zhàn)役場景 中),若PC或視頻游戲系統(tǒng)上的RAM完全被填滿用于當前在視圖中的對象的幾何形狀,且接 著用戶突然將其人物轉(zhuǎn)向以觀看其人物之后是什么,若未將幾何形狀預先載入RAM中,則 可能在可顯示幾何形狀之前存在延遲。在主機服務210中,RAID陣列1511-1512可以超過超高速以太網(wǎng)速度的速度使數(shù) 據(jù)流動,且在SAN網(wǎng)絡下,有可能達到優(yōu)于10個十億比特以太網(wǎng)或優(yōu)于其他網(wǎng)絡技術(shù)的100 億比特/秒的速度。100億比特/秒將在小于一秒內(nèi)載入十億字節(jié)的數(shù)據(jù)。在60fps幀時 間(16. 67毫秒)內(nèi),可載入約170百萬比特(21MB)的數(shù)據(jù)。當然,甚至在RAID配置中,旋 轉(zhuǎn)媒體也仍將導致大于一幀時間的延時,但以閃存為基礎的RAID儲存器最終將與旋轉(zhuǎn)媒 體RAID陣列一般大且將不會招致該高延時。在一各實施例中,使用經(jīng)由大量RAM寫入的高 速緩存來提供非常低延時的存取。因此,在足夠高的網(wǎng)絡速度,以及足夠低延時的大量儲存器下,可與CPU和/或GPU 可處理3D數(shù)據(jù)一般快地將幾何形狀流動到應用程序/游戲服務器1521-1525中。因此,在 先前所給出的實例中,其中用戶突然將其人物轉(zhuǎn)向且向后看,可在人物完成旋轉(zhuǎn)之前載入
53其身后的所有人物的幾何形狀,且因此,對于用戶而言,將看來似乎其處于與現(xiàn)場直播的動 作一般真實的照片般逼真的世界中。如先前所論述,照片般逼真的計算機動畫中的最后的邊界中的一者是人臉,且由 于人眼對于不完全性的敏感性,來自照片般逼真的面部的最輕微錯誤可導致來自觀看者的 負面反應。圖22顯示使用Contour 真實性捕獲技術(shù)(以下共同待審申請中的申請的主 題2004 年 9 月 15 日申請的第 10/942,609 號 “Apparatus and method for capturing the motion of a performer,,;2004 年 9 月 15 日申請的第 10/942,413 號"Apparatus and method for capturing theexpression of a performer,,;2005 年 2 月 25 日申請的第 11/066,954 號“Apparatusand method for improving marker identification within a motion capturesystem,,;2005年 3 月 10 日申請的第 11/077,628 號"Apparatus and method forperforming motion capture using shutter synchronization,,;2005 年 10 月 20 El 串 i青白勺第 11/255, 854 ^ "Apparatus and method for performing motion captureusing a random pattern on capture surfaces,,;2006 年 6 月 7 日申請的第 11/449,131 號“System and method for performing motion capture usingphosphor application techniques"; 2006 ^ 6 7 H ^itWH 11/449, 043 ^-"System and method for performing motion capture by strobing a f luorescentlamp" ;2006 年6 月 7 日申請的第 11/449,127 號"System and method for threedimensional capture of stop-motion animated characters”,上述申請中的每一者都被轉(zhuǎn)讓給本CIP申請的受讓人)捕獲的現(xiàn)場直播的表 演如何導致非常平滑的捕獲表面,既而達成高多邊形計數(shù)的追蹤表面(也即,多邊形運動 精確地追隨面部的運動)。最后,當將現(xiàn)場直播的表演的視頻映射于追蹤表面上以產(chǎn)生紋理 表面時,產(chǎn)生照片般逼真的結(jié)果。盡管當前GPU技術(shù)能夠再現(xiàn)追蹤表面及紋理中的許多多邊形且實時地照明該表 面,但若多邊形及紋理每一幀時間改變(其將產(chǎn)生最具照片般逼真感的結(jié)果),則其將迅速 地消耗現(xiàn)代PC或視頻游戲控制臺的所有可用RAM。使用上文所描述的流動幾何形狀技術(shù),將幾何形狀不斷地饋送至應用程序/游戲 服務器1521-1525中以使得其可不斷地動畫制作照片般逼真的面部從而允許產(chǎn)生具有幾 乎不能區(qū)別于現(xiàn)場直播的動作面部的面部的視頻游戲變得實際。線性內(nèi)容與互動式特征的整合電影、電視節(jié)目及音頻材料(統(tǒng)稱“線性內(nèi)容”)廣泛地以許多形式可用于家庭及 辦公室用戶。線性內(nèi)容可在如⑶、DVD、HD-DVD及藍光媒體的實體媒體上獲取。其也可通過 來自衛(wèi)星及電纜TV廣播的DVR來記錄。此外,其可以經(jīng)由衛(wèi)星及電纜TV的即付即看(PPV) 內(nèi)容及以電纜TV上的視頻點播(VOD)可用。日益增加的線性內(nèi)容可經(jīng)由互聯(lián)網(wǎng)以下載的內(nèi)容及流動內(nèi)容可用。現(xiàn)今,確實不 存在一個能體驗與線性媒體相關(guān)的所有特征的位置。舉例而言,DVD及其他視頻光學媒體 通常具有在其他位置處不可用的互動式特征(如導演的評論、“花絮”短片等)。在線音樂 站點具有通常在CD上不可用的封面藝術(shù)及歌曲信息,但并非所有CD在線可用。且與電視 節(jié)目相關(guān)聯(lián)的網(wǎng)站常常具有額外特征、博客及有時來自演員或創(chuàng)作人員的評論。另外,在許多電影或運動事件的情況下,通常有經(jīng)常連同線性媒體一起發(fā)行(在 電影的狀況下)或(在運動的狀況下)可以被緊密地聯(lián)系到真實世界事件(例如,玩家的交易)的視頻游戲。主機服務210非常適合于在將全異形式的相關(guān)內(nèi)容連結(jié)在一起時傳送線性內(nèi)容。 的確,傳送電影不如傳送高度互動式視頻游戲有挑戰(zhàn),且主機服務210能夠?qū)⒕€性內(nèi)容傳 送至家庭或辦公室中的多種設備,或傳送至移動設備。圖23顯示用于主機服務210的例示 性用戶接口頁面,其顯示線性內(nèi)容的選擇。但是,不同于大多數(shù)線性內(nèi)容傳送系統(tǒng),主機服務210還能夠傳送相關(guān)的互動式 成份(例如,DVD上的菜單及特征、HD-DVD上的互動式疊加層,及網(wǎng)站上的Adobe Flash動 畫(如下文所述))。因此,客戶端設備415限制不再引入哪些特征可用的限制。另外,主機代管系統(tǒng)210能夠動態(tài)且實時地將線性內(nèi)容與視頻游戲內(nèi)容連結(jié)在一 起。舉例而言,若用戶正觀看哈利波特電影中的Quidditch(魁地奇)比賽,且決定其愿意 嘗試玩Quidditch,則其可僅僅單擊按鈕且電影將暫停且其將被立即輸送到哈利波特視頻 游戲的Quidditch片段。在玩Quidditch比賽的后,另一次單擊按鈕,且電影將即刻重新開 始。在照片般逼真的圖形及制作技術(shù)的情況下,其中攝影捕獲的視頻不能區(qū)別于現(xiàn)場 直播的動作人物,當用戶進行自現(xiàn)場直播的動作電影中的Quidditch游戲至主機服務上的 視頻游戲中的Quidditch游戲的轉(zhuǎn)變時(如本文中所述),該兩個場景實際上不能區(qū)別。此 為線性內(nèi)容與互動式(例如,視頻游戲)內(nèi)容兩者的導演提供全新的創(chuàng)作選項,因為該兩個 世界之間的線變得不能區(qū)別。利用圖14中所顯示的主機服務架構(gòu),可將3D電影中的虛擬相機的控制提供給觀 看者。舉例而言,在發(fā)生于列車內(nèi)的場景中,將有可能允許觀看者在故事進展時控制虛擬相 機且環(huán)顧列車。此假定列車中的所有3D對象(“資產(chǎn)”)以及能夠?qū)崟r地再現(xiàn)所述場景以 及原始電影的足夠計算能力水平可用。且甚至對于非計算機產(chǎn)生的娛樂,存在可提供的非常刺激的互動式特征。舉例而 言,2005電影“傲慢與偏見”具有裝飾華麗的舊英國大廈中的許多場景。對于特定大廈場景, 用戶可將視頻暫停且接著控制相機以巡視大廈,或可能的周圍區(qū)域。為了實施這些,可攜 帶具有魚眼鏡頭的相機穿過大廈,當其追蹤其位置時,非常類似于實施先前技術(shù)Apple (蘋 果)公司的QuickTimeVR。各種幀接著將被轉(zhuǎn)換,因此圖像不失真,且接著其連同電影一起 被儲存于RAID陣列1511-1512上,且在用戶選擇繼續(xù)虛擬巡視時被回放。在運動事件的情況下,可經(jīng)由主機服務210來使現(xiàn)場直播的運動事件(諸如,籃球 比賽)流動以供用戶觀看(如同其對于常見TV所想要的那樣)。在用戶觀看特定播放之 后,游戲的視頻游戲(最終籃球玩家看起來與真實玩家一般照片般逼真)可趕上在同一位 置中開始的玩家,且用戶(可能各自控制一玩家)可重新玩以觀看其是否可比所述玩家做 得更佳。本文中所描述的主機服務210極其適合于支持此未來世界,因為其能夠承受不切 實際以致不能安裝于家庭中或大多數(shù)辦公室背景中的計算能力及大容量儲存資源,而且其 計算資源總是最新的(在可用的最新的計算硬件的情況下),但是在家庭背景中,將總是存 在具有較舊代的PC及視頻游戲的家庭。此外,在主機服務210中,用戶被隱瞞所有此計算 復雜度,因此,即使用戶可能正使用非常尖端的系統(tǒng),自用戶的觀點看,也如改變電視上的 信道一般簡單。另外,用戶將能夠存取所有計算能力及計算能力將自任何客戶端415帶來的體驗。多人游戲?qū)τ谟螒驗槎嗳擞螒虻某潭?,則游戲?qū)⒛軌虿粌H經(jīng)由入埠路由1502網(wǎng)絡傳達到 應用程序/游戲服務器1521-1525,而且通過網(wǎng)絡橋接器傳達至具有不在主機服務210中 執(zhí)行的服務器或游戲機器的互聯(lián)網(wǎng)(未圖示)。當通過通用互聯(lián)網(wǎng)上的計算機玩多人游戲 時,則應用程序/游戲服務器1521-1525將具有極快訪問互聯(lián)網(wǎng)的益處(與游戲在家庭中 的服務器上執(zhí)行的情況相比),但其將受在較緩慢連接上玩游戲的其他計算機的能力限制, 且也潛在地受互聯(lián)網(wǎng)上的游戲服務器被設計以適應最少共同點(common denominator)(所 述游戲服務器是相對較慢的消費者互聯(lián)網(wǎng)連接上的家庭計算機)的事實限制。但當完全在主機服務210服務器中心內(nèi)玩多人游戲時,則可達到極大差異。對用 于用戶的游戲進行主機代管的每個應用程序/游戲服務器1521-1525將與其他應用程序/ 游戲服務器1521-1525以及用極高速度、極低延時連接性及巨大、非??斓膬Υ骊嚵袑︶?對多人游戲的中央控制進行主機代管的任何服務器互連。舉例而言,若超高速以太網(wǎng)用于 入埠路由1502網(wǎng)絡,則應用程序/游戲服務器1521-1525將在彼此當中傳達,且傳達到以 十億比特/秒速度在潛在的僅1毫秒或1毫秒以下的延時下對針對多人游戲的中央控制進 行主機代管的任何服務器。另外,RAID陣列1511-1512將能夠非??焖俚仨憫医又允?億比特/秒速度傳送數(shù)據(jù)。作為一個實例,若用戶在外表及服裝方面定制人物,以使得人物 具有對于人物而言唯一的大量幾何形狀及行為,在限于在家庭中在PC或游戲控制臺上執(zhí) 行的游戲客戶端的先前技術(shù)系統(tǒng)下,若所述人物將進入另一用戶的視野中,則用戶將必須 等待直到長的緩慢下載完成為止,以便將所有幾何形狀及行為數(shù)據(jù)載入其計算機中。在主 機服務210內(nèi),所述相同下載可優(yōu)于以十億比特/秒速度從RAID陣列1511-1512服務的超 高速以太網(wǎng)。即使家庭用戶具有8Mbps互聯(lián)網(wǎng)連接(其根據(jù)現(xiàn)今的標準來看極快),超高速 以太網(wǎng)也快100倍。因此,在快的互聯(lián)網(wǎng)連接上花費一分鐘進行的工作在超高速以太網(wǎng)上 將花費小于一秒。頂級玩家分群及錦標賽主機服務210極其適合于錦標賽。因為無游戲在本地客戶端中執(zhí)行,所以不存在 用戶作弊的機會。而且,由于輸出路由1540多播UDP流的能力,使得主機服務210能夠同 時向觀眾中的數(shù)千人廣播較大錦標賽。事實上,當存在如此風行以致數(shù)千名用戶正接收相同流的特定視頻流時(例 如,顯示較大錦標賽的視圖),可以更有效的將視頻流發(fā)送到內(nèi)容傳送網(wǎng)絡(⑶N)(諸如, Akamai (阿卡邁公司)或Limelight (聚光燈公司))以用于大量分配到許多客戶端設備 415。當使用CDN來顯示頂級玩家分群的游戲取景器頁面時,可獲得類似水平的效率。對于較大錦標賽,可使用現(xiàn)場直播的名人解說員來在特定比賽期間提供評論。盡 管大量用戶將是在觀看較大錦標賽,且相對小數(shù)目將是在錦標賽中玩??蓪碜悦私庹f 員的音頻路由到對在錦標賽中玩的用戶進行主機代管且對錦標賽中的游戲的任何旁觀者 模式復本進行主機代管的應用程序/游戲服務器1521-1525,且可將音頻加錄于游戲音頻 之上??稍谟螒蛏?也可能剛好在旁觀者視圖上)疊加名人解說員的視頻。網(wǎng)頁載入的加速
全球信息網(wǎng)的主要傳送協(xié)議、超文本傳輸協(xié)議(HTTP)是被構(gòu)想并被限定在其中 僅商業(yè)具有高速互聯(lián)網(wǎng)連接,且在線的消費者使用撥號數(shù)據(jù)機或ISDN的時代中。此時,用 于快速連接的“黃金標準”是Tl線,其對稱地提供1. 5Mbps數(shù)據(jù)速率(也即,兩個方向中具 有相等數(shù)據(jù)速率)?,F(xiàn)今,情形完全不同。大量發(fā)達世界中經(jīng)由DSL或電纜調(diào)制解調(diào)器連接的平均家 庭連接速度具有比Tl線高得多的下行數(shù)據(jù)速率。事實上,在世界的一些地方中,光纖到路 邊(fiber-to-the-curb)正將高達50Mbps至IOOMbps的數(shù)據(jù)速率帶入家庭。遺憾地,HTTP沒有被架構(gòu)(也沒有被實施)成有效地利用該急劇的速度改善。網(wǎng) 站為遠程服務器上的檔案的集合。非常簡單地說,HTTP請求第一檔案,等待下載該檔案,且 接著請求第二檔案,等待下載該檔案等。事實上,HTTP允許一個以上“開放連接”(也即,每 次請求一個以上檔案),但由于商定的標準(及防止網(wǎng)絡服務器被超載的愿望)而使得僅準 許非常少的開放連接。此外,由于網(wǎng)頁被構(gòu)造的方式,瀏覽器常常未意識到可用于立即下載 的多個同時頁面(也即,僅在剖析一個頁面之后才變得顯而易見需要下載如圖像的新檔 案)。因此,網(wǎng)站上的檔案實質(zhì)上是逐個地載入。此外,由于由HTTP使用的請求及響應協(xié) 議,存在與所載入的每個檔案相關(guān)的大致(訪問美國的典型網(wǎng)絡服務器)100毫秒的延時。在相對低速連接的情況下,這不會引入大量問題,因為用于檔案本身的下載時間 決定網(wǎng)頁的等待時間。但是,隨著連接速度增大(尤其是復雜網(wǎng)頁情況下),開始引起問題。在圖24中所顯示的實例中,顯示了典型商業(yè)網(wǎng)站(該特定網(wǎng)站來自較大的運動鞋 商標)。網(wǎng)站上具有54個檔案。檔案包括HTML、CSS、JPEG、PHP、JavaScript及Flash檔 案,且包括視頻內(nèi)容。在現(xiàn)場直播網(wǎng)頁(也即,用戶可單擊該網(wǎng)頁并開始使用該網(wǎng)頁)之 前,必須載入總共1.5M字節(jié)。對于大量檔案存在許多原因。首先,該網(wǎng)頁為復雜且尖端的 網(wǎng)頁,且其次,該網(wǎng)頁為基于關(guān)于存取該頁面的用戶的信息動態(tài)地組合的網(wǎng)頁(例如,用戶 來自哪個國家,何種語言,用戶之前是否進行購買等),且視所有這些因素而下載不同檔案。 但是,其仍為非常典型的商業(yè)網(wǎng)頁。圖24顯示隨著連接速度增大在現(xiàn)場直播網(wǎng)頁之前經(jīng)過的時間量。在1. 5Mbps連接 速度2401下,使用具有傳統(tǒng)網(wǎng)絡瀏覽器的傳統(tǒng)網(wǎng)絡服務器,在現(xiàn)場直播網(wǎng)頁之前花費13. 5 秒。在12Mbps連接速度2402下,載入時間減少至6. 5秒,或約快一倍。但在96Mbps連接 速度2403下,載入時間僅減少至約5. 5秒。這個原因是因為在這種高下載速度下,下載檔 案本身的時間最小,但每個檔案各自大致100毫秒的延時仍保持,從而導致54個檔案*100 毫秒=5. 4秒的延時。因此,無論到家庭的連接多快,該網(wǎng)站在現(xiàn)場直播之前將總是花費至 少5. 4秒。另一因素是服務器側(cè)排隊;每個HTTP請求是在隊列的后部添加,因此在忙碌的 服務器上這將具有顯著影響,因為對于要從網(wǎng)絡服務器得到的每個小項目,HTTP請求需要 等待其返回。解決這些問題的一個方式是廢棄或重新限定HTTP?;蛘撸赡苁咕W(wǎng)站擁有者較佳 地將其檔案合并成單一檔案(例如,以Adobe Flash格式)。但是,作為一個實際問題,該 公司以及許多他人在其網(wǎng)站架構(gòu)中具有大量投資。另外,盡管一些家庭具有12-lOOMbps連 接,但大多數(shù)家庭仍具有較緩慢的速度,且HTTP在緩慢速度下確實工作良好。一個替代方法是在應用程序/游戲服務器1521-1525上對網(wǎng)絡瀏覽器進行主機 代管,且在RAID陣列1511-1512上(或潛在地在對網(wǎng)絡瀏覽器進行主機代管的應用程序/游戲服務器1521-1525上的RAM中或本地儲存器上)對用于網(wǎng)絡服務器的檔案進行主機代 管。由于經(jīng)由入埠路由1502 (或至本地儲存器)的非常快的互連,并非在使用HTTP下每檔 案具有100毫秒的延時,而是在使用HTTP下將存在每檔案最小延時。接著,并非使家庭中 的用戶經(jīng)由HTTP存取網(wǎng)頁,而是用戶可經(jīng)由客戶端415存取網(wǎng)頁。接著,甚至在1.5Mbps 連接下(因為此網(wǎng)頁不需要大量帶寬來用于其視頻),網(wǎng)頁也將在每個線2400小于1秒的 時間內(nèi)處于現(xiàn)場直播。實質(zhì)上,在應用程序/游戲服務器1521-1525上執(zhí)行的網(wǎng)絡瀏覽器 顯示現(xiàn)場直播的頁面之前將不存在延時,且在客戶端415顯示來自網(wǎng)絡瀏覽器的視頻輸出 之前將不存在可偵測到的延時。當用戶使用鼠標搜尋網(wǎng)頁和/或在網(wǎng)頁上鍵入字時,將用 戶的輸入信息發(fā)送至在應用程序/游戲服務器1521-1525上執(zhí)行的網(wǎng)絡瀏覽器,且網(wǎng)絡瀏 覽器將相應地作出響應。此方法的一個不利之處是若壓縮器正恒定地傳輸視頻數(shù)據(jù),則使用帶寬,即使網(wǎng) 頁變成靜態(tài)也如此。這可通過配置壓縮器以僅在(并且如果)網(wǎng)頁改變時才傳輸數(shù)據(jù)且接 著僅將數(shù)據(jù)傳輸?shù)桨l(fā)生改變的頁面部分來補救。當存在具有恒定地改變的閃爍標語等的一 些網(wǎng)頁時,所述網(wǎng)頁往往令人討厭,且除非存在要移動某物(例如,視頻剪輯)的原因,否 則通常網(wǎng)頁為靜態(tài)的。對于所述網(wǎng)頁,可能為以下狀況使用主機服務210將傳輸較少數(shù) 據(jù)(與傳統(tǒng)網(wǎng)絡服務器相比),因為將僅傳輸實際顯示的圖像,沒有精簡型客戶端可執(zhí)行代 碼,且沒有可能從不被觀看的大對象(諸如,滾動翻轉(zhuǎn)圖像)。因此,使用主機服務210來對舊版網(wǎng)頁進行主機代管,可將網(wǎng)頁載入時間減少到 打開網(wǎng)頁是類似改變電視上的頻道的程度有效地即刻地現(xiàn)場直播該網(wǎng)頁。便于游戲及應用程序的除錯如先前所述,具有實時圖形的視頻游戲及應用程序為非常復雜的應用程序且通常 當其被發(fā)行到該領(lǐng)域中時,其含有缺陷。盡管軟件開發(fā)商將自用戶得到關(guān)于缺陷的反饋,且 其可能具有用于在崩潰之后將機器狀態(tài)傳回的一些方式,但確切地識別是什么引起游戲或 實時應用程序崩潰或不適當?shù)貓?zhí)行非常困難。當游戲或應用程序在主機服務210中執(zhí)行時,將游戲或應用程序的視頻/音頻輸 出恒定地記錄在延遲緩沖器1515上。另外,看門狗進程執(zhí)行每個應用程序/游戲服務器 1521-1525,該看門狗進程將向主機服務控制系統(tǒng)401定期地報告應用程序/游戲服務器 1521-1525正平穩(wěn)地執(zhí)行。若看門狗進程未能報告,則服務器控制系統(tǒng)401將試圖與應用程 序/游戲服務器1521-1525通信,且若成功,則將收集可用的無論什么機器狀態(tài)。將無論什 么可用的信息連同由延遲緩沖器1515記錄的視頻/音頻一起發(fā)送到軟件開發(fā)商。因此,當游戲或應用程序軟件開發(fā)商自主機服務210得到崩潰的通知時,其得到 導致崩潰的原因的幀接幀的紀錄。該信息在追蹤到缺陷并將缺陷修復中可能是極具價值 的。還應該注意,當應用程序/游戲服務器1521-1525崩潰時,在最近的可重新啟動的 時刻重新啟動服務器,且將消息提供給用戶,從而就技術(shù)困難道歉。資源共用及成本節(jié)省圖4a及圖4b中所顯示的系統(tǒng)為終端用戶與游戲及應用程序開發(fā)商兩者提供多種 益處。舉例而言,通常,家庭及辦公室客戶端系統(tǒng)(例如,PC或游戲控制臺)僅在一周中的 小百分比的小時中處于使用中。根據(jù)由Nielsen(尼爾森)娛樂“Active Gamer Benchmark
58Study (活躍游戲者基準點研究)” (http://www. prnewswire. com/cgi-bin/stories, pi ? ACCT = 104&ST0RY = /www/story/10-05-2006/0004446115&EDATE =)的 2006 年 10 月 5 日通信稿,活躍的游戲者一周平均花費14個小時來在視頻游戲控制臺上玩且約一周17個 小時在手持設備上玩。該報告還陳述對于所有游戲播放活動(包括控制臺、手持設備及 PC游戲播放),活躍的游戲者平均一周13個小時??紤]較高數(shù)字的控制臺視頻游戲播放時 間,存在一周24*7 = 168個小時,這暗示在活躍游戲者的家中,視頻游戲控制臺僅在一周 的17/168 = 10%的小時中處于使用中?;蛘?,90%的時間,視頻游戲控制臺是閑置的。給 定視頻游戲控制臺的高成本,及制造商資助所述設備的事實,這是昂貴資源的非常無效率 的使用。商業(yè)內(nèi)的PC通常也僅在一周的一部分小時中使用,尤其是高端應用程序(諸如, Autodesk Maya)常常所需的非便攜式臺式PC。盡管一些商業(yè)在所有小時及假日都操作,且 一些PC(例如,帶回家以用于在晚上進行工作的便攜式PC)是在所有小時及假日使用,但大 多數(shù)商業(yè)活動傾向于在給定商業(yè)時區(qū)中集中在從周一至周五的約9AM至5PM、較少的假日 以及休息時間(諸如,午餐),且因為大多數(shù)PC使用在用戶積極地利用PC時出現(xiàn),所以其遵 循臺式PC的利用傾向于遵循這些操作小時數(shù)。若假定一周中的五天的自9AM至5PM不斷 地使用PC,則這將暗示PC在一周的40/168 = 24%的小時中被使用。高性能臺式PC是用 于商業(yè)的非常昂貴的投資,且這反映了非常低的利用度。在臺式計算機上教學的學校可在 一周的甚至更小部分中使用計算機,且盡管其視教學的小時數(shù)而改變,但大多數(shù)教學在自 周一至周五的日間小時期間出現(xiàn)。因此,一般而言,PC及視頻游戲控制臺僅在一周的小部 分小時中被利用。值得注意地,因為許多人在非假日的周一至周五的日間小時期間在商業(yè)或在學校 工作,所以這些人通常在這些小時期間不玩視頻游戲,且因此當其確實玩視頻游戲時,其通 常是在其他小時期間(諸如,晚上、周末及假日)。給定圖4a中所顯示的主機服務的配置,則上述兩段中所描述的使用模式導致資 源的非常有效的利用。顯而易見,存在對于可在給定時間由主機服務210來服務的用戶的 數(shù)目的限制,尤其在用戶需要用于復雜應用程序(如尖端3D視頻游戲)的實時響應性的情 況下。但是,不同于家庭中的視頻游戲控制臺或由商業(yè)使用的PC(其通常在大多數(shù)時間閑 置放置),服務器402可由不同用戶在不同時間重新利用。舉例而言,具有高性能雙CPU及 雙GPU及大量RAM的高性能服務器402可由商業(yè)及學校在非假日的9AM至5PM利用,但由 玩尖端視頻游戲的游戲者在晚上、周末及假日利用。類似地,低性能應用程序可由商業(yè)及學 校在商業(yè)小時期間在具有Celeron (賽揚)CPU、無GPU (或非常低端的GPU)及有限RAM的低 性能服務器402上利用且低性能游戲可在非商業(yè)小時期間利用低性能服務器402。另外,在本文中所描述的主機服務配置的情況下,資源是在數(shù)千名(若非數(shù)百萬 名)用戶當中有效地共用。一般而言,在線服務僅具有其總用戶基礎的小百分比在給定 時間使用服務。若考慮先前所列出的Nielsen視頻游戲使用統(tǒng)計數(shù)據(jù),則容易了解為什 么。若活躍游戲者一周僅17個小時玩控制臺游戲,且若假定游戲的峰值使用時間是在晚上 (5-12AM,7*5天=35小時/周)及周末(8AM-12AM,16*2 = 32小時/周)的典型非工作、 非商業(yè)小時期間,則對于17個小時的游戲播放,一周存在35+32 = 65個峰值小時。由于 以下許多原因而使得難以估計系統(tǒng)上的確切峰值用戶負載一些用戶將在峰值外時間期間 玩,可能存在特定日間時間存在用戶的叢集(clustering)峰值,峰值時間可受所玩游戲的
59類型(例如,孩子的游戲?qū)⒖赡苁窃谕砩系妮^早時間玩)等影響。但是,假定當游戲者可能 玩游戲時,游戲者玩的平均小時數(shù)遠小于日間的小時數(shù),則僅主機服務210的一部分數(shù)目 的用戶將是在給定時間使用主機服務210。為了該分析,我們假定峰值負載為12.5%。因 此,僅12. 5%的計算、壓縮及帶寬資源是在給定時間使用,從而由于資源的再使用而導致僅 12. 5%的硬件成本來支持給定用戶玩性能游戲的給定級別。此外,假定一些游戲及應用程序需要比其他者多的計算能力,則可基于被用戶玩 的游戲或由用戶執(zhí)行的應用程序來動態(tài)地分配資源。因此,選擇低性能游戲或應用程序的 用戶將被分配低性能(較低廉)服務器402,且選擇高性能游戲或應用程序的用戶將被分配 高性能(較昂貴)服務器402。實際上,給定游戲或應用程序可能具有游戲或應用程序的 較低性能及較高性能區(qū),且可在游戲或應用程序的區(qū)之間將用戶從一個服務器402切換到 另一服務器402,以保持用戶在滿足游戲或應用程序的需要的最低成本服務器402上執(zhí)行。 注意,比單個磁盤快得多的RAID陣列405將可以被甚至低性能服務器402所用,這具有較 快磁盤傳送速率的益處。因此,跨越所有所玩游戲或所使用的應用程序的每服務器402平 均成本比玩最高性能游戲或應用程序的大多數(shù)昂貴服務器402的成本小得多,然而,即使 低性能服務器402也會從RAID陣列405得到磁盤性能益處。另外,主機服務210中的服務器402可能只是不具有磁盤或周邊接口(不同于網(wǎng) 絡接口)的PC主機板,且恰好,可向下整合成剛好具有到SAN 403的快速網(wǎng)絡接口的單個 芯片。而且,RAID陣列405可能將在比存在磁盤的情況多得多的用戶當中共用,因此每個活 躍的用戶的磁盤成本將遠小于一個磁盤驅(qū)動器。所有該設備將可能駐留于環(huán)境上受控制的 服務器室環(huán)境中的支架中。若服務器402出故障,則其可容易地在主機服務210處進行修 理或替換。相比之下,家庭或辦公室中的PC或游戲控制臺必須堅固,必須能夠幸免于合理 的磨損及撕裂以防被重擊或降落的獨立器具需要外殼,具有至少一個磁盤驅(qū)動器,必須幸 免于不利的環(huán)境條件(例如,被勉強塞入具有其他用具的過熱AV櫥柜中),需要服務保證, 必須被封裝及裝運,且由可能收取零售利潤的零售商來出售。另外,PC或游戲控制臺必須 被配置以滿足將在未來某一時刻使用的計算上最密集的預期游戲或應用程序的峰值性能, 即使較低性能游戲或應用程序(或游戲或應用程序的區(qū))也可能在大多數(shù)時間玩。此外, 若PC或控制臺出故障,則使其得到修理是昂貴且耗時的過程(不利地影響制造商、用戶及 軟件開發(fā)商)。因此,假定圖4a中所顯示的系統(tǒng)將相當于本地計算資源的體驗的體驗提供給用 戶,以供用戶在家庭、辦公室或?qū)W校中體驗給定水平的計算能力,則通過圖4a中所顯示的 架構(gòu)提供所述計算能力要低廉得多。消除對升級的需要另外,用戶不必再擔憂將PC和/或控制臺升級以玩新游戲或處理較高性能的新 應用程序。主機服務210上的任何游戲或應用程序(不管所述游戲或應用程序需要何類 型的服務器402)均可為用戶所用,且所有游戲及應用程序接近即刻地執(zhí)行(也即,快速地 從RAID陣列405或服務器402上的本地儲存器載入)且適當?shù)鼐哂凶钚赂录叭毕菪迯?(也即,軟件開發(fā)商將能夠選擇用于執(zhí)行給定游戲或應用程序的服務器402的理想服務器 配置,且接著將服務器402配置有最佳驅(qū)動器,且接著隨著時間的推移,開發(fā)商將能夠同時 將更新、缺陷修復等提供給主機服務210中的游戲或應用程序的所有復本)。實際上,在用
60戶開始使用主機服務210之后,用戶可能發(fā)現(xiàn)游戲及應用程序繼續(xù)提供較佳體驗(例如,經(jīng) 由更新和/或缺陷修復)且可能是以下狀況用戶一年后發(fā)現(xiàn)新游戲或應用程序可用于利 用計算技術(shù)(例如,較高性能的GPU)(其在一年前甚至不存在)的服務210上,因此對于用 戶而言,將不可能購買將在一年后玩游戲或執(zhí)行應用程序的一年前的技術(shù)。因為玩游戲或 執(zhí)行應用程序的計算資源對于用戶而言不可見(也即,自用戶的觀點看,用戶僅選擇開始 接近即刻地執(zhí)行的游戲或應用程序_更像用戶改變電視上的信道),所以用戶的硬件將在 用戶甚至未意識到升級的情況下已被“升級”。消除對于備份的需要對于商業(yè)、學校及家庭中的用戶的另一較大問題是備份。若磁盤出故障,或若存在 無意擦除,則儲存在本地PC或視頻游戲控制臺中的信息(例如,在控制臺的狀況下,用戶的 游戲成果及等級)可能丟失。存在提供用于PC的手動或自動備份的許多可用的應用程序, 且可將游戲控制臺狀態(tài)上傳至在線服務器以供備份,但通常將本地備份復制至必須儲存于 安全且有組織的某處的另一本地磁盤(或其他非揮發(fā)性儲存設備),且由于經(jīng)由典型低成 本互聯(lián)網(wǎng)連接可用的緩慢上行速度而使得對于在線服務的備份常常有限。在圖4a的主機 服務210下,儲存于RAID陣列405中的數(shù)據(jù)可使用為本領(lǐng)域技術(shù)人員所熟知的先前技術(shù) RAID配置技術(shù)來配置,以使得當磁盤出故障時,將不丟失數(shù)據(jù),且將通知在容納出故障的磁 盤的服務器中心處的技術(shù)員,且接著技術(shù)員將替換該磁盤,該磁盤接著將被自動地更新以 使得RAID陣列再一次容忍故障。另外,因為所有磁盤驅(qū)動器彼此接近且其間具有經(jīng)由SAN 403的快速本地網(wǎng)絡,所以在服務器中心中將所有磁盤系統(tǒng)配置定期地備份到次級儲存器 (其可儲存于服務器中心處或者經(jīng)易地重新定位)并不困難。從主機服務210的用戶的觀 點看,其數(shù)據(jù)始終完全安全,且其從不必考慮備份。對演示的存取用戶經(jīng)常希望在購買游戲或應用程序的前試用游戲或應用程序。如先前所述,存 在先前技術(shù)裝置,通過該先前技術(shù)裝置來演示(“演示”的動詞形式意思是試用演示版本,演 示版本也被稱為“演示”,但作為名詞)游戲及應用程序,但其中的每一者遭受限制和/或不 便利。使用主機服務210,對于用戶而言,容易且便于試用演示。實際上,用戶所進行的系經(jīng) 由用戶接口(諸如,下文所描述的用戶接口)選擇演示且試用該演示。演示將幾乎即刻地 載入適合于該演示的服務器402上,且其將完全類似任何其他游戲或應用程序而執(zhí)行。無 論演示需要非常高性能的服務器402還是低性能的服務器402,且無論用戶使用的家庭或 辦公室客戶端415是何類型,自用戶的觀點看,演示均將工作。游戲演示或應用程序演示的 軟件出版商將能夠確切地控制準許用戶試用何演示及試用多長時間,且當然,演示可包括 為用戶提供獲得對所演示的游戲或應用程序的全版本的存取機會的用戶接口要素。因為演示可能是低于成本價或免費提供,所以一些用戶可能試圖使用重復的演示 (尤其是重復地玩可能有趣的游戲演示)。主機服務210可使用各種技術(shù)來限制用于給定 用戶的演示使用。最直接的方法是建立用于每個用戶的用戶ID且限制允許給定用戶ID播 放演示的次數(shù)。然而,用戶可設置多個用戶ID,尤其是其是自由的情況下。用于解決此問 題的一個技術(shù)是限制允許給定客戶端415播放演示的次數(shù)。若客戶端為獨立設備,則該設 備將具有一序號,且主機服務210可限制演示可由具有所述序號的客戶端存取的次數(shù)。若 客戶端415正以PC或其他設備上的軟件執(zhí)行,則可由主機服務210來指派序號且將該序號儲存于PC上并使用該序號來限制演示使用,但假定PC可由用戶來重新程序化,且序號被擦 除或改變,則另一選項是主機服務210保持PC網(wǎng)絡適配器媒體訪問控制(MAC)地址(和/ 或其他機器特定識別符,諸如硬盤驅(qū)動器序號等)的紀錄并將演示使用限制于該MAC地址。 假定可改變網(wǎng)絡適配器的MAC地址,然而,這并非極簡單的方法。另一方法是限制演示可被 播放到給定IP地址的次數(shù)。盡管可由電纜調(diào)制解調(diào)器及DSL提供者來周期性地重新指派 IP地址,但其在實踐中不會非常頻繁地發(fā)生,且若可確定(例如,通過聯(lián)系ISP) IP是處于用 于住宅DSL或電纜調(diào)制解調(diào)器存取的IP地址的區(qū)塊中,則通??山⒂糜诮o定家庭的小數(shù) 目的演示使用。而且,在家庭中在共用同一 IP地址的NAT路由器之后可能存在多個設備, 但通常在住宅背景中,將存在有限數(shù)目的所述設備。若IP地址是處于服務商業(yè)的區(qū)塊中, 則可建立用于商業(yè)的較大數(shù)目的演示。但是,最后,所有先前所述方法的組合是限制PC上 的演示的數(shù)目的最佳方式。盡管可能不存在使得所確定的且技術(shù)上熟練的用戶可能在重復 播放演示的數(shù)目中受到限制的極簡單的方式,但建立大量障礙可建立足夠阻礙以使得大多 數(shù)PC用戶不值得費神去濫用演示系統(tǒng),且相反,其在其意欲試用新游戲及應用程序時使用 演示。對學校、商業(yè)及其他機構(gòu)的益處顯著益處尤其出現(xiàn)在利用圖4a中所顯示的系統(tǒng)的商業(yè)、學校及其他機構(gòu)。商業(yè)及 學校具有與安裝、維護及升級PC相關(guān)聯(lián)的實質(zhì)成本,尤其當談及執(zhí)行諸如Maya的高性能應 用程序的PC時。如先前所陳述,PC通常僅在一周的小時的一部分中被利用,且如在家庭中, 具有給定水平的性能能力的PC在辦公室或?qū)W校環(huán)境中的成本遠高于在服務器中心環(huán)境中 的成本。在較大商業(yè)或?qū)W校(例如,大的大學)的狀況下,所述實體的IT部門設置服務 器中心且維護經(jīng)由LAN級連接而遠程地存取的計算機可以是實際的。存在用于經(jīng)由LAN 或經(jīng)由辦公室之間的私用高帶寬連接而遠程存取計算機的許多解決方法。舉例而言, 通過Microsoft的Windows終端機服務器,或者通過虛擬網(wǎng)絡計算應用程序(如來自 RealVNC(遠程控制)有限公司的VNC)或者通過來自Sun Microsystems (太陽計算機系統(tǒng) 公司)的精簡型客戶端裝置,用戶可獲得對PC或服務器的遠程存取,在圖形響應時間及用 戶體驗中具有一定范圍的質(zhì)量。另外,所述自行管理的服務器中心通常專用于單個商業(yè)或 學校,且因此不能夠利用在全異應用程序(例如,娛樂及商業(yè)應用程序)在一周的不同時間 利用同一計算資源時所可能的使用的重疊。因此,許多商業(yè)及學校缺乏獨立設置具有至每 一用戶的LAN速度的網(wǎng)絡連接的服務器中心的規(guī)模、資源或?qū)iT技能。實際上,大百分比的 學校及商業(yè)具有與家庭相同的互聯(lián)網(wǎng)連接(例如,DSL、電纜調(diào)制解調(diào)器)。然而,所述組織仍可能具有對于非常高性能的計算的需要(或者定期地或者周期 性地)。舉例而言,小建筑公司可能僅具有小數(shù)目的建筑師,當進行設計工作時,具有相對適 度的計算需要,但其可能周期性地需要非常高性能的3D計算(例如,當建立用于客戶端的 新建筑設計的3D飛越時)。圖4a中所顯示的系統(tǒng)極其適合于所述組織。所述組織僅需要 為提供至家庭的同一種類的網(wǎng)絡連接(例如,DSL、電纜調(diào)制解調(diào)器)且通常非常低廉。其 可利用低廉的PC作為客戶端415,或者完全沒有PC也可以,而利用簡單實施控制信號邏輯 413及低延時視頻解壓縮412的低廉的專用設備。該特征對于可能具有PC的偷竊或?qū)C 內(nèi)的專用組件的損壞的問題的學校特別有吸引力。
這種配置解決了用于所述組織的許多問題(且許多這種優(yōu)點也為進行通用計算 的家庭用戶共用)。舉例而言,操作成本(其最終必須以某種形式傳遞回至用戶以便具有 可行的商業(yè))可能低得多,因為(a)計算資源是與在一周中具有不同峰值使用時間的其他 應用程序共用,(b)所述組織可僅在需要時獲得(且招致成本)對高性能計算資源的存取, (c)所述組織不必提供用于備份或以其他方式維護高性能計算資源的資源。盜版的消除另外,游戲、應用程序、互動式電影等可能不再如現(xiàn)今這樣被盜版。因為游戲是在 服務器中心處執(zhí)行,所以用戶不具備對于基本程序碼的存取,因此不存在盜版。即使用戶將 要復制原始碼,用戶也不能夠在標準游戲控制臺或家庭計算機上執(zhí)行該碼。此打開了標準 視頻游戲不可用的世界各地(諸如,中國)的市場。已使用的游戲的重新銷售也是不可能 的。對于游戲開發(fā)商而言,如同現(xiàn)今的狀況,存在較少市場不連續(xù)性。與全新的一代技 術(shù)迫使用戶及開發(fā)商升級且游戲開發(fā)商取決于硬件平臺的及時傳送的當前情形對比,可隨 著時間隨著游戲要求改變而逐漸地更新主機服務210。流動互動式視頻以上描述提供由以通用互聯(lián)網(wǎng)為基礎的低延時流動互動式視頻(其隱含地也包 括連同視頻一起的音頻,如本文中所使用)的新穎基本概念致能的多種應用。經(jīng)由互聯(lián)網(wǎng) 而提供流動視頻的先前技術(shù)系統(tǒng)僅具有可通過高延時互動實施的所致能的應用。舉例而 言,用于線性視頻的基本回放控制(例如,暫停、回倒、快進)在高延時下適當?shù)毓ぷ?,且?可能在線性視頻饋送當中進行選擇。此外,如先前所陳述,一些視頻游戲的性質(zhì)允許其以高 延時來播放。但是,用于流動視頻的先前技術(shù)方法的高延時(或低壓縮比率)嚴重限制流 動視頻的潛在應用或使其部署變窄到專門化的網(wǎng)絡環(huán)境,且甚至在所述環(huán)境中,先前技術(shù) 也引入網(wǎng)絡上的實質(zhì)負擔。本文中所描述的技術(shù)打開了在經(jīng)由互聯(lián)網(wǎng)的低延時流動互動式 視頻下可能的多種應用的大門,尤其是經(jīng)由消費者級互聯(lián)網(wǎng)連接而致能的所述應用。實際上,在與圖4c的客戶端465 —般小的客戶端設備下,足以通過有效的任意量 的計算能力、任意量的快速儲存及強大服務器之間的極快網(wǎng)絡連接而提供增強的用戶體 驗,其使新的計算時代成為可能。另外,因為帶寬要求并不隨著系統(tǒng)的計算能力增長而增長 (也即,因為帶寬要求僅關(guān)于顯示分辨率、質(zhì)量及幀速率),所以一旦寬帶互聯(lián)網(wǎng)連接性是 普遍存在的(例如,經(jīng)由分布廣的低延時無線涵蓋)、可靠的且具有足以滿足所有用戶的顯 示設備422的需要的足夠高的帶寬,則問題將是典型消費者及商業(yè)應用所必要的是厚重客 戶端(諸如,執(zhí)行Windows、Linux、OSX等的PC或移動電話)還是甚至精簡型客戶端(諸 如,Adobe Flash 或 Java)。流動互動式視頻的出現(xiàn)導致關(guān)于計算架構(gòu)的結(jié)構(gòu)的假定的重新考慮。該一個實例 是圖15中所顯示的主機服務210服務器中心實施例。用于延遲緩沖G器和/或分群視頻 1550的視頻路徑是反饋回路,其中應用程序/游戲服務器1521-1525的經(jīng)多播的流動互動 式視頻輸出經(jīng)由路徑1552而實時地或者經(jīng)由路徑1551在可選擇的延遲之后被反饋回到應 用程序/游戲服務器1521-1525中。這使得通過先前技術(shù)服務器或本地計算架構(gòu)將是不可 能或不可行的多種實際應用(例如,諸如圖16、圖17及圖20中所說明的應用)成為可能。 但是,作為更一般的架構(gòu)特征,反饋回路1550所提供的是流動互動式視頻水平下的遞歸,因為可在應用程序需要視頻時將視頻無限地循環(huán)。這使得之前從未可用的多種應用可能性 成為可能。另一關(guān)鍵架構(gòu)特征在于視頻流是單向UDP流。這有效地實現(xiàn)流動互動式視頻的 任意程度的多播(相比之下,諸如TCP/IP流的雙向流將隨著用戶的數(shù)目增加而在來自來回 通信的網(wǎng)絡上產(chǎn)生越來越多的通信停滯)。多播是服務器中心內(nèi)的重要能力,因為其允許系 統(tǒng)對互聯(lián)網(wǎng)用戶(且實際上,世界的人口)的增長的需要作出響應以在一對多或甚至多對 多基礎上通信。再次,本文中所論述的說明流動互動式視頻遞歸與多播兩者的使用的實例 (諸如,圖16)僅為具有可能性的非常大的冰山的尖端。在一個實施例中,本文中所說明的各種功能模組及相關(guān)聯(lián)的步驟可由含有用于執(zhí) 行所述步驟的固線式邏輯的特定硬件組件(諸如,特殊用途集成電路(“ASIC”))或由被編 程的計算機組件與定制硬件組件的任何組合來執(zhí)行。在一個實施例中,可將所述模組實施于諸如Texas儀器的TMS320x架構(gòu)(例如, TMS320C6000, TMS320C5000,...等)的可編程數(shù)字信號處理器(“DSP”)上。可使用各種 不同的DSP,同時仍遵守所述基本原理。實施例可包括如上文所闡述的各種步驟。所述步驟可體現(xiàn)于引起通用或?qū)S锰幚?器執(zhí)行特定步驟的機器可執(zhí)行指令中。已將與這些基本原理無關(guān)的各種元件(諸如,計算 機存儲器、硬碟機、輸入設備)從圖中省去以避免混淆相關(guān)方面。所公開的標的物的要素也可作為用于儲存機器可執(zhí)行指令的機器可讀媒體來提 供。機器可讀媒體可包括(但不限于)閃存、光碟、CD-ROM、DVDROM、RAM、EPR0M、EEPR0M、磁 卡或光卡、傳播媒體或適合于儲存電子指令的其他類型的機器可讀媒體。舉例而言,本發(fā)明 可作為計算機程序來下載,該計算機程序可經(jīng)由通信鏈路(例如,數(shù)據(jù)機或網(wǎng)絡連接)借助 于體現(xiàn)在載波或其他傳播媒體中的數(shù)據(jù)信號而從遠程計算機(例如,服務器)傳送到請求 計算機(例如,客戶端)。還應理解,所公開的標的物的要素也可作為計算機程序產(chǎn)品來提供,該計算機程 序產(chǎn)品可包括在上面儲存有指令的機器可讀媒體,所述指令可用于程序化計算機(例如, 處理器或其他電子設備)以執(zhí)行一序列操作。或者,所述操作可通過硬件與軟件的組合來 執(zhí)行。機器可讀媒體可包括(但不限于)軟盤、光盤、CD-ROM,及磁光盤、ROM、RAM、EPROM、 EEPR0M、磁卡或光卡、傳播媒體或適合于儲存電子指令的其他類型的媒體/機器可讀媒體。 舉例而言,所公開的標的物的要素可作為計算機程序產(chǎn)品來下載,其中程序可經(jīng)由通信鏈 路(例如,數(shù)據(jù)機或網(wǎng)絡連接)借助于體現(xiàn)于載波或其他傳播媒體中的數(shù)據(jù)信號而自遠程 計算機或電子設備傳送至請求過程。另外,盡管已結(jié)合特定實施例描述所公開的標的物,但眾多修改及變更將適當?shù)?處于本公開的范疇內(nèi)。因此,說明書及圖式應視為說明性的而非限制性的意義。
權(quán)利要求
一種用于執(zhí)行視頻壓縮的計算機實施的方法,該方法包含邏輯上將圖像序列中的每一個圖像再分成多個圖像塊,所述圖像塊中的每一個圖像塊具有在所述圖像序列中的每一個圖像內(nèi)的限定位置,所述限定位置在連續(xù)圖像之間保持相同;在所述圖像序列中檢測在所述圖像塊中的每一個圖像塊的每一個位置處發(fā)生的運動;以及使用特定數(shù)目的比特對所述圖像序列中的每個圖像內(nèi)的每個圖像塊進行編碼,該比特的數(shù)目是基于所檢測的在所述圖像序列上的每個圖像塊的位置處的運動的量來選擇的。
全文摘要
本發(fā)明描述一種用于使用幀間編碼來編碼互動式低延時視頻的系統(tǒng)及方法。舉例而言,一種用于執(zhí)行視頻壓縮的計算機實施的方法的一個實施例包含邏輯上將圖像序列中的每一者再分成多個圖像塊,所述圖像塊中的每一者具有在該圖像序列中的每一者內(nèi)的限定的位置,該限定的位置在連續(xù)圖像之間保持相同;在所述圖像序列的每個圖像中檢測在所述圖像塊中的每一個圖像塊的每一個位置處發(fā)生的運動或場景復雜度;以及使用特定數(shù)目的比特對所述圖像序列中的每個圖像內(nèi)的每個圖像塊進行編碼,該比特的數(shù)目是基于所檢測的在所述圖像序列上的每個圖像塊的位置處的運動的量來選擇的。
文檔編號G06F17/00GK101918943SQ200880119427
公開日2010年12月15日 申請日期2008年12月4日 優(yōu)先權(quán)日2007年12月5日
發(fā)明者R·范德拉安, S·G·珀爾曼 申請人:生命力有限公司