TW202017388A - 用於基於編碼器提示以演現及預編碼負載估計的系統及方法 - Google Patents

用於基於編碼器提示以演現及預編碼負載估計的系統及方法 Download PDF

Info

Publication number
TW202017388A
TW202017388A TW109100865A TW109100865A TW202017388A TW 202017388 A TW202017388 A TW 202017388A TW 109100865 A TW109100865 A TW 109100865A TW 109100865 A TW109100865 A TW 109100865A TW 202017388 A TW202017388 A TW 202017388A
Authority
TW
Taiwan
Prior art keywords
encoder
frame
time
video
predetermined event
Prior art date
Application number
TW109100865A
Other languages
English (en)
Other versions
TWI742510B (zh
Inventor
麥克 柯比士
Original Assignee
美商時美媒體公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商時美媒體公司 filed Critical 美商時美媒體公司
Publication of TW202017388A publication Critical patent/TW202017388A/zh
Application granted granted Critical
Publication of TWI742510B publication Critical patent/TWI742510B/zh

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/146Data rate or code amount at the encoder output
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/162User input
    • 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
    • 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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • 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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Abstract

本發明揭示用於提示一編碼器之系統及方法,其中一伺服器:監測與圖框演現之變化有關的資訊;計算容限邊界、滾動平均圖框時間,及圖框時間之短期趨勢;及使用該等計算以識別一圖框時間峰值。該伺服器接著提示一編碼解碼器(編碼器)以調變與該圖框時間峰值之大小成比例之圖框輸出的品質設定。在某些實施例中,一演現器記錄一遊戲環境中的一或多個玩局、將來自一或多個玩局的複數個圖框分類至一熱圖上的複數個單元中,及收集經分類圖框的清單。一編碼解碼器可接著編碼來自經分類圖框之該清單之一或多個圖框,以計算用於該熱圖中之各單元之一平均經編碼圖框大小,及使各平均經編碼圖框大小與一每單元正規化編碼器品質設定相關聯。

Description

用於基於編碼器提示以演現及預編碼負載估計的系統及方法
其中藉由一用戶端玩家控制一伺服器端遊戲之遠端遊戲應用程式已嘗試使用現有或客製化編碼器即時編碼來自三維(3D)圖形引擎之視訊輸出。然而,視訊遊戲之互動式本質,尤其視訊輸出與玩家輸入之間的玩家回饋迴圈,使遊戲視訊串流比傳統視訊串流對延時更敏感。現有視訊寫碼方法可權衡運算能力(其他很少)以縮減編碼時間。用於將編碼程序整合至視訊演現程序中之新方法可顯著縮減編碼時間同時亦減少運算能力、改良經編碼視訊之品質、及保留原始位元串流資料格式以保持現有硬體裝置之互操作性。
在多遍次編碼程序之第一遍次,在將資料有效壓縮以擬合對連續遍次之一位元率約束之前計算編碼成本或各經編碼視訊圖框之大小。多遍次編碼之益處係實質的,對一位元率約束提供最高可能品質,但傳統多遍次編碼需要存取完整視訊檔案使得其不適於直播串流(live-streaming)應用。
直播串流應用通常使用單遍次編碼,此係因為視訊不可提前用。對直播串流編碼之時間約束妨礙編碼器之針對一受約束位元率有效壓縮視訊資訊之能力。因為在一單遍次編碼中不計算編碼成本,所以在編碼高熵圖框時網路流量出現尖峰。
即時演現視訊愈來愈多地用於直播串流應用中,如視訊遊戲串流,其中高品質及受約束頻寬皆被高度重視。不同於記錄視訊,演現視訊存取可被重新用於估計編碼圖框之成本之關於各圖框之額外資訊。以此方式,可大致估計多遍次編碼方案中之一第一遍次之結果以在一位元率約束內達成最高品質經編碼視訊。許多演現引擎具有關於將被演現之影像之部分資訊且可預產生可在執行時間期間使用之編碼器品質設定。以此方式,可在一直播串流環境中達成多遍次編碼模式之益處。然而,如下文所闡釋,在足以執行演現高品質即時演現視訊同時補償歸因於增加之熵之流量尖峰之程度上估計編碼品質方面,目前電腦技術仍存在缺陷。此外,沒有如下編碼技術:目前在空間上而非時間上預編碼,複製多遍次編碼同時保留在一即時環境中。
美國專利第7,844,002 B2號(「‘002專利」)揭示用於藉由預看資訊實行即時MPEG視訊寫碼以便達成一恆定位元率之系統及方法。該系統包括兩個視訊編碼器,其中一個視訊編碼器相對於另一編碼器之預看窗延遲輸入達一段時間。在‘002專利之系統中,視訊編碼器之一者操作為一緩衝器(預看)裝置,延遲輸入視訊圖框使得作為資訊收集器/處理器之視訊編碼器之第二者將具有提取相關資訊且判定用於視訊圖框之一編碼策略所需之時間。一旦判定該策略,便可將寫碼參數傳遞至編碼器裝置以用於執行。‘002專利之技術相較於本發明存在缺陷,至少係因為‘002專利之技術未揭示用於計算在一直播串流應用中編碼經演現視訊之圖框之成本,對於遊戲應用之直播串流提供足夠低延時之技術,或提供使用視訊資料以在位元率約束內最大化經編碼視訊之技術。本發明亦係優越的,此係因為本發明收集並儲存可無限重新使用之用於視訊資料之編碼器設定。
美國專利公開案第US2016/0198166 A1號(「‘166公開案」)揭示用於對即時編碼提供一解決方案之偽多遍次編碼技術之系統及方法。所揭示之該系統係其中輸入視訊圖框在一第一遍次中經減少取樣且經編碼以形成一圖片子群組之系統。該等子群組接著用於產生編碼統計資料,該等編碼統計資料用於產生第二遍次寫碼圖框之一集合。藉由‘166公開案所描述之技術相對於本發明係較差的,至少係因為本發明教示用於計算在一直播串流應用中編碼經演現視訊之圖框之一特定成本及用於在未進行任何減少取樣的情況下使用此資料以在位元率約束內最大化經編碼視訊之技術。
美國專利第9,697,280號(「‘280專利」)揭示用於自正規化資訊產生一行動媒體資料記錄,分析該行動媒體資料記錄以判定一調解協議(settlement arrangement),及對該行動媒體記錄中所表示之參與者中之至少一些提供來自該調解協議之相關資訊的系統及方法。該等系統及方法能夠執行多遍次編碼,其中一先前編碼器之輸出以菊鏈形式鏈接至下一編碼器之輸入,從而在經編碼檔案可用於消耗之前導致延遲。為減少與循序編碼相關聯之延時同時達成等效高品質,可在一管線中組態連續編碼階段,使得一第一編碼器之輸出饋送至一第二編碼器之輸入,使得各編碼器中之編碼偏移達少量時間,以容許大部分編碼並行執行。總延時可接著大致估計各編碼器之自第一區塊讀入至第一區塊寫出之延時之總和。總延時可易於促進即時多遍次編碼。類似於此章節中所描述之其他技術,然而,‘280專利未揭示如本發明中所揭示之用於計算在一直播串流應用中編碼經演現視訊之圖框之成本及用於使用此資料以在位元率約束內最大化經編碼視訊之技術。
美國專利公開案第US 20170155910 A1號(「‘910公開案」)揭示用於在不引入邊界假影的情況下將媒體內容之音訊分成分開內容檔案之系統及方法。‘910公開案揭示一系統,其中編碼器將原始內容檔案分段成源小串流(source streamlet)且(例如)在不等待電視節目結束的情況下對各對應原始小串流上之多個複本(例如,串流)執行雙遍次編碼。因而,網路伺服器能夠在小串流產生系統開始擷取原始內容檔案之後不久經由網際網路串流傳輸小串流。自發佈者傳輸之一直播廣播與內容可用性之間的延遲取決於主機之運算能力。然而,‘910公開案未揭示如本發明中所揭示之用於計算在一直播串流應用中編碼經演現視訊之圖框之成本,對於遊戲應用之直播串流提供足夠低延時,及用於使用視訊資料以在位元率約束內最大化經編碼視訊之技術。
美國專利第9,774,848號(「‘848專利」)揭示用於增強MPEG標準之視訊編碼器組件以改良顯示裝置處之視訊呈現之效率及品質兩者之系統及方法。所揭示之技術教示藉由憑藉預看處理執行自適應性位元分配而執行視訊壓縮。在MPEG視訊壓縮中,將給定數目個視訊圖框(15個、30個、60個及等等)組合在一起以形成一圖片群組(GoP)。一GoP內之圖片經寫碼為I、P或B圖片(圖框)。使分配至各GoP之位元之數目與該GoP中所含有之圖框之數目成比例。系統執行即時預看以收集實現自適應性位元分配之統計資料。亦揭示用於運動估計之方法,其中經修改3D管線著色器有效負載能夠在網域著色器之情況下處置多個補塊,或在基元物件例項計數大於1時、在幾何著色器之情況下處置多個基元,且在像素著色器之情況下處置多個三角形。藉由圖形處理器組件使用一運動估計引擎以協助視訊解碼及處理對視訊資料內之運動之方向或量值敏感或具自適應性之功能。然而,‘848專利未揭示如本發明中所揭示之用於計算在一直播串流應用中編碼經演現視訊之圖框之成本,對於遊戲應用之直播串流提供足夠低延時,及用於使用視訊資料以在位元率約束內最大化經編碼視訊之技術。此外,‘848專利之技術至多作為一輔助技術且未如本發明中所揭示般以空間方式執行預寫碼。因而,其不能夠以與本發明相同之即時方式複製有利的多遍次編碼。
美國專利第9,749,642號(「‘642專利」)揭示其中一視訊編碼器自包含一或多個分數樣本[運動向量]MV精確度及整數樣本MV精確度之多個MV精確度中判定用於一視訊單位之一MV精確度的系統及方法。該視訊編碼器可識別具有一分數樣本MV精確度之MV值之一集合,接著至少部分基於具有零之一分數部分之MV值(在該集合內)之盛行率選擇用於該單位之MV精確度。或,視訊編碼器可執行率失真分析,其中該率失真分析係偏向整數樣本MV精確度。又,然而,‘642專利未揭示如本發明中所揭示之用於計算在一直播串流應用中編碼經演現視訊之圖框之成本,對於遊戲應用之直播串流提供足夠低延時,及用於使用視訊資料以在位元率約束內最大化經編碼視訊之技術。
歐洲專利第EP1820281B1號(「‘281專利」)揭示用於雙遍次編碼之系統及方法。所揭示之該等方法包含以下步驟:a)接收圖片;(b)在一第一時間計算一經寫碼圖片緩衝器之一第一充滿度;(c)在一第二時間對該第一充滿度操作以返回該經寫碼圖片緩衝器之一第二充滿度;(d)儲存該圖片持續一段時間;(e)在該段時間期間,量測該圖片之一第一複雜度;(f)對該圖片之該第一複雜度及該第二充滿度操作以返回用於該圖片之一較佳目標大小;及(g)在步驟d之後,提供該圖片及該較佳目標大小至多處理器視訊編碼器,其中該第一時間對應於可計算經寫碼圖片緩衝器之一準確充滿度之最近時間且該第二時間在該第一時間之後發生。又,然而,‘281專利未揭示如本發明中所揭示之用於計算在一直播串流應用中編碼經演現視訊之圖框之成本,對於遊戲應用之直播串流提供足夠低延時,及用於使用視訊資料以在位元率約束內最大化經編碼視訊之技術。
日本專利第JP06121518B2號(「’518專利」)揭示用於編碼作為一獨立視訊串流之一原始視訊串流之一選定空間部分之系統及方法,其中該方法包括:獲得與該選定空間部分有關之圖片元素資訊;獲得自該原始視訊串流之在該選定空間部分周邊之一互補空間部分導出之編碼提示;及藉由使用該等編碼提示編碼該選定空間部分。再一次,然而,‘518專利未揭示如本發明中所揭示之用於計算在一直播串流應用中編碼經演現視訊之圖框之成本,對於遊戲應用之直播串流提供足夠低延時,及用於使用此資料以在位元率約束內最大化經編碼視訊之技術。
美國專利公開案第2006/0230428號(「‘428公開案」)揭示與容許多個玩家同時參與之一經網路連線之視訊遊戲系統有關之系統及方法。‘428公開案揭示具有儲存可壓縮且對應於用於一遊戲之一視訊圖框之子區段之預編碼區塊之能力之一伺服器。該系統亦能夠回應於該遊戲中之使用者動作使用預編碼區塊產生遊戲內容。該內容可接著傳輸至該使用者。又,此技術未如本發明中所揭示般以空間方式執行預寫碼,且其不能夠即時複製有利的多遍次編碼。此外,不同於‘428公開案之技術,本發明容許系統在執行時間期間以一時間序列改變跨圖框之所有部分之參數(諸如解析度)且對於遊戲應用之直播串流提供足夠低延時。
美國專利第8,154,553號(「‘553專利」)揭示與具有用於演現命令之一攔截機構及基於處理一演現引擎之命令、基於一前置濾波模組及基於一視覺編碼器之一前饋控制機構之一串流遊戲伺服器有關之系統及方法。‘553專利技術使用一圖形API提取指代視覺複雜度及場景中之物件之運動之一物件級資料集。該資訊係用於依視訊預處理器處之GPU層級、過濾層級及視訊編碼器處之量化層級控制演現細節。系統亦針對一視訊編碼器中之目標編碼圖框中之各巨集區塊運算一運動補償估計。類似於本文中所論述之其他技術,‘553專利中所揭示之系統未如本發明中所揭示般以時間或空間方式執行預寫碼,且‘553專利中所揭示之系統不能夠即時複製有利的多遍次編碼,此係因為‘553專利中所揭示之系統實際上回應於位元率峰值而丟棄圖框。此外,不同於‘428公開案之技術,本發明容許系統對於應用直播遊戲串流提供足夠低延時。
如自本技術中之最新技術之以上論述明白,此項技術需要改良與即時遊戲環境之編碼有關之目前電腦技術。
因此本發明之一目的係揭示用於藉由提示一編碼器而維持一恆定位元率之系統及方法。在一例示性實施例中,一伺服器監測與圖框編碼之變化有關之資訊;計算容限邊界、滾動平均圖框時間、及圖框時間之短期趨勢;及使用該等計算以識別一圖框時間峰值。該伺服器接著提示一編碼器以調變與該圖框時間峰值之大小成比例之圖框輸出之品質設定。
本發明之另一目的係揭示用於藉由提示一編碼器而維持一恆定位元率之系統及方法,其中容限邊界、滾動平均圖框時間、及圖框時間之短期趨勢之計算係用於識別高熵圖框。
本發明之又另一目的係揭示用於藉由提示一編碼器而維持一恆定位元率之系統及方法,其中該伺服器針對在容限邊界外之一圖框時間計算一品質比例調整值,且使用該計算識別一圖框時間峰值。
本發明之又另一目的係揭示用於編碼之系統及方法,其中一演現器記錄一遊戲環境中之一或多個玩局、將來自該一或多個玩局之複數個圖框分類至一熱圖上之複數個單元(cell)中、及收集經分類圖框之清單。一編碼器可接著編碼來自經分類圖框之該清單之一或多個圖框以計算用於該熱圖中之各單元之一平均經編碼圖框大小,及使各平均經編碼圖框大小與一每單元正規化編碼器品質設定相關聯。該編碼器接著自各單元之該平均經編碼圖框大小計算用於該熱圖之一平均圖框大小且在遊戲玩法期間將其等用作寫碼一視訊序列之提示。
本發明之另一目的係揭示用於編碼之系統及方法,其中一演現器記錄包括複數個圖框之一視訊序列,且一編碼器在對於該視訊序列之第一圖框最佳化編碼器品質設定之多遍次模式中寫碼該視訊序列。該編碼器可接著記錄該編碼器品質設定。該演現器可接著對於視訊序列之第一圖框正規化編碼器品質設定且將其等用於提示編碼器在播放期間寫碼視訊序列。
本發明之另一目的係揭示用於編碼之系統及方法,其中在一單遍次中編碼一或多個圖框。
本發明之又另一目的係揭示用於編碼之系統及方法,其中自一或多個玩局提取之資料包含複數個圖框及與該等圖框之各者相關聯之一玩家位置。
相關申請案之交叉參考 本申請案主張以下美國臨時申請案之權利:於2017年4月21日申請之美國臨時申請案第62/488,526號、於2018年3月23日申請之美國臨時申請案第62/647,180號,及於2018年4月11日申請之美國臨時申請案第62/655,901號。
在描述圖式中所繪示之本發明之較佳實施例時,為清楚起見將採用特定術語學。然而,本發明不意欲限於如此選擇之特定術語,且應理解,各特定術語包含以一類似方式操作以達成一類似目的之所有技術等效物。本發明之若干較佳實施例係出於圖解說明目的而描述,應理解,本發明可依其他形式而非圖式中明確展示之形式體現。
在以每秒60個圖框執行之一直播串流視訊遊戲之典型操作期間,編碼器計算運動向量及殘差。當一視訊圖框歸因於新視訊資訊而顯著不同於先前圖框時,藉由編碼器計算之殘差可大於正常值,以引起網路頻寬使用中之一尖峰。一編碼器將在直播串流期間回應於諸如此等位元率尖峰之因數來調適其編碼設定,但僅可反應性地調整設定。
在其中即時演現視訊圖框之情況中,可預先警告編碼器搶先調適編碼設定以針對一位元率約束維持最高可能品質。提供設定以更動編碼器選定之設定的程序被稱為提示。因為演現器具有關於圖框在其等經編碼之前的資訊,所以演現器偶爾更適於選擇適當編碼器設定,且應相應地提示編碼器。演現器可在一傳入圖框係一高熵影像時,於一傳入圖框與先前圖框不相關時,或出於可導致較大殘差、品質下降或位元率尖峰之其他原因,而提示編碼器。
圖1係其中將即時演現視訊直播串流傳輸至一遠端觀看者之一例示性環境之一圖式。伺服器100可包括能夠同時執行一即時演現程序102 (在本文中亦被稱為一「演現器」)及一串流編碼解碼器104 (在本文中亦被稱為一「編碼器」)之任何硬體。伺服器100可包括一或多個硬體裝置,包含執行遙測量測之一或多個遙測伺服器105,如下文所闡釋。伺服器100及遙測伺服器105可係在演現程序102及編碼解碼器104之本端或遠端。編碼解碼器104亦具有透過直接報告或此項技術中已知之某其他監測程序將其編碼器品質設定傳送回至演現程序102的能力。透過一網路將經編碼視訊串流傳輸至一用戶端106裝置。用戶端106可包括能夠解碼及顯示視訊串流之任何硬體。
圖2係概述基於編碼器提示之負載估計之階段之一流程圖。在演現器產生視訊時,演現程序或某其他伺服器端程序應在「監測一事件」步驟200處監測將改變一圖框需要如何編碼的資訊。此可包含諸如在此圖框期間對演現器進行之繪製呼叫之數目、基於一圖框中之在第一時間內出現之像素之數目來計算經編碼殘差之大小之一嘗試的資訊,或嘗試使演現效能與編碼器效能相關的某其他資訊。經監測資訊可包含在執行時間演現程序期間出現之任何訊息、經計算結果、成果或其他可離散量測值。當讀取指示經編碼圖框大小將顯著不同於先前圖框之經編碼圖框大小的資訊時,此資訊被稱為一事件。
如藉由圖3所描述,該事件可起源於演現器,其中在演現程序中監測之峰值偵測之一例示性實施方案監測各圖框之演現時間以偵測異常長或異常短之圖框時間。在此情況中,一異常圖框演現時間被視為一事件。
當演現器接收一事件時,在演現器處可能需要一些額外計算以在「準備用於當前圖框之編碼器品質設定」步驟202處出於提示編碼器之目的而產生編碼器品質設定。此等計算可包含修改在先前步驟之事件監測期間量測之資訊。此等計算亦可包含在「報告用於各經編碼圖框之編碼器設定」步驟204處修改針對各圖框由編碼器向演現器報告且應視需要可用之執行時間編碼器品質設定。在「提示編碼器準備之編碼器設定」206處將所產生之編碼器品質設定自演現器發送至編碼器。演現器將繼續監測關於未來圖框之事件。
在圖3之實例中,當一圖框花費一異常長時間演現時,演現器將提示編碼器與此圖框時間峰值之大小成比例地降低品質設定。為準備編碼器品質設定值,演現器可使用來自當前圖框之經量測圖框時間、來自某數目個先前圖框之經量測圖框時間及如藉由編碼器報告之執行時間編碼器品質設定。此等計算係結合圖3之論述更詳細闡釋。
執行於伺服器上之其他程序亦可存取可用於提示編碼器設定之圖框資訊。例如,含有一演現器之一遊戲引擎可使用藉由遊戲觸發之視覺效應對經編碼視訊頻寬產生之經量測影響以降低編碼器品質設定。為收集關於一給定視覺效應之額外編碼成本之資訊,一開發者可需要應用一效應且在依各種編碼器品質設定編碼時量測位元率之增加。該等量測可用於選擇一品質,針對該品質用於含有視覺效應之一圖框之經編碼圖框大小大致具有與不含有視覺效應之一先前圖框相同之經編碼圖框大小。針對視覺效應選擇之品質設定與預設品質設定之間的差異被稱為設定差量(delta)。編碼器可經提示以使用選定品質或經提示以藉由經量測設定差量降低當前品質。結果應以可易於將一視覺效應事件轉化成相關聯編碼器提示之一格式(諸如一查詢表或其他類型之索引陣列)儲存。
圖3係偵測圖框時間峰值及圖框時間谷值且接著相應地改變編碼器設定之一例示性實施方案。此實例使用演現時間與影像熵之間的相關性以估計對視訊串流之位元率所產生之影響。若一圖框含有作為促成第一時間內之圖框之額外元素之大量新視覺資訊,則與先前圖框相比時有可能花更多時間演現圖框。例如,若一圖框係以大致與先前圖框相同之圖框時間演現,則有可能環境未顯著改變。此暗示之相關性在一第一人稱遊戲/引擎中特別明顯。若經演現圖框時間突然變高,則暗示環境中之某物係新引入。編碼器亦將與任何新視訊資訊糾纏在一起,如覆蓋螢幕之突然爆炸效果或螢幕上突然出現之新幾何形狀。類似地,一圖框中之大量新資訊將增加藉由編碼器計算之殘差之大小。因此,監測演現時間之峰值可識別在其等可引起視訊串流之位元率之一尖峰之前有可能含有高熵影像之圖框。
於信號處理及統計分析中使用一滾動平均數以識別短期離群值(outlier)同時考量到長期趨勢。一滾動平均數係藉由求得特定數目個先前資料點之算術平均數而予以計算;用於計算該滾動平均數之該先前資料點集合被稱為滾動窗。在直播演現之情況下,識別偏離滾動平均圖框時間之圖框時間可識別高熵圖框。在此實例中之滾動平均圖框時間300係用於先前滾動窗之平均圖框時間。即,針對滾動窗中之各圖框加總圖框時間,接著將該總數除以滾動窗中之圖框之數目。可基於如在執行時間效能分析(runtime profiling)期間量測以檢查典型資料趨勢之長期圖框時間趨勢之典型頻率而調諧滾動窗大小。對於十個圖框之一實例性滾動窗大小,將基於先前十個圖框時間計算平均圖框時間。作為任何低通濾波器之一副效應,若滾動窗太小,則在峰值偵測中可能會有更多超出必要之誤報。當實際上藉由在演現器中頻繁出現之某長期行為型樣闡釋較長圖框時間時,可將一圖框分類為「非常忙碌」。滾動平均圖框時間300伴隨有一上容限302及下容限304。該容限可經調諧以識別圖框時間之典型短期趨勢。對於以每秒60個圖框執行之一即時演現器,±1 ms或大約6.25%之一容限可能足夠。圖框時間可在不觸發任何編碼器提示的情況下在滾動平均圖框時間之容限內改變。求得適當窗大小及容限值可需要一定程度執行時間效能分析以判定圖框時間之典型趨勢。例如,以每秒100個圖框執行之一遊戲可僅每隔一個圖框更新影子以導致1 ms之典型抖動,從而需要大於10%之一容限。相反地,一遊戲可依33 ms之一非常穩定圖框時間以每秒30個圖框充裕地執行,其中最苛刻之視覺效應僅參與0.5 ms,因此容限可能低至1.5%。
比較用於當前圖框之圖框時間與滾動平均圖框時間。若當前圖框時間超出容限邊界,則對編碼器調整品質。可藉由使用被稱為效能分析之一程序量測圖框時間以檢查介於相鄰或幾乎相鄰圖框之間的圖框時間之典型變化(短期趨勢)及在整個特定窗內之圖框時間之變化(諸如週期性重複型樣或其他長期趨勢),來計算容限邊界。可接著調整滾動窗大小及容限直至編碼器提示僅在高熵/忙碌時刻期間,而非在其中玩家在環境周圍移動並探索環境之時刻期間觸發。若圖框時間超過上容限302,如在「圖框2」306之實例性情況中,則編碼品質將降低。若圖框時間低於下容限304,如在「圖框5」308之實例性情況中,則編碼器品質將提高。在某些實施例中,編碼品質可在圖框時間落在低於容限之任何時間提高回至全容量。取決於實施方案,一系統亦可選擇使用類似於用於降低品質之按比例調整方法之一按比例調整方法更慢地往回提高品質。
一例示性提示方法可在一上界310品質設定與下界312品質設定之間按比例調整品質。例如,該上界可為預設品質設定且該下界可為預設品質之某百分比(諸如50%)。若一圖框時間峰值落在高於容限,則品質設定可基於高於容限之圖框時間峰值之大小而在上界與下界之間線性按比例調整。若一圖框時間落在低於容限,則品質設定可返回至上界值。
為針對容限外之一圖框時間計算品質比例調整值,應首先例示性地根據下列等式(1)相對於滾動平均圖框時間正規化該圖框時間。 (1)
Figure 02_image001
自正規化時間減去1導致圖框偏離滾動平均圖框時間。將偏差除以容限且接著減去1提供一比例調整值。例示性地根據下列等式(2),此比例調整值應被箝制以保持於0與1之間;所有負比例調整值應被箝制至0且所有高於1之值應被箝制至1。 (2)
Figure 02_image003
經箝制比例調整值可用於內插於上界品質設定與下界品質設定之間。例示性地根據下列等式(3),一經箝制比例調整值0表示上界品質且一經箝制比例調整值1表示下界品質。 (3)
Figure 02_image005
在實例中,若「圖框2」306在滾動平均數係15 ms時花費16 ms,則所得箝制比例調整值係0.025或2.5%。若上界品質值係預設品質設定且下界係預設品質之50%,則用於此圖框之經按比例調整品質設定將為預設品質之98.75%。
若「圖框5」308在滾動平均數係15.25 ms時花費14.25 ms,則圖框時間低於容限且比例調整值將被箝制至0。經按比例調整品質設定將被設定為上界品質設定。
可藉由在將經彙總編碼器品質設定值發送至編碼器以用於提示(如圖4中之步驟406處所展示)之前組合來自準備步驟之所準備之編碼器品質設定值(如圖4中之步驟400處所展示)而將多個編碼器提示方法分層。在一項實施例中,可求得所準備之編碼器品質設定之算術平均數以便產生同樣併入有來自所有來源之比重之一單值。在另一實施例中,一加權算術平均數可藉由將一權數指派給可參與用於編碼器提示之一編碼器品質設定值之各來源而予以計算。該等經指派權數可用於更強烈地加權一個參與來源超過加權另一參與來源之程度。例如,與來自一單個視覺效應事件之比重相比時,來自一圖框時間峰值事件之比重在對於經編碼位元率之變化具有一更強相關性,因此可能需要更高度加權來自該圖框時間峰值事件之比重。經加權算術平均數可藉由使用標準定義例示性地根據下列等式(4)予以計算,其中i =1表示n 個品質設定集合中之第一數目。應注意,數學集上之指數以1開始,不同於以0開始之程式化指數。 (4)
Figure 02_image007
圖4係概述在一直播演現器之執行時間期間使用預產生之編碼器品質設定之一例示性流程圖。該演現器應在「監測遊戲序列」步驟400處監測具有預產生之編碼器品質設定之一集合之序列。此等序列可包含時間上可預測之圖框序列(諸如引擎中即時過場動畫),或在知道玩家位置時可在執行時間期間轉換成時間系列之空間上可預測之序列。時間上可預測之序列係其中每個圖框與其相鄰圖框具有某已知關係之圖框序列。即,一序列圖框係時間上可預測的,條件是其具有一致長度、一致順序且任兩個相鄰圖框在像素資料及運動資料中具有一致關係。空間上可預測之序列提供兩個相鄰虛擬位置之間的某關係,該關係可用於對一時間序列進行推斷,該時間序列在演現器之執行時間期間穿越虛擬空間時經建構。即,一虛擬空間中之兩個位置在空間上相關,條件是其等在一虛擬攝影機在兩個虛擬位置之間移動時產生一時間上可預測之序列。例如,在一視訊遊戲中,兩個相鄰位置在時間上相關,條件是在兩個位置之間移動產生其中像素資料與運動資料略微一致之視訊。此通常適用於視訊遊戲中之大部分3D級別,此係因為在玩家通關時通常在固定位置中演現圍繞玩家之環境及背景。
結合圖5更詳細描述編碼器品質設定之預產生。預產生之編碼器品質設定係以一執行時間可讀格式(諸如一查詢表或熱圖)儲存至伺服器上的磁碟。當偵測一序列之開始時,在「求得用於遊戲序列之預產生之編碼器設定」步驟602處讀取及準備用於經偵測遊戲序列之預產生的編碼器品質設定。若編碼器品質設定在儲存之前已經正規化,則其等可需要予以準備。準備可包含使正規化編碼器品質設定乘以執行時間編碼器品質設定、一目標編碼器品質設定或來自某其他來源之一編碼器品質設定。在某些實施例中,一事件之偵測可針對預產生之序列編碼器品質設定之各者。在其他實施例中,當各過場動畫開始時,可在執行時間內執行一檢查,以判定該過場動畫是否在針對其存在設定之序列的清單中。若預產生之編碼器品質設定在儲存之前經正規化,則將具有準備編碼器品質設定之一乘法步驟。在結合圖6所描述之實例中,編碼器品質設定係針對一引擎中即時過場動畫中之圖框而產生,且針對序列之第一圖框而正規化。對於諸如此之一正規化時間系列,編碼器品質設定將需要藉由使正規化值乘以用於序列中之第一圖框的執行時間編碼器品質設定來準備。在「報告用於各經編碼圖框之編碼器設定」步驟604處,編碼器品質設定係藉由編碼器針對各圖框而報告,且應視需要可用。在結合圖7所描述之實例中,編碼器品質設定係針對一圖中之各位置而產生,且係在整個圖上正規化至平均編碼器品質設定。對於諸如此之一正規化空間系列,編碼器品質設定將需要藉由使正規化值乘以用於序列中之第一圖框的執行時間編碼器品質設定來準備。
在「提示編碼器預產生之編碼器設定」步驟406(圖4)處將發送用於各圖框之編碼器品質設定至編碼器。編碼器將使用自演現器發送之編碼器品質設定以編碼下一圖框。演現器將繼續準備預產生之編碼器品質設定且對於各圖框提示編碼器直至序列完成。當序列結束時,演現器將繼續監測下一序列。對於結合圖6所描述之引擎中即時過場動畫實例,將針對過場動畫中之各圖框提示編碼器直至過場動畫結束。對於結合圖5所描述之例示性熱圖方法,將在整個持續時間內提示編碼器玩家在藉由熱圖界定之區域之界限內。
圖5係概述針對一直播演現序列預產生編碼器品質設定之階段之一流程圖。可針對具有一可預測及可量測時間或空間分量之任何序列預產生編碼器品質設定。一序列可具有不可預測部分,諸如將演現玩家角色當前穿著之盔甲之一引擎中即時過場動畫,或容許玩家在事件發生時移動或環顧四周之一虛擬世界過場動畫。應藉由尋求時間系列序列(諸如引擎中即時過場動畫)中之相鄰圖框關係或虛擬空間中之相鄰位置關係而識別具有可預測部分之一序列,該序列將在執行時間期間用於產生圖框序列(諸如視訊遊戲級別中之可穿越區域)。應在「選擇序列」步驟500處識別一個此序列。
在編碼器處,應以維持一恆定位元率為目標而在「產生用於序列之編碼器設定」步驟502處針對序列產生編碼器品質設定。用於一引擎中即時過場動畫之編碼器品質設定可藉由記錄該過場動畫之一視訊及用多遍次編碼模式編碼該視訊而予以計算。多遍次編碼將編碼第一圖框及使用該經編碼第一圖框之大小來約束所有後續圖框。在編碼各圖框時,比較編碼大小與第一圖框之編碼大小且針對當前圖框調整品質設定直至經編碼圖框大小在大小上接近。在某些實施例中,可在多遍次編碼模式中以固定數目個遍次編碼圖框序列。在其他實施例中,可透過多遍次編碼模式中之連續遍次饋送序列直至每圖框大小維持於一值且在最終編碼遍次與倒數第二編碼遍次之間不改變。編碼器品質設定可在其等自所得編碼視訊產生或提取時經記錄。所產生之編碼器品質設定將在執行時間期間用於平衡給定序列期間之頻寬,藉此避免位元率峰值及谷值(dip)。與預編碼一預演現之過場動畫之視訊及儲存其用於播放對比,以此方式產生編碼器品質設定將容許引擎中即時過場動畫包含基於背景之內容(諸如可客製化之玩家盔甲、武器或其他化妝物品)同時仍受益於藉由預產生之品質設定提供之頻寬等化。
可多次重複一類似程序以針對一空間上相關序列產生編碼器設定。藉由結合圖7所描述之實例性資料流程更詳細描述該程序。
對於引擎中即時過場動畫,用於各圖框之編碼器品質設定應藉由使其等除以序列中之第一圖框之編碼器品質設定值而正規化。此容許序列之動態元素(諸如玩家盔甲或化妝物品)在執行時間準備之最終編碼器品質設定中予以表示。對於將作為一熱圖儲存之空間上相關之序列,各編碼器品質設定應藉由將各編碼器品質設定除以全圖平均編碼器品質設定而在藉由該熱圖界定之整個區域內正規化至平均編碼器品質設定。一例示性熱圖係在圖8中展示。在演現程序處產生之正規化編碼器值應在「正規化及儲存用於序列中之各圖框之編碼器品質設定」步驟504處組織成適當執行時間可讀格式(諸如用於一時間系列或一熱圖中之各圖框之編碼器品質設定之一清單,其定義用於一圖中之各位置之一編碼器品質設定)且經儲存。
圖6展示在針對確定長度之一引擎中即時過場動畫之編碼器品質設定之一例示性預產生期間如何產生資料。不同於預演現之過場動畫,引擎中即時過場動畫係在執行時間期間使用用於產生直播演現之視訊輸出之其餘部分之相同演現引擎而產生。一引擎中即時過場動畫亦可包含關於遊戲狀態(諸如玩家穿著之化妝物品、玩家團隊中之非玩家角色或藉由玩家選擇控制之其他遊戲狀態)之背景內容資訊。儘管引擎中即時過場動畫在歷史上比預演現之過場動畫品質低,但隨著直播演現之視覺保真度變得更加接近預演現之視覺保真度,其等變得更加普遍。引擎中即時過場動畫亦被普遍使用,其中若干選項(諸如語言選項、解析度選項及角色客製化選項)可影響一過場動畫之視訊輸出使得一遊戲磁碟並非必須包含一預演現之過場動畫之多個版本。
在此實例中,選擇長度上具有480個圖框之一引擎中即時過場動畫,對於以每秒60個圖框執行之一遊戲大致時長8秒。此過場動畫將針對所有玩家播放相同系列事件。過場動畫視訊記錄在演現器處,在經記錄序列600中產生480個圖框之一系列。經記錄序列600係使用多遍次編碼模式予以編碼。在編碼經記錄序列中之各圖框時,多遍次編碼程序將改變編碼器品質設定使得經編碼圖框大小變得更接近第一圖框之經編碼大小。序列中之第一圖框係用作一圖框大小參考物以便確保在整個經編碼序列中之一致位元率。
多遍次編碼器品質設定602係在編碼器處之編碼程序期間經記錄或自藉由編碼器產生之編碼結果提取。編碼器品質設定係一有序浮點清單。每浮點4個位元組,480個浮點之整個有序清單僅消耗1,920個位元組之資料。小檔案大小容許一直播演現器在執行時間期間將許多預產生之編碼器設定集合儲存於記憶體中且可導致對於每個遊戲序列執行本文中所描述之程序而不會遇到記憶體約束之有利結果。
在演現器處,編碼器品質設定係例示性地根據下列等式(5)而針對第一圖框正規化。 (5)
Figure 02_image009
正規化編碼器品質設定604係作為一有序浮點清單較佳儲存於編碼器處。
當過場動畫在執行時間期間開始播放時,讀取正規化品質設定604之有序清單。正規化品質設定乘以用於序列中之第一圖框之執行時間編碼器品質設定,如藉由編碼器向演現引擎報告,且接著用於針對過場動畫中之各後續圖框而提示編碼器。在某些實施例中,以恆定速率因數(CRF)模式執行之H.264標準合規程式庫ffmpeg 將使用-crf 參數(switch)在命令列上接受一更動量化參數值。
正規化編碼器品質設定容許在多種不同背景內容中在過場動畫之執行時間播放期間使用預產生之編碼器品質設定。例如,使正規化編碼器設定604乘以藉由編碼器報告之用於序列中之第一圖框之執行時間編碼器品質設定產生用於整個過場動畫之一致位元率,無關於玩家選擇穿著之任何可客製化玩家盔甲。類似地,方法考量到不同演現設定,諸如螢幕解析度,其中可播放一引擎中即時過場動畫。
圖7係針對一空間上相關序列(諸如在一玩家穿越一視訊遊戲中之虛擬空間時之執行時間產生之序列)之編碼器品質設定之例示性預產生的一圖式。一視訊遊戲中之玩家位置可大體上與輸出視訊之影像熵相關,此係因為一玩家之視野對經編碼視訊串流之位元率具有不成比例地重大影響。此相關性在比較在空曠區域擷取之視訊與在狹窄區域擷取之視訊之間的經編碼視訊位元率時最明顯。空曠區域(諸如戶外區域)以一較高平均位元率產生視訊,而狹窄區域(諸如走廊)以一較低平均位元率產生視訊。發生此關係是因為,戶外區域趨向於具有大量競爭性運動(諸如關於植被之環境動畫)之不均勻廣闊區域,而戶內區域趨向於由產生凝聚運動向量及較小殘差之靜態建築幾何學組成。
一圖可藉由一柵格分段且一編碼器品質設定可針對該圖中之各單元而預產生以形成如圖5中所展示之正規化編碼器品質設定之一熱圖。針對一給定玩家位置之一典型編碼視訊位元率可使用多個真實玩局或透過程序上產生之玩局來記錄。因為真正玩家係不可預測的,所以通常不可能程序上產生準確擷取玩家將穿越一虛擬空間之方式之玩局。可針對任何預期穿越路徑產生程序玩局以快速產生整個圖之覆蓋範圍但可能會錯過可由真正玩家發現之非預期穿越路徑。各方法將具有缺點:追蹤真實遙測顯著花費更多時間,但程序上產生之資料可能無法準確反映真實遊戲體驗。在某些實施例中,兩種記錄之一組合可用於提供一更準確熱圖。
如圖6之經記錄序列600中所展示,經記錄視訊應不僅含有視訊圖框,而且將建立針對各圖框之一玩家位置。玩家位置可在3D空間中或可簡化至如藉由一俯視圖表示之水平2D平面。兩個實例性經記錄玩局(在步驟700處展示為「第一經記錄玩局」之第一經記錄玩局及在步驟702處展示為「第二經記錄玩局」之第二經記錄玩局)之部分係展示於結合圖7所描述之例示性方法中。視訊圖框係連同玩家位置一起擷取。一經擷取玩局視訊中之各視訊圖框係藉由位置分類至適當單元中。在此實例中,來自第一經記錄玩局之圖框4係展示於步驟700中之「第一經記錄玩局」處,且來自第二經記錄玩局之圖框2係展示於步驟702中之「第二經記錄玩局」處。在「熱圖」步驟704處,圖框2及圖框4皆在步驟706處之「單元B6」被分類至單元B6中。因為此實例性單元相當大,所以圖8中所展示之例示性熱圖為更大解析度而展示具有更小單元之一熱圖。
可在演現器處產生及記錄程序上產生之玩局及真實玩局兩者。所得玩局記錄可收集於一集中演現器位置中。在收集多個玩局時,熱圖中之各單元可具有記錄在該單元內之一位置處之多個圖框。一遙測伺服器105可在開發期間用於收集此資料。演現/遊戲引擎可接著產生遙測並將其發送至一集中位置。遙測伺服器105可在演現器本端或遠端。所產生之遙測亦可藉由自本端演現機器手動收集所產生之遙測檔案而手動收集且經發送至一集中儲存器。圖7之實例展示「單元B6圖框」步驟708處之屬於單元B6之圖框清單之開始。空間上相關圖框之此清單將隨著收集或產生更多玩局記錄而增長。
屬於一單元之圖框集合可使用在直播串流期間所使用之一單遍次編碼模式以一目標編碼器品質設定予以編碼,展示於「目標品質編碼」步驟710處。一經編碼圖框大小將針對屬於該單元之各圖框而產生。圖7之實例展示屬於單元B6之經編碼圖框大小之清單之開始,展示於「用於單元B6圖框之經編碼圖框大小」步驟712處。可平均化此等經編碼圖框大小以求得用於單元之一平均經編碼圖框大小。圖7之實例在步驟714處所展示之「用於單元B6之平均經編碼圖框大小」處展示屬於單元B6之平均經編碼圖框大小。應針對熱圖中之所有單元重複該程序以求得用於各單元之一平均經編碼圖框大小。平均經編碼圖框大小係在步驟714處所展示之「用於單元B6之平均經編碼圖框大小」處針對單元B6而展示且在步驟716處所展示之「用於單元B7之平均經編碼圖框大小」處針對單元B7而展示,作為用於熱圖中之所有單元之平均圖框大小之清單之一表示。
應平均化用於各單元之所有平均圖框大小以在步驟718處所展示之「用於所有單元之平均經編碼圖框大小」處求得一全圖平均圖框大小。此全圖平均圖框大小可用作目標頻寬。具有大於全圖平均數之平均經編碼圖框大小之單元將以一較低編碼器品質設定重新編碼直至平均單元圖框大小幾乎與全圖平均數相同。類似地,具有小於全圖平均數之一平均經編碼圖框大小之單元將以一較高編碼器品質設定重新編碼直至平均單元圖框大小幾乎與全圖平均數相同。在某些實施例中,可在多遍次編碼模式中以固定數目個遍次編碼用於一給定單元之圖框序列。在其他實施例中,可透過多遍次編碼模式中之連續遍次饋送序列直至每圖框大小維持於一值且在最終編碼遍次與倒數第二編碼遍次之間不改變。在圖7之實例中,步驟714處之用於單元B6之平均經編碼圖框大小高於在步驟718處所展示之「用於所有單元之平均經編碼圖框大小」處之用於所有單元之平均經編碼圖框大小。「單元B6圖框」步驟708處之屬於單元B6之空間上相關圖框係在「較低品質編碼」步驟720處在編碼器處使用多遍次編碼模式及一目標圖框大小在其等原始玩局序列之背景內容中重新編碼,直至「用於單元B6之較低平均經編碼圖框大小」步驟724處之用於單元B6之平均經編碼圖框大小幾乎與「用於所有單元之平均經編碼圖框大小」步驟718處所展示之用於所有單元之平均經編碼圖框大小相同。在針對所有單元完成程序時用於單元之所有平均圖框大小應幾乎為相同大小。
各單元應具有用於產生用於單元之一平均經編碼圖框大小(可比較此大小與全圖平均經編碼圖框大小)之一相關聯編碼器品質設定。每單元編碼器品質設定可例示性地根據下列等式(6)而藉由全圖平均編碼器品質設定正規化。 (6)
Figure 02_image011
在視訊串流期間,遊戲可自對應於當前玩家位置之熱圖單元抽取正規化編碼器品質設定且藉由發送一品質設定更動而將其用於提示編碼器。如上文所闡釋,在某些實施例中,以恆定速率因數(CRF)模式執行之H.264標準合規程式庫ffmpeg 將使用-crf 參數在命令列上接受一更動量化參數值以提示編碼器。可自其提取正規化編碼器品質設定之一例示性熱圖係展示於圖8中。
在編碼器品質設定經正規化時,其等可在藉由圖4中之「求得用於遊戲序列之預產生之編碼器設定」步驟402描述之準備步驟期間自多個來源(諸如一空間上相關序列及一時間上相關序列)組合。在此步驟之前,正規化值可相乘以產生隱含地考量到對來自各源序列之經編碼視訊位元率產生影響之一編碼器品質設定。例如,玩家之位置係用於自一熱圖讀取一預產生之正規化編碼器品質設定且玩家之武器產生具有一時間系列預產生之正規化編碼器品質設定之一發射序列。此兩個正規化值係在準備步驟期間相乘以併入有玩家位置及武器選擇對經編碼視訊位元率所產生之影響。
前面描述及圖式應被視為僅繪示本發明之原理。本發明不意欲受較佳實施例限制且可依一般技術者將明白之各種方式實施。熟習此項技術者將易於明白本發明之數種應用。因此,不需要將本發明限於所揭示之特定實例或所展示及描述之精確構造及操作。實情係,可採取落在本發明之範疇內之所有合適修改及等效例。
100:伺服器 102:即時演現程序/演現程序 104:串流編碼解碼器/編碼解碼器 105:遙測伺服器 106:用戶端 200:步驟 202:步驟 204:步驟 206:步驟 300:滾動平均圖框時間 302:上容限 304:下容限 306:圖框2 308:圖框5 310:上界 312:下界 400:步驟 402:步驟 404:步驟 406:步驟 500:步驟 502:步驟 504:步驟 600:經記錄序列 602:步驟/多遍次編碼器品質設定 604:步驟/正規化編碼器品質設定/正規化編碼器設定 700:步驟 702:步驟 704:步驟 706:步驟 708:步驟 710:步驟 712:步驟 714:步驟 716:步驟 718:步驟 720:步驟 724:步驟
本發明之一更完全瞭解及其之許多伴隨優點在結合隨附圖式考量時藉由參考以下詳細描述較佳理解時將容易獲得,其中:
圖1係其中將即時演現視訊直播串流傳輸至一遠端觀看者之一例示性環境之圖式;
圖2係概述基於編碼器提示之負載估計之階段之一流程圖;
圖3係偵測圖框時間峰值及圖框時間谷值且接著相應地改變編碼器設定之一例示性實施方案之一圖式;
圖4係概述在一直播演現器之執行時間期間使用預產生之編碼器品質設定之一例示性流程圖;
圖5係概述根據本發明之一實施例之針對一直播演現序列預產生編碼器品質設定之階段之一例示性流程圖;
圖6係根據本發明之一實施例之在針對確定長度之一引擎中即時過場動畫(cutscene)之編碼器品質設定之一例示性預產生期間所產生之資料的一圖式;
圖7係根據本發明之一實施例之針對一空間上相關序列之編碼器品質設定之一例示性預產生的一圖式;及
圖8係根據本發明之一實施例之可自其提取正規化編碼器品質設定之一例示性熱圖。
100:伺服器
102:即時演現程序/演現程序
104:串流編碼解碼器/編碼解碼器
105:遙測伺服器
106:用戶端

Claims (20)

  1. 一種用於編碼器提示之方法,其包含以下步驟: 在一演現程序期間監測一預定事件; 基於該預定事件針對一或多個圖框產生一或多個編碼器品質設定; 向一演現器報告編碼器設定; 將所產生的該一或多個編碼器品質設定傳輸至一編碼器,其中所產生的該一或多個編碼器品質設定提示該編碼器。
  2. 如請求項1之方法,其中該預定事件為在一執行時間演現程序期間出現之一訊息、一經計算結果、一成果或一可離散量測值之一者。
  3. 如請求項1之方法,其中該預定事件為指示一經編碼圖框大小將不同於一先前經編碼圖框之大小的任何資訊。
  4. 如請求項1之方法,其中該預定事件起源於該演現器。
  5. 如請求項1之方法,其中該預定事件係藉由監測異常長或異常短之圖框時間而偵測。
  6. 如請求項1之方法,其中產生該一或多個編碼器品質設定涉及修改由該編碼器向該演現器報告之執行時間編碼器品質設定。
  7. 如請求項1之方法,更包含使圖框演現時間與影像熵相關以識別該預定事件。
  8. 如請求項1之方法,其中該預定事件係藉由比較用於當前圖框之圖框時間與滾動平均圖框時間而判定。
  9. 如請求項1之方法,其中對該編碼器之提示包含將該一或多個編碼器品質設定比例調整於一上界及一下界之間。
  10. 如請求項1之方法,其中對該編碼器之提示係在編碼時間的高熵時刻期間觸發。
  11. 一種用於提示一編碼器之非暫態電腦可讀取媒體,其包含一伺服器: 在一演現程序期間監測一預定事件; 基於該預定事件針對一或多個圖框產生一或多個編碼器品質設定; 向一演現器報告編碼器設定; 將所產生的該一或多個編碼器品質設定傳輸至一編碼器,其中所產生的該一或多個編碼器品質設定提示該編碼器。
  12. 如請求項11之非暫態電腦可讀取媒體,其中該預定事件為在一執行時間演現程序期間出現之一訊息、一經計算結果、一成果或一可離散量測值之一者。
  13. 如請求項11之非暫態電腦可讀取媒體,其中該預定事件為指示一經編碼圖框大小將不同於一先前經編碼圖框之大小的任何資訊。
  14. 如請求項11之非暫態電腦可讀取媒體,其中該預定事件起源於該演現器。
  15. 如請求項11之非暫態電腦可讀取媒體,其中該預定事件係藉由監測異常長或異常短之圖框時間而偵測。
  16. 如請求項11之非暫態電腦可讀取媒體,其中產生該一或多個編碼器品質設定涉及修改由該編碼器向該演現器報告之執行時間編碼器品質設定。
  17. 如請求項11之非暫態電腦可讀取媒體,更包含使圖框演現時間與影像熵相關以識別該預定事件。
  18. 如請求項11之非暫態電腦可讀取媒體,其中該預定事件係藉由比較用於當前圖框之圖框時間與滾動平均圖框時間而判定。
  19. 如請求項11之非暫態電腦可讀取媒體,其中對該編碼器之提示包含將該一或多個編碼器品質設定比例調整於一上界及一下界之間。
  20. 如請求項11之非暫態電腦可讀取媒體,其中對該編碼器之提示係在編碼時間的高熵時刻期間觸發。
TW109100865A 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法 TWI742510B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762488526P 2017-04-21 2017-04-21
US62/488,526 2017-04-21
US201862647180P 2018-03-23 2018-03-23
US62/647,180 2018-03-23
US201862655901P 2018-04-11 2018-04-11
US62/655,901 2018-04-11

Publications (2)

Publication Number Publication Date
TW202017388A true TW202017388A (zh) 2020-05-01
TWI742510B TWI742510B (zh) 2021-10-11

Family

ID=63854317

Family Applications (4)

Application Number Title Priority Date Filing Date
TW107113593A TWI681666B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法
TW107113589A TWI684358B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法
TW109100865A TWI742510B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法
TW108142603A TWI737045B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
TW107113593A TWI681666B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法
TW107113589A TWI684358B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW108142603A TWI737045B (zh) 2017-04-21 2018-04-20 用於基於編碼器提示以演現及預編碼負載估計的系統及方法

Country Status (15)

Country Link
US (5) US10225564B2 (zh)
EP (4) EP3635954A4 (zh)
JP (3) JP7145203B2 (zh)
KR (4) KR102358294B1 (zh)
CN (2) CN112153029A (zh)
AU (3) AU2018255414B2 (zh)
BR (1) BR112019021628A2 (zh)
CA (6) CA3059747C (zh)
DE (1) DE112018002112T5 (zh)
GB (6) GB2595029B (zh)
MX (2) MX2020012597A (zh)
RU (3) RU2753157C2 (zh)
TW (4) TWI681666B (zh)
WO (1) WO2018195440A1 (zh)
ZA (3) ZA201907683B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
US10841356B2 (en) 2018-11-28 2020-11-17 Netflix, Inc. Techniques for encoding a media title while constraining bitrate variations
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
CN111632382B (zh) * 2020-05-25 2021-06-25 腾讯科技(深圳)有限公司 游戏数据同步方法、装置、计算机及可读存储介质
CN111954067B (zh) * 2020-09-01 2022-10-04 杭州视洞科技有限公司 一种提高视频渲染效率与用户交互流畅度的方法
JP7024842B2 (ja) 2020-10-16 2022-02-24 日本ポリプロ株式会社 プロピレン単独重合体
KR20230154999A (ko) * 2021-08-16 2023-11-09 구글 엘엘씨 공유 참조 프레임을 사용한 저지연 다중 패스 프레임-레벨 전송률 제어
US20230247205A1 (en) * 2022-01-31 2023-08-03 Sling TV L.L.C. Bandwidth management using dynamic quality factor adjustments
WO2024001621A1 (en) * 2022-06-27 2024-01-04 Mediatek Inc. Multimedia system with dynamic adaptation

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4501980A (en) 1982-06-04 1985-02-26 Motornetics Corporation High torque robot motor
JPH06129865A (ja) 1992-10-20 1994-05-13 Sumitomo Electric Ind Ltd シングルモ−ドファイバ型デポラライザとその製造方法及び光ファイバジャイロ
JP3265818B2 (ja) * 1994-04-14 2002-03-18 松下電器産業株式会社 動画符号化方法
US5506844A (en) * 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US6118817A (en) * 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
EP0919952A1 (en) * 1997-11-28 1999-06-02 Ecole Polytechnique Federale De Lausanne Method for coding/decoding of a digital signal
TW501022B (en) * 1998-03-16 2002-09-01 Mitsubishi Electric Corp Moving picture coding system
US7254116B2 (en) 2000-04-07 2007-08-07 Broadcom Corporation Method and apparatus for transceiver noise reduction in a frame-based communications network
EP1173026B1 (en) * 2000-07-10 2008-07-30 STMicroelectronics S.r.l. A method of compressing digital images
JP2005530250A (ja) 2002-06-12 2005-10-06 ジェナ ジョーダル, 複数階層視座を実現するデータ格納、取り出し、操作、及び表示ツール
CA2491522C (en) 2002-07-01 2014-12-09 E G Technology Inc. Efficient compression and transport of video over a network
US6903662B2 (en) 2002-09-19 2005-06-07 Ergodex Computer input device with individually positionable and programmable input members
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
BRPI0411757A (pt) * 2003-06-26 2006-09-19 Thomson Licensing controle de taxa de vìdeo multipasse para casar restrições de canal de janela deslizante
KR101083100B1 (ko) * 2003-07-18 2011-11-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 비디오 스트림 내의 컨텐트 아이템 검출
JP4180468B2 (ja) * 2003-08-11 2008-11-12 カノープス株式会社 画像圧縮システム及び画像圧縮方法
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US7408984B2 (en) 2003-09-17 2008-08-05 International Business Machines Corporation Method and system for multiple pass video coding
US8533597B2 (en) 2003-09-30 2013-09-10 Microsoft Corporation Strategies for configuring media processing functionality using a hierarchical ordering of control parameters
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20060230428A1 (en) 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
JP4996603B2 (ja) * 2005-07-08 2012-08-08 タグ ネットワークス,インコーポレイテッド 事前符号化マクロブロックを使用するビデオゲームシステム
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US8874725B1 (en) * 2006-11-15 2014-10-28 Conviva Inc. Monitoring the performance of a content player
US20080195664A1 (en) 2006-12-13 2008-08-14 Quickplay Media Inc. Automated Content Tag Processing for Mobile Media
JP4843482B2 (ja) 2006-12-27 2011-12-21 株式会社東芝 情報処理装置およびプログラム
US20080181298A1 (en) * 2007-01-26 2008-07-31 Apple Computer, Inc. Hybrid scalable coding
US8090016B2 (en) * 2007-05-17 2012-01-03 Zoran Corporation Activity normalization for video encoding
US8069258B1 (en) 2007-09-11 2011-11-29 Electronic Arts Inc. Local frame processing to apparently reduce network lag of multiplayer deterministic simulations
WO2009136878A1 (en) 2008-05-08 2009-11-12 Mamoun Al Durra The automatic car cover
US8264493B2 (en) * 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
EP2364190B1 (en) 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
US8678929B1 (en) 2008-08-01 2014-03-25 Electronics Arts Inc. Client-side prediction of a local game object to reduce apparent network lag of multiplayer simulations
US10192389B2 (en) * 2008-09-01 2019-01-29 New Bis Safe Luxco S.À.R.L. Methods, apparatus and systems for determining an adjustment value of a gaming device
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
JP5342391B2 (ja) * 2009-09-25 2013-11-13 株式会社メガチップス 画像処理装置
US9565439B2 (en) * 2009-10-15 2017-02-07 Nbcuniversal Media, Llc System and method for enhancing data compression using dynamic learning and control
US9338523B2 (en) 2009-12-21 2016-05-10 Echostar Technologies L.L.C. Audio splitting with codec-enforced frame sizes
US20110261885A1 (en) 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US20120057629A1 (en) * 2010-09-02 2012-03-08 Fang Shi Rho-domain Metrics
US8965140B1 (en) * 2011-01-31 2015-02-24 Teradici Corporation Method and apparatus for encoding mixed content image sequences
US8411971B1 (en) * 2011-02-09 2013-04-02 Adobe Systems Incorporated Method and apparatus for normalizing perceptual quality in media compression
US9071841B2 (en) * 2011-05-17 2015-06-30 Microsoft Technology Licensing, Llc Video transcoding with dynamically modifiable spatial resolution
US9426494B2 (en) * 2011-07-18 2016-08-23 Ziilabs Inc., Ltd. Systems and methods with early variance measure used to optimize video encoding
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US20150082345A1 (en) * 2011-09-29 2015-03-19 Avvasi Inc. System for generating enhanced advertizements and methods for use therewith
JP5977023B2 (ja) 2011-11-07 2016-08-24 株式会社スクウェア・エニックス・ホールディングス 描画システム、プログラム、及び記録媒体
US9110626B2 (en) 2012-02-14 2015-08-18 Microsoft Technology Licensing, Llc Video detection in remote desktop protocols
US9345966B2 (en) * 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
EP2645713A1 (en) * 2012-03-30 2013-10-02 Alcatel Lucent Method and apparatus for encoding a selected spatial portion of a video stream
US9621869B2 (en) * 2012-05-24 2017-04-11 Sony Corporation System and method for rendering affected pixels
BR112015006178B1 (pt) 2012-09-21 2022-11-16 Nokia Technologies Oy Métodos, aparelhos e meio não transitório legível por computador para codificação e decodificação de vídeo
US9984504B2 (en) * 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
CN104685873B (zh) * 2012-10-05 2017-12-15 索尼公司 编码控制设备以及编码控制方法
WO2014120368A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
US9661351B2 (en) 2013-03-15 2017-05-23 Sony Interactive Entertainment America Llc Client side frame prediction for video streams with skipped frames
US10242462B2 (en) * 2013-04-02 2019-03-26 Nvidia Corporation Rate control bit allocation for video streaming based on an attention area of a gamer
US9079108B2 (en) 2013-05-31 2015-07-14 Empire Technology Development Llc Cache-influenced video games
US20150020806A1 (en) * 2013-07-19 2015-01-22 Merck Sharp & Dohme Corp. Dry powder inhaler for delivering multipe agglomerate formulations
AU2014311265B2 (en) * 2013-08-29 2019-05-02 Isee Vc Pty Ltd Quality controller for video image
US10491916B2 (en) * 2013-10-01 2019-11-26 Advanced Micro Devices, Inc. Exploiting camera depth information for video encoding
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US20150208069A1 (en) * 2014-01-23 2015-07-23 Magnum Semiconductor, Inc. Methods and apparatuses for content-adaptive quantization parameter modulation to improve video quality in lossy video coding
US20150228106A1 (en) 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
EP3114835B1 (en) 2014-03-04 2020-04-22 Microsoft Technology Licensing, LLC Encoding strategies for adaptive switching of color spaces
CN104952096B (zh) * 2014-03-31 2018-06-08 中国电信股份有限公司 Cpu和gpu混合云渲染方法、装置和系统
US20150288965A1 (en) * 2014-04-08 2015-10-08 Microsoft Corporation Adaptive quantization for video rate control
US20150296215A1 (en) * 2014-04-11 2015-10-15 Microsoft Corporation Frame encoding using hints
EP2960854A1 (en) 2014-06-27 2015-12-30 Thomson Licensing Method and device for determining a set of modifiable elements in a group of pictures
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
US9386317B2 (en) * 2014-09-22 2016-07-05 Sony Interactive Entertainment Inc. Adaptive picture section encoding mode decision control
US10264269B2 (en) * 2014-10-13 2019-04-16 Apple Inc. Metadata hints to support best effort decoding for green MPEG applications
US10063866B2 (en) 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
US10404986B2 (en) 2015-03-30 2019-09-03 Netflix, Inc. Techniques for optimizing bitrates and resolutions during encoding
TW201642655A (zh) 2015-04-21 2016-12-01 Vid衡器股份有限公司 基於藝術意向之視訊編碼
JP6494439B2 (ja) * 2015-06-05 2019-04-03 キヤノン株式会社 通信装置およびその制御方法
CN105163134B (zh) 2015-08-03 2018-09-07 腾讯科技(深圳)有限公司 直播视频的视频编码参数设置方法、装置及视频编码设备
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
US10425648B2 (en) 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
US20170105004A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of coding a predictive random access picture using a background picture
JP6910130B2 (ja) 2015-11-06 2021-07-28 三星電子株式会社Samsung Electronics Co.,Ltd. 3dレンダリング方法及び3dレンダリング装置
US10163183B2 (en) 2016-01-13 2018-12-25 Rockwell Collins, Inc. Rendering performance using dynamically controlled samples
US10356406B2 (en) 2016-01-19 2019-07-16 Google Llc Real-time video encoder rate control using dynamic resolution switching
US9705526B1 (en) 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications
US10109100B2 (en) 2016-03-25 2018-10-23 Outward, Inc. Adaptive sampling of pixels
US9639935B1 (en) 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
US10244167B2 (en) * 2016-06-17 2019-03-26 Gopro, Inc. Apparatus and methods for image encoding using spatially weighted encoding quality parameters
US10567775B2 (en) * 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
US10798404B2 (en) 2016-10-05 2020-10-06 Qualcomm Incorporated Systems and methods of performing improved local illumination compensation
US10463964B2 (en) 2016-11-17 2019-11-05 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible heatmaps
US20180176285A1 (en) 2016-12-15 2018-06-21 The Directv Group, Inc. Enhanced transmission of media to client devices
US10812559B2 (en) 2017-01-18 2020-10-20 Amazon Technologies, Inc. Just-in-time variable adaptive encoding and delivery of media content
US10419785B2 (en) * 2017-07-21 2019-09-17 Cisco Technology, Inc. Distributed learning video encoder/decoder
US10045053B1 (en) 2017-08-23 2018-08-07 Amazon Technologies, Inc. Fragment insertion for live media streams

Also Published As

Publication number Publication date
JP7050836B2 (ja) 2022-04-08
CA3106617A1 (en) 2018-10-25
CA3108057A1 (en) 2018-10-25
CN110945849B (zh) 2021-06-08
US10225564B2 (en) 2019-03-05
RU2753157C2 (ru) 2021-08-12
TW201904292A (zh) 2019-01-16
RU2020114319A3 (zh) 2020-07-07
GB202103312D0 (en) 2021-04-21
GB2583826A (en) 2020-11-11
BR112019021628A2 (pt) 2020-05-12
CA3059747A1 (en) 2018-10-25
TWI681666B (zh) 2020-01-01
KR20200021047A (ko) 2020-02-27
EP3720130A1 (en) 2020-10-07
JP2020110608A (ja) 2020-07-27
GB2583825B (en) 2021-05-12
EP3635954A4 (en) 2020-07-15
TWI684358B (zh) 2020-02-01
KR20210010668A (ko) 2021-01-27
US20180309811A1 (en) 2018-10-25
GB2577642A (en) 2020-04-01
CA3159950A1 (en) 2018-10-25
GB202104290D0 (en) 2021-05-12
GB202104855D0 (en) 2021-05-19
CA3159952A1 (en) 2018-10-25
RU2752723C2 (ru) 2021-07-30
US20180310009A1 (en) 2018-10-25
EP3739881A1 (en) 2020-11-18
US11202084B2 (en) 2021-12-14
GB2577642B (en) 2021-05-19
CN110945849A (zh) 2020-03-31
DE112018002112T5 (de) 2020-01-16
MX2020012597A (es) 2021-10-19
KR102358294B1 (ko) 2022-02-08
ZA202007053B (en) 2022-03-30
GB2591410A (en) 2021-07-28
US20190281313A1 (en) 2019-09-12
ZA202007213B (en) 2022-04-28
WO2018195440A1 (en) 2018-10-25
TWI742510B (zh) 2021-10-11
KR20220012426A (ko) 2022-02-03
JP2022065047A (ja) 2022-04-26
JP7291820B2 (ja) 2023-06-15
US11503313B2 (en) 2022-11-15
GB202002838D0 (en) 2020-04-15
AU2018255414A1 (en) 2019-12-05
EP4109899A1 (en) 2022-12-28
CA3159950C (en) 2024-01-23
GB2593598B (en) 2021-12-29
GB2593598A (en) 2021-09-29
EP3720130B1 (en) 2022-09-28
JP7145203B2 (ja) 2022-09-30
CA3106617C (en) 2023-11-07
GB2595029B (en) 2022-02-09
KR20210114553A (ko) 2021-09-23
US20210058630A1 (en) 2021-02-25
GB202002769D0 (en) 2020-04-15
US10869045B2 (en) 2020-12-15
ZA201907683B (en) 2021-04-28
RU2720067C1 (ru) 2020-04-23
TWI737045B (zh) 2021-08-21
GB201916973D0 (en) 2020-01-08
AU2020289756A1 (en) 2021-01-21
CA3087809C (en) 2021-03-09
KR102460792B1 (ko) 2022-10-28
RU2019138226A (ru) 2019-12-27
US20190158856A1 (en) 2019-05-23
RU2020114319A (ru) 2020-06-18
CA3059747C (en) 2021-03-23
TW202015408A (zh) 2020-04-16
EP3635954A1 (en) 2020-04-15
GB2583825A (en) 2020-11-11
JP2020520204A (ja) 2020-07-02
RU2019138226A3 (zh) 2020-06-30
AU2020289755B2 (en) 2021-11-25
CA3087809A1 (en) 2018-10-25
AU2020289756B2 (en) 2021-11-25
CN112153029A (zh) 2020-12-29
AU2018255414B2 (en) 2021-01-21
GB2595029A (en) 2021-11-17
TW201842778A (zh) 2018-12-01
MX2021004094A (es) 2021-06-08
AU2020289755A1 (en) 2021-01-21
GB2583826B (en) 2021-05-19
US10362320B2 (en) 2019-07-23
KR102447074B1 (ko) 2022-09-23

Similar Documents

Publication Publication Date Title
TWI684358B (zh) 用於基於編碼器提示以演現及預編碼負載估計的系統及方法