CN110620892B - 视频通信中的视频标注技术 - Google Patents

视频通信中的视频标注技术 Download PDF

Info

Publication number
CN110620892B
CN110620892B CN201910496475.7A CN201910496475A CN110620892B CN 110620892 B CN110620892 B CN 110620892B CN 201910496475 A CN201910496475 A CN 201910496475A CN 110620892 B CN110620892 B CN 110620892B
Authority
CN
China
Prior art keywords
user
video stream
reaction
video
processor
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
CN201910496475.7A
Other languages
English (en)
Other versions
CN110620892A (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.)
Argolo (Beijing) Technology Co.,Ltd.
Original Assignee
Dayin Network Technology Shanghai 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 Dayin Network Technology Shanghai Co ltd filed Critical Dayin Network Technology Shanghai Co ltd
Priority to CN202110857844.8A priority Critical patent/CN113542655B/zh
Publication of CN110620892A publication Critical patent/CN110620892A/zh
Application granted granted Critical
Publication of CN110620892B publication Critical patent/CN110620892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/176Dynamic expression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • 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/70Media network packetisation
    • 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
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0022Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is influenced by the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Social Psychology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Databases & Information Systems (AREA)
  • Acoustics & Sound (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Psychiatry (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提出了一种在视频通信中标注视频的方法、设备和***,包括:设备一通过网络将用户甲的视频流一发送至用户乙的设备二,其中用户乙与用户甲在进行视频通信;通过网络接收从设备二发送的用户乙的视频流二;处理器使用视频流二获知用户乙对视频流一所采取的反应;并将用户乙的反应与视频流一相关联。设备包含一个处理器以及耦合到处理器的存储器。配置存储器使其用于存储指令,处理器执行该指令后可运行处理操作以实现该方法。

Description

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

Claims (17)

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近邻技术、支持向量机技术等其中之一从视频流二的解码图像中获知用户乙的面部表情和情绪;
在与视频流二相关联的音频中获知用户乙的语音特征;以及
将用户乙的反应与视频流一的这一段相关联。
CN201910496475.7A 2018-06-20 2019-06-10 视频通信中的视频标注技术 Active CN110620892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110857844.8A CN113542655B (zh) 2018-06-20 2019-06-10 视频通信中的视频标注技术

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/013,280 US10990812B2 (en) 2018-06-20 2018-06-20 Video tagging for video communications
US16/013,280 2018-06-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110857844.8A Division CN113542655B (zh) 2018-06-20 2019-06-10 视频通信中的视频标注技术

Publications (2)

Publication Number Publication Date
CN110620892A CN110620892A (zh) 2019-12-27
CN110620892B true CN110620892B (zh) 2021-07-02

Family

ID=68921238

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110857844.8A Active CN113542655B (zh) 2018-06-20 2019-06-10 视频通信中的视频标注技术
CN201910496475.7A Active CN110620892B (zh) 2018-06-20 2019-06-10 视频通信中的视频标注技术

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110857844.8A Active CN113542655B (zh) 2018-06-20 2019-06-10 视频通信中的视频标注技术

Country Status (2)

Country Link
US (1) US10990812B2 (zh)
CN (2) CN113542655B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10820060B1 (en) * 2018-06-27 2020-10-27 Facebook, Inc. Asynchronous co-watching
US20210312296A1 (en) * 2018-11-09 2021-10-07 Hewlett-Packard Development Company, L.P. Classification of subject-independent emotion factors
JP7168848B2 (ja) * 2018-11-21 2022-11-10 日本電信電話株式会社 評価装置、評価方法、及びプログラム。
US11483574B2 (en) * 2019-12-26 2022-10-25 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for emotion and perception based video compression and video perception enhancement
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN111860307A (zh) * 2020-07-17 2020-10-30 苏州企智信息科技有限公司 一种基于视频行为识别的后厨违规智能判断方法
US11818373B1 (en) * 2020-09-08 2023-11-14 Block, Inc. Machine-learning based data compression for streaming media
US11580396B2 (en) 2020-10-13 2023-02-14 Aira Technologies, Inc. Systems and methods for artificial intelligence discovered codes
CN112417209A (zh) * 2020-11-20 2021-02-26 青岛以萨数据技术有限公司 一种基于浏览器的实时视频标注方法、***、终端及介质
US11088784B1 (en) * 2020-12-24 2021-08-10 Aira Technologies, Inc. Systems and methods for utilizing dynamic codes with neural networks
US11191049B1 (en) 2020-12-28 2021-11-30 Aira Technologies, Inc. Systems and methods for improving wireless performance
US11483109B2 (en) 2020-12-28 2022-10-25 Aira Technologies, Inc. Systems and methods for multi-device communication
US11575469B2 (en) 2020-12-28 2023-02-07 Aira Technologies, Inc. Multi-bit feedback protocol systems and methods
US11477308B2 (en) 2020-12-28 2022-10-18 Aira Technologies, Inc. Adaptive payload extraction in wireless communications involving multi-access address packets
US11368250B1 (en) 2020-12-28 2022-06-21 Aira Technologies, Inc. Adaptive payload extraction and retransmission in wireless data communications with error aggregations
US11290725B1 (en) * 2021-01-21 2022-03-29 Agora Lab, Inc. System and method for determining an objective video quality measure of a real-time video communication without extensive mathematical operations
US11973930B2 (en) 2021-01-21 2024-04-30 Agora Lab, Inc. System for determining an objective video quality measure of a real-time video communication without extensive mathematical operations
US11489624B2 (en) 2021-03-09 2022-11-01 Aira Technologies, Inc. Error correction in network packets using lookup tables
US11489623B2 (en) 2021-03-15 2022-11-01 Aira Technologies, Inc. Error correction in network packets
US11496242B2 (en) 2021-03-15 2022-11-08 Aira Technologies, Inc. Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets
US20230154474A1 (en) * 2021-11-17 2023-05-18 Agora Lab, Inc. System and method for providing high quality audio communication over low bit rate connection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442202A (zh) * 2013-08-22 2013-12-11 北京智谷睿拓技术服务有限公司 视频通信方法及装置
EP3261354A1 (en) * 2013-06-05 2017-12-27 Thomson Licensing Method and apparatus for content distribution for multi-screen viewing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616821B2 (en) * 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US20150312575A1 (en) * 2012-04-16 2015-10-29 New Cinema, LLC Advanced video coding method, system, apparatus, and storage medium
US9467653B2 (en) * 2012-06-29 2016-10-11 Avaya Inc. System and method for aggressive downstream bandwidth conservation based on user inactivity
US9467486B2 (en) * 2013-03-15 2016-10-11 Samsung Electronics Co., Ltd. Capturing and analyzing user activity during a multi-user video chat session
US20160212466A1 (en) * 2015-01-21 2016-07-21 Krush Technologies, Llc Automatic system and method for determining individual and/or collective intrinsic user reactions to political events
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
CN104410911B (zh) * 2014-12-31 2015-12-09 合一网络技术(北京)有限公司 基于视频情感标注辅助识别面部表情的方法
CN105828069B (zh) * 2016-04-06 2019-01-18 上海交通大学 一种基于主观质量评估的编码器自适应调整方法
KR102314370B1 (ko) * 2017-05-17 2021-10-19 엘지전자 주식회사 이동 단말기
US10540971B2 (en) * 2017-12-15 2020-01-21 Blue Jeans Network, Inc. System and methods for in-meeting group assistance using a virtual assistant

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3261354A1 (en) * 2013-06-05 2017-12-27 Thomson Licensing Method and apparatus for content distribution for multi-screen viewing
CN103442202A (zh) * 2013-08-22 2013-12-11 北京智谷睿拓技术服务有限公司 视频通信方法及装置

Also Published As

Publication number Publication date
CN110620892A (zh) 2019-12-27
US20190392266A1 (en) 2019-12-26
US10990812B2 (en) 2021-04-27
CN113542655A (zh) 2021-10-22
CN113542655B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN110620892B (zh) 视频通信中的视频标注技术
US20210211768A1 (en) Video Tagging For Video Communications
KR102058759B1 (ko) 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링 기법
US11915144B2 (en) Apparatus, a method and a computer program for running a neural network
US20150063451A1 (en) Universal Screen Content Codec
US20170094301A1 (en) Initial Bandwidth Estimation For Real-time Video Transmission
US9723315B2 (en) Frame encoding selection based on frame similarities and visual quality and interests
US9877056B1 (en) Compressed media with still images selected from a video stream
US20170094295A1 (en) Banwidth Adjustment For Real-time Video Transmission
CN107205156B (zh) 通过缩放的运动矢量预测
US10516892B2 (en) Initial bandwidth estimation for real-time video transmission
US20110235709A1 (en) Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
Rossi et al. A poisson hidden markov model for multiview video traffic
CN113965751B (zh) 屏幕内容编码方法、装置、设备及存储介质
US20170094296A1 (en) Bandwidth Adjustment For Real-time Video Transmission
CN110996122B (zh) 视频帧传输方法、装置、计算机设备及存储介质
US20160182911A1 (en) De-juddering techniques for coded video
US8989270B2 (en) Optimized search for reference frames in predictive video coding system
WO2017161122A1 (en) System for live video streaming using delay-aware fountain codes
US10735773B2 (en) Video coding techniques for high quality coding of low motion content
CN115767146A (zh) 数据流控制方法、***、装置、电子设备及存储介质
Skupin et al. Packet level video quality evaluation of extensive H. 264/AVC and SVC transmission simulation
KR20200005748A (ko) 복합 모션-보상 예측
Dragić et al. Power consumption and bandwidth savings with video transcoding to mobile device-specific spatial resolution
MICHALKO VIDEO STREAMING IN WIRELESS NETWOKS USING AVISMO CONCEPT

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221220

Address after: 100102 Rooms 3001-01 to 3001-16, Floor 27, Building 2, Yard 16, Guangshun South Street, Chaoyang District, Beijing

Patentee after: Argolo (Beijing) Technology Co.,Ltd.

Address before: 200131 room 2009, 2 / F, building 1, No. 180, Huashen Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: Dayin network technology (Shanghai) Co.,Ltd.