基于USB接口的音视频传输和多屏映射的系统和方法与流程

文档序号:11250584阅读:890来源:国知局
基于USB接口的音视频传输和多屏映射的系统和方法与流程

本发明涉及数据处理和汽车电子技术和无线通信领域,特别涉及基于usb接口的音视频传输和多屏映射的系统、方法,比如采用手机、平板电脑、pc、电视、投影仪、车载等多媒体终端上的屏幕映射技术。



背景技术:

屏幕映射的技术指的是,将一个终端(以下称为源端设备)所显示的屏幕内容,映射到另一个终端(以下称为目标端设备)屏幕上。源端设备上的屏幕所显示的内容或播放的音频,可以在目标端设备进行同步显示和同步音频播放。而具体地,源端设备通常指手机、pc、平板电脑等等小型设备,目标端设备通常指车载多媒体、电视、大屏幕pc、投影仪、户外广告屏等等带有较大屏幕的设备。

屏幕映射又分为复制屏幕(也称为同屏映射)和扩展屏幕(也称为分屏映射)。同屏映射指的是,源端设备显示的内容和目标端设备显示的内容相同。分屏映射指的是,目标端设备相当于源端设备的另一个屏幕,所以源端屏幕上显示某一个应用程序的界面,而目标端设备的屏幕显示源端设备的另一个应用程序的界面。应用程序包括普通的信息展示的应用程序,也包含音视频播放器等等应用程序。

目前屏幕映射的技术,从不同侧面分类描述如下:

1)各种通用常见的vnc(virtualnetworkconsole,虚拟网络控制台)技术,具体而言是在相互联网互通的源设备和目标端间,建立数据连接,通过各种vnc的通讯协议,将源端设备的屏幕、声音和触控等信息,映射到目标端的设备上,目标端的设备可以看到源端设备的屏幕显示,播放源端设备的声音,并且可以操控源端设备的应用程序触控等。典型代表是windows的远程桌面连接,安卓手机的pc屏幕操作等等。

2)用于车载或电视设备相关的屏幕映射技术,比如,mirrorlinktm标准、miracasttm技术、widitm技术,apple苹果公司的carplaytm,google公司主导的googleautotm技术等,这些技术的目的都是通过所制定的规范和标准,可以让手机跟车载多媒体系统或电视(简称车机)进行互联,并可以实现对特定应用软件的手机和车机/电视的双向控制,目标是使用户在汽车行驶过程不用看手机屏幕,触摸手机屏幕或者操作手机按键。比如,mirrorlink标准结合了多种现有技术来满足各种可能的车内使用情境,包括以虚拟网络运算(vnc)进行画面显示与用户指令输入、透过通用随插即用(universalplugandplay,upnptm)找寻对应的设备与完成正确的设定配置、运用蓝牙(bluetoothtm)和实时传输协议(real-timeprotocol,rtp)执行音讯串流等,mirrorlinktm也能支持目前在车内经常使用的规格包括蓝牙hfp与a2dp协议等技术。miracast设备提供简化发现和设置,用户可以迅速在设备间传输视频。又比如,miracast用户可以尽情在大屏电视上浏览智能手机拍下的照片,通过会议室投影仪实时共享笔记本屏幕,或者在平板电脑上收看家庭电视机顶盒的直播节目。miracast通过wi-ficertifiedwi-fidirecttm形成连接,因此无需接入任何wi-fi网络——miracast认证设备内部具备连接功能。又比如,widi(intelwirelessdisplay)全称为无线高清技术,它是通过wifi信号来实现电脑和显示设备的无线连接。widi的实现原理是笔记本首先通过无线网卡发出无线信号,然后电视端会有一个无线接收装置来接受wifi信号,无线接收装置在通过hdmi或者a/v线缆把信号传输到显示设备上。又比如,airplaytm是苹果公司的一种播放技术,可以将iphone、ipodtouch、ipad及mac上的视频镜像传送到支持airplaytm的设备(如:音箱、appletv、车机)中播放。

又比如,googleautotm技术是google公司推出的针对安卓手机映射到车机屏幕的方案。

3)从物理外在表现形式来看,可分为内置映射接收协议的终端,以及外置hdmidongle(也称hdmi棒)映射接收方式,其中,内置映射接收协议的目标终端,在终端出厂前已经内置了上述某一个屏幕映射的协议,用以接受该协议的映射请求。外置hdmidongle则是使用上述某一协议的装置,通过hdmi显示接口,连接到目标终端设备,以获得屏幕映射的能力。

虽然以上现有技术的一定程度上满足了各种终端设备的映射需要。但各种协议互不兼容,通常目标终端只能接受某一个种特定映射协议的源终端的映射请求。此外,实现这种方案需要一个前提条件:目标端设备需要出厂前预置这种协议。另外有些协议还不能支持音频传输,只能通过蓝牙的方式来辅助,如mirrorlink。以上前两个主要问题的制约了屏幕映射的应用范围,使得大部分大屏幕的目标终端设备不具备屏幕映射能力。

至于外置的hdmidongle的形式,一定程度上解决了上述所说的目标终端出厂需要预置无线映射的协议的问题。但是带来另一个问题,就是需要目标终端具备hdmi接口的能力。但是大部分现存终端设备,包括车机、电视、投影、户外广告等等不具备hdmi的接口。因此,也不能将映射功能应用在这些场合。此外,因为hdmi接口自身不具备足够的供电能力,还需要外置电源供电,让hdmi的应用受到限制。

现有技术中,有一些解决的方法,比如专利公告号cn104142806a,车载手机互联系统,包括智能手机终端和车载系统,所述车载系统包括:微处理器、以及与所述微处理器电连接的电源管理模块、音视频采集模块、音视频处理模块、蓝牙模块、wifi模块和音视频输出模块,所述智能手机终端通过蓝牙模块或wifi模块与车载系统无线通讯连接,所述音视频输出模块电连接车载头枕液晶显示器。利用无线通讯技术实现智能手机终端与车载系统间的无线交互控制,可以将智能手机终端内的多媒体内容无失真、高清同步到车载头枕液晶显示器上播放,能有效提高视觉效果。但是缺点在于:该终端属于内置映射协议的终端,并采用usb有线的方式将手机与车载进行连接,而不适用于不具备内置映射协议的终端的应用场景。又比如,中国专利申请cn201420476148.8,汽车娱乐影音设备与手机互联系统,包括汽车娱乐影音设备和智能手机,所述汽车娱乐影音设备具有通用串行总线usb接口的接收单元,所述智能手机具有所述usb接口的发送单元,所述usb接口的接收单元和所述usb接口的发送单元通过有线方式连接。本实用新型不仅实现双屏互动,还可以给智能手机电池充电,增强了智能手机的续航能力。但是缺点在于:该终端属于内置映射协议的终端,采用usb有线的方式将手机和车载进行连接,同样的不适用于不具备内置映射协议的终端的应用场景。又比如,专利公告号cn205657799u,一种usb接口的无线音视频发射装置,所述无线音视频发射装置包括pc端及dongle端,所述pc端通过usb接口连接于dongle端。所述pc端包括用于采集视频信息的视频采集单元及用于采集音频信息的音频采集单元,所述视频采集单元包括捕获鼠标模块、捕获屏幕模块、屏幕缩放处理模块及视频编码模块,所述视频采集单元及音频采集单元连接于usb接口。所述dongle端包括中央处理模块,所述中央处理模块连接有用于发射视频信息及音频信息的wifi模块、按键状态检测监测模块及led灯显示模块。但是缺点在于:该终端属于源设备终端,并通过一个新增加的usbdongle来采集源终端的视频和音频,属于连接在源端发送装置,但是无法作为连接在目标终端的usb接收装置,另外这个专利需要在源端设备和目标端设备都要安装相关的软件,需要指出的是并不是每个目标端设备都具备软件安装能力。专利公布号cn104539707a,车机、手机及pc端的屏幕映射方法及系统,车机与手机通过无线的方式传输数据及控制,车机与服务器通过无线的方式传输数据及控制,服务器与pc端相连,但是缺点在于:具有内置映射协议的终端,并采用usb有线的方式将手机和车载进行连接,同样的不适用于不具备内置映射协议的终端的应用场景。



技术实现要素:

本发明要解决的技术问题是,提供一种使得任何具备usb接口和usb视频播放能力的目标端设备具备屏幕映射和播放源端设备音视频的能力的基于usb接口的音视频传输和多屏映射的系统,从而克服现有技术中存在的需要源端设备和目标端设备同时具备同一协议能力或者需要具备hdmi接口才能进行屏幕映射或者需要同时在两端安装软件的问题和限制。

解决上述技术问题,本发明提供了基于usb接口的音视频传输和多屏映射的系统,包括:

具备usb接口和/或视频读取播放功能的目标端设备,用以作为屏幕映射的载体,

具备usb虚拟文件系统的映射装置,被配置为通过基于usb标准的massstorage协议的usb接口与所述目标端设备连接,所述目标端设备通过访问所述usb虚拟文件系统获取动态生成的数据。

本发明还提供了基于usb接口的音视频传输和多屏映射的系统,其特征在于,包括:

源端设备,用以作为屏幕映射的装置,

具备usb接口和/或视频读取播放功能的目标端设备,用以作为所述源端设备的屏幕或音视频映射的载体,

具备usb虚拟文件系统的映射装置,被配置为通过usb接口与所述目标端设备连接,

所述目标端设备通过访问所述usb虚拟文件系统获取动态生成的数据。

基于上述,本发明中的所述映射装置具体包括:一虚拟u盘文件系统模块和一音视频流合成视频文件格式编码模块,

所述虚拟u盘文件系统模块,用于在usb接口上产生一个虚拟文件系统,

所述音视频流合成视频文件格式编码模块,用于为上述虚拟u盘文件系统模块提供所请求的文件内容,当所述虚拟u盘文件系统模块通过usb访问文件的内容时,并且将音视频合成为虚拟文件系统的相关格式数据流,输出给虚拟u盘文件系统模块。

基于上述,本发明中的系统还包括:视频压缩模块、音频压缩模块、音视频编码模块、缺省文件接口处理模块,

所述视频压缩模块,用以将视频原始数据进行压缩后存入音视频编码模块,

所述音频压缩模块,用以将音频原始数据进行压缩后存入音视频编码模块,

所述音视频编码模块,用以将音视频编码合成为设定格式数据流,

所述音视频编码模块与音视频流合成视频文件格式编码模块连接,

所述缺省文件接口处理模块,用以获取本地或者远程的文件目录或数据,并完成相应的适配或操作。

基于上述,本发明中的系统还包括:一触摸信号中转装置,用以将所述目标端设备的触控信号通过触控信号转发接口发送到所述映射装置,并通过映射装置回传到源端设备上通过调用触控接口完成触控操作。

基于上述,本发明中的系统还包括:一遥控设备,用于与所述映射装置通过蓝牙或者wi-fi相连,进行触摸/按键的遥控操作。

更进一步,在所述目标端设备生成一播放器媒体列表,用以在每个所述源端设备注册后在所述播放器媒体列表上对应、产生配套的虚拟的文件夹和相应文件数据。

更进一步,所述源端设备通过wi-fi无线传输与映射装置相连,所述映射装置。

本发明提供了基于usb接口的音视频传输和多屏映射的自映射方法,包括如下步骤:

s1将具备usb接口和/或视频读取播放功能的目标端设备作为屏幕映射的载体,

s2将具备usb虚拟文件系统的映射装置配置为通过基于usb标准的massstorage协议的usb接口与所述目标端设备连接,所述目标端设备通过访问所述usb虚拟文件系统获取动态生成的数据。

本发明中还提供了基于usb接口的音视频传输和多屏映射的方法,包括如下步骤:

s1当映射装置通过usb接口插入到目标端设备的usb接口时,映射装置上电工作,并等待其它源设备连接,同时在所述映射装置的usb接口模拟出一基于massstorage协议的usb虚拟文件系统,

s2在所述源端设备启动一应用程序,并查找周边适配的可连接设备,通过鉴权连接映射装置,

s3将所述源端设备与所述映射装置连接成功后,所述映射装置中的usb虚拟文件系统将根据源端设备生成相应的虚拟文件系统目录和文件列表结构,

s4在目标端设备上的音视频播放程序选择上述文件列表结构中的文件进行播放

本发明的有益效果:

采用本发明的使得大量的基于usb播放器的目标端设备,具备将另一个源端设备的屏幕映射在目标端设备上的能力,从而实现了目标端设备显示能力充分使用的效果,并节省了设备废弃和改造的高昂成本。

附图说明

图1是本发明的系统结构示意图(自映射);

图2是本发明的系统结构示意图(接收功能);

图3是自身映射的usb虚拟文件的映射装置的示意图;

图4是具有接收功能usb虚拟文件的映射装置的示意图;

图5是物理化连接示意图;

图6是映射装置的一优选实施方式示意图;

图7是源端设备逻辑示意图;

图8是接收装置逻辑流程示意图;

图9是目标端设备逻辑和流程示意图;

图10是目标端设备中播放器媒体列表示意图。

具体实施方式

现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。

如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。

请参考图1是本发明的系统结构示意图(自映射),基于usb接口的音视频传输和多屏映射的系统,包括:具备usb接口和/或视频读取播放功能的目标端设备300,用以作为屏幕映射的载体,具备usb虚拟文件系统的映射装置200,被配置为通过基于usb标准的massstorage协议的usb接口与所述目标端设备连接,所述目标端设备通过访问所述usb虚拟文件系统获取动态生成的数据。在本实施例中的映射装置200本身已经运行了一套操作系统(比如,安卓操作系统,此外,映射装置本身可以不带屏幕显示,可以带屏幕显示),则映射装置通过usb虚拟文件系统的接口,将映射装置本身的操作系统界面映射到目标端设备上。在没有屏幕显示的情况下,采用本实施例中所述的遥控装置(可选),使用手机或者专用的遥控设备来对映射装置本身的操作系统界面进行操作。在本实施例中,其实映射装置200本身也是作为源端设备的作用。

请参考图2是本发明的系统结构示意图(接收功能),基于usb接口的音视频传输和多屏映射的系统,包括:源端设备100,用以作为屏幕映射的装置,具备usb接口和/或视频读取播放功能的目标端设备300,用以作为所述源端设备的屏幕或音视频映射的载体,具备usb虚拟文件系统的映射装置200,被配置为通过usb接口与所述目标端设备连接,所述目标端设备通过访问所述usb虚拟文件系统获取动态生成的数据。采用本实施例所述方法和装置,与现有技术相比,取得了将屏幕映射延伸为通用能力的进步,使得大量的只有固定功能带大屏幕和usb播放器的目标端设备具备将另一个源端设备的屏幕映射在此设备上的能力,达到了目标端设备显示能力充分使用的效果,并节省了设备废弃和改造的高昂成本,甚至使这些大屏幕具备智能设备的能力。

如图6所示,系统分为usb虚拟文件系统软件子系统和音视频流处理子系统,其中usb虚拟文件系统软件子系统的包括虚拟u盘文件系统模块和音视频流合成视频文件格式编码模块,其中音视频流处理子系统包括视频压缩模块,音频压缩模块,音视频编码模块,其他文件接口处理模块。

上述相关的系统模块组成如下:

虚拟u盘文件系统模块2002,用于在usb接口上产生一个虚拟文件系统。外部看到的设备是一个u盘设备,可以浏览目录和读取文件。

音视频流合成视频文件格式编码模块2001,用于为虚拟u盘文件系统模块提供所请求的文件内容。当usb访问某个文件的内容时,将音视频的书合成为虚拟文件系统的相关格式数据流,输出给虚拟u盘文件系统模块。

视频压缩模块,将视频原始数据进行压缩,减少传输数据流,供编码模块使用。

音频压缩模块,将音频原始数据进行压缩,减少传输数据流。供编码模块使用。

音视频编码模块,将音视频编码合成为h.264或mpeg4等等格式的数据流。

其他文件(缺省)接口处理模块:获取本地或者远程的文件系统的目录和数据,并作相应的适配和操作。这些数据供虚拟u盘文件系统模块(026)使用。

基本方法描述如下:显示屏幕数据流为本地或者远程的需要显示的数据流。显示屏幕数据流可以是当前正在显示的屏幕内容,也可以是视频播放的数据流。音频流同上。这些数据流经过视频压缩和音频压缩进行音视频压缩后,再经过音视频编码模块生成可以播放的视频流,然后音视频流合成视频文件格式编码模块将这些文件合成为u盘文件系统中的文件内容,虚拟u盘文件系统管理文件目录结构和文件读写操作,当访问文件内容时,请求音视频流合成视频文件格式编码模块获取文件的内容。

本实施例中的目的是使用户可以将源端设备100的小屏幕(或音视频文件)映射到目标端设备300的大屏幕上进行屏幕展示和音视频播放。

本实施例中的映射装置200是一个小型的设备,通过usb接口插入到目标端设备300的usb接口上,目标端设备300需具备u盘读取能力以及播放u盘音视频的能力。源端设备100通过与映射装置200通讯,接收映射装置200将源端设备100传送过来的屏幕显示信息和音视频信息,合成为相关的音视频播放文件,并在与目标端设备300的usb接口上,虚拟出文件系统和音视频多媒体播放文件,这样目标端设备300就可以在无需任何软硬件改动的情况下,展示源端设备100的屏幕信息或者播放源端设备100的音视频。当工作在自身映射的情况,映射装置200同时也作为源端设备100使用,提供自身系统屏幕所需显示的数据和音频数据等。具体到自映射的实现方法,具体包括如下步骤:

步骤s1将具备usb接口和/或视频读取播放功能的目标端设备作为屏幕映射的载体,

步骤s2将具备usb虚拟文件系统的映射装置配置为通过基于usb标准的massstorage协议的usb接口与所述目标端设备连接,所述目标端设备通过访问所述usb虚拟文件系统获取动态生成的数据。

由上述图1或图2可知,通过在已有设备或者新增设备上的usb接口上创建一个虚拟文件系统。这个文件系统并不是该设备上的真实文件系统,而是在内存中的相关结构和数据。文件的数据本专利所描述的方法动态生成。目标端设备通过访问这个虚拟文件的文件,达到访问这些动态生成的数据。具体应用领域是,将屏幕显示的数据流以及音频流通过相关的步骤转化为文件流,供目标端设备通过标准的文件系统进行访问。

如图4所示是具有接收功能usb虚拟文件的映射装置的示意图,其中包括:

源端设备100,指的是需要进行屏幕映射的设备,通常指手机、平板电脑、pc等等小型设备。在源端设备上需安装本实施例中的的源端软件,利用源端设备100自身的wifi或usb跟接收装置(200)进行通讯。进一步的,如果源端设备100已经带了本申请可以兼容的映射协议,可通过其他映射协议处理模块进行识别,则也可以无需安装本专利的源端软件系统也可以跟本实施例中的映射装置200进行连接,并完成屏幕映射和多媒体播放的功能。

目标端设备300,指的是将源设备的屏幕和音视频映射到的设备上,一般带有较大的显示屏幕。通常指车载多媒体设备、大屏电视、pc电脑、投影设备、户外广告屏、工控设备屏幕等等。如果不进行触摸信号的回传,本实施例中无需对目标端设备300进行任何改动(包括软件和硬件),目标端设备300保持原有状态。进一步的,如果需要在目标端设备300进行触控等操作,则可以加入触摸信号中转装置400。

映射装置200,映射装置200采用usb对外接口与目标端设备300进行连接,映射装置200将这个usb接口虚拟为一个u盘(通过usb标准的massstorage协议),目标端设备300按照u盘的格式读取。u盘的文件则是对应预先配置好的分辨率的视频文件。映射装置200内置cpu和wifi/usb等设备和接口,本实施例中的接收装置软件系统通过使用wifi或者usb等方法,接收到源端设备100的屏幕/视频/音频等信息后,将信息转化并合成为上述符合usbmassstorage协议接口的视频文件,这样目标端设备自身的多媒体播放系统就可以按照正常的多媒体文件进行音视频的播放,并显示在目标端的显示屏幕上,这样达到将。进一步的,如果只是音频方面的映射,则转化为目标端设备300可以识别的音频文件格式,这样,目标端设备300可以通过播放音频文件的方式进行音频的传输。这样的设备可以有两种系统实现方式,也就是作为自身映射的usb虚拟文件系统映射装置的系统(见图3)和作为接收功能的usb虚拟文件系统映射装置的系统(见图4)。进一步的,这两种系统可以同时存在一个装置里,也就是同时具备自身映射和接收外部映射的功能。当工作在自身映射的情况,映射装置200同时也作为源端设备100使用,提供自身系统屏幕所需显示的数据和音频数据等。

如图4所示,在本实施例中,基于usb接口的音视频传输和多屏映射的系统中还包括:一触摸信号中转装置400,用以将所述目标端设备的触控信号通过触控信号转发接口发送到所述映射装置,并通过映射装置回传到源端设备上通过调用触控接口完成触控操作。触摸信号中转装置作为可选装置,一般来说,人机交互操作可以在源端设备100上完成,因为屏幕映射的关系,目标端可以显示人机交互的结果。某些情况,如果需要直接在目标端设备300进行人机操作,则通过改造目标端设备300上硬件平台输出的触控信号,与目标端设备300的触控屏之间接入本实施例中的触摸信号中转装置。触摸信号中转装置将目标端设备300的触控信号通过触控信号转发接口发送到映射装置200,并通过映射装置200回传到源端软件上,并由源端软件(1011)调用源端设备的操作系统触控接口进行调用,完成触控操作。进一步的,由如果目标端设备300只有显示屏幕,显示屏幕之上不带人机交互的触控屏,但是又需要触控功能,则需要在目标端设备300上,新增加一个触控屏幕,并将触控信号连接到本专利的触摸信号中转装置即可达到目的。

如图4或图3所示,在本实施例中,系统还包括:一遥控设备,用于与所述映射装置通过蓝牙或者wi-fi相连,进行触摸/按键的遥控操作。

所述遥控设备500,是本实施例中的可选设备。用于与映射装置200进行遥控的操作。当用户不方便触摸源端设备100,目标端设备300时可以采用遥控设备500来代替。特别是在映射装置200作为自身映射的usb虚拟文件系统映射装置的系统的使用时,同时如果没有相关的显示设备,也不想增加上述触摸信号中转装置400时,则可以采用本设备作为触摸操作和按键操作的需要。遥控设备500上的软件系统功能,可以与本源端软件集成在一起,在一个手机或者平板电脑上实现遥控设备500的功能。

可选地,本实施例中的目标终端设备300无需任何改动,只需要插入本实施例中的接收映射装置200即可达到屏幕映射和音视频播放的目的。因为更进一步的,如果用户需要在目标终端设备也能同步触控操作的话,需要加入本触控信号的装置,用于转发目标终端设备的触控信息。更进一步的,如果要将目标终端设备300的按键信息也要反馈到源端设备100的操作上。也是通过本装置进行信号收集和转发。具体的实现方式是,通过截取目标终端设备上主机与触摸屏的硬件连接信号,这个装置对于目标终端的主机和触摸屏是透明的,因为本装置原封不动的将之前的信号传递给主机和触摸屏。同时,将信号的解码后通过本专利新增的触摸信号发送接口,这个接口可以是串口接口或者usb接口,对等的在接收装置200的触摸信号接收接口相对应并对接后进行信息的传递。将目标端设备的触控(触摸和按键动作的信息)回传到源端设备进行处理。

可选地,本实施例中的遥控装置500,遥控装置的实现方式可以多种,例如使用蓝牙的按键设备,通过与装置500将按键信息传到映射装置200,实现按键人机交互。也可以通过在手机或者平板电脑上安装遥控端软件,通过wifi/蓝牙的方式,实现远程的人机交互控制。

下面以作为接收功能的usb虚拟文件系统映射装置的系统为例展开描述:

总的来说包括例如如下的实现方式:

步骤s1当映射装置通过usb接口插入到目标端设备的usb接口时,映射装置上电工作,并等待其它源设备连接,同时在所述映射装置的usb接口模拟出一基于massstorage协议的usb虚拟文件系统,

步骤s2在所述源端设备启动一应用程序,并查找周边适配的可连接设备,通过鉴权连接映射装置,

步骤s3将所述源端设备与所述映射装置连接成功后,所述映射装置中的usb虚拟文件系统将根据源端设备生成相应的虚拟文件系统目录和文件列表结构,

步骤s4在目标端设备上的音视频播放程序选择上述文件列表结构中的文件进行播放

具体而言,

第一步:当映射装置200通过usb接口插入到目标端设备300的usb接口时,映射装置200上电工作,并等待各种源设备的连接。与此同时,映射装置200在usb接口模拟出一个符合massstorage协议(注:massstorage是usb协议中的一部分,是大容量存储器或者海量存储器的意思。u盘就是利用的这个协议开发和制作的。遵从这个协议,可以让usbslave设备(从设备)连接到usbhost设备(主设备)上,并能够执行文件的传输(存储和读写等)。一般的操作系统都集成了这个协议的驱动,所以u盘等存储设备插入到pc/目标终端上时,才不用安装驱动)的u盘文件系统。目标端设备300可以像读取u盘一样的方式来访问usb接口上的文件系统。进一步的,如果这时候还没有任何一个源端设备100接入,但是目标端设备300已经启动usb接口的多媒体文件播放操作,映射装置200会虚拟出视频的数据,这个数据可以是一段广告或者一段本专利的使用说明介绍等,直到有源端设备100接入,将切换到该源端设备100的屏幕映射或者音视频的播放。

第二步:源端设备100启动了源端软件后,通过wifip2pdiscovey(wifi点对点发现机制)来查找周边适配的wifi设备,通过鉴权连接映射装置200。进一步的,映射装置200上设备发现和设备管理模块会发送相关的待连接的信号信息,一旦源端设备100连接成功后,设备发现和设备管理模块对这些已经连接设备进行状态的管理和监控。

如图9所示第三步:源端设备100与映射装置200连接成功后,映射装置200中的虚拟u盘文件系统模块将根据源端设备100的相关信息生成相应的虚拟文件系统目录和文件列表结构。这样,目标端设备300上,自身具备usb的音视频播放器,通过其自身的多媒体文件读取接口来读取到这个虚拟文件系统的目录和文件列表等。文件列表的表现方式如图9所示。源端设备100可以有多个注册到映射装置200上,每注册一个源端设备100,就产生一套配套的虚拟的文件夹和相应文件。例如注册了第一个源设备,在列表上会有对应有接入设备a,其下二级目录会有相关的屏幕分辨率的映射视频文件,如,标清格式屏幕映射(640*480),其含义在于:接收装置(200)将源端设备100上的屏幕或视频,合成为(640*480)的分辨率的视频文件,在目标端设备300上以(640*480)进行播放。其他分辨率同理。进一步的,还可以合成为不同的编码格式的视频和音频,以满足目标端设备300音视频编解码能力。进一步的,源端软件也可以将源端设备100的接入设备a所拥有的音频和视频等等文件的列表虚拟到该文件系统上,形成“接入设备a媒体文件的目录”,目录下有这些文件列表。目标端设备300上的音视频播放器可以进行播放。进一步的,源端软件还可以将源端设备100上的其他文件,例如,文档文件等等映射到本专利所述的虚拟u盘上,目标端设备可以打开、修改、增加和删除的等等的操作,效果就像将源端设备100变成一个u盘插入到目标端设备300同等效果。

更进一步的,源端软件也可以通过源端设备100的网络连接能力,从网络获取相关的音视频资源,形成多媒体列表,这样也可以在目标端设备300上的音视频播放器可以进行播放等操作。更进一步的,这些文件不局限于多媒体文件,其他文件格式类型也可以采用这个方法。

第四步:用户在目标端设备300上的音视频播放器,选择了上述列表中的某一个文件的播放过程如下:

如图10所示下面先以标清格式屏幕映射(640*480)的视频文件播放过程来描述源端设备100、映射装置200和目标端设备300之间的协作过程。

用户在目标端设备播放器点击了标清格式屏幕映射(640*480)文件进行播放,目标端设备播放器会调用目标端设备300上的多媒体文件读取接口,通过目标终端设备的操作系统的usbmassstorage协议,访问usb接口,而usb接口与映射装置200在usb接口相连接,并通过usbmassstorage协议通讯。映射装置200的虚拟u盘文件系统模块相应相关的文件内容读取请求,从视频流合成视频格式编码模块处取出文件内容,应答目标端设备300的文件请求。

与此同时,源端设备100使用屏幕显示数据获取模块,获取到源端设备100的屏幕显示数据,同时通过音频获取模块获取到源端设备100的音频播放数据,两者分别经过视频压缩和音频压缩模块,进入到音视频编码模块进行整体的音视频流编码,音视频流qos模块(注:qos指传输质量管理)用于根据wifi无线网络的情况、源端设备100和目标端设备300的能力协商具体的编码流的质量,用于解决丢帧和视频流卡顿的问题。上述视频流进一步经过本专利通讯协议数据处理模块打包成相应的数据包,从wifi接口进行传输。进一步的,或者也可以采用usb接口进行有线连接,可以提高连接的速度和稳定性。但使用usb接口牺牲了源端设备100的可移动性。

本实施例中的映射装置200从通过接收装置硬件系统、操作系统以及软件系统,从wifi接口接收到上述源端设备所产生视频流数据,根据相关的协议,进行处理。

下面描述视频流在映射装置200的处理过程。通讯协议数据处理模块通过wifi模块和wifi接口的协作获取到音视频数据流后,进入协议解包模块得到音视频流数据包,然后音视频流合成视频文件格式的编码模块,从音视频流数据包的接收队列中,取到数据,并将数据合成为虚拟文件的文件数据,供虚拟u盘文件系统模块读取文件内容时使用。

进一步的,如果源端设备100具备本专利以外的其他映射协议,本专利通过其他映射协议处理模块来解析该映射协议的音视频数据包,然后使用视频文件格式编码合成模块将音视频流数据合成为虚拟u盘文件系统所要求的文件内容格式,完成目标端设备300对视频文件内容的播放读取请求。

进一步的,如果目标端设备300显示屏幕上需要有触控效果的需求,则通过触摸信号接收接口与触控信号发送接口接收从触摸信号中转装置400所发送过来的触控数据,经过触控编解码模块,通过触控回传模块将触控的数据通过wifi接口回传到源端设备100处,源端设备100的源端软件接收信号后,进行触控的操作,触控的操作将反应在当前所映射的屏幕的应用程序上。操作结果通过本专利上述的映射方法又进一步的显示在目标端设备300上。

作为自身映射的usb虚拟文件系统映射装置的系统的情况,与上述所描述一样,通过“自身映射”软件子系统来实现。自身映射软件子系统与源端软件获取设备的屏幕显示数据和音频数据的功能是一样的,自是获取的是本实施例中映射装置200的本地显示和音频数据,因为这些数据是在本专利映射装置200中获取的,所以无需经过上面作为接收装置的系统这样需要经过wifi或者usb传输的过程。而是直接进入到音视频流合成视频文件格式编码模块和虚拟u盘文件系统模块处理了。所以相关的流程除了上述不同以外,其他都相同或者相似,不再详细论述。

本映射装置200是一个包含了的硬件平台和整套软件系统的装置或设备,如图7所示。

本实施例中的硬件系统的组成主要包括如下几个主要模块:cpu中央处理模块,内存模块,存储模块,音视频编解码模块,wifi硬件模块,usb硬件模块,串口硬件模块。

其中cpu中央处理器可以采用armtm核心的cpu处理器,也可以采用mipstm架构等等其他处理器,需要满足的大致处理能力为:>300mhz的指令处理速度。处理器内可以集成了音视频编解码模块,集成处理器ic可以更好的解决音视频编解码的大量计算,达到优化计算和优化功耗的目标。cpu中央处理器是运算核心和控制核心。它的功能主要是解析和执行指令以及处理计算机软件中的数据,并提供总线用来控制数据和状态,以及控制输入/输出(i/o)。

cpu中央处理器通过内存接口和总线接口连接内存模块,存储模块构成基本运行系统。接收装置软件系统存储在存储模块上,运行时将读取到内存模块中,按指令执行软件系统的流程。

cpu中央处理器通过外设总线连接wifi硬件模块,usb硬件模块串口硬件模块,并按照对应的协议对这些模块进行操作。

wifi模块由wifi天线、wifi基带处理器、wifi协议处理单元、和对外接口组成。用于实现wifi所定义的标准。如802.11a/b/c/n等。可选用适合的wifi芯片,通过匹配的天线和射频参数,满足上述wifi所定义的标准的传输速率即可实现wifi的无线传输。因为本专利涉及的音视频的传输,所以传输速率按照分辨率的需求而定,至少要达到802.11b的2mbit/s的速率。wifi模块的对外接口一般采用sdio或usb等总线接口与cpu中央处理器进行通讯以满足上述速率要求。当前很多wifi模块已经以集成的方式提供,集成了天线和基带以及对外接口等。

usb硬件模块需要实现usb协议规定的usbslave(usb从设备)功能,这样装置内的操作系统和软件系统可以将usb接口进行虚拟文件系统的操作。进一步的,如果需要将源端设备100与本专利接收装置进行有线连接,那么usb硬件模块需要新增另一个usb硬件接口,并在这个接口上实现usbhost(usb主设备)协议功能(也称为otg,on-the-go),用于接收源端设备100的usb有线连接请求。

串口硬件模块,用于通过串口接口与触控信号中转装置400进行连接和通讯,同时也作为本专利接收装置的调试接口。

进一步的,cpu和整体解决方案需选择耗电量少的方案,因为本接收装置没有额外的电源供电,依靠usb接口所提供的供电能力。usb接口如果采用usb2.0的接口供电能力为500ma,如果采用usb3.0接口的供电能力是1a。

如图8所示,映射装置200的软件组成分为两大部分,分别是,接收装置的上所运行的操作系统和接收装置的软件系统:

操作系统主要用于cpu的调度以及对上述硬件模块的管理,同时也需包含对wifi协议、usb协议、串口协议等协议的上层应用接口的处理能力。可以采用目前流行的嵌入式linux操作系统或者wince等等操作系统,只要能够达到上述目的并能承载本专申请中的软件系统的操作系统即可。

映射装置200的软件系统是基于上述硬件系统以及操作系统所提供的底层能力、接口能力等等所实现的一整套应用程序,用于实现本专利所述的具体功能。

映射装置200的软件系统包含如下软件模块:

设备发现和设备管理模块,

通讯协议数据处理模块,

协议解包模块,

音视频合成视频文件格式编码模块,

音视频流qos管理模块,

虚拟u盘文件系统模块,

其他映射协议处理模块,

触控编解码模块,

触控回传模块。

如上所述,因为软件系统基于某一个操作系统之上,所以软件系统在不同的操作系统有不同的实现方法,具体需要根据操作系统所定义的接口以及相应的编程语言和程序架构进行实现。

下面以linux操作系的实现方式为例,说明上述软件模块的具体实现。

设备发现和设备管理模块:通过调用wifi模块的接口,实现对接入到映射装置200的设备的状态和连接进行管理,并通知通讯协议数据处理模块该接入设备的状态(如接入、断开等等)。在连接前通过wifi模块接口定时发送wifi信号,让源端设备100可以寻找到映射装置200,并管理连接的过程。在linux是可以通过调用wifipnp发现功能的接口进行对外广播。

通讯协议数据处理模块在建立连接后,进行数据的传输,源设备端已经对传输的数据进行协议打包,通过通讯协议处理模块进行逆向的数据解包过程得到相关的音视频数据。通讯协议可以自定义一种协议的封装,只要保证源端设备100所发送的音视频数据到达通讯协议数据处理模块能被正常的解析,并且兼顾到对应的速率即可。至于具体的通讯协议格式,当然也可以采用一种成熟的通讯协议,例如rtsp、rtp、vnc、widi、miracast…等等。(如下的触控信号和数据所需的协议同理,不再特别指出)。

同时通讯协议数据处理模块也将触控回传模块所得到的触控数据进行通讯协议打包,并回传到源端模块100进行处理。

所述音视频qos管理模块:用于管理整个传输过程中的传输质量问题,例如如果碰到wifi信号弱的情况,不能让虚拟u盘文件模块读不到数据而导致目标终端设备300的播放器出现异常,音视频qos管理模块可以根据之前接收到的音视频数据插入模拟预测数据来实现。例如,插入视频的中间画面帧的数据来完成;或者丢掉wifi模块所接收到的不符合格式的画面帧数据等等。

所述协议解包模块和音视频流合成视频文件格式编码模块:通过这两个模块的合作,将上述通讯协议得到的数据包按照音视频格式重新解包,并按照目标端设备所请求的格式进行重新编码成能够让目标端播放器播放的文件格式内容流。这个内容流存放在内存的缓存中,供虚拟u盘文件系统模块对这个缓存进行线性内容读取。

所述虚拟u盘文件系统模块的实现方法,在linux操作系统中注册一个文件系统和相应的虚拟mtd外接设备(memorytechnologydevice,缩写为mtd),即注册为ramfs(内存文件系统)的形式。文件格式目前可以采用fat32,exfat等通用的文件系统,目的是让目标终端设备300可以识别的文件系统。从而让目标终端内置的多媒体播放器系统可以正常读取文件的数据流,进行播放。以fat32为例,使用vfat的文件系统管理模型对外提供。对外的文件系统的接口符合massstorage的usb对外接口规范。

此外,触控编解码模块和触控回传模块是可选的模块,作用在于接收目标终端所改造的触控信号,并由通讯协议数据处理模块传给源端设备100实现操作。

作为自身映射的usb虚拟文件系统映射装置时,可以自带屏幕和触控显示硬件,也可以不带屏幕而通过遥控装置500来实现人机交互。这样可以直接将映射装置200认为源端设备100,直接将映射装置200的屏幕显示通过与源端设备系统类似的获取屏幕数据和音频数据的类似流程,将映射装置200变为可以映射的源端设备。而无需经过wifi/usb等无线或有线的数据传输过程。

本实施例中的所述的源端设备100包含了多种类型,例如手机,平板电脑、pc等等形态。这些源端设备100所采用的操作系统,目前来看是以下几种:android(安卓)、windows(微软视窗)、ios(苹果公司操作系统)以及linux几类,将来还会有更高级的操作系统。共同点是这些设备具备安装软件的能力,本实施例中的的源端软件就是运行在这些源端设备操作系统之上的一整套软件系统。

本专利的实施需要针对每一种类型的操作系统进行源端软件的开发和适配工作,使其具备图7所示各关键模块,这些模块包括:

屏幕显示数据获取模块:将源端设备的屏幕显示数据获取,具体实现的方法以android为例,利用android底层的图形库接口获取到屏幕的framebuffer,也可以使用android的高层接口egl接口等可行的方式来得到屏幕数据。

音频获取模块:调用源端设备操作系统的接口获取源端设备的音频数据。以android为例,通过音频的router(路由),将android应用程序所播放的声音,路由到音频获取模块,从而得到音频的数据。

视频压缩模块和音频压缩模块以及音视频编码模块:之所以放在一起来讲,是因为通常我们采用采用标准的音视频编码来处理上述模块所采集到的音视频数,这些编码协议包含了对音视频的压缩和编码。典型的代表如h.264和mp4等。以android为例,则采用h.264进行音视频编码。

音视频的qos管理模块:可以调用操作系统的接口能力获取本源端设备的屏幕显示能力,如分辨率、色深等等关键参数,获取本源端的编解码能力,比如是否有硬件解码的能力等等。同时通过监控wifi通讯通道的状态,动态调整编码的能力,以达到流畅的目的。属于综合调度调整模块。在android上的实现,可以调用android所提供的wifiqos能力查询、以及android的设备能力的相关接口。

本实施例中通讯协议数据处理模块:音视频编解码模块产出的相关数据,在通讯协议数据处理模块,将其进行封包,让数据可以通过wifi或者usb进行数据传输。这部分的模块的实现方式可以使用rtsp或者rtp等等协议方式。如果源终端本身具备某一种已知的映射协议(例如miracast、widi等等),我们也可以通过调用的方式,直接调用该源设备已有的映射协议,将数据包发送出去。

触控解码模块和触控处理模块:负责从本专利协议数据处理模块得到解析好的触控数据,对触控数据进行解码,然后通过触控处理模块调用操作系统的相关接口,执行实际的触控实际,达到控制源端设备100上的要映射应用程序界面的目的。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。

此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。

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