视频通信中的视频标注技术转让专利
申请号 : CN201910496475.7
文献号 : CN110620892B
文献日 : 2021-07-02
发明人 : 钟声 , 冯越
申请人 : 达音网络科技(上海)有限公司
摘要 :
权利要求 :
1.一种在视频通信中标注视频的方法,包括:设备一通过网络将用户甲的视频流一发送至用户乙的设备二,其中用户乙与用户甲在进行视频通信;
通过网络接收从设备二处发送的用户乙的视频流二;
处理器使用视频流二获知用户乙对视频流一所采取的反应,其中用户乙对视频流一所采取的反应是通过视频流二中解码得到的信息中得出来的;并且将用户乙的反应与视频流一相关联;
根据用户乙对视频流一所采取的反应,在设备一处更新用于对视频流一进行编码的参数;
其中该参数包括比特率、帧速率、分辨率和前向纠错率中至少之一。
2.根据权利要求1所述的方法,其中是由设备一和/或在网络上与设备一相连的服务器来获得用户乙对视频流一所采取的反应。
3.根据权利要求1所述的方法,其中获知用户乙对视频流一所采取的反应包括:通过分析下列两者至少其中之一来获知用户乙的反应:从视频流二的解码图像中选择的解码图像和从视频流二中解码的音频。
4. 根据权利要求3所述的方法,其中将用户乙的反应与视频流一相关联包括:根据与解码图像相关联的时间戳一,找到与时间戳二相关联的视频流一的其中一段,其中时间戳一与时间戳二之间的时间差小于预定阈值;以及将用户乙的反应与视频流一的这一段相关联。
5.根据权利要求3所述的方法,其中根据用户乙的面部表情、用户乙的情绪、用户乙的姿势、用户乙的语音特征以及用户乙的话语含义等至少其中之一来获知用户乙的反应,通过分析解码的图像来获知面部表情、情绪和姿势,并且通过分析音频来获知语音特征和话语的语义。
6.根据权利要求5所述的方法,其中采用卷积神经网络技术、k近邻技术、支持向量机技术等其中之一从视频流二的解码图像中获知用户乙的面部表情和情绪;
在与视频流二相关联的音频中获知用户乙的语音特征;以及采用自动语音识别技术从音频中获知用户乙的话语的语义。
7.一台用于在视频通信中标注视频的设备,包括一个处理器;以及
一个耦合至处理器的存储器,配置存储器为可存储指令,处理器执行指令后可运行处理操作以用于:
设备一通过网络将用户甲的视频流一发送至用户乙的设备二,其中用户乙与用户甲在进行视频通信;
通过网络接收从设备二处发送的用户乙的视频流二;
通过视频流二来获知用户乙对视频流一所采取的反应,其中用户乙对视频流一所采取的反应是通过视频流二中解码得到的信息中得出来的;并且将用户乙的反应与视频流一相关联;
根据用户乙对视频流一所采取的反应,在设备一处更新用于对视频流一进行编码的参数,
其中该参数包括比特率、帧速率、分辨率和前向纠错率中至少之一。
8.根据权利要求7所述的设备,其中存储器中包含由处理器执行的操作指令以获知用户乙对视频流一所采取的反应还包含由处理器执行的操作指令以用于:使用视频流二来获知用户乙对视频流一中的多段内容分别采取的各个反应。
9.根据权利要求7所述的设备,其中存储器中包含由处理器执行的操作指令以获知用户乙对视频流一所采取的反应还包含由处理器执行的操作指令以用于:通过分析从视频流二的解码图像中选择的解码图像和/或从视频流二中解码的音频来获知用户乙的反应。
10.根据权利要求9所述的设备,其中存储器中包含由处理器执行的操作指令以获知用户乙对视频流一所采取的反应还包含由处理器执行的操作指令以用于:根据与解码图像相关联的时间戳一,找到与时间戳二相关联的视频流一的其中一段,其中时间戳一与时间戳二之间的时间差小于预定阈值;以及将用户乙的反应与视频流一的这一段相关联。
11.根据权利要求9所述的设备,其中根据用户乙的面部表情、用户乙的情绪、用户乙的姿势、用户乙的语音特征以及用户乙的话语含义等至少其中之一来获知用户乙的反应,通过分析解码图像来获知面部表情、情绪和姿势,并且通过分析音频来获知语音特征和话语的语义。
12.根据权利要求11所述的设备,其中采用卷积神经网络技术、k近邻技术、支持向量机技术等其中之一从视频流二的解码图像中获知用户乙的面部表情和情绪;
在与视频流二相关联的音频中获知用户乙的语音特征;以及采用自动语音识别技术从音频中获知用户乙的话语的语义。
13.一个用于在视频通信中标注视频的系统,包括:网络中的设备一,设备一与用户甲相关联;
网络中的设备二,设备二与用户乙相关联,并且用户乙与用户甲在进行视频通信;以及一台网络中的服务器,与设备一相连接,服务器包括一个处理器和一个耦合到处理器的存储器,配置存储器存储操作指令,当由处理器执行指令时可用于:设备一通过网络向用户乙的设备二发送用户甲的视频流一;
通过网络接收从用户乙的设备二发送的视频流二;
通过视频流二来获知用户乙对视频流一所采取的反应,其中用户乙对视频流一所采取的反应是通过视频流二中解码得到的信息中得出来的;并且将用户乙的反应与视频流一的这一段相关联;
根据用户乙对视频流一所采取的反应,在设备一处更新用于对视频流一进行编码的参数,
其中该参数包括比特率、帧速率、分辨率和前向纠错率中至少之一。
14.根据权利要求13所述的系统,其中存储器中包含由处理器执行的操作指令以获知用户乙对视频流一所采取的反应还包含由处理器执行的操作指令以用于:根据视频流二来获知用户乙对视频流一的多段内容分别采取的各个反应。
15.根据权利要求13所述的系统,其中存储器中包含由处理器执行的操作指令以获知用户乙对视频流一所采取的反应还包含由处理器执行的操作指令以用于:通过分析从视频流二的解码图像中选择的解码图像和/或从视频流二中解码的音频来获知用户乙的反应,其中
根据用户乙的面部表情、用户乙的情绪、用户乙的姿势、用户乙的语音特征以及用户乙的话语含义等至少其中之一来获知用户乙的反应,通过分析解码的图像来获知面部表情、情绪和姿势,并且通过分析音频来获知语音特征和话语的语义。
16.根据权利要求15所述的系统,其中存储器中包含由处理器执行的操作指令以获知用户乙对视频流一所采取的反应还包含由处理器执行的操作指令以用于:根据与解码图像相关联的时间戳一,找到与时间戳二相关联的视频流一中的其中一段,其中时间戳一与时间戳二之间的时间差小于预定阈值;以及将用户乙的反应与视频流一的这一段相关联。
17.根据权利要求15所述的系统,其中采用卷积神经网络技术、k近邻技术、支持向量机技术等其中之一从视频流二的解码图像中获知用户乙的面部表情和情绪;
在与视频流二相关联的音频中获知用户乙的语音特征;以及将用户乙的反应与视频流一的这一段相关联。
说明书 :
视频通信中的视频标注技术
技术领域
背景技术
用一些基于客观测量的方法可以评估和控制视频质量,该客观测量可包括峰值信噪比
(PSNR)和结构相似性(SSIM)等。
下,接收的数据包可能包含损坏的数据而无法在接收器处恢复。在数据包丢失或损坏的情
况下,接收器可能无法完全解码相关视频。影响视频质量的另一个因素是网络带宽不稳定
(或“网络拥塞”)。现代视频编码器可以根据网络条件的变化调整编码方案和参数(如视频
编码比特率、帧速率和/或帧分辨率),这可能导致视频质量上下波动。实时多媒体通信系统
中发生的所有这些情况都会影响用户体验。
发明内容
信;通过网络接收从设备二发送的用户乙的视频流二;处理器通过视频流二获知用户乙对
视频流一所采取的反应;并将用户乙的反应与视频流一相关联。
以从用户设备一将用户甲的视频流一通过网络发送到用户乙的设备二,其中用户乙与用户
甲在进行视频通信;通过网络接收从设备二发送的用户乙的视频流二;通过视频流二来获
知用户乙对视频流一所采取的反应;并将用户乙的反应与视频流一相关联。
与用户甲在进行视频通信;以及网络中与设备一相连的服务器。该服务器包括处理器和耦
合到处理器的存储器。存储器被配置为可存储指令,当处理器执行该指令时,可从用户设备
一将用户甲的视频流一通过网络发送至与用户甲进行视频通信的用户乙的用户设备二;通
过网络接收从用户设备二处发送的用户乙的视频流二;使用视频流二获知用户乙对视频流
一所采取的反应;并将用户乙的反应与视频流一相关联。
附图说明
部分的尺寸进行任意扩大或缩小。
具体实施方式
序列的任何多媒体数据。通常,媒体数据可以以其原始形式存储或者转换视频流。视频流可
包括时间序列数据(例如:包括多个音频样本的音频序列或者包括多个图像或帧的视频序
列)、视频流的特征提取的残差(例如:视频序列中当前帧经帧间预测之后的残差图像)或者
变换域中视频流的等效量(例如:变换和/或量化系数)。可将视频流编码(或“压缩”)成视频
流(如视频比特流)以便在网络中传输。压缩视频流可以通过网络(如互联网)以数据包(或
简称为“包”)的形式进行传输。
测”(或“帧内预测”)和“图像帧间预测”(或“帧间预测”)。在帧间预测中,在至少两个不同帧
之间可以执行运动估计(ME)和运动补偿(MC)。使用帧内预测编码的帧可以被称为“I帧”,而
使用帧间预测编码的帧可以被称为“P帧”。在解码时,可以在不参考其他帧的情况下解码I
帧。解码P帧则可以将其他帧作为参考(称为“参考帧”或“参考帧”)。参考帧可以是I帧或其
他P帧。编码器可以为被编码的图像(称为“当前帧”)确定预测模式。当图像被解码时(也称
为“当前帧”),解码器可以根据从当前帧的报头处接收和提取的信息来确定使用哪种预测
模式。关于视频编码和解码的过程详见图3‑4的相关描述。
量如延迟时间、丢包率、分辨率变化、帧速率变化或比特率变化等。但是这些客观测量通常
并不能反映主观用户的观看体验。此外,如果仅基于此类客观测量来调整视频编码和传输
策略可能反而会在某些情况下加剧问题。例如,减轻网络阻塞的一种解决方案是重新发送
被丢失的关键帧(如I帧)数据包。但是,重新发送丢失的数据包可能会导致网络流量增加,
反而可能会进一步加剧网络堵塞。
在相互通信的用户之间的用户观看体验的方法来评估视频质量并改进视频编码和传输策
略有利于改善用户体验。这其中有一些方法采用对大量的视频数据进行标注或注释来反映
用户的反馈。例如,此类标注(也称为“标签”或“注释”)可以包括“快乐”、“惊喜”、“悲伤”、
“厌恶”,、愤怒”等等。又如,此类标注也可以包括用户的面部表情。标注可以代表对视频质
量的正面、负面或中性评价。根据这样的带标注的视频数据,可以训练视频编码器(如使用
机器学习技术)自动根据视频质量的主观和客观测量来调整编码参数。
整个视频通信的整体评估,并不能实时反映用户对视频中各个不同部分的评估。整体评估
对于评估视频质量的上下波动作用有限。另外,让用户提供评级是在视频通信结束之后的
额外交互,并非所有用户都愿意主动参与。因此,收集的用户评级并不能准确地反映视频质
量。
据可被称为“演示视频数据”。演示视频数据可以用作在监督学习技术(如卷积神经网络
(CNN)技术)中的真值标签。经训练的模型可用于在实时视频通信中对反应做出判断。然而,
演示视频数据可能会不准确,因为设计的模拟情况可能无法反映真实的反应或发生此类反
应的现实场景。最好能使用在实际场景的视频中所获得的标注,这可被称为“自然视频数
据”。
频流,将用户对于视频流的质量所作的反应进行分析和识别。在基于网络的实时视频通信
系统中,可以对用户甲的视频流一进行编码并将其发送给用户乙,然后可以对用户乙的视
频流二进行编码并将其发送回用户甲。用户甲和用户乙可以彼此进行视频或声频交互。当
发生网络抖动时,视频流一和/或视频流二的视频质量可能产生波动。用户甲和用户乙可以
对这种视频质量波动产生自然反应。当视频质量恶化或改善时,上述反应可以包括面部表
情(如皱眉或微笑)、姿势(如点头或耸肩)、语音特征(如讲话的方式、声调提高或语气放
缓)、或话语中的语义(如口头抱怨或口头表扬)。通过对这些反应进行分析,还可以根据反
应推断的用户的情绪,如高兴、冷静、关注、惊讶、沮丧、悲伤、厌恶或愤怒等。例如,当用户甲
接收到视频流二时,在视频流二的图像和音频中可以包括用户乙对于视频流一的视频质量
所作的反应。
注到视频流一中,从而得到自然视频数据。在标注之前,可将用户乙的反应在时间上与其所
针对的视频流一的那部分视频同步,以保证准确。标注的视频数据可用于在用户甲和用户
乙之间进行的实时视频通信中调整视频编码和传输方案。也可以存储带标注的视频数据以
供之后用于训练视频编码器。
算机、超级计算机、通用计算机、特殊用途或专用计算机、集成计算机、数据库计算机、远程
服务器计算机、个人计算机、笔记本电脑、平板电脑、手机、个人数据助理(PDA)、可穿戴计算
设备等一台或多台计算机的任何配置,或由计算服务提供商提供的计算服务(例如web主机
或云服务)来实现。在一些实现中,计算设备可以由多组计算机的形式来实现,各个计算设
备可位于不同地理位置,并通过网络等进行彼此间的通信。虽然某些操作可以由多台计算
机共同完成,但在一些实现中,不同的计算机会被分配不同的操作。在一些实现中,系统100
可以使用具有计算机程序的通用计算机或处理器来实现,在运行计算机程序时可执行本文
描述的相应的方法、算法和/或指令。另外,也可以使用专用计算机或处理器,配备专用硬件
设备用以执行本文描述的任何方法、算法或指令。
以包括中央处理器(如中央处理器CPU)、图形处理器(如图形处理器GPU)、知识产权(IP)内
核、专用集成电路(ASIC)、可编程逻辑阵列、光处理器、可编程逻辑控制器、微控制器、微处
理器、数字信号处理器等一个或多个的任意组合或任何其他适用的电路。处理器108还可分
布在多个机器或设备(每个机器或设备带有一个或多个处理器)上,这些机器或设备可以直
接耦合或通过网络(如局域网)实现互联。存储器110可以是能够存储代码和数据的任何暂
时或非暂时性的设备,这些代码和数据可由处理器(通过诸如总线)访问。本文所述的存储
器110可以是随机存取存储器设备(RAM)、只读存储器设备(ROM)、光盘或磁盘、硬盘驱动器、
固态驱动器,闪存驱动器、安全数字(SD)卡、记忆棒、紧凑型闪存(CF)卡或任何合适类型的
存储设备的任意组合。在一些实现中,存储器110也可以分布在多个机器或设备上,诸如基
于网络的存储器或基于云的存储器。存储器110可以包括数据(未示出)、操作系统(未示出)
和应用程序(未示出)。数据可以是用于处理的任何数据(如音频流、视频流或多媒体流),应
用程序可以是允许处理器108执行指令以生成控制信号的程序,这些控制信号可用于执行
下文描述的方法中所述的各项功能。
间。辅助存储设备可以是任何合适的非暂时性计算机可读介质形式的存储设备,如存储卡、
硬盘驱动器、固态驱动器,闪存驱动器、光驱等。此外,辅助存储设备既可以是设备102的组
件,也可以是通过网络访问的共享设备。在一些实现中,存储器110中的应用程序可以全部
或部分地存储在辅助存储设备中,并根据处理需要加载到存储器110中。
备102的显示器,并被配置为可以显示图形数据的图像。I/O设备112可以是向用户传输视
觉、听觉或触觉信号的任何设备,如显示器、触敏设备(例如触摸屏)、扬声器、耳机、发光二
极管(LED)指示灯或振动电机等。I/O设备112也可以是任何类型的需要或不需要用户干预
的输入设备,如键盘、数字小键盘、鼠标、轨迹球、麦克风、触敏设备(如触摸屏幕)、传感器或
手势感应输入设备。如果I/O设备112是显示器,则其可以是液晶显示器(LCD)、阴极射线管
(CRT)或能够向个人提供可见输出的任何其他输出设备。在一些情况下,输出设备也可以作
为输入设备,例如接收触摸式输入的触摸屏显示器。
也可包含使用兼容协议的无线发射器或接收器,用于将信号从设备102发送到另一设备,或
者将来自另一设备的信号接收到设备102。
合适类型的一个或多个通信网络,包括但不限于使用蓝牙通信、红外通信、近场通信(NFC)、
无线网络、有线网络、局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)、蜂窝数据网络和互
联网。通信设备114可以通过多种方式实现,诸如应答器或收发器设备、调制解调器、路由
器、网关、电路、芯片、有线网络适配器、无线网络适配器、蓝牙适配器、红外适配器、NFC适配
器、蜂窝网络芯片,或耦合到设备102的任何组合的任何适当类型的设备,以提供与网络106
的通信功能。
行多媒体传输的不同功能。例如,设备102可以用作解码器设备(简称为“解码器”),而设备
104可以用作编码器设备(简称为“编码器),反之亦然。设备102可通过网络106与设备104通
信。设备102和104还可与连接到网络106的其他设备(未示出)进行通信。
的服务器可被称为“边缘服务器”。如图1所示,服务器124是将设备102直接连接到网络106
(如互联网)的边缘服务器,服务器126是将设备104直接连接到网络106的边缘服务器。网络
106可以包括多个边缘服务器和非边缘服务器。应注意的是,边缘服务器可以在网络106中
彼此直接或间接连接。例如,服务器124和126可以彼此间接相接(即在网络106中至少有一
个第三方服务器连接在服务器124和126之间)。还应注意的是,多个用户终端设备或专用网
络可以连接到同一台边缘服务器。例如,服务器124可以是直接连接到设备102和设备104的
边缘服务器。
可编程逻辑控制器、微代码、固件、微控制器、服务器、微处理器、数字信号处理器等或任何
其他适用的电路。在本公开中,“处理器”一词应理解为包含任何上述内容中的一项或多项
的组合。“信号”、“数据”和“信息”等术语可互换使用。此外,设备102和104的部分功能并不
必以相同的方式来实现。
编解码设备可以包括更多或更少的部件、组件、硬件或软件模块,用于实现编码和解码相关
或其他各项功能。
时间线的一系列帧,其中包括帧202‑208。例如帧208可以是当前帧。如果使用帧间预测对帧
208进行编码或解码(即帧208是P帧),则其参考帧是在时间上早于该帧的某一帧。也就是
说,作为P帧的帧208的参考帧可以是帧206、204、202,或者在时间线上先于帧208的任何帧。
一些实现中,每个处理单元可以再进一步划分为一个或多个处理子单元,用于执行运动预
估和运动补偿,根据不同的编码标准采用不同的名称,其中处理子单元可被称为“预测块”
或“编码单元”(CU)。处理单元和子单元可以是任何尺寸,例如8×8、8×16、16×16、32×32、
64×64,或适合于编码区域的任何形状的任何尺寸。通常,一个区域包括的细节越多,处理
单元和子单元的尺寸就越小。为便于解释而不引起歧义,处理单元和子单元在下文中均称
为“块”,除非另有明确说明。例如在图2中,帧206显示有4×4块,其中包括块210。块的边界
以虚线表示。
这样的区域或分区可被称为“切片”、“层片”或某一视频编码标准所特定的其他名称。为便
于解释而不引起歧义,这些区域或分区在下文中称为“切片”,除非另有明确说明。例如,帧
206可以被分成四个切片212‑218,每个切片中有四个块。切片212‑218之间可以具有边界
220‑226,以实线表示。
编码。例如,可以并行处理切片212‑218,这可以提高视频编码的效率。类似地,也可以在解
码器处对多个切片并行解码。I帧的切片可被称为I切片,而P帧的切片可以被称为P切片。
出)。又如,切片可包括以非连续方式组合的块,例如两个或多个非连续块组。再如,切片一
的一部分可以包含在切片二的一部分之内。再例如,切片一也可以被切片二包围(如切片一
可以在切片二之内)。
形式的切片。在一些实现中,视频流中切片的划分模式可以随着图像的更迭而改变。
块。例如,流程300可以被实现为包含在编码器(如图1中的设备104)中的模块。流程300包括
操作304‑308以从视频流302产生压缩视频流314作为输出。在实现图5所述的编码中的视频
标注技术时,还可以对示例编码流程300(整个过程或其中一些阶段)做进一步修改。在一些
实现中,实现视频标注技术编码也可能并不需要流程300。
如,视频流302可以是视频流并且包括一系列视频图像(如当前帧)。
向路径中将视频流302输出为压缩视频流314,如图3中的实线连接线所示:帧内/帧间预测
阶段304、变换和/或量化阶段306以及熵编码阶段308。
当前块。先前编码的帧可以包括例如先前编码和重建的图像(也称为参考帧)。例如,可以使
用当前帧和一个或多个参考帧来执行运动预估和运动补偿以生成运动数据。然后可再对残
差数据(即预测块和当前块之间的差)执行变换、量化和/或熵编码操作。
可被熵编码,这些信息包括:预测模式、变换类型、量化级别和环路滤波器参数(如滤波器强
度)等。
310和重建阶段312。阶段310和312可确保编码器(如图1中的设备104)和解码器(如图1中的
设备102)使用相同的参考数据进行预测。在一些实现中,可以在重建阶段312之后附加应用
一个环路滤波器(未示出);而在另一些实现中,也可以在不使用环路滤波器的情况下使用
重建的图像。重建可以类似于解码流程中的重建阶段(如图4中的阶段410)。
一些实现中,量化或变换可以是非必需的。比如说,基于非变换的编码器可以在不进行变换
的情况下量化残差数据。
由解码器(如设备102)实现为包含在系统100中的软件或硬件模块。解码器可由存储在存储
器(如存储器110)中的程序代码实现。程序代码可包括计算机可读指令,当由处理器(如处
理器108)执行时使得解码器以图4中描述的方式解码压缩视频流。解码器还可以实现为包
含在设备(如设备102)中的专用硬件。例如,解码器可以是硬件解码器。流程400包括操作
404‑410,用于将压缩视频流402重建为视频流412。此外,在使用图6中所述的视频标注方法
进行解码时,可以对示例流程400的整个过程或部分阶段进行修改。
段406、帧内/帧间预测阶段408和重建阶段410。重建的图像可以用作未来的参考数据,用于
处理当前帧之后的后续帧。重建的图像不仅可在媒体流412中输出,还可以存储在缓冲器中
(如图1中的存储器110)以用作未来的参考数据。在一些实现中,可以使用环路滤波器(未示
出)对重建的图像进行滤波。也可采用流程400的其他结构变体对压缩视频流402进行解压。
(如服务器124)中的软件模块。又如,流程500可以实现为存储在存储器110中的软件模块,
作为可由终端用户设备(如设备102)的处理器108执行的指令和/或数据。再如,流程500也
可以在硬件中实现为专用芯片,可存储由专用芯片执行的指令。例如,该专用芯片可包含特
定的硬件加速模块。
一可以是设备102,设备二可以是设备104。设备一可以包括用于编码视频流一的编码器一。
设备二可以包括用于解码视频流一的解码器二。
中可以包括用于判断用户乙针对视频一所做出的反应的信息(如针对视频一的视频质量)。
服务器(如服务器124)来判断。对该反应做出判断的具体内容详见与图6和图7相关的描述。
(如包括用户乙的头像和/或身体某部分的图像或包括用户乙的语音的音频)。当视频流一
在设备二的解码器二处出现视频的质量波动情况(如视频质量得到改善或恶化)时,比如由
于网络状况改变(如网络带宽的增加或减少),用户乙可以对视频流一做出反应(如正面、负
面或中性反应)。根据解码图像中所包括的用户乙的信息,可以从视频流二的解码图像找到
与视频流一的图像相对应的图像。通过分析该解码图像可以获知用户乙的反应。
(如面部表情或姿势)。又如,通过对解码音频进行分析,可以从解码的音频中获知用户乙的
言语反应(如语音的特征)。通过对视觉和言语反应进行分析,可以推断出用户乙的行为反
应(如姿势、面部表情、言语表达或语音特征)和/或情绪反应(如情绪或心情)。关于如何获
得视觉、言语和推断反应的内容详见图8和图9的相关描述。
124)发送的视频流一相关联。关于反应的更多内容详见图6和图7的相关描述。
个部分相关联,并在此实现根据主观测量对视频质量进行实时监视和测量。
段显示在设备二的屏幕上时,用户乙可以对这一显示做出反应。可以由设备二的时钟生成
时间戳一并且与视频流二的某一帧相关联。该帧可指示用户乙有此反应。换句话说,时间戳
一反映的是用户乙在看到视频流一的解码部分之后作出反应的时间。
是视频流一的其中一段内容被解码并显示给用户乙的时间。在一些情况下,可以假设用户
乙需花费一小段时间(称为“反应时间”)来发现视频质量的改变(称为“非即时反应假设”)。
在非即时反应假设下,时间戳一可以与视频流二的某一帧相关联,该时间戳反映用户乙反
应的时间,该时间是在视频一显示给用户乙后再加上反应时间。反应时间可以是一个预定
的时间间隔。
的服务器(如直接连接到设备一的边缘服务器)。
与视频流一的该部分相关联。在一些实现中,时间戳二可以是包含在视频流一的其中一段
中的某一帧(如第一帧、中间帧或最后一帧)的时间戳。在一些实现中,时间戳二可以是包括
在视频流一的该部分中的多帧图像(如第一帧和最后一帧)的时间戳的平均值。在一些实现
中,时间戳二可以被编码到视频流一中并被发送。在一些实现中,如果时间戳二未被编码到
视频流一中,则可以通过带外消息将其发送至设备二或连接(如直接连接)到设备二的服务
器(如边缘服务器)。
(称为“即时传输假设”)。在即时传输假设下,可以假设设备一的编码器一的时钟与设备二
的解码器二的时钟是同步的。换句话说,假设在设备一处对视频流一的其中一段进行编码
的时间小于一个预订的阈值,或与视频流一的该段在设备二上解码和显示的时间相同。
流二)或接收(如从与视频流二相关联的带外消息中接收)时间戳一时,可以对视频流一进
行搜索来找到包含与时间戳二对应的时间戳(即小于预定阈值或与时间戳二相同)的那一
个部分。换句话说,如果已知视频流一的其中一段包含一个与时间戳二对应的时间戳一(即
小于预定阈值或与之相同),则用户乙的反应可以与视频流一的这一段相关联。也就是说,
表明用户乙的反应的一个或多个标注可以与视频流一的这一段相关联。
频流一进行搜索,找到其中的一段所包含的时间戳与时间戳二相差在一定的时间差值范围
之内。时间范围可以是预定的,并且可以是大于、等于或小于反应时间的一段持续时间。例
如,可以将时间范围设置为小于预定阈值(如反应时间的三倍)。如果视频流一的其中一段
(如多帧图像)具有的时间戳在该时间范围之内,则可将其与该反应相关联。
解码器二的时钟之间的同步可以通过多种方式实现。例如,设备一和设备二共同使用的时
间服务(如互联网时间服务器)可以用于同步时钟。在非即时传输假设下,无论是否采用即
时反应假设,用户乙的反应发生在解码和显示视频流一的其中一段之后再加上一段时间间
隔。时间间隔可以是预定的,并且可以与反应所需的时间相同或不同。类似地,可以识别具
有时间间隔内的时间戳的视频流一的一段(如多帧图像)并将其与反应相关联。如果视频流
一的其中一段(如多帧图像)具有的时间戳在该时间范围之内,则可将其与该反应相关联。
的反应,可以实时获知视频流一的视频质量是得到改善还是恶化。因此,可以在设备一处
(如在编码器一处)更新用于编码视频流一的参数。该参数可以包括比特率、帧速率、图像分
辨率、前向纠错(FEC)比率或用于视频编码和传输的任何合适的参数的任何组合。
内容可以包括用户对于视频质量提出的正面、负面或中性反馈。
自动调整编码参数以优化视频质量的自适应编码器。对这种视频编码器的训练可以使用机
器学习技术(如监督式学习技术),比如神经网络技术。例如,标注的视频数据可以用作监督
学习技术中的基准数据标注。应当注意的是,标注的视频数据可以有各种应用方式用于改
善用户体验,而并不限于上述示例。
服务器610(如服务器124或服务器126)与设备602直接互连。边缘服务器610可以通过网络
(如网络106)连接到设备602。
110或存储器118)中的指令,当处理器(如处理器108或处理器116)执行该指令时,可用于执
行相关操作(如操作502‑508)。在一些实现中,这些模块也可以作为硬件实现,如可以执行
预定操作(如操作502‑508)的专用芯片(如ASIC)。应注意的是,图6的示例仅用于解释说明,
而实际应用并不限于所示的示例。例如,视频解码器604、分析模块606和视频编码器608可
以采用现成技术以任何合适的方式组合、分离或关联,以实现相同或相似的功能。
设备602(如智能手机或平板电脑)中。相机也可以是独立的,但是与设备602相连接(如连接
到PC的网络摄像头)。视频编码器608可将视频源流614编码为比特流一,且设备602可通过
网络将比特流一传输至用户乙,比如通过执行流程500中的操作502。在一些实现中,比特流
一可以被发送至边缘服务器610然后再由边缘服务器610转发(如使用通信设备114或通信
设备122)至用户乙。
直播事件)。在一些实现中,从终端用户设备二(未示出)处发送的压缩比特流612可以由边
缘服务器610转发。在一些实现中,从终端用户设备二处发送的压缩比特流也可以通过网络
中的另一个服务器(未示出)转发。视频解码器604可以对压缩比特流612中的图像和/或音
频进行解码。解码的图像和/或音频可以被显示和播放给用户甲以进行实时视频通信,并且
可以用作分析模块606的输入数据。
映用户乙的反应或情绪,该反应针对的是先前已经发送并显示给用户乙的比特流一的其中
一段视频的质量。分析模块606可以对该自然数据进行周期性的(如固定周期或灵活周期)
分析和获取。关于分析模块606的更多内容详见图8和图9的相关描述。可将自然数据(如通
过通信设备114或通信设备122)发送至边缘服务器610。
据包,并为设备602收集发送过来的数据包。因为边缘服务器610可以同时负责发送过来的
数据包(如压缩比特流612)和发送出去的数据包(如比特流一),因此执行关联操作不会导
致额外的网络流量。
时传输假设和即时反应假设。在同步之后,自然数据可以与比特流一相关联以形成带标注
的视频数据。带标注的视频数据可以存储在网络上的边缘服务器610中(如存储在数据库
中)或另一个服务器(未示出)中。
的丢包现象。在压缩比特流612中可能记录了用户乙的负面反应。分析模块606可以提取并
得到包含用户乙对比特流一的该段产生负面反应的自然数据。获知的负面反应可以被发送
到边缘服务器610,在此负面反应可以被同步并且与已经存储在其中的比特流一的其中一
段相关联。并且根据该负面反应,可以更新视频编码器的参数以使比特流一的视频编码适
应变糟的网络情况,例如通过降低比特率、帧速率或分辨率,或者通过增加FEC比率等。
104。设备702可以包括各种软件和/或硬件模块,包括视频解码器604、分析模块606和关联
模块704。设备702中模块的实现方式可以与设备602的模块实现方式相类似。
是,自然数据不会被发送到系统700中的边缘服务器610。自然数据可以被发送至关联模块
704处。
608。编码器可以接收用户甲的视频序列(如视频源流614)并将其编码为压缩比特流706。在
关联模块704中,自然数据可以与压缩比特流706同步或保持一致。在同步之后,自然数据可
以与比特流一相关联以形成标注视频数据,比如通过执行流程500中的操作508。标注的视
频数据可以被发送至边缘服务器610。在一些实现中,标注的视频数据可以存储在网络中的
边缘服务器610(如存储在数据库中)或另一个服务器(未示出)中。可以根据标注的视频数
据来更新编码器的参数以改善用户体验。
模块,包括人脸识别模块802、情绪推断模块804和客观测量模块806。在一些实现中,这些模
块可以作为软件实现,如存储在存储器(如存储器110或存储器118)中的指令,当处理器(如
处理器108或处理器116)执行该指令时可用于执行相关操作(如操作502‑508)。在一些实现
中,这些模块也可以作为硬件实现,如可以执行预定操作(如操作502‑508)的专用芯片(如
ASIC)。应注意的是,图8的示例仅用于解释说明,而实际应用并不限于所示的示例。例如,人
脸识别模块802、情绪推断模块804和客观测量模块806可以采用现成技术以任何合适的方
式组合、分离或关联,以实现相同或相似的功能。
知面部表情。从解码器(如视频解码器604)处可输出解码图像808。配置情绪推断模块804可
使其推断用户乙的情绪。在一些实现中,情绪推断模块804的输入数据可以包括解码图像
808、人脸识别模块802所识别的面部和情绪推断模块804所识别的面部表情这三者的任意
组合。
(CNN)技术、k近邻(k‑NN)技术、支持向量机(SVM)技术或其任意组合。
识别出的面部、识别出的面部表情和/或推断出的情绪。在一些实现中,人脸识别模块802和
情绪推断模块804可以使用不同的CNN分类器。在一些实现中,如果人脸识别模块802和情绪
推断模块804使用不同的CNN分类器,CNN分类器的卷积层一仍可以由两个模块共享。在一些
实现中,人脸识别模块802和情绪推断模块804可以使用相同的CNN分类器。
706)相关联(如通过图6中的边缘服务器610或图7中的关联模块704进行关联)。应注意的
是,标注810可以包括主观测量(如人脸识别模块802和情绪推断模块804的输出数据)和/或
客观测量(如客观测量模块806的输出数据)用以生成标注视频数据。
模块,包括姿势分析模块902和语音分析模块904。在一些实现中,这些模块可以作为软件实
现,如存储在存储器(如存储器110或存储器118)中的指令,当处理器(如处理器108或处理
器116)执行该指令时可用于执行相关操作(如操作502‑508)。在一些实现中,这些模块也可
以作为硬件实现,如可以执行预定操作(如操作502‑508)的专用芯片(如ASIC)。应注意的
是,图9的示例仅用于解释说明,而实际并不限于所示的示例。例如,姿势分析模块902和语
音分析模块904可以采用现成技术以任何合适的方式组合、分离或关联,以实现相同或相似
的功能。
馈的姿势。在一些实现中,姿势分析模块902可以使用机器学习技术(如监督式学习技术)实
现为软件或硬件模块。例如,监督式学习技术可以包括卷积神经网络(CNN)技术、k近邻(k‑
NN)技术、支持向量机(SVM)技术或其任意组合。
缩比特流612)进行解码得到解码音频906并将其与解码图像808相关联。用户乙的语音的特
征可以包括音调、音调、语速、音量或任何表示正面或负面反馈的信号特征。在一些实现中,
可以对语音分析模块904的输出数据做进一步分析,以推断出用户乙的情绪,比如通过使用
情绪推断模块804或其他情绪推断技术或模块。
技术、自然语言处理(NLP)技术、人工智能(AI)技术或其任意组合来实现为软件或硬件模
块。
中的边缘服务器610或图7中的关联模块704)。
文所述的任何相应的技术、算法和/或指令。另外,也可以有选择地使用专用计算机或处理
器,配备专用硬件设备用以执行本文描述的任何方法、算法或指令。
路(ASIC),可编程逻辑阵列、光处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处
理器、数字信号处理器或其他任何适用的电路。在权利要求中,“处理器”一词应理解为包含
任何上述内容中的一个或其多个组合。
硬件和/或软件组件来实现。例如,所述的内容可以采用各种集成电路组件,例如存储器元
件、处理元件、逻辑元件、查找表等,在一个或多个微处理器或其他控制设备的控制下执行
各种功能。类似地,实现所述内容各个功能时如需采用软件编程或软件元件,都可以采用诸
如C、C++、Java、汇编程序等的任何编程或脚本语言来实现本发明,且可以采用任何数据结
构、对象、进程、例程或其他编程元素的任意组合来执行各种算法。各项功能可以在一个或
多个处理器上通过执行算法来实现。此外,本发明所述各功能可以采用任意数量的常规技
术来进行电子配置、信号处理和/或控制、数据处理等。本文广泛使用“机制”和“元素”这些
词语,并不限于机械或物理实现,而是可以包括与处理器结合的软件例程等。
以是任何设备,该设备可以具体包含、存储、传送或传输供任何处理器使用或与其结合使用
的程序或数据结构。该介质可以是电子的、磁的、光学的、电磁的或半导体设备等等。也可包
含其他适用的介质。上述计算机可用或计算机可读介质可以被称为非暂时性存储器或介
质,并且可以包括RAM或其他易失性存储器或存储设备,它们可以随时间变化而发生改变。
本文所述的设备存储器并非必须物理上配备于设备中,而是可以由设备远程访问,并且不
必与设备中其他物理上配备的存储器相邻,特别说明除外。
实现,通过该模块可以将一个或多个组合的功能作为计算工具来执行,在运行本文所述方
法和系统时,输入和输出数据在每个模块与一个或多个其他模块之间进行相互传输。
本文中提到的任何数据、指令、命令、信息、信号、比特、符号和芯片可以用电压、电流、电磁
波、磁场或粒子、光学场或粒子等一项或多项组合来表示。
方式呈现概念。另外,“一个功能”或“一项功能”这两个短语在全文中多次用到,但并不意味
着同一个实施方式或同一功能。
另当别论。换句话说,如果X包含A,X包含B,或X包含A和B,那么在任何前述实例下“X包含A或
B”都成立。以此类推,“X包括A和B中的一个”是指“X包括A或B”。本公开中使用的“和/或”一
词旨在表示“和”或不排他性的“或”。也就是说,“X包括A、B和/或C”旨在表示X可包括A、B和C
的任何组合,除非另有说明或上下文另有明确指示。换句话说,如果X包括A,X包括B,X包括
C,X包括A和B,X包括B和C,X包括A和C,或者X包括A、B和C中的全部,那么上述情况中的每一
种或多种都满足“X包括A、B和/或C”的描述。以此类推,“X包括A、B和C中的至少一个”是指“X
包括A、B和/或C”。
设”等意思。
只是一种简便的描述方式,旨在表示包含在该范围之内的每一个单独数值,并且每个单独
值并入规格范围中,等效于在本文中单独列举。最后,本文所述的所有方法的步骤可以以任
何合适的顺序执行,除非本文另有说明或者与上下文明显矛盾。本文提供的示例或示例性
语言(例如“诸如”)的使用旨在更好地说明本发明,并无意于限制本发明的范围,除非另有
说明。
或以任何方式限制权利要求的范围。本文示出和描述的具体实现是本发明的说明性示例,
且无意于以任何方式限制本发明的范围。
内容。
种变体和等同设置,该范围应被赋予最宽泛的解释以涵盖法律允许的所有上述变体和等同
设置。