专利名称:流媒体视频图像放大方法和流媒体接收客户端的制作方法
技术领域:
本发明涉及网络中的流媒体播放,尤其涉及一种流媒体视频图像放大方法 和相应的流媒体接收客户端。
背景技术:
现有技术中流々某体播放受网络带宽的限制,其编码率相对较低,例如现 在的网络电视的编码率只有443k/s,这样的清晰度只能满足用户观看视频图像 的最基本需求。为了提高用户客户端显示出的视频图像的清晰度,方法之一是提高网络带宽,以便传送码率更高的视频图像,该方法实现成本高;方法之二是由客户端 对接收的图像进行放大。现有技术中,由客户端对单个图片的放大技术比较成 熟,如何对流媒体图像进行放大,还没有相应的实现方式。视频流的特点是图像帧变换快,现有技术中,网络传送的流媒体视频帧包 括关键帧和非关键帧,关键帧里包含了比较多的视频数据信息,通过关键帧基 本上可以显示出一个比较完整的图片;非关键帧里的信息就少了很多,仅传输 像素值的变化部分。因此,可以利用视频流的关键帧和非关键帧在客户端进行 快速无失真的图像放大,满足用户对图像质量的要求。发明内容本发明提供一种流媒体视频图像放大方法和流媒体接收客户端,用以解决 现有技术中流媒体接收客户端不能实现对接收的流媒体图像进行同步无失真 放大的问题。本发明方法包括
流媒体接收端接收到流媒体视频的关键帧后,获取其对应图像的指定区域的图像信息,并按照预定的放大倍数放大所述指定区域图像;当接收到流媒体视频的非关键帧时,判断所述指定区域图像所包含的像素 点对应的像素值是否发生改变;如果是,则相应改变放大后的指定区域图像对 应像素点的像素值。根据本发明的上述方法,预先在流媒体接收端设置所述指定区域图像所对 应的屏幕区域位置、放大倍数、放大后图像在屏幕中的显示区域位置以及启动 /停止流媒体视频图像i文大的快捷方式。所述放大指定区域图像,具体包括获取指定区域图像所包含的像素点及其对应像素值;采用插值算法对所述指定区域图像进行放大。根据本发明的上述方法,当流i某体接收端才艮据接收的流媒体视频的非关键 帧,改变放大后图像对应像素点的像素值后,还改变其相邻像素点的像素值。 所述改变其相邻像素点的像素值,具体包括将放大后图像中像素值发生改变的像素点作为中心像素点,分别选取其 上、下、左、右四个方向最相邻的像素点为其相邻像素点;改变每一个相邻像素点的当前像素值为该中心像素点改变后的像素值乘 以一个设定的系凄丈。所述改变其相邻像素点的像素值,具体包括将放大后图像中像素值发生改变的像素点作为中心像素点,分别选取其 上、下、左、右四个方向最相邻的像素点为其相邻像素点;在所述中心像素点与各相邻像素点的连线方向,再分别选取四个最相邻的 像素点作为对应的次相邻像素点;改变每一个相邻像素点的当前像素值为该中心像素点改变后的像素值和 同一方向的次相邻像素点的像素值的平均值。根据本发明的上述方法,流媒体接收端根据所接收的视频帧帧头中携带的标志位信息,判断当前接收的视频帧为关键帧或非关键帧。本发明还提供一种流媒体接收客户端,包括输入/输出接口模块和视频图像显示模块,还包括第一功能模块和第二功能模块所述第一功能模块,用于当输入/输出接口模块接收到流媒体视频的关键帧 后,获取该关键帧对应图像的指定区域的图像信息,并按照预定的放大倍数放 大所述指定区域图像,并通过所述视频图像显示模块显示出所述放大后的图像;所述第二功能模块,用于当接收到流媒体视频的非关键帧且所述指定区域 图像所包含的像素点对应的像素值发生改变时,相应改变放大后的指定区域图 像对应像素点的像素值或/和该对应像素点的相邻像素点的像素值。还包括第一判断模块和第二判断模块;所述第 一判断模块,用于对输入/输出接口模块接收的流媒体视频帧进行判 断,根据所接收的视频帧帧头中携带的标志位信息,判断当前接收的视频帧为 关键帧或非关键帧;当判断出当前接收的视频帧为关键帧时,启动所述第一功能模块;当判断出当前接收的^L频帧为非关键帧时,启动所述第二判断模块,判断 所述指定区域图像所包含的像素点对应的像素值是否发生改变;当判断出发生 改变时,启动所述第二功能模块。还包括设置模块;所述设置模块,用于提供用户设置被放大的指定区域图像所对应的屏幕区 域位置、放大倍数、放大后图像在屏幕中的显示区域位置以及启动/停止流媒体 视频图像放大的快捷方式;所述第一功能模块启动后,读取所述设置模块中的相关设置信息,获取指 定区域的图像信息,并按照预定的放大倍数放大所述指定区域图像,并将放大 后的图像通过所述视频图像显示模块显示在设定的屏幕显示区域。本发明有益效果如下 采用本发明,通过预先在流媒体接收端设置指定放大的屏幕区域位置、放 大倍数、放大后图像在屏幕中的显示区域位置以及启动/停止流媒体视频图像放 大的快捷方式等,当流媒体接收端接收到流媒体视频的关键帧后,获取其对应图像的指定区域的图像信息,并按照预定的放大倍数放大指定区域图像;当接 收到流媒体视频的非关键帧时,如果判断出指定区域图像所包含的像素点对应 的像素值发生了改变,则相应改变放大后的指定区域图像对应像素点的像素 值。这样,既实现了对指定屏幕区域的对应图像进行无失真的放大,同时由于 对非关键帧的处理比较简单,对客户端的处理能力要求不是太高,使得客户端 能根据接收的视频流对放大后的图像进行同步处理。本发明对关键帧图像采取插值算法进行图像放大,以保证放大后的图像质 量,使放大后图像的清晰度达到用户要求;本发明根据接收的非关键帧来改变 放大后图像对应像素点的像素值,并为了进一步保证放大后的图像质量,当改 变了放大后图像对应像素点的像素值后,还改变其相邻像素点的像素值。具体 方法可采用较简单的乘系数法或平均法等。这样,既保证放大后的图像质量, 又尽可能地减小客户端的计算处理复杂度。因此,本发明提供了一种对视频流 图像进行放大的有效处理方法。
图1为本发明提供的对流媒体视频图像进行放大的步骤流程图; 图2为本发明提供的流媒体接^户端结构示意图。
具体实施方式
本发明提供的流媒体视频图像放大方法,包括流媒体接收端接收到流媒体视频的关键帧后,获取其对应图像的指定区域 的图像信息,并按照预定的放大倍数放大指定区域图像;当接收到流媒体视频 的非关键帧时,判断指定区域图像所包含的像素点对应的像素值是否发生改
变;如果是,则相应改变放大后的指定区域图像对应像素点的像素值。从而实 现对指定区域的图像根据接收的流媒体视频帧进行同步放大。下面结合附图,对本发明方法加以详细描述。参见图1,本发明方法包括如下步骤步骤S101、在流媒体接收端预先增加一个设置模块(软件程序),该设置 模块用于提供用户设置被放大的指定区域图像所对应的屏幕区域位置、放大倍 数、放大后图像在屏幕中的显示区域位置以及启动/停止流媒体视频图像放大的 快捷方式等;用户在流々某体接收端接收流媒体节目前启动该设置模块,具体启 动方式可以釆用现有技术中的各种启动方式,例如打开相应的设置文件,或 选择相应的设置菜单,或点击相应的设置按钮等;设置模块被启动后,会提示 用户输入参数信息,具体参数包括1 )被放大的指定区域图像所对应的屏幕区域位置用户可以输入 [O,O]-[ 100, 100],表示用户希望放大屏幕中由
像素点到[100,100]像素点100 个像素点所对应的区域图像;2) 放大倍数如用户输入数字3,表示请指定区域图像放大3倍;3) 放大后图像在屏幕中的显示区域位置同第一个参数,用户可以指定 放大后图像在当前屏幕中的显示位置,如用像素点位置表示;当然也可以用屏 幕坐标表示;4) 启动/停止流媒体视频图像放大的快捷方式具体的快捷方式可以由用 户随意设定,或提供备选快捷方式由用户选择等。以上参数,仅为举例,本发明对具体参数不作限定。在流媒体接收端设置放大指定区域图像所需参数的具体设置方式,可以采 用现有技术中的各种实现方式,本发明对此不作限定。步骤S102、流媒体接收端截获第一个视频关键帧。在该步骤S102中,流媒体接收端根据所接收的每一个视频帧帧头中携带 的标志位信息,判断当前接收的视频帧为关键帧或非关键帧。例如将帧头中
的标志位设置为"1"表示当前帧为关键帧,将帧头中的标志位设置为"0"表示当前帧为非关键帧。在没有截获到第一个关键帧前对接收的非关键帧不作处理,继续判断接收 到的下一个视频帧,直到截获到第一个关键帧时,继续下列步骤。步骤S103、对关键帧的指定区域图像按照设定的图像放大算法进行图像放 大处理,并在客户端的视频窗口中根据设定的放大后图像在屏幕中的显示区域 位置,显示出放大后的图像。在该步骤S103中,为了保证放大后图像的质量能满足清晰度的要求,一 般采用插值算法对指定区域图像进行放大。例如采用现有技术中的双线性插值 法。其基本实现原理为假设需将原图像在宽度方向放大n倍,在高度方向放大m倍,其中,m、 n 为大于l的整数,则具体放大方法包括按序选取原图像中的四个相邻像素点A、 B、 C和D,并获取其对应像素值 VA、 Vb、 Vc和Vd;在所选取的四个相邻像素点之间插入中间插值点,按下式计算出各中间插 值点的像素值Vij;<formula>formula see original document page 10</formula>附《式中,i、 j表示中间插值点与所选四个像素点的相对位置坐标,<formula>formula see original document page 10</formula>该步骤中釆用双线性插值法对接收的关键帧的指定区域图像进行放大,仅 为 一个举例,实际中还可以采用其它现有技术中较成熟的能保证放大后图像质 量要求的任意 一种图像放大方法。步骤S104、判断当前处理帧是否为最后一个视频帧,或者是否捕获到用户 点击了结束图像放大流程的快捷菜单或按钮;当判断出当前处理帧为最后一个 视频帧,或者用户点击了结束图像放大流程的快捷菜单或按钮时,结束图像放 大流程,关闭客户端窗口上显示出的放大图像;否则,继续步骤S105。 步骤S105、流媒体接收端接收下一个图像帧,继续步骤S106。 步骤S106、流媒体接收端判断当前接收的图像帧是否为关键帧,如果是关键帧,转至步骤S103;如果是非关键帧,执行步骤S107。步骤S107、根据接收的非关键帧判断指定放大的图像区域所包含的像素点对应的像素值是否发生了变化,如果是,则执行步骤S108;否则,转至步骤S104。步骤S108、流媒体接收端根据接收的非关键帧中携带的像素点的像素值变 化信息,改变放大后图像对应像素点的像素值;还改变其相邻像素点的像素值, 执行完毕后,转至步骤S104。改变其相邻像素点的像素值,具体方法包括方法一将放大后图像中像素值发生改变的像素点作为中心像素点,分别 选取其上、下、左、右四个方向最相邻的像素点为其相邻像素点;改变每一个相邻像素点的当前像素值为该中心像素点改变后的像素值乘 以 一个设定的系数,使得每一个相邻像素点的像素值与该中心像素点改变后的 像素值比较接近,例如该系数的最佳取值为0.8 。方法二将放大后图像中像素值发生改变的像素点作为中心像素点,分别 选取其上、下、左、右四个方向最相邻的像素点为其相邻像素点;在中心像素点与各相邻像素点的连线方向,再分别选取四个最相邻的像素 点作为对应的次相邻像素点;改变每一个相邻像素点的当前像素值为该中心像素点改变后的像素值和 同 一方向的次相邻像素点的像素值的平均值。以上是本发明对流媒体视频图像进行放大的具体实施方法步骤。根据本发 明提供的上述方法,本发明还提供一种具有相应功能的流々某体接收客户端10, 其结构示意图如图2所示,至少包括输入/输出接口模块101,用于与网络侧交互,接收/发送流媒体音视频帧;视频图像显示模块102,用于根据接收的视频帧在客户端的显示窗口上显 示出相应的#见频图<象,并显示出放大后的^见频图像;设置模块103,用于提供用户设置被放大的指定区域图像所对应的屏幕区 域位置、放大倍数、放大后图像在屏幕中的显示区域位置以及启动/停止流媒体视频图像放大的快捷方式;第一判断模块104,用于对输入/输出接口模块101接收的流媒体^L频帧进 行判断,根据所接收的视频帧帧头中携带的标志位信息,判断当前接收的视频 帧为关键帧或非关键帧;当判断出当前接收的视频帧为关键帧时,启动第一功 能模块105;当判断出当前接收的视频帧为非关键帧时,启动第二判断模块106;第一功能模块105,读取设置模块103中的相关设置信息,获取指定区域 的图像信息,并按照预定的放大倍数放大所述指定区域图像,并将放大后的图 像通过视频图像显示模块02显示在设定的屏幕显示区域;第二判断模块106,判断指定区域图像所包含的像素点对应的像素值是否 发生改变;当判断出发生改变时,启动所述第二功能模块107;第二功能模块107,相应改变放大后的指定区域图像对应像素点的像素值 或者同时改变该对应像素点的相邻像素点的像素值。综上所述,本发明通过预先在流媒体接收端设置指定放大的屏幕区域位 置、放大倍数、放大后图像在屏幕中的显示区域位置以及启动/停止流媒体视频 图像放大的快捷方式等,当流媒体接收端接收到流媒体视频的关键帧后,获取 其对应图像的指定区域的图像信息,并按照预定的放大倍数放大指定区域图 像;当接收到流媒体视频的非关键帧时,如杲判断出指定区域图像所包含的像 素点对应的像素值发生了改变,则相应改变放大后的指定区域图像对应像素点 的像素值。这样,既实现了对指定屏幕区域的对应图像进行无失真的放大,同 时由于对非关键帧的处理比较简单,对客户端的处理能力要求不是太高,使得 客户端能根据接收的视频流对放大后的图像进行同步处理。本发明对关键帧图像采取插值算法进行图像放大,以保证放大后的图像质 量,使放大后图像的清晰度达到用户要求;本发明根据接收的非关键帧来改变 放大后图像对应像素点的像素值,并为了进一步保证放大后的图像质量,当改 变了放大后图像对应像素点的像素值后,还改变其相邻像素点的像素值。具体 方法可采用较简单的乘系数法或平均法等。这样,既保证放大后的图4象质量, 又尽可能地减小客户端的计算处理复杂度。因此,本发明提供了一种对视频流 图像进行放大的有效处理方法。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种流媒体视频图像放大方法,其特征在于,包括流媒体接收端接收到流媒体视频的关键帧后,获取其对应图像的指定区域的图像信息,并按照预定的放大倍数放大所述指定区域图像;当接收到流媒体视频的非关键帧时,判断所述指定区域图像所包含的像素点对应的像素值是否发生改变;如果是,则相应改变放大后的指定区域图像对应像素点的像素值。
2、 如权利要求1所述的方法,其特征在于,预先在流i某体接收端设置所 述指定区域图像所对应的屏幕区域位置、放大倍数、放大后图像在屏幕中的显 示区域位置以及启动/停止流媒体视频图像放大的快捷方式。
3、 如权利要求1所述的方法,其特征在于,所述^L大指定区域图像,具 体包括获取指定区域图像所包含的像素点及其对应像素值; 采用插值算法对所述指定区域图像进行放大。
4、 如权利要求1所述的方法,其特征在于,当流々某体接收端根据接收的 流媒体视频的非关键帧,改变放大后图像对应像素点的像素值后,还改变其相 邻像素点的像素值。
5、 如权利要求4所述的方法,其特征在于,所述改变其相邻像素点的像 素值,具体包括将放大后图像中像素值发生改变的像素点作为中心像素点,分别选取其 上、下、左、右四个方向最相邻的像素点为其相邻像素点;改变每一个相邻像素点的当前像素值为该中心像素点改变后的像素值乘 以设定的系数。
6、 如权利要求4所述的方法,其特征在于,所述改变其相邻像素点的像 素值,具体包括将放大后图像中像素值发生改变的像素点作为中心像素点,分别选取其 上、下、左、右四个方向最相邻的像素点为其相邻像素点;在所述中心像素点与各相邻像素点的连线方向,再分别选取四个最相邻的像素点作为对应的次相邻像素点;改变每一个相邻像素点的当前像素值为该中心像素点改变后的像素值和 同 一 方向的次相邻像素点的像素值的平均值。
7、 如权利要求1所述的方法,其特征在于,流々某体接收端根据所接收的 视频帧帧头中携带的标志位信息,判断当前接收的视频帧为关键帧或非关键帧。
8、 一种流媒体接收客户端,包括输入/输出接口模块和视频图像显示模块, 其特征在于,还包括第一功能模块和第二功能模块所述第 一功能模块,用于当输入/输出接口模块接收到流媒体视频的关键帧 后,获取该关键帧对应图像的指定区域的图像信息,并按照预定的放大倍数放 大所述指定区域图像,并通过所述视频图像显示模块显示出所述放大后的图像;所述第二功能模块,用于当接收到流媒体视频的非关键帧且所述指定区域 图像所包含的像素点对应的像素值发生改变时,相应改变放大后的指定区域图 像对应像素点的像素值或/和该对应像素点的相邻像素点的像素值。
9、 如权利要求8所述的流々某体接收客户端,其特征在于,还包括第一 判断模块和第二判断模块;所述第一判断模块,用于对输入/输出接口模块接收的流媒体视频帧进行判断,根据所接收的视频帧帧头中携带的标志位信息,判断当前接收的视频帧为关键帧或非关键帧;当判断出当前接收的视频帧为关键帧时,启动所述第一功能模块; 当判断出当前接收的视频帧为非关键帧时,启动所述第二判断模块,判断所述指定区域图像所包含的像素点对应的像素值是否发生改变;当判断出发生改变时,启动所述第二功能模块。
10、如权利要求9所述的流媒体接收客户端,其特征在于,还包括设置 模块;所述设置模块,用于提供用户设置被放大的指定区域图像所对应的屏幕区 域位置、放大倍数、放大后图像在屏幕中的显示区域位置以及启动/停止流媒体 视频图 <象放大的快捷方式;所述第一功能模块启动后,读取所述设置模块中的相关设置信息,获取指 定区域的图像信息,并按照预定的放大倍数放大所述指定区域图像,并将放大 后的图像通过所述视频图像显示模块显示在设定的屏幕显示区域。
全文摘要
本发明公开了一种流媒体视频图像放大方法,包括流媒体接收端接收到流媒体视频的关键帧后,获取其对应图像的指定区域的图像信息,并按照预定的放大倍数放大所述指定区域图像;当接收到流媒体视频的非关键帧时,判断所述指定区域图像所包含的像素点对应的像素值是否发生改变;如果是,则相应改变放大后的指定区域图像对应像素点的像素值。本发明还公开了相应的流媒体接收客户端。采用本发明能实现对接收的流媒体图像进行同步无失真放大,使得用户通过网络接收流媒体时,能观看到放大后的高质量的视频图像画面。
文档编号H04N7/26GK101155301SQ200610141029
公开日2008年4月2日 申请日期2006年9月28日 优先权日2006年9月28日
发明者邓宇龙 申请人:腾讯科技(深圳)有限公司