一种数据处理方法、装置及计算机可读存储介质与流程

    专利2022-07-07  91


    本发明涉及视频通信编码技术领域,尤其涉及一种数据处理方法、装置及计算机可读存储介质。



    背景技术:

    目前,随着日常生活中多媒体视频变得越来越高清,视频编码标准也在不断提升。在视频编码标准中,码率控制是视频编码较为重要的一部分,它是基于网络可用带宽严格控制信道上输出的视频码率,从而实现稳定的视频图像传输和播放,同时获得视觉质量和可用带宽之间的最佳平衡。在对视频中的视频帧编码过程中,主要是直接通过平均分配的视频码率和梯度来计算得到帧内编码帧的量化参数,通过平均分配的方式很容易造成量化参数不准确,使得整体编码性能损失较大,并且会导致码率控制误差偏大。



    技术实现要素:

    本发明实施例提供了一种数据处理方法、装置及计算机可读存储介质,可以保证量化参数的准确度,并减小码率控制的误差和整体编码性能损失。

    本发明实施例第一方面提供了一种数据处理方法,包括:

    获取待处理视频中的帧内编码帧;

    确定所述帧内编码帧的视频残差代价和单位像素码率;

    根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;

    根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码。

    本发明实施例第二方面提供了一种数据处理装置,包括:

    获取模块,用于获取待处理视频中的帧内编码帧;

    确定模块,用于确定所述帧内编码帧的视频残差代价和单位像素码率;

    所述确定模块,还用于根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;

    所述确定模块,还用于根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码。

    本发明实施例第三方面提供了一种计算机设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。

    本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

    本发明实施例第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的方法。

    在本发明实施例中,计算机设备可确定帧内编码帧的视频残差代价和单位像素码率,并根据根据视频残差代价和单位像素码率确定帧内编码帧的目标码率,进一步根据目标码率和视频残差代价确定帧内编码帧的量化参数。一般来说,由于帧内编码帧的码率会大于其他视频帧的码率,因此平均分配码率容易造成最终得到的帧内编码帧的量化参数不准确,本申请实施例确定的目标码率并不是通过平均分配得到的单位像素码率,而是基于单位像素码率的基础上,根据视频残差代价以及单位像素码率重新确定出目标码率。后续根据该目标码率以及视频残差代价计算出的量化参数较为准确,可以减小码率控制的误差和整体编码性能损失。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本发明实施例提供的一种数据处理系统的架构示意图;

    图2是本发明实施例提供的一种数据处理方法的流程示意图;

    图3是本发明实施例提供的另一种数据处理方法的流程示意图;

    图4是本发明实施例提供的一种数据处理装置的结构示意图;

    图5是本发明实施例提供的一种计算机设备的结构示意图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

    云技术(cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

    云计算(cloudcomputing)指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(gridcomputing)、分布式计算(distributedcomputing)、并行计算(parallelcomputing)、效用计算(utilitycomputing)、网络存储(networkstoragetechnologies)、虚拟化(virtualization)、负载均衡(loadbalance)等传统计算机和网络技术发展融合的产物。

    随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。

    在对本申请实施例进行介绍时,先对原有的基于模糊逻辑的码率控制方法中帧内编码帧的码率分配与帧内编码帧的量化参数导出方法进行介绍,该具体实现过程为:

    (1)确定帧内编码帧的平均分配码率:计算机设备可先获取用初始码率targetbitrate,该目标码率是指在当前1s编码完所有视频帧的码率,并确定当前的帧率framerate,根据初始码率targetbitrate和当前的帧率framerate就可以确定出帧内编码帧的平均分配码率targetbpp。其中,帧内编码帧的平均分配码率的计算公式如下:targetbpp=targetbitrate/(framerate*w*h)。

    其中,targetbpp是平均分配码率,单位是bit/像素;targetbitrate是目标码率,单位是bit/s;framerate是帧率,单位是帧/s,表示每秒播放的帧数;w和h分别是视频帧的宽度和高度。

    (2)现有的xavs2码控算法中是计算机设备根据像素梯度和平均分配码率来计算帧内编码帧的量化参数qp:计算机设备可先获取帧内编码帧的像素梯度之和,然后根据帧内编码帧的平均分配码率和像素梯度之和,计算帧内编码帧的量化参数qp。该量化参数qp计算公式如下:

    其中,c0、c1、c2分别是根据不同帧内编码帧的帧间隔intraperiod预设的常数;gradient是帧内编码帧的像素梯度和。gradient/(w×h)表示每个像素的平均梯度值。在通过上述两个步骤得到的帧内编码帧的量化参数不准确,可能使得整体编码性能损失较大,并且会导致码率控制误差偏大。

    因此,基于上述存在的问题,本发明实施例提供一种数据处理方法,可应用于云服务上。该数据处理方法主要是对xavs2(avs2的开源编码器)基于模糊逻辑的码率控制方法中帧内编码帧的码率分配与帧内编码帧的量化参数导出方法进行改进。在具体实现中,可根据平均分配码率和帧内编码帧的视频残差代价先确定帧内编码帧的目标码率,然后根据该目标码率和视频残差代价确定帧内视频帧的量化参数。一般来说,由于帧内编码帧的码率会大于其他视频帧的码率,因此平均分配码率容易造成最终得到的帧内编码帧的量化参数不准确,本申请实施例重新确定的目标码率并不是通过平均分配得到的单位像素码率,而是基于单位像素码率的基础上,根据视频残差代价以及单位像素码率重新确定出目标码率。后续根据该目标码率以及视频残差代价计算出的量化参数较为准确,可以减小码率控制的误差和整体编码性能损失。需要说明的是,上述提到的平均分配码率与单位像素码率是相同的计算公式,且表示的含义也相同。

    基于此,本申请实施例提供的数据处理方法执行主体可以为计算机设备,此处所提及的计算机设备可以是终端设备(后续简称终端)或者服务器。当计算机设备为服务器时,本申请实施例还提出了一种图1所示的数据处理系统;该数据处理系统可至少包括至少一个终端101和至少一个服务器(即计算机设备)102。在该数据处理系统中,终端101以及服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。需要说明的是,上述所提及的终端可以是智能手机、平板电脑、笔记本电脑、台式电脑等等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。

    进一步地,本发明实施例提供的数据处理方法可应用于avs2(第二代信源编码标准)的开源编码器上,或者其他信源编码标准的编码器中,例如基于h.265的编码器。请参阅图2,图2为本发明实施例提供的一种数据处理方法的流程示意图。该数据处理方法可由上述计算机设备执行,其可包括以下步骤s201-s204:

    s201、获取待处理视频中的帧内编码帧。

    其中,待处理视频包括多组连续画面(groupofpictures,gop),每组连续画面包括多个视频帧,帧内编码帧通常是指每组连续画面的第一帧。该帧内编码帧是指自带全部信息的独立帧,无需参考其他图像便可独立进行解码。该帧内编码帧可称为i帧(intraframe)或者关键帧。

    s202、确定帧内编码帧的视频残差代价和单位像素码率。

    其中,视频残差代价(或sumofabsolutetransformeddifference,satd)是一种视频残差信号大小的衡量标准,是一种率失真代价的粗略替代指标。单位像素码率是指在单位时间内(如1s内)每个像素平均分配到的比特(bit)数量。

    在具体实现中,计算机设备可先提取帧内编码帧的视频残存信号,并根据视频残存信号确定帧内编码帧的视频残差代价,然后根据单位时间内编码完成的视频帧的编码原始码率和单位时间内编码完成的视频帧的帧数确定帧内编码帧的单位像素码率。其中,编码原始码率是指只能用编码原始码率编码完成单位时间内(如1s)的所有视频帧的码率,可以理解为在编码过程中,希望将单位时间的视频帧编码后控制在编码原始码率下。

    在一种可行的实施例中,计算机设备可获取单位时间内编码完成的视频帧的编码原始码率,其中,该单位时间内编码完成的视频帧包括帧内编码帧。然后计算机设备根据编码原始码率和单位时间内编码完成的视频帧的帧数确定帧内编码帧的单位像素码率。在具体实现中,计算机设备可获取单位时间内编码完成的视频帧的编码原始码率,并确定帧内编码帧的宽度和高度,然后根据帧内编码帧的宽度和高度、单位时间内编码完成的视频帧的帧数以及编码原始码率确定帧内编码帧的单位像素码率。该帧内编码帧的单位像素码率的计算公式可参见式1.1:

    targetbpp=targetbitrate/(framerate*w*h)式1.1

    其中,targetbpp是单位像素码率,单位是bit/像素;targetbitrate是指编码原始码率,单位是bit/s;framerate是帧率,单位是帧/s,表示单位时间内编码完成的视频帧的帧数;w和h分别表示帧内编码帧的宽度和高度。需要说明的是,在计算帧内编码帧的单位像素码率时,单位时间内编码完成的所有视频帧的宽度和高度,均与帧内编码帧的宽度和高度相同。因此该计算单位像素码率的过程就是将编码原始码率平均分配给单位时间内编码完成的所有视频帧的码率。

    在一种可行的实施例中,由于视频残差代价可看作简单的时频转换,且可以用来衡量码率的大小,是视频编码中画面质量控制中最重要的部分。因此本发明实施例中,计算机设备根据视频残存信号确定帧内编码帧的视频残差代价的具体实现方式为:将残存信号进行阿达马变换(hadamard变换),得到变换结果,该变换结果包括多个数值。然后对多个数值中每个数值的绝对值进行求和处理,得到帧内编码帧的视频残差代价。在具体实现中,计算机设备将残存信号经过阿达马变换,可得到阿达马矩阵,该阿达马矩阵中的元素仅包括1和(-1),根据具体需求可以得到不同维数的阿达马矩阵,然后对阿达马矩阵中的多个数值中的每个数值的绝对值进行求和处理,从而得到帧内编码帧的视频残差代价。

    s203、根据视频残差代价和单位像素码率确定帧内编码帧的目标码率。

    其中,目标码率是指在帧内编码帧下进行数据传输时传送的比特(bit)数量。

    在具体实现中,计算机设备根据视频残差代价和单位像素码率可先计算出帧内编码帧的码率缩放系数,然后根据该码率缩放系数可对单位像素码率进行调整,以得到目标码率。根据码率缩放系数对单位像素码率进行调整可以保证帧内编码帧得到的目标码率较为合理准确,进而保证后续根据目标码率可以得到比较准确的量化参数。

    s204、根据目标码率和视频残差代价确定帧内编码帧的量化参数。

    其中,量化参数用于对帧内编码帧进行编码,根据量化参数可实现对编码中码率的控制。在本申请实施例中,由于根据据目标码率和视频残差代价得到的帧内编码帧的量化参数比较准确,因此可减少码率控制误差,提高码率控制的准确度。在具体实现中,计算机设备可根据目标码率和视频残差代价按照目标算法进行计算,得到帧内编码帧的量化参数。其中,目标算法可以是指量化参数与量化系数对应的映射关系。

    在本发明实施例中,计算机设备获取待处理视频中的帧内编码帧,并确定帧内编码帧的视频残差代价和单位像素码率,然后根据视频残差代价和单位像素码率确定帧内编码帧的目标码率。进一步地,计算机设备根据目标码率和视频残差代价确定帧内编码帧的量化参数。计算机设备重新确定的目标码率并不是通过平均分配得到的单位像素码率,而是基于单位像素码率的基础上,根据视频残差代价以及单位像素码率重新确定出目标码率。后续根据该目标码率以及视频残差代价计算出的量化参数较为准确,可以减小码率控制的误差和整体编码性能损失。

    请参阅图3,图3为本发明实施例提供的另一种数据处理方法,该数据处理方法可由上述计算机设备执行,其可包括以下步骤s301-s308:

    s301、获取待处理视频中的帧内编码帧。

    s302、确定帧内编码帧的视频残差代价和单位像素码率。

    其中,步骤s301-s302的具体实现方式可参见上述步骤s201-s202的具体实现方式,在此不再赘述。

    s303、获取帧内编码帧的宽度和高度。

    由于每帧对应一张图像,因此帧内编码帧的宽度和高度可理解为对应图像的宽方向的像素数目和高方向的像素数目。

    在具体实现中,计算机设备获取帧内编码帧的宽度和高度的过程其实是获取帧内编码帧的宽方向的像素数目和高方向的像素数目的过程。

    s304、根据视频残差代价、帧内编码帧的宽度和高度确定帧内编码帧的单位像素的平均视频残差代价。

    在一种可行的实施例中,计算机设备可先根据视频残差代价、帧内编码帧的宽度和高度确定出单位像素的平均视频残差代价。在具体实现中,计算机设备可将帧内编码帧的宽度和高度进行相乘处理,得到相乘结果;并计算视频残差代价与相乘结果之间的比值,得到帧内编码帧的单位像素的平均视频残差代价。单位像素可以理解为每个像素的平均视频残差代价。其中,若平均视频残差代价可用cpp表示,该视频残差代价用intracost表示,该帧内编码帧的宽度用w表示,高度用h表示,则该平均视频残存代价cpp的计算公式可参见式1.2:

    cpp=intracost/(w×h)式1.2

    s305、根据单位像素码率和平均视频残差代价确定帧内编码帧的目标码率。

    在具体实现中,计算机设备根据单位像素码率和平均视频残差代价确定帧内编码帧的码率缩放系数,然后根据码率缩放系数和单位像素码率确定帧内编码帧的目标码率。其中,码率缩放系数可称为码率缩放因子,该码率缩放系数是计算帧内编码帧的目标码率的关键因素。计算机设备根据码率缩放系数可以对帧内编码帧的码率进行合理控制,即在单位像素码率的基础上对单位像素码率进行缩小或者放大,以使得后续能够保证计算得到的帧内编码帧的量化参数的准确性和合理性。

    在一种可行的实施例中,计算机设备根据单位像素码率和平均视频残差代价确定帧内编码帧的码率缩放系数的具体实现方式为:计算机设备先确定第一参数集合包括的至少一个常数,然后计算机设备根据单位像素码率、平均视频残差代价和第一常数集合包括的常数确定帧内编码帧的码率缩放系数。

    其中,该第一参数集合包括的常数的确定方式有两种:

    (1)计算机设备中保存有预先设置第一常数集合中的常数。计算机设备可直接获取预先设置的第一常数集合中的常数。其中,该预先设置的第一参数集合可以是根据编码器的特性、以及需求进行设置,本申请实施例不做限定。

    (2)计算机设备根据单位像素码率和平均视频残差代价通过参数拟合的方式确定第一常数集合,该第一常数集合包括至少一个常数。其中,该参数拟合是指已知试验或者真实数据,然后寻找一个模型对其规律进行模拟,并求取模型中未知参数的一个过程。在本申请实施例中,该参数拟合是指可以根据已知单位像素码率和平均视频残差代价,来对目标序列进行参数拟合,以确定第一常数集合中的至少一个常数。该参数拟合的方式可以是用于参数拟合的各类方式。例如matlab、excel等方式,本申请实施例不做限定。需要说明的是,在进行参数拟合时,计算机设备可根据不同的编码器特性以及序列特性来确定不同的单位像素码率和平均视频残差代价,根据不同的单位像素码率和平均视频残差代价对第一常数集合中包括的常数进行拟合,从而可以拟合出不同的第一常数集合,并从不同的第一参数集合中选取最优的第一常数集合。其中,该编码器特性可以是指编码器的编码特性,该序列特性是指目标序列的特性,这里的目标序列可以理解为根据单位像素码率和平均视频残差代价通过参数拟合的方式确定第一常数集合过程中的目标公式(或算法)。

    在一种可行的实施例中,示例性地,若第一常数集合包括三个常数,分别为常数c3、常数c4、常数c5,则计算机设备先根据单位像素码率和平均视频残差代价对目标公式中的常数c3、常数c4、常数c5进行参数拟合,通过参数拟合可得到最为合理的常数c3、常数c4、常数c5。然后计算机设备根据常数c3、常数c4、常数c5、单位像素码率以及平均视频残差代价按照目标公式计算出码率缩放系数。其中,平均视频残差代价用cpp表示,单位像素码率用targetbpp表示,码率缩放系数用ratio表示。该码率缩放系数ratio的计算公式(对应上述目标公式)可参见式1.3:

    进一步地,在计算得到码率缩放系数之后,计算机设备可以根据码率缩放系数ratio和单位像素码率targetbpp进行相乘处理,得到帧内编码帧的目标码率newtargetbpp。该目标码率newtargetbpp的计算公式可参见式1.4:

    newtargetbpp=ratio×targetbpp式1.4

    s306、根据平均视频残差代价通过参数拟合的方式确定第二常数集合。

    其中,第二常数集合包括至少一个常数。该参数拟合的方式可以是用于参数拟合的各类方式。例如matlab、excel等方式,本申请实施例不做限定。在具体实现中,计算机设备可根据不同的平均视频残差代价对第二常数集合中包括的常数采用参数拟合的方式进行拟合,从而可以拟合出不同的第二常数集合。需要说明的是,计算机设备可根据不同的编码器特性以及序列特性来确定不同的平均视频残差代价,根据不同的平均视频残差代价对第二常数集合中包括的常数进行拟合,从而可以拟合出不同的第二常数集合。其中,该编码器特性可以是指编码器的编码特性,该序列特性是指目标序列的特性,这里的目标序列可以理解为根据单位像素码率和平均视频残差代价通过参数拟合的方式确定第二常数集合过程中的目标公式(或算法)。

    在一种可行的实施例中,第二常数集合中包括包括四个常数,分别为常数c6、常数c7、常数c8、常数c9。计算机设备可根据不同的平均视频残差代价利用参数拟合的方式对目标公式中的四个常数进行参数拟合,从而得到常数c6、常数c7、常数c8、常数c9。根据平均视频残差代价进行参数拟合的目标公式参见式1.5和1.6:

    c=c6·cppc7式1.5

    k=c8·cppc9式1.6

    需要说明的是,在进行参数拟合时,可以获取多个不同的平均视频残差代价,从而得到最优的一组第二常数集合。上述常数c6和常数c8可以不同,也可相同。常数c7和常数c9可以不同,也可相同。

    在一种可行的实施例中,计算机设备中保存有预先设置第二常数集合中的常数。计算机设备可直接获取预先设置第二常数集合中的常数。其中,该预先设置的第二参数集合可以是根据编码器的特性、以及需求进行设置,本申请实施例不做限定。

    s307、根据第二常数集合包括的常数以及目标码率确定帧内编码帧的量化系数。

    在具体实现中,在确定出第二常数集合中的至少一个参数后,根据上述式1.5和上述1.6可计算出用于计算帧内编码帧的量化系数所需的两个参考系数,并根据这两个参考系数以及目标码率确定帧内编码帧的量化系数。其中,若该量化系数可以用λ表示,这两个参考系数分别用c和k表示,则计算帧内编码帧的目标码率newtargetbpp的(-k-1)次幂,得到计算结果;并将计算结果与参考系数c、参考系数k进行相乘,得到帧内编码帧的量化系数qp。该帧内编码帧的量化系数qp的计算公式参见式1.7:

    λ=c·k·(newtargetbpp)-k-1式1.7

    s308、根据量化系数以及用于编解码的量化参数和量化系数之间的映射关系确定帧内编码帧的量化参数。

    在具体实现中,计算机设备可先从本地空间或者网络中获取用于编解码的量化参数和量化系数之间的映射关系,然后根据量化系数以及映射关系确定帧内编码帧的量化参数。

    在一种可行的实施例中,本发明实施例中可以采用编解码业界较为知名的关于量化参数与量化系数之间的映射关系,即在该映射关系中可包括常数a和常数b,计算机设备对量化系数进行对数计算,将计算结果乘以常数a,再与常数b进行相加,最后相加结果作为量化参数qp。其中,一般该常数a的取值可以是5.661,常数b的取值可以是13.131。也可根据需求对常数a和常数b进行设置。该经验公式参见式1.8:

    qp=alogλ b式1.8

    在本发明实施例中,计算机设备获取待处理视频中的帧内编码帧,并确定帧内编码帧的视频残差代价和单位像素码率。然后获取帧内编码帧的宽度和高度,进而根据视频残差代价、帧内编码帧的宽度和高度确定帧内编码帧的单位像素的平均视频残差代价。接着计算机设备根据单位像素码率和平均视频残差代价确定帧内编码帧的目标码率,并从根据目标码率和视频残差代价确定帧内编码帧的量化参数,计算机设备重新确定的目标码率并不是通过平均分配得到的单位像素码率,而是基于单位像素码率的基础上,根据平均视频残差代价以及单位像素码率重新确定出目标码率。后续根据该目标码率以及平均视频残差代价计算出的量化参数较为准确,可以减小码率控制的误差和整体编码性能损失。

    进一步的,请参见图4,其是本申请实施例提供的一种数据处理装置的结构示意图。如图4所示,数据处理装置可以应用于上述图2或图3对应实施例中的计算机设备,具体的,数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如数据处理装置为一个应用软件;该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤。

    获取模块401,用于获取待处理视频中的帧内编码帧;

    确定模块402,用于确定所述帧内编码帧的视频残差代价和单位像素码率;

    所述确定模块402,还用于根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;

    所述确定模块402,还用于根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码。

    在一种可行的实施例中,所述获取模块401,用于获取所述帧内编码帧的宽度和高度;

    所述确定模块402,用于根据所述视频残差代价、所述帧内编码帧的宽度和高度确定所述帧内编码帧的单位像素的平均视频残差代价;

    所述确定模块402,用于根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的目标码率。

    在一种可行的实施例中,所述确定模块402,具体用于:

    根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的码率缩放系数;

    根据所述码率缩放系数和所述单位像素码率确定所述帧内编码帧的目标码率。

    在一种可行的实施例中,所述确定模块402,具体用于:

    根据所述单位像素码率和所述平均视频残差代价通过参数拟合的方式确定第一常数集合,所述第一常数集合包括至少一个常数;

    根据所述单位像素码率、所述平均视频残差代价和所述第一常数集合包括的常数确定所述帧内编码帧的码率缩放系数。

    在一种可行的实施例中,所述确定模块402,具体用于:

    根据所述平均视频残差代价通过参数拟合的方式确定第二常数集合,所述第二常数集合包括至少一个常数;

    根据所述第二常数集合包括的常数以及所述目标码率确定所述帧内编码帧的量化系数;

    根据所述量化系数以及用于编解码的量化参数和量化系数之间的映射关系确定所述帧内编码帧的量化参数。

    在一种可行的实施例中,所述获取模块401,具体用于:提取所述帧内编码帧的视频残差信号,并根据所述视频残存信号确定所述帧内编码帧的视频残差代价;获取单位时间内编码完成的视频帧的编码原始码率,所述单位时间内编码完成的视频帧包括所述帧内编码帧;

    所述确定模块402,具体用于:根据所述编码原始码率和所述单位时间内编码完成的视频帧的帧数确定所述帧内编码帧的单位像素码率。

    在一种可行的实施例中,所述确定模块401,具体用于:

    确定所述帧内编码帧的宽度和高度;

    根据所述帧内编码帧的宽度和高度、所述单位时间内编码完成的视频帧的帧数以及所述编码原始码率确定所述帧内编码帧的单位像素码率。

    在一种可行的实施例中,所述获取模块401,具体用于:将所述残存信号进行阿达马变换,得到变换结果,所述变换结果包括多个数值;对所述多个数值中每个数值的绝对值进行求和处理,得到所述帧内编码帧的视频残差代价。

    可以理解的是,本实施例的数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例图2或者图3的相关描述,此处不再赘述。

    进一步地,请参见图5,图5是本申请实施例提供的一种计算机设备的结构示意图。上述图2或图3对应实施例中的计算机设备可以为图5所示的计算机设备。如图5所示,计算机设备可以包括:处理器501、输入设备502,输出设备503和存储器504。上述处理器501、输入设备502、输出设备503和存储器504通过总线505连接。存储器504用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行存储器504存储的程序指令。

    在本申请实施例中,处理器501通过运行存储器504中的可执行程序代码,执行如下操作:获取待处理视频中的帧内编码帧;确定所述帧内编码帧的视频残差代价和单位像素码率;根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码。

    在一种可行的实施例中,所述处理器501,具体用于:获取所述帧内编码帧的宽度和高度;根据所述视频残差代价、所述帧内编码帧的宽度和高度确定所述帧内编码帧的单位像素的平均视频残差代价;根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的目标码率。

    在一种可行的实施例中,所述处理器501,具体用于:根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的码率缩放系数;根据所述码率缩放系数和所述单位像素码率确定所述帧内编码帧的目标码率。

    在一种可行的实施例中,所述处理器501,具体用于:根据所述单位像素码率和所述平均视频残差代价通过参数拟合的方式确定第一常数集合,所述第一常数集合包括至少一个常数;根据所述单位像素码率、所述平均视频残差代价和所述第一常数集合包括的常数确定所述帧内编码帧的码率缩放系数。

    在一种可行的实施例中,所述处理器501,具体用于:根据所述平均视频残差代价通过参数拟合的方式确定第二常数集合,所述第二常数集合包括至少一个常数;根据所述第二常数集合包括的常数以及所述目标码率确定所述帧内编码帧的量化系数;根据所述量化系数以及用于编解码的量化参数和量化系数之间的映射关系确定所述帧内编码帧的量化参数。

    在一种可行的实施例中,所述处理器501,具体用于:提取所述帧内编码帧的视频残差信号,并根据所述视频残存信号确定所述帧内编码帧的视频残差代价;获取单位时间内编码完成的视频帧的编码原始码率,所述单位时间内编码完成的视频帧包括所述帧内编码帧;根据所述编码原始码率和所述单位时间内编码完成的视频帧的帧数确定所述帧内编码帧的单位像素码率。

    在一种可行的实施例中,所述处理器501,具体用于:确定所述帧内编码帧的宽度和高度;根据所述帧内编码帧的宽度和高度、所述单位时间内编码完成的视频帧的帧数以及所述编码原始码率确定所述帧内编码帧的单位像素码率。

    在一种可行的实施例中,所述处理器501,具体用于:将所述残存信号进行阿达马变换,得到变换结果,所述变换结果包括多个数值;对所述多个数值中每个数值的绝对值进行求和处理,得到所述帧内编码帧的视频残差代价。

    应当理解,在本申请实施例中,所称处理器501可以是中央处理单元(centralprocessingunit,cpu),该处理器501还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

    该存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器。

    该输入设备502可以包括键盘等,并向处理器501输入待处理视频;该输出设备503可以包括显示器等。

    具体实现中,本申请实施例中所描述的处理器501、输入设备502、输出设备503和存储器504可执行上述所有实施例中描述的实现方式,也可执行上述装置中所描述的实现方式,在此不再赘述。

    本申请实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,可执行上述所有实施例中所执行的步骤。

    本申请实施例还提供一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中,计算机指令被电子设备的处理器执行时,执行上述所有实施例中的方法。

    本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

    以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。


    技术特征:

    1.一种数据处理方法,其特征在于,包括:

    获取待处理视频中的帧内编码帧;

    确定所述帧内编码帧的视频残差代价和单位像素码率;

    根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;

    根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码。

    2.根据权利要求1所述的方法,其特征在于,所述根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率,包括:

    获取所述帧内编码帧的宽度和高度;

    根据所述视频残差代价、所述帧内编码帧的宽度和高度确定所述帧内编码帧的单位像素的平均视频残差代价;

    根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的目标码率。

    3.根据权利要求2所述方法,其特征在于,所述根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的目标码率,包括:

    根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的码率缩放系数;

    根据所述码率缩放系数和所述单位像素码率确定所述帧内编码帧的目标码率。

    4.根据权利要求3所述的方法,其特征在于,所述根据所述单位像素码率和所述平均视频残差代价确定所述帧内编码帧的码率缩放系数,包括:

    根据所述单位像素码率和所述平均视频残差代价通过参数拟合的方式确定第一常数集合,所述第一常数集合包括至少一个常数;

    根据所述单位像素码率、所述平均视频残差代价和所述第一常数集合包括的常数确定所述帧内编码帧的码率缩放系数。

    5.根据权利要求2~4中任一项所述的方法,其特征在于,所述根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,包括:

    根据所述平均视频残差代价通过参数拟合的方式确定第二常数集合,所述第二常数集合包括至少一个常数;

    根据所述第二常数集合包括的常数以及所述目标码率确定所述帧内编码帧的量化系数;

    根据所述量化系数以及用于编解码的量化参数和量化系数之间的映射关系确定所述帧内编码帧的量化参数。

    6.根据权利要求1所述的方法,其特征在于,所述确定所述帧内编码帧的视频残差代价和单位像素码率,包括:

    提取所述帧内编码帧的视频残差信号,并根据所述视频残存信号确定所述帧内编码帧的视频残差代价;

    获取单位时间内编码完成的视频帧的编码原始码率,所述单位时间内编码完成的视频帧包括所述帧内编码帧;

    根据所述编码原始码率和所述单位时间内编码完成的视频帧的帧数确定所述帧内编码帧的单位像素码率。

    7.根据权利要求6所述的方法,其特征在于,所述根据所述编码原始码率和所述单位时间内编码完成的视频帧的帧数确定所述帧内编码帧的单位像素码率,包括:

    确定所述帧内编码帧的宽度和高度;

    根据所述帧内编码帧的宽度和高度、所述单位时间内编码完成的视频帧的帧数以及所述编码原始码率确定所述帧内编码帧的单位像素码率。

    8.根据权利要求6或7所述的方法,其特征在于,所述根据所述视频残存信号确定所述帧内编码帧的视频残差代价,包括:

    将所述残存信号进行阿达马变换,得到变换结果,所述变换结果包括多个数值;

    对所述多个数值中每个数值的绝对值进行求和处理,得到所述帧内编码帧的视频残差代价。

    9.一种数据处理装置,其特征在于,包括:

    获取模块,用于获取待处理视频中的帧内编码帧;

    确定模块,用于确定所述帧内编码帧的视频残差代价和单位像素码率;

    所述确定模块,还用于根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;

    所述确定模块,还用于根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1-8任一项所述的方法。

    技术总结
    本发明实施例提供了一种数据处理方法、装置及计算机可读存储介质,其中方法包括:获取待处理视频中的帧内编码帧;确定所述帧内编码帧的视频残差代价和单位像素码率;根据所述视频残差代价和所述单位像素码率确定所述帧内编码帧的目标码率;根据所述目标码率和所述视频残差代价确定所述帧内编码帧的量化参数,所述量化参数用于对所述帧内编码帧进行编码,可以保证量化参数的准确度,并减小码率控制的误差和整体编码性能损失。

    技术研发人员:许桂森;李一鸣;王诗涛
    受保护的技术使用者:腾讯科技(深圳)有限公司
    技术研发日:2020.11.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6558.html

    最新回复(0)