国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于XML的隱藏字幕數據交換格式

2014-09-18 00:15張鑫垚李紹彬
電視技術 2014年14期
關鍵詞:緩沖區(qū)字幕命令

徐 品,鄧 琪,張鑫垚,李紹彬

(中國傳媒大學 信息工程學院,北京 100024)

隱藏字幕(Closed Caption)[1]技術是針對B類字幕[2]提出的字幕與節(jié)目視頻分離的技術。電視節(jié)目中的字幕分為直播型和后期制作型兩種。后期字幕制作流程通常是在節(jié)目視頻完成以后再將字幕拍入。在目前電視節(jié)目的制作中,字幕是直接合成到畫面中,合成后的字幕是不可更改的。如果采用隱藏字幕技術,字幕不再直接合成到畫面中,而是以一種數據或文件形式與其宿主視頻同時存在,它與宿主視頻具有相同的生命期,其內容和屬性依據時碼與宿主視頻保持同步;在播出時,隱藏字幕是作為視頻幀的附加數據與視頻流同步傳送;在接收端,觀眾可以根據自己的喜好選擇顯示或隱藏這些字幕,這也就是隱藏字幕名稱的由來。

隱藏字幕的制作形式在美國早已有研究與應用[3-5],但在數字電視條件下,如何在臺內實現數字隱藏字幕宿主視頻的實時伴隨傳輸,以及將其按某種格式與宿主視頻同步保存下來,是目前隱藏字幕在我國推廣中的一個亟待解決的應用課題。

隱藏字幕在電視臺制作域中的存在形式有兩種:一種是嵌入到HD/SD-SDI碼流中;另一種是以文件的形式伴隨宿主視頻文件,可將其擺放到非編的故事板中占據一條或多條字幕軌。編輯人員可根據需要對字幕出入點、屬性和內容進行添加和修改。

本文的研究就是希望利用XML語言設計一種便于描述隱藏字幕的XML文件格式,以作為視頻文件的伴隨文件供臺內非編或媒體數據交換及存儲之用。經過實驗,該XML文件可以嵌入到MXF音視頻媒體交換格式中,可以在視頻播放的同時同步顯示字幕信息。

1 隱藏字幕結構分析

由于B類字幕主要用于節(jié)目或視頻中人物對白、聲音來源、唱詞等,是作為視頻畫面中語音或其他音頻的注釋性文字,所以隱藏字幕不需要過多的裝飾。其作用也并非想取代非編或字幕機中對圖文字幕的包裝,因此沒有那么豐富的靜態(tài)效果和動態(tài)特技,但作為電視畫面的輔助性字幕其效果已經足夠了。

以下根據《數字電視隱藏字幕系統(tǒng)規(guī)范》[6](簡稱《字幕規(guī)范》),對隱藏字幕的上層結構進行分析。

1.1 隱藏字幕的業(yè)務

隱藏字幕的中心問題是解決字幕業(yè)務的傳輸與呈現。隱藏字幕的業(yè)務是指語言及數據服務,同時可以有63個業(yè)務。業(yè)務分為基準業(yè)務和擴展業(yè)務兩類?!蹲帜灰?guī)范》中規(guī)定基準業(yè)務一共有6種,其中編號為1的用作節(jié)目主語言的字幕,編號為2的為第二語言字幕;其余編號3~6也應作為節(jié)目語言的字幕使用,以便支持節(jié)目的多語言字幕。擴展業(yè)務內容可由廠家自行定義,可以傳送圖片或其他數據,當然,這種定義必須取得機頂盒廠商的認可。

1.2 隱藏字幕業(yè)務的呈現效果與命令

每個隱藏字幕業(yè)務可以對應一個或多個字幕窗口。字幕呈現的效果有如下特點:

1)每個業(yè)務可在屏幕同時開辟最多8個字幕窗口;

2)每個窗口的背景色有8種顏色可選,并有4種透明效果;

3)窗口的邊界有6種描述方式,還有邊框的突出、凹進、平面或投影等效果;

4)對文字的排版方式有4種對齊方式、4種打印方式;

5)字幕的動態(tài)效果有滾動、彈出、劃像、淡入淡出效果;

6)對字符的描述有6種字體、64種顏色,還有字符大小設置等。

數字電視隱藏字幕在終端呈現時有5個主要元素,分別為字幕屏幕、字幕窗口、字幕筆、字幕文本和字幕同步。

字幕的呈現效果是通過字幕命令來完成的,按照《字幕規(guī)范》,字幕命令分成3種類型,共14個命令:

1)窗口類型

(1)SetCurrentWindow:指定當前窗口。

(2)DefineWindow:創(chuàng)建窗口,設置初始值。

(3)ClearWindows:清除一組窗口中的文本。

(4)DeleteWindows:刪除一組窗口。

(5)DisplayWindows:使一組窗口變成可見。

(6)HideWindows:使一組窗口變成不可見。

(7)ToggleWindows:窗口顯示/隱藏狀態(tài)切換。

(8)SetWindowAttributes:為當前窗口指定窗口樣式。

2)畫筆類型

(1)SetPenAttributes:為當前窗口設置畫筆樣式屬性。

(2)SetPenColor:指定畫筆的顏色。

(3)SetPenLocation:指定窗口內畫筆光標的位置。

3)同步類型

(1)Delay:延遲服務數據的解析。

(2)DelayCancel:取消一個正在執(zhí)行的延遲命令。

(3)Reset:復位字幕通道業(yè)務。

1.3 字幕語句

在字幕通道中,每個業(yè)務由一系列業(yè)務塊組成,一系列命令、屬性和文本可以組成一個業(yè)務塊。《字幕規(guī)范》中并沒有對業(yè)務塊的組成方式給出具體的規(guī)定,通過研究發(fā)現,如果這些命令組成的不恰當,會給字幕呈現造成混亂。為了便于業(yè)務塊的編輯保存和解析運行,引進了一個“字幕語句”的概念,并對字幕語句做出如下定義與描述:將一個或多個句法單元構成的可以良好地在終端上呈現的一個業(yè)務塊稱為一個隱藏字幕的一條字幕語句(簡稱為語句)。認為業(yè)務塊可由一條或多條字幕語句所組成。每條語句由合適的命令、屬性和文本組成,對它們進行分類并規(guī)定其語法,以避免在實際傳輸中有可能生成無效的或者無法解析的語句。

根據每條語句的組成方式,將字幕語句分為如下三種類型:關于業(yè)務緩沖區(qū)的語句,關于窗口狀態(tài)的語句,關于字幕文本的語句。

1)關于業(yè)務緩沖區(qū)的語句

這類語句有三個命令:Reset,Delay和DelayCancel,它們對業(yè)務緩沖區(qū)有影響,所以稱為緩沖區(qū)控制命令。

Reset和DelayCancel是針對業(yè)務緩沖區(qū)處理的命令,不需要任何參數,也不能與別的命令或字幕文本一起構成語句。所以,這種獨立命令可以構成一個語句,并需要單獨處理。

Delay命令也是針對業(yè)務緩沖區(qū)的,有參數,其作用可使業(yè)務緩沖區(qū)延遲解析,但緩沖區(qū)輸入并沒有停止??梢允褂盟购罄^的字幕命令延時執(zhí)行,比如,Delay后跟隨ClearWindows,意味著某些窗口在延時一段時間后被自動清除。因此,Delay可以單獨成為一個語句,也可成為其他語句的前導。

必須注意,由于Delay是針對業(yè)務緩沖區(qū)的,后面如果有非延遲命令,一定要等到延時期限以后,或者調用DelayCancel取消延時或Reset重置緩沖區(qū)。

2)關于窗口狀態(tài)的語句

(1)ClearWindows:清除一組窗口中的文本。

(2)DeleteWindows:刪除一組窗口的定義。

(3)DisplayWindows:使一組窗口變成可見。

(4)HideWindows:使一組窗口變成不可見。

(5)ToggleWindows:窗口顯示/隱藏狀態(tài)切換。

這些窗口狀態(tài)控制命令,構成語句時不需要字幕文本,但需要加上一組窗口編號。

3)關于字幕文本的語句

將DefineWindow和SetCurrentWindow稱為窗口起始命令,因為它們創(chuàng)建或選擇了某一個窗口。對于字幕文本來說,如果沒有窗口起始命令,很可能這些文本無法對應到一個合適的窗口中,或者對應到一個不正確的窗口中。所以不建議讓字幕文本單獨成為一個字幕語句。

DefineWindow是創(chuàng)建窗口命令,它將創(chuàng)建一個字幕窗口。在該命令中,有預先定制好的窗口屬性和畫筆屬性,但很可能還需要調用屬性命令來修正。其后可以跟字幕文本。

SetWindowAttributes,SetPenAttributes,SetPenColor和SetPenLocation是設置窗口和畫筆屬性的命令,統(tǒng)稱為屬性命令。它們不應獨立構成語句,不然無法知道這些屬性設置是針對哪個窗口的。

選擇窗口命令SetCurrentWindow是選擇已經創(chuàng)建的窗口,其用法與創(chuàng)建命令相同,兩者不能同時使用。為了保證頻道切換時能獲得完整的窗口信息,建議每隔一個時間間隔調用一次創(chuàng)建命令,一直到該窗口被刪除。例如可以設置這個時間間隔為1 s。

這兩個命令在構成一個語句時可以帶上屬性命令和字幕文本。

關于窗口狀態(tài)的語句和關于字幕文本的語句前面可以加Delay作為前導命令。

將緩沖區(qū)控制命令、窗口狀態(tài)控制命令和窗口起始命令稱為主要命令,則字幕語句的組成如圖1所示。

圖1 字幕語句的組成

2 CCDXF的文件結構

為了實現隱藏字幕在臺內的數據交換,借助XML設計了隱藏字幕數據交換格式,簡稱CCDXF。

2.1 隱藏字幕的多語言業(yè)務

隱藏字幕是以業(yè)務為中心,每種業(yè)務代表了一種語言的字幕服務。因此,字幕文件可以提供多種語言的字幕業(yè)務。

字幕文本支持單字節(jié)和雙字節(jié)字符編碼方式。漢字和少數民族文字屬于雙字節(jié)字符,漢字編碼標準有GB2312,GB13000(GBK)和 GB18030。其中 GB18030包括了我國主要的少數民族文字,如藏、蒙古、傣、彝、朝鮮、維吾爾文等[7]。使隱藏字幕在多語言支持方面成為可能。

隱藏字幕可以通過多業(yè)務方式支持多語言字幕的呈現。多語言顯示時可以同時呈現,也可以讓終端用戶二選一或多選一。

隱藏字幕的優(yōu)點之一是可以在視頻完成之后修改已有的字幕業(yè)務,還可以添加新的字幕業(yè)務。由于在最小功能建議中要求只需有兩路字幕業(yè)務可被同時解出,所以,有時要通過調整字幕業(yè)務編號來保證該字幕業(yè)務一定能被解碼。

2.2 隱藏字幕的XML文件結構

在非編的時間線上,一種字幕業(yè)務就會占據一個字幕軌,所以也應該對應一個隱藏字幕文件。

在一個字幕業(yè)務中,需要描述其宿主視頻。如果不止一個視頻流,則應該以最早播放的視頻為準,因為字幕的時碼是相對于該宿主視頻的。接下來就需要考慮的是隱藏字幕出現的時間,就是時碼。還需要考慮字幕所使用的字符集和語言,時碼每秒的幀數。

將這個結構寫成XML形式如下:

各字段解釋如下:

1)CAPTION_SERVICE:字幕業(yè)務ID,可對應多種語言業(yè)務。

2)HOST_VIDEO:宿主視頻文件名。以宿主視頻文件為同步源,如果宿主視頻文件為多個視頻,則以其中第一個視頻為準。

3)LANGUAGE:使用標準中對語言的定義,用文字描述。

4)CHARSET:標準中支持的字符集,寫出標準編號。

5)FRAMERATE:電視制式所定義的幀率,用數字表示。

3 幾種常用的字幕呈現方式

3.1 從右到左底拉

1)創(chuàng)建一個空的窗口,其窗口屬性設置:(1)justify:右對齊。

(2)print direction:從左到右。

(3)scroll direction:從右到左。

(4)wordwrap:禁用自動換行。

2)待播出的字符逐字播出,需要計算每個字符間隔出字的時間。

(3)scroll direction:從右到左。

(4)wordwrap:啟用自動換行。

2)待播出的字符逐字播出,需要計算每個字符間隔出字的時間。

4 CCDXF在MXF格式中的應用

MXF是電視臺內用于節(jié)目傳輸的素材交換格式[8],廣泛使用在非編及播出設備的素材交換中。隱藏字幕經過CCDXF封裝以后可以在MXF中傳輸并解析。

MXF文件包含文件頭、文件體和文件尾三個部分,如圖2所示。

圖2 MXF文件結構

3.2 上滾

1)創(chuàng)建一個空的窗口,其窗口屬性設置:

(1)justify:右對齊。

(2)print direction:從左到右。

(3)scroll direction:從下到上。

(4)wordwrap:禁用自動換行。

2)待播出的字符逐字播出,需要計算每個字符間隔出字的時間。

3.3 字符閃爍

1)創(chuàng)建一個空的窗口,其窗口屬性設置:

(1)justify:右對齊。

(2)print direction:從左到右。

(3)scroll direction:從右到左。

(4)colour:從(0,0,0)到(255,255,255)之間循環(huán)變化。

2)待播出的字符逐字播出,需要計算每個字符間隔出字的時間,同時需要設定字幕顏色漸變時間。

3.4 逐字出字

1)創(chuàng)建一個空的窗口,其窗口屬性設置:

(1)justify:右對齊。

(2)print direction:從左到右。

其中,素材容器是一個外部文件,可插入到MXF文件體中,每個文件體中至少應當包含一個素材容器。MXF素材容器可以包含圖片、聲音、基本數據以及相關的元數據。基于此,CCDXF文件可以編碼成一個素材容器封裝在MXF的一個文件體分區(qū)中進行傳輸。

圖3給出了包含索引表與不包含索引表兩種情況下,素材容器在MXF文件中的插入方式。其中,CBR為不含有索引表的情況,VBR為含有索引表的情況,用于填充每一個流的表格排列。BodyOffset指定了在該分區(qū)中素材容器段相對于以BodySID作為開始標識的素材容器的按字節(jié)抵消。

由圖2與圖3可知,MXF的文件體包含若干個文件體分區(qū),每個文件體分區(qū)由文件體分區(qū)包和素材容器構成。在素材容器中,數據被包含在一個內容包(Cp)序列中。每一個內容包包含系統(tǒng)項目、圖片項目、聲音項目、數據項目以及復合項目等5個項目類型。

CCDXF可作為數據元素存放于數據項目中。首先,將CCDXF文件編碼為一個數據元素,并且令該元素獨立成為一個素材容器;其次,編碼一個文件體分區(qū)包,并將上一步中得到的素材容器插入其后,組成一個文件體分區(qū);最后,將該文件體分區(qū)作為該MXF文件的最后一個文件體分區(qū)封裝其中。

5 結束語

通過實驗,將CCDXF文件嵌入到MXF文件中,并完成了解析工作。對于另外一種媒體交換格式AAF,其做法基本相同。作為數據交換格式,還需要各種非編系統(tǒng)、有關媒資系統(tǒng)和播出系統(tǒng)支持這種格式,以便臺內隱藏字幕數據的交換與存儲。

圖3 素材容器的插入[9]

[1]張蓉暉.數字電視隱藏字幕技術系統(tǒng)及應用前景[J].廣播與電視技術,2013(11):87-91.

[2]田莉莉,張穎.字幕與圖像分離制作同步播出模式適應電視產業(yè)的發(fā)展[J].現代電視技術,2006(10):120-123.

[3]EIA-708-B,Digital television(DTV)closed captioning[S].1999.

[4]ATSC Standard A/53B with Amendment 1:ATSC Digital Televi?sion Standard[S].2001.

[5]BLANCHARD R N.EIA-708-B digital closed captioning imple?mentation[J].IEEE Trans.Consumer Electronics,2003,49(3):59-65.

[6]GY/T270—2013,數字電視隱藏字幕系統(tǒng)規(guī)范[S].2013.

[7]趙生輝.中國少數民族語言電子文件的信息編碼標準研究[J].云南檔案,2011(9):25-27.

[8]曹鋼,田軍.MXF的技術構成及應用[J].電視技術,2005,29(5):63-65.

[9]SMPTE 377M,Proposed SMPTE STANDARD for television Mate?rial Exchange Format(MXF)file format specification(standard)[S].2004.

猜你喜歡
緩沖區(qū)字幕命令
只聽主人的命令
電視劇字幕也應精益求精
移防命令下達后
基于網絡聚類與自適應概率的數據庫緩沖區(qū)替換*
整合適應選擇度下的動畫電影字幕翻譯——以《冰河世紀》的字幕漢譯為例
一類裝配支線緩沖區(qū)配置的兩階段求解方法研究
這是人民的命令
論紀錄片的字幕翻譯策略
字幕翻譯中非言語信息的言語轉換——以《BJ單身日記》字幕翻譯為例
關鍵鏈技術緩沖區(qū)的確定方法研究
临泽县| 广昌县| 民勤县| 桓台县| 榆树市| 青海省| 江孜县| 武穴市| 哈尔滨市| 且末县| 安丘市| 那坡县| 孟村| 蛟河市| 吴川市| 县级市| 平凉市| SHOW| 公主岭市| 安义县| 社旗县| 泉州市| 宁河县| 五指山市| 屏东县| 大新县| 青冈县| 安国市| 曲松县| 民权县| 阳城县| 凤翔县| 永安市| 四会市| 皮山县| 黄梅县| 屏东市| 五大连池市| 米易县| 芦山县| 浦北县|