专利名称:信息处理装置、信息处理方法、记录介质和程序的制作方法
技术领域:
本发明涉及一种信息处理装置、信息处理方法、记录介质和程序,尤其涉及能够改善应用(application)的可移植性(portability)的信息处理装置、信息处理方法、记录介质和程序。
背景技术:
相关申请的交叉参考本发明包含与2005年8月19日在日本专利局提交的日本专利申请JP2005-238282相关的主题,其全部内部被结合于此以作参考。
背景技术:
在相关技术中有这样一种技术,当在不同的平台中移植一个应用时,可以在通过在目标端口中使用原始端口的应用的GUI(图形用户接口)定义文件来移植应用时创建相同的菜单。JP-A-2002-14941是背景技术的实例。
发明内容
然而,当在不同的平台中移植一个应用时,在实际的应用中,特别是在多媒体应用中,很难说仅仅通过移植GUI就已经移植了该应用。
必须通过下述来提高应用对于不同平台的可移植性提高应用的可移植性,其不仅包括GUI,而且包括应用的特性,在上层管理应用的特性,例如管理状态转移。
考虑到以上情况而进行了本发明,并且期望改善应用的可移植性。
根据本发明实施例的一种能够执行应用的信息处理装置包括第一控制装置,用于控制信息处理装置的系统;第二控制装置,用于控制应用的执行,其中第二控制装置具有状态转移控制装置,用于独立于系统来定义应用的状态并控制所定义状态的转移;以及转换装置,用于在发出一个向状态转移控制装置指示状态转移的命令时,将该命令转换成系统能够识别的格式。
有可能允许状态转移控制装置基于在发出指示状态转移的命令时所定义的状态来判断命令的该状态转移是否是可能的,以及有可能允许转换装置只有在状态转移控制装置的该状态转移被判断为可能时,才将该命令转换成系统能够识别的格式。
有可能允许转换装置拥有显示了在系统和状态转移控制装置分别能够识别的命令之间的关系的信息。
根据本发明实施例的一种信息处理方法是能够执行应用的信息处理装置的信息处理方法,并且该方法包括以下步骤控制信息处理装置的系统,控制应用的执行,接收一个指示应用的状态转移的命令,,以及在状态转移被判断为可能时,将该命令转换成系统能够识别的格式。
根据本发明实施例的一种程序是被结合在指定系统中并可由控制应用的执行的计算机独立于系统来执行的程序,该程序允许计算机执行包括以下步骤的处理接收一个指示该应用的状态转移的命令,基于独立于系统的应用的状态定义来根据该命令判断所定义状态的转移是否是可能的,以及在状态转移被判断为可能时,将该命令转换成系统能够识别的格式。
在本发明的实施例中,独立于系统定义了应用的状态,控制所定义状态的转移,以及当发出一个指示状态转移的命令时,将该命令转换成系统能够识别的格式。
图1是示出本发明实施例所应用的信息处理装置的结构的框图;图2是解释本发明实施例所应用的信息处理装置的软件栈的图;图3是解释状态转移的图;图4是解释状态转移的图;图5是解释对应表的视图,该对应表显示出在应用的状态定义与能够由应用和系统识别的命令(功能)之间的对应关系;图6是解释应用的可移植性的图;以及图7是用于解释本发明实施例所应用的处理的流程图。
具体实施例方式
下面将描述本发明的实施例,并且在本发明的组成特征与在本发明的详细描述中所描述的实施例之间的对应关系被举例说明如下。为了确认支持本发明的实施例被写入本发明的详细描述而进行了说明。因此,如果存在这样一个实施例,该实施例在本发明的详细描述中被写入,但在这里未被写为与本发明的一个组成特征对应的实施例,那么这并不意味着该实施例不与该组成特征对应。相反,如果在这里写入一个实施例作为与一个组成特征对应的实施例,那么这并不意味着该实施例不与除了该组成特征以外的组成特征对应。
根据本发明实施例的一种信息处理装置是能够执行应用的信息处理装置(例如图1中的信息处理装置1),并且该装置包括用于控制信息处理装置的系统的第一控制装置(例如图1中的系统控制单元11)和用于控制应用(例如图2中的应用91)的执行的第二控制装置(例如图1中的应用控制单元61),其中第二控制装置具有状态转移控制装置(例如图2中的状态定义模块92),用于独立于系统来定义应用的状态(例如图3或图4中所示的状态),并控制所定义状态的转移;以及转换装置(例如图2中的接口模块),用于在发出一个向状态转移控制装置指示状态转移的命令时,将该命令转换成系统能够识别的格式。
转换装置可以拥有显示了在系统和状态转移控制装置分别能够识别的命令之间的关系的信息(例如图5中所示的对应关系表)。
根据本发明实施例的一种信息处理方法是能够执行应用的信息处理装置(例如图1中的信息处理装置1)的信息处理方法,并且该方法包括以下步骤控制信息处理装置的系统(例如图1中的系统控制装置11),控制应用(例如图2中的应用91)的执行(例如图1中的应用控制单元61),接收一个指示应用的状态转移的命令(例如图7中的步骤S1的过程),基于独立于系统的应用的状态定义(例如图3或图4中所示的状态)来根据该命令判断所定义状态的转移是否是可能的(例如图7中的步骤S2的过程),以及在状态转移被判断为可能时将该命令转换成系统能够识别的格式(例如图7中的步骤S4的过程)。
根据本发明实施例的一种程序是被结合在指定系统(例如图1中的信息处理装置1)中并可由控制应用的执行的计算机(例如图1中的应用控制单元61)独立于系统来执行的程序,该程序允许计算机执行包括以下步骤的处理接收一个指示应用的状态转移的命令(例如图7中的步骤S1的过程),基于独立于系统的应用的状态定义(例如图3或图4中所示的状态)来根据该命令判断所定义状态的转移是否是可能的(例如图7中的步骤S2的过程),并在状态转移被判断为可能时将该命令转换成系统能够识别的格式(例如图7中的步骤S4的过程)。
以下将参考附图来解释本发明的实施例。
配置图1所示的本发明所应用的信息处理装置1,使得诸如各种广播接收单元、视频输出显示单元、音频输出单元、操作输入单元之类的各个处理单元被连接到系统总线12,该系统总线被连接到由微计算机构成的系统控制单元11。应用控制单元61被连接到系统控制单元11,以及独立于装置或系统的应用程序的处理以及涉及这些应用的GUI显示由应用控制单元61来控制。
系统控制单元11包括CPU(中央处理单元)、程序ROM(只读存储器)、工作区RAM(随机存取存储器)等,从而根据在程序ROM中所写入的程序来执行各种控制处理,同时使用工作区RAM。
作为广播接收单元来提供分别通过接口(I/F)25至28连接到系统总线12的地面模拟广播接收单元21、地面数字广播接收单元22、BS广播接收单元23、CS广播接收单元24。广播接收单元21至24中的每个根据用户通过遥控器33输入的频道选择的操作,从自没有示出的天线接收的广播信号中选择一个广播节目作为目标,并且通过接口(I/F)25至28向系统总线12发送所选广播节目的视频数据和音频数据或者从数据广播所接收的数据。
地面模拟广播接收单元21选择和接收现有的地面模拟电视广播信号,并通过接口25向系统总线12输出视频信号(图像信号)和音频信号。地面数字广播接收单元22对应于数字电视广播、数字音频广播和数据广播,其根据用户的频道选择操作来选择和接收一个广播节目,并解码该广播节目以通过接口26向系统总线12输出诸如视频信号(图像信号)、音频信号和EPG(电子节目指南)数据之类的数据。BS广播接收单元23对应于BS电视广播、BS音频广播和数据广播,其根据用户的频道选择操作来选择和接收一个广播节目,并解码该广播节目以通过接口27向系统总线12输出诸如视频信号(图像信号)、音频信号和EPG数据之类的数据。CS广播接收单元24对应于CS电视广播、CS音频广播和数据广播,其根据用户的频道选择操作来选择和接收一个广播节目,并解码该广播节目以通过接口28向系统总线12输出诸如视频信号(图像信号)、音频信号和EPG数据之类的数据。
作为视频输出显示单元,包括CRT(阴极射线管)、LCD(液晶显示器)等的监视显示器29通过显示器接口30被连接到系统总线12。作为音频输出单元,扬声器32通过音频输出接口31进行连接。此外,提供遥控器33作为操作输入单元,以及从遥控器33接收操作信号的操作信号接收单元34被连接到系统总线12。优选的是,遥控器33具有向右和向左方向的指令操作按钮、向上和向下方向的指令操作按钮、“起始”按钮和“决定”按钮,或者它被配置成能够执行这样的操作输入。具体而言,遥控器33被配置成包括输入设备,该输入设备能够通过用户在显示在监视显示器29中稍后所述的GUI(图形用户接口)窗口上使用例如各种按钮、十字形的向上和向下以及向右和向左方向的指令按钮、操纵杆等的按钮操作来执行选择指令等。
系统总线12还与驱动器35、时钟单元36、外部输入和输出接口37、通信接口38、媒体播放单元39、显示器视频产生输出单元40和EPG数据存储单元41相连接。
驱动器35用于从将被插入其中的诸如光盘、磁盘、磁光盘或半导体存储器之类的可移动介质50中读取数据,或者用于在可移动介质50中写入数据。
时钟单元36提供当前时间的信息或日历信息。时钟单元36还用于设置的广播节目的预定和计算对应于该预定设置的各种定时器的时间。外部输入和输出接口37包括外部输入和输出端子37-1至37-n,例如视频输入和输出端子、音频输入和输出端子、USB(通用串行总线)端子,从而在相应的输入和输出端子与系统总线12之间交换信号。通信接口38与通信线路相连接,当双向广播一个数据广播节目时,通信接口38被用于将响应信号发送到预定地址或者通过网络获得存在于服务器装置的数据广播内容。通信接口38用于通过因特网下载诸如web内容之类的数据或者通过因特网发送预定信息。
EPG数据存储单元41在内置存储器中存储广播接收单元21至24通过接口25至28和系统总线12提供的电子节目指南(EPG数据)。在地面模拟广播的情况下,使用在电视广播信号的垂直消隐期中叠加的数据作为EPG数据,以及在数字广播的情况下,使用在数据广播时发送的数据作为EPG数据。EPG数据包括诸如广播台名称、广播节目名称、节目开始时间、节目结束时间、表演者、以及节目类别之类的数据。更新在EPG数据存储单元41中存储的EPG数据以便为最新数据。
也许有可能不使用在广播信号上叠加的数据作为EPG数据,而是例如通过访问利用通信接口38连接到因特网的EPG数据提供服务器,从EPG数据提供服务器获得数据作为EPG数据。
配置媒体播放单元39,使得在其上安装包括磁带、光盘、磁光盘和半导体存储器等的介质51,该媒体播放单元39播放在所安装的介质51中记录的内容,包括视频数据(移动图像数据或静止图像数据)、音乐数据等。媒体播放单元39向显示器视频产生输出单元40提供所播放的内容,或者在所记录的内容被编码的情况下向解码处理单元42提供内容。
解码处理单元42解码所提供的视频数据或音频数据,并将其提供给显示器视频产生输出单元40或音频输出接口31。
显示器视频产生输出单元40接收由系统控制单元11进行的控制,并产生将要在监视显示器29中显示的视频。显示器视频产生输出单元40将从广播接收单元21至24接收的视频数据或者由解码处理单元42解码的视频数据存储在内置缓冲器中,并且在无需进行合成时通过系统总线12向显示器接口30提供数据,以及在需要进行合成时向合成处理单元64提供数据。
应用控制单元61独立于该系统执行应用程序,从而控制与这些应用程序有关的显示器处理。显示器数据存储单元62存储用于显示的数据,例如形成稍后所述的GUI的图标的数据、用于显示频道的数据以及其他字符数据。应用控制单元61调用在显示器数据存储单元62中存储的图标数据等,并产生与用于显示GUI的字符或符号对应的数据(稍后所述的GUI部分)以通过图形接口63向合成处理单元64提供数据。
合成处理单元64从图形接口63接收与用于GUI显示(例如用于GUI显示的各种项、所谓的GUI部分等)的字符或符号对应的数据的提供,并在内置屏幕缓冲器中存储数据来作为屏幕显示(OSD)数据。屏幕显示数据是通过叠加在将要显示在监视显示器29的窗口上的所播放视频的图像上而被显示的数据。也就是,当显示GUI时,在播放的视频上叠加该GUI作为OSD,因此,显示器将是其中所播放视频的图像在GUI显示下被透明地看到的显示器。
合成处理单元64合成在输出缓冲器中所存储的数据与在屏幕显示缓冲器中所存储的屏幕显示数据,并通过接口30向监视显示器29提供将要显示的合成数据。
图2是模块结构图(软件栈),其示出在图1的系统控制单元11和应用控制单元61中所包括的功能。
在系统控制单元11中,应用用于控制连接到系统总线12的各个单元的操作。具体而言,在系统控制单元11中执行播放处理应用81,该播放处理应用81通过控制连接到系统总线12的各个单元的操作来执行再现诸如移动图像、音乐、静止图像等之类的内容的处理。该应用是一种根据信息处理装置1的系统进行操作的应用程序。当系统控制单元11执行播放处理应用81时,执行根据信息处理装置1的系统的各种处理,例如视频、音频、静止图像等的数据从该系统的其中一个记录单元中进行读取,在该系统的其中一个处理单元中进行解码,或者从该系统的一个记录区向另一记录区进行复制和移动。
另一方面,应用控制单元61控制独立于平台或系统的应用91-1至91-n的处理。应用控制单元61包括状态定义模块92、接口模块93和接口(I/F)系统94来实现独立于平台或系统使用应用91-1至91-n。
具体而言,在应用控制单元61的软件栈中,在作为最低层的系统层的接口(I/F)系统94与作为顶层的应用层的应用91-1至91-n之间的中间件层,分别在应用层侧提供状态定义模块92和在系统层侧提供接口模块93。
状态定义模块92对在应用91-1至91-n中独立于平台或系统的通用部分进行打包,例如与应用91-1至91-n的GUI显示有关的部件或状态定义,该状态定义模块被认为是在所谓的框架上的模块。状态定义模块92定义接口,该接口包括在应用91-1至91-n与系统之间发生的事件、错误,该状态定义模块92通过接口模块93从应用91-1至91-n向位于系统层的接口系统94提供请求,以将它们提供给系统控制单元11(播放处理应用81),并通过接口系统94和接口模块93接收从播放处理应用81提供的请求或通知,以将它们发送给应用91-1至91-n。
状态定义模块92管理通常相对于应用91-1至91-n所定义的如图3和图4中所示的状态转移。
图3是状态的转移图,所述状态是在从安装在媒体播放单元39上的介质51中读取并播放移动图像、视频、音乐等时,通常由状态定义模块92相对于应用91-1至91-n来定义的。在该图中,用粗线围绕的状态显示了通常由状态定义模块92相对于应用91-1至91-n所定义的系统的正常状态,以及用细线围绕的状态显示了在正常状态与正常状态之间的转移期间的状态。
首先,由应用控制单元61内的存储器提取并激活应用91-1至91-n之一(Creat()命令),并且当该激活经由激活状态121而结束时,状态将为状态111,其中激活了该应用但未选择将要播放的内容(未打开任何一个内容)。
在其中未选择将要播放的内容的状态111中,如果提供一个用于选择任何一个内容并打开一个文件的打开命令(Open()),就执行文件打开处理,并经由打开处理期间的一个状态122来通知打开处理结束,以及该状态将为停止状态112。停止状态112是一种在播放开始位置位于内容的标题位置的状态下等待一个播放命令的状态以及一种等待一个其他播放开始位置的查找命令的状态。
在停止状态112中,当提供一个播放命令(Play())时,就执行播放开始处理以成为一种播放开始处理状态123,然后通知播放处理结束,并且该状态转移到一种播放状态113。
在播放状态113中,提供一个诸如查找(Seek())之类的命令,该状态经由查找状态124返回到播放状态113。或者,在播放状态113期间,如果提供诸如双速播放(具有不同自变量的Play())之类的播放命令,就在速度改变状态125中改变速度设置,并且该状态返回到播放状态113。
在播放状态113中,当提供一个暂停命令(Pause())时,该状态将经由暂停处理状态126而成为一种暂停状态114。或者,在停止状态112期间,当提供诸如查找(Seek())之类的命令时,该状态将经由一种查找状态127而成为暂停状态114。在暂停状态114期间,当接收该播放开始命令时,该播放开始位置是一个不同于标题位置的位置。
在暂停状态114中,提供诸如查找之类的命令,该状态就经由查找状态128返回到暂停状态114。在暂停状态114期间,当接收一个停止命令(Stop())时,该状态就经由到一个开始位置129的查找状态转移到停止状态112。或者,在暂停状态114期间,当提供播放命令时(Play()),就执行播放开始处理,并且该状态将为播放开始处理状态130,然后通知播放处理结束,并且该状态转移到播放状态113。
在播放状态113期间,当接收停止命令(Stop())时,该状态就经由停止处理状态131转移到停止状态112。
在停止状态112中,当接收所提供的一个用于关闭打开的内容的文件的命令时,该状态就经由关闭状态132转移到其中未选择内容的状态111。在其中未选择内容的状态111期间,当命令了对应于应用程序91-n之一的结束(Destroy())时,该应用程序就经由结束处理状态133而结束。
因此,由状态定义模块92独立于该系统来定义应用91-1至91-n的状态。尽管该状态定义独立于该系统,但是该系统的实际操作根据情况而不同,例如,从安装在媒体播放单元39上的介质51中播放将要选择的一个内容的情况,从安装在驱动器35上的可移动介质50中播放该内容的情况,或者从未示出的内部记录介质中播放该内容的情况。然而,因为由状态定义模块92独立于系统来定义状态转移,所以应用91-1至91-n能够拥有独立于系统的可移植性。
接着,图4是在下述情况下的转移图通常由状态定义模块92相对于应用91-1至91-n定义的诸如静止图像之类的压缩和解码的内容在解码处理单元42中进行解码之后,执行播放处理等。此外在图4中,用粗线围绕的状态显示了通常由状态定义模块92相对于应用91-1至91-n定义的正常状态,以及用细线围绕的状态显示了在正常状态之间的转移状态。
首先,由应用控制单元61内的存储器提取并激活应用91-1至91-n之一(Creat()命令),并且当该激活经由激活状态161而结束时,状态将为其中未解码内容的状态151。
在其中未解码内容的状态151期间,当选择任何一个内容并命令解码(Decode())时,该状态就转移到解码状态152。在解码状态152期间,当提供一个解码结束通知时,该状态就改变为正常状态153。或者在解码状态152期间,当命令终止解码处理(terminate())时,该状态就改变为其中未解码该内容的状态151,从而经由处理终止状态162接收终止结束通知。
在正常状态153期间,当选择任何一个内容并命令进行解码(Decode())时,该状态就改变为解码状态152。在解码状态152期间,当提供解码结束通知时,该状态就转移到正常状态153。
在正常状态153期间,当选择任何一个内容并命令进行移动(Move())时,该状态就经由其中移动该内容的状态163转移到正常状态153,从而接收一个移动结束通知。
在正常状态153期间,当选择任何一个内容并命令进行复制(Copy())时,该状态就经由对该内容进行复制处理的状态164转移到正常状态153,从而接收一个复制结束通知。
在正常状态153期间,当选择任何一个内容并命令进行旋转处理(RotX,RotY,RotZ())时,该状态就经由对该内容进行旋转处理的状态165转移到正常状态153,从而接收一个对应于RotX、RotY或RotZ的结束通知。
在正常状态153期间,当选择任何一个内容并命令进行缩放(放大或缩小)(Zoom())时,该状态就经由对该内容进行缩放处理(放大处理或缩小处理)的状态166转移到正常状态153,从而接收一个缩放结束通知。
在正常状态153期间,当例如在内容列表显示状态中命令进行滚动来命令搜索内容(Seek())时,该状态就经由显示内容的状态167转移到正常状态153,从而接收一个查找结束通知。
在正常状态153期间,当命令对应于应用91-n之一的结束(Destroy())时,该应用程序经由结束处理状态168而结束。
因此,由状态定义模块92独立于系统来定义应用91-1至91-n的状态。尽管该状态定义是独立于该系统的,但是实际的操作例如根据在解码处理单元42中所包括的解码功能而不同。然而,因为由状态定义模块92独立于系统来定义状态转移,所以应用91-1至91-n能够拥有独立于系统的可移植性。
在图3和图4中所示的用粗线围绕的相应的正常状态是系统(硬件)中的状态,也就是,在此情况下,在其中激活了应用程序的信息处理装置1中的状态,具体而言,由系统控制单元11所控制的播放处理应用81的处理来操纵的系统的状态。
必要的是,如果由应用91-1至91-n中的任何一个请求一个状态转移,状态定义模块92就通知该系统有一个对状态转移的请求,并且当系统的状态定义结束时,就向应用91-1至91-n中对应的一个通知一个结束通知。
然而,在应用91-1至91-n和系统(在此情况下是播放处理应用81)中,能够识别的功能(命令)和状态定义是不同的,即使在发送它们分别识别的功能(命令)时,接收该功能(命令)的一方实际上不能识别一个请求或通知。
接口模块93通过在由状态定义模块92所定义的应用的状态定义与实际系统(装置)中的状态定义之间定义一个接口来吸收应用与平台之间的差异。也就是,接口模块93依赖于平台或系统,因此,通过根据平台或系统来设计接口模块93,就可以独立于平台或系统共同地使用在接口模块93上层的状态定义模块92和应用91-1至91-n。
具体而言,接口模块93控制在应用能够识别的命令与系统能够识别的命令之间的对应关系。当从应用提供一个状态转移的命令时,接口模块93将该命令转换成系统能够识别的命令,然后向接口系统94提供该命令以通知给播放处理应用81。当向系统请求状态转移时,例如该系统接收一个由用户输入的操作的情况,接口模块93还将该命令转换成应用能够识别的命令,然后向状态转移模块92提供该命令。
接口模块93可以以任何方法控制在应用能够识别的状态定义和命令与系统能够识别的状态定义和命令之间的关系,然而例如,优选的是记录一个对应关系表,其显示了分别能够根据状态定义模块92所定义的应用的状态定义来识别的命令(功能)的对应关系,如图5所示。
在图3所示的用粗线围绕的正常状态中,应用能够在其中未设置媒体的状态中识别的命令是Open()命令和Destroy()命令。接口模块93分别记录系统能够识别的命令和这些命令的状态转移,这些状态转移与这些命令相对应。不用说,由于系统能够识别的命令依赖于该系统,所以接口模块93根据对应的系统记录不同的命令。应用能够识别的命令和系统能够识别的命令并不总是以一对一的关系相互对应。例如有可能的是,系统能够识别的多个命令与应用能够识别的一个命令相对应,或者应用能够识别的多个命令与系统能够识别的一个命令相对应。
类似地,在图3所示的用粗线围绕的正常状态中,应用能够在停止状态中识别的命令是Close()命令、Play()命令和Seek()命令。接口模块93分别记录与这些命令相对应的系统能够识别的命令。此外,在图3中所示的用粗线围绕的正常状态中,应用能够在播放状态中识别的命令是Stop()命令、Play()命令、Seek()命令和Pause()命令。另外,应用能够在暂停状态中识别的命令是Stop()命令、Play()命令和Seek()命令。接口模块93分别记录与这些命令相对应的系统能够识别的命令。
也就是说,接口模块93可以基于图5所示的对应关系表,通过将在状态定义模块92与接口系统94之间给出与接收的命令转换成分别能够由应用91独立于平台或系统以及由播放处理应用81识别的命令,从而介于应用层与系统层(以及要连接的系统)之间。
接口(I/F)系统94与系统层相对应,从而与在系统控制单元11上执行的播放处理应用81(也就是,系统的应用控制处理)交接信息。
在系统控制单元11与应用控制单元61之间的通信可能是瓶颈,因此,应该尽可能地减少它。状态定义模块92操纵位于抽象层的应用的状态定义等,因此,可以根据状态定义来滤去不必要命令的通信。
具体而言,例如在使用图3所解释的状态定义中,由于在其中未设置媒体的状态中没有指定要成为操作目标的移动图像或音乐内容,所以由系统控制单元11操作的播放处理应用81只能执行Open()和Destroy()处理,并且即使在接收播放内容等的Play()请求时,它也不能执行这种请求。因此,状态定义模块92滤去在系统控制单元11上操作的播放处理应用81在当前状态中不能执行的命令,从而不向系统控制单元11发送这些命令,并向应用91通知错误。
通过安装使用图2所解释的中间件层,还可以在其他平台中使用基于状态定义模块92的框架而设计的应用91-1至91-n。如图6所示,基于系统来设计接口模块93,其然后允许介于在相应的系统和状态定义模块92之间给出和接收命令等之间,因此,变得可能的是,不考虑平台或系统而通常安装基于状态定义模块92的框架和状态定义模块92而设计的应用91-1至91-n。
接着参考图7,将解释本发明所应用的状态定义模块92和接口模块93所执行的处理。
在步骤S1中,状态定义模块92判断是否从应用91-1至91-n中的任何一个接收一个命令的输入。在步骤S1中,当判断没有接收到命令的输入时,重复步骤S1的处理,直至判断接收到命令的输入为止。
当在步骤S1中判断接收到命令的输入时,在步骤S2中,状态定义模块92判断来自当前状态的状态转移是否是可能的。具体而言,例如在使用图3所解释的状态转移中,在其中目前未选择内容的状态中,当接收暂停命令或播放命令时不能执行状态转移,然而,当接收应用91的打开命令(Cpen())或结束命令(Destroy())时,状态转移是可能的,在该打开命令(Open())中,选择任何一个内容并打开文件。
在步骤S2中,当判断状态转移是不可能的时,状态定义模块92在步骤S3中向一个对应的应用91通知错误。
在步骤S2中,当判断状态转移是可能的时,状态定义模块92在步骤S4中向接口模块93提供该命令。接口模块93通过使用例如参考图5所解释的命令的对应关系表来将所提供的命令转换成播放处理应用81能够识别的命令格式。
在步骤S5中,接口模块93向接口系统94提供转换的命令来控制对播放处理应用81的提供。由于接口系统94向播放处理应用81提供转换成播放处理应用81能够识别的命令格式的命令,所以播放处理应用81基于提供的命令来执行处理。
在步骤S6中,接口模块93判断是否通过接口系统94从播放处理应用81提供一个状态转移处理结束通知。在步骤S6中,当判断没有提供该状态转移处理结束通知时,就重复步骤S6的处理,直至判断提供了该状态转移处理结束通知。
在步骤S6中,当判断提供了状态转移处理结束通知时,在步骤S7中,接口模块93就将该状态转移处理结束通知转换成一个状态定义模块92能够识别的功能,并向状态定义模块92提供该功能。状态定义模块92识别转移后的状态,并将其通知给应用91-1至91-n中对应的应用以结束该过程。
因此,独立于系统和控制该系统的播放处理应用81,在应用91-1至91-n之间执行命令与通知的给出与接收,因此,有可能独立于该系统来设计应用程序。也就是,可以保证应用程序的可移植性。
由于基于由状态定义模块92所定义的状态转移而这样设计的应用程序是独立于系统的,所以不必在通过提供介于状态定义模块92与系统之间的接口模块93来更新应用时考虑该系统,因此,应用的更新可以更容易,换句话说,增加了能够使用基于由状态定义模块92所定义的状态转移而设计的应用程序的硬件以及隐藏硬件的API(应用程序接口)的自由度。
此外,通过由状态定义模块92来定义状态并且防止其状态转移是不可能的命令的给出与接收,可以减少在应用控制单元61与系统控制单元11之间不必要的通信。
因此,通过应用本发明,在操纵移动图像、静止图像、音乐等的多媒体应用程序中,其利用控制该系统的应用程序来进行操作,可以在中间件(在此情况下是状态定义模块92和接口模块93)中吸收装置的硬件特性与应用的规范之间的差异,因此,可以改善应用的可移植性。
在中间件(在此情况下是状态定义模块92和接口模块93)中,定义了接口、误码和通用多媒体应用的事件,并且管理通常由应用定义的应用的状态转移。通过根据中间件的抽象层来设计应用,改善了应用的可移植性,并且也改善了硬件的自由度。
此外,在中间件(在此情况下是状态定义模块92和接口模块93)中,在上层中管理应用的特性,因此,滤去在应用和硬件之间的命令、通知等的给出和接收以减少不必要的通信。
可以由软件来执行以上一系列的处理。将软件从记录介质安装到计算机中,其中在软件中所包括的程序被结合在专用硬件中,或者例如安装到能够通过安装各种程序来执行各种功能的通用个人计算机中。
如图1所示,记录介质包括可移动介质50等,例如磁盘(包括软磁盘)、光盘(包括CD-ROM(只读光盘))、DVD(数字通用盘)、磁光盘(包括MD(小型盘)(索尼公司的注册商标))或半导体存储器,其记录了程序,所述记录介质被分发以用于除了计算机之外还向用户提供程序。
在说明书中,描述要在记录介质中记录的程序的步骤不仅包括按照沿着所述顺序的时间序列来执行的处理,而且包括并非总是按照时间序列执行而是并行或独立地执行的处理。
在说明书中,该系统表示包括多个设备的整个装置。
本发明的实施例不限于以上实施例,而是可以在不脱离本发明的要点的范围内进行各种修改。
如上所述,根据本发明的实施例,可以执行应用,特别是,独立于系统来定义和控制应用的状态,并且当发出一个指示状态转移的命令时,将该命令转换成系统能够识别的格式,结果,可以改善应用的可移植性。
本领域技术人员应该理解,可以根据设计需求和其他因素来进行各种修改、组合、子组合和更改,只要它们在所附权利要求书或其等同物的范围内。
权利要求
1.一种能够执行应用的信息处理装置,包括第一控制装置,用于控制信息处理装置的系统;以及第二控制装置,用于控制应用的执行,以及其中第二控制装置包括状态转移控制装置,用于独立于系统来定义应用的状态并控制所定义状态的转移,以及转换装置,用于在发出一个向状态转移控制装置指示状态转移的命令时,将该命令转换成系统能够识别的格式。
2.根据权利要求1所述的信息处理装置,其中状态转移控制装置基于在发出指示状态转移的命令时所定义的状态来判断命令的该状态转移是否是可能的,以及其中转换装置只有在状态转移控制装置的该状态转移被判断为可能时,才将该命令转换成系统能够识别的格式。
3.根据权利要求1所述的信息处理装置,其中转换装置拥有显示了在系统和状态转移控制装置分别能够识别的命令之间的关系的信息。
4.一种能够执行应用的信息处理装置的信息处理方法,包括以下步骤控制信息处理装置的系统,控制应用的执行,接收一个指示应用的状态转移的命令,基于独立于系统的应用的状态定义来根据该命令判断所定义状态的转移是否是可能的,以及在状态转移被判断为可能时,将该命令转换成系统能够识别的格式。
5.一种被结合在指定系统中并可由控制应用的执行的计算机独立于系统来执行的程序,该程序允许计算机执行包括以下步骤的处理接收一个指示应用的状态转移的命令,基于独立于系统的应用的状态定义来根据该命令判断所定义状态的转移是否是可能的,以及在状态转移被判断为可能时,将该命令转换成系统能够识别的格式。
6.一种记录介质,其中记录了根据权利要求5所述的程序。
7.一种能够执行应用的信息处理装置,包括第一控制单元,其被配置成控制信息处理装置的系统;以及第二控制单元,其被配置成控制应用的执行,以及其中第二控制单元包括状态转移控制单元,其被配置成独立于系统来定义应用的状态并控制所定义状态的转移,以及转换单元,其被配置成在发出一个向状态转移控制单元指示状态转移的命令时,将该命令转换成系统能够识别的格式。
全文摘要
一种能够执行应用的信息处理装置包括用于控制信息处理装置的系统的第一控制装置和用于控制应用的执行的第二控制装置,以及第二控制装置具有状态转移控制装置,用于独立于系统来定义应用的状态并控制所定义状态的转移;以及转换装置,用于在发出一个向状态转移控制装置指示状态转移的命令时,将该命令转换成系统能够识别的格式。
文档编号G06F9/54GK1975664SQ20061006392
公开日2007年6月6日 申请日期2006年8月18日 优先权日2005年8月19日
发明者酒井士文, 大出直树, 平朋太, 石村悠二 申请人:索尼株式会社