一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

远程控制方法及装置、电子设备、计算机可读存储介质与流程

2021-10-24 05:24:00 来源:中国专利 TAG:远程控制 电子设备 装置 可读 计算机


1.本技术涉及远程控制技术领域,具体而言,涉及一种远程控制方法及装置、电子设备、计算机可读存储介质。


背景技术:

2.相关技术中控制设备例如远程控制中心,控制受控设备例如机器人,两者之间经常涉及到相关数据例如视频流、指令等的交互,其中相关数据的交互主要是通过专线通道和专用频段来实现,成本较高,且交互过程中的传输效率也相对较低。


技术实现要素:

3.为解决上述技术问题,本技术的实施例提供了一种远程控制方法及装置、电子设备、计算机可读存储介质。
4.根据本技术实施例的一个方面,提供了一种远程控制方法,所述方法应用于控制设备,所述方法包括:接收受控设备通过至少两条传输链路发送的视频数据包;根据所述视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令;从所述至少两条传输链路中选择出最优的传输链路;通过所述最优的传输链路发送所述控制指令至所述受控设备,以使得所述受控设备根据所述控制指令执行相应操作。
5.根据本技术实施例的一个方面,提供了一种远程控制方法,所述方法应用于受控设备,所述方法包括:通过至少两条传输链路发送采集到的视频数据包至控制设备,以使得所述控制设备根据所述视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令,以及从所述至少两条传输链路中选择出最优的传输链路;接收所述控制设备通过所述最优的传输链路发送的所述控制指令;根据所述控制指令执行相应控制操作。
6.根据本技术实施例的一个方面,提供了一种远程控制装置,所述装置配置于控制设备中,所述装置包括:第一接收模块,配置为接收受控设备通过至少两条传输链路发送的视频数据包;显示及生成模块,配置为根据所述视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令;选择模块,配置为从所述至少两条传输链路中选择出最优的传输链路;第一发送模块,配置为通过所述最优的传输链路发送所述控制指令至所述受控设备,以使得所述受控设备根据所述控制指令执行相应操作。
7.根据本技术实施例的一个方面,提供了一种远程控制装置,所述装置配置于受控设备中,所述装置包括:第二发送模块,配置为通过至少两条传输链路发送采集到的视频数据包至控制设备,以使得所述控制设备根据所述视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令,以及从所述至少两条传输链路中选择出最优的传输链路;第二接收模块,配置为接收所述控制设备通过所述最优的传输链路发送的所述控制指令;执行模块,配置为根据所述控制指令执行相应控制操作。
8.根据本技术实施例的一个方面,提供了一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述
的远程控制方法。
9.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的远程控制方法。
10.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的远程控制方法。
11.在本技术的实施例提供的技术方案中,传输链路至少有两条,通过至少两条传输链路来传输受控设备采集到的视频数据包,相对于相关技术中通过一条专线通道传输而言,能够在极大程度上提升视频数据包的传输效率,并且相对于相关技术中通过专用频段传输而言,能够在一定程度上节省视频数据包的传输成本;同时由于控制设备的控制指令是通过从该至少两条传输链路中选择出的最优的传输链路进行传输,因此能够提升控制指令的传输效率,从而降低远程控制的延迟,使得远程控制的灵敏性和效率均更高。
12.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
13.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
14.图1是本技术的一示例性实施例示出的远程控制云架构示意图;
15.图2是本技术的一示例性实施例示出的远程控制方法的流程图;
16.图3是本技术的一示例性实施例示出的远程控制云架构多传输链路的示意图;
17.图4是图2所示实施例中的步骤s130在一示例性实施例中的流程图;
18.图5是本技术的一示例性实施例示出的区域划分的示意图;
19.图6是本技术的一示例性实施例示出的若控制设备接收完受控设备通过至少两条传输链路发送的对应区域的数据包,且接收到的数据包的第一累计总量未达到对应区域的第一最少数据包数量,则降低对应区域的清晰度等级的流程图;
20.图7是本技术的一示例性实施例示出的远程控制装置的框图;
21.图8是本技术的一示例性实施例示出的远程控制装置的框图;
22.图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
23.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相相同的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相相同的装置和方法的例子。
24.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
25.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
26.需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
27.云计算(cloud computing)指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机和网络技术发展融合的产物。
28.随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
29.云服务器就是一种以云计算技术为基础的服务器。在本技术的一个远程控制场景中,云服务器作为控制设备,机器人作为受控设备,两者进行交互;具体地,由机器人将采集到的视频数据流通过网络传输给云服务器,进而云服务器接收到视频数据流后进行相应解码,得到解码后的视频数据流,并将解码后的视频数据流进行显示,从而用户可以根据实际情况在视频显示界面中触发输入操作以生成控制指令,并将该控制指令通过网络传输给机器人,进而机器人接收到控制指令并执行控制指令所指示的相应操作。
30.请参阅图1,图1是本技术的一示例性实施例示出的远程控制云架构示意图。从图1所示的远程控制云架构中可以看出,云服务器20具有逻辑计算和编解码逻辑等,云服务器20接收机器人10通过网络传送过来的视频数据流并进行解码,得到解码后的视频数据流,并将解码后的视频数据流进行显示,这样用户可以根据实际情况在视频显示界面中进行输入操作从而以生成控制指令,云服务器20将该控制指令通过网络传输给机器人10,进而机器人10接收到控制指令并执行控制指令所指示的相应操作。云服务器20可支持接入输入设备30来生成控制指令。
31.需要说明的是,受控设备10可以是智能手机、平板电脑、笔记本电脑、台式计算机、机器人等设备,但并不局限于此。云服务器20是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。输入设备30可以是键盘、鼠标、游戏手柄等设备,本处也不对此进行限制。
32.在一些示例中,图1中所示的云服务器20也可以是独立的物理服务器,还可以是多个物理服务器构成的服务器集群或者分布式系统等,本处也不对此进行限制。
33.请参阅图2,图2是本技术的一示例性实施例示出的远程控制方法的流程图,该远程控制方法中所涉及的控制设备可以为图1所示远程控制云架构中的云服务器20,所涉及
的受控设备可以为图1所示远程控制云架构中的机器人10。如图2所示,远程控制方法至少包括步骤s110至步骤s230,详细介绍如下:
34.步骤s110,受控设备通过至少两条传输链路发送采集到的视频数据包至控制设备。
35.本实施例中受控设备指的是能够半自主或全自主工作的智能机器,例如机器人。其中受控设备可以具有采集视频的装置,例如摄像头;并且受控设备可以具有执行相应操作的装置,例如机械臂。
36.本实施例中传输链路指的是通信链路,其连接于受控设备和控制设备,能够实现将受控设备采集到的视频数据包传输至控制设备,以及实现将控制设备的控制指令传输至受控设备。需要说明的是,本实施例中的传输链路至少有两条,这样通过至少两条传输链路来传输视频数据包,相对于相关技术中通过一条专线通道传输而言,能够在极大程度上提升视频数据包的传输效率,并且相对于相关技术中通过专用频段传输而言,能够在一定程度上节省视频数据包的传输成本;也即,本实施例中受控设备通过至少两条传输链路来传输采集到的视频数据包,不仅能够提升视频数据包的传输效率还能节省传输成本。
37.请参阅图3所示,图3是本技术的另一示例性实施例示出的远程控制云架构示意图。从图3所示的远程控制云架构中可以看出,机器人10和云服务器20之间是通过至少两条传输链路传输视频数据包。在一些示例中,至少两条传输链路可以是由蜂窝网所形成的链路,例如5g基站、4g基站等。在一些示例中,至少两条传输链路可以是由无线网所形成的链路,例如wifi ap等。在一些示例中,至少两条传输链路可以是由蜂窝网和无线网所形成的链路,例如5g基站、4g基站、wifi ap等。
38.在一些示例中,通过至少两条传输链路传输视频数据包,具体可以是分别获取通过各条传输链路接收到的数据包的数量,并对至少两条传输链路接收到的数量进行求和运算,获得第一累计总量。其中分别获取通过各条传输链路接收到的数据包的数量,具体可以是通过先初始化各条传输链路接收到的数据包的数量,若监测到传输链路每接收到一个数据包,则控制相应传输链路接收到的数据包的数量累加1。
39.举例说明,设机器人10和云服务器20之间通过3条传输链路传输视频数据包,其中传输链路分别为l1、l2、l3,先对每条传输链路接收到的数据包的数量s2进行初始化,即s2(l1)=0,s2(l2)=0,s2(l3)=0,如果监测到传输链路每接收到一个数据包,则控制相应传输链路接收到的数据包的数量累加1,设在时间段t1内,s2(l1)=50,s2(l2)=25,s2(l3)=25,因此在时间段t1内,第一累计总量s1=s2(l1) s2(l2) s2(l3)=100。
40.本实施例中受控设备采集到的视频可以是通过摄像头等摄像采集装置实时采集到的视频,或者可以是接收到的用户上传的视频。其中如果是受控设备实时采集到的视频并将其发送给控制设备,可以实现控制设备侧对受控设备侧的相关环境的监测,以便控制设备根据监测结果对受控设备进行相应控制;例如在智能工厂的远程控制场景中,机器人实时采集工厂的施工环境形成视频流并通过至少两条传输链路发送给云服务器,进而云服务器能够快速接收到机器人发送的视频流,实现对工厂施工环境的监测。其中如果是用户上传的视频,可以是由用户通过移动设备例如智能手机、相机先采集到受控设备侧的相关环境的视频,然后将其上传至受控设备,进而受控设备将接收到的视频发送给控制设备,可以实现控制设备侧对受控设备侧的相关环境的监测,以便控制设备根据监测结果对受控设
备进行相应控制;例如还是在智能工厂的远程控制场景中,可能机器人不具有摄像采集装置,或者摄像采集装置临时发生故障等,此时相关工作人员可以采用外设摄像采集装置采集工厂的施工环境形成视频流并上传至机器人,机器人将接收到的视频流通过至少两条传输链路发送给云服务器,进而云服务器能够快速接收到机器人发送的视频流,实现对工厂施工环境的监测。
41.可以理解的是,视频在传输过程中是以视频流的形式进行传输,并且,视频流是划分为一个一个的数据包分别进行传输;例如整个视频流对应的数据大小为k,其分配为n个数据包进行传输,同时n个数据包分别对应的大小为[k1 k2 k3
……
kn],则理论上k=k1*1 k2*2 k3*3
……
kn*n,实际上k<k1*1 k2*2 k3*3
……
kn*n,这是因为每个数据包中会包含一些其他数据,例如视频流的总大小k、分为数据包的数据包总量n以及每个数据包的序号、大小等。
[0042]
步骤s130,控制设备接收受控设备通过至少两条传输链路发送的视频数据包。
[0043]
本实施例中受控设备通过至少两条传输链路发送采集到的视频数据包至控制设备,相应地,控制设备接收受控设备通过至少两条传输链路发送的视频数据包。
[0044]
步骤s150,控制设备根据视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令。
[0045]
本实施例中控制设备接收到受控设备通过至少两条传输链路发送的视频数据包后,会对视频数据包进行解码,从而得到解码后的视频,并且会将该解码后的视频进行显示,以便用户如控制设备侧的相关工作人员进行观看。在一些示例中,解码后的视频可以是解码后就直接进行显示,无需用户下发显示指令等,这样自动化程度更高。在一些示例中,解码后的视频也可以是在接收到用户下发显示指令时才进行显示,这样能够节省一定电量。
[0046]
可以理解的是,控制设备将解码后的视频进行显示后,用户可能会根据相关环境的监测情况实时进行管控,具体地,用户可以在视频显示界面中进行输入操作,从而生成对应的控制指令。
[0047]
在一些示例中,生成的控制指令可以为抓取控制指令,其中抓取控制指令用于指示受控设备进行抓取,这时受控设备需要根据抓取控制指令执行相应抓取操作;例如控制指令为抓取控制指令,则此时机器人执行抬手并手抓某一物体的动作。
[0048]
在一些示例中,生成的控制指令可以为移动控制指令,其中移动控制指令用于指示受控设备进行移动,这时受控设备需要根据移动控制指令执行相应移动操作;例如控制指令为移动控制指令,则此时机器人执行绕工厂走路、跑步、蹦跳的动作。
[0049]
在一些示例中,生成的控制指令可以为电源控制指令,其中电源控制指令用于指示受控设备进行电源开启或关闭,这时受控设备需要根据电源开关控制指令执行相应电源开启或关闭操作;例如控制指令为电源开启控制指令,则此时机器人执行电源开启的动作,或者例如控制指令为电源关闭控制指令,则此时机器人执行电源关闭的动作。
[0050]
步骤s170,控制设备从至少两条传输链路中选择出最优的传输链路。
[0051]
本实施例中控制设备根据用户的输入操作生成对应的控制指令后,会从至少两条传输链路中选择最优的传输链路,以通过最优的传输链路将控制指令发送给受控设备,这样能够对抗网络抖动等情况,降低远程控制的延迟,使得远程控制的灵敏性和效率更高。
[0052]
在一些示例中,控制设备从至少两条传输链路中选择出最优的传输链路,具体可以是分别获取各条传输链路的链路传输质量值,并根据各条传输链路的链路传输质量值,确定出链路传输质量值最小的传输链路,然后将确定的传输链路作为最优的传输链路。其中可以利用下述公式分别获取各条传输链路的链路传输质量值p:
[0053][0054]
上述公式中,p表示链路传输质量值,d表示第一链路参数,l表示第二链路参数,a表示第a条传输链路,i表示第i个第一链路参数,j表示第j个第二链路参数,w1表示获取到的具体第一链路参数值,w2表示获取到的具体第二链路参数值。
[0055]
可以理解的是,链路参数包括但不限于时延、丢包率、吞吐量等。其中时延指的是一个报文或分组从一个网络的一端传送到另一个端所需要的时间,它包括发送时延、传播时延、处理时延、排队时延,即时延=发送时延 传播时延 处理时延 排队时延,通常发送时延与传播时延是主要影响因素,对于报文长度较大的情况,发送时延是主要影响,对于报文长度较小的情况,传播时延是主要影响。其中丢包率指的是所丢失数据包数量占所发送数据包的比率,计算方法是“[(输入报文

输出报文)/输入报文]*100%”;丢包率通常与数据包长度以及包发送频率相关,一般千兆网卡在流量大于200mbps时,丢包率小于万分之五,百兆网卡在流量大于60mbps时,丢包率小于万分之一。其中吞吐量指的是在没有帧丢失的情况下,设备能够接受的最大速率。
[0056]
上述公式中第一链路参数可以是时延,第二链路参数可以是丢包率,即统计一段时间内时延这一链路参数对应的多个参数值,并更新在时延数组d[a,i]中,其中0<i≤w1;同时统计一段时间内丢包率这一链路参数对应的多个参数值,并更新在丢包率数组l[a,j]中,其中0<j≤w2。
[0057]
举例说明,例如设传输链路分别为l1、l2、l3,则通过上述公式可以计算得到传输链路l1的链路传输质量值p1,传输链路l2的链路传输质量值p2,以及传输链路l3的链路传输质量值p3;然后需要从p1、p2、p3中选择最小的链路传输质量值,设p2最小,则将p2对应的传输链路l2作为最优的传输链路。
[0058]
步骤s190,控制设备通过最优的传输链路发送控制指令至受控设备。
[0059]
本实施例中控制设备从至少两条传输链路中选择出最优的传输链路后,通过最优的传输链路发送控制指令至受控设备。
[0060]
步骤s210,受控设备接收控制设备通过最优的传输链路发送的控制指令。
[0061]
本实施例中控制设备通过最优的传输链路发送控制指令至受控设备,相应地,受控设备接收控制设备通过最优的传输链路发送的控制指令。
[0062]
本实施例中控制指令可以为抓取控制指令,或者控制指令可以为移动控制指令,或者控制指令可以为电源控制指令。
[0063]
步骤s230,受控设备根据控制指令执行相应控制操作。
[0064]
本实施例中受控设备接收控制设备通过最优的传输链路发送的控制指令后,根据控制指令执行相应控制操作。
[0065]
在一些示例中,如果控制指令为抓取控制指令时,受控设备需要根据抓取控制指令执行相应抓取操作。
[0066]
在一些示例中,如果控制指令为移动控制指令时,受控设备需要根据移动控制指令执行相应移动操作。
[0067]
在一些示例中,如果控制指令为电源控制指令时,受控设备需要根据电源开关控制指令执行相应电源开启或关闭操作。
[0068]
需要说明的是,本实施例中传输链路至少有两条,通过至少两条传输链路来传输受控设备采集到的视频数据包,相对于相关技术中通过一条专线通道传输而言,能够在极大程度上提升视频数据包的传输效率,并且相对于相关技术中通过专用频段传输而言,能够在一定程度上节省视频数据包的传输成本;同时由于控制设备的控制指令是通过从该至少两条传输链路中选择出的最优的传输链路进行传输,因此能够提升控制指令的传输效率,从而降低远程控制的延迟,使得远程控制的灵敏性和效率均更高。
[0069]
图4是图2所示实施例中的步骤s130在一示例性实施例中的流程图。如图4所示,控制设备接收受控设备通过至少两条传输链路发送的视频数据包的过程,可以包括步骤s131至步骤s137,详细介绍如下:
[0070]
步骤s131,控制设备获取视频画面中各个区域的清晰度要求信息,以及获取至少两条传输链路的综合传输质量值。
[0071]
本实施例中清晰度要求信息指的是视频画面中区域为何种清晰度的信息;其中视频画面中可以是存在多个区域的,并且对于不同区域的清晰度可以是不同的。因此,本实施例中可以先获取各个区域的清晰度要求信息;例如整个视频画面分为区域a1’和区域a2’,其中对于区域a1’是用户所关注的区域,一般情况下其对应的清晰度要求信息是清晰度较高的,如用户特别关注机器人手部动作区域,那么机器人手部动作区域对应的清晰度要求信息可以是超清,此时获取机器人手部动作区域对应的超清这一清晰度要求信息,而对于区域a2’是用户不怎么关注或关注度低的区域,一般情况下其对应的清晰度要求信息是清晰度较低的,如用户特别关注机器人手部动作区域,而对于机器人其他区域以及背景区域等则相应作为用户不怎么关注或关注度低的区域,那么机器人其他区域以及背景区域对应的清晰度要求信息可以是标清,此时获取机器人其他区域以及背景区域对应的标清这一清晰度要求信息。
[0072]
在一些示例中,获取视频画面中各个区域的清晰度要求信息,具体可以是根据历史视频画面中各个区域的像素点位置信息,对视频画面进行区域划分,以获得视频画面中各个区域,其中视频画面中各个区域的像素点位置和历史视频画面中各个区域的像素点位置相同;然后将历史视频画面中各个区域的清晰度要求信息映射到视频画面中各个区域的清晰度要求信息,其中历史视频画面和视频画面中相同区域的清晰度要求信息相同。
[0073]
也即,视频画面中的各个区域的清晰度要求,可以是根据历史视频画面中各个区域的清晰度要求所确定,且视频画面中各个区域像素点位置和历史视频画面中各个区域像素点位置相同;例如请参阅下表1,为一种示例的历史视频画面中各个区域的清晰度要求与视频画面中的各个区域的清晰度要求之间的关系表。
[0074][0075]
表1
[0076]
由表1可知,历史视频画面分为了区域a1和区域a2,则根据区域a1和区域a2的像素点位置对视频画面进行区域划分,请参阅图5,划分成了和区域a1像素点位置相同的区域a1’,和区域a2像素点位置相同的区域a2’,并且区域a1’的清晰度要求信息为超清,其和区域a1的清晰度要求信息超清相同(图5中未示意出),区域a2’的清晰度要求信息为标清,其和区域a2的清晰度要求信息标清相同(图5中未示意出)。
[0077]
值得注意的是,这里仅是以视频画面中划分为两个区域为示例进行说明,在实际应用中,可以根据应用场景进行灵活调整,例如划分为3个区域、4个区域等。
[0078]
本实施例中综合传输质量值指的是表征当前传输链路传输质量好坏的一个综合评价,综合传输质量值越小,则表征当前传输链路传输质量越好;其中综合传输质量值可以是通过对各条传输链路的链路传输质量值进行相应计算所确定出。
[0079]
在一些示例中,获取至少两条传输链路的综合传输质量值,具体可以是分别获取各条传输链路的链路传输质量值,然后对至少两条传输链路的链路传输质量值进行求和运算获得运算结果,并对运算结果进行平均值运算,获得综合传输质量值。
[0080]
举例说明,例如设传输链路分别为l1、l2、l3,则可以通过上述所示例公式计算得到传输链路l1的链路传输质量值p1,传输链路l2的链路传输质量值p2,传输链路l3的链路传输质量值p3,则此时综合传输质量值p=(p1(l1) p2(l2) p3(l3))/3。
[0081]
步骤s133,控制设备根据各个区域的清晰度要求信息和综合传输质量值,分别确定各个区域的清晰度等级。
[0082]
本实施例中清晰度等级指的是各个区域进行解码后的视频画面的清晰度;具体地,清晰度可以分为标清、高清、超清或者蓝光等。
[0083]
本实施例中获取到各个区域的清晰度要求信息和综合传输质量值,则可以根据各个区域的清晰度要求信息和综合传输质量值,确定各个区域的清晰度等级;例如请参阅下表2,为根据各个区域的清晰度要求信息和综合传输质量值,分别确定出的各个区域的清晰度等级的关系表。
[0084]
区域清晰度要求信息综合传输质量值清晰度等级a1’超清p<p1超清a1’超清p1≤p<p2高清a2’标清p<p1高清a2’标清p1≤p<p2标清
[0085]
表2
[0086]
由表2可知,针对同一区域,清晰度要求信息相同的情况下,综合传输质量值不同,所确定出的清晰度等级不同;其中综合传输质量值越小,则表征当前传输链路质量越好,从而确定出的清晰度等级越高。
[0087]
步骤s135,控制设备根据各个区域的清晰度等级和接收到的视频数据包中携带的各个区域的数据包总量,确定各个区域进行解码所需的第一最少数据包数量。
[0088]
本实施例中视频数据包中携带有视频本身所对应的所有数据包的数量;例如上述示例中,视频的数据包总量为n,并且n个数据包累加的大小(k1*1 k2*2 k3*3
……
kn*n)理论上要等于视频本身的大小k。可以理解的是,视频数据包中也同时携带了各个区域对应的所有数据包的数量;例如视频画面划分为了区域a1’和区域a2’,其中对于属于区域a1’的
数据包而言,每个数据包均携带了区域a1’的数据包总量,对于属于区域a2’的数据包而言,每个数据包均携带了区域a2’的数据包总量。
[0089]
本实施例中的第一最少数据包数量指的是区域进行解码所需要的最少数量的数据包,针对同一区域而言,其对应的第一最少数据包数量要小于其对应的数据包总量;例如设区域a1’的清晰度等级为高清,以及设接收到的数据包中携带的区域a1’的数据包总量为n1,而根据高清以及数据包总量n1,确定出区域a1’进行解码所需的第一最少数据包数量为q1,其中q1<n1。可以理解的是,对最少数量的数据包进行解码是可以得到解码后的区域的,并且解码后的区域所对应的视频画面与清晰度等级相适应;例如设根据高清这一清晰度等级,以及区域a1’的数据包总量n1,确定出区域a1’的第一最少数据包数量为q1,那么对q1个数据包进行解码,即可得到解码后的区域a1’,其中解码后的区域a1’所对应的视频画面是高清的。
[0090]
在一些示例中,根据各个区域的清晰度等级和接收到的视频数据包中携带的各个区域的数据包总量,确定各个区域进行解码所需的第一最少数据包数量,具体可以是获取各个区域的误码字节总量,其中区域的误码字节总量和对应区域的清晰度等级相匹配,然后根据各个区域的误码字节总量和预设数据包字节长度,确定各个区域可以丢弃的数据包数量,并对各个区域的数据包总量和对应区域可以丢弃的数据包数量进行求差运算,获得各个区域进行解码所需的第一最少数据包数量。
[0091]
本实施例中误码字节总量指的是视频在传输过程中可以丢弃的误码字节的最大数量。可以理解的是,字节是计算机信息技术用于计量存储容量的一种计量单位,一个字节存储8位无符号数,存储的数值范围为0

255;因此,本实施例中可以以字节为计量单位计算可以丢弃的最大数量的误码字节。其中不同清晰度等级对应的可以丢弃的误码字节总量不同,通常而言,区域的清晰度等级越高,则可以丢弃的误码字节总量越少;例如请参阅下表3,为一种示例的某一区域清晰度等级与误码字节总量的关系表。
[0092]
清晰度等级误码字节总量蓝光b1超清b2高清b3标清b4
[0093]
表3
[0094]
由表3可知,不同清晰度等级对应的误码字节总量不同,其中b1<b2<b3<b4。
[0095]
本实施例中预设数据包字节长度指的是数据包对应的字节长度。可以理解的是,不同协议或不同应用场景下数据包的字节长度通常不同,其中可以从数据包的预设字段中获取到数据包对应的字节长度。在一些示例中,可以从接收到的多个数据包中,分别获取多个数据包对应的字节长度,如果多个数据包分别对应的字节长度不相同,则根据用户的输入操作生成对应的预设数据包长度。在一些示例中,可以从接收到的多个数据包中,分别获取多个数据包分别对应的字节长度,如果多个数据包分别对应的字节长度相同,则将字节长度作为预设数据包长度。
[0096]
其中,在获取到区域的误码字节总量和预设数据包字节长度后,需要根据该区域的误码字节总量和预设数据包字节长度,确定该区域可以丢弃的数据包数量。
[0097]
其中,在获取到区域的数据包总量和区域可以丢弃的数据包数量后,需要对两者进行求差运算,从而获得该区域进行解码所需的第一最少数据包数量;例如请参阅下表4,为一种示例的确定各个区域进行解码所需的第一最少数据包数量的关系表。
[0098]
区域数据包总量可以丢弃的数据包数量第一最少数据包数量a1’n1b1q1=n1

b1a2’n2b2q2=n2

b2
[0099]
表4
[0100]
由表4可知,根据不同区域的数据包总量和可以丢弃的数据包数量,可以确定出对应区域的第一最少数据包数量。
[0101]
步骤s137,控制设备在接收受控设备通过至少两条传输链路发送的对应区域的数据包的过程中,若接收到的数据包的第一累计总量达到对应区域的第一最少数据包数量,则终止接收对应区域的数据包;其中,第一最少数据包数量对应的数据包在解码后,得到与对应区域的清晰度等级相适应的视频画面。
[0102]
本实施例中接收到的数据包的第一累计总量指的是在数据包的接收过程中,会对接收到的对应区域的数据包的数量进行累加,从而得到对应区域当前接收到的数据包的累计总量。
[0103]
本实施例中是在接收区域的数据包的过程中,对接收到的数据包的第一累计总量进行监测,如果在监测接收到的数据包的第一累计总量达到了对应区域的第一最少数据包数量,则表征此时接收到的数据包已经能够实现该区域的解码,因此需要终止接收该区域的数据包,从而以节省该区域其他数据包的接收时间,实现该区域的快速解码。例如在监测到接收到的数据包的第一累计总量达到区域a1’对应的第一最少数据包数量q1,则此时终止接收区域a1’的数据包,同样地,在监测到接收到的数据包的第一累计总量达到区域a2’对应的第一最少数据包数量q2,则此时也终止接收区域a2’的数据包。
[0104]
需要说明的是,本实施例中通过根据视频画面中的各个区域的清晰度要求信息,以及至少两条传输链路的综合传输质量值,实现了不同区域进行不同清晰度等级画面的解码显示,避免了始终将视频画面中的各个区域进行相同清晰度等级画面的解码显示,灵活性差的现象;例如实现了将用户并不关心的区域和用户所关心的区域进行不同清晰度等级画面的解码显示,其中用户并不关心的区域可以进行较低清晰度等级画面的解码显示,而用户所关心的区域则可以进行较高清晰度等级画面的解码显示,由此在极大程度上提升了同一视频数据包解码显示的灵活性,兼容了在提升视频数据包的传输效率的同时,提升用户体验感。
[0105]
需要说明的是,本实施例中通过根据各个区域的清晰度等级和接收到的视频数据包中携带的各个区域的数据包总量,确定出各个区域进行解码所需的第一最少数据包数量;这样在接收对应区域的数据包的过程中,只需接收与该对应区域的第一最少数据包数量匹配的数据包,然后根据接收到的与该对应区域的第一最少数据包数量匹配的数据包进行解码即可,而无需等待接收该对应区域的所有数据包,并无需在所有数据包接收完毕之后才进行解码,由此在极大程度上提升了视频解码效率。
[0106]
请参阅图6,图6是本技术的另一示例性实施例示出的远程控制方法的流程图。如图6所示,方法还可以包括步骤s139,详细介绍如下:
[0107]
步骤s139,若控制设备接收完受控设备通过至少两条传输链路发送的对应区域的数据包,且接收到的数据包的第一累计总量未达到对应区域的第一最少数据包数量,则降低对应区域的清晰度等级,以使得在接收受控设备通过至少两条传输链路发送的下一视频数据包的过程中,根据对应区域降低后的清晰度等级和数据包总量,确定和对应区域像素位置相同的区域进行解码所需的第二最少数据包数量。
[0108]
本实施例中如果控制设备接收完受控设备通过至少两条传输链路发送的对应区域的数据包,且接收到的数据包的第一累计总量未达到对应区域的第一最少数据包数量,则表征此时网络不是很好,存在网络堵塞等情况,因此可以降低对应区域的清晰度等级,以便于下一视频对应的视频画面中和该对应区域像素点位置相同的区域的快速传输和解码。
[0109]
在一些示例中,还可以根据预设数据包接收时长来确定是否降低对应区域的清晰度等级,具体可以是如果在预设数据包接收时长内控制设备接收完受控设备发送的对应区域的所有数据包,且接收到的数据包的第一累计总量未达到第一最少数据包数量,则降低对应区域的清晰度等级。其中可以是设置定时器,为定时器设定一个预设数据包接收时长,定时器从开始接收对应区域的数据包便进行计时,如果在定时器设定的预设数据包接收时长到达时,控制设备接收完受控设备发送的对应区域的所有数据包,且接收到的数据包的第一累计总量未达到第一最少数据包数量,则此时可以降低对应区域的清晰度等级,以便于下一视频对应的视频画面中和该对应区域像素点位置相同的区域的快速传输和解码。
[0110]
可以理解的是,在控制设备在接收受控设备通过至少两条传输链路发送的下一视频数据包的过程中,可以根据对应区域降低后的清晰度等级和数据包总量,确定和对应区域像素点位置相同的区域进行解码所需的第二最少数据包数量,如果接收到的数据包的第二累计总量达到第二最少数据包数量,则此时终止接收下一视频对应区域的数据包,并对接收到的第二最少数据包数量的数据包进行解码,以获得解码后的下一视频对应区域,其中解码后的下一视频对应区域的清晰度等级低于当前视频对应区域的清晰度等级。
[0111]
举例说明,设当前受控设备需要将采集到视频1和视频2发送至控制设备,其中发送顺序是视频1,然后是视频2,以及视频1对应的视频画面分为区域a1’和区域a2’,视频2对应的视频画面分为区域b1’和区域b2’,区域a1’和区域b1’的像素点位置相同,且确定出的清晰度等级都是“超清”,区域a2’和区域b2’的像素点位置相同,且确定出的清晰度等级都是“标清”。其中在接收视频1的区域a1’的数据包的过程中,如果控制设备接收完受控设备发送的区域a1’的所有数据包,且接收到的数据包的第一累计总量85未达到第一最少数据包数量90,则根据接收到的85个数据包进行解码,得到解码后的区域a1’,并同时将清晰度等级“超清”降低为“高清”。其中在接收视频2的区域b1’的数据包的过程中,根据清晰度等级“高清”和区域b1’的数据包总量,确定区域b1’进行解码所需的第二最少数据包数量,设区域a1’的数据包总量和区域b1’的数据包总量相同(在实际应用中也可以不相同),此时确定出第二最少数据包数量为80个,则在接收区域b1’的数据包的过程中,若接收到的数据包的第二累计总量达到第二最少数据包数量80,则终止接收区域b1’的数据包,并根据接收到的第二最少数据包数量所匹配的80个数据包进行解码,得到解码后的区域b1’。同理,对区域a2’和区域b2’进行类似的解码,这里不再重复赘述,至此完成两个视频的解码;并且,通常而言,受控设备是一个视频的数据包发送完,再发送下一视频的数据包,此处示例是为了体现前一视频对应区域降低后的清晰度等级,对下一视频中与之像素点位置相同区域的最
少数据包数量的影响。
[0112]
需要说明的是,本实施例中通过控制设备接收完受控设备通过至少两条传输链路发送的对应区域的数据包,且接收到的数据包的第一累计总量未达到对应区域的第一最少数据包数量时,则降低对应区域的清晰度等级,以匹配当前的网络情况,保证了受控设备所发送的后续场景视频画面中与之像素点位置相同的区域能够快速地传输和解码。
[0113]
图7是本技术的一示例性实施例示出的远程控制装置的框图,其中,该远程控制装置配置于控制设备中。如图7所示,该装置包括:
[0114]
第一接收模块410,配置为接收受控设备通过至少两条传输链路发送的视频数据包;
[0115]
显示及生成模块430,配置为根据视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令;
[0116]
选择模块450,配置为从至少两条传输链路中选择出最优的传输链路;
[0117]
第一发送模块470,配置为通过最优的传输链路发送控制指令至受控设备,以使得受控设备根据控制指令执行相应操作。
[0118]
本实施例中传输链路至少有两条,通过至少两条传输链路来传输受控设备采集到的视频数据包,相对于相关技术中通过一条专线通道传输而言,能够在极大程度上提升视频数据包的传输效率,并且相对于相关技术中通过专用频段传输而言,能够在一定程度上节省视频数据包的传输成本;同时由于控制设备的控制指令是通过从该至少两条传输链路中选择出的最优的传输链路进行传输,因此能够提升控制指令的传输效率,从而降低远程控制的延迟,使得远程控制的灵敏性和效率均更高。
[0119]
在另一示例性的实施例中,第一接收模块410包括:
[0120]
获取单元,配置为获取视频画面中各个区域的清晰度要求信息,以及获取至少两条传输链路的综合传输质量值;第一确定单元,配置为根据各个区域的清晰度要求信息和综合传输质量值,分别确定各个区域的清晰度等级;第二确定单元,配置为根据各个区域的清晰度等级和接收到的视频数据包中携带的各个区域的数据包总量,确定各个区域进行解码所需的第一最少数据包数量;接收单元,配置为在接收受控设备通过至少两条传输链路发送的对应区域的数据包的过程中,若接收到的数据包的第一累计总量达到对应区域的第一最少数据包数量,则终止接收对应区域的数据包;其中,第一最少数据包数量对应的数据包在解码后,得到与对应区域的清晰度等级相适应的视频画面。
[0121]
在另一示例性的实施例中,获取单元包括:
[0122]
区域划分单元,配置为根据历史视频画面中各个区域的像素点位置信息,对视频画面进行区域划分,以获得视频画面中各个区域;其中,视频画面中各个区域的像素点位置和历史视频画面中各个区域的像素点位置相同;映射单元,配置为将历史视频画面中各个区域的清晰度要求信息映射到视频画面中各个区域的清晰度要求信息;其中,历史视频画面和视频画面中相同区域的清晰度要求信息相同。
[0123]
在另一示例性的实施例中,获取单元包括:
[0124]
第一获取子单元,配置为分别获取各条传输链路的链路传输质量值;求和单元,配置为对至少两条传输链路的链路传输质量值进行求和运算,获得运算结果;求平均单元,配置为对运算结果进行平均值运算,获得综合传输质量值。
[0125]
在另一示例性的实施例中,第二确定单元包括:
[0126]
第二获取子单元,配置为获取各个区域的误码字节总量;其中,区域的误码字节总量和对应区域的清晰度等级相匹配;第一确定子单元,配置为根据各个区域的误码字节总量和预设数据包字节长度,确定各个区域可以丢弃的数据包数量;第一求差单元,配置为对各个区域的数据包总量和对应区域可以丢弃的数据包数量进行求差运算,获得各个区域进行解码所需的第一最少数据包数量。
[0127]
在另一示例性的实施例中,该装置还包括:
[0128]
降低模块,配置为若接收完受控设备通过至少两条传输链路发送的对应区域的数据包,且接收到的数据包的第一累计总量未达到对应区域的第一最少数据包数量,则降低对应区域的清晰度等级,以使得在接收受控设备通过至少两条传输链路发送的下一视频数据包的过程中,根据对应区域降低后的清晰度等级和数据包总量,确定和对应区域像素点位置相同的区域进行解码所需的第二最少数据包数量。
[0129]
在另一示例性的实施例中,显示及生成模块430包括:
[0130]
第三获取子单元,配置为分别获取各条传输链路的链路传输质量值;第三确定单元,配置为根据各条传输链路的链路传输质量值,确定出链路传输质量值最小的传输链路,将确定的传输链路作为最优的传输链路。
[0131]
在另一示例性的实施例中,第三获取子单元,还配置为利用下述公式分别获取各条传输链路的链路传输质量值,
[0132]
公式为:
[0133][0134]
其中,p表示链路传输质量值,d表示第一链路参数,l表示第二链路参数,a表示第a条传输链路,i表示第i个第一链路参数,j表示第j个第二链路参数,w1表示获取到的具体第一链路参数值,w2表示获取到的具体第二链路参数值。
[0135]
图8是本技术的一示例性实施例示出的远程控制装置的框图,其中,该远程控制装置配置于受控设备中。如图8所示,该装置包括:
[0136]
第二发送模块510,配置为通过至少两条传输链路发送采集到的视频数据包至控制设备,以使得控制设备根据视频数据包显示解码后的视频,并根据用户的输入操作生成对应的控制指令,以及从至少两条传输链路中选择出最优的传输链路;
[0137]
第二接收模块530,配置为接收控制设备通过最优的传输链路发送的控制指令;
[0138]
执行模块550,配置为根据控制指令执行相应控制操作。
[0139]
本实施例中传输链路至少有两条,通过至少两条传输链路来传输受控设备采集到的视频数据包,相对于相关技术中通过一条专线通道传输而言,能够在极大程度上提升视频数据包的传输效率,并且相对于相关技术中通过专用频段传输而言,能够在一定程度上节省视频数据包的传输成本;同时由于控制设备的控制指令是通过从该至少两条传输链路中选择出的最优的传输链路进行传输,因此能够提升控制指令的传输效率,从而降低远程控制的延迟,使得远程控制的灵敏性和效率均更高。
[0140]
在另一示例性的实施例中,执行模块550包括:
[0141]
第一执行单元,配置为若第一控制指令为抓取控制指令,则根据抓取控制指令执
行抓取操作;其中,抓取控制指令用于指示受控设备进行抓取;第二执行单元,配置为若第一控制指令为移动控制指令,则根据移动控制指令执行移动操作;其中,移动控制指令用于指示受控设备进行移动;第二执行单元,配置为若第一控制指令为电源控制指令,则根据电源开关控制指令执行电源开启或关闭操作;其中,电源控制指令用于指示受控设备进行电源开启或关闭。
[0142]
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
[0143]
本技术的实施例还提供了一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前的远程控制方法。
[0144]
图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0145]
需要说明的是,图9示出的电子设备的计算机系统1600仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0146]
如图9所示,计算机系统1600包括中央处理单元(central processing unit,cpu)1601,其可以根据存储在只读存储器(read

only memory,rom)1602中的程序或者从储存部分1608加载到随机访问存储器(random access memory,ram)1603中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在ram 1603中,还存储有系统操作所需的各种程序和数据。cpu1601、rom 1602以及ram 1603通过总线1604彼此相连。输入/输出(input/output,i/o)接口1605也连接至总线1604。
[0147]
以下部件连接至i/o接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1607;包括硬盘等的储存部分1608;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至i/o接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入储存部分1608。
[0148]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被中央处理单元(cpu)1601执行时,执行本技术的系统中限定的各种功能。
[0149]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read

only memory,cd

rom)、光存储器件、磁存储器件、或者上述的任
意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0150]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0151]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0152]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的远程控制方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
[0153]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的远程控制方法。
[0154]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜