基于小波变换的码流预测方法及系统

文档序号:490876 发布日期:2022-01-04 浏览:30次 >En<

阅读说明:本技术 基于小波变换的码流预测方法及系统 (Code stream prediction method and system based on wavelet transformation ) 是由 车俊岭 王慧 于 2021-10-27 设计创作,主要内容包括:本发明公开的一种基于小波变换的码流预测方法及系统,首先将当前帧画面拆分为多个图像块,然后对各个图像块进行小波变换,得到若干个子频带;再然后将各个子频带按照重要性分图层进行传输;其次根据各图层的DWT系数的绝对值之和预测各图层经过编码后的编码码流,进而得到当前帧的各图层的编码码流;最后根据预测出的当前帧的各图层的编码码流,确定当次待编码的图层数,使得当前帧每个图层在编码后所产生的码流与当前的网络带宽相匹配,保证传输质量。(The invention discloses a code stream prediction method and a code stream prediction system based on wavelet transformation.A current frame picture is firstly split into a plurality of image blocks, and then each image block is subjected to wavelet transformation to obtain a plurality of sub-frequency bands; then, transmitting each sub-band according to the importance map layer; secondly, predicting the coded code stream of each layer according to the sum of the absolute values of the DWT coefficients of each layer, and further obtaining the coded code stream of each layer of the current frame; and finally, determining the number of layers to be coded at the time according to the predicted code stream of each layer of the current frame, so that the code stream generated after each layer of the current frame is coded is matched with the current network bandwidth, and the transmission quality is ensured.)

基于小波变换的码流预测方法及系统

技术领域

本发明涉及图像编码技术领域,具体为基于小波变换的码流预测方法及系统。

背景技术

现有的视频编码方法所产生的码流大小只与当前帧中变化宏块的数量有关,由于网络带宽的有限性,如果不控制每一帧所产生的码流的大小,导致编码产生的码流大小与网络带宽大小不匹配,从而导致网络拥塞、丢包,最终影响解码端的视频画面质量。

因此,需要设计一种码流预测方法,使当前帧编码后的码流与当前的网络带宽相匹配,以保证视频画面质量。

发明内容

针对现有技术中存在的问题,本发明提供一种基于小波变换的码流预测方法,使得当前帧每个图层在编码后所产生的码流与当前的网络带宽相匹配,保证视频画面质量。

本发明是通过以下技术方案来实现:

一种基于小波变换的码流预测方法,包括以下步骤:

步骤1,将当前帧画面拆分为多个图像块;

步骤2,对各个图像块进行小波变换,得到若干个子频带;

步骤3、将各个子频带按照重要性分图层进行传输;

步骤4、根据各图层的DWT系数的绝对值之和预测各图层经过编码后的编码码流,进而得到当前帧的各图层的编码码流;

步骤5,根据预测出的当前帧的各图层的编码码流,确定当次待编码的图层数,使得当前帧每个图层在编码后所产生的码流与当前的网络带宽相匹配。

优选的,步骤2中采用三级小波变换对各个图像块进行处理后,得到10个子频带。

优选的,步骤2中对各个子频带进行量化处理,消除像素间冗余。

优选的,步骤4中将每个图像块同一层的预测码流相加,得到当前帧的各图层的预测码流大小。

优选的,步骤5中所述待编码的图层数为目标带宽能够承载的当前帧的图层数。

优选的,步骤5中确定待编码的图层数的方法如下:

S1、若当前帧第一层预测的编码码流小于目标带宽,则待编码的图层数为一层;

S2、计算目标带宽与当前帧第一层预测的编码码流的差值,将差值与当前帧第二层预测的编码码流比较,当第二层预测的编码码流小于差值,则待编码的图层数为二层;

S3、重复步骤S2,直至第n层预测的编码码流大于差值,则待编码的图层数为n-1层。

一种基于小波变换的码流预测方法的系统,包括,

拆分模块,用于将当前帧画面拆分为多个图像块;

小波变换模块,用于对拆分模块输出的各个图像块进行小波变换得到若干个子频带;

图层模块,用于将小波变换模块输出的各个子频带按照重要性分图层进行传输;

预测模块、用于当前帧的各图层的编码码流;

待编码图层模块,用于根据预测模块预测出的当前帧的各图层的编码码流,确定当次待编码的图层数。

一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现基于小波变换的码流预测方法的步骤。

与现有技术相比,本发明具有以下有益的技术效果:

本发明提供的一种基于小波变换的码流预测方法,通过预测小波变换后编码产生的码流的大小,然后根据当前的网络带宽,确定每次传输的数据及传输图层数,使得当前帧每个图层在编码后所产生的码流与当前的网络带宽相匹配,保证传输质量。

附图说明

图1为本发明图块的DWT变化过程;

图2为本发明图块的DWT变化结果。

图3为本发明基于小波变换的码流预测的流程图;

具体实施方式

下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。

参阅图1-3,一种基于小波变换的码流预测方法,包括以下步骤:

步骤1,将当前帧画面拆分为多个图像块。

具体的,在本实施例中将当前帧画面拆分为多个16x16像素点的图像块,每个图像块为一个宏块。

当前帧画面划分成若干宏块组成,一个宏块由一个亮度像素块和附加的两个色度像素块组成。一般来说,亮度块为16x16大小的像素块,而两个色度图像像素块的大小依据其图像的采样格式而定,如:对于YUV420采样图像,色度块为8x8大小的像素块。每个图象中,若干宏块被排列成片的形式,视频编码算法以宏块为单位,逐个宏块进行编码,组织成连续的视频码流。

步骤2,对各个图像块进行小波变换,得到若干个子频带,在传输过程中优先传输包含图像基本信息的子频带。

小波变换的过程及结果如图1和图2所示,在本实施例中,采用三级小波变换对各个图像块进行处理后,得到10个子频带,包含LL3、HL3、LH3、HH3、HL2、LH2、HH2、HL1、LH1、HH1,图像数据转换为频域后,低频分量包含了图像的基本特征,高频分量补充图像的细节信息,如图像信号的边缘轮廓信息等。因此,根据人眼的视觉特性,以上子频带按重要性排序为LL3、HL3、LH3、HH3、HL2、LH2、HH2、HL1、LH1、HH1。其中,LL3子带包含了图像的基本信息,也是人眼最关注的像素点DWT系数,在传输过程中优先传输。

步骤3、对各个子频带进行量化处理,消除像素间冗余。

为了达到压缩的目的,图像块经DWT变换后,首先对LL3子频带进行差值运算,从而消除像素间冗余,具体的,LL3子带的第一个值保持不变,以后每个值减去前一个值,然后再对得到的数据进行量化处理。

步骤4、对步骤3得到的各个子频带按照重要性进行分层传输,解码端在接收到一部分DWT系数后,对未接收到的位置进行补零,解码端在接收到多个图层的叠加后生成完整的当前帧。

子频带的分层需要根据实际情况来确定,在本实施例中的分层形式如下:

第一层:LL3

第二层:HL3、LH3、HH3

第三层:HL2

第四层:LH2、HH2

第五层:HL1

第六层:LH1、HH1

步骤5、根据各个图层的DWT系数的绝对值之和预测各图像块的各个图层经过huffman编码后的编码码流,进而得到当前帧的各图层的编码码流。

在进行huffman编码之前,需要预测各图像块每个图层经过huffman编码后的码流大小,Huffman编码的对象是上述量化后的DWT系数,而DWT系数的绝对值的大小决定了生成码流的大小,绝对值越大,码流越大。因此,根据每一个图层的DWT系数的绝对值之和就可以预测编码码流的大小。

根据多次测试,可以得到上述示例中各图层DWT系数的绝对值之和与编码后码流的对应关系,如下:

第一层:preBit[1]=total[1]/6;

第二层:preBit[2]=total[2]/4

第三层:preBit[3]=total[3]/3

第四层:preBit[4]=total[4]/1

第五层:preBit[5]=total[5]/1

第六层:preBit[6]=total[6]/1

在不同场景下,传输不同类型的图像,对应的系数值也可能不同,需要根据实际情况来确定。

步骤6,根据预测出的当前帧的各图层的编码码流,确定当次待编码的图层数。

为了对当前帧每个图层的码流进行准确预测,将各个图像块同一层的预测码流相加,得到当前帧的各图层的预测码流大小。

需要说明的是,待编码的图层数,就是指目标带宽能够承载的当前帧的图层数。目标带宽较大时,待编码的图层数就较多,目标带宽较小时,待编码的图层数就少。

下面对计算当次待编码的图层数的过程进行说明:

S1、若当前帧第一层预测的编码码流小于目标带宽,则待编码的图层数为一层;

S2、计算目标带宽与当前帧第一层预测的编码码流的差值,将差值与当前帧第二层预测的编码码流比较,当第二层预测的编码码流小于差值,则待编码的图层数为二层;

S3、重复步骤S2,直至第n层预测的编码码流大于差值,则待编码的图层数为n-1层。

例如,当前帧每个图层的预测的编码码流为pre_lay[x]。

其中,x为图层数,x=0、1、2、3、4、5;目标带宽为goal_bit;待编码的图层数为layer。

判断pre_lay[x]是否小于goal_bit,若为是,则说明目标带宽至少能够传输第1个图层,继续执行后续步骤;预设x=0,layer=0,确定待编码的图层数流程如下:

layer=layer+1;

goal_bit=goal_bit–pre_lay[x];

判断goal_bit是否大于零,若大于零,则x=x+1,若小于零,则可以确定待编码的图层数为layer。

本发明还提供了上述基于小波变换的码流预测方法的系统,包括拆分模块、小波变换模块,图层模块,码流预测模块和待编码图层模块。

拆分模块,用于将当前帧画面拆分为多个图像块;

小波变换模块,用于对拆分模块输出的各个图像块进行小波变换得到若干个子频带;

图层模块,用于将小波变换模块输出的各个子频带按照重要性分图层进行传输;

码流预测模块、用于当前帧的各图层的编码码流;

待编码图层模块,用于根据预测模块预测出的当前帧的各图层的编码码流,确定当次待编码的图层数。

在示例性实施例中,还提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于小波变换的码流预测方法的步骤。处理器可能是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于小波变换的码流预测方法的步骤。其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:处理方法、智能终端及存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类