CN115665482B - 视频渲染方法、装置、计算机设备和存储介质 - Google Patents

视频渲染方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115665482B
CN115665482B CN202211399504.6A CN202211399504A CN115665482B CN 115665482 B CN115665482 B CN 115665482B CN 202211399504 A CN202211399504 A CN 202211399504A CN 115665482 B CN115665482 B CN 115665482B
Authority
CN
China
Prior art keywords
frame
rendering
video
target
frame rate
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
CN202211399504.6A
Other languages
English (en)
Other versions
CN115665482A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211399504.6A priority Critical patent/CN115665482B/zh
Publication of CN115665482A publication Critical patent/CN115665482A/zh
Application granted granted Critical
Publication of CN115665482B publication Critical patent/CN115665482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例公开了视频渲染方法、装置、计算机设备和存储介质;可以确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、与当前的目标帧渲染周期;从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在目标帧渲染周期内的帧刷新频率;基于子视频帧序列中视频帧的时间属性信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率;根据历史帧率调节参数对第一候选渲染帧率进行调节,得到第二候选渲染帧率;基于帧刷新频率对第二候选渲染帧率进行调节,得到目标渲染帧率;在目标帧渲染周期,基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。该方案涉及计算机视觉技术,可以改善视频的渲染效果。

Description

视频渲染方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种视频渲染方法、装置、计算机设备和存储介质。
背景技术
终端的屏幕刷新率可以用于描述终端屏幕面板每秒绘制新图像的次数,因此,当通过终端来播放视频时,终端可以基于其屏幕刷新率对视频中的视频帧进行展示。
在对相关技术的研究和实践过程中,本申请的发明人发现,若是以超过屏幕刷新率的频率来对视频帧进行渲染,则会导致渲染过程中出现例如视频画面跳跃不连续、加重音画不同步等严重影响视频播放效果的问题,因此当前的视频渲染方法还有待改进。
发明内容
本申请实施例提出了一种视频渲染方法、装置、计算机设备和存储介质,可以改善视频的渲染效果。
本申请实施例提供一种视频渲染方法,包括:
确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;
从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;
基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;
根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;
基于所述帧刷新频率,对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;
在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
相应的,本申请实施例还提供一种视频渲染装置,包括:
第一确定单元,用于确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;
第二确定单元,用于从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;
计算单元,用于基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;
第一调节单元,用于根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;
第二调节单元,用于基于所述帧刷新频率,对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;
渲染单元,用于在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
在一实施例中,所述渲染单元,包括:
第一确定子单元,用于基于所述目标渲染帧率,确定所述目标帧渲染周期对应的渲染帧分布信息;
第二确定子单元,用于从所述子视频帧序列中确定满足所述渲染帧分布信息的目标渲染帧;
渲染处理子单元,用于在所述目标帧渲染周期对所述目标渲染帧进行渲染处理。
在一实施例中,所述第一确定子单元,用于:
从所述目标渲染帧率中解析出所述目标帧渲染周期对应的目标帧率调节参数;根据所述目标帧率调节参数所指示的帧率调节比例,确定所述目标帧渲染周期对应的渲染帧分布信息。
在一实施例中,所述第二确定子单元,用于:
确定所述子视频帧序列中各视频帧对应的帧排序属性;根据所述帧排序属性,从所述子视频帧序列的各视频帧中确定满足所述渲染帧分布信息的目标渲染帧。
在一实施例中,所述第二调节单元,包括:
校验子单元,用于基于所述帧刷新频率,对所述第二候选渲染帧率进行校验;
第一调节子单元,用于根据校验结果,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数;
第二调节子单元,用于根据所述目标帧率调节参数对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率。
在一实施例中,所述第一调节子单元,用于:
根据校验结果,确定所述历史帧率调节参数对应的调节系数;根据所述调节系数,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数。
在一实施例中,所述第一调节子单元,具体用于:
当所述校验结果指示所述第二候选渲染帧率不小于所述帧刷新频率时,确定所述历史帧率调节参数对应的第一调节系数;当所述校验结果指示所述第二候选渲染帧率小于所述帧刷新频率时,确定所述历史帧率调节参数对应的第二调节系数;所述第一调节系数对应的帧率调节幅度,大于所述第二调节系数对应的帧率调节幅度。
在一实施例中,所述第一调节子单元,具体用于:
根据所述调节参数,对所述历史帧率调节参数进行调节,得到调节后的历史帧率调节参数;基于所述帧刷新频率,确定针对所述视频帧序列的帧率调节参考阈值;基于所述帧率调节参考阈值对所述调节后的历史帧率调节参数进行校验;根据校验结果,确定所述目标帧渲染周期对应的目标帧率调节参数。
在一实施例中,所述第二确定单元,包括:
第一获取子单元,用于获取待展示的多媒体数据,所述多媒体数据包括视频帧序列与音频帧序列,所述视频帧序列中的视频帧具有对应的视频帧展示时间,所述音频帧序列中的音频帧具有对应的音频帧展示时间;
匹配子单元,用于基于所述视频帧展示时间与所述音频帧展示时间,对所述视频帧与所述音频帧进行匹配;
第三确定子单元,用于基于匹配结果,从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列。
在一实施例中,所述第三确定子单元,用于:
当匹配结果指示所述音频帧与所述视频帧之间出现音画同步异常时,从所述视频帧序列中确定满足预设音画同步条件的候选视频帧;基于所述目标帧渲染周期的渲染时长信息,从所述候选视频帧中选取在所述目标帧渲染周期内待渲染的目标视频帧;基于选取的目标视频帧,确定在所述目标帧渲染周期内待渲染的子视频帧序列。
在一实施例中,所述计算单元,包括:
读取子单元,用于在所述目标帧渲染周期的关联帧读取周期内依次读取所述子视频帧序列中的视频帧;
第二获取子单元,用于获取所述子视频帧序列中目标视频帧在所述关联帧读取周期内的帧读取时间信息;
帧率计算子单元,用于根据所述帧读取时间信息与所述子视频帧序列的序列长度信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率。
相应的,本申请实施例还提供的一种计算机设备,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行本申请实施例提供的任一种视频渲染方法。
相应的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行本申请实施例提供的任一种视频渲染方法。
相应的,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,所述计算机程序/指令被处理器执行时实现如本申请实施例所示的视频渲染方法的步骤。
本申请实施例可以确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;基于所述帧刷新频率,对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
对于视频帧序列在当前的目标帧渲染周期内待渲染的子视频帧序列,在基于该子视频帧序列在该目标帧渲染周期内的候选渲染帧率,确定在该目标帧渲染周期内对该子视频帧序列进行渲染所需的目标渲染帧率时,本申请能够结合该视频帧序列在历史帧渲染周期时的历史帧率调节参数,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,在对目标帧渲染周期的渲染帧率进行调节时,本申请能够通过将历史帧渲染周期的帧渲染结果与帧渲染效果考虑在内,从而确保了多个帧渲染周期之间的渲染帧率过渡是温和且有效的,避免了由于多个帧渲染周期之间的渲染帧率跳跃过大而导致的视频画面卡顿问题。进一步地,由此本申请还能够结合终端的帧刷新频率,例如终端屏幕的屏幕刷新率,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,本申请能够在兼顾终端屏幕的帧刷新能力,且在不超过终端的帧刷新频率的前提下,维持自身的最大渲染帧率输出,从而能够有效地改善,以超过屏幕刷新率进行视频帧渲染场景下的音画不同步问题。
可见,当以超过屏幕刷新率的频率来对视频帧进行渲染时,本申请能够基于上述思想,动态地调节每个帧渲染周期对应的渲染帧率,从而有效地改善视频的渲染效果,并优化屏幕刷新率限制下的视频播放效果,提高视频播放的流畅度。在实际应用中,当应用于视频倍速播放的场景中时,本申请则能够在倍速播放情况下大大提高视频播放的流程度及视频音画同步程度,从而改善视频观看的倍速体验感。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的视频渲染方法的场景示意图;
图2是本申请实施例提供的视频渲染方法的流程图;
图3是本申请实施例提供的视频渲染方法的帧率控制流程示意图;
图4是本申请实施例提供的视频渲染方法的试验对比数据示意图;
图5是本申请实施例提供的视频渲染方法的另一流程示意图;
图6是本申请实施例提供的视频渲染装置的结构示意图;
图7是本申请实施例提供的视频渲染装置的另一结构示意图;
图8是本申请实施例提供的视频渲染装置的另一结构示意图;
图9是本申请实施例提供的视频渲染装置的另一结构示意图;
图10是本申请实施例提供的视频渲染装置的另一结构示意图;
图11是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,然而,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提出了一种视频渲染方法,该视频渲染方法可以由计算机设备执行。该计算机设备可以为终端或服务器,即该视频渲染方法可以由终端或服务器执行,也可以由终端和服务器共同执行。
具体地,该终端可以是平板电脑、笔记本电脑、台式计算机、智能电视、智能手机、智能音箱、智能手表、VR/AR设备、车载终端、智能家居、可穿戴电子设备等,但并不局限于此。例如,该终端可以包括显示模块,例如终端屏幕,该终端可以通过该显示模块来展示视频。该终端与服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
该视频渲染方法涉及计算机视觉技术(Computer Vision,CV),其中,计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在一实施例中,如图1所示,终端10可以确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期。例如,服务器20可以向终端10发送待展示的多媒体数据,例如该多媒体数据可以包括视频帧序列。终端10在获取待展示的视频帧序列后,即可通过多个帧渲染周期对该视频帧序列中的视频帧进行渲染,进而通过终端的显示模块例如终端屏幕来展示。当要在当前的目标帧渲染周期进行帧渲染时,终端10可以确定视频帧序列在历史帧渲染周期内的历史帧率调节参数。并且,终端10可以从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率。
进而,终端10可以基于子视频帧序列中视频帧的时间属性信息,计算子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;根据历史帧率调节参数对第一候选渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率;基于帧刷新频率,对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率。这样的话,终端10即可在目标帧渲染周期,基于所确定的目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。
以下分别进行详细说明,需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供的视频渲染方法,该方法可以由终端或服务器执行,也可以由服务器和终端共同执行;本申请实施例以视频渲染方法由终端执行为例来进行说明。
如图2所述,该视频渲染方法的具体流程可以如下:
101、确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期。
其中,视频帧序列指的是由至少一个视频帧组成的序列。例如,可以通过终端来展示多媒体数据,该多媒体数据例如可以为视频数据,即该多媒体数据例如可以包括视频帧序列、以及与该视频帧序列对应的音频帧序列。
具体地,可以将视频源在一倍速下正常播放的帧率,称为视频源帧率,例如,常见的视频源帧率可以包括25帧每秒(frames per second,fps),30fps等。可以将视频源在多倍速下进行倍速播放的帧率,称为视频源倍速帧率,例如,若视频源帧率为25fps,则视频源在3倍速下对应的视频源倍速帧率即为75fps。此外,可以将屏幕面板每秒绘制新图像的次数,称为屏幕刷新率,屏幕刷新率的单位为赫兹(HZ),例如,常见的屏幕刷新率可以包括60HZ,144HZ等。
例如,可以通过终端对视频数据进行播放,且终端所待渲染的视频数据中视频帧序列对应的实际帧率,可以大于该终端的屏幕刷新率。为了方便描述,可以用Rsource表示该该实际帧率。
作为示例,终端可以支持对视频数据进行倍速播放,则视频帧序列可以指的是设置以倍速播放的视频数据中的视频帧序列。例如,终端的屏幕刷新率可以为60HZ,可以通过该终端对视频源帧率为25fps的视频数据中的视频帧序列进行3倍速播放,即通过该终端对实际帧率为75fps的视频帧序列进行展示。在该示例中,则可以确定该视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期。
作为另一示例,终端可以对视频数据进行一倍速的正常播放,则视频帧序列可以指的是设置以一倍速播放的视频数据中的视频帧序列。例如,终端的屏幕刷新率可以为60HZ,可以通过该终端对视频源帧率为90fps的视频数据中的视频帧序列进行一倍速正常播放,即通过该终端对实际帧率为90fps的视频帧序列进行展示。在该示例中,则可以确定该视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期。
其中,帧渲染周期指的是终端对视频帧进行渲染的周期。例如,终端可以通过多个帧渲染周期来对视频帧序列进行渲染,以使得随着时间进度的前进,能够持续地展示渲染后的视频帧。值得注意的是,在实际应用中,可以设置各个帧渲染周期的时间长度均相等,例如,可以设置每个帧渲染周期的时长均为1秒(s);亦可以按需设置各个时长不等的帧渲染周期,本申请不对此作限制。
作为示例,参见图3,终端可以包括渲染器模块,该渲染器模块具体可以用于对接收到的待渲染的视频帧进行渲染,并以实际渲染帧率输出渲染后的视频帧。其中,渲染帧率指的是单位时间内送进渲染器进行渲染的视频帧数,通常以1s为时间单元,单位为fps。
其中,当前的目标帧渲染周期,指的是待对视频帧序列中的视频帧进行渲染的帧渲染周期。例如,在确定目标帧渲染周期对应的目标渲染帧率后,即可通过终端的渲染器,在该目标帧渲染周期内根据该目标渲染帧率来对视频帧序列中的视频帧进行渲染。
其中,历史帧渲染周期指的是,已对视频帧序列中的视频帧进行了渲染的帧渲染周期。具体地,历史帧渲染周期可以指的是当前时刻以前的帧渲染周期。
其中,帧率调节参数指的是用于调节渲染帧率的相关参数。具体地,可以通过帧率调节参数对渲染帧率进行调节,从而得到调节后的渲染帧率。例如,可以设置帧率调节参数的取值范围为[0,100%],譬如,可以设置帧率调节参数的取值范围为{0%,10%,20%,…,90%,100%}。可知,通过帧率调节参数对渲染帧率进行调节,即可实现通过帧率调节参数来调节采用的渲染帧率的比例,即通过帧率调节参数来调节渲染帧率的渲染比例。此外,为了方便,例如可以用rate来指代帧率调节参数。
因此,历史帧渲染周期的历史帧率调节参数,具体可以用于对该历史帧渲染周期对应的历史渲染帧率进行调节,以使得终端在该历史帧渲染周期内时,可以基于调节后的历史渲染帧率对视频帧序列中的视频帧进行渲染处理。
作为示例,终端的屏幕刷新率可以为60HZ,该终端可以支持对视频源帧率为25fps的视频数据进行3倍速的倍速播放,该倍速播放的视频数据中可以包括视频帧序列,则该终端所处理的视频帧序列对应的实际帧率即为75fps。在该示例中,可以确定该视频帧序列在当前时刻的上一历史帧渲染周期内对应的历史帧率调节参数rate、以及当前待确定对应的帧渲染帧率的目标帧渲染周期。
102、从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率。
其中,终端屏幕的帧刷新频率,指的是终端屏幕每秒绘制新视频帧的次数,例如,可以以终端的屏幕刷新率,作为该终端的屏幕对应的帧刷新率,则终端屏幕常见的帧刷新频率可以包括60HZ,144HZ等。
在本申请中,在确定当前的目标帧渲染周期后,即可进一步地确定终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率。
由于视频帧序列可以包括至少一个视频帧,且终端可以通过多个帧渲染周期来对该视频帧序列中的视频帧进行渲染,因此,可以从视频帧序列中确定待在目标帧渲染周期内进行渲染处理的视频帧,并将由所确定的视频帧所组成的序列确定为,在目标帧渲染周期内待渲染的子视频帧序列。
在一实施例中,考虑到视频帧在进行渲染之前可以先进行解码操作,因此,终端可以包括解码器模块,该解码器模块具体可以用于对视频数据中的视频包进行解码,并针对每个视频包输出对应解码后的视频帧。考虑到在实际应用中,解码操作的实现过程中可能会丢弃视频帧,因此,可以从解码后得到的视频帧序列中,确定在目标帧渲染周期内待渲染的子视频帧序列,即从解码后所保留的视频帧序列中,确定在目标帧渲染周期内待渲染的子视频帧序列。
在另一实施例中,参见图3,考虑到视频帧在进行渲染之前可以先后进行解码操作与音画同步操作,因此,终端还可以包括音画同步机模块,该音画同步机模块具体可以用于实现视频数据的音画同步。其中,音画同步指的是正在渲染的每一帧画面与正在播放的每一段声音都是对应的,不存在会影响视频观看体验的音画偏差,例如不存在人耳和肉眼可以分辨出来的偏差。考虑到在实际应用中,音画同步操作的实现过程中亦可能会丢弃视频帧,因此,可以从音画同步处理后得到的视频帧中,确定在目标帧渲染周期内待渲染的子视频帧序列,即从音画同步处理后所保留的视频帧序列中,确定在目标帧渲染周期内待渲染的子视频帧序列。
作为示例,音画同步处理具体可以通过对相关视频帧与音频帧进行匹配实现,因此,可以基于匹配结果,从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列,具体地,步骤“从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列”,可以包括:
获取待展示的多媒体数据,多媒体数据包括视频帧序列与音频帧序列,视频帧序列中的视频帧具有对应的视频帧展示时间,音频帧序列中的音频帧具有对应的音频帧展示时间;
基于视频帧展示时间与音频帧展示时间,对视频帧与音频帧进行匹配;
基于匹配结果,从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列。
其中,多媒体数据指的是多种媒体数据的综合,例如,多媒体可以包括声音和图像等多种媒体。譬如,多媒体数据可以包括视频数据,该视频数据可以包括视频帧序列与音频帧序列,该视频帧序列可以包括至少一个视频帧,该音频帧可以包括至少一个音频帧,且每个视频帧具有对应的视频帧展示时间,每个音频帧具有对应的音频帧展示时间。
其中,视频帧的视频帧展示时间,用于指示该视频帧的展示时间;类似地,音频帧的音频帧展示时间,用于指示该音频帧的播放时间。例如,可以将视频帧的显示时间戳(present timestamp,pts)作为该视频帧的视频帧展示时间;类似地,可以将音频帧的pts作为该音频帧的音频帧展示时间。
可以基于视频帧展示时间与音频帧展示时间,对视频帧与音频帧进行匹配,以将视频帧与音频进行对齐,从而确保音画同步,这样的话,即可从确认对齐或音画同步的视频帧中,确定在目标帧渲染周期内待渲染的子视频帧序列。
作为示例,可以通过将视频帧的pts与音频帧的pts进行比较,来对视频帧与音频帧进行匹配。具体地,若匹配结果指示当前音画同步,例如视频帧的pts与音频帧的pts之间的差值在预设区间范围内,则可以表明当前视频帧与音频帧是对齐的,即音画同步,因此,即可从确认对齐或音画同步的视频帧中,选取目标帧渲染周期内待渲染的视频帧,进而得到由选取的视频帧组成的子视频帧序列。
作为另一示例,可以通过将视频帧的pts与音频帧的pts进行比较,来对视频帧与音频帧进行匹配。具体地,若匹配结果指示当前音画发生了不同步,即音画同步异常,则可以针对该视频帧序列中的视频帧进行音画同步处理,进而再从确认对齐或音画同步的视频帧中,确定在目标帧渲染周期内待渲染的子视频帧序列。具体地,步骤“基于匹配结果,从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列”,可以包括:
当匹配结果指示音频帧与视频帧之间出现音画同步异常时,基于目标帧渲染周期的渲染时长信息,从视频帧序列中确定在目标帧渲染周期内待渲染的候选视频帧;
从候选视频帧中选取满足预设音画同步条件的目标视频帧;
基于选取的目标视频帧,确定在目标帧渲染周期内待渲染的子视频帧序列。
其中,音画同步异常指的是音画同步效果存在影响视频观看体验的音画偏差,例如存在人耳和肉眼可以分辨出来的偏差。例如,当匹配结果表明视频帧的pts落后于音频帧的pts,且二者之间的差值超过了预设区间范围,则可以确定匹配结果指示音频帧与视频帧之间出现音画同步异常。
其中,帧渲染周期的渲染时长信息,指的是该帧渲染周期对应的时间长度信息。例如,若设置目标帧渲染周期的时间长度为1s,则可以确定目标帧渲染周期的渲染时长信息具体为1s。
考虑到视频帧序列中可以包括至少一个视频帧,而各个帧渲染周期内所能处理的待渲染视频帧的数量是有限的,因此,可以基于目标帧渲染周期的渲染时长信息,从视频帧序列中的视频帧中,选取待在目标帧渲染周期内进行渲染的候选视频帧。例如,可以根据目标帧渲染周期的渲染时长信息、以及终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率,确定终端屏幕在目标帧渲染周期内进行画面展示时的渲染帧数,进而根据视频帧序列中各视频帧对应的视频帧展示时间,从视频帧序列中选取该渲染帧数对应的视频帧,作为在目标帧渲染周期内待渲染的候选视频帧。
从目标帧渲染周期内待渲染的候选视频帧中确定满足预设音画同步条件的目标视频帧的方式可以有多种,例如,可以基于各候选视频帧对应的匹配结果,从候选视频帧中确定不满足预设音画同步条件的候选视频帧,并将该候选视频帧标注为需要丢弃而不进行渲染的丢弃视频帧。这样的话,即可将候选视频帧中除去丢弃视频帧以外视频帧,确定为满足预设音画同步条件的目标视频帧。譬如,若候选视频帧的pts落后于对应音频帧的pts,且二者之间的差值超过了预设区间范围,则可以将该候选视频帧标注为丢弃视频帧。
进一步地,即可基于选取的目标视频帧,确定在目标帧渲染周期内待渲染的子视频帧序列。例如,可以将由选取的目标视频帧所组成的视频帧序列,确定为在目标帧渲染周期内待渲染的子视频帧序列。
103、基于子视频帧序列中视频帧的时间属性信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率。
其中,视频帧的时间属性信息,用于描述计算针对该视频帧的第一候选渲染帧率时,与该视频帧所相关的相关时间信息。例如,视频帧的时间属性信息可以包括当终端计算第一候选渲染帧率时,读取该视频帧时对应的系统时间,即该视频帧的帧读取时间信息。
例如,参见图3,终端可以包括帧率计算器模块,音画同步机模块可以将满足预设音画同步条件的视频帧送入帧率计算器模块,而帧率计算器模块则可以记录读取到每一个视频帧时对应的系统时间,并将该系统时间作为视频帧的时间属性信息,以使得帧率计算器模块可以基于视频帧的时间属性信息,计算目标帧渲染周期对应的第一候选渲染帧率。
在一实施例中,可以设置目标帧渲染周期的关联帧读取周期,用于读取子视频帧序列中的视频帧,例如,用于供帧率计算器模块读取音画同步机模块所发送的,满足预设音画同步条件的视频帧,以便于可以基于视频帧的时间属性信息,计算第一候选渲染帧率。具体地,步骤“基于子视频帧序列中视频帧的时间属性信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率”,可以包括:
在目标帧渲染周期的关联帧读取周期内依次读取子视频帧序列中的视频帧;
获取子视频帧序列中目标视频帧在关联帧读取周期内的帧读取时间信息;
根据帧读取时间信息与子视频帧序列的序列长度信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率。
其中,帧读取周期指的是用于读取视频帧的时间周期,具体地,可以在帧读取周期内读取视频帧。例如,音画同步机模块可以将满足预设音画同步条件的视频帧,发送至帧率计算器模块,而帧率计算器模块则可以在帧读取周期内读取视频帧,并基于视频帧的时间属性信息计算第一候选渲染帧率。
因此,目标帧渲染周期的关联帧读取周期,则指的是与该目标帧渲染周期关联的帧读取周期。具体地,当要计算子视频帧序列在目标帧渲染周期对应的目标渲染帧率时,可以将读取该子视频帧序列中视频帧的帧读取周期,确定为该目标帧渲染周期的关联帧读取周期。
为了便于计算,在实施时可以将关联帧读取周期的时长,设置为与目标帧读取周期的时长相同。例如,可以将目标帧渲染周期与关联帧读取周期均设置为1s。
作为示例,参见图3,可以将音画同步机模块认为同步的视频帧,即经由音画同步机模块匹配后确定满足预设音画同步条件的视频帧,送入帧率计算器模块,对应地,帧率计算器模块可以启动预设时长的帧读取周期,例如,帧率计算器模块可以启动1s的帧读取周期,则该帧读取周期即为目标帧渲染周期的关联帧读取周期。帧率计算器模块可以在该关联帧读取周期内依次读取由音画同步机模块发送的视频帧,并记录该关联帧读取周期内到来的每一个视频帧的系统时间,并将该系统时间作为对应视频帧的帧读取时间信息。
例如,可以将在关联帧读取周期内读取到的子视频帧序列中各视频帧对应的帧读取时间信息,表示为{T1,T2,…,Tn-1,Tn},单位为微秒(us),其中,n表示该关联帧读取周期内读取到的视频帧数,即子视频帧序列中的视频帧数,Ti表示该关联帧读取周期内到来的第i个视频帧的系统时间。可知,当关联帧读取周期的时长设置为1s时,子视频帧序列中的各视频帧对应的帧读取时间信息满足以下关系:
Figure GDA0004236108690000151
其中1000000表示1000000us,即1s。
进一步地,为了计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率,可以获取子视频帧序列中目标视频帧在关联帧读取周期内的帧读取时间信息。例如,可以从在关联帧读取周期内读取到的各视频帧中,选取第一个读取到的视频帧与最后一个读取到的视频帧,作为子视频帧序列中的目标视频帧,并获取该目标视频帧对应的帧读取时间信息。作为示例,即获取第一个读取到的视频帧对应的帧读取时间信息T1、以及最后一个读取到的视频帧对应的帧读取时间信息Tn
因此,即可根据关联帧读取周期内读取到的第一个视频帧与最后一个视频帧之间的时间跨度、以及子视频帧序列的序列长度信息,来计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率。例如,可以通过计算该序列长度信息与该时间跨度之间的比值,作为第一候选渲染帧率。
其中,子视频帧序列的序列长度信息为描述该子视频帧序列中视频帧数的相关信息。例如,参见图3,若经由音画同步机模块匹配后确定满足预设音画同步条件的视频帧数为n,即子视频帧序列的序列长度信息为n,则音画同步机模块可以对应地将这n个视频帧发送至帧率计算器模块,帧率计算器模块可以启动1s的帧读取周期计算,记录周期内到来的每一个视频帧的系统时间,表示为{T1,T2,…,Tn-1,Tn},进一步地,即可将n/(Tn-T1)作为子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率。由于该第一候选渲染帧率,是基于音画同步机模块根据预设音画同步条件所匹配确定的视频帧,即音画同步机认为同步的视频帧,来计算得到的,因此,在实际应用中,亦可将该第一候选渲染帧率称为同步帧率,并用Rsync表示,即有Rsync=n/(Tn-T1)。
值得注意的是,在实际应用中,当终端计算完目标帧渲染周期对应的第一候选渲染帧率后,即可启动下一帧读取周期的计算,即将下一帧读取周期内读取到的第一个视频帧对应的系统时间,重新赋值为T1,以此类推,直到记录到该帧读取周期内的T1,并重复前述计算第一候选渲染帧率的相关步骤,来计算新的目标帧渲染周期所对应的第一候选渲染帧率。
104、根据历史帧率调节参数对第一候选渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率。
由于在历史帧渲染周期内,具体是通过历史帧率调节参数来对渲染帧率进行调节的,因此,在得到目标帧渲染周期对应的第一候选渲染帧率后,为了避免由于各帧渲染周期对应的渲染帧率之间差距过大而导致视频的卡顿观感,因此,可以结合历史帧率调节参数来对目标帧渲染周期的第一候选渲染帧率进行调节。
例如,若步骤101中确定的历史帧率调节参数,具体包括一个历史帧渲染周期对应的历史帧率调节参数,譬如,该历史帧渲染周期具体可以指当前时刻以前的上一个帧渲染周期,且可以用rate来表示该历史帧渲染周期对应的历史帧率调节参数,可以用Rsync来表示第一候选渲染帧率。则可以通过计算该历史帧率调节参数与第一候选渲染帧率之间的乘积,来对第一候选渲染帧率进行调节,并将计算结果Rsync×rate作为第二候选渲染帧率。
值得注意的是,在实际应用中,可以按需对该历史帧率调节参数设置权重参数wsync,并将带权计算的乘积结果wsync×Rsync×rate作为第二候选渲染帧率。
又如,若步骤101中确定的历史帧率调节参数,具体包括了多个历史帧率渲染周期对应的历史帧率调节参数,譬如,该历史帧渲染周期具体包括当前时刻以前的若干个帧渲染周期,则可以基于各历史帧渲染周期与目标帧渲染周期之间的时间间隔,来设置对应历史帧率调节参数对应的权重信息,进而结合加权的思想来根据多个历史帧率渲染周期对应的历史帧率调节参数,对第一候选渲染帧率进行调节。具体地,步骤“根据历史帧率调节参数对第一候选渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率”,可以包括:
确定历史帧渲染周期与目标帧渲染周期之间的时间间隔信息;
根据时间间隔信息,确定历史帧率调节参数对应的权重信息;
根据历史帧率调节参数与权重信息,对第一渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率。
其中,时间间隔信息用于表征目标帧渲染周期与历史帧渲染周期之间的时间间隔。例如,可以将目标帧渲染周期与历史帧渲染周期之间间隔的时间长度,作为二者之间的时间间隔信息;又如,可以将目标帧渲染周期与历史帧渲染周期之间间隔的帧渲染周期数,作为二者之间的时间间隔信息。
进一步地,可以根据时间间隔信息,确定每个历史帧率调节参数对应的权重信息。例如,可以设置距离目标帧渲染周期越近的历史帧渲染周期所对应的历史帧率调节参数,具有越大的权重。譬如,可以结合正态分布,根据时间间隔信息,确定每个历史帧率调节参数对应的权重信息。
在确定每个历史帧率调节参数对应的权重信息后,即可通过计算各个历史帧率调节参数的加权结果,得到加权后的历史帧率调节参数,进而根据加权后的历史帧率调节参数对第一候选渲染帧率进行调节,例如,可以通过计算该加权后的历史帧率调节参数与第一候选渲染帧率之间的乘积,来对第一候选渲染帧率进行调节,并将计算结果作为第二候选渲染帧率。
105、基于帧刷新频率,对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率。
考虑到可以通过终端屏幕来对视频帧序列进行展示,且终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率,具体可以指示终端屏幕每秒绘制新视频帧的次数,因此,在确定基于历史帧率调节参数调节得到的第二候选渲染帧率后,可以进一步地将终端屏幕的帧刷新频率考虑在内,基于帧刷新频率来进一步地对第二候选渲染帧率进行调节,这样的话,即可在考虑到历史数据的同时,亦确保能够在不超过帧刷新频率的前提下,输出最大的渲染帧率。
在一实施例中,考虑到第二候选渲染帧率为根据历史帧率调节参数,对第一候选渲染帧率进行调节得到的,即历史帧率调节参数的取值,会对第二候选渲染帧率造成影响,因此,在实现基于帧刷新频率对第二候选帧率进行调节时,可以通过对历史帧率调节参数进行调节来实现。
例如,可以基于帧刷新频率,对第二候选渲染帧率进行校验,以便于能够进一步地基于校验结果,确定对历史帧率调节参数进行调节的方式,具体地,步骤“基于帧刷新频率,对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率”,可以包括:
基于帧刷新频率,对第二候选渲染帧率进行校验;
根据校验结果,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数;
根据所述目标帧率调节参数对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率。
基于帧刷新频率,对第二候选渲染帧率进行校验的方式可以有多种,例如,可以通过将第二候选渲染帧率与帧刷新频率进行比较来实现。
作为示例,可以以第二候选渲染帧率具体为Rsync×rate,其中rate为历史帧渲染周期对应的历史帧率调节参数,且用Rscreen表示帧刷新频率为例,则可以比较Rsync×rate与Rscreen之间的大小,并基于比较结果,确定对第二候选渲染帧率进行校验的校验结果。例如,校验结果可以包括第一比较结果与第二比较结果,其中,该第一比较结果可以指示第二候选渲染帧率不小于帧刷新频率,即Rsync×rate≥Rscreen,该第二比较结果可以指示第二候选渲染帧率小于帧刷新频率,即Rsync×rate<Rscreen
进一步地,即可根据校验结果来对历史帧率调节参数进行调节,进而根据调节后的历史帧率调节参数,来确定目标帧渲染周期对应的目标帧率调节参数。
对历史帧率调节参数进行调节的方式可以有多种,例如,可以根据调节系数来对历史帧率调节参数进行调节。譬如该调节系数可以包括权重系数,则可以基于加权的思想来对历史帧率调节参数进行调节;又如该调节系数可以包括幅度系数,则可以通过将将历史帧率调节参数与幅度系数进行相加,以调整历史帧率调节参数对应的帧率调节幅度。因此,确定历史帧率调节参数对应的调节系数后,即可根据该调节系数,对历史帧率调节参数进行调节,以得到目标帧渲染周期对应的目标帧率调节参数。具体地,步骤“根据校验结果,对历史帧率调节参数进行调节,得到目标帧渲染周期对应的目标帧率调节参数”,可以包括:
根据校验结果,确定历史帧率调节参数对应的调节系数;
根据调节系数,对历史帧率调节参数进行调节,得到目标帧渲染周期对应的目标帧率调节参数。
根据校验结果,确定历史帧率调节参数对应的调节系数的方式可以有多种,例如,调节系数可以包括权重系数,则可以根据校验结果,确定历史帧率调节参数对应的权重系数。
作为示例,可以设置当校验结果指示第二候选渲染帧率不小于帧刷新频率时,确定历史帧率调节参数对应的第一权重系数;当校验结果指示第二候选渲染帧率小于帧刷新频率时,确定历史帧率调节参数对应的第二权重系数;其中第一权重系数用于降低历史帧率调节参数的取值,第二权重系数用于增加历史帧率调节参数的取值,且第一调节系数对应的帧率调节幅度,大于第二调节系数对应的帧率调节幅度。
因此,即可确保当第二候选渲染帧率不小于帧刷新频率时,能够更快递地将第二候选渲染帧率调解至帧刷新频率以下,从而快速地解决由于视频帧的实际渲染帧率大于或等于帧刷新频率而导致视屏播放时的卡顿观感,而当第二候选渲染帧率小于帧刷新频率时,则能够循序渐进地将视频帧的实际渲染帧率进行提高,避免跳跃过大地调整视频播放的流程度,从而提升了视频播放时的用户体验感。
又如,调节系数可以包括幅度系数,则可以根据校验结果,确定历史帧率调节参数对应的幅度系数。
作为示例,可以以调节系数具体为幅度系数,且校验结果具体包括第一比较结果与第二比较结果,其中,该第一比较结果指示第二候选渲染帧率不小于帧刷新频率,即Rsync×rate≥Rscreen,该第二比较结果指示第二候选渲染帧率小于帧刷新频率,即Rsync×rate<Rscreen为例。则可以设置:
当校验结果指示第二候选渲染帧率不小于帧刷新频率时,确定历史帧率调节参数对应的第一调节系数;当校验结果指示第二候选渲染帧率小于帧刷新频率时,确定历史帧率调节参数对应的第二调节系数;第一调节系数对应的帧率调节幅度,大于第二调节系数对应的帧率调节幅度。
例如,若Rsync×rate≥Rscreen,则可以将第一调节系数设置为α,即rate=rate+α;若Rsync×rate<Rscreen,且Rsync×(rate+β)<Rscreen,则可以将第二调节系数设置为β,即rate=rate+β,其中,可以进一步地设置α<0,β>0,即第一调节系数用于降低历史帧率调节参数的取值,第二调节系数用于增加历史帧率调节参数的取值,且可以设置|a|>|β|,即第一调节系数对应的帧率调节幅度,大于第二调节系数对应的帧率调节幅度。
举例来说,可以设置:若Rsync×rate≥Rscreen,则将历史帧率调节参数降低30%,即rate=rate-30%;若Rsync×rate<Rscreen,且Rsync×(rate+10%)<Rscreen,则将历史帧率调节参数上调10%,即rate=rate+10%。
这样的话,即可确保当第二候选渲染帧率不小于帧刷新频率时,能够更快递地将第二候选渲染帧率调节至帧刷新频率以下,从而快速地解决由于视频帧的实际渲染帧率大于或等于帧刷新频率而导致视屏播放时的卡顿观感,而当第二候选渲染帧率小于帧刷新频率时,则能够循序渐进地提高视频帧的实际渲染帧率进,避免跳跃过大地改善视频播放的流程度,从而提升了视频播放时的用户体验感。
在根据校验结果,确定历史帧率调节参数对应的调节系数后,即可进一步地,根据调节系数,对历史帧率调节参数进行调节,得到目标帧渲染周期对应的目标帧率调节参数。例如,若调节系数具体为权重系数,则可以基于加权的思想来对历史帧率调节参数进行调节;又如,若调节系数具体为幅度系数,则可以通过将将历史帧率调节参数与幅度系数进行相加,以调整历史帧率调节参数对应的帧率调节幅度。
在一实施例中,考虑到当校验结果指示第二候选渲染帧率不小于帧刷新频率时,所确定的第一调节系数,具体可以用于降低历史帧率调节参数的取值,为了避免在实际应用中,历史帧率调节参数的取值被不合理地降低,因此,可以设置针对视频帧序列的帧率调节参考阈值,作为兜底的保护措施,具体地,步骤“根据所述调节系数,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数”,可以包括:
根据调节系数,对历史帧率调节参数进行调节,得到调节后的历史帧率调节参数;
基于帧刷新频率,确定针对视频帧序列的帧率调节参考阈值;
基于帧率调节参考阈值对调节后的历史帧率调节参数进行校验;
根据校验结果,确定目标帧渲染周期对应的目标帧率调节参数。
例如,若调节参数具体被设置为第一调节参数,则可以有调节后的历史帧率调节参数rate=rate+α,譬如rate=rate-30%,即通过第一调节参数来对历史帧率调节参数进行重赋值;若调节参数具体被设置为第二调节参数,则可以有rate=rate+β,譬如rate=rate+10%,即通过第二调节参数来对历史帧率调节参数进行重赋值。则调节后的历史帧率调节参数即为重赋值后的历史帧率调节参数rate。
其中,针对视频帧序列的帧率调节参考阈值,指的是针对该视频帧序列的帧率调节参数所允许的最低取值。
作为示例,由于在计算第一候选渲染帧率Rsync之前,视频帧序列可以先后进行解码操作与音画同步操作,而在实际应用中,解码操作的实现过程中可能会丢弃视频帧,且音画同步操作的实现过程中亦会丢弃不满足预设音画同步调节的视频帧,可知,第一候选渲染帧率Rsync与视频帧序列对应的实际帧率Rsource之间的大小关系满足:Rsync≤Rsource。因此,可以将Rscreen/Rsource设置为针对视频帧序列的帧率调节参考阈值。
在确定针对视频帧序列的帧率调节参考阈值后,即可基于帧率调节参考阈值对调节后的历史帧率调节参数进行校验。例如,可以通过将帧率调节参考阈值与调节后的历史帧率调节参数进行比较来实现,以使得能够根据校验结果,从帧率调节参考阈值与调节后的历史帧率调节参数中,选取较大的值作为目标帧渲染周期对应的目标帧率调节参数。作为示例,可以进一步地作一下设置:rate=max{rate,Rscreen/Rsource},其中,其中max{}表示取最大值,该设置在本质上,即为基于调节后的历史帧率调节参数与帧率调节参考阈值,对rate进行重赋值的过程,因此,可以将重赋值后的历史帧率调节参数rate,确定为目标帧渲染周期对应的目标帧率调节参数。
这样的话,即可避免当校验结果指示第二候选渲染帧率不小于帧刷新频率时,历史帧率调节参数的取值被不合理地降低,亦能够确保,目标帧率调节参数的取值,是在帧率调节参考阈值与调节后的历史帧率调节参数之中,所选取的较大值,因此,即保证了在不超过帧刷新率的情况下输出最大的渲染帧率。
进一步地,在确定目标帧渲染周期对应的目标帧率调节参数后,即可进一步地根据目标帧率调节参数对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率。
例如,考虑到第二候选渲染帧率为根据历史帧率调节参数,对第一候选渲染帧率进行调节得到的,例如可以将该历史帧率调节参数rate与第一候选渲染帧率Rsync的乘积:Rsync×rate,作为第二候选渲染帧率,而基于帧刷新频率,对第二候选渲染帧率进行调节的过程,可以通过对其中的历史帧率调节参数进行调节实现,例如,可以通过对其中的历史帧率调节参数进行重赋值实现,并将重赋值后的历史帧率调节参数确定为目标帧渲染周期对应的目标帧率调节参数。因此,对于步骤根据目标帧率调节参数对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率,可以通过将计算第二候选渲染帧率时涉及到的历史帧率调节参数,进行重赋值,进而将对历史帧率调节参数进行重赋值后的第二候选渲染帧率,确定为目标帧渲染周期对应的目标渲染帧率。
例如,可以确定目标帧渲染周期对应的目标渲染帧率为Rsync×rate,其中该式中的rate为重赋值后的历史帧率调节参数。譬如,可以按照以下公式来对历史帧率调节参数进行重赋值:rate=max{rate,Rscreen/Rsource},具体解释可以参考前面相关步骤的解释,在此不作赘述。
106、在目标帧渲染周期,基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。
在确定目标帧渲染周期对应的目标渲染帧率后,即可在该目标帧渲染周期内,基于该目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。
在一实施例中,以目标渲染帧率具体为Rsync×rate为例,其中该式中的rate指代重赋值后的历史帧率调节参数。由于可以设置rate的取值范围为[0,100%],且结合前述描述可知,第一候选渲染帧率Rsync所指示的视频帧数,可以为目标帧渲染周期内满足预设音画同步条件的视频帧。因此可知,在该式可以通过rate来调节实际采用Rsync的比例,即通过rate来调节在目标帧渲染周期内要对满足预设音画同步条件的视频帧中多少比例的视频帧,来进行渲染处理。例如若rate的取值为70%,则目标渲染帧率具体为70%Rsync,即在目标帧渲染周期内实际渲染的视频帧数,为第一候选渲染帧率Rsync所指示的视频帧数的70%,
可见,在目标帧渲染周期内所实际渲染的视频帧数,可能有多种情况,例如,可以为第一候选渲染帧率Rsync所指示的视频帧数,即对目标帧渲染周期内满足预设音画同步条件的所有视频帧都进行渲染处理;又如,可以为第一候选渲染帧率Rsync所指示的视频帧数的部分,例如仅对目标帧渲染周期内满足预设音画同步条件的70%视频帧进行渲染处理。因此,为了进一步提高基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理时,视频帧的展示效果,可以进一步地对目标帧渲染周期内进行渲染处理的视频帧的分布进行设置,具体地,步骤“在目标帧渲染周期,基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理”,可以包括:
基于目标渲染帧率,确定目标帧渲染周期对应的渲染帧分布信息;
从子视频帧序列中确定满足渲染帧分布信息的目标渲染帧;
在目标帧渲染周期对目标渲染帧进行渲染处理。
其中,目标帧渲染周期对应的渲染帧分布信息,用于描述该目标帧渲染周期中实际所要渲染的视频帧的分布特征,例如,具体可以用于描述该目标帧渲染周期中实际要渲染的视频帧在时间维度上的分布特征。
由于目标帧渲染周期的目标渲染帧率,可以通过历史帧率调节参数对该目标帧渲染周期的候选渲染帧率进行调节得到,例如,可以以目标渲染帧率具体为Rsync×rate为例,可知其中rate的取值范围为[0,100%],即该式中rate指示了对于第一候选渲染帧率Rsync所指示的视频帧数的采用比例,因此,即可根据该采用比例来设计对应的渲染帧分布信息。
可知,即可从目标渲染帧率中解析出相关参数,该相关参数指示了对候选渲染帧率所指示的视频帧数的采用比例,进而可以根据该相关参数来设计对应的渲染帧分布信息。具体地,步骤“基于目标渲染帧率,确定目标帧渲染周期对应的渲染帧分布信息”,可以包括:
从目标渲染帧率中解析出目标帧渲染周期对应的目标帧率调节参数;
根据目标帧率调节参数所指示的帧率调节比例,确定目标帧渲染周期对应的渲染帧分布信息。
其中,目标帧渲染周期对应的目标帧率调节参数,指的是指示了对该目标帧渲染周期的候选渲染视频帧数的采用比例的参数,该目标帧渲染周期的候选渲染视频帧数指的是,该目标帧渲染周期的候选渲染帧率所指示的视频帧数,例如,该目标帧渲染周期的第一候选渲染帧率Rsync所指示的视频帧数。对应地,该采用比例即为目标帧率调节参数所指示的帧率调节比例。
作为示例,可以以目标渲染帧率具体为Rsync×rate为例,其中该式中的rate指代重赋值后的历史帧率调节参数,可知,在该示例中,目标帧渲染周期对应的目标帧率调节参数即为该重赋值后的历史帧率调节参数rate。
在实际应用中,终端可以对rate的取值进行维护,以便于可以快速确定目标帧渲染周期对应的目标帧率调节参数。例如,可以由图3中的帧率控制器模块对rate的取值进行维护,即当确定了目标帧渲染周期对应的目标帧率调节参数rate的取值后,该取值可以由帧率控制器模块进行维护。其中,帧率控制器模块具体还可以用于从音画同步机模块获取满足预设音画同步条件的视频帧,并从帧率计算器模块获取由帧率计算器模块计算出的第一候选渲染帧率Rsync,以使得帧率计算器模块可以基于Rsync与其所维护的rate,确定目标帧渲染周期对应的目标渲染帧率Rsync×rate,并根据目标帧率调节参数rate所指示的帧率调节比例,确定目标帧渲染周期对应的渲染帧分布信息。
根据目标帧率调节参数所指示的帧率调节比例,确定目标帧渲染周期对应的渲染帧分布信息的方式可以有多种,例如,可以根据目标帧率调节参数所指示的帧率调节比例,确定目标帧渲染周期中待渲染的视频帧,进而确定这些视频帧在时间维度上的分布特征,以确定目标帧渲染周期对应的渲染帧分布信息。
作为示例,可以以目标渲染帧率具体为Rsync×rate,目标帧率调节参数为该式中的rate,且第一候选渲染帧率Rsync所指示的候选渲染视频帧为编号0至9所示的10帧视频帧为例,其中,视频帧的编号可以按照视频帧的时间信息确定的,例如,图3中的帧率控制器模块可以根据各视频帧到来的先后时间,来确定各视频帧对应的标号。可以用表格的形式,来说明当目标帧率调节参数所指示的帧率调节比例为不同取值时,10帧视频帧中实际要渲染的视频帧、以及丢弃不进行渲染的视频帧的分布情况。
表1
0 1 2 3 4 5 6 7 8 9
0% N N N N N N N N N N
10% Y N N N N N N N N N
20% Y N N N N Y N N N N
30% Y N N N Y N N N Y N
40% Y N N Y N N Y N N Y
50% Y N Y N Y N Y N Y N
60% N Y Y N Y Y N Y Y N
70% N Y Y Y N Y Y Y N Y
80% N Y Y Y Y N Y Y Y Y
90% N Y Y Y Y Y Y Y Y Y
100% Y Y Y Y Y Y Y Y Y Y
具体地,表1中用0-9对应指代编号0至9所示的10帧视频帧,用0%-100%对应指代目标帧率调节参数rate的不同取值情况,因此,即可通过查表的方式获悉当确定目标帧率调节参数rate的取值后,编号0至9所示的10帧视频帧中各视频帧具体是属于实际要渲染的视频帧,还是属于丢弃不进行渲染的视频帧。其中,表中N指代该视频帧属于丢弃不进行渲染的视频帧,例如图3中帧率控制器模块则不会将该视频帧输出到渲染器模块进行渲染;Y指代该视频帧属于实际要渲染的视频帧,例如图3中帧率控制器模块则会将该视频帧输出到渲染器模块进行渲染。
确定目标帧渲染周期对应的渲染帧分布信息后,即可进一步地,从子视频帧序列中确定满足渲染帧分布信息的目标渲染帧,进而在目标帧渲染周期对目标渲染帧进行渲染处理。例如,参见图3,可以由帧率控制器模块从音画同步机模块输出的子视频帧序列中,确定满足渲染帧分布信息的目标渲染帧,并向渲染器发送该目标渲染帧,以使得渲染器可以在目标帧渲染周期对该目标渲染帧进行渲染处理。
在一实施例中,例如可以以渲染帧分布信息具体呈现为表格的形式为例,虽然通过查表的形式能够快速地从子视频帧序列中确定满足渲染帧分布信息的目标渲染帧,但若基于子视频帧序列中的各个视频帧来构建对应的查询表格的话,在子视频帧序列中的视频帧数较大的情况下,则会导致构建的查询表格过大,从而导致处理效率有待改善,因此,为了提高处理效率,可以根据子视频帧序列中各视频帧的排序信息,从子视频帧序列的各视频帧中确定满足渲染帧分布信息的目标渲染帧。
可知,为了提高数据处理效率,在从子视频帧序列中确定满足渲染帧分布信息的目标渲染帧时,可以将子视频帧中各视频帧对应的排序信息考虑进去,以使得能够基于视频帧的顺序,高效地从子视频帧序列中确定待进行渲染的目标渲染帧。具体地,步骤“从子视频帧序列中确定满足渲染帧分布信息的目标渲染帧”,可以包括:
确定子视频帧序列中各视频帧对应的帧排序属性;
根据帧排序属性,从子视频帧序列的各视频帧中确定满足渲染帧分布信息的目标渲染帧。
其中,子视频帧序列中视频帧对应的帧排序属性,可以用于描述该视频帧在子视频帧序列中的排列顺序。例如,参见图3,音画同步机模块可以将满足预设音画同步条件的视频帧送入帧率计算器模块,对应地,帧率计算器模块可以获取由音画同步机模块输入的子视频帧序列中的各视频帧,并根据各视频帧到来的顺序对各视频帧按序进行编号,这样的话,即可将各视频帧对应的编号,确定该其帧排序属性的具体取值。
进一步地,即可根据各视频帧的帧排序属性,从子视频帧序列的各视频帧中确定满足渲染帧分布信息的目标渲染帧。
可以以渲染帧分布信息具体呈现为表格的形式为例,例如,可以以表1为例,则帧率计算器模块针对每个确定编号的视频帧,可以以每10帧为一个轮回,基于表1,根据目标帧率调节参数所指示的帧率调节比例,来控制是否将其输出到渲染器模块中进行渲染。譬如,若目标帧率调节参数所指示的帧率调节比例为70%,则针对第i帧,先计算一个因子f=i%10,然后根据70%和f在表1中查表,具体地,若结果为N,则表明该视频帧不会输出到渲染器中进行渲染;若结果为Y,则表明该视频帧需要输出到渲染器中进行渲染。
由上可知,本实施例可以确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率;基于子视频帧序列中视频帧的时间属性信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率;根据历史帧率调节参数对第一候选渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率;基于帧刷新频率,对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率;在目标帧渲染周期,基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。
对于视频帧序列在当前的目标帧渲染周期内待渲染的子视频帧序列,在基于该子视频帧序列在该目标帧渲染周期内的候选渲染帧率,确定在该目标帧渲染周期内对该子视频帧序列进行渲染所需的目标渲染帧率时,本实施例能够结合该视频帧序列在历史帧渲染周期时的历史帧率调节参数,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,在对目标帧渲染周期的渲染帧率进行调节时,本实施例能够通过将历史帧渲染周期的帧渲染结果与帧渲染效果考虑在内,从而确保了多个帧渲染周期之间的渲染帧率过渡是温和且有效的,避免了由于多个帧渲染周期之间的渲染帧率跳跃过大而导致的视频画面卡顿问题。进一步地,由此本实施例还能够结合终端的帧刷新频率,例如终端屏幕的屏幕刷新率,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,本实施例能够在兼顾终端屏幕的帧刷新能力,且在不超过终端的帧刷新频率的前提下,维持自身的最大渲染帧率输出,从而能够有效地改善,以超过屏幕刷新率进行视频帧渲染场景下的音画不同步问题。
可见,当以超过屏幕刷新率的频率来对视频帧进行渲染时,本实施例能够基于上述思想,动态地调节每个帧渲染周期对应的渲染帧率,从而有效地改善视频的渲染效果,并优化屏幕刷新率限制下的视频播放效果,提高视频播放的流畅度。在实际应用中,当应用于视频倍速播放的场景中时,本实施例则能够在倍速播放情况下大大提高视频播放的流程度及视频音画同步程度,从而改善视频观看的倍速体验感。
此外,通过视频源帧率为25fps的测试视频,以75fps的视频源倍速帧率在帧刷新频率为60HZ的终端进行三倍速播放时,可以分别对启用了本申请的视频渲染方法时、以及未启用本申请的视频渲染方法时,终端视频播放的音频帧与视频帧之间的差值进行记录,可知,该差值可以用于表征的是视频播放时的音画同步程度,即该差值越大则视频播放时音画同步程度越低,该差值越小则视频播放时音画同步程度越高。具体地,在图4所示的实验结果数据比对图中,横坐标表示视频帧的pts值,纵坐标的ptsDelta表示的是视频帧pts与音频帧pts的差值。深灰色的实验数据对应的是启用了本申请的视频渲染方法后记录到的实验数据,浅灰色的实验数据对应的是未启用本申请的视频渲染方法后记录到的实验数据。其中,实验过程中在pts=5e+06即a点之前,测试视频以一倍速进行播放,在pts=5e+06之后,测试视频以三倍速进行播放,而后在pts=5.5e+07即b点之前,测试视频再恢复以一倍速进行播放。
由图4所示的实验结果数据比对图可知,在测试视频在终端是以小于帧刷新频率60HZ的视频源帧率25pts播放时,深灰色点群与浅灰色点群均能保持ptsDelta=0左右,即均能实现音画同步,而当测试视频在终端启动了以大于帧刷新频率60HZ的视频源倍速帧率75pts进行倍速播放时,虽然深灰色点群与浅灰色点群对应的ptsDe lta均能迅速减低并保持稳定,但在一段时间后,深灰色点群教浅灰色点群,能迅速稳定并恢复至ptsDe lta=0左右,即本申请的视频渲染方法能够在视频的实际帧率大于终端的帧刷新频率的情况下,迅速响应并维持持续的音画同步效果。
可见,在视频播放过程中,若视频渲染帧率超过了终端的帧刷新频率,则会导致终端渲染器的渲染耗时增长,进一步加剧了音画不同步的程度(例如图2中浅灰色点群所示)。本申请通过实时计算音画同步机模块输出的同步帧率,基于帧刷新频率来动态调整视频渲染帧率,使其能够在保证不超过屏幕刷新率的前提下输出最大帧率,有效防止了音画不同步现象的发生。
根据上面实施例所描述的方法,以下将举例进一步详细说明。
在本实施例中,将以该方法由终端执行为例进行说明,如图5所示,一种视频渲染方法,具体流程如下:
201、终端从服务器获取待展示的多媒体数据,多媒体数据包括视频帧序列与音频帧序列。
例如,多媒体数据可以为视频数据,该视频数据可以包括视频帧序列与音频帧序列,其中,视频帧序列中的视频帧可以具有对应的视频帧展示时间,音频帧序列中的音频帧可以具有对应的音频帧展示时间。作为示例,该视频数据的视频源帧率可以为30fps。
例如,参见图3,终端可以包括解码器模块,音画同步机模块,帧率控制器模块,帧率计算器模块,以及渲染器模块等。
202、终端确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期。
例如,终端可以确定视频帧序列在目标历史帧渲染周期内的历史帧率调节参数,该目标历史帧渲染周期可以为当前时刻之前的上一个帧渲染周期。
例如,可以用rate来表示帧率调节参数,且可以设置其取值范围为[0,100%],参见图3,终端可以包括帧率计算器模块,可以由帧率计算器模块内部维护rate的取值变化,因此,在当前未对目标历史帧渲染周期对应的历史帧率调节参数rate进行重赋值时,可以直接通过帧率计算器模块获取该历史帧率调节参数。
例如,当前的目标帧渲染周期可以为当前时刻之后的未来帧渲染周期,且可以设置目标帧渲染周期的时长为1s。
203、终端基于视频帧序列中视频帧的视频帧展示时间、与音频帧序列中音频帧的音频帧展示时间,对视频帧与音频帧进行匹配。
例如,终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率可以为60fps,因此在该终端对视频源帧率为30fps的视频进行三倍速播放时,视频帧序列的视频源倍速帧率即为90fps,大于终端的帧刷新频率60pfs的。
作为示例,终端还可以包括播放器模块,参见图3,播放器模块可以以视频源倍速帧率将视频包送入解码器模块进行解码,解码器模块针对每一个视频包都输出一个视频帧。进一步地,可以将解码器模块输出的视频帧送进音画同步机模块,音画同步机模块则可以根据拿到的视频帧的pts与当前音频帧的pts进行比较,以对视频帧与音频帧进行匹配。
204、终端基于匹配结果,从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列。
例如,若视频帧的pts和音频帧的pts之间的差值在一个合理的区间范围内,则表明当前音画是同步或对齐的,则可以确定该视频帧属于待渲染的视频帧。而若视频帧的pts落后于音频帧的pts,且超过了一定的区间范围,则表明当前音画发送了不同步,则可以确定该视频帧属于需要丢弃而不进行渲染的视频帧。
进一步地,音画同步机模块即可基于目标帧渲染周期的渲染时长信息,从属于待渲染的视频帧中确定在目标帧渲染周期内待渲染的目标视频帧,进而可以将由所选取的目标视频帧组成的视频帧序列,确定为在目标帧渲染周期内待渲染的子视频帧序列。
205、终端在目标帧渲染周期的关联帧读取周期内依次读取子视频帧序列中的视频帧。
例如,可以用Rsync表示子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率,且参见图3,可以通过终端的帧率计算器模块来计算Rsync
具体地,在将音画同步机模块认为音画同步的视频帧送入帧率计算器模块后,帧率计算器模块可以启动1s周期,用以读取该周期内到来的视频帧。
206、终端获取子视频帧序列中目标视频帧在关联帧读取周期内的帧读取时间信息。
例如,帧率计算器模块可以记录周期内到来的每一个视频帧的系统时间,表示为{T1,T2,…,Tn-1,Tn},单位微秒(us)。其中Ti表示周期内到来的第i个视频帧的系统时间,并有下列关系:
Figure GDA0004236108690000311
其中1000000表示1000000us,即1s。
207、终端根据帧读取时间信息与子视频帧序列的序列长度信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率。
例如,帧率计算器模块可以通过计算Rsync=n/(Tn-T1),以确定子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率。
此外,分析可知Rsync可以表征音画同步机模块每秒认为满足预设音画同步条件的,且可渲染的视频帧数,因此当用Rsource表达视频源倍速帧率,由于视频帧在进行渲染之前会先后进行解码与音画同步等操作,而这些操作都可能丢弃视频帧,因此可知Rsync与Rsource满足以下关系:Rsync≤Rsource
而后,当需要计算新的目标帧渲染周期对应的第一候选渲染帧率时,帧率计算器模块可以启动下一周期的计算,即下一视频帧的系统时间重新赋值为T1,直到找到下一周期的Tn,再执行类似的计算流程,在此不作赘述。
208、终端根据历史帧率调节参数对第一候选渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率。
例如,参见图3,帧率计算器模块可以将目标帧渲染周期的同步帧率,也即第一候选渲染帧率Rsync传递给帧率控制器模块。同时,音画同步机模块输出的每一视频帧也传递给帧率控制器模块。
帧率计算器模块可以根据历史帧率调节参数rate,对第一候选渲染帧率Rsync进行调节,例如,帧率计算器模块可以将Rsync×rate,作为目标帧渲染周期对应的第二候选渲染帧率。
209、终端基于帧刷新频率,对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率。
例如,可以用Rscreen表示帧刷新率,则帧率计算器模块可以通过以下步骤来确定目标帧渲染周期对应的目标帧率调节参数的取值,即确定帧率计算器模块内部维持的rate的目标取值:
若Rsync×rate≥Rscreen,则rate=rate-30%;
若Rsync×rate<Rscreen,且Rsync×(rate+10%)<Rscreen,则rate=rate+10%;
进一步地,通过rate=max{rate,Rscreen/Rsource}确定rate的目标取值,其中,max{}表示取最大值。
在确定rate的目标取值后,帧率控制器即可确定目标帧渲染周期对应的目标渲染帧率为:Rsync×rate,其中此处rate取前述的目标取值。
210、终端在目标帧渲染周期,基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。
例如,可以设置rate的取值范围为{0%,10%,20%,…,90%,100%},共11档,表征帧率控制器模块对于从音画同步机模块拿到的视频帧,将以多少比例输出到渲染器模块。而针对拿到的视频帧,帧率控制器模块可以以每10帧为一个轮回,结合表1,根据目标帧率调节参数控制是否将其输出到渲染器模块中。例如:若目标帧率调节参数为70%,则针对第i帧,可以先计算一个因子f=i%10,然后根据70%和f在表1中查表。若结果为N,则表明该帧不输出到渲染器中进行渲染;若结果为Y,则表明该帧需要输出到渲染器中进行渲染。
由上可知,对于视频帧序列在当前的目标帧渲染周期内待渲染的子视频帧序列,在基于该子视频帧序列在该目标帧渲染周期内的候选渲染帧率,确定在该目标帧渲染周期内对该子视频帧序列进行渲染所需的目标渲染帧率时,本申请实施例能够结合该视频帧序列在历史帧渲染周期时的历史帧率调节参数,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,在对目标帧渲染周期的渲染帧率进行调节时,本申请实施例能够通过将历史帧渲染周期的帧渲染结果与帧渲染效果考虑在内,从而确保了多个帧渲染周期之间的渲染帧率过渡是温和且有效的,避免了由于多个帧渲染周期之间的渲染帧率跳跃过大而导致的视频画面卡顿问题。进一步地,由此本申请实施例还能够结合终端的帧刷新频率,例如终端屏幕的屏幕刷新率,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,本申请实施例能够在兼顾终端屏幕的帧刷新能力,且在不超过终端的帧刷新频率的前提下,维持自身的最大渲染帧率输出,从而能够有效地改善,以超过屏幕刷新率进行视频帧渲染场景下的音画不同步问题。
可见,当以超过屏幕刷新率的频率来对视频帧进行渲染时,本申请实施例能够基于上述思想,动态地调节每个帧渲染周期对应的渲染帧率,从而有效地改善视频的渲染效果,并优化屏幕刷新率限制下的视频播放效果,提高视频播放的流畅度。在实际应用中,当应用于视频倍速播放的场景中时,本申请实施例则能够在倍速播放情况下大大提高视频播放的流程度及视频音画同步程度,从而改善视频观看的倍速体验感。
在一实施例中,提供了一种视频渲染装置,如图6所示,该视频渲染装置可以包括:第一确定单元301,第二确定单元302,计算单元303,第一调节单元304,第二调节单元305以及渲染单元306,具体如下:
第一确定单元301,可以用于确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;
第二确定单元302,可以用于从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;
计算单元303,可以用于基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;
第一调节单元304,可以用于根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;
第二调节单元305,可以用于基于所述帧刷新频率,对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;
渲染单元306,可以用于在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
在一实施例中,参考图7,所述渲染单元306,可以包括:
第一确定子单元3061,可以用于基于所述目标渲染帧率,确定所述目标帧渲染周期对应的渲染帧分布信息;
第二确定子单元3062,可以用于从所述子视频帧序列中确定满足所述渲染帧分布信息的目标渲染帧;
渲染处理子单元3063,可以用于在所述目标帧渲染周期对所述目标渲染帧进行渲染处理。
在一实施例中,所述第一确定子单元3061,可以用于:
从所述目标渲染帧率中解析出所述目标帧渲染周期对应的目标帧率调节参数;根据所述目标帧率调节参数所指示的帧率调节比例,确定所述目标帧渲染周期对应的渲染帧分布信息。
在一实施例中,所述第二确定子单元3062,可以用于:
确定所述子视频帧序列中各视频帧对应的帧排序属性;根据所述帧排序属性,从所述子视频帧序列的各视频帧中确定满足所述渲染帧分布信息的目标渲染帧。
在一实施例中,参考图8,所述第二调节单元305,可以包括:
校验子单元3051,可以用于基于所述帧刷新频率,对所述第二候选渲染帧率进行校验;
第一调节子单元3052,可以用于根据校验结果,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数;
第二调节子单元3053,可以用于根据所述目标帧率调节参数对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率。
在一实施例中,所述第一调节子单元3052,可以用于:
根据校验结果,确定所述历史帧率调节参数对应的调节系数;根据所述调节系数,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数。
在一实施例中,所述第一调节子单元3052,可以具体用于:
当所述校验结果指示所述第二候选渲染帧率不小于所述帧刷新频率时,确定所述历史帧率调节参数对应的第一调节系数;当所述校验结果指示所述第二候选渲染帧率小于所述帧刷新频率时,确定所述历史帧率调节参数对应的第二调节系数;所述第一调节系数对应的帧率调节幅度,大于所述第二调节系数对应的帧率调节幅度。
在一实施例中,所述第一调节子单元,可以具体用于:
根据所述调节参数,对所述历史帧率调节参数进行调节,得到调节后的历史帧率调节参数;基于所述帧刷新频率,确定针对所述视频帧序列的帧率调节参考阈值;基于所述帧率调节参考阈值对所述调节后的历史帧率调节参数进行校验;根据校验结果,确定所述目标帧渲染周期对应的目标帧率调节参数。
在一实施例中,参考图9,所述第二确定单元302,可以包括:
第一获取子单元3021,可以用于获取待展示的多媒体数据,所述多媒体数据包括视频帧序列与音频帧序列,所述视频帧序列中的视频帧具有对应的视频帧展示时间,所述音频帧序列中的音频帧具有对应的音频帧展示时间;
匹配子单元3022,可以用于基于所述视频帧展示时间与所述音频帧展示时间,对所述视频帧与所述音频帧进行匹配;
第三确定子单元3023,可以用于基于匹配结果,从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列。
在一实施例中,所述第三确定子单元3023,可以用于:
当匹配结果指示所述音频帧与所述视频帧之间出现音画同步异常时,从所述视频帧序列中确定满足预设音画同步条件的候选视频帧;基于所述目标帧渲染周期的渲染时长信息,从所述候选视频帧中选取在所述目标帧渲染周期内待渲染的目标视频帧;基于选取的目标视频帧,确定在所述目标帧渲染周期内待渲染的子视频帧序列。
在一实施例中,参考图10,所述计算单元303,可以包括:
读取子单元3031,可以用于在所述目标帧渲染周期的关联帧读取周期内依次读取所述子视频帧序列中的视频帧;
第二获取子单元3032,可以用于获取所述子视频帧序列中目标视频帧在所述关联帧读取周期内的帧读取时间信息;
帧率计算子单元3033,可以用于根据所述帧读取时间信息与所述子视频帧序列的序列长度信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的视频渲染装置中由第一确定单元301确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;由第二确定单元302从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;由计算单元303基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;由第一调节单元304根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;由第二调节单元305基于所述帧刷新频率,对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;由渲染单元306在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
对于视频帧序列在当前的目标帧渲染周期内待渲染的子视频帧序列,在基于该子视频帧序列在该目标帧渲染周期内的候选渲染帧率,确定在该目标帧渲染周期内对该子视频帧序列进行渲染所需的目标渲染帧率时,该方案能够结合该视频帧序列在历史帧渲染周期时的历史帧率调节参数,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,在对目标帧渲染周期的渲染帧率进行调节时,该方案能够通过将历史帧渲染周期的帧渲染结果与帧渲染效果考虑在内,从而确保了多个帧渲染周期之间的渲染帧率过渡是温和且有效的,避免了由于多个帧渲染周期之间的渲染帧率跳跃过大而导致的视频画面卡顿问题。进一步地,由此该方案还能够结合终端的帧刷新频率,例如终端屏幕的屏幕刷新率,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,该方案能够在兼顾终端屏幕的帧刷新能力,且在不超过终端的帧刷新频率的前提下,维持自身的最大渲染帧率输出,从而能够有效地改善,以超过屏幕刷新率进行视频帧渲染场景下的音画不同步问题。
可见,当以超过屏幕刷新率的频率来对视频帧进行渲染时,该方案能够基于上述思想,动态地调节每个帧渲染周期对应的渲染帧率,从而有效地改善视频的渲染效果,并优化屏幕刷新率限制下的视频播放效果,提高视频播放的流畅度。在实际应用中,当应用于视频倍速播放的场景中时,该方案则能够在倍速播放情况下大大提高视频播放的流程度及视频音画同步程度,从而改善视频观看的倍速体验感。
此外,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器。如图11所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图11中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;基于所述帧刷新频率,对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,对于视频帧序列在当前的目标帧渲染周期内待渲染的子视频帧序列,在基于该子视频帧序列在该目标帧渲染周期内的候选渲染帧率,确定在该目标帧渲染周期内对该子视频帧序列进行渲染所需的目标渲染帧率时,本实施例的计算机设备能够结合该视频帧序列在历史帧渲染周期时的历史帧率调节参数,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,在对目标帧渲染周期的渲染帧率进行调节时,该计算机设备能够通过将历史帧渲染周期的帧渲染结果与帧渲染效果考虑在内,从而确保了多个帧渲染周期之间的渲染帧率过渡是温和且有效的,避免了由于多个帧渲染周期之间的渲染帧率跳跃过大而导致的视频画面卡顿问题。进一步地,由此该计算机设备还能够结合终端的帧刷新频率,例如终端屏幕的屏幕刷新率,来对该目标帧渲染周期的候选渲染帧率进行调节,因此,该计算机设备能够在兼顾终端屏幕的帧刷新能力,且在不超过终端的帧刷新频率的前提下,维持自身的最大渲染帧率输出,从而能够有效地改善,以超过屏幕刷新率进行视频帧渲染场景下的音画不同步问题。
可见,当以超过屏幕刷新率的频率来对视频帧进行渲染时,该计算机设备能够基于上述思想,动态地调节每个帧渲染周期对应的渲染帧率,从而有效地改善视频的渲染效果,并优化屏幕刷新率限制下的视频播放效果,提高视频播放的流畅度。在实际应用中,当应用于视频倍速播放的场景中时,该计算机设备则能够在倍速播放情况下大大提高视频播放的流程度及视频音画同步程度,从而改善视频观看的倍速体验感。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种视频渲染方法中的步骤。例如,该计算机程序可以执行如下步骤:
确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;从视频帧序列中确定在目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在目标帧渲染周期内进行画面展示时的帧刷新频率;基于子视频帧序列中视频帧的时间属性信息,计算子视频帧序列在目标帧渲染周期对应的第一候选渲染帧率;根据历史帧率调节参数对第一候选渲染帧率进行调节,得到子视频帧序列在目标帧渲染周期对应的第二候选渲染帧率;基于帧刷新频率,对第二候选渲染帧率进行调节,得到目标帧渲染周期对应的目标渲染帧率;在目标帧渲染周期,基于目标渲染帧率对子视频帧序列中的视频帧进行渲染处理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种视频渲染方法中的步骤,因此,可以实现本申请实施例所提供的任一种视频渲染方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视频渲染方面的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种视频渲染方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (13)

1.一种视频渲染方法,其特征在于,包括:
确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;
从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;
基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;
根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;
基于所述帧刷新频率,对所述第二候选渲染帧率进行校验;
根据校验结果,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数;所述根据校验结果,对所述历史帧率调节参数进行调节,包括:当校验结果指示所述第二候选渲染帧率不小于所述帧刷新频率时,降低所述历史帧率调节参数的取值,当校验结果指示所述第二候选渲染帧率小于所述帧刷新频率时,增加所述历史帧率调节参数的取值;
根据所述目标帧率调节参数对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;
在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
2.根据权利要求1所述的视频渲染方法,其特征在于,在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理,包括:
基于所述目标渲染帧率,确定所述目标帧渲染周期对应的渲染帧分布信息,所述渲染帧分布信息用于描述所述目标帧渲染周期中实际所要渲染的视频帧的分布特征;
从所述子视频帧序列中确定满足所述渲染帧分布信息的目标渲染帧;
在所述目标帧渲染周期对所述目标渲染帧进行渲染处理。
3.根据权利要求2所述的视频渲染方法,其特征在于,基于所述目标渲染帧率,确定所述目标帧渲染周期对应的渲染帧分布信息,包括:
从所述目标渲染帧率中解析出所述目标帧渲染周期对应的目标帧率调节参数;
根据所述目标帧率调节参数所指示的帧率调节比例,确定所述目标帧渲染周期对应的渲染帧分布信息,所述帧率调节比例为对所述目标帧渲染周期的候选渲染帧率所指示的视频帧数的采用比例。
4.根据权利要求2所述的视频渲染方法,其特征在于,从所述子视频帧序列中确定满足所述渲染帧分布信息的目标渲染帧,包括:
确定所述子视频帧序列中各视频帧对应的帧排序属性;
根据所述帧排序属性,从所述子视频帧序列的各视频帧中确定满足所述渲染帧分布信息的目标渲染帧。
5.根据权利要求1所述的视频渲染方法,其特征在于,根据校验结果,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数,包括:
根据校验结果,确定所述历史帧率调节参数对应的调节系数;
根据所述调节系数,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数。
6.根据权利要求5所述的视频渲染方法,其特征在于,根据校验结果,确定所述历史帧率调节参数对应的调节系数,包括:
当所述校验结果指示所述第二候选渲染帧率不小于所述帧刷新频率时,确定所述历史帧率调节参数对应的第一调节系数;
当所述校验结果指示所述第二候选渲染帧率小于所述帧刷新频率时,确定所述历史帧率调节参数对应的第二调节系数;
所述第一调节系数对应的帧率调节幅度,大于所述第二调节系数对应的帧率调节幅度,所述第一调节系数用于降低历史帧率调节参数的取值,所述第二调节系数用于增加历史帧率调节参数的取值。
7.根据权利要求5所述的视频渲染方法,其特征在于,根据所述调节系数,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数,包括:
根据所述调节系数,对所述历史帧率调节参数进行调节,得到调节后的历史帧率调节参数;
基于所述帧刷新频率,确定针对所述视频帧序列的帧率调节参考阈值;
基于所述帧率调节参考阈值对所述调节后的历史帧率调节参数进行校验;
根据校验结果,从所述帧率调节参考阈值和调节后的历史帧率调节参数中,选取较大的值作为所述目标帧渲染周期对应的目标帧率调节参数。
8.根据权利要求1所述的视频渲染方法,其特征在于,从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,包括:
获取待展示的多媒体数据,所述多媒体数据包括视频帧序列与音频帧序列,所述视频帧序列中的视频帧具有对应的视频帧展示时间,所述音频帧序列中的音频帧具有对应的音频帧展示时间;
基于所述视频帧展示时间与所述音频帧展示时间,对所述视频帧与所述音频帧进行匹配;
基于匹配结果,从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列。
9.根据权利要求8所述的视频渲染方法,其特征在于,基于匹配结果,从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,包括:
当匹配结果指示所述音频帧与所述视频帧之间出现音画同步异常时,从所述视频帧序列中确定满足预设音画同步条件的候选视频帧;
基于所述目标帧渲染周期的渲染时长信息,从所述候选视频帧中选取在所述目标帧渲染周期内待渲染的目标视频帧;
基于选取的目标视频帧,确定在所述目标帧渲染周期内待渲染的子视频帧序列。
10.根据权利要求1所述的视频渲染方法,其特征在于,基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率,包括:
在所述目标帧渲染周期的关联帧读取周期内依次读取所述子视频帧序列中的视频帧,所述关联帧读取周期指的是与所述目标帧渲染周期关联的帧读取周期;
获取所述子视频帧序列中目标视频帧在所述关联帧读取周期内的帧读取时间信息;
根据所述帧读取时间信息与所述子视频帧序列的序列长度信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率。
11.一种视频渲染装置,其特征在于,包括:
第一确定单元,用于确定视频帧序列在历史帧渲染周期内的历史帧率调节参数、以及当前的目标帧渲染周期;
第二确定单元,用于从所述视频帧序列中确定在所述目标帧渲染周期内待渲染的子视频帧序列,并确定终端屏幕在所述目标帧渲染周期内进行画面展示时的帧刷新频率;
计算单元,用于基于所述子视频帧序列中视频帧的时间属性信息,计算所述子视频帧序列在所述目标帧渲染周期对应的第一候选渲染帧率;
第一调节单元,用于根据所述历史帧率调节参数对所述第一候选渲染帧率进行调节,得到所述子视频帧序列在所述目标帧渲染周期对应的第二候选渲染帧率;
第二调节单元,用于基于所述帧刷新频率,对所述第二候选渲染帧率进行校验;根据校验结果,对所述历史帧率调节参数进行调节,得到所述目标帧渲染周期对应的目标帧率调节参数;所述根据校验结果,对所述历史帧率调节参数进行调节,包括:当校验结果指示所述第二候选渲染帧率不小于所述帧刷新频率时,降低所述历史帧率调节参数的取值,当校验结果指示所述第二候选渲染帧率小于所述帧刷新频率时,增加所述历史帧率调节参数的取值;根据所述目标帧率调节参数对所述第二候选渲染帧率进行调节,得到所述目标帧渲染周期对应的目标渲染帧率;
渲染单元,用于在所述目标帧渲染周期,基于所述目标渲染帧率对所述子视频帧序列中的视频帧进行渲染处理。
12.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至10任一项所述的视频渲染方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载,以执行权利要求1至10任一项所述的视频渲染方法。
CN202211399504.6A 2022-11-09 2022-11-09 视频渲染方法、装置、计算机设备和存储介质 Active CN115665482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211399504.6A CN115665482B (zh) 2022-11-09 2022-11-09 视频渲染方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211399504.6A CN115665482B (zh) 2022-11-09 2022-11-09 视频渲染方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115665482A CN115665482A (zh) 2023-01-31
CN115665482B true CN115665482B (zh) 2023-06-30

Family

ID=85015620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211399504.6A Active CN115665482B (zh) 2022-11-09 2022-11-09 视频渲染方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115665482B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503706A (zh) * 2019-08-19 2019-11-26 Oppo广东移动通信有限公司 属性动画的帧率控制方法、装置、电子设备和存储介质
CN112929681A (zh) * 2021-01-19 2021-06-08 广州虎牙科技有限公司 视频流图像渲染方法、装置、计算机设备及存储介质
CN114089933A (zh) * 2021-06-09 2022-02-25 荣耀终端有限公司 显示参数的调整方法、电子设备、芯片及可读存储介质
WO2022068501A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 一种基于垂直同步信号的图像处理方法及电子设备
CN114902325A (zh) * 2020-03-31 2022-08-12 谷歌有限责任公司 使用pwm对齐的帧周期的可变刷新率控制

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245976B (zh) * 2015-09-30 2016-11-23 合一网络技术(北京)有限公司 音频和视频同步播放的方法及系统
CN106936995B (zh) * 2017-03-10 2019-04-16 Oppo广东移动通信有限公司 一种移动终端帧率的控制方法、装置及移动终端
CN108628429B (zh) * 2018-03-27 2020-09-15 Oppo广东移动通信有限公司 帧率调整方法、装置、终端设备及存储介质
CN109165154A (zh) * 2018-09-10 2019-01-08 广东小天才科技有限公司 一种显示界面流畅度统计方法及系统、移动终端及服务器
CN109165103B (zh) * 2018-10-15 2021-05-25 Oppo广东移动通信有限公司 帧率控制方法、装置、终端及存储介质
CN109189543A (zh) * 2018-10-16 2019-01-11 Oppo广东移动通信有限公司 终端控制方法、装置、存储介质及智能终端
CN110175062B (zh) * 2019-05-20 2023-11-14 努比亚技术有限公司 一种移动终端的屏幕刷新帧率方法、移动终端及存储介质
CN112516590A (zh) * 2019-09-19 2021-03-19 华为技术有限公司 一种帧率识别方法及电子设备
US11665379B2 (en) * 2019-11-26 2023-05-30 Photo Sensitive Cinema (PSC) Rendering image content as time-spaced frames
CN111641858A (zh) * 2020-04-29 2020-09-08 上海推乐信息技术服务有限公司 一种音视频同步方法及系统
CN111882626B (zh) * 2020-08-06 2023-07-14 腾讯科技(深圳)有限公司 图像处理方法、装置、服务器及介质
CN113117326B (zh) * 2021-03-26 2023-06-09 腾讯数码(深圳)有限公司 一种帧率控制方法和装置
CN116627301A (zh) * 2021-09-30 2023-08-22 荣耀终端有限公司 数据处理方法和相关装置
CN116991354A (zh) * 2022-01-30 2023-11-03 荣耀终端有限公司 数据处理方法和相关装置
CN114632329B (zh) * 2022-05-16 2022-10-25 荣耀终端有限公司 终端设备性能调节方法和相关装置
CN115079977A (zh) * 2022-06-15 2022-09-20 北京字跳网络技术有限公司 界面绘制方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503706A (zh) * 2019-08-19 2019-11-26 Oppo广东移动通信有限公司 属性动画的帧率控制方法、装置、电子设备和存储介质
CN114902325A (zh) * 2020-03-31 2022-08-12 谷歌有限责任公司 使用pwm对齐的帧周期的可变刷新率控制
WO2022068501A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 一种基于垂直同步信号的图像处理方法及电子设备
CN112929681A (zh) * 2021-01-19 2021-06-08 广州虎牙科技有限公司 视频流图像渲染方法、装置、计算机设备及存储介质
CN114089933A (zh) * 2021-06-09 2022-02-25 荣耀终端有限公司 显示参数的调整方法、电子设备、芯片及可读存储介质

Also Published As

Publication number Publication date
CN115665482A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
US6452610B1 (en) Method and apparatus for displaying graphics based on frame selection indicators
US9179191B2 (en) Information processing apparatus, information processing method, and program
CN108574874B (zh) 一种视频播放速度调整方法及装置
US20240089530A1 (en) Temporal placement of a rebuffering event
CN109257631A (zh) 视频轮播播放方法、装置、计算机设备及存储介质
CN108495152A (zh) 一种视频直播方法、装置、电子设备及介质
CN112272327B (zh) 数据处理方法、装置、存储介质及设备
CN106658030B (zh) 一种包含单路音频多路视频的复合视频的播放方法及设备
CN108174233A (zh) 一种直播方法、装置、服务器及介质
EP3073754A1 (en) Systems and methods for video play control
US11917244B2 (en) Resource-saving systems and methods
CN117440209B (zh) 一种基于演唱场景的实现方法及系统
US20240214443A1 (en) Methods, systems, and media for selecting video formats for adaptive video streaming
CN115665482B (zh) 视频渲染方法、装置、计算机设备和存储介质
CN104462099B (zh) 一种信息处理方法及电子设备
CN114938461A (zh) 视频处理方法、装置、设备及可读存储介质
US9806967B2 (en) Communication device and data processing method
CN113891136A (zh) 一种视频播放方法、装置、电子设备和存储介质
US11937013B2 (en) Method for video processing, an electronic device for video playback and a video playback system
CN116958331B (zh) 一种音画同步的调整方法、装置和电子设备
CN117994280A (zh) 一种图像处理方法、装置、电子设备及介质
CN116208781A (zh) 一种视频处理方法以及相关产品
CN116527991A (zh) 一种基于大数据的影音设备智能调节系统及方法
CN117459757A (zh) 视频播放方法、装置、设备和存储介质
CN115086577A (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