TWI543612B - 影片字幕處理裝置與方法,以及解析影片字幕之方法 - Google Patents

影片字幕處理裝置與方法,以及解析影片字幕之方法 Download PDF

Info

Publication number
TWI543612B
TWI543612B TW103132241A TW103132241A TWI543612B TW I543612 B TWI543612 B TW I543612B TW 103132241 A TW103132241 A TW 103132241A TW 103132241 A TW103132241 A TW 103132241A TW I543612 B TWI543612 B TW I543612B
Authority
TW
Taiwan
Prior art keywords
subtitle
block
content
movie
time
Prior art date
Application number
TW103132241A
Other languages
English (en)
Other versions
TW201613339A (en
Inventor
黃治壹
邱宏昌
姚志憲
施宗欽
Original Assignee
晨星半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 晨星半導體股份有限公司 filed Critical 晨星半導體股份有限公司
Priority to TW103132241A priority Critical patent/TWI543612B/zh
Priority to US14/849,801 priority patent/US9576609B2/en
Publication of TW201613339A publication Critical patent/TW201613339A/zh
Application granted granted Critical
Publication of TWI543612B publication Critical patent/TWI543612B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8233Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a character code signal

Description

影片字幕處理裝置與方法,以及解析影片字幕之方法
本發明是關於影片字幕,尤其是關於影片字幕處理裝置與方法,以及解析影片字幕之方法。
一般來說影片字幕可以區分為內嵌及外掛兩種。內嵌字幕為影片檔案的一部分,例如一個影片檔可能包含影像部分、聲音部分及字幕部分等,一般的使用者無法直接存取字幕部分;而外掛字幕為獨立於影片檔之外的檔案,使用者可以直接對其做編輯,例如調整時間或是修改文字內容,甚至可以新增他國語言的字幕。外掛字幕檔有許多種格式,「.srt」、「.smi」、「.sub」及「.txt」為幾種較常見的副檔名,依據格式的不同,一個外掛字幕檔可能包含一組或多組字幕,一組字幕代表對應該影片之一套完整的字幕,例如日文字幕、繁體中文字幕或簡體中文字幕各自為一組字幕。一組字幕的每個字幕單元通常包含起始時間、結束時間及字幕內容,或是其變化形。請參閱圖1A,其係習知「.srt」格式之字幕檔內容的示意圖。字幕檔至少包含字幕單元110及字幕單元120,各自包含起始時間112(122)、結束時間114(124)及字幕內容116(126)。當影片的目前播 放時間到達起始時間,對應的字幕內容即被顯示在畫面上,而到達結束時間時該字幕內容從畫面上清除。請參閱圖1B,其係習知「.sub」格式之字幕檔內容的示意圖。字幕檔至少包含字幕單元130及字幕單元140,各自包含起始時間132(142)、結束時間134(144)及字幕內容136(146)。需注意的是,此處的起始時間及結束時間並非直接以時、分、秒顯示,而是必須經過換算。基本欄位150記錄換算的方式,這個例子中以25個畫框(frame)代表1秒,因此字幕內容136實際上是從影片的第1秒顯示至第2秒,其餘類推。
請參閱圖2,其係習知用於處理影片字幕之記憶體的配置圖。記憶體200於播放裝置中專門用於處理字幕之解析與顯示,包含字幕區段210及索引區段220。一般而言,播放裝置支援固定組數的字幕,在這裡以4組為例,這4組字幕的字幕內容分別暫存在字幕子區段212、214、216及218,且每組字幕具有一相對應的索引,分別儲存在索引子區段222、224、226及228。而暫存子區段211係用於播放裝置解析影片字幕檔時暫存待解析的影片字幕單元。以下將搭配處理影片字幕之流程圖來對各記憶體區段之用途作更詳細的說明。請參閱圖3,其係習知解析影片字幕之方法的流程圖。在影片開始播放之前,播放裝置的控制器(例如微處理器或中央處理單元)解析各組影片字幕檔。解析的過程中,先將影片字幕檔的部分內容暫存至記憶體200的暫存子區段211,解析後將影片字幕檔的字幕內容儲存在字幕子區段212、214、216及218的其中之一並建立索引儲存在相對應的索引子區段。之後於影片播放時,再依據使用者所選取的影片字幕從記憶體中找到對應的字幕並顯示。詳細來說,影片字幕處理程序的一開 之一(步驟S310),因為是初始階段,暫存子區段211中尚無任何資料,因此步驟S320及步驟S330無任何可記錄的內容,所以略過該兩步驟而進入步驟S340。此時將發現暫存子區段211無任何資料,因此進入步驟S360,判斷是否已經完成解析整個影片字幕檔?因為正準備開始讀取影片字幕檔,所以判斷為否而進入步驟S370,從儲存媒體中讀取影片字幕檔的部分內容至暫存子區段211。在大多數的情況下,影片字幕檔的大小大於暫存子區段211的大小,所以一個影片字幕檔必須要分多次讀取才能完成解析。之後在暫存子區段211中尋找字幕單元(步驟S350),如果有找到,則先把該字幕單元的字幕內容儲存在字幕子區段212(步驟S320),再將該字幕單元的起始時間和結束時間,連同上一步驟中字幕內容在記憶體200的位置,記錄在索引子區段222(步驟S330),如此便完成一個字幕單元的解析。接下來若暫存子區段211的資料尚未處理完畢(步驟S340),則再尋找下一個字幕單元(步驟S350),直到暫存子區段211的資料全部處理完畢,再判斷是否已經完成解析整個影片字幕檔(步驟S360),如果是,則代表當前的影片字幕檔已完成解析,如果否,則再次進行步驟S370,從儲存媒體中讀取影片字幕檔的另一部分內容至暫存子區段211。當前的影片字幕檔完成解析之後,再重覆此流程以解析其他3個影片字幕檔,並將解析所得的資料填入字幕子區段214、216及218以及索引子區段224、226及228。
請參閱圖4,其係習知播放影片時尋找字幕之方法的流程圖。影片開始播放後,先依據所選取的影片字幕找到其對應的索引子區段(例如索引子區段224)(步驟S410),再依據目前的播放時間從索引中找到應顯示的字幕內容在字幕子區段214中的位置(步驟S420),讀取字幕內容後 通知播放介面顯示(步驟S430),再判斷影片是否已經播放完畢(步驟S440)。如果播放完畢則結束此流程,否則則再尋找下一個應顯示的字幕內容(步驟S420)。
綜上所述,因為記憶體200為顯示字幕時的專屬記憶體,於系統完成時其大小已固定而且不易擴充,難以在事後增加記憶體來增加所支援的字幕組數,所以習知的記憶體配置以及影片字幕的處理方法使播放裝置只能支援固定組數的影片字幕(例如上例中的4組)。再者,因為習知的方法將一組字幕的全部字幕內容暫存在字幕子區段,所以一個字幕子區段通常必須佔用256KB或者更多的儲存空間,而且索引表的資訊複雜(包含每一字幕單元的起始時間、結束時間以及字幕內容在記憶體中的位置),所以一個索引子區段通常必須佔用128KB或者更多的儲存空間;因此當支援4組影片字幕時,就必須提供約1.5MB或者更多的儲存空間。況且習知技術係將所支援的各組字幕全部預先儲存在不同的字幕子區段,如果播放過程中只有其中1組被使用,則其他3組所佔用的記憶體便形成浪費,而且當支援的組數愈多,記憶體浪費的情形將更嚴重。
鑑於先前技術之不足,本發明之一目的在於提供一種影片字幕處理裝置與方法以及解析影片字幕之方法,以增加處理字幕之彈性並節省記憶體。
本發明揭露了一種處理影片字幕之方法,包含:一影片字幕解析步驟,包含:將一影片字幕檔的內容劃分為複數字幕區塊,該些字幕
本發明揭露了一種處理影片字幕之方法,包含:一影片字幕解析步驟,包含:將一影片字幕檔的內容劃分為複數字幕區塊,該些字幕區塊各自包含複數字幕內容,每一字幕內容對應一字幕時間;以及產生一索引表,用以記錄該些字幕區塊各別之一特徵時間,每一該特徵時間係與其所對應之字幕區塊之該些字幕內容所對應的該些字幕時間的其中之一有關;以及一影片字幕讀取步驟,用來找出對應一目前播放時間之一目標字幕內容,包含:依據該目前播放時間及該索引表所記錄之該些特徵時間,從該些字幕區塊中找到對應該目前播放時間之一目標字幕區塊;以及依據該目前播放時間從該目標字幕區塊中找到該目標字幕內容。
本發明另揭露了一種解析影片字幕之方法,包含:將一影片字幕檔的內容劃分為複數字幕區塊,該些字幕區塊各自包含複數字幕內容,每一字幕內容對應一字幕時間;以及產生一索引表,用以記錄該些字幕區塊各別之一特徵時間,每一該特徵時間係與其所對應之字幕區塊之該些字幕內容所對應的該些字幕時間的其中之一有關;其中,播放影片時所需呈現之一目標字幕內容係依據該索引表所記錄之該些特徵時間產生。
本發明另揭露了一種影片字幕處理裝置,用來解析一影片字幕檔並且依據一目前播放時間找出一目標字幕內容,包含:一處理單元,用來將一影片字幕檔的內容劃分為複數字幕區塊並產生一索引表,該索引表記錄該些字幕區塊各別之一特徵時間,並且依據該目前播放時間及該索引表所記錄之該些特徵時間,從該些字幕區塊中找到對應該目前播放時間之一目標字幕區塊,並且依據該目前播放時間從該目標字幕區塊中找到該目標字幕內容,其中該些字幕區塊各自包含複數字幕內容,每一字幕 內容對應一字幕時間,每一該特徵時間係與其所對應之字幕區塊之該些字幕內容所對應的該些字幕時間的其中之一有關;以及一記憶體,包含:一第一記憶體區段,用來儲存該索引表;以及一第二記憶體區段,用來儲存該目標字幕區塊包含之字幕內容。
本發明之影片字幕處理裝置與方法以及解析影片字幕之方法能夠快速建立影片字幕的索引表,以大幅減少解析影片字幕的時間。此外,本發明不需將影片字幕的所有字幕內容預先儲存在記憶體中,而是在影片播放的過程中,動態讀取當時所需的字幕內容至記憶體,因此可以大幅減少記憶體的使用量。而且因為索引表所佔的空間很小,所以只要預留少量的記憶體即可輕易地增加所支援的影片字幕的組數,不會使系統的成本大幅增加。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
110、120、130、140‧‧‧字幕單元
112、122、132、142‧‧‧起始時間
114、124、134、144‧‧‧結束時間
116、126、136、146‧‧‧字幕內容
150‧‧‧基本欄位
200‧‧‧記憶體
210‧‧‧字幕區段
211‧‧‧暫存子區段
212、214、216、218‧‧‧字幕子區段
220‧‧‧索引區段
222、224、226、228‧‧‧索引子區段
S310~S370、S410~S440、S710~S790、S902~S990‧‧‧步驟
505‧‧‧影片字幕檔
510‧‧‧檔案讀寫模組
520‧‧‧系統記憶體
530‧‧‧處理單元
540‧‧‧功能模組記憶體
幕單元
1010‧‧‧對應表
〔圖1A〕為習知「.srt」格式之字幕檔內容的示意圖;〔圖1B〕為習知「.sub」格式之字幕檔內容的示意圖;〔圖2〕為習知用於處理影片字幕之記憶體的配置圖;〔圖3〕為習知解析影片字幕之方法的流程圖;〔圖4〕為習知播放影片時尋找字幕之方法的流程圖;〔圖5〕為本發明之影片字幕處理裝置之一實施例的功能方塊圖; 〔圖6〕為本發明用於處理影片字幕之硬體記憶體的配置圖;〔圖7〕為本發明解析影片字幕之方法的流程圖;〔圖8〕為本發明之索引表與影片字幕檔之對照圖;〔圖9〕為本發明播放影片時尋找字幕之方法的流程圖;以及〔圖10〕為本發明播放影片時字幕單元區段之暫存內容與影片字幕檔之對照圖。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本發明之揭露內容包含影片字幕處理裝置、影片字幕處理方法以及解析影片字幕之方法,能夠使用少量的記憶體快速地解析影片字幕。該裝置與方法可應用於影片播放裝置,在實施為可能的前提下,本技術領域具有通常知識者能夠依本說明書之揭露內容來選擇等效之元件或步驟來實現本發明,亦即本發明之實施並不限於後敘之實施例。由於本發明之影片字幕處理裝置所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本發明之影片字幕處理方法以及解析影片字幕之方法可藉由本發明之影片字幕處理裝置或其等效裝置來執行,在不影響該方法發明之充分揭露及可實施性的前提下,以下方法發明之說明將著重於步驟內容而非硬體。
請參閱圖5,其係本發明之影片字幕處理裝置之一實施例的功能方塊圖。影片字幕處理裝置可以是影片播放裝置的一部分,影片播放裝置例如是電視或多媒體播放器,但不以此為限。影片字幕處理裝置包含檔案讀寫模組510、系統記憶體520、處理單元530、功能模組記憶體540以及影片播放模組550。處理單元530例如是中央處理單元或是微控制器(亦稱做微處理器);系統記憶體520用來儲存影片播放裝置運行時的系統資料或程式碼;功能模組記憶體540為影片播放裝置用於處理影片字幕的專屬記憶體,不與其他的功能模組共用;影片播放模組550則用來控制影片的播放與顯示字幕;檔案讀寫模組510用來控制影片播放裝置存取位於硬碟或快閃記憶體中的影片字幕檔505。系統記憶體520與功能模組記憶體540可以是同一個實體記憶體的不同區段,或是分屬兩個獨立的實體記憶體。請參閱圖6,其係本發明用於處理影片字幕之硬體記憶體的配置圖。功能模組記憶體540包含暫存區段610、索引區段620以及字幕單元區段630。暫存區段610用於解析影片字幕時暫存影片字幕檔的部分資料;索引區段620用於儲存解析字幕後所產生的索引表,一組字幕將得到一個索引表,依據本發明所產生的索引表佔用相當小的記憶體空間,而且解析完一組字幕後,僅需儲存其索引表而不需要儲存其字幕內容,因此即使支援多組字幕,本發明所需的記憶體空間仍相當小;字幕單元區段630用於播放影片時暫存數個字幕單元。
請同時參閱圖7及圖8,圖7係本發明解析影片字幕之方法的流程圖,圖8係本發明之索引表與影片字幕檔之對照圖。解析影片字幕時,先取得待解析的影片字幕檔(步驟S710),取得待解析的影片字幕檔 後取得該影片字幕檔的檔案大小(步驟S720),然後將該影片字幕檔劃分為複數個字幕區塊(步驟S730)。在一個較佳的實施例中,可以預先決定要劃分的區塊個數(例如X,X為正整數),區塊個數將關係到索引表的大小與解析影片字幕檔所花費的時間,假設影片字幕檔的大小為F,則每個區塊的大小等於或近似於F/X。之後依序將影片字幕檔的內容讀入暫存區段610中暫存,並進行解析。暫存區段610的大小可以設計為畫面上單次顯示之字幕所佔用的記憶體大小,也就是一個字幕單元所佔用的大小(例如16KB),因此如果一個字幕區塊包含10個字幕單元,則該字幕區塊必須分10次讀取才能完成解析;然而亦可將暫存區段610設計為較大以節省解析的時間,例如暫存區段610的大小設計為大於等於區塊大小,則每個區塊只需要一次讀取即可完成解析。實際上,暫存區段610的大小可以依據影片字幕檔的大小F做調整,以實際的數字為例,假設預設的區塊數為256,影片字幕檔的大小不超過4MB,則每一區塊的大小將小於16KB(=4MB/256),所以此時暫存區段610的大小可以設計為16KB;然而假設區塊數同樣為256,影片字幕檔的大小介於4MB~8MB,則暫存區段610的大小可以設計為32KB(=8MB/256)以節省解析時間,或是仍然可以設計為16KB,以節省記憶體。而在另一個較佳的實施例中,每次固定以暫存區段610的大小為單位讀取影片字幕檔,因此假設影片字幕檔的大小為F,暫存區段610的大小為R,則影片字幕檔將至多被劃分為F/R個區塊,例如暫存區段610可以同時儲存一個字幕區塊,則區塊數為F/R,然而如果暫存區段610只能同時儲存二分之一個字幕區塊,則區塊數為F/2R。再者,如果要保證區塊數不大於某個臨界值,此臨界值與索引表的大小相關,則必須依據 影片字幕檔的大小調整暫存區段610的大小。以實際的數字為例,假設影片字幕檔的大小不超過4MB,暫存區段610的大小為16KB,則最多可以將影片字幕檔分成256(=4MB/16KB)個區塊,然而如果影片字幕檔的大小介於4MB~8MB,且希望區塊數不超過256,則暫存區段610的大小較佳為大於等於32KB以節省解析時間,或是一個字幕區塊分多次讀取,則暫存區段610的大小可以設計為小於32KB(例如每個字幕區塊分2次讀取,暫存區段610的大小設計為16KB)。不論依據何種方法,影片字幕檔將被劃分為複數區塊,如圖8所示,影片字幕檔820被劃分為至少N+1個字幕區塊(包含第0個字幕區塊821、第1個字幕區塊822以及第N個字幕區塊823),N為大於等於1的正整數,且每個字幕區塊包含複數個字幕單元,例如字幕區塊821總共包含K+1個字幕單元821-0~821-K,字幕區塊822及823分別包含L+1及M+1個字幕單元,K、L、M為正整數。請注意,K、L、M可能相等或不相等,即,每個字幕區塊可能包含相同個數或不同個數的字幕單元,亦有可能某些字幕區塊僅包含1個字幕單元,或甚至沒有包含任何字幕單元(而是儲存影片字幕檔的其他資料)。
請再繼續參閱圖7,當影片字幕檔已被劃分為複數區塊(步驟S730),下一步便讀取字幕區塊(步驟S740)。當步驟S740第一次被執行時,第一個字幕區塊(即圖8所示的字幕區塊0)被讀取,之後當步驟S740再次被執行時,則依照影片字幕檔中字幕單元的時間由小到大的順序,依序讀取其他的字幕區塊。接著在字幕區塊中尋找字幕單元(步驟S750),若有找到字幕單元,則在索引表810中記錄該字幕區塊的特徵時間(步驟S760)。特徵時間可以是字幕區塊的某一字幕單元的時間,例如最 早的字幕單元的時間或是最遲的字幕單元的時間(不以此為限),在一個較佳的實施例中,如圖8所示,特徵時間選用該字幕區塊中最早的字幕單元的時間,因此索引表810在第0個位置記錄第0個字幕區塊821的特徵時間00:00:00,000。而如果步驟S750未找到字幕單元,代表該字幕區塊沒有特徵時間,因此便以該字幕區塊之鄰近的字幕區塊的特徵時間作為該字幕區塊的特徵時間(步驟S765)。在一個較佳的實施例中,當字幕區塊沒有包含任何字幕單元時,直接取用上一個字幕區塊的特徵時間作為該字幕區塊的特徵時間;在另一個較佳的實施例中,則是在索引表中先暫時將該字幕區塊的特徵時間留空,待找到下一個字幕區塊的特徵時間後,再將最新取得的特徵時間回填至先前的留空處。之後讀取索引表時,當發現連續兩個或兩個以上的字幕區塊對應相同的特徵時間時,則依據填入時的規則,只讀取其中編號最小(對應沿用之前的特徵時間)或最大(對應將後來的特徵時間回填)的字幕區塊。在索引表810中記錄完當前字幕區塊的特徵時間後,將索引值加1(步驟S770),以準備填入下一個字幕區塊的特徵時間,也就是同樣依據步驟S740讀取字幕區塊之順序在索引表中填入特徵時間。請注意,步驟S740可能必須讀取同一個字幕區塊一次(例如暫存區段610大於等於一個字幕區塊的大小)或多次(例如暫存區段610小於一個字幕區塊的大小);此外,當暫存區段610小於一個字幕區塊的大小時,亦有可能只讀取一次字幕區塊,例如特徵時間為該字幕區塊中最早的字幕單元的時間,則可以只讀取該字幕區塊最前面的一部分,而略過其他部分以減少解析時間。
接著判斷影片字幕檔820是否已全部讀取完畢(步驟S780),如果還未讀取完畢,則繼續讀取下一個字幕區塊(步驟S740);如果已讀取完畢,則記錄影片字幕檔820的資訊(步驟S790),例如編碼格式(ASCII、Unicode、UTF-8等)、影片字幕檔格式(「.srt」、「.smi」等)以及索引表的列數。如此便完成一個影片字幕檔的解析,而產生索引表將存放在圖6所示的索引區段620的一個索引子區段(索引子區段622、624、626、628的其中之一)中。因為本發明的索引表所儲存的資訊相當精簡(每一個時間特徵只需佔用4Byte的儲存空間,如果總共有256個字幕區塊,則一個索引表的大小為4Bx256=1KB),因此即使最多支援到8組影片字幕,索引區段620的儲存空間也只需要8KB,對比習知技術所需要的儲存空間128KBx8,本發明可大幅節省記憶體。
請參閱圖9,其係本發明播放影片時尋找字幕之方法的流程圖。請同時參閱圖10,其係本發明播放影片時字幕單元區段630之暫存內容與影片字幕檔之對照圖。當影片開始播放時,播放裝置先判斷影片是否為從起始點開始播放(步驟S902),如果是,則讀取目標區塊(此時讀取第0個目標區塊821);如果不是,則依據目前的播放時間從索引表810中找出目標字幕區塊(步驟S904)。例如從時間00:01:00,700開始播放,依據索引表810,此時步驟S904將會找到第N個字幕區塊823作為當前的目標區塊。尋找時可以依序尋找,或是以二分搜尋法(binary search)或其他的演算法尋找。讀取時可以依據字幕區塊與暫存區段610的大小關係,一次同時讀取字幕區塊的所有資料,或是分數次讀取字幕區塊。讀取目標字幕區塊並暫存至暫存區段610後(步驟S906),首先檢查字幕單元區段630是否已 經沒有可用空間(步驟S910)。字幕單元區段630儲存的內容如圖10的對應表1010所示,一列的資料對應一個字幕單元,例如對應表1010第0列的時間對應字幕單元821-0的起始與結束時間,其字幕內容對應字幕單元821-0的字幕內容,而其標記則用來表示該字幕單元是否已經過期(即是否已顯示過,例如以位元0表示已顯示,位元1表示未顯示)。因此步驟S910可能有不同的判斷方法,例如字幕單元區段630的每一列皆有資料,則判斷為無可用空間,接著進行步驟S960來重新整理字幕單元區段630;或是雖然字幕單元區段630的每一列皆有資料,但有些資料標示為已過期,則可以逕行將該些資料覆寫,此時便判斷字幕單元區段630仍有可用空間。字幕單元區段630的大小可以彈性設計,以儲存適當數量的字幕單元使播放時字幕能正確且順暢地顯示為原則,然而也可以同時儲存目標字幕區塊的所有字幕內容。在一個較佳的實施例中,字幕單元區段630儲存16個字幕單元,也就是圖10中的對應表具有16列(R=15)。以一列資料平均而言佔用256Bytes的儲存空間為例,則字幕單元區段630的大小為8KB。
一開始字幕單元區段630沒有資料,因此進入步驟S920,該步驟將解析儲存於暫存區段610中的各個字幕單元,每讀到一個字幕單元,就將該字幕單元的資訊填入對應表1010的適當欄位,然後判斷暫存區段610中的資料是否已經全部處理完畢(步驟S940)。如果尚未全部處理完畢,則再從暫存區段610中尋找下一個字幕單元(步驟S930),如果有找到字幕單元,則前往步驟S910;如果沒找到,則回到步驟S940。如果步驟S940判斷暫存區段610中的資料已經全部處理完畢,則從影片字幕檔821讀取下一個字幕區塊至暫存區段610(步驟S950)。然而如果在前述的步驟 S910~S940解析字幕單元的過程中,暫存區段610中的資料尚未處理完畢但字幕單元區段630就已被填滿,則前往步驟S960。在步驟S960中,字幕單元區段630被重新整理,更明確的說,對應表1010中已顯示過或已過時的字幕單元將被標記為1,而下一次再執行步驟S910時若發現有標記為1的字幕單元,則代表字幕單元區段630仍有空間可以使用,該標記為1的字幕單元可以被清除或覆寫。接下來的步驟S970則依據目前的播放時間從字幕單元區段630中尋找目標字幕內容,也就是依據目前播放時間從對應表1010找到應顯示的字幕內容,例如目前播放時間為00:00:00,105,則步驟S970讀取字幕內容0-1作為目標字幕內容。找到目標字幕內容後,通知播放模組顯示目標字幕內容(步驟S980),接著判斷影片是否已播放完畢(步驟S990)。如果已經播放完畢,則結束此播放的流程;如果還沒播放完畢,則回到步驟S910,依據當前字幕單元區段630的儲存狀況決定要重新整理字幕單元區段630(步驟S960)或是解析暫存區段610中的下一個字幕單元(步驟S920)。上述的步驟S910~S990將反覆執行直到影片播放結束為止。請注意,上述的步驟S960不一定要在步驟S950與步驟S970之間執行,也可以在步驟S970與步驟S980之間或步驟S980與步驟S990之間執行,或甚至在步驟S990與步驟S910之間執行,在上述的任一種變化形中,步驟S950之後緊接著執行步驟S970,並且當步驟S910的判斷結果為是時,即執行步驟S970。也就是說重新整理字幕單元區段630之步驟(步驟S960)可以在尋找目標字幕內容(步驟S970)或顯示目標字幕內容(步驟S980)之前或之後執行,更明確地說,當字幕單元區段630被判斷已滿(步驟S910)至下一回再次判斷(再次執行步驟S910)之間,必須至少執行一次步驟S960,在此前提下,亦可 以在流程的其他時間點選擇性地多次執行步驟S960,例如在找到字幕單元(步驟S930)後再執行一次步驟S960。
綜上所述,本發明提出了一個解析影片字幕的方法以及相對應的顯示影片字幕的方法,兩者可以利用本發明之影片字幕處理裝置執行。相較於習知技術,本發明於解析影片字幕時將影片字幕檔劃分為複數區塊,每個區塊只記錄其特徵時間,因此可以相當快速地完成解析流程,而且所產生的索引表亦相當小,可以節省記憶體空間。再者,於播放時僅暫存少量的字幕內容,而且多組字幕檔共用一個暫存區段,因此相較於習知技術,本發明更大幅節少記憶體的使用量。
由於本技術領域具有通常知識者可藉由圖7及圖9之方法發明的揭露內容來瞭解圖5之裝置發明的實施細節與變化,因此,為避免贅文,在不影響該方法發明之揭露要求及可實施性的前提下,重複之說明在此予以節略。請注意,前揭圖示中,元件之形狀、尺寸、比例以及步驟之順序等僅為示意,係供本技術領域具有通常知識者瞭解本發明之用,非用以限制本發明。另外,本技術領域人士可依本發明之揭露內容及自身的需求選擇性地實施任一實施例之部分或全部技術特徵,或者選擇性地實施複數個實施例之部分或全部技術特徵之組合,藉此增加本發明實施時的彈性。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋 求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
810‧‧‧索引表
820‧‧‧影片字幕檔
821、822、823‧‧‧字幕區塊
821-0、821-1、821-K、822-0、822-1、822-L、823-0、823-1、823-M‧‧‧字幕單元

Claims (19)

  1. 一種處理影片字幕之方法,包含:一影片字幕解析步驟,包含:將一影片字幕檔的內容劃分為複數字幕區塊,該些字幕區塊各自包含複數字幕內容,每一字幕內容對應一字幕時間;以及產生一索引表,用以記錄該些字幕區塊各別之一特徵時間,每一該特徵時間係依據與其所對應之字幕區塊之該些字幕內容所對應的該些字幕時間的其中之一決定;以及一影片字幕讀取步驟,用來找出對應一目前播放時間之一目標字幕內容,包含:依據該目前播放時間及該索引表所記錄之該些特徵時間,從該些字幕區塊中找到對應該目前播放時間之一目標字幕區塊;以及依據該目前播放時間從該目標字幕區塊中找到該目標字幕內容。
  2. 如申請專利範圍第1項所述之方法,其中該將該影片字幕檔的內容劃分為複數字幕區塊之步驟包含:取得該影片字幕檔之大小;依據該影片字幕檔之大小決定一字幕區塊大小;以及以該字幕區塊大小為單位讀取該影片字幕檔以得到該些字幕區塊。
  3. 如申請專利範圍第1項所述之方法,其中該依據該目前播放時間從該目標字幕區塊中找到該目標字幕內容之步驟包含:自該目標字幕區塊之複數字幕內容中選取一預設數量之字幕內容,並記錄該預設數量之每一字幕內容對應之該字幕時間;以及 依據該目前播放時間及該些字幕時間,自該預設數量的該些字幕內容中找出該目標字幕內容。
  4. 如申請專利範圍第3項所述之方法,更包含:標記該目標字幕內容;以及以新的字幕內容取代該已標記之目標字幕內容以更新該預設數量之該些字幕內容。
  5. 如申請專利範圍第1項所述之方法,其中該產生該索引表之步驟包含:依據一順序讀取該些字幕區塊;以及依據該順序記錄該些字幕區塊之該些特徵時間以產生該索引表;其中,若該些字幕區塊之一中間字幕區塊不包含任何字幕,該依據該順序記錄該些字幕區塊之該些特徵時間以產生該索引表之步驟係以該中間字幕區塊之前一字幕區塊之特徵時間及後一字幕區塊之特徵時間之其中之一為該中間字幕區塊之特徵時間。
  6. 如申請專利範圍第1項所述之方法,其中該些特徵時間係其所對應之字幕區塊包含的該些字幕內容所對應的該些字幕時間之最小值及最大值的其中之一。
  7. 一種解析影片字幕之方法,包含:將一影片字幕檔的內容劃分為複數字幕區塊,該些字幕區塊各自包含複數字幕內容,每一字幕內容對應一字幕時間;以及產生一索引表,用以記錄該些字幕區塊各別之一特徵時間,每一該特徵時間係依據與其所對應之字幕區塊之該些字幕內容所對應的該些字幕時間的其中之一決定; 其中,播放影片時所需呈現之一目標字幕內容係依據該索引表所記錄之該些特徵時間產生。
  8. 如申請專利範圍第7項所述之方法,其中該將該影片字幕檔的內容劃分為複數字幕區塊之步驟包含:取得該影片字幕檔之大小;依據該影片字幕檔之大小決定一字幕區塊大小;以及以該字幕區塊大小為單位讀取該影片字幕檔以得到該些字幕區塊。
  9. 如申請專利範圍第7項所述之方法,其中該產生該索引表之步驟包含:依據一順序讀取該些字幕區塊;以及依據該順序記錄該些字幕區塊之該些特徵時間以產生該索引表;其中,若該些字幕區塊之一中間字幕區塊不包含任何字幕,該依據該順序記錄該些字幕區塊之該些特徵時間以產生該索引表之步驟係以該中間字幕區塊之前一字幕區塊之特徵時間及後一字幕區塊之特徵時間之其中之一為該中間字幕區塊之特徵時間。
  10. 如申請專利範圍第7項所述之方法,其中該些特徵時間係其所對應之字幕區塊包含的該些字幕內容所對應的該些字幕時間之最小值及最大值的其中之一。
  11. 一種影片字幕處理裝置,用來解析一影片字幕檔並且依據一目前播放時間找出一目標字幕內容,包含:一處理單元,用來將一影片字幕檔的內容劃分為複數字幕區塊並產生一索引表,該索引表記錄該些字幕區塊各別之一特徵時間,並且依據該目前播放時間及該索引表所記錄之該些特徵時間,從該些字 幕區塊中找到對應該目前播放時間之一目標字幕區塊,並且依據該目前播放時間從該目標字幕區塊中找到該目標字幕內容,其中該些字幕區塊各自包含複數字幕內容,每一字幕內容對應一字幕時間,每一該特徵時間係依據與其所對應之字幕區塊之該些字幕內容所對應的該些字幕時間的其中之一決定;以及一記憶體,包含:一第一記憶體區段,用來儲存該索引表;以及一第二記憶體區段,用來儲存該目標字幕區塊包含之字幕內容。
  12. 如申請專利範圍第11項所述之影片字幕處理裝置,其中該索引表係對應該影片字幕檔所包含之一影片字幕組,該第一記憶體區段更儲存另一索引表,該另一索引表對應另一影片字幕組。
  13. 如申請專利範圍第11項所述之影片字幕處理裝置,其中該處理單元依據該目前播放時間動態更新該第二記憶體區段。
  14. 如申請專利範圍第11項所述之影片字幕處理裝置,其中該記憶體更包含:一暫存區段;其中該處理單元以該暫存區段為單位將該影片字幕檔的內容劃分為該些字幕區塊。
  15. 如申請專利範圍第14項所述之影片字幕處理裝置,其中該處理單元依據該影片字幕檔之大小決定該暫存區段之大小。
  16. 如申請專利範圍第11項所述之影片字幕處理裝置,其中該處理單元自該目標字幕區塊之複數字幕內容中選取一預設數量之字幕內容以及取得該 預設數量之每一字幕內容對應之該字幕時間,並將該該預設數量之字幕內容及字幕時間儲存至該第二記憶體區段,再依據該目前播放時間及該些字幕時間,自該第二記憶體區段中找出該目標字幕內容。
  17. 如申請專利範圍第16項所述之影片字幕處理裝置,其中該處理單元標記該目標字幕內容,並且以新的字幕內容取代該已標記之目標字幕內容以更新該第二記憶體區段。
  18. 如申請專利範圍第11項所述之影片字幕處理裝置,其中該處理單元依據一順序讀取該些字幕區塊,並且依據該順序記錄該些字幕區塊之該些特徵時間以產生該索引表,若該些字幕區塊之一中間字幕區塊不包含任何字幕,該處理單元以該中間字幕區塊之前一字幕區塊之特徵時間及後一字幕區塊之特徵時間之其中之一為該中間字幕區塊之特徵時間。
  19. 如申請專利範圍第11項所述之影片字幕處理裝置,其中該些特徵時間係其所對應之字幕區塊包含的該些字幕內容所對應的該些字幕時間之最小值及最大值的其中之一。
TW103132241A 2014-09-18 2014-09-18 影片字幕處理裝置與方法,以及解析影片字幕之方法 TWI543612B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103132241A TWI543612B (zh) 2014-09-18 2014-09-18 影片字幕處理裝置與方法,以及解析影片字幕之方法
US14/849,801 US9576609B2 (en) 2014-09-18 2015-09-10 Subtitle processing device and associated method and subtitle parsing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103132241A TWI543612B (zh) 2014-09-18 2014-09-18 影片字幕處理裝置與方法,以及解析影片字幕之方法

Publications (2)

Publication Number Publication Date
TW201613339A TW201613339A (en) 2016-04-01
TWI543612B true TWI543612B (zh) 2016-07-21

Family

ID=55526336

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103132241A TWI543612B (zh) 2014-09-18 2014-09-18 影片字幕處理裝置與方法,以及解析影片字幕之方法

Country Status (2)

Country Link
US (1) US9576609B2 (zh)
TW (1) TWI543612B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847995B (zh) * 2016-05-16 2020-07-28 上海幻电信息科技有限公司 一种通过弹幕锚点跳转视频位置的方法
KR20180067247A (ko) * 2016-12-12 2018-06-20 엘지전자 주식회사 이동 단말기
US11588872B2 (en) 2017-06-12 2023-02-21 C-Hear, Inc. System and method for codec for combining disparate content
US10187443B2 (en) 2017-06-12 2019-01-22 C-Hear, Inc. System and method for encoding image data and other data types into one data format and decoding of same
US10419828B2 (en) * 2018-01-08 2019-09-17 Netflix, Inc. Modifying subtitles to reflect changes to audiovisual programs
CN108989897A (zh) * 2018-08-13 2018-12-11 封雷迅 一种按字幕逐句复读的视频播放方法、存储设备及终端
CN109525899A (zh) * 2018-11-19 2019-03-26 青岛海信传媒网络技术有限公司 字幕和视频同步呈现的方法及装置
CN110475139B (zh) * 2019-07-30 2021-08-03 腾讯音乐娱乐科技(深圳)有限公司 一种视频字幕的遮挡方法、装置、存储介质及电子设备
US11432049B2 (en) * 2019-08-29 2022-08-30 Snap Inc. Subtitle splitter
CN112752165B (zh) * 2020-06-05 2023-09-01 腾讯科技(深圳)有限公司 字幕处理方法、装置、服务器及计算机可读存储介质
CN112752156A (zh) * 2020-12-28 2021-05-04 海信视像科技股份有限公司 字幕调整方法及显示设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI247539B (en) * 2004-10-22 2006-01-11 Via Tech Inc Method and system for uploading the sub-title file
JP4618384B2 (ja) * 2008-06-09 2011-01-26 ソニー株式会社 情報提示装置および情報提示方法
JP4569673B2 (ja) * 2008-06-24 2010-10-27 Necカシオモバイルコミュニケーションズ株式会社 字幕付映像再生装置、字幕付映像再生方法及びプログラム
CN101764952A (zh) 2008-11-25 2010-06-30 新奥特(北京)视频技术有限公司 一种基于时段的字幕单编辑、审查和播出方法
CN102739997A (zh) 2011-05-10 2012-10-17 新奥特(北京)视频技术有限公司 一种字幕插件分段渲染方法
GB201109323D0 (en) * 2011-06-03 2011-07-20 We R Interactive Ltd Video game system

Also Published As

Publication number Publication date
US9576609B2 (en) 2017-02-21
US20160086636A1 (en) 2016-03-24
TW201613339A (en) 2016-04-01

Similar Documents

Publication Publication Date Title
TWI543612B (zh) 影片字幕處理裝置與方法,以及解析影片字幕之方法
JP5100746B2 (ja) 映像再生装置および映像再生方法
US7912297B2 (en) Method of indexing image hierarchically and apparatus therefor
KR101102758B1 (ko) 기록매체, 재생장치, 기록방법, 프로그램, 재생방법
CN101800060B (zh) 再现信息存储介质中存储的av数据的方法
RU2378722C2 (ru) Носитель записи, способ и устройство для воспроизведения потоков текстовых субтитров
US8050538B2 (en) Recording medium having data structure for managing reproduction of still pictures recorded thereon and recording and reproducing methods and apparatuses
EP2574049B1 (en) Recording medium, reproducing apparatus, and reproducing method
JP2007522595A (ja) 記録媒体及びテキスト・サブタイトル・ストリームのデコード方法と装置
CN103442300A (zh) 一种音视频跳转播放方法以及装置
JP2007522596A (ja) 記録媒体及びテキスト・サブタイトル・ストリームのデコード方法と装置
US20170206929A1 (en) Video processing apparatus and method
JP2004178788A (ja) 記録装置および記録方法
RU2377669C2 (ru) Носитель записи, имеющий структуру данных для управления различными данными, и способ и устройство записи и воспроизведения
KR100937416B1 (ko) Pvr 장치 및 방법
KR101203380B1 (ko) 디지털 방송 수신기에서의 파일 편집 방법
JP2002170335A (ja) 情報記録再生装置
JP2006245744A (ja) 映像信号記録装置、情報記録媒体および映像信号再生装置
US7848615B2 (en) Medium for storing subtitle data structure of an audio/ video program and method for displaying the same
JP2004363825A (ja) 記録再生装置、記録再生方法、その記録媒体およびプログラム
CN105516779B (zh) 影片字幕处理装置与方法,以及解析影片字幕的方法
US20140185690A1 (en) Multimedia data stream format, metadata generator, encoding method, encoding system, decoding method, and decoding system
JP2012003803A (ja) エンドレス録画再生装置
KR100787748B1 (ko) 디빅스 비디오 재생 장치
KR20030097095A (ko) 영상 또는 오디오 데이터 재생장치에서의 북마크 정보관리방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees
MM4A Annulment or lapse of patent due to non-payment of fees