本公開涉及圖像處理領(lǐng)域,尤其涉及一種圖像編碼方法及裝置、電子設(shè)備、芯片及存儲介質(zhì)。
背景技術(shù):
1、多媒體領(lǐng)域技術(shù)和產(chǎn)業(yè)不斷發(fā)展,能夠滿足人們對視頻圖像更大分辨率的需求以及提供更方便舒適的上網(wǎng)體驗,由此帶來的是視頻圖像的數(shù)據(jù)量顯著增加,如何將這些視頻圖像數(shù)據(jù)有效存儲并以較高質(zhì)量實現(xiàn)快速傳輸已經(jīng)成為焦點。目前有許多視頻圖像編碼標(biāo)準(zhǔn)(如jpeg、h.26x和mpeg等)可以實現(xiàn)對圖像和視頻等數(shù)據(jù)進(jìn)行壓縮。其中,碼率控制是圖像編碼過程中的重要一環(huán),用于分配給待編碼單元一定的比特數(shù),將直接影響是否能夠滿足圖像壓縮效率以及主觀質(zhì)量需求。
技術(shù)實現(xiàn)思路
1、本公開提供一種圖像編碼方法、裝置、電子設(shè)備、芯片以及存儲介質(zhì),在圖像編碼過程中,根據(jù)待編碼內(nèi)容特點調(diào)整量化參數(shù),實現(xiàn)碼率控制,且過程中無需遍歷所有的量化參數(shù),可以縮短編碼時間,保證圖像較優(yōu)的主觀質(zhì)量。
2、本公開的第一方面實施例提出了一種圖像編碼方法,該方法包括:基于待編碼單元的目標(biāo)碼長,從設(shè)定的兩個或兩個以上的量化參數(shù)中確定待編碼單元的第一量化參數(shù);對待編碼單元進(jìn)行平坦度檢測和/或灰度值檢測;根據(jù)平坦度檢測和/或灰度值檢測結(jié)果,調(diào)整第一量化參數(shù),得到待編碼單元的第二量化參數(shù),其中,第二量化參數(shù)對應(yīng)的編碼碼長小于等于目標(biāo)碼長;基于第二量化參數(shù),對待編碼單元進(jìn)行編碼。
3、在本公開的一些實施例中,該方法還包括:獲取待編碼圖像和待編碼圖像的目標(biāo)碼長;將待編碼圖像劃分為預(yù)設(shè)數(shù)量的圖像分塊;以圖像分塊為待編碼單元,根據(jù)待編碼圖像的目標(biāo)碼長和預(yù)設(shè)數(shù)量,確定待編碼單元的目標(biāo)碼長。
4、在本公開的一些實施例中,基于待編碼單元的目標(biāo)碼長,從設(shè)定的多個量化參數(shù)中確定待編碼單元的第一量化參數(shù)包括:設(shè)定兩個或兩個以上的量化參數(shù),其中,兩個或兩個以上量化參數(shù)的取值均小于等于待編碼單元的圖像位寬;從兩個或兩個以上的量化參數(shù)中確定滿足第一條件的最小量化參數(shù),其中,第一條件為量化參數(shù)對應(yīng)的編碼長度小于等于待編碼單元的目標(biāo)碼長;將待編碼單元劃分為多個子塊,將最小量化參數(shù)作為待編碼單元的每個子塊的第一量化參數(shù)。
5、在本公開的一些實施例中,對待編碼單元進(jìn)行平坦度檢測和/或灰度值檢測包括:針對待編碼單元的每個子塊,對子塊進(jìn)行平坦度檢測,和/或,針對待編碼單元的每個子塊,對子塊進(jìn)行灰度值檢測。
6、在本公開的一些實施例中,對子塊進(jìn)行平坦度檢測包括:確定子塊中所有相鄰像素點的梯度值;對子塊中所有相鄰像素點的梯度值進(jìn)行第一統(tǒng)計處理;根據(jù)第一統(tǒng)計處理的結(jié)果和第一預(yù)設(shè)規(guī)則,確定子塊的平坦度等級,其中,第一預(yù)設(shè)規(guī)則包括兩個或兩個以上的平坦度等級的判斷條件。
7、在本公開的一些實施例中,對子塊中所有相鄰像素點的梯度值進(jìn)行第一統(tǒng)計處理包括:基于子塊中所有相鄰像素點的梯度值,確定最大梯度值、最小梯度值以及平均梯度值;將最大梯度值、最小梯度值以及平均梯度值作為閾值,劃分出兩個或兩個以上的梯度值區(qū)間;統(tǒng)計子塊中所有相鄰像素點的梯度值,落在兩個或兩個以上的梯度值區(qū)間的個數(shù)。
8、在本公開的一些實施例中,對子塊進(jìn)行灰度值檢測包括:確定子塊中所有像素點的灰度值;對子塊中所有像素點的灰度值進(jìn)行第二統(tǒng)計處理;根據(jù)第二統(tǒng)計處理的結(jié)果和第二預(yù)設(shè)規(guī)則,確定子塊的灰度值等級,其中,第一預(yù)設(shè)規(guī)則包括兩個或兩個以上的灰度值等級的判斷條件。
9、在本公開的一些實施例中,對子塊中所有像素點的灰度值進(jìn)行第二統(tǒng)計處理包括:獲取標(biāo)定的至少一個灰度值;將標(biāo)定的至少一個灰度值作為閾值,劃分出兩個或兩個以上的灰度值區(qū)間;統(tǒng)計子塊中所有像素點的灰度值,落在兩個或兩個以上的梯度值區(qū)間的個數(shù)。
10、在本公開的一些實施例中,根據(jù)平坦度檢測和/或灰度值檢測結(jié)果,調(diào)整第一量化參數(shù),得到待編碼單元的第二量化參數(shù)包括:針對待編碼單元的每個子塊,基于預(yù)設(shè)調(diào)整規(guī)則,根據(jù)子塊的平坦度等級和/或灰度值等級,對子塊的第一量化參數(shù)進(jìn)行調(diào)整,得到子塊的第二量化參數(shù);針對待編碼單元的所有子塊,在所有子塊的第二量化參數(shù)不滿足第一預(yù)設(shè)條件的情形下,按照所有子塊的灰度值檢測等級從高到低的順序,取消對第一量化參數(shù)的降低調(diào)整,重新確定第二量化參數(shù),直至所有子塊的第二量化參數(shù)滿足第一預(yù)設(shè)條件,其中,第一預(yù)設(shè)條件包括:所有子塊的第二量化參數(shù)對應(yīng)的編碼長度小于等于待編碼單元的目標(biāo)碼長。
11、在本公開的一些實施例中,基于第二量化參數(shù),對待編碼單元進(jìn)行編碼包括:同時針對待編碼單元的兩個或兩個以上的子塊,根據(jù)子塊的第二量化參數(shù),對子塊進(jìn)行編碼,直至待編碼單元的所有子塊均完成編碼。
12、本公開的第二方面實施例提出了一種圖像編碼裝置,該裝置包括:確定模塊,用于基于待編碼單元的目標(biāo)碼長,從設(shè)定的多個量化參數(shù)中確定待編碼單元的第一量化參數(shù);檢測模塊,用于對待編碼單元進(jìn)行平坦度檢測和/或灰度值檢測;調(diào)整模塊,用于根據(jù)平坦度檢測和/或灰度值檢測結(jié)果,調(diào)整第一量化參數(shù),得到待編碼單元的第二量化參數(shù),其中,第二量化參數(shù)對應(yīng)的編碼碼長小于等于目標(biāo)碼長;編碼模塊,用于基于第二量化參數(shù),對待編碼單元進(jìn)行編碼。
13、本公開的第三方面實施例提出了一種電子設(shè)備,包括:至少一個處理器;以及與至少一個處理器通信連接的存儲器;其中,存儲器存儲有可被至少一個處理器執(zhí)行的指令,指令被至少一個處理器執(zhí)行,以使至少一個處理器能夠執(zhí)行本公開第一方面實施例中描述的方法。
14、本公開的第四方面實施例提出了一種存儲有計算機指令的非瞬時計算機可讀存儲介質(zhì),其中,計算機指令用于使計算機執(zhí)行本公開第一方面實施例中描述的方法。
15、本公開的第五方面實施例提出了一種芯片,該芯片包括一個或多個接口電路和一個或多個處理器;接口電路用于接收代碼指令并向處理器傳輸,處理器用于運行代碼指令以執(zhí)行本公開第一方面實施例中描述的方法。
16、綜上,本公開提出的圖像編碼方法,該方法包括:基于待編碼單元的目標(biāo)碼長,從設(shè)定的兩個或兩個以上的量化參數(shù)中確定待編碼單元的第一量化參數(shù);對待編碼單元進(jìn)行平坦度檢測和/或灰度值檢測;根據(jù)平坦度檢測和/或灰度值檢測結(jié)果,調(diào)整第一量化參數(shù),得到待編碼單元的第二量化參數(shù),其中,第二量化參數(shù)對應(yīng)的編碼碼長小于等于目標(biāo)碼長;基于第二量化參數(shù),對待編碼單元進(jìn)行編碼。本公開的方法根據(jù)待編碼內(nèi)容特點調(diào)整量化參數(shù),實現(xiàn)碼率控制,且過程中無需遍歷所有的量化參數(shù),可以縮短編碼時間,保證圖像較優(yōu)的主觀質(zhì)量。
17、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
1.一種圖像編碼方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于待編碼單元的目標(biāo)碼長,從設(shè)定的多個量化參數(shù)中確定所述待編碼單元的第一量化參數(shù),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對所述待編碼單元進(jìn)行平坦度檢測和/或灰度值檢測包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對所述子塊進(jìn)行平坦度檢測包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述對所述子塊中所有相鄰像素點的梯度值進(jìn)行第一統(tǒng)計處理包括:
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對所述子塊進(jìn)行灰度值檢測包括:
8.根據(jù)權(quán)利要求7所述的方法,所述對所述子塊中所有像素點的灰度值進(jìn)行第二統(tǒng)計處理包括:
9.根據(jù)權(quán)利要求5-8中任一項所述的方法,其特征在于,所述根據(jù)所述平坦度檢測和/或灰度值檢測結(jié)果,調(diào)整所述第一量化參數(shù),得到所述待編碼單元的第二量化參數(shù)包括:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述基于所述第二量化參數(shù),對所述待編碼單元進(jìn)行編碼包括:
11.一種圖像編碼裝置,其特征在于,所述裝置包括:
12.一種電子設(shè)備,其特征在于,包括:
13.一種存儲有計算機指令的非瞬時計算機可讀存儲介質(zhì),其特征在于,所述計算機指令用于使所述計算機執(zhí)行根據(jù)權(quán)利要求1-10中任一項所述的方法。
14.一種芯片,其特征在于,包括一個或多個接口電路和一個或多個處理器;所述接口電路用于接收代碼指令并向所述處理器傳輸,所述處理器用于運行所述代碼指令以執(zhí)行權(quán)利要求1-10中任一項所述的方法。