一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法、系统及电子设备与流程

2022-06-05 21:32:42 来源:中国专利 TAG:


1.本技术实施例涉及终端设备领域,尤其涉及一种数据传输方法、系统及电子设备。


背景技术:

2.当前智能电视存在两种形态,一种形态为主机与屏幕为一体化设计,另一种则将主机与屏幕采用分体式设计。但由于消费类场景下的无线图像传输技术还未取得突破,使得采用分体式设计的主机与屏幕之间依旧采用线缆连接的方式进行信息传输。而随着无线技术的进一步发展成熟,采用无线技术进行主机与屏幕之间的信息传输则成为了一种未来智能电视的场景。
3.但是,目前的主机与屏幕之间的进行数据传输时,一旦受到干扰源的干扰,这将造成在主机与屏幕之间传输的无线图像的显示质量较差,导致用户体验欠佳。


技术实现要素:

4.为了解决上述技术问题,本技术提供一种数据传输方法、系统及电子设备。在该方法中,第一电子设备可通过延时冗余传输的方式,在不同的传输通道上传输指定类型的冗余图像帧,以克服干扰对图像帧传输的影响,提升用户体验。
5.第一方面,本技术实施例提供一种数据传输系统。系统包括第一电子设备和第二电子设备。第一电子设备在第一传输通道上发送第一图像帧。在第一图像帧发送完成后,第一电子设备在第一传输通道上发送第二图像帧,并且,在第二传输通道上发送第一冗余图像帧。其中,第一冗余图像帧的图像数据与第一图像帧的图像数据相同,第一图像帧与第二图像帧的帧类型不同。第一电子设备在第二图像帧发送完成后,其在第三传输通道上发送第二冗余图像帧,其中,第二冗余图像帧的图像数据与第二图像帧的图像数据相同。第二电子设备,用于从第一传输通道上接收到第一图像帧和第二图像帧。第二电子设备在接收到第一图像帧后,从第二传输通道上接收到第一冗余图像帧。第二电子设备在接收到第二图像帧后,从第三传输通道上接收到第二冗余图像帧。接着,第二电子设备可丢弃第一冗余图像帧和第二冗余图像帧。这样,第一电子设备可通过延时冗余传输的方式,在不同的传输通道上传输指定类型的冗余图像帧,使得第二电子设备可在第一传输通道上接收到原始图像帧,例如第一图像帧后,还可以在另一传输通道上延时接收到冗余图像帧,例如第一冗余图像帧,从而在第一传输通道上的任一图像帧受到干扰的情况下,第二电子设备仍然可在其它传输通道上接收到对应的图像帧,以克服干扰对图像帧传输的影响,提升用户体验。
6.示例性的,第一电子设备可以为主机,第二电子设备可以为电视。
7.示例性的,第二图像帧的发送时刻可以在第一冗余图像帧的发送时刻之前,也可以在第一冗余图像帧的发送时刻之后,也可以是同时发送。
8.示例性的,第二电子设备可能同时接收到第二图像帧和第一冗余图像帧。示例性的,第二电子设备可能先接收到第二图像帧,再接收到第一冗余图像帧。示例性的,第二电子设备可能先接收到第一冗余图像帧,再接收到第二图像帧。
9.根据第一方面,第一电子设备,还用于在第二图像帧发送完成后,在第一传输通道上发送第三图像帧。其中,第三图像帧与第一图像帧和第二图像帧的帧类型不同。第一电子设备在第三图像帧发送完成后,在第四传输通道上发送第三冗余图像帧,其中,第三冗余图像帧的图像数据与第三图像帧的图像数据相同。相应的,第二电子设备,还用于检测是否从第一传输通道上完整接收到第三图像帧。其中,当第二电子设备检测到未完整接收到第三图像帧,显示从第四传输通道上接收到的第三冗余图像帧的图像数据。这样,第三图像帧在传输过程中受到干扰导致丢包或数据缺失的情况下,第二电子设备仍然可以从第四传输通道上获取到与第三图像帧的图像数据相同的第三冗余图像帧,从而使得依赖于第三图像帧进行帧间预测的其它图像帧,可以基于第三冗余图像帧正确解码,以克服干扰对图像显示的影响,提升用户体验。
10.根据第一方面,或者以上第一方面的任意一种实现方式,第二电子设备,还用于当检测到完整接收到第三图像帧,显示第三图像帧的图像数据。接着,第二电子设备丢弃从第四传输通道上接收到的第三冗余图像帧。这样,第二电子设备可以在检测到完整接收到图像帧后,直接显示第三图像帧的图像数据,并丢弃第三冗余图像帧,以降低设备压力和缓存占用,提升资源利用率。
11.根据第一方面,或者以上第一方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包。相应的,第二电子设备,用于从第一传输通道接收第一数据包。当在设定的第一时长内未接收到第二数据包,第二电子设备确定未完整接收到第三图像帧。这样,第二电子设备在设定的第一时长内未接收到第二数据包,即可确定第三图像帧未完整传输,第二电子设备可立即从第四传输通道上获取对应的第三冗余图像帧,以降低数据包丢失对数据处理时延的影响。
12.根据第一方面,或者以上第一方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包。相应的,第二电子设备,用于从第一传输通道接收第一数据包和第二数据包。第二电子设备根据第二数据包携带的循环冗余校验crc字段,对第一数据包和第二数据包进行完整性校验。当第二电子设备对第一数据包和第二数据包的完整性校验失败,确定未完整接收到第三图像帧。这样,第二电子设备可进一步基于完整性校验,确定第三图像帧是否完整接收,并在确定第三图像帧未完整接收的情况下,立即从第四传输通道上获取对应的第三冗余图像帧,以降低数据包丢失对数据处理时延的影响。
13.根据第一方面,或者以上第一方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包,第一数据包和第二数据包携带第一编号信息,第三冗余图像帧承载于第三数据包和第四数据包,第三数据包和第四数据包携带第一编号信息。这样,第二电子设备可基于数据包中携带的编号信息,确定与第三图像帧对应的冗余图像帧即为与第三图像帧的编号信息一致的数据包承载的第三冗余图像帧。
14.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备,还用于在第三图像帧发送完成后,在第一传输通道上发送第四图像帧;其中,第四图像帧与第一图像帧的帧类型相同;第四图像帧承载于第五数据包,第五数据包携带第二编号信息,第二编号信息与第一编号信息不同。在第四图帧发送完成后,第一电子设备在第二传输通道上发送第四冗余图像帧,其中,第四冗余图像帧的图像数据与第四图像帧的图像数据相同。相应的,第二电子设备,还用于从第一传输通道接收第一数据包。第二电子设备从第一传输通道
接收第五数据包。接着,第二电子设备根据第一数据包携带的第一编号信息与第五数据包携带的第二编号信息,确定未完整接收到第三图像帧。这样,第二电子设备可通过识别数据包中的编号信息的方式,确定是否完整接收到图像帧,并在确定第三图像帧未完整接收的情况下,立即从第四传输通道上获取对应的第三冗余图像帧,以降低数据包丢失对数据处理时延的影响。
15.根据第一方面,或者以上第一方面的任意一种实现方式,第一数据包携带第一数量信息,第一数量信息用于指示承载第三图像帧的数据包共有两个,并且,第一数据包为承载第三图像帧的两个数据包中的第一个。第二数据包携带第二数量信息,第二数量信息用于指示承载第三图像帧的数据包共有两个,并且,第二数据包为承载第三图像帧的两个数据包中的第二个。这样,第二电子设备可基于数据包中携带的数量信息,确定第三图像帧的数据包是否已全部接收。
16.根据第一方面,或者以上第一方面的任意一种实现方式,第一数据包和第二数据包携带第一传输通道的通道标识信息。这样,第二电子设备可基于数据包中的通道标识信息,确定数据包的帧类型。
17.根据第一方面,或者以上第一方面的任意一种实现方式,第一冗余图像帧的发送时刻与第一图像帧的发送完成时刻间隔为设定的第二时长,第二时长大于或等于0,且小于第一图像帧与第二图像帧之间的帧间间隔。这样,第一电子设备可在发送完第一图像帧后,立即发送第一冗余图像帧,即第一冗余图像帧的发送时刻与第一图像帧的发送完成时刻相同(对齐)。第一电子设备还可以在第一图像帧发送完成后,间隔第二时长,再发送第一冗余图像帧,即第一冗余图像帧的发送时刻与第一图像帧的发送完成时刻相差第二时长,以为第一电子设备和第二电子设备预留处理时间。
18.根据第一方面,或者以上第一方面的任意一种实现方式,系统还包括第三电子设备,其中,第三电子设备,用于从第一传输通道上接收到第一图像帧和第二图像帧。在接收到第一图像帧后,从第二传输通道上接收到第一冗余图像帧。在接收到第二图像帧后,从第三传输通道上接收到第二冗余图像帧。第三电子设备丢弃第一冗余图像帧和第二冗余图像帧。这样,本技术实施例中的数据传输方法可应用于多设备交互场景,第一电子设备可通过广播的方式发送图像帧和冗余图像镇,第二电子设备和第三电子设备可监听相应的传输通道,以获取图像帧和冗余图像帧。
19.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备,还用于与第二电子设备建立第一连接。第一电子设备通过第一连接,向第二电子设备发送指示信息,指示信息用于指示第一传输通道用于传输原始图像组,第二传输通道用于传输第一帧类型的图像帧,第三传输通道用于传输第二帧类型的图像帧,其中,原始图像组包括第一图像帧和第二图像帧。这样,第一电子设备可预先向第二电子设备指示其延时冗余传输方式,以使得第二电子设备可对相应的传输通道进行监听,以获取图像帧和冗余图像帧。
20.根据第一方面,或者以上第一方面的任意一种实现方式,第一帧类型为i帧,第二帧类型为p帧或b帧。
21.根据第一方面,或者以上第一方面的任意一种实现方式,第一传输通道与第二传输通道工作于相同的信道。
22.示例性的,第一传输通道、第二传输通道、第三传输通道和第四传输通道可以工作
于相同的频段,例如2.4ghz频段或5ghz频段。
23.示例性的,第一传输通道、第二传输通道、第三传输通道和第四传输通道可以工作于相同的信道。
24.示例性的,第一传输通道、第二传输通道、第三传输通道和第四传输通道可以采用ofdma方式进行数据传输。
25.第二方面,本技术实施例提供一种数据传输方法。该方法包括:第一电子设备在第一传输通道上发送第一图像帧。第一电子设备在第一图像帧发送完成后,在第一传输通道上发送第二图像帧,并且,在第二传输通道上发送第一冗余图像帧,其中,第一冗余图像帧的图像数据与第一图像帧的图像数据相同,第一图像帧与第二图像帧的帧类型不同;第一电子设备在第二图像帧发送完成后,在第三传输通道上发送第二冗余图像帧,其中,第二冗余图像帧的图像数据与第二图像帧的图像数据相同;第二电子设备从第一传输通道上接收到第一图像帧和第二图像帧;第二电子设备在接收到第一图像帧后,从第二传输通道上接收到第一冗余图像帧;第二电子设备在接收到第二图像帧后,从第三传输通道上接收到第二冗余图像帧;第二电子设备丢弃第一冗余图像帧和第二冗余图像帧。
26.根据第二方面,方法还包括:第一电子设备在第二图像帧发送完成后,在第一传输通道上发送第三图像帧;其中,第三图像帧与第一图像帧和第二图像帧的帧类型不同;第一电子设备在第三图像帧发送完成后,在第四传输通道上发送第三冗余图像帧,其中,第三冗余图像帧的图像数据与第三图像帧的图像数据相同;第二电子设备检测是否从第一传输通道上完整接收到第三图像帧;当检测到未完整接收到第三图像帧,第二电子设备显示从第四传输通道上接收到的第三冗余图像帧的图像数据。
27.根据第二方面,或者以上第二方面的任意一种实现方式,方法还包括:当检测到完整接收到第三图像帧,第二电子设备显示第三图像帧的图像数据;第二电子设备丢弃从第四传输通道上接收到的第三冗余图像帧。
28.根据第二方面,或者以上第二方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包;第二电子设备检测是否从第一传输通道上完整接收到第三图像帧,包括:第二电子设备从第一传输通道接收第一数据包;当在设定的第一时长内未接收到第二数据包,第二电子设备确定未完整接收到第三图像帧。
29.根据第二方面,或者以上第二方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包;第二电子设备检测是否从第一传输通道上完整接收到第三图像帧,包括:第二电子设备从第一传输通道接收第一数据包和第二数据包;第二电子设备根据第二数据包携带的循环冗余校验crc字段,对第一数据包和第二数据包进行完整性校验;当对第一数据包和第二数据包的完整性校验失败,第二电子设备确定未完整接收到第三图像帧。
30.根据第二方面,或者以上第二方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包,第一数据包和第二数据包携带第一编号信息,第三冗余图像帧承载于第三数据包和第四数据包,第三数据包和第四数据包携带第一编号信息。
31.根据第二方面,或者以上第二方面的任意一种实现方式,方法还包括:第一电子设备在第三图像帧发送完成后,在第一传输通道上发送第四图像帧;其中,第四图像帧与第一图像帧的帧类型相同;第四图像帧承载于第五数据包,第五数据包携带第二编号信息,第二
编号信息与第一编号信息不同;第一电子设备在第四图帧发送完成后,在第二传输通道上发送第四冗余图像帧,其中,第四冗余图像帧的图像数据与第四图像帧的图像数据相同;第二电子设备从第一传输通道接收第一数据包;第二电子设备从第一传输通道接收第五数据包;第二电子设备根据第一数据包携带的第一编号信息与第五数据包携带的第二编号信息,确定未完整接收到第三图像帧。
32.根据第二方面,或者以上第二方面的任意一种实现方式,第一数据包携带第一数量信息,第一数量信息用于指示承载第三图像帧的数据包共有两个,并且,第一数据包为承载第三图像帧的两个数据包中的第一个;第二数据包携带第二数量信息,第二数量信息用于指示承载第三图像帧的数据包共有两个,并且,第二数据包为承载第三图像帧的两个数据包中的第二个。
33.根据第二方面,或者以上第二方面的任意一种实现方式,第一数据包和第二数据包携带第一传输通道的通道标识信息。
34.根据第二方面,或者以上第二方面的任意一种实现方式,第一冗余图像帧的发送时刻与第一图像帧的发送完成时刻间隔为设定的第二时长,第二时长大于或等于0,且小于第一图像帧与第二图像帧之间的帧间间隔。
35.根据第二方面,或者以上第二方面的任意一种实现方式,方法还包括:第三电子设备从第一传输通道上接收到第一图像帧和第二图像帧;第三电子设备在接收到第一图像帧后,从第二传输通道上接收到第一冗余图像帧;第三电子设备在接收到第二图像帧后,从第三传输通道上接收到第二冗余图像帧;第三电子设备丢弃第一冗余图像帧和第二冗余图像帧。
36.根据第二方面,或者以上第二方面的任意一种实现方式,第一电子设备在第一传输通道上发送第一图像帧之前,方法还包括:第一电子设备与第二电子设备建立第一连接;第一电子设备通过第一连接,向第二电子设备发送指示信息,指示信息用于指示第一传输通道用于传输原始图像组,第二传输通道用于传输第一帧类型的图像帧,第三传输通道用于传输第二帧类型的图像帧,其中,原始图像组包括第一图像帧和第二图像帧。
37.根据第二方面,或者以上第二方面的任意一种实现方式,第一帧类型为i帧,第二帧类型为p帧或b帧。
38.根据第二方面,或者以上第二方面的任意一种实现方式,第一传输通道与第二传输通道工作于相同的信道。
39.第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
40.第三方面,本技术实施例提供一种数据传输方法。该方法包括:第一电子设备在第一传输通道上发送第一图像帧。第一电子设备在第一图像帧发送完成后,在第一传输通道上发送第二图像帧,并且,在第二传输通道上发送第一冗余图像帧,其中,第一冗余图像帧的图像数据与第一图像帧的图像数据相同,第一图像帧与第二图像帧的帧类型不同;第一电子设备在第二图像帧发送完成后,在第三传输通道上发送第二冗余图像帧,其中,第二冗余图像帧的图像数据与第二图像帧的图像数据相同。
41.根据第三方面,方法还包括:第一电子设备在第二图像帧发送完成后,在第一传输
通道上发送第三图像帧;其中,第三图像帧与第一图像帧和第二图像帧的帧类型不同;第一电子设备在第三图像帧发送完成后,在第四传输通道上发送第三冗余图像帧,其中,第三冗余图像帧的图像数据与第三图像帧的图像数据相同。
42.根据第三方面,或者以上第三方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包,第一数据包和第二数据包携带第一编号信息,第三冗余图像帧承载于第三数据包和第四数据包,第三数据包和第四数据包携带第一编号信息。
43.根据第三方面,或者以上第三方面的任意一种实现方式,方法还包括:第一电子设备在第三图像帧发送完成后,在第一传输通道上发送第四图像帧;其中,第四图像帧与第一图像帧的帧类型相同;第四图像帧承载于第五数据包,第五数据包携带第二编号信息,第二编号信息与第一编号信息不同;第一电子设备在第四图帧发送完成后,在第二传输通道上发送第四冗余图像帧,其中,第四冗余图像帧的图像数据与第四图像帧的图像数据相同。
44.根据第三方面,或者以上第三方面的任意一种实现方式,第一数据包携带第一数量信息,第一数量信息用于指示承载第三图像帧的数据包共有两个,并且,第一数据包为承载第三图像帧的两个数据包中的第一个;第二数据包携带第二数量信息,第二数量信息用于指示承载第三图像帧的数据包共有两个,并且,第二数据包为承载第三图像帧的两个数据包中的第二个。
45.根据第三方面,或者以上第三方面的任意一种实现方式,第一数据包和第二数据包携带第一传输通道的通道标识信息。
46.根据第三方面,或者以上第三方面的任意一种实现方式,第一冗余图像帧的发送时刻与第一图像帧的发送完成时刻间隔为设定的第二时长,第二时长大于或等于0,且小于第一图像帧与第二图像帧之间的帧间间隔。
47.根据第三方面,或者以上第三方面的任意一种实现方式,第一电子设备在第一传输通道上发送第一图像帧之前,方法还包括:第一电子设备与第二电子设备建立第一连接;第一电子设备通过第一连接,向第二电子设备发送指示信息,指示信息用于指示第一传输通道用于传输原始图像组,第二传输通道用于传输第一帧类型的图像帧,第三传输通道用于传输第二帧类型的图像帧,其中,原始图像组包括第一图像帧和第二图像帧。
48.根据第三方面,或者以上第三方面的任意一种实现方式,第一帧类型为i帧,第二帧类型为p帧或b帧。
49.根据第三方面,或者以上第三方面的任意一种实现方式,第一传输通道与第二传输通道工作于相同的信道。
50.第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
51.第四方面,本技术实施例提供一种数据传输方法。该方法包括:第二电子设备从第一传输通道上接收到第一电子设备发送的第一图像帧和第二图像帧;第二电子设备在接收到第一图像帧后,从第二传输通道上接收到第一电子设备发送的第一冗余图像帧;其中,第一冗余图像帧的图像数据与第一图像帧的图像数据相同,第一图像帧与第二图像帧的帧类型不同;第二电子设备在接收到第二图像帧后,从第三传输通道上接收到第一电子设备发送的第二冗余图像帧;第二电子设备丢弃第一冗余图像帧和第二冗余图像帧,其中,第二冗
余图像帧的图像数据与第二图像帧的图像数据相同。
52.根据第四方面,方法还包括:第二电子设备检测是否从第一传输通道上完整接收到第三图像帧;当检测到未完整接收到第三图像帧,第二电子设备显示从第四传输通道上接收到的第三冗余图像帧的图像数据;其中,第三图像帧与第一图像帧和第二图像帧的帧类型不同;第三冗余图像帧的图像数据与第三图像帧的图像数据相同。
53.根据第四方面,或者以上第四方面的任意一种实现方式,方法还包括:当检测到完整接收到第三图像帧,第二电子设备显示第三图像帧的图像数据;第二电子设备丢弃从第四传输通道上接收到的第三冗余图像帧。
54.根据第四方面,或者以上第四方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包;第二电子设备检测是否从第一传输通道上完整接收到第三图像帧,包括:第二电子设备从第一传输通道接收第一数据包;当在设定的第一时长内未接收到第二数据包,第二电子设备确定未完整接收到第三图像帧。
55.根据第四方面,或者以上第四方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包;第二电子设备检测是否从第一传输通道上完整接收到第三图像帧,包括:第二电子设备从第一传输通道接收第一数据包和第二数据包;第二电子设备根据第二数据包携带的循环冗余校验crc字段,对第一数据包和第二数据包进行完整性校验;当对第一数据包和第二数据包的完整性校验失败,第二电子设备确定未完整接收到第三图像帧。
56.根据第四方面,或者以上第四方面的任意一种实现方式,第三图像帧承载于第一数据包和第二数据包,第一数据包和第二数据包携带第一编号信息,第三冗余图像帧承载于第三数据包和第四数据包,第三数据包和第四数据包携带第一编号信息。
57.根据第四方面,或者以上第四方面的任意一种实现方式,方法还包括:第二电子设备从第一传输通道接收第一数据包;第二电子设备从第一传输通道接收第五数据包;第二电子设备根据第一数据包携带的第一编号信息与第五数据包携带的第二编号信息,确定未完整接收到第三图像帧;其中,第四图像帧与第一图像帧的帧类型相同;第四图像帧承载于第五数据包,第五数据包携带第二编号信息,第二编号信息与第一编号信息不同;其中,第四冗余图像帧的图像数据与第四图像帧的图像数据相同。
58.根据第四方面,或者以上第四方面的任意一种实现方式,第一数据包携带第一数量信息,第一数量信息用于指示承载第三图像帧的数据包共有两个,并且,第一数据包为承载第三图像帧的两个数据包中的第一个;第二数据包携带第二数量信息,第二数量信息用于指示承载第三图像帧的数据包共有两个,并且,第二数据包为承载第三图像帧的两个数据包中的第二个。
59.根据第四方面,或者以上第四方面的任意一种实现方式,第一数据包和第二数据包携带第一传输通道的通道标识信息。
60.根据第四方面,或者以上第四方面的任意一种实现方式,第一冗余图像帧的发送时刻与第一图像帧的发送完成时刻间隔为设定的第二时长,第二时长大于或等于0,且小于第一图像帧与第二图像帧之间的帧间间隔。
61.根据第四方面,或者以上第四方面的任意一种实现方式,方法还包括:第二电子设备与第一电子设备建立第一连接;第二电子设备通过第一连接,接收第一电子设备发送的
指示信息,指示信息用于指示第一传输通道用于传输原始图像组,第二传输通道用于传输第一帧类型的图像帧,第三传输通道用于传输第二帧类型的图像帧,其中,原始图像组包括第一图像帧和第二图像帧。
62.根据第四方面,或者以上第四方面的任意一种实现方式,第一帧类型为i帧,第二帧类型为p帧或b帧。
63.根据第四方面,或者以上第四方面的任意一种实现方式,第一传输通道与第二传输通道工作于相同的信道。
64.第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
65.第五方面,本技术实施例提供一种电子设备。该电子设备包括存储器和处理器,存储器与处理器耦合。存储器存储有程序指令,当程序指令由处理器执行时,使得电子设备执行第二方面或第二方面的任意可能的实现方式中的第一电子设备或第二电子设备所执行的数据传输方法。
66.第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
67.第六方面,本技术实施例提供一种芯片。该芯片包括一个或多个接口电路和一个或多个处理器;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,使得电子设备执行第二方面或第二方面的任意可能的实现方式中的第一电子设备或第二电子设备所执行的数据传输方法。
68.第六方面以及第六方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第六方面以及第六方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
69.第七方面,本技术实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
70.第六方面以及第六方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第六方面以及第六方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
71.第八方面,本技术实施例提供了一种计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
72.第八方面以及第八方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第八方面以及第八方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
73.图1为示例性示出的电子设备的结构示意图;
74.图2为示例性示出的通信模块的结构示意图;
75.图3为示例性示出的电子设备的软件结构示意图;
76.图4为示例性示出的应用场景示意图;
77.图5a~5b为示例性示出的分体式屏幕组合的示意图;
78.图6为示例性示出的主机与电视建立连接的流程示意图;
79.图7为示例性示出的资源分布图;
80.图8为示例性示出的图像组的示意图;
81.图9为示例性示出的图像帧的帧间间隔与数据量的示意图;
82.图10为示例性示出的主机端的图像帧处理示意图;
83.图11a~11c为示例性示出的数据包的格式示意图;
84.图12a~12b为示例性示出的图像帧的传输示意图;
85.图13为示例性示出的电视端的图像帧处理示意图;
86.图14为示例性示出的数据传输示意图;
87.图15a~15e为示例性示出的模块交互示意图;
88.图16为示例性示出的数据传输示意图;
89.图17为示例性示出的传输通道示意图。
具体实施方式
90.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
91.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
92.本技术实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
93.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
94.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
95.本技术实施例中的数据传输方法可应用于电子设备,例如手机、平板、笔记本、可穿戴设备、电视主机等与一个或多个电子设备,例如手机、平板、笔记本、电视(具体是指电视屏幕)等具有显示屏的电子设备之间的数据交互场景。
96.图1示出了本技术实施例中的电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件
和软件的组合中实现。
97.电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
98.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
99.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
100.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
101.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
102.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
103.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
104.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
105.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
106.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
107.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
108.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
109.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
110.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
111.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
112.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通
diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
120.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
121.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
122.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
123.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
124.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
125.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
126.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而使得电子设备100执行本技术实施例中的数据传输方法。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
127.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
128.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
129.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架
构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。
130.图3是本技术实施例的电子设备100的软件结构框图。
131.电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
132.应用程序层可以包括一系列应用程序包。
133.如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
134.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
135.如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器、编解码器(库)等。
136.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
137.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
138.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
139.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
140.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
141.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
142.编解码器,可以称为编解码库,用于对图像帧进行编码或解码。例如,编解码器可将图像进行编码,以生成图像帧,或者,将图像帧进行解码,获取到图像。
143.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
144.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
145.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
146.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库
(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
147.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
148.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
149.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
150.2d图形引擎是2d绘图的绘图引擎。
151.内核层是硬件和软件之间的层。内核层至少包含显示驱动,wi-fi驱动,音频驱动,传感器驱动和冗余模块等。在本技术实施例中,冗余模块可用于对图像帧进行复制、判断是否丢包等处理。需要说明的是,应用程序层框架层和内核层中的各模块的名称和数量进行示意性举例,本技术不做限定。进一步需要说明的是,本技术实施例中涉及的编解码器和冗余模块也可以在其它层,本技术不做限定。
152.如图4为示例性示出的一种应用场景示意图,参照图4,示例性的,应用场景中包括主机(也可以称为电视主机)和分体式屏幕组合,其中,分体式屏幕组合包括电视1、电视2、电视3、电视4。需要说明的是,电视也可以称为屏幕、智慧屏或大屏,本技术不做限定。
153.可以理解的是,图4所示的应用场景可以为游戏场景、巨幕观影场景等,示例性的,主机可以包括但不限于游戏机、机顶盒、数字电视(digital television,dtv)或者家庭影院设备等。
154.可选地,应用场景中还可以包括其它输出设备或输入设备,例如音箱和麦克风等(图中未示出),其它输出设备或输入设备可与主机通过无线或有线的方式进行数据交互,本技术不做限定。
155.需要说明的是,图4中所示的应用场景中的电子设备的类型、数量以及布局方式仅为示意性举例,本技术不做限定。举例说明,如图5a为示例性示出的分体式屏幕组合的示意图,参照图5a,示例性的,在游戏场景中,可以使用三个屏幕进行组合,以显示游戏场景中的游戏画面,如:游戏画面(左)、游戏画面(中)以及游戏画面(右)。另外,图5b还示出了另一种分体式屏幕组合的示意图,参照图5b,示例性的,在巨幕观影场景中,还可以使用四个屏幕进行组合,以显示该巨幕观影场景中的电影画面等,如:电影画面(左上)、电影画面(右上)、电影画面(左下)以及电影画面(右上)。
156.需要说明的是,图4和图5a~图5b中均是以分体式屏幕组合中的各屏幕显示不同的图像为例,在其它实施例中,分体式屏幕组合中的部分屏幕或全部屏幕还可以显示相同的图像,本技术不做限定。
157.示例性的,在图4所示的应用场景中,示例性的,主机可用于获取图像,并将图像进行编码后,通过无线电磁波将编码后的图像帧传输至电视(例如电视1~4)。电视可对接收到的图像帧进行解码,得到对应的图像,并在屏幕上显示图像。可选地,主机可通过wi-fi连接与路由器(图中未示出)进行数据交互,以通过路由器从服务器端下载图像或数据。可选地,主机还可以与其它电子设备,例如手机通过wi-fi连接(例如p2p连接)进行数据交互,以从手机端接收图像或数据。
158.示例性的,用户还可以通过隔空手势、遥控器或电子设备(例如手机)对电视播放的内容进行控制,举例说明,若电视1~电视4当前正在播放视频,用户可通过遥控器调节视
频播放进度。主机可响应于接收到的用户操作,执行相应的动作,即调节视频播放进度,例如,将对应于调节后的进度的图像发送至电视1~电视4。
159.示例性的,若主机与电视1~电视4之间的无线传输过程中的时延较大,造成电视屏幕上显示的图像的时刻与用户实际操作时刻之间的时延较大,用户会明显感知到操作时延,例如,若主机与电视之间的传输时延较大,则用户通过遥控器指示调节进度后,可能在间隔1s后,电视1~电视4才显示用户调节的进度对应的画面,从而影响用户体验。
160.此外,若主机与电视之间在无线传输过程中出现丢包的问题,由于流媒体编码算法的特点(该特点将在下文中结合图像帧进行具体说明),传输过程中丢包将会导致电视花屏或冻屏,影响用户观影体验。
161.本技术实施例提供一种数据传输方法,电子设备可通过在多个传输通道上,以延时冗余传输的传输方式将图像帧发送至其它电子设备,从而有效降低传输时延和丢包对显示的视频画面的影响,进而提升用户使用体验。
162.下面结合具体实施例,对本技术实施例中的数据传输方法进行详细说明。
163.结合图4所示的应用场景,示例性的,主机与电视(包括电视1~4)进行数据交互之前,主机分别与电视1~4建立wi-fi连接,并通过建立的wi-fi连接向电视1~4传输控制信息,控制信息用于指示主机在多条通道上的图像帧的传输方式。
164.下面以主机基于无线局域网(wireless local area networks,wlan)协议与电视建立wi-fi连接为例进行说明,在其他实施例中,主机还可以基于其它协议,例如私有协议或者nan(neighbor aware network,邻近感知网络)协议、蓝牙协议等与电视建立wi-fi连接或蓝牙连接,本技术不做限定。
165.在本技术实施例中,主机与电视基于wlan协议建立wi-fi连接时,采用sta-ap模式,示例性的,主机的作用类似于sta-ap中的站点(station,sta),所谓的站点,是指具有wi-fi通信功能的,并且连接到无线网络中的终端设备(电子设备),站点可以支持802.11be、802.11ax、802.11ac、802.11n、802.11g、802.11b及802.11a等802.11家族的多种wlan制式。
166.电视的作用类似于sta-ap中的接入点,接入点可选地为带有wi-fi芯片的终端设备(电子设备)。例如,接入点可以为支持802.11be制式的设备。接入点也可以为支持802.11be、802.11ax、802.11ac、802.11n、802.11g、802.11b及802.11a等802.11家族的多种wlan制式的设备。
167.需要说明的是,本技术实施例中的电子设备通常为支持802.11系列标准的终端产品,从802.11a经802.11g、802.11n、802.11ac到802.11ax的演进过程中,可用频段包括2.4吉赫(ghz)和5ghz。随着开放的频段越来越多,802.11所支持的最大信道带宽从20兆赫(mhz)扩展到40mhz再扩展到160mhz。2017年,美国联邦通信委员会(federal communications commission,fcc)开放了一段新的免费频段6ghz(5925-7125mhz),802.11ax标准工作者在802.11ax项目授权申请书(project authorization requests,par)中把802.11ax设备工作范围从2.4ghz,5ghz拓展到2.4ghz,5ghz和6ghz。
168.示例性的,本技术实施例中均以主机和电视1~4支持5ghz频段为例进行说明,即,主机和电视1~4之间的通信均是在5ghz频段的信道上进行的。在其它示例中,主机和电视1~4还可以支持2.4ghz频段,或者,2.4ghz频段和5ghz频段,方法均与本技术实施例中的类
似,本技术不再赘述。
169.如图6为示例性示出的主机与电视1和电视2基于wlan协议建立wi-fi连接并传输控制信息的流程示意图,参照图6,具体包括:
170.s101,主机向电视1发送probe request(探测请求)消息。
171.s102,电视1向主机发送probe response(探测响应)消息。
172.示例性的,在本技术实施例中,主机和电视可工作在特定信道,例如5gh频段的信道36,即在扫描阶段,主机在信道36上发送probe request消息,电视1可在信道36上返回probe response消息,而无需执行全信道扫描,以节省耗时,其中,全信道扫描即是指主机在2.4ghz频段和/或5ghz频段上的所有信道上进行扫描,即在所有信道上发送probe request消息。
173.为使读者更好地理解本技术中的频段与信道之间的对应关系,下面结合图7对频段与信道的对应关系进行简单说明。如图7为示例性示出的5ghz的资源分布图,其中,5ghz的频段为5170mhz~5835mhz,可用信道包括信道36~信道165,各信道的信道带宽为20mhz,图7中的阴影部分为示例性示出的中国目前可用的5ghz信道,包括信道36~信道64以及信道149~信道165。需要说明的是,2.4ghz的可用信道为信道1~信道13,其资源分布与5ghz的信道类似,此处不再赘述。
174.s103,主机与电视1进行鉴权处理。
175.s104,主机与电视1进行关联处理。
176.s105,主机与电视1进行四次握手(4-way handshake)阶段。
177.示例性的,主机在选网阶段选定电视1后,可执行s103~s105,实际上,s103~s105中,主机与电视1将进行多次信令交互,具体细节可参照802.11协议中的详细描述,本技术中不再赘述。
178.至此,主机与电视1成功建立wi-fi连接。需要说明的是,在本技术实施例中以主机与电视完成四次握手后为wi-fi连接建立完成的节点为例进行说明,在其他实施例中,也可以以主机接收到电视发送的probe response消息后,即可认为主机与电视建立连接,本技术不做限定。
179.s106,主机向电视1发送控制信息。
180.示例性的,主机与电视1执行四次握手阶段后,确定与电视1成功建立wi-fi连接,并基于wi-fi连接向电视1发送控制信息。示例性的,所述控制信息包括但不限于:传输通道的标识信息、传输通道所属信道、传输通道上传输的图像帧类型等信息。
181.示例性的,在本技术实施例中,以主机通过广播的方式实现延时冗余传输为例,其中,主机的广播通道包括4个物理通道(即传输通道),每个物理通道对应有标识信息,分别为物理通道1、物理通道2、物理通道3和物理通道4。其中,物理通道1用于传输原始视频流(也可以称为原始图像组),即包括主机生成的所有图像帧的视频流,物理通道2用于延时冗余传输i帧对应的数据包,物理通道3用于延时冗余传输b帧对应的数据包,物理通道4用于延时冗余传输p帧对应的数据包,并且,4个物理通道工作于信道40。相应的,本技术实施例中的控制信息包括上述信息,即:物理通道1的标识信息(即物理通道1),物理通道1与原始图像帧的对应关系(即用于指示物理通道1用于传输所有类型的帧,包括i帧、p帧和b帧)、物理通道2的标识信息(即物理通道2)、物理通道2与i帧的对应关系(即用于指示物理通道2用
于延时冗余传输i帧)、物理通道3的标识信息(即物理通道3),物理通道3与b帧的对应关系(即用于指示物理通道3用于延时冗余传输b帧)、物理通道4的标识信息(即物理通道4),物理通道4与p帧的对应关系(即用于指示物理通道4用于延时冗余传输p帧)以及工作信道的信号序号(信道40)(也可以是信道40的中心频率信息)。
182.可选地,主机可向电视1发送两次或两次以上控制信息,以确定电视1成功接收控制信息,并在多次发送后,断开与电视1之间的wi-fi连接。可选地,主机可在接收到电视1发送的确认字符(acknowledge character,ack)消息后,断开与电视1之间的wi-fi连接,其中,ack消息即用于指示电视1成功接收到控制信息。
183.示例性的,电视1接收到控制信息后,可对信道40进行监听,以接收主机在信道40的4个物理通道上广播的数据包。
184.主机与电视1断开连接后,可与电视2建立wi-fi连接,继续参照图6,具体流程包括:
185.s201,主机向电视2发送probe request消息。
186.s202,电视2向主机发送probe response消息。
187.s203,主机与电视2进行鉴权处理。
188.s204,主机与电视2进行关联处理。
189.s205,主机与电视2进行四次握手阶段。
190.s206,主机向电视2发送控制信息。
191.可选地,电视2可与电视1工作在同一个信道,也可以在不同信道,例如电视2工作在信道44,相应的,主机与电视2建立wi-fi连接时,主机在信道44上发送probe request消息。
192.主机与电视2建立wi-fi连接以及传输控制信息的描述可参照主机与电视1建立连接和传输控制信息的相关描述,此处不再赘述。
193.示例性的,主机与电视2传输控制信息后,主机断开与电视2之间的wi-fi连接,并与电视3建立连接并传输控制信息,随后,主机断开与电视3之间的wi-fi连接,并与电视4建立连接并传输控制信息,并在控制信息传输完成后,断开与电视4之间的wi-fi连接。主机与电视3和电视4之间的连接建立和数据交互可参照图6,此处不再赘述。
194.需要说明的是,在本技术实施例中,均以主机为sta,即连接建立发起端为例进行说明,在其他实施例中,主机也可以作为ap,电视作为sta,即由电视作为连接建立发起端,例如发送probe request消息,本技术不做限定。
195.具体的,主机向电视1~4传输控制信息后,主机即可按照控制信息指示的传输方式,在对应通道上延时冗余传输指定类型的图像帧。
196.为使本领域人员更好地理解本技术实施例中的图像帧传输方式,在说明具体传输方式之前,首先对图像帧的相关概念进行简单介绍。
197.在本技术实施例中,主机获取到图像(可从服务器或电子设备获取)后,可将图像进行编码,以提升压缩比。编码方式可以包括但不限于:h.264或hevc(high efficiency video coding,高效率视频编码)等。
198.编码后的多个图像帧可构成gop(group of pictures,图像组)。可选地,gop中可以包括一个或多个i帧,以及一个或多个b帧和p帧。如图8为示例性示出的gop的示意图,参
照图8,示例性的,gop中包括i1帧、b1帧、b2帧、p1帧、b3帧、b4帧、p2帧、b5帧、b6帧、i2帧、b7帧、b8帧、p3帧。需要说明的是,图8中的gop中的图像帧的类型、数量和顺序仅为示意性举例,本技术不做限定。
199.继续参照图8,示例性的,i帧可以称为完整帧,或者独立解码帧,即i帧无需依赖其它帧,可独立进行解码。通常情况下,gop的第一个帧为i帧。b帧和p帧可以称为帧间预测帧,b帧的解码依赖于其前面和后面最近的一个i帧或p帧,以b1帧为例,其解码需要依赖于i1帧和p1帧。p帧的解码依赖于其前面最近的一个i帧或p帧,以p1帧为例,其解码需要依赖于i1帧,以p2帧为例,其解码需要依赖于p1帧。由于帧间预测帧均需要依赖于前面,或者前面和后面的帧才能完成解码,因此,若gop中的i帧或p帧在传输过程中丢失,则会导致依赖于i帧和p帧解码的帧以及后续的帧均无法正确解码,导致电视播放画面花屏。若gop中的b帧丢失,将会导致b帧对应的图像缺失,造成画面冻屏。
200.如图9为示例性示出的图像帧的帧间间隔与数据量的示意图,参照图9,示例性的,以图8中的部分图像帧为例,其中,i1帧、b1帧、b2帧、p1帧、i2帧、p2帧的帧间间隔相同。示例性的,帧间间隔t均为16.7ms。需要说明的是,帧间间隔的大小取决于电子设备的采样率,例如,电子设备的采样率为60fps(frames per second,每秒传输帧数),即电子设备每1s获取60个图像,每个图像的帧间间隔即为16.7ms。进一步需要说明的是,帧间间隔也可以理解为显示时长,即电视在显示该图像帧对应的图像时,每个图像显示的时长均为16.7ms。需要说明的是,本技术实施例中的帧间间隔仅为示意性举例,基于电子设备的采样率不同,帧间间隔也不相同,本技术不做限定。
201.示例性的,gop中的各图像帧所包含的数据量(单位为字节(byte))可以相同也可以不同。举例说明,继续参照图9,i1帧的数据量为500kb,b1帧的数据量为100kb,b2帧的数据量为80kb,p1帧的数据量为200kb,i2帧的数据量为600kb,p2帧的数据量为300kb。需要说明的是,上述数据量仅为示意性举例,本技术不做限定。
202.下面对本技术中的主机端对图像帧的处理和传输过程进行详细说明:
203.主机端对图像进行编码后,获取到如图8所示的gop。主机可对gop中的图像帧进行封装,以生成数据包。如图10为示例性示出的主机端对图像帧处理的示意图,参照图10,以gop中的i1帧为例,示例性的,主机基于i1帧,生成数据包1和数据包1’。举例说明,主机可将i1帧进行复制,将其中一个i1帧进行封装,生成数据包1,将另一个i1帧进行封装,生成数据包1’。
204.如图11a为示例性示出的数据包的格式示意图,参照图11a,示例性的,数据包包括帧控制字段、帧体字段和crc(cyclic redundancy check,循环冗余校验)等字段。示例性的,帧控制字段包括但不限于通道标识字段和数据包序号/个数字段,其中,通道标识字段用于承载数据包所属的通道的通道标识,数据包序号/个数字段用于承载图像帧对应的数据包的总个数以及当前数据包的序号,举例说明,如上文所述,图像帧可以封装于多个数据包中,若i1帧封装于3个数据包,即数据包1a、数据包1b和数据包1c承载i1帧,数据包1a的数据包序号/个数字段包括“1/3”,即用于指示承载i1帧的数据包总共有3个,当前数据包(即数据包1a)为3个数据包中的第1个。帧体字段包括编号字段和图像帧字段等字段,其中,编号字段中包含数据包编号,用于指示数据包的生成顺序(或发送顺序)。图像帧字段包括图像帧对应的图像数据。需要说明的是,图11a中的各字段的名称及位置仅为示意性举例,本
申请不做限定。
205.举例说明,以图10中的数据包1和数据包1’为例,如图11b为示例性示出的数据包1的格式示意图,参照图11b,示例性的,数据包1中的帧控制字段中的通道标识字段携带“1”,用于指示传输数据包1的通道为物理通道1。数据包1中的帧体字段中的编号字段中包括“1”,用于指示数据包的编号为1,图像帧字段中包括i帧对应的图像数据。如图11c为示例性示出的数据包1’的格式示意图,参照图11c,示例性的,数据包1’中的帧控制字段中的通道标识字段携带“2”,用于指示传输数据包1’的通道为物理通道2。数据包1’中的帧体字段中的编号字段中包括“1”,用于指示数据包的编号为1,图像帧字段中包括i帧对应的图像数据。
206.需要说明的是,本技术实施例中均以一个图像帧封装为一个数据包,即一个数据包包含一个图像帧为例进行说明,在其他实施例中,主机可基于图像帧的数据量进行封装,例如将一个图像帧分装到多个数据包中,或者,将多个图像帧封装到同一个数据包中,本技术不做限定。
207.如图12a为示例性示出的图8中的gop中的部分图像帧的传输示意图,参照图12a,示例性的,主机与电视1采用采用mimo(multi input multi output,多输入多输出)方式进行数据交互,例如,主机包括天线1~天线4,通过天线1~天线4广播图像帧,例如,天线1对应物理通道1(也可以称为传输通道1),天线2对应物理通道2,天线3对应物理通道3,天线4对应物理通道4,如上文所述,天线1~4工作在同一个信道上(例如信道40),即,主机可通过在同一个信道上的不同物理通道传输数据。相应的,电视1包括天线5~天线8,通过天线5~天线8可接收天线1~天线4发送的数据。需要说明的是,本技术实施例中仅以主机与电视1之间的图像帧传输方式为例进行说明,主机与电视2~电视4之间的传输方式和主机与电视1之间的图像帧传输方式相同,其中,主机是以广播的方式在4条物理通道上发送数据包,因此,电视1~电视4均可通过各自的天线接收到主机的4个天线(即4条物理通道)发送的数据包。
208.继续参照图12a,示例性的,主机在传输gop中的图像帧之前,对gop中的各图像帧进行封装,具体描述可参照图10,此处不赘述。示例性的,主机将i1帧封装后,得到数据包1和数据包1’,将b1帧和b2帧封装后,得到数据包2和数据包2’,将p1帧封装后,得到数据包3和数据包3’,将b3帧和b4帧封装后,得到数据包4和数据包4’,将p2帧封装后,得到数据包5和数据包5’。需要说明的是,为区分原始数据包和以冗余方式发送的数据包(例如数据包1’),本技术实施例中将冗余发送的数据包称为冗余数据包。
209.示例性的,主机以天线1对应的物理通道1为主物理通道,即在物理通道1上传输原始视频流,也就是说将主机生成的所有图像帧对应的数据包,均在物理通道1上按序传输,例如,参照图12a,主机在物理通道1上传输数据包1~数据包5。需要说明的是,各物理通道上对应有相应的发送时隙和接收时隙,主机在发送数据包时,在对应的发送时隙上发送数据包,具体细节可参照通信协议中的时隙规则,本技术不做限定。
210.示例性的,物理通道2可用于延时冗余传输i帧。示例性的,物理通道2上i帧的冗余数据包(例如数据包1’)的发送时刻与物理通道1上i帧的数据包(例如数据包1)的发送完成时刻对齐。举例说明,参照图12a,主机在t1时刻发送i1帧对应的数据包1,i1帧的数据量对应的传输时长为(t2-t1),即,在t2时刻,i1帧发送完成,主机在t2时刻检测到i1帧(即数据
包1)发送完成,在t2时刻,主机在物理通道2上发送i1帧对应的数据包1’,以实现延时冗余传输i1帧。
211.示例性的,物理通道3可用于延时冗余传输b帧。示例性的,物理通道3上b帧的冗余数据包(例如数据包2’)的发送时刻与物理通道1上b帧的数据包(例如数据包2)的发送完成时刻对齐。举例说明,参照图12a,主机在t2时刻发送b1帧和b2帧对应的数据包2,b1帧和b2帧的数据量对应的传输时长为(t4-t2),即,在t4时刻,b2帧和b3帧发送完成,主机在t4时刻检测到b1帧和b2帧(即数据包2)发送完成,在t4时刻,主机在物理通道3上发送b1帧和b2帧对应的数据包2’,以实现延时冗余传输b1帧和b2帧。需要说明的是,本技术实施例中以b1帧和b2帧封装于同一个数据包(即数据包2或数据包2’)为例进行说明,在其他实施例中,b1帧和b2帧分别封装于不同的数据包中,示例性的,主机在t3时刻发送完成b1帧对应的数据包后,在t3时刻,在物理通道3上发送b1帧对应的另一个数据包(以下称为冗余数据包),并且,在t3时刻,主机在物理通道1上发送b2帧对应的数据包。一个示例中,若b1帧的数据量(即传输时长)大于b2帧的数据量,即,在b2帧对应的数据包传输完成后,b1帧的冗余数据包还未传输完成,可选地,主机可监测b1帧的冗余数据包的发送情况,在b1帧的冗余数据包发送完成后,在物理通道3上发送b2帧的冗余数据包。可选地,本技术实施例中还可以设置有物理通道5,该物理通道可以用于传输连续的相同类型的图像帧(可以是连续的p帧和/或b帧),以b1帧和b2帧为例,主机可将b1帧和b2帧分别封装于不同的数据包,并将b1帧的数据包在物理通道3上传输,将b2帧的数据包在物理通道5上传输。
212.示例性的,物理通道4可用于延时冗余传输p帧。示例性的,物理通道4上p帧的冗余数据包(例如数据包2’)的发送时刻与物理通道1上b帧的数据包(例如数据包2)的发送完成时刻对齐。参照图12a,示例性的,主机在t4时刻发送p1帧对应的数据包3,p1帧的数据量对应的传输时长为(t5-t6),即,在t5时刻,p1帧发送完成,主机在t5时刻检测到p1帧(即数据包3)发送完成,在t5时刻,主机在物理通道4上发送p1帧对应的数据包3’,以实现延时冗余传输p1帧。
213.示例性的,继续参照图12a,在t5时刻~t7时刻,主机在物理通道1上发送b3帧和b4帧对应的数据包4,并在t7时刻,主机在物理通道3上发送b3帧和b4帧对应的数据包4’。在t7~t8时刻,主机在物理通道1上发送p2帧对应的数据包5,在t8时刻,主机在物理通道4上发送p2帧对应的数据包5’。
214.需要说明的是,本技术实施例中的通道数量仅为示意性举例,在其它实施例中,可根据实际情况进行设置,举例说明,若图像帧包括n个类型的帧,例如i帧和p帧(即两种类型的帧),主机的传输通道数量可以为n 1个,即3个,其中一条传输原始图像帧,另一条用于延时冗余传输i帧,第三条用于延时冗余传输p帧。
215.进一步需要说明的是,本技术实施例中所述的传输通道上传输的图像帧类型仅为示意性举例,举例说明,物理通道2可以作为主传输信道,用于传输原始视频流,即数据包1~数据包5,物理通道1可用于传输i帧的冗余数据包,物理通道3可以用于传输p帧的冗余数据包,物理通道4可以用于传输b帧的冗余数据包,本技术不做限定。
216.在一种可能的实现方式中,主机可只通过一条物理通道(例如物理通道1)传输原始视频流,并在满足设定的冗余传输条件后,通过图12a所示的方式传输图像帧。可选地,设定的冗余传输条件可以为物理通道的通信质量参数小于阈值(可根据实际情况进行设置),
其中,通信质量参数包括但不限于以下至少之一:snr(signal noise ratio,信噪比)、rsrp(reference signal receiving power,参考信号接收功率)、rsrq(reference signal receiving quality,参考信号接收质量)、rssi(received signal strength indication,接收的信号强度指示)等。举例说明,电视1~4中的至少一个电视,可周期性地向主机发送参考信号,主机可基于接收到的参考信号,获取到当前的通信质量参数,具体获取方式可参照已有标准中的方式,本技术中不再赘述。示例性的,主机检测到获取到的物理通道1的通信质量参数小于阈值,主机与电视1~4重新执行图6中所示的wi-fi连接建立流程,以在连接建立成功后,向电视1~4分别发送更新的控制信息,更新的控制信息用于指示主机以图12a中的传输方式进行延时冗余传输,更新的控制信息包含的信息或参数可参照上文,此处不再赘述,从而实现一种动态传输方式,以在满足设定的冗余传输条件后,再以延时冗余传输的方式传输图像帧,进而降低设备功耗。可选地,主机在检测到获取到的物理通道1的通信质量参数小于阈值后,也可以通过当前物理通道1,即广播的方式,向电视1~4发送更新的控制信息,本技术不做限定。
217.在一种可能的实现方式中,参照图12a,在各物理通道未发送数据包的时间段(可称为空闲时间段),例如物理通道2的t1~t2时刻,物理通道3的t1~t5时刻等,空闲时间段可以用于传输其他数据或信令。举例说明,主机按照图12a的冗余传输方式进行传输的过程中,主机可在检测到各物理通道的通信传输质量参数在设定的时长内(例如30分钟内)大于或等于阈值,主机可取消一个或多个冗余通道(例如取消数据量较小的b帧所对应的传输通道,即物理通道3),需要说明的是,取消冗余通道可以理解为取消在冗余通道上的数据包传输,可选地,主机可在物理通道2(或其它物理通道上的空闲时间段)的空闲时间段发送更新的控制信息,以指示取消指定的冗余通道。
218.如图12b为示例性示出的干扰对数据传输的影响示意图,参照图12b,示例性的,主机以图12a所示的方式传输视频流的过程中,干扰源产生的干扰信号(如图12b中的阴影1201所示)对物理通道1上的p1帧对应的数据包3、物理通道2上传输的i1帧对应的数据包1’以及物理通道3上传输的b1帧和b2帧对应的数据包2’造成干扰,可能造成数据包丢失或损坏数据包的完整性。需要说明的是,干扰信号的干扰范围仅为示意性举例,本技术不做限定。
219.示例性的,本技术实施例中以p1帧对应的数据包3受到干扰信号干扰,在传输过程中丢失为例,参照图12b,示例性的,接收端检测到数据包3丢失后,接收端(例如电视1)仍可从物理通道3上获取到p1帧对应的数据包3’。
220.下面结合图13示出的接收端(例如电视1)的处理流程示意图,对接收端的处理流程进行详细说明,参照图13,具体包括:
221.s301,电视接收通道1传输的携带i帧的数据包。
222.示例性的,以i帧为例,电视可从通道1上接收携带i帧的数据包,可以是一个或多个数据包。
223.s302,电视判断是否正确接收i帧。
224.示例性的,电视可判断是否正确接收到i帧,可选地,判断依据包括:是否接收到携带有i帧的所有数据包(可以是一个,也可以是多个),并且,每个数据包均是完整数据包,即未丢失任何数据和字段。
225.可选地,若电视判断未正确接收到i帧,则执行s303。可选地,若电视判断正确接收到i帧,则执行s304。
226.s303,电视获取通道2上传输的携带i帧的冗余数据包。
227.示例性的,电视判断未正确接收到i帧,可从用于传输i帧的冗余数据包的通道上,例如通道2上,获取携带i帧的冗余数据包。
228.s304,电视显示i帧的图像。
229.示例性的,电视可从来自通道1的数据包,或者,来自通道2的数据包中获取到i帧,并对i帧进行解码,以及显示解码后获取到的图像。
230.需要说明的是,本技术实施例中仅以接收端对i帧的不同处理方式进行举例说明,在其他实施例中,通道1上的任一数据帧的数据包受到干扰的情况下,均可采用与本技术实施例中的接收端所执行的方法,本技术不再重复说明。
231.下面结合几个具体实施例,图13中的步骤进行详细说明。
232.如图14为示例性示出的数据传输方式,需要说明的是,为更好地说明接收端的处理方式,下面的实施例中仅以主机在传输通道上发送的携带i1帧的数据包、携带b1帧的数据包以及携带i1帧的冗余数据包为例进行说明,对于其他图像帧对应的数据包的处理可参照i1帧的处理,本技术中不再重复说明。
233.示例性的,如上文所述,图像帧可以承载与一个数据包也可以承载于多个数据包,本技术实施例中以i1帧承载于多个数据包为例进行说明,参照图14,示例性的,主机在t1时刻,在物理通道1(以下简称通道1)上发送数据包1a,并依次发送数据包1b和数据包1c,其中,数据包1a~1c中的每个数据包包含i1帧的部分数据,数据包1a中的数据包序号/个数字段携带“1/3”用于指示承载i1帧的数据包总共有3个,数据包1a为3个数据包中的第1个,数据包1b中的数据包序号/个数字段携带“2/3”,数据包1c中的数据包序号/个数字段携带“3/3”。需要说明的是,由于处理时延和/或传输时延的影响,各数据包在传输过程中之间可能存在一定的时延,也就是说,主机端发送数据包1a后,在发送完成时刻,即可发送数据包1b,但是在接收端,例如由于传输时延的影响,电视接收到数据包1a后,可能间隔一定时延(例如3ms)后接收到数据包1b。图14中的各数据包之间的时延仅为示意性举例,本技术不做限定。
234.示例性的,继续参照图14,主机在物理通道1上发送承载i1帧的数据包1a~1c后,在t2时刻,在通道2上发送承载i1帧的冗余数据包1’a~1’c。其中,数据包1’a与数据包1a对应,即帧体字段所包含的数据以及数据包序号/个数字段携带的信息相同,例如图像帧字段中所携带的数据相同。数据包1’b与数据包1b对应,数据包1’c与数据包1c对应。示例性的,数据包1a~1c以及数据包1’a~数据包1’c包含相同的编号,例如编号为“1”。示例性的,在本技术实施例中,以数据包1c和数据包1’c包含crc字段,数据包1a、数据包1b、数据包1’a和数据包1’b不包括crc字段为例进行说明,在其他实施例中,也可以每个数据包都包括crc字段,本技术不做限定。
235.继续参照图14,示例性的,主机在发送完数据包1c后,发送承载b1帧的数据包2,如上文所述,可选地由于处理时延和传输时延,数据包1c与数据包2在传输过程中存在时延(t3-t2)。需要说明的是,本技术仅以数据包1’a先于数据包2传输至电视为例进行说明,在其他实施例中,由于处理时延和传输时延不同,可选地数据包2和数据包1’a到达电视的时
刻一致,也可以数据包2先于数据包1’a到达,本技术不做限定。
236.结合图14,如图15a为示例性示出的模块交互示意图,参照图15a,示例性的,wi-fi驱动从通道1上接收到数据包1a、数据包1b和数据包1c,并将数据包1a~数据包1c输出至冗余模块。
237.示例性的,冗余模块确定正确接收到上一帧之后,启动定时器。在本技术实施例中,定时器计时时长为16.7ms,在其他实施例中,定时器计时时长也可以更长或更短,本技术不做限定。
238.示例性的,冗余模块启动定时器后,可接收到wi-fi驱动输入的数据包1a~1c。冗余模块对数据包1a~1c进行解封装,获取到各数据包携带的数据或信息。
239.参照图15a,示例性的,如上文所述,各数据包中的数据包序号/个数字段携带数据包总数和数据包的序号,冗余模块依次接收到数据包1a~1c,并对每个接收到的数据包解封装后,获取到各数据包的数据包序号/个数字段中携带的信息,冗余模块可基于各数据包的数据包序号/个数字段携带的信息,确定i1帧未丢包,也就是说,冗余模块在接收到数据包1c后,确定已接收到携带i1帧的3个数据包,定时器停止计时。
240.示例性的,冗余模块基于数据包1c的crc字段进行完整性校验,例如,确定接收到的各数据包中的数据是否有缺失或错误等。
241.示例性的,以冗余模块对数据包1c的crc字段的完整性校验成功为例,冗余模块可将解封装后获取到的各数据包中携带的i帧的数据,对应输出至编解码器。示例性的,编解码器可设置有缓存区域,缓存区域可用于存储冗余模块输入的图像帧。举例说明,缓存区域中可以以队列的形式缓存冗余模块输入的图像帧,假设队列中包括:i1帧、b1帧和b2帧。编解码器可基于图像帧的编码顺序从队列中依次提取需要的图像帧,并对图像帧进行解码,以及显示解码后得到的图像。
242.继续参照图15a,示例性的,冗余模块对数据包1a~1c进行完整性校验之后,可选地接收到wi-fi驱动从通道2上获取到的数据包1’a~1’c。示例性的,冗余模块已确定i1帧正确接收,即数据包1a~1c完整接收(包括未丢包且完整性校验成功),冗余模块可选地直接丢弃i1帧的冗余数据包,即数据包1’a~1’c。可选地,冗余模块也可以缓存i1帧的冗余数据包,并设置老化时长(例如30ms),即每30ms清除一次缓存。
243.可选地,若冗余模块在完整性校验过程中接收到wi-fi驱动输入的数据包1’a~1’c,则冗余模块缓存数据包1’a~1’c,并在完整性校验成功后,丢弃数据包1’a~1’c。
244.可选地,冗余模块对数据包1a~1c进行完整性校验过程中接收到wi-fi驱动输入的数据包1’a,在完整性校验成功后,冗余模块可丢弃数据包1’a,并指示wi-fi驱动不再接收数据包1’b和数据包1’c。
245.可选地,冗余模块对数据包1a~1c进行完整性校验成功后,冗余模块可指示wi-fi驱动取消对通道2的监听,即不再接收数据包1’a~1’c,直至下一次在接收到i帧,再对通道2进行监听。
246.结合图14,如图15b为示例性示出的模块交互示意图,参照图15b,示例性的,wi-fi驱动从通道1上接收到数据包1a和数据包1c,其中,数据包1b可选地为在传输过程中受到干扰后丢失。示例性的,wi-fi驱动将数据包1a和数据包1c输出至冗余模块。
247.示例性的,冗余模块确定正确接收到上一帧之后,启动定时器。在本技术实施例
中,定时器计时时长为16.7ms,在其他实施例中,定时器计时时长也可以更长或更短,本技术不做限定。
248.示例性的,冗余模块启动定时器后,可接收到wi-fi驱动输入的数据包1a和数据包1c。冗余模块对数据包1a和数据包1c进行解封装,获取到各数据包携带的数据或信息。
249.参照图15a,示例性的,如上文所述,各数据包中的数据包序号/个数字段携带数据包总数和数据包的序号,冗余模块接收到数据包1a,对数据包1a进行解封装后,获取到其携带的数据和信息,其中包括数据包1a中的数据包序号/个数字段携带的信息“1/3”。示例性的,冗余模块接收到数据包1c,对数据包1c进行解封装后,获取到其携带的数据和信息,其中包括数据包1c中的数据包序号/个数字段携带的信息“3/3”。冗余模块即可确定i1帧对应的3个数据包中的第2个数据包(即数据包1b)丢失,定时器停止计时。
250.示例性的,冗余模块启动定时器,可选地,该定时器的时长可以为16.7ms,也可以为其它更短或更长的时长,本技术不做限定。示例性的,wi-fi驱动从通道2上接收到数据包1’a~数据包1’c,wi-fi驱动将数据包1’a~数据包1’c输出至冗余模块。需要说明的是,wi-fi驱动可能是在冗余模块启动定时器之前或之后接收到数据包1’a~1’c的,本技术不做限定。
251.示例性的,冗余模块接收到数据包1’a~1’c后,对数据包1’a~1’c进行解封装,并缓存解封装后的数据包1’a~1’c。
252.继续参照图15b,示例性的,冗余模块接收到数据包1c后,确定已接收到i1帧对应的3个冗余数据包,包括数据包1’a~1’c,定时器停止计时。冗余模块可基于数据包1’c的crc字段进行完整性校验,具体细节可参照图15a中的相关描述,此处不再赘述。示例性的,以冗余模块对数据包1’c的完整性校验成功为例进行说明,冗余模块可将获取到的i1帧,即冗余数据包1’a~1’c中携带的i1帧输出至编解码器,其它未描述部分可参照图15a中的相关描述,此处不再赘述。
253.在一种可能的实现方式中,冗余模块也可以从缓存的数据包1’a~1’c中,仅提取与丢失的数据包,即数据包1b对应的数据包(数据包1’b),并基于数据包1a、数据包1’b和数据包1c获取到i1帧,并输出至编解码器。
254.结合图14,如图15c为示例性示出的模块交互示意图,参照图15c,示例性的,wi-fi驱动从通道1上接收到数据包1a和数据包1b,其中,数据包1c可选地为在传输过程中受到干扰后丢失。示例性的,wi-fi驱动将数据包1a和数据包1b输出至冗余模块。
255.示例性的,冗余模块确定正确接收到上一帧之后,启动定时器。在本技术实施例中,定时器计时时长为16.7ms,在其他实施例中,定时器计时时长也可以更长或更短,本技术不做限定。
256.示例性的,冗余模块启动定时器后,可接收到wi-fi驱动输入的数据包1a和数据包1b。冗余模块对数据包1a和数据包1b进行解封装,获取到各数据包携带的数据或信息。
257.参照图15c,示例性的,由于数据包1c丢失,在定时器结束之前,冗余模块只接收到数据包1a和数据包1b,并可基于数据包1a和数据包1b的数据包序号/个数字段携带的信息确定,已接收到i1帧对应的3个数据包中的第1个数据包和第2个数据包,未接收到第3个数据包,即数据包1c。冗余模块确定i1帧传输不完整,即存在丢包,定时器结束计时。
258.示例性的,冗余模块启动另一定时器,可选地,该定时器的时长可以为16.7ms,也
可以为其它更短或更长的时长,本技术不做限定。
259.示例性的,wi-fi驱动从通道2上接收到数据包1’a~数据包1’c,wi-fi驱动将数据包1’a~数据包1’c输出至冗余模块。需要说明的是,wi-fi驱动可能是在冗余模块启动定时器之前或之后接收到数据包1’a~1’c的,本技术不做限定。
260.示例性的,冗余模块接收到数据包1’a~1’c后,对数据包1’a~1’c进行解封装,并缓存解封装后的数据包1’a~1’c。
261.继续参照图15c,示例性的,冗余模块接收到数据包1c后,确定已接收到i1帧对应的3个冗余数据包,包括数据包1’a~1’c,定时器停止计时。冗余模块可基于数据包1’c的crc字段进行完整性校验,具体细节可参照图15a中的相关描述,此处不再赘述。示例性的,以冗余模块对数据包1’c的完整性校验成功为例进行说明,冗余模块可将获取到的i1帧,即冗余数据包1’a~1’c中携带的i1帧输出至编解码器,其它未描述部分可参照图15a中的相关描述,此处不再赘述。
262.结合图14,如图15d为示例性示出的模块交互示意图,参照图15d,示例性的,wi-fi驱动从通道1上接收到数据包1a、数据包1b和数据包1c,并将数据包1a~数据包1c输出至冗余模块。
263.示例性的,冗余模块确定正确接收到上一帧之后,启动定时器。在本技术实施例中,定时器计时时长为16.7ms,在其他实施例中,定时器计时时长也可以更长或更短,本技术不做限定。
264.示例性的,冗余模块启动定时器后,可接收到wi-fi驱动输入的数据包1a~1c。冗余模块对数据包1a~1c进行解封装,获取到各数据包携带的数据或信息。
265.参照图15d,示例性的,如上文所述,各数据包中的数据包序号/个数字段携带数据包总数和数据包的序号,冗余模块依次接收到数据包1a~1c,并对每个接收到的数据包解封装后,获取到各数据包的数据包序号/个数字段中携带的信息,冗余模块可基于各数据包的数据包序号/个数字段携带的信息,确定i1帧未丢包,也就是说,冗余模块在接收到数据包1c后,确定已接收到携带i1帧的3个数据包,定时器停止计时。
266.示例性的,冗余模块基于数据包1c的crc字段进行完整性校验,在本实施例中,以冗余模块对数据包1c的完整性校验失败为例,例如,数据包1c(也可以是数据包1a和/或数据包1b)中的部分数据错误。
267.示例性的,冗余模块启动另一定时器,可选地,该定时器的时长可以为16.7ms,也可以为其它更短或更长的时长,本技术不做限定。
268.示例性的,wi-fi驱动从通道2上接收到数据包1’a~数据包1’c,wi-fi驱动将数据包1’a~数据包1’c输出至冗余模块。需要说明的是,wi-fi驱动可能是在冗余模块启动定时器之前或之后接收到数据包1’a~1’c的,本技术不做限定。
269.示例性的,冗余模块接收到数据包1’a~1’c后,对数据包1’a~1’c进行解封装,并缓存解封装后的数据包1’a~1’c。
270.继续参照图15d,示例性的,冗余模块接收到数据包1c后,确定已接收到i1帧对应的3个冗余数据包,包括数据包1’a~1’c,定时器停止计时。冗余模块可基于数据包1’c的crc字段进行完整性校验,具体细节可参照图15a中的相关描述,此处不再赘述。示例性的,以冗余模块对数据包1’c的完整性校验成功为例进行说明,冗余模块可将获取到的i1帧,即
冗余数据包1’a~1’c中携带的i1帧输出至编解码器,其它未描述部分可参照图15a中的相关描述,此处不再赘述。
271.结合图14,如图15e为示例性示出的模块交互示意图,参照图15e,示例性的,wi-fi驱动从通道1上接收到数据包1a和数据包2,其中,数据包1b和数据包1c可选地为在传输过程中受到干扰后丢失。示例性的,wi-fi驱动将数据包1a和数据包2输出至冗余模块。
272.示例性的,冗余模块接收到wi-fi驱动输入的数据包1a和数据包2。冗余模块对数据包1a和数据包2进行解封装,获取到各数据包携带的数据或信息,其中包括各数据包携带的编码,例如,数据包1a携带的编码为“1”,数据包2携带的编码为“2”。
273.参照图15e,示例性的,冗余模块获取到各数据包携带的编码,可确定数据包2与数据包1a携带的编码不同,冗余模块可进一步确定i1帧的部分数据包丢失。
274.示例性的,wi-fi驱动从通道2上接收到数据包1’a~数据包1’c,wi-fi驱动将数据包1’a~数据包1’c输出至冗余模块。需要说明的是,在图15e所示的示例中,冗余模块还接收到数据包2,冗余模块在执行图15e中的步骤的同时,还会并行处理数据包2,示例性的,冗余模块对数据包2进行完整性校验,可选地冗余模块确定数据包2的完整性校验成功,即正确接收到b1帧,冗余模块将b1帧输出至编解码器。
275.示例性的,冗余模块接收到数据包1’a~1’c后,对数据包1’a~1’c进行解封装,并缓存解封装后的数据包1’a~1’c。
276.继续参照图15e,示例性的,冗余模块接收到数据包1c后,确定已接收到i1帧对应的3个冗余数据包,包括数据包1’a~1’c,定时器停止计时。冗余模块可基于数据包1’c的crc字段进行完整性校验,具体细节可参照图15a中的相关描述,此处不再赘述。示例性的,以冗余模块对数据包1’c的完整性校验成功为例进行说明,冗余模块可将获取到的i1帧,即冗余数据包1’a~1’c中携带的i1帧输出至编解码器,其它未描述部分可参照图15a中的相关描述,此处不再赘述。
277.需要说明的是,如上文所述,编解码器可设置有缓存队列,示例性的,在图15e所示的示例中,编解码器可能先接收到b1帧,而后接收到i1帧,在该情况下,队列中的图像帧顺序为b1帧-i1帧,需要说明的是,队列中的顺序不影响编解码器解码顺序,也就是说,编解码器可基于图像帧的顺序(接编码顺序)进行解码并输出至上层应用(例如视频应用),例如,编解码器基于图像帧的顺序,从队列中提取i1帧,对i1帧进行相应处理后,再从队列中提取b1帧。
278.综上,在本技术实施例中,由于数据包1’a~1’c是通过延时的方式传输的,一般情况下,数据包1a~1c中的至少一个数据包受到干扰后,由于数据包1’a~1’c与数据包1a~1c之间的发送时间存在时间差,相应的,数据包1’通常情况下不会受到干扰,所以,即使数据包包1a~1c中的任一数据包丢失或者数据缺失,冗余模块仍然可从其他物理通道(例如物理通道2上)获取到携带i1帧的数据包1’a~1’c,并获取到i1帧。并且,由于任意一个冗余数据包与对应的原始数据包之间的接收时间差最大仅为一个i帧的传输时长,因此,即使原始数据包丢失或损坏,电视从获取到冗余数据包到显示冗余数据包对应的图像之间的时延非常小,用户将不会感知到该时延,以提升用户使用体验。
279.需要说明的是,如上文所述,电视1~电视4所显示的图像可能不相同,示例性的,以电视1为例,电视1的上层应用接收到编解码器输入的图像后,可进行相应处理,例如对图
像进行切割,以显示切割后的部分图像。
280.在一种可能的实现方式中,主机在延时冗余发送的过程中,可设置延时发送间隔td,如图16为示例性示出的设置延时间隔td的数据传输方式示意图,参照图16,示例性的,主机在t2时刻发完完成数据包1后,可启动定时器,定时器计时时长为td(即t2时刻~t3时刻)。可选地,定时器计时时长td大于0小于帧间间隔(16.7ms)。示例性的,定时器计时结束(即t3时刻),主机在t3时刻发送i1帧的冗余数据包,即数据包1’,其它帧的冗余数据包均可以设置td,与i1帧的数据包延时冗余发送方式相同,此处不赘述。需要说明的是,延时发送间隔td的大小可根据网络情况、主机的处理能力以及接收端的处理能力设置。举例说明,主机在发送数据包1后,由于其处理能力限制,可能存在处理时延,例如,在延时10ms~20ms后才发送冗余数据包1’,该延时对于接收端而言是不可确定的,例如,接收端可能会误判为数据包丢失,因此,由于网络或发送端的处理时延不确定性,可能导致接收端无法确定是否在冗余通道上接收到冗余数据包。相应的,在本技术实施例中,主机和接收端可协商td,示例性的,在控制信息中可携带td,接收端即可在接收到物理通道1上的数据包后,在间隔td后,在对应的冗余通道上接收到冗余数据包。
281.在另一种可能的实现方式中,以i1帧为例,主机可在i1帧的原始数据包发送完成之前发送i1帧的冗余数据包,也就是说,i1帧的冗余数据包的传输时刻与i1帧的原始数据包的传输时刻可以部分重叠,可选地可用于抵消传输时延,也就是说,主机可提前发送冗余数据包,以使得接收端接收到原始数据包的时刻与冗余数据包的到达时刻是相同的。
282.在又一种可能的实现方式中,电子设备(例如主机)还可以采用802.11ax中的ofdma(orthogonal frequency division multiple access,正交频分多址)方式传输图像帧和冗余图像帧,如图17为示例性示出的ofdma模式的传输通道示意图,参照图17,示例性的,主机在信道40(信道的概念可参照上文)上采用ofdma方式,主机可将信道40划分为4个子信道,包括ofdma子信道1、ofdma子信道2、ofdma子信道3和ofdma子信道4,每个子信道所占带宽可以相同也可以不相同,本技术不做限定。主机可在4个子信道以广播的方式,按照本技术实施例中所述的延时冗余传输方式,将图像帧发送至电视1~4,具体传输方式与图12a中的描述类似,此处不再赘述。
283.需要说明的是,本技术实施例中的数据传输方法还可以应用于投屏场景中,举例说明,手机可将投屏图像按照本技术实施例中所述的延时冗余传输的方式,分别传输至电视、平板和笔记本。可选地,手机、平板和笔记本可选择性地监听对应的物理通道,举例说明,手机按照图12a中的方式传输投屏图像帧,例如图像帧对应的图像为手机的显示界面中的至少部分界面,具体传输方式和接收端的处理方式可参照上文,此处不再赘述。可选地,电视、平板和笔记本可以对不同的冗余通道(例如物理通道2~4)进行监听,举例说明,电视可以监听4路物理通道(包括物理通道1~4),以接收4路物理通道上传输的数据包和冗余数据包,平板和笔记本可以监听物理通道1~3,以接收物理通道1~3上传输的数据包和冗余数据包。
284.在一种可能的实现方式中,以手机和电视为例,在手机和电视的芯片能力支持的情况下,手机和电视可采用d2d(device-to-device,终端直通)通信方式进行数据交互,即手机和电视建立并保持多路wi-fi连接,手机可通过电视之间的多路wi-fi连接,按照本技术实施例中所涉及的延时冗余传输方式向电视传输图像帧。
285.在另一种可能的实现方式中,若出现以下任一种情况,例如主机关机、电视关机、主机待机等,主机不再发送图像帧和/或电视不再监听广播信道。
286.需要说明的是,本技术实施例中仅以图像帧的传输方式为例进行说明,在其它实施例中,其他类型的数据或信令也可以按照本技术实施例中内的延时冗余传输方式进行传输,以保证数据传输的稳定性。
287.可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
288.本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的数据传输方法。
289.本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据传输方法。
290.另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的数据传输方法。
291.其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
292.通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
293.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
294.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
295.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
296.本技术各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本技术的范围之内。
297.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
298.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献