CN106878737A - 高效视频编码中的运动估计加速方法 - Google Patents

高效视频编码中的运动估计加速方法 Download PDF

Info

Publication number
CN106878737A
CN106878737A CN201710121042.4A CN201710121042A CN106878737A CN 106878737 A CN106878737 A CN 106878737A CN 201710121042 A CN201710121042 A CN 201710121042A CN 106878737 A CN106878737 A CN 106878737A
Authority
CN
China
Prior art keywords
motion vector
image blocks
image
search
whole pixel
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.)
Granted
Application number
CN201710121042.4A
Other languages
English (en)
Other versions
CN106878737B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710121042.4A priority Critical patent/CN106878737B/zh
Publication of CN106878737A publication Critical patent/CN106878737A/zh
Application granted granted Critical
Publication of CN106878737B publication Critical patent/CN106878737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种高效视频编码中的运动估计加速方法,主要解决现有高效视频编码技术中编码速度慢的问题。其步骤为:1)主处理器CPU将图像数据传输至协处理器GPU进行存储;2)GPU利用图像数据执行分层高级运动向量预测和整像素运动搜索,得出各层的整像素运动向量,并对图像数据中的参考图像进行分像素插值滤波,得出不同精度的插值图像;3)以各层的整像素运动向量为起点,在不同精度的插值图像上分别执行分像素运动搜索,得出各个块的分像素运动向量;4)GPU将整像素运动向量和分像素运动向量信息传输至CPU,CPU对这两种运动向量进行误差修正,完成运动估计。本发明显著提高了编码速度和效率,可应用于视频编解码。

Description

高效视频编码中的运动估计加速方法
技术领域
本发明属于视频压缩编码技术领域,特别涉及一种运动估计加速方法,可用于在CPU+GPU平台下的高效视频编码HEVC。
背景技术
视频领域应用中有一项关键技术是视频编码,也称视频压缩,其目的是尽可能去除视频数据中的冗余成分,减少表征视频的数据量。从20世纪80年代起,国际组织开始对视频编解码建立国际标准。随着技术的不断改进,新一代视频编解码标准——H.265/HEVC于2013年11月25日发布。
与以往的视频编解码标准相比,H.265/HEVC的编码性能有了很大的提升,这是由于新增了许多技术,例如基于四叉树的灵活块分割结构、不同角度的帧内预测模式、帧间预测中自适应的高级运动向量预测技术AMVP、合并技术Merge、可变尺寸的离散余弦变换、性能更好的CABAC,以及新的样点自适应补偿滤波器等。
帧间预测主要用于去除图像间的时间相关性,通过将已经编码的图像作为当前帧的参考图像,来获取各个块的运动信息,从而去除时间冗余,提高压缩效率。在H.265/HEVC中引入了新的帧间预测技术,包括Merge、AMVP及基于Merge的Skip模式。Merge技术利用空域相关性和时域相关性来减少相邻块之间的运动参数冗余,具体就是取相邻PU的运动参数作为当前PU的运动参数。AMVP技术的作用与Merge技术类似,AMVP技术得到的运动矢量一方面为运动估计提供搜索起点,另一方面作为预测运动矢量使用。在运动搜索方面,快速搜索使用了TZSearch算法。
分像素插值及运动搜索是为了克服由运动的连贯性导致的运动以半像素、1/4像素为单位的情况,对图像信息进行滤波处理,并搜索出亚像素情况下的运动信息。现有标准H.264/AVC以及H.265/HEVC都使用1/4像素精度运动估计。
率失真是同时衡量压缩性能和失真情况的一个量度。率失真优化方法是最主要的编码参数选择优化技术。在H.265/HEVC中,率失真函数如下:
J=D+λ×Rrate
其中D表示失真,Rrate表示编码所消耗的比特数,λ为拉格朗日乘子。在视频编码中常采用平方误差和SSE、绝对误差和SAD、均方误差MSE等客观评价方法作为率失真函数中的失真D。
然而,优异的性能是通过高度的算法复杂度换取的,相比于H.264/AVC,H.265/HEVC编码速度大大降低,这导致了H.265/HEVC无法通过软件的方法得到实时编解码传输,所以提高编码速度的是亟待解决的问题。
提高编码速度的方法有很多种,目前常见的有改变编码策略、硬件加速和利用并行计算等。其中在并行计算方法中CUDA是一种通用的GPU计算产品,能够非常有效的利用GPU强大的并行计算能力以及充足的存储器带宽。相比一般的CPU而言,CUDA在各个领域取得了显著的成绩,尤其在图像处理方面中获得的加速倍数已经达到一到两个数量级。
2015年,王涛在其申请的专利“HEVC并行运动补偿方法及装置”中提出了图像分块并行运动补偿和树形收敛的方法,201510647960.1[P].2016,01,13。该方法运用了小块合并为大块思想,但该方法的并行粒度只达到了tiles级别和CTU级别,没有充分发挥GPU的大规模运算能力。2013年,徐荣飞在其发表的论文“HEVC编解码算法的CUDA优化”中公开了一种基于整帧并行运动搜索和分像素插值的方法,北京邮电大学,2013,该方法利用合并SAD的方式避免了重复计算,同时利用重组参考帧的方式避免了数据的重复传输和重复的插值滤波。但为了易于实现并行化,该方法删除了AMVP模块,导致编码遇到快速运动物体时无法及时捕捉,编码后期图像帧的编码质量下降。2016年,张维龙在其发表的论文“HEVC关键模块并行算法的设计与基于GPU的实现”中公开了一种梯状并行执行运动估计的策略,大连理工大学,2016,该方法在保留了原始数据依赖性的同时保留了AMVP算法,但由于梯形编码的并行程度只能达到多个编码单元CU同时编码,降低了并行效率。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种高效视频编码中的运动估计加速方法,以避免编码后期的编码质量下降,实现对整幅图像级的并行计算,提高并行效率。
为实现上述目的,本发明的技术方案包括如下:
(1)利用主处理器CPU将图像数据传输至协处理器GPU进行存储,其中图像数据包括:编码图像、参考图像和参考帧运动向量信息表;
(2)GPU利用图像数据执行分层高级运动向量预测和整像素运动搜索,得出各层的整像素运动向量:
(2a)对64×64图像块的高级运动向量预测和整像素运动搜索:
(2a1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将(0,0)向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第一候选列表;
(2a2)利用率失真准则选出第一候选列表中最优项,作为64×64图像块的运动搜索起始点;
(2a3)根据(2a2)确定的搜索起始点在参考图像上对大小为64×64图像块执行整像素运动搜索,得出64×64图像块的整像素运动向量;
(2b)分别对32×32图像块、32×64图像块和64×32图像块的高级运动向量预测和整像素运动搜索:
(2b1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将由步骤(2a3)得出的64×64图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第二候选列表;
(2b2)利用率失真准则选出第二候选列表中最优项,作为32×32图像块、32×64图像块和64×32图像块的运动搜索起始点;
(2b3)根据(2b2)确定的搜索起始点在参考图像上分别对32×32图像块、32×64图像块和64×32图像块执行运动搜索,分别得出32×32图像块、32×64图像块和64×32图像块的整像素运动向量;
(2c)分别对16×16图像块、16×32图像块、32×16图像块的高级运动向量预测和整像素运动搜索:
(2c1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将由步骤(2b3)得出的32×32图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第三候选列表;
(2c2)利用率失真准则选出第三候选列表中最优项,作为16×16图像块、16×32图像块和32×16图像块的运动搜索起始点;
(2c3)根据(2c2)确定的搜索起始点在参考图像上分别对16×16图像块、16×32图像块和32×16图像块执行运动搜索,分别得出16×16图像块、16×32图像块和32×16图像块的整像素运动向量;
(2d)分别对8×8图像块、8×16图像块和16×8图像块的高级运动向量预测和整像素运动搜索:
(2d1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将由步骤(2c3)得出的16×16图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第四候选列表;
(2d2)利用率失真准则选出第四候选列表中最优项,作为8×8图像块、8×16图像块和16×8图像的运动搜索起始点;
(2d3)根据(2d2)确定的搜索起始点在参考图像上分别对8×8图像块、8×16图像块和16×8图像块执行运动搜索,分别得出8×8图像块、8×16图像块和16×8图像块整像素运动向量;
(3)GPU对参考图像进行分像素插值滤波,得出不同精度的插值图像;
(4)以各层的整像素运动向量为起点,在不同精度的插值图像上分别执行分像素运动搜索过程,得出各个块的分像素运动向量;
(5)GPU将各个块的整像素运动向量和分像素运动向量传输至CPU,CPU对这俩这些运动向量进行误差修正,消除GPU计算带来的偏移误差,得出准确的运动向量,完成运动估计。
本发明与现有技术相比,具有如下优点:
首先,本发明根据GPU的特点改进了高级运动向量预测技术,设计出完备的候选列表选取方案,使得选取出了更加准确的运动搜索起始点,为后续的整像素运动搜索提供了良好的基础。
其次,本发明根据GPU特点改进了整像素运动搜索技术,以整幅图片为并行单位,大大加快了搜索的速度。
再次,本发明由于简化了分像素运动搜索,免去了复杂的逻辑判断,提高了搜索效率。
仿真结果表明,本发明在不影响编码质量的情况下,大幅提升了运动估计过程的速度,对于部分测试用例,在加速的同时能获得更好的编码质量。
附图说明
图1是本发明的实现总框架示意图;
图2是本发明中分层高级运动向量预测和整像素运动搜索的子流程图;
图3是本发明中高级运动向量预测的时域候选向量分布图;
图4是本发明中整像素运动搜索模板分布图;
图5是本发明中分像素运动搜索示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式做进一步的详细说明。实施例用于说明本发明,但不用来限制本发明的范围。
参照图1,本发明的实现步骤如下:
步骤1,数据传输。
利用主处理器CPU将图像数据传输至协处理器GPU中,这些图像数据包括:编码图像、参考图像和参考帧运动向量信息表;
GPU将这些图像数据分别进行存储,即将编码图像和参考图像保存至GPU的纹理存储器中,将参考帧运动向量信息表保存至GPU的全局内存中。
步骤2,GPU利用存储的图像数据进行分层高级运动向量预测和整像素运动搜索,得出各层的整像素运动向量。
分层高级运动向量预测和整像素运动是基于不同尺寸的图像块进行的,不同尺寸的图像块中的任意一个尺寸的图像块是由整幅编码图像均匀划分得出的若干个图像块。不同尺寸的图像块按一定的顺序执行不同的操作,划分图像块的顺序依次为:先划分为64×64图像块、再划分为32×32图像块、32×64图像块和64×32图像块,再次划分为16×16图像块、16×32图像块和32×16图像块,最后划分为8×8图像块、8×16图像块和16×8图像块。对于同一尺寸的图像块,并行度为整帧图像。
参照图2,本步骤对不同图像块进行分层高级运动向量预测和整像素运动搜索具体步骤如下:
2a)对64×64图像块进行高级运动向量预测和整像素运动搜索:
2a1)对每个64×64图像块,将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将(0,0)向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成每个64×64图像块的第一候选列表;这里所说的对应位置,是指编码图像块的坐标位置对应于参考帧运动向量信息表中相同坐标的位置,其包含图像块左上方、图像块上方、图像块右上方、图像块左方、图像块右方、图像块左下方、图像块下方、图像块右下方以及图像块心点左上角这9个位置,如图3所示;
2a2)利用率失真准则选出第一候选列表中最优项,将最优项保存至GPU的共享内存,并将最优项作为64×64图像块的运动搜索起始点;
2a3)从GPU的全局内存里读取第一候选列表中最优项,将最优项作为搜索起始点,在参考图像上对64×64图像块执行整像素运动搜索,得出64×64图像块的整像素运动向量,存储至全局内存;
所述整像素运动搜索的实现步骤如下:
首先,以整幅图像为并行单位,以运动搜索起始点为起点,以85个点的钻石型搜索模板指定的位置为搜索位置进行搜索,如图4所示,图中白点组成的模板即为85个点的钻石型搜索模板,求出每个搜索位置的绝对误差和SAD,并通过计算选出绝对误差和SAD最小的搜索位置,再将该搜索位置的运动向量设为次优的运动向量;
然后,以整幅图像为并行单位,以次优运动向量为起点,以21个点的加强模板型搜索模板指定的位置为搜索位置进行搜索,如图4所示,图中阴影点组成的模板即为21个点的加强模板型搜索模板,求出每个搜索位置的绝对误差和SAD,通过计算选出绝对误差和SAD最小的搜索位置,将该搜索位置的运动向量设为最优的运动向量,该优运动向量即为整像素运动向量。
最后,将整像素运动向量保存至GPU的全局内存中。
2b)分别对32×32图像块、32×64图像块和64×32图像块的高级运动向量预测和整像素运动搜索:
2b1)对以上32×32图像块、32×64图像块和64×32图像块的每个图像块,分别将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将从GPU的全局内存中读取的64×64图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成这些块各自的第二候选列表;
2b2)利用率失真准则选出第二候选列表中最优项,将最优项保存至GPU的全局内存,并将最优项作为32×32图像块、32×64图像块和64×32图像块的运动搜索起始点;
2b3)从GPU的全局内存中读取第二候选列表中最优项,将最优项作为搜索起始点,在参考图像上分别对32×32图像块、32×64图像块和64×32图像块执行整像素运动搜索,分别得出32×32图像块、32×64图像块和64×32图像块的整像素运动向量,存储至全局内存,其中整像素运动搜索的实现与步骤2a3)中的描述一致;
2c)分别对16×16图像块、16×32图像块、32×16图像块的高级运动向量预测和整像素运动搜索:
2c1)对以上16×16图像块、16×32图像块、32×16图像块的每个图像块,分别将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将从GPU的全局内存中读取的32×32图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第三候选列表;
2c2)利用率失真准则选出第三候选列表中最优项,将最优项保存至GPU的全局内存,并将最优项作为16×16图像块、16×32图像块和32×16图像块的运动搜索起始点;
2c3)从GPU的全局内存中读取第三候选列表中最优项,将最优项作为搜索起始点,在参考图像上分别对16×16图像块、16×32图像块和32×16图像块执行整像素运动搜索,分别得出16×16图像块、16×32图像块和32×16图像块的整像素运动向量,存储至全局内存,其中整像素运动搜索的实现与步骤2a3)中描述一致;
2d)分别对8×8图像块、8×16图像块和16×8图像块的高级运动向量预测和整像素运动搜索:
2d1)分别对以上8×8图像块、8×16图像块和16×8图像块的每个图像块,分别将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将从GPU的全局内存中读取的的16×16图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第四候选列表;
2d2)利用率失真准则选出第四候选列表中最优项,将最优项保存至GPU的全局内存,并将最优项作为8×8图像块、8×16图像块和16×8图像的运动搜索起始点;
2d3)从GPU的全局内存中读取第三候选列表中最优项,将最优项作为搜索起始点,在参考图像上分别对8×8图像块、8×16图像块和16×8图像块执行整像素运动搜索,分别得出8×8图像块、8×16图像块和16×8图像块整像素运动向量,存储至全局内存,其中整像素运动搜索的实现与步骤2a3)中描述一致。
步骤3,分像素插值滤波。
GPU对参考图像进行分像素插值滤波,得出若干个不同精度的插值图像。
分像素插值滤波插值滤波是指将整幅图像利用插值滤波系数做类加权平均计算,所用的插值滤波系数如下表:
位置 插值滤波系数
1/4 {-1,4,-10,58,17,-5,1}
2/4 {-1,4,-11,40,40,-11,4,-1}
3/4 {1,-5,17,58,-10,4,-1}
经过插值滤波得出3幅1/2精度插值图像和12幅1/4精度插值图像;由于数据依赖关系,分像素插值滤波计算的具体执行顺序如下:
3a)求出整像素所在行的1/2像素点和1/4像素点;
3b)求出整像素所在列的1/2像素点和1/4像素点;
3c)根据整像素所在行的1/2像素点和1/4像素点求出整像素右下角处的1/2像素点和1/4像素点;
步骤4,分像素运动搜索。
从GPU的全局内存中读取各层的整像素运动向量,以各层的整像素运动向量为起点,在不同精度的插值图像上分别执行分像素运动搜索过程,得出各个块的分像素运动向量,保存至GPU的全局内存中。
分像素运动搜索的实现步骤如下:
4a)将分像素插值滤波所得的15个插值图像映射为49个不同相位的图像,并从49个不同相位的图像中选出靠近整像素位置的25个不同相位的图像,如图5所示,灰色位置为15个插值图像,黑色直线方框内的图像为49个不同相位的图像,黑色虚线方框内的图像为25个不同相位的图像;
4b)在选出的25个不同相位图像中,利用率失真准则搜索出最优的运动向量作为分像素运动向量,将得出的分像素运动向量保存至全局内存。
步骤5,运动向量误差修正。
GPU将各个块的整像素运动向量和分像素运动向量传输至CPU,CPU对像素运动向量和分像素运动向量进行如下误差修正:
5a)将GPU所得运动向量转化为绝对坐标基准下的运动向量;
5b)用转化为绝对坐标的运动向量减去CPU在前期编码产生的偏移量,得出CPU相对坐标基准下的运动向量,即运动估计最终结果;
通过误差修正,消除GPU计算带来的偏移误差,得出准确的运动向量,完成运动估计。
本发明的效果可以通过下述仿真实验进行进一步的说明:
1.仿真条件
硬件环境为:GeForce GTX960显卡,其拥有8个流多处理器SM,总共8192个流处理器SP,Intel四核CPU i3-3200,4G内存;软件环境为Microsoft Visual Studio 2010,NVIDIA CUDA Toolkit 7.5,设测试模型HM的运行模式为low_delay_P。
2.仿真内容
在上述仿真条件下,用本发明方法对通用测试视频序列中的部分视频序列进行测试,测试结果如表一。
表一 通用测试视频序列中的部分视频序列测试结果
根据表一测试得到的数据可见:测试模型HM编码增速比平均约为1.8,码率变化不超过5%,峰值信噪比PSNR降低不超过0.15,对部分测试序列峰值信噪比有0.01~0.02的提高。由此可以得出结论:本发明在不影响编码质量的情况下,大幅提升了运动估计过程的速度,对于部分测试用例,在加速的同时能获得更好的编码质量。

Claims (7)

1.高效视频编码中的运动估计加速方法,包括如下步骤:
(1)利用主处理器CPU将图像数据传输至协处理器GPU进行存储,其中图像数据包括:编码图像、参考图像和参考帧运动向量信息表;
(2)GPU利用图像数据执行分层高级运动向量预测和整像素运动搜索,得出各层的整像素运动向量:
(2a)对64×64图像块的高级运动向量预测和整像素运动搜索:
(2a1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将(0,0)向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第一候选列表;
(2a2)利用率失真准则选出第一候选列表中最优项,作为64×64图像块的运动搜索起始点;
(2a3)根据(2a2)确定的搜索起始点在参考图像上对大小为64×64图像块执行整像素运动搜索,得出64×64图像块的整像素运动向量;
(2b)分别对32×32图像块、32×64图像块和64×32图像块的高级运动向量预测和整像素运动搜索:
(2b1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将由步骤(2a3)得出的64×64图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第二候选列表;
(2b2)利用率失真准则选出第二候选列表中最优项,作为32×32图像块、32×64图像块和64×32图像块的运动搜索起始点;
(2b3)根据(2b2)确定的搜索起始点在参考图像上分别对32×32图像块、32×64图像块和64×32图像块执行整像素运动搜索,分别得出32×32图像块、32×64图像块和64×32图像块的整像素运动向量;
(2c)分别对16×16图像块、16×32图像块、32×16图像块的高级运动向量预测和整像素运动搜索:
(2c1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将由步骤(2b3)得出的32×32图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第三候选列表;
(2c2)利用率失真准则选出第三候选列表中最优项,作为16×16图像块、16×32图像块和32×16图像块的运动搜索起始点;
(2c3)根据(2c2)确定的搜索起始点在参考图像上分别对16×16图像块、16×32图像块和32×16图像块执行整像素运动搜索,分别得出16×16图像块、16×32图像块和32×16图像块的整像素运动向量;
(2d)分别对8×8图像块、8×16图像块和16×8图像块的高级运动向量预测和整像素运动搜索:
(2d1)将参考帧运动向量信息表中对应位置的运动向量作为时域候选,将由步骤(2c3)得出的16×16图像块的整像素运动向量设为空域候选,并对该时域候选和空域候选进行合并,剔除重复项,生成第四候选列表;
(2d2)利用率失真准则选出第四候选列表中最优项,作为8×8图像块、8×16图像块和16×8图像的运动搜索起始点;
(2d3)根据(2d2)确定的搜索起始点在参考图像上分别对8×8图像块、8×16图像块和16×8图像块执行整像素运动搜索,分别得出8×8图像块、8×16图像块和16×8图像块整像素运动向量;
(3)GPU对参考图像进行分像素插值滤波,得出不同精度的插值图像;
(4)以各层的整像素运动向量为起点,在不同精度的插值图像上分别执行分像素运动搜索过程,得出各个块的分像素运动向量;
(5)GPU将各个块的整像素运动向量和分像素运动向量传输至CPU,CPU对整像素运动向量和分像素运动向量进行误差修正,消除GPU计算带来的偏移误差,得出准确的运动向量,完成运动估计。
2.根据权利要求1所述的方法,其特征在于,步骤(2)中高级运动向量预测,是指在GPU上利用空间、时间上运动向量的相关性,分别建立空域候选列表和时域候选列表,再从候选列表中选取最终的运动向量。
3.根据权利要求1所述的方法,其特征在于,步骤(2)中的整像素运动搜索,具体步骤如下:
首先,以整幅图像为并行单位,以运动搜索起始点为起点,以85个点的钻石型搜索模板指定的位置为搜索位置进行搜索,求出每个搜索位置的绝对误差和SAD,并通过计算选出绝对误差和SAD最小的搜索位置,再将该搜索位置的运动向量设为次优的运动向量;
然后,以整幅图像为并行单位,以次优运动向量为起点,以21个点的加强模板型搜索模板指定的位置为搜索位置进行搜索,求出每个搜索位置的绝对误差和SAD,通过计算选出绝对误差和SAD最小的搜索位置,将该搜索位置的运动向量设为最优的运动向量,该优运动向量即为整像素运动向量。
4.根据权利要求1所述的方法,其特征在于,步骤(2a1)中的对应位置,是指编码图像块的坐标位置对应于参考帧运动向量信息表中相同坐标的位置,其包含图像块左上方、图像块上方、图像块右上方、图像块左方、图像块右方、图像块左下方、图像块下方、图像块右下方以及图像块中心点左上角这9个位置。
5.根据权利要求1所述的方法,其特征在于,步骤(3)中不同精度的插值图像,包括1/2精度插值图像和1/4精度插值图像。
6.根据权利要求1所述的方法,其特征在于,步骤(4)中的分像素运动搜索,具体步骤如下:
(4a)将分像素插值滤波所得的15个插值图像映射为49个不同相位的图像,并从49个不同相位的图像中优选出靠近整像素位置的25个不同相位的图像;
(4b)在优选出的25个不同相位图像中,利用率失真准则搜索出最优的运动向量作为分像素运动向量。
7.根据权利要求1所述的方法,其特征在于,步骤(5)中CPU对整像素运动向量和分像素运动向量进行误差修正,是指消除由于CPU和GPU对应坐标不一致造成的偏移误差,具体步骤如下:
(5a)将GPU所得运动向量转化为绝对坐标基准下的运动向量;
(5b)用转化为绝对坐标的运动向量减去CPU在前期编码产生的偏移量,得出CPU相对坐标基准下的运动向量,即运动估计最终结果。
CN201710121042.4A 2017-03-02 2017-03-02 高效视频编码中的运动估计加速方法 Active CN106878737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710121042.4A CN106878737B (zh) 2017-03-02 2017-03-02 高效视频编码中的运动估计加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710121042.4A CN106878737B (zh) 2017-03-02 2017-03-02 高效视频编码中的运动估计加速方法

Publications (2)

Publication Number Publication Date
CN106878737A true CN106878737A (zh) 2017-06-20
CN106878737B CN106878737B (zh) 2019-10-08

Family

ID=59169292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710121042.4A Active CN106878737B (zh) 2017-03-02 2017-03-02 高效视频编码中的运动估计加速方法

Country Status (1)

Country Link
CN (1) CN106878737B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107295353A (zh) * 2017-08-15 2017-10-24 电子科技大学 视频编码参考块滤波方法
CN107613305A (zh) * 2017-10-12 2018-01-19 杭州当虹科技有限公司 一种hevc中p、b帧快速运动估计方法
CN109756739A (zh) * 2017-11-07 2019-05-14 华为技术有限公司 图像预测方法和装置
CN110392265A (zh) * 2019-08-27 2019-10-29 广州虎牙科技有限公司 帧间运动估计方法、装置、电子设备及可读存储介质
CN110786013A (zh) * 2017-06-30 2020-02-11 华为技术有限公司 用于运动向量细化的搜索区域
CN110832861A (zh) * 2018-07-03 2020-02-21 深圳市大疆创新科技有限公司 视频处理方法和设备
CN111201795A (zh) * 2017-10-09 2020-05-26 华为技术有限公司 存储访问窗口和用于运动矢量修正的填充
CN112866699A (zh) * 2019-03-11 2021-05-28 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647588A (zh) * 2011-02-17 2012-08-22 北京大学深圳研究生院 一种用于分层搜索运动估计的gpu加速方法
CN103379322A (zh) * 2012-04-16 2013-10-30 乐金电子(中国)研究开发中心有限公司 一种先进运动矢量预测amvp的并行实现方法、装置及系统
US20130287114A1 (en) * 2007-06-30 2013-10-31 Microsoft Corporation Fractional interpolation for hardware-accelerated video decoding
CN103747262A (zh) * 2014-01-08 2014-04-23 中山大学 一种基于gpu的运动估计方法
CN105245896A (zh) * 2015-10-09 2016-01-13 传线网络科技(上海)有限公司 Hevc并行运动补偿方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130287114A1 (en) * 2007-06-30 2013-10-31 Microsoft Corporation Fractional interpolation for hardware-accelerated video decoding
CN102647588A (zh) * 2011-02-17 2012-08-22 北京大学深圳研究生院 一种用于分层搜索运动估计的gpu加速方法
CN103379322A (zh) * 2012-04-16 2013-10-30 乐金电子(中国)研究开发中心有限公司 一种先进运动矢量预测amvp的并行实现方法、装置及系统
CN103747262A (zh) * 2014-01-08 2014-04-23 中山大学 一种基于gpu的运动估计方法
CN105245896A (zh) * 2015-10-09 2016-01-13 传线网络科技(上海)有限公司 Hevc并行运动补偿方法及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11736718B2 (en) 2017-06-30 2023-08-22 Huawei Technologies Co., Ltd. Search region for motion vector refinement
CN110786013A (zh) * 2017-06-30 2020-02-11 华为技术有限公司 用于运动向量细化的搜索区域
US11082714B2 (en) 2017-06-30 2021-08-03 Huawei Technologies Co., Ltd. Search region for motion vector refinement
CN107295353B (zh) * 2017-08-15 2019-12-31 电子科技大学 视频编码参考块滤波方法
CN107295353A (zh) * 2017-08-15 2017-10-24 电子科技大学 视频编码参考块滤波方法
CN111201795A (zh) * 2017-10-09 2020-05-26 华为技术有限公司 存储访问窗口和用于运动矢量修正的填充
US11153595B2 (en) 2017-10-09 2021-10-19 Huawei Technologies Co., Ltd. Memory access window and padding for motion vector refinement
CN107613305A (zh) * 2017-10-12 2018-01-19 杭州当虹科技有限公司 一种hevc中p、b帧快速运动估计方法
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
CN109756739A (zh) * 2017-11-07 2019-05-14 华为技术有限公司 图像预测方法和装置
CN110832861A (zh) * 2018-07-03 2020-02-21 深圳市大疆创新科技有限公司 视频处理方法和设备
CN112866699A (zh) * 2019-03-11 2021-05-28 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113709468A (zh) * 2019-03-11 2021-11-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113709473A (zh) * 2019-03-11 2021-11-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN112866699B (zh) * 2019-03-11 2022-11-01 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11902563B2 (en) 2019-03-11 2024-02-13 Hangzhou Hikvision Digital Technology Co., Ltd. Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
CN110392265B (zh) * 2019-08-27 2022-03-25 广州虎牙科技有限公司 帧间运动估计方法、装置、电子设备及可读存储介质
CN110392265A (zh) * 2019-08-27 2019-10-29 广州虎牙科技有限公司 帧间运动估计方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN106878737B (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN106878737B (zh) 高效视频编码中的运动估计加速方法
WO2019213986A1 (zh) 一种基于多角度自适应帧内预测的点云属性压缩方法
US8634670B2 (en) Method, apparatus and program for efficient generation of prediction signals
CN105847791B (zh) 图像编码装置及其方法和图像解码装置及其方法
US8693551B2 (en) Optimal angular intra prediction for block-based video coding
CN103503457B (zh) 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
CN105100797B (zh) 对视频解码的设备
CN101710993B (zh) 基于块的自适应超分辨率视频处理方法及系统
CN104125462B (zh) 图像编码方法及装置以及其解码方法及装置
CN103248895B (zh) 一种用于hevc帧内编码的快速模式估计方法
CN102934443B (zh) 用于对视频进行编码和解码的方法和设备
CN108322742A (zh) 一种基于帧内预测的点云属性压缩方法
CN102065298B (zh) 高性能宏块编码实现方法
CN1794816B (zh) 运动图像压缩编码方法、运动图像压缩编码装置以及程序
CN101390401A (zh) 借助伪影评价的提高的图像/视频质量
CN107318016A (zh) 一种基于零块分布的hevc帧间预测模式快速判定方法
CN108259912A (zh) 一种分像素运动估计的并行实现方法
CN107071421B (zh) 一种结合视频稳定的视频编码方法
CN103546758A (zh) 一种快速深度图序列帧间模式选择分形编码方法
CN106375764A (zh) 一种结合方向预测和块复制预测的视频帧内编码方法
CN107277506A (zh) 一种基于自适应运动矢量精度的运动矢量精度快速选择方法及装置
CN101754022A (zh) 低复杂度的运动估计方法
CN102647598A (zh) 基于极大极小mv差值的h.264帧间模式优化方法
CN110519591A (zh) 一种基于多用途编码中帧内编码的预测模式快速选择方法
CN109618159A (zh) 一种基于分辨率对应关系的自适应编码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant