环路滤波编解码方法及装置的制作方法

文档序号:7707986阅读:146来源:国知局
专利名称:环路滤波编解码方法及装置的制作方法
技术领域
本发明涉及视频压缩编码技木,尤其涉及ー种环路滤波编解码方法及装置。
背景技术
目前,环路滤波的典型应用是自适应环路滤波器(ALF, Adaptive Loop Filter)。以ALF为例对现有的环路滤波方法进行说明。在视频压缩编码中,编码器和解码器通过使用ALF对解码恢复图像进行滤波,以进一歩降低恢复图像的量化噪声,提高恢复图像质量。由于解码恢复图像将用作运动补偿预测过程的參考图像,因此,ALF还可有助于提高运动预测的效率,提高编码效率。现有技术对ALF相关信息的编码方法主要可以如下步骤步骤1,在序列參数集(SPS, Sequence Parameter Set)中编码当前视频序列是否可使用ALF的标识信息和必要的參数信息。如果允许使用ALF标识信息,则执行步骤2;否则,ALF相关信息编码结束。步骤2,在分片(slice)的头信息中编码当前分片是否使用ALF的标识信息。如果当前分片使用ALF的标识信息,则执行步骤3 ;否则,该分片的ALF相关信息编码过程结束。步骤3,在分片头信息中进ー步编码ALF的其它相关信息,如滤波器形状、滤波器系数、编码单元(CU,Coding Unit) ALF控制信息等。实际测试表明,使用ALF可有效提高编码效率。但采用SPS整体ALF标识的滤波方法,其计算、存储复杂度很大。特别地,对于使用ALF的解码器,ALF所帯来的复杂度平均可达70%。某些典型配置下,ALF所帯来的平均解码复杂度甚至可高达90%。尽管编码器使用了分片层自适应ALF控制方法,仍不能有效地在复杂度与编码效率之间取得折衷,无法充分发挥ALF对编码效率的贡献。具体地,现有的环路滤波方法主要存在如下缺陷第一,采用SPS整体ALF标识的方法,尽管可以为编码器ALF模块的优化提供较大的灵活度,但并不能有效地提供解码器复杂度可伸縮性,不能灵活控制复杂度和编码效率之间的折衷性能。另外,对于要求低计算复杂度的编解码应用,编码器往往采用“整体关闭ALF”的方法以控制编解码复杂度,以至于不能充分利用ALF对编码效率的贡献。第二,由于使用序列參数集整体标识的方法编码“是否使用ALF”的标识信息,在为控制复杂度而仅需对某些图像、或图像组、或某个时间段内的图像使用ALF时,其它图像的相关分片头信息中仍需要编码ALF相关的标识信息,以至于码流中存在不必要的信息冗余。第三,ALF对编码效率的贡献主要体现在降低图像量化噪声和提高运动补偿预测參考图像质量两个方面,且后者往往起主导作用。就运动补偿预测过程而言,现有语法単元可反映图像对该处理过程效率的影响。而现有方法采用序列參数整体标识,未能充分使用可利用的ALF与现有语法単元之间的隐含推导方法,来节省不必要的信息冗余。

发明内容
有鉴于此,本发明的主要目的在于提供ー种环路滤波编解码方法及装置,以解决现有的环路滤波方法不能有效地在复杂度与编码效率之间取得折衷的问题。为达到上述目的,本发明的技术方案是这样实现的本发明提供了ー种环路滤波编码方法,所述方法包括设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;根据所述环路滤波模式,生成參数集;根据所生成的參数集,进行编码。 在上述方案中,所述方法具体为确定两种或两种以上能够用于编码过程的所述环路滤波模式;对于所述各环路滤波模式,分别生成包含有所述环路滤波模式的环路滤波标识信息的一个或多个參数集;确定当前编码过程中所使用的环路滤波模式并根据当前编码过程中所使用环路滤波模式对应的參数集,进行编码。在上述方案中,所述两种或两种以上环路滤波模式包括如下环路滤波模式中的任意两种或两种以上表示允许每个分片使用环路滤波的第零环路滤波模式;表示仅允许帧内编码分片使用环路滤波的第一环路滤波模式; 表示仅允许在用于帧间预测參考的图像中的分片使用环路滤波的第二环路滤波模式;表示在分片的图像序号(POC)值为环路滤波刷新周期的整数倍时,允许在所述分片使用环路滤波的第三环路滤波模式;表示所有分片均不允许使用环路滤波的第四环路滤波模式。在上述方案中,所述方法具体为确定当前编码过程所使用的环路滤波模式;生成包含有所确定环路滤波模式的环路滤波标识信息的參数集;根据所生成的參数集,进行编码。在上述方案中,所述环路滤波模式为如下环路滤波模式中的任意ー种表示允许每个分片使用环路滤波的第零环路滤波模式;表示仅允许帧内编码分片使用环路滤波的第一环路滤波模式; 表示仅允许在用于帧间预测參考的图像中的分片使用环路滤波的第二环路滤波模式;表示在分片的POC值为环路滤波刷新周期的整数倍时,允许在所述分片使用环路滤波的第三环路滤波模式;表示所有分片均不允许使用环路滤波的第四环路滤波模式。在上述方案中,所述确定用于指示环路滤波在编码过程中使用方式的环路滤波模式,具体为根据下述因素中的ー种或多种具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力,确定用于指示环路滤波在编码过程中使用方式的环路滤波模式。在上述方案中,所述生成包含有所述环路滤波模式的环路滤波标识信息的參数集之后,所述方法还包括为所生成的參数集分配用于标识所述參数集的參数集索引序号。在上述方案中,所述根据所生成的參数集,进行编码,包括将所述參数集的信息写入码流,在分片层编码过程中将所述參数集索引序号写入当前编码单元中的分片层头信息,并确定编码使用的滤波器,将所述滤波器的參数写入到所述分片层头信息。在上述方案中,所述确定编码使用的滤波器,包括根据各候选滤波器的复杂度与去噪声性能,对所有候选滤波器进行分组,得到一个或多个候选滤波器组;计算得到当前编码单元的图像重要性參数; 根据计算得到的图像重要性參数、以及所得到的ー个或多个候选滤波器组,为当前编码单元选择编码使用的滤波器。在上述方案中,所述方法还包括验证当前编码单元进行编码时所确定的环路滤波模式,与上一个编码単元进行编码时所确定的环路滤波模式是否相同;如果不是,则调整当前使用的參数集;如果是,则不调整当前使用的參数集。在上述方案中,所述调整当前使用的參数集,包括验证对应当前编码单元进行编码时所确定环路滤波模式的參数集是否存在,如果是,直接将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集;如果不是,生成当前编码单元进行编码时所确定环路滤波模式对应的參数集,并将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集。在上述方案中,所述验证当前编码单元进行编码时所确定的环路滤波模式,与上一个编码单元进行编码时所确定的环路滤波模式是否相同之前,所述方法还包括动态监控当前编码过程中可用资源的变化情况,获得当前编码过程中的可用资源信息;根据所述可用资源信息,确定当前编码单元进行编码时的环路滤波模式。在上述方案中,所述方法还包括根据所获得的上一次编码过程中的信源特性參数、和编码器控制辅助參数,确定当前编码过程中各图像或各视频区段使用的环路滤波模式;根据所述当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集,分别对所述各图像或各视频区段进行编码。在上述方案中,所述方法还包括为当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集重新分配參数集索引序号;根据所述当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集,分别对所述各图像或各视频区段进行编码,为根据所述重新分配參数集索引序号后得到的各參数集,分别对所述各图像或各视频区段进行编码。在上述方案中,所述为当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集重新分配參数集索引序号,包括根据所述各图像或各视频区段的环路滤波模式在当前编码过程中使用次数,按照使用次数由多到少,对所述各环路滤波模式进行排序;按照所述各环路滤波模式的排序顺序,为所述各环路滤波模式对应的參数集,依次分配数值由小到大的參数集索引序号。本发明还提供了一种编码器,所述编码器包括确定模块、生成模块和编码模块;其中,确定模块,用于设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;生成模块,用于根据所述确定模块设置的环路滤波模式,生成參数集;编码模块,用于根据所述生成模块生成的參数集,进行编码。在上述方案中,所述确定模块,还用于确定两种或两种以上能够用于编码过程的所述环路滤波模式; 生成模块,还用于对于所述确定模块所确定的各环路滤波模式,分别生成包含有所述环路滤波模式的环路滤波标识信息的一个或多个參数集;编码模块,还用于确定当前编码过程中所使用的环路滤波模式并根据当前编码过程中所使用环路滤波模式对应的參数集,进行编码。在上述方案中,所述确定模块,还用于确定当前编码过程所使用的环路滤波模式; 生成模块,还用于生成包含有所述确定模块所确定环路滤波模式的环路滤波标识信息的參数集;编码模块,还用于根据所述生成模块生成的參数集,进行编码。在上述方案中,所述确定模块,还用于根据下述因素中的ー种或多种,确定用于指示环路滤波在编码过程中使用方式的环路滤波模式具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力。在上述方案中,所述生成模块,还用于为所生成的參数集分配用于标识所述參数集的參数集索引序号;所述编码模块,还用于将所述參数集的信息写入码流,在分片层编码过程中将所述參数集索引序号写入当前编码单元中的分片层头信息,并确定编码使用的滤波器,将所述滤波器的參数写入到所述分片层头信息。在上述方案中,所述编码模块,还用于采用如下方法确定编码使用的滤波器根据各候选滤波器的复杂度与去噪声性能,对所有候选滤波器进行分组,得到一个或多个候选滤波器组;计算得到当前编码单元的图像重要性參数;根据计算得到的图像重要性參数、以及所得到的ー个或多个候选滤波器组,为当前编码单元选择编码使用的滤波器。在上述方案中,所述编码器还包括验证模块和调整模块,其中,调整模块,用于调整当前使用的參数集;验证模块,用于当前编码单元进行编码时所确定的环路滤波模式,与上一个编码单元进行编码时所确定的环路滤波模式是否相同,并在不相同时,启动所述调整模块。在上述方案中,所述调整模块,还用于验证对应当前编码单元进行编码时所确定环路滤波模式的參数集是否存在,如果是,直接将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集;如果不是,通过所述生成模块生成当前編码单元进行编码时所确定环路滤波模式对应的參数集,并将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集。在上述方案中,所述确定模块,还用于所获得的上一次编码过程中的信源特性參数、和编码器控制辅助參数,确定当前编码过程中各图像或各视频区段使用的环路滤波模式;所述编码模块,还用于根据所述确定模块所确定的、当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集,分别对所述各图像或各视频区段进行编码。本发明还提供了ー种环路滤波解码方法,所述方法包括对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码;
对分片层中环路滤波模式的环路滤波标识信息进行解码;其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。在上述方案中,所述对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码,包括读取參数集相关码流中的比持,得到用于标识所述环路滤波标识信息的各语法单元的取值,并将所述各语法単元的取值赋给所述參数集数据结构中的对应变量。在上述方案中,所述对分片层中环路滤波模式的环路滤波标识信息进行解码,包括获得所述參数集中用于标识所述环路滤波标识信息的各语法单元的取值,并将所述语法単元的取值传递给分片层数据结构的对应变量。在上述方案中,所述方法还包括根据解码得到的环路滤波标识信息,对分片层中的环路滤波器相关參数进行解析。本发明还提供了一种解码器,所述解码器包括第一解码单元和第二解码单元,其中,第一解码单元,用于对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码;第二解码单元,用于对分片层中环路滤波模式的环路滤波标识信息进行解码;其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。在上述方案中,所述第一解码单元,还用于读取參数集相关码流中的比特,得到用于标识所述环路滤波标识信息的各语法单元的取值,并将所述各语法単元的取值赋给所述參数集数据结构中的对应变量。在上述方案中,所述第二解码单元,还用于获得所述參数集中用于标识所述环路滤波标识信息的各语法单元的取值,并将所述语法単元的取值传递给分片层数据结构的对
应变量。在上述方案中,所述第二解码单元,还用于根据解码得到的环路滤波标识信息,对分片层中的环路滤波器相关參数进行解析。本发明还提供了ー种电子设备,所述电子设备包括编码器和/或解码器,其中,所述编码器包括确定模块、生成模块和编码模块,确定模块用于设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;生成模块用于根据所述确定模块设置的环路滤波模式,生成參数集;编码模块用于根据所述生成模块生成的參数集,进行编码;所述解码器包括第一解码单元和第二解码单元,第一解码单元,用于对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码;第二解码单元,用于对分片层中环路滤波模式的环路滤波标识信息进行解码;其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。本发明提供的环路滤波编解码方法及装置中,通过生成对应编码过程所确定环路滤波模式的參数集,并根据所生成的參数集,进行编码,从而可以通过根据视频应用预设的、ー种或多种环路滤波模式进行编码,实现了编码、解码过程中图像间复杂度的优化分配,提高了编解码器复杂度与编码效率之间的折衷性能。此外,本发明还使用现有语义将图像重要性、处理复杂度等因素的隐含推导应用 于环路滤波的编解码过程,降低环路滤波相关头信息开销。此外,本发明还可以在编码过程中动态调整环路滤波模式,以便于在不同重要性图像之间进行环路滤波的复杂度分配,提高编解码器计算复杂度和编码效率的折衷性能。


图I为本发明环路滤波编码方法的实现流程图;图2为本发明实施例一中对PPS中所添加的ALF标识信息进行解析的流程图;图3为本发明实施例一中解析分片层信息中ALF标识信息的流程图;图4为本发明实施例ニ采用单一的ALF模式进行一次编码的实现流程图;图5为本发明实施例三采用多种ALF模式进行一次编码的实现流程图;图6为本发明实施例四确定编码过程所使用滤波器的实现流程图;图7为本发明实施例五对视频图像进行两次编码的实现流程图。
具体实施例方式本发明中所涉及的“复杂度与编码效率之间的折衷”及其类似或相关表述包含如下三个方面含义第一,编码效率的提高是以合理的复杂度增加甚至降低为代价获取的;复杂度的降低是以可忽略的编码效率损失甚至编码效率提高为代价获取的。第二,编码器或解码器合理分配计算、储存等资源,以合理的复杂度增加甚至降低的前提下,提高编码效率;或在编码效率损失可忽略甚至有所提高的前提下,降低编码器或解码器的整体复杂度。第三,编码器或解码器在编码或解码不同图像、不同分片、不同基本编码单元过程中使用复杂度不同的处理方法,以合理的整体复杂度增加甚至降低为代价获得编码效率的提高,或以可忽略的编码效率损失甚至编码效率提高为代价,降低编码器或解码器的整体复杂度。本发明的基本思想是根据视频通信的应用设置多种用于指示环路滤波使用方式的环路滤波模式,并生成对应所述各环路滤波模式的多个參数集;根据所述參数集中,根据与当前编码过程的环路滤波模式对应的參数集,进行编码。如此,能够结合编码器复杂度分配和优化,编码过程中在不同重要性图像之间进行环路滤波的复杂度分配,提高编解码器计算复杂度和编码效率的折衷性能,减少码流中的信息冗余。本发明的环路滤波编码方法,參照图I所示,主要可以包括以下步骤步骤101 :设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;
步骤102 :根据所述环路滤波模式,生成參数集;步骤103 :根据所生成的參数集,进行编码。其中,所述參数集为某些包含有图像公共參数的数据结构、图像解码过程中使用分片头信息标识的參数集中的标记和參数。例如,序列參数集、图像參数集、或具有类似应用性质的数据结构。具体地,所述方法可以通过以下两种方式实现第一,确定两种或两种以上能够用于编码过程的所述环路滤波模式;对于所述各环路滤波模式,分别生成包含有所述环路滤波模式的环路滤波标识信息的一个或多个參数集;确定当前编码过程中所使用的环路滤波模式并根据当前编码过程中所使用环路滤波模式对应的參数集,进行编码。

第二,确定当前编码过程所使用的环路滤波模式;生成包含有所确定环路滤波模式的环路滤波标识信息的參数集;根据所生成的參数集,进行编码。其中,所述环路滤波模式的环路滤波标识信息包含有用于指示环路滤波标识方式的參数,或包含有用于指示环路滤波标识方式的參数和所述參数的辅助參数。其中,用于指示环路滤波标识方式的參数可以包括用于标识是否允许图像中所有分片使用环路滤波的參数和用于标识图像中所有分片使用环路滤波的方式的參数;所述辅助參数具体为用于标识图像中所有分片使用环路滤波的方式的參数的辅助參数,可以包括环路滤波的刷新周期
坐寸ο所述环路滤波模式可以根据分片层、编码単元层等码流组织中其它语法单元进行构造。在分片的编码过程中,仅在构造条件成立的情况下,允许使用环路滤波。所述环路滤波模式可以是如下环路滤波模式中的ー种或多种表示允许每个分片使用环路滤波的第零环路滤波模式,表示仅允许帧内编码分片使用环路滤波的第一环路滤波模式,表示仅允许在用于帧间预测參考的图像中的分片使用环路滤波的第二环路滤波模式,表示在分片的图像序号(POC, Picture Order Count)值为环路滤波刷新周期的整数倍时,允许在所述分片使用环路滤波的第三环路滤波模式,表示所有分片均不允许使用环路滤波的第四环路滤波模式。其中,第零环路滤波模式每个分片均允许使用环路滤波,根据档次(Profile)和级别(Level)中的限制条件,使用分片层自适应技术确定滤波器參数和使用环路滤波的图像区域,适用于要求高编码效率、且编解码器容许使用高复杂度算法。例如,使用PC的非实时视频下载或点播,家庭影院等。第一环路滤波模式仅帧内编码分片允许使用环路滤波,根据档次和级别中的限制条件,使用分片层自适应技术确定滤波器參数和使用环路滤波的图像区域,适用于低解码复杂度或低编码复杂度的应用,如移动终端视频播放、便携式摄像机等。第二环路滤波模式仅帧间预测參考的图像中的分片允许使用环路滤波,根据档次和级别中的限制条件,使用分片层自适应技术确定滤波器參数和使用环路滤波的图像区域。该模式适用于中等复杂度的解码或编码应用。第三环路滤波模式周期性环路滤波刷新模式,仅当分片的POC值为环路滤波刷新周期的整数倍时,允许在该分片的编码、解码过程中使用环路滤波,井根据档次和级别中的限制条件,使用分片层自适应技术确定滤波器參数和使用环路滤波的图像区域。该模式可通过进ー步设置环路滤波刷新周期,应用于低、中、高复杂度的解码和编码应用。该模式的环路滤波标识信息需要包含辅助參数,该辅助參数是环路滤波刷新周期。其中,对于所述两种或两种以上的环路滤波模式中任意一种环路滤波模式,可以生成对应所述环路滤波模式的一个或多个參数集。例如,对于上述的第三环路滤波模式,可以根据环路滤波刷新周期的不同,生成多个參数集。对于上述的第零环路滤波模式、第一环路滤波模式和第二环路滤波模式,对应每个环路滤波模式,可以生成一个对应的參数集。其中,可以根据下述因素中的ー种或多种具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力,确定用于指示环路滤波在编码过程中使用方式的环路滤波模式。其中,生成包含有所述环路滤波模式的环路滤波标识信息的參数集之后,还为所生成的參数集分配用于标识所述參数集的參数集索引序号。具体地,根据所生成的參数集,进行编码,可以包括将所述參数集的信息写入码 流,在分片层编码过程中将所述參数集索引序号写入当前编码单元中的分片层头信息,并确定编码使用的滤波器,将所述滤波器的參数写入到所述分片层头信息。这里,所述确定编码使用的滤波器的过程,可以包括根据各候选滤波器的复杂度与去噪声性能,对所有候选滤波器进行分组,得到ー个或多个候选滤波器组;计算得到当前编码单元的图像重要性參数;根据计算得到的图像重要性參数、以及所得到的ー个或多个候选滤波器组,为当前编码单元选择编码使用的滤波器。此外,还可以通过现有的使用分片层候选环路滤波器选择与控制方法,确定编码使用的滤波器。这里,将所述滤波器的參数写入所述分片头信息中,具体是将用于表示分片层码流中是否存在环路滤波參数的标识信息、环路滤波相关滤波器參数、CU层ALF控制标识信息等。其中,环路滤波相关滤波器參数相关码流也可能出现在參数集(如PPS或其它包含图像/分片公共信息的參数集)中。这里,以分片层码流为例进行说明。其中,环路滤波相关滤波器參数可以包括滤波器自适应方法、滤波器系数、滤波器类型信息、滤波器系数预测编码方法等,CU层ALF控制标识信息可以包括是否使用滤波器CU层控制的标识信息、滤波器CU层控制方法及相关CU是否使用滤波器进行滤波操作的标识信息等。其中,所述方法还可以包括验证当前编码单元进行编码时所确定的环路滤波模式,与上一个编码单元进行编码时所确定的环路滤波模式是否相同;如果不是,则调整当前使用的參数集;如果是,则不调整当前使用的參数集。具体地,验证对应当前编码单元进行编码时所确定环路滤波模式的參数集是否存在,如果是,直接将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集;如果不是,生成当前编码单元进行编码时所确定环路滤波模式对应的參数集,并将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集。这里,验证当前编码单元进行编码时所确定的环路滤波模式,与上一个编码単元进行编码时所确定的环路滤波模式是否相同之前,还可以动态监控当前编码过程中可用资源的变化情况,获得当前编码过程中的可用资源信息;根据所述可用资源信息,确定当前編码单元进行编码时的环路滤波模式。
其中,所述方法还可以包括根据所获得的上一次编码过程中的信源特性參数、和编码器控制辅助參数,确定当前编码过程中各图像或各视频区段使用的环路滤波模式;根据所述当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集,分别对所述各图像或各视频区段进行编码。这里,还可以为当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集重新分配參数集索引序号;根据所述重新分配參数集索引序号后得到的各參数集,分别对所述各图像或各视频区段进行编码。具体地,根据所述各图像或各视频区段的环路滤波模式在当前编码过程中的使用次数,按照使用次数由多到少,对所述各环路滤波模式进行排序;按照所述各环路滤波模式的排序顺序,为所述各环路滤波模式对应的參数集,依次分配数值由小到大的參数集索引序号。相应的,本发明还提供了一种编码器,所述编码器包括确定模块、生成模块和编 码模块;其中,确定模块,用于设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;生成模块,用于根据所述确定模块设置的环路滤波模式,生成參数集;编码模块,用于根据所述生成模块生成的參数集,进行编码。具体地,所述确定模块,还用于确定两种或两种以上能够用于编码过程的所述环路滤波模式;生成模块,还用于对于所述确定模块所确定的各环路滤波模式,分别生成包含有所述环路滤波模式的环路滤波标识信息的一个或多个參数集;编码模块,还用于确定当前编码过程中所使用的环路滤波模式并根据当前编码过程中所使用环路滤波模式对应的參数集,进行编码。具体地,所述确定模块,还用于确定当前编码过程所使用的环路滤波模式;生成摸块,还用于生成包含有所述确定模块所确定环路滤波模式的环路滤波标识信息的參数集;编码模块,还用于根据所述生成模块生成的參数集,进行编码。其中,所述确定模块,还用于根据下述因素中的ー种或多种,确定用于指示环路滤波在编码过程中使用方式的环路滤波模式具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力。其中,所述生成模块,还用于为所生成的參数集分配用于标识所述參数集的參数集索引序号;所述编码模块,还用于将所述參数集的信息写入码流,在分片层编码过程中将所述參数集索引序号写入当前编码单元中的分片层头信息,并确定编码使用的滤波器,将所述滤波器的參数写入到所述分片层头信息。其中,所述编码模块,还用于采用如下方法确定编码使用的滤波器根据各候选滤波器的复杂度与去噪声性能,对所有候选滤波器进行分组,得到ー个或多个候选滤波器组;计算得到当前编码单元的图像重要性參数;根据计算得到的图像重要性參数、以及所得到的ー个或多个候选滤波器组,为当前编码单元选择编码使用的滤波器。其中,所述编码器还包括验证模块和调整模块,其中,调整模块,用于调整当前使用的參数集;验证模块,用于当前编码单元进行编码时所确定的环路滤波模式,与上ー个编码单元进行编码时所确定的环路滤波模式是否相同,并在不相同时,启动所述调整模块。具体地,所述调整模块,还用于验证对应当前编码单元进行编码时所确定环路滤波模式的參数集是否存在,如果是,直接将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集;如果不是,通过所述生成模块生成当前编码单元进行编码时所确定环路滤波模式对应的參数集,并将当前使用的參数集调整为当前编码单元进行编码时所确定环路滤波模式对应的參数集。其中,确定模块,还用于所获得的上一次编码过程中的信源特性參数和编码器控制辅助參数,确定当前编码过程中各图像或各视频区段使用的环路滤波模式;所述编码模块,还用于根据所述确定模块所确定的、当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集,分别对所述各图像或各视频区段进行编码。本发明还提供了一种对应上述编码方法的环路滤波解码方法,所述方法包括对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码;对分片层中环路滤波模式的环路滤波标识信息进行解码;其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。
具体地,所述对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码,包括读取參数集相关码流中的比特,得到用于标识所述环路滤波标识信息的各语法单元的取值,并将所述各语法単元的取值赋给所述參数集数据结构中的对应变量。所述对分片层中环路滤波模式的环路滤波标识信息进行解码,包括获得所述參数集中用于标识所述环路滤波标识信息的各语法单元的取值,并将所述语法単元的取值传递给分片层数据结构的对应变量。其中,所述方法还包括根据解码得到的环路滤波标识信息,对分片层中的环路滤波器相关參数进行解析。相应的,本发明还提供了一种解码器,所述解码器包括第一解码单元和第二解码単元,其中,第一解码单元,用于对參数集相关码流中环路滤波模式的环路滤波标识信息进行解码;第二解码单元,用于对分片层中环路滤波模式的环路滤波标识信息进行解码;其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。具体地,所述第一解码单元,还用于读取參数集相关码流中的比特,得到用于标识所述环路滤波标识信息的各语法单元的取值,并将所述各语法単元的取值赋给所述參数集数据结构中的对应变量。具体地,所述第二解码单元,还用于获得所述參数集中用于标识所述环路滤波标识信息的各语法单元的取值,并将所述语法単元的取值传递给分片层数据结构的对应变量。其中,所述第二解码单元,还用于根据解码得到的环路滤波标识信息,对分片层中的环路滤波器相关參数进行解析。以下将以环路滤波的应用之一——ALF为例,对各实施例方法进行说明。其它环路滤波应用(如像素点自适应加性偏移量补偿(Sample Adaptive Offset,SAO))也可使用本发明方法及相应实施例取得复杂度与编码效率之间的折衷。实施例一本实施例中,详细说明上述环路滤波模式在參数集和分片层头信息的组织和标识方法,以及解码器对码流中对应所述环路滤波模式的环路滤波标识信息的解析方法。本实施例中,以在图像參数集(PPS,Picture Para meter Set)中使用变长编码的方法标识对应所述ALF模式的ALF标识信息为例,说明环路滤波模式在參数集的组织和标识方法。类似的,也可以在其它參数集的数据结构中对环路滤波模式进行组合和标识。其中,所述ALF标识信息包括用于指示ALF标识方式的參数,或者包含用于指示
ALF标识方式的參数和该參数的辅助參数。例如,用于指示ALF标识方式的參数可以包括表
I中的 adaptive_loop_filter_enable_flag 和 adaptive_loop_filter_pattern_idx,所述
參数的辅助參数可以是表I中的adaptive_loop_filter_period。只有在表2所示的ALF
模式3的ALF标识信息中需要包含辅助參数。具体地,本实施例中ALF标识信息在PPS中的标识方式如下表I所示。
pic—parameterset—rbspu {Descriptor
pic_parameter—setiduevvノ
seq—parameter—set—iduevv ノ
entropycodingmodeflagu (I)
num—ref—idxlOdefaultactive—minuslue(v)
num—ref—idxlldefaultactive—minuslue(v)
pic—init—qp—minus26se(v)
constrainedintrapredflagu (I)
adapt i veloop—Ii _Lter_enable_f lagu (I)
if(adaptive loop filter enable flag) {
adaptive_loop_fiIter—pattern—idxue vv;
if (adaptive—loop_filter—pattern_idx == 3) {
adaptiveloopfiIterperioduevv;
^}
I
rbsp—trailing—Dits()
I表I在表I中,所添加的ALF标识信息如第9-15行所示,“描述符(Descriptor) ”栏给
出了各语法单元取值的ニ进制表示方法。表 I 中,pic_parameter_set_ia、seq_parameter_set_id、entropy_codmg_mode_flag、num—ref—idx_10_default_active—minusl、num_ref_idx_ll_default_active_minusl、pic—init—qp—minus26、constrained—intra—pred—flag、adaptive_loop_filter_enable_flag、adaptive—loop—filter—pattern—idx、adaptive_loop_filter—period 分另表示需要写入码流的 语法单元的名称。具体地,adaptive—loop—filter—enable—flag用于标识是否允许图像中的所有分片使用ALF。在adaptive—loop—filter—enable—flag的值为0时,图像中所有分片均不可使用ALF,此时,可以认为对应ー种特殊的ALF模式,该ALF模式表示图像中所有分片不可使用ALF ;adaptive—loop—filter—enable—flag的值为I时,图像中所有分片均可使用ALF。adaptive—loop—filter—pattern—idx用于标识图像中所有分片所使用的ALF模式,adaptive—loop—filter—pattern—idx的值可以为各ALF模式的索引序号(如表2中的0、1、2、3),具体地,各ALF模式的索引序号与分片层ALF信息标识方式的对应关系如表2所
/Jn ο
adaptive_loop_filter_pattern_idx ALF标识信息在分片层信息中的标识方式
所有编码图像的分片层码流中均包含ALF
0
标识信息
仅在分片为顿内编码分片时,所述分片的
1
分片层码流包含ALF标识信息 仅在分片所在网络抽象层(NAL,Network Abstraction Layer)数据单元头信息中的标
2
识nal_ref_idc的值不为O时,所述分片的 分片层码流中包含ALF标识信息 仅在分片所在图像的POC值为ALF刷新_
3周期的整数倍时,所述分片的分片层码流
包含ALF标识信息表2其中,分片所在图像的POC值可以根据參数集、分片头信息中的相关參数直接计算得到。这里,分片层信息中的相关參数可以包括序列參数集中pic_order_cnt_type和log2_max_pic_order_cnt_lsb_minus4等语义单元的取值、分片层头信息中的语义单元PIc—order—cnt—Isb。adaptive—loop—filter—period用于标识ALF的刷新率,即按照播放顺序,姆隔(adaptive—loop—filter—period-Ι)幅图像,允许对紧接着的图像使用ALF。在adaptive—loop—filter—pattern—idx 的值为 3 时,需要在 PPS 中设置 adaptive—loop—filter—period的值。其中,ALF的刷新周期可以根据具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力等因素预先配置。例如,对于移动视频应用,终端设备检测到电池电量充足(如80%电量剩余)时,可直接告知编码器使用取值较小的刷新周期(如4、8等)以获得较高的压缩编码效率;反之,终端设备检测到电池电量不足(如20%电量剩余)时,可直接告知编码器使用取值较大的刷新周期(如16、32等),以尽量降低编码器电量消耗,并保证一定的编码效率。上述ALF标识信息的解码是通过采用表I中“Descriptor”给出的ニ进制表示方法的译码方式,将从码流中读取的ニ进制符号转换为对应语法单元项的取值。具体地,如图2所示,解码器对PPS中所添加的ALF标识信息进行解析的流程,具体包括如下步骤S201,解码器读取PPS相关码流中的比持,使用u (I)所对应的译码方法得到语法单元adaptive_loop_filter_enable_flag对应的取值,并将得到的值赋给PPS层数据结构中的变量 adaptive_loop_f i 11er_enabIe_f Iag ;S202,解码器判断变量 adaptive_loop_filter_enable_flag 的取值是否为 I,如 果是,则执行S203 ;如果不是,则结束码流中PPS的ALF标识信息解析过程;S203,解码器读取PPS相关码流中的比持,使用ue (v)所对应的译码方法得到语法单元adaptive_loop_filter_pattern_idx对应的取值,并将得到的值赋给PPS层数据结构中的变量 adaptive_loop_f ilter_pattern_iax ;S204,解码器判断变量 adaptive_loop_filter_pattern_idx 的取值是否为 3,如果是,则执行S205,继续解析ALF标识信息;否则,结束码流中PPS的ALF标识信息解析过程;S205,解码器读取PPS相关码流中的比持,使用ue (v)所对应的译码方法得到语法单元adaptive_loop_filter_period对应的取值,并将得到的值赋给PPS层数据结构中的变量adaptive_loop_filter_period,并结束码流中PPS的ALF标识信息解析过程。根据PPS中的ALF标识信息、各ALF模式对应的分片层ALF信息标识方式,分片层ALF信息标识方式如表3所示。
权利要求
1.一种环路滤波编码方法,其特征在于,所述方法包括 设置用于指示环路滤波在编码过程中使用方式的环路滤波模式; 根据所述环路滤波模式,生成参数集; 根据所生成的参数集,进行编码。
2.根据权利要求I所述环路滤波编码方法,其特征在于,所述方法具体为 确定两种或两种以上能够用于编码过程的所述环路滤波模式; 对于所述各环路滤波模式,分别生成包含有所述环路滤波模式的环路滤波标识信息的一个或多个参数集; 确定当前编码过程中所使用的环路滤波模式并根据当前编码过程中所使用环路滤波 模式对应的参数集,进行编码。
3.根据权利要求2所述环路滤波编码方法,其特征在于,所述两种或两种以上环路滤波模式包括如下环路滤波模式中的任意两种或两种以上 表示允许每个分片使用环路滤波的第零环路滤波模式; 表示仅允许帧内编码分片使用环路滤波的第一环路滤波模式; 表示仅允许在用于帧间预测参考的图像中的分片使用环路滤波的第二环路滤波模式; 表示在分片的图像序号(POC)值为环路滤波刷新周期的整数倍时,允许在所述分片使用环路滤波的第三环路滤波模式; 表示所有分片均不允许使用环路滤波的第四环路滤波模式。
4.根据权利要求I所述环路滤波编码方法,其特征在于,所述方法具体为 确定当前编码过程所使用的环路滤波模式; 生成包含有所确定环路滤波模式的环路滤波标识信息的参数集; 根据所生成的参数集,进行编码。
5.根据权利要求4所述环路滤波编码方法,其特征在于,所述环路滤波模式为如下环路滤波模式中的任意一种 表示允许每个分片使用环路滤波的第零环路滤波模式; 表示仅允许帧内编码分片使用环路滤波的第一环路滤波模式; 表示仅允许在用于帧间预测参考的图像中的分片使用环路滤波的第二环路滤波模式; 表示在分片的POC值为环路滤波刷新周期的整数倍时,允许在所述分片使用环路滤波的第三环路滤波模式; 表示所有分片均不允许使用环路滤波的第四环路滤波模式。
6.根据权利要求I所述环路滤波编码方法,其特征在于,所述确定用于指示环路滤波在编码过程中使用方式的环路滤波模式,具体为 根据下述因素中的一种或多种具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力,确定用于指示环路滤波在编码过程中使用方式的环路滤波模式。
7.根据权利要求I至6任一项所述环路滤波编码方法,其特征在于,所述生成包含有所述环路滤波模式的环路滤波标识信息的参数集之后,所述方法还包括为所生成的参数集分配用于标识所述参数集的参数集索引序号。
8.根据权利要求7所述环路滤波编码方法,其特征在于,所述根据所生成的参数集,进行编码,包括 将所述参数集的信息写入码流,在分片层编码过程中将所述参数集索引序号写入当前编码单元中的分片层头信息,并确定编码使用的滤波器,将所述滤波器的参数写入到所述分片层头信息。
9.根据权利要求8所述环路滤波编码方法,其特征在于,所述确定编码使用的滤波器,包括 根据各候选滤波器的复杂度与去噪声性能,对所有候选滤波器进行分组,得到一个或多个候选滤波器组; 计算得到当前编码单元的图像重要性参数; 根据计算得到的图像重要性参数、以及所得到的一个或多个候选滤波器组,为当前编码单元选择编码使用的滤波器。
10.根据权利要求1、2、3、4、5、6、8、和9中任一项所述环路滤波编码方法,其特征在于,所述方法还包括 验证当前编码单元进行编码时所确定的环路滤波模式,与上一个编码单元进行编码时所确定的环路滤波模式是否相同; 如果不是,则调整当前使用的参数集;如果是,则不调整当前使用的参数集。
11.根据权利要求10所述环路滤波编码方法,其特征在于,所述调整当前使用的参数集,包括 验证对应当前编码单元进行编码时所确定环路滤波模式的参数集是否存在,如果是,直接将当前使用的参数集调整为当前编码单元进行编码时所确定环路滤波模式对应的参数集;如果不是,生成当前编码单元进行编码时所确定环路滤波模式对应的参数集,并将当前使用的参数集调整为当前编码单元进行编码时所确定环路滤波模式对应的参数集。
12.根据权利要求10所述环路滤波编码方法,其特征在于,所述验证当前编码单元进行编码时所确定的环路滤波模式,与上一个编码单元进行编码时所确定的环路滤波模式是否相同之前,所述方法还包括 动态监控当前编码过程中可用资源的变化情况,获得当前编码过程中的可用资源信息; 根据所述可用资源信息,确定当前编码单元进行编码时的环路滤波模式。
13.根据权利要求1、2、3、4、5、6、8、9、10、11、12中任一项所述环路滤波编码方法,其特征在于,所述方法还包括 根据所获得的上一次编码过程中的信源特性参数、和编码器控制辅助参数,确定当前编码过程中各图像或各视频区段使用的环路滤波模式; 根据所述当前编码过程中各图像或各视频区段所使用环路滤波模式对应的参数集,分别对所述各图像或各视频区段进行编码。
14.根据权利要求13所述环路滤波编码方法,其特征在于, 所述方法还包括为当前编码过程中各图像或各视频区段所使用环路滤波模式对应的参数集重新分配参数集索引序号;根据所述当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集,分别对所述各图像或各视频区段进行编码,为根据所述重新分配參数集索引序号后得到的各參数集,分别对所述各图像或各视频区段进行编码。
15.根据权利要求14所述环路滤波编码方法,其特征在于,所述为当前编码过程中各图像或各视频区段所使用环路滤波模式对应的參数集重新分配參数集索引序号,包括 根据所述各图像或各视频区段的环路滤波模式在当前编码过程中使用次数,按照使用次数由多到少,对所述各环路滤波模式进行排序; 按照所述各环路滤波模式的排序顺序,为所述各环路滤波模式对应的參数集,依次分配数值由小到大的參数集索引序号。
16.一种编码器,其特征在于,所述编码器包括确定模块、生成模块和编码模块;其中, 确定模块,用于设置用于指示环路滤波在编码过程中使用方式的环路滤波模式; 生成模块,用于根据所述确定模块设置的环路滤波模式,生成參数集; 编码模块,用于根据所述生成模块生成的參数集,进行编码。
17.根据权利要求16所述的编码器,其特征在干, 所述确定模块,还用于确定两种或两种以上能够用于编码过程的所述环路滤波模式;生成模块,还用于对于所述确定模块所确定的各环路滤波模式,分别生成包含有所述环路滤波模式的环路滤波标识信息的一个或多个參数集; 编码模块,还用于确定当前编码过程中所使用的环路滤波模式并根据当前编码过程中所使用环路滤波模式对应的參数集,进行编码。
18.根据权利要求16所述的编码器,其特征在干, 所述确定模块,还用于确定当前编码过程所使用的环路滤波模式; 生成模块,还用于生成包含有所述确定模块所确定环路滤波模式的环路滤波标识信息的參数集; 编码模块,还用于根据所述生成模块生成的參数集,进行编码。
19.根据权利要求16、17或18所述的编码器,其特征在干, 所述确定模块,还用于根据下述因素中的ー种或多种,确定用于指示环路滤波在编码过程中使用方式的环路滤波模式具体应用需求、编码过程的可用计算资源与存储资源、视频信源特性、信源编码码率、接收端处理能力。
20.根据权利要求16所述的编码器,其特征在干, 所述生成模块,还用于为所生成的參数集分配用于标识所述參数集的參数集索引序号; 所述编码模块,还用于将所述參数集的信息写入码流,在分片层编码过程中将所述參数集索引序号写入当前编码单元中的分片层头信息,并确定编码使用的滤波器,将所述滤波器的參数写入到所述分片层头信息。
21.根据权利要求16所述的编码器,其特征在于,所述编码模块,还用于采用如下方法确定编码使用的滤波器 根据各候选滤波器的复杂度与去噪声性能,对所有候选滤波器进行分组,得到ー个或多个候选滤波器组;计算得到当前编码单元的图像重要性参数; 根据计算得到的图像重要性参数、以及所得到的一个或多个候选滤波器组,为当前编码单元选择编码使用的滤波器。
22.根据权利要求16所述的编码器,其特征在于,所述编码器还包括验证模块和调整模块,其中, 调整模块,用于调整当前使用的参数集; 验证模块,用于当前编码单元进行编码时所确定的环路滤波模式,与上一个编码单元进行编码时所确定的环路滤波模式是否相同,并在不相同时,启动所述调整模块。
23.根据权利要求22所述的编码器,其特征在于, 所述调整模块,还用于验证对应当前编码单元进行编码时所确定环路滤波模式的参数集是否存在,如果是,直接将当前使用的参数集调整为当前编码单元进行编码时所确定环路滤波模式对应的参数集;如果不是,通过所述生成模块生成当前编码单元进行编码时所确定环路滤波模式对应的参数集,并将当前使用的参数集调整为当前编码单元进行编码时所确定环路滤波模式对应的参数集。
24.根据权利要求16、17、18、20、21、22、和23中任一项所述的编码器,其特征在于, 所述确定模块,还用于所获得的上一次编码过程中的信源特性参数、和编码器控制辅助参数,确定当前编码过程中各图像或各视频区段使用的环路滤波模式; 所述编码模块,还用于根据所述确定模块所确定的、当前编码过程中各图像或各视频区段所使用环路滤波模式对应的参数集,分别对所述各图像或各视频区段进行编码。
25.—种环路滤波解码方法,其特征在于,所述方法包括 对参数集相关码流中环路滤波模式的环路滤波标识信息进行解码; 对分片层中环路滤波模式的环路滤波标识信息进行解码; 其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。
26.根据权利要求25所述环路滤波解码方法,其特征在于,所述对参数集相关码流中环路滤波模式的环路滤波标识信息进行解码,包括 读取参数集相关码流中的比特,得到用于标识所述环路滤波标识信息的各语法单元的取值,并将所述各语法单元的取值赋给所述参数集数据结构中的对应变量。
27.根据权利要求25所述环路滤波解码方法,其特征在于,所述对分片层中环路滤波模式的环路滤波标识信息进行解码,包括 获得所述参数集中用于标识所述环路滤波标识信息的各语法单元的取值,并将所述语法单元的取值传递给分片层数据结构的对应变量。
28.根据权利要求25至27任一项所述环路滤波解码方法,其特征在于,所述方法还包括 根据解码得到的环路滤波标识信息,对分片层中的环路滤波器相关参数进行解析。
29.一种解码器,其特征在于,所述解码器包括第一解码单元和第二解码单元,其中, 第一解码单元,用于对参数集相关码流中环路滤波模式的环路滤波标识信息进行解码; 第二解码单元,用于对分片层中环路滤波模式的环路滤波标识信息进行解码; 其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。
30.根据权利要29所述的解码器,其特征在于,所述第一解码单元,还用于读取参数集相关码流中的比特,得到用于标识所述环路滤波标识信息的各语法单元的取值,并将所述各语法单元的取值赋给所述参数集数据结构中的对应变量。
31.根据权利要29所述的解码器,其特征在于,所述第二解码单元,还用于获得所述参数集中用于标识所述环路滤波标识信息的各语法单元的取值,并将所述语法单元的取值传递给分片层数据结构的对应变量。
32.根据权利要求29至31任一项所述的解码器,其特征在于,所述第二解码单元,还用于根据解码得到的环路滤波标识信息,对分片层中的环路滤波器相关参数进行解析。
33.一种电子设备,其特征在于,所述电子设备包括编码器和/或解码器,其中, 所述编码器包括确定模块、生成模块和编码模块,确定模块用于设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;生成模块用于根据所述确定模块设置的环路滤波模式,生成参数集;编码模块用于根据所述生成模块生成的参数集,进行编码; 所述解码器包括第一解码单元和第二解码单元,第一解码单元,用于对参数集相关码流中环路滤波模式的环路滤波标识信息进行解码;第二解码单元,用于对分片层中环路滤波模式的环路滤波标识信息进行解码;其中,所述环路滤波模式用于指示环路滤波在编码过程中的使用方式。
全文摘要
本发明公开了一种环路滤波编码方法,所述方法包括设置用于指示环路滤波在编码过程中使用方式的环路滤波模式;根据所述环路滤波模式,生成参数集;根据所生成的参数集,进行编码。相应的,本发明还公开了环路滤波解码方法、编码器、解码器和电子设备,本发明实现了编码、解码过程中图像间复杂度的优化分配,提高了编解码器复杂度与编码效率之间的折衷性能。
文档编号H04N7/32GK102857746SQ20111017665
公开日2013年1月2日 申请日期2011年6月28日 优先权日2011年6月28日
发明者李明, 吴平, 张雯 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1