本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,特別涉及一種視頻編碼方法及裝置。
背景技術(shù):
隨著科技的不斷進(jìn)步,視頻技術(shù)的應(yīng)用越來(lái)越廣泛,如網(wǎng)上可視會(huì)議、網(wǎng)上政務(wù)、網(wǎng)上學(xué)校等業(yè)務(wù),這些業(yè)務(wù)中的所有視頻都需要進(jìn)行傳輸,傳輸?shù)臄?shù)據(jù)量比較大,單純用擴(kuò)大存儲(chǔ)器容量,增加通信干線的傳輸方式是不現(xiàn)實(shí)的,而采用數(shù)據(jù)壓縮技術(shù)可以有效的降低數(shù)據(jù)傳輸量,這就需要對(duì)視頻中的圖像幀進(jìn)行編碼。
在現(xiàn)有技術(shù)中,在對(duì)視頻中的每個(gè)圖像幀進(jìn)行編碼時(shí),需要將當(dāng)前待編碼的圖像幀分成至少兩個(gè)分塊,針對(duì)每個(gè)分塊計(jì)算該分塊參考的圖像幀,而在針對(duì)待編碼的圖像幀確定每個(gè)分塊參考的圖像幀時(shí),計(jì)算量較大,如果分塊的數(shù)量比較多,計(jì)算量將更大,從而嚴(yán)重的影響了視頻編碼的效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種視頻編碼方法及裝置,用以解決現(xiàn)有技術(shù)中針對(duì)視頻中的每個(gè)圖像幀確定編碼參考幀時(shí)計(jì)算量大,影響視頻編碼效率的問(wèn)題。
為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種視頻編碼方法,該方法包括:
根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖;
針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和;
針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和;
將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。
進(jìn)一步地,所述確定所述第一亮度直方圖和該第二亮度直方圖的差值和包括:
針對(duì)每個(gè)亮度區(qū)間,確定所述第一亮度直方圖和該第二亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值;
將每個(gè)亮度區(qū)間的該絕對(duì)值的和,確定為所述第一亮度直方圖和該第二亮度直方圖的差值和。
進(jìn)一步地,確定所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值的過(guò)程包括:
獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或
根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或
獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第二待選閾值;將所述第一待選閾值和第二待選閾值中的最小值確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值。
進(jìn)一步地,確定所述短期參考幀對(duì)應(yīng)的第二閾值的過(guò)程包括:
獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或
根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和;將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或
獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第三待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第四待選閾值;將所述第三待選閾值和第四待選閾值中的最小值確定為所述短期編碼參考幀對(duì)應(yīng)的第二閾值。
進(jìn)一步地,所述將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀包括:
如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀;
如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值不大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀;
如果所述短期參考幀對(duì)應(yīng)的最小第二差值不大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀。
進(jìn)一步地,所述方法還包括:
如果確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀,所述方法進(jìn)一步包括:將所述參考幀列表清空,將所述圖像幀作為長(zhǎng)期參考幀添加到所述參考幀列表中;
如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀,所述方法進(jìn)一步包括:將所述參考幀列表中的所有短期參考幀刪除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中;
如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀,所述方法進(jìn)一步包括:將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
進(jìn)一步地,所述將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除之前,所述方法還包括:
判斷所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀是否為所述最小第二差值和對(duì)應(yīng)的短期參考幀,若否,進(jìn)行后續(xù)步驟。
進(jìn)一步地,所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀為所述最小第二差值和對(duì)應(yīng)的短期參考幀時(shí),所述方法還包括:
將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。
本發(fā)明實(shí)施例公開(kāi)了一種視頻編碼裝置,所述裝置包括:
第一確定模塊,用于根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖;
第二確定模塊,用于針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和;
第三確定模塊,用于針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和;
編碼模塊,用于將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。
進(jìn)一步地,所述第二確定模塊,具體用于針對(duì)每個(gè)亮度區(qū)間,確定所述第一亮度直方圖和該第二亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值;將每個(gè)亮度區(qū)間的該絕對(duì)值的和,確定為所述第一亮度直方圖和該第二亮度直方圖的差值和。
進(jìn)一步地,所述裝置還包括:
第一閾值確定模塊,用于獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第二待選閾值;將所述第一待選閾值和第二待選閾值中的最小值確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值。
進(jìn)一步地,所述裝置還包括:
第二閾值確定模塊,用于獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和;將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第三待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第四待選閾值;將所述第三待選閾值和第四待選閾值中的最小值確定為所述短期編碼參考幀對(duì)應(yīng)的第二閾值。
進(jìn)一步地,所述編碼模塊,具體用于如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀;如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值不大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀;如果所述短期參考幀對(duì)應(yīng)的最小第二差值不大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀。
進(jìn)一步地,所述裝置還包括:
第一刪除模塊,用于如果確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀,將所述參考幀列表清空,將所述圖像幀作為長(zhǎng)期參考幀添加到所述參考幀列表中;
第二刪除模塊,用于如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀,將所述參考幀列表中的所有短期參考幀刪除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中;
第三刪除模塊,用于如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀,將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
進(jìn)一步地,所述裝置還包括:
判斷模塊,用于將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除之前,判斷所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀是否為所述最小第二差值和對(duì)應(yīng)的短期參考幀。
進(jìn)一步地,所述裝置還包括:
第四刪除模塊,用于判斷模塊的結(jié)果為是時(shí),將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。
本發(fā)明實(shí)施例公開(kāi)了一種視頻編碼方法及裝置,所述方法包括:根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖;針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和;針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和;將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。由于在本發(fā)明實(shí)施例中根據(jù)待編碼的圖像幀的第一亮度直方圖與參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖的差值和與保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值進(jìn)行比較,確定的所述圖像幀的編碼方式及編碼參考幀,只需計(jì)算一次,并且計(jì)算的是待編碼的圖像幀的亮度直方圖與參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖的差值和,計(jì)算量小,從而提高了視頻編碼的效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1a為本發(fā)明實(shí)施例1提供的一種視頻編碼過(guò)程示意圖;
圖1b為本發(fā)明實(shí)施例提供的一種圖像幀的第一亮度直方圖;
圖2a為本發(fā)明實(shí)施例提供的一種參考幀列表;
圖2b為本發(fā)明實(shí)施例4提供的一種視頻編碼過(guò)程示意圖;
圖3為本發(fā)明實(shí)施例1提供的一種視頻編碼裝置結(jié)構(gòu)圖;
圖4為本發(fā)明實(shí)施例4提供的一種視頻編碼裝置結(jié)構(gòu)圖。
具體實(shí)施方式
為了減小視頻編碼時(shí),確定每個(gè)圖像幀的編碼參考幀的計(jì)算量,提高視頻編碼效率,本發(fā)明實(shí)施例提供了一種視頻編碼方法及裝置。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例1:
圖1a為本發(fā)明實(shí)施例提供的一種視頻編碼過(guò)程示意圖,該過(guò)程包括以下步驟:
s101:根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖。
本發(fā)明實(shí)施例提供了一種視頻編碼方法,該方法可以應(yīng)用于電子設(shè)備,所述電子設(shè)備可以是pc,還可以是監(jiān)控設(shè)備,電子設(shè)備可以從視頻源獲取待編碼的圖像幀,也可以從本地保存的視頻中獲取待編碼的圖像幀。
同一視頻的每個(gè)圖像幀中都有相同數(shù)量的像素點(diǎn),像素點(diǎn)越多,畫(huà)面的分辨率越高,圖像就越細(xì)膩逼真。像素點(diǎn)的亮度值不同,構(gòu)成了不同色彩亮度的畫(huà)面。因?yàn)閳D像幀中像素點(diǎn)的亮度值一般在一個(gè)亮度范圍之內(nèi),因此可以將亮度范圍劃分為至少兩個(gè)亮度區(qū)間,每一個(gè)亮度區(qū)間作為一個(gè)亮度等級(jí),根據(jù)圖像幀中每個(gè)像素點(diǎn)的亮度值,統(tǒng)計(jì)每個(gè)亮度等級(jí)下的像素點(diǎn)數(shù)量。以橫軸為亮度區(qū)間,縱軸為像素點(diǎn)數(shù)量構(gòu)建坐標(biāo)系,從而根據(jù)圖像幀中所有的像素點(diǎn)對(duì)應(yīng)的亮度值,統(tǒng)計(jì)位于各個(gè)亮度區(qū)間的像素點(diǎn)數(shù)量,進(jìn)而確定亮度直方圖。
例如,一個(gè)圖像幀中像素點(diǎn)的亮度值位于0~255范圍內(nèi),則可以將0~255范圍劃分為n個(gè)亮度區(qū)間,其中n的取值不大于256,并且n大于1,n為整數(shù)。若取n為32,則將0~255分為了0~7、8~15、16~23、24~31、32~39、……、248~255,這32個(gè)亮度區(qū)間,分別記為亮度區(qū)間i,i為1到32之間的整數(shù)。統(tǒng)計(jì)所述圖像幀中,亮度值分別位于各亮度區(qū)間的像素點(diǎn)數(shù)量,將位于亮度區(qū)間i的像素點(diǎn)數(shù)量記為hi,即h0表示所述圖像幀的亮度值位于0~7之間的像素點(diǎn)數(shù)量,h1表示所述圖像幀亮度值為8~15之間的像素點(diǎn)數(shù)量,以此類推。
如圖1b所示,為圖像幀的第一亮度直方圖,縱軸為亮度區(qū)間0~7、8~15、16~23、24~31、32~39、……、248~255,橫軸為像素點(diǎn)數(shù)量,其中亮度值位于亮度區(qū)間0~7的像素點(diǎn)為9個(gè),亮度值位于亮度區(qū)間8~15的像素點(diǎn)為6個(gè),亮度值位于亮度區(qū)間16~23的像素點(diǎn)為10個(gè),亮度值位于亮度區(qū)間248~255的像素點(diǎn)為2個(gè),……,亮度值位于其他亮度區(qū)間的像素點(diǎn)數(shù)量和亮度值位于亮度區(qū)間0~7、8~15、16~23、248~255的像素點(diǎn)數(shù)量統(tǒng)計(jì)方法一樣,像素點(diǎn)數(shù)量可以是任一整數(shù)值。
在本發(fā)明實(shí)施例中在確定每個(gè)圖像幀的亮度直方圖時(shí),都采用相同的亮度區(qū)間劃分方式,從而可以保證后續(xù)比較的準(zhǔn)確性。
s102:針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和。
在參考幀列表中保存著至少一個(gè)參考幀,針對(duì)參考幀列表中的每個(gè)參考幀可以確定其對(duì)應(yīng)的每個(gè)亮度直方圖,并且可以將亮度直方圖保存在直方圖存儲(chǔ)單元中。在使用某個(gè)參考幀的亮度直方圖時(shí),只需從電子設(shè)備的直方圖存儲(chǔ)單元中直接獲取,無(wú)需再確定,進(jìn)一步提高了視頻編碼的效率。直方圖存儲(chǔ)單元中保存著每個(gè)參考幀的第二亮度直方圖,其中該第二亮度直方圖中包含的亮度區(qū)間與第一亮度直方圖中包含的亮度區(qū)間相同。
針對(duì)每個(gè)第二亮度直方圖,在確定所述第一亮度直方圖和該第二亮度直方圖的差值和時(shí),針對(duì)每個(gè)亮度區(qū)間,確定所述第一亮度直方圖和該第二亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值;將每個(gè)亮度區(qū)間的該絕對(duì)值的和,確定為所述第一亮度直方圖和該第二亮度直方圖的差值和。
s103:針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和。
具體的在參考幀列表中保存有參考幀,并針對(duì)每個(gè)參考幀記錄有該參考幀的標(biāo)識(shí)信息,以及每個(gè)參考幀是長(zhǎng)期參考幀還是短期參考幀。其中長(zhǎng)參考幀可以在參考幀列表中保持較長(zhǎng)的時(shí)間。如圖2a所示的參考幀列表,可以看出該參考幀列表中包括兩個(gè)長(zhǎng)期參考幀和三個(gè)短期參考幀。
一個(gè)參考幀列表中一般會(huì)有多個(gè)參考幀,并且大部分情況下會(huì)同時(shí)存在長(zhǎng)期參考幀和短期參考幀。在s102中計(jì)算出所述圖像幀的第一亮度直方圖與所述參考幀列表中每個(gè)參考幀對(duì)應(yīng)的第二亮度直方圖的差值和,并且在參考幀列表中記錄有每個(gè)參考幀是長(zhǎng)期參考幀還是短期參考幀,因此可以針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和,所述第一差值和可能是一個(gè),那就把這一個(gè)第一差值和作為最小第一差值和,若是至少兩個(gè),就將所述第一差值和中的最小值作為最小第一差值和。針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和,所述第二差值和可能是一個(gè),那就把這一個(gè)第二差值和作為最小第一差值和,若是至少兩個(gè),就將所述第二差值和中的最小值作為最小第二差值和。
s104:將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。
在電子設(shè)備中保存著長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和短期參考幀對(duì)應(yīng)的第二閾值,所述第一閾值和第二閾值與視頻的分辨率成正比,視頻的分辨率越大,其值越大。所述第一閾值和第二閾值可以是用戶手動(dòng)輸入到電子設(shè)備中的進(jìn)行保存的,也可以是電子設(shè)備計(jì)算出來(lái)之后自動(dòng)保存的。
將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和進(jìn)行比較,并將保存的短期參考幀對(duì)應(yīng)的第二閾值與短期參考幀對(duì)應(yīng)的最小第二差值和進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,并采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。
根據(jù)比較結(jié)果,確定所述圖像幀在編碼時(shí)的參考幀時(shí),確定的是一個(gè)編碼參考幀,該編碼參考幀可以是參考幀列表中保存的長(zhǎng)期參考幀,也可以是參考幀列表中保存的短期參考幀,所述圖像幀在編碼時(shí)也可以不參考參考幀列表中的任何參考幀。
由于在本發(fā)明實(shí)施例中根據(jù)待編碼的圖像幀的第一亮度直方圖與參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖的差值和與保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值進(jìn)行比較,確定的所述圖像幀的編碼方式及編碼參考幀,只需計(jì)算一次,并且計(jì)算的是待編碼的圖像幀的亮度直方圖與參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖的差值和,計(jì)算量小,從而提高了視頻編碼的效率。
實(shí)施例2:
在確定第一閾值和第二閾值時(shí),可以上述實(shí)施例中的方法確定,也可以采用其他方法確定,在本發(fā)明實(shí)施例中,確定所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值的過(guò)程包括:
獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或
根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和;將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或
獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第二待選閾值;將所述第一待選閾值和第二待選閾值中的最小值確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值。
在本發(fā)明實(shí)施例中,確定所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值時(shí),可以是獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第一系數(shù)的商再與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值。所述第三閾值是和視頻圖像的分辯率無(wú)關(guān)的預(yù)設(shè)閾值,該第三閾值可以用于調(diào)節(jié)判斷所述待編碼的圖像幀與參考幀列表中的長(zhǎng)期參考幀的差異的靈敏度。在確定第一閾值時(shí),具體地可以根據(jù)以下公式計(jì)算:
thresh_long=(image_width*image_height/2n)*thresh_long_pre
其中,thresh_long為所述第一閾值;image_width*image_height為所述視頻的分辨率;2n為第一系數(shù);thresh_long_pre為第三閾值。所述第一系數(shù)為2的n次方,較優(yōu)的,可以為2的6次方,即為64。
電子設(shè)備中的直方圖存儲(chǔ)單元保存有與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖。因?yàn)樵摰谝粓D像幀和第二圖像幀都是已編碼的圖像幀,在對(duì)每個(gè)圖像幀進(jìn)行編碼時(shí),都會(huì)確定該圖像幀的亮度直方圖,因此當(dāng)確定了該第一圖像幀和第二圖像幀的亮度直方圖后,可以將該第一圖像幀和第二圖像幀的亮度直方圖添加到直方圖存儲(chǔ)單元中。
電子設(shè)備中還針對(duì)參考幀列表中的長(zhǎng)期參考幀保存有第三系數(shù),所述第三系數(shù)的取值范圍可以為1~100。
在確定所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值時(shí),可以是根據(jù)直方圖存儲(chǔ)單元中保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,先確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間對(duì)應(yīng)的像素點(diǎn)個(gè)數(shù)的第三差值,將所述第三差值取絕對(duì)值,再將所述第三差值的絕對(duì)值的和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;將所述第三差值的絕對(duì)值與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值。
確定所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值時(shí),也可以是獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第二待選閾值;將所述第一待選閾值和第二待選閾值中的最小值確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值。這樣在將第一閾值與最小第一差值進(jìn)行比較時(shí),能夠使確定的所述圖像幀的編碼方式及編碼參考幀更加準(zhǔn)確,提高了編碼的準(zhǔn)確性。
確定所述短期參考幀對(duì)應(yīng)的第二閾值的過(guò)程包括:
獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或
根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和;將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或
獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第三待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第四待選閾值;將所述第三待選閾值和第四待選閾值中的最小值確定為所述短期編碼參考幀對(duì)應(yīng)的第二閾值。
在本發(fā)明實(shí)施例中,在確定所述短期參考幀對(duì)應(yīng)的第二閾值時(shí),可以是獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值。所述第四閾值是和視頻圖像的分辨率無(wú)關(guān)的預(yù)設(shè)閾值,該第四閾值可以用于調(diào)節(jié)判斷所述待編碼的圖像幀與參考幀列表中的短期參考幀的差異的靈敏度。在確定第二閾值時(shí),具體地可以根據(jù)以下公式計(jì)算:
thresh_short=(image_width*image_height/2n)*thresh_short_pre
其中,thresh_short為所述第二閾值;image_width*image_height為所述視頻的分辨率;2n為第二系數(shù);thresh_short_pre為第四閾值。所述第二系數(shù)為2的n次方,較優(yōu)的,可以為2的6次方,即為64。
電子設(shè)備中還針對(duì)參考幀列表中的短期參考幀保存有第四系數(shù),所述第四系數(shù)的取值范圍可以為1~100。
在確定所述短期參考幀對(duì)應(yīng)的第二閾值時(shí),可以是根據(jù)直方圖存儲(chǔ)單元中保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,先確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間對(duì)應(yīng)的像素點(diǎn)個(gè)數(shù)的第三差值,將所述第三差值取絕對(duì)值,再將所述第三差值的絕對(duì)值的和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;將所述第三差值的絕對(duì)值與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值。在計(jì)算時(shí),所述第三系數(shù)和第四系數(shù)可以是相同的值,也可以是不同的值。
確定所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值時(shí),也可以是獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第三待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第四待選閾值;將所述第三待選閾值和第四待選閾值中的最小值確定為所述短期編碼參考幀對(duì)應(yīng)的第二閾值。這樣在將第二閾值與最小第二差值進(jìn)行比較時(shí),能夠使確定的所述圖像幀的編碼方式及編碼參考幀更加準(zhǔn)確,提高了編碼的準(zhǔn)確性。
在確定所述第一閾值和所述第二閾值時(shí),可以采取相同的方法確定,也可以采用不同的方法確定。
實(shí)施例3:
在上述各實(shí)施例的基礎(chǔ)上,根據(jù)第一閾值與最小第一差值的比較結(jié)果和第二閾值與最小第二差值的比較結(jié)果,可以確定所述圖像幀的編碼方式及編碼參考幀,在本發(fā)明實(shí)施例中,所述將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀包括:
如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀;
如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值不大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀;
如果所述短期參考幀對(duì)應(yīng)的最小第二差值不大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀。
在本發(fā)明實(shí)施中,電子設(shè)備中保存有長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值并保存有短期參考幀對(duì)應(yīng)的第二閾值,電子設(shè)備將保存的第一閾值與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和進(jìn)行比較,并將保存的第二閾值與短期參考幀對(duì)應(yīng)的最小第二差值和進(jìn)行比較,根據(jù)比較結(jié)果確定所述圖像幀的編碼方式及編碼參考幀。
如果長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,則表明所述圖像幀和參考幀列表中的所有參考幀都有較大差異,則確定需要將該圖像幀編碼為i幀,其對(duì)應(yīng)的編碼類型為幀內(nèi)編碼。因?yàn)閷D像幀編碼為i幀無(wú)需參考幀,所述圖像幀和參考幀列表中的所有參考幀都有較大差異,因此該幀內(nèi)編碼方式無(wú)需參考幀。其中通過(guò)幀內(nèi)編碼方式將圖像幀編碼為i幀的過(guò)程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過(guò)程不進(jìn)行贅述。
如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值不大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,則表明所述圖像幀和最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀的差異較小,則確定需要將該圖像幀編碼為p幀,其對(duì)應(yīng)的編碼類型為參考前幀編碼。p幀編碼時(shí)需要參考參考幀列表中已經(jīng)編碼的圖像幀,所述圖像幀和最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀的差異較小,因此需要確定圖像幀的編碼參考幀,在本發(fā)明實(shí)施例中將該圖像幀的編碼參考幀確定為最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀。其中通過(guò)參考前幀編碼方式將圖像幀編碼為p幀的過(guò)程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過(guò)程不進(jìn)行贅述。
如果所述短期參考幀對(duì)應(yīng)的最小第二差值不大于所述第二閾值,則表明所述圖像幀和最小差值和對(duì)應(yīng)的短期參考幀的差異最小,則確定需要將該圖像幀編碼為p幀,其對(duì)應(yīng)的編碼類型為參考前幀編碼。此時(shí)長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值可以大于所述第一閾值,也可以小于所述第一閾值,也可以等于所述第一閾值。p幀編碼時(shí)需要參考參考幀列表中已經(jīng)編碼的圖像幀,所述圖像幀和最小差值和對(duì)應(yīng)的短期參考幀的差異最小,因此需要確定圖像幀的編碼參考幀,在本發(fā)明實(shí)施例中將該圖像幀的編碼參考幀確定為最小第二差值和對(duì)應(yīng)的短期參考幀。其中通過(guò)參考前幀編碼方式將圖像幀編碼為p幀的過(guò)程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過(guò)程不進(jìn)行贅述。
所述圖像幀的編碼方式可以是幀內(nèi)編碼,也可以是參考前幀編碼。
所述圖像幀在編碼時(shí)的參考幀可以是參考幀列表中保存的長(zhǎng)期參考幀,也可以是參考幀列表中保存的短期參考幀,所述圖像幀在編碼時(shí)也可以不參考參考幀列表中的任何圖像幀。所述圖像幀在編碼時(shí)的參考幀至多為參考幀列表中的一個(gè)參考幀。
實(shí)施例4:
在確定所述圖像幀的編碼方式及編碼參考幀時(shí)還可以對(duì)所述參考幀列表進(jìn)行更新,以便后續(xù)的需要編碼的圖像幀在確定編碼方式及編碼參考幀時(shí)更加準(zhǔn)確,在上述各實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述方法還包括:
如果確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀,所述方法進(jìn)一步包括:將所述參考幀列表清空,將所述圖像幀作為長(zhǎng)期參考幀添加到所述參考幀列表中;
如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀,所述方法進(jìn)一步包括:將所述參考幀列表中的所有短期參考幀刪除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中;
如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀,所述方法進(jìn)一步包括:將離所述圖像幀最遠(yuǎn)的所述參考幀列表中的短期參考幀移除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
在本發(fā)明實(shí)施例中,在確定了所述圖像幀的編碼方式和編碼參考幀后,還對(duì)參考幀列表中的參考幀進(jìn)行更新,具體地,如果確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀,所述方法進(jìn)一步包括:將所述參考幀列表清空,將所述圖像幀作為長(zhǎng)期參考幀添加到所述參考幀列表中,并將所述參考幀標(biāo)記為長(zhǎng)期參考幀。
如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀,所述方法進(jìn)一步包括:將所述參考幀列表中的所有短期參考幀刪除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀,所述方法進(jìn)一步包括:將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
實(shí)施例5:
為了保證編碼時(shí)的準(zhǔn)確性和更新的參考幀列表的準(zhǔn)確性,在本發(fā)明實(shí)施例中所述將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除之前,所述方法還包括:
判斷所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀是否為所述最小第二差值和對(duì)應(yīng)的短期參考幀,若否,進(jìn)行后續(xù)步驟。
若與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀不是所述最小第二差值和對(duì)應(yīng)的短期參考幀,就可以將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除。
所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀為所述最小第二差值和對(duì)應(yīng)的短期參考幀時(shí),所述方法還包括:
將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。
若在所述圖像幀編碼之前更新參考幀列表,因?yàn)榕c所述圖像幀時(shí)間間隔最長(zhǎng)的所述短期參考幀為所述最小第二差值和對(duì)應(yīng)的短期參考幀,在所述圖像幀在編碼時(shí)需要參考該最小第二差值和對(duì)應(yīng)的短期參考幀,則不能將其從參考幀列表中移除,此時(shí)將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。確保了編碼的準(zhǔn)確性。
若在所述圖像幀編碼之后更新參考幀列表,因?yàn)樗鰣D像幀參考的所述最小第二差值和對(duì)應(yīng)的短期參考幀與所述圖像幀差異最小,所述圖像幀相鄰的未編碼的第一圖像幀在編碼時(shí)很有可能參考所述圖像幀參考的所述最小第二差值和對(duì)應(yīng)的短期參考幀,所以若與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀為所述最小第二差值和對(duì)應(yīng)的短期參考幀,則不能將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除,而是將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。確保了更新的參考幀列表的準(zhǔn)確性。
在進(jìn)行比較時(shí),可以采用先判斷第一閾值是否大于最小第一差值,第二閾值是否大于最小第二差值的方法進(jìn)行比較,具體地可以如圖2所示:
圖2b為本發(fā)明實(shí)施例提供的一種視頻編碼過(guò)程示意圖,該過(guò)程包括以下步驟:
s101:根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖。
s102:針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和。
s103:針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和。
s105:將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較。
s201:判斷是否所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值大于所述第一閾值,并且短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,若是,則進(jìn)行s202,若否,則進(jìn)行s204。
s202:確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀。
s203:將所述參考幀列表清空,將所述圖像幀作為長(zhǎng)期參考幀添加到所述參考幀列表中。
s204:判斷所述短期參考幀對(duì)應(yīng)的最小第二差值是否大于所述第二閾值,若是,則進(jìn)行s205,若否,則進(jìn)行s207。
s205:確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀。
s206:將所述參考幀列表中的所有短期參考幀刪除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
s207:確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀。
s208:判斷所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀是否為所述最小第二差值和對(duì)應(yīng)的短期參考幀,若是,進(jìn)行s209,若否,進(jìn)行s2010。
s209:將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。
s2010:將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除。
圖3為本發(fā)明實(shí)施例1提供的一種視頻編碼裝置結(jié)構(gòu)圖,所述裝置包括:
第一確定模塊31,用于根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖;
第二確定模塊32,用于針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和;
第三確定模塊33,用于針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和;
編碼模塊34,用于將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。
所述第二確定模塊32,具體用于針對(duì)每個(gè)亮度區(qū)間,確定所述第一亮度直方圖和該第二亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值;將每個(gè)亮度區(qū)間的該絕對(duì)值的和,確定為所述第一亮度直方圖和該第二亮度直方圖的差值和。
所述裝置還包括:
第一閾值確定模塊,用于獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值;或獲取所述視頻的分辨率、第一系數(shù)及針對(duì)所述長(zhǎng)期參考幀設(shè)定的第三閾值,將所述分辨率與所述第三閾值的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的長(zhǎng)期參考幀的第三系數(shù)的乘積確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第二待選閾值;將所述第一待選閾值和第二待選閾值中的最小值確定為所述長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值。
所述裝置還包括:
第二閾值確定模塊,用于獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和;將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第二閾值;或獲取所述視頻的分辨率、第二系數(shù)及針對(duì)所述短期參考幀設(shè)定的第四閾值,將所述分辨率與所述第二系數(shù)的商再與所述第四閾值的乘積確定為所述短期參考幀對(duì)應(yīng)的第三待選閾值;根據(jù)保存的與所述圖像幀相鄰的已編碼的第一圖像幀及與所述第一圖像幀相鄰的已編碼的第二圖像幀的亮度直方圖,針對(duì)每個(gè)亮度區(qū)間,確定所述第一圖像幀和第二圖像幀的亮度直方圖中同一亮度區(qū)間的像素點(diǎn)數(shù)量差的絕對(duì)值,將每個(gè)亮度區(qū)間的該絕對(duì)值的和確定為所述第一圖像幀和第二圖像幀的亮度直方圖的第三差值和,將所述第三差值和與保存的短期參考幀的第四系數(shù)的乘積確定為所述短期參考幀對(duì)應(yīng)的第四待選閾值;將所述第三待選閾值和第四待選閾值中的最小值確定為所述短期編碼參考幀對(duì)應(yīng)的第二閾值。
所述編碼模塊34,具體用于如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀;如果所述長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值不大于所述第一閾值,且所述短期參考幀對(duì)應(yīng)的最小第二差值大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀;如果所述短期參考幀對(duì)應(yīng)的最小第二差值不大于所述第二閾值,確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀。
圖4為本發(fā)明實(shí)施例4提供的一種視頻編碼裝置結(jié)構(gòu)圖,在圖1的基礎(chǔ)上,所述裝置還包括:
第一刪除模塊41,用于如果確定所述圖像幀的編碼方式為幀內(nèi)編碼,所述圖像幀不參考所述參考幀列表中的任何圖像幀,將所述參考幀列表清空,將所述圖像幀作為長(zhǎng)期參考幀添加到所述參考幀列表中;
第二刪除模塊42,用于如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第一差值和對(duì)應(yīng)的長(zhǎng)期參考幀,將所述參考幀列表中的所有短期參考幀刪除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中;
第三刪除模塊43,用于如果確定所述圖像幀的編碼方式為參考前幀編碼,所述圖像幀參考所述最小第二差值和對(duì)應(yīng)的短期參考幀,將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除,將所述圖像幀作為短期參考幀添加到所述參考幀列表中。
所述裝置還包括:
判斷模塊44,用于將與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀移除之前,判斷所述與所述圖像幀時(shí)間間隔最長(zhǎng)的所述參考幀列表中的短期參考幀是否為所述最小第二差值和對(duì)應(yīng)的短期參考幀。
所述裝置還包括:
第四刪除模塊45,用于判斷模塊的結(jié)果為是時(shí),將除所述最小第二差值和對(duì)應(yīng)的短期參考幀之外的與所述圖像幀時(shí)間間隔最長(zhǎng)的參考幀列表中的短期參考幀移除。
本發(fā)明實(shí)施例公開(kāi)了一種視頻編碼方法及裝置,所述方法包括:根據(jù)待編碼的圖像幀中每個(gè)像素點(diǎn)的亮度值,確定所述圖像幀的第一亮度直方圖;針對(duì)參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖,確定所述第一亮度直方圖和該第二亮度直方圖的差值和;針對(duì)所述參考幀列表中保存的長(zhǎng)期參考幀,根據(jù)確定的每個(gè)長(zhǎng)期參考幀對(duì)應(yīng)的第一差值和,將所述第一差值和中的最小值作為最小第一差值和;針對(duì)所述參考幀列表中保存的短期參考幀,根據(jù)確定的每個(gè)短期參考幀對(duì)應(yīng)的第二差值和,將所述第二差值和中的最小值作為最小第二差值和;將保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值,與長(zhǎng)期參考幀對(duì)應(yīng)的最小第一差值和和短期參考幀對(duì)應(yīng)的最小第二差值進(jìn)行比較,確定所述圖像幀的編碼方式及編碼參考幀,采用所述編碼方式根據(jù)所述編碼參考幀對(duì)所述圖像幀進(jìn)行編碼。由于在本發(fā)明實(shí)施例中根據(jù)待編碼的圖像幀的第一亮度直方圖與參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖的差值和與保存的長(zhǎng)期參考幀對(duì)應(yīng)的第一閾值和保存的短期參考幀對(duì)應(yīng)的第二閾值進(jìn)行比較,確定的所述圖像幀的編碼方式及編碼參考幀,只需計(jì)算一次,并且計(jì)算的是待編碼的圖像幀的亮度直方圖與參考幀列表中保存的每個(gè)參考幀的第二亮度直方圖的差值和,計(jì)算量小,從而提高了視頻編碼的效率。
對(duì)于系統(tǒng)/裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者一個(gè)操作與另一個(gè)實(shí)體或者另一個(gè)操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或者操作之間存在任何這種實(shí)際的關(guān)系或者順序。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。