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

用于视频信令的方法、装置和可读存储介质与流程

2021-10-22 23:40:00 来源:中国专利 TAG:申请 美国 装置 信令 可读

用于视频信令的方法、装置和可读存储介质
1.本技术要求于2020年3月30日提交的申请号为us 63/002,306的美国临时申请以及2020年11月11日提交的申请号为17/095,212的美国正式申请的优先权,所述申请通过引用明确地将其全部内容结合到本技术中。
技术领域
2.本技术涉及实时传输控制协议(real

time transport control protocol,rtcp),更具体地涉及用于视频信令的方法、装置和可读存储介质。


背景技术:

3.沉浸式电话会议为会议提供面对面、高清晰度的视频和音频体验。它支持手持移动设备(handheld mobile device,hmd)设备/视频播放器上的沉浸式视频的实时、多连接流式传输。
4.用于ip多媒体子系统(ip multimedia subsystem,ims)(多媒体电话业务(multimedia telephony services over ims,mtsi))和基于ims的远地视在(telepresence)的多媒体电话业务中对vr的支持,使得能够支持远程终端加入电话会议和远地视在会话的沉浸式体验。这实现了双向音频和单向沉浸式视频,例如,佩戴hmd的远程用户加入会议,并接收会议室中的全景相机捕捉的沉浸式音频和视频,而只发送音频以及可选地发送2d视频。
5.带宽和其它技术限制,已经阻碍了沉浸式视频的传送在视口余量更新方面的改进,因为hmd空间定位是远程实时更新的。
6.因此,需要对涉及网络开销和服务器计算开销的这些问题的技术解决方案。


技术实现要素:

7.为了解决一个或多个不同的技术问题,根据示例性实施例,本技术提供了用于远程终端的沉浸式电话会议和远地视在的rtcp视口反馈的视频信令的方法和装置,在传送关于一个或多个视口余量更新的沉浸式视频过程中,可以减少网络开销和服务器计算开销。
8.所述用于视频信令的装置包括存储器,其被配置为存储计算机程序代码;和处理器,其被配置为访问所述计算机程序代码并按照所述计算机程序代码的指示进行操作。所述计算机程序代码包括:控制代码,其被配置为使得所述至少一个处理器控制视频电话会议到视口的传送;设置代码,其被配置为使得所述至少一个处理器针对所述视频电话会议,设置定时器和基于事件的阈值;确定代码,其被配置为使得所述至少一个处理器基于流逝时间和事件中的任一个,确定所述定时器和所述基于事件的阈值中的任一个是否已触发;以及进一步控制代码,其被配置为使得所述至少一个处理器基于确定所述定时器和所述基于事件的阈值中的任一个是否已触发,进一步控制所述视频电话会议到所述视口的传送。
9.根据示例性实施例,所述基于事件的阈值至少包括所述视口的空间定位的改变程度。
10.根据示例性实施例,所述确定所述定时器和所述基于事件的阈值中的任一个是否已触发包括:确定在所述定时器已被所述流逝时间触发之前,所述视口的空间定位的改变程度,是否超过了所述基于事件的阈值。
11.根据示例性实施例,所述进一步控制所述视频电话会议到所述视口的传送包括:在确定在所述定时器已被所述流逝时间触发之前,所述视口的空间定位的改变程度,超过了所述基于事件的阈值的情况下,将所述视频电话会议的至少附加余量传送到所述视口。
12.根据示例性实施例,所述进一步控制所述视频电话会议到所述视口的传送包括:根据所述定时器是否已触发,或者所述基于事件的阈值是否已触发,处理不同长度的数据包。
13.根据示例性实施例,在所述不同长度的数据包中,所述定时器已触发时的第一数据包,比所述基于事件的阈值已触发时的第二数据包长。
14.根据示例性实施例,所述装置还包括:进一步确定代码,其被配置为使得所述至少一个处理器确定所述事件触发所述基于事件的阈值的频率,是否超过一个频率阈值。
15.根据示例性实施例,所述装置还包括:更新代码,其被配置为响应于确定所述事件触发所述基于事件的阈值的频率,超过了所述频率阈值,使得所述至少一个处理器将所述流逝时间更新为第二流逝时间,其中所述第二流逝时间比所述流逝时间长。
16.根据本技术实施例,所述视口是耳机和手持移动设备中的至少一个的显示器。
17.所述用于视频信令的方法,包括:控制视频电话会议到视口的传送;针对所述视频电话会议,设置定时器和基于事件的阈值;基于流逝时间和事件中任一个,确定所述定时器和所述基于事件的阈值中的任一个是否已触发;以及基于确定所述定时器和所述基于事件的阈值中的任一个是否已触发,进一步控制所述视频电话会议到所述视口的传送。
18.本技术实施例还提供了一种存储程序的非易失性计算机可读存储介质,所述程序使计算机执行所述用于视频信令的方法。
19.通过本技术实施例的用于视频信令的方法、装置和可读存储介质,可以节省网络开销和服务器计算开销,并且可以降低延迟,给用户提供高质量的沉浸式视频体验。
附图说明
20.本技术所公开的主题的特征、本质和优点将从以下的详细描述和附图中变得更清楚。
21.图1是根据实施例的简化示意性图示。
22.图2是根据实施例的简化示意性图示。
23.图3是根据实施例的关于解码器的简化框图。
24.图4是根据实施例的关于编码器的简化框图。
25.图5是根据实施例的关于电话会议的简化示意性图示。
26.图6是根据实施例的关于消息格式的简化示意性图示。
27.图7是根据实施例的关于图片的简化示意性图示。
28.图8是根据实施例的简化流程图。
29.图9是根据实施例的简化流程图。
30.图10是根据实施例的示意性图示。
具体实施方式
31.以下讨论的本技术所提出的特征,可以单独使用或以任何顺序组合使用。进一步地,实施例可通过处理电路系统(例如,一个或多个处理器或者一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
32.图1图示了根据本技术实施例的通信系统100的简化框图。通信系统100可包括经由网络105互连的至少两个终端102和103。对于数据的单向传输,第一终端103可以在本地位置对视频数据进行编码,以便经由网络105传输到另一终端102。第二终端102可从网络105接收另一个终端的已编码视频数据,对已编码数据进行解码,并显示已恢复视频数据。单向数据传输在媒体服务应用等中可为常见的。
33.图1图示了第二对终端101和104,其被提供用于支持例如在视频会议期间可能出现的已编码视频的双向传输。对于数据的双向传输,终端101和终端104中的每一个,可以对在本地位置捕获的视频数据进行编码,以便经由网络105传输到另一终端。终端101和终端104中的每一个,还可以接收另一终端传输的已编码视频数据,可以对该已编码数据进行解码,并且可以在本地显示设备上显示已恢复视频数据。
34.在图1中,终端101、终端102、终端103、终端104可能图示为服务器、个人计算机和智能电话,但本技术公开的原理可不限于此。本技术公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络105表示在终端101、终端102、终端103、终端104之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络105可在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或互联网。出于本技术讨论的目的,网络105的架构和拓扑,对于本技术公开的操作而言,可能是无关紧要的,除非在下文中另有解释。
35.作为应用本技术所公开主题的示例,图2示出视频编码器和视频解码器在流式传输环境中的放置方式。本技术所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、存储棒等数字介质上存储压缩视频等等。
36.流式传输系统可包括采集子系统203,所述采集子系统可包括视频源201,例如,数码相机,用于创建未压缩的视频样本流213。与已编码视频数据相比,视频样本流213可以被强调为是高数据量,并且可由耦接到相机201上的编码器202处理。编码器202可包括硬件、软件或软硬件组合,以实现或实施如下文更详细描述的本技术所公开主题的各方面。与视频样本流相比,已编码视频流204可以被强调为是较低的数据量,其可存储在流式传输服务器205上,以供将来使用。至少一个流式传输客户端212和流式传输客户端207,可访问流式传输服务器205,以检索已编码视频码流204的副本208和副本206。客户端212可包括视频解码器211,其对已编码视频数据的传入副本208进行解码,并产生可在显示器209或其他呈现装置(未描绘)上呈现的输出视频样本流210。在一些流式传输系统中,可根据某些视频编码/压缩标准,对视频码流204、206和208进行编码。该些标准的一些示例,在前文中有提到的,并在下文进一步描述。
37.图3可以是根据本技术实施例的视频解码器300的功能框图。
38.接收器302可接收待由视频解码器300解码的至少一个已编码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中,每个已编码视频序列的解码独立于其它已编码视频序列。已编码视频序列可从信道301接收,所述信道301可以是通向存
储已编码视频数据的存储装置的硬件/软件链路。接收器302可接收已编码视频数据以及其它数据,例如,可转发到它们各自的使用实体(未示出)的已编码音频数据和/或辅助数据流。接收器302可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器303可耦接在接收器302与熵解码器/解析器304(此后称为“解析器304”)之间。当接收器302从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不需要配置缓冲存储器303,或可以将所述缓冲存储器做得较小。当然,为了在互联网等尽力而为分组网络上使用,可能需要缓冲存储器303,所述缓冲存储器可相对较大且可具有自适应性大小。
39.视频解码器300可包括解析器304,以根据已熵编码视频序列重建符号313。这些符号的类别包括用于管理视频解码器300的操作的信息,以及潜在地包括用于控制显示器312等显示装置的信息,所述显示装置不是所述视频解码器的组成部分,但可耦接到所述视频解码器。用于显示装置的控制信息可以是辅助增强信息(supplemental enhancement information,sei消息)或视频可用性信息(video usability information,vui)的参数集片段(未示出)。解析器304可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员熟知的原理,包括可变长度编码、霍夫曼编码(huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器304可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(group of pictures,gop)、图片、图块(tile)、条带(slice)、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等等。熵解码器/解析器还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
40.解析器304可对从缓冲存储器303接收的视频序列执行熵解码/解析操作,从而创建符号313。解析器304可以接收已编码数据,有选择地对特殊的符号313进行解码。此外,解析器304可以确定是否要将特殊的符号313提供给运动补偿预测单元306、缩放器/逆变换单元305、帧内预测单元307、环路滤波器311。
41.取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号313的重建可涉及多个不同单元。涉及哪些单元以及涉及方式,可由解析器304从已编码视频序列解析出的子群控制信息控制。为了清楚起见,未描述解析器304与下文的多个单元之间的此类子群控制信息流。
42.除已经提及的功能块以外,视频解码器300可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以至少彼此集成。然而,出于描述本技术所公开主题的目的,概念上细分成下文的功能单元是适当的。
43.第一单元是缩放器/逆变换单元305。缩放器/逆变换单元305从解析器304接收作为符号313的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元305可输出包括样本值的块,所述块可输入到聚合器310中。
44.在一些情况下,缩放器/逆变换单元305的输出样本可属于帧内编码块;即:不使用来自先前已重建图片的预测性信息、而是可以使用来自当前图片的先前已重建部分的预测
性信息的块。此类预测性信息可由帧内图片预测单元307提供。在一些情况下,帧内图片预测单元307采用从当前(已部分重建的)图片309提取的周围已重建信息,生成大小和形状与正在重建的块相同的周围块。在一些情况下,聚合器310基于每个样本,将帧内图片预测单元307生成的预测信息添加到由缩放器/逆变换单元305提供的输出样本信息中。
45.在其它情况下,缩放器/逆变换单元305的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元306可访问参考图片存储器308以提取用于预测的样本。在根据与所述块相关的符号313对提取的样本进行运动补偿之后,这些样本可由聚合器310添加到缩放器/逆变换单元305的输出(在这种情况下称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元从参考图片存储器内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号313的形式而供运动补偿预测单元使用,所述符号313例如可以包括x、y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器提取的样本值的插值、运动矢量预测机制等等。
46.聚合器310的输出样本可在环路滤波器单元311中经过各种环路滤波技术处理。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频码流中的参数,且所述参数作为来自解析器304的符号313可用于环路滤波器单元311,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前已重建且经过环路滤波的样本值。
47.环路滤波器单元311的输出可以是样本流,所述样本流可输出到显示装置312以及存储在参考图片存储器308,以用于后续的帧间图片预测。
48.一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片被(通过例如解析器304)识别为参考图片,则当前图片309可变为参考图片存储器308的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器。
49.视频解码器300可根据例如itu

t h.265标准中记载的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法的意义上,如视频压缩技术文档或标准以及特别是其中的配置文件中所规定,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。对于合规性而言,已编码视频序列的复杂度必须处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片尺寸、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片尺寸等。在一些情况下,由层级设定的限制可通过假想参考解码器(hypothetical reference decoder,hrd)规范和在已编码视频序列中用信号表示的hrd缓冲器管理的元数据来进一步限定。
50.在实施例中,接收器302可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器300使用,用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,snr)增强层、冗余切片、冗余图片、前向纠错码等形式。
51.图4可以是根据本技术实施例的视频编码器400的框图。
52.视频编码器400可从视频源401(并非视频编码器的一部分)接收视频样本,所述视频源可采集将由视频编码器400编码的视频图像。
53.视频源401可提供将由视频编码器403编码的呈数字视频样本流形式的源视频序
列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位
……
)、任何色彩空间(例如bt.601y crcb、rgb
……
)和任何合适取样结构(例如y crcb4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源401可以是存储先前已准备好的视频的存储装置。在视频会议系统中,视频源401可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括至少一个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
54.根据实施例,视频编码器400可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列410。施行适当的编码速度是控制器402的一个功能。控制器402控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了清楚起见,图中未标示耦接。由控制器402设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片尺寸、图片群组(group ofpictures,gop)布局,最大运动矢量搜索范围等。本领域技术人员可识别控制器402的其他功能,因为这些功能可能涉及针对某一系统设计优化的视频编码器400。
55.一些视频编码器在本领域技术人员容易识别出的“编码环路”中进行操作。作为简单的描述,编码环路可包括编码器403(下文称为“源编码器”)的编码部分(负责基于待编码的输入图片和参考图片创建符号)和嵌入于视频编码器400中的(本地)解码器406。解码器406重建符号,以创建(远程)解码器同样会创建的样本数据(因为在本技术主题所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩都是无损的)。将重建的样本流输入到参考图片存储器405。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器中的内容在本地编码器与远程编码器之间也是按位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)对于本领域技术人员而言,也是熟知的。
[0056]“本地”解码器406的操作可与已在上文结合图3详细描述的“远程”解码器300相同。然而,另外简要参考图3,当符号可用且熵编码器408和解析器304能够无损地将符号编码/解码为已编码视频序列时,解码器300的熵解码部分,包括信道301、接收器302、缓冲存储器303和解析器304,可以不是全部在本地解码器406中实现。
[0057]
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式,存在于对应的编码器中。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,在下文提供。
[0058]
作为其操作的一部分,源编码器403可执行运动补偿预测编码,参考来自视频序列中被指定为“参考帧”的至少一个先前已编码帧,对输入帧进行预测性编码。以此方式,编码引擎407对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。
[0059]
本地视频解码器406可基于源编码器403创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎407的操作可为有损过程。当已编码视频数据可在视频解码器(图4中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器406复制解码过程,所述解码过程可由视频解码器对参考帧执行,且
可使重建的参考帧存储在参考图片高速缓存405中。以此方式,视频编码器400可在本地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
[0060]
预测器404可针对编码引擎407执行预测搜索。即,对于将要编码的新帧,预测器404可在参考图片存储器405中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器404可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器404获得的搜索结果,可确定输入图片可具有从参考图片存储器405中存储的多个参考图片取得的预测参考。
[0061]
控制器402可管理源编码器403的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
[0062]
可在熵编码器408中对所有上述功能单元的输出进行熵编码。熵编码器408根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
[0063]
传输器409可缓冲由熵编码器408创建的已编码视频序列,从而为通过通信信道411进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器409可将来自视频编码器400的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0064]
控制器402可管理视频编码器400的操作。在编码期间,控制器402可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种帧类型:
[0065]
帧内图片(i图片),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(independent decoder refresh,“idr”)图片。所属领域的技术人员了解i图片的变体及其相应的应用和特征。
[0066]
预测性图片(p图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0067]
双向预测性图片(b图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
[0068]
源图片通常可在空间上细分成多个样本块(例如,4
×
4、8
×
8、4
×
8或16
×
16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行非预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,i图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。p图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。b图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
[0069]
视频编码器400可根据例如itu

t h.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器400可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
[0070]
在实施例中,传输器409可在传输已编码的视频时传输附加数据。源编码器403可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/snr增强层、冗余图片和切片等其它形式的冗余数据、sei消息、vui参数集片段等。
[0071]
图5图示了根据示例性实施例的呼叫500,例如360度电话会议。参考图5,房间501中正在组织电话会议。房间501包括物理上存在于房间501中的人、全景摄像头505和视屏502。另外两个人503和504加入会议,根据示例性实施例,人503可以使用vr和/或ar耳机,人504可以使用智能手机或平板电脑。人503和人504经由全景摄像头505接收会议室的360度视图,所接收的视图可以分别对应于人503和人504,人503和人504例如可能正在观看或可能不是正在观看相对于他们的特定视屏定位的360度视图的不同部分。远程与会人员,例如人503和人504,还具有进入聚焦彼此摄像头信息流的选项。在图5中,人503和人504,分别将他们的视口信息507和视口信息508,发送到房间501或与全景摄像头505和视屏502相关的其它联网设备,房间501或其他联网设备反过来又分别将视口相关视频509和视口相关视频510发送给人503和人504。
[0072]
除了用于ims(mtsi)呼叫信令的常规多媒体电话业务之外,在呼叫建立过程中,通过会话描述协议(session description protocol,sdp),将用户的初始视口定位、解码/渲染元数据、捕获的视场,用信号表示(例如,图8中的会议室801和远程用户802之间的步骤s803)。在呼叫建立之后,远程各方通过rtcp报告发送它们的视口定位信息。
[0073]
根据示例性实施例,rtcp反馈可以遵循5%带宽使用规则。因此,发送rtcp反馈的频率取决于组规模或远程参与者的数量。随着组规模的增大,可以不那么频繁地发送rtcp反馈,以遵守带宽使用限制。当远程参与者的数量较少时,可以使用即时rtcp反馈。随着参与者数量的增加,可以使用早期rtcp反馈。然而,如果组规模变大,则应当发送规律的rtcp反馈。根据互联网工程任务组(internet engineering task force,ietf)意见征集书(request for comments,rfc)3550,rtcp的最小传输间隔可以是5秒。随着组规模的增大,rtcp反馈间隔也会增大,从而导致额外的延迟。根据例性实施例,以在沉浸式视频中使用为例,可以根据固定间隔基础和事件基础中的任何一个基础,发送rtcp报告,这可以是由每个远程人员(例如图5中的人503和/或人504)的视口定位的改变而触发。
[0074]
根据示例性实施例,rtcp反馈数据包可以是由状态报告和反馈(feedback,fb)消息组成的复合数据包。此外,发送端报告(sender report,sr)/接收端报告(receiver report,rr)数据包包含状态报告,状态报告以固定的间隔传输,作为复合rtcp包的一部分,所述复合rtcp包的一部分除了其它消息之外还包括源描述。
[0075]
根据示例性实施例,包含反馈消息的复合rtcp包中的rtcp包的顺序是:
[0076]

可选的:加密前缀,
[0077]

强制性的:sr或rr,
[0078]

强制性的:sdes(source description items,源描述项)
[0079]

一个或多个fb消息。
[0080]
在复合rtcp包中,fb消息可放在rr数据包和源描述rtcp包(sdes)之后。
[0081]
携带有反馈数据包的两种复合rtcp包可以描述为:最小复合rtcp反馈数据包和完整的复合rtcp反馈数据包。
[0082]
rtcp反馈消息在ietf 4585中规定。它可以通过pt(有效载荷类型)=psfb(206)来
识别,psfb(206)指的是针对有效载荷的反馈消息。根据示例性实施例,反馈消息可能涉及基于固定间隔和基于事件两者的视口信息的信令。
[0083]
当任何远程参与者(例如图1中的人503和人504中的一人)改变其相应视口(例如,通过改变其各自的显示设备的空间定位)时,应当及时传送rtcp视口反馈,否则可能会导致延迟并影响该用户的高质量vr体验。随着远程参与者数量的增加,rtcp反馈间隔增大。如果按固定rtcp反馈间隔发送rtcp反馈消息,例如仅基于5秒,则可能随着远程参与者的数量增加而延迟。因此,根据示例性实施例,rtcp间隔可以是固定反馈间隔和基于事件的间隔的组合,以便改善这些技术缺陷。
[0084]
根据示例性实施例,固定rtcp反馈间隔应当发送符合rtp规则的复合rtcp包,其中,连续传输之间的最小rtcp间隔(tmin)应当是五秒。该rtcp间隔可以根据rtcp包大小和可用的rtcp带宽导出。完整的复合数据包包含任意附加的rtcp包,例如,附加的接收端报告,附加的sdes项等。
[0085]
当视口改变时,触发基于事件的反馈。在这种情况下,可以发送最小复合rtcp反馈数据包。最小复合rtcp反馈数据包仅包含强制性信息,诸如必需的加密前缀、恰好一个sr或rr、恰好一个sdes(仅存在cname项)以及fb消息。这有助于使得为反馈而传输的rtcp包最小化,因此对带宽的影响最小。与固定rtcp反馈间隔不同的是,基于事件的反馈不受组规模的影响。
[0086]
当用户改变视口701时,如图7所示,触发基于事件的反馈,并且应当在最小间隔(tmin)之后启动固定反馈间隔。现在,如果用户在最小间隔之前改变其视口701,则再次触发基于事件的反馈。如果这些事件连续发生,这可能会影响5%带宽规则。然而,对基于事件的反馈设置最小间隔约束,会降低用户的体验。因此,对于要发送的基于事件的反馈,不应定义最小间隔。为了考虑rtcp反馈的带宽利用,可以增加用于固定反馈的间隔,因此它应该取决于基于事件的反馈的频率和基于事件的反馈之间的间隔。
[0087]
考虑到这里描述的示例性实施例,用户能够请求再高的质量余量,例如图7的图示700中的702所示,在视口701的周围,以便使延迟最小化,例如m2hq延迟,并且增强用户体验。视口701可以是图5中的远程人员503和远程人员504的任何设备的视口。当远程人员503和远程人员504中的一人正在小幅地晃动头部时,这是非常有用的。然而,在呼叫期间,例如图8中的s805所示,当用户(可忽略地)少量移动其头部,而该移动量超出视口余量702时,由于超出余量的视口区域相对可忽略,因此不应该触发基于事件的反馈,因此应该等待固定反馈的传输。因此,在可以触发基于事件的反馈之前,可以为偏转(yaw)、俯仰(pitch)和翻滚(roll)定义一定程度的容差703,例如,参见图8中的s804,其中容差信息可以是从远程用户802传输到会议室801。该程度的容差703、包括基于事件的反馈容差余量705的容差信息,可以被定义为来自用户视口的旋转角偏转(tyaw)、俯仰(tpitch)和翻滚(troll)中的一个或多个。这样的信息可以在初始sdp会话s804期间协商,如图8所示,或者在根据实施例的会话之间协商,例如在s806。
[0088]
图6图示了根据示例性实施例的在此描述的这种反馈消息的格式600。
[0089]
图6示出了rtcp反馈消息格式600。在图6中,fmt(feedback message type)表示反馈消息类型,pt(payload type)表示有效载荷类型。对于rtcp反馈消息,可以将fmt设置为值“9”,而将pt设置为206。根据示例性实施例,fci(反馈消息控制信息)包含视口信息,并且
包括以下参数:viewport_azimuth;viewport_elevation;viewport_tilt;viewport_azimuth_range;viewport_elevation_range;viewport_stereoscopic。
[0090]
图9图示了流程图900。步骤s901存在呼叫建立,包括例如图8中s803的初始化,并且根据实施例,除了用于ims(mtsi)呼叫信令的常规多媒体电话业务之外,在呼叫建立期间,还通过会话描述协议(sdp)提供包括用户的视口定位、解码/渲染元数据和捕获的视场信息。如上所述,可以在s901设置容差程度。
[0091]
在呼叫建立之后,在s902,远程方通过rtcp报告发送它们的视口定位信息,连同呼叫的开始一起发送。然后,在s903,可以确定是否触发了基于事件的反馈以及是否触发了固定反馈间隔。可以通过确定是否已经经过某个时间段(例如5秒)而触发固定反馈间隔,作为基于时间的反馈。基于事件的反馈可以通过判断远程用户的视口的空间定位是否已经改变来确定,如果是,则判断该改变是在预设的容差范围之内,还是超过了预设的容差范围,例如相对于图7中的容差余量705。
[0092]
如果在s905确定触发了基于时间的反馈,则可以发送复合rtcp包。根据示例性实施例,固定rtcp反馈间隔应当发送符合rtp规则的复合rtcp包,其中连续传输之间的最小rtcp间隔(tmin)应当是五秒。该rtcp间隔可以根据rtcp包大小和可用的rtcp带宽导出。完整的复合数据包包含任意附加的rtcp包,例如,附加的接收端报告、附加的sdes项等。然后,可以在s904确定是否存在用户输入或对容差信息的一些更新的其它输入,如果没有,则该过程可以循环,或者可以根据所接收的关于s905的复合rtcp包的任何通信,在s902继续进行呼叫。s905还可以重置定时器,以对另一个时间周期进行计数,例如5秒。
[0093]
如果在s906确定触发了基于事件的反馈,则可以发送最小rtcp包。例如,当视口改变时,触发基于事件的反馈。在这种情况下,可以发送最小复合rtcp包。最小复合rtcp反馈数据包仅包含强制性信息,诸如必需的加密前缀、恰好一个sr或rr、恰好一个sdes(仅存在cname(canonical name,规范名称)项)以及fb消息。这有助于使得为反馈传输的rtcp包最小化,因此对带宽的影响最小。与固定rtcp反馈间隔不同的是,基于事件的反馈不受组大小的影响。然后,可以在s904确定是否存在用户输入或对容差信息的一些更新的其它输入,如果没有,则该过程可以进行循环,或者可以根据所接收的关于s906的最小rtcp包的任何通信,在s902继续进行呼叫。s906还可以重置定时器,以对另一个时间周期进行计数,例如5秒。此外,在s906还确定基于事件的触发频率超过了阈值(例如根据实施例,导致超过rtcp的5%带宽规则)的情况下,还可以在s904(在s906之后)确定是否更新定时器,以对增加的流逝时间进行计数。
[0094]
因此,通过本文描述的示例性实施例,通过这些技术方案中的一个或多个可有利地改善上述技术问题。
[0095]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各种可选实现方式中提供的方法。
[0096]
上文所描述的技术可使用计算机可读指令实施为计算机软件且以物理方式存储在一个或多个计算机可读存储介质中,或者可以由一个或多个特别配置的硬件处理器实施。例如,图10示出适于实施本技术主题的某些实施例的计算机系统1000。
[0097]
所述计算机软件可使用任何合适的机器代码或计算机语言来编码,所述机器代码或计算机语言可经受汇编、编译、链接或类似机制以创建包括指令的代码,所述指令可直接或通过解译、微码执行等而由计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等执行。
[0098]
所述指令可在各种类型的计算机或计算机组件上执行,所述计算机或计算机组件包括例如个人计算机、平板电脑、服务器、智能电话、游戏装置、物联网装置等。
[0099]
图10中所示的用于计算机系统1000的组件在本质上是示范性的,并非旨在暗示关于实施本技术的实施例的计算机软件的使用或功能的范围的任何限制。也不应将组件的配置解释为对计算机系统1000的示范性实施例中所示的组件中的任一个组件或组件组合有任何依赖或需求。
[0100]
计算机系统1000可包括某些人机接口输入装置。此类人机接口输入装置可响应于一个或多个人类用户通过例如触觉输入(例如:按键、滑动、数据手套移动)、音频输入(例如:语音、拍击)、视觉输入(例如:手势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可用于捕获未必与人的有意识输入直接相关的某些媒体,例如音频(例如:话语、音乐、环境声)、图像(例如:扫描图像、从静态图像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0101]
输入人机接口装置可包括以下一个或多个(每种仅描绘一个):键盘1001、鼠标1002、轨迹垫1003、触摸屏1010、操纵杆1005、麦克风1006、扫描仪1008、相机1007。
[0102]
计算机系统1000还可包括某些人机接口输出装置。此类人机接口输出装置可通过例如触觉输出、声音、光和气味/味道刺激一个或多个人类用户的感觉。此类人机接口输出装置可包括触觉输出装置(例如触摸屏1010或操纵杆1005的触觉反馈,但还可存在不充当输入装置的触觉反馈装置)、音频输出装置(例如:扬声器1009、头戴式耳机(未描绘))、视觉输出装置(例如,屏幕1010,包括crt屏幕、lcd屏幕、等离子体屏幕、oled屏幕,各自具有或不具有触摸屏输入能力,各自具有或不具有触觉反馈能力
‑‑
其中的一些能够通过例如立体平画输出的方式输出二维视觉输出或大于三维的输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾箱(未描绘)),以及打印机(未描绘)。
[0103]
计算机系统1000还可包括人类可访问的存储装置和存储装置的相关联介质,例如光学介质,包括具有cd/dvd1011等介质的cd/dvd rom/rw1020、拇指驱动器1022、可移动硬盘驱动器或固态驱动器1023、磁带和软盘(未描绘)等旧版磁性媒体、基于rom/asic/pld的专用装置,例如安全保护装置(未描绘),等等。
[0104]
所属领域的技术人员还应理解,结合当前公开的主题使用的术语“计算机可读介质”并未涵盖传输介质、载波或其他瞬时信号。
[0105]
计算机系统1000还可包括到一个或多个通信网络1098的接口1099。网络1098可例如是无线的、有线的、光学的。网络1098还可以是本地的、广域的、城域的、车载和工业的、实时的、容忍延迟的等等。网络1098的示例包括例如以太网、无线lan的局域网、包括gsm、3g、4g、5g、lte等的蜂窝网络、包括有线tv、卫星tv和地面广播tv的tv有线或无线广域数字网络、包括can总线的车载网络和工业网络等。某些网络1098通常需要附接到某些通用数据端口或外围总线(1050和1051)(例如,计算机系统1000的usb端口)的外部网络接口适配器;其他网络通常通过附接到如下文所描述的系统总线而集成到计算机系统1000的核心中(例如
通过以太网接口集成到pc计算机系统中,或通过蜂窝网络接口集成到智能电话计算机系统中)。通过使用这些网络1098中的任一网络,计算机系统1000可与其他实体通信。此类通信可以是仅单向接收(例如广播tv)、仅单向发送(例如连到某些can总线装置的can总线)或是双向的,例如使用局域数字网络或广域数字网络连接到其他计算机系统。可在如上文所描述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
[0106]
上述人机接口装置、人类可访问存储装置和网络接口可附接到计算机系统1000的核心1040。
[0107]
核心1040可包括一个或多个中央处理单元(central processing unit,cpu)1041、图形处理单元(graphics processing unit,gpu)1042、图形适配器1017、现场可编程门区域(field programmable gate areas,fpga)形式的专用可编程处理单元1043、用于某些任务的硬件加速器1044等等。这些装置连同只读存储器(read

only memory,rom)1045、随机存取存储器1046、例如内部非用户可访问的硬盘驱动器、ssd等内部大容量存储装置1047可通过系统总线1048连接。在一些计算机系统中,系统总线1048可通过一个或多个物理插头形式访问以实现通过额外cpu、gpu等来扩展。外围装置可直接或通过外围总线1049附接到核心的系统总线1048。用于外围总线的架构包括pci、usb等等。
[0108]
cpu1041、gpu1042、fpga1043和加速器1044可执行某些指令,所述指令组合起来可构成上述计算机代码。计算机代码可存储在rom1045或ram1046中。过渡数据也可存储在ram1046中,而永久性数据可例如存储在内部大容量存储装置1047中。可通过使用高速缓冲存储器来实现对任一存储器装置的快速存储和检索,所述高速缓冲存储器可与一个或多个cpu1041、gpu1042、大容量存储装置1047、rom1045、ram1046等紧密关联。
[0109]
计算机可读介质上可具有用于执行各种计算机实施的操作的计算机代码。所述介质和计算机代码可以是专为本技术的目的设计和构建的介质和计算机代码,或可属于计算机软件领域中的技术人员众所周知且可用的种类。
[0110]
举例来说但不作为限制,具有架构1000且尤其是核心1040的计算机系统可提供因处理器(包括cpu、gpu、fpga、加速器等)执行以一个或多个有形计算机可读介质体现的软件而产生的功能。此类计算机可读介质可以是与上文所介绍的用户可访问大容量存储装置以及核心1040的非易失性质的某些存储装置(例如核心内部大容量存储装置1047或rom1045)相关联的介质。实施本技术的各种实施例的软件可存储在此类装置中且由核心1040执行。根据特定需求,计算机可读介质可包括一个或多个存储器装置或芯片。软件可使核心1040且具体地说使其中的处理器(包括cpu、gpu、fpga等等)执行本文中所描述的特定过程或特定过程的特定部分,包括限定存储在ram1046中的数据结构以及根据由软件限定的过程修改此类数据结构。另外或作为替代方案,计算机系统可提供由硬连线的或以其他方式体现于电路(例如:加速器1044)中的逻辑所产生的功能,所述逻辑可代替或连同软件一起操作以执行本文描述的特定过程或特定过程的特定部分。适当时,对软件的引用可涵盖逻辑,且反之亦然。适当时,对计算机可读介质的引用可涵盖存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或这两种电路。本技术涵盖硬件与软件的任何合适的组合。
[0111]
尽管本技术描述了若干示范性实施例,但在本技术的范围内,可以有各种改动、排列组合方式以及各种替代等同物。因此,应该理解,在申请的精神和范围内,本领域技术人
员可以设计出各种虽未在本文明确示出或描述、但可以体现本技术的原理的系统和方法。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜