用于視頻流的后處理的方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及處理視頻流的領(lǐng)域,并且更具體地,涉及使用著色器的視頻流的后處理的領(lǐng)域。
【背景技術(shù)】
[0002]如今,許多視頻處理系統(tǒng)遵循一種標(biāo)準(zhǔn)的體系結(jié)構(gòu),該體系結(jié)構(gòu)通常包括服務(wù)器,該服務(wù)器接收視頻流、處理視頻流以及隨后經(jīng)由網(wǎng)絡(luò)向遠(yuǎn)程客戶(hù)端傳輸處理的視頻流。
[0003]針對(duì)計(jì)算的原因以及用于提高性能,使用服務(wù)器和遠(yuǎn)程客戶(hù)端兩者的處理能力可能是有利的。
[0004]一些處理涉及由圖形處理單元(GPU)進(jìn)行的處理。GPU創(chuàng)建打算輸出到顯示器的圖像。GPU還可適于控制視頻流中的圖像。在服務(wù)器-客戶(hù)端系統(tǒng)中,能夠在服務(wù)器以及在客戶(hù)端兩者上使用用于實(shí)施圖形處理的GHJ可能是有利的。
[0005]US 2013/0016107(CHNOff INC.)涉及一種用于能夠使用服務(wù)器側(cè)渲染以及客戶(hù)端側(cè)渲染兩者渲染圖形的方法。該文檔中的主要想法是決定應(yīng)在服務(wù)器上進(jìn)行渲染還是在客戶(hù)端上進(jìn)行渲染。如果在服務(wù)器上進(jìn)行渲染,則從服務(wù)器向客戶(hù)端發(fā)送視頻數(shù)據(jù)(即,像素?cái)?shù)據(jù)),并且隨后顯示視頻數(shù)據(jù)。如果在客戶(hù)端上進(jìn)行渲染,則向客戶(hù)端發(fā)送圖形數(shù)據(jù)(即,矢量數(shù)據(jù)),并且隨后使用客戶(hù)端的GPU將圖形數(shù)據(jù)渲染到視頻數(shù)據(jù)中?;诳蛻?hù)端和服務(wù)器中的GPU的可用的處理能力并且基于網(wǎng)絡(luò)帶寬來(lái)進(jìn)行選擇。
[0006]在處理圖形數(shù)據(jù)并且圖形數(shù)據(jù)渲染到視頻數(shù)據(jù)(例如,計(jì)算機(jī)游戲)中的應(yīng)用中,US 2013/0016107的方法可能是有利的。為了在服務(wù)器以及在客戶(hù)端兩者上處理視頻數(shù)據(jù),需要不同的方法,例如,通過(guò)應(yīng)用特殊效果的著色器以及視頻后處理。
【發(fā)明內(nèi)容】
[0007]據(jù)此,本發(fā)明的一個(gè)目的是解決或至少減少上面討論的缺陷中的一個(gè)或幾個(gè)。通常,通過(guò)所附的獨(dú)立的專(zhuān)利權(quán)利要求實(shí)現(xiàn)上述目的。
[0008]根據(jù)第一方面,通過(guò)一種用于在系統(tǒng)中處理視頻流的方法實(shí)現(xiàn)本發(fā)明,所述系統(tǒng)包括視連接到客戶(hù)端設(shè)備的視頻流處理設(shè)備,所述方法包括:設(shè)置要應(yīng)用到所述視頻流的一個(gè)或多個(gè)著色器,在所述視頻流處理設(shè)備處通過(guò)第一處理將所述一個(gè)或多個(gè)著色器中的至少一個(gè)著色器應(yīng)用到所述視頻流中的至少一子集,在所述客戶(hù)端設(shè)備處通過(guò)第二處理將所述一個(gè)或多個(gè)著色器中的至少一個(gè)著色器應(yīng)用到所述視頻流中的至少一子集,其中所述第二處理中應(yīng)用的所述一個(gè)或多個(gè)著色器中的所述至少一個(gè)著色器被從所述視頻流處理設(shè)備傳輸?shù)剿隹蛻?hù)端設(shè)備。
[0009]著色器是計(jì)算機(jī)圖形中使用的計(jì)算機(jī)程序。著色器例如用于特殊效果以及視頻后處理。存在各種類(lèi)型的著色器,例如,可用于透視變換的頂點(diǎn)著色器,可用于改變像素顏色和位置的像素著色器,以及可用于視頻分析計(jì)算的計(jì)算著色器。著色器要求要執(zhí)行的兼容的圖形處理單元(GPU)。例如,所有GPU不支持計(jì)算著色器。GPU可支持OpenGL,其是用于渲染2D和3D矢量圖形的多平臺(tái)應(yīng)用程序接口(API)。
[0010]在本說(shuō)明書(shū)的上下文中,術(shù)語(yǔ)“處理”應(yīng)理解為對(duì)所述處理涉及的視頻流中的至少一子集的著色器的執(zhí)行。
[0011]客戶(hù)端設(shè)備可以是具有GPU、運(yùn)行來(lái)自web服務(wù)器的web應(yīng)用程序以及顯示處理的視頻流的設(shè)備,例如,平板電腦或智能電話(huà)??蛻?hù)端設(shè)備還可指使用其GPU處理視頻流并且隨后為了觀看目的將處理的視頻流發(fā)送到顯示器的設(shè)備。這種設(shè)備的一種示例可以是具有連接的顯示器的PC,連接的顯示器將以與平板電腦或智能電話(huà)同樣的方式顯示處理的視頻流,但在連接到計(jì)算機(jī)的顯示器上的情況下,平板電腦或智能電話(huà)將為了同樣的目的使用其嵌入的顯示器??蛻?hù)端設(shè)備還可用在視頻管理系統(tǒng)(VMS)中,用于管理及觀看來(lái)自監(jiān)控系統(tǒng)的視頻,監(jiān)控系統(tǒng)包括一個(gè)或多個(gè)攝像機(jī)。VMS可基于各種技術(shù),例如,包括基于云的系統(tǒng)(例如,通過(guò)各種基于云的視頻托管服務(wù))、基于中央服務(wù)器的系統(tǒng)(例如,安訊士網(wǎng)絡(luò)通訊有限公司AB生產(chǎn)的“安迅士攝像機(jī)站(Axis Camera Stat1n)”)、或無(wú)服務(wù)器系統(tǒng),在無(wú)服務(wù)器系統(tǒng)中,安裝在系統(tǒng)的攝像機(jī)上的軟件處理視頻管理(例如,安訊士網(wǎng)絡(luò)通訊有限公司AB生產(chǎn)的“安迅士攝像機(jī)伴侶(Axis Camera Compan1n)”)。在此情況下,客戶(hù)端設(shè)備將連接到VMS。
[0012]在本說(shuō)明書(shū)的上下文中,術(shù)語(yǔ)“視頻流的子集”將理解為在視頻流處理設(shè)備和/或客戶(hù)端設(shè)備不需要處理整個(gè)視頻流。在視頻流處理設(shè)備處的處理以及在客戶(hù)端設(shè)備處的處理可涉及幀的(不同的)部分(例如,半個(gè)幀),或幀的(不同的)子集(例如,視頻流中每隔一個(gè)幀),或兩者的混合。根據(jù)其他實(shí)施例,第一處理和第二處理兩者都處理整個(gè)視頻流。
[0013]本發(fā)明是基于通過(guò)在視頻流處理設(shè)備處提供所有著色器、以及使視頻流處理設(shè)備傳輸客戶(hù)端設(shè)備的處理需要的著色器來(lái)實(shí)現(xiàn)的,實(shí)現(xiàn)了第一處理和第二處理增加的靈活性。換句話(huà)說(shuō),可基于例如網(wǎng)絡(luò)拓?fù)洹⒁曨l流處理設(shè)備和客戶(hù)端設(shè)備兩者的能力和負(fù)載、以及用例的特性,在運(yùn)行時(shí)動(dòng)態(tài)地分配著色器的執(zhí)行??商娲?,執(zhí)行的分配可以是靜態(tài)的。
[0014]根據(jù)一些實(shí)施例,所述第一處理不同于所述第二處理。這可有利地在視頻流處理設(shè)備和客戶(hù)端設(shè)備之間的視頻流上分配一個(gè)或多個(gè)著色器的執(zhí)行需要的處理。
[0015]根據(jù)一些實(shí)施例,所述第一處理中應(yīng)用的所述至少一個(gè)著色器不同于所述第二處理中應(yīng)用的所述至少一個(gè)著色器。例如,可在視頻流處理設(shè)備上執(zhí)行任何頂點(diǎn)著色器并且可在客戶(hù)端設(shè)備上執(zhí)行任何像素著色器。
[0016]根據(jù)一些實(shí)施例,所述第一處理涉及的所述視頻流中的所述至少一子集不同于所述第二處理涉及的所述視頻流中的所述至少一子集。如上所述的,在視頻流處理設(shè)備處的處理以及在客戶(hù)端設(shè)備處的處理可涉及幀的不同部分(例如,在視頻流處理設(shè)備中處理幀的一半,在客戶(hù)端設(shè)備上處理幀的剩余一半)、或幀的不同子集(例如,在視頻流處理設(shè)備上視頻流中的每隔一個(gè)幀被處理,在客戶(hù)端設(shè)備上其余幀被處理)。
[0017]然而,應(yīng)注意,根據(jù)一些實(shí)施例,第一處理和第二處理不是彼此不同的,S卩,在視頻流處理設(shè)備和客戶(hù)端設(shè)備兩者上同一著色器應(yīng)用到視頻流的同一部分。在第一處理和第二處理涉及增量過(guò)濾時(shí),這是有利的。在這種情況下,由于增量過(guò)濾的第一部分在視頻流處理設(shè)備上執(zhí)行并且增量過(guò)濾的第二部分在客戶(hù)端設(shè)備上執(zhí)行,因此著色器的執(zhí)行仍在視頻流處理設(shè)備和客戶(hù)端設(shè)備之間分配。
[0018]根據(jù)一些實(shí)施例,所述第一處理和/或所述第二處理取決于以下類(lèi)型構(gòu)成的組中的至少之一:所述客戶(hù)端設(shè)備的圖形處理單元GPU的類(lèi)型,以及所述視頻流處理設(shè)備的圖形處理單元GPU的類(lèi)型。如上面提到的,不同類(lèi)型的GPU可支持不同類(lèi)型的著色器。例如,通常,僅客戶(hù)端設(shè)備中的GPU支持細(xì)分曲面(Tessellat1n)著色器或幾何著色器。由于需要在細(xì)分曲面著色器和/或幾何著色器之前執(zhí)行頂點(diǎn)著色器,因此可進(jìn)行執(zhí)行的分配使得在視頻流處理設(shè)備上執(zhí)行頂點(diǎn)著色器并且在客戶(hù)端設(shè)備上執(zhí)行細(xì)分曲面著色器和幾何著色器。
[0019]根據(jù)一些實(shí)施例,所述第一處理和/或所述第二處理在所述視頻流的持續(xù)期間改變。由于可針對(duì)視頻流的每個(gè)時(shí)間段獨(dú)立地確定著色器視頻流處理設(shè)備和客戶(hù)端設(shè)備之間的著色器執(zhí)行的分配,并且因此有利地遵循網(wǎng)絡(luò)拓?fù)渲械母淖?、視頻流處理設(shè)備和客戶(hù)端設(shè)備兩者的負(fù)載和其他重要屬性的改變以及改變的用例(例如,執(zhí)行的延遲需求),因而這可進(jìn)一步提高本發(fā)明的方法的靈活性。
[0020]例如,所述第一處理和/或所述第二處理基于關(guān)于以下構(gòu)成的組中的至少之一的信息在所述視頻流的持續(xù)期間動(dòng)態(tài)地改變:所述視頻流處理設(shè)備和所述客戶(hù)端設(shè)備之間的連接的帶寬,所述客戶(hù)端設(shè)備的電池水平,所述視頻流處理設(shè)備的電池水平,所述客戶(hù)端設(shè)備的GPU的處理能力以及所述視頻流處理設(shè)備的GPU的處理能力。
[0021]如上面提到的,客戶(hù)端設(shè)備可以是電池驅(qū)動(dòng)的設(shè)備,例如,平板電腦。由于著色器的執(zhí)行可耗盡客戶(hù)端設(shè)備的電池,在客戶(hù)端設(shè)備正運(yùn)行電量不足的電池的情況下,如果視頻流處理設(shè)備運(yùn)行用于對(duì)視頻流執(zhí)行的一個(gè)或多個(gè)著色器需要的處理的較大部分,則可能是有利的。
[0022]根據(jù)一些實(shí)施例,所述視頻流作為編碼的視頻流從所述視頻流處理設(shè)備傳輸?shù)剿隹蛻?hù)端設(shè)備,在所述客戶(hù)端設(shè)備處,所述視頻流在所述第二處理之前被解碼。由于無(wú)論在視頻流處理設(shè)備處應(yīng)用什么處理,都將編碼視頻流并且將編碼的視頻流傳輸?shù)娇蛻?hù)端設(shè)備,因此這是有利的。例如,在編碼并且傳輸?shù)娇蛻?hù)端設(shè)備時(shí),視頻流可以是半處理的。此夕卜,本實(shí)施例是有利的,因?yàn)橐曨l流處理設(shè)備中的編碼器(以及客戶(hù)端設(shè)備上對(duì)應(yīng)的解碼器)不斷地運(yùn)行,因此可容易地建立和維護(hù)著色器的執(zhí)行流。進(jìn)一步的優(yōu)勢(shì)可以是:具有視頻流處理設(shè)備中的編碼器以及客戶(hù)端設(shè)備中的解碼器的基本系