CN104159123B - 一种适合于硬件实现的hevc运动估计方法 - Google Patents
一种适合于硬件实现的hevc运动估计方法 Download PDFInfo
- Publication number
- CN104159123B CN104159123B CN201410392865.7A CN201410392865A CN104159123B CN 104159123 B CN104159123 B CN 104159123B CN 201410392865 A CN201410392865 A CN 201410392865A CN 104159123 B CN104159123 B CN 104159123B
- Authority
- CN
- China
- Prior art keywords
- search
- lcu
- block
- region
- parameter
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明针对HEVC运功估计单元先对LCU进行CU块分割再进行运动估计PU块分割的特点,提出了一种适合于硬件实现的HEVC运动估计的方法,该方法两种分割模式同时进行计算,将串行搜索改为并行搜索,极大简化了运动估计算法,并且计算过程中访问存储单元的数据规整,利于硬件的实现。
Description
技术领域
本发明属于数字视频编解码技术领域,特别涉及一种适于硬件实现的视频压缩的整像素运动估计方法。
背景技术
HEVC(H.265)是新一代的视频压缩标准,它大幅度提高了编码效率和图像质量,但增加了运算复杂度,运动估计、帧内预测、变换/量化等需要大量运算,尤其是运动估计模块的运算量占整个编码器运算量的70%以上,成为编码速度提高的瓶颈,因此必须在算法实现中对其优化。运动估计由整像素运动估计和分数像素运动估计两部分组成,其中整像素部分的运算量约占整个运动估计的90%。
目前研究人员对HEVC运动估计算法优化的研究集中在三类。第一类是根据图像帧间或者帧内的时空相关性从而减少出现概率较低的预测块,降低编码的复杂度。那么对于一个未去除掉部分深度CU单元的LCU(64×64)而言,在最大深度为3的情况下,一共需要循环计算1106次预测块的率失真代价。此类方法虽然减少了部分计算运动匹配代价循环,但仍然不利于运动估计算法的硬件实现。第二类是根据所要计算CU块的特征来减少预测次数,从而达到提高预测速度的目的。第三类方法是依据在最佳匹配点周围,运动估计代价存在单峰现象,减少运动估计过程中搜索的点数,从而在压缩率变化不大的同时降低运算量,提高运动估计速度。有十字搜索,菱形搜索,子像素搜索等。同样方法应用于官方提供的HEVC编码标准参考软件HM中,提供了钻石搜索与菱形搜索相结合的TZsearch搜索方法。这些方法提高了搜索速度,减少了运算量,但由于采用串行搜索方式及读取搜索区域数据不规则,导致此类方法不适合于硬件实现。
发明内容
为了克服现有技术中的缺陷,针对HEVC运功估计单元先对LCU进行CU块分割再进行运动估计PU块分割的特点,本发明提出两种分割模式同时进行的计算方法,将串行搜索改为并行搜索,该方法极大简化了运动估计算法,并且计算过程中访问存储单元的数据规整,利于硬件的实现。
本发明通过以下技术方案实现:
本发明提供了一种在整像素运动估计中运用的用于确定下一搜索像素块的中心位置的方案,为了实现该方案,运用了以下技术:
并行计算LCU块的所有CU块的运动匹配参数;
采用动态的运动搜索范围,将LCU等分为4块,以每块的预测运动向量为搜索中心点进行搜索。
对于当前的LCU像素块,计算各点的SAD值,采用累加器计算每种分割模式下的代价,确定出最佳匹配点;然后根据当前块的最佳匹配点的位置确定下一个搜索块的中心点位置的mv。
一种适合于硬件实现的HEVC运动估计方法,通过将HEVC标准算法中每个LCU的CU块运动匹配参数及相应的PU块参数计算并行执行,来降低运动估计的复杂度;所述方法包括以下步骤:
a.运动估计模块先从内存单元读取整个LCU的像素值,输入计算单元中;
b.根据该LCU的左侧或上侧已有相邻块运动向量预测当前块的运动向量;
c.根据该预测向量及搜索范围,获取搜索区域的像素数据;
d.并行计算LCU块每层深度的CU块的运动匹配参数的最优解,获得各个深度CU块下各模式PU的最佳运动向量;
e.将LCU的全部像素值与搜索区域相应的像素值做差,然后把相应的各个CU层下各种预测模式PU块所包含的像素差值相加得到各个CU块下各个PU模式的SAD值;
f.根据SAD值得到每个PU块的最佳运动匹配向量,从而得到各个CU层下的最佳PU分割模式;
g.根据这些CU和PU的参数以及求得的帧内PU参数和相对应的TU块的变换,计算每层CU块的率失真代价,最终得到最小率失真所对应的一系列参数。
所述步骤d具体为:首先以深度1将LCU划分为4个32×32的CU,分别标记为CU10、CU11、CU12、CU13;先根据左侧与上侧及左上角已完成运动估计的块对CU10进行运动向量的预测;以CU10的预测向量为中心,以矩形搜索框为搜索范围,搜索当前LCU的所有深度下CU的运动匹配参数,记录每种模式下的PU最佳匹配向量;然后判断每个PU块的最佳匹配点是否在搜索区域的边界;如果任意一个PU块的最佳匹配点在边界上,那么将搜索区域向外扩大一个像素宽度,特别地如果最佳匹配点在搜索区域的四角上,需要相应的两个方向都向外扩大。扩大后计算新的搜索区域内各个匹配参数,更新最佳匹配点;如果最佳匹配点仍然在边界上,那么继续扩大搜索区域,直到所有最佳匹配点都在搜索区域内部;将LCU以CU10的预测向量为搜索中心的各个参数保存,接着再用同样的方法以CU11、CU12和CU13的预测向量为中心,搜索新的搜索区域,从而确定LCU的各个运动估计的参数。
附图说明
图1是本发明的适合于硬件实现的HEVC运动估计方法的流程图;
图2是同一LCU块内各个运动模式SAD计算示例图;
图3是本发明的适合于硬件实现的HEVC运动估计方法的动态搜索流程图。
具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
附图1是本发明适合于硬件实现的HEVC运动估计方法的流程图,通过将HEVC标准算法中每个LCU的CU块编码参数及相应的PU块参数的计算并行执行,来降低运动估计的复杂度,其具体流程如图3所示。
附图1中,首先运动估计模块先从内存单元读取整个LCU(64×64)的像素值,输入计算单元中,再根据该LCU的左侧或上侧已有相邻块运动向量预测当前块的运动向量。然后根据该预测向量及搜索范围,获取搜索区域的像素数据。采用图3所示的方法计算每层深度的CU块的最优解,获得各个深度CU块下各模式PU的最佳运动向量。将LCU的全部像素值与搜索区域相应的像素值做差,然后把相应的各个CU层下各种预测模式PU块所包含的像素差值相加得到各个CU块下各个PU模式的SAD值。再根据SAD值得到每个PU块的最佳运动匹配向量,从而得到各个CU层下的最佳PU分割模式。然后编码算法根据这些CU和PU的参数以及求得的帧内PU参数和相对应的TU块的变换,计算每层CU块的率失真代价,最终得到最小率失真所对应的一系列参数。这一系列的参数包括每个LCU(64×64)的树分割成CU单元的参数,即LCU的分割情况。每个CU的最佳运动匹配参数包括:PU的分割模式,每个PU的运动向量MV。
运动估计搜索中,需要大量的计算当前PU块内像素与搜索区域像素的差。计算各点的SAD值采用公式如公式(1)所示,Ik(m,n)是当前PU块的像素值,Ik(m+dx,n+dy)是搜索区域相对应的像素值,SAD是该PU块所有像素值与相对应搜索块的像素值差的和。通过比较SAD值的大小,可以确定PU块的最佳匹配块,从而得到运功向量,其计算如公式(2)所示,MV即所求PU块的最佳匹配向量。计算各点的SAD值采用公式(3)。
(MVx,MVy)=(dx,dy)|minSAD(dx,dy) (2)
根据SAD值得到每个PU块的最佳运动匹配向量,从而得到各个CU层下的最佳PU分割模式具体为:
HEVC编码过程中需要面临如何在多种块划分方式中选择最佳模式,在运动估计时如何选择最佳运动矢量等问题,主要采用了基于拉格朗日率失真理论的率失真最优化算法来在不同的模式中进行取舍。
拉格朗日代价J由公式(3)计算得到:
J=Distortion+λMODE×Rate (3)
其中,Distortion代表重建图像的质量,通常用绝对误差和(SAD),Rate代表用某一种模式编码一个宏块运动向量需要的位数。通过计算各个模式的代价,从中选出代价最低的模式作为最优模式,此模式下具有较小的失真和码率。
通过将每种分割组合得到的拉格朗日值进行比较,选择率失真代价J最小的一个,从而得到各个CU层下的最佳PU分割模式。
图2是CU块大小是8×8时并行计算各种分割模式下的运动估计代价SAD。包括8×8、8×4、4×8、4×4四种对称分割模式,和2×8、6×8、8×2、8×6四种非对称分割模式进行预测编码。
图3是适合于硬件实现的HEVC运动估计方法的动态搜索流程。首先将LCU以深度为1划分为4个32×32的CU,分别标记为CU10、CU11、CU12、CU13。先根据左侧与上侧及左上角已完成运动估计的块对CU10进行运动向量的预测。下一步以CU10的预测向量为中心,以矩形搜索框为搜索范围,搜索当前LCU(64×64)的所有深度下CU的运动匹配参数,记录每种模式下的PU最佳匹配向量。然后判断每个PU块的最佳匹配点是否在搜索区域的边界。如果任意一个PU块的最佳匹配点在边界上,那么将搜索区域向外扩大一个像素宽度,特别地如果最佳匹配点在搜索区域的四角上,需要相应的两个方向都向外扩大。扩大后计算新的搜索区域内各个匹配参数,更新最佳匹配点。如果最佳匹配点仍然在边界上,那么继续扩大搜索区域,直到所有最佳匹配点都在搜索区域内部。将LCU以CU10的预测向量为搜索中心的各个参数保存,接着再用同样的方法以CU11、CU12和CU13的预测向量为中心,搜索新的搜索区域,从而确定LCU的各个运动估计的参数。计算过程中,新的搜索区域与已经搜索过的区域会有重叠,本发明通过重叠区域消除法来减少因重叠而引起的重复计算问题。
所谓的重叠消除即,由于计算CU10所搜索的区域与CU11所搜索区域会发生重叠,所谓重叠消除即把CU11搜索区域删除计算CU10时已经搜索过的区域,防止重新搜索。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (3)
1.一种适合于硬件实现的HEVC运动估计方法,通过将HEVC标准算法中每个LCU的CU块运动匹配参数及相应的PU块参数计算并行执行,来降低运动估计的复杂度:其特征在于:所述方法包括以下步骤:
a.运动估计模块先从内存单元读取整个LCU的像素值,输入计算单元中;
b.根据该LCU的左侧或上侧已有相邻块运动向量预测当前块的运动向量;
c.根据该预测向量及搜索范围,获取搜索区域的像素数据;
d.并行计算LCU块每层深度的CU块的运动匹配参数的最优解,获得各个深度CU块下各模式PU的最佳运动向量,具体为:
首先以深度1将LCU划分为4个32×32的CU,分别标记为CU10、CU11、CU12、CU13;先根据左侧与上侧及左上角已完成运动估计的块对CU10进行运动向量的预测;以CU10的预测向量为中心,以矩形搜索框为搜索范围,搜索当前LCU的所有深度下CU的运动匹配参数,记录每种模式下的PU最佳匹配向量;然后判断每个PU块的最佳匹配点是否在搜索区域的边界;如果任意一个PU块的最佳匹配点在边界上,那么将搜索区域向外扩大一个像素宽度,特别地如果最佳匹配点在搜索区域的四角上,需要相应的两个方向都向外扩大;扩大后计算新的搜索区域内各个匹配参数,更新最佳匹配点;如果最佳匹配点仍然在边界上,那么继续扩大搜索区域,直到所有最佳匹配点都在搜索区域内部;将LCU以CU10的预测向量为搜索中心的各个参数保存,接着再用同样的方法以CU11、CU12和CU13的预测向量为中心,搜索新的搜索区域,从而确定LCU的各个运动估计的参数;新的搜索区域与已经搜索过的区域会有重叠,通过重叠区域消除法来减少因重叠而引起的重复计算问题;
e.将LCU的全部像素值与搜索区域相应的像素值做差,然后把相应的各个CU层下各种预测模式PU块所包含的像素差值相加得到各个CU块下各个PU模式的SAD值;
f.根据SAD值得到每个PU块的最佳运动匹配向量,从而得到各个CU层下的最佳PU分割模式;
g.根据上述CU的运动匹配参数及相应的PU块参数以及求得的帧内PU参数和相对应的TU块的变换,计算每层CU块的率失真代价,最终得到最小率失真所对应的参数。
2.根据权利要求1所述的方法,其特征在于:最小率失真所对应的一系列参数包括每个LCU的树分割成CU单元的参数,即LCU的分割情况以及每个CU的最佳运动匹配参数包括:PU的分割模式,每个PU的运动向量MV。
3.根据权利要求1所述的方法,其特征在于:所述步骤f具体为:采用累加器计算每种分割模式下的代价,确定出最佳匹配点;然后根据当前块的最佳匹配点的位置确定下一个搜索块的中心点位置的运动向量MV。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410392865.7A CN104159123B (zh) | 2014-08-11 | 2014-08-11 | 一种适合于硬件实现的hevc运动估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410392865.7A CN104159123B (zh) | 2014-08-11 | 2014-08-11 | 一种适合于硬件实现的hevc运动估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104159123A CN104159123A (zh) | 2014-11-19 |
CN104159123B true CN104159123B (zh) | 2017-04-12 |
Family
ID=51884513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410392865.7A Expired - Fee Related CN104159123B (zh) | 2014-08-11 | 2014-08-11 | 一种适合于硬件实现的hevc运动估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104159123B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245896A (zh) * | 2015-10-09 | 2016-01-13 | 传线网络科技(上海)有限公司 | Hevc并行运动补偿方法及装置 |
CN113099269B (zh) * | 2021-02-22 | 2023-02-28 | 浙江大华技术股份有限公司 | 串匹配预测方法、编码和解码方法及相关设备、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932643A (zh) * | 2012-11-14 | 2013-02-13 | 上海交通大学 | 一种适用于hevc标准的扩展可变块运动估计电路 |
CN103414896A (zh) * | 2013-07-30 | 2013-11-27 | 复旦大学 | 一种基于多核实现的运动估计方法 |
CN103747262A (zh) * | 2014-01-08 | 2014-04-23 | 中山大学 | 一种基于gpu的运动估计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8988531B2 (en) * | 2010-07-08 | 2015-03-24 | Texas Instruments Incorporated | Method and apparatus for sub-picture based raster scanning coding order |
-
2014
- 2014-08-11 CN CN201410392865.7A patent/CN104159123B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932643A (zh) * | 2012-11-14 | 2013-02-13 | 上海交通大学 | 一种适用于hevc标准的扩展可变块运动估计电路 |
CN103414896A (zh) * | 2013-07-30 | 2013-11-27 | 复旦大学 | 一种基于多核实现的运动估计方法 |
CN103747262A (zh) * | 2014-01-08 | 2014-04-23 | 中山大学 | 一种基于gpu的运动估计方法 |
Non-Patent Citations (2)
Title |
---|
"一种适合可变运动估计硬件实现的改进三步搜索算法";王明江,王进祥,商迪;《中国图象图形学报》;20101130;第15卷(第11期);1596-1602 * |
"面向HEVC的高性能运动估计VLSI设计";陈伟伟;《中国优秀硕士学位论文全文数据库信息科技辑》;20130715(第7期);I136-467 * |
Also Published As
Publication number | Publication date |
---|---|
CN104159123A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108184115B (zh) | Hevc帧内cu划分和pu预测模式选择方法及系统 | |
CN111147867B (zh) | 一种多功能视频编码cu划分快速决策方法及存储介质 | |
CN110087087B (zh) | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 | |
US7580456B2 (en) | Prediction-based directional fractional pixel motion estimation for video coding | |
CN111462261B (zh) | 针对h.266/vvc的快速cu分区和帧内决策方法 | |
CN104378643B (zh) | 一种3d视频深度图像帧内预测模式选择方法及系统 | |
CN102291581B (zh) | 支持帧场自适应运动估计的实现方法 | |
CN109672894A (zh) | 一种帧间预测方法、装置及存储介质 | |
CN103997645B (zh) | 一种快速的hevc帧内编码单元和模式决策方法 | |
CN103327327B (zh) | 用于高性能视频编码hevc的帧间预测编码单元选择方法 | |
CN105959699A (zh) | 一种基于运动估计和时空域相关性的快速帧间预测方法 | |
CN107623848B (zh) | 一种视频编码方法及装置 | |
CN107318016A (zh) | 一种基于零块分布的hevc帧间预测模式快速判定方法 | |
US20230252684A1 (en) | Attribute information prediction method, encoder, decoder and storage medium | |
CN108989799A (zh) | 一种编码单元参考帧的选择方法、装置及电子设备 | |
CN104159123B (zh) | 一种适合于硬件实现的hevc运动估计方法 | |
TWI401970B (zh) | 在多媒體系統晶片設計中的低電量且高效率的快速移動評估超大型積體電路 | |
CN105263026B (zh) | 基于概率统计与图像梯度信息的全局矢量获取方法 | |
JP2011010297A (ja) | 誤差絶対値和の推定システム及び推定方法 | |
TWI590083B (zh) | 一種產生影像位移偵測之快速搜尋視窗的方法 | |
CN109889838B (zh) | 一种基于roi区域的hevc快速编码方法 | |
CN106658024A (zh) | 一种快速的视频编码方法 | |
CN109547798A (zh) | 一种快速的hevc帧间模式选择方法 | |
CN109618169A (zh) | 用于hevc的帧内决策方法、装置和存储介质 | |
CN107135393A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 Termination date: 20200811 |