在播放外部视频的终端中确定OSD菜单区域的方法及装置与流程

文档序号:12696487阅读:384来源:国知局
在播放外部视频的终端中确定OSD菜单区域的方法及装置与流程

本发明涉及显示技术领域,特别涉及一种在播放外部视频的终端中确定OSD菜单区域的方法及装置。



背景技术:

随着显示技术的快速发展,终端具有越来越多的显示功能,比如人们可以将电视与电脑或机顶盒相连接,并通过电视观看电脑中的视频或者观看机顶盒传送的视频。在观看视频的过程中,人们还可以通过电脑或机顶盒的OSD(On Screen Display,屏幕显示)菜单设置亮度或对比度等显示属性,以及更换频道等等,此时电视上可以同时显示视频和OSD菜单。

为了便于描述,将电脑或机顶盒等传送视频的终端称为第一终端,将电视等用于播放视频的终端称为第二终端。当第二终端需要在显示视频的同时显示OSD菜单时,第一终端可以将OSD菜单和视频帧图像进行叠加,合成为一张图像,一般情况下OSD菜单位于该图像的正中间区域,其他区域是视频帧图像,然后第一终端将合成的图像发送给第二终端,第二终端接收并显示合成的图像。

然而,由于第二终端显示的图像为OSD菜单和视频帧图像合成之后的图像,所以当第二终端对合成的图像进行画质处理时,可能会对OSD菜单的部分也一并进行处理,从而造成OSD菜单失真,无法正常显示,因此,亟需一种可以确定OSD菜单区域的方法,以在画质处理时可以避开OSD菜单的显示区域,进而避免OSD菜单的失真。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种在播放外部视频的终端中确定OSD菜单区域的方法及装置。所述技术方案如下:

一方面,提供了一种在播放外部视频的终端中确定OSD菜单区域的方法,所述方法包括:

从当前帧图像中,确定第一像素点集合,所述第一像素点集合中包括满足预设条件的像素点;

其中,所述预设条件包括:像素点的边缘大小大于等于第一预设大小,以及像素点的亮度与上一帧图像中同一位置像素点的亮度之间的差值小于预设亮度,所述边缘大小为像素点沿边缘方向上的亮度梯度;

从所述第一像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,所述OSD像素点为所述当前帧图像之前的连续多张图像中OSD菜单区域所在的像素点;

基于所述第二像素点集合中的像素点确定所述当前帧图像中的OSD菜单区域。

可选地,所述从所述第一像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,包括:

确定所述第一像素点集合中每个像素点的邻域像素点个数,所述邻域像素点个数为所述第一像素点集合中处于像素点的邻域内的像素点个数,所述邻域的大小为第二预设大小;

从所述第一像素点集合中,选择邻域像素点个数大于或等于预设个数的像素点,得到第三像素点集合;

从所述第三像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合。

可选地,所述预设条件还包括如下条件中的至少一个:

当前帧图像中像素点的边缘方向与所述当前帧图像相邻的上一帧图像中同一位置的像素点的边缘方向之间的夹角小于预设夹角;

当前帧图像中像素点的亮度方差大于或等于第一预设方差;

当前帧图像中像素点的亮度方差与所述上一帧图像中同一位置的像素点的亮度方差之间的差值小于第二预设方差。

可选地,所述基于所述第二像素点集合中的像素点确定所述当前帧图像中的OSD菜单区域,包括:

将所述第二像素点集合中的像素点所包围的区域确定为所述当前帧图像中的OSD菜单区域。

可选地,所述基于所述第二像素点集合中的像素点确定所述当前帧图像中的OSD菜单区域,包括:

从所述第二像素点集合中,确定多个边界像素点,所述多个边界像素点分别为横坐标最小或最大且纵坐标最小或最大的像素点;

将所述多个边界像素点所围成的矩形区域确定为所述当前帧图像中的OSD菜单区域。

可选地,所述基于所述第二像素点集合中的像素点确定所述当前帧图像中的OSD菜单区域,包括:

从所述第二像素点集合中,选择多个像素点,所述多个像素点中每个像素点的相邻像素点均属于所述第二像素点集合;

将所述多个像素点所包围的区域确定为所述当前帧图像中的OSD菜单区域。

可选地,所述基于所述第二像素点集合中的像素点确定所述当前帧图像中的OSD菜单区域之后,还包括:

当接收到针对所述当前帧图像的图像处理指令时,对所述当前帧图像中除所述OSD菜单区域之外的区域进行图像处理。

另一方面,提供了一种在播放外部视频的终端中确定OSD菜单区域的装置,所述装置包括:

第一确定模块,用于从当前帧图像中,确定第一像素点集合,所述第一像素点集合中包括满足预设条件的像素点;

其中,所述预设条件包括:像素点的边缘大小大于等于第一预设大小,以及像素点的亮度与上一帧图像中同一位置像素点的亮度之间的差值小于预设亮度,所述边边缘大小为像素点沿边缘方向上的亮度梯度;

选择模块,用于从所述第一像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,所述OSD像素点为所述当前帧图像之前的连续多张图像中OSD菜单区域所在的像素点;

第二确定模块,用于基于所述第二像素点集合中的像素点确定所述当前帧图像中的OSD菜单区域。

可选地,所述选择模块包括:

第一确定单元,用于确定所述第一像素点集合中每个像素点的邻域像素点个数,所述邻域像素点个数为所述第一像素点集合中处于像素点的邻域内的像素点个数,所述邻域的大小为第二预设大小;

第一选择单元,用于从所述第一像素点集合中,选择邻域像素点个数大于或等于预设个数的像素点,得到第三像素点集合;

第二选择单元,用于从所述第三像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合。

可选地,所述预设条件还包括如下条件中的至少一个:

当前帧图像中像素点的边缘方向与所述当前帧图像相邻的上一帧图像中同一位置的像素点的边缘方向之间的夹角小于预设夹角;

当前帧图像中像素点的亮度方差大于或等于第一预设方差;

当前帧图像中像素点的亮度方差与所述上一帧图像中同一位置的像素点的亮度方差之间的差值小于第二预设方差。

可选地,所述第二确定模块包括:

第二确定单元,用于将所述第二像素点集合中的像素点所包围的区域确定为所述当前帧图像中的OSD菜单区域。

可选地,所述第二确定模块包括:

第三确定单元,用于从所述第二像素点集合中,确定多个边界像素点,所述多个边界像素点分别为横坐标最小或最大且纵坐标最小或最大的像素点;

第四确定单元,用于将所述多个边界像素点所围成的矩形区域确定为所述当前帧图像中的OSD菜单区域。

可选地,所述第二确定模块包括:

第三选择单元,用于从所述第二像素点集合中,选择多个像素点,所述多个像素点中每个像素点的相邻像素点均属于所述第二像素点集合;

第五确定单元,用于将所述多个像素点所包围的区域确定为所述当前帧图像中的OSD菜单区域。

可选地,所述装置还包括:

处理模块,用于当接收到针对所述当前帧图像的图像处理指令时,对所述当前帧图像中除所述OSD菜单区域之外的区域进行图像处理。

本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,首先根据当前帧图像中满足预设条件的像素点确定第一像素点集合,从而选择出处于OSD边缘的可能性较大的像素点,然后从第一像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,从而进一步对第一像素点集合中的像素点进行筛选,进而提高了确定当前帧图像中的OSD菜单区域的准确度,当需要对当前帧图像进行图像处理时,可以只针对除OSD菜单区域之外的区域进行图像处理,而不对OSD菜单区域进行处理,从而避免OSD菜单的失真,使得对当前帧图像进行画质处理之后,OSD菜单仍可以正常显示。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1A是本发明实施例提供的一种在播放外部视频的终端中确定OSD菜单区域方法的流程图;

图1B是本发明实施例提供的像素点邻域的示意图;

图1C(a)是本发明实施例提供的第一像素点集合中的各个像素点的示意图;

图1C(b)是本发明实施例提供的终端对第一像素点集合中的各个像素点进行腐蚀运算后得到的像素点的示意图;

图1D(a)是本发明实施例提供的终端对第一像素点集合中的各个像素点进行腐蚀运算后得到的像素点的示意图;

图1D(b)是本发明实施例提供的终端对经过腐蚀运算的当前帧图像中的各个像素点进行膨胀运算后得到的像素点的示意图;

图2A是本发明实施例提供的一种在播放外部视频的终端中确定OSD菜单区域装置的框图;

图2B是本发明实施例提供的一种选择模块的框图;

图2C是本发明实施例提供的一种第二确定模块的框图;

图2D是本发明实施例提供的另一种第二确定模块的框图;

图2E是本发明实施例提供的第三种第二确定模块的框图;

图2F是本发明实施例提供的另一种在播放外部视频的终端中确定OSD菜单区域装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种在播放外部视频的终端中确定OSD菜单区域的方法,其中,播放外部视频的终端可以为智能电视或计算机等终端,参见图1A,该方法包括:

步骤101:从当前帧图像中,确定第一像素点集合,该第一像素点集合中包括满足预设条件的像素点。

其中,对于当前帧图像中的各个像素点,终端首先判断该像素点是否满足预设条件,然后从当前帧图像中,选择满足预设条件的像素点,并将选择的像素点所组成的像素点集合确定为第一像素点集合。其中,该预设条件包括但不限于如下的条件:

(1)当前帧图像中像素点的边缘大小大于等于第一预设大小,该边缘大小为像素点沿边缘方向上的亮度梯度;

(2)当前帧图像中像素点的亮度与上一帧图像中同一位置像素点的亮度之间的差值小于预设亮度。

其中,当该预设条件中包括上述条件(1)和(2)时,终端可以通过下述步骤(1)和步骤(2)确定当前帧图像中的各个像素点是否满足预设条件:

步骤(1):对于当前帧图像中的每个像素点,终端可以确定当前帧图像中该像素点的边缘方向上的边缘大小,然后终端将当前帧图像中像素点的边缘方向上的边缘大小与第一预设大小进行比较,如果该边缘大小大于或等于第一预设大小,则确定当前帧图像中的该像素点满足条件(1),如果该边缘大小小于第一预设大小,则确定当前帧图像中的该像素点不满足条件(1)。

需要说明的是,该边缘方向可以为多个预设方向中边缘大小最大的预设方向,也即是对于多个预设方向中的每个预设方向,当某个像素点沿该预设方向上的亮度梯度最大时,将该预设方向确定为该像素点的边缘方向,并将沿该预设方向上的边缘大小确定为该像素点的边缘方向上的边缘大小。当然,实际应用中,当该多个预设方向包括水平方向和垂直方向时,像素点的边缘方向还可以为垂直方向上边缘大小与水平方向上边缘大小的比值的反正切值所指示的方向,也即是该边缘方向与水平方向之间的夹角为该反正切值,该像素点的边缘大小可以为垂直方向上边缘大小和水平方向上边缘大小的平方和的算术平方根,或者可以为垂直方向上边缘大小的绝对值与水平方向上边缘大小的绝对值的和。其中边缘大小用于表示该像素点沿该预设方向上的亮度梯度,且边缘大小越大,表示该像素点沿边缘方向上的亮度梯度越大,边缘大小越小,表示该像素点沿边缘方向上的亮度梯度越小。

比如,该多个预设方向可以为水平方向x、垂直方向y、与水平方向x呈45度的方向xy以及与水平方向x呈135度的方向yx,且对于当前帧图像中的任一像素点,该像素点在x方向上的边缘大小可以为Ex,在y方向上的边缘大小可以为Ey,在xy方向上的边缘大小可以为Exy,在yx方向上的边缘大小可以为Eyx,当Ex、Ey、Exy和Eyx中Ex的值最大时,终端可以将水平方向x确定为该像素点的边缘方向,并将在水平方向x上的边缘大小Ex确定为该像素点的边缘大小。

再比如,该多个预设方向可以为水平方向x以及垂直方向y,且对于当前帧图像中的任一像素点,该像素点在x方向上的边缘大小可以为Ex,在y方向上的边缘大小可以为Ey,该像素点的边缘方向可以为该像素点的边缘大小可以为或者|Ex|+|Ey|。

步骤(2):对于满足上述条件(1)的各个像素点,终端可以确定该像素点的亮度,也即是确定该像素点的像素值,然后从存储的与当前帧图像相邻的上一帧图像中各个像素点的亮度中,可以确定与当前帧图像中该像素点位于同一位置的像素点的亮度,终端可以确定该像素点的亮度和与当前帧图像相邻的上一帧图像中同一位置的像素点的亮度之间的差值,并将该差值与预设亮度进行比较,如果该差值小于预设亮度,则确定该像素点满足条件(2),如果该差值大于或等于预设亮度,则确定该像素点不满足条件(2)。

由于边缘像素点与非边缘像素点之间的亮度梯度会比较大,而非边缘像素点与非边缘像素点之间的亮度梯度会比较小,因此,当该预设条件包括上述条件(1)时,终端可以从当前帧图像中,选择边缘方向上的边缘大小大于或等于第一预设大小的像素点,也即是选择出处于当前帧图像中任一图形边缘的像素点,而对于选择出的像素点,该像素点既可能处于当前帧图像中OSD的边缘,也可能处于当前帧图像中除OSD之外的图形的边缘。

进一步地,由于当前帧图像相对于与当前帧图像相邻的上一帧图像,视频图像的部分可能会发生变化,而OSD的部分则不会发生变化,也即是对于前后两帧图像来说,OSD部分的亮度不会发生变化,因此,当该预设条件在包括上述条件(1)的基础上还包括上述条件(2)时,终端可以从当前帧图像中满足条件(1)的各个像素点中,选择亮度与当前帧图像相邻的上一帧图像中同一位置的像素点的亮度之间的差值小于预设亮度的像素点,也即是选择前后两帧图像中亮度不发生变化或者亮度变化极小的像素点,从而从多个图形边缘的像素点中,选择出处于OSD边缘的像素点。

需要说明的是,该预设条件不仅可以包括上述两个条件,实际应用中,为了提高确定OSD菜单区域的准确度,该预设条件还可以包括如下条件(3)、(4)、(5)中的至少一个:

(3)当前帧图像中像素点的边缘方向与当前帧图像相邻的上一帧图像中同一位置的像素点的边缘方向之间的夹角小于预设夹角。

(4)当前帧图像中像素点的亮度方差大于或等于第一预设方差。

(5)当前帧图像中像素点的亮度方差与上一帧图像中同一位置的像素点的亮度方差之间的差值小于第二预设方差。

由于当预设条件不同时,终端判断当前帧图像中的各个像素点是否满足预设条件的方法也不同,因此,终端判断当前帧图像中的各个像素点是否满足预设条件的方式在包括上述判断当前帧图像中的各个像素点是否满足条件(1)和(2)的方式的基础上,还可以包括下述三种方式中的至少一者:

第一种方式:当该预设条件还包括上述条件(3)时,对于当前帧图像中满足上述条件(1)和(2)的每个像素点,终端可以确定当前帧图像中该像素点的边缘方向,然后从存储的与当前帧图像相邻的上一帧图像中各个像素点的边缘方向中,可以确定与当前帧图像中该像素点位于同一位置的像素点的边缘方向,终端可以确定当前帧图像中像素点的边缘方向和与当前帧图像相邻的上一帧图像中同一位置的像素点的边缘方向之间的夹角,并将确定的夹角与预设夹角进行比较,如果该夹角小于预设夹角,则确定当前帧图像中的该像素点满足条件(3),如果该夹角大于或等于预设夹角,则确定当前帧图像中的该像素点不满足条件(3)。

对于前后两帧图像中同一位置的像素点,如果该像素点在前后两帧图像中均被确定为处于OSD边缘的像素点,则该像素点在前后两帧图像中的边缘方向应该相同或者相差很小,因此,终端可以进一步从当前帧图像中选择满足上述条件(3)的像素点,从而提高确定OSD边缘像素点的准确度。

第二种方式:当该预设条件还包括上述条件(4)时,对于当前帧图像中满足上述条件(1)和(2)的每个像素点,终端可以确定当前帧图像中该像素点的亮度,以及处于该像素点的邻域内的像素点的亮度,并根据该像素点的亮度以及处于该像素点的邻域内的像素点的亮度,确定该邻域内像素点亮度的平均值,然后根据确定的亮度平均值,确定该邻域内像素点的亮度方差,并将确定的亮度方差确定为当前帧图像中该像素点的亮度方差,终端将当前帧图像中该像素点的亮度方差与第一预设方差进行比较,如果该亮度方差大于或等于第一预设方差,则确定当前帧图像中的该像素点满足条件(4),如果该亮度方差小于第一预设方差,则确定当前帧图像中的该像素点不满足条件(4)。

由于边缘像素点与非边缘像素点之间的亮度方差会比较大,也即是边缘像素点与非边缘像素点之间的亮度差会比较大,因此对于当前帧图像中的各个像素点,当该像素点的亮度方差大于或等于第一预设方差时,可以确定该像素点为边缘像素点的可能性较大,因此,终端可以进一步从当前帧图像中选择满足上述条件(4)的像素点,从而提高确定OSD边缘像素点的准确度。

需要说明的是,终端根据确定的亮度平均值,确定该邻域内像素点的亮度方差的方法可以参考相关技术,本发明实施例对此不做详细阐述。

第三种方式:当该预设条件还包括上述条件(5)时,对于当前帧图像中满足上述条件(1)和(2)的每个像素点,终端可以确定当前帧图像中该像素点的亮度方差,然后从存储的与当前帧图像相邻的上一帧图像中各个像素点的亮度方差中,可以确定与当前帧图像中该像素点位于同一位置的像素点的亮度方差,终端可以确定当前帧图像中像素点的亮度方差和与当前帧图像相邻的上一帧图像中同一位置的像素点的亮度方差之间的差值,并将该差值与第二预设方差进行比较,如果该差值小于第二预设方差,则确定当前帧图像中的该像素点满足条件(5),如果该差值大于或等于第二预设方差,则确定当前帧图像中的该像素点不满足条件(5)。

对于前后两帧图像中同一位置的像素点,如果该像素点在前后两帧图像中均被确定为处于OSD边缘的像素点,则该像素点在前后两帧图像中的亮度方差应该相同或者相差很小,因此,终端可以进一步从当前帧图像中选择满足上述条件(5)的像素点,从而提高确定OSD边缘像素点的准确度。

需要说明的是,当该预设条件包括多个不同的条件时,终端可以从当前帧图像中,选择同时满足该多个条件的像素点,从而可以提高确定OSD边缘像素点的准确度。

另外,终端在确定第一像素点集合之后,还可以为当前帧图像中属于第一像素点集合的像素点添加第一标识,以及为当前帧图像中不属于第一像素点集合的像素点添加第二标识,且第一标识与第二标识不相同,比如第一标识可以为1,第二标识可以为0。

步骤102:确定第一像素点集合中每个像素点的邻域像素点个数,该邻域像素点个数为第一像素点集合中处于每个像素点的邻域内的像素点的个数,该邻域的大小为第二预设大小。

对于第一像素点集合中的每个像素点,该像素点可能为真实处于OSD边缘的像素点,同时也可能为不处于OSD边缘但却满足预设条件的像素点。对于第一种像素点,由于该像素点真实处于OSD边缘,因此与其相邻的像素点也满足预设条件的可能性较大,也即是处于该像素点邻域内的像素点也处于OSD边缘的可能性较大,所以在该像素点的邻域内,属于第一像素点集合的像素点可能较多。而对于第二种像素点,该像素点可能只是偶然的满足预设条件,因此该像素点很可能为孤立存在的点,也即是该像素点满足预设条件,但是处于该像素点邻域内的像素点可能均不满足预设条件或者只有极少数像素点满足预设条件,此时可以认为该像素点处于OSD边缘的可能性较小。因此,终端可以确定第一像素点集合中每个像素点的邻域像素点个数,也即是确定第一像素点集合中每个像素点的邻域内满足预设条件的像素点个数,以从第一像素点集合中,选择出邻域像素点个数较多的像素点,也即是选择出处于OSD边缘可能性较大的像素点。

需要说明的是,对于第一像素点集合中每个像素点,该第二预设大小可以为以该像素点为中心,且与该像素点相邻的M×M个像素点所占区域的大小,其中M为大于2的正奇数。但是为了节约终端的系统资源,M不宜设置的过大,比如将M设置为3或5较为适宜。例如参见图1B,当M为3时,像素点A的邻域大小可以为以像素点A为中心,且与像素点A相邻的3×3个像素点所占的阴影区域的大小。

步骤103:从第一像素点集合中,选择邻域像素点个数大于或等于预设个数的像素点,得到第三像素点集合。

对于第一像素点集合中每个像素点,当该像素点的邻域像素点个数大于或等于预设个数时,可以认为处于该像素点邻域内满足预设条件的像素点比较多,也即是可以认为该像素点为OSD边缘的像素点的可能性较大,因此终端可以从第一像素点集合中,选择邻域像素点个数大于或等于预设个数的像素点,并将选择的像素点所组成的像素点集合确定为第三像素点集合。

需要说明的是,实际应用中,终端可以通过对第一像素点集合中的各个像素点进行开运算,即先进行腐蚀运算,再进行膨胀运算,实现上述步骤102至步骤103,以得到第三像素点集合,该实现方式包括下述步骤(1)、步骤(2)和步骤(3):

(1)腐蚀运算:从第一像素点集合中的各个像素点,选择邻域内的像素点全部属于第一像素点集合的像素点。

例如,第一像素点集合中的各个像素点可以为如图1C(a)所示的像素点,对第一像素点集合中的各个像素点进行腐蚀运算,选择出的像素点可以为如图1C(b)所示的像素点。

(2)膨胀运算:从当前帧图像的各个像素点中,选择邻域内存在至少一个属于第一像素点集合的像素点。

为了避免在确定OSD边缘像素点时误将处于OSD边角的像素点去除,预设个数通常可以设置为1,也即是,当从当前帧图像的各个像素点中,选择邻域内存在至少一个属于第一像素点集合的像素点时,可以认为是选择像素点个数大于或等于预设个数的像素点。

当然,实际应用中,预设个数也可以大于1,本发明实施例对此不作具体限定。

例如,进行腐蚀运算选择出的像素点可以为如图1D(a)所示的像素点,进行膨胀运算选择出的像素点可以为如图1D(b)所示的像素点。

(3)将经过膨胀运算选择的像素点所组成的像素点集合确定为第三像素点集合。

对于当前帧图像中的各个像素点,该像素点可能为下述三类像素点:邻域内的像素点均属于第一像素点集合的像素点,邻域内的像素点有一部分属于第一像素点集合的像素点,以及邻域内的像素点均不属于第一像素点集合的像素点。当终端进行腐蚀运算时,选择出的像素点为第一类像素点,当终端进行膨胀运算时,选择出的像素点为第二类像素点,第一类像素点和第二类像素点取交集的像素点即为像素点个数大于或等于预设个数1的像素点,从而终端可以将包括第一类像素点和第二类像素点的集合确定为第三像素点集合。

例如,终端可以对经过腐蚀运算的当前帧图像中的各个像素点进行膨胀运算,选择出的像素点如图1D(b)所示,并将图1D(b)所示的经过膨胀运算选择的像素点所组成的像素点集合确定为第三像素点集合。

需要说明的是,终端在确定第三像素点集合之后,还可以为当前帧图像中属于第三像素点集合的像素点添加第一标识,以及为当前帧图像中不属于第三像素点集合的像素点添加第二标识。

步骤104:从第三像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,该OSD像素点为当前帧图像之前的连续多张图像中OSD菜单区域所在的像素点。

对于当前帧图像中处于OSD边缘的像素点,在当前帧图像之前的连续多张图像中,与该像素点位于同一位置的像素点均应处于各自对应图像的OSD边缘,因此,终端可以从第三像素点集合中,选择与OSD像素点位于同一位置的像素点,并将选择的像素点所组成的像素点集合确定为第二像素点集合。

需要说明的是,当前帧图像之前的连续多张图像的数量可以为终端事先预设的数值,比如该数量可以为10、15、20等等。另外,由于终端需要尽快确定出当前帧图像中的OSD菜单区域,因此,该数量不宜设置的过大,以免延长确定当前帧图像中的OSD菜单区域的时间,同时也避免终端系统资源的浪费,但该数量也不宜过小,如果该数量过小则会降低确定当前帧图像中的OSD菜单区域的准确度。

另外,终端在确定第二像素点集合之后,还可以为当前帧图像中属于第二像素点集合的像素点添加第一标识,以及为当前帧图像中不属于第二像素点集合的像素点添加第二标识。

步骤105:基于第二像素点集合中的像素点确定当前帧图像中的OSD菜单区域。

在本发明实施例中,可以基于第二像素点集合中的像素点,通过如下三种可能的实现方式确定当前帧图像中的OSD菜单区域,包括:

第一种可能的实现方式,终端从第二像素点集合中,确定多个边缘像素点,多个边缘像素点分别为横坐标最小或最大且纵坐标最小或最大的像素点。

由于大部分的OSD菜单区域为规则的矩形区域,因此,终端可以从第二像素点集合中,确定多个边缘像素点,多个边缘像素点分别为横坐标最小或最大且纵坐标最小或最大的像素点,即横坐标最小且纵坐标最小的像素点、横坐标最小且纵坐标最大的像素点、横坐标最大且纵坐标最小的像素点以及横坐标最大且纵坐标最大的像素点,也即是从第二像素点集合中,确定OSD左下角的像素点、左上角的像素点、右下角的像素点以及右上角的像素点,然后终端可以将该多个边缘像素点所围成的矩形区域确定为当前帧图像中的OSD菜单区域。由于终端只需根据该多个边缘像素点确定当前帧图像中的OSD菜单区域,而无需根据第二像素点集合中的所有的像素点确定当前帧图像中的OSD菜单区域,从而节约了终端的系统资源。

第二种可能的实现方式,终端将第二像素点集合中的像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

对于显示区域不规则的OSD,当终端通过上述第一种可能的实现方式确定当前帧图像中的OSD菜单区域时,可能会将OSD不规则的边角区域确定为除OSD菜单区域之外的其他区域,而这些不规则的边角区域中也可能存在OSD的重要信息,因此,为了避免将可能包括OSD重要信息的边角区域排除在OSD菜单区域之外,终端可以将第二像素点集合中的所有像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

第三种可能的实现方式,终端从第二像素点集合中,选择多个像素点,多个像素点中每个像素点的相邻像素点均属于第二像素点集合;将多个像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

由于终端在执行上述步骤101至步骤104时,可能会因个别数据错乱而导致第二像素点集合中依旧存在极少数孤立像素点或者不满足预设条件的像素点,所以,当终端通过上述第一种以及第二种可能的实现方式确定当前帧图像中的OSD菜单区域时,可能会使确定的OSD菜单区域中仍然包含极少数孤立像素点或者不满足预设条件的像素点,因此,为了进一步提高确定OSD菜单区域的准确度,终端可以从第二像素点集合中,选择多个像素点,并将多个像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

需要说明的是,实际应用中,终端可以通过二次扫描法或者种子填充法实现上述第三种可能的实现方式,以确定当前帧图像中的OSD菜单区域。

另外,由于终端可以为属于第一像素点集合、第二像素点集合、第三像素点集合的像素点添加第一标识,因此终端还可以从当前帧图像中,选择三次标记时均标有第一标识的像素点,并将选择的像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

步骤106:当接收到针对当前帧图像的图像处理指令时,对当前帧图像中除OSD菜单区域之外的区域进行图像处理。

其中,当接收到针对当前帧图像的图像处理指令时,终端可以根据该图像处理指令对应的图像处理操作,对当前帧图像中除OSD菜单区域之外的区域进行图像处理。

需要说明的是,针对当前帧图像的图像处理指令可以由当前持有该终端的用户通过指定操作触发,该指定操作可以为对图像处理操作选项的点击操作、预设轨迹的滑动操作、语音操作等等。

在本发明实施例中,首先根据当前帧图像中满足预设条件的像素点确定第一像素点集合,从而选择出处于OSD边缘的可能性较大的像素点,然后根据第一像素点集合中每个像素点的像素点个数,从第一像素点集合中,选择像素点个数大于或等于预设个数的像素点,得到第三像素点集合,从而可以从第一像素点集合中,去除满足预设条件且孤立存在的像素点,然后从第三像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,从而进一步对第三像素点集合中的像素点进行筛选,进而提高了确定当前帧图像中的OSD菜单区域的准确度,当接收到针对当前帧图像的图像处理指令时,可以只对当前帧图像中除OSD菜单区域之外的区域进行图像处理,而不对OSD菜单区域进行处理,从而避免OSD菜单的失真,使得对当前帧图像进行画质处理之后,OSD菜单仍可以正常显示。

参见图2A,本发明实施例提供了一种在播放外部视频的终端中确定OSD菜单区域装置200,该装置包括:第一确定模块201、选择模块202、第二确定模块203。

第一确定模块201,用于从当前帧图像中,确定第一像素点集合,第一像素点集合中包括满足预设条件的像素点;

其中,预设条件包括:像素点的边缘大小大于等于第一预设大小,以及像素点的亮度与上一帧图像中同一位置像素点的亮度之间的差值小于预设亮度,边缘大小为像素点沿边缘方向上的亮度梯度;

选择模块202,用于从第一像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,OSD像素点为当前帧图像之前的连续多张图像中OSD菜单区域所在的像素点;

第二确定模块203,用于基于第二像素点集合中的像素点确定当前帧图像中的OSD菜单区域。

可选地,参见图2B,选择模块202包括:

第一确定单元2021,用于确定第一像素点集合中每个像素点的邻域像素点个数,邻域像素点个数为第一像素点集合中处于像素点的邻域内的像素点个数,邻域的大小为第二预设大小;

第一选择单元2022,用于从第一像素点集合中,选择邻域像素点个数大于或等于预设个数的像素点,得到第三像素点集合;

第二选择单元2023,用于从第三像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合。

可选地,预设条件还包括如下条件中的至少一个:

当前帧图像中像素点的边缘方向与当前帧图像相邻的上一帧图像中同一位置的像素点的边缘方向之间的夹角小于预设夹角;

当前帧图像中像素点的亮度方差大于或等于第一预设方差;

当前帧图像中像素点的亮度方差与上一帧图像中同一位置的像素点的亮度方差之间的差值小于第二预设方差。

可选地,参见图2C,第二确定模块203包括:

第二确定单元2031,用于将第二像素点集合中的像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

可选地,参见图2D,第二确定模块203包括:

第三确定单元2032,用于从第二像素点集合中,确定多个边界像素点,多个边界像素点分别为横坐标最小或最大且纵坐标最小或最大的像素点;

第四确定单元2033,用于将多个边界像素点所围成的矩形区域确定为当前帧图像中的OSD菜单区域。

可选地,参见图2E,第二确定模块203包括:

第三选择单元2034,用于从第二像素点集合中,选择多个像素点,多个像素点中每个像素点的相邻像素点均属于第二像素点集合;

第五确定单元2035,用于将多个像素点所包围的区域确定为当前帧图像中的OSD菜单区域。

可选地,参见图2F,该装置还包括:

处理模块204,用于当接收到针对当前帧图像的图像处理指令时,对当前帧图像中除OSD菜单区域之外的区域进行图像处理。

综上所述,在本发明实施例中,首先根据当前帧图像中满足预设条件的像素点确定第一像素点集合,从而选择出处于OSD边缘的可能性较大的像素点,然后从第一像素点集合中,选择与OSD像素点位于同一位置的像素点,得到第二像素点集合,从而进一步对第一像素点集合中的像素点进行筛选,进而提高了确定当前帧图像中的OSD菜单区域的准确度,当需要对当前帧图像进行图像处理时,可以只针对除OSD菜单区域之外的区域进行图像处理,而不对OSD菜单区域进行处理,从而避免OSD菜单的失真,使得对当前帧图像进行画质处理之后,OSD菜单仍可以正常显示。

需要说明的是:上述实施例提供的在播放外部视频的终端中确定OSD菜单区域的装置在确定OSD的显示区域时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的在播放外部视频的终端中确定OSD菜单区域的装置与在播放外部视频的终端中确定OSD菜单区域的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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