视频编解码器及运动估计方法

文档序号:7602574阅读:247来源:国知局
专利名称:视频编解码器及运动估计方法
技术领域
本发明涉及视频编解码器(video codec),特别是涉及视频编解码器的运动估计 (motion estimation)0
背景技术
视频编解码器(video codec)用来对视频信号进行编码及解码。无论是视频编码 过程或视频解码过程,都必须对视频信号进行运动估计(motion estimation)。运动估计在 视频编解码过程中占有相当大的计算量。一般来说,运动估计过程所需的计算量约占视频 编解码过程的总体计算量的40% 70 %,因此若能提升运动估计过程的速度,则可大大地 提升视频编解码器的整体效能。视频信号是由多个帧(frame)所组成,而每一帧又由多个宏块(macro block)所 组成。一个宏块包含了 16X16个像素(pixel)。当视频编解码器进行运动估计时,一般是 以一个宏块为单位以进行估计。图IA为视频编解码器对一个当前帧进行运动估计的示意 图。当前帧150包含多个行160 190,每一行包括多个宏块,每一宏块包括16 X 16个像 素。举例来说,当前帧150的行160包括宏块161 16N,而当前帧150的行170包括宏块 171 17N。当视频编解码器对当前帧150进行运动估计时,首先将行160的第一个宏块 161设为当前宏块,并对当前宏块161进行运动估计。当产生当前宏块161的运动估计数据后,视频编解码器接着对将行160的第二个 宏块162设为当前宏块,并对当前宏块162进行运动估计。接着,视频编解码器依序分别将
行160的第三个宏块163、第四个宏块164、第五个宏块165.....第N个宏块16N设为当前
宏块,并对当前宏块163、164、165.....16N进行运动估计。当视频编解码器对当前帧150
的行160进行运动估计完毕后,视频编解码器继续对当前帧150的第二行170的宏块171 17N进行运动估计。如此反复上述步骤,直到当前帧150的最后一行190的宏块191 19N 进行运动估计完毕为止。图IB为视频编解码器对一当前宏块进行运动估计的示意图。假设当前宏块位于 当前帧,而视频编解码器以一参考帧的数据为依据对当前帧进行运动估计,且参考帧包括 一同位宏块(collocated macroblock) 105具有与当前宏块于当前帧中相同的位置。当视 频编解码器对当前宏块进行运动估计时,需要参考帧中以同位宏块105为中心的多个宏块 的数据作为依据。于一实施例中,对当前宏块进行运动估计所需要的数据包括参考帧中的 同位宏块105、位于该同位宏块上方的一上方宏块102、位于该同位宏块下方的一下方宏块 108、位于该同位宏块左方的一左方宏块104、位于该同位宏块右方的一右方宏块106、位于 该同位宏块左上方的一左上方宏块101、位于该同位宏块右上方的一右上方宏块103、位于 该同位宏块左下方的一左下方宏块107、以及位于该同位宏块右下方的一右下方宏块109。由于视频编解码器需要参考帧中的多个宏块的数据以对当前宏块进行运动估计, 因此视频编解码器会以一搜索窗100自参考帧撷取所需的宏块的数据。一般而言,参考帧 数据具有较高的数据量,因此皆储存于视频编解码器以外的存储器中。每当视频编解码器对一当前区块进行运动估计时,视频编解码器便由存储器中取得当前宏块所对应的搜索窗 100内的宏块数据,并将该搜索窗数据储存入一片内存储器,以供进行当前区块的运动估 计。然而,上述运动估计过程存在许多缺点。首先,每次视频编解码器更换当前宏块, 搜索窗数据必须进行对应的更换,而视频编解码器便需要重新存取一次存储器中的参考帧 数据以取得搜索窗数据。由于存取外部存储器中的参考帧数据会导致运动估计过程的延 迟,因此以高频率存取存储器中的参考帧数据会使系统的效能降低。然而,相邻的区块对应的搜索窗数据彼此间有大部分的宏块为重迭的。图2A为水 平相邻的两搜索窗210及220的示意图。搜索窗210包含以同位宏块201为中心的9个宏 块,而搜索窗220包含以同位宏块202为中心的9个宏块。由图2A中可见,搜索窗210与 220有六个宏块相重迭,如阴影区域所示。图2B为垂直相邻的两搜索窗260及270的示意 图。搜索窗260包含以同位宏块206为中心的9个宏块,而搜索窗270包含以同位宏块207 为中心的9个宏块。由图2B中可见,搜索窗沈0与270亦有六个宏块相重迭,如着色区域 所示。由于邻近的搜索窗的大部份宏块为重迭,对于传统的视频编解码器更换当前进行区 块时,需要更换搜索窗内的所有巨集块的数据,即一次读取图IA中的三行数据,或者当每 次读取一行时分为三次读取,而造成读取数据的重迭和冗余。若能妥善的利用搜索窗的重 迭性质以安排搜索窗数据的读取,便可减少运动估计过程之中对外部次存储器的存取频率 并节省读取数据所使用的带宽,从而减少运动估计过程的延迟,而提高系统效能。

发明内容
有鉴于此,本发明的目的在于提供一种视频编解码器(video codec),以解决现有 技术存在的问题。于一实施例中,该视频编解码器耦接至储存一参考帧数据的一外部存储 器,包括一接口电路、一片内存储器、一运动估计电路、以及一控制器。该接口电路自该外部 存储器的该参考帧数据取得一片内存储数据。该片内存储器储存该片内存储数据,其中该 片内存储数据包含该参考帧数据的三行宏块。该运动估计电路以一搜索窗自该片内存储数 据撷取一搜索窗数据,并依据该搜索窗数据进行一当前宏块的运动估计。当该当前宏块变 动时,该控制器对应地移动该搜索窗于该片内存储数据中的位置,将该片内存储数据中自 该搜索窗移出的一宏块标记为一空宏块,并控制该接口电路自该外部存储器的该参考帧数 据取得一更新宏块以替换该片内存储器中的该空宏块。本发明提供一种运动估计方法。于一实施例中,一视频编解码器(Video codec) 耦接至储存一参考帧数据的一外部存储器,包括一接口电路、一片内存储器、一运动估计电 路、以及一控制器。首先,以该接口电路自该外部存储器的该参考帧数据取得一片内存储数 据。接着,以该片内存储器储存该片内存储数据,其中该片内存储数据包含该参考帧数据的 三行宏块。接着,以一搜索窗自该片内存储数据撷取一搜索窗数据。接着,以该运动估计电 路依据该搜索窗数据进行一当前宏块的运动估计。当该当前宏块变动时,以该控制器对应 地移动该搜索窗于该片内存储数据中的位置,并将该片内存储数据中自该搜索窗移出的一 宏块标记为一空宏块。接着,以该接口电路自该外部存储器的该参考帧数据取得一更新宏 块以替换该片内存储器中的该空宏块。为了使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举数个较佳实施例,并结合附图详细说明如下。


图IA为视频编解码器对一个当前帧进行运动估计的示意图;图IB为视频编解码器对一当前宏块进行运动估计的示意图;图2A为水平相邻的两搜索窗的示意图;图2B为垂直相邻的两搜索窗的示意图;图3为依据本发明的视频编解码器的区块图;图4A为依据本发明的片内存储器所储存的片内存储数据的示意图;图4B 图4H为依据本发明的控制器依据运动估计过程更新片内存储器所储存的 片内存储数据的示意图;图5为依据本发明自外部存储器下载数据至片内存储器的方法的流程图;以及图6为依据本发明的使用片内存储器中储存的数据的方法的流程图。
具体实施例方式图3为依据本发明的视频编解码器302的区块图。视频编解码器302可对视频 数据进行编码及解码。该视频数据可为MPEG4视频数据或H. 263视频数据。该视频数据 包括多个帧(frame),每一帧包括多个宏块(macro block)。当视频编解码器302对视频 数据进行编码及解码时,视频编解码器302会依序对该视频数据的多个帧的各宏块进行 运动估计(motion prediction)。其中视频编解码器302正进行运动估计的帧称为当前 帧(current frame),而视频编解码器302正进行运动估计的宏块称为当前宏块(current macro block)。于一实施例中,视频编解码器302耦接至一外部存储器304,其中该外部存储器 304包括一参考帧数据310。该参考帧数据310供视频编解码器302对当前帧进行运动估 计的参考用,因此视频编解码器302在对当前帧进行运动估计前必须先自外部存储器304 下载部份参考帧数据310。于一实施例中,视频编解码器302包括一控制器312、一接口电 路314、一片内存储器316、以及一运动估计电路318。控制器312为视频编解码器302的 核心,控制接口电路314、片内存储器316、以及运动估计电路318的运作。接口电路314可 依据控制器312的指示自外部存储器304读取部份参考帧数据310以得到一片内存储数据 320,并将片内存储数据320储存于片内存储器316。于一实施例中,片内存储器316中储 存的片内存储数据320包含参考帧数据310的三行宏块。片内存储器316可由片内存储器 316读取片内存储数据320,根据一搜索窗得到一搜索窗数据,其中搜索窗为在存储器316 中选取一定的连续数据例如窗形区域内的数据,并且这些连续的数据可以按照数据的排列 方式例如数据阵列方向进行移动。最后,运动估计电路318依据搜索窗数据针对当前宏块 进行运动估计,以得到当前宏块的运动估计数据。图4A为依据本发明的片内存储器316所储存的片内存储数据的示意图。于一实施 例中,当运动估计电路318欲开始进行当前帧的运动估计时,控制器312控制接口电路314 自外部存储器304读取参考帧数据310的完整前三行数据。参考帧310的前三行数据在片 内存储器316中储存的范围包括宏块412 41 (N-I)、422 42 (N-I)、432 43 (N-I)。其中,参考帧310的第一行数据包括宏块412 41 (N-I),参考帧310的第二行数据包括宏块 422 42 (N-I),而参考帧310的第三行数据包括宏块432 43 (N-I)。除了参考帧数据310 的完整前三行数据外,图4A左侧的宏块411、421、431为参考帧往左侧扩展的一列数据,而 图4A右侧的宏块41N、42N、43N为参考帧往右侧扩展的一列数据。因此,片内存储器316中 储存的片内存储数据400的行数目为三行,列数目为参考帧310的列数目加二列。在一个 实施例中,可以进行列扩展,即向左侧扩展和右侧扩展,例如将参考帧每行的第一个巨集块 和最后一个巨集块分别复制到图4A左侧的宏块411、421、431和图4A右侧的宏块41N、42N、 43N,在其他实施例中也可以采用预设的数值补充到上述宏块中。图4A中的片内存储数据下载至片内存储器316中储存的过程如下。首先,控制器 312控制接口电路314自外部存储器304读取参考帧往左侧扩展的三个宏块411、421、431, 然后将宏块411、421、431储存至片内存储器316。接着,控制器312控制接口电路314自外 部存储器304读取参考帧数据310的前三行的第一列宏块412、422、432,然后将宏块412、 422、432储存至片内存储器316。接着,控制器312控制接口电路314自外部存储器304读 取参考帧数据310的前三行的第二列宏块413、423、433,然后将宏块413、423、433储存至片 内存储器316。同样的,控制器312控制接口电路314依次读取参考帧数据310的各行宏块 并储存至片内存储器316,直到参考帧数据310的最后一行宏块41 (N-I)、42 (N-I)、43 (N-I) 储存至片内存储器316为止。最后,控制器312控制接口电路314自外部存储器304读取 参考帧往右侧扩展的三个宏块41N、42N、43N,然后将宏块41N、42N、43N储存至片内存储器 316。图4B 图4H为依据本发明的控制器312依据运动估计过程更新片内存储器316 所储存的片内存储数据的示意图。于图4B中,假设进行运动估计的当前宏块于当帧前中位 于同位宏块422的相同位置。首先,控制器312将搜索窗移至位置410以由片内存储器316 读取宏块411 413、421 423、431 433的数据作为搜索窗数据,并将搜索窗数据传送 至运动估计电路318进行当前宏块的运动估计。搜索窗410包含以同位宏块422为中心位 置的九个宏块。当当前宏块的运动估计执行完毕,运动估计电路318将当前宏块右移一个 宏块,而控制器312亦将搜索窗右移一个宏块宽度至位置420,以由片内存储器316读取宏 块412 414、422 似4、432 434的数据作为供当前宏块的运动估计的搜索窗数据,如 图4C所示。此时,图4B中的宏块411、421、431已由图4C的搜索窗420中移除。其中,宏块 421,431的数据仍旧会在后续移动估计过程中运用,但宏块411的数据已不再被运用。因 此,控制器312将宏块411标示为一空宏块,接着控制接口电路314自外部存储器304读取 参考帧第4行往左侧扩展的一个宏块441的数据,并将宏块441的数据储存在片内存储器 316中原本存放宏块411的空间,如图4C所示。同样的,于图4D中,当当前宏块的运动估计执行完毕,运动估计电路318将当前宏 块再右移一个宏块,而控制器312亦将搜索窗对应地右移至位置430,以由片内存储器316 读取宏块413 415、423 425、433 435的数据作为供当前宏块的运动估计的搜索窗数 据。此时,图4C中的宏块412、422、432已由图4D的搜索窗430中移除。其中,宏块422、 432的数据仍旧会在后续移动估计过程中运用,但宏块412的数据已不再被运用。因此,控 制器312将宏块412标示为一空宏块,接着控制接口电路314自外部存储器304读取参考帧数据的第4行的第一个宏块442的数据,并将宏块442的数据储存在片内存储器316中 原本存放宏块412的空间,如图4D所示。同样的,控制器312将依据前述的过程随着搜索窗的移动反复自外部存储器304 读取参考帧数据,以更新片内存储器316中储存的片内存储数据320。于图4E中,搜索窗已 移动至440的位置,而片内存储器316中原本存放第一行的宏块411 41 (N-4)的空间已更 新为参考帧数据的第4行的宏块441 44(N-4)。于图4F中,进行运动估计的当前宏块再 度右移一个宏块,而搜索窗对应地移动至450的位置。控制器312控制接口电路314将宏 块41 (N-3)标示为空宏块,接着自外部存储器304读取参考帧数据的第4行的宏块44 (N-3) 的数据,并将宏块44 (N-3)的数据储存在片内存储器316中原本存放宏块41 (N-3)的空间。由于图4F中进行运动估计的当前宏块是位于当前帧中该行的最后一个宏块,因 此当运动估计电路318对当前宏块进行运动估计完毕后,会将当前宏块移至当前帧中的下 一行开头。于图4G中,控制器312将搜索窗对应地移动至460的位置。此时片内存储器 316中原本存放第1行宏块的空间已完全被替换为参考帧第4行的数据,因此运动估计电路 318可直接依据搜索窗460包含的宏块数据对当前宏块进行运动估计。同样的,由于之前自 图4F的搜索窗450移出的共有9个宏块41 (N-2) 41N、42 (N-2) 42N、43 (N-2) 43N, 其中三个宏块41 (N-2)、41 (N-I)、41N已不再为后续运动估计过程所运用,因此控制器312 将宏块41 (N-2)、41 (N-I)、41N标示为空宏块,接着控制接口电路314自外部存储器304读 取参考帧数据的第4行的宏块44(N-2) ,44 (N-I)、44N的数据,并将宏块44(N_2) ,44 (N-I)、 44N的数据储存在片内存储器316中原本存放宏块41 (N-2)、41 (N-I)、41N的空间。于图4H中,进行运动估计的当前宏块再度右移一个宏块,而搜索窗对应地移动至 470的位置。此时,图4G中的宏块441、421、431已由图4H的搜索窗470中移除,其中,宏 块421的数据已不再被后续移动估计过程中运用。因此,控制器312将宏块421标示为空 宏块,接着控制接口电路314自外部存储器304读取参考帧第5行往左侧扩展的一个宏块 451的数据,并将宏块451的数据储存在片内存储器316中原本存放宏块421的空间。控 制器312将随着进行运动估计的当前宏块的移动,继续进行搜索窗的对应移动及片内存储 器316中片内存储数据320的更新,直到运动估计电路318将当前帧中所有宏块的运动估 计皆已执行完毕为止。图5为依据本发明自外部存储器304下载数据至片内存储器316的方法500的流 程图。首先,控制器312检查是否参考帧数据310的前三行宏块已加载至片内存储器316 完毕(步骤50幻。若参考帧数据310的前三行宏块尚未完全加载至片内存储器316,则控 制器312控制接口电路314自外部存储器304加载一个48X 16大小的数据至片内存储器 316,其中该48X16大小的数据包含位于同一列的三个宏块(步骤504)。亦即,控制器312 控制接口电路314持续自外部存储器304下载数据(步骤504),直到参考帧数据310的前 三行宏块已完全加载至片内存储器316为止(步骤50幻。接着,控制器312检查是否片内 存储器316中有一个16X16的单一宏块的空位(步骤508)。若片内存储器316中有一个 空宏块,则控制器312控制接口电路314自外部存储器304读取参考帧数据310以加载一 个16 X 16的宏块的数据至片内存储器316中用以存放空宏块的空间(步骤510)。步骤508 及510将持续进行以更新片内存储器316中储存的片内存储数据320,直到参考帧数据310 的所有的宏块皆已加载完毕为止(步骤506)。在本实施例中一个宏块的大小为16X16个像素,本领域的技术人员可以理解宏块的大小亦可采用例如8X8等其他规格。图6为依据本发明的使用片内存储器316中储存的数据的方法600的流程图。首 先,控制器312检查是否片内存储器316已载入搜索窗中的数据(步骤60幻。若片内存储 器316已载入搜索窗中的数据,则运动估计电路318便可由片内存储器316读取搜索窗中 的数据,以供当前宏块的运动估计之用。接着,控制器312检查是否当前宏块的运动估计执 行完毕(步骤604)。若运动估计电路318已对当前宏块执行运动估计完毕,则控制器312 继续检查是否当前宏块为本行的最后一个宏块(步骤606)。若当前宏块不为本行的最后一 个宏块,则控制器312仅将片内存储数据320中的一个宏块标示为空宏块(步骤608),如 图4C、图4D、图4F、图4H所示。若当前宏块为本行的最后一个宏块(步骤606),则控制器 312 一次将片内存储数据320中的三个宏块标示为空宏块,如图4F与图4G所示。片内存储 器316中被标示为空宏块的空间将被控制器312用来储存接口电路314自参考帧数据310 读取的更新宏块数据。最后,控制器312检查是否当前宏块为本帧的最后一个宏块(步骤 612)。若当前宏块不为本帧的最后一个宏块,则上述步骤602 612重复执行。以上对本发明的介绍均基于搜索窗包含3X3,即9个巨集块,根据9个巨集块进 行中心巨集块的运动估计,本领域的普通技术人员可以理解,上述搜索窗的尺寸并不限于 3X3,亦可采用4X4,5X5,6X6,NXN等尺寸,而N取决于运动估计演算法的精度,在每次 计算下一个中心宏块的运动估计时,同样可以采用本发明中标志移出的巨集块为空,仅更 新移入的巨集块数据。而采用较大的搜索窗相比于传统技术减少的冗余越多,带来的效果 越好。当然,如果搜索窗的尺寸N为奇数时,可以确定中心宏块为1个,位置为搜索窗中第 (N+l)/2行,第(N+l)/2列,如果搜索窗的尺寸N为偶数时,中心宏块为4个,位置为N/2, N/2+1行和N/2,N/2+1列围成的4个宏块,这4个宏块运动估计结果可以共用同一位置搜索 窗计算所得的运动估计结果。同时在运动估计开始前,将片内数据向左右扩展(N-l)/2个 (N为奇数)或N/2-1个(N为偶数)。其中当N为奇数时,搜索窗数据包括参考帧数据中从当前宏块开始左右两边分别 第(N-l)/2列的宏块且上下两边分别第(N-l)/2行的宏块,以及上述宏块所包围的方形区 域内的宏块。当N为偶数时,搜索窗数据包括参考帧数据中从当前宏块开始左右两边分别 第N/2-1列的宏块且上下两边分别第N/2-1行的宏块,以及上述宏块所包围的方形区域内 的宏块,其中当N为偶数时,该当前宏块包括共享运动估计结果并形成2X2方形矩阵的4 个宏块。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域技术人 员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范 围是以本发明的权利要求为准。
权利要求
1.一种视频编解码器,耦接至储存一参考帧数据的一外部存储器,包括一接口电路,自该外部存储器的该参考帧数据取得一片内存储数据;一片内存储器,储存该片内存储数据,其中该片内存储数据包含该参考帧数据的N行 宏块,其中N为正整数,N行宏块的尺寸小于该片内存储器;一运动估计电路,以一搜索窗自该片内存储数据撷取一搜索窗数据,并依据该搜索窗 数据进行一当前宏块的运动估计;以及一控制器,当该当前宏块移动时,对应地移动该搜索窗于该片内存储数据中的位置,将 该片内存储数据中自该搜索窗移出的一宏块标记为一空宏块,并控制该接口电路自该外部 存储器的该参考帧数据取得一更新宏块以替换该片内存储器中的该空宏块。
2.如权利要求1所述的视频编解码器,其中该片内存储数据除了包含该参考帧数据的 N行宏块外,还包括该参考帧数据往左侧扩展一第一宏块宽度的位于同一列的N个宏块,以 及该参考帧数据往右侧扩展该第一宏块宽度的位于同一列的N个宏块,其中当N为奇数时, 该第一宏块宽度为(N-I)/2,当N为偶数时,该第一宏块宽度为N/2-1。
3.如权利要求1所述的视频编解码器,其中当该接口电路将该片内存储数据载入该片 内存储器时,该接口电路每次自该外部存储器读取于该参考帧数据中同一列的N个宏块以 载入该片内存储器,直到该参考帧数据的该N行宏块已完全载入至该片内存储器为止。
4.如权利要求1所述的视频编解码器,其中当N为奇数时,该搜索窗数据包括该参考 帧数据中从该当前宏块开始左右两边分别第(N-I)/2列的宏块且上下两边分别第(N-l)/2 行的宏块,以及上述宏块所包围的宏块;以及当N为偶数时,该搜索窗数据包括该参考帧数据中从该当前宏块开始左右两边分别第 N/2-1列的宏块且上下两边分别第N/2-1行的宏块,以及上述宏块所包围的宏块,其中当N 为偶数时,该当前宏块包括共享运动估计结果并形成一方形矩阵的4个宏块。
5.如权利要求1所述的视频编解码器,其中于该参考帧数据中多个同位宏块具有与该 当前宏块相同的位置和数目,该搜索窗数据包括以该多个同位宏块为中心位置的N2个宏 块,所述N2个宏块为N行N列宏块,且该搜索窗随着该当前宏块的变动每次右移或左移一 个宏块列,该视频编解码器更包括当该控制器往右移或左移该搜索窗时,位于该搜索窗数据中的一左方或右方宏块列被 自该搜索窗中移出,且该控制器将该左方宏块列或该右方宏块列所包含的位于一上方行的 一上方宏块设为该空宏块,其中该接口电路自该参考帧数据取得与该空宏块位于同一列且后N行的一宏块作为 该更新宏块,以替换该片内存储器中的该空宏块。
6.如权利要求5所述的视频编解码器,当该控制器往右或向左移动搜索窗时,若该当 前宏块为本行的最后一个宏块,该控制器将该行宏块均标记为该空宏块,其中当该控制器往右或左移动搜索窗时,若该当前宏块为本行的最后一个宏块,当N 为奇数时该接口电路自该参考帧数据取得与该当前宏块的最上方宏块以及该最上方宏块 左侧或右侧的(N-l)/2个宏块的位于同一列向下间隔N行的宏块作为更新宏块,并使用与 该最上方宏块向下间隔N行的宏块扩展该最上方宏块其右侧或左侧的(N-l)/2宏块,以替 换该片内存储器中的最上一行的N个空宏块;以及当N为偶数时,该接口电路自该参考帧数据取得与该当前宏块的最上方宏块以及该最上方宏块左侧或的N/2个宏块的位于同一列向下间隔N行的宏块作为更新宏块,并使用与 该最上方宏块向下间隔N行的宏块扩展该最上方宏块其右侧或左侧的N/2-1个宏块,以替 换该片内存储器中的N个空宏块。
7.—种运动估计方法,其中一视频编解码器耦接至储存一参考帧数据的一外部存储 器,包括一接口电路、一片内存储器、一运动估计电路、以及一控制器,该方法包括下列步 骤以该接口电路自该外部存储器的该参考帧数据取得一片内存储数据;以该片内存储器储存该片内存储数据,其中该片内存储数据包含该参考帧数据的N行 宏块,其中N为正整数,N行宏块的尺寸小于该片内存储器;以一搜索窗自该片内存储数据撷取一搜索窗数据;以该运动估计电路依据该搜索窗数据进行一当前宏块的运动估计;当该当前宏块移动时,以该控制器对应地移动该搜索窗于该片内存储数据中的位置, 并将该片内存储数据中自该搜索窗移出的一宏块标记为一空宏块;以及以该接口电路自该外部存储器的该参考帧数据取得一更新宏块以替换该片内存储器 中的该空宏块。
8.如权利要求7所述的运动估计方法,其中该片内存储数据除了包含该参考帧数据的 N行宏块外,还包括该参考帧数据往左侧扩展一第一宏块宽度的位于同一列的N个宏块,以 及该参考帧数据往右侧扩展该第一宏块宽度的位于同一列的N个宏块,其中当N为奇数时, 该第一宏块宽度为(N-I) /2,当N为偶数时,该第一宏块宽度为N/2-1。
9.如权利要求7所述的运动估计方法,其中该片内存储数据的取得步骤包括当将该片内存储数据载入该片内存储器时,每次自该外部存储器读取于该参考帧数据 中同一列的N个宏块以载入该片内存储器,直到该参考帧数据的该N行宏块已完全载入至 该片内存储器为止。
10.如权利要求7所述的运动估计方法,其中当N为奇数时,该搜索窗数据包括该参考 帧数据中从该当前宏块开始左右两边分别第(N-I)/2列的宏块且上下两边分别第(N-l)/2 行的宏块,以及上述宏块所包围的宏块;以及当N为偶数时,该搜索窗数据包括该参考帧数据中从该当前宏块开始左右两边分别第 N/2-1列的宏块且上下两边分别第N/2-1行的宏块,以及上述宏块所包围的宏块,其中当N 为偶数时,该当前宏块包括共享运动估计结果并形成一方形矩阵的4个宏块。
11.如权利要求7所述的运动估计方法,其中于该参考帧数据中多个同位宏块具有与 该当前宏块相同的位置和数目,该搜索窗数据包括以该多个同位宏块为中心位置的N2个宏 块,所述N2个宏块为N行N列宏块,且该搜索窗随着该当前宏块的变动每次右移或左移一 个宏块列,该运动估计方法更包括当该控制器往右或左移该移动搜索窗时,位于该搜索窗数据中的一左方或右方宏块列 被自该搜索窗中移出,且该控制器将该左方宏块列或该右方宏块列所包含的一上方宏块设 为该空宏块,其中自该参考帧数据取得与该空宏块位于同一列且后N行的一宏块作为该更新宏块, 以替换该片内存储器中的该空宏块。
12.如权利要求11所述的运动估计方法,当该控制器往右或向左移动搜索窗时,若该当前宏块为本行的最后一个宏块,将该行宏块均标记为该空宏块,其中当该控制器往右或左移动搜索窗时,若该当前宏块为本行的最后一个宏块,当N 为奇数时,自该参考帧数据取得与该当前宏块的最上方宏块以及该最上方宏块左侧或右侧 的(N-l)/2个宏块的位于同一列向下间隔N行的宏块作为更新宏块,并使用与该最上方宏 块向下间隔N行的宏块扩展该最上方宏块其右侧或左侧的(N-I)/2宏块,以替换该片内存 储器中的最上一行的N个空宏块;以及当N为偶数时,自该参考帧数据取得与该当前宏块的最上方宏块以及该最上方宏块左 侧或的N/2个宏块的位于同一列向下间隔N行的宏块作为更新宏块,并使用与该最上方宏 块向下间隔N行的宏块扩展该最上方宏块其右侧或左侧的N/2-1个宏块,以替换该片内存 储器中的N个空宏块。
全文摘要
一种视频编解码器及运动估计方法。该视频编解码器耦接至储存一参考帧数据的一外部存储器,包括一接口电路、一片内存储器、一运动估计电路、以及一控制器。该接口电路自该外部存储器的该参考帧数据取得一片内存储数据。该片内存储器储存该片内存储数据,其中该片内存储数据包含该参考帧数据的三行宏块。该运动估计电路以一搜索窗自该片内存储数据撷取一搜索窗数据,并依据该搜索窗数据进行一当前宏块的运动估计。当该当前宏块变动时,该控制器对应地移动该搜索窗于该片内存储数据中的位置,将该片内存储数据中自该搜索窗移出的一宏块标记为一空宏块,并控制该接口电路自该外部存储器的该参考帧数据取得一更新宏块以替换该片内存储器中的该空宏块。
文档编号H04N7/26GK102088610SQ201110055989
公开日2011年6月8日 申请日期2011年3月8日 优先权日2011年3月8日
发明者何建彬, 周锦锋, 李强, 杨柳, 陈志沖 申请人:美商威睿电通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1