TW201501761A - 以遊戲者之注意區域爲基礎改善視訊串流的速率控制位元分配 - Google Patents

以遊戲者之注意區域爲基礎改善視訊串流的速率控制位元分配 Download PDF

Info

Publication number
TW201501761A
TW201501761A TW102145620A TW102145620A TW201501761A TW 201501761 A TW201501761 A TW 201501761A TW 102145620 A TW102145620 A TW 102145620A TW 102145620 A TW102145620 A TW 102145620A TW 201501761 A TW201501761 A TW 201501761A
Authority
TW
Taiwan
Prior art keywords
player
frame
video
attention area
bit rate
Prior art date
Application number
TW102145620A
Other languages
English (en)
Inventor
哈珊S 艾薩
Original Assignee
輝達公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 輝達公司 filed Critical 輝達公司
Publication of TW201501761A publication Critical patent/TW201501761A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)

Abstract

本發明揭示一種視訊編碼器、一種編碼一視訊資料像框之方法、及一種產生一編碼視訊串流的三維模型化系統。在一具體實施例中,該方法包括:(1)自一應用程式接收要被編碼的一視訊資料像框,(2)針對該視訊資料像框決定一遊戲者注意區域,及(3)藉由以該遊戲者注意區域為基礎來分配該像框的位元以改變該視訊資料像框的編碼。

Description

以遊戲者之注意區域為基礎改善視訊串流的速率控制位元分配
本申請案一般關於雲端遊戲(cloud gaming),更特定而言係關於在雲端遊戲的脈絡中的視訊串流(video streaming)。
桌上型電腦仍維持可取得之最高效能個人電腦,並適用於傳統商業、個人與遊戲者。但是,因為個人運算的使用是由純粹生產力偏向為包含媒體散播與遊戲,更重要地是因為媒體串流與遊戲形成個人運算科技的先端,所以,「每天」的運算之處理需求以及高層次遊戲或更特定而言針對高層次圖形顯像(graphics rendering)之那些處理需求之間成為兩極化的發展。
高層次圖形顯像之該等處理需求造成特殊化硬體的發展,例如圖形處理器(Graphics processing unit,GPU)與圖形處理系統(圖形卡(graphics card))。對於許多使用者而言,高層次圖形硬體大致上皆為低利用率的狀況。高層次圖形硬體之顯像頻寬僅耗費在傳統的生產性應用程式(productivity application)與媒體串流。雲端圖形處理為圖形顯像資源的集中化,主要目的在於克服該發展上的錯置。
在雲端架構中,類似於傳統的媒體串流,圖形內容被儲存,然後在一伺服器上被取回並顯像,在其中被編碼、封包化並在一網路上傳 送給一用戶端成為一視訊串流(通常包括音訊)。該用戶端僅解碼該視訊串流並顯示該內容。因此在需要有能力來播放視訊的該用戶端上可排除高層次圖形硬體。
在一種態樣中,本發明提供一種用於編碼一視訊資料像框(a frame of video data)之方法。在一具體實施例中,該方法包括:(1)自一應用程式接收要被編碼的一視訊資料像框,(2)針對該視訊資料像框決定一遊戲者注意區域(gamer’s attention area),及(3)藉由以該遊戲者注意區域為基礎來分配該像框的位元,以改變該視訊資料的像框之編碼。
在另一種態樣中,本發明提供一種視訊編碼器。在一具體實施例中,該視訊編碼器包括:(1)一編碼引擎(encoding engine),其組態以接收代表一視訊資料像框之訊號,並產生關於該視訊資料的像框之編碼資訊(encoded information),及(2)一位元速率修改器(bit rate modifier),其耦接於該編碼引擎,並組態成藉由根據該像框的一遊戲者注意區域來分配該像框的位元以改變該編碼資訊。
在又另一種態樣中,本發明提供一種產生一編碼視訊串流(encoded video stream)的一三維模型化系統。在一具體實施例中,該系統包括:(1)一內容引擎(content engine),(2)一顯像器(render),其耦接於該內容引擎,並組態以自該內容引擎接收關於一三維模型的資訊,並產生相對應的二維影像,及(3)一視訊編碼器,其耦接於該顯像器,並組態以自該顯像器接收該等二維影像,並產生一相對應編碼視訊串流。該視訊編碼器另組態以改變用於產生該相對應編碼視訊串流之一像框的多個位元的分配,上述改變是以該像框的一遊戲者注意區域為基礎。
100‧‧‧雲端遊戲系統
110‧‧‧網路
120‧‧‧伺服器
122‧‧‧網路介面卡
124‧‧‧中央處理單元
125‧‧‧遊戲引擎
130‧‧‧圖形處理器
132‧‧‧圖形顯像器
134‧‧‧像框捕捉器
136‧‧‧編碼器
140‧‧‧用戶端
142‧‧‧網路介面卡
144‧‧‧解碼器
146‧‧‧視訊顯像器
148‧‧‧顯示器
150‧‧‧輸入裝置
200‧‧‧編碼器
203‧‧‧視訊像框
205‧‧‧編碼視訊像框
207‧‧‧注意資料中心
209‧‧‧編碼控制資訊
210‧‧‧編碼引擎
220‧‧‧位元速率修改器
305、310、320、330、340、350‧‧‧步驟
現在請參照配合該等附屬圖式所做的以下說明,其中:圖1例示一種雲端遊戲系統之一具體實施例的方塊圖;圖2例示根據本發明之原理所建構的視訊編碼器之具體實施例的方塊圖;圖3例示根據本發明之原理所進行之一種編碼一視訊串流的像框的方法的具體實施例之流程圖;及圖4例示一像框的一QP偏置地圖(offset map)的示例。
在一種雲端架構中於一網路上傳送內容做為一視訊串流是具有挑戰性的。即時視訊壓縮為用於輔助傳送該內容之一種特徵。概言之,視訊壓縮或視訊編碼將一像框與先前像框做比較,並僅傳送像框之間的該等差異。如果該視訊僅有少量移動,這種編碼即非常適用。例如,一文字的靜止像框可利用非常少的傳送資料來重複。但是,如果該視訊具有更多的移動,有更多的像素(pixel)在一像框到下一像框間改變,則因此該視訊壓縮方式必須傳送更多的資料來跟上改變中的更大量的像素。
通常最值得注意的視訊內容可能在像框之間具有很大的差異(例如大量的移動、***等)。基本上需要一種非常強大的視訊處理架構來處理這種資料量極大的視訊。這種視訊通常具有大量的高頻細節,為了維持像框速率(frame rate),該視訊處理器可降低該視訊的品質或增加該視訊的位元速率來將此加入的資訊以及與先前像框中相同的細節程度來顯像。
但是在一網路上串流位元對於營運商而言耗費金錢,且在一易有錯誤的網路上之有限頻寬將造成較高的潛時(latency)。當運行一遊戲或其它三維應用程式時,如此將會對使用者經驗造成負面影響(於輸入動作與螢幕上顯示顯像的結果之間可察覺到遲滯(lag))。
因此,在此可瞭解到一使用者(此處稱之為遊戲者)的一注意 區域可被利用於一視訊壓縮程序當中,來在當傳送內容到一用戶端時聰明地分配位元。因此,本發明提供多種具體實施例與方式來改善由一編碼器做位元分配來例如降低該位元速率。在一具體實施例中,提供一種改良的編碼器,其可更為有效地分配每個像框的位元,其藉由依據該遊戲者的注意區域來準確地導引速率控制位元分配。因此,該經揭示的編碼器可組態以針對一遊戲者至少可維持一像框之感知視覺品質(perceivd visual quality)。在一些具體實施例中,該經揭示的編碼器有彈性地可以:(1)當增加該像框的感知視覺品質時,藉由增加在一遊戲者的注意區域(或多個區域)中的位元數目而減少在該像框中別處的位元數目來維持在一像框中的位元總數,及/或(2)當維持該像框的感知視覺品質時,藉由在該遊戲者的注意區域(或多個區域)中保持相同的位元數目,並減少在該像框中別處的位元數目來減少在一像框中的位元總數。因此對於一像框的感知視覺品質可基於一遊戲者對於該遊戲者之注意區域的感知而具有主觀性。例如,位元可被分配到一遊戲者重視的地方,以改善在一注意區域中的視覺品質。此外,在一遊戲者不是那麼重視的地方則可以降低或積極地降低該位元數目;藉此來降低潛時與成本。在一些具體實施例中,該遊戲者的注意區域可由遊戲提示、一遊戲者的注意模型、智慧型眼鏡、一頭部追蹤裝置或其組合來決定。
該遊戲者的注意模型可至少針對某些遊戲類別(通常稱之為第一人稱射擊手(First Person Shooter,FPS))來辨識出代表一遊戲者的注意區域之經驗資料。例如,一遊戲者的眼睛在玩遊戲時80%-90%的時間傾向於停留在一螢幕的中心。此外,一遊戲者的眼睛會受到移動的吸引,並偶而會檢查被顯示的一抬頭顯示器(Heads-Up-Display,HUD)或使用者介面(User Interface,UI)元件。
如此處所討論者,提供一種位元速率修改器,其以該遊戲者的注意區域為基礎來調整一編碼器之位元分配的加權。在一具體實施例中,該遊戲者的注意區域由共通移動(global motion)來決定或至少部份地決定。 共通移動關聯於由該遊戲者控制的該相機的動作。對於不同種類的遊戲資訊或資料,該共通移動可由該遊戲引擎以一提示方式取得,例如像是在2012年10月1日立案的美國專利申請編號13/632,210以及在2012年12月11日立案的美國專利申請編號13/711,358中所揭示者。該共通移動可由一共通移動向量(global motion vector)來表示。
在一具體實施例中,如果共通移動為零,則該揭示的編碼器以正常速率來操作控制位元分配。在該例中,係假設該遊戲者最有可能掃描整個場景來在進行一動作前拾取任何有用的資訊。因此,在不改變該位元分配之下,使用該預設速率控制來確保該等位元橫跨該像框為均勻地分配。
若有共通移動或較大的共通移動,該遊戲者的眼睛最有可能聚焦在追尋該注意區域處的一目標。在該例中,該經揭示的方式被啟動,並分配更多的位元給該遊戲者的注意區域。此外,在別處分配較少的位元,以允許對數式位元分配下降(fall-off)的偏心性(eccentricity)。可使用一二維高斯(Gaussian)模型或另一種數學模型來表示該遊戲者的注意區域並控制位元分配。例如,可使用一偏移不變模型來代表一眼睛的影像形成。該淨結果可改善主觀的品質與位元節省。在一些實例中,當眼睛追蹤很難來預測/相關連時,該編碼器能夠自動地反饋給一般的速率控制位元分配方法。
在一些具體實施例中,一像框可包括一遊戲者可使用之多個注意中心。例如,一遊戲引擎可在遊戲者追尋的目標上放置「標示器(marker)」。HUD或UI元件亦可被辨識為一遊戲者的注意中心。遊戲提示可被傳送到該編碼器來指明這些多個注意中心。
在說明此處所介紹的該編碼器或方法之具體實施例之前,將說明該編碼器或方法可在其中實施或執行的一雲端遊戲環境。
圖1所示為根據本發明之原理所建構的一雲端遊戲系統100之一具體實施例的方塊圖。雲端遊戲系統100包括一網路110,藉此一伺服 器120與一用戶端140可進行通訊。伺服器120代表遊戲內容、處理與顯像資源之中央儲存庫。用戶端140為該內容與那些資源的消費者。伺服器120可自由地擴充,並有能力藉由利用到平行與經分配的處理與顯像資源來同時提供該內容與那些服務給許多用戶端。伺服器120的可擴充性受限於網路110的能力,其中高於某個臨界數量的用戶端及網路頻寬的不足皆需要將對於所有用戶端之服務做平均地降級。
伺服器120包括一網路介面卡(Network interface card,NIC)122、一中央處理單元(CPU)124與一GPU 130。對於來自用戶端140的要求,圖形內容經由在一內容引擎上執行的一應用程式自記憶體叫回,例如CPU 124的遊戲引擎125。如同在圖形應用程式中,例如視訊遊戲,CPU 124(更特定而言為遊戲引擎125)保留其本身用於執行高階作業,例如決定在一給定場景中的物體的位置、移動與碰撞。由這些高階作業,遊戲引擎125產生顯像命令,當其結合於該場景資料時,可由GPU 130執行。例如,顯像命令與資料可定義場景幾何、光線、著色(shading)、紋路(texturing)、移動與一場景的相機參數(camera parameter)。
遊戲引擎125基本上可產生一圖形顯像器132的參數,其包括一相機位置,由此位置圖形顯像器132產生其2D影像,以及代表該3D模型幾何映射到一2D影像的一投影矩陣(projection matrix)。在一些具體實施例中,相機位置及/或一投影矩陣係包括在提供給一編碼器136的一位元速率修改器的注意區域資料中。由相機位置及/或投影矩陣的先前數值改變成目前數值,並結合該3D模型之元件的該Z-緩衝器資訊(影像深度座標資訊),即可指明橫跨該影像的共通移動。
GPU 130包括圖形顯像器132、一像框捕捉器134與編碼器136。圖形顯像器132根據由CPU 124產生的該等顯像命令執行顯像程序,而產生該場景的視訊的一像框串流。那些原始視訊像框由像框捕捉器134捕捉,並由編碼器136編碼。編碼器136格式化該原始視訊串流進行傳輸, 可能利用一種視訊壓縮演算法,例如電信標準化部門(International Telecommunication Union Telecommunication Standardization Sector(ITU-T))所提出的H.264標準,或是來自International Organization for Standardization/International Electrotechnical Commission(ISO/IEC)的MPEG-4先進視訊編碼(AVC,“Advanced Video Coding”)標準。另外,該視訊串流可被編碼成Windows Media Video®(WMV)格式、VP8格式、或任何其它視訊編碼格式。
CPU 124預備該編碼的視訊串流用於傳輸,其一同傳送到NIC 122。NIC 122包括經由像是Ethemet,Wi-fi或網際網路協定(IP)的網路協定而在網路110上進行通訊所需要的電路。NIC 122提供該實體層(physical layer),以及伺服器120的網路介面之軟體層的基礎。
用戶端140接收該傳送的視訊串流做顯示。用戶端140可為多種個人運算裝置,其包括:一桌上型或膝上型個人電腦、一平板電腦、一智慧型手機或一電視。用戶端140包括一NIC 142、一解碼器144、一視訊顯像器146、一顯示器148與一輸入裝置150。NIC 142類似於NIC 122包括在網路110上進行通訊所需要的電路,並提供該實體層與用戶端140的網路介面之軟體層的基礎。該傳送的視訊串流由用戶端140經由NIC 142接收。用戶端140可利用NIC 142基於該接收的視訊串流收集服務品質(Quality of Service,QoS)統計資料,其中包括封包遺失與單向延遲。
然後該視訊串流由解碼器144做解碼。解碼器144必須匹配編碼器136,其中每一者必須利用相同的格式化或壓縮方式。例如,如果編碼器136利用該ITU-T H.264標準,解碼器144亦必須相同。根據該實體用戶端裝置,解碼可由一用戶端CPU或一用戶端GPU執行。一旦解碼,所有餘留在該視訊串流中的為該等原始顯像的像框。該等顯像的像框由一基本視訊顯像器146處理,如同針對任何其它串流化媒體所進行者。然後該顯像的視訊可被顯示在顯示器148上。
不同於基本媒體串流的雲端遊戲的一種態樣為遊戲需要即時性互動串流。不僅是圖形必須在伺服器120上被顯像、捕捉與編碼,並在網路110上導引到用戶端140進行解碼與顯示,但對用戶端140的使用者輸入亦必須在網路110上轉達回到伺服器120,並在CPU 124上執行的該圖形應用程式內做處理。此雲端遊戲的即時性互動組件將雲端遊戲系統的能力限制在「隱藏(hide)」潛時。
用戶端140定期地傳送QoS統計資料回到伺服器120。當該等QoS統計資料預備好被傳送時,用戶端140包括由視訊顯像器146顯像的該視訊像框的像框編號(frame number)。該像框編號可由伺服器120用於判斷網路110與用戶端140處理自伺服器120傳送的該視訊串流有多好。然後伺服器120可使用該QoS統計資料來決定在GPU 130中採取那些動作來改善QoS。GPU 130可使用的動作包括:調整圖形顯像器132顯像的解析度、調整像框捕捉器134操作的該捕捉像框速率、及調整編碼器136編碼的該位元速率。
在一具體實施例中,編碼器136組態以做為一習用編碼器136,此外,藉由智慧地根據該遊戲者的注意區域來分配位元以調整該位元速率。因此,編碼器136可與一QoS模組合作來降低用於傳送該視訊串流的該位元速率,並藉此降低潛時、錯誤與成本。較佳地是,編碼器136的該視訊壓縮標準不需要被改變來智慧地分配位元,如此處所揭示者。該視訊壓縮標準允許對在該編碼器側的每一巨塊(macroblock)的QP做改變,以及編碼器,例如在該用戶端側的解碼器144,照常地解碼該串流。圖2提供根據該遊戲者的注意區域分配位元速率的一編碼器之一具體實施例的更多細節。
圖2例示根據本發明之原理所建構的一編碼器200之具體實施例的方塊圖。一處理器,包括一專屬的處理器,其可被用於實作編碼器200。編碼器200可被做為編碼器136。因此,編碼器200可為一伺服器的 一部份。
編碼器200包括一解碼引擎210與一位元速率控制器220。在該例示的具體實施例中,編碼引擎210組態以接收視訊像框203,另組態以由該等像框203產生一編碼的視訊串流205。在該例示的具體實施例中,位元速率修改器220組態以接收關於該等視訊像框203的該等二維影像之注意區域資料207,並基於注意區域資料207決定該等視訊像框203之每一者的該遊戲者的注意區域。注意區域資料207可由來自一遊戲引擎的遊戲提示來取得,例如圖1的遊戲引擎125。注意區域資料207或其一部份可由追蹤一遊戲者的注視中心之相關裝置所產生。該等裝置包括例如智慧型眼鏡、頭部追蹤系統與其組合。注意區域資料207可包括影像深度座標資訊(或z-深度資訊)、該目前像框的一投影矩陣、該先前像框的一投影矩陣與相機位置。在一些具體實施例中,一移動向量,例如共通移動向量,其被包括在該注意區域資料中。該注意區域資料亦可包括該顯示器的注意中心,例如顯示器148。
編碼引擎210可藉由自接收自一顯像器的一2D影像產生一差異像框來開始,例如圖1的圖形顯像器132。該差異像框基本上係由比較該2D影像與一先前視訊像框來產生。該差異像框基本上由將該2D影像拆解成巨塊而產生,其為相鄰像素之固定大小的正方形或長方形集合。
然後該差異像框被轉換成適合壓縮的型式;例如,藉由應用離散餘弦轉換(Discrete Cosine Transform,DCT)或整數轉換(Integer Transform,IT)到該差異像框來產生轉換係數或僅是係數。然後該等係數基於基本上被稱之為「量化參數(quantization parameter)」或「QP」的一參數做量化。量化將該等轉換係數的數值之原始數值限制到較小組的離散程度。基本上,QP藉由將該等係數之每一者除以QP數值來應用到整個影像中。
然後該等量化的轉換係數被轉換成符號或碼字。此轉換基本上係基於以量化係數之像框的順序當中符號的發生頻率。這些符號像框(連 同其它資訊,像是QP、像框時間標記、巨塊在該像框中被選擇的順序,及任何解碼需要的資訊)形成編碼視訊串流205。
在編碼引擎210內一速率控制功能決定該QP的數值,基本上在當嘗試確保自該編碼資料重新產生的一視訊像框之適當品質(或一指定品質)時,將編碼視訊串流205的一平均位元速率限制在一目標值。
編碼視訊像框可包括預處理,例如比較當產生一差異像框時產生的巨塊與一或多個先前像框來偵測一巨塊是否維持實質上不改變,而僅是在該像框中移動一些數目的像素。這種決定通常藉由將一巨塊在所有方向上(例如N,NE,E,SE,S,SW,W,NW)偏移少量像素,並比較每一偏移的巨塊與該先前像框來完成。如果未發現到符合,該巨塊在每一方向上被偏移一較大距離,並再次與該先前像框做比較。
當/如果最終發現一符合,藉由使用在該先前像框中該巨塊的ID與該偏移的量與方向,可以產生該像框的一部份編碼。該等量與方向的數值可稱之為一「移動向量」。一相對應複數巨塊的複數移動向量可被稱之為一「移動場(motion field)」。移動向量與移動場亦可用於預測隨後像框的移動。該等移動向量及/或移動場可被用於產生一共通移動向量。
上述之該速率控制功能亦可設定這種移動向量搜尋的時間或遞迴限制,且在該限制內未發現符合時,該搜尋即放棄。該速率控制功能可平衡施加於移動估計與差異計算之處理能力,藉此以一需要的位元速率產生一高品質視訊串流,或以一需要的視訊品質產生一低位元速率視訊串流。
一些視訊編碼標準允許像框之間的比較,其進行係僅參照正為前後的像框。其它標準允許一影像參照複數在前與在後的像框進行編碼。這些「多重參照像框」編碼標準基本上需要較大的處理能力或時間來編碼。
位元速率修改器220耦接於該編碼引擎,並組態以藉由根據一遊戲者的該像框之注意區域以分配該像框的位元來改變該編碼資訊。位 元速率修改器220組態以針對要由編碼引擎210編碼的該視訊資料像框203來決定一遊戲者的注意區域,並以該遊戲者的注意區域為基礎來改變視訊資料像框203的編碼。位元速率修改器220由該經決定的遊戲者的注意區域來產生編碼器控制資訊209,其調整編碼引擎210的速率控制功能。因此,編碼引擎210組態以根據編碼器控制資訊209執行編碼,其係根據該遊戲者的注意區域來重新分配像框203的位元。因此,編碼引擎210可組態以執行一習用編碼引擎的該等功能,以及該位元重新分配的額外功能,如前所述。編碼器控制資訊209可以可接受的格式產生來由編碼引擎210做處理。
位元速率修改器220組態以改變編碼引擎210的該速率控制功能,以維持或改善該像框的感知視覺品質。為了改善,位元速率修改器220可指示編碼引擎210增加用於在該遊戲者的注意區域內編碼視訊串流205的位元數目。此外,位元速率修改器220組態以減少用於在視訊像框203的該遊戲者的注意區域之外的編碼視訊串流205的該編碼資訊之位元數目。因此,可改善感知視覺品質,並可維持該位元速率。在其它具體實施例中,該感知視覺品質可藉由維持在一遊戲者的注意區域中的位元數目,並減少用於在該遊戲者的注意區域之外編碼的位元數目來維持。在一些具體實施例中,該位元使用量的減少可隨著與該遊戲者的注意區域之距離增加而增加。位元速率修改器220可組態以同時維持與增加感知視覺品質。於維持與增加之間的選擇可基於系統品質、一遊戲的特定部份、遊戲者的輸入等。
在一具體實施例中,位元速率修改器220組態以基於一數學模型決定該遊戲者的注意區域,例如一二維高斯模型。在一具體實施例中,位元速率修改器220另組態以根據關聯於該像框的一共通移動來改變該二維高斯模型的參數。一共通移動向量可用於代表該共通移動。該等參數可包括一振幅、一寬度、及該二維高斯模型的旋轉。
位元速率修改器220在一具體實施例中組態以基於該遊戲者的注意區域的一模型與關聯於視訊像框203的一共通移動向量來調整視訊像框203的一QP。位元速率修改器220可計算出每一視訊像框203的巨塊之一QP偏置量。圖4例示一QP偏置地圖的示例。
圖4的中心橢圓代表該遊戲者的注意區域,並具有該最低的QP偏置量。如果為零,則用於編碼此區域的該位元數目並不改變。如果該QP偏置量被設定低於零,則用於編碼該遊戲者的注意區域之位元數目即增加。圖4的離心橢圓代表基於一2D高斯模型移動遠離該遊戲者的注意區域到該周緣之該像框的劣化。在一像框的周緣,該QP偏置量較高,而該品質較低。在一些具體實施例中,該QP偏置量由零逐漸增加到五十。在圖4中,該共通移動像量(Global motion vector,GMV)具有x,y座標為39,-8。該影像的中心由x,y,z座標W/2,H/2與Z來指明。
該共通移動向量可由位元速率修改器220基於注意區域資料207做計算。在另一具體實施例中,該共通移動向量可經由視訊像框203利用例如編碼引擎210的預處理來決定。因此,該共通移動向量的該預處理可由一GPU本身而不需要依賴遊戲提示來執行。在一具體實施例中,編碼引擎210或編碼器124可藉由估計像框移動、過濾本地移動,然後得到共通移動來得到該共通移動向量。
圖3例示根據本發明之原理所進行之一種編碼一視訊串流的像框之方法300的具體實施例之流程圖。一編碼器,例如圖1的編碼器136或圖2的編碼器200,其可設置有必要的硬體、軟體或其組合來執行方法300。方法300開始於步驟305。
在步驟310,收到要被編碼的一視訊資料像框。在一具體實施例中,該像框自一應用程式接收,例如一視訊遊戲。
注意區域資料在步驟320中接收。該注意區域資料可自一遊戲引擎接收。在一具體實施例中,該注意區域資料當做遊戲提示來接收。 在另一具體實施例中,該注意區域資料藉由關聯於該等視訊像框的一預處理例式來產生。該預處理例式可由一編碼器或一GPU的另一處理器來執行。
在其它具體實施例中,可使用一裝置來追蹤一遊戲者的眼睛移動來提供該注意區域資料。智慧型眼鏡,例如智慧眼鏡或另一頭戴式裝置,可用於準確地追蹤眼睛移動,並產生注意區域資料。該眼鏡或裝置可用於一追蹤系統(例如一紅外線頭部追蹤器)來準確地追蹤眼睛移動。
在步驟330,決定出該視訊資料像框之一遊戲者的注意區域。該遊戲者的注意區域可基於該注意區域資料來決定。在一具體實施例中,該遊戲者的注意區域係根據一人的環繞一注視中心(a center of gaze)的的視覺角度(visual angle)來定義。此基本上是在二到五度之間。一共通移動向量可由相對於該先前注視中心所產生的資料來計算。在一些具體實施例中,該遊戲者的注意區域可直接由智慧型眼鏡、一裝置、一頭部追蹤裝置或其組合所產生的資料而直接得到。
可利用一數學模型來決定一遊戲者的注意區域。在一具體實施例中,可使用一二維高斯模型來表示該等遊戲者的注意區域之每一者。對於一人的視覺角度,該二維高斯模型亦可提供環繞對應於一人的視覺角度的該遊戲者的注意區域具有離心性的對數式解析度下降。圖4例示環繞該遊戲者的注意區域具有離心性的對數式解析度下降的示例。
在一具體實施例中,一單一像框可具有多個遊戲者的注意區域。該等遊戲者的注意區域中至少一者可基於共通移動來修改。可使用一共通移動向量來修改該遊戲者的注意區域。
在步驟340,該視訊資料像框之編碼藉由以該遊戲者的注意區域為基礎來分配該像框的位元而改變。在一具體實施例中,用於編碼該遊戲者的注意區域(或多個區域)的該位元數目即增加。此外,用於編碼該像框的其餘部份之位元數目即減少。在其它具體實施例中,用於編碼該遊戲 者的注意區域之位元數目被維持,而用於編碼該像框的其餘部份的位元數目即減少。因此,用於編碼一像框的位元總數可降低。方法300結束於步驟350。
該等上述之裝置、系統與方法之一部份可實施在多種(例如習用的、數位資料處理器或電腦中執行,其中該等電腦被程式化或儲存軟體指令序列之可執行程式來執行該等方法之一或多個該等步驟。這些程式的該等軟體指令可代表演算法,並以機器可執行型式被編碼在非暫時性數位資料儲存媒體上,例如磁性或光學碟片、隨機存取記憶體(Random-access memory,RAM)、磁性硬碟、快閃記憶體、及/或唯讀記憶體(Read-only memory,ROM),以使得多種數位資料處理器或電腦來執行該等上述方法之一或多者的該等步驟或是此處所述之該等裝置之功能的一者、多者或全部。如參照經揭示的具體實施例所討論者,一位元速率控制器可包括組態以執行該等描述之功能的該等必要硬體、軟體或其組合。
經揭示的具體實施例之部份可關於具有非暫時性電腦可讀取媒體之電腦儲存產品,在其上具有程式碼用於執行實施一種裝置、系統之一部份的多種電腦實作作業,或執行此處所述之一種方法的該等步驟。此處所使用的非暫時性代表除了暫時性傳遞訊號之外的所有電腦可讀取媒體。非暫時性電腦可讀取媒體之示例包括但不限於:磁性媒體,例如硬碟、軟碟片與磁帶;光學媒體,例如CD-ROM碟片;磁性光學媒體,例如軟光學碟片;及硬體裝置,其特定組態以儲存與執行程式碼,例如ROM與RAM裝置。程式碼的示例同時包括機器碼(例如由一編譯器產生者),以及檔案,其包含有可由該電腦使用一解譯器執行的較高階程式碼。
與本申請案相關的技術專業人士將可瞭解到可能對該等描述的具體實施例進行其它與進一步的加入、刪除、取代和修改。

Claims (10)

  1. 一種用於編碼一視訊資料像框的方法,該方法包含:自一應用程式接收要被編碼的一視訊資料像框;決定該視訊資料像框的一遊戲者注意區域;及藉由以該遊戲者注意區域為基礎來分配該視訊資料像框的多個位元,以改變該視訊資料像框的編碼。
  2. 一種視訊編碼器,其包含:一編碼引擎,其組態以接收代表一視訊資料像框的一訊號,並產生關於該視訊資料像框的編碼資訊;及一位元速率修改器,其耦接於該編碼引擎,並組態成藉由根據該像框之一遊戲者注意區域來分配該像框的多個位元以改變該編碼資訊。
  3. 如申請專利範圍第2項之視訊編碼器,其中該位元速率修改器組態成以一二維高斯模型為基礎來決定該遊戲者注意區域。
  4. 如申請專利範圍第2項之視訊編碼器,其中該位元速率修改器組態成以該像框的一投影矩陣、一先前像框的一投影矩陣、與在該像框中間處一注意中心為基礎來計算關聯於該像框的一共通移動向量。
  5. 如申請專利範圍第2項之視訊編碼器,其中該位元速率修改器組態以增加用於產生在該遊戲者注意區域內的該編碼資訊的位元數目。
  6. 如申請專利範圍第5項之視訊編碼器,其中該位元速率修改器組態以減少用於產生在該遊戲者注意區域之外的該編碼資訊的位元數目。
  7. 如申請專利範圍第2項之視訊編碼器,其中該像框包括多個遊戲者注意區域,且該位元速率修改器組態成藉由以該多個遊戲者注意區域為基礎來分配該像框的多個位元以改變該編碼資訊。
  8. 一種產生一編碼視訊串流的三維模型化系統,該系統包含:一內容引擎;一顯像器,其耦接於該內容引擎,並組態以自該內容引擎接收關於一三維模型的資訊,並產生多個相對應的二維影像;及一視訊編碼器,其耦接於該顯像器,並組態以自該顯像器接收該等二維影像且產生一相對應的編碼視訊串流,其中該視訊編碼器另組態以改變用於產生該相對應編碼視訊串流之一像框的多個位元的分配,上述改變是以該像框的一遊戲者注意區域為基礎。
  9. 如申請專利範圍第8項之三維模型化系統,其中該遊戲者注意區域係以一個人的環繞一注視中心的視覺角度為基礎。
  10. 如申請專利範圍第8項之三維模型化系統,其中該視訊編碼器組態以該遊戲者注意區域之一模型與關聯於該像框的一共通移動向量為基礎來調整該像框的每一個巨塊的一量化參數。
TW102145620A 2013-04-02 2013-12-11 以遊戲者之注意區域爲基礎改善視訊串流的速率控制位元分配 TW201501761A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/855,348 US10242462B2 (en) 2013-04-02 2013-04-02 Rate control bit allocation for video streaming based on an attention area of a gamer

Publications (1)

Publication Number Publication Date
TW201501761A true TW201501761A (zh) 2015-01-16

Family

ID=51519604

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102145620A TW201501761A (zh) 2013-04-02 2013-12-11 以遊戲者之注意區域爲基礎改善視訊串流的速率控制位元分配

Country Status (4)

Country Link
US (1) US10242462B2 (zh)
CN (1) CN104096362B (zh)
DE (1) DE102013022256A1 (zh)
TW (1) TW201501761A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI705695B (zh) * 2017-10-06 2020-09-21 美商高通公司 針對片上系統中的圖像幀的中央凹型壓縮的系統和方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9984504B2 (en) 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
US10237563B2 (en) 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information
US10905943B2 (en) * 2013-06-07 2021-02-02 Sony Interactive Entertainment LLC Systems and methods for reducing hops associated with a head mounted system
WO2016140439A1 (ko) * 2015-03-02 2016-09-09 엘지전자(주) 향상된 예측 필터를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
EP3308552A4 (en) * 2015-06-10 2018-06-27 Razer (Asia-Pacific) Pte Ltd. Video editor servers, video editing methods, client devices, and methods for controlling a client device
US9992502B2 (en) 2016-01-29 2018-06-05 Gopro, Inc. Apparatus and methods for video compression using multi-resolution scalable coding
US11284109B2 (en) * 2016-01-29 2022-03-22 Cable Television Laboratories, Inc. Visual coding for sensitivities to light, color and spatial resolution in human visual system
US10291910B2 (en) 2016-02-12 2019-05-14 Gopro, Inc. Systems and methods for spatially adaptive video encoding
GB2551526A (en) 2016-06-21 2017-12-27 Nokia Technologies Oy Image encoding method and technical equipment for the same
GB2556017A (en) * 2016-06-21 2018-05-23 Nokia Technologies Oy Image compression method and technical equipment for the same
CN109792545B (zh) 2016-09-30 2021-12-07 英国电讯有限公司 从服务器向客户端装置传送视频内容的方法
CN109792546B (zh) * 2016-09-30 2022-01-04 英国电讯有限公司 从服务器向客户端设备传送视频内容的方法
KR20190094385A (ko) * 2016-12-20 2019-08-13 베스텔 일렉트로닉 사나이 베 티카레트 에이에스 데이터 전송 방법 및 데이터 전송 장치
US10121337B2 (en) * 2016-12-30 2018-11-06 Axis Ab Gaze controlled bit rate
GB2591410A (en) 2017-04-21 2021-07-28 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
CN113260425A (zh) * 2018-12-14 2021-08-13 威尔乌集团 用于动态控制视频游戏状态的玩家生物反馈
TWI755742B (zh) * 2019-05-30 2022-02-21 聯發科技股份有限公司 客戶側延遲改善方法、主處理器以及處理電路
US11033813B2 (en) * 2019-06-07 2021-06-15 Microsoft Technology Licensing, Llc Latency erasure
CN110493600B (zh) * 2019-08-23 2023-07-04 腾讯科技(深圳)有限公司 图像编码方法、装置、计算机设备及存储介质
CN110996125B (zh) * 2019-11-18 2021-08-17 腾讯科技(深圳)有限公司 一种视频流的生成方法、装置、电子设备及存储介质
CN113794887A (zh) * 2021-08-17 2021-12-14 镕铭微电子(济南)有限公司 一种游戏引擎中视频编码的方法及相关设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI109633B (fi) 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
US7136935B2 (en) 2001-06-22 2006-11-14 Inktomi Corporation Efficient data transmissions based on a policy
JP2003204436A (ja) 2001-10-29 2003-07-18 Victor Co Of Japan Ltd 画像符号化装置及び画像符号化プログラム
US7106366B2 (en) * 2001-12-19 2006-09-12 Eastman Kodak Company Image capture system incorporating metadata to facilitate transcoding
KR20050042399A (ko) 2003-11-03 2005-05-09 삼성전자주식회사 게이즈 디텍션을 이용한 비디오 데이터 처리 장치 및 방법
US7426304B2 (en) 2004-09-15 2008-09-16 Hewlett-Packard Development Company, L.P. Method and device for three-dimensional graphics to two-dimensional video encoding
US20070036227A1 (en) 2005-08-15 2007-02-15 Faisal Ishtiaq Video encoding system and method for providing content adaptive rate control
JP4506738B2 (ja) 2005-10-06 2010-07-21 ソニー株式会社 ホログラムシート
US20070268964A1 (en) 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
JP4563982B2 (ja) 2006-10-31 2010-10-20 日本電信電話株式会社 動き推定方法,装置,そのプログラムおよびその記録媒体
US9313504B2 (en) 2007-07-02 2016-04-12 Vixs Systems, Inc. Pattern detection module with region detection, video encoding system and method for use therewith
CN101345870B (zh) 2008-09-04 2010-06-30 上海交通大学 低码率视频超分辨率重构的编码装置和解码装置
US20100295847A1 (en) 2009-05-21 2010-11-25 Microsoft Corporation Differential model analysis within a virtual world
CN102238374B (zh) 2010-04-21 2016-08-24 腾讯科技(深圳)有限公司 对图像数据进行压缩编码的方法和装置
US9501582B2 (en) 2010-05-10 2016-11-22 Amazon Technologies, Inc. Providing text content embedded with protected multimedia content
CN102129698A (zh) 2011-03-08 2011-07-20 华中科技大学 一种基于感兴趣区域的图像编码方法
US9344528B2 (en) 2011-08-31 2016-05-17 Microsoft Technology Licensing, Llc Data compressor using hints
CN102637302B (zh) 2011-10-24 2013-06-19 北京航空航天大学 一种图像编码方法
US9984504B2 (en) 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
US10237563B2 (en) 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI705695B (zh) * 2017-10-06 2020-09-21 美商高通公司 針對片上系統中的圖像幀的中央凹型壓縮的系統和方法
US11006127B2 (en) 2017-10-06 2021-05-11 Qualcomm Incorporated System and method for foveated compression of image frames in a system on a chip

Also Published As

Publication number Publication date
US20140292751A1 (en) 2014-10-02
DE102013022256A1 (de) 2014-10-02
CN104096362B (zh) 2017-10-24
CN104096362A (zh) 2014-10-15
US10242462B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
TW201501761A (zh) 以遊戲者之注意區域爲基礎改善視訊串流的速率控制位元分配
US11109011B2 (en) Virtual reality with interactive streaming video and likelihood-based foveation
JP6410918B2 (ja) パノラマ映像コンテンツの再生に使用するシステム及び方法
US10979663B2 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US8264493B2 (en) Method and system for optimized streaming game server
JP5307958B1 (ja) 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US8154553B2 (en) Centralized streaming game server
EP2364190B1 (en) Centralized streaming game server
US20170103577A1 (en) Method and apparatus for optimizing video streaming for virtual reality
US20100329358A1 (en) Multi-view video compression and streaming
KR20210011952A (ko) 3d 게임 스트리밍 시나리오에서의 데드 레커닝 및 레이턴시 개선
US9984504B2 (en) System and method for improving video encoding using content information
US20190373040A1 (en) Systems and methods game streaming
US20170221174A1 (en) Gpu data sniffing and 3d streaming system and method
CN112368766B (zh) 带有编码器反馈的图形渲染
JP2021057768A5 (zh)
KR102499900B1 (ko) 고해상도 영상의 스트리밍을 위한 영상 전송 장치와 영상 재생 장치 및 그 동작 방법
WO2022259632A1 (ja) 情報処理装置及び情報処理方法
Shi et al. Towards Full-scene Volumetric Video Streaming via Spatially Layered Representation and NeRF Generation
US20210092424A1 (en) Adaptive framerate for an encoder
Zhang et al. A novel transmission approach based on video content for 360-degree streaming
JP2007079664A (ja) 3次元グラフィクスから2次元ビデオへのエンコーディングのための方法および装置
Tian et al. Quantization Parameter and Lagrange Multiplier Determination for Virtual Reality 360 Video Source Coding
Wang Low-Latency Adaptive Media Streaming: From 2D to 6-DoF
TWI523673B (zh) 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體