CN1976462A - 计算复杂度可动态调整的视频编码方法和装置 - Google Patents

计算复杂度可动态调整的视频编码方法和装置 Download PDF

Info

Publication number
CN1976462A
CN1976462A CN 200610155131 CN200610155131A CN1976462A CN 1976462 A CN1976462 A CN 1976462A CN 200610155131 CN200610155131 CN 200610155131 CN 200610155131 A CN200610155131 A CN 200610155131A CN 1976462 A CN1976462 A CN 1976462A
Authority
CN
China
Prior art keywords
coding
encoder
macro block
computational resource
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200610155131
Other languages
English (en)
Other versions
CN100463525C (zh
Inventor
陈耀武
郑雅羽
冯杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006101551312A priority Critical patent/CN100463525C/zh
Publication of CN1976462A publication Critical patent/CN1976462A/zh
Application granted granted Critical
Publication of CN100463525C publication Critical patent/CN100463525C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种计算复杂度可动态调整的视频编码方法,在编码一帧视频画面时,动态调整编码计算复杂度包括以下步骤:确定编码这一帧画面允许使用的计算资源;测量编码当前这一帧画面已经消耗掉的计算资源;将获得的已消耗的计算资源和两预先设置的高、低阈值进行比较,若已消耗的计算资源大于高阈值,则降低编码剩余宏块的复杂度;若已消耗的计算资源小于小阈值,则增加编码剩余宏块的复杂度,若已消耗的计算资源介于大、小阈值之间,则保持编码剩余宏块的复杂度不变。本发明方法克服了以往编码方法只能在帧级别进行计算复杂度控制的缺陷。本发明还公开了采用该方法的装置。

Description

计算复杂度可动态调整的视频编码方法和装置
技术领域
本发明涉及数字视频处理技术领域,具体来说是指一种计算复杂度可动态调整的视频编码方法和采用该方法的装置。
背景技术
数字视频技术正在被广泛地应用到诸如视频广播、视频会议与可视电话、多媒体娱乐和数字视频监控等领域。数字视频技术的处理对象为视频序列,而视频序列是由许多连续的、时间上相关的视频画面组成的。未经压缩的视频序列需要占用太多的存储空间或者传输带宽,以水平分辨率为720、垂直分辨率为576,帧率为25帧/秒的标准清晰度视频序列为例,它一秒钟总共有大约165兆比特数据量。在现有的技术水平下,直接存储或者传输这么大量的数据是不现实的,因此必须使用数字视频编码技术对这些原始的视频序列进行压缩处理,然后再对压缩数据进行存储或者传输。
当前主流的视频编码国际标准是H.26X或者MPEG-X系列,这些编码标准的一个共同特点就是对处理器装置的计算性能提出了很高的要求,特别是在高分辨率、高帧率情况下更是如此。在传统的视频编码方法中,视频处理的操作方式和过程是不变的。但随着输入视频内容的变化,视频处理的计算负荷也会相应地波动,在编码器装置计算性能受限的情况下,很容易导致丢帧的情况,进而因为视频画面的不连贯而影响视频序列的整体感观质量。
H.26X或者MPEG-X系列视频编码标准都是基于时间域和空间域混合的操作架构,它们在时间域上进DPCM操作、在空间域上进行块DCT(离散余弦变换或者近似于它的整型变换)操作。其中DPCM操作是通过在帧与帧之间进行运动估计和运动补偿运算来减少视频序列的时间冗余度,而DCT变换操作是通过把空间域上的视频信号变换到频率域上,对信号能量进行压缩,再由后续的QUANT(量化)操作来减少视频画面的空间冗余度,并且对QUANT操作后的输出进行DEQUANT(反量化)和IDCT(逆离散余弦变换或者近似于它的逆整型变换)操作,来重建出图像。本领域的技术人员都知道,在上述操作过程中,运动估计和DCT/QUANT/DEQUANT/IDCT运算是消耗编码器装置处理资源最多的操作。所以如何根据编码器装置所能提供的处理资源量和输入的待编码视频序列内容,来动态地调整上述操作过程的复杂度,使得编码器装置能实时地编码视频序列,成为了本领域技术人员都非常关心的一个问题。
申请号为02826217.4的专利申请书公开了一种可动态控制视频编码复杂度的方法。它根据输入待处理数据流的缓存区中的充满程度,并且通过一张预先确定的编码复杂度配置表,来控制视频编码的计算负荷。在这张编码复杂度配置表中,总共有8个选项。每个选项都在帧操作级别进一步规定了编码器允许的编码方法,而且每类编码方法又根据所需的计算复杂度细分为3种。在此专利申请书中所述的这些编码方法中,计算复杂度的动态控制都是通过帧级别进行的。但是帧级别的控制,在许多应用中是不允许的,比如复杂度配置表中所述的B帧编码方法在某些应用中本身就不允许出现。而且帧级别控制方法的控制粒度也过于粗糙,不容易实现计算复杂度的精细控制。
发明内容
本发明提供了一种计算复杂度可在宏块级别进行动态调整的视频编码方法,克服了以往编码方法只能在帧级别进行计算复杂度控制的缺陷。
一种计算复杂度可动态调整的视频编码方法,在编码一帧视频画面时,动态调整编码计算复杂度包括以下步骤:
(1)确定编码这一帧画面允许使用的计算资源;
(2)测量编码当前这一帧画面已经消耗掉的计算资源;
(3)将步骤(2)中获得的已消耗的计算资源和两预先设置的高、低阈值进行比较,若已消耗的计算资源大于高阈值,则降低编码剩余宏块的复杂度;若已消耗的计算资源小于小阈值,则增加编码剩余宏块的复杂度,若已消耗的计算资源介于大、小阈值之间,则保持编码剩余宏块的复杂度不变。
本发明还提供了一种采用上述方法的装置。
一种采用上述视频编码方法的编码装置,包括:
符合传统编码架构的宏块级编码器;
用于测量并记录当前已编码宏块所消耗的计算资源的计算负荷监测器;
根据计算负荷监测器的输出,动态调整编码器的编码复杂度的计算复杂度动态控制器;
所述的编码器由变换与量化器、可变长编码器、运动估计器和运动补偿器组成;
计算负荷监测器测量编码器当前已使用的计算资源,并将测量结果传送给计算复杂度动态控制器;在编码下一个宏块前,计算复杂度动态控制器根据接收的已使用计算资源情况,为编码下一个宏块的复杂度进行动态调整,输出搜索形状参数、DCT变换等操作的跳转阈值和运动搜索跳转阈值三个调整信号;编码器根据计算复杂度动态控制器的输出,按照视频编码标准规范编码一个宏块数据,最后输出比特流。
所述的计算负荷监测器由当前宏块起始和结束编码计数器、已编码宏块消耗资源累加器、已编码宏块个数累加器及当前帧总宏块个数记录器、当前帧计算负荷指示器和当前帧允许消耗的处理器资源记录器组成;当前宏块起始和结束编码计数器用于记录编码器编码一个宏块数据之前和之后的计数,根据当前宏块起始和结束编码计数器的输出,已编码宏块消耗资源累加器统计出编码器已消耗的计算资源,已编码宏块个数累加器及当前帧总宏块个数记录器记录已编码的宏块个数和总共需要编码的宏块个数,结合当前帧计算负荷指示器记录的编码这帧画面允许的计算资源,当前帧允许消耗的处理器资源记录器可向计算复杂度动态控制器输出当前编码器的负荷信息。
宏块级别的计算复杂度的动态调整是通过对运动估计和DCT/QUANT/DEQUANT/IDCT这两部分的操作实现的,具体包含以下三个方面:
1)DCT变换等操作的跳转阈值控制,通过动态调整DCT变换等操作的跳转阈值来控制编码是否对宏块进行DCT/QUANT/DEQUANT/IDCT操作,进而控制这部分操作的计算负荷。
2)运动搜索跳转阈值控制,通过动态调整运动搜索跳转阈值来控制编码器是否进行运动估计运算。
3)搜索形状参数控制,通过动态调整运动估计所要采用的搜索形状,来控制运动估计部分的计算负荷。
附图说明
图1为本发明编码装置系统的结构示意框图;
图2为本发明计算负荷监测器的结构示意框图;
图3为编码器中DCT变换等操作部分的SKIP控制策略流程图;
图4为运动估计部分的SKIP控制策略流程图;
图5为运动估计部分的一种搜索形状调整策略流程图;
图6为编码器宏块级计算复杂度动态调整的操作流程图。
具体实施方式
如图1所示,一种采用本发明所述计算复杂度动态调整方法的编码装置系统,包括:
符合传统编码架构的宏块级编码器;
用于测量并记录当前已编码宏块所消耗的计算资源的计算负荷监测器;
根据计算负荷监测器的输出,动态调整编码器的编码复杂度的计算复杂度动态控制器;
编码器由DCT、QUANT、DEQUANT和IDCT(简称变换与量化器)、VLC(可变长编码器)、ME(运动估计器)和MC(运动补偿器)四部分组成。
如图2所示,计算负荷监测器由当前宏块起始和结束编码计数器210、已编码宏块消耗资源累加器220、已编码宏块个数累加器及当前帧总宏块个数记录器230、当前帧计算负荷指示器240和当前帧允许消耗的处理器资源记录器250组成,当前宏块起始和结束编码计数器210用于记录编码器编码一个宏块数据之前和之后的计数,根据当前宏块起始和结束编码计数器210的输出,已编码宏块消耗资源累加器220可以统计出编码器已消耗的计算资源,已编码宏块个数累加器及当前帧总宏块个数记录器230记录已编码的宏块个数和总共需要编码的宏块个数,结合当前帧计算负荷指示器240记录的编码这帧画面允许的计算资源,当前帧允许消耗的处理器资源记录器250可向计算复杂度动态控制器输出当前编码器的负荷信息。
本发明编码装置在编码过程中,计算负荷监测器测量编码器当前已使用的计算资源,并将测量结果传送给计算复杂度动态控制器;在编码下一个宏块前,计算复杂度动态控制器根据接收的已使用计算资源情况,为编码下一个宏块的复杂度进行动态调整,输出搜索形状参数、DCT变换等操作的跳转阈值和运动搜索跳转阈值三个调整信号;编码器根据计算复杂度动态控制器的输出,按照视频编码标准规范编码一个宏块数据,最后输出比特流。
宏块级别的计算复杂度的动态调整是通过对运动估计和DCT/QUANT/DEQUANT/IDCT这两部分的操作实现的,具体包含以下三个方面:
1)DCT变换等操作的跳转阈值控制,通过动态调整DCT变换等操作的跳转阈值来控制编码是否对宏块进行DCT/QUANT/DEQUANT/IDCT操作,进而控制这部分操作的计算负荷。
2)运动搜索跳转阈值控制,通过动态调整运动搜索的跳转阈值来控制编码器是否进行运动估计运算。
3)搜索形状参数控制,通过动态调整运动估计所要采用的搜索形状,来控制运动估计部分的计算负荷。
如图3所示,编码器对宏块数据进行DCT变换等操作时,在接收到由计算复杂度动态控制器发送过来的DCT变换等操作的跳转阈值后,编码器首先计算出宏块中四个亮度块数据与参考块数据的SAD值(差的绝对值的和);然后比较SAD与DCT变换等操作的跳转阈值的线性组合结果,如果大于或等于0,则编码器继续进行变换等操作,否则的话就不进行变换等操作。最后编码器根据上述操作结果,对编码宏块信息进行设置。
如图4所示,编码器在运动估计操作时,在接收到由计算复杂度动态控制器发送过来的运动搜索跳转阈值后,编码器首先根据初始运动矢量计算出相应的SAD值,然后比较此SAD值与运动搜索跳转阈值的大小关系,如果前者大,则继续作运动估计操作,并且将搜索过程中发现的最小SAD值对应的运动矢量作为最优运动矢量,否则的话就不进行运动估计操作,把初始运动矢量作为最优运动矢量。
如图5所示,编码器在运动估计操作时,在接收到由计算复杂度动态控制器发送过来的搜索形状参数后,编码器根据参数值在运算量大的搜索形状(如大六边型)、运算量适中的搜索形状(如小菱型)和运算量小的搜索形状(如十字型)共三类搜索形状中选择一种进行运动估计操作。
图6为本发明计算复杂度动态控制器的操作流程图,计算复杂度动态控制器接收计算负荷监测器输出的计算负荷指示信息,进行相应的逻辑操作和判断后,向编码器分别输出搜索形状参数、DCT变换等操作的跳转阈值和运动搜索跳转阈值三个计算复杂度控制信息,进而对编码器编码下一个宏块的计算复杂度进行控制,使得编码器编码一帧所消耗的计算资源维持在允许范围内。
如图6所示,在得到计算负荷指示信息T后,先判断T落在如下三个域(0,T_down),[T_down,T_up],(T_up,∞)中的哪个域,然后根据判断结果选择相应的跳转分支。假设T落在(T_up,∞)域中,即T大于T_up,那么先计算D_u=T-T_up,再判断D_u是落在如下三个域(0,D_uthres2),[D_uthres2,D_uthres1],(D_uthres1,∞)中的哪个域,然后根据判断结果选择相应的跳转分支,执行相应的计算复杂度控制策略。若D_u是落在(0,D_uthres2)域上,说明编码计算负荷超出允许范围较少,只需通过调整搜索形状参数一个信号即可达到负荷调整的目的;如果D_u是落在[D_uthres2,D_uthres1]域上,说明编码计算负荷在较大程度上超出允许范围,需通过调整搜索形状参数和DCT变换等操作的跳转阈值两个信号来可达到负荷调整的目的;而如果D_u是落在(D_uthres1,∞)域上,说明编码计算负荷超出允许范围很多,这时需要通过调整搜索形状参数、DCT变换等操作的跳转阈值和运动搜索跳转阈值三个信号来达到负荷调整的目的。如流程图所示,当T落在其他区域时的操作与上述过程是相似的。

Claims (3)

1.一种计算复杂度可动态调整的视频编码方法,其特征在于:在编码一帧视频画面时,动态调整编码计算复杂度包括以下步骤:
(1)确定编码这一帧画面允许使用的计算资源;
(2)测量编码当前这一帧画面已经消耗掉的计算资源;
(3)将步骤(2)中获得的已消耗的计算资源和两预先设置的高、低阈值进行比较,若已消耗的计算资源大于高阈值,则降低编码剩余宏块的复杂度;若已消耗的计算资源小于小阈值,则增加编码剩余宏块的复杂度,若已消耗的计算资源介于大、小阈值之间,则保持编码剩余宏块的复杂度不变。
2.一种采用如权利要求1所述方法的编码装置,其特征在于包括:
符合传统编码架构的宏块级编码器;
用于测量并记录当前已编码宏块所消耗的计算资源的计算负荷监测器;
根据计算负荷监测器的输出,动态调整编码器的编码复杂度的计算复杂度动态控制器;
所述的编码器由变换与量化器、可变长编码器、运动估计器和运动补偿器组成;
计算负荷监测器测量编码器当前已使用的计算资源,并将测量结果传送给计算复杂度动态控制器;在编码下一个宏块前,计算复杂度动态控制器根据接收的已使用计算资源情况,为编码下一个宏块的复杂度进行动态调整,输出搜索形状参数、DCT变换等操作的跳转阈值和运动搜索跳转阈值三个调整信号;编码器根据计算复杂度动态控制器的输出,按照视频编码标准规范编码一个宏块数据,最后输出比特流。
3.如权利要求2所述的编码装置,其特征在于:所述的计算负荷监测器由当前宏块起始和结束编码计数器(210)、已编码宏块消耗资源累加器(220)、已编码宏块个数累加器及当前帧总宏块个数记录器(230)、当前帧计算负荷指示器(240)和当前帧允许消耗的处理器资源记录器(250)组成;当前宏块起始和结束编码计数器(210)用于记录编码器编码一个宏块数据之前和之后的计数,根据当前宏块起始和结束编码计数器(210)的输出,已编码宏块消耗资源累加器(220)统计出编码器已消耗的计算资源,已编码宏块个数累加器及当前帧总宏块个数记录器(230)记录已编码的宏块个数和总共需要编码的宏块个数,结合当前帧计算负荷指示器(240)记录的编码这帧画面允许的计算资源,当前帧允许消耗的处理器资源记录器(250)可向计算复杂度动态控制器输出当前编码器的负荷信息。
CNB2006101551312A 2006-12-11 2006-12-11 计算复杂度可动态调整的视频编码方法和装置 Expired - Fee Related CN100463525C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101551312A CN100463525C (zh) 2006-12-11 2006-12-11 计算复杂度可动态调整的视频编码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101551312A CN100463525C (zh) 2006-12-11 2006-12-11 计算复杂度可动态调整的视频编码方法和装置

Publications (2)

Publication Number Publication Date
CN1976462A true CN1976462A (zh) 2007-06-06
CN100463525C CN100463525C (zh) 2009-02-18

Family

ID=38126203

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101551312A Expired - Fee Related CN100463525C (zh) 2006-12-11 2006-12-11 计算复杂度可动态调整的视频编码方法和装置

Country Status (1)

Country Link
CN (1) CN100463525C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104937938A (zh) * 2013-01-09 2015-09-23 文森索·利古奥里 用于比较两个像素块的方法和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201587C (zh) * 1998-05-20 2005-05-11 皇家菲利浦电子有限公司 块一编制数据的编码
US6631163B1 (en) * 2000-11-14 2003-10-07 Koninklijke Philips Electronics N.V. Dynamic adaptation of complexity in an MPEG-2 scalable decoder
US6925126B2 (en) * 2001-04-18 2005-08-02 Koninklijke Philips Electronics N.V. Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor
JP3802521B2 (ja) * 2003-09-02 2006-07-26 ソニー株式会社 符号化装置、符号化制御方法及び符号化制御プログラム
CN1977538A (zh) * 2005-03-03 2007-06-06 皇家飞利浦电子股份有限公司 用于消费品中mpeg译码器的自适应后退系统
CN100466736C (zh) * 2005-12-30 2009-03-04 杭州华三通信技术有限公司 运动图像编码控制方法及编码装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104937938A (zh) * 2013-01-09 2015-09-23 文森索·利古奥里 用于比较两个像素块的方法和设备

Also Published As

Publication number Publication date
CN100463525C (zh) 2009-02-18

Similar Documents

Publication Publication Date Title
US7869661B2 (en) Image coding apparatus, image coding method, and image coding program for coding at least one still frame with still frame coding having a higher quality than normal frame coding of other frames
US7206453B2 (en) Dynamic filtering for lossy compression
CN1136734C (zh) 可变比特率视频编码方法及相应的视频编码器
US6765962B1 (en) Adaptive selection of quantization scales for video encoding
CN1223197C (zh) 用于数字视频记录的视频比特率控制方法和设备
US6956899B2 (en) Precise bit control apparatus with look-ahead for MPEG encoding
CN101064849A (zh) 动态图像编码方法、装置和计算机可读记录介质
CN1631041A (zh) 视频变码中的速率控制方法和系统
CN1589576A (zh) 使用较大像素格栅运动补偿的降低复杂性视频解码
CN101115208A (zh) 图像编码装置
KR20030073254A (ko) 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
CN1124041C (zh) 对解码视频图象的量化误差进行补偿的方法及装置
KR20000023504A (ko) 가변비트율 부호화장치
CN1457196A (zh) 基于时空域相关性运动矢量预测的视频编码方法
CN101072355A (zh) 一种加权预测运动补偿方法
CN1174636C (zh) 为图像序列编码和译码的方法及装置
CN100366094C (zh) 细粒度可伸缩视频数据设备及操作方法,接收数据的方法
CN100463525C (zh) 计算复杂度可动态调整的视频编码方法和装置
US6141449A (en) Coding mode determination system
CN1302666C (zh) 编码运动图像的装置和方法
KR20130032807A (ko) 동영상 부호화 장치 및 방법
KR20040104831A (ko) 영상데이터의 압축 장치 및 방법
CN1656814A (zh) 在运动补偿精细颗粒可伸缩结构中的漂移最小化
KR0123243B1 (ko) 장면 전환시의 비트율 제어 방법
CN100405847C (zh) 编码移动通信终端的运动图像的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218

Termination date: 20121211