视频帧传输方法、探测器及用户设备与流程

文档序号:14943028发布日期:2018-07-13 21:33

本发明涉及工业内窥镜技术领域,尤其涉及一种视频帧传输方法、探测器及用户设备。



背景技术:

随着工业的发展和科技的进步,内窥镜被应用到诸如工业生产,工业探伤,医疗,甚至日常生活的方方面面。

工业内窥镜,也可称为探测器,其功能用于观察肉眼不能观察到的部位,可在不需拆卸或破坏组装及设备停止运行的情况下,实现无损检测。其基本原理是通过镜头拍摄预检查对象的内部环境,并将拍摄的视频流发送给用户设备,用户设备用于显示该视频流。

然而,基于无线通信方式与用户设备进行传输的无线工业内窥镜,由于受无线网络带宽窄,易被干扰,网速波动性大的影响,普遍存在误码率大,传输的图像质量不高的问题。



技术实现要素:

本发明实施例提供一种视频帧传输方法、探测器及用户设备,可以提升视频帧的传输质量,降低视频帧的误码率。

第一方面,本发明实施例提供一种视频帧传输方法,包括:

将采集的视频数据进行编码,得到待发送的视频帧;

根据所述视频帧的类型,将所述视频帧存储在至少两个缓冲区中的至少一个缓冲区中;

通过所述至少一个缓冲区各自对应的发送单元,将所述视频帧发送至用户设备。

第二方面,本发明实施例提供一种视频帧传输方法,包括:

通过至少两个接收单元中的至少一个接收单元接收探测器发送的至少一个视频帧;

其中,所述视频帧是所述探测器通过至少两个缓冲区中的至少一个缓冲区各自对应的发送单元发送的。

第三方面,本发明实施例提供一种探测器,包括:

视频采集单元,用于采集视频数据;

编码单元,用于将所述视频采集单元采集的视频数据进行编码,得到待发送的视频帧;

存储单元,用于根据所述视频帧的类型,将所述视频帧存储在至少两个缓冲区中的至少一个缓冲区中;

至少一个发送单元,所述至少一个发送单元中的每个发送单元与所述至少一个缓冲区中的一个缓冲区对应,其中,所述至少一个发送单元用于将与所述至少一个发送单元各自对应的所述至少一个缓冲区中存储的所述视频帧发送至用户设备。

第四方面,本发明实施例提供一种用户设备,包括:

至少两个接收单元,所述至少两个接收单元中的至少一个接收单元用于接收探测器发送的至少一个视频帧;

其中,所述视频帧是所述探测器通过至少两个缓冲区中的至少一个缓冲区各自对应的发送单元发送的。

本发明实施例中,探测器将采集的视频数据进行编码,得到待发送的视频帧;根据视频帧的类型,将视频帧存储在至少两个缓冲区中的至少一个缓冲区中;通过至少一个缓冲区各自对应的发送单元,将视频帧发送至用户设备,由于发送端通过至少两个缓冲区中的至少一个缓冲区存储视频帧,并通过至少一个缓冲区各自对应的发送单元发送视频帧至用户设备。相应的,接收端的用户设备可以通过至少两个接收单元中的至少一个接收单元接收视频帧。通过上述方式,使得传输的视频帧质量得到提高,降低了误码率。

附图说明

图1是本发明实施例涉及的系统架构图一;

图2是本发明实施例涉及的系统架构图二;

图3是本发明实施例提供的探测器一实施例的结构示意图;

图4是本发明实施例提供的用户设备一实施例的结构示意图;

图5是本发明实施例提供的视频帧传输方法一实施例的流程图;

图6是本发明实施例提供的视频帧传输方法另一实施例的系统架构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法和装置的例子。

本发明的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先对本发明所涉及的名词进行解释:

探测器:也可以称为工业内窥镜或工业探测器,其包括视频采集单元以及通信单元。其中,视频采集单元可以包括内窥镜以及视频采集传感器等。内窥镜由可弯曲部分、光源及一组镜头组成,使用时将内窥镜软管导入预检查的对象,可直接窥视有关部位的变化。视频采集传感器可以通过内窥镜采集预检查对象的内部环境的视频信号。视频采集单元还可以包括对视频信号的处理单元等,在此不予限定。其中,视频信号包括至少1个视频帧,视频帧可以理解为视频信号中每帧图像包括的图像数据。

视频采集单元可以将视频信号中的视频帧发送至通信单元。其中,通信单元可以包括接收单元和/或发送单元。通信单元可以通过发送单元将视频帧发送给用户设备,用户设备用于显示该视频流。

探测器和用户设备之间可以通过无线方式连接,例如通过无线保真Wi-Fi技术实现无线连接。该探测器也可以理解为是无线探测器。若该预检查对象为汽车内的部件,则该探测器也可称为汽车探测器。

用户数据报协议(User Datagram Protocol,简称UDP):是开放式系统互联(Open System Interconnection,简称OSI)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

H.264:是由国际电信联盟远程通信标准化组织(ITU-T)视频编解码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(Joint Video Team,简称JVT)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4AVC或MPEG-4/H.264AVC)

基于无线实时视频传输的无线工业内窥镜由于受无线网络带宽窄,易被干扰,网速波动性大影响,普遍存在误码率大,图像传输质量不高,传输延时高,卡顿的问题。同时,有些工业内窥镜为了增加观测范围而增加两路摄像头,这更加增加了网络传输的负担。

基于上述技术问题,下面介绍本申请实施例提供的方法及装置。

如图1所示,图1为本发明实施例涉及的一种传输系统。该传输系统包括探测器100及用户设备110。其中,探测器100可以参见上述具体描述,用户设备110可以包括安装有诊断程序的用户终端或者与探测器进行通信的专用诊断设备等,在此不予限定。探测器100用于采集视频数据,并将视频数据编码后的视频帧发送给用户设备110,用户设备110接收探测器100发送的视频帧,进一步可以显示出来,供用户观察预检查对象的内部环境,从而实现故障诊断。在该传输系统中,探测器100中的通信单元的性能可以仅满足实现与用户设备110进行通信连接。例如,探测器100中的通信单元可以是内置Wi-Fi模块,该内置Wi-Fi模块可以仅实现与用户设备在一定距离范围内通过Wi-Fi技术进行通信。或者,该内置Wi-Fi模块可以为通信性能较上述模块增强的模块,在此不予限定。

进一步,如图2所示,本申请实施例涉及的另一种传输系统可以包括:探测器200,路由器210以及用户设备220。本发明实施例中的探测器200和用户设备220可以连接路由器210,通过路由器210传输视频帧,具体可以是通过无线方式连接路由器。探测器200用于采集视频数据,并将视频数据编码后的视频帧通过路由器210发送给用户设备220,用户设备220通过路由器210接收探测器200发送的视频帧,进一步可以显示出来,供用户观察预检查对象的内部环境,从而实现故障诊断。

路由器还可以连接Internet,例如云端,将数据通过连接到Internet实现数据分享和远程协助,相比于用户设备需要连接到探测器的内置WiFi模块,而内置WiFi模块往往不能联网的特点,此设计具有明显优势。在此,路由器可以作为外置WiFi热点,分别与探测器和用户设备建立连接。而且外置WiFi模块可以连接的设备数量较多。通过通信单元中的外置Wi-Fi模块,可以增强视频帧传输的可靠性,进而进一步降低视频帧传输的误码率。

基于上述系统,下面介绍本申请实施例提供的探测器及用户设备的结构示意图。

如图3所示,探测器300,包括:视频采集单元301、编码单元302、存储单元303和发送单元304。

其中,视频采集单元301可以通过内窥镜和/或视频采集传感器等硬件实现。

编码单元302可以通过包含编码程序的处理器芯片实现,处理器芯片可以通过一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、微处理器、中央处理单元(Central Processing Unit,CPU)或其他电子元件等实现。

存储单元303可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。本申请实施例中,存储单元303可以包括缓冲区,该缓冲区可以通过内存实现。进一步地,存储单元303可以包括至少2个缓冲区。存储单元303还可以包括控制器,以确定视频帧的缓存策略,例如,存储单元303中的控制器用于判断视频帧的类型,并根据视频帧的类型,确定将该视频帧缓存至一个或多个缓冲区中。

发送单元304可以通过无线通信接口或有线通信接口实现。若发送单元304通过无线通信接口实现,该无线通信接口可以支持WiFi通信技术,或与用户设备协议的其他通信技术,在此不予限定。进一步地,若无线通信接口支持WiFi通信技术,其可被设置为私有接口或开放接口。若无线通信接口为私有接口,其仅能够与用户设备通过WiFi进行通信;若无线通信接口为开放接口,其可以其他设备通过WiFi进行通信,例如,与上述系统中描述的路由器进行通信。

相应地,发送单元304的数量可以与存储单元中缓冲区的数量相同。即发送单元304与缓冲区一一对应。

其中,视频采集单元301用于采集视频数据,编码单元302用于将采集的视频数据进行编码得到视频帧,存储单元303用于根据视频帧的类型,将视频帧存储在至少两个缓冲区中的至少一个缓冲区中,发送单元304用于将对应缓冲区中的视频帧发送至用户设备。

可选的,本申请实施例中的探测器还可以包括接收单元305;接收单元305用于接收用户设备侧发送的信息,例如对探测器的控制信息或针对发送的视频帧的接收响应信息等。本申请实施例中,接收单元305可以通过无线通信接口或有线通信接口实现,与上述发送单元304类似,此处不再赘述。

可选地,本申请实施例中的探测器还可以包括伺服单元306;伺服单元可以通过伺服电机、传感器等实现;伺服单元用于控制视频采集单元进行移动,从而对预检查对象进行采集视频数据。例如,其可控制内窥镜一定角度,如360度范围内旋转等。

一种实现方式中,探测器可以通过接收单元305接收到用户设备发送的对伺服单元306的控制信息,进而根据该控制信息对伺服单元306进行控制。

可选的,还可以包括伺服控制单元,用于根据接收到的控制信息控制伺服单元移动,例如控制伺服单元的旋转角度,移动位置等。

如图4所示,用户设备,包括:

接收单元401,用于接收探测器发送的视频帧。其中,接收单元401可以通过无线通信接口或有线通信接口实现。其实现方式与探测器中的发送单元304的实现方式相对应,即接收单元401与发送单元304支持有相同的通信协议。并且接收单元401的数量与发送单元304的数量相同,即每个接收单元401对应一个发送单元304。相对应的接收单元401与发送单元304根据通信协议构成通信链路,即可实现发送单元304将视频帧发送至对应的接收单元401中。

可选的,该用户设备还可以包括存储单元402、处理单元403和发送单元404中的至少1个。

其中,处理单元402可以是一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、微处理器、中央处理单元(Central Processing Unit,CPU)或其他电子元件等。

存储单元402的实现方式与探测器中的类似,此处不再赘述。

具体地,存储单元402用于对接收到的视频帧进行存储,处理单元403用于对接收到的视频帧进行恢复处理,发送单元404用于向探测器发送针对接收到的视频帧的接收成功信息,或控制视频采集单元移动采集位置的控制信号。基于上述结构,下面介绍本申请方法实施例。通过上述实施例中描述的装置中包括的各单元所实现的方法,可以参见下述实施例。

图5是本发明实施例提供的视频帧传输方法一实施例的流程图。如图5所示,本实施例提供的视频帧传输方法,包括:

步骤501、探测器将采集的视频数据进行编码,得到待发送的视频帧。

本步骤中,可以通过上述编码单元将探测器的视频采集单元采集的视频数据进行编码,具体可以采用如下方式实现:

将通过视频采集单元采集的视频数据采用高级视频编码H.264方式进行编码,得到视频帧;视频帧包括两种类型,即I帧和P帧。

具体的,H.264编码支持I帧和P帧,I帧采用帧内编码,数据量大,通常是P帧的几十倍,编码率低,但无需参考帧,I帧自身携带一帧数据所需的全部图像信息,所以能独立恢复出图像信息且能有效阻止包丢失而引起的错误扩散。P帧则采用帧间编码模式,利用帧间预测和运动补偿来消除冗余信息,举一个例子,在一个静止或者非高速运动的场景里面,上一秒和下一秒传输的图像画面可能90%的数据是相同的,所以完全没必要在每一帧图像中把所有数据都传输一遍,P帧正是基于这样一种思想,只传输当前帧和参考帧(I帧)的差异,因此编码率高,但需要参考帧(I帧)且容易导致错误扩散。

步骤502、探测器根据视频帧的类型,将视频帧存储在至少两个缓冲区中的至少一个缓冲区中。

本步骤中,在存储单元包括至少两个缓冲区,缓冲区用于缓存待发送的视频帧,至少两个缓冲区各自对应一个发送单元。对采集的视频数据编码后,根据视频帧的类型,通过存储单元中的至少两个缓冲区中的至少一个缓冲区,存储待发送的视频帧。

可选的,步骤502的一种实施方式如下:

若视频帧的类型为I帧,确定至少两个缓冲区各自的剩余容量是否大于或等于视频帧的大小;

若至少两个缓冲区中至少一个缓冲区各自的剩余空间的容量大于或等于视频帧的大小,将视频帧存储在至少一个缓冲区中。

可选的,若所述至少两个缓冲区各自的剩余容量均小于所述视频帧的大小,累计I帧的发送失败次数;

若所述发送失败次数大于预设阈值,输出异常提示信息。

具体的,基于上述的编码策略,I帧在实时视频数据传输中扮演了非常重要的角色,I帧的丢失可能导致后续P帧数据完全不能恢复,因此I帧可以采取重复发送的策略,即同一个I帧可以存储在至少2个缓冲区中,本申请实施例以2个缓冲区为例,再将每一个缓冲区中的I帧由其对应的发送单元进行发送,从而可以增强I帧的传输可靠性。

具体需要根据当前的缓冲区的剩余容量,确定存储以及发送策略。剩余容量指的是该缓冲区的剩余空间的容量。

若存在至少一个缓冲区的剩余容量大于或等于I帧的大小,则将该I帧分别存储至所述至少一个缓冲区中的每个缓冲区中,并通过至少一个缓冲区各自对应的发送单元发送出去,即至少一个发送单元发送相同的I帧。

若至少两个缓冲区各自的剩余容量均小于I帧的大小,则将I帧丢弃,即不传输该I帧,并累计I帧的发送失败次数,以便进行异常提醒,即可以输出异常提示信息。

在一些实施方式中,可以通过探测器输出异常提示信息,或将异常提示信息发送给用户设备,在用户设备侧进行异常提醒。

例如,可以通过语音进行提醒,或通过文字、图像、视频等进行提醒,或者采用上述方式的结合。

上述具体实施方式中,将视频帧存储至至少两个缓冲区中至少一个缓冲区,并通过至少一个缓冲区各自对应的发送单元发送,对于由环境干扰导致的丢包起到了很好的规避作用,误码率较小。

可选的,步骤502的另一种实施方式如下:

若视频帧的类型为P帧,确定至少两个缓冲区各自的剩余容量是否大于或等于视频帧的大小;

若至少两个缓冲区中至少一个缓冲区各自的剩余容量大于或等于视频帧的大小,则将视频帧存储在至少一个缓冲区中的其中一个缓冲区中。

可选的,将视频帧存储在至少一个缓冲区中的其中一个缓冲区中,具体可以采用如下方式实现:

根据至少一个缓冲区各自的标识以及预设的选取策略,选取至少一个缓冲区中的其中一个缓冲区;

将视频帧存储至其中一个缓冲区中。

具体的,基于上述实施例的编码策略,P帧采用帧间编码模式,传输的是参考帧和当前帧的差异信息,P帧可以仅采用一个缓冲区对应的发送单元进行发送。具体需要根据当前的缓冲区的剩余容量,确定存储以及发送策略。剩余容量指的是该缓冲区的剩余空间的容量。

因此在本实施例中若视频帧的类型为P帧,确定至少两个缓冲区各自的剩余容量是否大于或等于P帧的大小;

若存在至少一个缓冲区各自的剩余容量大于或等于P帧的大小,则将视频帧存储在至少一个缓冲区中的其中一个缓冲区中,其中一个缓冲区为至少一个缓冲区的任意一个缓冲区。

具体的,可以根据至少一个缓冲区各自的标识以及预设的选取策略,选取至少一个缓冲区中的其中一个缓冲区。

在一些实施方式中,选取策略可以是轮流交替选取,例如第一个P帧选取缓冲区1进行存储,第二个P帧选取缓冲区2进行存储,第三个P帧选取缓冲区1进行存储,第四个P帧选取缓冲区2进行存储,以此类推。

在一些实施方式中,选取策略可以是随机任意选取一个,或者选取剩余容量较大的缓冲区。

可选的,若至少一个缓冲区各自的剩余容量均小于视频帧的大小,丢弃视频帧。

具体的,如果至少一个缓冲区各自的剩余容量均小于P帧的大小,即任一个缓冲区的剩余容量都无法满足P帧的存储需求,则丢弃该P帧,即不传输该P帧。

步骤503、探测器通过至少一个缓冲区各自对应的发送单元,将视频帧发送至用户设备。

本步骤中,对存储在至少一个缓冲区中的视频帧,通过至少一个缓冲区各自对应的发送单元发送至用户设备。

步骤504、用户设备通过至少两个接收单元中的至少一个接收单元接收探测器发送的至少一个视频帧。

其中,视频帧是探测器通过至少两个缓冲区中的至少一个缓冲区各自对应的发送单元发送的。

与探测器对应的用户设备侧通过至少两个接收单元中的至少一个接收单元接收,探测器发送的至少一个视频帧。

接收单元与探测器中的发送单元对应。

由于上述方案中,发送端通过至少两个缓冲区中的至少一个缓冲区存储视频帧,并通过至少一个缓冲区各自对应的发送单元发送视频帧至用户设备,相应的,接收端的用户设备可以根据至少两个接收单元中的至少一个接收单元接收发送端发送的视频帧,并进行解码,解码后的图像质量较高,误码率较小。而且通过至少一个缓冲区各自对应的发送单元发送,并通过至少两个接收单元中的至少一个接收单元接收,增大了网络带宽。

以下以存储单元中包括两个缓冲区为例进行说明:

将采集的原始视频数据进行编码,编码后得到待发送的视频帧,若视频帧为I帧,则存储至缓冲区1和缓冲区2中,分别由缓冲区1和缓冲区2各自对应的发送单元将该I帧发送出去,使得误码率较小,解码后的图像质量较高。

本实施例的视频帧传输方法,将采集的视频数据进行编码,得到待发送的视频帧;根据视频帧的类型,将视频帧存储在至少两个缓冲区中的至少一个缓冲区中;通过至少一个缓冲区各自对应的发送单元,将视频帧发送至用户设备,由于发送端通过至少两个缓冲区中的至少一个缓冲区存储视频帧,并通过至少一个缓冲区各自对应的发送单元发送视频帧至用户设备,相应的,接收端的用户设备可以通过至少两个接收单元中的至少一个接收单元接收视频帧,解码后的图像质量较高,误码率较小。

在上述实施例的基础上,可选的,用户设备侧的方法还包括:

用户设备将至少一个视频帧分别存储在至少一个接收单元各自对应的缓冲区中。

可选的,在将视频帧存储至缓冲区中,还可以进行如下操作:

根据至少一个视频帧的类型,对至少一个视频帧进行恢复处理。

可选的,对至少一个视频帧进行恢复处理,具体可以采用如下方式实现:

若至少一个视频帧的类型为I帧,对至少一个视频帧各自包括的数据包进行合并处理。

具体的,用户设备侧与探测器侧对应,用户设备侧同样也可以多个缓冲区存储视频帧,例如如图6所示,每个接收单元对应一个缓冲区,接收单元将接收到的至少一个视频帧分别存储在各自对应的缓冲区中。

存储之后,还可以根据至少一个视频帧的类型,对至少一个视频帧进行恢复处理,例如将接收到的多个I帧进行合并处理,以及将接收到的P帧进行差错处理。恢复处理可以通过图6中所示的处理单元实现。

进一步,可以对恢复处理后的视频帧进行解码,然后对解码后的视频数据进行显示。解码可以通过图6中所示的解码单元实现,显示可以通过图6中所示的显示器实现。

由于I帧较大,因此在发送时一般将I帧进行分块,即发送分块后的数据包,数据包中携带数据包标识信息,为了便于接收端进行恢复处理。

在一些实施方式中,用户设备可以根据数据包标识信息,将接收到的I帧的数据包进行合并,并去掉重复的数据包,得到数据包集合;

若数据包集合中的数据包的序号不连续,则利用缺失的序号的预设范围的序号对应的数据包代替缺失的序号对应的数据包,恢复出I帧;数据包标识信息包括数据包的序号。

具体的,接收端首先对接收到的数据进行排序合并,例如如图6所示,对于多路发送的I帧,用户设备的处理单元根据缓冲区A和缓冲区B中接收到的I帧的数据包,恢复出I帧。即对缓冲区A和缓冲区B中接收到的I帧的数据包进行排序合并,并去掉重复的数据包,恢复出I帧。用户设备中可以设置一个计时器,在规定时间内没有到达的数据包,则认为丢失,对于丢失的包,采用一定的算法进行差错处理。

对于I帧的差错处理方式如下,由于I帧包含完整的图像信息,所以可采用帧内补偿的方法,即用临近像素替代丢失的像素,即根据接收到的数据包的数据包标识信息,得到数据包的序号,若接收到的数据包的序号不连续,则利用缺失的序号的预设范围的序号对应的数据包代替所述缺失的序号对应的数据包,恢复出完整的I帧,即采用缺失的序号的周围的序号对应的数据包代替所述缺失的序号对应的数据包。

在一些实施方式中,若存在丢失的P帧,则利用丢失的P帧的前N帧代替丢失的P帧;N为预设值。

具体的,用户设备中可以设置一个计时器,在规定时间内没有到达的数据包,则认为丢失,对于丢失的包,采用一定的算法进行差错处理。

对于P帧的差错处理方式如下,若存在丢失的P帧,则采用前帧替代的方式,即利用丢失的P帧的前N帧代替丢失的P帧;所述N为预设值。N为大于0的整数。

在上述实施例的基础上,可选的,所述方法还包括:

若恢复处理成功,用户设备向探测器发送针对视频帧的接收成功信息。

当接收到来自用户设备的针对视频帧的接收成功信息时,探测器从至少一个缓冲区中清除视频帧。

具体的,为了提高效率和降低资源使用率,本发明实施例中数据发送采用UDP而非传输控制协议(Transmission Control Protocol,简称TCP),众所周知UDP是不可靠的数据链路,所以接收端的用户设备可以定时将数据接收情况反馈给发送端的探测器,即在视频帧恢复处理成功后向探测器发送针对视频帧的接收成功信息,探测器根据接收成功信息调节存储单元中缓冲区的剩余容量,即在接收到来自用户设备的针对视频帧的接收成功信息时,从至少一个缓冲区中清除该视频帧。通过上述反馈机制,能够弥补UDP协议的不可靠性。探测器还可以根据缓冲区剩余容量的大小制定发送策略。

例如当前缓冲区中的剩余容量为L,放入编码后的I帧(大小为I1),则剩余容量为L-I1,若探测器接收到用户设备发送的针对该I帧的接收成功信息,该信息指示接收端接收到I帧并恢复处理成功,则此时将I帧从该缓冲区中清除,此时缓冲区的剩余容量为L。若没有接收到用户设备发送的针对该I帧的接收成功信息,则此时缓冲区的剩余容量依旧为L-I1。

可选的,所述方法,还包括:

用户设备向探测器发送第一控制信息;

探测器接收用户设备的第一控制信号,根据第一控制信号控制视频采集单元移动至采集位置,以控制视频采集单元在采集位置采集视频数据。

具体的,如图3、图4、图6所示,视频采集单元可以通过伺服单元的控制进行旋转,例如旋转角度为360度或180度等,用户设备通过发送单元发送第一控制信号,从而通过伺服单元可以控制视频采集单元的旋转角度,移动至对应的采集位置采集视频数据。

在一些实施方式中,伺服单元可以通过伺服单元控制电路控制。

上述具体实施方式中,由于视频采集单元可以移动至用户设备所需的采集位置进行采集,可以实现360无死角观测,相比传统内窥镜大大增加了观测范围,相比携带两路摄像头的内窥镜传输数据量小了一倍。

以下以两个缓冲区为例进行说明:

如图6所示,假设当前待发送的视频帧大小为BufferZ,缓冲区A的剩余容量大小为BufferA,缓冲区B的剩余容量大小为BufferB,存在下面四种情况:

Case1:BufferZ<=BufferA且BufferZ<=BufferB;

若视频帧为I帧,则采取两路重复发送策略,即通过存储单元中的处理器判断出缓冲区A和缓冲区B的剩余容量均大于待发送的视频帧大小,则将I帧存储至缓冲区A和缓冲区B中,即每个缓冲区都存储相同的I帧,并通过各个对应的发送单元发送出去,即分别通过发送单元A和发送单元B发送至用户设备,用户设备分别通过接收单元A和接收单元B接收,并通过存储单元中的处理器判断接收单元对应的缓冲区的剩余容量是否大于视频帧的大小,若均大于,则存储至与接收单元A和接收单元B分别对应的缓冲区A和缓冲区B中,然后经过解码单元以及处理单元进行恢复处理和解码,并通过显示器进行显示视频数据。同时可以通过用户设备的发送单元向探测器发送接收成功信息。

若视频帧为P帧,则根据缓冲区的标识进行单路存储并发送,即轮流通过两个缓冲区存储并通过各自对应的发送单元发送。即在存储单元中的处理器判断出缓冲区A和缓冲区B的剩余容量均大于待发送的视频帧大小,P帧可以通过两个发送单元轮流发送,例如第一个P帧存储至缓冲区A,并通过发送单元A发送,第二个P帧存储至缓冲区B,并通过发送单元B,依次类推;同时,在用户设备侧,分别通过接收单元A和接收单元B轮流接收,并通过存储单元中的处理器判断接收单元对应的缓冲区的剩余容量是否大于视频帧的大小,若大于,则存储至与接收单元A和接收单元B分别对应的缓冲区A和缓冲区B中,然后经过解码单元以及处理单元进行恢复处理和解码,并通过显示器进行显示视频数据。

Case2:BufferZ<=BufferA且BufferZ>BufferB;

通过存储单元中的处理器判断出缓冲区A的剩余容量大于待发送的视频帧大小,缓冲区B的剩余容量小于待发送的视频帧大小,则对于I帧来说,存储至缓冲区A并通过缓冲区A对应的发送单元A发送,在下一个I帧编码完成前,保持对缓冲区B的监测,若剩余容量大于I帧的大小,则将该I帧存储至缓冲区B,并通过缓冲区B对应的发送单元B发送,若下一个I帧编码完成后缓冲区B的剩余容量仍小于I帧的大小,则放弃该I帧的重复发送,仅通过缓冲区A进行存储并通过缓冲区A对应的发送单元A发送。

对于P帧来说,直接存储至缓冲区A并通过缓冲区A对应的发送单元A发送,不进行轮流发送。用户设备侧与上述类似,此处不再赘述。

Case3:BufferZ>BufferA且BufferZ<=BufferB,

与Case2类似,此处不再赘述。

Case4:BufferZ>BufferA且BufferZ>BufferB,

通过存储单元中的处理器判断出缓冲区A的剩余容量均小于待发送的视频帧大小,则对于P帧来说,主动丢弃,即不传输该P帧。

对于I帧来说,启动错误计数器,若连续预设个(例如3个)I帧发送失败,则探测器输出异常提示信息,例如信道阻塞异常。其中,可以通过探测器输出异常提示信息,或者,探测器将该输出异常提示信息发送给用户设备,通过用户设备提示用户。

本申请实施例还提供一种存储介质,所述存储介质存储有计算机指令,该计算机指令可以被上述单元调用以实现本申请提供的视频帧传输方法。

本申请实施例提供一种计算机程序产品,包括:计算机程序,所述计算机程序用于实现本申请提供的视频帧传输方法。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

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