CN113923508A - 一种投屏方法及装置 - Google Patents

一种投屏方法及装置 Download PDF

Info

Publication number
CN113923508A
CN113923508A CN202111153573.4A CN202111153573A CN113923508A CN 113923508 A CN113923508 A CN 113923508A CN 202111153573 A CN202111153573 A CN 202111153573A CN 113923508 A CN113923508 A CN 113923508A
Authority
CN
China
Prior art keywords
electronic device
content
transmission channel
transmission
projected
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.)
Pending
Application number
CN202111153573.4A
Other languages
English (en)
Inventor
贾宗照
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202111153573.4A priority Critical patent/CN113923508A/zh
Publication of CN113923508A publication Critical patent/CN113923508A/zh
Pending legal-status Critical Current

Links

Images

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/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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请提供的投屏方法,对于建立投屏连接的第一电子设备和第二电子设备,能够创建二者之间的至少两传输通道,通过该至少两传输通道分别传输二者之间的待投屏内容和待传输文件。由此,本申请能够为待投屏内容与待传输文件分别分配传输通道,实现投屏播放与文件传输同时进行,减少甚至避免投屏卡顿的问题。

Description

一种投屏方法及装置
技术领域
本申请涉及软件技术领域,更具体地说,涉及一种投屏方法及装置。
背景技术
随着智能设备的发展,人们在生活中常有视频投屏需求,使用USB(UniversalSerial Bus,通用串行总线)Cable,即USB智能数据线连接两设备,将一个设备正在播放的视频投屏到另一设备,由另一设备输出。
目前,传输待投屏的视频文件是通过调用WinUSB(Windows系统自带的通用USB驱动程序)建立数据传输通道的。而该数据传输通道也用于非投屏的数据文件的传输,一旦数据文件和视频文件同时在该数据传输通道中传输就会影响视频的投屏效果,出现卡顿。
发明内容
有鉴于此,本申请提供一种投屏方法及装置,技术方案如下:
本申请一方面提供一种投屏方法,所述方法包括:
在第一电子设备与第二电子设备建立投屏连接的情况下,创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;
通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件;
其中,所述待投屏内容和所述待传输文件之间具有第一关联关系和第二关联关系。
优选的,所述创建所述第一电子设备与所述第二电子设备之间的至少两传输通道,包括:
在所述第一电子设备与所述第二电子设备通过物理总线建立所述投屏连接的情况下,至少基于通用驱动程序和远程网络驱动程序接口规范分别创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;或者,
在所述第一电子设备与所述第二电子设备通过物理总线建立所述投屏连接的情况下,至少基于通用驱动程序、远程网络驱动程序接口规范和音频驱动程序分别创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;或者,
在所述第一电子设备与所述第二电子设备通过无线网卡建立所述投屏连接的情况下,至少基于远程网络驱动程序接口规范创建所述第一电子设备与所述第二电子设备之间的至少两传输通道。
优选的,所述通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件,包括:
控制所述第一电子设备与所述第二电子设备通过二者之间的第一传输通道传输所述待投屏内容、通过二者之间的第二传输通道传输所述待传输文件,所述第一传输通道至少基于远程网络驱动程序接口规范创建,所述第二传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建;或者,
控制所述第一电子设备与所述第二电子设备通过二者之间的第三传输通道传输所述待投屏内容中的显示内容、通过二者之间的第四传输通道传输所述待投屏内容中的音频内容、通过二者之间的第五传输通道传输所述待传输文件,所述第三传输通道至少基于远程网络驱动程序接口规范创建,所述第四传输通道至少基于通用驱动程序或远程网络驱动程序接口规范或音频驱动程序创建,所述第五传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建。
优选的,所述方法还包括:
获得所述第一电子设备与所述第二电子设备之间的连接信息,至少基于所述连接信息确定对应的传输策略,以基于确定的传输策略控制所述待投屏内容和/或所述待传输文件在所述第一电子设备与所述第二电子设备之间的传输。
优选的,所述基于确定的传输策略控制所述待投屏内容和/或所述待传输文件在所述第一电子设备与所述第二电子设备之间的传输,包括:
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第一阈值范围,通过所述第二传输通道或者所述第五传输通道在所述第一电子设备与所述第二电子设备之间传输所述待传输文件,或者,控制所述第一电子设备通过所述第二传输通道或者所述第五传输通道将所述待传输文件传输给所述第二电子设备、通过所述第四传输通道将所述待投屏内容中的音频内容传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第二阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第三阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备、以及通过所述第二传输通道或者所述第五传输通道将所述待传输文件传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第四阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备、以及通过所述第一传输通道或所述第四传输通道将所述投屏内容中的音频内容传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第五阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备、以及通过所述第一传输通道或所述第四传输通道将所述投屏内容中的音频内容传输给所述第二电子设备,以及通过所述第二传输通道或者所述第五传输通道在所述第一电子设备与所述第二电子设备之间传输所述待传输文件。
优选的,其中,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备,包括:
控制所述第一电子设备通过其应用驱动接口调用所述远程网络驱动程序接口规范,以将所述待投屏内容中的显示内容下发至相应的第一物理层硬件,由所述第一物理层硬件将所述显示内容传输给所述第二电子设备;
或者,
通过所述第二传输通道或者所述第五传输通道在所述第一电子设备与所述第二电子设备之间传输所述待传输文件,包括:
控制所述第一电子设备/所述第二电子设备的应用驱动接口调用所述通用驱动程序或者所述远程网络驱动程序,以将所述待传输文件下发至相应的第二物理层硬件,由所述第二物理层硬件将所述待传输文件传输给所述第二电子设备/所述第一电子设备。
优选的,所述控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备,包括:
根据所述待投屏内容中的显示内容的分辨率,确定所述第一电子设备在目标播放状态下的帧率阈值;
基于所述帧率阈值对所述待投屏内容中的显示内容进行编码压缩,以根据压缩后的显示内容确定所述第一传输通道或者所述第三传输通道的传输带宽;
控制所述第一电子设备以所述传输带宽将压缩后的显示内容传输给所述第二电子设备。
优选的,所述方法还包括:
获得所述投屏内容中的显示内容和音频内容通过对应的传输通道进行传输的时延信息,以基于所述时延信息调整所述投屏内容中的显示内容和/或音频内容的传输参数。
优选的,所述方法还包括:
获得所述第一电子设备和所述第二电子设备的显示屏幕的显示标识信息,基于所述显示标识信息至少调整所述待投屏内容的分辨率;或者,
在所述第二电子设备与所述第一电子设备、以及至少一第三电子设备建立投屏连接的情况下,获得所述第二电子设备的各分屏区域的显示标识信息,基于所述显示标识信息调整来自所述第一电子设备和所述至少一第三电子设备的待投屏内容的分辨率。
本申请另一方面提供一种投屏装置,所述装置包括:
创建模块,用于在第一电子设备与第二电子设备建立投屏连接的情况下,创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;
传输模块,用于通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件;其中,所述待投屏内容和所述待传输文件之间具有第一关联关系和第二关联关系。
本申请另一方面提供一种电子设备,所述电子设备包括:
至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现:
在第一电子设备与第二电子设备建立投屏连接的情况下,创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件;其中,所述待投屏内容和所述待传输文件之间具有第一关联关系和第二关联关系。
本申请另一方面提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述的投屏方法。
经由上述的技术方案可知,本申请提供的投屏方法,对于建立投屏连接的第一电子设备和第二电子设备,能够创建二者之间的至少两传输通道,通过该至少两传输通道分别传输二者之间的待投屏内容和待传输文件。由此,本申请能够为待投屏内容与待传输文件分别分配传输通道,实现投屏播放与文件传输同时进行,减少甚至避免投屏卡顿的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的电子设备的硬件结构框图;
图2为本申请实施例提供的投屏方法的方法流程图;
图3为本申请实施例提供的投屏场景示意图;
图4为本申请实施例提供的传输通道示意图;
图5为本申请实施例提供的另一传输通道示意图;
图6为本申请实施例提供的投屏场景示意图;
图7为本申请实施例提供的分屏显示示意图;
图8为本申请实施例提供的投屏装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请提供一种投屏方法,该方法可以应用于电子设备,参见图1所示的电子设备的硬件结构框图,该电子设备的硬件结构可以包括:处理器11、通信接口12,存储器13和通信总线14;
在本申请实施例中,处理器11、通信接口12、存储器13、通信总线14的数量为至少一个,且处理器11、通信接口12、存储器13通过通信总线14完成相互间的通信。
处理器11可以是一个中央处理器CPU、GPU(Graphics Processing Unit,图形处理器),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器13可以包括高速RAM存储器,也可以还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器。
其中,存储器13存储应用程序及应用程序运行所产生的数据,处理器11则执行应用程序,以实现功能:
在第一电子设备与第二电子设备建立投屏连接的情况下,创建第一电子设备与第二电子设备之间的至少两传输通道;通过至少两传输通道分别传输第一电子设备与第二电子设备之间的待投屏内容和待传输文件;其中,待投屏内容和待传输文件之间具有第一关联关系和第二关联关系。
需要说明的是,处理器执行应用程序所实现功能的细化和扩展,可以参见下文描述。
本申请实施例提供一种投屏方法,参见图2所示的方法流程图,该方法包括如下步骤:
步骤S101:在第一电子设备与第二电子设备建立投屏连接的情况下,创建第一电子设备与第二电子设备之间的至少两传输通道。
参见图3所示的投屏场景示意图。在该投屏场景中,第一电子设备为电脑PC-A、第二电子设备为电脑PC-B,通过USB Cable插在电脑PC-A和电脑PC-B上实现主机对主机的连接,基于此建立投屏连接。在电脑PC-A和电脑PC-B首次建立投屏连接时,即可以创建二者之间的至少两个传输通道,至少两个传输通道中的一个传输通道用于传输待传输文件、另外一个或多个传输通道则用于传输待投屏内容。
需要说明的是,在电脑PC-A和电脑PC-B非首次建立投屏连接时,则可以根据电脑PC-A和电脑PC-B以往投屏的传输记录来创建传输待传输文件的一个传输通道、以及传输待投屏内容的一个或多个传输通道。
为方便理解,本申请实施例中,以电脑PC-A作为投屏设备、电脑PC-B作为显示设备来说明,一旦二者建立投屏连接,即建立二者之间的至少两个传输通道。电脑PC-A的播报内容作为待投屏内容,通过相应的传输通道传输给电脑PC-B,待投屏内容至少包括电脑PC-A显示屏幕输出的显示内容,除显示内容外、待投屏内容还可以包括电脑PC-A扬声器输出的音频内容,即待投屏内容可以仅包括电脑PC-A的显示内容,还可以既包括电脑PC-A的显示内容、又包括电脑PC-A的音频内容。
而区别于待投屏内容由电脑PC-A传输给电脑PC-B,待传输文件则可以由电脑PC-A传输给电脑PC-B、还可以由电脑PC-B传输给电脑PC-A,本申请实施例对此并不做限定。此外,区别于待投屏内容的确定性与实时性,待传输文件则由使用者指定,其文件内容可以与待投屏内容相关、也可以与待投屏内容不相关,而且待传输文件的传输时间也由相关使用者指定。
步骤S102:通过至少两传输通道分别传输第一电子设备与第二电子设备之间的待投屏内容和待传输文件;其中,待投屏内容和待传输文件之间具有第一关联关系和第二关联关系。
本申请实施例中,对于已创建的至少两个传输通道,可以从中确定传输待投屏内容的至少一个传输通道、以及传输待传输文件的一个传输通道,基于待投屏内容、以及待传输文件各自对应的传输通道在第一电子设备与第二电子设备间传输待投屏内容和待传输文件。
此外,如上,待传输文件的文件内容可以与待投屏内容相关,比如待传输文件可以为待投屏内容的原始文件、再比如待传输文件为待投屏内容的讲解文件;待传输文件的文件内容还可以与待投屏内容不相关,比如待投屏内容为多媒体视频、而待传输文件则为办公文档。由此,待投屏内容与待传输文件之间的关联关系,本申请实施例并不限定。
为方便理解,本申请实施例中,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,假设电脑PC-A的播报内容为多媒体视频,则待投屏内容包括显示内容和音频内容,则可以通过显示内容对应的传输通道将显示内容由电脑PC-A传输给电脑PC-B,通过音频内容对应的传输通道将音频内容由电脑PC-A传输给电脑PC-B。再假设,在电脑PC-A向电脑PC-B传输显示内容和音频内容的同时,电脑PC-B向电脑PC-A传输一办公文档,即该办公文档作为待传输文件可以通过相应传输通道由电脑PC-B传输给电脑PC-A。
需要说明的是,对于待投屏内容中的显示内容和音频内容,在一些场景中二者可以共用一个传输通道,在另一些场景中二者可以具有各自对应的一个传输通道,在另一些场景中显示内容/音频内容可以对应两个以上的传输通道,即待投屏内容可以对应一个传输通道、还可以对应多个传输通道。而对于待投屏内容和待传输文件,二者传输通道无法共用、各自具有对应的传输通道,且待传输文件对应一个传输通道。
还需要说明的是,本申请的投屏方法不仅可以应用于图3所示的有线投屏的应用场景,还适用于无线投屏的应用场景。
本申请实施例提供的投屏方法,对于建立投屏连接的第一电子设备和第二电子设备,能够创建二者之间的至少两传输通道,通过该至少两传输通道分别传输二者之间的待投屏内容和待传输文件。由此,本申请能够为待投屏内容与待传输文件分别分配传输通道,实现投屏播放与文件传输同时进行,减少甚至避免投屏卡顿的问题。
本申请实施例提供另一种投屏方法,作为创建第一电子设备与第二电子设备之间的至少两传输通道的一种实现方式,包括如下步骤:
在第一电子设备与第二电子设备通过物理总线建立投屏连接的情况下,至少基于通用驱动程序和远程网络驱动程序接口规范分别创建第一电子设备与第二电子设备之间的至少两传输通道;或者,
在第一电子设备与第二电子设备通过物理总线建立投屏连接的情况下,至少基于通用驱动程序、远程网络驱动程序接口规范和音频驱动程序分别创建第一电子设备与第二电子设备之间的至少两传输通道;或者,
在第一电子设备与第二电子设备通过无线网卡建立投屏连接的情况下,至少基于远程网络驱动程序接口规范创建第一电子设备与第二电子设备之间的至少两传输通道。
本申请实施例中,将第一电子设备与第二电子设备之间的投屏连接方式分为有线投屏和无线投屏。对于有线投屏的应用场景,第一电子设备与第二电子设备之间通过物理总线建立投屏连接,该物理总线可以为图3中的USB Cable,而在该应用场景中,又可以选择性基于音频驱动程序来创建传输通道。对于无线投屏的应用场景,第一电子设备与第二电子设备之间通过无线网卡建立投屏连接,其创建的各传输通道均属于网络通道。
在有线投屏的应用场景中,通用驱动程序可以为Windows系统自带的通用USB驱动程序(即WinUSB)、远程网络驱动程序接口规范可以为Windows系统自带的USB网络协议(其为基于USB的TCP/IP协议,即RNDIS)、音频驱动程序可以为Windows系统自带的USB声卡协议(即USB Audio Class)。
为方便理解,对于有线投屏的应用场景,本申请实施例中继续以图3所示的投屏场景示意图来说明。为创建电脑PC-A与电脑PC-B之间的至少两个传输通道,对于电脑PC-A和电脑PC-B任意一侧来说,其应用层通过其应用驱动接口(即USB Driver Layer)调用驱动层中WinUSB/RNDIS/USB Audio Class即可建立WinUSB/RNDIS/USB Audio Class下的、与物理层的硬件(即USB PHY)连接的传输通道。
参见图4所示的传输通道示意图。对于有线投屏的应用场景,至少基于WinUSB和RNDIS创建电脑PC-A与电脑PC-B之间的两个传输通道,包括WinUSB下的一个传输通道(即Data Transfer)、以及RNDIS下的一个传输通道(即Video Transfer)。也就是说,基于WinUSB和RNDIS可以创建电脑PC-A与电脑PC-B间的两个传输通道,由于系统规定RNDIS的传输优先级高于WinUSB,因此传输通道Data Transfer用于传输待传输文件、传输通道VideoTransfer则用于传输待投屏内容,此时待投屏内容中的显示内容和音频内容共用一个传输通道。这就可以保证待投屏内容在传输通道Video Transfer中的优先传输,待投屏内容的传输也不会受传输通道Data Transfer中待传输文件的任何影响,保证投屏效果、避免卡顿。
参见图5所示的传输通道示意图。对于有线投屏的应用场景,至少基于WinUSB、RNDIS和USB Audio Class创建电脑PC-A与电脑PC-B之间的三个传输通道,包括WinUSB下的一个传输通道(即Data Transfer)、RNDIS下的一个传输通道(即Video Transfer)、以及USBAudio Class下的一个传输通道(即Audio Transfer)。也就是说,基于WinUSB、RNDIS和USBAudio Class可以创建电脑PC-A与电脑PC-B间的三个传输通道,由于WinUSB较RNDIS和USBAudio Class的传输优先级最低、且USB Audio Class是音频专用,因此传输通道DataTransfer用于传输待传输文件、传输通道Audio Transfer用于传输待投屏内容中的音频内容、而传输通道Video Transfer可以仅用于传输待投屏内容中的显示内容、还可以用于同时传输待投屏内容中的显示内容和音频内容。这一方面可以保证待投屏内容与待传输文件的分通道传输,保证待投屏内容的优先传输,另一方面也可以实现待投屏内容中显示内容与音频内容的分通道传输,提升待投屏内的传输效率,进一步提升投屏效果。
需要说明的是,图4和图5中Data Transfer Module为待传输文件在应用层中所对应的功能模块、Video Capture Module是待投屏内容(包括显示内容和音频内容)在应用层中所对应的功能模块,而Audio Module则是待投屏内容中音频内容在应用层中所对应的功能模块。
还需要说明的是,作为投屏设备的一电子设备,驱动其Video Capture Module实时截取屏幕画面产生待投屏内容中的显示内容,通过其USB Driver Layer调用其驱动层中RNDIS,将待投屏内容中的显示内容下发至其USB PHY,由其USB PHY将待投屏内容中的显示内容传输给作为显示设备的另一电子设备。而另一电子设备通过其USB PHY获得显示内容后,继续通过其USB Driver Layer调用其驱动层中RNDIS,将所获得的显示内容上传给其Video Capture Module,驱动其Video Capture Module输出。
与待投屏内容中的显示内容类似,作为投屏设备的一电子设备,驱动其VideoCapture Module和/或Audio Module实时采集扬声器输出的音频内容,通过其USB DriverLayer调用其驱动层中RNDIS和/或USB Audio Class,将待投屏内容中的音频内容下发至其USB PHY,由其USB PHY将待投屏内容中的音频内容传输给作为显示设备的另一电子设备。而另一电子设备通过其USB PHY获得音频内容后,继续通过其USB Driver Layer调用其驱动层中RNDIS和/或USB Audio Class,将所获得的音频内容上传给其Video CaptureModule和/或Audio Module,驱动其Video Capture Module和/或Audio Module输出。
相应的,对于待传输文件,作为发送方的一电子设备,驱动其Data TransferModule实时获得待传输文件,通过其USB Driver Layer调用其驱动层中WinUSB,将待传输文件下发至其USB PHY,由其USB PHY将待传输文件传输给作为接收方的另一电子设备。而另一电子设备通过其USB PHY获得待传输文件后,继续通过其USB Driver Layer调用其驱动层中WinUSB,将所获得的待传输文件上传给其Data Transfer,驱动其Data Transfer输出。当然,待传输文件的发送方为投屏设备、相应的待传输文件的接收方即为显示设备;待传输文件的发送方为显示设备,则相应的待传输文件的接收方即为投屏设备。
而在无线投屏的应用场景中,远程网络驱动程序接口规范可以为Windows系统自带的IEEE网络协议。同有线投屏创建传输通道类似,在无线投屏场景下,对于建立投屏连接的两电子设备来说,其应用层通过其应用驱动接口调用驱动层中的IEEE网络协议即可建立该IEEE网络协议下的、与物理层的硬件(比如PCIE)连接的传输通道。当然,无线投屏场景中的应用层、应用驱动接口、驱动层和物理层中的部署区别于有限投屏场景,本申请实施例对此不再赘述。由此,对于无线投屏的应用场景,待投屏内容与待传输文件共用一个传输通道,但可以为待投屏内容与待传输文件分别设置传输优先级,即待投屏内容的传输优先级高于待传输文件的传输优先级,由此也可以实现待投屏内容的优先传输,保证投屏效果、避免卡顿。
本申请实施例提供另一种投屏方法,作为通过至少两传输通道分别传输第一电子设备与第二电子设备之间的待投屏内容和待传输文件的一种实现方式,包括如下步骤:
控制第一电子设备与第二电子设备通过二者之间的第一传输通道传输待投屏内容、通过二者之间的第二传输通道传输待传输文件,第一传输通道至少基于远程网络驱动程序接口规范创建,第二传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建;或者,
控制第一电子设备与第二电子设备通过二者之间的第三传输通道传输待投屏内容中的显示内容、通过二者之间的第四传输通道传输待投屏内容中的音频内容、通过二者之间的第五传输通道传输待传输文件,第三传输通道至少基于远程网络驱动程序接口规范创建,第四传输通道至少基于通用驱动程序或远程网络驱动程序接口规范或音频驱动程序创建,第五传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建。
本申请实施例中,对于建立投屏连接的第一电子设备和第二电子设备,二者之间的待投屏内容通过第一传输通道传输、待传输文件通过第二传输通道传输,该第一传输通道至少基于远程网络驱动程序接口规范创建、该第二传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建。具体的:
对于有线投屏的应用场景,如图4所示,待投屏内容通过RNDIS下的传输通道VideoTransfer所传输,待传输文件通过WinUSB下的传输通道Data Transfer所传输;对于无线投屏的应用场景,待投屏内容和待传输文件则均通过IEEE网络协议下的传输通道所传输。即第一传输通道为传输通道Video Transfer(在有线投屏的应用场景下)或者IEEE网络协议下的传输通道(在无线投屏的应用场景下)、第二传输通道为传输通道Data Transfer(在有线投屏的应用场景下)或者IEEE网络协议下的传输通道(在无线投屏的应用场景下)。
另外,对于建立投屏连接的第一电子设备和第二电子设备,二者之间待投屏内容中的显示内容通过第三传输通道传输、待投屏内容中的音频内容通过第四传输通道传输、待传输文件通过第五传输通道传输,该第三传输通道至少基于远程网络驱动程序接口规范创建、该第四传输通道至少基于通用驱动程序或远程网络驱动程序接口规范或音频驱动程序创建、该第五传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建。具体的:
对于有线投屏的应用场景,如图5所示,待投屏内容中的显示内容通过RNDIS下的传输通道Video Transfer所传输,待投屏内容中的音频内容可以通过USB Audio Class下的传输通道Audio Transfer所传输、还可以通过RNDIS下的传输通道Video Transfer所传输,待传输文件通过WinUSB下的传输通道Data Transfer所传输;对于无线投屏的应用场景,待投屏内容和待传输文件则均通过IEEE网络协议下的传输通道所传输。即第三传输通道为传输通道Video Transfer(在无线投屏的应用场景下)或者IEEE网络协议下的传输通道(在无线投屏的应用场景下),第四传输通道为传输通道Video Transfer和/或传输通道Audio Transfer(在无线投屏的应用场景下)、或者IEEE网络协议下的传输通道(在无线投屏的应用场景下),第五传输通道为传输通道Data Transfer(在有线投屏的应用场景下)或者IEEE网络协议下的传输通道(在无线投屏的应用场景下)。
需要说明的是,对于多种数据共用一个传输通道的场景,可以在该传输通道中为不同数据分配相应的传输带宽,保证不同数据间的传输互不影响,其中,待投屏内容中的显示内容、音频内容以及待传输文件属于三种数据。比如在传输通道Video Transfer中同时传输待投屏内容中的显示内容和音频内容,则可以在传输通道Video Transfer中分别为显示内容和音频内容分配相应的传输带宽,两者的传输互不影响。
在此基础上,为保证投屏的画面和声音的同步性,本申请实施例中还可以进一步执行如下步骤:
获得投屏内容中的显示内容和音频内容通过对应的传输通道进行传输的时延信息,以基于时延信息调整投屏内容中的显示内容和/或音频内容的传输参数。
参见图6所示的投屏内容示意图。作为投屏设备的一电子设备,其投屏内容中的显示内容由n帧画面组成、每帧画面在音频内容中具有同一时间下的一段音频(后续称之为子音频)。由于画面的数据量高于音频的数据量,这就很容易出现画面达到作为显示设备的另一电子设备的时间延迟于音频到达的时间。
对此,本申请实施例中可以建立不同分辨率下画面对音频的时延。对于作为投屏设备的一电子设备,其可以根据待投屏的画面的分辨率自动调用相应的时延,后续该电子设备传输画面之后按照该时延延迟一定时间再传输相应的子音频,这就可以实现画面与画面相应的子音频同时到达作为显示设备的另一电子设备。
当然,作为投屏设备的一电子设备在传输画面时一般会同时传输多帧,假设为m帧(m<n),相应的也会同时传输m帧画面对应的子音频,由此,投屏设备在传输m帧画面后,需要经过m*t时间再传输m帧画面对应的子音频,其中t为每帧图像的时延。
在一些应用场景下,作为投屏设备的一电子设备,在传输待投屏内容中的画面和音频前,还会对画面和音频分别进行压缩。对此,本申请实施例中可以建立不同分辨率下画面对音频的时延表,该时延表中记录有所属分辨率下不同画面压缩率和音频压缩率对应的时延。同上,对于作为投屏设备的一电子设备,其首先根据待投屏的画面的分辨率确定相应的时延表,进一步在该时延表中自动调用与当前画面压缩率和当前音频压缩率对应的时延,后续在该电子设备传输画面之后按照该时延延迟一定时间再传输相应的子音频。最终实现显示设备与投屏设备播放相同的影音效果。
当然,上述技术方案中仅是对待投屏内容中的音频内容进行延时,达到音频内容与显示内容同步的效果。在另外一些实施例中,还可以从提升显示内容的传输速率的方面来实现,一方面可以降低待传输画面的数据量,具体可以通过降低画面的分辨率、增加画面的压缩率来实现;另一方面还可以增加传输画面时传输带宽、减少传输音频时的传输带宽,具体的,如果投屏内容中的显示内容与音频内容共用同一传输通道,则在该传输通道中设置显示内容的传输带宽高于音频内容的传输带宽,而如果投屏内容中的显示内容与音频内容具有各自的传输通道,则设置显示内容所对应传输通道的传输带宽高于音频内容所对应传输通道的传输带宽。而对于画面的分辨率降低量、压缩率增加量、以及与音频传输带宽的配置,可以根据实际场景进行设置,本申请实施例对此不做限定。
在上述实施例提供的投屏方法的基础上,本申请实施例还提供另一投屏方法,还包括如下步骤:
获得第一电子设备与第二电子设备之间的连接信息,至少基于连接信息确定对应的传输策略,以基于确定的传输策略控制待投屏内容和/或待传输文件在第一电子设备与第二电子设备之间的传输。
本申请实施例中,对于建立投屏连接的第一电子设备与第二电子,可以获得两者投屏连接的连接信息,比如投屏连接方式、用于建立投屏连接的相关组件的配置信息、以及投屏连接的属性信息等。对于有线投屏的应用场景,第一电子设备与第二电子设备通过物理总线建立投屏连接,因此可以获得物理总线的配置信息、以及待传输文件和待投屏内容各自所在的传输通道的属性信息;相应的,对于无线投屏的应用场景,第一电子设备与第二电子设备通过无线网卡建立投屏连接,因此可以获得无线网卡的配置信息、以及待传输文件和待投屏内容各自所在的传输通道的属性信息。
为方便理解,本申请实施例中,继续以图3所示的投屏场景来说明。电脑PC-A和电脑PC-B通过USB Cable建立投屏连接,对此可以获得USB Cable的配置信息,以确定USBCable的最大传输带宽,进而重点考虑到待投屏内容的需求传输带宽,选择性传输待投屏内容(包括其中的显示内容和音频内容)和待传输文件、以及为待投屏内容(包括其中的显示内容和音频内容)和待传输文件分配各自对应的传输带宽。具体的:
1)如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第一阈值范围,通过第二传输通道或者第五传输通道在第一电子设备与第二电子设备之间传输待传输文件,或者,控制第一电子设备通过第二传输通道或者第五传输通道将待传输文件传输给第二电子设备、通过第四传输通道将待投屏内容中的音频内容传输给第二电子设备。
为方便理解,本申请实施例中,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,电脑PC-A与电脑PC-B之间的传输能力可以基于USBCable的配置信息所确定,其可以为USB Cable的最大传输带宽,若处于第一阈值范围内则可以确定USB Cable的最大传输带宽不足以支持待投屏内容中显示内容的传输。
因此,一方面可以考虑暂停传输待投屏内容、仅传输待传输文件,该待传输文件可以为待投屏内容的原始文件。即控制电脑PC-A通过传输通道Data Transfer将该待传输文件传输给电脑PC-B;另一方面可以考虑暂停传输待投屏内容中的显示内容、仅传输待传输文件和待投屏内容中的音频内容,该待传输文件可以为待投屏内容中显示内容的原始文件,即控制电脑PC-A通过传输通道Data Transfer将该待传输文件传输给电脑PC-B、通过传输通道Video Transfer或者传输通道Audio Transfer将该待投屏内容中的音频内容传输给电脑PC-B。这就可以保证电子设备间传输能力极低时投屏效果不受影响,电脑PC-B可以正常播报,对用户来说无感。
需要说明的是,待传输文件还可以不为待投屏内容的原始文件,其可以由电脑PC-A传输给电脑PC-B、还可以由电脑PC-B传输给电脑PC-A,本申请实施例对此不做限定。以待传输文件由电脑PC-B传输给电脑PC-A为例来说明,即控制电脑PC-B通过传输通道DataTransfer将待传输文件传输给电脑PC-A。
2)如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第二阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备。
本申请实施例中,第二阈值范围大于第一阈值范围。为方便理解,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,电脑PC-A与电脑PC-B之间的传输能力若处于第二阈值范围,则可以确定USB Cable的最大传输带宽可以仅支持待投屏内容中显示内容的传输、但不足以再支持待传输文件、以及待投屏内容中音频内容的传输。
因此,可以考虑暂停传输待传输文件以及待投屏内容中的音频内容、仅传输待投屏内容中的显示内容。即控制电脑PC-A通过传输通道Video Transfer将待投屏内容中的显示内容传输给电脑PC-B。这就可以优先保证投屏场景下画面的有效传输。
3)如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第三阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备、以及通过第二传输通道或者第五传输通道将待传输文件传输给第二电子设备。
本申请实施例中,第三阈值范围大于第二阈值范围。为方便理解,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,电脑PC-A与电脑PC-B之间的传输能力若处于第三阈值范围,则可以确定USB Cable的最大传输带宽可以仅支持待投屏内容中显示内容以及待传输文件的传输、但不足以再支持待投屏内容中的音频内容。
因此,可以考虑暂停传输待投屏内容中的音频内容、仅传输待投屏内容中的显示内容以及待传输文件,该待传输文件可以为待投屏内容中音频内容的原始文件。即控制电脑PC-A通过传输通道Video Transfer将待投屏内容中的显示内容传输给电脑PC-B、通过传输通道Data Transfer将该待传输文件传输给电脑PC-B。这就可以保证在电子设备间传输能力有限的情况下,保证投屏场景下画面的有效传输、并在显示设备侧正常输出音频内容,对用户来说无感。
需要说明的是,待传输文件还可以不为待投屏内容的原始文件,其可以由电脑PC-A传输给电脑PC-B、还可以由电脑PC-B传输给电脑PC-A,本申请实施例对此不做限定。以待传输文件由电脑PC-B传输给电脑PC-A为例来说明,即控制电脑PC-B通过传输通道DataTransfer将待传输文件传输给电脑PC-A。
4)如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第四阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备、以及通过第一传输通道或第四传输通道将投屏内容中的音频内容传输给第二电子设备。
本申请实施例中,第四阈值范围大于第三阈值范围。为方便理解,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,电脑PC-A与电脑PC-B之间的传输能力若处于第四阈值范围,则可以确定USB Cable的最大传输带宽可以支持待投屏内容中显示内容和音频内容的同时传输、但不足以再支持待传输文件的传输。
因此,可以考虑暂停传输待传输文件、仅传输投屏内容中显示内容和音频内容。即控制电脑PC-A通过传输通道Video Transfer将待投屏内容中的显示内容传输给电脑PC-B、通过传输通道Video Transfer和/或传输通道Audio Transfer将待投屏内容中的音频内容传输给电脑PC-B。这就可以实现投屏场景下的画面和声音的有效传输。
5)如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第五阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备、以及通过第一传输通道或第四传输通道将投屏内容中的音频内容传输给第二电子设备,以及通过第二传输通道或者第五传输通道在第一电子设备与第二电子设备之间传输待传输文件。
本申请实施例中,第五阈值范围大于第四阈值范围。为方便理解,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,电脑PC-A与电脑PC-B之间的传输能力若处于第五阈值范围,则可以确定USB Cable的最大传输带宽可以支持待投屏内容中显示内容和音频内容、以及待传输文件的同时传输。
因此,可以考虑同时传输待投屏内容中的显示内容和音频内容、以及待传输文件。即控制电脑PC-A通过传输通道Video Transfer将待投屏内容中的显示内容传输给电脑PC-B、通过传输通道Video Transfer和/或传输通道Audio Transfer将待投屏内容中的音频内容传输给电脑PC-B、通过传输通道Data Transfer将待传输文件传输给电脑PC-B。这就可以实现投屏场景下,投屏内容与传输文件的同时传输,且两者互不影响。
需要说明的是,待传输文件可以还可由电脑PC-B传输给电脑PC-A,同样的,控制电脑PC-B通过传输通道Data Transfer将待传输文件传输给电脑PC-A。
具体实现时,继续参见图4和图5,在控制电脑PC-A通过传输通道Video Transfer将待投屏内容中的显示内容传输给电脑PC-B过程中,控制电脑PC-A的Video CaptureModule通过其USB Driver Layer调用其驱动层中RNDIS,将待投屏内容中的显示内容下发至其USB PHY,由其USB PHY将待投屏内容中的显示内容传输给电脑PC-B。
同样的,在控制电脑PC-A通过传输通道Video Transfer和/或传输通道AudioTransfer将待投屏内容中的音频内容传输给电脑PC-B过程中,控制PC-A的Video CaptureModule和/或Audio Module通过其USB Driver Layer调用其驱动层中RNDIS和/或USBAudio Class,将待投屏内容中的音频内容下发至其USB PHY,由USB PHY将待投屏内容中的音频内容传输给PC-B。
无论是控制电脑PC-A通过传输通道Data Transfer将待传输文件传输给电脑PC-B、还是控制电脑PC-B通过传输通道Data Transfer将待传输文件传输给电脑PC-A。通过传输通道Data Transfer在电脑PC-A和电脑PC-B之间传输待传输文件的过程中,可以控制电脑PC-A/PC-B的Data Transfer Module通过其USB Driver Layer调用其驱动层中WinUSB,将待传输文件下发给其USB PHY,由其USB PHY将待传输文件传输给电脑PC-B/PC-A。
需要说明的是,上述待投屏内容和待传输文件的在传输通道中的传输过程,是以有线投屏的应用场景来说明的,可以理解的是对于无线投屏的应用场景也是控制一电子设备的应用层通过其应用驱动接口调用驱动层中的IEEE网络协议、由物理层的硬件传输给另一电子设备,在此不再赘述。
本申请实施例提供另一投屏方法,作为控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备的一种实现方式,包括如下步骤:
根据待投屏内容中的显示内容的分辨率,确定第一电子设备在目标播放状态下的帧率阈值;
基于帧率阈值对待投屏内容中的显示内容进行编码压缩,以根据压缩后的显示内容确定第一传输通道或者第三传输通道的传输带宽;
控制第一电子设备以传输带宽将压缩后的显示内容传输给第二电子设备。
本申请实施例中,目标播放状态为清晰、流畅、高清等多种清晰度不同的播放状态中的一种,其为预先设置的。而对于不同分辨率的画面,其在不同播放状态下的帧率阈值是不同的,举例来说,1080P的画面在流畅状态下的帧率阈值一般为24帧、而4k的画面在流畅状态下的帧率阈值一般为29帧,也就是说,对于分辨率1080P的画面来说,需要保证画面的帧率达到24帧以上才能保证流畅播放,而对于分辨率4k的画面来说,则需要保证画面的帧率达到29帧以上才能保证流畅播放。其中,帧率为单位时间内的帧数。
为方便理解,本申请实施例中,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,假设电脑PC-A画面的分辨率为1080P、目标播放状态为流畅,则可以确定电脑PC-A在流畅状态下的帧率阈值为24帧。
进一步,确定电脑PC-A待投屏内容中待传输的连续24帧画面(即显示内容),对连续24帧画面进行编码压缩后确定压缩后的连续24帧画面的数据量,所确定的连续24帧画面的数据量即为传输通道Video Transfer的最小传输带宽。另外,编码压缩的方式可以为H264编码,本申请实施例对此不做限定。
进而,基于该最小传输带宽确定传输通道Video Transfer的传输带宽,该传输带宽大于或等于该最小传输带宽。最后,控制电脑PC-A通过传输通道Video Transfer、以传输通道Video Transfer的传输带宽将压缩后的连续24帧画面传输给电脑PC-B。
具体实现时,作为电脑PC-A,驱动其Video Capture Module实时截取屏幕画面产生待投屏内容中的显示内容,根据帧率阈值对连续的多帧画面进行编码压缩,通过其USBDriver Layer调用其驱动层中RNDIS,将压缩后的多帧画面发至其USB PHY,由其USB PHY将压缩后的多帧画面传输给作为显示设备的另一电子设备。而另一电子设备通过其USB PHY获得压缩后的多帧画面后,继续通过其USB Driver Layer调用其驱动层中RNDIS,将所获得的压缩后的多帧画面上传给其Video Capture Module,驱动其Video Capture Module解码还原输出。
由此,可以在保证播放状态的前提下,以最小的传输带宽完成对待投屏内容中显示内容的传输,在电子设备间传输能力一定的情况下,同时传输的待传输文件和待投屏内容中的音频内容两者能够占用的传输带宽也就相应增大,提高待传输文件和音频内容的传输速率,从而实现带宽的最大利用。此外,在2k/4k分辨率下也能达到更好的视频帧率,用户可以畅享2k/4k高清视频的流畅播放,无卡顿、低延时。
本申请实施例提供另一种投屏方法,还包括如下步骤:
获得第一电子设备和第二电子设备的显示屏幕的显示标识信息,基于显示标识信息至少调整待投屏内容的分辨率;或者,
在第二电子设备与第一电子设备、以及至少一第三电子设备建立投屏连接的情况下,获得第二电子设备的各分屏区域的显示标识信息,基于显示标识信息调整来自第一电子设备和至少一第三电子设备的待投屏内容的分辨率。
本申请实施例中,根据电子设备的显示屏幕的显示标识信息可以确定所属显示屏幕的画面分辨率,以此实现待投屏内容中显示内容分辨率的适配。为方便理解,本申请实施例中,继续以图3所示的投屏场景来说明。电脑PC-A作为投屏设备、电脑PC-B作为显示设备,根据电脑PC-A显示屏幕的显示标识信息可以获得电脑PC-A的分辨率a、根据电脑PC-B显示屏幕的显示标识信息可以获得电脑PC-B的分辨率b。
进一步,如果分辨率a>分辨率b,则可以将待投屏内容中显示内容的分辨率调整为分辨率b、再传输该显示内容,在显示内容到达电脑PC-B即完成分辨率适配,还可以进一步降低显示内容的数据量、提升传输速度。当然,如果分辨率a=分辨率b,则可以不调整待投屏内容中显示内容的分辨率,而如果分辨率a<分辨率b,则可以根据电脑PC-A的显示性能来选择性调整该显示内容的分辨率,若电脑PC-A不支持向高调整分辨率,则不调整。
此外,在多投屏内容源输入的场景(即多个投屏设备)中,考虑到被投屏设备(即显示设备)自动或手动进入分屏模式,本申请实施例需要对应调整不同投屏内容源的分辨率。为方便理解,本申请实施例中,以第三电子设备的数量为两个来说明,继续以图3所示的投屏场景来说明。
电脑PC-B除与电脑PC-A建立投屏连接外,还同时与电脑PC-C和电脑PC-D建立投屏连接,因此电脑PC-B同时作为电脑PC-A、电脑PC-C和电脑PC-D的显示设备。参见图7所示的分屏显示示意图,电脑PC-B的显示界面中至少包括三个分屏区域,假设分屏区域1对应电脑PC-A、分屏区域2对应电脑PC-C、分屏区域3对应电脑PC-D,由此,分屏区域1、分屏区域2和分屏区域3可以设置不同的显示标识信息,以此对不同分屏区域设置不同的分辨率。
假设根据电脑PC-A、电脑PC-C和电脑PC-D各自显示屏幕的显示标识信息获得电脑PC-A的分辨率a、电脑PC-C的分辨率c、电脑PC-D的分辨率d,并且根据分屏区域1、分屏区域2和分屏区域3各自分屏区域的显示标识信息获得分屏区域1的分辨率b1、分屏区域2的分辨率b2、分屏区域3的分辨率b3,则进一步分别比较分辨率a与分辨率b1、分辨率c与分辨率b2、以及分辨率d与分辨率b3,以分辨率a与分辨率b1为例来说明:
如果分辨率a>分辨率b1,则可以将电脑PC-A待投屏内容中显示内容的分辨率调整为分辨率b1,再传输该显示内容;如果分辨率a=分辨率b1,则可以不调整电脑PC-A待投屏内容中显示内容的分辨率;如果分辨率a<分辨率b1,则可以根据电脑PC-A的显示性能来选择性调整电脑PC-A待投屏内容中显示内容的分辨率。相应的,电脑PC-B在获得电脑PC-A所传输的显示内容后,将该显示内容显示于分屏区域1中。
与上述投屏方法对应的,本申请实施例还公开一种投屏装置,如图9所示,该投屏装置包括:
创建模块10,用于在第一电子设备与第二电子设备建立投屏连接的情况下,创建第一电子设备与第二电子设备之间的至少两传输通道;
传输模块20,用于通过至少两传输通道分别传输第一电子设备与第二电子设备之间的待投屏内容和待传输文件;其中,待投屏内容和待传输文件之间具有第一关联关系和第二关联关系。
在本申请实施例公开的投屏装置的另一实施例中,创建模块10创建第一电子设备与第二电子设备之间的至少两传输通道,包括:
在第一电子设备与第二电子设备通过物理总线建立投屏连接的情况下,至少基于通用驱动程序和远程网络驱动程序接口规范分别创建第一电子设备与第二电子设备之间的至少两传输通道;或者,
在第一电子设备与第二电子设备通过物理总线建立投屏连接的情况下,至少基于通用驱动程序、远程网络驱动程序接口规范和音频驱动程序分别创建第一电子设备与第二电子设备之间的至少两传输通道;或者,
在第一电子设备与第二电子设备通过无线网卡建立投屏连接的情况下,至少基于远程网络驱动程序接口规范创建第一电子设备与第二电子设备之间的至少两传输通道。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20通过至少两传输通道分别传输第一电子设备与第二电子设备之间的待投屏内容和待传输文件,包括:
控制第一电子设备与第二电子设备通过二者之间的第一传输通道传输待投屏内容、通过二者之间的第二传输通道传输待传输文件,第一传输通道至少基于远程网络驱动程序接口规范创建,第二传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建;或者,
控制第一电子设备与第二电子设备通过二者之间的第三传输通道传输待投屏内容中的显示内容、通过二者之间的第四传输通道传输待投屏内容中的音频内容、通过二者之间的第五传输通道传输待传输文件,第三传输通道至少基于远程网络驱动程序接口规范创建,第四传输通道至少基于通用驱动程序或远程网络驱动程序接口规范或音频驱动程序创建,第五传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20还用于:
获得第一电子设备与第二电子设备之间的连接信息,至少基于连接信息确定对应的传输策略,以基于确定的传输策略控制待投屏内容和/或待传输文件在第一电子设备与第二电子设备之间的传输。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20基于确定的传输策略控制待投屏内容和/或待传输文件在第一电子设备与第二电子设备之间的传输,包括:
如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第一阈值范围,通过第二传输通道或者第五传输通道在第一电子设备与第二电子设备之间传输待传输文件,或者,控制第一电子设备通过第二传输通道或者第五传输通道将待传输文件传输给第二电子设备、通过第四传输通道将待投屏内容中的音频内容传输给第二电子设备;或者,
如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第二阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备;或者,
如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第三阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备、以及通过第二传输通道或者第五传输通道将待传输文件传输给第二电子设备;或者,
如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第四阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备、以及通过第一传输通道或第四传输通道将投屏内容中的音频内容传输给第二电子设备;或者,
如果连接信息表征第一电子设备与第二电子设备之间的传输能力处于第五阈值范围,控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备、以及通过第一传输通道或第四传输通道将投屏内容中的音频内容传输给第二电子设备,以及通过第二传输通道或者第五传输通道在第一电子设备与第二电子设备之间传输待传输文件。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备,包括:
控制第一电子设备通过其应用驱动接口调用远程网络驱动程序接口规范,以将待投屏内容中的显示内容下发至相应的第一物理层硬件,由第一物理层硬件将显示内容传输给第二电子设备;
或者,
传输模块20通过第二传输通道或者第五传输通道在第一电子设备与第二电子设备之间传输待传输文件,包括:
控制第一电子设备/第二电子设备的应用驱动接口调用通用驱动程序或者远程网络驱动程序,以将待传输文件下发至相应的第二物理层硬件,由第二物理层硬件将待传输文件传输给第二电子设备/第一电子设备。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20控制第一电子设备通过第一传输通道或者第三传输通道将待投屏内容中的显示内容传输给第二电子设备,包括:
根据待投屏内容中的显示内容的分辨率,确定第一电子设备在目标播放状态下的帧率阈值;基于帧率阈值对待投屏内容中的显示内容进行编码压缩,以根据压缩后的显示内容确定第一传输通道或者第三传输通道的传输带宽;控制第一电子设备以传输带宽将压缩后的显示内容传输给第二电子设备。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20还用于:
获得投屏内容中的显示内容和音频内容通过对应的传输通道进行传输的时延信息,以基于时延信息调整投屏内容中的显示内容和/或音频内容的传输参数。
在本申请实施例公开的投屏装置的另一实施例中,传输模块20还用于:
获得第一电子设备和第二电子设备的显示屏幕的显示标识信息,基于显示标识信息至少调整待投屏内容的分辨率;或者,
在第二电子设备与第一电子设备、以及至少一第三电子设备建立投屏连接的情况下,获得第二电子设备的各分屏区域的显示标识信息,基于显示标识信息调整来自第一电子设备和至少一第三电子设备的待投屏内容的分辨率。
与上述投屏方法对应的,本申请实施例还公开一种存储介质,该存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述投屏方法。
以上对本申请所提供的一种投屏方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种投屏方法,所述方法包括:
在第一电子设备与第二电子设备建立投屏连接的情况下,创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;
通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件;
其中,所述待投屏内容和所述待传输文件之间具有第一关联关系和第二关联关系。
2.根据权利要求1所述的方法,所述创建所述第一电子设备与所述第二电子设备之间的至少两传输通道,包括:
在所述第一电子设备与所述第二电子设备通过物理总线建立所述投屏连接的情况下,至少基于通用驱动程序和远程网络驱动程序接口规范分别创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;或者,
在所述第一电子设备与所述第二电子设备通过物理总线建立所述投屏连接的情况下,至少基于通用驱动程序、远程网络驱动程序接口规范和音频驱动程序分别创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;或者,
在所述第一电子设备与所述第二电子设备通过无线网卡建立所述投屏连接的情况下,至少基于远程网络驱动程序接口规范创建所述第一电子设备与所述第二电子设备之间的至少两传输通道。
3.根据权利要求1或2所述的方法,所述通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件,包括:
控制所述第一电子设备与所述第二电子设备通过二者之间的第一传输通道传输所述待投屏内容、通过二者之间的第二传输通道传输所述待传输文件,所述第一传输通道至少基于远程网络驱动程序接口规范创建,所述第二传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建;或者,
控制所述第一电子设备与所述第二电子设备通过二者之间的第三传输通道传输所述待投屏内容中的显示内容、通过二者之间的第四传输通道传输所述待投屏内容中的音频内容、通过二者之间的第五传输通道传输所述待传输文件,所述第三传输通道至少基于远程网络驱动程序接口规范创建,所述第四传输通道至少基于通用驱动程序或远程网络驱动程序接口规范或音频驱动程序创建,所述第五传输通道至少基于通用驱动程序或远程网络驱动程序接口规范创建。
4.根据权利要求3所述的方法,所述方法还包括:
获得所述第一电子设备与所述第二电子设备之间的连接信息,至少基于所述连接信息确定对应的传输策略,以基于确定的传输策略控制所述待投屏内容和/或所述待传输文件在所述第一电子设备与所述第二电子设备之间的传输。
5.根据权利要求4所述的方法,所述基于确定的传输策略控制所述待投屏内容和/或所述待传输文件在所述第一电子设备与所述第二电子设备之间的传输,包括:
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第一阈值范围,通过所述第二传输通道或者所述第五传输通道在所述第一电子设备与所述第二电子设备之间传输所述待传输文件,或者,控制所述第一电子设备通过所述第二传输通道或者所述第五传输通道将所述待传输文件传输给所述第二电子设备、通过所述第四传输通道将所述待投屏内容中的音频内容传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第二阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第三阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备、以及通过所述第二传输通道或者所述第五传输通道将所述待传输文件传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第四阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备、以及通过所述第一传输通道或所述第四传输通道将所述投屏内容中的音频内容传输给所述第二电子设备;或者,
如果所述连接信息表征所述第一电子设备与所述第二电子设备之间的传输能力处于第五阈值范围,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备、以及通过所述第一传输通道或所述第四传输通道将所述投屏内容中的音频内容传输给所述第二电子设备,以及通过所述第二传输通道或者所述第五传输通道在所述第一电子设备与所述第二电子设备之间传输所述待传输文件。
6.根据权利要求5所述的方法,其中,控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备,包括:
控制所述第一电子设备通过其应用驱动接口调用所述远程网络驱动程序接口规范,以将所述待投屏内容中的显示内容下发至相应的第一物理层硬件,由所述第一物理层硬件将所述显示内容传输给所述第二电子设备;
或者,
通过所述第二传输通道或者所述第五传输通道在所述第一电子设备与所述第二电子设备之间传输所述待传输文件,包括:
控制所述第一电子设备/所述第二电子设备的应用驱动接口调用所述通用驱动程序或者所述远程网络驱动程序,以将所述待传输文件下发至相应的第二物理层硬件,由所述第二物理层硬件将所述待传输文件传输给所述第二电子设备/所述第一电子设备。
7.根据权利要求5所述的方法,所述控制所述第一电子设备通过所述第一传输通道或者所述第三传输通道将所述待投屏内容中的显示内容传输给所述第二电子设备,包括:
根据所述待投屏内容中的显示内容的分辨率,确定所述第一电子设备在目标播放状态下的帧率阈值;
基于所述帧率阈值对所述待投屏内容中的显示内容进行编码压缩,以根据压缩后的显示内容确定所述第一传输通道或者所述第三传输通道的传输带宽;
控制所述第一电子设备以所述传输带宽将压缩后的显示内容传输给所述第二电子设备。
8.根据权利要求3所述的方法,所述方法还包括:
获得所述投屏内容中的显示内容和音频内容通过对应的传输通道进行传输的时延信息,以基于所述时延信息调整所述投屏内容中的显示内容和/或音频内容的传输参数。
9.根据权利要求1-7任意一项所述的方法,所述方法还包括:
获得所述第一电子设备和所述第二电子设备的显示屏幕的显示标识信息,基于所述显示标识信息至少调整所述待投屏内容的分辨率;或者,
在所述第二电子设备与所述第一电子设备、以及至少一第三电子设备建立投屏连接的情况下,获得所述第二电子设备的各分屏区域的显示标识信息,基于所述显示标识信息调整来自所述第一电子设备和所述至少一第三电子设备的待投屏内容的分辨率。
10.一种投屏装置,所述装置包括:
创建模块,用于在第一电子设备与第二电子设备建立投屏连接的情况下,创建所述第一电子设备与所述第二电子设备之间的至少两传输通道;
传输模块,用于通过所述至少两传输通道分别传输所述第一电子设备与所述第二电子设备之间的待投屏内容和待传输文件;其中,所述待投屏内容和所述待传输文件之间具有第一关联关系和第二关联关系。
CN202111153573.4A 2021-09-29 2021-09-29 一种投屏方法及装置 Pending CN113923508A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111153573.4A CN113923508A (zh) 2021-09-29 2021-09-29 一种投屏方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111153573.4A CN113923508A (zh) 2021-09-29 2021-09-29 一种投屏方法及装置

Publications (1)

Publication Number Publication Date
CN113923508A true CN113923508A (zh) 2022-01-11

Family

ID=79236978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111153573.4A Pending CN113923508A (zh) 2021-09-29 2021-09-29 一种投屏方法及装置

Country Status (1)

Country Link
CN (1) CN113923508A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486425A (en) * 2010-12-13 2012-06-20 Sivapathalingham Sivavakeesar Rendering multimedia content from a mobile device onto an external display device
CN106534956A (zh) * 2015-09-11 2017-03-22 中兴通讯股份有限公司 屏幕投射的视频数据传输方法、装置及系统
CN109996097A (zh) * 2019-03-12 2019-07-09 广州虎牙信息科技有限公司 一种投屏方法、系统及存储装置
CN110381345A (zh) * 2019-07-05 2019-10-25 华为技术有限公司 一种投屏显示方法及电子设备
CN111629239A (zh) * 2020-04-29 2020-09-04 腾讯科技(深圳)有限公司 投屏处理方法、装置、设备及计算机可读存储介质
CN112672203A (zh) * 2020-12-16 2021-04-16 努比亚技术有限公司 文件传输控制方法、移动终端及计算机可读存储介质
CN112804325A (zh) * 2021-01-12 2021-05-14 深圳市闪联信息技术有限公司 一种基于无线投屏器的跨系统文件传输方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486425A (en) * 2010-12-13 2012-06-20 Sivapathalingham Sivavakeesar Rendering multimedia content from a mobile device onto an external display device
CN106534956A (zh) * 2015-09-11 2017-03-22 中兴通讯股份有限公司 屏幕投射的视频数据传输方法、装置及系统
CN109996097A (zh) * 2019-03-12 2019-07-09 广州虎牙信息科技有限公司 一种投屏方法、系统及存储装置
CN110381345A (zh) * 2019-07-05 2019-10-25 华为技术有限公司 一种投屏显示方法及电子设备
CN111629239A (zh) * 2020-04-29 2020-09-04 腾讯科技(深圳)有限公司 投屏处理方法、装置、设备及计算机可读存储介质
CN112672203A (zh) * 2020-12-16 2021-04-16 努比亚技术有限公司 文件传输控制方法、移动终端及计算机可读存储介质
CN112804325A (zh) * 2021-01-12 2021-05-14 深圳市闪联信息技术有限公司 一种基于无线投屏器的跨系统文件传输方法

Similar Documents

Publication Publication Date Title
EP3562163B1 (en) Audio-video synthesis method and system
WO2020042350A1 (zh) 一种桌面投屏方法、装置、设备及存储介质
JP3658087B2 (ja) 端末装置及び端末装置の制御方法
CN107135422B (zh) 信息处理设备和信息处理方法
CN110662114B (zh) 视频处理方法、装置、电子设备及存储介质
WO2021168649A1 (zh) 多功能接收设备和会议系统
WO2020233263A1 (zh) 音频处理方法及电子设备
JP7334470B2 (ja) 映像処理装置、ビデオ会議システム、映像処理方法、およびプログラム
US20140099040A1 (en) Image processing device and image processing method
TWM536380U (zh) Hdmi智能播放系統
CN112203126B (zh) 投屏方法、投屏装置及存储介质
CN104639501A (zh) 一种数据流传输的方法、设备及系统
CN112752058B (zh) 调整视频流的属性的方法和装置
JP2011192229A (ja) サーバ装置および情報処理方法
CN112423074A (zh) 音视频同步处理方法、装置、电子设备及存储介质
CN109309805B (zh) 一种视频会议的多窗口显示方法、装置、设备和系统
CN113923508A (zh) 一种投屏方法及装置
US9560105B2 (en) Server device and information processing method
WO2023011408A1 (zh) 一种多窗口视频通信方法、设备及系统
CN114615536B (zh) 显示设备及音效处理方法
CN115767158A (zh) 同步播放方法、终端设备及存储介质
CN115150648A (zh) 显示设备及消息传输方法
CN215871615U (zh) 一种led屏控制系统
CN116017012B (zh) 多屏同步方法、装置、显示设备及计算机可读存储介质
JP2008016939A (ja) プログラム、情報記憶媒体、データ伝送装置およびデータ伝送システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination