CN116527911A - 码率控制的方法及装置 - Google Patents
码率控制的方法及装置 Download PDFInfo
- Publication number
- CN116527911A CN116527911A CN202310437128.3A CN202310437128A CN116527911A CN 116527911 A CN116527911 A CN 116527911A CN 202310437128 A CN202310437128 A CN 202310437128A CN 116527911 A CN116527911 A CN 116527911A
- Authority
- CN
- China
- Prior art keywords
- relation
- buffer
- actual
- preset
- overflow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013139 quantization Methods 0.000 claims abstract description 136
- 238000013507 mapping Methods 0.000 claims abstract description 78
- 230000006870 function Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007906 compression Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种码率控制的方法及装置,所述方法包括:获取当前时刻编码缓存器的第一实际充溢度;通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;基于所述量化步长确定当前编码单元的量化参数。基于此,在待编码图像的编码难度升高时,缓冲编码缓存器的充溢度的波动以缓解缓存器的状态。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种码率控制的方法及装置。
背景技术
随着图像和视频应用的不断普及,视频压缩技术也在不断的迭代与创新。常见的视频压缩标准如显示流压缩(display streamcompression,DSC)标准、VESA显示流压缩-M(VESA display compression-M,VDC-M)标准、Apple ProRes编解码器和JPEG-XS标准等分别被广泛应用在高清多媒体接口(high definition multimedia interface,HDMI)、(display port,DP)等显示接口领域和图像视频等制作领域。一般的视频压缩标准的主要目的是在满足低延时、低复杂度和主观无损的条件下实现4~16倍的数据压缩。以较为通用的DSC编码标准为例,轻压缩编码框架主要包含有输入输出、缓存分片、预测、量化、重构、熵编码、码率控制和码流合成等模块,其他标准中可选地存在变换和其他特殊工具模块。其中,码率控制模块通过控制每帧或者每个编码单元的编码的量化参数(quantizationparameter,QP),使得输出的编码后视频码率满足各项具体限制要求。具体地,码率控制模块的主要功能是根据编码缓存器的充溢度和编码图像的纹理信息,做出量化决策,计算编码单元的量化步长和量化参数,保证缓存器既不发生上溢也不发生下溢,同时尽可能利用缓存器提高编码图像的质量。
通常情况下,可以基于缓存器的充溢度进行线性映射,确定编码单元的量化步长,但是这种方法不能在待编码图像的编码难度升高时,缓冲编码缓存器的充溢度的波动以缓解缓存器的状态。
发明内容
本发明提供一种码率控制的方法及装置,用以提供一种码率控制的方法,实现在待编码图像的编码难度升高时,缓冲编码缓存器的充溢度的波动以缓解缓存器的状态。
本发明提供一种码率控制的方法,包括:获取当前时刻编码缓存器的第一实际充溢度;通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;基于所述量化步长确定当前编码单元的量化参数。
在其中一个实施例中,通过对所述第一实际充溢度进行指数映射,确定量化步长,包括:获取编码缓存器的预设目标充溢度、预设惩罚系数的值;所述预设惩罚系数的值用于确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的相关关系;所述待分配的编码比特数与所述实际充溢度负相关,且所述待分配的编码比特数与所述预设目标充溢度正相关;基于所述预设目标充溢度及所述预设惩罚系数的值,确定指数映射的目标关系式;基于所述第一实际充溢度和所述指数映射的目标关系式,确定量化步长。
在其中一个实施例中,所述基于所述预设目标充溢度及所述预设惩罚系数的值,确定指数映射的目标关系式,包括:基于所述预设目标充溢度及所述预设惩罚系数的值,确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的第一关系式;基于所述第一关系式和预设的第二关系式,确定量化步长与编码缓存器的实际充溢度的第三关系式,并将所述第三关系式确定为所述指数映射的目标关系式;所述预设的第二关系式用于表示待分配的编码比特数及量化步长之间的关系。
在其中一个实施例中,所述第一关系式为:R=recover_ratio*(Fa-Ft),其中,R为待分配的编码比特数;recover_ratio为预设惩罚系数,其值为负数;Ft为预设目标充溢度;Fa表示经线性映射后的编码缓存器的实际充溢度,Fa对应的第四关系式为Fa=scale*(F+offset);其中,F为编码缓存器的实际充溢度,scale为预设的线性变化系数,offset为预设的偏置;所述第二关系式为:R=-alog(qstep)+b,a、b为基于统计得到的预设系数,且a、b均为正数;所述第三关系式为:其中,qstep表示量化步长,/>为指数映射的目标关系式中的指数函数,A=e(-recover_ratio/a),B=e((b+recover_ratio*Ft)/a)。
在其中一个实施例中,所述基于所述第一实际充溢度和所述指数映射的目标关系式,确定量化步长,包括:将所述第一实际充溢度作为编码缓存器的实际充溢度F,代入所述第四关系式,得到经线性映射后的第二实际充溢度;将所述第二实际充溢度作为经线性映射后的编码缓存器的实际充溢度Fa,代入所述第三关系式,确定量化步长。
本发明还提供一种码率控制的装置,包括:获取模块,用于获取当前时刻编码缓存器的第一实际充溢度;第一确定模块,用于通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;第二确定模块,用于基于所述量化步长确定当前编码单元的量化参数。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述码率控制的方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述码率控制的方法的步骤。
本发明提供的码率控制的方法及装置,通过通过对所述第一实际充溢度进行指数映射,确定量化步长,并且通过使指数映射的目标关系式中的指数函数的底数为大于1的数,使指数映射的目标关系式中的指数函数为单调递增的指数函数,从而在待编码图像编码难度升高,且编码缓存器的充溢度较小的情况下,量化步长与编码缓存器的充溢度相比成指数级的减小,从而相较于线性映射,使量化步长具有较大的下降幅度,进而使后续基于量化步长得到的量化参数值越小,量化越精细,图像质量越高,产生的码流也越长。从而能够在待编码图像编码难度升高,且编码缓存器的充溢度小的情况下,充分利用编码缓存器缓冲码流。同理,在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,量化步长与编码缓存器的充溢度相比成指数级的增大,从而相较于线性映射,使量化步长具有较大的上升幅度,进而使后续基于量化步长得到的量化参数值越大,量化的粗糙,产生的码流也越短,从而能够在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,适当地减少码流,防止编码缓存器缓存不足导致的画面卡顿。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的视频压缩方法的框架示意图;
图2是本发明提供的码率控制的方法的流程示意图之一;
图3是本发明提供的码率控制的方法的流程示意图之二;
图4是本发明提供的代编码图像的示意图;
图5是本发明提供的编码缓存器的充溢度的变化示意图;
图6是本发明提供的量化步长的变化示意图;
图7是本发明提供的码率控制的装置的结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,首先对本发明涉及的技术术语进行解释。
码率控制:码率控制技术是实际视频编码器中一个非常重要的技术模块。根据实际中各种具体应用场景的不同,比如:实时还是离线编码,传统的广播电视业务,还是互联网上的流媒体传输业务等,对视频编码器的输出码率也就有了多种不同的具体要求和限制,比如:平均还是最大目标码率,缓存器大小,初始延时等。码率控制就是针对各种不同应用业务场景,通过控制每帧或者每个编码单元的编码的量化参数,使得输出的编码后视频码率满足各项具体限制要求,同时编码性能,包括编码效率和主观质量,也尽可能地最优化。
码率:码率就是数据传输时单位时间传送的数据位数,单位是千位每秒(kilobitsper second,kbps)。
量化参数:量化参数反映了空间细节压缩情况。量化参数值越小,量化越精细,图像质量越高,产生的码流也越长。如QP小,大部分的细节都会被保留;QP增大,一些细节丢失,码率降低,但图像失真加强和质量下降。
下面结合图1-图8描述本发明的码率控制的方法及装置。
为了便于理解,图1示例性地给出了本发明的码率控制的方法的一个应用示例。以DSC编码标准为例,如图1所示,轻压缩编码框架主要包含有输入、缓存分片、平坦度测定、预测、量化、重构、熵编码、码率控制、码流合成、编码缓存器和输出等模块。其中,码率控制模块可以输出量化参数给平坦度测定模块以及预测、量化和重构模块,熵编码模块可以反馈编码比特数给码率控制模块,本发明的码率控制的方法主要可以应用于上述轻压缩编码框架中的码率控制模块。
可以理解,本发明除了可以应用于DSC,还可以应用于VDC-M、Apple ProRes和JPEG-XS等视频压缩方法中。
图2为本发明提供的码率控制的方法的流程示意图。可以理解,所述码率控制的方法可以应用于视频压缩领域,可以由码率控制装置执行,如图2所示,所述方法包括以下步骤:
步骤210,获取当前时刻编码缓存器的第一实际充溢度。
其中,当前时刻编码缓存器的第一实际充溢度为当前时刻编码缓存器的满度。
步骤220,通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数。
可以理解,通常情况下可以基于编码缓存器的充溢度进行线性映射,确定编码单元的量化步长,也就是说,这种方法的量化步长随着编码缓存器的充溢度的变化呈现线性变化,但是这种方法不能在待编码图像的编码难度升高时,缓冲编码缓存器的充溢度的波动以缓解缓存器的状态。即进一步存在如下问题:在待编码图像编码难度升高的情况下,若编码缓存器的充溢度较低,则不能充分利用编码缓存器缓冲码流,使图像质量较快出现下降;或者若编码缓存器的充溢度较高,则不能防止编码缓存器缓存不足导致的画面卡顿。
因此,本发明通过对所述第一实际充溢度进行指数映射,确定量化步长,并且使指数映射的目标关系式中的指数函数的底数为大于1的数,也即指数函数为单调递增的指数函数。也就是说,所述当前时刻编码缓存器的第一实际充溢度越小,量化步长越小,且量化步长与所述当前时刻编码缓存器的第一实际充溢度相比呈指数级减小;所述当前时刻编码缓存器的第一实际充溢度越大,量化步长越大,且量化步长与所述当前时刻编码缓存器的第一实际充溢度相比呈指数级增大。因此至少可以达到两方面的效果,第一,在待编码图像编码难度升高,且编码缓存器的充溢度较小的情况下,量化步长与编码缓存器的充溢度相比呈指数级的减小,从而相较于线性映射,使量化步长具有较大的下降幅度,进而使后续基于量化步长得到的量化参数值越小,量化越精细,图像质量越高,产生的码流也越长。从而能够在待编码图像编码难度升高,且编码缓存器的充溢度小的情况下,充分利用编码缓存器缓冲码流。第二,在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,量化步长与编码缓存器的充溢度相比成指数级的增大,从而相较于线性映射,使量化步长具有较大的上升幅度,进而使后续基于量化步长得到的量化参数值越大,量化的粗糙,产生的码流也越短,从而能够在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,适当地减少码流,防止编码缓存器缓存不足导致的画面卡顿。
步骤230,基于所述量化步长确定当前编码单元的量化参数。
可以理解,该过程可以参考现有技术。为了简洁,此处不再赘述。
本发明提供的码率控制方法,通过对所述第一实际充溢度进行指数映射,确定量化步长,并且通过使指数映射的目标关系式中的指数函数的底数为大于1的数,使指数映射的目标关系式中的指数函数为单调递增的指数函数,从而在待编码图像编码难度升高,且编码缓存器的充溢度较小的情况下,量化步长与编码缓存器的充溢度相比成指数级的减小,从而相较于线性映射,使量化步长具有较大的下降幅度,进而使后续基于量化步长得到的量化参数值越小,量化越精细,图像质量越高,产生的码流也越长。从而能够在待编码图像编码难度升高,且编码缓存器的充溢度小的情况下,充分利用编码缓存器缓冲码流。同理,在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,量化步长与编码缓存器的充溢度相比成指数级的增大,从而相较于线性映射,使量化步长具有较大的上升幅度,进而使后续基于量化步长得到的量化参数值越大,量化的粗糙,产生的码流也越短,从而能够在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,适当地减少码流,防止编码缓存器缓存不足导致的画面卡顿。
在其中一个实施例中,如图3所示,通过对所述第一实际充溢度进行指数映射,确定量化步长,包括以下步骤:
步骤310,获取编码缓存器的预设目标充溢度、预设惩罚系数的值。
其中,所述预设惩罚系数用于确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的相关关系;所述待分配的编码比特数与所述实际充溢度负相关,且所述待分配的编码比特数与所述预设目标充溢度正相关。
其中,编码缓存器的预设目标充溢度可以理解为是预设的能够保证编码缓存器处于适当的工作状态的目标充溢度。具体地,编码缓存器的预设目标充溢度可以基于实际应用情况确定,例如可以为0.25。待分配的编码比特数为即将为编码单元分配相应的编码比特数。
可以理解,为了使编码缓存器既不会太空闲又不会太满,因此,可以通过设置预设目标充溢度以确定一个期望的编码缓存器的缓存状态。并且,通过所述预设的惩罚系数,使所述待分配的编码比特数与所述实际充溢度负相关,且所述待分配的编码比特数与所述预设目标充溢度正相关,从而实现在编码缓存器的实际充溢度较大的情况下,少给编码单元分配相应的编码比特数;在编码缓存器的实际充溢度较小的情况下,多给编码单元分配相应的编码比特数,从而保证实现在待编码图像的编码难度升高时,缓冲编码缓存器的充溢度的波动以缓解缓存器的状态。也即实现在待编码图像编码难度升高的情况下,若缓存器的充溢度较低,则不能充分利用缓存器缓冲码流,使图像质量较快出现下降;或者若缓存器的充溢度较高,则不能防止缓存器缓存不足导致的画面卡顿。
步骤320,基于所述预设目标充溢度及所述预设惩罚系数的值,确定指数映射的目标关系式。
具体地,该步骤可以包括步骤3201和步骤3202。
步骤3201,基于所述预设目标充溢度及所述预设惩罚系数的值,确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的第一关系式。
在其中一个实施例,所述第一关系式为:R=recover_ratio*(Fa-Ft),其中,R为待分配的编码比特数;recover_ratio为预设惩罚系数,其值为负数;Ft为预设目标充溢度;Fa表示经线性映射后的编码缓存器的实际充溢度,Fa对应的第四关系式为Fa=scale*(F+offset);其中,F为编码缓存器的实际充溢度,scale为预设的线性变化系数,offset为预设的偏置。
其中,编码缓存器的实际充溢度为编码缓存器在实际应用中各个时刻对应的实际充溢度。
示例地,预设惩罚系数的值例如可以为-1.5。
步骤3202,基于所述第一关系式和预设的第二关系式,确定量化步长与编码缓存器的实际充溢度的第三关系式,并将所述第三关系式确定为所述指数映射的目标关系式。
其中,所述预设的第二关系式用于表示待分配的编码比特数及量化步长之间的关系。
可以理解,对第一关系式和预设的第二关系式进行联立,即可确定量化步长与编码缓存器的实际充溢度的第三关系式。
具体地,所述第二关系式可以为:R=-alog(qstep)+b,a、b为基于统计得到的预设系数,且a、b均为正数;所述第三关系式为:其中,qstep表示量化步长,为指数映射的目标关系式中的指数函数,A=e(-recover_ratio/a),B=e((b+recover_ratio*Ft)/a)。
具体地,a、b可以在图像数据集上通过统计确定,b等于无损(qstep=1)时的码率。示例性地,b=5.0,a=1.3。
可以理解,第二关系式中的对数函数可以是以e为底的对数,也可以是其他数为底的对数函数,在以其他数为底的对数函数的情况下,对应的,A和B为以其他数为底的指数函数。
可以理解,通常情况下,现在的概率模型通常认为待分配的编码比特数与量化步长的对数成正比,也就是说待分配的编码比特数与量化步长满足上述第二关系式。因此,结合第一关系式,即可确定量化步长与编码缓存器的实际充溢度对应的指数映射的目标关系式。
步骤330,基于所述第一实际充溢度和所述指数映射的目标关系式,确定量化步长。
其中,当前时刻编码缓存器的第一实际充溢度为编码缓存器当前时刻的实际充溢度。可以理解,当前时刻编码缓存器的第一实际充溢度为编码缓存器的实际充溢度中的一个。因此,基于所述当前时刻编码缓存器的第一实际充溢度,结合上述指数映射的目标关系式,即可确定量化步长。此外,还可以将当前时刻编码缓存器的第一实际充溢度进行线性映射,再确定量化步长。因此,具体地,该步骤330可以包括步骤3301和步骤3302。
步骤3301,将所述第一实际充溢度作为编码缓存器的实际充溢度F,代入所述第四关系式,得到经线性映射后的第二实际充溢度。
结合上文第四关系式,将所述第一实际充溢度作为编码缓存器的实际充溢度F,代入所述第四关系式Fa=scale*(F+offset),即可得到Fa。
步骤3302,将所述第二实际充溢度作为经线性映射后的编码缓存器的实际充溢度Fa,代入所述第三关系式,确定量化步长。
具体地,将第二实际充溢度作为Fa代入所述第三关系式即可确定量化步长。
为了便于理解,下面结合图4至图6说明本发明提供的码率控制的方法的效果。
图4为本发明提供的用于进行编码的原始图像。如图4所示,主要分为左、中、右三部分,每两个部分之间为空白区域。其中,左部分为线条图,中间部分为字母c组成的段落,右部分主要为字母x,右部分的第4行和第5行由其他字母以及数字组成。
图5为基于本发明提供的码率控制的方法对图4进行编码过程中的编码缓存器的充溢度的变化过程示意图。横坐标以及纵坐标表示图4所示图像的各个像素对应的坐标值,单位为1个像素,图5中明暗度表示各个像素点对应的编码缓存器的充溢度的值。编码缓存器的充溢度的值在0-1之间,0为最空,1为最满。图5中的左部分充溢度较高的白色对应图4中左部分的线条图,图5中的中间部分充溢度较高的白色对应图4中的字母c组成的段落,图5中的右部分充溢度较高的白色区域对应图4中的包含字母x的段落。并且,可以理解,有线条和字母的位置对应的编码难度较空白区域高。由于字母变化较大的位置包含的像素点相较于字母变化较小的位置的像素点有变化较大,因此,字母变化较大的位置的编码难度高于字母变化较小的位置。
因此,结合图4,从图5可以看出,一方面,在图像编码难度较低的区域向编码难度较高的区域切换时,编码缓存器的充溢度缓慢上升;例如,在右部分充溢度较高的白色区域中的第4行,由多个重复的字母x向不同数字及字母的组合过渡的区域的缓存器的充溢度缓慢上升。另一方面,在图像编码难度较高的区域向编码难度较低的区域切换时,编码缓存器的充溢度缓慢下降,例如,由左部分的线条图向其右边的空白区域过渡的区域,编码缓存器的充溢度缓慢下降。
图6为基于本发明提供的码率控制的方法对图4进行编码过程中的量化步长的变化过程示意图。同图5类似,横坐标以及纵坐标表示图4所示图像的各个像素对应的坐标值,单位为1个像素,图6中明暗度表示各个像素点对应的量化步长的值。图6中的左部分充溢度较高的白色对应图4中左部分的线条图,图6中的中间部分充溢度较高的白色对应图4中的字母c组成的段落,图6中的右部分充溢度较高的白色区域对应图4中的包含字母x的段落。并且,可以理解,有线条和字母的位置对应的编码难度较空白区域高,采用较大的量化步长,以达到编码质量和编码效率的平衡。由于由于字母变化较大的位置包含的像素点相较于字母变化较小的位置的像素点有很大的不同,因此,字母变化较大的位置的编码难度高于字母变化较小的位置,采用较大的量化步长,以达到编码质量和编码效率的平衡。
因此,结合图4,从图6可以看出,一方面,在图像编码难度较低的区域向编码难度较高的区域切换时,编码缓存器的量化步长缓慢上升;例如,在右部分充溢度较高的白色区域中的第4行,由多个重复的字母x向不同数字及字母的组合过渡的区域的量化步长缓慢上升。另一方面,在图像编码难度较高的区域向编码难度较低的区域切换时,量化步长缓慢下降,例如,由左部分的线条图向其右边的空白区域过渡的区域,量化步长缓慢下降。
此外,结合图5和图6还可以看出,量化步长随着编码缓存器的充溢度的增加具有明显的增加,随之变换缓存器的充溢度的减少有着明显的减小,因此相较于线性映射,在待编码图像的编码难度升高时,能够缓冲编码缓存器的充溢度的波动以缓解缓存器的状态。能实现在待编码图像编码难度升高的情况下,若缓存器的充溢度较低,量化步长的减小幅度与缓存器的充溢度的减小幅度相比较大,能充分利用缓存器缓冲码流,提高图像的质量;或者若缓存器的充溢度较高,量化步长的增大幅度与缓存器的充溢度的增大幅度相比较大,提高编码的效率,能防止缓存器缓存不足导致的画面卡顿。
下面对本发明提供的码率控制的装置进行描述,下文描述的码率控制的装置与上文描述的码率控制的方法可相互对应参照。
图7是本发明提供的码率控制的装置的示意图,如图7所示,本发明实施例提供的码率控制的装置,包括:
获取模块710,用于获取当前时刻编码缓存器的第一实际充溢度;
第一确定模块720,用于通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;
第二确定模块730,用于基于所述量化步长确定当前编码单元的量化参数。
本发明提供的码率控制的装置,通过对所述第一实际充溢度进行指数映射,确定量化步长,并且通过使指数映射的目标关系式中的指数函数的底数为大于1的数,使指数映射的目标关系式中的指数函数为单调递增的指数函数,从而在待编码图像编码难度升高,且缓存器的充溢度较小的情况下,量化步长与编码缓存器的充溢度相比成指数级的减小,从而相较于线性映射,使量化步长具有较大的下降幅度,进而使后续基于量化步长得到的量化参数值越小,量化越精细,图像质量越高,产生的码流也越长。从而能够在待编码图像编码难度升高,且编码缓存器的充溢度小的情况下,充分利用编码缓存器缓冲码流。同理,在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,量化步长与编码缓存器的充溢度相比成指数级的增大,从而相较于线性映射,使量化步长具有较大的上升幅度,进而使后续基于量化步长得到的量化参数值越大,量化的粗糙,产生的码流也越短,从而能够在待编码图像编码难度升高,且编码缓存器的充溢度较大的情况下,适当地减少码流,防止编码缓存器缓存不足导致的画面卡顿。
在其中一个实施例中,第一确定模块720包括:
获取单元,用于获取编码缓存器的预设目标充溢度、预设惩罚系数的值;所述预设惩罚系数的值用于确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的相关关系;所述待分配的编码比特数与所述实际充溢度负相关,且所述待分配的编码比特数与所述预设目标充溢度正相关;
第一确定单元,用于基于所述预设目标充溢度及所述预设惩罚系数的值,确定指数映射的目标关系式;
第二确定单元,用于基于所述第一实际充溢度和所述指数映射的目标关系式,确定量化步长。
在其中一个实施例中,所述第一确定单元包括:
第三确定单元,用于基于所述预设目标充溢度及所述预设惩罚系数的值,确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的第一关系式;
第四确定单元,用于基于所述第一关系式和预设的第二关系式,确定量化步长与编码缓存器的实际充溢度的第三关系式,并将所述第三关系式确定为所述指数映射的目标关系式;所述预设的第二关系式用于表示待分配的编码比特数及量化步长之间的关系。
在其中一个实施例中,所述第一关系式为:R=recover_ratio*(Fa-Ft),其中,R为待分配的编码比特数;recover_ratio为预设惩罚系数,其值为负数;Ft为预设目标充溢度;Fa表示经线性映射后的编码缓存器的实际充溢度,Fa对应的第四关系式为Fa=scale*(F+offset);其中,F为编码缓存器的实际充溢度,scale为预设的线性变化系数,offset为预设的偏置;所述第二关系式为:R=-alog(qstep)+b,a、b为基于统计得到的预设系数,且a、b均为正数;所述第三关系式为:其中,qstep表示量化步长,/>为指数映射的目标关系式中的指数函数,A=e(-recover_ratio/a),B=e((b+recover_ratio*Ft)/a)。
在其中一个实施例中,所述第二确定单元包括:
第一处理单元,用于将所述第一实际充溢度作为编码缓存器的实际充溢度F,代入所述第四关系式,得到经线性映射后的第二实际充溢度;
第二处理单元,用于将所述第二实际充溢度作为经线性映射后的编码缓存器的实际充溢度Fa,代入所述第三关系式,确定量化步长。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行码率控制的方法,该方法包括:获取当前时刻编码缓存器的第一实际充溢度;通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;基于所述量化步长确定当前编码单元的量化参数。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行本发明提供的码率控制的方法,该方法包括:获取当前时刻编码缓存器的第一实际充溢度;通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;基于所述量化步长确定当前编码单元的量化参数。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行本发明提供的码率控制的方法,该方法包括:获取当前时刻编码缓存器的第一实际充溢度;通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;基于所述量化步长确定当前编码单元的量化参数。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
可以理解,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种码率控制的方法,其特征在于,包括:
获取当前时刻编码缓存器的第一实际充溢度;
通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;
基于所述量化步长确定当前编码单元的量化参数。
2.根据权利要求1所述的码率控制的方法,其特征在于,通过对所述第一实际充溢度进行指数映射,确定量化步长,包括:
获取编码缓存器的预设目标充溢度、预设惩罚系数的值;所述预设惩罚系数用于确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的相关关系;所述待分配的编码比特数与所述实际充溢度负相关,且所述待分配的编码比特数与所述预设目标充溢度正相关;
基于所述预设目标充溢度及所述预设惩罚系数的值,确定指数映射的目标关系式;
基于所述第一实际充溢度和所述指数映射的目标关系式,确定量化步长。
3.根据权利要求2所述的码率控制的方法,其特征在于,所述基于所述预设目标充溢度及所述预设惩罚系数的值,确定指数映射的目标关系式,包括:
基于所述预设目标充溢度及所述预设惩罚系数的值,确定待分配的编码比特数与编码缓存器的实际充溢度、所述预设目标充溢度之间的第一关系式;
基于所述第一关系式和预设的第二关系式,确定量化步长与编码缓存器的实际充溢度的第三关系式,并将所述第三关系式确定为所述指数映射的目标关系式;所述预设的第二关系式用于表示待分配的编码比特数及量化步长之间的关系。
4.根据权利要求3所述的码率控制的方法,其特征在于,所述第一关系式为:R=recover_ratio*(Fa-Ft),其中,R为待分配的编码比特数;recover_ratio为预设惩罚系数,其值为负数;Ft为预设目标充溢度;Fa表示经线性映射后的编码缓存器的实际充溢度,Fa对应的第四关系式为Fa=scale*(F+offset);其中,F为编码缓存器的实际充溢度,scale为预设的线性变化系数,offset为预设的偏置;
所述第二关系式为:R=-alog(qstep)+b,a、b为基于统计得到的预设系数,且a、b均为正数;
所述第三关系式为:其中,qstep表示量化步长,/>为指数映射的目标关系式中的指数函数,A=e(-recover_ratio/a),B=e((b+recover_ratio*Ft)/a)。
5.根据权利要求4所述的码率控制的方法,其特征在于,所述基于所述第一实际充溢度和所述指数映射的目标关系式,确定量化步长,包括:
将所述第一实际充溢度作为编码缓存器的实际充溢度F,代入所述第四关系式,得到经线性映射后的第二实际充溢度;
将所述第二实际充溢度作为经线性映射后的编码缓存器的实际充溢度Fa,代入所述第三关系式,确定量化步长。
6.一种码率控制的装置,其特征在于,包括:
获取模块,用于获取当前时刻编码缓存器的第一实际充溢度;
第一确定模块,用于通过对所述第一实际充溢度进行指数映射,确定量化步长;所述指数映射的目标关系式中的指数函数的底数为大于1的数;
第二确定模块,用于基于所述量化步长确定当前编码单元的量化参数。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述码率控制的方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述码率控制的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310437128.3A CN116527911A (zh) | 2023-04-21 | 2023-04-21 | 码率控制的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310437128.3A CN116527911A (zh) | 2023-04-21 | 2023-04-21 | 码率控制的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116527911A true CN116527911A (zh) | 2023-08-01 |
Family
ID=87402309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310437128.3A Pending CN116527911A (zh) | 2023-04-21 | 2023-04-21 | 码率控制的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527911A (zh) |
-
2023
- 2023-04-21 CN CN202310437128.3A patent/CN116527911A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101844732B1 (ko) | 신호 재정형 근사화 | |
US9716891B2 (en) | Quantization method and apparatus in encoding/decoding | |
CN110662044B (zh) | 一种视频编码方法、视频编码装置及计算机存储介质 | |
US10887365B2 (en) | System and methods for bit rate control | |
WO2021129007A1 (zh) | 视频码率的确定方法、装置、计算机设备及存储介质 | |
CN111131828B (zh) | 一种图像压缩方法、装置、电子设备和存储介质 | |
US10536696B2 (en) | Image encoding device and image encoding method | |
CN111556315A (zh) | 数据传输方法及装置 | |
WO2020244328A1 (zh) | 图像处理方法及装置 | |
CN107820084B (zh) | 一种视频感知编码方法及装置 | |
CN115474062B (zh) | 一种提高jpeg压缩质量的方法、系统、芯片以及电子设备 | |
US11825088B2 (en) | Adaptively encoding video frames based on complexity | |
CN116527911A (zh) | 码率控制的方法及装置 | |
CN109413445B (zh) | 一种视频传输方法及装置 | |
CN108737826B (zh) | 一种视频编码的方法和装置 | |
CN115567712A (zh) | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 | |
EP1841237B1 (en) | Method and apparatus for video encoding | |
CN113630600A (zh) | 人类视觉系统自适应视频编码 | |
CN109618155B (zh) | 压缩编码方法 | |
CN116248895B (zh) | 虚拟现实全景漫游的视频云转码方法及系统 | |
CN112422964B (zh) | 一种渐进式编码方法及装置 | |
US12022096B2 (en) | Human visual system adaptive video coding | |
US11272185B2 (en) | Hierarchical measurement of spatial activity for text/edge detection | |
CN116506617B (zh) | 图像浅压缩码率控制方法及装置 | |
CN116016925A (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 |