CN104038768B - 一种场编码模式的多参考场快速运动估计方法及系统 - Google Patents

一种场编码模式的多参考场快速运动估计方法及系统 Download PDF

Info

Publication number
CN104038768B
CN104038768B CN201410249609.2A CN201410249609A CN104038768B CN 104038768 B CN104038768 B CN 104038768B CN 201410249609 A CN201410249609 A CN 201410249609A CN 104038768 B CN104038768 B CN 104038768B
Authority
CN
China
Prior art keywords
movement vector
motion
optimum movement
current
field
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
CN201410249609.2A
Other languages
English (en)
Other versions
CN104038768A (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.)
SHANGHAI HIGH DEFINITION DIGITAL TECHNOLOGY INDUSTRIAL Co Ltd
University of Science and Technology of China USTC
Original Assignee
SHANGHAI HIGH DEFINITION DIGITAL TECHNOLOGY INDUSTRIAL Co Ltd
University of Science and Technology of China USTC
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 SHANGHAI HIGH DEFINITION DIGITAL TECHNOLOGY INDUSTRIAL Co Ltd, University of Science and Technology of China USTC filed Critical SHANGHAI HIGH DEFINITION DIGITAL TECHNOLOGY INDUSTRIAL Co Ltd
Priority to CN201410249609.2A priority Critical patent/CN104038768B/zh
Publication of CN104038768A publication Critical patent/CN104038768A/zh
Application granted granted Critical
Publication of CN104038768B publication Critical patent/CN104038768B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种场编码模式的多参考场快速运动估计方法及系统,其中,该方法包括:根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场;比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT。通过采用本发明公开的方法,可以有效地减少支持多参考场视频编码器的复杂度,从而使得某些计算资源有限的设备也能有效地利用该视频编码技术,进而有效提高用户体验质量。

Description

一种场编码模式的多参考场快速运动估计方法及系统
技术领域
本发明涉及视频编码领域,尤其涉及一种场编码模式的多参考场快速运动估计方法及系统。
背景技术
近年来,移动通信技术快速发展,新的通信系统、无线局域网、无线城域网等技术也随之不断发展,使网络传输速度得到了很大的提升。同时,随着人们对于视频等多媒体通信的需求越来越高,以视频通信为基础的多媒体信息传输和服务业务也逐渐成为未来宽带移动业务发展的主流。然而,与传统的语音信号相比,原始视频信号占用的带宽要大很多,如果直接传输原始视频信号则需要极其高的带宽,现有的信道根本无法满足要求。从上个世纪九十年代以来,国际标准化组织(ISO)和国际电信联盟(ITU)联合制定了一系列关于视频压缩编解码的国际标准和建议,其中,ISO推出的MPEG系列国际标准和ITU提出的H.26X系列视频压缩标准影响最大。在2001年,ITU和ISO组建了联合视频工作组,简称JVT,开始致力于一套新的视频编解码标准——JVT/H.264/AVC,简称H.264/AVC。2003年,H.264/AVC正式成为国际标准。
通过去除视频序列中存在的各种冗余,视频编码压缩技术可以更高效地表达视频内容。视频序列中的冗余主要包括视觉冗余、空间冗余和时间冗余。由于适当地降低重建视频的质量可以极大地降低编码码率,除了某些特定用途外,大部分的应用场景下的视频编码都属于有损编码,即重建信号和原始信号并不完全一致。与之前的标准类似,H.264/AVC标准仍然采用混合编码框架,主要包括预测、变换、量化、熵编码和环路滤波等部分。相比先前的视频编码标准MPEG-4、H.263和MPEG-2,在保持视频质量不变情况下,H.264/AVC标准分别可以节省39%、49%和64%的码率。为了提高编码效率,H.264/AVC相比之前的编码标准,增加了很多新的工具以获得更高的压缩效率,然而,在提高压缩性能的同时,其编码复杂度也远远高于先前的标准,这给实时编解码需求的应用(比如:视频会议、手机视频通信等)带来了很大的挑战。因而,提高H.264/AVC的编码速度有着重要的应用意义。在H.264/AVC的多个编码过程中,运动估计特别是多参考帧运动估计的时间占到了整个编码时间的90%以上,如果我们能缩短该过程的耗时,那整个编码过程的时间将大大降低。
H.264/AVC中存在着两种编码模式:帧编码和场编码。帧编码就是逐帧地对视频序列进行编码,这是比较主流的编码模式。而场编码,就是将视频序列的某一帧分成两部分,如图1所示,该帧的奇数行构成一部分,称为顶场;该帧的偶数行构成另一部分,称为底场。在场编码模式中,每一帧的顶场和底场单独进行编码。相比帧编码,对于运动比较剧烈的视频区域,相邻帧之间的相关性比较低,帧编码无法获得很高的编码效率,而在这种情况下,同一帧的相邻场之间的相关性仍然很高,通过场编码仍可以获得比较高的编码效率。另外,场编码所要求的带宽比较低,在有线电视等领域应用比较广泛。但是,在相同参考帧数的编码条件下,场编码进行多参考帧运动估计所需要参考的场数是帧数的两倍,因而其编码复杂度相比帧编码又大大提高。综合以上观点,降低场编码模式的多参考场运动估计的编码时间是非常有必要的。
然而,目前在H.264/AVC中的比较典型的一些快速运动估计算法都只是针对帧编码进行设计的,而并未充分考虑到场编码模式参考场的不同特性,因而在某些需求场编码模式的应用时,无法充分降低编码时间。
发明内容
本发明的目的是提供一种场编码模式的多参考场快速运动估计方法及系统,可以有效降低支持多参考场视频编码器的复杂度。
本发明的目的是通过以下技术方案实现的:
一种场编码模式的多参考场快速运动估计方法,该方法包括:
根据当前宏块参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场;
比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT。
进一步的,所述根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场包括:
若当前宏块处于顶场,则比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;
若当前宏块处于底场,则以当前帧的顶场作为参考场进行运动估计,搜索范围为[±kT,±T],其中,k=3;若经运动搜索获得最佳运动矢量为(0,0),且重建像素值与原始像素值差的绝对值之和SAD小于阈值TSAD,则运动估计过程结束;否则,比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场包括:
若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场;其中,λmotion为拉格朗日乘数;
若当前宏块处于底场,则以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述阈值TSAD的计算方法包括:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
其中,SADleft、SADup与SADupright分别表示当前宏块左边块、上边块与右上边块的SAD,这三个块的大小均为16x16;当前宏块的大小为Bx×By
进一步的,所述根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom,或者所述根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top包括:
不进行整像素的运动搜索,直接根据顶场或底场的最佳运动矢量来估算对应底场或顶场运动矢量的整像素,表示为:((MVx/4)×4,(MVy/4)×4);再进行子像素的运动估计;
其中,MVx表示运动矢量的水平分量,MVy表示运动矢量的垂直分量;/为整数除,计算结果为整数。
一种场编码模式的多参考场快速运动估计系统,该系统包括:
当前最佳参考场确定模块,用于根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场;
垂直分量确定模块,用于比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT。
进一步的,所述当前最佳参考场确定模块,还用于若当前宏块处于顶场,则比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;
若当前宏块处于底场,则以当前帧的顶场作为参考场进行运动估计,搜索范围为[±kT,±T],其中,k=3;若经运动搜索获得最佳运动矢量为(0,0),且重建像素值与原始像素值差的绝对值之和SAD小于阈值TSAD,则运动估计过程结束;否则,比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述当前最佳参考场确定模块,还用于若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场;其中,λmotion为拉格朗日乘数;
若当前宏块处于底场,则以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述阈值TSAD的计算方法包括:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
其中,SADleft、SADup与SADupright分别表示当前宏块左边宏块、上边宏块与右上边宏块的SAD,这三个块的大小均为16x16;当前宏块的大小为Bx×By
进一步的,所述根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom,或者所述根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top包括:
不进行整像素的运动搜索,直接根据顶场或底场的最佳运动矢量来估算对应底场或顶场运动矢量的整像素,表示为:((MVx/4)×4,(MVy/4)×4);再进行子像素的运动估计;
其中,MVx表示运动矢量的水平分量,MVy表示运动矢量的垂直分量;/为整数除,计算结果为整数。
由上述本发明提供的技术方案可以看出,通过利用同一参考帧顶场和底场最佳运动矢量的相似性来省略其中一个场的运动估计的某些过程,以期最大限度降低编码复杂度;同时,视频高度的变小和同一帧具有两场的特性使得场编码模式下,宏块可以在很小的垂直分量上就可以找到匹配的宏块,因而其最佳运动矢量的垂直分量相比帧编码模式大大降低,可适用于某些计算资源有限但对实时性要求比较高的视频应用领域;另外,该方法对于H.264/AVC原有的整体编码框架并没有改变,相应的解码器也不需要做任何修改,因此对H.264/AVC的硬件实现有着很高的兼容性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明背景技术提供的视频帧中顶场与底场的分布示意图;
图2为本发明实施例一提供的一种场编码模式的多参考场快速运动估计方法的流程图;
图3为本发明实施例二提供的一种场编码模式多参考场运动估计示意图;
图4为本发明实施例二提供的又一种场编码模式的多参考场快速运动估计方法的流程图;
图5为本发明实施例二提供的一种当前宏块与其周围已编码宏块的示意图。
图6为本发明实施例三提供的一种场编码模式的多参考场快速运动估计系统的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例一
图2为本发明实施例一提供的一种场编码模式的多参考场快速运动估计方法的流程图。如图1所示,该方法主要包括如下步骤:
步骤11、根据当前宏块当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场。
本发明实施例中,针对当前宏块所处帧的顶场与底场而分为如下两套计算过程:
若当前宏块处于顶场,则比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;具体的:若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场;其中,λmotion为拉格朗日乘数。
若当前宏块处于底场,则以当前帧的顶场作为参考场进行运动估计,搜索范围为[±kT,±T],若经运动搜索获得最佳运动矢量为(0,0),且SAD(重建像素值与原始像素值差的绝对值之和)小于阈值TSAD,则运动估计过程结束,不需要再对后续参考场进行运动估计;否则,比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;具体的:若当前宏块处于底场,则以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述阈值TSAD的可以采用下述公式计算:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
其中,SADleft、SADup与SADupright分别表示当前宏块左边块、上边块与右上边块的SAD,这三个块的大小均为16x16;min为取三者最小值函数,当前宏块的大小为Bx×By
进一步的,本发明实施例为提高编码性能,在基于参考帧顶场的最佳运动矢量估算该参考帧底场的最佳运动矢量时,不进行整像素的运动搜索,底场的运动矢量的整像素通过顶场的最佳运动矢量获得,表示为((MVx/4)×4,(MVy/4)×4),然后,直接进行该参考场的子像素运动估计。其中,符号“/”为整数除,计算结果为整数。需要说明的是,本文中的运动矢量的单位为四分之一个像素。
同理,基于参考帧底场的最佳运动矢量估算该参考帧顶场的最佳运动矢量时也采用类似的方法来提高编码性能。
步骤12、比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT。
本发明实施例通过利用同一参考帧顶场和底场最佳运动矢量的相似性来省略其中一个场的运动估计的某些过程,以期最大限度降低编码复杂度;同时,视频高度的变小和同一帧具有两场的特性使得场编码模式下,宏块可以在很小的垂直分量上就可以找到匹配的宏块,因而其最佳运动矢量的垂直分量相比帧编码模式大大降低,可适用于某些计算资源有限但对实时性要求比较高的视频应用领域;另外,该方法对于H.264/AVC原有的整体编码框架并没有改变,相应的解码器也不需要做任何修改,因此对H.264/AVC的硬件实现有着很高的兼容性。
实施例二
为了便于理解本发明,下面结合附图3-5对本发明做进一步介绍。
本发明实施例通过分析场编码模式不同于帧编码模式的特性,充分利用这些特性跳过某些运动估计过程,从而在保证编码性能变化不大的情况下,获得较明显的复杂度降低;主要包括两部分:1、利用同一参考帧不同场之间最佳运动矢量相似性进行快速运动估计;2、减少运动估计垂直方向的搜索范围实现快速运动估计。
首先,分析上述两部分的原理:
1、利用同一参考帧不同场之间最佳运动矢量相似性进行快速运动估计。
如图3,若当前场为第t帧的顶场,在现有的H.264/AVC标准中,当前宏块需要分别在前5帧,即前10场依次进行运动搜索,直到完成第10场的运动搜索后,选择具有最小率失真代价J(MV,λmotion)的运动矢量和参考场作为当前宏块的最佳运动矢量和参考场。
计算后得到同一参考帧顶场和底场的运动矢量可以表示为:
MVTt-1≈MVBt-1,MVTt-2≈MVBt-2,…
其中MVTt-1和MVBt-1分别为当前场以第t-1帧顶场和底场作为参考场得到的最佳运动矢量,MVTt-2和MVBt-2分别为当前场以第t-2帧顶场和底场作为参考场得到的最佳运动矢量,以此类推。
根据上述表达式,可以发现同一参考帧顶场和底场的运动矢量具有很大相似性,本发明实施例中,充分利用这一特征减少不必要的运动估计过程,从而,在保证视频编码性能的情况下,大大降低编码端的复杂度,而解码端的复杂度保持不变。
通常,在每一个参考场的运动估计过程是通过比较率失真代价J(MV,λmotion)来找到该参考场的最佳运动矢量,率失真代价计算公式为:
J(MV,λmotion)=SAD(s,c(MV))+λmotion×R(MV-MVp,REF);
其中,MV=(MVx,MVy)T为运动矢量,MVp=(MVpx,MVpy)T为预测运动矢量,λmotion为拉格朗日乘数,REF表示参考帧索引,R(MV-MVp,REF)表示编码MV-MVp和REF所需要的比特数,SAD(s,c(MV))为重建像素值与原始像素值差的绝对值之和。
可以看出,率失真代价J(MV,λmotion)主要由SAD和R(MV-MVp,REF)两部分决定。对于同一参考帧的顶场与底场,它们的参考场索引REF仅仅差1,编码相差为1的索引所需的比特数是完全相同的,因而,对于相同的运动矢量MV和预测运动矢量MVp,R(MV-MVp,REF)是完全一样的。而SAD为重建像素值与原始像素值差的绝对值之和,由于顶场和底场的原始像素值非常相近,因而对于相同运动矢量MV,顶场和底场的SAD也是非常相近的。综上所述,对于当前宏块的同一参考帧的参考顶场和参考底场,相同运动矢量MV的J(MV,λmotion)是非常相近的,其最后获得的最佳运动矢量也将是非常相近的。
通过以上分析,当进行多参考场运动估计时,就可以利用同一参考帧顶场和底场最佳运动矢量的相似性来省略其中一个场的运动估计的某些过程,以期最大限度降低编码复杂度。另外,若当前宏块处于顶场,则其最佳参考场为顶场的可能性将大大高于最佳参考场为底场的可能性,反之亦然。综合上述特性,我们可以设计如下运动估计过程:
1)若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
2)若当前宏块处于底场,则其运动估计的顺序保持不变,以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
2、减少运动估计垂直方向的搜索范围实现快速运动估计。
视频序列中,除了少部分悬空物体运动的垂直分量较大外,绝大多数物体运动的垂直分量均比较小。而对于场编码模式。由于场的高度只有帧高度的一半,则运动矢量的垂直分量最多只有原先的一半。视频高度的变小和同一帧具有两场的特性使得场编码模式下,宏块可以在很小的垂直分量上就可以找到匹配的宏块,因而其最佳运动矢量的垂直分量相比帧编码模式大大降低。
如表1所示,给出了不同大小的不同序列,在场编码模式下最佳运动矢量垂直分量小于等于阈值T(例如,T=4)的百分比。
表1场编码模式下最佳运动矢量垂直分量小于等于阈值T的百分比
由表1可以看出,无论是对于顶场还是底场,这一比例平均达到了将近90%。利用这一特性,我们可以设计如下运动估计过程:
1)若当前宏块处于顶场,通过前述步骤可以得到其最佳参考场及对应的最佳运动矢量;此时,比较最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT。
本发明实施例中,k的取值大小将影响编码性能和运动估计复杂度;当k的取值偏小时(例如,k=2),虽然搜索范围比较小,运动估计时间比较短,但编码性能下降较多;而当k的取值偏大时(例如,k=4),虽然编码性能较好,但搜索范围较大,运动估计的时间相比原始方法没有明显减少;综合考虑编码性能和运动估计复杂度,本发明实施例中可将k取为3。
2)若当前宏块处于底场,由于其第一个参考场就是与其处于同一帧的顶场,通过前面的分析,可以知道同一帧的顶场和底场非常相似,因而,该底场在同一帧的顶场找到最佳匹配宏块的可能性非常大,且其最佳运动矢量很可能为(0,0),因而对于该参考场,其运动估计的垂直范围减小为T,水平范围减小为3T。若经运动估计获得最佳运动矢量为(0,0),且SAD小于阈值TSAD,则运动估计过程结束,不需要再对后续参考场进行运动估计,否则进行当前帧底场的运动估计。与1)类似,若在其最佳参考场经运动估计后获得的最佳运动矢量的垂直分量小于某一阈值T,则后续参考场的运动估计的垂直分量范围减小为T,否则后续参考场的运动估计的垂直分量范围减小为3T。
然后,基于上面两部分的原理进行场编码模式的多参考场快速运动估计。如图4所示,包括如下步骤:
1)开始一个宏块的运动估计之前,先判断该宏块是否处于当前帧的顶场;若是,则转入步骤2);否则,转入步骤6)。
2)以当前参考帧的顶场作为参考场,进行运动估计,该运动估计的范围保持不变,可采用H.264/AVC默认的快速运动估计方法,经过运动搜索后获得最佳运动矢量,设为MVtop=(MVx,MVy),其中,MVx表示运动矢量的水平分量,MVy表示运动矢量的垂直分量,其率失真代价为Jtop(MVtopmotion)。若当前场为第一个参考场,则该场为当前最佳参考场,直接进行步骤3),否则与先前参考场的最小率失真代价比较,选择率失真代价较小者对应的场作为当前最佳参考场。
3)以当前参考帧底场作为参考场,不进行整像素的运动搜索,其运动矢量的整像素通过步骤2)中的最佳运动矢量获得,为((MVx/4)×4,(MVy/4)×4),然后,直接进行该参考场的子像素运动估计。
运动估计时,先以整像素为单位确定最佳匹配的运动矢量,在获得的最佳整像素运动矢量周围进行更精细的搜索,H.264标准中为1/4个像素精度,为了获得其对应的整像素位置,我们将运动矢量先除以4再乘以4。例如,(MVx/4)×4为水平分量MVx对应的整像素位置。这样可以提高编码性能,尽可能地减少整个运动估计的时间。
在获得该参考帧底场的最佳运动矢量MV'bottom后,计算以该参考帧底场作为参考场的率失真代价J'bottom(MV'bottommotion),并与步骤2)当前参考帧顶场的率失真代价Jtop(MVtopmotion)比较,选择率失真代价较小者对应的场作为当前最佳参考场。
4)比较当前最佳参考场对应的最佳运动矢量中的垂直分量MVy与阈值T的大小;若垂直分量MVy的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为3T。
5)若当前场为当前参考场列表的最后一个参考场,则转入步骤11),否则跳回步骤2),继续下一参考帧顶场的运动估计,将下一个参考帧作为当前参考帧。
6)以当前帧的顶场作为参考场进行运动估计,搜索范围为[±3T,±T](即,k=3),若经运动搜索获得的最佳运动矢量为(0,0),且重建像素值与原始像素值差的绝对值之和SAD小于阈值TSAD,则转入步骤11),不需要再对后续参考场进行运动搜索;否则,继续下一参考帧底场的运动估计,将下一个参考帧作为当前参考帧。
其中,阈值TSAD与当前宏块周围已编码宏块的SAD有关,如图5所示,当前宏块左边块、上边块、右上边块的SAD分别表示为SADleft、SADup与SADupright,当前块的大小为Bx×By,则TSAD的取值为:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
7)以当前参考帧的底场作为参考场,进行运动估计,该运动估计的范围保持不变,经过运动搜索后获得最佳运动矢量,设为MVbottom=(MV'x,MV'y),其率失真代价为Jbottom(MVbottommotion),与先前参考场的最小率失真代价比较,选择率失真代价较小者对应的场作为当前最佳参考场。
8)以当前参考帧顶场作为参考场,不进行整像素的运动搜索,其运动矢量的整像素通过步骤7)中的最佳运动矢量获得,为((MV'x/4)×4,(MV'y/4)×4),然后,直接进行该参考场的子像素运动估计。
在获得该参考帧顶场的最佳运动矢量MV'top后,计算以该参考帧顶场作为参考场的率失真代价J'top(MV'topmotion),并与步骤7)当前参考帧底场的率失真代价Jbottom(MVbottommotion)比较,选择率失真代价较小者对应的场作为当前最佳参考场。
9)比较当前最佳参考场对应的最佳运动矢量中的垂直分量MVy与阈值T的大小;若垂直分量MVy的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为3T。
10)若当前场为当前参考场列表的最后一个参考场,则转入步骤11),否则跳回步骤7),继续下一参考帧底场的运动估计,将下一个参考帧作为当前参考帧。
11)当前宏块以当前参考场列表中的图像作为参考场的运动估计过程结束。
本发明实施例通过利用同一参考帧顶场和底场最佳运动矢量的相似性来省略其中一个场的运动估计的某些过程,以期最大限度降低编码复杂度;同时,视频高度的变小和同一帧具有两场的特性使得场编码模式下,宏块可以在很小的垂直分量上就可以找到匹配的宏块,因而其最佳运动矢量的垂直分量相比帧编码模式大大降低,可适用于某些计算资源有限但对实时性要求比较高的视频应用领域;另外,该方法对于H.264/AVC原有的整体编码框架并没有改变,相应的解码器也不需要做任何修改,因此对H.264/AVC的硬件实现有着很高的兼容性。
实施例三
图6为本发明实施例三提供的一种场编码模式的多参考场快速运动估计系统的示意图。如图6所示,该系统主要包括:
当前最佳参考场确定模块61,用于根据当前宏块参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场;
垂直分量确定模块62,用于比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为3T。
进一步的,所述当前最佳参考场确定模块61,还用于若当前宏块处于顶场,则比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;
若当前宏块处于底场,则以当前帧的顶场作为参考场进行运动估计,搜索范围为[±3T,±T],若经运动搜索获得最佳运动矢量为(0,0),且重建像素值与原始像素值差的绝对值之和SAD小于阈值TSAD,则运动估计过程结束;否则,比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述当前最佳参考场确定模块61,还用于若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场;其中,λmotion为拉格朗日乘数;
若当前宏块处于底场,则以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
进一步的,所述阈值TSAD的计算方法包括:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
其中,SADleft、SADup与SADupright分别表示当前宏块左边块、上边块与右上边块的SAD,这三个块的大小均为16x16;当前宏块的大小为Bx×By
进一步的,所述根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom,或者所述根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top包括:
不进行整像素的运动搜索,直接根据顶场或底场的最佳运动矢量来估算对应底场或顶场运动矢量的整像素,表示为:((MVx/4)×4,(MVy/4)×4);再进行子像素的运动估计;
其中,MVx表示运动矢量的水平分量,MVy表示运动矢量的垂直分量;/为整数除,计算结果为整数。
需要说明的是,上述系统中包含的各个功能模块所实现的功能的具体实现方式在前面的各个实施例中已经有详细描述,故在这里不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
另一方面,为了验证本发明方案的有效性,进行了仿真试验。
在参考软件JM18.5上实现上述方案,参考帧数采用默认值,即5帧,10场,开启JM18.5自带的默认快速运动估计算法。表2给出了在该实验条件下,不同大小不同序列相比参考编码器JM18.5在编码性能及编码时间的变化情况。
其中,BD Rate增加率表示相同重建视频质量下,本算法相比JM18.5的码率的增加比例。假设相同重建视频质量下,本算法需要的码率为R,而JM18.5所需的码率为Rref,则BDRate增加率为:
而编码时间减少率为该算法相对JM18.5原始编码时间的减少率,若本算法的编码时间为Ti,而JM18.5的编码时间为Tiref,则编码时间减少率为:
表2仿真结果
通过仿真结果可以发现,本发明的方案可以有效地减少视频编码时间,从而使得某些计算资源有限的设备也能有效地利用该视频编码技术,进而有效提高用户体验质量。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (10)

1.一种场编码模式的多参考场快速运动估计方法,其特征在于,该方法包括:
根据当前宏块参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场;
比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT,k为大于1的整数。
2.根据权利要求1所述的快速运动估计方法,其特征在于,所述根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场包括:
若当前宏块处于顶场,则比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;
若当前宏块处于底场,则以当前帧的顶场作为参考场进行运动估计,搜索范围为[±kT,±T],其中,k=3;若经运动搜索获得最佳运动矢量为(0,0),且重建像素值与原始像素值差的绝对值之和SAD小于阈值TSAD,则运动估计过程结束;否则,比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
3.根据权利要求1或2所述的快速运动估计方法,其特征在于,所述根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场包括:
若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场;其中,λmotion为拉格朗日乘数;
若当前宏块处于底场,则以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
4.根据权利要求2所述的快速运动估计方法,其特征在于,所述阈值TSAD的计算方法包括:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
其中,SADleft、SADup与SADupright分别表示当前宏块左边块、上边块与右上边块的SAD,这三个块的大小均为16x16;当前宏块的大小为Bx×By
5.根据权利要求3所述的快速运动估计方法,其特征在于,
所述根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom,或者所述根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top包括:
不进行整像素的运动搜索,直接根据顶场或底场的最佳运动矢量来估算对应底场或顶场运动矢量的整像素,表示为:((MVx/4)×4,(MVy/4)×4);再进行子像素的运动估计;
其中,MVx表示运动矢量的水平分量,MVy表示运动矢量的垂直分量;/为整数除,计算结果为整数。
6.一种场编码模式的多参考场快速运动估计系统,其特征在于,该系统包括:
当前最佳参考场确定模块,用于根据当前宏块所处帧的当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小来确定当前最佳参考场;
垂直分量确定模块,用于比较当前最佳参考场对应的最佳运动矢量中的垂直分量与阈值T的大小;若垂直分量的绝对值小于等于阈值T,则后续参考场运动估计范围的垂直分量为T;否则,后续参考场运动估计范围的垂直分量为kT,k为大于1的整数。
7.根据权利要求6所述的快速运动估计系统,其特征在于,
所述当前最佳参考场确定模块,还用于若当前宏块处于顶场,则比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场;
若当前宏块处于底场,则以当前帧的顶场作为参考场进行运动估计,搜索范围为[±kT,±T],其中,k=3;若经运动搜索获得最佳运动矢量为(0,0),且重建像素值与原始像素值差的绝对值之和SAD小于阈值TSAD,则运动估计过程结束;否则,比较当前参考帧的顶场与底场最佳运动矢量对应的率失真代价的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
8.根据权利要求6或7所述的快速运动估计系统,其特征在于,
所述当前最佳参考场确定模块,还用于若当前宏块处于顶场,则以当前参考帧的顶场作为参考场,进行运动估计获得该参考帧顶场的最佳运动矢量MVtop;并根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom;比较最佳运动矢量MVtop的率失真代价Jtop(MVtopmotion)与最佳运动矢量MV'bottom的率失真代价J'bottom(MV'bottommotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场;其中,λmotion为拉格朗日乘数;
若当前宏块处于底场,则以当前参考帧的底场作为参考场,进行运动估计获得该参考帧底场的最佳运动矢量MVbottom;并根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top;比较最佳运动矢量MVbottom的率失真代价Jbottom(MVbottommotion)与最佳运动矢量MV'top的率失真代价J'top(MV'topmotion)的大小,选择率失真代价较小者对应的场作为当前最佳参考场。
9.根据权利要求7所述的快速运动估计系统,其特征在于,所述阈值TSAD的计算方法包括:
TSAD=(min{SADleft,SADup,SADupright}>>8)×Bx×By
其中,SADleft、SADup与SADupright分别表示当前宏块左边宏块、上边宏块与右上边宏块的SAD,这三个块的大小均为16x16;当前宏块的大小为Bx×By
10.根据权利要求8所述的快速运动估计系统,其特征在于,
所述根据该参考帧顶场的最佳运动矢量MVtop估算出该参考帧底场的最佳运动矢量MV'bottom,或者所述根据该参考帧底场的最佳运动矢量MVbottom估算出该参考帧顶场的最佳运动矢量MV'top包括:
不进行整像素的运动搜索,直接根据顶场或底场的最佳运动矢量来估算对应底场或顶场运动矢量的整像素,表示为:((MVx/4)×4,(MVy/4)×4);再进行子像素的运动估计;
其中,MVx表示运动矢量的水平分量,MVy表示运动矢量的垂直分量;/为整数除,计算结果为整数。
CN201410249609.2A 2014-04-30 2014-06-05 一种场编码模式的多参考场快速运动估计方法及系统 Expired - Fee Related CN104038768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410249609.2A CN104038768B (zh) 2014-04-30 2014-06-05 一种场编码模式的多参考场快速运动估计方法及系统

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201410182516.2 2014-04-30
CN201410182516 2014-04-30
CN2014101825162 2014-04-30
CN201410249609.2A CN104038768B (zh) 2014-04-30 2014-06-05 一种场编码模式的多参考场快速运动估计方法及系统

Publications (2)

Publication Number Publication Date
CN104038768A CN104038768A (zh) 2014-09-10
CN104038768B true CN104038768B (zh) 2017-07-18

Family

ID=51469339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410249609.2A Expired - Fee Related CN104038768B (zh) 2014-04-30 2014-06-05 一种场编码模式的多参考场快速运动估计方法及系统

Country Status (1)

Country Link
CN (1) CN104038768B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113196771B (zh) 2018-12-21 2023-12-22 北京字节跳动网络技术有限公司 基于运动矢量精度的运动矢量范围
CN112312131B (zh) * 2020-12-31 2021-04-06 腾讯科技(深圳)有限公司 一种帧间预测方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633184A (zh) * 2005-01-14 2005-06-29 北京航空航天大学 基于有效区域的多参考帧快速运动估计方法
CN1791224A (zh) * 2005-12-19 2006-06-21 宁波大学 一种基于h.264的自适应块搜索范围快速运动估计方法
CN1976460A (zh) * 2006-12-11 2007-06-06 浙江大学 针对隔行扫描视频信号的编码方法
CN101102492A (zh) * 2007-07-26 2008-01-09 上海交通大学 实现基于感兴趣区域的压缩域mpeg-2到h.264视频转换的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070040397A (ko) * 2004-07-20 2007-04-16 퀄컴 인코포레이티드 다중의 기준 프레임 및 가변 블록 크기를 가진 프레임레이트 업 변환을 위한 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1633184A (zh) * 2005-01-14 2005-06-29 北京航空航天大学 基于有效区域的多参考帧快速运动估计方法
CN1791224A (zh) * 2005-12-19 2006-06-21 宁波大学 一种基于h.264的自适应块搜索范围快速运动估计方法
CN1976460A (zh) * 2006-12-11 2007-06-06 浙江大学 针对隔行扫描视频信号的编码方法
CN101102492A (zh) * 2007-07-26 2008-01-09 上海交通大学 实现基于感兴趣区域的压缩域mpeg-2到h.264视频转换的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于H.264的多参考帧运动估计的快速算法;石迎波,吴成柯;《计算机工程》;20080520;第34卷(第10期);第218-220页 *

Also Published As

Publication number Publication date
CN104038768A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
US10986361B2 (en) Video coding using reference motion vectors
CN103918262B (zh) 基于结构相似度的码率失真优化感知视频编码方法和系统
CN104769947B (zh) 一种基于p帧的多假设运动补偿编码方法
CN104488271B (zh) 一种基于p帧的多假设运动补偿方法
CN110519600B (zh) 帧内帧间联合预测方法、装置、编解码器及存储装置
CN103248893B (zh) 从h.264/avc标准到hevc标准的快速帧间转码方法及其转码器
KR100897880B1 (ko) 비디오 코딩에 사용되는 코딩단/디코딩단의 양방향예측방법
JP4568887B2 (ja) ビデオ圧縮方法
CN110087087A (zh) Vvc帧间编码单元预测模式提前决策及块划分提前终止方法
CN107087200B (zh) 针对高效率视频编码标准的跳过编码模式提前判决方法
CN102137263A (zh) 基于cnm关键帧分类的分布式视频编码及解码方法
CN106170093B (zh) 一种帧内预测性能提升编码方法
CN101888546B (zh) 一种运动估计的方法及装置
CN104811729B (zh) 一种视频多参考帧编码方法
CN110248189B (zh) 一种视频质量预测方法、装置、介质和电子设备
CN104581170A (zh) 基于hevc降视频分辨率的快速帧间转码的方法
CN107277506A (zh) 一种基于自适应运动矢量精度的运动矢量精度快速选择方法及装置
CN108769696A (zh) 一种基于Fisher判别式的DVC-HEVC视频转码方法
CN101909211A (zh) 基于快速模式判决的h.264/avc高效转码器
CN105611301B (zh) 基于小波域残差的分布式视频编解码方法
WO2014058796A1 (en) Method and apparatus for video coding using reference motion vectors
CN103384327A (zh) 基于自适应阈值的avs快速模式选择算法
CN117480778A (zh) 残差编码和视频编码方法、装置、设备和系统
CN107343202B (zh) 基于附加码率的无反馈分布式视频编解码方法
CN104038768B (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: 20170718

Termination date: 20190605