CN117834879A - 视频编码方法、装置、电子设备及存储介质 - Google Patents

视频编码方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117834879A
CN117834879A CN202311867433.2A CN202311867433A CN117834879A CN 117834879 A CN117834879 A CN 117834879A CN 202311867433 A CN202311867433 A CN 202311867433A CN 117834879 A CN117834879 A CN 117834879A
Authority
CN
China
Prior art keywords
coding
time domain
coding parameters
motion complexity
gop
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
Application number
CN202311867433.2A
Other languages
English (en)
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.)
Suzhou Keyuan Software Technology Development Co ltd
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keyuan Software Technology Development Co ltd
Suzhou Keda Technology Co Ltd
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 Suzhou Keyuan Software Technology Development Co ltd, Suzhou Keda Technology Co Ltd filed Critical Suzhou Keyuan Software Technology Development Co ltd
Priority to CN202311867433.2A priority Critical patent/CN117834879A/zh
Publication of CN117834879A publication Critical patent/CN117834879A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频编码方法、装置、电子设备及存储介质。该视频编码方法包括:实时接收待编码视频数据;对待编码视频数据中首个GOP采用默认编码参数编码;对非首个GOP,根据时域运动复杂度等级和预设编码参数信息确定目标编码参数,基于目标编码参数对非首个GOP进行编码;其中,将初始编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对输出的评价指标值进行约束,通过反向传播更新输入的编码参数直至评价指标值符合指标要求,得到当前时域运动复杂度等级对应的编码参数。利用神经网络模型预先确定不同复杂度等级对应的编码参数,在编码过程中根据复杂度等级选取合适的目标编码参数,提高视频编码质量和效率。

Description

视频编码方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及编码技术领域,尤其涉及一种视频编码方法、装置、电子设备及存储介质。
背景技术
在对视频进行编码时,为了满足不同的实际需求,往往需要采用不同的编码方式。传统的方法是由媒控工程师手工调参,进行大量的调试工作,费时费力且依赖于工程师的经验,不能保证达到令人满意的编码效果。此外,不同的编码方式都是由视频编解码专家根据自身所学及理解对视频信号进行数学化表达,每个方式的本质都是数学模型,而能人工运用的数学模型都较为简单,比如线性模型、指数函数、对数函数、多项式等,其表达能力有限,但视频内在的运动规律和复杂性却是无限的,因此难以保证所采用的编码参数的编码效果。综上,对于待编码的视频,如何确定适用于该视频的编码参数以完成高质量的视频编码,成为亟待解决的问题。
发明内容
本发明提供了一种视频编码方法、装置、电子设备及存储介质,以高效确定合适的编码参数,提高视频编码质量和效率。
第一方面,本发明实施例提供了一种视频编码方法,包括:
从视频采集设备处实时接收待编码视频数据;
对待编码视频数据中首个GOP,采用默认编码参数进行编码;
对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码;
其中,所述预设编码参数信息包括不同时域运动复杂度等级对应的编码参数,任意所述时域运动复杂度等级对应的编码参数按照如下方式得到:针对所述时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。
第二方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的视频编码方法。
第三方面,本发明实施例还提供了一种视频编码装置,包括:
接收模块,用于从视频采集设备处实时接收待编码视频数据;
第一编码模块,用于对待编码视频数据中首个GOP,采用默认编码参数进行编码;
第二编码模块,用于对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码;
其中,所述预设编码参数信息包括不同时域运动复杂度等级对应的编码参数,任意所述时域运动复杂度等级对应的编码参数按照如下方式得到:针对所述时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的视频编码方法。
本发明实施例提供了一种视频编码方法、装置、电子设备及存储介质,该视频编码方法包括:从视频采集设备处实时接收待编码视频数据;对待编码视频数据中首个GOP,采用默认编码参数进行编码;对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码;其中,所述预设编码参数信息包括不同时域运动复杂度等级对应的编码参数,任意所述时域运动复杂度等级对应的编码参数按照如下方式得到:针对所述时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。上述技术方案利用神经网络模型预先确定不同复杂度等级对应的编码参数,在编码过程中,对于非首个GOP可根据时域复杂度等级选取合适的目标编码参数,提高视频编码质量和效率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本发明实施例提供的一种视频编码方法的流程图;
图2为本发明实施例提供的一种生成预设编码信息的方法的流程图;
图3为本发明实施例提供的一种编码器代理神经网络模型训练及参数调优过程的示意图;
图4为本发明实施例提供的一种对比采用人工调参和AI调参的编码参数进行编码对应的评价指标的示意图;
图5为本发明实施例提供的一种视频编码装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
需要注意的是,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
图1为本发明实施例提供的一种视频编码方法的流程图,本实施例可适用于对视频数据进行实时编码的情况。具体的,该视频编码方法可以由视频编码装置执行,该视频编码装置可以通过软件和/或硬件的方式实现,并集成在电子设备中。电子设备包括但不限于计算机、智能手机或服务器等具有图像处理功能的设备。
如图1所示,该方法具体包括如下步骤:
S110、从视频采集设备处实时接收待编码视频数据。
本实施例中,待编码视频数据可以理解为待编码的原始视频序列。视频采集设备可以理解为采集原始视频序列的设备,例如用于对视频会议现场或各类活动现场进行录制的摄像机等。视频采集设备采集到待编码视频数据后传输至电子设备,由电子设备对待编码视频数据进行实时接收和编码。具体的,电子设备可以GOP为单位进行编码,即每接收到一个GOP,就对应相应的编码参数对该GOP进行编码。
S120、对待编码视频数据中首个GOP,采用默认编码参数进行编码;
具体的,考虑到视频编码的实时性要求,应在对每个GOP进行编码之前(具体可以是在接收到每个GOP之时或之前)预先确定该GOP对应的编码参数。对于待编码视频数据中的首个GOP,可以采用默认编码参数对首个GOP进行编码。默认编码参数可以是预先给定的编码参数的取值,例如可以由用户输入或者从预设的编码参数中选择,可以根据待编码视频数据的内容、场景或类型等预先确定,也可以是根据待编码视频数据的内容、场景或类型等预估待编码视频数据的时域运动复杂度等级从而选取的编码参数。在接收到首个GOP后即可采用默认编码参数对其进行编码。
S130、对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码。
本实施例中,考虑到视频编码的实时性要求,对于每个非首个GOP,在对每个非首个GOP进行编码之前,可以确定非首个GOP的时域运动复杂度等级,并根据非首个GOP的时域运动复杂度等级,从预设编码参数信息中确定相应的目标编码参数用于对该非首个GOP进行编码。其中,预设编码参数信息包括不同时域运动复杂度等级对应的编码参数。时域运动复杂度可用于表示图像中像素的波动程度或稳定性,对于时域运动复杂度不同的视频数据,为保证编码效果和图像质量,通常需要采用不同的编码参数。时域运动复杂度可划分为多个等级,每个等级都有对应的编码参数。
其中,对于任意GOP中的帧,可以通过对该帧进行采样、运动估计和运动补偿等确定像素的波动程度或稳定性,得到时域运动复杂度,并确定所属的时域运动复杂度等级。
本实施例中,预设编码参数信息可基于编码器代理神经网络模型参数调优结果得到。具体的,任意时域运动复杂度等级对应的编码参数按照如下方式得到:针对时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合指标要求,更新后的编码参数作为时域运动复杂度等级对应的编码参数。在此基础上,对于待编码视频数据,根据其所属的时域运动复杂度等级即可选择相应的编码参数用于对其进行编码。
编码器代理神经网络模型预先经过训练,学习到对于每种时域运动复杂度等级编码参数与评价指标值之间的映射关系,具备对编码质量进行评估的能力。该编码器代理神经网络模型可用于针对输入的任意编码参数,输出采用该编码参数进行编码的视频序列的编码质量的评价指标值。其中,编码参数通常指多个参数的组合,例如图像分辨率、帧速率以及最大IP帧码率的比值、关键帧(I帧)量化值QP等参数的组合。评价指标用于评价编码后码流的质量,如码率、峰值信噪比、I帧和P帧的量化值等。
在编码器代理神经网络模型训练完成的基础上,固定该编码器代理神经网络模型,对于任意时域运动复杂度等级,选取初始编码参数,将其输入至编码器代理神经网络模型,即可输出相应的评价指标值。如果输出的评价指标值不满足指标要求,则可通过反向传播的原理,更新输入至编码器代理神经网络模型的编码参数,以使再次输出的评价指标值更接近于指标要求,经过不断的迭代和更新,最终可得到指标要求对应的最优的编码参数,也即适用于当前时域运动复杂度等级的编码参数。其中,指标要求可以理解为对一个或多个评价指标的约束条件或期望达到的指标取值范围,例如采用某组编码参数对样本视频序列进行编码后对应码流的码率应达到设定阈值。
需要说明的是,符合指标要求可以理解为当前输入的编码参数与指标要求相匹配,或者当前输入的编码参数适用于指标要求,其不局限于是指编码参数对应的评价指标值属于要求的取值范围内,也可以是指编码参数不再变化,也可以是指编码参数对应的评价指标值已达到最接近要求的取值范围、或者与要求的取值范围之间的差距小于阈值等。
在一些实施例中,最终得到的符合指标要求的编码参数可以但不限于只有一组。如果只有一组,则当编码器代理神经网络模型输出的评价指标值符合指标要求时即可停止迭代和更新;如果有多组,则可以持续进行迭代和更新,直至确定足够数量的编码参数或者遍历所有编码参数为止。可选的,多组编码参数可以是对应于不同的指标要求的,例如对于某个时域运动复杂度等级,利用指标要求A进行约束,最终确定一种编码参数,利用指标要求B进行约束,最终可确定另一种编码参数。
本实施例对编码器代理神经网络模型的种类和结构不做限定,例如编码器代理神经网络模型可以为多层感知器(Multi-Layer Perceptron,MLP)。
本实施例中,预设编码参数信息是由编码器代理神经网络模型参数调优得到的,据此选取的编码参数具有可靠性,可以保证码流的图像质量、尽可能满足指标要求,并且对于不同的时域运动复杂度等级可以分别选取适用不同指标要求的编码参数,可适用于不同的视频编码场景。
本发明实施例一提供的一种视频编码方法,利用深度学习的编码器代理神经网络模型可以学习到编码参数和评价指标间的普遍关系,可分别优化出不同前提条件下对应的最合适的编码参数组合,在编码过程中可直接根据复杂度等级选取合适的目标编码参数,提高视频编码质量和效率,无需顾虑调参的时间成本。此外,由于训练数据规模庞大、特征丰富、表达能力足够强,编码器代理神经网络模型可以产生更精确的推理结果反馈,可以满足各类编码应用场景的需求,有效保证编码的质量和稳定性。此外,设计了编码参数自动调整策略,在编码初期对于首个GOP可选用默认编码参数,对非首个GOP则可根据之前的GOP的返回信息计算其时域运动复杂度信息,从而切换到经过神经网络调优的对应编码参数,实现了在使用过程中动态调整编码参数,以适应场景的变化,提高编码的可靠性以及图像质量。
在一实施例中,评价指标包括以下至少之一:码率(Bit Rate,BR)、峰值信噪比(Peak signal-to-noise ratio,PSNR)、秒级码率波动值(sbrstd)、前向预测编码帧(P帧)量化值ipRatio以及关键帧(I帧)量化值QP;其中,码率波动值为每秒内各帧码率之和的标准差,用于反映码流的波动情况,sbrstd波动越小,码流越平稳,码流较为平稳则可以符合固定码率(Constant bitrate,CBR)的码控模式。利用上述评价指标进行约束,综合评估编码质量,可以根据实际需求优化得到不同的编码参数,例如可以得到PSNR优先或者码流平稳度优先的编码参数等,使得该方法具有广泛的适用性。
在一实施例中,对于待编码视频数据,除了根据其所属的时域运动复杂度等级,还可以结合给定的指标要求可从预设编码参数信息中选择相应的目标编码参数用于对其进行编码,例如,对于某个时域运动复杂度等级,预设编码参数信息中包括该时域运动复杂度等级对应于不同指标要求(如码率较高、峰值信噪比较高以及码流平稳度较高等)的编码参数,则可以根据待编码视频数据的时域运动复杂度等级和用户需求(用户给定的指标要求,或者适用于当前场景的指标要求等)优先选择相应的目标编码参数。
在一实施例中,确定所述非首个GOP的时域运动复杂度等级,包括:根据所述非首个GOP的前一GOP的编码信息确定所述前一GOP的时域运动复杂度等级,根据所述前一GOP的时域运动复杂度等级确定所述非首个GOP的时域运动复杂度等级。
本实施例中,对于任意的非首个GOP,可以根据编码器返回的前一GOP的编码信息进行分析,判断前一GOP在当前编码场景的时域运动复杂度等级,据此确定该非首个GOP的时域运动复杂度等级,并基于该时域运动复杂度等级从预设编码参数信息中选取出适用的编码参数(即目标编码参数),用于对该非首个GOP进行编码。
示例性的,对于待编码视频数据的首个GOP,可以采用默认编码参数进行编码;对于待编码视频数据的第二个GOP,可以确定首个GOP的时域运动复杂度等级并将其作为第二个GOP的时域运动复杂度等级,从预设编码参数信息中查找该时域运动复杂度等级对应的目标编码参数用于对第二个GOP进行编码;对于待编码视频数据的第三个GOP,可以确定第二个GOP的时域运动复杂度等级并将其作为第三个GOP的时域运动复杂度等级,从预设编码参数信息中查找该时域运动复杂度等级对应的目标编码参数用于对第三个GOP进行编码,以此类推,在此基础上,可以实现对接收到的待编码视频数据的实时编码,提高编码效率、减少视频编码过程的时延。
在一实施例中,也可以利用前k个(k为正整数)GOP的时域运动复杂度等级综合选取目标编码参数,用于对之后的p(p为正整数)个GOP进行编码。也就是说,非首个GOP的时域运动复杂度等级可以根据在其之前的一个或多个GOP的时域运动复杂度等级确定,例如,可以将在其之前的一个GOP的时域运动复杂度等级作为该非首个GOP的时域运动复杂度等级,也可以根据在其之前的多个GOP的时域运动复杂度等级的变化趋势预估得到。在此基础上,每当接收到非首个GOP可即时采用其时域运动复杂度等级相应的编码参数进行编码。
需要说明的是,通过利用之前的GOP的时域运动复杂度等级确定当前非首个GOP的时域运动复杂度等级并据此选择目标编码参数,一方面,之前的GOP可为其之后的GOP的编码参数选取提供依据和参考,在接收到非首个GOP时可以参考之前的GOP的时域运动复杂度等级快速或者提前确定目标编码参数,并在对非首个GOP进行编码时即时切换至最新选取的目标编码参数,从而提高视频编码效率;另一方面,此方式考虑了相邻GOP之间的关联性,能够尽可能高效地应对所需处理的视频场景的变化情况,可动态调整编码参数,使得整个视频流较为连贯,从而提高编码质量,获得较好的编码效果。
图2为本发明实施例提供的一种生成预设编码信息的方法的流程图,本实施例是在上述实施例的基础上进行优化,对生成预设编码参数信息的过程进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
本实施例中,首先获取编码器代理神经网络模型的训练数据,训练数据包括多组编码参数、以及采用每组编码参数对样本视频序列进行真实编码后得到的码流的评价指标值,其中,样本视频序列包括多个不同时域运动复杂度等级的视频序列;其次利用训练数据训练编码器代理神经网络模型;然后固定经过训练的编码器代理神经网络模型,利用指标要求进行约束,对每种时域运动复杂度等级进行参数调优,得到每种时域运动复杂度等级对应的编码参数;最后根据每种时域运动复杂度等级对应的编码参数生成预设编码参数信息。
具体的,如图2所示,该方法具体包括如下步骤:
S210、对于任意样本视频序列,对所述样本视频序列中的目标帧的下采样图像中的图像块进行运动估计和运动补偿,得到残差绝对值。
本实施例中,为获取训练数据,需要确定样本视频序列的时域运动复杂度。对于任意样本视频序列中的任意帧,将其作为目标帧确定其时域运动复杂度。
具体的,对目标帧进行下采样,得到下采样图像(例如原始图像的1/4下采样图像),以图像块(如16×16的图像块)为单位,对下采样图像中的所有图像块进行运动估计(Motion Estimate,ME)和运动补偿(Motion Compensation,MC),得到残差绝对值(Sum ofAbsolute Difference,SAD),利用残差绝对值的平均值(Madp)可以度量所有图像块平均编码的时域运动复杂度,其大小可以反映一帧图像的编码压力。
S220、根据所述残差绝对值确定所述目标帧的时域运动复杂度。
具体的,残差绝对值(SAD)的计算公式如下:
残差绝对值的平均值的计算公式如下:
f=SAD/M*N
其中,Pix_ori(n,m)为原始像素,Pix_pre(n,m)为基于ME的搜索预测像素,f为Madp。可选的,SAD可分为块级和帧级,对于块级SAD(16*16块),M=N=16,对于帧级,则M=图像高,N=图像宽。
可选的,目标帧的时域运动复杂度可以是块级时域运动复杂度,根据块级SAD确定,例如通过对各图像块的块级SAD求平均、加权或融合计算等得到;也可以是帧级时域运动复杂度,根据帧级SAD确定,例如帧级SAD越大,目标帧的时域运动复杂度越高;也可以是根据块级SAD和帧级SAD综合确定。在此基础上,可以考虑帧整体或局部的像素波动程度,以适应不同的视频场景。
S230、根据所述目标帧的时域运动复杂度确定所述样本视频序列的时域运动复杂度等级。
本实施例中,一个样本视频序列的时域运动复杂度或时域运动复杂度等级,可以根据其中的一帧或多帧的时域运动复杂度或时域运动复杂度等级确定。例如,可以根据样本视频序列中的首帧、末帧、前几帧、关键帧和/或大多数帧的时域运动复杂度或时域运动复杂度等级确定,也可以根据各帧的时域运动复杂度或时域运动复杂度等级的最大值、最小值和/或均值等确定。
可选的,根据时域运动复杂度的取值,将时域运动复杂度分为多个等级:如0-100,100-1000,1000-5000,5000-20000以及20000五个等级,针对每个等级分别选取相应的样本视频序列,作为训练数据。此外,针对不同场景需求如目标码率例如512kbps、1M、2M等,可以设定不同的指标要求(对码率指标的要求),分别根据不同时域运动复杂度等级以及不同的指标要求,选取相应的样本视频序列和统计得到的评价指标值作为训练数据,对编码器代理神经网络模型进行训练以及参数调优,从而确定不同时域运动复杂度等级以及不同的指标要求适用的编码参数。
S240、根据编码参数的采样区间生成多组编码参数。
本实施例中,采样区间可以指编码参数的取值范围。编码参数通常有多种,每种编码参数的采样区间通常不同,例如,图像分辨率的采样区间为[P1,P2],可以在此采样区间内随机生成N1(N1为正整数)个图像分辨率,也可以按照△P的间隔得到多个图像分辨率:P1,P1+△P,P1+2△P,…,P2,也可以根据其他规则生成一个或多个图像分辨率;帧速率的采样区间为[R1,R2],可以在此采样区间内随机生成N2(N2为正整数)个帧速率,可以按照△R的间隔得到多个图像分辨率:R1,R1+△R,R1+2△R,…,R2,也可以根据其他规则生成一个或多个帧速率;其他编码参数类似。不同编码参数可以形成多种编码参数的组合,例如上述的N1个图像分辨率和N2个帧速率可以形成N1*N2组编码参数。具有任意不同参数的编码参数组合都有可能对同一样本视频序列产生不同的编码效果。
S250、对于每种时域运动复杂度等级的样本视频序列,通过编码器采用各组编码参数对所述样本视频序列进行真实编码,得到相应的码流文件。
具体的,假设有N组编码参数,以及M个时域运动复杂度等级,则真实编码至少可以得到N*M个码流文件。
S260、统计各组编码参数对应的码流文件的评价指标值。
本实施例中,对各码流文件的评价指标值进行统计。具体的,评价指标值可包括码率、PSNR、sbrstd、ipRatio以及QP。
每次可将一组编码参数和一个时域运动复杂度等级的样本视频序列输入至编码器进行真实编码,得到对应的码流,并对该码流的评价指标值进行统计,得到的评价指标值即可作为相应的标签。
S270、基于训练数据训练编码器代理神经网络模型。
本实施例中,训练数据包括多组编码参数、以及采用每组编码参数对样本视频序列进行真实编码后得到的码流的评价指标值,其中,样本视频序列包括多个不同时域运动复杂度等级的视频序列。一个视频序列通常包含多帧图像,每个时域运动复杂度等级的样本视频序列至少为一个。本实施例对视频序列的种类和格式不做限定,例如视频序列可以为颜色编码(YUV)的视频序列。
在训练编码器代理神经网络模型的过程中,将每组编码参数和每个不同时域运动复杂度等级的样本视频序列作为编码器代理神经网络模型的输入,将相应的评价指标值作为编码器代理神经网络模型的输出,对编码器代理神经网络模型进行训练。示例性的,有N组编码参数(如N=10000),以及M(如M=5)个时域运动复杂度等级,则至少可以得到N*M组样本与标签相对应的训练数据。基于训练数据对编码器代理神经网络模型进行训练,使得编码器代理神经网络模型学习到由编码参数和样本视频序列的时域运动复杂度等级预测推理得到评价指标值的能力,为后续的编码参数调优提供基础。
S280、针对任意时域运动复杂度等级以及任意指标要求,将初始的编码参数输入至经过训练数据训练的所述编码器代理神经网络模型,按照所述指标要求对经过训练数据训练的所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,将更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。
S290、根据不同时域运动复杂度等级对应的编码参数生成预设编码参数信息。
具体的,可以将不同时域运动复杂度等级对应的编码参数关联存储,得到预设编码参数信息,为视频编码过程中确定待编码视频数据的目标编码参数提供依据。可选的,也可以将不同时域运动复杂度等级以及不同指标要求对应的编码参数关联存储。
需要说明的是,针对任意时域运动复杂度等级以及任意指标要求,都可以通过上述迭代和更新的过程最终确定符合指标要求的编码参数。例如,对于时域运动复杂度等级1的样本视频序列1,利用编码器代理神经网络模型以指标要求A进行参数调优,可以得到一组编码参数X;对于时域运动复杂度等级1的样本视频序列1,利用编码器代理神经网络模型以指标要求B进行参数调优,可以得到一组编码参数Y;对于时域运动复杂度等级2的样本视频序列2,利用编码器代理神经网络模型以指标要求C进行参数调优,可以得到一组编码参数Z。其中,不同时域运动复杂度等级或者不同指标要求对应的编码参数可以不同,本实施例也不排除不同时域运动复杂度等级或者不同指标要求对应于相同的编码参数的情况。
在此基础上,即可确定每种时域运动复杂度等级对应于不同指标要求的编码参数。进一步的,在实际应用中,给定待编码的视频或数据,即可快速确定与其时域运动复杂度等级适合的目标编码参数。在一些实施例中,也可以确定与其时域运动复杂度等级适合并且能够满足给定的指标要求的目标编码参数。
图3为本发明实施例提供的一种编码器代理神经网络模型训练及参数调优过程的示意图。如图3所示,对任意时域运动复杂度等级的样本视频序列,采用任意的编码参数(即随机参数组合,也即一组随机生成的编码参数组合)进行编码得到码流,解码后可以获得其各项评价指标的值,从而得到一组训练数据,重复该操作多次可得到多组训练数据,基于这些训练数据训练编码器代理神经网络模型,使其具备针对输入的编码参数推理输出评价指标值的能力。然后固定该编码器代理神经网络模型,保持其模型参数不变,针对任意时域运动复杂度等级,可随机选取一组编码参数(即参数组合)输入该编码器代理神经网络模型,利用指标要求对其输出的评价指标值进行约束,并基于反向传播的原理,更新输入的编码参数,以使输出的评价指标值越来越接近直至得到符合指标要求,则参数调优结束,得到该时域运动复杂度等级和该指标要求对应的编码参数。其中,不同的时域运动复杂度等级或者不同的指标要求,都有可能使最终确定的编码参数变化。
以下是以针对会议室视讯场景采集的42段帧速率为1080p或30fps的视频序列为例,其中包含了不同的运动类型,相应的时域运动复杂度分布在前三个复杂度等级(0-100,100-1000,1000-5000)上。利用神经网络模型参数调优得到的相应的三套编码参数对相应时域运动复杂度等级的视频序列进行编码并对结果进行测试,评价其BR、PANR和sbrstd,可以看出使用神经网络模型调参的编码参数进行编码的PSNR均高于使用人工调参的编码参数进行编码的PSNR(PSNR代表视频质量,越高代表图像质量越好),且使用神经网络模型调参的编码参数进行编码的sbrstd均低于使用人工调参的编码参数进行编码的sbrstd,(sbrstd为秒级码流的标准差,越低代表波动越小,码流越平稳)。
表1使用人工调参和AI调参的编码参数进行编码得到的视频质量
/>
此外,对上述测试结果进行可视化以验证视频编码方法的有效性,以“网呈走动1”的视频序列为例,其结果如图4所示,其中带有圆圈的线条代表人工调参(hand),带有正方形的线条代表AI调参的方案。可见同样在512kbps的目标码率下,采用AI调参的码流整体的PSNR均高于采用人工调参的码流的PSNR,平均PSNR高1db左右,并且采用AI调参的码流明显也更加平稳。
本发明实施例提供的一种视频编码方法,利用随机生成的编码参数组合,传入编码器进行真实编码,统计编码后的码流文件,得出各项评价指标值,并结合对应编码参数作为训练集,解决了人工标定效率低、误差大的问题,训练数据真实可靠,保证了编码器代理神经网络模型的可靠性。此外,整个训练和参数调优过程完全利用深度学习的编码器代理神经网络模型,一方面,无需人工参与,节约时间和人力成本;另一方面,相比于手工调参仅能对个别参数进行调整,编码器代理神经网络模型调参可扩大数据集规模和编码参数数量,极大地增强了模型表达能力。在调参过程中,设计了分布式训练模型,首先以编码参数及其对应评价指标值训练代表两者关系的编码器代理神经网络模型,其次固定编码器代理神经网络模型,向指标要求期望方向(例如PSNR优先,即注重画面质量)约束评价指标值,通过反向传播的方式,不断优化输入的编码参数,得到优化后的编码参数。进一步的,考虑了不同指标要求(如不同目标码率)和不同时域运动复杂度等级分别确定相应的编码参数,可泛化应用于各类视频场景。
图5为本发明实施例提供的一种视频编码装置的结构示意图。本实施例提供的视频编码装置包括:
接收模块310,用于从视频采集设备处实时接收待编码视频数据;
第一编码模块320,用于对待编码视频数据中首个GOP,采用默认编码参数进行编码;
第二编码模块330,用于对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码;
其中,所述预设编码参数信息包括不同时域运动复杂度等级对应的编码参数,任意所述时域运动复杂度等级对应的编码参数按照如下方式得到:针对所述时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。
该装置利用神经网络模型预先确定不同复杂度等级对应的编码参数,在编码过程中根据复杂度等级选取合适的目标编码参数,提高视频编码质量和效率。
在上述实施例的基础上,所述装置还包括:
训练模块,用于基于训练数据训练编码器代理神经网络模型,所述训练数据包括多组编码参数、以及采用每组编码参数对样本视频序列进行真实编码后得到的码流的评价指标值,其中,所述样本视频序列包括多个不同时域运动复杂度等级的视频序列;
调优模块,用于针对任意时域运动复杂度等级以及任意指标要求,将初始的编码参数输入至经过训练数据训练的所述编码器代理神经网络模型,按照所述指标要求对经过训练数据训练的所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,将更新后的编码参数作为所述时域运动复杂度等级对应的编码参数;
生成模块,用于根据不同时域运动复杂度等级对应的编码参数生成所述预设编码参数信息。
在上述实施例的基础上,在基于训练数据训练编码器代理神经网络模型之前,该装置还包括:
采样模块,用于根据编码参数的采样区间生成多组编码参数;
编码模块,用于对于每种时域运动复杂度等级的样本视频序列,通过编码器采用各组编码参数对所述样本视频序列进行真实编码,得到相应的码流文件;
统计各组编码参数对应的码流文件的评价指标值。
在上述实施例的基础上,该装置还包括:
运动估计模块,用于对于任意样本视频序列,对所述样本视频序列中的目标帧的下采样图像中的图像块进行运动估计和运动补偿,得到残差绝对值;
样本复杂度确定模块,用于根据所述残差绝对值确定所述目标帧的时域运动复杂度;
样本等级确定模块,用于根据所述目标帧的时域运动复杂度确定所述样本视频序列的时域运动复杂度等级。
在上述实施例的基础上,样本复杂度确定模块,用于以下至少之一:
根据所述残差绝对值对于所述目标帧的平均值确定所述目标帧的帧级时域运动复杂度;
根据所述残差绝对值对于相应图像块的平均值确定所述目标帧的块级时域运动复杂度。
在上述实施例的基础上,评价指标包括以下至少之一:
码率、峰值信噪比、秒级码率波动值、前向预测编码帧量化值以及关键帧量化值;
其中,所述码率波动值为每秒内各帧码率之和的标准差。
在上述实施例的基础上,参数确定模块420具体用于:
对于所述待编码视频数据中的非首个GOP,根据所述非首个GOP的前一GOP的编码信息确定所述前一GOP的时域运动复杂度等级,根据所述前一GOP的时域运动复杂度等级确定所述非首个GOP的时域运动复杂度等级。
本发明实施例提供的视频编码装置可以用于执行上述任意实施例提供的视频编码方法,具备相应的功能和有益效果。
实施例
图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备10还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、用户设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络、无线网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理。
在一些实施例中,上述实施例的方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述任意实施例方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备10上实施此处描述的系统和技术,该电子设备10具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备10。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种视频编码方法,其特征在于,包括:
从视频采集设备处实时接收待编码视频数据;
对待编码视频数据中首个GOP,采用默认编码参数进行编码;
对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码;
其中,所述预设编码参数信息包括不同时域运动复杂度等级对应的编码参数,任意所述时域运动复杂度等级对应的编码参数按照如下方式得到:针对所述时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。
2.根据权利要求1所述的方法,其特征在于,还包括:
基于训练数据训练编码器代理神经网络模型,所述训练数据包括多组编码参数、以及采用每组编码参数对样本视频序列进行真实编码后得到的码流的评价指标值,其中,所述样本视频序列包括多个不同时域运动复杂度等级的视频序列;
针对任意时域运动复杂度等级以及任意指标要求,将初始的编码参数输入至经过所述训练数据训练的所述编码器代理神经网络模型,按照所述指标要求对经过所述训练数据训练的所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,将更新后的编码参数作为所述时域运动复杂度等级对应的编码参数;
根据不同时域运动复杂度等级对应的编码参数生成所述预设编码参数信息。
3.根据权利要求2所述的方法,其特征在于,在基于训练数据训练编码器代理神经网络模型之前,还包括:
根据编码参数的采样区间生成多组编码参数;
对于每种时域运动复杂度等级的样本视频序列,通过编码器采用各组编码参数对所述样本视频序列进行真实编码,得到相应的码流文件;
统计各组编码参数对应的码流文件的评价指标值。
4.根据权利要求2所述的方法,其特征在于,还包括:
对于任意样本视频序列,对所述样本视频序列中的目标帧的下采样图像中的图像块进行运动估计和运动补偿,得到残差绝对值;
根据所述残差绝对值确定所述目标帧的时域运动复杂度;
根据所述目标帧的时域运动复杂度确定所述样本视频序列的时域运动复杂度等级。
5.根据权利要求4所述的方法,其特征在于,根据所述残差绝对值确定所述目标帧的时域运动复杂度,包括以下至少之一:
根据所述残差绝对值对于所述目标帧的平均值确定所述目标帧的帧级时域运动复杂度;
根据所述残差绝对值对于相应图像块的平均值确定所述目标帧的块级时域运动复杂度。
6.根据权利要求1所述的方法,其特征在于,评价指标包括以下至少之一:
码率、峰值信噪比、秒级码率波动值、前向预测编码帧量化值以及关键帧量化值;
其中,所述码率波动值为每秒内各帧码率之和的标准差。
7.根据权利要求1所述的方法,其特征在于,确定所述非首个GOP的时域运动复杂度等级,包括:
根据所述非首个GOP的前一GOP的编码信息确定所述前一GOP的时域运动复杂度等级,根据所述前一GOP的时域运动复杂度等级确定所述非首个GOP的时域运动复杂度等级。
8.一种视频编码装置,其特征在于,包括:
接收模块,用于从视频采集设备处实时接收待编码视频数据;
第一编码模块,用于对待编码视频数据中首个GOP,采用默认编码参数进行编码;
第二编码模块,用于对待编码视频数据中非首个GOP,确定所述非首个GOP的时域运动复杂度等级,根据所述非首个GOP的时域运动复杂度等级和预设编码参数信息确定所述待编码视频数据中非首个GOP的目标编码参数,基于所述目标编码参数对所述待编码视频数据中非首个GOP进行编码;
其中,所述预设编码参数信息包括不同时域运动复杂度等级对应的编码参数,任意所述时域运动复杂度等级对应的编码参数按照如下方式得到:针对所述时域运动复杂度等级,将初始的编码参数输入至经过训练的编码器代理神经网络模型,按照指标要求对所述编码器代理神经网络模型输出的评价指标值进行约束,通过反向传播更新所输入的编码参数,直至输出的评价指标值符合所述指标要求,更新后的编码参数作为所述时域运动复杂度等级对应的编码参数。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一所述的视频编码方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的视频编码方法。
CN202311867433.2A 2023-12-29 2023-12-29 视频编码方法、装置、电子设备及存储介质 Pending CN117834879A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311867433.2A CN117834879A (zh) 2023-12-29 2023-12-29 视频编码方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311867433.2A CN117834879A (zh) 2023-12-29 2023-12-29 视频编码方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117834879A true CN117834879A (zh) 2024-04-05

Family

ID=90520482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311867433.2A Pending CN117834879A (zh) 2023-12-29 2023-12-29 视频编码方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117834879A (zh)

Similar Documents

Publication Publication Date Title
WO2021244341A1 (zh) 图像编码方法及装置、电子设备及计算机可读存储介质
JP5969389B2 (ja) オブジェクト認識ビデオ符号化ストラテジ
CN106961603B (zh) 帧内编码帧码率分配方法和装置
CN110248189B (zh) 一种视频质量预测方法、装置、介质和电子设备
CN111182303A (zh) 共享屏幕的编码方法、装置、计算机可读介质及电子设备
CN104135663A (zh) 对图像进行编码
WO2021129007A1 (zh) 视频码率的确定方法、装置、计算机设备及存储介质
JP2009530892A (ja) ビデオ画像シーケンスの時間的頻度を適合させる方法および装置
JP2020520197A (ja) ビデオ符号化方法、コンピュータ機器、及び記憶媒体
WO2022000298A1 (en) Reinforcement learning based rate control
CN114900691B (zh) 编码方法、编码器及计算机可读存储介质
WO2019001283A1 (zh) 编码分辨率控制方法及装置
CN111050169B (zh) 图像编码中量化参数的生成方法、装置及终端
WO2021238546A1 (zh) 视频编码方法、视频播放方法、相关设备及介质
US10616585B2 (en) Encoding data arrays
WO2022021422A1 (zh) 视频编码方法、编码器、系统以及计算机存储介质
US11395002B2 (en) Prediction direction selection method and apparatus in image encoding, and storage medium
CN117459733A (zh) 视频编码方法、装置、设备、可读存储介质及程序产品
CN116567246A (zh) Avc编码方法和装置
CN116886918A (zh) 一种视频编码方法、装置、设备和存储介质
CN117834879A (zh) 视频编码方法、装置、电子设备及存储介质
CN116491115A (zh) 用于视频编码的具有反馈控制的速率控制机器学习模型
CN109587487B (zh) 一种对rdo策略的结构性失真度的评估方法及系统
CN112738529A (zh) 帧间预测方法、装置、设备、存储介质以及程序产品
CN115190309B (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