一种图像数据的传输方法、装置及系统与流程

文档序号:12865979阅读:1622来源:国知局
一种图像数据的传输方法、装置及系统与流程

本公开涉及通信技术领域,尤其涉及一种图像数据的传输方法、装置及系统。



背景技术:

随着通信技术的发展,有许多终端设备上执行的操作可以由服务器来执行,这样可以减小终端设备的数据处理量,终端设备只需要显示服务器返回的显示界面即可,减小了对于终端设备的硬件要求。但是,这种情况下服务器和终端设备之间的图像传输就会十分频繁,图像传输数据量很大,可能会导致一些重要数据丢失,影响了图像传输的质量。



技术实现要素:

本公开实施例提供一种图像数据的传输方法、装置及系统,能够解决图像传输数据量较大时,会导致一些重要数据丢失,影响图像传输质量的问题,所述技术方案如下:

根据本公开实施例的第一方面,提供一种图像数据的传输方法,应用于图像数据的传输装置,该方法包括:

获取目标图像帧,目标图像帧为待传输的图像帧,目标图像帧包含至少一个数据块;

确定目标图像帧中所包含的数据块的数据类型;

将目标图像帧中不同数据类型的数据块分别通过不同的数据通道传输至接收装置,数据通道包括至少一个传输控制协议tcp数据通道和至少一个用户数据报协议udp数据通道。

对于目标图像帧,将不同数据类型的数据块分别通过不同的数据通道传输,对数据类型较为重要的数据块保证其传输质量,对数据类型不重要的数据块保证传输效率,在保证图像传输效率的条件下提高了图像传输的质量。

在一个实施例中,目标图像帧所包含的数据类型包括文本数据、视频数据、传感器数据中的至少一项。

在一个实施例中,目标图像帧包含传感器数据,将目标图像帧中不同类型的数据分别通过不同的数据通道传输至接收装置,包括:

将目标图像帧中包含的传感器数据通过tcp通道传输至接收装置。

传感器数据因为涉及与用户的交互,所以较为重要,利用tcp通道传输保证了传输质量。

在一个实施例中,目标图像帧包含视频数据,将目标图像帧中不同类型的数据分别通过不同的数据通道传输至接收装置,包括:

将目标图像帧中包含的视频数据通过udp数据通道传输至接收装置。

目标图像帧中的视频数据,其显示时间十分短暂,因此不需要很高的传输质量,即便丢失一些数据也不影响用户正常观看,因此,利用udp数据通道传输,节省网络资源,提高传输效率。

在一个实施例中,将目标图像帧中不同类型的数据分别通过不同的数据通道传输至接收装置之前,该方法还包括:

根据目标图像帧中每个数据块的数据类型在预设的映射分别确定每个数据块对应的数据通道,预设的映射用于指示至少一个数据类型与至少一个数据通道之间的对应关系。

对每个数据块都分配了对应的数据通道,提高了数据块的传输质量和效率。

在一个实施例中,该方法还包括:

在目标数据块对应的目标数据通道被占用时,暂停传输目标数据块,直至目标数据通道空闲,目标数据块是目标图像帧中的数据块。

因为相同类型的数据块可能分配了同一个数据通道,因此,对于同一个数据通道,传输的数据块需要一个一个传输,避免传输出现错误。

根据本公开实施例的第二方面,提供一种图像数据的传输方法,应用于接收装置,该方法包括:

分别通过不同的数据通道接收图像数据的传输装置发送的至少一个数据块,数据通道包括至少一个传输控制协议tcp数据通道和至少一个用户数据报协议udp数据通道;

根据至少一个数据块生成目标图像帧。

根据本公开实施例的第三方面,提供一种图像数据的传输装置,包括:获取模块、数据类型模块及传输模块;

获取模块,用于获取目标图像帧,目标图像帧为待传输的图像帧,目标图像帧包含至少一个数据块;

数据类型模块,用于确定目标图像帧中所包含的数据块的数据类型;

传输模块,用于将目标图像帧中不同数据类型的数据块分别通过不同的数据通道传输至接收装置,数据通道包括至少一个传输控制协议tcp数据通道和至少一个用户数据报协议udp数据通道。

在一个实施例中,目标图像帧所包含的数据类型包括文本数据、视频数据、传感器数据中的至少一项。

在一个实施例中,目标图像帧包含传感器数据;

传输模块,用于将目标图像帧中包含的传感器数据通过tcp通道传输至接收装置。

在一个实施例中,目标图像帧包含视频数据;

传输模块,用于将目标图像帧中包含的视频数据通过udp数据通道传输至接收装置。

在一个实施例中,图像数据的传输装置还包括映射模块,用于根据目标图像帧中每个数据块的数据类型在预设的映射分别确定每个数据块对应的数据通道,预设的映射用于指示至少一个数据类型与至少一个数据通道之间的对应关系。

在一个实施例中,图像数据的传输装置还包括暂停模块,用于在目标数据块对应的目标数据通道被占用时,暂停传输目标数据块,直至目标数据通道空闲,目标数据块是目标图像帧中的数据块。

根据本公开实施例的第四方面,提供一种接收装置,包括:接收模块和图像帧模块;

接收模块,用于分别通过不同的数据通道接收图像数据的传输装置发送的至少一个数据块,数据通道包括至少一个传输控制协议tcp数据通道和至少一个用户数据报协议udp数据通道;

图像帧模块,用于根据至少一个数据块生成目标图像帧。

根据本公开实施例的第五方面,提供一种图像数据的传输系统,包括图像数据的传输装置和接收装置;

其中,图像数据的传输装置为第三方面或第三方面的任意一个实施例中所描述的图像数据的传输装置,接收装置为第四方面所描述的接收装置。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种图像数据的传输方法的流程图;

图2是本公开实施例提供的另一种图像数据的传输方法的流程图;

图3是本公开实施例提供的一种数据通道示意图;

图4是本公开实施例提供的一种tcp数据通道的环形序列示意图;

图5是本公开实施例提供的一种图像数据的传输装置的结构图;

图6是本公开实施例提供的一种接收装置的结构图;

图7是本公开实施例提供的一种图像数据的传输系统的结构图。

具体实施方式

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

本公开实施例提供一种图像数据的传输方法,应用于图像数据的传输装置,如图1所示,该方法包括以下步骤:

101、获取目标图像帧。

目标图像帧为待传输的图像帧,目标图像帧包含至少一个数据块。

102、确定目标图像帧中所包含的数据块的数据类型。

在一个实施例中,目标图像帧所包含的数据类型包括文本数据、视频数据、传感器数据中的至少一项。例如,目标图像帧是用户编辑文档的界面时,传感器数据可以是闪现的光标,文本数可以是文档中显示的文字;又如,目标图像帧是用户观看视频的界面时,视频数据可以是的当前播放的图像帧,文本数据可以是弹幕上显示的文字。当然,此处只是示例性说明,并不代表本公开局限于此。

可以对每个数据块都分配数据通道,例如,在一个实施例中,将目标图像帧中不同类型的数据分别通过不同的数据通道传输至接收装置之前,该方法还包括:

根据目标图像帧中每个数据块的数据类型在预设的映射分别确定每个数据块对应的数据通道,预设的映射用于指示至少一个数据类型与至少一个数据通道之间的对应关系。

对每个数据块都分配了对应的数据通道,提高了数据块的传输质量和效率。需要说明的是,一个数据类型的数据块可以占用一个或多个数据通道,例如,可以设置10个tcp数据通道和10个udp数据通道,视频数据比较多,可以利用8个udp数据通道传输视频数据,传感器数据比较少,可以利用2个tcp数据通道传输传感器数据,当然,此处只是示例性说明,并不代表本公开局限于此。

在一个实施例中,该方法还包括:在目标数据块对应的目标数据通道被占用时,暂停传输目标数据块,直至目标数据通道空闲,目标数据块是目标图像帧中的数据块。

因为相同类型的数据块可能分配了同一个数据通道,因此,对于同一个数据通道,传输的数据块需要一个一个传输,避免传输出现错误。

103、将目标图像帧中不同数据类型的数据块分别通过不同的数据通道传输至接收装置。

数据通道包括至少一个传输控制协议(英文:transmissioncontrolprotocol,tcp)数据通道和至少一个用户数据报协议(英文:userdatagramprotocol,udp)数据通道。

结合步骤102中的说明,对于不同的数据类型,利用不同的数据通道进行传输,此处,以传感器数据和视频数据为例,列举两个具体示例进行说明:

在第一个示例中,目标图像帧包含传感器数据,将目标图像帧中不同类型的数据分别通过不同的数据通道传输至接收装置,包括:将目标图像帧中包含的传感器数据通过tcp通道传输至接收装置。

传感器数据因为涉及与用户的交互,所以较为重要,利用tcp通道传输保证了传输质量。

在第二个示例中,目标图像帧包含视频数据,将目标图像帧中不同类型的数据分别通过不同的数据通道传输至接收装置,包括:将目标图像帧中包含的视频数据通过udp数据通道传输至接收装置。

目标图像帧中的视频数据,其显示时间十分短暂,因此不需要很高的传输质量,即便丢失一些数据也不影响用户正常观看,因此,利用udp数据通道传输,节省网络资源,提高传输效率。

当然,此处只是举例说明,还有其他类型的数据,例如,文本数据,可以利用tcp数据通道传输,本实施不一一列举。

结合图1对应的实施例中所描述的图像数据的传输方法,本公开实施例提供的另一种图像数据的传输方法,应用于接收装置,如图2所示,该方法包括以下步骤:

201、分别通过不同的数据通道接收图像数据的传输装置发送的至少一个数据块。

数据通道包括至少一个tcp数据通道和至少一个udp数据通道。

202、根据至少一个数据块生成目标图像帧。

基于上述图1和图2对应的实施例,此处以云终端应用场景为例对图像数据的传输方法进行说明,图像数据的传输装置可以是服务器,接收装置可以是终端设备,此处以云终端应用场景为例进行说明,并不代表本公开局限于此。在云终端应用场景中,终端设备监测到用户的操作,或者,根据传感器的检测结果生成服务请求发送至服务器;服务器响应于终端设备发送的服务请求,执行指示的操作,并根据操作结果生成显示图像发送至终端设备;终端设备显示服务器发送的显示图像即可。

在终端设备和服务器之间的图像数据传输过程中,如图3所示,图3是本公开实施例提供的一种数据通道示意图,终端设备和服务器之间的数据通道有两种,tcp数据通道和udp数据通道,每种数据通道有若干个,图3中,tcp数据通道有n个,udp数据通道有m个,n和m均为正整数,n和m可以相等,也可以不相等。将n个tcp数据通道和m个udp数据通道预先设定好传输那种数据类型的数据,例如,n和m均等于10,第1-8个tcp数据通道传输文本数据,第9-10个tcp数据通道传输传感器数据,第1-8个udp数据通道传输视频数据,当然,也可以有更多的数据通道和更多的数据类型,此处只是示例性说明。

以服务器向终端设备传输目标图像帧为例,目标图像帧是终端设备上要显示的图像,比如用户使用终端设备观看视频,同时打开了弹幕,目标图像帧包含视频数据,弹幕属于文本数据,则目标图像帧至少包括视频数据和文本数据。利用第1-8个tcp数据通道传输文本数据,第1-8个udp数据通道传输视频数据。此处,以目标图像帧中的目标数据块为例,在传输目标数据块之前,确定目标数据块的数据类型,并确定通过哪个数据通道传输,例如,目标数据块通过目标数据通道传输,则将目标数据通道的标识添加在目标数据块的报头中,对目标数据块进行编码发送,数据通道的标识可以是一个句柄,表示一个socket。

此处,对如何传输一个数据块进行示例性说明,如图4所示,所有空闲的tcp数据通道的标识可以形成一个环形序列,空闲的数据通道即为没有被占用的数据通道,当然,所有空闲的udp数据通道的标识也可以形成一个环形序列,此处以10个tcp数据通道为例进行说明,并不代表本公开局限于此。以传输目标数据块为例,目标数据块是目标图像帧中的任意一个数据块,将环形序列中队首的数据通道的标识与目标数据块进行匹配,队首的数据通道的标识可以是环形序列中指针所指向的标识。在第一种情况下,如果队首的数据通道的标识所指示的数据通道能够传输目标数据块,例如,目标数据块是视频数据,应该由第1-8个tcp数据通道传输,队首的数据通道的标识所指示的数据通道是第1-8个tcp数据通道中的一个,则队首的数据通道的标识出队,添加进目标数据块的报头,同时,环形序列中指针指向下一个数据通道的标识(即原本第二个位置的数据通道的标识成为新的队首)。在目标数据块传输完成后,其占用的数据通道的标识重新加入环形序列的队尾。在第二种情况下,如果队首的数据通道的标识所指示的数据通道能够传输目标数据块,则环形序列的指针指向下一个数据通道的标识,下一个数据通道的标识重新作为队首与目标数据块进行匹配。例如,目标数据块是视频数据,应该由第1-8个tcp数据通道传输,队首的数据通道的标识所指示的数据通道是第9-10个tcp数据通道中的一个,则不能进行传输。需要说明的是,能够传输目标数据块的数据通道可能都正在被占用传输数据,环形序列中不包含能够传输目标数据块的数据通道的标识,即指针已经转了一圈,将环形序列中所有的数据通道的标识都已经和目标数据块进行匹配并且失败,此时,将目标数据块移动到待传输数据块队列中的第二位,也可以移动到第三位或第四位,也可以将目标数据块移入暂停传输的队列中,对此,本公开不做限制,只要暂停传输目标数据块,优先处理其他数据块,当然,也可以暂停传输所有的数据块,等待适合传输目标数据块的数据通道空闲再继续传输,本公开对此不做限制。

当然,以上只是示例性说明,并不代表本公开局限于此,具体的实现方式可以有很多种,本公开对此不做限制。

本公开实施例提供的图像数据的传输方法,对于目标图像帧,将不同数据类型的数据块分别通过不同的数据通道传输,对数据类型较为重要的数据块保证其传输质量,对数据类型不重要的数据块保证传输效率,在保证图像传输效率的条件下提高了图像传输的质量。

基于上述图1和图2对应的实施例中所描述的图像数据的传输方法,本公开实施例提供一种图像数据的传输装置,用于执行上述图1对应的实施例中所描述的图像数据的传输方法,如图5所示,该图像数据的传输装置50包括:获取模块501、数据类型模块502及传输模块503;

获取模块501,用于获取目标图像帧,目标图像帧为待传输的图像帧,目标图像帧包含至少一个数据块;

数据类型模块502,用于确定目标图像帧中所包含的数据块的数据类型;

传输模块503,用于将目标图像帧中不同数据类型的数据块分别通过不同的数据通道传输至接收装置,数据通道包括至少一个传输控制协议tcp数据通道和至少一个用户数据报协议udp数据通道。

在一个实施例中,目标图像帧所包含的数据类型包括文本数据、视频数据、传感器数据中的至少一项。

在一个实施例中,目标图像帧包含传感器数据;

传输模块503,用于将目标图像帧中包含的传感器数据通过tcp通道传输至接收装置。

在一个实施例中,目标图像帧包含视频数据;

传输模块503,用于将目标图像帧中包含的视频数据通过udp数据通道传输至接收装置。

在一个实施例中,图像数据的传输装置50还包括映射模块504,用于根据目标图像帧中每个数据块的数据类型在预设的映射分别确定每个数据块对应的数据通道,预设的映射用于指示至少一个数据类型与至少一个数据通道之间的对应关系。

在一个实施例中,图像数据的传输装置50还包括暂停模块505,用于在目标数据块对应的目标数据通道被占用时,暂停传输目标数据块,直至目标数据通道空闲,目标数据块是目标图像帧中的数据块。

本公开实施例提供的图像数据的传输装置,对于目标图像帧,将不同数据类型的数据块分别通过不同的数据通道传输,对数据类型较为重要的数据块保证其传输质量,对数据类型不重要的数据块保证传输效率,在保证图像传输效率的条件下提高了图像传输的质量。

基于上述图1和图2对应的实施例中所描述的图像数据的传输方法,本公开实施例提供一种接收装置,用于执行上述图2对应的实施例中所描述的图像数据的传输方法,如图6所示,该接收装置60包括:接收模块601和图像帧模块602;

接收模块601,用于分别通过不同的数据通道接收图像数据的传输装置发送的至少一个数据块,数据通道包括至少一个传输控制协议tcp数据通道和至少一个用户数据报协议udp数据通道;

图像帧模块602,用于根据至少一个数据块生成目标图像帧。

本公开实施例提供的接收装置,对于目标图像帧,将不同数据类型的数据块分别通过不同的数据通道接收,对数据类型较为重要的数据块保证其传输质量,对数据类型不重要的数据块保证传输效率,在保证图像传输效率的条件下提高了图像传输的质量。

基于上述图1-图6对应的实施例,本公开实施例提供一种图像数据的传输系统,用于执行上述图1和图2对应的实施例中所描述的图像数据的传输方法,如图7所示,该图像数据的传输系统70包括:图像数据的传输装置701和接收装置702;

其中,图像数据的传输装置701为图5对应的实施例中所描述的图像数据的传输装置,接收装置702为图6对应的实施例中所描述的接收装置。

本公开实施例提供的图像数据的传输系统,对于目标图像帧,将不同数据类型的数据块分别通过不同的数据通道传输,对数据类型较为重要的数据块保证其传输质量,对数据类型不重要的数据块保证传输效率,在保证图像传输效率的条件下提高了图像传输的质量。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1