一种视频处理方法及移动终端的制作方法
【专利摘要】本发明实施例公开了一种视频处理方法及移动终端,该视频处理方法包括:接收并缓存第一原始视频数据的所有帧数据;根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度;根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。本发明实施例还提供一种相应的移动终端。本发明实施例提供的视频处理方法通过确定视频帧数据之间的数据差异程度,选择性的进行了抽帧和/或插帧处理,没有破坏视频帧数据运动的轨迹,提高了视频播放的流畅性。
【专利说明】
一种视频处理方法及移动终端
技术领域
[0001]本发明涉及视频处理领域,特别是涉及一种视频处理方法及移动终端。
【背景技术】
[0002]目前人们对于视频的流畅性要求越来越高,但是我们目前看到的视频由于带宽、大小,播放设备等限制都是进行了抽帧处理,因此我们一般看到的都只有15帧,24帧,25帧,或30帧的视频帧率,这样的帧率和原始拍摄的视频相比流畅性降低了很多。比如电影原本拍摄的都是60帧每秒,但实际上我们看到的高清电影一般就只有30帧了,就是每隔一帧就抽掉了一帧。并且现在的抽帧做法基本都是等间隔进行的。
[0003]由于这样的抽帧并没有考虑视频内容变化的快慢,这样就造成了当视频场景变化很快的时候看起来就特别不流畅,帧率越低的时候越明显。而现在优化视频流畅性采用的插帧方法,就是通过比较两帧之间的差异,预判它的运动轨迹然后插入相应的内容。现在的抽帧方法对于场景变化很慢的内容没有大的影响,但对于场景变化很快的内容就会加大他们之间的差异导致无法很好预判它的发展趋势,因此终端在进行流畅性优化时所采用的插帧效果也不明显。
【发明内容】
[0004]本发明实施例提供一种视频处理方法,用以解决现有技术中视频固定间隔的抽帧处理方法中未考虑视频内容变化的快慢,无法对视频内容的发展趋势进行很好的预判,从而破坏了场景的发展趋势的问题,提高了视频播放的流畅性的问题。
[0005]本发明实施例提供一种视频处理方法,包括:
[0006]接收并缓存第一原始视频数据的所有帧数据;
[0007]根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度;
[0008]根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。
[0009]本发明实施例还提供一种移动终端,包括:
[0010]第一接收缓存模块,用于接收并缓存第一原始视频数据的所有帧数据;
[0011]第一差异确定模块,用于确根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度;
[0012]第一执行处理模块,用于根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。
[0013]本发明实施例提供的视频处理方法,接收并缓存第一原始视频数据的所有帧数据;根据缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度;根据确定的数据差异程度,调整第一原始视频数据的数据帧,获取第二视频数据;对视频进行了选择性的抽帧和/或插帧处理,没有破坏视频数据运动的轨迹,提高了视频播放的流畅性。
【附图说明】
[0014]图1a为本发明视频处理方法的实施例流程图;
[0015]图1b为本发明确定第一原始视频数据的所有帧数据之间的数据差异程度的方法的实施例流程图;
[0016]图1c为本发明调整所述第一原始视频数据的数据帧的第一实施例流程图;
[0017]图1d为本发明调整所述第一原始视频数据的数据帧的第二实施例流程图;
[0018]图1e为本发明调整所述第一原始视频数据的数据帧的第三实施例流程图;
[0019]图2a为本发明移动终端的第一实施例结构示意图;
[0020]图2b为本发明移动终端的第二实施例结构示意图;
[0021]图2c为本发明移动终端的第三实施例结构示意图;
[0022]图3为本发明视频处理方法的帧数据仅进行抽帧处理的一种具体实施过程的示意图;
[0023]图4为本发明视频处理方法的帧数据仅进行插帧处理的一种具体实施过程的示意图;
[0024]图5为本发明视频处理方法的帧数据进行抽帧和插帧处理的一种具体实施过程的示意图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]本发明针对现有技术中视频固定间隔的抽帧处理方法中未考虑视频内容变化的快慢,无法对视频内容的发展趋势进行很好的预判,从而破坏了场景的发展趋势的问题,提供一种视频处理方法及移动终端,通过计算视频帧数据之间的数据差异值,对视频帧数据进行了选择性的抽帧和/或插帧处理,没有破坏视频帧数据运动的轨迹,提高了视频播放的流畅性。
[0027]第一实施例:
[0028]如图1所示,本发明实施例提供一种视频处理方法,包括:
[0029]步骤101,接收并缓存第一原始视频数据的所有帧数据。
[0030]该步骤中,接收待处理的第一原始视频数据,并缓存所接收的第一原始视频数据的所有帧数据,每帧数据对应一张图片。
[0031]步骤102,根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度。
[0032]该步骤可以进一步包括:
[0033]步骤1021,依次提取所述缓存的所述第一原始视频数据的相邻两帧数据;
[0034]这里,可以按照流水线处理的方式,对缓存中保存的第一原始视频数据进行提取和处理。
[0035]步骤1022,计算所述相邻两帧数据之间的数据差异值;
[0036]这里,所述数据差异值包括相邻两帧数据之间的不同像素点的个数、相邻两帧数据之间每个像素点rgb分量的第一数据差异值或相邻两帧数据之间的不同像素区域的个数。
[0037]这里,计算所述相邻两帧数据之间的数据差异值可以采用现有技术中的已有算法,实现对相邻帧数据之间的差异值的计算,为节约篇幅,此处不再赘述。
[0038]步骤1023,根据所述计算出的数据差异值,确定所述相邻两帧数据的数据差异程度。
[0039]例如,当采用相邻两帧数据之间的不同像素点的个数作为所述数据差异值时,可以比较相邻两帧数据中对应的像素点,判断对应的像素点的数据是否相同,并根据判断的结果,获得相邻两帧数据之间的不同像素点的个数。
[0040]再例如,当采用相邻两帧数据之间每个像素点rgb分量的第一数据差异值作为所述数据差异值时,具体可以是:比较相邻两帧数据中对应的像素点的对应rgb分量的数据差异,将比较得到的所有rgb分量的数据差异进行求和计算,将计算得到的和值,作为所述数据差异值。
[0041]又例如,当采用相邻两帧数据之间的不同像素区域的个数作为所述数据差异值时,具体可以是:将帧数据对应的整个图像划分为预定大小的预定像素区域,比较相邻两个帧数据之间对应的像素区域,确定相邻两个帧数据之间不同像素区域的个数。其中,两个像素区域是否相同,可以依据两个像素区域中不同像素点的个数是否超出预设的阈值,当超出该阈值时,则认为该两个像素区域不同。
[0042]步骤103,根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。
[0043]本发明上述实施例中,可以对原始视频数据仅进行抽帧处理,所述步骤103可以进一步包括:
[0044]步骤1031,将所述计算出的数据差异值与预设阈值进行比较。
[0045]所述预设阈值为一帧数据像素总数的k%,其中,k大于等于15,且k小于等于70,所述预设阈值可以是现有技术中通过应用程序设置的,当然也可以是从新的技术中得到该预设阈值。
[0046]步骤1032,当所述数据差异值大于所述预设阈值时,保留所述相邻两帧数据。
[0047]当所述数据差异值大于所述预设阈值时,说明该相邻两数据帧的帧数据数据内容差异较大,若抽取其中任何一帧会造成最后得到的第二视频数据播放不流畅,所以在所述数据差异值大于所述预设阈值时,保留所述相邻两帧数据。
[0048]步骤1033,当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。
[0049]当所述数据差异值小于或等于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异不大或没有差异,若抽取其中任何一帧不会造成最后得到的第二视频数据播放不流畅,所以在所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。
[0050]本发明上述实施例中,可以对原始视频数据仅进行插帧处理,所述步骤103可以进一步包括:
[0051]步骤1041,将所述计算出的数据差异值与预设阈值进行比较。
[0052]所述预设阈值为一帧数据像素总数的k%,其中,k大于等于15,且k小于等于70,所述预设阈值可以是现有技术中通过应用程序设置的,当然也可以是从新的技术中得到该预设阈值。
[0053]步骤1042,当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理。
[0054]当所述数据差异值大于所述预设阈值时,说明该相邻两数据帧的帧数据数据内容差异较大,若不作处理,在最后得到的第二视频数据播放时会出现不流畅现象;若在该相邻两数据帧之间插入一帧或多帧过渡帧,可以使最后得到的第二视频数据流畅地播放;所以在所述数据差异值大于所述预设阈值时,对所述相邻两数据帧进行插帧处理。
[0055]步骤1043,当所述数据差异值小于或等于所述预设阈值时,保留所述相邻两帧数据。
[0056]当所述数据差异值小于或等于所述预设阈值时,说明该相邻两数据帧的帧数据数据内容差异不大或没有差异,在最后得到的第二视频数据播放时不会出现不流畅现象;所以在所述数据差异值小于或等于所述预设阈值时,可以保留所述相邻两数据帧。
[0057]本发明上述实施例中,可以对原始视频数据进行插帧和抽帧处理,所述步骤103可以进一步包括:
[0058]步骤1051,将所述计算出的数据差异值与预设阈值进行比较。
[0059]所述预设阈值为一帧数据像素总数的κ%,其中,k大于等于15,且k小于等于70,所述预设阈值可以是现有技术中通过应用程序设置的,当然也可以是从新的技术中得到该预设阈值。
[0060]步骤1052,当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理。
[0061]当所述数据差异值大于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异较大,若不作处理,在最后得到的第二视频数据播放时会出现不流畅现象;若在该相邻两数据帧之间插入一帧或多帧过渡帧,可以使最后得到的第二视频数据流畅地播放;所以在所述数据差异值大于所述预设阈值时,对所述相邻两数据帧进行插帧处理。
[0062]步骤1053,当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。
[0063]当所述数据差异值小于或等于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异不大或没有差异,若抽取其中任何一帧不会造成最后得到的第二视频数据播放不流畅,所以在所述数据差异值小于或等于所述预设阈值时,对所述相邻两数据帧进行抽帧处理。
[0064]本发明的上述实施例的视频处理方法,通过确定缓存的第一原始视频数据中帧数据之间的差异程度,调整第一原始视频的帧数据,对第一原始视频数据中的帧数据进行选择性的抽帧和/或插帧处理,没有破坏第一原始视频数据中的帧数据运动的轨迹,提高了视频播放的流畅性。
[0065]第二实施例:
[0066]如图2所示,为本发明实施例移动终端的第一实施例结构示意图,本发明实施例还提供一种移动终端,包括:
[0067]第一接收缓存模块201,用于接收并缓存第一原始视频数据的所有帧数据。
[0068]第一差异确定模块202,用于根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度。
[0069]所述第一差异确定模块202还包括:
[0070]第一提取子模块,用于依次提取所述缓存的所述第一原始视频数据的相邻两帧数据;
[0071]这里,可以按照流水线处理的方式,对缓存中保存的第一原始视频数据进行提取和处理。
[0072]第一差异计算子模块,用于所述相邻两帧数据之间的数据差异值;
[0073]这里,所述的数据差异值包括相邻两帧数据之间的不同像素点的个数、相邻两帧数据之间每个像素点rgb分量的数据差异值或相邻两帧数据之间的不同像素区域的个数。
[0074]这里,计算所述相邻两帧数据之间的数据差异值可以采用现有技术中的已有算法,实现对相邻帧数据之间的差异值的计算,为节约篇幅,此处不再赘述。
[0075]第一差异确定子模块,用于根据所述计算出的数据差异值,确定所述相邻两帧数据的数据差异程度。
[0076]例如,当采用相邻两帧数据之间的不同像素点的个数作为所述数据差异值时,可以比较相邻两帧数据中对应的像素点,判断对应的像素点的数据是否相同,并根据判断的结果,获得相邻两帧数据之间的不同像素点的个数。
[0077]再例如,当采用相邻两帧数据之间每个像素点rgb分量的第一数据差异值作为所述数据差异值时,具体可以是:比较相邻两帧数据中对应的像素点的对应rgb分量的数据差异,将比较得到的所有rgb分量的数据差异进行求和计算,将计算得到的和值,作为所述数据差异值。
[0078]又例如,当采用相邻两帧数据之间的不同像素区域的个数作为所述数据差异值时,具体可以是:将帧数据对应的整个图像划分为预定大小的预定像素区域,比较相邻两个帧数据之间对应的像素区域,确定相邻两个帧数据之间不同像素区域的个数。其中,两个像素区域是否相同,可以依据两个像素区域中不同像素点的个数是否超出预设的阈值,当超出该阈值时,则认为该两个像素区域不同。
[0079]第一执行处理模块203,用于根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。
[0080]作为一种具体实现方式,本发明的上述实施例中所述的第一执行处理模块203可以包括:
[0081]第一差异比较子模块,用于将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的k%,其中,k大于等于15,且k小于等于70 ;
[0082]这里,所述预设阈值可以是现有技术中通过应用程序设置的,当然也可以是从以后新的技术中得到该预设阈值。
[0083]第一保留处理子模块,用于当所述数据差异值大于所述预设阈值时,保留所述相邻两帧数据;
[0084]当所述数据差异值大于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异较大,若抽取其中任何一帧会造成最后得到的第二视频数据播放不流畅,所以在所述数据差异值大于所述预设阈值时,保留所述相邻两数据帧。
[0085]第一抽帧处理子模块,用于当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。
[0086]当所述数据差异值小于或等于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异不大或没有差异,若抽取其中任何一帧不会造成最后得到的第二视频数据播放不流畅,所以在所述数据差异值小于或等于所述预设阈值时,对所述相邻两数据帧进行抽帧处理。
[0087]作为另一种具体实现方式,本发明的上述实施例中所述的第一执行处理模块203可以包括:
[0088]第二差异比较子模块,用于将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的k%,其中,k大于等于15,且k小于等于70 ;
[0089]这里,所述预设阈值可以是现有技术中通过应用程序设置的,当然也可以是从以后新的技术中得到该预设阈值。
[0090]第一插帧处理子模块,用于当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理;
[0091]当所述数据差异值大于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异较大,若不作处理,在最后得到的第二视频数据播放时会出现不流畅现象;若在该相邻两数据帧之间插入一帧或多帧过渡帧,可以使最后得到的第二视频数据流畅地播放;所以在所述数据差异值大于所述预设阈值时,对所述相邻两数据帧进行插帧处理。
[0092]第二保留处理子模块,用于当所述数据差异值小于或等于所述预设阈值时,保留所述相邻两帧数据。
[0093]当所述数据差异值小于或等于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异不大或没有差异,在最后得到的第二视频数据播放时不会出现不流畅现象;所以在所述数据差异值小于或等于所述预设阈值时,可以保留所述相邻两数据帧。
[0094]作为又一种具体实现方式,本发明的上述实施例中所述的第一执行处理模块203可以包括:
[0095]第三差异比较子模块,用于将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的κ%,其中,k大于等于15,且k小于等于70 ;
[0096]这里,所述预设阈值可以是现有技术中通过应用程序设置的,当然也可以是从以后新的技术中得到该预设阈值。
[0097]第二插帧处理子模块,用于当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理;
[0098]当所述数据差异值大于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异较大,若不作处理,在最后得到的第二视频数据播放时会出现不流畅现象;若在该相邻两数据帧之间插入一帧或多帧过渡帧,可以使最后得到的第二视频数据流畅地播放;所以在所述数据差异值大于所述预设阈值时,对所述相邻两数据帧进行插帧处理。
[0099]第二抽帧处理子模块,用于当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。
[0100]当所述数据差异值小于或等于所述预设阈值时,说明该相邻两数据帧的帧数据内容差异不大或没有差异,若抽取其中任何一帧不会造成最后得到的第二视频数据播放不流畅,所以在所述数据差异值小于或等于所述预设阈值时,对所述相邻两数据帧进行抽帧处理。
[0101]本发明的上述实施例的移动终端,通过确定缓存的第一原始视频数据中帧数据之间的差异程度,调整第一原始视频的帧数据,对第一原始视频数据中的帧数据进行选择性的抽帧和/或插帧处理,没有破坏第一原始视频数据中的帧数据运动的轨迹,提高了视频播放的流畅性。
[0102]本发明的终端实施例能实现方法实施例中各步骤,在此不再详述。
[0103]第三实施例:
[0104]如图3所示,为本发明实施例视频处理方法的帧数据仅进行抽帧处理的一种具体实施过程的示意图。下面结合该图具体说明帧数据仅进行抽帧处理的实施过程。
[0105]步骤301:申请两个缓存区a和b,预设阈值为一帧数据像素总数的20% ;依次提取缓存的第一原始视频帧数据的相邻两帧帧数据framel和frame2,分别放入缓存区a和缓存区b。
[0106]其中,依次提取缓存的第一原始视频帧数据的相邻两帧的帧数据,可以按照流水线处理的方式,对缓存中保存的第一原始视频数据进行提取和处理。
[0107]步骤302:计算framel和frame2之间的数据差异值,统计framel和frame2之间不同像素点的个数。
[0108]该步骤中,本发明实施例中采用相邻两帧数据之间的不同像素点的个数作为所述数据差异值,可以比较相邻两帧数据中对应的像素点,判断对应的像素点的数据是否相同,并根据判断的结果,获得相邻两帧数据之间的不同像素点的个数;且计算所述相邻两帧数据之间的数据差异值可以采用现有技术中的已有算法,实现对相邻帧数据之间的差异值的计算。
[0109]当然,也可以采用将相邻两帧数据之间每个像素点rgb分量的数据差异值作为所述数据差异值,或相邻两帧数据之间的不同像素区域的个数作为所述数据差异值。
[0110]步骤303:判断framel和frame2之间不同像素点的个数大于一帧数据像素总数的20%,保留该两帧数据。
[0111]通过步骤302中的计算统计得到的frame i和frame2之间不同像素点的个数,判断framel和frame2之间不同像素点的个数,本实施例中framel和frame2之间不同像素点的个数大于一帧数据像素总数的20%,即超出预设的阈值,说明framel和frame2该相邻两帧的帧数据内容差异比较大,若抽取其中任何一帧会造成最后得到的第二视频数据的帧数据内容衔接不上,播放不流畅,所以framel和frame2该相邻两帧不可缺失,保留该两数据帧。
[0112]步骤304:缓存第一原始视频帧数据的frame3到缓存区a。
[0113]缓存第一原始视频帧数据的frame3到缓存区a之后进入步骤305和步骤306,执行与上述步骤302和步骤303相同的算法处理,对相邻两数据帧frame2和frame3之间的不同像素点的个数与预设的阈值比较,本实施例中frame2和frame3之间的不同像素点的个数大于一帧数据像素总数的20%,所以保留该两数据帧。
[0114]步骤305:计算frame2和frame3之间的数据差异值,统计frame2和frame3之间不同像素点的个数。
[0115]步骤306:判断frame2和frame3之间不同像素点的个数大于一帧数据像素总数的20%,保留该两帧数据。
[0116]步骤307:缓存第一原始视频帧数据的frame4到缓存区b。
[0117]缓存第一原始视频帧数据的frame4到缓存区b之后进入步骤308和步骤309,执行与上述步骤302和步骤303相同的算法处理,对相邻两数据帧frame3和frame4之间的不同像素点的个数与预设的阈值比较,本实施例中frame3和frame4之间的不同像素点的个数小于一帧数据像素总数的20%,所以抽掉数据帧frame4。
[0118]步骤308:计算frame3和frame4之间的数据差异值,统计frame3和frame4之间不同像素点的个数。
[0119]步骤309:判断frame3和frame4之间不同像素点的个数小于一帧数据像素总数的20 %,抽掉帧数据frame4。
[0120]这里需要说明的是,frame3和frame4之间的不同像素点的个数小于一帧数据像素总数的20%,即未超出预设的阈值,说明frame3和frame4该相邻两帧的帧数据内容差异不大,若抽掉数据帧frame4不会影响最后得到的第二视频数据播放的流畅性。
[0121]按照上述的方式,对后续相邻的两帧数据计算,并与预设阈值进行比较,对相邻的两帧数据执行相应的处理;缓存到缓存区b的frame5,与相邻的数据帧frame3计算比较判断,结果抽掉数据帧frame5 ;与缓存到缓存区b的frame6计算比较判断,结果保留该两数据帧,依次类推,这里不再赘述。
[0122]需要说明的是,本实施例采用的比较方法不限于此,还可以使用第三方的软件处理算法。
[0123]本发明的上述实施例中,通过确定缓存的第一原始视频数据中帧数据之间的差异程度,调整第一原始视频的帧数据,对第一原始视频数据中的帧数据进行选择性的抽帧处理,没有破坏第一原始视频数据中的帧数据运动的轨迹,提高了视频播放的流畅性。
[0124]第四实施例:
[0125]如图4所示,为本发明实施例视频处理方法的帧数据仅进行插帧处理的一种具体实施过程的示意图。下面结合该图具体说明帧数据仅进行插帧处理的实施过程。
[0126]步骤401:申请三个缓存区a、b和c,预设阈值为30% ;依次提取缓存的第一原始视频帧数据的相邻两帧帧数据framel和frame2,分别放入缓存区a和缓存区b。
[0127]依次提取缓存的第一原始视频帧数据的相邻两帧帧数据,可以按照流水线处理的方式,对缓存中保存的第一原始视频数据进行提取和处理。
[0128]步骤402:计算framel和frame2之间的数据差异值,统计framel和frame2之间不同像素点的个数。
[0129]这里,本发明实施例中采用相邻两帧数据之间的不同像素点的个数作为所述数据差异值,可以比较相邻两帧数据中对应的像素点,判断对应的像素点的数据是否相同,并根据判断的结果,获得相邻两帧数据之间的不同像素点的个数;且计算所述相邻两帧数据之间的数据差异值可以采用现有技术中的已有算法,实现对相邻帧数据之间的差异值的计笪并o
[0130]当然,也可以采用将相邻两帧数据之间每个像素点rgb分量的数据差异值作为所述数据差异值,或相邻两帧数据之间的不同像素区域的个数作为所述数据差异值。
[0131]步骤403:判断framel和frame2之间不同像素点的个数大于一帧数据像素总数的30%,生成过渡帧frame 1-2。
[0132]其中,过渡帧frame 1-2生成过程为:以framel为基础,拷贝frame2与framel之间差异像素的数据到该基础帧数据像素的对应位置上,生成新的过渡帧framel-2 ;
[0133]这里需要说明的是,frame2与framel之间差异像素的数据只需部分拷贝即可,且不限于仅生成一个过渡帧数据,可拷贝差异像素的数据中的不同像素数据到基础帧数据像素的不同对应位置上,生成不同的过渡帧。
[0134]本实施例中framel和frame2之间不同像素点的个数大于一帧数据像素总数的30%,即超出预设的阈值,说明framel和frame2该相邻两帧的帧数据内容差异比较大,会影响最后得到的第二视频数据的帧数据内容衔接不上,播放不流畅,生成一个过渡帧framel-2,会使得最后得到的第二视频数据的帧数据内容播放时,用户视觉上不会感觉到视频画面的跳跃,很流畅。
[0135]步骤404:将过渡帧frame 1-2插入到缓存区a和b之间的缓存区c,即插入过渡帧frame 1-2 到 framel 和 frame2 之间。
[0136]这里,可以采用现有技术中已有的插入方式,插入生成的过渡帧,当然也可以采用其他新的帧插入方式。
[0137]步骤405:缓存第一原始视频帧数据的frame3到缓存区a。
[0138]步骤406:与上述步骤402相同,计算相邻两帧frame2和frame3之间的数据差异值,统计frame2和frame3之间不同像素点的个数。
[0139]步骤407:与上述步骤403相同,将相邻两帧frame2和frame3之间不同像素点的个数与预设的阈值比较,本实施例中frame2和frame3之间不同像素点的个数小于一帧数据像素总数的30%,保留该两帧数据。
[0140]本实施例中frame2和frame3之间不同像素点的个数小于一帧数据像素总数的30%,说明frame2和frame3该相邻两帧的帧数据内容差异不大,最后得到的第二视频数据的帧数据内容播放时,用户视觉感受是流畅的,没有视频画面跳跃的感受,所以保留该两数据帧。
[0141]按照上述的方式,对后续相邻的两帧数据计算,并与预设阈值进行比较,对相邻的两帧数据执行相应的处理,如缓存到缓存区b的frame4,与相邻的数据帧frame3计算比较判断,结果保留该两数据帧;与缓存到缓存区a的frame5计算比较判断,结果插入生成的过渡帧frame4-5,依次类推,这里不再赘述。
[0142]需要说明的是,本实施例采用的比较方法不限于此,还可以使用第三方的软件处理算法。
[0143]本发明的上述实施例中,通过确定缓存的第一原始视频数据中帧数据之间的差异程度,调整第一原始视频的帧数据,对第一原始视频数据中的帧数据进行选择性的插帧处理,没有破坏第一原始视频数据中的帧数据运动的轨迹,提高了视频播放的流畅性。
[0144]第五实施例:
[0145]如图5所示,为本发明实施例视频处理方法帧数据进行抽帧和插帧处理的一种具体实施过程的示意图。下面结合该图具体说明帧数据进行抽帧和插帧处理的实施过程。
[0146]步骤501:申请三个缓存区a、b和c,预设阈值为50% ;依次提取缓存的第一原始视频帧数据的相邻两帧帧数据framel和frame2,分别放入缓存区a和缓存区b。
[0147]依次提取缓存的第一原始视频帧数据的相邻两帧帧数据,可以按照流水线处理的方式,对缓存中保存的第一原始视频数据进行提取和处理。
[0148]步骤502:计算framel和frame2之间的数据差异值,统计framel和frame2之间不同像素点的个数。
[0149]这里,本发明实施例中采用相邻两帧数据之间的不同像素点的个数作为所述数据差异值,可以比较相邻两帧数据中对应的像素点,判断对应的像素点的数据是否相同,并根据判断的结果,获得相邻两帧数据之间的不同像素点的个数;且计算所述相邻两帧数据之间的数据差异值可以采用现有技术中的已有算法,实现对相邻帧数据之间的差异值的计笪并ο
[0150]当然,也可以采用将相邻两帧数据之间每个像素点rgb分量的数据差异值作为所述数据差异值,或相邻两帧数据之间的不同像素区域的个数作为所述数据差异值。
[0151]步骤503:判断framel和frame2之间不同像素点的个数小于一帧数据像素总数的50 %,抽掉帧数据frame2。
[0152]这里,framel和frame2之间不同像素点的个数小于一帧数据像素总数的50%,即未超出预设的阈值,说明framel和frame2该相邻两帧的帧数据内容差异不大,若抽掉数据帧frame2不会影响最后得到的第二视频数据播放的流畅性,所以本实施例中framel和frame2之间不同像素点的个数小于一帧数据像素总数的50%,抽掉数据帧frame2 ;
[0153]步骤504:缓存第一原始视频帧数据的frame3到缓存区b。
[0154]步骤505:与上述步骤502相同,计算相邻两帧framel和frame3之间的数据差异值,由于上述步骤503中抽掉了数据帧frame2,所以framel和frame3相邻,统计framel和frame3之间不同像素点的个数。
[0155]步骤506:判断framel和frame3之间不同像素点的个数大于一帧数据像素总数的50%,生成过渡帧framel-3,其中,过渡帧frame 1-3生成过程为:以framel为基础,拷贝framel与frame3之间差异像素的数据到该基础帧数据像素的对应位置上,生成新的过渡帧 frame1-3。
[0156]这里需要说明的是,framel与frame3之间差异像素的数据只需部分拷贝即可,且不限于仅生成一个过渡帧数据,可拷贝差异像素的数据中的不同像素数据到基础帧数据像素的不同对应位置上,生成不同的过渡帧。
[0157]本实施例中framel和frame3之间不同像素点的个数大于一帧数据像素总数的50%,即超出预设的阈值,说明framel和frame2该相邻两帧的帧数据内容差异比较大,会影响最后得到的第二视频数据的帧数据内容衔接不上,播放不流畅,生成一个过渡帧framel-3,会使得最后得到的第二视频数据的帧数据内容播放时,用户视觉上不会感觉到视频画面的跳跃,很流畅。
[0158]步骤507:将过渡帧framel-3插入到缓存区a和b之间的缓存区c,即插入过渡帧framel-3 到 framel 和 frame3 之间。
[0159]这里,可以采用现有技术中已有的插入方式,插入生成的过渡帧,当然也可以采用其他新的帧插入方式。
[0160]按照上述的方式,对后续相邻的两帧数据计算,并与预设阈值进行比较,对相邻的两帧数据执行相应的处理,如如缓存到缓存区a的frame4,与相邻的数据帧frame3计算比较判断,结果插入生成的过渡帧frame3-4到缓存区c ;与缓存到缓存区b的frame5计算比较判断,结果抽掉数据帧frame5,以此类推,这里不再赘述。
[0161]需要说明的是,本实施例采用的比较方法不限于此,还可以使用第三方的软件处理算法。
[0162]本发明的上述实施例中,通过确定缓存的第一原始视频数据中帧数据之间的差异程度,调整第一原始视频的帧数据,对第一原始视频数据中的帧数据进行选择性的抽帧和插帧处理,没有破坏第一原始视频数据中的帧数据运动的轨迹,提高了视频播放的流畅性。
[0163]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory, rom)或随机存储记忆体(random accessmemory, ram)等。
[0164]以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
【主权项】
1.一种视频处理方法,其特征在于,包括: 接收并缓存第一原始视频数据的所有帧数据; 根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度; 根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。2.根据权利要求1所述的视频处理方法,其特征在于,所述确定所述第一原始视频数据的所有帧数据之间的数据差异程度,包括: 依次提取所述缓存的所述第一原始视频数据的相邻两帧数据; 计算所述相邻两帧数据之间的数据差异值; 根据所述计算出的数据差异值,确定所述相邻两帧数据的数据差异程度。3.根据权利要求2所述的视频处理方法,其特征在于,所述数据差异值包括相邻两帧数据之间的不同像素点的个数、相邻两帧数据之间每个像素点rgb分量的数据差异值或相邻两帧数据之间的不同像素区域的个数。4.根据权利要求2所述的视频处理方法,其特征在于,所述根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据,包括: 将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的k%,其中,k大于等于15,且k小于等于70 ; 当所述数据差异值大于所述预设阈值时,保留所述相邻两帧数据; 当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。5.根据权利要求2所述的视频处理方法,其特征在于,所述根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据,包括: 将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的κ%,其中,k大于等于15,且k小于等于70 ; 当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理; 当所述数据差异值小于或等于所述预设阈值时,保留所述相邻两帧数据。6.根据权利要求2所述的视频处理方法,其特征在于,所述根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据,包括: 将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的κ%,其中,k大于等于15,且k小于等于70 ; 当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理; 当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。7.—种移动终端,其特征在于,包括: 第一接收缓存模块,用于接收并缓存第一原始视频数据的所有帧数据; 第一差异确定模块,用于根据所述缓存的第一原始视频数据的所有帧数据,确定所述第一原始视频数据的所有帧数据之间的数据差异程度; 第一执行处理模块,用于根据所述确定的数据差异程度,调整所述第一原始视频数据的数据帧,获取第二视频数据。8.根据权利要求7所述的移动终端,其特征在于,所述第一差异确定模块还包括: 第一提取子模块,用于依次提取所述缓存的所述第一原始视频数据的相邻两帧数据; 第一差异计算子模块,用于计算所述相邻两帧数据之间的数据差异值; 第一差异确定子模块,用于根据所述计算出的数据差异值,确定所述相邻两帧数据的数据差异程度。9.根据权利要求8所述的移动终端,其特征在于,所述数据差异值包括相邻两帧数据之间的不同像素点的个数、相邻两帧数据之间每个像素点rgb分量的数据差异值或相邻两帧数据之间的不同像素区域的个数。10.根据权利要求8所述的移动终端,其特征在于,所述第一执行处理模块还包括: 第一差异比较子模块,用于将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的k%,其中,k大于等于15,且k小于等于70 ; 第一保留处理子模块,用于当所述数据差异值大于所述预设阈值时,保留所述相邻两帧数据; 第一抽帧处理子模块,用于当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。11.根据权利要求8所述的移动终端,其特征在于,所述第一执行处理模块还包括: 第二差异比较子模块,用于将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的κ%,其中,k大于等于15,且k小于等于70 ; 第一插帧处理子模块,用于当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理; 第二保留处理子模块,用于当所述数据差异值小于或等于所述预设阈值时,保留所述相邻两帧数据。12.根据权利要求8所述的移动终端,其特征在于,所述第一执行处理模块还包括: 第三差异比较子模块,用于将所述计算出的数据差异值与预设阈值进行比较,所述预设阈值为一帧数据像素总数的κ%,其中,k大于等于15,且k小于等于70 ; 第二插帧处理子模块,用于当所述数据差异值大于所述预设阈值时,对所述相邻两帧数据进行插帧处理; 第二抽帧处理子模块,用于当所述数据差异值小于或等于所述预设阈值时,对所述相邻两帧数据进行抽帧处理。
【文档编号】h04n21/44gk105828184sq201510552026
【公开日】2016年8月3日
【申请日】2015年8月31日
【发明人】柯力, 张胜利
【申请人】维沃移动通信有限公司