CN112312201A - 一种视频转场的方法、系统、装置及存储介质 - Google Patents
一种视频转场的方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN112312201A CN112312201A CN202010272969.XA CN202010272969A CN112312201A CN 112312201 A CN112312201 A CN 112312201A CN 202010272969 A CN202010272969 A CN 202010272969A CN 112312201 A CN112312201 A CN 112312201A
- Authority
- CN
- China
- Prior art keywords
- video
- transition
- current
- source
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000007704 transition Effects 0.000 title claims abstract description 369
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 57
- 230000009466 transformation Effects 0.000 claims description 142
- 239000011159 matrix material Substances 0.000 claims description 83
- 230000002194 synthesizing effect Effects 0.000 claims description 15
- 230000004927 fusion Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000013519 translation Methods 0.000 description 6
- 238000007500 overflow downdraw method Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种视频转场的方法、系统、装置及存储介质,具体包括:客户端向视频转场系统平台提交视频转场请求,视频转场请求携带有n个视频标识和n‑1个转场类型;所述视频转场系统平台根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频并向所述客户端返回视频转场结果。应用本申请实施例方案,由于无需人工操作视频转场,只需将需要转场的n个视频提供给视频转场系统平台,就可以自动实现n个视频的转场处理,从而达到提高转场效率的技术效果。
Description
技术领域
本申请涉及视频处理技术领域,尤其涉及一种视频转场的方法、一种视频转场的系统、一种视频转场的装置、一种电子设备以及一种计算机可读存储介质。
背景技术
在两个不同场景视频之间的切换称为视频转场。现有的视频转场技术通常包括硬转场和软转场两种模式。硬转场是指两个不同场景的视频不经过处理,直接衔接的视频处理方式;软转场是指两个不同场景的视频进行过渡衔接的视频处理方式。转场的前一个视频可以称为源视频,转场后的视频称为目的视频,即将源视频转场到目的视频。其中,硬转场比较生硬、不自然,用户的直观体验不佳。软转场虽然可以实现过渡衔接,但通常由人工操作专业软件逐一进行处理,其效率比较低。
发明内容
针对上述现有技术,本申请实施例公开一种视频转场的方法,可以避免人工操作专业软件的繁琐,自动实现视频的转场处理,达到提高转场效率的技术效果。
本申请实施例公开的一种视频转场的方法,该方法包括:
视频转场系统平台接收到客户端提交的视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;
所述视频转场系统平台根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频;
所述视频转场系统平台向所述客户端返回视频转场结果。
进一步地,
所述依次根据前一个视频与后一个视频的转场类型进行转场处理的步骤包括:
将所述n个视频中的第一个视频作为当前源视频,将第二个视频作为当前目的视频;
将所述当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧,并设置两组序列帧的重叠部分;
针对所述第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频;其中在处理所述两组序列帧的重叠部分时,根据所述当前源视频和所述当前目的视频的转场类型对所述重叠部分进行融合;
将所述当前源视频与当前目的视频的转场视频作为新的当前源视频,将下一个视频作为新的当前目的视频,返回所述将当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧的步骤,直到处理完所述n个视频。
进一步地,
所述针对第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频的步骤包括:
根据所述第一组序列帧、所述第二组序列帧和重叠部分确定合成的总帧数,且预设帧序号对应所述第一组序列帧和第二组序列帧中的图像,初始化为1;
判断所述帧序号是否对应所述两组序列帧的重叠部分,如果是,则根据所述当前源视频和所述当前目的视频的转场类型对所述帧序号对应的当前源图像和当前目的图像进行融合,将融合后的图像作为合成处理的图像;否则,则直接将所述帧序号对应的当前源图像或当前目的图像作为合成处理的图像;
将所述帧序号加1,并返回所述判断帧序号是否对应所述两组序列帧的重叠部分的步骤,直到所述帧序号到达所述总帧数。
进一步地,
所述根据当前源视频和当前目的视频的转场类型对所述帧序号对应的当前源图像和当前目的图像进行融合的步骤包括:
将所述当前源图像对应的当前源图像标识、所述当前目的图像对应的当前目的图像标识、所述转场类型以及当前转场进度作为参数调用已有的WebGL程序,所述当前源图像标识用于指示所述当前源图像,所述当前目的图像标识用于指示所述当前目的图像,所述当前转场进度是根据所述当前源图像和所述当前目的图像位于所述重叠部分中的位置确定的;
所述WebGL程序根据所述当前源图像标识确定所述当前源图像,根据所述当前目的图像标识确定所述当前目的图像,根据所述当前源图像或所述当前目的图像生成所有的像素点坐标,并将第一个像素点坐标作为当前坐标;
所述WebGL程序将所述当前坐标作为输入参数调用基于GLSL的转场模型,获得与所述当前转场进度对应的像素值,将获得的像素值作为所述当前坐标对应的融合像素值,所述基于GLSL转场模型是预设的符合所述转场类型的模型;
所述WebGL程序将下一个坐标作为新的当前坐标,返回所述将当前坐标作为输入参数调用基于GLSL的转场模型的步骤,直到处理完所有像素点坐标,以获得所述当前源图像和当前目的图像融合后的图像。
进一步地,
所述将当前坐标作为输入参数调用基于GLSL的转场模型的步骤包括:
根据所述当前坐标、预设的源变换矩阵以及所述当前转场进度获得源变换坐标,从所述当前源图像中的所述源变换坐标处获取源像素值;
根据所述当前坐标、预设的目的变换矩阵以及所述当前转场进度获得目的变换坐标,从所述当前目的图像中的所述目的变换坐标处获取目的像素值;
根据所述源像素值、所述目的像素值和所述当前转场进度确定所述当前转场进度对应的像素值。
进一步地,
所述源变换矩阵包括第一源变换矩阵、第二源变换矩阵和第三源变换矩阵;所述源像素值包括第一源像素值、第二源像素值和第三源像素值;
所述根据所述当前坐标、预设的源变换矩阵以及所述当前转场进度获得源变换坐标,从所述当前源图像中的所述源变换坐标处获取源像素值的步骤包括:
根据所述当前坐标、所述第一源变换矩阵以及所述当前转场进度获得第一源变换坐标,从所述当前源图像中的所述第一源变换坐标处获得第一源像素值;
根据所述当前坐标、所述第二源变换矩阵以及所述当前转场进度获得第二源变换坐标,从所述当前源图像中的所述第二源变换坐标处获得第二源像素值;
根据所述当前坐标、所述第三源变换矩阵以及所述当前转场进度获得第三源变换坐标,从所述当前源图像中的所述第三源变换坐标处获得第三源像素值;
根据所述第一源像素值、第二源像素值和第三源像素值确定所述源像素值。
进一步地,
所述目的变换矩阵包括第一目的变换矩阵、第二目的变换矩阵和第三目的变换矩阵;所述目的像素值包括第一目的像素值、第二目的像素值和第三目的像素值;
所述根据当前坐标、预设的目的变换矩阵以及所述当前转场进度获得目的变换坐标,从所述当前目的图像中的所述目的变换坐标处获取目的像素值的步骤包括:
根据所述当前坐标、所述第一目的变换矩阵以及所述当前转场进度获得第一目的变换坐标,从所述当前目的图像中的所述第一目的变换坐标处获得第一目的像素值;
根据所述当前坐标、所述第二目的变换矩阵以及所述当前转场进度获得第二目的变换坐标,从所述当前目的图像中的所述第二目的变换坐标处获得第二目的像素值;
根据所述当前坐标、所述第三目的变换矩阵以及所述当前转场进度获得第三目的变换坐标,从所述当前目的图像中的所述第三目的变换坐标处获得第三目的像素值;
根据所述第一目的像素值、第二目的像素值和第三目的像素值确定所述目的像素值。
本申请实施例还公开一种视频转场的系统,可以避免人工操作专业软件的繁琐,自动实现视频的转场处理,达到提高转场效率的技术效果。
本申请实施例公开的一种视频转场的系统,包括客户端和视频转场系统平台;其中,
所述客户端,用于向所述视频转场系统平台提交视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;
所述视频转场系统平台,用于根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频,并向所述客户端返回视频转场结果。
本申请实施例还公开一种视频转场的装置,可以避免人工操作专业软件的繁琐,自动实现视频的转场处理,达到提高转场效率的技术效果。
本申请实施例公开的一种视频转场的装置,该装置包括:
收发模块,用于接收来自客户端的视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;向所述客户端返回视频转场结果;
视频转场模块,用于根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频。
进一步地,
所述视频转场模块包括:
视频拆分模块,用于将所述n个视频中的第一个视频作为当前源视频,将第二个视频作为当前目的视频;将所述当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧,并设置两组序列帧的重叠部分;
合成模块,针对所述第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频;其中在处理所述两组序列帧的重叠部分时,根据所述当前源视频和所述当前目的视频的转场类型对所述重叠部分进行融合;将所述当前源视频与当前目的视频的转场视频作为新的当前源视频,将下一个视频作为新的当前目的视频,返回所述将当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧的步骤,直到处理完所述n个视频。
本申请实施例还公开一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时可实现如上所述视频转场的方法的步骤。
本申请实施例还公开一种电子设备,该电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1~7任一项所述的视频转场的方法的步骤。
综上所述,本申请实施例公开的一种视频转发的方案中,由于设置了视频转场系统平台为客户端提供视频转场服务,客户端仅提交视频转场请求,视频转场系统平台就可以自动进行视频转场处理,客户端无需人工操作专业软件,从而大大提高了视频转场效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例实现视频转场的系统结构示意图。
图2是本申请方法实施例一的流程图。
图3是本申请方法实施例二中,依次根据前一个视频与后一个视频的转场类型进行转场处理的流程图。
图4是本申请实施例二中两组序列帧重叠的情况示意图。
图5是本申请方法实施例三中,将第一组序列帧和第二组序列帧进行合成处理的方法流程图。
图6是本申请方法实施例四中的图像融合方法流程图。
图7是本申请方法实施例五中实现分形重影式的转场模型的方法流程图。
图8是本申请方法实施例五中分形重影的实际效果图。
图9是本申请实现视频转场的装置实施例一的结构示意图。
图10是本申请实现视频转场的装置实施例二的结构示意图。
图11是本申请实施例中的电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请实施例提出一种视频转场的方法,无需人工操作,客户端只需要提交视频转场请求,视频转场系统平台就可以自动将n个视频进行转场处理,形成完整的转场视频,并向客户端返回视频转场结果,大大提高转场效率。
图1是本申请实施例实现视频转场的系统结构示意图。如图1所示,该系统包括客户端101和视频转场系统平台102。其中,客户端101仅需要提出视频转场请求,由视频转场系统平台102实现视频转场。而且,本申请实施例可以一次性实现n个(n为大于或等于2的正整数)视频的转场处理,无需人工逐一操作。
图2是本申请方法实施例一的流程图。如图2所示,该方法具体包括:
步骤201:视频转场系统平台102接收到客户端101提交的视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式。
本申请实施例可以同时提交对n个视频的转场需求,从第1个视频转场到第2个视频,从第2个视频转场到第3个视频,以此类推,直到转场到第n个视频。每两个视频之间按照要求的转场类型进行处理,因此有n-1个转场类型。转场类型是事先定义的转场方式,规定了前一个视频过渡到后一个视频的方式。比如:渐入渐出式、百叶窗式、马赛克式、分形重影式等等。
步骤202:视频转场系统平台102根据n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频。
实际应用中,客户端101提供n个视频标识,视频转场系统平台102根据该n个视频标识就可以获取对应的n个视频。比如:客户端101可以提供视频的存储地址或者ID号,视频转场系统平台102从该存储地址处获取视频,或者根据ID号获取之前已经保存的视频。当然,客户端101也可以直接上传视频文件本身,其视频本身即可作为视频标识。
另外,本申请实施例中所述的“视频”可以是多个连续的帧图像,也可以仅是一帧图像。在一帧图像的情况下,可以按照时间设置将一帧图像复制扩展为多个连续的帧图像。因此,本申请实施例可以应用于任意帧数量的视频情况。
步骤203:视频转场系统平台102向所述客户端101返回视频转场结果。
完成转场处理后,n个视频将生成一个完整的转场视频,视频转场系统平台102可以直接将转场视频返回给客户端101,也可以仅返回转场视频的存储地址或ID号,或者仅返回转场视频是否成功的信息。
应用本申请实施例方案,由于无需人工操作视频转场,只需将需要转场的n个视频提供给视频转场系统平台102,就可以自动实现n个视频的转场处理,从而达到提高转场效率的技术效果。
视频转场系统平台102是实现视频转场的主要场所。为了更好地说明本申请实施例方案,下面利用以下的方法实施例二进行详细描述。假设视频转场系统平台102已经根据n个视频标识获取到对应的n个视频,其依次根据前一个视频与后一个视频的转场类型进行转场处理的方法如图3所示,具体包括:
步骤301:将n个视频中的第一个视频作为当前源视频,将第二个视频作为当前目的视频。
步骤302:将当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧,并设置两组序列帧的重叠部分。
本领域技术人员知道,视频是由一系列连续的图像组成的,可以将其拆分成一组序列帧进行保存。在实际应用中,比如可以采用FFmpeg工具将视频进行拆分,而且将拆分出的每一个图像采用序号命名。
为了使两个不同视频自然过渡,需要设置两组序列帧的重叠部分。两组序列帧重叠的情况可以参见图4。如图4所示,假设第一组序列帧有X帧,第二组序列帧有Y帧,中间重叠部分有Z帧,即第一组序列帧尾部的Z帧和第二组序列帧头部的Z帧为重叠部分。那么,两个视频经过合成处理后总共应包含X+Y-Z帧。当然,两组序列帧的重叠部分的帧数Z可以根据实际情况设置,此处不再赘述。
步骤303:针对所述第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频;其中在处理所述两组序列帧的重叠部分时,根据所述当前源视频和所述当前目的视频的转场类型对所述重叠部分进行融合。
步骤304:判断是否处理完n个视频,如果未处理完,则执行步骤305;否则,结束本流程。
步骤305:将所述当前源视频与当前目的视频的转场视频作为新的当前源视频,将下一个视频作为新的当前目的视频,返回步骤302。
按照上述图3所示的方法,本申请实施例在一个视频转场系统平台的基础上,依次将n个视频进行转场处理,最终生成一个完整的转场视频,本申请实施例是利用一个视频转场系统平台依次处理转场,可以很好地节约资源。实际应用中,如果不考虑资源的限制,也可以设置多个视频转场系统平台,多个视频在不同的视频转场系统平台中同时进行转场处理,可以加快转场速度。
在另一个方法实施例三中,上述步骤303将第一组序列帧和第二组序列帧进行合成处理的方法还可以按照图5所示的方法实现,具体包括:
步骤501:根据第一组序列帧、第二组序列帧和重叠部分确定合成的总帧数。
如上所述,假设第一组序列帧有X帧,第二组序列帧有Y帧,中间重叠部分有Z帧,那么将要合成的总帧数应该为X+Y-Z帧。
步骤502:预设帧序号对应第一组序列帧和第二组序列帧中的图像,且初始化为1。
为了便于后续处理,这里设置帧序号并初始化为1。帧序号是用于指示当前被合成的图像帧的序号,其取值范围为[1,X+Y-Z],每一个帧序号对应第一组序列帧和/或第二组序列帧中的图像。比如:帧序号1对应第一组序列帧的第一帧图像;帧序号X-Z+1既对应第一组序列帧的第X-Z+1帧图像,又对应第二组序列帧的第1帧图像;帧序号X+Y-Z对应第二组序列帧的最后一帧图像。
步骤503:判断帧序号是否对应所述两组序列帧的重叠部分,如果是,则执行步骤504;否则,执行步骤505。
这里,帧序号从1开始处理。由于第一组序列帧和第二组序列帧只有部分图像重叠,只有重叠部分才需要利用以下的步骤504进行融合,其余部分不做处理。
步骤504:根据当前源视频和当前目的视频的转场类型对帧序号对应的当前源图像和当前目的图像进行融合,将融合后的图像作为合成处理的图像。
这里,当前源图像属于当前源视频中的一帧图像,当前目的图像属于当前目的视频中的一帧图像,因此,当前源视频和当前目的视频的转场类型也应该是当前源图像和当前目的图像进行融合的方式。比如,可以按照渐入渐出式、百叶窗式、马赛克式或分形重影等方式进行融合。
步骤505:直接将所述帧序号对应的当前源图像或当前目的图像作为合成处理的图像。
步骤506:判断帧序号是否到达总帧数,如果未达到,则执行步骤507;否则,结束本流程;
步骤507:将帧序号加1,并返回步骤503。
本申请实施例方法提供了两个不同视频进行合成处理的具体方法。经过合成,两个不同视频可以按照设置的转场类型进行过渡而成为完整的转场视频。因此,按照该方法,本申请方法实施例二最终将n个视频依次进行合成处理,获得完整的转场视频。
如前所述,两个不同图像可以根据不同的转场类型进行融合。为了提高融合的效率,本申请另一个方法实施例四提出一种具体的图像融合的方法。利用该融合方法,可以实现上述方法实施例三中步骤504。当然,步骤504也可以利用其它图像融合方法实现,并不限于本申请方法实施例四。
图6是本申请方法实施例四实现图像融合的流程图。如图6所示,该方法包括:
步骤601:将所述当前源图像对应的当前源图像标识、所述当前目的图像对应的当前目的图像标识、所述转场类型以及当前转场进度作为参数调用已有的WebGL程序。
本步骤中所述WebGL(Web Graphics Library)程序是一种绘图协议,可以是基于开放式图形库嵌套在浏览器中的图像处理程序,可以为提供硬件加速渲染,便于开发人员创建复杂的导航和数据视觉化,以及允许对图片进行像素级的操作。
这里,所述当前源图像标识用于指示所述当前源图像,所述当前目的图像标识用于指示所述当前目的图像,所述当前转场进度是根据所述当前源图像和所述当前目的图像位于所述重叠部分中的位置确定的。其中,转场进度可以表示重叠部分的转场进程,取值范围为(0,1]。假设重叠部分有10帧图像,处理重叠部分的第一帧图像时的转场进度为0.1,处理第二帧图像时的转场进度为0.2,以此类推,处理第10帧图像时的转场进度则为1。由于重叠部分是连续的视频帧,本申请实施例为了增强转场的自然效果,利用转场进度来确定源图像和目的图像的融合程度。
也就是说,假设当前源图像标识为src,当前目的图像标识为dst,转场类型为transitionType,当前转场进度为progress,那么本步骤可以采用WebGL(src,dst,transitionType,progress)的方式调用所述WebGL程序。
步骤602:所述WebGL程序根据所述当前源图像标识确定所述当前源图像,根据所述当前目的图像标识确定所述当前目的图像,根据所述当前源图像或所述当前目的图像生成所有的像素点坐标,并将第一个像素点坐标作为当前坐标。
为了顺利进行融合,当前源图像和当前目的图像的大小应该相同,即包括相同行数和相同列数的像素点,那么融合后的图像也应该包括相同行数和相同列数的像素点。为了便于后续操作,本步骤可以确定图像中所有像素点的坐标。实际应用中,可以将其按照从上到下、从左到右的顺序保存到坐标数组中。比如当前源图像和当前目的图像分别为3*3的图像,其坐标数组可以表示为:{(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)}。由于当前源图像和当前目的图像的大小相同,本步骤可以根据二者任一的图像生成所有的像素点坐标,生成的像素点坐标也将成为融合后的图像的像素点坐标。
步骤603:所述WebGL程序将所述当前坐标作为输入参数调用基于GLSL的转场模型,获得与所述当前转场进度对应的像素值,将获得的像素值作为所述当前坐标对应的融合像素值,所述基于GLSL转场模型是预设的符合所述转场类型的模型。
这里,GLSL(Graphic Library Shading Language)是一种开放式图形库着色语言,可以对图像进行像素级的操作。本申请实施例利用GLSL实现转场模型,以供WebGL程序对其进行调用,从而达到高效的像素级的操作。为了明确对哪一个像素点进行操作,本步骤由WebGL程序将当前坐标作为输入参数传递给基于GLSL的转场模型,从而启动基于GLSL转场模型对当前坐标对应的像素点进行操作,获得当前坐标对应的融合像素值。当然,为了达到转场效果,基于GLSL转场模型应该预先设置为符合转场类型的模型。
步骤604:判断是否处理完所有的像素点坐标,如果未处理完,则执行步骤605;否则,结束本流程。
步骤605:所述WebGL程序将下一个坐标作为新的当前坐标,返回步骤603。
经过步骤603~步骤605的多次循环,WebGL程序可以得到从基于GLSL转场模型中提供的针对每一个像素点坐标的融合像素值。假设当前源图像和当前目的图像分别为3*3的图像,那么经过9次循环,本申请实施例中的WebGL程序可以得到9个融合像素值,这些融合像素值将组成当前源图像和当前目的图像融合之后的图像。
如前所述,实际应用中可以设置不同的基于GLSL的转场模型,比如渐入渐出式、百叶窗式、马赛克式、分形重影式等等。本申请方法实施例五将着重介绍分形重影式的转场模型。利用本申请实施例五设置的分形重影式的转场模型时,当前源视频中重叠部分的每一帧图像均形成分形模糊效果,当前目的视频中的重叠部分的每一帧图像也形成分形模糊效果。且,随着播放进度,当前源视频中图像由强到弱,直到完全消失;而当前目的视频中的图像由弱到强,直到完全显示。
图7是本申请另一个方法实施例五实现分形重影式的转场模型的方法流程图。本实施例中,假设WebGL程序已经获取当前坐标且传入给基于GLSL的转场模型中。为了形成分形模糊效果,本申请实施例将当前坐标进行矩阵变换,获取变换后的新坐标下的像素值,从而形成分形模糊效果。
如图7所示,基于GLSL的转场模型实现的方法包括:
步骤701:根据所述当前坐标、预设的源变换矩阵以及所述当前转场进度获得源变换坐标,从所述当前源图像中的所述源变换坐标处获取源像素值。
针对当前源图像,本步骤将当前坐标进行矩阵变换确定新坐标,从新坐标处获取像素值。为了区别下述步骤702的操作,本步骤中的新坐标称为源变换坐标,本步骤中新坐标处的像素值称为源像素值。为了增强分形模糊效果,实际应用中的源变换矩阵可以包括第一源变换矩阵、第二源变换矩阵和第三源变换矩阵,将当前坐标分别进行三次矩阵变换,具体为:
1)根据所述当前坐标、所述第一源变换矩阵以及所述当前转场进度获得第一源变换坐标,从当前源图像中的第一源变换坐标处获得第一源像素值。
假设当前坐标为coord,第一源变换矩阵为Ts1=translateMatrix1*ratateMatrix1*translateMatrix1,其中translateMatrix1表示平移矩阵,ratateMatrix1表示旋转矩阵,当前转场进度为progress,第一源变换坐标为fromCoord1。
那么,获得的第一源变换坐标可以表示为:
fromCoord1=coord*Ts1*progress;
相应的,从第一源变换坐标处获得的第一源像素值表示为fromColor1。
2)根据所述当前坐标、所述第二源变换矩阵以及所述当前转场进度获得第二源变换坐标,从当前源图像中的第二源变换坐标处获得第二源像素值;
假设当前坐标为coord,第二源变换矩阵为Ts2=translateMatrix2*ratateMatrix2*translateMatrix2,其中translateMatrix2表示平移矩阵,ratateMatrix2表示旋转矩阵,当前转场进度为progress,第二源变换坐标为fromCoord2。
那么,获得的第二源变换坐标可以表示为:
fromCoord2=coord*Ts2*progress;
相应的,从第二源变换坐标处获得的第二源像素值表示为fromColor2。
3)根据所述当前坐标、所述第三源变换矩阵以及所述当前转场进度获得第三源变换坐标,从当前源图像中的第三源变换坐标处获得第三源像素值;
假设当前坐标为coord,第三源变换矩阵为Ts3=translateMatrix3*ratateMatrix3*translateMatrix3,其中translateMatrix3表示平移矩阵,ratateMatrix3表示旋转矩阵,当前转场进度为progress,第三源变换坐标为fromCoord3。
那么,获得的第三源变换坐标可以表示为:
fromCoord3=coord*Ts3*progress;
相应的,从第三源变换坐标处获得的第三源像素值表示为fromColor3。
4)根据第一源像素值、第二源像素值和第三源像素值确定所述源像素值。
经过上述步骤1)~3)的操作后,相当于对当前坐标在三层当前源图像中分别进行了三种矩阵变换,如果将第一源像素值fromColor1、第二源像素值fromColor2和第三源像素值fromColor3的平均值作为本步骤701获取的源像素值fromColor,则相当于将三层当前源图像分别进行矩阵变换后的叠加效果,从而获得重影模糊效果。此时,源像素值fromColor可以表示为:
fromColor=(fromColor1+fromColor2+fromColor3)/3
需要注意的是,为了体现转场进度,步骤1)~步骤3)在对当前坐标进行矩阵变换时,还增加了当前转场进度progress作为变换因子。
需要说明的是,这里将当前坐标分别进行三次矩阵变换,达到将当前源图像分为三重影像的分形模糊效果。实际应用中,进行矩阵变换的次数可以由应用本申请实施例方案的用户自行确定,并不受此限制。
步骤702:根据所述当前坐标、预设的目的变换矩阵以及所述当前转场进度获得目的变换坐标,从所述当前目的图像中的所述目的变换坐标处获取目的像素值。
本步骤采用与上述步骤701类似的方法。本步骤中的新坐标称为目的变换坐标,新坐标处的像素值称为目的像素值。本步骤中的目的变换矩阵包括第一目的变换矩阵、第二目的变换矩阵和第三目的变换矩阵,将当前坐标分别进行三次矩阵变换,具体为:
5)根据所述当前坐标、所述第一目的变换矩阵以及所述当前转场进度获得第一目的变换坐标,从所述当前目的图像中的所述第一目的变换坐标处获得第一目的像素值。
假设当前坐标为coord,第一目的变换矩阵为Td1=translateMatrix4*ratateMatrix4*translateMatrix4,其中translateMatrix4表示平移矩阵,ratateMatrix4表示旋转矩阵,当前转场进度为progress,第一目的变换坐标为toCoord1。
那么,获得的第一目的变换坐标可以表示为:
toCoord1=coord*Td1*progress;
相应的,从第一目的变换坐标处获得的第一目的像素值表示为toColor1。
6)根据所述当前坐标、所述第二目的变换矩阵以及所述当前转场进度获得第二目的变换坐标,从所述当前目的图像中的所述第二目的变换坐标处获得第二目的像素值。
假设当前坐标为coord,第二目的变换矩阵为Td2=translateMatrix5*ratateMatrix5*translateMatrix5,其中translateMatrix5表示平移矩阵,ratateMatrix5表示旋转矩阵,当前转场进度为progress,第一目的变换坐标为toCoord2。
那么,获得的第一目的变换坐标可以表示为:
toCoord2=coord*Td2*progress;
相应的,从第二目的变换坐标处获得的第二目的像素值表示为toColor2。
7)根据所述当前坐标、所述第三目的变换矩阵以及所述当前转场进度获得第三目的变换坐标,从所述当前目的图像中的所述第三目的变换坐标处获得第三目的像素值。
假设当前坐标为coord,第三目的变换矩阵为Td3=translateMatrix6*ratateMatrix6*translateMatrix6,其中translateMatrix6表示平移矩阵,ratateMatrix6表示旋转矩阵,当前转场进度为progress,第三目的变换坐标为toCoord3。
那么,获得的第三目的变换坐标可以表示为:
toCoord3=coord*Td3*progress;
相应的,从第三目的变换坐标处获得的第三目的像素值表示为toColor3。
8)根据所述第一目的像素值、第二目的像素值和第三目的像素值确定所述目的像素值。
经过上述步骤5)~7)的操作后,相当于对当前坐标在三层当前目的图像中分别进行了三种矩阵变换,如果将第一目的像素值toColor1、第二目的源像素值toColor2和第三目的像素值toColor3的平均值作为本步骤702获取的目的像素值toColor,则相当于将三层当前目的图像分别进行矩阵变换后的叠加效果,从而获得重影模糊效果。此时,目的像素值toColor可以表示为:
toColor=(toColor1+toColor2+toColor3)/3
需要注意的是,为了体现转场进度,步骤5)~步骤7)在对当前坐标进行矩阵变换时,还增加了当前转场进度progress作为变换因子。
同样,这里将当前坐标分别进行三次矩阵变换,达到将当前目的图像分为三重影像的分形模糊效果。实际应用中,进行矩阵变换的次数可以由应用本申请实施例方案的用户自行确定,并不受此限制。
步骤703:根据所述源像素值、目的像素值和当前转场进度确定所述当前转场进度对应的像素值。
至此,针对当前坐标来说,本申请实施例四已经在当前源图像中得到源像素值,从当前目的图像中得到目的像素值。为了体现当前源图像和当前目的图像的重叠效果,还需要源像素值和目的像素值进行叠加。比如,可以采用如下方式:
recolor=fromColor+(toColor-fromColor)*progress
其中,recolor表示当前坐标需要返回给WebGL程序的像素值,fromColor表示从步骤701得到的源像素值,toColor表示从步骤702得到的目的像素值,progress表示当前转场进度,取值范围为(0,1]。也就是说,假设刚开始计算重叠部分时,当前转场进度progress的值比较小,趋向于0,针对当前坐标调用基于GLSL的转场模型后得到的像素值recolor更接近于源像素值fromColor。随着转场进度的增加,当前转场进度progress的值比较大,趋向于1,针对当前坐标调用基于GLSL的转场模型后得到的像素值recolor更接近于目的像素值toColor。因此,步骤703的方式可以展示将当前源图像和当前目的图像重叠在一起,且随着播放进度,当前源视频中图像由强到弱,直到完全消失;而当前目的视频中的图像由弱到强,直到完全显示。
上述方法实施例五是本申请实现分形重影式的转场模型的方法。实际应用中,还可以采用其他的转场模型,此处不再赘述。
图8是利用本申请实施例五实现分形重影的实际效果图。如图8所示,当前源视频中重叠部分的每一帧图像均形成分形模糊效果,当前目的视频中的重叠部分的每一帧图像也形成分形模糊效果。按照箭头指示的播放进度,当前源视频中图像由强到弱,直到完全消失;相应的,当前目的视频中的图像由弱到强,直到完全显示。
本申请还公开一种视频转场的系统,如图1所示,该系统包括客户端101和视频转场系统平台102。其中:
客户端101,用于向所述视频转场系统平台102提交视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式。
视频转场系统平台102,用于根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频,并向所述客户端返回视频转场结果。
应用本申请系统实施例方案,由于无需人工操作视频转场,客户端101只需将需要转场的n个视频提供给视频转场系统平台102,就可以自动实现n个视频的转场处理,从而达到提高转场效率的技术效果。
针对视频转场系统平台102,本申请还提供一种视频转场的装置。如图9所示,该装置实施例一包括收发模块901和视频转场模块902。具体的:
收发模块901,用于接收来自客户端101的视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;向所述客户端返回视频转场结果;
视频转场模块902,用于根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频。
在另一个装置实施例二中,如图10所示,视频转场模块902还可以进一步包括:
视频拆分模块9021,用于将所述n个视频中的第一个视频作为当前源视频,将第二个视频作为当前目的视频;将所述当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧,并设置两组序列帧的重叠部分。
合成模块9022,针对所述第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频;其中在处理所述两组序列帧的重叠部分时,根据所述当前源视频和所述当前目的视频的转场类型对所述重叠部分进行融合;将所述当前源视频与当前目的视频的转场视频作为新的当前源视频,将下一个视频作为新的当前目的视频,返回所述将当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧的步骤,直到处理完所述n个视频。
在另一个实施例中,合成模块9022在合成处理时,可以按照图5~图7所示的方法实现将第一组序列帧和第二组序列帧进行合成处理,此处不再赘述。
利用本申请上述装置实施例方案,在无需人工操作的情况下,该装置可以自动将n个视频进行转场处理,大大提高转场效率。
本申请实施例还提供一种计算机可读介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述的频转场的方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,可以实现上述各实施例描述的数据可视化展示的方法。根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
如图11所示,本发明实施例还提供一种电子设备,其中可以集成本申请实施例实现方法的装置。如图11所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或一个以上处理核心的处理器1101、一个或一个以上计算机可读存储介质的存储器1102以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器1102的程序时,可以实现上述视频转场的方法。
具体的,实际应用中,该电子设备还可以包括电源1103、输入单元1104、以及输出单元1105等部件。本领域技术人员可以理解,图11中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1101是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器1102可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器1101通过运行存储在存储器1102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102还可以包括存储器控制器,以提供处理器1101对存储器1102的访问。
该电子设备还包括给各个部件供电的电源1103,可以通过电源管理系统与处理器1101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1103还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元1104,该输入单元1104可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该电子设备还可以包括输出单元1105,该输出单元1105可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种视频转场的方法,其特征在于,该方法包括:
视频转场系统平台接收到客户端提交的视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;
所述视频转场系统平台根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频;
所述视频转场系统平台向所述客户端返回视频转场结果。
2.根据权利要求1所述的方法,其特征在于,所述依次根据前一个视频与后一个视频的转场类型进行转场处理的步骤包括:
将所述n个视频中的第一个视频作为当前源视频,将第二个视频作为当前目的视频;
将所述当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧,并设置两组序列帧的重叠部分;
针对所述第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频;其中在处理所述两组序列帧的重叠部分时,根据所述当前源视频和所述当前目的视频的转场类型对所述重叠部分进行融合;
将所述当前源视频与当前目的视频的转场视频作为新的当前源视频,将下一个视频作为新的当前目的视频,返回所述将当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧的步骤,直到处理完所述n个视频。
3.根据权利要求2所述的方法,其特征在于,所述针对第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频的步骤包括:
根据所述第一组序列帧、所述第二组序列帧和重叠部分确定合成的总帧数,且预设帧序号对应所述第一组序列帧和第二组序列帧中的图像,初始化为1;
判断所述帧序号是否对应所述两组序列帧的重叠部分,如果是,则根据所述当前源视频和所述当前目的视频的转场类型对所述帧序号对应的当前源图像和当前目的图像进行融合,将融合后的图像作为合成处理的图像;否则,则直接将所述帧序号对应的当前源图像或当前目的图像作为合成处理的图像;
将所述帧序号加1,并返回所述判断帧序号是否对应所述两组序列帧的重叠部分的步骤,直到所述帧序号到达所述总帧数。
4.根据权利要求3所述的方法,其特征在于,所述根据当前源视频和当前目的视频的转场类型对所述帧序号对应的当前源图像和当前目的图像进行融合的步骤包括:
将所述当前源图像对应的当前源图像标识、所述当前目的图像对应的当前目的图像标识、所述转场类型以及当前转场进度作为参数调用已有的WebGL程序,所述当前源图像标识用于指示所述当前源图像,所述当前目的图像标识用于指示所述当前目的图像,所述当前转场进度是根据所述当前源图像和所述当前目的图像位于所述重叠部分中的位置确定的;
所述WebGL程序根据所述当前源图像标识确定所述当前源图像,根据所述当前目的图像标识确定所述当前目的图像,根据所述当前源图像或所述当前目的图像生成所有的像素点坐标,并将第一个像素点坐标作为当前坐标;
所述WebGL程序将所述当前坐标作为输入参数调用基于GLSL的转场模型,获得与所述当前转场进度对应的像素值,将获得的像素值作为所述当前坐标对应的融合像素值,所述基于GLSL转场模型是预设的符合所述转场类型的模型;
所述WebGL程序将下一个坐标作为新的当前坐标,返回所述将当前坐标作为输入参数调用基于GLSL的转场模型的步骤,直到处理完所有像素点坐标,以获得所述当前源图像和当前目的图像融合后的图像。
5.根据权利要求4所述的方法,其特征在于,所述将当前坐标作为输入参数调用基于GLSL的转场模型的步骤包括:
根据所述当前坐标、预设的源变换矩阵以及所述当前转场进度获得源变换坐标,从所述当前源图像中的所述源变换坐标处获取源像素值;
根据所述当前坐标、预设的目的变换矩阵以及所述当前转场进度获得目的变换坐标,从所述当前目的图像中的所述目的变换坐标处获取目的像素值;
根据所述源像素值、所述目的像素值和所述当前转场进度确定所述当前转场进度对应的像素值。
6.根据权利要求5所述的方法,其特征在于,所述源变换矩阵包括第一源变换矩阵、第二源变换矩阵和第三源变换矩阵;所述源像素值包括第一源像素值、第二源像素值和第三源像素值;
所述根据所述当前坐标、预设的源变换矩阵以及所述当前转场进度获得源变换坐标,从所述当前源图像中的所述源变换坐标处获取源像素值的步骤包括:
根据所述当前坐标、所述第一源变换矩阵以及所述当前转场进度获得第一源变换坐标,从所述当前源图像中的所述第一源变换坐标处获得第一源像素值;
根据所述当前坐标、所述第二源变换矩阵以及所述当前转场进度获得第二源变换坐标,从所述当前源图像中的所述第二源变换坐标处获得第二源像素值;
根据所述当前坐标、所述第三源变换矩阵以及所述当前转场进度获得第三源变换坐标,从所述当前源图像中的所述第三源变换坐标处获得第三源像素值;
根据所述第一源像素值、第二源像素值和第三源像素值确定所述源像素值。
7.根据权利要求5所述的方法,其特征在于,所述目的变换矩阵包括第一目的变换矩阵、第二目的变换矩阵和第三目的变换矩阵;所述目的像素值包括第一目的像素值、第二目的像素值和第三目的像素值;
所述根据当前坐标、预设的目的变换矩阵以及所述当前转场进度获得目的变换坐标,从所述当前目的图像中的所述目的变换坐标处获取目的像素值的步骤包括:
根据所述当前坐标、所述第一目的变换矩阵以及所述当前转场进度获得第一目的变换坐标,从所述当前目的图像中的所述第一目的变换坐标处获得第一目的像素值;
根据所述当前坐标、所述第二目的变换矩阵以及所述当前转场进度获得第二目的变换坐标,从所述当前目的图像中的所述第二目的变换坐标处获得第二目的像素值;
根据所述当前坐标、所述第三目的变换矩阵以及所述当前转场进度获得第三目的变换坐标,从所述当前目的图像中的所述第三目的变换坐标处获得第三目的像素值;
根据所述第一目的像素值、第二目的像素值和第三目的像素值确定所述目的像素值。
8.一种视频转场的系统,其特征在于,该系统包括客户端和视频转场系统平台;其中,
所述客户端,用于向所述视频转场系统平台提交视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;
所述视频转场系统平台,用于根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频,并向所述客户端返回视频转场结果。
9.一种视频转场的装置,其特征在于,该装置包括:
收发模块,用于接收来自客户端的视频转场请求,所述视频转场请求携带有n个视频标识和n-1个转场类型,每一个视频标识分别对应转场处理前的n个视频,每一个转场类型分别对应从前一个视频转场到后一个视频的转场方式;向所述客户端返回视频转场结果;
视频转场模块,用于根据所述n个视频标识获取对应的n个视频,并依次根据前一个视频与后一个视频的转场类型进行转场处理,获得完整的转场视频。
10.根据权利要求9所述的装置,其特征在于,所述视频转场模块包括:
视频拆分模块,用于将所述n个视频中的第一个视频作为当前源视频,将第二个视频作为当前目的视频;将所述当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧,并设置两组序列帧的重叠部分;
合成模块,针对所述第一组序列帧和第二组序列帧进行合成处理,获得所述当前源视频与当前目的视频的转场视频;其中在处理所述两组序列帧的重叠部分时,根据所述当前源视频和所述当前目的视频的转场类型对所述重叠部分进行融合;将所述当前源视频与当前目的视频的转场视频作为新的当前源视频,将下一个视频作为新的当前目的视频,返回所述将当前源视频拆分为第一组序列帧,将所述当前目的视频拆分为第二组序列帧的步骤,直到处理完所述n个视频。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时可实现权利要求1~7任一项所述视频转场的方法的步骤。
12.一种电子设备,其特征在于,该电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1~7任一项所述的视频转场的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010272969.XA CN112312201B (zh) | 2020-04-09 | 2020-04-09 | 一种视频转场的方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010272969.XA CN112312201B (zh) | 2020-04-09 | 2020-04-09 | 一种视频转场的方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112312201A true CN112312201A (zh) | 2021-02-02 |
CN112312201B CN112312201B (zh) | 2023-04-07 |
Family
ID=74336750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010272969.XA Active CN112312201B (zh) | 2020-04-09 | 2020-04-09 | 一种视频转场的方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112312201B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020061065A1 (en) * | 2000-11-09 | 2002-05-23 | Kevin Moore | Transition templates for compressed digital video and method of generating the same |
US20030160944A1 (en) * | 2002-02-28 | 2003-08-28 | Jonathan Foote | Method for automatically producing music videos |
US20060197879A1 (en) * | 2001-02-23 | 2006-09-07 | Yesvideo.Com, A Delaware Corporation | Video processing system including advanced scene break detection methods for fades, dissolves and flashes |
US20090041117A1 (en) * | 2002-01-23 | 2009-02-12 | Nokia Corporation | Coding Scene Transitions in Video Coding |
WO2009106998A1 (en) * | 2008-02-28 | 2009-09-03 | Ipharro Media Gmbh | Frame sequence comparison in multimedia streams |
CN101543075A (zh) * | 2006-10-17 | 2009-09-23 | 三菱电机株式会社 | 视频序列中渐变的检测 |
US20110228848A1 (en) * | 2010-03-21 | 2011-09-22 | Human Monitoring Ltd. | Intra video image compression and decompression |
CN103347155A (zh) * | 2013-06-18 | 2013-10-09 | 北京汉博信息技术有限公司 | 实现两个视频流不同过渡效果切换的转场特效模块及方法 |
CN104184960A (zh) * | 2014-08-19 | 2014-12-03 | 厦门美图之家科技有限公司 | 一种对视频文件进行特效处理的方法 |
CN104185087A (zh) * | 2014-08-19 | 2014-12-03 | 厦门美图之家科技有限公司 | 一种基于同个视频文件不同视频流之间的切换方法 |
US20150271492A1 (en) * | 2014-03-20 | 2015-09-24 | Panopto, Inc. | Systems and Methods for Group of Pictures Encoding |
CN105245810A (zh) * | 2015-10-08 | 2016-01-13 | 广东欧珀移动通信有限公司 | 一种视频转场的处理方法及装置 |
CN105516618A (zh) * | 2014-09-27 | 2016-04-20 | 北京金山安全软件有限公司 | 一种制作视频的方法、装置及通信终端 |
AU2014280961A1 (en) * | 2014-12-24 | 2016-07-14 | Canon Kabushiki Kaisha | An electronic device or method for changing focus state during video capture |
CN107566756A (zh) * | 2017-08-03 | 2018-01-09 | 广东小天才科技有限公司 | 一种视频转场的处理方法及终端设备 |
CN109451360A (zh) * | 2018-11-02 | 2019-03-08 | 北京亿幕信息技术有限公司 | 视频转场特效方法及引擎 |
CN110502974A (zh) * | 2019-07-05 | 2019-11-26 | 深圳壹账通智能科技有限公司 | 一种视频图像的展示方法、装置、设备、及可读存储介质 |
WO2020019164A1 (zh) * | 2018-07-24 | 2020-01-30 | 深圳市大疆创新科技有限公司 | 视频处理方法、设备、计算机可读存储介质 |
-
2020
- 2020-04-09 CN CN202010272969.XA patent/CN112312201B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020061065A1 (en) * | 2000-11-09 | 2002-05-23 | Kevin Moore | Transition templates for compressed digital video and method of generating the same |
US20060197879A1 (en) * | 2001-02-23 | 2006-09-07 | Yesvideo.Com, A Delaware Corporation | Video processing system including advanced scene break detection methods for fades, dissolves and flashes |
US20090041117A1 (en) * | 2002-01-23 | 2009-02-12 | Nokia Corporation | Coding Scene Transitions in Video Coding |
US20030160944A1 (en) * | 2002-02-28 | 2003-08-28 | Jonathan Foote | Method for automatically producing music videos |
CN101543075A (zh) * | 2006-10-17 | 2009-09-23 | 三菱电机株式会社 | 视频序列中渐变的检测 |
WO2009106998A1 (en) * | 2008-02-28 | 2009-09-03 | Ipharro Media Gmbh | Frame sequence comparison in multimedia streams |
US20110228848A1 (en) * | 2010-03-21 | 2011-09-22 | Human Monitoring Ltd. | Intra video image compression and decompression |
CN103347155A (zh) * | 2013-06-18 | 2013-10-09 | 北京汉博信息技术有限公司 | 实现两个视频流不同过渡效果切换的转场特效模块及方法 |
US20150271492A1 (en) * | 2014-03-20 | 2015-09-24 | Panopto, Inc. | Systems and Methods for Group of Pictures Encoding |
CN104184960A (zh) * | 2014-08-19 | 2014-12-03 | 厦门美图之家科技有限公司 | 一种对视频文件进行特效处理的方法 |
CN104185087A (zh) * | 2014-08-19 | 2014-12-03 | 厦门美图之家科技有限公司 | 一种基于同个视频文件不同视频流之间的切换方法 |
CN105516618A (zh) * | 2014-09-27 | 2016-04-20 | 北京金山安全软件有限公司 | 一种制作视频的方法、装置及通信终端 |
AU2014280961A1 (en) * | 2014-12-24 | 2016-07-14 | Canon Kabushiki Kaisha | An electronic device or method for changing focus state during video capture |
CN105245810A (zh) * | 2015-10-08 | 2016-01-13 | 广东欧珀移动通信有限公司 | 一种视频转场的处理方法及装置 |
CN107566756A (zh) * | 2017-08-03 | 2018-01-09 | 广东小天才科技有限公司 | 一种视频转场的处理方法及终端设备 |
WO2020019164A1 (zh) * | 2018-07-24 | 2020-01-30 | 深圳市大疆创新科技有限公司 | 视频处理方法、设备、计算机可读存储介质 |
CN109451360A (zh) * | 2018-11-02 | 2019-03-08 | 北京亿幕信息技术有限公司 | 视频转场特效方法及引擎 |
CN110502974A (zh) * | 2019-07-05 | 2019-11-26 | 深圳壹账通智能科技有限公司 | 一种视频图像的展示方法、装置、设备、及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
SAWITCHAYA TIPPAYA: "《Video shot boundary detection based on candidate segment selection and transition pattern analysis》", 《2015 IEEE INTERNATIONAL CONFERENCE ON DIGITAL SIGNAL PROCESSING(DSP)》 * |
崔玉峰: "《影视剪辑》", 31 December 2019, 中国传媒大学出版社 * |
王凤香: "《浅谈微视频在《Premiere视频编辑》教学中的应用》", 《中国新通信》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112312201B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2955696B1 (en) | Seamless representation of video and geometric data | |
WO2020107297A1 (zh) | 视频剪辑控制方法、终端设备和系统 | |
WO2017208080A1 (en) | Video editing using mobile terminal and remote computer | |
CN105069827A (zh) | 一种采用三维模型处理视频转场的方法 | |
JP2006350634A (ja) | 画像処理プログラム、画像処理装置、画像処理方法及び記録媒体 | |
CN101606179A (zh) | 用于遮罩、选择和路径的通用前端 | |
KR20210030384A (ko) | 3d 전환 | |
TW201610916A (zh) | 根據依時一致性超像素為圖框序列產生分段遮罩之方法和裝置,以及電腦可讀式儲存媒體 | |
CN114708391A (zh) | 三维建模方法、装置、计算机设备和存储介质 | |
CN102572219B (zh) | 移动终端及其图像处理方法 | |
KR20160016812A (ko) | 조밀한 모션 필드들을 통한 기저 비디오 시퀀스로의 이미지 편집들 전파 | |
CN112312201B (zh) | 一种视频转场的方法、系统、装置及存储介质 | |
US9396574B2 (en) | Choreography of animated crowds | |
US20050034076A1 (en) | Combining clips of image data | |
US11328470B2 (en) | Distributed multi-context interactive rendering | |
EP3246921B1 (en) | Integrated media processing pipeline | |
CN111414104A (zh) | 一种电子地图局部显示方法及装置 | |
CN106331675B (zh) | 影像处理、投射方法、装置及成像系统 | |
CN115471592A (zh) | 一种动态图像的处理方法、系统 | |
JPH11242753A (ja) | 3次元描画方法および装置 | |
KR20180053494A (ko) | 모바일 환경에서의 증강현실 게임공간 구축방법 | |
CN111078785A (zh) | 一种数据可视化展示的方法、装置、电子设备及存储介质 | |
CN110543304A (zh) | 方案实现方法和装置 | |
CN117372583B (zh) | 一种动画文件处理方法、系统、电子设备及存储介质 | |
CN102789649A (zh) | 一种实现三维变换特效的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |