专利名称:提供多个屏幕的设备和动态地配置多个屏幕的方法
技术领域:
与本发明 一致的设备和方法涉及提供并动态配置多个屏幕,更具体地说, 涉及将多个屏幕连接到多个输出端口 ,以动态配置在单个物理显示装置上提 供多个内容的多个屏幕。
背景技术:
现有技术的广播接收器(诸如数字电视(TV)或数字机顶盒)仅在单个 物理显示装置上提供一个内容元素或者同时在单个物理显示装置上显示主屏 幕和子屏幕。
即使现有技术广播接收器能够在相同的显示屏幕上同时显示主屏幕和子 屏幕,现有技术广播接收器也仅能以有限的方式来排列主屏幕和子屏幕。在 主屏幕内显示内容的情况下,显示内容的所有元素(即,视频数据、音频数 据和其它数据)。另一方面,在子屏幕内显示内容的情况下,仅显示内容的部 分元素。
内容源包括广播服务(诸如卫星广播器、地面广播器或有线广播器)、存 储介质(诸如数字多功能盘(DVD )或连接到输入端的外部装置)。然而,难 以使用现有广播接收器在显示屏幕上显示这样的各种内容源提供的内容。
在交互式TV应用程序环境(诸如多媒体家用平台(MHP)、高级通用应 用平台(ACAP)和开放有线应用平台(OCAP))中,假设在物理显示装置 上仅输出一个屏幕。
在交互式TV应用程序环境中,例如采用基于用户界面(UI)的家用音 频/视频互操作性(HAVi)。根据HAViUI标准,即使没有对显示在物理显示 装置上的屏幕的数量施加限制,通常在物理显示装置上也仅显示一个屏幕。
发明内容
技术问题
在这种环境中,难以在独立屏幕上显示多媒体内容的同时对屏幕上显示的多媒体内容中的一个执行操作(诸如解码、数字信号处理、用户交互处理 等)。另外,还难以动态地控制应用程序的寿命周期以及屏幕单元中资源的使用。
因此,需要一种在动态配置的屏幕上显示各种内容的方法。 技术方案
本发明提供一种用于动态配置在物理显示装置上提供多个内容的多个屏 幕的设备和方法。
根据本发明的一方面,提供一种用于提供多个屏幕的设备。所述设备包
括服务处理模块,产生一个输出屏幕和用于显示多个服务的多个逻辑屏幕;
输出模块,在所述多个逻辑屏幕中搜索能够连接到输出端口并映射到所述输
出屏幕的逻辑屏幕组合,并且将所述输出屏幕映射到输出端口 。
根据本发明的另一方面,提供一种动态配置多个屏幕的方法。所述方法
包括产生一个输出屏幕和用于显示多个服务的多个逻辑屏幕;在所述多个 逻辑屏幕中搜索能够连接到输出端口并映射到所述输出屏幕的逻辑屏幕组
合;将所述输出屏幕映射到输出端口。
通过结合附图对本发明的示例性实施例进行的详细描述,本发明的上述 和其它方面将会变得更加清楚,其中
图1A至图1H是示出根据本发明的示例性实施例的PiP屏幕的配置的示
图2是示出根据本发明的示例性实施例的逻辑屏幕和显示屏幕之间的关 系的示图3A至图3E是示出根据本发明的示例性实施例的包括映射器的屏幕的 配置的示图4是示出根据本发明的示例性实施例的服务源的框图; 图5A和图5B是示出根据本发明的示例性实施例的非抽象服务和抽象服 务的示图6是示出逻辑屏幕和显示屏幕的属性信息和界面的示图7是示出根据本发明的示例性实施例的逻辑屏幕的属性"z-order"示图8A和图8B是每一个都示出根据本发明的示例性实施例的逻辑屏幕的 属性"Display—Area"的示图9是示出根据本发明的示例性实施例的将两个服务映射到显示屏幕的 方法的示图10是示出根据本发明的示例性实施例的用于提供多个屏幕的设备的 配置的框图IIA和图IIB是示出根据本发明的示例性实施例的动态配置多个屏幕 的方法的流程图12是示出根据本发明的示例性实施例的用于提供多个屏幕的软件架 构的示图13是示出根据本发明的示例性实施例的组成应用程序接口 (API)层 的模块之间的关系的示图14是示出根据本发明的示例性实施例的通过图13所示的模块通过逻 辑屏幕在显示屏幕上显示多个服务的处理的流程图15是示出根据本发明的示例性实施例的输出模块的操作的状态图16A和图16B是示出根据本发明的示例性实施例的用于搜索和改变输 出端口的代码的示例的示图;以及
图17是示出根据本发明的示例性实施例的通过图13所示的模块改变逻 辑屏幕上显示的多个服务的处理的流程图。
具体实施例方式
通过参照下面对示例性实施例的详细描述和附图,本发明的优点和特点 以及实现所述优点和特点的方法可以容易地被理解。然而,本发明能够以各 种形式被实现,并且不应该被解释为显示在此阐述的示例性实施例。相反, 提供这些实施例从而本公开将会彻底和完整并完全地将本发明的构思传达给 本领域的技术人员,本发明将由权利要求来限定。在整个附图中,相同的标 号是指相同的部件。
以下,参照根据本发明的示例性实施例的用户界面、方法和计算机程序 产品的流程图来描述本发明。应该理解,流程图的每一个块和在流程图中的 块的组合可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生设备,从而经 由计算机或其他可编程数据处理设备的处理器执^亍的指令创建用于实现在一 个流程图块或多个流程图块中描述的功能的装置。
这些计算机程序指令也可被存储在可引导计算机或者其他可编程数据处 理设备以特定方式运行的计算机可用或计算机可读存储器中,从而存储在计 算机可用或计算机可读存储器中的指令生成包括#1行在一个流程图块或多个 流程图块中指定的功能的指令装置的产品。
计算机程序指令也可被载入计算机或其他可编程数据处理设备,以使得 一系列操作步骤在计算机或其他可编程设备上被执行以产生计算机执行的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在一个流程 图块或多个流程图块中描述的功能的步骤。
流程图的每块可代表模块、代码段或代码部分,其包括一个或多个用于 实现特定的逻辑功能的可执行指令。应注意的是,在一些替换的实现中,在 这些块中标注的功能可不按顺序执行。例如,连续示出的两个块事实上可基 本同时地被执行,或者有时以相反的顺序执行块,这取决于涉及的功能。
为了更好地理解本发明,现将定义在本公开中使用的术语。
术语"服务"指示一起显示的一组多媒体内容,即一组服务分量
(component )。
服务分量是服务的元素,包括视频分量、音频分量和l封居分量。数据分 量是服务中的应用。
此外,将应用分类为未绑定应用和服务绑定应用。由于未绑定应用具有 高优先级,因此平稳地分配资源。监控应用与具有最高优先级的特定未绑定 应用相应。
服务绑定应用与传输流相关,并且允许比未绑定应用的优先级低的优先 级。服务绑定应用不用作关键系统。当出现资源竟争时,服务绑定应用比未 绑定应用具有更大的放弃资源的概率。服务绑定应用包括结合类型和非结合 类型,所述结合类型与正在传输的流结合地操作,所述非结合类型依赖于流
进行操作。
术语"服务上下文(context)"指示控制服务的执行的对象,包括提供服 务所需的各种资源、装置和执行状态信息。
术语"物理显示装置"指示实际显示服务的内容的物理空间。术语"显示屏幕"指示实际显示在物理显示装置上的屏幕。可在显示屏 幕上直接设置任意服务,并且显示屏幕可被显示在物理显示装置上。或者, 映射到显示屏幕的特定区域的至少一个逻辑屏幕可被显示在物理显示装置 上。
术语"逻辑屏幕"指示显示任意服务的空间。逻辑屏幕是映射到显示屏 幕之前的虚拟屏幕,因此不被显示在物理显示装置上。
逻辑屏幕和显示屏幕可以是背景静止图像、视频光栅和图形光栅的结合。
图形光栅可以是文本、线、颜色和图像的结合或者是视频帧的混和。
术语"主服务"指示用户通过物理显示装置上显示的菜单或遥控器,或 者应用通过API被选择作为主服务的服务,并且显示主服务的屏幕被称为"主
屏幕"。
术语"画中画服务(PiP服务)"指示应用经由API或者用户通过物理显 示装置上显示的菜单或遥控器被选择作为主服务中的子服务的服务,PiP服务 可被显示在画中画屏幕(PiP屏幕)或主屏幕上。
PiP屏幕包括图1A至图1D示出的占据另一屏幕的一部分的屏幕以及如 图1E至图1F所示与另一屏幕同时显示而不与的其它屏幕重叠的屏幕。在这 种情况下,可以理解,PiP屏幕可包括显示在物理显示装置中的任意位置或区 域上或者与另一屏幕重叠的屏幕,如图1G和1H所示。
图2是示出根据本发明的示例性实施例的逻辑屏幕和显示屏幕之间的关 系的示图。
参照图2,可使用逻辑屏幕210、 212和214来实现服务。逻辑屏幕210、 212和214通过映射块230被映射到显示屏幕220、 222和224。
详细地,逻辑屏幕210和212被映射到显示屏幕220,逻辑屏幕212和 214被映射到显示屏幕222,逻辑屏幕210、212和214被映射到显示屏幕224。
简要地,显示服务的至少一个逻辑屏幕被映射到显示屏幕的任意区域。
映射块230是将逻辑屏幕映射到显示屏幕所需的各种信息的组。所述各 种信息的示例包括多个逻辑屏幕的每一个映射到的显示屏幕上的预定区域的 坐标信息、逻辑屏幕和显示屏幕的识别信息以及指定逻辑屏幕在显示屏幕上 以何种顺序显示的信息。
映射块230可改变逻辑屏幕的尺寸以被分配到显示屏幕的任意区域。也 就是说,映射块230可执行逻辑屏幕的缩放以及逻辑屏幕的位置的分配,图3A至图3E是示出包括作为映射块的映射器的屏幕的配置的示图。
参照图3A,通过映射器将包括背景静止图像B、视频光才册V和图形光 栅G的结合的主屏幕以普通尺寸映射到整个显示屏幕。通过映射器将仅包括 视频分量的PiP屏幕以减小的尺寸映射到整个显示屏幕。在这种情况下,将 映射的PiP屏幕显示在主屏幕上,所述主屏幕根据Z值来确定。参考字符Z 是指稍后将描述的z-order值。重叠屏幕可与显示屏幕合并。重叠屏幕是布置 在最外侧的特定屏幕,并且当提供字幕功能时可使用重叠屏幕。PiP屏幕可仅 具有视频分量(如图3A所示),或者可具有背景静止图像B、视频光栅V和 图形光栅G的结合(如图3B所示)。
参照图3C,通过映射器将包括背景静止图像B、视频光4册V和图形光栅 G的结合的主屏幕以普通尺寸映射到整个显示屏幕。通过映射器将仅包括视 频分量的PiP屏幕弁l和PiP屏幕弁2以减小的尺寸映射到显示屏幕的任意区域。 在这种情况下,映射的PiP屏幕被布置在主屏幕上,并且Z^i可恒定不变。 此外,重叠屏幕可与显示屏幕合并。屏幕的配置可具有仅包括—见频分量的多 个PiP屏幕(如图3C所示),或者可具有包括背景静止图像B、视频光栅V 和图形光栅G的结合的多个PiP屏幕(如图3D所示)。
图3E示出画外画(POP)屏幕。可以理解,现有技术PiP屏幕显示在主 屏幕的内部,POP屏幕显示在主屏幕的外部。参照图3E,通过映射器将包括 背景静止图像B、视频光栅V和图形光栅G的结合的多个PiP屏幕(PiP屏 幕弁l和PiP屏幕弁2)以减小的尺寸映射到显示屏幕的任意区域。在这种情况 下,映射的POP屏幕弁l和POP屏幕弁2的Z值可以恒定不变。此外,重叠屏 幕可与显示屏幕合并。
通过将被执行的各种计算机程序语言准备的接口或功能来实现映射块 230,映射块230通过使用上述信息作为参数来创建或改变逻辑屏幕和显示屏 幕之间的关系。
另外,可通过在逻辑屏幕和显示屏幕之间具有映射功能的硬件来实现映 射块230。
此外,可在显示屏幕上显示各种服务源提供的服务,并且可在物理显示 装置上显示所述显示屏幕,如图4所示。
存在提供广播服务的服务源(诸如地面广播器320和有线广播器330 )、 提供存储在存储器介质(诸如个人录像机(PVR) 340)中的服务的服务源以及经由有线网络或无线网络提供服务的服务源(没有在图4中示出)。
广播接收器310从服务源接收服务,并且产生用于显示每个接收的服务
的逻辑屏幕。
然后,使用预定方法或由用户或应用设置的方法在将显示在物理显示装
置上的显示屏幕上直接设置任意服务。否则,在物理显示装置350上显示映 射到显示屏幕上的任意区域的至少一个逻辑屏幕。筒要地,在物理显示装置 350上显示地面广播器320、有线广播器330和PVR提供的服务。
图4示出地面广播器320、有线广播器330和PVR 340作为服务源,但 是本发明不限于此。根据本发明的示例性实施例,提供能够一起显示的多媒 体内容的任何类型的多媒体内容源可以是服务源。
根据本发明的示例性实施例的服务可被分类为抽象服务和非抽象服务, 如图5A和图5B所示。
抽象服务不是实时发送的广播信号提供的服务,而是独立于广播信道的 服务。抽象服务仅包括数据分量(即应用)而不包括视频分量和音频分量。 抽象服务的示例包括基于OCAP标准的具有未绑定应用的服务。
非抽象服务被理解为除了抽象服务之外的服务。
根据本发明的当前示例性实施例,抽象服务和非抽象服务两者具有独立 性。例如,可以不通过逻辑屏幕在物理显示装置上直接设置抽象服务,并且 可以在逻辑屏幕上显示非抽象服务。然后,可将逻辑屏幕映射到设置了抽象 服务的显示屏幕。其后,可通过物理显示装置输出显示屏幕。这样,可独立 于非抽象服务在显示屏幕上显示抽象服务。另外,可将抽象服务和非抽象服 务映射到不同的逻辑屏幕。其后,可将逻辑屏幕映射到单个显示屏幕。换句 话说,可独立于非抽象服务在显示屏幕上显示抽象服务。
根据本发明的当前示例性实施例,逻辑屏幕和显示屏幕可^C分类作为不 同的对象。或者,屏幕可根据一个屏幕对象的属性信息用作逻辑屏幕或显示 屏幕。
详细地,屏幕对象是逻辑屏幕还是显示屏幕取决于屏幕对象属性之中的 "type"信息。
屏幕对象属性包括"Type ,, 、 " z-Order " 、 " Display —Area "、 "Visibility" 、 "Associated—Display—Screen" 、 "Associated—Service—Contexts" 禾口 "OutputPort"。图6示出屏幕对象的属性信息和用于处理屏幕的属性的接口。
属性"Type" 510用于确定屏幕类型是逻辑屏幕还是显示屏幕。 属性"z-Order" 520用于确定多个逻辑屏幕沿z轴以何种顺序排列。图7 结合逻辑屏幕的属性"z-Order"的值示出物理显示装置上的逻辑屏幕的配置。 参照图7,将第一逻辑屏幕620和第二逻辑屏幕630被分别映射到显示 屏幕610的预定区域。详细地,第一逻辑屏幕620显示在显示屏幕610上, 第二逻辑屏幕630与第一逻辑屏幕620部分重叠地显示在显示屏幕610上。 换句话说,沿z轴的方向依次排列显示屏幕610、第一逻辑屏幕620和第二逻 辑屏幕630。在这种情况下,第一逻辑屏幕620的属性"z-Order"可被设置 为值l,第二逻辑屏幕630的属性"z-Order"可被设置为值2。第一逻辑屏幕 620和第二逻辑屏幕630的属性"z-Order"可被设置为任何数字或字符,只 要它们能够表示第一逻辑屏幕620和第二逻辑屏幕630沿z轴排列的特定顺 序。
属性"Display—Area" 530是关于逻辑屏幕的显示屏幕区域的信息,如图 8A和图8B所示。
图8A示出逻辑屏幕710映射到显示屏幕720的整个区域,图8B示出逻 辑屏幕730映射到显示屏幕740的部分区域。
属性"Display —Area"可包括指定逻辑屏幕被映射到的显示屏幕的预定 部分的二维坐标的信息,或者可包括指定显示屏幕上的预定位置的信息和指
示逻辑屏幕偏离显示屏幕上的预定位置多少的偏移值。
属性"Visibility" 540确定逻辑屏幕在显示屏幕上可见地显示还是不可见 地显示。可以通过改变"Visibility" 540的值使逻辑屏幕在显示屏幕上出现或 从显示屏幕消失。
属性"Associated—Display—Screen" 550是关于与逻辑屏幕有关的显示屏 幕的信息。与任何显示屏幕都无关的逻辑屏幕可以不显示在物理显示装置上 或者不被发送到外部输出装置。
属性"Associated—Service—Contexts" 560是关于连4妄到逻辑屏幕或显示 屏幕的服务上下文的信息。在这种服务上下文中设置的服务可被显示在逻辑 屏幕或显示屏幕上。
属性"OutputPort" 570是关于输出显示屏幕的装置的信息,这种装置包 括显示屏幕、有线/无线通信介质和各种存储介质。可提供用于识别或改变图6示出的属性的值的接口。参照图6,接口可
包括用于设置属性值或将逻辑屏幕连接到显示屏幕的接口 "SET"、用于添 加属性值或将逻辑屏幕连接到服务的接口 "ADD"、用于识别属性值的接口
"GET"和用于删除属性值的接口 "REMOVE"。这些接口可包括分别执行它 们的功能的处理、函数、程序或方法。
例如,方法"getDisplayScreen(void)"返回与当前屏幕相关的显示屏幕。 详细地,如果当前屏幕是逻辑屏幕,则方法"getDisplayScreen(void)"返回相 关的显示屏幕。如果当前屏幕是显示屏幕,则方法"getDisplayScreen(void)" 返回关于当前屏幕的参考信息。此外,如果当前屏幕是逻辑屏幕,但是不存 在相关屏幕,则方法"getDisplayScreen(void)"返回值"NULL"。
才艮^居另 一示例,方法"public void setDisplay Area(HScreenRectangle rect) throws SecurityException, Illegal StateException"才是供用于将当前逻辑屏幕映射 到相关显示屏幕的预定区域的函数。被提供作为参数的实例是包"org.havi.ui" 的类"HScreenRectangle",并且具有二维位置信息。方法"SecurityException" 和"IllegalStateException"的4丸4亍可作为方法"setOutputScreen(HScreen screen)" 的异常操作而进行。在当前屏幕是逻辑屏幕时或者在与当前逻辑屏幕相关的 显示屏幕的 一 部分由于主机平台的特性不能改变时,可执行方法
"IllegalStateException"。
根据另一示例,方法"getOutputArea(void)"返回当前屏幕的区域信息作 为HScreenRectangle信息。如果当前屏幕与显示屏幕相应,则方法
"getOutputArea(void)"返回具有与HScreenRectangle (O,O,l,l)相同的值的 HScreenRectangle信息。如果当前屏幕是逻辑屏幕,则方法
"getOutputArea(void)"返回关于当前屏幕占据的显示屏幕上的区域的信息。 如果当前屏幕是逻辑屏幕,但是不与任何显示屏幕相关,则方法
"getOutputArea(void)"返回it "NULL"。
在下面的描述中使用的特定术语是指特定接口。然而,本领域的技术人 员将理解特定功能被命名仅用于指示其功能性。示例性实施例的这种详细描
述不是想要在名称上区分功能,而是在功能上进行区分。
图9是示出在将被映射到单个显示屏幕的两个逻辑屏幕上设置两个服务 的处理的示图。
参照图9,第一服务包括所有三个服务分量(即视频分量、音频分量和数据分量),第二服务仅包括视频分量和音频分量。然而,本发明不对服务分 量施加任何限制,图9示出的第一服务和第二服务是示例性的。
如图9所示,以与现有技术几乎相同的方式在物理显示装置上显示第一 服务和第二服务。根据本发明的当前示例性实施例,可以彼此独立地在物理 显示装置上显示多个服务,而不对能够显示在单个显示屏幕上的服务的数量 施加任何限制。
参照图10,用于提供多个屏幕的设备900包括数字信号处理模块940、 服务处理模块950、输出模块960和用户/应用接口模块965 。
另夕卜,设备900包括作为服务源的广播信号接收模块910、存储介质920 和外部输入模块930,并且包括作为服务输出介质的物理显示装置970、存储 介质980和外部输出模块990。
在此使用术语"模块"的意思是,但不限于,实现特定任务的软件和硬 件组件,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。模块可 以方便地被配置以驻留在可寻址的存储介质上,并且可被配置以在一个或多 个处理器上执行。因此,举例来说,模块可以包括诸如软件组件、面向对 象的软件组件、类组件和任务组件的组件、进程、函^:、属性、过程、子程 序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、 表、数组和变量。在组件和模块中提供的功能可被组合为更少的组件和模块, 或者可进一 步被分离成另外的组件和模块。
数字信号处理模块940从广播信号接收模块910、存储介质920和外部 输入模块930接收诸如多媒体内容的服务的各种信息,例如,视频信息、音 频信息或数据信息。
广播信号接收模块91接收卫星广播信号、地面广播信号或有线广播信号 并发送接收的广播信号,存储介质920存储服务的视频信息、音频信息或数 据信息,外部输入模块930从外部装置(诸如连接到网络的网络接口装置) 接收服务的视频信息、音频信息或数据信息。
数字信号处理模块940使用接收的服务分量恢复多个服务。恢复的服务 包括抽象服务或非抽象服务。
这里,短语"多个服务"是指广播信号接收模块910发送的两个或更多 服务,或者广播信号接收^^块910和存储介质920分别发送的两个或更多服务。
数字信号处理模块940可在用户/应用接口模块965的帮助下根据用户或 应用的选择恢复服务。在这种情况下,用户或应用可选择任意服务和屏幕之 间的连接。
服务处理模块950产生一个或多个逻辑屏幕和显示屏幕以显示数字信号 处理模块940恢复的服务。
输出模块960将服务处理模块950产生的多个逻辑屏幕映射到显示屏幕。 可使用预定义的方法或用户在用户/应用接口模块965的帮助下设置的方法来 进行逻辑屏幕到显示屏幕的映射。
可只通过服务处理模块950来处理由数字信号处理模块940恢复的服务。 取而代之,可将数字信号处理模块940恢复的服务直接映射到输出模块960 产生的显示屏幕的特定部分。
输出模块960提供的显示屏幕可显示在物理显示装置970上,或者被存 储在存储介质980中。存储介质980的示例包括计算机可读软盘、硬盘、 CD-ROM 、 DVD、 DVD-ROM 、 BD (蓝光盘)和半导体存储器。
另外,可将输出模块960提供的显示屏幕发送到经由外部输出模块990 连接到网络的外部装置。
为此,输出模块990可包括多个输出端口,可经由所述输出端口提供显 示屏幕。在这种情况下,可经由预先设置为默认的输出端口或用户在用户/应 用接口模块965的帮助下选择的输出端口来提供显示屏幕。
输出模块960可搜索连接到屏幕的输出端口。也就是说,输出模块960 在服务处理模块950产生的屏幕中搜索连接预定屏幕的输出端口 。
连接到输出模块960搜索的输出的屏幕可以是执行包括在相应服务中的 应用的逻辑屏幕或逻辑屏幕映射到的显示屏幕中的任何一个。
另外,连接到输出模块960搜索的输出的屏幕可以是通过映射逻辑屏幕 执行应用的屏幕,或者可以是不映射逻辑屏幕而直接执行应用的屏幕。
此外,输出模块960可产生对于一个屏幕的至少一个输出端口,以与所 述屏幕映射。换句话说,用户或应用可通过用户/应用接口模块965将显示在 屏幕上的内容发送到物理显示装置970、存储介质980或外部输出模块990。 此时,输出模块960可单独产生相应于与相应屏幕的每个路径和映射的输出 端口。此外,输出模块960可改变屏幕与连接到屏幕的输出端口之间的连接关
系。例如,当第一屏幕映射到第一端口,第二屏幕映射到第二端口时,输出
模块960可基于用户或应用的选择将第一屏幕连接到第二端口或将第二屏幕 连接到第一端口。
可接收多个服务。在这种情况下,服务处理模块950可产生用于表示多 个接收的服务的多个逻辑屏幕。也就是说,服务处理模块950分别产生用于 表示多个接收的服务的多个逻辑屏幕。
如果服务处理模块950产生多个逻辑屏幕,则输出模块960可从逻辑屏 幕中搜索能够连接到输出端口的逻辑屏幕,并且将识别的逻辑屏幕组合被映 射到的输出屏幕映射到输出端口。也就是说,输出模块960可将从服务处理 模块950产生的逻辑屏幕中选择的一个或多个逻辑屏幕映射到单个输出屏 幕,并且可将包括选择的逻辑屏幕的输出屏幕映射到单个输出端口 。
输出模块960可通过参照逻辑屏幕的屏幕属性和输出端口的逻辑属性搜 索能够连接到输出端口的逻辑屏幕。屏幕属性的示例包括屏幕比率和分辨率。 例如,如果输出端口的屏幕比率是高清晰度(HD)等级,则输出模块960可 搜索HD逻辑屏幕。另一方面,如果输出端口的屏幕比率是标准清晰度(SD) 等级,则输出模块960可搜索SD逻辑屏幕。
输出模块960可将已经映射到一个输出端口的逻辑屏幕组合映射到一个 或多个输出端口。因此,包括一个或多个逻辑屏幕的逻辑屏幕组合可组成屏 幕,并且可经由多个输出端口输出屏幕。
用户或应用可使用用户/应用接口模块965选择多个服务中的 一个或恢复 期望的服务。另外,用户可使用用户/应用接口模块965选择多个显示屏幕中 的一个。
由于图10示出的模块根据它们的功能被划分,因此可以连接到其它模块。
图11A是示出根据本发明的示例性实施例的动态配置多个屏幕的方法的 流程图。
通常,组成多媒体内容的视频信息、音频信息和数据信息以预定格式(例 如,MPEG流格式)被发送。在操作S1010,用于提供服务(诸如多媒体内 容服务)的设备接收视频信息、音频信息和数据信息,并且基于视频信息、 音频信息和数据信息恢复服务。这里,可通过用户或应用选择或预先确定在操作S1010恢复的服务。用户可使用在显示装置上显示的菜单或遥控器选择 任意屏幕和屏幕之间的连接。应用可使用API选择连接。
此外,数据信息包括关于用于服务的应用的应用信息,并且这种应用信 息包括指示应用是否能够在PiP屏幕上执行的信号信息。应用信息的示例包
(XAIT)。可将信号信息添加到应用信息。
以下,在操作S1020,设置恢复的服务从而可将其显示在逻辑屏幕上。 在操作S1030,将逻辑屏幕映射到显示屏幕。在操作S1040,将显示屏幕提供 给使用显示屏幕的用户、存储介质或网络。
图11B是示出输出搜索和改变输出端口的处理的流程图。在操作S1050, 输出模块960可基于来自用户或应用的控制命令搜索连接到显示屏幕的输出 端口。在操作S1060,输出模块960可基于来自用户或应用的控制命令改变 连接到显示屏幕的输出端口。也就是说,当从用户或应用输入控制命令以搜 索输出端口时,输出模块960搜索连接到当前显示屏幕的输出端口。此外, 当从用户或应用输入控制命令以改变输出端口时,输出模块960将已连接到 当前显示屏幕的输出端口连接到另一输出端口 ,以改变连接关系。
在图IIA和11B中示出经由逻辑屏幕在物理显示装置上显示的恢复的服 务。然而,可以不通过逻辑屏幕直接在物理显示装置上显示的恢复的服务。
当用户选择PiP服务时,以两种模式实现PiP服务。在第一种模式中, 仅有从主屏幕选择的PiP服务的视频分量被提供,而不为PiP服务创建单独 的逻辑屏幕,即,PiP屏幕。在第二种模式下,创建用于PiP服务的单独的逻 辑屏幕,以在创建的PiP屏幕上提供选择的PiP服务。
为了简单,图IIA和IIB示出仅将一个服务映射到显示屏幕的方法。然 而,可通过多个逻辑屏幕或不通过多个逻辑屏幕将多个服务映射到显示屏幕。
当以这种方式将显示屏幕提供给用户时,用户可执行多个服务。
图12是示出根据本发明的示例性实施例的用于提供多个屏幕的软件架 构的示图。
参照图12,软件架构1100包括装置驱动层1110、 API层1120和应用层 1130。
装置驱动层1110从各种多媒体内容源接收服务分量,并对接收的服务分 量进行解码。接收的服务分量的示例包括视频信息、音频信息和数据信息。API层1120产生逻辑屏幕和显示屏幕,并且将服务、逻辑屏幕和显示屏
幕彼此映射。
应用层1130提供用户界面,从而用户能够动态配置显示服务或将用户命 令发送到API层的逻辑屏幕,从而API层1120能够执行用户命令。
用户在应用层1130的帮助下使得装置驱动层1110经由物理显示装置提 供显示屏幕,或者将显示屏幕存储在存储介质中。另外,用户可使装置驱动 层1110经由网络将显示屏幕发送到外部装置。
为此,装置驱动层1110可包括能够提供显示屏幕的多个输出端口 。否则, API层1120可包括多个输出端口。
为了在显示屏幕上动态配置多个逻辑屏幕,API层1120可包括多个软件 模块,例如,多屏幕管理器模块"MultiScreenManager" 1210、多屏幕上下文 模块 "MultiScreenContext ', 1230 、多屏幕上下文侦听器模块 "MultiScreenContextListener ,, 1250 和多屏幕上下文事件模块 "MultiScreenContextEvent" 1240,如图13所示。
多屏幕管理器模块1210管理多屏幕上下文模块1230,搜索期望的屏幕, 显示指定屏幕共享哪个装置的信息,注册多屏幕上下文侦听器模块1250或者 取消多屏幕上下文侦听器模块1250的注册。
多屏幕上下文模块1230是与屏幕对象1220相关的接口对象,并且根据 多屏幕上下文模块1230执行的接口操作确定屏幕对象1220是逻辑屏幕还是 显示屏幕。可在多屏幕上下文模块1230中设置图6所示的各种属性,诸如属 性510至570。多屏幕上下文模块1230可提供参照图6描述的功能"SET"、 "ADD"、 "GET"和"REMOVE"。
当通过多屏幕上下文模块1230改变屏幕对象1220的属性信息时,多屏 幕上下文事件模块1240用作宣布屏幕对象1220的属性信息已经被改变的事 件类,并且多屏幕上下文侦听器模块1250用作能够以预定应用类实现的侦听 器接口对象,所述预定应用类尝试接收多屏幕上下文事件^^莫块1240提示的事 件。
应用1260是在应用层1130上驱动的模块。应用1260允许用户选择期望 的服务,并且在显示屏上自由地排列多个逻辑屏幕。
详细地,应用1260将允许用户动态配置和管理逻辑屏幕的各种命令发送 到多屏幕管理器模块1210,并且多屏幕管理器模块1210控制与将通过多屏幕上下文模块1230执行的各种命令相应的操作。
多屏幕上下文模块1230与屏幕对象1220相关,并且管理图6所示的屏 幕对象1220的属性信息。为了管理屏幕对象1220的属性信息,多屏幕上下 文模块1230可包括各种函数或方法。
多屏幕管理器模块1210从装置驱动层1110接收各种服务源提供的服务 分量,并且执行操作以在逻辑屏幕或显示屏幕上显示接收的服务分量。
图14是示出根据本发明的示例性实施例的在显示屏幕上显示通过图13 所示的模块在各个相应逻辑屏幕上显示的多个服务的方法的流程图。
参照图14,在操作S1310,多屏幕管理器模块1210产生显示屏幕以及与 将被执行的服务的数量相应的多个逻辑屏幕。
在操作S1320,多屏幕管理器模块1210将逻辑屏幕连接到从装置驱动层 1110接收的各个相应的服务。多屏幕管理器模块1210可通过将接收的服务的 服务上下文对象设置为用于逻辑屏幕服务的参数来对每个逻辑屏幕调用方法 "addServiceContexts,,。方法"addServiceContexts,,将逻辑屏幕连接到服务, 并且可以通过多屏幕上下文模块1230来提供所述方法。
在操作S1330, —旦逻辑屏幕连接到各个服务,多屏幕管理器模块1210 就将逻辑屏幕连接到显示屏幕。此时,多屏幕管理器模块1210可通过将逻辑 屏幕连接到的显示屏幕对象设置为参数来对每个屏幕的逻辑屏幕调用方法 "setDisplayScreen"。方法"setDisplayScreen"将逻辑屏幕连接到显示屏幕, 并且可以通过多屏幕上下文模块1230来提供所述方法。
可将方法 "setDisplayScreen ,, 设置为 "public void setDi splay Screen (HScreen screen) throws SecurityException, Illegal StateException",并且这个方 法允许作为参数提供的实例"HScreen"与当前逻辑屏幕相关。在这种情况下, HScreen优选地是显示屏幕。
方法"setDisplayScreen(HScreen screen)"的参凄t可包^^直"NULL"。在 这种情况下,当执行方法"setDisplayScreen(HScreen screen)"而没有异常处 理时,当前逻辑屏幕不再与显示屏幕有关。
方法"SecurityException"和"IllegalStateException"的^M亍可4乍为方法 "setDisplayScreen(HScreen screen)"的异常#/(乍进4亍。
在当前屏幕是逻辑屏幕时,或者在与当前逻辑屏幕有关的显示屏幕的一 部分由于主机平台的特性而不能改变时,可执行方法"IllegalStateException"。在操作S1340,确定在逻辑屏幕将被分别映射到的显示屏幕上的区域。 此时,可调用多屏幕上下文模块1230提供的预定方法,以确定逻辑屏幕将被 显示的显示屏幕上的区域。
图15是示出根据本发明的示例性实施例的输出模块960的操作的状态 图。输出模块960可执行输出端口搜索处理1510、输出端口改变处理1520 或屏幕搜索处理1530。
为了执行输出端口搜索处理1510,输出模块960可调用方法 "getOutputPorts"。方法"getOutputPorts"用于提耳又显示屏幕映射到的视频输 出端口。方法"getOutputPorts"的凄史据类型与包"org.ocap.hardware"的类 "VideoOutputPort[]"的类型相同。也就是i兑,方法"getOutputPorts"返回连 接到"HScreen"的实例"VideoO牟tPort"的集合。
此时,在相应屏幕具有两种类型的显示屏幕并被连接到视频输出端口的 情况下,方法"getOutputPorts"返回至少一个实例"VideoOutputPorts"。在 相应屏幕的种类是逻辑屏幕并且逻辑屏幕连接到显示屏幕的情况下,方法
"getOutputPorts "返回连接到显示屏幕的实例"VideoOutputPorts"。此外, 在相应屏幕的种类是逻辑屏幕但是逻辑屏幕没有连接到显示屏幕的情况下, 方法"getOutputPorts"返回j直NULL。
图16A是示出用于搜索连接到屏幕的输出端口的代码的示例的示图。在 图16A中,对模块"MultiScreenContext,, 的屏幕对象"screen"使用方法 "getOutputPorts"。
为了执行输出端口改变处理1520,输出端口 960可调用方法 "addOutputPorts,,或方法"removeOutputPorts,,。 方法"addOutputPorts',用 于将实例"VideoOutputPort,,添加到与屏幕映射的视频输出端口的集合,并 具有参数"VideoOutputPort',和布尔标志"removeExisting,,,当添力口新的输出 端口时,所述方法可去除先前映射的屏幕。
可通过"void add OutputPorts(org.ocap.hardware.VideoOutputPort[] ports, BooleanremoveExi sting) throws java.lang.SecurityException,
java.lang.IllegalStateException"的形式来表示方法"addOutputPorts"。
当处理方法"addOutputPorts"的异常处理并且没有给予预定权限时,可 执行"java.lang.SecurityException"的异常。当由于硬件限制而使屏幕不能被 映射到预定^T出端口时,当对于屏幕的实例"VideoOutputPort"不能被改变时(例如,当平台永久连接到实例"VideoOutputPort"的预定集合时),或者 当预定实例 "VideoOutputPort " 已经— 皮连4妄到屏幕并且布尔标记 "removeExisting,, ;^有返回真4直时,可寺丸4亍"java.lang.SecurityException,,的
方法"removeOutputPorts"用于从已经映射到相应屏幕的视频输出端口 的集合去除实例"VideoOutputPort",并且具有参数"VideoOutputPort"。
可通过"void remove OutputPort(org.ocap.hardware.VideoOutputPort[] ports)
java.lang.IllegalArgumentException"的形式来表示方法"removeOutputPorts,,。 当处理方法"removeOutputPorts"的异常处理并且没有给予预定权限时,
可执行"java.lang.SecurityException"的异常。也就是说,当相应屏幕不是显
示屏幕时,当对于相应屏幕的实例"VideoOutputPort"不能^皮改变时(例如,
当平台永久连接到实例"VideoOutputPort"的预定集合时),可执行 "java.lang.IllegalStateException"的异常。此夕卜,当预定实例"VideoOutputPort"
没有连接到相应屏幕时,可执行"java.lang.IllegalStateException"的异常。 图16B是示出用于改变连接到屏幕的输出端口的代码的示例的示图。在
图16B中,对模块"MultiScreenConfigurableContext,,的屏幕对象"screen"
4吏用方法"addOutputPorts"。
为了执行屏幕搜索处理1530,输出模块960可调用方法
"getCompatibleScreens"。方法"getCompatibleScreens"是用于4是耳又能连4妄到 输出端口的屏幕的方法,并且返回实例"HSCreen"的排列。
这里,能够连接到输出端口的屏幕可以是与输出端口兼容的屏幕。例如, 与输出端口具有相同的屏幕比率或相同的分辨率的屏幕。因此,能够使用方 法"getCompatibleScreens,,搜索的屏幕可包括逻辑屏幕以及输出屏幕。也就 是说,可使用方法"getCompatibleScreens"搜索至少一个输出屏幕或逻辑屏
幕o
图17是示出用于通过图13所示的模块交换将在逻辑屏幕上显示的服务 的处理的流程图。
在操作S1410,多屏幕管理器模块1210临时终止两个逻辑屏幕之间交换 的服务。
以下,在操作S1420,在两个逻辑屏幕之间交换关于服务的信息。此时,异常。对两个逻辑屏幕中的每 一 个调用方法"removeServiceContexts "和方法 "addServiceContexts",从而在两个逻辑屏幕之间交换在两个逻辑屏幕中设置 的服务上下文。方法"removeServiceContexts"去除连接到逻辑屏幕的服务上 下文,方法"addServiceContexts"将新的服务上下文添加到逻辑屏幕。可通 过多屏幕上下文模块1230来提供方法"removeServiceContexts"和方法 "addServiceContexts"。才艮据本发明的当前示例性实施例,在逻辑屏幕之间交 换关于逻辑服务连接到的服务的服务信息,从而获得交换主屏幕和子屏幕的 效果。另外,根据本发明的当前示例性实施例,即使在显示屏幕上执行三个 或更多服务,也能够在任意数量的逻辑屏幕之间交换所述服务。
在操作S1430,服务与两个逻辑屏幕之间的连接已经改变的事件的发生 被产生。以下,在操作S1440,多屏幕上下文事件模块1240将事件发送到多 屏幕上下文侦听器模块1250,并且开始执行最新连接到两个逻辑屏幕的服务。 尽管参照本发明的示例性实施例已经具体示出并描述了本发明,但是本 领域的技术人员将理解,在不脱离权利要求限定的本发明的精神和范围的情 况下,可以对其进行各种形式和细节的改变。因此,可以理解,提供上述示 例性实施例仅用于描述,将不被解释为对本发明的范围设置任何限制。
产业上的可利用性 根据本发明,为了动态配置在物理显示屏幕上"R供多个内容的多个屏幕, 将多个屏幕连接到各种互不相同的端口。因此,用户可以根据目的使用多个 屏幕。
权利要求
1、一种用于提供多个屏幕的设备,所述设备包括服务处理模块,产生一个输出屏幕和用于显示多个服务的多个逻辑屏幕;输出模块,在所述多个逻辑屏幕中搜索能够连接到输出端口并映射到所述输出屏幕的逻辑屏幕组合,并且将所述输出屏幕映射到输出端口。
2、 如权利要求l所述的设备,其中,输出模块通过参照所述多个逻辑屏 幕的屏幕属性和输出端口在所述多个逻辑屏幕中搜索所述逻辑屏幕组合。
3、 如权利要求2所述的设备,其中,屏幕属性包括屏幕比率和分辨率中 的至少一个。
4、 如权利要求l所述的设备,其中,输出模块将输出屏幕映射到除了输 出屏幕当前映射到的输出端口之外的至少一个输出端口。
5、 一种动态配置多个屏幕的方法,所述方法包括 产生一个输出屏幕和用于显示多个服务的多个逻辑屏幕; 在所述多个逻辑屏幕中搜索能够连接到输出端口并映射到所述输出屏幕的逻辑屏幕组合,将所述输出屏幕映射到输出端口。
6、 如权利要求5所述的方法,其中,搜索步骤包括通过参照所述多个 逻辑屏幕的屏幕属性和输出端口在所述多个逻辑屏幕中搜索所述逻辑屏幕组合。
7、 如权利要求6所述的方法,其中,屏幕属性包括屏幕比率和分辨率中 的至少一个。
8、 如权利要求5所述的方法,还包括将输出屏幕映射到除了输出屏幕 当前映射到的输出端口之外的至少一个输出端口 。
全文摘要
提供一种用于提供多个屏幕的设备以及动态配置多个屏幕的方法。用于提供多个屏幕的设备能够将多个屏幕连接到多个输出端口,从而动态配置在单个物理显示装置上提供多个内容的多个屏幕。用于提供多个屏幕的设备包括服务处理模块,产生一个输出屏幕和用于显示多个服务的多个逻辑屏幕;输出模块,在所述多个逻辑屏幕中搜索能够连接到输出端口并映射到所述输出屏幕的逻辑屏幕组合,并且将所述输出屏幕映射到输出端口。
文档编号H04N5/45GK101416495SQ200780012311
公开日2009年4月22日 申请日期2007年4月5日 优先权日2006年4月6日
发明者李光基, 李钟昊, 格伦·A·亚当斯, 边成昱, 郑云教 申请人:三星电子株式会社