專利名稱:在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電視技木,特別涉及在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法及裝置。
背景技術(shù):
在以下三種情況下,將在實時數(shù)字電視節(jié)目(Live DTV)與個人視頻錄像(PVR,Personal Video Recorder,也可稱為Recorded TV)播放之間發(fā)生切換,這三種情況都將使實時數(shù)字電視節(jié)目發(fā)生時移播放的效果。第一種時移播放:在觀看實時數(shù)字電視節(jié)目時發(fā)生時移現(xiàn)有實現(xiàn)第一種時移播放的技術(shù)方案:當數(shù)字電視正在播放實時數(shù)字電視節(jié)目時,用戶按下暫停鍵,以使此時此刻屏幕上正在顯示的畫面靜止在電視屏幕上,此后承載著電視節(jié)目數(shù)據(jù)的傳輸流(TS)被保存到存儲器中,用戶按下播放鍵吋,從存儲器中讀取PVR,對其解復(fù)用和解碼,再輸出畫面和聲音,以繼續(xù)播放此靜止畫面的后續(xù)電視節(jié)目。這樣使用戶可以時移地觀看電視節(jié)目。第二種時移播放:在錄制數(shù)字電視節(jié)目時發(fā)生時移現(xiàn)有實現(xiàn)第二種時移播放的技術(shù)方案:當數(shù)字電視正在后臺錄制數(shù)字電視節(jié)目時,用戶按下暫停鍵,此時后臺錄制還繼續(xù)進行,但此時此刻屏幕上正在顯示的畫面靜止在電視屏幕上,過一段時間以后,用戶按下播放鍵,從存儲器中讀取用戶按下暫停鍵之后的電視節(jié)目數(shù)據(jù),對其解復(fù)用和解碼,再輸出畫面和聲音,以繼續(xù)播放此靜止畫面的后續(xù)電視節(jié)目。這樣使用戶可以時移地觀看電視節(jié)目。第三種時移播放:混合第一種和第二種時移播放,也稱為混合時移播放現(xiàn)有實現(xiàn)混合時移播放的技術(shù)方案:當數(shù)字電視正在播放實時數(shù)字電視節(jié)目吋,用戶按下暫停鍵,發(fā)生第一種時移播放,此后的電視節(jié)目數(shù)據(jù)被保存到存儲器中,用戶按下播放鍵吋,從存儲器中讀取Recorded TV進行播放,當用戶按下停止鍵時,再次播放實時電視節(jié)目,此時仍處于繼續(xù)錄制狀態(tài),然后,當用戶按下暫停鍵,并再次播放吋,即由Live DTV切換到Recorded TV,發(fā)生第二種時移播放,整個過程的時移被稱為混合時移播放。如圖1所示。然而,上述現(xiàn)有技術(shù)在實現(xiàn)實時數(shù)字電視時移播放時,畫面和聲音明顯不流暢,即:從靜止畫面切換到播放PVR吋,音視頻切換會產(chǎn)生音視頻縫隙。
發(fā)明內(nèi)容
本發(fā)明提供了ー種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法及裝置,以在切換播放時畫面和聲音均連續(xù)且流暢。本發(fā)明提供的ー種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法,包括:
當數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,將收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將所述第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼。在所述數(shù)字電視收到暫停命令之前,該方法可以進一歩包括:進行后臺錄制,將數(shù)字電視所接收到的傳輸流存儲到外部存儲器中,并對外部存儲器所存儲的傳輸流包進行計數(shù);當在視頻數(shù)據(jù)中尋找到暫停命令之后的第一個關(guān)鍵幀時,進ー步記錄所述第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù);當數(shù)字電視在暫停狀態(tài)收到播放命令,對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼之后,進ー步根據(jù)所記錄的傳輸流包數(shù),對外部存儲器所存儲的所述傳輸流包數(shù)所對應(yīng)的傳輸流之后的傳輸流進行解復(fù)用和解碼。當數(shù)字電視收到暫停命令時,該方法可以進一歩包括:判斷是否正在進行持續(xù)后臺錄制,如果沒有,則開始進行持續(xù)后臺錄制,并對外部存儲器所存儲的傳輸流包進行計數(shù),否則,記錄所述第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù);在數(shù)字電視在暫停狀態(tài)收到播放命令之后,并在對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼之前,該方法進ー步包括:判斷是否記錄有第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),如果記錄有,則根據(jù)所述傳輸流包數(shù)確定第一個關(guān)鍵幀在所述外部存儲器中的位置。在數(shù)字電視在暫停狀態(tài)收到播放命令之后,該方法可以進ー步包括:重新啟動數(shù)字電視的解碼器、顯不模塊和聲音模塊。本發(fā)明提供的ー種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的裝置,包括:系統(tǒng)控制器、數(shù)據(jù)分析器和數(shù)據(jù)緩沖器,其中:系統(tǒng)控制器,用于在數(shù)字電視收到暫停命令時向數(shù)據(jù)分析器發(fā)送第一通知;數(shù)據(jù)分析器,在接收到系統(tǒng)控制器的第一通知時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并在尋找到時通知系統(tǒng)控制器;系統(tǒng)控制器,還用于根據(jù)數(shù)據(jù)分析器的通知控制傳輸流的走向,將收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將所述第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器還用于控制數(shù)據(jù)緩沖器將其所存儲的傳輸流輸入所述數(shù)字電視相應(yīng)的解碼器中,并將外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流灌入所述數(shù)字電視的解復(fù)用器中;數(shù)據(jù)緩沖器,用于根據(jù)系統(tǒng)存儲器的控制存儲收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流,并用于根據(jù)系統(tǒng)控制器的控制將其所存儲的傳輸流輸入給所述數(shù)字電視相應(yīng)的解碼器。較佳地,在數(shù)字電視收到暫停命令之前,所述系統(tǒng)控制器還用于控制后臺持續(xù)錄制傳輸流,將數(shù)字電視所接收到的傳輸流存儲到外部存儲器中,向數(shù)據(jù)分析器發(fā)送第二通知,并用于接收并記錄數(shù)據(jù)分析器返回的傳輸流包數(shù);當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器根據(jù)所記錄的傳輸流包數(shù),將外部存儲器所存儲的所述傳輸流包數(shù)所對應(yīng)的傳輸流之后的傳輸流灌入所述數(shù)字電視的解復(fù)用器中;所述數(shù)據(jù)分析器,在接收到系統(tǒng)控制器的第二通知吋,開始對外部存儲器所存儲的傳輸流包進行計數(shù),并用于將所述第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù)返回給系統(tǒng)控制器。較佳地,當數(shù)字電視收到暫停命令時,系統(tǒng)控制器還用于判斷是否正在后臺持續(xù)錄制傳輸流,如果沒有,則控制后臺開始持續(xù)錄制傳輸流,如果后臺正在持續(xù)錄制傳輸流,則用于接收并記錄數(shù)據(jù)分析器返回的傳輸流包數(shù);所述數(shù)據(jù)分析器,在接收到系統(tǒng)控制器的第一通知時,如果沒有開始對傳輸流包進行計數(shù),則還用于對外部存儲器所存儲的傳輸流包進行計數(shù);如果已經(jīng)開始對傳輸流包進行計數(shù),則還用于將本次尋找到的第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù)返回給系統(tǒng)控制器;當數(shù)字電視在暫停狀態(tài)收到播放命令時,所述系統(tǒng)控制器還用于判斷是否記錄有第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),在記錄有時,根據(jù)所述傳輸流包數(shù)確定第一個關(guān)鍵幀在外部存儲器中的位置。較佳地,當數(shù)字電視在暫停狀態(tài)收到播放命令時,所述系統(tǒng)控制器還用于重新啟動數(shù)字電視的解碼器、顯示模塊和聲音模塊。 由上述技術(shù)方案可見,通過在數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并將收到暫停命令之后處于該第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將該第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼,從而避免了丟失暫停畫面所屬GOP的部分音視頻幀,以及避免了對暫停畫面所屬GOP中的已播放畫面重復(fù)播放,使切換播放時畫面和聲音均連續(xù)且流暢,在實時數(shù)字電視時移播放中實現(xiàn)了音視頻無縫切換。并且,本發(fā)明充分利用了外部存儲器錄制大數(shù)據(jù)量的電視節(jié)目,僅需少量內(nèi)部存儲器即可實現(xiàn)長時間的音視頻無縫切換,降低了數(shù)字電視本身的硬件成本。
圖1為混合時移播放的示意圖;圖2為本發(fā)明在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的裝置的組成結(jié)構(gòu)示意圖;圖3為將本發(fā)明裝置應(yīng)用于數(shù)字電視實現(xiàn)第一種時移播放的無縫切換時的數(shù)據(jù)流和控制流不意圖;圖4為將本發(fā)明裝置應(yīng)用于數(shù)字電視實現(xiàn)第二種時移播放的無縫切換時的數(shù)據(jù)流和控制流示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進ー步詳細說明。ー個GOP(畫面組,Group of Pictures)是ー組連續(xù)的畫面。MPEG編碼技術(shù)將畫面(即幀)分為I幀、P幀、B幀三種。其中:I是內(nèi)部編碼幀,P是前向預(yù)測幀,B是雙向內(nèi)插幀。簡單地講,I幀是ー個完整的畫面,是每個GOP的第一個幀,I幀也可稱為關(guān)鍵幀,而P幀和B幀記錄的是相對于I幀的變化,P幀由在它前面的P幀或I幀進行預(yù)測。沒有I幀,P幀和B幀就無法解碼。當用戶按下暫停鍵時,極大的可能性是處于某一 GOP之中,也就是說,GOP的前半部分畫面已在暫停之前播出,而后半部分畫面尚未播出。由于GOP后半部分畫面的正確解碼有賴于該GOP的I幀,而現(xiàn)有實現(xiàn)第一種時移播放的技術(shù)方案是對暫停之后的傳輸流進行存儲,并不是以完整的GOP為單位進行存儲,并且,從Live DTV播放到PVR播放(即:解碼器的數(shù)據(jù)源改變)吋,需要停止解碼并清空解碼緩沖器,這將導(dǎo)致該GOP后半部分的畫面無法正確解碼,這部分音視頻幀將被丟棄,從而導(dǎo)致相應(yīng)內(nèi)容丟失,進而導(dǎo)致音視頻切換時聲音和畫面明顯不流暢?,F(xiàn)有實現(xiàn)第二種時移播放的技術(shù)方案中,由于后臺一直在錄制,能夠保證在暫停處錄制到完整的G0P,但是,由于對PVR的解碼以GOP為單位,而暫停處是隨機的,鮮有可能恰好處于某兩個GOP的邊界,因此,要么會像現(xiàn)有實現(xiàn)第一種時移播放的技術(shù)方案那樣,丟失一部分畫面和聲音,要么會多出ー些畫面和聲音,這都將導(dǎo)致音視頻切換時聲音和畫面明顯不流暢。由干與上述同樣的原因,現(xiàn)有實現(xiàn)混合時移播放的技術(shù)方案也將導(dǎo)致音視頻切換時聲音和畫面明顯不流暢。為解決上述現(xiàn)有技術(shù)所存在的技術(shù)問題,本發(fā)明提出了ー種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法及裝置,下面對本發(fā)明技術(shù)方案進行詳細說明。本發(fā)明的主要思想是:在數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流(TS)中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,將收到暫停命令之后處于該第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將該第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令吋,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼。通常,解碼器中將保存幾組解碼后的GOP數(shù)據(jù),其所保存的GOP數(shù)據(jù)的多少會根據(jù)視頻格式(H264/MPEG2)、分辨率(高清/標清)等有所不同。當暫停后再次播放時,如果當前幀為非參考幀(即=B幀或P幀),解碼器將從其所保存的GOP數(shù)據(jù)中找到對應(yīng)的參考幀以及其他依賴幀來解碼出當前幀。由于收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流包含了暫停畫面所屬GOP中尚未播放的畫面及其對應(yīng)的音頻數(shù)據(jù),本發(fā)明將這些傳輸流存儲在數(shù)據(jù)緩沖器中,當暫停后再次播放吋,數(shù)據(jù)緩沖器將這些傳輸流發(fā)送給解碼器,解碼器將根據(jù)其所保存的GOP數(shù)據(jù)對這些傳輸流進行正確解碼,從而保證不丟失畫面和聲音,進而實現(xiàn)音視頻無縫切換?;谏鲜鲋饕枷?,本發(fā)明提出了分別用于在第一種時移播放、第二種時移播放和混合時移播放中實現(xiàn)無縫切換的技術(shù)方案,下面進行詳細說明。
在第一種時移播放中實現(xiàn)無縫切換的技術(shù)方案:當數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,將收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼。在第二種時移播放中實現(xiàn)無縫切換的技術(shù)方案:進行后臺錄制,將數(shù)字電視所接收到的傳輸流存儲到外部存儲器中,并對外部存儲器所存儲的傳輸流包進行計數(shù); 當數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,記錄第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),將收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中;當數(shù)字電視在暫停狀態(tài)收到播放命令,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后根據(jù)所記錄的傳輸流包數(shù),對外部存儲器所存儲的該傳輸流包數(shù)所對應(yīng)的傳輸流之后的傳輸流進行解復(fù)用和解碼。在混合時移播放中實現(xiàn)無縫切換的技術(shù)方案:當數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,將收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,并判斷是否正在進行持續(xù)后臺錄制,如果沒有,則將第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中,并開始進行持續(xù)后臺錄制,對外部存儲器所存儲的傳輸流包進行計數(shù),否則,記錄第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù);當數(shù)字電視在暫停狀態(tài)收到播放命令時,對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,并判斷是否記錄有第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),如果記錄有,則根據(jù)所記錄的傳輸流包數(shù)確定第一個關(guān)鍵幀在外部存儲器中的位置,對外部存儲器中第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼;如果沒有記錄,直接對外部存儲器所存儲的傳輸流進行解復(fù)用和解碼。根據(jù)現(xiàn)有技術(shù),當數(shù)字電視在暫停狀態(tài)收到播放命令時,將重新啟動數(shù)字電視的解碼器、顯示模塊和聲音模塊,從而在采用本發(fā)明技術(shù)方案對傳輸流進行解碼之后,相應(yīng)的畫面、聲音和字幕等得以輸出?;谏鲜黾夹g(shù)方案,本發(fā)明提出了如圖2所示的在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的裝置。參見圖2,該裝置包括:系統(tǒng)控制器210、數(shù)據(jù)分析器220和數(shù)據(jù)緩沖器230。對應(yīng)于第一種時移播放,圖2所示裝置的工作原理如下:在數(shù)字電視收到暫停命令時,系統(tǒng)控制器通知數(shù)據(jù)分析器對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并在尋找到時通知系統(tǒng)控制器;系統(tǒng)控制器根據(jù)數(shù)據(jù)分析器的通知控制傳輸流的走向,將收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器控制數(shù)據(jù)緩沖器將其所存儲的傳輸流輸入數(shù)字電視相應(yīng)的解碼器中,并將外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流灌入所述數(shù)字電視的解復(fù)用器中;數(shù)據(jù)緩沖器,用于根據(jù)系統(tǒng)存儲器的控制存儲收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流,并用于根據(jù)系統(tǒng)控制器的控制將其所存儲的傳輸流輸入給數(shù)字電視相應(yīng)的解碼器。將本發(fā)明圖2所示裝置應(yīng)用于數(shù)字電視實現(xiàn)第一種時移播放的無縫切換時,其數(shù)據(jù)流和控制流如圖3所示。圖3中,本發(fā)明裝置用軟件模塊實現(xiàn),如圖中切換引擎所示。數(shù)據(jù)緩沖器包括:視頻緩沖器、音頻緩沖器和字幕(Subtitle)緩沖器,解碼器包括:視頻解碼器、音頻解碼器和字幕解碼器。對于數(shù)據(jù)流,圖中僅示出了錄制的數(shù)據(jù)流,對于Live DTV的數(shù)據(jù)流,由于其流向與現(xiàn)有技術(shù)相同,為避免圖中線條過于復(fù)雜,并未示出。當數(shù)字電視收到暫停命令時,系統(tǒng)控制器控制視頻解碼器、音頻解碼器和字幕解碼器暫停解碼,控制顯示模塊的視頻播放和字幕顯示靜止,控制聲音模塊的聲音輸出停止,將解復(fù)用器輸出的傳輸流中的視頻部分、音頻部分和字幕部分分別存儲到視頻緩沖器、音頻緩沖器和字幕緩沖器中,并通知數(shù)據(jù)分析器對視頻緩沖器中的視頻數(shù)據(jù)進行分析,尋找暫停命令之后的第一個關(guān)鍵幀,當尋找到第一個關(guān)鍵幀時,停止將解復(fù)用器輸出的傳輸流存儲至數(shù)據(jù)緩沖器,而是通過直接存儲器存儲(DMA)技術(shù)直接存儲到外部存儲器中(如圖所示HDD);當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器向數(shù)據(jù)緩沖器發(fā)出控制信號,向視頻解碼器、音頻解碼器和字幕解碼器發(fā)出恢復(fù)信號,向顯示模塊和聲音模塊發(fā)出開始信號,數(shù)據(jù)緩沖器中的視頻緩沖器、音頻緩沖器和字幕緩沖器分別將其所存儲的數(shù)據(jù)發(fā)送給視頻解碼器、音頻解碼器和字幕解碼器,隨后,系統(tǒng)控制器控制外部存儲器將其所存儲的第一個關(guān)鍵幀及其之后的數(shù)據(jù)流灌入解復(fù)用器,由解復(fù)用器對其進行解復(fù)用之后發(fā)送給相應(yīng)的解碼器進行解碼,并輸出。對應(yīng)于第二種時移播放,圖2所示裝置的工作原理如下:系統(tǒng)控制器控制后臺持續(xù)錄制傳輸流,將數(shù)字電視所接收到的傳輸流存儲到外部存儲器中,并通知數(shù)據(jù)分析器對外部存儲器所存儲的傳輸流包進行計數(shù);在數(shù)字電視收到暫停命令時,系統(tǒng)控制器通知數(shù)據(jù)分析器對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并將尋找到的第一個關(guān)鍵幀的傳輸流包數(shù)返回給系統(tǒng)控制器;系統(tǒng)控制器據(jù)此控制傳輸流的走向,將收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器控制數(shù)據(jù)緩沖器將其所存儲的傳輸流輸入數(shù)字電視相應(yīng)的解碼器中,并根據(jù)所記錄的傳輸流包數(shù),將外部存儲器所存儲的該傳輸流包數(shù)所對應(yīng)的傳輸流之后的傳輸流灌入數(shù)字電視的解復(fù)用器中;數(shù)據(jù)緩沖器,用于根據(jù)系統(tǒng)存儲器的控制存儲收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流,并用于根據(jù)系統(tǒng)控制器的控制將其所存儲的傳輸流輸入給數(shù)字電視相應(yīng)的解碼器。
將本發(fā)明圖2所示裝置應(yīng)用于數(shù)字電視實現(xiàn)第二種時移播放的無縫切換時,其數(shù)據(jù)流和控制流如圖4所示。對應(yīng)于混合時移播放,圖2所示裝置的工作原理如下:在數(shù)字電視收到暫停命令時,系統(tǒng)控制器通知數(shù)據(jù)分析器對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并判斷是否正在后臺持續(xù)錄制傳輸流,如果沒有,則控制后臺開始持續(xù)錄制傳輸流,由數(shù)據(jù)分析器對外部存儲器所存儲的傳輸流包進行計數(shù);如果后臺正在持續(xù)錄制傳輸流,數(shù)據(jù)分析器將本次尋找到的第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù)返回給系統(tǒng)控制器,系統(tǒng)控制器接收并記錄數(shù)據(jù)分析器返回的傳輸流包數(shù);系統(tǒng)控制器將收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器控制數(shù)據(jù)緩沖器將其所存儲的傳輸流輸入數(shù)字電視相應(yīng)的解碼器中,并判斷是否記錄有第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),在記錄有時,根據(jù)該傳輸流包數(shù)確定第一個關(guān)鍵幀在外部存儲器中的位置,將外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流灌入數(shù)字電視的解復(fù)用器中,如果沒有記錄,直接將外部存儲器所存儲的傳輸流灌入數(shù)字電視的解復(fù)用器中;數(shù)據(jù)緩沖器,用于根據(jù)系統(tǒng)存儲器的控制存儲收到暫停命令之后處于第一個關(guān)鍵幀之前的傳輸流,并用于根據(jù)系統(tǒng)控制器的控制將其所存儲的傳輸流輸入給數(shù)字電視相應(yīng)的解碼器。根據(jù)現(xiàn)有技術(shù),當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器還用于重新啟動數(shù)字電視的解碼器、顯示模塊和聲音模塊,從而使解碼后的畫面、聲音和字幕等得以輸出。由上述實施例可見,本發(fā)明通過在數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并將收到暫停命令之后處于該第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將該第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼,從而避免了丟失暫停畫面所屬GOP的部分音視頻幀,以及避免了對暫停畫面所屬GOP中的已播放畫面重復(fù)播放,使切換播放時畫面和聲音均連續(xù)且流暢,在實時數(shù)字電視時移播放中實現(xiàn)了音視頻無縫切換。并且,本發(fā)明充分利用了外部存儲器錄制大數(shù)據(jù)量的電視節(jié)目,僅需少量內(nèi)部存儲器即可實現(xiàn)長時間的音視頻無縫切換,降低了數(shù)字電視本身的硬件成本。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.ー種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法,其特征在于,包括: 當數(shù)字電視收到暫停命令時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,將收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將所述第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中; 當數(shù)字電視在暫停狀態(tài)收到播放命令時,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于: 在所述數(shù)字電視收到暫停命令之前,該方法進ー步包括:進行后臺錄制,將數(shù)字電視所接收到的傳輸流存儲到外部存儲器中,并對外部存儲器所存儲的傳輸流包進行計數(shù); 當在視頻數(shù)據(jù)中尋找到暫停命令之后的第一個關(guān)鍵幀時,進ー步記錄所述第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù); 當數(shù)字電視在暫停狀態(tài)收到播放命令,對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼之后,進ー步根據(jù)所記錄的傳輸流包數(shù),對外部存儲器所存儲的所述傳輸流包數(shù)所對應(yīng)的傳輸流之后的傳輸流進行解復(fù)用和解碼。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于: 當數(shù)字電視收到暫停命令時,該方法進ー步包括:判斷是否正在進行持續(xù)后臺錄制,如果沒有,則開始進行持續(xù)后臺錄制,并對外部存儲器所存儲的傳輸流包進行計數(shù),否則,記錄所述第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù); 在數(shù)字電視在暫停狀態(tài)收到播放命令之后,并在對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼之前,該方法進ー步包括:判斷是否記錄有第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),如果記錄有,則根據(jù)所述傳輸流包數(shù)確定第一個關(guān)鍵幀在所述外部存儲器中的位置。
4.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于: 在數(shù)字電視在暫停狀態(tài)收到播放命令之后,該方法進ー步包括:重新啟動數(shù)字電視的解碼器、顯不模塊和聲音模塊。
5.ー種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的裝置,其特征在于,包括:系統(tǒng)控制器、數(shù)據(jù)分析器和數(shù)據(jù)緩沖器,其中: 系統(tǒng)控制器,用于在數(shù)字電視收到暫停命令時向數(shù)據(jù)分析器發(fā)送第一通知; 數(shù)據(jù)分析器,在接收到系統(tǒng)控制器的第一通知時,對數(shù)字電視所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,從中尋找暫停命令之后的第一個關(guān)鍵幀,并在尋找到時通知系統(tǒng)控制器; 系統(tǒng)控制器,還用于根據(jù)數(shù)據(jù)分析器的通知控制傳輸流的走向,將收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將所述第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器還用于控制數(shù)據(jù)緩沖器將其所存儲的傳輸流輸入所述數(shù)字電視相應(yīng)的解碼器中,并將外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流灌入所述數(shù)字電視的解復(fù)用器中; 數(shù)據(jù)緩沖器,用于根據(jù)系統(tǒng)存儲器的控制存儲收到暫停命令之后處于所述第一個關(guān)鍵幀之前的傳輸流,并用于根據(jù)系統(tǒng)控制器的控制將其所存儲的傳輸流輸入給所述數(shù)字電視相應(yīng)的解碼器。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于: 在數(shù)字電視收到暫停命令之前,所述系統(tǒng)控制器還用于控制后臺持續(xù)錄制傳輸流,將數(shù)字電視所接收到的傳輸流存儲到外部存儲器中,向數(shù)據(jù)分析器發(fā)送第二通知,并用于接收并記錄數(shù)據(jù)分析器返回的傳輸流包數(shù);當數(shù)字電視在暫停狀態(tài)收到播放命令時,系統(tǒng)控制器根據(jù)所記錄的傳輸流包數(shù),將外部存儲器所存儲的所述傳輸流包數(shù)所對應(yīng)的傳輸流之后的傳輸流灌入所述數(shù)字電視的解復(fù)用器中; 所述數(shù)據(jù)分析器,在接收到系統(tǒng)控制器的第二通知吋,開始對外部存儲器所存儲的傳輸流包進行計數(shù),并用于將所述第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù)返回給系統(tǒng)控制器。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于: 當數(shù)字電視收到暫停命令時,系統(tǒng)控制器還用于判斷是否正在后臺持續(xù)錄制傳輸流,如果沒有,則控制后臺開始持續(xù)錄制傳輸流,如果后臺正在持續(xù)錄制傳輸流,則用于接收并記錄數(shù)據(jù)分析器返回的傳輸流包數(shù); 所述數(shù)據(jù)分析器,在接收到系統(tǒng)控制器的第一通知時,如果沒有開始對傳輸流包進行計數(shù),則還用于對外部存儲器所存儲的傳輸流包進行計數(shù);如果已經(jīng)開始對傳輸流包進行計數(shù),則還用于將本次尋找到的第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù)返回給系統(tǒng)控制器; 當數(shù)字電視在暫停狀態(tài)收到播放命令時,所述系統(tǒng)控制器還用于判斷是否記錄有第一個關(guān)鍵幀所對應(yīng)的傳輸流包數(shù),在記錄有吋,根據(jù)所述傳輸流包數(shù)確定第一個關(guān)鍵幀在外部存儲器中的位置。
8.根據(jù)權(quán)利要求5至7任一項`所述的裝置,其特征在于: 當數(shù)字電視在暫停狀態(tài)收到播放命令時,所述系統(tǒng)控制器還用于重新啟動數(shù)字電視的解碼器、顯不模塊和聲音模塊。
全文摘要
本發(fā)明提供了一種在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換的方法及裝置,通過對數(shù)字電視收到暫停命令之后所接收到的傳輸流中的視頻數(shù)據(jù)進行分析,在視頻數(shù)據(jù)中尋找暫停命令之后的第一個關(guān)鍵幀,將收到暫停命令之后處于該第一個關(guān)鍵幀之前的傳輸流存儲在數(shù)據(jù)緩沖器中,將該第一個關(guān)鍵幀及其之后的傳輸流存儲到外部存儲器中;當數(shù)字電視在暫停狀態(tài)收到播放命令時,首先對數(shù)據(jù)緩沖器所存儲的傳輸流進行解碼,然后對外部存儲器所存儲的第一個關(guān)鍵幀及其之后的傳輸流進行解復(fù)用和解碼。應(yīng)用本發(fā)明能夠在實時數(shù)字電視時移播放中實現(xiàn)音視頻無縫切換。
文檔編號H04N21/4405GK103139641SQ20111039598
公開日2013年6月5日 申請日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
發(fā)明者俞貴濤, 陳斌德, 季兵 申請人:三星電子(中國)研發(fā)中心, 三星電子株式會社