CN1323556C - 可节省暂存器的双向动态补偿方法 - Google Patents
可节省暂存器的双向动态补偿方法 Download PDFInfo
- Publication number
- CN1323556C CN1323556C CNB2004100060085A CN200410006008A CN1323556C CN 1323556 C CN1323556 C CN 1323556C CN B2004100060085 A CNB2004100060085 A CN B2004100060085A CN 200410006008 A CN200410006008 A CN 200410006008A CN 1323556 C CN1323556 C CN 1323556C
- Authority
- CN
- China
- Prior art keywords
- predictor
- buffer
- temporary storage
- calculated value
- compensation method
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Input (AREA)
Abstract
本发明是关于一种可节省暂存器的双向动态补偿方法,是先行计算两倍的预测误差、第一预测子及1之和,并将其和限制于暂存器可储存的最大正值以内才存入暂存器,再计算暂存器的值与第二预测子之和,并将其和限制于0与暂存器可储存的最大正值间才存入暂存器,然后将暂存器的值右移1位,以获得像素资料。因此,本发明可省略预测子暂存器的使用。
Description
技术领域
本发明涉及一种双向动态补偿(Motion Compensation)方法,特别是涉及一种可节省暂存器的双向动态补偿方法。
背景技术
动态补偿(Motion Compensation)是ISO MPEG视讯影像译码过程中必要的功能。它的主要动作是拿前一张已译码出来的画格作为参考,并依照移动向量(Motion Vector)来撷取参考画格中的一小块影像作为预测子(Predictor),最后再将预测子与预测误差相加,即可获得目前画格的像素资料。
请参阅图1至图3所示,图1为参考从过去时间点(forward reference)所撷取出来的预测子的单向动态补偿示意图,图2为参考从未来时间点(backward reference)所撷取出来的预测子的单向动态补偿示意图,图3则为将过去和未来的预测子作平均(bi-directional reference)的双向动态补偿示意图。在图3中,假设从过去时间点所撷取出来的预测子为pel_pred_forward[y][x],从未来时间点所撷取出来的预测子为pel_pred_backward[y][x],反离散余弦转换(Inverse Discrete CosineTransform,简称IDCT)输出的预测误差为f[y][x],则目前画面的像素资料d[y][x]依据MPEG的标准流程的数学运算步骤如下:
1、平均过去时间点及未来时间点的参考预测子
for(y=0;y<8;y++){
for(x=0;x<8;x++){
pel_pred[y][x]=(pel_pred_forward[y][x]+pel_pred_backward[y][x])/
/2 ............ (1)
}
}
其中”//2”是代表先除以2再四舍五入。
2、将平均结果与预测误差相加,并限制像素资料的范围,以获得目前画面的像素资料。其中因像素数据(资料)的宽度为8位,故其数据范围为0~255
for(y=0;y<8;y++){
for(x=0;x<8;x++){
d[y][x]=pel_pred[y][x]+f[y][x]; .......(2)
if(d[y][x]<0)d[y][x]=0;
if(d[y][x]>255)d[y][x]=255;
}
}
请参阅图4所示,上述的计算步骤在硬件电路的执行如图4所示,其中,除了用以储存预测误差f[y][x]的IDCT暂存器410外,另需用以储存从过去时间点所撷取出来的预测子pel_pred_forward[y][x]或从未来时间点所撷取出来的预测子pel_pred_backward[y][x]的预测子暂存器420,才能进行双向动态补偿。
在图4中,如前述计算式地首先从记忆体(内存)界面430将预测子pel_pred_forward[y][x]存入预测子暂存器420,再由记忆体界面430取得预测子pel_pred_backward[y][x],以进行预测子pel_pred_forward[y][x]与pel_pred_backward[y][x]的平均运算,然后再将平均结果与储存于IDCT暂存器410的预测误差f[y][x]相加,并经限制运算器450将像素数据d[y][x]的数据范围限制为0~255。
在执行运算时,是从记忆体界面430将预测子pel_pred_forward[y][x]存入预测子暂存器420,再由记忆体界面430取得预测子pel_pred_backward[y][x],假如预测子暂存器420的容量仅可储存一笔数据,亦即仅有8位时,则运算过程将必须自记忆体界面430交错撷取预测子pel_pred_forward[y][x]与pel_pred_backward[y][x],而大大地降低了动态随机存取内存(动态随机存取记忆体)(DRAM)的内存存取效能。因此,通常会藉由提高预测子暂存器420的容量,来一次撷取多笔预测子数据,以改善动态随机存取内存的存取效能,然而,此种作法也将导致硬件成本的提高。
由此可见,上述现有的暂存器的双向动态补偿方法仍存在有诸多的缺陷,而亟待加以进一步改进。为了解决现有的暂存器的双向动态补偿方法的缺陷,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,此显然是相关业者急欲解决的问题。
有鉴于上述现有的暂存器的双向动态补偿方法存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,积极加以研究创新,以期创设一种新的可节省暂存器的双向动态补偿方法,能够改进一般现有的暂存器的双向动态补偿方法,使其更具有实用性。经过不断的研究、设计,并经反复试作及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的在于,克服现有的暂存器的双向动态补偿方法存在的缺陷,而提供一种新的可节省暂存器的双向动态补偿方法,所要解决的技术问题是使其可在兼顾内存存取效能的情形下,省略预测子暂存器的使用,从而更加适于实用,且具有产业上的利用价值。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种可节省暂存器的双向动态补偿方法,适用于仅使用一暂存器,以参考一第一预测子、一第二预测子及一预测误差,来计算获得目前画面的一像素资料,该方法包括下列步骤:
计算两倍的该预测误差、该第一预测子及1之和,以获得一第一计算值;
当该第一计算值大于该暂存器可储存的一最大正值时,将该最大正值及该最大正值减1二者择一存入该暂存器,否则将该第一计算值存入该暂存器;
计算该暂存器的值与该第二预测子之和,以获得一第二计算值;
当该第二计算值大于该暂存器可储存的一最大正值时,将该最大正值及该最大正值减1二者择一存入该暂存器,而当该第二计算值小于0时,将0存入该暂存器,否则将该第二计算值存入该暂存器;以及
将该暂存器的值右移1位,以获得该像素资料。
本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。
前述的可节省暂存器的双向动态补偿方法,其中所述的第一预测子是从过去时间点所撷取出来的预测子,而其中所述的第二预测子是从未来时间点所撷取出来的预测子。
前述的可节省暂存器的双向动态补偿方法,其中所述的第一预测子是从未来时间点所撷取出来的预测子,而其中所述的第二预测子是从过去时间点所撷取出来的预测子。
前述的可节省暂存器的双向动态补偿方法,其中所述的第一预测子、第二预测子及该像素数据为8位的正值,其中所述的预测误差为9位的正负值,而其中所述的暂存器的宽度为10位。
前述的可节省暂存器的双向动态补偿方法,其中所述的第一计算值是否大于所述的暂存器可储存的该最大正值,是以判断该第一计算值右移一位的值是否大于255来决定。
前述的可节省暂存器的双向动态补偿方法,其中所述的判断该第二计算值是否大于该暂存器可储存的该最大正值,是以判断该第二计算值右移一位的值是否大于255来决定。
本发明与现有技术相比具有明显的优点和有益效果。由以上技术方案可知,为了达到前述发明目的,本发明的主要技术内容如下:
本发明提出一种可节省暂存器的双向动态补偿方法,其适用于仅使用一暂存器,以参考第一预测子、第二预测子及预测误差,来计算获得目前画面的像素资料。此可节省暂存器的双向动态补偿方法包括下列步骤:计算两倍的预测误差、第一预测子及1之和,以获得第一计算值;当第一计算值大于暂存器可储存的最大正值时,将最大正值与最大正值减1二者择一存入暂存器,否则将第一计算值存入暂存器;计算暂存器的值与第二预测子之和,以获得第二计算值;当第二计算值大于暂存器可储存的最大正值时,将最大正值与最大正值减1二者择一存入暂存器,而当第二计算值小于0时,将0存入暂存器,否则将第二计算值存入暂存器;以及将暂存器的值右移1位,以获得像素资料。
其中,第一预测子可以是从过去时间点所撷取出来的预测子,而第二预测子则是从未来时间点所撷取出来的预测子。或第一预测子可以是从未来时间点所撷取出来的预测子,而第二预测子则是从过去时间点所撷取出来的预测子。
其中,第一预测子、第二预测子及像素数据例如为8位的正值,预测误差为9位的正负值,而暂存器的宽度则为10位。
其中,判断第一计算值是否大于暂存器可储存的最大正值的步骤,也可以是判断第一计算值右移一位的值是否大于255来决定。
其中,判断第二计算值是否大于暂存器可储存的最大正值的步骤,也可以是判断第二计算值右移一位的值是否大于255来决定。
由上述的说明中可知,应用本发明所提供的一种可节省暂存器的双向动态补偿方法,除了同样符合MPEG的标准运算及兼顾内存存取效能外,更可省略预测子暂存器的使用。
经由上述可知,本发明是一种可节省暂存器的双向动态补偿方法,是先行计算两倍的预测误差、第一预测子及1之和,并将其和限制于暂存器可储存的最大正值以内才存入暂存器,再计算暂存器的值与第二预测子之和,并将其和限制于0与暂存器可储存的最大正值间才存入暂存器,然后将暂存器的值右移1位,以获得像素资料。因此,本发明可省略预测子暂存器的使用。
借由上述技术方案,本发明可节省暂存器的双向动态补偿方法其优点在于:至少可节省8*N-N=7*N个位的硬件的消耗,对于成本的节省十分有助益。
综上所述,本发明特殊的可节省暂存器的双向动态补偿方法,其具有上述诸多的优点及实用价值,并在同类方法中未见有类似的设计公开发表或使用而确属创新,其不论在方法上或功能上皆有较大的改进,在技术上有较大的进步,并产生了好用及实用的效果,且较现有的暂存器的双向动态补偿方法具有增进的多项功效,从而更加适于实用,而具有产业的广泛利用价值,诚为一新颖、进步、实用的新设计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
本发明的具体方法由以下实施例及其附图详细给出。
附图说明
图1是显示参考从过去时间点(forward reference)所撷取出来的预测子的单向动态补偿示意图。
图2是显示参考从未来时间点(backward reference)所撷取出来的预测子的单向动态补偿示意图。
图3是显示将过去和未来的预测子作平均(bi-directional reference)的双向动态补偿示意图。
图4是显示习知的双向动态补偿方法硬件电路执行示意图。
图5是显示根据本发明较佳实施例的双向动态补偿方法的硬件电路执行示意图。
410:IDCT暂存器 420:预测子暂存器
430:记忆体界面 530:记忆体界面
450:限制运算器 550:限制运算器
60:限制运算器 510:暂存器
具体实施方式
以下结合附图及较佳实施例,对依据本发明提出的可节省暂存器的双向动态补偿方法其具体方法、步骤、特征及其功效,详细说明如后。
为了解释方便起见,以下的计算式是假设从过去时间点所撷取出来的预测子pel_pred_forward[y][x]=F,从未来时间点所撷取出来的预测子pel_pred_backward[y][x]=B,而计算获得的像素数据d[y][x]=D,反离散余弦转换(Inverse Discrete Cosine Transform,简称IDCT)输出的预测误差f[y][x]=I。其中,并假设预测子F、B与像素数据D均为8位的正值,而预测误差I则为9位的正值或负值。于是,前述习知技术的(1)式可以改写为pel_pred[y][x]=(F+B)//2,且因为预测子F和B都是0至255的自然数,故(1)式可以进一步地改写为pel_pred[y][x]=(F+B+1)>>1,其中“>>1”是代表右移1位的计算。
前述习知技术的(2)式可改写为D=pel_pred[y][x]+I=I+(F+B+1)>>1而为了省去图4中的预测子暂存器420,必须将从记忆体界面430取得的预测子F或B,立即与储存于IDCT暂存器410的预测误差I相加,并回存于IDCT暂存器410。因此,前述习知技术的(2)式可以进一步地改写为D=((2*I+1+F)+B)>>1或D=((2*I+1+B)+F)>>1。因此,如将图4的IDCT暂存器410扩充为10位时,则依据MPEG的标准流程的像素数据D的数学运算步骤可以变更如下:
1、计算两倍的预测误差I、预测子F或B(以下以预测子F为例)及1之和,且当其和大于储存预测误差I的暂存器可储存的最大正值时,将最大正值或最大正值减1的值存入暂存器,否则直接将其和存入暂存器,计算式如下:
if((2*I+1+F)>511)
result=2*255+1; (或result=2*255;)
else
result=(2*I+1+F);
endif
前述计算式的if((2*I+1+F)>511)亦可以使用if(((2*I+1+F)>>1)>255)来取代。
2、计算暂存器的值与预测子B或F(以下以预测子B为例)之和,且当其和大于暂存器可储存的最大正值时,将最大正值或最大正值减1的值存入暂存器,而当其和小于0时,将0存入暂存器,否则直接将其和存入暂存器,然后将暂存器的值右移1位,以获得像素数据D,其计算式如下:
if((result+B)>511)
result=2*255+1; (或result=2*255;)
else if((result+B)<0)
result=0;
else
result=(result+B);
endif
D=result>>1;
前述计算式的if((result+B)>511)及else if((result+B)<0)亦可以使用if(((result+B)>>1)>255)及else if(((result+B)>>1)<0)来取代。
请参阅图5所示,其为根据本发明较佳实施例的双向动态补偿方法硬件电路执行示意图。图中,已省略图4的预测子暂存器420,而储存预测误差I的暂存器510的宽度则扩充为10位,以便可以储存2*I的值。
在图5的左侧中,首先从记忆体界面530取得预测子F,并计算两倍的预测误差I、预测子F及1之和,然后经限制运算器550将其和限制于暂存器510可储存的最大正值,再将其和存入暂存器510。之后,在图5的右侧,由记忆体界面530取得预测子B,以计算暂存器510的值result与预测子B之和,并经限制运算器560将其和限制于暂存器510可储存的最大正值与0之间,再将其和存入暂存器510,然后将暂存器510的值右移1位,以获得像素资料D。
故知,在前述说明的图4中,假设为了内存存取效能而使用了N个8位的预测子暂存器420及N个9位的IDCT暂存器410,则在图5中,仅需N个10位的暂存器510即可达成。因此,本发明至少可节省8*N-N=7*N个位的硬件的消耗,对于成本的节省十分有助益。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (6)
1、一种可节省暂存器的双向动态补偿方法,适用于仅使用一暂存器,以参考一第一预测子、一第二预测子及一预测误差,来计算获得目前画面的一像素资料,其特征在于该方法包括下列步骤:
计算两倍的该预测误差、该第一预测子及1之和,以获得一第一计算值;
当该第一计算值大于该暂存器可储存的一最大正值时,将该最大正值及该最大正值减1二者择一存入该暂存器,否则将该第一计算值存入该暂存器;
计算该暂存器的值与该第二预测子之和,以获得一第二计算值;
当该第二计算值大于该暂存器可储存的一最大正值时,将该最大正值及该最大正值减1二者择一存入该暂存器,而当该第二计算值小于0时,将0存入该暂存器,否则将该第二计算值存入该暂存器;以及
将该暂存器的值右移1位,以获得该像素资料。
2、根据权利要求1所述的可节省暂存器的双向动态补偿方法,其特征在于其中所述的第一预测子是从过去时间点所撷取出来的预测子,而其中所述的第二预测子是从未来时间点所撷取出来的预测子。
3、根据权利要求1所述的可节省暂存器的双向动态补偿方法,其特征在于其中所述的第一预测子是从未来时间点所撷取出来的预测子,而其中所述的第二预测子是从过去时间点所撷取出来的预测子。
4、根据权利要求1所述的可节省暂存器的双向动态补偿方法,其特征在于其中所述的第一预测子、第二预测子及该像素数据为8位的正值,其中所述的预测误差为9位的正负值,而其中所述的暂存器的宽度为10位。
5、根据权利要求4所述的可节省暂存器的双向动态补偿方法,其特征在于判断其中所述的第一计算值是否大于所述的暂存器可储存的该最大正值,是以判断该第一计算值右移一位的值是否大于255来决定。
6、根据权利要求4所述的可节省暂存器的双向动态补偿方法,其特征在于判断其中所述的第二计算值是否大于该暂存器可储存的该最大正值,是以判断该第二计算值右移一位的值是否大于255来决定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100060085A CN1323556C (zh) | 2004-02-25 | 2004-02-25 | 可节省暂存器的双向动态补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100060085A CN1323556C (zh) | 2004-02-25 | 2004-02-25 | 可节省暂存器的双向动态补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1662065A CN1662065A (zh) | 2005-08-31 |
CN1323556C true CN1323556C (zh) | 2007-06-27 |
Family
ID=35011100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100060085A Expired - Fee Related CN1323556C (zh) | 2004-02-25 | 2004-02-25 | 可节省暂存器的双向动态补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1323556C (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182334A (zh) * | 1996-11-08 | 1998-05-20 | 明碁电脑股份有限公司 | 数字影像数据的压缩/解压缩方法 |
US5923375A (en) * | 1996-02-27 | 1999-07-13 | Sgs-Thomson Microelectronics S.R.L. | Memory reduction in the MPEG-2 main profile main level decoder |
CN1246769A (zh) * | 1998-09-03 | 2000-03-08 | Lg情报通信株式会社 | 在电信网络中搜索中继线的方法 |
CN1278692A (zh) * | 1999-06-22 | 2001-01-03 | 日本胜利株式会社 | 活动图象编码装置及其方法 |
CN1306726A (zh) * | 1999-03-23 | 2001-08-01 | 三洋电机株式会社 | 视频译码器 |
-
2004
- 2004-02-25 CN CNB2004100060085A patent/CN1323556C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923375A (en) * | 1996-02-27 | 1999-07-13 | Sgs-Thomson Microelectronics S.R.L. | Memory reduction in the MPEG-2 main profile main level decoder |
CN1182334A (zh) * | 1996-11-08 | 1998-05-20 | 明碁电脑股份有限公司 | 数字影像数据的压缩/解压缩方法 |
CN1246769A (zh) * | 1998-09-03 | 2000-03-08 | Lg情报通信株式会社 | 在电信网络中搜索中继线的方法 |
CN1306726A (zh) * | 1999-03-23 | 2001-08-01 | 三洋电机株式会社 | 视频译码器 |
CN1278692A (zh) * | 1999-06-22 | 2001-01-03 | 日本胜利株式会社 | 活动图象编码装置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1662065A (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102165780B (zh) | 视频编码器与其方法以及视频解码器与其方法 | |
CN111479115B (zh) | 一种视频图像处理方法、装置及计算机可读存储介质 | |
WO2008074857A2 (fr) | Procede de decodage d'un bloc d'une image video | |
US8699808B2 (en) | Method and apparatus of temporary image frame compression | |
CN101193306A (zh) | 运动矢量检测装置和运动矢量检测方法 | |
CN103109535B (zh) | 图像再生方法、图像再生装置、摄像系统及再生系统 | |
US20170105018A1 (en) | Image encoding method and device and image decoding method and device | |
US11503325B2 (en) | Methods and systems for estimating motion in multimedia pictures | |
CN103634604A (zh) | 一种面向多核dsp运动估计的数据预取方法 | |
CN105208394B (zh) | 一种实时数字图像压缩预测方法与系统 | |
JP2006121702A (ja) | 向上した圧縮速度を有する動画圧縮装置及びその方法 | |
TWI601075B (zh) | 移動補償影像處理裝置與影像處理方法 | |
CN1323556C (zh) | 可节省暂存器的双向动态补偿方法 | |
KR20050046120A (ko) | 이동 단말 장치에서의 움직임 검출 방법 | |
CN101365137A (zh) | 运动补偿参考数据载入方法和装置及解码器和编解码系统 | |
US12034949B2 (en) | Video decoding apparatus and video decoding method | |
CN109544591A (zh) | 一种运动估计方法、装置、电子设备及存储介质 | |
CN101448160A (zh) | 带重建数据反馈的像素重建方法及解码器 | |
CN109561315B (zh) | 一种运动估计方法、装置、电子设备及存储介质 | |
CN101321288B (zh) | 参考数据载入方法、装置及视频编码器 | |
US20070153909A1 (en) | Apparatus for image encoding and method thereof | |
WO2018205780A1 (zh) | 一种运动估计实现方法及电子设备 | |
KR100753504B1 (ko) | 비디오 디코더의 인-루프 디블럭킹 필터 시스템 및 그의필터링 방법 | |
CN104363455A (zh) | 一种适用于hevc标准中帧内预测的参考像素的硬件片上存储方法 | |
CN101835050B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070627 Termination date: 20170225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |