影片字幕處理裝置與方法,以及解析影片字幕的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是關(guān)于影片字幕,尤其是關(guān)于影片字幕處理裝置與方法,以及解析影片字幕的方法。
【背景技術(shù)】
[0002]一般來(lái)說(shuō)影片字幕可以區(qū)分為內(nèi)嵌及外掛兩種。內(nèi)嵌字幕為影片檔案的一部分,例如一個(gè)影片檔可能包含影像部分、聲音部分及字幕部分等,一般的使用者無(wú)法直接存取字幕部分;而外掛字幕為獨(dú)立于影片檔之外的檔案,使用者可以直接對(duì)其做編輯,例如調(diào)整時(shí)間或是修改文字內(nèi)容,甚至可以新增他國(guó)語(yǔ)言的字幕。外掛字幕檔有許多種格式,
srt”、“.sub”及txt”為幾種較常見(jiàn)的副檔名,依據(jù)格式的不同,一個(gè)外掛字幕檔可能包含一組或多組字幕,一組字幕代表對(duì)應(yīng)該影片的一套完整的字幕,例如日文字幕、繁體中文字幕或簡(jiǎn)體中文字幕各自為一組字幕。一組字幕的每個(gè)字幕單元通常包含起始時(shí)間、結(jié)束時(shí)間及字幕內(nèi)容,或是其變化形。請(qǐng)參閱圖1A,其是已知“.srt”格式的字幕檔內(nèi)容的示意圖。字幕檔至少包含字幕單元110及字幕單元120,各自包含起始時(shí)間112(122)、結(jié)束時(shí)間114(124)及字幕內(nèi)容116(126)。當(dāng)影片的目前播放時(shí)間到達(dá)起始時(shí)間,對(duì)應(yīng)的字幕內(nèi)容即被顯示在畫(huà)面上,而到達(dá)結(jié)束時(shí)間時(shí)該字幕內(nèi)容從畫(huà)面上清除。請(qǐng)參閱圖1B,其是已知sub”格式的字幕檔內(nèi)容的示意圖。字幕檔至少包含字幕單元130及字幕單元140,各自包含起始時(shí)間132(142)、結(jié)束時(shí)間134(144)及字幕內(nèi)容136 (146)。需注意的是,此處的起始時(shí)間及結(jié)束時(shí)間并非直接以時(shí)、分、秒顯示,而是必須經(jīng)過(guò)換算?;緳谖?50記錄換算的方式,這個(gè)例子中以25個(gè)幀(frame)代表I秒,因此字幕內(nèi)容136實(shí)際上是從影片的第I秒顯示至第2秒,其余類(lèi)推。
[0003]請(qǐng)參閱圖2,其是已知用于處理影片字幕的存儲(chǔ)器的配置圖。存儲(chǔ)器200于播放裝置中專(zhuān)門(mén)用于處理字幕的解析與顯示,包含字幕區(qū)段210及索引區(qū)段220。一般而言,播放裝置支持固定組數(shù)的字幕,在這里以4組為例,這4組字幕的字幕內(nèi)容分別暫存在字幕子區(qū)段212、214、216及218,且每組字幕具有一相對(duì)應(yīng)的索引,分別儲(chǔ)存在索引子區(qū)段222、224、226及228。而暫存子區(qū)段211用于播放裝置解析影片字幕檔時(shí)暫存待解析的影片字幕單元。以下將搭配處理影片字幕的流程圖來(lái)對(duì)各存儲(chǔ)器區(qū)段的用途作更詳細(xì)的說(shuō)明。請(qǐng)參閱圖3,其是已知解析影片字幕的方法的流程圖。在影片開(kāi)始播放之前,播放裝置的控制器(例如微處理器或中央處理單元)解析各組影片字幕檔。解析的過(guò)程中,先將影片字幕檔的部分內(nèi)容暫存至存儲(chǔ)器200的暫存子區(qū)段211,解析后將影片字幕檔的字幕內(nèi)容儲(chǔ)存在字幕子區(qū)段212、214、216及218的其中之一并建立索引儲(chǔ)存在相對(duì)應(yīng)的索引子區(qū)段。之后于影片播放時(shí),再依據(jù)使用者所選取的影片字幕從存儲(chǔ)器中找到對(duì)應(yīng)的字幕并顯示。詳細(xì)來(lái)說(shuō),影片字幕處理程序的一開(kāi)始先從儲(chǔ)存媒體中(例如快閃存儲(chǔ)器、硬盤(pán)或固態(tài)硬盤(pán)等儲(chǔ)存媒體)取得該4組影片字幕檔的其中之一(步驟S310),因?yàn)槭浅跏茧A段,暫存子區(qū)段211中尚無(wú)任何數(shù)據(jù),因此步驟S320及步驟S330無(wú)任何可記錄的內(nèi)容,所以略過(guò)該兩步驟而進(jìn)入步驟S340。此時(shí)將發(fā)現(xiàn)暫存子區(qū)段211無(wú)任何數(shù)據(jù),因此進(jìn)入步驟S360,判斷是否已經(jīng)完成解析整個(gè)影片字幕檔?因?yàn)檎郎?zhǔn)備開(kāi)始讀取影片字幕檔,所以判斷為否而進(jìn)入步驟S370,從儲(chǔ)存媒體中讀取影片字幕檔的部分內(nèi)容至?xí)捍孀訁^(qū)段211。在大多數(shù)的情況下,影片字幕檔的大小大于暫存子區(qū)段211的大小,所以一個(gè)影片字幕檔必須要分多次讀取才能完成解析。之后在暫存子區(qū)段211中尋找字幕單元(步驟S350),如果有找到,則先把該字幕單元的字幕內(nèi)容儲(chǔ)存在字幕子區(qū)段212 (步驟S320),再將該字幕單元的起始時(shí)間和結(jié)束時(shí)間,連同上一步驟中字幕內(nèi)容在存儲(chǔ)器200的位置,記錄在索引子區(qū)段222 (步驟S330),如此便完成一個(gè)字幕單元的解析。接下來(lái)若暫存子區(qū)段211的數(shù)據(jù)尚未處理完畢(步驟S340),則再尋找下一個(gè)字幕單元(步驟S350),直到暫存子區(qū)段211的數(shù)據(jù)全部處理完畢,再判斷是否已經(jīng)完成解析整個(gè)影片字幕檔(步驟S360),如果是,則代表當(dāng)前的影片字幕檔已完成解析,如果否,則再次進(jìn)行步驟S370,從儲(chǔ)存媒體中讀取影片字幕檔的另一部分內(nèi)容至?xí)捍孀訁^(qū)段211。當(dāng)前的影片字幕檔完成解析之后,再重復(fù)此流程以解析其他3個(gè)影片字幕檔,并將解析所得的數(shù)據(jù)填入字幕子區(qū)段214、216及218以及索引子區(qū)段224、226及228。
[0004]請(qǐng)參閱圖4,其是已知播放影片時(shí)尋找字幕的方法的流程圖。影片開(kāi)始播放后,先依據(jù)所選取的影片字幕找到其對(duì)應(yīng)的索引子區(qū)段(例如索引子區(qū)段224)(步驟S410),再依據(jù)目前的播放時(shí)間從索引中找到應(yīng)顯示的字幕內(nèi)容在字幕子區(qū)段214中的位置(步驟S420),讀取字幕內(nèi)容后通知播放介面顯示(步驟S430),再判斷影片是否已經(jīng)播放完畢(步驟S440)。如果播放完畢則結(jié)束此流程,否則則再尋找下一個(gè)應(yīng)顯示的字幕內(nèi)容(步驟S420)。
[0005]綜上所述,因?yàn)榇鎯?chǔ)器200為顯示字幕時(shí)的專(zhuān)屬存儲(chǔ)器,于系統(tǒng)完成時(shí)其大小已固定而且不易擴(kuò)充,難以在事后增加存儲(chǔ)器來(lái)增加所支持的字幕組數(shù),所以已的存儲(chǔ)器配置以及影片字幕的處理方法使播放裝置只能支持固定組數(shù)的影片字幕(例如上例中的4組)。再者,因?yàn)橐阎姆椒▽⒁唤M字幕的全部字幕內(nèi)容暫存在字幕子區(qū)段,所以一個(gè)字幕子區(qū)段通常必須占用256KB或者更多的儲(chǔ)存空間,而且索引表的資訊復(fù)雜(包含每一字幕單元的起始時(shí)間、結(jié)束時(shí)間以及字幕內(nèi)容在存儲(chǔ)器中的位置),所以一個(gè)索引子區(qū)段通常必須占用128KB或者更多的儲(chǔ)存空間;因此當(dāng)支持4組影片字幕時(shí),就必須提供約1.5MB或者更多的儲(chǔ)存空間。況且已知技術(shù)是將所支持的各組字幕全部預(yù)先儲(chǔ)存在不同的字幕子區(qū)段,如果播放過(guò)程中只有其中I組被使用,則其他3組所占用的存儲(chǔ)器便形成浪費(fèi),而且當(dāng)支持的組數(shù)愈多,存儲(chǔ)器浪費(fèi)的情形將更嚴(yán)重。
【發(fā)明內(nèi)容】
[0006]鑒于先前技術(shù)的不足,本發(fā)明的一目的在于提供一種影片字幕處理裝置與方法以及解析影片字幕的方法,以增加處理字幕的彈性并節(jié)省存儲(chǔ)器。
[0007]本發(fā)明揭示了一種處理影片字幕的方法,包含:一影片字幕解析步驟,包含:將一影片字幕檔的內(nèi)容劃分為多個(gè)字幕區(qū)塊,這些字幕區(qū)塊各自包含多個(gè)字幕內(nèi)容,每一字幕內(nèi)容對(duì)應(yīng)一字幕時(shí)間;以及產(chǎn)生一索引表,用以記錄這些字幕區(qū)塊各別的一特征時(shí)間,每一該特征時(shí)間是與其所對(duì)應(yīng)的字幕區(qū)塊的這些字幕內(nèi)容所對(duì)應(yīng)的這些字幕時(shí)間的其中之一有關(guān);以及一影片字幕讀取步驟,用來(lái)找出對(duì)應(yīng)一目前播放時(shí)間的一目標(biāo)字幕內(nèi)容,包含:依據(jù)該目前播放時(shí)間及該索引表所記錄的這些特征時(shí)間,從這些字幕區(qū)塊中找到對(duì)應(yīng)該目前播放時(shí)間的一目標(biāo)字幕區(qū)塊;以及依據(jù)該目前播放時(shí)間從該目標(biāo)字幕區(qū)塊中找到該目標(biāo)字眷內(nèi)容。
[0008]本發(fā)明另揭示了一種解析影片字幕的方法,包含:將一影片字幕檔的內(nèi)容劃分為多個(gè)字幕區(qū)塊,這些字幕區(qū)塊各自包含多個(gè)字幕內(nèi)容,每一字幕內(nèi)容對(duì)應(yīng)一字幕時(shí)間;以及產(chǎn)生一索引表,用以記錄這些字幕區(qū)塊各別的一特征時(shí)間,每一該特征時(shí)間是與其所對(duì)應(yīng)的字幕區(qū)塊的這些字幕內(nèi)容所對(duì)應(yīng)的這些字幕時(shí)間的其中之一有關(guān);其中,播放影片時(shí)所需呈現(xiàn)的一目標(biāo)字幕內(nèi)容是依據(jù)該索引表所記錄的這些特征時(shí)間產(chǎn)生。
[0009]本發(fā)明另揭示了一種影片字幕處理裝置,用來(lái)解析一影片字幕檔并且依據(jù)一目前播放時(shí)間找出一目標(biāo)字幕內(nèi)容,包含:一處理單元,用來(lái)將一影片字幕檔的內(nèi)容劃分為多個(gè)字幕區(qū)塊并產(chǎn)生一索引表,該索引表記錄這些字幕區(qū)塊各別的一特征時(shí)間,并且依據(jù)該目前播放時(shí)間及該索引表所記錄的這些特征時(shí)間,從這些字幕區(qū)塊中找到對(duì)應(yīng)該目前播放時(shí)間的一目標(biāo)字幕區(qū)塊,并且依據(jù)該目前播放時(shí)間從該目標(biāo)字幕區(qū)塊中找到該目標(biāo)字幕內(nèi)容,其中這些字幕區(qū)塊各自包含多個(gè)字幕內(nèi)容,每一字幕內(nèi)容對(duì)應(yīng)一字幕時(shí)間,每一該特征時(shí)間與其所對(duì)應(yīng)的字幕區(qū)塊的這些字幕內(nèi)容所對(duì)應(yīng)的這些字幕時(shí)間的其中之一有關(guān);以及一存儲(chǔ)器,包含:一第一存儲(chǔ)器區(qū)段,用來(lái)儲(chǔ)存該索引表;以及一第二存儲(chǔ)器區(qū)段,用來(lái)儲(chǔ)存該目標(biāo)字幕區(qū)塊包含的字幕內(nèi)容。
[0010]本發(fā)明的影片字幕處理裝置與方法以及解析影片字幕的方法能夠快速建立影片字幕的索引表,以大幅減少解析影片字幕的時(shí)間。此外,本發(fā)明不需將影片字幕的所有字幕內(nèi)容預(yù)先儲(chǔ)存在存儲(chǔ)器中,而是在影片播放的過(guò)程中,動(dòng)態(tài)讀