时间:2025-03-17 来源:FPGA_UCY 关于我们 0
本发明专利技术提出一种采用FPGA的近无损视频压缩方法,包括以下步骤:利用Canny算子计算当前像素点的梯度值;将梯度方向O划分为8个,对不同方向使用周边不同的像素进行预测,得到预测值;基于上下文索引值Q的符号项sign和残差修正值修正所述预测值Px,计算预测残差并将所述预测残差进行量化和模减;对所述预测残差进行编码,得到映射后的误差值;当存在连续的像素值相同的区域,或相邻梯度相同时,采用游长编码的方式代替步骤五中的编码;对待解码像素点的上下文进行与编码过程相同的梯度计算,以判断待解码像素点采用何种编码方式进行编码。点采用何种编码方式进行编码。点采用何种编码方式进行编码。
全部详细技术资料下载
【技术实现步骤摘要】
一种采用FPGA的近无损视频压缩方法
[0001]本专利技术涉及数字视频
,尤其涉及一种采用FPGA的近无损视频压缩方法。
技术介绍
[0002]如今数字视频飞速发展,视频的分辨率越来越高,从标清到高清,再到4K、8K,视频变得更清晰,也占用更多的存储空间和传输带宽,视频压缩是一种不影响或较小影响视频质量的前提下,大幅减小视频容量的技术。
[0003]目前主流的视频压缩有MPEG
‑
4、JPEG、H.264/H.265等有损压缩技术,这类压缩压缩率高,压缩后的视频基本不影响人的观感。但在一些其它应用中,对视频的细节信息要求很高,例如航空遥感图像,对精度要求高的图像处理领域,这就要用到无损压缩,由于无损压缩的压缩率很难做到很高,应用领域很小,在这方面的研究和文献较少,常见的方法有LOCO
‑
I、CALIC、JPEG
‑
LS及其改进方法。
[0004]但无损压缩的已有技术和改进都是针对通用应用进行研究的,其压缩效果具有一定局限性。
技术实现思路
[0005]本专利技术提出一种采用FPGA的近无损视频压缩方法,针对常见的应用领域,例如视觉目标检测、跟踪,既能像无损压缩一样不损失关键细节,又具备和有损压缩相近的压缩率,同时保留了无损压缩简单易实现的优点。
[0006]本专利技术通过以下技术方案实现。
[0007]一种采用FPGA的近无损视频压缩方法,包括以下步骤:
[0008]步骤一、利用Canny算子计算当前像素点的梯度值,当所述梯度值均不为0时,进入下一步;
[0009]步骤二、将梯度方向O划分为8个,对不同方向使用周边不同的像素进行预测,得到预测值Px;
[0010]步骤三、基于上下文索引值Q的符号项sign和残差修正值C[Q]修正所述预测值Px,计算预测残差并将所述预测残差进行量化和模减;
[0011]步骤四、将A[Q]与量化和模减后的预测残差进行相加,得到更新后的A[Q];将B[Q]与量化和模减后的预测残差乘以(2*near+1)后的值相加,得到更新后的B[Q];若N[Q]的值达到RESET值,所有上下文参数均右移一位,对之前的上下文信息进行压缩,最后将N[Q]值加1;
[0012]其中,A[Q]为对预测误差绝对值之和,B[Q]为对预测误差重建值之和,N[Q]为上下文模式计数器;
[0013]步骤五、对所述预测残差进行编码,得到映射后的误差值;
[0014]步骤六:当存在连续的像素值相同的区域,或相邻梯度相同时,采用游长编码的方式代替步骤五中的编码;
[0015]步骤七:对待解码像素点的上下文进行与编码过程相同的梯度计算,以判断待解码像素点采用何种编码方式进行编码。
[0016]本专利技术的有益效果:
[0017]1、本专利技术利用Canny算子计算当前像素点的梯度值,不同于JPEG
‑
LS简单的上下文模型,Canny算子更能体现当前像素点的纹理特征,使用该梯度模型来决定选择何种压缩模式,能更好地保留关键信息;
[0018]2、本专利技术采用游长模式编码,当存在连续的像素值相同的区域,或相邻梯度相同时,采用游长编码的方式,大幅降低压缩所使用的码字长度
[0019]3、本专利技术针对视觉目标检测和跟踪应用,能够提高近无损压缩的准确度和压缩率。
附图说明
[0020]图1为本专利技术具体实施方式中8个不同的梯度方向;
[0021]图2为本专利技术具体实施方式中周边的像素。
具体实施方式
[0022]下面结合参考附图来详细描述本专利技术的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本专利技术的原理和精神,而并非限制本专利技术的范围。
[0023]本具体实施方式的一种采用FPGA的近无损视频压缩方法,具体包括以下步骤:
[0024]步骤一、利用Canny算子计算当前像素点的梯度值,当所述梯度值均不为0时,进入下一步;
[0025]这一方式不同于JPEG
‑
LS简单的上下文模型,Canny算子更能体现当前像素点的纹理特征,从而决定选择何种压缩模式,能更好地保留关键信息。
[0026]步骤二、将梯度方向O划分为8个,对不同方向使用周边不同的像素进行预测,得到预测值Px;具体预测公式如下:
[0027][0028]其中,如图1所示,O代表8个不同的梯度方向,如图2所示,a~f代表周边的像素;
[0029]步骤三、基于上下文索引值Q的符号项sign和残差修正值C[Q]修正所述预测值Px,计算预测残差并将所述预测残差进行量化和模减;具体公式如下:
[0030]Px'=Px+SIGN*C[Q][0031][0032]其中,SIGN代表上下文索引Q的符号,Q为负时,SIGN等于1,否则,SIGN等于0。
[0033]本实施例中,所述量化和模减采用以下方式:将所述预测残差进折叠到(
‑
(RANGE/2),((RANGE+1)/2))范围内,公式如下:
[0034][0035]步骤四、将A[Q]与量化和模减后的预测残差进行相加,得到更新后的A[Q];将B[Q]与量化和模减后的预测残差乘以(2*near+1)后的值相加,得到更新后的B[Q];若N[Q]的值达到RESET值,所有上下文参数均右移一位,对之前的上下文信息进行压缩,最后将N[Q]值加1;其中,上下文参数A[Q]、B[Q]、N[Q]来保存相应的上下文信息,A[Q]为对预测误差绝对值之和,B[Q]为对预测误差重建值之和,N[Q]为上下文模式计数器。
[0036]本实施例中所述RESET值选为64。
[0037]步骤五、对所述预测残差进行编码,得到映射后的误差值;具体公式如下:
[0038][0039]步骤六:当存在连续的像素值相同的区域,或相邻梯度相同时,采用游长编码的方式代替步骤五中的编码;这一方式大幅降低压缩所使用的码字长度;
[0040]步骤七:对待解码像素点的上下文进行与编码过程相同的梯度计算,以判断待解码像素点采用何种编码方式进行编码;具体为:
[0041]若待解码像素点是在普通模式下进行编码,则根据待解码像素点的上下文进行预测得到预测值,利用对应上下文模式的参数对预测值进行修正,并通过上下文参数A[Q]、B[Q]、C[Q]、N[Q]计算出编码的参数值k,根据所述参数值k在码流截取相应的编码长度进行编码的解码得到误差值,然后根据所述误差值通过映射关系得到原误差值,将预测值与误差值相加即可得到原像素值;
[0042]若判断编码模式为游长模式,则记录上一次解码得到的像素值为参考值,再根据接下来的码字判断游长模式中断的原因。当由于遇到行
【技术保护点】
【技术特征摘要】
1.一种采用FPGA的近无损视频压缩方法,其特征在于,包括以下步骤:步骤一、利用Canny算子计算当前像素点的梯度值,当所述梯度值均不为0时,进入下一步;步骤二、将梯度方向O划分为8个,对不同方向使用周边不同的像素进行预测,得到预测值Px;步骤三、基于上下文索引值Q的符号项sign和残差修正值C[Q]修正所述预测值Px,计算预测残差并将所述预测残差进行量化和模减;步骤四、将A[Q]与量化和模减后的预测残差进行相加,得到更新后的A[Q];将B[Q]与量化和模减后的预测残差乘以(2*near+1)后的值相加,得到更新后的B[Q];若N[Q]的值达到RESET值,所有上下文参数均右移一位,对之前的上下文信息进行压缩,最后将N[Q]值加1;其中,A[Q]为对预测误差绝对值之和,B[Q]为对预测误差重建值之和,N[Q]为上下文模式计数器;步骤五、对所述预测残差进行编码,得到映射后的误差值;步骤六:当存在连续的像素值相同的区域,或相邻梯度相同时,采用游长编码的方式代替步骤五中的编码;步骤七:对待解码像素点的上下文进行与编码过程相同的梯度计算,以判断待解码像素点采用何种编码方式进行编码。2.如权利要起1所述的一种采用FPGA的近无损视频压缩方法,其特征在于,所述量化和模减采用以下方式:将所述预测残差进折叠到(
‑
...
【专利技术属性】
技术研发人员:吴盼良,井世丽,王禄禄,张辉,卜瑞波,陈延真,曹璨,
申请(专利权)人:河北汉光重工有限责任公司,
类型:发明
国别省市:
全部详细技术资料下载 我是这个专利的主人