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

传输数据的方法和装置与流程

2022-02-22 01:59:45 来源:中国专利 TAG:


1.本技术实施例涉及通信领域,并且更具体地,涉及传输数据的方法和装置。


背景技术:

2.虚拟现实技术(virtual reality,vr)囊括计算机、电子信息、仿真技术于一体,其基本实现方式是计算机模拟虚拟环境从而给人以环境沉浸感。随着社会生产力和科学技术的不断发展,各行各业对vr技术的需求日益旺盛。vr技术也取得了巨大进步,并逐步成为一个新的科学技术领域。
3.为了满足vr视频,特别是高清vr全景视频的传输。提出了基于分块的自适应传输(tile-wise streaming,tws)技术,即将视频的画面(例如,vr全景视频中用户视角对应的画面)划分为多个分块(tile)。在播放vr视频时,客户设备从服务器获取多个流,每个流对应一个tile,从而,通过多个流中的数据来共同恢复该画面。
4.一方面,多个流相互之间存在资源争取,导致各流的传输进度的不一致,即,如果某一个或多个流的传输出现延迟,及时其他流未发生延迟,仍然会影响画面的恢复。另一方面,如果某一个或多个流的丢包情况严重,即使其他流未发生丢包,也会影响画面,仍然会影响画面的恢复,从而,降低了视频播放的流畅度,严重影响用户体验。


技术实现要素:

5.本技术提供一种传输数据的方法和装置,提高视频播放的流畅度,改善用户体验。
6.第一方面,提供一种传输数据的方法,所述方法包括:服务器向客户设备发送多个数据流;所述服务器接收所述客户设备发送的反馈信息,所述反馈信息携带至少一个第一数据流的标识;所述服务器根据所述反馈信息,控制所述第一数据流的传输。
7.根据本技术的方案,通过使客户设备向服务器反馈需要调整传输策略的第一数据流的标识,能够使服务器根据该反馈信息,确定调整第一数据流的传输策略,以加快第一数据流的传输进度或降低第一数据流的丢包率,从而降低因第一数据流的传输延迟或丢包情况严重而导致对画面恢复的影响,进而,能够提高视频播放的流畅度,改善用户体验。
8.本技术的方案适用于vr技术领域,即,该第一图像可以为vr视频中的一个(或者说,一帧)图像。
9.例如,该vr视频可以包括vr全景视频,此情况下,该第一图像可以是视场角,或者说视角(field of view,fov)技术中,vr全景视频中的高质量画面对应的图像。
10.即,该vr全景视频的高质量画面包括多个tile。
11.其中,所述多个数据流分别承载第一图像的多个图像块。
12.该第一图像的多个图像块与该多个tile一一对应,其中,第一图像块是vr全景视频的高质量画面的一帧图像中与第一tile对应的图像块,其中,第一图像块与第一tile对应。
13.即,“所述多个数据流分别承载第一图像的多个图像块”可以理解为所述多个数据
流分别承载同一画面的多个tile的数据(或者说,tile对应的图像块的数据)。
14.在一种实现方式中,该反馈信息是客户设备在确定第一数据流(或者说,第一数据流的传输)满足预设条件下发送的。
15.作为示例而非限定,该预设条件可以包括但不限于以下一种或多种条件。
16.条件1.所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值。
17.其中,“所述客户设备在第一时段内接收的所述第一数据流的数据量”可以理解为所述客户设备在第一时段内通过第一数据流接收的数据包的数量。
18.或者,“所述客户设备在第一时段内接收的所述第一数据流的数据量”可以理解为所述客户设备在第一时段内通过第一数据流接收的图像的数量,例如,帧数。
19.例如,该第一阈值可以是根据该第一图像块对应的数据包的大小。
20.再例如,该第一阈值可以是根据(该第一图像块对应的tile的画面大小确定的。
21.再例如,该第一阈值可以是根据所述客户设备在第一时段内接收的多个图像块中除第一图像块以外的一个或多个图像块的数据量确定的。
22.在一种可能的实现方式中,该条件1可以是客户设备在确定用户发生转头时使用的判定条件。
23.即,所述第一时段包括自第一时刻经历预设的第一时长后的时段,其中,所述第一时刻包括以下至少一项:所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
24.条件2.所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值。
25.或者说,所述客户设备缓存的通过第一数据流接收的图像(或者说,图像块)的数量(例如,帧数)小于或等于第二阈值
26.例如,该第二阈值可以是根据该第一图像所属于的视频的播放速度确定的。
27.条件3.所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
28.例如,该第三阈值可以是在不影响用户观看感受的情况下允许的最大丢包率。
29.在一种可能的实现方式中,该反馈信息还包括第一数据流所满足的预设条件(例如,上述条件1~3中的一个或多个)的标识。
30.基于上述实现方式,通过在反馈信息中携带预设条件的标识,进而,服务器也可以根据该反馈信息中所携带的条件标识所对应的处理方式,对该反馈信息合作中所携带的数据流标识所指示的数据流进行传输策略调整。
31.并且,如果第一数据流(或者说,第一数据流的传输)满足条件1和/或条件2,则所述服务器根据所述反馈信息,执行第一处理。
32.所述第一处理包括但不限于以下一种或多种处理:
33.处理a:增加所述第一数据流对应的处理资源(例如,计算资源或缓存资源)。
34.处理b:增加所述第一数据流对应的带宽;和/或
35.处理c:提高所述第一数据流的发送优先级(例如,优先将第一数据流的数据放入传输队列,或者,为第一数据流分配高速缓存)。
36.例如,服务器可以存储上述条件1的标识和/或条件2的标识与第一处理之间的映射关系,从而,当反馈信息包括条件1的标识和/或条件2的标识时,服务器可以根据条件1
和/或条件2的标识,执行其对应的处理(即,第一处理)。
37.或者,预设条件可以仅包括条件1和/或条件2(或者说,服务器基于反馈信息执行的处理仅包括上述第一处理),从而,服务器在接收到反馈信息后,可以触发上述第一处理。
38.另外,如果第一数据流(或者说,第一数据流的传输)满足条件3,则所述服务器根据所述反馈信息,执行第二处理。
39.所述第二处理包括:采用冗余编码方式对所述第一数据流中的数据进行编码。
40.例如,服务器可以存储上述条件3的标识与第二处理之间的映射关系,从而,当反馈信息包括条件3的标识时,服务器可以根据条件3的标识,执行其对应的处理(即,第二处理)。
41.或者,预设条件可以仅包括条件3(或者说,服务器基于反馈信息执行的处理仅包括上述第二处理),从而,服务器在接收到反馈信息后,可以触发上述第二处理。
42.可选地,所述多个数据流分别承载同一图像的多个图像块,其中,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
43.即在本技术中,服务器可以对各数据流的传输进行控制,以使同一画面的同一帧图像的多个图像块的发送时间间隔不大于该第四阈值。
44.从而,即使在各流对应的tile的大小不同的情况下,仍然能够确保同一帧图像的各图像块到达客户设备的延迟(或者说,时间间隔)较小,从而,能够进一步提高视频播放的流畅度,改善用户体验。
45.例如,所述第四阈值是根据以下至少一项确定:
46.所述第一图像所属于的视频的播放速率、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,
47.其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:
48.所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻以及所述客户设备的姿态发生变化的时刻。
49.第二方面,提供一种传输数据的方法,所述方法包括:客户设备从服务器接收多个数据流;所述客户设备向所述服务器发送反馈信息,所述反馈信息携带所述多个数据流中的第一数据流的标识。
50.可选地,所述反馈信息用于指示以下至少一项:所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值、所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值、所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
51.可选地,所述第一数据流满足以下至少一个条件,或者说,所述反馈信息是所述客户设备在确定所述第一数据流满足以下至少一个条件之后发送的:所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值、所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值、所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
52.可选地,所述第一图像为虚拟现实vr图像。
53.此情况下,所述第一时段包括自第一时刻经历预设的第一时长后的时段,其中,所述第一时刻包括以下至少一项:所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
54.可选地,所述多个数据流分别承载同一图像的多个图像块,其中,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
55.可选地,所述第四阈值是根据以下至少一项确定:所述第一图像所属于的视频的播放速率确定的、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
56.第三方面,提供一种传输数据的方法,所述方法包括:服务器向客户设备发送多个数据流,所述多个数据流分别承载第一图像的多个图像块,其中,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
57.即在本技术中,服务器可以对各数据流的传输进行控制,以使同一画面的同一帧图像的多个图像块的发送时间间隔不大于该第四阈值。
58.从而,即使在各流对应的图像块的大小不同的情况下,仍然能够确保同一帧图像的各图像块到达客户设备的延迟(或者说,时间间隔)较小,从而,能够进一步提高视频播放的流畅度,改善用户体验。
59.例如,所述第四阈值是根据以下至少一项确定:
60.所述第一图像所属于的视频的播放速率、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,
61.其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:
62.所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻以及所述客户设备的姿态发生变化的时刻。
63.本技术的方案适用于vr技术领域,即,该第一图像可以为vr视频中的一个(或者说,一帧)图像。
64.例如,该vr视频可以包括vr全景视频,此情况下,该第一图像可以是fov技术中,vr全景视频中的高质量画面对应的图像。
65.即,该vr全景视频的高质量画面包括多个tile。
66.该第一图像的多个图像块与该多个tile一一对应,其中,第一图像块是vr全景视频的高质量画面的一帧图像中与第一tile对应的图像块,其中,第一图像块与第一tile对应。
67.即,“所述多个数据流分别承载第一图像的多个图像块”可以理解为所述多个数据流分别承载同一画面的多个tile的数据(或者说,tile对应的图像块的数据)。
68.第四方面,提供了一种传输数据的装置,该装置包括处理单元和收发单元,所述收发单元用于,向客户设备发送多个数据流;所述收发单元还用于,接收所述客户设备发送的
反馈信息,所述反馈信息携带至少一个第一数据流的标识;所述处理单元用于,根据所述反馈信息,控制所述第一数据流的传输。
69.在一种可能的实现方式中,所述反馈信息用于指示以下至少一项:所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值;和/或,所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值;和/或,所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
70.在另一种可能的实现方式中,所述第一图像为虚拟现实vr图像,以及所述第一时段包括自第一时刻经历预设的第一时长后的时段,其中,所述第一时刻包括以下至少一项:所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
71.在另一种可能的实现方式中,如果所述反馈信息指示所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值,和/或,如果所述反馈信息指示所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值,所述处理单元具体用于,根据所述反馈信息,增加所述第一数据流对应的处理资源;和/或,根据所述反馈信息,增加所述第一数据流对应的带宽;和/或,根据所述反馈信息,提高所述第一数据流的发送优先级。
72.在另一种可能的实现方式中,如果所述反馈信息指示所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值,所述处理单元具体用于,根据所述反馈信息,采用冗余编码方式对所述第一数据流中的数据进行编码。
73.在另一种可能的实现方式中,所述多个数据流分别承载第一图像的多个图像块,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
74.在另一种可能的实现方式中,所述第四阈值是根据以下至少一项确定:所述第一图像所属于的视频的播放速率、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻以及所述客户设备的姿态发生变化的时刻。
75.第五方面,提供了一种传输数据的装置,该装置包括处理单元和收发单元,所述收发单元用于,从服务器接收多个数据流;所述处理单元用于,生成反馈信息;所述收发单元还用于,向所述服务器发送所述反馈信息,所述反馈信息携带所述多个数据流中的第一数据流的标识。
76.在一种可能的实现方式中,所述反馈信息用于指示以下至少一项:所述收发单元在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值;和/或,所述装置缓存的所述第一数据流的数据量小于或等于第二阈值;和/或,所述收发单元接收的所述第一数据流的丢包率大于或等于第三阈值。
77.在另一种可能的实现方式中,所述第一图像为虚拟现实vr图像,以及,所述第一时段包括自第一时刻经历预设的第一时长后的时段,其中,所述第一时刻包括以下至少一项:
所述装置检测到用户头部转动的时刻、所述装置检测到用户的视角fov发生变化的时刻、所述装置的姿态发生变化的时刻。
78.在另一种可能的实现方式中,所述多个数据流分别承载同一图像的多个图像块,其中,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
79.在另一种可能的实现方式中,所述第四阈值是根据以下至少一项确定:所述第一图像所属于的视频的播放速率、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:所述装置检测到用户头部转动的时刻、所述装置检测到用户的视角fov发生变化的时刻、所述装置的姿态发生变化的时刻。
80.第六方面,提供了一种传输数据的装置,包括用于执行第一方面至第三方面中的任一方面及其任一种可能实现方式中的方法的各个模块或单元。
81.第七方面,提供了一种传输数据的设备,包括处理器,所述处理器与存储器耦合,可用于执行第一方面至第三方面中的任一方面及其可能实现方式中的方法。可选地,该设备还包括存储器。可选地,该设备还包括通信接口,处理器与通信接口耦合。可选地,该设备还包括通信接口,处理器与通信接口耦合。
82.在一种实现方式中,该设备为服务器或客户设备。此情况下,所述通信接口可以是收发器,或,输入/输出接口。在另一种实现方式中,该设备为芯片或芯片系统。此情况下,所述通信接口可以是该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。所述处理器也可以体现为处理电路或逻辑电路。
83.第八方面,提供了一种传输数据的装置,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述第一方面至第三方面中的任一方面及其各方面的任一种可能实现方式中的方法被实现。
84.在具体实现过程中,上述装置可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是不同的电路,也可以是同一电路,这种情况下该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。
85.第九方面,提供了一种传输数据的装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行所述第一方面至第三方面中的任一方面及其各种可能实现方式中的方法。
86.可选地,所述处理器为一个或多个,所述存储器为一个或多个。
87.可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
88.在具体实现中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
89.应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
90.上述第九方面中的处理器可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
91.第十方面,提供了一种传输数据的装置,包括:通信接口和处理电路,所述通信接口用于按照所述第一方面或第三方面及其任一种可能实现方式中的方法发送数据流,所述处理电路用于产生所述数据流。
92.第十一方面,提供了一种传输数据的装置,包括:通信接口和处理电路,所述通信接口用于获取待处理的数据流并发送反馈信息,所述处理电路用于按照所述第二方面及其任一种可能实现方式中的方法处理所述待处理的传数据流并生成反馈信息。
93.第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行所述第一方面至第三方面中的任一方面及其各方面的任一种可能实现方式中的方法。
94.第十三方面,提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述所述第一方面至第三方面中的任一方面及其各方面的任一种可能实现方式中的方法。
95.第十四方面,提供了一种通信系统,包括前述的服务器和客户设备。
附图说明
96.图1是本技术的通信系统的一例的示意性架构图。
97.图2是fov技术的过程的一例的示意图。
98.图3是fov技术的原理图。
99.图4是本技术的数据传输过程的一例的示意性交互图。
100.图5是本技术的数据传输过程的另一例的示意性交互图。
101.图6是本技术的数据传输过程的再一例的示意性交互图。
102.图7是本技术的数据传输过程的再一例的示意性交互图。
103.图8是本技术的数据传输过程的再一例的示意性交互图。
104.图9是本技术的传输数据的装置的一例的示意性框图。
105.图10是本技术的传输数据的装置的另一例的示意性框图。
106.图11是本技术的传输数据的装置的再一例的示意性框图。
具体实施方式
107.下面将结合附图,对本技术中的技术方案进行描述。
108.图1是适用本技术的传输数据的方法的通信系统一例的示意图。
109.如图1所示,该通信系统包括服务器和客户设备。
110.本技术可以适用于vr领域。
111.即,本技术的数据传输方法可以适用于vr视频数据的传输。
112.该服务器可以是vr视频数据的发送端。
113.并且,该vr视频数据可以是服务器生成的。
114.或者,该vr视频数据也可以是服务器其他设备。
115.例如,如图1所示,服务器的回源模块可以从vr视频的源站获取vr视频数据。
116.并且,该回源模块的功能和获取数据的过程可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
117.服务器的缓存模块可以对该vr视频数据进行缓存。
118.并且,该缓存模块的功能和缓存数据的过程可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
119.服务器的数据发送模块可以将vr视频数据发送给客户设备。
120.该客户设备可以是vr视频数据的接收端,并根据该数据为用户呈现vr视频。
121.例如,如图1所示,客户设备的数据接收模块可以介绍vr视频数据。
122.客户设备的缓存模块可以缓存该vr视频数据。
123.客户设备的播放模块可以播放该vr视频数据对应的vr视频内容。
124.并且,本技术的vr视频可以包括全景视频。
125.全景视频(或者说,全景视频中的多帧全景图像)是实现vr场景的主要手段之一。全景图像是指通过例如,广角的表现手段以及绘画、相片、视频、三维模型等形式,尽可能多的表现出周围的环境。
126.在本技术中,全景图像是指:可视角度大于人眼视度(或者说,人眼正常有效视角)的图像。例如,全景图像在水平方向上的视角范围(或者说,可视角度)大于人眼正常水平视角(例如,90度),全景图像在垂直方向上的视角范围大于人眼正常垂直视角(例如,70度)。
127.作为实例而非限定,该全景图像可以包括球形全景图像。
128.其中,作为示例而非限定,在本发明实施例中,可以定义球形坐标系,即,该球形坐标系包括分布在经度和纬度上的多个坐标。并且,在本发明实施例中,可以定义平面坐标系(或者说,平面网格),该平面坐标系包括分布在水平和垂直方向上的多个坐标。
129.从而,作为示例而非限定,在本发明实施例中,球形全景可以是指:将球形的经度和纬度坐标直接为水平和垂直坐标平面(或者说,平面网格中格子)。
130.作为示例而非限定,在本发明实施例中,该平面网格的高度可以是宽的两倍,或者说,球形全景图像的宽度(即,水平方向行的大小)和高度(即,垂直方向行的大小)的比例可以为2:1。
131.应理解,以上列举的球形全景图像的比例仅为示例性说明,本发明并未限定于此,其他能够形成球形全景图像的比例均落入本技术的保护范围内。
132.因此,在球形全景中,从赤道到两极,横向拉伸不断加剧,南北两个极点被拉伸成了扁平的网格在整个上部和下部边缘。
133.作为示例而非限定,球形全景图像可以是指能够现实整个水平方向360度全景以及垂直方向360全景的全景图像。
134.应理解,以上对球形全景的描述仅为示例性说明,本发明并未限定于此,例如,在
本发明实施例中,球形全景图像在水平方向上的全景也可以不是360度全景,例如,球形全景图像在水平方向上的全景也可以是例如,180度全景。或者,在本发明实施例中,球形全景图像在垂直方向上的全景也可以不是360度全景,例如,球形全景图像在垂直方向上的全景也可以是例如,180度全景。
135.本发明实施例中关于球形全景的定义也可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
136.在本技术中,客户设备可以是具备vr视频(或vr图像)播放功能的设备,例如,vr头盔,vr眼镜,或者能够外接vr显示装置的计算设备。
137.作为示例而非限定,该客户设备的硬件层包括中央处理器(central processing unit,cpu)和/或图形处理器(graphics processing unit,gpu)等。
138.可选地,还可以处理节点的硬件层还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等。
139.其中,输入设备可包括键盘、鼠标、触摸屏等。
140.输出设备可包括显示设备如液晶显示器(liquid crystal display,lcd)、阴极射线管(cathode ray tube)显示器、全息成像(holographic)显示器或投影(projector)等。
141.在硬件层之上可运行有操作系统(如android等)以及一些应用程序。核心库是操作系统的核心部分,包括输入/输出服务、核心服务、图形设备接口以及实现cpu、gpu图形处理的图形引擎(graphics engine)等。图形引擎可包括2d引擎、3d引擎、合成器(composition)、帧缓冲区(frame buffer)等。除此之外,该终端还包括驱动层、框架层和应用层。驱动层可包括cpu驱动、gpu驱动、显示控制器驱动等。框架层可包括图形服务(graphic service)、系统服务(system service)、网页服务(web service)和用户服务(customer service)等;图形服务中,可包括如微件(widget)、画布(canvas)、视图(views)、渲染脚本(render script)等。应用层可包括桌面(launcher)、媒体播放器(media player)、浏览器(browser)等。
142.其中,输入/输出设备也可以称为交互设备。
143.作为示例而非限定,输入设备可包括键盘、鼠标、触摸屏、语音识别设备、运动传感器等,其中,该运动传感器也可以称为动作捕捉设备,用于检测用户的动作,例如,用户的头部的转动等,作为示例而非限定,该动作捕捉设备可以包括眼动仪、力觉反馈设备、加速度传感器、陀螺仪等。
144.作为示例而非限定,输出设备可包括显示设备,例如,3d展示系统、大型投影系统、头显(头戴式立体显示器等)等。在硬件层之上可运行有操作系统(例如,安卓(android)等系统)以及一些应用程序。
145.例如,在本发明实施例中,该显示设备可以为虚拟现实头显,其中,该虚拟现实头显也可以称为头戴式显示器,是利用人的左右眼获取信息差异,引导用户产生一种身在虚拟环境中的感觉的一种头戴式立体显示器。其显示原理是左右眼屏幕分别显示左右眼的图像,人眼获取这种带有差异的信息后在脑海中产生立体感。虚拟现实头显作为虚拟现实的显示设备,具有小巧和封闭性强的特点,在军事训练,虚拟驾驶,虚拟城市等项目中具有广泛的应用。
146.再例如,在本发明实施例中,该显示设备可以为双目全方位显示器(boom),boom是
一种偶联头部的立体显示设备,是一种特殊的头部显示设备。使用boom比较类似使用一个望远镜,把两个独立的crt显示器捆绑在一起,由两个相互垂直的机械臂支撑,这不仅让用户可以在半径为例如2米的球面空间内用手自由操纵显示器的位置,还能将显示器的重量加以巧妙的平衡而使之始终保持水平,不受平台运动的影响。在支撑臂上的每个节点处都有位置跟踪器。
147.再例如,在本发明实施例中,该显示设备可以为crt终端,例如,液晶光闸眼镜,其立体视觉系统的工作原理是:有计算机分别产生左右眼的两幅图像,经过合成处理之后,采用分时交替的方式显示在crt终端上。用户则佩戴一副与计算机相连的液晶光闸眼镜,眼镜片在驱动信号的作用下,将以与图像显示同步的速率交替开和闭,即当计算机显示左眼图像时,右眼透镜将被屏蔽,显示右眼图像时,左眼透镜被屏蔽。根据双目视察与深度距离正比的关系,人的视觉生理系统可以自动的将这两幅视察图像合成一个立体图像。
148.再例如,在本发明实施例中,该显示设备可以为洞穴式(cave)投影系统,cave投影系统是由3个面以上(含3面)硬质背投影墙组成的高度沉浸的虚拟演示环境,配合三维跟踪器,用户可以在被投影墙包围的系统近距离接触虚拟三维物体,或者随意漫游“真实”的虚拟环境。cave系统一般应用于高标准的虚拟现实系统。cave投影系统是一种基于多通道视景同步技术和立体显示技术的房间式投影可视协同环境,该系统可提供一个房间大小的最小三面或最大七十面立方体投影显示空间,供多人参与,所有参与者均完全沉浸在一个被立体投影画面包围的高级虚拟仿真环境中,借助相应虚拟现实交互设备(如数据手套、位置跟踪器等),从而获得一种身临其境的高分辨率三维立体视听影像和6自由度交互感受。
149.此外,如图1所示,该虚拟现实系统的硬件层还可以包括建模设备(如3d扫描仪)。3d扫描仪,也称为三维立体扫描仪,3d扫描仪,是融合光、机、电和计算机技术于一体的高新科技产品,主要用于获取物体外表面的三维坐标及物体的三维数字化模型。该设备不但可用于产品的逆向工程、快速原型制造、三维检测(机器视觉测量)等领域,而且随着三维扫描技术的不断深入发展,诸如三维影视动画、数字化展览馆、服装量身定制、计算机虚拟现实仿真与可视化等越来越多的行业也开始应用三维扫描仪这一便捷的手段来创建实物的数字化模型。通过三维扫描仪非接触扫描实物模型,得到实物表面精确的三维点云(point cloud)数据,最终生成实物的数字模型,不仅速度快,而且精度高,几乎可以完美的复制现实世界中的任何物体,以数字化的形式逼真的重现现实世界。
150.除此之外,该终端设备还包括驱动层、框架层和应用层。驱动层可包括cpu驱动、gpu驱动、显示控制器驱动等。框架层可包括浏览器引擎、排版引擎、文件解析器等;应用层可包括主界面(home)、媒体播放器(media player)、浏览器(browser)等多种应用程序。
151.本技术的数据传输的方案可以利用fov技术。
152.如图2所示,fov技术为vr视频提供低质量画面以及fov对应的高质量画面(即,用户视角当前观察的vr全景视频的画面),其中,高质量画面划分为多个tile,每个tile对应vr视频的画面的一块区域。客户设备在播放vr视频时,客户设备从服务器获取低质量的全景画面的数据流(即,全景画面对应的vr视频的各帧图像的数据)以及fov对应的(或者说,高质量画面的)多个tile的数据流(即,vr视频的各帧图像中对应于各tile的图像块的数据)来共同呈现一个高质量的fov画面。
153.当用户转动头部时,fov发生切换,客户设备向用户呈现的低质量画面不间断,同
时从服务器获取新fov的多个tile的数据流,并快速将新fov内的高质量画面呈现给用户。
154.并且,在本技术中,上述多个tile的数据流并发传输。
155.图3示出了并发传输的示意图,如图3所示,每个tile的数据流流由多个可独立播放的文件段组成,其中,每个文件段可以对应一个图像块,例如,如图2所示,tile 1的数据流包括111、112和113组成的块。其中,111、112和113为tile 1对应的各图像块。并且,如图2所示,111、211和311能够组成用户在某一时刻(记做时刻#x)观察到的fov画面,即,111、211和311组合后,形成vr视频中时刻#x对应的一帧与fov画面对应图像。
156.下面,结合图4至图7,以vr全景视频的fov画面的传输过程为例,对本技术的传输数据的方法,即,图1中反馈信息生成模块即传输策略确定模块的功能,进行详细说明。
157.图4示出了本技术的数据传输过程的一种可能的实现方式,如图4所示,在s110,服务器(例如,图1所示服务器的回源模块)解析vr视频的数据流索引,例如,媒体呈现描述(media presentation description,mpd),并向上游模块(如源站)获取视频内容,并且,解析各路tile的视频内容(或者说,对应的画面的分块),获取帧率、码率、帧索引、图像组或画面组(group of pictures,gop)大小等等信息。
158.并且,服务器(例如,图1所示服务器的缓存模块)缓存从源站获取的视频内容。
159.其后,服务器(例如,图1所示服务器的数据发送模块)获取vr全景视频的n个数据流,其中,该n个数据流对应fov画面的n个tile。
160.为了便于理解和说明,以vr全景视频的fov画面包括m帧图像、每一帧图像包括n个图像块、fov画面包括n个tile为例进行说明,其中,m为大于或等于1的整数,n为大于或等于2的整数。
161.其中,每一帧图像的n个图像块与n个tile一一对应,即,假设一帧图像中的n个图像块中的图像块#n与n个tile中的tile#n对应,则图像块#n在该中位置与tile#n在fov画面中的位置对应(例如,相同或近似相同),m∈[1,m],n∈[1,n]。
[0162]
在本技术中,服务器在s110中执行处理过程,例如,获取vr全景视频的n个数据流的过程也可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
[0163]
在s120,服务器(例如,图1所示服务器的数据发送模块在传话控制模块的控制下)向客户设备发送该n个数据流。
[0164]
在一种可能的实现方式中,服务器可以采用以下方式#1发送n个数据流:
[0165]
方式#1
[0166]
对于同一帧图像(例如,第m帧图像)的n个图像块,设n个图像块中最先被发送的图像块为图像块#1(即,第一图像块的一例),最后被发送的图像块为图像块#2(即,第二图像块的一例),设该图像块#1的发送时刻为时刻#1,图像块2的发送时刻为时刻#2,则该时刻#1与时刻#2之间的时间间隔(记做,时间间隔#1)小于或等于阈值#a(即,第四阈值的一例)。
[0167]
作为示例而非限定,该阈值#a的大小可以根据以下至少一种参数确定:
[0168]
参数a.vr全景视频的播放速率
[0169]
具体地说,vr全景视频的播放速率也可以理解为vr全景视频的播放帧率。
[0170]
例如,该阈值#a的大小与vr全景视频的播放帧率的大小可以反比例关系,即,vr全景视频的播放帧率越大,则阈值#a的值越小,即如果vr全景视频的播放帧率增大,则需要在更短的时间内完成同一帧图像的各图像块的发送。
[0171]
参数b.图像块(或者说,图像块所属于的一帧图像)的发送时刻与接收到客户设备发送转头请求的时刻(或者说,用户发生转头的时刻,记做,时刻#a)之间的时间间隔(记做,时间间隔#2)。
[0172]
具体地说,如上所述当用户转动头部时,fov发生切换,客户设备需要快速将新fov内的高清画面呈现给用户,因此,需要使服务器更快地将图像发送给客户设备。
[0173]
因此,该阈值#a的大小与该时间间隔#2的大小可以成正比例,例如,该时间间隔越小(即,图像的发送时刻距离用户发生转头的时刻#a越近),该阈值#a越小。
[0174]
参数c.图像块(或者或,图像块所属于的一帧图像)在自接收到客户设备发送转头请求的时刻#a起发送的多个图像中的顺序。
[0175]
具体地说,一个图像在自接收到客户设备发送转头请求的时刻起发送的多个图像中的顺序越靠前,代表该图像的发送时刻距离用户发生转头的时刻#a越近,该阈值#a越小。
[0176]
应理解,上述参数a~c可以单独使用也可以结合使用本技术并未特别限定。
[0177]
例如,在一种可能的实现方式中,假设视频播放帧率为30帧/秒(即,每个33毫秒播放一帧图像),则在用户发生转头之后所发送的前两帧图像的发送速率可以为该视频播放帧率的2倍速,其他帧的发送速率可以为该视频播放帧率的1.5倍速。即,在用户发生转头之后发送的第一帧图像的各图像块在第一个16毫秒内输出,第二帧图像在第二个16毫秒内输出,之后每隔23毫秒输出一帧图像。
[0178]
即,在用户发生转头之后发送的第一帧图像和第二帧图像对应的阈值#a为16毫秒。
[0179]
在用户发生转头之后发送的第三帧图像及其之后的各帧图像对应的阈值#a为23毫秒。
[0180]
应理解,以上列举的服务器发送n个数据流的方式仅为示例性说明,本技术并未限定于此,例如,服务器也可以采用与现有技术相似的方式,发送n个数据流。
[0181]
在s130,客户设备(例如,图1所示客户设备的数据接收模块)接收服务器发送的各数据流,并对各数据流的数据进行缓存。
[0182]
并且,客户设备(例如,图1所示客户设备的缓存模块)从缓存设备中读取同一帧图像的分布在个数据流的图像块的数据,并对其进行解码、渲染和播放。
[0183]
并且,在数据接收和播放过程中,客户设备(例如,图1所示客户设备的反馈模块)还可以检测n个数据流中是否存在满足条件1的数据流。
[0184]
假设该n个数据流中的数据流#a(即,第一数据流的一例)满足该条件1,则该条件1可以描述为:在自用户发生转头的时刻(即,时刻#a)经历规定的时长#a而形成的时段#a内,客户设备通过该数据流#a接收的数据的数据量小于或等于阈值#b(即,第一阈值的一例)。
[0185]
其中,“用户发生转头”可以由图1所示客户设备的fov感知模块进行检测,并且,该检查过程可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
[0186]
其中,客户设备在时段#a内通过该数据流#a接收的数据的数据量可以理解为客户设备在时段#a内通过该数据流#a接收的数据包的数量。
[0187]
或者,客户设备在时段#a内通过该数据流#a接收的数据的数据量可以理解为客户设备在时段#a内通过该数据流#a接收的数据包所对应图像的帧数。
[0188]
其中,阈值#b的具体数值可以根据需要任意设置或变更,本技术并未特别限定。
[0189]
例如,该阈值#b可以根据检测时刻与用户发生转头的时刻(即,时刻#a)之间的时间间隔决定,即,该时间间隔越小,该阈值#b越大。或者说,检测时刻距离用户发生转头的时刻越近,该检测时刻所使用过的阈值#b越大。
[0190]
在s140,客户设备(例如,图1所示客户设备的反馈模块)可以向服务器发送反馈信息,该反馈信息携带该数据流#a的标识(记做标识#a),其中,该标识#a能够从n个数据流中唯一地指示该数据流#a。
[0191]
在s150,当服务器(例如,图1所示服务器的传输策略确定模块)接收到该反馈信息时,可以默认为需要对该反馈信息中携带的标识(即,标识#a)所指示的数据流(即,数据流#a)的传输策略(例如,图1所示服务器的传输控制模块使用的传输策略)进行调整。
[0192]
作为示例而非限定,在本技术中,对传输策略的调整可以包括但不限于以下一种或多种处理:
[0193]
处理a:增加数据流#a对应的处理资源,或者说,增加用于处理数据流#a的处理资源,其中,该处理资源可以包括但不限于计算资源(例如,cup资源或gpu资源)或缓存资源。
[0194]
处理b:增加数据流#a对应的带宽,或者说增加用于传输数据流#a的带宽,或者说,增加数据流#a的传输速率。
[0195]
处理c:提高数据流#a的发送优先级,例如,优先(具体地说,是优先于客户设备未反馈的数据流)将数据流#a的数据放入传输队列,或者,为数据流#a分配高速缓存。
[0196]
在一种可能的实现方式中,该阈值#b可以包括多个(例如,两个)级别的阈值。记做,阈值#b’和阈值#b”。
[0197]
即,上述处理a~c可以分别基于不同的阈值触发。
[0198]
例如,设阈值#b’小于阈值#b”,则如果客户设备在时段#a内通过该数据流#a接收的数据的数据量小于阈值#b’,则服务器采用处理c对应的方式调整数据流#a的传输策略;如果客户设备在时段#a内通过该数据流#a接收的数据的数据量大于阈值#b’且小于阈值#b”,则服务器采用处理a或处理b对应的方式调整数据流#a的传输策略。
[0199]
并且,此情况下,该反馈信息还可以触发客户设备发送反馈信息所使用的具体的阈值,即阈值#b’(或者说,阈值#b’对应的标识)或阈值#b”(或者说,阈值#b’对应的标识)。
[0200]
从而,服务器可以根据该反馈信息对应的阈值或阈值的标识,确定调整数据流#a的传输策略所使用的具体处理方式。
[0201]
图5示出了本技术的数据传输过程的另一种可能的实现方式,与图4所过程不同的是,触发客户设备发送反馈信息使用的条件不同,即,在s230,客户设备检测n个数据流中是否存在满足条件2的数据流。
[0202]
假设该n个数据流中的数据流#a满足该条件2,则该条件2可以描述为:客户设备缓存的通过该数据流#a接收的数据的数据量小于或等于阈值#c(即,第二阈值的一例)。
[0203]
其中,阈值#c的具体数值可以根据需要任意设置或变更,本技术并未特别限定。
[0204]
例如,该阈值#c可以基于视频的播放速率确定,即,播放速率越大,阈值#c越小。
[0205]
并且,与图4所示过程类似,在一种可能的实现方式中,该阈值#c可以包括多个(例如,两个)级别的阈值。记做,阈值#c’和阈值#c”。
[0206]
即,上述处理a~c可以分别基于不同的阈值触发。
[0207]
例如,设阈值#c’小于阈值#c”,则如果数据流#a的缓存数据量小于或等于阈值#
c’,则服务器采用处理c对应的方式调整数据流#a的传输策略;如果数据流#a的缓存数据量大于阈值#c’且小于阈值#c”,则服务器采用处理a或处理b对应的方式调整数据流#a的传输策略。
[0208]
并且,此情况下,该反馈信息还可以触发客户设备发送反馈信息所使用的具体的阈值,即阈值#c’(或者说,阈值#从、’对应的标识)或阈值#c”(或者说,阈值#c’对应的标识)。
[0209]
图6示出了本技术的数据传输过程的另一种可能的实现方式,与图4~5所过程不同的是,触发客户设备发送反馈信息使用的条件不同,即,在s330,客户设备检测n个数据流中是否存在满足条件3的数据流。
[0210]
假设该n个数据流中的数据流#a满足该条件3,则该条件3可以描述为:通过该数据流#a接收的数据的丢包率大于或等于阈值#d(即,第三阈值的一例)。
[0211]
其中,阈值#d的具体数值可以根据需要任意设置或变更,本技术并未特别限定。
[0212]
在s350,当服务器接收到该反馈信息时,可以默认为需要对该反馈信息中携带的标识(即,标识#a)所指示的数据流(即,数据流#a)的传输策略进行调整。
[0213]
作为示例而非限定,在本技术中,对传输策略的调整可以包括但不限于采用冗余编码方式对数据流#a中的数据进行编码。
[0214]
在一种可能的实现方式中,服务器还可以判定当前可用带宽是否大于数据流#a的传输速率(或者说,码率),如果判定结果为是,即当前可用带宽大于数据流#a的传输速率,则服务器采用冗余编码方式对数据流#a中的数据进行编码;如果判定结果为否,即当前可用带宽小于或等于数据流#a的传输速率,则服务器不采用冗余编码方式对数据流#a中的数据进行编码。
[0215]
图7示出了本技术的数据传输过程的另一种可能的实现方式,与图4~6所过程不同的是,触发客户设备发送反馈信息使用的条件可以包括上述条件1~3中的一个或多个,此情况下,由于不同条件触发客户设备发送反馈信息时,服务器的调整方式也不同,因此,在图7所示方案中,在反馈信息中除了携带满足条件的数据流的标识以外,还包括该数据流所满足的条件的标识。
[0216]
并且,在服务器可以保持上述条件1~3中的每个条件的标识对应的处理方式,进而,服务器可以根据该反馈信息中所携带的条件标识所对应的处理方式,对该反馈信息合作中所携带的数据流标识所指示的数据流进行传输策略调整。
[0217]
图8示出了本技术的数据传输过程的另一种可能的实现方式,与图4~7所过程不同的是,在图8所示过程中,服务器采用上述方式1发送各数据流,并且,客户设备可以采用与现有技术相似的方式进行数据流的接收,即,在图8所示过程中,客户设备可以不发送反馈信息。
[0218]
根据前述方法,图9为本技术实施例提供的传输数据的装置400的示意图。
[0219]
其中,该装置400可以为服务器,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。
[0220]
或者,该装置400可以为客户设备,也可以为芯片或电路,比如可设置于终端设备的芯片或电路。
[0221]
该装置400可以包括处理单元410(可选地,还可以包括存储单元420。该存储单元
420用于存储指令。
[0222]
一种可能的方式中,该处理单元410用于执行该存储单元420存储的指令,以使装置400实现如上述方法中服务器,执行的步骤。
[0223]
在另一种可能的方式中,该处理单元410用于执行该存储单元420存储的指令,以使装置400实现如上述方法中客户设备,执行的步骤。
[0224]
进一步的,该装置400还可以包括输入口430(即,通信单元的一例)和输出口430(即,收发单元的另一例)。进一步的,该处理单元410、存储单元420、输入口430和输出口430可以通过内部连接通路互相通信,传递控制和/或数据信号。该存储单元420用于存储计算机程序,该处理单元410可以用于从该存储单元420中调用并运行该计算计程序,完成上述方法中终端设备的步骤。该存储单元420可以集成在处理单元410中,也可以与处理单元410分开设置。
[0225]
可选地,一种可能的方式中,该输入口430可以为接收器,该输出口440为发送器。其中,接收器和发送器可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为收发器。
[0226]
可选地,另一种可能的方式中,该输入口430为输入接口,该输出口440为输出接口。
[0227]
作为一种实现方式,输入口430和输出口440的功能可以考虑通过收发电路或者收发的专用芯片实现。处理单元410可以考虑通过专用处理芯片、处理电路、处理单元或者通用芯片实现。
[0228]
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本技术实施例提供的终端设备。即将实现处理单元410、输入口430和输出口440功能的程序代码存储在存储单元420中,通用处理单元通过执行存储单元420中的代码来实现处理单元410、输入口430和输出口440的功能。
[0229]
当该装置400为通信设备(例如,服务器或客户设备)时,该通信设备包括处理器、存储器、射频电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对终端设备进行控制,执行软件程序,处理软件程序的数据等。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。需要说明的是,有些种类的终端设备可以不具有输入输出装置。当需要发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端设备时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。为便于说明。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本技术实施例对此不做限制。此情况下,可以将具有处理功能的处理器视为终端设备的处理单元410。处理单元410也可以称为处理器,处理单板,处理模块、处理装置等。并且,此情况下,可以将接收机、接收器、或接收电路等视为输入口430。可以将发射机、发射器或者发射电路等视为输出口440。
[0230]
当该装置400为芯片时,该芯片包括收发电路和处理电路。其中,收发电路可以是
输入/输出电路或通信接口;处理电路可以为该芯片上集成的处理器或者微处理器或者集成电路。输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是不同的电路,也可以是同一电路,这种情况下该电路在不同的时刻分别用作输入电路和输出电路。
[0231]
当装置400配置在或本身即为服务器时,输出口440用于向客户设备发送多个数据流,所述多个数据流分别承载第一图像的多个图像块;输入看430用于接收所述客户设备发送的反馈信息,所述反馈信息携带至少一个第一数据流的标识;处理单元410用于根据所述反馈信息,控制所述第一数据流的传输。
[0232]
可选地,所述反馈信息用于指示以下至少一项:
[0233]
所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值;和/或
[0234]
所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值;和/或
[0235]
所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
[0236]
可选地,所述第一数据流满足以下至少一个条件:
[0237]
所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值;和/或
[0238]
所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值;和/或
[0239]
所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
[0240]
可选地,所述第一图像为虚拟现实vr图像,以及
[0241]
所述第一时段包括自第一时刻经历预设的第一时长后的时段,其中,所述第一时刻包括以下至少一项:
[0242]
所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
[0243]
可选地,如果所述反馈信息指示所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值,和/或
[0244]
如果所述反馈信息指示所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值,
[0245]
所述处理单元410用于根据所述反馈信息,增加所述第一数据流对应的处理资源;和/或用于根据所述反馈信息,增加所述第一数据流对应的带宽;和/或用于根据所述反馈信息,提高所述第一数据流的发送优先级。
[0246]
可选地,如果所述反馈信息指示所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值,则所述处理单元用于根据所述反馈信息,采用冗余编码方式对所述第一数据流中的数据进行编码。
[0247]
可选地,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
[0248]
可选地,所述第四阈值是根据以下至少一项确定:
[0249]
所述第一图像所属于的视频的播放速率、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,
[0250]
其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:
[0251]
所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻以及所述客户设备的姿态发生变化的时刻。
[0252]
当装置400配置在或本身即为客户设备时,输入口430用于从服务器接收多个数据流,所述多个数据流分别承载同一图像的多个图像块;输出口440用于向所述服务器发送反馈信息,所述反馈信息携带所述多个数据流中的第一数据流的标识。
[0253]
可选地,所述反馈信息用于指示以下至少一项:
[0254]
所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值;和/或
[0255]
所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值;和/或
[0256]
所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
[0257]
可选地,所述第一数据流满足以下至少一个条件:
[0258]
所述客户设备在第一时段内接收的所述第一数据流的数据量小于或等于第一阈值;和/或
[0259]
所述客户设备缓存的所述第一数据流的数据量小于或等于第二阈值;和/或
[0260]
所述客户设备接收的所述第一数据流的丢包率大于或等于第三阈值。
[0261]
可选地,所述第一图像为虚拟现实vr图像,以及
[0262]
所述第一时段包括自第一时刻经历预设的第一时长后的时段,其中,所述第一时刻包括以下至少一项:
[0263]
所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
[0264]
可选地,第一图像块的发送时刻与第二图像块的发送时刻之间的时间间隔小于或等于第四阈值,所述第一图像块是所述多个图像块中最先发送的图像块,所述第二图像块是所述多个图像块中最后发送的图像块。
[0265]
可选地所述第四阈值是根据以下至少一项确定:
[0266]
所述第一图像所属于的视频的播放速率、所述第一图像的发送时刻与第一时刻之间的时间间隔,所述第一图像在自所述第一时刻起发送的多个图像中的发送顺序,
[0267]
其中,所述第一图像为虚拟现实vr图像,以及所述第一时刻包括以下至少一项:
[0268]
所述客户设备检测到用户头部转动的时刻、所述客户设备检测到用户的视角fov发生变化的时刻、所述客户设备的姿态发生变化的时刻。
[0269]
其中,以上列举的装置400中各模块或单元的功能和动作仅为示例性说明,当该装置400配置在或本身即为服务器时,装置400中各模块或单元可以用于执行上述方法中服务器所执行的各动作或处理过程。
[0270]
当该装置400配置在或本身即为客户设备时,装置400中各模块或单元可以用于执行上述方法中客户设备所执行的各动作或处理过程。
[0271]
这里,为了避免赘述,省略其详细说明。
[0272]
该装置400所涉及的与本技术实施例提供的技术方案相关的概念,解释和详细说
明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
[0273]
图10示出了本技术实施例提供的传输数据的装置500。该装置500包括处理器510和收发器520。其中,处理器510和收发器520通过内部连接通路互相通信,该处理器510用于执行指令,以控制该收发器520发送信号和/或接收信号。
[0274]
可选地,该装置500还可以包括存储器530,该存储器530与处理器510、收发器520通过内部连接通路互相通信。该存储器530用于存储指令,该处理器510可以执行该存储器530中存储的指令。在一种可能的实现方式中,装置500用于实现上述方法实施例中的服务器对应的各个流程和步骤。在另一种可能的实现方式中,装置500用于实现上述方法实施例中的客户设备对应的各个流程和步骤。
[0275]
应理解,装置500可以具体为上述实施例中的服务器或客户设备,也可以是芯片或者芯片系统。对应的,该收发器520可以是该芯片的收发电路,在此不做限定。具体地,该装置500可以用于执行上述方法实施例中与网络设备或终端设备对应的各个步骤和/或流程。可选地,该存储器530可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器510可以用于执行存储器中存储的指令,并且当该处理器510执行存储器中存储的指令时,该处理器510用于执行上述与服务器或客户设备对应的方法实施例的各个步骤和/或流程。
[0276]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0277]
应注意,本技术实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。本技术实施例中的处理器可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0278]
可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高
速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0279]
图11示出了本技术实施例提供的传输数据的装置600。该装置600包括处理电路610和收发电路620。其中,处理电路610和收发电路620通过内部连接通路互相通信,该处理电路610用于执行指令,以控制该收发电路620发送信号和/或接收信号。
[0280]
可选地,该装置600还可以包括存储介质630,该存储介质630与处理电路610、收发电路620通过内部连接通路互相通信。该存储介质630用于存储指令,该处理电路610可以执行该存储介质630中存储的指令。在一种可能的实现方式中,装置600用于实现上述方法实施例中的服务器对应的各个流程和步骤。在另一种可能的实现方式中,装置600用于实现上述方法实施例中的客户设备对应的各个流程和步骤。
[0281]
根据本技术实施例提供的方法,本技术还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图4至图8中任一实施方式中的方法。
[0282]
根据本技术实施例提供的方法,本技术还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图4至图8中任一实施方式中的方法。
[0283]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0284]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0285]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0286]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0287]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0288]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0289]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献