CN104737099B - 视频质量的动态调整 - Google Patents

视频质量的动态调整 Download PDF

Info

Publication number
CN104737099B
CN104737099B CN201380054977.5A CN201380054977A CN104737099B CN 104737099 B CN104737099 B CN 104737099B CN 201380054977 A CN201380054977 A CN 201380054977A CN 104737099 B CN104737099 B CN 104737099B
Authority
CN
China
Prior art keywords
label
user
web browser
video
media
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
CN201380054977.5A
Other languages
English (en)
Other versions
CN104737099A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN201810338143.1A priority Critical patent/CN108347648B/zh
Publication of CN104737099A publication Critical patent/CN104737099A/zh
Application granted granted Critical
Publication of CN104737099B publication Critical patent/CN104737099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/764Media network packet handling at the destination 
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

视频质量模块接收指示在用户设备上运行的web浏览器的标签的可见性状态的数据。视频质量模块基于指示标签的可见性状态的数据来确定web浏览器的标签当前对于用户设备的用户是否可见,web浏览器的标签包括流媒体播放器。如果web浏览器的标签当前对于用户不是可见的,则视频质量模块降低在流媒体播放器中播放的流媒体文件的视频分量的质量。

Description

视频质量的动态调整
技术领域
该公开涉及流媒体领域,具体地涉及视频质量的动态调整。
背景技术
流媒体是诸如视频和音频内容的多媒体,其在由流提供者传递时被终端用户接收并呈现给终端用户。利用流媒体,客户端媒体播放器可以在整个文件已经例如通过电信网络从服务器传送之前开始播放媒体内容。例如,用户可使用个人计算设备上运行的web浏览器来访问媒体流网站。用户可在来自媒体流网站的媒体播放器中播放包括视频和音频部分的多媒体内容。流提供者可通过诸如互联网的网络将内容的音频和视频部分传送到个人计算设备,其在媒体播放器中可被播放。
许多用户将包括视频和音频分量的多媒体内容流送到他们的个人计算机。多媒体内容的一个示例是音乐视频。然而,在许多情况中,当多媒体内容在流送时用户可执行其他任务,诸如使用生产力应用的web浏览或者其他任务。在这些情况中,包含媒体播放器的网站被最小化或者被转移到后台,以及用户有效地使用媒体播放器作为仅仅音乐播放器。即使内容的视频部分未被用户观看,多媒体内容的视频分量也继续使用可观的网络带宽和资源流送到用户的计算机。
发明内容
下述是本公开的简明概要,目的是提供本公开的一些方面的基本理解。该概要不是本公开的宽泛概述。其用意既不是识别本公开的关键或者重要元素,也不描述本公开的具体实现的任何范围或者权利要求的任何范围。其唯一目的是以简明的形式呈现本公开的一些概念,作为后面呈现的更加详细说明的前奏。
在一个实现中,视频质量模块接收指示用户设备上运行的web浏览器的标签的可见性状态的数据。接收该数据可包括使用web浏览器的页面可见性应用编程接口(API)发送对标签的可见性状态的请求。视频质量模块基于指示标签的可见性状态的数据来确定web浏览器的标签当前对于用户设备的用户是否可见,web浏览器的标签包括流媒体播放器。在一个实现中,web浏览器的标签包括播放来自网页的流媒体文件的流媒体播放器。如果web浏览器的标签当前对于用户不是可见的,则视频质量模块降低流媒体播放器中播放的流媒体文件的视频分量的质量。如果标签在一个或多个其他标签之后而在web浏览器的后台中,则web浏览器的标签对于用户是不可见的。此外,视频质量模块可进一步停止流媒体文件的视频分量到用户设备的传输,同时继续将流媒体文件的音频分量传送到用户设备。
如果web浏览器的标签当前对于用户是可见的,则视频质量模块确定视频分量当前是否从默认设置降低。如果标签在web浏览器的前景中,则web浏览器的标签对于用户是可见的。如果视频分量当前从默认设置降低,则视频质量模块将视频分量的质量增加到默认设置。如果视频分量当前未从默认设置降低,则视频分量维持视频分量的当前质量。
附图说明
在附图的图中,通过示例方式而不是限制的方式示出本公开。
图1是示出其中可以实现本公开的实现的示例性网络架构的框图。
图2是示出根据一些实现的用于检测用户当前是否正在观看多媒体内容的可见性监视器的框图。
图3A是示出根据一些实现的用于观看多媒体内容的已加标签的web浏览器的图。
图3B是示出根据一些实现的用于观看多媒体内容的已加标签的web浏览器的图。
图4是示出根据一些实现的用于web浏览器中标签的可见性状态的方法的流程图。
图5是示出根据一些实现的用于动态地调整视频质量的视频质量模块的框图。
图6是示出根据一些实现的用于动态地调整视频质量的方法的流程图。
图7是示出根据一些实现的示例性计算机系统的框图。
具体实施方式
描述了用于动态地调整流媒体的视频质量的实现。在一个实现中,用户请求包括视频和音频分量的多媒体内容被流送到个人计算机或者其他用户设备。例如,用户可使用通过用户的个人计算机上运行的浏览器访问的媒体流网站来播放音乐视频。然而,在许多情况中,用户可能在多媒体内容流传送时执行其他任务。例如,如果浏览器是已加标签的浏览器,则用户可打开新的标签并观看新标签中的其他网页。在该情况中,具有媒体流网站的浏览器标签被最小化并被转移到后台,以及随着媒体的视频分量不再是可见的,用户有效地使用媒体播放器作为音乐播放器。在一个实现中,用户的计算机上运行的可见性监视器检测到:由于浏览器标签已经被最小化或者转移到后台的事实,媒体播放器对于用户不再是可见的。例如,浏览器可以具有应用编程接口(API),诸如页面可见性API,其他设备可调用其以确定包含媒体播放器的标签的可见性状态。同时本文中具体地提供了与视频相关的细节作为用于清楚解释的示例,应该理解这些细节可同样地应用到其他类型的媒体,例如,音频(例如,音乐)、图像、文档、文本(例如,推文)、flash内容等等,如果适用的话。
例如,如果将媒体内容流送到用户的计算机的媒体服务器从可见性监视器接收到用户当前未在观看音乐视频的指示,则媒体服务器可以动态地调整流视频分量的质量。在一个实现中,媒体服务器可以将视频的质量降低到较低的分辨率。在另一个实现中,媒体服务器可以完全停止视频分量的流送。在任一情况中,流媒体的音频分量均可以保持不变,使得用户可以继续听到音乐视频。降低质量或者停止视频分量的流送可以节省网络带宽和资源,允许它们用于其他计算任务。如果媒体服务器从可见性监视器接收到包含媒体播放器的标签已经被带回前景的指示,则媒体服务器可以增加视频的质量或者恢复停所止的视频流的流送。这允许用户维持消费媒体内容时的令人愉快的体验。
图1是示出其中可实现本公开的实现的示例性网络架构的框图。根据一个实现,网络架构100可以包括通过一个或更多网络140与诸如web服务器120和媒体服务器130的一个或更多服务器通信的一个或更多用户设备110。网络140可以是局域网(LAN)、无线网络、电话网络、移动通信网络、诸如互联网的广域网(WAN)或者类似的通信网络。用户设备110可以是任意类型的计算设备,包括服务器计算机、网关计算机、台式计算机、笔记本计算机、移动通信设备、蜂窝电话、智能电话、手持计算机、平板计算机或者类似的计算设备。用户设备110可以被各种各样地配置有不同特征以使得能够观看多媒体内容,诸如图像、视频、歌曲等。
web服务器120和媒体服务器130可包括网络可访问的基于服务器的功能、各种数据存储和/或其他数据处理装置。服务器120和130可通过单个机器或者机器集群来实现。如图1中所示,web服务器120和媒体服务器130是分立的设备。然而,在另一个实现中,web服务器120和媒体服务器130被组合到单个机器或者设备中。web服务器120和媒体服务器130中的一个或者二者可例如被图7的计算机系统700托管。在一个实现中,web服务器120托管网页122。web服务器120可以使用例如超文本传输协议(HTTP)将网页122传递到用户设备110或者其他客户端设备。网页122可以是例如媒体内容托管网站的一部分,其允许用户上传、观看和共享多媒体内容。
在一个实现中,媒体服务器130包括一个或多个媒体文件132和视频质量模块134。媒体文件132可表示用户通过网页122播放的音频和视频内容。例如,当用户设备110的用户使用用户设备110上运行的web浏览器112或者其他程序观看网页122,并请求观看某个多媒体内容时,web服务器120可以发送消息到请求媒体文件132的媒体服务器130。媒体服务器130可以发起媒体文件132经由网络140到用户设备110的流送。在一个实现中,媒体文件132是音乐视频文件,包括视觉和音频分量。然而,在其他实现中,媒体文件132可以是某个其他类型的媒体文件。在一个实现中,用户设备110可附加地包括可见性监视器114。可见性监视器114可基于用户关于web浏览器112中的流媒体的行为,在给定时间点确定用户实际上是否在观看流多媒体内容。下面更加详细讨论可见性监视器114的一些实现。
媒体服务器130上运行的视频质量模块134可以从可见性监视器114接收用户实际上是否在观看流媒体的指示。在一个实现中,基于接收的指示,视频质量模块134可以动态地调整流媒体的视频部分的质量以节省带宽和其他网络资源。例如,如果视频质量模块134接收用户未在观看流媒体(例如,因为为了支持另一个标签或者应用,用于观看网页122的web浏览器112的标签已经被最小化或者转移到后台)的指示,视频质量模块134可以可选地停止流送媒体的视频分量或者降低视频流的质量以节省带宽。媒体流的音频分量继续被传送到用户设备110,使得如果用户仍然在收听音频,用户的消费不被打断。下面更加详细讨论视频质量模块134的一些实现。
图2是示出根据本公开的一些实现的用于检测用户当前是否正在观看多媒体内容的可见性监视器的框图。在一个实现中,可见性监视器114包括请求接收模块202、可见性状态确定模块204和请求响应模块206。该模块布置可以是逻辑分开的,以及在其他实现中,根据特定的实现,这些模块和其他组件可以被组合在一起或者在进一步组件中被分开。在一个实现中,存储设备240连接到可见性监视器114并包括标签可见性状态242。在一个实现中,用户设备110可包括可见性监视器114和存储设备240。在另一个实现中,存储设备240可以在用户设备110的外部并可以通过网络或者其他连接来连接到用户设备110。在其他实现中,用户设备110可包括不同的和/或附加的组件,其未示出以简化说明。存储设备240可包括一个或多个大容量存储设备,其可以包括例如闪存存储器、磁或光盘、或者带驱动器;只读存储器(ROM);随机存取存储器(RAM);可擦可编程存储器(例如,EPROM和EEPROM);闪存存储器;或者任意其他类型的存储介质。
在一个实现中,请求接收模块202例如从媒体服务器130接收对web浏览器112的特定标签的可见性状态的请求。请求可识别其中媒体服务器当前、先前或者将要将诸如媒体文件132的媒体内容流送到的媒体播放器正在运行的web浏览器112的标签。在一个实现中,请求是以例如对可见性监视器114作出的API调用的形式。在一个实现中,可见性监视器114是页面可见性API。页面可见性API可以是被web浏览器112的供应商包括的标准接口。页面可见性API允许应用请求web浏览器112正显示的文档或者网页的可见性状态。在其他实现中,可见性监视器114可包括某个其他API或规范。一旦接收到请求,请求接收模块202可以将请求转发到或者另外向可见性状态确定模块204通知请求已经从媒体服务器130接收。在其他实现中,请求可从除了媒体服务器130之外的某个其他源接收。
可见性状态确定模块204可以确定web浏览器112的所请求的标签当前对于用户是否可见。图3A示出了根据一个实现的web浏览器112。在该实现中,web浏览器112包括一个或多个浏览标签310、320和浏览器控件330。浏览标签310和320允许多个网页在单个浏览器窗口中被观看。例如,浏览标签310可显示包括媒体播放器312的网页122。在一个实现中,媒体播放器312还可包括一组控件314以控制媒体内容的播放。当第一浏览标签310被选择或者被激活时,网页122对于用户可以是可见的,假定没有其他窗口被放置在用于web浏览器112的窗口的顶端。诸如浏览标签320的任何附加的标签在后台中,以及其中显示的内容一般地对于用户不是可见的。可见性状态确定模块204可以确定浏览标签310(即包含网页122和媒体播放器312的标签)当前是否被选择、被激活或者在web浏览器112的前景中。如果是,可见性状态确定模块204可以返回值“可见”并且在对应于标签310的标签可见性状态信息242的条目中存储该值。如果其他浏览标签320被激活,以及浏览标签310在后台中,可见性确定模块204可以返回值“隐藏”。在一个实现中,可见性状态确定模块204响应于接收请求而检查标签310和320的状态。然而,在其他实现中,可见性状态确定模块204可以周期性间隔检查标签310和320的状态或者可以每次状态改变时更新标签可见性状态信息242中的状态。在这些实现中,可见性状态确定模块204可以仅仅从标签可见性状态信息242读取存储的值,而不是检查每个标签的状态。
在一个实现中,当用户将浏览标签310移动到背景时,浏览标签310的可见性状态可以改变。图3B示出了在该情况中的web浏览器112。在该实现中,第二浏览标签320被选择。如果用户设备包括触摸敏感显示器或者通过某个其他方式,用户可选择标签320或者使用例如浏览器控件330、使用计算机鼠标或者其他指示设备、通过轻击所选择的标签来在浏览标签之间切换。在一个实现中,浏览标签320显示不同的网页322,其可包括文本324和图像326、328。媒体播放器312保持运行在现在后台中的浏览标签310中。在一个实现中,可见性状态确定模块204可以更新标签可见性状态信息242中浏览标签310和320的状态。
在一个实现中,请求响应模块206可以响应对特定标签的可见性状态的请求。请求响应模块206可以读取对于特定标签在标签可见性状态信息242中存储的当前值,并将包括该值的响应发送给请求者。在请求者是媒体服务器130的一个实现中,请求响应模块206可以通过网络140发送响应。请求响应模块206可以响应于请求、周期性地或者每次标签的状态在可见性状态信息242中被更新时发送具有每个标签的状态信息的更新到媒体服务器130。
图4是示出根据一个实现的用于web浏览器中标签的可见性状态的方法的流程图。方法400可通过处理逻辑来执行,处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,运行在处理设备上以执行硬件仿真的指令)或者其组合。方法400可以确定包含正在流送媒体内容的媒体播放器的浏览标签对于运行浏览器的计算设备的用户是否可见。为了简化说明,该公开的方法被描述和说明为一系列的动作。然而,根据该公开的动作可以各种次序和/或同时发生,以及其他动作在本文中未呈现和说明。而且,不是所有示出的动作都需要才能实现根据所公开主题的方法。此外,本领域内技术人员将理解和领会该方法替选地被表示为通过状态图或者事件的一系列相关的状态。附加地,应该领会该说明书中公开的方法能够被存储在制造品中以便于将这样的方法运送或者转移到计算设备。本文中所使用的术语“制造品”意在包含从任意计算机可读设备或者存储介质可访问的计算机程序。在一个实现中,方法400可以通过可见性监视器114执行,如图1和2中所示。
参照图4,在框410处,方法400接收对媒体播放器标签的可见性状态的请求,诸如浏览标签310。在一个实现中,请求接收模块202从例如媒体服务器130接收请求。请求可识别其中媒体播放器312正在播放流送的媒体内容的web浏览器112的标签310,所述媒体内容诸如媒体文件132。在一个实现中,请求是以例如对可见性监视器114作出的API调用的形式。在一个实现中,可见性监视器114是页面可见性API。一旦接收到请求,请求接收模块202可将请求转发到或者另行向可见性状态确定模块204通知请求已经从媒体服务器130接收。在其他实现中,请求可以从除了媒体服务器130之外的某个其他源接收。
在框420处,方法400确定媒体播放器标签310对于用户是否可见。可见性状态确定模块204可以确定所请求的web浏览器112的标签当前对于用户是否可见。当浏览标签310被选择、被激活或者运行在web浏览器112的前景中时,浏览标签310对于用户是可见的。诸如浏览标签320的任何附加的标签在背景中,以及其中显示的内容一般地对于用户不是可见的。可见性状态确定模块204可以确定每个浏览标签是否被激活,以及如果被激活,确定浏览标签是可见的。如果在框420处,方法400确定浏览标签310是可见的,在框430处,那么方法400将浏览标签310的状态值设置为“可见”。如果在框420处,方法400确定浏览标签310不是可见的,那么在框440处,方法400将浏览标签310的状态值设置为“隐藏”。在一个实现中,可见性状态确定模块204可以在标签可见性状态信息242中存储该值。替选地,框420和430处的步骤不响应于框410而被执行。在一个实现中,可见性状态通过不同的过程(例如,每次不同的标签被选择时)被更新,以及方法400将仅仅需要访问该信息,而不是发送特定请求。
在框450处,方法400将所确定的状态值返回给请求者。在一个实现中,请求响应模块206可以响应对于特定标签的可见性状态的请求。请求响应模块206可以读取用于特定标签的存储在标签可见性状态信息242中的当前值并将包括该值的响应发送给请求者。在请求者是媒体服务器130的一个实现中,请求响应模块206可以通过网络140发送响应。
图5是示出根据一些实现的用于动态地调整视频质量的视频质量模块的框图。在一个实现中,视频质量模块134包括可见性状态请求器502、视频质量控制器504、媒体流通信器506。该模块布置可以是逻辑分离的,以及在其他实现中,根据特定实现,这些模块或者其他组件可以被组合在一起或者在进一步组件中分离。在一个实现中,存储设备540连接到视频质量模块134并且包括媒体文件132。在一个实现中,媒体服务器130可包括视频质量模块134和存储设备540。在另一个实现中,存储设备540可以在媒体服务器130的外部并可以通过网络或者其他连接来连接到媒体服务器130。在其他实现中,媒体服务器130可包括不同的和/或附加的组件,其未示出以简化说明。存储设备540可包括一个或多个大容量存储设备,大容量存储设备可以包括例如闪存存储器、磁或光盘、或者带驱动器;只读存储器(ROM);随机存取存储器(RAM);可擦可编程存储器(例如,EPROM和EEPROM);闪存存储器;或者任何其他类型的存储介质。
在一个实现中,可见性状态请求器502生成并向用户设备110发布对其中媒体播放器312正在运行的web浏览器112的标签的可见性状态的请求。请求可指定特定浏览标签310或者可针对web浏览器112中的所有标签的状态。在一个实现中,可见性状态请求器502可以周期性间隔重复地发布请求。在另一个实现中,可见性状态请求器502可响应于来自管理器或者其他实体的命令而发布请求。响应于请求,可见性状态请求器502可以从用户设备110上的可见性监视器114接收指示可见性状态(例如,“可见”或者“隐藏”)的值。
在一个实现中,视频质量控制器504可以动态地调整媒体文件132的视频分量的质量或者完全停止视频分量的传输。在一个实现中,媒体服务器130可将媒体文件132流送到用户设备110。如果可见性状态请求器502从用户设备110接收包含媒体播放器的浏览标签310对于用户不是可见的指示,则视频质量控制器504可降低媒体分量的质量。例如,视频质量控制器504可降低流送到用户设备110的媒体文件132的视频分量的分辨率。在另一个实现中,媒体流通信器506可完全停止视频分量的传输。在任一情况中,流媒体的音频分量都保持不变,使得用户可以继续听到对应的声音。类似地,如果可见性状态请求器502接收浏览标签310已经再次变为可见的指示,则视频质量控制器504可以将媒体文件132的视频分量的质量增加回到原始或默认的质量,或者媒体流通信器506可以恢复视频分量的传输。
图6是示出根据本公开的实现的用于动态地调整视频质量的方法的流程图。方法600可通过处理逻辑来执行,处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理设备上运行以执行硬件仿真的指令)、或者其组合。方法600可以基于流视频对于用户是否可见来动态地调整视频质量。在一个实现中,方法600可通过如图1和图5中所示的视频质量模块134来执行。
参照图6,在框610处,方法600请求包含媒体播放器312的web浏览器112的浏览标签310的可见性状态。在一个实现中,可见性状态请求器502生成对浏览标签310的可见性状态的请求并将该请求发布给用户设备110。在一个实现中,可见性状态请求器502可以周期性间隔重复地发布请求。在另一个实现中,可见性状态请求器502可响应于来自管理器或者其他实体的命令而发布请求。响应于请求,在框620处,方法600接收所请求的可见性状态的指示。可见性状态请求器502可以从用户设备110上的可见性监视器114接收指示可见性状态(例如,“可见”或者“隐藏”)的值。替选地,用户设备110可以在媒体流送期间每次状态改变时对可见性状态提供更新。
在框630处,方法600确定所接收的可见性状态是否被设置为“可见”或者所接收的指示是否另外指示浏览标签310是活动的。在一个实现中,可见性状态将被设置为“可见”或者“隐藏”。然而,在其他实现中,可提供某个其他指示。如果在框630处,方法600确定可见性状态未被设置为“可见”,则在框640处,方法600停止视频分量的传输或者降低视频的质量。例如,视频质量控制器504可降低流送到用户设备110的媒体文件132的视频分量的分辨率。在另一个实现中,媒体流通信器506可完全停止视频分量的传输。
如果在框630处,方法600确定可见性状态被设置为“可见”,则在框650处,方法600确定媒体文件132的视频分量当前是否被停止或者当前是否已降低质量。在一个实现中,媒体文件132的视频分量可以具有默认的质量设置。例如,这可以是用户设备110所支持的最高分辨率或者某个中间分辨率。在一个实现中,默认质量可以由用户设备110的用户设置。一旦在框640处被降低,则视频质量可以被降低到比默认或者标准分辨率低的分辨率。视频质量控制器504可确定当前在使用什么质量设置来将视频分量流传到用户设备110。如果在框650处,方法600确定视频分量当前被停止或者已经降低质量,则在框660处,方法600恢复视频分量的传输或者将质量增加回到默认设置。如果在框650处,方法600确定视频分量当前未被停止或者未降低质量,则在框670处,方法700维持当前视频质量(或者允许视频保持停止)。
图7示出了示例性形式的计算机系统700中的机器的图示,计算机系统700中可以执行用于使机器执行本文中讨论的任何一个或多个方法的指令集合。在替选的实现中,机器可连接到(例如,联网到)局域网(LAN)、内联网、外联网或者互联网中的其他机器。机器可以客户端-服务器网络环境中服务器或者客户端机器的能力操作,或者作为对等(或者分布式)网络环境中的对等机器。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web装置、服务器、网络路由器、交换机或者桥、或者任意能够执行指定要由该机器采取的动作的指令集合(顺序的或者其它)的机器。此外,尽管仅示出单个机器时,术语“机器”也应该被认为包括机器的任何集合,其个体地或者共同地执行指令的集合(或者多个集合)以执行本文中所讨论的任意一个或多个方法。在一个实现中,计算机系统700可以表示服务器,诸如web服务器120、或者运行视频质量模块134的媒体服务器130。
示例性计算机系统700包括处理设备702、主存储器704(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM)(诸如同步DRAM(SDRAM)或者兰巴斯DRAM(RDRAM))等)、静态存储器706(例如,闪存存储器、静态随机存取存储器(SRAM)等)和数据存储设备718,其经由总线730互相通信。通过本文中所述的各种总线提供的任意信号可以与其他信号时间复用并且通过一个或更多公共总线提供。此外,电路组件或者框之间的互连可被示为总线或者单个信号线。每个总线可以替选地是一个或多个单个信号线并且单个信号线中的每一个替选地可以是总线。
处理设备702表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算机(RISC)微处理器、超长指令字(VLIW)微处理器或者实现其他指令集合的处理器、或者实现指令集和的组合的处理器。处理设备702也可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备702被配置为运行处理逻辑726,用于执行本文中所讨论的操作和步骤。
计算机系统700可进一步包括网络接口设备708。计算机系统700还可以包括视频显示单元710(例如,液晶显示器(LCD)或者阴极射线管(CRT))、字母数字输入设备712(例如,键盘)、光标控制设备714(例如,鼠标)和信号生成设备716(例如,扬声器)。
数据存储设备718可包括机器可读存储介质728,其上存储有实现本文中所述的方法和功能中的任意一个或多个的一个或多个指令722的集合(例如,软件)。在被计算机系统700执行期间,指令722也可完全或者至少部分驻留在主存储器704和/或处理设备702内;主存储器704和处理设备702也构成机器可读存储介质。指令722可以进一步经由网络接口设备708通过网络720被传送或者被接收。
机器可读存储介质728也可用于存储用于执行如本文中所述的用于动态地调整视频质量的方法的指令。当机器可读存储介质728在示例性实现中被示出为单个介质时,术语“机器可读存储介质”应该被认为包括存储一个或更多指令集合的单个介质或多个介质(例如,集中的或者分布式的数据库、和/或相关联的缓存和服务器)。机器可读介质包括用于以机器(例如,计算机)可读的形式(例如,软件、处理应用)存储信息的任意机制。机器可读介质包括但不限于磁性存储介质(例如,软盘);光存储介质(例如,CD-ROM);磁光存储介质;只读存储器(ROM);随机存取存储器(RAM);可擦可编程存储器(例如,EPROM和EEPROM);闪存存储器;或者适用于存储电子指令的另一种类型的介质。
前述说明阐述了许多特定细节,诸如特定系统、组件、方法的示例等,以提供本公开的若干实现的良好理解。然而,对于本领域内技术人员将是显而易见的,本公开的至少一些实现可以在没有这些特定细节的情况下被实践。在其他实例中,公知的组件或者方法未被详细描述,或者以简单框图的形式呈现,以避免不必要地模糊本公开。如此,所阐述的特定细节仅仅是示例性的。特定实现可从这些示例性细节变化并且仍然被预期在本公开的范围内。
贯穿该说明书引用“一个实现”或者“实现”意指结合包括在至少一个实现中的实现所述的特定特征、结构或者特点。如此,贯穿该说明书中各处的短语“在一个实现中”或者“在实现中”的出现不是必须全部引用相同的实现。此外,术语“或者”意在意味着包括性“或者”而不是排他性“或者”。
虽然本文中的方法的操作以特定次序示出和描述,但是每个方法的操作次序可改变,使得某些操作可以相反的次序执行,或者使得某个操作可至少部分地与其他操作同时执行。在另一个实现中,不同操作的指令或者子操作可以是间歇性的和/或交替性的方式。

Claims (21)

1.一种用于动态调整视频质量的方法,所述方法包括:
从媒体流服务器向在用户设备上运行的web浏览器的多个标签中的第一标签中的流媒体播放器提供流媒体文件,其中所述多个标签中的第二标签包括不包括所述流媒体播放器的内容;
在所述媒体流服务器处从所述用户设备接收指示在所述用户设备上运行的所述web浏览器的所述多个标签中的第一标签的可见性状态的数据;
基于指示所述第一标签的所述可见性状态的所述数据,确定所述web浏览器的所述第一标签当前对于所述用户设备的用户是否可见,其中当所述多个标签中的第二标签被选择时所述第一标签对于所述用户不是可见的;以及
如果所述web浏览器的所述第一标签当前对于所述用户不是可见的,则由所述媒体流服务器的处理设备降低被提供给所述用户设备并且在所述流媒体播放器中播放的流媒体文件的视频分量的质量,同时维持所述流媒体文件的音频分量的当前状态。
2.根据权利要求1所述的方法,其中,当所述第一标签在包括所述第二标签的一个或多个其他标签之后而在所述web浏览器的后台中时,所述web浏览器的所述第一标签对于所述用户不是可见的。
3.根据权利要求1所述的方法,进一步包括:
停止所述流媒体文件的所述视频分量到所述用户设备的传输;以及
继续将所述流媒体文件的音频分量传输到所述用户设备。
4.根据权利要求1所述的方法,进一步包括:
如果所述web浏览器的所述第一标签当前对于所述用户是可见的,则确定所述视频分量当前是否从默认设置降低。
5.根据权利要求4所述的方法,进一步包括:
如果所述视频分量当前从所述默认设置降低,则将所述视频分量的质量增加到所述默认设置;以及
如果所述视频分量当前未从所述默认设置降低,则维持所述视频分量的当前质量。
6.根据权利要求4所述的方法,其中,如果所述第一标签在所述web浏览器的前景中,则所述web浏览器的所述第一标签对于所述用户是可见的。
7.根据权利要求1所述的方法,其中,接收指示所述第一标签的所述可见性状态的所述数据包括使用所述web浏览器的页面可见性应用编程接口来发送对所述第一标签的所述可见性状态的请求。
8.一种存储指令的非瞬时性机器可读存储介质,所述指令在被执行时使处理设备执行包括以下的操作:
从媒体流服务器向在用户设备上运行的web浏览器的多个标签中的第一标签中的流媒体播放器提供流媒体文件,其中所述多个标签中的第二标签包括不包括所述流媒体播放器的内容;
在所述媒体流服务器处从所述用户设备接收指示在所述用户设备上运行的所述web浏览器的所述多个标签中的第一标签的可见性状态的数据;
基于指示所述第一标签的所述可见性状态的所述数据,确定所述web浏览器的所述第一标签当前对于所述用户设备的用户是否可见,其中当所述多个标签中的第二标签被选择时所述第一标签对于所述用户不是可见的;以及
如果所述web浏览器的所述第一标签当前对于所述用户不是可见的,则由所述媒体流服务器降低被提供给所述用户设备并且在所述流媒体播放器中播放的流媒体文件的视频分量的质量,同时维持所述流媒体文件的音频分量的当前状态。
9.根据权利要求8所述的非瞬时性机器可读存储介质,其中,当所述第一标签在一个或多个其他标签之后而在所述web浏览器的后台中时,所述web浏览器的所述第一标签对于所述用户不是可见的。
10.根据权利要求8所述的非瞬时性机器可读存储介质,所述操作进一步包括:
停止所述流媒体文件的视频分量到所述用户设备的传输;以及
继续将所述流媒体文件的音频分量传输到所述用户设备。
11.根据权利要求8所述的非瞬时性机器可读存储介质,所述操作进一步包括:
如果所述web浏览器的所述第一标签当前对于所述用户是可见的,则确定所述视频分量当前是否从默认设置降低。
12.根据权利要求11所述的非瞬时性机器可读存储介质,所述操作进一步包括:
如果所述视频分量当前从所述默认设置降低,则将所述视频分量的质量增加到所述默认设置;以及
如果所述视频分量当前未从所述默认设置降低,则维持所述视频分量的当前质量。
13.根据权利要求11所述的非瞬时性机器可读存储介质,其中,如果所述第一标签在所述web浏览器的前景中,则所述web浏览器的所述第一标签对于所述用户是可见的。
14.根据权利要求8所述的非瞬时性机器可读存储介质,其中,接收指示所述第一标签的所述可见性状态的所述数据包括使用所述web浏览器的页面可见性应用编程接口来发送对所述第一标签的所述可见性状态的请求。
15.一种用于动态调整视频质量的系统,所述系统包括:
处理设备;
存储器,所述存储器耦合到所述处理设备;以及
视频质量模块,所述视频质量模块能由所述处理设备从所述存储器执行,用于:
从媒体流服务器向在用户设备上运行的web浏览器的多个标签中的第一标签中的流媒体播放器提供流媒体文件,其中所述多个标签中的第二标签包括不包括所述流媒体播放器的内容;
在所述媒体流服务器处从所述用户设备接收指示在所述用户设备上运行的所述web浏览器的所述多个标签中的第一标签的可见性状态的数据;
基于指示所述第一标签的所述可见性状态的所述数据,确定所述web浏览器的所述第一标签当前对于所述用户设备的用户是否可见,其中当所述多个标签中的第二标签被选择时所述第一标签对于所述用户不是可见的;以及
如果所述web浏览器的所述第一标签当前对于所述用户不是可见的,则由所述媒体流服务器降低被传送给所述用户设备并且在所述流媒体播放器中播放的流媒体文件的视频分量的质量,同时维持所述流媒体文件的音频分量的当前状态。
16.根据权利要求15所述的系统,其中,当所述第一标签在包括所述第二标签的一个或多个其他标签之后而在所述web浏览器的后台中时,所述web浏览器的所述第一标签对于所述用户不是可见的。
17.根据权利要求15所述的系统,所述视频质量模块进一步用于:
停止所述流媒体文件的所述视频分量到所述用户设备的传输;以及
继续将所述流媒体文件的音频分量传输到所述用户设备。
18.根据权利要求15所述的系统,所述视频质量模块进一步用于:
如果所述web浏览器的所述第一标签当前对于所述用户是可见的,则确定所述视频分量当前是否从默认设置降低。
19.根据权利要求18所述的系统,所述视频质量模块进一步用于:
如果所述视频分量当前从所述默认设置降低,则将所述视频分量的质量增加到所述默认设置;以及
如果所述视频分量当前未从所述默认设置降低,则维持所述视频分量的当前质量。
20.根据权利要求18所述的系统,其中,如果所述第一标签在所述web浏览器的前景中,所述web浏览器的所述第一标签对于所述用户是可见的。
21.根据权利要求15所述的系统,其中,接收指示所述第一标签的所述可见性状态的所述数据包括使用所述web浏览器的页面可见性应用编程接口来发送对所述第一标签的所述可见性状态的请求。
CN201380054977.5A 2012-08-31 2013-08-30 视频质量的动态调整 Active CN104737099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810338143.1A CN108347648B (zh) 2012-08-31 2013-08-30 视频质量的动态调整

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/601,149 2012-08-31
US13/601,149 US8966370B2 (en) 2012-08-31 2012-08-31 Dynamic adjustment of video quality
PCT/US2013/057707 WO2014036515A1 (en) 2012-08-31 2013-08-30 Dynamic adjustment of video quality

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810338143.1A Division CN108347648B (zh) 2012-08-31 2013-08-30 视频质量的动态调整

Publications (2)

Publication Number Publication Date
CN104737099A CN104737099A (zh) 2015-06-24
CN104737099B true CN104737099B (zh) 2018-05-08

Family

ID=50184466

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380054977.5A Active CN104737099B (zh) 2012-08-31 2013-08-30 视频质量的动态调整
CN201810338143.1A Active CN108347648B (zh) 2012-08-31 2013-08-30 视频质量的动态调整

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810338143.1A Active CN108347648B (zh) 2012-08-31 2013-08-30 视频质量的动态调整

Country Status (4)

Country Link
US (2) US8966370B2 (zh)
EP (1) EP2891039B1 (zh)
CN (2) CN104737099B (zh)
WO (1) WO2014036515A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
US9442640B2 (en) * 2014-06-11 2016-09-13 Google Inc. Display mode based media player switching
DE102014012355A1 (de) * 2014-08-25 2016-02-25 Unify Gmbh & Co. Kg Verfahren zur Steuerung einer Multimedia-Anwendung, Softwareprodukt und Vorrichtung
US11107038B2 (en) 2015-02-03 2021-08-31 PEOZZLE Corporation Multimedia resume distribution system
US11269403B2 (en) 2015-05-04 2022-03-08 Disney Enterprises, Inc. Adaptive multi-window configuration based upon gaze tracking
US10659845B2 (en) * 2015-08-06 2020-05-19 Google Llc Methods, systems, and media for providing video content suitable for audio-only playback
US10958695B2 (en) 2016-06-21 2021-03-23 Google Llc Methods, systems, and media for recommending content based on network conditions
US10693980B2 (en) * 2016-07-19 2020-06-23 Facebook, Inc. Determining a duration content is visible to a user of an online system
US11095939B2 (en) * 2016-09-07 2021-08-17 Lg Electronics Inc. Image display device and system thereof
US11216241B2 (en) * 2016-12-13 2022-01-04 Samsung Electronics Co., Ltd. Method and device for audio management
US10262696B1 (en) * 2017-10-13 2019-04-16 ANI Technologies Private Limited Clock synchronization for playback of multimedia files
US11201946B1 (en) * 2018-12-31 2021-12-14 Facebook, Inc. Systems and methods for digital media delivery prioritization
CN112800277A (zh) * 2019-11-13 2021-05-14 腾讯科技(深圳)有限公司 内容浏览进度显示方法、装置及可读存储介质
CN114302073A (zh) * 2021-12-31 2022-04-08 吉林建龙信息科技有限公司 动态视频叠加图表文字的处理方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1557083A (zh) * 2001-09-20 2004-12-22 �ʼҷ����ֵ��ӹɷ����޹�˾ 基于用户注意力的实时多媒体内容递送的质量适配
WO2007113580A1 (en) * 2006-04-05 2007-10-11 British Telecommunications Public Limited Company Intelligent media content playing device with user attention detection, corresponding method and carrier medium

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213051B2 (en) * 2002-03-28 2007-05-01 Webex Communications, Inc. On-line conference recording system
US8065614B2 (en) * 2003-04-09 2011-11-22 Ati Technologies, Inc. System for displaying video and method thereof
US7523409B2 (en) * 2005-05-24 2009-04-21 Microsoft Corporation Methods and systems for operating multiple web pages in a single window
US7917773B2 (en) * 2007-05-02 2011-03-29 Microsoft Corporation Visibility-aware services
US8136040B2 (en) * 2007-05-16 2012-03-13 Apple Inc. Audio variance for multiple windows
US20090119329A1 (en) * 2007-11-02 2009-05-07 Kwon Thomas C System and method for providing visibility for dynamic webpages
US20090144648A1 (en) * 2007-12-04 2009-06-04 Google Inc. Tabbed windows for viewing multimedia programs
US8468426B2 (en) * 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US8448090B2 (en) * 2009-01-23 2013-05-21 Hewlett-Packard Development Company, L.P. Selective plug-in activation for resource-limited platforms
US8250478B2 (en) * 2010-01-28 2012-08-21 Microsoft Corporation State persistence and background initialization for post-back web applications
US8412842B2 (en) * 2010-08-25 2013-04-02 Telefonaktiebolaget L M Ericsson (Publ) Controlling streaming media responsive to proximity to user selected display elements
JP5772069B2 (ja) * 2011-03-04 2015-09-02 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US8873771B2 (en) * 2011-05-10 2014-10-28 International Business Machines Corporation Automatic volume adjustment
US20120307890A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Techniques for adaptive rounding offset in video encoding
US8769011B2 (en) * 2011-06-21 2014-07-01 Cisco Technology, Inc. Survivable browsing in virtualized desktop environment when host connectivity is lost
US8250228B1 (en) * 2011-09-27 2012-08-21 Google Inc. Pausing or terminating video portion while continuing to run audio portion of plug-in on browser
EP2798532A4 (en) * 2011-12-29 2015-07-29 Intel Corp DEVICES AND METHODS FOR GUARANTEE AWARENESS IN HARDWARE ACCELERATED VIDEO SYSTEMS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1557083A (zh) * 2001-09-20 2004-12-22 �ʼҷ����ֵ��ӹɷ����޹�˾ 基于用户注意力的实时多媒体内容递送的质量适配
WO2007113580A1 (en) * 2006-04-05 2007-10-11 British Telecommunications Public Limited Company Intelligent media content playing device with user attention detection, corresponding method and carrier medium

Also Published As

Publication number Publication date
EP2891039B1 (en) 2020-01-08
US9652112B2 (en) 2017-05-16
WO2014036515A1 (en) 2014-03-06
CN104737099A (zh) 2015-06-24
CN108347648B (zh) 2021-01-22
EP2891039A1 (en) 2015-07-08
CN108347648A (zh) 2018-07-31
US8966370B2 (en) 2015-02-24
US20140068436A1 (en) 2014-03-06
US20150121226A1 (en) 2015-04-30
EP2891039A4 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
CN104737099B (zh) 视频质量的动态调整
CN104838333B (zh) 在多个多媒体内容之间切换时调整多媒体的音频音量
DE102014009871B4 (de) Vorhersagendes Weiterleiten von Meldungsdaten
US10645055B1 (en) Trend detection for content targeting using an information distribution system
US9323835B2 (en) Cloud-based web content filtering
US9633358B2 (en) Interactive presentations with integrated tracking systems
WO2021147462A1 (zh) 标签展示方法、装置、电子设备和计算机可读介质
CN110268717A (zh) 使用播放统计信息对多表示编码的比特率优化
CN105900467A (zh) 离线内容共享
TW201335773A (zh) 確定網頁中的頁面元素的方法以及裝置
CN103425386A (zh) 微博显示控制的方法及微博客户端
CN104081393B (zh) 网络应用内容映射
US11170059B2 (en) Personalized content selection for time-constrained sessions
CN105453014A (zh) 可调节的视频播放器
WO2015149321A1 (en) Personal digital engine for user empowerment and method to operate the same
KR20180136116A (ko) IoT 환경에서 개인 성향분석을 이용한 디지털 사이니지 시스템
CN110100260A (zh) 优化用于重定向请求链接的动态评论生成
US20160255174A1 (en) Data file and rule driven synchronous or asynchronous document generation
CN111611513A (zh) 一种基于用户身份信息的页面展示方法、装置和电子设备
US20210209562A1 (en) Analytics and Device Management Platform for Human Interaction
CN109788333A (zh) 用于全屏显示视频的方法及装置
CN107430750A (zh) 内容发布的个性化和场境通知
Chakravarty et al. Home-based telemental health services for Indian patients during the COVID-19 pandemic: A comparison with the pre-COVID phase
US10868846B2 (en) Delivering tailored audio segments within live audio streams
CN113111196B (zh) 一种多媒体资源推荐方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant