CN1708131A - 压缩数字动画计算量的方法 - Google Patents
压缩数字动画计算量的方法 Download PDFInfo
- Publication number
- CN1708131A CN1708131A CN 200410048485 CN200410048485A CN1708131A CN 1708131 A CN1708131 A CN 1708131A CN 200410048485 CN200410048485 CN 200410048485 CN 200410048485 A CN200410048485 A CN 200410048485A CN 1708131 A CN1708131 A CN 1708131A
- Authority
- CN
- China
- Prior art keywords
- value
- reference value
- calculation
- minimum reference
- search area
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明提出一种压缩数字动画计算量的方法,将数字动画的画面以小于16×16的像素矩阵切割成小块而计算,使用随机存取存储器(RAM)暂存计算的结果,并重复运用其计算结果,以减少数字动画的计算量,因此可以采用较低的系统时脉与简化的数字讯号处理器,降低电力的消耗,使可携式电子用品采用一般电池即可,最终达成全面降低成本的目标。
Description
技术领域
本发明涉及压缩数字动画计算量的方法,尤其是指将数字动画的画面以小于16×16的像素矩阵切割成小块而计算,使用随机存取存储器(RAM)暂存计算的结果,并重复运用其计算结果,以减少数字动画的计算量。
背景技术
对于一般电脑、电视、移动电话等荧幕上的数字动画处理,为了减少储存存储器,或是减低资料传输时的频宽,都使用了数字动画压缩技术。目前在数字动画压缩技术最常用的规格包括MPEG-2、MPEG-4、AVS与H.264,这几种规格都使用运动估算(motion estimation)的方法来压缩资料量。一般的连续动画每秒必须提供20-30张画面,以使画面流畅,连续两张画面中相同的影像必须使用运动估算决定其移动关系。
运动估算的方法之一,是将荧幕画面以16×16的256个像素矩阵为一个宏块(Macro-Block,MB)切割,然后为每一个MB找出与前一张画面相关的最佳运动矢量(motion vector)。请参考第1图,其中(a)图与(b)图是两张连续的画面。但传送(或储存)(b)图画面时,只需传送火车的运动矢量(虚线箭头所示),补上(a)图中被火车遮住的背景画面,并配合原有的火车与背景画面资料,就可以产生(b)图。该方法可大量简少传送频宽(或减少储存存储器的容量),但该方法却显著地增加了计算的复杂度。
计算(a)图中某一个MB的运动矢量时,必须将该MB中每一个像素与(b)图某一MB中每一个对应像素相减(Full Search,全搜寻),然后将256个绝对差异值相加而得到一「累加绝对差异值」。如此逐一与(b)图中所有比较点周围的MB计算得到许多累加绝对差异值,累加绝对差异值最小者的比较点位置即为所求,其与比较点的位置差异即所谓的运动矢量。为了减少计算量,通常设定一个较小的画面搜寻范围(Searching Range),在此搜寻范围中若搜寻得到的累加绝对差异值如果小于预先的设定值,该比较点位置即为所谓的运动矢量。
请参考第2图,以往全搜索方法的运动估算,如果搜寻范围为32×32像素(pixels),MB(Macro-Block)的大小若为16×16,对于每一个MB若欲求取其运动矢量,必须与自己及所有其他MB作运算,因此共有17×17=289次MB的比较(MB在搜寻范围中移动,只有17×17的范围,不让MB超出搜寻范围)。每一次比较均依「最小累加绝对差异值」(MAD)的方法运算,将两个MB其中对应两像素的值先相减,相减后取其绝对值,然后累加,共需767次运算(相减256次,取绝对值256次,累加255次,256+256+255=767)。因为共有289次MB的比较,每一次比较需767次运算,所以共需289×767=221,663次运算才能完成一个MB对同一个搜寻范围的搜索,为其找到运动矢量。其他相邻的MB亦须221,663次运算。
若一张画面为720×480的图像,则其画面可分割成1350个MB。每个MB紧紧相连,但无重叠,但搜寻范围,虽与近邻的搜寻范围,大量重叠,但各MB,均需重新计算。若欲完成此种画面的运动矢量估算,总运算量约为2.99×108次(1350×221,663)。一般的连续动画每秒最少必须提供22张画面,因此其每秒总运算量约为6.58×109次(22×2.99×108)。
以此观之,全搜寻方法的运算复杂度太高,因此迫使系统采用较高的系统时脉与较大的数字讯号处理器,结果电子消耗极大,使可携式电子用品的电池无法负荷,亦无法达成低成本的目标。因此许多新方法因应而生,这些新方法可归类为两大类:一是减少比较点数,二是减少计算次数。两大类的方法可同时运用,务使计算量达至最低。
减少比较点数有许多方法,较常采用的有三步骤搜寻(Three StepSearch,TSS),四步骤搜寻(Four Step Search,FSS)...等。其概要就是在所设定的搜寻范围中找出数点,选其最小的MAD值,在该最小的MAD值附近,再作进一步的区域化运算。
减少计算次数的方法较少,常用的是运用不等式如下:
SUN(ABS(a-b))>=ABS(SUM(a)-SUM(b)),其中a,b分别代表两个MB的各个点的像素值。此不等式的意义是两个MB对应像素绝对差异值的和(即前述MAD运算)大于或等于两个MB各自像素值的和的绝对差异值(称为粗略计算)。
利用该不等式的性质,我们可以在搜寻范围中先任意取出第一个比较点,进行MAD运算(即上述不等式左边的运算),作为暂定最小参考值,然后选择第二点作上述不等式右边的运算(称为粗略计算)。如果暂定最小参考值确实是搜寻范围中的最小值,则第二点的MAD运算值应该大于该暂定最小参考值。但若第二点的粗略计算值已大于该暂定最小参考值,则根据上述不等式,第二点的MAD运算值因为大于或等于第二点的粗略计算值,于是必定大于暂定最小参考值,因此原先的暂定最小参考值继续保留。若第二点的粗略计算值小于暂定最小参考值,则不能确定第二点的MAD运算值必定小于暂定最小参考值,因此必须对第二点进行MAD运算(即上述不等式左边的运算),而与暂定最小参考值比较,若发现第二点的MAD运算值真的小于暂定最小参考值,则以第二点的MAD运算值作为以后的暂定最小参考值。
重复上述步骤,直到搜寻范围内的289个点都完成比较,每次比较都将暂定最小参考值存入暂存的存储器中。
参考第2图,运用上述不等式的性质,如果搜寻范围为32×32像素(pixels),MB(Macro-Block)大小为16×16,假设此图左上角第一个搜寻点的MAD运算刚好就是最小值。在搜寻范围中共有289个比较点(17×17),第一个比较点的MAD计算方法,同以往的全搜寻,需767次运算。往后288个比较点都采用不等式右边的粗略计算,每次比较需用255次加法以取得SUM(b)的值,再与SUM(a)相减一次,取绝对值一次,共需257次运算。SUM(a)在第一点计算一回后(需255次加法)就可以运用在往后的288个比较点上。所以如果第一个搜寻点MAD运算为最小值,则做完一个MB的全搜寻范围的比较,共需75326次运算(第一个比较点767次,SUM(a)在第一点计算一回需255次加法,其余288个比较点各需257次,加上与暂定最小参考值的288次比较,767+255+257×288+288=75326),远低于前述221,663次运算。
由此可知,运用上述不等式可以大幅减少计算量,但我们发现还有进一步改进的空间。
发明内容
本发明为了减少数字动画的计算量,将数字动画的画面以小于16×16的像素矩阵而切割成小块,分别计算各小块像素的总和,并一一储存。然后利用两个宏块(16×16)对应像素绝对差异值的和(称为MAD运算值)大于或等于两个宏块B各自像素值的和的绝对差异值(称为粗略计算值)的不等式的关系,先在宏块搜寻范围内任意计算出一点的MAD运算值,作为暂定最小参考值,并加以储存,其次以小块为单位计算出搜寻范围内其他点的粗略计算值,若粗略计算值大于或等于暂定最小参考值,则保留暂定最小参考值,否则计算该其他点的MAD运算值,若该其他点的MAD运算值大于或等于暂定最小参考值,则保留暂定最小参考值,否则以该其他点的MAD运算值取代该暂定最小参考值。
附图说明
第1图为运动矢量的示意图。
第2图为以往全搜寻运动估算的示意图。
第3图为本发明数字讯号处理单元(DSP/ALU)的示意图。
第4图为本发明全搜寻运动估算第一行的复杂度示意图。
第5图为本发明全搜寻运动估算第二行的复杂度示意图。
第6图为本发明全搜寻运动估算第三行及以后的复杂度示意图。
具体实施方式
请参考第3图,其为本发明以随机存取存储器(RAM)暂存先前计算的结果的系统方块示意图。图中显示的随机存取存储器(RAM),可为DRAM或SRAM...,是完全成熟的数字积体电路,因此制程上并无问题。
以往全搜寻方法的运动估算,如果搜寻范围为32×32像素(pixels),MB(Macro-Block)的大小若为16×16像素,对于每一个MB若欲求取其运动矢量,如前所述共需221,663次运算。若以前述不等式法运算亦需75,326次运算。
本发明的计算方法请参考第4图,所有条件一如前述,搜寻范围为32×32像素,MB大小为16×16像素,但本发明将搜寻范围32×32像素再度切割为2×2的小块,共256个小块。
假设左上角第一个比较点P1,1所得的比较即为最小值,第一个比较点P1,1与其自身相比必须用MAD运算,以取得该搜寻范围的「暂定最小参考值」,需要767次运算(相减256=16×16次,取绝对值256次,累加255次,767=256+256+255,与前述的全搜寻方法相同)。
P1,1点与所有各点的比较则依前述不等式的右边作粗略计算。不过本发明作粗略计算时是以2×2的个小块为单元计算,每个小块有4个像素点,先将此4个像素值相加,需要3次计算,并将每个小块的计算结果暂存在第3图DSP/ALU的Data Memory(RAM)中,然后将MB的16×16像素中64个小块的值相加(63次),部共需要255次运算(累加3×64+63次)以取得64个小块的总值。P1,1点用此粗略计算法取得其本身64个小块的总值,需255次运算,只需计算一回,然后储存供以后使用。其他点的64个小块的总值计算各需255次运算(累加3×64+63次),然后与P1,1点本身64个小块的总值相减一次,再取绝对值一次,以得到前述不等式右边的粗略计算。
因memory access的载入(load)、储存(store)都会与一般运算指令平行处理,故在下列的算式中暂时省去。
第一个比较点P1,1取得其本身64个小块的总值需要255次运算(累加3×64+63次),第二个比较点P1,2取得其本身64个小块的总值需要255次运算。但第一列第3,4,...17个比较点P1,3-P1,17只需用到87次运算(3×8+63),因为只有8个新的小块必须重新计算,其他56个小块的值已在P1,1的计算中存在存储器中。第二列的比较点(P2,1-P2,17)取得64个小块的总值运算同第一列,请参考第5图。第三列的第一、二个比较点P3,1,P3,2(请参考第6图)只需用到87次运算(3×8+63),因为只有8个新的小块必须重新计算,其余56个小块的值,已在P1,1,P1,2的计算中纪录在存储器中。第三列的第3,4,...17个比较点(P3,3-P3,17)各只需用到66次运算,因为只有1个新的小块必须重新计算(3次加法运算+64个小块的结果累加63次)。第4-17列的比较点(P4,x-P17,x)运算量同第三列,请参考第6图。
只有在粗略计算结果比暂存的「暂定最小参考值」小时,才做该点的精细MAD运算,如果精细MAD运算,小于「暂定最小参考值」,就取代原先的「暂定最小参考值」而存入存储器中。如果粗略计算结果大于「暂定最小参考值」,则该比较点显然不是目标,于是进行下一个比较点的粗略计算。重复这些步骤,直到289个比较点都完成计算。(因假设第一个比较点就是其最优值,所以上述计算中省略了可能需要的MAD计算量,不过现实中已经有第一个搜寻点即最优值的机率极高的方法,此不在本文讨论之列)。
总结上述方法,搜寻范围为32×32,MB大小为16×16,共需22721运算,其中:
P1,1自身MAD运算需767次运算
P1,1取得其本身64个小块的总值需255次运算
P1,1与P1,2相比需255+1+1+1次运算(相减,取绝对值,再相比)
P1,1与P2,1相比需255+1+1+1次运算
P1,1与P2,2相比需255+1+1+1次运算
P1,1与P1,3-P1,17相比各需87+1+1+1次运算
P1,1与P2,3-P2,17相比各需87+1+1+1次运算
P1,1与P3,1-P17,1相比各需87+1+1+1次运算
P1,1与P3,2-P17,2相比各需87+1+1+1次运算
P1,1与其他各点相比各需66+1+1+1次运算
767+255×4+9+(90×15)×4+(69×15×15)=22721次。
若一张画面为720×480的图像,其画面可分割成1350个MB。每个MB紧紧相连,虽不重叠,但搜寻范围32×32中MB大小为16×16,各MB与近邻MB的搜寻范围,大量重叠,所以小块的运算结果,可在各MB间重复使用。完成一张画面的运动估算,其总运算量应小于3.07×107次(1350×22,721)每张画面。若每秒提供22张画面,其每秒运算量小于6.75×108次(3.07×107×22)。总运算量仅为不等式方法的30.2%。
依照MPEG-2、MPEG-4、AVS、与H.264的规格,所有MB都紧紧相依,所以其搜寻范围均重叠。善用该特性,当解析度增高时,只有在每幅画像的最上缘与最左侧计算量较大,其余每个MB约只须两万次运算。因此本发明这种新方法可以更进一步压缩计算量。
本发明的精神与范围仅受限于下述权利要求,不受限于上述的特例。
Claims (2)
1.一种压缩数字动画计算量的方法,对于一般数字动画的连续两张画面中相同的影像必须使用运动估算决定其运动关系,通常是将荧幕画面以16×16的256个像素矩阵为一个宏块而切割,同时为宏块订出一大于16×16像素矩阵的适当搜寻范围,然后为每一个宏块在其附近适当搜寻范围内找出其与下一张画面相关的最佳运动矢量;
为了减少计算量,将数字动画的画面以小于16×16的像素矩阵而切割成小块,分别计算各小块像素的总和,并一一储存;然后利用两个宏块对应像素绝对差异值的和(称为MAD运算值)大于或等于两个宏块各自像素值的和的绝对差异值(称为粗略计算值)的不等式的关系,先在宏块适当搜寻范围内任意计算出一点的MAD运算值,作为暂定最小参考值,并加以储存;其次取出已储存的小块像素的总和,计算出宏块适当搜寻范围内其他点的粗略计算值;若粗略计算值大于或等于暂定最小参考值,则保留暂定最小参考值;否则计算该其他点的MAD运算值,若该其他点的MAD运算值大于或等于暂定最小参考值,则保留暂定最小参考值,否则以该其他点的MAD运算值取代该暂定最小参考值。
2.如权利要求1所述的压缩数字动画计算量的方法,其中该小块为2×2的像素矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410048485 CN1708131A (zh) | 2004-06-07 | 2004-06-07 | 压缩数字动画计算量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410048485 CN1708131A (zh) | 2004-06-07 | 2004-06-07 | 压缩数字动画计算量的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1708131A true CN1708131A (zh) | 2005-12-14 |
Family
ID=35581740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410048485 Pending CN1708131A (zh) | 2004-06-07 | 2004-06-07 | 压缩数字动画计算量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1708131A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123668B (zh) * | 2006-08-08 | 2010-12-15 | 上海西门子医疗器械有限公司 | Ct图像的压缩方法 |
CN102172030A (zh) * | 2008-12-31 | 2011-08-31 | 英特尔公司 | 运动估计技术 |
CN101656878B (zh) * | 2008-08-19 | 2013-02-20 | 新奥特(北京)视频技术有限公司 | 一种改进的帧间压缩的方法 |
-
2004
- 2004-06-07 CN CN 200410048485 patent/CN1708131A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123668B (zh) * | 2006-08-08 | 2010-12-15 | 上海西门子医疗器械有限公司 | Ct图像的压缩方法 |
CN101656878B (zh) * | 2008-08-19 | 2013-02-20 | 新奥特(北京)视频技术有限公司 | 一种改进的帧间压缩的方法 |
CN102172030A (zh) * | 2008-12-31 | 2011-08-31 | 英特尔公司 | 运动估计技术 |
CN102172030B (zh) * | 2008-12-31 | 2015-02-25 | 英特尔公司 | 运动估计技术 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190370645A1 (en) | Deep neural network accelerator with fine-grained parallelism discovery | |
US20060098736A1 (en) | Method for performing motion estimation in video encoding, a video encoding system and a video encoding device | |
TW200409547A (en) | Method and apparatus for motion estimation with all binary representation | |
EP1608180A1 (en) | Method and apparatus for sub-pixel motion estimation which reduces bit precision | |
US20090238282A1 (en) | Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream | |
CN110362964B (zh) | 一种基于多直方图修改的高容量可逆信息隐藏方法 | |
US8565312B2 (en) | Image processing method and image information coding apparatus using the same | |
CN1805544A (zh) | 频域内用于位移估算的区块匹配 | |
CN1708131A (zh) | 压缩数字动画计算量的方法 | |
US8559741B2 (en) | Lossless image compression method | |
US7742661B2 (en) | Digital image data processing apparatus | |
US20100195734A1 (en) | Low-power and high-performance video coding method for performing motion estimation | |
CN111273882B (zh) | Demura Table数据压缩方法以及解压缩方法 | |
CN1625266A (zh) | 计算绝对差值的设备、运动估计设备和运动图像编码设备 | |
JP4287802B2 (ja) | デジタルアニメーションの計算量を圧縮する方法 | |
Chong et al. | Power efficient motion estimation using multiple imprecise metric computations | |
CN101227613B (zh) | 一种sad运算处理装置及方法 | |
CN1314052A (zh) | 运动估计 | |
CN1104813C (zh) | 对动图像进行运动补偿时宏数据组的半象素处理装置 | |
CN1083217C (zh) | 用运动补偿复原图像信号的电路 | |
US7724975B2 (en) | Design techniques and their circuit designs for versatile and scalable video coding | |
Taşdizen et al. | High performance hardware architectures for a hexagon-based motion estimation algorithm | |
JP3171249B2 (ja) | 動画像符号化の動きベクトル探索方法 | |
US20050254716A1 (en) | Method for compressing workload of digital-animation calculation | |
Chen et al. | Analysis and hardware architecture design of global motion estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |