CN101854538B - 运动图像处理方法及运动图像处理器 - Google Patents

运动图像处理方法及运动图像处理器 Download PDF

Info

Publication number
CN101854538B
CN101854538B CN 200910129266 CN200910129266A CN101854538B CN 101854538 B CN101854538 B CN 101854538B CN 200910129266 CN200910129266 CN 200910129266 CN 200910129266 A CN200910129266 A CN 200910129266A CN 101854538 B CN101854538 B CN 101854538B
Authority
CN
China
Prior art keywords
macro block
coded frame
motion
macro
motion image
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
Application number
CN 200910129266
Other languages
English (en)
Other versions
CN101854538A (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.)
Novatek Microelectronics Corp
Original Assignee
Novatek Microelectronics Corp
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 Novatek Microelectronics Corp filed Critical Novatek Microelectronics Corp
Priority to CN 200910129266 priority Critical patent/CN101854538B/zh
Publication of CN101854538A publication Critical patent/CN101854538A/zh
Application granted granted Critical
Publication of CN101854538B publication Critical patent/CN101854538B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种运动图像处理方法与运动图像处理器。运动图像处理器包括处理装置,且运动图像处理器连接缓冲装置。运动图像处理器从缓冲装置读取多个欲编码帧与多个索引窗口,并于处理装置针对多个宏块进行运动预测,其中多个欲编码帧中的多个宏块具有共同的索引窗口,且多个欲编码帧之间无数据相依性。由于运动图像处理器的设计上采用具有流水线的多个处理装置,因此多个处理装置在单位时间内可以有效率地同时执行单个功能,因此本发明可以节省运动预测的内存开销,并且可以同时对多幅编码帧同时处理。

Description

运动图像处理方法及运动图像处理器
技术领域
本发明涉及一种运动图像处理方法及运动图像处理器,且特别涉及一种运动图像压缩方法及运动图像压缩处理器。
背景技术
在传统的运动图像处理方法中,运动图像中每一个画面(frame)首先将分解成为多个宏块(Macro Block,MB),并将整个压缩程序拆解成多个阶(stage),其中每一阶负责处理不同压缩程序,例如运动预测(motionestimation)、离散余弦转换(discrete cosine transform,DCT)、可变长度编码(variable length coding,VLC)、重建(reconstruction)等等。据此,运动图像处理器可以设计具有多个处理装置(proces sor),每一个处理装置负责每一阶。进一步而言,运动图像处理器的设计上,在多个处理装置部分可以设计成流水线(pipeline)的硬件架构,换句话说,每一个处理装置为一个流水线阶(pipeline stage)。于是当运动图像处理器执行运动图像处理时,同一帧(frame)的多个宏块则会依序送入流水线的多个处理装置,当每个流水线阶各自处理完一个宏块所需的压缩程序后,再将处理完的数据送到下一个流水线阶。这个可处理宏块的流水线阶称为宏块管线(MB pipeline),每一阶称为宏块阶(MB stage)。
在运动图像处理过程中,运动预测的功能为依据宏块在欲编码帧的位置,进而在参考帧(reference frame)中界定索引窗口(search window)的范围,并且在索引窗口中找寻一个参考宏块(reference MB),其中参考宏块与宏块的差异最小,而宏块与参考宏块的位移值为运动向量(motion vector)。由此可知:在流水线阶中负责处理运动预测的处理装置会针对内存作大量数据的读取与写入,因此处理运动预测所使用的内存开销显得重要。更进一步而言,传统的运动图像处理器仅能对单个编码帧进行压缩而无法对多幅编码帧同时作压缩,并且在大量数据的读取与写入部分也无法节省运动预测的内存开销。
发明内容
本发明的示范实施例提供一种运动图像处理方法与运动图像处理器,运动图像处理器连接缓冲装置,运动图像处理器从缓冲装置读取多个欲编码帧与多个索引窗口,并于运动图像处理器中的处理装置针对多个宏块进行运动预测,其中多个欲编码帧中的多个宏块具有共同的索引窗口。
本发明的示范实施例提供一种运动图像处理器,运动图像处理器包括:处理装置与图像编码器,处理装置自多个欲编码帧中每个欲编码帧读取多个宏块,图像编码器用以接收多个宏块并进行运动图像编码处理,其中多个欲编码帧中的多个宏块具有共同的索引窗口。
本发明的示范实施例提供一种运动图像处理方法,包括以下的步骤:(a)自缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块;(b)自缓冲装置读取x个索引窗口,其中x为大于0的正整数;(c)在处理装置中,多个欲编码帧的第i个欲编码帧的第m个宏块在x个索引窗口进行运动预测;(d)在处理装置中,多个欲编码帧的第j个欲编码帧的第n个宏块在x个索引窗口进行运动预测;其中,i、j、m、n均为大于0的正整数。
在本发明的一个示范实施例中,上述的i不等于j。
在本发明的一个示范实施例中,上述第i个欲编码帧的第m个宏块与第j个欲编码帧的第n个宏块具有共同的x个索引窗口。
在本发明的一个示范实施例中,上述多个欲编码帧无数据相依性。
在本发明的一个示范实施例中,上述的运动预测用以获得多个宏块所对应的多个参考宏块与多个运动向量。
在本发明的一个示范实施例中,上述的步骤(c)包括以下步骤:(e)利用处理装置在x个索引窗口寻找至少一参考宏块,其中参考宏块与第m个宏块的差值最小;(f)计算至少一运动向量,其中运动向量为第m个宏块与参考宏块的位移值。
在本发明的一个示范实施例中,上述运动图像处理方法重复执行步骤(b)到步骤(d)。
在本发明的一个示范实施例中,上述多个欲编码帧为多个B帧、多个P帧、或其任意组合。
本发明的示范实施例提供一种运动图像处理器,连接到缓冲装置,运动图像处理器自缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块,运动图像处理器包括存储装置与处理装置。存储装置用以自缓冲装置存取x个索引窗口,其中x为大于0的正整数。处理装置针对多个欲编码帧的第i个欲编码帧的第m个宏块,在x个索引窗口进行运动预测,并针对多个欲编码帧的第j个欲编码帧的第n个宏块,在x个索引窗口进行运动预测;其中,i、j、m、n均为大于0的正整数。
本发明的示范实施例提供一种运动图像处理方法,包括以下步骤:(a)处理装置自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数;(b)将多个第i个宏块送至图像编码器。
在本发明一实施例中,上述p个欲编码帧的第i个宏块具有共同的x个索引窗口。
在本发明的一个示范实施例中,上述运动图像处理方法更包括以下步骤:(c)处理装置读取x个索引窗口,其中x为大于0的正整数;(d)在图像编码器中,将多个第i个宏块在x个索引窗口进行运动预测。
在本发明的一个示范实施例中,上述运动图像处理方法重复执行步骤(a)与步骤(b)。
本发明的示范实施例提供一种运动图像处理器,包括处理装置与图像编码器。处理装置用以自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数。图像编码器用以接收多个第i个宏块并进行图像编码处理。
本发明的示范实施例提供一种运动图像处理方法,适用于运动图像处理器中,其中运动图像处理器的处理装置包括第一宏块阶,第一宏块阶用以进行运动预测,运动图像处理方法包括:(a)自缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块;(b)自缓冲装置读取x个索引窗口,其中x为大于0的正整数;(c)在第一宏块阶中,对多个欲编码帧的第i个欲编码帧的第m个宏块在x个索引窗口进行运动预测,并输出进行运动预测后的第m个宏块;(d)在第m个宏块进行运动预测且被输出后,在第一宏块阶中,对多个欲编码帧的第j个欲编码帧的第n个宏块在x个索引窗口进行运动预测,并输出进行运动预测后的第n个宏块;其中i不等于j,第i个欲编码帧的第m个宏块与第j个欲编码帧的第n个宏块具有共同的x个索引窗口,且这些欲编码帧无数据相依性;其中,i、j、m、n均为大于0的正整数。
在本发明的一个示范实施例中,上述处理装置依序输出被处理装置所处理的第m个宏块与第n个宏块。上述处理装置更包括第二宏块阶与第三宏块阶,且运动图像处理方法更包括:(g)在第二宏块阶中,依序接收第一宏块阶所输出的进行运动预测后的第m个宏块与第n个宏块,并且依序地对进行运动预测后的第m个宏块与第n个宏块进行离散余弦转换;(h)在第三宏块阶中,依序接收第二宏块阶所输出的进行离散余弦转换后的第m个宏块与第n个宏块,并依序对进行离散余弦转换后的第m个宏块与第n个宏块进行可变长度编码。
本发明的示范实施例提供一种运动图像处理器,运动图像处理器耦接于缓冲装置,运动图像处理器自缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块。运动图像处理器包括存储装置与处理装置。存储装置用以自缓冲装置存取x个索引窗口,其中x为大于0的正整数。处理装置包括第一宏块阶,其中第一宏块阶针对多个欲编码帧的第i个欲编码帧的第m个宏块在x个索引窗口进行运动预测,并输出进行运动预测后之第m个宏块;且于第m个宏块进行运动预测且被输出后,第一宏块阶针对多个欲编码帧的第j个欲编码帧的第n个宏块在x个索引窗口进行运动预测,并输出进行运动预测后的第n个宏块。其中i不等于j,第i个欲编码帧的第m个宏块与第j个欲编码帧的第n个宏块具有共同的x个索引窗口,且多个欲编码帧无数据相依性;其中,i、j、m、n均为大于0的正整数。
在本发明的一个示范实施例中,上述处理装置依序输出被处理装置所处理的第m个宏块与第n个宏块。上述处理装置更包括第二宏块阶与第三宏块阶。第二宏块阶依序接收第一宏块阶所输出的进行运动预测后的第m个宏块与第n个宏块,并且依序地对进行运动预测后的第m个宏块与第n个宏块进行离散余弦转换。第三宏块阶中依序接收第二宏块阶所输出的进行离散余弦转换后的第m个宏块与第n个宏块,并依序对进行离散余弦转换后的第m个宏块与第n个宏块进行可变长度编码。
本发明的示范实施例提供一种运动图像处理方法,包括:(a)处理装置自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数,此p个欲编码帧的p个第i个宏块具有共同的x个索引窗口,且此p个编码帧彼此无数据相依性;(b)将多个第i个宏块送至图像编码器,其中图像编码器的处理装置包括用以进行运动预测的第一宏块阶;(c)处理装置读取x个索引窗口,其中x为大于0的正整数;以及(d)在第一宏块阶中,依序接收多个第i个宏块,依序对多个第i个宏块在x个索引窗口进行运动预测,并依序输出进行运动预测后的多个第i个宏块。
在本发明的一个示范实施例中,上述处理装置依序输出所处理的多个第i个宏块。上述处理装置更包括第二宏块阶与第三宏块阶,且运动图像处理方法更包括:(e)在第二宏块阶中,依序接收第一宏块阶所输出的进行运动预测后的多个第i个宏块,并且依序地对进行运动预测后的多个第i个宏块进行离散余弦转换;(f)在第三宏块阶中,依序接收第二宏块阶所输出的进行离散余弦转换后的多个第i个宏块,并依序对进行离散余弦转换后的多个第i个宏块进行可变长度编码。
本发明的示范实施例提供一种运动图像处理器,运动图像处理器包括处理装置与图像编码器。处理装置用以自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数,此p个欲编码帧的p个第i个宏块具有共同的x个索引窗口,且此p个编码帧彼此无数据相依性。图像编码器包括具有第一宏块阶的处理装置,其中处理装置读取x个索引窗口,第一宏块阶依序接收这些第i个宏块,依序对这些第i个宏块在x个索引窗口进行运动预测,并依序输出进行运动预测后的这些第i个宏块,其中x、i均为大于0的正整数。
在本发明的一示范实施例中,上述处理装置依序输出被处理装置所处理的这些第i个宏块。上述处理装置更包括第二宏块阶与第三宏块阶。第二宏块阶依序接收第一宏块阶所输出的进行运动预测后的这些第i个宏块,并且依序地对进行运动预测后的这些第i个宏块进行离散余弦转换。第三宏块阶中依序接收第二宏块阶所输出的进行离散余弦转换后的这些第i个宏块,并依序对进行离散余弦转换后的这些第i个宏块进行可变长度编码。
基于上述,本发明所设计的运动图像处理方法与运动图像处理器,根据多个宏块在多个欲编码帧具有相同的位置的特性,运动预测时,缓冲装置仅须一次读取多个索引窗口,便可以让多个宏块进行运动预测。除此之外,由于运动图像处理器采用具有流水线结构的多个处理装置,多个处理装置在单位时间内可以有效率地同时执行单个功能,除了节省运动预测的内存开销之外,还可以同时对多张画面同时处理。
为让本发明上述特征和优点能更明显易懂,下文特举示范实施例,并配合附图详细说明。
附图说明
图1是编码帧分解成宏块的示意图。
图2是运动图像处理主要程序分阶图。
图3是运动预测的示意图。
图4是本发明的一个示范实施例针对连续帧的运动图像处理方法的示意图。
图5是本发明的一个示范实施例运动图像处理器的方块图。
图6是本发明的一个示范实施例的运动图像处理器的流水线阶时序图。
图7是本发明的一个示范实施例针对交错帧在P帧的运动图像处理方法的示意图。
图8是本发明的一个示范实施例针对交错帧在B帧的运动图像处理方法的示意图。
图9是依照本发明的另一示范实施例的运动图像处理器的流水线阶时序图。
主要附图标记说明:
100:图像
b0-bN-1、bn、306、310、402、404、(f,n)、700、701、800-803:宏块
200:运动图像处理主要程序  202:运动预测
204:离散余弦转换          206:可变长度编码
DataIn:输入数据           DataOut:输出数据
302:欲编码帧              304:参考帧
308、w0、w3-w7:索引窗口   312:参考宏块
314:运动向量              502:运动图像处理器
504:缓冲装置              506:图像编码器
508:存储装置              mP0-mP2:处理装置
T:单位时间                f1-f11:编码帧
P帧:P0-P3           B帧:B0-B3
DMAIF:直接存储器存取控制接口
MBStage0-MBStage2:宏块阶
具体实施方式
在运动图像处理的过程中,运动图像中每一个图像首先将分解成为多个宏块,而分解的示意图如图1所示,其中图像100可分解成N个宏块b0、b1、......bN-1,而分解的顺序为扫瞄线顺序(raster order)。另一方面,整个运动图像处理的程序可拆解成多个阶,如图2所示的运动图像处理主要程序分阶图。运动图像处理主要程序200可分三个阶:运动预测202、离散余弦转换204与可变长度编码206。据此,输入数据DataIn可将宏块b0、b1、......bN-1依序输入这三个阶,并将运动图像处理的结果输出至输出数据DataOut。
在运动图像处理过程中,运动预测的功能为依据宏块在欲编码帧的位置,在参考帧中界定索引窗口的范围,并且在索引窗口中找寻一个参考宏块。参见图3,图3为运动预测的示意图。欲编码帧302中包括宏块306,参考帧304中包括了相对宏块310,其中相对宏块310在参考帧304的位置与宏块306在欲编码帧302的位置相同。参考帧304根据相对宏块310所在的位置,确定索引窗口308的范围。据此,运动预测的功能为在索引窗口308中找寻一个参考宏块312,其中参考宏块312与宏块306的差异最小,而宏块306与参考宏块312的位移值为运动向量314。
由于运动预测会针对内存作大量数据的读取与写入,为了减少内存开销的需求,因此在索引窗口的设计上采用重复利用的设计方式,进而减少内存开销的需求。本发明一示范实施例针对连续(progressive)帧的运动图像处理方法的示意图如图4所示。图4中多个帧是以连续的方式传输,其中欲编码帧f1与欲编码帧f2为B帧,并且欲编码帧f1与欲编码帧f2之间的关系并无数据相依性(data dependence),而参考帧f0与参考帧f3为P帧。欲编码帧之间的数据相依性为所属技术领域普通技术人员所熟知,在此不再赘述欲编码帧之间的数据相依性。欲编码帧f1包括宏块402,而宏块402进行运动预测时,会利用到参考帧f0中的索引窗口w0与参考帧f3中的索引窗口w3。另一方面,欲编码帧f1包括宏块402,且宏块402在欲编码帧f1的位置与宏块404在欲编码帧f2的位置相同,因此宏块404进行运动预测时所利用的多个索引窗口会与宏块402所利用的相同,也就是索引窗口w0与w3。
根据上述示范实施例的说明,多个欲编码帧中的个别宏块所占的位置若为相同的位置,且多个欲编码帧之间无数据相依性时,则多个宏块在进行运动预测时可以利用相同的多个索引窗口。换句话说,多个索引窗口从缓冲装置(图中未示)读取到存储装置(图中未示)时,这些多个索引窗口将可以对多个欲编码帧进行运动预测。更进一步而言,参照图2,由于运动图像处理主要程序可拆解成多个阶,因此在运动图像处理器的设计上可采用具有流水线的多个处理装置。根据上述,本发明的一个示范实施例运动图像处理器的方块图如图5所示。
参见图5,运动图像处理器502连接缓冲装置504,且运动图像处理器502包括存储装置508、直接记忆器存取控制接口(direct memory accessinterface)DMAIF与图像编码器506,其中运动图像处理器502经记忆器存取控制接口DMAIF对缓冲装置504做快速内存数据存取,并将读取的数据暂存于存储装置508,以利图像编码器506的处理。此外图像编码器506的处理结果亦可以经记忆器存取控制接口DMAIF输出至缓冲装置504。另一方面,由于运动图像处理主要程序可拆解成三个阶,因此在图像编码器506的设计上每一阶配置一个处理装置,也就是处理装置mP0-mP2,其中:处理装置mP0执行运动预测,处理装置mP1执行离散余弦转换,而处理装置mP2执行可变长度编码。
运动图像处理器502的设计上采用具有流水线的多个处理装置,并且依序接收与处理多个宏块,因此运动图像处理器502在执行运动图像处理的时序上可以用流水线阶来描述。参见图6,图6是本发明的一个示范实施例的运动图像处理器的流水线阶时序图。图6中每一个方块代表处理装置所要处理的宏块,而数字对(f,n)代表着欲编码帧f中的第n个宏块。举例而言,数字对(f2,1)代表欲编码帧f2中的第1个宏块,或可称为宏块(f2,1),余此类推。
参见图5与图6。图6中宏块阶MBStage0代表处理装置mP0执行其功能,宏块阶MBStage1代表处理装置mP1执行其功能,而宏块阶MBStage2代表处理装置mP2执行其功能。宏块阶MBStage0依时间顺序来看,处理装置mP0首先处理宏块(f1,0),接着处理宏块(f2,0),余此类推。更进一步而言,宏块(f1,0)在欲编码帧f1中的位置,与宏块(f2,0)在欲编码帧f2中的位置为相同的位置,因此这两个宏块在进行运动预测时所利用的多个索引窗口会相同。换句话说,当宏块(f1,0)所利用的多个索引窗口从缓冲装置504读取至存储装置508时,这些多个索引窗口将可以给宏块(f1,0)与宏块(f2,0)使用,亦即宏块(f2,0)进行运动预测时,无须再次读取多个索引窗口,节省了运动预测的内存开销。
另一方面,基于流水线的设计,当处理装置mP0处理宏块(f1,0)完毕之后,处理装置mP1将接续处理宏块(f1,0),待处理装置mP1完毕之后,处理装置mP2在接续处理宏块(f1,0)。据此,运动图像处理器502在执行运动图像处理时,处理装置mP1-mP2在单位时间T内可以有效率地同时执行单个功能,除了节省运动预测的内存开销之外,并且可以同时对多幅编码帧同时处理。
本发明所公开的运动图像处理方法除了可以处理连续帧,亦可处理交错式(interlaced)帧。参见图7,图7为依照本发明的另一示范实施例针对交错帧在P帧的运动图像处理方法的示意图。本示范实施例中,P帧P3中的编码帧f6与编码帧f7为欲编码帧,且多个欲编码帧之间无数据相依性。而P帧P2中编码帧f4与编码帧f5为参考帧。据此,编码帧f6的宏块700与编码帧f7的宏块701在进行运动预测时,皆会利用到编码帧f4与编码帧f5。更进一步而言,由于宏块700在编码帧f6的位置与宏块701在编码帧f7的位置皆为相同的位置,因此宏块700与宏块701在进行运动预测时所利用搜寻范围,皆为编码帧f4中的索引窗口w4与编码帧f5中的索引窗口w5。换句话说,索引窗口w4与索引窗口w5从缓冲装置504读取至存储装置508时,索引窗口w4与索引窗口w5可以给宏块700与宏块701使用,无须再次读取多个索引窗口,这样就节省了运动预测的内存开销。
参见图8,图8为本发明的一个示范实施例针对交错帧在B帧的运动图像处理方法的示意图。P帧P2包括编码帧f4与编码帧f5,P帧P 3包括编码帧f6与编码帧f7,B帧B2包括编码帧f8与编码帧f9,而B帧B3包括编码帧f10与编码帧f11。本示范实施例中,编码帧f8-f11为欲编码帧,且多个欲编码帧之间无数据相依性。而编码帧f4-f7为参帧。据此,在进行运动预测时,编码帧f8-f11中的宏块800803将会利用到编码帧f4-f7。更进一步而言,由于宏块800在画面f8的位置、宏块801在编码帧f9的位置、宏块802在编码帧f10的位置、宏块803在编码帧f11的位置皆为相同的位置,因此宏块800-803进行运动预测时所利用搜寻范围皆为编码帧f4f7中的索引窗口w4w7。换句话说,索引窗口w4-w7从缓冲装置504读取至存储装置508时,索引窗口w4-w7可以给宏块800-803使用,因此在本示范实施例中,当具有相同的位置的宏块越多时,进行运动预测节省的内存开销将更为可观。
参见图9,图9为本发明的一个示范实施例的运动图像处理器的流水线阶时序图。如同上述图6所述,图9每一个方块代表处理装置所要处理的宏块,而数字对(f,n)代表着编码帧f中的第n个宏块。举例而言,数字对(f9,1)代表编码帧f9中的第1个宏块,或可称为宏块(f9,1),余此类推。另一方面,宏块阶MBStage0-MBStage1所代表处理装置亦如同图6所述。更进一步而言,由于宏块(f8,0)在编码帧f8中的位置、宏块(f9,0)在编码帧f9中的位置、宏块(f10,0)在编码帧f10中的位置与宏块(f11,0)在编码帧f11中的位置为相同的位置,因此这四个宏块在进行运动预测时所利用的多个索引窗口会为相同。换句话说,当宏块(f8,0)所利用的多个索引窗口从缓冲装置504读取至存储装置508时,这些多个索引窗口将可以给宏块(f8,0)、宏块(f9,0)、宏块(f10,0)与宏块(f11,0)进行运动预测使用,亦即宏块(f9,0)、宏块(f10,0)与宏块(f11,0)进行运动预测时,无须再次读取多个索引窗口,因此本示范实施例所设计的运动图像处理方法与运动图像处理器,除了可以节省运动预测的内存开销之外,并且可以同时对多幅编码帧同时处理。
综上所述,本发明所设计的运动图像处理方法与运动图像处理器,根据多个宏块在多个欲编码帧具有相同的位置的特性,因此在设计运动预测时,缓冲装置仅须一次读取多个索引窗口,便可以让多个宏块进行运动预测使用。更进一步而言,当具有相同的位置的宏块越多时,进行运动预测节省的内存开销将更为可观。除此之外,由于运动图像处理器的设计上采用具有流水线的多个处理装置,因此多个处理装置在单位时间内可以有效率地同时执行单个功能,除了节省运动预测的内存开销之外,并且可以同时对多幅编码帧同时处理。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案而非限制。尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者替换不脱离本发明技术方案的精神和范围。

Claims (29)

1.一种运动图像处理方法,包括:
(a)自一缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块;
(b)自该缓冲装置读取x个索引窗口,其中x为大于0的正整数;
(c)在一处理装置中,所述多个欲编码帧的第i个欲编码帧的第m个宏块在该x个索引窗口进行运动预测;以及
(d)在该处理装置中,所述多个欲编码帧的第j个欲编码帧的第n个宏块在该x个索引窗口进行运动预测;
其中,i、j、m、n均为大于0的正整数,i不等于j,该第i个欲编码帧的该第m个宏块与该第j个欲编码帧的该第n个宏块具有共同的该x个索引窗口,以及所述多个欲编码帧无数据相依性,第m个宏块在第i个欲编码帧的位置与第n个宏块在第j个欲编码帧的位置相同。
2.如权利要求1所述的运动图像处理方法,其中该运动预测用以获得所述多个宏块所对应的多个参考宏块与多个运动向量。
3.如权利要求1所述的运动图像处理方法,其中该步骤(c)包括:
(e)利用该处理装置在该x个索引窗口寻找至少一参考宏块,其中该参考宏块与第m个宏块的差值最小;以及
(f)计算至少一运动向量,其中该运动向量为第m个宏块与该参考宏块的一位移值。
4.如权利要求1所述的运动图像处理方法,其中该运动图像处理方法重复执行步骤(b)至步骤(d)。
5.如权利要求1所述的运动图像处理方法,其中,所述多个欲编码帧为多个B帧、多个P帧。
6.一种运动图像处理器,连接一缓冲装置,该运动图像处理器自该缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块,该运动图像处理器包括:
一存储装置,用以自该缓冲装置存取x个索引窗口,其中x为大于0的正整数;以及
一处理装置,针对所述多个欲编码帧的第i个欲编码帧的第m个宏块在该x个索引窗口进行运动预测,并针对所述多个欲编码帧的第j个欲编码帧的第n个宏块在该x个索引窗口进行运动预测;
其中,i、j、m、n均为大于0的正整数,i不等于j,该第i个欲编码帧的该第m个宏块与该第j个欲编码帧的该第n个宏块具有共同的该x个索引窗口,以及所述多个欲编码帧无数据相依性,第m个宏块在第i个欲编码帧的位置与第n个宏块在第j个欲编码帧的位置相同。
7.如权利要求6所述的运动图像处理器,其中该运动预测用以获得所述多个宏块所对应的多个参考宏块与多个运动向量。
8.如权利要求6所述的运动图像处理器,其中,所述多个欲编码帧为多个B帧、多个P帧、或及其组合。
9.一种运动图像处理方法,包括:
(a)一处理装置自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数;以及
(b)将所述多个第i个宏块送至一图像编码器,其中该p个欲编码帧的所述多个第i个宏块具有共同的x个索引窗口;
(c)该处理装置读取该x个索引窗口,其中x为大于0的正整数;以及
(d)在该图像编码器中,将所述多个第i个宏块在该x个索引窗口进行运动预测,
其中,i为大于0的正整数,以及该p个编码帧彼此无数据相依性。
10.如权利要求9所述的运动图像处理方法,其中,该运动图像处理方法重复执行步骤(a)与步骤(b)。
11.一种运动图像处理器,包括:
一处理装置,用以自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p、i为大于1的正整数;以及
一图像编码器,用以接收所述多个第i个宏块并进行图像编码处理,其中该p个欲编码帧的所述多个第i个宏块具有共同的x个索引窗口,该p个编码帧彼此无数据相依性,
其中该处理装置用以读取该x个索引窗口,其中x为大于0的正整数,而图像编码器针对所述多个第i个宏块在该x个索引窗口进行运动预测。
12.一种运动图像处理方法,适用于一运动图像处理器中,其中该运动图像处理器的一处理装置包括一第一宏块阶,该第一宏块阶用以进行一运动预测,该运动图像处理方法包括:
(a)自一缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块;
(b)自该缓冲装置读取x个索引窗口,其中x为大于0的正整数;
(c)在该第一宏块阶中,对所述多个欲编码帧的第i个欲编码帧的第m个宏块在该x个索引窗口进行该运动预测,并输出进行该运动预测后的该第m个宏块;以及
(d)在该第m个宏块进行该运动预测且被输出后,在该第一宏块阶中,对所述多个欲编码帧的第j个欲编码帧的第n个宏块在该x个索引窗口进行该运动预测,并输出进行该运动预测后的该第n个宏块;
其中i不等于j,该第i个欲编码帧的该第m个宏块与该第j个欲编码帧的该第n个宏块具有共同的该x个索引窗口,且所述多个欲编码帧无数据相依性,第m个宏块在第i个欲编码帧的位置与第n个宏块在第j个欲编码帧的位置相同;
其中,i、j、m、n均为大于0的正整数。
13.如权利要求12所述的运动图像处理方法,该运动预测用以获得所述多个宏块所对应的多个参考宏块与多个运动向量。
14.如权利要求12所述的运动图像处理方法,该步骤(c)包括:
(e)利用该第一宏块阶在该x个索引窗口寻找至少一参考宏块,其中该参考宏块与第m个宏块的差值最小;以及
(f)计算至少一运动向量,其中该运动向量为第m个宏块与该参考宏块的至少一位移值。
15.如权利要求12所述的运动图像处理方法,其中该处理装置依序输出被处理装置所处理的第m个宏块与第n个宏块。
16.如权利要求12所述的运动图像处理方法,其中该运动图像处理方法重复执行步骤(b)至步骤(d)。
17.如权利要求12所述的运动图像处理方法,其中所述多个欲编码帧为多个B帧、多个P帧。
18.如权利要求15所述的运动图像处理方法,其中该处理装置更包括一第二宏块阶与一第三宏块阶,该运动图像处理方法更包括:
(g)在该第二宏块阶中,依序接收该第一宏块阶所输出的进行该运动预测后的该第m个宏块与该第n个宏块,并且依序地对进行该运动预测后的该第m个宏块与该第n个宏块进行一离散余弦转换;
(h)在该第三宏块阶中,依序接收该第二宏块阶所输出的进行该离散余弦转换后的该第m个宏块与该第n个宏块,并依序对进行该离散余弦转换后的该第m个宏块与该第n个宏块进行一可变长度编码。
19.一种运动图像处理器,耦接于一缓冲装置,该运动图像处理器自该缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块,该运动图像处理器包括:
一存储装置,用以自该缓冲装置存取x个索引窗口,其中x为大于0的正整数;以及
一处理装置,包括一第一宏块阶,其中该第一宏块阶针对所述多个欲编码帧的第i个欲编码帧的第m个宏块在该x个索引窗口进行一运动预测,并输出进行该运动预测后的该第m个宏块,在该第m个宏块进行该运动预测且被输出后,该第一宏块阶针对所述多个欲编码帧的第j个欲编码帧的第n个宏块在该x个索引窗口进行该运动预测,并输出进行该运动预测后的该第n个宏块;
其中i不等于j,该第i个欲编码帧的该第m个宏块与该第j个欲编码帧的该第n个宏块具有共同的该x个索引窗口,且所述多个欲编码帧无数据相依性,第m个宏块在第i个欲编码帧的位置与第n个宏块在第j个欲编码帧的位置相同;
其中,i、j、m、n均为大于0的正整数。
20.如权利要求19所述的运动图像处理器,其中该处理装置依序输出被处理装置所处理的第m个宏块与第n个宏块。
21.如权利要求19所述的运动图像处理器,其中该运动预测用以获得所述多个宏块所对应的多个参考宏块与多个运动向量。
22.如权利要求19所述的运动图像处理器,其中所述多个欲编码帧为多个B帧、多个P帧、或及其组合。
23.如权利要求20所述的运动图像处理器,其中该处理装置更包括:
一第二宏块阶,依序接收该第一宏块阶所输出的进行该运动预测后的该第m个宏块与该第n个宏块,并且依序地对进行该运动预测后的该第m个宏块与该第n个宏块进行一离散余弦转换;以及
一第三宏块阶,依序接收该第二宏块阶所输出的进行该离散余弦转换后的该第m个宏块与该第n个宏块,并依序对进行该离散余弦转换后的该第m个宏块与该第n个宏块进行一可变长度编码。
24.一种运动图像处理方法,包括:
(a)一处理装置自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数,该p个欲编码帧之该p个第i个宏块具有共同的x个索引窗口,且该p个编码帧彼此无数据相依性;
(b)将所述多个第i个宏块送至一图像编码器,其中该图像编码器的一处理装置包括用以进行一运动预测的一第一宏块阶;
(c)该处理装置读取该x个索引窗口,其中x为大于0的正整数;以及
(d)在该第一宏块阶中,依序接收所述多个第i个宏块,依序对所述多个第i个宏块在该x个索引窗口进行该运动预测,并依序输出进行该运动预测后的所述多个第i个宏块;
其中,i为大于0的正整数。
25.如权利要求24所述的运动图像处理方法,其中该处理装置依序输出所处理的所述多个第i个宏块。
26.如权利要求25所述的运动图像处理方法,其中该处理装置更包括一第二宏块阶与一第三宏块阶,该运动图像处理方法更包括:
(e)在该第二宏块阶中,依序接收该第一宏块阶所输出的进行该运动预测后的所述多个第i个宏块,并且依序地对进行该运动预测后的所述多个第i个宏块进行一离散余弦转换;
(f)在该第三宏块阶中,依序接收该第二宏块阶所输出的进行该离散余弦转换后的所述多个第i个宏块,并依序对进行该离散余弦转换后的所述多个第i个宏块进行一可变长度编码。
27.一种运动图像处理器,包括:
一处理装置,用以自p个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,p为大于1的正整数,该p个欲编码帧的该p个第i个宏块具有共同的x个索引窗口,且该p个编码帧彼此无数据相依性;以及
一图像编码器包括具有一第一宏块阶的一处理装置,其中该处理装置读取该x个索引窗口,该第一宏块阶依序接收所述多个第i个宏块,依序对所述多个第i个宏块在该x个索引窗口进行该运动预测,并依序输出进行该运动预测后的所述多个第i个宏块,其中x、i均为大于0的正整数。
28.如权利要求27所述的运动图像处理器,其中该处理装置依序输出所处理的所述多个第i个宏块。
29.如权利要求28所述的运动图像处理器,其中该处理装置更包括:
一第二宏块阶,依序接收该第一宏块阶所输出的进行该运动预测后的所述多个第i个宏块,并且依序地对进行该运动预测后的所述多个第i个宏块进行一离散余弦转换;以及
一第三宏块阶,依序接收该第二宏块阶所输出的进行该离散余弦转换后的所述多个第i个宏块,并依序对进行该离散余弦转换后的所述多个第i个宏块进行一可变长度编码。
CN 200910129266 2009-04-03 2009-04-03 运动图像处理方法及运动图像处理器 Expired - Fee Related CN101854538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910129266 CN101854538B (zh) 2009-04-03 2009-04-03 运动图像处理方法及运动图像处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910129266 CN101854538B (zh) 2009-04-03 2009-04-03 运动图像处理方法及运动图像处理器

Publications (2)

Publication Number Publication Date
CN101854538A CN101854538A (zh) 2010-10-06
CN101854538B true CN101854538B (zh) 2012-06-27

Family

ID=42805765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910129266 Expired - Fee Related CN101854538B (zh) 2009-04-03 2009-04-03 运动图像处理方法及运动图像处理器

Country Status (1)

Country Link
CN (1) CN101854538B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277913B2 (en) * 2014-10-22 2019-04-30 Samsung Electronics Co., Ltd. Application processor for performing real time in-loop filtering, method thereof and system including the same
CN114071145A (zh) * 2020-08-03 2022-02-18 阿里巴巴集团控股有限公司 图像帧编码方法、对象搜索方法、计算机设备、存储介质
CN113807475A (zh) * 2021-08-11 2021-12-17 杭州博联智能科技股份有限公司 一种基于二维码共享大量设备的方法、***、装置和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1610563A2 (en) * 2004-06-27 2005-12-28 Apple Computer, Inc. Selecting encoding types and predictive modes for encoding video data
CN1946178A (zh) * 2006-10-20 2007-04-11 西安交通大学 一种用于运动估计的vlsi装置及运动估计的方法
CN101026761A (zh) * 2006-02-17 2007-08-29 中国科学院自动化研究所 一种具有最小误差的快速变尺寸块匹配的运动估计方法
CN101090502A (zh) * 2006-06-13 2007-12-19 中兴通讯股份有限公司 预测质量可控的快速运动估值方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1610563A2 (en) * 2004-06-27 2005-12-28 Apple Computer, Inc. Selecting encoding types and predictive modes for encoding video data
CN101026761A (zh) * 2006-02-17 2007-08-29 中国科学院自动化研究所 一种具有最小误差的快速变尺寸块匹配的运动估计方法
CN101090502A (zh) * 2006-06-13 2007-12-19 中兴通讯股份有限公司 预测质量可控的快速运动估值方法
CN1946178A (zh) * 2006-10-20 2007-04-11 西安交通大学 一种用于运动估计的vlsi装置及运动估计的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵永利,等.基于块特性与自适应搜索窗口的运动估计算法.《数据采集与处理》.2008,第23卷(第3期), *

Also Published As

Publication number Publication date
CN101854538A (zh) 2010-10-06

Similar Documents

Publication Publication Date Title
JP6841807B2 (ja) マルチコンポーネント画像またはビデオ符号化のコンセプト
CN101562749B (zh) 具有集成的有损压缩和无损压缩的视频数据压缩方法和装置
JP4700491B2 (ja) 適応係数スキャン順序付け
CN1137584C (zh) 利用再压缩技术的用于存储器管理***的图象元素处理器
JP3764457B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
US20130016789A1 (en) Context modeling techniques for transform coefficient level coding
CN101779463B (zh) 用于处理图像的方法以及相应的电子设备
KR20160086986A (ko) 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
US20140010278A1 (en) Method and apparatus for coding adaptive-loop filter coefficients
US20140043347A1 (en) Methods for jpeg2000 encoding and decoding based on gpu
CN105474642A (zh) 使用频域差对图像集合进行重新编码
JP4831547B2 (ja) 画像圧縮および伸張加速化のための方法
JP2020205609A (ja) 画像の符号化及び復号方法、画像の符号化及び復号デバイス、及びこれに対応するコンピュータプログラム
CN104937934A (zh) 图像边界邻域中的自回归像素预测
CN101854538B (zh) 运动图像处理方法及运动图像处理器
US20160309190A1 (en) Method and apparatus to perform correlation-based entropy removal from quantized still images or quantized time-varying video sequences in transform
US20040223550A1 (en) Decoding apparatus, decoding method, lookup table, and decoding program
CN1848960A (zh) 使用非标准化矢量量化编码器的符合视频标准的残差编码
JP2017028372A (ja) 符号化方式変換装置、方法及びプログラム
US8467619B2 (en) Image compressing apparatus, image compressing method, image decompressing apparatus, and storage medium
CN101742054B (zh) 编码方法及装置、解码方法及装置
US8532413B2 (en) Entropy encoding/decoding method and apparatus for hierarchical image processing and symbol encoding/decoding apparatus for the same
CN101242529A (zh) 数据压缩装置及方法
KR20120038355A (ko) 계층 구조의 영상 처리를 위한 엔트로피 인코딩/디코딩 방법 및 장치와 이를 위한 심볼 인코딩/디코딩 방법 및 장치
JPH10116267A (ja) 演算装置及び情報処理装置

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: 20120627

Termination date: 20160403

CF01 Termination of patent right due to non-payment of annual fee