CN117597920A - 视频编码的方法、装置、设备和存储介质 - Google Patents

视频编码的方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN117597920A
CN117597920A CN202180066573.2A CN202180066573A CN117597920A CN 117597920 A CN117597920 A CN 117597920A CN 202180066573 A CN202180066573 A CN 202180066573A CN 117597920 A CN117597920 A CN 117597920A
Authority
CN
China
Prior art keywords
video frame
current
subset
code rate
coding
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
CN202180066573.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.)
Bigo Technology Singapore Pte Ltd
Original Assignee
Bigo Technology Singapore Pte 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 Bigo Technology Singapore Pte Ltd filed Critical Bigo Technology Singapore Pte Ltd
Publication of CN117597920A publication Critical patent/CN117597920A/zh
Pending legal-status Critical Current

Links

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/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
    • 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/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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种视频编码的方法、装置、设备和存储介质。其中,该方法包括:根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,预测当前视频帧面向当前宏块子集编码时的预编码码率;基于预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数。

Description

视频编码的方法、装置、设备和存储介质
本申请要求在2020年11月27日提交中国专利局、申请号为202011360060.6的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及视频传输技术领域,例如涉及一种视频编码的方法、装置、设备和存储介质。
背景技术
随着互联网技术的快速发展,伴随着用户对高清视频的需求增加,多媒体资源交互的视频数据量也在不断增大,此时在视频传输时,通常采用视频压缩解码技术有效取出视频数据中的冗余信息,实现视频数据在互联网中的快速传输和离线存储。而为了适应不同传输用户的带宽和设备情况,会对源视频进行对应码率下的视频编码,相关技术中的视频编码,如果编码复杂度越高,会使编码质量越好,但编码耗时也会更长,而编码耗时过长会导致用户播放该视频出现卡顿,因此在保证高质量编码的基础上,还需要提高编码速度,以降低视频传输过程中的编码耗时。
目前,相关技术中的快速视频编码方式大多是基于编码器本身的改造,从帧级编码到块编码,在预期网络带宽的影响下,不断通过编码决策部分采用的大量递归算法来分析多个视频帧的图像复杂度,进而计算出视频帧内每个编码块所采用的编码码率;此时需要通过分析图像复杂度计算每一递归深度下每个编码块的编码代价,造成大量的计算负担,增加了视频传输过程中的编码开销。
发明内容
本申请实施例提供了一种视频编码的方法、装置、设备和存储介质,降低了视频编码的计算开销,保证视频编码的高效性。
第一方面,本申请实施例提供了一种视频编码的方法,该方法包括:
根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每一已编码宏块子集的实际编码码率,预测所述当前视频帧面 向当前宏块子集编码时的预编码码率;
基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在当前视频帧内的目标编码量化参数。
第二方面,本申请实施例提供了一种视频编码的装置,该装置包括:
码率预测模块,设置为根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每一已编码宏块子集的实际编码码率,预测所述当前视频帧面向当前宏块子集编码时的预编码码率;
编码量化模块,设置为基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在当前视频帧内的目标编码量化参数。
第三方面,本申请实施例提供了一种计算机设备,该计算机设备包括:
至少一个处理器;
存储装置,设置为存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现本申请任意实施例所述的视频编码的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任意实施例所述的视频编码的方法。
附图说明
图1A为本申请一实施例提供的一种视频编码的方法的流程图;
图1B为本申请一实施例提供的视频编码过程的原理示意图;
图2A为本申请另一实施例提供的一种视频编码的方法的流程图;
图2B为本申请另一实施例提供的视频编码过程的原理示意图;
图3A为本申请另一实施例提供的一种视频编码的方法的流程图;
图3B为本申请另一实施例提供的视频编码过程的原理示意图;
图4为本申请一实施例提供的一种视频编码的装置的结构示意图;
图5为本申请一实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。此外,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1A为本申请一实施例提供的一种视频编码的方法的流程图,本实施例可适用于对任一视频存在传输需求的场景中。本实施例提供的视频编码的方法可以由本申请实施例提供的视频编码的装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的计算机设备中,该计算机设备可以是参与视频数据交互的设备。
参考图1A,该方法可以包括如下步骤:
S110,根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,预测当前视频帧面向当前宏块子集编码时的预编码码率。
为了保证视频数据的传输高效性和存储准确性,在不同用户设备之间快速传输视频数据时,首先需要对待传输的视频数据进行压缩编码,并要求压缩编码后的视频数据能够满足网络带宽的波动需求,以避免由于传输过慢造成的视频播放卡顿等情况。目前,对任一视频数据进行压缩编码时,首先会对该视频数据进行解封装,以得到顺序排列的多个视频帧,然后按序对多个视频帧进行编码;而且,由于视频数据中相邻两帧的视频画面通常非常相似,仅是需适应的网络带宽存在波动,因此本实施例在视频编码过程中,可以利用前一视频帧的实际编码方式,并结合当前网络带宽的影响,对当前视频帧的编码方式进行有效指引,以在保证视频帧编码满足网络带宽波动要求的基础上,提高视频编码质量的平稳性。
此时,相关技术中的视频编码技术,通常会将每个视频帧划分成若干宏块,后续以宏块为单位,对视频帧中的每个宏块分别进行编码,从而实现该视频帧的编码,此时宏块的编码规格是预先设定好的,通常为16*16大小,而且由于同一视频数据内相邻两帧中的宏块大小和位置都是相同的,那么同一宏块在相邻两帧内的编码方式也较为相似,因此本实施例可以利用前一视频帧内每个宏块的实际编码方式,来指引当前视频帧内同一宏块的编码方式;同时,由于同 一视频帧内相近几个宏块视频画面复杂度也较为相似,也就使得多个宏块可以采用相同的编码量化参数进行编码,因此为了提高视频编码的高效性,本实施例在对每个视频帧进行编码时,可以将该视频帧内的全部宏块按照编码需要划分为多个宏块子集,后续为每一宏块子集设定一个相同的编码量化参数,以使宏块子集内的每一宏块均可以采用该相同的编码量化参数进行编码。
需要说明的是,本实施例中的每一宏块子集可以仅有一个宏块组成,也可以由多个宏块组成,例如将当前视频帧内处于同一行上的多个宏块组成一个宏块子集,本实施例对宏块子集内的宏块数量不作限定;宏块子集内的宏块数量越少越好,以对每一宏块的编码方式进行特有分析,提高每个宏块的编码质量。
本实施例中,在对当前视频帧内的每个宏块子集进行编码时,为了获取前一视频帧的实际编码方式对当前视频帧的有效编码指引,首先会将当前视频帧划分出多个宏块,如图1B所示,并按照编码指定的宏块子集大小,将当前视频帧内的全部宏块分别组合成多个宏块子集,例如当前视频帧内每一行上的多个宏块均可以组成一个宏块子集;然后分析前一视频帧实际编码时每个宏块子集的实际编码量,并按照每一宏块子集在前一视频帧内的实际编码量,与前一视频帧的整体实际编码量之间的编码比例,计算出每一宏块子集在前一视频帧内的实际编码权重,此时该实际编码权重能够表示每个宏块子集间的编码质量差异;同时,由于在每一视频帧内会按照宏块子集顺序依次对每一宏块子集进行编码,因此在当前视频帧内对当前宏块子集编码时,该当前视频帧内处于当前宏块子集之前的多个宏块子集均已经完成编码,此时通过对当前视频帧内每一宏块子集的编码情况进行分析,可以从当前视频帧内查找出已经完成编码的多个已编码宏块子集,并确定出每一已编码宏块子集的实际编码码率,以便在前一视频帧实际编码的指引下,预测当前视频帧面向当前宏块子集编码时的预编码码率。
根据当前视频帧内每一宏块子集在前一视频帧内的实际编码权重,可以计算出所有的已编码宏块子集与全部宏块子集之间的编码权重占比,此时通过每一已编码宏块子集的实际编码码率,可以计算出所有的已编码宏块子集的实际编码码率,进而按照该编码权重占比以及所有的已编码宏块子集的实际编码码率,可以预测出当前视频帧内全部宏块子集的编码码率,也就是当前视频帧面向当前宏块子集编码时的预编码码率,此时按照每一宏块子集在前一视频帧内的实际编码权重所表示的编码质量,结合当前视频帧已编码宏块子集的实际编 码码率,来预测当前视频帧的预编码码率,能够保证前一视频帧与当前视频帧间编码质量的一致性。
需要说明的是,本实施例中会依次对当前视频帧内的每一宏块子集编码,因此每次对当前视频帧内的某个宏块子集进行编码时,均会按照每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,来预测一次当前视频帧的预编码码率,以保证当前视频帧内每个宏块子集的编码质量平稳性。
S120,基于预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数。
例如,在预测出当前视频帧面向当前宏块子集编码时的预编码码率后,该预编码码率仅能保证前一视频帧与当前视频帧之间编码质量的一致性,而无法满足网络带宽波动的需求,因此本实施例还需要分析当前视频帧在编码时的当前网络带宽,如图1B所示,并为当前视频帧分配一个能够在当前网络带宽下保证视频流畅传输的编码码率,也就是本实施例中的预分配码率;此时,预编码码率能够保证前一视频帧与当前视频帧之间的编码质量平稳性,而预分配码率能够满足当前网络带宽对于视频传输的需求,因此本实施例需要分析该预编码码率与该预分配码率之间的码率差,以此对当前视频帧内待编码的当前宏块子集在前一视频帧内的实际编码量化参数(Quantization Parameter,QP)进行相应调整,从而得到当前宏块子集在当前视频帧内的目标编码量化参数,无需通过分析图像复杂度计算每一递归深度下每个编码块的编码代价,极大降低了视频编码过程中的编码开销和编码复杂度,提高了视频编码的高效性;同时,在相邻帧间的视频质量平稳要求和网络带宽波动要求之间,能够达到一个编码均衡,使得当前宏块子集在当前视频帧内的目标编码量化参数,能够在保证满足网络带宽波动的基础上,同时提高视频编码质量的平稳性。
此外,由于视频编码过程中网络带宽会不断波动,因此为了保证网络带宽对于视频传输的要求,通常会存在相应的丢帧机制,此时对当前视频帧进行编码时,可能存在前一视频帧由于丢帧而未完成编码的情况,那么在前一视频帧未编码时,可以通过分析当前视频帧的画面复杂度专门为当前视频帧设定对应的量化参数,并按照该量化参数对当前视频帧内的每一宏块进行编码。
同时,针对视频编码过程中网络带宽不断波动的特点,为了保证当前视频 帧的编码准确性,本实施例会根据待编码视频内的每一视频帧的编码请求,评估该视频帧对应的当前网络带宽;也就是在每次请求编码某一视频帧时,均会重新评估一下当前的网络状态,以得到与待编码的当前视频帧相匹配的当前网络带宽,使得当前视频帧内每一宏块子集的编码量化参数能够满足当前网络带宽的需求。
本实施例提供的技术方案,由于前一视频帧完成编码后才会编码当前视频帧,且当前视频帧内的多个宏块子集也是依次编码的,因此当前视频帧内的每一宏块子集在前一视频帧内都存在对应的编码模式,且在当前视频帧面向当前宏块子集编码时,该当前视频帧内也会存在已编码的宏块子集和未编码的宏块子集,此时可以参考当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,来预测当前视频帧面向当前宏块子集编码时的预编码码率,然后通过分析该预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差,来调整当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数,实现当前视频帧的准确编码,无需通过分析图像复杂度计算每一递归深度下每个编码块的编码代价,极大降低了视频编码过程中的编码开销和编码复杂度,提高了视频编码的高效性;同时,直接参考每一宏块子集在前一视频帧内的实际编码模式,并依据当前网络带宽分别进行对应调整,从而利用前一视频帧的编码模式和当前网络带宽的波动,为当前视频帧进行编码指引和调整,在保证满足网络带宽波动的基础上,提高了视频编码质量的平稳性。
图2A为本申请另一实施例提供的一种视频编码的方法的流程图,图2B为本申请另一实施例提供的视频编码过程的原理示意图。本实施例是在上述实施例的基础上进行细化。如图2A所示,本实施例对于当前视频帧内依次编码多个宏块子集的具体编码过程进行详细的解释说明。
例如,如图2A所示,本实施例中可以包括如下步骤:
S201,判断当前视频帧内是否存在已编码宏块子集,基于当前视频帧内存在已编码宏块子集的判断结果,执行S203;基于当前视频帧内不存在已编码宏块子集的判断结果,执行S202。
例如,由于对待编码视频帧内的当前视频帧进行编码时,会预先将该当前视频帧划分出多个宏块,并进行宏块组合,从而得到多个宏块子集,后续通过为每一宏块子集分别设定相应的编码量化参数,而按需对每一宏块子集进行编 码,然而该编码量化参数可能需要借助当前视频帧内存在的已编码宏块子集的实际编码方式来计算,因此在当前视频帧内面向某一宏块子集编码时,首先需要判断该当前视频帧内是否存在已经完成编码的宏块子集,也就是判断在当前视频帧内待编码的当前宏块子集是否为当前视频帧内首个进行编码的宏块子集。由于当前视频帧面向首个宏块子集编码时,无法借助其他宏块子集的实际编码方式进行编码预估,因此当前视频帧内是否存在已编码宏块子集的不同情况,需要采用不同的方式来计算当前视频帧内本次编码的当前宏块子集的编码量化参数,以保证当前宏块子集的编码准确性。
S202,将当前宏块子集在前一视频帧内的实际编码量化参数,作为当前宏块子集在当前视频帧内的目标编码量化参数。
例如,在当前视频帧内不存在已编码宏块子集时,说明当前视频帧内本次编码面向的当前宏块子集为当前视频帧内的首个宏块子集,无法借助当前视频帧内其他宏块子集的实际编码方式来预估当前的编码方式,此时由于相邻两帧内同一宏块子集的视频画面大致相同,使得当前宏块子集在前一视频帧内的实际编码方式在一定程度上也适用于当前宏块子集在当前视频帧内的编码,因此为了提高视频编码的高效性,本实施例可以直接将当前宏块子集在前一视频帧内的实际编码量化参数,作为当前宏块子集在当前视频帧内的目标编码量化参数,后续采用该目标编码量化参数对该当前宏块子集内的每一宏块进行编码,在一定程度上保证了视频编码质量的平稳性。
S203,计算每一已编码宏块子集在当前视频帧内的实际编码码率,以及当前视频帧内未编码宏块子集与已编码宏块子集之间的权重占比。
例如,在当前视频帧内存在已编码宏块子集时,说明当前视频帧内本次编码面向的当前宏块子集为当前视频帧内的非首个宏块子集,也就可以借助当前视频帧内已经完成编码的多个宏块子集的实际编码方式来预估当前的编码方式,进一步提高当前宏块子集的编码准确性。
此时,首先从当前视频帧内查找出每一个已完成编码的宏块子集,得到多个已编码宏块子集,然后分析每一已编码宏块子集的实际编码情况,如图2B所示,从而确定出每一个已编码宏块子集在当前视频帧内的实际编码码率;同时,通过分析每一宏块子集在前一视频帧内的实际编码情况,可以计算出每一宏块子集在前一视频帧内的实际编码量,此时按照每一宏块子集在前一视频帧内的实际编码量在前一视频帧内的整体编码量占比,可以计算出每一宏块子集的实 际编码权重,从而计算出当前视频帧内未编码宏块子集与已编码宏块子集之间的权重占比,以便后续根据已编码宏块子集在当前视频帧内的实际编码码率,来预估当前视频帧内未编码宏块子集的编码码率,从而预测当前视频帧的预编码码率。
S204,基于实际编码码率和权重占比,估算当前视频帧内未编码宏块子集的待编码码率,得到当前视频帧面向当前宏块子集编码时的预编码码率。
在本实施例中,将当前视频帧内每一已编码宏块子集的实际编码码率相加,可以得到已编码宏块子集在当前视频帧内的整体编码码率,然后按照当前视频帧内未编码宏块子集与已编码宏块子集之间的权重占比与该整体编码码率的乘积,可以估算出当前视频帧内全部未编码宏块子集的待编码码率,进而将已编码宏块子集在当前视频帧内的整体编码码率与该待编码码率相加,即可预测出当前视频帧面向当前宏块子集编码时的预编码码率,以保证视频编码质量的平稳性。
示例性的,当前视频帧面向当前宏块子集编码时的预编码码率的预测方式可以为: 其中,predframesize为当前视频帧面向当前宏块子集编码时的预编码码率,realsize为当前视频帧内已编码宏块子集的实际编码码率,weightleft为当前视频帧内的未编码宏块子集在前一视频帧内的实际编码权重,weightused为当前视频帧内的已编码宏块子集在前一视频帧内的实际编码权重。
S205,判断预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差是否超出预设码率波动范围,基于预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差超出预设码率波动范围的判断结果,执行S207;基于预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差没有超出预设码率波动范围的判断结果,执行S206。
例如,在预测出当前视频帧面向当前宏块子集编码时的预编码码率时,由于该预编码码率是借助前一视频帧的实际编码情况预测出的,仅能够保证视频编码质量的平稳性,而无法保证满足当前网络带宽的传输需求,因此本实施例还会按照当前网络带宽也为当前视频帧分配一个适合的码率,也就是本实施例中的预分配码率,此时可以通过判断预编码码率与该预分配码率之间的码率差是否超出预设码率波动范围,来分析当前宏块子集在前一视频帧内的实际编码 量化参数是否能够适用于当前宏块子集在当前视频帧内的编码,使得当前宏块子集在当前视频帧内的编码,既能够保证视频编码质量的平稳性,也能够满足当前网络带宽的传输需求。
S206,将当前宏块子集在前一视频帧内的实际编码量化参数,作为当前宏块子集在当前视频帧内的目标编码量化参数。
如果预编码码率与预分配码率之间的码率差未超出预设码率波动范围,说明该预编码码率在一定误差范围内也能够满足当前网络带宽的传输需求,此时由于该预编码码率是借助前一视频帧的实际编码情况预测出来的,因此可以直接采用当前宏块子集在前一视频帧内的实际编码量化参数,作为当前宏块子集在当前视频帧内的目标编码量化参数,从而在满足当前网络带宽需求的基础上,也保证了视频编码质量的平稳性。
S207,判断预编码码率是否大于预分配码率,基于预编码码率大于预分配码率的判断结果,执行S208;基于预编码码率小于预分配码率的判断结果,执行S209。
例如,在预编码码率与预分配码率之间的码率差超出预设码率波动范围时,存在两种情况:1)预编码码率大于预分配码率;2)预编码码率小于预分配码率。此时,不同情况下存在不同的量化参数调整方式,因此在确定预编码码率与预分配码率之间的码率差超出预设码率波动范围后,还需要进一步判断预编码码率是否大于预分配码率,以对当前宏块子集执行相应的量化参数调整方式,保证当前宏块子集在当前视频帧内的编码准确性。
S208,上调当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数。
例如,在确定预编码码率大于预分配码率时,说明预编码码率相比预分配码率已经高出预设码率波动范围,无法满足当前网络带宽的需求,而预编码码率是根据前一视频帧的实际编码情况预测的,因此可以通过分析预编码码率与预分配码率之间的码率差,按照与该码率差相关的比例来上调当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数,此时编码量化参数的上调可以降低当前宏块子集的空间编码细节,使得预编码码率减小,从而不断靠近该预分配码率,进而在满足当前网络带宽需求的基础上,保证视频编码质量的平稳性。
S209,下调当前宏块子集在前一视频帧内的实际编码量化参数,得到当前 宏块子集在当前视频帧内的目标编码量化参数。
例如,在确定预编码码率小于预分配码率时,说明预编码码率相比预分配码率已经低于预设码率波动范围,无法满足当前网络带宽的需求,而预编码码率是根据前一视频帧的实际编码情况预测的,因此可以通过分析预编码码率与预分配码率之间的码率差,按照与该码率差相关的比例来下调当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数,此时编码量化参数的下调可以增加当前宏块子集的空间编码细节,使得预编码码率增大,从而不断靠近该预分配码率,进而在满足当前网络带宽需求的基础上,保证视频编码质量的平稳性。
S210,采用目标编码量化参数,依次对当前宏块子集内的每一宏块进行编码。
本实施例中,在得到当前宏块子集在当前视频帧内的目标编码量化参数后,可以直接采用该目标编码量化参数,依次对当前宏块子集内的每一宏块进行编码,然后继续计算当前视频帧内下一宏块子集的目标编码量化参数,依次循环,直至完成对当前视频帧内的每一宏块子集的编码,从而实现当前视频帧的准确编码,继续对下一视频帧进行编码。
S211,如果完成对当前视频帧内每一宏块子集的编码,则基于当前视频帧内每一宏块子集的实际编码码率和当前视频帧的实际编码码率,计算每一宏块子集在当前视频帧内的实际编码权重。
例如,在完成对当前视频帧内每一宏块子集的编码,也就是完成对当前视频帧的编码后,需要计算当前视频帧内每一宏块子集的实际编码权重,以辅助每一宏块子集在下一视频帧内的准确编码。此时,首先可以根据每一宏块子集在当前视频帧内的实际编码情况,计算出当前视频帧内每一宏块子集的实际编码码率以及当前视频帧整体的实际编码码率,然后将每个宏块子集的实际编码码率在当前视频帧整体的实际编码码率下的码率比值,作为宏块子集在当前视频帧内的实际编码权重。
示例性的,本实施例中每一宏块子集在当前视频帧内的实际编码权重的计算方式可以为: 其中,curweight为每个宏块子集的实际编码权重,curbits为该宏块子集在当前视频帧内的实际编码码率,framesize为当前视频帧的实际编码码率。
本实施例提供的技术方案,参考当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,来预测当前视频帧面向当前宏块子集编码时的预编码码率,然后通过分析该预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差,来调整当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数,实现当前视频帧的准确编码,无需通过分析图像复杂度计算每一递归深度下每个编码块的编码代价,极大降低了视频编码过程中的编码开销和编码复杂度,提高了视频编码的高效性;同时,直接参考每一宏块子集在前一视频帧内的实际编码模式,并依据当前网络带宽分别进行对应调整,从而利用前一视频帧的编码模式和当前网络带宽的波动,为当前视频帧进行编码指引和调整,在保证满足网络带宽波动的基础上,提高了视频编码质量的平稳性。
图3A为本申请另一实施例提供的一种视频编码的方法的流程图,图3B为本申请另一实施例提供的视频编码过程的原理示意图。本实施例是在上述实施例的基础上进行细化。如图3A所示,本实施例对于视频编码过程中的丢帧策略的具体实现过程进行详细的解释说明。
例如,如图3A所示,本实施例中可以包括如下步骤:
S310,基于当前视频帧在当前网络带宽下的预分配码率以及关联视频帧的编码码率下限,估算在当前网络带宽下视频传输时的视频预缓存量。
例如,由于若对每一视频帧均进行编码传输,可能会无法满足网络带宽的波动需求,因此考虑到相邻几帧的视频画面会大致相同,本实施例为了满足网络带宽的波动需求,可以设置一种丢帧机制,也就是在无法满足当前网络带宽的传输需求时,可以适当丢弃某一视频帧的编码,以缓解当前网络带宽的传输压力。
本实施例中,为了准确分析视频编码是否满足当前网络带宽的传输需求,会预先设置一个虚拟视频缓冲器,在该虚拟视频缓冲器中缓存已完成编码而未成功传输的视频帧,同时确定该虚拟视频缓冲器的缓存总容量,以便分析在该虚拟视频缓冲器的视频缓存的影响下,为当前视频帧分配的适用于当前网络带宽的预分配码率。同时,由于虚拟视频缓冲器在当前网络带宽下传输当前视频帧时,会缓存后续几帧的关联视频帧,因此在要求当前视频帧的编码码率满足当前网络带宽的传输需求时,也需要参考后续关联视频帧的影响。需要说明的 是,本实施例中的关联视频帧可以为位于当前视频帧后的连续八帧等,关联视频帧的数量不做限定。
因此,本实施例可以通过分析当前视频帧在当前网络带宽下的预分配码率以及关联视频帧的编码码率下限,判断该虚拟视频缓冲器对于当前视频帧和关联视频帧的实时编码速率,同时分析该虚拟视频缓冲器在当前网络带宽下的视频传输速率,并在该虚拟视频缓冲器当前的实际已缓存量的基础上,结合该实时编码速率与该实时传输速率之间的差异,来估算在当前网络带宽下视频传输时的视频预缓存量。
示例性的,为了提高视频预缓存量的估算准确性,如图3B所示,本实施例中的基于当前视频帧在当前网络带宽下的预分配码率以及关联视频帧的编码码率下限,估算在当前网络带宽下视频传输时的视频预缓存量,可以包括:采用前一视频帧实际编码后的视频实际缓存量、视频缓存容量和缓存空置系数,调整当前网络带宽,得到当前视频帧的预分配码率和在当前网络带宽下视频传输时的传输码率;采用当前视频帧的预分配码率和关联视频帧的编码码率下限,分别与传输码率之间的码率差,调整视频实际缓存量,得到在当前网络带宽下视频传输时的视频预缓存量。
在前一视频帧完成编码后,会按照实际缓存情况计算出虚拟视频缓冲器在前一视频帧实际编码后的视频实际缓存量,进而通过分析该视频实际缓存量与虚拟视频缓冲器的视频缓存容量之间的占比,可以判断出该虚拟视频缓冲器内的已占用空间量,此时由于虚拟视频缓冲器内的已占用空间量过大时,会对当前网络带宽下的视频传输和编码产生一定的负面压力,而如果虚拟视频缓冲器的空置时间越久,也会更加便于当前网络带宽下的视频传输和编码,因此会设置本实施例中的缓存空置系数来表示对当前网络带宽下的视频传输和编码所产生的正向压力,此时通过已占用空间量带来的负向压力和缓存空置系数带来的正向压力,来对应的调整在当前帧率下当前网络带宽对当前视频帧的码率,从而得到当前视频帧的预分配码率和在当前网络带宽下视频传输时的传输码率;此时,该预分配码率和传输码率均与当前网络带宽相关,可以采用相同的计算方式: 其中,sendbits为在当前网络带宽下视频传输时的传输码率,framebits为当前视频帧的预分配码率,bitwidth为当前网络带宽,fps为当前帧率,1.05为虚拟视频缓冲器 空置时的调整系数,0.2为虚拟视频缓冲器满置后的快速压缩系数,bufferfill为在前一视频帧实际编码后的视频实际缓存量,buffersize为视频缓存容量,const_zero_factor为缓存空置系数。
例如,在计算出当前视频帧的预分配码率和在当前网络带宽下视频传输时的传输码率后,可以通过分析当前视频帧的预分配码率和关联视频帧的编码码率下限,分别与该传输码率之间的码率差,能够判断出虚拟视频缓冲器的动态变化速率,然后采用该动态变化速率来调整当前的视频实际缓存量,从而得到在当前网络带宽下视频传输时的视频预缓存量;例如,该视频预缓存量的计算方式可以为: 其中,buffer 2为在当前网络带宽下视频传输时的视频预缓存量,buffer 1为当前的视频实际缓存量,framebits为当前视频帧的预分配码率,sendbits为在当前网络带宽下视频传输时的传输码率,curframebits n为关联视频帧中的第n帧的编码码率下限。
需要说明的是,为了保证当前视频帧的编码准确性,本实施例也会分析当前视频帧的编码码率下限,以使编码码率不能低于该编码码率下限,因此在预分配码率小于当前视频帧的编码码率下限时,需要将该预分配码率更新为当前视频帧的编码码率下限,以采用该当前视频帧的编码码率下限来对当前视频帧进行码率分析,从而提高当前视频帧的编码准确性。
S320,判断视频预缓存量是否超出预设编码阈值,基于视频预缓存量超出预设编码阈值的判断结果,执行S330;基于视频预缓存量没有超出预设编码阈值的判断结果,执行S340。
例如,为了准确分析当前网络带宽是否支持当前视频帧的编码,也就是当前视频帧的编码是否会造成当前网络带宽的传输压力,本实施例会预先设定一个预设编码阈值,超出如果当前视频帧编码分析后的视频预缓存量超出该预设编码阈值,则说明会造成当前网络带宽的传输压力,本实施例中的预设编码阈值可以设置为0.1*buffersize,其中buffersize为视频缓存容量。
S330,丢弃当前视频帧。
例如,如果视频预缓存量超出预设编码阈值,则丢弃当前视频帧,而不对该当前视频帧进行编码,以缓解当前网络带宽的传输压力;而如果视频预缓存量未超出预设编码阈值,则说明当前视频帧的编码不会造成当前网络带宽的传输压力,那么需要准确估算该当前视频帧内每一宏块子集的目标编码量化参数,以实现当前视频帧的准确编码。
S340,根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,预测当前视频帧面向当前宏块子集编码时的预编码码率。
S350,基于预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数。
S360,基于当前视频帧实际编码后的实际编码量,更新对应的视频实际缓存量。
例如,在完成当前视频帧的编码后,为了保证下一视频帧编码时视频预缓存量的准确分析,本实施例会分析当前视频帧实际编码后的实际编码量,然后参考实际传输情况和该实际编码量来更新当前的视频实际换存量,以提高下一视频帧的编码分析。
本实施例提供的技术方案,在对当前视频帧编码时,首先通过估算在当前网络带宽下视频传输时的视频预缓存量,来判断是否会造成当前网络带宽下的传输压力,从而设置相应的丢帧机制,在保证满足当前网络带宽需求的基础上,提高视频编码的准确性和高效性。
图4为本申请一实施例提供的一种视频编码的装置的结构示意图,如图4所示,该装置可以包括:
码率预测模块410,设置为根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每一已编码宏块子集的实际编码码率,预测所述当前视频帧面向当前宏块子集编码时的预编码码率;
编码量化模块420,设置为基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在当前视频帧内的目标编码量化参数。
本实施例提供的技术方案,由于前一视频帧完成编码后才会编码当前视频帧,且当前视频帧内的多个宏块子集也是依次编码的,因此当前视频帧内的每一宏块子集在前一视频帧内都存在对应的编码模式,且在当前视频帧面向当前宏块子集编码时,该当前视频帧内也会存在已编码的宏块子集和未编码的宏块子集,此时可以参考当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及当前视频帧内每一已编码宏块子集的实际编码码率,来预测当前视频 帧面向当前宏块子集编码时的预编码码率,然后通过分析该预编码码率与当前视频帧在当前网络带宽下的预分配码率之间的码率差,来调整当前宏块子集在前一视频帧内的实际编码量化参数,得到当前宏块子集在当前视频帧内的目标编码量化参数,实现当前视频帧的准确编码,无需通过分析图像复杂度计算每一递归深度下每个编码块的编码代价,极大降低了视频编码过程中的编码开销和编码复杂度,提高了视频编码的高效性;同时,直接参考每一宏块子集在前一视频帧内的实际编码模式,并依据当前网络带宽分别进行对应调整,从而利用前一视频帧的编码模式和当前网络带宽的波动,为当前视频帧进行编码指引和调整,在保证满足网络带宽波动的基础上,提高了视频编码质量的平稳性。
本实施例提供的视频编码的装置可适用于上述任意实施例提供的视频编码的方法,具备相应的功能和有益效果。
图5为本申请一实施例提供的一种计算机设备的结构示意图,如图5所示,该服务器包括处理器50、存储装置51和通信装置52;设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备中的处理器50、存储装置51和通信装置52可以通过总线或其他方式连接,图5中以通过总线连接为例。
本实施例提供的一种计算机设备可用于执行上述任意实施例提供的视频编码的方法,具备相应的功能和有益效果。
本申请一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的视频编码的方法。该方法可以包括:
根据当前视频帧的每一宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每一已编码宏块子集的实际编码码率,预测所述当前视频帧面向当前宏块子集编码时的预编码码率;
基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在当前视频帧内的目标编码量化参数。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的视频编码的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到, 本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请多个实施例所述的方法。
值得注意的是,上述视频编码的装置的实施例中,所包括的多个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,多功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。计算机可读存储介质可以是非暂态计算机可读存储介质。

Claims (15)

  1. 一种视频编码的方法,包括:
    根据当前视频帧的每个宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每个已编码宏块子集的实际编码码率,预测所述当前视频帧面向当前宏块子集编码时的预编码码率;其中,所述视频帧包括多个宏块,所述多个宏块被划分为多个宏块子集,每个宏块子集包括至少一个已编码宏块子集;
    基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在所述当前视频帧内的目标编码量化参数。
  2. 根据权利要求1所述的方法,其中,每个宏块子集包括未编码宏块子集,所述根据当前视频帧的每个宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每个已编码宏块子集的实际编码码率,预测所述当前视频帧面向当前宏块子集编码时的预编码码率,包括:
    响应于确定所述当前视频帧内存在至少一个已编码宏块子集,计算每个已编码宏块子集在所述当前视频帧内的实际编码码率,以及所述当前视频帧内所述未编码宏块子集与所述至少一个已编码宏块子集之间的权重占比;
    基于所述实际编码码率和所述权重占比,估算所述当前视频帧内所述未编码宏块子集的待编码码率,得到所述当前视频帧面向当前宏块子集编码时的预编码码率。
  3. 根据权利要求2所述的方法,还包括:
    响应于确定所述当前视频帧内不存在所述已编码宏块子集,将所述当前宏块子集在所述前一视频帧内的实际编码量化参数,作为所述当前宏块子集在所述当前视频帧内的目标编码量化参数。
  4. 根据权利要求1所述的方法,其中,所述基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在所述当前视频帧内的目标编码量化参数,包括:
    响应于确定所述预编码码率与所述预分配码率之间的码率差未超出预设码率波动范围,将所述当前宏块子集在所述前一视频帧内的实际编码量化参数,作为所述当前宏块子集在所述当前视频帧内的目标编码量化参数;
    响应于确定所述预编码码率与所述预分配码率之间的码率差超出所述预设码率波动范围,且所述预编码码率大于所述预分配码率,上调所述当前宏块子集在所述前一视频帧内的实际编码量化参数,得到所述当前宏块子集在所述当 前视频帧内的目标编码量化参数;
    响应于确定所述预编码码率与所述预分配码率之间的码率差超出所述预设码率波动范围,且所述预编码码率小于所述预分配码率,下调所述当前宏块子集在所述前一视频帧内的实际编码量化参数,得到所述当前宏块子集在所述当前视频帧内的目标编码量化参数。
  5. 根据权利要求1所述的方法,在所述得到所述当前宏块子集在所述当前视频帧内的目标编码量化参数之后,还包括:
    采用所述目标编码量化参数,依次对所述当前宏块子集内的每个宏块进行编码。
  6. 根据权利要求5所述的方法,在采用所述目标编码量化参数,依次对所述当前宏块子集内的每个宏块进行编码之后,还包括:
    响应于确定完成对所述当前视频帧内每个宏块子集的编码,基于所述当前视频帧内所述每个宏块子集的实际编码码率和所述当前视频帧的实际编码码率,计算所述每个宏块子集在所述当前视频帧内的实际编码权重。
  7. 根据权利要求1-6任一项所述的方法,在所述预测所述当前视频帧面向当前宏块子集编码时的预编码码率之前,还包括:
    基于所述当前视频帧在当前网络带宽下的预分配码率以及关联视频帧的编码码率下限,估算在所述当前网络带宽下视频传输时的视频预缓存量,以在所述视频预缓存量未超出预设编码阈值时,对所述当前视频帧进行编码。
  8. 根据权利要求7所述的方法,其中,所述基于所述当前视频帧在当前网络带宽下的预分配码率以及关联视频帧的编码码率下限,估算在所述当前网络带宽下视频传输时的视频预缓存量,包括:
    采用所述前一视频帧实际编码后的视频实际缓存量、视频缓存容量和缓存空置系数,调整所述当前网络带宽,得到所述当前视频帧的预分配码率和在所述当前网络带宽下视频传输时的传输码率;
    采用所述当前视频帧的预分配码率与所述传输码率之间的码率差,以及关联视频帧的编码码率下限与所述传输码率之间的码率差,调整所述视频实际缓存量,得到在所述当前网络带宽下视频传输时的视频预缓存量。
  9. 根据权利要求8所述的方法,在所述采用所述前一视频帧实际编码后的视频实际缓存量、视频缓存容量和缓存空置系数,调整所述当前网络带宽,得到所述当前视频帧的预分配码率之后,还包括:
    响应于确定预分配码率小于所述当前视频帧的编码码率下限,将所述预分 配码率更新为所述当前视频帧的编码码率下限。
  10. 根据权利要求7所述的方法,在所述估算在所述当前网络带宽下视频传输时的视频预缓存量之后,还包括:
    响应于确定所述视频预缓存量超出所述预设编码阈值,丢弃所述当前视频帧。
  11. 根据权利要求7所述的方法,在所述得到所述当前宏块子集在所述当前视频帧内的目标编码量化参数之后,还包括:
    基于所述当前视频帧实际编码后的实际编码量,更新对应的视频实际缓存量。
  12. 根据权利要求1-6任一项所述的方法,其中,待编码视频包括多个视频帧,在所述预测所述当前视频帧面向当前宏块子集编码时的预编码码率之前,还包括:
    根据待编码视频内的每个视频帧的编码请求,评估所述每个视频帧对应的当前网络带宽。
  13. 一种视频编码的装置,包括:
    码率预测模块,设置为根据当前视频帧的每个宏块子集在前一视频帧内的实际编码权重,以及所述当前视频帧内每个已编码宏块子集的实际编码码率,预测所述当前视频帧面向当前宏块子集编码时的预编码码率;
    编码量化模块,设置为基于所述预编码码率与所述当前视频帧在当前网络带宽下的预分配码率之间的码率差,调整所述当前宏块子集在前一视频帧内的实际编码量化参数,得到所述当前宏块子集在所述当前视频帧内的目标编码量化参数。
  14. 一种计算机设备,包括:
    至少一个处理器;
    存储装置,设置为存储至少一个程序;
    当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-12中任一所述的视频编码的方法。
  15. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-12中任一所述的视频编码的方法。
CN202180066573.2A 2020-11-27 2021-11-08 视频编码的方法、装置、设备和存储介质 Pending CN117597920A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011360060.6A CN112272299A (zh) 2020-11-27 2020-11-27 一种视频编码的方法、装置、设备和存储介质
PCT/CN2021/129185 WO2022111258A1 (zh) 2020-11-27 2021-11-08 视频编码的方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN117597920A true CN117597920A (zh) 2024-02-23

Family

ID=74350070

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011360060.6A Withdrawn CN112272299A (zh) 2020-11-27 2020-11-27 一种视频编码的方法、装置、设备和存储介质
CN202180066573.2A Pending CN117597920A (zh) 2020-11-27 2021-11-08 视频编码的方法、装置、设备和存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011360060.6A Withdrawn CN112272299A (zh) 2020-11-27 2020-11-27 一种视频编码的方法、装置、设备和存储介质

Country Status (4)

Country Link
US (1) US20240015288A1 (zh)
EP (1) EP4228258A1 (zh)
CN (2) CN112272299A (zh)
WO (1) WO2022111258A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272299A (zh) * 2020-11-27 2021-01-26 广州市网星信息技术有限公司 一种视频编码的方法、装置、设备和存储介质
CN114024946B (zh) * 2021-11-02 2024-02-23 中国联合网络通信集团有限公司 流媒体码率的调整方法、装置和计算机可读存储介质
CN114245189B (zh) * 2021-11-23 2023-05-30 中国联合网络通信集团有限公司 视频码率调整方法、装置、设备及存储介质
CN114501015B (zh) * 2022-04-06 2022-09-02 杭州未名信科科技有限公司 视频编码码率处理方法和装置、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070025441A1 (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
CN101795415B (zh) * 2010-04-22 2012-02-08 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
CN103841418B (zh) * 2012-11-22 2016-12-21 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及系统
CN110049321B (zh) * 2018-01-16 2022-09-06 腾讯科技(深圳)有限公司 视频编码方法、装置、设备及存储介质
CN111200734B (zh) * 2018-11-19 2022-03-11 浙江宇视科技有限公司 视频编码方法及装置
CN112272299A (zh) * 2020-11-27 2021-01-26 广州市网星信息技术有限公司 一种视频编码的方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2022111258A1 (zh) 2022-06-02
EP4228258A1 (en) 2023-08-16
CN112272299A (zh) 2021-01-26
US20240015288A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
US20200322619A1 (en) Systems and Methods of Encoding Multiple Video Streams for Adaptive Bitrate Streaming
CN117597920A (zh) 视频编码的方法、装置、设备和存储介质
US9350990B2 (en) Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
JP7012747B2 (ja) ビデオフレーム符号化方法、端末、および記憶媒体
CN108012163B (zh) 视频编码的码率控制方法及装置
JP2016526336A (ja) 適応ビットレートストリーミングのための適応量子化を用いて複数のビデオストリームをエンコードするシステムおよび方法
JP4358215B2 (ja) 動画像符号化装置及びその方法
US20180184089A1 (en) Target bit allocation for video coding
US10536696B2 (en) Image encoding device and image encoding method
EP4333433A1 (en) Video coding method and apparatus, and electronic device
JP5507770B2 (ja) ビデオ符号化の方法、装置、プログラム及び記録媒体
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
WO2021092821A1 (en) Adaptively encoding video frames using content and network analysis
CN108924611B (zh) Abr编码码率控制优化方法、电子设备及存储介质
RU2485711C2 (ru) Способ управления скоростью передачи битов видео, устройство управления скоростью передачи битов видео, машиночитаемый носитель записи, на котором записана программа управления скоростью передачи битов видео
JPH10271513A (ja) 固定伝送率mpeg映像送信機用伝送率制御方法およびその装置
US11825088B2 (en) Adaptively encoding video frames based on complexity
US20090185620A1 (en) Video encoding apparatus and method for the same
RU2818891C1 (ru) Способ и устройство, вычислительное устройство и носитель данных для кодирования видео
CN115190309B (zh) 视频帧处理方法、训练方法、装置、设备及存储介质
US10602158B2 (en) Method for maximizing video slice size constraint
US20190052880A1 (en) Dynamic allocation of cpu cycles vis-a-vis virtual machines in video stream processing
CN115914632A (zh) 视频编码方法、解码方法、视频编解码器及计算机介质
CN116506617A (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