CN110519632B - 投屏方法及设备 - Google Patents
投屏方法及设备 Download PDFInfo
- Publication number
- CN110519632B CN110519632B CN201910694322.3A CN201910694322A CN110519632B CN 110519632 B CN110519632 B CN 110519632B CN 201910694322 A CN201910694322 A CN 201910694322A CN 110519632 B CN110519632 B CN 110519632B
- Authority
- CN
- China
- Prior art keywords
- frame
- data packet
- image frame
- display device
- transmission quality
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims abstract description 245
- 230000007246 mechanism Effects 0.000 claims description 47
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000007723 transport mechanism Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 42
- 230000006854 communication Effects 0.000 description 42
- 230000006870 function Effects 0.000 description 28
- 238000012545 processing Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440227—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/44227—Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/631—Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64769—Control signals issued by the network directed to the server or the client directed to the server for rate control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Transforming Electric Information Into Light Information (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种投屏方法及设备,该方法包括:当待发送的图像帧是I帧,基于可靠性传输协议发送承载图像帧的数据包;当待发送的图像帧是P帧,当主控设备所属投屏系统的视频传输质量符合第二预设条件,则基于可靠性传输协议发送承载图像帧的数据包,当主控设备所属投屏系统的视频传输质量不符合第二预设条件,则基于非可靠性传输协议发送承载图像帧的数据包。从而有效提升视频传输质量。
Description
技术领域
本申请实施例涉及视频传输领域,尤其涉及一种投屏方法及设备。
背景技术
智能设备的普及和通信技术的飞速发展,为移动终端和大屏之间的互动模式提供了更多的可能性。例如:在大型商务会议现场,现场可部署多个显示设备,以提升观众的与会体验。会议主讲人可将移动终端的内容投屏到会场内的任意显示设备,从而分享移动终端显示的内容。
但是,在移动终端向多个显示设备传输视频流的场景中,特别是在网络带宽资源受限的情况下,容易引发网络信道阻塞,进而导致视频流传输丢帧、延迟,造成视频画面质量差的问题。
发明内容
本申请提供一种投屏方法及设备,能够在一定程度上提升视频传输质量。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供了一种投屏方法,该方法应用于主控设备,可以包括:当待发送的图像帧是I帧,则主控设备可基于可靠性传输协议发送承载图像帧的数据包;当待发送的图像帧是P帧,并且P帧为符合第一预设条件的P帧,则主控设备可基于可靠性传输协议发送承载图像帧的数据包,反之,当P帧为不符合第一预设条件的P帧的情况下,则主控设备可基于非可靠性传输协议发送承载图像帧的数据包。
通过上述方式,实现了I帧及部分P帧可基于可靠性传输协议进行传输,从而保证I帧和部分P帧传输的可靠性,进而避免丢帧所导致的视频传输质量差,造成解码端(即显示设备)解码后的视频画面质量较差的问题,有效提升了用户体验。
在一种可能的实现方式中,第一预设条件包括:确定满足预设周期;或者,P帧与前一个图像帧或下一个图像帧之间的帧间预测参数大于或等于第一阈值。
通过上述方式,提出多种选择部分P帧的方式,即,P帧的选择方式可以是周期性的,也可以是基于P帧的重要性进行选择。
在一种可能的实现方式中,主控设备所属的投屏系统包括两个或两个以上投屏组,每个投屏组包括第一显示设备和至少一个第二显示设备;其中,投屏系统的视频传输质量为根据每组的第一显示设备发送的平均视频传输质量确定的;平均视频传输质量为第一显示设备基于第一显示设备所属投屏组内的每个第二显示设备发送的视频传输质量确定的。
通过上述方式,实现了主控设备可基于系统的视频传输质量,动态的选择是否需要采用可靠性传输协议对P帧进行传输的方式,以提升视频传输质量。
在一种可能的实现方式中,每个投屏组与主控设备之间的跳数是基于每个投屏组的平均视频传输质量确定的。
通过上述方式,实现了各投屏组之间,以及投屏组与主控设备之间的路由关系或可称为路由连接关系,可基于视频传输质量进行动态更新,从而进一步优化系统整体的视频传输质量。
在一种可能的实现方式中,每个投屏组内的至少一个第二显示设备与所属投屏组内的第一显示设备之间的跳数是基于每个第二显示设备的视频传输质量确定的。
通过上述方式,实现了投屏内的各个显示设备间的路由关系或可称为路由连接关系,可基于视频传输质量进行动态更新,从而进一步优化系统整体的视频传输质量。
在一种可能的实现方式中,作为主控设备的下一跳节点的第一显示设备的数量小于或等于第三阈值;作为第一显示设备的下一跳节点的第二显示设备的数量小于或等于第四阈值。
通过上述方式,有效缓解了主控设备和/或显示设备可能成为瓶颈节点的问题。
在一种可能的实现方式中,基于可靠性传输协议发送承载图像帧的数据包为:向作为主控设备的下一跳节点的第一显示设备发送数据包,数据包承载图像帧且基于可靠性传输协议。
通过上述方式,有效降低了主控设备端的并发量,减轻了主控设备端的网络压力。
第二方面,本申请实施例提供了一种投屏方法,该方法应用于主控设备,可以包括:当待发送的图像帧是I帧,主控设备可基于可靠性传输协议发送承载图像帧的数据包;当待发送的图像帧是P帧,并且主控设备所属投屏系统的视频传输质量符合第二预设条件的情况下,则主控设备可基于可靠性传输协议发送承载图像帧的数据包;反之,当主控设备所属投屏系统的视频传输质量不符合第二预设条件,则主控设备可基于非可靠性传输协议发送承载图像帧的数据包。
通过上述方式,在系统的视频传输质量未达到预期的情况下,将图像序列中的所有P帧基于可靠性传输协议的数据包传输,以降低丢帧率,并提高视频传输质量。在一种可能的实现方式中,可靠性传输协议可以采用包含确认应答的传输机制;非可靠性传输协议可以采用组播传输机制。
可选地,组播传输机制也可以称为多播传输机制,例如:广播通信方式。通过上述方式,若I帧和部分P帧采用基于可靠性传输协议的数据包传输,则可靠性传输协议的确认应答方式,可保证承载I帧或部分P帧的数据包传输的成功率,进而降低丢帧率。
在一种可能的实现方式中,可靠性传输机制为动态路由协议。
在一种可能的实现方式中,投屏系统包括两个或两个以上投屏组,每个投屏组包括第一显示设备和至少一个第二显示设备;其中,投屏系统的视频传输质量为根据每组的第一显示设备发送的平均视频传输质量确定的;平均视频传输质量为第一显示设备基于第一显示设备所属投屏组内的每个第二显示设备发送的视频传输质量确定的。
通过上述方式,实现了主控设备可基于系统的视频传输质量,动态的选择是否需要采用可靠性传输协议对P帧进行传输的方式,以提升视频传输质量。
在一种可能的实现方式中,每个投屏组与主控设备之间的跳数是基于每个投屏组的平均视频传输质量确定的。
通过上述方式,实现了各投屏组之间,以及投屏组与主控设备之间的路由关系或可称为路由连接关系,可基于视频传输质量进行动态更新,从而进一步优化系统整体的视频传输质量。
在一种可能的实现方式中,每个投屏组内的至少一个第二显示设备与所属投屏组内的第一显示设备之间的跳数是基于每个第二显示设备的视频传输质量确定的。
通过上述方式,实现了投屏内的各个显示设备间的路由关系或可称为路由连接关系,可基于视频传输质量进行动态更新,从而进一步优化系统整体的视频传输质量。
在一种可能的实现方式中,作为主控设备的下一跳节点的第一显示设备的数量小于或等于第三阈值;作为第一显示设备的下一跳节点的第二显示设备的数量小于或等于第四阈值。
通过上述方式,有效缓解了主控设备和/或显示设备可能成为瓶颈节点的问题。
在一种可能的实现方式中,基于可靠性传输协议发送承载图像帧的数据包为:向作为主控设备的下一跳节点的第一显示设备发送数据包,数据包承载图像帧且基于可靠性传输协议。
通过上述方式,有效降低了主控设备端的并发量,减轻了主控设备端的网络压力。
在一种可能的实现方式中,其中,若图像帧为B帧,则主控设备可基于非可靠性传输协议发送承载图像帧的数据包。
通过上述方式,主控设备可将B帧通过非可靠性传输协议发送,从而降低了图像序列的传输时延。第三方面,本申请实施例提供了一种主控设备,包括:存储器与处理器,存储器与处理器耦合;其中,存储器包括程序指令,程序指令被处理器运行时,使得主控设备执行如下步骤:当待发送的图像帧是I帧,基于可靠性传输协议发送承载图像帧的数据包;当待发送的图像帧是P帧,当该P帧为符合第一预设条件的P帧,则基于可靠性传输协议发送承载图像帧的数据包,当P帧为不符合第一预设条件的P帧,则基于不可靠性传输协议发送承载图像帧的数据包。
在一种可能的实现方式中,第一预设条件包括:确定满足预设周期;或者,P帧与前一个图像帧或下一个图像帧之间的帧间预测参数大于或等于第一阈值。
第四方面,本申请实施例提供了一种主控设备,包括:存储器与处理器,存储器与处理器耦合;其中,存储器包括程序指令,程序指令被处理器运行时,使得主控设备执行如下步骤:当待发送的图像帧是I帧,基于可靠性传输协议发送承载图像帧的数据包;当待发送的图像帧是P帧,当主控设备所属投屏系统的视频传输质量符合第二预设条件,则基于可靠性传输协议发送承载图像帧的数据包,当主控设备所属投屏系统的视频传输质量不符合第二预设条件,则基于非可靠性传输协议发送承载图像帧的数据包。
在一种可能的实现方式中,其中,可靠性传输协议采用包含确认应答的传输机制;非可靠性传输协议采用组播传输机制。
在一种可能的实现方式中,其中,可靠性传输机制为动态路由协议。
在一种可能的实现方式中,其中,投屏系统包括两个或两个以上投屏组,每个投屏组包括第一显示设备和至少一个第二显示设备;其中,投屏系统的视频传输质量为根据每组的第一显示设备发送的平均视频传输质量确定的;平均视频传输质量为第一显示设备基于第一显示设备所属投屏组内的每个第二显示设备发送的视频传输质量确定的。
在一种可能的实现方式中,每个投屏组与主控设备之间的跳数是基于每个投屏组的平均视频传输质量确定的。
在一种可能的实现方式中,每个投屏组内的至少一个第二显示设备与所属投屏组内的第一显示设备之间的跳数是基于每个第二显示设备的视频传输质量确定的。
在一种可能的实现方式中,其中,作为主控设备的下一跳节点的第一显示设备的数量小于或等于第三阈值;作为第一显示设备的下一跳节点的第二显示设备的数量小于或等于第四阈值。
在一种可能的实现方式中,程序指令被处理器运行时,使得主控设备执行如下步骤:基于可靠性传输协议发送承载图像帧的数据包为:向作为主控设备的下一跳节点的第一显示设备发送数据包。
在一种可能的实现方式中,其中,程序指令被处理器运行时,使得主控设备执行如下步骤:若图像帧为B帧,则基于非可靠性传输协议发送承载图像帧的数据包。
第五方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第六方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
第七方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第八方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
第九方面,本申请实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理器执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
第十方面,本申请实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理器执行第二方面或第二方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
第十一方面,本申请实施例提供一种投屏系统,该系统包括上述第一方面涉及的主控设备和至少一个显示设备(包括第一显示设备和第二显示设备)。
附图说明
图1是示例性示出的一种应用场景示意图;
图2是本申请实施例提供的一种网络拓扑连接示意图之一;
图3是本申请实施例提供的一种投屏方法的流程示意图之一;
图4是本申请实施例提供的一种视频传输质量获取方法的流程示意图;
图5是本申请实施例提供的一种网络拓扑连接示意图之一;
图6是本申请实施例提供的一种投屏方法的流程示意图之一;
图7是本申请实施例提供的一种选择高优先级P的方法示意图;
图8是本申请实施例提供的一种投屏方法的流程示意图之一;
图9是本申请实施例提供的一种主控设备的示意性框图之一;
图10是本申请实施例提供的一种主控设备的示意性框图之一;
图11是本申请实施例提供的一种主控设备的示意性框图之一。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景进行说明。参见图1,为本申请实施例提供的一种应用场景示意图。该应用场景中包括主控设备和显示设备群组,其中,显示设备群组中包括两个或两个以上显示设备。在本申请实施例具体实施的过程中,主控设备可以为电脑、智能手机、平板、智能手表等设备。显示设备可以为智能电视、智能手机、电脑、平板等具有显示屏,且可用于解码的设备。需要说明的是,图1所示应用场景的主控设备与显示设备的数量仅为适应性举例,本申请对此不做限定。
结合上述如图1所示的应用场景示意图,下面介绍本申请的具体实施方案:
在本申请中,主控设备在与显示设备集群中的一个或多个显示设备进行投屏时,可基于图像序列中待发送的图像帧的帧类型,确定承载图像帧的数据包的传输类型。可选地,若图像帧为I帧,则数据包的传输类型为可靠性传输协议,若图像帧为P帧,则主控设备可进一步根据预设条件,判定承载P帧的数据包是否需要基于可靠性传输协议进行传输。可选地,在本申请中,需要基于可靠性传输协议进行传输的P帧可称为高优先级P帧,不需要基于可靠性传输协议进行传输的P帧可称为非高优先级P帧或低优先级P帧。
在一个示例中,I帧与高优先级P帧的数据包基于可靠性传输协议进行传输。主控设备可将承载有I帧和/或高优先级P帧的数据包发送给作为主控设备的下一跳的显示设备,并由下一跳显示设备,按照路由路径对数据包进行转发。
另一个示例中,低优先级P帧和/或B帧的数据包可基于非可靠性传输协议进行传输。主控设备可将承载有低优先级P帧和/或B帧的数据包广播给显示设备群组中的各显示设备。
为使本领域人员更好的理解本申请的实施方案,下面以具体实施例进行详细阐述。
结合图1,可选地,在本申请中,主控设备向多个显示设备发起投屏之前,可预先将显示设备群组中的多个显示设备进行分组,并且每个组选举出充当组长角色的显示设备(其它设备即为组员)。
具体的,在本申请中,对于区域内的显示设备群组(包括两个或两个以上显示设备),可任意选取一个显示设备作为坐标原点(以下简称原点显示设备),原点显示设备可获取到显示设备群组中的其它显示设备与原点显示设备之间的位置参数,位置参数包括但不限于:方向和距离。随后,可基于位置参数以及指定算法,构建N个投屏组。可选地,指定算法可以为K均值聚类算法(k-means clustering algorithm,简称K-mean)。可选地,N可以为大于或等于1的整数,本申请不做限定。构建投屏组的具体方式可参照已有技术,本申请不再赘述。
随后,主控设备上线,并向显示设备群组发布主控设备上线事件。可选地,主控设备可以广播的方式发布上线事件。
可选地,各显示设备接收到主控设备的广播信号,并且,各显示设备可基于广播信号,获取信号强度参数。信号强度参数的获取方式可参照已有技术中,本申请不再赘述。
可选地,各显示设备可将信号强度参数发送给主控设备,主控设备可基于信号强度参数,选举出各投屏组的组长角色。具体的,主控设备可将投屏组内信号强度参数最大的显示设备选为组长角色,组内其它显示设备即为组员。
可选地,各显示设备还可以广播获取到的信号强度参数,相应的,每个显示设备都会接收到其它显示设备广播的信号强度参数。随后,各投屏组内的显示设备可基于接收到的信号强度参数,选举出组长角色。例如:显示设备1的信号强度参数为信号强度A、显示设备2的信号强度参数为信号强度B、显示设备3的信号强度参数为信号强度C,其中,信号强度A>信号强度B>信号强度C,并且,显示设备1、显示设备2和显示设备3属于同一个投屏组。接着,显示设备1、显示设备2和显示设备3广播各自的信号强度参数。以显示设备1为例,显示设备1接收到显示设备2发送的信号强度B和显示设备3发送的信号强度C。显示设备1将自己的信号强度A与接收到的信号强度参数进行比较,确定显示设备1为信号强度参数最大的设备。则,显示设备1可确定自己为组长。
接着,构建网络路由拓扑。可选地,构建网络路由拓扑可基于路由协议,构成各个路由节点(即显示设备)之间的通信链路。如图2所示的网络拓扑结构仅为示意性举例。需要说明的是,图2中所示的连接关系,仅为示意性表示路由节点之间的通信关系。例如:显示设备11与显示设备21为主控设备的下一跳节点(或可称为路由节点或节点设备)。显示设备31为投屏组2中的其中一个成员(显示设备24)的下一跳节点。还需要说明的是,在基于动态路由协议的传输机制中,各投屏组内的组长用于接收组外的数据,包括主控设备发送的数据或其它组内的显示设备发送的数据。随后,组长再将接收到的数据,按照路由协议在组内进行转发。
可选地,在网络拓扑中,主控设备与各组长的最大连接数小于或等于m。m的值可根据实际需求进行设置。一个示例中,作为主控设备的下一跳节点的显示设备的数量小于或等于2。另一个示例中,作为组长的下一跳节点的显示设备的数量小于或等于2。举例说明,在如图2所示的网络拓扑中,m为2,即,主控设备与各组长的下一跳节点最多为2个。从而有效降低主控设备和/或组长数据包转发的并发量,进而缓解主控设备和/或组长端的网络压力。需要说明的是,主控设备的下一跳节点只能是组长。可选地,作为主控设备下一跳节点的组长可以是多个组长中信号强度较差的显示设备,从而通过减少组长与主控设备的连接跳数(或转发跳数),以增强组长的传输质量。
网络拓扑建立成功后,主控设备可发起投屏流程。具体的,在本申请中,主控设备可基于图像帧的类型,确定与图像帧对应的传输机制。图像帧的类型可包括:帧内编码图像I帧、前向预测编码图像P帧。可选地,图像帧的类型还可以包括双向预测编码图像B帧。其中,I帧是图像组(Group of Pictures,GOP)的基础帧(第一帧),在GOP中只有一个I帧,它是P帧和B帧的参考帧;P帧在一个GOP中一般有多个,P帧可以是与I帧相邻的帧,也可以是I帧后面相隔1~2帧的编码帧。其中,P帧需要参考前面的帧才能进行编码。表示的是当前帧画面与前一帧(前一帧可能是I帧也可能是P帧)的差别。以及,B帧是由前面的I或P帧和后面的P帧来进行预测的,也就是B帧记录的是本帧与前后帧的差别。即,若要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
可选地,在本申请中,I帧可基于可靠性传输机制进行传输,B帧可基于非可靠性传输机制进行传输,部分P帧(或可称为高优先级P帧)可基于可靠性传输机制进行传输,其它P帧(或可称为非高优先级P帧,或低优先级P帧)可基于非可靠性传输机制传输。可选地,在本申请中,可靠性传输机制是指包含确认应答的传输机制,也就是说,基于可靠性传输机制的数据包,需要对端(也就是接收端)在接收到数据包后,反馈确认应答,以使发送端确定数据包发送成功,并在未接收到确认应答(或接收到否定应答)后,重新发送该数据包,从而能够保证接收端成功接收数据包。可选地,可靠性传输机制可以是基于动态路由协议(或称为多跳动态路由协议)的传输机制(以下简称动态路由传输机制)。可选地,非可靠性传输机制可以为基于组播通信(或称为多播通信)的传输机制(以下简称组播传输机制),即利用广播方式发送数据包。
可选地,在本申请中,部分P帧的选择方式可以分为三种,一种为根据网络环境,确定部分P帧(或高优先级P帧),具体实施例可参照场景一。另一种为周期性的选取P帧作为高优先级P帧,具体实施例参照场景二。又一种为根据P帧的特性,选择高优先级P帧,具体实施例可参照场景三。
场景一
结合图1和图2,如图3所示为本申请实施例提供的一种投屏方法的流程示意图,在图3中:
步骤101,检测图像序列中待发送的图像帧的类型。
具体的,在本申请中,主控设备检测图像序列中待发送的图像帧,也就是说,位于图像序列中的第一幅图像(或帧)的类型。需要说明的是,本申请中所述的图像序列可以是GOP,也可以是段码流等,本申请不做限定。
可选地,若主控设备检测到待发送的图像帧为I帧,则进入步骤102。
可选地,若主控设备检测到待发送的图像帧为P帧,则进入步骤103。
可选地,若主控设备检测到待发送的图像帧为B帧,则进入步骤104。
步骤102,基于可靠性传输机制,向下一跳的显示设备发送图像帧。
可选地,主控设备可基于可靠性传输机制,对待发送的图像帧进行封装,并向作为主控设备的下一跳的显示设备发送承载所述图像帧的数据包。需要说明的是,本申请所述的承载于数据包中的图像帧,是指对原图像编码后的图像帧,相应的,显示设备接收到图像帧后,可对图像帧进行解码,以获取对应的编码图像或可称为编码数据等,并显示解码后的图像。
在一个示例中,若图像帧为I帧,则主控设备发送承载有I帧的动态路由数据包(基于动态路由协议传输的数据包)。在另一个示例中,例如,若图像帧为高优先级P帧,则主控设备发送承载有所述P帧的动态路由数据包。
当显示设备上连接有下一跳的显示设备时,收到基于可靠性传输协议传输的数据包时,基于可靠性传输协议向该下一跳的显示设备发送该数据包。并且,显示设备对图像帧进行解码,并显示解码后的图像帧。例如,如图2所示,主控设备向下一跳的显示设备21和11基于可靠性传输机制发送承载数据帧的数据包,显示设备11向其下一跳的显示设备12和13基于可靠性传输机制发送承载数据帧的数据包,显示设备13向其下一跳的显示设备41基于可靠性传输机制发送承载数据帧的数据包,显示设备12基于可靠性传输机制发送承载数据帧的数据包给显示设备14和15,类似该数据包基于可靠性传输机制传输给投屏组4和5中的显示设备。数据包也基于可靠性传输机制发送到投屏组3中的显示设备。
可选地,在本申请中,若连续的两个或两个以上图像帧,均判定需要基于可靠性传输协议进行传输。则,多个图像帧可承载于同一个数据包中。需要说明的是,数据包中可包含的图像帧的数量由数据包的承载能力与图像帧的编码数据大小决定。举例说明:一个示例中,若I帧的体量大于一个动态路由数据包可承载的能力,则可将I帧进行拆分,并承载于不同的数据包进行传输。另一个示例中,若连续两个高优先级P帧的总体量小于一个动态路由数据包可承载的能力,则两个连续的高优先级的P帧可作为P帧组承载于同一个动态路由数据包中进行传输。数据包的生成方式可参照已有技术,本申请不再赘述。
步骤103,基于系统的视频传输质量,判断P帧是否需要保证传输可靠性。
可选地,主控设备可获取系统的视频传输质量,并基于获取到的系统的视频传输质量,确定P帧是否需要保证其传输的可靠性,也就是说,P帧是否需要基于可靠性传输机制传输。可选地,若主控设备监测到当前系统的视频传输质量小于或等于阈值(阈值可根据实际情况进行设置),即,系统的视频传输质量未达到期望值,则,主控设备判定P帧需要基于可靠性传输机制进行传输,并且,确定该P帧为高优先级P帧,并进入步骤102。反之,若主控设备当前系统的视频传输质量大于阈值,即,系统的视频传输质量达到期望值,则,主控设备判定P帧可基于非可靠性传输机制进行传输,该P帧为非高优先级(或称为低优先级)P帧,进入步骤104。
步骤104,基于非可靠性传输机制,发送图像帧。
可选地,主控设备可基于非可靠性传输机制,对待发送的图像帧进行封装,并发送承载所述图像帧的数据包。
在一个示例中,例如,若图像帧为非高优先级P帧,则主控设备发送承载有P帧的组播数据包(基于组播传输机制的数据包)。在另一个示例中,例如,若图像帧为B帧,则主控设备发送承载有B帧的组播数据包。基于非可靠性传输机制发送图像帧时,图像帧可以不用一级一级转发,例如主控设备组播数据包,所有显示设备接收主控设备组播的数据包,并对图像帧进行解码,并显示解码后的图像帧。
可选地,在本申请中,多个连续的非高优先级P帧,或者多个连续的B帧与非高优先级P帧,可以作为帧组承载于同一个数据包中。需要说明的是,数据包中可包含的图像帧的数量由数据包的承载能力与图像帧的编码数据大小决定。数据包的生成方式可参照已有技术,本申请不再赘述。
可选地,在本申请中,一个高优先级P帧和一个非高优先级P帧,可以作为帧组承载于同一数据包中,该数据包可以按照对传输可靠性要求高的帧的传输机制来发送,则这个数据包基于可靠性传输机制发送该数据包。类似的一个I帧和一个非高优先级P帧、或B帧承载于同一数据包中,该数据包可以基于可靠性传输机制发送该数据包。举例说明,若主控设备确定当前待发送的图像帧为高优先级P帧,并且与其相邻且连续多个帧包括1个B帧和1个低优先级P帧。若高优先级P帧及相邻且连续的多个帧的大小未超过数据包可承载的能力,则,高优先级P帧及1个B帧和1个低优先级P帧可作为帧组,承载在同一个数据包中,从而降低系统中的数据包交互数量,相应降低网络及资源的压力。
下面对主控设备基于系统的视频传输质量,判定P帧是否为高优先级P帧的方式进行详细阐述。
首先,主控设备需要获取系统的视频传输质量。具体的,结合图1和图2,主控设备监测网络环境质量(或可称为视频传输质量,或网络传输质量)的方法可如图4所示,在图4中:
步骤201,各显示设备获取视频传输质量参数。
具体的,在本申请中,主控设备可周期性的启动网络环境质量监测流程,周期时长可根据实际需求进行设置。可选地,用于指示视频传输质量的参数(即所述视频传输质量参数)包括但不限于:传输时延Tr、和/或丢帧率Dr。
在一个示例中,主控设备可在周期触发时刻,将待发送的数据包中所携带的任一图像帧添加时间戳。随后,各显示设备可基于接收到该数据包的时间与所述时间戳,计算出自身与主控设备之间的传输时延Tr。在另一个示例中,各显示设备可基于周期内数据帧的接收情况,统计出各自的丢帧率Dr。上述示例中时延与丢帧率的计算仅为示意性举例,传输时延Tr和丢帧率Dr的计算方式还可参照已有技术,本申请不再赘述。
步骤202,各显示设备将视频传输质量参数发送给所属投屏组内的组长。
可选地,在本申请中,各显示设备可将获取到的视频传输质量参数,例如:Tr和/或Dr,发送给所述视频组内充当组长角色的显示设备。
步骤203,各组长统计所属投屏组的平均视频传输质量参数。
可选地,在本申请中,各组长接收到组内成员(即显示设备)发送的视频传输质量参数后,可计算出所属投屏组的平均视频传输质量参数,例如:平均传输时延Tr_Group和/或平均丢帧率Dr_Group。
可选地,组长还可以基于视频传输质量参数,确定各成员的视频传输质量,并动态调整组内的网络路由(或称网络路由拓扑,或无线连接关系等)。具体的,组长可将组内视频传输质量最差的显示设备与组长之间的跳数-1。其中,若存在未上报视频传输质量参数的显示设备,则确定该设备为视频传输质量最差的显示设备。可选地,若网络路由调整后,出现组长的连接数大于m的情况,则组长可将其下一跳中的视频传输质量最差最好的显示设备的跳数+1。举例说明,如图5所示,投屏组4内的显示设备43的视频传输质量参数超过阈值,则,显示设备43与组长(显示设备41)之间的跳数-1,调整后,显示设备43为组长的下一跳节点设备,而显示设备42与显示设备44同样是作为组长的下一跳节点,则组长的连接数大于预设阈值(m=2),因此,组长将与其连接(此处连接是指无线通信连接)的显示设备中的视频传输质量最好的显示设备(图中为显示设备44)的跳数+1。
步骤204,各组长将平均视频传输质量参数发送给主控设备。
可选地,组长发送平均视频传输质量参数的方式可以为广播或单播,本申请不做限定。
步骤205,主控设备获取系统的视频传输质量参数。
具体的,在本申请中,主控设备接收各投屏组组长发送的各组的平均视频传输质量参数(包括平均传输时延Tr_Group和/或平均丢帧率Dr_Group),接着,主控设备可基于接收到的多个平均视频传输质量参数,计算出系统的视频传输质量参数,包括但不限于:系统的传输时延Tr_total和/或系统的丢帧率Dr_total。具体计算方式可参照已有技术,例如求平均值等,本申请不再赘述。
可选地,主控设备可以基于各组的平均视频传输质量参数,确定各组的平均视频传输质量,并调整组间的网络路由。具体的,主控设备获取到各组的平均视频传输质量参数(包括Tr_Group和/或Dr_Group)后,可动态调整间的网络路由,可选地,与组内动态调整路由相似,调整规则可以为:主控设备可将各组中视频传输质量最差的组的跳数-1(具体是指将组长的跳数-1)。其中,若存在未上报视频传输质量参数的组长,则确定该组为视频传输质量最差的投屏组。可选地,若网络路由调整后,出现主控设备或任一组长的连接数大于m的情况,则主控设备和/或组长可将其下一跳中的视频传输质量最好的显示设备的跳数+1。举例说明,仍参照如图5,投屏组3的视频传输质量参数超过阈值,则,主控设备确定投屏组3的视频传输质量较好,主控设备可将投屏组3(即充当组长的显示设备31)的跳数-1,显示设备31与投屏组2内的显示设备23连接。
继续参照图3,在本申请中,主控设备可基于获取到的系统的视频传输质量,判定是否待发送的P帧是否为高优先级P帧。可选地,在本申请中,若时延或丢帧率等视频传输质量参数大于或等于阈值,则确定当前系统视频传输质量差,主控设备可将图像序列中待发送的所有P帧,选定为高优先级P帧,也就是说,在步骤102中,主控设备将图像序列中待发送的所有P帧均基于可靠性传输机制(例如动态路由协议)进行传输,以保证P帧的传输可靠性,从而降低视频数据帧解码误差,并校正当前的解码误差。
可选地,在本申请中,如上文所述,主控设备可周期性的获取系统的视频传输质量,相应的,若下一次获取到的系统的视频传输质量参数小于阈值,则可确定系统的视频传输质量达到期望值,图像序列中待发送的P帧则可选定为非高优先级(或低优先级)P帧,并基于组播传输机制传输,也就是说,除I帧外的其他帧(B帧和P帧)均基于组播传输机制传输,以降低网络压力及系统的传输时延。
可选地,在本申请中,显示设备接收到非可靠性路由协议的数据包后,可以不再转发该数据包。可选地,在本申请中,显示设备接收到非可靠性路由协议的数据包后,也可以将数据包进行转发。例如,若系统的视频传输质量较差,即,系统的任一个视频传输质量参数(时延或丢帧率)大于或等于阈值,则,各显示设备可将来自主控设备的承载B帧和/或P帧(可以为低优先级P帧)的组播数据包(基于组播传输机制传输的数据包),通过各显示设备之间的无线连接关系(即路由连接关系)进行设备间的数据转发,即,显示设备接收到组播数据包后,将数据(图像帧)封装为动态路由数据包(基于动态路由传输机制传输的数据包),并基于动态路由协议进行转发。举例说明:仍参照图2,显示设备11接收到主控设备广播的承载P帧的数据包后,可基于动态路由协议,将数据包重新封装后,将重新封装后的承载P帧的数据包转发给显示设备12,需要说明的是,显示设备12同样会接收到主控设备广播的数据包,从而充分利用显示设备之间的连接关系,通过共享各自收到的图像帧,降低多播通信的丢帧率,一定程度上提升视频传输质量。
场景二
结合图1和图2,如图6所示为本申请实施例提供的一种投屏方法的流程示意图,在图6中:
步骤301,检测图像序列中待发送的图像帧的类型。
具体细节可参照步骤101,此处不赘述。
步骤302,基于可靠性传输机制,向下一跳的显示设备发送图像帧。
具体细节可参照步骤102,此处不赘述。
步骤303,基于选取周期,判定P帧是否需要保证传输可靠性。
可选地,在本申请中,主控设备可周期性的选取图像序列中的P帧作为高优先级P帧,也就是说,主控设备可以基于预设间隔,选取高优先级P帧,可选地,预设间隔(或是选取周期)可以是以帧的数量进行设定,还可以是以时间进行设定。
一个示例中,选取周期(即预设间隔)可以以帧的数量进行计数,例如,每隔3个P帧,选取一个高优先级P帧。
另一个示例中,选取周期还可以以时间进行计数,例如,周期为3ms,每隔3ms进行采样,周期触发时刻或周期触发时刻之后的P帧,作为高优先级P帧。选取周期可根据实际需求进行设置,本申请不做限定。
可选地,判定为高优先级的P帧,确定需要保证其传输的可靠性,进入步骤302。反之,低优先级的P帧,进入步骤304。举例说明,如图7所示,主控设备按照预设间隔,每间隔3个低优先级P帧,选取1高优先级P帧,其中,高优先级P帧基于动态路由传输机制(即可靠性传输机制)传输,以提升传输可靠性及视频质量,低优先级P帧基于组播传输机制传输,以降低信道压力。
步骤304,基于非可靠性传输机制,发送图像帧。
具体细节可参照步骤104,此处不赘述。
可选地,主控设备可基于各组的平均视频传输质量,动态调整组间路由。和/或,各组组长可基于组内成员的视频传输质量,动态调整组内路由。具体细节可参照步骤201至步骤205及附图4和附图5的相关描述,此处不赘述。
可选地,在本申请中,若系统的视频传输质量较差,即,系统的任一个视频传输质量参数(时延或丢帧率)大于或等于阈值,各显示设备可将来自主控设备的承载B帧和/或P帧(可以为低优先级P帧)的组播数据包(基于组播传输机制传输的数据包),通过各显示设备之间的无线连接关系(即路由连接关系)进行设备间的数据转发。具体细节可参照场景一,此处不赘述。
场景三
结合图1和图2,如图8所示为本申请实施例提供的一种投屏方法的流程示意图,在图8中:
步骤401,检测图像序列中待发送的图像帧的类型。
具体细节可参照步骤101,此处不赘述。
步骤402,基于可靠性传输机制,向下一跳的显示设备发送图像帧。
具体细节可参照步骤102,此处不赘述。
步骤403,基于P帧特性,判定P帧是否需要保证传输可靠性。
主控设备可基于P帧的特性,判定P帧是否为高优先级P帧。可选地,帧的特性可用于描述该帧的编码数据的重要性,也就是说,P帧与前一帧(可以为I帧,也可以为B帧或P帧)和/或下一帧(可以为I帧,也可以为B帧或P帧)之间的帧间预测参数大于或等于阈值(可根据实际需求进行设置),则可确定该P帧为高优先级P帧,进入步骤402。反之,若帧间预测参数小于所述阈值,则P帧为低优先级P帧,进入步骤404。
步骤404,基于非可靠性传输机制,发送图像帧。
具体细节可参照步骤104,此处不赘述。
可选地,主控设备可基于各组的平均视频传输质量,动态调整组间路由。和/或,各组组长可基于组内成员的视频传输质量,动态调整组内路由。具体细节可参照步骤201至步骤205及附图4和附图5的相关描述,此处不赘述。
可选地,在本申请中,若系统的视频传输质量较差,即,系统的任一个视频传输质量参数(时延或丢帧率)大于或等于阈值,各显示设备可将来自主控设备的承载B帧和/或P帧(可以为低优先级P帧)的组播数据包(基于组播传输机制传输的数据包),通过各显示设备之间的无线连接关系(即路由连接关系)进行设备间的数据转发。具体细节可参照场景一,此处不赘述。
可以理解地,上述实施例中,主控设备向多个显示设备发起投屏之前,可预先将显示设备群组中的多个显示设备进行分组,并且每个组选举出充当组长角色的显示设备(其它设备即为组员)。当显示设备的个数不多时,可以不进行分组,例如所有显示设备为一个组,有一个显示设备为组长,其他显示设备为组员。当图像帧为I帧,主控设备基于可靠性传输协议向组长发送承载I帧的数据包,组长基于可靠性传输协议向组员发送该数据包。若图像帧为P帧,则主控设备可进一步根据预设条件,判定承载P帧的数据包是否需要基于可靠性传输协议进行传输。例如,图像帧是需要基于可靠性传输协议进行传输的P帧可称为高优先级P帧,主控设备基于可靠性传输协议向组长发送承载I帧的数据包,组长基于可靠性传输协议向组员发送该数据包;图像帧是不需要基于可靠性传输协议进行传输的P帧,则主控设备基于不可靠传输协议发送承载该P帧的数据包,例如组播的方式,所有显示设备可以通过组播的方式接收该数据包。
上述主要从各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,主控设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对主控设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,在采用对应各个功能划分各个功能模块的情况下,图9示出了上述实施例中所涉及的主控设备100的一种可能的结构示意图,如图9所示,主控设备可以包括:发送模块110。其中,发送模块110可用于“当待发送的图像帧是I帧,基于可靠性传输协议发送承载图像帧的数据包”的步骤,发送模块110还可以用于“当待发送的图像帧是P帧,当P帧为符合第一预设条件的P帧,则基于可靠性传输协议发送承载图像帧的数据包”的步骤,发送模块110还可以用于“当P帧为不符合第一预设条件的P帧,则基于非可靠性传输协议发送承载图像帧的数据包”的步骤。例如,该模块可以用于支持主控设备执行上述方法实施例中的步骤302、步骤402、步骤304、步骤404。
发送模块110还可以用于“当待发送的图像帧是I帧,基于可靠性传输协议发送承载图像帧的数据包”的步骤,以及,“当待发送的图像帧是P帧,当主控设备所属投屏系统的视频传输质量符合第二预设条件,则基于可靠性传输协议发送承载图像帧的数据包”的步骤,还可以用于“当主控设备所属投屏系统的视频传输质量不符合第二预设条件,则基于非可靠性传输协议发送承载图像帧的数据包”的步骤。例如,该模块可以用于支持主控设备执行上述方法实施例中的步骤102、步骤104。
在另一个示例中,图10示出了本申请实施例的一种主控设备200的示意性框图,主控设备可以包括:处理器210和收发器/收发管脚220,可选地,还包括存储器230。该处理器210可用于执行前述的实施例的各方法中的主控设备所执行的步骤,并控制接收管脚接收信号,以及控制发送管脚发送信号。
主控设备200的各个组件通过总线240耦合在一起,其中总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统240。
可选地,存储器230可以用于前述方法实施例中的存储指令。
应理解,根据本申请实施例的主控设备200中的各个元件的上述和其它管理操作和/或功能分别为了实现前述各个方法的相应步骤,为了简洁,在此不再赘述。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在另一个示例中,图11示出了本申请实施例的一种主控设备300的示意性框图,图11示出了主控设备为手机时的结构示意图。
如图11,手机300可以包括处理器310,外部存储器接口320,内部存储器321,通用串行总线(universal serial bus,USB)接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,SIM)卡接口395等。其中传感器模块380可以包括压力传感器380A,陀螺仪传感器380B,气压传感器380C,磁传感器380D,加速度传感器380E,距离传感器380F,接近光传感器380G,指纹传感器380H,温度传感器380J,触摸传感器380K,环境光传感器380L,骨传导传感器380M等。
可以理解的是,本发明实施例示意的结构并不构成对手机300的具体限定。在本申请另一些实施例中,手机300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器310可以包含多组I2C总线。处理器310可以通过不同的I2C总线接口分别耦合触摸传感器380K,充电器,闪光灯,摄像头393等。例如:处理器310可以通过I2C接口耦合触摸传感器380K,使处理器310与触摸传感器380K通过I2C总线接口通信,实现手机300的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器310可以包含多组I2S总线。处理器310可以通过I2S总线与音频模块370耦合,实现处理器310与音频模块370之间的通信。在一些实施例中,音频模块370可以通过I2S接口向无线通信模块360传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块370与无线通信模块360可以通过PCM总线接口耦合。在一些实施例中,音频模块370也可以通过PCM接口向无线通信模块360传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器310与无线通信模块360。例如:处理器310通过UART接口与无线通信模块360中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块370可以通过UART接口向无线通信模块360传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器310与显示屏394,摄像头393等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器310和摄像头393通过CSI接口通信,实现手机300的拍摄功能。处理器310和显示屏394通过DSI接口通信,实现手机300的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器310与摄像头393,显示屏394,无线通信模块360,音频模块370,传感器模块380等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口330是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口330可以用于连接充电器为手机300充电,也可以用于手机300与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他手机,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机300的结构限定。在本申请另一些实施例中,手机300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块340用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块340可以通过USB接口330接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块340可以通过手机300的无线充电线圈接收无线充电输入。充电管理模块340为电池342充电的同时,还可以通过电源管理模块341为手机供电。
电源管理模块341用于连接电池342,充电管理模块340与处理器310。电源管理模块341接收电池342和/或充电管理模块340的输入,为处理器310,内部存储器321,显示屏394,摄像头393,和无线通信模块360等供电。电源管理模块341还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块341也可以设置于处理器310中。在另一些实施例中,电源管理模块341和充电管理模块340也可以设置于同一个器件中。
手机300的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块350可以提供应用在手机300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块350可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块350还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块350的至少部分功能模块可以被设置于处理器310中。在一些实施例中,移动通信模块350的至少部分功能模块可以与处理器310的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器370A,受话器370B等)输出声音信号,或通过显示屏394显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器310,与移动通信模块350或其他功能模块设置在同一个器件中。
无线通信模块360可以提供应用在手机300上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机300的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得手机300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机300通过GPU,显示屏394,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏394和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏394用于显示图像,视频等。显示屏394包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机300可以包括1个或N个显示屏394,N为大于1的正整数。
手机300可以通过ISP,摄像头393,视频编解码器,GPU,显示屏394以及应用处理器等实现拍摄功能。
ISP用于处理摄像头393反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头393中。
摄像头393用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机300可以包括1个或N个摄像头393,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机300可以支持一种或多种视频编解码器。这样,手机300可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机300的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器321可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器321可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器321可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器310通过运行存储在内部存储器321的指令,和/或存储在设置于处理器中的存储器的指令,执行手机300的各种功能应用以及数据处理。
手机300可以通过音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。在一些实施例中,音频模块370可以设置于处理器310中,或将音频模块370的部分功能模块设置于处理器310中。
扬声器370A,也称“喇叭”,用于将音频电信号转换为声音信号。手机300可以通过扬声器370A收听音乐,或收听免提通话。
受话器370B,也称“听筒”,用于将音频电信号转换成声音信号。当手机300接听电话或语音信息时,可以通过将受话器370B靠近人耳接听语音。
麦克风370C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风370C发声,将声音信号输入到麦克风370C。手机300可以设置至少一个麦克风370C。在另一些实施例中,手机300可以设置两个麦克风370C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机300还可以设置三个,四个或更多麦克风370C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口370D用于连接有线耳机。耳机接口370D可以是USB接口330,也可以是3.5mm的开放移动手机平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器380A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器380A可以设置于显示屏394。压力传感器380A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。。
陀螺仪传感器380B可以用于确定手机300的运动姿态。
气压传感器380C用于测量气压。
磁传感器380D包括霍尔传感器。
加速度传感器380E可检测手机300在各个方向上(一般为三轴)加速度的大小。
距离传感器380F,用于测量距离。
接近光传感器380G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。
环境光传感器380L用于感知环境光亮度。
指纹传感器380H用于采集指纹。
温度传感器380J用于检测温度。
触摸传感器380K,也称“触控器件”。触摸传感器380K可以设置于显示屏394,由触摸传感器380K与显示屏394组成触摸屏,也称“触控屏”。触摸传感器380K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏394提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器380K也可以设置于手机300的表面,与显示屏394所处的位置不同。
骨传导传感器380M可以获取振动信号。
按键390包括开机键,音量键等。按键390可以是机械按键。也可以是触摸式按键。手机300可以接收按键输入,产生与手机300的用户设置以及功能控制有关的键信号输入。
马达391可以产生振动提示。马达391可以用于来电振动提示,也可以用于触摸振动反馈。
指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口395用于连接SIM卡。SIM卡可以通过插入SIM卡接口395,或从SIM卡接口395拔出,实现和手机300的接触和分离。手机300可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口395可以支持Nano SIM卡,Micro SIM卡,SIM卡等。手机300通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机300采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机300中,不能和手机300分离。
可以理解的是,本发明实施例示意的结构并不构成对主控设备的具体限定。在本申请另一些实施例中,主控设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
可以理解的是,显示设备也可以采用上述如图11的结构示意图。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由主控设备执行,以控制主控设备用以实现上述方法实施例。
基于相同的技术构思,本申请实施例还提供一种计算机程序,当该计算机程序被主控设备执行时,用以实现上述方法实施例。
所述程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
基于相同的技术构思,本申请实施例还提供一种处理器,该处理器用以实现上述方法实施例。上述处理器可以为芯片。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (20)
1.一种投屏方法,其特征在于,应用于主控设备,包括:
当待发送的图像帧是I帧,基于可靠性传输协议发送承载所述图像帧的数据包;
当所述待发送的图像帧是P帧,当所述主控设备所属投屏系统的视频传输质量小于或等于阈值,则基于可靠性传输协议发送承载所述图像帧的数据包,当所述主控设备所属投屏系统的视频传输质量大于所述阈值,则基于非可靠性传输协议发送承载所述图像帧的数据包。
2.根据权利要求1所述的方法,其特征在于,其中,
所述可靠性传输协议采用包含确认应答的传输机制;
所述非可靠性传输协议采用组播传输机制。
3.根据权利要求1所述的方法,其特征在于,其中,所述可靠性传输机制为动态路由协议。
4.根据权利要求1所述的方法,其特征在于,其中,所述投屏系统包括两个或两个以上投屏组,每个投屏组包括第一显示设备和至少一个第二显示设备;
其中,所述投屏系统的视频传输质量为根据每组的所述第一显示设备发送的平均视频传输质量确定的;所述平均视频传输质量为所述第一显示设备基于所述第一显示设备所属投屏组内的每个所述第二显示设备发送的视频传输质量确定的。
5.根据权利要求4所述的方法,其特征在于,其中,每个所述投屏组与所述主控设备之间的跳数是基于每个投屏组的平均视频传输质量确定的。
6.根据权利要求4所述的方法,其特征在于,其中,每个所述投屏组内的至少一个所述第二显示设备与所属投屏组内的所述第一显示设备之间的跳数是基于每个所述第二显示设备的视频传输质量确定的。
7.根据权利要求5或6所述的方法,其特征在于,其中,
作为所述主控设备的下一跳节点的所述第一显示设备的数量小于或等于第三阈值;
作为所述第一显示设备的下一跳节点的所述第二显示设备的数量小于或等于第四阈值。
8.根据权利要求4所述的方法,其特征在于,基于可靠性传输协议发送承载所述图像帧的数据包为:
向作为所述主控设备的下一跳节点的所述第一显示设备发送所述数据包。
9.根据权利要求1所述的方法,其特征在于,其中,若所述图像帧为B帧,则基于非可靠性传输协议发送承载所述图像帧的数据包。
10.一种主控设备,其特征在于,包括:
存储器与处理器,所述存储器与所述处理器耦合;
其中,所述存储器包括程序指令,所述程序指令被所述处理器运行时,使得所述主控设备执行如下步骤:
当待发送的图像帧是I帧,基于可靠性传输协议发送承载所述图像帧的数据包;
当所述待发送的图像帧是P帧,当所述主控设备所属投屏系统的视频传输质量小于或等于阈值,则基于可靠性传输协议发送承载所述图像帧的数据包,当所述主控设备所属投屏系统的视频传输质量大于所述阈值,则基于非可靠性传输协议发送承载所述图像帧的数据包。
11.根据权利要求10所述的主控设备,其特征在于,其中,
所述可靠性传输协议采用包含确认应答的传输机制;
所述非可靠性传输协议采用组播传输机制。
12.根据权利要求10所述的主控设备,其特征在于,其中,所述可靠性传输机制为动态路由协议。
13.根据权利要求10所述的主控设备,其特征在于,其中,投屏系统包括两个或两个以上投屏组,每个投屏组包括第一显示设备和至少一个第二显示设备;
其中,投屏系统的视频传输质量为根据每组的所述第一显示设备发送的平均视频传输质量确定的;平均视频传输质量为所述第一显示设备基于所述第一显示设备所属投屏组内的每个第二显示设备发送的视频传输质量确定的。
14.根据权利要求13所述的主控设备,其特征在于,其中,所述每个投屏组与所述主控设备之间的跳数是基于所述每个投屏组的平均视频传输质量确定的。
15.根据权利要求13所述的主控设备,其特征在于,其中,所述每个投屏组内的至少一个所述第二显示设备与所属投屏组内的第一显示设备之间的跳数是基于每个所述第二显示设备的视频传输质量确定的。
16.根据权利要求14或15所述的主控设备,其特征在于,其中,
作为所述主控设备的下一跳节点的所述第一显示设备的数量小于或等于第三阈值;
作为所述第一显示设备的下一跳节点的所述第二显示设备的数量小于或等于第四阈值。
17.根据权利要求13所述的主控设备,其特征在于,所述程序指令被所述处理器运行时,使得所述主控设备执行如下步骤:
基于可靠性传输协议发送承载图像帧的数据包为:向作为所述主控设备的下一跳节点的所述第一显示设备发送数据包。
18.根据权利要求10所述的主控设备,其特征在于,所述程序指令被所述处理器运行时,使得所述主控设备执行如下步骤:
若图像帧为B帧,则基于非可靠性传输协议发送承载图像帧的数据包。
19.一种投屏系统,其特征在于,所述投屏系统包括主控设备与一个或多个显示设备;
当待发送的图像帧是I帧,所述主控设备基于可靠性传输协议发送承载所述图像帧的数据包;
当所述待发送的图像帧是P帧,当所述主控设备所属投屏系统的视频传输质量小于或等于阈值,则所述主控设备基于可靠性传输协议发送承载所述图像帧的数据包,当所述投屏系统的视频传输质量大于所述阈值,则所述主控设备基于非可靠性传输协议发送承载所述图像帧的数据包;
至少一个显示设备接收主控设备发送的数据包,其中,若接收到的数据包是基于可靠性传输协议发送的且承载所述图像帧的数据包,则对所述图像帧进行解码,并将所述数据包转发给下一跳显示设备;若接收到的数据包是基于非可靠性协议发送的且承载所述图像帧的数据包,则对所述图像帧进行解码。
20.一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由主控设备执行,以控制所述主控设备执行权利要求1-9所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910694322.3A CN110519632B (zh) | 2019-07-30 | 2019-07-30 | 投屏方法及设备 |
EP20848274.5A EP3982641A4 (en) | 2019-07-30 | 2020-07-29 | METHOD AND DEVICE FOR PROJECTING ON SCREEN |
US17/597,236 US11997153B2 (en) | 2019-07-30 | 2020-07-29 | Screen projection method and device |
PCT/CN2020/105491 WO2021018187A1 (zh) | 2019-07-30 | 2020-07-29 | 投屏方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910694322.3A CN110519632B (zh) | 2019-07-30 | 2019-07-30 | 投屏方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519632A CN110519632A (zh) | 2019-11-29 |
CN110519632B true CN110519632B (zh) | 2021-08-20 |
Family
ID=68625057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910694322.3A Active CN110519632B (zh) | 2019-07-30 | 2019-07-30 | 投屏方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11997153B2 (zh) |
EP (1) | EP3982641A4 (zh) |
CN (1) | CN110519632B (zh) |
WO (1) | WO2021018187A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111628847B (zh) | 2020-05-06 | 2022-04-08 | 上海幻电信息科技有限公司 | 数据传输方法及装置 |
CN111917661B (zh) * | 2020-07-29 | 2023-05-02 | 抖音视界有限公司 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
CN114071197B (zh) * | 2020-07-30 | 2024-04-12 | 华为技术有限公司 | 投屏数据处理方法和装置 |
CN114500725B (zh) * | 2020-11-13 | 2023-06-27 | 华为技术有限公司 | 目标内容传输方法、主设备、从设备和存储介质 |
CN112788646B (zh) * | 2021-03-16 | 2023-07-25 | 北京字节跳动网络技术有限公司 | 网络质量监测方法、装置、设备和存储介质 |
CN114470750B (zh) * | 2021-07-06 | 2022-12-30 | 荣耀终端有限公司 | 图像帧流的显示方法、电子设备和存储介质 |
CN114173183B (zh) * | 2021-09-26 | 2023-01-24 | 荣耀终端有限公司 | 投屏方法和电子设备 |
CN114793291B (zh) * | 2022-01-25 | 2023-11-07 | 深圳软牛科技有限公司 | Ios多设备实时投屏方法、系统、计算机设备及存储介质 |
CN114510191B (zh) * | 2022-02-16 | 2024-10-18 | 北京字跳网络技术有限公司 | 一种投屏方法及装置 |
US11870660B1 (en) * | 2022-10-25 | 2024-01-09 | Zoom Video Communications, Inc. | Dynamic and configurable local mesh network for video conference |
CN116389352B (zh) * | 2023-03-17 | 2024-09-20 | 深圳市同行者科技有限公司 | 车载交互投屏数据的传输方法、系统及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000045581A2 (en) * | 1999-01-29 | 2000-08-03 | Data Race, Inc. | Modem transfer mechanism which prioritized data transfers |
EP2439947A4 (en) * | 2009-06-05 | 2013-07-10 | Huawei Tech Co Ltd | METHOD, SYSTEM AND APPROPRIATE DEVICES FOR PROCESSING CHANNEL SWITCHES |
CN103580773A (zh) * | 2012-07-18 | 2014-02-12 | 中兴通讯股份有限公司 | 数据帧的传输方法及装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002360591A1 (en) * | 2001-12-15 | 2003-06-30 | Thomson Licensing S.A. | System and method for delivering data streams of multiple data types at different priority levels |
US20040016000A1 (en) * | 2002-04-23 | 2004-01-22 | Zhi-Li Zhang | Video streaming having controlled quality assurance over best-effort networks |
KR20060114080A (ko) * | 2005-04-27 | 2006-11-06 | 삼성전자주식회사 | 멀티미디어 스트리밍 서비스 시스템 및 방법 |
CN101997825B (zh) * | 2009-08-28 | 2015-03-11 | 中国移动通信集团公司 | Dsn网络认证信息请求、存储方法、sn-c节点及系统 |
US20110252083A1 (en) | 2010-04-13 | 2011-10-13 | Rebelvox, Llc | Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol |
CN102209230B (zh) * | 2011-05-31 | 2013-04-03 | 浙江中烟工业有限责任公司 | 一种具有主会场控制模块的视频会议系统 |
US9054911B1 (en) * | 2012-04-16 | 2015-06-09 | Google Inc. | Multicast group ingestion |
US8806522B2 (en) * | 2012-07-30 | 2014-08-12 | Verizon Patent And Licensing Inc. | Group based multicast streaming systems and methods |
KR20140115819A (ko) * | 2013-03-22 | 2014-10-01 | 삼성테크윈 주식회사 | 선택적 영상 전송 시스템 |
CN103338207B (zh) * | 2013-07-10 | 2016-12-07 | 重庆邮电大学 | 无线自组织网络中实时视频多跳中继方法 |
CN103716584A (zh) * | 2013-11-30 | 2014-04-09 | 南京大学 | 基于上下文感知的智能移动终端现场监测方法 |
US9558718B2 (en) * | 2014-09-03 | 2017-01-31 | Qualcomm Incorporated | Streaming video data in the graphics domain |
JP6590476B2 (ja) * | 2014-10-28 | 2019-10-16 | キヤノン株式会社 | 画像表示装置 |
CN106255230A (zh) * | 2016-07-29 | 2016-12-21 | 广东美的厨房电器制造有限公司 | 数据传输方法及数据传输装置 |
WO2018039179A1 (en) * | 2016-08-22 | 2018-03-01 | Intel IP Corporation | Enhanced key frame protection on cellular networks |
CN106406789A (zh) | 2016-08-29 | 2017-02-15 | 武汉启目科技有限公司 | 一种实现单个pc屏幕向多个不同设备屏幕投屏的方法 |
CN106412801B (zh) | 2016-08-31 | 2019-09-13 | 西安电子科技大学 | 一种基于视频帧结构和d2d通信的视频多播方法 |
CN107801088A (zh) * | 2016-08-31 | 2018-03-13 | 南京极域信息科技有限公司 | 一种投屏接收分享系统及实现方法 |
US10306181B2 (en) | 2016-10-11 | 2019-05-28 | Cisco Technology, Inc. | Large scale media switching: reliable transport for long term reference frames |
CN106792263A (zh) * | 2016-12-09 | 2017-05-31 | 东方网力科技股份有限公司 | 一种视频数据传输方法、装置及系统 |
US10779194B2 (en) * | 2017-03-27 | 2020-09-15 | Qualcomm Incorporated | Preferred path network scheduling in multi-modem setup |
US20180287850A1 (en) * | 2017-03-31 | 2018-10-04 | Intel Corporation | Techniques for network multicasting with buffering |
CN107809662B (zh) | 2017-11-06 | 2019-08-16 | 陕西师范大学 | 一种基于异构无线自组织网络的可分级视频传输方法及装置 |
CN107888992A (zh) * | 2017-11-17 | 2018-04-06 | 北京松果电子有限公司 | 视频数据传输方法、接收方法、装置、存储介质及设备 |
CN109150876B (zh) * | 2018-08-20 | 2021-06-29 | 深圳市昊一源科技有限公司 | 一种视频无线传输的qos方法、装置及系统 |
CN109618170B (zh) * | 2018-12-04 | 2021-10-01 | 嘉兴国电通新能源科技有限公司 | 基于网络编码的d2d实时视频流传输方法 |
-
2019
- 2019-07-30 CN CN201910694322.3A patent/CN110519632B/zh active Active
-
2020
- 2020-07-29 US US17/597,236 patent/US11997153B2/en active Active
- 2020-07-29 EP EP20848274.5A patent/EP3982641A4/en active Pending
- 2020-07-29 WO PCT/CN2020/105491 patent/WO2021018187A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000045581A2 (en) * | 1999-01-29 | 2000-08-03 | Data Race, Inc. | Modem transfer mechanism which prioritized data transfers |
EP2439947A4 (en) * | 2009-06-05 | 2013-07-10 | Huawei Tech Co Ltd | METHOD, SYSTEM AND APPROPRIATE DEVICES FOR PROCESSING CHANNEL SWITCHES |
CN103580773A (zh) * | 2012-07-18 | 2014-02-12 | 中兴通讯股份有限公司 | 数据帧的传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
视频数据的自适应不平等保护及可靠性传输策略研究;王薇;《中国优秀硕士学位论文全文数据库》;20050215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP3982641A4 (en) | 2022-07-20 |
EP3982641A1 (en) | 2022-04-13 |
CN110519632A (zh) | 2019-11-29 |
WO2021018187A1 (zh) | 2021-02-04 |
US11997153B2 (en) | 2024-05-28 |
US20220321634A1 (en) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519632B (zh) | 投屏方法及设备 | |
CN110381345B (zh) | 一种投屏显示方法及电子设备 | |
WO2020244623A1 (zh) | 一种空鼠模式实现方法及相关设备 | |
US12041110B2 (en) | Bluetooth communication method and related apparatus | |
CN113993226B (zh) | 支持双卡的终端设备中业务处理方法和装置 | |
CN115694595A (zh) | 一种北斗通信系统中出站传输控制方法、系统及相关装置 | |
CN115694598A (zh) | 一种北斗通信系统中多帧融合传输方法及相关装置 | |
CN113453274B (zh) | 一种上行数据的分流方法及终端 | |
CN115694596A (zh) | 一种北斗通信系统中入站传输控制方法、系统及相关装置 | |
WO2023273763A1 (zh) | 一种视频数据的传输方法及装置 | |
WO2022111712A1 (zh) | 一种音频与视频同步的方法及设备 | |
CN113950037B (zh) | 一种音频播放方法及终端设备 | |
WO2022042281A1 (zh) | 一种编解码方法、装置及系统 | |
CN117193685A (zh) | 投屏数据的处理方法、电子设备及存储介质 | |
CN115706603A (zh) | 北斗通信系统中紧凑传输方法、系统及相关装置 | |
CN115706605A (zh) | 北斗通信系统中入站调度方法及相关装置 | |
CN115145517A (zh) | 一种投屏方法、电子设备和系统 | |
CN114765831A (zh) | 上行资源预申请的方法及相关设备 | |
WO2023061217A1 (zh) | 一种数据传输方法及装置 | |
US20240129352A1 (en) | Live broadcast method, apparatus, and system | |
WO2024067432A1 (zh) | 一种音频传输方法、系统以及相关装置 | |
CN113934388B (zh) | 同步显示方法、终端及存储介质 | |
CN115706958A (zh) | 数据处理方法及电子设备 | |
CN115941016A (zh) | 北斗通信系统中紧凑反馈方法、系统及相关装置 | |
CN114449492A (zh) | 数据传输方法及终端设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |