本技術(shù)涉及視頻編碼,特別是涉及一種視頻編碼方法及針對(duì)led顯示數(shù)據(jù)的編碼方法。
背景技術(shù):
1、在視頻拼接顯示的場(chǎng)景中,可以使用led(light-emitting?diode,發(fā)光二極管)顯示屏/lcd(liquid?crystal?display,液晶顯示器)對(duì)拼接后的圖像數(shù)據(jù)進(jìn)行顯示,在該場(chǎng)景中通??梢赃x取一個(gè)具有較強(qiáng)性能的編碼器對(duì)多路圖像數(shù)據(jù)流進(jìn)行編碼;其中,編碼的過程可以包括預(yù)測(cè)、變換/量化、決策/重建、熵編碼及封裝等處理階段。
2、在相關(guān)技術(shù)中,通常是按照上述所介紹的編碼的過程,對(duì)多路圖像數(shù)據(jù)采用串行的方式進(jìn)行編碼,例如:在針對(duì)一路圖像數(shù)據(jù)流中的一圖像塊進(jìn)行編碼完成后,再針對(duì)另一路圖像數(shù)據(jù)流中的圖像塊進(jìn)行編碼,以此類推對(duì)多路圖像數(shù)據(jù)進(jìn)行編碼;但串行的方式會(huì)使得編碼器的資源利用率較低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的目的在于提供一種視頻編碼方法及針對(duì)led顯示數(shù)據(jù)的編碼方法,以提高編碼器的資源利用率,具體技術(shù)方案如下:
2、第一方面,本技術(shù)實(shí)施例提供了一種視頻編碼方法,應(yīng)用于編碼器的控制模塊,所述編碼器還設(shè)置有編碼模塊及多個(gè)輸入接口,所述編碼模塊包含有用于進(jìn)行數(shù)據(jù)編碼的多個(gè)處理單元,不同的處理單元用于執(zhí)行編碼過程中不同的編碼階段的編碼任務(wù);所述方法包括:
3、確定各個(gè)目標(biāo)輸入接口以及編碼調(diào)度策略;其中,各個(gè)目標(biāo)輸入接口為所述多個(gè)輸入接口中的、用于接收目標(biāo)傳輸端發(fā)送的待編碼處理的各路圖像數(shù)據(jù)流的輸入接口;每一目標(biāo)輸入接口唯一對(duì)應(yīng)有一個(gè)屬于虛擬通道的編碼通道;所述編碼調(diào)度策略包括用于表征對(duì)于各個(gè)編碼通道進(jìn)行輪詢處理所需的輪詢順序的第一策略,以及表征每一路圖像數(shù)據(jù)流中的圖像塊所需分配的編碼通道的分配方式的第二策略;
4、響應(yīng)于接收到所述目標(biāo)傳輸端按照與所述第二策略對(duì)應(yīng)的傳輸方式,所傳輸?shù)年P(guān)于任一路圖像數(shù)據(jù)流中的圖像塊,將所接收到的該圖像塊,寫入第一編碼通道對(duì)應(yīng)的緩存區(qū)域;其中,所述傳輸方式用于指示針對(duì)每一路圖像數(shù)據(jù)流中的各圖像塊,傳入所述編碼器所需利用的目標(biāo)輸入接口,所述第一編碼通道為各個(gè)編碼通道中的、與接收到該圖像塊的目標(biāo)輸入接口相對(duì)應(yīng)的編碼通道,每一編碼通道對(duì)應(yīng)有各自的緩存區(qū)域;
5、以及,按照所述第一策略,依次從各個(gè)編碼通道對(duì)應(yīng)的緩存區(qū)域中讀取待進(jìn)行編碼的宏塊,以及將所讀取的宏塊寫入共享區(qū)域的多個(gè)子區(qū)域中的、第二編碼通道對(duì)應(yīng)的子區(qū)域,其中,每一子區(qū)域?qū)?yīng)一編碼通道,第二編碼通道為各個(gè)編碼通道中的、所讀取的宏塊所屬緩存區(qū)域相對(duì)應(yīng)的編碼通道;
6、響應(yīng)于所述編碼模塊滿足數(shù)據(jù)輸入條件,按照所述第一策略,確定針對(duì)編碼模塊進(jìn)行數(shù)據(jù)輸入時(shí)所需輪詢至的編碼通道,作為待處理通道;從所述待處理通道對(duì)應(yīng)的子區(qū)域中讀取當(dāng)前待處理的宏塊,將所讀取到的宏塊輸入至所述編碼模塊以基于各個(gè)處理單元進(jìn)行編碼處理;
7、其中,所述數(shù)據(jù)輸入條件為所述編碼模塊中的首個(gè)處理單元未存在待處理的任務(wù)。
8、第二方面,本技術(shù)實(shí)施例提供了一種針對(duì)led顯示數(shù)據(jù)的編碼方法,應(yīng)用于編碼器的控制模塊,所述編碼器還設(shè)置有編碼模塊及多個(gè)輸入接口,所述編碼模塊包含有用于進(jìn)行數(shù)據(jù)編碼的多個(gè)處理單元,不同的處理單元用于執(zhí)行編碼過程中不同的編碼階段的編碼任務(wù);所述方法包括:
9、確定各個(gè)目標(biāo)輸入接口以及編碼調(diào)度策略;其中,各個(gè)目標(biāo)輸入接口為所述多個(gè)輸入接口中的、用于接收目標(biāo)傳輸端發(fā)送的待編碼處理的各路圖像數(shù)據(jù)流的輸入接口;每一目標(biāo)輸入接口唯一對(duì)應(yīng)有一個(gè)屬于虛擬通道的編碼通道;所述編碼調(diào)度策略包括用于表征對(duì)于各個(gè)編碼通道進(jìn)行輪詢處理所需的輪詢順序的第一策略,以及表征每一路圖像數(shù)據(jù)流中的圖像塊所需分配的編碼通道的分配方式的第二策略;待編碼處理的各路圖像數(shù)據(jù)流為用于拼接顯示于發(fā)光二極管led顯示屏的各路圖像數(shù)據(jù)流;
10、響應(yīng)于接收到所述目標(biāo)傳輸端按照與所述第二策略對(duì)應(yīng)的傳輸方式,所傳輸?shù)年P(guān)于任一路圖像數(shù)據(jù)流中的圖像塊,將所接收到的該圖像塊,寫入第一編碼通道對(duì)應(yīng)的緩存區(qū)域;其中,所述傳輸方式用于指示針對(duì)每一路圖像數(shù)據(jù)流中的各圖像塊,傳入所述編碼器所需利用的目標(biāo)輸入接口,所述第一編碼通道為各個(gè)編碼通道中的、與接收到該圖像塊的目標(biāo)輸入接口相對(duì)應(yīng)的編碼通道,每一編碼通道對(duì)應(yīng)有各自的緩存區(qū)域;
11、以及,按照所述第一策略,依次從各個(gè)編碼通道對(duì)應(yīng)的緩存區(qū)域中讀取待進(jìn)行編碼的宏塊,以及將所讀取的宏塊寫入共享區(qū)域的多個(gè)子區(qū)域中的、第二編碼通道對(duì)應(yīng)的子區(qū)域,其中,每一子區(qū)域?qū)?yīng)一編碼通道,第二編碼通道為各個(gè)編碼通道中的、所讀取的宏塊所屬緩存區(qū)域相對(duì)應(yīng)的編碼通道;
12、響應(yīng)于所述編碼模塊滿足數(shù)據(jù)輸入條件,按照所述第一策略,確定針對(duì)編碼模塊進(jìn)行數(shù)據(jù)輸入時(shí)所需輪詢至的編碼通道,作為待處理通道;從所述待處理通道對(duì)應(yīng)的子區(qū)域中讀取當(dāng)前待處理的宏塊,將所讀取到的宏塊輸入至所述編碼模塊以基于各個(gè)處理單元進(jìn)行編碼處理;
13、其中,所述數(shù)據(jù)輸入條件為所述編碼模塊中的首個(gè)處理單元未存在待處理的任務(wù)。
14、第三方面,本技術(shù)實(shí)施例提供了一種視頻編碼裝置,應(yīng)用于編碼器的控制模塊,所述編碼器還設(shè)置有編碼模塊及多個(gè)輸入接口,所述編碼模塊包含有用于進(jìn)行數(shù)據(jù)編碼的多個(gè)處理單元,不同的處理單元用于執(zhí)行編碼過程中不同的編碼階段的編碼任務(wù);所述裝置包括:
15、第一確定模塊,用于確定各個(gè)目標(biāo)輸入接口以及編碼調(diào)度策略;其中,各個(gè)目標(biāo)輸入接口為所述多個(gè)輸入接口中的、用于接收目標(biāo)傳輸端發(fā)送的待編碼處理的各路圖像數(shù)據(jù)流的輸入接口;每一目標(biāo)輸入接口唯一對(duì)應(yīng)有一個(gè)屬于虛擬通道的編碼通道;所述編碼調(diào)度策略包括用于表征對(duì)于各個(gè)編碼通道進(jìn)行輪詢處理所需的輪詢順序的第一策略,以及表征每一路圖像數(shù)據(jù)流中的圖像塊所需分配的編碼通道的分配方式的第二策略;
16、第一寫入模塊,用于響應(yīng)于接收到所述目標(biāo)傳輸端按照與所述第二策略對(duì)應(yīng)的傳輸方式,所傳輸?shù)年P(guān)于任一路圖像數(shù)據(jù)流中的圖像塊,將所接收到的該圖像塊,寫入第一編碼通道對(duì)應(yīng)的緩存區(qū)域;其中,所述傳輸方式用于指示針對(duì)每一路圖像數(shù)據(jù)流中的各圖像塊,傳入所述編碼器所需利用的目標(biāo)輸入接口,所述第一編碼通道為各個(gè)編碼通道中的、與接收到該圖像塊的目標(biāo)輸入接口相對(duì)應(yīng)的編碼通道,每一編碼通道對(duì)應(yīng)有各自的緩存區(qū)域;
17、第一讀取模塊,用于按照所述第一策略,依次從各個(gè)編碼通道對(duì)應(yīng)的緩存區(qū)域中讀取待進(jìn)行編碼的宏塊,以及將所讀取的宏塊寫入共享區(qū)域的多個(gè)子區(qū)域中的、第二編碼通道對(duì)應(yīng)的子區(qū)域,其中,每一子區(qū)域?qū)?yīng)一編碼通道,第二編碼通道為各個(gè)編碼通道中的、所讀取的宏塊所屬緩存區(qū)域相對(duì)應(yīng)的編碼通道;
18、第二確定模塊,用于響應(yīng)于所述編碼模塊滿足數(shù)據(jù)輸入條件,按照所述第一策略,確定針對(duì)編碼模塊進(jìn)行數(shù)據(jù)輸入時(shí)所需輪詢至的編碼通道,作為待處理通道;從所述待處理通道對(duì)應(yīng)的子區(qū)域中讀取當(dāng)前待處理的宏塊,將所讀取到的宏塊輸入至所述編碼模塊以基于各個(gè)處理單元進(jìn)行編碼處理;
19、其中,所述數(shù)據(jù)輸入條件為所述編碼模塊中的首個(gè)處理單元未存在待處理的任務(wù)。
20、第四方面,本技術(shù)實(shí)施例提供了一種針對(duì)led顯示數(shù)據(jù)的編碼裝置,應(yīng)用于編碼器的控制模塊,所述編碼器還設(shè)置有編碼模塊及多個(gè)輸入接口,所述編碼模塊包含有用于進(jìn)行數(shù)據(jù)編碼的多個(gè)處理單元,不同的處理單元用于執(zhí)行編碼過程中不同的編碼階段的編碼任務(wù);所述裝置包括:
21、第三確定模塊,用于確定各個(gè)目標(biāo)輸入接口以及編碼調(diào)度策略;其中,各個(gè)目標(biāo)輸入接口為所述多個(gè)輸入接口中的、用于接收目標(biāo)傳輸端發(fā)送的待編碼處理的各路圖像數(shù)據(jù)流的輸入接口;每一目標(biāo)輸入接口唯一對(duì)應(yīng)有一個(gè)屬于虛擬通道的編碼通道;所述編碼調(diào)度策略包括用于表征對(duì)于各個(gè)編碼通道進(jìn)行輪詢處理所需的輪詢順序的第一策略,以及表征每一路圖像數(shù)據(jù)流中的圖像塊所需分配的編碼通道的分配方式的第二策略;待編碼處理的各路圖像數(shù)據(jù)流為用于拼接顯示于發(fā)光二極管led顯示屏的各路圖像數(shù)據(jù)流;
22、第二寫入模塊,用于響應(yīng)于接收到所述目標(biāo)傳輸端按照與所述第二策略對(duì)應(yīng)的傳輸方式,所傳輸?shù)年P(guān)于任一路圖像數(shù)據(jù)流中的圖像塊,將所接收到的該圖像塊,寫入第一編碼通道對(duì)應(yīng)的緩存區(qū)域;其中,所述傳輸方式用于指示針對(duì)每一路圖像數(shù)據(jù)流中的各圖像塊,傳入所述編碼器所需利用的目標(biāo)輸入接口,所述第一編碼通道為各個(gè)編碼通道中的、與接收到該圖像塊的目標(biāo)輸入接口相對(duì)應(yīng)的編碼通道,每一編碼通道對(duì)應(yīng)有各自的緩存區(qū)域;
23、第二讀取模塊,用于按照所述第一策略,依次從各個(gè)編碼通道對(duì)應(yīng)的緩存區(qū)域中讀取待進(jìn)行編碼的宏塊,以及將所讀取的宏塊寫入共享區(qū)域的多個(gè)子區(qū)域中的、第二編碼通道對(duì)應(yīng)的子區(qū)域,其中,每一子區(qū)域?qū)?yīng)一編碼通道,第二編碼通道為各個(gè)編碼通道中的、所讀取的宏塊所屬緩存區(qū)域相對(duì)應(yīng)的編碼通道;
24、第四確定模塊,用于響應(yīng)于所述編碼模塊滿足數(shù)據(jù)輸入條件,按照所述第一策略,確定針對(duì)編碼模塊進(jìn)行數(shù)據(jù)輸入時(shí)所需輪詢至的編碼通道,作為待處理通道;從所述待處理通道對(duì)應(yīng)的子區(qū)域中讀取當(dāng)前待處理的宏塊,將所讀取到的宏塊輸入至所述編碼模塊以基于各個(gè)處理單元進(jìn)行編碼處理;
25、其中,所述數(shù)據(jù)輸入條件為所述編碼模塊中的首個(gè)處理單元未存在待處理的任務(wù)。
26、第五方面,本技術(shù)實(shí)施例提供了一種電子設(shè)備,包括:
27、存儲(chǔ)器,用于存放計(jì)算機(jī)程序;
28、處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)上述任一視頻編碼方法,和/或,針對(duì)led顯示數(shù)據(jù)的編碼方法。
29、第六方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一視頻編碼方法,和/或,針對(duì)led顯示數(shù)據(jù)的編碼方法。
30、本技術(shù)實(shí)施例有益效果:
31、考慮到圖像編碼時(shí),同一圖像塊的各個(gè)宏塊之間是存在編碼依賴性的,例如,對(duì)于同一圖像塊,在后編碼的宏塊的預(yù)測(cè)階段需要依賴在先編碼的宏塊的關(guān)于決策和重建的階段的中間結(jié)果,也就是,需要等待在先編碼的宏塊執(zhí)行完畢關(guān)于決策和重建的階段,在后編碼的宏塊才可以開始預(yù)測(cè)階段,因此,無(wú)疑存在等待耗時(shí),導(dǎo)致編碼模塊的處理單元存在空閑時(shí)段。而由于不同路圖像數(shù)據(jù)流的圖像塊之間的宏塊沒有編碼依賴性,因此,本技術(shù)所提供的方案中,為各個(gè)目標(biāo)輸入接口設(shè)置各自的編碼通道,通過第二策略,將各路的圖像數(shù)據(jù)流分布于該多個(gè)編碼通道;并且,通過第一策略、每一編碼通道對(duì)應(yīng)的緩存區(qū)域、每一編碼通道對(duì)應(yīng)的共享區(qū)域中的子區(qū)域,能夠輪詢不同編碼通道的宏塊以進(jìn)行輪流編碼,即輪詢不同路的圖像塊的宏塊以進(jìn)行編碼。由于不同的編碼通道的宏塊來(lái)自不同路圖像數(shù)據(jù)流的圖像塊,編碼模塊的各個(gè)處理單元可以并行進(jìn)行宏塊處理,各編碼通道的宏塊之間的處理不存在等待耗時(shí),同時(shí),針對(duì)任一編碼通道而言,當(dāng)該編碼通道的一個(gè)宏塊被編碼后,由于輪詢完畢各個(gè)編碼通道后,才會(huì)輪詢至該編碼通道的該宏塊的下一個(gè)宏塊,而該宏塊的中間結(jié)果通常已經(jīng)產(chǎn)生,該下一宏塊的編碼過程直接利用該宏塊的中間結(jié)果即可??梢?,本方案,通過借助各個(gè)目標(biāo)輸入接口各自的編碼通道、第一策略、第二策略、每一編碼通道對(duì)應(yīng)的緩存區(qū)域、每一編碼通道對(duì)應(yīng)的子區(qū)域以及編碼模塊滿足數(shù)據(jù)輸入條件即進(jìn)行數(shù)據(jù)輸入的輸入觸發(fā),可以實(shí)現(xiàn)從各路圖像數(shù)據(jù)流的圖像塊的宏塊的角度進(jìn)行輪詢,且響應(yīng)于首個(gè)處理單元未存在待處理的任務(wù)時(shí),則向編碼模塊進(jìn)行宏塊輸入以持續(xù)向編碼模塊進(jìn)行宏塊輸入,最終使得每一處理單元在針對(duì)宏塊進(jìn)行處理時(shí),無(wú)需等待所處理的宏塊所依賴宏塊的中間結(jié)果,編碼模塊的各個(gè)處理單元能夠并行處理宏塊。因此,通過本方案可實(shí)現(xiàn)并行編碼處理,節(jié)省了編碼器的硬件資源(即無(wú)需設(shè)置多個(gè)編碼器),提高了編碼器的資源利用率。
32、以及,目標(biāo)傳輸端發(fā)送的待編碼處理的各路圖像數(shù)據(jù)流中的圖像塊的大小不作限定,本技術(shù)可以針對(duì)大小不同或不同的圖像塊進(jìn)行并行編碼;并且在使用過程中,針對(duì)目標(biāo)輸入接口的數(shù)量也可以動(dòng)態(tài)進(jìn)行調(diào)整,從而實(shí)現(xiàn)針對(duì)目標(biāo)輸入接口所對(duì)應(yīng)的編碼通道的數(shù)量進(jìn)行調(diào)整。
33、另外,本技術(shù)實(shí)施例中的編碼調(diào)度策略包括用于表征對(duì)于各個(gè)編碼通道進(jìn)行輪詢處理所需的輪詢順序的第一策略,以及表征每一路圖像數(shù)據(jù)流中的圖像塊所需分配的編碼通道的分配方式的第二策略,基于具體的應(yīng)用場(chǎng)景,可以針對(duì)第一策略及第二策略進(jìn)行調(diào)整,從而實(shí)現(xiàn)靈活應(yīng)對(duì)各種視頻編碼場(chǎng)景。
34、當(dāng)然,實(shí)施本技術(shù)的任一產(chǎn)品或方法并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。