CN116938901A - 数据传输方法、装置、电子设备及可读存储介质 - Google Patents
数据传输方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116938901A CN116938901A CN202210347421.6A CN202210347421A CN116938901A CN 116938901 A CN116938901 A CN 116938901A CN 202210347421 A CN202210347421 A CN 202210347421A CN 116938901 A CN116938901 A CN 116938901A
- Authority
- CN
- China
- Prior art keywords
- video
- data
- bitmap
- video data
- channel
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000005540 biological transmission Effects 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 39
- 230000003190 augmentative effect Effects 0.000 claims abstract description 13
- 238000009877 rendering Methods 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 7
- 238000005286 illumination Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- OFHCOWSQAMBJIW-AVJTYSNKSA-N alfacalcidol Chemical compound C1(/[C@@H]2CC[C@@H]([C@]2(CCC1)C)[C@H](C)CCCC(C)C)=C\C=C1\C[C@@H](O)C[C@H](O)C1=C OFHCOWSQAMBJIW-AVJTYSNKSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种数据传输方法、装置、电子设备及可读存储介质,属于通信技术领域。本申请实施例的数据传输方法包括:通过增强现实AR引擎获取AR视频画面;将所述AR视频画面转化为位图;根据所述位图,生成可传输的第一视频数据;将所述第一视频数据传输至通信对端。由此,可以将AR视频画面转换为可传输的视频数据,从而借助传输视频数据来有效地传输AR视频画面。
Description
技术领域
本申请属于通信技术领域,具体涉及一种数据传输方法、装置、电子设备及可读存储介质。
背景技术
随着通信网络的发展,实时视频通话和视频会议获得了广泛地普及。增强现实(Augmented Reality,AR)是把计算机生成的二维或三维的虚拟信息融合到用户所要体验的真实环境中的一种技术,其目的在于通过虚实融合的方式来增强用户对真实环境的理解。通过AR技术融入音视频通话,让用户在对话中分享一个虚拟世界,可以提升通话的趣味性、互动性和沉浸感,为用户带来更好的沟通体验。然而,目前却没有相关方法来有效地传输AR视频画面。
发明内容
本申请实施例的目的是提供一种数据传输方法、装置、电子设备及可读存储介质,以解决目前无法有效地传输AR视频画面的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,提供了一种数据传输方法,包括:
通过增强现实AR引擎获取AR视频画面;
将所述AR视频画面转化为位图;
根据所述位图,生成可传输的第一视频数据;
将所述第一视频数据传输至通信对端。
第二方面,提供了一种数据传输装置,包括:
获取模块,用于通过AR引擎获取AR视频画面;
转化模块,用于将所述AR视频画面转化为位图;
生成模块,用于根据所述位图,生成可传输的第一视频数据;
传输模块,用于将所述第一视频数据传输至通信对端。
第三方面,提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,在通过AR引擎获取AR视频画面之后,可以将该AR视频画面转化为位图,并根据该位图,生成可传输的第一视频数据,将第一视频数据传输至通信对端。由此,可以将AR视频画面转换为可传输的视频数据,从而借助传输视频数据来有效地传输AR视频画面。
附图说明
图1是本申请实施例提供的一种数据传输方法的流程图;
图2是本申请实施例中YUV格式的视频数据的示意图;
图3是本申请实施例中增强现实通信系统的处理流程示意图;
图4是本申请实施例中AR视频采集流程的示意图;
图5是本申请实施例中视频通话过程的示意图;
图6是本申请实施例提供的一种数据传输装置的结构示意图;
图7是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
为了解决目前无法有效地传输AR视频画面的问题,本申请实施例提供了一种增强现实通信系统,其可以基于现有的音视频通话服务(如IMS、WebRTC等其他音视频传输通道),针对AR场景,提供视频流采集方法、视频流数据转换方法等,实现将人脸特效、3D模型等AR增强特效在实时视频通话过程中的使用,实现借助传输视频数据来有效地传输AR视频画面。
可选的,本申请实施例可以适用的场景包括但不限于:实时视频通话、实时视频会议等。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据传输方法、装置、电子设备及可读存储介质进行详细地说明。
请参见图1,图1是本申请实施例提供的一种数据传输方法的流程图,该方法应用于电子设备,如图1所示,该方法包括如下步骤:
步骤11:通过AR引擎获取AR视频画面。
由于AR引擎启动后会占用设备摄像头,无法直接使用摄像头采集的图像来进行实时通信,因此可以通过AR引擎获取AR视频画面。AR引擎为实现增强现实的SDK开发包,至少包括AR相机、渲染单元等,AR相机可以调用摄像头获取其采集的图像,并根据该图像生成特征点云等。
一些实施例中,通过AR引擎获取的AR视频画面携带有AR场景中目标对象的纹理信息,以实现携带纹理信息的AR视频画面的传输。该目标对象包括但不限于3D模型、采集图像中的物体等。
步骤12:将AR视频画面转化为位图。
本实施例中,位图(Bitmap)可称为点阵图像或栅格图像,可以由像素的单个点组成。通过将AR视频画面转化为位图,可以使得位图中携带一定格式比如RGBA格式或YUV格式的像素数据。
步骤13:根据位图,生成可传输的第一视频数据。
此步骤中,借助转化的位图,可以将AR视频画面转换为可传输的视频数据,从而借助传输视频数据来传输AR视频画面。此可传输的第一视频数据可理解为能够经由传统音视频通道传输的视频数据。
步骤14:将第一视频数据传输至通信对端。
可选的,可以通过通信平台,比如实时通信平台,将第一视频数据传输至通信对端。此通信平台可以为现有的通信平台,对此不作限定。
本申请实施例的数据传输方法,在通过AR引擎获取AR视频画面之后,可以将该AR视频画面转化为位图,并根据该位图,生成可传输的第一视频数据,将第一视频数据传输至通信对端。由此,可以将AR视频画面转换为可传输的视频数据,从而借助传输视频数据来有效地传输AR视频画面。
可选的,在本申请实施例中,上述通过AR引擎获取AR视频画面可以包括:通过AR引擎获取AR相机捕获的AR视频帧;其中,该AR视频帧包括摄像头采集的多帧图像以及每帧图像对应的AR特征数据,该AR特征数据为用于实现AR功能的数据,可以包括但不限于以下至少一项:特征点云数据、表情基数据、运动位姿数据、光照强度数据等。
可选的,在本申请实施例中,上述位图的内部结构为像素矩阵排列,可以从位图中提取像素数据,获得第一视频数据。在此,位图可以携带RGBA格式或YUV格式的像素数据,并根据从位图中提取的像素数据直接生成可传输的第一视频数据。
可选的,由于经由音视频通道传输的视频数据通常为标准的YUV格式,故可以通过数据格式转化,将AR视频画面转化为YUV格式的像素数据进行传输。若上述位图的内部结构为像素矩阵排列,包括R通道、G通道、B通道和A通道,该A通道的分量值设置为0,则上述步骤13可以包括:
将位图中的每个像素数据在R通道、G通道和B通道中的分量值转化为Y分量值、U分量值和V分量值;
根据所述Y分量值、U分量值和V分量值,生成第一视频数据。
例如,上述将位图中的每个像素数据在R通道、G通道和B通道中的分量值转化为Y分量值、U分量值和V分量值的转化公式可以如下:
y=((66*r+129*g+25*b+128)>>8)+16
u=((-38*r-74*g+112*b+128)>>8)+128
v=((112*r-94*g-18*b+128)>>8)+128
一些实施例中,如图2所示,可以根据NV21的存储方式,即Y分量值单独存放,UV分量值交错存放,每一组UV数据对应4个Y数据,将转化后的Y、U、V分量值保存至一个新的数组中,并将该数组作为可传输的YUV420sp:NV21视频数据(即第一视频数据)进行传输。
需指出的,YUV是一种将亮度信息(Y)与色彩信息(UV)分离的颜色编码方法,主要用于优化色彩视频信号的传输,降低传送频宽。根据不同的存储格式,可以将其细分为YUV420p:I420平面格式、YUV420sp:NV12/NV21半平面格式等。
可选的,在本申请实施例中,在将AR视频画面转化为位图时,可以采用但不限于如下方式:
1)将AR视频画面作为输入流对象,利用预设的静态工具进行解析,获得用于表示AR视频画面的显示内容的位图;该预设的静态工具比如为BitmapFactory等,可以结合资源路径等对AR视频画面进行解码。
其中,静态工具类如BitmapFactory主要用于从不同的数据源解析,创建Bitmap。对于创建Bitmap,比如可提供从文件(decodeFile)、流(decodeStream)、byte数组(decodeByteArray)、资源路径(decodeResource)的四类创建方法。在使用静态工具类时,可以通过一个内部类Options作为参数来控制Bitmap的创建,比如控制Bitmap的长和宽、像素的大小,是否只获取图片的一些信息(不加载图片数据,返回图片宽和高),是否在内存中复用等。在本申请实施例中,可以使用decodeStream方法,将输入流对象指定为AR视频画面视频流,解析创建Bitmap。上述decodeFile(String pathName)用于从给定的路径所指定的文件中解析、创建Bitmap对象。上述decodeByteArray(Byte[]data)用于从byte数组中解析、创建Bitmap对象。上述decodeResource(Resource res,int id)用于根据给定的资源id,从指定的资源中解析、创建Bitmap对象。上述decodeStream(InputStream is)用于从指定的输入流中解析、创建Bitmap对象。
2)将AR视频画面的像素内容复制到预设的位图结构,获得位图;比如,可以利用函数getBitMap()方法直接获取,或者通过PixelCopy执行从AR视频画面到预设的位图结构的复制操作,获得携带AR视频画面的像素内容的位图。
一些实施例中,上述位图具有相同的长和宽,利用32比特位表示,且由R通道、G通道、B通道和A通道组成,每个通道的分量值为8比特位。
一些实施例中,位图Bitmap按照内部结构,可以分为6种类型Config,分别为:ALPHA_8、RGB_565、ARGB_4444、ARGB_8888、RGBA_F16、HARDWARE。常用类型是RGB_565和ARGB_8888,一般默认使用ARGB_8888来创建对图片质量要求高的Bitmap。RGB_565用于创建节约内存空间的Bitmap。
对上述6种位图类型简要说明说下:
ALPHA_8:只使用一个Alpha单通道,共占1个字节;
RGB_565:RGB通道按5:6:5比例排列,共占2个字节;
ARGB_4444:ARGB通道各占4bits,共占2个字节;
ARGB_8888:ARGB通道各占8bits,共占4个字节;
RGBA_F16:RGBA通道各占16bits,共占8个字节;
HARDWARE:只适用于只保存在图像内存的情况。
可选的,在本申请实施例中,还可以从通信对端接收第二视频数据,对所述第二视频数据进行渲染,获得二维纹理信息,并将所述二维纹理信息在虚拟显示屏上显示。该虚拟显示屏包括但不限于3D模型等。这样,可以实现视频画面作为AR对象在真实环境中的投影显示,从而提升显示效果。
可选的,在对第二视频数据进行渲染时,可以首先:将第二视频数据映射到预设结构的二维纹理对象,所述第二视频数据中的每个像素数据对应所述二维(2D)纹理对象的一个坐标点;然后,将映射后的二维纹理对象传递至着色器进行处理,获得所述二维纹理信息。
一些实施例中,可以利用OpenGL中glTexImage2D方法,定义一个与视频数据相同长、宽且内容像素为RGBA格式的2D纹理对象,然后将2D纹理对象的纹理图像数据设置为RGBA视频数据,实现视频数据映射到2D纹理对象,并将2D纹理坐标传递至着色器,实现对2D纹理渲染。
可选的,在将第二视频数据映射到预设结构的二维纹理对象时,若接收到的第二视频数据为YUV格式,二维纹理对象为RGBA格式,可以先将第二视频数据转化为RGBA格式,获得第三视频数据,然后将所述第三视频数据映射到预设的二维纹理对象,所述第三视频数据中的每个像素数据对应所述二维纹理对象的一个坐标点。
例如,将视频数据从YUV格式转化为RGBA格式的转化公式如下:
r=y+1.13983*(v-128)
g=y-0.39465*(u-128)-0.58060*(v-128)
b=y+2.03211*(u-128)
下面结合具体实例对本申请进行说明。
请参见图3,图3为本申请实施例中增强现实通信系统的处理流程,至少可以包括以下过程:
S1、AR引擎初始化:完成AR相机权限的获取,AR核心类的初始化,同时将OpenGL系统中AR渲染模块及上下文(context)设置为初始状态。OpenGL是一个底层渲染协议,用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口,这个接口通常用于绘制从简单的图形到复杂的三维景象。AR引擎如ARCore、ARkit都使用OpenGL完成对AR场景的绘制及渲染。
S2、AR视频流采集:利用AR引擎获取AR相机捕捉的图像及对应的AR特征数据。
以ARCore为例,如图4所示,AR视频采集流程如下:通过AR Session获取每帧更新的AR视频帧(AR Frame),该AR视频帧包括相机捕捉的多帧图像以及每帧图像对应的AR特征数据,该AR特征数据包括以下至少一项:特征点云数据、表情基数据、运动位姿数据、光照强度数据等。之后,可将AR视频帧携带的图像和时间戳等,结合从音视频通话系统中获取的音频数据进行AR内容叠加及特效处理,实现在AR场景下视频流的采集。需指出的,AR Session是ARCore API的一个类com.google.ar.core.Session,管理了AR系统的状态,有自己的生命周期,可以开始和停止访问摄像头图像帧的获取等。
S3、AR内容叠加及特效处理:比如可以使用GLSurfaceView渲染AR相机,实现AR画面的渲染显示。首先,通过预处理单元完成绘制AR画面的准备,具体包括GLSurfaceView的显示准备、初始化背景纹理对象、初始化3D模型及其表面纹理、初始化平面检测结果显示对象、初始化特征点云显示对象等;其次,通过反馈单元获取用户操作列表即触点信息,判断以触点为起点的射线是否和AR Frame中检测到的平面或特征点云有交点,如果有且AR相机处于追踪状态,则在命中位置创建锚点(Anchor),将锚点位置信息以矩阵形式传递至绘制单元;接着,调用AR内容渲染单元中对应的纹理渲染函数,对AR场景中的目标对象进行纹理渲染处理,得到输出纹理;最后,AR内容绘制单元根据获取的锚点位置信息,结合渲染单元中得到的输出纹理,完成AR目标对象在该点处的绘制,以进行本地AR画面呈现。比如,在进行本地AR画面呈现时,可以添加AR模型,和/或添加AR人脸增强特效等。
S4、AR视频数据格式转换:经过AR增强特效处理后的AR视频画面带有纹理信息,与音视频通信中通用的YUV视频数据格式不符,因此需要将其转换为标准的YUV格式,才能实现AR画面的发送和传输。此处以音视频通信中主流视频格式YUV420sp:NV21为例,实现AR视频画面的数据转换,步骤如下:
S41:为AR视频流数据转换创建独立线程,并构建循环消息处理机制。示例的,可以使用HandlerThread类创建异步线程。
S42:将获取的AR视频画面转换为位图(Bitmap)。示例的,可以通过PixelCopy发送像素复制请求机制,将GLSurfaceView中显示内容复制到相同长、宽且结构类型为ARBG_8888的位图(Bitmap)中,该位图用32比特位表示,由A,R,G,B四个通道组成,每个通道分量值为8位,位图的内部结构为像素矩阵排列。最后通过onPixelCopyFinished完成回调,获取复制完成后的位图信息。
S43:将上一步获取的位图(Bitmap)转换为YUV420sp:NV21格式。首先,通过getPixels()函数获取位图所有的像素数据(pixel),并保存到一个数组中,该数组每一个像素数据都是按ARGB四个八位分量排列而成。接着,通过转化算法将R、G、B、A每个分量值转为Y、U、V分量,其中A分量设置为0。最后,根据NV21的存储方式,即Y分量单独存放,UV分量交错存放,每一组UV数据对应4个Y数据,将转化后的Y、U、V分量保存至一个新的数组中,最终该数组作为可传输的YUV420sp:NV21视频数据发送至实时通信平台,比如音视频通话服务平台。
如图5所示,在终端A和终端B的视频通话中,终端A和终端B都可以采用上述的AR内容叠加及特效处理和AR视频数据格式转换过程,并将生成的可传输的视频数据通过实时通信平台传输给对方,以使通信对端将接收到的视频数据渲染到一个虚拟显示屏上,从而达到虚拟会议室的效果。
S5、视频数据的渲染和绘制:除渲染单元中3D模型渲染、点云/平面渲染、背景图渲染、纹理贴图渲染之外,还包含实时视频渲染,即对视频数据的渲染。该对视频数据的渲染可以为,将获取到的YUV视频数据转换为RGBA视频数据,并通过2D纹理映射的方法将该视频数据映射到2D纹理对象,即每个RGBA视频像素数据都对应了2D纹理对象中的某个点。实现视频画面作为AR对象在真实场景中的投影显示的具体步骤可以如下:
S51、创建渲染程序,完成初始化。比如,通过OpenGL中的glCreateProgram()方法创建渲染程序,将渲染程序中分别加入用于图像渲染的顶点着色器(vertex shader)、片元着色器(fragment shader),并传入顶点坐标、纹理坐标等相关参数,将渲染的目标纹理设置为2D纹理(GL_TEXTURE_2D)。
S52、获取远端实时YUV视频图像,将其转化为RGB格式,通过渲染程序生成2D纹理(Texture2D)。比如,通过对音视频通话注册监听器(Listener),可以获取远端用户实时发送的视频图像,该视频图像为音视频通信默认使用的YUV数据格式,不能直接用于OpenGL渲染,因此可以使用OpenGL提供的Shader接口,借助GPU算力,在片元着色器中完成YUV到RGB的格式转化计算。接着,可以通过glTexImage2D()函数定义一个与视频数据相同长、宽且内容像素为RGBA格式的2D纹理对象。并将2D纹理对象的纹理图像数据设置为RGBA视频数据,实现视频数据映射到2D纹理对象。最后,通过将2D纹理坐标传递至着色器,完成对2D纹理的渲染。
S53、根据用户操作,添加虚拟显示屏至用户所处的真实环境。首先可通过用户点击位置或识别码添加AR锚点(Anchor),并将一个虚拟显示屏与该锚点绑定。示例的,该虚拟显示屏可以为一个指定长、宽的矩型平面,也可以为可绑定纹理信息的3D对象/3D模型。
S54、将生成的2D视频纹理与虚拟显示屏对象的绑定。比如,可以通过glBindTexture()函数将虚拟显示屏对象与生成的2D视频纹理绑定,即将2D视频纹理作为“贴图”覆盖在了虚拟显示屏上。
S55、传递视频数据并实时绘制显示。重复调用S52,将接收到的YUV视频图像数据不断传递至渲染程序进行渲染,生成新的2D纹理,通过glDrawArrays()函数重新绘制虚拟显示屏上的纹理,实现了实时通话视频在虚拟显示屏上的投影显示。
综上,本申请实施例中的AR视频传输过程,主要有以下几个优点:
1)将AR能力在现有的音视频通话服务(IMS/WebRTC等音视频传输通道)上进行集成,不需要部署额外的硬件设备,不需要对现有的通信服务进行改造,AR视频流的采集和数据转换工作在终端完成,将处理好的AR视频画面经音视频通信链路发送至对端,可以适配更多云厂商视频通话系统。
2)降低了对终端的要求,可应用于Android/iOS系统等的移动设备,如手机、平板等,更加适合日常通话场景。
3)提供一种实时视频数据的渲染方法,实现了通话画面作为AR对象在场景中的投影显示,可达到虚拟会议室的效果,增加通话趣味性。
需要说明的是,本申请实施例提供的数据传输方法,执行主体可以为数据传输装置,或者该数据传输装置中的用于执行数据传输方法的控制模块。本申请实施例中以数据传输装置执行数据传输方法为例,说明本申请实施例提供的数据传输装置。
请参见图6,图6是本申请实施例提供的一种数据传输装置的结构示意图,该装置应用于电子设备,如图6所示,数据传输装置60包括:
获取模块61,用于通过AR引擎获取AR视频画面;
转化模块62,用于将所述AR视频画面转化为位图;
生成模块63,用于根据所述位图,生成可传输的第一视频数据;
传输模块64,用于将所述第一视频数据传输至通信对端。
可选的,所述AR视频画面携带有AR场景中目标对象的纹理信息。
可选的,所述位图的内部结构为像素矩阵排列,所述生成模块63具体用于:从所述位图中提取像素数据,获得所述第一视频数据。
可选的,所述位图的内部结构为像素矩阵排列,所述位图包括R通道、G通道、B通道和A通道,所述A通道的分量值设置为0,所述生成模块63具体用于:将所述位图中的每个像素数据在R通道、G通道和B通道中的分量值转化为Y分量值、U分量值和V分量值;根据所述Y分量值、U分量值和V分量值,生成所述第一视频数据。
可选的,所述转化模块62用于执行以下任一项:
将所述AR视频画面作为输入流对象,利用预设的静态工具进行解析,获得用于表示所述AR视频画面的显示内容的位图;
将所述AR视频画面的像素内容复制到预设的位图结构,获得所述位图。
可选的,所述位图具有相同的长和宽,利用32比特位表示,且由R通道、G通道、B通道和A通道组成,每个通道的分量值为8比特位。
可选的,所述获取模块61具体用于:通过AR引擎获取AR相机捕获的AR视频帧;其中,所述AR视频帧包括摄像头采集的多帧图像以及每帧所述图像对应的AR特征数据;所述AR特征数据为用于实现AR功能的数据,包括但不限于以下至少一项:特征点云数据、表情基数据、运动位姿数据、光照强度数据。
可选的,数据传输装置60还包括:
接收模块,用于从所述通信对端接收第二视频数据;
渲染模块,用于对所述第二视频数据进行渲染,获得二维纹理信息;
显示模块,用于将所述二维纹理信息在虚拟显示屏上显示。
可选的,所述渲染模块具体用于:将所述第二视频数据映射到预设结构的二维纹理对象,所述第二视频数据中的每个像素数据对应所述二维纹理对象的一个坐标点;将映射后的二维纹理对象传递至着色器进行处理,获得所述二维纹理信息。
可选的,若所述第二视频数据为YUV格式,所述二维纹理对象为RGBA格式,所述渲染模块具体用于:将所述第二视频数据转化为RGBA格式,获得第三视频数据;将所述第三视频数据映射到所述二维纹理对象,所述第三视频数据中的每个像素数据对应所述二维纹理对象的一个坐标点。
可选的,所述传输模块64具体用于:通过通信平台,将所述第一视频数据传输至通信对端。
本申请实施例中的数据传输装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(Augmented Reality,AR)/虚拟现实(VirtualReality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(Personal Digital Assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(PersonalComputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定
本申请实施例中的数据传输装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例的数据传输装置60,可以实现上述图1所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,如图7所示,本申请实施例还提供一种通信设备70,包括处理器71,存储器72,存储在存储器72上并可在所述处理器71上运行的程序或指令,该程序或指令被处理器71执行时实现上述数据传输方法实施例的各个过程,且能达到相同的技术效果为避免重复,这里不再赘述。
本申请实施例还提供了一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时可实现上述图1所示方法实施例的各个过程且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台服务分类设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (14)
1.一种数据传输方法,其特征在于,包括:
通过增强现实AR引擎获取AR视频画面;
将所述AR视频画面转化为位图;
根据所述位图,生成可传输的第一视频数据;
将所述第一视频数据传输至通信对端。
2.根据权利要求1所述的方法,其特征在于,所述AR视频画面携带有AR场景中目标对象的纹理信息。
3.根据权利要求1所述的方法,其特征在于,所述位图的内部结构为像素矩阵排列,所述根据所述位图,生成可传输的第一视频数据,包括:
从所述位图中提取像素数据,获得所述第一视频数据。
4.根据权利要求1所述的方法,其特征在于,所述位图的内部结构为像素矩阵排列,所述位图包括R通道、G通道、B通道和A通道,所述A通道的分量值设置为0,所述根据所述位图,生成可传输的第一视频数据,包括:
将所述位图中的每个像素数据在R通道、G通道和B通道中的分量值转化为Y分量值、U分量值和V分量值;
根据所述Y分量值、U分量值和V分量值,生成所述第一视频数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述将所述AR视频画面转化为位图,包括:
将所述AR视频画面作为输入流对象,利用预设的静态工具进行解析,获得用于表示所述AR视频画面的显示内容的位图;
或者,
将所述AR视频画面的像素内容复制到预设的位图结构,获得所述位图。
6.根据权利要求5所述的方法,其特征在于,所述位图具有相同的长和宽,利用32比特位表示,且由R通道、G通道、B通道和A通道组成,每个通道的分量值为8比特位。
7.根据权利要求1所述的方法,其特征在于,所述通过增强现实AR引擎获取AR视频画面,包括:
通过所述AR引擎获取AR相机捕获的AR视频帧;其中,所述AR视频帧包括摄像头采集的多帧图像以及每帧所述图像对应的AR特征数据;所述AR特征数据为用于实现AR功能的数据,包括以下至少一项:特征点云数据、表情基数据、运动位姿数据、光照强度数据。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述通信对端接收第二视频数据;
对所述第二视频数据进行渲染,获得二维纹理信息;
将所述二维纹理信息在虚拟显示屏上显示。
9.根据权利要求8所述的方法,其特征在于,所述对所述第二视频数据进行渲染,获得二维纹理信息,包括:
将所述第二视频数据映射到预设结构的二维纹理对象,所述第二视频数据中的每个像素数据对应所述二维纹理对象的一个坐标点;
将映射后的二维纹理对象传递至着色器进行处理,获得所述二维纹理信息。
10.根据权利要求9所述的方法,其特征在于,若所述第二视频数据为YUV格式,所述二维纹理对象为RGBA格式,所述将所述第二视频数据映射到预设结构的二维纹理对象,包括:
将所述第二视频数据转化为RGBA格式,获得第三视频数据;
将所述第三视频数据映射到所述二维纹理对象,所述第三视频数据中的每个像素数据对应所述二维纹理对象的一个坐标点。
11.根据权利要求1所述的方法,其特征在于,所述将所述第一视频数据传输至通信对端,包括:
通过通信平台,将所述第一视频数据传输至通信对端。
12.一种数据传输装置,其特征在于,包括:
获取模块,用于通过AR引擎获取AR视频画面;
转化模块,用于将所述AR视频画面转化为位图;
生成模块,用于根据所述位图,生成可传输的第一视频数据;
传输模块,用于将所述第一视频数据传输至通信对端。
13.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至11任一项所述的数据传输方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至11任一项所述的数据传输方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210347421.6A CN116938901A (zh) | 2022-04-01 | 2022-04-01 | 数据传输方法、装置、电子设备及可读存储介质 |
PCT/CN2023/084408 WO2023185856A1 (zh) | 2022-04-01 | 2023-03-28 | 数据传输方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210347421.6A CN116938901A (zh) | 2022-04-01 | 2022-04-01 | 数据传输方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938901A true CN116938901A (zh) | 2023-10-24 |
Family
ID=88199244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210347421.6A Pending CN116938901A (zh) | 2022-04-01 | 2022-04-01 | 数据传输方法、装置、电子设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116938901A (zh) |
WO (1) | WO2023185856A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614906B (zh) * | 2020-05-29 | 2022-02-22 | 阿波罗智联(北京)科技有限公司 | 一种图像预处理方法、装置、电子设备及存储介质 |
CN111901630A (zh) * | 2020-06-17 | 2020-11-06 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
CN113099204B (zh) * | 2021-04-13 | 2022-12-13 | 北京航空航天大学青岛研究院 | 一种基于vr头戴显示设备的远程实景增强现实方法 |
CN113727142A (zh) * | 2021-09-02 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 云渲染方法及装置、计算机可存储介质 |
-
2022
- 2022-04-01 CN CN202210347421.6A patent/CN116938901A/zh active Pending
-
2023
- 2023-03-28 WO PCT/CN2023/084408 patent/WO2023185856A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023185856A1 (zh) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10242714B2 (en) | Interface for application-specified playback of panoramic video | |
US7173635B2 (en) | Remote graphical user interface support using a graphics processing unit | |
US11450044B2 (en) | Creating and displaying multi-layered augemented reality | |
US11882297B2 (en) | Image rendering and coding method and related apparatus | |
CN106851386B (zh) | 基于Android系统的电视终端中增强现实的实现方法及装置 | |
JP7359521B2 (ja) | 画像処理方法および装置 | |
CN107040808B (zh) | 用于视频播放中弹幕图片的处理方法和装置 | |
CN110795097B (zh) | 一种页面处理方法、装置、计算机设备以及存储介质 | |
WO2018133692A1 (zh) | 实现增强现实的方法、计算机设备及存储介质 | |
CN110663068B (zh) | 用于渲染全景场景的坐标映射 | |
WO2022257750A1 (zh) | 图像处理方法、装置、电子设备、程序及可读存储介质 | |
CN111464828A (zh) | 虚拟特效显示方法、装置、终端及存储介质 | |
CN110012336A (zh) | 直播界面的图片配置方法、终端及装置 | |
CN114938408B (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN116938901A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
CN114222185B (zh) | 视频播放方法、终端设备及存储介质 | |
CN116962743A (zh) | 视频图像编码、抠图方法和装置及直播系统 | |
CN111064986A (zh) | 带透明度的动画数据发送方法、播放方法和计算机设备 | |
CN110990109B (zh) | 一种拼接屏回显方法、终端、系统及存储介质 | |
CN107241199B (zh) | 一种会议终端的图像处理方法及装置 | |
CN111953986A (zh) | 图像处理方法及装置 | |
CN103916671A (zh) | Osd动态叠加方法及装置 | |
CN117215416B (zh) | 移动终端全息交流方法、装置、计算机设备和存储介质 | |
CN116059643A (zh) | 游戏渲染方法和渲染方法、设备及存储介质 | |
JP2007323481A (ja) | 映像データの伝送システムとその方法、送信処理装置とその方法、ならびに、受信処理装置とその方法 |
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 |