基于媒体应用程序特征的动态屏幕复制和实时显示再现的制作方法

文档序号:11138571阅读:535来源:国知局
基于媒体应用程序特征的动态屏幕复制和实时显示再现的制造方法与工艺

本发明一般地涉及用于传输媒体内容的系统和方法,并且尤其涉及基于主题媒体应用程序的特征用于复制和实时显示再现视觉媒体的系统和方法。



背景技术:

大多数现代汽车由原始设备制造商(OEM)配备有可呈现视听媒体的信息娱乐单元。例如,这些单元可通过在单元运行的音频应用呈现通过互联网接收的音频,及呈现从数字化视频光盘(DVD)接收的视频。虽然很多单元也可呈现从远程源接收的视觉媒体(诸如导航和天气信息),但呈现从远程源接收的视频依然是一种挑战。

其他显示设备(诸如电视机和计算机显示器)可通过高传输速率接口(诸如高清多媒体接口(HDMI)或视频图形阵列(VGA)端口)接收视频数据。(HDMI为加利福尼亚州森尼维尔市的LLC(LLC,Sunnyvale,California)的HDMI许可的注册商标)数字媒体路由器经开发用于与这些高吞吐量或高传输速率端口接通以向显示设备提供视频数据。

从远程源到用于显示的本地设备有效及高效传输和实时显示再现视频数据的障碍还包括在本地设备处的限制,诸如在本地设备处的传统软件和/或硬件的限制。例如商用安卓设备或主流信息娱乐系统不支持通用串行总线(USB)视频类别(UVC)。(安卓(Android)是加利福尼亚州山景城的谷歌公司的注册商标(Google,Inc.,of Mountain View,California))

大多数现代主机设备(诸如已经在道路上的传统汽车)没有这些高传输速率接口。越来越多地,现代车辆具有外围端口,诸如USB端口,或用 于与移动用户设备(诸如智能电话)相对低速数据传输的无线接收器。通常,电话没有视频卡和/或车辆没有图形处理硬件。

通过较低传输速率连接(诸如外围端口,例如,USB连接)有效及高效流出视频数据的挑战在于要么因为传输速率太低,要么是接通的设备或主机设备(例如,现代车辆或电视机)没有所需的视频图形硬件和/或软件。流视频数据通常需要高数据速率。HDMI数据速率可超过10Gbps,而USB数据速率通常不超过约4Gbps。



技术实现要素:

存在对于如下装置的需要,所述装置使用相对低速连接(诸如USB连接)可从便携式大容量存储系统到用于显示再现的主机设备实时高效地以低延时传输和显示再现或显示复制高速视频流作为高质量视频。

本技术解决涉及传输和实时显示再现或复制从源(诸如远程应用服务器)接收的高吞吐量媒体到目标主机设备(诸如汽车主机)的这些和其它挑战。

本发明涉及便携式系统,该便携式系统包括处理器和包含计算机可读指令或代码的存储设备,当所述指令或代码由处理器执行时,处理器执行各种操作,包括接收及使用来自源(诸如第三方应用服务器)的应用和媒体内容。所述操作进一步包括确定应用程序特征,该应用程序特征选自由与主题应用程序相关联的应用程序标识和应用程序类别组成的组。

所述操作还可包括基于应用程序特征确定主机设备应使用多个可用编解码器族的哪一个来处理视觉内容,例如无损编解码器或有损编解码器。所选择的编解码器族的指示和视觉内容发送到主机设备以使用所确定的编解码器显示再现。

在一个实施例中,所述操作包括基于应用程序特征确定多个可用编解码器参数的哪一个用于处理视觉内容,例如压缩率和分辨率等级。所述操作包括发送指示在主机设备处理视觉内容中使用的编解码器参数的通信到主机设备。

便携式系统可具有在其中存储的对应于可用编解码器族和/或可用编解码器参数的标识符。存储器112可包括将每个应用程序特征与可用编解码器族和/或可用编解码器参数的至少一个联系起来的映射数据,用于在每种情况下确定合适的编解码器族和编解码器参数。

在各种实施例中,该主机设备是汽车的一部分,该汽车包括通用串行总线(USB)端口或诸如无线USB的任何变体,并且该便携式系统包括用于与该汽车匹配的USB插头或无线接口。

在本技术的另一个方面,主机设备包括配置为与通信端口进行通信的处理器以及显示屏设备,并且执行各种操作,包括从便携式系统接收通信,所述通信表示:(i)基于在便携式系统运行的应用程序而在便携式系统中所确定的编解码器,以及(ii)根据应用程序在便携式系统所选择的编解码器参数。

主机设备的操作进一步包括从便携式系统接收视觉内容,并且使用接收的编解码器和/或编解码器参数处理视觉内容,以产生处理后的视觉内容。

在一些实施例中,便携式系统和主机设备配置为进行双向通信。在各个实施例中,配置设置成有利于根据时分多址(TDMA)信道接入方法或其变体的任何一个进行通信。

来自便携式系统的媒体内容和消息由前向信道发送至主机设备,并且来自主机设备的消息由反向信道发送给便携式系统。在一些实施例中,便携式系统、主机设备和连接它们的通信信道配置成允许同时进行双向通信。

从主机设备到便携式系统的指令可以配置为建立或改变便携式系统的功能或设置。举例而言,功能或设置可以配置为影响便携式系统中用于在主机设备显示再现或复制视觉媒体的编解码器和/或编解码器参数的选择。

在一些实施例中,便携式系统包括人机接口(HMI),例如按钮、旋钮或麦克风。便携式系统配置为通过HMI接收用户输入,并触发各种动作中 的任何一个,包括改变之前建立的便携式系统功能或设置、建立功能或设置、以及生成用于发送给主机设备的消息,该消息包含用以改变或建立主机设备功能或设置的指令。

在一些实施例中,主机系统是汽车的一部分,或至少配置为作为具有上述通信端口和显示屏设备的汽车的一部分来实施。

本发明的其它方面将在下文中部分显而易见并部分说明。

附图说明

图1示意性示出了使本技术得以实现的环境,包括便携式系统和主机设备。

图2示出了在图1的便携式系统中编写的算法的操作。

图3示出了在图1的主机设备中编写的算法的操作。

图4 示出了可用于直方图浓度(HC)的关系式。

附图不一定是按比例绘制并且某些特征可以放大或缩小,例如示出具体部件的细节。

在某些情况下,公知的部件、系统、材料或方法并未详细地进行描述,以避免使本发明变得模糊或难以理解。

具体实施方式

根据需要,本文公开了本发明的具体实施方式。所公开的实施例仅仅是可以各种和替代形式以及其组合体现的实例。本文所使用的,例如,示例性和类似术语可广泛地涉及作为说明、样本、模型或模式的实施例。

这里所公开的具体结构和功能细节非旨在解释为限制性的,仅仅是作为权利要求的基础和作为向本领域技术人员实施本发明进行说明的代表性基础。

尽管本技术在此描述为主要与与汽车相关,但本技术不限于汽车。这些构思可在各种各样的应用中使用,例如与飞机和船舶相关的应用,例如与电视相关的非运输工业的应用。

其它非汽车实施方式可以包括插件对等装置或网络附加存储(NAS)设备。

I.图1-技术环境

图1示出了实施本技术的环境100。环境100包括便携式装置110和主机装置150。为简单起见而不是限制范围,本文中便携式装置110主要称为便携式系统,主机装置150称为主机设备。在一个实施例中,便携式系统和主机设备110、150是整合系统。

便携式系统100可以采用各种形式,并可以以各种其他方式的任何一种方式来引用,例如外围装置、外围系统、便携式外围设备、外围设备、移动系统、移动外围设备、便携式系统和便携式大容量储存系统。

基于各种各样的原因,便携式系统110可以指的是便携式的,比如是容易附接到主机设备上或从主机设备上移除,比如通过插件装置,和/或是可移动的,比如是无线的和紧凑的以便用户容易携带。便携式系统110可包括或为另一装置111的一部分,比如装置111可为加密狗或诸如智能手机的移动通信设备。

尽管在便携式系统110的所有部件和主机设备150之间的连接未示出,但是部件相互交互以便实现此处所述的功能。

便携式系统110包括硬件存储设备112。硬件存储设备112可以其他术语提及,比如存储器或计算机可读介质,并可包括,例如,易失性介质、非易失性介质、移动介质和不可移动介质。当术语硬件存储设备及其变体用于说明书和权利要求时,硬件存储设备及其变体是指有形的或者非瞬态的计算机可读存储设备。部件此处主要是指硬件存储设备112。

例如,在一些实施例中,存储介质112包括易失性介质、非易失性介质、移动介质和/或不可移动介质,比如,随机存取存储器(RAM)、只读存储器(ROM)、电擦除可编程只读存储器(EEPROM)、固态存储器或其他存储器技术,CD ROM、DVD、BLU-RAY或其他光盘存储设备,磁带、磁盘存储器或其他磁存储设备。

便携式系统110还包括通过诸如计算机总线的通信链路116与硬件存 储设备112连接或可连接的计算机处理器114。

处理器114可以其他术语提及,比如处理硬件单元、处理硬件设备、处理硬件系统、处理单元和处理设备等等。

处理器114可为多个处理器,其可包括在单个机器或多个机器内的分布式处理器或并行处理器。处理器114可用于支持虚拟处理环境。

处理器114可包括或为多核单元,比如多核数字信号处理器(DSP)单元或多核图形处理单元(GPU)。

处理器114可用于支持虚拟处理环境。处理器114可包括状态机、专用集成电路(ASIC)、包含现场可编程门阵列(FPGA)的可编程序门阵列(PGA)、DSP、GPU或状态机。

在各个实施例中,便携式系统110包括一个或多个互补媒体编解码部件,比如处理或硬件部件,以及将用于处理的软件部件。硬件或处理部件可为处理器114的一部分。

此处所提及的处理器执行代码或指令用以执行操作、动作、任务、功能、步骤等等,且可包括能直接执行操作和/或促进、指导或与其他设备或部件协作以执行操作的处理器114。

硬件存储设备112包括计算机可执行指令或代码118。计算机可执行代码118由处理器114执行以使处理器114,从而使便携式系统110执行关于便携式系统所述的功能的任何组合。

在各个实施例中,硬件存储设备112包括其他代码或数据结构,比如文件子系统120、帧缓冲器捕获部件122和媒体编解码器部件124。

在各个实施例中,便携式系统110包括一个或多个互补媒体编解码器部件,比如处理或硬件部件,以及待用于处理的软件部件。软件媒体编解码器部件由附图标记124所指示。

显示屏的帧缓冲器可作为传输的视频来源,比如以数据内容包的形式由帧缓冲器捕获部件122捕获。

在各个实施例中,设备112将接收和/或产生的并用于处理的数据的至 少一部分存储在与存储其中的代码相对应的基于文件的设置中。例如,当使用FPGA时,硬件存储设备112可包括用于由FPGA处理的配置文件。

硬件存储设备112的任意部件可组合、分开或移除。此处提及的便携式系统操作相应于任意存储器112的执行进行操作,并且可由其他的或组合或分隔的存储器112部件执行而操作。例如,如果第一所示代码118描述为配置成使处理器114执行某一操作,另一存储器112组件的指令可配置成使处理器114执行该操作。

文件子系统120可包括第一级高速缓存,在一些实施方式中,文件子系统120还可包括第二级高速缓存。

在一些实施例中,硬件存储设备112包括动态编程语言125(例如JavaScript、Java或者C/C++编程语言)的代码。主机设备150包括相同的编程语言,相同的编程语言在图1中由附图标记164表示。在一些实施方式中,主机设备150的部件164包括应用程序框架,例如所提到的媒体应用程序和/或用于管理主机设备150处的媒体应用程序的运行的应用程序管理器。

编程语言代码可定义用于便携式系统110与主机设备150之间的通信的设置,例如便携式系统110和设备150通过其进行通信的一个或多个应用程度接口(API)的特征。

在一些实施例中,便携式系统110包括至少一个人机接口(HMI)部件126。对于其中接口部件126便于用户输入到处理器114且从处理器114输出给用户的实施方式,接口部件126可称为输入/输出(I/O)部件。

作为实例,接口部件126可包括或者可连接到以多种方式中的任何一种配置来接收用户输入的传感器。在各个实施方式中,接口部件126包括配置为检测用户输入的至少一个传感器,所述用户输入通过例如触摸、可听声音或非触摸动作或手势提供。

触摸传感器接口部件可包括机械致动器,用于将运动部件(例如机械旋钮或按钮)的机械运动转换为电信号或数字信号。触摸传感器还可包括触控板或触控屏,例如表面电容传感器。

为了检测手势,接口部件126可包括或使用例如投射电容传感器、红外激光子系统、雷达子系统、或摄像子系统。

接口部件126连接到处理器114,用于将以相应的信号或消息形式接收的用户输入传送到处理器。

在各种实施方式中,接口部件126包括或连接到视觉或听觉指示器,例如灯、数字显示器或音调产生器,用于将输出传送给用户。

接口部件126可用于基于用户输入影响便携式系统110和主机设备150中的一者或两者的功能和设置。与由接口部件126接收的输入相对应的信号或消息传输到处理器114,处理器114通过执行硬件存储设备112的代码设置或改变便携式系统110处的功能。接收到的输入还可触发通信的产生,例如用于主机设备150的指令或消息,并且将通信发送给主机设备150用于设置或改变主机设备150的功能或设置。

在一些实施例中,便携式系统110配置为通过硬件或有线连接129连接到主机设备150。在非限制性意义上,该连接在本文主要称为有线连接。该连接可包括部件连接导线,例如所描述的USB插头和接口装置,或者例如无线USB的无线部件。

在一些其他实施例中,所述连接配置为依据较高吞吐量装置的连接,例如使用HDMI端口或VGA端口。

如上所述,便携式系统110例如通过具有用于连接到主机设备150的匹配数据通信端口168的数据通信插头128可配置为加密狗。数据通信插头128的一个实例为USB插头,用于连接到主机设备150的USB端口。

以这些方式,通过相对低速率的连接(例如USB设备类别部件),高级功能可用,反之高级功能将不可用。并且如果较高或高能力类别设备可用(例如,如果车辆已经配置有这种设备类别或用于这类设备类别),系统可配置为直接使用较高能力类别设备来提供高级功能。

例如,尽管在一些实施例中便携式系统110为便携式大容量存储设备,但是可以支持更高级的USB设备类别,例如媒体传输协议(MTP)。

在各个实施例中,便携式系统110配置为操作各种类型的计算机指令 中的任何一个或多个,所述计算机指令可经编程用于动态操作和/或其可以接收用于系统110处的动态处理。

在一些实施例中,便携式系统110配置用于与主机设备150和/或便携式系统110外部的另一个系统132(例如远程网络或数据库)进行无线通信。在图1中用附图标记130标记无线输入或输入/输出(I/O)设备——例如,收发器——或简单地为发射器。与主机设备150和外部系统132的无线通信分别用附图标记131、133指示。

在各个实施例中,无线设备130可以例如通过路边基础设施或其他局域无线收发器、信标或热点与多种网络(包括蜂窝通信网络、卫星网络,以及局域网)中的任何一种进行通信。无线设备130还可与近场通信(NFC)设备进行通信以支持功能,比如移动支付处理,或通信建立/切换功能,或者可由NFC实现的任何其他使用情况。无线设备130可包括例如用于与蜂窝通信网络进行通信的无线电调制解调器。

因此,在各个实施例中,远程系统132包括用于到达诸如因特网和远程服务器的目的地的蜂窝通信网络、路边基础设施或其他局域网中的任何一种。远程系统132可以为服务器,并且可以为客户服务中心或系统(例如系统(ONSTAR为美国密歇根州底特律市的Onstar有限责任公司的注册商标))的一部分或者可由其来操作。

下面主要结合图2的算法描述了便携式系统110的其他特征。

在一些实施例中,主机设备150为更大的系统151(例如汽车)的一部分。

如图所示,主机设备150包括存储器,或计算机可读介质152,例如易失性介质、非易失性介质、移动介质以及不可移动介质。如在说明书和权利要求书中所使用的术语计算机可读介质及其变体是指有形的或非瞬态的计算机可读存储设备。该部件在本文主要称为存储设备152。

在一些实施例中,存储介质包括易失性和/或非易失性、可移除和/或不可移除介质,例如随机存取存储器(RAM)、只读存储器(ROM)、电擦除可编程只读存储器(EEPROM)、固态存储器或其他存储器技术,CD ROM、DVD、BLU-RAY或其他光盘存储设备,磁带、磁盘存储器或其他磁存储设备。

主机设备150还包括通过通信链路156(例如计算机总线)连接或可连接到存储设备152的嵌入式计算机处理器154。

处理器可以为多个处理器,在单个机器或多个机器中其可包括分布式处理器或并行处理器。处理器可用于支持虚拟处理环境。处理器可包括状态机、专用集成电路(ASIC)、包括现场可编程门阵列(Field PGA)或状态机的可编程门阵列(PGA)。本文提及的处理器执行代码或指令用以执行操作、动作、任务、功能、步骤等等,可包括直接执行操作和/或促进、指导或与另一个设备或部件协作以执行操作的处理器154。

在各个实施例中,设备152将所接收的和/或所产生的且将在处理过程中使用的数据中的至少一些存储在与存储其中的代码相对应的基于文件的设置中。例如,当使用FPGA时,硬件存储设备152可包括配置用于由FPGA进行处理的配置文件。

存储设备152包括计算机可执行指令或代码158。计算机可执行代码158可由处理器154执行以使处理器并因此使主机设备150执行在本发明中描述的关于主机设备150的功能的任何组合。

主机设备150包括其他代码或数据结构,例如文件子系统160、动态编程语言(例如,JavaScript、Java或C/C++编程语言),以及应用程序框架162。这些存储器152部件中的任何一个可以组合、分开或移除。本文提及的响应于任何存储器152部件的执行而执行的主机系统操作可通过执行另一个存储器152部件或者组合或分开的存储器152部件而执行。例如,如果第一所示代码158描述为配置成使处理器154执行某一操作,那么另一个存储器152部件的指令可配置为使处理器154执行该操作。

文件子系统160可包括第一级高速缓存和第二级高速缓存。文件子系统160可用于在处理器154发布文件之前存储媒体文件,例如视频或图像文件。

动态编程语言(例如,JavaScript、Java或C/C++编程语言)应用程序 框架162可以为第二级高速缓存的一部分。动态编程语言可用于处理从便携式系统110接收到的媒体数据,例如图像或视频数据。编程语言代码可定义用于便携式系统110与主机设备150之间的通信的设置,例如一个或多个API的特征。

主机设备150包括一个或多个接口部件172或与其通信连接,例如HMI部件。对于其中部件172便于用户输入至处理器154以及从处理器154输出至用户的实施方式,该部件可称为输入/输出(I/O)部件。

为了输出,接口部件可包括可视的输出或显示部件174,例如屏幕,以及音频输出,例如扬声器。在设想的实施例中,接口部件172包括用于提供诸如由用户感觉到的振动的触觉输出的部件,例如经由汽车驾驶员感觉到的方向盘或车辆座椅。

接口部件172配置成以多种方式的任何方式来接收用户输入。为了输入至主机设备150,接口部件172可包括,例如,诸如触摸感应显示器的机械的或机电的传感器设备,其可由附图标记174指示,和/或诸如音频传感器的音频设备176,例如麦克风,或诸如扬声器的音频输出。在各个实施例中,接口部件172包括至少一个传感器。该传感器配置成用于检测例如通过触摸、可听地和/或通过用户非接触移动(例如通过手势)提供的用户输入。

触摸传感器接口部件可包括机械致动器,用于将运动部分(例如机械按钮)的机械运动转换成电信号或数字信号。该触摸传感器还可包括触控板或触控屏,例如表面电容传感器。例如,为了检测手势,接口部件172可使用投射电容传感器、红外激光子系统、雷达子系统或摄像子系统。

接口部件172可用于来接收用于影响便携式系统110和主机设备150中的一个或全部的功能和设置的用户输入。对应于输入的信号或消息在部件172处生成且传递至处理器154,其通过执行存储设备152的代码,设置或改变主机设备150处的功能或设置,或生成用于便携式系统110的通信,例如指令或消息,且将该通信发送至便携式系统110以设置或改变便携式系统110的功能或设置。

在一些实施例中,主机设备150配置成通过有线连接129连接至便携式系统110。在特定实施例中,主机设备150配置成具有或连接至数据通信端口168,该数据通信端口匹配于便携式系统110的数据通信插头128。提供的实例性插头/端口装置为提到的USB装置。另一实例可以是无线USB协议。

在一些实施例中,主机设备150配置成与便携式系统110进行无线通信131。在图1中,主机设备150的无线输入或输入/输出(I/O)设备,例如收发器,由附图标记170来指示。执行存储设备152的代码的处理器154通过无线设备170可无线地发送信息(例如消息或分组数据)至便携式系统110和远程系统132,以及从便携式系统110和远程系统132无线地接收信息(例如消息或分组数据),这分别由附图标记131、171来指示。

主要地结合图3的算法,以下描述了主机设备150的其它特征和功能。

II.图2和3-算法和功能

本技术实施的算法现在得到更详细地描述。在图2和3中,该算法由排列成方法200、300的流程图来概述。

图2示出了在图1的便携式系统110中编写的算法的操作。图3示出了在主机设备150中编程的算法的操作。

在一种实施方式中,该算法基于用于呈现媒体的主题应用程序配置成用于确定优选的或可应用的编解码器族和/或编解码器参数,以用于在处理媒体(例如,视频)中使用。相应的方法可称作为闭环,因为它们不需要对其他数据分析,例如传输以及显示再现或复制的媒体的实时特征。

在另一开环实施方式中,便携式系统110分析媒体并基于媒体的特征选择编解码器族和/或编解码器参数。在一些实施方式中,该分析是实时的,且作为将媒体传输至主机设备150和在那里显示再现过程的一部分来操作。实例性可视特征包括清晰度和浓度,且并不限于这两种特征。分析浓度可包括生成或至少分析历史的或直方图的浓度。

在一个实施例中,便携式系统110配置为选择性地便于实现闭环过程或开环过程。该分析可以用于确定正处理的屏幕帧的类型,如更多以文本 为中心类型的屏幕帧或更多以图像/视频为中心类型的屏幕帧。

作为清晰度(SH)度量计算的示例,可使用下列任一关系:

关于直方图浓度(HC),可使用下列任一关系:

其中,例如,n是多个浓度峰值,N是多个总体灰度。

以及如图4所示的关系[5]。

可以使用下列的关系处理清晰度(SH)度量和直方图浓度(HC)度量,以获得适当的编解码器或编解码器族(C):

CFrame_X=f(SHx,HCx)

=αSHx+(1-α)HCx 关系[6]

清晰度(SH)和直方图浓度(HC)度量可以在不脱离本发明技术范围的情况下以各种方式用于确定编解码器或编解码器族(C)。作为一般性示例,如果清晰度(SH)低(例如,≤0.4)和直方图浓度(HC)低,则浓度(C)可以低;以及,如果清晰度(SH)高(例如,>0.4)和直方图浓度(HC)高,则浓度(C)可以高。这些一般性的关系可以通过下列简单的图表形式示出:

在一个设想的混合实施例中,开环和闭环在一定程度上都得到使用。在另一设想的实施例中,便携式系统110配置为确定开环或闭环的哪个过程用于特定的媒体。该确定可以基于媒体的特征,如正处理的视频的清晰度和浓度,和/或例如,该确定可以基于正使用以获得视频的应用程序的标识或类别。

应当理解,方法200、300的操作不必以特定顺序呈现,而以另外的顺序执行一些或所有操作是可能和可预期的。

操作以展示的顺序呈现,这是为了便于描述和说明。操作可以在不脱离所附权利要求的范围的情况下添加、省略和/或同时执行。

还应当理解,示出的算法200、300可以在任何时候结束。在某些实施例中,该过程的一些或所有操作和/或基本上等同的操作由处理器114、154执行本文提供的存储设备112、152上的计算机可执行代码来执行。

II.A.便携式系统操作-图2

图2的算法200主要从图1的便携式系统110的角度来说明。

算法200始于201并按流程进行到第一所示的操作202,在这一步,便携式系统110置于与主机设备150通信。对于交互过程202,主机设备150的相应活动在下文结合图3,具体说结合图3的框302进行进一步描述。

操作202建立一个信道,数据和通信如消息或指令可以通过信道在便携式系统110和主机设备150之间共享。

与主机设备150连接可以包括通过有线129(例如,插头至端口)或无线131连接,两种方式都在图2中示意性地由附图标记203表示。

示例性主机设备150包括运输交通工具如汽车的主机或车载计算机。

在一个特定的实施例中,便携式系统110配置成为加密狗,例如通过使数据通信插头128(比如,USB插头)用以连接到主机设备150的匹配 端口168。对于便携式系统110和主机设备150之间的通信来说,每个可以在各自的存储设备112、512中包括可操作用于该类型连接的协议。对于USB插头/端口例子来说,该协议可以是USB大容量存储设备类(MSC)的计算协议。也可以支持其它的协议,例如更先进的USB协议,包括媒体传输协议(MTP)。

在一些实施例中,便携式系统110配置为由无线连接连接到主机设备150,在图1中由附图标记131表示,且在图2中由附图标记203表示。

在一些实施例中,与主机设备150通信连接的便携式系统110执行与主机设备150的信号交换进程。信号交换进程也可以认为在图2中由附图标记203表示。

对于其中两个设备均包括一种动态编程语言(例如JavaScript、Java或C/C++编程语言)的一些实施例来说,操作202可以包括使用动态编程语言在便携式系统110和主机设备150之间的信号交换或其它交互例程。

算法200的流程进行到框204,在此处理器114比如借助无线通信部件130接收来自链接到在系统中(例如,系统存储器)与用于再现接收自远程设备的媒体的显示屏相连接的帧缓冲器的源(比如远程源132),或虚拟视频源(比如帧缓冲器),或虚拟视频文件的源媒体(比如流视频-例如,视频文件)。远程源可包括客户服务中心或系统的服务器,比如系统的服务器。

在各个实施例中,所参考的源媒体文件是虚拟文件,比如以链接的形式或以指针链接到包含特定相应媒体文件或媒体文件的特定子集的存储器位置。

尽管本技术处理具有文件格式的数据,但是结果却是流视频和流音频的一种新颖方式。任何时候处理的数据包括大量静止图像。涉及大量(例如,数千)静止图像的静止图像装置便于以低延迟实现高速流视频的传输,包括通过冲刷以插入式大容量存储系统实施的高速缓存,比如那些使用USB大容量存储类(USB MSC)协议的插入式大容量存储系统。

尽管本技术可用于实时传输以及显示再现或复制(例如用于显示或显 示目的的再现)各种类型的媒体文件,包括具有或不具有视频的媒体文件,以及具有或不具有音频的媒体文件,但是本文中主要描述的文件类型是表示图形输出的视频文件,或用于作为相应图形显示在显示屏上输出的数据,这在各种实施例中包括或不包括音频。

对于各种实施例而言,本发明中所参考的流视频或视频文件应认为包括任何可能的媒体文件类型。

操作204可包括整体接收流视频,或同时或随着时间接收单独部分。

在一个设想的实施例中,从本地源接收视频文件,比如虚拟视频文件,所述虚拟视频文件链接到在系统中(例如系统存储器)与显示屏相连接的帧缓冲器。在实施例中,主要(如果不是唯一的)视频源是帧缓冲器。

本地源可包括,例如智能电话或其他移动设备,其要么接收来自远程源的流视频且将其发送到便携式系统110,要么具有储存在本地源的视频。可通过有线或无线的方式从本地源发送至便携式系统110。

对于在便携式系统110处有主题媒体或多媒体应用程序的实施例,接收媒体文件可包括使用应用程序接收媒体文件。

在不同实施例中,流视频具有多种格式中的任何格式,比如,仅举例说明,.mpeg、.wmv或.avi格式。

流程进行到框206,在此处理器114确定应用程序特征。在各种实施例中,应用程序特征包括应用程序标识和与主题应用程序相关联的应用程序类别中的一个或两个。

多版本的主题应用程序可在便携式系统110和/或主机设备150上运行。应用程序可以是媒体或多媒体应用程序,比如远程视频应用程序服务器所服务的视频应用程序。

可以以多种方式中的任何方式表示应用程序的标识。例如,可通过应用程序名称、代码、编号或其他指示符标识应用程序。

正如所提供的,在一些实施方式中,应用程序类别是操作206中使用的应用程序特征。实例应用程序类别包括实况视频演出、存储视频、视频 游戏、文本文件/阅读器、动画、导航、交通、天气,以及对应于一个或多个信息娱乐功能的任何分类。

在一个设想的实施例中,基于区分应用程序的特征,不同类别包括相同或相似类型或风格的应用程序。例如,基于其特征,第一天气应用程序可与第一类别相关联,而基于其特征,第二天气应用程序可与另一种类别相关联。为了说明,下面是6个实例类别的列表。短语重型、中型和轻型表明从应用程序中所期望的(例如,应用程序先前所提供的)媒体格式(例如,移动地图、视频或文本)的相对量。

1、重型移动地图/重型图像/轻型视频/轻型文本(例如,一些天气应用程序)

2、轻型移动地图/中型图像/轻型视频/重型文本(例如,一些其他天气应用程序)

3、重型移动地图/中型文本(例如,一些导航应用程序)

4、中型移动地图/高文本(例如,一些其他导航应用程序)

5、轻型文本/重型图像和/或视频(例如,一些电子阅读应用,例如儿童阅读或可视教育电子阅读应用)。

6、重型文本/轻型图像(例如,一些其它电子阅读应用)。

应用程序特征(例如,应用程序标识或类别)能够以多种方式的任一种获得。在各种实施例中,特征经预先确定并存储在便携式系统110的硬件存储设备112中或预先确定并存储在主机设备150的存储设备152中。在一个实施例中,在一个或多个文件中指示特征。文件可包含查找表,将不同应用程序(例如,导航应用)的每一个映射至相应的应用程序特征。文件可存储在主机设备150的存储设备152中,或存储在另一系统中,例如远程服务器,其可由图1中的附图标记132来指示。

在一设想的实施例中,应用程序类别涉及主题应用程序的属性或类型。在一设想的实施例中,应用程序类别基于应用程序的活动而非通过接收或获取类别的指示进行实时地确定。例如,一旦确定了提供的视觉媒体为覆盖有天气或交通的移动地图,处理器114可分别地确定应用程序类别 为天气或交通。

在一设想的实施例中,确定类别包括创建新类别或重新关联应用程序与现有应用程序。尽管应用程序可能还未预先与一类别关联,处理器114可确定应用程序具有特定的使其本身与现有类别相关联的属性或类型。在一设想的特定实施例中,指令118配置成使处理器114建立与应用程序相关联的新类别,应用程序已确定未与现有类别相关联。在一个实施例中,默认类别存在且建立以容纳并未匹配另一类别的此类应用程序。

在框208处,基于应用程序特征,处理器114确定主机设备150应使用多个可用编解码器族和/或媒体系统属性或参数中的哪个来处理视觉内容。

编解码器族在以下简称为编解码器,以及媒体系统属性或参数简称为编解码器参数。

在一个实施例中,本技术包括生成映射数据。映射过程可以在便携式系统110、远程系统132或主机设备150中实现。映射过程涉及确定编解码器族选择与应用程序标识或类别之间的关联,且存储该关联,例如以查找表的形式。已经确定了应用程序标识或类别的系统(例如,系统110、132、150)可查阅映射数据,以确定分配的编解码器族。

映射数据可与编解码器参数一起类似地生成,且映射数据包括应用程序特征(例如,应用程序标识或应用程序类别)与编解码器参数之间的关联。

在一些实施例中,识别编解码器和/或编解码器参数选择包括从便携式系统110外部的源对它们进行检索获取,例如,从主机设备150或远程源132(例如远程服务器或数据库)。

本发明技术的一个方面,主机设备用来处理视觉内容的多个可用编解码器和/或编解码器参数是基于视觉属性(例如主题图像或视频的特征)确定。在一些情况下,基于主题应用程序的标识或类别来选择编解码器和/或编解码器参数相对于例如基于实时地传输并显示再现的媒体的可视属性来选择编解码器和/或编解码器参数的优势包括用于处理资源的较低需 求和用于确定优选的或可应用的编解码器和/或参数的更快的处理时间。

编解码器和/或编解码器参数能够以多种方式的任一种获得。如前所述,在各种实施例中,编解码器和/或编解码器参数经预先确定并存储在便携式系统110的硬件存储设备112中,或预先确定并存储在主机设备150的存储设备152中。在一个实施例中,编解码器和/或编解码器参数在一个或多个文件中标识,例如包含查找表的文件,将不同应用程序特征的每个映射至与它的相应的应用特征(例如,标识和/或类别)相关联的一个或多个编解码器和/或编解码器参数。映射文件可存储在主机设备150的存储设备152中,或存储在另一系统中,例如远程服务器,其可由图1中的附图标记132来指示。

在一个实施例中,所述处理器114在操作208期间检索到可供选择的可用编解码器和/或编解码器参数,例如通过请求并从所述主机设备150接收一个或多个列表。接着所述处理器114在所接收到的选项中进行选择。

示例性编解码器包括无损和有损编解码器。在设想的不同实施例中,可以使用一个以上不同类型或级别的有损编解码器。

通常,有损编解码器配置为对主题媒体(如视频)进行处理时允许其某些细节的一些损失。因此,通过有损编解码器进行处理产生表现原始内容的不精确近似。使用有损编解码器的结果包括减少存储、处理和/或传输所表现的内容需要的数据量。某些有损编解码器在允许减少视觉内容数据的同时,使得休闲观众能感知到的图像质量没有降低或降低很少。

相反,无损编解码器配置为使原始数据在传输后的处理期间完美地或几乎完美地重构。示例性无损格式或压缩为RFM/VNC。

这种无损格式的优势包括能够传输媒体(例如视频)全部的或基本上全部的内容,从而再现时没有模糊效果或不造成其它可视特征的减少,并且这不需要处理设备的精细管理。在有些媒体得观看过程中细节对于享受或理解非常重要,避免模糊或其它视觉特征减少就尤为重要。一个实例是基于文本的网页,会因为模糊化导致再现不清晰或很难阅读。

示例性有损格式或压缩包括H.264、JPEG和M-JPEG。所述格式可以 包括HEVC。使用有损压缩的优势包括能够及时传输和显示再现高质量的图像视频和图形数据。

基于预期要从应用程序或该类别的应用程序所接收的媒体(比如视频和图像),对将一个或多个应用程序标识或应用程序类别关联到多个编解码器中的每个的查寻文件或代码进行配置。

在一些实施方式中,对将一个或多个应用程序类别或标识关联到编解码器的查找文件或代码进行配置,以便提供对视觉细节要求相对不严格的视觉媒体的应用程序与有损编解码器相关联。例如,在视频中,尽管通常可以在屏幕上看到运动,例如当视频中的人走过一片草地,大部分时间、大部分所显示的图像变化不大和/或高细节显示再现所有图像的值不高。进一步以人行走于草地为例,考虑到草地随时间没有太大变化,并且考虑到提供草地中草的高可视细节的值不是非常高,可以使用某些级别的有损码。换句话说,如果真的在处理时使用有损编解码器而除去某些细节,用户总的观看体验或理解也没有太多减少。

可以对所述查询文件和代码进行配置,以便提供诸如基于文本或地图的导航信息之类的视觉媒体的应用程序与无损编解码器或至少损失较少的有损编解码器相关联。这么做的理论依据是,丢弃这种类型媒体的细节更加可能由观看者注意到,从而降低观看者体验,让理解变得不舒服或很难。

对于具有多个可用有损码的实施例中,倾向于提供特定类型媒体的主题应用程序提供的媒体越多,例如视频相对于文本,与标识的应用程序或应用程序类别相关联的编解码器的损耗越大。在不同时间提供各种形式媒体(例如视频、地图和文字)的应用程序,例如天气或新闻应用程序,可以根据这些应用程序过去所提供的各种类型的媒体的各自的水平,通过其标识或类别与有损编解码器的级别相关联。

作为应用程序类别/编解码器映射的实例,所确定的与导航类别相关联的应用程序可以在查询文件或代码中与无损编解码器相关联,无论查询文件或代码存储在哪里,比如说存储器112、152或远程设备132。作为应用程序类别/编解码器映射的另一实例,如果应用程序经确定与视频类别相关 联,查找文件或代码可以配置为将编解码器/类别映射到有损编解码器。

示例性编解码器参数包括各种压缩比中的任一个。另一示例性编解码器的参数包括各种分辨率级的任一个。

例如,如果一主题应用程序经确定与导航类别相关,则系统110可以基于应用程序特征确定应使用相对高的分辨率(例如1280x800像素和/或0.5的压缩比)以处理来自应用程序的相应视觉导航媒体。应当理解,这些参数值纯粹是示例性的。

又如,如果一应用程序经确定为与视频类别相关,则系统110可以基于应用程序特征确定应使用较低的分辨率(例如800×480像素和/或较低的压缩比,如0.2)以处理来自应用程序的相应视频媒体。再次地,这些参数值纯粹是示例性的。

如前所述,在一些实施例中,便携式系统110在硬件存储设备112内具有一种动态编程语言125的代码,如JavaScript、Java或C/C++编程语言的代码。该语言可以用于系统110的操作,包括图像处理操作,如根据情况选择优选或适当的编解码器和/或编解码器参数来使用的功能。

继续参见图2,在框210处,处理器114向主机设备150发送如下通信,指示所确定的用于处理媒体(例如,视觉内容)的编解码器和/或编解码器参数(一个或多个)。传输由附图标记211指示。主机设备150的对应活动在下文结合图3有进一步的描述,具体见图中的框304。

在框212处,处理器114发送媒体内容到主机设备150,以使用所确定的编解码器和/或编解码器参数(一个或多个)在主机设备150上显示再现。传输由附图标记213指示。主机设备150的对应活动在下文结合图3有进一步的描述,具体见图中的框306。

在框214处,处理器114产生、识别、检索、接收或以其它方式获得配置以改变或建立设置或功能的指令或消息。对于用来调节便携式系统110的设置或功能的指令,处理器114执行该指令。对于用来调节主机设备150的设置或功能的指令,处理器114生成通信并将其发送215到主机设备150。两个通信信道在图2中由标记为215的双箭头线指示。主机设 备150的相应活动由附图标记312指示。

该功能可以是或涉及到一个或多个便携式系统的功能,该功能影响确定使用多个可用编解码器中的哪一个来处理视觉内容的操作。

在各种实施例中,操作214涉及在处理器114上从HMI接口部件126接收信号或消息。接口部件126可包括,例如,一个传感器,其配置成检测通过触摸、声音、非触摸运动或手势提供的用户输入。接口126可包括按钮、旋钮或话筒,例如,通过接口,用户可提供输入给便携式系统110,用于影响或建立便携式系统110和/或主机设备150的设置或功能。

如前所述,便携式系统110和主机设备150配置用于在二者之间双向通信。在一些情况下,配置允许二者之间的同时双向通信。如还提到的,在不同实施例中,配置设置成根据TDMA信道接入方法以便于进行通信。

从便携式系统110到主机设备150的前向信道传输所选择的编解码器和/或编解码器参数210、主题媒体(例如,视频或图像文件)以及配置为影响主机设备150功能或设置的任何指令或消息。反向信道将从主机设备150到便携式系统110传输配置为更改或建立便携式系统110功能或设置的指令或消息。

进程200可以结束于217或可以重复其任何部分,例如结合与新视频或同一视频的后续部分相关联的新文件。

在不同实施例中,便携式系统110可以个性化或定制,例如通过设置或用户偏好。这些可以通过多种方法的任一个编程到便携式系统110中,包括通过主机设备150、个人计算机(未示出)、移动电话等等。在一些实施例中,在进行任何个性化设置之前提供默认设置或偏好。可个性化的设置或功能可以包括任何本文所述的那些设置和功能,如对输入视频进行处理的方式,或者在主机设备150上回放(如倒带、快进)的质量。对输入视频进行处理的方式可以包括,例如,选择编解码器或编解码器参数的方式。选择编解码器或编解码器参数的方式可以影响其它过程,比如使带宽可用于VOIP呼叫。

II.B.主机设备操作-图3

图3的算法300主要是从图1的主机设备150的角度来描述。如所提供的,主机设备150可包括或为运输车辆(诸如,例如汽车)的主机或车载计算机的一部分。

算法300开始于301且流程进行至第一操作302,在此将主机设备150置于与便携式系统110通信。与主机设备150连接可包括由有线或无线连接129、131进行的连接。

框302的连接可包括主机设备150与便携式系统110之间的信号交换过程,这也可视为由图2和3中的附图标记203所指示。在操作302处的过程建立信道,便携式系统110与主机设备150之间可通过该信道共享诸如消息或指令的数据和通信。

对于其中两个设备均包括诸如JavaScript、Java或C/C++编程语言的动态编程语言的实施例,操作302可包括便携式系统110与主机设备150之间使用动态编程语言的信号交换例程。

流程进行至框304,在此处理器154从便携式系统110接收便携式系统110处确定的编解码器和/或编解码器参数。通过附图标记211结合便携式系统110的相关联操作210来标记传输。

在框306处,处理器154从便携式系统110接收媒体文件。通过附图标记213结合便携式系统110的相关联操作212来标记传输。

流程进行至框308,在此处理器154使用所接收的编解码器和/或编解码器参数处理接收的媒体文件。

媒体文件可呈多种形式中的任一种,诸如呈流视频(例如,mpeg)的形式或构成视频的图像片段(例如,jpeg)的形式。在一个实施例中,例如,便携式系统110配置成将输入视频划分为多个带索引(例如,连续有序)的图像成分,且在框212处将对应于视频的图像成分发送至主机设备150以使用所接收的代码和/或编解码器参数将图像显示再现为视频。

如所提及,在某些实施例中,主机设备150将诸如JavaScript、Java或C/C++编程语言的动态编程语言164的代码存储在其存储设备152中。在某些实施方案中,语言包括用于促进主机设备150的图像处理功能的应 用程序框架。编程语言代码可定义用于便携式系统110与主机设备150之间的通信的设置,诸如一个或多个API的参数和/或使用编解码器和/或编解码器参数处理媒体文件(例如,视频或图像文件)的方式。

流程进行至框310,在此将所得视频有线或无线地传输至视觉显示部件174。视觉部件的一个实例是诸如汽车的较大系统151的信息娱乐屏幕。传输在图3中由附图标记309指示。

在框312处,主机设备150生成、识别、检索、接收或以其它方式获得指令或消息,诸如用于改变设置或功能的命令或请求。涉及用于调整主机设备150的设置或功能的指令,处理器154执行指令。涉及用于调整便携式系统110的设置或功能的指令,处理器154将指令或消息发送至便携式系统110。两个通信信道在图3中均由标记为215的双箭头线所指示。便携式系统的对应活动是由附图标记214指示。

从主机设备150至便携式系统110的通信215的生成可通过主机设备150的输入部件172的用户输入而触发。输入可包括(例如)对触摸屏174的触摸输入或对车辆麦克风176的音频输入。

在各个实施例中,主机设备150(例如,其代码158)配置成使得能够诸如通过配置成应主机设备150的用户输入的要求而建立或调整便携式系统110的功能或设置而生成用于将便携式系统110个性化或定制的消息或指令。便携式系统110的设置或功能还可通过其它方式(例如通过个人计算机(未示出)、移动电话等)而建立或调整。待个性化的便携式系统110的设置或功能可包括本文所述的任何设置或功能,诸如在便携式系统110处处理输入视频的方式。

过程300或其部分可诸如结合新的视频或媒体或者结合相同视频的后续部分而不断重复。

III.本技术的选择优势

上文描述了本技术的许多优势和优点。本段重申某些所述优势和优点并且引用某些其它优势和优点。优势是通过实例方式提供而不详述本技术的优势。

所述技术允许以高效且有效方式将来自便携式系统的视频数据传输和实时显示再现或复制至诸如汽车主机的主机设备。

所描述的系统和算法可用来通过相对较低传输速率连接(诸如USB连接)实时地传输和显示再现或复制高速视频流。以此方式,高级功能可通过相对较低能力的USB设备类别部件获得,但它们原本将不会获得。且如果可获得较高或高能力类别设备(例如,如果车辆已经配置具有这些设备类别或针对这些设备类别进行配置),那么系统可配置成直接使用较高能力类别设备以提供高级功能。

便携式系统促进现有主机设备(诸如使用中的道路车辆的传统汽车车载计算机)处的视频或其它视觉媒体数据产生高效且有效的流。与某些极现代和下一代系统相比,传统系统具有有限的处理能力以及软件和/或硬件能力。本技术允许通过这些传统系统向用户呈现来自远程源的视频,且呈现的品质和同步与极现代和下一代系统是相当的。

使用无损压缩的优势包括在没有模糊效果或其它视觉特征减少的情况下,它们能够传输用于再现的所有或基本上所有主题媒体(例如视频),并且这不需要处理设备处的精细管理。使用有损压缩的优势包括能够及时(例如,实时)传输和显示再现高质量的视觉媒体,例如视频和图形数据。

用于视频数据的传输和实时显示再现或复制的过程还可影响其它本地过程,比如通过使带宽可用于主机车辆处的VOIP呼叫。

作为另一优势,可使用常规的便携式系统提供本文描述的能力。便携式系统大部分或全部是利用易于获得且相对较低成本的零件而制成。

IV.结论

本文公开了本发明的各个实施例。所公开实施例仅仅是可以不同的和替代的形式以及其组合体现的实例。

上述实施例仅仅是为了清楚地理解本发明内容的原理而陈述的实施方式的示例性说明。在不脱离权利要求书的范围的情况下,可以对上述实施例进行变型、修改和组合。在此本发明及所附权利要求书的保护范围涵盖所有这些变型、修改和组合。

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