用於多媒體文件的字體文件優化系統和方法
2023-05-23 11:36:11 2
專利名稱:用於多媒體文件的字體文件優化系統和方法
用於多媒體文件的字體文件優化系統和方法技術領域
本發明總體上涉及具有音頻、視頻和文本數據的多媒體文件,尤其涉及為多媒體 文件優化字體文件。
背景技術:
文本信息的演示是視頻觀看體驗的重要部分。文本信息可以用來表述電影標題、 章節名稱、特定磁軌數據以及字幕。字幕可以用來以不同語言傳達視頻演示的對話,用以幫 助那些聽覺障礙者、聽力理解差的人,或者用以滿足觀眾當前的聽力偏好,並且有時,在可 獲得導演甚至用戶的評論的環境下用以顯示這些評論。
通常,將諸如字幕之類的文本信息隨音頻和視頻數據嵌入到多媒體文件中包括對 字幕文本信息的位像進行遊程編碼。位圖的遊程編碼提供了存儲所述信息的有效方 式,並且由於位圖是文本的圖形表述,而不是文本表述,因此不需要附加條件來渲染字幕, 例如利用嵌入的或固有的字體文件。然而,儘管有這些優點,由於文本信息存儲為位圖,其 很難適應圖像幀尺寸的改變,因此不能根據可接受的視覺效果調節到多種尺寸。除了可調 節性的問題之外,位圖表述不易於作為文本檢索,從分類、元數據和檔案工作的角度講,檢 索是一種具有吸引力的特徵。
採用有關特定語言的已知符號系統的實際文本來表述諸如電影中的標題、章節名 稱和/或對話之類的文本信息,是相對於採用位圖表述所述信息的另一種選擇。在電影中 使用文本通常需要以一般可接受的表述編碼文本。ASCII和Unicode就是兩種這樣的表述, ASCII 一般用於編碼歐洲語言,並且承認最多256個符號,而Unicode可用來表述非常全的 世界語言的100000個以上字符和其他符號。
這種文本的顯示可通過使用位圖與非位像表述(例如在TrueType字體文件 中存儲的表述)的混合方式實現。然而,這些表述的尺寸可能存在問題,尤其是當動態顯示 時或者與使用唯一的符號來表述在其相應詞彙表中每一個單詞的語言一起使用時。
因此,需要提供一種優化的文本產生和顯示系統來克服上述問題和/或本領域中 的其他問題。發明內容
總體而言,本發明提供用於多媒體文件的文本信息產生和播放系統及方法,在該 系統及方法中使用優化的字體文件。在一種實施方式中,為多媒體文件產生文本信息的方 法包括由處理器接收文本數據、原始字體文件和具有音頻和視頻數據的多媒體文件;由 所述處理器根據所述文本數據和原始字體文件產生優化的字體文件。所述產生的字體文件 專門與所述文本數據匹配並且與所述原始字體文件不同。
在另一種實施方式中,為多媒體文件產生文本信息的方法包括由處理器確定具 有音頻和視頻數據的多媒體文件的多個時間段;由所述處理器根據文本數據和原始字體文 件產生多個字體文件。對於每一個確定的時間段,每一個產生的字體文件專門與所述文本數據匹配。
在又一種實施方式中,提供了一種為多媒體文件產生文本信息的文本信息渲染系 統。所述系統包括通用處理器和解復用器,該解復用器設置用於從具有音頻和視頻數據的 多媒體文件提取文本數據。所述處理器設置用於通過對所述文本數據和原始字體文件一起 處理來創建字體文件,產生的字體文件專門與提取的文本數據和至少一個預先確定的字符 匹配。內存連接至所述處理器並且存儲所述產生的字體文件。
在各種實施方式中,所述文本數據可作為單獨的文件或者合併入所述多媒體文 件。
參考下文結合附圖的描述,本發明上面提到的和其他的特徵以及獲得和使用他們 的方法將更加明顯並將得到最好的理解。附圖僅描述本發明的具體實施方式
,並不能因此 限定本發明的範圍。
圖1是根據本發明各種實施方式的多媒體文本信息產生和播放系統的框圖。
圖2A-2B是根據本發明各種實施方式的概念性的字體文件渲染流程的框圖。
圖3是根據本發明各種實施方式的多媒體文本信息產生流程的框圖。
圖4是根據本發明各種實施方式的字符集確定流程的流程圖。
圖5是根據本發明各種實施方式的嵌入式字體文件優化流程的流程圖。
圖6是根據本發明各種實施方式的與給定的多媒體時間軸有關的字體文件的圖 形表述。
具體實施方式
總體而言,本發明提供的多媒體文本信息產生和播放系統包括用於文本信息的優 化的字體文件。所述字體文件相對於原始字體文件在文件尺寸上大大減小。所述字體文件 經過特定的裁剪以僅提供多媒體文件的特定標題所需的字符或文字。在一種實施方式中, 所述字體文件設計成適應關於多媒體文件的特定尺寸和/或時間幀。在各種實施方式中, 規定或配置所述字體文件在多媒體文件播放時動態提供。在各種實施方式中,本發明提供 的多媒體文本信息產生和/或播放系統及方法產生/顯示文本信息,該文本信息是可檢索 的、可調節的和/或降低空間需求。
有很多方法用於沿著視頻演示的音頻磁軌和視頻磁軌嵌入諸如字幕之類的文本 信息。這些方法包括但不限於固定幀圖像(例如JPEG文件),遊程編碼的位像,以 及沿著適於顯示字幕字符的字體文件的任選附件直接嵌入文本。應當注意的是,儘管在整 個本申請中用字幕數據或信息舉例,但其僅僅作為文本信息的一個例子來簡化本發明的描 述,而不應當解釋為這種信息或其適用性僅限於字幕。
正如下面更詳細地描述,對於個人電腦或消費電子設備,字體文件用來渲染待顯 示的文本或字符。字體文件是包含用於顯示字符或符號的一組表述的電子數據文件。這些 表述或字形可以下述形式構成,所述形式包括單個位圖、用於指定字符輪廓的數學公式的 繪圖指令、或者畫出一系列具有特定的尺寸和形狀的線條的指令。採用繪圖指令和數學公 式來指定字形的優點在於,在大體保持字符表述的預期形狀的同時,字符表述的尺寸可以調節到不同大小。字體還可以由位圖和非位圖字形混合組成,其中位圖的規格可用於僅描 述確定的字符尺寸。
此外,一些語言,例如中文、日文和韓文,使用唯一的符號來表述其相應詞彙表中 的每一個單詞。與那些使用唯一字母表中的字母的組合來形成詞的語言相比,構成這些不 同語言的詞的龐大數量導致字體文件非常大。這些語言的字體文件可介於IM到IOM字節 之間,並且有時可達到30M字節。儘管這些字體文件的尺寸對於在個人電腦上處理來說可 能不是問題,但是在嵌入式或消費電子設備中,如此大的字體文件尺寸可能會帶來問題,尤 其是當期望所述字體文件供所述設備的渲染引擎在內存中可動態獲取時。當所需的表述文 件的尺寸超出嵌入式設備的資源處理能力時,這些設備展現出的性能和產生的用戶體驗可 能會不一致。
正如下面更詳細地描述,在本發明提供的有效的方法和系統中,將任意語言的標 準字體文件針對特定的多媒體文件(例如,電影)進行定製,從而只將那些在電影使用的實 際文本元素中出現的字符包含在一個或一個以上字體文件中。與原始字體文件相比,預計 這種優化能減少每個字體文件所需的數據量。儘管這些減少量就絕對數字而言相對整個高 解析度視頻文件的尺寸來說可能顯得小,但所述減少量的影響意義重大,因為在播放設備 的本地內存中在播放期間可用到整個字體文件。這種優化隨之進一步延伸用於甚至更加受 限的內存條件,在該條件下,可為單個電影字幕任選地生成更小的字體文件,所述字體文件 可基於視頻和/或音頻時間軸的進度動態加載。
現在參考圖1,來自具有音頻數據4和視頻數據6的多媒體文件2的文本信息10 與相應的字體文件8 —起由解復用器12分離或提取。解復用器向相應的解碼器提供相應 的數據。這樣,音頻數據被提供給音頻解碼器14,視頻數據被提供給視頻解碼器16,而文本 數據被提供給文本解碼器18。
在一種實施方式中,字體文件存儲在內存17中供文本渲染模塊19訪問。應當理 解,為了成功演示文本數據,所述字體文件提供該文本的所有字符的完整表述。例如,當考 慮到特定語言的字幕,這種語言要求對每一個單詞在字體文件中有一種表述時,字體文件 可能會非常大。而且,因為在許多環境中不能假定播放系統具有表述這種特定字體的現有 且有效的方式,所以為了在電影播放期間處理這些字體可能需要大量的內存。
所述渲染模塊利用解碼的文本數據和從內存取回或選取的字體文件來提供選定 的文本數據,選定的文本數據連同解碼的視頻一起將通過視頻混合器20合併。合併後的視 頻提供給顯示設備、存儲、傳送、或者以別的方式提供以便稍後顯示。在圖示的實施方式中, 在多媒體文件中提供的字體文件是優化的字體文件。在其他各種實施方式中,優化的字體 文件是根據在多媒體文件中提供的字體文件和解碼的文本數據產生。
所述優化的字體文件僅包括為渲染由單個多媒體文件(例如單個電影字幕信息) 的不同文本元素使用的特定字符所需的表述。在所述字體文件中使用的表述可以是位圖、 指令、數學公式的形式,或者是其他利用字體文件來渲染多媒體演示的文本元素中字符的 類似技術的形式。當需要支持多媒體標題的不同語言時,單個文本元素可具有許多唯一的 優化字體文件與之關聯。除了支持不同語言之外,還可以創建定製的和優化的字體文件用 於單個字體的不同格式變化(例如,粗體、斜體)。在一種實施方式中,一些實現方式除了包 括由電影的文本元素使用的單個字符之外,還包括將由優化的字體文件表述的一組預先確定的字符。
然而,通過將字符總數限制到僅由諸如電影字幕之類的多媒體文件使用的數目所 創建的字體文件是為這個單個電影使用而特別設計的,其中這種字體文件不期望於準確地 渲染另一個電影的文本。這種裁剪因而減小了一個或一個以上字體文件的尺寸,尤其是對 如下語言而言,所述語言文本字符表述由多媒體演示(例如電影中的對話)中的不同元素 使用的單個詞。在各種實施方式中的一個或一個以上優化的字體文件隨後可與文本信息一 起被包含在電影中,並且以如下方式復用,所述方式使得所述字體文件可由解碼系統中的 解復用硬體和/或軟體模塊提取。
在圖2A-2B中,示出了優化的字體文件和渲染流程相對未優化的字體文件渲染流 程的概括的概念圖。如圖示的例子所示,優化的字體文件122被限制於針對視頻標題121 的字符,因而比未優化的字體文件120的尺寸小。而且,與利用未優化的字體文件120的文 本渲染引擎123』相比,利用優化的字體文件120的文本渲染引擎123將需要更小的內存來 渲染文本和/或提供更快的渲染結果1 和顯示出的視頻標題125。
現在參考圖3,圖3示出了生成優化的字體文件的流程或系統的一種實施方式,在 圖3中,諸如電影之類的多媒體演示的文本文件21由編碼器/解碼器分析,為像文本文件 21所定義那樣的特定電影確定唯一的字符集。由多媒體文件提供的或者由編碼器/解碼器 以別的方式存儲或訪問的原始字體文件22與所述唯一的字符集相關聯用於字體優化M, 從而產生一個或一個以上優化的字體文件25。
在圖4中,在一種實施方式中通過初始化解碼系統確定唯一的字符集(201)。分 析多媒體文件(20 並且提取文件中全部文本元素(20 。檢查第一個單個字符或者如果 第一個字符已經檢查完則檢查下一個單個字符004)。如果檢查過的字符在字符緩衝區 中005),則流程核對是否所有的字符都已經處理007)。如果是,則流程結束,唯一的字 符集產生。如果檢查過的字符不在所述字符緩衝區中,則將該字符添加到所述字符緩衝區 (206) 0如果所有的字符均已檢查007),那麼流程結束,唯一的字符集產生。否則,檢查下 一個單個字符O04)以重複所述流程。
應當理解,雖然圖2-4舉例說明了為字幕創建優化的字體文件,但是,所述系統或 流程可用於或被重複用來合併電影中的其他全部元素,所述電影需要通過文本表述將信息 傳達給觀眾。在一種實施方式中,可以通過將結果併入表述電影的全部文本元素的單個字 體文件來結束單個優化流程的累積,或者可選地,可為電影中文本信息的每個主要目錄創 建多個字體文件。
圖2-4的一種實施方式的流程或系統可以使用個人電腦或其他計算機工作站在 創作或後期製作階段實現。可選地,如圖5所示,字體文件優化系統或流程可以發生在如下 嵌入式設備中,所述嵌入式設備具有受限制的動態內存量並且幾乎沒有或沒有附加存儲空 間(例如,硬碟驅動磁碟)。當所述系統處於初始化階段時,所述動態內存量可足以完整地 存儲未優化的字體文件;可選地,在處理階段,所述未優化的文本文件可被分段用以適應較 小的動態內存大小。所述字體文件優化流程使嵌入式系統能夠利用較小的內存量來存儲所 需的字體文件。這種內存優化方法可用於視頻和音頻解碼器的處理過程。
在圖5中,初始化解碼系統(101)並分析多媒體文件(102)。選取多媒體文件中的 文本元素(103)並且確定唯一的字符集(104)。確定與未優化的字體文件的尺寸相比可用內存的量(105)。如果有足夠的內存可用,則將未優化的字體文件載入內存(107)並且執 行字體文件的優化(108)以為所述唯一的字符集提供字體文件。將優化的字體文件整體存 儲(109),或者根據未優化的字體文件的分段進行存儲。如果全部字符均已處理(110),則 繼續進行解碼系統的初始化(111)。否則,流程在內存中重複載入下一個未優化的字體文件 片段(107)。如果沒有足夠的內存可用,則將未優化的字體文件分段(106),從而將一個或 一個以上分段的字體文件載入內存(107)。
統一的字體文件
在各種實施方式中,優化的字體文件可用在如下情形,所述情形為表述期望的字 符集的現有的字體文件不存在或者補充的字體文件能更好地表述電影使用的字符。例如, 一些系統可處理本地字體文件,該字體文件旨在表述呈現給他們的多數語言。然而,形成對 來自不同語言的字符集的充分並精確地表述所需的內存量可能過載。結果,在字體文件中 一些字符集可能統一,當同樣的字符出現在不同的語言時,對於根據顯示的一種語言進行 字符表述而言,會導致不良效果,例如,在日語和韓語文字中出現書面漢語字符的元素,而 其中的每個字符應該用與特定語言相適應的字形表述。因此,通過生成優化的字體文件,該 優化的字體文件是針對充分並精確地表述不同語言的字符集的特定多媒體演示而裁剪的, 所述字體文件所佔的內存量與原始的處理本地字體文件所需的內存量相比大大地減小了。 從而,可以避免因使用統一的字體文件帶來的不良效果。然而應當理解,在如下情形中也可 優化統一的字體文件並因此減小文件尺寸,所述情形為統一的字體文件是可用的或者需要 進一步減小文件尺寸。
內存和時序
字體文件優化系統和流程還可延伸用於滿足各種系統的各種內存和/或時序條 件。在這種實施方式中,所述字體文件優化包括對字體文件的最大尺寸的限制。因此,所述 字體文件僅能部分地表述多媒體演示的文本信息。例如,在圖6中,多個字體文件31、32、33 與視頻演示的整個時間軸35相關聯,在所述視頻演示的過程中,諸如字幕之類的文本信息 跨越所述視頻演示的特定時間軸或時間段。對於特定的時間段,在起始和結束時間代碼值 37、38、39用於將字體文件與電影的文本信息相關聯。
如果需要字體文件全部為近似相等的尺寸,那麼可改變由字體文件覆蓋的時間, 例如,一個字體文件可覆蓋比另一個字體文件更長的時間段,其取決於發生的對話的數量 以及表述那些對話的唯一字符的數量。還可創建其全部跨越電影中近似相等的時間段的字 體文件。在這種情形下,字體文件可具有不同的文件尺寸。還可使用一種混合的方法,其中, 遍及固定時間段選擇最大的字體文件,並且對於其他的時間段字體文件的尺寸較小。應當 理解,根據字體文件在電影中的位置以及關於整個視頻時間軸的字幕的隊列,在字體文件 的尺寸和/或他們的時間跨度的一致性上可能會有例外。
對於任意特定的多媒體封裝標準,字體文件的精確表述可能有很大不同。一種 已知的多媒體標準Matroska在如下方面有規定附帶字體文件,並允許預先定義的元素 指定那些附件與諸如字幕之類的特定多媒體磁軌的關聯關係。利用這個用於將單個字 體文件與字幕磁軌關聯的標準的描述,磁軌元素中相同的關聯機制(AttachmentLink) 可重複多次以將多個字體文件與包含字幕數據的磁軌相關聯。另外,可將附件起始時間 (AttachmentStartTime)域和附件結束時間(AttachmentEndTime)域添加到對每一個單獨附件(AttachedFile)的描述中以指示為了渲染特定字幕磁軌的文本元素而使用字體 文件的起始時間和結束時間。一些實施方式可關聯單個字體文件供電影使用,其中可將 AttachmentStartTime設置為零,並且可將AttachmentEndTime設置為表明電影整個持續 期的時間。
同樣的標準可不具有關聯文件(例如,電影標題或磁軌名稱)的其他文本元素的 特定方式,所述文件不是具有特定字體文件的多媒體磁軌層級的一部分。在一種實施方式 中,就Matroska規格或格式而言,所述文件的文本信息與附帶的字體文件的關聯關係可用 如下方式說明
+Tags
+Tag
+SimpleTag
TagName = Font
TagLanguage = jpn
TagBinary = Optimized Font
+Tag
+SimpleTag
TagName = SUMMARY
TagLanguage = jpn
TagString = "a lot of text,,
在上面的描述中,優化的字體文件由基礎標籤(Tag)元素的層級描述,所述Tag元 素將優化的字體文件與使用現有的Matroska Tag機制的一系列文本元素關聯。在本方案 中,字體文件由如上所述的第一個SimpleTag元素描述,該字體文件的實際二進位數據可 封裝為TagBinary域。在第一個SimpleTag結構後面的後續Tag元素可用於處理涉及這種 特定字體描述的全部文本元素。遵循相同的層級結構,作為父Tag的直接子Tag出現的第 二個Tag元素可用於處理第二個字體文件和關聯的文本元素。
雖然上文的描述包括了本發明的許多種特定實施方式,但這些不應該理解為對本 發明範圍的限制,而是作為本發明的一種實施方式的例子。因此,本發明的範圍不應該由舉 例說明的實施方式來確定,而應該由所附的權利要求及其等同內容來確定。
權利要求
1.一種為多媒體文件產生文本信息的方法,所述方法包括由處理器接收文本數據、原始字體文件和具有音頻和視頻數據的多媒體文件;和 由所述處理器根據所述文本數據和原始字體文件產生優化的字體文件,產生的字體文 件專門與所述文本數據匹配並且與所述原始字體文件不同。
2.根據權利要求1所述的方法,其中,所述文本數據包括多個字符,並且所述產生的字 體文件包含僅與所述多個字符相匹配的表述。
3.根據權利要求2所述的方法,其中所述文本數據還包括多個預先確定的字符,並且 所述產生的字體文件包含僅與所述多個字符和所述多個預先確定的字符相匹配的表述。
4.根據權利要求1所述的方法,其中,所述產生的字體文件在文件尺寸上小於所述原 始字體文件。
5.根據權利要求1所述的方法,其中,所述產生字體文件還包括將所述原始字體文件 分段。
6.根據權利要求1所述的方法,其中,所述產生的字體文件不保證可用於與所述接收 到的多媒體文件不同的另一個多媒體文件。
7.根據權利要求1所述的方法,其中,所述產生的字體文件僅可用於所述接收到的多 媒體文件。
8.根據權利要求1所述的方法,還包括通過使用所述文本數據和產生的字體文件來渲 染用於顯示的文本信息。
9.根據權利要求1所述的方法,還包括將所述產生的字體文件合併入所述多媒體文件。
10.根據權利要求1所述的方法,還包括對於所述多媒體文件將至少一個磁軌與所述 產生的字體文件相關聯。
11.根據權利要求1所述的方法,還包括將多媒體文件中的至少一個元數據標籤與非 字幕文本數據的文本元素相關聯。
12.根據權利要求1所述的方法,還包括將標籤層級與多個文本元素和產生的字體文 件相關聯。
13.一種為多媒體文件產生文本信息的方法,所述方法包括由處理器確定具有音頻和視頻數據的多媒體文件的多個時間段;和 由所述處理器根據文本數據和原始字體文件產生多個字體文件,對於每一個確定的時 間段,每一個產生的字體文件專門與所述文本數據匹配。
14.根據權利要求13所述的方法,還包括跨越電影的整個持續時間,將單個字體文件 與確定的時間段相關聯。
15.根據權利要求13所述的方法,還包括將每個字體文件與每個確定的時間段相關聯。
16.根據權利要求13所述的方法,還包括標記每個字體文件以表示每個字體文件可用 於渲染所述文本數據的時間段。
17.根據權利要求15所述的方法,其中,所述多個時間段全部與字幕數據的整個時間 軸對應。
18.根據權利要求17所述的方法,還包括追蹤整個時間軸以及在特定時段僅使用與所述時間段對應的多個字體文件中的一個字體文件來渲染字幕信息,所述時間段與所述被追 蹤的時間軸相關聯。
19.根據權利要求13所述的方法,還包括通過使用所述文本數據和多個字體文件來渲 染用於顯示的文本信息。
20.根據權利要求13所述的方法,還包括將所述產生的字體文件合併入所述多媒體文件。
21.根據權利要求13所述的方法,其中,所述文本數據包括多個字符,並且所述產生的 字體文件全體包括僅與所述多個字符匹配的表述。
22.根據權利要求13所述的方法,還包括將所述多媒體文件中的至少一個磁軌與產生 的字體文件相關聯。
23.根據權利要求13所述的方法,還包括同時將所述多媒體文件中的至少一個磁軌與 多個字體文件相關聯。
24.根據權利要求13所述的方法,還包括將所述多媒體文件中的至少一個標籤與非字 幕文本數據的文本元素相關聯。
25.一種為多媒體文件產生文本信息的文本信息渲染系統,所述系統包括 解復用器,設置用於從具有音頻和視頻數據的多媒體文件提取文本數據;處理器,設置用於根據所述文本數據和原始字體文件產生字體文件,所述產生的字體 文件專門與所述提取的文本數據和至少一個預先確定的字符匹配;和 內存,連接至所述處理器並且存儲所述產生的字體文件。
26.根據權利要求25所述的系統還包括視頻解碼模塊,與所述處理器集成在一起,並且設置用於解碼所述視頻數據; 音頻解碼模塊,與所述處理器集成在一起,並且設置用於解碼所述音頻數據; 文本渲染引擎,設置用於解碼所述提取的文本數據,並通過使用所述產生的字體文件 和解碼後的文本數據來顯示文本信息。
27.根據權利要求25所述的方法,其中,所述處理器在存儲所述原始字體文件之前將 該原始字體文件分段。
全文摘要
本發明提供一種為多媒體文件產生並顯示文本信息的方法和系統。創建優化的字體文件,其與多媒體文件的文本數據相匹配,以及任選地,與多個預先確定的文本字符相匹配。所述優化的字體文件也可進一步設置為適應特定內存和/或時序限制。
文檔編號G06T11/00GK102037494SQ200980113426
公開日2011年4月27日 申請日期2009年6月8日 優先權日2008年6月6日
發明者吉姆·裡斯曼, 庫羅什·索魯希安, 沙伊瓦爾·普裡亞達爾希, 賈森·布拉涅斯 申請人:迪維克斯公司