基于编码压缩的图像编解码系统的制作方法

文档序号:14253475阅读:196来源:国知局
基于编码压缩的图像编解码系统的制作方法

本发明属于图像视频传输与处理的技术领域,涉及一种基于编码压缩的图像编解码系统。



背景技术:

经过三十多年的不断研究发展,视频编码压缩技术不断推陈出新。从第一代的h.261/h.263、mpeg-1/mpeg-2/mpeg-4标准,到后来的第二代编码标准h.264/avc,再到目前最新的第三代视频编码标准hevc。每一代都在上一代的基础上不断发展,编码效率不断提高。1990年,国际电信联盟远程通信标准化组织(itutelecommunicationstandardizationsector,itu-t)制定了h.261标准。该标准主要用于可视电话、视频会议。其支持在信道上的传输速率为p×64kbit/s(其中p取1~30)。该传输速率有效覆盖了整个综合业务数字网(integratedservicesdigitalnetwork,isdn)的基群信道速率,为各种国际间视频通信业务的开展提供了有力保证。随着视频间通信业务的不断开展,itu-t在原有标准的基础上又推出了应用于低比特率通信视频编码的h.263标准。h.263标准可以实现公用电话交换网(publicswitchedtelephonenetwork,pstn)内的多媒体通信。为了支持更多更为复杂的网络通信环境,itu-t又相继制定和发布了h.263+和h.263++标准。1988年国际标准化组织(internationalorganizationforstandardization,iso)成立了运动图像专家组(movingpictureexpertsgroup,mpeg),旨在努力制定针对于运动视频图像的编码压缩标准。并在1992年11月推出了mpeg-1标准。mpeg-1标准可以支持1.5~2mbit/s的传输码率。1994年11月,运动图像专家组又推出了mpeg-2标准,mpeg-2标准支持4~9mbit/s的传输码率。该标准主要应用于高清晰度电视和标准数字电视画面图像的压缩。mpeg-1和mpeg-2标准的出现,也催生了vcd、dvd等数字媒体产业的产生和发展。1999年1月运动图像专家组又相继推出了mpeg-4标准。mpeg-4压缩编码标准主要用于超低比特率编码。mpeg-4标准相比于采用传统编码技术的mpeg-1和mpeg-2率先采用了基于对象的视频图像编码技术。

hevc相比于h.264/avc虽然获得了编码效率上的极大提升,但也同时引入了极高的编码复杂度。编码复杂度的提高往往会不利于视频的实时编码传输和硬件实现。因此如何有效降低hevc编码复杂度亦成为了学术界和工业界研究的热点。对于如何有效降低hevc编码复杂度的研究,目前主要集中在帧内编码复杂度和帧间编码复杂度两个方面,而对于帧内编码复杂度的研究主要集中在两个方向,一个是帧内编码单元(cu)的划分,另一个则是帧内预测单元(pu)的模式选择。对于帧内编码单元的划分hevc标准提案中采用的是基于率失真优化的自底向上四叉树剪裁算法。这种cu划分方法能够保证较高的编码单元的划分精度,但也同时存在着较高的时间复杂度。为此shen等提出了一种基于贝叶斯决策方法来判断是否对一个编码单元继续进行划分的,该方法在保证划分精度的同时有效减少了编码单元的划分复杂度。shen和yu则提出了一种基于机器学习方法的帧内编码单元快速划分算法。huang等则提出了一种快速自底向上的四叉树裁剪算法。zhang等则提出了一种基于信息熵的编码单元快速划分方案,该方案根据视频图像的信息熵进行编码单元的划分判断,从而代替标准中现有方案,从而有效减少了帧内编码单元划分的时间复杂度。对于帧内预测单元的模式选择,新一代视频编码标准hevc则采用了粗略模式选择加最有可能模式的方法,该方法相比于计算全率失真代价的方法能够在一定程度上有效降低了复杂度,但时间复杂度依然较高。为了进一步有效降低帧内预测模式选择的复杂度,dasilva提出了一种基于图像边缘信息的帧内快速模式选择方法。jiang等则提出了一种基于图像梯度信息的帧内快速模式选择的方法,但这种方法的缺点在于梯度信息的计算较为复杂耗时。wang和siu则提出了一种自适应的模式跳过方法,用以减少帧内候选模式,从而降低帧内模式选择的复杂度。zhao等则提出了一种利用当前相邻已编码块的模式预测当前预测编码块模式的方法,该方法亦有效降低了帧内模式选择的时间复杂度。



技术实现要素:

发明所要解决的课题是现有图像编解码方法中无法有效地降低编码时间复杂度的的问题。

用于解决课题的技术手段是提出一种基于编码压缩的图像编解码系统,包括:

图像采集模块,用于采集和传输图像数据;

图像编码模块,用于利用基于内容的编码单元快速划分方法对接收的图像数据进行图像编码,生成压缩码流数据并将数据传输;

图像解码模块,用于将接收的压缩码流数据存储,并对压缩码流数据进行图像解压进行解压缩获得解压图像及显示。

进一步地,作为本发明的一种优选技术方案:所述图像编码模块利用基于内容的编码单元快速划分方法包括:根据图像的纹理特性和帧内编码所消耗的编码比特量建立编码单元划分规则。

进一步地,作为本发明的一种优选技术方案:所述编码单元划分规则包含将每一帧图像将会分割成互不重叠的最大编码单元。

进一步地,作为本发明的一种优选技术方案:所述编码单元划分规则中采用基于率失真优化的四叉树剪裁算法将每一帧图像将会分割成互不重叠的最大编码单元。

进一步地,作为本发明的一种优选技术方案:所述图像编码模块包括输入图像缓冲区、图像编码单元和输出码流缓冲区。

进一步地,作为本发明的一种优选技术方案:所述图像采集模块采用cmos摄像头。

进一步地,作为本发明的一种优选技术方案:所述图像编码模块采用i.mx6芯片。

进一步地,作为本发明的一种优选技术方案:所述图像编码模块通过以太网将数据传输。

发明效果为,本发明采用上述技术方案,能产生如下技术效果:

本发明提供的基于编码压缩的图像编解码系统,在图像编码端,采用最新的压缩技术hevc,并且进行了一系列的优化,使得编码时间减少,编码效率提高。本文利用图像的纹理特性并结合帧内编码所消耗的编码比特信息设计帧内编码单元划分算法,提出了一种基于图像内容的帧内编码单元的快速划分算法。该算法有效降低了帧内编码单元划分的时间复杂度。

并且,本发针对数据链领域甚低码率图像传输产品的目标图像特点,硬件平台低功耗、高可靠性的要求,开展基于图像内容的特定图像编码算法设计与优化,基于i.mx6的图像编解码系统,在对相同图像源压缩,重建图像达到同等质量的条件下,相对于现有h.264编码标准,在同等条件下,编码效率提升20%,重建图像质量提高1~2db;针对数据链领域甚低码率图像传输产品的目标图像特点,硬件平台低功耗、小型化、高可靠性的要求,开展图像编解码软件设计与工程实现,同步考虑主控、图像、通信高集成度要求。

附图说明

图1为本发明基于编码压缩的图像编解码系统的原理示意图。

图2为本发明中图像编码模块的结构示意图。

图3为本发明中图像编码的流程示意图。

图4为本发明图像编码中基于四叉树的编码单元划分的原理示意图。

图5为本发明图像编码中满四叉树结构示意图。

图6为本发明中图像解码的流程示意图。

具体实施方式

以下,基于附图针对本发明进行详细地说明。

如图1所示,本发明提供一种基于编码压缩的图像编解码系统,该系统包括:

图像采集模块、图像编码模块、图像解码模块,其中图像采集模块,用于采集和传输图像数据;图像编码模块,用于利用基于内容的编码单元快速划分方法对接收的图像数据进行图像编码,生成压缩码流数据并将数据传输;图像解码模块,用于将接收的压缩码流数据存储,并对压缩码流数据进行图像解压进行解压缩获得解压图像及显示。

优选地,图像编码模块的结构如图2所示,包括多个输入图像缓冲区、图像编码单元和多个输出码流缓冲区。本实施例中,包含2个输入图像缓冲区和对应的2个输出码流缓冲区,其原理是:图像编码模块分别从输入图像缓冲区读取图像数据,图像编码单元进行图像压缩编码后,将压缩码流数据写入到对应的输出码流缓冲区中。

本实施例中选用高性能的i.mx6芯片,将cmos摄像头作为图像采集模块,将i.mx6开发板作为图像编码模块,将计算机作为图像解码模块,搭建了图像编解码的验证平台,该图像编解码仿真验证平台包括:cmos摄像头、i.mx6开发板、网络接口、计算机,i.mx6开发板通过网络接口采用以太网与计算机建立连接,利用该平台实现图像编码和图像解码过程。

该平台选取的高性能i.mx6芯片,基于arm+gpu架构,使用基于开放运算语言opencl的gpu进行算法并行度优化,每次并行计算作为一个kernel依次进行,主要涉及的并行计算有:亮度帧内(帧间)预测决策、计算ctu树形划分结构,并更新帧间merge、amvp信息、色度帧内预测决策、去块滤波垂直方向和水平方向。

本实施例给出基于编码压缩的图像编解码系统的编码和图像解码过程具体如下:

步骤(1)、首先通过cmos摄像头采集图像数据,并通过cmos接口传输到i.mx6开发板。

步骤(2)、所述i.mx6开发板中采用输入图像缓冲区、图像编码单元和输出码流缓冲区,输入图像缓冲区用于接收图像数据,利用基于内容的编码单元快速划分方法进行图像编码处理,生成压缩码流数据,通过以太网将数据传输到计算机。

其中,进行图像编码处理过程,如图3所示,具体包括:

步骤1:图像编码模块启动,进入步骤2。

步骤2:从输入图像缓冲区读取一帧图像数据,进入步骤3。

步骤3:判断数据读取是否成功。数据读取成功,跳到步骤4;否则,返回步骤2。

步骤4:配置编码参数,进入步骤5。

步骤5:编码一帧图像,得到压缩数据,进入步骤6。

步骤6:判断压缩码流数据是否符合目标码流,如果符合,进入步骤7;否则返回步骤4。

步骤7:将图像压缩码流数据写入输出码流缓冲区,进入步骤8。

步骤8:判断编码是否结束,如果编码结束,进入步骤9,否则跳到步骤2。

步骤9:图像编码过程终止。

在整个图像编码过程中,主函数如果检测到输入图像数据中断,就进入输入图像中断流程:保存图像编码状态信息,将图像数据写入输入图像缓冲区,恢复图像编码状态信息,返回主函数。

优选地,在所述步骤5中,利用基于内容的编码单元快速划分方法进行图像编码处理。所述基于内容的编码单元快速划分方法包括:根据图像的纹理特性和帧内编码所消耗的编码比特量建立编码单元划分规则。以及,所述编码单元划分规则包含采用基于率失真优化的四叉树剪裁算法将每一帧图像将会分割成互不重叠的最大编码单元,采用该划分方法减小了编码时间复杂度。

具体地,压缩算法采用最新的压缩标准,提出了一种基于内容的编码单元快速划分方法。在新一代的高效视频编码标准hevc中,每一帧图像将会被分割成互不重叠的lcu,其中lcu被称之为最大编码单元。每个lcu的尺寸均为64×64,这些lcu以光栅扫描的顺序逐个被编码,每个lcu又将按四叉树递归方式被划分为cu,当lcu未被划分时其为尺寸为64×64的cu,深度depth定义为0,当该cu被划分为4个子cu时,每个cu的尺寸为32×32,其深度定义为1,按如此方式递归的划分下去。当子cu的编码尺寸为8×8,即深度depth=3时停止划分。其划分方式如下图4所示。

在hevc中,对于lcu的划分采用的是一种被称之为基于率失真优化的自底向上的四叉树剪裁算法。该算法的主题思路是首先产生一个满四叉树,然后从该满四叉树的最底层节点开始逐层向上根据父节点与父节点对应子节点的率失真代价来判断是否对该父节点进行剪裁。这种自底向上的四叉树剪裁算法可以使四叉树结构达到局部最优。如图5所示,按由上到下,由左到右的方式对每个节点分别进行编号。本发明用(m,n)表示第m层的第n个节点,其中m=0,1,2,3,n=0,1,2......4(m-1)-1,则(m,n)的子节点的编号为(m+1,4n+i),其中i=0,1,2,3。本发明用ξm,n表示节点(m,n)处未被划分的编码单元,χm,n表示由率失真优化得到的最优子树。用c(·)表示各节点处编码单元的率失真代价,对于某一节点是否继续向下划分则由c(·)决定,当且仅当时,节点(i,j)处的编码单元才会继续向下划分。

由图像的先验知识,可知图像纹理是一种重要的视觉手段,纹理特征与灰度和颜色等图像特征的不同之处在于,它主要是通过像素和像素周围空间邻域的灰度分布来表现。在进行帧内编码时,如果一个编码单元的纹理是整体平坦的或是具有渐变特性的,那么该编码单元更适合划分为大尺寸的编码单元,因此如果可以预测出当前编码单元的纹理特性,就可以判断其是否需要继续划分。而对于纹理较为复杂的编码单元,则更合适于划分为小尺寸的编码单元进行预测。

基于上述,本实施例采用最新的压缩标准,提出了一种基于内容的编码单元快速划分方法。根据图像的纹理特性和消耗的编码比特量设计如下编码单元划分规则:

(1)对于64×64的编码块,我们利用(1)式对其求方差v64,若v64≥a,则将该cu单元划分成四个32×32的编码块。

(2)对于32×32的编码块,我们利用(1)式对其求方差v32,若v32≥b;则将该cu单元划分成四个16×16的编码块。

(3)对于16×16的编码块,我们利用(1)式对其求方差v16,若v16≥c,则将该cu单元划分成四个8×8的编码块。

对于上述阈值由通过大量的实验统计得到。分别从classa~classe五类标准测试序列中选取五个测试序列,如表1所示。然后不断调节对于上述不同编码块的对应阈值,对于64×64大小的编码单元,若在某一阈值下能够使得在该阈值下得到32×32的编码块与按率失真优化方法得到的32×32的编码块的匹配程度大于85%,则认为阈值即为所需阈值。对于32×32大小的编码单元,若在某一阈值下能够使得在该阈值下得到16×16的编码块与按率失真优化方法得到的16×16的编码块的匹配程度大于80%,则认为该阈值即为所需阈值。对于16×16大小的编码单元,若在某一阈值下能够使得在该阈值下得到8×8的编码块与按率失真优化方法得到的8×8的编码块的匹配程度大于70%,则认为该阈值即为所需阈值。按照上述规则可得到64×64、32×32、16×16的编码单元对应的阈值分别为a,b,c。

表1第一阶段编码单元划分的匹配程度(%)

为了进一步提高cu划分的精确度,又引入了编码比特的概念,对于不同的编码单元其在编码过程中所需的编码比特数有所不同。内容比较复杂的编码块相对于内容较为简单的编码块则需要更多的编码比特。通过多次试验我们发现正确利用编码块的编码比特可以有效提高cu单元的划分精度。我们通过对率失真优化方法得到的帧内编码单元所对应消耗的编码比特进行统计发现,如果编码单元所消耗的编码比特数大于400bits,该编码单元会被进一步划分,若编码单元所消耗的编码比特数小于80bits,则该编码单元不会被进一步划分。因此我们设计如下规则用以提高第一阶段编码单元的划分精度:

根据上述(1)、(2)、(3)的划分规则,若cu单元被判断为不分,但是该cu编码单元的编码比特大于等于400bit,则该cu单元将重新被标记为划分。

根据上述(1)、(2)、(3)的划分规则,若cu单元被判断为分,但是该编码单元的编码比特小于等于80bit,则该cu单元将重新被标记为不分。

步骤3、计算机通过以太网接收压缩码流数据,进行计算机存储,并对压缩码流数据进行解压缩获得解压图像及显示。

本实施例中,计算机进行图像解码流程如图6所示。

步骤1:首先图像解码功能启动,进入步骤2。

步骤2:从计算机压缩码流缓冲区中读取一帧压缩数据,进入步骤3。

步骤3:判断数据读取是否成功。数据读取成功,跳到步骤4;否则,返回步骤2。

步骤4:用图像回放软件解码压缩码流,进入步骤5。

步骤5:用图像回放软件播放解码图像,进入步骤6。

步骤6:判断压缩码流数据是否全部解压完成,如果全部解压完成,则进入步骤7;否则,返回步骤2。

步骤7:图像解码终止,完成对压缩码流数据进行解压缩获得解压图像及显示。

在整个图像解码过程中,主程序如果检测到网口中断,就进入网口写入数据中断流程:保存主程序图像解码状态信息,将以太网网口码流数据写入计算机压缩码流缓冲区,恢复主程序图像解码状态信息,返回主程序。

综上,本发明在图像编码端,采用最新的压缩技术hevc,并且进行了一系列的优化,使得编码时间减少,编码效率提高。本发明利用图像的纹理特性并结合帧内编码所消耗的编码比特信息设计帧内编码单元划分算法,提出了一种基于图像内容的帧内编码单元的快速划分算法。该算法有效降低了帧内编码单元划分的时间复杂度。

需要说明的是,以上说明仅是本发明的优选实施方式,应当理解,对于本领域技术人员来说,在不脱离本发明技术构思的前提下还可以做出若干改变和改进,这些都包括在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1