分配編碼通道內(nèi)存的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻與圖像處理技術(shù)領(lǐng)域,尤其涉及一種分配編碼通道內(nèi)存的方法和
目.0
【背景技術(shù)】
[0002]數(shù)字視頻錄像機(jī)(Digital Video Recorder,簡稱“DVR”)相對于傳統(tǒng)的模擬視頻錄像機(jī),采用硬盤錄像,故常常被稱為硬盤錄像機(jī)。它是一套進(jìn)行圖像存儲處理的計算機(jī)系統(tǒng),具有對圖像/語音進(jìn)行長時間錄像、錄音、遠(yuǎn)程監(jiān)視和控制的功能。而它的編解碼系統(tǒng)一般都是自編自解,且編碼、解碼的路數(shù)和分辨率都比較固定。編解碼路數(shù)越多,其內(nèi)存的占用量就越多,內(nèi)存成本也就越高。
[0003]目前的編碼系統(tǒng)每個通道占用的內(nèi)存都是獨立的,主要是參考幀和重構(gòu)幀占用的內(nèi)存較多,編碼過程中是通道內(nèi)部的參考幀的內(nèi)存和重構(gòu)幀的內(nèi)存可以相互倒換,但是通道之間的內(nèi)存卻不能共享。
[0004]I個包括16個編碼通道的編碼系統(tǒng),其中的每個編碼通道需要I個參考幀和I個重構(gòu)幀,而每個參考幀或每個重構(gòu)幀占用的內(nèi)存單元的大小為3M,那么16個編碼通道一共需要16X2X3M = 96M作為參考幀和重構(gòu)幀的內(nèi)存。從用戶的角度來看16個通道的編碼是并行工作的,但是從編碼硬件單元來看,這16個通道的編碼其實是串行工作的,即每時每刻硬件只寫出I個通道的重構(gòu)幀,這時其它15個通道的45M重構(gòu)幀的內(nèi)存都是處于空閑狀態(tài)的,導(dǎo)致內(nèi)存占用量多,增加內(nèi)存成本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種分配編碼通道內(nèi)存的方法和裝置,通過通道間共享重構(gòu)幀的內(nèi)存,實現(xiàn)多個通道復(fù)用一個內(nèi)存單元,從而節(jié)省內(nèi)存的占用量,降低內(nèi)存成本。
[0006]第一方面,提供一種分配編碼通道內(nèi)存的方法,所述編碼通道內(nèi)存包括參考幀的內(nèi)存和重構(gòu)幀的內(nèi)存,該方法包括:將公共緩存池劃分為多個緩存區(qū),所述公共緩存池未被占用且能夠被多個通道所利用;將所述公共緩存池中的多個緩存區(qū)中的一個緩存區(qū)確定為第一個通道對應(yīng)的第一重構(gòu)幀的內(nèi)存單元;當(dāng)確定將所述第一個通道對應(yīng)的原參考幀作為第一參考幀時,將所述第一重構(gòu)幀的內(nèi)存單元釋放至所述公共緩存池;或,當(dāng)確定將所述第一重構(gòu)幀作為所述第一參考幀時,將所述第一個通道對應(yīng)的原參考幀的內(nèi)存單元釋放至所述公共緩存池;將上一通道釋放至所述公共緩存池中的內(nèi)存單元確定為當(dāng)前通道對應(yīng)的第二重構(gòu)幀的內(nèi)存單元,其中,所述當(dāng)前通道為除所述第一個通道之外的通道;當(dāng)確定將所述當(dāng)前通道對應(yīng)的原參考幀作為第二參考幀時,將所述第二重構(gòu)幀的內(nèi)存單元釋放至所述公共緩存池;或,當(dāng)確定將所述第二重構(gòu)幀作為所述第二參考幀時,將所述當(dāng)前通道對應(yīng)的原參考幀的內(nèi)存單元釋放至所述公共緩存池,并作為下一通道對應(yīng)的第三重構(gòu)幀的內(nèi)存單
J L.ο
[0007]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,該方法還包括:所述當(dāng)前通道根據(jù)所述當(dāng)前通道對應(yīng)的原參考幀,處理所述當(dāng)前通道的目標(biāo)圖像幀得到所述第二重構(gòu)幀。
[0008]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,該當(dāng)前通道根據(jù)該當(dāng)前通道對應(yīng)的原參考幀,處理該當(dāng)前通道的目標(biāo)圖像幀,得到該第二重構(gòu)幀,包括:該當(dāng)前通道根據(jù)該當(dāng)前通道對應(yīng)的原參考幀,對該目標(biāo)圖像幀進(jìn)行編碼處理得到該第二重構(gòu)幀。
[0009]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,該當(dāng)前通道根據(jù)該當(dāng)前通道對應(yīng)的原參考幀,處理該當(dāng)前通道的目標(biāo)圖像幀,得到該第二重構(gòu)幀,包括:該當(dāng)前通道根據(jù)該當(dāng)前通道對應(yīng)的原參考幀,對該目標(biāo)圖像幀進(jìn)行降噪處理得到該第二重構(gòu)幀。
[0010]結(jié)合上述可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中,該多個緩存區(qū)中的每個緩存區(qū)的大小滿足多個通道中每個通道對分辨率的要求。
[0011]第二方面,提供一種分配編碼通道內(nèi)存的裝置,所述編碼通道內(nèi)存包括參考幀的內(nèi)存和重構(gòu)幀的內(nèi)存,該裝置包括:劃分模塊,用于將公共緩存池劃分為多個緩存區(qū),所述公共緩存池未被占用且能夠被多個通道所利用;第一確定模塊,用于將所述公共緩存池中的多個緩存區(qū)中的一個緩存區(qū)確定為第一個通道對應(yīng)的第一重構(gòu)幀的內(nèi)存單元;第一釋放模塊,用于當(dāng)確定第一個通道對應(yīng)的原參考幀作為參考幀時,將所述第一重構(gòu)幀的內(nèi)存單元釋放至所述公共緩存池;或,當(dāng)確定將所述第一重構(gòu)幀作為所述參考幀時,將所述第一個通道對應(yīng)的原參考幀的內(nèi)存單元釋放至所述公共緩存池;第二確定模塊,用于將上一通道釋放至所述公共緩存池中的內(nèi)存單元確定為當(dāng)前通道對應(yīng)的第二重構(gòu)幀的內(nèi)存單元,其中,所述當(dāng)前通道為除所述第一個通道之外的通道;第二釋放模塊,用于當(dāng)確定將所述當(dāng)前通道對應(yīng)的原參考幀作為第二參考幀時,將所述第二重構(gòu)幀的內(nèi)存單元釋放至所述公共緩存池;或當(dāng)確定將所述第二重構(gòu)幀作為所述第二參考幀時,將所述當(dāng)前通道對應(yīng)的原參考幀的內(nèi)存單元釋放至所述公共緩存池,并作為下一通道對應(yīng)的第三重構(gòu)幀的內(nèi)存單元。
[0012]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,裝置還包括:處理模塊,用于所述當(dāng)前通道根據(jù)所述當(dāng)前通道對應(yīng)的原參考幀,處理所述當(dāng)前通道的目標(biāo)圖像幀得到所述第二重構(gòu)幀。
[0013]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,該處理模塊具體用于,該當(dāng)前通道根據(jù)該當(dāng)前通道對應(yīng)的原參考幀,對該目標(biāo)圖像幀進(jìn)行編碼處理得到該第二重構(gòu)幀。
[0014]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,該處理模塊具體用于,該當(dāng)前通道根據(jù)該當(dāng)前通道對應(yīng)的原參考幀,對該目標(biāo)圖像幀進(jìn)行降噪處理得到該第二重構(gòu)幀。
[0015]結(jié)合上述可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,該多個緩存區(qū)中的每個緩存區(qū)的大小滿足多個通道中每個通道對分辨率的要求。
[0016]基于上述技術(shù)方案,本發(fā)明實施例提供的分配編碼通道內(nèi)存的方法,通過將上一通道釋放至該公共緩存池中的內(nèi)存單元確定為該當(dāng)前通道對應(yīng)的重構(gòu)幀的內(nèi)存單元,并確定是否將該重構(gòu)幀的內(nèi)存單元釋放至該公共緩存池,作為下一通道對應(yīng)的重構(gòu)幀的內(nèi)存單元,以實現(xiàn)多個通道復(fù)用一個內(nèi)存單元,從而節(jié)省內(nèi)存的占用量,降低內(nèi)存成本。
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是根據(jù)本發(fā)明實施例的多個編碼通道系統(tǒng)的示意圖;
[0019]圖2是根據(jù)本發(fā)明實施例的分配編碼通道內(nèi)存的方法的示意性流程圖;
[0020]圖3是根據(jù)本發(fā)明另一實施例的分配編碼通道內(nèi)存的方法的示意性流程圖;
[0021]圖4是根據(jù)本發(fā)明實施例的分配編碼通道內(nèi)存的裝置的示意性結(jié)構(gòu)圖;
[0022]圖5是根據(jù)本發(fā)明另一實施例的分配編碼通道內(nèi)存的裝置的示意性結(jié)構(gòu)圖。
【具體實施方式】
[0023]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
[0024]圖1是根據(jù)本發(fā)明實施例的多通道編碼系統(tǒng)的示意圖。如圖1所示的系統(tǒng)中,公共緩存池包括N+1個緩存區(qū),N個通道中的每個通道有I個參考幀和I個重構(gòu)幀,I個參考幀占用一個內(nèi)存單元。其中,第I個通道可以將公共緩存池中的一個緩存區(qū),例如:緩存區(qū)2確定為該第I個通道對應(yīng)的重構(gòu)幀的內(nèi)存單元,則該第I個通道根據(jù)該第I個通道對應(yīng)的原參考幀,對該第I個通道的目標(biāo)圖像幀進(jìn)行編碼處理得到重構(gòu)幀,并在確定將該重構(gòu)幀作為參考幀時,將該第I個通道對應(yīng)的原參考幀的內(nèi)存單元釋放至公共緩存池,此時,重構(gòu)幀可以作為后續(xù)編碼的圖像幀的參考幀;或者,在確定將該第I個通道對應(yīng)的原參考幀作為參考幀時,將該第I個通道對應(yīng)的重構(gòu)幀的內(nèi)存單元釋放至公共緩存池,此時,重構(gòu)幀被釋放。例如:繼第I個通道之后編碼的通道為第3個通道,則該第3個通道可以將第I個通道釋放至公共緩存池中的內(nèi)存單元確定為該第3個通道對應(yīng)的重構(gòu)幀的內(nèi)存單元,使得第3個通道的重構(gòu)幀的內(nèi)存單元復(fù)用第I個通道釋放的內(nèi)存單元,從而能夠節(jié)省內(nèi)存的占用量,降低內(nèi)存成本。
[0025]需要說明的是,在本發(fā)明實施例中,僅以N個通道中的每個通道有一個參考幀時只占用一個內(nèi)存單元為例,對本發(fā)明實施例的技術(shù)方案進(jìn)行說明,然而每個通道可以有多個參考幀,則要占用多個內(nèi)存單元。
[0026]圖2是根據(jù)本發(fā)明實施例的分配編碼通道內(nèi)存的方法100的示意性流程圖。如圖2所示的方法100,其中,編碼通道內(nèi)存包括參考幀的內(nèi)存和重構(gòu)幀的內(nèi)存,包括:
[0027]110,將公共緩存池劃分為多個緩存區(qū),所述公共緩存池未被占用且能夠被多個通道所利用;
[0028]120,將所述公共緩存池中的多個緩存區(qū)中的一緩存區(qū)確定為第一個通道對應(yīng)的第一重構(gòu)幀的內(nèi)存單元;
[0029]130,當(dāng)確定將所述第一個通道對應(yīng)的原參考幀作為第一參考幀時