CN110505522A - 视频数据的处理方法、装置、及电子设备 - Google Patents

视频数据的处理方法、装置、及电子设备 Download PDF

Info

Publication number
CN110505522A
CN110505522A CN201910872872.XA CN201910872872A CN110505522A CN 110505522 A CN110505522 A CN 110505522A CN 201910872872 A CN201910872872 A CN 201910872872A CN 110505522 A CN110505522 A CN 110505522A
Authority
CN
China
Prior art keywords
frame
original video
video frame
frames
static
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.)
Pending
Application number
CN201910872872.XA
Other languages
English (en)
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 CN201910872872.XA priority Critical patent/CN110505522A/zh
Publication of CN110505522A publication Critical patent/CN110505522A/zh
Pending legal-status Critical Current

Links

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 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/440281Processing 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 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种视频数据的处理方法、装置、电子设备及存储介质;该方法包括:获取原始视频帧,并基于所述原始视频帧进行静止画面检测;当所述原始视频帧属于静止画面时,将所述静止画面已经持续的原始视频帧的数量,确定为静止跳帧数量;通过编码器对所述原始视频帧进行编码得到编码视频帧,并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头;将所述编码视频帧发送到解码器,以使所述解码器解码所述帧头得到所述静止跳帧数量,将缓存的所述静止画面的解码结果复用为所述编码视频帧的解码结果,以及基于所述静止跳帧数量,确定视频的质量得分。通过本发明,能够准确确定解码后的视频的质量。

Description

视频数据的处理方法、装置、及电子设备
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种视频数据的处理方法、装置、电子设备、及存储介质。
背景技术
在进行视频传输过程中,由于视频数据的数据量是非常大的,因此,将视频数据传输至另一装置之前或者在将视频数据存储在存储装置中之前通常通过编码来压缩视频数据以便于视频数据传输和存储。
对于屏幕分享而言,由于采集屏幕的视频帧会出现静止画面,导致在将采集屏幕的视频帧数据进行编码、传输以及解码的过程中,无法准确确定解码后的视频的质量。
发明内容
本发明实施例提供一种视频数据的处理方法、装置、电子设备及存储介质,能够准确确定解码后的视频的质量。
本发明实施例的技术方案是这样实现的:
本发明实施例提供视频数据的处理方法,包括:
获取原始视频帧,并基于所述原始视频帧进行静止画面检测;
当所述原始视频帧属于静止画面时,将所述静止画面已经持续的原始视频帧的数量,确定为静止跳帧数量;
通过编码器对所述原始视频帧进行编码得到编码视频帧,并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头;
将所述编码视频帧发送到解码器,以使
所述解码器解码所述帧头得到所述静止跳帧数量,将缓存的所述静止画面的解码结果复用为所述编码视频帧的解码结果,以及
基于所述静止跳帧数量,确定视频的质量得分。
本发明实施例提供视频数据的处理方法,包括:
接收编码视频帧;
解码所述编码视频帧的帧头得到静止跳帧数量,将缓存的静止画面的解码结果复用为所述编码视频帧的解码结果,以及
基于所述静止跳帧数量,确定视频的质量得分;
其中,所述编码视频帧是通过编码器对原始视频帧进行编码、并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头得到的;所述静止跳帧数量是基于对所述原始视频帧进行静止画面检测时,所确定的所述静止画面已经持续的原始视频帧的数量。
本发明实施例提供一种编码端视频数据的处理装置,包括:
检测模块,用于获取原始视频帧,并基于所述原始视频帧进行静止画面检测;
确定模块,用于当所述原始视频帧属于静止画面时,将所述静止画面已经持续的原始视频帧的数量,确定为静止跳帧数量;
编码模块,用于通过编码器对所述原始视频帧进行编码得到编码视频帧,并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头;
发送模块,用于将所述编码视频帧发送到解码器,以使所述解码器解码所述帧头得到所述静止跳帧数量,将缓存的所述静止画面的解码结果复用为所述编码视频帧的解码结果,以及基于所述静止跳帧数量,确定视频的质量得分。
上述方案中,所述检测模块,还用于确定采集所述原始视频帧时的出帧方式;根据采集所述原始视频帧时的出帧方式,对所述原始视频帧进行静止画面检测。
上述方案中,所述检测模块,还用于当所述出帧方式为固定出帧方式时,对连续采集到的原始视频帧进行场景检测;当在连续采集到的原始视频帧中检测到重复出现的场景时,确定所述重复出现的场景对应的原始视频帧属于静止画面;将连续包括静止画面的原始视频帧的数量确定为静止跳帧数量;其中,所述固定出帧方式为根据设定的采集帧率持续输出原始视频帧的方式。
上述方案中,所述检测模块,还用于确定所述原始视频帧和前一个采集的原始视频帧的像素点之间的颜色差值;确定颜色差值大于颜色差异阈值的像素点的数量;当所述像素点的数量大于像素点数量阈值时,确定所述原始视频帧和前一个采集的原始视频帧属于静止画面。
上述方案中,所述检测模块,还用于当所述出帧方式为随机出帧方式、且当前时刻没有接收到实时的原始视频帧时,复用最新接收的原始视频帧作为当前时刻对应的原始视频帧,并确定没有接收到实时的原始视频帧的时段对应的原始视频帧,属于静止画面;基于采样帧率和帧间隔确定静止跳帧数量;其中,所述随机出帧方式为不重复输出静止画面对应的原始视频帧的方式。
上述方案中,所述检测模块,还用于针对所述复用的原始视频帧生成对应的编码时间戳;确定连续的两个原始视频帧的编码时间戳的差值;基于所述编码时间戳差值和采样帧率,确定所述相邻的两个原始视频帧之间的静止跳帧数量。
上述方案中,视频数据的处理装置还包括调整模块,用于根据所述视频的质量得分确定表征所述视频的卡顿程度的得分;当所述表征所述视频的卡顿程度的得分高于卡顿阈值时,调整所述编码器的编码参数,以使基于新的编码视频帧确定的卡顿程度的得分低于所述卡顿阈值。
本发明实施例提供一种解码端视频数据的处理装置,包括:
接收模块,用于接收编码视频帧;
解码模块,用于解码所述编码视频帧的帧头得到静止跳帧数量,将缓存的静止画面的解码结果复用为所述编码视频帧的解码结果,以及基于所述静止跳帧数量,确定视频的质量得分;其中,所述编码视频帧是通过编码器对原始视频帧进行编码、并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头得到的;所述静止跳帧数量是基于对所述原始视频帧进行静止画面检测时,所确定的所述静止画面已经持续的原始视频帧的数量。
上述方案中,所述解码模块,还用于确定所述视频的卡顿次数和所述静止跳帧数量的差值,并将所述差值和采集所述原始视频帧的时间段的比值确定为所述视频的卡顿率;或者,将所述静止跳帧数量代入至表征视频的无参考分的函数,以得到所述函数输出的无参考分,其中,所述表征视频的无参考分的函数以所述解码器的解码帧率和分辨率为变量构成。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的视频数据的处理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的视频数据的处理方法。
本发明实施例具有以下有益效果:
通过对原始视频帧进行静止画面检测,并确定静止跳帧数量,根据静止跳帧数量对原始视频帧进行编码、并对编码视频帧进行解码以获得解码后的视频,最后对解码后的视频进行质量评分,不仅能够避免编码原始视频帧中的静止画面,降低带宽消耗,而且能够准确确定解码后的视频的质量。
附图说明
图1是本发明实施例提供的视频数据的处理系统的一个可选的架构示意图;
图2是本发明实施例提供的电子设备的一个可选的结构示意图;
图3是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图4是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图5是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图6是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图7是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图8是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图9是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)采样帧率,操作系统的视频数据接口每秒采集原始视频帧的数量。
2)编码帧率,即编码器实际编码的帧率,表示编码器实际每秒对视频帧编码的数量。
3)解码帧率,即解码器实际解码的帧率,表示解码器实际每秒解码的视频帧的数量。
4)静止跳帧数量,静止画面已经持续的视频帧的数量。
5)无参考分,即通过盲图像质量(BIQ,Blind image quality)评价方法获得的得分,盲图像质量评价方法无需参考图像,可以仅根据失真图像的自身特征来估计图像的质量,视频的无参考分越高,表征视频质量越好。
本发明实施例提供一种视频数据的处理方法、装置、电子设备和存储介质,下面说明本发明实施例提供的视频数据的处理方法的示例性应用,本发明实施例提供的视频数据的处理方法可以由多个终端协同实施,或者可以由一个终端单独实施。终端可以为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等。
接下来以由多个终端协同实施为例,说明视频数据的处理方法的示例性应用。参见图1,图1是本发明实施例提供的视频数据的处理系统100的一个可选的架构示意图,其中,本发明实施例提供的视频数据的处理方法可以通过以下过程实现:首先终端400中的客户端获取原始视频帧,进行静止画面检测,确定静止跳帧数量,并基于静止跳帧数量进行编码以得到编码视频帧并通过网络300传输至服务器200;然后终端410中的客户端通过网络300获取服务器200发送的编码视频帧;最后终端410中的客户端解码编码视频帧,获得静止跳帧数量,并基于静止跳帧数量,确定视频的质量得分;基于视频的质量得分,终端410中的客户端可以通过网络300向终端400中的客户端发送控制指令,以调整终端400中的客户端的编码参数。
本发明实施例通过对原始视频帧进行静止画面检测,并确定静止跳帧数量,根据静止跳帧数量对原始视频帧进行编码、并对编码视频帧进行解码以获得解码后的视频,最后对解码后的视频进行质量评分,不仅能够避免编码原始视频帧中的静止画面,降低带宽消耗,而且能够准确确定解码后的视频的质量。
接下来说明本发明实施例提供的电子设备的结构,本发明实施例提供的电子设备可以是上文所述的终端,参见图2,图2是本发明实施例提供的电子设备500的一个可选的结构示意图,其中,图2所示的电子设备500包括:至少一个处理器560、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器560可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器560的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的编码端视频数据的处理装置和解码端视频数据的处理装置可以采用软件方式实现,例如,软件可以是各种应用程序(APP,Application),例如采集屏幕的视频帧以进行屏幕分享的APP,用于视频通话的APP等。本发明实施例提供的编码端视频数据的处理装置和解码端视频数据的处理装置以择一或全部在电子设备500中实施,例如:对于屏幕共享发起共享的电子设备实施编码端视频数据的处理装置,对于屏幕共享接收共享的电子设备实施解码端视频数据的处理装置;再例如:对于进行视频通话的两个电子设备需要同时实施编码端视频数据的处理装置和解码端视频数据的处理装置。
下面以电子设备500需要同时实施编码端视频数据的处理装置和解码端视频数据的处理装置为例进行说明,图2示出了存储在存储器550中的编码端视频数据的处理装置555和解码端视频处理装置556,其可以是程序和插件等形式的软件,编码端视频数据的处理装置555包括以下软件模块:检测模块5551、确定模块5552、编码模块5553以及发送模块5554;解码端视频数据的处理装置556包括以下软件模块:接收模块5561和解码模块5562。这些模块是可以是逻辑功能模块,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的编码端视频数据的处理装置和解码端视频数据的处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的编码端视频数据的处理装置和解码端视频数据的处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的视频数据的处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合上文所述的终端示例性应用和实施,以第一终端采集视频、编码并发送到第二终端进行解码,说明本发明实施例提供的视频数据的处理方法,可以用于各种应用场景,例如第一终端向第二终端进行屏幕分享,第一终端和第二终端的视频通话等,其中,对于第二终端采集视频帧、编码和发送到第一终端进行解码的过程与第一终端的处理是类似的,因此可以根据对下文的理解而实施。
参见图3,图3是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图,将结合图3示出的步骤进行具体说明。
在步骤S101中,第一终端中的客户端获取原始视频帧。
作为示例,第一终端和第二终端运行相同的客户端,可以为具有屏幕分享功能的社交APP或者为视频聊天功能的社交APP。
在一些实施例中,当本发明提供的视频数据的处理方法应用于第一终端向第二终端进行屏幕分享时,第一终端中的客户端获取操作系统通过录屏功能采集原始视频帧。
在一些实施例中,当本发明提供的视频数据的处理方法应用于第一终端和第二终端的视频通话时,第一终端中的客户端获取操作系统通过摄像头采集原始视频帧。
在步骤S102中,第一终端中的客户端基于原始视频帧进行静止画面检测。
在一些实施例中,第一终端中的客户端确定采集原始视频帧时的出帧方式,根据采集原始视频帧时的出帧方式,对原始视频帧进行静止画面检测。
参见图4,图4是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图,示出了第一终端中的客户端基于原始视频帧进行静止画面检测的实现方案,基于图3,步骤S102可以通过步骤S1021至步骤S1022来具体实现。
在步骤S1021中,第一终端中的客户端获取操作系统采集原始视频帧时的出帧方式。
作为示例,在屏幕分享/视频通话的应用场景中,第一终端中客户端需要从操作系统的视频数据接口读取操作系统采集的录屏数据(包括调用录屏功能来录制屏幕而形成的原始视频帧)/摄像头数据(包括调用摄像头采集环境而形成的原始视频帧),操作系统采集原始视频帧时的出帧方式有两种,分别是固定出帧方式和随机出帧方式。其中,以固定出帧方式为操作系统的视频数据接口根据设定的采集帧率持续输出原始视频帧的方式,随机出帧方式为操作系统的视频数据接口不重复输出静止画面对应的原始视频帧的方式。
作为示例,以微软视窗(Microsoft Windows)操作系统为例,在MicrosoftWindows7以及更旧的操作系统下,采用固定出帧方式,即,采集视频数据接口不管系统桌面是静止场景还是运动场景,都能够根据设定的采集帧率持续输出原始视频帧;而在Microsoft Windows10操作系统后更高版本的操作系统,采用随机出帧方式,即,如果画面静止,为了节省性能,采集视频数据接口不重复输出静止画面对应的原始视频帧。
在步骤S1022中,第一终端中的客户端根据采集原始视频帧时的出帧方式,对原始视频帧进行静止画面检测。
在一些实施例中,当采集原始视频帧时的出帧方式为固定出帧方式时,对连续采集到的原始视频帧通过场景检测的方式进行静止画面检测。
在一些实施例中,当采集原始视频帧时的出帧方式为随机出帧方式、且当前时刻没有接收到实时的原始视频帧时,复用最新接收的原始视频帧作为当前时刻对应的原始视频帧,并确定没有接收到实时的原始视频帧的时段对应的原始视频帧,属于静止画面,并基于采样帧率和帧间隔确定静止跳帧数量。
在步骤S103中,当原始视频帧属于静止画面时,第一终端中的客户端将静止画面对应的已经持续的视频帧的数量,确定为静止跳帧数量。
在一些实施例中,当出帧方式为固定出帧方式、且在连续采集到的原始视频帧中检测到重复出现的场景时,确定重复出现的场景对应的原始视频帧属于静止画面;将连续包括静止画面的原始视频帧的数量确定为静止跳帧数量。
在一些实施例中,当出帧方式为随机出帧方式、且当前时刻没有接收到实时的原始视频帧时,复用最新接收的原始视频帧作为当前时刻对应的原始视频帧,并确定没有接收到实时的原始视频帧的时段对应的原始视频帧属于静止画面,针对复用的原始视频帧生成对应的编码时间戳;确定连续的两个原始视频帧的编码时间戳的差值;基于编码时间戳差值和采样帧率,确定相邻的两个原始视频帧之间的静止跳帧数量。
在一些实施例中,参见图5,图5是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图,基于图4,步骤S102和步骤S103可以通过步骤S1031至步骤S1033来具体实现。
在步骤S1031中,当第一终端中的客户端确定操作系统采集原始视频帧时的出帧方式为固定出帧方式时,第一终端中的客户端对连续采集到的原始视频帧进行场景检测。
在一些实施例中,场景检测可以采用这样的方式:确定原始视频帧和前一个采集的原始视频帧的相同位置的像素点之间的颜色差值;确定颜色差值大于颜色差异阈值的像素点的数量;当像素点的数量大于像素点数量阈值时,确定原始视频帧和前一个采集的原始视频帧属于静止画面。
作为示例,确定原始视频帧fn和前一个采集的原始视频帧fn-1中每一个像素点之间的颜色差值fdiff(x,y)表示为:
fdiff(x,y)=|fn(x,y)-fn-1(x,y)| (1)
将每一个像素点之间的颜色差值fdiff像素差异阈值进行比较,并统计大于像素差值预知的像素点的个数Sumdiff。当统计的像素点的个数Sumdiff大于像素点数量阈值时,则原始视频帧fn和前一个采集的原始视频帧fn-1属于静止画面;当统计的像素个数小于像素点数量阈值时,则原始视频帧fn和前一个采集的原始视频帧fn-1不属于静止画面。
在步骤S1032中,当第一终端中的客户端在连续采集到的原始视频帧中检测到重复出现的场景时,确定重复出现的场景对应的原始视频帧属于静止画面。
作为示例,在Microsoft Windows7操作系统下,采集视频数据接口能够根据设定的采集帧率持续输出原始视频帧,当在连续采集到的原始视频帧中检测到重复出现的场景时,确定重复出现的场景对应的原始视频帧属于静止画面。
在步骤S1033中,第一终端中的客户端将连续包括静止画面的原始视频帧的数量确定为静止跳帧数量。
在一些实施例中,第一终端中的客户端统计连续包括静止画面的原始视频帧的数量,并将统计的数量确定为静止跳帧数量。
作为示例,当出帧方式为固定出帧方式时,检测到连续采集到的原始视频帧中第1帧至第10帧是重复出现的原始视频帧,则可确定原始视频帧中的第1帧至第10帧属于静止画面,静止跳帧数量为10。
作为示例,当出帧方式为固定出帧方式时,检测到连续采集到的原始视频帧中第4帧至第10帧是重复出现的原始视频帧,则可确定原始视频帧中的第4帧至第10帧属于静止画面,静止跳帧数量为7。
在一些实施例中,参见图6,图6是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图,基于图4,步骤S102和步骤S103可以通过步骤S1034至步骤S1036来具体实现。
在步骤S1034中,当第一终端中的客户端确定操作系统采集原始视频帧时的出帧方式为随机出帧方式、且当前时刻没有接收到实时的原始视频帧时,第一终端中的客户端复用最新接收的原始视频帧作为当前时刻对应的原始视频帧。
作为示例,在Microsoft Windows10操作系统下,采集视频数据接口能够不重复输出静止画面对应的原始视频帧,当在当前时刻没有接收到与当前时刻对应的原始视频帧时,复用最新接收的原始视频帧作为当前时刻对应的原始视频帧。
在步骤S1035中,第一终端中的客户端确定没有接收到实时的原始视频帧的时段对应的原始视频帧,属于静止画面。
作为示例,在Microsoft Windows10操作系统下,采集视频数据接口能够不重复输出静止画面对应的原始视频帧,当在当前时刻没有接收到与当前时刻对应的原始视频帧时,确定没有接收到实时的原始视频帧的时段对应的原始视频帧属于静止画面。
在步骤S1036中,第一终端中的客户端基于采样帧率和帧间隔确定静止跳帧数量。
在一些实施例中,针对复用的原始视频帧生成对应的编码时间戳;确定连续的两个原始视频帧的编码时间戳的差值;基于编码时间戳差值和采样帧率,确定相邻的两个原始视频帧之间的静止跳帧数量。
作为示例,当采集视频数据接口能够不重复输出静止画面对应的原始视频帧时,编码器可以设定编码帧率对原始视频帧进行编码,并生成编码时间戳;编码器编码拷贝生成的帧之时,可以计算与前一帧的时间戳,然后得到相应的静止跳帧数量,其中,静止跳帧数量的具体计算过程如下:
T=T(N+1)-T(N) (2)
FrmInterval=1000/FPS (3)
SkipNum=((T+FrmInterval/2)/FrmInterval-1) (4)
其中,T(N+1),T(N)分别是编码顺序为N以及N+1的原始视频帧,计算得到的T表示这二帧的时间戳间隔,FPS表示的是编码器的编码帧率,FrmInterval表示采集原始视频帧时采集每一帧的时间间隔,SkipNum是静止跳帧数量。
作为示例,当出帧方式为随机出帧方式、编码第一帧原始视频帧和第二帧原始视频帧的时间戳差值为0.98秒、采集原始视频帧时采集每一帧的时间间隔为0.04秒时,根据公式(2)至公式(4),可计算出第一帧原始视频帧和第二帧原始视频帧之间的静止跳帧数量为24。
本发明实施例通过将出帧方式分为固定出帧方式和随机出帧方式,并分别针对这两种不同的出帧方式确定静止画面和静止跳帧数量,能够准确判断原始视频帧中包含的静止画面和静止跳帧数量,能够避免编码器在编码的过程中对原始视频帧中的静止画面进行编码。
在步骤S104中,第一终端中的客户端调用编码器,对原始视频帧进行编码得到编码视频帧,并在编码过程中将静止跳帧数量插入至编码视频帧的帧头。
在一些实施例中,第一终端中的客户端获得原始视频帧的静止跳帧数量,发送给编码器,由编码器在编码过程中将静止跳帧数量插入至编码视频帧的帧头,并将编码后的视频帧传输至第二终端中的客户端,以使第二终端中的客户端解码帧头得到静止跳帧数量时,将缓存的静止画面的解码结果复用为所述编码视频帧的解码结果。
在步骤S105中,第一终端中的客户端将编码视频帧发送到第二终端中的客户端。
作为示例,第一终端中的客户端调用网络通信模块、经由网络接口将编码视频帧发送到第二终端中的客户端中,以使第二终端中的客户端调用解码器,根据静止跳帧数量对编码后的视频帧进行解码。
在步骤S106中,第二终端中的客户端调用解码器,对编码视频帧解码帧头得到静止跳帧数量,并将缓存的静止画面的解码结果复用为编码视频帧的解码结果。
在一些实施例中,第二终端中的客户端解码帧头得到静止跳帧数量时,将在编码视频帧之前接收的、对应静止画面的历史编码视频帧的解码结果复用为编码视频帧的解码结果。
在步骤S107中,第二终端中的客户端基于静止跳帧数量,确定视频的质量得分。
在一些实施例中,第二终端中的客户端确定视频的卡顿次数和静止跳帧数量的差值,并将差值和采集原始视频帧的时间段的比值确定为视频的卡顿率。
作为示例,视频的卡顿率的具体计算过程如下:
TimeInterval1=T2-SkipNum×FrmInterval-T1 (5)
其中,TimeInterval1为卡顿时间间隔,SkipNum为静止跳帧数量,FrmInterval为采集原始视频帧时采集每一帧的时间间隔,T1为解码器接收到的帧的时间,T2为解码器将接收到的帧成功解码并渲染的时间。
当根据公式(5)计算得到的卡顿时间间隔大于卡顿时间阈值时,即为发生一次卡顿。单位时间内的卡顿次数即为卡顿率,其中,卡顿时间阈值可以设置为200毫秒。
在一些实施例中,第二终端中的客户端将静止跳帧数量代入至表征视频的无参考分的函数,以得到函数输出的无参考分,其中,表征视频的无参考分的函数以解码器的解码帧率和分辨率为变量构成。
作为示例,视频的无参考分的具体计算过程如下:
Framerate1=framerate+SkipNum (6)
Score1=f(Qp,Framerate1,resolution,scenceParam) (7)
其中,Score1是无参考分,framerate是解码器实际解码的帧率,SKipNum表示是解码器端得到的静止跳帧数量,Qp表示是编码的量化因子,resolution表示的是分辨率,Qp和resolution这二个参数都是衡量视频清晰度的,scenceParam表示场景系数,用于表征应用场景的类别,即,基于场景的无参考分因子。
公式(7)中的函数由参数Qp,scenceParam,resolution构造而成,其中,无参考分Score1和参数Qp为负相关,无参考分Score1和参数resolution为正相关,参数scenceParam为任意常数,函数自变量Framerate1和函数因变量Score1可以为线性关系,也可以为非线性关系。当Framerate1越大,无参考分Score1越大,表征视频质量越好,任何符合上述关系的函数均可作为视频的无参考分的计算函数。
参见图7,图7是本发明实施例提供的视频数据的处理方法的一个可选的流程示意图,基于图3,在步骤S107之后还可以包括步骤S108和步骤S109,在步骤S108中,第二终端中的客户端根据视频的质量得分确定表征视频的卡顿程度的得分。
在一些实施例中,第二终端中的客户端根据视频的卡顿率确定表征视频的卡顿程度的得分。当视频的卡顿率越高时,表征视频卡顿程度的得分越高;当视频的卡顿率越低时,表征视频卡顿程度的得分越低。
在步骤S109中,当表征视频的卡顿程度的得分高于卡顿阈值时,通过第二终端中的客户端调整第一终端中的客户端的编码参数,以使基于新的编码视频帧确定的卡顿程度的得分低于卡顿阈值。
在一些实施例中,当卡顿程度的得分高于卡顿阈值时,表示视频流畅度较低,视频卡顿率较高,第二终端中的客户端可以向第一终端中的客户端发送控制降低第一终端中的客户端的编码帧率的控制指令,以使第一终端中的客户端基于新的编码帧率去编码视频帧时,第二终端中的客户端基于新的编码视频帧解码后的新视频的卡顿程度的得分低于卡顿阈值。
在一些实施例中,当卡顿程度的得分低于流畅阈值时,表示视频流畅度较高,视频卡顿率较低,第二终端中的客户端可以向第一终端中的客户端发送控制提高第一终端中的客户端的编码帧率的控制指令,以使第一终端中的客户端基于新的编码帧率去编码视频帧时,第二终端中的客户端基于新的编码视频帧解码后的新视频的卡顿程度的得分高于流畅阈值。
本发明实施例通过第二终端中的客户端计算解码后的视频的质量得分调整第一终端中的客户端的编码参数,能够使第一终端中的客户端基于新的编码帧率去编码视频帧时,第二终端中的客户端基于新的编码视频帧解码后的新视频的质量越好。
相关技术中,在分享屏幕内容场景下视频编码经常出现重复内容,为了节省流量一般不让编码器进行编码相应的帧,但是这种静止跳帧与网络丢包造成的卡顿无法区分,这将导致在统计卡顿率以及无参考分质量时出现问题。
在发明实施例的实施过程中发现相关技术存在以下问题:相关技术中的卡顿率以及无参考分计算由于没有考虑到静止跳帧的情况,计算得到的卡顿率以及无参考分会由于帧率以及帧与帧间隔时间变长而出现错误。并且在数据运营统计具有屏幕分享功能的社交APP的运行状况时,无法区分无参考分低以及卡顿率高是受到网络等异常影响而是受到静止主动跳帧影响。
针对上述问题,将结合图8和图9说明本发明实施例提供的视频数据的处理方法具体应用于分享屏幕内容场景的示例性应用,图8和图9是本发明实施例提供的视频数据的处理方法的可选的流程示意图,将结合图8和图9示出的步骤进行说明。
编码器中静止跳帧数量的计算过程:参见图8,图8中示出静止跳帧数量的计算过程可以根据采集原始视频帧时的出帧方式分为两种,分别是:固定出帧和随机出帧。采集原始视频帧时的出帧方式主要是由于系统采集程序接口(API,Application ProgrammingInterface)(即上述的视频数据接口)的差异引起的。在Microsoft Windows7以及更旧的系统下,采集API不管是静止场景还是运动场景都能够固定的出帧,而在MicrosoftWindows10系统情况下,如果桌面静止,为了节省性能采集端API将无法获取得到图像数据。
针对上述两种情况:在固定出帧(即采集帧率等于设置的帧率)的情况下,首先通过场景检测判断是否为静止帧,并根据静止帧跳帧策略做相应的跳帧,然后统计当前编码帧之前已经跳过的帧数量。在随机出帧(即静止无帧输出)的情况下,编码器将基于静止跳帧策略设定的静止编码帧率编码,源颜色编码(YUV)数据通过拷贝的方式生成,同时将当前时间做了生成帧的时间戳;编码器编码拷贝生成的帧之时,计算与前一帧的时间戳,然后得到相应的跳帧数量,具体的计算过程如下:
T=T(N+1)-T(N) (8)
FrmInterval=1000/FPS (9)
SkipNum=((T+FrmInterval/2)/FrmInterval-1) (10)
其中,T(N+1),T(N)分别是编码顺序为N以及N+1的原始视频帧,计算得到的T表示这二帧的时间戳间隔,FPS表示的是编码器的编码帧率,也表示实际中的服务器下发的服务质量(QoS,Quality of Service)参数,FrmInterval表示采集原始视频帧时采集每一帧的时间间隔,SkipNum为静止跳帧数量。
编码器跳帧数量参数的传输:因为视频的卡顿率以及无参考分的计算过程都在解码器,而静止跳帧数量参数需要在编码器获取,因此需要将这个信息打包到视频数据中传输至解码器。参见图9,图9中通过采集模块以及编码器相关模块的处理,可以得到每一帧的静止跳帧数量。在第一终端的网络数据(即上述的编码视频帧)发包时,将静止跳帧数量的信息带在帧头信息里面传输至第二终端,以使第二终端的解码器可以将网络数据进行解码,其中,在实时传输协议(RTP,Real-time Transport Protocol)过程中可以通过相关扩展字段定义。
解码器中卡顿率以及无参考分的计算:
卡顿率计算过程:
TimeInterval1=T2-SkipNum×FrmInterval-T1 (11)
其中,TimeInterval1为卡顿时间间隔,SkipNum为静止跳帧数量,FrmInterval为采集原始视频帧时采集每一帧的时间间隔,T1为解码器接收到的帧的时间,T2为解码器将接收到的帧成功解码并渲染的时间。
当根据公式(11)计算得到的卡顿时间间隔大于卡顿时间阈值时,即为发生一次卡顿。单位时间内的卡顿次数即为卡顿率,其中,卡顿时间阈值可以设置为200毫秒。
无参考分计算过程:
Framerate1=framerate+SkipNum (12)
Score1=f(Qp,Framerate1,resolution,scenceParam) (13)
其中,Score1是无参考分,framerate是解码器实际解码的帧率,SKipNum表示是解码器端得到的静止跳帧数量,Qp表示是编码的量化因子,resolution表示的是分辨率,Qp和resolution都是用来衡量清晰度的,scenceParam表示场景系数,即,基于场景的无参考分因子。
本发明实施例采用的是传输静止跳帧数量来进行卡顿率和无参考分的计算,也可以通过传输前向静止帧时长或后向静止帧时长等方式来进行卡顿率和无参考分的计算,其中,前向静止帧时长表示当前帧前面有多长时间是静止的,后向静止帧时长表示当前帧后面有多长时间是静止的。
下面继续说明本发明实施例提供的编码端视频数据的处理装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的编码端视频数据的处理装置555中的软件模块可以包括:检测模块5551、确定模块5552、编码模块5553和发送模块5554。
检测模块5551,用于获取原始视频帧,并基于所述原始视频帧进行静止画面检测;
确定模块5552,用于当所述原始视频帧属于静止画面时,将所述静止画面已经持续的原始视频帧的数量,确定为静止跳帧数量;
编码模块5553,用于通过编码器对所述原始视频帧进行编码得到编码视频帧,并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头;
发送模块5554,用于将所述编码视频帧发送到解码器,以使所述解码器解码所述帧头得到所述静止跳帧数量,将缓存的所述静止画面的解码结果复用为所述编码视频帧的解码结果,以及基于所述静止跳帧数量,确定视频的质量得分。
在一些实施例中,所述检测模块5551,还用于确定采集所述原始视频帧时的出帧方式;根据采集所述原始视频帧时的出帧方式,对所述原始视频帧进行静止画面检测。
在一些实施例中,所述检测模块5551,还用于当所述出帧方式为固定出帧方式时,对连续采集到的原始视频帧进行场景检测;当在连续采集到的原始视频帧中检测到重复出现的场景时,确定所述重复出现的场景对应的原始视频帧属于静止画面;将连续包括静止画面的原始视频帧的数量确定为静止跳帧数量;其中,所述固定出帧方式为根据设定的采集帧率持续输出原始视频帧的方式。
在一些实施例中,所述检测模块5551,还用于确定所述原始视频帧和前一个采集的原始视频帧的像素点之间的颜色差值;确定颜色差值大于颜色差异阈值的像素点的数量;当所述像素点的数量大于像素点数量阈值时,确定所述原始视频帧和前一个采集的原始视频帧属于静止画面。
在一些实施例中,所述检测模块5551,还用于当所述出帧方式为随机出帧方式、且当前时刻没有接收到实时的原始视频帧时,复用最新接收的原始视频帧作为当前时刻对应的原始视频帧,并确定没有接收到实时的原始视频帧的时段对应的原始视频帧,属于静止画面;基于采样帧率和帧间隔确定静止跳帧数量;其中,所述随机出帧方式为不重复输出静止画面对应的原始视频帧的方式。
在一些实施例中,所述检测模块,还用于针对所述复用的原始视频帧生成对应的编码时间戳;确定连续的两个原始视频帧的编码时间戳的差值;基于所述编码时间戳差值和采样帧率,确定所述相邻的两个原始视频帧之间的静止跳帧数量。
在一些实施例中,编码端视频数据的处理装置还包括调整模块,用于根据所述视频的质量得分确定表征所述视频的卡顿程度的得分;当所述表征所述视频的卡顿程度的得分高于卡顿阈值时,调整所述编码器的编码参数,以使基于新的编码视频帧确定的卡顿程度的得分低于所述卡顿阈值。
下面继续说明本发明实施例提供的解码端视频数据的处理装置556的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的解码端视频数据的处理装置556中的软件模块可以包括:接收模块5561和解码模块5562。
接收模块5561,用于接收编码视频帧;
解码模块5562,用于解码所述编码视频帧的帧头得到静止跳帧数量,将缓存的静止画面的解码结果复用为所述编码视频帧的解码结果,以及基于所述静止跳帧数量,确定视频的质量得分;其中,所述编码视频帧是通过编码器对原始视频帧进行编码、并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头得到的;所述静止跳帧数量是基于对所述原始视频帧进行静止画面检测时,所确定的所述静止画面已经持续的原始视频帧的数量。
在一些实施例中,所述解码模块5562,还用于确定所述视频的卡顿次数和所述静止跳帧数量的差值,并将所述差值和采集所述原始视频帧的时间段的比值确定为所述视频的卡顿率;或者,将所述静止跳帧数量代入至表征视频的无参考分的函数,以得到所述函数输出的无参考分,其中,所述表征视频的无参考分的函数以所述解码器的解码帧率和分辨率为变量构成。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的视频数据的处理方法,例如,如图3至图8任一附图示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在HTML文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
相关技术中,在分享屏幕内容场景下视频编码经常出现重复内容,为了节省流量一般不让编码器进行编码相应的帧,但是这种静止跳帧与网络丢包造成的卡顿无法区分,这将导致在统计卡顿率以及无参考分质量时出现问题。
针对上述问题,本发明提供了上述实施例,本发明提供的实施例不仅可以解决以上技术问题,而且具有以下有益效果:
1)通过对原始视频帧进行静止画面检测,并确定静止跳帧数量,根据静止跳帧数量对原始视频帧进行编码、并对编码视频帧进行解码以获得解码后的视频,最后对解码后的视频进行质量评分,不仅能够避免编码原始视频帧中的静止画面,降低带宽消耗,而且能够准确确定解码后的视频的质量。
2)通过将出帧方式分为固定出帧方式和随机出帧方式,并分别针对这两种不同的出帧方式确定静止画面和静止跳帧数量,能够准确判断原始视频帧中包含的静止画面和静止跳帧数量,能够避免在编码的过程中对原始视频帧中的静止画面进行编码。
3)通过根据视频的质量得分调整编码器的编码参数,能够使基于新的编码视频帧确定的解码后的视频的卡顿程度越低,从而视频的质量越好。
4)可以区分分享屏幕内容场景下静止跳帧与网络丢包分别造成的卡顿现象。
5)能够解决屏幕分享中由于静止跳帧导致的卡顿率以及无参考分计算异常,解决跳帧对现网产品的质量运营以及问题定位造成的影响,使得静止跳帧现象能够在产品中得到应用,通过静止跳帧能够获得更低的带宽消耗优势,能够将省下的带宽用于其他场景下的清晰化提升。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (10)

1.一种视频数据的处理方法,其特征在于,包括:
获取原始视频帧,并基于所述原始视频帧进行静止画面检测;
当所述原始视频帧属于静止画面时,将所述静止画面已经持续的原始视频帧的数量,确定为静止跳帧数量;
通过编码器对所述原始视频帧进行编码得到编码视频帧,并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头;
将所述编码视频帧发送到解码器,以使
所述解码器解码所述帧头得到所述静止跳帧数量,将缓存的所述静止画面的解码结果复用为所述编码视频帧的解码结果,以及
基于所述静止跳帧数量,确定视频的质量得分。
2.根据权利要求1所述的方法,其特征在于,所述基于所述原始视频帧进行静止画面检测,包括:
确定采集所述原始视频帧时的出帧方式;
根据采集所述原始视频帧时的出帧方式,对所述原始视频帧进行静止画面检测。
3.根据权利要求2所述的方法,其特征在于,
所述根据采集所述原始视频帧时的出帧方式,对所述原始视频帧进行静止画面检测,包括:
当所述出帧方式为固定出帧方式时,对连续采集到的原始视频帧进行场景检测;
当在连续采集到的原始视频帧中检测到重复出现的场景时,确定所述重复出现的场景对应的原始视频帧属于静止画面;
所述方法还包括:
将连续包括静止画面的原始视频帧的数量确定为静止跳帧数量;
其中,所述固定出帧方式为根据设定的采集帧率持续输出原始视频帧的方式。
4.根据权利要求3所述的方法,其特征在于,所述对连续采集到的原始视频帧进行场景检测,包括:
确定所述原始视频帧和前一个采集的原始视频帧的像素点之间的颜色差值;
确定颜色差值大于颜色差异阈值的像素点的数量;
当所述像素点的数量大于像素点数量阈值时,确定所述原始视频帧和前一个采集的原始视频帧属于静止画面。
5.根据权利要求2所述的方法,其特征在于,
所述根据采集所述原始视频帧时的出帧方式,对所述原始视频帧进行静止画面检测,包括:
当所述出帧方式为随机出帧方式、且当前时刻没有接收到实时的原始视频帧时,
复用最新接收的原始视频帧作为当前时刻对应的原始视频帧,并确定没有接收到实时的原始视频帧的时段对应的原始视频帧,属于静止画面;
所述方法还包括:
基于采样帧率和帧间隔确定静止跳帧数量;
其中,所述随机出帧方式为不重复输出静止画面对应的原始视频帧的方式。
6.根据权利要求5所述的方法,其特征在于,所述基于采样帧率和帧间隔确定静止跳帧数量,包括:
针对所述复用的原始视频帧生成对应的编码时间戳;
确定连续的两个原始视频帧的编码时间戳的差值;
基于所述编码时间戳差值和采样帧率,确定所述相邻的两个原始视频帧之间的静止跳帧数量。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
根据所述视频的质量得分确定表征所述视频的卡顿程度的得分;
当所述表征所述视频的卡顿程度的得分高于卡顿阈值时,调整所述编码器的编码参数,以使基于新的编码视频帧确定的卡顿程度的得分低于所述卡顿阈值。
8.一种视频数据的处理装置,其特征在于,包括:
检测模块,用于获取原始视频帧,并基于所述原始视频帧进行静止画面检测;
确定模块,用于当所述原始视频帧属于静止画面时,将所述静止画面已经持续的原始视频帧的数量,确定为静止跳帧数量;
编码模块,用于通过编码器对所述原始视频帧进行编码得到编码视频帧,并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头;
发送模块,用于将所述编码视频帧发送到解码器,以使所述解码器解码所述帧头得到所述静止跳帧数量,将缓存的所述静止画面的解码结果复用为所述编码视频帧的解码结果,以及基于所述静止跳帧数量,确定视频的质量得分。
9.一种视频数据的处理方法,其特征在于,包括:
接收编码视频帧;
解码所述编码视频帧的帧头得到静止跳帧数量,将缓存的静止画面的解码结果复用为所述编码视频帧的解码结果,以及
基于所述静止跳帧数量,确定视频的质量得分;
其中,所述编码视频帧是通过编码器对原始视频帧进行编码、并在编码过程中将所述静止跳帧数量插入至所述编码视频帧的帧头得到的;所述静止跳帧数量是基于对所述原始视频帧进行静止画面检测时,所确定的所述静止画面已经持续的原始视频帧的数量。
10.根据权利要求9所述的方法,其特征在于,所述基于所述静止跳帧数量,确定视频的质量得分,包括:
确定所述视频的卡顿次数和所述静止跳帧数量的差值,并将所述差值和采集所述原始视频帧的时间段的比值确定为所述视频的卡顿率;
或者,
将所述静止跳帧数量代入至表征视频的无参考分的函数,以得到所述函数输出的无参考分,其中,所述表征视频的无参考分的函数以所述解码器的解码帧率和分辨率为变量构成。
CN201910872872.XA 2019-09-16 2019-09-16 视频数据的处理方法、装置、及电子设备 Pending CN110505522A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910872872.XA CN110505522A (zh) 2019-09-16 2019-09-16 视频数据的处理方法、装置、及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910872872.XA CN110505522A (zh) 2019-09-16 2019-09-16 视频数据的处理方法、装置、及电子设备

Publications (1)

Publication Number Publication Date
CN110505522A true CN110505522A (zh) 2019-11-26

Family

ID=68591912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910872872.XA Pending CN110505522A (zh) 2019-09-16 2019-09-16 视频数据的处理方法、装置、及电子设备

Country Status (1)

Country Link
CN (1) CN110505522A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147884A (zh) * 2020-01-02 2020-05-12 广州虎牙科技有限公司 数据处理方法、装置、系统、用户端及存储介质
CN111343503A (zh) * 2020-03-31 2020-06-26 北京金山云网络技术有限公司 视频的转码方法、装置、电子设备及存储介质
CN111901603A (zh) * 2020-07-28 2020-11-06 上海工程技术大学 一种用于静态背景视频的编码方法及解码方法
CN111899322A (zh) * 2020-06-29 2020-11-06 腾讯科技(深圳)有限公司 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN112073721A (zh) * 2020-10-10 2020-12-11 绍兴文理学院 一种高效率的非i帧图像编解码方法
CN112351254A (zh) * 2020-10-30 2021-02-09 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
CN113873295A (zh) * 2021-10-26 2021-12-31 北京金山云网络技术有限公司 多媒体信息处理方法、装置、设备及存储介质
CN114430488A (zh) * 2022-04-01 2022-05-03 深圳市华曦达科技股份有限公司 一种视频编码和视频解码的方法及装置
CN115225961A (zh) * 2022-04-22 2022-10-21 上海赛连信息科技有限公司 一种无参考网络视频质量评价方法和装置
CN115499707A (zh) * 2022-09-22 2022-12-20 北京百度网讯科技有限公司 视频相似度的确定方法和装置
CN115883899A (zh) * 2022-11-24 2023-03-31 重庆紫光华山智安科技有限公司 图像同屏播放方法、系统、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3042484A1 (en) * 2013-09-05 2016-07-13 Microsoft Technology Licensing, LLC Universal screen content codec
CN105761255A (zh) * 2016-02-04 2016-07-13 网易(杭州)网络有限公司 游戏画面卡顿测试方法及装置
CN108235004A (zh) * 2018-03-20 2018-06-29 百度在线网络技术(北京)有限公司 视频播放性能测试方法、装置和系统
CN108495120A (zh) * 2018-01-31 2018-09-04 华为技术有限公司 一种视频帧检测、处理方法、装置及系统
CN108810549A (zh) * 2018-06-06 2018-11-13 天津大学 一种面向低功耗的流媒体播放方法
CN108933935A (zh) * 2017-05-22 2018-12-04 中兴通讯股份有限公司 视频通信系统的检测方法、装置、存储介质和计算机设备
CN109120929A (zh) * 2018-10-18 2019-01-01 北京达佳互联信息技术有限公司 一种视频编码、解码方法、装置、电子设备及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3042484A1 (en) * 2013-09-05 2016-07-13 Microsoft Technology Licensing, LLC Universal screen content codec
CN105761255A (zh) * 2016-02-04 2016-07-13 网易(杭州)网络有限公司 游戏画面卡顿测试方法及装置
CN108933935A (zh) * 2017-05-22 2018-12-04 中兴通讯股份有限公司 视频通信系统的检测方法、装置、存储介质和计算机设备
CN108495120A (zh) * 2018-01-31 2018-09-04 华为技术有限公司 一种视频帧检测、处理方法、装置及系统
CN108235004A (zh) * 2018-03-20 2018-06-29 百度在线网络技术(北京)有限公司 视频播放性能测试方法、装置和系统
CN108810549A (zh) * 2018-06-06 2018-11-13 天津大学 一种面向低功耗的流媒体播放方法
CN109120929A (zh) * 2018-10-18 2019-01-01 北京达佳互联信息技术有限公司 一种视频编码、解码方法、装置、电子设备及系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147884A (zh) * 2020-01-02 2020-05-12 广州虎牙科技有限公司 数据处理方法、装置、系统、用户端及存储介质
CN111147884B (zh) * 2020-01-02 2021-12-17 广州虎牙科技有限公司 数据处理方法、装置、系统、用户端及存储介质
CN111343503A (zh) * 2020-03-31 2020-06-26 北京金山云网络技术有限公司 视频的转码方法、装置、电子设备及存储介质
CN111899322A (zh) * 2020-06-29 2020-11-06 腾讯科技(深圳)有限公司 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN111899322B (zh) * 2020-06-29 2023-12-12 腾讯科技(深圳)有限公司 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN111901603B (zh) * 2020-07-28 2023-06-02 上海工程技术大学 一种用于静态背景视频的编码方法及解码方法
CN111901603A (zh) * 2020-07-28 2020-11-06 上海工程技术大学 一种用于静态背景视频的编码方法及解码方法
CN112073721A (zh) * 2020-10-10 2020-12-11 绍兴文理学院 一种高效率的非i帧图像编解码方法
CN112073721B (zh) * 2020-10-10 2024-02-27 绍兴文理学院 一种高效率的非i帧图像编解码方法
CN112351254A (zh) * 2020-10-30 2021-02-09 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
CN113873295A (zh) * 2021-10-26 2021-12-31 北京金山云网络技术有限公司 多媒体信息处理方法、装置、设备及存储介质
CN113873295B (zh) * 2021-10-26 2024-05-28 北京金山云网络技术有限公司 多媒体信息处理方法、装置、设备及存储介质
CN114430488A (zh) * 2022-04-01 2022-05-03 深圳市华曦达科技股份有限公司 一种视频编码和视频解码的方法及装置
CN115225961A (zh) * 2022-04-22 2022-10-21 上海赛连信息科技有限公司 一种无参考网络视频质量评价方法和装置
CN115225961B (zh) * 2022-04-22 2024-01-16 上海赛连信息科技有限公司 一种无参考网络视频质量评价方法和装置
CN115499707A (zh) * 2022-09-22 2022-12-20 北京百度网讯科技有限公司 视频相似度的确定方法和装置
CN115883899A (zh) * 2022-11-24 2023-03-31 重庆紫光华山智安科技有限公司 图像同屏播放方法、系统、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110505522A (zh) 视频数据的处理方法、装置、及电子设备
US20210350828A1 (en) Reference and Non-Reference Video Quality Evaluation
KR101693564B1 (ko) 미디어 품질 평가 방법 및 장치
CN110662114B (zh) 视频处理方法、装置、电子设备及存储介质
CN108737884B (zh) 一种内容录制方法及其设备、存储介质、电子设备
CN110784718B (zh) 视频数据编码方法、装置、设备和存储介质
US20170094295A1 (en) Banwidth Adjustment For Real-time Video Transmission
US20170094301A1 (en) Initial Bandwidth Estimation For Real-time Video Transmission
CN112073543B (zh) 一种云视频录制方法、系统和可读存储介质
WO2016023358A1 (zh) 一种基于网络环境调整视频画质的方法及装置
CN113225585B (zh) 一种视频清晰度的切换方法、装置、电子设备以及存储介质
CN111641804A (zh) 视频数据处理方法和装置、终端、摄像头及视频会议系统
CN113411218B (zh) 即时通信质量的评价方法、装置和电子设备
CN114510191A (zh) 一种投屏方法及装置
CN110996122B (zh) 视频帧传输方法、装置、计算机设备及存储介质
CN111182302B (zh) 视频的图像编码方法、终端设备以及存储介质
CN112584194A (zh) 视频码流的推送方法、装置、计算机设备和存储介质
CN111343503A (zh) 视频的转码方法、装置、电子设备及存储介质
CN116781973B (zh) 视频编解码方法、装置、存储介质和电子设备
CN111093091A (zh) 视频处理方法、服务器及系统
US20150189231A1 (en) Video conferencing system
CN113395531B (zh) 播放切换方法、装置、电子设备及计算机可读存储介质
CN116962613A (zh) 数据传输方法及装置、计算机设备、存储介质
CN114866763A (zh) 一种视频质量的评估方法、装置、终端设备和存储介质
CN111385081A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191126

RJ01 Rejection of invention patent application after publication