專利名稱:一種視頻錄制的控制方法、裝置和同步控制單元的制作方法
技術領域:
本發(fā)明涉及多媒體領域的錄像技術,尤其涉及一種視頻錄制的控制方法、裝置和同步控制單元。
背景技術:
現(xiàn)有技術中,在嵌入式平臺上,特別是在一些底端的平臺上進行有聲錄像,音頻和視頻的錄制是分別進行的,音頻和視頻必須通過相應同步合成操作才能呈現(xiàn)給觀看者同步的音視頻。
音頻視頻同步又稱為“唇同步”。在音視頻的采集、壓縮、傳輸、接收、解壓、播放途徑中每個環(huán)節(jié)都會對通過的音視頻信號引入不同程度的延遲,而且延遲通常不相等。整個音視頻失步是這個鏈條中每一個環(huán)節(jié)失步的代數(shù)和。由于編解碼算法的復雜度不同,視頻信號通常承受比音頻信號大的延遲,造成視頻滯后于音頻,音視頻不同步。
以采用現(xiàn)有AV(Audio Video,音頻視頻)錄制算法進行視頻錄制的工作過程為例,視頻錄制包括兩個同時啟動的步驟1、圖像傳感器采集圖像數(shù)據(jù)并將其輸出;圖像傳感器的視頻信號的采集幀率是由程序設定的,一般是15~30幀/秒;2、定時器按照與設定錄像幀率一樣的中斷頻率觸發(fā)中斷處理,每次中斷處理截取圖像傳感器傳來的一幀新圖像數(shù)據(jù)并將其緩存,獲取緩存的該幀新圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息;在上述錄制視頻的同時進行音頻的錄制,并將其錄制結果存儲為音頻文件;上述視頻文件的索引信息包括幀標記,指明是視頻還是音頻;幀的偏移地址,指明在文件中的位置;幀的長度,指明數(shù)據(jù)長度;上述對截取的一幀新圖像數(shù)據(jù)進行緩存時,只緩存一幀圖像數(shù)據(jù),最新傳來的一幀圖像數(shù)據(jù)自動覆蓋緩存的上一幀圖像數(shù)據(jù)。
在錄制視頻的過程中,如果每次中斷處理都能截取圖像傳感器傳來的一幀新圖像數(shù)據(jù),將該幀新圖像數(shù)據(jù)緩存后寫入視頻文件并修改視頻文件的索引信息,則視頻文件的實際錄像幀率與設定錄像幀率相同。
如果在進行中斷處理時圖像傳感器由于環(huán)境光線較暗等因素的影響而沒有在中斷處理時傳來新的圖像數(shù)據(jù),中斷處理就一直等待,直到圖像傳感器傳來新的圖像數(shù)據(jù),截取圖像傳感器傳來的一幀新圖像數(shù)據(jù)并將其緩存,獲取緩存的該幀新圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息,這種處理方式會造成本次中斷處理運行很長時間,即延長了獲取一幀圖像數(shù)據(jù)所需的時間,甚至于當本次中斷處理運行時間大于中斷間隔時,有可能使下一次中斷處理丟失,使獲取的圖像數(shù)據(jù)比預期的少,造成視頻文件的實際錄像幀率低于設定錄像幀率?,F(xiàn)舉例進行說明如圖1所示的現(xiàn)有技術視頻錄制示意圖,假設定時器每秒中斷30次,以第10s后的第一次中斷處理為例,若圖像傳感器因環(huán)境較暗而沒有采集到新的圖像數(shù)據(jù)并輸出,中斷處理就一直等待,如果在a時刻圖像傳感器傳來新的圖像數(shù)據(jù),則截取圖像傳感器傳來的一幀新圖像數(shù)據(jù)并將其緩存,獲取緩存的該幀新圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息,此操作僅造成第一次中斷處理獲取到了比觸發(fā)時刻延遲的圖像數(shù)據(jù),不會使視頻文件的實際錄像幀率低于設定錄像幀率;但是如果在b時刻圖像傳感器才傳來新的圖像數(shù)據(jù),即定時器觸發(fā)第3次中斷處理后圖像傳感器才傳來新的圖像數(shù)據(jù),則截取圖像傳感器傳來的一幀新圖像數(shù)據(jù)并將其緩存,獲取緩存的該幀新圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息后繼續(xù)進行第3次中斷處理,此操作使得定時器觸發(fā)的第10s后的第1次和第2次中斷處理丟失,獲取的圖像數(shù)據(jù)比預期的少了兩幀,由此造成視頻文件的實際錄像幀率低于設定錄像幀率。
另外,在嵌入式平臺上,有時定時器觸發(fā)的中斷處理會由于高優(yōu)先級的處理而延遲,即在定時器觸發(fā)本次中斷處理時,如果有更高優(yōu)先級的處理需要執(zhí)行,則優(yōu)先進行更高優(yōu)先級的處理,然后繼續(xù)進行獲取圖像數(shù)據(jù)的操作,這樣就會造成定時器觸發(fā)的中斷處理不能按照預期時間發(fā)生,即中斷處理時獲取到了比觸發(fā)時刻延遲的圖像數(shù)據(jù),甚至于在定時器觸發(fā)下一次中斷處理時,更高優(yōu)先級的處理還沒有完成或者剛好完成,就會使得本次中斷處理丟失,獲取的圖像數(shù)據(jù)比預期的少,由此也會造成視頻文件的實際錄像幀率低于設定錄像幀率。
由于視頻文件和音頻文件是按照設定錄像幀率進行合成處理的,當視頻文件的實際錄像幀率低于設定錄像幀率時,會造成音視頻的不同步,影響錄制文件的視聽效果。
發(fā)明內容
本發(fā)明實施例提供一種視頻錄制的控制方法、裝置和同步控制單元,用以解決有聲錄像過程中由于圖像傳感器幀率降低或者定時器中斷處理延遲而使視頻文件的實際錄像幀率低于設定錄像幀率,導致音視頻不同步的問題。
一種視頻錄制的控制方法,包括記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù),并在每次進行中斷處理時根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
一種視頻錄制的控制裝置,包括圖像傳感器,用于采集視頻圖像數(shù)據(jù)并輸出,還包括同步控制單元,用于記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù),并在每次進行中斷處理時根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和視頻文件存儲的圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取從圖像傳感器輸出的數(shù)據(jù)中截取的相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
一種視頻錄制的同步控制單元,包括控制子單元、中斷觸發(fā)子單元、幀數(shù)記錄子單元、時間記錄子單元及中斷處理子單元,其中所述控制子單元用于設定中斷觸發(fā)子單元的中斷頻率,并在所述圖像傳感器開始采集圖像數(shù)據(jù)的同時,啟動所述中斷觸發(fā)子單元、幀數(shù)記錄子單元及時間記錄子單元開始工作;所述中斷觸發(fā)子單元用于按設定中斷頻率產生中斷,每次中斷時觸發(fā)所述中斷處理子單元進行中斷處理;所述幀數(shù)記錄子單元用于記錄視頻文件存儲的圖像總幀數(shù);所述時間記錄子單元用于記錄錄像累計時間;所述中斷處理子單元用于在所述中斷觸發(fā)子單元每次觸發(fā)其進行中斷處理時,獲取中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)及錄像累計時間,并根據(jù)視頻文件存儲的圖像總幀數(shù)、錄像累計時間及所述設定中斷頻率計算本次中斷處理應該寫入視頻文件的圖像幀數(shù),根據(jù)所述圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件,每寫入一幀圖像數(shù)據(jù)后控制幀數(shù)記錄子單元的記錄結果加1,將相應幀緩存的圖像數(shù)據(jù)全部寫入視頻文件后退出本次中斷處理。
本發(fā)明實施例在進行有聲錄像時,通過采用按設定中斷頻率觸發(fā)中斷、記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù)結合控制的同步錄制機制,避免了有聲錄像過程中由于圖像傳感器幀率降低或者定時器中斷處理延遲而使視頻文件的實際錄像幀率低于設定錄像幀率,進一步采用在中斷觸發(fā)時若圖像傳感器未傳來新圖像數(shù)據(jù)則用緩存的上一幀圖像數(shù)據(jù)代替的插幀機制,減小了音頻和視頻的不同步。
圖1為現(xiàn)有技術視頻錄制示意圖;
圖2為本發(fā)明實施例同步錄制機制示意圖;圖3為本發(fā)明實施例視頻錄制的控制方法流程圖;圖4為本發(fā)明實施例中斷處理時根據(jù)公式3確定應該寫入視頻文件的圖像幀數(shù)的示意圖;圖5為本發(fā)明實施例中斷處理時根據(jù)公式2確定應該寫入視頻文件的圖像幀數(shù)的示意圖;圖6為本發(fā)明實施例進行中斷處理時根據(jù)圖像幀數(shù)分多次操作的示意圖;圖7、圖8為本發(fā)明實施例提供的視頻錄制控制裝置結構示意圖;圖9為本發(fā)明實施例提供的視頻錄制控制裝置的一種具體結構示意圖。
具體實施例方式
為了解決有聲錄像過程中由于圖像傳感器幀率降低或者定時器中斷處理延遲而使視頻文件的實際錄像幀率低于設定錄像幀率,導致音視頻不同步的問題,本發(fā)明實施例提供同步錄制機制,保證了視頻文件的實際錄像幀率等于設定錄像幀率,進一步采用插幀機制,盡可能減小了有聲錄像過程中音頻和視頻的不同步。下面分別對同步錄制機制和插幀機制進行詳細說明一、同步錄制機制根據(jù)設定錄像幀率,可以確定相鄰兩次中斷處理的時間間隔,即中斷間隔T中斷間隔,記錄錄像累計時間為T錄像累計時間和視頻文件中存儲的圖像總幀數(shù)實際值X。理想情況下,每一次中斷處理都可以獲得一幀圖像數(shù)據(jù)時,在每次中斷處理完成后視頻文件中應該存儲的圖像總幀數(shù)理想值可以通過公式1確定 其中 表示向下取整,即M為T錄像累計時間/T中斷間隔的整數(shù)部分。
理想狀態(tài)下,M-X=1,一次中斷處理中只需要寫入一幀圖像數(shù)據(jù),如果一次中斷觸發(fā)之前發(fā)生中斷處理丟失,為消除中斷處理丟失對錄像幀率的影響,除本次中斷處理應該寫入的一幀圖像數(shù)據(jù)外,還可以補齊之前中斷處理丟失時沒有寫入視頻文件的圖像幀數(shù),則在本次中斷處理應該寫入視頻文件的圖像幀數(shù)通過公式2確定 公式2還可以變形為公式3 參閱圖2所示,公式3中T參考時間等于T中斷間隔和X的乘積,ΔT為T錄像累計時間和T參考時間之間的時間差。ΔT/T中斷間隔的整數(shù)部分Z即為本次中斷處理應該寫入視頻文件的圖像幀數(shù);ΔT/T中斷間隔的小數(shù)部分Δz由計時器誤差引起,理想情況下,Δz為零。
這樣,在每次中斷處理時確定本次中斷處理應該寫入視頻文件的圖像幀數(shù)Z,并連續(xù)獲取Z幀圖像數(shù)據(jù)并寫入視頻文件,則可以補齊之前因中斷丟失減少的圖像幀數(shù),從而及時消除了中斷丟失對錄像幀率的影響,保證了實際錄像幀率等于設定錄像幀率。
本發(fā)明實施例提供的同步控制機制基于上述原理實現(xiàn),記錄錄像累計時間T錄像累計時間和視頻文件存儲的圖像總幀數(shù)X,在每一次中斷觸發(fā)后,獲取中斷觸發(fā)時錄像累計時間T錄像累計時間和圖像總幀數(shù)X,根據(jù)公式2或公式3計算Z,根據(jù)圖像幀數(shù)Z,進行一次操作或分多次連續(xù)操作,每次操作都獲取緩存的一幀圖像數(shù)據(jù)寫入視頻文件,直到將應該寫入視頻文件的圖像數(shù)據(jù)全部寫入視頻文件后停止本次中斷處理,從而補齊應該寫入視頻文件的圖像總幀數(shù)。
采用上述同步錄制機制,即使由于圖像傳感器幀率降低或者執(zhí)行更高優(yōu)先級的處理而使中斷處理延遲甚至丟失,也可以在下一次執(zhí)行的中斷處理中補齊需要的圖像總幀數(shù),使視頻文件的實際錄像幀率等于設定錄像幀率。
二、插幀機制在上述根據(jù)圖像幀數(shù)分一次操作或分多次連續(xù)操作,每次操作都獲取一幀圖像數(shù)據(jù)寫入視頻文件的過程中,如果在獲取圖像的時候圖像傳感器沒有傳來新的圖像數(shù)據(jù),則獲取緩存的上一幀圖像數(shù)據(jù),將緩存的上一幀圖像數(shù)據(jù)作為當前幀圖像數(shù)據(jù)再次寫入到視頻文件中,這樣,可以使視頻文件和音頻文件盡量保持同步,盡可能減少了因中斷處理丟失引起的音頻和視頻的不同步。
參閱圖3所示,本發(fā)明實施例提供的視頻錄制的控制方法具體流程如下步驟S01、在圖像傳感器開始采集圖像數(shù)據(jù)的同時,按照與設定錄像幀率一樣的中斷頻率觸發(fā)中斷處理,并開始記錄視頻文件存儲的圖像總幀數(shù)和錄像累計時間;步驟S02、每次中斷處理時,根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和視頻文件存儲的圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);步驟S03、每次中斷處理根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
參閱圖4所示,當根據(jù)公式3確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù)時,所述步驟S02進一步包括以下步驟s021、按中斷頻率觸發(fā)中斷處理;s022、進行中斷處理時,獲取中斷觸發(fā)時的錄像累計時間和視頻文件存儲的圖像總幀數(shù);將中斷觸發(fā)時的錄像累計時間記作T錄像累計時間;將中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)記作X;s023、根據(jù)上述公式3,首先計算中斷間隔和視頻文件存儲的圖像總幀數(shù)的乘積;即計算T中斷間斷*X,將其值記作T參考時間,將其作為參考時間;上述T中斷間隔表示由中斷頻率確定的中斷間隔,即按照中斷頻率觸發(fā)相鄰兩次中斷處理的時間間隔;s024、判斷中斷觸發(fā)時的錄像累計時間T錄像累計時間是否大于參考時間T參考時間;如果T錄像累計時間大于T參考時間,則繼續(xù)執(zhí)行步驟s025;如果T錄像累計時間小于或等于T參考時間,如圖2所示,由于按設定中斷間隔獲取X幀圖像數(shù)據(jù)的時間T參考時間應該限制于錄像累計時間T錄像累計時間內而不應超出T錄像累計時間,但是在實際記錄錄像累計時間的操作中,不可避免地會出現(xiàn)計時誤差,所以當T錄像累計時間小于或等于T參考時間時,說明此時錄像累計時間的記錄出現(xiàn)誤差,此時退出本次中斷處理;s025、計算T錄像累計時間與T參考時間之間的時間差ΔT,并計算ΔT/T中斷間隔,取ΔT/T中斷間隔的值的整數(shù)部分Z即為本次中斷處理應該寫入視頻文件的圖像幀數(shù)。
上述根據(jù)公式3確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù)時也可以不執(zhí)行步驟s024以判斷T錄像累計時間是否大于T參考時間;而可以在按照公式3計算得到Z值后判斷Z的正負,如果Z為正則確定Z為本次中斷處理中應該寫入視頻文件的圖像幀數(shù),否則退出本次中斷處理。
參閱圖5所示,當根據(jù)公式2確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù)時,所述步驟S02進一步包括以下步驟t021、按中斷頻率觸發(fā)中斷處理;t022、進行中斷處理時,獲取中斷觸發(fā)時的錄像累計時間和視頻文件存儲的圖像總幀數(shù);將中斷觸發(fā)時的錄像累計時間記作T錄像累計時間;將中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)記作X;t023、根據(jù)上述公式2,首先計算T錄像累計時間/T中斷間隔并取該值的整數(shù)部分M;上述T中斷間隔表示由中斷頻率確定的中斷間隔,即按照中斷頻率觸發(fā)相鄰兩次中斷處理的時間間隔;
t024、判斷M是否大于X;如果M大于X,則繼續(xù)執(zhí)行步驟t025;如果M小于或等于X,則退出本次中斷處理;t025、計算M與X的差值Z,該差值Z即為本次中斷處理應該寫入視頻文件的圖像幀數(shù)。
上述根據(jù)公式2確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù)時也可以不執(zhí)行步驟t024以判斷T錄像累計時間是否大于T參考時間;而可以在按照公式2計算得到Z值后判斷Z的正負,如果Z為正則確定Z為本次中斷處理中應該寫入視頻文件的圖像幀數(shù),否則退出本次中斷處理。
上述確定本次中斷處理應該寫入視頻文件的圖像幀數(shù)Z的方法,不限于上述公式(2)和(3),實際操作中也可以根據(jù)本發(fā)明實施例對公式(2)或(3)進行相應的改進或變型。
參閱圖6所示,所述步驟S03進一步包括以下步驟s031、每次中斷處理先獲取一幀圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息;如果在獲取圖像數(shù)據(jù)時圖像傳感器傳來了新的圖像數(shù)據(jù),則截取傳來的一幀新圖像數(shù)據(jù)并將其緩存,獲取緩存的該幀新圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息;此時,視頻文件存儲的圖像總幀數(shù)的記錄結果加一,在本次中斷處理中應該寫入視頻文件的圖像幀數(shù)減一;如果在獲取圖像數(shù)據(jù)時,圖像傳感器沒有傳來新的圖像數(shù)據(jù),則獲取緩存的上一幀圖像數(shù)據(jù),將其寫入視頻文件并修改視頻文件的索引信息;此時,視頻文件存儲的圖像總幀數(shù)的記錄結果加一,在本次中斷處理中應該寫入視頻文件的圖像幀數(shù)減一;s032、判斷本次中斷處理中還應該寫入視頻文件的圖像幀數(shù)是否為零,如果是則退出本次中斷處理;否則返回步驟s031;如果Z大于1,則循環(huán)執(zhí)行步驟s031,直到在本次中斷處理中還應該寫入視頻文件的圖像幀數(shù)為零時退出本次中斷處理。
參閱圖7所示為本發(fā)明實施例提供的視頻錄制的控制結構示意圖,包括視頻錄制模塊1及存儲處理模塊2,視頻錄制模塊1與存儲處理模塊2連接,其中視頻錄制模塊1用于錄制視頻并將視頻數(shù)據(jù)寫入存儲處理模塊2;存儲處理模塊2用于存儲視頻數(shù)據(jù)為視頻文件,并對視頻文件進行處理。
參閱圖8所示,視頻錄制模塊1可以進一步包括圖像傳感器11及同步控制單元12,其中圖像傳感器11用于采集視頻圖像數(shù)據(jù)并輸出;同步控制單元12用于記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù),并在每次進行中斷處理時根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和視頻文件存儲的圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取從圖像傳感器11輸出的數(shù)據(jù)中截取的相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
其中,同步控制單元12可以進一步包括控制子單元121、中斷觸發(fā)子單元122、幀數(shù)記錄子單元123、時間記錄子單元124、中斷處理子單元125及緩存器126,其中控制子單元121用于設定中斷觸發(fā)子單元122的中斷頻率與設定錄像幀率保持一致,并在圖像傳感器11開始采集圖像數(shù)據(jù)的同時,啟動中斷觸發(fā)子單元122、幀數(shù)記錄子單元123及時間記錄子單元124開始工作;中斷觸發(fā)子單元122用于按設定中斷頻率產生中斷,每次中斷時觸發(fā)中斷處理子單元125進行中斷處理;幀數(shù)記錄子單元123用于記錄寫入存儲處理模塊2中的視頻文件的圖像總幀數(shù);時間記錄子單元124用于記錄錄像累計時間;中斷處理子單元125用于在中斷觸發(fā)子單元122每次觸發(fā)其進行中斷處理時,獲取中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)及錄像累計時間,并根據(jù)視頻文件存儲的圖像總幀數(shù)、錄像累計時間及由所述設定中斷頻率確定的中斷間隔計算本次中斷處理應該寫入視頻文件的圖像幀數(shù),根據(jù)所述圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件,每寫入一幀圖像數(shù)據(jù)后控制幀數(shù)記錄子單元123的記錄結果加1,將相應幀緩存的圖像數(shù)據(jù)全部寫入視頻文件后退出本次中斷處理;緩存器126,所述中斷處理子單元125在獲取相應幀圖像數(shù)據(jù)時,如果圖像傳感器11傳來新的圖像數(shù)據(jù),則截取傳來的一幀新圖像數(shù)據(jù),將其緩存至緩存器126后獲取緩存的該幀新圖像數(shù)據(jù);反之,從緩存器126中獲取緩存的上一幀圖像數(shù)據(jù)。
實施例一結合圖7、圖8所示的本發(fā)明實施例提供的視頻錄制控制裝置結構示意圖,本實施例的視頻錄制的控制方法具體流程如下步驟S101、圖像傳感器11開始采集圖像數(shù)據(jù)的同時,同步控制單元12中的控制子單元121設置中斷觸發(fā)子單元122的中斷頻率與設定錄像幀率一樣,并控制中斷觸發(fā)子單元122、幀數(shù)記錄子單元123及時間記錄子單元124開始工作;步驟S102、中斷觸發(fā)子單元122按設定中斷頻率觸發(fā)中斷處理子單元125進行中斷處理;步驟S103、中斷處理子單元125從時間記錄子單元124獲取中斷觸發(fā)時的錄像累計時間,從幀數(shù)記錄子單元123獲取中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)為D;步驟S104、中斷處理子單元125根據(jù)視頻文件存儲的圖像總幀數(shù)D、錄像累計時間及由所述設定中斷頻率確定的中斷間隔,利用上述公式2或公式3確定本次中斷處理應該寫入視頻文件的圖像幀數(shù)為P;步驟S105、中斷處理子單元125獲取一幀圖像數(shù)據(jù),將其寫入存儲處理模塊2,存儲處理模塊2將其存入視頻文件并修改視頻文件的索引信息;如果在中斷處理子單元125獲取圖像數(shù)據(jù)時,圖像傳感器11傳來新的圖像數(shù)據(jù),則中斷處理子單元125截取傳來的一幀新圖像數(shù)據(jù)并將其緩存至緩存器126,獲取緩存的該幀新圖像數(shù)據(jù),將其寫入存儲處理模塊2,存儲處理模塊2將其存入視頻文件并修改視頻文件的索引信息,此時,中斷處理子單元125控制幀數(shù)記錄子單元123的記錄結果加一,成為D+1,在本次中斷處理中應該寫入視頻文件的圖像幀數(shù)減一,成為P-1;如果在中斷處理子單元125獲取圖像數(shù)據(jù)時,圖像傳感器11沒有傳來新的圖像數(shù)據(jù),則中斷處理子單元125從緩存器126獲取上一幀圖像數(shù)據(jù),將其寫入存儲處理模塊2,存儲處理模塊2將其存入視頻文件并修改視頻文件的索引信息,此時,中斷處理子單元125控制幀數(shù)記錄子單元123的記錄結果加一,成為D+1,在本次中斷處理中應該寫入視頻文件的圖像幀數(shù)減一,成為P-1;步驟S106、判斷本次中斷處理中還應該寫入視頻文件的圖像幀數(shù)是否為零,如果是則退出本次中斷處理;否則返回步驟S105;步驟S107、循環(huán)執(zhí)行步驟S102-S106進行下一次中斷處理;步驟S108、控制子單元121控制視頻錄制模塊1停止錄像。
實施例二Timer控件又稱為定時器,可按一定的時間間隔觸發(fā)事件,定時器最重要的屬性是Interval屬性,它用于設置定時器事件之間的時間間隔,單位為毫秒。本實施例一采用定時器作為中斷觸發(fā)子單元,用來按與設定錄像幀率一樣的中斷頻率觸發(fā)中斷處理。
圖9所示為本實施例的視頻錄制的控制裝置示意圖,其采用定時器322作為中斷觸發(fā)子單元,采用計時器324作為時間記錄子單元,采用計數(shù)器323作為幀數(shù)記錄子單元,其它結構和圖8所示裝置相同。結合上述控制裝置對視頻錄制進行控制的具體過程與實施例一的具體過程一樣,這里不再贅述。
本發(fā)明實施例在進行有聲錄像時,通過采用同步錄制機制,避免了有聲錄像過程中由于圖像傳感器幀率降低或者定時器中斷處理延遲而使視頻文件的實際錄像幀率低于設定錄像幀率,進一步采用插幀機制,盡可能減小了有聲錄像過程中音頻和視頻的不同步。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
權利要求
1.一種視頻錄制的控制方法,其特征在于,包括記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù),并在每次進行中斷處理時根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
2.如權利要求1所述的方法,其特征在于,所述本次中斷處理中應該寫入視頻文件的圖像幀數(shù)根據(jù)所述設定中斷頻率對應的相鄰兩次中斷處理的時間間隔、中斷觸發(fā)時的錄像累計時間和圖像總幀數(shù)確定。
3.如權利要求2所述的方法,其特征在于,所述本次中斷處理中應該寫入視頻文件的圖像幀數(shù)的確定方法為 所述Z表示本次中斷處理中應該寫入視頻文件的圖像幀數(shù),所述T中斷間隔表示相鄰兩次中斷處理的時間間隔,所述T錄像累計時間表示中斷觸發(fā)時的錄像累計時間,X表示中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)。
4.如權利要求3所述的方法,其特征在于,所述方法還包括計算出 后,判斷 是否大于X,如果是則進一步確定Z,否則退出本次中斷處理。
5.如權利要求2所述的方法,其特征在于,所述本次中斷處理中應該寫入視頻文件的圖像幀數(shù)的確定方法為 所述Z表示本次中斷處理中應該寫入視頻文件的圖像幀數(shù),所述T中斷間隔表示相鄰兩次中斷處理的時間間隔,所述T錄像累計時間表示中斷觸發(fā)時的錄像累計時間,X表示中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)。
6.如權利要求5所述的方法,其特征在于,所述方法還包括計算出T中斷間隔*X后,判斷T錄像累計時間是否大于T中斷間隔*X,如果是則進一確定Z,否則退出本次中斷處理。
7.如權利要求3或5所述的方法,其特征在于,所述方法還包括計算出Z后,判斷Z的正負,如果Z為正則確定Z為本次中斷處理中應該寫入視頻文件的圖像幀數(shù),否則退出本次中斷處理。
8.如權利要求1所述的方法,其特征在于,所述獲取相應幀圖像數(shù)據(jù)的方法包括如果在獲取圖像數(shù)據(jù)時圖像傳感器傳來新的圖像數(shù)據(jù),則截取一幀新圖像數(shù)據(jù),將其緩存后獲取緩存的該幀新圖像數(shù)據(jù);如果在獲取圖像數(shù)據(jù)時圖像傳感器沒有傳來新的圖像數(shù)據(jù),則獲取緩存的上一幀圖像數(shù)據(jù)。
9.一種視頻錄制的控制裝置,包括圖像傳感器,用于采集視頻圖像數(shù)據(jù)并輸出,其特征在于,還包括同步控制單元,用于記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù),并在每次進行中斷處理時根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和視頻文件存儲的圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取從圖像傳感器輸出的數(shù)據(jù)中截取的相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
10.如權利要求9所述的裝置,其特征在于,所述同步控制單元進一步包括控制子單元、中斷觸發(fā)子單元、幀數(shù)記錄子單元、時間記錄子單元及中斷處理子單元,其中所述控制子單元用于設定中斷觸發(fā)子單元的中斷頻率,并在所述圖像傳感器開始采集圖像數(shù)據(jù)的同時,啟動所述中斷觸發(fā)子單元、幀數(shù)記錄子單元及時間記錄子單元開始工作;所述中斷觸發(fā)子單元用于按設定中斷頻率產生中斷,每次中斷時觸發(fā)所述中斷處理子單元進行中斷處理;所述幀數(shù)記錄子單元用于記錄視頻文件存儲的圖像總幀數(shù);所述時間記錄子單元用于記錄錄像累計時間;所述中斷處理子單元用于在所述中斷觸發(fā)子單元每次觸發(fā)其進行中斷處理時,獲取中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)及錄像累計時間,并根據(jù)視頻文件存儲的圖像總幀數(shù)、錄像累計時間及所述設定中斷頻率計算本次中斷處理應該寫入視頻文件的圖像幀數(shù),根據(jù)所述圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件,每寫入一幀圖像數(shù)據(jù)后控制幀數(shù)記錄子單元的記錄結果加1,將相應幀緩存的圖像數(shù)據(jù)全部寫入視頻文件后退出本次中斷處理。
11.如權利要求10所述的裝置,其特征在于,還包括緩存器,所述中斷處理子單元在獲取相應幀圖像數(shù)據(jù)時,如果圖像傳感器傳來新的圖像數(shù)據(jù),則截取傳來的一幀新圖像數(shù)據(jù),將其緩存至所述緩存器后獲取緩存的該幀新圖像數(shù)據(jù);反之,從所述緩存器中獲取緩存的上一幀圖像數(shù)據(jù)。
12.如權利要求10所述的裝置,其特征在于,所述中斷觸發(fā)子單元為定時器、所述幀數(shù)記錄子單元為計數(shù)器、和/或所述時間記錄子單元為計時器。
13.一種視頻錄制的同步控制單元,其特征在于,包括控制子單元、中斷觸發(fā)子單元、幀數(shù)記錄子單元、時間記錄子單元及中斷處理子單元,其中所述控制子單元用于設定中斷觸發(fā)子單元的中斷頻率,并在所述圖像傳感器開始采集圖像數(shù)據(jù)的同時,啟動所述中斷觸發(fā)子單元、幀數(shù)記錄子單元及時間記錄子單元開始工作;所述中斷觸發(fā)子單元用于按設定中斷頻率產生中斷,每次中斷時觸發(fā)所述中斷處理子單元進行中斷處理;所述幀數(shù)記錄子單元用于記錄視頻文件存儲的圖像總幀數(shù);所述時間記錄子單元用于記錄錄像累計時間;所述中斷處理子單元用于在所述中斷觸發(fā)子單元每次觸發(fā)其進行中斷處理時,獲取中斷觸發(fā)時視頻文件存儲的圖像總幀數(shù)及錄像累計時間,并根據(jù)視頻文件存儲的圖像總幀數(shù)、錄像累計時間及所述設定中斷頻率計算本次中斷處理應該寫入視頻文件的圖像幀數(shù),根據(jù)所述圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件,每寫入一幀圖像數(shù)據(jù)后控制幀數(shù)記錄子單元的記錄結果加1,將相應幀緩存的圖像數(shù)據(jù)全部寫入視頻文件后退出本次中斷處理。
14.如權利要求13所述的同步控制單元,其特征在于,還包括緩存器,所述中斷處理子單元在獲取相應幀圖像數(shù)據(jù)時,如果圖像傳感器傳來新的圖像數(shù)據(jù),則截取傳來的一幀新圖像數(shù)據(jù),將其緩存至所述緩存器后獲取緩存的該幀新圖像數(shù)據(jù);反之,從所述緩存器中獲取緩存的上一幀圖像數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種視頻錄制的控制方法、裝置和同步控制單元,用以解決有聲錄像過程中由于圖像傳感器幀率降低或者定時器中斷處理延遲而使視頻文件的實際錄像幀率低于設定錄像幀率,導致音視頻不同步的問題;該控制方法包括記錄錄像累計時間和視頻文件存儲的圖像總幀數(shù),并在每次進行中斷處理時,根據(jù)設定中斷頻率、中斷觸發(fā)時的錄像累計時間和圖像總幀數(shù)確定本次中斷處理中應該寫入視頻文件的圖像幀數(shù);根據(jù)所述應該寫入視頻文件的圖像幀數(shù)獲取相應幀圖像數(shù)據(jù)并寫入視頻文件后退出本次中斷處理。
文檔編號H04N5/92GK101076099SQ200710118918
公開日2007年11月21日 申請日期2007年6月14日 優(yōu)先權日2007年6月14日
發(fā)明者李志剛 申請人:北京中星微電子有限公司