本發(fā)明涉及視頻處理領(lǐng)域,尤其涉及一種視頻降噪處理方法及視頻降噪處理裝置。
背景技術(shù):
隨著信息時代的到來,自媒體應(yīng)運而生。每個用戶都可以成為信息的傳播者,人們可以通過各種各樣的傳播形式將信息傳遞給信息接收者,其中,傳播形式包括文字傳播、圖片傳播、音頻傳播、視頻傳播等。隨著互聯(lián)網(wǎng)技術(shù)快速發(fā)展,用戶越來越傾向于選擇在線視頻實時直播的方式,與他人分享一些趣聞或進行現(xiàn)場個人才藝表演,人們可以使用個人電腦或移動終端等進行視頻直播(或視頻通話)。
在移動直播以及移動視頻通話場景中,由于小型攝像頭的采光能力交叉,經(jīng)常存在因環(huán)境光強不足而導(dǎo)致的畫面噪點大量增加的情況。過多的噪點會引起視頻觀看質(zhì)量下降,同時還可能導(dǎo)致視頻編碼效率降低,浪費網(wǎng)絡(luò)帶寬。
針對視頻的降噪算法存在大量現(xiàn)有研究,但通常是基于圖像塊搜索等技術(shù),雖然效果較好,但對計算能力要求很高或存在幀級輸出延遲,不能滿足移動端實時視頻流計算量低、無延遲的要求。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種視頻降噪處理方法及視頻降噪處理裝置,解決現(xiàn)有技術(shù)的視頻降噪算法不能滿足移動端實時視頻流計算量低、無延遲的要求的技術(shù)問題。
第一方面,本發(fā)明實施例提供了一種視頻降噪處理方法,包括:
獲取視頻的當(dāng)前幀圖像;
當(dāng)存在目標幀圖像時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素值差值的絕對值;其中,所述目標幀圖像為所述當(dāng)前幀圖像的上一幀圖像降噪處理后輸出的幀圖像;
判斷所述絕對值是否大于預(yù)設(shè)閾值;
若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;
當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,并得到降噪處理后的當(dāng)前幀圖像后,輸出更新后的所述目標幀圖像。
結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述當(dāng)存在目標幀圖像時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,包括:
檢測所述當(dāng)前幀圖像是否為第一幀圖像;
若檢測為否時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算;
若檢測為是時,將所述當(dāng)前幀圖像作為目標幀圖像進行輸出。
結(jié)合第一方面,在第二種可能的實現(xiàn)方式中,通過預(yù)設(shè)的圖像緩沖區(qū)來保存所述目標幀圖像。
結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述圖像緩沖區(qū)的大小為一幀圖像的大小。
結(jié)合第一方面,在第四種可能的實現(xiàn)方式中,所述預(yù)設(shè)數(shù)量個像素點包括整個幀圖像中所有的像素點。
結(jié)合第一方面,或者第一方面的第一種可能的實現(xiàn)方式,或者第一方面的第二種可能的實現(xiàn)方式,或者第一方面的第三種可能的實現(xiàn)方式,或者第一方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述判斷所述絕對值是否大于預(yù)設(shè)閾值之后,還包括:
若判斷為否時,根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值,并將所述目標幀圖像中對應(yīng)位置的像素點的像素值更新為所述目標像素值。
結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值,包括
通過以下公式計算出所述目標像素值:
q=(p*(C+a)+q’*(D-a))/(C+D)
其中,q為目標像素值,q’為所述目標幀圖像中對應(yīng)位置的像素點的像素值,p為所述當(dāng)前幀圖像中的像素點的像素值,a為所述像素點差值的絕對值,C和D為預(yù)設(shè)的濾波參數(shù);所述C和D為正實數(shù)。
第二方面,本發(fā)明實施例提供了一種視頻降噪處理裝置,包括:
獲取模塊,用于獲取視頻的當(dāng)前幀圖像;
差值計算模塊,用于當(dāng)存在目標幀圖像時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素值差值的絕對值;其中,所述目標幀圖像為所述當(dāng)前幀圖像的上一幀圖像降噪處理后輸出的幀圖像;
閾值判斷模塊,用于判斷所述絕對值是否大于預(yù)設(shè)閾值;
第一設(shè)置模塊,用于若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;
圖像輸出模塊,用于當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,并得到降噪處理后的當(dāng)前幀圖像后,輸出更新后的所述目標幀圖像。
結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述差值計算模塊包括:
檢測單元,用于檢測所述當(dāng)前幀圖像是否為第一幀圖像;
計算單元,用于若檢測為否時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算;
輸出單元,用于若檢測為是時,將所述當(dāng)前幀圖像作為目標幀圖像進行輸出。
結(jié)合第二方面,在第二種可能的實現(xiàn)方式中,還包括保存模塊,用于通過預(yù)設(shè)的圖像緩沖區(qū)來保存所述目標幀圖像。
結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述圖像緩沖區(qū)的大小為一幀圖像的大小。
結(jié)合第二方面,在第四種可能的實現(xiàn)方式中,所述預(yù)設(shè)數(shù)量個像素點包括整個幀圖像中所有的像素點。
結(jié)合第二方面,或者第二方面的第一種可能的實現(xiàn)方式,或者第二方面的第二種可能的實現(xiàn)方式,或者第二方面的第三種可能的實現(xiàn)方式,或者第二方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,還包括:
像素值計算模塊,用于若所述閾值判斷模塊的判斷結(jié)果為否時,根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值;
第二設(shè)置模塊,用于將所述目標幀圖像中對應(yīng)位置的像素點的像素值更新為所述目標像素值。
結(jié)合第二方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述像素值計算模塊具體用于,通過以下公式計算出所述目標像素值:
q=(p*(C+a)+q’*(D-a))/(C+D)
其中,q為目標像素值,q’為所述目標幀圖像中對應(yīng)位置的像素點的像素值,p為所述當(dāng)前幀圖像中的像素點的像素值,a為所述像素點差值的絕對值,C和D為預(yù)設(shè)的濾波參數(shù);所述C和D為正實數(shù)。
第三方面,本發(fā)明實施例提供了一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有程序,所述程序執(zhí)行時包括本發(fā)明實施例第一方面,或者第一方面的第一種可能的實現(xiàn)方式,或者第一方面的第二種可能的實現(xiàn)方式,或者第一方面的第三種可能的實現(xiàn)方式,或者第一方面的第四種可能的實現(xiàn)方式,或者第一方面的第五種可能的實現(xiàn)方式,或者第一方面的第六種可能的實現(xiàn)方式中公開的視頻編碼方法。
通過實施本發(fā)明實施例,將該當(dāng)前幀圖像中的像素點與該目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素點差值的絕對值;判斷該絕對值是否大于預(yù)設(shè)閾值;若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。實現(xiàn)了通過對視頻畫面像素點的帶閾值的時域指數(shù)濾波來進行降噪,計算處理量低減少移動終端耗電量的同時,不增加系統(tǒng)的延遲并有效降低視頻中的噪點水平,達到較好的降噪效果,解決了現(xiàn)有技術(shù)的視頻降噪算法不能滿足移動端實時視頻流計算量低、無延遲的要求的技術(shù)問題;而且避免了現(xiàn)有技術(shù)在移動端視頻直播、視頻通信中由于終端CPU計算能力不高而不在軟件層面進行降噪處理,或只進行簡單的時域濾波,容易引入拖尾現(xiàn)象的問題;另外,本發(fā)明實施例的算法邏輯設(shè)計十分規(guī)整,可以很好地應(yīng)用多媒體指令集優(yōu)化技術(shù),從而進一步降低運算開銷。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的視頻降噪處理的場景示意圖;
圖2是本發(fā)明實施例提供的視頻降噪處理方法的流程示意圖;
圖3是本發(fā)明提供的視頻降噪處理方法的另一實施例的流程示意圖;
圖4是本發(fā)明實施例提供的視頻降噪處理裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實施例提供的差值計算模塊的結(jié)構(gòu)示意圖;
圖6是本發(fā)明提供的視頻降噪處理裝置的另一實施例的結(jié)構(gòu)示意圖;
圖7是本發(fā)明提供的視頻降噪處理裝置的另一實施例的結(jié)構(gòu)示意圖;
圖8是本發(fā)明提供的視頻降噪處理裝置的另一實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
結(jié)合圖1示出的本發(fā)明實施例提供的視頻降噪處理的場景示意圖,直播用戶或直播方可以通過帶攝像功能或攝像裝置的電腦、移動終端等電子設(shè)備,采集錄取視頻,電子設(shè)備對視頻進行處理(編碼、降噪等),然后通過網(wǎng)絡(luò)發(fā)送給對應(yīng)的服務(wù)器,服務(wù)器將處理后視頻數(shù)據(jù)發(fā)送給另一端的電子設(shè)備,以便觀看該視頻的用戶通過該另一端的電子設(shè)備接收該視頻數(shù)據(jù),進行播放。
需要說明的是,該服務(wù)器可以提供一個視頻直播或視頻通話的平臺,用戶可以在登陸該平臺進行視頻直播的發(fā)起或觀看。
下面結(jié)合圖2示出的本發(fā)明實施例提供的視頻降噪處理方法的流程示意圖,詳細說明本發(fā)明如何對視頻進行降噪,包括以下步驟:
步驟S200:獲取視頻的當(dāng)前幀圖像;
具體地,本發(fā)明實施例對視頻進行一幀一幀的圖像處理,獲取當(dāng)前幀圖像,并在處理完畢輸出后,再獲取下一幀圖像,直到處理完該視頻的所有幀圖像。
步驟S202:當(dāng)存在目標幀圖像時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素值差值的絕對值;
具體地,本發(fā)明各個實施例中的目標幀圖像為該當(dāng)前幀圖像的上一幀圖像降噪處理后輸出的幀圖像,也就是說,例如當(dāng)前幀圖像為該視頻的第9幀圖像,如果存在對該視頻的第8幀圖像降噪處理后輸出的幀圖像時,就將該第9幀圖像中的像素點與該第8幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素點差值的絕對值。本發(fā)明實施例中與該目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,指進行差值計算的每兩個像素點在各自所在的幀圖像中的位置相同,例如針對當(dāng)前幀圖像中第10行第24列的像素點,與目標幀圖像中第10行第24列的像素點,進行像素值差值計算。
步驟S204:判斷所述絕對值是否大于預(yù)設(shè)閾值;
具體地,本發(fā)明實施例可以預(yù)先設(shè)置由于進行比較的閾值,該閾值的大小可以取10至20之間,例如12、15等;當(dāng)判斷出該絕對值大于預(yù)設(shè)閾值時,則可以執(zhí)行步驟S206;否則,可以執(zhí)行步驟S208。
步驟S206:將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;
具體地,也就是說當(dāng)判斷該絕對值大于預(yù)設(shè)閾值時,直接將進行差值計算的當(dāng)前幀圖像中的像素點的像素值作為更新后的目標幀圖像中對應(yīng)位置的像素點。
步驟S208:根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值,并將所述目標幀圖像中對應(yīng)位置的像素點的像素值更新為所述目標像素值;
具體地,當(dāng)判斷該絕對值不大于預(yù)設(shè)閾值時,可以根據(jù)該目標幀圖像中對應(yīng)位置的像素點的像素值、該像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),利用預(yù)設(shè)的加權(quán)平均算法計算出目標像素值,并并將該目標幀圖像中對應(yīng)位置的像素點的像素值更新為該目標像素值。
需要說明的是,通過步驟S204至步驟S208,實現(xiàn)了通過對視頻畫面像素點的帶閾值的時域指數(shù)濾波來進行降噪,計算處理量低減少移動終端耗電量的同時,不增加系統(tǒng)的延遲并有效降低視頻中的噪點水平,達到較好的降噪效果。
步驟S210:當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。
具體地,該預(yù)設(shè)數(shù)量個像素點,可以為從該當(dāng)前幀圖像的所有像素點中隨機選取或按照一定選取規(guī)律選取出預(yù)設(shè)數(shù)量的像素點,也可以直接為該當(dāng)前幀圖像的所有像素點;當(dāng)通過上述步驟S202至步驟S208,完成了該預(yù)設(shè)數(shù)量個像素點的差值計算,即可得到更新后的該目標幀圖像(即降噪處理后的幀圖像),并輸出該目標幀圖像。
需要說明的是,通過步驟S202至步驟S208進行上述預(yù)設(shè)數(shù)量個像素點的差值計算,可以同時并行地來進行差值計算,也可以按順序一個接一個地來進行差值計算,本發(fā)明不作限制。
還需要說明的是,本發(fā)明實施例中步驟S204若判斷該絕對值不大于預(yù)設(shè)閾值時,不限定于執(zhí)行步驟S208,還可以通過其他參數(shù)或手段來更新目標幀圖像中的像素點的像素值,本發(fā)明不作限制。
通過實施本發(fā)明實施例,將該當(dāng)前幀圖像中的像素點與該目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素點差值的絕對值;判斷該絕對值是否大于預(yù)設(shè)閾值;若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。實現(xiàn)了通過對視頻畫面像素點的帶閾值的時域指數(shù)濾波來進行降噪,計算處理量低減少移動終端耗電量的同時,不增加系統(tǒng)的延遲并有效降低視頻中的噪點水平,達到較好的降噪效果,解決了現(xiàn)有技術(shù)的視頻降噪算法不能滿足移動端實時視頻流計算量低、無延遲的要求的技術(shù)問題;而且避免了現(xiàn)有技術(shù)在移動端視頻直播、視頻通信中由于終端CPU計算能力不高而不在軟件層面進行降噪處理,或只進行簡單的時域濾波,容易引入拖尾現(xiàn)象的問題;另外,本發(fā)明實施例的算法邏輯設(shè)計十分規(guī)整,可以很好地應(yīng)用多媒體指令集優(yōu)化技術(shù),從而進一步降低運算開銷。
進一步地,如圖3示出的本發(fā)明提供的視頻降噪處理方法的另一實施例的流程示意圖,進一步詳細說明本發(fā)明如何對視頻進行降噪,包括以下步驟:
步驟S300:獲取視頻的當(dāng)前幀圖像;
具體地,本發(fā)明實施例對視頻進行一幀一幀的圖像處理,獲取當(dāng)前幀圖像,并在處理完畢輸出后,再獲取下一幀圖像,直到處理完該視頻的所有幀圖像。
步驟S302:檢測所述當(dāng)前幀圖像是否為第一幀圖像;
具體地,當(dāng)檢測結(jié)果為是時,則執(zhí)行步驟S312;當(dāng)潔廁結(jié)果為否時,則執(zhí)行步驟S304。
步驟S304:將所述當(dāng)前幀圖像中的像素點與所述預(yù)設(shè)的圖像緩沖區(qū)保存的目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算;
具體地,本發(fā)明實施例可以通過預(yù)設(shè)的圖像緩沖區(qū)來保存目標幀圖像,該圖像緩沖區(qū)的大小可以為一幀圖像的大小,也可以為多幀圖像的大??;較優(yōu)地,該圖像緩沖區(qū)的大小為一幀圖像的大小,可以持續(xù)更新保存最近輸出的降噪處理后的幀圖像。那么當(dāng)檢測出當(dāng)前幀圖像不為第一幀圖像時,表明圖像緩沖區(qū)中保存有上一幀圖像降噪處理后輸出的幀圖像。
具體地的差值計算步驟可以參考上述圖2實施例的步驟S202,這里不再贅述。
步驟S306:判斷所述絕對值是否大于預(yù)設(shè)閾值;
具體地,本發(fā)明實施例可以預(yù)先設(shè)置由于進行比較的閾值,當(dāng)判斷出該絕對值大于預(yù)設(shè)閾值時,則可以執(zhí)行步驟S308;否則,可以執(zhí)行步驟S310。
步驟S308:將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;
具體地,也就是說當(dāng)判斷該絕對值大于預(yù)設(shè)閾值時,直接將該目標幀圖像中對應(yīng)位置的像素點更新為進行差值計算的當(dāng)前幀圖像中的像素點的像素值。
步驟S310:根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值,并將所述目標幀圖像中對應(yīng)位置的像素點的像素值更新為所述目標像素值;
具體地,可以通過以下公式計算出所述當(dāng)前幀圖像中的像素點的像素值:
q=(p*(C+a)+q’*(D-a))/(C+D)
其中,q為目標像素值,q’為所述目標幀圖像中對應(yīng)位置的像素點的像素值,p為所述當(dāng)前幀圖像中的像素點的像素值,a為所述像素點差值的絕對值,C和D為預(yù)設(shè)的濾波參數(shù);所述C和D為正實數(shù)。優(yōu)選地,C可以為4,D可以為12,可以使得算法更加高效地計算出像素值。
需要說明的是,本發(fā)明實施例不限定于上述公式,可以在上述公式的基礎(chǔ)上進行變形,只要是根據(jù)目標幀圖像中對應(yīng)位置的像素點的像素值、像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),利用預(yù)設(shè)的加權(quán)平均算法的原理來計算目標像素值即可。
步驟S312:將所述當(dāng)前幀圖像作為目標幀圖像進行輸出;
具體地,當(dāng)檢查當(dāng)前幀圖像為第一幀圖像,那么直接將該當(dāng)前幀圖像作為目標幀圖像進行輸出,并通過該預(yù)設(shè)的圖像緩沖區(qū)將該目標幀圖像進行保存。
步驟S314:判斷當(dāng)前幀圖像中所有的像素點是否處理完畢;
具體地,當(dāng)判斷為是時,則執(zhí)行步驟S304,否則,執(zhí)行步驟S316。
步驟S316:輸出更新后的所述目標幀圖像。
具體地,輸出更新后的該目標幀圖像(即降噪處理后的當(dāng)前幀圖像)的同時,通過該預(yù)設(shè)的圖像緩沖區(qū)保存更新后的該目標幀圖像。
通過實施本發(fā)明實施例,將該當(dāng)前幀圖像中的像素點與該目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素點差值的絕對值;判斷該絕對值是否大于預(yù)設(shè)閾值;若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。實現(xiàn)了通過對視頻畫面像素點的帶閾值的時域指數(shù)濾波來進行降噪,計算處理量低減少移動終端耗電量的同時,不增加系統(tǒng)的延遲并有效降低視頻中的噪點水平,達到較好的降噪效果,解決了現(xiàn)有技術(shù)的視頻降噪算法不能滿足移動端實時視頻流計算量低、無延遲的要求的技術(shù)問題;而且避免了現(xiàn)有技術(shù)在移動端視頻直播、視頻通信中由于終端CPU計算能力不高而不在軟件層面進行降噪處理,或只進行簡單的時域濾波,容易引入拖尾現(xiàn)象的問題;另外,本發(fā)明實施例的算法邏輯設(shè)計十分規(guī)整,可以很好地應(yīng)用多媒體指令集優(yōu)化技術(shù),從而進一步降低運算開銷。
上述詳細闡述了本發(fā)明實施例的方法,下面為了便于更好地實施本發(fā)明實施例的上述方案,相應(yīng)地,下面還提供用于配合實施上述方案的相關(guān)裝置。
如圖4示出的本發(fā)明實施例提供的視頻降噪處理裝置的結(jié)構(gòu)示意圖,視頻降噪處理裝置40可以包括:獲取模塊400、差值計算模塊402、閾值判斷模塊404、第一設(shè)置模塊406和圖像輸出模塊408,其中,
獲取模塊400用于獲取視頻的當(dāng)前幀圖像;
差值計算模塊402用于當(dāng)存在目標幀圖像時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素值差值的絕對值;其中,所述目標幀圖像為所述當(dāng)前幀圖像的上一幀圖像降噪處理后輸出的幀圖像;
閾值判斷模塊404用于判斷所述絕對值是否大于預(yù)設(shè)閾值;
第一設(shè)置模塊406用于若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;
圖像輸出模塊408用于當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。
具體地,如圖5示出的本發(fā)明實施例提供的差值計算模塊的結(jié)構(gòu)示意圖,差值計算模塊402可以包括:檢測單元4020、計算單元4022和輸出單元4024,其中,
檢測單元4020用于檢測所述當(dāng)前幀圖像是否為第一幀圖像;
計算單元4022用于若檢測為否時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算;
輸出單元4024用于若檢測為是時,將所述當(dāng)前幀圖像作為目標幀圖像進行輸出。
進一步地,如圖6示出的本發(fā)明提供的視頻降噪處理裝置的另一實施例的結(jié)構(gòu)示意圖,視頻降噪處理裝置40包括獲取模塊400、差值計算模塊402、閾值判斷模塊404、第一設(shè)置模塊406和圖像輸出模塊408外,還可以包括保存模塊4010,用于通過預(yù)設(shè)的圖像緩沖區(qū)來保存所述目標幀圖像。
具體地,該圖像緩沖區(qū)的大小為一幀圖像的大小。
需要說明的是,本發(fā)明實施例中的預(yù)設(shè)數(shù)量個像素點包括整個幀圖像中所有的像素點。
再進一步地,如圖7示出的本發(fā)明提供的視頻降噪處理裝置的另一實施例的結(jié)構(gòu)示意圖,視頻降噪處理裝置40包括獲取模塊400、差值計算模塊402、閾值判斷模塊404、第一設(shè)置模塊406、圖像輸出模塊408和保存模塊4010外,還可以包括:像素值計算模塊4012和第二設(shè)置模塊4014,其中,
像素值計算模塊4012用于若閾值判斷模塊404的判斷結(jié)果為否時,根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值;
第二設(shè)置模塊4014用于將所述目標幀圖像中對應(yīng)位置的像素點的像素值更新為所述目標像素值。
具體地,像素值計算模塊4012可以具體用于,通過以下公式計算出所述目標像素值:
q=(p*(C+a)+q’*(D-a))/(C+D)
其中,q為目標像素值,q’為所述目標幀圖像中對應(yīng)位置的像素點的像素值,p為所述當(dāng)前幀圖像中的像素點的像素值,a為所述像素點差值的絕對值,C和D為預(yù)設(shè)的濾波參數(shù);所述C和D為正實數(shù)。
可理解的是,本實施例的視頻降噪處理裝置50的各功能模塊的功能可根據(jù)上述方法實施例中的方法具體實現(xiàn),此處不再贅述。
請參閱圖8,圖8是本發(fā)明提供的視頻降噪處理裝置的另一實施例的結(jié)構(gòu)示意圖。其中,如圖8所示,視頻降噪處理裝置80可以包括:至少一個處理器801,例如CPU,至少一個網(wǎng)絡(luò)接口804,用戶接口803,存儲器805,至少一個通信總線802,可選地,還可以包括顯示屏806。其中,通信總線802用于實現(xiàn)這些組件之間的連接通信。其中,用戶接口803可以包括觸摸屏、鍵盤或鼠標等等。網(wǎng)絡(luò)接口804可選的可以包括標準的有線接口、無線接口(如WI-FI接口),通過網(wǎng)絡(luò)接口804可以與服務(wù)器建立通信連接。存儲器805可以是高速RAM存儲器,也可以是非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器,存儲器805包括本發(fā)明實施例中的flash。存儲器805可選的還可以是至少一個位于遠離前述處理器801的存儲系統(tǒng)。如圖8所示,作為一種計算機存儲介質(zhì)的存儲器805中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及視頻降噪處理程序。
處理器801可以用于調(diào)用存儲器805中存儲的視頻降噪處理程序,并執(zhí)行以下操作:
獲取視頻的當(dāng)前幀圖像;
當(dāng)存在目標幀圖像時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素值差值的絕對值;其中,所述目標幀圖像為所述當(dāng)前幀圖像的上一幀圖像降噪處理后輸出的幀圖像;
判斷所述絕對值是否大于預(yù)設(shè)閾值;
若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;
當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。
具體地,當(dāng)存在目標幀圖像時,處理器801將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,包括:
檢測所述當(dāng)前幀圖像是否為第一幀圖像;
若檢測為否時,將所述當(dāng)前幀圖像中的像素點與所述目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算;
若檢測為是時,將所述當(dāng)前幀圖像作為目標幀圖像進行輸出。
具體地,處理器801還可以執(zhí)行:通過預(yù)設(shè)的圖像緩沖區(qū)來保存所述目標幀圖像。
具體地,所述圖像緩沖區(qū)的大小為一幀圖像的大小。
具體地,所述預(yù)設(shè)數(shù)量個像素點包括整個幀圖像中所有的像素點。
具體地,處理器801判斷所述絕對值是否大于預(yù)設(shè)閾值之后,還可以執(zhí)行:
若判斷為否時,根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值,并將所述目標幀圖像中對應(yīng)位置的像素點的像素值更新為所述目標像素值。
具體地,處理器801根據(jù)所述目標幀圖像中對應(yīng)位置的像素點的像素值、所述像素點差值的絕對值以及預(yù)設(shè)的濾波參數(shù),計算出目標像素值,包括:
通過以下公式計算出所述目標像素值:
q=(p*(C+a)+q’*(D-a))/(C+D)
其中,q為目標像素值,q’為所述目標幀圖像中對應(yīng)位置的像素點的像素值,p為所述當(dāng)前幀圖像中的像素點的像素值,a為所述像素點差值的絕對值,C和D為預(yù)設(shè)的濾波參數(shù);所述C和D為正實數(shù)。
需要說明的是,本發(fā)明實施例中的視頻降噪處理裝置40或視頻降噪處理裝置80包括但不限于個人計算機、移動電腦、平板電腦、移動電話、個人數(shù)字助理(Personal Digital Assistant,PDA)、智能電視、智能手表、智能眼鏡、智能手環(huán)等具有攝像或錄像功能的電子設(shè)備上。
綜上所述,通過實施本發(fā)明實施例,將該當(dāng)前幀圖像中的像素點與該目標幀圖像中對應(yīng)位置的像素點進行像素值差值計算,得到像素點差值的絕對值;判斷該絕對值是否大于預(yù)設(shè)閾值;若判斷為是時,則將所述目標幀圖像中對應(yīng)位置的像素點更新為所述當(dāng)前幀圖像中的像素點;當(dāng)所述當(dāng)前幀圖像完成了預(yù)設(shè)數(shù)量個像素點的差值計算,輸出更新后的所述目標幀圖像。實現(xiàn)了通過對視頻畫面像素點的帶閾值的時域指數(shù)濾波來進行降噪,計算處理量低減少移動終端耗電量的同時,不增加系統(tǒng)的延遲并有效降低視頻中的噪點水平,達到較好的降噪效果,解決了現(xiàn)有技術(shù)的視頻降噪算法不能滿足移動端實時視頻流計算量低、無延遲的要求的技術(shù)問題;而且避免了現(xiàn)有技術(shù)在移動端視頻直播、視頻通信中由于終端CPU計算能力不高而不在軟件層面進行降噪處理,或只進行簡單的時域濾波,容易引入拖尾現(xiàn)象的問題;另外,本發(fā)明實施例的算法邏輯設(shè)計十分規(guī)整,可以很好地應(yīng)用多媒體指令集優(yōu)化技術(shù),從而進一步降低運算開銷。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明一種較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。