CN112235604B - 渲染方法及装置、计算机可读存储介质、电子设备 - Google Patents

渲染方法及装置、计算机可读存储介质、电子设备 Download PDF

Info

Publication number
CN112235604B
CN112235604B CN202011122501.9A CN202011122501A CN112235604B CN 112235604 B CN112235604 B CN 112235604B CN 202011122501 A CN202011122501 A CN 202011122501A CN 112235604 B CN112235604 B CN 112235604B
Authority
CN
China
Prior art keywords
rendering
picture
frame number
video
image sequence
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.)
Active
Application number
CN202011122501.9A
Other languages
English (en)
Other versions
CN112235604A (zh
Inventor
谢文政
王毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Boguan Information Technology Co Ltd
Original Assignee
Guangzhou Boguan Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Boguan Information Technology Co Ltd filed Critical Guangzhou Boguan Information Technology Co Ltd
Priority to CN202011122501.9A priority Critical patent/CN112235604B/zh
Publication of CN112235604A publication Critical patent/CN112235604A/zh
Application granted granted Critical
Publication of CN112235604B publication Critical patent/CN112235604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • H04N21/44012Processing 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 involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • H04N21/4402Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例是关于一种渲染方法及装置、计算机可读存储介质、电子设备,涉及计算机技术领域,该方法包括:获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。本发明实施例可以解决在采用实时引擎压制视频时,由于渲染画面的速率与外部引用的视频速率不一致,进而导致外部引用的视频的画面时间以及渲染画面的时间不同步的问题。

Description

渲染方法及装置、计算机可读存储介质、电子设备
技术领域
本发明实施例涉及计算机技术领域,具体而言,涉及一种渲染方法、渲染装置、计算机可读存储介质以及电子设备。
背景技术
随着计算机技术的发展,实时引擎用于影视生产成为一种潮流。专为游戏开发的实时引擎因其强大的资源管理体系,配上为制作关卡过程而开发的渲染工具,开始能应用于影视生产。
近年来,不少游戏公司开始使用实时引擎生产视频短片用于内容投放。实时引擎因其资源标准和管理工具的丰富度,在稍微牺牲画质的前提下,大幅度提升了影视制作效率,降低了制作成本。
但是,上述方法存在如下缺陷:在采用实时引擎压制视频时,由于渲染画面的速率与外部引用的视频速率不一致,进而导致外部引用的视频的画面时间以及渲染画面的时间不同步。
因此,需要提供一种新的渲染方法及装置。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种渲染方法、渲染装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的外部引用的视频的画面时间以及渲染画面的时间不同步的问题。
根据本公开的一个方面,提供一种渲染方法,应用于实时渲染引擎,所述渲染方法包括:
获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;
根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;
将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
在本公开的一种示例性实施例中,所述渲染方法还包括:
对所述渲染队列中的浮点数进行转换,得到所述目标渲染帧数。
在本公开的一种示例性实施例中,所述根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片,包括:
构建图片序列读取器,并在所述图片序列读取器中配置各所述图像序列帧的图片序列位置以及文件名称;其中,所述文件名称中包括图片前缀、图片后缀以及扩展名;
利用所述图片序列读取器根据所述图片序列位置以及所述文件名称,从所述多个图像序列帧中读取与所述渲染队列中的目标渲染帧数具有相同帧数的图片。
在本公开的一种示例性实施例中,所述将所述图片赋予至与所述图片对应的物体贴图,包括:
将所述图片的当前图片格式转换为预设的纹理格式,并将格式转换后的图片赋予至与所述图片对应的物体贴图。
在本公开的一种示例性实施例中,所述预设的纹理格式为所述实时渲染引擎能够读取的格式。
在本公开的一种示例性实施例中,所述渲染方法还包括:
将所述多个图像序列帧存储至预设的存储目录;其中,所述预设的存储目录未设置在所述实时渲染引擎中。
在本公开的一种示例性实施例中,所述渲染方法还包括:
对所述输出视频进行播放;其中,所述输出视频的播放帧率与所述待渲染视频素材的输入帧率一致。
根据本公开的一个方面,提供一种渲染装置,应用于实时渲染引擎,所述渲染装置包括:
视频素材转换模块,用于获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;
图片读取模块,用于根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;
渲染模块,用于将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的渲染方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的渲染方法。
本发明实施例提供的一种渲染方法,一方面,通过获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;再根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;最后将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频,由于图片是根据目标渲染帧数读取的,因而可以保证读取的图片的数量与渲染的帧数是一致的,进而可以解决在采用实时引擎压制视频时,由于渲染画面的速率与外部引用的视频速率不一致,进而导致外部引用的视频的画面时间以及渲染画面的时间不同步的问题;另一方面,通过对待渲染视频素材进行转换,得到多个图像序列帧,进而在需要渲染时,获取对应的图片,避免了现有技术中由于需要加载所有的待渲染视频素材进而导致的实时渲染引擎的整体消耗较高的问题,降低了加载图片所需要的带宽,提高了加载速度;再一方面,降低了GPU的消耗,进而提高了渲染速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本发明示例实施例的一种渲染方法的流程图。
图2示意性示出根据本发明示例实施例的一种渲染过程示例图。
图3示意性示出根据本发明示例实施例的一种根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片的方法流程图。
图4示意性示出根据本发明示例实施例的另一种渲染方法的流程图。
图5示意性示出根据本发明示例实施例的一种音频素材处理方法的流程图。
图6示意性示出根据本发明示例实施例的一种渲染装置的框图。
图7示意性示出根据本发明示例实施例的一种用于实现上述渲染方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种渲染方法,该方法可以运行于实时渲染引擎等;当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该渲染方法可以包括以下步骤:
步骤S110.获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;
步骤S120.根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;
步骤S130.将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
上述渲染方法中,一方面,通过获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;再根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;最后将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频,由于图片是根据目标渲染帧数读取的,因而可以保证读取的图片的数量与渲染的帧数是一致的,进而可以解决在采用实时引擎压制视频时,由于渲染画面的速率与外部引用的视频速率不一致,进而导致外部引用的视频的画面时间以及渲染画面的时间不同步的问题;另一方面,通过对待渲染视频素材进行转换,得到多个图像序列帧,进而在需要渲染时,获取对应的图片,避免了现有技术中由于需要加载所有的待渲染视频素材进而导致的实时渲染引擎的整体消耗较高的问题,降低了加载图片所需要的带宽,提高了加载速度;再一方面,降低了GPU的消耗,进而提高了渲染速度。
以下,将结合附图对本发明示例实施例渲染方法中涉及的各步骤进行详细的解释以及说明。
首先,本发明示例实施例的应用场景进行解释以及说明。
随着硬件性能发展,实时引擎的渲染质量逐渐提高,将实时渲染引擎应用于影片生产开始成为一部分影视制作团队的选择。并且,实时引擎的资产管理更加便捷,工作流程也更加快速,相对于传统影视渲染工具,能低成本和高效率出片。但是在使用实时引擎渲染制作过程中,存在视频素材加速问题。该专利用于解决使用实时引擎转换成影视渲染引擎中,遇到的视频素材加速问题。
该方法用于解决使用实时引擎当成影视渲染引擎使用时,遇到的视频素材加速问题。大多数非实时影视渲染引擎都已经解决这个问题,比如C4D、Maya等,但是部分不侧重影视渲染的实时引擎一般因为业务涉及问题(实时引擎大多用于游戏、实时直播等用途),在引擎架构底层架设时并未考虑解决这个问题。
在采用实时引擎压制视频时,存在如下问题:导入的VJ视频速度渲染出来时,画面速度飞快,而且每次速率都不同;其中,VJ视频是指影像骑师(Visual Jockey)将影像、动画等视觉元素作即时的剪接,最重要的就是剪接,并添加效果所得到的视频。为了解决该问题,先要弄清楚帧和时间定义,以及帧和时间在不同场合下的关系。
具体的,帧是影像动画中的画面单位。通常说帧数(率),简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。
在实时渲染引擎中,采用了动态帧率。根据硬件配置、软件优化和渲染内容不同,帧率会从30-200FPS不等。而影视视频一般会有固定帧率,24FPS已经是肉眼极限,一般视频节目为了保证绝对流畅,会采用30、59.97、60等不同FPS进行压制。
在实时引擎里,由于视频素材一般为定帧,而实时渲染的画面是动态帧数,具体运行帧数由显卡决定,为了同步两边的帧数,一般会将视频素材当作外部引用,保证在引擎秒数和视频秒数一致,这样在运行时,每秒看到的画面是一致的,具体可以参考表1所示(在表1中,视频时间是固定的,即每秒渲染30帧,基于此,可以将该视频素材当做外部引用,保证每秒均渲染30帧)。其中,在图2中,实时引擎,经过一秒钟,渲染了60帧-90帧画面(比如从第65帧渲染到135帧,或者从第135帧渲染到第199帧等等),笑脸从A运动到B。外部视频,经过一秒钟,稳定跑了30帧,笑脸从A运动到B。
将实时引擎当成影视渲染引擎使用,在渲染时,画面时间和渲染时间不同步,因为在渲染时,每帧画面的发生速度下降(例如,在表1中,影视渲染体系中,每一帧需要2-3秒的渲染时间,同时,在视频锁帧体系中,根据渲染引擎返回的时间读取序列帧中,每一帧也需要2-3秒的渲染时间,而在实时渲染引擎中,每一秒可以渲染60帧-90帧,因此会导致每帧画面的发生速度下降),而外部引用的视频速度还是保持正常播放,在渲染需要时为渲染引擎提供当前时间帧画面,这就导致了渲出来的视频速度非常快。具体如下表1所示:
表1
Figure BDA0002732481910000071
其次,对步骤S110-步骤S130进行解释以及说明。
在步骤S110中,获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧。
在本示例实施例中,首先,可以获取外部导入的待渲染视频素材,其中,该待渲染视频素材可以是3D场景中的VJ素材,也可以是其他场景中的视频素材,本示例对此不做特殊限制。其次,对待渲染视频素材进行转换,得到多个图像序列帧;此处需要补充说明的是,通过对对待渲染视频素材进行转换,得到多个图像序列帧,进而在需要渲染时,获取对应的图片,避免了现有技术中由于需要加载所有的待渲染视频素材进而导致的实时渲染引擎的整体消耗较高的问题,降低了加载图片所需要的带宽,提高了加载速度。
进一步的,为了可以进一步的减少实时渲染引擎的消耗,该渲染方法还包括:将所述多个图像序列帧存储至预设的存储目录;其中,所述预设的存储目录未设置在所述实时渲染引擎中。通过该方法,当需要对某一图像序列帧进行加载时,可以根据对应的文件位置以及文件名称从该预设的存储目录中对该图像序列帧进行加载,进而可以避免由于需要频繁的对图像序列帧进行加载导致的实时渲染引擎消耗过大,进而使得渲染速度较慢的问题,进一步的提高了渲染效率。
在步骤S120中,根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片。
在本示例实施例中,首先,为了解决本申请所提出的在采用实时引擎压制视频时,由于渲染画面的速率与外部引用的视频速率不一致,进而导致外部引用的视频的画面时间以及渲染画面的时间不同步的问题,因此需要获取到视频渲染压制时的帧数。因此,为了可以获取到视频渲染压制时的帧数,首先需要对所述渲染队列中的浮点数进行转换,得到所述目标渲染帧数。具体的,可以在渲染队列中注册一个浮点数,用以监听当前的渲染帧数;然后,可以对该浮点数进行转换,进而得到所需要的目标渲染帧数。
其次,当得到该目标渲染帧数以后,根据渲染队列中的目标渲染帧数,利用图片序列读取器从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片。具体的,参考图3所示,根据渲染队列中的目标渲染帧数,从多个图像序列帧中读取与目标渲染帧数具有相同帧数的图片可以包括步骤S310以及步骤S320。其中:
在步骤S310中,构建图片序列读取器,并在所述图片序列读取器中配置各所述图像序列帧的图片序列位置以及文件名称;其中,所述文件名称中包括图片前缀、图片后缀以及扩展名;
在步骤S320中,利用所述图片序列读取器根据所述图片序列位置以及所述文件名称,从所述多个图像序列帧中读取与所述渲染队列中的目标渲染帧数具有相同帧数的图片。
以下,将对步骤S310以及步骤S320进行解释以及说明。具体的,为降低渲染性能开销,如前文所述,已经将待渲染视频素材转换成了图像序列帧,并将其放在实时渲染引擎之外的目录。因此,为了可以在渲染的过程中实时的对图片进行获取,需要构建一个图片序列读取器,这个图片序列读取器的工作是根据渲染队列里的浮点数(目标渲染帧数),获取对应的图片。
其中,图片序列读取器中需要配置上述图像序列帧的图片序列位置以及文件名称,其中,文件名称中可以包括图片前缀、图片后缀以及扩展名,在每切换到下一帧画面开始渲染时,在图片序列文件位置(其中,图片序列文件位置例如可以是:E:\UE4_Temp\LED_png_VJ\layer3-LED\),获得当前文件名称(文件名称例如可以是:layer3-LED_00001.png)。进一步的,在有明确位置和文件名的情况下,使用代码载入图片,即可得到当前渲染帧对应的所有VJ物体材质贴图。
具体的,读取图片的代码如下:
Figure BDA0002732481910000091
Figure BDA0002732481910000101
在步骤S130中,将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
在本示例实施例中,首先,将图片赋予至与图片对应的物体贴图。具体的可以包括:将所述图片的当前图片格式转换为预设的纹理格式,并将格式转换后的图片赋予至与所述图片对应的物体贴图,其中,所述预设的纹理格式为所述实时渲染引擎能够读取的格式。
具体的,首先,将上述图片的当前图片格式转换成引擎能够读取的texture格式;然后,将格式转换后的图片赋予用到这个图片的物体贴图(也即将格式转换后的图片赋予用到这个图片的模型贴图),就可以实时在渲染时正确同帧;其中,此处的物体是指三维场景中对应的VJ视频投影模型,物体以及贴图之间具有对应关系,其可以通过UV映射(把一张平面图像的不同区域(不同位置)映射到3D模型的不同面上)将贴图投影到模型对应的位置。进一步的,当赋予至与图片对应的物体贴图以后,可以对所述输出视频进行播放;其中,所述输出视频的播放帧率与所述待渲染视频素材的输入帧率一致。
具体的,启动渲染后,输出的视频正常。进一步的,继续增加多几路视频序列帧赋予到场景的屏幕上,发现整体系统的负载消耗大幅度下降,原因是相较于过去实时引擎需要维持视频正常播放,这种方法只需在影视渲染切帧时载入一张图片,整体消耗降低,并且从CPU和GPU消耗转移到硬盘IO消耗,加载所需的硬盘带宽在固态的速度面前显得非常低。
以下,结合图4对本发明示例实施例的渲染方法进行进一步的解释以及说明。参考图4所示,该渲染方法可以包括以下步骤:
步骤S410,获取视频渲染压制时的帧数,然后用这个帧数读取对应的VJ视频帧数;
步骤S420,构建一个图片序列读取器,并利用该图片序列读取器获取对应的图片;
步骤S430,读取到对应渲染帧所需的图片后,将这个图片赋予用到这个图片的物体贴图,以实现渲染时正确同帧;
步骤S440,启动渲染,输出的视频正常,并对输出的视频进行播放。
本发明示例实施例所提供的渲染方法,一方面,解决了将实时引擎当成影视渲染引擎使用时导致的视频素材渲染帧同步问题。该方案不限平台,适用于所有实时引擎渲染视频素材遇到的类似问题。另一方面,该方法同样可以用于实时引擎渲染音频时出现的音频加速问题。再一方面,降低了运行和渲染的性能开销,节约了GPU消耗,制作流程更流畅,渲染的速度也得到了提升。节约的性能可以用于场景优化盈余。
图5示意性示出根据本发明示例实施例的一种音频素材处理方法的流程图。参考图5所示,该音频素材处理方法可以包括以下步骤:
步骤S510,获取待渲染音频素材,并对所述对待渲染音频素材进行转换,得到多个音频采样序列;
步骤S520,根据渲染队列中的目标渲染数量,利用音频序列读取器从所述多个音频采样序列中读取与所述目标渲染数量具有相同数量的目标采样序列;
步骤S530,将所述目标采样序列赋予至与所述目标采样序列对应的音频模型,并对赋予所述目标采样序列后的音频模型进行渲染,得到输出音频。
图5示意性示出的示例实施例中,一方面,由于目标采样序列是根据目标渲染帧数读取的,因而可以保证读取的图片的数量与渲染的帧数是一致的,进而可以解决在采用实时引擎压制音频时,由于渲染音频的速率与外部引用的音频速率不一致,进而导致外部引用的音频的显示时间以及输出音频的时间不同步的问题。
本发明示例实施例还提供了一种渲染装置,应用于实时渲染引擎。参考图6所示,该渲染装置可以包括视频素材转换模块610、图片读取模块620以及渲染模块630。其中:
视频素材转换模块610可以用于获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;
图片读取模块620可以用于根据渲染队列中的目标渲染帧数从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;
渲染模块630可以用于将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
在本公开的一种示例性实施例中,所述渲染装置还可以包括:
浮点数转换模块,可以用于对所述渲染队列中的浮点数进行转换,得到所述目标渲染帧数。
在本公开的一种示例性实施例中,所述根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片,包括:
构建图片序列读取器,并在所述图片序列读取器中配置各所述图像序列帧的图片序列位置以及文件名称;其中,所述文件名称中包括图片前缀、图片后缀以及扩展名;
利用所述图片序列读取器根据所述图片序列位置以及所述文件名称,从所述多个图像序列帧中读取与所述渲染队列中的目标渲染帧数具有相同帧数的图片。
在本公开的一种示例性实施例中,所述将所述图片赋予至与所述图片对应的物体贴图,包括:
将所述图片的当前图片格式转换为预设的纹理格式,并将格式转换后的图片赋予至与所述图片对应的物体贴图。
在本公开的一种示例性实施例中,所述预设的纹理格式为所述实时渲染引擎能够读取的格式。
在本公开的一种示例性实施例中,所述渲染装置还包括:
图像序列帧存储模块,可以用于将所述多个图像序列帧存储至预设的存储目录;其中,所述预设的存储目录未设置在所述实时渲染引擎中。
在本公开的一种示例性实施例中,所述渲染装置还包括:
输出视频播放模块,可以用于对所述输出视频进行播放;其中,所述输出视频的播放帧率与所述待渲染视频素材的输入帧率一致。
上述渲染装置中各模块的具体细节已经在对应的渲染方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730以及显示单元740。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图1中所示的步骤S110:获取待渲染视频素材,并对所述对待渲染视频素材进行转换,得到多个图像序列帧;步骤S120:根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;步骤S130:将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。

Claims (7)

1.一种渲染方法,其特征在于,应用于实时渲染引擎,所述渲染方法包括:
获取待渲染视频素材,并对所述待渲染视频素材进行转换,得到多个图像序列帧;将所述多个图像序列帧存储至预设的存储目录;其中,所述预设的存储目录未设置在所述实时渲染引擎中;
对所述渲染队列中的浮点数进行转换,得到目标渲染帧数;
根据渲染队列中的所述目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;包括:
构建图片序列读取器,并在所述图片序列读取器中配置各所述图像序列帧的图片序列位置以及文件名称;其中,所述文件名称中包括图片前缀、图片后缀以及扩展名;
利用所述图片序列读取器根据所述图片序列位置以及所述文件名称,从所述多个图像序列帧中读取与所述渲染队列中的目标渲染帧数具有相同帧数的图片;
将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
2.根据权利要求1所述的渲染方法,其特征在于,所述将所述图片赋予至与所述图片对应的物体贴图,包括:
将所述图片的当前图片格式转换为预设的纹理格式,并将格式转换后的图片赋予至与所述图片对应的物体贴图。
3.根据权利要求2所述的渲染方法,其特征在于,所述预设的纹理格式为所述实时渲染引擎能够读取的格式。
4.根据权利要求1-3任一项所述的渲染方法,其特征在于,所述渲染方法还包括:
对所述输出视频进行播放;其中,所述输出视频的播放帧率与所述待渲染视频素材的输入帧率一致。
5.一种渲染装置,其特征在于,应用于实时渲染引擎,所述渲染装置包括:
视频素材转换模块,用于获取待渲染视频素材,并对所述待渲染视频素材进行转换,得到多个图像序列帧;
图像序列帧存储模块,将所述多个图像序列帧存储至预设的存储目录;其中,所述预设的存储目录未设置在所述实时渲染引擎中;
浮点数转换模块,对所述渲染队列中的浮点数进行转换,得到目标渲染帧数;
图片读取模块,用于根据渲染队列中的目标渲染帧数,从所述多个图像序列帧中读取与所述目标渲染帧数具有相同帧数的图片;包括:构建图片序列读取器,并在所述图片序列读取器中配置各所述图像序列帧的图片序列位置以及文件名称;其中,所述文件名称中包括图片前缀、图片后缀以及扩展名;利用所述图片序列读取器根据所述图片序列位置以及所述文件名称,从所述多个图像序列帧中读取与所述渲染队列中的目标渲染帧数具有相同帧数的图片;
渲染模块,用于将所述图片赋予至与所述图片对应的物体贴图,并对赋予所述图片后的物体贴图进行渲染,得到输出视频。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的渲染方法。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-4任一项所述的渲染方法。
CN202011122501.9A 2020-10-20 2020-10-20 渲染方法及装置、计算机可读存储介质、电子设备 Active CN112235604B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011122501.9A CN112235604B (zh) 2020-10-20 2020-10-20 渲染方法及装置、计算机可读存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011122501.9A CN112235604B (zh) 2020-10-20 2020-10-20 渲染方法及装置、计算机可读存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN112235604A CN112235604A (zh) 2021-01-15
CN112235604B true CN112235604B (zh) 2021-12-10

Family

ID=74118675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011122501.9A Active CN112235604B (zh) 2020-10-20 2020-10-20 渲染方法及装置、计算机可读存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN112235604B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194266A (zh) * 2021-04-28 2021-07-30 深圳迪乐普数码科技有限公司 图像序列帧实时渲染方法、装置、计算机设备及存储介质
CN113316020B (zh) * 2021-05-28 2023-09-15 上海曼恒数字技术股份有限公司 一种渲染方法、装置、介质及设备
CN113421321B (zh) * 2021-07-09 2024-03-19 北京七维视觉传媒科技有限公司 用于动画的渲染方法、装置、电子设备及介质
CN114860358B (zh) * 2022-03-31 2024-06-21 北京达佳互联信息技术有限公司 一种对象处理方法、装置、电子设备及存储介质
CN114881901A (zh) * 2022-04-29 2022-08-09 北京字跳网络技术有限公司 视频合成方法、装置、设备、介质及产品
CN115035228B (zh) * 2022-06-08 2023-01-17 北京领为军融科技有限公司 通过异步io实时读取卫片文件生成纹理的渲染方法
CN115018967B (zh) * 2022-06-30 2024-05-03 联通智网科技股份有限公司 一种图像生成方法、装置、设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8493399B1 (en) * 2012-01-10 2013-07-23 Google Inc. Multiprocess GPU rendering model
CN105120183B (zh) * 2015-09-02 2018-09-28 广东建设职业技术学院 一种提高实物展示流畅性的方法及系统
CN106910234A (zh) * 2015-12-18 2017-06-30 普联软件股份有限公司 一种基于改进的三维渲染引擎分布式渲染方法及系统
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
CN108846791B (zh) * 2018-06-27 2022-09-20 珠海豹趣科技有限公司 物理模型的渲染方法、装置及电子设备
US10861421B2 (en) * 2018-09-27 2020-12-08 Mediatek Inc. Adaptive control of GPU rendered frame quality
US11164496B2 (en) * 2019-01-04 2021-11-02 Channel One Holdings Inc. Interrupt-free multiple buffering methods and systems
CN111028361B (zh) * 2019-11-18 2023-05-02 杭州群核信息技术有限公司 三维模型及材质合并方法、装置、终端、存储介质以及渲染方法

Also Published As

Publication number Publication date
CN112235604A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN112235604B (zh) 渲染方法及装置、计算机可读存储介质、电子设备
CN111669623B (zh) 视频特效的处理方法、装置以及电子设备
US10499035B2 (en) Method and system of displaying a popping-screen
US10110936B2 (en) Web-based live broadcast
US10229651B2 (en) Variable refresh rate video capture and playback
CN111899322B (zh) 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN110070496B (zh) 图像特效的生成方法、装置和硬件装置
US10554713B2 (en) Low latency application streaming using temporal frame transformation
CN113453073B (zh) 一种图像渲染方法、装置、电子设备及存储介质
CN113368492A (zh) 渲染的方法、装置
CN110290398B (zh) 视频下发方法、装置、存储介质及电子设备
CN109672902A (zh) 一种视频抽帧方法、装置、电子设备和存储介质
CN110782387A (zh) 图像处理方法、装置、图像处理器及电子设备
CN114222185B (zh) 视频播放方法、终端设备及存储介质
US20230140558A1 (en) Method for converting a picture into a video, device, and storage medium
CN112714357A (zh) 视频播放方法、视频播放装置、电子设备和存储介质
CN112764877A (zh) 一种用于硬件加速设备与docker内进程通信的方法与系统
CN113411661B (zh) 用于记录信息的方法、装置、设备、存储介质及程序产品
CN113411660B (zh) 视频数据的处理方法、装置和电子设备
CN112954452A (zh) 视频生成方法、装置、终端及存储介质
CN116546229A (zh) 一种互动方法、装置、电子设备、计算机可读介质
CN115393490A (zh) 图像渲染方法、装置、存储介质及电子设备
CN114820660A (zh) 图像处理方法、装置、电子设备、存储介质及程序产品
CN114554269A (zh) 数据处理方法、电子设备及计算机可读存储介质
CN115811621A (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