一种HDR和SDR自适应码率控制的方法
技术领域
本发明涉及视频编码技术领域,尤其涉及一种HDR和SDR自适应码率控制的方法。
背景技术
随着网络技术的不断成熟和视频图像技术的快速发展,人们对视频业务的需求也越来越高,视频业务已经广泛地应用于移动终端、网络直播、家庭影院和远程监控领域,视频分辨率逐步从标清(SD)向高清(HD)、超高清(UHD)转变,分辨率的提高意味着对网络带宽的要求也越来越高,提升视频编码压缩效率,减少网络带宽压力是视频技术发展的一个关键。同时,人们对视频观看的需求也越来越高,HDR(High Dynamic Range,高动态范围)逐步成为电视机市场的一个热点。
传统的SDR(Standard Dynamic Range)视频编码会出现高光溢出,将高光部分细节丢失,以保证暗部曝光正常,或暗部裁切,将暗部细节丢失,以保证高亮度场景曝光正常,而HDR视频编码能够表示更高的亮度动态范围,高光的时候不会过曝,暗调的时候不会欠曝,让亮处的效果更清晰,暗处依然能分辨物体的轮廓和深度。
在视频编码过程中,HDR视频比SDR视频需要表示更多的细节,HDR视频编码比SDR视频编码在很多细节区域需要消耗更多的码率,因此,在视频直播的拍摄阶段,将摄像机的HDR模式切换为SDR模式来减少数据量,或者将SDR模式切换为HDR模式来提升观看质量成为一种必要的方式,现有的视频编码则没有针对HDR模式和SDR模式相互切换进行码率控制的方法。
因此,现有技术需要改进。
发明内容
本发明公开了一种HDR和SDR自适应码率控制的方法,用以解决现有技术存在的问题。
所述一种HDR和SDR自适应码率控制的方法,包括:
判断HDR(High Dynamic Range,高动态范围)视频编码器中的HDR视频编码数据中Meta Data码是否发生变化,所述Meta Data码为HDR视频编码数据中用于表示视频的亮度范围和色度格式的编码,所述HDR视频编码器的码率控制算法包括三层:GOP(Group ofPicture,图像组)层码率控制、帧层码率控制和CU(Coding Unit,编码单元)层码率控制,HDR视频编码器将一个视频分为多个GOP,每个GOP包含多帧,所述GOP层码率控制根据视频特性和网络带宽计算各个GOP的目标码率;所述帧层码率控制将一个GOP的目标码率划分到GOP中的各个帧,根据各帧的复杂度计算各帧的目标码率;所述CU层码率控制将一帧分成多个CU,根据前一帧中对应CU的复杂度来预测当前CU的复杂度并确定当前CU的目标码率;
如果发生变化,则说明发生HDR视频编码转换为SDR(Standard Dynamic Range,标准动态范围)视频编码或SDR视频编码转换为HDR视频编码;
如果未发生变化,说明当前HDR视频编码器中视频为HDR视频,HDR视频编码器进行HDR视频编码。
在基于上述一种HDR和SDR自适应码率控制的方法的另一个实施例中,所述HDR视频编码转换为SDR视频编码包括:
判断当前帧与前一帧的帧亮度差是否大于设定的亮度变化阈值TH1;
若是,则判定为场景切换,直接将当前帧切换为I帧;
否则,在对任何一个CU编码时,判断当前CU与前一帧中对应位置CU的MAD值是否大于设定阈值TH2,且检测当前CU的平均亮度值是否在设定亮度范围U1内,所述U1表示偏亮和偏暗的区域,所述MAD表示偏亮和偏暗区域的亮度平均绝对差值;
若满足,则当前CU为由亮到暗的渐模糊区,降低当前CU目标码率,将当前CU的目标码率降低到已有目标码率的b倍,所述b<1;
若不满足,则提高当前CU的目标码率,当前CU的目标码率提升到已有目标码率的a倍,所述a>1。
在基于上述一种HDR和SDR自适应码率控制的方法的另一个实施例中,所述SDR视频编码转换为HDR视频编码包括:
判断当前帧与前一帧的帧亮度差是否大于设定的亮度变化阈值TH1;
若是,则判定为场景切换,直接将当前帧切换为I帧;
否则,在对任何一个CU编码时,判断当前CU与前一帧中对应位置CU的MAD值是否大于设定阈值TH2,且检测当前CU的平均亮度值是否在设定亮度范围U1内,所述U1表示偏亮和偏暗的区域,所述MAD表示偏亮和偏暗区域的亮度平均绝对差值;
若满足,则称当前CU为由暗到亮渐清晰区,提高当前CU的目标码率,当前CU的目标码率提升到已有目标码率的a倍,所述a>1;
若不满足,则降低当前CU的目标码率,将当前CU的目标码率降低到已有目标码率的b倍,所述b<1。
在基于上述一种HDR和SDR自适应码率控制的方法的另一个实施例中,所述HDR视频编码器进行HDR视频编码包括:
判断当前帧与前一帧的帧亮度差是否大于设定的亮度变化阈值TH1;
若是,则判定为场景切换,直接将当前帧切换为I帧;
否则,在对任何一个CU编码时,判断当前CU与前一帧中对应位置CU的MAD值是否大于设定阈值TH3,且检测当前CU的平均亮度值是否在设定亮度范围U1内,所述U1表示偏亮和偏暗的区域,所述MAD表示偏亮和偏暗区域的亮度平均绝对差值;
若是,则称当前CU为HDR编码剧变区,将当前CU的目标码率提升到a倍,其中a>1;
否则,将当前CU的目标码率降低为b倍,其中b<1。
在基于上述一种HDR和SDR自适应码率控制的方法的另一个实施例中,所述HDR视频编码器包括:H265编码器、MPEG2编码器、H264编码器、AVS编码器、AVS+编码器、AVS2编码器。
与现有技术相比较,本发明具有以下优点:
本发明通过先检测视频的亮度范围和色度格式的编码变化情况,判断视频中的场景变换、HDR和SDR互相切换,并调整分配目标码率,使HDR中高光区域和黑暗区域的细节更加完整地保存,同时减少SDR中不必要的码率开销,提升编码的主观质量,在HDR和SDR互相切换的场景中,能够减少块效应的出现,对于人眼主观感知质量有较明显的提升,对于HDR编码中亮度变化较大的局部区域也有较大的质量提升。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所使用的附图做一简单地介绍。
图1是本发明的一种HDR和SDR自适应码率控制的方法的一个实施例的流程图。
图2是本发明的一种HDR和SDR自适应码率控制的方法的另一个实施例的流程图。
图3是本发明的一种HDR和SDR自适应码率控制的方法的又一个实施例的流程图。
图4是本发明的一种HDR和SDR自适应码率控制的方法的又一个实施例的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在视频直播领域,视频直播通常分为四个步骤:
第一步,拍摄采集成具有若干帧图像的视频数据源;
第二步,对视频数据源进行编码压缩,减少数据的带宽;
第三步,对编码压缩成的码流,进行网络传输并发送给用户;
第四步,用户在PC、手机等平台利用播放器(解码器)将码流解码成若干帧图像进行观看。
传统视频传输的视频编码采用的是SDR(Standard Dynamic Range)编码,它所能表示的色域范围较小,会出现高光溢出,高光部分细节丢失,或暗部裁切,暗部细节丢失,HDR(High Dynamic Range)编码的色域范围广,能够表示更高的亮度动态范围,高光的时候不会过曝,暗调的时候不会欠曝,让亮处的效果更清晰,暗处依然能分辨物体的轮廓和深度。
SDR视频通常用YUV数据来表示,它描述了该视频中显示给用户观看的图像细节,图像的细节越复杂,则在编码时需要消耗更多的码率。HDR视频除了YUV数据,还包括MetaData,所述Meta Data描述HDR视频的亮度范围和色度格式信息,同时不会消耗太多码率。
在视频编码过程中,HDR视频比SDR视频需要表示更多的细节,HDR编码比SDR编码在很多细节区域需要消耗更多的码率,例如对一个颜色偏暗的树林同时用SDR和HDR方式拍摄,该场景在SDR方式中可能显示为纹理非常简单的黑色,只需要较少的码率就可以编码,而在HDR方式中树林显示的非常清晰,纹理非常复杂,需要消耗较多的码率,在视频直播的拍摄阶段将摄像机的HDR模式切换为SDR模式来减少数据量,或者将SDR模式切换为HDR模式来提升观看质量成为一种必要的方式,此时在编码阶段,当SDR模式切换为HDR模式或者HDR模式切换为SDR模式时局部码率分配的方式需要进行调整,HDR视频在编码时容易造成亮度对比度的强烈变化,需要进行目标码率的调整。
视频编码的码率控制算法分为三层:GOP(Group of Picture,图像组)层码率控制、帧层码率控制和CU(Coding Unit,编码单元)层码率控制。
编码器将一个视频分为若干个GOP,每个GOP包含若干帧,GOP层码率控制目的就是根据视频特性和网络带宽计算各个GOP的目标码率;
帧层码率控制将一个GOP的目标码率划分到GOP中的各个帧,根据各帧的复杂度计算各帧的目标码率,场景切换时,将当前帧切换为I帧,如果没有场景切换时,将按照GOP长度设置当前帧为T帧、P帧或者B帧,其中I帧为帧内编码,不需要参考其他帧,消耗码率较多,P帧和B帧为帧间编码,需要参考其他帧,消耗的码率较少;
CU层码率控制将一帧分成若干个CU,根据前一帧中对应CU的复杂度来预测当前CU的复杂度并确定当前CU的目标码率。
上述码率控制算法在HDR和SDR切换的过程中效果很差。
在视频直播的拍摄阶段将摄像机的HDR模式切换为SDR模式来减少数据量,或者将SDR模式切换为HDR模式来提升观看质量成为一种必要的方式,在编码阶段,这种模式的切换会给高光区域和黑暗区域的细节带来很大的变化,CU的复杂度预测不再准确,码率分配不准会降低视频质量,HDR和SDR的切换类似于场景切换,帧间变化较大,但又不同于场景切换,因为前者只有高光区域和黑暗区域的变化较大,因此,它的码率控制方式与场景切换的码率控制方式不同,同时,HDR编码过程中亮度对比度的变化较大,对人眼主观感知影响较大,码率分配也需要进行调整。
图1是本发明的一种HDR和SDR自适应码率控制的方法的一个实施例的流程图,如图1所示,所述一种HDR和SDR自适应码率控制的方法包括:
10,判断HDR(High Dynamic Range,高动态范围)视频编码器中的HDR视频编码数据中Meta Data码是否发生变化,所述Meta Data码为HDR视频编码数据中用于表示视频的亮度范围和色度格式的编码,所述HDR视频编码器的码率控制算法包括三层:GOP(Group ofPicture,图像组)层码率控制、帧层码率控制和CU(Coding Unit,编码单元)层码率控制,HDR视频编码器将一个视频分为多个GOP,每个GOP包含多帧,所述GOP层码率控制根据视频特性和网络带宽计算各个GOP的目标码率;所述帧层码率控制将一个GOP的目标码率划分到GOP中的各个帧,根据各帧的复杂度计算各帧的目标码率;所述CU层码率控制将一帧分成多个CU,根据前一帧中对应CU的复杂度来预测当前CU的复杂度并确定当前CU的目标码率;
20,如果发生变化,则说明发生HDR视频编码转换为SDR(Standard DynamicRange,标准动态范围)视频编码或SDR视频编码转换为HDR视频编码;
30,如果未发生变化,说明当前HDR视频编码器中视频为HDR视频,HDR视频编码器进行HDR视频编码。
通过判断HDR视频编码器中的HDR视频编码数据中Meta Data码的变化,可以反映HDR视频的亮度范围和色度格式信息的变化情况,而亮度范围和色度格式变化正是HDR视频编码和SDR视频编码的本质区别,从而可以判断HDR视频编码或SDR视频编码是否发生转变。
图2是本发明的一种HDR和SDR自适应码率控制的方法的另一个实施例的流程图,如图2所示,所述HDR视频编码转换为SDR视频编码包括:
11,判断当前帧与前一帧的帧亮度差是否大于设定的亮度变化阈值TH1;
12,若是,则判定为场景切换,直接将当前帧切换为I帧;
13,否则,在对任何一个CU编码时,判断当前CU与前一帧中对应位置CU的MAD值是否大于设定阈值TH2,且检测当前CU的平均亮度值是否在设定亮度范围U1内,所述U1表示偏亮和偏暗的区域,所述MAD表示偏亮和偏暗区域的亮度平均绝对差值;
14,若满足,则当前CU为由亮到暗的渐模糊区,降低当前CU目标码率,将当前CU的目标码率降低到已有目标码率的b倍,所述b<1;
15,若不满足,则提高当前CU的目标码率,当前CU的目标码率提升到已有目标码率的a倍,所述a>1。
因为HDR视频编码转换为SDR视频编码需要减少亮度范围的数据量,在检测亮度对比度变化大的区域,调整码率分配,提升编码的主观质量。
图3是本发明的一种HDR和SDR自适应码率控制的方法的又一个实施例的流程图,如图3所示,所述SDR视频编码转换为HDR视频编码包括:
21,判断当前帧与前一帧的帧亮度差是否大于设定的亮度变化阈值TH1;
22,若是,则判定为场景切换,直接将当前帧切换为I帧;
23,否则,在对任何一个CU编码时,判断当前CU与前一帧中对应位置CU的MAD值是否大于设定阈值TH2,且检测当前CU的平均亮度值是否在设定亮度范围U1内,所述U1表示偏亮和偏暗的区域,所述MAD表示偏亮和偏暗区域的亮度平均绝对差值;
24,若满足,则称当前CU为由暗到亮渐清晰区,提高当前CU的目标码率,当前CU的目标码率提升到已有目标码率的a倍,所述a>1;
25,若不满足,则降低当前CU的目标码率,将当前CU的目标码率降低到已有目标码率的b倍,所述b<1。
因为SDR视频编码转换为HDR视频编码需要增加亮度范围的数据量。
图4是本发明的一种HDR和SDR自适应码率控制的方法的又一个实施例的流程图,如图4所示,所述HDR视频编码器进行HDR视频编码包括:
31,判断当前帧与前一帧的帧亮度差是否大于设定的亮度变化阈值TH1;
32,若是,则判定为场景切换,直接将当前帧切换为I帧;
33,否则,在对任何一个CU编码时,判断当前CU与前一帧中对应位置CU的MAD值是否大于设定阈值TH3,且检测当前CU的平均亮度值是否在设定亮度范围U1内,所述U1表示偏亮和偏暗的区域,所述MAD表示偏亮和偏暗区域的亮度平均绝对差值;
34,若是,则称当前CU为HDR编码剧变区,将当前CU的目标码率提升到a倍,其中a>1;
35,否则,将当前CU的目标码率降低为b倍,其中b<1。
本发明中,HDR视频编码器包括:H265编码器、MPEG2编码器、H264编码器、AVS编码器、AVS+编码器、AVS2编码器。
以上对本发明所提供的一种HDR和SDR自适应码率控制的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。