发明内容
本发明的第一方面提供参考应用中的内容的方法,包括,对于内容单元,创建与内容单元有关的参考;以及把参考与内容单元相联系。
本发明的第一方面的方法使得内容(例如,文本和/或图象)能够与涉及到内容的其他特性(例如,它在屏幕上的呈现)分离开。
优选地,该参考包括与内容的呈现有关的单元。这样,对于呈现的控制可以与内容本身的控制分开地达到。内容和它的呈现可以分开地被处理;在本发明的例子中,呈现和内容保持分开的,直至刚好在广播以前为止。这在使用相同的呈现来更新内容时也是有好处的,正如下面更详细地讨论的。
内容可以是任何种类的。例如,在广播系统中,内容可包括文本、一个或多个图象和/或图形目标。在下面描述的例子中,内容包括编辑数据,例如报纸文章,它例如可以每天更新。内容单元可以与参考相联系,例如通过把参考单元包括在内容模块中,内容模块包括表示与该内容单元有关的参考的内容单元。
参考可包括信息,例如规定要被显示的内容的尺寸。
因此,在本发明的例子中,有两种类型的数据:与内容的呈现有关的数据;和内容本身。在以前的方法中,在两种类型的数据之间不可能进行任何分离,以及必须使用编辑工具来同时地和人工地控制这两种类型的数据。通过使用按照本发明的方法,有可能独立地控制每种类型的数据。
优选地,参考包括多个参考单元。因此可以规定与数据有关的各种特性。参考单元可被存储在一起,正如下面更详细地描述的,但替换地,参考单元可被存储在不同的地方。
优选地,参考包括与数据的源有关的参考单元和/或与数据的位置有关的参考单元。
使用该参考消息可帮助数据呈现。
优选地,参考包括逻辑参考单元。
通过包括这样的单元,参考的编辑和与呈现有关的样板的编辑变得方便。
逻辑参考可用作为一种用于数据的“地址”。数据的每个单元可以具有它自己的独特的识别符。这种识别符的例子在这里被称为URI(统一资源识别符)。URI可包括与数据的性质、它的源、它的位置和关心的图象尺寸有关的信息。
通过使用逻辑参考单元而不是物理参考单元(例如,由内容提供者提供的数据的单元的数值),更多的信息对于与内容呈现有关的系统是可提供的。它也对于改变呈现给出高得多的灵活性。
在本发明的例子中,节目提供者为内容单元创建与用于内容提供者的物理参考有关的逻辑参考。
典型地,当希望在屏幕上告示一段文本时,这段文本属于主要的图象目标,诸如菜单或显示区。所以,这个目标包含每行的组的说明,以及在显示区的情形下,该目标包含把不同的行重新编组成页的细节。在文本块的更新(分离成行和页)对于它显示的目标的格式具有大的影响的情形下,常常必须人工地把文本输入到编辑工具。
在这里的例子中描述的逻辑参考系统的定义是基于互动业务可使用的数据与被称为URI(统一资源识别符)的独特的识别符的关联。这些URI被业务定义系统的不同的参加者的使用,允许在被装载在屏幕上的目标(菜单和显示区)与外部编辑内容(文本和图象)之间的物理上的和功能上的分离。由于在节目提供者处的转发规划和编辑工具,内容和屏幕目标可被分开地处理,以及在最后一分钟自动地放置在一起。负责屏幕的图形定义的参加者可有效地宣告在这些目标内的URI的使用。
通过使用URI,在应用系统内的每个单元或数据段可被唯一地参考。这个参考可以与涉及到内容呈现的目标或文件相联系。
优选地,参考还包括对于数据的缺省值的参考单元。
通过提供缺省值,如果在把正确的数据与它的呈现(优选地,它由参考规定)相联系时有任何问题,或如果没有数据,则可以显示缺省值。
另外,数据呈现(例如屏幕)的初始的广播甚至可在用于屏幕的任何内容可供使用之前被制成。例如,可以创建一个目标来显示足球比赛的结果。在比赛开始之前,还没有与结果有关的数据,但用于该结果的目标仍旧可被广播,以便显示缺省值(例如,消息或图象),直至结果开始达到为止。
优选地,用于内容单元的参考单元被存储在一起,优选地被存储在单个文件中。在本发明的优选实施例中,与源参考单元有关的所有的参考都被存储在一起。
优选地,该方法还包括使用参考来广播显示剧本。
优选地,该方法还包括以下步骤:分析参考;和创建用于具有这个参考的内容单元的容器。
优选地,缺省数据初始地被输入到这个容器。该方法还可包括发送该容器用于广播。
内容的呈现可包括布局,它包括具有各种目标的几个不同的屏幕,例如文本框和图象。这里提到的“剧本”包括一组包含不同的目标的屏幕。剧本可以由节目提供者与将被包括在屏幕上的实际的内容完全无关地创建,虽然,当然,关于对于内容的需要,可以与内容提供者和运营者和/或广播者合作。本发明的一个方面提供用于创建包括目标(例如文本框)的屏幕的编辑工具,编辑工具适配于创建用于目标的参考。在内容提供者与节目提供者之间,可以确定节目提供者可以使用哪些参考。
通过使用编辑工具,节目提供者使用参考来构建剧本。他可以把它们存储在他的本地硬盘,直至他准备好把它们发送给例如运营者以用于广播。节目提供者例如可以通过使用缺省值预览剧本,以及在这个阶段可以实行检验,以确保例如节目提供者使用合法的参考(如果没有的话,优选地返还一个错误消息)。
内容提供者提供参考的编辑数据,以便将其包括在节目提供者的屏幕中。这个编辑数据优选地被直接发送到运营者,而不发送到节目提供者。节目提供者确定:这些屏幕如何通过查明来得知他可以使用的参考。内容提供者发送参考的内容给运营者以用于广播;这个内容与由节目提供者提供屏幕合并用于广播。
在优选实施例中,节目提供者在从内容提供者处接收任何数据之前已提供剧本和它们的参考。优选地,运营者在接收剧本方面执行以下步骤:读出所发送的数据的单元,分析目标的参考,以及分配广播参量。优选地,该方法包括分析参考和创建用于数据的容器。这最好被存储在运营者处。优选地,该方法还包括把用于数据的缺省值插入到容器中。优选地,缺省值总是被存储,这样,例如,如果有故障,则它也是可供使用的。优选地,方法还包括广播该容器;优选地这是在变换成MPEG以后。
优选地,该方法还包括分辨用于内容单元的参考,其中包括以下步骤:接收内容单元;识别与内容单元的呈现有关的参考;以及使用内容单元和参考来创建用于显示内容的数据。
当内容从内容提供者处得到时,它需要与参考合并,以创建包括内容的、用于广播的目标。运营者例如已从节目提供者处知道:它正在从内容提供者处等待哪些参考和/或哪些需要被更新。运营者优选地具有所有的参考的清单,以及每次运营者在从内容提供者处接收内容时,它检验由内容提供者发送的参考是否与已知的参考相关。
本发明的另一个方面提供分辨用于内容模块的参考的方法,包括:接收内容单元;识别与内容单元的呈现有关的参考;以及使用内容单元和参考来创建用于显示的数据。
优选地,该方法包括以下步骤:接收包含内容数据的文件;识别参考单元和得到与参考单元有关的容器;读出容器的逻辑参考单元;恢复相应于逻辑参考单元的内容数据的项目;以及把内容数据项目插入到容器。
优选地,方法还包括:识别呈现准则;相对于呈现准则分析内容单元;以及确定内容的呈现。
呈现准则例如可包括在显示器中与内容数据适配的目标的尺寸。这样,例如可以考虑有关适配于文本框的文本总量,以及显示内容所需要的屏幕或页的数目。优选地,这基本上自动地实行的。
这个特性是特别重要的,以及被独立地提供。
本发明的另一个方面提供确定内容的呈现的方法,该方法包括:接收要被呈现的内容;识别呈现准则;相对于呈现准则分析内容;以及确定内容的呈现。
通过提供确定内容的呈现的方法,有可能达到在固定的呈现目标(例如文本框)内正确地呈现变化的内容。内容的呈现的确定可包括重新定内容的尺寸,以适配于屏幕上预定的目标,例如文本框或图象帧,和/或重新定目标的尺寸,以使得内容适配于目标。在本发明的优选的例子中,该方法包括分析内容的尺寸和确定用于显示内容的目标的尺寸。例如,在内容包括适合于文本框的文本的场合下,优选地,该方法包括:对于文本块的给定的宽度,优选地逐个字符地分析文本。一旦一个字传送跨过该框的右侧边缘,该字就被放置在框的下一行,等等,直至所有的文本被放置在框中为止,或达到规定的框的末尾为止。优选地,如果达到框的末尾,则下一行被放置在新的框中,它可以是现在的框的继续,例如在显示的分开的屏幕上。
内容单元和/或参考可包括参考单元,它表示内容的属性,例如字符间距。这个信息可被使用来帮助确定显示的文本的尺寸。优选地,分析包括接收内容信息。内容信息可包括例如有关内容尺寸的信息,对于文本的例子,是它的长度、字符间距和字符的数目,对于图象,是宽度和高度。
优选地,分析包括确定内容是否比相关的显示区目标的第一页更大,如果是的话,加上新的页。
每个屏幕可包括显示区,例如它可包括标题、主文本和图象。一个或多个这些目标是可重新定尺寸的。
某些目标优选地具有固定的尺寸,以及内容具有固定的格式。对于这样的目标,不允许重新定尺寸。例如这可以对于必须具有固定的字符间距和尺寸、并且不能允许一部分在一页上而另一部分在后继的页上的标题被实施。同样的法则可应用于图象。如果文本或图象比目标更长,则删去额外的材料。
优选地,该方法包括确定例外的条件已发生以及使用用于内容的缺省值。因此,例如,如果在试图呈现新的内容时发生错误,或内容是这样的,以使得不能达到合理的呈现,则显示缺省屏幕,而不冒把不满意的内容显示呈现给用户的风险。优选地,缺省值被存储在广播中心的上游。
优选地,该方法还包括:接收更新的内容;分析内容;和确定更新的内容的呈现。
优选地,该方法还包括分析新的内容是否是有效的。如果不是有效的话,则内容可复原到缺省值或内容不被更新。
优选地,该方法基本上是自动化的。
例如数据格式化的自动化允许避免对于人工地重新输入数据的需要。重新输入在以前是必须的,例如当把来自互联网的网页重新格式化,用于电视广播时。在文本是动态的情形下(内容以某个频率变化),在编辑工具内必须重新输入信息以使得它可适配于页,以及也可能必须存储信息到相关的数据库中。这可以通过允许自动的动态更新文本而被避免。对于广播包含目标的模块的请求将允许广播流中的目标的随后的替换。
实施外部数据(例如,来自内容提供者)的独特的识别,允许从前端来控制它们,以及因为这一点,允许把它们附着到要被显示的、已装载的图形目标上。按照由显示面积固定的它们的尺寸来删除和改编文本块的方法,允许在接收机/译码器级别上按照数据的说明的格式的严格的法则对它们进行变换和将其插入到容器目标的说明中。
这样做的优点在于,来自其他格式(诸如网址,数据库,xml文件,或其他贮存源)的文本和图像可自动地重新格式化,以提供互动的电视业务。
优选地,合并的剧本和数据被发送到接收机/译码器,以便供用户观看。在优选实施例中,显示的合并的页实际上没有被存储,而被周期地广播,例如每秒一次等等。在某些情形下,广播者能够存储数据。例如,特别重要的数据可被存储。然而,在许多情形下,要被存储唯一内容数据将是目标的缺省值。
优选地,合并的数据被变换成MPEG格式用于广播。MPEG章节在广播服务器中被给予一个ID。优选地,这些ID是唯一的,以及在数据被更新时,ID的表被替换。应当指出,当内容提供者提供更多的数据时在所描述的例子中将发生表的更新,以及在运营者请求新的信息时将不发生表的更新;系统可被看作为“推进”系统。参阅下面有关PIDS和TIDS的部分。
优选地,数据的分辨在向接收机/译码器广播之前发生。
因此,优选地,上述的方法还包括发送用于广播的数据。
接收机/译码器具有相当小的处理能力和存储器,因此在接收机/译码器处的分辨、格式化和其他处理是非常慢的。
这个特性是特别重要的,以及被独立地提供。
本发明的另一个方面提供准备用于广播的内容的方法,包括:接收内容单元;识别与内容有关的参考;准备数据在显示内容时使用;以及发送准备的数据用于广播。
优选地,参考涉及到内容的呈现,该方法优选地还包括使用参考配置用于显示的内容。
优选地,该方法还包括使用内容单元和参考来准备内容的数据或显示内容的步骤。
前端的能力大于机顶盒用于分辨的能力,因为在机顶盒中的能力是非常有限的;特别是考虑到被发送到机顶盒的、用于动态地屏幕更新的信息的范围和频率。接收机/译码器的存储器管理和性能是有限的,在业务内不可能实施逻辑地址的分辨(这里具体地是数据参考)。在前端处实施分辨可以把克服接收机/译码器能力限制的方法安置在适当的位置。
本发明各方面的有利的特性是能够在前端处实施分辨数据的符合逻辑的参考。
外部数据的参考可允许(在理论上)分开地广播卫星流中的数据。分开的数据一方面是图形目标和另一方面是要被显示的内容数据。所以,在互动业务级别上分析和检索URI需要许多机器时间,这是与接收机/译码器所具有的能力不兼容的。在服务器处实施这些运行,上游形成最后的广播(’纯’广播),提供重要的和可发展的运行能力的好处(可缩放性和负载平衡)。
这个特性的优点是,在终端用户端软件运行时间的消耗会被避免。这节省接收机/译码器中宝贵的软件运行时间。
然而,可以设想,数据的某些处理可以在接收机/译码器处发生。例如,在广播之前,一个文本框的文本可被分析以及在适当的地方被删去,以适配于文本框。这个信息然后被发送到接收机/译码器,它在知道框的尺寸后找出适当的框以及把它与预先格式化的内容合并。
优选地,该方法还包括把数据变换到MPEG格式。
本发明的另一个方面提供用于参考应用中的内容的设备,包括:用于创建与内容单元有关的参考的装置(优选地是编辑工具)和用于把参考与内容单元相联系的装置(优选地是编辑工具)。
优选地,参考包括与内容的源有关的参考单元以及与内容单元的位置有关的参考单元。
本发明的再一个方面提供用于参考数据的逻辑参考单元。
优选地设备包括第一数据存储器,以用于存储参考;以及第二数据存储器,以用于存储与参考有关的容器,该容器被适配成保存与参考相联系的内容数据。
本发明的再一个方面提供用于分辨用于内容模块的参考的设备,包括:用于接收内容单元的装置(优选地是处理器);用于识别与内容单元有关的参考的装置(优选地是处理器);以及用于合并内容单元与参考,以创建用于显示内容的数据的装置(优选地是处理器)。
本发明的再一个方面提供用于确定内容的呈现的设备,该设备包括:用于接收要被呈现的内容的装置(优选地是处理器);用于识别呈现准则的装置(优选地是处理器);用于相对于呈现准则分析内容的装置(优选地是处理器);以及用于确定内容的呈现的装置(优选地是处理器)。
本发明的再一个方面提供用于创建用来在屏幕上呈现内容的样板的设备,该设备包括:用于创建用来显示内容单元的目标的装置(优选地是处理器);用于分配一个参考给该目标,以便把该目标与内容单元相联系的装置(优选地是处理器)。
本发明的再一个方面提供用于准备用于广播的内容的设备,包括:使用对于该内容的参考、以便准备用于显示内容的数据的装置(优选地是处理器);以及发送用于广播的数据的装置(优选地是处理器)。
本发明还提供用于广播数据的方法,包括接收按照这里描述的任何方法产生的数据,以及广播该数据。
本发明也提供计算机程序和计算机程序产品,以用于实行这里描述的任何方法和/或体现这里描述的任何设备特性;以及计算机可读的媒体,其上存储用于实行这里描述的任何方法和/或体现这里描述的任何设备特性的程序。
本发明也提供体现用于实行这里描述的任何方法和/或体现这里描述的任何设备特性的计算机程序的信号;发送这样的信号的方法;以及具有操作系统的计算机产品,该操作系统支持用于实行这里描述的任何方法和/或体现这里描述的任何设备特性的计算机程序。
本发明也提供基本上如这里参照附图描述的方法;以及基本上如这里参照附图描述的、和如附图所显示的设备。
本发明的再一个方面提供准备用于呈现的接收的内容单元的方法,包括:接收包括内容单元的数据;再考察接收的数据,识别与内容单元有关的参考;以及使用该参考来确定用于内容单元的呈现配置。方法优选地包括使用该参考来确定内容单元在接收数据中的位置。
该方法优选地还包括使用参考来确定用于呈现的缺省值。
该方法优选地还包括使用该参考来识别用于内容单元的容器的步骤。优选地,容器包含用于内容单元的呈现配置准则。该方法优选地还包括确定对于呈现内容单元所需要的容器的数目的步骤和把内容单元与容器相联系的步骤。该方法优选地还包括以下步骤:读出容器的逻辑参考单元;在相应于逻辑参考单元的接收的数据中恢复内容单元;以及把内容单元与容器相链接。
该方法优选地包括把容器中的内容单元变换成可广播的形式,例如MPEG。
优选地,接收的数据被再考察,以便识别内容单元的尺寸,以及把内容单元尺寸与用于内容单元的呈现的预定的最大尺寸进行比较。优选地,该方法包括以下步骤:识别内容单元的尺寸大于用于内容单元的呈现的预定的最大尺寸;识别超过呈现的预定的最大尺寸的内容单元的超过部分;以及准备用于呈现的超过部分。
该方法优选地还包括准备用于呈现的超过部分,包括把超过部分与另一个容器相链接。
本发明的再一个方面提供用于准备用于呈现的接收的内容单元的设备,包括:用于接收包括内容单元的数据的装置(优选地是接收机);用于再考察接收的数据,识别与内容单元有关的参考的装置(优选地是处理器和相关的存储器);以及用于使用参考来确定用于内容单元的呈现配置的装置(优选地是处理器和相关的存储器)。
该设备优选地包括用于使用参考来确定内容单元在接收数据中的位置的装置(优选地是处理器和相关的存储器)。
该设备优选地包括用于呈现的缺省值。这个缺省值优选地被保存在数据存储器中;在优选的例子中在数据库中,缺省值与数据库中的参考有联系。
该设备优选地还包括用于内容单元的容器,容器与用于内容单元的参考相联系。优选地,容器包含用于内容单元的呈现配置准则。
优选地,该设备还包括用于确定对于呈现内容单元所需要的容器的数目的装置(优选地是处理器和相关的存储器)。优选地,也提供用于把内容单元与容器相联系的装置(优选地是处理器和相关的存储器)。这个设备优选地还包括:用于读出容器的逻辑参考单元的装置(优选地是处理器和相关的存储器);用于在相应于逻辑参考单元的接收数据中恢复内容单元的装置(优选地是处理器和相关的存储器);以及用于把内容单元与容器相链接的装置(优选地是处理器和相关的存储器)。
该设备优选地包括用于把与容器相链接的内容单元变换成可广播的形式的装置(优选地是处理器和相关的存储器)。
该设备优选地包括用于再考察接收的数据,识别内容单元的尺寸的装置(优选地是处理器和相关的存储器);用于以用于内容单元呈现的预定的最大尺寸准备内容单元尺寸的装置(优选地是处理器和相关的存储器)。该设备优选地包括:用于识别内容单元的尺寸大于用于内容单元的呈现的预定的最大尺寸的装置(优选地是处理器和相关的存储器);用于识别超过用于呈现的预定的最大尺寸的内容单元的超过部分的装置(优选地是处理器和相关的存储器);以及用于准备用于呈现的超过部分的装置(优选地是处理器和相关的存储器),它优选地包括用于把超过部分与另一个容器相链接的装置(优选地是处理器和相关的存储器)。
该设备优选地包括接收机/译码器。
按照本发明的再一个方面,提供了计算机程序产品,包括用于准备用于呈现的接收的内容单元的代码,所述准备包括以下步骤:接收包括内容单元的数据;再考察接收的数据,识别与内容单元有关的参考;以及使用该参考来确定用于内容单元的呈现配置。
计算机程序产品优选地还包括用于使用该参考来确定内容单元在接收数据中的位置的代码以及优选地包括用于使用参考来确定用于呈现的缺省值的代码。
计算机程序产品优选地还包括用于使用该参考来识别用于内容单元的容器的代码。该容器优选地包含用于内容单元的呈现配置准则。
计算机程序产品优选地还包括用于确定对于呈现内容单元所需要的容器的数目的代码。
计算机程序产品优选地包括用于把内容单元与容器相联系的代码。计算机程序产品优选地还包括用于以下步骤的代码:读出容器的逻辑参考单元;在相应于逻辑参考单元的接收的数据中恢复内容单元;以及把内容单元与容器相链接。
计算机程序产品优选地包括用于把容器中的内容单元变换成可广播的形式的代码。
计算机程序产品优选地包括用于再考察接收数据,以识别内容单元的尺寸,以及把内容单元尺寸与用于内容单元的呈现的预定的最大尺寸进行比较的代码。计算机程序产品优选地还包括用于以下步骤的代码:识别内容单元的尺寸大于用于内容单元的呈现的预定的最大尺寸;识别超过呈现的预定的最大尺寸的内容单元的超过部分;以及准备用于呈现的超过部分。优选地,所述准备用于呈现的超过部分,包括把超过部分与另一个容器相链接。
本发明的再一个方面提供计算机程序产品,包括用于对于内容单元执行以下步骤的代码:创建与内容单元有关的参考;以及把该参考与内容单元相联系。参考优选地包括与内容呈现有关的单元。参考优选地还包括与数据的源有关的参考单元和/或与数据的位置有关的参考单元。参考优选地包括逻辑参考单元。参考优选地还包括对于数据的缺省值的参考单元。
计算机程序产品优选地包括用于分析该参考、和创建用于具有这个参考的内容单元的容器的代码。
计算机程序产品优选地还包括用于分辨用于内容单元的参考的代码,包括以下步骤:接收内容单元;识别与内容单元的呈现有关的参考;以及使用内容单元和参考来创建用于显示内容的数据。
计算机程序产品优选地还包括用于执行以下步骤的代码:接收内容单元;识别与内容单元的呈现有关的参考;以及使用内容单元和参考来创建用于显示的数据。计算机程序优选地还包括用于进行以下步骤的代码:接收包含内容数据的文件;识别参考单元和得到与参考单元有关的容器;读出容器的逻辑参考单元;恢复相应于逻辑参考单元的内容数据的项目;以及把内容数据项目插入到容器。
计算机程序产品优选地还包括用于执行以下步骤的代码:识别呈现准则;相对于呈现准则分析内容单元;以及确定内容的呈现。
计算机程序产品优选地还包括用于执行以下步骤的代码:接收要被呈现的内容;识别呈现准则;相对于呈现准则分析内容;以及确定内容的呈现。计算机程序产品优选地还包括用于执行以下步骤的代码:接收更新的内容;分析内容;以及确定更新内容的呈现。方法优选地基本上是自动的。
计算机程序产品优选地还包括用于发送用于广播的数据的代码。
按照本发明的再一个方面,提供计算机程序产品,包括用于执行以下步骤的代码:接收内容单元;识别与内容有关的参考;准备数据,以便在显示内容时使用;以及发送用于广播的数据。参考优选地涉及到内容的呈现,该方法还包括使用参考来配置用于显示的内容。计算机程序产品优选地还包括用于使用内容单元和参考来创建用于显示内容的数据的代码。
计算机程序产品优选地还包括用于把数据变换到MPEG格式的代码。
本发明的一个方面提供广播数据的方法,包括按照这里描述的方法接收数据和广播该数据。
再一个方面提供广播系统,包括广播中心和如这里描述的设备。
在本发明的一个方面中的任何的特性可以以任何适当的组合被应用到本发明的其他方面。
具体实施方式
图1上显示数字电视系统1的总貌。本发明包括最传统的数字电视系统2,它使用已知的MPEG-2压缩系统来发送压缩的数字信号。更详细地,在广播中心的MPEG-2压缩器3接收数字信号流(典型地是视频信号流)。压缩器3通过链路5被连接到复接器和扰码器4。
复接器4接收多个输入信号,组装输送流,以及把压缩的数字信号通过链路7发送到广播中心的发射机6,链路7当然可以取各种各样的形式,包括电信链路。发射机6通过上行链路8发送电磁信号到卫星转发器9,其中电磁信号被电子地处理,以及通过概念上的下行链路10被广播到地面接收机12,传统地以由终端用户拥有的或租用的碟形天线的形式。用于数据传输的其他的输送信道当然是可能的,诸如地面广播、电缆传输、组合的卫星/电缆链路、电话网等等。
由接收机12接收的信号被发送到由终端用户拥有的或租用的、和被连接到终端用户的电视机14的集成的接收机/译码器13。接收机/译码器13把压缩的MPEG-2信号译码成用于电视机14的电视信号。虽然图1上显示分开的接收机/译码器,但接收机/译码器也可以是集成的数字电视机的一部分。正如这里使用的,术语“接收机/译码器”包括分开的接收机/译码器,诸如机顶盒,以及电视机具有与它集成在一起的接收机/译码器。
在多信道系统中,复接器4操纵从多个并行源接收的音频和视频信息,以及与发射机6互动,沿着相应的数目的信道广播信息。除了视听信息以外,消息或应用或任何其他种类的数字数据可被引入到某些或所有的这些信道,与发送的数字音频和视频信息交错在一起。
条件接入系统15被连接到复接器4和接收机/译码器13,以及部分位于广播中心和部分位于接收机/译码器。它使得终端用户能够从一个或多个广播提供者那里接入数字电视广播。智能卡能够解密与广告插入有关的消息(也就是,由广播提供者销售的一个或几个电视节目),并且可被插入到接收机/译码器13。通过使用接收机/译码器13和智能卡,终端用户可以以预订的模式或按次付费的模式来购买广告插入。
如上所述,由系统发送的节目在复接器4中被加扰,施加到给定的传输的条件和加密密钥由接入控制系统15确定。这样,被加扰的数据的传输在付费TV系统领域中是熟知的。典型地,加扰的数据连同用于数据的解扰的控制字一起被发送,控制字本身被所谓的运行密钥被加密,以及以加密形式被发送。
加扰的数据和加密的控制字然后被接收机/译码器13接收,13已接入到被存储在被插入到接收机/译码器的智能卡上的运行密钥的等价物上以解密已加密的控制字,此后,解扰已发送的数据。付费的用户例如在每月广播的EMM(权利管理消息)中接收对于解密已加密的控制字所必须的运行密钥,以便允许观看该传输。
交互系统16也被连接到复接器4和接收机/译码器13以及再次部分位于广播中心和部分位于接收机/译码器,这使得终端用户能够通过反向信道17与各种应用项互动。反向信道例如可以是公共交换电话网(PSTN)信道(例如,调制解调器的反向信道),或带外(OOB)信道。反向信道也可被使用于在条件接入系统15中使用的通信。
接收机/译码器
参照图2,现在按照功能块描述接收机/译码器13的各个单元。
接收机/译码器13,例如可以是数字机顶盒(DSTB),包括中央处理器220,中央处理器包括相关的存储元件以及用来接收来自串行接口221、并行接口222、调制解调器223(被连接到图1的调制解调器反向信道17)和在译码器的前板上的开关接触点224的输入数据。
接收机/译码器附加地用来通过控制单元226接收来自红外遥控器225的输入,以及也拥有两个智能卡读卡器227,228,分别用来读银行和预订智能卡242,240。预订智能卡读卡器228与插入的预订卡240和与条件接入单元229啮合,提供必须的控制字给分接器/解扰器230,使得加密的广播信号能够被解扰。译码器也包括传统的调谐器231和解调器232,以便接收和解调卫星传输,随后被单元230滤波和分接。
正如在本说明中使用的,应用优选地是用于控制接收机/译码器13(优选地)的高级别功能的一段计算机代码。例如,当终端用户把遥控器225的聚焦点放置在电视机14的屏幕上看到的按钮目标上以及按压验证按键时,与按钮有关的指令序列被运行。
互动应用在终端用户的请求下提出菜单和执行命令,以及提供与应用的用途有关的数据。该应用可以是常驻的应用,也就是被存储在接收机/译码器13的ROM(或FLASH(闪存)或其他非易失性存储器)中,或者是广播并下载到接收机/译码器13的RAM或FLASH存储器中。
应用被存储在接收机/译码器13中的存储单元内,以及被表示为资源文件。资源文件包括图形目标说明单元文件、变量块单元文件、指令序列文件、应用文件和数据文件,正如在上述的专利说明书中更详细地描述的。
接收机/译码器包含被划分成RAM存储体、FLASH存储体、和ROM存储体的存储器,但这个物理组织不同于逻辑组织。存储器还可被划分成与各种接口有关的存储器存储体。从一个观点看来,存储器可被看作为硬件的一部分;从另一个观点看来,存储器可被看作为支持或包含整个系统,被显示为与硬件无关。
接收机/译码器的结构
接收机/译码器包含五个软件层,被组织成使得软件可以在任何接收机/译码器中以及通过任何操作系统被实施。参照图3,各个软件层是应用层250、应用编程接口(API)层252、虚拟机器层254、设备层256和系统软件/硬件层258。
应用层250包括常驻于或被下载到接收机/译码器的应用。它们可以是由顾客使用的、以例如JAVA,HTML,MHEG-5或其他语言编写的互动应用,或它们可以是由运行这样的应用的接收机/译码器使用的应用。这个层是基于由虚拟机器层提供的、一组开放的应用编程接口(API)。这个系统允许在空中或在要求下把应用下载到在接收机/译码器中的闪存或RAM存储器。应用代码可以通过使用协议,诸如数据贮存媒体命令和控制(DSMCC)、网络文件服务器(NFS)或其他协议,以压缩的或未压缩的格式被发送。
互动的应用是用户为了得到产品和业务而与其互动的应用,例如,诸如电子节目引导、远程银行应用和游戏。以下的驻留应用被使用来管理互动应用:
·引导.引导应用260是当接收机/译码器被接通电源时开始的第一个应用。引导应用启动虚拟机器中不同的“管理程序”,第一个是应用管理程序262。
·应用管理程序.应用管理程序262管理在接收机/译码器中运行的互动应用,也就是,它启动,停止,中止,继续进行,操纵事件和处理在应用之间的通信。它允许多个应用立即运行,因此在它们中间分配资源时牵涉到。这个应用对于用户是完全透明的。
·建立.建立应用264的用途是配置接收机/译码器,主要是在它第一次被使用时。它执行动作:诸如扫描TV频道、设置日期和时间、建立用户喜爱项等等。然而,建立应用可以在任何时间被用户使用来改变接收机/译码器配置。
·快速移动.快速移动应用268被使用来通过节目向上,节目向下和数字按键来改变频道。当例如通过标识(导引)应用使用另一种形式的快速移动时,快速移动应用被停止。
·回呼.回呼应用被使用来提取被存储在接收机/译码器存储器中的各种参量的数值,以及把这些数值通过调制解调器反向信道17或通过其他装置返还到广告运营者。
API层252提供用于互动应用开发的高的级别公用设施。它包括组成这个高级别的API的几个包装。包装提供对于运行互动应用所必须的所有的功能。包装是由应用可接入的。
在优选实施例中,API用来运行以JAVA编程语言编写的应用。而且,它可解译HTML和其他格式,诸如MHEG-5。除了这些解译器以外,它也包括其他包装和业务模块,它们在需要确定时是可拆卸的和可扩展的。
虚拟机器层254由语言解译器和各个模块与系统组成。它包含对于在接收机/译码器中接收和执行这些互动应用所必须的每个项目。
设备接口层256包括设备管理程序和设备。设备是软件模块,它包含对于管理外部事件和物理接口所必须的逻辑资源。设备层管理在驱动器与应用之间的通信信道,以及提供增强的错误事故检验。被管理的设备的某些例子是:读卡器,调制解调器,网络,PCMCIA(个人计算机存储器卡国际协会),LED显示器等等。编程器不必直接处理这个层,因为API层从上面控制设备。
系统软件/硬件层258由接收机/译码器的制造商提供。因为系统模块化和因为由OS提供的业务(诸如事件调度和存储器管理)是虚拟机器的一部分,故更高的层不限于特定的实时操作系统(RTOS)或特定的处理器。
现在将描述,从接收机/译码器的角度被称为模块的特别的类别的目标。
参照图4,模块710,诸如远程购物模块,是一组资源文件和数据,包括以下部分:
单个应用文件712;
待定的数目的图形目标说明单元文件714;
待定的数目的变量块单元文件716;
待定的数目的指令序列文件718;以及
在适当的场合下,数据文件720,诸如图标库文件,图象文件,字体文件,彩色表文件和ASCII文本文件。
模块710的概念连同下载小的片段的代码的概念一起,允许应用容易发展。它们可被下载到接收机/译码器13的永久FLASH存储器(未示出)作为驻留软件,或被广播,以便只在终端用户需要时被下载到接收机/译码器13的RAM中。
在MPEG流的情形下,一个模块710在一个单个MPEG表中被输送。在被发送到MPEG调谐器(未示出)的模块的情形下,长的MPEG-2格式被使用,具有长的标题和CRC代码。这也是接收机/译码器的五个其他接口的情形(串行接口,并行接口,调制解调器和两个读卡器-未示出),除了使用具有较短的标题和没有CRC的、“短的”MPEG-2格式以外。
具体地参照图5,正如已知的,MPEG-2特流包括节目接入表(“PAT”)810,具有0的分组标识(“PID”)。PAT包含对多个节目的节目变换表(“PMT”)812的PID的参考。每个PMT包含对该节目的音频MPEG表814和视频MPEG表816的流的PID的参考。具有0的PID的分组,也就是节目接入表810,提供对于所有的MPEG接入的进入点。
为了下载应用和用于这些应用的数据,规定了两种相关的流的类型,以及相关的PMT也包含对应用MPEG表818(或它们的段)和数据MPEG表820的流的PID的参考(或它们的段)。
参照图6,为了下载应用822,应用被划分成模块824,每个模块由MPEG表形成,其中某些模块由单个段818组成,而其他模块由多个段818组成。典型的段818具有标题826,它包括一字节的表标识(“TID”)828,表中的该段的段目号830,在该表中的段的总的数目832以及二字节的TID扩展部分834。每个段也包括数据部分836和CRC838。对于特定的模块/表824,组成该表824的所有的段818具有相同的TID 828和相同的TID扩展部分834。对于特定的应用822,组成该应用822的所有的表824具有相同的TID 828,但具有不同的各个TID扩展部分。
上述的、用于传送数据到数字广播系统中的接收机/译码器的系统是通用的,足以允许例如相对于特定的节目或信道广播网页,这些网页然后可以与所讨论的节目或信道合作而被观看。
图7是简化的总貌。图上显示节目提供者400,内容提供者402,运营者404,广播中心406,卫星408,和机顶盒(STB)410。
节目提供者400包括离线编辑器420,包含XTVML文件的贮存装置422,应用服务器424,在线编辑器426和数据贮存装置428。
内容提供者402包括数据贮存装置440和广播控制台442。
运营者404包括网络服务器450,数据贮存装置452和防火墙454。
广播中心包括项目广播注入器(SBI)460和卫星发射机462。
在节目提供者400,内容提供者402,运营者404,和广播中心406,之间,以及在它们的各种部件之间的连接在图上用箭头代表。
下面的章节给出与数据参考的使用有关的功能的和技术的技术说明。
通用参考(统一资源识别符)的概念允许在应用系统内的每个单元或数据片段被唯一地参考。此外,它允许这些单元的每一个由逻辑描述符来规定,而不再直接由系统资源来规定。数据的每次物理修正并不引起描述使用格式的应用的级别上的修正。这对于应用提供优点,把描述数据的呈现(“容器”)的部分和有关数据本身(“内容”)的部分进行去相关。
节目提供者负责创建构成剧本的屏幕。这些屏幕由允许要显示和利用的数据的基本目标组成。在数据来自相关的外部源的情形下,使用参考原理来设计它。
内容提供者负责发送被参考的数据的集合到运营者。这个数据按照取决于他们的编辑或广告利益的可变的频率被发送。
运营者负责数据广播。数据被分离成两个种类:在一个部分中是屏幕的说明和来自节目提供者的应用的XTVML目标,以及在另一个部分中是从内容提供者发起的外部数据。
可以记起,所使用的URI结构按照以下的结构被归一化:
<Scheme(分类表)>:<StreamLocator(流定位器)>:<DataLocator(数据定位器)>
<Scheme>域表示系统资源的类型(业务,应用或数据),<StreamLocator>表示数据流,以及<DataLocator>表示数据的分组。
例如,为了查看CAC40(法国股票市场指数)的数值,可以利用以下的URI符号:
<dtv-d>:<Bourse_de>:<CAC40>
应当指出,这里StreamLocator代表由内容提供者发出的数据流,而不是在广播级别上数据的输送流量。这个细节在数据的组件级别上是重要的,将在下面描述。
逻辑描述符是数据的简明的和清楚的定义。回到CAC40的例子,逻辑描述符就它本身而言,可被表示为“Value of the CAC40(CAC40的数值)”。
为了使用时更大的灵活性,这是由希望找出数据片段而不知道它的URI的用户在编辑工具的级别上可以使用的描述符。
容器实际上是XTVML文件名称,代表其内容被URI参考的基本的XTVML目标的说明。这个XTVML文件被变换成由PID,TID和TIDExt标识的MPEG表的形式。
可参考的外部数据可以具有简单的编辑类型,也就是说文本或图象。它由内容提供者以预定的、但可变的频率发送到运营者。
也可能在两种类型的外部数据之间进行区分,主要联系到它们的刷新频率:
第一种类型是流动的:数据由内容提供者以高的频率被修正和发送,以及必须在译码器级别上自动地被刷新。
第二种类型是正常的:数据在时间过程中很少被修正,因此不需要自动刷新。
正如可以看到的,这里重要的是规定外部数据类型,因为对于流动的数据,必须向接收机/译码器表示它是否应当把用于扫描输送数据的表的版本的系统放置在适当的位置。数据的类型因此在包含数据的XTVML目标级别上(例如由节目提供者)被发送,或在与数据相同的级别上(例如由内容提供者)被发送。
参考分辨(reference resolution)是把物理的数据片段与逻辑参考相联系时包含的机制,它将在广播过程的上游处发生。
因为在接收机/译码器处缺乏处理能力,故这个阶段不能在接收机/译码器处正常地发生。
关于应用的广播,所述分辨包含用物理的参考代替逻辑参考。如果这个物理参考不存在,则将生成它。
关于外部内容的广播,所述分辨包含用与数据相同的数值(文本的行、图象,等等)代替在容器内存在的参考。
藉助于避免在接收机/译码器处使用参考时被断开的链路所产生的所有的问题,引入缺省参考数值的概念是有利的。这包含在组装链内发生传输实际的数据的问题的场合下,对于从外部提供者发起的数据项的参考,规定必须被译码器显示的数值。这些缺省值(典型地为文本片段或图象)相对于应用而在全局范围被定义,或在与数据相同的级别上被定义。而且,这些数值在不低于运营者级别的线路上(也就是说,在应用格式被广播之前)被传送,这样,缺省值可以在问题的事件中被插入使用它们的相应的参考的容器内。
系统所使用的数据是对于权利敏感的或服从于权利的;所以,可以规定两个安全级别,第一个关系到接入参考的权利,以及第二个则是数据的利用权利。
每个编辑工具只具有独占地使用交由它自由处理的某些参考的单元的权利。而且,这些权利允许管理相对于数据的广播或数据广播的中止的责任。为了允许做到这一点,在允许接入到给定的数据项或数据类别之前规定用户集是适当的。这些权利由运营者按照终端用户的性质而被规定。
也有可能对于数据项目规定它被广播的时间间隔。可以想像,这典型地开始于与特定的节目相链接的广告的广播。在广播结束时,广播将自动地停止。
从内容提供者发起的数据可以服从利用权利,例如,图象可被做成为使用的权利和广播的权利之目标。
从上述的不同的点看来,对于数据文件提出以下的XML结构:
<content_provider type=‘data’stream_locator=’Bourse_de Paris’date=’01/09/2000′>
<licenses>
<content_provider type=‘data’stream_locator=‘Bourse_de_Paris’date=‘01/09/2000′>
<licenses>
<license appli_prov=‘CSAT’/>
<license appli_prov=‘CNUM’/>
</licenses>
<data>
<datum name=‘CAC40’descr=‘Valeur du CAC40’type=‘Streamed’
datatype=“Text”value=‘6500′/>
<datum name=‘IR.CAC50′descr=‘Valeur du IT.CAC50’type=‘Streamed’
datatype=“Text”value=‘3600’/>
<datum name=‘Nouveau M’descr=‘Valeur du Nouveau Marche’type=
‘Streamed’datatype=“Text”value=‘4500’/>
<datum name=‘SBF120’descr=‘Valeur du SBF120’type=‘Normal’
datatype=“Text”value=‘4300’/>
<datum name=“LogoBDP”descr=“Logo de la bourse de Paris”datatype=
“Picture”value=“logo.mpg”/>
</data>
</content_provider>
这些不同的数据文件将在内容提供者的本身的主动发起下被内容提供者发送。
下面将被描述的功能被列出如下:
-由应用规定和分配系统资源
-对于外部数据的参考的创建
-在编辑工具中参考的使用
-通过使用参考广播数据格式
-广播参考的数据
-停止广播参考的外部数据
-通过使用参考停止被参考的外部数据的应用
-抑制参考的数据
现在描述这个功能清单。
由应用规定和分配系统资源:
这个功能允许规定被使用来输送数据的广播的流。这个运行在业务计划的级别上发生,以及作为它的目标把特定的PID与数据类别相联系。这些流可以由专用MPEG表组成,以及必须同等地规定TID范围。原理上,TID数值相应于特定类型的数据(图象,文本)。
这个功能可包括以下的行动:
-规定数据类别
-在参考系统的数据库中,把信息装载到流定位器(StreamLocator)上
-规定对于不同的类型的外部数据的TID范围
配置文件的创建包括在应用帧中可使用的一批数据类型以及它们与其参考的输送单元的对应关系。
这个功能允许按照URI的归一化的结构规定的、对独特参考的数据的联系。这个参考定义在内容提供者、节目提供者、和运营者之间联合地被创建。负责贮存和管理参考的运营者必须同等地控制由应用广播的数据总量。
对于每个数据,规定以下的参量:
-StreamLocator(流定位器):
这是将把数据从它的提供者输送到运营者的XML文件的识别符。
-DataLocator(数据定位器):
这是数据在XML文件中的位置。它的定义是基于Xpath或XML-Query归一化原理。
-逻辑描述符:
这个说明将允许编辑工具清楚地识别参考的数据。
-缺省值
-业主
-使用权利
一旦规定这个参考,这些参量在运营者级别被存储,运营者然后负责使得它们对于合法的编辑工具是可提供的。
2.2.2.2行动
-数据的选择
-它的类型的标识
-分配到流定位器
-生成数据定位器
-规定参考的参量
-贮存URI和它的逻辑描述符到运营者的参考系统中
-在它的创建者(即,内容提供者)的数据库中,贮存数据与它的参考之间的关系
在编辑工具中参考的使用:
这个功能允许希望使用参考的数据的编辑工具的用户,把该参考(URI)在他自己的应用格式内插入到这个数据中。
为了做到这一点,可以使得允许他从清单中选择一个参考的专用的GUI。这个清单可以按照所寻求的数据类型被分类。参考按照用户的权利被滤波。GUI同等地提供关于参考的数据的广播状态的信息。
一旦参考被选择,负责显示相应的数据的目标的URI性质就被更新。
这个功能可包括以下行动:
-更新可使用的URI的列表
-在委托方应用的数据格式的级别上插入URI
-从它的逻辑描述符中或直接从它的URI中选择参考的数据
-在委托方应用的数据格式的级别上插入URI
通过使用参考广播数据格式:
这个功能允许用户向运营者请求他的数据格式的广播。为了做到这一点,用户通过广播控制台发送他的数据文件到运营者。用户规定有关广播的某些参量(诸如广播的日期和时间)以及管理法则,允许控制格式的整体性和所使用的数据。这些法则格外地规定应用的格式是可广播的条件。典型地,有可能在其中与在该格式中使用的数据相联系的某些数据在广播系统的级别上丢失的情形下进行广播码?用户被运营者警告关于广播他的数据格式的可能性。
对于应用格式内参考的每个用途,将实行特定的分析。它将允许准备目标XTVML容器,以接收相应于它的数据。这个容器将被填充以相关的流定位器和数据定位器,该数据定位器促进检索相应于它的数据。另外,上述的缺省值的概念允许在这一级广播被填充的容器,随后接收参考的真实的数值。
这个功能可包括以下行动:
广播控制台一侧:
-规定有关数据的全局相关性的管理法则
-规定广播参量(流的输送,日期和时间)
-选择通过广播控制台广播的文件
-通过控制台发送文件到运营者
运营者一侧:
-接收文件;控制广播权利和这批文件的整体性
-分析所使用的参考,以及如有必要,则通知用户:对于发送他声称负责的数据所必须的参考
-在运营者级别上应用广播相关性法则
-通知用户:他的数据的相关性的级别
-创建容器或重新使用现有的容器用于对外部数据的参考
-把应用从XTVML格式变换成接收机/译码器的MPEG格式
-广播应用
-变换和广播被填充以缺省值的容器
广播被参考的外部数据
这个功能允许广播被参考的数据。为了做到这一点,内容提供者把其标题包含流定位器的XML文件发送给运营者。这个文件同样地包含专门地发送到由URI的数据定位器(Xpath标准)规定的地点的数据。在它的接收点处由运营者进行的这个文件的分析允许,通过检验流定位器,恢复被链接到流定位器的这个数值的这批容器。对于每个容器,分析数据定位器的数值,以及藉助于Xpath技术恢复数据的数值。这个数值被插入到容器内,它最后被变换成MPEG格式,然后被发送到SBI。
这个功能可包括以下行动:
-接收来自内容提供者的文件
-控制广播权利
-分析文件的流定位器
-请求被链接到这个流定位器的容器清单
-读出每个容器的数据定位器和通过Xpath恢复数据的数值
-插入相应于URI的数值到容器内
-把XTVML容器变换到接收机/译码器的MPEG格式
-发送MPEG文件到SBI
停止广播被参考的外部数据
这个功能允许内容提供者提供数据来请求停止它的广播。在这种情形下,再广播与先前插入了数据的缺省值的数据有关的容器。
这个功能可包括以下行动:
-通过广播控制台选择不再被广播的数据
-通过使用这个参考用在容器中的缺省值代替数据
-再广播被修正的容器
-通知URI的用户:停止广播数据和再广播缺省值
停止使用对外部数据的参考的剧本
这个功能允许应用控制器请求停止广播组成广播剧本的MPEG表。广播管理系统列出这批MPEG表,以及分析在广播的处理中每个表是否被其他应用使用。按照该情形,通知系统将警告停止广播的请求者:满足他的请求的不可能性或MPEG表将从广播流中被去除。在MPEG表被链接到XTVML容器的情形下,将去除容器以及与它包含的参考的联系。
这个功能可包括以下的行动:
-通过广播控制台选择不再被广播的剧本
-分析其他应用对于MPEG表的使用
-通知其中MPEG表不能从流中被去除的情形
-停止相应的保密表的广播
-去除相关的填充的容器
去除对于数据的参考
这个功能允许参考的业主去除它。参考的数据可被看作为先前已从广播流中被去除,暗示着对于所关心的数据的广播的控制。
另一种控制在其中参考被共享或是可共享的情形下被使用。参考的业主被警告:它最终被其他应用使用。然后,他可给出一个警告:不使用这个参考,然后等待对于每个参考的绿灯,或设置对于去除参考的精确的日期和时间。这样,对于去除的请求是可以被区分的。
对于去除参考的专门发送的命令包含去除在数据、它的URI、它的使用权利和它的逻辑描述符之间的关系的所有的踪迹。
这个功能可包括以下行动:
-选择参考
-分析相应的数据的广播
-分析这个参考被应用项的使用
-通知使用
-确认去除的日期和时间
-去除与这个参考有关的所有的单元
技术呈现总体方案:
这被显示于图8。
图8是一般的总貌,显示系统的某些部件、它们之间的各种连接、以及各种数据流。具体地,显示了节目提供者500、内容提供者502、运营者504、和广播中心506。
节目提供者包括被链接到贮存装置512的离线工具510、编辑工具514、网络服务器应用516、广播控制台518、数据贮存装置520和额外网络装置522。显示了在节目提供者的这些部件之间的各种连接530,532,534,536,538和540。在线编辑器连同着离线编辑器一起,组成了编辑工具的一部分。
内容提供者502包括广播控制台560以及额外网络装置562。
运营者包括接收机构580、URI-XTVML处理机构582、广播机构584、用于URI的贮存的数据库586、用于容器的贮存的数据库588、URI编辑器590、和网络服务器592。显示了在运营者的这些部件之间的各种连接600,602,604,606和608。
还显示了分别在网络服务器592、节目提供者2500的网络服务器应用2516、节目提供者2500的广播控制台2518、及内容提供者2502的广播控制台2560之间的连接610,612和614。安全由运营者2504处的防火墙620保证。
广播中心包括SBI 640和接收机构642。TCP/IP连接把SBI 640链接到运营者2504的广播机构2584。
显示了当运行时在系统的各个部件之间行进的数据流660(流(1)),662(流(2)),664(流(3))和666(流(4))。下面更详细地讨论数据流。
现在更详细地讨论在一般的总貌中显示的系统的各个方面。
这个结构的目的是允许所有的参加者容易地和有效地通信。总体上,三个参加者在它们之间为了广播和分辨外部参考进行通信。这些参加者是节目提供者、内容提供者和运营者。在本文件的第一部分中描述每个参加者的作用。
考虑到已存在条件,最直觉的解决方案是基于COM技术和基于用于通信的HTTP协议的解决方案。文件的交换由网络服务器实行,它提供简单的接入,而不论委托方的结构如何。简单的网络浏览器允许存取必须的数据。
节目提供者的作用是构建和发送一批描述互动应用的数据到运营者。
对于编辑,节目提供者具有归它支配的、通过网络浏览器可接入的编辑工具,以及提供更大的编辑功能的离线工具。取决于节目提供者,选择最好地适合于他的结构。
对于广播,专用的控制台允许要以XTVML格式广播的应用数据发送到运营者。
内容提供者以预定的XML格式把原始数据广播到运营者(见上面)。这个广播是藉助于广播控制台实行的。这个控制台是节目提供者所使用的控制台的缩减的版本。所以,它使用相同的通信模式。人们能够把调度器链接到这个工具,以允许以规则的时间间隔广播数据。
运营者的主要的作用是:
1.接收和处理数据。这个处理包括分辨外部参考。
2.广播数据。
接收和发送数据的任务被分成三个不同的模块。
-接收机构,它具有接收来自内容提供者和来自节目提供者的数据,以及在整体性和安全性控制后把它们发送到另一个模块的作用。
-处理机构,查找对外部数据的参考以及试图用物理的参考来分辨这些逻辑参考。为了做到这一点,使用了数据库,它在正在使用的过程中存储URI,以及使用用来存储容器的数据库。容器是XTVML容器,用来接收来自内容提供者的外部数据。
-广播机构,它的作用是把具有XTVML格式的应用变换成接收机/译码器的MPEG格式,然后,把数据发送到SBI服务器。
数据的广播由SBI保证,SBI接收具有MPEG格式的数据和广播参量,并把这些数据发送到广播中心。
现在更详细地讨论数据流的性质。
在把信息从节目提供者发送到运营者时,广播控制台的作用是把数据发送到运营者。这个控制台能够通过网络服务器(HTTP/XML)通信。两个网络之间的安全性是由运营者处的防火墙保证的。在运营者处的网络服务器具有接收XTVML格式的数据和把它发送到接收机构的任务。
节目提供者的编辑工具也可接收来自运营者的数据。典型地,它接收有权利使用的URI的清单。这个信息将通过与负责恢复适合于委托方的参考的、相同的网络服务器发送给它。
在把信息从内容提供者发送到运营者时,由内容提供者使用的广播控制台是在节目提供者处发现的控制台的缩减的版本。
图9更详细地显示数据通过图8的系统的通道。
在把信息从运营者发送到广播中心时,接收机构接收具有XTVML格式的数据(在分类表中的流(1))。这些数据直接来自在提供者处使用的委托方或来自网络服务器,网络服务器然后用作为链路。
这些数据被分析,然后被再发送到URI-XTVML处理机构(在分类表中的流(2)),如果整体性和安全性控制是肯定的话。这个“处理机构”服务器将分辨外部参考,以及如果所有的都被分辨,则所有的XTVML流被发送到广播机构(在分类表中的流(3))。这个广播机构把这些XTVML数据变换成用于接收机/译码器的MPEG格式,然后通过(TCP/IP)插座与SBI服务器通信。
此后,给出关于数据交换器功能的详细说明,数据交换器是负责分辨在XTVML文件内的数据参考并分辨该应用的模块。
对于在本文件内描述的每种使用情形,给出一般的使用事例图以及顺序图。然后详细地描述每个行动,以及给出数据操纵的具体例子。
从应用框架的角度,参考数据的概念可以在它允许数据的内容(文本或图象)与它在屏幕上的呈现清楚地分离的意义上,起到关键的作用。为了分配数据,编辑工具(节目提供者)使用URI(统一资源识别符),URI把必须显示的目标插入到XTVML格式。最终,内容提供者具有发送包含数据的文件和藉助于它们的URI声称它们的作用。数据交换器本身负责MPEG变换和广播XTVML目标与外部数据。而且,它负责插入参考数据到XTVML目标中,这种机制因为它的有限的处理能力,不可能在接收机/译码器级别上实施。
现在描述使用事例;首先描述由应用对于系统资源的规定和采用:
图10是显示由应用对于系统资源的规定和实施的概要图。具体地,正如下面描述的,它显示在内容提供者1100、TV运营者1102和节目提供者1104之间的相互关系,以及各种概念或处理包括数据的类别的规定1110、可使用的通带的规定1112、广播的技术配置1114和流定位器的分配1116。
图11是顺序图,也涉及到由应用对于系统资源的规定和实施。再次显示在内容提供者1200、TV运营者1202和节目提供者1204之间的相互关系,以及事件序列包括数据的类别的规定1210和1212、通带的规定1214、广播的技术配置1216和流定位器的分配1218。
现在更详细地描述有关数据的类别的规定、需要的通带的规定、和广播的技术配置的以上的特性。
内容提供者确定带给运营者的数据的类别。这些类别可以与数据类型相联系,但同等地与主题或题目相联系。这些实际上是广播约束条件,它们规定这些类别的定义(数据的物理的发源,广播频率,相应于相同的使用权利的数据集合)。
关于节目提供者数据,运营者可考虑,所以,在大多数情形下接下去使用不同的XTVML目标的整体性。
在使用外部数据的应用的上下文中重要的参量在于预告要被同时广播的这个数据的量。因此,必须知道广播的数据的最大的量,以及节目提供者的内容一侧。为了做到这一点,节目提供者具有归它支配的模块,计算构成剧本的文件的总的量,这允许它控制它创建的剧本的尺寸。数据交换器本身负责控制广播级别比特速率。
广播的技术配置:这个阶段的目标是把对于广播与这种应用有关的所有的表所必须的参量集存储在XML文件,’Diffusion.xml’内。为了做到这一点,可以表明有关每个数据的广播的一批技术参量。这个数据集被包含在由属性数值’diff_id’标识的<diffusion>单元中。重要的是指出,’Diffusion.xml’包括与对于一个应用所存在的广播类型一样多的不同的<broadcast>决。典型地,一个应用可以具有2个广播信道:第一个用于内部测试,以及第二个用于实际广播。
关于段广播注入器:第一点实际上,对于运营者,从先前规定的数据类别看来,在于影响用于广播的一个或多个SBI。对于每个SBI,必须监视和以最佳方式调整流程。
例如,对于文件’Diffusion.xml’可以得到以下的清单:
<diffusions>
<diffusion diff_id=″mag+_test″>
<sbi sbi_id=″1″ip=″150.1.2.3″port=″1″/>
<sbi sbi_id=″2″ip=″150.1.2.3″port=″2″/>
</diffusion>
</diffusions>
将会注意到在文件组中被使用来唯一地标识SBI的属性’sbi_id’的存在。
关于PID,可以如下地规定在每个SBI中可使用的PID的数目:
<diffusions>
<diffusion diff_id=″mag+test″>
<sbi sbi_id=″1″ip=″150.1.2.3″port=″1″/>
<sbi sbi_id=″2″ip=″150.1.2.3″port=″2″/>
<pid_data sbi_id=″1″pid=″3207″>
</pid_data>
<pid_data sbi_id=″1″pid=″3208″>
</pid_data>
<pid_data sbi_id=″2″pid=″4502″>
</pid_data>
</diffusion>
<diffusions>
关于TID和循环时间,最后,表类型被链接到特定的TID数值,在特定的PTD中,它作为对于XTVML目标集合的具体例子给出:
<diffusions>
<diffusion diff_id=″mag+_test″>
<sbi sbi_id=″1″ip=″150.1.2.3″port=″1″/>
<sbi sbi_id=″2″ip=″150.1.2.3″port=″2″/>
<pid_data sbi_id=″1″pid=″3207″>
<object type=″main_screen″tid=″150″period=″10″/>
<object type=″lut″tid=″151″period=″10″/>
<object type=″screen″tid=″152″period=″10″/>
<object type=″object″tid=″153″period=″10″/>
</pid_data>
<pid_data sbi_id=″1″pid=″3208″>
<object type=″picture″tid=″154″period=″20″/>
<object type=″pixmap″tid=″155″period=″20″/>
</pid_data>
<pid_data sbi_id=″2″pid=″4502″>
<object type=″text″tid=″156″period=″20″/>
<object type=″label″_list″tid=″157″period=″20″/>
</pid_data>
<pid_data sbi_id=″2″pid=″4503″>
<object type=″streamed_picture″tid=″157″period=″20″/>
</pid_data>
</diffusion>
</diffusions>
这个文件一旦被更新,就被运营者存储在所涉及的应用的数据的索引中。
对于数据的参考的创建
现在描述对于数据项目的参考的创建。
图12是显示对于数据的参考的创建的概要图。具体地,显示了在内容提供者1300、节目提供者1304和数据交换器1306和以下的各处理之间存在的相互关系,这些处理包括:创建或选择包含参考的文件1310,命名数据项1312,逻辑说明1314,选择对于参考的数据项1316,规定使用权利1318,发送文件1320,存储参考1322,以及发送参考1324。
图13是也显示对于数据的参考的创建的顺序图。显示了与内容提供者1400、节目提供者1404、数据交换器1406和XML数据文件1408有关的事件序列,这些事件具体地包括:选择数据项1410,分配流定位器1412,创建或选择用于输送参考的XML文件1414,把参考和它的属性插入到XML模块1416,规定和插入使用权利1418,验证1420,发送文件1422,贮存1424,和滤除权利和发送1426。
现在更详细地描述与选择数据;分配流定位器;选择或创建用于输送参考的XML文件;把参考插入到模块;描述数据;规定使用权利;发送XML文件;存储参考;以及滤除和发送XML文件到节目提供者的编辑工具有关的特性。
选择数据:在任何其他事件之前,内容提供者决定要被参考的数据集合。这个决定可以一部分由将必须把它合并在剧本中的节目提供者,以及其一部分由将根据带宽批准被广播的数据总量的运营者联合作出。
分配流定位器:把数据项与被分配给内容提供者的一个流定位器相联系。为了做到这一点,内容提供者拥有它的流定位器的清单,以及在它们中间选择一个流定位器。
选择或创建用于输送参考的XML文件:对于每个流定位器,相应地有独特的’Reference_Definition.xml’文件,对于该文件,根单元拥有具有它的数值的’stream_locator’属性。这个文件在规定参考时被使用来描述它们的参量的集合,但同样确定地发送相关的数据到参考。
<reference_definition provider_name=″Bourse_de_Paris″date+″05/10/2000″>
<licenses>
<license appli_id+″″/>
</licenses>
<data stream_locator=″Bourse_dè_Paris/news″start_date=″05/10/2000″>
<datum data_locator=″″descr=″″datatype=″″frequence=″″width=″″
height=″″>
<![CDATA[contenu]]>
...........
ou
...........
blocXML
</datum>
</data>
</reference_definition>
现在将描述各单元:
<licenses>:它包含<license>单元,《license》单元拥有表示应用的识别符或被授权使用被包含在文件中的参考的节目提供者的识别符的’appli_id’属性。可以找到与被授权使用这些参考的应用一样多的<license>单元。
<data>:它包含与在文件中参考的数据一样多的<datum>单元。
<datum>:它拥有几个属性:’data_locator’包含与流定位器互补的数值,以构成数据的URI;’descr’包含数据的逻辑说明;’datatype’规定它是否为编辑数据一览表类型的数据、MPEG图象、或文本块(分别为’datalist’,’picture’或’text’);’frequency’规定数据是否用高频率发送(“流动的”或“正常的”),这个属性实际上表示译码器是否必须检查包含广播的数据的XTVML目标的版本,以便直接刷新屏幕而不通过遥控器进行动作。在参考数据是图象的情形下,内容提供者必须同等地提供图象尺寸,即’width(宽度)’和’height(高度)’属性。
CDATA段:它包含数据的缺省值,或者总的文本块,或者包含MPEG图象的文件的名称。这允许参考数据的XTVML目标能够显示它的第一次广播的内容,这可以是缺省值。为了这些原因,这个数值必须被填充,否则,该参考整个地被数据交换器拒绝以及将使用缺省值。
XML块:在其中目标参考URI的清单的某些情形下,XML块由描述每个URI的不同的子单元组成。类型Xpath或XMLQuery的使用然后允许在这个块中导航,以便快速地定位URI的数值。人们可区分两种类型的数据一览表。第一种类型是’DataList’类型,这相应于PageSet(设定页)目标:
<datum>单元拥有几个单元<title>、<body>、<picture>和<picture_legend>。这些单元的每一个包含代表参考的数据的内容的类型段数据的单元。
第二种类型是’类型’的种类,这相应于菜单目标:
<datum data_locator=″menu_foot″descr=″liste des données du foot″datatype=″catalogue″
frequence=″normal″>
<data_item>
<item_legend>
<![CDATA[Résultats de la D1]]>
</item_legend>
<item_label>
<![CDATA[Résultats D1]]>
</item_label>
<title>
<!CDATA[Résulats de la D1:journée du 12/12/00]]
</title>
<body>
<![CDATA[.............................................................................]]>
</body>
<picture_name>
<![CDATA[..............................................................................]]>
</picture_name>
<picture_legend>
<!CDATA[.....................]]>
</picture_legend>
</data_item>
<data_item>
<item_legend>
<![CDATA[Fernandez au PSG]]>
</item_legend>
<item_label>
<![CDATA[Femandez au PSG]]>
</item_label>
<title>
<![CDATN[[...........................]]>
</title>
<body>
<![CDATA[..............................................................................]]>
</body>
<picture_name>
<![CDATA[..............................................................................]]>
</picture name>
<picture_legend>
<![CDATA[.....................]]>
</picture_legend>
</data_item>
</datum>
这里将注意到几个<item>单元的存在,每个包含与先前相同的类型的数据,也包含相应的菜单的字幕和布局。
插入参考单元:参考单元实际上由被包含在XML文件的<data>单元中的<datum>单元代表。这样,由内容提供者每次宣告新的参考,伴随有把<datum>单元插入到被装载在存储器的’Reference_definition.xml’文件中。然后,它更新这个单元的属性集。
数据描述:<descr>属性可以用概略地描述数据的文本来更新。
规定使用权利:这个阶段包含插入用于每个应用或授权使用数据的节目提供者的<license>单元。<appli_id>属性可以用所述使用的应用的识别符来更新。
重要的是指出,权利是对于所有的文件参考而不是在各个数据的级别上被管理的。另一方面,数据交换器的第一版本被指定为一次只由一个应用使用。所以,来自内容提供者的文件事前都是节目提供者可以使用的。
发送XML文件:一旦参量集被更新,XML文件就被运营者存储。可以通过例子提出文件’Reference_defintion.xml’:
<reference_definition provide_name=”Bourse_de_Paris”date=”05/10/2000″>
<licenses>
<license appli_id=”mag+”/>
</licenses>
<data stream_locator=”Bourse_de_Paris/news”start_date=”05/10/2000″>
<datum data_locator=”CAC40″descr=”Valeur du CAC40″frequence=”Streamed”datatype=”datalist”>
<title>
<![CDATA[Résultats de la D1:journée du 12/12/00]]>
</title>
<body>
<![CDATA[..............................................................................]]>
</body>
<picture_name>
<![CDATA[...............................................................................]]>
</picture_name>
<picture_legend>
<!CDATA[....................]]>
<picture_legend>
</datum>
<datum data_locator=SBF120″descr=”Valeur du SBF120″frequence=”Normal”datatype=”catalogue”>
<data_item>
<item_legend>
<![CDATA[Résultats de la D1]]>
</item_legend>
<item_label>
<![CDATA[Résultats D1]]>
</item_label>
<title>
<![CDATA[Résultats de la D1:journee du 12/12/00]]>
</title>
<body>
<![CDATA[...............................................................................]]>
</body>
<picture_name>
<![CDATA................................................................................]]>
<picture_name>
<picture_legend>
<![CDATA[...................]]>
</picture_legend>
</data_item>
</datum>
<datum data_locator=”logo”descr=”Logo de la bourse de Paris”frequence=”Normal”datatype=”picture”width=”200″height=”150″>
<![CDATA[logo.mpg]]>
</datum>
</data>
</reference_definition>
它把每个<datum>单元同等地变换到它们的相应的数据的说明,以便能够在接连的发送期间藉助于刷新的数据正确地更新XML文件。
内容提供者然后能够通过HTTP协议(’post’类型的请求)发送这样创建的’Reference_defintion.xml’文件到运营者。在两种情形下,内容提供者的严格的鉴权将允许授权数据交换器考虑包含参考清单的文件。
参考的贮存:在由数据交换器的WEB服务器接收’Reference_defintion.xml’文件后,分析每个<datum>单元。然后,通过把根单元的’stream_locator’属性的数值与<datum>单元的’data_locator’属性的数值相链接,重新构建参考的URI。然后,把在’References.xml’文件中的<reference>单元插入到<application>单元下面,<application>单元拥有等于’Reference_defintion.xml’文件的<license>单元的相同的属性的一个数值的’appli_id’属性。这个<reference>单元拥有包含重建的URI的’uri’属性,重新取逻辑说明的属性’descr’,以及最后,在图象的情形下,两个尺度属性’width’和’height’。另外,它包含代表数据的缺省值的CDATA项。在重新取在先前的’Reference_defintion.xml’文件中宣告的参考时,可以得到:
<references>
<application appli_id=”mag+”>
<reference uri=”canal+/foot”descr=”....”/>
.........................
</reference>
<reference uri=”bourse_de_paris/news”descr=”....”/>
........................
</reference>
<reference uri=”cinema/image_matrix”descr=”....”width=”200″height=”150″/>
<![CDATA[logo 1.mpg]]>
</reference>
</application>
<application appli_id=”bn”>
........................................
</application>
</references>
这个’References.xml’文件由运营者存储在参考的索引中。这个文件是独特的,以及包含由所有的内容提供者宣告的参考集合。
过滤和发送XML文件到节目提供者的编辑工具:为了发送可使用的参考的清单到编辑工具,最初合理可行的是对于’References.xml’文件施加滤波,只选择拥有’appli_id’属性的正确的数值的<application>单元的XML块。
参考的缺省值因此被发送到节目提供者,他将能够通过编辑工具呈现它们。相应于图象的文件也被发送。对于这些,通过’picture’类型的单元的CDATA项的数值的迭代读出,可以使得能够得到图象文件的名称和把它发送到节目提供者。
剧本的广播
现在更详细地描述剧本的广播。
图14是显示剧本的广播的概要图。显示了节目提供者1504和数据交换器1506,以及相关的处理,后者包括:接收剧本文件1510;读出数据运营者1512;读出XTVML文件1514;用它们的SBI参量代替XTVML目标的URI 1516;用它们的SBI参量代替数据的URI 1518;重建具有缺省值的数据容器1520;用信息更新数据传导者(conductor)1522;把XTVML文件变换成MPEG格式1524;广播MPEG表1526;最后停止先前的剧本的目标1528和发送广播的通知1530。
图15是也显示剧本广播的顺序图。显示了与SBI 1600、运营者1602、节目提供者1604、数据交换器1606、XTVML文件1608和容器1610有关的事件序列,这些事件具体地包括:插入1620,发送1622,识别1624、读出文件的URI 1626,装载XTVML文件1628、分析URI 1630、指定广播参量1632,用广播参量代替URI 1634,读出XTVML目标文件的内容1636,发送被参考的数据单元的URI 1638,分析URI 1640,创建数据单元类型的相关的容器1642,插入缺省值1644,指定广播参量1646,用广播参量代替URI 1648,把容器文件插入到运营者,读出[搜索完成的URI]1652,MPEG变换1654,传送MPEG表1656,停止广播先前的剧本的目标1658,和通知1660。
现在更详细地描述一些特性,这些特性与接收剧本文件、识别、读出数据运营者的单元、分析XTVML目标的URI和指定广播参量、用广播参量代替URI、读出XTVML目标文件的内容、创建和修正容器、广播参量的属性、用广播参量代替URI、插入缺省值、把容器插入到数据运营者、XTVML文件的MPEG变换、传送到SBI、停止广播来自先前的剧本的目标、和通知有关。
接收剧本文件:剧本由被存储在独特的XML文件的不同的XTVML文件组成。这个运行处在编辑工具级别上。被称为’传导者xml’的这个文件由与剧本中的XTVML文件一样多的<table>单元组成。对于这些<table>单元的每一个,把允许唯一地区分这些文件的’uri’属性以及包含整个所关心的XTVML文件的类型CDATA项的子单元相联系。
这个传导者具有以下的形式:
<conductor appli_id=”mag+”diff_id=”mag+_test”name=’test1′start_date=”01/10/2000
20:00″>
<table uri=”mag+/screen_1″/>
<table uri=”mag+/menu_1″/>
<table uri=”mag+/menu_2″/>
<table uri=”mag+/pict_1″/>
<table uri=”mag+/pict_2″/>
</conductor>
正是这个文件被推进系统藉助于编辑工具通过HTTP发送到数据交换器。在接收这个文件后,它被装载到存储器DOM,然后被分析。
其他文件可同等地被发送到数据交换器,这些是相应于在某些XTVML目标中使用的缺省图象的MPEG图象,这些文件直接被发送到数据交换器,以及在由这个同一个委托方宣告的特定的名义下,被存储到对于委托方应用特定的指令系统中。
在其中文件’Conductor.xml’早已存在用于应用的情形下(即,剧本处在正在广播的过程中),这样的存在的文件被重新命名为’Conductor.old.xml’。下面描述这个行动的作用。
识别:一旦运营者藉助于XML语法分析程序把数据被装载在存储器中,第一阶段将包含对于通过读出’appli_id’属性而知道的、它的出处的分析,该’appli_id’属性给出关于数据的业主应用的识别符的信息。
<conductor appli_id=”mag+”diff_id=”mag+_test”name=’test1′start_date=”01/10/2000
20:00″>
这个识别符然后被存储在存储器中。
读出数据传导者的单元:这个迭代的行动包含读出传导者的<table>单元的每一个,更直接地,由于‘uri’属性的数值,把XML文件的内容装载到DOM中。此外,从流定位器看来,读出’uri’属性允许知道它的XML目标类型。
<table uri=”mag+/screen_1”/>
分析XTVML目标的URI,和指定广播参量:在评估’Diffusions.xml’文件时,可以离析出与拥有等于’conductor.xml’文件的<conductor>单元的’diff_id’属性的数值的’diff_id’属性的数值的<conductor>单元有关的XML块。然后,可以检索对于识别在广播流中的这个目标以便知道它的TID所必须的两个数据项的第一个数据项。为了做到这一点,可以查找具有等于在目标的URI的流定位器中找到的、’type’属性的数值的’object’单元。然后,在读出’tid’属性的数值后得到TID。
<diffusions>
<diffusion diff_id=”mag+_test”>
<sb sbi_id=”1″ip=”150.1.2.3″port=”1″/>
<sbi sbi_id=”2″ip=”150.1.2.3″port=”2″/>
<pid_data sbi_id==”1″pid=”3207″>
<object type=”main_screen”tid=”150″period=”10″/>
<object type=”lut”tid=”151″period=”10″/>
<object type=”screen”tid=”152″period=”10″/>
<object type=”objct”tid=”153″period=”10″/>
</pid_data>
<pid_data sbi_id=”1″pid=”3208″>
<object type=”picture”tid=”154″period=”20″/>
<object type=”pixmap”tid=”155″period=”20″/>
</pid_data>
<pid_data sbi_id=”2″pid=”4502″>
<object type=”text”tid=”156″period=”20″/>
</pid_data>
</diffusion>
</diffusions>
TIDExt本身由内部计数器生成,在每个新的剧本接收开始时复位到零。
用广播参量代替URI:在XTVML目标文件的标题中,可以去除’uri’属性,以及可以插入两个新的’tid’和’tidext’属性,具有在以前的阶段中得到的数值。这个修正被存储在接收的’Conductor.xml’文件中的类型CDATA项的单元内。
对于屏幕目标的XTVML文件的例子为如下:
·在之前:
<screen uri=”mag+/screen:1″>
<screen_private_data>
......................................
......................................
</screen_private_data>
</screen>
·在之后:
<screen tid=”152″tidext=”1″>
<screen_private_data>
.................................
.................................
</screen_private_data>
</screen>
读出XTVML目标文件的内容:对于被装载到DOM中的XTVML文件的内容,迭代分析允许识别数据参考的每个使用。为了做到这一点,搜索拥有’uri’属性的每个单元。这些URI的数值然后被分析,以识别输送数据的基本目标的类型,然后创建相关的容器。图象的几种情形可以被区分,每种相应于特定类型的容器。
对于图象:
<picture_description>
<posx value=”100″/>
<posy value=”200″/>
<width value=”300″/>
<heigth value=”300″/>
<uri value=”cinema/picture:Matrix1″/>
</picture_description>
这里的’uri’属性代表对于图象的参考。
重要的是这里指出,在其中图象被应用本身管理的情形下,不必创建容器。实际上,这是在数据传导者中宣告的,以及由流定位器具有的URI称为数值’appli_id’。因此没有创建新的容器的情形。
关于PageSet(设置页),参考该文本的URI在被包含在<page>单元中的<text_line>单元的级别上被宣告。这里可以注意到,在其中PageSet参考文本类型的数据项的情形下,编辑工具只需要给出关于单个页的信息。数据交换器负责复制页模型从在它的格式化后的文本的长度看来所必须的次数。实际上,读出在该页上文本块的宽度和高度的数值,允许进行把它分裂成几页的计算。同样地,可以规定:PageSet的第一页可包含对于外部图象的参考。在这种情形下,图象也将在所有的页上被复制,并具有相同的尺寸和位置性质。PageSet的结构具有以下结构:
<pageset uri=”mag+/pageset:1″>
........
<pages>
<page>
........
<picture_description>
<posx value=”/>
<posy value=”/>
<width value=”/>
<height value=”/>
<object_id>
<uri value=”BdP/picture:CAC40″/>
</object_id>
</picture_description>
.........
<text>
<width value=””/>
<height value=””/>
<text_lines>
.........
<uri value=”BdP/text:CAC40_Commentaires”/>
.........
<text_lines>
</text>
</page>
</pages>
</pageset>
关于菜单,对于菜单的原则是把它与其数值包含关于菜单中不同的项的信息的集合的、类型清单的独特的URI及被使用来显示编辑数据的PageSet的独特的URI相联系。这个URI存在于<items>单元的级别上。在这里应当记住,<items>单元只包含单个<item>单元。实际上,在给定菜单中每个项目指向同一个类型的PageSet后,只要规定对于单个项目的图形性质就够了。然后,复制系统允许按照系统的总能力的限制,插入与对于URI的内容所必须的一样多的菜单项目。
<menu>目标可被表示成以下的形式:
<menu uri=”mag+/menu:1″>
<menu_description>
.......
<items uri=”canal+/menu_foot”>
<item>
<attrributes_description>
<reserved/>
<bitmap_attributes value=”/>
<legend>
<line><![CDATA[...]]></line>
</legend>
<labels>
<label>
<line><![CDATA[...]]></line>
</label>
</labels>
</attributes_description>
<event>
<flag_action value=”1″/>
<actions>
<next_object>
<object_id>
<urivalue=”mag+/pageset:1″>
<object_id>
</next_object>
</actions>
</event>
</item>
</items>
</menu_description>
</menu>
关于PageSet,这个文件不需要单独处理,因为它在相关的菜单被读出的同时被装载。因此,对于这种类型的文件,不搜索<uri>单元。
创建/修正容器:容器实际上是由TID/TIDExt识别的XTVML文件,它应当包含这样的数据。可能区分不同的容器结构:
关于图象容器,这个容器从<picture_description>单元中的URI的说明被整体地创建。因此,例如可以得到:
<picture tid=”“tidext=””>
<data>
<picturefile value=””/>
</data>
</picture>
<data>单元包含独特的<picturefile>单元,它拥有其数值必须涉及到MPEG图象文件的<value>属性。
关于PageSet容器,这个容器实际上是从发送到数据传导者的<pageset>文件整体地被复制的。
<pageset tid=”“tidext=”“>
......
<pages
<page>
......
<picture_description>
<posx value=”“/>
<posy value=”“/>
<width value=”“/>
<height value=”“/>
<object_id>
<uri value=”BdP/picture:CAC40″/>
</object_id>
</picture_description>
.......
<text>
<width value=”“/>
<height value=”“/>
<text_lines>
.......
<uri value=”BdP/text:CAC40_Commentaires”/>
......
</text_lines>
</text>
</page>
</pages>
</pageset>
<pageset>单元包含给出有关图形呈现的信息(位置、尺寸、彩色等等)的几个单元,以及<pages>单元,它本身包含<page>单元。这个<page>单元代表页的模型,拥有<text_line>单元和/或<picture_description>单元,它们分别参考外部的文本或图象片段。在其中URI参考文本片段的情形下,文本被取来直接插入到PageSet文件中。相反,在对图象进行参考的情形下,<picture>类型的容器如上所述地被创建。
关于菜单,正如对于PageSet那样,与菜单有关的容器从XTVML菜单文件被直接复制,除非<menu>单元的’uri’属性被<tid>和<tidext>属性对代替。
<menu tid=”“tidext=”“>
<menu_description>
......
<width value=”“/>
......
<items uri=”canal+/menu_foot”>
<item>
<attributes_description>
<reserved/>
<bitmap_attributes value”“/>
<legend>
<line><![CDATA[...]]></line>
</legend>
<labels>
<label>
<line><![CDATA[...]]></line>
</label>
</labels>
</attributes_description>
<event>
<flag_action value=”1″/>
<actions>
<next_object>
<object_id>
<uri value=”mag/pageset:1″>
<object_id>
</next_object>
</actions>
</event>
</item>
........
</items>
</menu_description>
</menu>
而且,在这个阶段,检索被链接到在<next_object>XML块中规定的URI的PageSet文件的内容。这允许创建用作为用于创建相应于菜单项目的每个PageSet的模型的容器。PageSet文件类似于以上规定的PageSet文件,除了它的TidExt为了造成它的显示是相对于菜单项目可改变的以外。也要指出,在图象的级别和文本块的级别上PageSet中规定的URI是相同的,以及直接参考数据一览表的完全的框。
<pageset tid=”“tidext=””>
........
<pages uri=”canal+/menu_foot”>
<page>
........
<picture_description>
<posx value=”“/>
<posy value=”“/>
<width value=”“/>
<height value=”“/>
<object_id>
<uri value=”canal+/menu_foot:picture_name”/>
</object_id>
</picture_description>
.......
<text>
<width value=”“/>
<height value=”“/>
<text_lines>
.......
<uri value=”canal+/menu_foot:body”/>
........
</text_lines>
</text>
</page>
</pages>
</pageset>
也要指出,这两个容器(Menu和PageSet)在所有时间保持链接在一起,这暗示在数据传导者级别上重新编组。这一点将在下面更详细地讨论。
在创建后,容器被装载到存储器中,务必把参考的数据的URI与它相联系。
指定广播参量:读出’Diffusion.xml’文件允许检索相应于容器类型的TID的数值,以及TIDExt计数器给出该数值。然后,这一对数值被使用来确定有关容器的TID和TIDExt属性的信息。对于图象类型容器,例如,可以得到:
<picture tid=”154″tidext=”10″>
<data>
<picturefile value=”“/>
</data>
</picture>
用广播参量代替URI:这个操作等同于在段落中呈现的、关于读出XTVML目标文件的内容的操作。在以上给出的例子中,下面给出在屏幕上的图象的说明:
<picture_description>
<posx value=”100″/>
<posy value=”200″/>
<width value=”300″/>
<height value=”300″/>
<object_id>
<object_tid value=”154″/>
<object_tidex value=”10″/>
</object_id>
</picture_description>
插入缺省值:缺省值的概念允许广播具有可在接收机/译码器的级别上显示的实际的数据项的容器,以及这并不考虑由内容提供者发送数据。这个事实使得也可能一起广播包括剧本的XTVML目标,而不冒“断开链路”的问题的风险。
一旦创建容器的结构,读出在’Reference.xml’文件中的缺省值就允许用具体的数值代替该内容。
对于图象类型,读出CDATA段类型单元的内容,这给出MPEG图像文件的名称。这个数值之前是表示本地索引的字符串,其中图象文件在它的接收时间时由数据交换器被存储,然后,把它插入到<picture>单元的’value’属性中。最后,可以得到以下程序:
<picture tid=”154″tidext=”10″>
<data>
<picturefile value=”..\mag+\pictures\matrix1.mpg”/>
</data>
</picture>
对于PageSet类型,正如先前说明的,在动态图象的PageSet中参考的情形再次管理自控的图象类型容器。因此,缺省值的处理从<picture>类型容器的角度被实施。
就文本的原始块的参考而论,参考的CDATA段类型单元的内容的读出能给出文本集合而不用组装它。由于在接收机/译码器处的性能,故文本块的组装在数据交换器级别上被实施。为了做到这一点,第一阶段包含在显示文本框的XTVML目标中检索显示尺寸的参量,也就是说,<width>和<height>。然后,模块必须允许文本集合按PageSet目标的宽度和高度的函数以及按字体尺寸(18或21)的函数被删节。这个模块也考虑对准(右,左,对齐)。在对齐的情形下,可以在字间加上空格。而且,文本的行被插入到数据项目中,这允许把字符的使用正常地保留在XML语言表示法中。作为例子,可以得到以下类型的文件:
<pageset tid=”153″tidext=”2″>
.......
<pages>
<page>
.........
<picture_description>
<posx value=”“/>
<posy value=”“/>
<width value=”“/>
<height value=”“/>
<object_id>
<object_tid value=”154″/>
<object_tidex value=”8″/>
</object_id>
</picture_description>
……
<text>
<width value=”“/>
<height value=”“/>
<text_lines>
.......
<line><![CDATA[Flashdedemiereminute:]]></line>
........
<line><![CDATA[Chute de 30%de l’indice des
nouvelles technologies.]]></line>
.......
<line><![CDATA[L’indice a affiche 3900 points a la
cloture aujourd’hui...]]></line>
</text_lines>
</text>
</page>
</pages>
</pageset>
对于菜单类型,正如以前讨论的,菜单是与独特的URI相联系的。这个URI的数值允许检索包含数据集合的XML块。
通过读出这个XML块,可以知道第一项的缺省值,也就是说,它们的图标符号(legend)及它们的标签(<label>)的数值。
插入菜单项目的图标符号和标签的缺省值的原理实际上等同于对于PageSet创建的原理。实际上,可以检索代表缺省值的字符串,然后相对于<item>单元的宽度验证它的长度。这个宽度是在处在<menu_description>单元内的<width>单元的’value’属性中发现的。在其中缺省的字符串的长度长于项目的宽度的情形下,可以进行截断该字符串,务必用三个’.’符号代替最后的三个字符。
对于在<next_object>块中规定的URI的替代,必须用’tid’/’tidxt’对来代替它,它暗示用同一个对标识的和在由与<menu>文件有关的<pageset>容器定义的模型上支持的PageSet类型文件的创建。这个<pageset>文件为如下:
<menu tid=”“tidext=”“>
<menu_description>
.....
<width value=”150/”>
......
<items>
<item>
<attributes_description>
<reserved/>
<bitmap_attributes value=”“/>
<legend>
<line><![CDATA[Resultats D1]]></line>
</legend>
<labels>
<label>
line><![CDATA[ResultatsD1]]></line>
</label>
</labels>
</attributes_description>
<event>
<flag_action value=”1″/>
<actions>
<next_object>
<object_id>
<urivalue=”mag+/pageset:1″>
<object_id>
</next_object>
</actions>
</event>
</item>
......
</items>
</menu_description>
</menu>
就项目指向的PageSet目标而论,有关图象和文本块的缺省值以与以上看到的经典的PageSet相同的方式被处理。
把容器插入到数据运营者中:这个阶段包含把<container>单元加到’Conductor.xml’文件中。这个单元包含几个属性,它们是’stream_locator’和’data_locator’,包含所参考的数据的URI参量的数值。重要的是在这时指出,与<table>单元相反,正是URI的参量被插入,而不是’uri’属性。这是通过以在广播被链接到参考的实际数据的时刻使得在运营者处的容器的本地化最佳化为目标完成的,下面给出这种使用类型。
另一个属性(’datatype’属性)也被插入,以给出有关由容器载送的数据类型的信息(例如,数据一览表、文本、图象)。对于这些类型的容器的每一个,被附着的XML块的结构在以下的方式上是不同的:
关于图象类型:
<container stream_locator=”cinema/picture”data_locator=”Matrix1″datatype=”picture”>
<![CDATA[containerXML...]]>
</container>
<container>单元在这里只包含代表图象文件的XML块的项目数据类型的单个子单元。
关于PageSet类型:
<container stream_locator=”bourse_de_paris”data_locator=”CAC40″datatype=”text”width=”300″height=”150″align=”j”font=”18″>
<![CDATA[container XML...]]>
</container>
<container>单元在这里总是包含代表PageSet文件的XML块的项目数据类型的单个子单元。它拥有另外四个补充属性:’width(宽度)’、’height(高度)’、’align(对准)’、和’font(字体)’,它们分别是PageSet页的文本块的宽度、高度、对准、以及字体的尺寸。当组装原始的文本以及把它分割成几个块时,这些参量是重要的。
关于菜单类型:
<container stream_locator==”canal+”data_locator”menu_foot”datatype=”datalist”>
<menu width=”150″>
<![CDATA[container XML...]]>
</menu>
<pageset width=”300″height=”150″justif=”j”>
<![CDATA[container XML...]]>
</pageset>
</container>
在这种情形下,如上所述,菜单与PageSet必须被链接,因为URI对于这两个目标是共同的。另外,<container>单元这时包含两个子单元:
第一个子单元,<menu>,拥有:一个属性,给出关于菜单项目的宽度的信息,它对于验证标签链的长度是有用的;以及表示菜单XML块的项目数据类型的单元。
第二个子单元,<pageset>,拥有四个属性,给出关于PageSet页的文本块的宽度、高度和对准,以及字体尺寸的信息,它对于组装原始的文本所必须的。它也包含表示PageSet XML块的项目数据类型单元。
这可以作为传导者给出:
<conductor appli_id=”mag+”diff_id=”mag+_test”name=’test1′start_date=”01/10/200020:00″>
<table uri=”mag+/screen:1″/>
<table uri=”mag+/menu:1″/>
<table uri=”mag+/menu:2″/>
<table uri=”mag+/pict:1″/>
<table uri=”mag+/pict:2″/>
<container stream_locator=”cinema/picture”data_locator=”Matrix1″datatype=”picture”>
<![CDATA[container XML...]]>
</container>
<container stream_locator=”bourse_de_paris”data_locator=”CAC40″datatype+”text”width+”300″height=”150″align=”j”font=”18″>
<![CDATA[container XML...]]>
</container>
<container stream_locator=caual+”data_locator=”menu_foot”datatype+”catalogue”>
<menu width=”150″>
<![CDATA[container XML...]]>
</menu>
<pageset width=”300″height =”150″align=”j”font=“18″
<![CDATA[container XML...]]>
</pageset>
</container>
</conductor>
XTVML文件MPEG变换:在分析’Conductor.xml’文件中的每个XTVML文件的URL集合后,重新读出每个<table>和<container>单元可允许:
首先,把被包含在CDATA项目类型的子单元中的每个XTVML文件装载到DOM清单中。
第二,通过XML2MPEG变换器把每个XTVML文件变换成MPEG表,以及把结果存储在存储器清单中。
传送到SBI:只要所有的XTVML文件变换成MPEG格式,它就保持在与它们有关的PID上传送它们。为了找到正确的PID和SBI,在’Diffusion.xml’文件内寻求相应于XTVML目标的类型的参量。目标类型由它的XTVML文件的根单元的名称确定,必须搜索拥有正确的’type’属性数值的<object>单元。然后,它保持读出’period’属性的数值,得到循环时间,然后读出母<pid_data>单元的’pid’属性的数值。最后,<pid_data>单元的’sbi_id’属性的数值允许找到相应的<sbi>单元、并且把物理参量读出。
为了简化停止广播MPEG表的管理,表的传送模式是间接模式。这表示,每个表的广播由’Data ID’识别,以及’Conductor ID’被规定用于为每个SBI被发送的表。重要的是指出,区分被链接到几个’Conductor ID’的几个MPEG表集合。确实,正如下面详细地说明的,被参考的数据的广播可被区分,以及容器因此拥有它们自己的’Conductor ID’,以便能够独立地控制它们在SBI级别上的广播。总之,’Conductor ID’被宣告为与相应于’Conductor.xml’文件中的<table>单元的MPEG表集合编组在一起,以及’Conductor ID’用于每个<container>单元。
‘Data ID’具有<table>或<container>单元的’uri’属性的数值。对于’Conductor ID’,区分两种情形:
对于<table>单元:相应于这些单元的每一个的所有的MPEG表被链接到相同的’Conductor ID’。它把’Conductor.xml’文件中的根单元的’appli_id’属性的数值和’name’属性的数值的级联的结果作为它的数值。
对于<container>单元:被链接到这种类型的单元的每个MPEG表拥有它们自己的’Conductor ID’。它把<container>单元的’uri’属性的数值和’Conductor.xml’文件中的根单元的’appli_id’属性的数值的级联的结果作为它的数值,这确保在数据交换器级别上的一致性。
藉助于简化表的广播的监管,’Broadcast.xml’文件由传送序列组成。它包括SBI清单,以及对于每个SBI,包括对于连接所必须的参量集合。也指示出广播的开始的时间,并且可任选地指示出结束的时间。它具有以下的形式:
<broadcast>
<conductor id=“mag+_test1″start=“10/11/20008:00end=”>
<sbj ip=“150″.1.2.3″port=”1″pid=“3207″/>
<sbi ip=“150.1.2.32port=“2″pid=“4210″/>
</conductor>
</broadcast>
终止广播以前的剧本的目标:在开始传送组成’Conductor.xml’文件的每个MPEG表时,在’Conductor.old.xml’文件中(相应于以前的剧本的传导者)检索根单元的’id’属性的数值,该数值代表被使用于传送以前剧本的’Conductor ID’参量的数值。对于在清单中起重要作用的每个SBI,也发送包含该数值的类型’Reset Broadcast’的命令。一旦这个运行结束,’Conductor.old.xml’文件就可被删除。
通知:无论以前运行的结果如何,节目提供者由描述广播数据的集合的消息被通知。
外部参考的数据的广播
现在更详细地描述外部参考的数据的广播。
图16是显示外部参考的数据的广播的概要图。显示了数据交换器1702,以及相关的处理,其中包括:接收包含数据项目的XML文件1710;识别接收的XML文件的流定位器1712;恢复被链接到找出的流定位器的容器1714;读出每个容器的数据定位器1716;恢复相应于容器的数据定位器的数据项目1718;把数据项目插入到容器内1720;把容器变换成MPEG格式1722;以及广播容器1724。
图17是也显示外部参考的数据的广播的顺序图。显示了与SBI1800、传导者1802、数据交换器1804、和内容提供者XML文件1806有关的事件的序列,这些事件具体地包括:读出1810,查找与数据定位器有关的数据单元1812,分析流定位器1814,检索与流定位器有关的容器1816,从容器读出数据定位器1818,把数据单元插入到容器单元1820,存储新的容器文件1822,从运营者处读出[更新终结的容器]1824,MPEG变换1826,和广播容器1828。
现在更详细地描述与以下操作有关的特性,这些操作包括:接收包含参考的数据的XML文件;分析流定位器;检索被附着到流定位器的容器;读出容器的数据定位器;搜索相应于数据定位器的、在用于内容提供者的XML文件中的数据;把数据插入到容器内;读出传导者的容器;以及变换到MPEG和广播到SBI。
接收包含参考的数据的XML文件:参考的数据由内容提供者以它选择的频率被发送。在数据交换器级别上的扫描系统允许检索’Data.xml’文件,它包含描述数据性质的信息。这个文件由根单元的’stream_locator’属性的数值标识,以及拥有<datum>单元的集合。这些<datum>单元包含参考的数据定位器、数据类型和<start_date>属性,它表示数据广播的开始的日期和时间。到SBI的间接传输模式实际上允许数据广播的延迟。无论如何,数据广播的结束没有被数据交换器加以考虑,而是被留作为内容提供者的责任。
在图象类型数据的情形下,也发送MPEG文件。
<data stream_locator=“Bourse_de_Paris”date=“01/10/2000″>
<datum data_locator=“CAC40″datatype=“catalogue”start_date=“01/10/2000 20:00″>
.....
</datum>
<datum data_locator=“LogoBDP”datatype=“picture”start_date=“01/10/2000 12:00″>
<![CDATA[logo.mpg]]>
</datum>
</data>
分析流定位器:这个运行只包含读出先前接收的’Data.xml’文件的’stream_locator’属性。
检索与流定位器有关的的容器:这个阶段包含从在数据交换器级别上被存储的’Conductor.xml’文件中检索具有等于由内容提供者发送的文件的’stream_locator’属性的数值的’stream_locator’属性数值的<container>单元的清单。作为例子,对于等于“canal+”的流定位器,可以检索以下的单元:
<container stream_locator=“canal+”data_locator=“logo1″datatype=“picture”>
<![CDATA[container XML...]]>
</container>
<container stream_locator=“canal+”data_locator=“menu_foot”datatype=“datalist”>
<menu width=“150″>
<![CDATA[container XML...[[>
</menu>
<pageset width=“300″height=“150″justif=“j”>
<![CDATA[container XML...]]>
</pageset>
</container>
读出容器的数据定位器:一旦<container>单元在存储器中被隔离,它们的’data_locator’属性的数值就被迭代地读出,允许识别在’Data.xml’文件中的数据块。
搜索相应于数据定位器的、在内容提供者XML文件中的数据:对于每个容器,’data_locator’属性的数值允许从拥有具有相同的数值的’data_looator’属性的‘Data.xml’文件中检索<datum>单元。几种情形按照由<datum>单元的’datatype’属性的数值表示的数据的类型被区分:
对于图象类型:提取包含MPEG图象文件的名称的类型CDATA项目的子单元的内容。
对于文本类型:提取包含原始文本块的类型CDATA项目的子单元的内容。
对于图数据一览表类型:检索包含相应于每个菜单项目的数据集合的XML块。
把数据插入到容器内:以下的不同的情形总是被区分:
对于图象类型:以与缺省值相同的方式,把MPEG图象文件的名称设置为容器的<picture>单元’value’的属性的数值。
对于文本类型:原始的文本块按照在’width’,’height’和’justif’的属性中检索的尺寸和对齐的约束条件被格式化,这样,它被分裂为若干行。高度’height’允许确定对于显示整个文本所必须的总的页数。类型PageSet的容器的<page>单元因此被复制所必须的那么多次,并且在其中在<text_line>单元的级别上,按它们出现的次序插入这些块的行。
对于数据一览表类型:对于在以前的阶段检索的数据块中发现的每个项目,把一个项目加入到<menu>目标内。
以与缺省值相同的方式,把MPEG图象文件的名称设置为容器的<picture>单元的’value’属性的数值。
读出传导者的容器:一旦与从内容提供者接收的文件的Stream_Locator(流定位器)相连接的所有的容器的广播结束,’Conductor.xml’文件被滤波,以便只保持<container>单元。在迭代方式下,相应于这些<container>单元的每一个的XML文件被装载到存储器,以及这些单元被变换成MPEG格式。
MPEG变换和广播到SBI:
将出现这种类型的消息:错误!源是不可提供的。
停止广播外部参考的数据
现在更详细地描述停止广播外部参考的数据。
图18是显示停止广播外部参考的数据的概要图。具体地,正如下面描述的,图上显示在内容提供者1900、TV运营者1902、和节目提供者1904之间的相互关系,以及各种概念或处理,其中包括在广播期间检索所参考的数据一览表1910,选择参考1912,请求停止广播1914,检索广播数据单元的容器1916,通过插入相关的数据单元的缺省值而更新容器1918,广播新的容器1920,和由TV运营者通知节目提供者1922。
图19是也显示停止广播外部参考的数据的顺序图。再次显示了与内容提供者2000、节目提供者2002、数据交换器2004、和SBI 2006有关的事件序列,这些事件具体地包括:选择正在被广播的数据单元2010,请求停止广播2012,检索与这个数据单元相联系的容器2014,用它的缺省值代替参考的数据单元2016,对容器进行MPEG变换2018,发送用于广播的文件2020,以及通知停止广播数据单元2022。
现在更详细地描述与在广播’其广播要被停止的数据的项目’期间检索所参考的数据一览表、检索容器、插入在相关容器中的缺省值、和广播相关的容器有关的特性。
在广播期间检索所参考的数据一览表:每个内容提供者可以在任何时刻查询由运营者广播的、它的参考数据的一览表。为了做到这一点,通过内部网使用WEB应用。
选择其广播要被停止的数据:内容提供者在URI清单中选择所讨论的数据,它具有准备XML文件的直接结果,该XML文件藉助于HTTP委托方被立即发送到数据交换器。这个文件包含停止的数据的URI。这个区具有以下的形式:
<data_stop uri=”canal+:logo1”>
检索容器:读出’data+stop’文件,这给出数据的URI。把这个URI分解为流定位器和数据定位器,这允许从’Conductor.xml’文件提取其’stream_locator’和’data_locator’数值是相当的<container>单元。回想起这些单元的结构为如下:
<container stream_locator=“cinema/picture”data_locator=“Matrix1″datatype=
“picture”>
<![CDATA[container XML...]]>
</container>
<container stream_locator=“bourse_de_paris”data_locator=“CAC40″datatype
=“text”width=“300″justif=“j”>
<![CDATA[container XML...]]>
</container>
读出这些单元的每一个的CDATA项,这给出容器XML文件。
把缺省值插入到相关容器中:参阅有关缺省值的插入的段落。
广播相关的容器:参阅有关传送到SBI的段落。
停止广播剧本
现在描述停止广播剧本。
图20是显示停止广播剧本的概要图。具体地,正如下面描述的,图上显示在节目提供者2100和数据交换器2102之间的相互关系,以及各种概念或处理,其中包括请求停止剧本2110、读出有关广播在进行中的信息2112、传导者复位命令2114、以及通知停止剧本2116。
图21是也显示停止广播剧本的顺序图。显示了与节目提供者2200、数据交换器2202、和SBI 2204有关的事件序列,这些事件具体地包括:请求停止广播剧本2210,识别请求2212,读出有关广播在进行中的信息2214,复位运营者2216,以及通知停止广播2218。
现在更详细地描述与请求停止剧本;’复位广播’命令、以及通知停止广播有关的特性。
请求停止剧本:节目提供者通过HTTP委托方发送包含有关停止传导者的信息的’reset_broadcast.xml’文件。这个信息实际上由传导者的完全的地址表示,也就是说:
<conductor appli_id=”mag+”diff_id=”mag+_test”name=’test1′start_date=“01/10/2000
20:00″>
’复位广播’命令:’broadcast.xml’文件包含给SBI的广播参量集合。
<broadcast>
<conductor appli_id=“mag+”diff_id=”mag+test”name=‘test1′
start_date=“01/10/2000 20:00″>
<sbi ip=“150.1.2.3″port=“1″pid=“3207″/>
<sbi ip=“150.1.2.3″port=“2″pid=“4210″’>
</conductor>
</broadcast>
为了帮助在<sbi>单元的属性中读出参量,可以发送停止广播相应的SBI的命令,规定在<conductor>单元的’id’属性中得到的传导者的数值。对于与剧本的广播有关的每个SBI都实施这个程序过程。
通知广播结束:这个行动的目的是提醒节目提供者:它的剧本的实际的终结。这可以仅仅以发送到节目提供者的邮件消息的形式被呈现。
数据项的参考的抑制
现在描述数据项的参考的抑制。
图22是显示数据项的参考的抑制的概要图。显示了内容提供者2300和数据交换器2302,以及各相关的处理,其中包括发送请求抑制的消息2310、分析参考的使用2312、更新参考文件2314、和通知2316。
图23是也显示数据项的参考的抑制的顺序图。显示了与内容提供者2400、数据交换器2402、传导者1404、参考2406、和节目提供者2408有关的事件序列,这些事件具体地包括:选择要被抑制的参考2410,请求参考的抑制2412,检验在正在广播的过程中参考是否被剧本使用2414,以及在参考没有在被使用的情形下2416去抑制参考2418,发送新的参考文件2420,以及通知成功2422,或在参考被使用的情形下2424去通知失败2426。
现在更详细地描述与选择要被抑制的参考、请求抑制参考、搜索参考的使用、发送新的参考文件、和通知有关的特性。
选择要被抑制的参考:内容提供者在URI清单中选择所讨论的数据,它具有准备包含请求抑制的URI的HTTP消息的直接结果。它具有以下的形式:
‘reference_delete=bourse_de_paris:CAC40’
请求抑制参考:这个运行包含发送可配置的类型’post’的请求给运营者的WEB服务器,这个请求包含以上的消息。
搜索参考的使用:由内容提供者发送的消息的接收导致URI分解为它的流定位器和数据定位器。这两个参量允许在每个被广播的应用的传导者内搜索拥有’stream_locator’和’data_locator’这两个属性数值的<container>单元。
<container stream_locator=“bourse_de_paris”data_locator=“CAC40″datatype=
“text”width=“300″justif=“j”>
<![CDATA[container XML...]]>
</container>
这样的单元的存在可阻止内容提供者有效地抑制参考。
在相反的情形下,在’References.xml’文件(其’uri’属性的数值相应于要被抑制的参考的数值)中的每个<reference>单元被抑制。
<application appli_id=“mag+“>
<reference uri=“bourse_de_Paris:cac40 descr=“Valeur duCAC40″/><![CDAT[texte]]></reference> |
<reference uri=“bourse_de_Paris:SBF120″descr=“Valeur du
SBF120″/>
<![CDATA[texte]]>
</reference>
<reference uri=“bourse_de_Paris“descr=“Logo de la
bourse de Paris”width=“200″height=“150″/>
<![CDATA[logo1.mpg]]>
</reference>
</application>
<application appli_id=“bn”>
..........................................
</application>
</references>
发送新的参考文件:在其中参考有可能在’References.xml’文件中抑制的情形下,实施滤除运行,以及发送参考到所涉及的节目提供者。也参阅有关滤除和发送XML文件到节目提供者的编辑工具的段落。
通知:这个行动的目的是提醒内容提供者:是否有效地抑制参考。这可以以发送到节目提供者的邮件类型消息的形式被呈现。
将会看到,本发明在以上纯粹作为例子被加以描述,以及可以在本发明的范围内作出细节的修正。
在本说明以及权利要求(在适当的情形下)和附图中揭示的每个特性,可以独立地或以任何适当的组合被提供。