TW201622426A - 用於後製處理一視訊串流之方法及裝置 - Google Patents

用於後製處理一視訊串流之方法及裝置 Download PDF

Info

Publication number
TW201622426A
TW201622426A TW104139980A TW104139980A TW201622426A TW 201622426 A TW201622426 A TW 201622426A TW 104139980 A TW104139980 A TW 104139980A TW 104139980 A TW104139980 A TW 104139980A TW 201622426 A TW201622426 A TW 201622426A
Authority
TW
Taiwan
Prior art keywords
video stream
processing
shaders
video
client device
Prior art date
Application number
TW104139980A
Other languages
English (en)
Other versions
TWI699116B (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 TW201622426A publication Critical patent/TW201622426A/zh
Application granted granted Critical
Publication of TWI699116B publication Critical patent/TWI699116B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Studio Devices (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

本發明係關於處理一視訊串流之領域,且更特定言之係關於使用著色器來後製處理一視訊串流之領域。在一視訊串流處理裝置與一用戶端裝置之間,劃分該視訊串流之處理。

Description

用於後製處理一視訊串流之方法及裝置
本發明係關於處理一視訊串流之領域,且更特定言之係關於使用著色器來後製處理一視訊串流之領域。
現今,許多視訊處理系統遵循通常包含一伺服器之一標準架構,該伺服器接收一視訊串流,處理視訊串流且接著經由一網路將經處理視訊串流傳輸至一遠端用戶端。
出於計算原因及為增大效能有利使用伺服器及遠端用戶端兩者之處理能力。
一些處理係關於藉由一圖形處理單元(GPU)實現之處理。GPU產生用來輸出至一顯示器之影像。GPU亦可經調適以操縱一視訊串流中之影像。在一伺服器用戶端系統中,能夠使用伺服器及用戶端兩者上之GPU以用於執行圖形處理可係有利的。
US 2013/0016107(CHNOW INC.)係關於用於呈現可利用伺服器側呈現及用戶端側呈現兩者之圖形之一方法。此文件中之主要理念在於判定應在伺服器上或在用戶端上實現該呈現。若在伺服器上實現該呈現,則視訊資料(即,像素資料)自伺服器發送至該用戶端且接著被顯示。若在用戶端上實現該呈現,則圖形資料(即,向量資料)經發送至用戶端且接著使用用戶端之GPU呈現為視訊資料。基於用戶端及伺 服器中之GPU之可用處理能力且基於網路頻寬做出該選擇。
US 2013/0016107之方法可有利於其中圖形資料經處理且呈現為視訊資料(例如,電腦遊戲)之應用。需要不同方法以便(例如)藉由應用著色器用於特殊效應及視訊後製處理而處理伺服器及用戶端兩者上之視訊資料。
鑒於上文,本發明之一目的係解決或至少減少上文討論之缺點之一者或若干者。一般言之,由隨附獨立專利請求項達成上述目的。
根據一第一態樣,本發明藉由用於處理包括經連接至一用戶端裝置之一視訊串流處理裝置之一系統中之一視訊串流之一方法實現,該方法包括:設定待應用至該視訊串流之一或多個著色器,藉由一第一處理在該視訊串流處理裝置處將該等一或多個著色器之至少一者應用至該視訊串流之至少一子集,藉由一第二處理在該用戶端裝置處將該等一或多個著色器之至少一者應用至該視訊串流之至少一子集,其中應用於該第二處理之該等一或多個著色器之該至少一者自該視訊串流處理裝置傳輸至該用戶端裝置。
著色器係用於電腦圖形中之電腦程式。著色器(例如)用於特殊效應及視訊後製處理。存在各種種類之著色器,例如,可用於透視變換之頂點(Vertex)著色器,可用於更改像素顏色及位置之像素著色器及可用於視訊分析計算之計算著色器。一著色器需要執行一相容圖形處理單元(GPU)。舉例而言,所有GPU並不支援計算著色器。GPU可支援開放圖形庫(OpenGL),其係用於呈現2D及3D向量圖形之一多平台應用程式化介面(API)。
在本說明書之內容背景中,術語「處理」應理解為在與處理相關之視訊串流之至少一子集上執行著色器。
一用戶端裝置可係具有一GPU,運行來自一網頁伺服器之一網頁 應用且顯示該經處理之視訊串流之一裝置,例如一平板電腦或一智慧型電話。一用戶端裝置亦可稱為使用其之GPU來處理該視訊串流且後續出於觀看目的將其發送至一顯示器之一裝置。此一裝置之一實例可係具有一經連接顯示器之一PC,該顯示器將以與一平板電腦或一智慧型電話相同之方式顯示該經處理視訊串流,但在此情況中,在連接至該電腦之一顯示器上,而一平板電腦或一智慧型電話將出於相同目的而使用其之嵌入式顯示器。該用戶端裝置亦可用於一視訊管理系統(VMS)中以用於管理且觀看來自包括一或多個攝影機之一監測系統之視訊。一VMS可基於各種技術,(例如)其等包含基於雲之系統(例如,透過各種基於雲之視訊代管服務)、基於中心伺服器之系統(例如,藉由Axis Communications AB生產之「Axis Camera Station(Axis攝影機站)」)或無伺服器系統(其中安裝於該系統之該等攝影機上之軟體處理該視訊管理(例如,藉由Axis Communications AB生產之「Axis Camera Companion(Axis攝影機伴侶)」))。在此情況中,該用戶端裝置將經連接至該VMS。
在本說明書之內容背景中,術語「視訊串流之子集」應理解為並不需要在該視訊串流處理裝置及/或該用戶端裝置處處理整個視訊串流。在該視訊串流處理裝置處之該處理及在該用戶端裝置處之該處理可係關於一圖框之(不同)部分(例如,該圖框之一半),或圖框之(不同)子集(例如,該視訊串流中之每隔一個圖框),或該兩者之一混合物。根據其他實施例,該第一及該第二處理兩者皆處理整個視訊串流。
本發明基於此認識:藉由在該視訊串流處理裝置處提供所有著色器,且使該視訊串流處理裝置傳輸在該用戶端裝置處之該處理所需之著色器,達成該第一及該第二處理之一可撓性增大。換言之,可基於(例如)網路拓樸、該視訊串流處理裝置及該用戶端裝置兩者之性能 及負載及使用案例之特性而在運行時間動態劃分該等著色器之執行。替代地,該執行之劃分可係靜態的。
根據一些實施例,該第一處理不同於該第二處理。此可有利地劃分在該視訊串流處理裝置與該用戶端裝置之間的該視訊串流上執行該一或多個著色器所需之該處理。
根據一些實施例,應用於該第一處理之該至少一個著色器不同於應用於該第二處理之該至少一個著色器。舉例而言,可在該視訊串流處理裝置上執行任何(諸)頂點著色器且可在該用戶端裝置上執行任何(諸)像素著色器。
根據一些實施例,與該第一處理相關之該視訊串流之該至少一子集不同於與該第二處理相關之該視訊串流之該至少一子集。如上文提及,在該視訊串流處理裝置處之該處理及在該用戶端裝置處之該處理可係關於一圖框之不同部分(例如,在該視訊串流處理裝置中處理該圖框之一半且在該用戶端裝置中處理剩餘一半),或圖框之不同子集(例如,在該視訊串流處理裝置上處理該視訊串流中之每隔一個圖框且在該用戶端裝置上處理剩餘圖框)。
然而,應注意,根據一些實施例,該第一處理與該第二處理與彼此不同,即,相同著色器經應用於該視訊串流處理裝置及該用戶端裝置兩者上之該視訊串流之相同部分。此可當該第一及該第二處理係關於增量過濾時係有利的。在此情況中,仍在該視訊串流處理裝置與該用戶端裝置之間劃分該等著色器之該執行,此係由於在該視訊串流處理裝置上執行該增量過濾之第一部分且在該用戶端裝置上執行該增量過濾之第二部分。
根據一些實施例,該第一處理及/或該第二處理取決於來自下列群組之至少一者:該用戶端裝置之一圖形處理單元GPU之一類型及該視訊串流處理裝置之一圖形處理單元GPU之一類型。如上文提及,不 同類型之GPU可支援不同類型之著色器。舉例而言,一般僅該用戶端裝置中之該GPU支援曲面細分或幾何著色器。由於一頂點著色器需要在一曲面細分及/或一幾何著色器之前被執行,故可完成該執行之該劃分,使得在該視訊串流處理裝置上執行該頂點著色器,且在該用戶端裝置上執行該曲面細分及幾何著色器。
根據一些實施例,該第一處理及/或該第二處理在該視訊串流之持續時間內改變。此可進一步增大發明方法之可撓性,此係由於可針對該視訊串流之各時間週期獨立判定該視訊串流處理裝置與該用戶端裝置之間之該著色器執行的該劃分,且因此有利地遵循該網路拓撲中的改變、該視訊串流處理裝置及該用戶端裝置兩者之負載及其他重要性質的改變,及經改變的使用案例(例如,該執行之延時需求)。
舉例而言,該第一處理及/或該第二處理可基於關於來自一群組之至少一者的資訊而在該視訊串流之該持續時間內動態改變,該群組由下列組成:該視訊串流處理裝置與該用戶端裝置之間之連接的頻寬、該用戶端裝置的電池電量、該視訊串流處理裝置的電池電量、該用戶端裝置之GPU的處理能力,及該視訊串流處理裝置之GPU的處理能力。
如上文提及,該用戶端裝置可係一電池驅動裝置,諸如一平板電腦。由於著色器之執行可汲取該用戶端裝置之電池,若該視訊串流處理裝置(在該用戶端裝置耗盡電池之情況中)運行用於在該視訊串流上執行該一或多個著色器之該所需處理之一較大部分可係有利的。
根據一些實施例,該視訊串流係自該視訊串流處理裝置傳輸為一經編碼視訊串流至該用戶端裝置,其中在該第二處理之前解碼該視訊串流。由於不管在該視訊串流處理裝置處應用何處理,該視訊串流將經編碼且傳輸至該用戶端,故此係有利的。舉例而言,該視訊串流可在經編碼且傳輸至該用戶端裝置時經半處理。再者,本實施例之有 利之處在於,可輕易建立且維持該等著色器之執行流,此係由於該視訊串流處理裝置中之該編碼器(及該用戶端裝置上之一對應解碼器)持續運行。一進一步優勢可在於,根據此實施例,具有在該視訊串流處理裝置中之一編碼器及該用戶端裝置中之一解碼器的基本系統佈局不改變。此外,該網路負載可相對穩定,不管在該視訊串流處理裝置與該用戶端裝置之間如何劃分該一或多個著色器的執行。
根據一些實施例,該視訊串流之傳輸具有一第一優先等級,且自該視訊串流處理裝置將應用於該第二處理中之該一或多個著色器之該至少一者傳輸至該用戶端裝置具有低於該第一優先等級之一第二優先等級。因此,執行該等傳輸之一順序係基於其等各自優先等級。根據此實施例,該視訊串流之該傳輸始終優先於應用在該用戶端裝置中之該等著色器之該傳輸。此在經連接至該用戶端裝置或在該用戶端裝置中之一顯示器處顯示該視訊串流時,可降低瞬斷(sluttering)的風險。根據此實施例,在該第二處理中之該等著色器不會被應用於在傳輸該第二處理之該等著色器之前已經被傳輸之該視訊串流的該等圖框。
根據一些實施例,經由一第一網路連接來執行該視訊串流之該傳輸,且其中經由不同於該第一網路連接之一第二網路連接來執行自該視訊串流處理裝置至該用戶端裝置之應用於該第二處理中之該一或多個著色器之該至少一者的該傳輸。舉例而言,可經由一即時串流通信協定(RTSP)連接或超文字傳送協定(HTTP)連接來傳輸該視訊串流,可經由一插座或HTTP連接來傳輸該等著色器。
根據一些實施例,該視訊串流處理裝置包括複數個執行線程,且其中藉由執行一第一線程來執行該視訊串流之該傳輸,且其中藉由執行不同於該第一線程之一第二線程來執行應用於該第二處理中之該一或多個著色器之該至少一者的該傳輸。此可進一步促進,優先於該 第二處理之該等著色器之該傳輸而傳輸該視訊串流。
限據一些實施例,該方法進一步包括下列步驟:在該視訊串流處理裝置處自該用戶端裝置接收針對自該視訊串流處理裝置將一視訊串流傳輸至該用戶端裝置之一請求,及在該視訊串流處理裝置處自該請求提取關於該用戶端裝置之資訊,關於該用戶端裝置之該資訊至少包括該用戶端裝置之一GPU之一類型之資訊,其中該第一處理及/或該第二處理取決於該經提取資訊。
藉由自來自該用戶端裝置之一視訊串流之該請求已提取著色器執行之該劃分所需之資訊,可提前執行該第一處理及該第二處理之判定。
根據一些實施例,該視訊串流處理可包含針對關於該用戶端裝置回應於藉由該用戶端裝置發送之該視訊串流之該請求之資訊之一請求。該視訊串流處理裝置可(例如)經由包含於該回應中之JavaScript請求該資訊。當該用戶端裝置接收此回應時,其可在經發送至該視訊處理裝置之一進一步通信中之該請求資訊。
在一第二態樣中,本發明提供用於處理一視訊串流之一視訊串流處理裝置,其包括:用於儲存待應用於該視訊串流之一或多個著色器之一記憶體,一著色器處理單元,其用於判定:與待應用該一或多個著色器之至少一者之該視訊串流之至少一子集相關之一第一處理,及與待應用該一或多個著色器之至少一者之該視訊串流之至少一子集相關之一第二處理。該視訊串流處理裝置進一步包括用於執行該第一處理之一圖形處理單元GPU,及一數位網路模組,其經組態以傳輸待在該第二處理中應用之該一或多個著色器之該至少一者及關於與該第二處理相關之該視訊串流之該至少一子集之資料。
該視訊處理裝置可有利地係一數位視訊攝影機之一部分,其中藉由該數位視訊攝影機獲取該視訊串流。此降低連接至該視訊攝影機 之進一步電子裝置之需要且(例如)有利於組裝目的且有利於減小安裝該視訊串流處理裝置及該攝影機之所需空間。
在一第三態樣中,本發明提供用於處理一視訊串流之一系統,其包括:一視訊串流處理裝置,其包括:用於儲存待應用於該視訊串流之一或多個著色器之一記憶體,一著色器處理單元,其用於判定:與待應用該一或多個著色器之至少一者之該視訊串流之至少一子集相關之一第一處理,及與待應用該一或多個著色器之至少一者之該視訊串流之至少一子集相關之一第二處理。該視訊處理裝置進一步包括用於執行該第一處理之一圖形處理單元GPU,經組態以將該視訊串流編碼為一經編碼視訊串流之一編碼器,及一數位網路模組,其經組態以傳輸待在該第二處理中應用之該一或多個著色器之該至少一者、關於與該第二處理相關之該視訊串流之該至少一子集之資料及該經編碼視訊串流。該系統進一步包括一用戶端裝置,其包括:一數位網路模組,其經組態以經由該數位網路接收待在該第二處理中應用之該一或多個著色器之該至少一者、關於與該第二處理相關之該視訊串流之該至少一子集之資料及該經編碼位元流;一解碼器,其經組態以將該經編碼視訊串流解碼為一視訊串流;及一GPU,其用於使用該一或多個著色器之該經接收至少一者及關於與該第二處理相關之該視訊串流之該至少一子集之該經接收資料來執行該第二處理。
在一第四態樣中,本發明提供一電腦程式產品,其包括藉由具有經調適以當藉由具有處理能力之一裝置執行時根據該第一態樣執行該方法之指令之一電腦可讀儲存媒體。
該第二、第三及第四態樣可大體上具有與該第一態樣相同之特徵及優勢。
102‧‧‧視訊串流
102’‧‧‧視訊串流
104‧‧‧顯示器
105‧‧‧著色器
106‧‧‧經編碼視訊串流
107‧‧‧著色器
108‧‧‧著色器
202‧‧‧視訊串流
500‧‧‧系統
502‧‧‧視訊串流處理裝置
504‧‧‧記憶體
506‧‧‧著色器處理單元
508‧‧‧圖形處理單元
510‧‧‧數位網路模組
512‧‧‧編碼器
514‧‧‧數位網路
516‧‧‧用戶端裝置
518‧‧‧圖形處理單元
520‧‧‧解碼器
522‧‧‧數位網路模組
524‧‧‧資料
526‧‧‧經處理視訊串流
S1‧‧‧著色器
S2‧‧‧著色器
S3‧‧‧著色器
S102‧‧‧步驟
S104‧‧‧步驟
S106‧‧‧步驟
S108‧‧‧步驟
S109‧‧‧步驟
S110‧‧‧步驟
S112‧‧‧步驟
S202‧‧‧步驟
S204‧‧‧步驟
S206‧‧‧步驟
S208‧‧‧步驟
S210‧‧‧步驟
S212‧‧‧步驟
S214‧‧‧步驟
#1‧‧‧圖框
#2‧‧‧圖框
#3‧‧‧圖框
#4‧‧‧圖框
#5‧‧‧圖框
#6‧‧‧圖框
將參考隨附圖式,透過本發明之實施例之下列繪示性且非限制 性實施方式來更好地理解本發明之上文以及額外目標、特徵及優勢,其中相同元件符號將用於類似元件,在圖式中:圖1描述使用著色器處理一視訊串流之一流程圖,其中在一視訊處理裝置與一用戶端裝置之間劃分該處理,圖2藉由實例展示在該視訊串流處理裝置與該用戶端裝置之間發送的訊息及資料,以便劃分使用該視訊串流處理裝置與該用戶端裝置之間之著色器之該視訊串流的該處理,圖3a描述使用著色器處理一視訊串流之一案例,圖3b至圖3c展示在該視訊串流處理裝置與該用戶端裝置之間劃分在圖3a中描述之該處理的不同方式,圖4a描述使用著色器處理一視訊串流之一案例,圖4b至圖4c展示在該視訊串流處理裝置與該用戶端裝置之間之在圖4a中描述之該處理之一動態改變的劃分,圖5描述包括該視訊串流處理裝置及該用戶端裝置之一系統。
圖1藉由實例描述使用著色器處理一視訊串流之一流程圖。流程圖中之第一步驟係設定S102待應用至一視訊串流102之一或多個著色器105的步驟。如在圖1中描述,視訊串流102可係在視訊串流處理裝置之外獲取,且經傳輸至視訊串流處理裝置。根據一些實施例,視訊串流處理裝置係一數位視訊攝影機。在此情況中,視訊串流102係由數位視訊攝影機獲取,且因此不像在圖1中描述般被傳輸至視訊串流處理裝置中。然而,根據其他實施例,視訊串流處理裝置係與獲取視訊串流102之視訊攝影機分離之一裝置。在此情況中,視訊串流處理裝置與視訊攝影機之間的連接可係一有線連接或一無線連接。
再者,在圖1中,於視訊串流處理裝置外側實現設定S102著色器105之步驟,例如在其中分析視訊串流102且其中基於該分析來判定待 應用之著色器105之一預處理步驟中。在其他實施例中,於視訊串流處理裝置中執行設定S102著色器105之步驟。根據又一實施例,一或多個著色器係始終用於視訊串流,且因此可經硬編碼至視訊串流處理裝置中之固定著色器。
將對視訊串流102之一或多個著色器105的應用劃分為一第一及一第二處理步驟。將在下文中進一步描述劃分為兩個處理步驟。將藉由視訊串流處理裝置來執行第一處理,且將藉由連接至視訊串流處理裝置之一用戶端裝置來執行第二處理。視訊串流處理裝置與用戶端裝置之間的連接可係一有線連接或一無線連接。
在圖1中描述之流程圖中的下一步驟係藉由第一處理,在視訊串流處理裝置處,將一或多個著色器105(之前在S102中設定)之至少一者107應用S104至視訊串流102之至少一子集的步驟。使用視訊串流處理裝置之一GPU來執行此步驟,如將在下文中更詳細描述。
此外,將第二處理所需之(諸)著色器108自視訊串流處理裝置傳輸S106至用戶端裝置。應注意,若第二處理包括使用一紋理之紋理映射,則紋理亦可經傳輸作為第二處理所需之(諸)著色器108之傳輸S106的部分或作為一單獨傳輸(未展示)。
如在圖1中清晰可見,流程圖包括兩個單獨跡線。一個跡線用於將一或多個著色器105應用於視訊串流102、102'上及自視訊串流處理裝置至用戶端裝置之一或多個著色器105的任何傳輸,且另一跡線用於在視訊串流處理裝置處編碼S108視訊串流102,將經編碼視訊串流106傳輸S109至用戶端裝置,且在用戶端裝置處解碼S110經編碼視訊串流106。換言之,視訊串流自視訊串流處理裝置經傳輸S109為一經編碼視訊串流106至用戶端裝置,其中在第二處理S112之前解碼S110視訊串流。因此,第二處理係關於將一或多個著色器105之經傳輸至少一者108應用至視訊串流102’之至少一子集。
視訊串流102’可稍後藉由一顯示器104顯示。若所有一或多個著色器已應用至完整視訊串流,則充分地處理藉由顯示器104顯示之視訊串流102’。然而,由於該流之兩個跡線設計促進針對傳輸S109經編碼視訊及針對傳輸S106待在用戶端裝置處應用於第二處理中之一或多個著色器105之至少一者108之不同優先等級,故其可使得僅半處理或完全不處理在顯示器104處顯示之視訊串流102'之至少一部分。舉例而言,僅可藉由之前在S102中設定之一或多個著色器105處理視訊串流102'之第一圖框,及/或已應用至視訊串流之第一圖框之著色器可僅應用至視訊串流之第一圖框之一子集。換言之,第二處理將不會應用至在第二處理所需之(諸)著色器108已傳輸S106之用戶端裝置之前已顯示之視訊串流之圖框。在即時應用中(即,當即時獲取、處理及顯示視訊時),可有利地針對第二處理給定優先於著色器108之傳輸S106之視訊串流之傳輸S109。
圖2藉由實例展示在視訊串流處理裝置與用戶端裝置之間發生之傳輸。第一傳輸係自用戶端裝置及視訊串流處理裝置發送S202之一請求,例如一(諸)http請求。當藉由視訊串流處理裝置接收該請求時,視訊串流處理裝置可立即開始傳輸視訊202至用戶端裝置。自視訊之請求,視訊串流處理裝置可提取關於用戶端裝置之資訊,諸如用戶端裝置是否具有一GPU、GPU之類型、用戶端裝置之操作系統(OS)等等。此資訊可用於判定是否應在視訊串流處理裝置與用戶端裝置之間劃分一或多個著色器之執行且在此情況下應如何劃分著色器執行。
然而,若形成該處理之劃分需要進一步資訊,則視訊串流處理裝置可在發送S204至用戶端裝置之其回應訊息中請求關於用戶端裝置之更多資訊。舉例而言,對進一步資訊之請求可經嵌入於包含於(諸)http回應中之JavaScript碼中。
若請求此進一步資訊,則用戶端裝置可在傳輸S206至視訊串流 處理裝置之一訊息中提供請求資訊。
不管進一步資訊是否藉由視訊串流處理裝置請求S204且稍後經傳輸S206至視訊串流處理裝置,或在針對來自用戶端裝置之視訊之請求中提供之資訊是否被視為係足夠的,在完成(諸)著色器之處理之劃分後,在用戶端裝置處應用於第二處理中之一或多個著色器之至少一者及關於與第二處理相關之視訊串流之至少一子集之資料經傳輸S208至用戶端裝置。
根據一些實施例,第一處理及/或第二處理在視訊串流202之持續時間內動態改變。此可藉由自用戶端裝置傳輸S212至視訊串流處理裝置之進一步資訊促進。此進一步資訊可(例如)關於用戶端裝置之一電池用量及/或用戶端裝置之GPU之一處理能力。此類型資訊可已在視訊之請求中或在具有自用戶端裝置傳輸S206之進一步資訊之第一訊息中傳輸S202,但由於該資訊關於可在一時間週期內動態改變之用戶端裝置之性質,故可有利地當在視訊串流處理裝置與用戶端裝置之間劃分著色器處理時將更新資訊納入考慮。進一步資訊可由用戶端裝置自身主動傳輸S212或作為對針對來自視訊串流處理裝置之此進一步資訊之一請求之一傳輸S210之一回應而傳輸。再者,第一處理及/或第二處理可基於在視訊串流處理裝置處直接可用之資訊(例如視訊串流處理裝置與用戶端裝置之間的連接之頻寬、視訊串流處理裝置之GPU之處理能力及/或視訊串流處理裝置之電池電量)而動態改變。
若根據上文基於新的資訊改變第二處理,則在用戶端裝置處待應用於經改變第二處理中之一或多個著色器之至少一者及關於與經改變第二處理相關之視訊串流之至少一子集之資料經傳輸S214至用戶端裝置。
根據一些實施例,若基於新的資訊改變第二處理,則相較於初始第二處理之在用戶端裝置處待應用於經改變第二處理中之一或多個 著色器之相同至少一者及僅關於與經改變第二處理相關之視訊串流之至少一子集之資料可經傳輸S214至用戶端裝置。此同樣適用於若僅改變一或多個著色器之至少一者,則在此情況中,僅在用戶端裝置處待應用於經改變第二處理中之一或多個著色器之至少一者可經傳輸S214至用戶端裝置。
再者,若第二處理之改變之處在於(例如)先前應用於第二處理之著色器之一者不再係第二處理之部分,則視訊串流處理裝置可僅發送一命令至用戶端裝置以停止應用經移除著色器。
應注意,視訊串流處理可同時傳輸視訊串流202至若干用戶端裝置。在此情況中,取決於不同用戶端裝置之性能及效能,可針對該等用戶端裝置不同地完成在第一處理與第二處理之間劃分總處理。由於視訊串流處理裝置之GPU可處理並行執行若干不同著色器(例如,頂點著色器、像素著色器、計算著色器),故可形成此等裝置特定劃分。再者,應注意,不同用戶端裝置可請求不同視訊串流(例如,具有不同解析度、圖框速率及/或部分數位放大之視野等等)。
圖3a描述使用著色器處理一視訊串流之一案例。在此案例中,三個著色器S1、S2、S3經設定以應用至包括三個圖框#1、#2、#3之視訊串流。在圖3b中,如下在視訊串流處理裝置與用戶端裝置之間劃分三個圖框之處理。
針對兩個第一及第二處理,處理圖框#1、#2、#3之各者中之所有像素,此藉由表示完全佈滿點之圖3b中之圖框#1、#2、#3之區域表示。然而,第一處理包括將著色器之兩者S1、S2應用至圖框#1、#2、#3,而第二處理包括將第三著色器S3應用至圖框#1、#2、#3。因此,應用於第一處理之至少一個著色器S1、S2不同於應用於第二處理之至少一個著色器S3。
在圖3c中,實現著色器之處理之劃分之一不同類型。根據此實施 例,所有三個著色器S1、S2、S3經應用於第一及第二處理之兩者中。替代地,第一及第二處理係關於視訊串流之圖框#1、#2、#3之不同子集。在圖3c中,第一處理係關於各圖框#1、#2、#3中之一半像素,而第二處理係關於各圖框#1、#2、#3中之另一半像素。因此,與第一處理相關之視訊串流之子集不同於與第二處理相關之視訊串流之子集。劃分圖框之其他方式同樣係可能的,例如,可在視訊串流處理裝置上處理每個一個圖框而用戶端裝置上之處理負責剩餘圖框。其他可能性包括在視訊串流處理裝置處處理像素之2/3及在用戶端裝置處處理像素之剩餘1/3或劃分待處理之像素之任何其他適當方式。
圖4a描述使用著色器處理之一視訊串流之另一案例。在此案例中,三個著色器S1、S2、S3經設定以應用至包括六個圖框#1、#2、#3、#4、#5、#6之視訊串流。
圖4b描述前三個圖框#1、#2、#3之處理。針對在圖4b中之第一及第二處理兩者,處理圖框#1、#2、#3之各種中之所有像素。然而,第一處理包括將著色器之兩者S1、S2應用至圖框#1、#2、#3,而第二處理包括將第三著色器S3應用至圖框#1、#2、#3。
如上文描述,第一處理及/或第二處理可在視訊串流之持續時間內動態改變。此在圖4c中描述,圖4描述後三個圖框#4、#5、#6之處理。在圖4c中,相較於圖4b中第一及第二處理,第一及第二處理已改變,其中第二著色器S2之執行已移除且現為在用戶端裝置處之第二處理之部分。
當在視訊處理裝置與用戶端裝置之間劃分著色器之處理時,可做出除上文描述之該等之進一步考慮。舉例而言,在一或多個著色器之一者產生視訊串流上之一隱私遮罩之情況中,其在第一處理中產生隱私遮罩之全部時可係有利的。此降低將敏感視訊資料顯示給一觀看者之風險,此係由於隱私遮罩已應用於發送至用戶端裝置之編碼視訊 中。
再者,針對需要低延時之著色器,且針對關於在用戶端裝置處或在連接至用戶端裝置之一顯示器處之一交互使用者介面之著色器,在用戶端裝置處有利地執行此等著色器之執行。
在圖3b至圖3c及圖4b至圖4c中,第一處理不同於第二處理。然而,如上文提及,第一處理及第二處理可係相同的,例如當著色器正執行視訊串流之增量過濾時。
圖5描述用於處理一視訊串流之一系統500。系統500包括經連接至一用戶端裝置516之一視訊串流處理裝置502。
視訊串流處理裝置包括用於儲存待應用至視訊串流之一或多個著色器之一記憶體504。記憶體504可包含但不限於RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位多功能光碟(DVD)或其他光碟儲存、磁卡、磁帶、磁盤儲存或其他磁性儲存裝置、可用於儲存所需資訊且可藉由一電腦存取之任何其他媒體。
視訊串流處理裝置502進一步包括用於判定與待應用一或多個著色器之至少一者之視訊串流之至少一子集相關之一第一處理及與待應用一或多個著色器之至少一者之視訊串流之至少一子集相關之一第二處理之一著色器處理單元506。著色器處理單元506可將當判定第一處理及第二處理時關於視訊串流處理裝置、用戶端裝置及/或視訊串流處理裝置與用戶端裝置之間的連接之資訊納入考慮。著色器處理單元506亦可將視訊串流之內容納入考慮,即,藉由採用視訊分析演算法或具有來自另一裝置之視訊分析資料。舉例而言,若判定視訊串流包括需要覆蓋(即,藉由一隱私遮罩)之一人臉,著色器處理單元可判定第一處理應包括用於將此等隱私遮罩應用至視訊串流之一著色器。根據一些實施例,著色器處理單元經提供遠離視訊串流處理裝置。根據此實施例,第一及第二處理經提供至視訊串流處理裝置而非在視訊串 流處理裝置中判定。
視訊串流處理裝置進一步包括用於執行第一處理之一GPU 508及經組態以將視訊串流編碼為一經編碼視訊串流106之一編碼器512。經編碼視訊串流106接著藉由一數位網路模組510經由一數位網路514傳輸至用戶端裝置516。數位網路模組510亦將傳輸待應用於第二處理中之一或多個著色器之至少一者108及關於與第二處理相關之視訊串流之至少一子集之資料524。舉例而言,在圖3c中展示之實施例中,關於與第二處理相關之視訊串流之至少一子集之資料524描述應在第二處理中處理各圖框之右半。著色器處理單元506及編碼器512可在軟體中實施且藉由視訊串流處理裝置502中之一或多個處理器執行。
如上文描述,經編碼視訊串流106之傳輸可優先於待應用於第二處理中之一或多個著色器之至少一者108及關於與第二處理相關之視訊串流之至少一子集之資料524之傳輸。此特徵在圖5中描述為表示視訊串流106之傳輸之線相較於表示(諸)著色器108及資料524之傳輸之線更厚。可以複數個方式獲得此優先權。舉例而言,可經由一第一網路連接執行視訊串流106之傳輸,且可經由不同於第一網路連接之一第二網路連接執行(諸)著色器108及資料524之傳輸。在此情況中,用於視訊串流106之傳輸之連接可具有相較於用於(諸)著色器108及資料524之傳輸之連接之更高之一頻寬。根據其他實施例,視訊串流處理裝置502包括複數個執行線程,且其中藉由執行一第一線程而執行視訊串流106之傳輸,且其中藉由執行不同於第一線程之一第二線程而執行應用於第二處理中之(諸)著色器108及資料524之傳輸。
經編碼視訊串流106、(諸)著色器108及資料524藉由用戶端裝置中之一數位網路模組522接收。用戶端裝置516中之數位網路模組522因此經組態以經由數位網路514接收待應用於第二處理中之一或多個著色器之至少一者108、關於與第二處理相關之視訊串流之至少一子 集之資料524及經編碼視訊串流106。用戶端裝置516進一步包括經組態以將經編碼視訊串流106解碼為一視訊串流之一解碼器520,及用於使用經接收之一或多個著色器之至少一者108及經接收之關於與第二處理相關之視訊串流之至少一子集之資料524執行第二處理之一GPU518。最終,用戶端裝置可經連接至一顯示器104以用於顯示經處理視訊串流526。
102‧‧‧視訊串流
102’‧‧‧視訊串流
104‧‧‧顯示器
105‧‧‧著色器
106‧‧‧經編碼視訊串流
107‧‧‧著色器
108‧‧‧著色器
S102‧‧‧步驟
S104‧‧‧步驟
S106‧‧‧步驟
S108‧‧‧步驟
S109‧‧‧步驟
S110‧‧‧步驟
S112‧‧‧步驟

Claims (15)

  1. 一種用於處理包括經連接至一用戶端裝置(516)之一視訊串流處理裝置(502)之一系統中之一視訊串流(102、102’、202)之方法,其包括:設定(S102)待應用至該視訊串流之一或多個著色器(S1、S2、S3、105),藉由一第一處理,在該視訊串流處理裝置處,將該一或多個著色器之至少一者(107)應用(S104)至該視訊串流(102、202)之至少一子集,藉由一第二處理,在該用戶端裝置處,將該一或多個著色器之至少一者(108)應用(S112)至該視訊串流之至少一子集,其中應用於該第二處理之該一或多個著色器之該至少一者係自該視訊串流處理裝置傳輸(S106、S208、S214)至該用戶端裝置,且其中該一或多個著色器係用於後製處理該視訊串流。
  2. 如請求項1之方法,其中該第一處理不同於該第二處理。
  3. 如請求項2之方法,其中應用於該第一處理中之該至少一個著色器不同於應用於該第二處理中之該至少一個著色器。
  4. 如請求項2之方法,其中與該第一處理相關之該視訊串流之該至少一子集不同於與該第二處理相關之該視訊串流之該至少一子集。
  5. 如請求項1之方法,其中該第一處理及/或該第二處理取決於來自下列群組之至少一者:該用戶端裝置之一圖形處理單元(518)GPU之一類型,及該視訊串流處理裝置之一圖形處理單元(508)GPU之一類型。
  6. 如請求項1之方法,其中該第一處理及/或該第二處理在該視訊串流之持續時間內改變。
  7. 如請求項6之方法,其中該第一處理及/或該第二處理基於關於來自一群組之至少一者之資訊而在該視訊串流之該持續時間內動態改變,該群組由下列組成:該視訊串流處理裝置及該用戶端裝置之間之連接的頻寬,該用戶端裝置的電池電量,該視訊串流處理裝置的電池電量,該用戶端裝置之該GPU的處理能力,及該視訊串流處理裝置之該GPU的處理能力。
  8. 如請求項1之方法,其中該視訊串流係自該視訊串流處理裝置傳輸(S109)為一經編碼視訊串流(106)至該用戶端裝置,其中在該第二處理之前解碼(S110)該視訊串流。
  9. 如請求項8之方法,其中該視訊串流之該傳輸具有一第一優先等級,其中自該視訊串流處理裝置將應用於該第二處理中之該一或多個著色器之該至少一者傳輸至該用戶端裝置具有低於該第一優先等級之一第二優先等級,且其中執行該等傳輸之一順序係基於其等各自優先等級。
  10. 如請求項9之方法,其中經由一第一網路連接來執行該視訊串流之該傳輸,且其中經由不同於該第一網路連接之一第二網路連接來執行自該視訊串流處理裝置至該用戶端裝置之應用於該第二處理中之該一或多個著色器之該至少一者之該傳輸。
  11. 如請求項1之方法,進一步包括以下步驟:在該視訊串流處理裝置處,自該用戶端裝置接收(S202)針對待自該視訊串流處理裝置傳輸至該用戶端裝置之一視訊串流之一請求, 在該視訊串流處理裝置處,自該請求提取關於該用戶端裝置之資訊,關於該用戶端裝置之該資訊至少包括該用戶端裝置之一GPU之一類型的資訊,其中該第一處理及/或該第二處理取決於經提取資訊。
  12. 一種用於處理一視訊串流(102、202)之視訊串流處理裝置(502),其包括:一記憶體(504),用於儲存待應用至該視訊串流之一或多個著色器(S1、S2、S3、105),一著色器處理單元(506),用於判定:一第一處理,其關於待應用該一或多個著色器之至少一者(107)之該視訊串流之至少一子集,及一第二處理,其關於待應用該一或多個著色器之至少一者(108)之該視訊串流之至少一子集,一圖形處理單元(508)GPU,用於執行(S104)該第一處理,及,該視訊串流處理裝置進一步包括一數位網路模組(510),其經組態以傳輸(S106、S208、S214)待應用於該第二處理中之該一或多個著色器之該至少一者及關於與該第二處理相關之該視訊串流之該至少一子集之資料,其中該一或多個著色器係用於後製處理該視訊串流。
  13. 如請求項12之視訊串流處理裝置,其係一數位視訊攝影機,其中藉由該數位視訊攝影機獲取該視訊串流。
  14. 一種用於處理一視訊串流(102、202、202')之系統(500),其包括:如請求項12之一視訊串流處理裝置(502),一用戶端裝置(516),其包括: 一數位網路模組(522),其經組態以經由該數位網路接收待應用於該第二處理中之該一或多個著色器之該至少一者、關於與該第二處理相關之該視訊串流之該至少一子集之資料,及該經編碼視訊串流,一解碼器(520),其經組態以將該經編碼視訊串流解碼(S110)為一視訊串流,及一GPU(518),用於使用該一或多個著色器之該經接收的至少一者及該經接收之關於與該第二處理相關之該視訊串流之該至少一子集的資料來執行(S112)該第二處理。
  15. 一種包括一電腦可讀儲存媒體之電腦程式產品,該電腦可讀儲存媒體具有經調適以當由具有處理能力之一裝置執行時執行如請求項1至11之方法的指令。
TW104139980A 2014-12-04 2015-11-30 用於後製處理一視訊串流之方法及裝置 TWI699116B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14196324.9 2014-12-04
EP14196324.9A EP3029940B1 (en) 2014-12-04 2014-12-04 Method and device for post processing of a video stream

Publications (2)

Publication Number Publication Date
TW201622426A true TW201622426A (zh) 2016-06-16
TWI699116B TWI699116B (zh) 2020-07-11

Family

ID=52015919

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104139980A TWI699116B (zh) 2014-12-04 2015-11-30 用於後製處理一視訊串流之方法及裝置

Country Status (6)

Country Link
US (1) US10049424B2 (zh)
EP (1) EP3029940B1 (zh)
JP (1) JP6804191B2 (zh)
KR (1) KR102417055B1 (zh)
CN (1) CN105677270B (zh)
TW (1) TWI699116B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2520334B (en) * 2013-11-18 2015-11-25 Helen Bradley Lennon A video broadcast system and a method of disseminating video content
GB2576286B (en) 2017-04-21 2022-09-07 Zenimax Media Inc Systems and methods for deferred post-processes in video encoding
JP7389602B2 (ja) 2019-09-30 2023-11-30 株式会社ソニー・インタラクティブエンタテインメント 画像表示システム、画像処理装置、および動画配信方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7570267B2 (en) * 2004-05-03 2009-08-04 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US7978205B1 (en) * 2004-05-03 2011-07-12 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US8098256B2 (en) * 2005-09-29 2012-01-17 Apple Inc. Video acquisition with integrated GPU processing
US8723951B2 (en) 2005-11-23 2014-05-13 Grandeye, Ltd. Interactive wide-angle video server
US7873229B2 (en) * 2006-02-08 2011-01-18 Moxair, Inc. Distributed processing for video enhancement and display power management
EP1994742A4 (en) * 2006-03-07 2010-05-05 Sony Comp Entertainment Us DYNAMIC REPLACEMENT AND INSERTING FILM REQUIREMENTS IN PRINCIPLE CONTENT
KR100960164B1 (ko) * 2006-08-01 2010-05-26 엔비디아 코포레이션 표시 목적으로 네트워크를 통해 통신되는 콘텐츠를처리하기 위한 멀티그래픽 프로세서 시스템 및 방법
TW201114250A (en) * 2009-10-15 2011-04-16 Avermedia Information Inc IP camera and image output method applied thereto
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients
US8681162B2 (en) * 2010-10-15 2014-03-25 Via Technologies, Inc. Systems and methods for video processing
US9007432B2 (en) 2010-12-16 2015-04-14 The Massachusetts Institute Of Technology Imaging systems and methods for immersive surveillance
US20130016107A1 (en) 2011-01-14 2013-01-17 Ciinow Inc. Method and mechanism for performing both server-side and client-side rendering of visual data
US9250966B2 (en) 2011-08-11 2016-02-02 Otoy, Inc. Crowd-sourced video rendering system
JP2013055454A (ja) * 2011-09-02 2013-03-21 Toshiba Corp 映像再生装置及び映像再生方法
KR101536501B1 (ko) * 2012-04-12 2015-07-13 신라 테크놀로지스, 인크. 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템
US9378582B2 (en) * 2012-07-31 2016-06-28 Siemens Product Lifecycle Management Software Inc. Rendering of design data
US9264749B2 (en) * 2012-12-13 2016-02-16 Microsoft Technology Licensing, Llc Server GPU assistance for mobile GPU applications
US9069568B2 (en) 2012-12-19 2015-06-30 International Business Machines Corporation Compilation dependency resolution from a diverse group of candidate resources
US20150087414A1 (en) * 2013-09-26 2015-03-26 Cellco Partnership D/B/A Verizon Wireless Cloud gaming implemented using a mobile device and a display device

Also Published As

Publication number Publication date
KR20160067798A (ko) 2016-06-14
JP6804191B2 (ja) 2020-12-23
EP3029940A1 (en) 2016-06-08
CN105677270A (zh) 2016-06-15
JP2016111705A (ja) 2016-06-20
US20160165282A1 (en) 2016-06-09
KR102417055B1 (ko) 2022-07-05
EP3029940B1 (en) 2017-03-15
US10049424B2 (en) 2018-08-14
TWI699116B (zh) 2020-07-11
CN105677270B (zh) 2018-06-26

Similar Documents

Publication Publication Date Title
US11303881B2 (en) Method and client for playing back panoramic video
US10979663B2 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
CN109168014B (zh) 一种直播方法、装置、设备及存储介质
US20190158933A1 (en) Method, device, and computer program for improving streaming of virtual reality media content
US9940898B2 (en) Variable refresh rate video capture and playback
US9712589B2 (en) System and method for playing a video on mobile web environments
US9426476B2 (en) Video stream
US20200401362A1 (en) Screen sharing for display in vr
CN113243112A (zh) 流式传输体积视频和非体积视频
GB2570879A (en) Encoding data arrays
TWI699116B (zh) 用於後製處理一視訊串流之方法及裝置
US11924442B2 (en) Generating and displaying a video stream by omitting or replacing an occluded part
CN110049347B (zh) 在直播界面配置图像的方法、系统、终端和装置
US9335964B2 (en) Graphics server for remotely rendering a composite image and method of use thereof
CN113327303B (zh) 图像处理方法、装置、计算机设备及存储介质
US10482570B2 (en) Memory allocation for seamless media content presentation
CN116450149B (zh) 一种硬件解码方法、设备及存储介质
US20230042078A1 (en) Encoding and decoding views on volumetric image data
US20230034937A1 (en) Media file encapsulating method, media file decapsulating method, and related devices
US9641823B2 (en) Embedded light field display architecture to process and display three-dimensional light field data
CN114245137A (zh) 由gpu执行的视频帧处理方法和包括gpu的视频帧处理装置
WO2024120031A1 (zh) 处理视频数据的方法、装置、计算机设备和存储介质
CN114245138A (zh) 视频帧处理方法和装置
CN116916071A (zh) 视频画面显示方法、系统、装置、电子设备以及存储介质
WO2023129214A1 (en) Methods and system of multiview video rendering, preparing a multiview cache, and real-time multiview video conversion