具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、***、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
如图1所示,本实施例提供了一种图像传输方法,应用于卫星监控***,上述图像传输方法具体包括:
步骤S101:控制云台移动至初始位置并以预设角速度进行旋转。
在具体应用中,云台是指用于安装、固定摄像设备的支撑设备,云台可以在控制指令的作用下实现360°旋转。云台上安装有用于拍摄的摄像设备,通过云台旋转到指定初始位置开始进行拍摄,并控制云台以预设角速度进行旋转,以使摄像设备能够拍摄到360°的视频图像。
在具体应用中,初始位置是指云台的旋转角度为0°(360°)的位置,需要说明的是,通过云台控制技术能够对云台进行旋转控制,还需要说明的是,0°(360°)位置是预先规定的位置,通过对云台参数进行初始化,使得云台移动至初始位置。
在具体应用中,通过卫星监控***向云台下发初始化控制指令,以使云台在接收到该初始化控制指令后,将云台移动至初始位置,并以预设角速度开始旋转。
在具体应用中,预设角速度可以根据实际需求进行设置,在此不加以限制。
步骤S102:采集当前图像数据。
在具体应用中,通过安装在云台上的摄像设备进行视频拍摄,采集到当前空间区域的当前图像数据。
在具体应用中,摄像设备会持续采集图像数据,随着云台的旋转完成对监测区域的图像采集。
在具体应用中,当云台回到初始位置后,卫星监控***会向摄像设备下发图像采集指令,摄像设备在接收到该图像采集指令后开始工作,持续采集图像数据。
步骤S103:根据所述云台的旋转角度确定所述当前图像数据的空间区域。
在具体应用中,通过预先将360°的摄像空间划分为N个空间区域,每个空间区域对应M°的视场角,即N=360°/M°。示例性的,将360°的摄像空间划分为15个空间区域,则每个空间区域对应的视场角为24°,即0°至24°为第一空间区域,24°至48°为第二空间区域,以此类推。
在具体应用中,根据云台的运动时间和预设角速度就能够计算得到云台的旋转角度,由于每个旋转角度都有对应的视场角范围,因此根据云台的旋转角度就确定此时拍摄的当前图像数据所属的空间区域。
步骤S104:获取所述空间区域的参考图像数据,并根据所述参考图像数据和所述当前图像数据计算图像差数据。
在具体应用中,当确定了当前图像数据所属的空间区域后,通过读取预存在卫星存储器中的该空间区域对应的参考图像数据,再比较当前图像数据与参考图像数据的差异,进而计算得到该参考图像数据与当前图像数据的图像差数据。
在具体应用中,上述参考图像数据为存储在卫星存储器中的该空间区域的上一时刻的图片数据,通过将采集到的图像数据按空间区域进行分类保存。
在具体应用中,通过图像相减技术计算对当前图像数据与参考图像数据的图像差数据。需要说明的是,图像相减技术是指在两幅图像之间对应像素做减法运算,以检测得到两幅图像的差异信息,目前实现图像相减的技术包括但不限于散斑干涉法、全息滤波法、干涉滤波法和光栅编码法。
在具体应用中,还可以通过图像差输出模型来确定当前图片数据和参考图片数据的图像差数据,将采集到的当前图片数据和参考图片数据输出到该图像差输出模型中,该图像差输出模型就会自动输出两幅图像之间的图像差数据。需要说明的是,上述图像差输出模型是预先构建和训练完成的卷积神经网络模型,例如VGG16神经网络模块、VGG19神经网络模型等。
步骤S105:将所述图像差数据发送至所述空间区域的视频服务器。
在具体应用中,当计算得到当前图像数据与参考图像数据之间的图像差数据之后,根据确定的空间区域,将该图像差数据发送到该空间区域对应的视频服务器中进行存储。视频服务器在获取到图像差数据后,根据该图像差数据在已存储的图像数据的基础上进行图像恢复,以得到完整的图像数据。
在具体应用中,通过卫星通信网络将该图像差数据发送到对应的视频服务器中。
在具体应用中,如图2所示,视频服务器会根据空间区域对视频数据进行分类存储,对于一组360°的全景图像数据,按照空间区域分为若干个存储区域,并将每组360°的全景图像数据中相同空间区域的图像数据存储在通过存储区中。
在具体应用中,视频服务器中也存储着每个空间区域对应的参考图像数据,该参考图像数据即为进行图像恢复的目标图像数据。即在该参考图像数据的基础上根据获取到的图像差数据进行图像恢复,以获取当前图像数据。
需要说明的是,保存恢复得到的当前图像数据,并将该当前图像数据作为下一次图像恢复的参考图像数据。
在一个实施例中,上述图像传输方法还包括以下步骤:
步骤S106:基于视场角划分空间区域。
在具体应用中,按摄像设备的视场角把摄像空间分割为若干个空间区域(m=360/n),摄像机云台以x的角速度旋转采集图像数据。
示例性的,如图3所示,将360°的摄像空间按每24°的视场角进行空间区域划分,得到15个空间区域。
在另一实施例中,上述图像传输方法还包括以下步骤:
步骤S107:检测是否存在所述空间区域的参考图像数据。
步骤S108:若存在所述空间区域的参考图像数据,则读取所述参考图像数据。
步骤S109:若不存在所述空间区域的参考图像数据,则将获取的当前图像数据更新为参考图像数据。
在具体应用中,在进行图像差数据计算之前,先检测卫星存储器中是否存储有该空间区域对应的参考图像数据,若卫星存储器中未存储该空间区域的参考图像数据,则将获取到的当前图像数据作为参考图像数据,并将该参考图像数据通过卫星通信网络发送至该空间区域对应的视频服务器中。若卫星存储器中存储有该空间区域对应的参考图像数据,则读取该图像数据,并与获取的当前图像数据进行图像差计算。
本实施例提供的图像传输方法,通过控制云台获取对应空间区域的当前图像数据,并与预存的参考图像数据进行比较,得到图像差,再将图像差传输至对应的视频服务器,只有在空间区域未存在参考图像数据时才传输采集到的当前图像数据,有效地减少了传输的数据量,通过分空间区域采集图像,并将对应空间区域内的相关图像差进行传输,有效地减少图像传输的数据量,优化图像传输的带宽占有率,既能保证图像传输的实时性,又能保证图像传输的清晰度,且有效减少占用的带宽,解决了目前卫星监控***的图像传输过程中存在带宽占有率高的问题。
实施例二:
如图4所示,在本实施例中,实施例一中的步骤S103具体包括:
步骤S201:根据云台旋转时间与所述预设角速度计算所述云台的旋转角度。
在具体应用中,根据云台旋转时间t和预设角速度X计算此时云台的旋转角度Y,即Y=t*X/360。
步骤S202:根据所述旋转角度确定所述旋转角度对应的视场角。
在具体应用中,在计算得到云台的旋转角度后,根据该旋转角度确定对应的视角场。
示例性的,若在划分空间区域时,将360°的摄像空间划分为15个空间区域,则每个空间区域对应的视场角为24°。当计算得到的云台旋转角度为12°时,则其对应的视角场为0°至24°的视角场;当计算得到的云台旋转角度为350°,则其对应的视角场为336°至360°的视角场。
步骤S203:获取所述视场角对应的空间区域。
在具体应用中,在划分空间区域时,每个视角场都有其唯一对应的空间区域,在确定了当前云台旋转角度对应的视场角后,就能确定其对应的空间区域。
示例性的,若在划分空间区域时,将360°的摄像空间划分为15个空间区域,则每个空间区域对应的视场角为24°,即0°至24°为第一空间区域,24°至48°为第二空间区域,以此类推。因此,当计算得到的云台旋转角度为12°时,则其对应的视角场为0°至24°的视角场,其对应的空间区域为第一空间区域;当计算得到的云台旋转角度为350°,则其对应的视角场为336°至360°的视角场,其对应的空间区域为第二空间区域。
需要说明的是,当计算得到的旋转角度大于360°时,则将该旋转角度减去360°直至得到小于360°的旋转角度。
实施例三:
如图5所示,在本实施例中,实施例一中的步骤S104具体包括:
步骤S301:获取所述空间区域的参考图像数据。
在具体应用中,在卫星存储器中读取与云台旋转角度对应的空间区域的参考图像数据。
步骤S302:对所述当前图像数据和所述参考图像数据中的对应像素点进行减法运算,获取图像差数据。
在具体应用中,图像之间的减法运算即两幅输入图像同一位置的像素点相减,若同一位置的像素点相同,则进行减法运算后该像素点的图像数据不会被保留,若同一位置的像素点不同,则进行减法运算后该像素点的图像数据就是两幅图像之间的差异数据,对每个像素点都进行减法运算,便能得到两幅图像之间的全部差异数据,即获取到当前图像数据和参考图像数据之间的图像差数据。
实施例四:
如图6所示,本实施例提供一种图像传输***100,用于执行实施例一中的方法步骤,其包括旋转控制模块101、图像采集模块102、区域确定模块103、图像差计算模块104以及传输模块105。
旋转控制模块101用于控制云台移动至初始位置并以预设角速度进行旋转。
图像采集模块102用于采集当前图像数据。
区域确定模块103用于根据所述云台的旋转角度确定所述当前图像数据的空间区域。
图像差计算模块104用于获取所述空间区域的参考图像数据,并根据所述参考图像数据和所述当前图像数据计算图像差数据。
传输模块105用于将所述图像差数据发送至所述空间区域的视频服务器。
在一个实施例中,上述图像传输***还包括划分模块、检测模块、读取模块以及更新模块。
上述划分模块用于基于视场角划分空间区域。
上述检测模块用于检测是否存在所述空间区域的参考图像数据。
上述读取模块用于若存在所述空间区域的参考图像数据,则读取所述参考图像数据。
上述更新模块用于若不存在所述空间区域的参考图像数据,则将获取的当前图像数据更新为参考图像数据。
需要说明的是,本发明实施例提供的图像传输***,由于与本发明图1所示方法实施例基于同一构思,其带来的技术效果与本发明图1所示方法实施例相同,具体内容可参见本发明图1所示方法实施例中的叙述,此处不再赘述。
因此,本实施例提供的一种图像传输***,同样能够通过控制云台获取对应空间区域的当前图像数据,并与预存的参考图像数据进行比较,得到图像差,再将图像差传输至对应的视频服务器,通过分空间区域采集图像,并将对应空间区域内的相关图像差进行传输,有效地减少图像传输的数据量,优化图像传输的带宽占有率,既能保证图像传输的实时性,又能保证图像传输的清晰度,且有效减少占用的带宽,解决了目前卫星监控***的图像传输过程中存在带宽占有率高的问题。
实施例五:
如图7所示,在本实施例中,实施例四中的区域确定模块103包括用于执行图4所对应的实施例中的方法步骤的结构,其包括图像采集单元201、视场角确定单元202以及区域获取单元203。
角度计算单元201用于根据云台旋转时间与所述预设角速度计算所述云台的旋转角度。
视场角确定单元202用于根据所述旋转角度确定所述旋转角度对应的视场角。
区域获取单元203用于获取所述视场角对应的空间区域。
实施例六:
如图8所示,在本实施例中,实施例四中的图像差计算模块104包括用于执行图5所对应的实施例中的方法步骤的结构,其包括图像获取单元301和图像相减单元302。
图像获取单元301用于获取所述空间区域的参考图像数据。
图像相减单元302用于对所述当前图像数据和所述参考图像数据中的对应像素点进行减法运算,获取图像差数据。
实施例七:
图9是本发明实施例七提供的终端设备的示意图。如图9所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如程序。所述处理器70执行所述计算机程序72时实现上述各个图片处理方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述***实施例中各模块/单元的功能,例如图6所示模块101至105的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成旋转控制模块、图像采集模块、区域确定模块、图像差计算模块以及传输模块,各模块具体功能如下:
旋转控制模块,用于控制云台移动至初始位置,并控制云台以预设角速度进行旋转;
图像采集模块,用于采集当前图像数据;
区域确定模块,用于根据所述云台的旋转角度确定所述当前图像数据的空间区域;
图像差计算模块,用于读取所述空间区域的参考图像数据,并基于所述参考图像数据和所述当前图像数据计算图像差数据;
传输模块,用于将所述图像差数据发送至所述空间区域的视频服务器。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端管理服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图9仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述***的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述无线终端中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的***/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的***/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,***或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述设置为分离部件说明的单元可以是或者也可以不是物理上分开的,设置为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并设置为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或***、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。