CN117294690B - 一种评估QoE的方法及电子设备 - Google Patents

一种评估QoE的方法及电子设备 Download PDF

Info

Publication number
CN117294690B
CN117294690B CN202311563070.3A CN202311563070A CN117294690B CN 117294690 B CN117294690 B CN 117294690B CN 202311563070 A CN202311563070 A CN 202311563070A CN 117294690 B CN117294690 B CN 117294690B
Authority
CN
China
Prior art keywords
frame
video
electronic device
current
time
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
CN202311563070.3A
Other languages
English (en)
Other versions
CN117294690A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311563070.3A priority Critical patent/CN117294690B/zh
Publication of CN117294690A publication Critical patent/CN117294690A/zh
Application granted granted Critical
Publication of CN117294690B publication Critical patent/CN117294690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例涉及终端技术领域,尤其涉及一种评估QoE的方法及电子设备,能够提高QoE评估的准确性。该方法应用于第一电子设备,该方法包括:第一电子设备与第二电子设备建立投屏连接;在投屏过程中,第一电子设备获取向第二电子设备投屏的当前帧率,当前帧率小于或者等于当前编码帧率,当前编码帧率为第一电子设备向第二电子设备投屏的视频所能达到的最大帧率;若当前帧率大于或等于第一阈值,第一电子设备使用当前帧率计算第一QoE;第一阈值小于当前编码帧率;若当前帧率小于第一阈值,第一电子设备使用当前编码帧率计算第二QoE。

Description

一种评估QoE的方法及电子设备
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种评估QoE的方法及电子设备。
背景技术
流媒体技术将一连串的媒体数据压缩后分段发送,从而可以实现用户一边获取一边观看,而不需要将整个媒体数据获取之后再观看。采用流媒体技术,多媒体数据可以不断由发送端发送到接收端。其中,多媒体数据例如可以是视频数据。
用户体验质量QoE(quality of experience,QoE)用来评价流媒体系统中终端用户对服务的满意程序。QoE值可以指示终端用户对视频播放的体验质量。
相关技术在评估用户体验质量QoE时通常采用固定帧率,而在投屏场景中被投屏的视频的帧率是实时变化的,将相关技术应用在投屏场景中评估得到的用户体验质量QoE与用户实际真实的使用体验不符,进而不能及时有效调整视频的传输参数,为用户提供较好的观看体验。
并且,通常用户体验质量QoE与视频帧率正相关。视频帧率高,用户体验质量QoE高,指示用户使用体验较好。视频帧率低,用户体验质量QoE低,指示用户使用体验较差。而在投屏业务场景中,视频帧率实时动态变化,当视频画面变化较小时视频的帧率非常低。例如,手机与笔记本电脑远程会议,手机将文档投屏至电脑。用户未在手机侧操作文档时,视频帧率会非常低。此时,使用较低的帧率计算得来的用户体验质量QoE非常低,指示用户体验很差,但这与实际情况不符。
为此,亟需提出一种适用于投屏场景中的用户体验质量QoE评估方法。
发明内容
本申请实施例提供一种评估QoE的方法及电子设备,用于解决常规技术评估得到的用户体验质量QoE与实际不符的问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种评估QoE的方法,该方法应用于第一电子设备。该方法包括:第一电子设备与第二电子设备建立投屏连接;在投屏过程中,第一电子设备获取向第二电子设备投屏的当前帧率,当前帧率小于或者等于当前编码帧率,当前编码帧率为第一电子设备向第二电子设备投屏的视频所能达到的最大帧率;若当前帧率大于或等于第一阈值,第一电子设备使用第一传输参数计算第一QoE;其中,第一阈值小于当前编码帧率,第一传输参数包括当前帧率;若当前帧率小于第一阈值,第一电子设备使用第二传输参数计算第二QoE;其中,第二传输参数包括当前编码帧率。
在投屏过程中,第一电子设备可以获取当前帧率,若当前帧率大于等于第一阈值,指示第一电子设备所投屏的视频帧率正常,第一电子设备采用当前帧率计算第一QoE,这样,能够实时计算用户体验质量QoE。若当前帧率小于第一阈值,指示第一电子设备所投屏的视频帧率较低,第一电子设备采用当前编码帧率计算第二QoE,而不是较低的当前帧率。由于视频在低帧率时一般不会发生播放卡顿的情况,用户实际的观看体验应该是良好。若当前帧率小于第一阈值,采用当前编码帧率而不采用当前较低的帧率计算第二QoE,更加符合用户实际的观看体验。可见,本申请采用实时帧率计算用户体验质量QoE,更加适用于帧率实时变化的投屏场景。并且,根据当前帧率大小区分不同的计算方法,在视频帧率较低时,计算得到的用户体验质量QoE更加符合用户实际的观看体验。
在第一方面的另一种可能的实现方式中,第一传输参数还包括:第一电子设备向第二电子设备投屏的当前码率、第一电子设备向第二电子设备投屏的卡顿率。
在第一方面的另一种可能的实现方式中,第一电子设备将第一传输参数输入第一QoE评估模型,得到第一QoE;其中,第一QoE评估模型具备评估第一电子设备向第二电子设备传输的视频质量、第二电子设备播放的投屏质量、第一电子设备与第二电子设备的网络传输质量,得到QoE的能力;第一电子设备向第二电子设备传输的视频质量与当前帧率、当前码率和当前视频分辨率相关;第二电子设备播放的投屏质量与第二电子设备的显示屏分辨率和当前视频分辨率相关;网络传输质量与卡顿率相关。
在第一方面的另一种可能的实现方式中,从开始投屏起,第一电子设备依次计算并保存每个第一单位时长的卡顿率。具体的,第一电子设备执行如下方法,依次计算每个第一单位时长的卡顿率:获取第一单位时长内的总卡顿时长。其中,总卡顿时长为:第一单位时长内,第二电子设备已送显的所有相邻两个第一视频帧的帧差之和;相邻两个第一视频帧中间隔有第一电子设备向第二电子设备传输、但未被第二电子设备送显的视频帧;并且,相邻两个第一视频帧的帧差大于相邻两个第一视频帧中第一个第一视频帧与第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,相邻两个第一视频帧的帧差大于S倍帧耗时,帧耗时为1000与当前编码帧率的比值,其中,P、Q、S均为大于1的整数。之后,第一电子设备计算总卡顿时长和第一单位时长的比值,得到第一单位时长的卡顿率。在第一电子设备使用第一传输参数计算第一QoE之前,第一电子设备读取距离当前时刻最近的第一单位时长的卡顿率,将距离当前时刻最近的第一单位时长的卡顿率作为第一电子设备向第二电子设备投屏的卡顿率。
在第一方面的另一种可能的实现方式中,在投屏过程中,第一电子设备记录向第二电子设备发送的视频帧的第一时间戳。其中,第一时间戳记录对应视频帧的采样时间、编码时间或者发送时间中的任一种。第一电子设备将第二电子设备已送显的视频帧对应的第一时间戳标记为第二时间戳。第一电子设备读取第一单位时长内记录的第二时间戳,计算相邻两个第二时间戳之间的时间差得到相邻两个第一视频帧的帧差。其中,相邻两个第二时间戳之间间隔有至少一个第一时间戳。计算相邻两个第一视频帧的帧差中所有大于相邻两个第一视频帧中第一个第一视频帧与第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,相邻两个第一视频帧的帧差大于S倍帧耗时的帧差之和,得到第一单位时长内的总卡顿时长。其中,帧耗时为1与当前编码帧率的比值,P、Q、S均为大于1的整数。
在第一方面的另一种可能的实现方式中,在第一电子设备使用第一传输参数计算第一QoE之前,第一电子设备可以先获取卡顿率及当前码率。
具体的,若当前帧率大于或等于第一阈值,第一电子设备获取向第二电子设备投屏的当前码率。之后,第一电子设备获取第一时刻至当前时刻的总卡顿时长。其中,总卡顿时长为:第一时刻至当前时刻中,第二电子设备已送显的所有相邻两个第一视频帧的帧差之和;相邻两个第一视频帧中间隔有第一电子设备向第二电子设备传输、但未被第二电子设备送显的视频帧;并且,相邻两个第一视频帧的帧差大于相邻两个第一视频帧中第一个第一视频帧与第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,相邻两个第一视频帧的帧差大于S倍帧耗时,帧耗时为1000与当前编码帧率的比值,其中,P、Q、S均为大于1的整数。之后,第一电子设备计算总卡顿时长和第一时刻至当前时刻的总时长的比值,得到卡顿率。
投屏场景中,视频的帧率是实时动态变化的,当视频画面无变化或者变化较小时,视频的帧率非常低,PC侧相邻两个送显帧间的帧差较大。相关技术在识别到PC侧相邻两个送显帧间的帧差大于一定阈值时,会认为PC侧发生了卡顿,而将投屏场景中的低帧率识别为卡顿,依此计算得来的卡顿率不准确,进而根据不准确的卡顿率计算得来的QoE存在偏差。本申请提供一种计算卡顿率的方法,只有在PC侧相邻两个送显帧间间隔有第一电子设备向第二电子设备传输、但未被第二电子设备送显的视频帧,且PC侧相邻两个送显帧间的帧差满足第一条件时,才认为发生了卡顿。第一条件为相邻两个第一视频帧中第一个第一视频帧与第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,相邻两个第一视频帧的帧差大于S倍帧耗时,帧耗时为1000与当前编码帧率的比值,其中,P、Q、S均为大于1的整数。如此,能够有效识别出投屏场景中的真正卡顿,避免卡顿误判。进而,有助于计算得到真正的卡顿率及QoE。
在第一方面的另一种可能的实现方式中,在投屏过程中,第一电子设备记录向第二电子设备发送的视频帧的第一时间戳;其中,第一时间戳记录对应视频帧的采样时间、编码时间或者发送时间中的任一种。第一电子设备将第二电子设备已送显的视频帧对应的第一时间戳标记为第二时间戳。第一电子设备读取第一时刻至当前时刻所记录的第二时间戳,计算相邻两个第二时间戳之间的时间差得到相邻两个第一视频帧的帧差;其中,相邻邻两个第二时间戳之间间隔有至少一个第一时间戳。计算相邻两个第一视频帧的帧差中所有大于相邻两个第一视频帧中第一个第一视频帧与第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,相邻两个第一视频帧的帧差大于S倍帧耗时的帧差之和,得到总卡顿时长;其中,帧耗时为1与当前编码帧率的比值,P、Q、S均为大于1的整数。提供计算第一时刻至当前时刻总卡顿时长的一种可行的实现方式。
在第一方面的另一种可能的实现方式中,第二传输参数还包括:当前编码码率。
在第一方面的另一种可能的实现方式中,第一电子设备将第二传输参数输入第二QoE评估模型,得到第二QoE;其中,第二QoE评估模型具备评估第一电子设备向第二电子设备传输的视频质量、第二电子设备播放的投屏质量,得到QoE的能力;第一电子设备向第二电子设备传输的视频质量与当前编码帧率、当前编码码率和当前视频分辨率相关;第二电子设备播放的投屏质量与第二电子设备的显示屏分辨率和当前视频分辨率相关。
视频帧率较低时,PC显示屏每秒钟显示图像的数量减少,一般不会发生卡顿。因此视频帧率较低时,可以忽略卡顿引起的质量下降,采用第二QoE评估模型计算第二QoE。
在第一方面的另一种可能的实现方式中,第一QoE评估模型=f1·f2·f3;其中,f1用于评估第一电子设备向第二电子设备传输的视频质量、f2用于评估第二电子设备播放的投屏质量、f3用于评估第一电子设备与第二电子设备的网络传输质量。
在第一方面的另一种可能的实现方式中,
其中,bpp为每比特像素,bpp=BR/FR·VR;BR为当前码率、FR为当前帧率、VR为当前视频分辨率;PPD为每角度像素数;LF为卡顿率;
CodRh为当前视频分辨率中的视频水平像素数量;Rh为第二电子设备显示屏分辨率中的水平像素数量;Rv为第二电子设备显示屏分辨率中的竖直像素数量;v1、v2、v3、v4、v5、v6、v7、v8、v9为系数。
在第一方面的另一种可能的实现方式中,第二QoE评估模型=f4·f2;其中,f4用于评估第一电子设备向第二电子设备传输的视频质量、f2用于评估第二电子设备播放的投屏质量。
在第一方面的另一种可能的实现方式中,
其中,bpp为每比特像素,bpp=BR1/FR1·VR;BR为当前编码码率、FR为当前编码帧率、VR为当前视频分辨率;PPD为每角度像素数;
CodRh为当前视频分辨率中的视频水平像素数量;Rh为第二电子设备显示屏分辨率中的水平像素数量;Rv为第二电子设备显示屏分辨率中的竖直像素数量;v1、v2、v3、v4、v5、v6、v7、v8、v9为系数。
第二方面,提供一种电子设备。电子设备包括:存储器、无线通信模块、显示屏、及一个或多个处理器。无线通信模块根据处理器的控制接收和发送数据,以实现电子设备与其他电子设备的间的通信。存储器、显示屏与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。当计算机指令被处理器执行时,使得电子设备执行如第一方面所述方法。
第三方面,提供一种芯片系统,该芯片系统可以应用于包括存储器的电子设备。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该接口电路用于从上述存储器接收信号,并向处理器发送该信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,电子设备执行如第一方面及其任一种可能的设计方式的方法。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。当计算机指令在电子设备上运行时,使得该电子设备执行如第一方面及其任一种可能的设计方式的方法。
第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计方式的方法。
可以理解地,上述第二方面的电子设备至第五方面的计算机程序产品,所能达到的有益效果,可参考如第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种评估QoE的方法的流程示意图;
图3为本申请实施例提供的一种触发手机与PC建立投屏连接的界面示意图;
图4为本申请实施例提供的一种计算卡顿率的方法的流程示意图;
图5为本申请实施例提供的一种计算卡顿率的方法示意图;
图6为本申请实施例提供的一种视频的低帧率状态及卡顿状态的示意图;
图7为本申请实施例提供的另一种评估QoE的方法的流程示意图;
图8为本申请实施例提供的一种第二电子设备的显示屏尺寸示意图;
图9为本申请实施例提供的一种电子设备的软硬件架构示意图;
图10为本申请实施例提供的一种手机与PC中模块间交互流程图;
图11为本申请实施例提供的一种投屏系统的示意图。
具体实施方式
用户体验质量(quality of experience,QoE)可以用来评价流媒体系统中终端用户对服务的满意程序。QoE可以指示终端用户对使用的服务或业务的满意程度。QoE越高指示用户对业务的满意程度越高,QoE越低指示用户对业务的满意程度越低。QoE可以用于调整流媒体的传输参数,避免出现卡顿现象,提高用户体验。
流媒体是采用流媒体技术实现连续实时播放的媒体技术。流媒体技术将一连串的媒体数据压缩后分段发送,从而可以实现用户一边获取一边观看,而不需要将整个媒体数据获取之后再观看。采用流媒体技术,多媒体数据可以不断由发送端发送到接收端。其中,多媒体数据例如可以是视频、音频、动画等。本申请实施例中多媒体数据可以是视频数据。
QoE参数是用于评估QoE的参数。其中,可以将QoE参数输入QoE模型中得到QoE值。影响用户的体验质量的因素有多种、例如视频质量、网络情况。示例性的,QoE参数可以包括丢包率、时延、抖动时长、卡顿率、视频帧率及视频码率等。
通常可以采用固定帧率计算QoE,例如,手机的播放视频的帧率为60帧/秒。手机将固定帧率(如60帧/秒)输入已有的QoE评估模型中可以得到QoE。该常规计算方法并不适用于投屏业务场景中,首先对投屏业务场景进行简单介绍。
手机可以图像投送至笔记本电脑,由笔记本电脑显示该图像。投屏业务包括多屏协同、屏幕共享、屏幕镜像、摄像头共享等。示例性的,手机获取待投屏的图像,手机将待投屏图像编码为视频帧。其中,待投屏图像可以手机显示屏上显示或即将显示的图像。手机将多个视频帧发送至笔记本电脑,笔记本电脑可以逐帧显示视频帧。手机与电脑建立投屏连接之后,手机与电脑可以执行共享文档、视频会议、共享办公、共享桌面、远程会议等各类投屏业务。
在投屏业务场景中,视频帧率是实时变化的。例如,手机显示屏所显示的画面内容变化较大时,视频帧率较高,手机与笔记本基于较高的帧率显示视频帧。手机显示屏所显示的画面内容变化较小或没有变化时,视频帧率会降的非常低,手机与笔记本基于较低的帧率显示视频帧。
例如,在远程会议业务中,手机与笔记本电脑建立连接之后,手机向笔记本电脑共享文档。在用户没有操作文档时或者文档内容变化不大时,视频帧率很低。当用户滑动显示文档时,视频帧率较高。
也就是说,在投屏业务场景中,被投屏的视频的帧率是实时变化的。采用现有计算方法,计算得到的QoE与投屏业务场景中实际的QoE不符,不能准确的指示用户的使用体验,进而不能及时有效调整视频的传输参数,为用户提供较好的观看体验。
并且,通常QoE与视频帧率正相关。视频帧率高,QoE高,指示用户使用体验较好。视频帧率低,QoE低,指示用户使用体验较差。而投屏业务场景中,当视频画面变化较小时,视频的帧率非常低,使用此时的帧率值计算得来的QoE非常低,指示用户体验很差,但这是与实际情况不符的。
为此,本申请实施例提一种评估QoE的方法,应用于第一电子设备。第一电子设备可以与第二电子设备建立投屏连接。在投屏过程中,第一电子设备可以实时获取当前帧率。当前帧率小于等于编码器的当前编码帧率,当前编码帧率为当前第一电子设备向第二电子设备所投屏的视频所能达到的最大帧率。
若当前帧率大于等于第一阈值,指示第一电子设备所投屏的视频帧率正常,第一电子设备采用当前帧率计算第一QoE,这样,能够实时计算用户体验质量QoE。
若当前帧率小于第一阈值,指示第一电子设备所投屏的视频帧率较低,第一电子设备采用编码器的当前编码帧率计算第二QoE,而不是较低的当前帧率。由于视频在低帧率时一般不会发生播放卡顿的情况,用户实际的观看体验应该是良好。若当前帧率小于第一阈值,采用当前编码帧率而不采用当前较低的帧率计算第二QoE,更加符合用户实际的观看体验。
可见,本申请实施例提供的一种评估QoE的方法,采用实时帧率计算用户体验质量QoE,更加适用于帧率实时变化的投屏场景。并且,根据当前帧率大小区分不同的计算方法,在视频帧率较低时,计算得到的用户体验质量QoE更加符合用户实际的观看体验。
本申请实施例提供的方法可以应用于具备数据处理能力的电子设备。上述电子设备可以包括服务器、手机、平板电脑、笔记本电脑、个人电脑(personal computer,PC)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、智能家居设备(比如,智能电视、智慧屏、大屏、智能音箱、智能空调等)、个人数字助理(personaldigital assistant,PDA)、可穿戴设备(比如,智能手表、智能手环等)、车载设备、虚拟现实设备等,本申请实施例对此不做任何限制。在本申请实施例中,上述电子设备是可以运行操作系统,安装应用程序的电子设备。可选地,电子设备运行的操作系统可以是安卓®系统,Windows®系统,iOS®系统等。
示例性的,请参考图1,其示出了一种电子设备100的结构示意图。电子设备100可包括处理器110,外部存储器接口120,内部存储器121,音频模块130,扬声器130A,麦克风130B,显示屏140,无线通信模块150,电源模块160,输入装置170,传感器模块180等。其中,传感器模块180可以包括压力传感器、触摸传感器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。
其中,控制器是电子设备100的神经中枢和指挥中心。可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
应用处理器上可以运行电子设备100的操作系统,用于管理电子设备100的硬件与软件资源。比如,管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络、管理文件系统、管理驱动程序等。操作系统也可以用于提供一个让用户与系统交互的操作页面。其中,操作系统内可以安装各类软件,比如,驱动程序,应用程序(application,App)等。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM卡接口,和/或USB接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行本申请一些实施例中所提供的应用运行方法,以及各种应用以及数据管理等。内部存储器121可以包括代码存储区和数据存储区。其中,数据存储区可存储电子设备100使用过程中所创建的数据等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universalflash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行本申请实施例中所提供的应用运行方法,以及其他应用及数据管理。
电子设备100可以通过音频模块130,扬声器130A,麦克风130B,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块130用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块130还可以用于对音频信号编码和解码。在一些实施例中,音频模块130可以设置于处理器110中,或将音频模块130的部分功能模块设置于处理器110中。
扬声器130A,也称“喇叭”,用于将音频电信号转换为声音信号。
麦克风130B,也称“话筒”,“传声器”,用于将声音信号转换为电信号。用户可以通过人嘴靠近麦克风130B发声,将声音信号输入到麦克风130B。
电子设备100的通信功能可以通过天线1,天线2以及无线通信模块150等实现。
无线通信模块150可以提供应用在电子设备100上的包括蜂窝,Wi-Fi,蓝牙(bluetooth,BT),无线数传模块(例如,433MHz,868MHz,915MHz)等无线通信的解决方案。无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线1或者天线2接收电磁波,将电磁波信号滤波以及调频处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1或者天线2转为电磁波辐射出去。本申请实施例中,无线通信模块150可以与其他电子设备的无线通信模块建立包括Wi-Fi,蓝牙、NFC、Wi-Fi点对点P2P连接中的一种或多种连接。无线通信模块150还可以向已建立连接的电子设备发送信号。
电子设备100通过GPU,显示屏140,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicrOLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏140,N为大于1的正整数。本申请实施例中,显示屏140可以用于显示UI,以及接收用户对UI的操作。例如,本申请实施例中,显示屏140可以显示投屏应用的界面,显示屏中传感器在检测到用户在应用程序的界面上的操作之后,可以触发无线通信模块150与电子设备建立Wi-Fi点对点P2P连接。
在一些实施例中,显示屏140上设置有压力传感器、触摸传感器等。压力传感器用于感受压力信号,可以将压力信号转换成电信号。当有触摸操作作用于显示屏140,电子设备100根据压力传感器检测触摸操作强度。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。触摸传感器,也称“触控面板”,可以与显示屏140组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。还可以通过显示屏140提供与触摸操作相关的视觉输出。
电源模块160,可以用于向电子设备100包含的各个部件供电。在一些实施例中,该电源模块160可以是电池,如可充电电池。
输入装置170可以包括键盘、鼠标器等。键盘用于将英文字母、数字、标点符号等输入电子设备100,从而向电子设备100发出命令,输入数据等。鼠标器是电子设备100显示系统纵横坐标定位的指示器,用于向电子设备100输入指令等。其中,输入装置170可以通过有线连接方式连接电子设备100,比如,输入装置170通过GPIO接口、USB接口等连接电子设备100。输入装置170还可以通过无线方式连接电子设备100,比如,输入装置170通过蓝牙、红外等方式连接电子设备100。
本方案适用于多个电子设备投屏业务场景中,QoE值具体可以用于评估用户对投屏业务场景的体验质量。例如,用户对投屏视频播放的体验质量。投屏业务场景包括但不限于多屏协同、投屏、屏幕镜像、屏幕共享、摄像头共享等场景。
电子设备在进行投屏业务之前,需要先建立连接。该连接可以是有线连接或者无线连接。例如,多个电子设备通过通用串口总线(universal serial bus,USB)建立有线连接。又例如,多个电子设备在打开蓝牙开关之后,电子设备之间的距离在预设距离之内,多个电子设备可以建立蓝牙组网,多个电子设备建立蓝牙连接。或者,多个电子设备在打开无线局域网(wireless local area network,WLAN)开关之后,多个电子设备的距离在预设距离之内,多个电子设备间可以建立WLAN直连,WLAN直连又称为Wi-Fi点对点连接(Wi-Fipeer-to-peer,Wi-Fi P2P)。或者,多个电子设备接入同一个局域网之后,可以通过局域网同步数据,实现设备间协同。或者,多个电子设备可以建立近场通信(near fieldcommunication,NFC)连接、红外(infrared radiation,IR)连接等。
可选的,上述多个电子设备可以为同一信任环内的电子设备。多个电子设备可以通过可信认证建立信任关系,形成信任环。多个电子设备组建信任环的方式有多种。例如,多个电子设备登陆同一个账号,同一个账号下的多个电子设备相互信任,这多个电子设备组建为一个信任环。又例如,多个电子设备未登陆同一个账号,多个电子设备通过协议进行可信认证,建立信任关系,形成信任环等。
本方案中发送视频帧的电子设备可以是发送端,接收视频帧的电子设备可以是接收端。发送端可以向一个或多个接收端发送视频帧。视频帧是发送端采用视频压缩编码技术对待传输的视频数据进行压缩编码得到的。视频帧可以包括I帧、P帧,及B帧。视频压缩编码技术例如可以是H.264标准所记录的技术或者是H.265标准所记录的技术。
下文以发送端是手机,接收端是PC为例,结合图2介绍本方案。图2为本申请实施例提供的一种评估QoE的方法流程示意图。图2所示的方案中,手机可以将视频投屏至PC,PC可以播放视频。手机可以评估用户在PC侧观看视频的体验质量。
S201,手机与PC建立连接。
手机与PC可以建立蓝牙连接、USB连接、NFC连接、红外IRC连接、Wi-Fi连接、Wi-FiP2P连接中的一种或多种。以手机与PC建立Wi-Fi P2P连接为例,手机开启WLAN及蓝牙、PC开启WLAN及蓝牙,手机和/或PC通过蓝牙、Wi-Fi中的一种或多种扫描并发现彼此。之后,手机与PC协商建立Wi-Fi P2P连接。
S202,手机向PC发送第一视频帧。
手机可以响应于用户的第一操作向PC发送第一视频帧,第一操作用于触发手机向PC发送第一视频帧,第一操作可以是用户在手机上发起手机与PC的投屏业务。
响应于第一操作,手机可以通过蓝牙连接、USB连接、NFC连接、红外IRC连接、Wi-Fi连接、Wi-Fi点对点P2P连接中的一种或多种向PC传输第一视频帧。第一操作有多种形式,下文给出几种示例。
示例性的,手机包括多屏协同业务,手机的下拉菜单包括多屏协同开关。第一操作例如可以是用户点击手机中多屏协同开关,并在可用设备列表选择PC。或者,手机还可以包括镜像投屏业务,手机的下拉菜单包括镜像投屏开关。第一操作例如可以是用户点击手机中镜像投屏开关并在可用设备列表选择PC。
作为另一个示例,手机可以包括投屏APP,或支持投屏的APP。投屏APP包括可视化人机交互界面,例如可以是XX互联APP。支持设备协同的APP例如可以视频播放APP等,该视频播放APP包括触发手机向PC投屏的控件。在一些实施例中,手机包括一个或多个投屏功能,例如前文中的多屏协同功能、镜像投屏功能,该功能也可以看作是投屏APP。
示例性的,如图3所示,手机在开启蓝牙及WLAN之后,手机控制中心显示设备协同APP的应用卡片。响应于用户点击该应用卡片,手机显示界面301。界面301包括手机的图标302、以及与手机搜索到的近场设备的图标,如平板电脑的图标303及PC的图标304。近场设备的图标可以分布在手机图标的周边。如图3所示,平板电脑的图标303及PC的图标304位于手机图标302的下方,且分布在一条弧线上。其中,平板电脑与PC均已打开蓝牙开及WLAN。
响应于用户在界面301将PC的图标304向靠近手机的图标302的方向拖动并使得PC的图标304与手机的图标302接触,手机显示界面306,界面306包括协同业务选择列表。该选择列表显示有手机与PC可进行的一种或多种类型的协同业务。其中,一种或多种类型的协同业务包括但不限于屏幕扩展、投屏、超级通话、屏幕镜像、超级通知、多屏协同、键鼠共享、摄像头共享、文件分享、远程控制等。第一操作例如可以是用户在界面306点击投屏、屏幕镜像、多屏协同中的任意一种。
或者,手机保存多种预设协同业务类型与多种类型电子设备间的一一映射关系。手机与PC的预设协同业务可以是多屏协同,响应于用户的拖拽操作,手机直接显示界面305,手机与PC建立投屏连接。第一操作例如可以是用户在界面301将PC的图标304向靠近手机的图标302的方向拖动并使得PC的图标304与手机的图标302接触。
或者,第一操作还可以是用户在视频播放界面中投屏按钮的点击操作并选择待投屏设备为PC。其中,该视频可以是手机保存在本地的视频,例如从互联网下载的视频、或录制的视频。该视频还可以是从互联网获取到的流媒体视频。
手机还可以响应于PC的指示信息,向PC传输第一视频帧。示例性的,PC也可以包括设备协同软件,该设备协同软件可以是电脑管家APP。响应于用户在PC的设备协同软件选择与手机建立摄像头共享,PC指示手机开启摄像头并采集图像并将相机APP的图像采集界面投屏至PC。
可选的,手机在向PC发送第一视频帧之前,手机可以先执行S2011-S2012。
S2011,手机初始化编码器,设置编码器的参数。
在传输第一视频帧之前,响应于用户发起手机与PC间的投屏业务,手机可以先初始化编码器,设置编码器的参数。
编码器的参数包括编码帧率、编码码率及视频分辨率。其中,编码帧率是一秒钟编码器输出的第一视频帧的数量。编码码率可以是编码器每秒钟输出比特(bit)数。视频分辨率为1英寸的单位面积里面像素的数量,视频分辨率越高图像越大。手机在初始化编码器时,会为编码器设置初始编码码率、初始编码帧率、初始视频分辨率。例如,初始编码码率可以是1Mbps,初始编码帧率可以是25帧/秒,初始视频分辨率可以是1920p×1080p。编码器可以按照初始视频分辨率压缩图像,按照初始编码码率及初始编码帧率输出第一视频帧。
示例性的,响应于用户在投屏APP中触发手机与PC建立投屏业务,投屏APP会调用软件开发包(software development kit,SDK)接口设置手机中的编码器的参数。编码器参数的参数值与投屏APP对应,不同投屏APP对应不同的编码器参数值。
S2012,手机获取第一视频帧。
第一视频帧为编码器将待投屏图像编码后的视频帧。示例性的,第一视频帧为编码器将当前手机显示屏所显示的第一图像编码后得到的视频帧。例如,手机可以先获取当前手机显示屏所显示第一图像,之后,调用编码器对第一图像编码得到第一视频帧。第一视频帧中包括当前手机的显示屏所显示的第一图像。
示例性的,手机包括视频帧采集器。视频帧采集器可以采集待投屏图像。视频帧采集器可以从缓存区中获取待投屏图像。以待投屏图像为手机显示屏上的图像为例,手机将待投屏图像缓存在缓冲区,在显示屏图像刷新时,视频采集器可以获取缓存区内的待投屏图像。
在投屏过程中,手机可以计算当前QoE,QoE可以用于评估PC端用户观看视频的体用体验。例如,手机可以在预设时刻,计算当前QoE。预设时刻例如可以是投屏开始时刻之后的第5min时刻,投屏开始时刻之后的第10min时刻、投屏开始时刻之后的第15min时刻、投屏开始时刻之后的第25min时刻。即手机可以周期性计算当前QoE。又例如,手机可以在检测到可用有效带宽发生波动时,计算当前QoE。例如,手机检测到可用有效带宽降低为阈值时,手机计算当前QoE。这样,QoE可以用于动态反馈用户观看视频的体验,手机可以基于动态QoE调整视频的传输参数,避免出现卡顿问题。示例性的,手机可以执行S203-S206。
S203,在投屏过程中,手机获取向PC投屏的当前帧率。
当前帧率是手机当前每秒钟传输的视频帧的数量。手机获取算当前帧率的方法可参考现有技术,下面给出几个示例。
例如,手机记录当前时刻前一秒至当前时刻,手机发送至PC的视频帧的数量,该数量即为当前帧率。或者,手机获取当前时刻之前发送至PC的固定数量个(例如100个)视频帧的时长,该固定数量与时长的比值为当前帧率。或者,手机获取开始发送时刻至当前时刻,手机发送至PC的视频帧的数量及时间,数量与时间的比值为当前帧率。
又例如,手机在发送第一视频帧时手机记录每一个第一视频帧的发送时刻。针对其中每一帧例如第i帧,手机获取第i帧之前(发送时间早于第i帧为前,发送时间晚于第i帧为后)的第i-x帧的发送时刻,其中,x大于等于1。手机计算第i帧与第i-x帧之间的发送时差,其中,发送时差为第i帧的接收时刻与第i-x帧的发送时刻间的差值。x与发送时差的比值为手机接收到第i帧时的瞬时帧率。手机可以记录实时帧率,例如,针对每一个第一视频帧,记录其发送时刻及实时帧率。
手机可以计算当前帧率,或者,直接从已保存的实时帧率中读取最新记录值为当前帧率。
可选的,在投屏过程中,手机还可以获取向PC投屏的当前码率。当前码率是手机当前每秒钟传输至PC的比特数。手机计算当前码率的方法可参考现有技术,下面给出几个示例。
例如,手机记录当前时刻的前一秒至当前时刻,手机发送至PC的视频帧的总比特数,该总比特数即为当前码率。或者,手机获取当前时刻之前发送至PC的固定数量个(例如100)个的第一视频帧的总比特数,该总比特数与发送这固定数量个第一视频帧的时长的比值为当前码率。
可选的,手机在向PC发送每一个第一视频帧时,可以实时计算当前发送时刻的当前码率及当前帧率。手机可以将当前码率及当前帧率存储起来。在计算QoE时,手机可以读取的距离当前时刻最近时刻已计算码率及帧率,作为当前帧率及当前码率。
S204,手机识别当前帧率是否大于或等于第一阈值。
S205,若当前帧率大或等于第一阈值,手机采用第一传输参数计算第一QoE,第一传输参数包括当前帧率。
S206,若当前帧率小于第一阈值,手机采用第二传输参数计算第二QoE,第二传输参数包括当前编码帧率。
若手机未调整过编码器的编码帧率,当前编码帧率为初始编码帧率。若手机调整过编码器的编码帧率,当前编码帧率为手机上一次调整编码帧率之后编码帧率。
第一阈值小于预设阈值。第一阈值例如可以是当前编码帧率*60%。
当前帧率大于或等于第一阈值,说明视频当前帧率不低,视频在正常状态,手机采用第一传输参数计算QoE。示例性的,手机将第一传输参数输入第一QoE模型,计算第一QoE。其中,第一传输参数包括当前帧率。可选的,第一传输参数还包括手机向PC投屏的当前码率及手机向PC投屏的卡顿率。
当前帧率小于第一阈值,说明视频当前帧率较低,视频在低帧率状态,手机采用第二传输参数计算QoE。示例性的,手机将第二传输参数输入第二QoE模型,计算第二QoE。其中,第二传输参数当前编码帧率。
可选的,第二传输参数还包括当前编码码率。若手机未调整过编码器的编码码率,当前编码帧率为初始编码码率。若手机调整过编码器的编码码率,当前编码码率为手机上一次调整编码帧率之后编码码率。
也就是说,手机与PC建立连接之后,在投屏过程中,手机可以获取当前帧率。当前帧率大于或等于第一阈值,指示手机向PC传输的视频的帧率正常,手机采用当前帧率计算第一QoE。这样,可以实时计算QoE。当前帧率小于第一阈值,指示手机向PC传输的视频帧率较低,手机采用当前编码帧率计算第二QoE。由于视频在低帧率时一般不会发生播放卡顿的情况,用户实际的观看体验应该是良好。若当前帧率小于第一阈值,采用当前编码帧率而不采用当前较低的帧率计算第二QoE,更加符合用户实际的观看体验。
可见,本申请实施例提供的一种评估QoE的方法,采用实时帧率计算用户体验质量QoE,更加适用于帧率实时变化的投屏场景。并且,根据当前帧率大小区分不同的计算方法,在视频帧率较低时,计算得到的用户体验质量QoE更加符合用户实际的观看体验。
下面分别介绍第一QoE评估模型与第二QoE评估模型。
第一QoE评估模型具备评估编码质量、接收端播放的投屏质量、网络传输质量,得到QoE的能力。其中,网络传输对QoE值的影响主要反映为卡顿引起的质量下降。
第一QoE值与编码质量、接收端播放情况、网络传输情况相关。第一QoE评估模型=编码质量评估模型f1*接收端影响评估模型f2*网络影响评估模型f3。示例性的,第一QoE评估模型=f1(FR,BR,VR)·f2(VR,R)·f3(LF)。
编码质量评估模型用于评估编码质量对用户观看视频的影响。编码质量可以包括视频的空域质量及视频的时域质量。其中,视频的空域质量可以反映画面的清晰度,其主要参数为比特每像素(bpp)。视频的时域质量可以反映画面的流畅度,其主要参数为帧率。
编码质量评估模型
其中,bpp为比特每像素,bpp=BR/FR·VR。BR为当前码率、FR为当前帧率、VR为当前视频分辨率。当前视频分辨率VR=Wp·Hp。Wp为视频水平像素数量,Hp为视频竖直像素数量。例如,当前视频分辨率为1920*1080。其中,1920为视频水平像素数量,1080为视频竖直像素数量。v1-v6为模型系数,模型系数可以预先配置在手机中。手机可以在执行S203时获取到当前码率及当前帧率。
若手机未调整过编码器的视频分辨率,当前视频分辨率为初始视频分辨率。若手机调整过编码器的视频分辨率,当前视频分辨率为手机上一次调整视频分辨率之后视频分辨率。
接收端影响评估模型主要反映视频流在不同设备上的呈现质量即接收端播放的投屏质量。接收端影响评估模型充分考虑接收端设备的显示屏分辨率、设备尺寸、用户观看距离、当前视频分辨率等因数的影响。
接收端影响评估模型
其中,PPD为每角度像素数。v7-v9为模型系数。
每角度像素数
其中,v7-v9为模型系数。CodRh为源水平像素数即当前视频分辨率中的视频水平像素数量。Rh为设备水平像素数,Rv为设备竖直像素数,n为用户观看距离D与显示屏高度的比值。如图8所示。PC显示屏的宽度为w,显示屏的高度为h。用户的观看距离D一般为n*h,即n倍的显示屏高度。显示屏的屏幕分辨率是指屏幕纵横方向上的像素点数,以水平像素数Rh乘以竖直像素数Rv。例如,屏幕分辨率可以为1600*1200,水平像素数为1600,竖直像素数为1200。
手机与PC建立连接之后,在投屏业务开始之前,就可以获取PC的设备信息,该设备信息例如可以包括显示屏的分辨率、显示屏的宽度及高度。例如,在手机与PC建立连接之后,PC可以主动或者响应于手机的获取请求,上报设备信息。手机可以保存上述设备信息,在计算QoE值时,手机再去读取设备信息。或者,手机在计算QoE时触发PC上报设备信息。或者,手机中配置有设备型号与设备信息间的映射关系,手机在得到PC的设备型号之后,基于映射关系得到设备信息。
可选的,手机还在计算QoE时获取用户的观看距离D并计算n,例如,PC可以获取用户的观看距离并上报手机。PC的显示屏可以包括探测装置,该探测装置可以探测用户的观看距离。该探测装置例如可以是红外感应器等。
网络影响评估模型可以用于反映卡顿失真引起的质量下降。网络影响评估模型与卡顿率相关。
网络影响评估模型
其中,v10-v12为模型参数。LF为卡顿率。下文会结合具体实施例及附图介绍获取卡顿率的方法,此处暂不赘述。
若当前帧率小于第一阈值,说明视频当前帧率非常低,视频处于低帧率状态。在低帧率状态,PC显示屏每秒钟显示图像的数量减少,一般不会发生卡顿。因此在低帧率状态下,可以忽略卡顿引起的质量下降,采用第二QoE评估模型计算QoE。第二QoE评估模型具备评估编码质量、接收端播放的投屏质量,得到QoE的能力。
第二QoE值与编码质量、接收端播放情况相关。第二QoE评估模型=编码质量*接收端影响。第二QoE评估模型=f4(FR1,BR1,VR)·f2(VR,R)。
编码质量评估模型用于评估编码质量对用户观看视频的影响。编码质量可以反映视频的空域质量及视频的时域质量。其中,视频的空域质量可以反映画面的清晰度,其主要参数为比特每像素(bpp)。视频的时域质量可以反映画面的流畅度,其主要参数为帧率。
编码质量评估模型
比特每像素bpp=BR1/FR1·VR1。其中,BR1为当前编码码率、FR1为当前编码帧率、VR为当前视频分辨率。v1-v6为模型系数,模型系数可以预先配置在手机中。
第二QoE评估模型中的接收端影响评估模型与第一QoE中的接收端影响评估模型一致,参考前文介绍,此处不再赘述。
由前文介绍得知,第一传输参数还包括卡顿率,手机在计算第一QoE时,需要先获取卡顿率。手机在投屏过程中可以实时计算卡顿率并保存,手机可以在计算第一QoE时读取已经计算的卡顿率。或者,手机还可以在计算第一QoE时才计算卡顿率。图4示出的是计算卡顿率的方法。
在S202之后,手机还可以执行S401。
S401,手机记录第一视频帧的第一时间戳。
手机在向PC发送第一视频帧时,手机可以记录第一视频帧的第一时间戳。
第一视频帧包括第一时间戳,第一时间戳用于唯一标记第一视频帧的时间。编码器在编码第一视频帧时,可以将第一时间戳添加在第一视频帧中。第一时间戳可以是具体的时刻。第一时间戳也可以是用来标识第一视频帧的时间标记。第一时间戳还可以对应第一视频帧采样时间、编码时间或者发送时间中的任一种。
例如,第一个第一视频帧的第一时间戳可以是00,在40ms之后,手机开始编码第二个第一视频帧,第二个第一视频帧的第一时间戳可以是40。即以第一个第一视频帧为基准,在第一个第一视频帧的第一时间戳的基础上增加手机开始编码第n个第一视频帧与手机开始编码第一个第一视频帧的时差,得到第n个第一视频帧的第一时间戳。又例如,第一个视频帧的第一时间戳可以是00,在40ms之后,手机完成编码第二个第一视频帧,第二个第一视频帧的第一时间戳可以是40。即以第一个第一视频帧为基准,在第一个第一视频帧的第一时间戳的基础上增加手机完成编码第n个第一视频帧与手机完成编码第一个第一视频帧的时差,得到第n个第一视频帧的第一时间戳。
第一视频帧还可以包括编号,第一个第一视频帧的编号可以是1,第二个第一视频帧的编号可以是2,依次类推,第n个第一视频帧的编号可以是n。
手机在向PC发送第一视频帧时,手机可以记录该第一视频帧的第一时间戳。或者,手机先记录第一视频帧的第一时间戳,之后手机在向PC发送第一视频帧。
示例性的,手机可以采用表1所示的方式记录第一时间戳。其中,t1为第一个第一视频帧的时间戳,t2为第二个第一视频帧的时间戳。表1可以是手机已发送的第一视频帧的时间戳列表。
表1
S402,响应于接收到第一视频帧,PC识别该第一视频帧是否满足送显条件。
PC可以将接收到的第一视频帧缓存的待解码队列。在解码该第一视频帧时可以从待解码队列获取,并识别该第一视频帧是否满足送显条件。该送显条件可以包括第一视频帧是否完整,和/或,第一视频帧的送解码时刻是否小于当前时刻。
手机在发送第一视频帧时,可以将一个第一视频帧分为多个数据包传输,保证通信的稳定性和可靠性。示例性的,手机可以将任意类型的视频帧分包传输,例如,手机将I帧视频帧、P帧视频帧、B帧视频帧中的一种或多种视频帧分包传输。例如,手机将视频帧1分为至少两个数据包。PC依次接收至少两个数据包。其中,最后一个数据包可以包括标识一,该标识一指示该数据包为视频帧1的最后一包数据包,即标记视频帧1的结束。PC将至少两个数据包组合,得到视频帧1。若传输过程中发生了丢包,在预设时长内,PC获取不到最后一个数据包,PC无法合成视频帧1即视频帧1不完整,PC可以丢弃该视频帧1即不解码不送显。
或者,PC在识别到待解码的第一视频帧的送解码时刻大于当前时刻,PC可以丢弃该第一视频帧即不解码不送显。具体的,待解码队列包括合成完成的视频帧及未合成完成的视频帧。针对待解码队列中合成完成的视频帧,PC可以识别该视频帧送解码时刻是否小于当前时刻。针对待解码队列中未合成完成的视频帧。PC可以在该视频帧合成完成之后,识别该视频帧送解码时刻是否小于当前时刻。送解码时刻为需要解码第一视频帧的时刻。若送解码时刻大于等于当前时刻,PC中的解码器才解码第一视频帧。若送解码时刻小于当前时刻,PC可以丢弃该第一视频帧即不解码不送显。
当前时刻可以是当前识别时刻,即PC执行识别该第一视频帧是否满足送显条件的时刻。
送解码时刻例如可以具体的时刻,例如可以是10月10日00时00分01秒0040毫秒。第一视频帧的送解码时刻可以根据第一视频帧的编号及解码顺序计算得到。
应理解,手机向PC发送第一视频帧时是按照编码顺序依次发送的,即依次发送视频帧1、视频帧2、…、视频帧n,其中n为编号。但是由于网络带宽的波动及视频帧大小等因素的影响,PC接收到视频帧的顺序可能与手机发送视频帧的顺序不一致。例如,PC可能会先接收到视频帧2,后接收到视频帧1。因此,PC可以根据第一视频帧的编号,识别视频帧的解码顺序。例如,视频帧1先解码送显,视频帧2在视频帧1之后解码送显。
在识别到第一视频帧的解码顺序之后,PC可以基于视频帧1的接收时刻及解码顺序,识别是否解码除视频帧1之外的其他视频帧。
示例性的,由于视频帧1为第一帧图像,PC得到视频帧1就立刻解码。或者,PC在合成视频帧1之后就解码并送显视频帧1。若视频帧1分包传输,视频帧1的送解码时刻可以为视频帧1的合成时刻。若视频帧1未分包传输,视频帧1的送解码时刻可以为视频帧1的接收时刻。假设,视频帧1的送解码时刻为T1,视频帧2的送解码时刻为T1加预设解码时长。其中,预设解码时长可以是提前设置在PC中。或者,预设解码时长可以为1/当前编码帧率。当前编码帧率为25帧/秒,则预设解码时长为可以为40毫秒。视频帧3的送解码时刻为T1加2倍预设解码时长。依次类推,视频帧n的送解码时刻为T1加(n-1)倍预设解码时长。其中,n可以为视频帧的编号。
对于视频帧2至视频帧n中的每一个视频帧,PC可以基于以下方式识别是否解码该视频帧:从缓存队列读取待解码视频帧,读取该视频帧的编号,基于上述计算方法计算该待解码视频帧的送解码时刻。比较送解码时刻与当前时刻,若送解码时刻大于等于当前时刻,说明该待解码视频帧未错过解码,PC解码该视频帧。若送解码时刻小于当前时刻,说明该待解码第一视频帧已错过解码,PC不解码该视频帧。
示例性的,PC识别到第一视频帧的送解码时刻为10月10日00时01分01秒,即PC需要在10月10日00时01分01秒解码该第一视频帧,若当前时刻是10月10日00时01分02秒,说明该第一视频帧已经错过解码,PC直接丢弃该第一视频帧。若当前时刻是10月10日00时00分09秒,说明该第一视频帧未错过解码,PC解码该第一视频帧。
可选的,PC在接收到视频帧1即第一帧图像时,就可以计算出后续视频帧2至视频帧n中的每一个视频帧的送解码时刻并保存。示例性的,PC可以包括视频帧编号及送解码时刻间的映射关系。对于视频帧2至视频帧n中的每一个第一视频帧,PC可以根据编号直接读取该视频帧的送解码时刻。之后,PC就可以将该视频帧的送解码时刻与当前读取时刻作比较,识别是否解码该视频帧。
可选的,PC在从待解码队列中读取一个第一视频帧时,可以识别待解码队列中全部第一视频帧是否满足送显条件。例如,将待解码队列中全部第一视频帧的送解码时刻一一与当前时刻做比较,丢弃不满足送显条件的第一视频帧。如此,可以不断丢弃不满足送显条件的第一视频帧。
S403,若第一视频帧满足送显条件,PC解码第一视频帧并送显。
PC可以调用解码器解码视频帧,得到第一图像。之后,PC可以将第一图像送显,这样PC的显示屏就可以显示第一图像。
S404,若第一视频帧不满足送显条件,PC丢弃第一视频帧。
其中,若第一视频帧不满足送显条件,PC不会解码该第一视频帧,而是丢弃该第一视频帧。
PC还可以指示手机满足送显条件的视频帧即PC侧已送显的视频帧。即在S403之后,PC向手机发送第一指示信息,第一指示信息指示已送显的第一视频帧。该第一指示信息可以是第一视频帧的编号和/或第一视频帧的第一时间戳。在图4中,以第一指示信息具体为已送显第一视频帧的第一时间戳
S405,PC向手机发送满足送显条件的第一视频帧的第一时间戳。
PC可以实时向手机发送满足送显条件的第一视频帧的第一时间戳。例如,PC在识别该第一视频帧满足送显条件之后就向手机发送该视频帧的第一时间戳。或者,PC可以向手机发送一段时间内满足送显条件的至少一个第一视频帧的第一时间戳。其中,满足送显条件的第一视频帧也就是PC侧已送显的第一视频帧。
S406,响应于接收到PC发送第一指示信息,手机为满足送显条件的第一视频帧的第一时间戳增加标识。示例性的,手机在已发送视频帧列表中,为第一指示信息所指示的满足送显条件的第一视频帧的第一时间戳增加标识。
该标识指示所标记的第一时间戳对应的第一视频帧满足送显条件,该第一视频帧被PC解码并送显。示例性的,手机接收到PC返回的第一时间戳t1,手机在已发送视频帧的时间戳列表为该第一时间戳t1增加标识。
在投屏过程中,手机与PC可以交互执行如图4所示的方法。手机不断向PC发送第一视频帧,PC接收并解码满足送条件的第一视频帧,之后,PC向手机指示已送显的第一视频帧,手机在已发送视频帧的时间戳列表中为该第一视频帧对应的第一时间戳增加标识。若第一视频帧不满足送显条件,PC不会向手机发送该第一视频帧的第一时间戳,这样,在手机侧已发送视频帧的时间戳列表中,该视频帧对应的第一时间戳不包括标识。
如此,手机可以得到如表2所示的时间戳列表。
表2
该时间戳列表包括第一时间戳和第二时间戳。第一时间戳为不包括标识的时间戳,第一时间戳指示该时间戳对应的第一视频帧未被PC送显。第二时间戳为包括标识的时间戳,第二时间戳指示该时间戳对应的第一视频帧被PC送显。
时间戳列表可以用于计算卡顿率。卡顿率是衡量视频播放质量的重要指标之一,卡顿低表示视频播放流畅,用户体验较好。卡顿可以理解为PC丢帧即未解码直接丢弃使得相邻显示帧之间的距离过大,导致用户可感受到或不可感受到的视频卡顿。也就是说,丢帧导致相邻帧之间的帧差过大而导致视频播放卡顿,该卡顿用户是可感受或肉眼不可感受到的。
S407,手机计算并保存卡顿率。
示例性的,如图5所示,手机可以计算单位时长内的卡顿率,单位时长可以是60s或者120s。其中,单位时长内的卡顿率等于单位时长内的总卡顿时长除以单位时长。
示例性的,卡顿率LF为T时间段内发生n次卡顿的总卡顿时长与T时间段的时长的比值,T时间段的时长可以是单位时长。
其中,Ti为单位时长内第i次卡顿的卡顿时长,i为整数。LF=T卡顿/单位时长。
以60s为例,手机可以统计从用户在手机侧发起投屏业务的时刻T起至T+60s时刻的卡顿时长1,并计算卡顿率1。手机可以统计从T+60s时刻至T+120s时刻的卡顿时长2,并计算卡顿率2。手机可以统计T+120s时刻至T+180s时刻的卡顿时长3,并计算卡顿率3。手机可以统计从T+(n-1)*60s时刻至T+n*60s时刻的卡顿时长n,并计算卡顿率n。手机可以从开始投屏起,依次计算并保存每个第一单位时长的卡顿率。
针对其中一个单位时长内的统计的时间戳(包括第一时间戳和第二时间戳),手机逐个识别第二时间戳对应的已送显视频帧与下一个第二时间戳对应已送显视频帧之间是否发生了卡顿,若发生卡顿则记录这次的卡顿时长。
例如,手机计算相邻两个第二时间戳之间的时间差,该时间差即为相邻两个已送显第一视频帧的帧差。若帧差满足第一条件且当前已送显视频帧与下一个已送显视频帧之间有被丢弃的视频帧,则确定这两个已送显视频帧之间发生了卡顿。若帧差满足第一条件但这两个已送显视频帧之间未丢帧,则视频处于低帧率状态。
为了更好的理解,首先结合图6介绍视频的低帧率状态及卡顿状态。
如图6中的6a所示,手机依次向PC发送别为帧1、帧2、帧3、帧4。手机统计帧1、帧2、帧3及帧4的时间戳。例如,帧1的时间戳为t1、帧2的时间戳为t2、帧3的时间戳为t3、帧4的时间戳为t4。
PC依次接收手机发送的视频帧,并将视频帧缓存在帧缓存队列。假设PC侧可以接收到手机发送的全部视频帧。其中,部分视频帧都有数据包被接收到,部分数据包在传输时丢失。受网络质量的影响,视频帧的部分数据包可能丢失导致视频帧无法被解码,或者,发生网络时延,PC主动丢弃错过送显的视频帧。这样,在传输完成之后,PC待送显帧的数量小于或等于手机发送的视频帧数量。也就是说,PC会丢弃因丢包不能解码的视频帧或丢弃因时延错过送显时间的视频帧,因此,待送显帧的数量是小于等于已接收到帧的数量。
因此,可以根据已接收视频帧的帧差与待送显帧间的帧差,判断是否发生了丢帧(未解码丢弃)。若发生丢帧且待送显帧间帧差满足第一条件,说明视频卡顿;若未发生丢帧即使待送显帧间的帧差满足第一条件,说明视频流在低帧率状态。可选的,手机可以根据手机已发送帧的帧差与PC送显帧的帧差,判断是否发生了丢帧(未解码丢弃)。可选的,手机可以根据手机已发送帧的帧差与PC已送显帧的帧差,判断是否发生了丢帧(未解码丢弃)。
具体的,可以基于PC侧待送显帧中第p帧与第q帧之间的帧差,以及已接收帧中的第p帧与第q帧之间的帧差,识别是否丢帧。若待送显帧中第p帧与第q帧之间的帧差与已接收帧中的第p帧与第q帧之间的帧差相同,则未发生丢帧。若待送显帧中第p帧与第q帧之间的帧差已接收帧中的第p帧与第q帧之间的帧差不同,说明已接收帧中的第p帧与第q帧之间的有部分帧未送解码送显,即发生了丢帧。
其中,p与q均大于1,p大于q,p-q≥1即第p帧在第q帧之前。或者,p与q均大于1,q大于p,q-p≥1即第q帧在第p帧之前。
如图6中的6a所示,低帧率状态示意图中,待送显帧中第3帧的时间戳t3-待送显帧中第2帧的时间戳t2=已接收帧中第3帧的时间戳t3-已接收帧中第2帧的时间戳t2,则未丢帧。即使送显帧中帧3的时间戳t3-送显帧中帧2的时间戳t2的帧差较大,例如大于现有的卡顿判断阈值,但由于未发生丢帧,因此视频处于低帧率状态。或者,待帧中第3帧的时间戳t3-待送显帧中第1帧的时间戳t1=已接收帧中第3帧的时间戳t3-已接收帧中第1帧的时间戳t1,说明视频未丢帧,视频处于低帧率状态。
如图6中的6a所示,卡顿示状态意图中,由于丢帧,待送显帧第3帧其实为接收帧中的第4帧,因此,待送显帧中第3帧的时间戳实际为t4。待送显帧中第3帧的时间戳t4-待送显帧中第2帧的时间戳t2≠已接收帧中第3帧的时间戳t3-已接收帧中第2帧的时间戳t2,则待送显视频帧3与待送显帧2之间丢帧。或者,待送显帧中第3帧的时间戳t4-待送显帧中第1帧的时间戳t1≠已接收帧中第3帧的时间戳t3-已收帧中第1帧的时间戳t1,则待送显视频帧3与待送显帧1之间丢帧。
示例性的,如图6中6b所示,手机比较已发送帧的第一时间戳,以及PC返回的已送显帧的第一时间戳间的差异,识别出PC是否丢帧。图6中6b左边示出的是PC不丢帧情况,在该图中,手机已发送视频帧均被PC送显。图6中6b右边示出的是PC丢帧情况,在该图中,手机已发送视频帧中有三帧被PC丢弃。
进一步的,相邻两个待送显视频帧间发生了丢帧,且相邻两个待送显视频帧间帧差满足第一条件时,手机识别这相邻两个待送显视频帧间发生了卡顿。手机可以统计相邻两个待送显视频帧间的卡顿时长。
第一条件可以包括第一条件1和/或第一条件2。
第一条件1可以是帧差大于S倍帧耗时。
其中,帧耗时可以是每一帧的耗时,也称帧间隔。帧耗时=1000/当前编码帧率(ms)。S的取值与当前编码帧率相关。例如,当前编码帧率为60帧/S,帧耗时=1000ms/60=16.67ms。即平均每帧间隔为16.67ms。当发生第一丢帧时,帧间隔是33ms。此时人眼不会感知到卡顿失真。当连续丢三帧时帧间隔大于66ms,此时丢帧才会让用户感受到卡顿。即S=4时,帧差大于4倍帧耗,手机识别发生卡顿。又例如,当前编码帧率为30帧/S,3000ms/60=33ms。即平均每帧间隔为33ms。当发生第一丢帧时,帧间隔是33ms。此时人眼不会感知到卡顿失真。当连续丢二帧时,即帧间隔大于66ms,此时丢帧才会让用户感受到卡顿。即S=2时,帧差大于2倍帧耗,手机识别发生卡顿。
手机保存有当前编码帧率与S取值之间的映射关系,手机可以从该映射关系中,基于在初始化时设置的当前编码帧率读取S的取值。
第一条件2是帧差大于当前第二时间戳对应的第一视频帧之前P个已送显的第一视频帧的帧差的均值的Q倍。例如,第一条件2可以是帧差大于当前第二时间戳对应的视频帧之前3个已送显的视频帧平均帧间隔的2倍。
示例性的,手机可以采用下文介绍的方法统计单位时长内的卡顿时长。手机读取单位时长内统计的时间戳。手机读取单位时长内第一个时间戳,识别该时间戳是否为第一时间戳。若该时间戳为第一时间戳,说明单位时长内第一帧未被送显,手机读取下一个时间戳直至读取到第一个第二时间戳。例如,手机读取下一个时间戳,手机识别该下一个时间戳依旧为第一时间戳,手机再向后读取时间戳,直至读取到第一个第二时间戳。或者,第一个时间戳就是第一个第二时间戳。
在读取到第一个第二时间戳之后,手机向后读取第二个第二时间戳。第一个第二时间戳与第二个时间戳之间包括至少一个第一时间戳。即第一个第二时间戳对应的第一视频帧与第二时间戳对应的第一视频帧之间包括手机发送至PC但PC未送显的第一视频帧,即PC发生了丢帧。手机计算第一个第二时间戳与第二个第二时间戳之间的帧差。帧差1=第二个第二时间戳-第一个第二时间戳。
例如,手机识别帧差1是否满足第一条件。当前第二时间戳为第一个第二时间戳时,其对应的视频帧之前没有P个已送显的第一视频帧,因此,若帧差1满足第一条件1,手机识别PC在播放第一个第二时间戳对应的第一视频帧及第二个第二时间戳对应的第一视频帧时发生了卡顿。手机记录帧差1。若帧差1不满足第一条件1,手机识别PC在播放第一个第二时间戳对应的第一视频帧,及第二个第二时间戳对应的第一视频帧时未发生了卡顿。手机不记录帧差1。
之后,手机基于第二个第二时间戳继续向后读取时间戳。如图6所示,第二个第二时间戳之后的时间戳为第一时间戳,手机向后读取直至读取到第三个第二时间戳。手机计算第二个第二时间戳与第三个第二时间戳之间的帧差2。帧差2=第三个第二时间戳-第二个第二时间戳。第二个第二时间戳之前没有3个第二时间戳,所以手机判断帧差2是否满足第一条件1。若帧差2满足第一条件1,手机保存帧差2。若帧差2不满足第一条件,手机不保存帧差2。
之后,手机基于第三个第二时间戳继续向后读取时间戳,若第三个第二时间戳之后的时间戳为第二时间戳例如第四个第二时间戳,则手机基于第四个第二时间戳,向后读取时间戳,直至读取到第五个第二时间戳。第四个第二时间戳与第五个第二时间戳之间至少包括一个第一时间戳。手机计算帧差3。帧差3=第五个第二时间戳-第四个第二时间戳。
第四个第二时间戳之前包括3个第二时间戳,手机可以计算这3个第二时间戳对应的第一视频帧的帧差的均值。具体的,均值=(帧差2+帧差1+第四个第二时间戳-第三个第二时间戳)/3。则,第一条件2为帧差3是否大于2倍均值。
手机判断帧差3是否满足第一条件1和/或第二条件2。若帧差3满足第一条件1和/或第二条件2,手机保存帧差3。若帧差2不满足第一条件1和/或第二条件2,手机不保存帧差3。
之后,手机将单位时间内满足第一条件1和/或第二条件2的帧差求和,得到单位时间内的卡顿时长。假设帧差1、帧差2、与帧差3都满足第一条件1和/或第二条件2,则总卡顿时长2=帧差+帧差2+与帧差3。
如此,手机可以计算每个单位时长内的总卡顿时长,手机使用总卡顿时长除以60S可以得到单位时长内的卡顿率。手机可以采用如表3所示的方式记录每个单位时长内的卡顿率。
表3
如此,手机在与PC投屏过程中,在计算QOE之前,手机就已经计算并保存至少一个单位时长内的卡顿率。在计算QOE时,手机可以直接读取卡顿率。或者,手机在计算QOE时计算卡顿率。
示例性的,如图7所示,S205可以包括S701-S702。
S701,若当前帧率大于或等于第一阈值,手机获取卡顿率。
在当前时刻,手机可以获取距离当前评估时刻最近时刻手机已计算的卡顿率。如图5所示,假设当前时刻为T+240s时刻,手机直接读取已计算的卡顿率4作为当前卡顿率。
或者,手机可以计算第一时刻至当前时刻的卡顿率。
第一时刻为当前评估时刻之前的时刻。第一时刻可以是当前时刻减预设时长对应的时刻。预设时长可以是60s或者120s。示例性的当前时刻为T当前,第一时刻为T当前之前60S的时刻,如T当前-60s的时刻。示例性的,当前时刻为T+240s时刻,第一时刻为T+180s。
第一时刻还可以是上一次计算卡顿率的时刻。如前文介绍,手机可以周期性计算QoE,因此,手机可以周期性计算卡顿率。因此,第一时刻可以是当一次手机计算卡顿率的时刻。手机可以计算从上一次计算卡顿率时刻至当前时刻,视频的卡顿率。
手机计算卡顿率的方法与手机计算单位时长卡顿率的方法一致。
示例性的,手机读取第一时刻至当前时刻所记录的第二时间戳,计算相邻两个第二时间戳之间的时间差得到相邻两个第一视频帧的帧差;其中,相邻邻两个第二时间戳之间间隔有至少一个第一时间戳。手机计算相邻两个第一视频帧的帧差中所有大于相邻两个第一视频帧中第一个第一视频帧与第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,相邻两个第一视频帧的帧差大于S倍帧耗时的帧差之和,得到总卡顿时长;其中,帧耗时为1与当前编码帧率的比值,P、Q、S均为大于1的整数。之后,手机计算总卡顿时长和第一时刻至当前时刻的总时长的比值,得到卡顿率。
S702,手机将第一传输参数中的各个参数输入第一QoE评估模型,得到第一QoE。
第一参数集包括当前帧率、当前码率、当前视频分辨率、PC的显示屏分辨率、以及卡顿率。手机将当前码率、当前帧率、当前视频分辨率,输入编码质量评估模型可以得到编码质量。将视频分辨及PC显示屏分辨率,输入接收端影响评估模型得到接收端影响值。手机将计算得到的卡顿率输入网络影响模型,得到网络影响值。
手机将这三个值相乘,得到第一QoE。第一QoE由第一评估模型计算得到,第一QoE可以反映视频在正常状态时的用户的实时观看体验。
进一步的,S206可以包括S703。
S703,若当前帧率小于第一阈值,手机将第二传输参数中的各个参数输入第二QoE评估模型,得到第二QoE。
第二传输参数包括当当前编码帧率、当前编码码率、当前视频分辨率、PC的显示屏分辨率。手机将得到的当前编码码率、当前编码帧率、当前视频分辨率,输入编码质量评估模型可以得到编码质量。将视频分辨及PC显示屏分辨率,输入接收端影响评估模型得到接收端影响值。
手机将这两个个值相乘,得到第二QoE。第二QoE由第二评估模型计算得到,第二QOD值可以反映视频在低帧率状态时的用户的观看体验。
前文结合附图介绍了方法实施例,上述方法实施例通过手机与PC间的各个软硬件模块间的交互实现,下面介绍手机与PC间各个软硬件模块间的交互过程。
手机的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明手机的软件结构。
图9是手机的软硬件架构示意图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,中间层,应用程序框架层,安卓运行时(Android runtime)(图中未示出),系统库(图中未示出),硬件抽象层(图中未示出)、内核层以及硬件。
应用程序层可以包括投屏APP、视频APP。中间层可以包括QoE计算模块、卡顿计算模块、传输模块。应用程序框架层可以包括编码器。该传输模块可以是图10中的传输模块1。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层可以包括Wi-Fi服务模块、蓝牙服务模块等各类用于通信的模块,编码器、输入系统、视频帧采集器。
Wi-Fi服务模块提供了一组接口,供应用程序控制或其他软件模块控制Wi-Fi。例如,应用程序控制或其他软件模块通过接口调用Wi-Fi服务模块实现发现设备、连接设备,建立Wi-Fi点对点P2P连接、建立Wi-Fi连接等操作。
输入系统用于监听手机的输入模块(如触摸屏驱动),并将输入模块输入的参数转换成可使用的事件,传递至上层的相关模块。
例如,本申请实施例中,响应于用户在互联APP中触发电子设备与其他电子设备建立Wi-Fi点对点P2P连接的第一操作,输入系统向互联APP发送指令。响应于该指令,互联APP调用接口触发Wi-Fi服务模块通过无线通信模块与PC中协商建立Wi-Fi点对点P2P连接。
Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包含触摸屏驱动、显示驱动,音频驱动等。硬件可以包括触摸屏、无线通信模块。
图10为手机与PC间各个软硬件模块间的交互流程示意图。PC包括传输模块2、抖动计算模块、解码器。以手机与PC建立同源投屏为例。手机中的传输模块1与PC中的传输模块2可以建立连接,该连接例如可以是WiFi点对点P2P连接。之后,手机与PC可以执行如下所示的方法。
S1001,响应于用户在手机的投屏APP上发起投屏,投屏APP调用接口为编码器设置初始编码参数。
其中,编码器的参数包括编码帧率、编码码率、以及当前视频分辨率。具体的,如图9所示,手机中的输入系统,响应于用户在投屏APP中触发手机与PC建立投屏业务,输入系统向投屏APP发送指令。响应于该指令,投屏APP调用接口设置编码器的参数。
S1002,投屏APP获取原始图像,并将原始图像发送至编码器。
投屏APP可以抓取手机显示屏上显示的图像(即原始图像),在抓取到原始图像之后,投屏APP可以向编码器发送该原始图像。如图9所示,投屏APP可以调用视频采集器抓取原始图像。视频帧采集器在抓取到原始图像之后,视频帧采集器将原始图像发送至编码器。
S1003,响应于接收到原始图像,编码器编码原始图像得到视频帧,编码器将视频帧发送至手机的传输模块1。
S1004,响应于接收到视频帧,传输模块1统计当前帧率及当前码率。
即传输模块可以在得到第一视频帧的时刻,实时计算当前帧率及当前码率,传输模块1计算当前帧率及当前码率的方法参照前文,此处不再赘述。
S1005,传输模块1记录将要发送至PC的视频帧的第一时间戳。
S1006,卡顿计算模块将第一时间戳存储在已发送帧列表中。
S1007,传输模块1通过WiFi点对点P2P链路将第一视频帧分为多个小数据包发送至PC的传输模块2。示例性的,如图9所示,传输模块1通过无线通信模块发送多个数据包。
S1008,PC中的传输模块2在接收到视频帧的第一个数据包之后,就将数据包上报至抖动计算模块。
S1009,抖动计算模块依次接收多个数据包,并在接收完成之后,合成视频帧。
S1010,抖动计算模块根据视频帧的编号计算视频帧的送解码时刻。
S1011,在合成视频帧之后,抖动计算模块识别视频帧送解码时刻是否大于当前时刻。
S1012,视频帧的送解码时刻大于等于当前时刻,抖动计算模块指示解码器解码视频帧并送显第一视频帧。
S1013,第一视频帧的送解码时刻小于当前时刻,抖动计算模块指示解码器丢弃视频帧,即不解码该视频帧。
S1014,抖动计算模块记录已送显的视频帧的第一时间戳。
S1015,抖动计算模块向传输模块2发送已送显的视频帧的第一时间戳。
S1016,传输模块2向传输模块1发送已送显的视频帧的第一时间戳。
如此,手机中的传输模块1可以不断向PC发送多个视频帧,PC中的解码器解码并送显满足送显条件的视频帧。之后,抖动计算模块可以向手机返回已送显的视频帧的第一时间戳。抖动计算模块可以定期将一段时间内已送显的视频帧的第一时间戳返回手机。或者,抖动计算模块在识别到视频帧满足送显条件之后,将该该视频帧的第一时间戳返回至手机。
S1017,响应于接收到第一时间戳,手机中的传输模块1将已送显的视频帧的第一时间戳发送至卡顿计算模块。如图9中,无线通信模块接收PC发送的已送显的视频帧的第一时间戳,并将已送显的视频帧的第一时间戳发送至传输模块1。传输模块1将已送显的视频帧的第一时间戳发送至卡顿计算模块。
S1018,卡顿计算模块在已发送视频帧列表中为该第一时间戳增加标识,得到时间戳列表。
其中,时间戳列表包括第一时间戳及第二时间戳。第一时间戳不包括标识,第二时间戳包括标识,该标识指示所标记的时间戳对应的视频帧被PC解码并送显。
示例性的,如图11所示,在手机侧,视频帧采集器(Video Capturer)可以采集原始图像。视频帧采集器将采集到的原始图像发送至丢帧控制器(Frame Dropper),丢帧控制器用于视频帧采集器与编码器之间,丢帧控制器用于控制帧率。编码器将原始图像编码为第一视频帧,并将第一视频帧发送至传输模块1,该传输模块1具体可以是实时传输协议发送器(Real-time Transport Protocol,RTP)发送器。RTP发送器记录第一时间戳。之后,RTP发送器将该视频帧通过网络发送至PC侧的RTP接收器。
在PC侧,RTP包接收器接收该第一视频帧,将第一视频帧发送至抖动计算模块。抖动计算模块识别第一视频帧满足送显条件,将第一视频帧的第一时间戳返回至手机侧的RTP包发送器。例如,抖动计算模块将满足送显条件的视频帧的第一时间戳封装为RTP控制协议包(RTP Control Protocol,RTCP)。RTP发送器将携带第一时间戳的RTCP包发送至手机侧的RTP包发送器。
之后,手机侧的RTP发送器比较已发送的第一时间戳,以及收到的第一时间戳。将已发送帧列表中,与接收到的第一时间戳一致的时间戳标记为第二时间戳。应理解,每个视频帧均包括第一时间戳,具体的,第一时间戳包含在第一视频帧的帧结构中。第一时间戳会伴随视频帧整个的传输过程,包括但不限于采集、编码、打包、组帧、解码、送显等过程。
S1019,卡顿计算模块计算当前卡顿率。
卡顿计算模块可以先计算多个单位时长内的总卡顿时长,在根据多个单位时长内的总卡顿时长计算卡顿率。卡顿计算模块计算卡顿率的方法参考前文介绍,此处不再赘述。
S1020,QoE计算模块获取当前帧率及卡顿率。具体的,QoE计算模块可以从卡顿计算模块获取卡顿率。QoE计算模块可以从传输模块1获取当前帧率及当前码率。
S1021,QoE计算模块识别当前帧率是否大于或等于第一阈值。
S1022,当前帧率大于或等于第一阈值,QoE计算模块采用当前帧率计算第一QoE。
S1023,当前帧率小于第一阈值,QoE计算模块采用当前编码帧率计算第二QoE。
本申请实施例提供一种电子设备,该电子设备包括:存储器、一个或多个处理器。该存储器用于存储计算机程序代码。该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中第一电子设备执行的各个功能或者步骤。该电子设备的结构可以参考图1所示的电子设备100的结构。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在上述电子设备(如图1所示的电子设备100)上运行时,使得该电子设备执行上述方法实施例中的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中的各个功能或者步骤。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路可用于向其它装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当指令被处理器执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种评估QoE的方法,其特征在于,所述方法应用于第一电子设备,所述方法包括:
所述第一电子设备与第二电子设备建立投屏连接;
在投屏过程中,所述第一电子设备获取向所述第二电子设备投屏的当前帧率,所述当前帧率小于或者等于编码器的当前编码帧率,所述当前编码帧率为当前所述第一电子设备向所述第二电子设备投屏的视频所能达到的最大帧率;
若所述当前帧率大于或等于第一阈值,所述第一电子设备使用第一传输参数计算第一用户体验质量QoE;其中,所述第一阈值小于所述当前编码帧率,所述第一传输参数包括所述当前帧率;
若所述当前帧率小于第一阈值,所述第一电子设备使用第二传输参数计算第二用户体验质量QoE;其中,所述第二传输参数包括所述当前编码帧率。
2.根据权利要求1所述的方法,其特征在于,所述第一传输参数还包括:所述第一电子设备向所述第二电子设备投屏的当前码率、所述第一电子设备向所述第二电子设备投屏的卡顿率。
3.根据权利要求2所述的方法,其特征在于,所述第一电子设备使用第一传输参数计算第一用户体验质量QoE,包括:
所述第一电子设备将所述第一传输参数输入第一用户体验质量QoE评估模型,得到所述第一用户体验质量QoE;
其中,所述第一用户体验质量QoE评估模型具备评估所述第一电子设备向所述第二电子设备传输的视频质量、所述第二电子设备播放的投屏质量、所述第一电子设备与所述第二电子设备的网络传输质量,得到用户体验质量QoE的能力;所述第一电子设备向所述第二电子设备传输的视频质量与所述当前帧率、所述当前码率和当前视频分辨率相关;所述第二电子设备播放的投屏质量与所述第二电子设备的显示屏分辨率和所述当前视频分辨率相关;所述网络传输质量与所述卡顿率相关。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
从开始投屏起,所述第一电子设备依次计算并保存每个第一单位时长的卡顿率;
所述第一电子设备执行如下方法,依次计算所述每个第一单位时长的卡顿率:
获取所述第一单位时长内的总卡顿时长;其中,所述总卡顿时长为:所述第一单位时长内,所述第二电子设备已送显的所有相邻两个第一视频帧的帧差之和;所述相邻两个第一视频帧中间隔有所述第一电子设备向所述第二电子设备传输、但未被所述第二电子设备送显的视频帧;并且,所述相邻两个第一视频帧的帧差大于所述相邻两个第一视频帧中第一个第一视频帧与所述第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,所述相邻两个第一视频帧的帧差大于S倍帧耗时,所述帧耗时为1000与所述当前编码帧率的比值,其中,P、Q、S均为大于1的整数;
所述第一电子设备计算所述总卡顿时长和所述第一单位时长的比值,得到所述第一单位时长的卡顿率;
其中,若所述当前帧率大于或等于第一阈值,在所述第一电子设备使用第一传输参数计算第一用户体验质量QoE之前,所述方法还包括:
所述第一电子设备读取距离当前时刻最近的第一单位时长的卡顿率,将所述距离当前时刻最近的第一单位时长的卡顿率作为所述第一电子设备向所述第二电子设备投屏的卡顿率。
5.根据权利要求4所述的方法,其特征在于,获取所述第一单位时长内的总卡顿时长,包括:
在所述投屏过程中,所述第一电子设备记录向所述第二电子设备发送的视频帧的第一时间戳;其中,所述第一时间戳记录对应视频帧的采样时间、编码时间或者发送时间中的任一种;
所述第一电子设备将所述第二电子设备已送显的视频帧对应的第一时间戳标记为第二时间戳;
所述第一电子设备读取所述第一单位时长内记录的第二时间戳,计算相邻两个第二时间戳之间的时间差得到所述相邻两个第一视频帧的帧差;其中,所述相邻两个第二时间戳之间间隔有至少一个第一时间戳;
计算所述相邻两个第一视频帧的帧差中所有大于所述相邻两个第一视频帧中第一个第一视频帧与所述第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,所述相邻两个第一视频帧的帧差大于S倍帧耗时的帧差之和,得到所述第一单位时长内的总卡顿时长;其中,所述帧耗时为1与所述当前编码帧率的比值,P、Q、S均为大于1的整数。
6.根据权利要求2或3所述的方法,其特征在于,若所述当前帧率大于或等于第一阈值,在所述第一电子设备使用第一传输参数计算第一用户体验质量QoE之前,所述方法还包括:
所述第一电子设备获取向所述第二电子设备投屏的所述当前码率;
所述第一电子设备获取第一时刻至当前时刻的总卡顿时长;其中,所述总卡顿时长为:所述第一时刻至所述当前时刻中,所述第二电子设备已送显的所有相邻两个第一视频帧的帧差之和;所述相邻两个第一视频帧中间隔有所述第一电子设备向所述第二电子设备传输、但未被所述第二电子设备送显的视频帧;并且,所述相邻两个第一视频帧的帧差大于所述相邻两个第一视频帧中第一个第一视频帧与所述第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,所述相邻两个第一视频帧的帧差大于S倍帧耗时,所述帧耗时为1000与所述当前编码帧率的比值,其中,P、Q、S均为大于1的整数;
所述第一电子设备计算所述总卡顿时长和所述第一时刻至所述当前时刻的总时长的比值,得到所述卡顿率。
7.根据权利要求6所述的方法,其特征在于,所述第一电子设备获取第一时刻至当前时刻的总卡顿时长,包括:
在所述投屏过程中,所述第一电子设备记录向所述第二电子设备发送的视频帧的第一时间戳;其中,所述第一时间戳记录对应视频帧的采样时间、编码时间或者发送时间中的任一种;
所述第一电子设备将所述第二电子设备已送显的视频帧对应的第一时间戳标记为第二时间戳;
所述第一电子设备读取所述第一时刻至所述当前时刻所记录的第二时间戳,计算相邻两个第二时间戳之间的时间差得到所述相邻两个第一视频帧的帧差;其中,所述相邻两个第二时间戳之间间隔有至少一个第一时间戳;
计算所述相邻两个第一视频帧的帧差中所有大于所述相邻两个第一视频帧中第一个第一视频帧与所述第一个第一视频帧之前连续的P个已送显第一视频帧中,P个两两相邻的第一视频帧的帧差均值的Q倍,和/或,所述相邻两个第一视频帧的帧差大于S倍帧耗时的帧差之和,得到所述第一时刻至当前时刻的总卡顿时长;其中,所述帧耗时为1与所述当前编码帧率的比值,P、Q、S均为大于1的整数。
8.根据权利要求1-3中任一项所述的方法,其特征在于,所述第二传输参数还包括:编码器的当前编码码率。
9.根据权利要求8所述的方法,其特征在于,所述第一电子设备使用第二传输参数计算第二用户体验质量QoE,包括:
所述第一电子设备将所述第二传输参数输入第二用户体验质量QoE评估模型,得到所述第二用户体验质量QoE;
其中,所述第二用户体验质量QoE评估模型具备评估所述第一电子设备向所述第二电子设备传输的视频质量、所述第二电子设备播放的投屏质量,得到用户体验质量QoE的能力;所述第一电子设备向所述第二电子设备传输的视频质量与所述当前编码帧率、所述当前编码码率和当前视频分辨率相关;所述第二电子设备播放的投屏质量与所述第二电子设备的显示屏分辨率和所述当前视频分辨率相关。
10.根据权利要求3所述的方法,其特征在于,所述第一用户体验质量QoE评估模型=f1·f2·f3;
其中,所述f1用于评估所述第一电子设备向所述第二电子设备传输的视频质量、所述f2用于评估所述第二电子设备播放的投屏质量、所述f3用于评估所述第一电子设备与所述第二电子设备的网络传输质量。
11.根据权利要求10所述的方法,其特征在于,
其中,bpp为每比特像素,bpp=BR/FR·VR;BR为所述当前码率、FR为所述当前帧率、VR为所述当前视频分辨率;PPD为每角度像素数;LF为所述卡顿率;
CodRh为所述当前视频分辨率中的视频水平像素数量;Rh为所述第二电子设备显示屏分辨率中的水平像素数量;Rv为所述第二电子设备显示屏分辨率中的竖直像素数量;v1、v2、v3、v4、v5、v6、v7、v8、v9、v10、v11、v12为系数;n为用户观看距离与显示屏高度的比值。
12.根据权利要求9所述的方法,其特征在于,所述第二用户体验质量QoE评估模型=f4·f2;
其中,所述f4用于评估所述第一电子设备向所述第二电子设备传输的视频质量、所述f2用于评估所述第二电子设备播放的投屏质量。
13.根据权利要求12所述的方法,其特征在于,
其中,bpp为每比特像素,bpp=BR1/FR1·VR;BR1为所述当前编码码率、FR1为所述当前编码帧率、VR为所述当前视频分辨率;PPD为每角度像素数;
CodRh为所述当前视频分辨率中的视频水平像素数量;Rh为所述第二电子设备显示屏分辨率中的水平像素数量;Rv为所述第二电子设备显示屏分辨率中的竖直像素数量;v1、v2、v3、v4、v5、v6、v7、v8、v9为系数;n为用户观看距离与显示屏高度的比值。
14.一种电子设备,其特征在于,所述电子设备包括:存储器、无线通信模块、显示屏、及一个或多个处理器;所述无线通信模块根据所述处理器的控制接收和发送数据,以实现所述电子设备与其他电子设备的间的通信;所述存储器、所述显示屏与所述处理器耦合;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-13中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-13中任一项所述的方法。
CN202311563070.3A 2023-11-22 2023-11-22 一种评估QoE的方法及电子设备 Active CN117294690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311563070.3A CN117294690B (zh) 2023-11-22 2023-11-22 一种评估QoE的方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311563070.3A CN117294690B (zh) 2023-11-22 2023-11-22 一种评估QoE的方法及电子设备

Publications (2)

Publication Number Publication Date
CN117294690A CN117294690A (zh) 2023-12-26
CN117294690B true CN117294690B (zh) 2024-04-12

Family

ID=89257482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311563070.3A Active CN117294690B (zh) 2023-11-22 2023-11-22 一种评估QoE的方法及电子设备

Country Status (1)

Country Link
CN (1) CN117294690B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143388A (zh) * 2011-04-22 2011-08-03 赛特斯网络科技(南京)有限责任公司 Iptv用户体验质量评估装置及评估方法
KR20140117237A (ko) * 2013-03-25 2014-10-07 삼성전자주식회사 복수 개의 단말기들 간의 화면 공유시 QoE(Quality of Experience)를 향상시키기 위한 방법, 장치 및 기록 매체
CN107105224A (zh) * 2017-03-24 2017-08-29 深圳信息职业技术学院 一种视频体验质量评估的方法、装置与系统
CN115237359A (zh) * 2021-04-22 2022-10-25 华为技术有限公司 一种投屏显示参数调节方法
CN116033158A (zh) * 2022-05-30 2023-04-28 荣耀终端有限公司 投屏方法和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143388A (zh) * 2011-04-22 2011-08-03 赛特斯网络科技(南京)有限责任公司 Iptv用户体验质量评估装置及评估方法
KR20140117237A (ko) * 2013-03-25 2014-10-07 삼성전자주식회사 복수 개의 단말기들 간의 화면 공유시 QoE(Quality of Experience)를 향상시키기 위한 방법, 장치 및 기록 매체
CN107105224A (zh) * 2017-03-24 2017-08-29 深圳信息职业技术学院 一种视频体验质量评估的方法、装置与系统
CN115237359A (zh) * 2021-04-22 2022-10-25 华为技术有限公司 一种投屏显示参数调节方法
CN116033158A (zh) * 2022-05-30 2023-04-28 荣耀终端有限公司 投屏方法和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
融合像素串匹配的AVS2全色度屏幕与混合内容视频编码算法;赵利平;周开伦;郭靖;蔡文婷;林涛;朱蓉;;计算机学报(11);全文 *

Also Published As

Publication number Publication date
CN117294690A (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
CN104641638B (zh) 使用虚拟帧内帧对视频内容进行编码的系统和方法
JP5859111B2 (ja) 対象オブジェクトベースの画像処理
CN113542795B (zh) 视频处理方法、装置、电子设备及计算机可读存储介质
Shi et al. Freedom: Fast recovery enhanced vr delivery over mobile networks
RU2624641C2 (ru) Способ и устройство для регулировки качества видео на основе сетевой среды
CN103428483A (zh) 一种媒体数据处理方法及设备
CN105247875A (zh) 分发控制系统和分发系统
CN110996122A (zh) 视频帧传输方法、装置、计算机设备及存储介质
CN117294690B (zh) 一种评估QoE的方法及电子设备
CN116708753B (zh) 预览卡顿原因的确定方法、设备及存储介质
CN116055802B (zh) 图像帧处理方法及电子设备
CN109565562A (zh) 多相机系统、相机、相机的处理方法、确认装置以及确认装置的处理方法
EP3661216A1 (en) A method and apparatus for loop-playing video content
CN112104840B (zh) 视频采集方法及移动基带工作站
CN115802148B (zh) 一种获取图像的方法及电子设备
CN117278538B (zh) 调整编码器的参数的方法及电子设备
CN105187688A (zh) 一种对手机采集的实时视频和音频进行同步的方法及系统
WO2022193141A1 (zh) 多媒体文件的播放方法及相关装置
CN114449200B (zh) 音视频通话方法、装置及终端设备
WO2021132574A1 (ja) 送信装置及び受信装置
CN110798700B (zh) 视频处理方法、视频处理装置、存储介质与电子设备
CN103974087A (zh) 视频图像文件压缩系统、客户端及方法
US10826838B2 (en) Synchronized jitter buffers to handle codec switches
CN115550688A (zh) 视频码流的处理方法、介质、程序产品和电子设备
KR100899666B1 (ko) 분산 다중 스트리밍 전송 장치

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