首页> 中国专利> 自适应画面组(GOP)结构选择的方法和装置

自适应画面组(GOP)结构选择的方法和装置

摘要

提出了一种用于自适应画面组结构选择的方法和装置。该装置包括编码器(100),用于通过针对视频序列的每一个画面组,执行画面编码次序选择、画面类型选择以及参考画面选择,使用画面组结构来对视频序列进行编码。该选择基于画面组长度。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-26

    专利权的转移 IPC(主分类):H04N7/26 登记生效日:20190131 变更前: 变更后: 申请日:20070130

    专利申请权、专利权的转移

  • 2019-02-26

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N7/26 变更前: 变更后: 申请日:20070130

    专利权人的姓名或者名称、地址的变更

  • 2011-07-06

    授权

    授权

  • 2009-04-29

    实质审查的生效

    实质审查的生效

  • 2009-03-04

    公开

    公开

说明书

相关申请的交叉参考

本申请要求在2006年2月6日提交的美国临时申请No.60/765,552的利益,其全部公开一并在此作为参考。

技术领域

本发明总体上涉及视频编码,更具体地,涉及一种用于自适应画面组(GOP)结构选择的方法和装置。

背景技术

通常,在先前和当前视频编码标准和推荐标准中,画面组(GOP)结构仅涉及GOP长度(N)和画面类型(即,P画面间隔M)选择。例如,这种先前的视频编码标准和推荐标准包括:国际标准化组织/国际电工委员会(ISO/IEC)运动画面专家组-1(MPEG-1)标准、ISO/IECMPEG-2标准以及国际电信联盟电信分部(ITU-T)H.263推荐标准。新的视频压缩标准/推荐标准,ISO/IEC MPEG-4 Part 10 AdvancedVideo Coding(AVC)标准/ITU-T H.264推荐标准(以下称为“MPEG-4AVC标准”),提出了几种新的工具来改进编码效率。

类似于先前的视频编码标准和推荐标准,该MPEG-4 AVC标准使用/支持三种不同的画面(图像片段)类型(I、P和B画面(图像片段))。此外,MPEG-4 AVC标准包括新的工具/特征来改进编码效率。

例如,MPEG-4 AVC标准将参考画面的次序与显示次序去耦合。在现有技术的视频编码标准和推荐标准中,在出于运动补偿目的的画面的排序和出于显示目的的画面的排序之间存在着严格的相关性。在MPEG-4 AVC标准中,极大程度地去除了这些限制,使编码器能够更灵活地选择参考次序和显示次序。

此外,MPEG-4 AVC标准将画面表述方法与画面参考能力去耦合。在现有技术的视频编码标准和推荐标准中,B画面不能用作用于视频序列中其它画面的预测的参考。在MPEG-4 AVC标准中,没有这样的限制。可以使用任意类型的画面作为参考画面或非参考画面。

此外,该MPEG-4 AVC标准允许运动补偿的多参考画面。利用这些新的特征,当选择GOP结构时,不仅需要考虑GOP长度和画面类型选择,还需要考虑画面的编码次序和参考画面选择。

大多数与GOP结构相关的之前的工作关注于GOP长度和画面类型选择。通常,由应用固定GOP长度。当允许动态的GOP长度时,场景变化之后的第一画面被编码为I画面,并且下一个GOP合并在当前GOP中。

在第一现有技术方案中,公开了一种方法,其中通过考虑时域分割来适配GOP结构。也就是,根据输入视频的时域变化来调整画面类型。

在第二现有技术方案中,公开通过利用拉格朗日乘法方法求解最小化问题,可以从可能的候选中选择GOP中的最优画面类型。

在第三现有技术方案中,公开了一种系统,其中将宏块动作信息来判断画面类型。

如上所述,大多数与GOP结构相关的现有技术仅关注GOP长度和画面类型选择。然而,仅考虑GOP长度和画面类型不利地限制了MPEG-4 AVC标准的灵活性。

发明内容

本发明解决了现有技术的这些和其他缺陷和缺点,其针对一种自适应画面组(GOP)结构选择的方法和装置。

根据本发明的一个方面,提出了一种装置。该装置包括编码器,用于通过针对视频序列的每一个画面组执行画面编码次序选择、画面类型选择以及参考画面选择,使用画面组结构对视频序列进行编码。该选择基于画面组长度。

根据本发明的另一方面,提出了一种视频编码方法。该方法包括:通过针对视频序列的每一个画面组执行画面编码次序选择、画面类型选择以及参考画面选择,使用画面组结构对视频序列进行编码。该选择基于画面组的长度。

结合附图阅读下面的示例性实施例的详细描述,本发明的原理的这些和其它方面、特点和优点将变得显而易见。

附图说明

根据下面示例性的附图,可以更好地理解本发明,其中:

图1示出了根据本发明实施例可以应用本发明的示例视频编码器的方框图;

图2示出了根据本发明实施例的自适应画面组(GOP)结构选择的示例方法的流程图;

图3示出了根据本发明实施例的用于执行画面组(GOP)长度判断的示例方法的流程图;

图4示出了根据本发明实施例的用于确定画面编码次序的示例方法的流程图;

图5示出了根据本发明实施例的用于选择画面类型的示例方法的流程图。

具体实施方式

本发明针对自适应画面组(GOP)结构选择的方法和装置。

本说明书描述了本发明的原理。可以理解,尽管这里没有明确描述或示出,然而本领域的技术人员能够设想出体现本发明的原理并且包括在本发明的精神和范围内的各种设置。

因此,这里所引述的所有示例和条件性语言均为了教导的目的,以帮助读者理解本发明的原理以及发明人对现有技术做出贡献的概念,应被看作不会被限制为具体引述的示例和条件。

此外,这里对本发明的原理、方面、实施例及其特定示例做出引述的所有声明意在包括本发明的结构和功能上的等同物。另外,该等同物将包括当前已知的等同物以及将来开发出的等同物,即所开发出来的执行相同功能的任何组件,而与结构无关。

因此,本领域的技术人员可以理解,例如这里所表示的框图展示出体现本发明原理的示意性电路的概念图。类似地,可以理解,任何流程、流程图、状态转移图、伪代码等表现出实质上可以在计算机可读介质上表现的、并且由计算机或处理器执行的各个过程,无论是否明确示出该计算机或处理器。

可以通过使用专用硬件和能够与适合的软件一同执行软件的硬件而实现图中所示各个组件的功能。当由处理器来提供时,这些功能可以由单个的专用处理器、单个的共享处理器、或多个单独的处理器来提供,其中一些可以是共享的。此外,术语“处理器”或“控制器”的显式使用不应被解释为排他性地指代能够执行软件的硬件,而且可以隐式地包括(不限为)数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)以及非易失性存储器。

还可以包括常规和/或专用的其它硬件。类似地,图中所示的任何开关仅是概念上的。其功能可以通过程序逻辑的操作、专用逻辑、程序控制和专用逻辑的交互、或甚至是手动地而实现,实施者可以选择的具体技术可以从上下文中得到明确的理解。

在权利要求书中,表示为用于执行特定功能的装置的任何组件意在包括执行该功能的任何方式,例如包括:a)执行该功能的电路组件的组合,或b)任意形式的软件,包括固件、微代码等,以及用于执行该软件以执行该功能的适合的电路。由权利要求所限定的本发明在于如下事实:将各个引述的装置所提供的功能以权利要求所要求的方式组合在一起。因此,可以把能够提供这些功能的任意装置看作与这里所示的装置相等同。

在说明书中涉及本发明原理的“一个实施例”或“实施例”是指:结合实施例描述的特定特征、结构、特性等包括在本发明原理的至少一个实施例中。因此,贯穿说明书的不同地方出现的术语“在一个实施例中”或“在实施例中”不必均指相同的实施例。

转向图1,通常由参考数字100表示应用了本发明的示例性视频编码器。

求和结点110的非反相输入和运动估计器180的第一输入可以用作视频解码器100的输入。求和结点100的输出与变换器115的输入通过信号通信连接。变换器115的输出与量化器120的输入通过信号通信连接。量化器120的输出与可变长度编码器(VLC)140的输入通过信号通信连接。VLC 140的输出可以用作编码器100的输出。

量化器120的输出还通过信号通信与逆量化器150的输入连接。逆量化器150的输出通过信号通信与逆变换器的输入连接。在信号通信中,逆变换器的输出与参考画面存储器170的输入连接。参考画面存储器170的第一输出通过信号通信与运动估计器180的第二输入连接。运动估计器180的输出通过信号通信与运动补偿器190的第一输入连接。参考画面存储器170的第二输出通过信号通信与运动补偿器190的第二输入连接。运动补偿器190的输出通过信号通信与求和结点110的反相输入连接。

有利地,提供了一种用于画面组(GOP)结构选择的方法和装置,在实施例中,用于GOP结构选择的方法和装置可以包括在判断过程中分析GOP长度、画面编码次序、画面类型选择和画面参考判断。即,该方法和装置可以联合地考虑GOP结构选择的GOP长度、画面编码次序、画面类型选择和参考画面选择。

尽管描述了联合考虑GOP长度、画面编码次序、画面类型选择和参考画面判断的、具有自适应GOP结构的MPEG-4 AVC标准编码方案,可以设想,本发明并不局限于前述考虑,也不局限于MPEG-4AVC标准。即,根据这里提供的本发明的示教,在保持本发明的范围的同时,本领域的普通技术人员能够设想可以应用本发明的这些或各种其他考虑以及视频编码标准/推荐标准。

在一个实施例中,首先执行镜头检测(shot detection)。然后,基于时域分割来判断GOP长度。然后,在每一个GOP中,判断结合了画面类型和参考画面选择的画面编码次序。

转向图2,通常,通过参考数字200表示自适应画面组(GOP)结构判断的示例性方法。

方法200包括传递控制到功能块210的初始化块205。功能块210执行镜头检测,并传递控制到功能块215。该功能块215判断GOP长度N,并传递控制到功能块220。该功能块220确定画面编码次序,执行画面类型选择,并传递控制到功能块225。功能块225执行参考画面选择(例如,基于画面次序计数(POC)和/或相关性),并传递控制到功能块230。该功能块230编码GOP中的画面,并传递控制到判断块235。判断块235确定序列是否结束。如果是,则传递控制到结束块240。否则,返回控制到功能块210。

例如,现在,根据本发明的实施例来进一步描述由图2中方法200的功能块215执行的GOP长度的选择。

基于镜头检测来动态地选择GOP长度。不同于仅检测场景剪辑(scene cut)的现有方法,还检测诸如淡入和消失之类的慢过渡。通常,GOP长度N被固定为预定值。如果检测到场景剪辑,则长度为N的新GOP从场景剪辑后的第一画面重新开始,如果检测到慢过渡,则新GOP从过渡的起始点重新开始,并以过渡的结束点结束。

转向图3,通常,由参考数字300指示执行画面组(GOP)判断的示例性方法。方法300涉及图2中方法200的功能块215。

方法300包括传递控制到功能块310的初始化块305。功能块310执行镜头检测,并传递控制到功能块315。该功能块315确定是否检测到场景剪辑。如果是,则传递控制到功能块335。否则,传递控制到判断块320。

功能块335重新开始具有预定长度N的GOP,并传递控制到结束块330。

判断块320确定是否已经检测到慢过渡。如果是,则传递控制到功能块325。否则,传递控制到功能块340。

功能块325从过渡的起始点重新开始新GOP,并在过渡的结束点结束,并传递控制到结束块330。

功能块340将GOP长度设置为N,并传递控制到结束块330。

例如,现在,根据本发明的实施例来进一步描述由图2中方法200的功能块220执行的画面编码次序的确定。

基于内容的特征来判断每一个GOP中的画面编码次序。对于某些特定特征,像交叉变淡,淡入序列的反转编码(reverse coding)具有较高的编码效率。在两种情况下考虑从该点可以发生反转编码的切换点的检测。

在第一情况下,如果该序列是纯淡入,则将切换点设置成在满足延迟约束、解码的画面的缓存器(DPB)的大小以及淡入序列的结束画面的同时可以被反转的最大画面个数的最小值。由于将淡入编码为单个GOP,可以对GOP的开始处和GOP的结束处的画面反转地编码。

在第二情况下,如果序列是消失,则切换点的检测基于画面的简单绝对差。当然,可以设想还可以使用其他失真度量来检测切换点,同时保持本发明的范围。如下当前画面与开始画面和结束画面的失真:

distortion/start=∑|YFcur[x,y]-YFstart[x,y]|

distortion/end=∑|YFcur[x,y]-YFend[x,y]|

其中,Y表示画面的亮度值,x指定了图像的列索引,y指定了图像的行索引,YFcur表示当前帧的亮度值,YFstart表示起始帧的亮度值,以及YFend表示结束帧的亮度值。只要distortion/start>distortion/end就标记切换点。

大多开放情形中,应用延迟约束将反转编码限制在MPEG-4AVC标准所规定的解码器画面缓存器约束中。

转向图4,通常,由参考数字400指示用于确定画面编码次序的示例性方法。方法400涉及图2中方法200的功能块220。

方法400包括传送控制到功能块410的初始化块405。功能块410执行镜头检测,并传送控制到判断块415。判断块415确定是否已经检测到淡入和消失。如果是,则传送控制到功能块420。否则,传送控制到功能块425。

功能块420找到切换点,并传送控制到功能块425。

功能块425判断画面编码次序,并传送控制到结束块430。

例如,现在,根据本发明的实施例,进一步描述由图2中功能块220执行的画面类型选择的执行。

例如,按照表1所示确定的编码次序M=1,2,3,4选择画面类型。可以设想,本发明也可以应用到其它画面类型,包括但不局限于:等级B结构,同时保持本发明的范围。表1演示了画面类型和编码次序,其中“BS”表示存储的B画面,“B”表示可任意使用的B画面。将GOP中两个连续P画面之间的归一化距离用于判断M。将M选择为具有最小距离的值。可以使用多个距离度量,诸如图像的绝对差、直方图的差、差的直方图、差的块直方图、块的方差、运动补偿误差等等。即,本发明并不局限于使用任意特定距离度量,因此,根据本发明的示教,本领域和相关技术领域的普通技术人员可以很容易的设想任意距离度量,同时保持本发明的范围。在一个实施例中,使用差的直方图,即,由hod(i)表示的Yn-Ym的直方图,其中,i∈[-q+1,-q-1]。如下定义该距离度量:

D(Yn,Ym)=Σi|-a,a|hod(i)Σi=q+1i=q-1hod(i)

其中,a是用于确定位置到零的贴近度(closeness)的阈值。

 

M=1I0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 I12M=2I0 P2 B1 P4 B3 P6 B5 P8 B7 P10 B9 I12 B11M=3I0 P3 B1 B2 P6 B4 B5 P9 B7 B8 I12 B10 B11M=4I0 P4 BS2 B1 B3 P8 BS6 B5 B7 I12 BS10 B9 B11

表1

转向图5,通常,由参考数字500指示选择画面类型的示例性方法。方法500涉及图2的方法200的功能块220。

方法500包括将变量min_dist初始化为0xFFFF的初始化块505,并传递控制到有限循环块510。有限循环块510开始一个循环(i=1:4),对于画面组(GOP)中M个差值中的每一个进行循环,并传递控制到功能块515。功能块515计算归一化距离norm_dist,并传递控制到判断块520。判断块520确定是否norm_dist<min_dist。如果是,则传递控制到功能块525。否则,传递控制到结束循环的有限循环块530。

例如,现在,根据本发明的实施例,进一步描述由图2的功能块225执行的参考画面的执行。

参考画面选择可以在两个步骤执行。第一步骤包括判断是否存储当前编码的画面作为可能的参考画面,并判断从参考缓冲器中可以移除哪个之前存储的画面。第二步骤包括从参考列表中选择L参考画面(L是由编码器预定的值),以及判断可以用于每一个P/B画面编码的参考画面的次序。

为了示例性的目的,这里提供两个示例性算法。第一算法基于画面次序计数(POC),下文中将其称为“POC算法”。第二算法基于相关性度量,下文中将其称为“CORRELATION算法”。

在POC算法中,参考画面的移除基于POC的次序:首先移除具有最小POC数的画面。对于参考画面选择,首先重新排序参考列表,然后选择第一L画面作为参考画面。对于B画面,参考列表与初始化列表相同。对于P画面,按照与B画面的初始化列表0相同的方式,根据POC次序重新排序参考列表。

在CORRELATION算法中,步骤1与POC算法相同。在步骤2中,采用相关性度量用于参考画面选择和重新排序。使用与当前画面具有最高相关性的L参考画面。

在下文中,提供了一种使用直方图的差的算法。然而,可以设想本发明并不局限于在提供自适应画面组(GOP)结构选择中仅使用直方图的差,因此,其它度量包括但不局限于:也可以使用像素的绝对差,同时保持本发明的范围。

首先,如下计算参考画面j和当前画面i的亮度直方图差:

YHistoDiffref(j)=Σi=0nb_bins-1α(j)|YHistocur(i)-YHistoref(j)|

其中,YHistoDiff是亮度直方图的差,nb_bins表示bins的个数,及α(j)表示参考画面j的权重,参考画面j与当前画面i的距离为d(j)=|POC(i)-POC(j)|,向越接近当前画面的参考画面分配越小的权重。YHisto表示亮度的直方图,ref表示参考画面,以及cur表示当前画面。

可以采用如下线性权重:

a(j)=(1-(max_ref_distance-d(j))*0.1)

其中,max_ref_distance表示参考画面缓存器中的参考画面到当前画面的最大距离。如之前定义的,d(j)是参考画面j到当前画面I的距离。

给出本发明的多个附属优点/特征的一些的描述,其中一些已经在上文中描述过。例如,一个优点/特征是包括编码器的装置,所述编码器用于通过针对视频序列的每一个画面组执行画面编码次序选择、画面类型选择以及参考画面选择,使用画面组结构对视频序列进行编码。该选择基于画面组长度。

另一优点/特征是一种具有上述编码器的装置,其中编码器执行镜头检测来确定视频序列的时域分割,基于该时域分割判断画面组长度,并在视频序列的每一个画面组内,执行画面编码次序选择、画面类型选择和参考画面选择。另一个优点/特征是具有上述编码器的装置,其中编码器基于时域分割和视频序列中缺乏任意场景剪辑或慢过渡,将画面组长度设置为预定值,当检测到场景剪辑时,从场景剪辑后的第一画面中,重新开始具有画面组长度的视频序列的新画面组,当检测到慢过渡时,从慢过渡的起始点重新开始新画面组并在慢过渡的结束点处结束。

此外,另一个优点/特征是具有上述编码器的装置,其中视频序列包括淡入序列,编码器在淡入序列中针对淡入和消失使用反转编码。进一步,另一个优点/特征是具有上述使用反转编码的编码器的装置,其中编码器根据过渡类型判断用于反转编码的切换点。此外,另一个优点/特征是具有上述判断反转编码的切换点的编码器的装置,其中,当画面类型是纯淡入时,编码器将切换点设置为在满足延迟约束、解码的画面缓存器的约束以及淡入序列的结束画面的同时可以反转的最大画面数量的最小值。另外,另一个优点/特征是具有上述判断反转编码的切换点的编码器的装置,其中,当过渡类型是消失时,编码器基于画面的绝对差来检测切换点。

此外,另一个优点/特征是具有上述编码器的装置,其中,编码器基于归一化的距离,从画面类型的预定义类别中选择画面类型。此外,另一个优点/特征是具有上述从画面类型的预定类别中选择画面类型的编码器的装置,其中,用于从画面类型的预定类别中选择画面类型的选择标准包括:图像的绝对差、直方图的差、差的直方图、差的块直方图、块的方差或运动补偿误差中的至少一个。

同样,另一个优点/特征是具有上述的编码器的装置,其中编码器基于画面次序计数和相关性中的至少一个执行参考画面选择。

基于这里的示教,相关技术领域的一个普通技术人员可以真正的探知本发明的这些和其他特征和优势。应该理解,本发明的示教可以实施在各种不同类型的硬件,软件,固件,特殊目的处理器,或其组合中。

基于这里的教导,相关技术领域中的技术人员可以容易地获知本发明的这些和其他特征及优点。可以理解的是,本发明的教导可以以各种形式的硬件、软件、固件、专用处理器或其组合来实现。

最为优选地,本发明的教导以硬件和软件的组合来实现。此外,软件优选地以有形地体现在程序存储单元上的应用程序来实现。该应用程序可以上载到包括任意适合架构的机器,并由该机器执行。优选地,该机器在具有例如一个或更多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口的硬件的计算机平台上实现。该计算机平台还包括操作系统和微指令代码。这里描述的各个过程和功能可以是微指令代码的一部分,或是应用程序的一部分,或是其任何组合,其可以由CPU来执行。另外,可以把各种其他外围单元与计算机平台相连,例如附加的数据存储单元和打印单元。

还可以理解的是,由于附图中描述的某些构成系统的组件和方法优选地以软件来实现,所以系统组件或过程功能块之间的实际连接可能取决于本发明的实践方式而有所不同。在这里给出的教导的前提下,相关技术领域中的技术人员将能够设想本发明的这些和类似的实现或配置。

尽管已经参考附图描述了示意性实施例,然而可以理解,本发明不限于这些特定的实施例,在不背离本发明的范围或精神的前提下,相关技术领域中的技术人员可以实现各种改变和修改。所有这些改变和修改都将被看作落入所附权利要求限定的本发明的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号