丢帧处理方法及装置

文档序号:1675890 发布日期:2019-12-31 浏览:13次 >En<

阅读说明:本技术 丢帧处理方法及装置 (Frame loss processing method and device ) 是由 唐春平 范志刚 于 2019-08-19 设计创作,主要内容包括:本公开提供一种丢帧处理方法及装置,涉及计算机图像领域,所述方法包括接收编码数据,并对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像;获取丢帧通知消息,其中,所述丢帧通知消息携带有指示发生丢帧的标识信息;获取与所述丢帧通知消息对应的丢帧接收设备标识;根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。本公开能够解决现有接收端出现丢帧,如果对接收到丢失掉的图像帧进行重传,则会导致接收端的实时画面播放发生延时,如果立刻切换参考帧,则会使得VGR侧的并发数据量瞬间增大的问题。(The invention provides a frame loss processing method and a device, which relate to the field of computer images, wherein the method comprises the steps of receiving coded data, decoding the coded data to obtain at least one original frame image, and storing the at least one original frame image; acquiring a frame loss notification message, wherein the frame loss notification message carries identification information indicating that frame loss occurs; acquiring a lost frame receiving equipment identifier corresponding to the lost frame notification message; and according to the frame loss receiving equipment identification, carrying out reference frame coding on the stored original image of the last frame and sending the coded original image of the last frame to corresponding frame loss equipment. The method and the device can solve the problems that the frame loss occurs in the existing receiving end, if the lost image frame is retransmitted, the real-time image playing of the receiving end is delayed, and if the reference frame is switched at once, the concurrent data volume of the VGR side is increased instantly.)

丢帧处理方法及装置

技术领域

本公开涉及计算机技术领域,尤其涉及丢帧处理方法及装置。

背景技术

实时画面一对多传输是指:将同一个实时画面源分发给多个接入的接收终端。这种场景下,发送端(S端)对采集图像进行编码,由图像路由器(VGR)实现编码图像的分发,接收端(R端)对各自接收到的编码图像进行解码显示。其基本架构可参照图1。图1中示意性的示出了三个R端(R1、R2和R3),本领域人员能够理解的是,实际上R端可以为一个或者多个。

在上述架构中,当S端对图像进行帧间预测编码时,编码后的非参考帧需要依据参照帧的内容进行编码,这种情况下,一旦接收端出现丢帧,有可能导致非参考帧无法正常解码,也就会出现花屏或者跳帧的问题。如果对接收到丢失掉的图像帧进行重传,则会导致接收端的实时画面播放发生延时。如果S端立刻切换I帧,则会使得VGR侧的并发数据量瞬间增大,尤其是,当网络状态不好,频繁出现丢帧的情况下,如果S端不断切换I帧,将对VGR一侧的带宽产生非常大的影响。

发明内容

本公开实施例提供一种丢帧处理方法及装置,能够解决现有接收端出现丢帧,如果对接收到丢失掉的图像帧进行重传,则会导致接收端的实时画面播放发生延时,如果S端立刻切换I帧,则会使得VGR侧的并发数据量瞬间增大的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种丢帧处理方法,该方法包括:

接收编码数据,并对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像;

获取丢帧通知消息,其中,所述丢帧通知消息携带有指示发生丢帧的标识信息;

获取与所述丢帧通知消息对应的丢帧接收设备标识;

根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,丢帧通知消息还携带有丢帧的帧号,所述方法还包括:

根据所述丢帧的帧号判断对应的丢帧是否为参考帧;

所述根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备包括:

如果所述丢帧为参考帧,所述根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,根据所述至少一帧原始图像进行丢帧处理包括:

获取与所述丢帧通知消息对应的丢帧接收设备标识;

根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,上述方法还包括:

如果所述丢帧为非参考帧,将接收到的编码数据发送给所有接收设备。

在一个实施例中,对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像包括:

对所述编码数据进行解码得到所述至少一帧原始图像的YUV数据,并存储所述至少一帧原始图像的YUV数据。

在一个实施例中,根据所述丢帧的帧号判断对应的丢帧是否为参考帧包括:

查询所述丢帧的帧号是否存在与预设参考帧列表中,如果存在,则判断所述丢帧为参考帧;

如果不存在,则判断所述丢帧为参考帧;其中,预设参考帧列表中存储有所有参考帧的帧号。

根据本公开实施例的第二方面,提供一种丢帧处理装置,该装置包括:

接收模块,用于接收编码数据,并对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像;

通知获取模块,用于获取丢帧通知消息,其中,所述丢帧通知消息携带有指示发生丢帧的标识信息;

获取模块,用于获取与所述丢帧通知消息对应的丢帧接收设备标识;

第一发送模块,用于根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,上述装置还包括判断模块,用于根据所述丢帧的帧号判断对应的丢帧是否为参考帧;

第一发送模块具体用于如果所述丢帧为参考帧,根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,上述装置还包括:

第二发送模块,用于如果所述丢帧为非参考帧,将接收到的编码数据发送给所有接收设备。

在一个实施例中,丢帧通知消息还携带有丢帧的帧号,所述装置还包括判断模块,用于根据所述丢帧的帧号判断对应的丢帧是否为参考帧;

所述处理模块具体用于如果所述丢帧为参考帧,根据所述至少一帧原始图像进行丢帧处理。

在一个实施例中,处理模块包括:

标识获取子模块,用于获取与所述丢帧通知消息对应的丢帧接收设备标识;

发送子模块,用于根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,接收模块具体用于:

接收编码数据,并对所述编码数据进行解码得到所述至少一帧原始图像的YUV数据,并存储所述至少一帧原始图像的YUV数据。

在一个实施例中,判断模块具体用于:

查询所述丢帧的帧号是否存在与预设参考帧列表中,如果存在,则判断所述丢帧为参考帧;

如果不存在,则判断所述丢帧为非参考帧;其中,预设参考帧列表中存储有所有参考帧的帧号。

本方案应用于实时画面一对多传输的场景下,主要包括以下技术方案:R端向VGR上报丢帧通知信息;VGR根据所述丢帧通知信息进行丢帧处理,具体的丢帧处理是将存储的最后一帧图像的YUV数据编码为I帧发送给发送丢帧的R端。这样,既不会使VGR处的即时带宽突然发生显著增大,也能够确保发生丢帧的R端以及其它R端的图像能够正常解码,不影响后续图像的解码和播放;而且不需要增加S端的处理开销。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的丢帧处理方法使用场景架构图;

图2是本公开实施例提供的一种丢帧处理方法的流程图;

图3是本公开实施例提供的一种丢帧处理方法的流程图;

图4是本公开实施例提供的丢帧处理方法使用场景示意图;

图5是本公开实施例提供的一种丢帧处理装置的结构图;

图6是本公开实施例提供的一种丢帧处理装置的结构图;

图7是本公开实施例提供的一种丢帧处理装置的结构图。

具体实施方式

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

帧间预测编码是利用视频图像帧间的相关性,即时间相关性,来达到图像压缩目的的一种编码方式。本发明中,我们将所有图像帧根据是否对其它帧有参考作用可以大致上分为:参考帧(I帧)和非参考帧(P帧)。参考帧是指包含完整信息、不需要依赖其它图像帧进行解码的图像帧;参考帧是指至少对一帧图像有参考作用的图像帧,即,当一个图像帧为参考帧时,则至少有一帧图像需要依赖该图像进行编码。

显而易见的是,参考帧的丢失将会使后续的至少一帧、多帧、甚至是后续所有帧不能正常解码。

在实时视频传输中,常见的帧间编码方式至少有以下几种:

第一种:视频中除第一帧之外,其它帧均参考其前一帧进行编码,直至编码完整个视频;

第二种:将视频划分为图像组(GOP),每一个GOP中各帧的组成方式为:IPPPPPPPPP,所有P帧均参考第一个I帧进行编码;该方法在H264编码中有应用;

第三种:将视频划分为多个GOP,每一个GOP中各帧的组成方式为:IPPPPPPPPP,每一个P帧参考其前一帧(可能是I,也可能是P)进行编码;

第四种编码方式:每一个图像帧与其前面的预设数量(比如16)帧图像进行对比,将相似度最高的图像作为其参考帧。

除第二种方式外,其它编码方式中大部分图像帧均是参考帧,因此,在视频传输过程中,一旦出现丢帧可以直接进行丢帧处理;而第二种方式中,非参考帧的数量大于参考帧的数量,当非参考帧丢失时,并不会对后续的图像解码产生影响,因此,在视频传输过程中,可以根据具体丢帧类型来确定是否进行丢帧处理。

基于以上分析,下面通过两个具体实施例做详细说明。

实施例一

该实施例所述方案可以针对上面举例的第一种、第三种及第四种情况,但是不限于这几种情况,只要是参考帧数量大于非参考帧数量的帧间预测编码方式,都可以采用上述方案进行丢帧处理。

图2是本公开实施例提供的一种丢帧处理方法的流程图,如图2所示,该丢帧处理方法包括以下步骤:

步骤101、接收编码数据,并对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像;

所述原始图像帧指的是最后一帧图像的YUV数据。

数据传输过程中,VGR不断从S端接收编码数据,在接收编码数据的过程中,VGR不断在本地对编码数据进行解码得到解码后各帧图像的YUV数据;并在本地缓存最新的一帧或者多帧YUV数据。

步骤102、获取丢帧通知消息,其中,所述丢帧通知消息携带有指示发生丢帧的标识信息;

R端进行丢帧监测,判断是否发生丢帧事件,当发生丢帧事件时,发送丢帧通知消息;

具体的,R端对接收到图像帧信息中的帧号的连续性进行检测,当出现不连续的情况时,即确认发生了丢帧事件。

实际应用时,各帧图像编码信息在帧号上存在一定的规律,且各帧图像编码信息是按照顺序发送的,因此在接收端可以根据帧号的设置规律来检测帧号是否连续,如果不连续则可以确定发生了丢帧;

另外,也可以根据往返时延(Round-Trip Time,RTT)以及报文发送间隔时间综合判断是否发生了丢帧事件。

步骤103、获取与所述丢帧通知消息对应的丢帧接收设备标识;

具体的,可以通过VGR和每个R之间的通道获取丢帧接收设备标识,也可以接收来自丢着设备的上报消息获取丢帧接收设备标识。

步骤104、根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

当任意一个R端发送丢帧通知消息时,VGR即从本地取出当前最新的一帧(本地缓存的最后一帧)图像的YUV数据,将取出的YUV数据编码为I帧发送给相应的R端。相应的R端接收到该编码为I帧的YUV数据之后,即可对该帧数据进行解码显示,并根据其解码数据对后续的数据进行解码。

这里,当VGR接收到丢帧通知消息时,即对本地缓存的最后一帧图像的YUV数据进行编码,将其编码为I帧发送给发生丢帧的R端,这样,可以保证相应R端后续视频正常解码显示,也保证视频传输的实时性。

进一步的,根据所述至少一帧原始图像进行丢帧处理之后,所述方法还包括:接收S端发送的编码数据,并将编码数据转发给各个R端。

实施例二

本实施例适用以下应用场景:当所采用的帧间预测编码方式使得编码中所产生的参考帧数量小于非参考帧数量时,可以根据丢帧类型确定是否进行丢帧处理,而是否进行丢帧处理的判断流程既放在VGR中执行。

本实施例公开了一种丢帧处理方法,如图3所示,具体包括以下步骤:

步骤201、接收编码数据,并对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像;

本公开所有实施例中VGR内置解码器,用于不断对从S端接收到的编码数据,并进行解码,得到解码后的YUV数据,并缓存最新的一帧或者多帧图像的YUV数据。VGR在解码过程中,还可以保存最新的一帧或者多帧图像的参考帧列表,根据该参考帧列表可以直接判断相应帧号的帧是否为参考帧。

步骤202、获取丢帧通知消息,其中,所述丢帧通知消息携带有指示发生丢帧的标识信息和丢帧的帧号;

步骤203、根据所述丢帧的帧号判断对应的丢帧是否为参考帧;

示例性的,根据所述丢帧的帧号判断对应的丢帧是否为参考帧包括:

查询所述丢帧的帧号是否存在于预设参考帧列表中,如果存在,则判断所述丢帧为参考帧;

如果不存在,则判断所述丢帧为非参考帧;其中,预设参考帧列表中存储有所有参考帧的帧号。

步骤204、如果所述丢帧为参考帧,根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

如果所述丢帧为非参考帧,则继续接收S端发送的编码数据并转发给各个R端。

下面通过一个具体示例,对本发明方案做以下详细说明。

本发明的典型应用场景如图4所示,参照图4,一个实时画面源S中的编码图像通过VGR分发至三个不同的接收终端R。其中,S为任何具备视频画面采集编码传输能力的设备。R可以为任何具备视频图像数据接收、解码、显示能力的设备。

参照图4,S端在编码传输图像过程中,由于网络速度的影响,导致R3中的产生丢帧(第3帧丢失),或者,R3新接入(从第4帧开始接收,可认为是一种特殊的丢帧)。

此时,按照本公开所提供的技术方案,有以下两种处理方式:

第一种:R3向VGR上报丢帧通知消息,VGR接收到丢帧通知消息之后,将当前缓存的最后一帧原始图像的YUV数据(也就是解码得到的第4帧图像的YUV数据,也可能是第5帧图像的YUV数据)编码为I帧(参考帧)发送给R3。

第二种:R3检测到丢帧事件时,向VGR上报丢帧通知消息,所述丢帧通知消息中包括:用于指示发生丢帧事件的标识信息及丢帧的帧号;VGR根据丢帧的帧号在本地查找预设参考帧列表;根据所述查找预设参考帧列表的结果判断相应帧是否为参考帧;如果是,则在本地找到最后一帧原始图像的YUV数据,编码为I帧后发给R3;如果不是,则不进行丢帧处理。

图5是本公开实施例提供的一种丢帧处理装置的结构图,如图5所示,该丢帧处理装置50包括接收模块501、通知获取模块502、获取503和第一发送模块504,其中,接收模块501用于接收编码数据,并对所述编码数据进行解码得到至少一帧原始图像,并存储所述至少一帧原始图像;通知获取模块502用于获取丢帧通知消息,其中,所述丢帧通知消息携带有指示发生丢帧的标识信息;获取模块503用于获取与所述丢帧通知消息对应的丢帧接收设备标识;第一发送模块504用于根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,接收模块501具体用于:

接收编码数据,并对所述编码数据进行解码得到所述至少一帧原始图像的YUV数据,并存储所述至少一帧原始图像的YUV数据。

图6是本公开实施例提供的一种丢帧处理装置的结构图,如图6所示,该丢帧处理装置60包括接收模块601、通知获取模块602、判断模块603、获取模块604和第一发送模块605,其中,丢帧通知消息还携带有丢帧的帧号,判断模块603用于根据所述丢帧的帧号判断对应的丢帧是否为参考帧;第一发送模块604用于根据所述丢帧接收设备标识,对存储的最后一帧原始图像进行参考帧编码并发送给对应的丢帧设备。

在一个实施例中,判断模块603具体用于:

查询所述丢帧的帧号是否存在与预设参考帧列表中,如果存在,则判断所述丢帧为参考帧;

如果不存在,则判断所述丢帧为非参考帧;其中,预设参考帧列表中存储有所有参考帧的帧号。

图7是本公开实施例提供的一种丢帧处理装置的结构图,如图7所示,该丢帧处理装置70包括接收模块701、通知获取模块702、获取模块703、第一发送模块704和第二发送模块705,第二发送模块705用于如果所述丢帧为非参考帧,将接收到的编码数据发送给所有接收设备。

基于上述图2和图3对应的实施例中所描述的丢帧处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图2和图3对应的实施例中所描述的丢帧处理方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据传输方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类