CN115314722B - 一种视频码率分配方法、系统、设备及存储介质 - Google Patents
一种视频码率分配方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN115314722B CN115314722B CN202210693262.5A CN202210693262A CN115314722B CN 115314722 B CN115314722 B CN 115314722B CN 202210693262 A CN202210693262 A CN 202210693262A CN 115314722 B CN115314722 B CN 115314722B
- Authority
- CN
- China
- Prior art keywords
- code rate
- roi
- determining
- video
- matrix
- 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 49
- 239000011159 matrix material Substances 0.000 claims abstract description 123
- 238000013139 quantization Methods 0.000 claims abstract description 63
- 238000001514 detection method Methods 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 7
- 210000000056 organ Anatomy 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 10
- 230000001815 facial effect Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 210000000697 sensory organ Anatomy 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002222 downregulating effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种视频码率分配方法、系统、设备及存储介质。本申请实施例提供的技术方案,通过检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;进而确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;之后,基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。采用上述技术手段,可以减少码率分配误差,提升码率分配精度,优化用户的直播观看体验。
Description
技术领域
本申请实施例涉及视频技术领域,尤其涉及一种视频码率分配方法、系统、设备及存储介质。
背景技术
目前,在移动直播场景中,为了在码率受限情况下有效提升视频主观画质,通常会引入ROI(Region Of Interest,感兴趣区域)码率控制的方式,通过调节ROI区域宏块的QP(Quantization Parameter,量化参数),给予其更多码率以提升ROI区域的局部画质。在进行码率控制过程中,通过设置量化参数偏移表,对视频帧中的ROI区域的量化参数下调设定值,同样对非ROI区域的量化参数上调相应的设定值,以此将更多的码率调整至ROI区域。
但是,现有的码率分配方案仅仅是基于量化参数偏移表简单地对ROI区域和非ROI区域的量化参数调整设定值,其对量化参数的调整方式容易出现偏差,容易导致ROI区域码率分配偏高的情况,进而导致非ROI区域的码率分配偏低,出现画质瑕疵,影响用户的观看体验。
发明内容
本申请实施例提供一种视频码率分配方法、系统、设备及存储介质,能够减少码率分配误差,提升码率分配精度,解决现有基于量化参数偏移表的码率分配方案存在的码率分配偏差问题。
在第一方面,本申请实施例提供了一种视频码率分配方法,包括:
检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;
确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;
基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。
在第二方面,本申请实施例提供了一种视频码率分配系统,包括:
检测模块,配置为检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;
确定模块,配置为确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;
编码模块,配置为基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。
在第三方面,本申请实施例提供了一种视频码率分配设备,包括:
存储器以及一个或多个处理器;
所述存储器,配置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的视频码率分配方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行如第一方面所述的视频码率分配方法。
在第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中包含有指令,当指令在计算机或处理器上运行时,使得计算机或处理器执行如第一方面所述的视频码率分配方法
本申请实施例通过检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;进而确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;之后,基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。采用上述技术手段,通过结合待编码视频帧各个宏块的显著性值进行量化参数偏移量设置,依此进行码率分配可以减少码率分配误差,使得各个宏块的码率分配合理,提升码率分配精度,避免码率分配误差导致的画质瑕疵问题,优化用户的直播观看体验。
附图说明
图1是本申请实施例提供的一种视频码率分配方法的流程图;
图2是本申请实施例中的指定目标确定流程图;
图3是本申请实施例中的码率预估流程图;
图4是本申请实施例中的偏移量矩阵确定流程图;
图5是本申请实施例中基于直播视频帧的码率控制流程图;
图6是本申请实施例提供的一种视频码率分配系统的结构示意图;
图7是本申请实施例提供的一种视频码率分配设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的通过结合待编码视频帧各个宏块的显著性值,进行量化参数偏移量设置,基于偏移量矩阵调整各个宏块的量化参数,并根据各个宏块的量化参数进行编码,以此来实现精准的码率分配,避免码率分配误差导致的画质瑕疵问题,优化用户的直播观看体验。
在现有的移动直播中,为了在码率受限情况下有效提升主观画质,通常会引入ROI码率控制方案。通过调节ROI区域宏块的量化参数,给予其更多码率以提升局部画质。然而这种调节方式一般是在帧级调节之后的宏块级调节场景中进行的,而一些简单的qp_offset(量化参数偏移量)的设置方案极易影响宏块行级甚至帧级码率的调节,进而容易出现非ROI区域的画质瑕疵。
例如,在对直播画面帧进行码率分配时,通过肤色检测模块确定直播画面中主播所有肤色块构成ROI区域,为肤色块指定量化参数偏移量为固定值,为非肤色块指定量化参数偏移量为固定值。这种情况下可能导致部分非ROI区域的画质损失较严重。造成这个现象的主要原因是为ROI区域和非ROI区域设定的量化参数偏移量没有考虑码率配置偏差的因素。即,非ROI区域设定的量化参数偏移量能够节省的码率无法抵消为ROI区域设定量化参数偏移量后额外消耗的码率,即量化参数偏移量设定不合理。ROI区域消耗了过多码率,导致非ROI区域在行级码率分配时进一步修正了量化参数,从而使非ROI区域码率分配偏低,出现画质瑕疵的情况。基于此,提供本申请实施例的一种视频码率分配方法,以通过合理配置待编码视频帧各个宏块的量化参数偏移量,实现精准、合理的码率分配,解决现有基于量化参数偏移表的码率分配方案存在的码率分配偏差问题。
实施例:
图1给出了本申请实施例提供的一种视频码率分配方法的流程图,本实施例中提供的视频码率分配方法可以由视频码率分配设备执行,该视频码率分配设备可以通过软件和/或硬件的方式实现,该视频码率分配设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该视频码率分配设备可以是服务器主机、系统后台等处理设备。
下述以该视频码率分配设备为执行视频码率分配方法的主体为例,进行描述。参照图1,该视频码率分配方法具体包括:
S110、检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块。
本申请实施例针对传统码率分配方案中量化参数偏移量设置不合理的问题,通过结合待编码视频帧中各个宏块的显著性值,以及ROI区域和非ROI区域的预估码率,根据两者与待编码视频帧中各个宏块的量化参数偏移量之间的关联关系,以确定各个宏块的量化参数偏移量。
其中,量化参数反映了空间细节压缩情况。其值越小,这量化越精细,图像质量越高,产生的码流也越长。而量化参数偏移量用于调整对应宏块的量化参数,以实现更精准的码率分配。
具体地,本申请实施例在进行待编码视频帧的码率分配时,首先确定待编码视频帧的ROI区域和非ROI区域,并构建待编码视频帧的显著性图,确定各个宏块的显著性值。
通过指定目标的检测,以确定待编码视频帧的ROI区域和非ROI区域。可以理解的是,移动直播场景中,用户人眼一般更倾向于关注某些特定目标(如主播),则通过检测指定目标,根据指定目标即可确定待编码视频帧的ROI区域和非ROI区域。其中,将待编码视频帧上对应指定目标的区域标定为ROI区域,其他区域标定为非ROI区域。
进一步地,根据已确定的指定目标,本申请实施例还进一步根据各个指定目标确定待编码视频帧中各个宏块的显著性值,以完成显著性图的构建。其中,根据各个指定目标预先设定的显著性值,确定指定目标对应区域中的各个宏块的显著性值。在此之前,预先根据不同指定目标设定相应的宏块分类,并设定对应宏块分类的显著性值。后续根据各个宏块落入的指定目标的区域,确定其宏块分类,进而确定其显著性值。
以包含主播画面的待编码视频帧为例,参照图2,其指定目标的确定流程包括:
S1101、基于人脸及关键点检测算法检测待编码视频帧,确定第一检测结果,基于肤色检测算法检测待编码视频帧,确定第二检测结果;
S1102、根据第一检测结果和第二检测结果确定待编码视频帧中的各个指定目标,指定目标包括人脸肤色区域、五官关键点区域、人脸区域、人脸边缘区域、躯体肤色区域以及躯体肤色边缘区域。
通过结合移动直播业务场景中人眼关注点通常发生在肤色区、人脸区的鲜明特点,本申请实施例充分利用直播系统编码前美颜处理获取的人脸区及关键点信息,以及在编码时结合的肤色检测技术,进行指定目标的检测。进而根据检测到的指定目标确定ROI区域和非ROI区域,并生成显著性图,显著性图标注了各个宏块的显著性值。
为了方便编码器索引,显著性图定义为一个大小:((img_width+15)/16)x((img_height+15)/16)的矩阵,每个点代表一个编码宏块的显著性值。显著性值体现了当前宏块的重要程度,也为码率分配提供一个重要性依据。根据当前宏块分类,显著性值可取的值为:28(人脸肤色区域)、26(五官关键点区域)、24(人脸区域)、22(人脸边缘区域)、20(躯体肤色区域(除人脸肤色外))、18(躯体肤色边缘区域(出人脸边缘))、1(非ROI区域)。
根据美颜模块通过人脸及关键点检测算法给出的人脸坐标,可以解算出当前待编码视频帧的人脸区域位置、人脸边缘区域位置(一般取人脸框往外延伸的宏块行和列)、五官关键点区域位置,解算完后需在显著性图上进行标记。同样地,根据肤色检测模块的肤色检测算法可以确定肤色区域位置,结合人脸区域位置可确定人脸肤色区域的位置。同样地,根据带编码视频帧各个宏块被人脸及关键点检测算法和肤色检测算法的命中结果,标记出五官关键点区域、人脸区域、人脸边缘区域、躯体肤色区域以及躯体肤色边缘区域,以上述标记到的各个区域构建ROI区域。而剩余的未标记宏块,即为非ROI区域的位置。以此来根据指定目标确定待编码视频帧的ROI区域和非ROI区域。
基于已确定的指定目标,进而构建显著性图,标定各个宏块的显著性值。显著性图SMAP为大小Wsaliency×Hsaliency的矩阵,其中 编码每一帧视频帧之前先将显著性图SMAP赋值为默认值(全部为1-非ROI块),然后将检测到的人脸区域坐标和五官关键点坐标转换为宏块坐标,并给显著性图SMAP赋值。最后从编码器的肤色检测模块获取肤色映射表SKIN_MAP,遍历肤色映射表SKIN_MAP寻找肤色块和肤色边缘块的位置,为显著性图SMAP赋值。人脸区域和五官关键点坐标是基于图像坐标系标定的,因此需要转换为宏块坐标。
具体地,显著性图SMAP赋值公式如下:
基于上述显著性图SMAP赋值公式,通过确定待编码视频帧各个宏块所处的区域,即可确定对应宏块的显著性值。
S120、确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵。
进一步地,通过确定ROI区域和非ROI区域的预估码率,并确定对应各个宏块的显著性差值矩阵,以用于后续基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵。
其中,预估码率包括ROI区域的第一预估码率和非ROI区域的第二预估码率。参照图3,在确定ROI区域和非ROI区域的预估码率时,包括:
S1201、基于宏块码率预估模型预估待编码视频帧的帧级码率以及ROI区域的初始预估码率;
S1202、根据帧级码率和初始预估码率确定ROI区域的码率分配占比,根据帧级码率和码率分配占比确定第一预估码率和第二预估码率。
通过构建一个基于宏块级的码率预估模型,以进行待编码视频帧的帧级码率以及ROI区域的初始预估码率预估。宏块码率预估模型为:
其中,MB_bits表示码率预估值,MBsatd表示宏块级哈达玛变换残差绝对值总和,QPcurr表示帧级量化参数的处理结果。使用SATD值修正码率预估模型,可以得到更准确的预测结果。根据宏块码率预估模型,可以估算当前帧在当前QPcurr下的帧级码率Framebits。
帧级码率的预估公式为:
其中,Framebits表示帧级码率,all_mb表示所有宏块,MBsatd表示宏块级残差哈达玛变换绝对值总和,QPcurr表示帧级量化参数的处理结果。
MBsatd为半分辨率图像计算的宏块级satd,需要注意的是必须根据当前帧帧类型决定使用当前宏块的I_satd、P_satd和B_satd中的哪一个。I_satd是半分辨率图像进行帧内预测得到的宏块级satd,P_satd和B_satd是半分辨率图像进行帧间预测得到的宏块级satd。QPcurr为帧级码率控制之后帧级量化参数与空域AQ算法和mbtree算法计算的宏块量化参数偏移量矩阵叠加之后的结果,如果编码参数中未开启AQ和mbtree算法,则每个宏块的量化参数均相等,且等于帧级量化参数。
基于该帧级码率,通过结合ROI区域的初始预估码率确定ROI区域的码率分配占比,以确定ROI区域的第一预估码率和非ROI区域的第二预估码率。码率分配占比b%代表本申请实施例的视频码率分配方案期望将当前帧码率的b%份额分配至ROI区域。
具体地,先根据码率预估模型计算ROI区域的初始预估码率。初始预估码率的预估公式为:
其中,FrameROIbits表示初始预估码率,all_roi_mb表示ROI区域的所有宏块。
进而计算得到码率分配占比,码率分配占比的确定公式为:
b%=min(ROIper+0.15,0.9)
其中,ROIper=FrameROIbits/Framebits;则基于该码率分配占比,第一预估码率表示为b%*Framebits,第二预估码率表示为(1-b%)*Framebits。本申请实施例的视频码率分配方案设定最多将90%的码率分配至ROI区域,否则在当前ROI区域码率占比基础上额外追加15%码率进行码率分配,以此构建上述码率分配占比的确定公式,从两者中选择最小值作为码率分配占比。
另一方面,基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵delta_s。其中,显著性阈值为s0,本申请实施例取17。则delta_s=saliency-17,其中,saliency表示各个宏块的显著性值构成的矩阵,则生成的delta_s同样是一个矩阵。并且,由于非ROI区域的显著性值为1,则其显著性差值矩阵中的各个宏块取值为-16。
S130、基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。
进一步地,基于上述已确定的预估码率以及显著性差值矩阵,本申请实施例通过各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵。
具体地,本申请实施例进行码率分配的思路是通过调整ROI和非ROI区域的量化参数,将非ROI区域的码率转移到ROI区域。假如需要将当前帧码率的b%分配至ROI区域,那么非ROI区域将分到(1-b%)*Framebits。为了将ROI区域各宏块得到的码率与其重要性程度(即显著性值)关联起来,本申请实施例构建如下量化参数偏移量矩阵计算公式:
qpoffset_roi=kup*(saliency-s0)
qpoffset_nonroi=kdn*(saliency-s0)
其中,s0是显著性阈值,这里取17,saliency表示各个宏块的显著性值构成的矩阵,kup表示ROI区域的偏移量调节系数,kdn表示非ROI区域的偏移量调节系数。
基于上述量化参数偏移量矩阵计算公式,可以确定偏移量矩阵与显著性差值矩阵、ROI区域和非ROI区域的偏移量调节系数的第一关联关系,进而结合预估码率与偏移量矩阵的第二关联关系,即可确定量化参数偏移量矩阵的取值。
其中,参照图4,偏移量矩阵的确定流程包括:
S1301、根据偏移量矩阵与显著性差值矩阵、ROI区域和非ROI区域的偏移量调节系数的第一关联关系,以及预估码率与偏移量矩阵的第二关联关系,确定偏移量调节系数;
S1302、基于已知的偏移量调节系数、显著性差值矩阵,结合第一关联关系,确定偏移量矩阵。
其中,基于上述量化参数偏移量矩阵计算公式,可以转换得到第一关联关系的关系公式为:
其中,表示ROI区域中各个宏块的偏移量矩阵,/>表示非ROI区域中各个宏块的偏移量矩阵,kup表示ROI区域的偏移量调节系数,kdn表示非ROI区域的偏移量调节系数,delta_s(i,j)表示对应区域的显著性差值矩阵,(i,j)表示对应区域的宏块。
可以理解的是,通过将ROI区域宏块量化参数下调可以使得ROI区域占有当前码率的b%。将非ROI区域宏块qp上调/>可以使得非ROI区域占有当前码率的剩余1-b%。这里/>和/>均是矩阵,其矩阵元素为每个宏块提供一个qp偏移量。则通过确定该偏移量调节系数kup和kdn,即可基于已知的偏移量调节系数、显著性差值矩阵,结合第一关联关系,确定偏移量矩阵。
具体地,由于基于显著性值进行码率分配后,第一预估码率和第二预估码率的计算公式为:
通过代入宏块码率预估模型公式可以得到第二关联关系的关系公式为:
进一步通过代入帧级码率的预估公式Framebits。
将上述第一关联关系公式中的公式(1)带入公式(3)后,解方程可得到kup,同理将公式(2)带入公式(4)可解出kdn,解出kup和kdn以后,将kup和kdn代入第一关联关系,最终确定偏移量矩阵
最终,基于偏移量矩阵中的各个偏移量调整待编码视频帧的各个宏块的量化参数,将调整后的量化参数用于视频帧编码。以此,根据实际业务中视频内容的特点,通过生成适合移动直播的显著性图,然后根据显著性图和合理的ROI码率分配方案,计算要达到预期码率分配所需的量化参数偏移量矩阵。最后在实际编码时根据量化参数偏移量矩阵更新各个宏块的量化参数,再根据量化参数进入正常编码过程,实现本申请实施例精准、合理的码率分配。
可选地,在求解方程中,由于公式中带有大量指数和浮点数运算,而且每次解算都存在大量重复计算的部分,直接使用时非常耗时。因此,本申请实施例对部分参数采用查表的方式获取。其中,由于MBsatd为半分辨率图像计算的宏块级satd,其取值是大于0的整数。通过分析大量视频的宏块级I_satd,P_satd和B_satd发现其数值分布基本集中于1000以下,因此可以预先将计算出来,后续可通过查表的方式直接取值,以免重复计算。
其中,通过申请一个double型的数组f_compress_satd存放
f_compress_satd[i]=i0.4,i∈[0,1023]
其次,由于QPcurr、和/>均为整数矩阵,因此公式中可以写为/>同样可以预先计算,后续通过查表方式直接取值。通过申请一个QP_MAX大小的double型数组f_exp0_qp[i]存放参数
经过上述转换,在迭代解方程计算kup和kdn调节系数时,可以避免大量重复计算,保证了移动直播中算法的计算效率。其中,通过对解方程计算kup和kdn的过程进行了速度优化,使用查表的方式避免额外的指数运算,可使算法的速度提升9个百分点,保证了移动端的正常使用。
示例性地,参照图5的步骤a1-a5,以直播场景中,主播画面的码率分配为例,提供基于直播视频帧的码率控制流程图。其中,基于待编码的主播画面,通过人脸及关键点检测确定当前帧的人脸区域及五官关键点区域坐标;通过肤色检测确定一个肤色映射表SkinMap,肤色映射表SkipMap中标记了当前帧按16x16像素划分的图像块中肤色块位置。进一步利用人脸区域信息、五官关键点区域信息和肤色映射表信息,根据人眼对这些区域的关注度,给予这些区域不同的显著性值,表示其重要性等级,以此生成适合移动直播的显著性图。然后根据显著性图生成量化参数偏移量矩阵,其中量化参数偏移量矩阵的生成需要估计ROI区域码率占比,同时计算预期将额外15%码率(15%是实验所得较合理的分配占比,也可以由用户指定特定的占比)分配给ROI区域时显著性图的调节系数kup和kdn。量化参数偏移量矩阵生成后,编码当前宏块之前先查量化参数偏移量矩阵,找到当前宏块的量化参数偏移量,更新当前宏块的量化参数后即可正常编码。
上述,通过检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;进而确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;之后,基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。采用上述技术手段,通过结合待编码视频帧各个宏块的显著性值进行量化参数偏移量设置,依此进行码率分配可以减少码率分配误差,使得各个宏块的码率分配合理,提升码率分配精度,避免码率分配误差导致的画质瑕疵问题,优化用户的直播观看体验。
在上述实施例的基础上,图6为本申请提供的一种视频码率分配系统的结构示意图。参考图6,本实施例提供的视频码率分配系统具体包括:检测模块21、确定模块22和编码模块23。
其中,检测模块21配置为检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;
确定模块22配置为确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;
编码模块23配置为基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。
具体地,检测模块21配置为基于人脸及关键点检测算法检测待编码视频帧,确定第一检测结果,基于肤色检测算法检测待编码视频帧,确定第二检测结果;根据第一检测结果和第二检测结果确定待编码视频帧中的各个指定目标,指定目标包括人脸肤色区域、五官关键点区域、人脸区域、人脸边缘区域、躯体肤色区域以及躯体肤色边缘区域。将待编码视频帧上对应指定目标的区域标定为ROI区域,其他区域标定为非ROI区域。根据各个指定目标预先设定的显著性值,确定指定目标对应区域中的各个宏块的显著性值。
具体地,预估码率包括ROI区域的第一预估码率和非ROI区域的第二预估码率;确定模块22配置为基于宏块码率预估模型预估待编码视频帧的帧级码率以及ROI区域的初始预估码率;根据帧级码率和初始预估码率确定ROI区域的码率分配占比,根据帧级码率和码率分配占比确定第一预估码率和第二预估码率。
该帧级码率的预估公式为:
其中,Framebits表示帧级码率,all_mb表示所有宏块,MBsatd表示宏块级残差绝对值总和,QPcurr表示帧级量化参数的处理结果;
初始预估码率的预估公式为:
其中,FrameROIbits表示初始预估码率,all_roi_mb表示ROI区域的所有宏块;码率分配占比的确定公式为:
b%=min(ROIper+0.15,0.9)
其中,POIper=FrameROIbits/Framebits;
第一预估码率表示为b%*Framebits,第二预估码率表示为(1-b%)*Framebits。
具体地,编码模块23配置为根据偏移量矩阵与显著性差值矩阵、ROI区域和非ROI区域的偏移量调节系数的第一关联关系,以及预估码率与偏移量矩阵的第二关联关系,确定偏移量调节系数;基于已知的偏移量调节系数、显著性差值矩阵,结合第一关联关系,确定偏移量矩阵。
第一关联关系的关系公式为:
其中,表示ROI区域中各个宏块的偏移量矩阵,/>表示非ROI区域中各个宏块的偏移量矩阵,kup表示ROI区域的偏移量调节系数,kdn表示非ROI区域的偏移量调节系数,delta_s(i,j)表示对应区域的显著性差值矩阵,(i,j)表示对应区域的宏块;
第二关联关系的关系公式为:
其中,all_nonroi_mb表示非ROI区域的所有宏块。
上述,通过检测待编码视频帧的各个指定目标,基于指定目标确定待编码视频帧的ROI区域和非ROI区域,并确定待编码视频帧中各个宏块的显著性值,各个指定目标包含指定分类的宏块;进而确定ROI区域和非ROI区域的预估码率,并基于显著性值和设定显著性阈值确定各个宏块的显著性差值矩阵;之后,基于各个宏块的偏移量矩阵与预估码率以及显著性差值矩阵的关联关系,确定偏移量矩阵,并根据偏移量矩阵进行各个宏块的码率配置,偏移量矩阵包含各个宏块的量化参数偏移量。采用上述技术手段,通过结合待编码视频帧各个宏块的显著性值进行量化参数偏移量设置,依此进行码率分配可以减少码率分配误差,使得各个宏块的码率分配合理,提升码率分配精度,避免码率分配误差导致的画质瑕疵问题,优化用户的直播观看体验。
本申请实施例提供的视频码率分配系统可以配置为执行上述实施例提供的视频码率分配方法,具备相应的功能和有益效果。
在上述实际上例的基础上,本申请实施例还提供了一种视频码率分配设备,参照图7,该视频码率分配设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。存储器32作为一种计算机可读存储介质,可配置为存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的视频码率分配方法对应的程序指令/模块(例如,视频码率分配系统中的检测模块、确定模块和编码模块)。通信模块33配置为进行数据传输。处理器31通过运行存储在存储器中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的视频码率分配方法。输入装置34可配置为接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。上述提供的视频码率分配设备可配置为执行上述实施例提供的视频码率分配方法,具备相应的功能和有益效果。
在上述实施例的基础上,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时配置为执行一种视频码率分配方法,存储介质可以是任何的各种类型的存储器设备或存储设备。当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的视频码率分配方法,还可以执行本申请任意实施例所提供的视频码率分配方法中的相关操作。
在上述实施例的基础上,本申请实施例还提供一种计算机程序产品,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备、移动终端或其中的处理器执行本申请各个实施例所述视频码率分配方法的全部或部分步骤。
Claims (10)
1.一种视频码率分配方法,其特征在于,包括:
检测待编码视频帧的各个指定目标,基于所述指定目标确定所述待编码视频帧的ROI区域和非ROI区域,并确定所述待编码视频帧中各个宏块的显著性值,各个所述指定目标包含指定分类的宏块;
确定所述ROI区域和所述非ROI区域的预估码率,并基于所述显著性值和设定显著性阈值确定所述各个宏块的显著性差值矩阵;
基于所述各个宏块的偏移量矩阵与所述预估码率以及所述显著性差值矩阵的关联关系,确定所述偏移量矩阵,并根据所述偏移量矩阵进行各个宏块的码率配置,所述偏移量矩阵包含各个宏块的量化参数偏移量;其中,根据所述偏移量矩阵与所述显著性差值矩阵、所述ROI区域和所述非ROI区域的偏移量调节系数的第一关联关系,以及所述预估码率与所述偏移量矩阵的第二关联关系,确定所述偏移量调节系数;基于已知的所述偏移量调节系数、所述显著性差值矩阵,结合所述第一关联关系,确定所述偏移量矩阵。
2.根据权利要求1所述的视频码率分配方法,其特征在于,所述基于所述指定目标确定所述待编码视频帧的ROI区域和非ROI区域,包括:
将所述待编码视频帧上对应所述指定目标的区域标定为ROI区域,其他区域标定为非ROI区域。
3.根据权利要求2所述的视频码率分配方法,其特征在于,所述确定所述待编码视频帧中各个宏块的显著性值,包括:
根据各个所述指定目标预先设定的显著性值,确定所述指定目标对应区域中的各个宏块的显著性值。
4.根据权利要求3所述的视频码率分配方法,其特征在于,所述检测待编码视频帧的各个指定目标,包括:
基于人脸及关键点检测算法检测所述待编码视频帧,确定第一检测结果,基于肤色检测算法检测所述待编码视频帧,确定第二检测结果;
根据所述第一检测结果和所述第二检测结果确定所述待编码视频帧中的各个指定目标,所述指定目标包括人脸肤色区域、五官关键点区域、人脸区域、人脸边缘区域、躯体肤色区域以及躯体肤色边缘区域。
5.根据权利要求1所述的视频码率分配方法,其特征在于,所述预估码率包括所述ROI区域的第一预估码率和所述非ROI区域的第二预估码率;
所述确定所述ROI区域和所述非ROI区域的预估码率,包括:
基于宏块码率预估模型预估所述待编码视频帧的帧级码率以及所述ROI区域的初始预估码率;
根据所述帧级码率和所述初始预估码率确定所述ROI区域的码率分配占比,根据所述帧级码率和所述码率分配占比确定所述第一预估码率和所述第二预估码率。
6.根据权利要求5所述的视频码率分配方法,其特征在于,所述帧级码率的预估公式为:
其中,Framebits表示所述帧级码率,all_mb表示所有宏块,MBsatd表示宏块级残差哈达玛变换绝对值总和,QPcurr表示帧级量化参数的处理结果;
所述初始预估码率的预估公式为:
其中,FrameROIbits表示所述初始预估码率,all_roi_mb表示ROI区域的所有宏块;
所述码率分配占比的确定公式为:
b%=min(ROIper+0.15,0.9)
其中,ROIper=FrameROIbits/Framebits;
所述第一预估码率表示为b%*Framebits,所述第二预估码率表示为(1-b%)*Framebits。
7.根据权利要求6所述的视频码率分配方法,其特征在于,所述第一关联关系的关系公式为:
其中,表示ROI区域中各个宏块的偏移量矩阵,/>表示非ROI区域中各个宏块的偏移量矩阵,kup表示ROI区域的偏移量调节系数,kdn表示非ROI区域的偏移量调节系数,delta_s(i,j)表示对应区域的显著性差值矩阵,(i,j)表示对应区域的宏块;
所述第二关联关系的关系公式为:
其中,all_nonroi_mb表示非ROI区域的所有宏块。
8.一种视频码率分配系统,其特征在于,包括:
检测模块,配置为检测待编码视频帧的各个指定目标,基于所述指定目标确定所述待编码视频帧的ROI区域和非ROI区域,并确定所述待编码视频帧中各个宏块的显著性值,各个所述指定目标包含指定分类的宏块;
确定模块,配置为确定所述ROI区域和所述非ROI区域的预估码率,并基于所述显著性值和设定显著性阈值确定所述各个宏块的显著性差值矩阵;
编码模块,配置为基于所述各个宏块的偏移量矩阵与所述预估码率以及所述显著性差值矩阵的关联关系,确定所述偏移量矩阵,并根据所述偏移量矩阵进行各个宏块的码率配置,所述偏移量矩阵包含各个宏块的量化参数偏移量;其中,根据所述偏移量矩阵与所述显著性差值矩阵、所述ROI区域和所述非ROI区域的偏移量调节系数的第一关联关系,以及所述预估码率与所述偏移量矩阵的第二关联关系,确定所述偏移量调节系数;基于已知的所述偏移量调节系数、所述显著性差值矩阵,结合所述第一关联关系,确定所述偏移量矩阵。
9.一种视频码率分配设备,其特征在于,包括:
存储器以及一个或多个处理器;
所述存储器,配置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的视频码率分配方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时配置为执行如权利要求1-7任一所述的视频码率分配方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210693262.5A CN115314722B (zh) | 2022-06-17 | 2022-06-17 | 一种视频码率分配方法、系统、设备及存储介质 |
PCT/CN2023/097891 WO2023241376A1 (zh) | 2022-06-17 | 2023-06-01 | 一种视频码率分配方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210693262.5A CN115314722B (zh) | 2022-06-17 | 2022-06-17 | 一种视频码率分配方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314722A CN115314722A (zh) | 2022-11-08 |
CN115314722B true CN115314722B (zh) | 2023-12-08 |
Family
ID=83855084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210693262.5A Active CN115314722B (zh) | 2022-06-17 | 2022-06-17 | 一种视频码率分配方法、系统、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115314722B (zh) |
WO (1) | WO2023241376A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314722B (zh) * | 2022-06-17 | 2023-12-08 | 百果园技术(新加坡)有限公司 | 一种视频码率分配方法、系统、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945275A (zh) * | 2010-08-18 | 2011-01-12 | 镇江唐桥微电子有限公司 | 一种基于感兴趣区域的视频编码方法 |
CN102158712A (zh) * | 2011-03-22 | 2011-08-17 | 宁波大学 | 一种基于视觉的多视点视频信号编码方法 |
CN104065964A (zh) * | 2014-06-19 | 2014-09-24 | 上海交通大学 | 感兴趣区域信息的编解码方法以及视频编解码装置 |
CN105049850A (zh) * | 2015-03-24 | 2015-11-11 | 上海大学 | 基于感兴趣区域的hevc码率控制方法 |
EP3179442A1 (en) * | 2015-12-09 | 2017-06-14 | Thomson Licensing | Method for tracking a region of interest, computer readable storage medium and apparatus configured to track a region of interest |
CN110996099A (zh) * | 2019-11-15 | 2020-04-10 | 网宿科技股份有限公司 | 一种视频编码方法、系统及设备 |
WO2020178144A1 (en) * | 2019-03-01 | 2020-09-10 | Canon Kabushiki Kaisha | Method and apparatus for encoding and decoding a video bitstream for merging regions of interest |
CN111726633A (zh) * | 2020-05-11 | 2020-09-29 | 河南大学 | 基于深度学习和显著性感知的压缩视频流再编码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314722B (zh) * | 2022-06-17 | 2023-12-08 | 百果园技术(新加坡)有限公司 | 一种视频码率分配方法、系统、设备及存储介质 |
-
2022
- 2022-06-17 CN CN202210693262.5A patent/CN115314722B/zh active Active
-
2023
- 2023-06-01 WO PCT/CN2023/097891 patent/WO2023241376A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945275A (zh) * | 2010-08-18 | 2011-01-12 | 镇江唐桥微电子有限公司 | 一种基于感兴趣区域的视频编码方法 |
CN102158712A (zh) * | 2011-03-22 | 2011-08-17 | 宁波大学 | 一种基于视觉的多视点视频信号编码方法 |
CN104065964A (zh) * | 2014-06-19 | 2014-09-24 | 上海交通大学 | 感兴趣区域信息的编解码方法以及视频编解码装置 |
CN105049850A (zh) * | 2015-03-24 | 2015-11-11 | 上海大学 | 基于感兴趣区域的hevc码率控制方法 |
EP3179442A1 (en) * | 2015-12-09 | 2017-06-14 | Thomson Licensing | Method for tracking a region of interest, computer readable storage medium and apparatus configured to track a region of interest |
WO2020178144A1 (en) * | 2019-03-01 | 2020-09-10 | Canon Kabushiki Kaisha | Method and apparatus for encoding and decoding a video bitstream for merging regions of interest |
CN110996099A (zh) * | 2019-11-15 | 2020-04-10 | 网宿科技股份有限公司 | 一种视频编码方法、系统及设备 |
CN111726633A (zh) * | 2020-05-11 | 2020-09-29 | 河南大学 | 基于深度学习和显著性感知的压缩视频流再编码方法 |
Non-Patent Citations (3)
Title |
---|
"ROI-based rate control using tiles for an HEVC encoded video stream over a lossy network";Marwa Meddeb等;2015 IEEE International Conference on Imgae Processing;全文 * |
"一种兴趣区域检测的H.265码率控制方法";周建政等;浙江工业大学学报;全文 * |
"基于显著性检测的感兴趣区域编码";沈新雨;中国硕士学位论文全文数据库;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115314722A (zh) | 2022-11-08 |
WO2023241376A1 (zh) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5015967B2 (ja) | 画像信号エンコードにおいて画像中のピクセル・ブロックの諸グループについてビット割り当てを決定するための方法および装置 | |
KR20050105271A (ko) | 비디오 인코딩 | |
TWI677239B (zh) | 結合多個去雜訊化技術及並行分組圖像補塊的非局部適應性環路濾波器 | |
Zhou et al. | Just noticeable distortion-based perceptual rate control in HEVC | |
US10798390B2 (en) | Method and apparatus for scan order selection | |
JP2008527827A (ja) | 垂線流れに動的に基づいた量子化ステップ・サイズを用いてビデオ信号を処理する方法 | |
JP2006519565A (ja) | ビデオ符号化 | |
WO2019104635A1 (en) | System and method for controlling video coding at frame level | |
US20200068200A1 (en) | Methods and apparatuses for encoding and decoding video based on perceptual metric classification | |
CN111970511B (zh) | 一种基于vmaf的感知视频率失真编码优化方法及装置 | |
CN105872544B (zh) | 低延迟视频编码中时域率失真优化方法 | |
CN111193931B (zh) | 一种视频数据的编码处理方法和计算机存储介质 | |
US10080036B2 (en) | Method and apparatus for depth video coding using endurable view synthesis distortion | |
CN107454413B (zh) | 一种保留特征的视频编码方法 | |
WO2019104862A1 (en) | System and method for reducing video coding fluctuation | |
WO2019104611A1 (en) | System and method for controlling video coding within image frame | |
CN115314722B (zh) | 一种视频码率分配方法、系统、设备及存储介质 | |
CN114745549B (zh) | 一种基于感兴趣区域的视频编码方法和系统 | |
WO2019001072A1 (zh) | 一种判断视频帧的帧类型的方法及电子设备 | |
US20180352232A1 (en) | Method and apparatus for scan order selection | |
CN110049339B (zh) | 图像编码中的预测方向选取方法、装置和存储介质 | |
Paul et al. | Pattern-based video coding with dynamic background modeling | |
CN110800298A (zh) | 码率分配方法、码率控制方法、编码器和记录介质 | |
Zhao et al. | A high-performance rate control algorithm in versatile video coding based on spatial and temporal feature complexity | |
CN112243129B (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 |