本技術涉及視頻處理,特別是涉及一種基于顯示流壓縮的編碼方法、解碼方法、裝置、計算機設備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
背景技術:
1、隨著視頻技術的發(fā)展,對超高分辨率4k、8k視頻的需求越來越大,顯示鏈路帶寬問題和成本問題成為了主要瓶頸之一,顯示流壓縮(dsc,?display?stream?compression)是一種通過壓縮顯示圖像,節(jié)省帶寬的有效技術。
2、傳統(tǒng)的顯示流壓縮的編解碼器中采用單編碼核模式,編解碼效率低。
技術實現(xiàn)思路
1、基于此,有必要針對上述技術問題,提供一種能夠提高編解碼效率的基于顯示流壓縮的編碼方法、解碼方法、裝置、計算機設備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
2、第一方面,本技術提供一種基于顯示流壓縮的編碼方法,所述方法包括:
3、獲取待編碼視頻幀圖像以及圖像參數(shù)信息;
4、基于所述圖像參數(shù)信息,將所述待編碼視頻幀圖像分割成若干切片;確定所述待編碼視頻幀圖像對應的切片的列數(shù),并基于所述列數(shù)確定對應數(shù)量的用于并行運行的編碼核;
5、分別將每列所述切片分配至對應所述編碼核,且一列所述切片與一個所述編碼核對應;
6、通過各所述編碼核并行對所述切片進行編碼。
7、在其中一個實施例中,所述分別將每列所述切片分配至對應所述編碼核,包括:
8、確定各所述編碼核對應的緩沖區(qū);
9、分別將每列所述切片中的行依次分配至對應所述編碼核的緩沖區(qū)。
10、在其中一個實施例中,所述通過各所述編碼核并行對所述切片進行編碼之后,包括:
11、獲取各所述編碼核輸出的各所述切片中的行的編碼結果;
12、基于所述圖像參數(shù)信息,對各所述切片中的行的編碼結果進行拼接得到視頻幀編碼結果。
13、在其中一個實施例中,所述待編碼視頻幀圖像的編碼碼率控制模式為固定碼率模式;所述基于所述圖像參數(shù)信息,對各所述切片中的行的編碼結果進行拼接得到視頻幀編碼結果,包括:
14、基于所述圖像參數(shù)信息中的切片寬度以及每個像素占用的比特數(shù),確定切片的第一行大?。?/p>
15、基于所述切片的第一行大小以及所述列數(shù)得到第一行偏移量;
16、基于行索引以及所述第一行偏移量確定第一目標偏移量,基于所述第一目標偏移量以及各切片索引確定各所述切片的當前行的編碼結果;
17、基于各所述切片的當前行的編碼結果拼接得到視頻幀當前行的編碼結果;
18、基于視頻幀各當前行的編碼結果得到所述視頻幀編碼結果。
19、在其中一個實施例中,所述待編碼視頻幀圖像的編碼碼率控制模式為動態(tài)碼率模式;所述基于所述圖像參數(shù)信息,對各所述切片中的行的編碼結果進行拼接得到視頻幀編碼結果,包括:
20、獲取默認切片的行大??;
21、基于所述默認切片的行大小以及所述列數(shù)得到第二行偏移量;
22、基于行索引以及所述第二行偏移量確定第二目標偏移量,基于所述第二目標偏移量以及各切片索引確定各所述切片的當前行的編碼結果;
23、對各所述切片的當前行的編碼結果進行預處理,并將預處理后的所述切片的當前行的編碼結果拼接得到視頻幀當前行的編碼結果;
24、基于視頻幀各當前行的編碼結果得到所述視頻幀編碼結果。
25、第二方面,本技術還提供一種基于顯示流壓縮的解碼方法,所述方法包括:
26、獲取待解碼視頻幀碼流以及圖像參數(shù)信息;
27、基于所述圖像參數(shù)信息得到所述待解碼視頻幀碼流對應的切片信息;
28、基于所述切片信息確定所述待解碼視頻幀碼流的切片的列數(shù),并基于所述列數(shù)確定對應數(shù)量的用于并行運行的解碼核;
29、分別將每列所述切片對應的碼流分配至對應所述解碼核,且一列所述切片對應的碼流與一個所述解碼核對應;
30、通過各所述解碼核并行對所述切片對應的碼流進行解碼。
31、在其中一個實施例中,所述分別將每列所述切片對應的碼流分配至對應所述解碼核,包括:
32、確定各所述解碼核對應的緩沖區(qū);
33、分別將每列所述切片中的行對應的碼流依次分配至對應所述解碼核的緩沖區(qū)。
34、在其中一個實施例中,所述通過各所述解碼核并行對所述切片對應的碼流進行解碼之后,包括:
35、獲取各所述解碼核輸出的各所述切片中的行對應的碼流的解碼結果;
36、基于所述圖像參數(shù)信息,對各所述切片中的行對應的碼流的解碼結果進行拼接得到視頻幀解碼結果。
37、在其中一個實施例中,所述待解碼視頻幀碼流的解碼碼率控制模式為固定碼率模式;所述基于所述圖像參數(shù)信息,對各所述切片中的行對應的碼流的解碼結果進行拼接得到視頻幀解碼結果,包括:
38、基于所述圖像參數(shù)信息中的切片寬度以及每個像素占用的比特數(shù),確定切片的第二行大??;
39、基于所述切片的第二行大小以及所述列數(shù)得到第三行偏移量;
40、基于行索引以及所述第三行偏移量確定第三目標偏移量,基于所述第三目標偏移量以及各切片索引確定各所述切片的當前行對應的碼流的解碼結果;
41、基于各所述切片的當前行對應的碼流的解碼結果拼接得到視頻幀當前行的解碼結果;
42、基于視頻幀各當前行的解碼結果得到所述視頻幀解碼結果。
43、第三方面,本技術還提供一種基于顯示流壓縮的編碼裝置,所述裝置包括:
44、第一獲取模塊,用于獲取待編碼視頻幀圖像的圖像參數(shù)信息;
45、切片模塊,用于基于所述圖像參數(shù)信息,將待編碼視頻幀圖像分割成若干切片;
46、編碼核確定模塊,用于確定所述待編碼視頻幀圖像對應的切片的列數(shù),并基于所述列數(shù)確定對應數(shù)量的用于并行運行的編碼核;
47、第一分配模塊,用于分別將每列所述切片對應的碼流分配至對應所述編碼核,且一列所述切片對應的碼流與一個所述編碼核對應;
48、并行編碼模塊,用于通過各所述編碼核并行對所述切片對應的碼流進行編碼。
49、第四方面,本技術還提供一種基于顯示流壓縮的解碼裝置,所述裝置包括:
50、第二獲取模塊,用于獲取待解碼視頻幀碼流以及圖像參數(shù)信息;
51、切片信息獲取模塊,用于基于所述圖像參數(shù)信息得到所述待解碼視頻幀碼流對應的切片信息;
52、解碼核確定模塊,用于基于所述切片信息確定所述待解碼視頻幀碼流的切片的列數(shù),并基于所述列數(shù)確定對應數(shù)量的用于并行運行的解碼核;
53、第二分配模塊,用于分別將每列所述切片對應的碼流分配至對應所述解碼核,且一列所述切片對應的碼流與一個所述解碼核對應;
54、并行解碼模塊,用于通過各所述解碼核并行對所述切片對應的碼流進行解碼。
55、第五方面,本技術還提供一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述的任意一個實施例中的方法的步驟。
56、第六方面,本技術還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述的任意一個實施例中的方法的步驟。
57、第七方面,本技術還提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述的任意一個實施例中的方法的步驟。
58、上述基于顯示流壓縮的編碼方法、解碼方法、裝置、計算機設備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,獲取待編碼視頻幀圖像以及圖像參數(shù)信息;基于圖像參數(shù)信息,將待編碼視頻幀圖像分割成若干切片;確定待編碼視頻幀圖像對應的切片的列數(shù),并基于列數(shù)確定并行運行的對應數(shù)的量編碼核;分別將每列切片分配至對應編碼核,且一列切片與一個編碼核對應;通過各編碼核并行對切片進行編碼,這樣通過并行的編碼核進行視頻幀的編碼可以提高編碼效率。