HDR视频处理-对HDR视频进行抽帧,保存为OpenEXR格式的文件
最近实验室的项目在做 inverse tone mapping,需要制作SDR-HDR视频帧的数据集。经过多方调研整理出一套可以使用的方案,这里做下记录。
HDR视频介绍
HDR(High Dynamic Range)视频指的是具有高动态范围的视频,与普通的SDR(Standard Dynamic Range)视频相比,画面具有更高的亮度,并能保留更多的细节。HDR视频目前主要有三种标准,分别是HDR10 HDR10+和Dolby Vision(杜比视界),这三种标准的对比如下图所示
可以看到HDR10和HDR10+都采用了10bit的位深,而杜比视界采用了12bit的位深。一般来讲,位深越大,色彩表现越细腻。
从视频的数据格式上来讲,除了HLG格式的HDR视频以外,其他三个视频标准都包含了元数据(如视频的色域、平均亮度、最大亮度等信息)。简单来说,这两个数据都是用来在视频播放的过程中告诉播放器应该如何对画面进行渲染的,但是在抽帧时无法保留,这也是抽出的视频帧和视频渲染后的效果不一致的主要原因。
使用ffmpeg对视频进行抽帧的问题
一般使用 ffmpeg 直接进行抽帧的话会导致画面发灰,如下图所示