本公开涉及图像传输技术领域,尤其涉及图像数据传输方法及装置。
背景技术:
图像数据的传输可以采用渐进式编码,渐进式编码将一个图像帧分为多层进行编码,先将待处理图像的大致轮廓或是模糊影像通过编码传输并解码恢复在屏幕上,然后再由网络传输来慢慢的将图像的细节信息补足,这样一层一层恢复完整的图像帧,但这种编码传输的方式图像通常是由模糊到清晰。但是,在网络带宽不足,网络传输状况较差时,图像帧的传输层数变少,这就使得恢复以后的图像细节不足,图像显示质量变差。
技术实现要素:
本公开实施例提供一种图像数据传输方法及装置,能够解决网络传输状况较差时,图像帧的传输层数变少,使得图像显示质量变差的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种图像数据传输方法,该方法包括:
获取待传输图像数据,待传输图像数据包括至少一个参考帧和至少一个非参考帧;
确定传输待传输图像数据的总带宽;
按照总带宽为参考帧和非参考帧分配不同的带宽,参考帧的带宽大于非参考帧的带宽,参考帧的带宽和非参考帧的带宽均小于总带宽;
根据参考帧的带宽传输参考帧,并且根据非参考帧的带宽传输非参考帧。
在传输待传输图像数据时,为参考帧分配较多的带宽,为非参考帧分配较少的带宽,使得解码端在解码时参考帧的传输量较多,保证解码出的图像清晰度较高,同时因为非参考帧的带宽低,减少了占用的网络资源,保证了即使在网络状况不佳时,图像清晰度依旧很高。
在一个实施例中,按照总带宽为参考帧和非参考帧分配不同的带宽,包括:
确定当前网络状况;
根据总带宽及当前网络状况分别为参考帧和非参考帧分配不同的带宽。
在分配带宽时,根据当前网络状况为参考帧和非参考帧分配不同的带宽,使得待传输图像数据在传输过程中适应网络状况,保证解码后图像清晰。
在一个实施例中,按照总带宽为参考帧和非参考帧分配不同的带宽,包括:
根据公式bi=b0/f×α计算参考帧的带宽;
根据公式bn=b0/f×β计算非参考帧的带宽,其中,bi表示参考帧的带宽,bn表示参考帧的带宽,b0表示总带宽,f为帧率,α和β为加权系数,α+β=1,且α>β。
根据公式计算带宽更准确,更好的保证解码后图像的清晰度。
在一个实施例中,该方法还包括:
将参考帧按照参考帧的编码层数进行渐进式编码;
并且将非参考帧按照非参考帧的编码层数进行渐进式编码,参考帧的编码层数大于或等于非参考帧的编码层数。
根据渐进式编码对图像帧进行编码时,编码层数越高,数据还原越完整,对参考帧的编码层数设置较高,对非参考帧的编码层数设置较低,在保证图像清晰度的同时,减少了网络资源的占用。
在一个实施例中,该方法还包括:
确定参考帧的缓存区大小和非参考帧的缓存区大小;
根据参考帧的缓存区大小确定参考帧的编码层数,并且根据非参考帧的缓存区大小确定非参考帧的编码层数。
对参考帧和非参考帧设置不同的缓存区大小,直接根据缓存区大小就可以确定参考帧和非参考帧的编码层数,提高了处理效率。
根据本公开实施例的第二方面,提供一种图像数据传输装置,包括:获取模块、带宽模块、分配模块及传输模块;
获取模块,用于获取待传输图像数据,待传输图像数据包括至少一个参考帧和至少一个非参考帧;
带宽模块,用于确定传输待传输图像数据的总带宽;
分配模块,用于按照总带宽为参考帧和非参考帧分配不同的带宽,参考帧的带宽大于非参考帧的带宽,参考帧的带宽和非参考帧的带宽均小于总带宽;
传输模块,用于根据参考帧的带宽传输参考帧,并且根据非参考帧的带宽传输非参考帧。
在一个实施例中,分配模块,用于确定当前网络状况;根据总带宽及当前网络状况分别为参考帧和非参考帧分配不同的带宽。
在一个实施例中,分配模块,用于根据公式bi=b0/f×α计算参考帧的带宽;根据公式bn=b0/f×β计算非参考帧的带宽,其中,bi表示参考帧的带宽,bn表示参考帧的带宽,b0表示总带宽,f为帧率,α和β为加权系数,α+β=1,且α>β。
在一个实施例中,图像数据传输装置还包括编码模块;
编码模块,用于将参考帧按照参考帧的编码层数进行渐进式编码;并且将非参考帧按照非参考帧的编码层数进行渐进式编码,参考帧的编码层数大于或等于非参考帧的编码层数。
在一个实施例中,图像数据传输装置还包括缓存模块及编码层数模块;
缓存模块,用于确定参考帧的缓存区大小和非参考帧的缓存区大小;
编码层数模块,用于根据参考帧的缓存区大小确定参考帧的编码层数,并且根据非参考帧的缓存区大小确定非参考帧的编码层数。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种图像数据传输方法的流程图;
图2是本公开另一实施例提供的一种图像数据传输方法的流程图;
图3是本公开实施例提供的一种图像数据传输装置的结构示意图;
图4是本公开实施例提供的一种图像数据传输装置的结构示意图;
图5是本公开实施例提供的一种图像数据传输装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种图像数据传输方法,如图1所示,该图像数据传输方法包括以下步骤:
101、获取待传输图像数据。
待传输图像数据包括至少一个参考帧和至少一个非参考帧。参考帧是待传输图像数据在编码和解码过程中其他帧需要参考其进行编码和解码的帧,非参考帧是不需要其他帧对其参考进行编码和解码的帧,因此,参考帧相较于非参考帧更为重要,如果传输过程中,参考帧传输的较多,待传输图像数据在解码后得到的图像就更清晰。
102、确定传输待传输图像数据的总带宽。
待传输图像数据的总带宽是待传输图像数据每秒可以传输的最大数据量。
103、按照总带宽为参考帧和非参考帧分配不同的带宽。
参考帧的带宽大于非参考帧的带宽,参考帧的带宽和非参考帧的带宽均小于总带宽。
需要说明的是,分配带宽的方式可以有多种,此处,列举两种具体的示例进行说明,并不代表本公开局限于此。
在第一个示例中,按照总带宽为参考帧和非参考帧分配不同的带宽,包括:确定当前网络状况;根据总带宽及当前网络状况分别为参考帧和非参考帧分配不同的带宽。
在分配带宽时,根据当前网络状况为参考帧和非参考帧分配不同的带宽,使得待传输图像数据在传输过程中适应网络状况,保证解码后图像清晰。
在第二个示例中,按照总带宽为参考帧和非参考帧分配不同的带宽,包括:根据公式bi=b0/f×α计算参考帧的带宽;根据公式bn=b0/f×β计算非参考帧的带宽,其中,bi表示参考帧的带宽,bn表示参考帧的带宽,b0表示总带宽,f为帧率,α和β为加权系数,α+β=1,且α>β。b0/f表示每一个参考帧可以占用的带宽。
根据公式计算带宽更准确,更好的保证解码后图像的清晰度。
104、根据参考帧的带宽传输参考帧,并且根据非参考帧的带宽传输非参考帧。
在传输所述参考帧及非参考帧之前,要对其进行图像编码,在一个实施例中,可以对每一个图像帧进行渐进式编码。
例如,该方法还包括:将参考帧按照参考帧的编码层数进行渐进式编码;并且将非参考帧按照非参考帧的编码层数进行渐进式编码,参考帧的编码层数大于或等于非参考帧的编码层数。
根据渐进式编码对图像帧进行编码时,编码层数越高,数据还原越完整,对参考帧的编码层数设置较高,对非参考帧的编码层数设置较低,在保证图像清晰度的同时,减少了网络资源的占用。
进一步的,在一个实施例中,该方法还包括:确定参考帧的缓存区大小和非参考帧的缓存区大小;根据参考帧的缓存区大小确定参考帧的编码层数,并且根据非参考帧的缓存区大小确定非参考帧的编码层数。
对参考帧和非参考帧设置不同的缓存区大小,直接根据缓存区大小就可以确定参考帧和非参考帧的编码层数,提高了处理效率。
本公开实施例提供的图像数据传输方法,在传输待传输图像数据时,为参考帧分配较多的带宽,为非参考帧分配较少的带宽,使得解码端在解码时参考帧的传输量较多,保证解码出的图像清晰度较高,同时因为非参考帧的带宽低,减少了占用的网络资源,保证了即使在网络状况不佳时,图像清晰度依旧很高。
基于上述图1对应的实施例中所描述的图像数据传输方法,本公开另一实施例提供一种图像数据传输方法,应用于图像数据传输装置,该图像数据传输装置可以是一个编码器,如图2所示,该图像数据传输方法包括以下步骤:
201、获取待传输图像数据。
待传输图像数据包括至少一个图像帧,每一个图像帧是参考帧或者非参考帧。
202、将每一个图像帧分成m×n个宏块。
203、对每一个图像帧的帧内宏块进行三级哈尔小波处理,并进行渐进式编码。
图像帧中包含的宏块可以分为:全局运动块,不变块,帧内拷贝块,帧内块等。
204、根据参考帧的缓存区大小确定参考帧的编码层数,并且根据非参考帧的缓存区大小确定非参考帧的编码层数。
缓存区大小可以认为是一个传输阈值,参考帧的缓存区大小表示参考帧的传输阈值,即一个参考帧的实际传输的最大数据量;非参考帧的缓存区大小表示非参考帧的传输阈值,即一个非参考帧的实际传输的最大数据量。确定编码层数,以便解码器按照编码层数对应进行解码。
需要说明的是,可以先确定编码层数,按照编码层数进行编码,或者先对图像帧进行编码,然后按照确定的编码层数进行数据传输,例如,目标图像帧进行了3层编码,缓存区大小只允许缓存2层编码的数据量,则只传输前2层的编码数据。
205、按照总带宽为参考帧和非参考帧分配不同的带宽。
例如,为待传输图像数据提供的总带宽为b0,则每一个图像帧可以占用的带宽为w=b0/f,b0表示总带宽,f为帧率;根据公式bi=w×α计算参考帧的带宽;根据公式bn=w×β计算非参考帧的带宽,其中,bi表示参考帧的带宽,bn表示参考帧的带宽,α和β为加权系数,α+β=1,且α>β。
206、根据参考帧的带宽传输参考帧,并且根据非参考帧的带宽传输非参考帧。
此处,以目标图像帧为例,对编码过程进行说明,目标图像帧是待传输图像数据中的任意一个图像帧。如果目标图像帧为第一帧,则将其确定为参考帧,按照参考帧进行处理;
如果目标图像帧不是第一帧,则接着判断目标图像帧是否为场景切换帧,若是的话,将其按照参考帧来处理;
如果目标图像帧不是场景切换帧,再判断参考帧是否传输完毕,若是,将其按照参考帧来处理;若否,则将其按照非参考帧处理。
然后对目标图像帧进行渐进式编码,将编码后的码流存放在缓存区中,每一个图像帧都有一个缓存区,根据缓存区大小可以确定目标图像帧编码层数。
在传输目标图像帧时,以目标图像帧是非参考帧为例,如果目标图像帧的缓存区大小等于非参考帧的带宽,则可以传输完目标图像帧的所有层;如果目标图像帧的缓存区大小大于非参考帧的带宽,只能传输目标图像帧的前几层;如果目标图像帧的缓存区大小小于非参考帧的带宽,在传输完目标图像帧的所有层后,该目标图像帧的带宽还有剩余,可以将剩余的带宽分配给参考帧。
解码端在接收到目标图像帧后,按照实际的数据传输量确定目标图像帧的编码层数,并进行解码。
本公开实施例提供的图像数据传输方法,在传输待传输图像数据时,为参考帧分配较多的带宽,为非参考帧分配较少的带宽,使得解码端在解码时参考帧的传输量较多,保证解码出的图像清晰度较高,同时因为非参考帧的带宽低,减少了占用的网络资源,保证了即使在网络状况不佳时,图像清晰度依旧很高。
基于上述图1和图2对应的实施例中所描述的图像数据传输方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种图像数据传输装置,如图3所示,该图像数据传输装置30包括:获取模块301、带宽模块302、分配模块303及传输模块304;
获取模块301,用于获取待传输图像数据,待传输图像数据包括至少一个参考帧和至少一个非参考帧;
带宽模块302,用于确定传输待传输图像数据的总带宽;
分配模块303,用于按照总带宽为参考帧和非参考帧分配不同的带宽,参考帧的带宽大于非参考帧的带宽,参考帧的带宽和非参考帧的带宽均小于总带宽;
传输模块304,用于根据参考帧的带宽传输参考帧,并且根据非参考帧的带宽传输非参考帧。
在一个实施例中,分配模块303,用于确定当前网络状况;根据总带宽及当前网络状况分别为参考帧和非参考帧分配不同的带宽。
在一个实施例中,分配模块303,用于根据公式bi=b0/f×α计算参考帧的带宽;根据公式bn=b0/f×β计算非参考帧的带宽,其中,bi表示参考帧的带宽,bn表示参考帧的带宽,b0表示总带宽,f为帧率,α和β为加权系数,α+β=1,且α>β。
在一个实施例中,如图4所示,图像数据传输装置30还包括编码模块305;
编码模块305,用于将参考帧按照参考帧的编码层数进行渐进式编码;并且将非参考帧按照非参考帧的编码层数进行渐进式编码,参考帧的编码层数大于或等于非参考帧的编码层数。
在一个实施例中,如图5所示,图像数据传输装置30还包括缓存模块306及编码层数模块307;
缓存模块306,用于确定参考帧的缓存区大小和非参考帧的缓存区大小;
编码层数模块307,用于根据参考帧的缓存区大小确定参考帧的编码层数,并且根据非参考帧的缓存区大小确定非参考帧的编码层数。
本公开实施例提供的图像数据传输装置,在传输待传输图像数据时,为参考帧分配较多的带宽,为非参考帧分配较少的带宽,使得解码端在解码时参考帧的传输量较多,保证解码出的图像清晰度较高,同时因为非参考帧的带宽低,减少了占用的网络资源,保证了即使在网络状况不佳时,图像清晰度依旧很高。
基于上述图1和图2对应的实施例中所描述的图像数据传输方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1和图2对应的实施例中所描述的数据传输方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。