CN113559497A - 一种数据处理方法、装置、设备以及可读存储介质 - Google Patents
一种数据处理方法、装置、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN113559497A CN113559497A CN202111123508.7A CN202111123508A CN113559497A CN 113559497 A CN113559497 A CN 113559497A CN 202111123508 A CN202111123508 A CN 202111123508A CN 113559497 A CN113559497 A CN 113559497A
- Authority
- CN
- China
- Prior art keywords
- image data
- image
- client
- target
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 119
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 227
- 238000000034 method Methods 0.000 claims abstract description 136
- 230000008569 process Effects 0.000 claims abstract description 67
- 239000000872 buffer Substances 0.000 claims description 219
- 238000009877 rendering Methods 0.000 claims description 89
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 230000006399 behavior Effects 0.000 description 15
- 239000000284 extract Substances 0.000 description 13
- 230000003993 interaction Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 210000001015 abdomen Anatomy 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
- A63F13/655—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/457—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备以及可读存储介质,方法包括:获取第一客户端发送的第一图像数据,将第一图像数据存储至接收队列中;对接收队列中的第一图像数据进行图像识别处理,在第一图像数据的图像识别处理过程中,将持续获取到的第一客户端所发送的第二图像数据,存储至接收队列中,得到更新接收队列;当通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,将第一对象区域所包含的第一对象图像数据发送至目标云应用服务器,同步对更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理。采用本申请,可以减少图像传输时延,提高图像识别效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备以及可读存储介质。
背景技术
电子设备的相关技术的迅猛发展和互联网的普及,使得依靠电子设备而存在和运行的游戏行业得到了突飞猛进的发展机会。尤其是以智能手机、平板电脑等为代表的智能终端出现之后,游戏行业的发展潜能得到了更大的凸显。
在现有技术中,为了给用户提供沉浸式体验,可以根据用户人体形象在云游戏中创建对应的虚拟对象(例如,虚拟动画对象),并在云游戏中显示该虚拟对象,也就是说,可以通过虚拟对象将用户置身于虚拟的云游戏场景中,给予用户对于云游戏的沉浸式体验。通常情况下,对于此过程,通常是终端本地采集通过摄像头采集到用户画面后,直接在终端本地上进行用户人像的识别与提取。由于终端本地的计算能力并不高,很可能产生因计算能力不足而导致图像识别的效率低下的问题;那么终端本地在将人像识别结果发送至云端的过程中,也会存在较大的时延,从而会使得游戏在显示虚拟对象时也存在时延,导致游戏所显示的虚拟对象的虚拟行为与用户当前的行为状态并不匹配。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及可读存储介质,可以减少图像传输时延,提高图像识别效率。
本申请实施例一方面提供了一种数据处理方法,包括:
获取第一客户端发送的第一图像数据,将第一图像数据存储至接收队列中;第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
对接收队列中的第一图像数据进行图像识别处理,在第一图像数据的图像识别处理过程中,将持续获取到的第一客户端所发送的第二图像数据,存储至接收队列中,得到更新接收队列;
当通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,将第一对象区域所包含的第一对象图像数据发送至目标云应用服务器,同步对更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理;目标云应用服务器用于对第一对象图像数据进行渲染得到渲染数据,将渲染数据发送至第一客户端。
本申请实施例一方面提供了一种数据处理装置,包括:
数据获取模块,用于获取第一客户端发送的第一图像数据,将第一图像数据存储至接收队列中;第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
图像识别模块,用于对接收队列中的第一图像数据进行图像识别处理;
队列更新模块,用于在第一图像数据的图像识别处理过程中,将持续获取到的第一客户端所发送的第二图像数据,存储至接收队列中,得到更新接收队列;
区域发送模块,用于当通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,将第一对象区域所包含的第一对象图像数据发送至目标云应用服务器;目标云应用服务器用于对第一对象图像数据进行渲染得到渲染数据,将渲染数据发送至第一客户端;
区域发送模块,还用于同步对更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理。
在一个实施例中,数据获取模块包括:
图像接收单元,用于接收第一客户端发送的第一图像数据;第一图像数据是由第一客户端对原始图像帧进行编码处理后得到的数据;原始图像帧是第一客户端在运行云应用时所采集得到;
存储单元,用于获取接收到第一图像数据的接收时间戳,将第一图像数据与接收时间戳关联存储至接收队列中。
在一个实施例中,图像识别模块包括:
数据解码单元,用于对第一图像数据进行解码处理,得到具有初始图像格式的解码图像数据;
格式转换单元,用于对解码图像数据进行格式转换,得到具有目标图像格式的原始图像帧;
图像识别单元,用于对具有目标图像格式的原始图像帧进行图像识别处理。
在一个实施例中,图像识别单元包括:
关键点识别子单元,用于识别目标对象在原始图像帧中所处的对象边缘关键点;
曲线连接子单元,用于将对象边缘关键点进行连接,得到目标对象对应的对象边缘曲线;
区域确定子单元,用于将原始图像帧中对象边缘曲线所覆盖的区域,确定为第一对象区域。
在一个实施例中,第一图像数据携带待确认设备标识;待确认设备标识是绑定云应用服务器的设备标识,绑定云应用服务器与第一客户端具有绑定关系;
区域发送模块包括:
集合获取单元,用于获取已存设备标识集合;已存设备标识集合包含M个已存设备标识,一个已存设备标识对应一个已注册云应用服务器,M为正整数;
标识匹配单元,用于若M个已存设备标识中存在与待确认设备标识相匹配的目标已存设备标识,则确定待确认设备标识所指示的绑定云应用服务器属于已注册云应用服务器,将待确认设备标识所指示的绑定云应用服务器确定为目标云应用服务器,将第一对象图像数据发送至目标云应用服务器。
在一个实施例中,该数据处理装置还包括:
注册请求接收模块,用于接收待注册云应用服务器发送的注册请求;注册请求是待注册云应用服务器在接收到第二客户端发送的应用开启通知后所生成的;应用开启通知是第二客户端响应针对云应用的应用开启操作所生成的;
指标检测模块,用于根据注册请求,检测待注册云应用服务器的设备指标信息;
标识添加模块,用于当设备指标信息满足处理质量条件时,获取待注册云应用服务器的待存储设备标识,将待存储设备标识存储至已存设备标识集合,将待注册云应用服务器转换为已注册云应用服务器。
在一个实施例中,设备指标信息包括网络质量指标与版本指标;
指标检测模块包括:
参数获取单元,用于根据注册请求,获取待注册云应用服务器的网络质量参数与设备版本;
指标确定单元,用于若网络质量参数达到参数阈值,且设备版本与质量标准版本相匹配,则确定设备指标信息满足处理质量条件;
指标确定单元,还用于若网络质量参数未达到参数阈值,或设备版本与质量标准版本不匹配,则确定设备指标信息不满足处理质量条件。
本申请实施例一方面提供了另一种数据处理方法,包括:
接收业务服务器发送的第一对象图像数据,将第一对象图像数据存储至缓冲区集合中的工作状态处于存储状态的第一缓冲区中;第一对象图像数据为第一对象区域所包含的图像数据,第一对象区域为业务服务器对第一图像数据进行图像识别处理后,得到的目标对象在第一图像数据中所处的区域;第一图像数据是由第一客户端发送至业务服务器的,第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
当缓冲区集合中工作状态处于读取状态的第二缓冲区未包含未处理对象图像数据时,将第一缓冲区的工作状态调整为读取状态,将第二缓冲区的工作状态调整为存储状态,从工作状态处于读取状态的第一缓冲区中读取第一对象区域,将第一对象区域进行渲染处理;
在第一对象区域的渲染过程中,接收业务服务器发送的第二对象图像数据,将第二对象图像数据存储至工作状态处于存储状态的第二缓冲区中;第二对象图像数据是第二对象区域所包含的图像数据,第二对象区域为业务服务器在提取出第一对象区域后对目标图像数据进行图像识别处理所得到,第二对象区域为目标对象在目标图像数据中所处的区域;目标图像数据为业务服务器在提取出第一对象区域时,从更新接收队列中所获取到的具有最晚接收时间戳的第二图像数据;更新接收队列中的第二图像数据是业务服务器对第一图像数据进行图像识别处理的过程中,从第一客户端所持续获取得到;
在获取到第一对象图像数据对应的渲染数据时,将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态,从工作状态处于读取状态的第二缓冲区中读取第二对象图像数据,将第二对象图像数据进行渲染处理。
本申请实施例一方面提供了另一种数据处理装置,包括:
区域存储模块,用于接收业务服务器发送的第一对象图像数据,将第一对象图像数据存储至缓冲区集合中的工作状态处于存储状态的第一缓冲区中;第一对象图像数据为第一对象区域所包含的图像数据,第一对象区域为业务服务器对第一图像数据进行图像识别处理后,得到的目标对象在第一图像数据中所处的区域;第一图像数据是由第一客户端发送至业务服务器的,第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
区域渲染模块,用于当缓冲区集合中工作状态处于读取状态的第二缓冲区未包含未处理对象图像数据时,将第一缓冲区的工作状态调整为读取状态,将第二缓冲区的工作状态调整为存储状态,从工作状态处于读取状态的第一缓冲区中读取第一对象区域,将第一对象区域进行渲染处理;
区域接收模块,用于在第一对象区域的渲染过程中,接收业务服务器发送的第二对象图像数据,将第二对象图像数据存储至工作状态处于存储状态的第二缓冲区中;第二对象图像数据是第二对象区域所包含的图像数据,第二对象区域为业务服务器在提取出第一对象区域后对目标图像数据进行图像识别处理所得到,第二对象区域为目标对象在目标图像数据中所处的区域;目标图像数据为业务服务器在提取出第一对象区域时,从更新接收队列中所获取到的具有最晚接收时间戳的第二图像数据;更新接收队列中的第二图像数据是业务服务器对第一图像数据进行图像识别处理的过程中,从第一客户端所持续获取得到;
状态调整模块,用于在获取到第一对象图像数据对应的渲染数据时,将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态,从工作状态处于读取状态的第二缓冲区中读取第二对象图像数据,将第二对象图像数据进行渲染处理。
在一个实施例中,状态调整模块包括:
标识获取单元,用于在获取到第一对象区域对应的渲染数据时,获取第一缓冲区所对应的用于表征读取状态的读取指针标识,以及第二缓冲区所对应的用于表征存储状态的存储指针标识;
标识切换单元,用于将第一缓冲区所对应的读取指针标识切换为存储指针标识;具有存储指针标识的第一缓冲区的工作状态为存储状态;
标识切换单元,还用于将第二缓冲区的存储指针标识切换为读取指针标识;具有读取指针标识的第二缓冲区的工作状态为读取状态。
在一个实施例中,数据处理装置还包括:
缓冲区分配模块,用于分配第一缓冲区与第二缓冲区;
标识设置模块,用于将第一缓冲区的初始指针标识设置为存储指针标识,将第二缓冲区的初始指针标识设置为读取指针标识;具有存储指针标识的第一缓冲区的工作状态为存储状态;具有读取指针标识的第二缓冲区的工作状态为读取状态;
集合生成模块,用于根据工作状态处于存储状态的第一缓冲区,与工作状态处于读取状态的第二缓冲区,生成缓冲区集合。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
在本申请实施例中,客户端(如第一客户端)在采集到包含目标对象的第一图像数据时,可以将该第一图像数据发送至相关计算机设备(如业务服务器),由该业务服务器进行图像识别处理,无需在客户端本地进行图像识别,可以使得第一图像数据由具备较高计算能力的业务服务器来进行图像识别处理,可以提高图像识别效率与清晰度;同时,在本申请中,业务服务器可以将接收到的第一图像数据存储至接收队列中,在对第一图像数据进行图像识别处理的过程中,可以持续从第一客户端同步获取到第二图像数据,并将该第二图像数据存储至接收队列中,得到更新接收队列;也就是说,本申请中的业务服务器在对第一图像数据进行图像识别处理时,并不会暂停第二图像数据的接收,通过接收队列可以实现图像处理与图像接收的同步进行,由此可以减少图像传输时延。进一步地,业务服务器在通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,业务服务器可以将该第一对象区域所包含的第一对象图像数据发送至云应用服务器,由云应用服务器进行渲染并将渲染得到的渲染数据发送至第一客户端,由此可以在云应用中进行显示。同时,在提取出第一对象区域后,业务服务器可以获取到接收队列中具有最晚接收时间戳的第二图像数据,并继续对该第二图像数据进行处理。可以看出,本申请在对某个图像数据进行图像识别处理后,接下来是从接收队列中获取到具有最晚接收时间戳的图像数据进行处理,并非是按照接收时间戳的时间顺序对图像数据进行一一识别,可以提高对图像数据的识别效率;同时由于具有最晚接收时间戳的图像数据是根据目标对象当前的行为所采集得到,那么对具有最晚接收时间戳的图像数据进行图像识别并显示时,也是与目标对象当前的行为相匹配的。综上,本申请可以提高图像传输时延,提高图像识别效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2a是本申请实施例提供的一种场景示意图;
图2b是本申请实施例提供的一种场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种跳帧处理示意图;
图5是本申请实施例提供的一种数据处理方法的流程示意图;
图6是本申请实施例提供的一种进行部位融合的场景示意图;
图7是本申请实施例提供一种将第一对象区域发送至目标云应用服务器的流程示意图;
图8是本申请实施例提供的一种数据处理方法的流程示意图;
图9是本申请实施例提供的一种双缓冲区状态变化的示意图;
图10是本申请实施例提供的一种系统架构图;
图11是本申请实施例提供的一种系统流程示意图;
图12是本申请实施例提供的一种交互流程图;
图13是本申请实施例提供的一种数据处理装置的结构示意图;
图14是本申请实施例提供的另一种数据处理装置的结构示意图;
图15是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构图。如图1所示,该网络架构可以包括业务服务器1000、终端设备集群以及云服务器集群10000,终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,多个终端设备可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n;如图1所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与业务服务器1000进行网络连接,以便于每个终端设备可以通过该网络连接与业务服务器1000之间进行数据交互。云服务器集群10000可以包括一个或者多个云服务器,这里将不对云服务器的数量进行限制。如图1所示,多个云服务器可以包括云服务器10001、云服务器10002、…、云服务器1000n;如图1所示,云服务器10001、云服务器10002、…、云服务器1000n可以分别与业务服务器1000进行网络连接,以便于每个云服务器可以通过该网络连接与业务服务器1000之间进行数据交互。其中,每个云服务器可以为云应用服务器,一个终端设备可以对应于一个云应用服务器(多个终端设备可以对应相同的云应用服务器),当终端设备运行云应用时,其对应的云应用服务器为其提供相应的功能服务(如计算服务)。例如,云应用为云游戏应用时,该云应用服务器可为云游戏服务器,当终端设备运行云游戏应用时,其对应的云游戏服务器为其提供相应的功能服务。
可以理解的是,如图1所示的每个终端设备均可以安装有目标应用,当该目标应用运行于各终端设备中时,可以分别与图1所示的业务服务器1000之间进行数据交互,使得业务服务器1000可以接收来自于每个终端设备的业务数据。
其中,该目标应用可以包括具有显示文字、图像、音频以及视频等数据信息功能的应用。如,应用可以为娱乐类应用(例如,游戏应用),该娱乐类应用可以用于用户进行游戏娱乐。本申请中的业务服务器1000可以根据这些应用获取到业务数据,如,该业务数据可以为终端设备通过摄像头组件所采集到的包含用户(可称为目标对象)的图像数据(可称之为第一图像数据)。
随后,业务服务器1000在获取到第一图像数据后,可以将该第一图像数据存储至接收队列中,再从接收队列中获取到该第一图像数据,业务服务器1000可对该第一图像数据进行图像识别处理;应当理解,终端设备在采集到第一图像数据并发送至业务服务器1000后,可以持续采集包含目标对象的图像数据(可称之为第二图像数据),而业务服务器1000在对第一图像数据进行图像识别处理的过程中,也可以从终端设备处持续获取到终端设备所采集到的第二图像数据;同第一图像数据一样,业务服务器也可将该第二图像数据存储至接收队列中,由此可以得到包含一个或多个第二图像数据的更新接收队列。可选的,应当理解,当第一图像数据为业务服务器1000所接收到的首个图像数据时,业务服务器1000可以不用将第一图像数据存储至接收队列中,业务服务器1000可直接对该第一图像数据进行图像识别处理,并在该图像识别处理的过程中,持续从终端设备处获取到终端设备所采集到的第二图像数据(也就是首个图像数据之后的第二个图像数据、第三个图像数据、第三个图像数据……),将该第二图像数据存储至接收队列中。
进一步地,业务服务器1000在通过图像识别处理,提取出目标对象在第一图像数据中所处的区域(可称为第一对象区域)后,业务服务器1000可在该第一图像数据中获取到该第一对象区域所包含的图像数据(可称之为第一对象图像数据),业务服务器1000可将该第一对象图像数据发送至该终端设备所对应的云服务器中,该云服务器可对该第一对象图像数据进行读取并渲染,在渲染完成得到渲染数据后可以发送至终端设备,而终端设备可将该渲染数据在云应用中进行显示输出。同时,应当理解,在业务服务器1000提取出目标对象在第一图像数据中所处的第一对象区域时,业务服务器1000可接着对其余的图像数据进行图像识别处理,例如,业务服务器1000可在包含第二图像数据的更新接收队列中,获取到具有最晚接收时间戳的第二图像数据(也就是最晚接收到的图像数据),业务服务器1000可以接着对该具有最晚接收时间戳的第二图像数据(可称为目标图像数据)进行图像识别处理。应当理解,在业务服务器1000对目标图像数据进行图像识别处理时,业务服务器1000可持续获取来自终端设备的包含目标对象的图像数据(可称为第三图像数据),并将该第三图像数据存储至更新接收队列中,得到新的接收队列。在业务服务器1000提取出目标对象在目标图像数据中所处的区域(可称为第二对象区域)时,业务服务器1000也可在目标图像数据中获取到该第二对象区域所包含的图像数据(可称为第二对象图像数据),业务服务器也可将该第二对象图像数据发送至终端设备对应的云服务器;同时,该业务服务器1000可在当前的新的接收队列中,获取到具有最晚接收时间戳的第三图像数据(可称为新目标图像数据),业务服务器1000可接着对该新目标图像数据进行图像识别处理。
应当理解,本申请中的业务服务器1000在对某个图像数据进行图像识别处理的过程中,可持续接收其余的图像数据,由此可以实现识别与接收的同步,无需等待识别完成再接收,由此可以减少图像数据的接收时延;同时,在每识别完成某个图像数据后(提取出目标对象所处的区域后),业务服务器会进行跳帧处理(也就是说,会获取到当前具有最晚接收时间戳的图像数据,并对其进行图像识别处理;而不是获取到当前处理完成的图像数据的下一个图像数据(接收时间戳最为接近的图像数据)对其进行图像识别处理),通过跳帧处理可以减少图像数据的排队时延,具有最晚接收时间戳的图像数据是采集的用户当前的行为,那么对具有最晚接收时间戳的图像数据进行图像识别处理并显示后,可以使得在游戏应用中所显示的渲染数据,与用户当前的行为是同步的且匹配的。
本申请实施例可以在多个终端设备中选择一个终端设备作为目标终端设备,该终端设备可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表、智能车载等携带多媒体数据处理功能(例如,视频数据播放功能、音乐数据播放功能)的智能终端,但并不局限于此。例如,本申请实施例可以将图1所示的终端设备100a作为该目标终端设备,该目标终端设备中可以集成有上述目标应用,此时,该目标终端设备可以通过该目标应用与业务服务器1000之间进行数据交互。
可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于用户终端或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,用户终端以及业务服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选的,可以理解的是,上述计算机设备(如上述业务服务器1000、终端设备100a、终端设备100b等等)可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成的点对点(P2P,Peer To Peer)网络,P2P 协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任意形式的计算机设备,比如业务服务器、终端设备等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。为便于理解,以下将对区块链的概念进行说明:区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。当计算机设备为区块链节点时,由于区块链的不可被篡改特性与防伪造特性,可以使得本申请中的数据(如第一图像数据、第一对象区域、第二对象图像数据等等)具备真实性与安全性,从而可以使得基于这些数据进行相关数据处理后,得到的结果更为可靠。
为便于理解,请参见图2a,图2a是本申请实施例提供的一种场景示意图。其中,如图2a所示的终端设备100a可以为上述图1所对应实施例中终端设备集群100中的终端设备100a;如图2a所示的业务服务器1000可为上述图1所对应实施例中业务服务器1000;如图2a所示的云服务器10001可为上述图1所对应实施例中云服务器10001。
如图2a所示,终端设备100a中可包含游戏应用,当用户a(可称为目标对象a)开启游戏应用后,终端设备100a可通过摄像头组件200a采集包含目标对象a的画面(可称为原始图像帧20a),终端设备可以对该原始图像帧进行编码处理(如H264编码处理),得到图像数据;进一步地,终端设备100a可将该图像数据发送至业务服务器1000。业务服务器1000可将该图像数据存储至接收队列中,随后,业务服务器1000可从该接收队列中获取到该图像数据,业务服务器1000可将该图像数据进行解码处理,得到该原始图像帧20a。可以理解的是,对于接收到的每一个图像数据(包括首个图像数据),业务服务器1000均会将之存储至接收队列中,而对于业务服务器1000接收到的首个图像数据,当然也可以选择不进行存储,而是直接将其进行解码处理。例如,若上述原始图像帧20a对应的图像数据为业务服务器1000接收到的第一个图像数据,业务服务器1000可按照存储规则先将其存储至接收队列中,再在接收队列中获取到;业务服务器1000也可不对其进行存储,可直接将其进行解码处理,得到原始图像帧20a。
进一步地,业务服务器1000可对该原始图像帧20a进行图像识别处理,业务服务器1000可通过图像识别处理确定出目标对象a在该原始图像帧20a中所对应的对象边缘曲线P1。应当理解,用户a会持续产生动作行为(如双手举高、摆头、下蹲等等),那么终端设备100a在采集到原始图像帧20a后,可持续通过摄像头组件200a采集到包含目标对象a的原始图像帧,终端设备100a每成功采集到一个包含目标对象a的原始图像帧,终端设备100a均可将其进行编码处理,得到图像数据,并将其发送至业务服务器1000。而业务服务器1000即使目前在对原始图像帧20a进行图像识别处理,但是并不影响对图像数据的接收,业务服务器1000可在图像识别处理的过程中,持续从终端设备100a处获取到不同的图像数据,业务服务器1000可将这些图像数据暂时存储至接收队列中。
进一步地,在确定出对象边缘曲线P1后,业务服务器1000可在原始图像帧20a中,提取出对象边缘曲线P1所覆盖到的全部区域(可称为对象区域P2),可在原始图像帧20a中获取到该对象区域所包含的全部图像内容,由此可得到该对象区域所包含的全部图像内容(可称为对象图像数据);业务服务器1000可获取到该终端设备100a所对应的云游戏服务器(如云游戏服务器10001),业务服务器1000可将该对象区域P2所包含的对象图像数据发送至该云游戏服务器10001。而云游戏服务器10001在获取到该对象图像数据后,可对该对象图像数据进行渲染处理,由此可得到渲染数据P3,云游戏服务器可将该渲染数据P3发送至其对应的终端设备100a。
进一步地,请参见图2b,图2b是本申请实施例提供的一种场景示意图。如图2b所示,终端设备100a在接收到该渲染数据P3后,可将该渲染数据P3显示于游戏应用中。如图2b所示,在游戏对应的虚拟环境(可理解为游戏场景)中,包含有虚拟背景(虚拟房屋背景)、正在跳舞的虚拟对象2000a(正在跳舞)与正在跳舞的虚拟对象2000b,在该虚拟环境中,可显示渲染数据P3。
可以理解的是,在上述业务服务器1000从原始图像帧20a中提取出对象区域P2时,业务服务器1000还可以接着对接收队列中的图像数据进行处理。为了使得终端设备100a所显示的渲染数据与目标对象a当前的动作行为相符合,业务服务器1000可以进行跳帧处理,即业务服务器1000可以获取到接收队列中具有最晚接收时间戳的图像数据,将其进行解码以及图像识别处理。具有最晚接收时间戳的图像数据可以理解为终端设备100a在当前时刻下,所发送的最后的一个图像数据,该图像数据可对应于目标对象a最新的实时的动作行为。那么提取出其对应的对象区域并进行渲染输出后,所呈现的渲染数据是与目标对象实际的动作行为相符合的。
应当理解,目标对象a即为游戏玩家,将其对应的人像渲染数据(如渲染数据P3)显示于该游戏应用中,即是将玩家人像投射于游戏场景中,由此可以使得游戏玩家能够“置身于”游戏场景中,能够提高游戏玩家的沉浸感。同时,本申请实施例通过接收队列可以实现图像识别与接收的同步,可以减少图像数据的接收时延;此外,通过跳帧处理,可以在加快对图像数据的识别效率、进一步减少时延的同时,还可以提高游戏中所显示的玩家人像与玩家之间的匹配率。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。其中,该方法可以由终端设备(例如,上述图1所示的终端设备集群中的任一终端设备,如终端设备100a)或业务服务器(如,上述图1所示的业务服务器1000)执行,也可以由终端设备和业务服务器共同执行。为便于理解,本实施例以该方法由上述业务服务器执行为例进行说明。其中,该数据处理方法至少可以包括以下步骤S101-步骤S103:
步骤S101,获取第一客户端发送的第一图像数据,将第一图像数据存储至接收队列中;第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据。
本申请中,客户端可以理解为终端设备,客户端中可以部署有目标应用,该目标应用可以为云应用(如云游戏应用)等等。以云应用为例,当用户使用客户端,用户可以在客户端中启动该云应用,例如,用户可以点击该云应用,并点击启动控件,以运行该云应用。第一客户端可以指任一客户端。
应当理解,当用户启动第一客户端中的目标应用后,也就是第一客户端在运行云应用时,第一客户端可以通过摄像头组件采集到包含用户(可称为目标对象)的画面,包含用户的画面可称为原始图像帧。第一客户端可将该原始图像帧进行编码处理,由此可以得到图像编码文件,这里可将图像编码文件称为图像数据。第一客户端可以将图像数据发送至业务服务器(业务服务器可以是指具有图像解码功能与图像识别功能的服务器,可用于获取客户端发送的编码文件,并进行解码以及图像识别处理)。其中,在不同的编码方式中,H264编码方式作为一种编码格式,其具有较高的压缩比,对于同样的图像经过H264编码后,在传输中会占用更少的带宽,因而H264在移动视频应用中具有广泛应用。那么在本申请中,为了减少第一客户端与业务服务器之间的传输带宽,可将对原始图像帧的编码方式优先选择为该H264编码方式。当然,对于客户端对原始图像帧进行编码的编码方式,还可以为除H264以外的任意一种能够对原始图像帧进行编码的方式,如该编码方式可为H262编码方式、H263编码方式、H265编码方式等等,本申请将不对其进行限制。
进一步地,在本申请中,业务服务器在获取到第一客户端发送的图像数据后,可将该图像数据存储至接收队列中。第一图像数据为例,业务服务器在获取到第一图像数据后,可将该第一图像数据存储至接收队列中,其具体方法可为:接收第一客户端发送的第一图像数据(第一图像数据是由第一客户端对原始图像帧进行编码处理后得到的数据);随后,业务服务器可获取接收到第一图像数据的接收时间戳,可将第一图像数据与接收时间戳关联存储至接收队列中。也就是说,在存储每一个图像数据时,业务服务器可一并存储其接收时刻。例如,对于图像数据A,业务服务器的接收时刻为2021年9月5日19:09,那么业务服务器可将该图像数据A与该接收时刻2021年9月5日19:09关联存储至接收队列中。应当理解,当该接收队列还未存储有图像数据时,该接收队列可为空。
步骤S102,对接收队列中的第一图像数据进行图像识别处理,在第一图像数据的图像识别处理过程中,将持续获取到的第一客户端所发送的第二图像数据,存储至接收队列中,得到更新接收队列。
本申请中,在将第一图像数据存储至接收队列后,可从该接收队列中获取到该第一图像数据并对其进行图像识别处理。其中,因该第一图像数据实际为图像编码文件,则可先对其进行解码处理还原得到原始图像帧后,再对原始图像帧进行图像识别处理。其具体方法可为:可对第一图像数据进行解码处理,得到具有初始图像格式的解码图像数据;随后,可对解码图像数据进行格式转换,得到具有目标图像格式的原始图像帧;随后,可对具有目标图像格式的原始图像帧进行图像识别处理。
应当理解,目标图像格式可以是指规定的统一进行图像识别处理的图像格式,例如,规定进行图像识别处理的图像需具备色彩格式(Red Green Blue color mode,RGBcolor mode),则该RGB格式即可称为目标图像格式。当对第一图像数据进行解码处理后,可得到具备初始图像格式的解码图像数据;若该初始图像格式为该目标图像格式,则可将该解码图像数据确定为具有目标图像格式的原始图像帧;而若该初始图像格式与目标图像格式不同,则可将其进行格式转换,转换为目标图像格式,得到具有目标图像格式的原始图像帧。如,初始图像格式为YUV格式时,可将YUV格式转换为RGB格式,由此可得到具有RGB格式的原始图像帧。
进一步地,在业务服务器解码得到第一图像数据对应的原始图像帧后,可对该具有目标图像格式的原始图像帧进行图像识别处理,确定出目标对象在该原始图像帧中所处的区域(可称为第一对象区域),对于进行图像识别处理确定第一对象区域的具体实现方式可以参见后续图5所对应实施例中的描述。
可以理解的是,在本申请中,第一客户端在向业务服务器发送第一图像数据后,第一客户端可持续采集到包含目标对象的画面(新的原始图像帧),而第一客户端可将每个原始图像帧进行编码处理,得到图像编码文件(可称为第二图像数据)。第一客户端可持续将每个第二图像数据发送至业务服务器。而业务服务器在对第一图像数据进行图像识别处理的过程种,也并不会暂停对图像数据的接收,业务服务器可持续从第一客户端处获取到第二图像数据,业务服务器可将该第二图像数据暂时存储至接收队列中,由此可得到更新接收队列。
步骤S103,当通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,将第一对象区域发送至目标云应用服务器,同步对更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理;目标云应用服务器用于对第一对象区域进行渲染得到渲染数据,将渲染数据发送至第一客户端。
本申请中,通过上述图像识别处理可确定出目标对象在原始图像帧中所处的第一对象区域,则在确定出第一对象区域后,可在该原始图像帧中获取到该第一对象区域所包含的图像内容(可称为第一对象图像数据),业务服务器可提取出第一对象区域以及该第一对象区域所包含的第一对象图像数据。在提取出第一对象区域以及该第一对象图像数据时,业务服务器可获取到第一客户端所对应的目标云应用服务器,业务服务器可将该第一对象图像数据发送至该目标云应用服务器。其中,该目标云应用服务器可以是指第一客户端所对应的云服务器,当该第一客户端运行云应用时,该云服务器为第一客户端提供计算服务,计算服务如中央处理器(Central Processing Unit,CPU)运算服务、图形处理器(Graphics Processing Unit,GPU)运算服务等等。目标云应用服务器可对该第一对象图像数据进行渲染处理,由此可得到第一对象图像数据对应的渲染数据,目标云应用服务器可将该渲染数据发送至第一客户端,第一客户端可在云应用中显示该渲染数据。
同时,应当理解,在业务服务器提取出第一对象区域后,业务服务器也可继续对其余的图像数据进行解码以及图像识别处理。具体的,业务服务器可获取到更新接收队列中具有最晚接收时间戳的第二图像数据(可称为目标图像数据),业务服务器可将该目标图像数据进行解码以及图像识别处理。
其中,业务服务器在更新接收队列中获取具有最晚接收时间戳的目标图像数据,并对其进行解码以及图像识别处理的过程,可称之为跳帧处理。为便于理解,请一并参见图4,图4是本申请实施例提供的一种跳帧处理示意图。如图4所示,接收队列40a中可包含图像数据1、图像数据2、图像数据3、图像数据4、图像数据5、图像数据6、图像数据7、图像数据8、图像数据9,其中,该图像数据1至图像数据9是按照接收时间戳从早至晚的顺序进行排序的,即图像数据1的接收时间戳为最早接收时间戳,图像数据9的接收时间戳为最晚时间戳。其中,图像数据1、图像数据2、图像数据3、图像数据4、图像数据5为已经经过处理的图像数据,图像数据6为当前业务服务器正在处理的图像数据,图像数据7、图像数据8、图像数据9为业务服务器在处理图像数据6时,所接收到的图像数据,图像数据7、图像数据8、图像数据9正在排队等待处理。
如图4所示,当业务服务器提取出目标对象在图像数据6中所处的对象区域时,业务服务器可从接收队列40a的末尾处获取到图像数据9(即,获取到具有最晚接收时间戳的图像数据),业务服务器可跳过图像数据7与图像数据8,紧接着对图像数据9进行解码以及图像识别处理,这也就是跳帧处理过程。为便于理解,以下将进行举例详细阐述,假设业务服务器解码并进行图像识别处理所需时长为30ms,而业务服务器接收到前后两个图像数据的时长间隔为10ms(即,在第0ms时接收到一个图像数据,在第10ms时接收到下一个图像数据,在第20ms时接收到下一个图像数据);那么当业务服务器对图像数据6进行处理时,在此过程中,业务服务器会持续接收到图像数据7(此时可将之存储至接收队列的末尾处:图像数据6之后)、图像数据8(此时可将之存储至接收队列的末尾处:图像数据7之后)、图像数据9(此时可将之存储至接收队列的末尾处:图像数据8之后)。那么在处理完图像数据6时,此时接收队列如接收队列40a所示,此时业务服务器可直接从接收队列的末尾处获取到最新的图像数据(即图像数据9),跳过图像数据7与图像数据8(虽然图像数据7与图像数据8并未经过处理,但实际已经将之跳过不会再对其进行处理,所以可将图像数据7与图像数据8确定为已经处理过的图像数据)。
同理,如图4所示,当在处理图像数据9时,业务服务器也可以持续接收到图像数据10与图像数据11,得到接收队列40b;那么当提取出目标对象在图像数据9中的对象区域时,可以获取到接收队列40b中的队列末尾处的图像数据(即具有最晚接收时间戳的图像数据11),业务服务器可跳过图像数据10,对图像数据11进行解码以及图像识别处理。同理,在对图像数据11进行处理时,业务服务器可持续接收到其余的图像数据得到接收队列40c,当处理完图像数据11时,又可获取到接收队列40c中的队列末尾处的图像数据,如此反复执行,对于此过程,这里将不再进行重复赘述。
可选的,可以理解的是,每处理一个图像数据,可对排列于之前的图像数据(即已经处理过的图像数据)进行清空,由此可提高接收队列的存储空间。例如,接收队列40a中已经处理过的图像数据包含图像数据1至图像数据5,那么可将图像数据1至图像数据5进行删除,此时接收队列40a中只包含图像数据6至图像数据9。或者说,每处理完一个图像数据,可在接收队列中获取到具有最晚接收时间戳的图像数据,可在获取到该图像数据后,将排列于该图像数据之前(即接收时间戳早于该图像数据)的图像数据(可称为历史图像数据)进行删除。例如,在接收队列40a中,获取到图像数据9为即将要进行图像处理的图像数据,此时已将位于图像数据9之前的历史图像数据(包含图像数据1-图像数据8)。
也就是说,在提取出第一图像数据中的第一对象区域时,可以先清空掉已经处理过的图像数据(包含第一图像数据),再在剩下的未处理图像数据中获取具有最晚接收时间戳的第二图像数据;同样的,在提取出第一图像数据中的第一对象区域时,可以先获取到具有最晚接收时间戳的第二图像数据,再将接收时间戳早于该第二图像数据的历史图像数据进行删除清空(即先获取更新接收队列中具有最晚接收时间戳的第二图像数据,作为目标图像数据;随后,再对目标图像数据进行图像识别处理,同步删除更新接收队列中的历史图像数据;其中,历史图像数据为更新接收队列中接收时间戳早于目标图像数据的图像数据)。应当理解,无论是哪一种队列清空方式,均是为了改善队列的存储空间,本申请对于队列清空方式将不进行具体限定。
应当理解,业务服务器在接收到客户端发送的编码码流(即图像数据)后,如果解码以及图像识别处理(以下将称之为图像处理)的时长,大于了接收到两帧图像数据之间的间隔时长(如图像处理的时长为30ms,两帧图像数据之间的接收间隔时长为10ms),那么如果不存在接收队列,那么客户端会一直等待业务服务器对当前的图像数据进行图像处理,这大大增加了图像数据的传输时延,会严重影响图像数据的传输效率;而本申请可通过接收队列来存储图像数据,使得业务服务器可以在进行图像处理的过程中,持续接收客户端发送的图像数据,然而若业务服务器对图像数据依次进行图像处理,那么会使得业务服务器所识别的图像数据与目标对象最新的状态严重不匹配,业务服务器所识别的图像数据严重落后,所以通过跳帧处理,可以使得业务服务器每次进行图像处理时,均是对最新的图像数据进行图像处理,可以减少图像识别时延,同时由于业务服务器的高计算能力,也可以提高图像识别效率。
在本申请实施例中,客户端(如第一客户端)在采集到包含目标对象的第一图像数据时,可以将该第一图像数据发送至相关计算机设备(如业务服务器),由该业务服务器进行图像识别处理,无需在客户端本地进行图像识别,可以使得第一图像数据由具备较高计算能力的业务服务器来进行图像识别处理,可以提高图像识别效率与清晰度;同时,在本申请中,业务服务器可以将接收到的第一图像数据存储至接收队列中,在对第一图像数据进行图像识别处理的过程中,可以持续从第一客户端同步获取到第二图像数据,并将该第二图像数据存储至接收队列中,得到更新接收队列;也就是说,本申请中的业务服务器在对第一图像数据进行图像识别处理时,并不会暂停第二图像数据的接收,通过接收队列可以实现图像处理与图像接收的同步进行,由此可以减少图像传输时延。进一步地,业务服务器在通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,业务服务器可以将该第一对象区域所包含的第一对象图像数据发送至云应用服务器,由云应用服务器进行渲染并将渲染得到的渲染数据发送至第一客户端,由此可以在云应用中进行显示。同时,在提取出第一对象区域后,业务服务器可以获取到接收队列中具有最晚接收时间戳的第二图像数据,并继续对该第二图像数据进行处理。可以看出,本申请在对某个图像数据进行图像识别处理后,接下来是从接收队列中获取到具有最晚接收时间戳的图像数据进行处理,并非是按照接收时间戳的时间顺序对图像数据进行一一识别,可以提高对图像数据的识别效率;同时由于具有最晚接收时间戳的图像数据是根据目标对象当前的行为所采集得到,那么对具有最晚接收时间戳的图像数据进行图像识别并显示时,也是与目标对象当前的行为相匹配的。综上,本申请可以提高图像传输时延,提高图像识别效率。
进一步地,请参见图5,图5是本申请实施例提供的一种数据处理方法的流程示意图。该流程可以对应于上述图3所对应实施例中,对原始图像帧进行图像识别处理确定第一对象区域的流程,如图5所示,该流程可以包括至少以下步骤S501-步骤S503:
步骤S501,识别目标对象在原始图像帧中所处的对象边缘关键点。
具体的,这里的对象边缘关键点可以是指目标对象的对象轮廓关键点,原始图像帧中包含目标对象的关键部位,则这里的对象轮廓关键点可以是指关键部位的轮廓关键点。如关键部位为头部,则对象边缘关键点可以是指头部轮廓的关键点,如关键部位为颈部,则对象边缘关键点可以是指颈部轮廓的关键点。
识别目标对象的对象边缘关键点可以由人工智能算法来识别、专用的GPU来识别等等方式,本申请将不对其进行限制。
步骤S502,将对象边缘关键点进行连接,得到目标对象对应的对象边缘曲线。
具体的,在确定出对象边缘关键点后,通过将这些对象边缘点进行连接(如,每相邻两个点则进行连接),即可得到目标对象对应的对象边缘曲线(可以理解为对象轮廓)。示例性地,可参见上述图2a的场景实施例,如图2a所示的曲线P1即可认为是目标对象a的对象轮廓。
步骤S503,将原始图像帧中对象边缘曲线所覆盖的区域,确定为第一对象区域。
具体的,在确定出目标对象a的对象边缘曲线后,即可在原始图像帧中确定出对象边缘曲线所覆盖的区域,该区域即可作为该目标对象在原始图像帧中所处的第一对象区域。例如,参见上述图2a的场景实施例,如图2a所示,在原始图像帧20a中,对象边缘曲线P2所覆盖到的区域为区域P2(该区域P2即为目标对象a所在的区域),该区域P2即可确定为目标对象在原始图像帧中所处的区域(这里可称之为第一对象区域)。
可选的,在一种可行的实施例中,可将上述对象边缘曲线所覆盖的区域,称之为初始对象区域,在确定出初始对象区域后,可暂时不将初始对象区域确定为最终的第一对象区域,而是根据初始对象区域确定出第一对象区域,其具体方法可为:可获取初始对象区域所呈现的目标对象的对象关键部位;随后,可获取针对目标对象的对象识别配置信息,以及对象识别配置信息所指示的对象识别配置部位,可将对象识别配置部位与对象关键部位进行匹配;若对象识别配置部位与对象关键部位相匹配,则可执行根据初始对象区域确定第一对象区域的步骤;而若对象识别配置部位与对象关键部位不匹配,则可确定通过图像识别处理未能提取出第一对象区域。
应当理解,在确定出目标对象的初始对象区域后,可获取到初始对象区域中所呈现的目标对象的对象关键部位(对象关键部位可以是指目标对象的身体部位,如,头部、颈部、手臂部位、腹部、腿部、脚部等);随后,可获取到原始图像帧中所需要包含的目标对象的对象识别配置部位(也就是识别规则,该识别规则规定了终端设备所采集的原始图像帧中,所需要包含的目标对象的部位)。以对象识别配置部位为腿部为例,假设规定终端设备所采集的原始图像帧中需要包含用户的腿部,而在通过对接收到的图像数据进行解码并进行图像识别处理后,所提取出来的初始对象区域所呈现的对象关键部位为头部与颈部,则可确定该对象关键部位(头部与颈部)与对象识别配置部位(腿部)并不匹配,该原始图像帧中所呈现的目标对象的关键部位是不符合要求的,那么此时可直接确定通过图像识别处理无法提取出第一对象区域(也就是部位不符合要求,提取失败)。而若假设规定终端设备所采集的原始图像帧中需要包含用户的腿部,而在通过对接收到的图像数据进行解码并进行图像识别处理后,所提取出来的初始对象区域所呈现的对象关键部位为腿部,那么此时可确定该原始图像帧中所呈现的目标对象的关键部位是符合要求的,此时可将初始对象区域确定为第一对象区域。
可选的,在一种可行的实施例中,通过上述所述,若确定出对象识别配置部位与对象关键部位不匹配,确定通过图像识别处理未能提取出所述第一对象区域之后,业务服务器可以获取到更新接收队列中当前图像数据的下一个图像数据,然后接着对下一个图像数据进行图像处理。例如,当前图像数据为第一图像数据,可以获取到接收队列中第一图像数据的下一个图像数据(即在接收时间戳晚于第一图像数据的图像数据中,具有最早接收时间戳的图像数据),业务服务器可接着对该下一个图像数据进行图像处理。其具体方法可为:可将更新接收队列中具有最早接收时间戳的第二图像数据,确定为待识别图像数据;随后,可对待识别图像数据进行图像识别处理,当通过图像识别处理提取出目标对象在待识别图像数据中所处的待处理对象区域时,可将待处理对象区域发送至目标云应用服务器。
实际上,在业务服务器对当前的图像数据(如第一图像数据)的图像处理时长足够短、效率足够快的情况下,在确定通过图像识别处理未能提取出所述第一对象区域之后,可获取到当前图像数据的下一个图像数据(具有最早接收时间戳的图像数据),对下一个图像数据进行图像处理。其目的在于,当用户执行一个动作,客户端采集到了图像帧进行编码后发送至了业务服务器,业务服务器快速识别到其采集部位并不符合规范,无法进行对象区域及其对象区域包含的图像数据的提取,则云应用服务器无法接收到提取出的对象图像数据,也就无法对齐进行渲染并显示,那么此时业务服务器可以对下一个图像数据进行图像处理提取出下一个图像数据的对象区域,再将其所包含的对象图像数据发送至云应用服务器进行渲染输出。由此可以减少云应用中所显示的用户人像的跳跃性,增大其连贯性。当然,在上述确定通过图像识别处理未能提取出第一对象区域之后,也可直接在当前更新接收队列中,获取到具有最晚接收时间戳的第二图像数据(而不是获取到具有最早接收时间戳的图像数据),并对其进行图像处理。无论是哪一种获取方式,均是对于在确定通过图像识别处理未能提取出所述第一对象区域之后的一种可行的处理方式,而对于其具体的处理方式,可以由人工经验按照实际情况所设置,本申请将不对其进行限制。
可选的,在一种可行的实施例中,通过上述所述,在确定对象识别配置部位与对象关键部位相匹配的时候,可直接将初始对象区域确定为第一对象区域。除此之外,在确定对象识别配置部位与对象关键部位相匹配的时候,对于确定第一对象区域的具体方法还可为:可获取初始对象区域所呈现的目标对象的对象关键部位;若对象关键部位具备部位完整性,则可将初始对象区域确定为第一对象区域;而若对象关键部位不具备部位完整性,则可获取样本数据库中的N(N为正整数)个样本图像帧,可从N个样本图像帧中获取与目标对象对应的目标样本图像帧,根据目标样本图像帧与初始对象区域确定第一对象区域。
其中,对于根据目标样本图像帧与初始对象区域确定第一对象区域的具体方法可为:可获取目标样本图像帧中的目标整体部位信息;随后,可根据对象关键部位,在目标整体部位信息中确定待融合部位区域;可将待融合部位区域与初始对象区域进行融合,由此可得到第一对象区域。
应当理解,本申请可预先收集到用户整体的完整的人像样本数据(从头部至脚部的完整的人像样本数据),一个用户可对应一个样本图像帧,一个样本图像帧中即可呈现一个用户完整的整体的人像数据。那么当提取出初始对象区域,并确定对象识别配置部位与对象关键部位相匹配的时候,此时可确定该对象关键部位是否具备部位完整性,若具备部位完整性,则可直接将该初始对象区域确定为第一对象区域;而若该对象关键部位并不具备完整性,则可获取到样本数据库该目标对象所对应的目标样本图像帧,再在该目标样本图像帧中获取到目标对象的目标整体部位信息,按照该目标整体部位信息将该初始对象区域补充完整,得到一个完整的包含完整部位的第一对象区域。
为便于理解,请一并参见图6,图6是本申请实施例提供的一种进行部位融合的场景示意图。如图6所示,假设初始对象区域为初始对象区域600a,初始对象区域600a中所呈现的对象关键部位包括头部、颈部、手臂部位、胸部、腹部(也就是用户的上半身部位);假设对象识别配置部位也为用户的上半身部位,也就是说客户端需要采集用户的上半身部位,那么可见该初始对象区域是符合要求的。那么进一步地,可确定该对象关键部位是否具备部位完整性,此时,假设我们规定部位完整性是指的用户的整体人像完整性(即需要包含上半身部位以及下半身部位,也就是从头部至脚部),那么可见该初始对象区域600a所呈现的对象关键部位时不具备部位完整性的,那么此时业务服务器1000可获取到样本数据库中该目标对象所对应的目标样本图像帧(假设为目标样本图像帧600b)。如图6所示,该目标样本图像帧中所呈现的目标整体部位信息包含目标对象的从头部至脚部的完整的信息,此时因为初始对象区域600a中已经包含有上半身部位,那么可将该目标样本图像帧中的下半身部位确定为待融合部位区域(即区域600c),可提取出该待融合部位区域600c。进一步地,可将该待融合部位区域600c与初始对象区域600a进行融合(例如,拼接),由此可得到包含上半身部位与下半身部位的第一对象区域600d。应当理解,通过提前采集用户的整体部位信息(例如,从头部脚部),可以使得客户端在每次采集用户的画面时,无需严格要求用户每次都需要站立于固定的能够采集到完整部位的位置,用户可以灵活进行移动,客户端只需采集到部分部位信息即可,业务服务器在获取到客户端采集的部分部位信息后,可根据提前采集的整体部位信息来对其进行补充拼接,由此也可得到完整的部位,通过这种方式可以增加用户的体验感与沉浸感。
需要说明的是,在上述过程中,假设我们规定部位完整性是指的用户的上半身部位的完整性,那么此时初始对象区域600a所呈现的对象关键部位实际上已经具备了部位完整性,那么此时可以直接将该初始对象区域600a确定为第一对象区域。
其中,对于上述获取样本数据库中该目标对象所对应的目标样本图像帧的具体方法可为:可通过人脸匹配的方式;也可以在采集用户的样本图像帧时,利用用户标识(如用户名称、用户编号等)对其对应的样本图像帧进行标识,使得每个样本图像帧均具备一个用户标识(可称为样本标识);而客户端在向业务服务器发送图像数据时,可携带发送该图像数据中所包含的用户的用户标识,那么业务服务器可通过携带的用户标识与样本图像帧的样本标识,来匹配出对应的目标样本图像帧。对于获取样本数据库中该目标对象所对应的目标样本图像帧的具体实现方式,当然并不仅限于上述所描述的方式,本申请对于其具体实现方式不进行限制。
在本申请实施例中,客户端(如第一客户端)在采集到包含目标对象的第一图像数据时,可以将该第一图像数据发送至相关计算机设备(如业务服务器),由该业务服务器进行图像识别处理,无需在客户端本地进行图像识别,可以使得第一图像数据由具备较高计算能力的业务服务器来进行图像识别处理,可以提高图像识别效率与清晰度;同时,在本申请中,业务服务器可以将接收到的第一图像数据存储至接收队列中,在对第一图像数据进行图像识别处理的过程中,可以持续从第一客户端同步获取到第二图像数据,并将该第二图像数据存储至接收队列中,得到更新接收队列;也就是说,本申请中的业务服务器在对第一图像数据进行图像识别处理时,并不会暂停第二图像数据的接收,通过接收队列可以实现图像处理与图像接收的同步进行,由此可以减少图像传输时延。进一步地,业务服务器在通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,业务服务器可以将该第一对象区域所包含的第一对象图像数据发送至云应用服务器,由云应用服务器进行渲染并将渲染得到的渲染数据发送至第一客户端,由此可以在云应用中进行显示。同时,在提取出第一对象区域后,业务服务器可以获取到接收队列中具有最晚接收时间戳的第二图像数据,并继续对该第二图像数据进行处理。可以看出,本申请在对某个图像数据进行图像识别处理后,接下来是从接收队列中获取到具有最晚接收时间戳的图像数据进行处理,并非是按照接收时间戳的时间顺序对图像数据进行一一识别,可以提高对图像数据的识别效率;同时由于具有最晚接收时间戳的图像数据是根据目标对象当前的行为所采集得到,那么对具有最晚接收时间戳的图像数据进行图像识别并显示时,也是与目标对象当前的行为相匹配的。综上,本申请可以提高图像传输时延,提高图像识别效率。
可选的,在一种可行的实施例中,在每个客户端首次运行云应用时,每个客户端所对应的云应用服务器可向业务服务器发送注册请求,该注册请求用于请求向业务服务器注册设备,而在经过注册后,业务服务器可将云应用服务器对应的设备标识添加至已存设备标识集合中,由此可证明该云应用服务器为已注册云应用服务器。当其为已注册云应用服务器时,可表明其为合法的云应用服务器,此时业务服务器可与合法的云应用服务器之间进行数据交互。那么第一客户端在向业务服务器发送图像数据(如第一图像数据时),可携带发送具有绑定关系的云应用服务器(可称为绑定云应用服务器)的设备标识(可称为待确认设备标识),用以业务服务器通过设备标识来确认其是否经过注册(是否合法),在确定该绑定云应用服务器经过注册时,再将该绑定云应用服务器确定为目标云应用服务器,然后将第一对象图像数据发送至目标云应用服务器。也就是说,在通过上述所述确定出第一对象区域后,业务服务器在向目标云应用服务器发送第一对象图像数据前,首先可以确定该第一客户端对应的云应用服务器是否经过注册,在确定其经过注册时,再将该第一对象图像数据发送至其对应的目标云应用服务器。
为便于理解,请参见图7,图7是本申请实施例提供一种将第一对象图像数据发送至目标云应用服务器的流程示意图。该流程以第一图像数据携带待确认设备标识(待确认设备标识是绑定云应用服务器的设备标识,绑定云应用服务器与第一客户端具有绑定关系)为例进行说明,如图7所示,该流程可以包括至少以下步骤S701-步骤S704:
步骤S701,获取已存设备标识集合;已存设备标识集合包含M个已存设备标识,一个已存设备标识对应一个已注册云应用服务器,M为正整数。
具体的,在每个客户端运行云应用时(一般是首次运行云应用时),每个客户端所对应的云应用服务器可向业务服务器发送注册请求,该注册请求用于请求向业务服务器注册设备,而在经过注册后,业务服务器可将云应用服务器对应的设备标识添加至已存设备标识集合中,由此可证明该云应用服务器为已注册云应用服务器。以客户端为第二客户端为例,其具体方法可为:在用户使用客户端开启云应用时,该第二客户端可响应这一应用开启操作,生成应用开启通知,第二客户端可将该应用开启通知发送至其对应的云应用服务器(可称为待注册云应用服务器),而该待注册云应用服务器此时可基于应用开启通知向业务服务器发送注册请求;而业务服务器可接收待注册云应用服务器发送的注册请求;随后,业务服务器可根据注册请求,检测待注册云应用服务器的设备指标信息;当设备指标信息满足处理质量条件时,再获取待注册云应用服务器的待存储设备标识,并将待存储设备标识存储至已存设备标识集合,将待注册云应用服务器转换为已注册云应用服务器。
其中,设备指标信息可包括网络质量指标、版本指标、功能模块质量指标、存储空间指标等等,这里对设备指标信息进行检测可以是检测某一个指标是否合格,例如,可检测网络质量指标是否合格,该网络质量指标合格了那么即可认为该待注册云应用服务器的设备指标信息满足了处理质量条件;对设备指标信息进行检测还可以是检测两个或两个以上的指标是否均合格,只有在均合格的条件下,才确认该待注册云应用服务器的设备指标信息满足了处理质量条件。
以下将以设备指标信息包括网络质量指标与版本指标为例,对检测待注册云应用服务器的设备指标信息的具体方法进行说明,其具体方法可为:根据注册请求,获取待注册云应用服务器的网络质量参数与设备版本;若网络质量参数达到参数阈值,且设备版本与质量标准版本(可理解为质量合格版本)相匹配,则可确定设备指标信息满足处理质量条件;而若网络质量参数未达到参数阈值,或设备版本与质量标准版本不匹配,则可确定设备指标信息不满足处理质量条件。
通过上述可知,已存设备集合中存储有不同的已注册云应用服务器所对应的已存设备标识,那么在获取到第一客户端所发送的待确认设备标识后,可获取到已存设备标识集合,再将待确认设备标识与已存设备标识集合进行匹配。
步骤S702,确定M个已存设备标识中是否存在与待确认设备标识相匹配的目标已存设备标识。
若存在,则可执行后续步骤S703;若不存在,则可执行后续步骤S704。
步骤S703,若M个已存设备标识中,存在与待确认设备标识相匹配的目标已存设备标识,则确定待确认设备标识所指示的绑定云应用服务器属于已注册云应用服务器,将待确认设备标识所指示的绑定云应用服务器确定为目标云应用服务器,将第一对象图像数据发送至目标云应用服务器。
具体的,将待确认设备标识与M个已存设备标识进行匹配,若M个已存设备标识中存在与待确认设备标识相匹配的目标已存设备标识,则可确定待确认设备标识所指示的绑定云应用服务器属于已注册云应用服务器,那么此时可将该绑定云应用服务器确定为该目标云应用服务器,可将该第一对象图像数据发送至该目标云应用服务器。
步骤S704,若M个已存设备标识中不存在目标已存设备标识,则生成设备异常提示信息,将设备异常提示信息发送至第一客户端。
具体的,将待确认设备标识与M个已存设备标识进行匹配,若已存设备标识集合中不存在目标已存设备标识,则可确定待确认设备标识所指示的绑定云应用服务器属于未注册云应用服务器,该绑定云应用服务器未经过注册,该业务服务器无法将该第一对象图像数据发送至该绑定云应用服务器。那么此时,业务服务器可生成设备异常提示信息(可以是指服务器未注册提示信息),业务服务器可将该设备异常提示信息返回至第一客户端,而第一客户端可基于该设备异常提示信息向其对应的绑定云应用服务器发送注册通知,绑定云应用服务器可基于该注册通知向业务服务器申请注册。
应当理解,实际上,在一种可行的情况下,并不是仅有上述第一客户端这一个客户端向业务服务器发送图像数据,而是会有不同的客户端向业务服务器发送图像数据,由于不同的客户端所对应的云应用服务器也不同,那么在业务服务器进行注册的云应用服务器也会存在多个(会存在多个云应用服务连接到业务服务器)。那么本申请通过预先存储已存设备标识集合,以及客户端在发送图像数据时携带发送其对应的云游戏服务器的设备标识,由此可以确定出客户端与云应用服务器之间的对应关系,同时也可以确定该云应用服务器是否已经过注册,从而可以将客户端采集的用户画面发送给正确的已注册的云应用服务器,可以提高云应用显示的用户画面的正确性。
可以理解的是,对于每个云应用服务器而言,如对于目标云应用服务器而言,其在接收业务服务器传输的人像数据(也就是对象图像数据,如第一对象图像数据)时,通常处理步骤可以包括以下3个步骤:
1、分配接收缓冲区并将人像数据(如上述第一对象图像数据)写入接收缓冲区。
2、待接收完成后,再将人像数据拷贝出来进行处理和渲染。
3、待渲染完成后,回到步骤1。
也就是说,目标云应用服务器需要先将人像数据写入缓冲区,再读取并渲染人像数据,渲染完成后再继续接收人像数据并写入缓冲区。对于分辨率较高的人像数据,接收数据量会较大,那么目标云应用服务器在分配缓冲区及数据拷贝时,会消耗大量的时间,严重影响后续接收人像数据的时间,造成大量的时延,由此可见,虽然通过上述所述,通过业务服务器的跳帧处理,可以减少业务服务器一侧的图像接收时延,但是在云应用服务器一侧,仍然存在时延问题。而为了进一步减少时延,本申请提供一种数据处理方法,该方法即为在云应用服务器一侧分配双缓冲区。为便于理解,请一并参见图8,图8是本申请实施例提供的一种数据处理方法的流程示意图,该流程可对应于云游戏服务器(如目标云应用服务器)在接收到对象图像数据后的数据处理过程。如图8所示,该流程可以包括至少以下步骤S801-步骤S804:
步骤S801,接收业务服务器发送的第一对象图像数据,将第一对象图像数据存储至缓冲区集合中的工作状态处于存储状态的第一缓冲区中;第一对象图像数据为第一对象区域所包含的图像数据,第一对象区域为业务服务器对第一图像数据进行图像识别处理后,得到的目标对象在第一图像数据中所处的区域;第一图像数据是由第一客户端发送至业务服务器的,第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据。
具体的,对于第一对象区域、第一对象图像数据的确定以及提取过程,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。业务服务器在提取出第一对象区域,并获取到第一对象图像数据后,可将该第一对象图像数据发送至目标云应用服务器,目标云应用服务器可将该第一对象图像数据存储至缓冲区集合中,工作状态处于存储状态的第一缓冲区。
其中,目标云应用服务器可预先分配同样大小的两个接收缓冲区(Buffer),并将其中的一个缓冲区的工作状态设置为存储状态,也就是该缓冲区实际为存储缓冲区,目标云应用服务器可将接收到的数据存储至该存储缓冲区;同时,可将另一个缓冲区的工作状态设置为读取状态,也就是将该缓冲区实际为读取缓冲区,目标云应用服务器在需要读取及渲染数据时,可从该读取缓冲区进行读取。
以两个缓冲区为例,其分配双缓冲区生成缓冲区集合的具体方法可为:可预先分配第一缓冲区与第二缓冲区;随后,可将第一缓冲区的初始指针标识设置为存储指针标识,将第二缓冲区的初始指针标识设置为读取指针标识;应当理解,具有存储指针标识的第一缓冲区的工作状态为存储状态;具有读取指针标识的第二缓冲区的工作状态为读取状态;随后,可根据工作状态处于存储状态的第一缓冲区,与工作状态处于读取状态的第二缓冲区,生成缓冲区集合。那么此时,在接收到第一对象图像数据时,因第一缓冲区的工作状态处于存储状态,则此时可将该第一对象图像数据存储至第一缓冲区。
步骤S802,当缓冲区集合中工作状态处于读取状态的第二缓冲区未包含未处理对象图像数据时,将第一缓冲区的工作状态调整为读取状态,将第二缓冲区的工作状态调整为存储状态,从工作状态处于读取状态的第一缓冲区中读取第一对象图像数据,将第一对象图像数据进行渲染处理。
具体的,通过上述,第一缓冲区初始工作状态为存储状态,该第二缓冲区的初始工作状态为读取状态,那么目标云应用服务器在接收存储该第一图像数据时,可以同步对第二缓冲区中已经存储的数据(可称为已存图像数据)进行读取并渲染。若该第二缓冲区中此时并没有存储有图像数据,那么该第二缓冲区即未包含未处理对象图像数据,那么在将该第一对象图像数据存储至第一缓冲区后,可将该第一缓冲区的存储指针标识切换为读取指针标识、将该第二缓冲区的存储指针标识切换为存储指针标识,那么该第一缓冲区与第二缓冲区的工作状态就进行了互换,第一缓冲区的当前工作状态变为读取状态,第二缓冲区的当前工作状态变为存储状态,此时可从第一缓冲区中读取该第一对象图像数据,并对其进行渲染处理,同时也可以继续接收第二对象图像数据并将之存储至第二缓冲区中。
应当理解,通过双缓冲区的设置,目标云应用服务器可实现读取与接收的同步,无需等待渲染完成即可接收其余的数据,可以大大减少接收时延。
可选的,应当理解,通过上述,第一缓冲区初始工作状态为存储状态,该第二缓冲区的初始工作状态为读取状态,那么目标云应用服务器在接收存储该第一图像数据时,可以同步对第二缓冲区中已经存储的数据(可称为已存图像数据)进行读取并渲染。若该第二缓冲区中存储有图像数据,但是所有的图像数据已经被读取渲染完成了,那么此时可将该第二缓冲区中的已经处理了的图像数据进行清空,那么此时也可以确定该第二缓冲区中未包含有未处理图像数据,可通过指针标识的切换将第一缓冲区的工作状态调整为读取状态,将第二缓冲区的工作状态调整为存储状态。然后再从处于读取状态的第一缓冲区中读取到该第一对象图像数据,对其进行渲染处理。
步骤S803,在第一对象图像数据的渲染过程中,接收业务服务器发送的第二对象图像数据,将第二对象图像数据存储至工作状态处于存储状态的第二缓冲区中;第二对象图像数据是第二对象区域所包含的图像数据,第二对象区域为业务服务器在提取出第一对象区域后对目标图像数据进行图像识别处理所得到,第二对象区域为目标对象在目标图像数据中所处的区域;目标图像数据为业务服务器在提取出第一对象区域时,从更新接收队列中所获取到的具有最晚接收时间戳的第二图像数据;更新接收队列中的第二图像数据是业务服务器对第一图像数据进行图像识别处理的过程中,从第一客户端所持续获取得到。
具体的,第二对象区域可以是指上述业务服务器,对目标图像数据进行图像识别处理后,所提取出的区域,第二对象图像数据可以是指目标图像数据中,第二对象区域所包含的图像数据。对于其具体提取方式,可以与提取第一对象区域的方式相同,这里将不再进行赘述。
在第一对象图像数据的渲染过程中,可接收业务服务器发送的第二对象图像数据,实际上就是目标云应用服务器可以在读取数据的过程中,同步接收数据,并将之存储至当前处于存储状态的第二缓冲区,由此可以减少时延。
步骤S804,在获取到第一对象图像数据对应的渲染数据时,将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态,从工作状态处于读取状态的第二缓冲区中读取第二对象图像数据,将第二对象图像数据进行渲染处理。
具体的,当对第一缓冲区中的已存储数据读取并渲染完成时(如,第一缓冲区仅包含第一对象图像数据,那么即是在获取到第一对象图像数据对应的渲染数据时),可将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态,此时,可以从处于读取状态的第二缓冲区中读取第二对象图像数据,将第二对象图像数据进行渲染处理;也可以同步接收其余的对象图像数据,并将之存储至处于存储状态的第一缓冲区中。其中,将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态的具体实现方式,也可为指针标识的切换方式。其具体方法可为:在获取到第一对象区域对应的第一渲染数据时,可获取第一缓冲区所对应的用于表征读取状态的读取指针标识,以及第二缓冲区所对应的用于表征存储状态的存储指针标识;将第一缓冲区所对应的读取指针标识切换为存储指针标识;具有存储指针标识的第一缓冲区的工作状态为存储状态;将第二缓冲区的存储指针标识切换为读取指针标识;具有读取指针标识的第二缓冲区的工作状态为读取状态。
为便于理解,请一并参见图9,图9是本申请实施例提供的一种双缓冲区状态变化的示意图。如图9所示,以第一缓冲区为缓冲区900a、第二缓冲区为900b为例,此时,缓冲区900a的工作状态为读取状态,该缓冲区900a中所存储的对象图像数据可包括有对象图像数据1至对象图像数据10,其中,该对象图像数据1至对象图像数据7为已经读取了的数据,而对象图像数据8至对象图像数据10为待读取的数据。同时,该缓冲区900b的工作状态为存储状态,在云应用服务器从缓冲区900a读取数据的过程中,可持续接收对象图像数据并将之存储至缓冲区900b中,此时,缓冲区900b中已经接收的数据包括对象图像数据11至对象图像数据14(缓冲区900b中还剩余6个剩余空间位置用于接收对象图像数据)。
进一步地,如图9所示,当将缓冲区900a中的数据读取完时(即读取完对象图像数据7至对象图像数据9)时,可将缓冲区900a清空,而此时该缓冲区900b中所接收到的数据包含对象图像数据11至对象图像数据20。进一步地,可将缓冲区900a的工作状态切换为存储状态、将缓冲区900b的工作状态切换为读取状态,由此,云应用服务器可从缓冲区900b中读取数据(如,从对象图像数据11开始依次读取);同时,云应用服务器可同步接收对象图像数据,并将之存储至缓冲区900a中。如,接收到新的对象图像数据1至新的对象图像数据3后,可将之存储至缓冲区900a中。
需要说明的是,上述缓冲区900a与缓冲区900b,均是为便于理解所作出的举例说明,并不具备实际参考意义。
在本申请实施例中,通过业务服务器的跳帧处理,可以减少业务服务器一侧的图像接收时延,提高图像识别效率;通过云应用服务器的双缓冲区分配处理,无需进行数据拷贝,只需要将两个缓冲区的工作状态进行切换即可(如指针切换),也不需要每次均进行缓冲区分配,同时,接收数据与处理数据(如读取并渲染数据)可以同时进行,不需要相互等待,可以减少时延。也就是说,在业务服务器侧减少时延的基础上,通过双缓冲区的设置,可以进一步地减少时延。
进一步地,为便于理解,请一并参见图10,图10是本申请实施例提供的一种系统架构图。如图10所示的系统架构图是以云应用为例,其云应用对应的云应用服务器可为云游戏服务器。如图10所示,该系统架构可以包括客户端集群(可包括客户端1、客户端2、…、客户端n)、业务服务器(可包括推流子服务器与图像识别子服务器。该推流子服务器可用于接收客户端上传的图像编码文件并对其进行解码处理;该图像识别子服务器可对推流子服务器所解码得到的解码图像数据进行图像识别处理)、云游戏服务器。为便于理解,以下将进行具体阐述。
客户端集群:每个客户端运行云应用(如云游戏应用)时,可以展示云应用画面(如云游戏画面)。当运行云游戏应用时,可通过摄像头采集用户画面,并进行编码处理,得到图像数据上传至业务服务器中的推流子服务器(该推流子服务器可为任一具备数据接收功能与解码功能的服务器,主要用于接收客户端上传的图像编码文件,并对其进行解码处理)中。
推流子服务器:可接收客户端上传的图像数据并进行解码处理,得到具有初始图像格式(如YUV格式)的解码图像,可将该解码图像发送至图像识别子服务器。
图像识别子服务器:可将解码图像从YUV格式转换成RGB格式,随后可识别并提取出图像中的用户人像数据或人体关键点,并将该用户人像或人体关键点发送至云游戏服务器。应当理解,推流子服务器与图像识别子服务器可共同组成业务服务器,使得业务服务器可以具备图像解码、图像识别功能。当然,推流子服务器与图像识别子服务器也可以作为独立服务器,各自执行相应的任务(即推流子服务器接收图像编码文件并进行解码;图像识别子服务器对解码数据进行图像识别处理)。应当理解,为减少数据接收时延,推流子服务器与图像识别子服务器均可以进行跳帧处理。
云游戏服务器:该云游戏服务器可是指客户端所对应的云服务器,当客户端运行云游戏应用时,云游戏服务器为其提供相应的计算服务器。云游戏服务器可接收用户人像数据或人体关键点,可将用户人像数据进行渲染显示。或者,云游戏服务器可利用人体关键点在云游戏应用中操纵虚拟卡通玩偶来实现动画(即不是将用户人像投射于云游戏应用中,而是操作虚拟卡通玩偶来同步用户的真实动作状态)。
为便于理解,请一并参见图11,图11是本申请实施例提供的一种系统流程示意图。该流程可以对应于图10所对应的系统架构。如图11所示,该流程可以包括步骤S31-步骤S36:
步骤S31:客户端采集摄像头图像。
步骤S32,客户端对采集图像进行编码。
步骤S33,推流子服务器对编码数据进行解码。
步骤S34,图像识别子服务器将解码图像从YUV格式转换为RGB格式。
步骤35,云应游戏服务器识别用户人像或人体关键点。
步骤S36,展示人像或展示虚拟动画。
其中,对于步骤S31-步骤S36的具体实现方式,可以参见前述图3、图5、图7、图8所对应实施例中的描述,这里将不再进行赘述;其带来的有益效果这里也将不再进行赘述。
可选的,可以理解的是,当客户端在采集目标对象时,若同时采集到了另一个目标对象(可以理解为另一个用户入镜),那么此时,客户端可生成对象选择提示信息,由用户选择将谁作为最终采集对象。或者,客户端自动根据对象的清晰度与所占面积来确定。例如,客户端同时采集到了对象1与对象2,但对象2距离镜头较远、采集画面并不清晰,对象1距离镜头较近、采集画面清晰,那么客户端可自动将对象1作为最终采集对象。
进一步地,请参见图12,图12是本申请实施例提供的一种交互流程图。该交互流程可为客户端、推流子服务器、图像识别子服务器以及云应用服务器(是以云游戏服务器为例)之间的交互流程。如图12所示,该交互流程可以至少包括以下步骤S41-步骤S54:
步骤S41,客户端与推流子服务器之间建立连接。
具体的,用户通过客户端打开云游戏应用时,客户端可以与推流子服务器之间建立连接(如,建立Websocket长连接)。
步骤S42,图像识别子服务器与云游戏服务器之间建立连接。
具体的,用户通过客户端打开云游戏应用时,云游戏服务器(可集成有云游戏软件工具开发包(SDK))可以与图像识别子服务器之间建立连接(如,建立传输通信协议(Transmission Control Protocol,TCP)连接)。
步骤S43,云游戏服务器向其对应的客户端发送采集通知。
具体的,采集通知即图像开始采集通知消息。
步骤S44,客户端向推流子服务器发送推流消息。
具体的,客户端可基于采集通知打开摄像头,并将云游戏服务器的设备标识、所采集的用户的标识以及摄像头采集图像的宽(width)和高(height),一并通知给推流子服务器,让推流子服务器准备接收数据。其中,推流消息即可包括云游戏服务器的设备标识、所采集的用户的标识以及摄像头采集图像的宽和高。
步骤S45,推流子服务器向图像识别子服务器发送推流消息。
具体的,推流子服务器收到客户端的推流消息后,可以与图像识别服务器建立TCP连接,并将推流消息发送给图像识别子服务器。
步骤S46,客户端开始采集图像并进行编码。
步骤S47,客户端向推流子服务器发送编码数据。
步骤S48,推流子服务器进行解码,得到解码数据。
步骤S49,推流子服务器将解码数据发送至图像识别子服务器。
步骤S51,图像识别子服务器将解码数据进行格式转换,并进行图像识别。
步骤S52,图像识别子服务器将识别数据发送至云游戏服务器。
步骤S53,云游戏服务器将识别数据进行渲染得到渲染数据。
步骤S54,云游戏服务器将渲染数据发送至客户端。
其中,对于步骤S46-步骤S54的具体实现方式,可以参见上述图3、图5、图7与图8所对应实施例中的描述,这里将不再进行赘述,其带来的有益效果也将不再进行赘述。
进一步地,请参见图13,图13是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行图3所示的方法。如图13所示,该数据处理装置1可以包括:数据获取模块11、图像识别模块12、队列更新模块13以及区域发送模块14。
数据获取模块11,用于获取第一客户端发送的第一图像数据,将第一图像数据存储至接收队列中;第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
图像识别模块12,用于对接收队列中的第一图像数据进行图像识别处理;
队列更新模块13,用于在第一图像数据的图像识别处理过程中,将持续获取到的第一客户端所发送的第二图像数据,存储至接收队列中,得到更新接收队列;
区域发送模块14,用于当通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,将第一对象区域所包含的第一对象图像数据发送至目标云应用服务器;目标云应用服务器用于对第一对象图像数据进行渲染得到渲染数据,将渲染数据发送至第一客户端;
区域发送模块14,还用于同步对更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理。
其中,数据获取模块11、图像识别模块12、队列更新模块13以及区域发送模块14的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S101-步骤S103的描述,这里将不再进行赘述。
在一个实施例中,数据获取模块11可以包括:图像接收单元111与存储单元112。
图像接收单元111,用于接收第一客户端发送的第一图像数据;第一图像数据是由第一客户端对原始图像帧进行编码处理后得到的数据;原始图像帧是第一客户端在运行云应用时所采集得到;
存储单元112,用于获取接收到第一图像数据的接收时间戳,将第一图像数据与接收时间戳关联存储至接收队列中。
其中,图像接收单元111与存储单元112的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S101的描述,这里将不再进行赘述。
在一个实施例中,图像识别模块12可以包括:数据解码单元121、格式转换单元122以及图像识别单元123。
数据解码单元121,用于对第一图像数据进行解码处理,得到具有初始图像格式的解码图像数据;
格式转换单元122,用于对解码图像数据进行格式转换,得到具有目标图像格式的原始图像帧;
图像识别单元123,用于对具有目标图像格式的原始图像帧进行图像识别处理。
其中,数据解码单元121、格式转换单元122以及图像识别单元123的具体实现方式,可以参见上述图3所对应实施例中步骤S101的描述,这里将不再进行赘述。
在一个实施例中,图像识别单元123可以包括:关键点识别子单元1231、曲线连接子单元1232以及区域确定子单元1233。
关键点识别子单元1231,用于识别目标对象在原始图像帧中所处的对象边缘关键点;
曲线连接子单元1232,用于将对象边缘关键点进行连接,得到目标对象对应的对象边缘曲线;
区域确定子单元1233,用于将原始图像帧中对象边缘曲线所覆盖的区域,确定为第一对象区域。
其中,关键点识别子单元1231、曲线连接子单元1232以及区域确定子单元1233的具体实现方式,可以参见上述图3所对应实施例中步骤S102的描述,这里将不再进行赘述。
在一个实施例中,第一图像数据携带待确认设备标识;待确认设备标识是绑定云应用服务器的设备标识,绑定云应用服务器与第一客户端具有绑定关系;
区域发送模块14包括:集合获取单元141与标识匹配单元142。
集合获取单元141,用于获取已存设备标识集合;已存设备标识集合包含M个已存设备标识,一个已存设备标识对应一个已注册云应用服务器,M为正整数;
标识匹配单元142,用于若M个已存设备标识中存在与待确认设备标识相匹配的目标已存设备标识,则确定待确认设备标识所指示的绑定云应用服务器属于已注册云应用服务器,将待确认设备标识所指示的绑定云应用服务器确定为目标云应用服务器,将第一对象图像数据发送至目标云应用服务器。
其中,集合获取单元141与标识匹配单元142的具体实现方式,可以参见上述图3所对应实施例中步骤S103的描述,这里将不再进行赘述。
在一个实施例中,该数据处理装置1还可以包括:注册请求接收模块15、指标检测模块16以及标识添加模块17。
注册请求接收模块15,用于接收待注册云应用服务器发送的注册请求;注册请求是待注册云应用服务器在接收到第二客户端发送的应用开启通知后所生成的;应用开启通知是第二客户端响应针对云应用的应用开启操作所生成的;
指标检测模块16,用于根据注册请求,检测待注册云应用服务器的设备指标信息;
标识添加模块17,用于当设备指标信息满足处理质量条件时,获取待注册云应用服务器的待存储设备标识,将待存储设备标识存储至已存设备标识集合,将待注册云应用服务器转换为已注册云应用服务器。
其中,注册请求接收模块15、指标检测模块16以及标识添加模块17的具体实现方式,可以参见上述图3所对应实施例中步骤S103的描述,这里将不再进行赘述。
在一个实施例中,设备指标信息包括网络质量指标与版本指标;
指标检测模块16可以包括:参数获取单元161与指标确定单元162。
参数获取单元161,用于根据注册请求,获取待注册云应用服务器的网络质量参数与设备版本;
指标确定单元162,用于若网络质量参数达到参数阈值,且设备版本与质量标准版本相匹配,则确定设备指标信息满足处理质量条件;
指标确定单元162,还用于若网络质量参数未达到参数阈值,或设备版本与质量标准版本不匹配,则确定设备指标信息不满足处理质量条件。
其中,参数获取单元161与指标确定单元162的具体实现方式,可以参见上述图3所对应实施例中步骤S103的描述,这里将不再进行赘述。
在本申请实施例中,客户端(如第一客户端)在采集到包含目标对象的第一图像数据时,可以将该第一图像数据发送至相关计算机设备(如业务服务器),由该业务服务器进行图像识别处理,无需在客户端本地进行图像识别,可以使得第一图像数据由具备较高计算能力的业务服务器来进行图像识别处理,可以提高图像识别效率与清晰度;同时,在本申请中,业务服务器可以将接收到的第一图像数据存储至接收队列中,在对第一图像数据进行图像识别处理的过程中,可以持续从第一客户端同步获取到第二图像数据,并将该第二图像数据存储至接收队列中,得到更新接收队列;也就是说,本申请中的业务服务器在对第一图像数据进行图像识别处理时,并不会暂停第二图像数据的接收,通过接收队列可以实现图像处理与图像接收的同步进行,由此可以减少图像传输时延。进一步地,业务服务器在通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,业务服务器可以将该第一对象区域所包含的第一对象图像数据发送至云应用服务器,由云应用服务器进行渲染并将渲染得到的渲染数据发送至第一客户端,由此可以在云应用中进行显示。同时,在提取出第一对象区域后,业务服务器可以获取到接收队列中具有最晚接收时间戳的第二图像数据,并继续对该第二图像数据进行处理。可以看出,本申请在对某个图像数据进行图像识别处理后,接下来是从接收队列中获取到具有最晚接收时间戳的图像数据进行处理,并非是按照接收时间戳的时间顺序对图像数据进行一一识别,可以提高对图像数据的识别效率;同时由于具有最晚接收时间戳的图像数据是根据目标对象当前的行为所采集得到,那么对具有最晚接收时间戳的图像数据进行图像识别并显示时,也是与目标对象当前的行为相匹配的。综上,本申请可以提高图像传输时延,提高图像识别效率。
进一步地,请参见图14,图14是本申请实施例提供的另一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行图8所示的方法。如图14所示,该数据处理装置2可以包括:区域存储模块21、区域渲染模块22、区域接收模块23以及状态调整模块24。
区域存储模块21,用于接收业务服务器发送的第一对象图像数据,将第一对象图像数据存储至缓冲区集合中的工作状态处于存储状态的第一缓冲区中;第一对象图像数据为第一对象区域所包含的图像数据,第一对象区域为业务服务器对第一图像数据进行图像识别处理后,得到的目标对象在第一图像数据中所处的区域;第一图像数据是由第一客户端发送至业务服务器的,第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
区域渲染模块22,用于当缓冲区集合中工作状态处于读取状态的第二缓冲区未包含未处理对象图像数据时,将第一缓冲区的工作状态调整为读取状态,将第二缓冲区的工作状态调整为存储状态,从工作状态处于读取状态的第一缓冲区中读取第一对象区域,将第一对象区域进行渲染处理;
区域接收模块23,用于在第一对象区域的渲染过程中,接收业务服务器发送的第二对象图像数据,将第二对象图像数据存储至工作状态处于存储状态的第二缓冲区中;第二对象图像数据是第二对象区域所包含的图像数据,第二对象区域为业务服务器在提取出第一对象区域后对目标图像数据进行图像识别处理所得到,第二对象区域为目标对象在目标图像数据中所处的区域;目标图像数据为业务服务器在提取出第一对象区域时从接收队列中所获取到的具有最晚接收时间戳的第二图像数据;接收队列中的第二图像数据是业务服务器对第一图像数据进行图像识别处理的过程中,从第一客户端所持续获取得到;
状态调整模块24,用于在获取到第一对象图像数据对应的第一渲染数据时,将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态,从工作状态处于读取状态的第二缓冲区中读取第二对象图像数据,将第二对象图像数据进行渲染处理。
其中,区域存储模块21、区域渲染模块22、区域接收模块23以及状态调整模块24的具体实现方式,可以参见上述图8所对应实施例中步骤S801-步骤S804的描述,这里将不再进行赘述。
在一个实施例中,状态调整模块24可以包括:标识获取单元241与标识切换单元242。
标识获取单元241,用于在获取到第一对象区域对应的第一渲染数据时,获取第一缓冲区所对应的用于表征读取状态的读取指针标识,以及第二缓冲区所对应的用于表征存储状态的存储指针标识;
标识切换单元242,用于将第一缓冲区所对应的读取指针标识切换为存储指针标识;具有存储指针标识的第一缓冲区的工作状态为存储状态;
标识切换单元242,还用于将第二缓冲区的存储指针标识切换为读取指针标识;具有读取指针标识的第二缓冲区的工作状态为读取状态。
其中,标识获取单元241与标识切换单元242的具体实现方式,可以参见上述图8所对应实施例中步骤S804的描述,这里将不再进行赘述。
在一个实施例中,数据处理装置2还可以包括:缓冲区分配模块25、标识设置模块26以及集合生成模块27。
缓冲区分配模块25,用于分配第一缓冲区与第二缓冲区;
标识设置模块26,用于将第一缓冲区的初始指针标识设置为存储指针标识,将第二缓冲区的初始指针标识设置为读取指针标识;具有存储指针标识的第一缓冲区的工作状态为存储状态;具有读取指针标识的第二缓冲区的工作状态为读取状态;
集合生成模块27,用于根据工作状态处于存储状态的第一缓冲区,与工作状态处于读取状态的第二缓冲区,生成缓冲区集合。
其中,缓冲区分配模块25、标识设置模块26以及集合生成模块27的具体实现方式,可以参见上述图8所对应实施例中步骤S801中的描述。
在本申请实施例中,通过业务服务器的跳帧处理,可以减少业务服务器一侧的图像接收时延,提高图像识别效率;通过云游戏服务器的双缓冲区分配处理,无需进行数据拷贝,只需要将两个缓冲区的工作状态进行切换即可,也不需要每次均进行缓冲区分配,同时,接收数据与处理数据(如读取并渲染数据)可以同时进行,不需要相互等待,可以减少时延。也就是说,在业务服务器侧减少时延的基础上,通过双缓冲区的设置,可以进一步地减少时延。
进一步地,请参见图15,图15是本申请实施例提供的一种计算机设备的结构示意图。如图15所示,上述图13所对应实施例中的装置1或图14所对应实施例中的装置2可以应用于上述计算机设备8000,上述计算机设备8000可以包括:处理器8001,网络接口8004和存储器8005,此外,上述计算机设备8000还包括:用户接口8003,和至少一个通信总线8002。其中,通信总线8002用于实现这些组件之间的连接通信。其中,用户接口8003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口8003还可以包括标准的有线接口、无线接口。网络接口8004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器8005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器8005可选的还可以是至少一个位于远离前述处理器8001的存储装置。如图15所示,作为一种计算机可读存储介质的存储器8005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图15所示的计算机设备8000中,网络接口8004可提供网络通讯功能;而用户接口8003主要用于为用户提供输入的接口;而处理器8001可以用于调用存储器8005中存储的设备控制应用程序,以实现:
获取第一客户端发送的第一图像数据,将第一图像数据存储至接收队列中;第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
对接收队列中的第一图像数据进行图像识别处理,在第一图像数据的图像识别处理过程中,将持续获取到的第一客户端所发送的第二图像数据,存储至接收队列中,得到更新接收队列;
当通过图像识别处理提取出目标对象在第一图像数据中所处的第一对象区域时,将第一对象区域所包含的第一对象图像数据发送至目标云应用服务器,同步对更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理;目标云应用服务器用于对第一对象图像数据进行渲染得到渲染数据,将渲染数据发送至第一客户端。
或实现:
接收业务服务器发送的第一对象图像数据,将第一对象图像数据存储至缓冲区集合中的工作状态处于存储状态的第一缓冲区中;第一对象图像数据为第一对象区域所包含的图像数据,第一对象区域为业务服务器对第一图像数据进行图像识别处理后,得到的目标对象在第一图像数据中所处的区域;第一图像数据是由第一客户端发送至业务服务器的,第一图像数据是第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
当缓冲区集合中工作状态处于读取状态的第二缓冲区未包含未处理对象图像数据时,将第一缓冲区的工作状态调整为读取状态,将第二缓冲区的工作状态调整为存储状态,从工作状态处于读取状态的第一缓冲区中读取第一对象区域,将第一对象区域进行渲染处理;
在第一对象区域的渲染过程中,接收业务服务器发送的第二对象图像数据,将第二对象图像数据存储至工作状态处于存储状态的第二缓冲区中;第二对象图像数据是第二对象区域所包含的图像数据,第二对象区域为业务服务器在提取出第一对象区域后对目标图像数据进行图像识别处理所得到,第二对象区域为目标对象在目标图像数据中所处的区域;目标图像数据为业务服务器在提取出第一对象区域时,从更新接收队列中所获取到的具有最晚接收时间戳的第二图像数据;更新接收队列中的第二图像数据是业务服务器对第一图像数据进行图像识别处理的过程中,从第一客户端所持续获取得到;
在获取到第一对象图像数据对应的第一渲染数据时,将第一缓冲区的工作状态调整为存储状态,将第二缓冲区的工作状态调整为读取状态,从工作状态处于读取状态的第二缓冲区中读取第二对象图像数据,将第二对象图像数据进行渲染处理。
应当理解,本申请实施例中所描述的计算机设备8000可执行前文图3到图8所对应实施例中对该数据处理方法的描述,也可执行前文图13所对应实施例中对该数据处理装置1,或图14所对应实施例中对该数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备8000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图8所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取第一客户端发送的第一图像数据,将所述第一图像数据存储至接收队列中;所述第一图像数据是所述第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
对所述接收队列中的所述第一图像数据进行图像识别处理,在所述第一图像数据的图像识别处理过程中,将持续获取到的所述第一客户端所发送的第二图像数据,存储至所述接收队列中,得到更新接收队列;
当通过图像识别处理提取出所述目标对象在所述第一图像数据中所处的第一对象区域时,将所述第一对象区域所包含的第一对象图像数据发送至目标云应用服务器,同步对所述更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理;所述目标云应用服务器用于对所述第一对象图像数据进行渲染得到渲染数据,将所述渲染数据发送至所述第一客户端。
2.根据权利要求1所述的方法,其特征在于,所述获取第一客户端发送的第一图像数据,将所述第一图像数据存储至接收队列中,包括:
接收所述第一客户端发送的所述第一图像数据;所述第一图像数据是由所述第一客户端对原始图像帧进行编码处理后得到的数据;所述原始图像帧是所述第一客户端在运行所述云应用时所采集得到;
获取接收到所述第一图像数据的接收时间戳,将所述第一图像数据与所述接收时间戳关联存储至所述接收队列中。
3.根据权利要求2所述的方法,其特征在于,所述对所述接收队列中的所述第一图像数据进行图像识别处理,包括:
对所述第一图像数据进行解码处理,得到具有初始图像格式的解码图像数据;
对所述解码图像数据进行格式转换,得到具有目标图像格式的所述原始图像帧;
对具有所述目标图像格式的所述原始图像帧进行图像识别处理。
4.根据权利要求3所述的方法,其特征在于,所述对具有所述目标图像格式的所述原始图像帧进行图像识别处理,包括:
识别所述目标对象在所述原始图像帧中所处的对象边缘关键点;
将所述对象边缘关键点进行连接,得到所述目标对象对应的对象边缘曲线;
将所述原始图像帧中所述对象边缘曲线所覆盖的区域,确定为所述第一对象区域。
5.根据权利要求1所述的方法,其特征在于,所述第一图像数据携带待确认设备标识;所述待确认设备标识是绑定云应用服务器的设备标识,所述绑定云应用服务器与所述第一客户端具有绑定关系;
所述将所述第一对象区域发送至目标云应用服务器,包括:
获取已存设备标识集合;所述已存设备标识集合包含M个已存设备标识,一个已存设备标识对应一个已注册云应用服务器,M为正整数;
若所述M个已存设备标识中存在与所述待确认设备标识相匹配的目标已存设备标识,则确定所述待确认设备标识所指示的所述绑定云应用服务器属于已注册云应用服务器,将所述待确认设备标识所指示的所述绑定云应用服务器确定为所述目标云应用服务器,将所述第一对象区域发送至所述目标云应用服务器。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收待注册云应用服务器发送的注册请求;所述注册请求是所述待注册云应用服务器在接收到第二客户端发送的应用开启通知后所生成的;所述应用开启通知是所述第二客户端响应针对所述云应用的应用开启操作所生成的;
根据所述注册请求,检测所述待注册云应用服务器的设备指标信息;
当所述设备指标信息满足处理质量条件时,获取所述待注册云应用服务器的待存储设备标识,将所述待存储设备标识存储至所述已存设备标识集合,将所述待注册云应用服务器转换为已注册云应用服务器。
7.根据权利要求6所述的方法,其特征在于,所述设备指标信息包括网络质量指标与版本指标;
所述根据所述注册请求,检测所述待注册云应用服务器的设备指标信息,包括:
根据所述注册请求,获取所述待注册云应用服务器的网络质量参数与设备版本;
若所述网络质量参数达到参数阈值,且所述设备版本与质量标准版本相匹配,则确定所述设备指标信息满足所述处理质量条件;
若所述网络质量参数未达到所述参数阈值,或所述设备版本与所述质量标准版本不匹配,则确定所述设备指标信息不满足所述处理质量条件。
8.根据权利要求1所述的方法,其特征在于,所述对所述更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理,包括:
获取所述更新接收队列中具有最晚接收时间戳的第二图像数据,作为目标图像数据;
对所述目标图像数据进行图像识别处理,同步删除所述更新接收队列中的历史图像数据;所述历史图像数据为所述更新接收队列中接收时间戳早于所述目标图像数据的图像数据。
9.一种数据处理方法,其特征在于,包括:
接收业务服务器发送的第一对象图像数据,将所述第一对象图像数据存储至缓冲区集合中的工作状态处于存储状态的第一缓冲区中;所述第一对象图像数据为第一对象区域所包含的图像数据,所述第一对象区域为所述业务服务器对第一图像数据进行图像识别处理后,得到的目标对象在所述第一图像数据中所处的区域;所述第一图像数据是由第一客户端发送至所述业务服务器的,所述第一图像数据是所述第一客户端在运行云应用时,所采集到的包含所述目标对象的图像数据;
当所述缓冲区集合中工作状态处于读取状态的第二缓冲区未包含未处理对象图像数据时,将所述第一缓冲区的工作状态调整为所述读取状态,将所述第二缓冲区的工作状态调整为所述存储状态,从工作状态处于所述读取状态的所述第一缓冲区中读取所述第一对象图像数据,将所述第一对象图像数据进行渲染处理;
在所述第一对象图像数据的渲染过程中,接收所述业务服务器发送的第二对象图像数据,将所述第二对象图像数据存储至工作状态处于所述存储状态的所述第二缓冲区中;所述第二对象图像数据是第二对象区域所包含的图像数据,所述第二对象区域为所述业务服务器在提取出所述第一对象区域后对目标图像数据进行图像识别处理所得到,所述第二对象区域为所述目标对象在所述目标图像数据中所处的区域;所述目标图像数据为所述业务服务器在提取出所述第一对象区域时,从更新接收队列中所获取到的具有最晚接收时间戳的第二图像数据;所述更新接收队列中的第二图像数据是所述业务服务器对所述第一图像数据进行图像识别处理的过程中,从所述第一客户端所持续获取得到;
在获取到所述第一对象图像数据对应的渲染数据时,将所述第一缓冲区的工作状态调整为所述存储状态,将所述第二缓冲区的工作状态调整为所述读取状态,从工作状态处于所述读取状态的所述第二缓冲区中读取所述第二对象图像数据,将所述第二对象图像数据进行渲染处理。
10.根据权利要求9所述的方法,其特征在于,所述在获取到所述第一对象图像数据对应的渲染数据时,将所述第一缓冲区的工作状态调整为所述存储状态,将所述第二缓冲区的工作状态调整为所述读取状态,包括:
在获取到所述第一对象图像数据对应的渲染数据时,获取所述第一缓冲区所对应的用于表征所述读取状态的读取指针标识,以及所述第二缓冲区所对应的用于表征所述存储状态的存储指针标识;
将所述第一缓冲区所对应的读取指针标识切换为所述存储指针标识;具有所述存储指针标识的所述第一缓冲区的工作状态为所述存储状态;
将所述第二缓冲区的所述存储指针标识切换为所述读取指针标识;具有所述读取指针标识的所述第二缓冲区的工作状态为所述读取状态。
11.根据权利要求9所述的方法,其特征在于所述方法还包括:
分配第一缓冲区与第二缓冲区;
将所述第一缓冲区的初始指针标识设置为存储指针标识,将所述第二缓冲区的初始指针标识设置为读取指针标识;具有所述存储指针标识的所述第一缓冲区的工作状态为所述存储状态;具有所述读取指针标识的所述第二缓冲区的工作状态为所述读取状态;
根据工作状态处于所述存储状态的所述第一缓冲区,与工作状态处于所述读取状态的第二缓冲区,生成所述缓冲区集合。
12.一种数据处理装置,其特征在于,包括:
数据获取模块,用于获取第一客户端发送的第一图像数据,将所述第一图像数据存储至接收队列中;所述第一图像数据是所述第一客户端在运行云应用时,所采集到的包含目标对象的图像数据;
图像识别模块,用于对所述接收队列中的所述第一图像数据进行图像识别处理;
队列更新模块,用于在所述第一图像数据的图像识别处理过程中,将持续获取到的所述第一客户端所发送的第二图像数据,存储至所述接收队列中,得到更新接收队列;
区域发送模块,用于当通过图像识别处理提取出所述目标对象在所述第一图像数据中所处的第一对象区域时,将所述第一对象区域所包含的第一对象图像数据发送至目标云应用服务器;
所述区域发送模块,还用于同步对所述更新接收队列中具有最晚接收时间戳的第二图像数据进行图像识别处理;所述目标云应用服务器用于对所述第一对象图像数据进行渲染得到渲染数据,将所述渲染数据发送至所述第一客户端。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以使所述计算机设备执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-11任一项所述的方法。
15.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,所述计算机指令适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111123508.7A CN113559497B (zh) | 2021-09-24 | 2021-09-24 | 一种数据处理方法、装置、设备以及可读存储介质 |
PCT/CN2022/112398 WO2023045619A1 (zh) | 2021-09-24 | 2022-08-15 | 一种数据处理方法、装置、设备以及可读存储介质 |
EP22871677.5A EP4282499A1 (en) | 2021-09-24 | 2022-08-15 | Data processing method and apparatus, and device and readable storage medium |
JP2023555773A JP2024518227A (ja) | 2021-09-24 | 2022-08-15 | データ処理方法、装置、機器及びコンピュータプログラム |
US18/196,364 US20230281861A1 (en) | 2021-09-24 | 2023-05-11 | Data processing method and apparatus, device, and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111123508.7A CN113559497B (zh) | 2021-09-24 | 2021-09-24 | 一种数据处理方法、装置、设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113559497A true CN113559497A (zh) | 2021-10-29 |
CN113559497B CN113559497B (zh) | 2021-12-21 |
Family
ID=78174395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111123508.7A Active CN113559497B (zh) | 2021-09-24 | 2021-09-24 | 一种数据处理方法、装置、设备以及可读存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230281861A1 (zh) |
EP (1) | EP4282499A1 (zh) |
JP (1) | JP2024518227A (zh) |
CN (1) | CN113559497B (zh) |
WO (1) | WO2023045619A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022204A (zh) * | 2022-05-26 | 2022-09-06 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
CN115460189A (zh) * | 2022-11-09 | 2022-12-09 | 腾讯科技(深圳)有限公司 | 处理设备测试方法、装置、计算机及存储介质 |
WO2023045619A1 (zh) * | 2021-09-24 | 2023-03-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009171994A (ja) * | 2008-01-21 | 2009-08-06 | Sammy Corp | 画像生成装置、遊技機、及びプログラム |
CN103294439A (zh) * | 2013-06-28 | 2013-09-11 | 华为技术有限公司 | 一种图像更新方法、系统及装置 |
US20140292786A1 (en) * | 2000-07-31 | 2014-10-02 | Silicon Graphics International Corp. | System, method, and computer program product for remote graphics processing |
EP3700640A1 (en) * | 2018-03-22 | 2020-09-02 | Google LLC | Methods and systems for rendering and encoding content for online interactive gaming sessions |
CN111767503A (zh) * | 2020-07-29 | 2020-10-13 | 腾讯科技(深圳)有限公司 | 一种游戏数据处理方法、装置、计算机及可读存储介质 |
CN112233419A (zh) * | 2020-10-10 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112316424A (zh) * | 2021-01-06 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 一种游戏数据处理方法、装置及存储介质 |
CN112569591A (zh) * | 2021-03-01 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN112689142A (zh) * | 2021-01-19 | 2021-04-20 | 青岛美购传媒有限公司 | 一种便于虚拟现实对象控制的低延迟控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012170797A1 (en) * | 2011-06-09 | 2012-12-13 | Ciinow, Inc. | A method and mechanism for performing both server-side and client-side rendering of visual data |
CN108810554B (zh) * | 2018-06-15 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 虚拟场景的场景图像传输方法、计算机设备及存储介质 |
EP3634005A1 (en) * | 2018-10-05 | 2020-04-08 | Nokia Technologies Oy | Client device and method for receiving and rendering video content and server device and method for streaming video content |
CN111729293B (zh) * | 2020-08-28 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
CN113559497B (zh) * | 2021-09-24 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
-
2021
- 2021-09-24 CN CN202111123508.7A patent/CN113559497B/zh active Active
-
2022
- 2022-08-15 EP EP22871677.5A patent/EP4282499A1/en active Pending
- 2022-08-15 WO PCT/CN2022/112398 patent/WO2023045619A1/zh active Application Filing
- 2022-08-15 JP JP2023555773A patent/JP2024518227A/ja active Pending
-
2023
- 2023-05-11 US US18/196,364 patent/US20230281861A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140292786A1 (en) * | 2000-07-31 | 2014-10-02 | Silicon Graphics International Corp. | System, method, and computer program product for remote graphics processing |
JP2009171994A (ja) * | 2008-01-21 | 2009-08-06 | Sammy Corp | 画像生成装置、遊技機、及びプログラム |
CN103294439A (zh) * | 2013-06-28 | 2013-09-11 | 华为技术有限公司 | 一种图像更新方法、系统及装置 |
EP3700640A1 (en) * | 2018-03-22 | 2020-09-02 | Google LLC | Methods and systems for rendering and encoding content for online interactive gaming sessions |
CN111767503A (zh) * | 2020-07-29 | 2020-10-13 | 腾讯科技(深圳)有限公司 | 一种游戏数据处理方法、装置、计算机及可读存储介质 |
CN112233419A (zh) * | 2020-10-10 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112316424A (zh) * | 2021-01-06 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 一种游戏数据处理方法、装置及存储介质 |
CN112689142A (zh) * | 2021-01-19 | 2021-04-20 | 青岛美购传媒有限公司 | 一种便于虚拟现实对象控制的低延迟控制方法 |
CN112569591A (zh) * | 2021-03-01 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (4)
Title |
---|
MARKO VIITANEN ET AL: "Low Latency Edge Rendering Scheme for Interactive 360 Degree Virtual Reality Gaming", 《2018 IEEE 38TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》 * |
YU-JUNG CHEN ET AL: "Distributed rendering: Interaction delay reduction in remote rendering with client-end GPU-accelerated scene warping technique", 《2017 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA & EXPO WORKSHOPS (ICMEW)》 * |
王哲: "云平台虚拟桌面架构中SPICE协议的研究与优化", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
陈丹阳: "应用于虚拟现实的分布式服务器架构研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045619A1 (zh) * | 2021-09-24 | 2023-03-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
CN115022204A (zh) * | 2022-05-26 | 2022-09-06 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
CN115022204B (zh) * | 2022-05-26 | 2023-12-05 | 阿里巴巴(中国)有限公司 | Rtc的传输时延检测方法、装置以及设备 |
CN115460189A (zh) * | 2022-11-09 | 2022-12-09 | 腾讯科技(深圳)有限公司 | 处理设备测试方法、装置、计算机及存储介质 |
CN115460189B (zh) * | 2022-11-09 | 2023-04-11 | 腾讯科技(深圳)有限公司 | 处理设备测试方法、装置、计算机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2024518227A (ja) | 2024-05-01 |
CN113559497B (zh) | 2021-12-21 |
US20230281861A1 (en) | 2023-09-07 |
WO2023045619A1 (zh) | 2023-03-30 |
EP4282499A1 (en) | 2023-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113559497B (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
CN113423018B (zh) | 一种游戏数据处理方法、装置及存储介质 | |
CN111882626B (zh) | 图像处理方法、装置、服务器及介质 | |
CN109510990B (zh) | 图像处理方法及装置、计算机可读存储介质、电子设备 | |
CN108848082B (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
US20140139619A1 (en) | Communication method and device for video simulation image | |
CN113209632B (zh) | 一种云游戏的处理方法、装置、设备及存储介质 | |
US11451858B2 (en) | Method and system of processing information flow and method of displaying comment information | |
CN104052958B (zh) | 分发控制系统和分发系统 | |
CN103353882A (zh) | 用于在多媒体系统中提供用户接口服务的装置和方法 | |
CN104053070B (zh) | 分发控制系统、分发系统以及分发控制方法 | |
CN104053069A (zh) | 分发控制系统、分发系统和分发控制方法 | |
CN105122818A (zh) | 计算机系统、分发控制系统、分发控制方法和计算机可读存储介质 | |
CN114938408B (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN112995134B (zh) | 一种三维视频流媒体传输方法与可视化方法 | |
US20230401785A1 (en) | Method, apparatus, and non-transitory computer-readable recording medium for streaming 3d objects | |
CN116758201B (zh) | 三维场景的渲染处理方法、设备、系统及计算机存储介质 | |
CN116193197A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
WO2023024832A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112702625B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN117544808A (zh) | 设备控制方法、存储介质和电子设备 | |
CN114139491A (zh) | 一种数据处理方法、装置及存储介质 | |
CN113784094A (zh) | 视频数据处理方法、网关、终端设备及存储介质 | |
CN113453059A (zh) | 云游戏数据处理方法、装置、设备以及介质 | |
CN113677076A (zh) | 照明控制方法、装置、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40053498 Country of ref document: HK |