專利名稱:一種基于虛擬容器的電視字幕編輯和播出方法
技術(shù)領(lǐng)域:
本發(fā)明涉及廣電領(lǐng)域電視節(jié)目制播技術(shù),具體涉及一種基于虛擬容器的 電視字幕編輯和播出方法。
背景技術(shù):
電視字幕編播技術(shù)在廣播電視行業(yè)的技術(shù)發(fā)展中占有重要的地位,基于 計算機技術(shù)的電視圖文制作和播出設(shè)備是廣電行業(yè)數(shù)字化的重要組成部分。 基于計算機技術(shù)的電視圖文制作和播出系統(tǒng)大致經(jīng)歷了簡單二維平面字幕、 具備質(zhì)感動感的二維圖文、高質(zhì)量二維與三維圖形完整融合等幾個階段。圖 形字幕系統(tǒng)的應(yīng)用覆蓋了電視節(jié)目的方方面面,包括新聞直播類節(jié)目、演播 室訪談類節(jié)目、綜藝晚會類節(jié)目、體育直播類節(jié)目、財經(jīng)資訊類節(jié)目、氣象
地理類節(jié)目以及電影電視劇節(jié)目的制作與播出;應(yīng)用的場合既有直播也有后 期制作,應(yīng)用的崗位包括編輯域、演播室和播出線。
隨著電視事業(yè)的發(fā)展,字幕在電視中的作用越來越大,日均播出次數(shù)增 多,字幕播出的形式多樣,字幕制作也更加精美。
無論針對哪種節(jié)目類型,無論在哪種應(yīng)用場合下,編輯創(chuàng)作的方便快捷 性和播出內(nèi)容的正確性、安全性一直是一個字幕產(chǎn)品追求的目標(biāo)。但是在現(xiàn) 有的所有字幕產(chǎn)品中,都存在一些讓使用者非常困惑的地方
第一,在同一個物理位置編輯創(chuàng)作多個字幕對象時,字幕對象的選擇非 常麻煩。在現(xiàn)有的所有字幕產(chǎn)品中,編輯創(chuàng)作窗口都是基于以下原則來顯示 其中的字幕對象的根據(jù)這些字幕對象在列表中的先后順序按照一定的算法 進行混合,最終將混合的結(jié)果顯示在編輯創(chuàng)作窗口中。對這些字幕對象的編 輯操作都是基于以下原則的所有的編輯操作都是針對選中的字幕對象,所 以要想對一個字幕對象進行編輯操作,首先要使用鼠標(biāo)點擊選中這個字幕對 象。其中操作的類型有矢量調(diào)節(jié)、面邊影等靜態(tài)渲染屬性調(diào)節(jié)、位置移動、 大小縮放、旋轉(zhuǎn)、位置對齊、圖元編組、圖元解組等。而由于在同一個物理位置存在諸多的對象,要想選中任意一個對象,都會變得非常麻煩。在圖1 中,有四個字幕對象,分別是橢圓對象、鏡框?qū)ο蟆⑽谋緦ο蠛途匦螌ο螅?它們的物理位置基本相同,按照前后順序關(guān)系進行混合后顯示在實際的編輯 創(chuàng)作窗口中。在使用鼠標(biāo)進行點選時,按照光標(biāo)點所處的位置,總是選中同 一個圖元,無法選中其他的圖元?,F(xiàn)在通常的辦法是借助于圖元列表選中某 個對象,然后拖動到其他區(qū)域進行屬性編輯,最后再拖放回來,但是還需要 重新確定位置。這給圖元的編輯操作帶來很大的不便。
第二,由于這些字幕對象的物理位置相同,通過前后順序關(guān)系進行混合 后,將最終混合結(jié)果顯示在創(chuàng)作窗口中,在調(diào)節(jié)某一個對象的靜態(tài)渲染屬性 時,無法看到字幕對象的全部。例如在圖l所示的例子中,只能在創(chuàng)作窗口
中看到"橢圓,,這個字幕對象的四周邊界的渲染情況,"橢圓,,的面#:其他 對象遮擋住了。要想看到"橢圓"對象的全貌,必須將這個對象移動到其他 地方,調(diào)節(jié)完面邊影等靜態(tài)渲染后,再移動到原來的位置。在實際的字幕創(chuàng) 作中,這也使得制作的效率大大降低,而且容易造成誤操作。
第三,在進行字幕播出時, 一般會按照字幕順序進行播出,即對象l導(dǎo) 入一—對象1停留一—對象l導(dǎo)出一—對象2導(dǎo)入一—對象2停留一—對象2 導(dǎo)出一~ ……一~^對象N導(dǎo)入一~^對象N停留一"^對象N導(dǎo)出。在這種播出模 式下,要求每個字幕對象都要設(shè)置"導(dǎo)出"特技方式,否則就會出現(xiàn)兩個對象 疊加在一起的錯誤的效果。
由此可見,解決同一物理位置的多圖元編輯和播出的問題,對于提高字幕 系統(tǒng)的字幕編輯操作的方便性和效率,以及^是高字幕播出的正確性和安全性是 非常重要的。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對上述電視字幕系統(tǒng)同一個物理位置上存在多圖元時 所帶來的編輯和播出的問題,提供一種基于虛擬容器的電視字幕編輯和播出方 法,該方法能夠提高字幕編輯操作的方便性和效率,并能夠提高字幕播出的正 確性和安全性。
本發(fā)明的技術(shù)方案如下 一種基于虛擬容器的電視字幕編輯和播出方法,
6該方法在字幕系統(tǒng)中創(chuàng)建虛擬容器對象,每個虛擬容器對象包含若干個實際字
幕對象,所述字幕對象均位于虛擬容器對象所占據(jù)的物理區(qū)域之內(nèi);在對每個 虛擬容器對象中的字幕對象進行渲染時,只對當(dāng)前可見的字幕對象進行渲染操 作,其它位于虛擬容器中的字幕對象直接跳過;通過觸發(fā)機制將虛擬容器中的 各個字幕對象依次切換為當(dāng)前可見的字幕對象,并對其進行渲染操作;當(dāng)字幕 隊列中所有的字幕對象都渲染完畢后,將最終的渲染結(jié)果繪制到窗口上。
進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,所 述的創(chuàng)建虛擬容器對象的方法有兩種
一、 在字幕系統(tǒng)中手動繪制一個物理區(qū)域,根據(jù)此區(qū)域創(chuàng)建一個虛擬容 器,虛擬容器的屬性包括容器名稱、物理區(qū)域、對象觸發(fā)器、對象探測器、 當(dāng)前可見的字幕對象、導(dǎo)入特技、導(dǎo)出特技,將"導(dǎo)入特技"和"導(dǎo)出特技" 都默認(rèn)為"快切";
二、 選中若干位于同一個區(qū)域的多個實際字幕對象,創(chuàng)建一個虛擬容器, 虛擬容器的屬性包括容器名稱、物理區(qū)域、對象觸發(fā)器、對象探測器、當(dāng) 前可見的字幕對象、導(dǎo)入特技、導(dǎo)出特技;把這些字幕對象的最大幾何包圍 盒的并集作為這個虛擬容器的"物理區(qū)域"屬性的值,把這些字幕對象共有 的特技方式作為這個虛擬容器的"導(dǎo)入特技"和"導(dǎo)出特技"屬性。
更進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中, 所述的物理區(qū)域是一個矩形區(qū)域,或者是任意一個不規(guī)則的封閉區(qū)域。
更進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中, 所述的對象觸發(fā)器包括數(shù)據(jù)、顯示圖標(biāo)和消息響應(yīng)函數(shù)三部分,數(shù)據(jù)為指向 虛擬容器中的當(dāng)前可見字幕對象的指針,顯示圖標(biāo)顯示在虛擬容器的左上角,
包括"向前切換"、"索引切換,,和"向后切換"三種圖標(biāo)。
更進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,
所述的對象探測器包括自動吸附和自動移出兩個功能,對象探測器定義了自
動吸附的面積閥值F和自動移出的面積閥值M, F和M是兩個百分比數(shù)值。 更進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,
所述的導(dǎo)入特技是指一個字幕對象以何種方式展現(xiàn)到電視屏幕上;所述的導(dǎo)
出特技是指 一 個字幕對象以何種方式從電視屏幕上消失。進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,
對字幕隊列中的字幕對象進行渲染的步驟如下 (1 )準(zhǔn)備一個渲染緩沖區(qū)RenderBuffer;
(2) 從字幕隊列中取出第一個字幕對象;
(3) 判斷這個字幕對象是否屬于某一個虛擬容器,如果不屬于任何一 個虛擬容器,則將此字幕對象渲染到RenderBuffer中;
(4) 如果這個字幕對象屬于某一個虛擬容器,再判斷這個字幕對象是 否是這個虛擬容器的當(dāng)前可見字幕對象,如果是當(dāng)前可見字幕對象,則將此 對象渲染到RenderBuffer中,如果不是則直接跳過;
(5) 從字幕隊列中取出下一個字幕對象,重復(fù)步驟(3)。 更進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,
在整個字幕隊列中, 一個虛擬容器中的字幕對象的先后順序靈活設(shè)置,既能選 擇連續(xù)排列,也能選擇穿插在其它字幕對象之間排列。
進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,當(dāng) 虛擬容器外的一個普通字幕對象被移動到一個虛擬容器所涵蓋的物理區(qū)域內(nèi)
后,該普通字幕對象將被設(shè)置為虛擬容器內(nèi)的當(dāng)前可見字幕對象;普通字幕對 象被移動到一個虛擬容器所涵蓋的物理區(qū)域內(nèi)是指這個字幕對象的包圍盒矩形 已經(jīng)有超過自動吸附面積閥值F的部分位于虛擬容器的物理區(qū)域內(nèi)。
進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,當(dāng) 虛擬容器中的字幕對象移出所在虛擬容器的物理區(qū)域后,虛擬容器將自動從其 中將該字幕對象放到普通字幕對象鏈表中,同時更新虛擬容器中的當(dāng)前可見字 幕對象;字幕對象移出所在虛擬容器的物理區(qū)域是指這個字幕對象的包圍盒矩 形已經(jīng)有超過自動移出面積閥值M的部分位于虛擬容器的矩形區(qū)域外。
進一步,如上所述的基于虛擬容器的電視字幕編輯和播出方法,其中,在 虛擬容器對象的表面繪制有一些網(wǎng)格線,用戶根據(jù)網(wǎng)格線對虛擬容器中的多個 字幕對象進行上對齊、下對齊、左對齊、右對齊、水平居中、垂直居中的操作。本發(fā)明的有益效果如下本發(fā)明模擬現(xiàn)實世界中的"圖書"和"容器"的 關(guān)系,提出了一種"虛擬容器對象"的概念,以此來解決電視字幕系統(tǒng)同一個 物理位置上存在多圖元所帶來的編輯和播出的問題。通過本發(fā)明所提出的方法, 應(yīng)用虛擬容器對象對其他字幕對象進行有效的管理,提高了字幕編輯操作的方 便性和效率,同時也提高了字幕播出的正確性和安全性。
圖1為位于同一物理位置的多個圖元的示意圖2為虛擬容器對象及其屬性的結(jié)構(gòu)示意圖3為基于虛擬容器的字幕對象隊列管理方式示意圖4為基于虛擬容器的字幕對象渲染流程圖5為虛擬容器對象觸發(fā)器的工作流程圖6為虛擬容器對象探測器對象自動吸附的工作流程圖7為虛擬容器對象探測器對象自動移出的工作流程圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明進行詳細的描述。
本發(fā)明涉及到的虛擬容器對象指的是一種特殊類型的虛擬字幕對象,其 中包含著若干其他的實際字幕對象,這些字幕對象位于虛擬容器所占據(jù)的物 理區(qū)i或之內(nèi)。
虛擬容器的結(jié)構(gòu)示意圖如圖2所示, 一個虛擬容器包括如下的屬性容 器名稱、物理區(qū)域、對象觸發(fā)器、對象探測器、當(dāng)前可見的字幕對象、導(dǎo)入 特技、導(dǎo)出特技。
1. "容器名稱"主要用來區(qū)別一個字幕隊列中的多個容器。
2. "物理區(qū)域"屬性既可以是一個矩形的區(qū)域,也可以是任意一個不規(guī) 則的封閉區(qū)域。虛擬容器的物理區(qū)域是由虛擬容器的所有字幕對象的最大包 圍盒矩形組成的。實際上, 一個虛擬容器的物理區(qū)域包括一個"矩形區(qū)域" 和一個"不規(guī)則區(qū)域,,。"矩形區(qū)域"的計算方法采用集合運算中的Union
算子將所有字幕對象的最大包圍盒矩形"并"在一起;"不規(guī)則區(qū)域"則是將這些包圍盒矩形的外圍邊界組合在一起,構(gòu)成一個每條邊的夾角都是90
度的多邊形。由此可見,矩形區(qū)域包含不規(guī)則區(qū)域,前者的面積大于等于后
者。在虛擬容器的具體實現(xiàn)中,將二者用在不同的場合"矩形區(qū)域,,主要 使用在對象觸發(fā)器的圖標(biāo)繪制、對象探測器的探測依據(jù)、虛擬容器網(wǎng)格繪制 等方面,在這些用途中,都只涉及到窗口自身的繪制,不會涉及到字幕對象 的渲染;"不規(guī)則區(qū)域"主要用在虛擬容器中當(dāng)前字幕對象的渲染區(qū)域,由 于其面積小于矩形區(qū)域,因此可以提高字幕創(chuàng)作窗口的刷新效率,提高系統(tǒng) 的字幕編輯響應(yīng)速度。
3."對象觸發(fā)器"是虛擬容器的一個功能項,主要用來選擇容器中不同的 字幕對象。對象觸發(fā)器包括了 "數(shù)據(jù)"、"顯示圖標(biāo),,和"消息響應(yīng)函數(shù),,三部 分?jǐn)?shù)據(jù)是指向虛擬容器中的當(dāng)前可見對象的指針;顯示圖標(biāo)顯示在虛擬容器 的左上角,具體表現(xiàn)為"向前切換"、"索引切換,,和"向后切換,,三種圖標(biāo); 消息響應(yīng)函數(shù)實現(xiàn)來自內(nèi)部(繪制)和外部(鍵盤和鼠標(biāo))的各種操作的消息 響應(yīng),消息響應(yīng)函數(shù)根據(jù)具體的操作類型確定,涵蓋了對一個字幕對象的必要 操作,本領(lǐng)域的技術(shù)人員可根據(jù)需要進行編定。
在虛擬容器繪制時,在繪制完當(dāng)前可見對象之后,將根據(jù)對象觸發(fā)器的數(shù) 據(jù),在虛擬容器的左上角繪制出三個圖標(biāo)按鈕。但是,這三個圖標(biāo)并不繪制在 字幕對象的內(nèi)存中,而是直接繪制在字幕創(chuàng)作窗口中。也就是iJt,對象觸發(fā)器 只出現(xiàn)在計算機的顯示器上,而不會出現(xiàn)在字幕最終輸出的視頻監(jiān)視器上。當(dāng) 用戶使用鍵盤的快捷鍵(如PageDn或者PageUp)或者鼠標(biāo)點擊對象觸發(fā)器時, 對象觸發(fā)器將根據(jù)消息類型對其中的數(shù)據(jù)(即當(dāng)前可見對象)進行更新,并將 最新的可見對象通知給虛擬容器。例如,當(dāng)點擊"向前切換"圖標(biāo)時,對象觸 發(fā)器將進行如下操作
(1) 在字幕隊列中,定位當(dāng)前可見對象的指針D;
(2) 在字幕隊列中,查找位于字幕對象D前面一個對象P,而且這個對象屬 于這個虛擬容器;
(3) 對象觸發(fā)器將P設(shè)置為當(dāng)前可見對象,同時通知虛擬容器將這個對 象渲染出來。
在一個虛擬容器中,只能看到其中的一個字幕對象,即當(dāng)前可見的字幕
10對象,本發(fā)明通過對象觸發(fā)器來快速的切換當(dāng)前的可見字幕對象。通過在虛
擬容器對象表面上繪制一個直觀指示符(Indicator )來快速選擇虛擬容器中 字幕對象。圖5表示了虛擬容器的對象觸發(fā)器的工作過程。
4."對象探測器"是虛擬容器對象用來自動管理其中的字幕對象的一種 機制。包括自動吸附和自動移出兩個功能
(1) 首先在虛擬容器中設(shè)定三個選項第一,是否啟用自動探測功能; 第二,自動吸附的面積閥值F;第三,自動移出的面積閥值M。 F和M是兩個 百分比數(shù)值,具體數(shù)值可以根據(jù)對系統(tǒng)的要求來確定,如70%、 80%、 90% 等等。如果第一個選項未被選中,則對象探測器不工作,后兩者選項無效。 在這種情況下,只能使用其他的功能項將一個字幕對象納入到一個虛擬容器 中,或者從中移出。下面的描述是基于已經(jīng)啟用了自動探測功能。
(2) 用戶在字幕創(chuàng)作窗口中使用鼠標(biāo)進行容器外的字幕對象的拖拽
(Drag & Drop )操作時,當(dāng)這個字幕對象的包圍盒矩形已經(jīng)有超過自動吸附 面積閥值F的部分位于虛擬容器的矩形區(qū)域內(nèi)時,虛擬容器就將這個字幕對 象納入其中,并設(shè)定為當(dāng)前可見對象。假定虛擬容器的矩形區(qū)域為X,字幕 對象的包圍盒矩形為Y,貝'J: if ((X n Y)/Y >= F)
將這個字幕對象裝入虛擬容器,并設(shè)置為當(dāng)前可見對象,同時要更新 這個虛擬容器的矩形區(qū)域和不規(guī)則區(qū)域的值。
(3)在用戶使用鼠標(biāo)拖拽容器內(nèi)的當(dāng)前可見字幕對象進行操作時,當(dāng)這 個字幕對象的包圍盒矩形已經(jīng)有超過自動移出面積閥值M的部分位于虛擬容 器的矩形區(qū)域外時,虛擬容器就將這個字幕對象從中移出,并將容器中的下 一個對象設(shè)置為當(dāng)前可見對象。假定虛擬容器的矩形區(qū)域為X,字幕對象的 包圍盒矩形為Y,貝'J:
if ((Y - (X n Y)) /Y >= M)
if (容器中還有字幕對象)
li將這個字幕對象移出虛擬容器,并將容器中的下 一個對象設(shè)置為 當(dāng)前可見對象,同時要更新這個虛擬容器的矩形區(qū)域和不規(guī)則區(qū) 域的值。
將虛擬容器的當(dāng)前可見對象設(shè)置為NULL,然后刷新虛擬容器的 矩形區(qū)域。
基于對象探測器的自動吸附和移出機制,本發(fā)明對容器中的字幕對象進 行智能管理。通過該技術(shù),可以將一些字幕對象自動的納入或者移出當(dāng)前的 虛擬容器,無需通過手工設(shè)置的方法。當(dāng)容器外的一個普通字幕對象被移動 到一個虛擬容器所在的物理區(qū)域內(nèi)之后,這個虛擬容器對象將自動將這個普 通字幕對象"裝"到該容器之中,并將這個字幕對象設(shè)置為當(dāng)前可見對象。 反之,當(dāng)虛擬容器中的字幕對象移出所在區(qū)域后,虛擬容器將自動從其中將 該字幕對象移出容器,放到普通字幕對象鏈表中,同時要更新這個容器中的 當(dāng)前可見對象。在進行自動吸附和自動移出的過程中,不會改變所有字幕對 象在總的字幕隊列中的前后順序關(guān)系。圖6和圖7分別表示虛擬容器的對象 探測器的自動吸附和自動移出的工作過程。
5."當(dāng)前可見的字幕對象"是指在虛擬容器中當(dāng)前處于活動狀態(tài)的字幕 對象, 一個虛擬容器中有且只有一個"當(dāng)前可見的字幕對象"。
將一個普通字幕對象設(shè)置為虛擬容器中的當(dāng)前可見的字幕對象的方法有兩 種第一,通過虛擬容器的對象探測器的自動吸附功能;第二,強行通過功能 項來設(shè)定。前者已經(jīng)在上文中進行了介紹,下面對第二種情況進行一下描述。
(1) 選中一個字幕對象P;
(2) 通過鼠標(biāo)或鍵盤消息,調(diào)用這個字幕對象P的"裝入虛擬容器功能"(LaunchToVirtualContainer);
(3) LaunchToVirtualContainer會根據(jù)字幕對象P的矩形包圍盒,計算出 來P可以裝入的所有虛擬容器,并根據(jù)用戶的選擇進行對象裝入。實現(xiàn)步驟如 下
a. 遍歷當(dāng)前所有的虛擬容器對象,根據(jù)它們的物理區(qū)域與字幕對象P的矩 形包圍盒相交的情況(根據(jù)一個閥值進行判斷),確定字幕對象P是否可以裝入 其中,這樣以來就得到了一個虛擬容器列表;
b. 如果字幕對象P本身屬于一個容器,則從上面得到的虛擬容器列表中將 這個虛擬容器刪除。最終就得到了字幕對象P可以裝入的虛擬容器列表L;
c. 將上面的虛擬容器列表L顯示在一個ListBox中,供用戶選擇;
d. 當(dāng)用戶從L中選擇一個虛擬容器后C后,進行對象的一系列相關(guān)操作 將字幕對象P裝入到C中,并設(shè)置成C的當(dāng)前可見的字幕對象,然后更新C 的物理區(qū)域,并完成該區(qū)域的刷新;如果字幕對象P原來屬于一個虛擬容器 D,還要從D中將字幕對象P移出,然后重新計算D的當(dāng)前可見字幕對象,更 新D的物理區(qū)域,并完成該區(qū)域的刷新。
6."導(dǎo)入特技,,和"導(dǎo)出特技"屬性是虛擬容器對象的播出特技,如果 容器中的某個字幕對象沒有設(shè)置特技方式,那么它將繼承容器中的"導(dǎo)入特 技"和"導(dǎo)出特技,,,這樣以來,就無須為容器中的每個對象都進行特技方 式的設(shè)置,在進行播出時,不必?fù)?dān)心出現(xiàn)對象之間相互混疊的問題。
導(dǎo)入特技指的是該字幕對象以何種方式展現(xiàn)到電視屏幕上,導(dǎo)出特技指 的是該字幕對象以何種方式從電視屏幕上消失。對于一個字幕對象來說,可 以采用不同的導(dǎo)入特技和導(dǎo)出特技。其種類取決于一個具體字幕系統(tǒng)對特技 方式的實現(xiàn)。常見的有快切、淡入淡出、水波、巻頁、排隊、滾動、劃像、 擴展、旗飄、碎裂、二維空間變換、三維空間變換等。
在虛擬容器中定義導(dǎo)入特技和導(dǎo)出特技主要是為了方便其中對象的特技 設(shè)置。例如在一個擁有上百句甚至上千句字幕對象的唱詞(如人物對白、歌 詞)容器中,對于具有大量參數(shù)的特技來說,為每一句唱詞都設(shè)定出入特技 方式是非常繁瑣的,而且對于新"裝進"容器的一句唱詞來說,如果忘記了 設(shè)定特技方式,在實際播出時就會導(dǎo)致出錯。因此在虛擬容器中設(shè)定導(dǎo)入和導(dǎo)出特技作為其中字幕對象共有的播出方式。當(dāng)然,為了字幕播出的靈活性,也允許容器中的對象可以按照自己的特 技方式播出通過在虛擬容器中設(shè)置一個"是否使用統(tǒng)一的特技方式"的選 項來解決這個問題。虛擬容器的導(dǎo)入特技和導(dǎo)出特技的參數(shù)設(shè)定方法與其他 字幕對象完全相同。虛擬容器對象的創(chuàng)建有如下兩種途徑(1) 象創(chuàng)建其他字幕對象一樣,手動繪制一個物理區(qū)域,根據(jù)此區(qū)域創(chuàng)建一個虛擬容器,"導(dǎo)入特技"和"導(dǎo)出特技"都默認(rèn)為"快切";(2) 選中若干位于同一個區(qū)域的多個實際字幕對象,自動創(chuàng)建一個虛擬 容器對象。把這些字幕對象的最大幾何包圍盒的并集(Union )作為這個虛擬 容器的"物理區(qū)域"屬性的值,把這些字幕對象共有的特技方式作為這個虛 擬容器的"導(dǎo)入特技"和"導(dǎo)出特技"屬性。本發(fā)明涉及到的基于虛擬容器的字幕對象渲染技術(shù)的實現(xiàn)方法是在對 于虛擬容器中的N個字幕對象進行靜態(tài)渲染時,只需要對當(dāng)前可見的字幕對 象進行渲染,其他的字幕對象可以跳過。這樣以來,就大大提高了字幕系統(tǒng) 的編輯效率。渲染的步驟是遍歷整個字幕對象,對每個對象進行處理,具體流程如圖 4所示第一步準(zhǔn)備一個渲染緩沖區(qū)RenderBuffer。 第二步從字幕隊列中取出第一個字幕對象。第三步判斷這個字幕對象是否屬于某一個虛擬容器,如果不屬于任何 一個虛擬容器,則將此對象渲染到RenderBuffer中。第四步如果這個字幕對象屬于某一個虛擬容器,再判斷這個字幕對象 是否是這個虛擬容器的當(dāng)前可見字幕對象,如果是當(dāng)前可見對象,則將此對 象渲染到RenderBuffer中;如果不是則直接跳過。第五步從字幕隊列中取出下一個字幕對象,重復(fù)第三步。第六步字幕中所有的字幕對象都已經(jīng)處理完畢,將RenderBuffer中的 最終渲染結(jié)果繪制到窗口中。14由此可見,使用基于虛擬容器的字幕對象渲染技術(shù)可以使字幕渲染的效 率得到成倍的提高,從而使整個系統(tǒng)的編輯效率成倍的提高。虛擬容器的字幕對象的隊列管理方式如圖3所示,在一個字幕對象隊列中,虛擬容器中的字幕對象的先后順序既可以是連續(xù)的,也可以穿插在其他 字幕對象之間,這樣以來就大大提高了播出序列的靈活性。字幕對象的排列順序決定了其播出的順序,這個順序首先是字幕對象創(chuàng) 建的順序。然后通過手工設(shè)定的方法,在字幕隊列表中根據(jù)實際播出的需要, 自由地移動字幕的順序。站在整體字幕隊列的角度來說, 一個虛擬容器中的N個對象并非必須是隊列中連續(xù)的N個對象,而是可以穿插在其他的非容器 對象之間。這也是通過手工拖拽的方法來實現(xiàn)的。為了便于虛擬容器中多個字幕對象的對齊操作,本發(fā)明提供了一種虛擬容 器的網(wǎng)格對齊技術(shù),它是一種虛擬容器中所有字幕對象進行位置對齊的機制。 實現(xiàn)的方式是在虛擬容器對象表面繪制 一些網(wǎng)格線,網(wǎng)格的刻度可以由用戶選 擇。網(wǎng)格線是虛擬容器對象的一個顯示屬性,其數(shù)據(jù)屬性有如下兩個(1) 是否繪制容器網(wǎng)格,表現(xiàn)為一個開關(guān)變量;(2) 網(wǎng)格的密度,包括橫向和縱向的密度,表現(xiàn)為以像素為單位的數(shù)值。 這樣以來,就可以靈活的對虛擬容器中的多個字幕對象進行上對齊、下對齊、左對齊、右對齊、水平居中、垂直居中等操作。員根據(jù)本發(fā)明的技術(shù)方案得出其他的實施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。
權(quán)利要求
1.一種基于虛擬容器的電視字幕編輯和播出方法,其特征在于該方法在字幕系統(tǒng)中創(chuàng)建虛擬容器對象,每個虛擬容器對象包含若干個實際字幕對象,所述字幕對象均位于虛擬容器對象所占據(jù)的物理區(qū)域之內(nèi);在對每個虛擬容器對象中的字幕對象進行渲染時,只對當(dāng)前可見的字幕對象進行渲染操作,其它位于虛擬容器中的字幕對象直接跳過;通過觸發(fā)機制將虛擬容器中的各個字幕對象依次切換為當(dāng)前可見的字幕對象,并對其進行渲染操作;當(dāng)字幕隊列中所有的字幕對象都渲染完畢后,將最終的渲染結(jié)果繪制到窗口上。
2. 如權(quán)利要求1所述的基于虛擬容器的電視字幕編輯和播出方法,其特征 在于所述的創(chuàng)建虛擬容器對象的方法是在字幕系統(tǒng)中手動繪制一個物理區(qū) 域,根據(jù)此區(qū)域創(chuàng)建一個虛擬容器,虛擬容器的屬性包括容器名稱、物理區(qū) 域、對象觸發(fā)器、對象探測器、當(dāng)前可見的字幕對象、導(dǎo)入特技、導(dǎo)出特技, 將"導(dǎo)入特技"和"導(dǎo)出特技"都默認(rèn)為"快切"。
3. 如權(quán)利要求1所述的基于虛擬容器的電視字幕編輯和播出方法,其 特征在于所述的創(chuàng)建虛擬容器對象的方法是選中若干位于同一個區(qū)域的 多個實際字幕對象,創(chuàng)建一個虛擬容器,虛擬容器的屬性包括容器名稱、 物理區(qū)域、對象觸發(fā)器、對象探測器、當(dāng)前可見的字幕對象、導(dǎo)入特技、導(dǎo) 出特技;把這些字幕對象的最大幾何包圍盒的并集作為這個虛擬容器的"物 理區(qū)域"屬性的值,把這些字幕對象共有的特技方式作為這個虛擬容器的"導(dǎo) 入特技"和"導(dǎo)出特技"屬性。
4. 如權(quán)利要求2或3所述的基于虛擬容器的電視字幕編輯和播出方法, 其特征在于所述的物理區(qū)域是一個矩形區(qū)域,或者是任意一個不規(guī)則的封 閉區(qū)J或。
5. 如權(quán)利要求2或3所述的基于虛擬容器的電視字幕編輯和播出方法, 其特征在于所述的對象觸發(fā)器包括數(shù)據(jù)、顯示圖標(biāo)和消息響應(yīng)函數(shù)三部分, 數(shù)據(jù)為指向虛擬容器中的當(dāng)前可見字幕對象的指針,顯示圖標(biāo)顯示在虛擬容 器的左上角,包括"向前切換"、"索引切換,,和"向后切換"三種圖標(biāo)。
6. 如權(quán)利要求2或3所述的基于虛擬容器的電視字幕編輯和播出方法, 其特征在于所述的對象探測器包括自動吸附和自動移出兩個功能,對象探測器定義了自動吸附的面積閥值F和自動移出的面積閥值M, F和M是兩個百 分比數(shù)值。
7. 如權(quán)利要求2或3所述的基于虛擬容器的電視字幕編輯和播出方法, 其特征在于所述的導(dǎo)入特技是指一個字幕對象以何種方式展現(xiàn)到電視屏幕 上;所述的導(dǎo)出特技是指一個字幕對象以何種方式從電視屏幕上消失。
8. 如權(quán)利要求1所述的基于虛擬容器的電視字幕編輯和播出方法,其 特征在于對字幕隊列中的字幕對象進行渲染的步驟如下(1 )準(zhǔn)備一個渲染緩沖區(qū)RenderBuffer;(2) 從字幕隊列中取出第一個字幕對象;(3) 判斷這個字幕對象是否屬于某一個虛擬容器,如果不屬于任何一 個虛擬容器,則將此字幕對象渲染到RenderBuffer中;(4) 如果這個字幕對象屬于某一個虛擬容器,再判斷這個字幕對象是 否是這個虛擬容器的當(dāng)前可見字幕對象,如果是當(dāng)前可見字幕對象,則將此 對象渲染到RenderBuffer中,如果不是則直接跳過;(5) 從字幕隊列中取出下一個字幕對象,重復(fù)步驟(3)。
9. 如權(quán)利要求8所述的基于虛擬容器的電視字幕編輯和播出方法,其特征 在于在整個字幕隊列中, 一個虛擬容器中的字幕對象的先后順序靈活設(shè)置, 既能選擇連續(xù)排列,也能選擇穿插在其它字幕對象之間排列。
10. 如權(quán)利要求6所述的基于虛擬容器的電視字幕編輯和播出方法,其特 征在于當(dāng)虛擬容器外的一個普通字幕對象被移動到一個虛擬容器所涵蓋的物 理區(qū)域內(nèi)后,該普通字幕對象將被設(shè)置為虛擬容器內(nèi)的當(dāng)前可見字幕對象;普 通字幕對象被移動到一個虛擬容器所涵蓋的物理區(qū)域內(nèi)是指這個字幕對象的包 圍盒矩形已經(jīng)有超過自動吸附面積閥值F的部分位于虛擬容器的物理區(qū)域內(nèi)。
11. 如權(quán)利要求6所述的基于虛擬容器的電視字幕編輯和播出方法,其特 征在于當(dāng)虛擬容器中的字幕對象移出所在虛擬容器的物理區(qū)域后,虛擬容器 將自動從其中將該字幕對象放到普通字幕對象鏈表中,同時更新虛擬容器中的 當(dāng)前可見字幕對象;字幕對象移出所在虛擬容器的物理區(qū)域是指這個字幕對象 的包圍盒矩形已經(jīng)有超過自動移出面積闊值M的部分位于虛擬容器的矩形區(qū)域 外。
12. 如權(quán)利要求1或2或3所述的基于虛擬容器的電視字幕編輯和播出方法,其特征在于在虛擬容器對象的表面繪制有一些網(wǎng)格線,用戶根據(jù)網(wǎng)格線 對虛擬容器中的多個字幕對象進行上對齊、下對齊、左對齊、右對齊、水平居 中、垂直居中的操作。
全文摘要
本發(fā)明涉及廣電領(lǐng)域電視節(jié)目制播技術(shù),具體涉及一種基于虛擬容器的電視字幕編輯和播出方法。該方法在字幕系統(tǒng)中創(chuàng)建虛擬容器對象,每個虛擬容器對象包含若干個實際字幕對象,所述字幕對象均位于虛擬容器對象所占據(jù)的物理區(qū)域之內(nèi);在對每個虛擬容器對象中的字幕對象進行渲染時,只對當(dāng)前可見的字幕對象進行渲染操作,其它位于虛擬容器中的字幕對象直接跳過;通過觸發(fā)機制將虛擬容器中的各個字幕對象依次切換為當(dāng)前可見的字幕對象,并對其進行渲染操作;當(dāng)字幕隊列中所有的字幕對象都渲染完畢后,將最終的渲染結(jié)果繪制到窗口上。本發(fā)明能夠提高字幕編輯操作的方便性和效率,并能夠提高字幕播出的正確性和安全性。
文檔編號H04N5/278GK101668131SQ200810119620
公開日2010年3月10日 申請日期2008年9月4日 優(yōu)先權(quán)日2008年9月4日
發(fā)明者吳正斌 申請人:新奧特(北京)視頻技術(shù)有限公司