CN113286145B - 视频编码方法、装置和电子设备 - Google Patents

视频编码方法、装置和电子设备 Download PDF

Info

Publication number
CN113286145B
CN113286145B CN202110454418.XA CN202110454418A CN113286145B CN 113286145 B CN113286145 B CN 113286145B CN 202110454418 A CN202110454418 A CN 202110454418A CN 113286145 B CN113286145 B CN 113286145B
Authority
CN
China
Prior art keywords
image
frame
ratio
bits
encoding
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
CN202110454418.XA
Other languages
English (en)
Other versions
CN113286145A (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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202110454418.XA priority Critical patent/CN113286145B/zh
Publication of CN113286145A publication Critical patent/CN113286145A/zh
Priority to KR1020237034885A priority patent/KR20230155002A/ko
Priority to PCT/CN2022/088950 priority patent/WO2022228375A1/zh
Priority to EP22794845.2A priority patent/EP4333433A1/en
Priority to JP2023564189A priority patent/JP2024514348A/ja
Application granted granted Critical
Publication of CN113286145B publication Critical patent/CN113286145B/zh
Priority to US18/485,487 priority patent/US20240040127A1/en
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/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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/177Methods 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 a group of pictures [GOP]
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (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

本申请公开了一种视频编码方法、装置和电子设备,属于通信技术领域。该方法包括:根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;基于第二比特数,编码第一图像;其中,第一比值为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值,第一图像为目标图像组中未编码的第一帧图像,M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码图像的数量,M为大于1的整数。

Description

视频编码方法、装置和电子设备
技术领域
本申请属于通信技术领域,具体涉及一种视频编码方法、装置和电子设备。
背景技术
视频编码是一种针对数字视频的数据压缩方法,目标是去除原始视频图像中的冗余,节约存储和传输成本;且在同等编码码率条件下,尽量降低编码后的视频图像的失真,以提高编码后的视频的质量。
目前,可以通过视频编码标准H.264/AVC中的JVT-G012码率控制算法对视频进行编码。JVT-G012码率控制算法实现了图像组GOP(Group of Pictures)级、帧级,以及宏块级的三级码率控制,控制功能比较全面。
然而,当视频序列中的一个图像组中不包括P帧图像(即向前搜索帧)时,JVT-G012码率控制算法是按照平均分配的方式给该图像组中的P帧图像分配比特数的,即JVT-G012码率控制算法在进行比特分配时,在帧层面没有考虑编码复杂度的问题,如此可能使得GOP内部各帧图像的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)曲线的波动,从而导致整个视频序列的平均峰值信噪比PSNR的下降。如此,导致编码后的视频的质量较差。
发明内容
本申请实施例的目的是提供一种视频编码方法、装置和电子设备,能够解决在帧层面没有考虑编码复杂度,使得编码后的视频的平均峰值信噪比PSNR的下降,从而导致编码后的视频的质量较差的问题。
第一方面,本申请实施例提供了一种视频编码方法,该方法包括:根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;基于第二比特数,编码第一图像;其中,第一比值为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值,第一图像为目标图像组中未编码的第一帧图像,该M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码图像的数量,M为大于1的整数。
第二方面,本申请实施例提供了一种视频编码装置,该装置包括:确定模块和编码模块;确定模块,用于根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;编码模块,用于基于确定模块确定的第二比特数,编码第一图像;其中,第一比值为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值,第一图像为目标图像组中未编码的第一帧图像,该M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码图像的数量,M为大于1的整数。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,可以根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;并基于第二比特数,编码第一图像;其中,第一比值为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值,第一图像为目标图像组中未编码的第一帧图像,M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码的图像的数量,M为大于1的整数。通过该方案,由于第一比值可以指示第一图像与目标图像组中已编码的M帧第二图像之间的相对编码复杂度,即本申请实施例提供的视频编码方法可以根据目标图像组中待编码图像与已编码图像之间的相对编码复杂度、目标图像组中剩余的比特数和目标图像组中剩余的帧数,为待编码图像分配比特数,因此可以实现从目标图像组中的低编码复杂度的图像节省编码比特,并将节省的编码比特用于对高编码复杂度的图像的编码,从而可以在保持平均编码码率接近目标码率(平均编码码率)的前提下,减小图像组中的各帧图像PSNR曲线的波动,进而可以提高编码后的视频的质量。
附图说明
图1为视频编码中码率控制基本框架图;
图2为缓冲器的示意图;
图3为码率控制算法一般结构图;
图4为本申请实施例提供的视频编码方法的流程图;
图5为本申请实施例提供的一种视频编码装置的示意图;
图6为本申请实施例提供的电子设备的示意图;
图7为本申请实施例提供的电子设备的硬件示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面首先对本申请的权利要求书和说明书中涉及的一些名词或者术语进行解释说明。
基本单元BU(basic unit,BU):是一个或多个宏块MB(macro block,MB)的集合。一个BU内包含的MB数应能被一帧图像内包含的MB数整除,如QCIF格式的视频序列中,若一帧图像包含99个MB,那么:该图像的一个BU中可包含99、33、11、9、3、1个MB,从而该图像中可以包括1、3、9、11、33、99个BU。
可以看出,一个BU可以包括一个MB,一个片,一个场或一帧图像。
示例性地,以一个基本单元BU由至少一个宏块组成为例。假设一个图像由a个宏块MB组成,一个BU由b个连续的MB组成,那么:c=a/b;其中,c为该图像中包括的全部BU的数量,且a、b、c均为正整数。
需要说明的是,一个基本单元BU内的所有宏块MB均使用同一个量化参数QP进行编码。一个BU的中包括的MB的数量越多,表示该BU的尺寸越大,编码该BU的计算复杂度越低,控制精度也越低;一个BU的中包括的MB的数量越少,表示该BU的尺寸越小,编码该BU的计算复杂度越高,控制精度越高。在实时应用中,通常选择较大尺寸的BU,如将图像一行的所有MB组成一个基本单元BU,或将一帧图像作为一个基本单元BU。
流量往返模型:用于计算分配给当前帧图像的目标比特,即分配给当前帧图像的比特数。
具体的,令N表示一个视频序列中的一个GOP中包含的图像的数量,N为大于1的整数;ni,j(i=1,2,...,j=1,2,...,N)表示该视频序列的第i个GOP中的第j帧图像(以下称为图像j),Bc(ni,,j)表示在编码图像ni,j后缓冲器的缓存区的实际占有率,则有:
Figure BDA0003040056490000031
其中,在上述公式(1)中,A(ni,j)为编码图像ni,j产生的实际比特数,u(ni,j-1)为编码图像ni,j前的瞬时信道带宽,Fr为编码帧率,Bs表示缓存器的缓冲区大小,缓冲区的最大占有率由不同的层次(Profile)和级别(Level)决定;
Figure BDA0003040056490000032
表示编码第1个GOP中的第1帧图像后缓冲区的实际占用量,a0为常数,通常a0的值为8;Bc(ni+1,0)=Bc(ni,N)表示编码第i+1个GOP的第一帧图向前,缓冲区的实际占用量与编码第i个GOP中的最后一帧图像后缓冲区的实际占用量相同。
缓冲器:又称为冲寄存器,用于将外设(例如编码器)送来的数据暂时存放,以便通过信道带宽传输该数据。本发明实施例中的缓冲区为缓冲器的缓冲区。
MAD线性预测模型:用于根据第j-1帧图像的实际MAD预测第j帧图像的MAD,或根据第j-1帧图像中的一个基本单元的MAD预测第j帧图像中相应位置的基本单元的MAD,j为大于1的正整数。
示例性地,以通过线性预测模型预测第j帧图像中的基本单元BU1的MAD为例。令BU1与第j-1帧图像中对应位置的BU2对应,假设BU1的MAD值为MADcb,BU2的MAD值为MADpb,那么MAD线性预测模型可以通过下述的公式(2)表示:
MADcb=a1*MADpb+a2; (2)
其中,在上述公式(2)中,a1和a2是MAD线性预测模型的两个参数,a1和a2的初始值分别设置为1和0,并在编完每个BU后进行更新。需要说明的是,可以根据预测MAD值与实际MAD值得差异,更新a1和a2;具体方法可以根据实际使用需求确定,此处不作具体限定。
图像的MAD:为当前帧图像的YUV值(例如Y值)与当前帧图像的前一帧图像(应为P帧图像或I帧图像)的YUV值(例如Y值)得绝对平均差。
其中,YUV中的“Y”表示明亮度(Luminance或Luma)“U”和“V”表示的是色度或浓度(Chrominance或Chroma),“U”和“V”的作用是描述图像的色彩及饱和度,用于指示图像的色彩度。
基本单元BU的MAD:为一个BU的YUV值与另一个BU的YUV值的绝对平均差,其中,该另一个BU为该一个BU所在图像(例如第j帧图像)的前一帧图像(例如第j-1帧图像)中的BU,且该一个BU在第j帧图像中的坐标信息与该另一个BU在第j-1帧图像中的坐标信息相同,第j帧图像与第j-1帧图像属于同一图像组,j为大于1的整数。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的视频编码方法进行详细地说明。
视频信号传输带宽通常都会受到一定限制,为了在满足信道带宽和传输时延的情况下有效传输视频数据,保证视频业务播放质量,需要对视频编码过程进行码率控制。所谓码率控制,就是通过选择合适的编码参数,例如量化参数QP,并按照该量化参数对与该量化参数对应的图像编码,使得视频信号编码后的比特率满足带宽的限制,并且使编码失真尽可能小。可以理解,码率控制是一个典型的多约束条件、多目标的率失真优化问题,该问题可以描述为:在视频信号的总编码比特数小于或等于Rc(限制比特,或目标比特)的条件下,为每一个编码单元确定最优的编码参数,使得总失真最小,具体可以通过下述的公式(3)表示:
Figure BDA0003040056490000041
其中,在上述公式(3)中,N为一个视频序列包含的图像的数量,Di为该视频序列中的第i帧图像的编码失真;Ri为该视频序列中的第i帧图像的编码比特数,
Figure BDA0003040056490000051
为该视频序列中各帧图像的最优编码参数(即量化参数QP),即
Figure BDA0003040056490000052
为第1帧图像的最优编码参数、
Figure BDA0003040056490000053
第2帧图像的最优编码参数、……,
Figure BDA0003040056490000054
为第N帧图像的最优编码参数;Rc为该视频序列的目标编码比特数。
视频序列可以通过编码器进行编码,编码后的编码比特流通常需要通过通信信道进行传输。由于实际应用中的通信信道大多是恒定比特率CBR(Constant Bitrate,CBR)信道,而编码器输出的编码码流大多是变比特率VBR(Variable Bitrate,VBR)码流。因此,为了实现在CBR信道有效传输VBR码流,可以在编码器输出部分设置一个缓冲器,如此视频编码中码率控制基本框架如图1所示。
如图2所示,图2为缓冲器的示意图。图2中的A表示视频编码器输出至缓冲器的编码比特流,Bs表示缓冲器的缓冲区大小,Bc(即图2中的填充区域)是缓冲器的缓冲区中待发送的比特数,Cb是信道带宽,Fr是编码帧率,Cb/Fr表示在编码器编码一帧图像的时长内,通信信道传输的数据量。
下面对传统技术中的码率控制算法的原理进行示例性地说明。
码率控制的目标是在有限的带宽下获得更好的视频质量。为了达到这个目标,需要解决两个问题:一是如何分配编码比特数,二是如何有效利用分配比特数估计最优编码参数;换句话说,码率控制算法通常包括个步骤:比特分配和量化参数QP估计。其中,比特分配即把有限的资源分配到图像组、帧以及宏块等图像单元上。量化参数估计,即根据图像单元分配到的资源(以下称为资源0,即比特数),估计与该资源0对应的最优编码参数,以使编码后的视频的失真最小。
码率控制算法一方面要求编码后的码流适合在带限信道(例如CBR信道)上传输;另一方面要求在有限的信道传输带宽下获得更好的视频质量。而判断视频质量的好坏,通常要考虑两方面:一是看整个序列所有帧的平均PSNR,平均PSNR更好的视频序列质量更好;二是看视频序列编码过程中PSNR曲线的变化情况,拥有更平滑的PSNR曲线的视频序列质量更好。
在传统的码率控制算法中,以上两个问题是在三个层次上进行研究的,这三个层次分别是:GOP层、帧层和BU层。在视频编码中,通常以GOP为单位,进行“三层两步”的码率控制,如图3所示。
一个GOP通常是由一个采用帧内预测编码的I帧开头,其后跟着若干个采用帧间预测编码的P帧和/或B帧。其中,I帧为GOP中的关键帧,属于帧内压缩,I帧的画面会完整保留,解码I帧时只需要本帧数据就可以完成。P帧为向前搜索帧,也称为差别帧或帧间压缩,P帧编码后表示的是当前帧与I帧或与当前帧之前的P帧的差别信息;解码P帧时,需要用当前帧之前的P帧或I帧缓存的画面叠加上本帧定义的编码的差别信息,重建当前帧的画面。B帧是双向差别帧,也就是说,编码后的B帧记录的是本帧(即当前帧)与前后帧的差别信息;换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后帧与本帧编码数据重建本帧图像。
根据上述描述可知,编码I帧产生的数据量远大于编码P帧和编码B帧所产生的数据量,因此在编码I帧之后,缓冲器的占用量Bc将达到较高水平,且该占用量Bc在编码I帧之后的P帧和B帧的过程中逐渐下降,在将一个GOP中的图像编码完成之后,缓冲器占用量可以恢复至编码该GOP之前的水平。
实际实现中,从GOP层到BU层,码率控制算法自上向下分配编码资源,并根据可用编码比特数确定量化参数QP。具体的:
GOP层码率控制的主要任务是为整个GOP分配编码比特数,分配的依据是当前GOP包含的帧数、编码器输出缓冲区占用量和信道带宽。然后需要计算出GOP起始I帧的QP;计算I帧QP的过程是在帧内预测帧与帧间预测帧之间分配编码资源的过程,在JVT-G012中,各GOP的I帧QP是根据前一GOP中的全部P帧的平均QP计算得到的,对第一个GOP,可以根据经验为第一个GOP中的I帧选择QP。
帧层码率控制是视频编码中的重要环节,不论是GOP层码率控制还是BU层码率控制,都是围绕着帧层码率控制进行的。帧层码率控制中首先要在GOP内部的各P帧之间以目标比特的形式分配编码比特,然后根据分配的编码比特数估计当前帧的QP。
在GOP层码率控制和帧层码率控制的编码比特分配中,通过设置I帧QP和各P帧的编码比特数的方式,完成I帧与P帧间、不同P帧间的编码比特数分配。在帧层码率控制的QP计算和BU层码率控制中,主要任务是通过为帧内各MB设置合适的QP,使编码产生的实际比特数和目标比特数相符。
下面以H.264/AVC视频编码推荐的JVT-F086码率控制算法和JVT-G012码率控制算法为例,对传统技术的码率控制方法进行示例性地说明。
JVT-F086码率控制算法和JVT-G012码率控制算法
I,JVT-F086码率控制算法以MPEG-2TM5码率模型为基础,根据缓冲器状态进行比特分配,尽量保证缓冲器既不上溢也不下溢。在JVT-F086码率控制算法中,首先需要在编码一帧图像前对该帧图像编码所需比特数进行估计,然后根据缓冲器的反馈预先假定一个QP,并按照该QP对该帧图像进行编码;然后再根据当前帧图像的实际编码结果,判断是否需要调整预先假定的QP,若需要调整,那么可以先调整QP,并按照调整后的QP对该帧图像进行再次编码处理;即在JVT-F086码率控制算法中,编码每一帧图像时,都需要判断是否重新给定QP,并按重新给定的QP再次编码该帧图像,从而JVT-F086的计算复杂度比较高。同时,JVT-F086码率控制算法从缓冲器饱和度方面控制码率,其对缓冲器控制的较好,缓冲器占用量变化比较平滑,但其编码后的视频质量波动比较大。
II,JVT-G012码率控制算法继承了MPEG-4VM8码率控制算法的思想,沿用二次率失真模型,可以根据信源特征及时地调整模型参数,JVT-G012码率控制算法的关键技术包括流量往返模型,MAD线性预测模型和二次率失真模型等。JVT-G012码率控制算法根据预先定义的比特率、帧率、缓冲器充盈程度和缓冲器目标线为当前帧分配目标编码比特,然后利用线性跟踪理论预测当前帧图像的MAD,最后由二次率失真模型计算当前帧图像的QP。JVT-G012码率控制算法利用预测MAD的方法解决了QP悖论问题,而且相比JVT-F086码率控制算法,仅需对待编码的每帧图像进行一次编码,因此JVT-G012码率控制算法的计算复杂度较低。进一步的,JVT-G012码率控制算法实现了GOP层、帧层、宏块层的三级码率控制,控制功能比较全面。
下面在对JVT-G012码率控制算法实现GOP层、帧层和宏块层的三级码率控制的过程进行详细地说明。
GOP层码率控制
对于第i个GOP,在编码第i个GOP中的第一帧图像前,先根据信道速率和缓冲器状态为第i个GOP分配目标比特数Tr(ni,0),Tr(ni,0)表示编码第i个GOP的第0帧图像后,该GOP可用/剩余的比特数,即:
Figure BDA0003040056490000071
上述公式(4)中,u(ni,1)表示编码第i个GOP的第一帧图像前的可用信道传输速率,Ni为第i个GOP包含的图像帧的数量,Bs为缓冲区大小,
Figure BDA0003040056490000072
表示编码第i-1个GOP后缓冲区的实际占用量,Fr表示编码帧率。
编码第i个GOP中的1帧图像后,更新一次Tr(ni,j):
Figure BDA0003040056490000073
在上述公式(5)中,Tr(ni,j)表示编码图像ni,j后,第i个GOP中剩余可用的比特数,u(ni,j)表示编码图像ni,j前的可用信道传输速率,u(ni,j-1)表示编码图像ni,j-1前的可用信道传输速率,A(ni,j)为图像ni,j的实际编码比特数,i为正整数,j为大于1的整数。对于CBR信道,有u(ni,j)=u(ni,j-1),则上述公式(5)可以简化成公式(6):
Figure BDA0003040056490000074
可以理解,对第i个GOP的比特数分配的过程,即为对第i个GOP进行GOP层码率控制的过程。在完成GOP层码率控制之后,还需要确定第i个GOP的初始量化参数。视频序列中的第一个GOP(即i=1)的初始量化参数是一个预定义的QP0,且第一个GOP中的I帧和第一个P帧均使用QP0编码。
视频序列中除第一个GOP之外的其它GOP的I帧和第一个P帧的初始量化参数可以通过下述的公式(7)计算得到:
Figure BDA0003040056490000075
在上述公式(7)中,QPst(i)表示第i个GOP的初始量化参数,SumPQP(i-1)表示第i-1个GOP中所有P帧的量化参数之和,
Figure BDA0003040056490000076
表示第i-1个GOP中的P帧的数量,
Figure BDA0003040056490000081
表示编码第i-1个GOP的最后一帧图像后,第i-1个GOP中可用的比特数,Tr(ni,0)表示编码第i个GOP的第0帧图像后,第i个GOP中可用的比特数,Ni-1表示第i-1个GOP中包含的图像帧的数量,N(i-1)p,表示第i-1个GOP中包含的P帧的数量。
帧层码率控制
帧层码率控制包括两个阶段:编码前阶段和编码后阶段。
(一),编码前阶段
本阶段的主要任务是为所有编码帧包括P帧和B帧计算量化参数。由于B帧通常不做参考帧,它的QP可由相邻帧的QP通过简单的线性插值得到,而P帧要作为后续帧的参考帧,其QP的值要精确计算得到。因此,要分别考虑不同帧的量化参数的计算方法。
①,B帧的量化参数计算
假设相邻两个P帧之间的连续的B帧数是E(E为大于1的整数),相邻两个P帧的量化参数分别为QP1和QP2,那么第i个B帧的量化参数根据下面两种情况计算如下:
a,当E=1时,即在两个相邻P帧之间只有一个B帧,B帧的量化参数QB1的计算公式为公式(8):
Figure BDA0003040056490000082
b,当E>1时,即相邻两个P帧之间不止一个B帧,则B帧的量化参数的计算公式为公式(9):
Figure BDA0003040056490000083
其中,在上述公式(9)中,
Figure BDA0003040056490000084
为相邻两个P帧之间的第i(i为正整数)个B帧,α是相邻两个P帧之间的第1个B帧的量化参数和相邻两个P帧的量化参数QP之间的差值,由下式给定:
Figure BDA0003040056490000085
在上述公式(10)中,QP2-QP1<-2E+1的情况只有在视频序列从一个GOP切换到另一个GOP时才会发生。结合公式(10),如下述的公式(11)所示,相邻两个P帧之间的第i个B帧最终的量化参数QBi根据H.264/AVC标准进一步调整如下:
Figure BDA0003040056490000086
其中,公式(11)中的
Figure BDA0003040056490000091
参见公式(10)中的
Figure BDA0003040056490000092
②,P帧的量化参数计算
1),确定目标缓冲级别
由于一个GOP中的第一个P帧的量化参数已经由该GOP给出,因此只需要确定该GOP中的其它P帧的目标缓冲区级别。可以理解,在编码完第一个GOP中的一个P帧后,可以得到目标缓冲区的初始水平值为,Tbl(ni,2)=Bc(ni,2),其中,Bc(ni,2)为编码完第i个GOP中的第1个P帧之后,缓冲区的实际占用量。那么,第i个GOP中的第j(j为正整数)个P帧的目标缓冲区水平定义为:
Figure BDA0003040056490000093
在上述公式(12)中,Tbl(ni,j)为第i个GOP中的第j帧P帧图像的目标缓冲区水平,
Figure BDA0003040056490000094
Figure BDA0003040056490000095
分别为P帧和B帧的平均编码复杂度,u(ni,j)表示编码第i个GOP的第j帧图像前的可用信道传输速率,Bs为缓冲区大小,Np(i-1)为第i-1个GOP中的P帧的数量。图像的编码复杂度可以通过公式(13)计算:
Figure BDA0003040056490000096
在上述公式(13)中,Sp表示第i个GOP中的所有P帧实际编码产生的比特数,Sb表示第i个GOP中的所有B帧实际编码产生的比特数,Qp表示第i个GOP中的所有P帧的平均量化参数,Qb表示第i个GOP中的所有B帧的平均量化参数。在两个P帧间没有B帧的情况下,上述公式(12)可以简化为下述的公式(14):
Figure BDA0003040056490000097
由上述公式(14)容易得出,
Figure BDA0003040056490000098
的值接近Bs/8。因此,如果缓存器的实际占用量和预先确定的缓存器占用量完全一样的话,就能保证每个GOP只用了自己的比特开销。但是由于率失真模型和MAD线性预测模型的不准确性,缓存器的实际占用量和预先确定的缓存器占用量之间经常有差值,所以需要微调来获得每一帧的目标比特数。
2),计算P帧目标比特数
根据线性跟踪理论,为第i个GOP的第j帧分配的比特数
Figure BDA0003040056490000099
由缓存器的目标占用量、编码帧率、可用信道带宽和缓存器的实际占用量共同决定:
Figure BDA0003040056490000101
其中,在上述公式(15)中,γ为一个常量,当GOP内插有B帧时,它的值为0.25,否则为0.75,u(ni,j)表示编码第i个GOP的第j帧图像时的可用信道传输速率,Fr为编码帧率,Tbl(ni,j)为第i个GOP中的第j帧图像的目标缓冲区水平;Bc(ni,j)表示编码第i个GOP中的第j帧图像后,缓冲区的实际占用量。同时,编码第i个GOP中的第j帧图像后的剩余比特
Figure BDA0003040056490000102
也要被考虑到:
Figure BDA0003040056490000103
其中,在上述公式(16)中,Np,r(j-1)和Nb,r(j-1)分别表示当前GOP中剩余未编码的P帧和B帧数量。最终,第j帧的分配到的比特数由
Figure BDA0003040056490000104
Figure BDA0003040056490000105
加权相加得到:
Figure BDA0003040056490000106
其中,在公式(17)中,在第i个GOP有B帧时,β的取值为0.9;在第i个GOP有B帧时,β的取值为0.5。
3),计算P帧的量化参数QP并执行率失真RDO(Rate distortion optimization,RDO)优化
可选地,当前帧的MAD值由前一帧的实际MAD通过线性预测模型得到,然后根据二次率失真模型计算出一个GOP中的第i帧图像ni,j的量化参数
Figure BDA0003040056490000107
i和j均为正整数。
Figure BDA0003040056490000108
其中,在公式(18)中,f(ni,j)为第i个GOP中的第j帧图像的分配到的比特数,d1和d2为常数,MADpredict(ni,j)为预测的MAD值,
Figure BDA0003040056490000109
为率失真模型计算得到的量化步长,然后可以将其转换为量化参数QP。
为了保证视频质量的连续性,相邻两帧图像的量化参数的差值应不大于2,从而将图像nij的量化参数调整为
Figure BDA00030400564900001010
Figure BDA00030400564900001011
其中,在上述公式(19)中,Qpp为第i个GOP中的第i-1帧图像ni,j的量化参数;最终图像ni,j的量化参数被限制为:
Figure BDA00030400564900001012
(二),编码后阶段
此阶段的主要任务有三个:更新线性预测模型中的参数、更新二次率失真模型中的参数,以及确定跳帧数目。
具体的,可以根据图像ni,j的预测MAD值与图像ni,j的实际MAD值之间的误差,更新线性预测模型中的参数和二次率失真模型中的参数。
在编完一帧图像(例如图像ni,j)以后,缓冲器的预测占用量(也可以称为缓冲器新的占用量,或缓冲器的预测占用量)由图像ni,j实际产生的比特数A(ni,j)和缓冲器的当前占用量,以及编码器编码一帧的时长内信道能传输的数据量确定。当遇到连续高复杂度编码帧时,需要采用跳帧技术来避免缓冲器新的占用量过高,甚至是溢出。跳帧的数量Npost初始化为0,然后不断增加,直到满足下面的条件:
Figure BDA0003040056490000111
其中,在上述公式(21)中,
Figure BDA0003040056490000112
表示预测的编码图像
Figure BDA0003040056490000113
后缓冲器的占用量,j表示启始跳帧的帧序号;j+Npost表示需求丢弃的图像帧。
缓冲器的占用量可以通过下述的公式(22)计算:
Bc(ni,j+l+1)=Bc(ni,j+l)-u(ni,j+l)/Fr;1≤l<Npost; (22)
其中,上述公式(22)中,j表示启始跳帧的帧序号,l为正整数。
综上所述,根据上述的公式(12)至公式(17)可知,若一个GOP中不存在B帧,则JVT-G012码率控制算法在进行比特分配时,在帧层面不考虑各P帧之间的编码复杂度。也就是说,假设同一GOP中各P帧的编码复杂度相同,并为各P帧平均分配编码资源。但在实际视频序列中,各帧的编码复杂度会随各帧包含运动的幅度和多少而变化,采用平均分配策略不仅会引起GOP内部各帧PSNR曲线的波动,还会导致整个序列平均PSNR的下降,降低了整个视频编码的质量。
在码率控制中,准确的估计控制对象的编码复杂度是进行合理有效资源分配的基础。在JVT-G012中,假设同一GOP中各P帧的编码复杂度相同,为各P帧平均分配编码资源。而在实际视频中,视频中的各帧图像的编码复杂度会随各帧图像包含运动的幅度和多少而变化,采用平均分配的策略会导致压缩后视频质量的波动。针对以上问题,申请实施例提出了一种基于编码复杂度的视频编码方法,对JVT-G012方法中帧层码率控制中,计算P帧的比特数步骤进行了优化。
具体的,本申请实施例提供的视频编码方法在待编码视频的一个图像组GOP内,根据编码复杂度进行帧层的比特分配,从低复杂度帧编码上节省编码比特,并将之用于高复杂度帧编码,如此可以在保持平均编码码率接近目标码率的前提下,减小图像组中的各帧图像PSNR曲线的波动,从而可以提高编码后的视频的质量。
为了使视频序列中各帧图像编码后的画面质量更接近彼此,需要根据编码复杂度为各帧图像分配合适的编码比特数,这种比特数分配通常是在各个GOP内部进行的。在同一GOP中的不同图像间进行比特分配,需要知道图像之间的编码相对复杂度,并根据编码相对复杂度计算一个加权参数以修正在JVT-G012帧层码率控制中采取平均分配策略分配的比特数。
本申请实施例提供一种视频编码方法,如图4所示,该方法可以包括下述的步骤101和步骤102。下面以视频编码装置为执行主体为例对该方法进行示例性说明。
步骤101、视频编码装置根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数。
步骤102、视频编码装置基于第二比特数,编码第一图像。
其中,第一比值为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值。第一图像为目标图像组中未编码的第一帧图像,上述M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码的图像的数量,M可以为大于1的整数。
本申请实施例中,第二比特数为视频编码装置配置给第一图像的比特数,即第二比特数为第一图像的目标比特数。
本申请实施例中,第一比值可以用于表示待编码的第一图像相对于目标图像组中已编码的M帧第二图像的相对编码复杂度。
需要说明的是,第一图像、M个第二图像和第一数量,根据目标图像组的编码进度确定。
例如,假设目标图像组包括10帧图像,分别为图像1、图像2、图像3、图像4、图像5、图像6、图像7、图像8、图像9和图像10,且图像3为最近一次编码的图像,那么:第一图像为图像4,该M(M=3)个第二图像包括图像1、图像2和图像3,第一数量为7。且在完成对编码图像4的编码之后,图像5成目标图像组中未编码的第一帧图像,从而视频编码装置可以将图像5作为新的第一图像,并重新执行上述步骤101和步骤102,以此类推,直至完成对图像10的编码。然后,视频编码装置可以继续编码下一个图像组。
本申请实施例提供的视频编码方法中,由于第一比值可以指示第一图像与目标图像组中已编码的M帧第二图像之间的相对编码复杂度,即本申请实施例提供的视频编码方法可以根据目标图像组中待编码图像与已编码图像之间的相对编码复杂度、目标图像组中剩余的比特数和目标图像组中剩余的帧数,确定编码待编码图像的比特数,因此可以实现从目标图像组中的低编码复杂度的图像节省编码比特,并将节省的编码比特用于对高编码复杂度的图像的编码,如此可以在保持平均编码码率接近目标码率(平均编码码率)的前提下,减小像组中的各帧图像PSNR曲线的波动,从而可以提高编码后的视频的质量。
可选地,本申请实施例中,上述步骤101具体可以通过下述的步骤101a和步骤101b实现。
步骤101a、视频编码装置通过第一比值,确定与第一比值对应的加权参数。
可选地,假设目标图像组为需求编码的视频中的第i个GOP,第一图像为目标图像组中的第j帧图像,第一比值为MADratio(ni,j),那么可以通过下述的公式(23)计算加权参数WMAD(ni,j):
WMAD(ni,j)=a+b·(MADratio(ni,j)-a); (23)
其中,在上述公式(23)中,a和b是根据可用信道资源(例如编码第一图像前的可用信道传输速率)和目标图像组的编码复杂程度设定的两个编码参数;a代表目标图像组的平均编码复杂度,b是对加权参数WMAD(ni,j)调整的幅值。
可选地,本申请实施例中,上述公式(23)中a和b为常数,例如,a=1.1,b=3.5。当然,实际实现中,a和b还可以为其他取值,例如,a=1.1±0.5,b=3.5±1。
考虑到缓冲器大小Bs的限制,需要进一步约束加权参数WMAD(i)的值:
WMAD(ni,j)=min{Shigh,max{Slow,WMAD(ni,j)}}; (24)
其中,在上述公式(24)中,Shigh表示缓冲器的调整范围的上边界,用于避免高复杂度帧过分占用编码资源。Slow表示缓冲器的调整范围的下边界,用于避免低复杂度帧占用的编码资源太少而导致的视频质量下降。
可以理解,Shigh取值过大会导致高复杂度图像过度使用编码资源而影响后续帧的编码质量,Shigh取值过小会限制分配给高复杂度图像的编码资源,影响其编码质量的提升。Slow取值过大会影响在编码复杂度较低的图像时进行的资源节约,Slow取值过小又可能使某些图像因为分配得到的编码资源太少而导致编码质量急剧下降。
可选地,本申请实施例中,Shigh和Slow的值可以为常数,例如,可以为Shigh=1.5,Slow=0.45。
步骤101b、视频编码装置根据加权参数、第一比特数和第一数量,确定编码第一图像的第二比特数。
可选地,本申请实施例中,假设为需求编码的视频中的第i个GOP,目标第一图像为图像组中的第i帧图像,那么编码第一图像ni,j的第二比特数Tc(ni,j)为:
Figure BDA0003040056490000131
其中,在上述公式(25)中,Tr(ni,j)是编码第一图像前目标图像组中剩余可用的比特数,G(ni,j)是编码第一图像前目标图像组中未编码的帧总数,WMAD(ni,j)是与第一比特数对应的加权参数。
本申请实施例中,由于可以先确定与表示第一图像与目标图像组中已编码的图像的相对编码复杂度的第一比值对应的加权参数,然后再根据该加权参数、剩余比特数和未编码图像的数量,确定编码第一图像的比特数,即可以基于图像组中的各帧图像之间的相对编码复杂度确定编码图像的比特数,因此相对于平均分配的方法确定编码图像的比特数的方案,本申请实施例提供的视频编码方法可以较好地抑制编码后帧间视频质量的波动。
可选地,本申请实施例中,可以根据待编码图像(例如上述第一图像)与已编码图像之间的相对编码复杂度、剩余比特数、剩余帧数和缓冲器状态,确定编码待编码图像的比特数,如此可以避免缓冲器占用量发生上溢和下溢。
可选地,本申请实施例中,上述步骤101具体可以通过下述的步骤101c实现。
步骤101c、视频编码装置根据第一比值、第一比特数、第一数量和目标参数,确定编码第一图像的第二比特数。
其中,目标参数包括缓冲器的估计占用量、缓冲区的实际占用量、编码帧率和编码第一图像前的可用信道传输速率。对于CBR信道,编码每帧图像前的可用信道传输速率相同。
本申请实施例中,由于可以根据第一比值、第一比特数、第一数量和目标参数,确定编码第一图像的第二比特数,因此抑制帧间编码质量的波动,而且可以避免缓冲器的占用量发生上溢或下溢。如此可以进一步提高编码后视频的质量。
可选地,本申请实施例中,上述步骤101c具体可以通过下述的步骤A和步骤B实现。
步骤A、视频编码装置根据第一比值、第一比特数和第一数量,确定第三比特数。
可以理解,步骤A是基于目标图像组中的图像之间的相对编码复杂度,确定编码第一图像的比特数的。
本申请实施例中,视频编码装置可以先根据第一比值,确定与第一比值对应的加权参数,然后再根据该加权参数、第一比特数和第一质量,确定第三比特数,参见上述公式(25)。具体可以参见步骤101a和步骤101b的相关描述,为了避免重复此处不再赘述。
步骤B、视频编码装置根据目标参数,确定第四比特数。
可以理解,本申请实施例中,第四比特数是基于编码器的占用量确定编码第一图像的比特数。
示例性地,假设第一图像为第i个图像组中的第j帧图像,那么为避免编码器发生上溢和下溢,可以从编码器缓冲器占用量角度确定编码当前帧的第四比特数
Figure BDA0003040056490000141
Figure BDA0003040056490000142
其中,在上述公式(26)中,u(ni,j)表示编码第一图像前的可用信道传输速率,Fr为编码帧率;γ1为一个常量,其值为0.75。
步骤C、视频编码装置将第三比特数和第四比特数进行加权求和,得到第二比特数。
保持编码器缓冲区占用量稳定下降和提升编码后视频的质量之间存在矛盾,这种矛盾的根源在于视频序列中各帧的编码复杂度不同。为了达到与相对编码复杂度较低的图像一致的视频质量,相对编码复杂度较高的图像需要更多的编码资源。因此,综合考虑缓冲器占用量和编码后视频的质量,可以确定最终确定编码第一图像的比特数为Tc(ni,j),具体为:
Figure BDA0003040056490000143
其中,在上述公式(27)中,
Figure BDA0003040056490000144
为最终确定的编码第一图像的比特数,Tc(ni,j)是从相对编码复杂度角度确定的编码第一图像的比特数(具体参见上述公式(25)),
Figure BDA0003040056490000151
是从编码器缓冲占用量角度确定的编码第一图像的比特数(具体参见上述公式(26)),β1是一个加权参数,该参数决定了在确定编码图像的比特数时时考虑两方面的程度。β1为一个常数,其取值范围为
Figure BDA0003040056490000157
本申请实施例中,由于可以分别从相对编码复杂度角度确定编码第一图像的第三比特数,且从缓冲器占用量角度确定编码第一图像的第四比特数,并将第三比特数和第四比特数的权值之和,作为最终编码第一图像的比特数,因此不但可以高复杂度图像编码后的质量,而且可以提高目标图像组内部各帧图像的PSNR曲线的平滑度,减小PSNR曲线的波动,从而可以提高编码后的整个视频序列的平均PSNR。如此可以提高编码后的视频的质量。
可选地,本申请实施例中,上述步骤102具体可以通过下述的步骤102a和步骤102b实现。
步骤102a、视频编码装置基于第二比特数和第一图像的预测编码复杂度,通过二次率失真模型,确定第一图像的量化参数(以下称为目标量化参数)。
步骤102b、视频编码装置按照目标量化参数,编码第一图像。
可选地,第一图像的预测编码复杂度由第一图像的预测MAD值表示,第一图像的预测MAD值根据第一图像的前一帧图像(以下称为第三图像)的实际MAD值,通过线性预测模型预测得到;然后根据第一图像的预测编码复杂度、第三图像的实际编码复杂度,通过二次率失真模型,预测得到目标量化参数。
具体的,假设第一图像为需求编码的视频中的第i个图像组中的第j帧图像,i,j均为正整数;那么目标量化参数
Figure BDA0003040056490000152
可以通过下述的公式(28)预测得到。
Figure BDA0003040056490000153
其中,在公式(28)中,f(ni,j)为编码第一图像的比特数,d1和d2为二次率失真模型的参数,且d1和d2均为常数,MADpredict(ni,j)表示第一图像的预测编码复杂度。
为了保证编码后的视频的质量的连续性,相邻两帧图像的量化参数的差值应不大于a0(例如a0=2),从而将目标量化参数调整为
Figure BDA0003040056490000154
Figure BDA0003040056490000155
其中,在上述公式(29)中,Qpp为第三图像的量化参数(编码第三图像后即可得到)。如此,最终将目标量化参数限制为:
Figure BDA0003040056490000156
本申请实施例中,编码时采用的基本单元BU不同,视频编码装置按照目标量化参数编码第一图像的方法也可能不同。具体的,当基本单元BU为一帧图像时,视频编码装置可以直接采用目标编码参数编码第一图像。当基本单元BU为至少一个宏块,且至少一个宏块的数量小于一帧图像中包括的宏块的数量)时,视频编码装置在执行步骤102a之后,需要进行基本层(即BU层)的码率控制。
下面对视频编码装置进行BU层码率控制的方法进行示例行地说明。
对于图像组中的I帧和B帧,一帧图像内所有的宏块MB都采用同一个量化参数进行编码,例如均采用该图像的量化参数进行编码。因此,BU层的码率控制主要对象是图像组中的P帧。
对于图像组中的每个P帧,需要先将一个P帧分配到的比特数,分配给该P帧中的每个BU。因为当前P帧中尚未编码的基本单元的MAD值(即编码复杂度)是未知的,所以可以当前P帧中剩余的可用比特数平均分配给当前P帧中未编码的基本单元。
BU层码率控制算法可以包括如下五步:
步骤1,计算待编码BU的目标比特数,即向该带编码BU分配比特数。
具体的,对于目标图像组中的第i帧图像(i为大于1的整数),令第i帧图像中剩余的比特数为frb(ni,j),剩余的BU的数量为Nub;其中,frb(ni,j)和Nub的初始值为f(ni,j)和Nunit,f(ni,j)为第i帧图像分配到的全部比特数,Nunit为第i帧图像中的全部BU的数量;那么,第i帧图像中未编码的第一个BU分配到的比特数为frb/Nub
步骤2,计算第i帧图像中第c个BU的头估计比特数mh,c为正整数,且第c个BU为第i帧图像中未编码的第一个BU。
Figure BDA0003040056490000161
其中,在上述公式(31)中,c=1,2...,...Nunit,
Figure BDA0003040056490000162
为图像0中已编码的第c个BU的实际编码比特数,
Figure BDA0003040056490000163
为图像0中,已编码前c-1个BU的平均编码比特数,c为正整数。
步骤3:计算第i帧图像中第c个BU的残差系数编码比特数Ri(c):
Figure BDA0003040056490000164
步骤4:根据MAD线性预测模型,由目标BU的MAD值预测得到第i个图像中的第c个BU的MAD值(即第c个BU的预测MAD值),目标BU为第i-1帧图像中位置与第i帧图像中的第c个BU的位置相对应的BU,且目标BU已经完成编码;再根据第c个BU的预测MAD值,利用二项式率失真模型计算出编码量化步长,其中,二项式率失真模型为:
Figure BDA0003040056490000165
其中,在上述公式(33)中,σi(c)为第c个BU的预测MAD值,Qstep,i(j)为二项式率失真模型计算得到的量化步长。可以将量化步长转换为量化参数QP,具体可以根据实际使用需求确定。
步骤5:根据计算出的量化参数,对第c个BU中所有的宏块进行率失真优化的编码,并在编码完成之后更新第i帧图像的剩余比特数、MAD线性预测模型的参数和二项式率失真模型的参数。具体可以参考上述实施例中的相关描述。
可选地,本申请实施例中,在上述步骤101之前,本申请实施例提供的视频编码方法还可以包括下述的步骤103。
步骤103、视频编码装置根据第一图像的预测编码复杂度和M帧第二图像的平均编码复杂度,确定第一比值。
本申请实施例中,第一图像的预测编码复杂度由第一图像的预测MAD值表示,M帧第二图像的平均编码复杂度可以由M个第二图像的平均MAD值表示。从而,第一比值MADratio(j)可以通过下述的公式(26)计算:
Figure BDA0003040056490000171
在上述公式(34)中,MADratio(j)是当前GOP中第j个P帧的MADratio值;MADpredict(j)是通过MAD线性预测模型预测的第j个P帧MAD值;MADactual(o)是当前GOP(例如目标图像组)中编码完第o帧后计算得到的实际MAD值。
Figure BDA0003040056490000172
表示目标图像组中已编码的前j-1个P帧的平均编码复杂度。
本申请实施例中,由于在为一帧图像分配比特数时,可以参考该图像所在GOP中已编码的图像的平均编码复杂度,因此可以确保相同GOP中的图像编码后的视频质量更接近彼此,从而可以减小相同GOP内部各帧图像的峰值信噪比曲线的波动,如此可以提高编码后视频的质量。
需要说明的是,本申请实施例提供的视频编码方法,执行主体可以为视频编码装置,或者该视频编码装置中的用于执行视频编码方法的控制模块。本申请实施例中以视频编码装置执行视频编码方法为例,说明本申请实施例提供的视频编码装置。
图5为实现本申请实施例提供的一种视频编码装置的可能的结构示意图,如图5所示,视频编码装置50可以包括:确定模块51和编码模块52。确定模块51,可以用于根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;编码模块52,可以用于基于确定模块51确定的第二比特数,编码第一图像;其中,第一比值可以为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值,第一图像为目标图像组中未编码的第一帧图像,该M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码图像的数量,M为大于1的整数。
可选地,本申请实施例中,确定模块51,具体可以用于通过第一比值,确定与第一比值对应的加权参数;并根据加权参数、第一比特数和第一数量,确定编码第一图像的第二比特数。
可选地,本申请实施例中,确定模块51,具体可以用于根据第一比值、第一比特数、第一数量和目标参数,确定编码第一图像的第二比特数;其中,目标参数包括:缓冲区的估计占用量、缓冲区的实际占用量、编码帧率和编码第一图像前的可用信道传输速率。
可选地,本申请实施例中,上述确定模块51可以包括第一确定子模块和处理子模块;第一确定子模块,可以用于根据第一比值、第一比特数和第一数量,确定第三比特数;并根据目标参数,确定第四比特数;处理子模块,可以用于将第一确定子模块确定的第三比特数和第四比特数进行加权求和,得到第二比特数。
可选地,本申请实施例中,编码模块52可以包括第二确定子模块和编码子模块;
第二确定子模块,可以用于基于第二比特数和第一图像的预测编码复杂度,通过二次率失真模型,确定第一图像的量化参数;
编码子模块,可以用于按照第二确定子模块确定的量化参数,编码第一图像。
可选地,本申请实施例中,确定模块51,还可以用于在根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数之前,根据第一图像的预测编码复杂度和M帧第二图像的平均编码复杂度,确定第一比值。
本申请实施例提供的视频编码装置中,由于第一比值可以指示第一图像与目标图像组中已编码的所M帧第二图像之间的相对编码复杂度,即本申请实施例提供的视频编码方法可以根据目标图像组中待编码图像与已编码图像之间的相对编码复杂度、目标图像组中剩余的比特数和目标图像组中剩余的帧数,确定编码待编码图像的比特数,因此可以实现从目标图像组中的低编码复杂度的图像节省编码比特,并将节省的编码比特用于对高编码复杂度的图像的编码,从而可以在保持平均编码码率接近目标码率(平均编码码率)的前提下,减小图像组中的各帧图像PSNR曲线的波动,进而可以提高编码后的视频的质量。
本实施例中各种实现方式具有的有益效果具体可以参见上述方法实施例中相应实现方式所具有的有益效果,为避免重复,此处不再赘述。
本申请实施例中的视频编码装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为网络附属存储器(Network AttachedStorage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的视频编码装置可以为具有操作***的装置。该操作***可以为安卓(Android)操作***,可以为ios操作***,还可以为其他可能的操作***,本申请实施例不作具体限定。
本申请实施例提供的视频编码装置能够实现图1至图4的方法实施例实现的各个过程,为避免重复,这里不再赘述。
如图6所示,本申请实施例还提供一种电子设备200,包括处理器202,存储器201,存储在存储器201上并可在处理器202上运行的程序或指令,该程序或指令被处理器202执行时实现上述截屏方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图7为实现本申请实施例的一种电子设备的硬件结构示意图。
如图7所示,电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理***与处理器1010逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器1010,可以用于根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;且基于第二比特数,编码第一图像;其中,第一比值可以为第一图像的预测编码复杂度与M帧第二图像的实际编码复杂度的比值,第一图像为目标图像组中未编码的第一帧图像,该M帧第二图像为目标图像组中已编码的图像;第一比特数为目标图像组中剩余的比特数,第一数量为目标图像组中未编码图像的数量,M为大于1的整数。
可选地,本申请实施例中,处理器1010,具体可以用于通过第一比值,确定与第一比值对应的加权参数;并根据加权参数、第一比特数和第一数量,确定编码第一图像的第二比特数。
可选地,本申请实施例中,处理器1010,具体可以用于根据第一比值、第一比特数、第一数量和目标参数,确定编码第一图像的第二比特数;其中,目标参数包括:缓冲区的估计占用量、缓冲区的实际占用量、编码帧率和编码第一图像前的可用信道传输速率。
可选地,本申请实施例中,处理器1010,可以用于根据第一比值、第一比特数和第一数量,确定第三比特数;且根据目标参数,确定第四比特数;并将第三比特数和第四比特数进行加权求和,得到第二比特数。
可选地,本申请实施例中,处理器1010,可以用于基于第二比特数和第一图像的预测编码复杂度,通过二次率失真模型,确定第一图像的量化参数;且按照该量化参数,编码第一图像。
可选地,本申请实施例中,处理器1010,还可以用于在根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数之前,根据第一图像的预测编码复杂度和M帧第二图像的平均编码复杂度,确定第一比值。
本申请实施例提供的视频编码装置中,由于第一比值可以指示第一图像与目标图像组中已编码的所M帧第二图像之间的相对编码复杂度,即本申请实施例提供的视频编码方法可以根据目标图像组中待编码图像与已编码图像之间的相对编码复杂度、目标图像组中剩余的比特数和目标图像组中剩余的帧数,确定编码待编码图像的比特数,因此可以实现从目标图像组中的低编码复杂度的图像节省编码比特,并将节省的编码比特用于对高编码复杂度的图像的编码,从而可以在保持平均编码码率接近目标码率(平均编码码率)的前提下,减小图像组中的各帧图像PSNR曲线的波动,进而可以提高编码后的视频的质量。
本实施例中各种实现方式具有的有益效果具体可以参见上述方法实施例中相应实现方式所具有的有益效果,为避免重复,此处不再赘述。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和操作***。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述视频编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述视频编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种视频编码方法,其特征在于,所述方法包括:
根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;
基于所述第二比特数,编码所述第一图像;
所述根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数,包括:
通过所述第一比值,确定与所述第一比值对应的加权参数;
根据所述加权参数、所述第一比特数和所述第一数量,确定编码所述第一图像的所述第二比特数;
所述通过所述第一比值,确定与所述第一比值对应的加权参数之后,所述方法还包括:
基于缓冲区调整参数,约束所述加权参数,所述缓冲区调整参数包括:缓冲区的调整范围的上边界,缓冲区的调整范围的下边界;
其中,所述第一比值为所述第一图像的预测编码复杂度与M帧第二图像的平均编码复杂度的比值,所述第一图像为目标图像组中未编码的第一帧图像,所述M帧第二图像为所述目标图像组中已编码的图像;所述第一比特数为所述目标图像组中剩余的比特数,所述第一数量为所述目标图像组中未编码图像的数量,M为大于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数,包括:
根据所述第一比值、所述第一比特数、所述第一数量和目标参数,确定编码所述第一图像的所述第二比特数;
其中,所述目标参数包括:缓冲区的估计占用量、所述缓冲区的实际占用量、编码帧率和编码所述第一图像前的可用信道传输速率。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一比值、所述第一比特数、所述第一数量和目标参数,确定编码所述第一图像的所述第二比特数,包括:
根据所述第一比值、所述第一比特数和所述第一数量,确定第三比特数;
根据所述目标参数,确定第四比特数;
将所述第三比特数和所述第四比特数进行加权求和,得到所述第二比特数。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二比特数,编码所述第一图像,包括:
基于所述第二比特数和所述第一图像的预测编码复杂度,通过二次率失真模型,确定所述第一图像的量化参数;
按照所述量化参数,编码所述第一图像。
5.根据权利要求1所述的方法,其特征在于,所述根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数之前,所述方法还包括:
根据所述第一图像的预测编码复杂度和所述M帧第二图像的平均编码复杂度,确定所述第一比值。
6.一种视频编码装置,其特征在于,所述装置包括:确定模块和编码模块;
确定模块,用于根据第一比值、第一比特数和第一数量,确定编码第一图像的第二比特数;
所述编码模块,用于基于所述确定模块确定的所述第二比特数,编码所述第一图像;
所述确定模块,具体用于通过所述第一比值,确定与所述第一比值对应的加权参数;并根据所述加权参数、所述第一比特数和所述第一数量,确定编码所述第一图像的所述第二比特数;
所述确定模块,还用于在通过所述第一比值,确定与所述第一比值对应的所述加权参数之后,基于缓冲区调整参数,约束所述加权参数,所述缓冲区调整参数包括:缓冲区的调整范围的上边界,缓冲区的调整范围的下边界;
其中,所述第一比值为所述第一图像的预测编码复杂度与M帧第二图像的平均编码复杂度的比值,所述第一图像为目标图像组中未编码的第一帧图像,所述M帧第二图像为所述目标图像组中已编码的图像;所述第一比特数为所述目标图像组中剩余的比特数,所述第一数量为所述目标图像组中未编码图像的数量,M为大于1的整数。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于根据所述第一比值、所述第一比特数、所述第一数量和目标参数,确定编码所述第一图像的所述第二比特数;其中,所述目标参数包括:缓冲区的估计占用量、所述缓冲区的实际占用量、编码帧率和编码所述第一图像前的可用信道传输速率。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括第一确定子模块和处理子模块;
所述第一确定子模块,用于根据所述第一比值、所述第一比特数和所述第一数量,确定第三比特数;并根据所述目标参数,确定第四比特数;
所述处理子模块,用于将所述第一确定子模块确定的所述第三比特数和所述第四比特数进行加权求和,得到所述第二比特数。
9.根据权利要求6所述的装置,其特征在于,所述编码模块包括第二确定子模块和编码子模块;
所述第二确定子模块,用于基于所述第二比特数和所述第一图像的预测编码复杂度,通过二次率失真模型,确定所述第一图像的量化参数;
所述编码子模块,用于按照所述第二确定子模块确定的所述量化参数,编码所述第一图像。
10.根据权利要求6所述的装置,其特征在于,所述确定模块,还用于在根据所述第一比值、所述第一比特数和所述第一数量,确定编码所述第一图像的所述第二比特数之前,根据所述第一图像的预测编码复杂度和所述M帧第二图像的平均编码复杂度,确定所述第一比值。
11.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至5中任一项所述的视频编码方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至5中任一项所述的视频编码方法的步骤。
CN202110454418.XA 2021-04-26 2021-04-26 视频编码方法、装置和电子设备 Active CN113286145B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202110454418.XA CN113286145B (zh) 2021-04-26 2021-04-26 视频编码方法、装置和电子设备
KR1020237034885A KR20230155002A (ko) 2021-04-26 2022-04-25 비디오 코딩 방법, 장치 및 전자기기
PCT/CN2022/088950 WO2022228375A1 (zh) 2021-04-26 2022-04-25 视频编码方法、装置和电子设备
EP22794845.2A EP4333433A1 (en) 2021-04-26 2022-04-25 Video coding method and apparatus, and electronic device
JP2023564189A JP2024514348A (ja) 2021-04-26 2022-04-25 ビデオ符号化方法、装置と電子機器
US18/485,487 US20240040127A1 (en) 2021-04-26 2023-10-12 Video encoding method and apparatus and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110454418.XA CN113286145B (zh) 2021-04-26 2021-04-26 视频编码方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN113286145A CN113286145A (zh) 2021-08-20
CN113286145B true CN113286145B (zh) 2022-07-22

Family

ID=77275740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110454418.XA Active CN113286145B (zh) 2021-04-26 2021-04-26 视频编码方法、装置和电子设备

Country Status (6)

Country Link
US (1) US20240040127A1 (zh)
EP (1) EP4333433A1 (zh)
JP (1) JP2024514348A (zh)
KR (1) KR20230155002A (zh)
CN (1) CN113286145B (zh)
WO (1) WO2022228375A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113286145B (zh) * 2021-04-26 2022-07-22 维沃移动通信有限公司 视频编码方法、装置和电子设备
CN116708934B (zh) * 2023-05-16 2024-03-22 深圳东方凤鸣科技有限公司 一种视频编码处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188755A (zh) * 2007-12-14 2008-05-28 宁波中科集成电路设计中心有限公司 一种对实时视频信号在avs编码过程中vbr码率控制的方法
CN101895759A (zh) * 2010-07-28 2010-11-24 南京信息工程大学 一种h.264码率控制方法
CN101895758A (zh) * 2010-07-23 2010-11-24 南京信息工程大学 基于帧复杂度的h.264码率控制方法
CN102752591A (zh) * 2012-06-14 2012-10-24 南京信息工程大学 基于综合因子的h.264码率控制方法
CN108200431A (zh) * 2017-12-08 2018-06-22 重庆邮电大学 一种视频编码码率控制帧层比特分配方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1206864C (zh) * 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置
US7986731B2 (en) * 2004-02-06 2011-07-26 Apple Inc. H.264/AVC coder incorporating rate and quality controller
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
CN103051897B (zh) * 2012-12-26 2016-02-24 南京信息工程大学 一种h264视频编码码率控制方法
US10560696B2 (en) * 2018-06-25 2020-02-11 Tfi Digital Media Limited Method for initial quantization parameter optimization in video coding
CN113286145B (zh) * 2021-04-26 2022-07-22 维沃移动通信有限公司 视频编码方法、装置和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188755A (zh) * 2007-12-14 2008-05-28 宁波中科集成电路设计中心有限公司 一种对实时视频信号在avs编码过程中vbr码率控制的方法
CN101895758A (zh) * 2010-07-23 2010-11-24 南京信息工程大学 基于帧复杂度的h.264码率控制方法
CN101895759A (zh) * 2010-07-28 2010-11-24 南京信息工程大学 一种h.264码率控制方法
CN102752591A (zh) * 2012-06-14 2012-10-24 南京信息工程大学 基于综合因子的h.264码率控制方法
CN108200431A (zh) * 2017-12-08 2018-06-22 重庆邮电大学 一种视频编码码率控制帧层比特分配方法

Also Published As

Publication number Publication date
WO2022228375A1 (zh) 2022-11-03
EP4333433A1 (en) 2024-03-06
JP2024514348A (ja) 2024-04-01
KR20230155002A (ko) 2023-11-09
CN113286145A (zh) 2021-08-20
US20240040127A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
CN1910934B (zh) 自适应速率控制编码器
Lee et al. Scalable rate control for MPEG-4 video
JP5676705B2 (ja) 映像符号化規格に対応した映像レート制御の改善
US8406297B2 (en) System and method for bit-allocation in video coding
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
CN113766226A (zh) 图像编码方法、装置、设备及存储介质
KR20080031344A (ko) 가변 비트 속도 인코딩이 가능한 비디오 인코더를 위한속도 제어 방법, 모듈, 기기 및 시스템
CN108012163B (zh) 视频编码的码率控制方法及装置
KR20090075681A (ko) 절전 인자에 기초한 비디오 처리 복잡도 스케일링
JP2011525094A (ja) ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化
JP4764136B2 (ja) 動画像符号化装置、及びフェードシーン検出装置
CN113286145B (zh) 视频编码方法、装置和电子设备
JP2018516491A (ja) ディスプレイストリーム圧縮のためのレート制約フォールバックモード
US20120002724A1 (en) Encoding device and method and multimedia apparatus including the encoding device
KR100594056B1 (ko) 효율적인 비트율 제어를 위한 h.263/mpeg 비디오인코더 및 그 제어 방법
JP2000197049A (ja) 動画像可変ビットレート符号化装置および方法
Kannangara et al. Computational complexity management of a real-time H. 264/AVC encoder
KR20090017724A (ko) 동영상 부호화에 있어서 비트 발생 가능성 예측을 이용한블록 모드 결정 방법 및 장치
Yin et al. A rate control scheme for H. 264 video under low bandwidth channel
Tang et al. A low delay rate control method for screen content coding
Su et al. Real-time video coding under power constraint based on H. 264 codec
Wu et al. Rate control in video coding
Tsai Rate control for low-delay video using a dynamic rate table
Chen et al. Framework and Challenges: H. 265/HEVC Rate Control in Real-time Transmission over 5G Mobile Networks
KR100778473B1 (ko) 비트율 제어 방법

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