摄像设备、客户端设备及其控制方法和记录介质与流程

文档序号:15778163发布日期:2018-10-30 15:51阅读:278来源:国知局
摄像设备、客户端设备及其控制方法和记录介质与流程

本发明涉及一种具有用于记录拍摄图像的摄像单元的摄像设备,尤其涉及一种用于基于记录状态来改变摄像单元的设置的控制。



背景技术:

通常,将拍摄图像发送给接收装置的摄像设备在其中安装有命令组,外部装置以此指示改变摄像装置的设置和图像分发的开始。

该命令组包括外部装置用来改变分发图像的分辨率的命令,其中,摄像设备的压缩编码单元通过对摄像单元所生成的图像数据进行编码以将其分发至外部装置,生成该分发图像。

过去,还公开了这样一种具有摄像单元和存储单元的摄像设备,该摄像设备通过进行控制以仅将所拍摄的多个图像的特征图像存储在存储单元中,可以实现长时间记录(ptl1)。

文献列表

专利文献

ptl1:日本特开2007-288478号



技术实现要素:

技术问题

如上所述在记录分发图像的同时改变诸如压缩编码单元的分辨率等的设置,可能导致不一致,并且可能不能生成分发图像。

在正在记录这类分发图像的情况下所出现的问题是可能无法继续进行记录,从而阻碍监视数据的连续记录。

另外,如果在记录这类分发图像的同时改变所正记录的数据的分辨率或者压缩编码格式,这样导致在单个记录文件中包含多种类型的记录数据,并且记录文件可能无法正常播放。

用于解决问题的方案

为了解决上述问题,根据本发明的摄像设备包括:记录源,其输出包括压缩编码视频数据的流;记录文件,其记录记录源所输出的流;记录作业,其使记录源和记录文件相关,并且管理记录状态;指示部件,其根据从经由网络所连接的外部装置所发送的命令,改变与记录源有关的参数;以及控制部件,其进行控制以根据记录作业的记录状态,切换是否可以接受所述指示部件对于与记录作业相关的记录源的命令。

发明的优点效果

根据本发明的摄像设备,可以实现以下方面。也就是说,当在正在记录所生成的分发图像的同时,改变摄像单元所生成的图像数据或者压缩编码单元所生成的分发图像的分辨率等时,可以防止由于这两者的组合时的不一致所导致的记录的中断。因此,可以实现监视数据的连续记录。另外,可以防止在单个记录数据中包含多种类型的记录数据,从而可以实现能够进行更适合的重放的视频记录。

附图说明

图1是根据本发明第一实施例的监视摄像机的外视图。

图2是包括根据本发明第一实施例的监视摄像机的系统结构图。

图3是示出根据本发明第一实施例的监视摄像机的内部结构的框图。

图4是示出根据本发明第一实施例的监视摄像机所保持的参数的结构的图。

图5是示出根据本发明第一实施例的摄像单元和压缩编码单元之间的依赖关系的表。

图6示出根据本发明第一实施例的在监视摄像机和客户端装置之间所进行的命令序列。

图7示出根据本发明第一实施例的在监视摄像机和客户端装置之间所进行的、不涉及重新启动的命令序列。

图8示出根据本发明第一实施例的在监视摄像机和客户端装置之间所进行的、涉及重新启动的命令序列。

图9示出根据本发明第二实施例的在监视摄像机和客户端装置之间所进行的、用于改变压缩编码单元的输出分辨率的命令序列。

图10示出根据本发明第二实施例的在监视摄像机和客户端装置之间所进行的、涉及重新启动的命令序列。

图11示出根据本发明第三实施例的在监视摄像机和客户端装置之间所进行的命令序列。

图12示出根据本发明第三实施例的在监视摄像机和客户端装置之间所进行的、涉及改变输出分辨率的命令序列。

图13是用于说明根据本发明第一实施例的setvideosourcemode(设置视频源模式)命令处理的流程图。

图14是用于说明根据本发明第一实施例的在监视摄像机接收到getvideoencorderconfigurationoptions(取得视频编码器配置选项)命令的情况下的处理的流程图。

图15是用于说明根据本发明第一实施例的在监视摄像机接收到setvideoencorderconfigurations(设置视频编码器配置)命令的情况下的处理的流程图。

图16是用于说明根据本发明第一实施例的监视摄像机重新启动处理的流程图。

图17是用于说明根据本发明第二实施例的在监视摄像机接收到getvideosourceconfigurationoptions(取得视频源配置选项)命令的情况下的处理的流程图。

图18是用于说明根据本发明第二实施例的在监视摄像机接收到setvideoencorderconfiguration(设置视频编码器配置)命令的情况下的处理的流程图。

图19是用于说明根据本发明第三实施例的在监视摄像机接收到getvideosource(取得视频源)命令的情况下的处理的流程图。

图20是用于说明根据本发明第三实施例的在监视摄像机接收到setvideoencorderconfiguration(设置视频编码器配置)命令的情况下的处理的流程图。

图21是用于说明根据本发明第一实施例的适用于进行监视摄像机1000的vsm和vec设置的客户端装置的设置画面的图。

图22是用于说明根据本发明第五实施例的监视摄像机所保持的参数的结构的图。

图23示出根据本发明第五实施例的在监视摄像机和客户端装置之间所进行的命令序列。

图24是用于说明根据本发明第四实施例的在监视摄像机接收到setvideosourcemode(设置视频源模式)命令的情况下的处理的流程图。

图25是示出根据本发明第四实施例的在监视摄像机接收到setvideoencorderconfiguration(设置视频编码器配置)命令的情况下的处理的流程图。

图26是示出根据本发明第五实施例的监视摄像机的内部结构的框图。

图27是用于说明根据本发明第五实施例的在监视摄像机接收到setvideosourcemode(设置视频源模式)命令的情况下的处理的流程图。

具体实施方式

下面说明本发明的实施例。

第一实施例

通常,将拍摄图像发送给接收装置的摄像设备在其中安装有命令组,外部装置以此指示改变摄像装置的设置和图像分发的开始。这类命令组的一个例子是在此要说明的、通过由onvif(开放网络视频接口论坛)开发的标准所定义的命令组。

假定命令组包括外部装置用来改变由摄像设备的摄像单元所生成的图像数据的分辨率的命令,作出本实施例。本实施例的命令组还包括用于在摄像设备的压缩编码单元生成用于向外部装置分发的分发图像时,通过编码由摄像单元所生成的图像数据来改变分发图像的分辨率的命令。

例如,假定上述onvif标准包括作为前一命令的setvideosourcemode命令和作为后一命令的setvideoencorderconfiguration命令。

在如上所述在记录分发图像的同时改变摄像单元或者压缩编码单元的分辨率等的设置的情况下,这样可能导致在两者的组合时的不一致,并且可能无法生成分发图像。

例如,假定下面一种情况:摄像单元的输出分辨率为1600×1200像素(分辨率高宽比4:3),而压缩编码单元的输出分辨率为1280×1024像素(分辨率高宽比4:3)。

在这一情况下,如果将摄像单元的输出分辨率改变成1920×1080(全高清,分辨率高宽比16:9),则被设置成与此不一致的分辨率高宽比(分辨率高宽比4:3)的压缩编码单元不能生成分发图像。

正在记录这类分发图像的情况下所出现的问题是可能无法继续进行记录,从而阻碍监视数据的连续记录。

另外,如果在正在记录这类分发图像的同时改变所正记录的数据的分辨率或者压缩编码格式,这样导致在单个记录文件中包含多种类型的记录数据,并且记录文件可能无法正常播放。

图1中的附图标记1000是示出根据本发明实施例的监视摄像机的图。附图标记1101表示平移监视摄像机1000的镜头方向的平移机构。附图标记1102表示俯仰镜头方向的俯仰机构。附图标记1103表示改变镜头的变焦倍率的变焦机构。

接着,图2是包括监视摄像机1000的系统结构图。附图标记2000表示作为本实施例中的外部装置的客户端装置。监视摄像机1000和客户端装置2000通过ip网络1500相互通信连接。

客户端装置2000向监视摄像机1000发送诸如稍后所述的改变摄像参数等的各种类型的命令、以及用于驱动摄像机平台和开始视频流等的指示。监视摄像机1000将对于这些命令的响应和流视频发送给客户端装置2000。

接着,图3是示出监视摄像机1000的内部结构的框图。在图3中,附图标记1001表示集中控制构成监视摄像机1000的组件的控制单元。

附图标记1002表示存储单元。存储单元1002主要被用作为诸如控制单元1001执行的程序的存储区域等的各种类型的数据的存储区域、所正执行的程序的工作区域、以及稍后所述的摄像单元1003所生成的图像数据的存储区域等。

附图标记1003表示摄像单元。摄像单元1003将通过拍摄被摄体所获得的模拟图像转换成数字数据,并且将其作为拍摄图像输出至存储单元1002。

摄像单元1003支持多个videosourcemode(视频源模式)以改变可使用的所要输出的图像数据的分辨率、帧频和压缩编码格式。通过稍后所述的setvideosourcemode命令,可以切换这些videosourcemode。

附图标记1004表示压缩编码单元。压缩编码单元1004基于诸如jpeg或者h.264等的格式,通过对于从摄像单元1003所输出的拍摄图像进行压缩编码处理生成图像数据,并且将其输出至存储单元1002。在压缩编码单元1004输出的图像数据的分辨率的种类和摄像单元1003的模式之间,存在如稍后所述的图5所示的依赖关系。

附图标记1005表示通信单元。在接收到来自外部装置的控制命令的情况下和向外部装置发送对于控制命令的响应的情况下,使用通信单元1005。

附图标记1006表示摄像控制单元。基于从控制单元1001所输入的平移角度、俯仰角度和变焦倍率值,使用摄像控制单元1006来控制俯仰机构1101、平移机构1102和变焦机构1003。摄像控制单元1006还响应于来自控制单元1001的询问,提供监视摄像机1000的当前平移角度值、俯仰角度值和变焦倍率值。

尽管参考图2说明了监视摄像机1000的内部结构,但是图2所示的处理块仅示出根据本发明的安全摄像机的优选实施例的例子,而并非是限制性的。在本信息的要旨的范围内,可以做出各种修改和改变,诸如设置音频输入单元和省略摄像控制单元等。

下面说明本实施例中所使用的命令和参数等的名称和内容。

接着,图4示出根据本实施例的监视摄像机1000所保持的参数的结构。

mediaprofile(媒体配置文件)6100是用于以相关联方式存储监视摄像机的设置项所设置的参数。mediaprofile6100包括作为mediaprofile6100的id的profiletoken(配置文件令牌)、videosourceconfiguration(视频源配置)6102和videoencoderconfiguration(视频编码器配置)6103。

mediaprofile6100还保持ptzconfiguration(ptz配置)6104,并且还链接到包括音频编码器等的各种类型的设置项。也就是说,这些链接将mediaprofile6100与ptzconfiguration6104相关联,并且还将其与包括音频编码器等的各种类型的设置项相关联。

videosource(视频源)6101是表示监视摄像机1000所包括的一个摄像单元1003的能力的参数集。videosource6101包括作为videosource6101的id的videosourcetoken(视频源令牌)和表示摄像单元1003能够输出的图像数据的分辨率的resolution(分辨率)。

注意,本实施例中的resolution对应于分辨率设置。

videosource6101还支持包括摄像单元1003能够输出的图像数据的最大分辨率、帧频和可用压缩编码格式的多个videosourcemode6105。也就是说,videosource6101与多个videosourcemode6105中的一个相关联。

此外,通过setvideosourcemode命令,可以切换与videosource6101相关联的videosourcemode。稍后说明videosourcemode6105。注意,以下将videosourcemode缩写为vsm。

videosourceconfiguration6102是用于将监视摄像机1000的videosource6101与mediaprofile6100相关联的参数集。videosourceconfiguration6102包括作为用于指定从videosource6101所输出的图像数据的哪一部分将被剪掉、以及哪一部分将被用作为分发图像的数据的bounds(边界)。

videoencoderconfiguration6103是用于将与图像数据的压缩编码有关的编码器设置与mediaprofile6100相关联的参数集。

监视摄像机1000中的摄像单元1003基于videosource6101和videosourceconfiguration6102,输出图像数据。

按照诸如对于videoencoderconfiguration6103所设置的压缩编码格式(例如,jpeg或者h.264)、帧频或者分辨率等的参数,使得输出图像数据经过压缩编码。经由通信单元1005,将这样压缩编码后的图像数据分发至客户端装置2000。

videoencoderconfiguration6103包括作为videoencoderconfiguration6103的id的videoencoderconfigurationtoken(视频编码器配置令牌)。

videoencoderconfiguration6103还包括用于指定压缩编码格式的encoding(编码)和用于指定来自监视摄像机1000的输出图像的分辨率的resolution。注意,本实施例中的encoding对应于压缩编码格式设置。

此外,videoencoderconfiguration6103包括用于指定压缩编码质量的quality(质量)和用于指定来自监视摄像机1000的输出图像的最大帧频的frameratelimit(帧频限制)。此外,videoencoderconfiguration6103包括用于指定最大位率的bitratelimit(位率限制)。

下面将videoencoderconfiguration缩写为vec。

ptzconfiguration6104是用于将与监视摄像机1000的平移机构1101、俯仰机构1102和变焦机构1103有关的设置与mediaprofile6100相关联的参数集。ptzconfiguration6104包括与表示平移机构、俯仰机构和变焦机构的实际平移/俯仰角度值和变焦倍率值的坐标系统有关的信息。

接着,参考图5说明监视摄像机1000所支持的vsm和与各vsm相一致的vec6103的设置内容。这里,图5是用于说明摄像单元1003和压缩编码单元1004之间的依赖关系的表。

图5所示的表被预先存储在监视摄像机1000中的存储单元1002中,并且在需要时,通过控制单元1001参考该表。

图5中的附图标记4000表示监视摄像机1000对于内部处理所使用的vsm的模式编号。根据本实施例的监视摄像机1000支持三种vsm,即,s1、s2和s3。也就是说,监视摄像机1000在存储单元1002中保持三种vsm。

附图标记4001代表表示摄像单元1003在各vsm下可以输出的最大分辨率的maxresolution(最大分辨率)参数。附图标记4002代表表示摄像单元1003在各vsm下可以输出的最大帧频的maxframerate(最大帧频)参数。

附图标记4003代表表示在各vsm下对于vec可用压缩编码格式的encoding参数。附图标记4004代表表示在切换至各vsm时是否要重新启动摄像单元1003的rebootflag(重启标志)参数。

例如,当通过setvideosourcemode命令,发生向与其值为true(真)的rebootflag4004相关联的vsm的切换时,发生监视摄像机1000的重新启动处理。

除参数4000~4003以外,vsm包括enabled(使能)标志。对于摄像单元1003当前所设置的有效vsm的enabled标志,被设置成true,并且将其它enabled标志的值设置成false(假)。

附图标记4005~4007表示通过setvideoencoderconfiguration(设置视频编码器配置)命令,从外部装置可以对于各vsm所设置的vec6103的参数的可设置范围和选项。

附图标记4005表示压缩编码格式选项。例如,这表示在vsm是s1的情况下,示出仅可选择h.264作为压缩编码格式。

附图标记4006表示作为vec的分辨率的resolution的选项。该设置值决定压缩编码单元1004所输出的分发图像的分辨率。例如,这表示在vsm为s2的情况下,可选择的分辨率有3200×2400,2048×1536,1024×768和640×480。

附图标记4007表示vec的frameratelimit的可设置范围。例如,这表示在videosourcemode为s3的情况下,可设置frameratelimit为1~30fps。

通过getvideoencoderconfigurationoptions(取得视频编码器配置选项)命令,将这些选项4005、4006和4007从监视摄像机1000通知至外部装置。

图6示出从开始设置到视频分发,监视摄像机1000和客户端装置2000之间的典型命令序列。这里,术语“事务”是指从客户端装置2000发送给监视摄像机1000的命令和从监视摄像机1000返回给客户端装置2000的响应的对。

附图标记7098表示网络订阅通知事件。监视摄像机1000通过向与该网络连接的外部装置进行多播将该事件发送至网络,以表示其现在能够接收命令。

附图标记7099表示getservicecapabilities(取得服务能力)命令事务。getservicecapabilities命令是用于指示监视摄像机1000返回表示监视摄像机1000所支持的能力的能力信息的命令。

该能力信息包括表示监视摄像机1000是否可与vsm切换兼容的信息。

附图标记7100表示getvideosourceconfigurations(取得视频源配置)命令事务。客户端装置2000使用该命令获得监视摄像机1000所保持的videosourceconfiguration6102列表。

附图标记7101表示getvideoencoderconfigurations(取得视频编码器配置)命令事务。客户端装置2000使用该命令获得监视摄像机1000所保持的vec6103列表。

附图标记7102表示getconfigurations(取得配置)命令事务。客户端装置2000使用该命令获得监视摄像机1000所保持的ptzconfiguration6104列表。

附图标记7103表示createprofile(创建配置文件)命令事务。客户端装置2000使用该命令针对监视摄像机1000创建新的mediaprofile6100,并且获得其profiletoken。

在这些命令的处理之后,监视摄像机1000发送mediaprofile变化通知事件,以通知网络上的客户端装置mediaprofile存在某种变化。

附图标记7104表示addvideosourceconfigruation(增加视频源配置)命令事务。附图标记7105表示addvideoencoderconfigruation(增加视频编码器配置)命令事务。附图标记7109表示addptzconfiguration(增加ptz配置)命令事务。

在这些命令中指定id,使得客户端装置2000能够将想要的videosourceconfiguration、vec和ptzconfiguration与通过该id所指定的mediaprofile相关联。

在这些命令的处理之后,监视摄像机1000发送mediaprofile变化通知事件,以通知网络上的客户端装置mediaprofile存在某种变化。

附图标记7106表示getvideoencoderconfigurationoptions命令事务。该命令使得客户端装置2000能够获得监视摄像机1000在通过id所指定的vec下可以接受的参数的选项和可设置值范围。

附图标记7107表示setvideoencoderconfiguration命令事务。客户端装置2000使用该命令设置videoencoderconfiguration6103的参数。在这些命令的处理之后,监视摄像机1000发送vec变化通知事件,以通知网络上的客户端装置vec存在某种变化。

附图标记7110表示getstreamuri(取得流uri)命令事务。客户端装置2000使用该命令获得监视摄像机1000的地址(uri),以基于所指定的mediaprofile的设置获得分发流。

附图标记7111表示describe(描述)命令事务。客户端装置2000使用在7110中所获得的uri执行该命令,以请求并获得与监视摄像机1000所进行的流分发的内容有关的信息。

附图标记7112表示setup(设定)命令事务。客户端装置2000使用在7110中所获得的uri执行该命令,从而使得监视摄像机1000和客户端装置2000可以在它们之间共享包括会话编号的流传输方法。

附图标记7113表示play(播放)命令事务。客户端装置2000使用在7112中所获得的会话编号执行该命令,以请求监视摄像机1000开始流。

附图标记7114表示分发流。监视摄像机1000通过在7112中所共享的传输方法,分发在7113中所请求开始的流。

附图标记7115表示teardown(截止)命令事务。客户端装置2000通过使用在7112中所获得的会话编号执行该命令,请求监视摄像机1000停止该流。

附图标记7116表示网络断开通知事件。监视摄像机1000通过向与该网络连接的外部装置进行多播将该事件发送至网络,以表示现在不能够接收命令。

图7示出在进行不涉及重新启动的vsm模式改变的情况下,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。

附图标记7200表示getservicecapabilities命令事务。getservicecapabilities命令是用于指示监视摄像机1000返回表示监视摄像机1000所支持的能力的能力信息的命令。该能力信息包括表示监视摄像机1000是否可与vsm切换兼容的信息。

附图标记7201表示getvideosourcemode命令事务。getvideosourcemode命令是用于指示监视摄像机1000返回具有客户端装置2000所指定的id的videosource6101所支持的vsm的列表的命令。

在客户端装置2000通过getservicecapabilities命令7200判断为监视摄像机1000可与vsm切换兼容的情况下,客户端装置2000使用该命令获得监视摄像机1000所支持的vsm。

在接收到getvideosourcemode命令时,监视摄像机1000的控制单元1001获得保存在存储单元1002中的、图5所示的vsms1~s3各自的参数,并且经由通信单元1005将其返回给客户端装置2000。

附图标记7202表示setvideosourcemode命令事务。setvideosourcemode命令是用于指示监视摄像机1000切换客户端装置2000所指定的videosource6101的vsm的命令。在切换vsm之后,监视摄像机1000的控制单元1001发送vsm变化通知事件以将vsm变化通知给网络上的客户端装置。

附图标记7203表示用于通过7202中所示的setvideosourcemode的切换,更新在videosourcemode和vec之间所发生的不一致的处理。在进行了该更新的情况下,监视摄像机1000的控制单元1001发送vec变化通知事件,并且通知网络上的客户端装置vec设置值和vec的设置值选项的再获得。

附图标记7204和7205表示getvideoencoderconfigurationoptions命令和getvideoencoderconfigurations命令事务。接收到了7203中所示的vec变化通知事件的客户端装置2000,使用这些命令获得更新后的vec设置值和vec设置值选项。

图8示出在进行涉及重新启动的vsm模式改变的情况下,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。对于7201及以前部分和7204及以后部分,图8与图7相同。

附图标记7399表示需要重新启动的vsm变化的setvideosourcemode命令事务。在这种情况下,监视摄像机1000此时不发送vsm变化通知事件。

附图标记7400表示用于通过在7399中所示的setvideosourcemode的切换,更新在vsm和vec之间所发生的不一致的处理。在这种情况下,监视摄像机1000此时不发送vec变化通知事件。

附图标记7401表示监视摄像机1000的重新启动处理。监视摄像机1000发送网络断开通知事件,进行重新启动处理,并且发送网络订阅通知事件。

附图标记7402和7403表示vsm变化通知事件和vec变化通知事件。监视摄像机1000在重新启动之后发送这些事件,并且提示客户端装置1000再获得设置值。

图13示出监视摄像机1000接收到来自客户端装置2000的setvideosourcemode命令的情况。

也就是说,在判断为从客户端装置接收到了setvideosourcemode命令的情况下,控制单元1001开始该处理。另一方面,在判断为从客户端装置2000没有接收到setvideosourcemode命令的情况下,控制单元1001不开始该处理。

在步骤s1000,控制单元1001经由通信单元1005停止正在分发的视频流。

在步骤s1001,控制单元1001判别所输入的vsm是s1~s3中的哪一个,从存储单元1002获得相关vsm的设置值,并且将所获得vsm设置值设置给摄像单元1003。

也就是说,控制单元1001首先从存储单元1002读出在从客户端装置2000所接收到的setvideosourcemode命令中所指定的vsm的设置值,并且将所读出的设置值设置给摄像单元1003。

在步骤s1002,控制单元1001将与在步骤s1001所判别的vsm相对应的enable(使能)标志设置成true,并且将与其它vsm相对应的enable标志设置成false。

在步骤s1003,控制单元1001向客户端装置2000发送正常响应。

在步骤s1004,控制单元1001参考在步骤s1001对其设置了设置值的vsm的rebootflag,并且判断vsm是否已被切换成了需要重新启动的vsm。在判断为需要重新启动的情况下,控制单元1001使得流程进入步骤s1020,并且在判断为不需要重新启动的情况下,使得流程进入步骤s1005。

在步骤s1005,控制单元1001经由通信单元1005发送vsm变化通知事件,以将vsm变化通知给网络上的客户端装置2000。

在步骤s1020,控制单元1001将vsm变化通知事件传输标志设置成on(开)。控制单元1001在稍后所述的重新启动处理中参考该标志。

在步骤s1021,控制单元1001将重新启动开始标志设置成on。控制单元1001在这些命令的处理结束之后,参考该标志,并且在该标志为on的情况下,控制单元1001在这些命令的处理之后,执行重新启动处理。

在步骤s1006,控制单元1001参考被存储在存储单元1003中的、图5所示的表,并且判断对于所存储的所有vec所设置的信息和与当前vsm相对应的vec的选项4005、4006和4007之间的一致性。这里,该信息是压缩编码格式encoding、分辨率和最大帧频frameratelimit。

在即使存在与这些选项不兼容的一个vec的情况下,控制单元1001也使得流程进入步骤s1007,否则,结束该命令的处理。

在步骤s1007,控制单元1001将在步骤s1006存在不一致的vec的参数,改变成相一致的内容。对于用于改变的方法,可以考虑各种实现。

例如,假定存在videoencoderconfiguration,其中,当vsm=s3时,encoding=jpeg、resultion=320×240,并且frameratelimit=25fps。

在vsm此时被从s3改变成s1的情况下,可以将videoencoderconfiguration中的encoding从jpeg改变成h.264。另外,在vsm此时被从s3改变成s1的情况下,可以将videoencoderconfiguration中的resolution从320×240改变成960×540。

此外,在vsm此时被从s3改变成s1的情况下,可以将videoencoderconfiguration中的frameratelimit从25fps改变成20fps。

在例如在encoding中发生了不一致的情况下,可以进行改变以使得在encoding列表的顶部与新的vsm相一致。

在例如在resolution中发生了不一致的情况下,可以进行改变以使得在resolution列表中按照相同次序与当前vsm相一致。也就是说,当进行从vsm=s3到s1的改变时,可以将对于作为s3的分辨率选项的顶部次序的1024×768所指定的vsm的分辨率,改变成作为s1的分辨率选项的顶部次序的resolution的3840×2160。

在例如frameratelimit中发生了不一致的情况下,可以进行向与新的vsm相一致的、这些值中的最接近值的改变。也就是说,当进行从vsm=s2到s1的改变时,可以将在s2下为28fps的frameratelimit,改变成s1下的20fps。

在步骤s1008,控制单元1001判断新的vsm是否建议需要重新启动。在不需要重新启动的情况下,流程进入步骤s1009,并且在需要重新启动的情况下,流程进入步骤s1030。

在步骤s1009,控制单元1001经由通信单元1005发送vec改变通知事件,以将vec变化通知给网络上的客户端装置。

在步骤s1020,控制单元1001将vec变化通知事件传输标志设置成on。控制单元1001在稍后说明的重新启动处理中参考该标志。

接着,图14示出监视摄像机1000接收到了来自客户端装置2000的上述getvideoencoderconfigurationoptions命令的情况下的处理。

在步骤s1100,控制单元1001通过参考enable标志,判别设置给当前videosource6101的vsm是s1~s3中的哪一个。

在步骤s1101、s1102和s1103,控制单元1001参考被存储在存储单元1002中的、图5中的表,并且获得与当前vsm相一致的、压缩编码格式encoding的选项。控制单元1001还参考被存储在存储单元1002中的、图5中的表,并且获得与当前vsm相一致的、vec的分辨率的选项和最大帧频frameratelimit的选项。

例如,在当前vsm是s3的情况下,获得h.264和jpeg作为压缩编码格式encoding的选项,并且获得1024×768、640×480、320×240和176×144作为resolution的选项。另外,在当前vsm是s3的情况下,获得1~30fps作为frameratelimit。

在步骤s1104,控制单元1001从存储单元1002获得不依赖于当前vsm的vec的选项和设置范围。例如,获得1~5作为quality的可设置范围,并且获得1~60mbps作为bitratelimit。

在步骤s1105,控制单元1001将在步骤s1101~步骤s1104所获得的选项和设置范围包含在正常响应中,并且经由通信单元1005将其返回给客户端装置2000。

接着,图15示出在监视摄像机1000接收到了来自客户端装置2000的上述setvideoencoderconfiguration命令的情况下的处理。

在步骤s1200,控制单元1001参考被存储在存储单元1003中的、图4所示的表,并且判断通过该命令所接收到的setvec中的信息输入是否与当前vsm相一致。该信息是分辨率resolution、压缩编码格式encoding和frameratelimit。

在甚至该信息中的一个信息不一致的情况下,控制单元1001也使得流程进入步骤s1210。

在步骤s1201,控制单元1001将通过该命令所接收到的vec的设置值存储在存储单元1002中,并且将其设置给压缩编码单元1004。注意,该命令包含quality、quality、bitratelimit、encoding、frameratelimit和resolution。

在步骤s1202,控制单元1001向客户端装置2000发送正常响应。

在步骤s1203,控制单元1001经由通信单元1005发送vec变化通知事件,以将vec变化通知给网络上的客户端装置。

在步骤s1210,控制单元1001向客户端装置2000发送错误响应。

接着,图16是重新启动处理。该处理是在紧接着命令的接收处理之后,在重新启动开始标志为on的情况下控制单元1001所执行的处理。

在步骤s1700,控制单元1001经由通信单元1005发送网络断开通知事件,以将开始重新启动通知给网络上的客户端装置。

在步骤s1701,控制单元1001进行监视摄像机1000的实际重新启动处理。

在步骤s1702,控制单元1001经由通信单元1005发送网络订阅通知事件,以将重新启动的完成通知给网络上的客户端装置。

在步骤s1703,控制单元1001判断vec变化通知传输标志。如果为on,则流程进入步骤s1704。

在步骤s1704,控制单元1001经由通信单元1005发送vec变化通知事件,以将vec变化通知给网络上的客户端装置。

在步骤s1705,控制单元1001判断vsm变化通知传输标志。如果为on,则流程进入步骤s1706。

在步骤s1706,控制单元1001经由通信单元1005发送vsm变化通知事件,以将vsm变化通知给网路上的客户端装置。

接着,图21示出适用于进行根据本实施例所述的监视摄像机1000的vsm和vec的设置的客户端装置2000的设置画面。

附图标记9000表示实时浏览区域。当打开该画面时,客户端装置2000执行上述图6所示的序列,并且将在事务7113中所获得的视频流显示在实时浏览区域中。

附图标记9001表示vsm选择区域。客户端装置2000通过与打开该设置画面结合所执行的getservicecapabilities事务7099,判断监视摄像机1000是否与vsm切换兼容。如果兼容,则将通过getvideosourcemode事务7200所获得的vsm列示在该区域中,从而使得用户可以选择其中一个,如9002所示。在该区域中选择了不同于当前所设置的vsm的vsm时,客户端装置2000执行setvideosourcemode命令以改变监视摄像机1000的vsm。

此时,客户端装置2000执行如上所述图7所示的事务,并且将对应于新设置的视频流显示在实时浏览区域9000上。客户端装置2000使用通过在图7的事务中的getvideoencoderconfigurationoptions命令所获得的结果,更新该画面中的视频编码器的参数的选项和设置范围。客户端装置2000因而可以不断地向用户提供与vsm相一致的vec设置值的选项和设置范围。

附图标记9003和9004表示用于切换视频编码设置画面,从而使得用户可以改变监视摄像机1000的vec6103的设置值的标签。尽管在本例子中,标签的数量为2,但是可以进行下面的配置:显示与通过监视摄像机1000所支持的getvideoencoderconfigurations命令所获得的vec6103的数量一样多个标签。

附图标记9005表示用户用来选择各vec的压缩编码格式的区域。当打开该设置画面时,显示用于通过图6的事务中包含的getvideoencoderconfigurationoptions所获得的压缩编码格式编码的选项。

可选地,当在vsm选择区域中选择新vsm时,显示用于通过图7的事务中包含的getvideoencoderconfigurationoptions命令所获得的压缩编码格式编码的选项。

附图标记9006表示当前可选择的编码,附图标记9007表示当前不可选择的编码。

附图标记9008表示用于选择vec6103中所包含的frameratelimit、bitratelimit和quality的detail(详情)区域,并且附图标记9011反映在打开该设置画面时,通过图6中所包括的getvideoencoderconfigurationoptions命令所获得的每一设置范围。

可选地,这些设置范围反映在vsm选择区域中选择新vsm时,通过图7的事务中所包含的getvideoencoderconfigurationoptions命令所获得的每一设置范围。

附图标记9012表示用于选择vec6103的分辨率resolution的区域。

下拉式列表9013显示当在打开该设置画面时,通过图6的事务中所包含的getvideoencoderconfigurationoptions所获得的resolution参数的选项的内容。

可选地,下拉式列表9013显示当在vsm选择区域中选择新vsm时,通过图7的事务中所包含的getvideoencoderconfigurationoptions命令所获得resolution参数的选项的内容。

附图标记9014表示应用按钮。在用户按下该按钮时,客户端装置2000向监视摄像机1000发送setvideoencoderconfiguration。通过该传输,将在9005、9008和9012中所选择的参数反映在监视摄像机1000的压缩编码单元中。

根据上述实施例,在通过客户端装置2000改变了vsm的情况下,监视摄像机1000进行下面的处理。该处理是用于将vec的设置的内容和通过getvideoencoderconfigurationoptions命令所提供的选项的内容更新成与vsm相一致的处理。

另外,在更新时,监视摄像机1000提示再获得vec的内容,而不管新vsm是否需要重新启动。这是为了防止在监视摄像机1000和客户端装置2000之间,发生摄像单元和压缩编码单元的设置值和可设置范围的不一致。也就是说,即使在改变摄像单元所生成的图像数据的分辨率的情况下,也可以防止发生压缩编码单元所生成的分发图像的、包括分辨率的各种设置的不一致,因而可以容易地进行改变分辨率之后的分发图像的生成和对设置值的进一步改变。

第二实施例

在第一实施例中,通过监视摄像机说明了用于进行本发明的形式,其中,监视摄像机根据摄像单元的模式的切换,将压缩编码单元的设置的内容和可设置选项更新成相一致,并且提示客户端装置再获得该设置值。

尽管第一实施例说明了将通过getvideoencoderconfigurationoptions命令所提供的压缩编码单元的分辨率的选项的类型限制成与vsm相一致,但是这不是限制性的。

可以进行下面的配置:通过getvideoencoderconfigurationoptions命令,始终向客户端装置提供所有分辨率的选项。然后与通过客户端装置2000使用setvideoencoderconfiguration命令所设置的压缩编码单元的新设置值一起,可以进行下面的处理。

也就是说,监视摄像机1000可以被配置成在内部将vsm切换成与其兼容的模式,并且向客户端装置2000发送通知以提示再获得更新后的vsm内容。

下面说明考虑到这点的第二实施例。注意,说明省略了与第一实施例相同的部分。

图1中的附图标记1000是示出根据本发明的一个实施例的监视摄像机的图。图2是包括监视摄像机1000的系统结构图。图3是示出监视摄像机1000的内部结构的图。图4是示出根据本实施例的监视摄像机1000所保持的参数的结构的图。图5中的表示出监视摄像机1000所支持的vsm和与各vsm相一致的vec6103的可设置范围的内容。

图6示出从开始设置到视频分发,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。

图9示出在改变压缩编码单元1004的输出分辨率的情况下,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。

附图标记7300表示用于更新vsm以解决由于如通过7107所示改变vec的设置而发生的vsm和vec之间的不一致的处理。在这里进行了未涉及重新启动的vsm更新的情况下,监视摄像机1000的控制单元1001发送vsm变化通知事件,以通知网络上的客户端装置再获得vsm。

附图标记7301和7302表示getvideoencoderconfigurationoptions命令和getvideoencoderconfigurations命令事务。接收到了通过7107所示的vec变化通知事件的客户端装置2000,通过这些命令获得更新后的vec设置值和vec设置值选项。

附图标记7303表示getvideosourcemode命令事务。接收到了7300中所示的vsm变化通知事件的客户端装置2000通过利用该事务参考更新后的vsm所包含的enable标志,可以确认vsm的更新。

图10示出在改变压缩编码单元1004的输出分辨率的情况下在监视摄像机1000和客户端装置2000之间所进行的、发生涉及重新启动的vsm更新的典型命令序列。对于7107及以前部分和7301及以后部分,图10与图9相同。

附图标记7500表示用于更新vsm以解决由于如7107所示改变vec的设置而发生的vsm和vec之间的不一致的处理。在这里进行了涉及重新启动的vsm更新的情况下,监视摄像机1000不发送vsm改变通知事件。

附图标记7502表示vsm变化通知事件。监视摄像机1000在重新启动之后发送该事件,并且提示客户端装置2000再获得设置值。

图17示出监视摄像机1000接收到了来自客户端装置2000的getvideosourceconfigurationoptions命令的情况下的处理。

在步骤s1300,控制单元1001参考被存储在存储单元1002中的、图4所示的表,并且不管vsm如何,都获得可假定的所有vec的分辨率选项。

在步骤s1301,控制单元1001参考被存储在存储单元1002中的、图4所示的表,并且获得可以假定的所有vec的压缩编码格式选项,即,jpeg、mepg4和h.264。

在步骤s1302,控制单元1001参考被存储在存储单元1002中的、图4所示的表,并且获得可以假定的所有vec的frameratelimit的最大值,其为30fps。

在步骤s1303,控制单元1001从存储单元1002获得不依赖于当前vsm的vec的选项和设置范围。例如,选择1~5作为quality的可设置范围,并且获得60mbps作为bitratelimit的设置值。

在步骤s1304,控制单元1001将在步骤s1300~步骤s1303所获得的选项和设置范围包含在正常响应中,并且经由通信单元1005将其返回给客户端装置2000。

图18示出监视摄像机1000接收到了来自客户端装置2000的上述setvideoencoderconfiguration命令的情况下的处理。

步骤s1201~s1203如上所述。

在步骤s1400,控制单元1001参考被存储在存储单元1002中的、图5所示的表,并且判断在通过该命令所接收到的vec中所设置的信息是否与当前vsm相一致。该信息是压缩编码格式encoding、分辨率resolution和最大帧频frameratelimit。

如果一致,则结束该命令处理。如果不一致,则控制单元1001使得流程进入步骤s1410。

在步骤s1410,控制单元1001参考被存储在存储单元1002中的、图4所示的表,并且将当前vsm切换成与在该命令中所输入的vec相一致的vsm。例如,在例如vsm是s1、并且resolution作为640×480被输入给该命令的情况下,将vsm切换成与该分辨率相一致的s3。

在步骤s1411,控制单元1001参考所设置的vsm的rebootflag,并且判断是否对于vsm进行了需要重新启动的改变。如果需要重新启动,则控制单元1001使得流程进入步骤s1010,并且如果不需要重新启动,则使得流程进入步骤s1005。

在步骤s1412,控制单元1001经由通信单元1005发送vsm变化通知事件,以将vsm变化通知给网络上的客户端装置。

在步骤s1411,控制单元1001参考被更新后的vsm的rebootflag,并且判断是否对于vsm进行了需要重新启动的改变。如果需要重新启动,则控制单元1001使得流程进入步骤s1420,并且如果不需要重新启动,则使得流程进入步骤s1412。

在步骤s1412,控制单元1001经由通信单元1005发送vsm变化通知事件,以将vsm变化通知给网络上的客户端装置。

在步骤s1420,控制单元1001将vsm变化通知事件传输标志设置成on。

在步骤s1421,控制单元1001将重新启动开始标志设置成on。

图16详细示出重新启动处理。

图21示出适用于客户端装置2000进行根据本实施例所述的监视摄像机1000的vsm和vec的设置的设置画面。

附图标记9012表示用于选择vec6103的分辨率resolution的区域。下拉式列表9013显示通过在打开该设置画面时所执行的getvideoencoderconfigurationoptions所获得的resolution参数的选项的内容。如图17所示,根据本实施例的监视摄像机1000提供从图5中的表所获得的所有分辨率作为选项,因而作为结果,下拉式列表9013显示所有分辨率。

在接收到了图18或者图16中所发送的vsm变化通知事件的情况下,客户端装置2000参考通过getvideosourcemode命令所获得的enable标志。客户端装置2000通过进行该参考,确定更新后的有效vsm,并且将其反映在vsm选择区域9001中。

根据上述第二实施例,监视摄像机1000提供可以假定的所有vec的设置内容作为选项,而不管当前vsm如何,并且将其提供给客户端装置2000。在指定了与当前vsm不一致的、包括压缩编码单元的分辨率的vec参数的情况下,在内部进行向相一致的vsm的更新。另外,在更新时,监视摄像机1000提示再获得vsm的内容,而不管新vsm是否需要重新启动。这是为了防止在监视摄像机1000和客户端装置2000之间,发生摄像单元和压缩编码单元的设置值和可设置范围的不一致。也就是说,即使在改变摄像单元所生成的图像数据的分辨率的情况下,也可以防止发生包括压缩编码单元所生成的分发图像的分辨率的各种设置的不一致,从而使得可以容易地进行改变分辨率之后的分发图像的生成和对设置值的进一步改变。

第三实施例

在第一和第二实施例中,作为用于提示客户端再获得vsm和vec设置值和设置范围的方法,示例性说明了vsm变化通知事件和vec变化通知事件,但是这不是限制性的。

可以进行下面的配置:在提示客户端再获得更新后的参数时,发送网络断开通知事件和网络订阅通知事件,从而提示再获得监视摄像机1000的设置值。

下面说明考虑到这点的本发明的第三实施例。注意,说明省略与第一和第二实施例相同的部分。

图1中的附图标记1000是示出根据本发明的一个实施例的监视摄像机的图。图2是包括监视摄像机1000的系统结构图。图3是示出监视摄像机1000的内部结构的图。图4是示出根据本发明的监视摄像机1000所保持的参数的结构的图。图5中的表示出监视摄像机1000所支持的vsm和与各vsm相一致的vec6103的可设置范围的内容。

图6示出从开始设置到视频分发,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。

图11示出从改变vsm设置到视频分发,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。对于7201及以前部分和7204及以后部分,图11与图7相同。

附图标记7600表示setvideosourcemode命令事务。setvideosourcemode命令是用于指示改变客户端装置2000所指定的videosource6101的vsm的命令。

附图标记7601表示用于更新由于7600所示的setvideosourcemode的切换而在vsm和vec之间所发生的不一致的处理。

附图标记7602表示监视摄像机1000的控制单元1001发送网络断开通知事件和网络订阅通知事件以将vsm和vec的变化通知给网络上的客户端装置的处理。在7600所示的vsm的切换需要重新启动的情况下,在网络断开通知事件和网络订阅通知事件之间,可以进行监视摄像机1000的重新启动处理。

图12示出在改变压缩编码单元1004的输出分辨率的情况下,在监视摄像机1000和客户端装置2000之间所进行的典型命令序列。对于7106及以前部分和7301及以后部分,图12与图9相同。

附图标记7700表示setvideoencoderconfiguration命令事务。该命令使得客户端装置2000设置videoencoderconfiguration6103的参数。

附图标记7701表示用于通过改变7700所示的vec的设置,更新vsm以解决在videosourcemode和vec之间所发生的不一致的处理。附图标记7702表示监视摄像机1000的控制单元1001发送网络断开通知事件和网络订阅通知事件,以将vsm和vec的变化通知给网络上的客户端装置的处理。在7701所示的vsm的切换需要重新启动的情况下,在网络断开通知事件和网络订阅通知事件之间,可以进行监视摄像机1000的重新启动处理。

图17示出监视摄像机1000接收到了来自客户端装置2000的getvideosourceconfigurationoptions命令的情况下的处理。

图19示出在监视摄像机1000接收到了来自客户端装置2000的setvideosource命令的情况下的处理。该附图中的s1503及以前的步骤与图13中的相同。

在步骤s1500,控制单元1001进行与步骤s1006相同的判断。在即使存在一个与这些选项不兼容的vec的情况下,控制单元1001也使得流程进入s1007,否则,使得流程进入s1502。

在步骤s1502和步骤s1505,控制单元1001经由通信单元1005发送网络断开通知事件和网络订阅通知事件,以将vsm和vec的变化通知给网络上的客户端装置。在步骤s1503,控制单元1001参考所设置的vsm的rebootflag,并且判断vsm是否被改变成了需要重新启动的vsm。在需要重新启动的情况下,控制单元1001执行步骤s1701,并且如果不需要重新启动,则使得流程进入步骤s1505。

图20示出在监视摄像机1000接收到了来自客户端装置2000的setvideoencoderconfiguration命令的情况下的处理。各步骤的处理与上述的相同,因而省略说明。

图21示出适用于进行根据本实施例所述的监视摄像机1000的vsm和vec的设置的客户端装置2000的设置画面。

根据上述第三实施例,在通过客户端装置2000改变了vsm和vec中的一个的情况下,监视摄像机1000更新另一个一致内容。另外,在更新时,不管是否需要重新启动,监视摄像机1000都向客户端装置2000发送网络断开通知事件和网络订阅通知事件。这是为了防止在监视摄像机1000和客户端装置2000之间,发生摄像单元和压缩编码单元的设置值和可设置范围的不一致。也就是说,即使在改变摄像单元所生成的图像数据的分辨率的情况下,也可以防止发生压缩编码单元所生成的分发图像的、包括分辨率的各种设置的不一致,从而可以容易地进行在改变分辨率之后的分发图像的生成和对设置值的进一步改变。

第四实施例

在本实施例中,说明可以将包括通过监视摄像机1000所生成的视频的媒体数据存储在监视摄像机1000的存储单元1002中的实施例。注意,说明省略与第一、第二或者第三实施例相同的部分。

图22示出根据本实施例的监视摄像机1000所保持的参数的结构。下面说明在本实施例中所使用的命令和参数等的名称和内容。

recordingjob(记录作业)6200是用于指定通过profiletoken(配置文件令牌)指定所要记录的媒体数据和作为通过稍后说明的recordingtoken(记录令牌)所指定的记录目的地文件的rcording的相关性的参数集。注意,本实施例中的recordingjob6200对应于记录作业。

recording(记录)6300是用于记录通过recordingjob6200相关联的媒体数据的文件。通过添加或者删除videotrack(视频跟踪)6301、audiotrack(音频跟踪)6302和metadatatrack(元数据跟踪)6303这三个轨迹中的各个,从视频数据、音频数据和媒体数据指定所要记录的数据。

注意,根据本实施例的metadatatrack6304对应于文本数据。根据本实施例的recording6300对应于记录文件。

通过作为各recording的id的recordingtoken,进行recording6300的选择。

recordingjob6200由指定记录目的地文件的recordingtoken和指定用于记录的元数据的recordingsource(记录源)6202构成。此外,recordingjob6200还由用于从外部指示开始/停止记录的mode(模式)、表示记录的优先级的priority(优先级)和表示视频记录的记录状态的state(状态)构成。

通过表示记录被停止的idle(空闲)、表示正在进行记录的active(活动)和表示发生了异常的error(错误)中的一个,表示nowstate(现在状态)。对于recordingjob6200,可以指定多个recordingsource6202。

注意,根据本实施例的recordingsource6202相当于记录源。另外,本实施例中的state相当于记录状态。

recordingsource6202由指定通过profiletoken所要记录的媒体数据的输出源的sourcetoken(源令牌)构成。recordingsource(记录源)6202还由表示recordingsource6202当前是否正被用于记录的state和用于选择所要记录的媒体数据的类型的videotrack6204构成。

此外,recordingsource6202还由audiotrack6205和metadatatrack6206构成。track(跟踪)6204、6205和6206各自保持表示当前是否正被用于记录的state。recordingsource的state、以及videotrack、audiotrack和metadatatrack的状态各自如下表示。也就是说,idle表示没有正被用于记录,active表示正在进行记录,并且error表示发生了异常。

注意,根据本实施例的idle和error对应于除所正在记录以外的状态。

图23表示从开始设置到进行记录,监视摄像机1000和客户端装置2000之间的典型命令序列。假定在图6中的命令序列中,已经进行了监视摄像机1000中的mediaprofile6100的设置。

附图标记7900表示getservices(取得服务)命令事务。getservices命令是一次针对一个服务来指示返回监视摄像机1000所支持的能力的命令。所返回的信息包括表示监视摄像机1000是否可以提供与媒体数据的记录有关的服务的信息。

附图标记7901表示getservicescapabilities命令事务。getservicescapabilities命令是指示返回表示监视摄像机1000所支持的能力的能力信息的命令。该能力信息包括与监视摄像机1000是否可以处理稍后所述的recording的生成/删除和track的生成/删除等有关的信息。

附图标记7902表示geteventproperties(取得事件属性)命令事务。geteventproperties命令是提供监视摄像机1000所支持的事件通知的类型的命令。

附图标记7903表示subscribe(订阅)命令事务。subscribe命令是指示监视摄像机1000所支持的事件的分发的命令。客户端装置2000执行上述subscribe命令,从而可以从监视摄像机1000接收稍后所述的trackcreation(跟踪创建)事件和configurationchange(配置改变)事件。

附图标记7904表示getrecordings(取得记录)命令事务。getrecordings命令是用于返回监视摄像机1000所保持的recording6300的列表的命令。监视摄像机1000返回被保存在存储单元1002中的所有recording6300的recordingtoken。

附图标记7905表示createrecordings(创建记录)命令事务。createrecordings命令是用于指示监视摄像机1000创建新recording6300的命令。在创建新recording时,监视摄像机1000发送recordingscreation(记录创建)事件。

附图标记7906表示createtracks(创建跟踪)命令事务。createtracks命令是给出与监视摄像机1000的指定recording6300有关的以下指示的命令。也就是说,根据需要,创建videotrack6301、audiotrack6302或者metadatatrack6303。

在正在创建新track时,监视摄像机1000发送trackcreation(跟踪创建)事件。

附图标记7907表示settrackconfiguration(设置跟踪配置)命令事务。可以通过settrackconfiguration命令,改变制定recording6300的track的设置值。

附图标记7908表示getrecordingjobs(取得记录作业)命令事务。getrecordingjobs命令是用于返回监视摄像机1000所保持的recordingjob6200的列表的命令。监视摄像机1000返回被保存在存储单元1002中的所有recordingjob6200的列表。

附图标记7909表示createrecordingjob命令事务。createrecordingjob(创建记录作业)命令是用于使得监视摄像机1000创建新recordingjob6200的命令。

附图标记7910表示setrecordingjobconfiguration(设置记录作业配置)命令事务。可以通过setrecordingjobconfiguration命令,改变指定recordingjob6200的设置值。

附图标记7911表示setrecordingjobconfiguration命令事务。可以通过setrecordingjobconfiguration命令,改变指定recordingjob6200的设置值。

附图标记7912和7913表示setrecordingjobmode(设置记录作业模式)命令事务。setrecordingjobmode命令是指示监视摄像机1000开始或者停止记录、并且切换指定recordingjob的模式的命令。例如,在7912中将mode改变成active、并且在7913中将mode改变成idle的情况下,按照当前recordingjob6200的设置值,进行7912和7913之间的记录。在正在进行记录时,recordingjob6200的state为active,并且在记录结束时,变成idle。

附图标记7930表示setvideosourcemode命令事务。图24说明该命令的详细处理。

接着,图24示出监视摄像机1000接收到了来自客户端装置2000的setvideosourcemode命令的情况下的处理。

在步骤s1800,控制单元1001判断是否存在经过了setvideosourcemode命令的videosource6101是记录对象的recordingjob6200。

具体地,控制单元1001判断在存储单元1002中是否存在诸如以下的recordingjob6200。也就是说,通过sourcetoken6203,指定包括参考当前videosource6101的videosourceconfiguration6102的mediaprofile6100作为记录对象的recordingjob6200。

如果存在这类recordingjob6200,则控制单元1001判断为存在该videosource被用于记录的可能性,并且使得流程进入步骤s1801。如果不存在,则控制单元1001使得流程进入步骤s1802,并且执行videosourcemode改变处理。videosourcemode改变处理是通过图13中的步骤s1000及以后的步骤所表示的处理。

在步骤s1801,对于当前videosource6101是记录对象的所有recordingjob6200,控制单元1001判断当前是否正在进行记录。具体地,判断recordingjob6200的state是否是active,即,是否正在进行记录。如果即使对于一个正在进行记录,则控制单元1001也判断为不能进行videosourcemode切换,并且在步骤s1803,向作为命令的发送源的客户端装置2000发送错误响应。在没有对于任何一个进行记录的情况下,控制单元1001使得流程进入步骤s1802。

接着,图25示出监视摄像机1000接收到了来自客户端装置2000的setvideosourcemode命令的情况下的处理。

在步骤s1900,控制单元1001判断是否存在经过了setvideoencoderconfiguration命令的videoencoderconfiguration6103是记录对象的recordingjob6200。

具体地,控制单元1001判断在存储单元1002中是否存在诸如以下的recordingjob6200。也就是说,通过sourcetoken6203,指定包括当前videoencoderconfiguration6103的mediaprofile6100作为记录对象的recordingjob6200。

如果存在这类recordingjob6200,则控制单元1001判断为存在该videoencoderconfiguration6103被用于记录的可能性,并且使得流程进入步骤s1901。如果不存在,则控制单元1001使得流程进入步骤s1902,并且进行videoencoderconfiguration改变处理。videoencoderconfiguration改变处理是通过图15中的步骤s1200及以后的步骤所表示的处理。

在步骤s1901,对于当前videoencoderconfiguration6103是记录对象的所有recordingjob6200,控制单元1001判断当前是否正在进行记录。具体地,判断recordingjob6200的state是否是active,即,是否正在进行记录。如果即使对于一个正在进行记录,则控制单元1001判断为不能进行videoencoderconfiguration改变,并且在步骤s1903,向作为命令的发送源的客户端装置2000,发送错误响应。在没有对于任何一个进行记录的情况下,控制单元1001使得流程进入步骤s1902。

根据上述第四实施例,控制监视摄像机1000以不改变对于记录所正使用的vsm或者vec,并且如果未正在用于记录,则进行改变。这样可以防止由于这两者的组合时的不一致所导致的记录中断。此外,可以实现监视数据的连续记录,并且还防止了在单个记录数据中包含多种类型的记录数据。因此可以实现能够进行更适当的重放的视频记录。

第五实施例

在第四实施例中,基于当前是否正在记录参考包括vsm和vec的mediaprofile的recordingjob,判断是否可以接受vsm和vec改变命令,但是这不是限制性的。可以进行下面的控制:判断recordingjob是否包含作为所要记录的数据的videotrack,并且如果videotrack不是记录对象,则即使当前正在进行记录,vsm和vec也是可以改变的。

此外,可以进行下面的控制:在下面的情况下,即使videotrack是记录对象、并且recordingjob的state是active,vsm和vec也是可以改变的。这是下面的情况:对于当前mediaprofile是sourcetoken的recordingssource(记录源),state为idle。这还是下面的情况:对于当前mediaprofile是sourcetoken的recordingssource的videotrack,state为idle。

作为第五实施例,下面说明实现上述内容的实施例。注意,说明省略了与第一~第四实施例相同的部分。

图22示出根据本实施例的监视摄像机1000所保持的参数的结构。下面说明本实施例中所使用的命令和参数等的名称和内容。

audiosource(音频源)6101是表示监视摄像机具有的声音采集单元的能力的参数集,并且包括作为audiosource6111的id的audiosourcetoken(音频源令牌)和声音采集单元可以输出的音频数据的位长参数。

audiosourceconfiguration(音频源配置)6112是用于将监视摄像机的audiosource6111与mediaprofile6100相关联的参数集。audioencoderconfiguration(音频编码器配置)6113是用于将与音频数据的压缩编码有关的编码器设置和mediaprofile6100相关联的参数集。

监视摄像机1000按照在audioencoderconfiguration6113中所设置的、诸如压缩编码格式(例如,g.711或者aac)或者位率等的以下参数,对音频数据进行压缩编码,并且将其分发给客户端装置2000。该音频数据是基于audiosource6111和稍后说明的audiosourceconfiguration6112的内容所输出的音频数据。

可选地,在通过recordingjob6200被指定为所要记录的数据的情况下,在开始记录时,在recording6300的audiotrack中进行记录。

audioencoderconfiguration6113指定作为audioencoderconfiguration6113的id的audioencoderconfigurationtoken。

audioencoderconfiguration6113还指定用于指定压缩编码格式的encoding、用于指定压缩编码质量的quality和输出音频的位率。audioencoderconfiguration可被缩写为aec。

附图标记7930表示图23中的setvideosourcemode命令事务。在图27中,详细说明该命令。

接着,图26是示出监视摄像机1000的内部结构的框图。在图26中,附图标记1007表示声音采集单元,并且由例如麦克风构成。声音采集单元1007对所获得的音频进行数字化,并且将数据输出给压缩编码单元1004。

附图标记1004表示压缩编码单元。压缩编码单元1004基于诸如jpeg或者h.264等的格式,通过对于从摄像单元1003所输出的数据进行压缩编码处理来生成图像数据,并且将其输出至存储单元1002。压缩编码单元1004基于诸如g.711或者aac等的格式,对于从声音采集单元1007所输出的数据进行压缩编码处理,并且将其输出至存储单元1002。

接着,参考图27说明监视摄像机1000接收到了来自客户端装置2000的setvideosourcemode命令的情况下的处理。

在步骤s2000,控制单元1001判断是否存在经过了setvideosourcemode命令的videosource6101是记录对象的recordingjob6200。

具体地,控制单元1001判断在任一recordingjob6200中是否存在将mediaprofile6100指定为sourcetoken6203中的记录对象的recordingsource6202。注意,mediaprofile6100包括参考当前videosource6101的videosourceconfiguration6102。

如果存在这类recordingsource6202,则控制单元1001判断为存在该videosource被用于记录的可能性,并且使得流程进入步骤s2001。如果不存在,则控制单元1001使得流程进入s1802,并且执行videosourcemode改变处理。videosourcemode改变处理是通过图13中的步骤s1000及以后的步骤所表示的处理。

在步骤s2001,控制单元1001判断在s2000所发现的使用videosource的任一recordingsource(记录源)6202是否包括videotrack。在不包括videotrack的情况下,控制单元1001使得流程进入s1802。如果存在包括videotrack的recordingsource6202,则控制单元1001使得流程进入步骤s2002。

在步骤s2002,控制单元1001基于诸如以下的recordingsource6202,判断videotrack的state是否是active,即,是否正在进行记录。也就是说,recordingsource6202的当前videosource6101是记录对象,并且recordingsource6202也包括videotrack。

如果即使对于一个正在进行记录,则控制单元1001也判断为不能进行videosourcemode切换,并且在步骤s1803,向作为命令的发送源的客户端装置2000发送错误响应。在没有对于任何一个正在进行记录的情况下,控制单元1001使得流程进入步骤s1802,其中,进行videosourcemode改变处理。

与步骤s2000~s2002相同的处理,适用于图25所示的setvideoencoderconfiguration命令处理,但是省略对其的说明。

根据上述第五实施例,即使在进行通过recordingjob参考vsm或者vec的记录的情况下,监视摄像机1000在videotrack的记录没有正在进行的情况下,也可以接受vsm和vec的设置改变。因此,在最大程度允许对于vsm和vec的设置改变的同时,可以实现监视数据的连续记录,并且还可以防止在单个记录数据中包含多种类型的记录数据。因此,可以实现能够进行更适合的重放的视频记录。

在第一和第二实施例中,说明了实现本发明的监视摄像机、应用程序和客户端装置的操作,但是实施例不局限于以上所述,并且可以进行如下部分改变。

(1)尽管说明了在步骤s1300提供可以假定的所有vec的分辨率选项的配置,但是这不是限制性的。例如,可以进行下面的配置:仅在从监视摄像机1000分发了特定分辨率的视频流的情况下,仅提供与当前vsm相一致的分辨率作为选项。

(2)尽管说明了在步骤s1410仅基于setvideoencoderconfiguration分辨率设置来选择和切换vsm的配置,但是这不是限制性的。另外,还可以考虑存在多方面相一致的vsm的情况。因此,除仅分辨率以外,还可以基于诸如压缩编码格式和frameratelimit等的其他多个压缩编码单元设置,来选择最相一致的vsm。

(3)尽管说明了在步骤s1301获得可以假定的所有vec的压缩编码格式作为选项的配置,但是这不是限制性的。例如,可以进行下面的配置:仅获得与所有vsm相一致的压缩编码格式选项。因此,尽管缩窄了所提供的选项的范围,但是可以防止在步骤s1201通过setvideoencoderconfiguration命令指定与此时所选择的vsm不一致的压缩编码格式这一情况。

(4)尽管说明了在步骤s1302获得可以假定的所有vec的frameratelimit的最大值的配置,但是这不是限制性的。例如,可以进行下面的配置:获得与所有vsm相一致的最大frameratelimit。因此,尽管缩窄了所提供的选项的范围,但是可以防止在步骤s1201通过setvideoencoderconfiguration命令指定与此时所选择的vsm不一致的frameratelimit这一情况。

(5)尽管在步骤s1701涉及监视摄像机1000的重新启动处理,但是在这里,对于重新启动,可以考虑各种形式的实现。例如,这可以是与改变后的vsm和vec的处理有关的执行处理的重新启动,或者可以是监视摄像机1000的操作系统等的重新启动。

(6)尽管对于图15中的7402和7403,说明了按照网络断开/订阅通知事件来发送者两个通知的配置,但是这不是限制性的,顺序可以颠倒。同样,在不脱离本发明的实质的情况下,可以颠倒图10的7107中所包括的videoencoderconfiguration变化通知事件和7502中的videosourcemode变化通知事件、以及网络断开/订阅通知事件的顺序。

(7)尽管对于第五实施例,说明了根据videotrack是否正被用于记录来判断是否可以改变vsm和vec的设置的配置,但是这不是限制性的。自然同样可以进行下面的配置:根据audiotrack是否正被用于记录来判断是否可以改变aec的设置。同样适用于进行下面的配置:根据metadatatrack是否正被用于记录来判断是否可以改变与metadata(元数据)有关的设置。

(8)基于记录开始触发器类型等,仅在具有高优先级的记录的情况下,才可以进行在步骤s1800和s1801是否可以改变vsm和vec的设置的切换。

本发明不局限于上述实施例,并且在不脱离本发明的范围和精神的情况下,可以做出各种改变和修改。因此,所附权利要求书公开本发明的范围。

本申请要求2013年3月15日提交的日本2013-053593号专利申请的优先权,其全部内容通过引用包含于此。

附图标记列表

1000监视摄像机

1001控制单元

2000客户端装置

4000videosourcemode

6101videosource

9001videosourcemode选择区域

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1