CN118317108A - 基于多功能视频编码的处理方法及装置 - Google Patents
基于多功能视频编码的处理方法及装置 Download PDFInfo
- Publication number
- CN118317108A CN118317108A CN202410566910.XA CN202410566910A CN118317108A CN 118317108 A CN118317108 A CN 118317108A CN 202410566910 A CN202410566910 A CN 202410566910A CN 118317108 A CN118317108 A CN 118317108A
- Authority
- CN
- China
- Prior art keywords
- distortion cost
- precision
- rate
- current
- motion vector
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 230000001133 acceleration Effects 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 8
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供一种基于多功能视频编码的处理方法,包括:进行当前编码块的第一精度的预测并确定其率失真代价作为当前最优率失真代价;根据以下步骤进行其它精度的预测:根据参考图像构造当前遍历精度的预测运动矢量列表;根据预测运动矢量列表确定当前遍历精度的起始搜索点及其第一率失真代价;在第一率失真代价和当前最优率失真代价符合预设条件时,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价;根据第二率失真代价和当前最优率失真代价更新当前最优率失真代价。本申请实施例提供的方法,可以对AMVR进行加速的同时减少对编码效率和编码性能的影响,提高加速的效果。
Description
技术领域
本申请涉及视频技术领域,特别涉及一种基于多功能视频编码的处理方法、装置、计算机设备及存储介质。
背景技术
多功能视频编码(Versatile Video Coding,简称VVC),是2020年发布的最新编码标准,其和传统编码标准一样,采用了基于块的混合编码框架,分为帧内预测、帧间预测、变换、量化和熵编码等不同的模块。其中,帧间预测是使用邻近已编码的图像来预测当前图像以达到去除视频时域冗余的目的,对于当前图像的每个编码块会从参考帧中进行运动估计得到一个最佳匹配块,再进行运动补偿得到最终的预测块。最佳匹配块到当前编码块的位移被称为运动矢量(MV),MV与基于该参考帧构造的预测MV(MVP)的差异即MVD会被编码写入码流。为了提高运动矢量的精度和范围,VVC引入了编码块级的自适应运动矢量精度技术(AMVR)。AMVR技术允许每个编码块选择一种精度来表示MVD,在常规模式下总共有4种形式的精度:1/4像素精度、1/2像素精度、整像素精度、4倍整像素精度。
虽然AMVR技术能够更加高效的表达运动信息,但最终确定使用哪一种精度形式来表达运动信息是需要进行完整的遍历,选择率失真代价最小的精度形式作为最优选。若编码块在帧间预测时依次以4种不同的精度来进行运动估计和运动补偿,则带来的时间开销也是相当大的。因此现有编码器里面存在对AMVR技术的加速算法,可以实现一定程度的加速。
然而,目前的加速算法虽然有一定的加速效果,但仍然会对编码效率和编码性能造成较大的影响,仍存在进一步加速的空间。
发明内容
本申请的目的在于提供一种基于多功能视频编码的处理方法、装置、计算机设备及存储介质,用于解决以下技术问题:目前针对AMVR的加速算法仍然会对编码效率和编码性能造成较大的影响,仍存在进一步加速的空间。
本申请实施例的一个方面提供了一种基于多功能视频编码的处理方法,包括:进行当前编码块的第一精度的预测并确定所述第一精度对应的率失真代价作为当前最优率失真代价;根据以下步骤进行除所述第一精度外的其它精度的预测,直到所有精度都遍历完成:根据参考图像构造当前遍历精度的预测运动矢量列表;根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,并确定所述起始搜索点的第一率失真代价;在所述第一率失真代价和所述当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价;根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测。
可选地,所述根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,包括:根据率失真代价从所述预测运动矢量列表中确定出最优的预测运动矢量;将所述最优的预测运动矢量作为所述起始搜索点。
可选地,所述预设条件包括所述第一率失真代价大于所述当前最优率失真代价的N倍,所述N大于1。
可选地,所述方法还包括:确定当前编码块的运动复杂度;根据所述运动复杂度确定所述N的取值。
可选地,所述方法还包括:在计算率失真代价的情况下,获取当前编码块的预测残差、当前精度下编码当前运动矢量对应的矢量差所需的比特数和当前编码块的拉格朗日乘子,其中,所述矢量差为实际运动矢量与预测运动矢量之差;根据所述预测列差、所述比特数和所述拉格朗日乘子计算率失真代价。
可选地,所述第一精度为1/4像素精度,在所述根据以下步骤进行除所述第一精度外的其它精度的预测时,先进行整像素精度的预测,且在进行所述整像素精度的预测的情况下,所述根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测,包括:在更新当前最优率失真代价之前且所述当前最优率失真代价小于所述第二率失真代价的倍数大于第一阈值的情况下,跳过4倍像素精度的预测,进行1/2像素精度的预测。
可选地,在进行所述整像素精度的预测的情况下,所述方法还包括:在更新当前最优率失真代价之前且所述第一率失真代价和所述当前最优率失真代价不符合所述预设条件的情况下,继续当前遍历精度的运动估计和运动补偿,确定当前遍历精度的第三率失真代价;在所述当前最优率失真代价大于所述第三率失真代价的倍数大于第二阈值的情况下,跳过1/2像素精度的遍历,进行4倍像素精度的遍历。
本申请实施例的一个方面又提供了一种基于多功能视频编码的处理装置,包括:确定模块,用于进行当前编码块的第一精度的预测并确定所述第一精度对应的率失真代价作为当前最优率失真代价;预测模块,用于根据以下步骤进行除所述第一精度外的其它精度的预测,直到所有精度都遍历完成:根据参考图像构造当前遍历精度的预测运动矢量列表;根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,并确定所述起始搜索点的第一率失真代价;在所述第一率失真代价和所述当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价;根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的基于多功能视频编码的处理方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行上述的基于多功能视频编码的处理方法的步骤。
本申请实施例提供的基于多功能视频编码的处理方法、装置、计算机设备及存储介质,包括以下优点:
通过进行当前编码块的第一精度的预测并确定第一精度对应的率失真代价作为当前最优率失真代价,进行其它精度的预测,并在其它精度预测时,根据参考图像构造当前遍历精度的预测运动矢量列表,根据列表确定起始搜索点及其对应的第一率失真代价,在第一率失真代价和当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价,通过合理设置预设条件来跳过当前精度的运动估计和运动补偿,可以减少计算的复杂度,从而在对AMVR进行加速的同时减少对编码效率和编码性能的影响,提高加速的效果。
附图说明
图1示意性示出了本申请实施例一的基于多功能视频编码的处理方法的流程图;
图2为图1新增步骤的流程图;
图3为图1中步骤S140的子步骤的流程图;
图4为图1另一新增步骤的流程图;
图5为本申请实施例一的基于多功能视频编码的处理方法的流程示例图;
图6为图1又一新增步骤的流程图;
图7示意性示出了本申请实施例二的基于多功能视频编码的处理装置的框图;
图8示意性示出了本申请实施例三的计算机设备的硬件架构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
下面为本申请涉及的术语解释:
多功能视频编码(Versatile Video Coding,简称VVC),也称为H.266、MPEG-I第3部分或未来视频编码,是由联合视频专家组,于2020年7月6日最终确定的视频压缩标准,它是高效视频编码(HEVC)的后继标准。
编码块(Coding Unit,简称CU),是视频编码中的重要概念,它是视频帧在压缩编码过程中的基本处理单位。CU的特点是以方块形式存在,其大小可以从4×4到最大128×128(LCU,即最大编码单元)变化。大的CU通常适用于图像中比较平滑的部分,而较小的CU则适用于边缘和纹理较丰富的区域。CU是预测编码的基本单元,在编码过程中会经历预测、变换、量化和熵编码等一系列处理。这些处理有助于更有效地压缩视频数据,同时尽量保持视频的质量。
运动矢量,在视频编码中,运动矢量指待预测分块相对于参考帧中一个同样大小的尺寸块的相对位移,用于描述图像中物体或区域的运动情况,这种描述可以帮助编码器更有效地压缩视频数据,因为通过了解物体的运动情况,编码器可以更有效地预测和编码未来的帧。
预测的运动矢量(MVP),主要基于相邻块或较早编码图像中的运动矢量信息,用于预测当前块或图像的运动情况。它的目的是为了减少运动矢量相关部分编码的比特数,进一步减少压缩后的数据量。通过将预测的运动矢量与实际运动矢量进行比较,并仅编码两者之间的差异(即MVD),可以实现更高效的数据压缩。
实际的运动矢量,在视频编码和图像处理中,指的是描述物体或图像块在连续帧之间实际位移的矢量,这个矢量包含了物体或图像块从一个位置到另一个位置的方向和大小信息。在视频编码过程中,编码器通过分析连续帧的图像内容,尝试找出物体或图像块在相邻帧之间的对应关系。这种对应关系就是通过计算实际的运动矢量来确定的。运动矢量编码是视频压缩的关键部分,它帮助编码器在后续的帧中只传输变化的信息,而不是完整的图像数据,从而实现了数据的高效压缩。实际的运动矢量,是通过运动估计过程计算得出的。运动估计是一个搜索过程,编码器在参考帧中搜索与当前帧中图像块最匹配的块,然后计算这两个块之间的位移,得到实际的运动矢量。这个矢量不仅包括了水平方向的位移,还包括了垂直方向的位移,因此它是一个二维矢量。
运动估计,是一种在视频编码和视频处理中广泛使用的技术。它的基本思想是将图像序列的每一帧分成许多互不重叠的宏块,并假设每个宏块内的所有像素具有相同的位移量。随后,对每个宏块在参考帧的特定搜索范围内,根据一定的匹配准则寻找与当前块最相似的块,即匹配块。匹配块与当前块的相对位移即被定义为运动矢量。
运动补偿,是一种描述相邻帧(在编码关系上相邻,播放顺序上未必相邻)之间差别的方法。具体来说,它描述的是前面一帧的每个小块如何移动到当前帧中的某个位置去。这种方法常被视频压缩/视频编解码器用来减少视频序列中的空域冗余,从而提高压缩比。运动补偿的目的是通过消除这种冗余信息,使得视频数据在传输或存储时能够占用更少的空间。
自适应运动矢量精度技术(Advanced Motion Vector Resolution,简称AMVR),是VVC中的一种运动矢量精度增强技术。该技术通过为运动矢量提供更高的精度,使得编码器能够更精确地描述物体的运动情况,从而提高预测精度和编码效率。
率失真代价(Rate-Distortion Cost),是视频编码中用于衡量编码效率的一个关键指标。它结合了编码后的码率(Rate)和失真(Distortion)两部分,以找到一个平衡点,使得在给定码率限制下,失真最小化,或者在给定失真容忍度下,码率最小化。
相关技术中,针对AMVR的加速算法虽然有一定的加速效果,还仍然会对编码效率和编码性能造成较大的影响,仍存在进一步加速的空间。
本申请实施例的基于多功能视频编码的处理方法,可以减少对编码效率和编码性能造成的影响,提高对AMVR的加速效果。
应当说明的是,本申请实施例提供的基于多功能视频编码的处理方法的执行主体可以为客户端或服务端,其中,客户端具体可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。更具体地,执行主体可以为编码器。
以下将通过若干个实施例介绍基于多功能视频编码的处理方案,为便于理解,下面将以编码器为执行主体进行示例性描述。
实施例一
图1示意性示出了本申请实施例一的基于多功能视频编码的处理方法的流程图,如图所示,可以包括步骤S110~步骤S170,具体说明如下:
步骤S110,进行当前编码块的第一精度的预测并确定第一精度对应的率失真代价作为当前最优率失真代价。
其中,第一精度可以为1/4像素精度、1/2像素精度、整像素精度或4倍整像素精度,优选地,第一精度为1/4像素精度,可以得到更好的预测效果。
在示例性的实施例中,如图2所示,本申请实施例的基于多功能视频编码的处理方法还可以包括步骤S210~步骤S220:
步骤S210,在计算率失真代价的情况下,获取当前编码块的预测残差、当前精度下编码当前运动矢量对应的矢量差所需的比特数和当前编码块的拉格朗日乘子,其中,矢量差为实际运动矢量与预测运动矢量之差。
步骤S220,根据预测列差、比特数和拉格朗日乘子计算率失真代价。
本发明实施例中,率失真代价可以记为SATDCOST,具体可以采用下式进行计算:
SATDCOST=SATD+λ*R;
其中SATD为预测残差(根据运动估计和运动补偿所获得的预测块和当前编码块的差异)进行哈达玛变换后的绝对值之和,R为当前精度下编码当前运动矢量对应MVD所需的比特数,λ为当前编码块使用的拉格朗日乘子。
应当理解的是,通过上述公式来计算率失真代价,相比原来的率失真代价在时间开销上更小,可以在一定程度上提高计算的效率。
步骤S120,确定当前遍历精度。
编码器可以根据预设顺序来确定当前遍历精度,例如,若第一精度为1/4像素精度,则编码器可以先遍历整像素精度,再遍历1/2像素精度或4倍整像素精度。
步骤S130,根据参考图像构造当前遍历精度的预测运动矢量列表。
步骤S140,根据预测运动矢量列表确定当前遍历精度的起始搜索点,并确定起始搜索点的第一率失真代价。
在根据预测运动矢量列表确定当前遍历精度的起始搜索点时,可以运用中值预测法、加权平均法、模式匹配法或历史信息法等中的一种或多种方法来确定起始搜索点。例如中值预测法:计算预测运动矢量列表所有矢量的中值,将中值作为起始搜索点;又例如加权平均法:对预测运动矢量列表中的矢量根据矢量的可靠性、频率或其它因素进行加权平均,将加权平均的结果作为搜索起始点。
在示例性的实施例中,如图3所示,步骤S140可以包括步骤S141~步骤S142:
步骤S141,根据率失真代价从预测运动矢量列表中确定出最优的预测运动矢量。
具体地,对于MVP列表中的每个MVP,编码器会以其为起始点进行运动估计,找到当前编码块在参考图像中的最佳匹配块。在找到最佳匹配块后,编码器会计算使用该MVP进行编码时的率失真代价。编码器可以比较MVP列表中所有MVP的率失真代价,选择率失真代价最小的MVP作为最优MVP。
步骤S142,将最优的预测运动矢量作为起始搜索点。
应当理解的是,由于后续是基于起始搜索点的率失真代价进行相应的判断,因此起始搜索点的准确确定,有助于后续判断的准确性。而步骤S141~步骤S142对应的实施例中,通过根据率失真代价从预测运动矢量列表确定最优的预测运动矢量作为起始搜索点,可以提高起始搜索点确定的准确性,从而有效地保证后续判断的准确性。
步骤S150,在第一率失真代价和当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价。
在示例性的实施例中,预设条件包括第一率失真代价大于当前最优率失真代价的N倍,N大于1。具体地,N可以取值为整数、小数或分数,例如8/7。由于不同的编码器可能在实现细节、性能、优化程度以及支持的特性上有所不同,因此N的取值可以根据实际采用的不同的编码器而有所不同。
在符合预设条件的情况下,表明继续搜索当前遍历精度也不太可能有更好的搜索结果,因此跳过当前遍历精度的运动估计和运动补偿,直接将预测运动矢量作为实际的运动矢量,可以减少计算复杂度,提高编码的效率和性能,从而达到进一步加速的目的。
在示例性的实施例中,如图4所示,本申请实施例的基于多功能视频编码的处理方法还可以包括步骤S310~步骤S320:
步骤S310,确定当前编码块的运动复杂度。
编码器可以根据编码MVD的比特数来确定当前编码块的运动复杂度,当MVD的比特数较大时,说明预测的运动矢量与实际运动矢量之间存在较大的差异,表明当前编码块的运动复杂度较高。相反,当MVD的比特数较小,说明预测的运动矢量与实际运动矢量之间的差异较小,表明当前编码块的运动复杂度较低。
可选地,可以利用机器学习的方法训练模型来识别编码块的运动复杂度;还可以分析当前编码块及其相邻块的运动矢量的大小、方向和变化率。较大的运动矢量、快速变化的方向或不一致的运动模式通常指示较高的运动复杂度。
步骤S320,根据当前编码块的运动复杂度确定N的取值。
在根据当前编码块的运动复杂度来确定N的取值时,可以结合第一率失真代价与当前最优率失真代价对应的像素精度来确定。例如,若第一率失真代价对应的像素精度为整像素精度,而当前最优率失真代价对应的像素精度为1/4像素精度,则可以在当前编码块的运动复杂度较高时,适当调小N的取值,使更容易符合预设条件而跳过整像素精度的运动估计和运动补偿,最终采用较高像素精度来对当前编码块进行编码;相反,则可以适当调大N的取值。
步骤S310~步骤S320对应的实施例中,通过确定当前编码块的运动复杂度,根据运动复杂度来确定N的取值,可以保证基于预设条件判断的准确性,从而使最终确定的精度的准确性,提高编码的性能和效率。
步骤S160,根据第二率失真代价和当前最优率失真代价更新当前最优率失真代价。
编码器比较第二率失真代价和当前最优率失真代价的大小,根据较小值更新当前最优率失真代价。例如,若第二率失真代价小于当前最优率失真代价,则将第二率失真代价更新为当前最优率失真代价。
步骤S170,判断是否还有精度需要遍历,若是,则返回步骤S120,否则结束AMVR。
请参考图5,其为本申请实施例的基于多功能视频编码的处理方法的流程示例图,其大致可以包括以下流程:
1、开始1/4像素精度的预测,并保存1/4像素精度对应率失真代价作为当前最优率失真代价,记为currbest;
2、进行整像素精度的遍历,基于参考图像构造MVP列表,根据率失真代价从MVP列表中决策出最优的MVP作为运动估计的起始搜索点,保存起始搜索点的率失真代价,记为temCost;
3、判断起始搜索点的率失真代价和当前最优率失真代价是否符合预设条件:
tmpCost>currBest*Threshold;
其中Threshold即为上述的N。在符合预设条件的情况下,则跳过当前遍历精度的运动估计和运动补偿,直接将MVP作为实际的MV,并将当前遍历精度的率失真代价与当前最优率失真代价进行比较,使currBest保存两者中的较小者;在不符合预设条件的情况下,则继续当前遍历精度的运动估计和运动补偿,再比较当前遍历精度的率失真代价与当前最优率失真代价,使currBest保存两者中的较小者。
4、继续遍历其它像素精度,例如1/2像素精度或4倍像素精度。
5、在所有像素精度遍历完成的情况下,结束AMVR。
本申请实施例提供的基于多功能视频编码的处理方法,通过进行当前编码块的第一精度的预测并确定第一精度对应的率失真代价作为当前最优率失真代价,进行其它精度的预测,并在其它精度预测时,根据参考图像构造当前遍历精度的预测运动矢量列表,根据列表确定起始搜索点及其对应的第一率失真代价,在第一率失真代价和当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价,通过合理设置预设条件来跳过当前精度的运动估计和运动补偿,可以减少计算的复杂度,从而在对AMVR进行加速的同时减少对编码效率和编码性能的影响,提高加速的效果。
在示例性的实施例中,第一精度为1/4像素精度,在进行其它精度的预测时,先进行整像素精度的预测,且在进行整像素精度的预测的情况下,根据第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测,可以包括:在更新当前最优率失真代价之前且当前最优率失真代价小于第二率失真代价的倍数大于第一阈值的情况下,跳过4倍像素精度的预测,进行1/2像素精度的预测。
通过合理设置第一阈值,可以在当前最优率失真代价小于第二率失真代价的倍数大于第一阈值的情况下,确定1/4像素精度的率失真代价远小于整像素精度的率失真代价,从而跳过4倍像素精度,只进行1/2像素精度的预测,可以使编码器跳过某个像素精度的预测,从而进一步减少计算复杂度,进一步提高编码的效率和性能。
示例性地,前述实施例中,在进行整像素精度的预测的情况下,如图6所示,本申请实施例的基于多功能视频编码的处理方法还可以包括步骤S410~步骤S420:
步骤S410,在更新当前最优率失真代价之前且第一率失真代价和当前最优率失真代价不符合预设条件的情况下,继续当前遍历精度的运动估计和运动补偿,确定当前遍历精度的第三率失真代价。
步骤S420,在当前最优率失真代价大于第三率失真代价的倍数大于第二阈值的情况下,跳过1/2像素精度的遍历,进行4倍像素精度的遍历。
同样地,通过合理设置第二阈值,可以在当前最优率失真代价大于第三率失真代价的倍数大于第二阈值的情况下,确定1/4像素精度的率失真代价远大于整像素精度的率失真代价,从而跳过1/2像素精度的遍历,只进行4倍像素精度的遍历,可以使编码器跳过某个像素精度的预测,从而进一步减少计算复杂度,进一步提高编码的效率和性能。
实施例二
图7示意性示出了根据本申请实施例二的基于多功能视频编码的处理装置500的框图,该基于多功能视频编码的处理装置500可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图7所示,该基于多功能视频编码的处理装置500可以包括确定模块510和预测模块520。
确定模块510,用于进行当前编码块的第一精度的预测并确定所述第一精度对应的率失真代价作为当前最优率失真代价;
预测模块520,用于根据以下步骤进行除所述第一精度外的其它精度的预测,直到所有精度都遍历完成:根据参考图像构造当前遍历精度的预测运动矢量列表;根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,并确定所述起始搜索点的第一率失真代价;在所述第一率失真代价和所述当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价;根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测。
在示例性的实施例中,预测模块520还用于:根据率失真代价从所述预测运动矢量列表中确定出最优的预测运动矢量;将所述最优的预测运动矢量作为所述起始搜索点。
在示例性的实施例中,所述预设条件包括所述第一率失真代价大于所述当前最优率失真代价的N倍,所述N大于1。
在示例性的实施例中,预测模块520还用于:确定当前编码块的运动复杂度;根据所述运动复杂度确定所述N的取值。
在示例性的实施例中,该基于多功能视频编码的处理装置500还用于:在计算率失真代价的情况下,获取当前编码块的预测残差、当前精度下编码当前运动矢量对应的矢量差所需的比特数和当前编码块的拉格朗日乘子,其中,所述矢量差为实际运动矢量与预测运动矢量之差;根据所述预测列差、所述比特数和所述拉格朗日乘子计算率失真代价。
在示例性的实施例中,所述第一精度为1/4像素精度,在所述根据以下步骤进行除所述第一精度外的其它精度的预测时,先进行整像素精度的预测,且在进行所述整像素精度的预测的情况下,预测模块520还用于:在更新当前最优率失真代价之前且所述当前最优率失真代价小于所述第二率失真代价的倍数大于第一阈值的情况下,跳过4倍像素精度的预测,进行1/2像素精度的预测。
在示例性的实施例中,在进行所述整像素精度的预测的情况下,预测模块520还用于:在更新当前最优率失真代价之前且所述第一率失真代价和所述当前最优率失真代价不符合所述预设条件的情况下,继续当前遍历精度的运动估计和运动补偿,确定当前遍历精度的第三率失真代价;在所述当前最优率失真代价大于所述第三率失真代价的倍数大于第二阈值的情况下,跳过1/2像素精度的遍历,进行4倍像素精度的遍历。
实施例三
图8示意性示出了根据本申请实施例三的适于基于多功能视频编码的处理方法的计算机设备600的硬件架构图。计算机设备600可以是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或数据处理的设备。例如,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图8所示,计算机设备600至少包括但不限于:可通过***总线相互通信链接存储器610、处理器620、网络接口630。其中:
存储器610至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器610可以是计算机设备600的内部存储模块,例如该计算机设备600的硬盘或内存。在另一些实施例中,存储器610也可以是计算机设备600的外部存储设备,例如该计算机设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器610还可以既包括计算机设备600的内部存储模块也包括其外部存储设备。本实施例中,存储器610通常用于存储安装于计算机设备600的操作***和各类应用软件,例如基于多功能视频编码的处理方法的程序代码等。此外,存储器610还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器620在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器620通常用于控制计算机设备600的总体操作,例如执行与计算机设备600进行数据交互或者通信相关的控制和处理等。本实施例中,处理器620用于运行存储器610中存储的程序代码或者处理数据。
网络接口630可包括无线网络接口或有线网络接口,该网络接口630通常用于在计算机设备600与其他计算机设备之间建立通信链接。例如,网络接口630用于通过网络将计算机设备600与外部终端相连,在计算机设备600与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通信***(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件610-630的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器610中的基于多功能视频编码的处理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器620)所执行,以完成本申请实施例。
实施例四
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的基于多功能视频编码的处理方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例中基于多功能视频编码的处理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于多功能视频编码的处理方法,其特征在于,包括:
进行当前编码块的第一精度的预测并确定所述第一精度对应的率失真代价作为当前最优率失真代价;
根据以下步骤进行除所述第一精度外的其它精度的预测,直到所有精度都遍历完成:
根据参考图像构造当前遍历精度的预测运动矢量列表;
根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,并确定所述起始搜索点的第一率失真代价;
在所述第一率失真代价和所述当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价;
根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测。
2.根据权利要求1所述的基于多功能视频编码的处理方法,其特征在于,所述根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,包括:
根据率失真代价从所述预测运动矢量列表中确定出最优的预测运动矢量;
将所述最优的预测运动矢量作为所述起始搜索点。
3.根据权利要求2所述的基于多功能视频编码的处理方法,其特征在于,所述预设条件包括所述第一率失真代价大于所述当前最优率失真代价的N倍,所述N大于1。
4.根据权利要求3所述的基于多功能视频编码的处理方法,其特征在于,所述方法还包括:
确定当前编码块的运动复杂度;
根据所述运动复杂度确定所述N的取值。
5.根据权利要求1-4任一项所述的基于多功能视频编码的处理方法,其特征在于,所述方法还包括:
在计算率失真代价的情况下,获取当前编码块的预测残差、当前精度下编码当前运动矢量对应的矢量差所需的比特数和当前编码块的拉格朗日乘子,其中,所述矢量差为实际运动矢量与预测运动矢量之差;
根据所述预测列差、所述比特数和所述拉格朗日乘子计算率失真代价。
6.根据权利要求1-4任一项所述的基于多功能视频编码的处理方法,其特征在于,所述第一精度为1/4像素精度,在所述根据以下步骤进行除所述第一精度外的其它精度的预测时,先进行整像素精度的预测,且在进行所述整像素精度的预测的情况下,所述根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测,包括:
在更新当前最优率失真代价之前且所述当前最优率失真代价小于所述第二率失真代价的倍数大于第一阈值的情况下,跳过4倍像素精度的预测,进行1/2像素精度的预测。
7.根据权利要求6所述的基于多功能视频编码的处理方法,其特征在于,在进行所述整像素精度的预测的情况下,所述方法还包括:
在更新当前最优率失真代价之前且所述第一率失真代价和所述当前最优率失真代价不符合所述预设条件的情况下,继续当前遍历精度的运动估计和运动补偿,确定当前遍历精度的第三率失真代价;
在所述当前最优率失真代价大于所述第三率失真代价的倍数大于第二阈值的情况下,跳过1/2像素精度的遍历,进行4倍像素精度的遍历。
8.一种基于多功能视频编码的处理装置,其特征在于,包括:
确定模块,用于进行当前编码块的第一精度的预测并确定所述第一精度对应的率失真代价作为当前最优率失真代价;
预测模块,用于根据以下步骤进行除所述第一精度外的其它精度的预测,直到所有精度都遍历完成:
根据参考图像构造当前遍历精度的预测运动矢量列表;
根据所述预测运动矢量列表确定当前遍历精度的起始搜索点,并确定所述起始搜索点的第一率失真代价;
在所述第一率失真代价和所述当前最优率失真代价符合预设条件的情况下,跳过当前遍历精度的运动估计和运动补偿,将预测运动矢量作为实际的运动矢量计算当前遍历精度的第二率失真代价;
根据所述第二率失真代价和当前最优率失真代价更新当前最优率失真代价,进行下一精度的预测。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7中任一项所述的基于多功能视频编码的处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7中任一项所述的基于多功能视频编码的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410566910.XA CN118317108A (zh) | 2024-05-08 | 2024-05-08 | 基于多功能视频编码的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410566910.XA CN118317108A (zh) | 2024-05-08 | 2024-05-08 | 基于多功能视频编码的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118317108A true CN118317108A (zh) | 2024-07-09 |
Family
ID=91733061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410566910.XA Pending CN118317108A (zh) | 2024-05-08 | 2024-05-08 | 基于多功能视频编码的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118317108A (zh) |
-
2024
- 2024-05-08 CN CN202410566910.XA patent/CN118317108A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7782951B2 (en) | Fast motion-estimation scheme | |
US8705611B2 (en) | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program | |
CN116233463A (zh) | 用于多参考预测的运动矢量修正 | |
CN101573984B (zh) | 用于使用多个运动矢量预测因子来估计运动矢量的方法和设备,编码器、解码器和解码方法 | |
EP3301919A1 (en) | Method and apparatus for encoding and decoding motion information | |
EP3301918A1 (en) | Method and apparatus for encoding and decoding motion information | |
CN109672894B (zh) | 一种帧间预测方法、装置及存储介质 | |
EP2699001B1 (en) | A method and a system for video signal encoding and decoding with motion estimation | |
JP5310614B2 (ja) | 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法 | |
US20190222834A1 (en) | Variable affine merge candidates for video coding | |
US20080002772A1 (en) | Motion vector estimation method | |
CN112292861B (zh) | 用于解码端运动矢量修正的基于误差面的子像素精确修正方法 | |
CN108401185B (zh) | 参考帧选择方法、视频转码方法、电子设备和存储介质 | |
CN101888546A (zh) | 一种运动估计的方法及装置 | |
CN112887732B (zh) | 一种权值可配置的帧间帧内联合预测编解码的方法及装置 | |
CN108337508B (zh) | 帧内预测装置和方法 | |
CN112261413B (zh) | 视频编码方法、编码装置、电子设备和存储介质 | |
JP2011010297A (ja) | 誤差絶対値和の推定システム及び推定方法 | |
WO2014083492A2 (en) | System and method of performing motion estimation in multiple reference frame | |
CN118317108A (zh) | 基于多功能视频编码的处理方法及装置 | |
JP2007110409A (ja) | 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム | |
CN114040209A (zh) | 运动估计方法、装置、电子设备及存储介质 | |
CN118337995A (zh) | 基于多功能视频编码的参考帧处理方法及装置 | |
CN112291561A (zh) | Hevc最大编码块运动向量计算方法、装置、芯片及存储介质 | |
JP2011166207A (ja) | 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |