CN112243129B - 视频数据处理方法、装置、计算机设备及存储介质 - Google Patents
视频数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112243129B CN112243129B CN202011104871.XA CN202011104871A CN112243129B CN 112243129 B CN112243129 B CN 112243129B CN 202011104871 A CN202011104871 A CN 202011104871A CN 112243129 B CN112243129 B CN 112243129B
- Authority
- CN
- China
- Prior art keywords
- video frame
- quantization parameter
- code rate
- prediction
- distortion information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种视频数据处理方法、装置、计算机设备及存储介质,属于音视频技术领域。本公开通过在一个视频帧编码完成后,基于该一个视频帧的实际码率和实际失真信息,对后续视频帧编码所应用的量化参数进行调整,从而控制后续视频帧编码后的码率,进而能够将视频编码后的总码率控制在一个合理范围,且量化参数调整过程中考虑到了视频帧的实际失真信息,从而能够在确保编码后的视频质量的情况下,使视频的总码率满足码率需求。
Description
技术领域
本公开涉及音视频技术领域,尤其涉及数据处理方法、装置、计算机设备及存储介质。
背景技术
码率控制能够体现编码器在实际应用中的适应能力,在编码器在对视频帧进行编码的过程中,需要通过码率控制来平衡码率和视频质量之间的关系,在确保视频质量的情况下,使视频的码率满足视频播放平台的码率需求。
目前,通常应用SATD-R模型,来调整各个视频帧的码率,使视频的整体码率满足视频播放平台的码率需求。例如,在对一个视频进行编码时,由SATD-R模型学习已编码的视频帧的码率和量化参数,来预测对后续视频帧编码时所需要的码率,调整后续视频帧在编码时所应用的量化参数。但是,在上述视频数据处理过程中,对于视频中的前几帧,SATD-R模型学习到的数据较少,模型精度极低,这就导致SATD-R模型对前几帧的码率预测并不准确,从而影响对视频中后续视频帧的码率分配,进而影响编码后的视频质量。因此,在视频数据处理过程中,如何调整各个视频帧的量化参数,来控制各个视频帧的码率,以确保视频的整体码率满足需求、确保视频质量,是一个重要研究方向。
发明内容
本公开提供一种视频数据处理方法、装置、计算机设备及存储介质,能够在确保视频质量的情况下,对视频的码率进行控制。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频数据处理方法,包括
获取待编码的多个视频帧以及每个视频帧对应的量化参数;
对于该多个视频帧中的任一视频帧,基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息;
基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的该量化参数对该下一视频帧进行编码。
在一种可能实现方式中,该获取待编码的多个视频帧以及每个视频帧对应的量化参数,包括:
获取待编码的该多个视频帧以及初始量化参数;
基于该初始量化参数以及该每个视频帧对应的像素信息,确定该每个视频帧对应的预测码率和预测失真信息;
基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对该每个视频帧对应的初始量化参数进行调整,得到该每个视频帧对应的量化参数。
在一种可能实现方式中,该基于该初始量化参数以及该每个视频帧对应的像素信息,确定该每个视频帧对应的预测码率和预测失真信息,包括:
基于该每个视频帧中像素点之间的相关性,对该每个视频帧进行帧内预测和帧间预测,得到该每个视频帧对应的预测图像数据;
分别对该每个视频帧与相对应的预测图像数据作差,得到每个视频帧对应的预测残差数据;
基于该每个视频帧对应的该预测残差数据以及该初始量化参数,确定该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该基于该每个视频帧对应的该预测残差数据以及该初始量化参数,确定该每个视频帧对应的预测码率和预测失真信息,包括:
基于该每个视频帧对应的该预测残差数据,确定该每个视频帧对应的多个残差系数;
获取参考模型,该参考模型用于基于量化参数以及残差系数,预测视频帧的码率和失真信息;
分别将该每个视频帧对应的初始量化参数以及该多个残差系数输入该参考模型,由该参考模型输出该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对该每个视频帧对应的初始量化参数进行调整,得到该每个视频帧对应的量化参数,包括:
响应于该预测码率之和大于第一码率阈值,增大该每个视频帧对应的初始量化参数的数值,基于调整后的该初始量化参数确定该每个视频帧对应的预测码率和预测失真信息,直到该每个视频帧对应预测码率之和小于该第一码率阈值;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度小于波动阈值,将该每个视频帧当前对应的该初始量化参数确定为该量化参数;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度大于该波动阈值,减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到该每个视频帧对应的该量化参数。
在一种可能实现方式中,该基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息,包括:
基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息;
基于该各个图像块对应的该中间码率和该中间失真信息,确定该任一视频帧对应的该实际码率和该实际失真信息。
在一种可能实现方式中,该基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息,包括:
对于该任一视频帧中的第一个图像块,基于该任一视频帧对应的量化参数对该第一个图像块进行编码,得到该第一个图像块对应的中间码率和中间失真信息;
对于该任一视频帧中除该第一个图像块以外的任一图像块,获取前一图像块对应的中间码率和中间失真信息,基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,基于调整后的该量化参数,对该任一图像块进行编码。
在一种可能实现方式中,该基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,包括:
响应于前一图像块对应的中间码率大于第二码率阈值,对该量化参数的数值加一,得到调整后的该量化参数;
响应于前一图像块对应的中间码率小于该第二码率阈值,基于该中间失真信息与中间失真阈值之间的大小关系,调整该量化参数,得到调整后的该量化参数。
在一种可能实现方式中,该基于该中间失真信息与中间失真阈值之间的大小关系,调整该量化参数,得到调整后的该量化参数,包括:
响应于该中间失真信息的数值大于该中间失真阈值,获取该中间码率与该第二码率阈值之间的第一误差值;
响应于该第一误差值大于第一误差阈值,对该量化参数的数值减一,得到调整后的该量化参数。
在一种可能实现方式中,该基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,包括:
响应于该任一视频帧对应的该实际码率大于第三码率阈值,对该下一视频帧对应的量化参数加一;
响应于该任一视频帧对应的该实际码率小于该第三码率阈值,基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整。
在一种可能实现方式中,该基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整,包括:
响应于该任一视频帧对应的实际失真信息大于实际失真阈值,获取该任一视频帧的实际码率与第三码率阈值之间的第二误差值;
响应于该第二误差值大于第二误差阈值,对该下一视频帧对应的量化参数减一。
在一种可能实现方式中,该方法应用于视频编码器。
根据本公开实施例的第二方面,提供一种视频数据处理装置,包括:
第一获取模块,被配置为获取待编码的多个视频帧以及每个视频帧对应的量化参数;
第二获取模块,被配置为对于该多个视频帧中的任一视频帧,基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息;
调整模块,被配置为基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的该量化参数对该下一视频帧进行编码。
在一种可能实现方式中,该第一获取模块包括:
获取子模块,被配置为获取待编码的该多个视频帧以及初始量化参数;
第一确定子模块,被配置为基于该初始量化参数以及该每个视频帧对应的像素信息,确定该每个视频帧对应的预测码率和预测失真信息;
调整子模块,被配置为基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对该每个视频帧对应的初始量化参数进行调整,得到该每个视频帧对应的量化参数。
在一种可能实现方式中,该第一确定子模块包括:
预测单元,被配置为基于该每个视频帧中像素点之间的相关性,对该每个视频帧进行帧内预测和帧间预测,得到该每个视频帧对应的预测图像数据;
获取单元,被配置为分别对该每个视频帧与相对应的预测图像数据作差,得到每个视频帧对应的预测残差数据;
确定单元,被配置为基于该每个视频帧对应的该预测残差数据以及该初始量化参数,确定该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该预测单元被配置为:
基于该每个视频帧对应的该预测残差数据,确定该每个视频帧对应的多个残差系数;
获取参考模型,该参考模型用于基于量化参数以及残差系数,预测视频帧的码率和失真信息;
分别将该每个视频帧对应的初始量化参数以及该多个残差系数输入该参考模型,由该参考模型输出该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该调整子模块被配置为:
响应于该预测码率之和大于第一码率阈值,增大该每个视频帧对应的初始量化参数的数值,基于调整后的该初始量化参数确定该每个视频帧对应的预测码率和预测失真信息,直到该每个视频帧对应预测码率之和小于该第一码率阈值;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度小于波动阈值,将该每个视频帧当前对应的该初始量化参数确定为该量化参数;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度大于该波动阈值,减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到该每个视频帧对应的该量化参数。
在一种可能实现方式中,该第二获取模块包括:
编码子模块,被配置为基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息;
第二确定子模块,被配置为基于该各个图像块对应的该中间码率和该中间失真信息,确定该任一视频帧对应的该实际码率和该实际失真信息。
在一种可能实现方式中,该编码子模块包括:
第一编码单元,被配置为对于该任一视频帧中的第一个图像块,基于该任一视频帧对应的量化参数对该第一个图像块进行编码,得到该第一个图像块对应的中间码率和中间失真信息;
第二编码单元,被配置为对于该任一视频帧中除该第一个图像块以外的任一图像块,获取前一图像块对应的中间码率和中间失真信息,基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,基于调整后的该量化参数,对该任一图像块进行编码。
在一种可能实现方式中,该第二编码单元包括:
第一调整子单元,被配置为响应于前一图像块对应的中间码率大于第二码率阈值,对该量化参数的数值加一,得到调整后的该量化参数;
第二调整子单元,被配置为响应于前一图像块对应的中间码率小于该第二码率阈值,基于该中间失真信息与中间失真阈值之间的大小关系,调整该量化参数,得到调整后的该量化参数。
在一种可能实现方式中,该第二调整子单元被配置为:
响应于该中间失真信息的数值大于该中间失真阈值,获取该中间码率与该第二码率阈值之间的第一误差值;
响应于该第一误差值大于第一误差阈值,对该量化参数的数值减一,得到调整后的该量化参数。
在一种可能实现方式中,该调整模块包括:
第一调整子模块,被配置为响应于该任一视频帧对应的该实际码率大于第三码率阈值,对该下一视频帧对应的量化参数加一;
第二调整子模块,被配置为响应于该任一视频帧对应的该实际码率小于该第三码率阈值,基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整。
在一种可能实现方式中,该第二调整子模块被配置为:
响应于该任一视频帧对应的实际失真信息大于实际失真阈值,获取该任一视频帧的实际码率与第三码率阈值之间的第二误差值;
响应于该第二误差值大于第二误差阈值,对该下一视频帧对应的量化参数减一。
在一种可能实现方式中,该装置应用于视频编码器。
根据本公开实施例的第三方面,提供一种计算机设备,包括:
处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为执行该指令,以实现如上述任一项视频数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的指令由计算机设备的处理器执行时,使得该计算机设备能够执行如上述任一项视频数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括可执行指令,当该计算机程序产品中的指令由计算机设备的处理器执行时,使得该计算机设备能够执行如上述任一项视频数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过在一个视频帧编码完成后,基于该一个视频帧的实际码率和实际失真信息,对后续视频帧编码所应用的量化参数进行调整,从而控制后续视频帧编码后的码率,进而能够将视频编码后的总码率控制在一个合理范围,且量化参数调整过程中考虑到了视频帧的实际失真信息,从而能够在确保编码后的视频质量的情况下,使视频的总码率满足码率需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种视频数据处理方法的流程图;
图2是根据一示例性实施例示出的一种视频数据处理方法的流程图;
图3是根据一示例性实施例示出的一种视频帧级的量化参数调整方法示意图;
图4是根据一示例性实施例示出的一种图像块级的量化参数调整方法的示意图;
图5是根据一示例性实施例示出的一种码率控制方的流程图;
图6是根据一示例性实施例示出的一种视频数据处理装置框图;
图7是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种视频数据处理方法的流程图,如图1所示,该视频数据处理方法用于计算机设备中,包括以下步骤。
在步骤101中,获取待编码的多个视频帧以及每个视频帧对应的量化参数。
在步骤102中,对于该多个视频帧中的任一视频帧,基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息。
在步骤103中,基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的该量化参数对该下一视频帧进行编码。
本公开实施例提供的技术方案,通过在一个视频帧编码完成后,基于该一个视频帧的实际码率和实际失真信息,对后续视频帧编码所应用的量化参数进行调整,从而控制后续视频帧编码后的码率,进而能够将视频编码后的总码率控制在一个合理范围,且量化参数调整过程中考虑到了视频帧的实际失真信息,从而能够在确保编码后的视频质量的情况下,使视频的总码率满足码率需求。
在一种可能实现方式中,该获取待编码的多个视频帧以及每个视频帧对应的量化参数,包括:
获取待编码的该多个视频帧以及初始量化参数;
基于该初始量化参数以及该每个视频帧对应的像素信息,确定该每个视频帧对应的预测码率和预测失真信息;
基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对该每个视频帧对应的初始量化参数进行调整,得到该每个视频帧对应的量化参数。
在一种可能实现方式中,该基于该初始量化参数以及该每个视频帧对应的像素信息,确定该每个视频帧对应的预测码率和预测失真信息,包括:
基于该每个视频帧中像素点之间的相关性,对该每个视频帧进行帧内预测和帧间预测,得到该每个视频帧对应的预测图像数据;
分别对该每个视频帧与相对应的预测图像数据作差,得到每个视频帧对应的预测残差数据;
基于该每个视频帧对应的该预测残差数据以及该初始量化参数,确定该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该基于该每个视频帧对应的该预测残差数据以及该初始量化参数,确定该每个视频帧对应的预测码率和预测失真信息,包括:
基于该每个视频帧对应的该预测残差数据,确定该每个视频帧对应的多个残差系数;
获取参考模型,该参考模型用于基于量化参数以及残差系数,预测视频帧的码率和失真信息;
分别将该每个视频帧对应的初始量化参数以及该多个残差系数输入该参考模型,由该参考模型输出该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对该每个视频帧对应的初始量化参数进行调整,得到该每个视频帧对应的量化参数,包括:
响应于该预测码率之和大于第一码率阈值,增大该每个视频帧对应的初始量化参数的数值,基于调整后的该初始量化参数确定该每个视频帧对应的预测码率和预测失真信息,直到该每个视频帧对应预测码率之和小于该第一码率阈值;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度小于波动阈值,将该每个视频帧当前对应的该初始量化参数确定为该量化参数;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度大于该波动阈值,减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到该每个视频帧对应的该量化参数。
在一种可能实现方式中,该基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息,包括:
基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息;
基于该各个图像块对应的该中间码率和该中间失真信息,确定该任一视频帧对应的该实际码率和该实际失真信息。
在一种可能实现方式中,该基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息,包括:
对于该任一视频帧中的第一个图像块,基于该任一视频帧对应的量化参数对该第一个图像块进行编码,得到该第一个图像块对应的中间码率和中间失真信息;
对于该任一视频帧中除该第一个图像块以外的任一图像块,获取前一图像块对应的中间码率和中间失真信息,基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,基于调整后的该量化参数,对该任一图像块进行编码。
在一种可能实现方式中,该基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,包括:
响应于前一图像块对应的中间码率大于第二码率阈值,对该量化参数的数值加一,得到调整后的该量化参数;
响应于前一图像块对应的中间码率小于该第二码率阈值,基于该中间失真信息与中间失真阈值之间的大小关系,调整该量化参数,得到调整后的该量化参数。
在一种可能实现方式中,该基于该中间失真信息与中间失真阈值之间的大小关系,调整该量化参数,得到调整后的该量化参数,包括:
响应于该中间失真信息的数值大于该中间失真阈值,获取该中间码率与该第二码率阈值之间的第一误差值;
响应于该第一误差值大于第一误差阈值,对该量化参数的数值减一,得到调整后的该量化参数。
在一种可能实现方式中,该基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,包括:
响应于该任一视频帧对应的该实际码率大于第三码率阈值,对该下一视频帧对应的量化参数加一;
响应于该任一视频帧对应的该实际码率小于该第三码率阈值,基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整。
在一种可能实现方式中,该基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整,包括:
响应于该任一视频帧对应的实际失真信息大于实际失真阈值,获取该任一视频帧的实际码率与第三码率阈值之间的第二误差值;
响应于该第二误差值大于第二误差阈值,对该下一视频帧对应的量化参数减一。
在一种可能实现方式中,该方法应用于视频编码器。
上述实施例仅是本公开的实施方式的一个简要介绍以及各种可能实现方式的简要介绍,本公开实施例提供的技术方案,可以应用于视频编码器中,例如,终端或服务器等任一类型的计算机设备中搭载有视频编码器,结合本公开实施例提供的技术方案,计算机设备中的视频编码器在对各个视频帧进行编码时,可以先基于指定的量化参数,对视频帧的码率和失真进行预测,基于预测数据调整该量化参数,再应用到实际编码中,还可以在当前视频帧编码完成后,基于当前视频帧的实际码率和失真,来调整下一视频帧在编码时所应用的量化参数,从而达到根据已编码视频帧的编码情况,对后续视频帧的码率进行控制的效果,在确保视频质量的情况下,使视频对应的总码率满足需求。参见图2,该图2是根据一示例性实施例示出的一种视频数据处理方法的流程图,以下结合图2,以计算机设备为执行主体,对该视频数据处理方法进行介绍,该方法具体包括如下步骤:
在步骤201中,计算机设备获取待编码的多个视频帧以及初始量化参数。
其中,量化参数用于对视频帧进行编码。例如,一个量化参数对应于一个量化步长,计算机设备基于量化参数,从量化参数和量化步长的对应关系表中,获取这一量化参数所指示的量化步长,基于该量化步长对视频帧进行量化、编码。在本公开实施例中,该初始量化参数由开发人员进行设置,本公开实施例对此不作限定。
在一种可能实现方式中,计算机设备响应于对编码指令,从待编码的目标视频中获取多个视频帧以及该初始量化参数。其中,该目标视频可以是存储在计算机设备中的视频,也可以是计算机设备在实时获取的视频,本公开实施例对此不作限定。以该目标视频是存储在计算机设备中的视频为例,计算机设备响应于该编码指令,从目标视频的第一个视频帧起,获取连续的多个视频帧。需要说明的是,计算机设备每次所获取的视频帧数目由开发人员进行设置,本公开实施例对此不作限定。
在步骤202中,计算机设备基于初始量化参数以及每个视频帧对应的像素信息,确定每个视频帧对应的预测码率和预测失真信息。
在本公开实施例中,计算机设备在获取到待编码的多个视频帧之后,先对每个视频帧在编码时所需的码率和编码后的失真情况进行预测,得到每个视频帧对应的预测码率和预测失真信息。在一种可能实现方式中,该过程可以包括以下步骤:
步骤一、计算机设备基于每个视频帧中像素点之间的相关性,对每个视频帧进行帧内预测和帧间预测,得到每个视频帧对应的预测图像数据。
以获取一个视频帧对应的预测图像数据为例,在一种可能实现方式中,计算机设备先将视频帧划分为互不重叠的图像块。例如,计算机设备可以先对视频帧进行1/2下采样,在对下采样后的视频帧进行图像块划分,当然,也可采用四叉树的分割方式,将一个视频帧分割为大小不同且互不重叠的图像块,需要说明的是,本公开实施例对具体采用哪种视频帧划分方法不作限定。计算机设备再基于预测编码的方式,利用视频内容的空间相关性和时间相关性,去除冗余信息,得到每个图像块对应的预测图像块,进而得到视频帧对应的预测图像数据。其中,该预测编码包括hevc标准中的帧内预测和帧间预测,本公开实施例对具体采用哪种方法进行预测编码不作限定。
步骤二、计算机设备分别对每个视频帧与相对应的预测图像数据作差,得到每个视频帧对应的预测残差数据。
其中,一个视频帧对应的预测残差数据包括该一个视频帧中各个图像块对应的残差块数据。在一种可能实现方式中,对于一个视频帧,计算机设备将该一个视频帧中各个图像块与对应的预测图像块进行作差,得到各个图像块对应的残差块数据,将各个图像块对应的残差块数据作为该一个视频帧对应的预测残差数据。
需要说明的是,上述步骤一、步骤二中对获取预测残差数据的方法的说明,仅是一种示例性说明,本公开实施例对具体采用哪种方法获取预测残差数据不作限定。
步骤三、计算机设备基于每个视频帧对应的该预测残差数据以及该初始量化参数,确定每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,首先,计算机设备基于每个视频帧中图像块对应的残差块数据的大小以及视频编码过程中所采用的预测方式,确定每个残差块数据对应的变换方法。例如,在hevc编码标准中,4*4的残差块数据采用DST(Discrete Sine Transform,离散正弦变换)变换,其他尺寸的残差块数据采用DCT(Discrete Cosine Transform,离散余弦变换)。计算机设备在应用对应的变换方法对残差块数据进行变换后,能够得到残差系数。在本公开实施例中,在这一阶段并不需要对各个残差块数据进行DCT或DST变换,只需要估计出变换后的残差系数即可。在一种可能实现方式中,可以通过下述公式(1)和(2)分别代替DCT和DST变换过程,来估计残差系数。其中,公式(1)中各个变换矩阵的大小可以是64*64、32*32、16*16、8*8、4*4中任一项,公式(2)中各个矩阵的大小为4*4。该公式(1)和(2)具体可以表示为:
C1=HXH’ (1)
C2=BXB’ (2)
其中,X表示视频帧中任一图像块对应的残差块数据;C1表示估计出的DCT变换后的残差系数;H表示Sequency Ordered Walsh-Hadamard Matrix(沃尔什-阿达玛转换矩阵),H’表示矩阵H的转置;C2表示估计出的DST变换后的残差系数;B表示一种近似DST特性的简化变换矩阵,该矩阵B具体可以表示为下述公式(3),B’表示矩阵B的转置。
需要说明的是,上述对估计DCT、DST变换后的残差系数的说明,仅是一种示例性说明,本公开实施例对具体采用哪种方法估计DCT、DST变换后的残差系数不作限定。在本公开实施例中,采用了一种低复杂度的残差系数估计方法,直接应用矩阵H、矩阵B和预测出的各个图像块对应的残差块数据,来对DCT、DST变换后的残差系数进行估计,能够省去后续重构的过程,例如DCT或DST变换,以及省去后续的量化、熵编码过程,能够以较低复杂度估计出码率。
然后,计算机设备获取参考模型。其中,该参考模型用于基于量化参数以及估计出的残差系数,对视频帧编码后所对应的码率和失真信息进行预测。在本公开实施例中,该参考模型为基于视频内容特征的码率-失真模型,该参考模型在预测码率和失真信息时,充分考虑了视频帧的内容特征。
最后,计算机设备分别将每个视频帧对应的初始量化参数以及估计出的残差系数输入该参考模型,由该参考模型输出每个视频帧对应的预测码率和预测失真信息。在一种可能实现方式中,视频帧对应的预测码率可以表示为下述公式(4):
其中,Δ表示量化步长,S表示图像块的尺寸,ci表示估计出的残差系数中,位置(x,y)处的系数;TH表示量化死区阈值。
在一种可能实现方式中,视频帧对应预测失真信息可以表示为下述公式(6):
其中,表示预测失真信息;表示量化死区内的系数,即|ci|<TH的失真信息,其数值等于量化死区内的各个系数的平方和;表示量化死区外的系数,即|ci|>TH的失真信息,可以基于下述公式(7)和(8)确定:
需要说明的是,上述对基于参考模型对视频帧的码率和失真信息进行预测的方法的说明,仅是一种可能实现方式的示例性说明,本公开实施例对参考模型的具体结构以及码率和失真的具体预测方法不作限定。
在步骤203中,计算机设备基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对每个视频帧对应的初始量化参数进行调整,得到每个视频帧对应的量化参数。
其中,该第二参考条件可以由开发人员进行设置,例如,该第二参考条件中包括对预测码率、预测失真信息的数值限制信息等,本公开实施例对此不作限定。
在一种可能实现方式中,响应于该预测码率之和大于第一码率阈值,计算机设备可以增大该每个视频帧对应的初始量化参数的数值,基于调整后的该初始量化参数确定该每个视频帧对应的预测码率和预测失真信息,直到该每个视频帧对应预测码率之和小于该第一码率阈值;响应于该预测码率之和小于该第一码率阈值且各个预测失真信息的波动幅度小于波动阈值,计算机设备可以将该每个视频帧当前对应的该初始量化参数确定为该量化参数;响应于该预测码率之和小于该第一码率阈值且各个预测失真信息的波动幅度大于该波动阈值,计算机设备可以减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到该每个视频帧对应的该量化参数。其中,第一码率阈值、波动阈值均可以由开发人员进行设置,本公开实施例对此不作限定。
图3是根据一示例性实施例示出的一种视频帧级的量化参数调整方法示意图,结合图3,对上述量化参数调整过程进行说明,首先,计算机设备获取多个视频帧,对于视频帧i,基于初始量化参数QPi,预测出视频帧i的残差块数据经过DCT变换或DST变换后,所对应的残差系数,即执行步骤301,将视频帧i的残差块数据所对应的残差系数输入参考模型302,预测出各个图像块对应的预测码率和预测失真信息,对图像块级的预测码率和预测失真信息进行累加,得到帧级别的预测码率和预测失真信息然后,计算机设备获取该多个视频帧对应的码率之和以及失真信息之和即执行步骤303,再判断多个视频帧的码率之和是否大于第一码率阈值,若是,则执行步骤304,对各个视频帧的初始量化参数加一,将调整后的初始量化参数再输入参考模型302,重新执行后续步骤;若否,则执行步骤305,获取各个预测失真信息的波动幅度,即数值最大的预测失真信息与数值最小的预测失真信息之间的波动幅度,判断该波动幅度是否小于波动阈值。若否,则执行步骤306,对最大预测失真信息所对应视频帧的初始量化参数减一,对最小预测失真信息所对应视频帧的初始量化参数加一,将更新后的初始量化参数再输入参考模型302,重新执行后续步骤;若否,则将当前各个视频帧对应的初始量化参数确定为各个视频帧对应的量化参数。
需要说明的是,上述步骤201-步骤203是计算机设备获取待编码的多个视频帧以及每个视频帧对应的量化参数的步骤。在本公开实施例中,先指定一个初始量化参数,通过参考模型基于该初始量化参数,来预测出各个视频帧在编码后对应的码率和失真信息,根据预测出的码率和失真信息对各个视频帧的初始量化参数进行调整,以对各个视频帧对应的码率进行调整,从而确保视频对应的总码率能够满足需求。
在步骤204中,对于该多个视频帧中的任一视频帧,计算机设备基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息。
在本公开实时中,计算机设备可以基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息。在一种可能实现方式中,对于该任一视频帧中的第一个图像块,计算机设备可以直接基于该任一视频帧对应的量化参数对该第一个图像块进行编码,得到该第一个图像块对应的中间码率和中间失真信息;对于该任一视频帧中除该第一个图像块以外的任一图像块,该计算机设备可以获取前一图像块对应的中间码率和中间失真信息,基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,基于调整后的该量化参数,对该任一图像块进行编码。
图4是根据一示例性实施例示出的一种图像块级的量化参数调整方法的示意图,结合图4,对上述图像块级的量化参数调整过程进行说明,在一种可能实现方式中,计算机设备先判断前一图像块对应的中间码率是否大于第二码率阈值,即执行步骤401。响应于前一图像块对应的中间码率大于第二码率阈值,计算机设备执行步骤402,即对该量化参数的数值加一,得到调整后的量化参数,基于调整后的量化参数继续对该任一图像块进行编码。响应于前一图像块对应的中间码率小于该第二码率阈值,计算机设备基于该中间失真信息与中间失真阈值之间的大小关系,继续调整该量化参数。也即是,计算机设备执行步骤403,判断中间失真信息是否大于中间失真阈值,若否,则基于当前的量化参数对该任一图像块进行编码;若是,则获取该中间码率与该第二码率阈值之间的第一误差值,判断该第一误差值是否大于第一误差阈值,即执行步骤404。响应于该第一误差值大于第一误差阈值,对该量化参数的数值减一,即执行步骤405,得到调整后的该量化参数,基于调整后的量化参数对该任一图像块进行编码;否则,无需对当前的量化参数进行调整,直接基于当前的量化参数对该任一图像块进行编码。其中,该第二码率阈值和第一误差阈值均可以由开发人员进行设置,本公开实施例对此不作限定。需要说明的是,本公开实施例对图像块进行编码的具体方法不作限定。在本公开实施例中,对任一视频帧编码时,基于已编码图像块对应的实际码率和实际失真信息,对于后续图像块编码所应用的量化参数进行调整,以平和各个图像块之间的码率分布,从而实现对视频帧码率的控制,避免编码过程中出现码率不足或码率过大的情况,确保视频对应的总码率满足需求。
在本公开实施例中,计算机设备对一个视频帧中的各个图像块编码完成,得到各个图像块对应的中间码率和中间失真信息后,可以基于该各个图像块对应的中间码率和中间失真信息,确定该任一视频帧对应的该实际码率和该实际失真信息。例如,对各个中间码率累加,得到视频帧对应的实际码率,对各个失真信息累加,得到视频帧对应的实际失真信息。
在步骤205中,计算机设备基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的该量化参数对该下一视频帧进行编码。
其中,该第一参考条件可以由开发人员进行设置,例如,该第一参考条件中包括对实际码率、实际失真信息的数值限制信息等,本公开实施例对此不作限定。
在一种可能实现方式中,计算机设备先对该任一视频帧对应的实际码率和第三码率阈值之间的数值关系进行判断。响应于该任一视频帧对应的该实际码率大于第三码率阈值,对该下一视频帧对应的量化参数加一。响应于该任一视频帧对应的该实际码率小于该第三码率阈值,计算机设备基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整。在一种可能实现方式中,计算机设备可以判断该任一视频帧的实际失真信息与实际失真阈值之间的数值关系,响应于该任一视频帧对应的实际失真信息大于实际失真阈值,获取该任一视频帧的实际码率与第三码率阈值之间的第二误差值;响应于该第二误差值大于第二误差阈值,对该下一视频帧对应的量化参数减一。需要说明的是,上述对视频帧级的量化参数进行调整的过程,与图4所示的对图像块级的量化参数进行调整的过同理,在此不做赘述。
需要说明的是,在本公开实施例中,若待编码视频帧是视频中的第一帧,或者没有获取到前一视频帧的实际码率和实际失真信息,则可以先基于指定的初始量化参数,对待编码视频帧的码率和失真进行预测,再基于预测出的数据来对该初始量化参数进行调整,得到该待编码视频帧对应的量化参数,应用该量化参数对待编码视频帧进行编码,具体过程如上述步骤201至步骤204。若待编码的视频不是视频中的第一帧,且能够获取到前一视频帧的实际码率和实际失真信息,则可以基于前一视频帧的实际码率和实际失真信息,对待编码视频帧的量化参数进行调整,具体过程如上述步骤205。
图5是根据一示例性实施例示出的一种码率控制方的流程图,结合图5,对上述视频数据处理过程进行说明。对于任一视频帧,首先,计算机设备先执行视频帧预处理的步骤501,得到视频帧中图像块级的残差系数,将获取到的残差系数以及初始量化参数输入参考模型502,由参考量化模型进行码率预测和失真信息预测,基于预测出的码率和失真信息,执行视频帧级的码率分配步骤503,也即是实现上述初始量化参数调整的步骤203的过程,得到视频帧级的量化参数。然后,计算机设备执行对视频帧中的一个或一行图像块进行编码的步骤504,得到图像块级的实际码率和实际失真信息,再执行对图像块级的量化参数进行调整的步骤505,也即是实现上述步骤204的过程。最后,计算机设备,响应于该任一视频帧编码完成,且该任一视频帧不是最后一帧,基于该任一视频帧对应的实际码率和实际失真信息执行步骤503,对下一视频帧的码率进行控制。本公开实施例提供的技术方案,基于已编码视频帧的码率和失真信息,调整未编码视频帧的量化参数,来提升视频编码器的压缩效率,在确保视频质量的情况下,降低视频的码率;且通过对视频帧级的量化参数进行调整和对视频块级的量化参数进行调整,也即是通过粗略调整和精确调整,更精确地控制各个视频帧的码率,满足变化带宽需求,防止buffer(缓冲器)上下溢出,得到更流畅的视频,确保视频在播放过程中视频质量不会突变。
本公开实施例提供的技术方案,通过在一个视频帧编码完成后,基于该一个视频帧的实际码率和实际失真信息,对后续视频帧编码所应用的量化参数进行调整,从而控制后续视频帧编码后的码率,进而能够将视频编码后的总码率控制在一个合理范围,且量化参数调整过程中考虑到了视频帧的实际失真信息,从而能够在确保编码后的视频质量的情况下,使视频的总码率满足码率需求。
图6是根据一示例性实施例示出的一种视频数据处理装置框图。参照图6,该装置包括第一获取模块601、第二获取模块602和调整模块603。
第一获取模块601,被配置为获取待编码的多个视频帧以及每个视频帧对应的量化参数;
第二获取模块602,被配置为对于该多个视频帧中的任一视频帧,基于该任一视频帧对应的量化参数对该任一视频帧进行编码,得到该任一视频帧对应的实际码率和实际失真信息;
调整模块603,被配置为基于该任一视频帧对应的该实际码率和该实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的该量化参数对该下一视频帧进行编码。
在一种可能实现方式中,该第一获取模块601包括:
获取子模块,被配置为获取待编码的该多个视频帧以及初始量化参数;
第一确定子模块,被配置为基于该初始量化参数以及该每个视频帧对应的像素信息,确定该每个视频帧对应的预测码率和预测失真信息;
调整子模块,被配置为基于该预测码率和该预测失真信息与第二参考条件之间的匹配关系,对该每个视频帧对应的初始量化参数进行调整,得到该每个视频帧对应的量化参数。
在一种可能实现方式中,该第一确定子模块包括:
预测单元,被配置为基于该每个视频帧中像素点之间的相关性,对该每个视频帧进行帧内预测和帧间预测,得到该每个视频帧对应的预测图像数据;
获取单元,被配置为分别对该每个视频帧与相对应的预测图像数据作差,得到每个视频帧对应的预测残差数据;
确定单元,被配置为基于该每个视频帧对应的该预测残差数据以及该初始量化参数,确定该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该预测单元被配置为:
基于该每个视频帧对应的该预测残差数据,确定该每个视频帧对应的多个残差系数;
获取参考模型,该参考模型用于基于量化参数以及残差系数,预测视频帧的码率和失真信息;
分别将该每个视频帧对应的初始量化参数以及该多个残差系数输入该参考模型,由该参考模型输出该每个视频帧对应的预测码率和预测失真信息。
在一种可能实现方式中,该调整子模块被配置为:
响应于该预测码率之和大于第一码率阈值,增大该每个视频帧对应的初始量化参数的数值,基于调整后的该初始量化参数确定该每个视频帧对应的预测码率和预测失真信息,直到该每个视频帧对应预测码率之和小于该第一码率阈值;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度小于波动阈值,将该每个视频帧当前对应的该初始量化参数确定为该量化参数;
响应于该预测码率之和小于该第一码率阈值且各个该预测失真信息的波动幅度大于该波动阈值,减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到该每个视频帧对应的该量化参数。
在一种可能实现方式中,该第二获取模块602包括:
编码子模块,被配置为基于该任一视频帧对应的量化参数,对该任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息;
第二确定子模块,被配置为基于该各个图像块对应的该中间码率和该中间失真信息,确定该任一视频帧对应的该实际码率和该实际失真信息。
在一种可能实现方式中,该编码子模块包括:
第一编码单元,被配置为对于该任一视频帧中的第一个图像块,基于该任一视频帧对应的量化参数对该第一个图像块进行编码,得到该第一个图像块对应的中间码率和中间失真信息;
第二编码单元,被配置为对于该任一视频帧中除该第一个图像块以外的任一图像块,获取前一图像块对应的中间码率和中间失真信息,基于该前一图像块对应的中间码率和中间失真信息,对该任一视频帧当前对应的量化参数进行调整,基于调整后的该量化参数,对该任一图像块进行编码。
在一种可能实现方式中,该第二编码单元包括:
第一调整子单元,被配置为响应于前一图像块对应的中间码率大于第二码率阈值,对该量化参数的数值加一,得到调整后的该量化参数;
第二调整子单元,被配置为响应于前一图像块对应的中间码率小于该第二码率阈值,基于该中间失真信息与中间失真阈值之间的大小关系,调整该量化参数,得到调整后的该量化参数。
在一种可能实现方式中,该第二调整子单元被配置为:
响应于该中间失真信息的数值大于该中间失真阈值,获取该中间码率与该第二码率阈值之间的第一误差值;
响应于该第一误差值大于第一误差阈值,对该量化参数的数值减一,得到调整后的该量化参数。
在一种可能实现方式中,该调整模块603包括:
第一调整子模块,被配置为响应于该任一视频帧对应的该实际码率大于第三码率阈值,对该下一视频帧对应的量化参数加一;
第二调整子模块,被配置为响应于该任一视频帧对应的该实际码率小于该第三码率阈值,基于该任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对该下一视频帧对应的量化参数进行调整。
在一种可能实现方式中,该第二调整子模块被配置为:
响应于该任一视频帧对应的实际失真信息大于实际失真阈值,获取该任一视频帧的实际码率与第三码率阈值之间的第二误差值;
响应于该第二误差值大于第二误差阈值,对该下一视频帧对应的量化参数减一。
在一种可能实现方式中,该装置应用于视频编码器。
本公开实施例提供的装置,通过在一个视频帧编码完成后,基于该一个视频帧的实际码率和实际失真信息,对后续视频帧编码所应用的量化参数进行调整,从而控制后续视频帧编码后的码率,进而能够将视频编码后的总码率控制在一个合理范围,且量化参数调整过程中考虑到了视频帧的实际失真信息,从而能够在确保编码后的视频质量的情况下,使视频的总码率满足码率需求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种计算机设备的框图。该计算机设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)701和一个或一个以上的存储器702,其中,该存储器702中存储有至少一条指令,该至少一条指令由该处理器701加载并执行以实现上述各个方法实施例提供的视频数据处理方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机设备的处理器执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括可执行指令,当该计算机程序产品中的指令由计算机设备的处理器执行时,使得该计算机设备能够执行如上述任一项视频数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种视频数据处理方法,其特征在于,包括:
获取待编码的多个视频帧以及初始量化参数;
基于所述初始量化参数以及每个视频帧对应的像素信息,确定所述每个视频帧对应的预测码率和预测失真信息;
响应于所述预测码率之和大于第一码率阈值,增大所述每个视频帧对应的初始量化参数的数值,基于调整后的所述初始量化参数确定所述每个视频帧对应的预测码率和预测失真信息,直到所述每个视频帧对应预测码率之和小于所述第一码率阈值;
响应于所述预测码率之和小于所述第一码率阈值且各个所述预测失真信息的波动幅度小于波动阈值,将所述每个视频帧当前对应的所述初始量化参数确定为所述量化参数;
响应于所述预测码率之和小于所述第一码率阈值且各个所述预测失真信息的波动幅度大于所述波动阈值,减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到所述每个视频帧对应的所述量化参数;
对于所述多个视频帧中的任一视频帧,基于所述任一视频帧对应的量化参数对所述任一视频帧进行编码,得到所述任一视频帧对应的实际码率和实际失真信息;
基于所述任一视频帧对应的所述实际码率和所述实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的所述量化参数对所述下一视频帧进行编码。
2.根据权利要求1所述的视频数据处理方法,其特征在于,所述基于所述初始量化参数以及所述每个视频帧对应的像素信息,确定所述每个视频帧对应的预测码率和预测失真信息,包括:
基于所述每个视频帧中像素点之间的相关性,对所述每个视频帧进行帧内预测和帧间预测,得到所述每个视频帧对应的预测图像数据;
分别对所述每个视频帧与相对应的预测图像数据作差,得到每个视频帧对应的预测残差数据;
基于所述每个视频帧对应的所述预测残差数据以及所述初始量化参数,确定所述每个视频帧对应的预测码率和预测失真信息。
3.根据权利要求2所述的视频数据处理方法,其特征在于,所述基于所述每个视频帧对应的所述预测残差数据以及所述初始量化参数,确定所述每个视频帧对应的预测码率和预测失真信息,包括:
基于所述每个视频帧对应的所述预测残差数据,确定所述每个视频帧对应的多个残差系数;
获取参考模型,所述参考模型用于基于量化参数以及残差系数,预测视频帧的码率和失真信息;
分别将所述每个视频帧对应的初始量化参数以及所述多个残差系数输入所述参考模型,由所述参考模型输出所述每个视频帧对应的预测码率和预测失真信息。
4.根据权利要求1所述的视频数据处理方法,其特征在于,所述基于所述任一视频帧对应的量化参数对所述任一视频帧进行编码,得到所述任一视频帧对应的实际码率和实际失真信息,包括:
基于所述任一视频帧对应的量化参数,对所述任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息;
基于所述各个图像块对应的所述中间码率和所述中间失真信息,确定所述任一视频帧对应的所述实际码率和所述实际失真信息。
5.根据权利要求4所述的视频数据处理方法,其特征在于,所述基于所述任一视频帧对应的量化参数,对所述任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息,包括:
对于所述任一视频帧中的第一个图像块,基于所述任一视频帧对应的量化参数对所述第一个图像块进行编码,得到所述第一个图像块对应的中间码率和中间失真信息;
对于所述任一视频帧中除所述第一个图像块以外的任一图像块,获取前一图像块对应的中间码率和中间失真信息,基于所述前一图像块对应的中间码率和中间失真信息,对所述任一视频帧当前对应的量化参数进行调整,基于调整后的所述量化参数,对所述任一图像块进行编码。
6.根据权利要求5所述的视频数据处理方法,其特征在于,所述基于所述前一图像块对应的中间码率和中间失真信息,对所述任一视频帧当前对应的量化参数进行调整,包括:
响应于前一图像块对应的中间码率大于第二码率阈值,对所述量化参数的数值加一,得到调整后的所述量化参数;
响应于前一图像块对应的中间码率小于所述第二码率阈值,基于所述中间失真信息与中间失真阈值之间的大小关系,调整所述量化参数,得到调整后的所述量化参数。
7.根据权利要求6所述的视频数据处理方法,其特征在于,所述基于所述中间失真信息与中间失真阈值之间的大小关系,调整所述量化参数,得到调整后的所述量化参数,包括:
响应于所述中间失真信息的数值大于所述中间失真阈值,获取所述中间码率与所述第二码率阈值之间的第一误差值;
响应于所述第一误差值大于第一误差阈值,对所述量化参数的数值减一,得到调整后的所述量化参数。
8.根据权利要求1所述的视频数据处理方法,其特征在于,所述基于所述任一视频帧对应的所述实际码率和所述实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,包括:
响应于所述任一视频帧对应的所述实际码率大于第三码率阈值,对所述下一视频帧对应的量化参数加一;
响应于所述任一视频帧对应的所述实际码率小于所述第三码率阈值,基于所述任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对所述下一视频帧对应的量化参数进行调整。
9.根据权利要求8所述的视频数据处理方法,其特征在于,所述基于所述任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对所述下一视频帧对应的量化参数进行调整,包括:
响应于所述任一视频帧对应的实际失真信息大于实际失真阈值,获取所述任一视频帧的实际码率与第三码率阈值之间的第二误差值;
响应于所述第二误差值大于第二误差阈值,对所述下一视频帧对应的量化参数减一。
10.一种视频数据处理装置,其特征在于,包括:
第一获取模块包括获取子模块、第一确定子模块以及调整子模块;
所述获取子模块,被配置为获取待编码的多个视频帧以及初始量化参数;
所述第一确定子模块,被配置为基于所述初始量化参数以及每个视频帧对应的像素信息,确定所述每个视频帧对应的预测码率和预测失真信息;
所述调整子模块,被配置为响应于所述预测码率之和大于第一码率阈值,增大所述每个视频帧对应的初始量化参数的数值,基于调整后的所述初始量化参数确定所述每个视频帧对应的预测码率和预测失真信息,直到所述每个视频帧对应预测码率之和小于所述第一码率阈值;
响应于所述预测码率之和小于所述第一码率阈值且各个所述预测失真信息的波动幅度小于波动阈值,将所述每个视频帧当前对应的所述初始量化参数确定为所述量化参数;
响应于所述预测码率之和小于所述第一码率阈值且各个所述预测失真信息的波动幅度大于所述波动阈值,减小最大预测失真信息所对应视频帧的初始量化参数,增大最小预测失真信息所对应视频帧的初始量化参数,得到所述每个视频帧对应的所述量化参数;
第二获取模块,被配置为对于所述多个视频帧中的任一视频帧,基于所述任一视频帧对应的量化参数对所述任一视频帧进行编码,得到所述任一视频帧对应的实际码率和实际失真信息;
调整模块,被配置为基于所述任一视频帧对应的所述实际码率和所述实际失真信息与第一参考条件之间的匹配关系,对下一视频帧对应的量化参数进行调整,基于调整后的所述量化参数对所述下一视频帧进行编码。
11.根据权利要求10所述的视频数据处理装置,其特征在于,所述第一确定子模块包括:
预测单元,被配置为基于所述每个视频帧中像素点之间的相关性,对所述每个视频帧进行帧内预测和帧间预测,得到所述每个视频帧对应的预测图像数据;
获取单元,被配置为分别对所述每个视频帧与相对应的预测图像数据做差,得到每个视频帧对应的预测残差数据;
确定单元,被配置为基于所述每个视频帧对应的所述预测残差数据以及所述初始量化参数,确定所述每个视频帧对应的预测码率和预测失真信息。
12.根据权利要求11所述的视频数据处理装置,其特征在于,所述预测单元被配置为:
基于所述每个视频帧对应的所述预测残差数据,确定所述每个视频帧对应的多个残差系数;
获取参考模型,所述参考模型用于基于量化参数以及残差系数,预测视频帧的码率和失真信息;
分别将所述每个视频帧对应的初始量化参数以及所述多个残差系数输入所述参考模型,由所述参考模型输出所述每个视频帧对应的预测码率和预测失真信息。
13.根据权利要求10所述的视频数据处理装置,其特征在于,所述第二获取模块包括:
编码子模块,被配置为基于所述任一视频帧对应的量化参数,对所述任一视频帧中的各个图像块进行编码,得到各个图像块对应的中间码率和中间失真信息;
第二确定子模块,被配置为基于所述各个图像块对应的所述中间码率和所述中间失真信息,确定所述任一视频帧对应的所述实际码率和所述实际失真信息。
14.根据权利要求13所述的视频数据处理装置,其特征在于,所述编码子模块包括:
第一编码单元,被配置为对于所述任一视频帧中的第一个图像块,基于所述任一视频帧对应的量化参数对所述第一个图像块进行编码,得到所述第一个图像块对应的中间码率和中间失真信息;
第二编码单元,被配置为对于所述任一视频帧中除所述第一个图像块以外的任一图像块,获取前一图像块对应的中间码率和中间失真信息,基于所述前一图像块对应的中间码率和中间失真信息,对所述任一视频帧当前对应的量化参数进行调整,基于调整后的所述量化参数,对所述任一图像块进行编码。
15.根据权利要求14所述的视频数据处理装置,其特征在于,所述第二编码单元包括:
第一调整子单元,被配置为响应于前一图像块对应的中间码率大于第二码率阈值,对所述量化参数的数值加一,得到调整后的所述量化参数;
第二调整子单元,被配置为响应于前一图像块对应的中间码率小于所述第二码率阈值,基于所述中间失真信息与中间失真阈值之间的大小关系,调整所述量化参数,得到调整后的所述量化参数。
16.根据权利要求15所述的视频数据处理装置,其特征在于,所述第二调整子单元被配置为:
响应于所述中间失真信息的数值大于所述中间失真阈值,获取所述中间码率与所述第二码率阈值之间的第一误差值;
响应于所述第一误差值大于第一误差阈值,对所述量化参数的数值减一,得到调整后的所述量化参数。
17.根据权利要求10所述的视频数据处理装置,其特征在于,所述调整模块包括:
第一调整子模块,被配置为响应于所述任一视频帧对应的所述实际码率大于第三码率阈值,对所述下一视频帧对应的量化参数加一;
第二调整子模块,被配置为响应于所述任一视频帧对应的所述实际码率小于所述第三码率阈值,基于所述任一视频帧对应的实际失真信息与实际失真阈值之间的大小关系,对所述下一视频帧对应的量化参数进行调整。
18.根据权利要求17所述的视频数据处理装置,其特征在于,所述第二调整子模块被配置为:
响应于所述任一视频帧对应的实际失真信息大于实际失真阈值,获取所述任一视频帧的实际码率与第三码率阈值之间的第二误差值;
响应于所述第二误差值大于第二误差阈值,对所述下一视频帧对应的量化参数减一。
19.一种计算机设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的视频数据处理方法。
20.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由计算机设备的处理器执行时,使得所述计算机设备能够执行如权利要求1至9中任一项所述的视频数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011104871.XA CN112243129B (zh) | 2020-10-15 | 2020-10-15 | 视频数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011104871.XA CN112243129B (zh) | 2020-10-15 | 2020-10-15 | 视频数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112243129A CN112243129A (zh) | 2021-01-19 |
CN112243129B true CN112243129B (zh) | 2022-10-11 |
Family
ID=74168592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011104871.XA Active CN112243129B (zh) | 2020-10-15 | 2020-10-15 | 视频数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112243129B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115996293B (zh) * | 2023-03-22 | 2023-06-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频图像编码的方法、***、设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466035B (zh) * | 2007-12-21 | 2011-08-17 | 深圳市融创天下科技发展有限公司 | 一种基于h.264的视频图像组比特分配方法 |
US20150085922A1 (en) * | 2013-09-25 | 2015-03-26 | Magnum Semiconductor, Inc. | Apparatuses and methods for reducing rate and distortion costs during encoding by modulating a lagrangian parameter |
CN104796704B (zh) * | 2015-04-22 | 2017-12-08 | 哈尔滨工业大学 | 一种用于可伸缩视频编码的宏块级码率控制方法 |
CN105898329A (zh) * | 2016-04-12 | 2016-08-24 | 乐视控股(北京)有限公司 | 一种用于视频编码的码率控制方法及装置 |
CN109819263B (zh) * | 2017-11-22 | 2022-08-19 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备及存储介质 |
CN109862359B (zh) * | 2018-12-29 | 2021-01-08 | 北京数码视讯软件技术发展有限公司 | 基于分层b帧的码率控制方法、装置和电子设备 |
-
2020
- 2020-10-15 CN CN202011104871.XA patent/CN112243129B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112243129A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
US8121190B2 (en) | Method for video coding a sequence of digitized images | |
CN110876060B (zh) | 一种编码过程中的码率调整方法及装置 | |
KR20070001112A (ko) | 적응형 레이트 제어를 구비한 인코더 | |
CN109068137A (zh) | 兴趣区域感知的视频编码 | |
CN104885455A (zh) | 用于高效下一代视频编码的通过使用帧层次敏感的量化的内容自适应比特率和质量控制 | |
CN107846593B (zh) | 一种率失真优化方法及装置 | |
CN111193931B (zh) | 一种视频数据的编码处理方法和计算机存储介质 | |
US20200068200A1 (en) | Methods and apparatuses for encoding and decoding video based on perceptual metric classification | |
CN108012163A (zh) | 视频编码的码率控制方法及装置 | |
TWI394462B (zh) | 基於視覺感知的位元-失真最佳化位元分配的位元率控制方法 | |
US20160277767A1 (en) | Methods, systems and apparatus for determining prediction adjustment factors | |
CN112243129B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
WO2022021422A1 (zh) | 视频编码方法、编码器、***以及计算机存储介质 | |
US10616585B2 (en) | Encoding data arrays | |
WO2020186763A1 (zh) | 图像分量预测方法、编码器、解码器以及存储介质 | |
CN113473136A (zh) | 视频编码器及其码率控制装置 | |
JP6946979B2 (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
KR20040007818A (ko) | 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 | |
CN115567712A (zh) | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 | |
KR100911098B1 (ko) | H.263 영상 부호화에 의한 왜곡량 예측 장치 및 그 방법 | |
JP5171658B2 (ja) | 画像符号化装置 | |
US11330258B1 (en) | Method and system to enhance video quality in compressed video by manipulating bit usage | |
US11985341B2 (en) | Assigning bit budgets to parallel encoded video data | |
WO2023103200A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |