动态影像编码装置及动态影像编码方法与流程

文档序号:15062517发布日期:2018-07-31 22:06阅读:132来源:国知局

本发明与影像处理技术相关,并且尤其与根据数据量自多种影像处理模式中选择一最佳模式的技术相关。



背景技术:

近年来,随着各种电子相关技术蓬勃发展,家庭剧院等多媒体系统日益普及。在多数多媒体系统中,最重要的硬件装置便属影像显示设备。为了满足观看者对于逼真影像的需求,影像显示设备目前的发展趋势的一是持续提升图帧(frame)的尺寸和解析度,因而使得每一张图帧的影像数据量大幅增加。如何在保有良好画质的同时,透过压缩技术将影像数据量尽可能降低以节省储存空间与传输资源,是值得关注的议题。

图1呈现了目前被广泛使用的动态影像编码系统的功能方块图。每一图帧通常会被分割为多个影像区块,做为编码的基本单位。将一待编码区块的参考数据输入帧内预测(intra-prediction)/移动补偿(motioncompensation)电路101,上述电路101经过运算后输出一参考区块。其中帧内预测(intra-prediction)/移动补偿电路亦包含移动估测的功能,不在本发明讨论范畴,在此不做赘述。接着,残差产生电路102负责找出待编码区块与参考区块的差异。此通称为残差(residual)数据的区块间差异会交由转换电路103a进行离散余弦转换(discretecosinetransform,dct)并交由量化电路103b进行量化(quantization)程序。随后,熵编码电路104负责对转换量化后残差数据及其相对应的中介数据(metadata)施以熵编码(entropyencoding),以产生一编码结果。

反量化电路106a与反转换电路106b模拟影像解码端接收到转换量化后残差数据后会产生的还原后残差数据。加法电路107将还原后残差数据与参考区块相加之后存入缓冲器108,做为供帧内预测/移动补偿电路101使用的帧内预测/移动补偿参考数据。

实务上,帧内预测/移动补偿电路101可采用的帧内预测/移动补偿模式多达数十种,且各自导向不同的编码结果。现行普遍采用拉格朗日法(lagrangemethod)评估出最能兼顾低数据量与低失真两种需求的帧内预测/移动补偿模式。在图1绘示的动态影像编码系统100中,控制电路110a控制帧内预测/移动补偿电路101逐一尝试各种帧内预测/移动补偿模式。控制器110还包含一数据量计算电路110b、一失真量计算电路110c与一评估电路110d。数据量计算电路110b负责计算一编码结果的数据量r。失真量计算电路110c则是分别接收残差产生电路102产生的残差数据与反转换电路106b产生的还原后残差数据,并据以计算出转换电路103a与量化电路103b进行的程序会造成多大的失真量d,提供给评估电路110d参考。随后,评估电路110d根据拉格朗日法为每一种帧内预测/移动补偿模式计算分数。概略地说,编码结果的数据量r愈低,该分数愈低;失真量d愈低,该分数也愈低。因此,评估电路110d会选出分数最低的帧内预测/移动补偿模式做为一最佳模式。

在评估电路110d选出最佳模式前,熵编码电路104产生的每一个编码结果都被先暂存在暂存存储器109中。直到评估电路110d选出最佳模式,暂存存储器109再送出最佳模式对应的编码结果(在图中标示为最佳编码结果),做为动态影像编码系统100的输出信号。

动态影像编码系统100中这种逐一计算出各帧内预测/移动补偿模式的编码结果数据量以及失真量的做法虽然能准确选出最佳模式,但过程相当耗时,并且需要动用大量运算资源。



技术实现要素:

为解决上述问题,本发明提出一种新的动态影像编码装置及动态影像编码方法。

根据本发明的一具体实施例为一种动态影像编码装置,其中包含一帧内预测/移动补偿电路、一残差产生电路、一转换电路、一量化电路与一控制器。该帧内预测/移动补偿电路分别采用多种帧内预测/移动补偿模式为一待编码影像区块找出多种参考区块。该残差产生电路根据该待编码影像区块与该多种参考区块产生相对应的多组残差数据。该转换电路针对每一组残差数据进行一离散余弦转换程序,以产生一转换后矩阵。该量化电路针对每一个转换后矩阵进行一量化程序,以产生一组转换量化后残差数据。该控制器包含一加总电路、一数据量估计电路与一评估电路。该加总电路针对每一组转换量化后残差数据,计算其中的非零元素的绝对值总和以及这些非零元素相对于一参考点的座标值总和。该数据量估计电路针对每一种帧内预测/移动补偿模式,根据其相对应转换量化后残差数据的该绝对值总和与该座标值总和,产生一数据量估计值。该评估电路根据该多个数据量估计值,自该多种帧内预测/移动补偿模式中选择一最佳模式。

根据本发明的另一具体实施例为一种动态影像编码方法。首先,分别采用多种帧内预测/移动补偿模式,一待编码影像区块的多种参考区块被找出。接着,根据该待编码影像区块与该多种参考区块,相对应的多组残差数据被产生。随后,每一组残差数据被施加以一离散余弦转换程序与一量化程序,以产生一组转换量化后残差数据。针对每一组转换量化后残差数据,其中的非零元素的绝对值总和以及这些非零元素相对于一参考点的座标值总和被计算出来。针对每一种帧内预测/移动补偿模式,根据其相对应转换量化后残差数据的该绝对值总和与该座标值总和,一数据量估计值被产生。根据该多个数据量估计值,自该多种帧内预测/移动补偿模式中,一最佳模式被选出。

关于本发明的优点与精神可以藉由以下发明详述及附图得到进一步的了解。

附图说明

图1呈现了一个目前广泛使用的动态影像编码系统的功能方块图。

图2为根据本发明的一实施例中的动态影像编码系统的功能方块图。

图3呈现了一尺寸为4*4的数据矩阵范例。

图4为根据本发明的另一实施例中的动态影像编码系统的功能方块图。

图5为根据本发明的又一实施例中的动态影像编码系统的功能方块图。

图6为根据本发明的一实施例中的影像处理方法的流程图。

图7为根据本发明的另一实施例中的影像处理方法的流程图。

符号说明

100、200:动态影像编码系统

101、201:帧内预测/移动补偿电路

102、202:残差产生电路

103a、203a:转换电路

103b、203b:量化电路

104、204:熵编码电路

106a、206a:反量化电路

106b、206b:反转换电路

107、207:加法电路

108、208:缓冲器

109、209:暂存存储器

110、210:控制器

110a、210a:控制电路

110b:数据量计算电路

210b:数据量估计电路

110c、210c:失真量计算电路

110d、210d:评估电路

210e:加总电路

210f:失真量估计电路

s61~s67:流程步骤

s71~s74:流程步骤

须说明的是,本发明的附图并非细部电路图,且其中的连接线仅用以表示信号流。功能性元件及/或程序间的多种互动关系不一定要透过直接的电性连结始能达成。此外,个别元件的功能不一定要如图中绘示的方式分配,且分散式的区块不一定要以分散式的电子元件实现。

具体实施方式

根据本发明的一具体实施例为一动态影像编码系统。请参阅图2所示的功能方块图。动态影像编码系统200包含帧内预测/移动补偿电路201、残差产生电路202、转换电路203a、量化电路203b、熵编码电路204、反量化电路206a、反转换电路206b、加法电路207、缓冲器208、暂存存储器209以及控制器210。并且,控制器210中包含有一控制电路210a、一数据量估计电路210b、一失真量计算电路210c、一评估电路210d与一加总电路210e。

于此实施例中,帧内预测/移动补偿电路201、残差产生电路202、转换电路203a、量化电路203b、反量化电路206a、反转换电路206b、加法电路207,以及缓冲器208为先前技术,其运作方式可参考图1中各相对应电路的说明。动态影像编码系统200与动态影像编码系统100的主要差别之一在于,控制器210并非根据编码结果的准确数据量来选择最佳模式,而是改为参考一个根据转换量化后残差数据产生的数据量估计值,详述如下。

针对每一种帧内预测/移动补偿模式,量化电路203b都会产生一组转换量化后残差数据。图3所示的4*4数据矩阵的范例,系代表转换量化后残差数据的二维数据,其矩阵中每一个数据值各自具有一横座标x与一纵座标y。加总电路210e会计算其中的非零元素的绝对值总和sumabs,以及这些非零元素相对于一参考点的座标值总和sumcrd。若以图3的数据矩阵为例,加总电路210e所计算出的绝对值总和sumabs会是:

54+25+16+4+32+11+10+6+2+8+1=169。

于一实施例中,加总电路210e是将所有非零元素所在座标的纵向座标值与横向座标值相加,做为座标值总和sumcrd。若以图3的数据矩阵为例,加总电路210e用这种方式计算出的座标值总和sumcrd会是:

(0+0)+(1+0)+(2+0)+(3+0)+(0+1)+(1+1)+(0+2)+(1+2)+(2+2)+(0+3)+(3+3)=27。

针对每一种帧内预测/移动补偿模式,数据量估计电路210b根据其相对应数据矩阵的绝对值总和sumabs与座标值总和sumcrd,产生一数据量估计值于一实施例中,数据量估计电路210b分别赋予绝对值总和sumabs与座标值总和sumcrd一特定权重,然后根据该加权后绝对值总和与该加权后座标值总和产生数据量估计值举例而言,数据量估计电路210b可采用下列预设演算式:

其中的符号a、b、c代表数值固定的参数(参数a、b即为上述特定权重),可利用线性回归等方法产生。更具体地说,电路设计者可预先配合图1所示的数据量计算电路110b及多组样本数据,找出绝对值总和sumabs、座标值总和sumcrd与准确的实际数据量间的对应关系,并利用线性回归等方法找出适当的演算式(亦即找出适当的参数a、b、c)描述此对应关系。易言之,前述赋予绝对值总和sumabs与座标值总和sumcrd的特定权重可以是利用线性回归等方法所决定的。须说明的是,描述该对应关系的演算式亦可包含绝对值总和sumabs及/或座标值总和sumcrd的多次项,亦即不以仅包含一次项的式一为限。

于另一实施例中,针对每一组表示转换量化后残差数据的二维数据,加总电路210e计算其中的非零元素的横向座标值总和sumcrd_x与纵向座标值总和sumcrd_y。数据量估计电路210b分别赋予绝对值总和sumabs、横向座标值总和sumcrd_x与纵向座标值总和sumcrd_y一特定权重,然后根据该加权后绝对值总和、该加权后纵向座标值总和与该加权后横向座标值总和,产生数据量估计值举例而言,数据量估计电路210b可采用下列预设演算式:

其中的参数a、b1、b2、c可利用前述线性回归等方法产生。

如图2所示,数据量估计电路210b产生的数据量估计值被提供至评估电路210d。针对同一待解码影像区块,控制电路210a可控制帧内预测/移动补偿电路201逐一进行各种帧内预测/移动补偿模式,数据量估计电路210b随后根据各种模式相对应产生不同数据量估计值

类似的,失真量计算模组207依据各种帧内预测/移动补偿模式对应产生不同的失真量d。更具体地说,反量化电路206a与反转换电路206b会重建各个模式的转换量化后残差数据,以产生相对应的还原后残差数据。失真量计算模组207系用以根据此还原后残差数据与残差产生电路202产生的残差数据之间的差异值决定失真量d。评估电路210d可根据所有帧内预测/移动补偿模式的数据量估计值以及失真量d,利用拉格朗日法或类似的评估方式,自帧内预测/移动补偿电路201的多种影像处理模式中,为目前的影像区块选择一种最佳模式(亦即最能兼顾低数据量与低失真量的模式)。

于一实施例中,在评估电路210d选出最佳模式前,转换量化后残差数据可被暂时存放在暂存存储器209中。等到评估电路210d选出最佳模式后,暂存存储器209便可将对应于最佳模式的转换量化后残差数据提供给熵编码电路204,以对此转换量化后残差数据及其相对应的中介数据施以熵编码,以产生一编码结果。

于另一实施例中,暂存存储器209中仅储存目前已知的最佳模式之转换量化后残差数据。每当评估电路210d发现另一个帧内预测/移动补偿模式是更好的,便会以新的转换量化后残差数据取代暂存存储器209中原本暂存的转换量化后残差数据。直到所有的帧内预测/移动补偿模式已被尝试过,暂存存储器209中所储存的便是对应于最佳模式的转换量化后残差数据。这种做法的好处在于可节省暂存存储器209的硬件空间。

于又一实施例中,在评估电路210d选出最佳模式前,暂存存储器209不储存任何的转换量化后残差数据,而是仅记录(例如以索引的方式)目前的最佳模式是哪一种模式。直到所有的帧内预测/移动补偿模式皆被尝试过,控制电路210a才会控制帧内预测/移动补偿电路201、残差产生电路202、转换电路203a、量化电路203b重新产生出对应于此最佳模式的转换量化后残差数据,供熵编码电路204进行编码。

由以上说明可看出,在动态影像编码系统200中,数据量估计电路210b根据转换量化后残差数据产生数据量估计值相较于图1呈现的先前技术,熵编码电路204只需要针对被选出的最佳模式所对应的转换量化后残差数据及中介数据进行编码,而不需要对每一个模式所对应的转换量化后残差数据及中介数据进行编码。动态影像编码系统200可使用较短的时间与较少的运算资源即产生数据量估计值做为评估电路210d选择最佳模式的参考数据。

请参阅图4。于另一实施例中,数据量估计电路210b亦对各种帧内预测/移动补偿模式的中介数据进行数据量评估。以中介数据中某一参数以多个位元表示为例,此多个位元中若有一部份位元被分类为旁路(bypass)数据,即是指此部分位元无法藉由发生机率进行正确预测,所以熵编码电路204不对此部分位元施以熵编码程序。每一种模式的中介数据中各参数内容为旁路数据或非旁路(non-bypass)数据为已知,因此数据量估计电路210b可依照这些资讯可算出相对应的中介数据的一旁路数据数量bp与一非旁路数据数量bnp,并据此产生一中介数据量估计值

举例而言,数据量估计电路210b可采用下列预设演算式:

其中符号α代表一加权参数,其数值可由电路设计者根据经验决定,例如可被设定为等于1或略小于1。实务上,若各种中介数据的内容是固定的,数据量估计电路210b可利用查表的方式产生旁路数据数量bp与非旁路数据数量bnp。

除了各个模式的绝对值总和sumabs与座标值总和sumcrd,图4中的数据量估计电路210b在为每一种模式产生其数据量估计值时,亦将其中介数据量估计值纳入考量。举例而言,图四中的数据量估计电路210b可将式一修改为:

图5呈现动态影像编码系统200的一种变化型。于此实施例中,失真量计算模组210c被一失真量估计电路210f取代。失真量估计电路210f的输入信号为转换电路203a产生的转换后矩阵,以及反量化电路206a产生的反量化结果。针对每一种帧内预测/移动补偿模式,失真量估计电路210f计算该反量化结果与该转换后矩阵的差异,做为一失真量估计值供评估电路210d于选择最佳模式时参考。相较于图1呈现的先前技术,图五所采用的做法在产生失真量估计值的过程中不需要进行反转换程序,因而得以缩短产出失真量估计值所需要的时间,并且进一步节省运算资源。

此外,失真量估计电路210f可被设计为仅计算该转换后矩阵与其反量化结果的一较高位元差异、忽略一较低位元差异。举例而言,假设转换后矩阵及反量化结果中的每一个元素系各自以长度十六位元的二进制数据表示,失真量估计电路210f可以仅计算两个相对应元素的前八个较高位元的差异,忽略后八个较低位元的差异。这种做法也可以达到进一步节省运算时间与运算资源的效果。

实务上,前述加总电路210e、数据量估计电路210b与失真量评估电路210f可各自被实现为但不限于固定式及/或可程式化的数位逻辑电路,包含可程式化逻辑门阵列、特定应用集成电路、微控制器、微处理器、数位信号处理器,与其他必要电路。

根据本发明的另一具体实施例为一种动态影像编码方法,其流程图绘示于图6。首先,步骤s61为分别采用多种帧内预测/移动补偿模式为一待编码影像区块找出多种参考区块。其次,步骤s62为根据该待编码影像区块与该多种参考区块产生相对应的多组残差数据。随后,步骤s63为针对每一组残差数据进行一离散余弦转换程序,以产生一转换后矩阵。步骤s64则是针对每一个转换后矩阵进行一量化程序,以产生一组转换量化后残差数据。接着,步骤s65为针对每一组转换量化后残差数据,计算其中的非零元素的绝对值总和以及这些非零元素相对于一参考点的座标值总和。步骤s66是针对每一种帧内预测/移动补偿模式,根据其相对应转换量化后残差数据的该绝对值总和与该座标值总和,产生一数据量估计值。步骤s67则是根据该多个数据量估计值,自该多种帧内预测/移动补偿模式中选择一最佳模式。

根据本发明的另一具体实施例为一种影像处理方法,其流程图绘示于图7。首先,步骤s71为针对一影像数据进行一离散余弦转换程序,以产生一转换后矩阵。其次,步骤s72为针对该转换后矩阵进行一量化程序,以产生一转换量化后数据。接着,步骤s73为针对该转换量化后数据进行一反量化程序,以产生一反量化结果。随后,步骤s74为根据该转换后矩阵与该反量化结果的差异,决定一失真量估计值。

藉由以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭示的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。

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