在不具有处理来自视频播放器的视频后处理请求的接口的平台上的视频后处理的制作方法

xiaoxiao2020-9-10  8

在不具有处理来自视频播放器的视频后处理请求的接口的平台上的视频后处理的制作方法
【专利摘要】为了使用在现在及未来可用的一些图形和中央处理单元硬件上可供使用的视频后处理能力,需要类似于安卓平台的一些平台进行适应。用户可以利用图形用户接口来选择视频后处理功能。利用程序间通信,所述选择被传送到未启动视频后处理的操作系统。
【专利说明】在不具有处理来自视频播放器的视频后处理请求的接口的 平台上的视频后处理

【技术领域】
[0001] 本发明涉及视频处理。

【背景技术】
[0002] 安卓(Android)平台允许开源操作系统并且设计成用于智能手机和平板式计算 机。安卓使用称为libstagefright的媒体服务架构。libstagefright不提供用于视频后 处理的接口。因为需要修改安卓市售的所有视频播放器来使用视频后处理能力,所以在安 卓平台上改变libstagefright接口不方便。
[0003] 因此,即使中央处理单元/图形处理单元硬件被提供了精心设计的视频后处理能 力,安卓平台也不能轻易地适应于这些能力。

【专利附图】

【附图说明】
[0004] 下面结合下列附图来描述一些实施例:
[0005] 图1是依照一个实施例的安卓平台的软件描述;
[0006] 图2是依照一个实施例的安卓平台的使用者层和内核层的描述;
[0007] 图3是根据一个实施例的使安卓平台能够使用基于硬件的后处理能力的序列的 描述;
[0008] 图4是根据一个实施例的基于处理器的系统的框图的描述;以及
[0009] 图5是图4所示的平台的前视图。

【具体实施方式】
[0010] 为了使用在现在和未来可供应用的一些图形和中央处理单元硬件中可用的 视频后处理能力,需要使类似于安卓平台的一些平台适应。这是因为,安卓平台上的 libstagefright媒体服务架构不适应于视频后处理的使用。通常,所有的在安卓平台上工 作的视频播放器能够与libstagefright -起工作,仅仅修改libstagefright至少对于第 三方硬件供应商来说不切实可行。
[0011] 例如,一些图形处理器可以提供目前在安卓中不可用的后处理特征,包括缩放、颜 色空间转换、色调、分离偏差和对比(HSBC)、颜色填充、清晰度以及去噪、去交错,这里仅提 到了一些示例。然而,本发明不限于安卓平台,而是可普遍应用于不适于使用视频后处理的 任何平台。
[0012] 视频处理(VP)面板是在安卓上运行的Java应用。VP面板的图形用户接口(⑶I) 部分开发于Eclipse上,Eclipse是安卓应用的缺省应用开发环境。VP面板与包括Inte牌 图形处理单元的图形处理芯片所使用的图形驱动器通信。特别地,称为IBinder的图形绑 定程序可在从Intel提供的一些图形处理芯片上使用。IBinder是安卓上的快速的、轻重量 的程序间通信机制。
[0013] 在VP面板上,用户能够通过在不同的VP特征条上从左向右滚动来设定不同的视 频处理特征。然后,VP面板立即经由程序间通信(IPC)将所选的视频处理特征通知给驱动 器。该通知机制可在本地C库中实施,并且提供Java本地接口(Java Native Interface, JNI)接口以与Java应用通信。
[0014] 当驱动器初始化时,用于安卓上的图形驱动器的新接口开始IBinder服务。该服 务总是等待来自VP面板的通知。当其接收到该通知时,在通过硬件根据VP面板中的用户 设定来渲染图像之前,服务将VP参数改变成到VP面板的指令。 _5] 在Window:%操作系统上,图形驱动器使用Windows注册来存储用户配置并且使 用注册通知机制来将用户输入发送到驱动器。但是,在Linux上,既没有注册实施机制,也 没有注册通知机制。因此,可以在安卓上创建类似的注册机制,例如,通过使用文本文件来 仿真所有的注册功能以及利用IBinder通知驱动器作为通知机制。在一个实施例中,VP面 板中的用户设定保留在安卓平台上的文本文件中。该注册文本文件和安卓仿真在Windows 系统上使用的注册机制。其提供用于应用配置的密钥、值和数据存储。其还提供用于注册 变更的通知机制。
[0016] 图1示出了利用VP面板向安卓平台提供视频处理能力的一个实施例。Libva扩展 14是Linux和安卓上的用于图形驱动器的设备驱动器接口。VPHAL18是视频后处理硬件抽 象层。其与诸如片上系统(S0C)22的处理器通信。0SCL20是操作系统共用层。VP面板经 由安卓上的程序间通信服务26来与图形驱动器对话,以便当播放视频时控制视频后处理 效果。服务26的使用使VP面板能够与安卓平台交互。
[0017] IBinder是安卓上的快速的、轻重量的程序间通信机制。如图2所示,服务提供商 32将服务添加(addService)到服务管理器30中。服务用户34能够从服务管理器获得信 息(getService)。然后,服务用户能够与服务提供商对话。服务用户能够经由getData接 口与服务提供商对话。
[0018] IBinder是快速的、轻重量的,但是其缺少对如图3所示的应用的多个实例40、46 的支持。可扩展其功能以支持与如图3所示的应用/共用用户接口的多实例驱动器通信。 这提供了控制视频处理特征的图形用户接口。每个驱动器实例发起其自身的在系统中唯一 的IBinder服务。当在系统存储器中存在多个驱动器实例时,在系统中将存在相同数量的 IBinder服务。信息存储在共享文件中。应用能够从共享文件48读取IBinder服务信息并 且建立与所有驱动器的连接。
[0019] 因此,参考图3,图示出扩展IBinder的功能以支持驱动器通信的多个实例从而支 持多个视频流的方法。方框48创建了与Intel品牌处理器相关联的标识符。然而,可以使 用与其他处理器制造商相关的不同的标识符。在该情况下,两个应用42和44各自具有驱 动器的实例40和46。但是,可以包含更多的应用和更多的视频或音频数据流。用于图形处 理器注册功能的文本文件38与应用和驱动器通信。
[0020] 因此,流程开始于驱动器40和/或46的加载,如1所指示。然后,从文本文件38 加载值,如2所指示。接着,应用42和/或44启动,如4所指示。应用根据48处的硬件标 识符来学习存在多少驱动器实例,如5所指示。然后,从文本文件38加载注册信息,如6所 指示。然后,在8处,关于流数量的信息写入文件38中。在9处,应用将信息传递到驱动器 40和46,在10处,驱动器接受该信息。在该过程完成之后,在11处卸载驱动器,并在12处 删除实例串。
[0021] 这些相同的技术通常能够应用于Linux环境。Linux与安卓之间的唯一区别在于, 在Linux上使用信号量,而不是如安卓中那样使用IBinder。也即,VP面板和多程序通信服 务的功能均可通过信号量来实现。
[0022] 在实施例中,系统700包括与显示器720耦合的平台702。平台702可以接收来自 诸如内容服务设备730或内容输送设备740或其他类似内容源的内容设备的内容。包括一 个或多个导航特征的导航控制器750可用来与例如平台702和/或显示器720交互。下面 更详细地描述这些部件中的每一个。
[0023] 在实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储设备 714、图形子系统715、应用716、全球定位系统(GPS) 721、摄像机723和/或无线电设备718 的任意组合。芯片组705可以提供处理器710、存储器712、存储设备714、图形子系统715、 应用716和/或无线电设备718之间的相互通信。例如,芯片组705可以包括能够提供与 存储设备714进行相互通信的存储适配器(未描绘)。
[0024] 另外,平台702可以包括操作系统770。处理器772的接口可以与操作系统和处理 器710相接。
[0025] 可以提供固件790以实施诸如引导序列的功能。可以提供能够使得固件从平台 702外部更新的更新模块。例如,更新模块可以包括用于判定更新企图是否为真实的以及识 别固件790的最新更新以便于确定何时需要更新的代码。
[0026] 在一些实施例中,可以通过外部电源来为平台702供电。在一些情况下,平台702 还可以包括内部电池780,其在不适应外部电源的实施例中或者在允许电池源电力或外部 源电力的实施例中充当电源。
[0027] 通过将序列并入存储设备714内或者处理器710或图形子系统715内的存储器 内,可以在软件和固件实施例中实施图3和图4中所示的序列,仅列举几个例子。在一个实 施例中,图形子系统715可以包括图形处理单元,并且处理器710可以为中央处理单元。
[0028] 处理器710可以实施为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处 理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在实施例 中,处理器710可以包括双核处理器、双核移动处理器等等。
[0029] 存储器712可以实施为易失性存储器设备,诸如但不限于随机存取存储器(RAM)、 动态随机存取存储器(DRAM)或静态RAM (SRAM)。
[0030] 存储设备714可以实施为非易失性存储设备,诸如但不限于磁盘驱动器、光盘驱 动器、磁带驱动器、内部存储设备、附接的存储设备、闪存、电池备份SDRAM(同步DRAM)、和/ 或网络可存取存储设备。在实施例中,存储设备714可以包括当包括例如多个硬盘驱动器 时用于提高对于有价值数字媒体的存储性能增强保护的技术。
[0031] 图形子系统715可以执行诸如静像或视频的图像的处理以便显示。图形子系统 715可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于与图 形子系统715和显示器720通信耦合。例如,接口可以是高清多媒体接口、显示端口、无线 HDMI、和/或无线HD兼容技术中的任一种。图形子系统715可以集成到处理器710或芯片 组705中。图形子系统715可以是与芯片组705通信耦合的独立卡。
[0032] 本文所描述的图形和/或视频处理技术可实现于各种硬件体系结构中。例如,图 形和/或视频功能可以集成在芯片组内。可替代地,可以使用离散的图形和/或视频处理 器。作为另一实施例,图形和/或视频功能可以通过包括多核处理器的通用处理器来实现。 在另外的实施例中,这些功能可实现于消费者电子设备中。
[0033] 图4示出了系统700的实施例。在实施例中,系统700可以是媒体系统,但是系统 700不限于该背景。例如,系统700可以合并到个人计算机(PC)、膝上型计算机、超级膝上 型计算机、平板式计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字 助理(PDA)、蜂窝电话、组合蜂窝电话/PDA,电视机、智能设备(例如,智能电话、智能平板式 计算机或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备等等。
[0034] 无线电设备718可以包括能够利用各种适合的无线通信技术来发送和接收信号 的一个或多个无线电设备。这些技术可涉及到跨一个或多个无线网络的通信。示例性的无 线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝 网络和卫星网络。在跨这些网络通信时,无线电设备718可以依照任何版本的一个或多个 适用标准来工作。
[0035] 在实施例中,显示器720可以包括任何电视机型的监控器或显示器。显示器720 可以包括例如计算机显示屏、触摸屏显示器、视频监控器、电视机式设备和/或电视机。显 示器720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息显示器。而且, 显示器720可以是可接收视觉投影的透明表面。这些投影可以传送各种形式的信息、图像 和/或对象。例如,这些投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或 多个软件应用716的控制下,平台702可以在显示器720上显示用户接口 722。
[0036] 在实施例中,内容服务设备730可以由任何国内的、国际的和/或独立的服务来托 管,并因此平台702可经由例如因特网来访问。内容服务设备730可以与平台702和/或显 示器720耦合。平台702和/或内容服务设备730可以与网络760耦合以向和从网络760 通信(例如发送和/或接收)媒体信息。内容输送设备740还可以与平台702和/或显示 器720耦合。
[0037] 在实施例中,内容服务设备730可以包括电缆电视机盒、个人计算机、网络、电话、 因特网使能设备或能够输送数字信息和/或内容的器具,以及能够经由网络760或者直接 地在内容提供商和平台702和/或显示器720之间单向地或双向地传送内容的任何其他类 似设备。将理解的是,内容可以经由网络760单向地和/或双向地传送到以及传送自系统 700的部件以及内容提供商中的任一者。内容的示例可以包括任何媒体信息,包括例如视 频、首乐、医疗和游戏?目息,等等。
[0038] 内容服务设备730接收诸如有线电视节目的内容,包括媒体信息、数字信息和/或 其他内容。内容提供商的示例可以包括任何电缆或卫星电视机或无线电或因特网内容提供 商。所提供的示例不意在限制本发明的实施例。
[0039] 在实施例中,平台702可以接收来自具有一个或多个导航特征的导航控制器750 的控制信号。控制器750的导航特征可用于例如与用户接口 722交互。在实施例中,导航 控制器750可以是指向设备,其可以是允许用户将空间(例如,连续的和多维)数据输入到 计算机的计算机硬件部件(具体为人机接口设备)。诸如图形用户接口(GUI)和电视机和 监控器的许多系统允许用户利用物理姿势来控制以及提供数据给计算机或电视机。
[0040] 控制器750的导航特征的移动可以通过显示器上所显示的指针、光标、聚焦环或 其他视觉指示器的移动而回显在显示器(例如,显示器720)上。例如,在软件应用716的 控制下,位于导航控制器750上的导航特征可以映射到例如用户接口 722上所显示的虚拟 导航特征上。在实施例中,控制器750可以不是单独的部件,而是集成到平台702和/或显 示器720中。然而,实施例不限于图示的或此处所描述的元件或背景。
[0041] 在实施例中,驱动器(未显不)可以包括使用户能够在例如启动时初始引导之后 触摸按钮来即时打开和关闭类似于电视机的平台702的技术。当平台"关闭"时,程序逻辑 可允许平台702将内容流送到媒体适配器或其他内容服务设备730或内容输送设备740。 另外,芯片组705可以包括用于例如5. 1环绕音频和/或高清7. 1环绕音频的硬件和/或 软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可 以包括外围部件互连(PCI)快速图形卡。
[0042] 在各个实施例中,可以集成系统700中所示的任意一个或多个部件。例如,平台 702和内容服务设备730可以集成,或者平台702和内容输送设备740可以集成,或者平台 702、内容服务设备730和内容输送设备740可以集成。在各实施例中,平台702和显示器 720可以是集成单元。例如,显示器720和内容服务设备730可以集成,或者显示器720和 内容输送设备740可以集成。这些示例不意在限制本发明。
[0043] 在各个实施例中,系统700可以实现为无线系统、有线系统或两者的组合。当实现 为无线系统时,系统700可以包括适合于通过诸如一个或多个天线、发射器、接收器、收发 器、放大器、滤波器、控制逻辑等无线共享介质通信的部件和接口。无线共享介质的示例可 以包括无线频谱的部分,诸如RF频谱等。当实现为有线系统时,系统700可以包括适用于 经由有线通信介质通信的部件和接口,所述有线通信介质例如是输入/输出(I/O)适配器、 将I/O适配器与对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、 视频控制器、音频控制器等。有线通信介质的示例可以包括电线、电缆、金属导线、印刷电路 板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
[0044] 平台702可建立用来传送信息的一个或多个逻辑或物理信道。信息可以包括媒体 信息和控制信息。媒体信息可指的是代表用于用户的内容的任意数据。内容的示例可以包 括例如来自语音会话的数据、视频会议、流视频、电子邮件(" emai 1 ")消息、语音邮件消息、 字母数字符号、图形、图像、视频、文本等。来自语音对话的数据可以是例如语言信息、静默 时间、背景噪声、舒适噪音、音调等。控制信息可以指的是代表用于自动化系统的命令、指令 或控制字的任何数据。例如,控制信息可以用于通过系统路由媒体信息,或者指示节点来以 预定方式处理媒体信息。然而,实施例不限于图5中所示或所描述的元件或背景。
[0045] 如上所述,系统700可以具体化为变化的物理式样或形状因数。图5示出了其中 可具体实施系统700的小形状因数设备800的实施例。在实施例中,例如,设备800可以实 现为具有无线能力的移动计算设备。移动计算设备可指的是任何具有处理系统和例如一个 或多个电池的移动电源的设备。
[0046] 如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝 上型计算机、平板式计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数 字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板 式计算机或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备等。
[0047] 移动计算设备的示例还可以包括布置成由人佩戴的计算机,诸如手腕式计算机、 手指计算机、戒指计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣物计算机以 及其他可佩戴计算机。在实施例中,例如,移动计算设备可以实现为能够执行计算机应用以 及语音通信和/或数据通信的智能电话。虽然通过举例方式将一些实施例描述为移动计算 设备实现为智能电话,但是可以理解,其他实施例同样可以利用其他的无线移动计算设备 来实现。实施例不限于该背景。
[0048] 如图5所示,设备800可以包括壳体802、显示器804、输入/输出(I/O)设备806 和天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适合于移 动计算设备的信息的任何适合的显示单元。I/O设备806可以包括用于将信息输入移动计 算设备的任何适合的I/O设备。用于I/O设备806的示例可以包括字母数字键盘、数字键 区、触摸板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别设备和软件,等等。信 息还可以通过麦克风输入到设备800中。这种信息可通过语音识别设备数字化。实施例不 限于该背景。
[0049] 各个实施例可以利用硬件元件、软件元素或两者的组合来实现。硬件元件的示例 可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集 成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程 门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括 软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、 固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计 算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。判定是否利用硬件 元件和/或软件元素来实现实施例可依照任意数量的因素而变化,这些因素诸如为所期望 的计算率、功率级、热容限、处理循环预算、输入数据率、输出数据率、存储器资源、数据总线 速度以及其他设计或性能约束。
[0050] 至少一个实施例的一个或多个方面可通过存储在机器可读介质上的代表性指令 来实现,这些代表性指令代表了处理器内的各种逻辑,当通过机器读取时这些代表性指令 使机器制作执行本文所描述的技术的逻辑。这种代表被称为"IP核",可存储在有形的机器 可读介质上且供给到各种消费者或制造设施以便装载到实际上制作逻辑或处理器的制作 机器上。
[0051] 一种方法可以包括:使用户能够利用图形用户接口来选择视频后处理功能,以及 利用程序间通信将所述选择传送到未启用视频后处理的操作系统。该方法还可以包括:启 用安卓操作系统上的视频后处理,以及在不具有注册机制的操作系统上仿真注册机制。该 方法可以包括:利用文本文件作为通知机制来实现所述注册机制。在一个实施例中,该方法 包括:支持与应用的多实例驱动器通信,获得处理器标识符,以及启用两个应用以利用硬件 标识符来确定存在多少驱动器实例。在另一实施例中,在Linux操作系统上使用信号量作 为程序间通信。
[0052] 至少一个机器可读介质可以包括多条指令,响应于在计算设备上执行,所述多条 指令使所述计算设备实施根据上述步骤中任一步骤所述的方法。
[0053] -种装置可以包括处理器,所述处理器使用户能够利用图形用户接口来选择视频 后处理功能,以及利用程序间通信和仿真注册机制将所述选择传送到未启动视频后处理的 操作系统。该装置可以包括操作系统、电池以及固件和更新所述固件的模块。装置操作系 统可以是安卓操作系统。注册机制可以使用文本文件作为通知机制。处理器可以支持与应 用的多实例驱动器通信并且可以获得处理器标识符。处理器可以启用两个应用以利用硬件 标识符来确定存在多少驱动器实例。操作系统还可以是Linux操作系统。然后,处理器使 用信号量作为程序间通信。
[0054] 各个实施例可利用硬件元件、软件元素或两者的组合来实现。硬件元件的示例可 以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成 电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门 阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软 件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固 件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算 代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。判定是否利用硬件元 件和/或软件元素来实现实施例可依照任意数量的因素而变化,这些因素诸如为所期望的 计算率、功率级、热容限、处理循环预算、输入数据率、输出数据率、存储器资源、数据总线速 度以及其他设计或性能约束。
[0055] 至少一个实施例的一个或多个方面可通过存储在机器可读介质上的代表性指令 来实现,这些代表性指令代表了处理器内的各种逻辑,当通过机器读取时这些代表性指令 使机器制作执行本文所描述的技术的逻辑。这些代表例称为"IP核",可存储在有形的机器 可读介质上且供给到各种消费者或制造设施以便装载到实际上制作逻辑或处理器的制作 机器上。
[0056] 本文所描述的图形处理技术可以实现于各种硬件体系结构中。例如,图形功能可 以集成在芯片组内。可替代地,可以使用离散的图形处理器。作为又一实施例,图形功能可 通过包括多核处理器的通用处理器来实现。
[0057] 下面的条款和/或示例涉及另外的实施例:
[0058] -个示例性的实施例可以是一种方法,其使用户能够利用图形用户接口来选择视 频后处理功能;以及利用程序间通信将所述选择传送到未启动视频后处理的操作系统。该 方法还可以包括:在安卓操作系统上启用视频后处理。所述方法还可以包括:在不具有注 册机制的操作系统上仿真注册机制。该方法还可以包括支持与应用的多实例驱动器通信。 该方法还可以包括获得处理器标识符。该方法还可以包括:启用两个应用以利用硬件标识 符来确定存在多少驱动器实例。该方法还可以包括:在Linux操作系统上利用信号量作为 程序间通信。
[0059] -个示例性的实施例可以是包括多条指令的机器可读介质,响应于在计算设备上 被执行,所述指令使所述计算设备实施一种方法。
[0060] 另一示例性的实施例可以是一种装置,包括处理器,所述处理器使用户能够利用 图形用户接口来选择视频后处理功能,以及利用程序间通信和仿真注册机制将所述选择传 送到未启动视频后处理的操作系统。一个示例性的实施例可以是一种包括操作系统和电池 的装置。一种装置可以包括固件以及更新所述固件的模块。一种装置可以包括所述操作系 统。一种装置可以包括:所述操作系统为安卓系统。一种装置可以包括所述注册机制使用文 本作为通知机制。一种装置可以包括所述处理器支持与应用的多实例驱动器通信。一种装 置可以包括所述处理器用于获得处理器通知。一种装置可以包括所述处理器启用两个应用 以利用硬件标识符来确定存在多少驱动器实例。一种装置可以包括所述操作系统是Linux 操作系统。一种装置可以包括所述处理器使用信号量作为程序间通信。
[0061] 在本说明书中全篇提到"一个实施例"或"实施例"是指:结合实施例所描述的特 定的特征、结构或特性包含在本发明所涵盖的至少一种实现方式中。因此,短语"一个实施 例"或"在实施例中"的出现不一定是指同一实施例。此外,特定的特征、结构或特性可以除 了所图示的特定实施例之外的其他适合的形式来设立,并且所有这样的形式可包含在本申 请的权利要求范围内。
[0062] 虽然已经结合有限数量的实施例描述了本发明,但本领域技术人员将理解这些实 施例的多种改进和变型例。旨在随附权利要求书涵盖落在本发明的真正精神和范围内的所 有这样的改进和变型例。
【权利要求】
1. 一种方法,包括: 使用户能够利用图形用户接口来选择视频后处理功能;以及 利用程序间通信将选择传送到未启用视频后处理的操作系统。
2. 如权利要求1所述的方法,包括在安卓操作系统上启用视频后处理。
3. 如权利要求1所述的方法,包括在不具有注册机制的操作系统上仿真注册机制。
4. 如权利要求3所述的方法,包括利用文本文件作为通知机制来实施所述注册机制。
5. 如权利要求1所述的方法,包括支持与应用的多实例驱动器通信。
6. 如权利要求5所述的方法,包括获得处理器标识符。
7. 如权利要求6所述的方法,包括启用两个应用以利用硬件标识符来确定存在多少个 驱动器实例。
8. 如权利要求1所述的方法,包括:利用信号量作为Linux操作系统上的程序间通信。
9. 至少一种包括多条指令的机器可读介质,响应于在计算设备上被执行,所述多条指 令使所述计算设备实施根据权利要求1-8中任一项所述的方法。
10. -种装置,包括: 处理器,其使用户能够利用图形用户接口来选择视频后处理功能,并且利用程序间通 信将选择传送到未启用视频后处理的操作系统;以及 仿真的注册机制。
11. 如权利要求10所述的装置,包括操作系统。
12. 如权利要求10所述的装置,包括电池。
13. 如权利要求10所述的装置,包括固件和更新所述固件的模块。
14. 如权利要求11所述的装置,其中,所述操作系统是安卓操作系统。
15. 如权利要求10所述的装置,其中,所述注册机制使用文本文件作为通知机制。
16. 如权利要求10所述的装置,其中,所述处理器支持与应用的多实例驱动器通信。
17. 如权利要求16所述的装置,其中,所述处理器获得处理器标识符。
18. 如权利要求17所述的装置,所述处理器启用两个应用以利用硬件标识符来确定存 在多少个驱动器实例。
19. 如权利要求11所述的装置,其中,所述操作系统是Linux操作系统。
20. 如权利要求19所述的装置,所述处理器使用信号量作为程序间通信。
【文档编号】H04N21/41GK104272750SQ201280072813
【公开日】2015年1月7日 申请日期:2012年5月31日 优先权日:2012年5月31日
【发明者】Z·英, 王长亮, C·曹 申请人:英特尔公司

最新回复(0)