基于tms320dm642芯片的嵌入式h.264编码方法

文档序号:7596940阅读:243来源:国知局
专利名称:基于tms320dm642芯片的嵌入式h.264编码方法
技术领域
本发明涉及视频编码技术领域,特别涉及一种基于TMS320DM642芯片的嵌入式 H. 264编码方法。
背景技术
随着数字技术与网络技术的发展,安防监控领域的视频技术也进入了数字化与网 络化阶段,这使得传统监控系统中视频图像的传输与管理实现了统一。视频实现数字化最 初是从硬盘录像机开始的,视频压缩技术是硬盘录像机最核心的技术。目前在视频监控领 域,主流的压缩标准采用H. 264,资料显示H. 264视频压缩标准以其高效率的编码效率和传 输性能,在视频监控领域得到了广泛应用。其最终制定的标准在2003年已经被IS0/IEC (作 为MPEG-4的第十部分)和ITU-T(H. 264草案)同时支持。随着视频压缩技术的普及以及 对监控要求的提高,如何最大程度的发挥编码芯片的性能,实现最大路数的视频压缩编码 并以低廉的成本提供优质的服务成为安防行业关注的热点。TMS320DM642 (以下简称 DM642)是 TI-C6000 平台上的高性能定点 DSP(Digital Signal Processing)芯片,DM642系列芯片因其基于TI公司开发的第二代高性能VLIW(甚 长指令字)结构,而成为数字媒体处理的最佳芯片选择。C64X系列DSP与6000系列DSP平 台是代码兼容的。DM642在600MHz时钟下的运算速度可高达每秒4800百万条指令(MIPS), 可以提供节省时间的高速DSP编程。DM642能灵活对高速控制器和队列处理器数值操作。 DM642处理器有64个32位字长的通用寄存器和8个独立的功能单元。DM642可以每周期处 理4个32位的积之和运算,每秒即可有MOO百万积之和运算,或者是每周期8个8位的积 之和运算即每秒4800百万积之和运算。DM642同样有面向应用的硬件逻辑,片上存储器,以 及其他的同6000系列DSP相似的片上外设。DM642使用两级基于缓存的结构,并拥有强大 而多样的外设。1级程序缓存(LlP)是USKbit的直接映射的缓冲区,1级数据缓存(LlD) 是USKbit的设置相关联的2块缓冲区。2级存储器/缓存包括2Mbit的程序数据存储空 间。2级存储器可以配置为映射存储区、缓冲区,或者两者的结合。DM642片内资源,如图1 所示,主要有以下几个方面1、动态内存存取(DMA)部分这部分使用外中断的形式,可以在不打断CPU的情况 下进行工作,即可以与CPU并行。2、L2部分可配置部分,共有256Kbit,可按照不同比例配置Cache和SRAM。3、Ll部分分为LlD和LlP两部分,各有16Kbit。4、片内寄存器64个片内寄存器。H. 264规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应 用,具体如图2所示。1、基本档次利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应 的变长编码进行的熵编码(CAVLC)。主要用于可视电话、会议电视、无线通信等实时视频通
2、主要档次支持隔行视频,采用B片的帧间编码和采用加权预测的帧内编码;支 持利用基于上下文的自适应的算术编码(CABAC)。主要用于数字广播电视与数字视频存 储;3、扩展档次支持码流之间有效的切换(SP和SI片)、改进误码性能(数据分割), 但不支持隔行视频和CABAC。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何实现对监控视频实现高效地视频编码。(二)技术方案为解决上述技术问题,本发明提供了一种基于TMS320DM642的H. 264编码方法,包 括以下步骤Sl 利用TMS320DM642芯片中快速直接内存存取QDMA的并行性,采用条带、宏块两 级数据搬移的方式并行地实现输入数据和输出重建数据的传输和编码,对输入数据进行帧 内或帧间预测,得到预测图像;S2:以片内运动搜索窗和片内插值结构实现所述预测图像的帧间预测和运动补 偿;S3:将运动补偿的残差结果进行整数离散余弦变换,并将编码结果按照不同的量 化参数进行量化并保存;S4:将量化的结果按照基于上下文自适应的变长编码进行编码,然后将保存的数 据进行反量化和反整数离散余弦变换,得到变换后的结果,将所述变换后的结果保存在重 建数据乒块或重建数据乓块中;S5 对所述变换后的结果进行滤波,并将滤波后的数据通过芯片集成的QDMA搬运 到片外空间。其中,所述步骤Sl具体包括使用芯片集成的QDMA将下一次CPU编码时需要的待编码数据放在图像源乒块或 图像源乓块中;可选择性的将运动搜索窗数据放在运动搜索窗乒块或运动搜索窗乓块中,同时 CPU对图像源乓块或图像源乒块进行编码,按照顺序在运动搜索窗乓块或运动搜索窗乒块 内预测,或帧内预测,得到绝对误差和最小的预测图像。其中,所述步骤S5中的滤波为采用乒乓结构的环路滤波。其中,所述帧间预测同时支持P片前向预测和B片双向预测,所述帧间预测中的块 划分模式统一为16X16,亮度运动向量精度为1/2像素,色度运动向量精度为1/4像素。其中,帧内预测时对于亮度分量的INTRA4X4和INTRA16X 16选取相同的预测模 式,分别为垂直预测、水平预测、直流预测或平面预测,色度分量选取的亮度分量相同的预 测模式。其中,所述整数离散余弦变换采用4X4整数离散余弦变换,针对INTRA16X16模 式下亮度直流系数进行4 X 4Hadamard变换,针对所有色度块直流系数,采用2 X 2Hadamard变换。
其中,量化时,量化参数值越小对应图像质量越好,所述量化参数值分别为15、 20、邪、30、;35、40。其中,所述片内环路滤波采用自适应边界级环路滤波,对所有4X4块间的边界进 行滤波,边界强度参数值为0到4之间。(三)有益效果本发明具有如下有益效果1、融合后的H. 264的监控档次是根据监控应用量身打造的基于H. 264的实用档 次,该实用档次在基本档次功能的基础上,还包括了主要档次中,支持隔行视频和采用B片 的帧间编码的功能,以该实用档次实现的H. 264编码器,使用更加灵活,编码效率高,码率 低,更适合监控需求。2、本发明提出的编码主体框架是针对监控视频特点,兼顾性能和质量的综合框 架,该框架利用TMS320DM642芯片中QDMA的并行性,采用条带、宏块两级数据搬移的方式并 行地实现输入数据和输出数据的传输和编码,在满足监控图像质量需求的情况下,最大程 度的提高了编码效率。3、本发明提出的编码方案中的片内运动搜索窗,片内插值结构以及片内重建和滤 波方式,可以在有限的片内空间完成视频海量数据的处理,最大程度的节省了视频编码的 内存需求,可以满足8 10路CIF图像编码的内存需求。4、按照本发明提出的编码方案设计实现的编码器,经优化后可以实现8路CIF图 像的实时编码,达到监控领域的先进水平。


图1是DM642片内资源示意框图;图2是H. 264档次示意框图;图3是本发明实施例的一种基于TMS320DM642芯片的嵌入式H. 264编码方法流程 图;图4是P帧数据搬移结构示意框图;图5是用于片内数据重建和环路滤波的数据结构示意框图;图6是用于片内运动搜索和插值的数据结构示意框图;图7是整数样本、二分之一样本的位置示意框图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。本文提出的编码方案,在满足H. 264基本档次的基础上,对现有的编码方法进行 了筛选和重新组合,并根据监控领域的特殊要求,选取主要档次中对监控领域实用的功能 进行融合,实现满足监控需求的H. 264监控档次。本发明提出的编码主体框架采用H. 264视频编码的常用的结构,其中I帧编码, P帧编码和B帧编码使用的主要技术包括数据搬移并行编码、帧内antra)预测、帧间 anter)预测和运动补偿、变换处理、量化处理、去块效应滤波和熵编码等关键技术。数据搬移并行编码是指利用芯片其中的增强型直接内存存取结构进行待编码数据和重建数据的 片内片外搬运,芯片核心处理器(CPU)进行编码工作,从而实现在时间上的并行操作。并通 过调整数据搬移速度和处理器编码速度达到编码效率最佳值。帧内预测是指利用当前帧中 已经编码宏块的信息对当前编码宏块进行预测的一种方式,在空间域进行,其基本原理就 是利用相邻像素的空间相关性,根据已经重建的相邻块的一些像素来实现对当前编码块的 预测。帧间预测编码使用运动估计和运动补偿技术,通过去除有效帧之间的时间冗余来提 高编码效率并通过增加运动估计的灵活性和功能来改进运动估计的效率。变换编码是指将 空间域的图像变换到频域,将图像的低频和高频分离,产生相关性很小的一些变换系数,并 对其进行压缩编码。量化是指在不降低视觉效果的前提下减少图像编码长度,减少视觉恢 复中不必要的信息。去块效应滤波是指去除H. 264编解码算法带来的方块效应,去块效应 滤波模块包含在整个编解码过程中,即重建后的图像经去块效应滤波后将放入帧存中作为 参考帧供后续待编码帧使用。这样做不仅改善了图像质量,而且能够进一步提高帧间预测 的编码效率。熵编码是指利用信源的统计特性进行码率压缩的编码。本发明所述数据搬移 并行编码为基于自主设计的乒乓数据结构体的数据搬移和编码方法。数据结构分为图像源 乒块、图像源乓块、重建数据乒块、重建数据乓块、运动搜索窗乒块和运动搜索窗乓块六个 部分。具体来说,本发明所述的监控档次在利用I片、P片支持帧内和帧间编码的基础 上同时支持采用B片的帧间编码来满足带宽受限的监控应用大幅度的控制码率,在时间轴 上实现一定程度的可伸缩编码,支持利用基于上下文的自适应的变长编码进行的熵编码 (CAVLC),针对监控领域数字与模拟设备并存,隔行扫描与逐行扫描并存的现状,同时支持 隔行视频和逐行视频的编码,即同时满足场编码和帧编码。经过融合的H. 264监控档次,经 实践证明更能满足监控领域的应用。图3为本发明的主要编码流程图,包括步骤S301,利用TMS320DM642芯片中快速直接内存存取(QuickDirect Memory Access,QDMA)的并行性,利用乒乓数据结构为基础,条带、宏块两级数据搬移的方式并行地 实现输入数据及输出重建数据的传输和编码,对输入数据进行帧内或帧间预测,得到预测 图像。具体步骤如图4所示使用芯片集成的QDMA将下一次CPU编码时需要的待编码数据放在图像源乒块 (或图像源乓块)中。可选择性的将运动搜索窗数据放在运动搜索窗乒块(或运动搜索窗乓块)中,同 时CPU对图像源乓块(或图像源乒块)进行编码,按照顺序进行帧间预测即在运动搜索窗 乓块(或运动搜索窗乒块)内预测或帧内预测,得到绝对误差和最小的预测图像。步骤S302,以片内运动搜索窗和片内插值结构实现所述预测图像的帧间预测和运 动补偿;步骤S303,将运动补偿的残差结果进行整数离散余弦变换,并将编码结果按照不 同的量化参数进行量化并保存;步骤S304,将量化的结果按照基于上下文自适应的变长编码进行编码。然后将保 存的数据进行反量化和反整数离散余弦变换,得到变换后的结果,将所述变换后的结果保 存在重建数据乒块或重建数据乓块中;
步骤S305,对所述变换后的结果进行滤波,并将滤波后的数据通过芯片集成的 QDMA搬运到片外空间。其中,滤波的过程使用如图5所示的结构,在完成帧内预测,变换量化,数据重建 的基础上,进一步实现片内环路滤波。一般环路滤波实现在整个图像编码后,对于DM642来 说,这样做会导致图像数据在片内和片外的反复传递,反复的从片外读取数据会极大的增 加DSP等待的时间,影像编码的效率。针对这个问题,本文对片内重建缓冲区进行了新的 设计用于实现与编码同步进行的片内环路滤波。采用乒乓结构,分别定义为Ping_REC和 Pong_REC,以亮度为例,Ping_REC的环路滤波操作步骤(Pong_REC的操作步骤类似)(1)在Ping_REC中数据完成重建后读取Pong_REC (存储左边已重建宏块的数据) 中块 3,7,ll,15jljPing_RE(^^;feleftO,Ieftl,left2,left3 作为左侧待滤波数据。(2)读取片内保存的上一宏块行对应宏块的后4行数据到Ping_REC的块upO, upl,up2,up3中作为上方待滤波数据。(3)读取片内保存的当前宏块左上角的4X4块到Ping_REC的块upleft作为左上 方待滤波数据。(4)进行环路滤波。(5)以(0,28)为起点,将32X20的数据以QDMA的方式传递到片外对应地址中。(6)乒乓位置互换,重复进行操作。其中重建数据滤波需要的数据和运动搜索需要的数据全部保存在重建数据乒块 (重建数据乓块)中,这个数据结构体的设计如图6所示,整像素搜索范围为38 X 38,半像 素的搜索范围为40X40。该部分用于完成帧间预测和运动补偿,搜索窗采用乒乓结构,即定 义两个相同的数据结构交替执行。运动搜索需要的半像素数据,如图7所示,通过如下方法 获得为了计算标记为b的半样点位置上的样点值,首先应该通过对临近的整数位置样 点进行水平方向6拍滤波,计算得到中间值bl。为了计算半样点位置上的样点值h,首先应 该通过对临近的整数位置样点进行垂直方向6拍滤波,计算得到中间值hi bl = (E-5XF+20XG+20XH-5XI+J)hi = (A-5 X C+20 X G+20 X M-5 X R+T)b和h的最终预测值应该通过下列式子得到b = Clipl ((bl+16) >>5)h = Clipl ((hl+16) >>5)为了计算半样点位置上的样点值j (图7中带字母的方格表示采样点),首先应该 通过对临近的半整数位置样点进行水平或垂直方向(二者得到的结果相等)6拍滤波,计算 得到中间值jl jl = cc-5Xdd+20Xhl+20Xml-5Xee+ff,或jl = aa-5Xbb+20Xb 1+20X s 1-5X gg+hh其中,中间值aa、bb、gg、si和hh应该使用与bl相同的方法进行水平6拍滤波导 出,CC、dd、ee、ml和ff应该使用与hi相同的方法进行水平6拍滤波导出。j的最终预测 值应该通过下式得到j = Clipl ((jl+512) >> 10)
Clip l(x) = Clip3 (0,255, χ)
权利要求
1.一种基于TMS320DM642芯片的嵌入式H. 264编码方法,其特征在于,包括以下步骤S1利用TMS320DM642芯片中快速直接内存存取QDMA的并行性,采用条带、宏块两级数 据搬移的方式并行地实现输入数据和输出重建数据的传输和编码,对输入数据进行帧内或 帧间预测,得到预测图像;S2以片内运动搜索窗和片内插值结构实现所述预测图像的帧间预测和运动补偿;S3将运动补偿的残差结果进行整数离散余弦变换,并将编码结果按照不同的量化参 数进行量化并保存;S4:将量化的结果按照基于上下文自适应的变长编码进行编码,然后将保存的数据进 行反量化和反整数离散余弦变换,得到变换后的结果,将所述变换后的结果保存在重建数 据乒块或重建数据乓块中;S5 对所述变换后的结果进行滤波,并将滤波后的数据通过芯片集成的QDMA搬运到片 外空间。
2.如权利要求1所述的基于TMS320DM642芯片的嵌入式H.264编码方法,其特征在于, 所述步骤Sl具体包括使用芯片集成的QDMA将下一次CPU编码时需要的待编码数据放在图像源乒块或图像 源乓块中;可选择性的将运动搜索窗数据放在运动搜索窗乒块或运动搜索窗乓块中,同时CPU对 图像源乓块或图像源乒块进行编码,按照顺序在运动搜索窗乓块或运动搜索窗乒块内预 测,或帧内预测,得到绝对误差和最小的预测图像。
3.如权利要求1所述的基于TMS320DM642芯片的嵌入式H.264编码方法,其特征在于, 所述步骤S5中的滤波为采用乒乓结构的环路滤波。
4.如权利要求1 3中任一项所述的基于TMS320DM642芯片的嵌入式H.264编码方 法,其特征在于,所述帧间预测同时支持P片前向预测和B片双向预测,所述帧间预测中的 块划分模式统一为16X16,亮度运动向量精度为1/2像素,色度运动向量精度为1/4像素。
5.如权利要求4所述的基于TMS320DM642芯片的嵌入式H.264编码方法,其特征在于, 帧内预测时对于亮度分量的INTRA4X4和INTRA16X16选取相同的预测模式,分别为垂直 预测、水平预测、直流预测或平面预测,色度分量选取的亮度分量相同的预测模式。
6.如权利要求5所述的基于TMS320DM642芯片的嵌入式H.264编码方法,其特征在于, 所述整数离散余弦变换采用4 X 4整数离散余弦变换,针对INTRA16 X 16模式下亮度直流系 数进行4 Xffladamard变换,针对所有色度块直流系数,采用2X2Hadamard变换。
7.如权利要求6所述的基于TMS320DM642芯片的嵌入式H.264编码方法,其特征在于, 量化时,量化参数值越小对应图像质量越好,所述量化参数值分别为15、20、25、30、35、40。
8.如权利要求7所述的基于TMS320DM642芯片的嵌入式H.264编码方法,其特征在于, 所述片内环路滤波采用自适应边界级环路滤波,对所有4X4块间的边界进行滤波,边界强 度参数值为0到4之间。
全文摘要
本发明公开了一种基于TMS320DM642的H.264编码方法,包括利用TMS320DM642芯片中QDMA并行性,利用乒乓结构为基础,条带、宏块两级数据搬移的方式并行地实现输入数据及重建数据的传输和编码;对待编码数据以片内数据处理结构实现可帧内预测,变换量化以及片内环路滤波;以片内运动搜索窗和片内插值结构实现的帧间预测和运动补偿。本发明实现的编码器或编码模块,大大节省了内存使用,可以实时的实现8路CIF的实时编码。
文档编号H04N7/50GK102137257SQ201110049520
公开日2011年7月27日 申请日期2011年3月1日 优先权日2011年3月1日
发明者谭政 申请人:北京声迅电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1