用于移动设备上视频流媒体和播放的内容感知的节能的制作方法

文档序号:18745794发布日期:2019-09-21 02:19阅读:168来源:国知局
用于移动设备上视频流媒体和播放的内容感知的节能的制作方法

本申请要求2017年2月2日提交的、申请号为15/423,490、发明名称为“用于移动设备上视频流媒体和播放的内容感知的节能(Content-aware energy savings for video streaming and playback on mobile devices)”的美国非临时专利申请以及2018年1月25日提交的、申请号为PCT/CN2018/074192、发明名称为CONTENT-AWARE ENERGY SAVINGS FOR VIDEO STREAMING AND PLAYBACK ON MOBILE DEVICES的国际专利申请的优先权和权益,上述申请以引用的方式并入本文中。

技术领域

本发明涉及能效,更确切地说,涉及与流媒体或播放含有嵌入广告的视频相关联的节能方法。



背景技术:

平板电脑和智能手机等移动设备的电池容量对于消费者对该设备的满意度极其重要。电池的单次/完全充电可能需要持续6-8小时,以便消费者在移动时使用该设备。这些设备的制造商们已经投入大量的资源实施技术,以降低设备功耗,从而延长电池在运行期间的寿命。独立的功率管理芯片可用于为设备的某些组件进行电源门控。另外,已经实施软件解决方案来降低设备功耗,例如通过减少低功率模式中活动线程的数量或降低显示器的亮度。

通常,移动设备耗能的重要部分在于向显示设备供电。例如,显示器背光可能需要大量电量来开启最亮的设置。另外,图形处理单元(graphics processing unit,GPU)中的一个或多个图形处理内核或片上系统(system-on-chip,SoC)可以专用于生成在显示设备上呈现的像素数据。这种活动会快速消耗电池,使移动设备在很短时间后就无法操作。因此,需要解决与现有技术相关联的这个和/或其它问题。



技术实现要素:

提供降低移动设备功耗的系统、计算机可读介质和方法。该方法包括以下步骤:检测将在所述移动设备执行的应用中观看的视频内容;检测与所述视频内容相关联的不想要的内容;以及响应于检测到所述不想要的内容,在所述应用中播放所述视频内容期间,以低功率模式运行所述移动设备。

在第一实施例中,所述不想要的内容包括作为一或多个视频帧包括在所述视频内容中的广告内容。

在第二实施例(可以或可以不与所述第一实施例组合)中,所述不想要的内容嵌入网页浏览器中显示的标记语言文档中。当所述标记语言文档渲染到所述网页浏览器中时,所述视频内容显示在所述不想要的内容旁边。

在第三实施例(可以或可以不与所述第一和/或第二实施例组合)中,以所述低功率模式运行所述移动设备可以包括使用动态电压频率调整(Dynamic Voltage and Frequency Scaling,DVFS)运行所述移动设备,以调节所述移动设备中包括的处理器的功耗。所述低功率模式还可以包括降低所述移动设备中包括的显示设备的分辨率。所述低功率模式还可以包括降低所述显示设备的亮度级。在一些实施例中,所述低功率模式可以实施前述技术中的两个或多个,以降低功耗。

在第四实施例(可以或可以不与所述第一、第二和/或第三实施例组合)中,以嵌入模式显示所述视频内容。所述低功率模式可以包括通过掩盖所述不想要的内容和/或限制与所述不想要的内容相关联的一个或多个线程来运行所述移动设备。

在第五实施例(可以或可以不与所述第一、第二、第三和/或第四实施例组合)中,所述应用包括插件,用于响应于检测到所述不想要的内容调用应用软件编程接口(application programming interface,API)方法,以使所述移动设备进入所述低功率模式。

在第六实施例(可以或可以不与所述第一、第二、第三、第四和/或第五实施例组合)中,由操作系统的内核空间中执行的设备驱动程序实施所述API。

在第七实施例(可以或可以不与所述第一、第二、第三、第四、第五和/或第六实施例组合)中,检测不想要的内容可以包括标识与所述视频内容相关联的元数据中包括的标记的步骤。所述标记指定所述视频内容中包括的广告内容的显式起点和终点。检测不想要的内容还可以包括利用用户反馈标识所述视频内容中包括的广告内容的显式起点和终点。最后,检测不想要的内容还可以包括分析所述视频内容以标识广告内容对应的关键词或图像。

在第八实施例(可以或可以不与所述第一、第二、第三、第四、第五、第六和/或第七实施例组合)中,检测视频内容包括解析标记语言文档以标识包括指向视频文件的指针的多媒体元素的步骤。

为此目的,在一些可选实施例中,前述装置、系统和/或方法的一个或多个上述特征可以提供更高效的方式配置大型数据集的探索操作,因此可以使数据分析员更高效地工作并减少探索操作获取的结果中的错误。应注意,前述潜在优点仅仅是出于说明性目的而阐述,不应理解为任何方式的限制。

附图说明

图1示出根据一实施例的移动设备;

图2示出根据一实施例的移动设备的软件环境;

图3A到图3C示出根据一实施例的移动设备显示的视频内容;

图4示出根据一实施例的包括广告内容的视频内容;

图5示出根据一实施例的检测与视频内容相关联的不想要的内容的系统;

图6是根据一实施例的用于降低移动设备功耗的方法的流程图;以及

图7示出其中可以实施各种先前实施例的各种架构和/或功能的示例性系统。

具体实施方式

已经花费了很多努力来设计技术以降低电子设备功耗。移动设备尤其受益于这些努力,因为降低功耗延长了电池寿命,从而使得这些设备在需要对电池重新充电之前能够使用更长的时间量。用于降低功耗的方案可以将其至少一些关注集中在降低显示设备的功耗上。与显示设备相关联的主要能耗是背光、液晶的有源矩阵以及以生成用于在设备上显示的像素数据为任务的处理器。例如,一些LED背光电视已经设计成具有位于液晶元件阵列后面的LED阵列,使得背光的亮度可以在与较深颜色相关联的屏幕区域中变暗。局部区域变暗可显著降低显示设备消耗的功率。

还可以使用其它技术来降低移动设备功耗。这些技术的一些实例是动态电压频率调整(Dynamic Voltage and Frequency Scaling,DVFS),用于以生成用于显示的像素数据为任务的处理器;降低渲染的像素数据的分辨率;限制专用于渲染操作的处理能力等。然而,这些技术通常对设备的操作具有不利影响。例如,为了降低处理器的工作电压,可能需要降低处理器的时钟频率。当在这些条件下进行某些操作时,用户可能注意到显著的延迟。作为另一实例,与正常操作相比,降低显示设备的亮度或显示设备上呈现的图像的分辨率可能对图像质量产生不利影响。正常使用时消费者可能不能接受这种降低性能来延长设备的电池寿命。但是,消费者可能能够在某些时间(例如电池几乎耗尽时)容忍降低性能。

这些时间中的一个可以是当用户被强制观看广告内容时。很多在线发布内容的内容提供商的主要收入来源就是广告收入。网页浏览器中查看的网页可以包括横幅广告或设计成引导用户访问广告商网站的赞助链接。当网页加载到浏览器窗口时,一些网站自动播放嵌入的视频内容。视频内容可以包括视频格式的文件,视频格式包括但不限于活动图像专家组-4高级视频编码(Moving Picture Experts Group 4Part 10/H.264,MPEG-4Part 10/H.264)、音频视频交错(Audio Video Interleave,AVI)和MOV(苹果Quicktime影片)以及其它合适的视频格式。传递到观看者的视频内容可以包括直接包含在视频内容中的广告内容,强制观看者观看广告内容以观看视频内容。

除了广告内容之外,网页可以包括次于网页的主要内容的其它附加内容。该附加内容可以包括导航栏、侧边栏信息、到同一网站上的其它页面的链接(例如,到新闻聚合网站上的其它文章的链接)等。严格来说,该附加内容可能不能定义为如链接到推广某种产品或服务的页面的横幅广告之类的广告内容。但是,附加内容可以次于网页中包括的主要内容(例如网页的主体部分包括的新闻报道或视频)。

当强制观看者观看网页焦点的主要内容之外的这种广告内容时,观看者更加不可能参与其中。因此,播放广告内容或同步显示这种附加内容制造了以低功率模式运行设备从而降低设备功耗并延长电池寿命的理想机会。如果显示广告内容时设备处于低功率模式,然后一旦观看者返回观看自己选择的内容,设备就返回正常模式,使用低功率模式的设备的体验不大可能分散用户注意力。

图1示出根据一实施例的移动设备100。移动设备100可以是智能手机或平板电脑或其它类型的电子设备,包括作为主要电源的电池。如图1所示,移动设备100包括耦合至存储器160的片上系统(system-on-chip,SoC)110和显示设备180。SoC 110是在集成电路上实施的处理器。存储器160是易失性存储设备,例如同步动态随机存取存储器(synchronous dynamic random access memory,SDRAM)。操作期间,操作系统、应用和/或数据可存储在存储器160中。在一个实施例中,SoC 110可以包括在叠层封装(package on package,PoP)配置中的一个或多个离散存储器IC。

显示设备180可以是液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)、有源矩阵OLED(active matrix OLED,AMOLED)等。在一个实施例中,显示设备180例如通过包括集成到显示设备180的层中的电容式触摸传感技术来实现触摸功能。在一些实施例中,例如LCD显示器中,显示设备180还可包括背光和背光控制器。背光可以是一个或多个LED,用于产生透过一层液晶元件的漫射白光。背光控制器可以实施为IC内的逻辑,用于控制LED的操作。可以通过背光控制器调节背光以控制显示设备180的亮度。

在一个实施例中,SOC 110包括至少一个CPU 120、至少一个GPU 130、系统总线102、存储器管理单元(memory management unit,MMU)140和存储器接口104。该CPU 120是具有一个或多个核心的通用处理器。在一个实施例中,CPU 120是精简指令集计算机(reduced instruction set computer,RISC)处理器核心,例如Coretex处理器。GPU 130是包括一或多个核心的平行处理单元,所述核心用于以可平行化方式处理图形或其它数据。GPU 130可以使用单指令流多数据流(single instruction,multiple data,SIMD)架构实施。在一个实施例中,GPU 130包括一个或多个Mali GPU核心。

存储器160耦合至存储器接口104,使得可将指令和数据加载到CPU 120和/或GPU 130内的片上存储器中。MMU 140管理由SoC 110的一个或多个组件产生的存储器访问请求。MMU 140还可以将与存储器访问请求相关联的虚拟地址转换成与存储器160中的位置相关联的物理地址。

移动设备100还耦合至射频收发器150、非易失性存储设备170和电源管理集成电路(power management integrated circuit,PMIC)190。射频收发器150可以包括至少一个天线和逻辑,用于对从移动设备100发送的或由移动设备100接收的信号进行编码或解码。例如,移动设备100可以包括用于在一个或多个蜂窝频带上发送蜂窝信号的无线电设备。或者,RF收发器150可用于通过Wi-Fi(例如,在2.4GHz或5GHz频段内)发送信号。非易失性存储设备170可以是硬盘驱动器(hard disk drive,HDD)、固态驱动器(solid state drive,SSD)、诸如EEPROM或CF存储卡(Compact Flash,CF)的闪存等。非易失性存储设备170可存储可在正常操作时加载到存储器160中的操作系统、应用和/或数据。

PMIC 190用于执行移动设备100的功率管理操作。在一个实施例中,PMIC 190将来自电池195的DC电源转换为供给SoC 110的供电电压。PMIC 190也可以用于通过调节供给SoC 110的供电电压等级和/或调节SoC 110使用的时钟域的频率来实施动态电压频率调整(Dynamic Voltage and Frequency Scaling,DVFS)。当移动设备插入外部电源时,PMIC 190还可以用于管理对电池195充电。在一些实施例中,PMIC 190集成到SoC 110中,而不是作为单独的IC包括在移动设备100内。

应了解,图1中所示的移动设备100仅是移动设备的一个示例性实施例。在不同的实施例中,移动设备100可以包括独立的和不同的CPU和/或GPU IC,而不是SoC 110。在其它实施例中,除了或代替图1所示的组件,移动设备100可以包括其它类型的组件。例如,移动设备100可以包括耦合至SoC 110的I/O端口的麦克风和/或扬声器。

图2示出根据一实施例的移动设备100的软件环境200。移动设备100可用于将操作系统210加载到存储器160中。操作系统210由CPU 120执行。操作系统210管理移动设备100的各种硬件接口,并使能够使用CPU 120和/或GPU 130执行应用。操作系统210可以包括操作系统内核,操作系统内核是定义操作系统内核的指令集。内核可以在存储器160中建立数据结构,该数据结构使得操作系统能够同时管理多个进程。内核还可以实现用于电源管理、调度和各种硬件资源的操作的功能。操作系统210还可以包括实施与移动设备100的组件相关联的各种功能的设备驱动程序。例如,可以为GPU 130安装设备驱动程序,该设备驱动程序使得CPU 120能够将各种操作卸载到GPU 130。还可以为显示设备180、RF收发器150、非易失性存储设备170、网络接口控制器(network interface controller,NIC)、键盘、鼠标、触摸板或触摸屏等输入设备安装设备驱动器。

在一个实施例中,操作系统210将虚拟地址空间划分为内核空间和用户空间。内核空间是分配给操作系统核心和相关进程的虚拟地址范围,用户空间是分配给普通进程的虚拟地址范围。换言之,可以在内核空间中执行某些程序,例如操作系统内核和经认证的设备驱动程序,而在用户空间中执行其它应用。用户空间中执行的进程不允许访问内核空间中的存储器,这防止了这些进程造成系统崩溃并直接访问硬件资源。然而,内核空间中运行的某些进程可以实施应用软件编程接口(application programming interface,API),API可以从用户空间中运行的进程中调用,使得用户空间中运行的进程可以以安全的方式访问某些低级功能。

应用240存储在存储器160中,并可由软件环境200内的CPU 120执行。在一个实施例中,应用240是网页浏览器,也可能是其它合适的应用。可以提供向应用240中添加某些功能的插件或其它软件组件230。在一个实施例中,插件230是在播放视频内容期间在正常模式和低功率模式之间切换移动设备的程序100。插件230可以存储在移动设备100的非易失性存储设备170中,并且当用户选择运行应用240时插件230加载到存储器160中。插件230用于在视频内容加载到应用240的窗口中时检测视频内容。当检测到视频内容时,插件230可以确定视频内容是否与任何不想要的内容相关联。不想要的内容可以包括作为一或多个视频帧包括在视频内容中的广告内容,嵌入窗口中并显示在视频内容旁边的广告内容,或嵌入窗口中并显示在视频内容旁边的任何附加内容。

例如不想要的内容可以包括视频内容中包括的广告内容。商业广告可以指,例如视频内容中包括的30秒的片段,包括可能与视频主题无关的产品或服务相关的图像。然后广告内容可以定义为包含在视频内容中的一个或多个商业广告(例如,帧序列)。不想要的内容还可以包括没有直接包含在视频内容内的元素。例如,不想要的内容可以指文本、赞助链接、图像、嵌入视频和/或在应用240的窗口内的视频内容旁边显示的其它元素。

在一个实施例中,将某一网站的特定元素标记为不想要的内容并存储在数据库中。当插件230加载标记语言文档时,插件230可以使用统一资源定位符(uniform resource locator,URL)查询数据库,以查找标记语言文档,从而确定网页是否有元素标记为不想要的内容。因此,插件230可以将数据库中标记的任何元素标识为不想要的内容。

如果插件230确定视频内容与不想要的内容相关联,插件230可以在播放视频内容期间以不同工作模式运行移动设备100。在一个实施例中,插件230可以利用应用软件编程接口(application programming interface,API)220,该API 220使得插件230能够在低功率模式和正常模式之间改变移动设备100的操作模式。在一个实施例中,API 220在PMIC 190的驱动程序中实施。API 220可以包括功能集合,该功能集合可以由用户空间中运行的插件230调用。这些功能可以使操作系统210向PMIC 190发送信号,所述信号使PMIC 190调整供给SoC 110的电压和/或调整SoC 110的时钟域的频率。驱动程序可以在内核空间中执行,从而API 220提供用户空间中运行的插件230和PMIC 190之间的桥,该桥由内核空间中运行的驱动程序控制。在另一实施例中,API 220在显示设备180的驱动程序中实施。API 220可以包括用于调节显示设备180的背光的亮度的一组功能。插件230可以通过调用API 220的对应功能来控制背光的亮度。在又一实施例中,API 220在GPU 130的驱动程序中实施。API 220可以使插件230指定渲染给显示设备180的图像的分辨率。例如,API 220可以包括使插件230配置帧缓冲区的分辨率的功能,该帧缓冲区的分辨率指定为从视频内容产生的像素数据的渲染目标。因此,可以按插件230所指定的特定分辨率来渲染视频内容。插件230可以将视频的分辨率动态调整为GPU 130渲染的每一视频帧。应了解,在一些实施例中,可在与操作系统210相关联的超过一个对应驱动程序中实施超过一个API,以使用户空间中执行的插件230使用不同的功能。在其它实施例中,操作系统核心本身可以通过定义的系统调用来实施API,该系统调用使用户空间中执行的插件230使用不同的功能。

在一个实施例中,插件230用于使用API 220将移动设备100切换为低功率模式。低功率模式可以包括通过例如DVFS、降低显示设备的亮度以及降低用于显示的渲染图像的分辨率的组合来节能的任何步骤。插件230可以响应于检测到不想要的内容,在应用中播放视频内容期间将移动设备100切换为低功率模式。

应了解,在一些实施例中,应用240和插件230可以实施为单独的应用。例如,插件230的功能可以在视频播放器等媒体查看器应用中实施。在此类实施例中,插件230不是网页浏览器之类的基础应用的独立扩展。

图3A到图3C示出根据一实施例的移动设备100显示的视频内容310。在一个实施例中,应用240可以是网页浏览器,用于读取包括与视频内容相关联的至少一个元素的标记语言文档(例如HTML文档、XML文档等)(也可能是其它合适类型的应用)。例如HTML文档可以包括视频元素,所述视频元素指定将在网页浏览器的窗口内显示的视频文件的源位置。HTML元素还可指定各种参数,例如该文档第一次加载到窗口时是否应该开始播放视频内容,或用户是否必须先单击网页浏览器内的HTML元素以发起播放视频内容。另外,可以在HTML元素渲染在网页浏览器的窗口中的范围内播放视频内容(即嵌入模式)或使用显示设备180的全部范围播放视频内容(即全屏模式)。

如图3A所示,移动设备100包括全屏模式播放视频内容310的显示设备180。视频内容310可以阻挡显示网页的任何其它元素,因为视频内容310覆盖在网页浏览器的图形表示的最上面。插件230用于全屏模式播放视频内容时检测视频内容。在全屏模式中,播放视频内容时,插件230用于检测作为一或多个视频帧包括在视频内容中的广告内容。在一个实施例中,可以使用与视频内容相关联的元数据中包括的标识标记指定广告内容。标记指定视频内容中包括的广告内容的显式起点和终点。标记可以包括时戳,指示视频中广告内容从哪里开始在哪里结束。标记可以存储为与编码视频内容的视频文件相关联的元数据。或者,标记可以直接包括在视频内容中,视频内容编码在视频文件内,例如通过编码信号,所述信号指定视频内容中视频帧的垂直空白间隙中的标记。

在另一实施例中,可以利用用户反馈指定广告内容以标识视频内容中包括的广告内容的显式起点和终点。插件230可以使用户指示视频内容内的某些视频帧是广告内容。例如,插件230可以提供图形用户接口(graphical user interface,GUI)元件,GUI使用户点击按钮指示视频内容中包括的广告内容的起点和终点。可以将用户提供的反馈进行编码并与多个其它用户的反馈一起发送至服务器。可以分析大量用户的反馈,以确定特定视频文件内的视频内容的哪些部分是广告内容。当所述用户加载包括视频内容的网页到网页浏览器时,插件230可以向服务器发送请求以确定视频内容中是否包括广告内容。服务器可以向插件230提供指示视频内容中哪些视频帧是广告内容的标记。

在又一实施例中,插件230可以用于分析视频内容以标识对应于广告内容的关键词或图像。通常通过少量黑帧将商业广告与视频内容中的其它场景分开。因此,插件230可以分析视频内容中的每一视频帧,以确定不同场景之间的分界,然后分析每个场景是否有指示该场景是广告内容的关键词或图像。例如,场景可以包括至少一帧含有一公司制作的商业广告中常用的公司名称或logo。图像分析可以用于标识场景内的名称或logo,然后由黑帧定义的场景的起点和终点可以指定为广告内容的起点和终点。或者,服务器可以以上文所描述的方式分析视频内容,然后向客户端设备上的插件230发送标识广告内容的起点和终点的标记。

应了解,上述检测视频内容中包括的广告内容的技术仅为检测这种广告内容的示例性实施例。插件230和/或服务器可访问的服务可以利用其它检测视频内容中包括的广告内容的熟知技术代替上述技术,也在本发明范围之内。

插件230用于使移动设备100在播放视频内容310期间以低功率模式运行。低功率模式中插件230可以利用DVFS来节省功率,通过在显示广告内容时以较低电压和/或较低频率运行移动设备100的处理器,例如SoC 110。在一个实施例中,插件230用于响应于检测到在移动设备100上显示广告内容,调用应用软件编程接口(application programming interface,API)方法使移动设备100进入低功率模式。检测到显示广告内容可以指在视频内容310检测到标记广告内容起点的帧。用户空间中运行的插件230调用API方法,造成系统中断。操作系统210和/或PMIC 190的设备驱动程序处理系统中断,在SoC 110的I/O端口生成信号,该信号发送到PMIC 190。信号指示PMIC 190降低供给SoC 110的电压和/或降低SoC 110利用的时钟域的频率。一旦已经显示广告内容,插件230可以在完成播放视频内容时使移动设备100返回到正常运行模式。

在另一实施例中,低功率模式下,插件230可以通过配置GPU 130以较低分辨率渲染标记为广告内容的视频帧,以降低视频内容的分辨率。例如,GPU 130渲染的并由显示设备180显示的视频内容可以以第一分辨率渲染,例如1920×1080像素。GPU 130可以用于将视频内容310渲染到根据第一分辨率配置的帧缓冲区中。插件230用于向GPU 130发送命令,该命令以较低分辨率配置新的帧缓冲,例如640×480像素。然后以较低分辨率将广告内容的每一帧渲染到新的帧缓冲。另外,GPU 130可以用于利用较低质量的渲染技术。例如,正常模式下,可以配置GPU 130使用MSAA或SSAA技术将视频内容310渲染到高分辨率帧缓冲中,但在低功率模式下可以重新配置GPU 130使用每个像素一个采样点将广告内容渲染到低分辨率帧缓冲中。显示广告内容期间降低视频内容的分辨率的效果是GPU 130需要渲染较少的像素和/或每个像素需要渲染较少的采样点,这样可以明显减少GPU 130渲染每一帧需要的时间。节能模式,例如当GPU 130在帧之间不活动时,在SoC 110内时钟门控GPU 130,可以节省大量功率。广告内容显示的图像质量可能比视频内容显示的图像质量差得多,但是当降低质量延长了移动设备100中的电池寿命时,观看者通常不会反对。

在又一实施例中,低功率模式下插件230可以降低移动设备100中包括的显示设备180的亮度级。在一个实施例中,插件230用于响应于检测到在移动设备上显示广告内容,调用应用软件编程接口(application programming interface,API)方法使移动设备100进入低功率模式。用户空间中运行的插件230调用API方法,造成系统中断。操作系统210和/或显示设备180的设备驱动程序处理系统中断,在SoC 110的I/O端口生成信号,该信号发送到显示设备180。信号指示显示设备180的背光控制器降低显示设备180的亮度。因此,在播放视频内容期间,当显示设备180上呈现广告内容时,可以将显示设备180的亮度降低例如50%,同样,播放广告内容时这种降低亮度对观看者来说是非常明显的,但是当降低亮度延长了移动设备100中的电池寿命时,观看者通常不会反对。全屏模式播放广告内容时降低背光的亮度可以大量节省显示设备180功耗。

在一些实施例中,以低功率模式运行移动设备100时,插件230可以用于组合两个或更多个上述技术。例如,插件230可以在播放广告内容期间,使设备利用DVFS使用较低电压和/或频率,以及降低渲染以供显示的广告内容的分辨率和降低屏幕的亮度。这些节能技术的组合可用于进一步减少低功率模式移动设备100的功耗。

一旦完成播放广告内容,插件230用于将移动设备100返回正常模式。插件230可以通过API 220产生系统调用,操作系统和/或PMIC 190的设备驱动程序处理系统调用,向PMIC 190发送信号,以将SoC 110的时钟域的电压和/或频率增加至较高电压和较高频率。插件230还可以使GPU 130通过重新配置帧缓冲以较高分辨率渲染视频内容310,以及通过API 220产生系统调用以提高屏幕亮度,由操作系统和/或显示设备180的设备驱动程序处理系统调用,向显示设备180的背光控制器发送信号。

视频内容310并不总是以全屏模式显示。一些视频内容310可以以嵌入模式播放,即在网页元素的范围内观看视频内容310。网页还可以包括文本、菜单、超链接等其它元素。一些其它元素还可以包括不想要的内容320,例如图片形式的横幅广告,通常与超链接相关联。当以嵌入模式播放视频内容310时,插件230用于掩盖不想要的内容320,例如图3C所示,只在黑色背景上渲染视频内容310。掩蔽网页的其它元素有效地阻止显示不想要的内容320。另外,插件230可以使SoC 110限制一个或多个与不想要的内容320相关联的线程。例如,某些不想要的内容320可以包括嵌入网页中作为与视频内容310不同的第二元素的动画或视频。可以分配独立的线程渲染视频内容310和不想要的内容320。当用户开始播放视频内容310时,插件230用于去激活(即限制)与不想要的内容320相关联的线程,而与视频内容310相关联的线程保持激活。也可以限制其它线程,例如与网页的其它元素相关的线程。

在一些实施例中,以嵌入模式播放的视频内容310也可以包括广告内容。换言之,视频内容310中包括的帧的子集标识为渲染视频内容310的元素之外显示的广告内容以及不想要的内容320。除了实施上述掩盖和限制线程技术阻止在低功率模式渲染与视频内容310分开的不想要的内容320之外,插件230还可以用于在显示视频内容310中包括的广告内容时实施上述技术(DVFS、降低分辨率和降低亮度)。

在一个实施例中,与视频内容相关联的内容可以分配有不同的优先级。例如,视频中包括的广告内容可以分配第一优先级,嵌入网页中在视频内容旁边的广告内容可以分配第二优先级,网页的附加元素(例如导航菜单/其它文章的链接等)可以分配第三优先级。用户可以制定标识为不想要的内容的优先级阈值。例如,一个用户可以只想指定视频内容中包括的广告内容为不想要的内容,从而在播放视频内容期间只有显示广告内容时进入低功率模式。另一用户可以指定视频内容中包括的广告内容和其它嵌入网页中的广告内容为不想要的内容。另一用户可以指定广告内容(视频内容中包括的广告内容和嵌入网页中在视频内容旁边的广告内容)以及其它元素为不想要的内容。

图4示出根据一实施例的包括广告内容350的视频内容310。如图4所示,视频内容310包括一系列帧,可以通过将每一帧渲染到显示设备180来播放。视频内容310在时间T0401处开始,时间T0 401处视频内容310的第一帧以视频文件格式(例如MPEG-4、AVC、AVI、MOV等)编码。视频内容310在时间T1 402前包括多个帧,在时间T1 402处广告内容350的第一帧出现在帧序列中。广告内容350可以是30秒的产品或服务的商业广告。如图4所示,商业广告是一家名为Burger Joint的公司的广告。商业广告中的广告内容350的最后一帧位于时间T2 403处。视频内容310中包括的附加广告内容350,例如Car Co.的商业广告,可以位于时间T3 404和T4 405之间的帧,且视频内容310的终点在时间T5 406处。

插件230用于检测将在移动设备100的应用内观看的视频内容310。插件230还用于检测与视频内容310相关联的不想要的内容,例如通过从与视频内容310相关联的元数据中读取标记检测视频内容310中包括的广告内容350,所述标记指示视频内容310中时间T1402和T2 403之间以及时间T3 404和T4 405之间包括的广告内容350。然后,在播放视频内容310期间,插件230用于在时间T0 401至时间T1 402之间以正常模式运行移动设备100,在时间T1 402至时间T2 403之间以低功率模式运行,在时间T2 403至时间T3 404之间以正常模式运行,在时间T3 404至时间T4 405之间以低功率模式运行,在时间T4 405至时间T5 406之间以正常模式运行。

图5示出根据一实施例的检测与视频内容相关联的不想要的内容的系统500。如图5所示,J客户端节点502通过网络510耦合至服务器节点504。在一个实施例中,网络510是因特网,节点之间通过TCP/IP协议通信。每个客户端节点502可以是包括插件230和应用240的移动设备100。

在一个实施例中,移动设备100的插件230可以从客户端节点502向服务器节点504发送反馈信息。反馈信息存储在数据库520中,所述数据库520将视频内容的文件名与用户产生的指示视频内容310中包括的广告内容350的标记相关联。服务器节点504可以包括软件,分析来自多个客户端节点502的反馈,以生成标识视频内容310中包括的广告内容350的标记。接收多个用户的反馈之后,服务器节点504可以分析所有反馈信息,以标识视频内容310中的广告内容350。

例如,每个用户可以指示视频内容310中广告内容350从哪里开始在哪里结束。服务器节点504执行的算法可以计算每个将视频内容310的帧标识为广告内容350的用户数。如果任何帧被超过用户数阈值的用户标识为广告内容350,则将该帧表示为广告内容350。然后基于哪些帧被用户标识为广告内容350,算法可以估计视频内容310中广告内容350从哪里开始在哪里结束。然后可以产生将那些帧标识为广告内容350的标记,并将标记与该特定视频文件相关联。

在另一实施例中,服务器节点504包括软件,用于对视频内容310的帧进行图像分析。服务器节点504可以将每一帧中的对象和与广告内容350相关联的已知对象进行比较,已知对象例如多个熟知的公司商标。服务器节点504还可以从帧中包括的文本中标识与广告内容相关联的关键词。该分析可以将视频的某些帧标识为可能为广告内容350。然后基于哪些帧通过图像分析标识为广告内容350,服务器节点504可以估计视频内容310中广告内容350从哪里开始在哪里结束。然后可以产生将那些帧标识为广告内容350的标记,并将标记与该特定视频文件相关联。

除了标识视频内容310中包括的广告内容350之外,服务器节点504还可以用于标识不包括在视频内容310中的不想要的内容。在一个实施例中,用户可以将标记语言文档的具体元素标记为不想要的内容,然后向服务器节点504提交反馈。服务器节点504可以收集用户反馈,并将用户反馈添加进数据库。一旦阈值数量的用户将标记语言文档中的特定元素标记为不想要的内容,服务器节点504可以在数据库中将该元素标记为不想要的内容。然后服务器节点504可以响应于客户端节点502的请求将该元素标识为不想要的内容。

在播放视频内容期间,插件230可以向服务器节点504请求信息,以标识视频内容310中包括的广告内容350的位置和/或与视频内容310相关联的不想要的内容的位置。

图6是根据一实施例的用于降低移动设备功耗的方法600的流程图。在步骤602,检测将在移动设备100执行的应用240中观看的视频内容310。在一个实施例中,应用是网页浏览器,在解析标记语言文档时检测视频内容。可以在解析标记语言文档期间标记语言文档的元素,以标识包括指向视频文件的指针的多媒体元素,该指针指示了视频内容将要嵌入向移动设备100的用户显示的浏览器窗口中。在另一实施例中,应用可以是媒体播放器应用,当用户请求应用打开视频格式的特定文件时检测视频内容。

在步骤604,检测与视频内容310相关联的不想要的内容。在一个实施例中,应用的插件230通过向服务器节点504请求这种信息确定视频内容310是否包括广告内容350。在另一实施例中,插件230读取与视频内容310相关联的元数据,以确定视频内容310中是否包括广告内容350。在又一实施例中,插件230标识以全屏模式或嵌入模式播放视频内容310。如果以嵌入模式播放视频内容,则可以通过查询服务器节点504标识不想要的内容320。在又一实施例中,不想要的内容可以标识为在视频内容310的范围外渲染的任何内容。

在步骤606,响应于检测到不想要的内容,在应用中播放视频内容期间,移动设备100用于以低功率模式运行。在一个实施例中,在播放视频内容310期间,插件230可以掩盖视频内容310旁边显示的任何元素以及限制与不想要的内容相关联的任何线程。在另一实施例中,当在播放视频内容310期间显示视频内容310中包括的广告内容350时,插件230可以使移动设备100在低功率模式运行。

图7示出其中可以实施各种先前实施例的各种架构和/或功能的示例性系统700。如图所示,提供包括连接到通信总线702的至少一个中央处理机701的系统700。通信总线702可以使用任何合适的协议实现,例如外围部件互连标准(peripheral component interconnect,PCI)、PCI-Express、加速图形端口(accelerated graphics port,AGP)、超传输总线或任何其它总线或点对点通信协议。系统700还包括主存储器704。逻辑控制(软件)和数据存储在主存储器704中。主存储器704可以采用随机存取存储器(random access memory,RAM)的形式。

系统700还包括输入设备712、图形处理器706、显示器708,即传统阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)、发光二极管(light emitting diode,LED)、等离子显示器等。可以从输入设备712(例如,键盘、鼠标、触摸板、麦克风等)接收用户输入。在一个实施例中,图形处理器706可以包括多个着色器模块、光栅化模块等。上述模块中的每个甚至可位于单个半导体平台上以形成图形处理单元(graphics processing unit,GPU)。

在本说明书中,单个半导体平台可以指单一的基于半导体的集成电路或芯片。应注意,术语单个半导体平台也可以指具有提高了连通性的多芯片模块,其模拟片上操作,并且相对于使用传统的中央处理器(central processing unit,CPU)和总线实施方式进行实质性的改进。当然,根据用户的需要,各模块也可以单独地或以半导体平台的各种组合来定位。

系统700还可以包括从存储设备710。从存储设备710包括例如硬盘驱动器和/或可移动存储驱动器,其表示软盘驱动器、磁带驱动器、光盘驱动器、数字多功能盘(digital versatile disk,DVD)驱动器、记录设备、通用串行总线(universal serial bus,USB)闪存。可移动的存储驱动器以熟知方式从可移动的存储单元读取和/或写入到可移动的存储单元。

计算机程序或计算机控制逻辑算法可存储在存储器704和/或从存储设备710中。当执行这种计算机程序时,其使得系统700执行各种功能。存储器704、存储设备710和/或任何其它存储设备是非瞬时性计算机可读存储介质的可能的示例。

在一个实施例中,可以在中央处理器701、图形处理器706、能够实现中央处理器701和图形处理器706的能力的至少一部分的集成电路(未示出)、芯片组(即集成电路的群组,设计成以执行相关功能的一个单元工作或出售)和/或任何其它集成电路中实现前述各附图的架构和/或功能。

再者,可以在通用计算机系、电路板系统、专用于娱乐目的的游戏控制台系统、应用专用系统和/或任何其它所需系统的情况下实现前述各附图的架构和/或功能。例如,系统700可以采用台式计算机、笔记本电脑、服务器、工作站、游戏控制台、嵌入式系统和/或任何其它类型的逻辑的形式。再者,系统700可以采用各种其它设备的形式,包括但不限于个人数字助理(personal digital assistant,PDA)设备、移动电话设备、电视等。

此外,尽管未示出,但是系统700可以出于通信目的耦合至网络(例如,电信网络、局域网(local area network,LAN)、无线网络、诸如因特网的广域网(wide area network,WAN)、对等网络、电缆网络等)。

在一示例实施例中,系统700包括:视频内容检测模块,检测将在移动设备执行的应用中观看的视频内容;不想要的内容检测模块,检测与视频内容相关联的不想要的内容;低功率模块,响应于检测到不想要的内容,在应用中播放视频内容期间,以低功率模式运行移动设备。在一些实施例中,系统700可以包括用于执行实施例中所描述的步骤中的任一个或组合的其它或额外模块。此外,根据任一附图所示或根据任一权利要求所述的方法的任一附加或替代实施例或方面也考虑包括类似模块。

应注意,在一个方面中,本文中描述的技术实施于计算机可读介质中存储的供指令执行机器、装置或设备使用或结合指令执行机器、装置或设备使用的可执行指令中,所述指令执行机器、装置或设备例如是基于计算机或含有处理器的机器、装置或设备。所属领域的技术人员应了解,对于一些实施例,包含其它类型的计算机可读介质,其可以存储可通过计算机访问的数据,计算机例如是盒式磁带、快闪存储器卡、数字视频磁盘、Bernoulli盒带、随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)等。

如此处使用,“计算机可读介质”包括用于存储计算机程序的可执行指令的任何合适的介质中的一种或多种,使得指令执行机器、系统、装置或设备可以从所述计算机可读介质读取(或提取)指令并且执行指令用于实施所描述的方法。合适的存储格式包含电子、磁性、光学和电磁格式中的一个或多个。常规示例性计算机可读介质的非详尽性列表包括:便携式计算机磁盘;RAM;ROM;可擦除可编程只读存储器(EPROM或快闪存储器);光学存储设备,包含便携式压缩光盘(compact disc,CD)、便携式数字视频光盘(digital video disc,DVD)、高清DVD(HD-DVD)、蓝光光盘;以及其类似者。

应理解,所描述的图中示出的组件的布置是示例性的,并且可能有其它布置。还应理解,由权利要求书界定的、下文描述的并且在各种框图中所说明的各种系统组件(和构件)表示根据本文中所揭示的主题配置的一些系统中的逻辑组件。

例如,这些系统组件(和构件)中的一个或多个可以整体或部分地通过所描述的图中示出的布置中示出的组件中的至少一些实现。另外,尽管这些组件中的至少一个至少部分地实施为电子硬件组件并因此构成机器,但是其它组件可以实施于软件中,当包含于执行环境中时构成机器、硬件或软件和硬件的组合。

更确切地说,由权利要求书界定的至少一个组件至少部分实施为电子硬件组件,例如指令执行机器(例如基于处理器的或含有处理器的机器),和/或实施为特定或线路(例如,分立逻辑门,互连以执行特定功能)。可以软件、硬件或软硬件组合的形式实施其它组件。此外,可以组合这些其它组件中的一些或全部组件,可以完全省略一些组件并且可以添加其它组件,同时仍实现本文中描述的功能。因此,本文中描述的主题可以许多不同变化形式体现,且所有此类变化形式涵盖在权利要求书的范围内。

在以上描述中,除非另外指明,否则参考动作和由一个或多个设备执行的操作的符号表示来描述主题。因而,应理解,有时被称为计算机执行动作和操作的此类动作和操作包含构造形式的数据处理器的操作。此运算会转换数据或将其保持在计算机存储器系统中的位置处,所述运算会以本领域的技术人员较好理解的方式来重新配置或以其它方式更改装置的操作。数据在存储器的物理位置处维持为具有由数据格式界定的特定性质的数据结构。然而,虽然在前文背景下描述了主题,但这并不表示对所述主题的限制,所属领域的技术人员将了解,下文中描述的各种动作和操作也可以实施于硬件中。

计算机可读非瞬时介质包括所有类型的计算机可读介质,包括磁存储介质、光存储介质和固态存储介质,并且具体地说,不包括信号。应理解,软件可以安装在移动设备中并与移动设备一起出售。或者,可获得该软件并将其加载到移动设备中,包括使用磁盘介质或从任何方式的网络或分配系统获得该软件,包括,例如从软件创建者拥有的服务器或从不归软件创建者拥有但其使用的服务器中获得该软件。例如,软件可以存储在服务器上,用于在因特网上分发。

为了促进对本文中描述的主题的理解,根据动作顺序描述许多方面。由权利要求限定的这些方面中的至少一个方面由电子硬件组件执行。例如,将认识到,可通过专用电路或电路系统,通过正由一个或多个处理器执行的程序指令或通过这两者的组合执行各个动作。本文中对任何动作顺序的描述并不意图暗示必须遵循用于执行此顺序而描述的特定次序。除非本文另外指出或另外明显与内容相矛盾,否则本文所述的所有方法可以任何合适顺序执行。

除非本文中另外指出或明显与内容相矛盾,否则在描述要素的情况下(尤其在以上权利要求书的情况下)使用术语“一(a/an)”和“所述”以及类似指示物应理解为涵盖单数和复数。除非在本文中另外指示,否则对本文中值范围的叙述仅意图充当个别提及属于所述范围的每一单独值的速记方法,且每一单独值并入本说明书中,如同在本文中个别地叙述一般。此外,上述描述仅出于说明的目的,而不是出于限制的目的,因为寻求保护的范畴由附属权利要求及其任何等效物来限定。除非另外要求,否则本文中所提供的对任何和所有示例或示例性语言(例如,“例如”)的使用仅仅是为了更好地说明主题,而并非对主题的范围造成限制。在附属权利要求和书面描述二者中使用术语“基于”和指示产生结果的条件的其它类似短语并不意图排除产生所述结果的其它条件。本说明书中的任何语言都不应理解为指示实践本发明所必需的任何非主张的要素。

本文中描述的实施例包含发明人实施所要求的主题已知的一个或多个模式。应了解,在阅读上述描述之后,那些实施例的变型对于本领域的技术人员将变得显而易见。本发明人期望本领域的技术人员适时采用此类变化,并且本发明人意图以不同于本文中特定描述的其它方式来实践本发明所主张的标的物。因此,所主张的标的物包括可适用法律所准许的在附属权利要求中叙述的标的物的所有变化和等效物。此外,除非本文另外指示或以其它方式明显与上下文相矛盾,否则本发明涵盖上文所描述的元件以其所有可能的变化形式的任何组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1