国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種視頻編解碼的方法與裝置與流程

      文檔序號:12730727閱讀:270來源:國知局
      一種視頻編解碼的方法與裝置與流程

      本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種視頻編解碼的方法與裝置。



      背景技術(shù):

      隨著互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的高速發(fā)展,人們產(chǎn)生的數(shù)據(jù)總量呈現(xiàn)急劇增長的趨勢。信息數(shù)據(jù)越來越多,對信息數(shù)據(jù)處理能力的要求也越來越高,尤其在視頻領(lǐng)域,隨著互聯(lián)網(wǎng)、智慧城市的飛速發(fā)展,有越來越多的視頻數(shù)據(jù)需要被存儲、傳輸和處理,這其中會涉及到大量的視頻編碼和解碼,簡稱視頻編解碼。

      視頻編解碼技術(shù)是網(wǎng)絡(luò)電視發(fā)展的最初條件,高效的視頻編碼才能保證在現(xiàn)實(shí)的互聯(lián)網(wǎng)環(huán)境下提供視頻服務(wù)。一種可行的方式,視頻編解碼可以由中央處理器(CPU)一手包辦的,但是由于CPU的編解碼能力有限,所以在解碼高清電影時(shí)相當(dāng)吃力。

      圖像處理器(Graphics Processing Unit,GPU),又稱顯示核心,是一種專門在個(gè)人電腦、工作站、游戲機(jī)和一些移動設(shè)備上圖像運(yùn)算工作的微處理器。可以用于將計(jì)算機(jī)系統(tǒng)所需要顯示信息進(jìn)行轉(zhuǎn)換驅(qū)動,并向顯示器提供掃描信號,控制顯示器的正確顯示。GPU的浮點(diǎn)運(yùn)算能力遠(yuǎn)遠(yuǎn)強(qiáng)于CPU,因此由GPU來處理高清視頻的解碼工作,能夠極大的降低CPU的負(fù)擔(dān),提升視頻編解碼的工作效率。但是,傳統(tǒng)方式中,GPU只能對視頻流進(jìn)行串行處理,無法對大規(guī)模的視頻流數(shù)據(jù)進(jìn)行多路編解碼,導(dǎo)致視頻編解碼工作效率低下。

      可見,如何提升視頻編解碼的工作效率,是本領(lǐng)域技術(shù)人員亟待解決的問題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例的目的是提供一種視頻編解碼的方法與裝置,可以對大規(guī)模的視頻數(shù)據(jù)進(jìn)行多路編解碼,有效提升視頻編解碼的工作效率。

      為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種視頻編解碼的方法,應(yīng)用于包含至少一個(gè)GPU的服務(wù)器,所述方法包括:

      依據(jù)用戶輸入的線程個(gè)數(shù)信息,在所述GPU對應(yīng)的線程池中設(shè)置多個(gè)線程;

      對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理。

      可選的,還包括:

      依據(jù)設(shè)置的動態(tài)負(fù)載均衡規(guī)則,向所述至少一個(gè)GPU分配所述多路視頻流。

      可選的,還包括:

      在所述GPU上設(shè)置每個(gè)線程相對應(yīng)的第一緩沖區(qū)和第二緩沖區(qū);所述第一緩沖區(qū)用于存儲待解碼的視頻流數(shù)據(jù);所述第二緩沖區(qū)用于存儲解碼后的視頻流數(shù)據(jù)。

      可選的,所述對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理包括:

      利用ffmpeg庫函數(shù)對所述多路視頻流進(jìn)行解析,獲取所述視頻流的參數(shù)信息;所述參數(shù)信息包括:解碼格式、分辨率、顏色和大小;每路視頻流經(jīng)過解析后得到對應(yīng)的至少一個(gè)數(shù)據(jù)包;

      依據(jù)所述參數(shù)信息,設(shè)置解碼規(guī)則;

      將所述至少一個(gè)數(shù)據(jù)包寫入第一緩沖區(qū);

      調(diào)用所述GPU依據(jù)所述解碼規(guī)則,對所述至少一個(gè)數(shù)據(jù)包進(jìn)行解碼操作,得到所述至少一個(gè)數(shù)據(jù)包相對應(yīng)的至少一個(gè)幀;并將所述至少一個(gè)幀存儲于所述第二緩沖區(qū);

      調(diào)用所述GPU依據(jù)于預(yù)先設(shè)置的編碼規(guī)則,對所述第二緩沖區(qū)的所述至少一個(gè)幀進(jìn)行編碼操作。

      可選的,還包括:

      為所述至少一個(gè)線程設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只有一個(gè)線程調(diào)用所述GPU。

      可選的,還包括:

      為所述至少一個(gè)GPU設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只為一個(gè)GPU分配多路視頻流。

      本發(fā)明實(shí)施例還提供一種視頻編解碼的裝置,應(yīng)用于包含至少一個(gè)GPU的服務(wù)器,所述裝置包括設(shè)置單元和處理單元:

      所述設(shè)置單元,用于依據(jù)用戶輸入的線程個(gè)數(shù)信息,在所述GPU對應(yīng)的線程池中設(shè)置多個(gè)線程;

      所述處理單元,用于對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理。

      可選的,還包括分配單元:

      所述分配單元,用于依據(jù)設(shè)置的動態(tài)負(fù)載均衡規(guī)則,向所述至少一個(gè)GPU分配所述多路視頻流。

      可選的,所述設(shè)置單元還用于在所述GPU上設(shè)置每個(gè)線程相對應(yīng)的第一緩沖區(qū)和第二緩沖區(qū);所述第一緩沖區(qū)用于存儲待解碼的視頻流數(shù)據(jù);所述第二緩沖區(qū)用于存儲解碼后的視頻流數(shù)據(jù)。

      可選的,所述處理單元包括解析子單元、設(shè)置子單元、寫入子單元、解碼子單元和編碼子單元:

      所述解析子單元,用于利用ffmpeg庫函數(shù)對所述多路視頻流進(jìn)行解析,獲取所述視頻流的參數(shù)信息;所述參數(shù)信息包括:解碼格式、分辨率、顏色和大?。幻柯芬曨l流經(jīng)過解析后得到對應(yīng)的至少一個(gè)數(shù)據(jù)包;

      所述設(shè)置子單元,用于依據(jù)所述參數(shù)信息,設(shè)置解碼規(guī)則;

      所述寫入子單元,用于將所述至少一個(gè)數(shù)據(jù)包寫入第一緩沖區(qū);

      所述解碼子單元,用于調(diào)用所述GPU依據(jù)所述解碼規(guī)則,對所述至少一個(gè)數(shù)據(jù)包進(jìn)行解碼操作,得到所述至少一個(gè)數(shù)據(jù)包相對應(yīng)的至少一個(gè)幀;并將所述至少一個(gè)幀存儲于所述第二緩沖區(qū);

      所述編碼子單元,用于調(diào)用所述GPU依據(jù)于預(yù)先設(shè)置的編碼規(guī)則,對所述第二緩沖區(qū)的所述至少一個(gè)幀進(jìn)行編碼操作。

      可選的,所述設(shè)置單元還用于為所述至少一個(gè)線程設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只有一個(gè)線程調(diào)用所述GPU。

      可選的,所述設(shè)置單元還用于為所述至少一個(gè)GPU設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只為一個(gè)GPU分配多路視頻流。

      由上述技術(shù)方案可以看出,在服務(wù)器中可以同時(shí)安裝多個(gè)GPU,對于每個(gè)GPU而言,可以依據(jù)用戶輸入的線程個(gè)數(shù)信息,在所述GPU對應(yīng)的線程池中設(shè)置多個(gè)線程;對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理。可見,一個(gè)線程通過調(diào)用GPU可以實(shí)現(xiàn)對解析后一路視頻流的編解碼處理,一個(gè)GPU對應(yīng)的可以設(shè)置多個(gè)線程,即該多個(gè)線程可以同時(shí)調(diào)用GPU對解析后的視頻流進(jìn)行處理,從而實(shí)現(xiàn)一個(gè)GPU對多路視頻流的并行處理,有效的提升了視頻編解碼的工作效率。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例,下面將對實(shí)施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明實(shí)施例提供的一種視頻編解碼的方法的流程圖;

      圖2為本發(fā)明實(shí)施例提供的另一種視頻編解碼的方法的流程圖;

      圖3為本發(fā)明實(shí)施例提供的一種視頻編解碼的裝置的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。

      為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。

      接下來,詳細(xì)介紹本發(fā)明實(shí)施例所提供的一種視頻編解碼的方法。圖1為本發(fā)明實(shí)施例提供的一種視頻編解碼的方法的流程圖,應(yīng)用于包含至少一個(gè)GPU的服務(wù)器,所述方法包括:

      S101:依據(jù)用戶輸入的線程個(gè)數(shù)信息,在所述GPU對應(yīng)的線程池中設(shè)置多個(gè)線程。

      線程可以理解為是調(diào)用GPU實(shí)現(xiàn)編解碼的接口信息,利用該線程便可以調(diào)用GPU實(shí)現(xiàn)是對視頻流的編解碼。線程池可以用于存儲線程,一個(gè)線程池中存儲的線程的個(gè)數(shù)可以根據(jù)用戶的要求進(jìn)行設(shè)置。

      在本發(fā)明實(shí)施例中,可以在服務(wù)器中設(shè)置至少一個(gè)GPU,每個(gè)GPU對應(yīng)有一個(gè)線程池,每個(gè)線程池可以設(shè)置有至少一個(gè)線程。一個(gè)線程池中設(shè)置有幾個(gè)線程,對應(yīng)的便可以同時(shí)對幾路視頻流進(jìn)行處理。

      其中,線程池中包括的線程的個(gè)數(shù)可以由用戶通過相關(guān)的界面輸入到服務(wù)器中,該個(gè)數(shù)的具體數(shù)值可以依據(jù)于一個(gè)GPU的處理能力確定,例如,一個(gè)GPU的運(yùn)算能力,可以同時(shí)對10路視頻流進(jìn)行處理,則可以將線程池中的線程個(gè)數(shù)設(shè)置為10個(gè)。

      需要說明的是,每個(gè)GPU對應(yīng)的線程池包含的線程的個(gè)數(shù)可以相同,也可以不同,在此不做限定。

      S102:對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理。

      通過線程調(diào)用GPU對視頻流進(jìn)行編解碼處理時(shí),以多線程為例,每個(gè)線程對應(yīng)的是一路視頻流,在具體實(shí)現(xiàn)中,線程在調(diào)用GPU對視頻流編解碼處理時(shí),為了提升編解碼的工作效率,會將視頻流進(jìn)行解析處理,經(jīng)過處理后的視頻流相當(dāng)于被切分成更小的組成單元,以數(shù)據(jù)包的形式存在,也即一路視頻流可以包含至少一個(gè)數(shù)據(jù)包。GPU對多路視頻流進(jìn)行編解碼的處理時(shí),每路視頻流被切分成至少一個(gè)數(shù)據(jù)包,為了便于管理每路視頻流對應(yīng)的數(shù)據(jù)包,可以針對每個(gè)線程設(shè)置對應(yīng)的緩沖區(qū),具體的,可以在所述GPU上設(shè)置每個(gè)線程相對應(yīng)的第一緩沖區(qū)和第二緩沖區(qū);所述第一緩沖區(qū)用于存儲待解碼的視頻流數(shù)據(jù);所述第二緩沖區(qū)用于存儲解碼后的視頻流數(shù)據(jù)。

      需要說明的是,待解碼的視頻流數(shù)據(jù)可以是經(jīng)過解析處理后的視頻流,此時(shí)該數(shù)據(jù)流是以數(shù)據(jù)包的形式存儲,同理,解碼后的視頻流數(shù)據(jù)可以是以解碼后的數(shù)據(jù)形式存儲,一般情況下,經(jīng)過解碼處理后的視頻流會以幀的形式存儲。

      接下來,將對視頻流的具體編解碼處理過程展開介紹,如圖2所示,該步驟包括:

      S201:利用ffmpeg庫函數(shù)對所述多路視頻流進(jìn)行解析,獲取所述視頻流的參數(shù)信息。

      S202:依據(jù)所述參數(shù)信息,設(shè)置解碼規(guī)則。

      對視頻流進(jìn)行編碼的方式有多種,每種編碼方式有其對應(yīng)的解碼方式。在對視頻流進(jìn)行解碼時(shí),需要知道該視頻流采用的是哪種編碼方式,以及視頻流的分辨率、顏色和大小等因素,GPU無法自動識別這些參數(shù)信息,故此,線程在調(diào)用GPU進(jìn)行解碼處理之前,需要獲取這些參數(shù)信息,參數(shù)信息可以包括:解碼格式、分辨率、顏色和大小等。編解碼的主要作用是對視頻流進(jìn)行壓縮和解壓縮,解碼格式可以用于表示視頻流采用何種方式進(jìn)行解壓縮。將這些參數(shù)信息按照一定的格式要求進(jìn)行整理,得到解碼規(guī)則。解碼規(guī)則可以用于表示對視頻流進(jìn)行解碼的要求。

      S203:將所述至少一個(gè)數(shù)據(jù)包寫入第一緩沖區(qū)。

      一個(gè)線程可以用于對一路視頻流進(jìn)行處理,每個(gè)線程有其對應(yīng)的一組緩沖區(qū)(第一緩沖區(qū)和第二緩沖區(qū)),每路視頻流都有對應(yīng)的第一緩沖區(qū)存儲經(jīng)過解析后得到的至少一個(gè)數(shù)據(jù)包。

      S204:調(diào)用所述GPU依據(jù)所述解碼規(guī)則,對所述至少一個(gè)數(shù)據(jù)包進(jìn)行解碼操作,得到所述至少一個(gè)數(shù)據(jù)包相對應(yīng)的至少一個(gè)幀;并將所述至少一個(gè)幀存儲于所述第二緩沖區(qū)。

      依據(jù)該解碼規(guī)則,便可以設(shè)置視頻解碼庫(CUVID)的相關(guān)結(jié)構(gòu),從而使得GPU可以實(shí)現(xiàn)對數(shù)據(jù)包的解碼處理。在具體實(shí)現(xiàn)中,對數(shù)據(jù)包進(jìn)行解碼處理時(shí),涉及三個(gè)回調(diào)函數(shù)(callback function),分別為格式變更回調(diào)函數(shù)(format change callback)、解碼回調(diào)函數(shù)(decode callback)和顯示回調(diào)函數(shù)(display callback),格式變更回調(diào)函數(shù)主要用于當(dāng)視頻流的格式發(fā)生變化時(shí)被調(diào)用,對于一些網(wǎng)絡(luò)突發(fā)狀況,可能會導(dǎo)致視頻流的格式發(fā)生變化,對于該種情況,可以調(diào)用該格式變更回調(diào)函數(shù),將改變的視頻流的格式變?yōu)樵瓉淼母袷健=獯a回調(diào)函數(shù)可以用于對數(shù)據(jù)包的解碼,解碼后的數(shù)據(jù)包可以以幀的形式存在,顯示回調(diào)函數(shù)可以用于幀的顯示或存儲。

      對于解碼后得到的幀可以將其存儲于第二緩沖區(qū),以便于后續(xù)對其進(jìn)行二次編碼處理。

      S205:調(diào)用所述GPU依據(jù)于預(yù)先設(shè)置的編碼規(guī)則,對所述第二緩沖區(qū)的所述至少一個(gè)幀進(jìn)行編碼操作。

      在實(shí)際應(yīng)用中,服務(wù)器接收的視頻流可能是MP4的格式,若想要將該視頻流變?yōu)锳VI格式,可以對該視頻流進(jìn)行解碼后,再進(jìn)行二次編碼時(shí)可以以AVI格式的編碼規(guī)則進(jìn)行,從而實(shí)現(xiàn)該視頻流格式的變更。故此,可以預(yù)先設(shè)置好編碼規(guī)則,以便于二次編碼時(shí)可以依照該編碼規(guī)則,編碼成符合用戶需求的視頻流格式。

      以服務(wù)器中包含有多個(gè)GPU為例,服務(wù)器在接收到視頻流后,需要將視頻流進(jìn)行分配,具體的,可以預(yù)先設(shè)置相應(yīng)的動態(tài)負(fù)載均衡規(guī)則,使得服務(wù)器在接收到多路視頻流后,可以依據(jù)設(shè)置的動態(tài)負(fù)載均衡規(guī)則,向所述至少一個(gè)GPU分配所述多路視頻流。

      動態(tài)負(fù)載均衡規(guī)則可以用于保證每個(gè)GPU都被均衡的使用。

      在該動態(tài)負(fù)載均衡規(guī)則中,可以設(shè)置首次分配時(shí)向每個(gè)GPU分配的視頻流的路數(shù),例如,首次分配時(shí),可以向每個(gè)GPU分配20路視頻流。對于不同的視頻流,GPU完成編解碼的時(shí)間不盡相同,對于后續(xù)分配視頻流時(shí),動態(tài)負(fù)載均衡規(guī)則可以是根據(jù)每個(gè)GPU的處理情況,進(jìn)行動態(tài)的分配,例如,在服務(wù)器中安裝有3個(gè)GPU,分別為GPU1、GPU2和GPU3,首次分配時(shí)向每個(gè)GPU分配了20路視頻流,GPU1可能最先處理好分配的20路視頻流,此時(shí)依據(jù)該動態(tài)負(fù)載均衡規(guī)則,可以向GPU1再分配20路視頻流。

      針對上述在一臺服務(wù)器上設(shè)置多個(gè)GPU的情況,在向GPU分配視頻流時(shí),為了避免各個(gè)GPU之間產(chǎn)生相互影響,可以對于每個(gè)GPU設(shè)置對應(yīng)的一個(gè)互斥鎖,所述互斥鎖用于保證同一時(shí)刻只為一個(gè)GPU分配多路視頻流。

      考慮到一個(gè)GPU對應(yīng)的線程池中可以包含有多個(gè)線程,為了避免各個(gè)線程之間產(chǎn)生相互影響,可以為每個(gè)線程設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只有一個(gè)線程調(diào)用所述GPU。

      由上述技術(shù)方案可以看出,在服務(wù)器中可以同時(shí)安裝多個(gè)GPU,對于每個(gè)GPU而言,可以依據(jù)用戶輸入的線程個(gè)數(shù)信息,在所述GPU對應(yīng)的線程池中設(shè)置多個(gè)線程;對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理。可見,一個(gè)線程通過調(diào)用GPU可以實(shí)現(xiàn)對解析后一路視頻流的編解碼處理,一個(gè)GPU對應(yīng)的可以設(shè)置多個(gè)線程,即該多個(gè)線程可以同時(shí)調(diào)用GPU對解析后的視頻流進(jìn)行處理,從而實(shí)現(xiàn)一個(gè)GPU對多路視頻流的并行處理,有效的提升了視頻編解碼的工作效率。

      圖3為本發(fā)明實(shí)施例提供的一種視頻編解碼的裝置的結(jié)構(gòu)示意圖,應(yīng)用于包含至少一個(gè)GPU的服務(wù)器,所述裝置包括設(shè)置單元31和處理單元32:

      所述設(shè)置單元31,用于依據(jù)用戶輸入的線程個(gè)數(shù)信息,在所述GPU對應(yīng)的線程池中設(shè)置多個(gè)線程。

      所述處理單元32,用于對接收到的多路視頻流進(jìn)行解析處理,并利用所述多個(gè)線程調(diào)用所述GPU對所述解析處理后的多路視頻流進(jìn)行編解碼處理。

      可選的,還包括分配單元:

      所述分配單元,用于依據(jù)設(shè)置的動態(tài)負(fù)載均衡規(guī)則,向所述至少一個(gè)GPU分配所述多路視頻流。

      可選的,所述設(shè)置單元還用于在所述GPU上設(shè)置每個(gè)線程相對應(yīng)的第一緩沖區(qū)和第二緩沖區(qū);所述第一緩沖區(qū)用于存儲待解碼的視頻流數(shù)據(jù);所述第二緩沖區(qū)用于存儲解碼后的視頻流數(shù)據(jù)。

      可選的,所述處理單元包括解析子單元、設(shè)置子單元、寫入子單元、解碼子單元和編碼子單元:

      所述解析子單元,用于利用ffmpeg庫函數(shù)對所述多路視頻流進(jìn)行解析,獲取所述視頻流的參數(shù)信息;所述參數(shù)信息包括:解碼格式、分辨率、顏色和大??;每路視頻流經(jīng)過解析后得到對應(yīng)的至少一個(gè)數(shù)據(jù)包。

      所述設(shè)置子單元,用于依據(jù)所述參數(shù)信息,設(shè)置解碼規(guī)則。

      所述寫入子單元,用于將所述至少一個(gè)數(shù)據(jù)包寫入第一緩沖區(qū)。

      所述解碼子單元,用于調(diào)用所述GPU依據(jù)所述解碼規(guī)則,對所述至少一個(gè)數(shù)據(jù)包進(jìn)行解碼操作,得到所述至少一個(gè)數(shù)據(jù)包相對應(yīng)的至少一個(gè)幀;并將所述至少一個(gè)幀存儲于所述第二緩沖區(qū)。

      所述編碼子單元,用于調(diào)用所述GPU依據(jù)于預(yù)先設(shè)置的編碼規(guī)則,對所述第二緩沖區(qū)的所述至少一個(gè)幀進(jìn)行編碼操作。

      可選的,所述設(shè)置單元還用于為所述至少一個(gè)線程設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只有一個(gè)線程調(diào)用所述GPU。

      可選的,所述設(shè)置單元還用于為所述至少一個(gè)GPU設(shè)置相對應(yīng)的互斥鎖;所述互斥鎖用于保證同一時(shí)刻只為一個(gè)GPU分配多路視頻流。

      圖3所對應(yīng)實(shí)施例中特征的說明可以參見圖1和圖2所對應(yīng)實(shí)施例的相關(guān)說明,這里不再一一贅述。

      以上對本發(fā)明所提供的一種視頻編解碼的方法與裝置進(jìn)行了詳細(xì)介紹。說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

      專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

      結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1