[发明专利]一种视频渲染方法及系统有效
| 申请号: | 201810034814.5 | 申请日: | 2018-01-15 |
| 公开(公告)号: | CN108093293B | 公开(公告)日: | 2021-01-22 |
| 发明(设计)人: | 黄为庆;刘小辉;陈建生 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
| 主分类号: | H04N21/433 | 分类号: | H04N21/433;H04N19/172;H04N21/4402;H04N21/44 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
| 地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 视频 渲染 方法 系统 | ||
本申请提供了一种视频渲染方法,包括:当接收到待解码的视频帧数据且空槽队列中有可用空槽时,对所述待解码的视频帧数据进行解码,得到解码数据,所述空槽队列包括多个空槽;将所述解码数据的数据信息和属性信息保存到所述空槽队列中的第一个可用空槽中;当所述空槽队列中存在待渲染解码数据的数据信息时,提取所述待渲染解码数据,并将保存有所述待渲染解码数据的数据信息的空槽更新为可用空槽;根据所述待渲染解码数据的属性信息加载纹理数据;根据所述纹理数据对所述待渲染解码数据进行渲染。空槽队列中的多个空槽保证预先解码多帧视频数据等待渲染,避免了码流切换对视频播放流畅性的影响,提高了用户体验。
技术领域
本发明涉及多媒体技术领域,更具体的,涉及一种视频渲染方法及系统。
背景技术
由于不同用户带宽的差异性,视频播放需要在高画质和低延时性有一个相对的平衡,因此,往往向用户提供多种分辨率的码流供用户选择,在用户观看视频的过程中随着网速变化往往需要切换码流。
现有视频播放通用的处理方式是基于解码和渲染的通用架构,在该架构下若用户进行码流切换操作,涉及到音视频解码器的打开、关闭。由于解码的特殊性,即,刚打开音视频解码器时,解码器一般需要缓存几帧数据,用户才能获取到一帧数据,也就是说用户看到画面时,已经解出了几帧视频,由于单帧的耗时已经很大,缓存几帧数据耗时会更大,当用户进行码流切换后获得第一帧的视频耗时长。码流切换引起的耗时会影响音视频播放的流畅性,用户的直观感受就是卡顿或者黑屏的出现。
发明内容
有鉴于此,本发明提供了一种视频渲染方法及系统,提前解码出一定帧数的视频等待渲染,避免了码流切换对视频播放流畅性的影响。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种视频渲染方法,包括:
当接收到待解码的视频帧数据且空槽队列中有可用空槽时,对所述待解码的视频帧数据进行解码,得到解码数据,其中,所述空槽队列包括多个空槽;
将所述解码数据的数据信息和属性信息保存到所述空槽队列中的第一个可用空槽中,并将所述解码数据确定为待渲染解码数据;
当所述空槽队列中存在待渲染解码数据的数据信息时,提取所述待渲染解码数据,并将保存有所述待渲染解码数据的数据信息的空槽标记为可用空槽;
根据所述待渲染解码数据的属性信息加载纹理数据;
根据所述纹理数据对所述待渲染解码数据进行渲染。
优选的,当对所述待解码的视频帧数据进行解码后没有得到解码数据时,所述方法还包括:
判断所述空槽队列中是否有可用空槽;
若有,对在所述待解码的视频帧数据之后接收到的视频帧数据进行解码,直到得到解码数据;
若没有,进入等待状态,返回执行所述判断所述空槽队列中是否有可用空槽。
优选的,在所述将所述解码数据的数据信息和属性信息保存到所述空槽队列中的第一个可用空槽中之后,所述方法还包括:
判断当前视频码流所有的视频帧数据是否都已解码;
若是,关闭当前视频码流对应的解码器,并根据已接收到的下一视频码流打开下一视频码流对应的解码器,返回执行所述当接收到待解码的视频帧数据且空槽队列中有可用空槽时,对所述待解码的视频帧数据进行解码;
若否,执行所述当接收到待解码的视频帧数据且空槽队列中有可用空槽时,对所述待解码的视频帧数据进行解码。
优选的,所述解码数据的属性信息包括:解码方式、视频帧的高、视频帧的宽和视频帧格式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810034814.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于管理缓存的方法、装置及系统
- 下一篇:一种终端屏幕直播方法及终端





