CN105916052A - 一种视频画面的绘制方法及装置 - Google Patents
一种视频画面的绘制方法及装置 Download PDFInfo
- Publication number
- CN105916052A CN105916052A CN201510934280.8A CN201510934280A CN105916052A CN 105916052 A CN105916052 A CN 105916052A CN 201510934280 A CN201510934280 A CN 201510934280A CN 105916052 A CN105916052 A CN 105916052A
- Authority
- CN
- China
- Prior art keywords
- picture
- video
- renderer
- rendering
- stream
- 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 42
- 238000009877 rendering Methods 0.000 claims abstract description 109
- 239000003999 initiator Substances 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种视频画面的绘制方法及装置,其中,所述方法包括:创建GLSurface View以及与所述GLSurface View相对应的第一渲染器和第二渲染器;为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸;为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸;当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。本发明实施例提供一种视频画面的绘制方法及装置,能够减少对手机资源的占用,以保证视频通话的质量。
Description
技术领域
本发明实施例涉及图像处理技术领域,尤其涉及一种视频画面的绘制方法及装置。
背景技术
从计算机诞生的那天开始,对现实世界的真实模拟就是图形学领域追求的最终目标。渲染技术在计算机绘图中,是指用软件从模型生成图像的过程。在图形显示操作中,渲染是最后一项重要步骤,通过它得到模型与动画最终显示效果。渲染技术被广泛用于计算机与视频游戏、模拟、电影或者电视特效以及可视化设计等实际应用场景。针对渲染显示的方式不同,可以大致分为两类:预渲染(pre-rendering或者offlinerendering)和实时渲染(real-timerendering或者onlinerendering)。其中,预渲染就是由开发人员将待渲染内容预先放置在服务器上进行渲染,预渲染的计算强度很大,通常用于复杂场景处理,比如酷炫的3D电影制作等。实时渲染要求实时体验,经常用于各类3D游戏等场景,通常需要依靠硬件加速器完成这个过程。
目前通常可以采用本地渲染或云端渲染技术来实现对画面的绘制。本地渲染技术就是用户设备(UserEquipment,UE)的硬件设备,如:中央处理器(CentralProcessingUnit,CPU)、图形处理器(GraphicProcessingUnit,GPU)对模型进行渲染,渲染结束后,显示设备调取渲染结果进行显示。云端渲染技术就是将用户设备的操作移到云端运行,然后把最终的结果,通过图片方式传送给用户设备进行显示。
随着通信技术的不断发展,人们已经越来越习惯于利用手机进行视频通话。在视频通话的过程中也会涉及上述的图像渲染技术。视频通话往往涉及视频通话的发起方以及视频通话的接收方。现在技术中对于视频通话中画面的绘制可以如下所述:
首先,可以针对视频通话的发起方和接收方分别建立不同的GLSurfaceView,然后通过这两个GLSurfaceView分别对视频通话发起方和接收方的图像进行绘制,从而可以实现视频通话的过程。
然而上述的现有技术中会存在这样的缺陷:创建两个GLSurfaceView无疑会消耗更多的内存并且会占用更多的cpu使用率,从而造成手机资源的浪费,另外,基于两个GLSurfaceView来进行画面的绘制,得到的画面位置往往都不方便进行调节。
发明内容
本发明实施例提供一种视频画面的绘制方法及装置,能够减少对手机资源的占用,以保证视频通话的质量。
本发明实施例提供一种视频画面的绘制方法,包括:创建GLSurfaceView以及与所述GLSurfaceView相对应的第一渲染器和第二渲染器;为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸;为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸;当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。
本发明实施例提供的一种视频画面的绘制装置,包括:渲染器创建单元,用于创建GLSurfaceView以及与所述GLSurfaceView相对应的第一渲染器和第二渲染器;第一渲染参数配置单元,用于为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸;第二渲染参数配置单元,用于为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸;绘制单元,用于当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。
本发明实施例提供的视频画面的绘制方法及装置,仅设置一个GLSurfaceView,同时在该GLSurfaceView下生成对应的两个渲染器。其中一个渲染器用来渲染视频通话发起方的画面,另一个渲染器则用来渲染视频通话接收方的画面。通过预先设置的视频通话发起方的画面位置和画面尺寸以及视频接收方的画面位置和画面尺寸,从而可以限定渲染得到的画面的位置和尺寸。这样,通过一个GLSurfaceView便可以实现视频通话双方画面的绘制过程,节省了手机的资源。进一步地,通过对视频通话过程中的网络状态进行监测,从而可以根据实际的网络状态,对分辨率或者帧率进行调节,以保证视频通话的顺畅。此外,通过监测手机触摸屏上的触控指令,从而可以根据触控指令对视频通话双方的画面位置进行调节,保证了视频通话过程的便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频画面的绘制方法流程图;
图2为本申请实施例提供的一种视频画面的绘制装置功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的一种视频画面的绘制方法流程图。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图1所示,所述方法可以包括:
S1:创建GLSurfaceView以及与所述GLSurfaceView相对应的第一渲染器和第二渲染器。
所述的GLSurfaceView是一个视图,其内嵌的surface可以负责OpenGL渲染。所述GLSurfaceView往往可以提供以下特性:
1)管理一个surface,该surface可以为一块内存,能够直接排版到Android的视图上;
2)管理一个EGL display,该EGL display能够将内容渲染到上述的surface上;
3)支持用户自定义渲染器;
4)让渲染器在独立的线程里运作,将渲染器运作的线程与UI线程分离;
5)支持按需渲染(on-demand)和连续渲染(continuous)。
在创建了所述GLSurfaceView之后,可以对所述GLSurfaceView进行初始化。具体地,由于GLSurfaceView在创建时往往会具备一些默认的配置,这些默认的配置往往可以不进行修改。因此在初始化的过程中,主要是在所述GLSurfaceView中设置预设数量的渲染器,以分别对视频通话的发起方和接收方进行画面渲染。具体地,本申请实施例可以通过setRenderer(Renderer)指令设置一个渲染器。
另外,所述GLSurfaceView会默认创建像素格式为PixelFormat.RGB_565的surface。当然,用户可以根据实际需求对该像素格式进行更改,例如可以通过调用getHolder().setFormat(PixelFormat.TRANSLUCENT)指令来更改透明效果。透明的surface的像素格式都是32位的,每个色彩单元都是8位深度,这就说明该像素格式可能是ARGB或者RGBA。
在Android设备中往往支持多种EGL配置,在本申请实施例中可以使用不同数目的通道(channel),也可以指定每个通道具有不同数目的位(bits)深度。因此,在渲染器工作之前就应该指定EGL的配置。所述GLSurfaceView默认EGL配置的像素格式为RGB_656,16位的深度缓存(depth buffer),默认不开启遮罩缓存(stencil buffer)。当然,如果需要选择不同的EGL配置,则可以调用setEGLConfigChooser指令进行更换。
在对所述GLSurfaceView中的配置参数进行修改以及设置预设数量的渲染器后,便可以指定渲染器的渲染模式,在本申请实施例中由于需要对视频通话的画面进行实时渲染,因此可以将渲染器的渲染模式都设置为连续渲染。
在使用GLSurfaceView对视频通话的画面进行绘制时,可以通过交互式或者非交互式的方法进行绘制。具体地,所述非交互式的绘制方法得到的视频通话画面不能够与用户进行互动,例如不能响应于用户的触控指令进行相应的调整。在本申请一优选实施例中,为了能够根据用户的触控指令对视频画面的位置进行调节,可以采用交互式的绘制方法对视频通话的画面进行绘制。具体地,由于渲染的对象是在独立进程中,当需要对渲染的对象进行交互时,则需要采用跨线程的机制来进行事件的处理。具体地,在本申请实施例中可以使用queueEvent(Runnable)指令来进行设置。这样,由所述GLSurfaceView绘制的视频画面便可以响应于用户的触控指令,与用户进行交互。
在本申请实施例中,可以在GLSurfaceView中设置第一渲染器和第二渲染器,其中,所述第一渲染器可以为本地渲染器,用于渲染本地采集的视频信息;所述第二渲染器可以为远程渲染器,用于渲染视频通话的接收方远程发来的视频信息。
S2:为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸。
在设置了第一渲染器之后,可以为所述第一渲染器配置第一渲染参数。所述第一渲染参数是对视频信息进行渲染的规则,例如渲染后的画面位于什么位置以及渲染后的画面大小是多少。所述第一渲染参数中至少可以包括视频发起方的画面位置和画面尺寸。所述视频发起方的视频信息可以由本地的摄像头采集后送入所述第一渲染器中,并由所述第一渲染器进行渲染,成为本地的视频画面。所述本地的视频画面的位置以及尺寸则可以由所述第一渲染参数进行限定。例如,本地的视频画面可以位于整体画面的左下角,大小为整体画面的1/8。
本地的摄像头在采集到视频信息后,会将采集到的视频信息按照一定的帧率发送至所述第一渲染器。所述第一渲染器对接收到的每一帧视频信息均进行渲染成像,并将渲染后的画面按照同样的帧率展示给用户,从而给用户提供视频通话的画面。
S3:为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸。
同样的,在设置了第二渲染器之后,可以为所述第二渲染器配置第二渲染参数。所述第二渲染参数同样是对视频信息进行渲染的规则,例如渲染后的画面位于什么位置以及渲染后的画面大小是多少。所述第二渲染参数中至少可以包括视频接收方的画面位置和画面尺寸。所述视频接收方的视频信息可以由本地的摄像头采集后,通过网络发送至视频发起方所在的通讯地址。这样,当所述视频接收方的视频信息到达视频发起方时,可以由所述第二渲染器对其进行渲染,渲染后的画面便可以呈现给视频通话的发起方进行观看。所述视频通话接收方的画面位置以及尺寸则可以由所述第二渲染参数进行限定。例如,视频通话接收方的视频画面可以在整体画面的正中间,大小为铺满整体画面。
所述视频通话的接收方的视频信息同样可以按照一定的帧率发送至视频通话的发起方,在经过所述第二渲染器进行渲染后,便可以按照同样的帧率呈现给视频通话的发起方,从而形成视频通话的画面。
S4:当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。
在视频通话的接收方接收了视频通话请求后,在视频通话发起方和视频通话接收方之间便建立了视频通话,此时,首先可以根据视频接收方的画面位置和画面尺寸对所述第二渲染器接收的每一帧图片进行绘制,得到第二图片流。该第二图片流中的图片是按照预设帧率进行传输,该预设帧率例如可以为24帧/秒或者30帧/秒。在得到所述第二图片流之后,可以根据视频发起方的画面位置和画面尺寸对所述第一渲染器接收的每一帧图片进行绘制,得到第一图片流。同样的,该第一图片流中的图片也是按照预设帧率进行传输,该预设帧率例如可以为24帧/秒或者30帧/秒。在进行视频通话的过程中,所述第二图片流往往可以作为背景铺满视频通话的窗口,而所述第一图片流则可以悬浮在所述第二图片流上,这样所述第二图片流便不会遮挡住所述第一图片流。也就是说,在得到第二图片流和第一图片流后,可以将所述第一图片流加载于所述第二图片流之上,构成视频画面。如上所述,所述可以作为背景铺满视频通话的窗口,而所述第一图片流则可以位于视频通话窗口的左下角,并且占整个窗口的1/8大小。
在进行视频通话的过程中,每一帧画面的分辨率和相邻两帧之间传输的帧率往往会决定视频画面的质量。每一帧画面的分辨率越高,那么视频画面则越清晰,但同时也会占用较多的网络资源,对网络状态的要求较高。同样地,相邻两帧之间传输的帧率越高,视频画面就会越流畅,但同时同样会占用较多的网络资源,对网络状态的要求较高。因此,在本申请一优选实施例中,为了保证视频通话的顺畅,可以根据网络状态的不同,对所述视频接收方的画面进行相应的调整。具体地,本申请实施例可以监测视频发起方的网络状态,当所述网络状态满足预设条件时,将所述视频接收方的画面分辨率调节为预设分辨率。例如,当所述网络状态较好,其网络延迟低于预设阈值时,可以将当前画面的分辨率调高,以增加画面的清晰度。相反的,当所述网络状态较差,其网络延迟高于预设阈值时,可以将当前画面的分辨率调低,以保证画面的流畅度。
同样的,本申请实施例还可以监测视频发起方的网络状态,当所述网络状态满足预设条件时,将所述视频接收方的画面渲染帧率按照预设规则进行调节。例如,当所述网络状态较好,其网络延迟低于预设阈值时,可以将当前画面的帧率调高,以增加画面的流畅度。相反的,当所述网络状态较差,其网络延迟高于预设阈值时,可以将当前画面的帧率调低,以保证画面不至于中断。实际上,为了保证动态图像的画面渲染质量在可控范围内,还可以限定画面渲染所用的帧率处于最小帧率和最大帧率之间,其中最大帧率是能够完美地运行动态图像所需要的最大帧率值,最小帧率是运行动态图像时可以容忍的最小帧率值。即,将画面渲染所用的帧率同该最小帧率及最大帧率进行比较,如果上述画面渲染所用的帧率小于该最小帧率,则将上述画面渲染所用的帧率设定成该最小帧率;如果上述画面渲染所用的帧率大于该最大帧率,则将上述画面渲染所用的帧率设定成该最大帧率。所述的最小帧率例如可以为20帧/秒,所述的最大帧率例如可以为60帧/秒。
在本申请一优选实施中,可以按照下述公式对所述视频接收方的画面渲染帧率进行调节:
其中,INT为取整函数,δ为调节后的画面渲染帧率,N为每次渲染时的画面帧数,T为渲染N帧画面所需的时间,k为调节系数。所述调节系数可以根据网络状态进行调整,其范围为0.1至1之间。本申请实施例可以建立网络延迟与所述调节系数之间的关系,该关系可以用反比例函数来表示,当网络延迟越高时,其对应的调节系数则越小;当网络延迟越低时,其对应的调节系数则越大。
由上可见,本发明实施例提供的视频画面的绘制方法,仅设置一个GLSurfaceView,同时在该GLSurfaceView下生成对应的两个渲染器。其中一个渲染器用来渲染视频通话发起方的画面,另一个渲染器则用来渲染视频通话接收方的画面。通过预先设置的视频通话发起方的画面位置和画面尺寸以及视频接收方的画面位置和画面尺寸,从而可以限定渲染得到的画面的位置和尺寸。这样,通过一个GLSurfaceView便可以实现视频通话双方画面的绘制过程,节省了手机的资源。进一步地,通过对视频通话过程中的网络状态进行监测,从而可以根据实际的网络状态,对分辨率或者帧率进行调节,以保证视频通话的顺畅。此外,通过监测手机触摸屏上的触控指令,从而可以根据触控指令对视频通话双方的画面位置进行调节,保证了视频通话过程的便捷性。
本申请实施例还提供一种视频画面的绘制装置。图2为本申请实施例提供的一种视频画面的绘制装置功能模块图。如图2所示,所述装置可以包括:
渲染器创建单元100,用于创建GLSurfaceView以及与所述GLSurfaceView相对应的第一渲染器和第二渲染器;
第一渲染参数配置单元200,用于为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸;
第二渲染参数配置单元300,用于为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸;
绘制单元400,用于当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。
在本申请一优选实施例中,所述绘制单元400具体包括:
第二图片流获取模块,用于当视频通话建立时,根据视频接收方的画面位置和画面尺寸对所述第二渲染器接收的每一帧图片进行绘制,得到第二图片流;
第一图片流获取模块,用于根据视频发起方的画面位置和画面尺寸对所述第一渲染器接收的每一帧图片进行绘制,得到第一图片流;
加载模块,用于将所述第一图片流加载于所述第二图片流之上,构成视频画面。
其中,在所述加载模块之后,所述装置还包括:
触控指令监测模块,用于监测所述视频画面上的触控指令,并响应于监测到的触控指令,将所述第一图片流或者第二图片流的位置进行移动。
在本申请另一优选实施例中,所述装置还可以包括:
分辨率调节单元,用于监测视频发起方的网络状态,当所述网络状态满足预设条件时,将所述视频接收方的画面分辨率调节为预设分辨率。
在本申请另一优选实施例中,所述装置还可以包括:
帧率调节单元,用于监测视频发起方的网络状态,当所述网络状态满足预设条件时,将所述视频接收方的画面渲染帧率按照预设规则进行调节。
具体地,在本申请实施例中可以按照下述公式对所述视频接收方的画面渲染帧率进行调节:
其中,INT为取整函数,δ为调节后的画面渲染帧率,N为每次渲染时的画面帧数,T为渲染N帧画面所需的时间,k为调节系数。
需要说明的是,本申请实施例上述各个功能模块的具体实现方式与步骤S1至S4中一致,这里便不再赘述。
由上可见,本发明实施例提供的视频画面的绘制装置,仅设置一个GLSurfaceView,同时在该GLSurfaceView下生成对应的两个渲染器。其中一个渲染器用来渲染视频通话发起方的画面,另一个渲染器则用来渲染视频通话接收方的画面。通过预先设置的视频通话发起方的画面位置和画面尺寸以及视频接收方的画面位置和画面尺寸,从而可以限定渲染得到的画面的位置和尺寸。这样,通过一个GLSurfaceView便可以实现视频通话双方画面的绘制过程,节省了手机的资源。进一步地,通过对视频通话过程中的网络状态进行监测,从而可以根据实际的网络状态,对分辨率或者帧率进行调节,以保证视频通话的顺畅。此外,通过监测手机触摸屏上的触控指令,从而可以根据触控指令对视频通话双方的画面位置进行调节,保证了视频通话过程的便捷性。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
最后应说明的是:上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。
Claims (10)
1.一种视频画面的绘制方法,其特征在于,包括:
创建GLSurfaceView以及与所述GLSurfaceView相对应的第一渲染器和第二渲染器;
为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸;
为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸;
当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。
2.根据权利要求1所述的视频画面的绘制方法,其特征在于,所述第一渲染器为本地渲染器,所述第二渲染器为远程渲染器。
3.根据权利要求1所述的视频画面的绘制方法,其特征在于,当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制具体包括:
当视频通话建立时,根据视频接收方的画面位置和画面尺寸对所述第二渲染器接收的每一帧图片进行绘制,得到第二图片流;
根据视频发起方的画面位置和画面尺寸对所述第一渲染器接收的每一帧图片进行绘制,得到第一图片流;
将所述第一图片流加载于所述第二图片流之上,构成视频画面。
4.根据权利要求3所述的视频画面的绘制方法,其特征在于,在得到第二图片流之后,所述方法还包括:
监测视频发起方的网络状态,当所述网络状态满足预设条件时,将所述视频接收方的画面分辨率调节为预设分辨率。
5.根据权利要求3所述的视频画面的绘制方法,其特征在于,在得到第二图片流之后,所述方法还包括:
监测视频发起方的网络状态,当所述网络状态满足预设条件时,将所述视频接收方的画面渲染帧率按照预设规则进行调节。
6.根据权利要求5所述的视频画面的绘制方法,其特征在于,按照下述公式对所述视频接收方的画面渲染帧率进行调节:
其中,INT为取整函数,δ为调节后的画面渲染帧率,N为每次渲染时的画面帧数,T为渲染N帧画面所需的时间,k为调节系数。
7.根据权利要求3所述的视频画面的绘制方法,其特征在于,在将所述第一图片流加载于所述第二图片流之上,构成视频画面之后,所述方法还包括:
监测所述视频画面上的触控指令,并响应于监测到的触控指令,将所述第一图片流或者第二图片流的位置进行移动。
8.一种视频画面的绘制装置,其特征在于,包括:
渲染器创建单元,用于创建GLSurfaceView以及与所述GLSurfaceView相对应的第一渲染器和第二渲染器;
第一渲染参数配置单元,用于为所述第一渲染器配置第一渲染参数,所述第一渲染参数至少包括视频发起方的画面位置和画面尺寸;
第二渲染参数配置单元,用于为所述第二渲染器配置第二渲染参数,所述第二渲染参数至少包括视频接收方的画面位置和画面尺寸;
绘制单元,用于当视频通话建立时,所述第一渲染器和所述第二渲染器分别根据所述第一渲染参数和所述第二渲染参数,对接收的每一帧图片进行绘制。
9.根据权利要求8所述的视频画面的绘制装置,其特征在于,所述绘制单元具体包括:
第二图片流获取模块,用于当视频通话建立时,根据视频接收方的画面位置和画面尺寸对所述第二渲染器接收的每一帧图片进行绘制,得到第二图片流;
第一图片流获取模块,用于根据视频发起方的画面位置和画面尺寸对所述第一渲染器接收的每一帧图片进行绘制,得到第一图片流;
加载模块,用于将所述第一图片流加载于所述第二图片流之上,构成视频画面。
10.根据权利要求9所述的视频画面的绘制装置,其特征在于,在所述加载模块之后,所述装置还包括:
触控指令监测模块,用于监测所述视频画面上的触控指令,并响应于监测到的触控指令,将所述第一图片流或者第二图片流的位置进行移动。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510934280.8A CN105916052A (zh) | 2015-12-15 | 2015-12-15 | 一种视频画面的绘制方法及装置 |
PCT/CN2016/088195 WO2017101303A1 (zh) | 2015-12-15 | 2016-07-01 | 一种视频画面的绘制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510934280.8A CN105916052A (zh) | 2015-12-15 | 2015-12-15 | 一种视频画面的绘制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105916052A true CN105916052A (zh) | 2016-08-31 |
Family
ID=56744080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510934280.8A Pending CN105916052A (zh) | 2015-12-15 | 2015-12-15 | 一种视频画面的绘制方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105916052A (zh) |
WO (1) | WO2017101303A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124637A (zh) * | 2017-05-18 | 2017-09-01 | 北京视博云科技有限公司 | 在轻终端上进行信息通告的方法及装置、计算机存储介质 |
CN107888970A (zh) * | 2017-11-29 | 2018-04-06 | 天津聚飞创新科技有限公司 | 视频处理方法、装置、嵌入式设备及存储介质 |
CN108184054A (zh) * | 2017-12-28 | 2018-06-19 | 上海传英信息技术有限公司 | 一种用于智能终端拍摄图像的预处理方法及预处理装置 |
CN114071229A (zh) * | 2021-12-08 | 2022-02-18 | 四川启睿克科技有限公司 | 一种解决SurfaceView渲染器重载视频解码时回收延迟的方法 |
CN115619911A (zh) * | 2022-10-26 | 2023-01-17 | 润芯微科技(江苏)有限公司 | 基于Unreal Engine的虚拟形象生成方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109285211B (zh) * | 2018-10-29 | 2023-03-31 | Oppo广东移动通信有限公司 | 画面渲染方法、装置、终端及存储介质 |
CN111626915B (zh) * | 2020-05-29 | 2024-03-26 | 大陆汽车车身电子系统(芜湖)有限公司 | 一种图像显示方法 |
CN115942131B (zh) * | 2023-02-09 | 2023-09-01 | 蔚来汽车科技(安徽)有限公司 | 保障车辆环视功能的方法、座舱系统及车辆、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901668A (zh) * | 2005-07-19 | 2007-01-24 | 腾讯科技(深圳)有限公司 | 多人视频数据显示处理方法及系统 |
US20140173507A1 (en) * | 2012-12-19 | 2014-06-19 | Barco N.V. | Display wall layout optimization |
CN103916621A (zh) * | 2013-01-06 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 视频通信方法及装置 |
US20140237405A1 (en) * | 2011-10-26 | 2014-08-21 | Huawei Device Co., Ltd | Method and Apparatus for Taking Screenshot of Screen of Application in Mobile Terminal |
CN104811785A (zh) * | 2015-04-01 | 2015-07-29 | 乐视致新电子科技(天津)有限公司 | 智能终端的显示图形用户界面的控制方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014184956A1 (ja) * | 2013-05-17 | 2014-11-20 | 三菱電機株式会社 | 映像合成装置および方法 |
US9901822B2 (en) * | 2014-01-09 | 2018-02-27 | Square Enix Holding Co., Ltd. | Video gaming device with remote rendering capability |
-
2015
- 2015-12-15 CN CN201510934280.8A patent/CN105916052A/zh active Pending
-
2016
- 2016-07-01 WO PCT/CN2016/088195 patent/WO2017101303A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901668A (zh) * | 2005-07-19 | 2007-01-24 | 腾讯科技(深圳)有限公司 | 多人视频数据显示处理方法及系统 |
US20140237405A1 (en) * | 2011-10-26 | 2014-08-21 | Huawei Device Co., Ltd | Method and Apparatus for Taking Screenshot of Screen of Application in Mobile Terminal |
US20140173507A1 (en) * | 2012-12-19 | 2014-06-19 | Barco N.V. | Display wall layout optimization |
CN103916621A (zh) * | 2013-01-06 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 视频通信方法及装置 |
CN104811785A (zh) * | 2015-04-01 | 2015-07-29 | 乐视致新电子科技(天津)有限公司 | 智能终端的显示图形用户界面的控制方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124637A (zh) * | 2017-05-18 | 2017-09-01 | 北京视博云科技有限公司 | 在轻终端上进行信息通告的方法及装置、计算机存储介质 |
CN107888970A (zh) * | 2017-11-29 | 2018-04-06 | 天津聚飞创新科技有限公司 | 视频处理方法、装置、嵌入式设备及存储介质 |
CN108184054A (zh) * | 2017-12-28 | 2018-06-19 | 上海传英信息技术有限公司 | 一种用于智能终端拍摄图像的预处理方法及预处理装置 |
CN108184054B (zh) * | 2017-12-28 | 2020-12-08 | 上海传英信息技术有限公司 | 一种用于智能终端拍摄图像的预处理方法及预处理装置 |
CN114071229A (zh) * | 2021-12-08 | 2022-02-18 | 四川启睿克科技有限公司 | 一种解决SurfaceView渲染器重载视频解码时回收延迟的方法 |
CN115619911A (zh) * | 2022-10-26 | 2023-01-17 | 润芯微科技(江苏)有限公司 | 基于Unreal Engine的虚拟形象生成方法 |
CN115619911B (zh) * | 2022-10-26 | 2023-08-08 | 润芯微科技(江苏)有限公司 | 基于Unreal Engine的虚拟形象生成方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017101303A1 (zh) | 2017-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105916052A (zh) | 一种视频画面的绘制方法及装置 | |
TWI803590B (zh) | 藉由所關注區域之制定的異步時間及空間翹曲 | |
US10818081B2 (en) | Dynamic lighting for objects in images | |
WO2020108081A1 (zh) | 视频处理方法、装置、电子设备和计算机可读介质 | |
CN112235626B (zh) | 视频渲染方法、装置、电子设备及存储介质 | |
WO2020108061A1 (zh) | 视频处理方法、装置、电子设备以及存储介质 | |
US11119719B2 (en) | Screen sharing for display in VR | |
JP7359521B2 (ja) | 画像処理方法および装置 | |
US10269100B1 (en) | Accelerated skin smoothing effect | |
JP6563024B2 (ja) | 出力デバイスへのクラウドゲームデータストリーム及びネットワーク特性の動的な調節 | |
US10298903B2 (en) | Method and device for processing a part of an immersive video content according to the position of reference parts | |
CN105005426A (zh) | 触屏终端截屏、数据分享的方法及系统 | |
WO2022262618A1 (zh) | 一种屏保交互方法、装置、电子设备和存储介质 | |
CN113521728B (zh) | 云应用的实现方法、装置、电子设备和存储介质 | |
JP2021170769A (ja) | 周辺イメージを処理する方法及びデバイス | |
CN112017101A (zh) | 可变光栅化率 | |
CN113691737B (zh) | 视频的拍摄方法、设备、存储介质 | |
CN112884665A (zh) | 一种动画播放方法、装置、计算机设备及存储介质 | |
WO2021249358A1 (zh) | 渲染方法、设备以及系统 | |
US12100102B2 (en) | Image based sampling metric for quality assessment | |
US20210360236A1 (en) | System and method for encoding a block-based volumetric video having a plurality of video frames of a 3d object into a 2d video format | |
US10152818B2 (en) | Techniques for stereo three dimensional image mapping | |
EP4485357A2 (en) | Image processing method and apparatus, electronic device, and storage medium | |
CN111327863A (zh) | 一种视频通话处理方法及装置 | |
WO2021052040A1 (zh) | 视频图像的增强方法、装置、设备、芯片及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160831 |
|
WD01 | Invention patent application deemed withdrawn after publication |