两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于多樣性應用的電視字幕播出設(shè)備性能保障的方法

文檔序號:7686722閱讀:351來源:國知局
專利名稱:一種基于多樣性應用的電視字幕播出設(shè)備性能保障的方法
技術(shù)領(lǐng)域
本發(fā)明涉及廣電領(lǐng)域電視節(jié)目制播機構(gòu)的字幕播出技術(shù),具體涉及一種 基于多樣性應用的電視字幕播出設(shè)備性能保障的方法。
背景技術(shù)
電視字幕作為一種必備的電視節(jié)目要素,是一種重要的電視圖文的展現(xiàn) 形式。隨著電視頻道、節(jié)目內(nèi)容的細分,各個部門的分工也更加專業(yè)化,對 于不同類型節(jié)目的制作,以單一類型的字幕系統(tǒng)已很難滿足要求。另外,電 視節(jié)目的日益多樣性和電視觀眾欣賞、鑒賞水平的不斷提高,也要求電視字 幕的應用模式必然朝著多樣性的方向發(fā)展。
從節(jié)目特性角度來說, 一個完整的字幕系統(tǒng)應該能夠很好的支持以下類
型節(jié)目的制作和播出新聞類、財經(jīng)類、體育類、綜藝晚會類、氣象類、專 題類、電視劇類、頻道后期包裝類。
從電視字幕的具體類別角度出發(fā), 一個字幕系統(tǒng)應該支持各種不同的字 幕形式
-節(jié)目片頭類指標注節(jié)目/欄目名稱或本期內(nèi)容的字幕; -節(jié)目片尾、節(jié)目結(jié)束標志類指標注演職員、單位名單的字幕或規(guī)定的 纟吉束畫面一示志、;
-人物介紹、演職員類指介紹主持人、現(xiàn)場報道記者、被釆訪人等人物 標識字幕;
-內(nèi)容提要類指無主體畫面、或主體畫面經(jīng)過特技處理所附的標題內(nèi)容; -問題及答案類指節(jié)目中標注問題、答案內(nèi)容的圖標字幕; -圖文圖表類指內(nèi)容數(shù)據(jù)以數(shù)字、表格、線條、關(guān)系圖顯示的字幕畫面; -特技類指以特技效果處理的字幕或標識;
-欄目標識指疊加在節(jié)目畫面中的固定欄目標識、或本期節(jié)目標識; -標題字幕指新聞標題字幕、話題提示或者是有主體背景畫面的字幕;-事件說明類指說明事件發(fā)生時間、地點、物件名稱、注釋等內(nèi)容的字
冪;
-唱詞、同期聲對白、畫外音、解說詞指與畫面的聲音對應的文字標注; -節(jié)目曲名、創(chuàng)作者、表演者指標注節(jié)目名稱、創(chuàng)作者、表演者信息的 字幕;
-素材來源說明如"資料",指對早期攝制畫面的標注; -節(jié)目預告指提示播出內(nèi)容和時間的字幕;
-欄目信息指提供欄目聯(lián)系方法、電話、電郵、地址等相關(guān)信息; -滾動信息指滾動新聞、天氣預報、股票等時效信息; -節(jié)目播出屬性提示反映直播、錄播形式;
_頻道標識0
從實現(xiàn)的技術(shù)角度出發(fā),上述所有這些應用上的需求使得字幕系統(tǒng)的數(shù) 據(jù)結(jié)構(gòu)變得越來越復雜。
在信息時代,面對呈爆炸性遞增的信息,電視媒體必須在最短的時間內(nèi) 將海量的圖文信息發(fā)布出去,并力求更豐富、更精彩的內(nèi)容包裝形式,以吸 引更多受眾眼球。這就對圖文信息發(fā)布的基本技術(shù)實現(xiàn)工具--字幕機提出了 更高的要求。從最初的解釋視頻畫面逐漸發(fā)展為展現(xiàn)電視畫面、形成具有沖 擊力視覺效果的重要形式。在技術(shù)上要求字幕制播系統(tǒng)結(jié)合最新的計算機圖 形圖像技術(shù),產(chǎn)生大量的靜態(tài)渲染效果和動態(tài)播出特效,并運用基于三維圖 形加速引擎的三維實時字幕技術(shù),從傳統(tǒng)的在視頻上生成字幕的單一功能, 向"寓包裝于內(nèi)容"的視頻信息綜合發(fā)布平臺轉(zhuǎn)變。從實現(xiàn)的技術(shù)角度出發(fā),
字幕系統(tǒng)的數(shù)據(jù)處理的算法變得越來越復雜,使用了大量基于CPU和GPU的 二維、三維圖形圖像處理的核心算法。
在目前廣播電視機構(gòu)的電視臺網(wǎng)建設(shè)中,都非常關(guān)注電視媒體產(chǎn)業(yè)化的 進程,并使用相應的技術(shù)手段突出電視節(jié)目的產(chǎn)品化和市場化的屬性。電視 節(jié)目播出后的交換和再利用,將在市場流通環(huán)節(jié)和生產(chǎn)環(huán)節(jié)具有潛在的效益。 然而,電視字幕是電視節(jié)目的重要組成部分,在制作環(huán)節(jié)完成字幕和圖像的 合成,圖像和字幕無法再行分離,使節(jié)目在交換和再利用時價值銳減。
傳統(tǒng)的字幕制作是在節(jié)目制作區(qū)域完成的,節(jié)目制作部門將字幕直接制 作并疊加在圖像畫面上,記錄在節(jié)目承載介質(zhì)(磁帶或硬盤)上。電視字幕的制播分離是指在節(jié)目制作域把字幕內(nèi)容和字幕的展現(xiàn)形式單獨制作并轉(zhuǎn)換 成字幕工程文件。字幕工程文件不僅包含字幕的內(nèi)容和展現(xiàn)形式,并且能夠 與節(jié)目畫面的時間碼——對應,在節(jié)目播出時再將字幕工程文件轉(zhuǎn)換成字幕 效果疊加在節(jié)目畫面上同步播出。在播出后保存的節(jié)目是盡可能少字幕、易 于今后節(jié)目交換和再利用的版本。
事實上,對于電視臺而言,無論技術(shù)如何發(fā)展,節(jié)目形式如何變化,播 出線上的設(shè)備的安全性和穩(wěn)定性都是第一位重要的,無論是傳統(tǒng)的錄像機、 基于盤帶結(jié)合播出模式的硬盤錄像機、專業(yè)的視音頻服務器,還是專門用來 進行圖文展現(xiàn)的字幕播出服務器。任何一次硬件或軟件上的技術(shù)問題,都會
導致嚴重的播出事故。在所有電視臺的技術(shù)要求中,都會要求這些設(shè)備7X24
熱備的冗余模式之外,在播出系統(tǒng)軟件上,要求數(shù)據(jù)的處理邏輯是BugFree 的,對CPU、 GPU、內(nèi)存的調(diào)度是合理的、可控的。
當前主要靠手工測試的方法來保障電視字幕播出設(shè)備的安全性、實時性 和穩(wěn)定性。具體做法就是依據(jù)用戶的使用環(huán)境,設(shè)計大量的測試用例,進行 手工測試。這種做法的弊端是
>測試的工作量很大;
>測試的結(jié)果在很大程度上取決于測試人員的經(jīng)驗; >即便設(shè)計在多的測試用例,從理論上來說,也無法覆蓋核心渲染算法 的所有分支;
>在手工測試的過程中,往往忽略對系統(tǒng)資源占用的分析,特別是CPU 的使用和內(nèi)存泄露,無法真正保障字幕播出的實時性。

發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)存在的缺陷,提供一種字幕播出設(shè)備性能 的保障方法,該方法支持具體復雜數(shù)據(jù)結(jié)構(gòu)的字幕播出服務器,在進行多樣性 二維、三維圖文靜態(tài)渲染和動態(tài)特效播出時具有安全性、實時性、穩(wěn)定性和可 靠性,對系統(tǒng)資源(CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存)的占用在合理的范圍之 內(nèi),從而避免電視字幕播出過程中,產(chǎn)生中斷、黑場、抖動、停頓、宕機等一 系列故障。
7本發(fā)明的技術(shù)方案如下 一種基于多樣性應用的電視字幕播出設(shè)備性能保 障的方法,該方法根據(jù)字幕播出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),使用隨機數(shù)發(fā)生器,模擬實 際應用環(huán)境,自動構(gòu)造圖文字幕對象;然后使用字幕渲染引擎,對字幕進行多 線程自動靜態(tài)渲染和動態(tài)特效渲染;同時,記錄對系統(tǒng)資源的使用情況,以監(jiān) 測字幕渲染邏輯設(shè)計上的缺陷。
如上所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其中, 所述的字幕播出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中, 一個完整的字幕單是若干個字幕播出任務 組成的一個鏈表, 一個字幕播出任務是若干個字幕場景組成的一個鏈表, 一個 字幕場景是若干個字幕對象組成的一個鏈表。
進一 步,在上述基于多樣性應用的電視字幕播出設(shè)備性能保障的方法中, 采用以電視字幕單為驅(qū)動的播出模式,包括如下步驟
(1) 隨機產(chǎn)生一個節(jié)目單,每個字幕條目的播出時間遵守前后的規(guī)則隨 機產(chǎn)生;
(2) 為每個播出條目中隨機生成一個字幕播出序列;
(3 )為每個字幕播出序列,根據(jù)隨機數(shù)模型產(chǎn)生一個字幕對象或者一個 對象組;
(4 )將這些字幕對象按照字幕工程文件的組織形式生成一個字幕工程文
件;
(5) 將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播
出;
(6) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的使用情
況;
(7) 進行錯誤處理;
(8) 返回到步驟(1),循環(huán)處理下一個節(jié)目單。
如上所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其中, 對字幕進行靜態(tài)渲染和動態(tài)特效渲染的步驟如下
(1 )枚舉出系統(tǒng)中所有的TrueType字庫,針對每種TrueType字庫,枚 舉出這個字庫中所有有效的字符;
(2)才丈舉出系統(tǒng)中的所有可以處理的圖元類;(3) 根據(jù)當前字幕類型,開始一次渲染;
(4) 循環(huán)進行下一次渲染。
進一步,在上述基于多樣性應用的電視字幕播出設(shè)備性能保障的方法中, 在對字幕進行靜態(tài)渲染和動態(tài)特效渲染的步驟(3)中,如果當前字幕類型是 字元,則按如下步驟進行處理
(1 )遍歷每個TrueType字庫;
(2) 針對每一個TrueType字庫,遍歷該字庫中的每個有效字符;
(3) 針對每個字符,根據(jù)預設(shè)的最小字號、最大字號、字號步長,循環(huán) 處理每個字號;
(4) 針對每個字號,根據(jù)預設(shè)的最小寬度、最大寬度、寬度步長,循環(huán) 處理每個寬度;
(5) 針對每個寬度,按照字幕對象渲染引擎中的隨機數(shù)發(fā)生器,產(chǎn)生出 來隨機的靜態(tài)渲染參數(shù)和動態(tài)渲染參數(shù);
(6) 創(chuàng)建出來一個字幕對象,將上述的靜態(tài)、動態(tài)渲染參數(shù)賦給這個字 幕對象;
(7 )將這個字幕對象按照字幕工程文件的組織形式生成一個字幕工程文
件;
(8 )將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播
出;
(9) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的^f吏用情
況;
(10) 錯誤處理。
如果當前字幕類型是圖元,則按如下步驟進行處理
(1) 遍歷每種類型的圖元;
(2) 針對每種圖元,根據(jù)預設(shè)的最小高度、最大高度、高度步長,循環(huán) 處理每個高度;
(3) 針對每個高度,根據(jù)預設(shè)的最小寬度、最大寬度、寬度步長,循環(huán) 處理每個寬度;
(4) 針對每個寬度,按照字幕對象渲染引擎中的隨機數(shù)發(fā)生器,產(chǎn)生出 來隨機的靜態(tài)渲染參數(shù)和動態(tài)渲染參數(shù);
9(5) 創(chuàng)建出來一個字幕對象,將上述的靜態(tài)、動態(tài)渲染參數(shù)賦給這個字
幕對象;
(6) 將字幕對象按照字幕工程文件的組織形式生成一個字幕工程文件;
(7) 將字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播出;
(8) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的4吏用情
況;
(9) 錯誤處理。
如上所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其中, 該方法建立一個常用的漢字、詞語、句子的數(shù)據(jù)庫,在進行渲染時,遍歷該 數(shù)據(jù)庫中的所有文字信息,以替代對TrueType字庫中的所有有效字符的遍歷。
如上所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其中, 該方法針對絕大多數(shù)參數(shù)的取值范圍,確定一個經(jīng)驗值,使隨機數(shù)發(fā)生器產(chǎn) 生的值90%以上落在這個經(jīng)驗值之內(nèi)。
如上所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其中, 該方法使用一個渲染工作站集群,通過預先設(shè)置,在每臺工作站上部署不同 的渲染參數(shù),分別對不同類型的字幕內(nèi)容進行渲染,然后通過部署一臺工作 站,集中監(jiān)視每個工作站的渲染狀態(tài);另外, 一臺工作站上也可以啟動多個 渲染線程,分別對不同類型的字幕內(nèi)容進行渲染。
如上所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其中, 該方法在渲染參數(shù)生成后,交給渲染引擎之前,首先使用文本日志或者二進 制文件的方式,將這些渲染參數(shù)記錄下來,下次重新啟動時,根據(jù)這些文件 進行參數(shù)的恢復,并根據(jù)恢復后的字幕參數(shù)進行后續(xù)的渲染任務。
本發(fā)明的有益效果如下
(1 )根據(jù)字幕對象的參數(shù)模型和每個參數(shù)的取值范圍,使用隨機數(shù)發(fā)生 器,自動生成字幕對象;
(2 )通過對參數(shù)自動生成模型的調(diào)整,最大限度的保障了字幕渲染參數(shù) 更加貼近實際的應用環(huán)境,保證了這種方式的有效性;(3)根據(jù)設(shè)備的情況部署集群渲染工作站,在渲染前,制定每臺工作站 的渲染任務,用監(jiān)視和錯誤處理終端收集每臺渲染工作站的渲染狀態(tài)以及錯
誤信息并進行處理;
(4 )本發(fā)明還提出了基于斷點續(xù)測的字幕渲染與播出引擎,提高了字幕 渲染的效率,避免做一些無用功;
(5 )本發(fā)明所提供的方法基于復雜數(shù)據(jù)結(jié)構(gòu)和多樣性應用,對字幕播出 設(shè)備的安全性和穩(wěn)定性進行有效的確證。


圖1為字幕對象的數(shù)據(jù)結(jié)構(gòu)示意圖。
圖2為一個字幕對象的靜態(tài)渲染模型示意圖。
圖3為一個字幕對象的動態(tài)渲染模型示意圖。
圖4為字幕對象參數(shù)隨機數(shù)模型示意圖。
圖5為電視字幕渲染引擎模型示意圖。
圖6為電視字幕單驅(qū)動播出模型示意圖。
圖7為基于無人值守的分布式、多線程字幕渲染和播出引擎示意圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細的描述。
本發(fā)明的主要核心方案是根據(jù)字幕播出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),使用隨機數(shù)發(fā) 生器,模擬實際應用環(huán)境,自動構(gòu)造圖文字幕對象,然后使用字幕渲染引擎, 對字幕進行多線程自動靜態(tài)渲染和動態(tài)特效渲染,同時記錄對系統(tǒng)資源的使 用情況,以監(jiān)測字幕渲染邏輯設(shè)計上的缺陷,保障字幕播出系統(tǒng)的安全性、 實時性和穩(wěn)定性。
本發(fā)明涉及到的技術(shù)內(nèi)容如下
>電視字幕靜態(tài)渲染參數(shù)隨機發(fā)生器模型
>電視字幕動態(tài)特效渲染參數(shù)隨機發(fā)生器模型
>電視字幕渲染引擎模型
>電視字幕單驅(qū)動播出模型
>隨機參數(shù)模型的實用性調(diào)整
ii>基于無人值守的分布式、多線程字幕渲染和播出 >基于斷點續(xù)測的渲染與播出引擎
1.電視字幕參數(shù)隨機發(fā)生器模型
由于電視字幕應用的多樣性和復雜度, 一個字幕播出服務器的數(shù)據(jù)結(jié)構(gòu)是 非常復雜的,主體的數(shù)據(jù)包括靜態(tài)渲染數(shù)據(jù)和動態(tài)特技參數(shù)。
1.1字幕對象靜態(tài)渲染參數(shù)模型 從靜態(tài)渲染參數(shù)而言,包括如下的參數(shù)
>場景類型包括普通字幕場景、滾屏字幕場景、插播字幕場景、唱詞
字幕場景,每個字幕場景包含了多個不同類型的字幕對象; >字幕對象包括一般的文本字幕、圖元字幕、三維物體、唱詞字幕、
動畫字幕、故事板字幕。每種字幕對象包括字幕的幾何屬性和二維渲
染參數(shù)、三維渲染參數(shù)。 >字幕對象的幾何屬性包括二維空間尺寸、TrueType字庫、字元的
字號、邏輯寬度、旋轉(zhuǎn)角度、三維空間屬性。 >字幕對象的二維渲染參數(shù)字幕對象的面、內(nèi)邊、外邊、側(cè)邊、浮雕、
投影、填充、內(nèi)發(fā)光、外發(fā)光、內(nèi)陰影、外陰影、光澤屬性、描邊屬
性。每種渲染的渲染源包括單色、漸變色、圖像紋理填充。 >字幕對象的三維渲染參數(shù)三維物體的頂點顏色、平面貼圖、凹凸貼
圖、反射紋理、材質(zhì)屬性、三維光照模型。 圖1為字幕對象的一般數(shù)據(jù)結(jié)構(gòu)。由此圖可以看出 一個完整的字幕單 是若干個字幕播出任務組成的一個鏈表; 一個字幕播出任務是若干個字幕場 景組成的一個鏈表; 一個字幕場景是若干個字幕對象組成的一個鏈表。
圖2為一個字幕對象的靜態(tài)渲染模型,由此可以看出一個典型的字幕系 統(tǒng)具有非常復雜的數(shù)據(jù)結(jié)構(gòu)。
1.2字幕對象動態(tài)渲染參數(shù)模型 從動態(tài)渲染參數(shù)而言,包括如下的參數(shù)
>動態(tài)特技的類型例如水波特技、空間變換特技、波浪特技、火焰特 技、路徑特技、包裝特技。>不同類型特技的具體參數(shù)。 >組合特技。
圖3為一個字幕對象的動態(tài)渲染模型。
1. 3字幕對象參數(shù)隨機數(shù)模型
根據(jù)上面的參數(shù)模型和每個參數(shù)的取值范圍,使用隨機數(shù)發(fā)生器,自動
生成字幕對象。圖4為字幕對象參數(shù)隨機數(shù)模型。
隨機數(shù)發(fā)生器是一種公知技術(shù),在實際運用中非常之多,如游戲設(shè)計、 信息仿真、擴頻通信、信息加密和系統(tǒng)測試等。在這里使用隨機數(shù)發(fā)生器, 主要的目的是第一,無人值守的自動渲染,第二,所產(chǎn)生的字幕對象可以 盡可能的覆蓋用戶在實際使用字幕播出服務器時的所有情況。
2.電視字幕渲染引擎模型
圖5為電視字幕渲染引擎模型。對這個引擎的簡要描述如下 第一步,枚舉出系統(tǒng)中所有的TrueType字庫,針對每種TrueType字庫, 枚舉出這個字庫中所有有效的字符。
第二步,枚舉出系統(tǒng)中的所有可以處理的圖元類。 第三步,開始一次渲染。
在一次渲染過程中,如果當前字幕類型是字元,貝'J: (1 )遍歷每個TrueType字庫;
(2) 針對每一個TrueType字庫,遍歷該字庫中的每個有效字符;
(3) 針對每個字符,根據(jù)預設(shè)的最小字號、最大字號、字號步長,循環(huán) 處理每個字號;
(4) 針對每個字號,根據(jù)預設(shè)的最小寬度、最大寬度、寬度步長,循環(huán) 處理每個寬度;
(5) 針對每個寬度,按照字幕對象渲染引擎中的隨機數(shù)發(fā)生器,產(chǎn)生出 來隨機的靜態(tài)渲染參數(shù)和動態(tài)渲染參數(shù);
(6) 創(chuàng)建出來一個字幕對象,將上述的靜態(tài)、動態(tài)渲染參數(shù)賦給這個字 幕對象;
(7 )將這個字幕對象按照字幕工程文件的組織形式生成一個字幕工程文件;
(8 )將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播
出;
(9) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的使用情
況;
(10) 錯誤處理。
判斷錯誤類型宕機、CPU、 GPU、內(nèi)存的使用超過預設(shè)的門限值。
一般認為宕機是最為嚴重的問題,如果出現(xiàn)宕機,需要啟動字幕制作系 統(tǒng),打開原來保存的字幕工程文件,進行跟蹤調(diào)試。
如果CPU、 GPU、內(nèi)存的使用超過預設(shè)的門限值,則需要進行進一步的判 斷,例如對遞歸函數(shù)的處理、對內(nèi)存使用的申請和釋放的記錄、對GPU的三 角片的剖分等。
如果當前字幕類型是圖元,那么 (1 )遍歷每種類型的圖元;
(2)針對每種圖元,根據(jù)預設(shè)的最小高度、最大高度、高度步長,循環(huán) 處理每個高度;
U)針對每個高度,根據(jù)預設(shè)的最小寬度、最大寬度、寬度步長,循環(huán) 處理每個寬度;
(4) 針對每個寬度,按照字幕對象渲染引擎中的隨機數(shù)發(fā)生器,產(chǎn)生出 來隨機的靜態(tài)渲染參數(shù)和動態(tài)渲染參數(shù);
(5) 創(chuàng)建出來一個字幕對象,將上述的靜態(tài)、動態(tài)渲染參數(shù)賦給這個字 幕對象;
(6 )將這個字幕對象按照字幕工程文件的組織形式生成一個字幕工程文
件;
(7 )將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播
出;
(8) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的^f吏用情
況;
(9) 錯誤處理。同上。 第四步,循環(huán)進行下一次渲染。
143.電視字幕單驅(qū)動播出模型
字幕播出設(shè)備最終的使用模式是根據(jù)一個節(jié)目串聯(lián)單,和事先定義好的字幕模版,生成一個字幕的播出列表,然后根據(jù)絕對時間逐條進行播出。所以我們還需要定義一種"電視字幕單為驅(qū)動的播出模型,,,其中的字幕對象可以由上述的隨機數(shù)模型產(chǎn)生,而播出的時間也可以隨機產(chǎn)生,但是要根據(jù)一定的前后順序MJ'J。
電視字幕單驅(qū)動播出模型如圖6所示。對此模型的描述如下
(1) 隨機產(chǎn)生一個節(jié)目單,每個字幕條目的播出時間可以隨機產(chǎn)生,但是需要遵守前后的規(guī)則;
(2) 為每個播出條目中隨機生成一個字幕播出序列;
(3) 為每個字幕播出序列,根據(jù)隨機數(shù)模型產(chǎn)生一個字幕對象或者一個對象組;
(4 )將這些字幕對象按照字幕工程文件的組織形式生成一個字幕工程文
件;
(5 )將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播
出;
(6) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的使用情
況;
(7) 進行錯誤處理;
(8 )循環(huán)處理下一個節(jié)目單。
由于一條字幕播出單中是由多個字幕對象組成的,這些字幕對象之間還存在復雜的時間和空間上的邏輯關(guān)系,所涵蓋的信息要豐富的多,所以處理錯誤的方式也要復雜的多。針對這種渲染模型會單獨有一套錯誤處理的機制,介紹如下
宕機錯誤處理 一般認為宕機是最為嚴重的問題,如果出現(xiàn)宕機,需要啟動字幕播出系統(tǒng),打開原來保存的字幕單工程文件,進行跟蹤調(diào)試。
字幕單播出實時性處理在一個字幕單條目播出的信息中,會有實時性信息,記錄每秒播出的幀數(shù),通過這個數(shù)值來判斷是否實時。有四種情況會導致字幕播出不實時第一,字幕對象的空間關(guān)系超出處理能力,如同一個時刻層數(shù)太多,或者相關(guān)圖元的空間太大,或者渲染的參數(shù)過于復雜,對于
這種情況,需要對具體算法進行優(yōu)化,并且提出產(chǎn)品應用的限制和風險;第二, GPU加速能力不夠,主要是指圖形顯示卡的三維加速功能,對于這種情況,需要根據(jù)具體場合,更換圖形加速器;第三,基于CPU的渲染算法處理能力不夠,此時需要優(yōu)化渲染算法,如采取預渲染處理的方式,將播出內(nèi)容生成動畫;第四,字幕播出通道卡(輸入輸出卡)出現(xiàn)數(shù)據(jù)阻塞,從而導致播出效果抖動,此時需要對通道卡的兼容性、輸入輸出機制進行跟蹤調(diào)試。
字幕單播出時間關(guān)系處理每一個字幕播出單都會被賦予一個精確到幀的觸發(fā)時間屬性,對應的播出線程會根據(jù)這個時間觸發(fā)該條字幕的播出。在一個字幕單條目播出的信息中,會精確記錄該字幕播出單實際的啟動時間,
在錯誤處理時,將二者進行對比,即可發(fā)現(xiàn)其中的問題。并且通過由多個播出單組成的序列的播出時間的對比,確認是否存在累計誤差的問題。因為在播出服務器實際工作過程中,單條字幕播出的時間是允許存在一定范圍誤差的(具體范圍值取決于不同節(jié)目的要求),但是累計誤差是絕對不允許的。
字幕單播出空間關(guān)系的處理主要確認在同一個時刻(或者同一個時間^:內(nèi))是否存在不同字幕單的物理空間上的重疊。在字幕播出服務器的實際工作中, 一個字幕單是一個基本的播出單元,播出序列是按照字幕單的順序逐個播出的,即字幕單1入一>字幕單1出一>字幕單2入一>字幕單2出...但是有時需要進行緊急插播,插播進來的字幕單在物理位置是不能與正在播出的字幕單重疊的,否則最終播出的效果就會出現(xiàn)覆蓋的情況。所以在每個字幕單播出信息中,需要記錄同一個時間段的字幕單信息、每個字幕單最終播出的空間信息,從而進行錯誤處理。
4.隨機參數(shù)模型的實用性調(diào)整
上面的渲染模型完全是根據(jù)隨機數(shù)發(fā)生器產(chǎn)生的,從理論上說,這些渲染模型可以最大限度的遍歷靜態(tài)渲染和動態(tài)特效算法的所有邏輯分支,從而最大限度的發(fā)現(xiàn)設(shè)計上的缺陷,但是在實際應用中,有些參數(shù)的值使用到的概率4艮小,例如電^L字幕中常用到的漢字字符只有3000個左右,而一個TrueType中的實際字符有40000多個;再例如,對一個字元來說,加邊、加影的半徑的取值范圍是0到500個像素,而實際上用到最多的值集中在5到20之內(nèi)。在這種情況下,如果我們完全根據(jù)隨機數(shù)發(fā)生器,則得到的參數(shù)完全不受控制,那么這種情況下我們進行的很多次的渲染事實上是沒有實際應用意義的。
在這種情況下,需要更正隨機數(shù)模型,使得自動產(chǎn)生的參數(shù)更符合實際
的應用。主要的改造包括以下三個方面
第一,建立一個常用的漢字、詞語、句子的數(shù)據(jù)庫(字典、詞典、句典),可以筒單的4吏用Windows標準TEXT文本文件的方式組織這些凄t據(jù)庫。在進行渲染時,不是遍歷一個TrueType字庫中的所有有效字符,而是遍歷某一個文本文件中的所有文字信息。
第二,由于計算機的隨機數(shù)發(fā)生器產(chǎn)生的是一個偽隨機數(shù)序列,需要在每次渲染之前,使用一個變量作為隨機數(shù)的種子。無論使用哪種編程語言實現(xiàn),都是使用計算機的隨機數(shù)發(fā)生器返回的一個偽隨機數(shù)序列,這組序列實際上都是根據(jù)遞推公式計算的一組數(shù)值,當序列足夠長,這組數(shù)值近似滿足均勻分布。但是如果計算偽隨機序列的初始數(shù)值(稱為種子)相同,則計算出來的偽隨機序列就是完全相同的,所以為了使每次渲染參數(shù)的隨機性更加合理,從而更多的覆蓋渲染引擎的程序邏輯分支,需要在每次渲染之前,使用一個變量作為隨機數(shù)的種子。指定隨機數(shù)種子的方法很多,使用計算機的時鐘是最簡單有效的。
因此,在實際的渲染模型中,我們使用了計算機的時鐘TickCount。
畫RD dwTickCount = GetCurrentSys temTickCount ();
srand(dwTickCount);
第三,針對絕大多數(shù)參數(shù)的取值范圍,確定一個經(jīng)驗值范圍,使隨機數(shù)發(fā)生器產(chǎn)生的值90°/ 以上落在這個經(jīng)驗值范圍之內(nèi)。具體算法如下假設(shè)l: 一個參數(shù)的取值范圍為[M,N]。
假設(shè)2:在實際使用時,這個參數(shù)的有效值都落在[Sl, S2]這個區(qū)間內(nèi),M〈S1〈S2〈N, S1和S2是兩個經(jīng)驗值。
假設(shè)3:改造隨機數(shù)發(fā)生器模型,使得在[M, N]范圍內(nèi)產(chǎn)生的隨機數(shù)百分比為P落在[S1,S2]這個區(qū)間內(nèi)。P是一個門限值,在實際使用中,一般使用90%。基于以上假設(shè),隨機數(shù)發(fā)生器的模型如下
第一步,將區(qū)間[M,N]規(guī)約到[O,(N-M)]區(qū)間,然后在[O,(N-M)]區(qū)間產(chǎn)生一個隨機數(shù)K;
第二步,根據(jù)K值的范圍,確定映射算法公式,重新計算需要的隨機參數(shù)。如果K在
區(qū)間之內(nèi),將K值從區(qū)間
映射到區(qū)間[SI, S2]之內(nèi),映射算法公式如下
I = S' +(S2 - S')x-^-
12 1 Px(N-M)
如果K在[P*(N-M), (1+P)/2*(N-M)]區(qū)間之內(nèi),將K值從區(qū)間[P*(N-M), (1+P)/2*(N-M)]映射到區(qū)間[M, SI]之內(nèi),映射算法公式如下
I = M + (S「M)x(---
1 (1-P)x(N-M) 1-P
如果K在[(1+P) /2* (N-M) , (N-M)]區(qū)間之內(nèi),將K值從區(qū)間映射到區(qū)間[S2, N]之內(nèi),映射算法公式如下
I = S2 + (N-S2)x(-^--
2 2 (1-P)x(N-M) 1-P
計算后得到的I就是最后需要的隨機數(shù)。
通過上述三個方面對參數(shù)自動生成模型的調(diào)整,就最大限度的保障了字幕渲染參數(shù)更加貼近實際的應用環(huán)境,保證了這種方式的有效性。
5.基于無人值守的分布式、多線程字幕渲染和播出
即使有了上面對隨機數(shù)發(fā)生器模型的改造,在實際工作中,字幕的渲染是非常耗時的,以字元渲染為例,假設(shè)當前Windows操作系統(tǒng)中的實際可用的TrueType字庫為100個,對每個字庫的其中2000個常用漢字字符進行渲染,每個字符的字號從8到200,寬度從10%到300%,那個渲染的次數(shù)為
100 x 2000 x ( 200 - 8 ) x ( 300 - 10 ) = 11136000000次
假設(shè)每次渲染的平均時間為50毫秒,那么完成渲染的時間為5. 56 x 1011毫秒,約等于155000小時,大約需要6400天。
鑒于實用性方面考慮,本發(fā)明提出了分布式、多線程字幕渲染的思路使用一個渲染工作站集群,通過預先設(shè)置的方法,在每臺工作站上部署不同的渲染參數(shù),例如可以將這ioo個字庫分別安裝在不同的工作站上,而且在
每臺工作站上指定不同的數(shù)據(jù)字典。對于其中的一臺工作站,也可以啟動多個渲染線程,分別對不同類型的字幕內(nèi)容進行渲染。然后通過部署一臺工作站,集中監(jiān)視每個工作站的渲染狀態(tài)。
圖7顯示了基于無人值守的分布式、多線程字幕渲染和播出引擎。根據(jù)設(shè)備的情況部署集群渲染工作站,在渲染前,制定每臺工作站的渲染任務。監(jiān)視和錯誤處理終端用來收集每臺渲染工作站的渲染狀態(tài),收集錯誤信息并進行處理。
6.基于斷點續(xù)測的字幕渲染與播出引擎
正如上一節(jié)表述的那種,字幕的渲染是一件耗時的工作。本發(fā)明所提到的方法的最終目的是發(fā)現(xiàn)字幕播出設(shè)備設(shè)計上的缺陷,那么,當錯誤發(fā)生后,系統(tǒng)一旦退出后,所要做的工作是根據(jù)錯誤出現(xiàn)現(xiàn)場留下的一些數(shù)據(jù)對設(shè)計邏輯進行分析,并最終修正這個缺陷。那么當缺陷修正完之后,需要重新啟動對字幕的渲染,此時如果還是從頭進行渲染,必然有些工作是反復而且沒有意義的。鑒于此,本發(fā)明還提出了基于斷點續(xù)測的字幕渲染與播出引擎,主要的作用是接著上次渲染退出時的參數(shù)進行渲染。這樣以來,可以提高字幕渲染的效率,避免做一些無用功。主要的設(shè)計思路是當渲染參數(shù)生成后,在交給渲染引擎之前,首先^f吏用文本日志或者二進制文件的方式,將這些渲染參數(shù)記錄下來,下次重新啟動時,根據(jù)這些文件進行參數(shù)的恢復,并根據(jù)恢復后的字幕參數(shù)進行后續(xù)的渲染任務。
汰開小限t央停頭應萬八y尸/r還的頭應們,本4PiU支術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其他的實施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范
19
權(quán)利要求
1. 一種基于多樣性應用的電視字幕播出設(shè)備性能保障的方法,其特征在于該方法根據(jù)字幕播出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),使用隨機數(shù)發(fā)生器,模擬實際應用環(huán)境,自動構(gòu)造圖文字幕對象;然后使用字幕渲染引擎,對字幕進行多線程自動靜態(tài)渲染和動態(tài)特效渲染;同時,記錄對系統(tǒng)資源的使用情況,以監(jiān)測字幕渲染邏輯設(shè)計上的缺陷。
2. 如權(quán)利要求1所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方 法,其特征在于所述的字幕播出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中, 一個完整的字幕單是若 干個字幕播出任務組成的一個鏈表, 一個字幕播出任務是若干個字幕場景組成 的一個鏈表, 一個字幕場景是若干個字幕對象組成的一個鏈表。
3. 如權(quán)利要求1所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的方 法,其特征在于該方法采用以電視字幕單為驅(qū)動的播出模式,包括如下步驟(1 )隨機產(chǎn)生一個節(jié)目單,每個字幕條目的播出時間遵守前后的規(guī)則隨 機產(chǎn)生;(2) 為每個播出條目中隨機生成一個字幕播出序列;(3) 為每個字幕播出序列,根據(jù)隨機數(shù)模型產(chǎn)生一個字幕對象或者一個 對象組;(4 )將這些字幕對象按照字幕工程文件的組織形式生成一個字幕工程文件;(5 )將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播出;(6) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的^f吏用情況;(7) 進行錯誤處理;(8) 返回到步驟(1),循環(huán)處理下一個節(jié)目單。
4. 如權(quán)利要求1或2或3所述的基于多樣性應用的電視字幕播出設(shè)備 性能保障的方法,其特征在于對字幕進行靜態(tài)渲染和動態(tài)特效渲染的步驟 如下(1 )枚舉出系統(tǒng)中所有的TrueType字庫,針對每種TrueType字庫,枚舉出這個字庫中所有有效的字符;(2)枚舉出系統(tǒng)中的所有可以處理的圖元類; U)根據(jù)當前字幕類型,開始一次渲染; (4)循環(huán)進行下一次渲染。
5. 如權(quán)利要求4所述的基于多樣性應用的電視字幕播出設(shè)備性能保障 的方法,其特征在于在對字幕進行靜態(tài)渲染和動態(tài)特效渲染的步驟(3)中, 如果當前字幕類型是字元,則按如下步驟進行處理(1 )遍歷每個TrueType字庫;(2) 針對每一個TrueType字庫,遍歷該字庫中的每個有效字符;(3) 針對每個字符,根據(jù)預設(shè)的最小字號、最大字號、字號步長,循環(huán) 處理每個字號;(4) 針對每個字號,根據(jù)預設(shè)的最小寬度、最大寬度、寬度步長,循環(huán) 處理每個寬度;(5) 針對每個寬度,按照字幕對象渲染引擎中的隨機數(shù)發(fā)生器,產(chǎn)生出 來隨機的靜態(tài)渲染參數(shù)和動態(tài)渲染參數(shù);(6) 創(chuàng)建出來一個字幕對象,將上述的靜態(tài)、動態(tài)渲染參數(shù)賦給這個字 幕對象;(7 )將這個字幕對象按照字幕工程文件的組織形式生成一個字幕工程文件;(8) 將這個字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播出;(9) 在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的使用情況;(10) 錯誤處理。
6. 如權(quán)利要求4所述的基于多樣性應用的電視字幕播出設(shè)備性能保障 的方法,其特征在于如果當前字幕類型是圖元,則按如下步驟進行處理(1) 遍歷每種類型的圖元;(2) 針對每種圖元,根據(jù)預設(shè)的最小高度、最大高度、高度步長,循環(huán) 處理每個高度;(3) 針對每個高度,根據(jù)預設(shè)的最小寬度、最大寬度、寬度步長,循環(huán)處理每個寬度;(4) 針對每個寬度,按照字幕對象渲染引擎中的隨機數(shù)發(fā)生器,產(chǎn)生出 來隨機的靜態(tài)渲染參數(shù)和動態(tài)渲染參數(shù);(5) 創(chuàng)建出來一個字幕對象,將上述的靜態(tài)、動態(tài)渲染參數(shù)賦給這個字 幕對象;(6 )將字幕對象按照字幕工程文件的組織形式生成一個字幕工程文件; (7 )將字幕對象交給播出系統(tǒng)的渲染引擎進行靜態(tài)渲染和動態(tài)播出; U)在渲染過程中,記錄下CPU、 GPU、物理內(nèi)存、虛擬內(nèi)存的使用情況;(9)錯誤處理。
7. 如權(quán)利要求4所述的基于多樣性應用的電視字幕播出設(shè)備性能保障 的方法,其特征在于該方法建立一個常用的漢字、詞語、句子的tt據(jù)庫, 在進行渲染時,遍歷該數(shù)據(jù)庫中的所有文字信息,以替代對TrueType字庫中 的所有有效字符的遍歷。
8. 如權(quán)利要求7所述的基于多樣性應用的電視字幕播出設(shè)備性能保障 的方法,其特征在于該方法針對絕大多數(shù)參數(shù)的取值范圍,確定一個經(jīng)驗 值,使隨機數(shù)發(fā)生器產(chǎn)生的值90%以上落在這個經(jīng)驗值之內(nèi)。
9. 如權(quán)利要求1所述的基于多樣性應用的電視字幕播出設(shè)備性能保障 的方法,其特征在于該方法使用一個渲染工作站集群,通過預先設(shè)置,在 每臺工作站上部署不同的渲染參數(shù),分別對不同類型的字幕內(nèi)容進行渲染, 然后通過部署一臺工作站,集中監(jiān)視每個工作站的渲染狀態(tài);另外, 一臺工 作站上也可以啟動多個渲染線程,分別對不同類型的字幕內(nèi)容進行渲染。
10. 如權(quán)利要求1所述的基于多樣性應用的電視字幕播出設(shè)備性能保障的 方法,其特征在于該方法在渲染參數(shù)生成后,交給渲染引擎之前,首先使用 文本日志或者二進制文件的方式,將這些渲染參數(shù)記錄下來,下次重新啟動時, 根據(jù)這些文件進行參數(shù)的恢復,并根據(jù)恢復后的字幕參數(shù)進行后續(xù)的渲染任務。
全文摘要
本發(fā)明涉及廣電領(lǐng)域電視節(jié)目制播機構(gòu)的字幕播出技術(shù),具體涉及一種基于多樣性應用的電視字幕播出設(shè)備性能保障的方法。該方法根據(jù)字幕播出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),使用隨機數(shù)發(fā)生器,模擬實際應用環(huán)境,自動構(gòu)造圖文字幕對象,然后使用字幕渲染引擎,對字幕進行多線程自動靜態(tài)渲染和動態(tài)特效渲染,同時記錄對系統(tǒng)資源的使用情況,以監(jiān)測字幕渲染邏輯設(shè)計上的缺陷,保障字幕播出系統(tǒng)的安全性、實時性和穩(wěn)定性。
文檔編號H04N5/278GK101483723SQ20081005603
公開日2009年7月15日 申請日期2008年1月11日 優(yōu)先權(quán)日2008年1月11日
發(fā)明者吳正斌 申請人:新奧特(北京)視頻技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
合肥市| 孝昌县| 治多县| 嘉义县| 哈尔滨市| 绥宁县| 兴宁市| 和硕县| 西乌珠穆沁旗| 古田县| 深水埗区| 寻甸| 娄烦县| 双辽市| 绥芬河市| 专栏| 南川市| 郧西县| 虞城县| 鄱阳县| 海宁市| 保德县| 玉树县| 改则县| 南宁市| 乐安县| 普兰店市| 沧源| 来宾市| 和硕县| 八宿县| 淅川县| 陈巴尔虎旗| 侯马市| 武功县| 上林县| 绍兴市| 白水县| 东山县| 北安市| 常山县|