图像处理设备和图像处理方法

文档序号:6382168阅读:341来源:国知局
专利名称:图像处理设备和图像处理方法
技术领域
本发明涉及一种用于实现视频图像处理的图像处理设备,尤其涉及一种图像处理功能的实现,该功能与用户需要及他们所采用的应用程序相符。
背景技术
近来,随着先进数字技术和网络基础设施的发展,以按请求或实时浏览视频内容的视频分布系统的有效性和使用已经广为传播,上述视频分布系统允许诸如便携式终端和个人计算机等各种浏览器。该系统是这样设计的,即一个服务器可以同时提供多个视频图像,并能够依据网络上遇到的情况,改变视频内容的分辨率和比特率或者改变一个终端的规约,并且能够由此确保提供出连续、平稳地视频显示。
然而,由于用户需求的缘故,视频分布系统的使用范围已被拓宽,它们覆盖了所有的从某一“仅仅是分布视频”的系统延伸至某一“调整比特率或转换格式以便于使用中继节点来将视频分布到另一网络”,或延伸至某一“实现与图像识别设备协同工作的高水平视频监视”的所有系统。因此,期望有这样一种结构的系统,即它可使功能被容易地扩展或定制,以便于使一个能迅速应对及满足需求的系统能够在短时期内发展起来。
作为一种对策,建议使用一种分布式对象技术,该技术可提供被作为独立对象的格式转换器、分辨率转换器、图像识别单元、由所有对象共享的输入/输出接口和为了提高对象再循环所定义和管理的状态切换。该技术的典型实例是由OMG(对象管理组)和COM(部件对象模型)所设计的且由微软公司所开发的CORBA(公共对象请求中介结构)。
CORBA是一种机制,借此当依据CORBA标准所创建的对象能够相互协作以通过网络而提供一个单一功能时,在一个分布式环境中由对象实现了数据的交换,即使在远程控制环境中。COM基本上还实现了与CORBA相同的功能;另外,为了提高开发效率,COM自动的抽取那些能被耦合到其它对象上的对象、提取所选对象并且顺序链接这些对象以自动生成一个软件功能。例如,当用于从文件中读取压缩视频的对象被选择时,可自动的提取用于对该压缩视频进行解码的对象以及用于将已解码的视频显示在监控器上的对象,由此,有利于自动生成具有视频重放功能的软件。
在JP-A-2000-56958中公开了一种用于自动生成具有视频处理功能的软件的方法。如图27所示,采用该软件的自动生成方法的设备包括一个存储设备93,用于存储多个软件组件,这些组件具有被用于对图像数据进行处理的输入/输出扩增(augment);以及一个自动生成器90,用于根据借此可编写出处理程序的程序框图而从存储设备93当中提取软件组件,并自动生成图像处理软件。该自动生成器90包括一个耦合选择判断单元91和一个耦合单元92。上述耦合选择判断单元91用于确定首先将被执行的软件组件的自变量与其次将被执行的软件组件的自变量之间的输入/输出关系,并且当首先将执行的软件组件自变量表示输出时,而其次将执行的软件组件自变量表示输入时,耦合选择判断单元91还确定这些软件组件是耦合选择。上述耦合单元92对耦合选择判断单元91所确定的作为耦合选择的软件组件的自变量进行检查,并确定将要处理的图像数据类型是否匹配,并且数据类型匹配时,耦合软件组件的自变量。
图28给出了用于检查半导体故障的图像处理软件组件的耦合关系图。图像处理组件,即调整、二元化、屏蔽处理组件和扩大/收缩组件、特征值抽取组件和判定组件被自动耦合在一起。
当为视频分布系统的图像处理设备提供了这种图像处理软件的自动生成功能时,并且当将一个将要实现的功能被写入该程序框图中以任意组合视频格式转换、分辨率转换和图像识别软件时,功能会与用户的需要及他们所采用的应用程序软件相符。
然而,当使用传统方法来自动生成图像处理软件,该图像处理软件构成了用于处理诸如分布式视频图像的图像处理设备时,将会出现下列问题。
(问题1)即使对于相同部分而言,上述部分的工作情况也会有所不同,这取决于将要实现的图像处理设备的功能。例如,如图23A所示,当为重放实况视频而在视频重放节点实时改变一分辨率时,那么就要求当认为实时很重要时,以最佳努力方式通过削减帧来改变分辨率。另一方面,如图23B所示,当通过累计文件中的照相机视频并改变长宽率和分辨率来按需求提供一种分辨率时,那么就要求当认为保持内容品质很重要时,在不削减帧的情况下改变分辨率。
另外,对于该视频分布系统中的图像处理系统而言,为了将被执行的每一个功能而需要一种详细设计,该详细设计正是当考虑到每一个部分处理的延迟及波动所准备的。在图23A的示例当中,必须考虑到将给定大小的缓冲器设置在视频接收组件与分辨率变化组件之间,以便于能承受网络频带上的波动。该缓冲器的大小根据网络环境也会有所变化。
并非单个组件所固有的这些问题是由于由图像处理设备所执行的功能而产生的,并且对于这些功能中的每一个而言,必须定义一个数据交换方法,例如设置在组件间的缓冲器容量或削减帧的需要等方法,而且必须为该图像处理设备提供一种机制,其能够根据该定义来被控制。
(问题2)假设通过改变分辨率或格式来为多个用户提供多个视频内容。根据传统技术,如图24所示,与用户终端1相符的图像处理设备改变了由照相机所输入的视频图像的分辨率或格式,并为该用户终端1提供所获取的图像,或是与用户终端2相符的图像处理设备改变了改变由照相机所输入的视频图像的分辨率或格式,并向用户终端2提供所获取的图像。然而,由于对于分辨率或格式的转换而言需要大量的计算,因而必须通过以下通用处理来优化该处理,这些处理由图24中的X部分(视频输入处理)、Y部分(分辨率转换处理)和Z部分(格式转换处理)所表示。
(问题3)另外,由于视频处理功能是一种诸如画面同步或视频/音频多路传输的一体化处理、一种诸如反向多路传输的隔离处理和需要一种用于改变组件参数的处理。此外,为了优化这些处理,该图像处理设备必须包括一个控制/管理功能。
(问题4)另外,当该视频重放功能是由相同的组件组构成,沿着某一时间轴连续重放视频图像而同时以最佳努力方式削减帧,或从而在不削减帧的情况下重放视频图像的每一帧时,提供了可由用户来选择的一速率(rate)重放模式和一帧馈送重放模式。因此,该图像处理设备必须包括一种用于根据用户请求来切换重放模式的机制。
(问题5)另外,当改变了一重放模式,同时为了构造该重放功能,使用了大量组件时,或需要一段扩充时间来改变模式,或从用户观点来说需改变帧被重放的顺序。
在图25A至25C中示出了这种现象的一个具体实例。在图25A中,在正方向上将帧从磁盘读入一缓冲器,并且执行帧馈送重放。帧1和2已从该磁盘读出,且已经从该缓冲器输出,而此时帧3和4仍旧保留在其中。如图25B所示,假设一个用户在第三帧提出一个倒转帧馈送重放的请求。基于这个请求,在第8帧之后从该磁盘读取第7帧。然而,由于第7帧是在第4帧、…及第8帧之后被从该缓冲器中输出的,因此延迟了一段时间才变化为倒转帧馈送重放,该时间长度与缓冲器中所保留的帧数量的相等。
此时,当如图25C所示,即使当一条命令被改变时,为清除该缓冲器提供了一种机制,用户仍然怀疑该命令是否已被接受,这是因为在按此顺序反馈第1、2和3帧之后,会按7、6和5的顺序对帧进行倒转馈送,而不是按3、2和1的顺序进行,这正是用户所期望的。
(问题6)根据用于自动生成图像处理软件的传统方法,具有输入/输出变元的软件组件(该组件输入处理所需的数据并输出处理的结果)被一起使用。因此,可执行“图像识别处理”的“用于接收未压缩图像并输出识别结果”的组件不能被采用以用于图26B中的功能(因为由“图像识别”软件组件所输出的数据类型与输入到“图像压缩”软件组件中的数据类型不匹配),与此同时它也不能被采用以用于如图26A所示的功能(因为由“图像识别”软件组件输出的数据类型,与输入到该“识别结果记录”软件组件中的数据类型相匹配)。因此,从而使这些组件能被广泛使用,且需要一种被所有软件组件一起使用的适当方法。

发明内容
为了解决这些问题,本发明的一个目的就是提供一种图像处理设备,该设备可容易地实现图像处理功能,该功能与用户的需要及他们所采用的应用程序相符。
为了完成这个目的,本发明提供一种图像处理设备,用于根据任务情况信息来执行任务,所述设备包括任务存储装置,用于存储指出由任务所用的组件和组件的耦合信息的任务情况信息、指出组件特征的组件信息和存储每个组件的组件库;任务分析和管理装置,用于分析任务情况信息,确定为任务所用的组件和为耦合组件所用的软件总线,以及管理任务的执行;组件管理装置,用于生成或删除那些如由任务管理器所确定的处理组件,从而控制由该处理组件所执行的操作;和软件总线管理装置,用于生成或删除那些如由任务管理器所确定的软件总线,并且控制经由该软件总线的数据交换。
根据本发明的图像处理设备,提供了软件总线管理器以控制处理组件的数据交换(与是否削减帧有关的信息)。因此,仅需重写用于定义该数据交换方法的任务情况,使得可提供一种图像处理设备,该设备具有一个与用户的需要以及用户所使用的应用程序相符的功能。
本发明还提供一种用于根据任务情况信息来处理图像的方法,该方法包括下列步骤任务情况的读取步骤,用于根据任务信息、内容信息以及输出终端设备的输出信息来选择合适的任务情况信息,并且用于读取所选的任务情况信息;软件生成步骤,用于根据包含于任务情况信息中的组件耦合信息来生成软件总线;组件读取步骤,用于基于该任务情况信息和该组件信息,从存储于组件库中的组件中读取在该任务情况信息中所指定的组件;组件运行步骤,用于设置该读取组件以按照在任务情况信息中所指出的顺序连续地运行;以及软件总线数据控制步骤,用于控制通过该软件总线内的数据,以便于由运行组件处理内容所产生的输出数据被用作下一个组件的输入数据。


图1示出了根据本发明第一实施例的图像处理设备的框图。
图2A、2B、2C示出了根据第一实施例的单个图像处理单元的任务图。
图3示出了根据第一实施例的组件结构图。
图4示出了根据第一实施例所执行的组件控制过程以及状态转换图。
图5示出了根据第一实施例的视频软件总线管理器的框图。
图6示出了根据第一实施例的共享存储器的数据结构图表。
图7示出了根据第一实施例的用于访问管理共享存储器的详细说明图。
图8A示出了根据第一实施例的任务情况信息格式图以及图8B示出根据第一实施例的组件信息格式图。
图9示出了根据第一实施例的用于解释说明在通常情况下使用组件的图解。
图10示出了根据第一实施例的任务管理结构图。
图11示出了根据第一实施例的任务管理器的管理图表。
图12示出了根据本发明第二实施例的由图像处理设备所执行的路径一体化处理图。
图13示出了根据第二实施例的包含有路径一体化处理的共享组件处理图。
图14示出了根据第二实施例的路径一体化处理流程图。
图15示出了根据第二实施例的路径划分处理图。
图16示出了根据第二实施例的包括有路径划分处理的共享组件处理。
图17A和17B示出了根据第二实施例的路径划分处理流程图。
图18A、18B以及18C示出了根据第二实施例的参数改变处理图。
图19示出了根据第二实施例的可执行参数改变处理的任务管理器结构图。
图20示出了根据根发明第三实施例的任务管理器结构图。
图21示出了根据第三实施例的由一图像处理设备所执行的重放处理的框图。
图22示出了根据第三实施例的由图象处理设备所执行的重放处理的框图。
图23A、23B示出了用于解释说明由传统图像处理设备执行视频分布时所存在的问题的框图。
图24示出了用于解释说明传统图像处理设备所遇到的处理效率问题的框图。
图25A、25B和25C示出了用于解释说明传统图像处理设备的重放系统所存在的问题的框图。
图26A、26B示出了用于解释说明兼备有传统图像处理设备的软件组件所存在的问题的框图。
图27给出了传统自动图像处理软件生成设备的结构框图。
图28给出了由传统自动图像处理软件生成设备所生成的软件组件的框图。
在上述图中,标记数字10是指图像处理设备;11是指任务管理器(任务分析与管理装置);12是指组件管理器(组件管理装置);13是指视频软件总线管理(软件总线管理装置);14是指任务存储器(任务存储装置);15是指任务情况信息;16是指组件信息;17是指组件库;18是指任务输入装置;21是指数据存储区域;22是指共享存储器;23是指访问管理器;30是指任务生成组件判断单元(任务生成组件判断装置);31是指任务共享判断单元(任务共享判断装置);32是指当前所操作的任务信息;41和42每一个都是指一个照相机;43是指麦克风;44、45和46每一个都是指一个终端。50是指组件共享判断单元(组件共享判定装置);51是指参数变换单元(参数变换装置);60是指组件停止和继续执行单元(组件停止和继续执行装置);61是指视频软件总线模式变换单元(视频软件总线模式变换装置);90是指自动生成设备;91是指耦合选择判断单元;92是指耦合单元;以及93是指存储器存储位置。
具体实施例方式
(第一实施例)现在对根据本发明第一实施例的图像处理设备的基本配置和操作说明以及该处理的常见使用方式进行详细的说明。
对于该图像处设备所使用的内容而言,建立了用于识别该内容的内容标识符,并且建立了为该内容所执行的图像处理(任务)、用于识别任务的任务标识符。
如图1所示,该图像处理设备包括任务存储器14。在此实施例中,对于每一个任务而言,在权利要求当中被提作为“任务存储装置”的任务存储器14中管理情况信息15,该情况信息指出了视频处理组件(软件组件),该组件包括任务和用于耦合该处理组件的信息以及组件库17,该组件库中存储了每一个视频处理组件实体。
通过耦合组件而执行的功能、组件进行耦合的顺序和利用与该组件相耦合的缓冲器(软件总线)来交换数据的方法,例如,关于帧是否应该被削减的信息,被录入以作为任务情况信息15。在图8A中示出了任务情况信息的实例。
组件的功能、其内存储有每一组件实体的组件库17名称、组件的输入和输入数据和及组件的参数信息,均作为组件信息16被录入。在图8B中示出了组件信息的实例。
该图像处理设备10进一步包括任务输入单元18,用于接收用于将被处理的内容的内容标识符以及用于该内容的任务的任务标识符;任务管理器11,用于分析由输入任务标识符所标明的任务情况信息15,从而确定需要哪些组件和软件总线来执行所标明的任务,并且用来管理该任务;组件管理器12,用于根据该任务管理器11的判定来生成或删除组件,并且用来控制该组件;以及视频软件总线管理器13,用于根据该任务管理器11的判定来生成或删除该软件总线,并且控制经由该软件总线的数据交换。
在权利要求当中,该任务管理器作为“任务分析与管理装置”被提到,该组件管理器作为“组件管理装置”被提到,并且该视频软件总线管理器作为“软件总线管理装置”被提到。
图2A至2C示出了该任务管理器11、组件管理器12及视频软件总线管理器13的详细说明图。该任务管理器11分析任务的任务分析情况信息15(图2A),并且确定将要使用哪些组件(图2B)、软件总线(图2C)以及软件总线数据交换方法。该组件管理器12根据任务管理器11的判断来检查组件信息16,确认所使用的组件存储在组件库17中的位置,并生成相关的组件1、2和3,且控制这些组件的当前状态。该视频软件总线管理器13根据任务分析管理单元11的判断来生成软件总线1和2,并控制组件1、2和3进行数据交换所使用的方法。
对于由内容标识符所标明的内容而言,该任务管理器11为任务执行图像处理。当该任务已经完成时,该任务管理器11指示将组件1、2和3以及软件总线1和2进行删除。基于这种指示,该组件管理器12删除了组件1、2和3,并且该视频软件总线删除了软件总线1和2。
如图3所示,对于该组件而言,定义了一种数据输入I/F(一种用于与输入总线进行交换数据的方法)、一种数据输出I/F(一种用于与输出总线进行交换数据的方法)和用于该组件的控制过程。在如图4所示的实例中,将该组件的控制过程定义为“BIND(启动软件总线的访问)”、“UNBIND(停止软件总线的访问)”、“PARAMTER CHANGE(组件的参数转换)”和“CTRL(控制命令诸如播放、停止和暂停这样的重放型命令,)”。当标明“BIND”时,该组件的状态就从IDLE状态转换到激活状态(启动处理)。当标明“UNBIND”时,该组件的状态就从激活状态转换到IDLE状态。另外,当标明“CTRL”或“PARAMETER CHANGE”时,就对处于激活状态的处理进行初始化。按照这种方式,当为那些由图像处理设备所处理的视频格式转换、分辨率转换及图像识别的组件来一般地定义控制过程和伴随的状态切换时,可以根据用户需要或所采用的应用程序软件来结合任意的组件。
图5示出了视频软件总线管理器13的内部结构图。该视频软件总线管理器13包括一个软件总线,由多个包含数据存储区域21的普通存储器22所组成的循环结构和还包括访问管理器23,用来管理公用存储器22当中的写/读位置,且用来提供专用控制。
图6示例性的给出了被写入到公用存储器22中的数据结构格式的图表。在此表中存储的是执行图像处理所需的所有视频组件信息,即媒体形式(视频/音频)、编码类型、媒体重要等级、媒体时间码、媒体标识符、最大存储容量、实际数据存储容量和实际数据指针。
该访问管理器23管理产生软件总线的开始/结束、每一个组件的写/读位置和通过单个组件和软件总线来进行数据交换的方法。
图7示出由该访问管理器23所实现的一种控制机制的详细说明图表。
根据该详细说明,对于每一个软件总线而言,当可以使用多个组件来读的时候,仅仅使用一个组件来写,并且不允许在同一时刻对一个共享存储器数据结构进行写/读。
另外,将a.FIFO/LIO读模式,b.异步/同步写模式,和c.异步/同步ACK模式设置为用于在组件间进行数据交换的方法。
该a.FIFO/LIO读模式定义了将如何读取位于沿着软件总线的多个数据结构,并且定义了“FIFO读=对从最老的数据结构开始的数据进行传输”和“LIO读=不断传输最近的数据结构”。
该b.异步/同步写模式定义了将数据重写到共享存储器数据结构的条件,并且定义了“异步写=即使当未读取共享存储器数据结构也允许重写”和“同步写=禁止重写,直到读取共享存储器数据结构”。
该c.异步/同步ACK模式定义了当与软件总线相关的数据读/写被禁止时的一种响应方法,并且定义了“异步ACK=立刻通知一组件禁止读/写”以及“同步ACK=传输无响应,直到允许读/写处理”。
如上文所述,因为可为每一个组件设置具体的数据交换方法,这可由访问管理器23来控制,因而不需要对单个组件的数据交换方法之间的差别进行识别。
此外,因为任务管理器11控制命令,因此为总线复位(初始化每一个组件的访问点并利用所标明的参数(FIFO/LIO读、异步/同步写或异步/同步ACK)复位总线)来重新复位总线),以及为最近的读位置采集(获得与共享的最近存储器结构中的存储位置有关的信息,该存储器结构的数据读取已被执行)提出请求。
通过这种处理,该任务管理器11能够控制每一个组件的数据交换方法。
另外,按照这种方式,设置了每一个组件的详细数据交换方法。
用于将数据写入到软件总线的组件向该访问管理器23提出了一条写入请求,同时根据所接收到的来自访问管理器23的通知而写入用于指明写位置指针的数据。用于从软件总线读取数据的组件接着向该访问管理器23提出了一条读请求,同时根据所接收到的通知来开始从访问管理器23中读取数据,且指明读位置指针。
由于提供了这样结构的视频软件总线管理器13,因而每一个组件能够将经由组件所获得的结果添加到输入数据中,且能够输出该结果数据。由此,可以实现与各种需要相符的功能。
在图8A中,对于任务情况信息而言,为组件1定义了用于与输入总线交换数据的模式,为组件2定义了用于输出总线和该交换数据交换模式的缓冲器的数量。当只有组件1和2存在的情形下,或是当组件1和2同时位于任务两端的情形下,不再需要这些定义。
现将给出一种可允许多个任务共同使用通用组件的方法的一例子。
图9A和9B示出了一个示例的图,其中,当用于处理由照相机所获取的视频图像的任务2被启动而同时任务1正在运行(图9A)时,这两个任务共享“视频输入”和“格式转换”组件。此时,该图像处理设备的内部状态如图9B所示。该任务1和2共同使用该“视频输入”和“格式转换”组件,并且用于任务1的分辨率转换组件和用于任务2的终端输出组件从软件总线2接收数据,其中该软件总线2被用于输出由格式转换组件所获取的处理结果。
图10示出用于自动提供组件共享的任务管理器11的结构图。该任务管理器11包括一个任务共享判断单元31,用于检查当前正被处理的任务信息32,并用于确定哪些组件可以与新近启动的任务共享;以及一个任务生成组件判断单元30,用于确定将要生成的视频软件总线,而不是被共享的那些视频软件总线。
当从该任务输入单元18中接收到内容标识符和任务标识符时,该任务共享判断单元31检查当前将被处理的任务信息32,并且在当前正在运行的任务当中查找一个对由输入内容标识符所指定的内容进行处理的任务。然后,首先从制定相关任务的上游组件开始,该任务共享判断单元31确定该组件和该参数是否相匹配,并且把那些被确认为与参数相匹配的组件认作是其处理可被任务共享的组件。另外,对于那些其处理不可被任务共享的组件而言,该任务生成组件判断单元30确定将要生成哪些必要的组件和视频软件总线。
图11示出了该任务管理器11的内部数据管理结构。该任务管理器11对存储在“任务管理”区域、“组件管理”区域和“软件总线管理”区域当中的数据进行管理。
在该“任务管理”区域,对当前正在由图像处理设备所运行的每个任务的信息(输入、输入/输出以及输出组件(CMP)的通路)进行管理。当可以提供任意数量(0-N)的输入/输出CMP时,往往需要输入CMP和输出CMP。
在该“组件管理”区域,对构成该任务的输入组件、输入/输出组件以及输出组件的信息,即标识符数字、参数、软件总线信息和基准计数器进行管理。该软件总线信息是用于访问软件总线的信息,并且该参考计数器值代表了使用该组件的任务量。
在该“软件总线管理”区域,对由组件所使用的软件总线信息,即参考计数器、每一组件的数据交换方法以及缓冲器数量进行管理。该参考计数器值代表了正在访问该软件总线的组件数量。
在图11中,该任务1和任务2共同使用该组件输入CMP1。在这种情况下,将组件输入CMP1的“CMP ID”被录入到“任务管理”区域中的任务1的输入CMP和任务2的输入CMP当中。
由于共同使用该组件输入CMP1,因而由任务1所使用的组件输入CMP1的软件总线信息(OUT)及组件输入/输出CMP1的软件总线信息(IN)与由任务2所使用的组件输入/输出CMP2的软件总线信息(IN)是相互匹配的,并且写入诸如用于软件总线1的相同信息。
当按照传统的方式来共同使用该组件时,可以缩减该图像处理设备所需的计算数量。
现在将要对由该图像处理设备所执行的任务生成处理进行描述。
1.分支位置的判定当新近生成的任务(新任务)的输入组件已经出现在该“组件管理”区域当中时,从该“任务管理”区域中抽取出具有相同输入组件的任务(当前运行的任务)。
然后,首先从该输入组件开始,在相同输入/输出组件上的计数N(整型),在该新任务和所抽取任务之间继续进行计数,计算当前正在运行的任务。这种处理执行了多次,该次数等同于当前正在运行的任务数目,并且在最大值M处所获得的点被认作是新任务是从当前任务分出来的点。
当为任务、组件以及参数匹配提供相同的内容标识符数字时,可以确认该输入/输出组件是相同的。然而,这里有这样一种情况,即使是在相同组件当中,由组件缓冲器输出的软件总线信息(缓冲器数量和数据交换模式)也会不一致,这取决于任务本身。因此,也可以为这种判定附加使用这些由组件输出的全部或部分软件总线信息。
2.为所配置的直到分支点的组件进行基准计数器的更新从“组件管理”区域中提取出所配置的直到分支点的组件,并且增加该组件的基准计数器值。
3.生成分支点之后的组件和软件总线。
将分支点之后的组件添加到“组件管理”区域当中,并且将与该组件相连的软件总线添加到“软件总线”区域当中。接下来,生成已被添加的组件和软件总线,并且启动这些组件与该软件总线的连接。应该注意到,将分支点之后的组件的基准计数器设置为1。
现在将要对任务结束处理进行描述。
1.判断是否能够删除组件对于将要结束的任务的输入组件、输入/输出组件以及输出组件而言,减少在“组件管理”区域中基准计数器值,并且将其基准计数器值已经达到0的组件确定为可删除的组件。
2.结束与软件总线的连接,并删除软件总线结束软件与将要被删除的组件的连接。此后,减小“软件总线”区域中的基准计数器,并且将其基准计数器已经达到0的软件总线删除。
3.组件终止
“组件管理”区域中其基准计数器已经达到0的组件被终止。
如上文所述,该图像处理设备使用该任务情况信息来为每一个组件和数据交换方法规定缓冲器容量,上述任务情况信息例如是否应该将帧削减的信息,并且更进一步,提供了一种容许视频软件总线管理器控制总线连接组件的机制。因此,只需要实现该任务情况信息的重写操作,使得能够任意将那些用于视频格式转换、用于分辨率转换以及用于图像识别的组件相结合,从而自动执行一个期望的功能,而不必需要进行再编译(recompiling)。
此外,当诸如像分辨率转换组件或格式转换组件等需要大量计算的组件由多个任务使用时,这些可由任务共享的组件能够被自动共享,且处理能够得到优化。结果,整个计算量得到降低。
另外,因为视频软件总线管理器对沿着软件总线的数据交换进行管理,由此可以选择由该组件所输出的部分数据并且将它们传输到下阶段组件。因此,每一个组件能够通过这一处理来输出所获得的结果以及所接收到的数据。举例来说,在如图26B所示的任务中,该图像识别组件接收未压缩/未解压缩数据,为该数据执行图像识别,并且输出至软件总线(未压缩/未解压缩的图像数据+图像识别结果)。从这些接收的数据当中,该视频软件总线管理器将该未压缩/未解压缩数据输出至与之相连的图像压缩组件中,并且将该图像识别结果输出至后面的视频记录组件。该图像压缩组件对该未压缩/未解压缩的图像数据进行压缩,并且将这些结果数据传输至视频记录组件,其中已压缩的图像数据和图像识别结果依次存储在一个磁盘上。
由于提供了该视频软件总线管理器,因而可以建立一种机制,就像是一条生产线那样,仅仅抽取必要的数据部分,并且将当前获取的结果添加到由上阶段组件所获取的结果中。
此外,根据本发明的图像处理设备,将与哪个组件数据库17的哪个对象功能是当前所采用的组件有关的信息写入到组件信息16中。因此,当通过使用UNIX(商标)/Linux的链接库或者使用Windows(商标)的动态链接库(DLL)来创建一个新组件库,并且该组件信息被简单添加时,可以对新组件进行注册,而此时并不需要为该图像处理设备进行再编译操作。
此外,当该任务存储器14周期性地读取该任务情况信息15,同时确定是否构成该任务的组件已被正确耦合时,能够为那些手工写入的该任务情况信息检测错误。
(第二实施例)对于本发明的第二实施例而言,将详细说明伴随有画面同步和视频/音频多路传输技术的通路一体化处理、伴随有反向多路传输技术的通路隔离处理和一个转换组件参数的处理。
首先,现将对该通路一体化处理加以描述。如图12所示,当由多个照相机获取的图像被合成且该合成图像被输出至某一终端时,或者当由一个照相机获取的图像及通过一个麦克风接收的声音被多路传输且其结果被输出至某一终端时,可以实现该通路一体化处理。
图13给出了实例,在该实例中包含有用于执行通路一体化处理的组件被共同使用。在这个实例中,将一幅由照相机41所获取的图像和一幅由照相机42所获取的图像进行合成,并且将该合成图像输出至终端44(任务1);将由照相机42所获取的图像单独输出至终端45(任务2);并且将由照相机42所获取的图像和通过麦克风43所接受到的声音进行多路传输,并将其结果输出至一终端46(任务3)。该照相机42的视频输入组件被任务2和3共同使用,而该照相机42的视频信号分辨率转换组件被任务1和2共同使用。
对于用于任务情况信息和任务分析的那些由管理单元所提供的管理而言,如图14A所示,将使通路一体化化的总体任务看作是一个父类任务,该父类任务由一体化化之前的多个子类任务和一体化之后的单个子类任务构成。
图14B示出了当共同使用组件时,由任务管理器11所执行的使通路一体化的处理流程图。在这种处理中,该“当前运行任务”代表一个不进行一体化通路且不包含父类任务的标准任务。
步骤1检查所有的预一体化任务,从而确定是否能够被当前运行的任务共同使用。
步骤2当至少有一个预一体化任务能被共享时,步骤3执行检测以确定是否所有预一体化任务的组件都能被共同使用。当判断为YES时,步骤4为了进一步查找共享的可能性,执行检测以确定当前正在运行的任务中的那些被一体化的任务是否能被共同使用。
步骤5当被一体化的任务能被共同使用时,步骤6创建被一体化任务共同使用的组件。
当在步骤3的判断为NO时,步骤8为所有预一体化任务创建不能被共同使用的组件。
步骤9创建被一体化的任务的所有组件。
当在步骤5该被一体化的任务不能被共同使用时,也要创建被一体化任务的所有组件(步骤9)。
当在步骤2不存在能被共同使用的预一体化任务时,步骤7创建父类任务当中的所有组件。
步骤10最后,创建视频软件总线并对通路进行一体化。
该任务的最终处理,按照第一实施例中说明的最终处理相同的方式来执行其通路被一体化的任务的结束处理。
现将对通路隔离处理进行详细的描述。如图15所示,执行通路隔离处理,从而对多路传输的视频图像及声音进行分离,并从而将所获取的视频图像及声音输出至一个视频设备及一个音频设备。
图16示出了一个实例,该实例中的组件在通路隔离及分离处理期间被共同使用。在这个实例中,一个视频/音频多路传输信号被分离成图像和声音,并将该图像和声音输出至用户2(任务1)的一个视频设备和一个音频设备;仅从该输入信号中分离出视频信号,并将其输出至用户1(任务2)的一个视频设备;以及仅从该输入信号中分离出音频信号,并将其输出至用户3(任务3)的一个音频设备。一个用于接收多路传输信号的视频/音频输入组件,以及一个用于分离多路传输视频/音频信号的非多路传输组件,均被任务1、任务2和任务3共同使用,而一个用于转换由照相机42所获取的视频信号分辨率的组件,被任务1和任务2共同使用。
另外,如图17A所示,对于用于任务情况信息和任务分析的由该管理单元11所提供的管理而言,将其通路已被分离的总体任务,当作一个父类任务进行处理,其中该父类任务由多个预分离的子类任务和后分离的子类任务构成。
对于此实施例中的图像处理设备而言,如图17A所示,由预分离子类任务1和后分离子类任务2构成的任务而言(例如,用于对视频/音频信号进行反向多路传输且仅对该视频信号的分辨率进行转换、并且用于将所获取信号传输至终端的任务),并不将其看作是标准任务,而是将其看作为用于分割通路的任务。
图17B示出了由任务管理器11所执行的用以分割通路的处理流程图。在该处理过程中,“当前正在运行的任务”是预一体化或后一体化的子类任务、预分离或后分离子类任务、或是其通路一体化尚未执行的标准任务。
步骤20执行检测,以确定一预分离任务是否能被当前正在运行的任务共同使用。
步骤21当该预分离任务被共同使用时,步骤22执行检测,以确定该预分离任务的所有组件是否均能被共同使用。当在步骤22的判断为YES时,步骤23执行检测,以确定每一个后分离任务是否均能被当前正在运行的任务共同使用。
步骤24接着,为每一个后分离任务创建一个不能被共同使用的组件。
步骤25该处理在步骤23和24进行重复,直到检查完所有的后分离任务。
当在步骤22的判断为NO时,步骤26为预分离的任务生成不共同使用的组件。
步骤27为所有的后分离任务生成所有的组件。
当在步骤21不能共同使用该预分离任务时,步骤28生成父类任务当中的所有组件。
步骤29最后,生成视频软件总线且将通路一体化。
按照与第一实施例所说明的最终处理相同的方式来执行其通路隔离处理已被执行的任务的最终处理,现将对用于转换被共同使用的组件的参数的处理加以解释说明。
这里有一个可被改变的同时能影响其它任务的参数,例如用于为分辨率转换提高图像品质精度的参数,并且还存在一个应该为每一个任务进行转换而又不影响其它任务的参数,例如用于分辨率转换的垂直-水平率参数。
在用于改变被任务共享的组件的参数的处理过程中,当继续共同使用该组件时,将对“能够影响另一任务的参数”的参数进行转换。对于“为每一个任务而改变的内部参数”而言,必须提供一个新组件且必须重新生成一个新任务。
图18A至18C示出了参数转换处理的详细图。在图18A中,在用于将相同视频信号输出到不同终端的任务1、2和3当中,视频输入和分辨率转换使用共享的组件。在分辨率转换处理期间,将该垂直率与水平率参数设置为1/2,而将该图像品质精度参数设置为“中级”。在这种情况下,该“能够影响另一任务的参数”正是该图像品质精度参数,而“为每一个任务而改变的内部参数”正是该垂直率与水平率参数。
如图18B所示,将任务1当中用于分辨率转换的垂直率与水平率参数改变成1/4,重新生成任务1当中用于实现/执行该分辨率转换的组件,并且将该垂直率与水平率参数设置为1/4,与此同时将该图像品质精度参数设置为中级。通过利用共同使用的组件来执行任务2和3的分辨率转换。
如图18C所示,将任务1当中用作分辨率转换的图像品质精度参数从中级提高至高级,且该共享组件的图像品质精度参数从中级变成为高级。由此,提高了在任务1、2和3当中由图像处理所获取的图像品质。
图19示出执行参数转换处理的任务管理器11的配置。该任务管理器11包括一个组件共享判定单元50,用于检查当前正在处理的任务信息,并确定其参数将要变换的组件被共同使用;以及一个参数变换单元51,用于改变参数。
依据从任务输入单元18所接收到的任务数量和组件参数,该组件共享判定单元50检查正在处理的任务信息32,并确定其参数将会变换的组件是否被任务共同使用。当该组件共享判定单元50确定了其参数将会变换的组件被任务共同使用时,该参数变换单元51就会根据该共享组件的参数类型和参数值来进行变换,或是重新生成任务,并设定一个输入至一新组件的参数值。由该参数变换单元51所变换的参数被传输到该组件管理单元12和视频软件总线管理器13当中。
如上文所述,当考虑到任务之间的处理共享时,该图像处理设备能够执行诸如画面同步或视频/音频多路传输的一体化处理、用于分离视频图像和声音的隔离处理、以及组件参数变换处理。
(第三实施例)对于第三实施例而言,将对所执行的用以根据用户请求来变换一重放模式以及平稳重放视频图像的处理给出解释说明。
图20示出了执行视频重放处理的任务管理器11的配制。该任务管理器11包括组件停止与继续执行单元60,用于将构成任务的所有组件临时设置成空闲(idle)状态,并用于恢复组件的操作;以及一个视频软件总线模式变换单元61,用于改变耦合于组件的视频软件总线的缓冲器容量,或是用于改变数据交换方法。在图21中,假设正在处理个帧馈送(frame-feeding)重放。组件1处理从磁盘上读取的数据,并将结果数据写入软件总线1;组件2处理经由该软件总线1所读取数据,并将结果数据写入软件总线2;以及组件3处理经由该软件总线2所读取数据,并将结果数据输出到终端。该终端接收一第5帧,将第6帧和第7帧写入该软件总线2,而将第8帧和第9帧写入该软件总线1。
当一个用户改变一重放方法时,由一任务输入单元18输入用于表示软件总线缓冲器容量变化的任务数量与总线变换信息、以及数据交换方法(从“未对帧进行削减”变换成“对帧进行削减”)。
在图22中示出了在这种情况下所执行的处理过程。该任务管理器11检查当前正在处理的任务信息32,并向组件管理器12发布一个请求,从而停止由指定任务所使用的组件操作,以便于组件1、2和3的操作停止(在图22中的(1))。该视频软件总线模式变换单元61检测到已经将第6帧写入到视频软件总线管理器13中的软件总线2当中,并且识别出该当前所重放的帧正是第5帧((2))。然后,该视频软件总线模式变换单元61向该视频软件总线管理器13发布一条指令,以对该软件总线1和2((3))进行复位。
根据这条总线复位指令,对该软件总线1和2的所有访问均被取消,并且用于经由该软件总线1和2而进行交换数据的方法,也被变换成由该任务输入单元18输入的方法,与此同时该软件总线1和2的数据被清除。
在此之后,该组件停止与继续执行单元60,向该组件管理器12发布一个请求,以启动该组件((4))的操作。当组件1、2和3的操作开始时,该视频软件总线模式变换单元61就会向该组件1通知当前重放的帧(第5帧)((5))。
该组件1开始启动所指定的操作,该操作首先从当前正在重放的帧(第5帧)之后帧的开始进行,并且如图21所示,当用户指令是一条切换成反向帧馈送的指令时,将该数据以第4帧、第3帧、…的顺序传输到终端。当用户是一条切换成双倍速重放的指令时,将该数据以第7帧、第9帧的顺序传输到终端。
如上文所述,根据此实施例中的图像处理设备,依据变换重放模式的用户请求,将视频软件总线上的所有视频信息进行清除,并且能够获取该最近帧的标识符,并将其传输到位于最上游端的组件,其中该最近帧的标识符由任务中位于最下游端的组件来进行处理。由此,可以执行像由用户所请求的这类视频重放。
本发明的图像处理设备不仅可以用于视频分布系统,该视频分布系统不仅通过诸如国际互联网或内联网这样的IP网络将各种各样的视频内容分布到诸如便携式终端和个人计算机这样的多个浏览器,而且还将各种各样的视频内容分布到诸如广播系统和监控系统这样的各种其它系统。
通过这些解释说明可以明显看出,本发明的图像处理设备只需改写任务情况,其中该任务情况定义了构成任务的组件,以及定义了用于经由软件总线而进行交换数据的方法,从而能够提供与用户需要及用户正使用的应用程序软件的需要相符的功能。
另外,通过简单地改写任务文件,能够通过任意地结合视频格式转换组件、分辨率转换组件和图像识别组件,来动态实现功能,而且并不需要进行再编译。
而且,当诸如需要大量计算的分辨率转换组件或格式转换组件之类的组件,由多个功能使用时,由这些功能所共享的组件可被自动优化,从而使降低了全部的计算量。
此外,当考虑到由这些功能所共同使用的处理时,可以执行诸如画面同步和视频/音频多路传输的一体化处理、诸如反向多路传输的隔离处理、以及用于变换组件参数的处理。
而且,由于该组件管理器将该组件设置成空闲状态,并且该视频软件总线管理器在组件之间为总线变换模式,因而可以依据用户请求,切换成诸如速率重放模式和帧馈送模式这样的重放模式。
另外,由于向位于最上游端的组件通知正被重放的帧标识符,因而可以降低改变重放模式所需的时间,同时能够平稳地重放图像。
此外,正如在一个生产线上,由于提供了这样一个机制,该机制仅抽取出必要部分并将所获取的结果上行添加到当前所获取的结果中,因而能够执行与各种需要相符的功能。
权利要求
1.一种图像处理设备,用于根据任务情况信息来执行任务,该设备包括任务存储装置,用于存储任务情况信息、表示组件特性的组件信息以及其内存储有每个组件的组件库,其中上述任务情况信息指出了用于任务的组件以及该组件的耦合信息;任务分析与管理装置,用于分析所述任务情况信息、确定所述任务所使用的组件以及用于耦合所述组件的软件总线,并管理所述任务的执行;组件管理装置,用于根据任务管理器的确定来生成或删除组件,从而控制由所述组件所执行的操作;和软件总线管理装置,用于根据任务管理器的确定来生成或删除软件总线,并控制经由所述软件总线上的数据交换。
2.根据权利要求1所述的图像处理设备,其中所述组件库可以进行动态链接和调用,和其中所述组件信息包括链接所述组件库所需的信息。
3.根据权利要求1所述的图像处理设备,其中,当由所述图像处理设备来执行新任务时,任务分析和管理装置确定将被所述新任务及当前运行任务所共享的组件和软件总线,要求所述组件管理装置生成那些仅用于所述新任务且不与当前运行任务共享的组件,并且要求所述软件总线管理装置生成那些仅用于所述新任务且不与当前运行任务共享的软件总线。
4.根据权利要求3所述的图像处理设备,其中所述任务分析与管理装置包括任务共享判定装置,用于检测所述能够与任务和其它任务共享的组件;和任务生成组件判定装置,用于确定将要生成的组件和软件总线;其中所述任务共享判定装置指定当前运行的任务处理与所述新任务相同的内容,并且针对包括有所述组件参数的特性,来比较用于新任务的组件和来自上游的用于当前运行任务的组件,并且将与当前运行任务的组件正确匹配的且位于不匹配组件之前的新任务的组件确定为将被共享的组件。
5.根据权利要求3所述的图像处理设备,其中通路一体化任务用于对将代表组件连接的多个通路进行一体化,上述通路一体化任务能被重写到所述任务情况信息之中,和其中所述任务分析与管理装置对所述任务情况信息进行分析,并且确定将用于所述通路一体化任务的组件和用于连接所述组件的软件总线。
6.根据权利要求3所述的图像处理设备,其中通路分割任务,用于将通路分割成代表所述组件连接的多个通路,上述通路分割任务能被写入到所述任务情况信息之中,和其中所述任务分析与管理装置对所述任务情况信息进行分析,并且确定哪一个组件将用于所述通路分割任务,以及确定用于连接所述组件的软件总线。
7.根据权利要求3所述的图像处理设备,其中所述任务分析与管理装置包括组件共享判定装置,用于确定所述组件是否被多个任务共享;以及参数变换装置,用于改变所述共享组件的参数,和其中,当接收到指令来改变由所述当前运行任务所使用的组件的参数时,所述参数变换装置通过根据将要变换的参数类型或重新生成新任务来改变所述共享组件的参数,从而设置分布给组件的新参数。
8.根据权利要求1所述的图像处理设备,其中所述任务分析与管理装置包括组件停止与继续执行装置,用于停止由当前运行任务的所有组件所执行的操作,并且,其后当接收到一条指令来改变用于运行当前任务的所述软件总线的缓冲器容量或经由所述软件总线上的数据交换方法时,恢复所述组件所执行的操作;和视频软件总线模式变换装置,用于取消对所述软件总线的访问,并改变用于所述软件总线的缓冲器容量,或改变经由所述软件总线上的数据交换方法。
9.根据权利要求8所述的图像处理设备,其中,当所述组件停止与继续执行装置停止了所有组件的操作时,所述视频软件总线模式变换装置获取由位于最下游端处的组件处理的最近帧标识符,并据此清除软件总线上的所有视频信息,和其中,当所述组件停止与继续执行装置恢复所有组件的操作时,所述视频软件总线模式变换装置向位于最上游端处的组件通知所述帧标识符。
10.根据权利要求1所述的图像处理设备,其中由所述组件管理装置所生成的组件输出与所述组件获取的结果一起的输入数据。
11.根据权利要求1所述的图像处理设备,其中所述任务存储装置周期地读取所述任务情况信息以确定该任务的所使用的组件的连接是否正确。
12.一种根据任务情况信息来处理图像的方法,该方法包括以下步骤任务情况读取步骤,用于基于任务信息、内容信息和终端设备的输出信息来选择合适的任务情况信息,以及用于读取所选的任务情况信息;软件生成步骤,用于基于包含于任务情况信息中的组件耦合信息来生成软件总线;组件读取步骤,用于基于所述任务情况信息和该组件信息,从存储于组件库里的组件当中读取在所述任务情况信息中所指定的组件;组件运行步骤,用于设置该读取组件以按照在任务情况信息中所指定的顺序连续地运行;和软件总线数据控制步骤,用于控制数据在软件总线内传输,以便于由运行组件对内容进行处理所生成的输出数据被用作后续组件的输入数据。
全文摘要
本发明的一个目的就是提供一种图像处理设备,该设备能够容易地执行与用户需要或应用程序软件相符的图像处理功能。该图像处理设备包括任务存储器,任务管理器,组件管理器,以及软件总线管理器。该任务存储器控制任务情况信息、组件信息以及组件实体的信息。上述任务情况信息指出了图像处理任务所使用的组件以及与该组件的耦合相关的信息。该任务管理器对该任务情况信息进行分析,并确定用于该任务的组件以及确定与该组件相连的软件总线。该组件管理器生成、删除或控制该组件。该软件总线管理器生成或删除该软件总线,并控制经由软件总线的数据交换。
文档编号G06F15/16GK1476232SQ0317860
公开日2004年2月18日 申请日期2003年4月8日 优先权日2002年4月8日
发明者由雄宏明 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1