具有虚拟机的显示装置及其控制方法

文档序号:7853260阅读:158来源:国知局
专利名称:具有虚拟机的显示装置及其控制方法
技术领域
本发明涉及一种显示装置,更具体地讲,涉及一种具有虚拟机的显示装置及其控制方法。该显示装置包括例如网络电视、智能电视、混合广播宽带电视(hybrid broadcastbroadband television :HBBTV)、互联网电视、网络电视、网际协议电视(IPTV)等。此外,该显示装置适用于移动设备。
背景技术
当前,正在加速研究能够接收和下载各种应用程序的电视。此外,需要在电视中安装能够处理应用数据并执行电视用户所期望的应用程序的软件平台的技术。同时,已经开始探讨将各种虚拟机作为软件平台的一个组件。然而,以特定编程语 言编写的应用程序(例如,Java应用程序等)无法由任意虚拟机立即执行。更具体地讲,例如,在智能电视中安装的特定OS应当被设计为从服务器接收以Java语言实现的、处于预先翻译为dex格式的状态的应用程序,并通过虚拟机执行数据处理。因此,当使用虚拟机操作OS时是不可能处理接收到的Java类文件的。

发明内容
因此,本发明涉及一种具有虚拟机的显示装置及其控制方法,实质上消除了由现有技术的限制和缺点引起的一个或者多个问题。本发明的一个目的是提供一种能够处理以特定编程语言编写的应用程序(例如,Java类文件)的增强的虚拟机(VM),所述应用程序通过无线方式而被接收或从外部设备接收。本发明的另一个目的是提供一种具有增强的VM的电视用户界面。本发明的另一个目的是定义一种方案,用于通过增强的VM将第一数据格式翻译为第二数据格式。发明的附加优点、目标和特征的一部分将在随后的说明书中阐述,一部分基于随后的试验对于本领域技术人员是显而易见的,或者能够从发明实践中获取。本发明的目的和其他优点能够通过在这里撰写的说明书和权利要求书以及附图中特别指出的结构而实现和取得。为了实现这些目的和其他优点并与发明目的一致,如这里具体和概括描述地,一种具有虚拟机的显示装置包括接收模块,其被配置为接收以特定编程语言编写的应用程序;检测器,其被配置为检测包含在所述应用程序中的第一数据格式;翻译器,其被配置为将检测到的第一数据格式翻译为能够被增强的虚拟机处理的第二数据格式;所述增强的虚拟机,其被配置为处理翻译所得的第二数据格式;视频处理器,其被配置为将经所述增强的虚拟机处理的第二数据格式翻译为能够输出的数据的;以及显示模块,其被配置为输出翻译所得的数据。在本发明的另一方面,控制具有虚拟机的显示装置的方法包括以下步骤接收步骤,接收与广播节目相对应的视频数据和以特定编程语言编写的应用程序;解复用步骤,对所述视频数据和所述应用程序进行解复用;解码步骤,对解复用所得的视频数据进行解码;翻译步骤,将包含在解复用所得的应用程序中的第一数据格式翻译为第二数据格式;在所述显示装置的屏幕的第一区域中显示翻译所得的数据格式的应用程序的步骤;以及在所述显示装置的屏幕的第二区域中显示解码所得的视频数据的步骤。根据本发明的一种实施方式,能够提供一种增强的虚拟机(VM),所述增强的虚拟机能够处理以特定编程语言编写的、经无线方式接收的或从外部设备接收的应用程序(例如,Java类文件)。根据本发明的另一种实施方式,能够提供一种具有增强的VM的电视的用户界面。根据本发明的另一种实施方式,能够通过定义用于由增强的VM将第一数据格式翻译为第二数据格式的方案来减少空间占用(frootprint)。下文中将详细描述本发明的效果。


所包含的用于提供对本发明进一步理解的附图,被合并并且构成本申请的一个部分,其示出了本发明的(多种)实施方式并且与说明书一起解释了本发明的原理。在附图中图I是根据本发明一种实施方式的用于发送数据广播的系统的组件示意图;图2A是示出了根据本发明另一种实施方式的用于接收数据广播的显示装置的组件示意图;图2B是示出了根据本发明一种实施方式的具有虚拟机(VM)的混合广播宽带电视(HBBTV)的硬件组件示意图;图3是详细示出图2A或图2B中示出的增强的VM的示图;图4是示出了由根据本发明一种实施方式的显示装置接收以特定计算语言编写的应用程序的各种路径的示意图;图5是示出了由根据本发明一种实施方式的显示装置下载增强的VM的处理的示意图;图6是示出了由根据本发明一种实施方式的移动设备接收以特定计算语言编写的应用程序的处理的示意图;图7是示出了概要示出包括外部设备接口的显示装置的示意图;图8是详细示出了图7中所示的控制器的示图;图9是示出了在根据本发明一种实施方式的增强的VM中使用的编程语言示例的示图;图10是由根据本发明一种实施方式的增强的VM翻译的编程语言之间关系的示意图;图11是示出了由根据本发明一种实施方式的增强的VM共享常量池处理的示意图;图12是示出了根据图11的共享处理实现减少空间占用的结果的示意图;图13是示出了由根据本发明一种实施方式的增强的VM对类单元(class unit)中的数据进行翻译的处理的流程图;图14是示出了使用根据本发明一种实施方式的增强的VM来翻译全包单元(fullpackage unit)中的数据的处理的流程图;图15是示出了根据本发明一种实施方式的具有增强的VM的显示装置的用户界面的示例的示意图;图16是示出了根据本发明一种实施方式的具有增强的VM的显示装置的用户界面的另一不例的不意图;图17是示出了根据本发明一种实施方式的具有增强的VM的显示装置的用户界面的另一不例的不意图;以及图18是示出了实现图17中用户界面的处理的流程图。
具体实施例方式在下文中,将参照附图详细描述本发明。组件名称后跟随的术语“模块”和“单元”这里仅用于帮助理解组件,并因此不应当认为具有特定的意义或作用。因此,术语“模块”和“单元”能够互相交换地使用。在本说明书中描述的显示装置是例如除广播接收功能外还配备有计算机支持功能的智能网络电视,并且可以包括用户友好型界面,例如手写输入设备、触摸屏或指示装置(pointing device) 0显示装置利用有线或无线互联网功能连接到互联网和计算机以执行诸如电子邮件发送/接收、网络浏览、银行或游戏之类的功能。对于这些功能,可以使用标准的通用操作系统(OS)。因此,各种应用程序能够自由地添加到例如根据本发明的显示装置的通用OS内核或从根据本发明的显示装置的通用OS内核中删除。由此,显示装置可以执行多种用户友好型功能。虽然将参照附图详细描述本发明的实施方式,但应当理解的是它们仅是本发明的示例,不应当解释为对本发明范围的限制。此外,虽然本发明中使用的术语是从广泛知晓和使用的术语中选择的,但是本发明说明书中提到的部分术语是申请人酌情选择的,其具体含义在此处的说明书的相关部分描述。此外,本发明应当基于文中每个术语的意思理解,而不是简单地通过实际使用的术语理解。图I是示出了根据本发明一种实施方式的用于发送数据广播的系统的组件示意图。下文中,将参照图I描述根据本发明一种实施方式的用于发送数据广播的系统。图I示出的广播系统100包括MPEG编码器110、系统信息(SI)编码器120、循环(carousel)编码器130、复用器140和射频(RF)调制器150。此外,广播系统100包括例如广播站或者内容提供商(CP)。MPEG编码器110设计为,例如将与通用广播节目对应的AV数据编码成MPEG格式。SI编码器120对SI脚本进行编码并将经编码的SI脚本传输到复用器140。进一步地,循环编码器130对与数据广播的内容或互联网内容相对应的应用程序进行编码,并将经编码的应用程序传输到复用器140。以特定编程语言编写应用程序(例如,Java应用程序等)。
复用器140被设计为对从编码器110、120和130接收的数据进行复用,并且RF调制器150被设计为将经复用的数据翻译为RF信号并将RF信号多播到电视。如上所述,广播系统100使用RF调制器150向显示装置(例如,数字电视等)发送例如Java类文件。然而,由广播系统100发送的Java类文件可能不能直接由包含特定OS的显示装置执行,这是因为显示装置不能处理在特定OS被操作的同时接收到的Java类文件。为了解决这个问题,在本发明中,提出一种包括预先将类文件翻译为dex文件的翻译器的增强的虚拟机(VM),所述虚拟机将参照图2来详细描述。图2A是示出了根据本发明一种实施方式的用于接收数据广播的显示装置的组件示意图。在下文中,将描述由根据本发明一种实施方式的具有增强的VM的显示装置接收和处理广播信号的处理。 如图2A所示,显示装置200包括RF调谐器210、解复用器220、AV解码器230、扬声器240、显示器250、增强的VM(260)和以太网适配器270。图2A中示出的模块是示例性的,本发明的范围原则上由权利要求限定。进一步地,解复用器220还包括段过滤器(section filter) 225。可选地,段过滤器225可以位于解复用器之外,这可落入本发明的范围内。显示装置200包括例如智能电视、网络电视、HBBTV, IPTV、DTV和移动设备(移动电话、智能电话等)。图2A中示出的RF调谐器210接收由图I中示出的广播系统100发送的广播信号。解复用器220对经复用的数据进行解复用并将与广播节目相对应的AV数据传输到AV解码器 230。解复用器220对SI数据和应用程序进行解复用,并将它们传输到增强的VM 260。进一步地,SI数据由上述段过滤器225过滤,所述段过滤器被设计为例如仅收集具有相同包标识(PID)的SI脚本。AV解码器230对与广播节目相对应的AV数据进行解码,将音频数据传输到扬声器240并将视频数据传输到显示模块250。显示模块250被设计为输出经增强的VM 260处理的Java应用程序。将在下文中参照图6来更详细地描述增强的VM 260。也就是说,根据本发明实施方式的显示装置100包括接收模块,其用于接收以特定编程语言编写的应用程序;检测器,其用于检测包含在所述应用程序中的第一数据格式;翻译器,其用于将检测到的第一数据格式翻译为能够被增强的VM处理的第二数据格式;所述增强的VM,其用于处理翻译所得的第二数据格式;视频处理器,其用于将经增强的VM处理的第二数据格式翻译为能够输出的视频数据;以及显示模块,其用于输出翻译所得的视频数据。所述接收模块与例如图2A中所示的RF调谐器210相对应,而所述检测器和翻译器例如被包括在图2A中所示的增强的VM 260中,并且视频处理器例如被包括在图2A中所示的显示模块250中。根据本发明另一种实施方式的增强的VM 260对由至少两个类文件构成的第一数据格式进行解压缩,对所述类文件执行载入和翻译处理,并对经所述载入和翻译处理的类文件进行合并以生成第二数据格式,这将在下文中参照图14更详细描述。说明书中使用的术语“解压缩”指的是对压缩文件进行解压缩的功能,例如,将以ZIP格式压缩的包翻译为多个数据的功能。
说明书中使用的术语“合并”指的是将两个或更多数据集翻译为一个数据集的功能,例如,将多个类文件结合为一个dex文件的功能。如果下载的文件不是类文件,则根据本发明另一种实施方式的增强的VM 260执行所述下载的文件,而如果下载文件是类文件,则根据本发明另一种实施方式的增强的VM260将所述下载的文件翻译为dex文件并执行该dex文件,这将在下文中参照图15来更详细地描述。根据本发明另一种实施方式的增强的VM 260被设计为生成一个对包含在第一数据格式的各个类文件中的常量池进行共享的第二数据格式,这将在下文中参照图11和图12来更详细地描述。以特定编程语言编写的应用程序与例如Java应用程序相对应。进一步地,第一数据格式与例如Java类文件相对应并且第二数据格式与例如dex文件相对应。
Java应用程序可以通过无线方式或从外部设备而被接收。下文中将参照图15描述以无线方式来接收Java应用程序的情况,并且参照图16来描述从外部设备接收Java应用程序的情况。特别地,在以无线方式接收Java应用程序的情况中,图2A中示出的RF调谐器210接收与广播节目相对应的视频数据和以特定编程语言编写的应用程序。解复用器220对视频数据和应用程序进行解复用,并且AV解码器230对解复用所得的视频数据进行解码。增强的VM 260将包含在解复用所得的应用程序中的第一数据格式转换成第二数据格式。显示模块250被设计为在显示装置200的屏幕的第一区域中显示翻译所得的数据格式的应用程序,并在显示装置200的屏幕的第二区域中显示解码所得的视频数据。进一步地,如图2A所示,经两条路径将Java应用程序发送到根据本发明实施方式的增强的VM 260。首先,如果经广播网络接收到Java应用程序,则使用从段过滤器225接收的SI信息和循环信息来在增强的VM 260中执行Java应用程序。同时,如果经互联网接收到Java应用程序,则使用从应用程序信息表(AIT)中提取的URL信息来将Java应用程序下载到存储器(例如,闪存等)。此时,本发明的特征在于上述Java应用程序被设计为经由以太网适配器270来被发送。图2B是示出了根据本发明一种实施方式的具有虚拟机(VM)的混合广播宽带电视(HBBTV)的硬件组件示意图。在下文中,将描述根据本发明实施方式的具有VM的HBBTV的硬件组件。如图2B所示,HBBTV 100包括例如广播接口 101、段过滤器102、AIT过滤器103、应用数据处理器104、广播数据处理器111、媒体播放器106、网际协议处理器107、互联网接口 108、运行时模块(runtime module) 109以及增强的VM 110。本发明的范围不限于图2B中示出的组件,并且根据需要可以增加模块或删除任何上述提到的组件。特别地,在下文中参照图6来详细描述上述增强的VM 110。通过广播接口 101接收AIT数据、实时广播内容、应用数据和流事件。实时广播内容可以被称为线性A/V内容。段过滤器102对通过广播接口 101接收到的四个数据执行段过滤,将AIT数据传输到AIT过滤器103,将线性A/V内容传输到广播数据处理器111,并将流事件和应用数据传输到应用数据处理器104。同时,通过互联网接口 108接收非线性A/V内容和应用数据。非线性A/V内容,例如可以是内容点播(COD)应用程序。非线性A/V内容被传输到媒体播放器106,而应用数据被传输到运行时模块109。进一步地,如图2B所示,运行时模块109包括例如应用程序管理器和浏览器。例如,应用程序管理器使用AIT数据控制交互应用程序的生命周期。例如,浏览器执行显示和处理交互应用程序的功能。特别地,现在将描述用于处理将通过互联网接收的应用程序的增强的VM 110。由段过滤器102或AIT过滤器103来对经广播网络发送的广播数据的AIT进行过滤。如果从经过滤的AIT解析得到URL信息,则互联网接口 108被设计为使用URL信息来 接收特定应用程序。例如,增强的VM 110将通过互联网接口 108或应用数据处理器104接收的应用程序存储在闪存中。增强的VM 110被设计为通过运行时模块109执行之前存储的应用程序。图3是图2A或图2B中示出的增强的VM的详细示意图。在下文中,将参照图3来更详细地描述根据本发明实施方式的增强的VM。如图3所示,根据本发明实施方式的显示装置具有增强的VM 260。进一步地,显示装置200包括OS和HW配置270。随后将参照图7和图8来描述显示装置的硬件配置。根据本发明实施方式的增强的VM 260包括类/dex翻译器261、执行引擎262以及中间件(MW)和系统265。执行引擎262进一步包括解释器(interpreter) 263和即时编译器(Just in Time Compiler :JITC) 264。图3中示出的组件是示例性的并且本发明的范围原则上由权利要求限定。由于MW和系统265通过服务器接收预先翻译为dex格式的应用程序,所以翻译所得的应用程序能够被VM处理。然而,在VM正被操作的同时接收的以特定编程语言编写的应用程序(例如,Java应用程序)可能不会被预先翻译。因此,如图3所示,本发明的特征在于将类/dex翻译器261添加到VM。更具体地,根据本发明实施方式的增强的VM 260的dex载入器检查接收到的文件的扩展名,并且如果扩展名是class”,则将文件发送到类/dex翻译器261。类/dex翻译器261读取类文件,将类文件翻译为dex文件,然后将dex文件发送到dex载入器。多个Java类文件可以被翻译为一个dex文件(参见图14),或者每当传输的类文件需要被翻译时,一个类文件可以被翻译为一个dex格式(参见图13)。在Java类文件中,与字符串、字段和方法相关的信息存储在同一个常量池中。相反地,在dex文件中,与字符串、字段、方法、参数和类文件相关的信息被划分到不同ID列表中。因此,首先,从Java类收集与字符串、字段和方法相关的信息,并使用类信息来生成增强的VM的类定义结构。字符串被翻译为增强的VM的字符串列表和字符串数据。字符串列表存储字符串的元数据,而实际字符串信息被存储在增强的VM的数据区域中。收集在字段和方法中使用的类型信息。使用收集的类型信息生成类型列表,并且使用方法的参数生成方法参数列表。进一步地,与字段相关的信息被分成“实例”和“静态”来生成一个列表,与方法相关的信息被分成“直接”和“虚拟”来生成列表。上述ID列表和数据区域列表具有各自的特定值,并以值的顺序排列。由于使用偏移来指示包含在ID列表中数据区域的值,因此所述偏移可以作为ID列表之间的值变化,并加上数据区域。因此,需要生成预定顺序的dex格式。首先,生成dex格式头。首先生成诸如字符串ID列表、类型ID列表和原型ID列表之类的ID列表,随后依次生成诸如类数据、字符串数据和dex映射表之类的数据值。在生成数据值之后,校正ID列表的偏移值。图4是示出了由根据本发明一种实施方式的显示装置接收以特定计算语言编写的应用程序的各种路径的示意图。在下文中,将参照图4描述由根据本发明一 种实施方式的显示装置接收以特定计算语言编写的应用程序的三种路径。在图4中示出的显示装置100中,假设根据本发明一种实施方式的增强的VM被存储在存储器中。在上文中参照图3描述了增强的VM。如图4所示,根据本发明实施方式的显示装置100从广播站410接收数据广播(例如,在Java应用程序中写入的数据)。进一步地,接收到的数据广播由解调器120解调,并且经解调的数据广播发送到控制器170。根据存储在存储器140中的增强的VM来对数据广播的Java应用程序的数据格式进行实时翻译。接下来,如图4所示,根据本发明实施方式的显示装置100的网络接口 130从CP420或者服务器接收Java应用程序。根据存储在存储器140中的增强的VM来对Java应用程序的数据格式进行实时翻译。最后,如图4所示,根据本发明实施方式的显示装置100的外部设备接口 135从移动设备(例如,移动电话等)接收Java应用程序。根据存储在存储器140中的增强的VM来对Java应用程序的数据格式进行实时翻译。图5是示出了由根据本发明一种实施方式的显示装置下载增强的VM的处理的示意图。在下文中,将参照图5描述由根据本发明实施方式的显示装置下载增强的VM的处理。不同于图4,在图5中示出的显示装置100中,假设最初根据本发明一种实施方式的增强的VM没有被存储在存储器中。上文中参照图3描述了增强的VM。首先,显示装置100的网络接口 130优先地接入提供根据本发明实施方式的VM的第一 CP 510。然后,通过网络接口 130下载第一 CP 510提供的增强的VM。下载的VM被设计为上传到图5示出的存储器140中。显示装置100的网络接口 130被设计为从提供任意应用程序的第二 CP 520接收Java应用程序。第二 CP 520可以是与第一 CP 510相同的服务器或者可以是与第一 CP 510不同的服务器。因此,根据存储在存储器140中的增强的VM,本发明的特征在于从第二 CP520接收到的Java应用程序的数据格式被实时翻译。图6是示出了由根据本发明一种实施方式的移动设备接收以特定计算语言编写的应用程序的处理的示意图。在下文中,参照图6描述由根据本发明实施方式的移动设备接收以特定计算语言编写的应用程序的处理。图6中示出的移动设备700与例如智能电话或者通用移动电话相对应。移动设备700可以包括无线通信单元710、音频/视频(A/V)输入单元720、用户输入单元730、感测单元740、输出单元750、存储器760、接口 770、控制器780和电源790。
无线通信单元710可以包括用于在移动设备700和无线通信系统之间或者在移动设备700和移动设备700所处的网络之间执行无线通信的一个或多个模块。例如,无线通信单元710可以包括广播接收模块711、移动通信模块712、无线互联网模块713、短距离通信模块714和位置信息模块715。特别地,无线通信单元710被设计为从CP 610接收Java应用程序,CP 610是位于移动设备700之外的服务器的示例。存储器760存储根据本发明实施方式的增强的VM。因此,根据存储在存储器760中的增强的VM处理从CP 610接收到的Java应用程序,并且控制器780被设计为控制显示器751快速地执行Java应用程序。作为参考,A/V输入单元720接收音频信号或者视频信号,并包括相机721和麦克风722。用户输入单元730生成使得用户能够控制终端操作的输入数据。用户输入单元730可以包括键区、薄膜开关、触摸板(静压/静电)、拨轮以及拨动开关。
感测单元740检测移动设备700的当前状态,例如移动设备700是打开还是关闭的、移动设备700的位置、或者用户是否接触了移动设备700,并产生控制移动设备700操作的感测信号。提供输出单元750以输出音频或视频信号或者触感信号,并且可以包括显示单元751、音频输出模块752、报警单元753和触摸模块754。存储器760存储用于控制器780操作的程序,并可临时存储输入或输出数据(例如,电话薄、消息、静态图像和运动图像)。存储器760存储当检测到触摸屏的触摸输入时输出的各种模式的振动和声音相关的数据。如上所述,存储器760存储参照图3描述的增强的VM。接口 770作为与所有连接到移动设备700的外部设备的接口。接口 770可以从外部设备接收数据,从移动设备700的组件接收电力并且向移动设备700的组件传输电力,或者向外部设备传输移动设备700的数据。图7是概要示出包括外部设备接口的显示装置的示意图。图7示出其中添加了外部设备接口 135的另一种实施方式。如图7所示,根据本发明的另一种实施方式的显示装置100包括广播接收单元105、外部设备接口 135、存储器140、用户输入接口 150、控制器170、显示器180、音频示输出单元185、电源190和捕获单元(未示出)。广播接收单元105包括调谐器110、解调器120和网络接口 130。如果需要,则广播接收单元105可以被配置为仅包括调谐器110和解调器120或者仅包括网络接口 130。调谐器110调谐到与所有预先存储的频道或者用户从通过天线接收到的多个RF广播信号中选择的频道相对应的射频(RF)广播信号。解调器120从调谐器110接收数字IF信号DIF并解调数字IF信号DIF。解调器120可以对数字IF信号DIF执行解调和信道解码,从而获得传输流(TS)。TS可以是其中复用了视频信号、音频信号和数据信号的信号。例如,TS可以是其中复用了MPEG-2视频信号和Dolby AC-3音频信号的MPEG-2 TS。MPEG-2 TS可以包括4字节头部和184字节净荷。从解调器120输出的TS可以被输入到控制器170,从而进行解复用和A/V信号处理。经处理的视频和音频信号分别被输出到显示器180和音频输出单元185。
外部设备接口 135可以作为外部设备和显示装置100之间的接口。为了进行对接,外部设备接口 135可以包括A/V输入/输出(I/O)单元(未示出)和/或无线通信模块(未示出)。外部设备接口 135可以无线地或有线地连接到诸如数字通用光盘(DVD)播放器、蓝光播放器、游戏控制台、相机、摄录相机或者计算机(例如,膝上型计算机)之类的外部设备。然后,外部设备接口 135从相邻外部设备由外部接收应用程序或应用程序列表并向控制器170或者存储器140传输应用程序或者应用程序列表。网络接口 130可以包括连接到有线网络的以太网端口。为了连接到无线网络,网络接口 130使用无线局域网(WLAN)(即Wi-Fi)、无线宽带(WiBro)、全球微波接入互操作性(WiMax)和高速下行分组接入(HSDPA)。此外,网络接口 130从网络上的开放的应用程序中选择性地接收期望的应用程序。存储器140可以存储控制器170需要的各种程序以处理和控制信号,还可以存储
经处理的视频、音频和数据信号。存储器140可以临时存储从外部设备接口 135或网络接口 130接收的视频、音频和/或数据信号。存储器140可以存储从外部设备接口 135或网络接口 130接收到的应用程序或者应用程序列表。用户输入接口 150将从用户接收的信号传输到控制器170或者将从控制器170接收的信号传输到用户。例如,用户输入接口 150能够从遥控器200接收诸如电源通/断信号、频道选择信号和屏幕设置信号之类的控制信号,或者可以根据各种通信方案(例如RF通信和IR通信)将从控制器170接收的控制信号传输到遥控器200。控制器170将从调谐器110、解调器120或者外部设备接口 135接收的TS解复用成多个信号,并将解复用所得的信号处理成音频和视频信号。经控制器170处理的视频信号可以作为图像显示在显示器180上。经控制器170处理的视频信号还可以通过外部设备接口 135传输到外部输出设备。经控制器170处理的音频信号可以输出到音频输出单元185。经控制器170处理的音频信号还可以通过外部设备接口 135传输到外部输出设备。显示器180可以将经处理的视频信号、经处理的数据信号和从控制器170接收的OSD信号或者从外部设备接口 135接收的视频信号和数据信号转换成RGB信号,从而生成驱动信号。显示器180可以是各种类型的显示器,例如等离子体平板显示器(PDP)、液晶显示器(IXD)、有机发光二极管(OLED)显不器、柔性显不器和3D显不器。音频输出单元185可以从控制器170接收经处理的音频信号(例如,立体声信号、3. I声道信号或者5. I声道信号)并将接收到的音频信号作为声音输出。音频输出单元185可以利用各种扬声器配置。电源190向显示装置100供电。特别地,电源190可以向可被实现为片上系统(SOC)的控制器170、显示图像的显示器180和进行音频输出的音频输出单元185供电。遥控器200将用户输入传输到用户输入接口 150。为传输用户输入,遥控器200可以利用各种通信技术,例如蓝牙、RF通信、IR通信、超宽带(UWB)和Zigbee。图6中示出的增强的VM可以被设计为与图7中示出的控制器170相对应或者可以被存储在存储器140中。因此,存储器140的增强的VM或者控制器170不仅可以处理包含在广播信号中以特定编程语言编写的应用程序和在网络上接收到的应用程序,还可以处理从外部设备(例如,BD播放器)接收的应用程序。特别地,下文中将参照图16描述从外部设备接收的应用程序的处理。图8是详细示出图7中所示的控制器的示图。在下文中,将参照图8描述图7中所示的控制器。如图8所示,根据本发明实施方式的控制器170包括解复用器310、视频处理器320、OSD生成器340、混合器350、帧速率变换器(RFC) 335和格式编制器360。控制器170可以进一步包括音频处理器(未示出)和数据处理器(未示出)。解复用器310对输入流进行解复用。视频处理器320可以处理解复用所得的视频信号。因此,视频处理器320可以包括视频解码器325和缩放器335。视频解码器325对解复用所得的视频信号进行解码,缩放器335缩放解码所得的 视频信号,使得视频信号能够在显示器180上显示。经视频处理器320解码的视频信号被提供给混合器350。OSD生成器340自主地或者根据用户输入生成OSD信号。例如,OSD生成器340可以基于从用户输入接口 150接收到的控制信号生成这样的信号通过所述信号将各种信息作为图形或文本显示在显示器180上。例如,OSD生成器340可以生成这样的信号通过所述信号为广播图像或基于电子节目指南(EPG)的广播信息显示字幕。此外,OSD生成器生成用于输出由根据本发明实施方式的增强的VM处理的应用程序的OSD信号(例如,头条、股市新闻等)。混合器350可以将经图像处理器220处理的解码所得的视频信号与由OSD生成器340生成的OSD信号进行混合,并将混合后的信号输出到格式编制器360。由于解码所得的广播视频信号或者外部输入信号与OSD信号混合,因此OSD可以叠加在广播图像或者外部输入图像上。FRC 355可以改变输入图像信号的帧速率。例如,60Hz的帧速率转换为120或者240Hz的帧速率。当帧速率从60Hz变更到120Hz时,在第一帧和第二帧之间插入第一帧,或者在第一和第二帧之间插入预测的第三帧。如果帧速率从60Hz变更到240Hz,在第一和第二帧之间插入三个相同帧或者三个预测帧。还可保持输入图像的帧速率而不进行帧速率变换也是可能的。格式编制器360对从FRC 355接收的信号的格式进行改变以适应显示器180。例如,格式编制器360可以将接收的信号转换成RGB数据信号。RGB信号可以以低压差分信号(LVDS)或者mini-LVDS的形式输出。将参照图15更详细地描述图8示出的OSD生成器340显示Java应用程序的实施方式。图9是示出了在根据本发明一种实施方式的增强的VM中使用的编程语言示例的示意图。在下文中,将参照图9描述在根据本发明实施方式的增强的VM中使用的数据格式。一般而言,应用程序在以特定编程语言编写的状态下被分发。然而,如上所述,当操作OS时可能无法处理分发的应用程序。因此,本发明的特征在于使用图6中示出的增强的VM来将以特定编程语言(例如,Java语言)编写的应用程序翻译为类文件,然后多个类文件被翻译为dex格式。
将包含在已有Java类文件中的第一格式的字节码翻译为第二格式的字节码。在图9中,Java字节码作为第一格式的字节码示出,并且Dalvik字节码作为第二格式的字节码示出。然而,图9为便于描述而示出该实施方式,而本发明的范围不限于特定的字节码。Dalvik字节码包括与Java字节码类似的I字节指令。然而,当Java字节码采用存储对于执行操作所需的值并随后执行该操作的方法时,而根据本发明实施方式的增强的VM采用明确指出其中存储有对于执行操作所需的值的寄存器的方法。如图9所示,在一个简单的加法情况中,在Java字节码中,使用iload将变量a和b移动到栈中,并使用命令iadd将其相加。相反地,在增强的VM中,明确指出寄存器v2和v3,在v2和v3中存储有将在命令add-int中使用的变量a和b。在对于Java字节码使用四个命令时,对于在增强的VM中使用的Dalvik字节码仅使用两个命令。因此,根据本发明实施方式的增强的VM中使用的Dalvik字节码能够更快地被执行。此外,在Java类文件中,在Java应用程序中使用的与字符串、字段、功能等相关的信息被存储在将被使用的常量池中。在Java常量池中混合各种信息,并且利用标签可辨识 地使用包含在常量池中的各种条目。相反地,在dex格式中,常量池的元信息被存储在ID列表中并且常量池的所有实际值被存储在dex格式的数据区域中。多个类文件可以被翻译为一个dex文件。由于当多个Java类文件被翻译为一个dex文件时常量池中的重叠值可以被结合成一个值,因此可以减小dex文件的大小,这将参照图11和图12进行描述。图10是由根据本发明实施方式的增强的VM翻译的编程语言之间关系。在下文中,将参照图10描述由根据本发明实施方式的增强的VM翻译的Java字节码和Dalvik字节码之间的关系。通常可以将Java字节码值存储在栈中或者作为本地变量存储。然而,根据本发明实施方式的增强的VM被设计为使得字节码值存储在寄存器中。例如,每个Java栈位置对于固定dex的寄存器是预先确定的。也就是说,如下面那样第O个Java栈位置等于dex的第O个寄存器。Stack O (Java VM) =>¥0(增强的/1)进一步,在确定了将在dex格式中使用的寄存器之后,将每个Java字节码翻译为Dalvik字节码。为了执行Java字节码,在栈中存储值。为了将值添加到栈或者将栈中的值作为本地变量存储,使用命令“load(载入)”和“store (存储)”。为进行快速翻译,将从“load”和“store”翻译为增强的VM的命令“move (移动)”也可落入本发明的范围内。特别地,现在将详细描述图10中示出的用“MOVE”替换“LOAD/STORE”的过程。在通用Java VM中使用的字节码“load”指示作为java本地变量存储的值被推送入栈。例如,“iload_0”指示将第O个java本地变量推送入栈的过程。此外,通用JavaVM中使用的字节码“store”指示存储在栈中的值出栈并存储为java本地变量。例如,“ istore_0”指示对存储在栈中的值出栈作为第O个java本地变量的结果进行存储的处理。Java本地变量和栈中的每个条目都被翻译为根据本发明实施方式的增强的VM的虚拟寄存器。因此,传统Java VM中的两个命令LOAD/STORE被合并为根据本发明实施方式的增强的VM中的虚拟寄存器之间的一个命令“MOVE”。进一步地,由于在上述处理中数据在寄存器之间移动而不是在存储器之间移动,因此能够提高VM的性能。在本发明的实施方式中,在图3中示出的类/dex翻译器261中执行上述翻译处理。图11是示出了由根据本发明一种实施方式的增强的VM共享常量池的处理的示意图。图12是根据图11的共享处理来减少空间占用的结果的示意图。在下文中,将参照图11和图12来描述如果本发明实施方式的增强的VM被设计为共享常量池则提升存储器使用效率的结果。首先,如图11左侧所示,由根据本发明一种实施方式的显示装置接收到的Java应用程序包括多个类文件。进一步,每个类文件均包括常量池和其他数据。在由图3示出的类/dex翻译器261将多个类文件翻译为一个dex文件的处理中,如图11右侧所示常量池和其他数据被共享。在图11中示出使用常量池共享方法的情况中,如图12所示,通过实验可见的是空间占用明显降低。例如,对于普通系统库,未压缩的java类文件使用21,445,320字节并且压缩的java类文件占用10,662,048字节。相反的,即使是在未压缩状态下dex文件也仅占用10,311,972字节,与压缩的java类文件的大小相比,dex文件的大小减小。此外,对于网络浏览器应用程序,未压缩的java类文件占用470,312字节并且压缩的java类文件占用232,065字节。相反地,即使是在未压缩的状态下dex文件也仅占用209,248字节,因此与压缩的java类文件相比,dex文件的大小减小。此外,对于报警检查应用程序,未压缩的java类文件占用119,200字节并且压缩的java类文件占用61,658字节。相反地,即使是在未压缩的状态下dex文件也仅占用53,020字节,因此与压缩的java类文件相比,dex文件的大小减小。图13是由根据本发明一种实施方式的增强的VM对类单元中的数据进行翻译的处理的流程图。在后文中,将参照图13详细描述由根据本发明实施方式的增强的VM来对类单元中的数据进行翻译的处理。图3中示出的增强的VM 260可被设计为执行图10中示出的步骤或者类/dex翻译器2610可以被设计为执行部分步骤。首先,如果从广播调谐器、网络接口或者外部设备接口接收到文件(S1210),则确定该文件是否是以特定编程语言编写(例如,Java类文件)(S1220)。如果确定该文件未被编写成Java类文件(S1220),则执行接收的文件而不进行翻译(S1230)。相反地,如果确定文件被编写成Java类文件(S1220),则执行载入类文件的处理S1240和将载入的类文件翻译为dex文件格式的处理S1250。现在将详细描述步骤S1240和 S1250。步骤S1240包括步骤S1241、S1242、S1243和S1244。首先,载入接收到的类文件的头部(S1241),载入类文件的常量池(S1242),载入类文件的类信息(S1243),并载入类文件的接口 /字段/方法(S1244)。在执行完上述载入处理S1240后,翻译为dex格式是可能的。步骤S1250 包括步骤 S1251、S1252、S1253、S1254 和 S1255。首先,对在步骤 S1240中载入的类文件的ID和数据进行翻译(S1251),并且对翻译所得的ID和数据进行排序 (S1252)。进一步,对载入的类文件的def信息进行翻译(S1253),并且对翻译所得的类def信息进行排序(S1254)。如果完成了上述翻译和排序处理,则dex文件被编写为dex格式(S1255)。如果完成了步骤S1240和S1250,则可以以dex格式执行类文件(S1230)。图14是示出了使用根据本发明一种实施方式的增强的VM来翻译全包单元中的数据的处理的流程图。在下文中,将参照图14来描述使用根据本发明实施方式的增强的VM来翻译全包单元中的数据的处理。图14示出的实施方式与图13示出的实施方式的不同之处在于对用于配置接收到的应用程序的多个Java类文件一次性地进行解压缩和处理。首先,如果接收到由多个类文件构成的Java应用程序文件(S1300),则对每个压缩的类文件进行解压缩(S1310)。对在步骤S1310中提取出的类文件执行步骤S1330、S1340和S1350。在步骤S1310中提取出的文件中,除类文件之外的文件被单独处理(S1320)。其他文件与例如图像、文本 等相对应。如果接收到多个提取出的类文件中的任意类文件(S1330),则执行载入接收到的类文件的处理(S1340)。然后,执行将载入的类文件翻译为dex格式的处理(S1350)。此外,可以额外地执行优化处理。作为优化处理,可以利用例如复制传播优化、加速优化或者字符串系统类优化等。特别地,现在将描述复制传播优化方法。在将Java类字节码翻译为增强的VM中使用的字节码的步骤中,仅对每个基本块应用优化处理。例如,在基本块的开始和结束位置,java操作数栈不具有特定值。因此,复制传播优化不需要被应用到超出基本块单元的情况。在这种情况下,能够更快速地应用优化。对受到步骤S1330、S1340和S1350处理的多个类文件进行合并(S1360)以生成一个dex文件(SI370)。对在步骤S1320中处理的其他文件和在步骤S1370中生成的dex文件进行压缩(S1380)以恢复Java应用程序文件。图15是根据本发明一种实施方式的具有增强的VM的显示装置的用户界面的示例的示意图。在下文中,将参照图15来描述在根据本发明实施方式的具有增强的VM的显示装置通过无线方式接收应用程序情况下的用户界面。图15中示出的显示装置1400与例如图7中示出的装置相对应,并且可以进一步包括图8中示出的控制器。进一步,假设显示装置1400包括图3中示出的增强的VM。特别地,在现有技术中,实时传输的所有数据(例如,字幕、头条、股票新闻等)中的Java类文件不会被预先翻译为dex格式。在下文中,将参照图15(参见图3、7和8)来描述解决实时传输的Java类文件的数据广播不能被处理的问题的方法。首先,如图15的(a)所示,根据本发明实施方式的显示装置1400输出通过广播网络接收的视频数据1405。此时,输出询问通过广播网络接收的数据广播(例如Java应用程序)是否被输出的指导消息1410。指导消息1410由图8中示出的控制器的OSD生成器生成。可以仅执行图15的(b)和15的(c)的处理而不执行图15的(a)的处理,这可落入本发明的范围内。如果没有通过广播网络接收到数据广播,如图15的(b)所示,则显示装置1400继续仅显示与通用广播节目相对应的视频数据1405。
同时,如果通过广播网络接收到数据广播(例如Java类文件)1420,如图15(c)所示,则显示装置1400不仅输出与通用广播节目相对应的视频数据1405,还输出与由Java类文件构成的数据广播相对应的数据1430。进一步,由图3中示出的类/dex翻译器261执行将Java类文件1420翻译为能够被VM所处理的格式的处理。总之,包含图3中示出的VM 260的显示装置接收实时传输的数据广播。图3中示出的类/dex翻译器261将包含在数据广播中的第一数据格式(例如Ja va类文件)翻译为能够被VM处理的第二数据格式(例如dex格式)。在VM处理了第二数据格式之后,图7中示出的控制器170将由VM处理的第二数据格式翻译为能够输出的数据。例如,数据可由包含在控制器170中的视频显示处理器(VDP)或者单独的VDP模块处理。因此,如图15(c)所示,在特定区域1430显示实时传输的数据广播的视频信息。图16是根据本发明一种实施方式的具有增强的VM的显示装置的用户界面的另一示例的示意图。在下文中,将参照图16来描述在根据本发明实施方式的具有增强的VM的显示装置通过外部设备(例如BD播放器)接收应用程序的情况下的用户界面。图16中示出的显示装置1500与例如图7中示出的装置相对应,并且可以进一步包括图8中示出的控制器。进一步,假设显示装置1500包括图3中示出的增强的VM。首先,如图16的(a)所示,根据本发明实施方式的显示装置1500输出通过广播网络接收的视频数据1405。进一步,如图16的(b)所示,如果外部设备1520通过外部设备接口连接,则显示装置1500输出询问是否操作外部设备的指导消息1510。指导消息1510由图8示出的控制器的OSD生成器生成。图16的(b)中的输出消息1510的步骤可以省略,这可落入本发明的范围内。同时,如图16的(C)所示,如果从外部设备1520接收到Java类文件1525,则显示装置1500输出与由Java类文件构成的数据相对应的图形1515。参照图3描述了将Java类文件1525翻译为能够被VM处理的格式的处理,因此省略相应描述。图17是根据本发明一种实施方式的具有增强的VM的显示装置的用户界面的另一示例的示意图。在下文中,参照图17来描述在根据本发明实施方式的具有增强的VM的显示装置通过互联网接收Java应用程序情况下的用户界面。图17中示出的显示装置1600与例如图7中的装置相对应,并且可以进一步包括图8中示出的控制器。进一步,假设显示装置1600包括图3中示出的增强的VM。首先,如图17的(a)所示,根据本发明实施方式的显示装置通过互联网接入特定服务器并输出询问是否从接入的服务器接收到特定应用程序的指导消息1620。在图17的(a)中示出的指导消息1620中,如果经用户界面选择了“是”,则如图17的(b)所示,显示OSD 1630,该OSD 1630指示通过互联网接收到的特定应用程序(例如,游戏相关Java应用程序)正在被接收的状态。如果完全下载并在存储器中存储了 Java应用程序,则如图17的(C)所示,根据增强的VM的操作来输出执行应用程序的画面。可以仅执行图17的(a)的步骤和图17的(C)的步骤而不执行图17的(b)的步骤,这可落入本发明的范围内。
图18是示出实现图17中所示的用户界面的处理的流程图。在下文中,将参照图18来描述实现图17中所示的用户界面的处理。根据本发明实施方式的显示装置从经广播网络接收的应用程序信息表(AIT)中提取统一资源定位符(URL)信息(S1501)。然后,该显示装置使用在步骤S1501中提取的URL信息自动地接入网站并下载特定应用程序(例如,以Java语言编写的数据)(S1502)。此外,该显示装置在存储器(例如闪存)中存储在步骤S1502中下载的应用程序(S1503)。然后,该显示装置根据先前存储在存储器中的增强的VM执行Java应用程序(S1504)。以上描述了使用增强的VM翻译数据格式的处理,因此下面将给出描述。进一步,虽然为方便描述使用各附图描述了本发明,但是可以合并附图中示出的实施方式以实现新的实施方式。根据需要,其上记录有用于实现上述实施方式的程序的计 算机可读记录介质可落入本发明的范围内。根据前述示例性实施方式的图像显示装置及其操作方法不限于此处阐述的示例性实施方式。因此,这里给出的示例性实施方式的变形和组合可落入本发明的范围内。根据本发明的显示装置的操作方法可以被实现为写入计算机可读记录介质并因此能够被处理器读取的代码。计算机可读记录介质可包括数据以计算机可读方式存储的任何类型的记录设备。计算机可读记录介质的示例包括R0M、RAM、⑶-ROM,磁带、软盘、光数据存储设备以及载波(例如,通过互联网的数据传输)。计算机可读记录介质能够分布在连接到网络的多个计算机系统以将计算机可读代码写入其中并以离散的方式执行。本领域技术人员能够解析出在此实现实施方式需要的功能性程序、代码和代码段。虽然上面已经描述了本发明的示例性实施方式,但是本发明不限于上述实施方式。对本领域技术人员显而易见的是,在不脱离本发明精神或范围的情况下能够在本发明中作出各种修改和变形。这些修改和变形不应当解释为脱离本发明的技术精神。在说明书中描述了产品发明和方法发明,根据需要这两个发明的说明书可以补充使用。
权利要求
1.ー种具有虚拟机的显示装置,该显示装置包括 接收模块,其被配置为接收以特定编程语言编写的应用程序; 检测器,其被配置为检测所述应用程序中包含的第一数据格式; 翻译器,其被配置为将检测到的第一数据格式翻译为能够被增强的虚拟机处理的第二数据格式; 所述增强的虚拟机,其被配置为处理翻译所得的第二数据格式; 视频处理器,其被配置为将经所述增强的虚拟机处理的第二数据格式翻译为能够输出的数据;以及 显示模块,其被配置为输出翻译所得的数据。
2.如权利要求I所述的显示装置,其中,所述增强的虚拟机对由至少两个类文件构成的第一数据格式进行解压缩,对所述类文件执行载入和翻译处理,并对经所述载入和翻译处理的类文件进行合并以生成第二数据格式。
3.如权利要求I所述的显示装置,其中,如果下载的文件不是类文件,则所述增强的虚拟机执行所述下载的文件,而且如果下载的文件是类文件,则所述增强的虚拟机将下载的数据翻译为dex文件并执行该dex文件。
4.如权利要求I所述的显示装置,其中,所述增强的虚拟机生成ー个对所述第一数据格式的各个类文件中包含的常量池进行共享的第二数据格式。
5.如权利要求I所述的显示装置,其中,所述以特定编程语言编写的应用程序与Java应用程序相对应。
6.如权利要求5所述的显示装置,其中,所述接收模块以无线方式或通过外部设备接收包括所述Java应用程序的数据。
7.如权利要求I所述的显示装置,其中,所述第一数据格式与Java类文件相对应并且所述第二数据格式与dex文件相对应。
8.如权利要求I所述的显示装置,其中,该显示装置对应于具有能够处理应用程序的操作系统OS的网络电视、智能电视、网际协议电视IPTV或者混合广播宽带电视HBBTV之一。
9.一种控制具有虚拟机的显示装置的方法,该方法包括以下步骤 接收步骤,接收与广播节目相对应的视频数据和以特定编程语言编写的应用程序; 解复用步骤,对所述视频数据和所述应用程序进行解复用; 解码步骤,对解复用所得的视频数据进行解码; 翻译步骤,将包含在解复用所得的应用程序中的第一数据格式翻译为第二数据格式; 在所述显示装置的屏幕的第一区域中显示翻译所得的数据格式的应用程序的步骤;以及 在所述显示装置的屏幕的第二区域中显示解码所得的视频数据。
10.如权利要求9所述的方法,其中,所述翻译步骤进一歩包括 对由至少两个类文件构成的第一数据格式进行解压缩; 对所述类文件执行载入和翻译处理;以及 对经所述载入和翻译处理的类文件进行合并以生成第二数据格式。
11.如权利要求9所述的方法,其中,所述翻译步骤包括生成ー个对所述第一数据格式的各个类文件中包含的常量池进行共享的第二数据格式。
12.如权利要求9所述的方法,其中,所述以特定编程语言编写的应用程序与Java应用程序相对应。
13.如权利要求9所述的方法,其中,所述第一数据格式与Java类文件相对应并且所述第二数据格式与dex文件相对应。
14.一种计算机可读记录介质,其上记录有用于执行根据权利要求9至13中的任ー权利要求的方法的程序。
全文摘要
本发明提供了具有虚拟机的显示装置及其控制方法。一种具有虚拟机的显示装置,该显示装置包括接收模块,其被配置为接收以特定编程语言编写的应用程序;检测器,其被配置为检测所述应用程序中包含的第一数据格式;翻译器,其被配置为将检测到的第一数据格式翻译为能够被增强的虚拟机处理的第二数据格式;所述增强的虚拟机,其被配置为处理翻译所得的第二数据格式;视频处理器,其被配置为将经所述增强的虚拟机处理的第二数据格式翻译为能够输出的数据;以及显示模块,其被配置为输出翻译所得的数据。
文档编号H04N21/431GK102821322SQ20121018986
公开日2012年12月12日 申请日期2012年4月20日 优先权日2011年4月20日
发明者莘丙善, 文秀默, 郑东宪, 朴锡元 申请人:Lg电子株式会社, 首尔大学校产学协力团
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1