CN107846590B - 一种视频编码的方法和视频编码器 - Google Patents

一种视频编码的方法和视频编码器 Download PDF

Info

Publication number
CN107846590B
CN107846590B CN201610833639.7A CN201610833639A CN107846590B CN 107846590 B CN107846590 B CN 107846590B CN 201610833639 A CN201610833639 A CN 201610833639A CN 107846590 B CN107846590 B CN 107846590B
Authority
CN
China
Prior art keywords
quantization parameter
parameter value
code rate
current
output
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
Application number
CN201610833639.7A
Other languages
English (en)
Other versions
CN107846590A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610833639.7A priority Critical patent/CN107846590B/zh
Publication of CN107846590A publication Critical patent/CN107846590A/zh
Application granted granted Critical
Publication of CN107846590B publication Critical patent/CN107846590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供了一种视频编码的方法和视频编码器,所述方法包括:获取当前的量化参数值;判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;若否,则将所述当前的量化参数值调整为目标量化参数值;采用所述目标量化参数值对视频帧进行编码,使得编码后获得的视频能够满足预设的输出码率的要求,实现在对任意的输入视频进行转码时,都能做到保画质,省码率。

Description

一种视频编码的方法和视频编码器
技术领域
本申请涉及视频处理技术领域,特别是涉及一种视频编码方法和一种视频编码器。
背景技术
视频转码是一切互联网视频服务的基础,视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。视频转码本质上是一个先解码、再编码的过程。
视频转码的目标是要求转码后获得的视频数据在播放时流畅且画质清晰。但是,流畅要求码率越低越好,相反,画质清晰则需要更高的码率。
为了达到控制码率的需求,目前在线视频普遍采用控制平均码率的编码方式对视频进行转码。但是,在给定平均码率的情况下,上述方法失去了对视频内容的自适应性,即不管视频场景简单或是复杂,都按照相同的码率进行编码,使得在对简单场景视频编码时浪费了不必要的码率和带宽,而对复杂场景编码时则使视频质量损失严重。同时,上述方法减小了码率的波动,相应的就增大了转码后画质的波动,严重影响播放端的用户体验。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频编码的方法和相应的一种视频编码器。
为了解决上述问题,本申请公开了一种视频编码的方法,包括:
获取当前的量化参数值;
判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;
若否,则将所述当前的量化参数值调整为目标量化参数值;
采用所述目标量化参数值对视频帧进行编码。
可选地,所述获取当前的量化参数值的步骤包括:
获取与预设的质量参数相对应的当前的量化参数值。
可选地,所述输出码率包括当前输出平均码率和当前输出瞬时码率,在判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求的步骤前,还包括:
统计与所述当前的量化参数值相对应的当前输出平均码率;以及,
统计与所述当前的量化参数值相对应的当前输出瞬时码率。
可选地,所述统计与所述当前的量化参数值相对应的当前输出平均码率的步骤包括:
统计第一时间段内输出的多个视频帧的数据大小;
根据所述数据大小与所述第一时间段的长度,确定所述当前输出平均码率。
可选地,所述统计与所述当前的量化参数值相对应的当前输出瞬时码率的步骤包括:
确定第二时间段内的多个已编码视频帧和多个未编码视频帧;
统计所述多个已编码视频帧的编码大小和所述多个未编码视频帧的预测编码大小,获得目标数据大小;
根据所述目标数据大小和所述第二时间段的长度,确定所述当前输出瞬时码率。
可选地,所述判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求的步骤包括:
判断所述当前输出平均码率是否满足第一预设阈值的要求;以及,
判断所述当前输出瞬时码率是否满足第二预设阈值的要求。
可选地,所述将所述当前的量化参数值调整为目标量化参数值的步骤包括:
若所述当前输出平均码率大于所述第一预设阈值,将所述当前的量化参数值上调为第一量化参数值;
若所述当前输出瞬时码率大于所述第二预设阈值,将所述当前的量化参数值上调为第二量化参数值;
根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值。
可选地,所述根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值的步骤包括:
判断所述第一量化参数值是否大于所述第二量化参数值;
若是,则以所述第一量化参数值作为目标量化参数值;
若否,则以所述第二量化参数值作为目标量化参数值。
可选地,所述视频帧包括多个宏块,所述采用所述目标量化参数值对视频帧进行编码的步骤包括:
根据所述目标量化参数值,分别确定所述多个宏块的量化参数值;
分别采用所述多个宏块的量化参数值对所述多个宏块进行编码。
可选地,在所述采用所述目标量化参数值对视频帧进行编码的步骤后,还包括:
统计编码后输出的视频帧的输出码率;
判断所述编码后输出的视频帧的输出码率是否满足预设阈值的要求;
若否,则返回执行所述将所述当前的量化参数值调整为目标量化参数值的步骤。
为了解决上述问题,本申请公开了一种视频编码器,包括:
获取模块,用于获取当前的量化参数值;
判断模块,用于判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;
调整模块,用于在输出码率未满足预设阈值的要求时,将所述当前的量化参数值调整为目标量化参数值;
编码模块,用于采用所述目标量化参数值对视频帧进行编码。
可选地,所述获取模块包括:
获取子模块,用于获取与预设的质量参数相对应的当前的量化参数值。
可选地,所述输出码率包括当前输出平均码率和当前输出瞬时码率,所述视频编码器还包括:
平均码率统计模块,用于统计与所述当前的量化参数值相对应的当前输出平均码率;以及,
瞬时码率统计模块,用于统计与所述当前的量化参数值相对应的当前输出瞬时码率。
可选地,所述平均码率统计模块包括:
数据大小统计子模块,用于统计第一时间段内输出的多个视频帧的数据大小;
平均码率确定子模块,用于根据所述数据大小与所述第一时间段的长度,确定所述当前输出平均码率。
可选地,所述瞬时码率统计模块包括:
视频帧确定子模块,用于确定第二时间段内的多个已编码视频帧和多个未编码视频帧;
目标数据大小统计子模块,用于统计所述多个已编码视频帧的编码大小和所述多个未编码视频帧的预测编码大小,获得目标数据大小;
瞬时码率确定子模块,用于根据所述目标数据大小和所述第二时间段的长度,确定所述当前输出瞬时码率。
可选地,所述判断模块包括:
平均码率判断子模块,用于判断所述当前输出平均码率是否满足第一预设阈值的要求;以及,
瞬时码率判断子模块,用于判断所述当前输出瞬时码率是否满足第二预设阈值的要求。
可选地,所述调整模块包括:
第一量化参数值确定子模块,用于在所述当前输出平均码率大于所述第一预设阈值时,将所述当前的量化参数值上调为第一量化参数值;
第二量化参数值确定子模块,用于在所述当前输出瞬时码率大于所述第二预设阈值时,将所述当前的量化参数值上调为第二量化参数值;
目标量化参数值确定子模块,用于根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值。
可选地,所述目标量化参数值确定子模块包括:
判断单元,用于判断所述第一量化参数值是否大于所述第二量化参数值;若是,则以所述第一量化参数值作为目标量化参数值;若否,则以所述第二量化参数值作为目标量化参数值。
可选地,所述视频帧包括多个宏块,所述编码模块包括:
确定子模块,用于根据所述目标量化参数值,分别确定所述多个宏块的量化参数值;
编码子模块,用于分别采用所述多个宏块的量化参数值对所述多个宏块进行编码。
可选地,还包括:
统计模块,用于统计编码后输出的视频帧的输出码率;
第二判断模块,用于判断所述编码后输出的视频帧的输出码率是否满足预设阈值的要求;
调用模块,用于在判断所述编码后输出的视频帧的输出码率不满足预设阈值的要求时,调用所述调整模块。
与背景技术相比,本申请实施例包括以下优点:
本申请实施例,通过获取当前的量化参数值,并判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求,若否,则将所述当前的量化参数值调整为目标量化参数值,然后采用所述目标量化参数值对视频帧进行编码,使得编码后获得的视频能够满足预设的输出码率的要求,实现在对任意的输入视频进行转码时,都能做到保画质,省码率。
附图说明
图1是本申请的一种视频编码的方法实施例一的步骤流程图;
图2是本申请的一种视频编码的方法实施例二的步骤流程图;
图3是本申请的一种视频编码的方法实施例二的原理图;
图4A-4B是本申请的一种视频编码器实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
通常,如何控制编码过程中的质量和码率,是在对视频进行编码时需要重点关注的一个方面。以目前市面上主流的x264编码器为例,根据不同的编码需求目标,分别可以采用如下三种编码方式:固定质量编码方式(CRF)、固定码率编码方式(CBR),以及平均码率编码方式(ABR)。
一般来说,对于同一个视频,采用上述三种编码方式获得的编码结果的质量抖动是:CRF<ABR<CBR;而编码结果的码率抖动则相反,是:CBR<ABR<CRF。
此外,为了达到流畅播放的需求,还需要限制转码结果的瞬时码率,因此,x264编码器引入了视频缓冲检验编码方式(VBV)。
目前,为了达到同时控制平均码率与峰值码率的需求,在线视频普遍采用ABR+VBV,或者CRF+VBV的编码方式对视频数据进行编码。
在实际中,采用ABR+VBV的编码方式,确实能够满足指定的平均码率与峰值码率的要求,使得码率(流量)可控,但是,在给定平均码率的情况下,上述编码方式不能根据视频内容的复杂性,主动调整编码的码率,使得无论是简单场景或者复杂场景的视频,都按照相同的码率进行编码,使得在对简单场景视频编码时浪费了不必要的码率和带宽,而对复杂场景编码时则使视频质量损失严重。此外,ABR的编码方式还会不断调整编码参数,使当前码率往目标码率靠拢。这种做法虽然减小了码率的波动,但相应的增大了画质的波动,严重影响播放端的用户体验。
而采用CRF+VBV的编码方式,能够使编码后的视频质量平稳,满足质量与峰值码率的要求。但是,CRF+VBV的编码方式不能有效控制平均码率。诚然,VBV可以保证平均码率在限定的峰值码率以下,但这远远不够,通常用户更希望平均码率有更大的灵活性,而CRF+VBV的编码方式就无法实现峰值码率不大于1Mbps且平均码率不大于600kbps的转码输出。
由上述描述可知,为了控制转码后输出的视频的码率以及获得更优的视频画质,需要对转码时所采用的编码参数进行控制,但是在对编码参数进行控制时,如果给定平均码率,容易出现对任意复杂度场景的视频,都按照相同的码率进行编码,浪费了不必要的码率和带宽,无法满足峰值码率的要求;但如果给定峰值码率,又会出现无法控制平均码率的情况。因此,针对上述问题,提出了本申请实施例的核心构思之一在于,通过将ABR+VBV与CRF+VBV两种编码方式的优点相结合,从而实现优势互补,缺点抵消的效果,本申请实施例通过实时统计编码后输出视频的码率,动态调整编码所采用的量化参数的大小,从而控制峰值码率的阈值和平均码率同时满足编码要求,使得指定峰值码率参数可以满足流畅播放的要求,指定平均码率范围可以满足CDN(Content Delivery Network,内容分发网络)流量消耗的要求,同时,指定质量参数也能够满足不同的画质要求,从而能够根据实时转码结果动态调整编码参数,实现对任意的输入视频,做到保画质,省码率。
参照图1,示出了本申请的一种视频编码的方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101,获取当前的量化参数值;
量化参数(Quality Parameter,QP)是进行视频编码时的主要参数之一。当QP取最小值0时,表示视频的量化最精细,相反,QP取最大值时,表示视频的量化是最粗糙的。
通常,还可以用质量参数来表示一个视频的具体的质量好坏,质量参数是一个由多种因素共同决定的参数值,例如,视频的内容、图像大小、帧率、转码时的码率的设置等等。视频的质量参数跟编码所采用的量化参数之间具有一定的映射关系,QP越小,质量参数越大。
通常,视频网站等视频内容提供商为了使视频内容能够满足在互联网上进行传输和播放的要求,需要对原始的视频进行转码操作。视频转码几乎是一切互联网视频服务的基础,包括直播、点播等等。视频转码的目标很简单,就是要求获得流畅、清晰的视频数据。但是,流畅和清晰是两个互相矛盾的需求。流畅要求码率越低越好,相反清晰需要更高的码率。视频转码需要优先保证流畅播放;在此基础上,尽可能提高转码的画质与压缩比。因此,在具体实现中,可以根据转码要求获得的质量参数,首先确定出与该质量参数相对应的当前的量化参数值,即视频编码器当前所采用的量化参数值。
步骤102,判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;
码率是指在进行数据传输时,单位时间内所传送的数据位数,通常以kbps为单位,即“千位每秒”。通常,对于一个视频,码率太低时,则画面不清晰;而码率太高时,则无法在网络上流畅播放。
在本申请实施例中,所述输出码率可以包括输出平均码率和输出瞬时码率。所述平均码率是指在一定时间范围内,多个视频帧的编码大小与该时间长度的比值,而所述瞬时码率则是指在某一个时间点所传送的数据位数的最大值。
当视频编码器采用当前的量化参数值对视频进行转码操作,输出转码后的视频时,可以分别统计输出视频的平均码率和瞬时码率的大小,然后分别判断所述当前输出平均码率是否满足第一预设阈值的要求;以及,所述当前输出瞬时码率是否满足第二预设阈值的要求。
所述第一预设阈值和第二预设阈值可以是进行当前转码任务时所要求的平均码率和瞬时码率的最大值,本申请对第一预设阈值和第二预设阈值的具体数值不作限定。
步骤103,若否,则将所述当前的量化参数值调整为目标量化参数值;
在本申请实施例中,当采用当前的量化参数值对视频进行编码时,编码后所输出的视频的平均码率或瞬时码率未能满足预设要求时,可以对当前的量化参数值进行调整,以获得目标量化参数值。通常,输出的视频的码率跟视频编码器所采用的量化参数值成反比,量化参数值越大,转码输出的视频的码率越小,量化参数值越小,转码输出的视频的码率越大,因此,可以根据转码后输出的视频的码率与预设要求的比较结果,调整视频编码器的量化参数值,例如,当转码输出的视频的码率大于预设要求时,说明当前所采用的量化参数值较小,可以相应地上浮一定数值,以获得目标量化参数值。
在本申请的一种优选实施例中,所述将所述当前的量化参数值调整为目标量化参数值的步骤具体可以包括如下子步骤:
子步骤1031,若所述当前输出平均码率大于所述第一预设阈值,将所述当前的量化参数值上调为第一量化参数值;
子步骤1032,若所述当前输出瞬时码率大于所述第二预设阈值,将所述当前的量化参数值上调为第二量化参数值;
子步骤1033,根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值。
在具体实现中,若当前输出平均码率大于所述第一预设阈值,则可以对所述当前的量化参数值进行上调,获得第一量化参数值;若当前输出瞬时码率大于所述第二预设阈值,则可以对所述当前的量化参数值进行上调,获得第二量化参数值;然后根据根据所述第一量化参数值和所述第二量化参数值,确定出目标量化参数值。
在本申请的另一种优选实施例中,所述根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值的子步骤可以进一步包括:
S11,判断所述第一量化参数值是否大于所述第二量化参数值;
S12,若是,则以所述第一量化参数值作为目标量化参数值;
S13,若否,则以所述第二量化参数值作为目标量化参数值。
在具体实现中,可以通过比较第一量化参数值和第二量化参数的大小,以第一量化参数值和第二量化参数中的较大数值作为目标量化参数值。
例如,视频编码器当前所采用的量化参数值为QP=30,按照QP=30进行转码所获得的输出视频的平均码率大于第一预设阈值,即平均码率的预设要求,为了使平均码率满足第一预设阈值的要求,可以增大视频编码器的量化参数值由QP=30至QP1=33(示例值);另一方面,按照QP=30进行转码所获得的输出视频的瞬时码率大于第二预设阈值,即瞬时码率的预设要求,为了使瞬时码率满足第二预设阈值的要求,可以增大视频编码器的量化参数值由QP=30至QP2=35(示例值),然后,通过比较QP1与QP2的大小,以QP1与QP2二者中较大者作为目标量化参数值,即在上述示例中,以QP2=35作为视频编码器的目标量化参数值,然后可以执行步骤104,采用该目标量化参数值对视频帧进行编码。
步骤104,采用所述目标量化参数值对视频帧进行编码。
通常,一个视频可以包括有多个宏块,因此,在确定出目标量化参数值后,可以分别对所述多个宏块进行编码,从而获得完整的输出视频。
在本申请实施例中,通过获取当前的量化参数值,并判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求,若否,则将所述当前的量化参数值调整为目标量化参数值,然后采用所述目标量化参数值对视频帧进行编码,使得编码后获得的视频能够满足预设的输出码率的要求,实现在对任意的输入视频进行转码时,都能做到保画质,省码率。
参照图2,示出了本申请的一种视频编码的方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤201,获取与预设的质量参数相对应的当前的量化参数值;
如图3所示,是本申请的一种视频编码的方法实施例二的原理图。在对视频进行转码时,可以首先根据转码要求获得的质量参数,确定出与所述质量参数相对应的当前的量化参数值。
通常,质量参数跟编码所采用的量化参数之间具有一定的映射关系,QP越小,质量参数越大。例如,对于质量参数为20的转码任务,可以对应的量化参数值QP可能为30,而对于质量参数为30的转码任务,对应的量化参数值QP则可能为20。
在具体实现中,当需要对一个视频进行转码操作时,可以根据转码要求获得的质量参数的大小,首先确定出视频编码器所要采用的量化参数值。通常,在开始对视频进行转码时,初始的量化参数值可以是根据在先的多次转码任务的经验值确定的。
步骤202,统计与所述当前的量化参数值相对应的当前输出平均码率;以及,统计与所述当前的量化参数值相对应的当前输出瞬时码率;
在本申请实施例中,为了判断按照当前的量化参数值进行转码所获得的输出视频是否满足预设的码率要求,可以对输出码率进行统计。具体地,所述输出码率可以包括当前输出平均码率和当前输出瞬时码率,因此,可以分别统计出与所述当前的量化参数值相对应的当前输出平均码率和当前输出瞬时码率。
在本申请的一种优选实施例中,所述统计与所述当前的量化参数值相对应的当前输出平均码率的步骤具体可以包括如下子步骤:
子步骤2021,统计第一时间段内输出的多个视频帧的数据大小;
子步骤2022,根据所述数据大小与所述第一时间段的长度,确定所述当前输出平均码率。
在具体实现中,可以通过IIR(Infinite Impulse Response)数字滤波器统计在第一时间段内的多个视频帧的编码后的数据大小,通过计算所述数据大小与所述第一时间段的长度,确定出当前输出平均码率。所述第一时间段可以是5秒,10秒,或者其他数值,本申请对此不作限定。
例如,若当前帧率是20帧每秒,则可以统计获得5s时间内的总的帧数为100帧,然后获得这100帧的编码总大小(bit数),进而采用所述编码总大小除以5s,得到当前输出平均码率。
在本申请的另一种优选实施例中,所述统计与所述当前的量化参数值相对应的当前输出瞬时码率的步骤具体可以包括如下子步骤:
子步骤2023,确定第二时间段内的多个已编码视频帧和多个未编码视频帧;
子步骤2024,统计所述多个已编码视频帧的编码大小和所述多个未编码视频帧的预测编码大小,获得目标数据大小;
子步骤2025,根据所述目标数据大小和所述第二时间段的长度,确定所述当前输出瞬时码率。
在具体实现中,可以统计第二时间段内的多个已编码视频帧的编码大小,和多个未编码视频帧的预测编码大小,获得总的目标数据大小(bit数),然后采用所述目标数据大小除以第二时间段的长度,得到当前输出瞬时码率。所述第二时间段可以是一个较短的时间,通常,第二时间段的长度越短,计算获得的输出瞬时码率越准确,本领域技术人员可以根据实际需要确定第二时间段的具体长度,本申请对此不作具体限定。
步骤203,判断所述当前输出平均码率是否满足第一预设阈值的要求;
步骤204,若所述当前输出平均码率大于所述第一预设阈值,将所述当前的量化参数值上调为第一量化参数值;
在本申请实施例中,在获得当前输出平均码率后,可以将所述当前输出平均码率与第一预设阈值进行比较,若当前输出平均码率大于第一预设阈值,则可以认为视频编码器所采用的当前的量化参数值较小,从而可以对所述当前的量化参数值进行上调,获得第一量化参数值。
例如,若当前转码的平均码率要求为低于800kbps,即可以认为第一预设阈值为800kbps,当按照当前的量化参数值QP=30进行转码时,转码后输出的视频的平均码率为600kbps,小于给定的800kbps,从而可以不对当前的量化参数值进行调整,若转码后输出的视频的平均码率为1000bps,为了满足平均码率小于800kbps要求,从而可以对当前的量化参数值QP=30进行上调,例如,可以上调至QP1=33(示例值)。
步骤205,判断所述当前输出瞬时码率是否满足第二预设阈值的要求;
步骤206,若所述当前输出瞬时码率大于所述第二预设阈值,将所述当前的量化参数值上调为第二量化参数值;
在本申请实施例中,在获得当前输出瞬时码率后,可以将所述当前输出瞬时码率与第二预设阈值进行比较,若当前输出瞬时码率大于第二预设阈值,则可以认为视频编码器所采用的量化参数值较小,从而可以对所述量化参数值进行上调,获得第二量化参数值。
例如,若当前转码的瞬时码率要求为低于2000kbps,即可以认为第二预设阈值为2000kbps,当按照量化参数值QP=30进行转码时,转码后输出的视频的瞬时码率为1500kbps,小于给定的2000kbps,从而可以不对所述量化参数值进行调整,若转码后输出的视频的瞬时码率为4000bps,为了满足瞬时码率小于2000kbps要求,从而可以对量化参数值QP=30进行上调,例如,可以上调至QP2=35(示例值)。
步骤207,根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值;
在具体实现中,可以以第一量化参数值和第二量化参数中的较大数值作为目标量化参数值,例如,在上述示例中,通过比较QP1=33和QP2=35的大小,从而可以以QP1和QP2中的较大者QP2=35作为视频编码器的目标量化参数值。
步骤208,采用所述目标量化参数值对视频帧进行编码;
在本申请实施例中,在获得目标量化参数值后,可以采用所述目标量化参数值对视频帧进行编码,从而获得满足预设的输出码率要求的视频。进一步地,还可以根据编码结果,更新输出码率的统计结果,从而重复上述对量化参数值的调整步骤,使得视频编码过程能够与视频播放过程动态适应。
在本申请的一种优选实施例中,所述采用所述目标量化参数值对视频帧进行编码的步骤具体可以包括如下子步骤:
子步骤2081,根据所述目标量化参数值,分别确定所述多个宏块的量化参数值;
子步骤2082,分别采用所述多个宏块的量化参数值对所述多个宏块进行编码。
在视频编码中,一个编码图像通常可以划分成若干宏块(Macroblock)组成,一个宏块由一个亮度像素块和附加的两个色度像素块组成。一般来说,亮度块为16x16大小的像素块,而两个色度图像像素块的大小依据其图像的采样格式而定,如:对于YUV420采样图像,色度块为8x8大小的像素块。每个图象中,若干宏块被排列成片的形式,视频编码算法以宏块为单位,逐个宏块进行编码,组织成连续的视频码流。
因此,在具体实现中,可以根据宏块的内容的复杂度的不同,分别确定出每个宏块所采用的量化参数值。例如,越复杂的宏块,用越大的量化参数值编码,从而能够把大的量化误差隐藏在复杂的宏块中,获得较好的主观质量;此外,还可以根据宏块的被参考程度的属性,对被参考或被依赖较大的宏块,采用较小的量化参数值进行编码,从而使得那些长时间存在、可跟踪的图像细节分配更多的bit数,而对那些出现时间较短的细节的宏块分配较少的bit数,进而提升主观质量。
步骤209,统计编码后输出的视频帧的输出码率;
在本申请实施例中,在采用目标量化参数值对视频帧进行编码后,可以继续统计编码后输出的视频帧的输出码率,进一步地,所述编码后输出的视频帧的输出码率可以包括编码后输出的视频帧的平均码率和瞬时码率。
由于统计编码后输出的视频帧的平均码率和瞬时码率的步骤与步骤202类似,可以互相参照,本步骤对此不再赘述。
步骤210,判断所述编码后输出的视频帧的输出码率是否满足预设阈值的要求;若否,则返回执行步骤204。
在具体实现中,可以分别判断编码后输出的视频帧的平均码率和瞬时码率是否满足预设阈值的要求,例如,首先判断输出的视频帧的平均码率是否大于平均码率的预设阈值,如果是,则可以增大当前的量化参数值,然后可以进一步比较输出的视频帧的瞬时码率是否大于瞬时码率的预设阈值,如果是,则可以继续对当前的量化参数值进行调整,从而通过不断的重复上述步骤,实现编码后输出的视频帧的输出码率始终满足预设阈值的要求。
为了便于理解,下面以一个完整的示例,对本申请的视频编码方法作一介绍。
视频网站等视频内容提供商在对某一热点事件或突发时间进行直播时,需要对拍摄获得的视频内容进行转码,以满足视频内容在互联网上的快速传输和流畅直播的要求。对于该直播转码过程,可以首先根据直播需求,确定出转码后视频的各种参数要求,例如,转码后的系统质量参数应该为20,平均码率要求低于800kbps,峰值码率需求低于2000kbps,对于上述要求,可以按照如下过程对视频内容进行转码:
1、按照系统质量参数20,平均码率限制为800kbps,峰值码率限制为2000kbps的要求,根据QP与质量参数的映射关系,确定视频编码器所采用的初始量化参数值QP1=30,该初始量化参数值即是在直播开始时最初所使用的量化参数值,通常,该初始量化参数值可以根据过往的转码操作的经验值来确定。
2、按照初始量化参数值QP1=30对视频内容进行转码,需要说明的是,由于一段视频内容通常是由多帧视频帧组成的,因此,可以按照该初始量化参数值QP1=30分别对每一帧视频帧进行转码。
3、统计转码后输出视频的平均码率,判断该平均码率是否满足预设的平均码率的要求(即小于800kbps)。若统计获得的转码后输出视频的平均码率为600kbps,小于给定的800kbps的平均码率的要求,则可以不对初始量化参数值进行调整,继续按照该量化参数值QP1=30对后续输入的视频帧进行转码,若统计获得的转码后输出视频的平均码率为1000bps,大于给定的800kbps的平均码率的要求,由于码率与视频编码器所采用的量化参数值成反比,量化参数值越小,转码获得的视频的码率越大,因此为满足平均码率小于800kbps的要求,可以将初始量化参数值QP1=30调整至QP2=33(示例值)。
4、另一方面,还需要统计转码后输出视频的瞬时码率,判断该瞬时码率是否满足预设的瞬时码率的要求(即小于2000kbps)。若统计获得的转码后输出视频的瞬时码率为1500kbps,小于给定的2000kbps的瞬时码率的要求,则可以不对初始量化参数值进行调整,,继续按照该量化参数值QP1=30对后续输入的视频帧进行转码,若统计获得的转码后输出视频的瞬时码率为4000bps,大于给定的2000kbps的瞬时码率的要求,由于码率与视频编码器所采用的量化参数值成反比,量化参数值越小,转码获得的视频的码率越大,因此为满足瞬时码率小于2000kbps的要求,可以将初始量化参数值QP1=30调整至QP3=35(示例值)。
5、比较QP2和QP3的大小,以二者中数值相对较大者作为目标量化参数值,即在上述示例中,以QP3=35作为视频编码器所要采用的量化参数值,并按照该量化参数值对后续输入的视频内容进行转码。
6、根据输入的视频帧中每个宏块的复杂度,在目标量化参数值QP3=35的基础上,分别确定出每个宏块的编码qp,具体地,可以根据宏块的内容的复杂度的不同,分别确定出每个宏块所要采用的量化参数值。例如,越复杂的宏块,用越大的量化参数值编码,如qp=37>QP3,从而能够把大的量化误差隐藏在复杂的宏块中,获得较好的主观质量,而对于较简单的宏块,可以用相对较小的量化参数值,如qp=33<QP3;此外,还可以根据宏块的被参考程度的属性,对被参考或被依赖较大的宏块,采用较小的量化参数值进行编码,从而使得那些长时间存在、可跟踪的图像细节分配更多的bit数,而对那些出现时间较短的细节的宏块分配较少的bit数,进而提升主观质量。在确定出每个宏块所要采用的量化参数值qp后,可以按照所确定的qp值分别对每个宏块进行编码。
7、在对一帧视频帧编码结束后,对转码后输出的视频帧的平均码率统计量和瞬时码率统计量进行统计分析,判断当前的量化参数值是否合理和有效。
8、如果平均码率统计量大于平均码率统计周期,更新平均码率的统计值;如果瞬时码率统计量大于瞬时码率统计周期,则更新瞬时码率的统计值,并以更新后的平均码率统计值和瞬时码率统计值作为新的码率参数比较值;
9、重复步骤1~8,根据转码输出的视频的码率,循环迭代调整视频编码器的量化参数值,直到视频转码结束,从而能够根据实时统计的输出视频的平均码率和瞬时码率,动态地调整视频编码器所采用的量化参数值,解决了采用固定平均码率编码方式会对视频质量造成损失,以及采用固定质量编码方式无法控制平均码率的问题,能够在满足瞬时码率要求的情况下,使平均码率有更大的灵活性,既满足了流畅播放的要求,又减少了不必要的码率和带宽的浪费,实现了对任意的输入视频,做到既保画质又省码率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4A,示出了本申请的一种视频编码器实施例的结构框图之一,具体可以包括如下模块:
获取模块401,用于获取当前的量化参数值;
判断模块402,用于判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;
调整模块403,用于在输出码率未满足预设阈值的要求时,将所述当前的量化参数值调整为目标量化参数值;
编码模块404,用于采用所述目标量化参数值对视频帧进行编码。
在本申请实施例中,所述获取模块401具体可以包括如下子模块:
获取子模块4011,用于获取与预设的质量参数相对应的当前的量化参数值。
在本申请实施例中,所述输出码率可以包括当前输出平均码率和当前输出瞬时码率,参照图4B,是本申请的一种视频编码器实施例的结构框图之二,所述视频编码器还可以包括如下模块:
平均码率统计模块405,用于统计与所述当前的量化参数值相对应的当前输出平均码率;以及,
瞬时码率统计模块406,用于统计与所述当前的量化参数值相对应的当前输出瞬时码率。
在本申请实施例中,所述平均码率统计模块405具体可以包括如下子模块:
数据大小统计子模块4051,用于统计第一时间段内输出的多个视频帧的数据大小;
平均码率确定子模块4052,用于根据所述数据大小与所述第一时间段的长度,确定所述当前输出平均码率。
在本申请实施例中,所述瞬时码率统计模块406具体可以包括如下子模块:
视频帧确定子模块4061,用于确定第二时间段内的多个已编码视频帧和多个未编码视频帧;
目标数据大小统计子模块4062,用于统计所述多个已编码视频帧的编码大小和所述多个未编码视频帧的预测编码大小,获得目标数据大小;
瞬时码率确定子模块4063,用于根据所述目标数据大小和所述第二时间段的长度,确定所述当前输出瞬时码率。
在本申请实施例中,所述判断模块402具体可以包括如下子模块:
平均码率判断子模块4021,用于判断所述当前输出平均码率是否满足第一预设阈值的要求;以及,
瞬时码率判断子模块4022,用于判断所述当前输出瞬时码率是否满足第二预设阈值的要求。
在本申请实施例中,所述调整模块403具体可以包括如下子模块:
第一量化参数值确定子模块4031,用于在所述当前输出平均码率大于所述第一预设阈值时,将所述当前的量化参数值上调为第一量化参数值;
第二量化参数值确定子模块4032,用于在所述当前输出瞬时码率大于所述第二预设阈值时,将所述当前的量化参数值上调为第二量化参数值;
目标量化参数值确定子模块4033,用于根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值。
在本申请实施例中,所述目标量化参数值确定子模块4033具体可以包括如下单元:
判断单元,用于判断所述第一量化参数值是否大于所述第二量化参数值;若是,则以所述第一量化参数值作为目标量化参数值;若否,则以所述第二量化参数值作为目标量化参数值。
在本申请实施例中,所述视频帧可以包括多个宏块,所述编码模块404具体可以包括如下子模块:
确定子模块4041,用于根据所述目标量化参数值,分别确定所述多个宏块的量化参数值;
编码子模块4042,用于分别采用所述多个宏块的量化参数值对所述多个宏块进行编码。
在本申请实施例中,所述视频编码器还可以包括如下模块:
统计模块,用于统计编码后输出的视频帧的输出码率;
第二判断模块,用于判断所述编码后输出的视频帧的输出码率是否满足预设阈值的要求;
调用模块,用于在判断所述编码后输出的视频帧的输出码率不满足预设阈值的要求时,调用所述调整模块403。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种视频编码的方法和一种视频编码器,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种视频编码的方法,其特征在于,包括:
获取当前的量化参数值;
判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;
若否,则将所述当前的量化参数值调整为目标量化参数值;
采用所述目标量化参数值对视频帧进行编码;
其中,所述输出码率包括当前输出平均码率和当前输出瞬时码率;所述目标量化参数值为采用所述当前的量化参数值,分别针对所述当前输出平均码率和所述当前输出瞬时码率进行调整后得到的值中较大的一个;
所述判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求的步骤包括:
判断所述当前输出平均码率是否满足第一预设阈值的要求;以及,
判断所述当前输出瞬时码率是否满足第二预设阈值的要求。
2.根据权利要求1所述的方法,其特征在于,所述获取当前的量化参数值的步骤包括:
获取与预设的质量参数相对应的当前的量化参数值。
3.根据权利要求1所述的方法,其特征在于,所述输出平均码率为在预设时间长度内,多个输出视频帧单位时间内所传送的数据位数与所述预设时间长度的比值;所述输出瞬时码率为所述多个输出视频帧在预设时间点所传送的数据位数的最大值,在判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求的步骤前,还包括:
统计与所述当前的量化参数值相对应的当前输出平均码率;以及,
统计与所述当前的量化参数值相对应的当前输出瞬时码率。
4.根据权利要求3所述的方法,其特征在于,所述统计与所述当前的量化参数值相对应的当前输出平均码率的步骤包括:
统计第一时间段内输出的多个视频帧的数据大小;
根据所述数据大小与所述第一时间段的长度,确定所述当前输出平均码率。
5.根据权利要求3所述的方法,其特征在于,所述统计与所述当前的量化参数值相对应的当前输出瞬时码率的步骤包括:
确定第二时间段内的多个已编码视频帧和多个未编码视频帧;
统计所述多个已编码视频帧的编码大小和所述多个未编码视频帧的预测编码大小,获得目标数据大小;
根据所述目标数据大小和所述第二时间段的长度,确定所述当前输出瞬时码率。
6.根据权利要求1所述的方法,其特征在于,所述将所述当前的量化参数值调整为目标量化参数值的步骤包括:
若所述当前输出平均码率大于所述第一预设阈值,将所述当前的量化参数值上调为第一量化参数值;
若所述当前输出瞬时码率大于所述第二预设阈值,将所述当前的量化参数值上调为第二量化参数值;
根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值的步骤包括:
判断所述第一量化参数值是否大于所述第二量化参数值;
若是,则以所述第一量化参数值作为目标量化参数值;
若否,则以所述第二量化参数值作为目标量化参数值。
8.根据权利要求1所述的方法,其特征在于,所述视频帧包括多个宏块,所述采用所述目标量化参数值对视频帧进行编码的步骤包括:
根据所述目标量化参数值,分别确定所述多个宏块的量化参数值;
分别采用所述多个宏块的量化参数值对所述多个宏块进行编码。
9.根据权利要求1所述的方法,其特征在于,在所述采用所述目标量化参数值对视频帧进行编码的步骤后,还包括:
统计编码后输出的视频帧的输出码率;
判断所述编码后输出的视频帧的输出码率是否满足预设阈值的要求;
若否,则返回执行所述将所述当前的量化参数值调整为目标量化参数值的步骤。
10.一种视频编码器,其特征在于,包括:
获取模块,用于获取当前的量化参数值;
判断模块,用于判断与所述当前的量化参数值相对应的输出码率是否满足预设阈值的要求;
调整模块,用于在输出码率未满足预设阈值的要求时,将所述当前的量化参数值调整为目标量化参数值;
编码模块,用于采用所述目标量化参数值对视频帧进行编码;
其中,所述输出码率包括当前输出平均码率和当前输出瞬时码率;所述目标量化参数值为采用所述当前的量化参数值,分别针对所述当前输出平均码率和所述当前输出瞬时码率进行调整后得到的值中较大的一个;
所述判断模块包括:
平均码率判断子模块,用于判断所述当前输出平均码率是否满足第一预设阈值的要求;以及,
瞬时码率判断子模块,用于判断所述当前输出瞬时码率是否满足第二预设阈值的要求。
11.根据权利要求10所述的视频编码器,其特征在于,所述获取模块包括:
获取子模块,用于获取与预设的质量参数相对应的当前的量化参数值。
12.根据权利要求10所述的视频编码器,其特征在于,所述输出平均码率为在预设时间长度内,多个输出视频帧单位时间内所传送的数据位数与所述预设时间长度的比值;所述输出瞬时码率为所述多个输出视频帧在预设时间点所传送的数据位数的最大值,所述视频编码器还包括:
平均码率统计模块,用于统计与所述当前的量化参数值相对应的当前输出平均码率;以及,
瞬时码率统计模块,用于统计与所述当前的量化参数值相对应的当前输出瞬时码率。
13.根据权利要求12所述的视频编码器,其特征在于,所述平均码率统计模块包括:
数据大小统计子模块,用于统计第一时间段内输出的多个视频帧的数据大小;
平均码率确定子模块,用于根据所述数据大小与所述第一时间段的长度,确定所述当前输出平均码率。
14.根据权利要求12所述的视频编码器,其特征在于,所述瞬时码率统计模块包括:
视频帧确定子模块,用于确定第二时间段内的多个已编码视频帧和多个未编码视频帧;
目标数据大小统计子模块,用于统计所述多个已编码视频帧的编码大小和所述多个未编码视频帧的预测编码大小,获得目标数据大小;
瞬时码率确定子模块,用于根据所述目标数据大小和所述第二时间段的长度,确定所述当前输出瞬时码率。
15.根据权利要求10所述的视频编码器,其特征在于,所述调整模块包括:
第一量化参数值确定子模块,用于在所述当前输出平均码率大于所述第一预设阈值时,将所述当前的量化参数值上调为第一量化参数值;
第二量化参数值确定子模块,用于在所述当前输出瞬时码率大于所述第二预设阈值时,将所述当前的量化参数值上调为第二量化参数值;
目标量化参数值确定子模块,用于根据所述第一量化参数值和所述第二量化参数值,确定目标量化参数值。
16.根据权利要求15所述的视频编码器,其特征在于,所述目标量化参数值确定子模块包括:
判断单元,用于判断所述第一量化参数值是否大于所述第二量化参数值;若是,则以所述第一量化参数值作为目标量化参数值;若否,则以所述第二量化参数值作为目标量化参数值。
17.根据权利要求10所述的视频编码器,其特征在于,所述视频帧包括多个宏块,所述编码模块包括:
确定子模块,用于根据所述目标量化参数值,分别确定所述多个宏块的量化参数值;
编码子模块,用于分别采用所述多个宏块的量化参数值对所述多个宏块进行编码。
18.根据权利要求10所述的视频编码器,其特征在于,还包括:
统计模块,用于统计编码后输出的视频帧的输出码率;
第二判断模块,用于判断所述编码后输出的视频帧的输出码率是否满足预设阈值的要求;
调用模块,用于在判断所述编码后输出的视频帧的输出码率不满足预设阈值的要求时,调用所述调整模块。
CN201610833639.7A 2016-09-19 2016-09-19 一种视频编码的方法和视频编码器 Active CN107846590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610833639.7A CN107846590B (zh) 2016-09-19 2016-09-19 一种视频编码的方法和视频编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610833639.7A CN107846590B (zh) 2016-09-19 2016-09-19 一种视频编码的方法和视频编码器

Publications (2)

Publication Number Publication Date
CN107846590A CN107846590A (zh) 2018-03-27
CN107846590B true CN107846590B (zh) 2020-09-08

Family

ID=61657314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610833639.7A Active CN107846590B (zh) 2016-09-19 2016-09-19 一种视频编码的方法和视频编码器

Country Status (1)

Country Link
CN (1) CN107846590B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109510978B (zh) * 2018-11-07 2020-05-26 西安万像电子科技有限公司 一种数据处理的性能检测方法及装置
CN109348244B (zh) * 2018-11-20 2021-05-18 浙江齐聚科技有限公司 视频编码参数的配置方法、装置、设备和存储介质
CN109257600B (zh) * 2018-11-28 2020-11-17 福建帝视信息科技有限公司 一种基于深度学习的视频压缩伪影自适应去除方法
CN109729384B (zh) * 2018-12-18 2021-11-19 广州市百果园信息技术有限公司 视频转码的选择方法和装置
CN110225340B (zh) * 2019-05-31 2021-07-09 北京猿力未来科技有限公司 一种视频编码的控制方法及装置、计算设备和存储介质
CN111193924B (zh) * 2019-12-26 2022-01-25 腾讯科技(深圳)有限公司 视频码率的确定方法、装置、计算机设备及存储介质
CN111385577B (zh) * 2020-04-07 2023-01-13 广州市百果园信息技术有限公司 视频转码方法、装置、计算机设备和计算机可读存储介质
CN114051139B (zh) * 2021-11-09 2024-02-02 京东科技信息技术有限公司 视频编码方法和装置
CN115002512B (zh) * 2022-05-23 2023-11-28 北京市商汤科技开发有限公司 视频转码方法及装置、电子设备和存储介质
CN115022629B (zh) * 2022-08-08 2022-11-18 海马云(天津)信息技术有限公司 云游戏视频的最优编码模式确定方法与装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007012928A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
CN102685472A (zh) * 2011-03-08 2012-09-19 华为技术有限公司 数据传输的方法、装置和系统
CN102752598A (zh) * 2012-07-09 2012-10-24 北京博雅华录视听技术研究院有限公司 快速自适应码率控制方法
CN102932641A (zh) * 2012-11-13 2013-02-13 北京大学 一种恒定质量码率控制方法
CN103763559A (zh) * 2014-01-09 2014-04-30 能力天空科技(北京)有限公司 一种视频文件转码方法
CN103841418A (zh) * 2012-11-22 2014-06-04 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及系统
CN205142390U (zh) * 2015-10-30 2016-04-06 深圳云聚汇数码有限公司 一种视频优化存储的处理器
CN106331704A (zh) * 2015-07-07 2017-01-11 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007012928A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
CN102685472A (zh) * 2011-03-08 2012-09-19 华为技术有限公司 数据传输的方法、装置和系统
CN102752598A (zh) * 2012-07-09 2012-10-24 北京博雅华录视听技术研究院有限公司 快速自适应码率控制方法
CN102932641A (zh) * 2012-11-13 2013-02-13 北京大学 一种恒定质量码率控制方法
CN103841418A (zh) * 2012-11-22 2014-06-04 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及系统
CN103763559A (zh) * 2014-01-09 2014-04-30 能力天空科技(北京)有限公司 一种视频文件转码方法
CN106331704A (zh) * 2015-07-07 2017-01-11 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置
CN205142390U (zh) * 2015-10-30 2016-04-06 深圳云聚汇数码有限公司 一种视频优化存储的处理器

Also Published As

Publication number Publication date
CN107846590A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
CN107846590B (zh) 一种视频编码的方法和视频编码器
US6873654B1 (en) Method and system for predictive control for live streaming video/audio media
CN106537923B (zh) 自适应视频流的技术
US8270473B2 (en) Motion based dynamic resolution multiple bit rate video encoding
KR101643790B1 (ko) 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩
CN109788316B (zh) 码率控制、视频转码方法与装置、计算机设备及存储介质
CN1726709B (zh) 用于对未压缩数字视频序列的图像进行编码的方法和装置
JP7012747B2 (ja) ビデオフレーム符号化方法、端末、および記憶媒体
US20150350726A1 (en) Method and apparatus of content-based self-adaptive video transcoding
CN108810545B (zh) 用于视频编码的方法、装置、计算机可读介质及电子设备
US10616590B1 (en) Optimizing streaming video encoding profiles
US10616498B2 (en) High dynamic range video capture control for video transmission
CN110225343B (zh) 一种视频编码的码率控制方法及装置
CN112738516B (zh) 编码方法、装置、存储介质及电子设备
CN111479113B (zh) 码率控制方法和装置、存储介质和电子设备
Devlic et al. QoE-aware optimization for video delivery and storage
CN112165620A (zh) 视频的编码方法及装置、存储介质、电子设备
CN114245196B (zh) 一种录屏推流方法、装置、电子设备及存储介质
CN108124155B (zh) 一种码率控制方法、装置及电子设备
EP3522544A1 (en) Estimating video quality of experience
CN116962613A (zh) 数据传输方法及装置、计算机设备、存储介质
CN107846595B (zh) 一种视频编码的方法和视频编码器
CN112004082B (zh) 一种双帧作为控制单元的码率控制的优化方法
Pan et al. Content adaptive frame skipping for low bit rate video coding
CN112004083B (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