网络控制显示内容同步的方法转让专利

申请号 : CN201610791750.4

文献号 : CN106210443B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘亚博代波王强

申请人 : 广东省广告集团股份有限公司

摘要 :

本发明提供了一种网络控制显示内容同步的方法,该方法包括:基于远程Agent维护多个AR设备的虚拟同步显示平台,将绘制出来的AR设备显示画面划分为多个区块进行独立的编码并传输到AR终端,利用画面同步机制实现播放进度的衔接。本发明提出了一种视频同步显示方法,考虑多种网络场景的可扩展性,降低了编码复杂度;在画面压缩效率和流畅效果各方面均达到最优。

权利要求 :

1.一种网络控制显示内容同步的方法,其特征在于,包括:

基于远程Agent维护多个AR设备的虚拟同步显示平台,将绘制出来的AR设备显示画面划分为多个区块进行独立的编码并传输到AR终端,利用画面同步机制实现播放进度的衔接;

所述将绘制出来的AR设备显示画面划分为多个区块进行独立的编码并传输到AR终端,进一步包括:

将画面图像以固定大小划分为块进行编码,并且显示屏幕以帧为单位进行解码;构造一个帧更新表U(x,y),其中x,y表示图像中的一个块的位置,0

如果某一帧中的一个非时移块的数据已经接收并且状态更新,则将之前帧中同一个位置的块的数据标识为过期,不再重传这些数据;具体地,在主机端构造每个数据块的状态表,对于每个数据包,获取包中数据块集合,将当前集合中的每个数据块的索引设置为i,如果当前块的类型不是时移块并且所在帧的编号大于i在状态表中的状态Ai,则将所在帧的编号作为状态Ai;每当接收到AR终端的更新消息,状态表都会进行更新;

接收终端每隔预设周期都会向发送终端反馈一个状态包,包含该时间段内数据包接收的相关信息;若发送终端在预设时间内没接收到状态包,则判定当前网络为过载状态;若当前丢包率低于固定阈值,则判定当前网络为空闲状态;其他情况判定为正常状态;

若判定网络为过载,使用衰减系数λ降低当前比特率参数Bx:

Bx=max(λ×Bx,Bmin}(0<λ<1)

若判定网络为欠载,使用增长系数θ增加当前比特率参数Bx:

Bx=min{Bx+θ,Bmax}(θ<

发送端若判定网络为正常状态下逼近过载时,使用衰减系数δ小幅度调整当前比特率参数Bx:

Bx=max(Bx-δ,Bmin}(δ<

其中Bmax和Bmin分别代表比特率参数的最小值和最大值;

如果编码器输出码率达到设定的最小值,网络依然处于过载状态,则采用以下方法进一步降低输送到网络的数据量:当Bx等于Bmin且出现次数达到p次时,将I帧和P帧全部丢弃,只发送B帧,控制更少的数据量输出;在当连续q个周期网络仍然过载时,其中q>p,发送端继续丢弃部分B帧;当Bx大于Bmin时,发送终端发送所有类型的视频帧;在出现丢包率降低至正常状态时,发送端首先仍将I帧和P帧全部丢弃,继续判断Bx等于Bmin出现的次数是否达到p次,若不超过p次,才发送所有帧。

2.根据权利要求1所述的方法,其特征在于,当一个认证用户的一台AR设备连接到所述Agent时,Agent的终端管理器识别出该用户并且为这个设备创建一个新的虚拟显示实例,执行画面引擎的逻辑,并且维护所有的显示画面播放中的状态;在设备成功连接后,Agent通知相同用户的所有其他AR设备可以和这个设备之间进行播放进度保持一致;

所述播放进度衔接是通过更改虚拟显示实例和AR终端设备之间的对应关系而实现的;

当AR设备B发送一个带有目标AR设备A的同步请求到Agent时,Agent将其播放进度和目标设备对应起来,将设备B中绘制出的画面图像发送到设备A,同时设备A的用户输入也发送给设备B;所有的显示画面播放状态都由虚拟显示实例维护,以保持所有的显示画面播放状态;

所述Agent根据预先设定的模式进行画面播放进度衔接,在迁移模式下,设备B的播放进度衔接到设备A,而设备A的播放进度将被释放掉;在共享模式下,设备B的播放进度会衔接到设备A,同时,为设备B创建一个新的拥有相同状态的播放实例,设备B原来的播放进度中的状态,用来构建这个新的实例x在互换模式下,设备B的播放进度和设备A的播放进度相互交换。

说明书 :

网络控制显示内容同步的方法

技术领域

[0001] 本发明涉及屏幕显示,特别涉及一种网络控制显示内容同步的方法。

背景技术

[0002] 人们工作生活中的多媒体设备己经从传统的以单个智能设备,转变成桌面电脑、智能手机、平板电脑和电视机以及虚拟现实、增强现实设备共同存在。因此从单独的设备,逐渐转变成同步、综合使用这些设备,能够获得更好的用户体验。传统的计算机同步显示平台通常是为有线局域网环境设计的。但是,在云计算的场景中,用户可能处于各种各样的网络环境,例如蓝牙、3G网络、WiFi。现有的同步显示平台尚未考虑多种网络场景的可扩展性,在带宽,延迟和图像质量上成为瓶颈。例如,有些方法将画面像素划分到不同的位图层之中,通常这会导致较高的编码复杂度;画面流媒体压缩效率不够理想。

发明内容

[0003] 为解决上述现有技术所存在的问题,本发明提出了一种网络控制显示内容同步的方法,包括:
[0004] 基于远程Agent维护多个AR设备的虚拟同步显示平台,将绘制出来的AR设备显示画面划分为多个区块进行独立的编码并传输到AR终端,利用画面同步机制实现播放进度的衔接。
[0005] 优选地,当一个认证用户的一台AR设备连接到所述Agent时,Agent的终端管理器识别出该用户并且为这个设备创建一个新的虚拟显示实例,执行画面引擎的逻辑,并且维护所有的显示画面播放中的状态;在设备成功连接后,Agent通知相同用户的所有其他AR设备可以和这个设备之间进行播放进度保持一致;
[0006] 所述播放进度衔接是通过更改虚拟显示实例和AR终端设备之间的对应关系而实现的;当AR设备B发送一个带有目标AR设备A的同步请求到Agent时,Agent将其播放进度和目标设备对应起来,将设备B中绘制出的画面图像发送到设备A,同时设备A的用户输入也发送给设备B;所有的显示画面播放状态都由虚拟显示实例维护,以保持所有的显示画面播放状态;
[0007] 所述Agent根据预先设定的模式进行画面播放进度衔接,在迁移模式下,设备B的播放进度衔接到设备A,而设备A的播放进度将被释放掉;在共享模式下,设备B的播放进度会衔接到设备A,同时,为设备B创建一个新的拥有相同状态的播放实例,设备B原来的播放进度中的状态,用来构建这个新的实例x在互换模式下,设备B的播放进度和设备A的播放进度相互交换。
[0008] 优选地,所述将绘制出来的AR设备显示画面划分为多个区块进行独立的编码并传输到AR终端,进一步包括:
[0009] 将抓取到的画面图像划分为多个区块,各个区块独立进行编码,编码产生的比特结果打包之后送入传输队列,然后通过UDP通道传输到AR终端;AR终端接收到这些包,解码出各个区块并将其显示在屏幕上;当传输队列满时,编码控制模块停止屏幕编码过程,直到传输队列中有足够的空间容纳下一个编码帧;然后通过减少不必要的重传来降低传输延迟。
[0010] 优选地,将画面图像以固定大小划分为块进行编码,并且显示屏幕以帧为单位进行解码;构造一个帧更新表U(x,y),其中x,y表示图像中的一个块的位置,0
[0011] 如果某一帧中的一个非时移块的数据已经接收并且状态更新,则将之前帧中同一个位置的块的数据标识为过期,不再重传这些数据;具体地,在主机端构造每个数据块的状态表,对于每个数据包,获取包中数据块集合,将当前集合中的每个数据块的索引设置为i,如果当前块的类型不是时移块并且所在帧的编号大于i在状态表中的状态Ai,则将所在帧的编号作为状态Ai;每当接收到AR终端的更新消息,状态表都会进行更新;
[0012] 接收终端每隔预设周期都会向发送终端反馈一个状态包,包含该时间段内数据包接收的相关信息;若发送终端在预设时间内没接收到状态包,则判定当前网络为过载状态;若当前丢包率低于固定阈值,则判定当前网络为空闲状态;其他情况判定为正常状态;
[0013] 若判定网络为过载,使用衰减系数λ降低当前比特率参数Bx:
[0014] Bx=max(λ×Bx,Bmin}(0<λ<1)
[0015] 若判定网络为欠载,使用增长系数θ增加当前比特率参数Bx:
[0016] Bx=min{Bx+θ,Bmax}(θ<
[0017] 发送端若判定网络为正常状态下逼近过载时,使用衰减系数δ小幅度调整当前比特率参数Bx:
[0018] Bx=max(Bx-δ,Bmin}(δ<
[0019] 其中Bmax和Bmin分别代表比特率参数的最小值和最大值;
[0020] 如果编码器输出码率达到设定的最小值,网络依然处于过载状态,则采用以下方法进一步降低输送到网络的数据量:当Bx等于Bmin且出现次数达到p次时,将I帧和P帧全部丢弃,只发送B帧,控制更少的数据量输出;在当连续q个周期网络仍然过载时,其中q>p,发送端继续丢弃部分B帧;当Bx大于Bmin时,发送终端发送所有类型的视频帧;在出现丢包率降低至正常状态时,发送端首先仍将I帧和P帧全部丢弃,继续判断Bx等于Bmin出现的次数是否达到p次,若不超过p次,才发送所有帧。
[0021] 本发明相比现有技术,具有以下优点:
[0022] 本发明提出了一种网络控制显示内容同步的方法,考虑多种网络场景的可扩展性,降低了编码复杂度;在画面压缩效率和流畅效果各方面均达到最优。

附图说明

[0023] 图1是根据本发明实施例的一种网络控制显示内容同步的方法的流程图。

具体实施方式

[0024] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
[0025] 本发明的一方面提供了一种网络控制显示内容同步的方法。图1是根据本发明实施例的一种网络控制显示内容同步的方法流程图。
[0026] 本发明首先在画面压缩过程中,将输入的显示帧以固定大小划分为块,基于帧序列的帧内相关性和帧间相关性压缩编码;基于内容自适应的编码方法,即利用位图区域特征将画面分类为位图区域和文字区域;位图区域和文字区域分别置于位图层和文字层中,位图区域采用图像编码进行处理,对文字区域进行颜色描述和量化以及利用光强度和饱和度的通道相关性编码。在画面同步传输过程中,根据画面内容而划分为多个区块进行独立的编码和传输;根据以上压缩方法的特性,利用改进的延迟降低方法来传输画面。
[0027] 本发明利用多AR设备协同画面同步显示平台,基于远程Agent而在AR终端部署同步显示平台。Agent维护了一个虚拟同步显示平台用于解析、排版和绘制显示画面,绘制出来的画面图像在编码后传输到AR终端。AR终端接收并且解码码流,然后将画面图像显示出来。在基于Agent的AR终端同步显示平台的基础上,利用显示画面播放进度同步机制,实现播放进度的无缝衔接。
[0028] 输入的画面图像首先以64×64的大小分块。然后通过在相邻帧之间进行差别检测,找出内容和位置均不变的块,本发明称之为时移块。通过联合熵编码来压缩每一个时移块的类型,在其余的块中执行基于块边界对齐的运动检测来找出内容不变但是发生位移的区域。对于每一个运动块,将其类型和运动向量进行编码。在检测出相邻帧之间的不变内容之后,将其余的块分类为位图区域和文字区域,然后分别采用不同的方法进行压缩。
[0029] 本发明在分类时,对于一个块i,令XP(i)和YP(i)分别表示当前梯度系数下将当前区域分类为位图区域进行编码时的失真率以及比特率,XT(i)和YT(i)分别表示当前梯度系数下将当前区域分类为文字区域进行编码时的失真率以及比特率。如果满足以下条件:
[0030] XT(i)≤XP(i),并且YT(i)<YP(i)
[0031] 则当前区域被分类为文字区域。
[0032] 如果满足以下条件:
[0033] XP(i)<XT(i),并且YP(i)≤YT(i)
[0034] 则当前区域被分类为位图区域。
[0035] 否则,当前区域将以拉格朗日失真率优化算法进行分类。
[0036] 分类完成后,首先进行像素级的量化,将一个块中出现频率最高的四种颜色确定为基础色。采用的量化函数表示如下:
[0037]
[0038] 其中x是要量化的颜色,BCk,是4个基础色,k=0,...,3,Δ1和Δ2是由两个预设量化增量。
[0039] 如果|x-BCk|≥Δ1,则这个颜色x被称为非基础色。文字内容的三个颜色通道各自独立进行量化。经过量化后,输入的画面图像的每一个块S(i,j)(0≤i≤w-l,0≤j≤i-1,w和h分别是块的宽度和高度)的各个颜色通道都可以用一个灰度矩阵I(i,j)以及基础色、非基础色来描述。I(i,j)的定义如下,
[0040] 如果S(i,j)-BCk<Δ1,则I(i,j)=k,否则I(i,j)=4
[0041] 在压缩文字内容时,如果某个块中文字像素占最大比例,则方法优先将其分类为文字区域进行压缩。利用基础色压缩文字像素而利用非基础色压缩位图像素可以保持压缩文字像素时的高效率。
[0042] 然后采用如下的方法将灰度矩阵I(i,j)转换成为二维关联图P(i,j)来表示文字内容的二维相关性。
[0043]
[0044] 这样对二维关联图做一维扫描就可以利用文字内容的二维相关性。当P(i,j)=0时,进一步编码索引值I(i,j)。
[0045] 对于要编码的块中的每一行,首先尝试以整行模式对其匹配编码。如果没有整行模式可以匹配,则将该行分解为若干个像素组,并对每一个像素组进行模式匹配。像素二维关联图数值代表了像素域的模式。将每L个像素二维关联图数值组成一个像素组二维符号,然后根据像素组模式的概率分布对其进行联合熵编码。像素组二维符号可以进一步转换为简单的符号0和1,如下:
[0046]
[0047] 其中k=0,…,w/L-1,j=0,…,h-1;m取[0,L-1]
[0048] 如果G(i,j)=0则进一步对像素组二维符号进行编码。
[0049] 对于位图层,在编码后分别生成个各自独立的JPEG流,对应于位图区域位置的内容以附近编码块颜色的平均值填充。统计一幅图像上的所有位图区域的颜色分布,然后将所有颜色量化为512个颜色。将位图区域量化的质量参数映射为量化增量。令QS1…,QSn表示n个基础色量化中的每个量化增量。以量化增量对图像中的位图区域进行量化时,将使均方差和比特率之和最小化的QSk确定为最优量化增量值。
[0050] 为减小画面传输的延迟,本发明首先将抓取到的画面图像划分为多个区块,各个区块独立进行编码。编码产生的比特结果打包之后送入传输队列,然后通过UDP通道传输到AR终端。AR终端接收到这些包,解码出各个区块并将其显示在屏幕上。当传输队列满时,编码控制模块停止屏幕编码过程,直到传输队列中有足够的空间容纳下一个编码帧。然后利用改进的传输方法来减少不必要的重传,从而降低传输延迟。
[0051] 首先仍然将画面图像以固定大小划分为块进行编码,并且显示屏幕以帧为单位进行解码。构造一个帧更新表U(x,y)(0
[0052] 为在画面同步传输环境下降低传输延迟,本发明采用以下方法,如果某一帧中的一个非时移块的数据已经接收并且状态更新,则之前帧中同一个位置的块的数据标识为过期,不再重传这些数据。具体地,在主机端构造每个数据块的状态表,对于每个数据包,获取包中数据块集合,将当前集合中的每个数据块的索引设置为i,如果当前块的类型不是时移块并且所在帧的编号大于i在状态表中的状态Ai,则将所在帧的编号作为状态Ai。每当接收到AR终端的更新消息,状态表都会进行更新。
[0053] 接收终端每隔预设周期都会向发送终端反馈一个状态包,包含该时间段内数据包接收的相关信息。若发送终端在预设时间内没接收到状态包,则判定当前网络为过载状态;若当前丢包率低于固定阈值,则判定当前网络为空闲状态;其他情况判定为正常状态。
[0054] 若判定网络为过载,使用衰减系数λ降低当前比特率参数Bx:
[0055] Bx=max(λ×Bx,Bmin}(0<λ<1)
[0056] 若判定网络为欠载,使用增长系数θ增加当前比特率参数Bx:
[0057] Bx=min{Bx+θ,Bmax}(θ<
[0058] 发送端若判定网络为正常状态下逼近过载时,使用衰减系数δ小幅度调整当前比特率参数Bx:
[0059] Bx=max(Bx-δ,Bmin}(δ<
[0060] 其中Bmax和Bmin分别代表比特率参数的最小值和最大值。
[0061] 如果编码器输出码率达到设定的最小值时,网络依然处于过载状态,则采用以下方法进一步降低输送到网络的数据量:当Bx等于Bmin且出现次数达到p次时,将I帧和P帧全部丢弃,只发送B帧,控制更少的数据量输出。在当连续q(q>p)个周期网络仍然过载,发送端继续丢弃部分B帧;当Bx大于Bmin时,发送终端发送所有类型的视频帧。在出现丢包率降低至正常状态时,发送端首先仍将I帧和P帧全部丢弃,继续判断Bx等于Bmin出现的次数是否达到p次,若不超过p次,才发送所有帧,保证视频实时流式传输。
[0062] 在基于Agent的播放进度衔接方面,当一个认证用户的一台AR设备连接到Agent时,Agent的终端管理器识别出该用户并且为这个设备创建一个新的虚拟显示实例,执行画面引擎的逻辑,并且维护所有的显示画面播放中的状态;在设备成功连接后,Agent通知相同用户的所有其他AR设备可以和这个设备之间进行播放进度保持一致。
[0063] 画面播放进度衔接是通过更改虚拟显示实例和AR终端设备之间的对应关系而实现的。当AR设备B发送一个带有目标AR设备A的同步请求到Agent时,Agent将其播放进度和目标设备对应起来,将设备B中绘制出的画面图像发送到设备A,同时设备A的用户输入也发送给设备B。所有的显示画面播放状态都由虚拟显示实例维护,这种机制可以保持所有的显示画面播放状态;
[0064] 所述Agent根据预先设定的模式进行画面播放进度衔接,在迁移模式下,设备B的播放进度衔接到设备A,而设备A的播放进度将被释放掉。在共享模式下,设备B的播放进度会衔接到设备A,同时,为设备B创建一个新的拥有相同状态的播放实例,设备B原来的播放进度中的状态,用来构建这个新的实例。在互换模式下,设备B的播放进度和设备A的播放进度相互交换。
[0065] 在另一优选的实施例中,为减少设备A和B直接链路的压力的影响,发送端的AR设备A与接收端的AR设备B通过转发设备C进行无线传输。转发设备C可包括多个设备C1…Cn。首先设备A发送握手信号到转发设备C,转发设备C接收数据并计算设备A与转发设备C之间数据传输链路的丢包率和传输速率组成的传输性能参数;设备C发送握手信号到设备B,设备B回传数据到转发设备C,转发设备C计算转发设备C与设备B之间数据传输链路的丢包率和传输速率组成的传输性能参数。转发设备C将其自身的计算速度、与设备A之间以及与设备B之间的传输性能参数一同发送回发送端的设备A。
[0066] 设备A根据备选转发设备C的传输性能参数,将此参数相似的转发设备C分为一组,作为转发设备组。对同一转发设备C而言,计算设备A与转发设备C、转发设备C与设备B之间的传输速率,并以其中较小的传输速率值为参考进行分组。设备A根据其传输时的基本传输数据速率和转发设备组的传输性能参数选中一组转发性能满足传输要求的转发设备组作为选定转发设备组,即选择传输速率大于基本传输数据速率的备选转发设备组中传输速率最大的一组作为选定转发设备组,并建立中继链路。
[0067] 设备A对自身画面信息进行抓取,将所抓取的画面信息和抓取时的时间以及设备标识号等参数一并封装到传输数据帧中,并通过无线传输网络向设备B和已经建立链路链接的选定转发设备组发送同一帧传输数据;与源设备和设备B建立链接的选定转发设备组将接收的传输数据通过无线传输网络向设备B转发。当设备B接收到设备A或者选定转发设备组中任意一个设备传输的数据后开始计时,并等待其他设备传来的数据。计时时间超过预设的最大延迟时,设备B通知尚未将传输数据传输给设备B的链路所对应的设备A或转发设备C丢弃超时的传输数据;然后设备B将已经接收到的传输数据进行选择合并。设备B将处理后的传输数据进行屏幕显示。
[0068] 在对某一时刻从设备A和设备C接收的传输数据进行同步性检测时,计算前一时刻各路画面传输信息的终端反馈不同步次数,将其与设置的终端反馈不同步次数的可接受阈值、终端反馈不同步次数的不接受阈值进行比较,若各路传输数据中最小终端反馈不同步次数小于终端反馈不同步次数的可接受阈值或者大于终端反馈不同步次数的不接受阈值,则选择终端反馈不同步次数最低的一路传输数据为设备B的显示数据。若各路传输数据中最小不同步次数介于终端反馈不同步次数的可接受阈值和终端反馈不同步次数的不接受阈值之间,则选取设备B接收到的传输数据中出现次数最多的传输数据为设备B的显示数据,若存在出现次数相同的传输数据,则选取其中终端反馈不同步次数低的传输数据为设备B的显示数据。
[0069] 综上所述,本发明提出了一种网络控制显示内容同步的方法,考虑多种网络场景的可扩展性,降低了编码复杂度;在画面压缩效率和流畅效果各方面均达到最优。
[0070] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
[0071] 应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。