一种提升高动态范围视频观看体验的方法与流程

文档序号:11157264阅读:来源:国知局

技术特征:

1.一种提升高动态范围视频观看体验的方法,其特征在于,包括如下步骤:

对待播视频流进行缓冲,检测缓冲视频队列中存在的场景切换帧,

当存在所述场景切换帧,计算当前播放场景和待播放场景之间的平均亮度等级,判断场景切换时亮度变化的幅度,

对亮度变化幅度大的画面进行平滑处理。

2.根据权利要求1所述的一种提升高动态范围视频观看体验的方法,其特征在于,包括如下步骤:

解析当前视频流的HDR EOTF标识符,根据所述标识符获取EOTF公式,将待播放视频流缓冲NUM个帧,

检测NUM个帧中存在的场景切换帧,

当存在所述场景切换帧,标记所述场景切换帧索引为Idx,

根据所述EOTF公式计算当前播放帧和场景切换帧之间n个帧的真实平均亮度Y0,Y1,...YIdx-1,且基于此得出当前播放场景的平均亮度值YScenes0=(Y0+Y1+…+YIdx-1)/n,

根据所述EOTF公式计算场景切换帧及其之后NUM个帧的真实平均亮度YIdx,YIdx1,…YIdxNUM

判断|YScenes0-YIdx|与预设阀值Thd_global的大小,

当|YScenes0-YIdx|<Thd_global时,说明亮度切换幅度较小,不执行平滑处理,

当|YScenes0-YIdx|>Thd_global时,判断YScenes0和YIdx是否属于同一亮度等级,

当YScenes0和YIdx不属于同一亮度等级,分别对场景切换帧及其之后的NUM个帧进行亮度平均处理,

当YScenes0和YIdx属于同一亮度等级,判断|YScenes0-YIdx|与预设阀值Thdx之间的大小,

当|YScenes0-YIdx|大于预设阀值Thdx,进行平滑处理,

当|YScenes0-YIdx|小于预设阀值Thdx,不进行平滑处理。

3.根据权利要求2所述的一种提升高动态范围视频观看体验的方法,其特征在于,所述平滑处理包括如下步骤:

在对数域计算平滑后的亮度预设值Y_Balance,得到

<mrow> <mi>Y</mi> <mo>_</mo> <mi>B</mi> <mi>a</mi> <mi>l</mi> <mi>a</mi> <mi>n</mi> <mi>c</mi> <mi>e</mi> <mo>=</mo> <msqrt> <mrow> <msub> <mi>Y</mi> <mrow> <mi>S</mi> <mi>c</mi> <mi>e</mi> <mi>n</mi> <mi>e</mi> <mi>s</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>Y</mi> <mrow> <mi>I</mi> <mi>d</mi> <mi>x</mi> </mrow> </msub> </mrow> </msqrt> <mo>,</mo> </mrow>

对于待处理帧的亮度分别计算亮部区域和暗部区域的平均亮度值Y_Bright和Y_Dark,

计算亮部区域平滑后的亮度预设值Y_BrightBalance,得到

<mrow> <mi>Y</mi> <mo>_</mo> <mi>B</mi> <mi>r</mi> <mi>i</mi> <mi>g</mi> <mi>h</mi> <mi>t</mi> <mi>B</mi> <mi>a</mi> <mi>l</mi> <mi>a</mi> <mi>n</mi> <mi>c</mi> <mi>e</mi> <mo>=</mo> <msqrt> <mrow> <mi>Y</mi> <mo>_</mo> <mi>B</mi> <mi>a</mi> <mi>l</mi> <mi>a</mi> <mi>n</mi> <mi>c</mi> <mi>e</mi> <mo>&times;</mo> <mi>Y</mi> <mo>_</mo> <mi>B</mi> <mi>r</mi> <mi>i</mi> <mi>g</mi> <mi>h</mi> <mi>t</mi> </mrow> </msqrt> <mo>,</mo> </mrow>

计算暗部区域平滑后的亮度预设值Y_DarkBalance,得到

<mrow> <mi>Y</mi> <mo>_</mo> <mi>D</mi> <mi>a</mi> <mi>r</mi> <mi>r</mi> <mi>B</mi> <mi>a</mi> <mi>l</mi> <mi>a</mi> <mi>n</mi> <mi>c</mi> <mi>e</mi> <mo>=</mo> <msqrt> <mrow> <mi>Y</mi> <mo>_</mo> <mi>B</mi> <mi>a</mi> <mi>l</mi> <mi>a</mi> <mi>n</mi> <mi>c</mi> <mi>e</mi> <mo>&times;</mo> <mi>Y</mi> <mo>_</mo> <mi>D</mi> <mi>a</mi> <mi>r</mi> <mi>k</mi> </mrow> </msqrt> <mo>,</mo> </mrow>

根据所述亮部区域和暗部区域的所述亮度预设值,分别对所述亮部区域和暗部区域进行亮度调整,完成对待处理帧的亮度调整Y′Idx

根据所述EOFT逆变换公式更新所述待处理帧的信号值,

更新当前场景亮度平均值Y′Scenes=(YScenes×n-Y0+Y′Idx)/n,

重复所述在对数域计算平滑后的亮度预设值的步骤直到所述场景切换帧后的NUM个帧都平滑处理完毕。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1