本发明专利技术公开了一种功耗可控的帧内视频编码方法,提出基于分块像素信息分析的快速分块和基于主方向的预测方向筛选。首先提供一种分层快速帧内编码,不降低视频编码效率的前提下大幅度提高计算速度;此外,在该分层快速编码方案基础上,将有效模式预测排序,并根据排序针对计算资源分配可控编码。本发明专利技术以H.265/HEVC作为技术平台,实现功耗可控的HEVC软件编码器。该技术屏蔽底层硬件差别,可以应用于不同的计算平台,例如ARM、x386等等。可以根据移动设备功耗自适应调节编码策略,在有限的功耗基础上,给出最佳的视频质量。也可以针对目前普遍应用于数据中心的电压可调的高性能芯片,进行自适应编码调整达到功耗可控。
【技术实现步骤摘要】
一种功耗可控的帧内视频编码方法
本专利技术公开了一种功耗可控的帧内视频编码方法,涉及软件编码器
技术介绍
2013年3月,国际标准化组织(ISO/IEC)和国际电信联盟(ITU-T)共同批准了由合作专家组(JointCollaborativeTeamonVideoCoding)专家参与制定的最新的国际视频标准H.265/HEVC(HighEfficiencyVideoCoding)。比较目前市场上通用的H.264/AVC,H.265/HEVC能够在节省50%带宽的基础上提供相同的视频质量。HEVC如此出色的性能为高清视频的网络普及应用奠定了基础。不过,由于采用了众多复杂的编码技术,HEVC的编码复杂度也相比H.264/AVC有了非常大的提升,为产品设计和市场普及带来一定的技术难度。此外,由于近期移动互联网的广泛普及,特别是高性能智能设备的日常使用——例如智能手机、平板电脑等等,移动视频应用已经成为人们日常生活的必须应用。国际国内的前言研究发现了移动视频应用占据了非常可观的功耗。更进一步,由于移动设备的功耗受限以及有限的电池余量,针对视频处理的低功耗乃至功耗可控研究对于移动低功耗视频产品有着非常大的意义和实际应用价值。HEVC继续深化H.264/AVC提出的像素域预测方法。不同于H.264/AVC仅仅局限于16x16,8x8和4x4的块,HEVC基于递归分块,把像素域预测扩展到64x64,32x32,16x16,8x8以及4x4。HEVC的递归分块方法可以有效的针对不同的图像特征,例如针对平滑区域,可以使用大分块,例如64x64,32x32;针对细节区域,可以使用精细分块,例如8x8和4x4。针对不同的分块,HEVC也扩展了H.264/AVC的方向预测。例如H.264/AVC仅仅在4x4和8x8分块支持最多9中方向预测。相对应的,HEVC在4x4到64x64递归分块上支持到35种不同的方向预测。递归分块和精细方向预测使得HEVC的帧内编码性能远远优于H.264/AVC的帧内编码。不过,也带来了很大的计算复杂度。根据目前率失真优化(Rate-distortionoptimization)方法,编码器需要遍历各种不同的编码模式可能,例如针对HEVC,需要35+4x35+16x35+64x35+256x35=11935次率失真计算和比较。这样的计算复杂度在实际应用中常常是无法接受的,即使是可以接受,计算资源的消耗也是巨大的。
技术实现思路
本专利技术所要解决的技术问题是:针对现有技术的缺陷,提供一种功耗可控的帧内视频编码方法,首先提供一种分层快速帧内编码,在不降低视频编码效率的前提下大幅度提到计算速度;此外,在该分层快速编码方案基础上,将有效模式预测排序,根据排序,针对计算资源分配可控编码。本专利技术为解决上述技术问题采用以下技术方案:一种功耗可控的帧内视频编码方法,首先提供一种分层快速帧内编码,在该分层快速编码的基础上,将有效模式预测排序,再根据排序针对计算资源分配可控编码;所述分层快速编码具体步骤如下:步骤1:对于每一帧图像,将64x64的最大处理单元方块分成256个4x4单元分块,然后计算每个4x4单元分块的像素中值;步骤2:将范围在0-255的中值量化到特定定义区间;步骤3:从所述64x64最大处理单元方块的左上角处第一个4x4单元分块开始,分别计算该单元分块和临近3个4x4单元分块的像素中值,临近的单元分块具体包括右边、下边和右下方,如果得到的4个像素中值两两之差小于预定阈值,则将这4个4x4单元分块合并成一个8x8单元分块;如果得到的4个像素中值两两之差大于预定阈值,则将这4个4x4单元分块分开编码;按照上述规则,对每一个4x4单元分块进行类推;步骤4:按照步骤3的逻辑判断规则,依次完成单元分块从4x4到8x8、从8x8到16x16、从16x16到32x32的合并,最后停止于判断32x32单元分块是否能合并成64x64单元分块;步骤5:确定了单元分块之后,从最左上的单元分块开始,针对单元分块内的每一个像素计算其x和y方向的梯度包括梯度的幅度和夹角;步骤6:根据步骤5得到的夹角范围,将各个像素夹角范围相近的梯度幅度累加产生各个方向梯度幅值分布,其中幅度最大的即为最可能预测模式,幅度的大小决定了该方向被选中为最佳方向的可能性高低。作为本专利技术的进一步优选方案,所述步骤2中,中值量化方式包括0-15、0-31、0-63。作为本专利技术的进一步优选方案,所述步骤5中,使用Sobel算子计算单元分块内每一个像素x和y方向的梯度包括梯度的幅度和夹角,具体公式如下:dx(i,j)=p(i-1,j+1)+2p(i,j+1)+p(i+1,j+1)-p(i-1,j-1)-2p(i,j-1)-p(i+1,j-1)(1a)dy(i,j)=p(i+1,j-1)+2p(i+1,j)+p(i+1,j+1)-p(i-1,j-1)-2p(i-1,j)-p(i-1,j+1)(1b)Amp(D(i,j))=|dx(i,j)|+|dy(i,j)|(2)Ang(D(i,j))=(180/pi)*arctan(dy(i,j)/dx(i,j)),|Ang(D(i,j))|<90(3)其中,i,j为像素在分块中的位置,D(i,j)为该像素的方向矢量,Amp(D(i,j))为方向矢量幅度,Ang(D(i,j))是方向角度,p(i,j)为在i,j位置的像素值,dx(i,j)和dy(i,j)是i,j位置像素在x和y方向的梯度。本专利技术采用以上技术方案与现有技术相比,具有以下技术效果:本专利技术以H.265/HEVC作为技术平台,实现功耗可控的HEVC软件编码器。该技术屏蔽底层硬件差别,可以应用于不同的计算平台,例如ARM、x386等等。可以根据移动设备功耗自适应调节编码策略,在有限的功耗基础上,给出最佳的视频质量。也可以针对目前普遍应用于数据中心的电压可调的高性能芯片,进行自适应编码调整达到功耗可控。附图说明图1是HEVC中4x4到64x64分块方向预测示意图,其中:0到34为35种不同的方向预测方法。图2是64x64图像块4x4分块示例。图3是分块主要方向示例。图4是方向幅度分布。图5是HEVC帧内图像编码接口示意图。图6是HEVC帧内编码最大分块处理循环示意图。图7是基于分块预测和方向预测的快速分层编码示意图。图8是小分块中值计算和合并示意图。图9是任意分块下可能主方向预测计算示意图。具体实施方式下面结合附图对本专利技术的技术方案做进一步的详细说明:HEVC帧内编码针对视频序列中的每一幅图像逐帧处理。因此每个图像可以看做是独立的处理模块,如图5所示。对于每一帧图像,HEVC将其分解成不重叠的最大处理单元方块,例如64x64,然后从图像最左上的最大处理单元按照光栅扫描的方式处理到最右下的最大处理单元。针对每一个最大处理单元,HEVC采用逐层递归从64x64开始一直到4x4,最后确定率失真消耗最小的总体分块模式。可见这样的处理方式最大限度的提高了编码效率,但是却带来了无法实现的复杂度,特别是针对实际的场景应用。因此本专利技术首先提出基于分层的快速编码,然后在此基础上拓展为功耗可控的编码方式。下文首先给出本专利技术关键要点,然后以实例描述总体实现步骤。分层快速编本文档来自技高网...
【技术保护点】
一种功耗可控的帧内视频编码方法,其特征在于:首先提供一种分层快速帧内编码,在该分层快速编码的基础上,将有效模式预测排序,再根据排序针对计算资源分配可控编码;所述分层快速编码具体步骤如下:步骤1:对于每一帧图像,将64x64的最大处理单元方块分成256个4x4单元分块,然后计算每个4x4单元分块的像素中值;步骤2:将范围在0‑255的中值量化到特定定义区间;步骤3:从所述64x64最大处理单元方块的左上角处第一个4x4单元分块开始,分别计算该单元分块和临近3个4x4单元分块的像素中值,临近的单元分块具体包括右边、下边和右下方,如果得到的4个像素中值两两之差小于预定阈值,则将这4个4x4单元分块合并成一个8x8单元分块;如果得到的4个像素中值两两之差大于预定阈值,则将这4个4x4单元分块分开编码;按照上述规则,对每一个4x4单元分块进行类推;步骤4:按照步骤3的逻辑判断规则,依次完成单元分块从4x4到8x8、从8x8到16x16、从16x16到32x32的合并,最后停止于判断32x32单元分块是否能合并成64x64单元分块;步骤5:确定了单元分块之后,从最左上的单元分块开始,针对单元分块内的每一个像素计算其x和y方向的梯度包括梯度的幅度和夹角;步骤6:根据步骤5得到的夹角范围,将各个像素夹角范围相近的梯度幅度累加产生各个方向梯度幅值分布,其中幅度最大的即为最可能预测模式,幅度的大小决定了该方向被选中为最佳方向的可能性高低。...
【技术特征摘要】
1.一种功耗可控的帧内视频编码方法,其特征在于:首先提供一种分层快速帧内编码,在该分层快速帧内编码的基础上,将有效模式预测排序,再根据排序针对计算资源分配可控编码;所述分层快速帧内编码具体步骤如下:步骤1:对于每一帧图像,将64x64的最大处理单元方块分成256个4x4单元分块,然后计算每个4x4单元分块的像素中值;步骤2:将范围在0-255的中值量化到特定定义区间;步骤3:从所述64x64最大处理单元方块的左上角处第一个4x4单元分块开始,分别计算该单元分块和临近3个4x4单元分块的像素中值,临近的单元分块具体包括右边、下边和右下方,如果得到的4个像素中值两两之差均小于预定阈值,则将这4个4x4单元分块合并成一个8x8单元分块;否则,则将这4个4x4单元分块分开编码;按照步骤3的上述规则,对每一个4x4单元分块进行类推;步骤4:按照步骤3的逻辑判断规则,依次完成单元分块从4x4到8x8、从8x8到16x16、从16x16到32x32的合并,最后停止于判断32x32单元分块是否能合并成64x64单元分块;步骤5:确定了单元分块之后,从最左上的单元分块开始,针对单元分块内的每一个像素计算其x和y方向的梯度包括梯度的幅度和夹角;步骤6:根据步骤5得到的夹角范围,将各个像素夹角范围相近的梯度幅度累加产生各个方向梯度幅值分...
【专利技术属性】
技术研发人员:马展,王蓓蓓,田海,
申请(专利权)人:南京讯思雅信息科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。