CN113038124B - 视频编码方法、装置、存储介质及电子设备 - Google Patents
视频编码方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113038124B CN113038124B CN202110232863.1A CN202110232863A CN113038124B CN 113038124 B CN113038124 B CN 113038124B CN 202110232863 A CN202110232863 A CN 202110232863A CN 113038124 B CN113038124 B CN 113038124B
- Authority
- CN
- China
- Prior art keywords
- encoding
- path
- coding
- video
- paths
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 230000001186 cumulative effect Effects 0.000 claims description 30
- 238000013139 quantization Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- 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/102—Methods 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/124—Quantisation
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供了一种视频编码方法、装置、存储介质以及电子设备。该方法包括:针对视频的每个帧长度n执行以下操作:使用基准编码参数,以针对帧长度n+1的多个候选编码路径对视频进行编码;计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于编码的T个视频在帧长度n+1的性能指标集合的率失真性能;根据计算出的率失真性能从所述多个候选编码路径中确定具有最小率失真估计性能的编码路径作为针对帧长度n+1的最佳编码路径,其中,1≤n≤N‑1,N为视频的帧序列的总长度。
Description
技术领域
本公开涉及视频编解码领域,尤其涉及一种视频编码方法、视频编码装置、电子设备及计算机可读存储介质。
背景技术
视频的图像数据由视频编码器基于特定数据压缩标准(例如,运动图像专家组(MPEG)标准)被编码,然后被存储在记录介质中或者以比特流的形式通过通信信道被发送。
根据能够再现和存储高分辨率或高质量图像内容的硬件的开发和发布,对用于有效地对高分辨率或高质量图像内容进行编码或解码的编解码器的需求日益增加。近来,已经实现了用于有效地压缩高分辨率或高质量图像内容的方法。
在相关技术的视频编码装置(例如,X265编码器)中,通常会根据不同功能和压缩效率分解为三种帧类型,I帧(Intra-frame,帧内帧)、P帧(Predicted-frame,预测帧)和B帧(Bidirectional-frame,双向预测帧)。这三种帧类型中,I帧能提供更好的画质,P帧利用了视频的时间冗余程度,能够参考前序帧的信息进行压缩编码,因此相较I帧能够节省大量的码率;B帧相较于P帧新增了一个参考方向,因此相较于P帧更能节省码率。除了以上三种类型之外,在最新的视频编码标准,如HEVC、VVC中,引入了GPB帧(Generalized P and BPicture,广义P、B帧)来取代传统的P帧。该帧类型介于P帧和B帧之间,有B帧的两个参考列表,但两个参考列表中的帧均为该帧的前序帧,即依旧只有一个参考方向,因此其编码效率更接近于传统的P帧。为了方便阐述,除非特殊指定GPB帧,后续内容中GPB帧和P帧统称为P帧(即P帧包含P帧+GPB帧,GPB帧会单独指出)。为了平衡视频的质量和大小,通常采用不同帧类型的组合的方式进行编码,这称之为编码中的帧类型路径。如HEVC(高效率视频编码,High Efficiency Video Coding)标准和VVC(多用视频编码,Versatile Video Coding)标准中,通常会采用较为固定的帧类型路径,它们将第一帧编码为I帧,后续帧会按照固定15帧B帧和1帧GPB帧的结构进行编码,以获取较高的编码性能。
然而,对于复杂视频场景而言,根据视频场景自适应的帧结构路径相较于固定帧结构拥有更好的编码性能。因此一些用于实际场景的编码会对视频帧进行简单的前处理,并根据前处理的结果计算出帧类型路径。经过前处理计算出来的帧类型路径相较于固定的帧类型路径通常会更为准确,从而拥有更高的编码性能。因此,如何针对不同的编码配置和编码标准来提供最佳的编码路径,对于编码性能具有很大的影响。
发明内容
本公开提供一种视频编码方法、视频编码装置和计算机可读存储介质,以至少解决相关技术中的确定最佳编码路径的问题,也可不解决任何上述问题。
根据本公开的实施例的第一方面,提供了一种视频编码方法,包括:针对视频的每个帧长度n执行以下操作:使用基准编码参数Param0,以针对帧长度n+1的多个候选编码路径对视频进行编码,所述多个候选编码路径是通过对针对帧长度n的最佳编码路径和帧长度n之前的部分帧长度的最佳编码路径进行调整而产生的;计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频在帧长度n+1的性能指标集合的率失真性能,其中,以初始编码路径编码的T个视频的性能指标集合是从使用T个编码参数分别对视频进行编码而生成的T个视频获得的,所述T个编码参数包括基准编码参数Param0和T-1个参考编码参数{Param1,…,ParamT-1},T为大于等于4的整数;根据计算出的率失真性能从所述多个候选编码路径中确定具有最佳性能的编码路径作为在基准编码参数Param0下针对帧长度n+1的最佳编码路径,其中,1≤n≤N-1,N为视频的帧序列的总长度。
根据本公开的实施例的第一方面,编码参数包括量化参数、常数码率因子(CRF)和指定码率中的至少一个。
根据本公开的实施例的第一方面,所述初始编码路径是具有最小的累加变换后残差绝对值总和(SATD)的编码路径。
根据本公开的实施例的第一方面,所述率失真性能是以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标以及以初始最佳编码路径编码后的视频的性能指标之间的BD码率(BDRate)、BD峰值信噪比(BD-PSNR)、BD结构相似性(BD-SSIM)和BD视频质量多方法评价融合(BD-VMAF)中的至少一个。
根据本公开的实施例的第一方面,针对帧长度n+1的所述多个候选编码路径是通过以下方式产生的PathLen个候选编码路径:
{Bestpathn-m+m个连续的V帧+P帧},
其中,Besthpathn表示先前已经确定的针对视频帧长度n的最佳编码路径,PathLen=min(k,n)+1,0≤m≤min(k,n),k是在编码中允许的最长连续B帧的数量,并且当n=1时,最佳编码路径为I,当n=2时,最佳编码路径为IP。
根据本公开的实施例的第一方面,所述计算以所述多个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频的性能指标的率失真性能包括:计算以初始编码路径编码的T个视频的累计大小集合Bn={Bitst,n,0≤t<T}和累计质量指标Mn={Metrict,n,0≤t<T},其中,Bitst,n和Metrict,n分别表示以编码参数Paramt编码的视频的前n帧的累计大小和累计质量指标;使用基准编码参数Param0按照所述多个候选编码路径对视频进行编码,并计算以所述多个候选编码路径中的每个编码路径编码的视频的累计大小和累计质量指标/>使用累计大小/>和累计质量指标依次替代以初始编码路径编码的T个编码的视频的累计大小集合Bn+1中的Bits0,n+1和累计质量指标集合Mn+1中的Metric0,n+1,以生成新集合/>和/>使用生成的新集合/>和/>依次与Bn+1和Mn+1计算出PathLen个率失真性能值。
根据本公开的实施例的第一方面,从所述多个候选编码路径中确定具有最小率失真性能的编码路径包括:从所述PathLen个候选编码路径中筛选出的编码路径,从筛选出的编码路径中选择出率失真性能值最优的编码路径作为针对帧长度n+1的最佳编码路径,其中,0<α<1,β>1。
根据本公开的实施例的第一方面,所述方法还包括:响应于确定所述PathLen个候选编码路径中不存在的编码路径,将所述PathLen个候选编码路径中具有最小的大小变化率γ的编码路径确定为针对帧长度n+1的最佳编码路径,
其中,
根据本公开的实施例的第一方面,所述方法还包括:根据确定的针对视频帧长度N的最佳编码路径对视频进行编码。
根据本公开的实施例的第二方面,提供了一种视频编码装置,包括:编码单元,被配置为使用T个编码参数以初始编码路径分别对视频进行编码以生成T个编码的视频,并获得T个编码的视频的针对每个帧长度n的性能指标集合,其中,所述T个编码参数包括一个基准编码参数Param0和T-1个参考编码参数{Param1,…,ParamT-1},T为大于等于4的整数;编码路径确定单元,被配置为针对视频的每个帧长度n执行以下操作:使用基准编码参数Param0,以针对帧长度n+1的多个候选编码路径对视频进行编码;计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频在帧长度n+1的性能指标集合的率失真性能;根据计算出的率失真性能从所述多个候选编码路径中确定具有最佳性能的编码路径作为在基准编码参数Param0下针对帧长度n+1的最佳编码路径,其中,1≤n≤N-1,N为视频的帧序列的总长度,所述多个候选编码路径是通过对针对帧长度n的最佳编码路径和帧长度n之前的部分帧长度的最佳编码路径进行调整而产生的。
根据本公开的实施例的第二方面,编码参数包括量化参数、常数码率因子(CRF)和指定码率中的至少一个。
根据本公开的实施例的第二方面,所述初始编码路径是具有最小的累加变换后残差绝对值总和(SATD)的编码路径。
根据本公开的实施例的第二方面,所述率失真性能是以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标以及以初始最佳编码路径编码后的视频的性能指标之间的BD码率(BDRate)、BD峰值信噪比(BD-PSNR)、BD结构相似性(BD-SSIM)和BD视频质量多方法评价融合(BD-VMAF)中的至少一个。
根据本公开的实施例的第二方面,针对帧长度n+1的所述多个候选编码路径是通过以下方式产生的PathLen个候选编码路径:
{Bestpathn-m+m个连续的B帧+P帧},
其中,Besthpathn表示先前已经确定的针对视频帧长度n的最佳编码路径,PathLen=min(k,n)+1,0≤m≤min(k,n),k是在编码中允许的最长连续B帧的数量,并且当n=1时,最佳编码路径为I,当n=2时,最佳编码路径为IP。
根据本公开的实施例的第二方面,编码路径确定单元被配置为:计算以初始编码路径编码的T个视频的累计大小集合Bn={Bitst,n,0≤t<T}和累计质量指标Mn={Metrict,n,0≤t<T},其中,Bitst,n和Metrict,n分别表示以编码参数Paramt编码的视频的前n帧的累计大小和累计质量指标;使用基准编码参数Param0按照所述多个候选编码路径对视频进行编码,并计算以所述多个候选编码路径中的每个编码路径编码的视频的累计大小和累计质量指标/>使用累计大小/>和累计质量指标依次替代以初始编码路径编码的T个编码的视频的累计大小集合Bn+1中的Bits0,n+1和累计质量指标集合Mn+1中的Metric0,n+1,以生成新集合/>和/>使用生成的新集合/>和/>依次与Bn+1和Mn+1计算出PathLen个率失真性能值。
根据本公开的实施例的第二方面,编码路径确定单元还被配置为:从所述PathLen个候选编码路径中筛选出的编码路径,从筛选出的编码路径中选择出率失真性能值最优的编码路径作为针对帧长度n+1的最佳编码路径,其中,0<α<1,β>1。
根据本公开的实施例的第二方面,编码路径确定单元还被配置为:响应于确定所述PathLen个候选编码路径中不存在 的编码路径,将所述PathLen个候选编码路径中具有最小的大小变化率γ的编码路径确定为针对帧长度n+1的最佳编码路径,
其中,
根据本公开的实施例的第二方面,所述编码单元还被配置为根据确定的针对视频帧长度N的最佳编码路径对视频进行编码。
根据本公开的实施例的第三方面,提供了一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的视频编码方法。
根据本公开的实施例的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由视频编码装置/电子设备/服务器的处理器执行时,使得视频编码装置/电子设备/服务器能够执行如上所述的视频编码方法。
根据本公开的实施例的第五方法,提供了一种计算机程序产品,所述计算机程序产品中的指令被电子设备中的至少一个处理器运行以执行如上所述的视频编码方法。
本公开的实施例提供的技术方案至少带来以下有益效果:可以根据编码器在编码路径下的实际的性能指标来评价编码路径的性能并确定最佳的编码路径,因此可针对特定场景获取更准确的帧类型路径,并且可根据需要对性能指标进行限定从而得到符合期望的编码路径方案。该路径不仅可以用于提升视频编码的压缩性能,节省大量的带宽费用,同样可以为不同配置提供训练数据中的参考值,以达到策略调优的目的。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据本公开的示例性实施例的视频编码框架的示意图。
图2是示出根据本公开的示例性实施例的视频编码方法的流程图。
图3是示出根据本公开的示例性实施例的视频编码装置框图。
图4是示出根据本公开的示例性实施例的用于视频编码的电子设备的示意图。
图5是示出根据另一示例性实施例示出的用于视频编码的电子设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
在对本公开的实施例进行详细说明以前,先对本公开的实施例可能涉及到的一些术语或缩略语进行说明。
图1是根据本公开的示例性实施例视频编码框架的示意图。
首先,对于一个图像帧,将该图像帧分割为至少一个编码单元。
然后,将该图像帧输入到编码器中进行编码预测,该过程主要利用视频数据的空间相关性和时间相关性,采用帧内预测或帧间预测去除每个编码单元中将被编码的块的时空域冗余信息,得到每个块在参考帧中的匹配块。
接下来,将匹配块和相应的编码块相减,得到残差块,并对残差块分别进行变换和量化处理,得到量化后的变换系数。这里,变换可包括离散余弦变换(DCT)、快速傅里叶变换(FFT)等。量化处理主要应用于从连续信号到数字信号的转换中,连续信号经过采样成为离散信号,离散信号经过量化即成为数字信号。
然后,将量化后的变换系数进行熵编码。
接下来,将量化后的变换系数进行反量化处理和反变换,得到重构残差块,进而将重构残差块与预测块相加,得到重建图像。
然后,将重建图像经过DB(Deblocking Filter,去块滤波)和SAO(SampleAdaptive Offset,自适应像素补偿)处理后,加入到参考帧队列中,并作为下一帧图像的参考帧。通过循环执行上述的操作使得视频图像能够逐帧地编码。
根据本公开的示例性实施例,可在编码器中实现根据本公开的示例性实施例的编码路径确定方法,从而在对量化后的变换系数进行编码时,可使用根据本公开的示例性实施例的编码路径确定方法来确定最佳的编码路径。
根据本公开的示例性实施例的编码路径确定方法可首先根据自适应的帧类型路径搜索方案,利用帧的绝对变换差值总和(SATD)进行决策以得到初始的编码路径。然后,可基于初始的编码路径生成新的编码路径,并使用多个编码参数来构建新编码路径的性能指标集合,从而可以基于构建的性能指标集合来计算将在实际编码中使用的编码参数在各个新编码路径下的率失真性能。下面将参照图2来说明根据本公开的示例性实施例的确定编码路径的方法。
图2是根据本公开示例性实施例示出的确定编码路径的方法的流程图。
根据本公开的示例性实施例,假设希望得到帧长度为N的视频在指定编码器在编码参数Param0下的最佳编码路径。这里,编码参数可以包括但不限于量化参数(QP)、常数码率因子(CRF)和指定码率。
在针对视频执行编码路径确定之前可首先获得以初始编码路径编码的T个视频的性能指标集合。这里,可使用T个编码参数以初始编码路径对视频进行编码以生成T个编码的视频,并获得T个编码的视频的针对每个帧长度n的性能指标集合,其中,所述T个编码参数包括一个基准编码参数Param0和T-1个参考编码参数{Param1,…,ParamT-1},T为大于等于4的整数。例如,可通过仅调整量化参数(例如,Q0,Q1,…,QT-1),得到T(T>=4)组不同的编码参数,分别为Param0,Param1,…,ParamT-1。
通过使用至少4个视频的性能指标集合,可以构建用于后续的计算率失真性能的数据集合,稍后将详细描述。
通过例如以SATD作为性能指标来确定对视频的初始编码路径,分别得到T个编码的视频输出。这里,基于SATD决策的初始编码路径是编码后的视频帧的累加SATD值最小的编码路径。
具体地,可如下确定初始编码路径:
对于帧数为N的视频序列,基于SATD的编码路径搜索方案可搜索任意长度i≤N的最佳路径,其具体方式如下:
对于i=1,最佳路径为“I”,对于i=2,最佳路径为“IP”。也就是说,第一个编码的帧固定为I帧,而第二个编码的帧固定为P帧。
假设已经得到了长度小于等于n的最佳路径Bestpath1,Bestpath2,…,Besthpathn,并且假设编码路径中允许的最长连续B帧的数目为k,则长度为n+1的最佳路径获取方式如下:
(1)生成min(k,n)+1个新路径,其中,生成的新路径可被表示为:
Bestpathn-m+m个连续的B帧+P,
其中,0≤m≤min(k,n)。也就是说,从之前的最佳路径中选择出最近的min(k,n)+1条最佳路径并通过加入B帧来生成新的路径。
(2)计算出min(k,n)+1种路径下每一帧的SATD并叠加,计算出每一个路径的总SATD。
(3)从min(k,n)+1个路径中选出SATD值最小的一个,并作为帧长度为n+1的最佳路径。
重复以上的操作(1)~(3),一直计算至n=N-1,从而可以得到针对长度为N的视频的最佳编码路径。
应理解,基于SATD决策的初始编码路径仅是示意性的,本领域的技术人员可采用其他方式来确定初始编码路径。
在执行了上述的准备操作之后,根据本公开的示例性实施例的编码路径确定方法可针对视频的每个帧长度n执行以下操作:
在步骤S210,使用基准编码参数Param0,以针对帧长度n+1的多个候选编码路径对视频进行编码。这里,所述多个候选编码路径是通过对针对帧长度n的最佳编码路径和帧长度n之前的部分帧长度的最佳编码路径进行调整而产生的。
接下来,在步骤S220,计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频在帧长度n+1的性能指标集合的率失真性能,其中,以初始编码路径编码的T个视频的性能指标集合是从使用T个编码参数分别对视频进行编码而生成的T个视频获得的,所述T个编码参数包括基准编码参数Param0和T-1个参考编码参数{Param1,…,ParamT-1},T为大于等于4的整数。这里,率失真性能是指在某一相同性能指标下另一性能指标的变化率情况。例如,可确定在同等的峰值信噪比(PSNR)下的码率的率失真性能差异BDRate。如果BDRate为负数,则表示候选编码路径编码的视频的码率在相同PSNR质量下相对于初始编码路径编码的视频的码率有节省,因此,压缩性能更高。
根据本公开的示例性实施例,率失真性能可以使用所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标以及以初始最佳编码路径编码后的视频的性能指标之间的BD码率(BDRate)、BD峰值信噪比(BD-PSNR)、BD结构相似性(BD-SSIM)和BD视频质量多方法评价融合(BD-VMAF)中的至少一个。
然后,在步骤S230,根据计算出的率失真性能从所述多个候选编码路径中确定具有最佳性能的编码路径作为针对帧长度n+1的最佳编码路径。也就是说,以率失真性能作为对新生成的候选编码路径的性能指标进行判断,例如,如果以BDRate作为评价标准,则可确定具有最小的BDRate的候选编码路径作为最佳编码路径。这样,重复以上的操作S220~S240,一直到计算出针对整个视频的帧长度N的最佳编码路径,从而可最终确定出针对视频的最佳编码路径。
根据本公开的示例性实施例,在步骤S210,针对帧长度n的所述多个候选编码路径是通过以下方式确定的PathLen个候选编码路径:
{Bestpathn-m+m个连续的B帧+P帧}
其中,Besthpathn表示先前已经确定的针对视频帧长度n的最佳编码路径,PathLen=min(k,n)+1,0≤m≤min(k,n),k是在编码中允许的最长连续B帧的数量,并且当n=1时,最佳编码路径为I,当n=2时,最佳编码路径为IP。也就是说,生成的候选编码路径的数量为n+1(n<k)或k+1(n>k),并且是通过在部分的先前最佳编码路径中***不同数量的B帧而形成的。应理解,可以按照其他方式来生成候选编码路径,本公开的示例性实施例不限于此。
根据本公开的示例性实施例,在步骤S220,可计算以初始编码路径编码的T个视频的累计大小集合Bn={Bitst,n,0≤t<T}和累计质量指标Mn={Metrict,n,0≤t<T},其中,Bitst,n和Metrict,n分别表示以编码参数Paramt编码的视频的前n帧的累计大小和累计质量指标。这里,前n帧的累计大小可指的是编码的视频在前n帧的平均码率,前n帧的累计质量指标可指的是编码的视频在前n帧的平均质量指标(例如,平均PSNR)。
例如,如果T=4,则除了最终实际编码使用的编码参数Param0,还使用三个编码参数Param1、Param2、Param3来对视频进行编码,从而可计算出4个编码的视频的前n帧的累计大小集合Bn={Bits0,n,Bits1,n,Bits2,n,Bits3,n}和累计质量指标集合Mn={Metric0,n,Metric1,n,Metric2,n,Metric3,n}。
然后,使用基准编码参数Param0按照所述多个候选编码路径(例如,如上所述生成的PathLen个候选编码路径)对视频进行编码,并计算以所述多个候选编码路径中的每个编码路径编码的视频的累计大小和累计质量指标/>
接下来,使用累计大小和累计质量指标/>依次替代以初始编码路径编码的T个编码的视频的累计大小集合Bn+1中的Bits0,n+1和累计质量指标集合Mn+1中的Metric0,n+1,以生成新集合/>和/>然后,使用生成的新集合/>和/>依次与Bn+1和Mn+1计算出PathLen个率失真性能值(例如,BDRate)。
也就是说,使用以初始编码路径编码的T个视频在帧长度n+1的T个累计大小和累计质量的点拟合一条anchor曲线,然后用新生成的候选编码路径编码的视频在帧长度n+1的累计大小和累计质量替换其中的一个点,从而可形成一条新的曲线,然后计算两条曲线在起始点和终点关于一个轴的面积
根据本公开的示例性实施例,在步骤S240,可从所述PathLen个候选编码路径中筛选出的编码路径,从筛选出的编码路径中选择出率失真性能值最优的编码路径作为针对帧长度n+1的最佳编码路径,其中,0<α<1,β>1。通过这样的限制,可选择期望的码率范围内的编码路径。这里,α和β的值可根据编码的具体情况而不同,例如,可根据编码标准、量化参数的选择而不同。
根据本公开的示例性实施例,如果在步骤S230确定所述多个候选编码路径(即,PathLen个候选编码路径)中不存在预定码率范围的编码路径,即,不存在的编码路径,则将所述PathLen个候选编码路径中具有最小的大小变化率γ的编码路径确定为针对帧长度n+1的最佳编码路径,
其中,
也就是说,将码率相对于初始编码路径编码的视频的码率的变化率最小的候选编码路径作为最佳编码路径。
根据本公开的示例性实施例,在S230确定了针对帧长度N的最佳编码路径之后,在步骤S240可按照确定的针对帧长度N的最佳编码路径对视频进行编码。
通过本公开的示例性实施例的编码方法,可以根据编码器在编码路径下的实际的性能指标来评价编码路径的性能并确定最佳的编码路径,因此可针对特定场景获取更准确的帧类型路径,并且可根据需要对性能指标进行限定从而得到符合期望的编码路径方案。该路径不仅可以用于提升视频编码的压缩性能,节省大量的带宽费用,同样可以为不同配置提供训练数据中的参考值,以达到策略调优的目的。
图3是示出根据本公开的示例性实施例的视频编码装置框图。根据本公开的示例性实施例的视频编码装置可以以硬件或软件或组合的形式在视频编码器中实现。例如,可以在图1所示的编码器中实现根据本公开的视频编码装置。
如图3所示,根据本公开的示例性实施例的视频编码装置300可包括编码单元310和编码路径确定单元320。
根据本公开的示例性实施例,编码单元310被配置为使用T个编码参数以初始编码路径分别对视频进行编码以生成T个编码的视频,并获得T个编码的视频的针对每个帧长度n的性能指标集合,其中,所述T个编码参数包括一个基准编码参数Param0和T-1个参考编码参数{Param1,…,ParamT-1},T为大于等于4的整数。
编码路径确定单元320被配置为以针对帧长度n+1的多个候选编码路径对视频进行编码,计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频在帧长度n+1的性能指标集合的率失真性能,根据计算出的率失真性能从所述多个候选编码路径中确定具有最佳性能的编码路径作为在基准编码参数Param0下针对帧长度n+1的最佳编码路径,其中,1≤n≤N-1,N为视频的帧序列的总长度,所述多个候选编码路径是通过对针对帧长度n的最佳编码路径和帧长度n之前的部分帧长度的最佳编码路径进行调整而产生的。
根据本公开的示例性实施例,编码参数可包括量化参数、常数码率因子(CRF)和指定码率中的至少一个。
根据本公开的示例性实施例,初始编码路径是使得编码后的视频具有最小的累加变换后残差绝对值总和(SATD)的编码路径。
根据本公开的示例性实施例,率失真性能是以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标以及以初始最佳编码路径编码后的视频的性能指标之间的BD码率(BDRate)、BD峰值信噪比(BD-PSNR)、BD结构相似性(BD-SSIM)和BD视频质量多方法评价融合(BD-VMAF)中的至少一个。
根据本公开的示例性实施例,针对帧长度n+1的所述多个候选编码路径是通过以下方式产生的PathLen个候选编码路径:
{Bestpartn-m+m个连续的B帧+P帧}
其中,Bestpartn表示先前已经确定的针对视频帧长度n的最佳编码路径,PathLen=min(k,n)+1,0≤m≤min(k,n),k是在编码中允许的最长连续B帧的数量,并且当n=1时,最佳编码路径为I,当n=2时,最佳编码路径为IP。
根据本公开的示例性实施例,编码路径确定单元320被配置为:计算以初始编码路径编码的T个视频的累计大小集合Bn={Bitst,n,0≤t<T}和累计质量指标Mn={Metrict,n,0≤t<T},其中,Bitst,n和Metrict,n分别表示以编码参数Paramt编码的视频的前n帧的累计大小和累计质量指标;使用基准编码参数Param0按照所述多个候选编码路径对视频进行编码,并计算以所述多个候选编码路径中的每个编码路径编码的视频的累计大小和累计质量指标/>使用累计大小/>和累计质量指标/>依次替代以初始编码路径编码的T个编码的视频的累计大小集合Bn+1中的Bits0,n+1和累计质量指标集合Mn+1中的Metric0,n+1,以生成新集合/>和/>使用生成的新集合/>和依次与Bn+1和Mn+1计算出PathLen个率失真性能值。
根据本公开的示例性实施例,编码路径确定单元320还被配置为:从所述PathLen个候选编码路径中筛选出的编码路径,从筛选出的编码路径中选择出率失真性能值最优的编码路径作为针对帧长度n+1的最佳编码路径,其中,0<α<1,β>1。
根据本公开的示例性实施例,编码路径确定单元320还被配置为:响应于确定所述PathLen个候选编码路径中不存在 的编码路径,将所述PathLen个候选编码路径中具有最小的大小变化率γ的编码路径确定为针对帧长度n+1的最佳编码路径,
其中,
根据本公开的示例性实施例,编码单元310还被配置为根据确定的针对视频帧长度N的最佳编码路径对视频进行编码。
图4是示出根据本公开的示例性实施例的一种用于视频编码的电子设备的结构框图。该电子设备400例如可以是:智能手机、平板电脑、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,电子设备400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本公开的如图2所示的方法实施例提供的视频编码方法。
在一些实施例中,电子设备400还可选包括有:***设备接口403和至少一个***设备。处理器401、存储器402和***设备接口403之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口403相连。具体地,***设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
***设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和***设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和***设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置在电子设备400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在终端400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在终端400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位电子设备400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源409用于为电子设备400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
加速度传感器411可以检测以终端400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器412可以检测终端400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对终端400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在终端400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在终端400的侧边框时,可以检测用户对终端400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置电子设备400的正面、背面或侧面。当电子设备400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416,也称距离传感器,通常设置在电子设备400的前面板。接近传感器416用于采集用户与电子设备400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与终端400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与电子设备400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图4中示出的结构并不构成对电子设备400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图5所示为另一种电子设备500的结构框图。例如,电子设备500可以被提供为一服务器。参照图5,电子设备500包括一个或多个处理处理器510以及存储器520。存储器520可以包括用于执行以上的编码方法的一个或一个以上的程序。电子设备500还可以包括一个电源组件530被配置为执行电子设备500的电源管理,一个有线或无线网络接口540被配置为将电子设备500连接到网络,和一个输入输出(I/O)接口550。电子设备500可以操作基于存储在存储器520的操作***,例如Windows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM或类似。
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的视频编码方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机***上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述方法。
根据本公开的视频编码方法、装置以及电子设备、计算机可读存储介质可以根据编码器在编码路径下的实际的性能指标来评价编码路径的性能并确定最佳的编码路径,因此可针对特定场景获取更准确的帧类型路径,并且可根据需要对性能指标进行限定从而得到符合期望的编码路径方案。该路径不仅可以用于提升视频编码的压缩性能,节省大量的带宽费用,同样可以为不同配置提供训练数据中的参考值,以达到策略调优的目的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种视频编码方法,其特征在于,包括:
针对视频的每个帧长度n执行以下操作:
使用基准编码参数Param0,以针对帧长度n+1的多个候选编码路径对视频进行编码,所述多个候选编码路径是通过对针对帧长度n的最佳编码路径和帧长度n之前的部分帧长度的最佳编码路径进行调整而产生的;
计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频在帧长度n+1的性能指标集合的率失真性能,其中,以初始编码路径编码的T个视频的性能指标集合是从使用T个编码参数分别对视频进行编码而生成的T个视频获得的,所述T个编码参数包括基准编码参数Param0和T-1个参考编码参数{Param1,...,ParamT-1},T为大于等于4的整数;
根据计算出的率失真性能从所述多个候选编码路径中确定具有最佳性能的编码路径作为在基准编码参数Param0下针对帧长度n+1的最佳编码路径,其中,1≤n≤N-1,N为视频的帧序列的总长度。
2.如权利要求1所述的方法,其特征在于,编码参数包括量化参数、常数码率因子(CRF)和指定码率中的至少一个。
3.如权利要求1所述的方法,其特征在于,所述初始编码路径是具有最小的累加变换后残差绝对值总和(SATD)的编码路径。
4.如权利要求1所述的方法,其特征在于,所述率失真性能是以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标以及以初始最佳编码路径编码后的视频的性能指标之间的BD码率(BDRate)、BD峰值信噪比(BD-PSNR)、BD结构相似性(BD-SSIM)和BD视频质量多方法评价融合(BD-VMAF)中的至少一个。
5.如权利要求1所述的方法,其特征在于,针对帧长度n+1的所述多个候选编码路径是通过以下方式产生的PathLen个候选编码路径:
{Bestpathn-m+m个连续的B帧+P帧},
其中,Bestpathn表示先前已经确定的针对视频帧长度n的最佳编码路径,PathLen=min(k,n)+1,0≤m≤min(k,n),k是在编码中允许的最长连续B帧的数量,并且当n=1时,最佳编码路径为I,当n=2时,最佳编码路径为IP。
6.如权利要求5所述的方法,其特征在于,所述计算以所述多个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频的性能指标的率失真性能包括:
计算以初始编码路径编码的T个视频的累计大小集合Bn={Bitst,n,0≤t<T}和累计质量指标Mn={Metrict,n,0≤t<T},其中,Bitst,n和Metrict,n分别表示以编码参数Paramt编码的视频的前n帧的累计大小和累计质量指标;
9.如权利要求1所述的视频编码方法,其特征在于,还包括:
根据确定的针对视频帧长度N的最佳编码路径对视频进行编码。
10.一种视频编码装置,包括:
编码单元,被配置为使用T个编码参数以初始编码路径分别对视频进行编码以生成T个编码的视频,并获得T个编码的视频的针对每个帧长度n的性能指标集合,其中,所述T个编码参数包括一个基准编码参数Param0和T-1个参考编码参数{Param1,...,ParamT-1},T为大于等于4的整数;
编码路径确定单元,被配置为针对视频的每个帧长度n执行以下操作:
使用基准编码参数Param0,以针对帧长度n+1的多个候选编码路径对视频进行编码,所述多个候选编码路径是通过对针对帧长度n的最佳编码路径和帧长度n之前的部分帧长度的最佳编码路径进行调整而产生的;
计算以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标相对于以初始编码路径编码的T个视频在帧长度n+1的性能指标集合的率失真性能;
根据计算出的率失真性能从所述多个候选编码路径中确定具有最佳性能的编码路径作为在基准编码参数Param0下针对帧长度n+1的最佳编码路径,
其中,1≤n≤N-1,N为视频的帧序列的总长度。
11.如权利要求10所述的装置,其特征在于,编码参数包括量化参数、常数码率因子(CRF)和指定码率中的至少一个。
12.如权利要求10所述的装置,其特征在于,所述初始编码路径是具有最小的累加变换后残差绝对值总和(SATD)的编码路径。
13.如权利要求10所述的装置,其特征在于,所述率失真性能是以所述多个候选编码路径中的每个候选编码路径编码的视频的性能指标以及以初始最佳编码路径编码后的视频的性能指标之间的BD码率(BDRate)、BD峰值信噪比(BD-PSNR)、BD结构相似性(BD-SSIM)和BD视频质量多方法评价融合(BD-VMAF)中的至少一个。
14.如权利要求10所述的装置,其特征在于,针对帧长度n+1的所述多个候选编码路径是通过以下方式产生的PathLen个候选编码路径:
{Bestpathn-m+m个连续的B帧+P帧},
其中,Bestpathn表示先前已经确定的针对视频帧长度n的最佳编码路径,PathLen=min(k,n)+1,0≤m≤min(k,n),k是在编码中允许的最长连续B帧的数量,并且当n=1时,最佳编码路径为I,当n=2时,最佳编码路径为IP。
15.如权利要求14所述的装置,其特征在于,编码路径确定单元被配置为:
计算以初始编码路径编码的T个视频的累计大小集合Bn={Bitst,n,0≤t<T}和累计质量指标Mn={Metrict,n,0≤t<T},其中,Bitst,n和Metrict,n分别表示以编码参数Paramt编码的视频的前n帧的累计大小和累计质量指标;
18.如权利要求10所述的装置,其特征在于,所述编码单元还被配置为根据确定的针对视频帧长度N的最佳编码路径对视频进行编码。
19.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到9中的任一权利要求所述的视频编码方法。
20.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由视频编码装置/电子设备/服务器的处理器执行时,使得视频编码装置/电子设备/服务器能够执行如权利要求1至9中任一项所述的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110232863.1A CN113038124B (zh) | 2021-02-26 | 2021-02-26 | 视频编码方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110232863.1A CN113038124B (zh) | 2021-02-26 | 2021-02-26 | 视频编码方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113038124A CN113038124A (zh) | 2021-06-25 |
CN113038124B true CN113038124B (zh) | 2023-03-31 |
Family
ID=76465962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110232863.1A Active CN113038124B (zh) | 2021-02-26 | 2021-02-26 | 视频编码方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038124B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002300584A (ja) * | 2001-03-30 | 2002-10-11 | Kddi Corp | 最適経路選択型動画像符号化装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222630B (zh) * | 2007-11-30 | 2010-08-18 | 武汉大学 | 一种实现实时双帧参考的时域可分级视频编码方法 |
CN105898307A (zh) * | 2015-12-22 | 2016-08-24 | 乐视云计算有限公司 | 一种b帧位置决策方法及装置 |
-
2021
- 2021-02-26 CN CN202110232863.1A patent/CN113038124B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002300584A (ja) * | 2001-03-30 | 2002-10-11 | Kddi Corp | 最適経路選択型動画像符号化装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113038124A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7085014B2 (ja) | ビデオ符号化方法並びにその装置、記憶媒体、機器、及びコンピュータプログラム | |
JP7026260B2 (ja) | ビデオ符号化方法、ビデオ符号化装置およびコンピュータプログラム | |
JP2023126583A (ja) | 予測モードの復号化の方法、符号化の方法、復号化の装置、符号化の装置および記憶媒体 | |
CN110062246B (zh) | 对视频帧数据进行处理的方法和装置 | |
CN112637631B (zh) | 码率确定方法、装置、电子设备和存储介质 | |
WO2023087637A1 (zh) | 视频编码方法和装置、电子设备和计算机可读存储介质 | |
CN111107357B (zh) | 一种图像处理的方法、装置、***及存储介质 | |
CN112702604B (zh) | 用于分层视频的编码方法和装置以及解码方法和装置 | |
WO2019091302A1 (en) | Image prediction method and apparatus | |
CN113192519A (zh) | 音频编码方法和装置以及音频解码方法和装置 | |
CN110572679B (zh) | 帧内预测的编码方法、装置、设备及可读存储介质 | |
CN110177275B (zh) | 视频编码方法及装置、存储介质 | |
CN114302137B (zh) | 用于视频的时域滤波方法、装置、存储介质及电子设备 | |
CN113038124B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN110460856B (zh) | 视频编码方法、装置、编码设备及计算机可读存储介质 | |
CN111698262B (zh) | 带宽确定方法、装置、终端及存储介质 | |
CN114332709A (zh) | 视频处理方法、装置、存储介质以及电子设备 | |
CN114422782B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN110062226B (zh) | 一种视频编码方法、视频解码方法、装置、***及介质 | |
CN113938689B (zh) | 量化参数确定方法和装置 | |
CN114268797B (zh) | 用于视频的时域滤波的方法、装置、存储介质及电子设备 | |
CN113079372B (zh) | 帧间预测的编码方法、装置、设备及可读存储介质 | |
CN112218071B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN113891090A (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN112437304B (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 |