CN103686393B - 基于窗口可视性状态的媒体流选择性解码 - Google Patents

基于窗口可视性状态的媒体流选择性解码 Download PDF

Info

Publication number
CN103686393B
CN103686393B CN201310419412.4A CN201310419412A CN103686393B CN 103686393 B CN103686393 B CN 103686393B CN 201310419412 A CN201310419412 A CN 201310419412A CN 103686393 B CN103686393 B CN 103686393B
Authority
CN
China
Prior art keywords
video content
media stream
window
application window
beholder
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.)
Expired - Fee Related
Application number
CN201310419412.4A
Other languages
English (en)
Other versions
CN103686393A (zh
Inventor
J·C·韦斯特
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103686393A publication Critical patent/CN103686393A/zh
Application granted granted Critical
Publication of CN103686393B publication Critical patent/CN103686393B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4542Blocking scenes or portions of the received content, e.g. censoring scenes
    • 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/439Processing of audio elementary streams
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及基于窗口可视性状态的媒体流选择性解码。根据本发明的系统和方法可以确定与媒体流相关联的应用程序窗口的可视性状态,并且基于可视性状态对媒体流选择性地进行解码。如果可视性状态表示至少一部分应用程序窗口包括受阻状态,则可以阻止相对于诸如视频内容之类的媒体内容的一个或多个解码操作。如果可视性状态表示至少一部分应用程序窗口包括可视状态,则可以准许相对于诸如视频内容之类的媒体内容的一个或多个解码操作。该系统和方法导致资源利用(诸如处理器利用)、功耗等方面的益处。

Description

基于窗口可视性状态的媒体流选择性解码
技术领域
本申请涉及媒体流解码。
背景技术
诸如智能电视机(TV)、笔记本电脑、平板电脑、手机等消费电子产品平台,可以对来自包括在线媒体服务器、磁盘驱动器、硬盘驱动器等多种源的媒体流进行解码和/或再现,其中媒体流可以包括一个或多个类型的媒体内容,诸如视频内容和音频内容。虽然某些媒体平台可能试图增强播放性能或减小媒体管道瓶颈,这些解决方案一般是基于一个前提的,即对诸如视频内容之类的底层内容必须要进行解码和显示。简言之,一旦开始了播放,传统媒体平台对所有媒体流内容进行解码和显示而不管个体的实际使用情况或对内容的关注,除非该个体明确地停止播放。因此,在个体不再体验媒体流或只体验媒体流中一部分(例如,只听而不看)的一些情况中,会发生诸如处理器、解码器和其它能源密集型资源等的不必要的资源利用。
附图说明
对熟悉本领域技术的人员来说,通过阅读下面的说明书和所附的权利要求书以及参考下面的附图,本发明一些实施例的各种优点将变得显而易见,在附图中:
图1A是视频显示设备的示例的方框图,其中根据实施例,在可视性应用程序窗口上将准许视频内容;
图1B是视频显示设备的示例的方框图,其中根据实施例,在被另一个应用程序窗口阻挡的应用程序窗口上将阻止视频内容;
图1C是视频显示设备的示例的方框图,其中根据实施例,在被物理物体阻挡的应用程序窗口上将阻止视频内容;
图2是根据实施例,基于应用程序窗口可视性状态对视频内容选择性地进行解码的方法的示例的流程图;
图3是根据实施例,基于是否应用程序窗口被阻挡而对媒体流选择性地进行解码的方法的示例的流程图;
图4是根据实施例,基于应用程序窗口是否是可视的而对媒体流选择性地进行解码的方法的示例的流程图;
图5是根据实施例的逻辑架构的示例的方框图;
图6是根据实施例的窗口状态模块实施的示例的方框图;
图7是根据实施例的媒体内容计算系统的示例的方框图;
图8是根据实施例的包括窗口状态模块和解码模块的系统的示例的方框图;以及
图9是根据实施例的具有小型尺寸的系统的示例的方框图。
具体实施方式
一些实施例可以包括具有逻辑的设备,以确定与媒体流相关联的应用程序窗口的可视性状态,并且基于可视性状态对媒体流选择性地进行解码。术语“可视性状态”是指应用程序窗口部分地或全部地受到阻挡的状态,例如,被另一个窗口、被一个物体、被运动等、或被它们的组合,所阻挡。例如,对于用户或观察者等或他们的组合来说,术语“可视性状态”是指应用程序窗口的状态是部分地或全部地可视的。
可以通过使用诸如窗口排序(ordering)或透明度之类的窗口度量,通过使用诸如光或运动传感器之类的传感器,以及通过使用其组合来确定可视性状态。例如,如果可视性状态表示至少一部分应用程序窗口被阻挡,则可以阻止相对于诸如视频内容之类的媒体内容的一个或多个解码操作。同样,例如,如果可视性状态表示至少一部分应用程序窗口是可视的,则可以准许相对于媒体内容的一个或多个解码操作。设备还可以包括去复用器,以接收和分离一个或多个类型的媒体流内容,例如,接收和分离音频-视频流的视频内容和音频内容。设备可以包括解码器,以对一个或多个类型的内容进行解码。
一些实施例还可以包括一种系统,其具有逻辑,所述逻辑和诸如电源、存储器、存储单元、网络接口部件之类的部件以及其组合相结合,以确定与媒体流相关联的应用程序窗口的可视性状态,并基于可视性状态对媒体流选择性地进行解码。系统还可以包括用于内容的专用部件,诸如用于视频内容的专用图形部件。系统可以包括光传感器部件,诸如照相机、或诸如加速度计或陀螺仪等或其组合的运动传感器部件。
此外,一些实施例可以包括具有指令集的计算机可读存储介质,如果通过处理器执行该指令集的话,可以导致处理器接收包括一个或多个类型的内容(例如,包括视频内容)的媒体流。所述指令如果被执行的话,还可以导致处理器确定与媒体流相关联的应用程序窗口的可视性状态。所述指令如果执行的话,还可以导致处理器基于可视性状态对媒体内容选择性地进行解码,例如,对视频内容选择性地进行解码。
其它一些实施例可以包括计算机实现的方法,在所述方法中可以接收媒体流。媒体流可以包括诸如音频内容之类的任何类型的媒体内容,并且如果用户例如正在收听内容、使用内容、和内容交互、以及其组合,就可以相对于媒体内容准许一个或多个解码操作。计算机实现的方法还可以包括确定与包括媒体内容(诸如视频内容)的媒体流相关联的应用程序窗口的可视性状态。此外,计算机实现的方法可以包括基于可视性状态对诸如视频内容之类的媒体内容选择性地进行解码。
一些实施例还可以包括媒体流设备,所述媒体流设备具有用于接收包括视频内容的媒体流的装置、用于确定与媒体流相关联的应用程序窗口的可视性状态的装置、以及用于基于可视性状态对视频内容选择性地进行解码的装置。
图1A示出设备10,该设备10包括屏幕12和音频部件14,可以为所述设备10确定应用程序窗口20的可视性状态,并可以为所述设备10基于该可视性状态由视频解码器18对视频内容16选择性地进行解码。所示的设备10可以包括任何视频显示平台,诸如笔记本电脑、个人数字助理(PDA)、无线智能电话、媒体内容播放机、成像装置、移动互联网装置(MID)、诸如智能电话、智能平板电脑、智能电视机等的任何智能装置,或任何其组合。例如,可以从YouTube网络服务器、视频编辑软件、诸如手机摄像头或广播电视摄象机之类的图像捕获装置、蓝光播放机、硬盘驱动器等、或任何其组合来接收包括视频内容16的媒体流。视频内容16可以与诸如音频内容之类的其它媒体内容多路复用,或可以与其它媒体内容相分离地到达视频解码器18。
可以在应用程序、操作系统、媒体框架、硬件部件等、或其组合中实施视频解码器18。视频解码器18还可以实施作为诸如音频-视频解码器之类的组合解码器,以相对于媒体流的一个或多个媒体内容执行一个或多个解码操作。还可以存在一个或多个其它解码器以相对于诸如音频内容、文字内容等、或任何其组合之类的其它内容执行一个或多个解码操作。当使用音频解码器,并且媒体流包括音频内容时,可以对音频内容进行解码,并且再现于音频部件14,以在耳塞、扬声器等或其组合上播放音频流。
所示的应用程序窗口20是可视的,并且视频解码器18用于相对于视频内容16执行一个或多个解码操作,以使得经解码的视频内容将被再现和显示在应用程序窗口20中。例如,可以准许视频内容16到达视频解码器18处,诸如通过使视频内容16维持在视频管道的任何部件处(包括网络接口部件、存储器、操作系统、应用程序等、或其组合)来完成此举。可以通过在视频管道的任何部件处允许与视频内容16交互作用而准许视频内容16到达视频解码器18处,例如,通过允许对存储器的视频内容16的访问、允许视频解码器18访问视频内容16、允许视频管道任何部件中视频内容16的输入或输出等、或其组合。视频解码器18还可以接收视频内容16并且对其进行解码,可以对其进行解码并且再现于应用程序窗口20中等、或其组合。
现在转到图1B,图中示出的应用程序窗口20被另一个应用程序窗口22阻挡,而且阻止了相对于视频内容16的一个或多个解码操作。例如,可以阻止视频内容16到达视频解码器18,诸如通过删除从视频管道的任何部件来的视频内容16,这些部件包括网络接口部件、存储器、操作系统、应用程序等、或其组合来完成此举。通过在视频管道任何部件处限制与视频内容16的交互作用,可以阻止视频内容16到达视频解码器18,例如,通过限制对存储器的视频内容16的访问、限制视频解码器18对视频内容16的访问、限制视频管道的任何部件中的视频内容16的输入或输出等、或其组合来完成此举。视频解码器18还可以接收视频内容16而不对其进行解码,可以对其进行解码而不再现于应用程序窗口20中等、或其组合。相似地,图1C示出所示的应用程序窗口20被物理物体24所阻挡,并且基于应用程序窗口20的可视性状态相对于视频内容16阻止一个或多个解码操作。在应用程序窗口20被阻挡时阻止对视频内容16进行解码,可以保存处理资源,减少功率消耗以及延长电池寿命。
当媒体流包括诸如音频内容之类的其它媒体内容时,该其它媒体内容可以被解码并再现于例如音频部件14。在一个实施例中,可由设备10连续地接收音频-视频媒体流作为诸如YouTube播放列表之类的一部分播放列表,其中在应用程序窗口16中显示视频内容16,并且使音频内容再现于音频部件14。例如,当应用程序窗口20被应用程序窗口22或物理物体24阻挡时,阻止相对于视频内容16的一个或多个解码操作,并且准许相对于音频内容的一个或多个解码操作。可以保持应用程序窗口20被阻挡直到播放列表结束或直到用户终止媒体流。如果应用程序窗口20变成可视的而播放列表还在继续,则在所示的示例中,准许相对于视频内容的一个或多个解码操作。
图2示出对视频内容选择性地进行解码的一个方法100。方法100可以作为一组逻辑指令来实现,这组逻辑指令存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪存等机器-或计算机可读存储介质中;存储在诸如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGF)、复杂可编程逻辑器件(CPLD)等可配置的逻辑中;存储在使用诸如专用集成电路(ASIC)、CMOS或晶体管-晶体管逻辑(TTL)技术之类电路技术的固定功能逻辑硬件中;或任何其组合。例如,可以以一个或多个编程语言的任何组合来编写执行方法100中所示的操作的计算机程序代码,这些语言包括诸如C++等的面向对象的编程语言以及诸如“C”编程语言或相似编程语言之类的传统的过程编程语言。此外,可以使用任何上述电路技术来实施方法100。
提供所示的处理方框120用于接收包括视频内容的媒体流。可以自多个源接收媒体流,包括诸如YouTube网络服务器的在线媒体服务器、磁盘驱动器、诸如蓝光播放机、硬盘驱动器、存储器、存储单元等、或其组合。媒体流可以包括一个或多个其它内容,诸如音频内容、文字内容等、或其组合,这些其他内容可以与视频内容多路复用或去复用。可在任意平台处接收媒体流,诸如笔记本电脑、个人数字助理(PDA)、无线智能电话、媒体内容播放机、成像装置、移动互联网装置(MID)、诸如智能电话、智能平板电脑、智能电视机的任何智能装置等,或其任何组合。还可以在视频管道的任何级或部件处(包括网络接口部件、存储器、解码器、去复用器、操作系统、应用程序等)接收媒体流。
提供所示的处理方框130用于确定与媒体流相关联的应用程序窗口的可视性状态。应用程序窗口的可视性状态可以包括受阻状态、可视状态、或其组合。例如,可以完全阻挡应用程序窗口,并且可视性状态可以表示应用程序窗口包括受阻状态。同样,可以阻挡一部分应用程序窗口,该部分可以包括基于应用程序窗口部分的位置、部分的区域、部分的像素计数等、或其组合的应用程序窗口的预定义部分。当受阻挡的一部分应用程序窗口超过阻挡阀值时,可视性状态可以表示应用程序窗口包括受阻状态。应用程序窗口还可以在运动中,诸如当包括应用程序窗口的平台运动时。当在运动中的一部分应用程序窗口超过运动阀值时,可视性状态可以表示应用程序窗口包括受阻状态。
应用程序窗口可以是对用户而言完全可视的,并且可视性状态可以表示应用程序窗口包括可视状态。同样,一部分应用程序窗口可以是可视的,该部分可以包括预定义的部分,并且可视性状态可以表示应用程序窗口包括可视状态。一部分可视的应用程序窗口可对用户而言超过可视阀值地可视,并且可视性状态可以表示应用程序窗口包括可视状态。应用程序窗口可以在运动中,并且不超过运动阀值,而可视性状态可以表示应用程序窗口包括可视状态。在一个实施例中,应用程序窗口可以是可观察的但却可包括受阻状态,例如,当超过了应用程序窗口的运动阀值时。用户可以通过媒体管道任何级处实施的策略来定义阀值,例如,使用诸如图形用户接口之类的用户接口,以规定在应用程序、操作系统、框架、硬件等、或其组合中实施的策略。
还可以通过使用窗口度量来确定可视性状态,其中窗口度量可以包括z-排序,其指代一个或多个应用程序窗口的堆叠次序。例如,在诸如无线智能电话之类的平台上显示的一个应用程序窗口可被确定为堆叠在要显示在平台上的所有其它窗口之上。还可由在平台上显示的各种应用程序窗口,且可以确定z-排序来表示各种应用程序窗口的堆叠次序。可以使用窗口度量来表示堆叠在所有其它窗口上的应用程序窗口包括可视状态,或堆叠在最上面的应用程序窗口之下的一个或多个窗口包括受阻状态。窗口度量还可以包括透明度,其可指代一个或多个应用程序窗口的不透明度或透明度。例如,可以堆叠两个应用程序窗口以致应用程序窗口之一的至少一部分是透明的,以显示另一应用程序窗口的至少一部分。可以使用可视性度量来表示包括显示部分的应用程序窗口可以包括可视状态。
可视性度量还可以包括位置,其可指代应用程序窗口相对于其它应用程序窗口、相对于显示器、相对于用户等、及其组合的位置。例如,可以使用诸如摄象机之类的光传感器以提供表示应用程序窗口相对于用户的位置的位置数据,诸如当摄象机所采样的光跌到预定阀值以下时表示平台可能在用户的口袋中,或用户实际可能没有观看应用程序窗口中的内容。可以使用可视性度量来表示应用程序窗口包括受物体阻挡的状态。可视性度量还可以包括应用程序窗口相对于其它应用程序窗口、相对于显示器、相对于用户等、及其组合的运动。例如,可以使用诸如加速度计或陀螺仪之类的运动传感器来确定应用程序窗口相对于用户的加速度或运动,诸如当运动或加速度超过预定阀值时表示用户可能正在走路、奔跑等,或用户实际可能没有观看应用程序窗口中的内容。可以使用可视性度量来表示应用程序窗口包括运动阻挡状态。
提供所示的处理方框140用于基于可视性状态对视频内容选择性地进行解码。在一个实施例中,可以相对于诸如视频内容之类的媒体内容阻止一个或多个解码操作,例如,如果可视性状态表示至少一部分应用程序窗口受到阻挡。例如,可以使用窗口度量来表示应用程序窗口没有处于受阻状态,或是处于可视状态。窗口度量可改变,并导致可视性状态从可视状态改变到受阻状态,其中受阻状态中将会相对于视频内容阻止一个或多个解码操作。在另一个实施例中,例如,如果可视性状态表示至少一部分应用程序窗口是可视的。则可以相对于媒体内容准许一个或多个解码操作。例如,所使用的、表示应用程序窗口处于受阻状态、或没有处于可视状态的窗口度量可改变,并导致可视性状态从受阻状态切换到可视状态,其中可视状态中将会相对于视频内容准许一个或多个解码操作。
现在转到图3,提供方法200用于基于应用程序窗口是否受阻挡而对媒体流选择性地进行解码。可以使用这里提到的任何技术来实现方法200,并且可以在任何时刻实现,诸如在接收到媒体流时、媒体流内容存储时、处理媒体流内容时、再现或显示媒体流内容时等、或其组合。所示的处理方框220确定应用程序窗口的可视性状态。可以在方框222处作出应用程序窗口是否与媒体流相关联的判定。例如,可以作出如下判定:应用程序窗口是否将要显示媒体流的内容、是否正在显示媒体流的内容、或其组合。如果判定为否,则所示的处理方框220可以在稍后时间确定同一个应用程序窗口的可视性状态。如果判定为是,则可以在方框224处作出媒体流是否包括视频内容的判定。如果媒体流不包括视频内容,则在方框226处判定媒体流是否包括诸如音频内容之类的其它内容。如果判定为是,则所示的处理方框230准许相对于媒体流的一个或多个类型的内容(诸如音频内容)的一个或多个解码操作。如果媒体流包括视频内容,则在方框228处作出判定:是否应用程序的至少一部分(其可以是应用程序的一个预定部分)是被阻挡的。如果判定为否,则处理方框230可以准许相对于视频内容的一个或多个解码操作。如果判定为是,则所示的处理方框232阻止相对于视频内容的一个或多个解码操作。
图4示出方法300,提供该方法用于基于应用程序窗口是否是可视的而对媒体流选择性地进行解码。可以使用这里提到的任何技术来实现方法300,并且可以在任何时刻实现,诸如在接收到媒体流时、媒体流内容存储时、处理媒体流内容时、再现或显示媒体流内容时等、或其组合。所示的处理方框320确定应用程序窗口的可视性状态,其中可以在方框322处作出应用程序窗口是否与媒体流相关联的判定。例如,可以作出如下判定:应用程序窗口是否将要显示媒体流的内容、是否正在显示媒体流的内容、或其组合。如果判定为否,则所示的处理方框320可以在稍后时间确定同一个应用程序窗口的可视性状态。如果判定为是,则可以在方框324处作出媒体流是否包括视频内容的判定。如果媒体流不包括视频内容,则在方框326处确定媒体流是否包括诸如音频内容之类的其它内容。如果判定为是,则处理方框330准许相对于媒体流的一个或多个类型的内容(诸如音频内容)的一个或多个解码操作。如果媒体流不包括视频内容,则在方框328处作出判定:是否应用程序的至少一部分(其可以是应用程序的一个预定部分)是可视的。如果判定为是,则处理方框330可以准许相对于视频内容的一个或多个解码操作。如果判定为否,则处理方框332可以阻止相对于视频内容的一个或多个解码操作。
现在转到图5,设备400可以包括具有窗口状态模块440和解码模块450的逻辑架构438。一般可以把逻辑架构438结合到平台中,所述平台诸如为笔记本电脑、个人数字助理(PDA)、无线智能电话、媒体内容播放机、成像装置、移动互联网装置(MID)、诸如智能电话、智能平板电脑、智能电视机等任何智能装置、及其任何组合。可以在应用程序、操作系统、媒体框架、硬件部件等、或其组合中实施逻辑架构438。还可以在视频管道的任何部件中实施逻辑架构438,所述部件诸如为网络接口部件、存储器、处理器、硬盘驱动器、解码器、去复用器、操作系统、应用程序等、或其组合。例如,可以在处理器、应用程序、窗口管理器、显示管理器等、或其组合中实施窗口状态模块440。此外,例如,可以在媒体播放机、媒体框架、硬件部件等、或其组合中实施解码模块450。
在所示的示例中,窗口状态模块440包括确定应用程序窗口的z-排序的z-排序模块442;确定应用程序窗口的透明度的透明度模块444;确定应用程序窗口的位置的位置模块446、以及确定应用程序窗口的运动的运动模块448。特别地,可以使用窗口状态模块440的一个或多个模块来确定与媒体流相关联的应用程序窗口的可视性状态。在一个实施例中,从存储单元490接收到的媒体流可与窗口492最上面的应用程序窗口相关联。可以使用z-排序模块444和透明度模块446来确定应用程序窗口是窗口堆中最上面的应用程序窗口,并且该最上面的窗口没有(例如,0%)透明度。位置模块446和运动模块448可以利用来自传感器494的数据来确定显示器496或窗口492的最上面的应用程序窗口没有受到物体的阻挡或实质上是不运动的。然后窗口状态模块440可以使用模块442、444、446、448中的一个或多个来确定与媒体流相关联的最上面的应用程序窗口的可视性状态包括可视状态。
在所示出的示例中,解码模块450包括阻止模块452和准许模块454,如果可视性状态表示至少一部分应用程序窗口被阻挡,则阻止模块452阻止相对于媒体流内容的一个或多个类型的一个或多个解码操作,并且如果可视性状态表示至少一部分应用程序窗口是可视的,则准许模块454准许相对于一个或多个媒体内容的一个或多个解码操作。在一个实施例中,如果窗口状态模块440确定与视频流相关联的应用程序窗口492中之一的可视性状态包括阻挡状态,则阻止模块452可以阻止相对于媒体流的视频内容的一个或多个解码操作。例如,如果窗口状态模块440确定与视频流相关联的诸多应用程序窗口492的其中之一的可视性状态包括可视状态,则准许模块450可以准许相对于视频内容的一个或多个解码操作。
在一个实施例中,如果应用程序窗口492包括可视状态,则也可以通过不允许阻止模块452工作而准许相对于视频内容的一个或多个解码操作。例如,可以通过指令来阻止阻止模块452的工作,可以不启动它执行操作等,或其组合。相似地,在另一个实施例中,如果应用程序窗口492包括阻挡状态,则可以通过不允许准许模块454工作而阻止相对于视频内容的一个或多个解码操作。
设备400还可以包括诸如电源498(例如,电池)之类的更多部件,用于把电源提供给设备400。如将更详细地讨论,设备400可以包括去复用器(未示出),用于接收或分离媒体流内容的一个或多个类型,诸如包括音频-视频去复用器以用于接收和分离音频和视频内容。设备400还可以包括解码器(未示出),用于对媒体流内容的一个或多个类型进行解码,诸如包括音频-视频解码器以用于对音频和视频内容进行解码。设备400可以包括网络接口部件,用于提供广泛用途的通信功能,所述网络接口部件诸如为蜂窝电话、(例如,W-CDMA(UMTS)、CDMA2000(IS-856/IS-2000)、等),WiFi(例如,IEEE 802.11,1999版,LAN/MAN无线LANS),蓝牙(例如,IEEE 802.15.1-2005,无线个人区域网),WiMax(例如,IEEE 802.16-2004,LAN/MAN宽带无线LANS),全球定位系统(GPS),扩频(例如,900MHz),以及其它射频(RF)电话用途。在一个示例中,可以在内容管道的同一级或部件中实施去复用器、解码器、网络接口部件等。
图6示出窗口状态模块实施500。所示的操作系统560包括显示管理器566,它可以控制显示在显示平台572上的信息,以向用户显示数据。显示平台572可以包括笔记本电脑、个人数字助理(PDA)、无线智能电话、媒体内容播放机、成像装置、移动互联网装置(MID)、诸如智能电话、智能平板电脑、智能电视机等任何智能装置,或其组合。数据可以包括媒体内容,例如,视频内容、音频内容、文字内容等、或其组合。在所示的示例中,存储单元574包括数据。
所示的操作系统560还可以包括图形用户界面562,图形用户界面562可以与显示管理器566交互作用以在显示平台572上显示信息。例如,图形用户界面562可以向显示管理器566提供描述窗口、图标、控制元件以及相似类型的用户界面对象的外形和位置的数据。图形用户界面562可以把这个信息直接、或经由窗口管理器564提供给显示管理器566。窗口管理器564可以控制窗口的显示,在窗口中,通过应用程序568、570,诸如媒体播放机,向用户显示数据。在一个实施例中,可以在应用程序568、570、窗口管理器564、显示管理器566、或其组合中实施窗口状态模块,从而可以确定与将要再现或显示的媒体流相关联的应用程序窗口的可视性状态。
现在转到图7,图中示出媒体内容计算系统600,其中将要确定与媒体流相关联的应用程序窗口的可视性状态,并且其中简要基于可视性状态对媒体流选择性地进行解码。计算系统600可以是诸如笔记本电脑、PDA、无线智能电话、媒体播放机、成像装置、MID、诸如智能电话、智能平板电脑、智能电视机等任何智能装置,或任何其组合之类的移动平台的一部分。计算系统600还可以是诸如个人计算机(PC)、智能电视机、服务器、工作站等固定平台的一部分。所示的计算系统600包括一个或多个CPU(中央处理单元)676、显示装置682、硬盘驱动器684以及系统存储器686,例如,系统存储器686可以包括双数据速率(DDR)同步动态随机存取存储器(SDRAM,例如,DDR3SDRAM JEDEC Standard JESD79-3C,2008年4月)模块。可以把系统存储器686的模块结合到单列直插内存模块(SIMM)、双列直插内存模块(DIMM)、小外形DIMM(SODIMM)等中。
计算系统600可以包括图形总线(例如,槽)680,其中包含图形处理单元(GPU)678和专用图形存储器690的图形卡(未示出)可以耦合到(例如,插入到)图形总线680。例如,图形总线680可以包括PCI特快图形(PCI ExpressGraphics)(PEG,例如,外围部件互连/PCIExpress x16Graphics 150W-ATXSpecification 1.0、PCI Special Interest Group)总线、加速图形端口(例如,AGPV3.0接口规格,2002年9月)总线等。CPU 676可以具有集成的存储器控制器(iMC)685,以及一个或多个处理器核心(未示出),以执行与主OS(操作系统)和/或应用程序软件相关联的一个或多个驱动,其中每个核心可以与指令获取单元、指令解码器、一级(L1)缓存、执行单元等充分地起作用。CPU676另外还可以经由前侧总线与iMC 685的芯片外的变型(也已知为Northbridge)进行通信。所示的CPU 676经由集线器总线与输入/输出(I/O)模块692(也已知为Southbridge)进行通信。有时把iMC 684/CPU 676以及I/O模块692称为芯片组,或者可以实施在一起作为芯片上系统(SoC)架构。
所示的计算系统600还包括窗口状态模块640,用于确定与媒体流相关联的应用程序窗口的可视性状态;以及解码模块650,用于基于可视性状态对媒体流选择性地进行解码。在CPU 676中实施所示的窗口状态模块640,虽然其也可以在GPU 678中实施。相似地,在GPU 678中实施所示的解码模块650,虽然其也可以在CPU 676中实施。图像捕获模块694可以包括,例如,照相机、摄像机等,用于捕获包括视频图像的图像。还可以经由网络控制器(未示出),从运行在CPU 676上的软件、从硬盘驱动器684、从不在平台上的装置(例如,web服务器、远程图像捕获装置等)、从专用图形存储器690等、及其组合,得到诸如视频内容之类的媒体内容。
所示的计算系统600还包括解码器656,用于对媒体流内容的一个或多个类型进行解码;以及去复用器658,用于使一个或多个类型的内容从媒体流中分离。在视频管道的相同级和部件中实施所示的解码器656和去复用器658。可以在媒体管道的硬件级中实施所示的解码器656和去复用器658,例如,其中完全在硬件中接收、去复用、解码和再现全媒体流(例如,全MPEG-2)。在一个实施例中,例如,在媒体管道的不同级中实施去复用器和解码器,可以在应用程序、框架、操作系统等中实施去复用器,并且可以在诸如处理器等硬件部件中实施解码器,反之亦然。操作可以跨越媒体管道的一个或多个级或部件,例如,其中在应用程序、框架、操作系统等中对第一内容进行解码,并且在硬件部件中对第二内容进行解码。例如,可以在应用程序中对音频内容(例如,MP3)进行解码,而在硬件部件中对视频内容进行解码。
在一个实施例中,例如,将从图像捕获模块694接收媒体流,并且将显示在与媒体流相关联的应用程序窗口中。将通过CPU 676实施所示的窗口状态模块640,以确定与媒体流相关联的应用程序窗口的可视性状态,该可视性状态可以经由图形总线680传送给解码模块650。解码模块650可以基于可视性状态对媒体流选择性地进行解码。
在一个实施例中,如果可视性状态表示至少一部分应用程序窗口是可视的,则一个或多个指令可以配置GPU 678上的解码模块650,以准许相对于媒体内容的一个或多个解码操作。例如,可以通过维持视频管道的任何部件(包括网络接口部件(未示出)、存储器690等、或其组合)处的视频内容,来准许包括视频内容的媒体内容到达解码器650处。通过允许与视频管道任何部件处的媒体内容的交互作用,例如,通过允许对专用图形存储器690、对系统存储器686等的媒体内容访问、通过允许解码器650对媒体内容的访问、允许在视频管道任何部件中的媒体内容输入或输出等,或其组合,可以准许媒体内容到达解码器650处。解码器650可以从去复用器658、专用图形存储器690、图像捕获模块694、硬盘驱动器684、网络接口部件(未示出)等、或其组合接收媒体内容,并且对其进行解码。解码模块650可以将媒体内容再现于显示装置682的应用程序窗口中。
在一个实施例中,如果可视性状态表示至少一部分应用程序窗口是受阻挡的,则一个或多个指令可以配置GPU 678上的解码模块650,以阻止相对于媒体内容的一个或多个解码操作。例如,诸如通过在视频管道任何部件处(包括网络接口部件(未示出)、存储器690等或其组合的)删除视频内容,可以阻止包括视频内容的媒体内容到达解码器650处。通过限制视频管道任何部件处与媒体内容的交互作用,可以阻止媒体内容到达解码器650处,例如,通过限制对专用图形存储器690、对系统存储器686等的媒体内容访问、通过限制解码器650对媒体内容的访问、限制视频管道任何部件处的媒体内容的输入和输出等、或其组合。解码器650可以接收媒体内容,并且不对其进行解码,可以对其进行解码但是不将其再现于显示装置682上的应用程序窗口中等、或其组合。去复用器658可以不接收或分离出媒体内容,或不把经去复用的媒体内容提供给解码器650等、或其组合。
图8示出可以实施逻辑而对媒体流选择性地进行解码的系统700的一个实施例。例如,逻辑可以包括以前讨论过的逻辑架构438(图5)。在一些实施例中,系统700可以是媒体系统,虽然系统700不局限于这种情况。例如,系统700可以结合到个人计算机(PC)、笔记本电脑、超笔记本电脑、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动互联网设备(MID)、信息设备、数据通信设备等。
在一些实施例中,系统700包括耦合到显示器720的平台702。平台702可以接收来自诸如内容服务设备730或内容传送设备740或其它相似内容源之类的内容设备的内容。可以使用包括一个或多个导航特征的导航控制器750,例如,与平台702和/或显示器720交互作用。下面更详细地描述这些部件的每一个。
在一些实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储单元714、图形子系统715、应用程序716和/或无线电718的任何组合。芯片组705可以提供处理器710、存储器712、存储单元714、图形子系统715、应用程序716和/或无线电718之间的相互通信。例如,芯片组705可以包括能够提供与存储单元714相互通信的存储适配器(没有描绘)。
可以把处理器710实施为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器,x86指令集兼容处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在一些实施例中,处理器710可以包括双核处理器、双核移动处理器等。
可以实施存储器712作为易失性存储器件,诸如,但是不局限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
可以实施存储单元714作为非易失性存储器件,诸如,但是不局限于,磁盘驱动器、光盘驱动器、磁带驱动器、内存装置、附加存储装置、闪存、电池备用SDRAM(同步DRAM)、和/或网络可访问的存储装置。在一些实施例中,例如,当包括多个硬盘驱动器时,存储单元714可以包括增加对有价值数字介质的存储性能增强保护的技术。
图形子系统715可以执行供显示的诸如静止或视频之类的图像的处理。例如,图形子系统715可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口经过通信把图形子系统715和显示器720耦合起来。例如,接口可以是任何高分辨率多媒体接口、显示端口、无线HDMI、和/或无线HD兼容技术。可以把图形子系统715组合到处理器710或芯片组705中。图形子系统715可以是通过通信耦合到芯片组705的单机卡。
可以在各种硬件架构中实施这里描述的图形和/或视频处理技术。例如,可以在芯片组中集成图形和/或视频功能。另一方面,可以使用分立的图形和/或视频处理器。作为再另一个实施例,可以通过包括多核处理器的通用处理器来实施图形和/或视频功能。在又一个实施例中,可以在消费电子设备中实施这些功能。
无线电718可以包括使用各种合适的无线通信技术的能够发送和接收信号的一个或多个无线电。此类技术可以包括跨越一个或多个无线网络的通信。示例无线网络包括(但是不局限于)无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨越这些网络的通信中,无线电718可以根据任何版本的一个或多个可应用标准来操作。
在一些实施例中,显示器720可以包括任何电视型监视器或显示器。例如,显示器720可以包括计算机显示屏、触摸屏显示器、视频监视器、类-电视设备、和/或电视机。显示器720可以是数字式的或模拟式的。在一些实施例中,显示器720可以是全息显示器。同样,显示器720可以具有可接收视觉投影的透明表面。此类投影可以传送各种形式的信息、图像和/或对象。例如,此类投影可以是移动增强现实性(MAR)应用程序的视觉覆盖。在一个或多个软件应用程序716的控制下,平台702可以在显示器720上显示用户界面722。
在一些实施例中,例如,可以经由互联网通过任何国内、国际和/或独立服务来主控内容服务设备730,因此可访问平台702。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760,以便使媒体信息传送到网络760和从网络760传送媒体信息(例如,发送和/或接收)。内容传送设备(多个)740也可以耦合到平台702和/或显示器720。
在一些实施例中,内容服务设备(多个)730可以包括能够传送数字信息和/或内容的有线电视盒、个人计算机、网络、电话、互联网设备或电器,以及能够经由网络760或直接地在内容提供者和平台702和/显示器720之间单向或双向传送内容的任何其它相似的设备。可以理解,可以经由网络760单向地和/或双向在系统700中的诸多部件中的任何一个和内容提供者之间来往传送内容。内容的示例可以包括媒体信息,例如视频、音乐、医疗和游戏信息等。
内容服务设备(多个)730接收诸如包括媒体信息、数字信息的有线电视节目之类的内容和/或其它内容。内容提供者的示例可以包括任何有线或卫星电视或无线电或互联网内容提供者。所提供的示例并非旨在限制本发明的实施例。
在一些实施例中,平台702可以接收来自具有一个或多个导航特征的导航控制器750的控制信号。例如,可以使用控制器750的导航特征与用户界面722交互作用。在一些实施例中,导航控制器750可以是作为计算机硬件部件(具体地,人机接口设备)的指向设备,所述指向设备允许用户把空间(例如,连续的和多维的)数据输入计算机。诸如图形用户界面(GUI)以及电视机和监视器等许多系统允许用户使用物理手势控制数据和把数据提供给计算机或电视机。
通过显示在显示器上的指针、游标、聚焦环或其它可视指示符的运动,可以在显示器上反映出控制器750的导航特征的运动。例如,在软件应用程序716的控制下,可以使位于导航控制器750上的导航特征映射为显示在用户界面722上的虚拟导航特征。在一些实施例中,控制器750可不作为一个分立的部件,而是集成到平台702和/或显示器720中。然而,实施例并不局限于这些元件或这里示出或描述的情况。
在一些实施例中,驱动(未示出)可以包括使用户象电视机一样立即打开和关闭平台702的技术,例如,通过当启动时在初始引导之后触摸按钮来完成此举。当关闭平台时,程序逻辑可以允许平台702使内容流到媒体适配器或其它内容服务设备(多个)730或内容传送设备(多个)740。此外,例如,芯片组705可以包括5.1环绕声音频和/或高分辨率7.1环绕声音频的硬件和/或软件支持。驱动可以包括用于集成图形平台的图形驱动。在一些实施例中,图形驱动可以包括外围部件互联(PCI)Express图形卡。
在各个实施例中,可以使系统700中示出的任何一个或多个部件集成在一起。例如,平台702和内容服务设备(多个)730可以集成在一起,或平台702和内容传送设备(多个)740可以集成在一起,或例如平台702、内容服务设备730和内容传送设备740(多个)可以集成在一起。在各个实施例中,平台702和显示器720可以是一个集成单元。显示器720和内容服务设备(多个)730可以集成在一起,或例如显示器720和内容传送设备(多个)740可以集成在一起。这些示例并非旨在限制本发明。
在各个实施例中,可以使系统700实施成无线系统、有线系统、或两者的组合。当实施成无线系统时,系统700可以包括适合在无线共享介质上进行通信的部件和界面,诸如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括部分无线频谱,诸如RF频谱等。当实施成有线系统时,系统700可以包括适合在有线通信介质上进行通信的部件和界面,诸如输入/输出(I/O)适配器、连接I/O适配器和对应的有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、电缆、金属导线、印刷电路板(PCB)、背板、交换矩阵(switch fabric)、半导体材料、双绞线、同轴电缆、光纤等。
平台702可以建立一个或多个逻辑或物理信道来传送信息。信息可以包括媒体信息和控制信息。媒体信息可指代向用户表示内容意思的任何数据。内容的示例可以包括,例如,来自语音通话、视频会议、流传送视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。例如,来自语音通话的数据可以是语音信息、沉默时段、背景噪声、舒适噪声、音调等。控制信息可指代表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可被用于通过系统发送媒体信息,或用于命令一个节点按预定方式处理媒体信息。然而,实施例不局限于图8中示出或描述的元件或情况。
如上所述,可以用各种物理型式或外形尺寸来实施系统700。图9示出具有小型尺寸的设备800,其中可以实施系统700。在一些实施例中,例如,可以实施设备800为具有无线能力的移动计算设备。移动计算设备可指代,例如,具有处理系统和诸如一个或多个电池的移动电源的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、笔记本电脑、超笔记本电脑、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动互联网设备(MID)、信息设备、数据通信设备等。
移动计算设备的示例还可以包括安排成被人佩带的计算机,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂章计算机、鞋子计算机、衣服计算机以及其它可穿的计算机。在一些实施例中,例如,可以实施移动计算机设备为能够执行应用程序、以及语音通信和/或数据通信的智能电话。作为示例,虽然以实施为智能电话的移动计算设备来描述某些实施例,但是可以理解,也可以使用其它无线移动计算设备来实施其它实施例。不局限于本上下文中的一些实施例。
如图9所示,设备800可以包括外壳802、显示器804、输入/输出(I/O)设备806以及天线808。设备800还可以包括导航特征812。显示器804可以包括任何合适的显示单元,用于显示适合于移动计算设备的信息。I/O设备806可以包括任何合适的I/O设备,用于把信息输入到移动计算设备。I/O设备806的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。还可以通过麦克风把信息输入设备800。可以通过语音识别设备对如此的信息进行数字化。实施例并不局限于上下文中所述。
可以使用硬件元件、软件元件或两者的组合来实施各个实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件部件、程序、应用程序、计算机程序、应用程序程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件界面、应用程序程序界面(API)、指令集、计算代码、计算机代码、代码分段、计算机代码分段、字、值、符号或任何其组合。可以根据任何数量的因素来改变是使用硬件元件还是使用软件元件实施实施例的确定,诸如要求的计算速率、功率电平、耐热性、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度以及其它设计或性能约束。
可以通过存储在机器可读出介质中的表示指令来实施至少一个实施例的一个或多个方面,所述表示指令表示处理器内各种逻辑,当通过机器读出时,导致机器构成逻辑以执行这里描述的技术。可以把已知为“IP核”的此类表示存储在有形的、机器可读出介质上,并且提供给各类用户或制造工厂,以便装载到实际制成逻辑或处理器的制造机中。
因此,这里描述的技术可以提供逻辑和/或系统,所述逻辑和/或系统可确定与媒体流相关联的应用程序窗口的可视性状态和/或基于可视性状态对媒体内容(诸如视频内容)选择性地进行解码。特别地,一个或多个指令可以配置处理器,如果可视性状态表示至少一部分应用程序窗口包括受阻状态,则处理器可阻止相对于视频内容的一个或多个解码操作。例如,一个或多个指令可以配置处理器,如果可视性状态表示至少一部分应用程序窗口包括可视状态,则准许相对于诸如视频内容之类的媒体内容的一个或多个解码操作。媒体流的选择性解码有利于资源利用,诸如处理器利用、功率利用等。例如,可以忽略媒体流始终是活动的且显示在屏幕上的这一基本假设,并且可以对媒体流选择性地进行解码以减少处理器利用。在一个实施例中,通过当用户实际上没有看视频内容时只对音频内容解码,减少了硬件中的处理器利用而加速了音频-视频解码,且可以节约平台的功率。选择性地进行解码还有利于收集或利用与实际用户使用相关联的数据,所述数据可以用于包括定向广告的各种服务。例如,知道用户实际上没有看电视可影响对于广告的兴趣的观看统计,诸如YouTube观看度量。可以基于可视性状态、阻止或准许操作等来收集数据。
本发明的一些实施例适于与所有类型的半导体集成电路(“IC”)芯片一起应用。这些IC芯片的示例包括但是不局限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等。此外,在一些附图中,用一些线条来表示信号导线。有些可能是不同的,以表示更多成分信号路径,具有数字标号,以表示许多成分信号路径,和/或在一个或多个终端处具有箭头,以表示主要信息流方向。然而,不应该把这个解释为限制方式。而是,可以使用如此添加的细节连同一个或多个示例实施例来促进对电路的较容易的理解。所表示的任何信号线,不管是否具有另外的信息,实际都可以包括一个或多个信号,这些信号可以在多个方向上行进,并且可以用任何合适类型的信号方案来实施,例如,用不同对、光纤线和/或单端线实施的数字或模拟线。
已经给出示例尺寸/模型/值/范围,虽然本发明的一些实施例不局限于这些。随着制造技术(例如,光刻)随时间而成熟,有望可以制造较小尺寸的器件。此外,为了简化示例和讨论,且为了不遮盖本发明一些实施例的某些方面,附图中可能示出或可能没有示出众知的到IC芯片和其它部件的电源/地连接。此外,可能以方框图形式示出一些配置,以便不遮盖本发明的一些实施例,还鉴于这样的事实,相对于这种方框图配置的实施的细节与要实施实施例的平台有很大的依赖关系,即,在熟悉本领域技术的人员的范围内,如此的细节应该是合适的。在阐述特定细节(例如,电路)以便描述本发明的示例实施例时,对于熟悉本领域技术的人员来说,可以实现本发明的一些实施例而不需要这些细节或具有这些细节的变型是显而易见的。因此,应认为说明书是示意性的,而非限制性的。
例如,一些实施例使用机器、或存储指令或指令集的有形的计算机可读介质或制品来实施,如果机器执行指令或指令集,则可以导致机器根据一些实施例执行方法和/或操作。如此的机器可以包括,例如,任何合适的处理平台,计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和/或软件的任何合适组合来实施。机器可读介质或制品可以包括,例如,任何合适类型的存储单元、存储器件、内存制品、存储介质、存储器件、存储制品、存储介质和/或存储单元,例如,存储器,可拆卸或不可拆卸介质、可擦除或不可擦除介质、可写入或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器(CD-ROM)、录制光盘(CD-R)、可重写光盘(CD-RW)、光盘、磁介质、磁-光介质、可拆卸存储卡或盘、各种类型的数字通用盘(DVD)、磁带、盒式磁带等。指令可以包括任何合适类型的代码,诸如源代码、编译后的代码、解释代码、可执行的代码、静态代码、动态代码、加密代码等,使用任何合适的高级、低级、面向对象的、可视的、编译的和/或解释的编程语言来实施。
除非特别指出,否则可以理解,诸如“处理”、“计算(computing)”、“计算(calculating)”、“确定”等术语所指代的是计算机或计算系统、或相似的电子计算设备的动作和/或处理,对计算系统的寄存器和/或存储器中以物理量表示的数据(例如,电子的)进行操纵和/或转换,使之成为计算系统的存储器、寄存器或其它信息存储单元、传输或显示设备中相似地以物理量表示的其它数据。一些实施例并不局限于这个情况。
这里可以使用术语“耦合”来指有问题的部件之间的、直接或间接的、任何类型的关系,并且可以应用于电气的、机械的、流体的、光学的、电磁的、机电的或其它的连接。此外,这里使用术语“第一”、“第二”等仅为了便于讨论,不带有特定的时间或时间意义,除非另行指出。此外,要理解,不定冠词“a”或“an”具有“一个或多个”或“至少一个”的意思。
熟悉本领域技术的人员会从上述说明书中理解,可以以多种形式实施本发明实施例的广泛技术。因此,虽然已经结合本发明的特定示例描述了本发明的一些实施例时,不应该以此来限制本发明一些实施例的真实范围,因为对熟练的技术人员而言,在阅读附图、说明书以及下述权利要求书后,其它的修改会变得显而易见。

Claims (28)

1.一种处理媒体流的方法,包括:
接收包括视频内容的媒体流;
确定与所述媒体流相关联的应用程序窗口的可视性状态;以及
基于所述可视性状态对所述视频内容选择性地进行解码,其中,所述解码包括:当所述可视性状态表示所述视频内容由所述应用窗口显示、对观看者是可观看的且不由所述观看者正在观看时,阻止相对于所述视频内容的一个或多个解码操作。
2.如权利要求1所述的方法,其特征在于,所述媒体流还包括对应于所述视频内容的音频内容,并且当阻止相对于所述视频内容的一个或多个解码操作时,所述解码准许相对于所述音频内容的一个或多个解码操作。
3.如权利要求1和2中任一项所述的方法,其特征在于,当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是受阻挡的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且不由所述观看者正在观看时,所述解码阻止相对于所述视频内容的所述一个或多个解码操作。
4.如权利要求1和2中任一项所述的方法,其特征在于,当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是可视的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且正由所述观看者观看时,所述解码准许相对于所述视频内容的所述一个或多个解码操作。
5.一种媒体流处理设备,包括:
用于接收包括视频内容的媒体流的装置;
用于确定与媒体流相关联的应用程序窗口的可视性状态的装置;以及
用于基于所述可视性状态对所述视频内容选择性地进行解码的装置,其中,所述解码包括:当所述可视性状态表示所述视频内容由所述应用窗口显示、对观看者是可观看的且不由所述观看者正在观看时,阻止相对于所述视频内容的一个或多个解码操作。
6.如权利要求5所述的设备,其特征在于,所述媒体流还包括对应于所述视频内容的音频内容,所述设备还包括用于当阻止相对于所述视频内容的一个或多个解码操作时准许相对于所述音频内容的所述一个或多个解码操作的装置。
7.如权利要求5所述的设备,其特征在于,还包括用于确定所述应用程序窗口被另一个应用程序窗口阻挡的装置。
8.如权利要求5所述的设备,其特征在于,还包括用于确定所述应用程序窗口的z-排序、透明度、位置以及运动中的一个或多个的装置。
9.如权利要求5所述的设备,其特征在于,还包括用于确定所述应用程序窗口被物理物体阻挡的装置。
10.如权利要求5到9中任一项所述的设备,其特征在于,还包括用于以下操作的装置:当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是受阻挡的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且不由所述观看者正在观看时,阻止相对于所述视频内容的所述一个或多个解码操作。
11.如权利要求10所述的设备,其特征在于,如果所述应用程序窗口的受阻挡的部分超过阀值,则应阻止一个或多个解码操作。
12.如权利要求5到9中任一项所述的设备,其特征在于,还包括用于以下操作的装置:当所述可视性状态基于确定了至少一部分应用程序窗口相对于所述观看者是可视的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且正由所述观看者观看时,准许相对于所述视频内容的所述一个或多个解码操作。
13.一种媒体流处理设备,包括:
窗口状态模块,用于确定与媒体流相关联的应用程序窗口的可视性状态,所述媒体流包括视频内容;以及
解码模块,用于基于所述可视性状态对所述媒体流选择性地进行解码,其中,所述解码包括:当所述可视性状态表示所述视频内容由所述应用窗口显示、对观看者是可观看的且不由所述观看者正在观看时,阻止相对于所述视频内容的一个或多个解码操作。
14.如权利要求13所述的设备,其特征在于,所述可视性状态包括受阻状态和可视状态中的一个或多个。
15.如权利要求14所述的设备,其特征在于,所述窗口状态模块包括下列中的一个或多个:
z-排序模块,用于确定所述应用程序窗口的z-排序;
透明度模块,用于确定所述应用程序窗口的透明度;
位置模块,用于确定所述应用程序窗口的位置;以及
运动模块,用于确定所述应用程序窗口的运动。
16.如权利要求13所述的设备,其特征在于,在窗口管理器和显示管理器中的一个或多个中实施所述窗口状态模块。
17.如权利要求13所述的设备,其特征在于,所述解码模块包括阻止模块以用于:当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是受阻挡的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且不由所述观看者正在观看时,阻止相对于所述视频内容的所述一个或多个解码操作。
18.如权利要求13所述的设备,其特征在于,所述解码模块包括准许模块以用于:当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是可视的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且正由所述观看者观看时,准许相对于所述视频内容的所述一个或多个解码操作。
19.如权利要求13所述的设备,其特征在于,在媒体播放机、媒体框架以及媒体硬件部件的一个或多个中实施所述解码模块。
20.如权利要求13到19中任一项所述的设备,其特征在于,还包括下列中的一个或多个:
去复用器,用于分离出所述媒体流的至少一个内容;以及
解码器,用于对所述媒体流的所述至少一个内容进行解码。
21.一种媒体流处理系统,包括:
电池,用于给所述系统提供电源;
窗口状态模块,用于确定与媒体流相关联的应用程序窗口的可视性状态,所述媒体流包括视频内容;以及
解码模块,用于基于所述可视性状态对所述媒体流选择性地进行解码,其中,所述解码包括:当所述可视性状态表示所述视频内容由所述应用窗口显示、对观看者是可观看的且不由所述观看者正在观看时,阻止相对于所述视频内容的一个或多个解码操作。
22.如权利要求21所述的系统,其特征在于,所述可视性状态包括受阻状态和可视状态中的一个或多个。
23.如权利要求21所述的系统,其特征在于,所述窗口状态模块包括下列中的一个或多个:
z-排序模块,用于确定所述应用程序窗口的z-排序;
透明度模块,用于确定所述应用程序窗口的透明度;
位置模块,用于确定所述应用程序窗口的位置;以及
运动模块,用于确定所述应用程序窗口的运动。
24.如权利要求23所述的系统,其特征在于,还包括传感器,用于把位置数据提供给所述位置模块。
25.如权利要求21所述的系统,其特征在于,在窗口管理器和显示管理器的一个或多个中实施所述窗口状态模块。
26.如权利要求21所述的系统,其特征在于,所述解码模块包括阻止模块以用于:当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是受阻挡的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且不由所述观看者正在观看时,阻止与所述视频内容相关联的所述一个或多个解码操作。
27.如权利要求21所述的系统,其特征在于,所述解码模块包括准许模块以用于:当所述可视性状态基于确定了至少一部分所述应用程序窗口相对于所述观看者是可视的而表示所述视频内容由所述应用窗口显示、对所述观看者是可观看的且正由所述观看者观看时,准许与所述视频内容相关联的所述一个或多个解码操作。
28.如权利要求21到27中任一项所述的系统,其特征在于,还包括下列中的一个或多个:
去复用器,用于分离出所述媒体流的至少一个内容;以及
解码器,用于对所述媒体流的所述至少一个内容进行解码。
CN201310419412.4A 2012-09-14 2013-09-13 基于窗口可视性状态的媒体流选择性解码 Expired - Fee Related CN103686393B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/618,193 2012-09-14
US13/618,193 US9407961B2 (en) 2012-09-14 2012-09-14 Media stream selective decode based on window visibility state

Publications (2)

Publication Number Publication Date
CN103686393A CN103686393A (zh) 2014-03-26
CN103686393B true CN103686393B (zh) 2017-03-01

Family

ID=50274123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310419412.4A Expired - Fee Related CN103686393B (zh) 2012-09-14 2013-09-13 基于窗口可视性状态的媒体流选择性解码

Country Status (2)

Country Link
US (1) US9407961B2 (zh)
CN (1) CN103686393B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535653B2 (en) * 2012-08-31 2017-01-03 Google Inc. Adjusting audio volume of multimedia when switching between multiple multimedia content
US20140282652A1 (en) 2013-03-12 2014-09-18 Comcast Cable Communications, Llc Advertisement Tracking
US9392315B1 (en) * 2014-02-26 2016-07-12 Amazon Technologies, Inc. Remote display graphics
KR102277258B1 (ko) * 2014-02-27 2021-07-14 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
US9406157B2 (en) * 2014-04-21 2016-08-02 Airwatch Llc Concealing sensitive information on a display
WO2016118848A1 (en) 2015-01-22 2016-07-28 Clearstream. Tv, Inc. Video advertising system
US9972064B1 (en) 2015-06-29 2018-05-15 Amazon Technologies, Inc. Non-intrusive and low-power recording
JP6232632B1 (ja) * 2016-08-09 2017-11-22 パロニム株式会社 動画再生プログラム、動画再生装置、動画再生方法、動画配信システム及びメタデータ作成方法
US20180270517A1 (en) * 2017-03-19 2018-09-20 Microsoft Technology Licensing, Llc Decoupled Playback of Media Content Streams
JP6463826B1 (ja) * 2017-11-27 2019-02-06 株式会社ドワンゴ 動画配信サーバ、動画配信方法及び動画配信プログラム
US20190253751A1 (en) * 2018-02-13 2019-08-15 Perfect Corp. Systems and Methods for Providing Product Information During a Live Broadcast

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1318256A (zh) * 1998-07-20 2001-10-17 卡纳尔股份有限公司 用于多信道数字电视系统的浏览系统
CN101894502A (zh) * 2009-05-19 2010-11-24 日立民用电子株式会社 影像显示装置
US8266314B2 (en) * 2009-12-16 2012-09-11 International Business Machines Corporation Automated audio or video subset network load reduction

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064354A (en) * 1998-07-01 2000-05-16 Deluca; Michael Joseph Stereoscopic user interface method and apparatus
JP3546705B2 (ja) * 1998-07-10 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション・ウインドウにアノテーション・データを対応付ける方法及び装置、システム、アプリケーション・ウインドウへのアノテーション・データの対応付けを制御するプログラムを格納した記憶媒体
AU2001283004A1 (en) * 2000-07-24 2002-02-05 Vivcom, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
KR100372092B1 (ko) * 2001-02-06 2003-02-14 주식회사 우리기술 바탕화면 동영상 매체재생기 및 이를 이용한 바탕화면의동영상 처리방법과 상기 매체재생기 또는 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
US6361173B1 (en) * 2001-02-16 2002-03-26 Imatte, Inc. Method and apparatus for inhibiting projection of selected areas of a projected image
US20130024812A1 (en) * 2011-07-13 2013-01-24 Z124 Foreground/background assortment of hidden windows
US7019757B2 (en) * 2002-01-28 2006-03-28 International Business Machines Corporation Changing the alpha levels of an application window to indicate a status of a computing task
US7765143B1 (en) * 2003-11-04 2010-07-27 Trading Technologies International, Inc. System and method for event driven virtual workspace
JPWO2005081527A1 (ja) * 2004-02-23 2008-01-17 松下電器産業株式会社 表示処理装置
JP2005242204A (ja) * 2004-02-27 2005-09-08 Matsushita Electric Ind Co Ltd 情報表示方法及び情報表示装置
EP1769972A1 (en) * 2004-07-15 2007-04-04 Matsushita Electric Industrial Co., Ltd. Informer and vehicle having informer
KR100668922B1 (ko) * 2004-10-15 2007-01-12 엘지전자 주식회사 네비게이션 시스템의 엘씨디 밝기 제어 방법
US8752094B2 (en) * 2005-03-30 2014-06-10 Rovi Guides, Inc. Systems and methods for video-rich navigation
JP4972875B2 (ja) * 2005-04-28 2012-07-11 ソニー株式会社 再生装置、再生方法
JP4408845B2 (ja) * 2005-07-27 2010-02-03 シャープ株式会社 映像合成装置及びプログラム
US8949894B2 (en) * 2005-08-05 2015-02-03 Samsung Electronics Co., Ltd. Apparatus for providing multiple screens and method of dynamically configuring multiple screens
US20080109725A1 (en) * 2005-08-05 2008-05-08 Samsung Electronics Co., Ltd. Apparatus for providing multiple screens and method of dynamically configuring multiple screens
JP2007149008A (ja) * 2005-11-30 2007-06-14 Toshiba Corp 携帯型電子機器および省電力制御方法
JP2007232846A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 情報処理装置および制御方法
JP4876687B2 (ja) * 2006-04-19 2012-02-15 株式会社日立製作所 注目度計測装置及び注目度計測システム
US8098330B2 (en) * 2006-07-28 2012-01-17 International Business Machines Corporation Mapping of presentation material
US9451195B2 (en) * 2006-08-04 2016-09-20 Gula Consulting Limited Liability Company Moving video tags outside of a video area to create a menu system
US9032430B2 (en) * 2006-08-24 2015-05-12 Rovi Guides, Inc. Systems and methods for providing blackout support in video mosaic environments
KR101476140B1 (ko) * 2006-12-18 2014-12-24 삼성전자주식회사 복수 개의 스크린 설정을 위한 멀티스크린 관리 방법 및장치
US20080172693A1 (en) * 2007-01-16 2008-07-17 Microsoft Corporation Representing Television Programs Using Video Objects
JP2008244917A (ja) * 2007-03-28 2008-10-09 Pioneer Electronic Corp 受像機制御システム
US7917773B2 (en) * 2007-05-02 2011-03-29 Microsoft Corporation Visibility-aware services
EP2188714A2 (en) * 2007-09-12 2010-05-26 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
WO2010030712A1 (en) * 2008-09-09 2010-03-18 Citrix Systems, Inc. Methods and systems for per pixel alpha-blending of a parent window and a portion of a background image
US8723891B2 (en) * 2009-02-27 2014-05-13 Ncomputing Inc. System and method for efficiently processing digital video
WO2010124136A1 (en) * 2009-04-24 2010-10-28 Delta Vidyo, Inc. An efficient video skimmer
WO2010148306A1 (en) * 2009-06-19 2010-12-23 Moment Usa Inc. Systems and methods for dynamic background user interface(s)
JP2011087162A (ja) * 2009-10-16 2011-04-28 Sony Corp 受信装置、受信方法、送信装置および送信方法
US8869144B2 (en) * 2009-12-14 2014-10-21 Citrix Systems, Inc. Managing forwarding of input events in a virtualization environment to prevent keylogging attacks
JP5495814B2 (ja) * 2010-01-26 2014-05-21 京セラ株式会社 携帯端末及び表示制御プログラム
JP2011176527A (ja) * 2010-02-24 2011-09-08 Toshiba Corp テレビジョン装置
TW201227489A (en) * 2010-12-31 2012-07-01 Hon Hai Prec Ind Co Ltd System and method for processing image
US8688320B2 (en) * 2011-01-11 2014-04-01 Robert Bosch Gmbh Vehicle information system with customizable user interface
US9142193B2 (en) * 2011-03-17 2015-09-22 Intellitact Llc Linear progression based window management
US9612724B2 (en) * 2011-11-29 2017-04-04 Citrix Systems, Inc. Integrating native user interface components on a mobile device
US8856815B2 (en) * 2012-04-27 2014-10-07 Intel Corporation Selective adjustment of picture quality features of a display

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1318256A (zh) * 1998-07-20 2001-10-17 卡纳尔股份有限公司 用于多信道数字电视系统的浏览系统
US7757252B1 (en) * 1998-07-20 2010-07-13 Thomson Licensing S.A. Navigation system for a multichannel digital television system
CN101894502A (zh) * 2009-05-19 2010-11-24 日立民用电子株式会社 影像显示装置
US8266314B2 (en) * 2009-12-16 2012-09-11 International Business Machines Corporation Automated audio or video subset network load reduction

Also Published As

Publication number Publication date
US20140078402A1 (en) 2014-03-20
US9407961B2 (en) 2016-08-02
CN103686393A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103686393B (zh) 基于窗口可视性状态的媒体流选择性解码
CN106303743B (zh) 一种直播画面显示方法、装置及电子设备
CN104169838B (zh) 基于人眼追踪而选择性地使显示器背光
JP6165846B2 (ja) 目のトラッキングに基づくディスプレイの一部の選択的強調
TWI556639B (zh) 用於將互動特徵加入視頻之技術
US20210034222A1 (en) Computing device and extended reality integration
WO2017065935A1 (en) Methods and apparatuses for controlling video content displayed to a viewer
CN108174265B (zh) 一种360度全景视频的播放方法、装置及系统
CN110070496B (zh) 图像特效的生成方法、装置和硬件装置
CN103997687A (zh) 用于向视频增加交互特征的技术
CN107644016A (zh) 一种多媒体字幕翻译方法、多媒体字幕查找方法及装置
CN103533286A (zh) 用于带静态区域排除的时间帧内插的方法和系统
CN104067318A (zh) 使用三维光栅化的时间连续碰撞检测
CN103929640B (zh) 用于管理视频流播的技术
CN106162303A (zh) 信息处理方法、信息处理装置及用户设备
CN106412718A (zh) 一种字幕在3d空间中的渲染方法及其装置
CN106793157A (zh) 一种终端间通信的处理方法及相关设备
CN107197339B (zh) 影片弹幕的显示控制方法、装置及头戴式显示设备
CN104011789B (zh) 减少用于在屏幕上显示多个图像的显示控制器中使用的缩放引擎的数量
CN203607077U (zh) 虚拟旅行机
CN104012078B (zh) 图像数据的感知无损压缩以减少存储器带宽和存储
CN106162370B (zh) 信息处理方法、信息处理装置及用户设备
CN109324774B (zh) 用于视觉效果的音频定位技术
CN112435677A (zh) 智能眼镜及系统
US9454992B2 (en) Method and system to play linear video in variable time frames

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170301

Termination date: 20190913

CF01 Termination of patent right due to non-payment of annual fee