CN111954002A - 图像编码方法、装置、编码端设备及存储介质 - Google Patents
图像编码方法、装置、编码端设备及存储介质 Download PDFInfo
- Publication number
- CN111954002A CN111954002A CN202010744094.9A CN202010744094A CN111954002A CN 111954002 A CN111954002 A CN 111954002A CN 202010744094 A CN202010744094 A CN 202010744094A CN 111954002 A CN111954002 A CN 111954002A
- Authority
- CN
- China
- Prior art keywords
- video image
- data packets
- target video
- preset threshold
- fec
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012937 correction Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种图像编码方法、装置、编码端设备及存储介质,涉及图像处理技术领域,能够解决冗余包个数增加之后,将直接导致码流的增加,从而使得丢包率增加的问题。具体技术方案为:获取当前视频图像并对当前视频图像进行前向纠错FEC编码,生成当前视频图像的源数据包和冗余数据包,当前视频图像包括至少一帧待发送视频图像;将当前视频图像的源数据包和冗余数据包发送至解码端设备;若确定在预设时长内,当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,目标视频图像为在所述当前视频图像后的至少一帧待发送视频图像,FEC编码参数包括源数据包的个数和冗余数据包的个数。本发明用于降低丢包率。
Description
技术领域
本公开涉及图像处理领域,尤其涉及图像编码方法、装置、编码端设备及存储介质。
背景技术
前向纠错(Forward Error Correction,FEC)编码技术通过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码,降低接收信号的误码率。FEC编码的基本原理是:发送端根据纠错编码算法产生一定量的冗余包,从而实现一定的纠错能力,接收端可以基于纠错译码算法根据冗余包将丢失的数据包还原。
目前,FEC编码技术也常常应用在图传系统中。这种方案简单来说就是:图传系统包括发送端(编码端设备)和接收端(解码端设备),由编码端设备将编码后的码流数据发送给解码端设备。加入FEC编码技术后,其实现原理为:编码端设备基于设定的编码算法对视频序列中的至少一帧视频图像进行编码,编码后生成多个源数据包;然后,将多个源数据包分为一组,同时利用前向纠错编码算法生成与多个源数据包所对应的预设个数个冗余包,该预设个数可以根据需要有小到大取值;之后,将多个源数据包和其对应的预设个数个冗余包组成一个FEC编码组,并将生成的FEC编码组发送给解码端设备,由解码端设备根据FEC算法恢复出原视频图像。
为了降低FEC编码组的误码率降低,通常会将FEC编码组中冗余包的个数增加,但是冗余包个数增加之后,将直接导致码流的增加,从而使得丢包率增加。
发明内容
本公开实施例提供一种图像编码方法、装置、编码端设备及存储介质,能够解决冗余包个数增加之后,将直接导致码流的增加,从而使得丢包率增加的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种图像编码方法,所述方法包括:
获取当前视频图像并对所述当前视频图像进行前向纠错编码FEC,生成所述当前视频图像的源数据包和冗余数据包,所述当前视频图像包括至少一帧待发送视频图像;
将所述当前视频图像的源数据包和冗余数据包发送至解码端设备;
若确定在预设时长内,所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,所述目标视频图像为在所述当前视频图像后的至少一帧待发送视频图像,所述FEC编码参数包括源数据包的个数和冗余数据包的个数。
本公开实施例提供的图像编码方法,能够获取当前视频图像并对该当前视频图像进行前向纠错FEC编码,生成该当前视频图像的源数据包和冗余数据包,该当前视频图像包括至少一帧待发送视频图像;将该当前视频图像的源数据包和冗余数据包发送至解码端设备;若确定在预设时长内,该当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,该目标视频图像为在该当前视频图像后的至少一帧待发送视频图像,该FEC编码参数包括源数据包的个数和冗余数据包的个数,能够根据当前视频图像的源数据包和冗余数据包的丢包率调整目标视频图像的FEC编码参数,进而有效的降低丢包率,能够解决冗余包个数增加之后,将直接导致码流的增加,从而使得丢包率增加的问题。
在一个实施例中,所述调整目标视频图像的FEC编码参数包括:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值,则将所述目标视频图像的FEC编码参数调整为第一FEC编码参数;其中,所述第二预设阈值大于所述第一预设阈值。
通过在当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值时,将目标视频图像的FEC编码参数调整为第一FEC编码参数,能够有效地降低丢包率。
在一个实施例中,所述调整目标视频图像的FEC编码参数包括:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于所述第二预设阈值且小于或者等于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第二FEC编码参数;其中,所述第三预设阈值大于第二预设阈值,所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第一FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
通过在当前视频图像的源数据包和冗余数据包的丢包率大于第二预设阈值且小于或者等于第三预设阈值时,将目标视频图像的FEC编码参数调整为第二FEC编码参数,能够有效地降低丢包率。
在一个实施例中,所述调整目标视频图像的FEC编码参数包括:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第三FEC编码参数;其中,所述第三FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
通过在当前视频图像的源数据包和冗余数据包的丢包率大于第三预设阈值时,将目标视频图像的FEC编码参数调整为第三FEC编码参数,能够有效地降低丢包率。
在一个实施例中,所述调整目标视频图像的FEC编码参数后,所述方法还包括:
将所述目标视频图像按照所述FEC编码参数进行FEC编码,生成所述目标视频图像的数据包和冗余数据包;
将所述目标视频图像的数据包和冗余数据包发送至解码端设备;
若确定所述目标视频图像的源数据包和冗余数据包的丢包率大于第四预设阈值,则将目标视频图像的FEC编码参数中冗余数据包的个数增加预设个数,直至所述目标视频图像的源数据包和冗余数据包的丢包率小于或者等于第四预设阈值;其中,所述第四预设阈值小于所述第一预设阈值且增加后的冗余数据包的个数小于或者等于源数据包的个数;
将所述目标视频图像按照冗余数据包的个数增加后的FEC编码参数进行FEC编码并发送至所述解码端设备。
通过在目标视频图像的源数据包和冗余数据包的丢包率大于第四预设阈值时,将目标视频图像的FEC编码参数中冗余数据包的个数增加预设个数,直至该目标视频图像的源数据包和冗余数据包的丢包率小于或者等于第四预设阈值,能够将目标视频图像的源数据包和冗余数据包的丢包率减少至第四预设阈值。
在一个实施例中,所述方法还包括:
若将目标视频图像的FEC编码参数中冗余数据包的个数增加至和冗余数据包的个数相等时,所述目标视频图像的源数据包和冗余数据包的丢包率大于所述第四预设阈值,则确定所述目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数;
将所述目标视频图像按照所述目标FEC编码参数进行FEC编码并发送至所述解码端设备。
通过确定目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数并将目标视频图像按照目标FEC编码参数进行FEC编码并发送至解码端设备,能够使目标视频图像的源数据包和冗余数据包的丢包率在传输过程中达到最小。
根据本公开实施例的第二方面,提供一种图像编码装置,包括:
当前视频图像编码模块,用于获取当前视频图像并对所述当前视频图像进行FEC编码,生成所述当前视频图像的源数据包和冗余数据包,所述当前视频图像包括至少一帧待发送视频图像;
当前视频图像发送模块,用于将所述当前视频图像的源数据包和冗余数据包发送至解码端设备;
FEC编码参数调整模块,用于若确定在预设时长内,所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,所述目标视频图像为在所述当前视频图像后的至少一帧待发送视频图像,所述FEC编码参数包括源数据包的个数和冗余数据包的个数。
在一个实施例中,所述FEC编码参数调整模块用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值,则将所述目标视频图像的FEC编码参数调整为第一FEC编码参数;其中,所述第二预设阈值大于所述第一预设阈值。
在一个实施例中,所述FEC编码参数调整模块用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于所述第二预设阈值且小于或者等于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第二FEC编码参数;其中,所述第三预设阈值大于第二预设阈值,所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第一FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
在一个实施例中,所述FEC编码参数调整模块用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第三FEC编码参数;其中,所述第三FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
在一个实施例中,所述装置还包括:
目标视频图像编码模块,用于将所述目标视频图像按照所述FEC编码参数进行FEC编码,生成所述目标视频图像的数据包和冗余数据包;
目标视频图像发送模块,用于将所述目标视频图像的数据包和冗余数据包发送至解码端设备;
冗余数据包增加模块,用于若确定所述目标视频图像的源数据包和冗余数据包的丢包率大于第四预设阈值,则将目标视频图像的FEC编码参数中冗余数据包的个数增加预设个数,直至所述目标视频图像的源数据包和冗余数据包的丢包率小于或者等于第四预设阈值;其中,所述第四预设阈值小于所述第一预设阈值且增加后的冗余数据包的个数小于或者等于源数据包的个数;
所述目标视频图像编码模块还用于,将所述目标视频图像按照冗余数据包的个数增加后的FEC编码参数进行FEC编码并发送至所述解码端设备。
在一个实施例中,所述装置还包括:
目标FEC编码参数确定模块,用于若将目标视频图像的FEC编码参数中冗余数据包的个数增加至和冗余数据包的个数相等时,所述目标视频图像的源数据包和冗余数据包的丢包率大于所述第四预设阈值,则确定所述目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数;
所述目标视频图像编码模块还用于,将所述目标视频图像按照所述目标FEC编码参数进行FEC编码并发送至所述解码端设备。
根据本公开实施例的第三方面,提供一种编码端设备,所述编码端设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以第一方面中任一项所述的图像编码方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现第一方面中任一项所述的图像编码方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种图像编码方法的流程图一;
图2是本公开实施例提供的一种图像编码方法的流程图二;
图3是本公开实施例提供的一种FEC编码参数调整方法的流程图;
图4是本公开实施例提供的一种测试数据表的示意图;
图5是本公开实施例提供的一种图像编码装置的结构图一;
图6是本公开实施例提供的一种图像编码装置的结构图二;
图7是本公开实施例提供的一种编码端设备的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是本公开实施例提供的一种图像编码方法的流程图一,该方法应用于编码端设备。如图1所示,该方法包括:
S101、获取当前视频图像并对该当前视频图像进行前向纠错FEC编码,生成该当前视频图像的源数据包和冗余数据包,该当前视频图像包括至少一帧待发送视频图像。
示例性地,该编码端设备获取当前视频图像并对该当前视频图像进行FEC编码,生成该当前视频图像的多个源数据包和与其对应的预设个数个冗余数据包。
S102、将该当前视频图像的源数据包和冗余数据包发送至解码端设备。
示例性地,编码端设备将该当前视频图像的多个源数据包和与其对应的预设个数个冗余数据包发送至解码端设备后,解码端设备在预设时长内接收该当前视频图像的源数据包和冗余数据包,并将接收到的该当前视频图像的源数据包和冗余数据包发送至该编码端设备。
S103、若确定在预设时长内,该当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,该目标视频图像为在该当前视频图像后的至少一帧待发送视频图像,该FEC编码参数包括源数据包的个数和冗余数据包的个数。
示例性地,编码端设备在预设时长内接收解码端设备发送的该当前视频图像的源数据包和冗余数据包,并确定接收解码端设备发送的该当前视频图像的源数据包和冗余数据包的数量,再与向解码端设备发送的该当前视频图像的多个源数据包和与其对应的预设个数个冗余包的数量做比对,确定该当前视频图像的源数据包和冗余数据包的丢包率,若该丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,该目标视频图像为在该当前视频图像后的至少一帧待发送视频图像,该FEC编码参数包括源数据包的个数和冗余数据包的个数。在本实施例中,该第一预设阈值可以为3%~8%,例如第一预设阈值可以为5%。
下面对编码端设备如何调整目标视频图像的FEC编码参数进行说明。
在一个实施例中,若该当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值,则将该目标视频图像的FEC编码参数调整为第一FEC编码参数;其中,该第二预设阈值大于该第一预设阈值。
例如,在本实施例中,该第一预设阈值为5%,该第二预设阈值为8%,该第一FEC编码参数包括20个源数据包的和5个冗余数据包。
在另一个实施例中,若该当前视频图像的源数据包和冗余数据包的丢包率大于该第二预设阈值且小于或者等于第三预设阈值,则将该目标视频图像的FEC编码参数调整为第二FEC编码参数;其中,该第三预设阈值大于第二预设阈值,该第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于该第一FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
例如,在本实施例中,该第三预设阈值为15%,该第二FEC编码参数包括40个源数据包的和16个冗余数据包。
在另一个实施例中,若该当前视频图像的源数据包和冗余数据包的丢包率大于第三预设阈值,则将该目标视频图像的FEC编码参数调整为第三FEC编码参数;其中,该第三FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于该第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
例如,在本实施例中,该第三FEC编码参数包括80个源数据包的和40个冗余数据包。
示例性地,调整目标视频图像的FEC编码参数后,将该目标视频图像按照该FEC编码参数进行FEC编码,生成该目标视频图像的数据包和冗余数据包,再将该目标视频图像的数据包和冗余数据包发送至解码端设备。
进一步地,若确定该目标视频图像的源数据包和冗余数据包的丢包率大于第四预设阈值,则将目标视频图像的FEC编码参数中冗余数据包的个数增加预设个数,直至该目标视频图像的源数据包和冗余数据包的丢包率小于或者等于第四预设阈值;其中,该第四预设阈值小于该第一预设阈值且增加后的冗余数据包的个数小于或者等于源数据包的个数。再将该目标视频图像按照冗余数据包的个数增加后的FEC编码参数进行FEC编码并发送至该解码端设备。在本实施例中,该第四预设阈值可以为0.005%~0.02%,例如,该第四预设阈值可以为0.01%。该预设个数可以为1。
例如,将目标视频图像的FEC编码参数调整为第一FEC编码参数后,该解码端设备将该目标视频图像进行FEC编码,生成20个源数据包的和5个冗余数据包,再将该目标视频图像的20个源数据包的和5个冗余数据包发送至解码端设备。该解码端设备接收到该目标视频图像的源数据包和冗余数据包后再将该目标视频图像的源数据包和冗余数据包发送至该编码端设备。该编码端设备接收该解码端设备发送的该目标视频图像的源数据包和冗余数据包并确定接收到的该解码端设备发送的该目标视频图像的源数据包和冗余数据包的数量,再与该编码端发送至解码端设备的该目标视频图像的20个源数据包的和5个冗余数据包的数量作比对,若确定该目标视频图像的源数据包和冗余数据包的丢包率大于0.01%,则将该冗余数据包的数量增加1,直至该目标视频图像的源数据包和冗余数据包的丢包率小于或者等于0.01%。再将该目标视频图像按照冗余数据包的个数增加后的FEC编码参数进行FEC编码并发送至该解码端设备。
例如,将该目标视频图像的冗余数据包的数量增加至为18时,该目标视频图像的源数据包和冗余数据包的丢包率小于或者等于0.01%,则将该目标视频图像进行FEC编码,生成20个源数据包和18冗余数据包,再将该目标视频图像的20个源数据包和18冗余数据包发送至该解码端设备。
此处需要说明的时,若将目标视频图像的FEC编码参数中冗余数据包的个数增加至和冗余数据包的个数相等时,该目标视频图像的源数据包和冗余数据包的丢包率大于该第四预设阈值,则确定该目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数;再将该目标视频图像按照该目标FEC编码参数进行FEC编码并发送至该解码端设备。
例如,将该目标视频图像的冗余数据包的数量增加至为20时,该目标视频图像的源数据包和冗余数据包的丢包率仍大于0.01%,且该目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数包括20个源数据包和16个冗余数据包,则将该目标视频图像进行FEC编码,生成20个源数据包和16冗余数据包,再将该目标视频图像的20个源数据包和16冗余数据包发送至该解码端设备。
本公开实施例提供的图像编码方法,能够获取当前视频图像并对该当前视频图像进行前向纠错FEC编码,生成该当前视频图像的源数据包和冗余数据包,该当前视频图像包括至少一帧待发送视频图像;将该当前视频图像的源数据包和冗余数据包发送至解码端设备;若确定在预设时长内,该当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,该目标视频图像为在该当前视频图像后的至少一帧待发送视频图像,该FEC编码参数包括源数据包的个数和冗余数据包的个数,能够根据当前视频图像的源数据包和冗余数据包的丢包率调整目标视频图像的FEC编码参数,进而有效的降低丢包率,能够解决冗余包个数增加之后,将直接导致码流的增加,从而使得丢包率增加的问题。
下面结合图2实施例,对本公开实施例提供的图像编码方法作进一步详细说明。图2是本公开实施例提供的一种图像编码方法的流程图二。如图2所示,该方法包括:
S201、编码端设备在图像传输过程中,实时监测当前丢包率;
本方案的图传系统采用FEC技术进行编码传输,这是前提。
实际应用中,丢包率的计算方法很多,这里给出一种示例性的计算方法:
统计一段时间内编码端设备发送的数据量S和解码端设备收到的数据量R,则丢包率的计算公式为:
(S-R)/S。
S202、判断当前丢包率是否大于第一预设阈值,如果大于第一预设阈值则说明当前丢包率较大,则需要对当前FEC编码参数进行调整;如果不大于第一预设阈值,则说明当前丢包率处于可接受范围内,则继续按照当前参数进行FEC编码,不需要对参数进行调整;
本发明中的第一预设阈值设置为5%,即,丢包率在5%以内时是可以接受的。
S203、当前丢包率大于第一预设阈值时,按照图3所示的FEC编码参数调整方法对FEC编码参数进行调整。
图3是本公开实施例提供的一种FEC编码参数调整方法的流程图。如图3所示,该方法包括:
S301、确定当前丢包率数值属于哪一个丢包率区间;
该步骤之前,需要预设一个丢包率和优选FEC编码参数的映射表,该表中列出了不同丢包率区间所对应的优选FEC编码参数。该表是由人工方式生成后保存在数据库中。一个示例性的映射表可参照下表:
丢包率区间 | 优选FEC编码参数 |
[3%,8%) | 20+5 |
[8%,15%) | 40+16 |
[15%,100%] | 80+40 |
表1
需要说明的是,一般情况下丢包率很少超过20%。
上面所说的优选FEC是经过对当前图传系统进行实际测试验证后所确定的优选参数。发明人在实际测试中验证后得到的测试数据表如图4所示。有了上述映射表之后,则,比对当前所确定的丢包率属于上述映射表中的哪一个丢包率区间,比如,实时丢包率为5%,则确定属于[3%,8%)这个区间;再比如,实时丢包率为12%,则确定属于[8%,15%)这个区间,等等,以此类推。
S302、确定当前丢包率属于哪一个丢包率区间后,则确定出当前的优选FEC编码参数,并将当前FEC编码参数调整为所述优选FEC编码参数;
S303、在调整FEC编码参数后,监测一段时间内的丢包率是否降低到小于第二预设阈值(比如,0.01%),如果没有,则需要对当前FEC编码参数进行动态调节,直到丢包率降低到小于等于第二预设阈值(0.01%);
具体的,动态调节的方式如下:
按照预设的步进值进行冗余位数量的增加,假设FEC编码参数是a+b,也即是,增加b的数值,每次以一个固定的步进值,1或者2增加,b不能大于a。在增加过程中,不断监测丢包率的变化,如果丢包率小于等于0.01%则停止调节,否则继续增加,直到丢包率小于等于0第二预设阈值。一般情况下,在以此方式进行调整的过程中,就能够将丢包率调整到0.01%以下,当调整到0.01%以下时,记录当前的FEC编码参数,将此FEC编码参数作为当前最优FEC编码参数,并不再对FEC编码参数进行调整,除非丢包率再次大于第一预设阈值则重新按照步骤S203进行处理。
如果出现以下特殊情况:调整过程中,丢包率始终大于0.01%,则按下述方式处理:确定调整过程中各种FEC编码参数传输情况下所对应的丢包率;比较得到其中最小丢包率所对应的FEC编码参数,将此参数确定为当前最优FEC编码参数,并不再对FEC编码参数进行调整,除非丢包率再次大于第一预设阈值则重新按照步骤S203进行处理。
基于上述对应的实施例中所描述的图像编码方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。图5是本公开实施例提供的一种图像编码装置的结构图一。如图5所示,该装置50包括:
当前视频图像编码模块501,用于获取当前视频图像并对所述当前视频图像进行FEC编码,生成所述当前视频图像的源数据包和冗余数据包,所述当前视频图像包括至少一帧待发送视频图像;
当前视频图像发送模块502,用于将所述当前视频图像的源数据包和冗余数据包发送至解码端设备;
FEC编码参数调整模块503,用于若确定在预设时长内,所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,所述目标视频图像为在所述当前视频图像后的至少一帧待发送视频图像,所述FEC编码参数包括源数据包的个数和冗余数据包的个数。
在一个实施例中,FEC编码参数调整模块503用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值,则将所述目标视频图像的FEC编码参数调整为第一FEC编码参数;其中,所述第二预设阈值大于所述第一预设阈值。
在一个实施例中,FEC编码参数调整模块503用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于所述第二预设阈值且小于或者等于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第二FEC编码参数;其中,所述第三预设阈值大于第二预设阈值,所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第一FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
在一个实施例中,FEC编码参数调整模块503用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第三FEC编码参数;其中,所述第三FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
在一个实施例中,如图6所示,该装置50还包括:
目标视频图像编码模块504,用于将所述目标视频图像按照所述FEC编码参数进行FEC编码,生成所述目标视频图像的数据包和冗余数据包;
目标视频图像发送模块505,用于将所述目标视频图像的数据包和冗余数据包发送至解码端设备;
冗余数据包增加模块506,用于若确定所述目标视频图像的源数据包和冗余数据包的丢包率大于第四预设阈值,则将目标视频图像的FEC编码参数中冗余数据包的个数增加预设个数,直至所述目标视频图像的源数据包和冗余数据包的丢包率小于或者等于第四预设阈值;其中,所述第四预设阈值小于所述第一预设阈值且增加后的冗余数据包的个数小于或者等于源数据包的个数;
该目标视频图像编码模块504还用于,将所述目标视频图像按照冗余数据包的个数增加后的FEC编码参数进行FEC编码并发送至所述解码端设备。
在一个实施例中,所述装置还包括:
目标FEC编码参数确定模块507,用于若将目标视频图像的FEC编码参数中冗余数据包的个数增加至和冗余数据包的个数相等时,所述目标视频图像的源数据包和冗余数据包的丢包率大于所述第四预设阈值,则确定所述目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数;
目标视频图像编码模块504还用于,将所述目标视频图像按照所述目标FEC编码参数进行FEC编码并发送至所述解码端设备。
本公开实施例提供的图像编码装置,其实现过程和技术效果可以参见上述图1至图4实施例,在此不再赘述。
图7为本公开实施例提供的一种编码端设备的结构图,如图7所示,该编码端设备70包括:
处理器701和存储器702,所述存储器702中存储有至少一条计算机指令,所述指令由所述处理器701加载并执行以实现上述方法实施例中所描述的图像编码方法。
基于上述图1至图4对应的实施例中所描述的图像编码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1至图4对应的实施例中所描述的图像编码方法,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种图像编码方法,其特征在于,所述方法包括:
获取当前视频图像并对所述当前视频图像进行前向纠错FEC编码,生成所述当前视频图像的源数据包和冗余数据包,所述当前视频图像包括至少一帧待发送视频图像;
将所述当前视频图像的源数据包和冗余数据包发送至解码端设备;
若确定在预设时长内,所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,所述目标视频图像为在所述当前视频图像后的至少一帧待发送视频图像,所述FEC编码参数包括源数据包的个数和冗余数据包的个数。
2.根据权利要求1所述的方法,其特征在于,所述调整目标视频图像的FEC编码参数包括:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值,则将所述目标视频图像的FEC编码参数调整为第一FEC编码参数;其中,所述第二预设阈值大于所述第一预设阈值。
3.根据权利要求2所述的方法,其特征在于,所述调整目标视频图像的FEC编码参数包括:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于所述第二预设阈值且小于或者等于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第二FEC编码参数;其中,所述第三预设阈值大于第二预设阈值,所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第一FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
4.根据权利要求3所述的方法,其特征在于,所述调整目标视频图像的FEC编码参数包括:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第三预设阈值,则将所述目标视频图像的FEC编码参数调整为第三FEC编码参数;其中,所述第三FEC编码参数中源数据包的个数和冗余数据包的个数的比值大于所述第二FEC编码参数中源数据包的个数和冗余数据包的个数的比值。
5.根据权利要求1所述的方法,其特征在于,所述调整目标视频图像的FEC编码参数后,所述方法还包括:
将所述目标视频图像按照所述FEC编码参数进行FEC编码,生成所述目标视频图像的数据包和冗余数据包;
将所述目标视频图像的数据包和冗余数据包发送至解码端设备;
若确定所述目标视频图像的源数据包和冗余数据包的丢包率大于第四预设阈值,则将目标视频图像的FEC编码参数中冗余数据包的个数增加预设个数,直至所述目标视频图像的源数据包和冗余数据包的丢包率小于或者等于第四预设阈值;其中,所述第四预设阈值小于所述第一预设阈值且增加后的冗余数据包的个数小于或者等于源数据包的个数;
将所述目标视频图像按照冗余数据包的个数增加后的FEC编码参数进行FEC编码并发送至所述解码端设备。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若将目标视频图像的FEC编码参数中冗余数据包的个数增加至和冗余数据包的个数相等时,所述目标视频图像的源数据包和冗余数据包的丢包率大于所述第四预设阈值,则确定所述目标视频图像的源数据包和冗余数据包的丢包率最小时对应的目标视频图像的目标FEC编码参数;
将所述目标视频图像按照所述目标FEC编码参数进行FEC编码并发送至所述解码端设备。
7.一种图像编码装置,其特征在于,包括:
当前视频图像编码模块,用于获取当前视频图像并对所述当前视频图像进行FEC编码,生成所述当前视频图像的源数据包和冗余数据包,所述当前视频图像包括至少一帧待发送视频图像;
当前视频图像发送模块,用于将所述当前视频图像的源数据包和冗余数据包发送至解码端设备;
FEC编码参数调整模块,用于若确定在预设时长内,所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值,则调整目标视频图像的FEC编码参数,所述目标视频图像为在所述当前视频图像后的至少一帧待发送视频图像,所述FEC编码参数包括源数据包的个数和冗余数据包的个数。
8.根据权利要求7所述的装置,其特征在于,所述FEC编码参数调整模块用于:
若所述当前视频图像的源数据包和冗余数据包的丢包率大于第一预设阈值且小于或者等于第二预设阈值,则将所述目标视频图像的FEC编码参数调整为第一FEC编码参数;其中,所述第二预设阈值大于所述第一预设阈值。
9.一种编码端设备,其特征在于,所述编码端设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现权利要求1至权利要求6任一项所述的图像编码方法中所执行的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现权利要求1至权利要求6任一项所述的图像编码方法中所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010744094.9A CN111954002A (zh) | 2020-07-29 | 2020-07-29 | 图像编码方法、装置、编码端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010744094.9A CN111954002A (zh) | 2020-07-29 | 2020-07-29 | 图像编码方法、装置、编码端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111954002A true CN111954002A (zh) | 2020-11-17 |
Family
ID=73339827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010744094.9A Pending CN111954002A (zh) | 2020-07-29 | 2020-07-29 | 图像编码方法、装置、编码端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111954002A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196746A (zh) * | 2016-03-15 | 2017-09-22 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
CN111385055A (zh) * | 2018-12-27 | 2020-07-07 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法和装置 |
-
2020
- 2020-07-29 CN CN202010744094.9A patent/CN111954002A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196746A (zh) * | 2016-03-15 | 2017-09-22 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
CN111385055A (zh) * | 2018-12-27 | 2020-07-07 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10014977B2 (en) | Systems and methods for transmitting data | |
US8856624B1 (en) | Method and apparatus for dynamically generating error correction | |
EP3694124A1 (en) | Polarized coding method and apparatus, electronic device, and storage medium | |
EP1580917A2 (en) | Retransmission ordering method, wireless communication system, receiver and transmitter | |
US20110299588A1 (en) | Rate control in video communication via virtual transmission buffer | |
CN111093083B (zh) | 数据传输方法及装置 | |
CN102648584A (zh) | 使用前向纠错检验可用带宽的系统、方法和介质 | |
CN109327283B (zh) | 一种网络自适应的抗丢包方法、装置及终端设备 | |
JP3676815B2 (ja) | テレコミュニケーションシステムにおけるスピーチコード化パラメータの処理方法 | |
CN116208771A (zh) | 视频码率调整方法、装置及设备 | |
CN110970039A (zh) | 一种音频传输方法、装置、电子设备和存储介质 | |
CN112187817B (zh) | 流媒体数据传输方法、装置、设备及存储介质 | |
CN106792265B (zh) | 一种网络实时流媒体传输方法和系统 | |
CN111954002A (zh) | 图像编码方法、装置、编码端设备及存储介质 | |
US11812036B2 (en) | Method for image transmitting, transmitting device and receiving device | |
CN102111232A (zh) | 前向纠错方法和装置 | |
CN111246428A (zh) | 一种网络可靠通信方法、系统、装置及存储介质 | |
WO2016179382A1 (en) | Voice quality monitoring system | |
CN116318545A (zh) | 视频数据传输方法、装置、设备及存储介质 | |
CN113194340B (zh) | 视频传输调整方法及装置 | |
CN113301387B (zh) | 数据编解码方法、相关设备及系统 | |
CN111953979A (zh) | 图像处理方法及装置 | |
CN111245566B (zh) | 不可靠网络的抗丢包方法、装置、存储介质及电子设备 | |
US20220416949A1 (en) | Reception terminal and method | |
CN114422082B (zh) | 基于线性网络编码的传输控制方法、系统、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |