CN1856036A - 字幕产生设备和方法 - Google Patents
字幕产生设备和方法 Download PDFInfo
- Publication number
- CN1856036A CN1856036A CNA2006100774987A CN200610077498A CN1856036A CN 1856036 A CN1856036 A CN 1856036A CN A2006100774987 A CNA2006100774987 A CN A2006100774987A CN 200610077498 A CN200610077498 A CN 200610077498A CN 1856036 A CN1856036 A CN 1856036A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- subtitle
- captions
- internal
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation 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/8205—Transformation 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/8233—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/806—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
- H04N9/8063—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Circuits (AREA)
- Controls And Circuits For Display Device (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
为了在数字电影放映系统中产生字幕,关键是在放映电影时减轻处理字幕的负担。提供一种用于数字电影放映系统的字幕产生设备,包括:存储电影字幕文件的存储单元;控制器,用于根据字幕文件产生内部文件;和字幕处理器,用于解码用来产生字幕的内部文件并且将字幕和电影画面彼此合并,其中字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件和一个或多个包括图像数据的图像文件,在所述主文件中描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容,以及控制器在显示电影之前从字幕文件中产生内部文件。
Description
相关申请的交叉引用
本申请包括涉及2005年4月28日在日本专利局提交的日本专利申请JP2005-132849的主题,在此通过引用合并其整个内容。
技术领域
本发明涉及用于数字电影放映系统的字幕产生设备和方法。
背景技术
现在,数字电影放映系统已经非常流行了,这种系统通过使用数字数据而不是任何胶片作为画面源将电影放映到大屏幕上。美国主要电影公司的行业团体的数字影院创制有限责任公司(Digital Cinema Initiatives,LLC(DCI))提出了一种数字电影标准(于2005年4月28日在线访问的LCC(DCI)的网址为:URL:http//www.dcimovies.com/)。
根据DCI提出的数字电影标准,用JPEG 2000中所规定的技术以每秒24个画面的速率对以2000(1920H×1080V)乘4000(4096H×2160V)像素为格式的静止画面进行编码。
而且,DCI提议了一种规范,在该规范下把要与画面合并的字幕形成为与画面数据分开的文件中以分发给用户(电影院),从而用户可以在放映的时候将画面和字幕彼此合并。
由SMPTE(Society of Motion Picture and Television Engineers,电影和电视工程师协会)的技术委员会的“数字影院技术”分委员会(DC 28)(网址:http://www.smpte.org/engineering_committees/technology_committees/)对该规范进行详细的标准化。
图1示出了数字电影放映系统中的字幕文件产生/放映的例子。
如图1所示,总体上用附图标记1指示的数字电影放映系统包括:内容创作方系统2,用于创作内容并且将内容以预定的格式形成数据;以及用户端系统3,将其装配在要将画面放映到屏幕上的影院中。
上面的内容创作方系统2产生表示要作为字幕显示在画面上的信息的文本数据、关于要作为字幕显示的每个字符字体的实体数据以及当显示字符、图形等时要作为字幕显示的但不由文本数据表示的图像数据,而且将这些数据提供给字幕文件产生器2-1。字幕文件产生器2-1将文本数据、实际字体数据(substantive font data)和图像数据变换为由SMPTE规定的预定格式的字幕文件10。将在内容创作方系统2中这样产生的字幕文件10封包到(例如)记录介质中,并且分发到用户端系统3。或者,可以将字幕文件10从内容创作方系统2经由网络等传送到用户端系统3。
用户端系统3经由记录介质或者网络从内容创作方系统2接收字幕文件10,并且将其存储到内容存储单元200。内容解码器100读出、解码在内容存储单元200中所存储的字幕文件10(XML文件11、字体文件12和PNG文件13),描绘字幕并且将所描绘的字幕与画面合并在电影中。把要与字幕合并的电影画面数据提供给诸如放映机之类的画面输出单元300并且放映到屏幕上。
字幕文件10包括上述的作为主文件的XML文件11、字体文件12和PNG文件13。
以XML(可扩展置标语言;一种文档置标语言)描述XML文件11。XML文件11已经在其中针对每个元素(例如,每个场景)描述了表示要作为字幕显示的字母和符号的文本数据,以及表示当显示文本数据时针对每个元素的显示时间、显示位置、字体类型等的控制数据。而且,为了作为字幕显示PNG数据,XML文件11已经在其中描述了PNG数据的文件名(在经由网络获取文件的情况下,为网络上的位置,如URL),以及表示用于显示PNG数据的针对每个元素的显示时间、显示位置等的控制数据。
字体文件12在其中存储了用于将文本数据作为图像在屏幕上显示的字体实际,例如,关于诸如哥特式字体之类的关于字体的实体数据。许多电影使用电影专用的、与一般图书和计算机中所使用的字体不同的特殊字体。内容创作者将从字体作者处获取使用这种字体的许可,并在字体文件中对该字体进行描述。
PNG文件13已经在其中存储了关于特殊字体、符号、图形等的图像数据,这些数据不包括在字体文件12中而是以PNG形式为在屏幕上进行显示准备的。由于PNG文件13是针对其中显示字幕图像的一个电影中的每个场景形成的,所以根据情况可能为每个电影形成几千个文件。
图2示出了在内容存储单元200中所存储的字幕文件10的目录/文件结构的例子。
在图2中,“STP”代表字幕文件10。在STP中形成有xml文件夹、字体文件夹和PNG文件夹。
xml文件夹具有存储其中的XML文件11(subtitle.xml)。在字体文件夹中存储了一个或多个引用于XML文件11中的字体文件12(MovieFont.ttf、MovieFont2.ttf、MovieFont3.ttf)。存在有与在一个电影中所显示的字幕中所使用的字体类型一样多的字体文件12。在PNG文件夹中存储引用于XML文件11中的一个或多个PNG文件13(PNG001.PNG,PNG002.PNG,PNG003.PNG,...,PNGxxx.PNG)。
随后,将示出在如SMPTE所规定的XML文件11中所作的示例描述。--------------------------------
<Subtitle SpotNumber=″3″
TimeIn=″00:00:13:000″TimeOut=″00:00:16:000″
FadeUpTime=″00:00:00:020″FadeDownTime=″00:00:00:020″>
<Font ID=″MovieSubtitleFont3″Script=″normal″Effect=″border″
Italic=″no″Underline=″no″Weight=″normal″
Color=″FFFFFFFF″EffectColor=″FF000000″Size=″42″>
<Text Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″10″Direction=″ltr>
(Characters in the movie subtitle font3)
</Text>
<Text Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″4″Direction=″ltr″>
(Characters in the second line)
</Text>
</Font>
</Subtitle>
------------------------------------
用以描述上述XML文件11的格式中的每个项目具有下述含意。
在<Subtitle>和</Subtitle>之间所定义的字段中对字幕数据进行各种描述。SpotNumber=″xxx″指示字幕的场景号码(元素号码)。
TimeIn=″HH:MM:SS:EEE″是开始进行字符或者画面显示的时间。TimeIn=″HH:MM:SS:EEE″是结束字符或者画面显示的时间。FadeUpTime=″HH:MM:SS:EE″是从100%透明转换到完全不透明所用的时间。FadeDownTime=″HH:MM:SS:EE″是从完全不透明转换到100%透明所用的时间。
在<Font>和</Font>之间的区域中描述字体信息。
ID=″xxxxxxx″是字体文件的名称。Script=″xxxxxxx″规定是将字体形成为上标(superscript)、下标(subscript)还是正常地沿着基线(base line)。Effect=″xxxxx″规定是否要将字体加轮廓(outline)、加阴影或者正常。Italic=″xx″规定是否将字体倾斜。Underline=″xxxxx″规定是否将字体加下划线。Weight=″xxxxx″规定是否以粗体形成字体。Color=″xxxxx″规定要形成的字体的颜色。EffectColor=″xxxxx″规定在已经用Effect选择了加轮廓或者加阴影的情况下,对字体加轮廓或加阴影所使用的颜色。Size=″xxxxx″规定形成字体的尺寸。
在<Text>和</Text>之间的字段中描述文本信息。
Halign=″xxxxx″规定字符或者画面参照Hposition的水平位置。Hposition=″xxxxx″规定用于字符或者画面的水平位置的基准。例如,当Halign=Left时,将屏幕的左边规定为基准。当Halign=right时,将屏幕右边规定为基准。当Halign=Center时,将屏幕中心规定为基准。Valign=″xxxxx″规定字符或者画面参照Vposition的垂直位置。Vposition=″xxxxx″规定用于字符或者画面的垂直位置的基准。例如,当Valign=Top时,将屏幕的上边规定为基准。当Valign=Bottom时,将屏幕下边规定为基准。当Valign=Center时,将屏幕中心规定为基准。Direction=″xxxxx″规定字符要被描绘的方向。而且,在没有</Text>的地方所描述的文本的内容是作为字幕显示的字符的内容。
在由用于描绘字幕的内容解码器100中的字幕处理器来处理包括上述XML文件的字幕文件10的情况下,该字幕处理器必须进行下面操作。
首先,字幕处理器从<Subtitle...和</Subtitle>之间定义的字段中提取信息TimeIn、TimeOut、FadeUpTime和FadeDownTime。
随后,字幕处理器从<Font...和</Font>之间定义的字段中提取信息Italic、Underline、Weight、Color和EffectColor。
然后,字幕处理器确定在<Text...和</Text>之间定义的字段中是否存在两行字符串,提取信息Halign、Hposition、Valign和Vposition,然后确定在上面两行的第一行中的字符信息是″Characters in the movie subtitle font 3(在电影字幕字体3中的字符)″并且在第二行中的字符信息是″Characters in the second line(在第二行中的字符)″。
随后,由SMPTE所规定的XML文件11中所进行的另一个示例描述。
-----------------------------------
<Subtitle SpotNumber=″1″
TimeIn=″00:00:05:000″TimeOut=″00:00:15:000″
FadeUpTime=″00:00:00:020″FadeDownTime=″00:00:00:020″>
<Image Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″10″>
.\STP\PNG\PNG001.png
</Image>
</Subtitle>
------------------------------------------------
用以描述上述XML文件11的格式中的每个项目具有下述含意。
注意,将不再解释具有与参照前面的XML文件11已经解释的那些格式相同内容的那部分格式。
在<Image...和</Image>之间所定义的字段中描述了当将图像数据作为字幕显示时关于PNG文件的图像数据的信息。
Halign=″xxxxx″规定图像参照Hposition的水平位置。Hposition=″xxxxx″规定用于图像的水平位置的基准。Valign=″xxxxx″规定图像参照Vposition的垂直位置。Vposition=″xxxxx″规定用于图像的垂直位置的基准。
而且,在没有</Image>的地方规定了要作为字幕显示的PNG文件13的实际所存在的文件存储位置或者网络地址。
在由内容解码器100中的字幕处理器为了描绘字符对包括上述XML文件11的字幕文件10进行处理的情况下,字幕处理器必须进行下面操作。
首先,字幕处理器从<Subtitle...和</Subtitle>之间定义的字段中提取信息TimeIn、TimeOut、FadeUpTime和FadeDownTime。
然后,字幕处理器从<Image...和</Image>之间定义的字段中提取信息Halign、Hposition、Valign和Vposition,访问内容存储单元200或者网络以从文件存储位置读出PNG文件13,而且对PNG文件13进行解码。
在数字电影放映系统1中的用户端系统3如上所述对字幕进行处理。
假设一个场景包括20个字符(40字节)而一个电影包括3000个场景,则字幕的文本数据部分的大小将会是120千字节。而且,在考虑到诸如转换到XML之后的控制数据之类的开销时,包括文本数据和其他控制数据的XML文件11的大小将会有几兆字节。
而且如果一个文件大约是几十兆字节并且一个电影需要5种字体,则对于每个电影来说字体文件12的大小将会是100兆字节。
假设一个文件包括100千字节而一个电影包括3000个场景,则对于每个电影PNG文件13的大小将是300兆字节。而且,假设一个文件包括300千字节,则对于每个电影PNG文件13的大小将是900兆字节。
XML文件11和字体文件12的总尺寸大约是100兆字节,其相对较小。为了让字幕处理器处理文件,对于将XML文件11和字体文件12预先从内容存储单元200传送到内容解码器100中的字幕处理器中的工作存储器中,这样的尺寸是合适的。
在另一方面,PNG文件13的总尺寸是300兆字节或者更多。由于在放映电影之前不能将整个PNG文件13预先传送到字幕处理器中的工作存储器中,所以需要在必要时访问内容存储单元200以适当地传送PNG文件13而同时为了放映对PNG文件13进行处理。
但是,如果频繁地进行文件传送,则每个处理电路的文件访问和控制将彼此冲突,可能导致文件传送的延迟、文件丢失或者控制延迟,从而降低系统控制的可靠性。
而且,即使不怀疑还可以将XML文件11和字体文件12传送到字幕处理器中的工作存储器中,但是解释字幕数据以提取信息对于由能够进行集成(integrating)操作的处理器实施的字幕处理器来说是一个负担。
因此最好通过提供字幕产生设备和方法来克服现有技术中的上述问题,所述方法能够为放映电影以减轻的字幕处理负担在数字电影放映系统中产生字幕。
发明内容
根据本发明,提供用于数字电影放映系统的字幕产生设备,该字幕产生设备包括:
存储单元,在其中存储电影字幕文件;
控制器,用于根据字幕文件产生内部文件;和
字幕处理器,用于解码用来产生字幕的内部文件并且将字幕和电影画面彼此合并,其中
字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;
内部文件是通过将主文件的描述内容与字体和图像文件的实体数据合并而成的主、字体和图像文件集合体;以及
控制器在显示电影之前从字幕文件中产生内部文件。
根据本发明,还提供用于数字电影放映系统的字幕产生设备,该字幕产生设备包括:
存储单元,在其中存储电影字幕文件;
控制器,用于根据字幕文件产生内部文件;和
字幕处理器,用于解码用来产生字幕的内部文件并且将字幕和电影画面彼此合并,
字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;
内部文件包括索引部分,在其中描述对于画面数据部分的每个元素的数据尺寸和要显示每个元素的时间;
控制器在显示电影之前从字幕文件中产生内部文件。
根据本发明,还提供在数字电影放映系统中产生字幕的方法,其中:
事先在记录介质中存储字幕文件,该字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;
在放映电影之前事先通过根据字幕文件将主文件的描述内容与字体和图像文件的实体数据合并产生了作为主、字体和图像文件的集合体的内部文件;和
在放映电影画面的同时通过对内部文件进行解码来产生字幕文件,并与电影画面进行合并。
根据本发明,还提供在数字电影放映系统中产生字幕的方法,其中:
事先在记录介质中存储了字幕文件,该字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;和
在放映电影之前从字幕文件中产生内部文件,该内部文件包括索引部分,在其中描述对于画面数据部分的每个元素的数据尺寸和要显示每个元素的时间。
在根据本发明的字幕产生设备和方法中,在放映电影之前产生包括主文件、字体文件和图像文件的字幕文件作为集成了多个文件的内部文件。
因此,所述字幕产生设备和方法能够在放映电影时以减轻的字幕处理负担在数字电影放映系统中产生字幕。
附图说明
图1示出了在数字电影放映系统中的字幕文件产生/放映块;
图2示出了在内容存储单元中所存储字幕文件的目录/文件结构;
图3示出了根据本发明的数字电影放映系统的框图;
图4示意地示出了在根据本发明的数字电影放映系统中用户(影院)端的系统;
图5示出了内容解码器的框图;
图6示出了产生内部文件的头部时所进行的操作流程;
图7示出了从图6的流程图延续的流程图;
图8示出了产生内部文件的文本数据部分时所进行的操作流程;
图9示出了从图8的流程图延续的流程图;
图10示出了产生内部文件的画面数据部分时所进行的操作流程;
图11示出了产生内部文件的索引部分时所进行的操作流程;
图12示出了传送内部文件时所进行的操作流程;
图13示出了内容解码器的第一种变形的框图;
图14示出了内容解码器的第二种变形的框图;
图15示出了在图14的第二变形中传送内部文件时所进行的操作流程;
图16示出了从图15的流程图延续的流程图;
图17示出了在第二变形中以另外方式传送内部文件时所执行的操作流程;和
图18示出了从图17的流程图延续的流程图。
具体实施方式
下面将参照附图作为本发明的实施方式详细描述数字电影放映系统。应该注意,将在下面进行描述的数字电影放映系统是DCI建议的能够放映数字电影的系统。
总体描述
图3示出了数字电影放映系统的框图,而图4示意地示出了在根据本发明的数字电影放映系统中的用户(影院)端的系统。下面将在用户端的系统称为“用户端系统”。
如图3所示,总体用附图标记1指示的数字电影放映系统包括:内容创作方系统2,用于创作内容并且将该内容形成为具有预定格式的数据;以及用户端系统3,安装在电影院中,用于将画面放映到屏幕上。
如图3和4中所示,用户端系统3包括:内容解码器100,用于从作为画面、声音和字幕的电影源的画面文件、声音文件和字幕文件中分别对画面、声音和字幕进行解码;内容存储单元200,其包括一组(例如)硬盘以分别存储作为画面、声音和字幕的电影源的画面、声音和字幕文件;画面输出单元300,用于将由内容解码器100解码的画面进行放映;控制计算机400,用于从外部对内容解码器100进行控制或者进行操作;屏幕500,从画面输出单元将画面放映到其上;以及声音输出单元600,用于输出由内容解码器100所解码的声音。
注意为了保持作为电影源的画面、声音和字幕文件的安全性,对用户端系统3中的内容解码器100和内容存储单元200进行设计以实现这样的安全性:不能对源数据制作物理和电子引用。
内容创作方系统2创作每个都基于SMPTE标准的画面文件20、声音文件30和字幕文件10,并且将它们经由记录介质或网络传送到用户端系统3。画面文件20、声音文件30和字幕文件10是用于电影放映的源并且替代了传统胶片的位置。画面文件20包括用于显示画面的数据,声音文件30包括用于输出声音的数据,而字幕文件10包括用于描绘正在被叠加在画面上的字幕的数据。
字幕文件10与已经在前面参照图2在“背景技术”部分中所解释的字幕文件类似。即字幕文件10包括XML文件11、字体文件12和PNG文件13。
用户端系统3从内容创作方系统2接收画面文件20、声音文件30和字幕文件10,并且将它们存储到内容存储单元200。
当电影放映开始时,由内容解码器100读出和解码在内容存储单元200中存储的画面文件20、声音文件30和字幕文件10。内容解码器100对画面文件20进行解码以产生具有字幕合并其中的画面数据,并且将该画面数据提供给画面输出单元300。画面输出单元300将所提供的画面数据放映到屏幕500上。而且,内容解码器100还解码声音文件30以产生声音数据,并且将该声音数据提供给声音输出单元600。声音输出单元600将所提供的声音数据从扬声器输出。
在内容创作方系统2中,在放映电影之前将字幕文件10(XML文件11、字体文件12和PNG文件13)预先集成从而形成以预定格式(之后将称为“内部格式”)描述的一个内部文件40。在放映电影时,内容解码器100读出内部文件40而不是字幕文件10以对字幕进行解码和描绘。而且,由控制计算机400从字幕文件10中产生内部文件40。
注意后面将详细描述内部文件40和从字幕文件10中产生内部文件40。
内容解码器
将参照图5在下面描述所构造的内容解码器100。
如图5中所示,内容解码器100包括:第一网络接口111,用于与控制计算机400进行通讯;光纤信道接口112,用于与内容存储单元200进行快速通讯;主机CPU(中央处理单元)113;主存储器114,作为主机CPU 113的工作存储器;以及第二网络接口115,主机CPU 113通过其与内容存储单元200进行通讯。
内容解码器100还包括:画面/声音处理单元120,用于分析控制数据等并且对画面和声音进行解码;以及字幕处理电路130。
内容解码器100还具有连接到第一网络接口111的总线116、光纤信道接口112、主机CPU 113和画面/声音处理电路120。在主机CPU 113的控制下在它们之间进行通讯。
画面/声音处理电路120包括:总线接口121,用于通总线116进行通讯;内容语法处理器123,用于解释数据的内容语法,判断数据是画面、声音还是字幕,而且将它们适当地分发;本地存储器122,其作为内容语法处理器123的工作存储器;声音解码器124;画面解码器125;信号处理CPU 126,用于对画面解码进行各种控制;主存储器127,其作为信号处理CPU 126的工作存储器;以及帧缓存器(画面/字幕合成器)128,用于临时存储由画面解码器125所解码的画面,并且将所存储的画面与由字幕处理单元130所处理的字幕图像进行合并。
字幕处理电路130包括:字幕处理器131,用于解码和描绘字幕;本地接口132,用于从内容语法处理器123中接收与字幕有关的数据;主存储器133,其作为字幕处理器131的工作存储器;接口存储器134,用于在画面/声音处理电路120的信号处理CPU 126和字幕处理器131之间进行通讯;缓存器存储器135,用于作为图像描绘所解码的字幕;以及字幕存储器136,用于存储从内容存储单元200接收的还没有被解码的数据。
下面将描述如上所述进行构造的内容解码器100的操作:
将由内容创作者产生的画面文件20、声音文件30和内容文件40存储在内容存储单元200中。主机CPU 113访问在内容存储单元200中所存储的每个文件以经由光纤信道接口112或者第二网络接口115来获取每个文件。主机CPU113将这样获取的每个文件经由总线116传送到画面/声音处理电路120。
将传送到画面/声音处理电路120的每个文件经由总线接口121传送到内容语法处理器123。内容语法处理器123对所提供的文件进行语法处理,以将其分解为画面文件20、声音文件30和内部文件40。其传送画面文件20到画面解码器125,传送声音文件30到声音解码器124,而且将内部文件40经由字幕处理电路130的本地接口132传送到字幕存储器136。
字幕处理器136将曾经存储在字幕存储器136中的内部文件40的字体部分和文本数据传送到主存储器133,并且经由接口存储器134、信号控制CPU 126和总线116通知主机CPU 113放映准备就绪。
主机CPU 113接收声音解码器124、画面解码器125对于放映准备就绪的信息,以及上述经由信号控制CPU 126和总线提供的信息,从而确定数字电影放映系统1已经准备就绪进行放映。在该确定之后,主机CPU 113将放映开始控制信号经由总线116和信号控制CPU 126发送到声音解码器124和画面解码器125,同时经由总线116、信号控制CPU 126和接口存储器134传送到字幕处理器131。
在从主机CPU 113接收显示开始控制信号之后,字幕处理器131将存储在字幕存储器136中的PNG数据部分传送到主存储器133,继续进行对PNG数据部分的解码而且将解码过的静止画面数据写入到缓存器存储器135。字幕处理器133还继续进行对已经存储的文本数据部分和用于描绘的字体部分的处理,并且将处理结果写入到缓存器存储器135。将这样描述的静止画面数据和字符数据传送到帧缓存器128,在128中将它们与画面解码器125中的输出运动画面数据进行合并。将这样合成的图像提供给画面输出单元300。类似地,将来自声音解码器124的声音数据提供给声音输出单元600。
从字幕文件中产生内部文件
下面将描述把字幕文件10转换为内部文件40:
在用户端系统3中,在放映电影之前将由内容创作者所产生的字幕文件10转换为内部文件40以在放映的时候减轻字幕处理的负担。
内部文件40是作为XML文件11、一个或多个字体文件12以及字幕文件10中的一个或多个PNG文件13的集合体的合成文件。
更具体地说,内部文件40按照原样反应在字幕文件10中的XML文件11中的每个控制信息的提取的描述。而且,如果在XML文件11中描述了字体文件12的名称(URL),则在内部文件40中预先读出并且获得字体文件12中的实体数据。而且,如果在XML文件11中描述了PNG文件13的名称(或URL),则在内部文件40中预先读出并且获得实体数据。
而且,内部文件40包括从其上向其下以下述顺序排列的索引部分、头部部分、文本数据部分和画面数据部分。
头部部分包括用于在字幕文件10的开头中描述的字幕文件10的整个内容的标识和字体文件20中的实体数据的信息。
文本数据部分包括在字幕文件10中描述字幕信息的部分(定义在<Subtitle>和</Subtitle>之间)中的描述文本数据的部分(定义在<Text>和</Text>之间)中的描述,以及字幕文件10中描述字体信息的部分(定义在<Font>和</Font>之间)中的描述。
画面数据部分包括关于PNG文件10的PNG文件显示时间、位置信息和实体数据,该PNG文件在字幕文件10中描述字幕信息的部分(定义在<Subtitle>和</Subtitle>之间)中的描述画面数据的部分(定义在<Image>和</Image>之间)中。
索引部分已经在其中描述了头部、文本数据和画面数据部分中的每一个的尺寸,以及画面数据部分中的每个元素(场景)的尺寸和显示时间。
下面将参照图6到11的流程图来描述用于产生内部文件40的多个部分的算法。
产生内部文件的头部
图6和7示出了在由控制计算机400产生内部文件40的头部部分所进行的操作流程。
首先,在步骤S101,控制计算机400通过从内容存储单元200中将其读出来获取字幕文件10中的XML文件11。
然后,在步骤S102,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<ID>。没有检测到字符串<ID>将使得控制计算机400异常终止(异常地退出该过程)。在其检测到字符串<ID>的情况下,其前进到步骤S103,在其中控制计算机400从字幕文件10中的输入XML文件11中<ID>和</ID>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的头部部分。
然后,在步骤S104,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<ContentTitle Text>。没有检测到字符串<ContentTitle Text>将使得控制计算机400异常终止。在其检测到<ContentTitle Text>的情况下,其前进到步骤S105,在其中控制计算机400将从字幕文件10中的输入XML文件11中<ContentTitle Text>和</ContentTitle Text>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的头部部分的延续部分。
随后,在步骤S106,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<Annotation Text>。在其检测到<Annotation Text>的情况下,其前进到步骤S107,在其中控制计算机400将从字幕文件10中的输入XML文件11中<Annotation Text>和</Annotation Text>之间所定义的字段中提取多个字符,将与所提取的多个字符对应的尺寸转换为像素数量,以将其描述为变量″AnnotationTextSize″,然后将该字符串添加到内部文件40的头部的延续部分。相反地,如果控制计算机400没能检测到任何字符串<Annotation Text>,则其前进到步骤S108,在其中控制计算机400将描述“Annotation TextSize=0”添加到内部文件40的头部的延续部分。
然后,在步骤S109,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<IssueDate>。没有检测到字符串<IssueDate>将使得控制计算机400异常终止。在其检测到<IssueDate>的情况下,其前进到步骤S110,在其中控制计算机400将从字幕文件10中的输入XML文件11中<IssueDate>和</IssueDate>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的头部部分。
然后,在步骤S111,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<ReelNumber>。在控制计算机400检测到字符串<ReelNumberExist>的情况下,其前进到步骤S112,在其中控制计算机400将从字幕文件10中的输入XML文件11中<ReelNumber>和</ReelNumber>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的头部的延续部分。相反地,如果控制计算机400没能检测到任何字符串<ReelNumber>,则其前进到步骤S113,在其中控制计算机400将描述“ReelNumberExist=0>”添加到内部文件40的头部的延续部分。
然后,在步骤S114,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<Language>。没有检测到字符串<Language>将使得控制计算机400异常终止。在其检测到<Language>的情况下,其前进到步骤S115,在其中控制计算机400将从字幕文件10中的输入XML文件11中<Language>和</Language>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的头部。
随后,在步骤S116,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<StartTime>。在控制计算机400检测到<StartTime>的情况下,其前进到步骤S117,在其中控制计算机400将描述″StartTimeExist=1″,然后从字幕文件10中的输入XML文件11中<StartTime>和</StartTime>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的头部的延续部分。相反地,如果控制计算机400没能检测到任何字符串<StartTime>,则其前进到步骤S118,在其中控制计算机400将描述“StartTimeExist=0>”添加到内部文件40的头部的延续部分。
随后,在步骤S119,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<LoadFont>。在控制计算机400检测到<LoadFont>的情况下,其前进到步骤S120,在其中控制计算机400将获取字幕文件10中的输入XML文件11中所包括的<LoadFont>标记的出现次数作为N,将其描述为″LoadFontNumber=N″,然后将该描述添加到内部文件40的头部的延续部分。相反地,如果控制计算机400没能检测到任何字符串<LoadFont>,则其前进到步骤S121,在其中控制计算机400将描述“LoadFontNumber=0”,然后将该描述添加到内部文件40的头部的延续部分。
然后,控制计算机400将步骤S123中的操作重复与<LoadFont>标记出现次数N相同的次数。应该注意,步骤S122指示循环的开始点,而步骤S124指示循环的结束点。
在步骤S123,控制计算机400读出由用<LoadFont>标记指示的字体文件名称<ID>表示的字体文件中的实体数据,而且将名称<ID>和文件尺寸添加到内部文件40的延续部分。
随后,在步骤S125,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<SubtitleList>。没有检测到字符串<SubtitleList>将使得控制计算机400异常终止。在其检测到SubtitleList>的情况下,其将正常退出过程。
产生内部文件的文本数据部分
图8和9示出了在由控制计算机400产生内部文件40的文本数据部分时所进行的操作流程。
首先,在步骤S201,控制计算机400通过从内容存储单元200中将其读出来获取字幕文件10中的XML文件11。
随后,在步骤S202,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<SubtitleList>。没有检测到字符串<SubtitleList>将使得控制计算机400异常终止。
然后,在步骤S203,控制计算机400检测在字幕文件10中的输入XML文件11中包括字符串<Text>标记的<Subtitle>。如果控制计算机400没能检测到任何包括字符串<Text>标记的<Subtitle>,则其将正常地退出过程。
随后,在步骤S204,控制计算机400将获取字幕文件10中的输入XML文件11中所包括的、包含字符串<Text>标记的<Subtitle>的出现次数作为N,将其描述为″TextInstanceNumber=N″,然后将该描述添加到内部文件40的文本数据部分的延续部分。
之后,将根据TextInstance进行如下操作:
随后,在步骤S205,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<Font>。在控制计算机400检测到字符串<Font>的情况下,其前进到步骤S206,在其中控制计算机400将从字幕文件10中的输入XML文件11中<Font>和</Font>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的文本数据部分的延续部分。应该注意,根据将会在后面解释的″Syntax(语法)″和″Semantics(语义)″中所规定的规则在内部文件40中进行描述。相反地,如果控制计算机400没能检测到任何字符串<Font>,其将在步骤S207把描述“FontElementExist=0”添加到内部文件40的文本数据部分的延续部分。
随后,控制计算机400以与在″TextInstanceNumber″中规定的次数相同的次数重复在步骤S208和随后步骤循环的显示文本操作。应该注意,步骤S208指示显示文本循环的开始点,而步骤S217指示显示文本循环的结束点。
随后,在步骤S209,控制计算机400检测字幕文件10中的输入XML文件11中的字符串<Font>。在控制计算机400检测到字符串<Font>的情况下,其前进到步骤S210,在其中控制计算机400将从字幕文件10中的输入XML文件11中<Font>和</Font>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的文本数据部分的延续部分。应该注意,根据将会在后面解释的″Syntax″和″Semantics″中所规定的规则在内部文件40中进行描述。相反地,如果控制计算机400没能检测到任何字符串<Font>,其将在步骤S211把描述“FontElementExist=0”添加到内部文件40的文本数据部分的延续部分。
随后,在步骤S212,控制计算机400从字幕文件10中的输入XML文件11中<Text>和</Text>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的文本数据部分的延续部分。应该注意,根据将会在后面解释的″Syntax″和″Semantics″中所规定的规则在内部文件40中进行描述。
随后,在步骤S213,控制计算机400将获取字幕文件10中的输入XML文件11中所包括的字符串<Text>标记的出现次数作为N,将其描述为″ColumnNumber=N″,然后将该描述添加到内部文件40的文本数据部分的延续部分。
随后,控制计算机400以与在″ColumnNumber″中所规定的次数相同的次数重复在步骤S214和随后步骤中循环的换行操作。应该注意,步骤S214指示换行循环的开始点,而步骤S216指示换行循环的结束点。
随后,在步骤S215中,控制计算机400从字幕文件10中的输入XML文件11中<Text>和</Text>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的文本数据部分的延续部分。应该注意,根据将会在后面解释的″Syntax″和″Semantics″中所规定的规则在内部文件40中进行描述。
然后,当完成换行循环和显示文本循环时,控制计算机400将经过步骤S216和S217,并且正常地退出用于产生文本数据部分的过程。
产生内部文件的画面数据部分
下面将参照图10来描述由控制计算机400产生内部文件的画面数据部分。
首先,在步骤S301,控制计算机400通过将其从内容存储单元200中读出来获取字幕文件10中的XML文件。
随后,在步骤S302,控制计算机400检测在字幕文件10中的输入XML文件11中的字符串<SubtitleList>。没能检测到字符串<SubtitleList>将导致控制计算机400异常终止。
然后,在步骤S303,控制计算机400检测在字幕文件10中的输入XML文件11中包括字符串<Image>标记的<Subtitle>。如果控制计算机400没能检测到任何包括字符串<Image>标记的<Subtitle>,则其将正常地退出过程。
随后,在步骤S304,控制计算机400将获取字幕文件10中的输入XML文件11中所包括的、包含字符串<Image>标记的<Subtitle>的出现次数作为N,将其描述为″PictureNumber=N″,然后将该描述添加到内部文件40的文本数据部分的延续部分。
之后,将根据PictureInstance进行如下操作:
随后,控制计算机400以与在″PictureNumber″中所规定的次数相同的次数重复在步骤S305和随后步骤中循环的显示画面操作。应该注意,步骤S305指示显示画面循环的开始点,而步骤S307指示显示画面循环的结束点。
随后,在步骤S306,控制计算机400从字幕文件10中的输入XML文件11中<Image>和</Image>之间所定义的字段中提取多个字符,并且将该字符串添加到内部文件40的文本数据部分的延续部分。应该注意,根据将会在后面解释的″Syntax″和″Semantics″中所规定的规则在内部文件40中进行描述。
如果此时PNG文件(PNGfile())包括在字幕文件10中,则控制计算机400将读出PNG文件13作为实体数据,并且将其分配给内部文件40的画面部分。
然后,当完成显示画面循环时,控制计算机400将经过步骤S307并且正常地退出用于产生画面数据部分的过程。
产生内部文件的索引部分
下面将参照图11的流程图描述由控制计算机400所产生的内部文件的索引部分。
首先,在步骤S401,控制计算机400通过将它们从内容存储单元200中读出,而获取至此已经产生的内部文件的头部、文本数据部分和画面数据部分。
随后,在步骤S402,控制计算机400将头部、文本数据和画面数据部分的总尺寸描述为″TotalSize″,并且将其添加到内部文件40的索引部分的延续部分。而且,控制计算机400将头部和文本数据部分的尺寸总数描述为″TextSize″,并且将其添加到内部文件40的索引部分的延续部分。而且,控制计算机400将画面数据部分的尺寸描述为″PictureSize″,并且将其添加到内部文件40的索引部分的延续部分。而且,控制计算机400将每个画面数据部分中的描述″PictureNumber″添加到内部文件40的索引部分的延续部分。
随后,控制计算机400以与″PictureNumber″中所规定的次数相同的次数重复在步骤S403到S405循环的已记录的画面的操作。应该注意,步骤S403指示已记录的画面循环的开始点,而步骤S405指示已记录的画面循环的结束点。
在已记录的画面循环中的步骤S404中,控制计算机400获取在画面数据部分中所描述的″PictureNumber″中规定的重复循环的最上TimeIN的值作为″StartTime″,并且将其添加到内部文件40的索引部分的延续部分。而且,控制计算机400获取在画面数据部分中所描述的″PictureNumber″中规定的重复循环的最上TimeIN之和作为″OffsetSize″,并且将该和添加到内部文件40的索引部分的延续部分。
随后,在步骤S406,控制计算机400计算索引部分的尺寸,将所计算的尺寸作为″indexsize″并且将其添加到内部文件40的索引部分的延续部分。而且,控制计算机400将现存的描述″TotalSize″校正为″TotalSize=TotalSize+indexsize″,并且将其盖写在内部文件40的索引部分上。
随后,控制计算机400以与″PictureNumber″中所规定的次数相同的次数重复在步骤S407到S407循环的校正操作。S407指示校正循环的开始点,而步骤S409指示校正循环的结束点。
在校正循环中的步骤S408中,控制计算机400将现存的描述″OffsetSize″校正为″offsetSize=offsetSize+indexsize″,并且将其盖写在内部文件40的索引部分上。
当完成校正循环时,控制计算机400将经过步骤S408并且正常地退出用于产生索引部分的过程。
传送内部文件
如上所述,在内部文件的索引部分描述头部、文本数据和画面数据中的每一个的数据尺寸。而且,画面数据部分的每个字幕的每个显示画面元素(例如每个场景)具有由从索引部分的开头的偏移描述的数据尺寸和显示开始时间。
因此,在放映电影时,在字幕处理器131正在处理字幕的同时,主机CPU 113将适当地从数据存储单元200传送数据到字幕存储器136。此时,主机CPU 113将能够根据每个元素的显示开始时间和数据尺寸来计算字幕存储器136的数据共享,并且控制数据传送,以使得数据不会溢出字幕存储器136。因此,字幕处理器131不必发布任何数据读出命令等,也不必通过分析XML文件来计算字幕存储器136的容量。因此,可以明显地减轻字幕处理的负担。
更具体地说,下面将参照图12描述当从内容存储单元200将内部文件40传送到字幕处理电路130的字幕存储器136时,主机CPU 113进行操作以传送内部文件40。
首先,在步骤S501,主机CPU 113清除用于字幕存储器136的数据共享(datashare)管理的内容映象(content map),并且将变量PictureNumber设置为0。
随后,在步骤S502,主机CPU 113通过从内容存储器单元200将其读出而获取内部文件40的索引部分。
随后,在步骤S503,主机CPU 113将内部文件40的文本数据部分经由字幕存储器136传送到作为字幕处理器131的工作存储器的主存储器133。
随后,在步骤S504,主机CPU 113计算PictureNumber=PictureNumber+1。
随后,在步骤S505,主机CPU 113获取与输入索引部分中的PictureNumber对应的StartTime(n)和offSize(n)。
随后,在步骤S506,主机CPU 113判断StartTime(n)是否在现在时间之前。在主机CPU 113已经在步骤S506确定StartTime(n)在现在时间之前的情况下,其将异常终止。
然后,在步骤S507,主机CPU 113在字幕存储器映象容量(subtitle memorymap capacity)之和+PictureSzie与字幕存储器136之间进行容量比较。在比较结果显示字幕存储器136容量较大的情况下,主机CPU 113前进到步骤S511。相反地,如果幕存储器映象容量之和+PictureSzie的容量较大,则主机CPU 113将在步骤S508进行等待。
在步骤S508,主机CPU 113判断字幕存储器映象的开头元素的显示时间是否在现在时间之前。如果显示时间不在现在时间之前,则主机CPU 113将在步骤S509等待一秒,然后重试步骤S508中的操作。主机CPU 113将在步骤S508进行等待直到现在时间超过字幕存储器映象的开头元素的显示时间为止。
在经过步骤S508之后,主机CPU 113将在步骤S510计算字幕存储器映象容量之和=(字幕存储器映象容量之和-开头元素的文件尺寸),并且将开头元素项目从字幕存储器映象中删除。
在经过步骤S510之后,主机CPU 113前进到步骤S507,在其中主机CPU 113将重试对字幕存储器映象容量之和+PictureSize与字幕存储器136之间的容量比较。
在比较结果是字幕存储器136的容量大于字幕存储器映象容量之和+PictureSize的情况下,主机CPU 113将经过步骤S507到步骤S511。
在步骤S511,主机CPU 113把新元素的显示时间文件尺寸和注册在字幕存储器映象的末尾项中,而且更新总文件尺寸。
随后,在步骤S512中,主机CPU 113将包括在内部文件40的画面数据部分中的PNGfile()从数据存储单元200传送到字幕存储器136。此时,主机CPU 113参照指示离开头的位置的尺寸(PictureSize(n))和偏移(OffsetSize(n)),从内部文件40提取PNGfile()并且将其传送到字幕存储器136。
随后,在步骤S513,主机CPU 113判断传送是否已经向下进行到了索引部分的结尾。如果传送还没有向下进行到索引部分的结尾,则主机CPU 113返回步骤S504,在其中主机CPU 113对随后的画面进行传送。
在主机CPU 113确定已经向下传送到索引部分的结尾的情况下,其将退出该传送。
内容解码器的第一种变形
随后,将参照图13来解释内容解码器100的第一种变形。
图13中所示的第一中变形是将字幕处理电路130独立提供为字幕处理/显示单元700的内容解码器100的版本。在该变形中,字幕处理/显示单元700包括字幕处理电路130的所有内部元件,并且还包括网络接口137和帧缓存器128。而且,内容解码器100还额外地包括网络接口117。
字幕处理/显示单元700经由网络接口137接收从内容解码器100传送来的内部文件40,而且对字幕进行解码。而且,在字幕处理/显示单元700中,将由内容解码器100所解码的画面数据存储在帧缓存器128中,在该缓存器128中将该画面数据与字幕图像进行合并。将合成的数据提供给画面输出单元300。
内容解码器的第二种变形
随后,在下面参照图14、15和16描述内容解码器100的第二种变形。
图14中所示的第二变形是将用于传送数据的部分独立提供为数据传送单元800的内容解码器100的版本。
在该变形中,数据传送单元800包括第一网络接口111、光纤信道接口112、主机CPU 113、主存储器114和第二网络接口115以及网络接口118和数据接口119。而且,内容解码器100的画面/声音处理电路120包括代替总线接口121的数据接口121以及网络接口129。
数据传送单元800将内部文件40经由网络接口118传送到内容解码器100。其还将存储在内容存储单元200中的画面文件20和声音文件30经由数据接口119和121,传送到数据接口内容语法处理器123。将诸如显示开始命令等之类的信号经由网络接口118传送到内容解码器100。
在第二种变形中,字幕处理器131将如下面所述,把内部文件40从内容存储单元200传送到字幕处理电路130的字幕存储器136。图15和16示出了在用于传送内部文件40的字幕处理器131中进行的操作流程。
首先,在步骤S601,字幕处理器131清除字幕存储器136的数据共享管理映象的内容,并且将变量″PictureNumber″设置到0。
随后,在步骤S602,字幕处理器131经由主机CPU 113所控制的数据传送单元800从内容存储单元200获取内部文件40的索引部分。
随后,在步骤S603,字幕处理器131将内部文件40的文本数据部分经由字幕存储器136,传送到作为字幕处理器131的工作存储器的主存储器133。
随后,在步骤S604,字幕处理器131检测是否已经完成对所传送的索引部分和文本数据部分的总尺寸的传送。为此,设置特定的时间限制,并且当以该时间限制还没有完成传送时,字幕处理器131将异常终止。在已经完成传送的情况下,字幕处理器131将前进到步骤S605。
随后,在步骤S605,字幕处理器131计算PictureNumber=PictuerNubmer+1。
而且在步骤S605,字幕处理器131将获取与输入索引部分的PictureNumber对应的startTime(n)和offsetSize(n)。
随后,在步骤S606,字幕处理器131判断startTime(n)是否在现在时间之前。如果其在步骤S606判断startTime(n)在现在时间之前,则字幕处理器131将异常终止。
随后,在步骤S607,字幕处理器131对字幕存储器映象容量之和+PictureSize与字幕存储器136的容量进行比较。在比较结果显示字幕存储器136的容量较大的情况下,字幕处理器131前进到步骤S611。如果确定字幕存储器映象+PictureSize较大,则字幕处理器131将前进到步骤S608。
在步骤S608,字幕处理器131判断用于字幕存储器映象的开头元素的显示时间是否在现在时间之前。如果确定显示时间不在现在时间之前,则字幕处理器131将在步骤S609等待一秒,并且重试步骤S608中的操作,而且在步骤S608中进行等待直到经过用于字幕存储器的开头元素的显示时间为止。
在经过步骤S608之后,字幕处理器131将在步骤S610中获得:字幕存储器映象容量之和=(字幕存储器映象容量之和-开头元素的文件尺寸),并且从字幕存储器映象中删除开头元素项目。
在经过步骤S610之后,字幕处理器131前进到步骤S607,在其中字幕处理器131将在字幕存储器映象容量之和+PictureSize与字幕存储器映象136的容量之间进行比较。
当字幕存储器136的容量大于字幕存储器映象容量之和+PictureSize时,字幕处理器131将进行步骤S607到步骤S611。
在步骤S611,字幕处理器131将新元素的显示时间和文件尺寸注册在字幕存储器映象的末尾项处,并且更新文件尺寸之和。
随后,在步骤S612,字幕处理器131请求由主机CPU 113所控制的数据传送单元800传送与PictureNumber对应的画面数据。
当从字幕处理器131接收到请求时,由主机CPU 113所控制的数据传送单元800在步骤S613将在内部文件40的画面数据部分中所包括的PNGfile()从内容存储单元200传送到字幕存储器136。对于该传送,数据传送单元800参照离最高处的位置offsetSize(n)和PictureSize(n)提取内部文件40的、与PNGfile()对应的部分。
随后,在步骤S614中,字幕处理器131检测是否已经对于PictureSize完成了画面数据的总尺寸的传送。为此,设置特定的时间限制,并且当在该时间限制内没有完成传送时,字幕处理器131将异常终止。在已经完成传送的情况下,字幕处理器131将前进到步骤S615。
随后,在步骤S615,字幕处理器131判断是否已经将索引部分传送到其结尾。如果还没有将索引部分传送到其结尾,则字幕处理器131返回到步骤S604,在其中字幕处理器131将处理随后的画面。
在字幕处理器131在步骤S615确定已经将索引部分传送到其结尾时,其退出传送过程。
在第二中变形中的第二个传送例子中,如将在下面说明的,由字幕处理器131将内部文件40从内容存储单元200传送到字幕处理电路130的字幕存储器136。在本例中,根据作为内部文件排列的索引数据来管理字幕存储器136中的数据占用,并且传送在内容存储单元200中所存储的PNG文件。图17和18示出了为了传送内部文件40由字幕处理器131所进行数据处理的操作流程。如图17和18所示,针对PictureNumber来描述在内容存储单元200中的对应file_name。
首先,在步骤S701,字幕处理器131清除字幕存储器136的数据共享管理映象的内容,并且将变量″PictureNumber″设置到0。
随后,在步骤S702,字幕处理器131经由主机CPU 113所控制的数据传送单元800从内容存储单元200获取内部文件40的索引部分。
随后,在步骤S703,字幕处理器131经由字幕存储器136将内部文件40的文本数据部分传送到作为字幕处理器131的工作存储器的主存储器133。
随后,在步骤S703a,字幕处理器131检测是否已经完成了所传送的索引部分和文本数据部分的总尺寸的传送。为此,设置特定时间显示,并且当以该时间限制没有完成传送时,字幕处理器131将异常终止。在已经完成传送的情况下,字幕处理器131将前进到步骤S704。
随后,在步骤S704,字幕处理器131计算PictureNumber=PictureNumber+1。
而且在步骤S705,字幕处理器131将获取与输入索引部分的PictureNumber对应的startTime(n)和offsetSize(n)。
随后,在步骤S706,字幕处理器131判断startTime(n)是否在现在时间之前。如果在步骤S706判断startTime(n)在现在时间之前,则字幕处理器131将异常终止。
随后,在步骤S707,字幕处理器131在字幕存储器映象容量之和+PictureSize和字幕存储器136的容量之间进行比较。在比较结果显示字幕存储器136的容量较大的情况下,字幕处理器131前进到步骤S711。如果确定字幕存储器映象+PictureSize较大,则字幕处理器131将前进到步骤S708。
在步骤S708中,字幕处理器131判断用于字幕存储器映象的开头元素的显示时间是否在现在时间之前。如果确定该显示时间不在现在时间之前,则字幕处理器131将在步骤S709等待一秒并且重试步骤S708中的操作,并且在步骤S708中等待直到经过用于字幕存储器映象的开头元素的显示时间。
在经过步骤S708之后,字幕处理器131将在步骤S710获得:字幕存储器映象容量之和=(字幕存储器映象容量之和-开头元素的文件尺寸),并且从字幕存储器映象中删除开头元素项目。
在经过步骤S710之后,字幕处理器131前进到步骤S707,在其中字幕处理器131将在字幕存储器映象容量之和+PictureSize与字幕存储器映象136的容量之间再次进行比较。
当字幕存储器136的容量大于字幕存储器映象容量之和+PictureSize时,字幕处理器131将进行步骤S707到步骤S711。
在步骤S711,字幕处理器131将新元素的显示时间和文件尺寸注册在字幕存储器映象的末尾项处,并且更新文件尺寸之和。
随后,在步骤S712,字幕处理器131请求由主机CPU 113所控制的数据传送单元800传送与PictureNumber对应的画面数据。
当从字幕处理器131接收到请求时,由主机CPU 113所控制的数据传送单元800在步骤S713将根据与PictureNumber对应的file_name识别PNGfile(),并且在步骤S713将其从内容存储器单元200传送到字幕存储器136。
随后,在步骤S714中,字幕处理器131检测是否已经对于PictureSize完成了画面数据的总尺寸的传送。为此,设置特定的时间限制,并且当在该时间限制内没有完成传送时,字幕处理器131将异常终止。在已经完成传送的情况下,字幕处理器131将前进到步骤S715。
随后,在步骤S715,字幕处理器131判断是否已经将索引部分传送到其结尾。如果还没有将索引部分传送到其结尾,则字幕处理器131返回到步骤S704,在其中字幕处理器131将处理随后的画面。
在字幕处理器131在步骤S715确定已经将索引部分传送到其结尾时,其退出传送过程。
内部文件40的结构的其他例子
在上述数字电影放映系统中,内部文件40具有在其中连续被描述的索引、头部、文本数据和画面数据部分,并且将这些部分作为一个文件处理。
但是根据本发明,还可以将这些部件作为独立文件分别形成。即,可以将它们作为四个文件处理。
而且,由于在索引部分中描述了用于读出所需时间的长度和头部、文本数据和画面数据部分的大小,所以仅仅将索引部分形成为独立文件,将头部、文本数据和画面数据部分作为单个文件形成在一起。
而且,由于画面数据部分包括图像数据,所以其数据尺寸大于比其他部分。因此,仅仅将画面数据部分形成为独立文件而将索引、头部和文本数据部分作为一个文件形成在一起。
为了数据传送,可以将索引部分单独记录为内部文件,而如同以前一样记录字幕主文件、包括关于文本数据的字体数据的一个或多个字体文件以及包括图像数据的一个或多个画面文件。
在字幕和内部文件中的描述的例子
下面将给出在字幕文件10和内部文件40中的描述的例子。
------------------------------------------------------
<?xml version=″1.0″encoding=″UTF-8″?>
<SubtitleReel
xmlns=″http://www.smpte-ra.org/415M/2005/DCST-1#″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:schemaLocation=″http://www.smpte-ra.org/415M/2005/DCST-1#″>
<ID>b0d9a865-0909-4024-b04a-1145ee4a0001</ID>
<ContentTitleText Language=″en″>Subtitle sample</ContentTitleText>
<AnnotationText Language=″ja″>
xml Sample file of subtitle data(subtitle.xml).
</AnnotationText>
<IssueDate>2004-10-20T20:00:00Z</IssueDate>
<ReelNumber>1</ReelNumber>
<Language>ja</Language>
<StartTime>00:00:00:000</StartTime>
<LoadFont ID=″Movie subtitle font1″>.\STP\font\MovieFont 1.ttf</LoadFont>
<LoadFont ID=″Movie subtitle font2″>.\STP\font\MovieFont2.ttf</LoadFont>
<LoadFont ID=″Movie subtitle font3″>.\STP\font\MovieFont3.ttf</LoadFont>
<SubtitleList>
<Font ID=″Movie subtitle font 1″Script=″normal″Effect=″border″
Italic=″no″Underline=″no″Weight=″normal″
Color=″FFFFFFFF″EffectColor=″FF000000″Size=″42″>
<Subtitle SpotNumber=″1″
TimeIn=″00:00:05:000″TimeOut=″00:00:15:000″
FadeUpTime=″00:00:00:020″FadeDownTime=″00:00:00:020″>
<Image Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″10″>
.\STP\PNG\PNG001.png
</Image>
</Subtitle>
<Subtitle SpotNumber=″2″
TimeIn=″00:00:09:000″TimeOut=″00:00:12:000″
FadeUpTime=″00:00:00:020″FadeDownTime=″00:00:00:020″>
<Text Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″10″Direction=″ltr″>
Characters by movie subtitle font 1
</Text>
</Subtitle>
</Font>
<Subtitle SpotNumber=″3″
TimeIn=″00:00:13:000″TimeOut=″00:00:16:000″
FadeUpTime=″00:00:00:020″FadeDownTime=″00:00:00:020″>
<Font ID=″Movie subtitle font 3″Script=″normal″Effect″border″
Italic=″no″Underline=″no″Weight=″normal″
Color=″FFFFFFFF″EffectColror=″FF000000″Size=″42″>
<Text Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″10″Direction=″ltr″>
Characters by movie subtitle font 3
</Text>
<Text Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″4″Direction=″ltr″>
Characters in second line
</Text>
</Font>
</Subtitle>
<Subtitle SpotNumber=″1″
TimeIn=″00:00:17:000″TimeOut=″00:00:27:000″
FadeUpTime=″00:00:00:020″FadeDownTime=″00:00:00:020″>
<Image Halign=″center″Hposition=″0″
Valign=″bottom″Vposition=″10″>
.\STP\PNG\PNG002.png
</Image>
</Subtitle>
</SubtitleList>
</SubtitleReel>
--------------------------------------------------
随后示出在其中集成上述字幕数据10的内部文件40中的描述″Syntax″的例子。
------------------------------------------
index(){
TotalSize 10字节
TextSize 8字节
PictureSize 6字节
PictureNumber 4字节
for(i=0;i<PictureNumber;i++){
startTime 12字节
offsetSize 10字节
}
}
SubtitleReel(){
ID 36字节
ContentTitleTextLanguage 2字节
ContentTitleTextSize 2字节
for(i=0;i<ContentTitleTextSize;i++){
ContentTitleText 字节
}
AnnotationTextLanguage 2字节
AnnotationTextSize 2字节
for(i=0;i<AnnotationTextSize;i++){
AnnotationText 字节
}
IssueDate 20字节
ReelNumberExist 1字节
if(ReelNumberExist){
ReelNumber 4字节
}
Language 2字节
StartTimeExist 1字节
if(StartTimeExist){
StartTime 12字节
}
LoadFontNumber 2字节
for(i=0;i<LoadFontNumber;i++){
FontID 26字节
fontFileSize 6字节
for(i=0;i<fontFileSize;i++){
FontFile 字节
}
}
SubtitleTextList(){
FontElementExist 1字节
if(FontElementExist){
FontID 26字节
Script 1字节
Effect 1字节
Italic 1字节
Underline 1字节
Weight 1字节
Color 8字节
EffectColor 8字节
Size 3字节
}
TextInstanceNumber 4字节
for(i=0;i<TextInstanceNumber;i++){
FontElementExist 1字节
if(FontElementExist){
FontID 26字节
Script 1字节
Effect 1字节
Italic 1字节
Underline 1字节
Weight 1字节
Color 8字节
EffectColor 8字节
Size 3字节
}
TimeIn 12字节
TimeOut 12字节
FadeUpTime 12字节
FadeDownTime 12字节
Halign 1字节
Hposition 2字节
Valign 1字节
Vposition 1字节
Direction 3字节
ColumnNumber 1字节
for(i=0;i<ColumnNumberr;i++){
textSize 2字节
for(i=0;i<textSize;i++){
text 字节
}
}
}
}
SubtitlePictureList(){
PictureNumber 4字节
for(i=0;i<PictureNumber;i++){
TimeIn 12字节
TimeOut 12字节
FadeUpTime 12字节
FadeDownTime 12字节
Halign 1字节
Hposition 1字节
Valign 1字节
Vposition 1字节
PictureSize 4字节
for(i=0;i<PictureSize;i++){
PNG file() 5字节
}
}
}
}
----------------------------------------------
随后,将示出在上述内部文件40中的每个代码的语义内容。
---------------------------------------------------
index()
TotalSize:
以字节为单位的文件尺寸,以十进制1到9,999,999,999表示
TextSize:
以字节为单位的SubtitleTextList()尺寸,以十进制1到99,999,999表示
PictureS ize:
以字节为单位的SubtitlePictureList()尺寸,以十进制1到99,999,999
表示
PictureNumber:
由<SubtitleReel>标记定义的字段内所包括的PNG文件数量,以十进
制1到9,999表示
PictureStartTime:
每个PNG文件的TimeIn设置值
PictureOffsetSize:
以字节为单位的从每个PNG文件开头的偏移,以十进制1到
9,999,999,999表示
SubtitleReel()
ID
time-low″-″time-mid″-″time-high-and-version″-″
clock-seq-and-reserved,clock-seq-low″-″node
time-low =8位十六进制数字
time-mid =4位十六进制数字
time-high-and-version =4位十六进制数字
clock-seq-and-reserved =2位十六进制数字
clock-seq-low =2位十六进制数字
node =12位十六进制数字
例)f81d4fae-7dec-11d0-a765-00a0c91e6bf6
ContentTitleTextLanguage:
通过XML xs:语言类型指示ContentTitleText的语言代码
ContentTitleTextSize:
以字节为单位的ContentTitleText尺寸,以十进制1到99表示
ContentTitleText:
描述内容的题目等的字符信息
AnnotationTextLanguage:
通过XML xs:语言类型指示AnnotationText的语言代码
AnnotationTextSize:
以字节为单位的AnnnotationText尺寸,以十进制0到99表示
AnnotationText:
描述内容的内容等的字符信息
IssueDate:
关于产生文件的日期和时间的信息,由XML xs:dateTime类型表示
例)2005-03-20T20:00:00Z
ReelNumberExist:
指示用xml文件中的<ReelNumber>标记所指示的ReelNumber元素的
存在或不存在 1:存在,0:不存在
ReelNumber:
在文件跨越多个卷(reel)的情况中包括文件的卷数量,以十进制1到
9,999表示
Language:
用XML xs:语言类型来表示的、在字幕文件文本中所使用的语言代码
StartTimeExist:
指示用xml文件中的<StartTime>标记所指示的StartTime元素的存在或
不存在 1:存在,0:不存在
StartTime:
规定字幕开始被处理的时间
例)01:00:00:000
LoadFontNumber:
要下载的字体文件数量,以十进制0到99表示
FontID:
为要被下载的字体规定ID,用于对应于针对用在SubtitleTextList中的
Font元素的ID进行使用所规定的字体。例如,其指示字体文件的名称。
fontFileSize:
以字节为单位的字体文件。以xml中的<LoadFontID>标记指示文件尺
寸,以十进制1到999,999表示
FontFile:
字体文件的实际。用xml中的<LoadFontID>标记指示文件。
SubtitleTextList()
TextInstanceNumber:
FontElement和TextElement或者TextEelement的接收数量,以十进制0
到9,999表示
FontElementExist:
指示用xml文件中<Font>I标记所指示的Font元素的存在或不存在。
1:存在,0:不存在
X:在没有描述存在的情况中
FontID:
为要被下载的字体规定ID,用于对应于针对用在SubtitleTextList中的
Font元素的ID进行使用所规定的字体。例如,其指示字体文件的名称。
在不存在描述的情况下,在所有位置设置″0″。
Script:
部分字符修改,规定字体是否形成为超脚本、副脚本或正常 0:超脚本,
1:副脚本 2:正常或者没有描述
Effect:
部分字体修改,规定字体是否形成为加轮廓、加阴影或者正常形成
0:加轮廓,1:加阴影,2:正常或没有描述
Italic:
0:关,1:开(斜体)。在没有描述的情况中,Italic=″0″。
Underline:
0:关,1:开(下划线)。在没有描述的情况中,Underline=″0″。
Weight:
0:关1:开(粗体)。在没有描述的情况中,Weight=″0″.
Color:
规定字体的颜色,ARGB每个带有2位十六进制数字。在没有描述
的情况中,Color=″FFFFFFFF″(不透明白色).
EffectColor:
规定字体修改的颜色,ARGB每个带有2位十六进制数字。在没有
描述的情况中,EffectColor=″FF000000″(opaque black).
Size:
以点为单位规定字体尺寸,以十进制1到999表示
在没有描述的情况中,Size=″42″.
TimeIn:
开始显示字体或画面的时间,用HH:MM:SS:EEE指示。EEE:Edit units
=1/250sec=4msec
TimeOut:
字体或画面显示结束的时间,用HH:MM:SS:EEE指示。
FadeUpTime:
从100%透明转变到完全不透明所用的时间,用HH:MM:SS:EEE指示。
FadeDownTime:
从完全不透明转变到100%透明所用的时间,用HH:MM:SS:EEE指示。
Halign:
参照Hposition规定字体或者画面的水平位置。0:左,1:中,2:右
Hposition:
参照Halign规定用于字体或画面的水平位置的基准。当Halign-Left
时,将屏幕的左端规定为基准。当Halign=Right时规定屏幕右端为基
准。当Halign=Center时,规定屏幕中间为基准。
Valign:
参照Vposition规定字体或者画面的水平位置。0:上,1:中,2:下
Vposition:
规定用于字体或画面的垂直位置的基准。当Valign=Top时,将屏幕的
上端规定为基准。当Valign=Bottom时规定屏幕下端为基准。当
Valign=Center时,规定屏幕中间为基准。
Direction;
规定描绘字体的方向。0:左到右,1:右到左,2:上到下
ColumnNumber:
要显示的行数量。也就是,由xml文件中的<Subtitle>标记所指示的
Subtitle元素中的<Text>标记所规定的区域的发生次数。
textSize:
以字节为单位的、要描绘的字符数量。也就是,由xml文件中的
<Subtitle>标记所指示的Subtitle元素中的<Text>标记所规定的区域所
规定的显示字符的字节数量。
text:
显示的字符。也就是,由xml文件中的<Subtitle>标记所指示的Subtitle
元素中的<Text>标记所规定的字符。
PictureNumber:
PictureNumber:
在<SubtitleReel>标记所定义的字段中包括的PNG文件数量。
PictureS ize:
以字节为单位的PNG文件尺寸,以十进制1到999,999表示
PNGfile():
PNG文件实际。用xml文件中的<Image>指示的文件。
本领域的普通技术人员应该理解可以根据设计需要和其他因素进行各种修改、合并、子合并和替换,只要它们在所附权利要求或其等效物的范围内。
Claims (20)
1.一种用于数字电影放映系统的字幕产生设备,该字幕产生设备包括:
存储单元,在其中存储电影字幕文件;
控制器,用于根据字幕文件产生内部文件;和
字幕处理器,用于解码用来产生字幕的内部文件并且将字幕和电影画面彼此合并,其中
字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;
内部文件是通过将主文件的描述内容与字体和图像文件的实体数据合并而成的主、字体和图像文件集合体;以及
控制器在显示电影之前从字幕文件中产生内部文件。
2.根据权利要求1所述的字幕产生设备,其中将所述内部文件分为包括关于主文件的头部信息的头部部分、包括文本数据的文本数据部分和包括图像数据的画面数据部分,而且将这些部分一同描述。
3.根据权利要求2所述的字幕产生设备,其中所述内部文件包括已经在其中描述了头部中的每个元素的数据尺寸的索引部分、文本数据和画面数据部分以及操控每个元件的重复次数。
4.根据权利要求3所述的字幕产生设备,其中在所述内部文件的开头描述所述索引部分。
5.根据权利要求3所述的字幕产生设备,其中将索引、头部、文本数据和画面数据部分分别作为独立文件进行管理。
6.根据权利要求3所述的字幕产生设备,其中将所述索引部分作为独立于其他文件的文件进行管理。
7.根据权利要求3所述的字幕产生设备,其中将所述画面数据部分作为独立于其他文件的文件进行管理。
8.一种用于数字电影放映系统的字幕产生设备,该字幕产生设备包括:
存储单元,在其中存储电影字幕文件;
控制器,用于根据字幕文件产生内部文件;和
字幕处理器,用于解码用来产生字幕的内部文件并且将字幕和电影画面彼此合并,其中
字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;
内部文件包括索引部分,在其中描述对于画面数据部分的每个元素的数据尺寸和要显示每个元素的时间;
控制器在显示电影之前从字幕文件中产生内部文件。
9.根据权利要求8所述的字幕产生设备,还包括用于将内部文件从存储单元传送到字幕处理器的传送控制器,
所述传送控制器读出和分析索引部分,以根据每个元素的数据尺寸和显示时间来计算字幕处理器中的内部存储器的容量,并且所述传送控制器将内部存储器中的数据进行传送以防止数据溢出内部存储器。
10.根据权利要求8所述的字幕产生设备,还包括用于将内部文件从存储单元传送到字幕处理器的传送控制器,
所述传送控制器读出和分析索引部分,以根据每个元素的数据尺寸和显示时间来计算字幕处理器中的内部存储器的容量,并且所述传送控制器发布对索引部分和随后部分中的数据进行传送的命令,以防止数据溢出内部存储器。
11.一种在数字电影放映系统中产生字幕的方法,其中:
事先在记录介质中存储字幕文件,该字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;
在放映电影之前,事先通过根据字幕文件将主文件的描述内容与字体和图像文件的实体数据合并来产生作为主、字体和图像文件的集合体的内部文件;
在放映电影画面的同时通过对内部文件进行解码来产生字幕文件,并与电影画面进行合并。
12.根据权利要求11所述的字幕产生方法,其中将所述内部文件分为包括关于主文件的头部信息的头部部分、包括文本数据的文本数据部分和包括图像数据的画面数据部分,而且将这些部分一同描述。
13.根据权利要求11所述的字幕产生方法,其中所述内部文件包括其中描述了至少画面数据部分中的每个元素的数据尺寸的索引部分,以及操控每个元素的重复数量。
14.根据权利要求11所述的字幕产生方法,其中在所述内部文件的开头描述所述索引部分。
15.根据权利要求11所述的字幕产生方法,其中将索引、头部、文本数据和画面数据部分分别作为独立文件进行管理。
16.根据权利要求11所述的字幕产生方法,其中将所述索引部分作为独立于其他文件的文件进行管理。
17.根据权利要求11所述的字幕产生方法,其中将所述画面数据部分作为独立于其他文件的文件进行管理。
18.一种在数字电影放映系统中产生字幕的方法,其中:
事先在记录介质中存储了字幕文件,该字幕文件包括主文件、一个或多个包括关于文本数据的字体数据的字体文件以及一个或多个包括图像数据的图像文件,所述主文件描述识别文本数据文件和图像数据文件的信息连同用于显示字幕的控制数据,所述文本数据表示要作为电影的字幕显示的字符,所述图像数据表示要作为电影字幕显示的图像内容;以及
在放映电影之前从字幕文件中产生内部文件,该内部文件包括索引部分,在其中描述对于画面数据部分的每个元素的数据尺寸和要显示每个元素的时间。
19.根据权利要求18所述的字幕产生方法,其中根据每个元素的数据尺寸和显示时间来计算内部存储器的容量,而且控制该内部存储器以在传送内部文件中的数据时防止数据溢出该内部存储器。
20.根据权利要求19所述的字幕产生方法,其中由处理字幕的存储器对数据向内部存储器的传送进行控制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005132849A JP4356645B2 (ja) | 2005-04-28 | 2005-04-28 | 字幕生成装置及び方法 |
JP132849/05 | 2005-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1856036A true CN1856036A (zh) | 2006-11-01 |
CN100442829C CN100442829C (zh) | 2008-12-10 |
Family
ID=37195821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100774987A Expired - Fee Related CN100442829C (zh) | 2005-04-28 | 2006-04-28 | 字幕产生设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8254753B2 (zh) |
JP (1) | JP4356645B2 (zh) |
CN (1) | CN100442829C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873452A (zh) * | 2010-06-22 | 2010-10-27 | 武汉东太信息产业有限公司 | 基于gif图像文件的数字电视滚动字幕显示方法 |
CN102077138A (zh) * | 2008-06-30 | 2011-05-25 | 汤姆森许可贸易公司 | 用于数字电影的动态显示的方法和设备 |
CN102118569A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种字幕播出中公共数据的处理方法和处理装置 |
CN102118582A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种制播分离的字幕播放装置及其播放方法 |
CN105075283A (zh) * | 2013-04-03 | 2015-11-18 | 索尼公司 | 再现装置、再现方法、程序以及发送装置 |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
GB2419975A (en) * | 2004-11-09 | 2006-05-10 | Nokia Corp | Auxiliary content handling |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
JP5022025B2 (ja) | 2006-12-27 | 2012-09-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツのデータ・ストリームとメタデータを同期するための方法および装置。 |
JP4647645B2 (ja) * | 2007-09-26 | 2011-03-09 | 日本電信電話株式会社 | デジタルシネマ再生装置,デジタルシネマ再生方法およびデジタルシネマ再生プログラム |
WO2009065137A1 (en) | 2007-11-16 | 2009-05-22 | Divx, Inc. | Hierarchical and reduced index structures for multimedia files |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
CN101674456B (zh) * | 2008-09-10 | 2013-03-06 | 新奥特(北京)视频技术有限公司 | 总控播出线异构系统间基于消息队列的信息交互方法 |
CN101674423B (zh) * | 2008-09-10 | 2013-02-20 | 新奥特(北京)视频技术有限公司 | 一种在线节目单驱动的字幕播出列表的生成方法 |
CA2749170C (en) | 2009-01-07 | 2016-06-21 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
US9319444B2 (en) * | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
KR20110043051A (ko) * | 2009-10-20 | 2011-04-27 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법 |
KR101777347B1 (ko) | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
KR101750048B1 (ko) | 2009-11-13 | 2017-07-03 | 삼성전자주식회사 | 변속 재생 서비스 제공 방법 및 장치 |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
KR101750049B1 (ko) | 2009-11-13 | 2017-06-22 | 삼성전자주식회사 | 적응적인 스트리밍 방법 및 장치 |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
KR101737084B1 (ko) | 2009-12-07 | 2017-05-17 | 삼성전자주식회사 | 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치 |
CN102088568B (zh) * | 2009-12-08 | 2016-08-10 | 新奥特(北京)视频技术有限公司 | 一种字幕制作系统 |
KR101777348B1 (ko) | 2010-02-23 | 2017-09-11 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치 |
KR20110105710A (ko) | 2010-03-19 | 2011-09-27 | 삼성전자주식회사 | 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치 |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
KR101837687B1 (ko) | 2010-06-04 | 2018-03-12 | 삼성전자주식회사 | 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치 |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
CN103688532B (zh) * | 2011-07-29 | 2018-05-04 | 索尼公司 | 流式传输分发装置和方法、流式传输接收装置和方法、流式传输系统 |
CN103875248B (zh) | 2011-08-30 | 2018-09-07 | 帝威视有限公司 | 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法 |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
US9197685B2 (en) * | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
WO2014015110A1 (en) | 2012-07-18 | 2014-01-23 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US9817615B2 (en) | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
US9569865B2 (en) | 2012-12-21 | 2017-02-14 | Monotype Imaging Inc. | Supporting color fonts |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
EP2943894A2 (en) | 2013-01-09 | 2015-11-18 | Monotype Imaging Inc. | Advanced text editor |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9317777B2 (en) | 2013-10-04 | 2016-04-19 | Monotype Imaging Inc. | Analyzing font similarity for presentation |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
EP2938087A1 (en) * | 2014-04-24 | 2015-10-28 | Thomson Licensing | Method and apparatus for amending digital cinema package data with associated subtitle track data |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
JP2015065694A (ja) * | 2014-12-05 | 2015-04-09 | トムソン ライセンシングThomson Licensing | デジタル映画のための動的表示のための方法および装置 |
US9936185B2 (en) | 2015-01-27 | 2018-04-03 | Barco, Inc. | Systems and methods for merging digital cinema packages for a multiscreen environment |
US10115215B2 (en) | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US11537262B1 (en) | 2015-07-21 | 2022-12-27 | Monotype Imaging Inc. | Using attributes for font recommendations |
EP3429217B1 (en) * | 2016-03-10 | 2021-09-01 | Sony Group Corporation | Information processing device, information processing method, and program |
CN105791692B (zh) * | 2016-03-14 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、终端及存储介质 |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
GB2557194A (en) * | 2016-11-29 | 2018-06-20 | Sony Corp | A decoder, encoder, computer program and method |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US11334750B2 (en) | 2017-09-07 | 2022-05-17 | Monotype Imaging Inc. | Using attributes for predicting imagery performance |
US10909429B2 (en) | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
US11657602B2 (en) | 2017-10-30 | 2023-05-23 | Monotype Imaging Inc. | Font identification from imagery |
CN111031380A (zh) * | 2019-12-20 | 2020-04-17 | 威创集团股份有限公司 | 一种字幕视频处理方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408129B1 (en) * | 1993-10-29 | 2002-06-18 | Time Warner Entertainment Co, Lp | Method for processing a plurality of synchronized audio tracks, including phase inversion of a selected track |
JP3717585B2 (ja) * | 1996-03-19 | 2005-11-16 | パイオニア株式会社 | 情報記録媒体及びその情報記録装置 |
EP1331813A4 (en) * | 2000-11-02 | 2007-03-21 | Fujiyama Co Ltd | DIGITAL IMAGE CONTENT DISTRIBUTION SYSTEM, REPRODUCTION METHOD AND RECORDING MEDIUM FOR RECORDING THE SAME |
CN1218574C (zh) * | 2001-10-15 | 2005-09-07 | 华为技术有限公司 | 交互式视频设备及其字幕叠加方法 |
KR100457512B1 (ko) * | 2001-11-29 | 2004-11-17 | 삼성전자주식회사 | 광 기록 매체, 광 기록 매체 재생 장치 및 방법 |
JP4500957B2 (ja) * | 2003-05-12 | 2010-07-14 | 独立行政法人情報通信研究機構 | 字幕制作システム |
US20050071888A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for analyzing subtitles in a video |
US7529467B2 (en) * | 2004-02-28 | 2009-05-05 | Samsung Electronics Co., Ltd. | Storage medium recording text-based subtitle stream, reproducing apparatus and reproducing method for reproducing text-based subtitle stream recorded on the storage medium |
JP2006238147A (ja) * | 2005-02-25 | 2006-09-07 | Toshiba Corp | コンテンツ再生装置、字幕再生方法及びプログラム |
JP4466459B2 (ja) * | 2005-04-28 | 2010-05-26 | ソニー株式会社 | 文字情報生成装置及び方法、文字情報表示装置及び方法、デジタル映画上映方法及びシステム、並びに、字幕生成装置 |
KR100654455B1 (ko) * | 2005-05-26 | 2006-12-06 | 삼성전자주식회사 | 확장형 자막 파일을 이용하여 부가정보를 제공하는 장치 및방법 |
-
2005
- 2005-04-28 JP JP2005132849A patent/JP4356645B2/ja not_active Expired - Fee Related
-
2006
- 2006-04-27 US US11/412,692 patent/US8254753B2/en not_active Expired - Fee Related
- 2006-04-28 CN CNB2006100774987A patent/CN100442829C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102077138A (zh) * | 2008-06-30 | 2011-05-25 | 汤姆森许可贸易公司 | 用于数字电影的动态显示的方法和设备 |
CN102118569A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种字幕播出中公共数据的处理方法和处理装置 |
CN102118582A (zh) * | 2009-12-30 | 2011-07-06 | 新奥特(北京)视频技术有限公司 | 一种制播分离的字幕播放装置及其播放方法 |
CN102118569B (zh) * | 2009-12-30 | 2015-09-23 | 新奥特(北京)视频技术有限公司 | 一种字幕播出中公共数据的处理方法和处理装置 |
CN101873452A (zh) * | 2010-06-22 | 2010-10-27 | 武汉东太信息产业有限公司 | 基于gif图像文件的数字电视滚动字幕显示方法 |
CN105075283A (zh) * | 2013-04-03 | 2015-11-18 | 索尼公司 | 再现装置、再现方法、程序以及发送装置 |
US10313741B2 (en) | 2013-04-03 | 2019-06-04 | Sony Corporation | Reproducing device, reproducing method, program, and transmitting device |
CN105075283B (zh) * | 2013-04-03 | 2019-10-15 | 索尼公司 | 再现装置、再现方法以及发送装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4356645B2 (ja) | 2009-11-04 |
JP2006311328A (ja) | 2006-11-09 |
US8254753B2 (en) | 2012-08-28 |
CN100442829C (zh) | 2008-12-10 |
US20060245727A1 (en) | 2006-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1856036A (zh) | 字幕产生设备和方法 | |
CN1170240C (zh) | 结构化文档检索显示方法和装置 | |
CN1168033C (zh) | 数据结构编辑装置及其编辑方法 | |
CN1167265C (zh) | 图像通信系统及其方法 | |
CN1110757C (zh) | 处理两种文字对照的数据库的方法与装置 | |
CN1749958A (zh) | 使用形状的公用图表 | |
CN1581156A (zh) | 信息处理系统、方法、程序和记录介质 | |
CN1551012A (zh) | 编排系统、编排程序和编排方法 | |
CN1501285A (zh) | 排版系统、排版程序和排版方法 | |
CN101030138A (zh) | 应用构架 | |
CN1178461C (zh) | 图像编码装置、图像译码装置、传真装置 | |
CN1433546A (zh) | 数据适合化装置、数据适合化方法、存储媒体及程序 | |
CN1834889A (zh) | 软件认证系统和软件认证程序及软件认证方法 | |
CN1530855A (zh) | 布局系统和布局程序以及布局方法 | |
CN1271862C (zh) | 动画图象编码方法和动画图象译码方法 | |
CN1976427A (zh) | 信息处理装置、信息处理方法以及程序 | |
CN1826612A (zh) | 电子化服务指南显示程序、记录了程序的记录介质、电子化服务指南显示控制方法、电子化服务指南显示控制装置、程序传送方法、程序传送装置、程序接收方法、及程序接收装置 | |
CN1173676A (zh) | 文件检索方法及系统 | |
CN1261881C (zh) | 信息处理设备和方法 | |
CN1604076A (zh) | 文章信息处理装置 | |
CN1826613A (zh) | 电子化服务指南显示程序、记录了程序的记录介质、电子化服务指南显示控制方法、电子化服务指南显示控制装置、程序传送方法、程序传送装置、程序接收方法、及程序接收装置 | |
CN1826615A (zh) | 电子化服务指南显示程序、记录了程序的记录介质、电子化服务指南显示控制方法、电子化服务指南显示控制装置、程序传送方法、程序传送装置、程序接收方法、及程序接收装置 | |
CN1215403C (zh) | 传输装置、源分组生成装置、分组模式确定方法 | |
CN1066517A (zh) | 说明用户接口的方法及运行多用户接口型计算机的编程系统 | |
CN1825355A (zh) | 计算机图形数据编码装置、解码装置、编码和解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081210 Termination date: 20150428 |
|
EXPY | Termination of patent right or utility model |