CN114584835A - 一种视频处理方法、装置、设备及存储介质 - Google Patents

一种视频处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114584835A
CN114584835A CN202210126871.2A CN202210126871A CN114584835A CN 114584835 A CN114584835 A CN 114584835A CN 202210126871 A CN202210126871 A CN 202210126871A CN 114584835 A CN114584835 A CN 114584835A
Authority
CN
China
Prior art keywords
frame
video
decoded
video frame
play
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
Application number
CN202210126871.2A
Other languages
English (en)
Other versions
CN114584835B (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.)
Bigo Technology Singapore Pte Ltd
Original Assignee
Bigo Technology Singapore Pte 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 Bigo Technology Singapore Pte Ltd filed Critical Bigo Technology Singapore Pte Ltd
Priority to CN202210126871.2A priority Critical patent/CN114584835B/zh
Publication of CN114584835A publication Critical patent/CN114584835A/zh
Priority to PCT/CN2023/074054 priority patent/WO2023151489A1/zh
Application granted granted Critical
Publication of CN114584835B publication Critical patent/CN114584835B/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/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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Abstract

本申请实施例公开了一种视频处理方法、装置、设备及存储介质。本申请实施例提供的技术方案通过从待解码队列中获取待解码视频帧进行解码得到解码视频帧,并根据设定播放帧率影响参数判断是否满足插帧操作条件,并在满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧,为下一次插帧操作做准备,然后将虚拟视频帧和解码视频帧添加至待渲染播放队列中,增加待渲染播放队列中等待渲染显示的视频帧,有效提升视频播放帧率,优化用户体验。

Description

一种视频处理方法、装置、设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种视频处理方法、装置、设备及存储介质。
背景技术
在视频传输过程中,经常是通过视频数据包的形式传输视频帧,视频接收端在接收到数据包并解析得到视频帧后,对视频帧进行解码并添加到待渲染播放队列中等待进行渲染播放。
用户对于视频的观看体验非常依赖于视频播放帧率的影响,但是在网络较弱时,视频发送端有时会降低视频的采样率以保证视频数据包的正常发送,并且在网络较弱时,还会出现网络堵塞或者是丢包比较严重的情况,都导致视频播放帧率下降,影响用户视频观看体验。
发明内容
本申请实施例提供一种视频处理方法、装置、设备及存储介质,以解决现有技术中由于网络较弱而导致视频播放帧率下降,影响用户视频观看体验的技术问题,以提高视频播放帧率,优化用户视频观看体验。
在第一方面,本申请实施例提供了一种视频处理方法,包括:
从待解码队列中获取待解码视频帧进行解码得到解码视频帧;
根据设定播放帧率影响参数确定是否满足插帧操作条件;
当满足所述插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和所述解码视频帧生成虚拟视频帧,并根据所述解码视频帧更新所述插帧缓存数据中的所述参考视频帧;
将所述虚拟视频帧和所述解码视频帧添加至待渲染播放队列中。
在第二方面,本申请实施例提供了一种视频处理装置,包括视频获取模块、插帧判断模块、插帧操作模块和渲染推送模块,其中:
所述视频获取模块,用于从待解码队列中获取待解码视频帧进行解码得到解码视频帧;
所述插帧判断模块,用于根据设定播放帧率影响参数确定是否满足插帧操作条件;
所述插帧操作模块,用于当满足所述插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和所述解码视频帧生成虚拟视频帧,并根据所述解码视频帧更新所述插帧缓存数据中的所述参考视频帧;
所述渲染推送模块,用于将所述虚拟视频帧和所述解码视频帧添加至待渲染播放队列中。
在第三方面,本申请实施例提供了一种视频处理设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的视频处理方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的视频处理方法。
本申请实施例通过从待解码队列中获取待解码视频帧进行解码得到解码视频帧,并根据设定播放帧率影响参数判断是否满足插帧操作条件,并在满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧,为下一次插帧操作做准备,然后将虚拟视频帧和解码视频帧添加至待渲染播放队列中,增加待渲染播放队列中等待渲染显示的视频帧,有效提升视频播放帧率,优化用户体验。
附图说明
图1是本申请实施例提供的一种视频处理方法的流程图;
图2是本申请实施例提供的另一种视频处理方法的流程图;
图3是本申请实施例提供的一种插帧操作条件判断流程示意图;
图4是本申请实施例提供的一种视频处理装置的结构示意图;
图5是本申请实施例提供的一种视频处理设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种视频处理方法的流程图,本申请实施例提供的视频处理方法可以由视频处理装置来执行,该视频处理装置可以通过硬件和/或软件的方式实现,并集成在视频处理设备中。
下述以视频处理装置执行视频处理方法为例进行描述。参考图1,该视频处理方法包括:
S101:从待解码队列中获取待解码视频帧进行解码得到解码视频帧。
本实施例提供的待解码队列中的待解码视频帧从设定通信网络(例如UDP网络、TCP网络、HTTP网络)中获取,其中,设定通信网络中的待解码视频帧由视频发送设备提供,即视频发送设备通过设定通信网络向视频处理装置发送待解码视频帧。示例性的,视频发送设备可根据网络状态选择合适的编码方式对待解码视频帧对应的视频数据包进行编码,例如基于前向纠错编码生成视频数据包(视频数据包中包括待解码视频帧和对应的冗余包)。
视频处理装置在接收到视频数据包并解码得到满足解码条件(例如待解码视频帧已收全,并且对应的参考帧也完整)的待解码视频帧时,将待解码视频帧添加到待解码队列中等待进行解码。
在一个实施例中,视频处理装置实时从待解码队列中获取待解码视频帧,将待解码视频帧提交给解码线程,由解码线程对待解码视频帧进行解码处理得到解码视频帧。
S102:根据设定播放帧率影响参数确定是否满足插帧操作条件。
其中,本实施例提供的设定播放帧率影响参数用于反映视频处理装置渲染播放视频的视频帧播放帧率是否满足设定的播放帧率要求。可以理解的是,在设定播放帧率影响参数满足插帧操作条件时,视频帧播放帧率未能达到设定的播放帧率要求,此时可能存在视频播放帧率较小,导致用户观看视频时卡顿较为明显,影响用户视频观看体验的情况,需要进行插帧处理,以提高视频播放帧率,减少视频播放的卡顿感,优化用户视频观看体验。而在设定播放帧率影响参数未满足插帧操作条件时,即此时视频帧播放帧率已达到设定的播放帧率要求,可不进行插帧处理,减少处理资源的占用。
示例性的,确定反映视频播放帧率的设定播放帧率影响参数,并根据设定播放帧率影响参数确定当前解码得到的解码视频帧是否满足插帧操作条件,若满足插帧操作条件,则跳转至步骤S103进行虚拟视频帧的生成流程,若不满足插帧操作条件,则不需要生成虚拟视频帧,可直接将解码视频帧添加到待渲染播放队列中,并利用解码视频帧替换插帧缓存数据中的参考视频帧,方便下一次需要进行插帧操作时生成虚拟视频帧。
S103:当满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧。
示例性的,在当前解码得到的解码视频帧满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧。进一步的,在得到虚拟视频帧后,根据解码视频帧更新插帧缓存数据中的参考视频帧。例如,将当前解码得到的解码视频帧替换掉插帧缓存数据中的参考视频帧,此时,解码视频帧将作为新的参考视频帧,在下一次进行插帧操作时,该解码视频帧将作为参考视频帧与下一次得到的解码视频帧生成参考视频帧。
在一个实施例中,虚拟视频帧的生成可通过预设配置好的插帧控制器(INTERController)进行,即在插帧控制器的插帧缓存数据中记录有参考视频帧(例如,参考视频帧为上一帧的解码视频帧),在当前解码得到的解码视频帧满足插帧操作条件时,将解码视频帧添加到插帧控制器,插帧控制器将根据最新收到的解码视频帧和插帧缓存记录中记录的参考视频帧成成虚拟视频帧。
其中,根据参考视频帧和解码视频帧生成虚拟视频帧,可以是根据相邻两个真实视频(即参考视频帧和解码视频帧)对应的图像位进行加权平均得到虚拟视频帧,虚拟视频帧生成速度较快,减少CPU资源的占用,还可叠加使用Neon库进行汇编加速后,进一步降低CPU占用率。在其他可行的实施例中,还可以是基于光流法预测算法或者基于深度学习的插帧算法来生成虚拟视频帧,以实现更为逼真的图像效果。
S104:将虚拟视频帧和解码视频帧添加至待渲染播放队列中。
示例性的,在得到虚拟视频帧后,将虚拟视频帧和解码视频帧添加到待渲染播放队列中,等待渲染线程从待渲染播放队列中获取视频帧进行渲染及显示。在一个实施例中,由于虚拟视频帧的渲染时间相对于当前解码视频帧更靠前,在将虚拟视频帧和解码视频帧添加到待渲染播放队列时,先将向待渲染播放队列插入虚拟视频帧,再插入解码视频帧。渲染线程在获取视频帧进行渲染播放时,先获取播放时间在前的虚拟视频帧进行渲染和播放。
可以理解的是,用户对视频的卡顿敏感度较高,而卡顿的判定标准是视频帧的播放间隔(即视频帧率的倒数),视频帧率是衡量视频质量的最重要指标之一,人眼对视频帧率的主观感受也较为敏感。本方案可针对弱网场景下,通过对低帧率下的视频帧进行帧率增强,以提升用户整体体验。在视频发送设备提供的视频帧的帧率较低,或者是网络环境较差导致丢包较为严重时,例如在RTC(Real-time Communications,实时通信)中,弱网对抗一直是不断被研究的课题,尽管有多种抗丢包手段可以覆盖一定程度的网络波动,但是在遇到网络出现严重拥塞、丢包或数据乱序时,常规的抗丢包策略也会失效,可通过本方案提供的视频处理方法在真实的解码视频帧之间插入虚拟视频帧,提高渲染播放视频帧的帧率,降低视频播放卡顿率,改善弱网场景下的用户体验,有效增长用户的使用时长(例如在相同弱网环境下,流畅的视频通话体验可有效延长用户的平均通话时长)。
上述,通过从待解码队列中获取待解码视频帧进行解码得到解码视频帧,并根据设定播放帧率影响参数判断是否满足插帧操作条件,并在满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧,为下一次插帧操作做准备,然后将虚拟视频帧和解码视频帧添加至待渲染播放队列中,增加待渲染播放队列中等待渲染显示的视频帧,有效提升视频播放帧率,优化用户体验。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种视频处理方法的流程图,该视频处理方法是对上述视频处理方法的具体化。参考图2,该视频处理方法包括:
S201:从待解码队列中获取待解码视频帧进行解码得到解码视频帧。
在一个实施例中,用于进行虚拟视频帧生成的参考视频帧保存为插帧缓存数据,而插帧缓存数据记录在设定的内存空间中。其中,用于记录插帧缓存数据的内存空间可以是固定开设的空间,或者是在设定应用程序(例如视频应用程序)开启时开设对应空间,或者是在设定应用程序开始设定功能(例如视频应用程序开启视频通话功能)时开设对应空间,还可以是开启视频通话功能,并且接收到首帧视频帧时开设对应空间。
对于在接收到首帧视频帧时开设对应空间,本方案提供的视频处理方法,在从待解码队列中获取待解码视频帧进行解码得到解码视频帧之后,还包括:在解码视频帧为首帧视频帧时,开启用于记录插帧缓存数据的内存空间。
示例性的,在解码得到的解码视频帧为首帧视频帧(例如视频通话的首帧视频帧)时,初始化插帧控制器,并开启记录插帧缓存数据所需要的内存空间,并在插帧控制器中设置相应的插帧属性信息。
其中,插帧属性信息包括插帧数量信息、插帧分辨率、插帧算法等,插帧数量信息用于指示在两个真实帧(参考视频帧和解码视频帧)之间所需要生成并插入的虚拟视频帧的数量,插帧分辨率用于指示所要生成的虚拟视频帧的分辨率(例如保持与参考视频帧或解码视频帧一致),插帧算法用于指示生成虚拟视频帧所使用的算法或调用的插帧生成函数。在一个实施例中,插帧属性信息还包括虚拟帧的播放时间信息,例如在插帧数量为1是可将播放时间设置在两个真实视频帧对应播放时间的中间,在插帧数量大于1帧时,按照插帧数量将各自的播放时间平均分布在两个真实视频帧对应播放时间之间。
在一个实施例中,在解码视频帧为首帧视频帧时,在开启用于记录插帧缓存数据的内存空间之后,将首帧视频帧添加到用于记录插帧缓存数据的内存空间中,作为参考视频帧进行记录。可以理解的是,在接收到首帧视频帧时,插帧控制器直接收到一帧视频帧,不需要生成虚拟帧,也不需要进行后续的视频帧变化程度的判断,可直接将解码视频帧添加到待渲染播放队列中等待渲染线程的渲染展示。
S202:确定解码视频帧与上一个解码视频帧的视频帧变化程度。
示例性的,在得到解码视频帧后,需要确定当前解码视频帧与上一个解码视频帧的视频帧变化程度,并根据视频帧变化程度确定是否执行后续虚拟视频帧的生成流程。
在一个实施例中,可利用前后两个解码视频帧的分辨率变化程度来表示视频帧变化程度,基于此,本方案在确定解码视频帧与上一个解码视频帧的视频帧变化程度时,具体为:根据解码视频帧的分辨率与上一个解码视频帧的分辨率变化值确定视频帧变化程度。
示例性的,获取当前解码视频帧的分辨率和上一个解码视频帧的分辨率,确定解码视频帧的分辨率与上一个解码视频帧的分辨率变化值,并根据分辨率变化值确定视频帧变化程度。例如,本方案将视频帧变化程度划分为未发生变化和发生变化两个程度,在前后两个真实视频帧的分辨率发生变化时(例如视频发送设备根据自身资源情况或网络情况调整分辨率、或视频传输过程中出现异常导致分辨率发生变化),视频帧变化程度为发生变化(例如对应的标志位为1),而在前后两个真实视频帧的分辨率未发生变化时,视频帧变化程度为未发生变化(例如对应的标志位为0)。
S203:根据视频帧变化程度与设定变化阈值的比较结果确定是否更新插帧缓存数据中记录的参考视频帧。
示例性的,将上述确定的视频帧变化程度与设定变化阈值进行比较,并根据比较结果确定视频帧变化程度是否达到设定变化阈值。进一步的,当视频帧变化程度未达到设定变化阈值(即前后两帧解码视频帧的分辨率一致)时,可认为此时前后两帧的解码视频帧的变化程度较小,适用于插帧操作。基于此,在视频帧变化程度未达到设定变化阈值时,则跳转至步骤S204,进一步判断当前解码视频帧是否满足插帧操作条件。
当视频帧变化程度达到设定变化阈值时,可认为此时前后两帧的解码视频帧的变化程度较大,不再适用于插帧操作,以免出现生成的虚拟视频帧效果较差的情况。基于此,在视频帧变化程度达到设定变化阈值时时,根据解码视频帧更新插帧缓存数据中记录的参考视频帧,即将当前解码得到的解码视频帧替换掉插帧缓存数据中记录的参考视频帧。进一步的,在更新插帧缓存数据中记录的参考视频帧后,直接将当前的解码视频帧添加到待渲染播放队列中。
S204:在不需要更新插帧缓存数据中记录的参考视频帧时,根据设定播放帧率影响参数确定是否满足插帧操作条件。
在视频帧变化程度未达到设定变化阈值(即前后两帧解码视频帧的分辨率一致)时,进一步判断该解码视频帧是否满足插帧操作条件,若该解码视频帧满足插帧操作条件,则跳转至步骤S205。
而在解码视频帧不满足插帧操作条件时,根据解码视频帧更新插帧缓存数据中的参考视频帧,即将当前解码得到的解码视频帧替换掉插帧缓存数据中记录的参考视频帧。进一步的,在更新插帧缓存数据中记录的参考视频帧后,直接将当前的解码视频帧添加到待渲染播放队列中,不需要生成虚拟视频帧。
在一个实施例中,设定播放帧率影响参数包括视频接收帧率和/或待渲染播放队列中待播放视频帧数量。其中,视频接收帧率为视频处理装置接收待解码视频帧的接收帧率。待播放视频帧数量为添加到待渲染播放队列中等待渲染线程提取并进行渲染显示的待解码视频帧的数量。基于此,如图3提供的一种插帧操作条件判断流程示意图所示,本方案在根据设定播放帧率影响参数确定是否满足插帧操作条件时,包括步骤S2041-S2043:
S2041:确定视频接收帧率是否在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量是否在设定数量阈值内。
其中,视频接收帧率可以是视频处理装置在设定时间段(例如3秒)内接收待解码视频帧的帧率。示例性的,确定视频处理装置在设定时间段内接收待解码视频帧的视频接收帧率,并将视频接收帧率与设定帧率范围(例如将设定帧率范围设定为小于等于10fps)进行比较,判断视频接收帧率是否在设定帧率范围内。和/或确定待渲染播放队列中的待播放视频帧数量,并将待播放视频帧数量与设定数量阈值(例如将设定数量阈值设定为1帧)进行比较,判断待渲染播放队列中的待播放视频帧数量是否在设定数量阈值内。
S2042:响应于视频接收帧率在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量在设定数量阈值内,确定满足插帧操作条件。
S2043:响应于视频接收帧率不在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量不在设定数量阈值内,确定不满足插帧操作条件。
示例性的,视频接收帧率在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量在设定数量阈值内时,认为当前解码视频帧满足插帧操作条件。而视频接收帧率不在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量不在设定数量阈值内时,认为当前解码视频帧不满足插帧操作条件。
其中,判断视频接收帧率是否在设定帧率范围内,在视频接收帧率在设定帧率范围内时才进行虚拟视频帧的生成,而在视频接收帧率在设定帧率范围内之外时,由于当前用户的接收帧率已经比较高,没必要再启用插帧功能,有效减少对CPU的占用。判断待渲染播放队列中的待播放视频帧数量是否在设定数量阈值内,并在待渲染播放队列中的待播放视频帧数量在设定数量阈值内时才进行虚拟视频帧的生成,可有效减少发生待渲染播放队列缓存堆积问题,避免由于待渲染播放队列中缓存的视频帧过多而影响视频播放流畅度的情况,还可减少对已有的快播慢放机制(即渲染线程根据待渲染播放队列中缓存的视频帧的数量自适应调节视频帧的渲染播放速度)的影响,保证视频播放效果。
在一个实施例中,判断解码视频帧是否满足插帧操作条件所依据的设定播放帧率影响参数可以是视频接收帧率和待播放视频帧数量中的一个(即视频接收帧率在设定帧率范围内,或待渲染播放队列中的待播放视频帧数量在设定数量阈值内时,即确定满足插帧操作条件),还可以是视频接收帧率和待播放视频帧数量的组合(即视频接收帧率在设定帧率范围内,并且待渲染播放队列中的待播放视频帧数量在设定数量阈值内时,才确定满足插帧操作条件),本实施例以视频接收帧率和待播放视频帧数量的组合为例进行描述。例如,在3秒内的视频接收帧率小于10fps,并且待渲染播放队列中的待播放视频帧数量小于等于1帧时,可确定当前解码视频帧满足插帧操作条件。
S205:当满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧。
其中,每当生成虚拟视频帧时,可对虚拟视频帧的播放时间进行设置。基于此,在一个实施例中,在将虚拟视频帧和解码视频帧添加至待渲染播放队列中之前,还包括:根据解码视频帧的播放时间与上一个解码视频帧的播放时间确定虚拟视频帧的播放时间。
示例性的,将当前的解码视频帧的播放时间与上一个解码视频帧的播放时间的中间值作为虚拟视频帧的播放时间。渲染线程可根据播放时间的先后顺序先后获取虚拟视频帧和对应解码视频帧进行渲染及播放。
S206:将虚拟视频帧和解码视频帧添加至待渲染播放队列中。
上述,通过从待解码队列中获取待解码视频帧进行解码得到解码视频帧,并根据设定播放帧率影响参数判断是否满足插帧操作条件,并在满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧,为下一次插帧操作做准备,然后将虚拟视频帧和解码视频帧添加至待渲染播放队列中,增加待渲染播放队列中等待渲染显示的视频帧,有效提升视频播放帧率,优化用户体验。同时,根据视频接收帧率和/或待渲染播放队列中待播放视频帧数量判断当前的解码视频帧是否满足插帧操作条件,有效减少不必要的虚拟视频帧的生成和待渲染播放队列的缓存堆积的情况,提高视频的播放流畅度。并可将本方案提供的视频处理方法配置在系统后台进行,在检测到满足插帧操作条件时自动启动插帧功能,无需与用户进行交互确认,优化用户体验。并且在解码视频帧的分辨率发生变化或者接收到首帧视频帧时,利用当前解码视频帧更新插帧缓存数据中记录的参考视频帧或初始化插帧控制器,保证下一次生成正确的额虚拟视频帧,保证插帧后的视频播放效果。
上述,通过从待解码队列中获取待解码视频帧进行解码得到解码视频帧,并根据设定播放帧率影响参数判断是否满足插帧操作条件,并在满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧,为下一次插帧操作做准备,然后将虚拟视频帧和解码视频帧添加至待渲染播放队列中,增加待渲染播放队列中等待渲染显示的视频帧,有效提升视频播放帧率,优化用户体验。
图4是本申请实施例提供的一种视频处理装置的结构示意图。参考图4,该视频处理装置包括视频获取模块41、插帧判断模块42、插帧操作模块43和渲染推送模块44。
其中,视频获取模块41,用于从待解码队列中获取待解码视频帧进行解码得到解码视频帧;插帧判断模块42,用于根据设定播放帧率影响参数确定是否满足插帧操作条件;插帧操作模块43,用于当满足插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和解码视频帧生成虚拟视频帧,并根据解码视频帧更新插帧缓存数据中的参考视频帧;渲染推送模块44,用于将虚拟视频帧和解码视频帧添加至待渲染播放队列中。
本申请实施例还提供了一种视频处理设备,该视频处理设备可集成本申请实施例提供的视频处理装置。图5是本申请实施例提供的一种视频处理设备的结构示意图。参考图5,该视频处理设备包括:输入装置53、输出装置54、存储器52以及一个或多个处理器51;存储器52,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器51执行,使得一个或多个处理器51实现如上述实施例提供的视频处理方法。上述提供的视频处理装置、设备和计算机可用于执行上述任意实施例提供的视频处理方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的视频处理方法。当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上提供的视频处理方法,还可以执行本申请任意实施例所提供的视频处理方法中的相关操作。上述实施例中提供的视频处理装置、设备及存储介质可执行本申请任意实施例所提供的视频处理方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的视频处理方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里提供的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

Claims (10)

1.一种视频处理方法,其特征在于,包括:
从待解码队列中获取待解码视频帧进行解码得到解码视频帧;
根据设定播放帧率影响参数确定是否满足插帧操作条件;
当满足所述插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和所述解码视频帧生成虚拟视频帧,并根据所述解码视频帧更新所述插帧缓存数据中的所述参考视频帧;
将所述虚拟视频帧和所述解码视频帧添加至待渲染播放队列中。
2.根据权利要求1所述的视频处理方法,其特征在于,所述设定播放帧率影响参数包括视频接收帧率和/或待渲染播放队列中待播放视频帧数量,所述根据设定播放帧率影响参数确定是否满足插帧操作条件,包括:
确定视频接收帧率是否在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量是否在设定数量阈值内;
响应于视频接收帧率在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量在设定数量阈值内,确定满足所述插帧操作条件;
响应于视频接收帧率不在设定帧率范围内,和/或待渲染播放队列中的待播放视频帧数量不在设定数量阈值内,确定不满足所述插帧操作条件。
3.根据权利要求1所述的视频处理方法,其特征在于,所述方法还包括:
在不满足所述插帧操作条件时,根据所述解码视频帧更新所述插帧缓存数据中的所述参考视频帧。
4.根据权利要求1所述的视频处理方法,其特征在于,所述从待解码队列中获取待解码视频帧进行解码得到解码视频帧之后,还包括:
确定所述解码视频帧与上一个解码视频帧的视频帧变化程度;
当所述视频帧变化程度达到设定变化阈值时,根据所述解码视频帧更新插帧缓存数据中记录的参考视频帧。
5.根据权利要求4所述的视频处理方法,其特征在于,所述确定所述解码视频帧与上一个解码视频帧的视频帧变化程度,包括:
根据所述解码视频帧的分辨率与上一个解码视频帧的分辨率变化值确定视频帧变化程度。
6.根据权利要求1所述的视频处理方法,其特征在于,所述将所述虚拟视频帧和所述解码视频帧添加至待渲染播放队列中之前,还包括:
根据所述解码视频帧的播放时间与上一个解码视频帧的播放时间确定所述虚拟视频帧的播放时间。
7.根据权利要求1所述的视频处理方法,其特征在于,所述从待解码队列中获取待解码视频帧进行解码得到解码视频帧之后,还包括:
在所述解码视频帧为首帧视频帧时,开启用于记录插帧缓存数据的内存空间。
8.一种视频处理装置,其特征在于,包括视频获取模块、插帧判断模块、插帧操作模块和渲染推送模块,其中:
所述视频获取模块,用于从待解码队列中获取待解码视频帧进行解码得到解码视频帧;
所述插帧判断模块,用于根据设定播放帧率影响参数确定是否满足插帧操作条件;
所述插帧操作模块,用于当满足所述插帧操作条件时,根据插帧缓存数据中记录的参考视频帧和所述解码视频帧生成虚拟视频帧,并根据所述解码视频帧更新所述插帧缓存数据中的所述参考视频帧;
所述渲染推送模块,用于将所述虚拟视频帧和所述解码视频帧添加至待渲染播放队列中。
9.一种视频处理设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的视频处理方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述的视频处理方法。
CN202210126871.2A 2022-02-10 2022-02-10 一种视频处理方法、装置、设备及存储介质 Active CN114584835B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210126871.2A CN114584835B (zh) 2022-02-10 2022-02-10 一种视频处理方法、装置、设备及存储介质
PCT/CN2023/074054 WO2023151489A1 (zh) 2022-02-10 2023-01-31 一种视频处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210126871.2A CN114584835B (zh) 2022-02-10 2022-02-10 一种视频处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114584835A true CN114584835A (zh) 2022-06-03
CN114584835B CN114584835B (zh) 2024-04-02

Family

ID=81770180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210126871.2A Active CN114584835B (zh) 2022-02-10 2022-02-10 一种视频处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114584835B (zh)
WO (1) WO2023151489A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023151489A1 (zh) * 2022-02-10 2023-08-17 百果园技术(新加坡)有限公司 一种视频处理方法、装置、设备及存储介质
CN116684668A (zh) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287120A (zh) * 2008-05-22 2008-10-15 腾讯科技(深圳)有限公司 一种视频序列的生成及对视频序列进行编码的方法
CN108810281A (zh) * 2018-06-22 2018-11-13 Oppo广东移动通信有限公司 丢帧补偿方法、装置、存储介质及终端
CN110933315A (zh) * 2019-12-10 2020-03-27 Oppo广东移动通信有限公司 图像数据处理方法及相关设备
CN111641828A (zh) * 2020-05-16 2020-09-08 Oppo广东移动通信有限公司 视频处理方法及装置、存储介质和电子设备
CN112422873A (zh) * 2020-11-30 2021-02-26 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
US20210168419A1 (en) * 2017-07-21 2021-06-03 Samsung Electronics Co., Ltd. Display apparatus, display method, and display system
CN113225619A (zh) * 2021-04-23 2021-08-06 深圳创维-Rgb电子有限公司 帧率自适应方法、装置、设备及可读存储介质
CN113727185A (zh) * 2021-08-20 2021-11-30 百果园技术(新加坡)有限公司 视频帧播放方法及系统
CN114025202A (zh) * 2021-11-03 2022-02-08 北京字节跳动网络技术有限公司 视频处理方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471875B2 (en) * 2005-07-15 2008-12-30 Streaming Networks (Pvt.) Ltd. Method and system for providing instant reverse play
CN106603543B (zh) * 2016-12-22 2019-08-09 努比亚技术有限公司 校正流媒体音视频同步的方法及装置
CN111131874B (zh) * 2018-11-01 2021-03-16 珠海格力电器股份有限公司 一种解决h.265码流随机接入点播放卡顿的方法、设备及计算机存储介质
CN110881136B (zh) * 2019-11-14 2021-11-02 腾讯科技(深圳)有限公司 视频帧率控制方法、装置、计算机设备及存储介质
CN114584835B (zh) * 2022-02-10 2024-04-02 百果园技术(新加坡)有限公司 一种视频处理方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287120A (zh) * 2008-05-22 2008-10-15 腾讯科技(深圳)有限公司 一种视频序列的生成及对视频序列进行编码的方法
US20210168419A1 (en) * 2017-07-21 2021-06-03 Samsung Electronics Co., Ltd. Display apparatus, display method, and display system
CN108810281A (zh) * 2018-06-22 2018-11-13 Oppo广东移动通信有限公司 丢帧补偿方法、装置、存储介质及终端
CN110933315A (zh) * 2019-12-10 2020-03-27 Oppo广东移动通信有限公司 图像数据处理方法及相关设备
CN111641828A (zh) * 2020-05-16 2020-09-08 Oppo广东移动通信有限公司 视频处理方法及装置、存储介质和电子设备
CN112422873A (zh) * 2020-11-30 2021-02-26 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN113225619A (zh) * 2021-04-23 2021-08-06 深圳创维-Rgb电子有限公司 帧率自适应方法、装置、设备及可读存储介质
CN113727185A (zh) * 2021-08-20 2021-11-30 百果园技术(新加坡)有限公司 视频帧播放方法及系统
CN114025202A (zh) * 2021-11-03 2022-02-08 北京字节跳动网络技术有限公司 视频处理方法、装置及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. GIRONI 等: "A video forensic technique for detecting frame deletion and insertion", 《2014 IEEE INTERNATIONAL CONFERENCE ON ICASSP》, 14 July 2014 (2014-07-14) *
杨爱萍 等: "基于多帧运动估计的帧率提升算法", 《计算机应用研究》, 19 December 2012 (2012-12-19) *
黄昆仑 等: "视频帧率上转换技术综述", 《数字通信世界》, 1 May 2011 (2011-05-01) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023151489A1 (zh) * 2022-02-10 2023-08-17 百果园技术(新加坡)有限公司 一种视频处理方法、装置、设备及存储介质
CN116684668A (zh) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端
CN116684668B (zh) * 2023-08-03 2023-10-20 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端

Also Published As

Publication number Publication date
WO2023151489A1 (zh) 2023-08-17
CN114584835B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN114584835B (zh) 一种视频处理方法、装置、设备及存储介质
CN111882626B (zh) 图像处理方法、装置、服务器及介质
JP7267368B2 (ja) Vrマルチメディアの経験品質を決定するための方法および装置
CN115190993A (zh) 用于对应用计算的分配的方法和装置
US9756101B2 (en) Transition points in an image sequence
US10803876B2 (en) Combined forward and backward extrapolation of lost network data
CN113727185B (zh) 视频帧播放方法及系统
WO2015188297A1 (zh) 加权跳过模式的视频图像块压缩算术编解码方法及装置
AU2018254570B2 (en) Systems and methods for deferred post-processes in video encoding
CN117596376A (zh) 360度视频智能边缘传输方法、系统、穿戴设备及介质
US20240040147A1 (en) Data processing method and apparatus, computer device, and storage medium
CN116506618B (zh) 一种基于负载动态自适应的视频解码优化方法
CN115460458B (zh) 视频丢帧方法和设备
CN115225902A (zh) 基于分散编码的高分辨率vr云游戏解决方法及计算机设备
CN111402353B (zh) 一种基于自适应虚拟化绘制流水线的云-端绘制计算方法
CN115002520B (zh) 一种视频流数据处理方法、装置、设备及存储介质
CN110677715A (zh) 一种解码方法、解码器、电子设备及存储介质
KR102528175B1 (ko) 적응적인 fov 렌더링 방법
TWI779655B (zh) 混合渲染系統和混合渲染方法
WO2021044974A1 (ja) 送信装置、受信装置、送信方法、受信方法及びプログラム
US11984059B2 (en) Display control apparatus, transmission apparatus, display control method, and program
KR102460474B1 (ko) 화면 떨림 감소를 위한 클라우드 vr 장치
CN115278308B (zh) 媒体流处理方法、装置、设备及存储介质
CN115225615B (zh) 虚幻引擎像素流送方法及装置
CN114205577A (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