專利名稱:Dvd動態(tài)菜單生成裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及菜單生成裝置,更具體地說,涉及一種DVD動態(tài)菜單生成裝置及方法。
背景技術(shù):
現(xiàn)有技術(shù)存在多種DVD制作軟件,這些軟件可將圖片、音樂、視頻等元素導(dǎo)入,經(jīng) 過特效加工,制作成視頻或者DVD。DVD通常有其自己的菜單,每一頁菜單對應(yīng)一個遵守DVD 標(biāo)準(zhǔn)的MPEG-II格式的視頻,用于顯示碟片內(nèi)容、語言和字幕選項、藝術(shù)家信息和附加功 能。通常的DVD菜單的制作方法為首先,分別截獲各章節(jié)的縮略圖,每個縮略圖將繪到一個相框里面,代表對應(yīng)的章 節(jié)片段;其次,準(zhǔn)備好菜單背景圖片模板資源,矩形相框資源和控制播放按鈕等資源;接著,編寫圖片編輯控件,允許用戶自由調(diào)整相框和控制播放圖標(biāo)的位置,將相 框、縮略圖和控制播放按鈕等資源繪制到菜單背景圖片上,形成一張菜單圖片。最后,將編輯好的圖片和用戶選擇的一首音樂制作成一個MPEG-II格式的視頻, 該視頻再經(jīng)過DVD標(biāo)準(zhǔn)化則可成為一個菜單視頻,將制作好的DVD插入碟機播放就會首先 呈現(xiàn)出DVD菜單來?,F(xiàn)有的DVD菜單制作方法存在如下缺點1、用戶只能選擇圖片作為菜單背景,難以制作出擁有視頻動態(tài)效果的精美DVD菜 單;2、采用縮略圖來代表各章節(jié)片段,無法在DVD菜單播放時欣賞到各章節(jié)的視頻動 畫;3、制作出來的DVD菜單熱區(qū)遮罩只能是矩形形狀;4、在編輯菜單相框等元素位置的時候,無法實時觀察實際播放動態(tài)效果。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種DVD動態(tài)菜 單生成裝置及方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種DVD動態(tài)菜單生成裝置, 其包括媒體解析模塊,用于分別解析輸入的DVD菜單頁面的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背景 音頻數(shù)據(jù);菜單頁面顯示模塊,用于接收所述媒體解析模塊輸入的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背 景音頻數(shù)據(jù),并構(gòu)建菜單音頻數(shù)據(jù)和視頻數(shù)據(jù);數(shù)據(jù)源模塊,用于接收菜單頁面顯示模塊發(fā)送的的菜單音頻數(shù)據(jù)和視頻數(shù)據(jù);Directshow播放器,用于播放所述數(shù)據(jù)源模塊發(fā)送的菜單音頻數(shù)據(jù)和視頻數(shù)據(jù);視頻生成模塊,用于編碼所述數(shù)據(jù)源模塊發(fā)送的菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),以生 成菜單視頻,并將所述菜單視頻反饋到所述菜單頁面顯示模塊進行顯示。
在本發(fā)明所述的DVD動態(tài)菜單生成裝置中,所述菜單頁面顯示模塊包括相框單 元、控制播放按鈕單元及背景單元。在本發(fā)明所述的DVD動態(tài)菜單生成裝置中,所述Directshow播放器包括實時編 輯模塊,用于攔截所述Directshow播放器的窗口消息,自定義消息響應(yīng)事件,從而在所述 Directshow播放器中響應(yīng)鼠標(biāo)事件。在本發(fā)明所述的DVD動態(tài)菜單生成裝置中,媒體解析模塊包括圖片解析單元,用于接收和解析圖片數(shù)據(jù),并將解析后的圖片數(shù)據(jù)發(fā)送到所述菜 單頁面顯示模塊的相框單元或背景單元;視頻解析單元,用于接收和解析視頻數(shù)據(jù),并將解析后的視頻數(shù)據(jù)發(fā)送到所述菜 單頁面顯示模塊的相框單元或背景單元;音頻解析單元,用于接收和解析音頻數(shù)據(jù),并將解析后的視頻數(shù)據(jù)發(fā)送到所述菜 單頁面顯示模塊的背景單元;在本發(fā)明所述的DVD動態(tài)菜單生成裝置中,所述視頻數(shù)據(jù)包括Slideshow視頻數(shù) 據(jù)。根據(jù)本發(fā)明的另一個方面,提供一種DVD動態(tài)菜單生成方法,其包括以下步驟Sl 媒體解析模塊分別解析輸入的DVD菜單頁面的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背景音 頻數(shù)據(jù);S2:根據(jù)解析的視頻數(shù)據(jù)和背景音頻數(shù)據(jù),菜單頁面顯示模塊構(gòu)建菜單音頻數(shù)據(jù) 和視頻數(shù)據(jù);S3 =Directshow播放器播放所述菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),視頻生成模塊編碼所 述菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),以生成菜單視頻;S4:所述視頻生成模塊反饋所述菜單視頻到所述菜單頁面顯示模塊進行顯示。在本發(fā)明所述的DVD動態(tài)菜單生成方法中,在所述步驟S3中,還包括攔截所述 Directshow播放器的窗口消息,自定義消息響應(yīng)事件,從而在所述Directshow播放器中響 應(yīng)鼠標(biāo)事件。實施本發(fā)明的DVD動態(tài)菜單生成裝置及方法,具有以下有益效果1、既允許用戶 選擇圖片作為菜單背景資源,又允許選擇視頻作為菜單背景資源,且允許對視頻進行時間 裁剪,另外還允許用戶將自制的Slideshow視頻片段作為菜單背景資源;2、將各章節(jié)的視 頻動畫片段在菜單中呈現(xiàn)出來,讓用戶直接可欣賞到個章節(jié)的視頻動畫;3、支持任意形狀 的相框和控制播放按鈕資源,并將各章節(jié)動畫片段按照資源形狀在菜單呈現(xiàn);4、在播放器 窗口中實現(xiàn)編輯功能,允許一邊編輯,一邊實時預(yù)覽到編輯后的播放效果。
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中圖1是本發(fā)明DVD動態(tài)菜單生成裝置的系統(tǒng)框圖;圖2是本發(fā)明DVD動態(tài)菜單生成裝置的流程圖。
具體實施例方式如圖1所示,在本發(fā)明的DVD動態(tài)菜單生成裝置中,其主要包括媒體解析模塊1、菜單頁面顯示模塊2、數(shù)據(jù)源模塊3、播放器模塊4和視頻生成模塊5 ;其中,媒體解析模塊1 用于接收外部輸入的媒體數(shù)據(jù)并分別解析該媒體數(shù)據(jù)中的的圖片數(shù)據(jù)、視頻數(shù)據(jù)和音頻數(shù) 據(jù)。菜單頁面顯示模塊2包括相框單元21、控制播放按鈕單元23及背景單元22 ;該菜單頁 面顯示模塊2是用戶可觀察的DVD菜單頁面,其接收媒體解析模塊1輸入的圖片數(shù)據(jù)、視頻 數(shù)據(jù)和背景音頻數(shù)據(jù),并構(gòu)建菜單音頻數(shù)據(jù)和視頻數(shù)據(jù)。數(shù)據(jù)源模塊3用于接收菜單音頻 數(shù)據(jù)和視頻數(shù)據(jù),根據(jù)指定時間點和視頻格式輸出對應(yīng)時間點的視頻幀數(shù)據(jù),及根據(jù)指定 時間點和音頻格式輸出對應(yīng)時間點的音頻采樣數(shù)據(jù)。播放器模塊4用于從數(shù)據(jù)源模塊3中 讀取一定時間點的視頻數(shù)據(jù)和音頻數(shù)據(jù);其可查看數(shù)據(jù)源模塊3中的對象類型、查看視頻 數(shù)據(jù)和音頻數(shù)據(jù)對象的實際播放時間、查看視頻數(shù)據(jù)和音頻數(shù)據(jù)對象的有效播放時間;由 于播放器采用DirectShow技術(shù)開發(fā),可以降低開發(fā)難度和開發(fā)周期。DirectShow技術(shù)是 微軟提供的Windows平臺多媒體開發(fā)包,以COM為基礎(chǔ)。DirectShow使用FilterGraph的 模型來管理整個數(shù)據(jù)流的處理過程。參與處理的各個功能模塊叫Filter,按功能分3類 Source、Transform、RenderingFilter0 SourceFilter 主要負責(zé)獲取數(shù)據(jù)和前期的處理; TransformFilter負責(zé)數(shù)據(jù)格式的轉(zhuǎn)換和傳輸,主要是負責(zé)解碼;RenderFilter負責(zé)顯示。 各個Filter和應(yīng)用程序的交互靠事件通知機制來完成=Filter狀態(tài)改變時發(fā)出一個事件, 由FilterGraphManager處理或發(fā)給應(yīng)用程序。在采用Directshow技術(shù)實現(xiàn)一個播放器 時,首先我們要構(gòu)造一個SourceFilter,該SourceFilter有兩個輸出Pin,一個用于視頻流 傳輸,一個用于音頻流傳輸,兩個Pin都必須實現(xiàn)FillBuffer函數(shù),該函數(shù)負責(zé)填充視頻流 數(shù)據(jù)和音頻流數(shù)據(jù)。視頻生成模塊5用于編碼數(shù)據(jù)源模塊3發(fā)送的菜單音頻數(shù)據(jù)和視頻數(shù) 據(jù),以生成菜單視頻即DVD格式的視頻,并將該菜單視頻反饋到菜單頁面顯示模塊2進行顯
7J\ ο為了更好利用面向?qū)ο蟮拇a復(fù)用性與多態(tài)性,根據(jù)視頻數(shù)據(jù)、音頻數(shù)據(jù)、圖片 數(shù)據(jù)公共特性抽象出一個多媒體父類,視頻數(shù)據(jù)、音頻數(shù)據(jù)和圖片數(shù)據(jù)分別從多媒體父 類繼承。另外還可將用戶自制的Slideshow視頻,即某個時間片段作為菜單背景資源; Slideshow視頻數(shù)據(jù)是一個內(nèi)部包含一個視頻軌道、多條音頻軌道,甚至還有其它軌道的元 素,視頻軌道上會有多個圖片或視頻元素按照時間順序鏈接起來,每條音頻軌道上會有多 首音樂按照時間順序鏈接起來。由于不同類型的數(shù)據(jù)處理方法不一致,如視頻數(shù)據(jù)既有圖像(多幀圖像)也有音 頻,而音頻數(shù)據(jù)僅有音頻,而圖片數(shù)據(jù)也僅有圖像(單幀或者多幀),因此對于每種類型的 媒體數(shù)據(jù)需要各自的數(shù)據(jù)解析類,即在一優(yōu)選實施例中,媒體解析模塊1包括圖片解析單 元11、視頻解析單元12和音頻解析單元13,其中,圖片解析單元11用于接收和解析圖片數(shù) 據(jù),并將解析后的圖片數(shù)據(jù)發(fā)送到菜單頁面顯示模塊2的相框單元;同樣為了更好利用面 向?qū)ο蟮拇a復(fù)用性與多態(tài)性,根據(jù)圖片解析單元11、視頻解析單元12和音頻解析單元13 公共特性抽象出一個多媒體解析父類,從而圖片解析單元11、視頻解析單元132和音頻解 析單元13分別從多媒體解析父類繼承。為了實現(xiàn)在DirectShow播放器4窗口中實現(xiàn)編輯,可以自由改變各章節(jié)的相框形 狀,并調(diào)整其位置,改變菜單的背景,該DVD動態(tài)菜單生成裝置還包括實時編輯模塊,由于 DirectShow播放器4窗口也是一個Windows窗口,因此實時編輯模塊41只要能得到該窗口 的句柄,就能通過函數(shù)SetWindowLongPtr對該窗口子類化,攔截播放器窗口消息,自定義消息響應(yīng)事件,從而實現(xiàn)在該播放器中響應(yīng)鼠標(biāo)事件,實現(xiàn)實時編輯。DVD動態(tài)菜單生成裝置實現(xiàn)的動態(tài)菜單,既支持圖片背景,還支持視頻及自定義 視頻作為菜單背景,因此非常靈活,能給DVD菜單帶來更精美的視覺動態(tài)效果。另外在 DirectShow播放器4窗口中實時編輯預(yù)覽,不需要編輯后再切換到別的窗口再播放,能給 用戶帶來友好的操作體驗。如圖2所示的DVD動態(tài)菜單生成方法的處理流程,其包括以下步驟Sl 媒體解析模塊分別解析輸入的DVD菜單頁面的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背景音 頻數(shù)據(jù);S2:根據(jù)解析的視頻數(shù)據(jù)和背景音頻數(shù)據(jù),菜單頁面顯示模塊構(gòu)建菜單音頻數(shù)據(jù) 和視頻數(shù)據(jù);S3 =Directshow播放器播放所述菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),視頻生成模塊編碼 所述菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),以生成菜單視頻;在一優(yōu)選實施例中,還可包括攔截所述 Directshow播放器的窗口消息,自定義消息響應(yīng)事件,從而在所述Directshow播放器中響 應(yīng)鼠標(biāo)事件。S4:所述視頻生成模塊反饋所述菜單視頻到所述菜單頁面顯示模塊進行顯示。本發(fā)明是通過幾個具體實施例進行說明的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,在不脫離 本發(fā)明范圍的情況下,還可以對本發(fā)明進行各種變換及等同替代。另外,針對特定情形或具 體情況,可以對本發(fā)明做各種修改,而不脫離本發(fā)明的范圍。因此,本發(fā)明不局限于所公開 的具體實施例,而應(yīng)當(dāng)包括落入本發(fā)明權(quán)利要求范圍內(nèi)的全部實施方式。
權(quán)利要求
一種DVD動態(tài)菜單生成裝置,其特征在于,包括媒體解析模塊,用于分別解析輸入的DVD菜單頁面的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背景音頻數(shù)據(jù);菜單頁面顯示模塊,用于接收所述媒體解析模塊輸入的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背景音頻數(shù)據(jù),并構(gòu)建菜單音頻數(shù)據(jù)和視頻數(shù)據(jù);數(shù)據(jù)源模塊,用于接收菜單頁面顯示模塊發(fā)送的的菜單音頻數(shù)據(jù)和視頻數(shù)據(jù);Directshow播放器,用于播放所述數(shù)據(jù)源模塊發(fā)送的菜單音頻數(shù)據(jù)和視頻數(shù)據(jù);視頻生成模塊,用于編碼所述數(shù)據(jù)源模塊發(fā)送的菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),以生成菜單視頻,并將所述菜單視頻反饋到所述菜單頁面顯示模塊進行顯示。
2.根據(jù)權(quán)利要求1所述的DVD動態(tài)菜單生成裝置,其特征在于,所述菜單頁面顯示模塊 包括相框單元、控制播放按鈕單元及背景單元。
3.根據(jù)權(quán)利要求1所述的DVD動態(tài)菜單生成裝置,其特征在于,所述Directshow播 放器包括實時編輯模塊,用于攔截所述Directshow播放器的窗口消息,自定義消息響應(yīng)事 件,從而在所述Directshow播放器中響應(yīng)鼠標(biāo)事件。
4.根據(jù)權(quán)利要求1 3任一所述的DVD動態(tài)菜單生成裝置,其特征在于,媒體解析模塊 包括圖片解析單元,用于接收和解析圖片數(shù)據(jù),并將解析后的圖片數(shù)據(jù)發(fā)送到所述菜單頁 面顯示模塊的相框單元或背景單元;視頻解析單元,用于接收和解析視頻數(shù)據(jù),并將解析后的視頻數(shù)據(jù)發(fā)送到所述菜單頁 面顯示模塊的相框單元或背景單元;音頻解析單元,用于接收和解析音頻數(shù)據(jù),并將解析后的視頻數(shù)據(jù)發(fā)送到所述菜單頁 面顯示模塊的背景單元;
5.根據(jù)權(quán)利要求1 3任一所述的DVD動態(tài)菜單生成裝置,其特征在于,所述視頻數(shù)據(jù) 包括Slideshow視頻數(shù)據(jù)。
6.一種DVD動態(tài)菜單生成方法,其特征在于,包括以下步驟51媒體解析模塊分別解析輸入的DVD菜單頁面的圖片數(shù)據(jù)、視頻數(shù)據(jù)和背景音頻數(shù)據(jù);52根據(jù)解析的視頻數(shù)據(jù)和背景音頻數(shù)據(jù),菜單頁面顯示模塊構(gòu)建菜單音頻數(shù)據(jù)和視 頻數(shù)據(jù);53=Directshow播放器播放所述菜單音頻數(shù)據(jù)和視頻數(shù)據(jù),視頻生成模塊編碼所述菜 單音頻數(shù)據(jù)和視頻數(shù)據(jù),以生成菜單視頻;S4:所述視頻生成模塊反饋所述菜單視頻到所述菜單頁面顯示模塊進行顯示。
7.根據(jù)權(quán)利要求6所述的DVD動態(tài)菜單生成方法,其特征在于,在所述步驟S3中,還包 括攔截所述Directshow播放器的窗口消息,自定義消息響應(yīng)事件,從而在所述Directshow 播放器中響應(yīng)鼠標(biāo)事件。
全文摘要
本發(fā)明涉及一種DVD動態(tài)菜單生成裝置及方法,該裝置包括媒體解析模塊、數(shù)據(jù)源模塊、Directshow播放器和視頻生成模塊。該DVD動態(tài)菜單生成裝置既允許用戶選擇圖片作為菜單背景資源,又允許選擇視頻作為菜單背景資源,且允許對視頻進行時間裁剪,另外還允許用戶將自制的Slideshow視頻片段作為菜單背景資源;將各章節(jié)的視頻動畫片段在菜單中呈現(xiàn)出來,讓用戶直接可欣賞到個章節(jié)的視頻動畫;支持任意形狀的相框和控制播放按鈕資源,并將各章節(jié)動畫片段按照資源形狀在菜單呈現(xiàn);在播放器窗口中實現(xiàn)編輯功能,允許一邊編輯,一邊實時預(yù)覽到編輯后的播放效果。
文檔編號G11B19/02GK101882451SQ20101013499
公開日2010年11月10日 申請日期2010年3月24日 優(yōu)先權(quán)日2010年3月24日
發(fā)明者萬小通 申請人:深圳市萬興軟件有限公司