著录项信息
专利名称 | 一种渲染合成方法及系统 |
申请号 | CN201410145373.8 | 申请日期 | 2014-04-10 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-07-02 | 公开/公告号 | CN103905744A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N5/278 | IPC分类号 | H;0;4;N;5;/;2;7;8查看分类表>
|
申请人 | 中央电视台;北京中科大洋科技发展股份有限公司 | 申请人地址 | 北京市海淀区复兴路11号中央电视台技术管理中心(西北门)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中央电视台,北京中科大洋科技发展股份有限公司 | 当前权利人 | 中央电视台,北京中科大洋科技发展股份有限公司 |
发明人 | 丁文华;顾军;杨磊;雒勇;王杰中;郭志芳;薛康 |
代理机构 | 北京新知远方知识产权代理事务所(普通合伙) | 代理人 | 徐彩华 |
摘要
本发明提供了一种渲染合成方法及系统,其中,本发明提供的方法包括以下步骤加载视音频文件,在选择加载并打开字幕文件时,调用CPU对视音频文件的帧画面进行帧数据解码,得到视音频画面数据。同时,调用GPU渲染引擎对字幕文件包含的信息进行渲染。然后,由GPU渲染引擎对视音频画面数据以及渲染得到的字幕数据进行合成叠加渲染,将字幕叠加到视音频画面上。此外,本发明根据提供的方法还相应的提出了一种渲染合成系统。采用本发明提供的方法及系统,字幕画面可随着视频播放器窗口的最大化最小化等变化而自适应调整,并且保证字幕画面的清晰度,提升用户浏览体验。
1.一种渲染合成方法,其特征在于,包括以下步骤:
加载视音频文件;
在选择加载并打开字幕文件时,
调用CPU对视音频文件的帧画面进行帧数据解码,得到视音频画面数据;
同时,调用GPU渲染引擎对字幕文件包含的信息进行渲染;
然后,由所述GPU渲染引擎对所述视音频画面数据以及渲染得到的字幕数据进行合成叠加渲染,将字幕叠加到视音频画面上。
2.如权利要求1所述的渲染合成方法,其特征在于,所述视音频文件为带有音频的视频文件,或者不带有音频的视频文件。
3.如权利要求1或2所述的渲染合成方法,其特征在于,所述字幕文件包含的信息包括帧视音频画面对应的字幕文字、字幕的字体、颜色、大小、位置、透明度以及时码。
4.如权利要求1或2所述的渲染合成方法,其特征在于,所述CPU对视音频文件的帧画面进行帧数据解码后,实时获取到时码信息;
渲染引擎在字幕文件中查找对应的时码信息,根据时码位置查询是否在该时码内含有字幕,如含有字幕,进行GPU字幕渲染。
5.如权利要求1或2所述的渲染合成方法,其特征在于,所述方法还包括:
在选择不加载字幕文件时,则直接调用CPU对其解码后的视音频画面进行CPU渲染,从而完成视音频画面的处理。
6.一种渲染合成系统,其特征在于,包括CPU视音频解码器和GPU渲染引擎,其中CPU视音频解码器用于对视音频文件的帧画面进行帧数据解码;并且
GPU渲染引擎用于对字幕文件包含的信息进行渲染,并对解码得到的视音频画面数据以及渲染得到的字幕数据进行合成叠加渲染。
7.如权利要求6所述的渲染合成系统,其特征在于,所述视音频文件为带有音频的视频文件,或者不带有音频的视频文件。
8.如权利要求6或7所述的渲染合成系统,其特征在于,所述字幕文件包含的信息包括帧视音频画面对应的字幕文字、字幕的字体、颜色、大小、位置、透明度以及时码。
9.如权利要求6或7所述的渲染合成系统,其特征在于,所述CPU视音频解码器对视音频文件的帧画面进行帧数据解码后,实时获取到时码信息;
GPU渲染引擎在字幕文件中查找对应的时码信息,根据时码位置查询是否在该时码内含有字幕,如含有字幕,进行GPU字幕渲染。
10.如权利要求6或7所述的渲染合成系统,其特征在于,所述CPU视音频解码器还用于,当不加载字幕文件时,对其解码的视音频画面进行CPU渲染,从而完成视音频画面的处理。
一种渲染合成方法及系统\n技术领域\n[0001] 本发明涉及广播电视领域,更具体地说,涉及视音频文件和字幕文件的渲染合成方法与系统。\n背景技术\n[0002] 随着信息技术的飞速发展,媒体传播渠道和受众也越来越广泛和多样化,作为媒体传播的中坚力量,电视台在节目生产过程中也要考虑所要传播的渠道和受众。比如,同样的新闻节目在电视台不同频道播出时或者面向不同受众播出时,需要显示不同的字幕或者相同的字幕内容不同的语种等,比如字幕相同但为不同的地方语言。在节目播出前的生产制作和存储管理过程中,如节目素材的存储、查找与预览、节目重新制作、送播等生产环节中,往往就需要对不同字幕不同语种进行相应处理。因此,电视台在节目的制作时同一个视频画面往往就会有多个不同字幕,或者在电视节目重播时需要更换不同字幕。如此一来,如何高效管理这些视频文件和字幕文件,就是电视台在多媒体资产管理上需要面临同时也是需要解决的一个问题。\n[0003] 目前在广电行业的电视台内,都通过媒体资产管理系统对媒体音视频节目等文件进行管理。但是在管理多版本字幕和视频的时候,往往都是单一化管理,如视音频文件与字幕文件绑定,在节目制作的时候直接将字幕叠加到视频画面上进行打包转码,这样合成后的文件保存到媒体资产管理系统的时候就只有一个节目文件,字幕文件并不是独立的,这不利于后续再编辑。同时,由于媒资系统后续需要为使用者提供视音频的检索浏览等功能,考虑到降低数据传输量和减少带宽,在将高标清的视音频高码率文件保存到媒资系统的同时需要进行低码率的转换,而由此转换后的低码率也是视频画面和字幕直接合成在一起的文件。\n[0004] 图3为现有技术的视频音频字幕管理过程示意图。如图3所示,当在媒资系统中进行查找浏览时,只能浏览已经叠加字幕的低码率视频文件。并且,由于字幕文件已经合成到视频上,只能通过CPU计算进行视频的解码和画面渲染,无法充分利用GPU等计算资源。当该节目有多个字幕文件时,也无法进行字幕文件的选择,只能从节目制作系统更换字幕文件重新制作合成,然后经过再次低码率的转换,保存到媒资系统。\n[0005] 但媒资系统的功能之一就是为了业务部门对保存的视音频资料进行查找再利用。\n当媒资系统希望再次使用该节目进行重新制作或者重新播出时,则视频画面本身已经被叠加上了字幕,制作人员无法获得纯净的原始无字幕的视频画面。这也就是我们经常在电视上看到某些节目下方会出现马赛克等模糊区域,然后在这个模糊区域上又被重新覆盖了其他字幕的原因。\n[0006] 当然,电视台业务管理部门也采用了视频素材与字幕分离的方式,即节目制作合成时只合成视频和音频文件,并且转换低码率的时候也不转换字幕文件,这样,保存到媒资系统的时候就分别有高标清视音频文件、字幕文件和低码率文件。但是当在媒资系统进行节目的查找和浏览的时候,无法对字幕文件进行同时浏览,字幕文件只能作为独立的附件存储,无法给使用者提供有效的参考信息,并且浏览时的视频画面同样是由CPU进行解码和渲染的,同样无法充分利用GPU计算资源。\n[0007] 上述内容,为现有技术方案所遇到的问题。如果对每个字幕文件都进行一次节目的制作合成和低码率转换,则无疑是对生产效率和管理效率的降低,同时提升了生产过程中的用工成本。另外,也无法保留原始的视频画面,给以后的视音频素材再次生产利用留下了遗憾。如果采用素材画面与字幕分离的方式保存到媒资系统,又无法对使用者提供实时、直观的字幕参考信息,使用者只能通过第三方软件打开字幕文件的方式查看字幕内容,但这样又不能保证字幕信息和视音频画面同步的需求,也给用户带来了使用不便和困扰。\n发明内容\n[0008] 本发明针对上述问题,提出了一种渲染合成方法及系统,本发明充分利用CPU与GPU计算资源,为用户在媒资系统中检索浏览低码率文件时,提供一种支持根据用户浏览时播放器窗口的变化而实时渲染画面内容的方法及系统,同时保证字幕、画面的严格同步以及渲染画面的高保真。\n[0009] 在一个方面,本发明提供了一种渲染合成方法,包括以下步骤:加载视音频文件,在选择加载并打开字幕文件时,调用CPU对视音频文件的帧画面进行帧数据解码,得到视音频画面数据。同时,调用GPU渲染引擎对字幕文件包含的信息进行渲染。然后,由GPU渲染引擎对视音频画面数据以及渲染得到的字幕数据进行合成叠加渲染,将字幕叠加到视音频画面上。\n[0010] 优选地,本发明提供的渲染合成方法,在在选择不加载字幕文件时,则直接调用CPU对其解码后的视音频画面进行CPU渲染,从而完成视音频画面的处理。\n[0011] 在另一个方面,本发明还提供了一种渲染合成系统,包括CPU视音频解码器和GPU渲染引擎,其中CPU视音频解码器用于对视音频文件的帧画面进行帧数据解码;并且GPU渲染引擎用于对字幕文件包含的信息进行渲染,并对解码得到的视音频画面数据以及渲染得到的字幕数据进行合成叠加渲染。\n[0012] 优选地,本发明提供的渲染合成系统的CPU视音频解码器还用于,当不加载字幕文件时,对视音频进行解码以及CPU渲染,从而完成视音频画面的处理。\n[0013] 本发明提供的渲染合成方法及系统充分利用CPU与GPU计算资源,联合计算并渲染的技术,对字幕文件进行单独渲染,使得视频文件保留了最原始的画面,为后续业务系统对该节目再利用时提供了更完整的原始视频信息,并简化了节目制作过程中的操作。并且本发明提供的方法及系统可直接在原始视频上叠加新字幕合成浏览。此外,由于本发明采用了渲染引擎,并充分利用了GPU计算资源,使的字幕在渲染时可根据视频画面的大小、背景、对比度、亮度来实时调整字幕的大小、位置、颜色、字体、透明度等效果。使字幕画面随着视频播放器窗口的最大化最小化等变化而自适应调整,并且保证字幕画面的清晰度,提升了用户浏览体验。\n附图说明\n[0014] 下面将参照附图描述本发明的具体实施例,其中:\n[0015] 图1为本发明的音频画面与字幕分离管理过程示意图。\n[0016] 图2为本发明提供的方法的步骤流程图。\n[0017] 图3为现有技术的视频音频字幕管理过程示意图。\n具体实施方式\n[0018] 为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。\n[0019] 本发明提供的方法及系统主要用于媒体资产管理系统中,用户浏览时使用。由于本发明采用了CPU与GPU联合计算并渲染的技术,对字幕文件进行单独渲染,使得视频文件保留了最原始的画面,为后续业务系统对该节目再利用时提供了更完整的原始视频信息,并简化了节目制作过程中的操作。为了达到上述目的,本发明在前期节目制作合成过程中,采用素材的视音频画面与字幕分离管理,从而可直接在原始视频上叠加新字幕并合成后浏览。下面结合图1对音频画面与字幕分离管理的过程进行详述。\n[0020] 图1为本发明的音频画面与字幕分离管理过程示意图,如图1所示,步骤S101,将对应的视频文件和音频文件合成为视音频文件。当然,在此情况下,此视音频文件为带有音频的视频文件。但,实际上,在本文中,视音频文件也可以为不带有音频的视频文件,比如在无音频的情况下。然后,再经过步骤S102,将视音频文件转码生成低码率文件。\n[0021] 其中,在步骤S102中选择生成低码率文件,是由于媒资系统在浏览时采用的是\n640*360分辨率的低码率,可避免字幕直接合成视频在1920*1080等高清显示器上全屏显示时,字幕等信息将会显得模糊失真,严重时可能会出现马赛克等情况,影响用户的观看体验。\n[0022] 最后,执行步骤S103,即将视音频文件生成的低码率文件保存到媒体资产管理系统中,同时,字幕文件无需处理,直接保存到媒体资产系统中。其中,在字幕文件中需保留相应的时码信息,而一般字幕的时码信息多采用“入点、出点、文字”的组织方式。本发明支持多种不同格式的字幕文件,如SRT、XML、TXT、DLG字幕文件格式等。例如本发明中支持的xm1字幕文件,即采用如下组织形式。\n[0023]\n[0024] 例如本发明支持的SRT字幕文件,采用如下组织形式。\n[0025]\n[0026]\n[0027] 此时媒体资产系统中管理的资源对象包括高/标清高码率视频文件、低码率视音频文件和字幕文件,以供再利用及浏览。\n[0028] 本发明提供的方法及系统主要用于媒体资产管理系统中,用户浏览时使用。即用户在查找浏览视音频节目时,通过选择加载并打开字幕文件或者不加载字幕文件,利用本发明提供的CPU视音频解码以及GPU渲染引擎完成最终浏览画面的显示。下面结合图2对本发明提供的方法的步骤进行详细叙述,图2为本发明提供的方法的步骤流程图。\n[0029] 步骤S201,检查并加载视音频文件,选择是否加载字幕文件。在本文中,视音频文件可以为相应的视频文件和音频文件合成文件,也可以为不带有音频的视频文件。一般来说,对于视频文件和音频文件合成的视音频文件,媒体资产管理系统中通常会有字幕,如用户查找浏览视音频文件时需要配合相应的字幕,则选择加载字幕文件。而对于不带有音频的视频文件,此类文件没有相应的字幕进行加载,则不用考虑加载字幕文件,例如一些风景片、纪录片等。当然,当用户查找浏览视音频文件时不需要配合字幕,则也不需要加载字幕文件。下面就检查并加载视音频文件,选择是否加载字幕文件的两种情况进行详细描述。\n[0030] 如选择加载并打开字幕文件,则并行执行步骤S202以及步骤S203,即调用CPU对视音频文件的帧画面进行帧数据解码,得到视音频画面数据,并调用GPU渲染引擎对字幕文件包含的信息进行渲染。再执行步骤S204,即GPU渲染引擎对解码得到的视音频画面数据以及渲染得到的字幕数据进行合成叠加渲染,完成视音频画面。其中,字幕文件包含的信息包括帧视频画面对应的字幕文字、字幕的字体、颜色、大小、位置、透明度以及时码等。\n[0031] 具体地,如选择加载并打开字幕文件,调用CPU和GPU计算资源,同时对CPU视音解码器和GPU渲染引擎进行初始化操作,如设置文件路径、初始化缓存Buffer、加载文件等。\nCPU视音频解码器将通过CPU对视音频帧画面进行帧数据解码,并且在解码过程中可以实时获取视频画面的“时、分、秒、帧”时码信息,无论在播放器中采用倍速播放还是快速seek,视音频解码器在解码时都能实时并且准确的获取到时码信息。然后,渲染引擎查找字幕文件中对应的时码信息。渲染引擎获取到对应时码信息后,首先按照视频的时码位置查询是否在该时码内含有字幕,如含有字幕,将查询到的字幕值通过GPU将字幕文字进行字体、颜色、大小、位置、透明度等效果的渲染,然后将CPU解码后的帧视音频画面数据通过GPU进行合成叠加渲染,把字幕叠加到视频画面上,完成帧画面的合成,最终显示画面。\n[0032] 下面结合本发明在实际场景的应用进行举例,例如,在媒体资产管理系统中,用户想要查找浏览一部关于宝宝成长记录的视音频文件且配合字幕,其中,本实施例中字幕文件组织形式如下:\n[0033]\n[0034] 用户查找浏览相关视音频,在加载并打开视音频文件的同时,选择加载并打开对应的字幕文件,CPU视音解码器和GPU渲染引擎进行设置文件路径、初始化缓存Buffer、加载文件等初始化操作。CPU视音频解码器将通过CPU对视音频帧画面进行帧数据解码,例如,当解码到宝宝在墙上进行涂鸦绘画的帧画面,实时获取时码信息00:10:08,039。渲染引擎在字幕文件(本实施例中的字幕文件为SRT字幕文件)中查找并获取对应时码信息,[0035] 渲染引擎获取到对应时码信息00:10:08,039后,根据视频的时码位置查询是否在该时码内含有字幕。由于此帧画面上的宝宝在墙上进行涂鸦绘画,没有相应的对白或旁白字幕,因此,如字幕文件所示,00:10:08,039时刻在00:10:07,039-->00:10:13,119时刻内,没有字幕。渲染引擎将CPU解码后的帧视音频画面数据通过GPU进行渲染,完成帧画面,最终显示画面。\n[0036] 而当解码到宝宝完成在墙上的涂鸦绘画的帧画面,实时获取时码信息00:10:14,\n033。渲染引擎获取到对应时码信息00:00:14,033后,根据视频的时码位置查询是否在该时码内含有字幕。此时帧画面上的宝宝完成在墙上的涂鸦绘画,有对应的旁自。因此,如字幕文件所示,00:00:14,033时刻在00:10:13,119-->00:10:22,439时刻内,且旁白字幕为他们的画大多是随心所欲的创作。渲染引擎将查询到的字幕值通过GPU将字幕文字进行字体、颜色、大小、位置、透明度等效果的渲染,然后将CPU解码后的帧视音频画面数据通过GPU进行合成叠加渲染,把字幕叠加到视频画面上,完成帧画面的合成,最终显示画面。\n[0037] 如选择不加载字幕文件,则执行步骤S205,直接调用CPU进行视音频解码,并对解码后的视音频画面进行渲染。\n[0038] 相应地,结合上述方法,本发明还提出了一种渲染合成系统,包括:CPU视音频解码器以及GPU渲染引擎。其中,CPU视音频解码器,用于对视音频每帧画面进行帧数据解码;GPU渲染引擎,用于对字幕文件包含的信息进行渲染,并与CPU视音频解码器解码的视音频画面数据进行合成叠加渲染。此外,CPU视音频解码器对视音频进行帧数据解码后,还对解码后的视音频画面进行渲染合成。\n[0039] 本发明提供的方法及系统采用渲染引擎,并充分利用了GPU计算资源,使的字幕在渲染时可根据视频画面的大小、背景、对比度、亮度来实时调整字幕的大小、位置、颜色、字体、透明度等效果,随着视频播放器窗口的最大化最小化等变化而自适应调整,并且保证了字幕画面的清晰度,提升了用户浏览体验。\n[0040] 以上实施例仅用以说明本发明的技术方案,而非对其进行限制。因此,在不背离本发明的精神及其实质的情况下,本领域技术人员可作出各种改变、替换和变型。很显然,但这些改变、替换和变型都应涵盖于本发明权利要求的保护范围之内。
法律信息
- 2017-07-11
- 2014-07-30
实质审查的生效
IPC(主分类): H04N 5/278
专利申请号: 201410145373.8
申请日: 2014.04.10
- 2014-07-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-05-28
|
2007-11-19
| | |
2
| |
2009-09-23
|
2008-03-21
| | |
3
| |
2008-05-28
|
2007-11-19
| | |
4
| |
2008-05-28
|
2007-11-19
| | |
5
| |
2012-07-11
|
2010-12-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |