專利名稱:一種字幕編輯系統(tǒng)和一種插件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及字幕編播技術(shù)領(lǐng)域,特別是涉及一種字幕編輯系統(tǒng)和一種插件。
背景技術(shù):
字幕一般指以文字形式顯示電視、電影、舞臺作品里面的對話等非影像內(nèi)容,也泛 指影視作品后期加工的文字。例如,影視作品的對話字幕,一般出現(xiàn)在屏幕下方;而戲劇作 品的字幕,則可能顯示于舞臺兩旁或上方。另外,還可以將節(jié)目的語音內(nèi)容以字幕方式顯 示,可以幫助聽力較弱的觀眾理解節(jié)目內(nèi)容。隨著電視事業(yè)的發(fā)展,字幕在電視中的作用越 來越大,日均播出次數(shù)增多,字幕播出的形式多樣,字幕制作也更加精美。在字幕編輯過程中,字幕對象可以分為文字和圖形兩個部分。相對于文字,圖形具 有注目、看讀、誘導(dǎo)等效果,因而,圖形在字幕對象中占的比例越來越大,婚慶、節(jié)假日時播 放的各種圖案煙花,天氣預(yù)報用到的各種封閉或開放曲線等,都是字幕圖形。圖形通常由點、線、面、體等幾何元素和灰度、色彩、線型、線寬等非幾何屬性組成?,F(xiàn)有的字幕編輯系統(tǒng)在制作圖形時,一般會提供一個圖形元素庫,用戶可以從中 調(diào)用所需的圖形元素進行圖形的繪制。但是,庫中的圖形元素一般較有限,例如,只提供基 本的線條、矩形、橢圓、弧形等圖形元素,這樣,在用戶需要繪制自由曲線時,所述圖形元素 庫根本不能滿足需求;或者,在對五角形、心形等復(fù)雜圖形有需求時,用戶不得不逐線繪制 得到所需圖形,嚴重影響圖形制作的效率。因此,需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如何能夠制作出所需 圖形,并且提高圖形制作的效率。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種字幕編輯系統(tǒng)和一種插件,用以制作出滿 足用戶需求的圖形,并提高圖形制作的效率。為了解決上述問題,本發(fā)明公開了一種字幕編輯系統(tǒng),包括字幕制作裝置,所述字 幕制作裝置包括文字制作模塊和圖形制作模塊,其中,所述圖形制作模塊包括接口協(xié)議子模塊,用于開放協(xié)議層接口給插件;以及,加載子模塊,用于在接收到用戶選擇的自定義圖形時,調(diào)用與所述自定義圖形相 應(yīng)的插件,并將圖形繪制及鍵盤鼠標(biāo)操作的控制權(quán)交給該插件。優(yōu)選的,所述圖形制作模塊還包括卸載子模塊,用于在圖形繪制主程序退出時,將已經(jīng)加載的插件卸載,并釋放該插 件所占用的內(nèi)存。優(yōu)選的,所述加載子模塊包括查找單元,用于查找與所述自定義圖形相應(yīng)的插件的地址指針;調(diào)用單元,用于根據(jù)所述地址指針,從所開放的協(xié)議層接口調(diào)用該插件。本發(fā)明還公開了一種插件,包括
圖形描述模塊,用于提供針對用戶所需自定義圖形的關(guān)鍵點描述和控制點描述;接口模塊,用于繼承圖形繪制主程序協(xié)議層的接口,并進行數(shù)據(jù)通信;獲取模塊,用于在接收到圖形繪制主程序?qū)τ脩羲枳远x圖形的調(diào)用時,從圖 形描述模塊獲取相應(yīng)的關(guān)鍵點和控制點信息;顯示模塊,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,在插件界面對所述自定義 圖形進行繪制顯示;一個或多個鉤子,用以捕獲各種鍵盤和鼠標(biāo)消息;以及,計算模塊,用于在鉤子捕獲到改變某個控制點的鍵盤或鼠標(biāo)消息時,重新計算關(guān) 鍵點信息,并在計算完成后觸發(fā)所述顯示模塊。優(yōu)選的,所述顯示模塊包括調(diào)用子模塊,用于調(diào)用系統(tǒng)函數(shù);繪制顯示子模塊,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,將所述自定義圖形 繪制顯示在插件界面。優(yōu)選的,所述顯示模塊包括自定義圖形顯示子模塊,用于根據(jù)插件中相應(yīng)的關(guān)鍵點信息和控制點信息,顯示 所述自定義圖形;控制點顯示子模塊,用于在點擊該自定義圖形時,顯示所述自定義圖形的各個控 制點。優(yōu)選的,所述關(guān)鍵點信息包括多個關(guān)鍵點坐標(biāo)的信息,以及,所述控制點信息包括 一個或多個控制點坐標(biāo)的信息;所述顯示模塊,用于將當(dāng)前光標(biāo)位置作為某個關(guān)鍵點坐標(biāo),并根據(jù)各個關(guān)鍵點坐 標(biāo)和各個控制點坐標(biāo),對該自定義圖形進行顯示。優(yōu)選的,所述計算模塊,用于根據(jù)鉤子捕獲到的所述改變后的控制點坐標(biāo),計算得 到各個關(guān)鍵點的新坐標(biāo),并在計算完成后觸發(fā)所述顯示模塊。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點本發(fā)明采用插件框架對字幕編輯系統(tǒng)的圖形制作功能進行擴展,由于所述插件框 架具有數(shù)據(jù)通信功能、圖形描述功能、繪制顯示和截獲控制點移動信息的功能;而字幕編輯 系統(tǒng)的圖形制作模塊在加載與用戶選擇的自定義圖形相應(yīng)的插件時,將圖形繪制及鍵盤鼠 標(biāo)操作的控制權(quán)交給該插件;因此,相對于現(xiàn)有技術(shù),用戶根本無法繪制一些圖形繪制主程 序不支持的圖形,或者,不得不逐線繪制得到復(fù)雜圖形,本發(fā)明通過在圖形繪制主程序調(diào)用 制作完成的插件,即可繪制顯示出滿足用戶需求的自定義圖形,從而能夠提高圖形繪制的 效率;此外,插件可以根據(jù)截獲得到的控制點移動信息,重新計算關(guān)鍵點信息,以對該自 定義圖形進行重新繪制顯示,因而,本發(fā)明還能夠滿足用戶對該自定義圖形不斷更新的編 輯需求。
圖1是本發(fā)明一種插件實施例1的結(jié)構(gòu)圖;圖2本發(fā)明一種多邊形的示意圖3本發(fā)明一種貝塞爾曲線的示意圖;圖4是本發(fā)明一種矩形控制點的示意圖;圖5是本發(fā)明一種插件實施例2的結(jié)構(gòu)圖;圖6是本發(fā)明一種字幕圖形制作系統(tǒng)實施例的結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實 施方式對本發(fā)明作進一步詳細的說明。在應(yīng)用程序中,常常需要設(shè)計一種框架來適應(yīng)需求的不斷變化。經(jīng)常地,在軟件發(fā) 布之后,用戶需要增加新的功能,或者不同的用戶需要根據(jù)各自特定的需求來定制功能。為 了達到這個目的而無需重寫代碼或者重做“開發(fā)一編譯-測試-發(fā)布”等一系列任務(wù),也 即可以實現(xiàn)一種在不破壞現(xiàn)有代碼的條件下可擴充模塊的框架,而使用插件(Plug-in)框 架可以滿足這一需要。簡單而言,這種插件框架能夠允許應(yīng)用程序軟件在啟動時查找附加的功能模塊并 將其與該應(yīng)用程序軟件整合。許多應(yīng)用程序,例如Microsoft Office,就使用了類似的技術(shù) 來允許第三方開發(fā)者來對已有的應(yīng)用程序進行擴展。本發(fā)明的核心構(gòu)思之一在于,采用插件框架對字幕編輯系統(tǒng)的圖形制作功能進行 擴展,具體而言,在用戶對某圖形有需求時,可以設(shè)計圖形繪制主程序的接口,將該接口公 開,并根據(jù)該接口制作與該圖形相應(yīng)的插件;插件制作完成后,在圖形繪制主程序調(diào)用該插 件即可增加該程序的繪制功能。參照圖1,示出了本發(fā)明一種插件實施例1的結(jié)構(gòu)圖,具體可以包括圖形描述模塊101,用于提供針對用戶所需自定義圖形的關(guān)鍵點描述和控制點描 述;接口模塊102,用于繼承圖形繪制主程序協(xié)議層的接口,并進行數(shù)據(jù)通信;獲取模塊103,用于在接收到圖形繪制主程序?qū)τ脩羲枳远x圖形的調(diào)用時,從 圖形描述模塊獲取相應(yīng)的關(guān)鍵點和控制點信息;顯示模塊104,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,在插件界面對所述自定 義圖形進行繪制顯示;一個或多個鉤子105,用以捕獲各種鍵盤和鼠標(biāo)消息;以及,計算模塊106,用于在鉤子捕獲到改變某個控制點的鍵盤或鼠標(biāo)消息時,重新計算 關(guān)鍵點信息,并在計算完成后觸發(fā)所述顯示模塊。在具體實現(xiàn)中,一種開發(fā)插件的框架示例可以為,使用DLL(動態(tài)鏈接庫)來實現(xiàn) 插件擴展。當(dāng)應(yīng)用程序啟動的時候,在預(yù)設(shè)的目錄中查找符合一定規(guī)范的DLL文件;查找完 成后,應(yīng)用程序使用約定好的接口調(diào)用DLL模塊。本發(fā)明的插件主要具有以下功能A、數(shù)據(jù)通信功能。繼承圖形繪制主程序協(xié)議層的接口以進行插件與主程序之間的 數(shù)據(jù)通信,此功能由接口模塊102來完成;B、圖形描述功能。采用關(guān)鍵點和控制點描述,用來實現(xiàn)提供針對用戶所需自定義 圖形的描述功能,此功能由圖形描述模塊101來實現(xiàn);
C、在接收到圖形繪制主程序的調(diào)用時,顯示模塊104實現(xiàn)的繪制顯示功能;D、在接收到圖形繪制主程序的調(diào)用時,一個或多個鉤子105實現(xiàn)的截獲控制點移 動信息的功能;E、在接收到圖形繪制主程序的調(diào)用時,計算模塊106能夠截獲得到的控制點移動 信息,重新計算關(guān)鍵點信息。圖形描述模塊101、在實際中,所述自定義圖形可以為規(guī)則圖形,如矩形、圓形、五角形等;也可以為不 規(guī)則圖形,如任意多邊形、自由曲線等;既可以為封閉圖形,也可以為開放圖形,本發(fā)明對此 不加以限制。參考圖2,示出了本發(fā)明一種多邊形示例,其中,各頂點為各自多邊形的關(guān)鍵點,2A 為圖2㈧三角形的控制點,2B為圖2(B)矩形的控制點,2C為圖2(C)六邊形的控制點;各 控制點的位置決定相應(yīng)多邊形的大小和形狀。由于具有簡單、快速、變化和設(shè)備無關(guān)性等優(yōu)點,本發(fā)明可以采用貝塞爾曲線描述 所述自定義圖形。貝塞爾(Bezier)曲線是計算機圖形學(xué)中一種重要的多項式參數(shù)曲線,平面中的 任意N(N彡2)個點都可以構(gòu)成一個Bezier曲線,這N個點稱為Bezier曲線的節(jié)點,所述 N個節(jié)點組成的多邊形稱為Bezier曲線的特征多邊形。N次Bezier曲線的參數(shù)方程表示 如下Q(^fjPiBilXt)
/二O其中,Pi表示特征多邊形的節(jié)點,BiJt)是伯恩斯坦多項式,稱為基地函數(shù),可表
示如下 [。。66]參考圖3,示出了一種貝塞爾曲線示例,圖中的曲線為由節(jié)點連接而成的線段組成 的直線或曲線,其中,6個控制點301決定了 5條控制線302,并且,每條控制線302和每個 控制點301的位置決定曲線段的大小和形狀,移動這些因素都將改變曲線的形狀。在制作插件時,可以采用坐標(biāo)描述所述關(guān)鍵點或者控制點,例如,所述關(guān)鍵點描述 可以包括多個關(guān)鍵點坐標(biāo)的描述,以及,所述控制點描述可以包括一個或多個控制點坐標(biāo) 的描述。對于三角形、矩形等多邊形,可以通過各頂點坐標(biāo),計算得到相應(yīng)的控制點坐標(biāo);對 于Bezier曲線的特征多邊形,可依據(jù)各節(jié)點坐標(biāo)及N次Bezier曲線的參數(shù)方程,計算得到 相應(yīng)的控制點坐標(biāo)。顯示模塊104、在實際中,所述顯示模塊的功能可以通過以下子模塊來實現(xiàn)調(diào)用子模塊Al,用于調(diào)用系統(tǒng)函數(shù);繪制顯示子模塊A2,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,將所述自定義圖 形繪制顯示在插件界面。另外,在采用坐標(biāo)描述所述自定義圖形時,所述顯示模塊,還可以用于將當(dāng)前光標(biāo) 位置作為某個關(guān)鍵點坐標(biāo),并根據(jù)各個關(guān)鍵點坐標(biāo)和各個控制點坐標(biāo),對該自定義圖形進行顯不。可以理解,在設(shè)計顯示模塊104時,本領(lǐng)域技術(shù)人員還可以根據(jù)需要,將當(dāng)前光標(biāo) 位置作為某個控制點坐標(biāo),本發(fā)明對此不加以限制。一個或多個鉤子105、在實際中,用戶往往會有這樣的需求,即希望對當(dāng)前顯示的自定義圖形進行編輯 操作,例如,移動該圖形、改變該圖形的大小和形狀等。由于制作的插件中描述的各控制點 的位置決定了相應(yīng)圖形的位置,以及,大小和形狀,因此,用戶可以通過移動控制點,來進行 相應(yīng)的編輯操作。參考圖4,示出了一種矩形控制點示例,其中,4A1、4A2、4A3、4A4分別代表上、下、 左、右四個邊界的拉伸控制點,4B1、4B2、4B3、4B4分別代表左上角、左下角、右下角、右上角 的拉伸控制點,4C代表旋轉(zhuǎn)控制點。這樣,用戶可通過移動4A1-4A4中任意一個控制點來 實現(xiàn)四個邊界的拉伸,通過移動控制點4B1-4B4中任意一個控制點以對四個角進行拉伸操 作,或者,以默認的矩形中心4D為旋轉(zhuǎn)中心,通過移動旋轉(zhuǎn)控制點4C來改變旋轉(zhuǎn)角度,以實 現(xiàn)將該矩形進行旋轉(zhuǎn)的目的。針對上述操作,需要控制窗口提供對插件圖形進行修改、編輯的操作,而在某些特 定編輯環(huán)境下,宿主程序是無法提供合適的窗口的,因而要求插件具有自我編輯的能力,即 維護自身的窗口,進行編輯操作。針對該情況,本發(fā)明在設(shè)計插件時,添加插件鉤子,以捕獲 用戶對該自定義圖形某個控制點的移動信息。Windows系統(tǒng)是建立在事件驅(qū)動的機制上的,也即整個系統(tǒng)都是通過消息的傳遞 來實現(xiàn)的。而鉤子是Windows系統(tǒng)中非常重要的系統(tǒng)接口,用它可以截獲并處理送給其他 應(yīng)用程序的消息,來完成普通應(yīng)用程序難以實現(xiàn)的功能。鉤子可以監(jiān)視系統(tǒng)或進程中的各 種事件消息,截獲發(fā)往目標(biāo)窗口的消息并進行處理。因此,本發(fā)明通過在插件安裝自定義的鉤子,來監(jiān)視系統(tǒng)中特定事件的發(fā)生,完成 特定的功能,比如截獲鍵盤、鼠標(biāo)的輸入,最終達到捕獲用戶對該自定義圖形某個控制點的 移動信息的目的。鉤子的設(shè)計、可以針對一個新建的插件,也可以對一個現(xiàn)有的插件進行編輯。具體可以包括如 下內(nèi)容鉤子名稱在一個插件內(nèi),鉤子的名稱是唯一的,不可重復(fù)。名稱可以由英文字母、 數(shù)字和“_”組成,不支持中文,最長255個字符。為了便于理解和記憶鉤子的作用,名稱應(yīng)當(dāng) 盡量簡潔清晰,能夠表述一定的含義。注意鉤子名稱對字母大小敏感,例如dndexjtart 和index_start將視為兩個不同的鉤子;鉤子類型由于本發(fā)明的鉤子是用來截獲用戶對該自定義圖形某個控制點的移動 信息的,而所述移動信息是通過鍵盤和鼠標(biāo)來實現(xiàn)的;另外,在未選中該自定義圖形的情況 下,各種鍵盤消息和鼠標(biāo)消息是不會引起某個控制點的改變的,因此,本發(fā)明的鉤子類型可 以包括低級鍵盤鉤子和高級鍵盤鉤子,用于監(jiān)視各種鍵盤消息,其中,低級鍵盤鉤子監(jiān)視 的是未選中自定義圖形的情況下的各種鍵盤消息,高級鍵盤鉤子監(jiān)視的是選中自定義圖形 的情況下的各種鍵盤消息;
低級鼠標(biāo)鉤子和高級鼠標(biāo)鉤子,用于監(jiān)視各種鼠標(biāo)消息,其中,低級鼠標(biāo)鉤子監(jiān)視 的是未選中自定義圖形的情況下的各種鼠標(biāo)消息,高級鼠標(biāo)鉤子監(jiān)視的是選中自定義圖形 的情況下的各種鼠標(biāo)消息;鉤子描述對鉤子的詳細說明,如功能介紹、調(diào)用方法、使用方法等;代碼這是鉤子的核心內(nèi)容,也是一段代碼,需要制作者自行設(shè)計,其中這段代碼 記載的是,完成鉤子需要處理的數(shù)據(jù)或者需要執(zhí)行的操作;例如,低級鍵盤鉤子監(jiān)視的是未選中自定義圖形的情況下的各種鍵盤消息,因此, 其對應(yīng)的代碼可以是空操作。又如,高級鼠標(biāo)鉤子監(jiān)視的是選中自定義圖形的情況下的各種鼠標(biāo)消息,其反映 了某個控制點的移動信息,因此,其對應(yīng)的代碼可以是根據(jù)所述移動信息,重新計算關(guān)鍵點 信息的操作。在實際中,所述代碼可以位于計算模塊106中的。對應(yīng)于坐標(biāo)描述關(guān)鍵點和控制點的情形,所述計算模塊106在工作時,可以根據(jù) 鉤子捕獲到的所述改變后的控制點坐標(biāo),計算得到各個關(guān)鍵點的新坐標(biāo),并在計算完成后 觸發(fā)所述顯示模塊。假設(shè),用戶移動了拉伸控制點4A1,由于改變的只是左上關(guān)鍵點和右上關(guān)鍵點的縱 坐標(biāo),且左上關(guān)鍵點和右上關(guān)鍵點的縱坐標(biāo)與拉伸控制點4A1的縱坐標(biāo)相同,因此,各個關(guān) 鍵點的新坐標(biāo)可以很容易得到;又如,用戶移動了拉伸控制點4B1,由于改變的只是左上關(guān) 鍵點、左下關(guān)鍵點以及右上關(guān)鍵點的縱坐標(biāo),且左上關(guān)鍵點和左下關(guān)鍵點的橫坐標(biāo)與拉伸 控制點4B1的橫坐標(biāo)相同,以及,左上關(guān)鍵點和右上關(guān)鍵點的縱坐標(biāo)與拉伸控制點4B1的 縱坐標(biāo)相同,故也可得到各個關(guān)鍵點的新坐標(biāo);再如,用戶移動了選擇控制點4C,無論矩形 如何旋轉(zhuǎn),矩形的中心坐標(biāo)是不會發(fā)生改變的,并且,旋轉(zhuǎn)前后的關(guān)鍵點到中心的距離是不 變的,因此,可以首先根據(jù)中心坐標(biāo)及改變前后的控制點坐標(biāo)計算出該矩形的旋轉(zhuǎn)角度,然 后,依據(jù)所述旋轉(zhuǎn)角度及改變前的關(guān)鍵點坐標(biāo),求解出新坐標(biāo)。對于Bezier曲線的特征多邊形,其各個關(guān)鍵點的新坐標(biāo)獲取過程與上述過程類 似,在此不作贅述??捎妹總€插件允許有多個鉤子,可以自由選擇關(guān)閉或者開啟某個鉤子。鉤子的安放、鉤子設(shè)計完成以后,需要在相應(yīng)的插件程序中安放鉤子,不同鉤子由于作用的不 同,放置的位置也是不同的。安放鉤子,僅需將鉤子的調(diào)用代碼放入相應(yīng)插件即可。鉤子的調(diào)用、鉤子監(jiān)視的特定事件(各種鍵盤、鼠標(biāo)消息事件)發(fā)生后,系統(tǒng)會調(diào)用相應(yīng)的鉤子 代碼進行處理。參照圖5,示出了本發(fā)明一種插件實施例2的結(jié)構(gòu)圖,具體可以包括圖形描述模塊501,用于提供針對用戶所需自定義圖形的關(guān)鍵點描述和控制點描 述;接口模塊502,用于繼承圖形繪制主程序協(xié)議層的接口,并進行數(shù)據(jù)通信;獲取模塊503,用于在接收到圖形繪制主程序?qū)τ脩羲枳远x圖形的調(diào)用時,從 圖形描述模塊獲取相應(yīng)的關(guān)鍵點和控制點信息;顯示模塊504,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,在插件界面對所述自定義圖形進行繪制顯示,所述顯示模塊可以包括自定義圖形顯示子模塊M1,用于根據(jù)插件中相應(yīng)的關(guān)鍵點信息和控制點信息,顯 示所述自定義圖形;控制點顯示子模塊M2,用于在點擊該自定義圖形時,顯示所述自定義圖形的各個 控制點。一個或多個鉤子505,用以捕獲各種鍵盤和鼠標(biāo)消息;以及,計算模塊506,用于在捕獲到改變某個控制點的鍵盤或鼠標(biāo)消息時,重新計算關(guān)鍵 點信息,并在計算完成后觸發(fā)所述顯示模塊。本實施例與實施例1的區(qū)別在于,采用選中才顯示控制點的方式,對顯示模塊504 進行設(shè)計,也即,先由自定義圖形顯示子模塊541顯示該自定義圖形,再由控制點顯示子模 塊542顯示各個控制點。在具體實現(xiàn)中,可以在插件中設(shè)計一個事件鉤子,用以捕獲用戶對該自定義圖形 的選中事件,其中,該事件鉤子的代碼可以為該自定義圖形中每個控制點的顯示操作代碼。可以理解,還可以采用該自定義圖形和各個控制點同時顯示的方式,對顯示模塊 504進行設(shè)計,本發(fā)明對此不加以限制。對于實施例2而言,由于其與圖1所示的實施例1基本相似,所以描述的比較簡 單,相關(guān)之處參見實施例1的部分說明即可。參照圖6,示出了本發(fā)明一種字幕編輯系統(tǒng)實施例的結(jié)構(gòu)圖,具體可以包括字幕制 作裝置6A,所述字幕制作裝置6A可以包括文字制作模塊61和圖形制作模塊62,其中,所述 圖形制作模塊62可以進一步包括接口協(xié)議子模塊621,用于開放協(xié)議層接口給插件;以及,加載子模塊622,用于在接收到用戶選擇的自定義圖形時,調(diào)用與所述自定義圖形 相應(yīng)的插件,并將圖形繪制及鍵盤鼠標(biāo)操作的控制權(quán)交給該插件。接口協(xié)議子模塊621、在具體實現(xiàn)中,通信子模塊621可以將圖形繪制主程序協(xié)議層的一些編程接口開 放給插件,以方便該程序與插件間進行數(shù)據(jù)通信。例如,可以將圖形繪制主程序分模塊、分 層,并分別封裝DLL(動態(tài)鏈接庫,Dynamic LinkLibrary)文件,然后,將DLL文件的頭文件 提供給相應(yīng)的插件即可。加載子模塊622、加載子模塊622的主要功能是,在用戶選擇某自定義圖形時,將圖形繪制及鍵盤 鼠標(biāo)操作的控制權(quán)交給該插件。在本發(fā)明的一種優(yōu)選實施例中,加載子模塊622可以包括查找單元,用于查找與所述自定義圖形相應(yīng)的插件的地址指針;調(diào)用單元,用于根據(jù)所述地址指針,從所開放的協(xié)議層接口調(diào)用該插件。例如,可以在圖形繪制主程序初始化后,首先該主程序的OnJnitO函數(shù)在指定 的目錄中查找與所選擇的自定義圖形相應(yīng)的DLL文件,例如,plug-in目錄,然后該主程序 使用LoadLibraryO函數(shù)調(diào)用該DLL文件。在加載所選擇的自定義圖形相應(yīng)的DLL文件時,還可以指定加載路徑,例如,將該 自定義圖形直接加載到當(dāng)前程序的圖形元素庫中,供用戶調(diào)用;為使該自定義圖形與已有的圖形元素區(qū)別開來,可對其進行特殊命名。在本發(fā)明的一種優(yōu)選實施例中,所述圖形制作模塊還可以包括卸載子模塊,用于在圖形繪制主程序退出時,將已經(jīng)加載的插件卸載,并釋放該插 件所占用的內(nèi)存。例如,主程序使用FreeLibrary ()函數(shù)卸載該DLL文件,并釋放其所占用的內(nèi)存。本發(fā)明的圖形制作模塊將圖形繪制及鍵盤鼠標(biāo)操作的控制權(quán)交給該插件;而插件 具有包括關(guān)鍵點描述和控制點描述的圖形描述、數(shù)據(jù)通信、截獲控制點移動信息和繪制顯 示的功能;因此,相對于現(xiàn)有技術(shù),用戶根本無法繪制一些圖形繪制主程序圖形繪制主程序 不支持的圖形,或者,不得不逐線繪制得到復(fù)雜圖形,本發(fā)明在用戶對某圖形有需求時,可 以制作與該圖形相應(yīng)的插件,然后,在圖形繪制主程序圖形繪制主程序調(diào)用制作完成的插 件,即可繪制出滿足用戶需求的圖形,從而能夠提高圖形繪制的效率。對于字幕編輯系統(tǒng)實施例而言,由于其與插件實施例基本相似,所以描述的比較 簡單,相關(guān)之處參見插件實施例的部分說明即可。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與 其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。本發(fā)明可以應(yīng)用于廣電行業(yè)電視節(jié)目制播機構(gòu)的字幕編播領(lǐng)域,用以增加現(xiàn)有字 幕編輯系統(tǒng)的圖形制作功能,制作出滿足用戶需求的圖形,從而提高圖形制作的效率。以上對本發(fā)明所提供的一種字幕編輯系統(tǒng)和一種插件,進行了詳細介紹,本文中 應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助 理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想, 在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本 發(fā)明的限制。
權(quán)利要求
1.一種字幕編輯系統(tǒng),其特征在于,包括字幕制作裝置,所述字幕制作裝置包括文字制 作模塊和圖形制作模塊,其中,所述圖形制作模塊包括接口協(xié)議子模塊,用于開放協(xié)議層接口給插件;以及,加載子模塊,用于在接收到用戶選擇的自定義圖形時,調(diào)用與所述自定義圖形相應(yīng)的 插件,并將圖形繪制及鍵盤鼠標(biāo)操作的控制權(quán)交給該插件。
2.如權(quán)利要求1所述的字幕編輯系統(tǒng),其特征在于,所述圖形制作模塊還包括卸載子模塊,用于在圖形繪制主程序退出時,將已經(jīng)加載的插件卸載,并釋放該插件所 占用的內(nèi)存。
3.如權(quán)利要求1所述的字幕編輯系統(tǒng),其特征在于,所述加載子模塊包括查找單元,用于查找與所述自定義圖形相應(yīng)的插件的地址指針;調(diào)用單元,用于根據(jù)所述地址指針,從所開放的協(xié)議層接口調(diào)用該插件。
4.一種插件,其特征在于,包括圖形描述模塊,用于提供針對用戶所需自定義圖形的關(guān)鍵點描述和控制點描述;接口模塊,用于繼承圖形繪制主程序協(xié)議層的接口,并進行數(shù)據(jù)通信;獲取模塊,用于在接收到圖形繪制主程序?qū)τ脩羲枳远x圖形的調(diào)用時,從圖形描 述模塊獲取相應(yīng)的關(guān)鍵點和控制點信息;顯示模塊,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,在插件界面對所述自定義圖形 進行繪制顯示;一個或多個鉤子,用以捕獲各種鍵盤和鼠標(biāo)消息;以及,計算模塊,用于在鉤子捕獲到改變某個控制點的鍵盤或鼠標(biāo)消息時,重新計算關(guān)鍵點 信息,并在計算完成后觸發(fā)所述顯示模塊。
5.如權(quán)利要求4所述的插件,其特征在于,所述顯示模塊包括調(diào)用子模塊,用于調(diào)用系統(tǒng)函數(shù);繪制顯示子模塊,用于根據(jù)相應(yīng)的關(guān)鍵點信息和控制點信息,將所述自定義圖形繪制 顯示在插件界面。
6.如權(quán)利要求4所述的插件,其特征在于,所述顯示模塊包括自定義圖形顯示子模塊,用于根據(jù)插件中相應(yīng)的關(guān)鍵點信息和控制點信息,顯示所述 自定義圖形;控制點顯示子模塊,用于在點擊該自定義圖形時,顯示所述自定義圖形的各個控制點。
7.如權(quán)利要求4所述的插件,其特征在于,所述關(guān)鍵點信息包括多個關(guān)鍵點坐標(biāo)的信 息,以及,所述控制點信息包括一個或多個控制點坐標(biāo)的信息;所述顯示模塊,用于將當(dāng)前光標(biāo)位置作為某個關(guān)鍵點坐標(biāo),并根據(jù)各個關(guān)鍵點坐標(biāo)和 各個控制點坐標(biāo),對該自定義圖形進行顯示。
8.如權(quán)利要求7所述的插件,其特征在于,所述計算模塊,用于根據(jù)鉤子捕獲到的所述 改變后的控制點坐標(biāo),計算得到各個關(guān)鍵點的新坐標(biāo),并在計算完成后觸發(fā)所述顯示模塊。
全文摘要
本發(fā)明提供了一種字幕編輯系統(tǒng)和一種插件,其中的字幕編輯系統(tǒng)包括字幕制作裝置,所述字幕制作裝置包括文字制作模塊和圖形制作模塊,其中,所述圖形制作模塊包括接口協(xié)議子模塊,用于開放協(xié)議層接口給插件;以及,加載子模塊,用于在接收到用戶選擇的自定義圖形時,調(diào)用與所述自定義圖形相應(yīng)的插件,并將圖形繪制及鍵盤鼠標(biāo)操作的控制權(quán)交給該插件。本發(fā)明用以制作出滿足用戶需求的圖形,并提高圖形制作的效率。
文檔編號H04N5/262GK102075693SQ200910238540
公開日2011年5月25日 申請日期2009年11月25日 優(yōu)先權(quán)日2009年11月25日
發(fā)明者劉衡娜, 吳正斌, 孫季川, 鄭培楓, 陳麗愛 申請人:新奧特(北京)視頻技術(shù)有限公司