一種視頻畫面的繪制方法及裝置的制造方法
【專利摘要】本發(fā)明實施例提供一種視頻畫面的繪制方法及裝置,其中,所述方法包括:創(chuàng)建GLSurface View以及與所述GLSurface View相對應的第一渲染器和第二渲染器;為所述第一渲染器配置第一渲染參數(shù),所述第一渲染參數(shù)至少包括視頻發(fā)起方的畫面位置和畫面尺寸;為所述第二渲染器配置第二渲染參數(shù),所述第二渲染參數(shù)至少包括視頻接收方的畫面位置和畫面尺寸;當視頻通話建立時,所述第一渲染器和所述第二渲染器分別根據(jù)所述第一渲染參數(shù)和所述第二渲染參數(shù),對接收的每一幀圖片進行繪制。本發(fā)明實施例提供一種視頻畫面的繪制方法及裝置,能夠減少對手機資源的占用,以保證視頻通話的質量。
【專利說明】
一種視頻畫面的繪制方法及裝置
技術領域
[0001] 本發(fā)明實施例涉及圖像處理技術領域,尤其涉及一種視頻畫面的繪制方法及裝 置。
【背景技術】
[0002] 從計算機誕生的那天開始,對現(xiàn)實世界的真實模擬就是圖形學領域追求的最終目 標。渲染技術在計算機繪圖中,是指用軟件從模型生成圖像的過程。在圖形顯示操作中,渲 染是最后一項重要步驟,通過它得到模型與動畫最終顯示效果。渲染技術被廣泛用于計算 機與視頻游戲、模擬、電影或者電視特效以及可視化設計等實際應用場景。針對渲染顯示的 方式不同,可以大致分為兩類:預植染(pre-rendering或者off linerendering)和實時植染 (real-timerendering或者onlinerendering)。其中,預植染就是由開發(fā)人員將待植染內容 預先放置在服務器上進行渲染,預渲染的計算強度很大,通常用于復雜場景處理,比如酷炫 的3D電影制作等。實時渲染要求實時體驗,經(jīng)常用于各類3D游戲等場景,通常需要依靠硬件 加速器完成這個過程。
[0003]目前通??梢圆捎帽镜劁秩净蛟贫虽秩炯夹g來實現(xiàn)對畫面的繪制。本地渲染技術 就是用戶設備(UserEquipment,UE)的硬件設備,如:中央處理器(CentralProcessingUni t, CPU)、圖形處理器(GraphicProcessingUnit,GPU)對模型進行植染,植染結束后,顯示設備 調取渲染結果進行顯示。云端渲染技術就是將用戶設備的操作移到云端運行,然后把最終 的結果,通過圖片方式傳送給用戶設備進行顯示。
[0004]隨著通信技術的不斷發(fā)展,人們已經(jīng)越來越習慣于利用手機進行視頻通話。在視 頻通話的過程中也會涉及上述的圖像渲染技術。視頻通話往往涉及視頻通話的發(fā)起方以及 視頻通話的接收方?,F(xiàn)在技術中對于視頻通話中畫面的繪制可以如下所述:
[0005 ] 首先,可以針對視頻通話的發(fā)起方和接收方分別建立不同的GLSurf ace Vi ew,然后 通過這兩個GLSurfaceView分別對視頻通話發(fā)起方和接收方的圖像進行繪制,從而可以實 現(xiàn)視頻通話的過程。
[0006] 然而上述的現(xiàn)有技術中會存在這樣的缺陷:倉Il建兩個GLSurfaceView無疑會消耗 更多的內存并且會占用更多的cpu使用率,從而造成手機資源的浪費,另外,基于兩個 GLSurfaceView來進行畫面的繪制,得到的畫面位置往往都不方便進行調節(jié)。
【發(fā)明內容】
[0007] 本發(fā)明實施例提供一種視頻畫面的繪制方法及裝置,能夠減少對手機資源的占 用,以保證視頻通話的質量。
[0008] 本發(fā)明實施例提供一種視頻畫面的繪制方法,包括:倉Il建GLSurf ac eVi ew以及與所 述GLSurfaceView相對應的第一渲染器和第二渲染器;為所述第一渲染器配置第一渲染參 數(shù),所述第一渲染參數(shù)至少包括視頻發(fā)起方的畫面位置和畫面尺寸;為所述第二渲染器配 置第二渲染參數(shù),所述第二渲染參數(shù)至少包括視頻接收方的畫面位置和畫面尺寸;當視頻 通話建立時,所述第一渲染器和所述第二渲染器分別根據(jù)所述第一渲染參數(shù)和所述第二渲 染參數(shù),對接收的每一幀圖片進行繪制。
[0009]本發(fā)明實施例提供的一種視頻畫面的繪制裝置,包括:渲染器創(chuàng)建單元,用于創(chuàng)建 GLSurfaceView以及與所述GLSurf aceView相對應的第一渲染器和第二渲染器;第一渲染參 數(shù)配置單元,用于為所述第一渲染器配置第一渲染參數(shù),所述第一渲染參數(shù)至少包括視頻 發(fā)起方的畫面位置和畫面尺寸;第二渲染參數(shù)配置單元,用于為所述第二渲染器配置第二 渲染參數(shù),所述第二渲染參數(shù)至少包括視頻接收方的畫面位置和畫面尺寸;繪制單元,用于 當視頻通話建立時,所述第一渲染器和所述第二渲染器分別根據(jù)所述第一渲染參數(shù)和所述 第二渲染參數(shù),對接收的每一幀圖片進行繪制。
[0010]本發(fā)明實施例提供的視頻畫面的繪制方法及裝置,僅設置一個GLSurfaceView,同 時在該GLSurfaceView下生成對應的兩個渲染器。其中一個渲染器用來渲染視頻通話發(fā)起 方的畫面,另一個渲染器則用來渲染視頻通話接收方的畫面。通過預先設置的視頻通話發(fā) 起方的畫面位置和畫面尺寸以及視頻接收方的畫面位置和畫面尺寸,從而可以限定渲染得 到的畫面的位置和尺寸。這樣,通過一個GLSurfaceView便可以實現(xiàn)視頻通話雙方畫面的繪 制過程,節(jié)省了手機的資源。進一步地,通過對視頻通話過程中的網(wǎng)絡狀態(tài)進行監(jiān)測,從而 可以根據(jù)實際的網(wǎng)絡狀態(tài),對分辨率或者幀率進行調節(jié),以保證視頻通話的順暢。此外,通 過監(jiān)測手機觸摸屏上的觸控指令,從而可以根據(jù)觸控指令對視頻通話雙方的畫面位置進行 調節(jié),保證了視頻通話過程的便捷性。
【附圖說明】
[0011] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖逐一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。
[0012] 圖1為本申請實施例提供的一種視頻畫面的繪制方法流程圖;
[0013] 圖2為本申請實施例提供的一種視頻畫面的繪制裝置功能模塊圖。
【具體實施方式】
[0014] 為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0015] 圖1為本申請實施例提供的一種視頻畫面的繪制方法流程圖。雖然下文描述流程 包括以特定順序出現(xiàn)的多個操作,但是應該清楚了解,這些過程可以包括更多或更少的操 作,這些操作可以順序執(zhí)行或并行執(zhí)行(例如使用并行處理器或多線程環(huán)境)。如圖1所示, 所述方法可以包括:
[0016] SI:創(chuàng)建GLSurfaceView以及與所述GLSurfaceView相對應的第一渲染器和第二渲 染器。
[0017] 所述的GLSurfaceView是一個視圖,其內嵌的surf ace可以負責OpenGL植染。所述 GLSurf aceVi ew往往可以提供以下特性:
[0018] 1)管理一個surf ace,該surf ace可以為一塊內存,能夠直接排版到Android的視圖 上;
[0019] 2)管理一個EGL display,該EGL display能夠將內容植染到上述的surface上;
[0020] 3)支持用戶自定義渲染器;
[0021] 4)讓渲染器在獨立的線程里運作,將渲染器運作的線程與UI線程分離;
[0022] 5)支持按需植染(on-demand)和連續(xù)植染(continuous)。
[0023] 在創(chuàng)建了所述GLSurfaceView之后,可以對所述GLSurfaceView進行初始化。具體 地,由于GLSurfaceView在創(chuàng)建時往往會具備一些默認的配置,這些默認的配置往往可以不 進行修改。因此在初始化的過程中,主要是在所述GLSurfaceView中設置預設數(shù)量的渲染 器,以分別對視頻通話的發(fā)起方和接收方進行畫面渲染。具體地,本申請實施例可以通過 setRenderer(Renderer)指令設置一個植染器。
[0024] 另外,所述GLSurfaceView會默認創(chuàng)建像素格式為PixelFormat · RGB_565的 surface。當然,用戶可以根據(jù)實際需求對該像素格式進行更改,例如可以通過調用 getHolder( )· setFormat(PixelFormat · TRANSLUCENT)指令來更改透明效果。透明的 surface的像素格式都是32位的,每個色彩單元都是8位深度,這就說明該像素格式可能是 ARGB 或者 RGBA。
[0025] 在Android設備中往往支持多種EGL配置,在本申請實施例中可以使用不同數(shù)目的 通道(channel),也可以指定每個通道具有不同數(shù)目的位(bits)深度。因此,在渲染器工作 之前就應該指定EGL的配置。所述GLSurfaceView默認EGL配置的像素格式為RGB_656,16位 的深度緩存(depth buffer),默認不開啟遮罩緩存(stencil buffer)。當然,如果需要選擇 不同的EGL配置,則可以調用setEGLConfigChooser指令進行更換。
[0026] 在對所述GLSurfaceView中的配置參數(shù)進行修改以及設置預設數(shù)量的渲染器后, 便可以指定渲染器的渲染模式,在本申請實施例中由于需要對視頻通話的畫面進行實時渲 染,因此可以將渲染器的渲染模式都設置為連續(xù)渲染。
[0027] 在使用GLSurfaceView對視頻通話的畫面進行繪制時,可以通過交互式或者非交 互式的方法進行繪制。具體地,所述非交互式的繪制方法得到的視頻通話畫面不能夠與用 戶進行互動,例如不能響應于用戶的觸控指令進行相應的調整。在本申請一優(yōu)選實施例中, 為了能夠根據(jù)用戶的觸控指令對視頻畫面的位置進行調節(jié),可以采用交互式的繪制方法對 視頻通話的畫面進行繪制。具體地,由于渲染的對象是在獨立進程中,當需要對渲染的對象 進行交互時,則需要采用跨線程的機制來進行事件的處理。具體地,在本申請實施例中可以 使用queueE vent (Runnab I e)指令來進行設置。這樣,由所述GLSurf ace Vi ew繪制的視頻畫面 便可以響應于用戶的觸控指令,與用戶進行交互。
[0028] 在本申請實施例中,可以在GLSurfaceView中設置第一渲染器和第二渲染器,其 中,所述第一渲染器可以為本地渲染器,用于渲染本地采集的視頻信息;所述第二渲染器可 以為遠程渲染器,用于渲染視頻通話的接收方遠程發(fā)來的視頻信息。
[0029] S2:為所述第一渲染器配置第一渲染參數(shù),所述第一渲染參數(shù)至少包括視頻發(fā)起 方的畫面位置和畫面尺寸。
[0030] 在設置了第一渲染器之后,可以為所述第一渲染器配置第一渲染參數(shù)。所述第一 渲染參數(shù)是對視頻信息進行渲染的規(guī)則,例如渲染后的畫面位于什么位置以及渲染后的畫 面大小是多少。所述第一渲染參數(shù)中至少可以包括視頻發(fā)起方的畫面位置和畫面尺寸。所 述視頻發(fā)起方的視頻信息可以由本地的攝像頭采集后送入所述第一渲染器中,并由所述第 一渲染器進行渲染,成為本地的視頻畫面。所述本地的視頻畫面的位置以及尺寸則可以由 所述第一渲染參數(shù)進行限定。例如,本地的視頻畫面可以位于整體畫面的左下角,大小為整 體畫面的1/8。
[0031] 本地的攝像頭在采集到視頻信息后,會將采集到的視頻信息按照一定的幀率發(fā)送 至所述第一渲染器。所述第一渲染器對接收到的每一幀視頻信息均進行渲染成像,并將渲 染后的畫面按照同樣的幀率展示給用戶,從而給用戶提供視頻通話的畫面。
[0032] S3:為所述第二渲染器配置第二渲染參數(shù),所述第二渲染參數(shù)至少包括視頻接收 方的畫面位置和畫面尺寸。
[0033] 同樣的,在設置了第二渲染器之后,可以為所述第二渲染器配置第二渲染參數(shù)。所 述第二渲染參數(shù)同樣是對視頻信息進行渲染的規(guī)則,例如渲染后的畫面位于什么位置以及 渲染后的畫面大小是多少。所述第二渲染參數(shù)中至少可以包括視頻接收方的畫面位置和畫 面尺寸。所述視頻接收方的視頻信息可以由本地的攝像頭采集后,通過網(wǎng)絡發(fā)送至視頻發(fā) 起方所在的通訊地址。這樣,當所述視頻接收方的視頻信息到達視頻發(fā)起方時,可以由所述 第二渲染器對其進行渲染,渲染后的畫面便可以呈現(xiàn)給視頻通話的發(fā)起方進行觀看。所述 視頻通話接收方的畫面位置以及尺寸則可以由所述第二渲染參數(shù)進行限定。例如,視頻通 話接收方的視頻畫面可以在整體畫面的正中間,大小為鋪滿整體畫面。
[0034] 所述視頻通話的接收方的視頻信息同樣可以按照一定的幀率發(fā)送至視頻通話的 發(fā)起方,在經(jīng)過所述第二渲染器進行渲染后,便可以按照同樣的幀率呈現(xiàn)給視頻通話的發(fā) 起方,從而形成視頻通話的畫面。
[0035] S4:當視頻通話建立時,所述第一渲染器和所述第二渲染器分別根據(jù)所述第一渲 染參數(shù)和所述第二渲染參數(shù),對接收的每一幀圖片進行繪制。
[0036] 在視頻通話的接收方接收了視頻通話請求后,在視頻通話發(fā)起方和視頻通話接收 方之間便建立了視頻通話,此時,首先可以根據(jù)視頻接收方的畫面位置和畫面尺寸對所述 第二渲染器接收的每一幀圖片進行繪制,得到第二圖片流。該第二圖片流中的圖片是按照 預設幀率進行傳輸,該預設幀率例如可以為24幀/秒或者30幀/秒。在得到所述第二圖片流 之后,可以根據(jù)視頻發(fā)起方的畫面位置和畫面尺寸對所述第一渲染器接收的每一幀圖片進 行繪制,得到第一圖片流。同樣的,該第一圖片流中的圖片也是按照預設幀率進行傳輸,該 預設幀率例如可以為24幀/秒或者30幀/秒。在進行視頻通話的過程中,所述第二圖片流往 往可以作為背景鋪滿視頻通話的窗口,而所述第一圖片流則可以懸浮在所述第二圖片流 上,這樣所述第二圖片流便不會遮擋住所述第一圖片流。也就是說,在得到第二圖片流和第 一圖片流后,可以將所述第一圖片流加載于所述第二圖片流之上,構成視頻畫面。如上所 述,所述可以作為背景鋪滿視頻通話的窗口,而所述第一圖片流則可以位于視頻通話窗口 的左下角,并且占整個窗口的1/8大小。
[0037] 在進行視頻通話的過程中,每一幀畫面的分辨率和相鄰兩幀之間傳輸?shù)膸释?會決定視頻畫面的質量。每一幀畫面的分辨率越高,那么視頻畫面則越清晰,但同時也會占 用較多的網(wǎng)絡資源,對網(wǎng)絡狀態(tài)的要求較高。同樣地,相鄰兩幀之間傳輸?shù)膸试礁撸曨l 畫面就會越流暢,但同時同樣會占用較多的網(wǎng)絡資源,對網(wǎng)絡狀態(tài)的要求較高。因此,在本 申請一優(yōu)選實施例中,為了保證視頻通話的順暢,可以根據(jù)網(wǎng)絡狀態(tài)的不同,對所述視頻接 收方的畫面進行相應的調整。具體地,本申請實施例可以監(jiān)測視頻發(fā)起方的網(wǎng)絡狀態(tài),當所 述網(wǎng)絡狀態(tài)滿足預設條件時,將所述視頻接收方的畫面分辨率調節(jié)為預設分辨率。例如,當 所述網(wǎng)絡狀態(tài)較好,其網(wǎng)絡延遲低于預設閾值時,可以將當前畫面的分辨率調高,以增加畫 面的清晰度。相反的,當所述網(wǎng)絡狀態(tài)較差,其網(wǎng)絡延遲高于預設閾值時,可以將當前畫面 的分辨率調低,以保證畫面的流暢度。
[0038] 同樣的,本申請實施例還可以監(jiān)測視頻發(fā)起方的網(wǎng)絡狀態(tài),當所述網(wǎng)絡狀態(tài)滿足 預設條件時,將所述視頻接收方的畫面渲染幀率按照預設規(guī)則進行調節(jié)。例如,當所述網(wǎng)絡 狀態(tài)較好,其網(wǎng)絡延遲低于預設閾值時,可以將當前畫面的幀率調高,以增加畫面的流暢 度。相反的,當所述網(wǎng)絡狀態(tài)較差,其網(wǎng)絡延遲高于預設閾值時,可以將當前畫面的幀率調 低,以保證畫面不至于中斷。實際上,為了保證動態(tài)圖像的畫面渲染質量在可控范圍內,還 可以限定畫面渲染所用的幀率處于最小幀率和最大幀率之間,其中最大幀率是能夠完美地 運行動態(tài)圖像所需要的最大幀率值,最小幀率是運行動態(tài)圖像時可以容忍的最小幀率值。 即,將畫面渲染所用的幀率同該最小幀率及最大幀率進行比較,如果上述畫面渲染所用的 幀率小于該最小幀率,則將上述畫面渲染所用的幀率設定成該最小幀率;如果上述畫面渲 染所用的幀率大于該最大幀率,則將上述畫面渲染所用的幀率設定成該最大幀率。所述的 最小幀率例如可以為20幀/秒,所述的最大幀率例如可以為60幀/秒。
[0039] 在本申請一優(yōu)選實施中,可以按照下述公式對所述視頻接收方的畫面渲染幀率進 行調節(jié):
[0040]
[0041] 其中,INT為取整函數(shù),δ為調節(jié)后的畫面渲染幀率,N為每次渲染時的畫面幀數(shù),T 為渲染N幀畫面所需的時間,k為調節(jié)系數(shù)。所述調節(jié)系數(shù)可以根據(jù)網(wǎng)絡狀態(tài)進行調整,其范 圍為0.1至1之間。本申請實施例可以建立網(wǎng)絡延遲與所述調節(jié)系數(shù)之間的關系,該關系可 以用反比例函數(shù)來表示,當網(wǎng)絡延遲越高時,其對應的調節(jié)系數(shù)則越?。划斁W(wǎng)絡延遲越低 時,其對應的調節(jié)系數(shù)則越大。
[0042] 由上可見,本發(fā)明實施例提供的視頻畫面的繪制方法,僅設置一個 GLSurfaceView,同時在該GLSurfaceView下生成對應的兩個植染器。其中一個植染器用來 渲染視頻通話發(fā)起方的畫面,另一個渲染器則用來渲染視頻通話接收方的畫面。通過預先 設置的視頻通話發(fā)起方的畫面位置和畫面尺寸以及視頻接收方的畫面位置和畫面尺寸,從 而可以限定渲染得到的畫面的位置和尺寸。這樣,通過一個GLSurfaceView便可以實現(xiàn)視頻 通話雙方畫面的繪制過程,節(jié)省了手機的資源。進一步地,通過對視頻通話過程中的網(wǎng)絡狀 態(tài)進行監(jiān)測,從而可以根據(jù)實際的網(wǎng)絡狀態(tài),對分辨率或者幀率進行調節(jié),以保證視頻通話 的順暢。此外,通過監(jiān)測手機觸摸屏上的觸控指令,從而可以根據(jù)觸控指令對視頻通話雙方 的畫面位置進行調節(jié),保證了視頻通話過程的便捷性。
[0043] 本申請實施例還提供一種視頻畫面的繪制裝置。圖2為本申請實施例提供的一種 視頻畫面的繪制裝置功能模塊圖。如圖2所示,所述裝置可以包括:
[0044] 植染器創(chuàng)建單元100,用于創(chuàng)建GLSurfaceView以及與所述GLSurfaceView相對應 的第一植染器和第二植染器;
[0045] 第一渲染參數(shù)配置單元200,用于為所述第一渲染器配置第一渲染參數(shù),所述第一 渲染參數(shù)至少包括視頻發(fā)起方的畫面位置和畫面尺寸;
[0046] 第二渲染參數(shù)配置單元300,用于為所述第二渲染器配置第二渲染參數(shù),所述第二 渲染參數(shù)至少包括視頻接收方的畫面位置和畫面尺寸;
[0047]繪制單元400,用于當視頻通話建立時,所述第一渲染器和所述第二渲染器分別根 據(jù)所述第一渲染參數(shù)和所述第二渲染參數(shù),對接收的每一幀圖片進行繪制。
[0048]在本申請一優(yōu)選實施例中,所述繪制單元400具體包括:
[0049] 第二圖片流獲取模塊,用于當視頻通話建立時,根據(jù)視頻接收方的畫面位置和畫 面尺寸對所述第二渲染器接收的每一幀圖片進行繪制,得到第二圖片流;
[0050] 第一圖片流獲取模塊,用于根據(jù)視頻發(fā)起方的畫面位置和畫面尺寸對所述第一渲 染器接收的每一幀圖片進行繪制,得到第一圖片流;
[0051] 加載模塊,用于將所述第一圖片流加載于所述第二圖片流之上,構成視頻畫面。
[0052] 其中,在所述加載模塊之后,所述裝置還包括:
[0053]觸控指令監(jiān)測模塊,用于監(jiān)測所述視頻畫面上的觸控指令,并響應于監(jiān)測到的觸 控指令,將所述第一圖片流或者第二圖片流的位置進行移動。
[0054]在本申請另一優(yōu)選實施例中,所述裝置還可以包括:
[0055] 分辨率調節(jié)單元,用于監(jiān)測視頻發(fā)起方的網(wǎng)絡狀態(tài),當所述網(wǎng)絡狀態(tài)滿足預設條 件時,將所述視頻接收方的畫面分辨率調節(jié)為預設分辨率。
[0056] 在本申請另一優(yōu)選實施例中,所述裝置還可以包括:
[0057] 幀率調節(jié)單元,用于監(jiān)測視頻發(fā)起方的網(wǎng)絡狀態(tài),當所述網(wǎng)絡狀態(tài)滿足預設條件 時,將所述視頻接收方的畫面渲染幀率按照預設規(guī)則進行調節(jié)。
[0058]具體地,在本申請實施例中可以按照下述公式對所述視頻接收方的畫面渲染幀率 進行調節(jié):
[0059]
[0060]其中,INT為取整函數(shù),δ為調節(jié)后的畫面渲染幀率,N為每次渲染時的畫面幀數(shù),T 為渲染N幀畫面所需的時間,k為調節(jié)系數(shù)。
[0061] 需要說明的是,本申請實施例上述各個功能模塊的具體實現(xiàn)方式與步驟Sl至S4中 一致,這里便不再贅述。
[0062] 由上可見,本發(fā)明實施例提供的視頻畫面的繪制裝置,僅設置一個 GLSurfaceView,同時在該GLSurfaceView下生成對應的兩個植染器。其中一個植染器用來 渲染視頻通話發(fā)起方的畫面,另一個渲染器則用來渲染視頻通話接收方的畫面。通過預先 設置的視頻通話發(fā)起方的畫面位置和畫面尺寸以及視頻接收方的畫面位置和畫面尺寸,從 而可以限定渲染得到的畫面的位置和尺寸。這樣,通過一個GLSurfaceView便可以實現(xiàn)視頻 通話雙方畫面的繪制過程,節(jié)省了手機的資源。進一步地,通過對視頻通話過程中的網(wǎng)絡狀 態(tài)進行監(jiān)測,從而可以根據(jù)實際的網(wǎng)絡狀態(tài),對分辨率或者幀率進行調節(jié),以保證視頻通話 的順暢。此外,通過監(jiān)測手機觸摸屏上的觸控指令,從而可以根據(jù)觸控指令對視頻通話雙方 的畫面位置進行調節(jié),保證了視頻通話過程的便捷性。
[0063] 在本說明書中,諸如第一和第二這樣的形容詞僅可以用于將一個元素或動作與另 一元素或動作進行區(qū)分,而不必要求或暗示任何實際的這種關系或順序。在環(huán)境允許的情 況下,參照元素或部件或步驟(等)不應解釋為局限于僅元素、部件、或步驟中的一個,而可 以是元素、部件、或步驟中的一個或多個等。
[0064] 本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實 施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例 的部分說明即可。
[0065] 本申請可用于眾多通用或專用的計算機系統(tǒng)環(huán)境或配置中。例如:個人計算機、月艮 務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置 頂盒、可編程的消費電子設備、網(wǎng)絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備 的分布式計算環(huán)境等等。
[0066]最后應說明的是:上面對本申請的各種實施方式的描述以描述的目的提供給本領 域技術人員。其不旨在是窮舉的、或者不旨在將本發(fā)明限制于單個公開的實施方式。如上所 述,本申請的各種替代和變化對于上述技術所屬領域技術人員而言將是顯而易見的。因此, 雖然已經(jīng)具體討論了一些另選的實施方式,但是其它實施方式將是顯而易見的,或者本領 域技術人員相對容易得出。本申請旨在包括在此已經(jīng)討論過的本發(fā)明的所有替代、修改、和 變化,以及落在上述申請的精神和范圍內的其它實施方式。
【主權項】
1. 一種視頻畫面的繪制方法,其特征在于,包括: 創(chuàng)建化如rfaceViewW及與所述化如rfaceView相對應的第一擅染器和第二擅染器; 為所述第一擅染器配置第一擅染參數(shù),所述第一擅染參數(shù)至少包括視頻發(fā)起方的畫面 位置和畫面尺寸; 為所述第二擅染器配置第二擅染參數(shù),所述第二擅染參數(shù)至少包括視頻接收方的畫面 位置和畫面尺寸; 當視頻通話建立時,所述第一擅染器和所述第二擅染器分別根據(jù)所述第一擅染參數(shù)和 所述第二擅染參數(shù),對接收的每一帖圖片進行繪制。2. 根據(jù)權利要求1所述的視頻畫面的繪制方法,其特征在于,所述第一擅染器為本地擅 染器,所述第二擅染器為遠程擅染器。3. 根據(jù)權利要求1所述的視頻畫面的繪制方法,其特征在于,當視頻通話建立時,所述 第一擅染器和所述第二擅染器分別根據(jù)所述第一擅染參數(shù)和所述第二擅染參數(shù),對接收的 每一帖圖片進行繪制具體包括: 當視頻通話建立時,根據(jù)視頻接收方的畫面位置和畫面尺寸對所述第二擅染器接收的 每一帖圖片進行繪制,得到第二圖片流; 根據(jù)視頻發(fā)起方的畫面位置和畫面尺寸對所述第一擅染器接收的每一帖圖片進行繪 審IJ,得到第一圖片流; 將所述第一圖片流加載于所述第二圖片流之上,構成視頻畫面。4. 根據(jù)權利要求3所述的視頻畫面的繪制方法,其特征在于,在得到第二圖片流之后, 所述方法還包括: 監(jiān)測視頻發(fā)起方的網(wǎng)絡狀態(tài),當所述網(wǎng)絡狀態(tài)滿足預設條件時,將所述視頻接收方的 畫面分辨率調節(jié)為預設分辨率。5. 根據(jù)權利要求3所述的視頻畫面的繪制方法,其特征在于,在得到第二圖片流之后, 所述方法還包括: 監(jiān)測視頻發(fā)起方的網(wǎng)絡狀態(tài),當所述網(wǎng)絡狀態(tài)滿足預設條件時,將所述視頻接收方的 畫面擅染帖率按照預設規(guī)則進行調節(jié)。6. 根據(jù)權利要求5所述的視頻畫面的繪制方法,其特征在于,按照下述公式對所述視頻 接收方的畫面擅染帖率進行調1?:其中,INT為取整函數(shù),S為調節(jié)后的畫面擅染帖率,N為每次擅染時的畫面帖數(shù),T為擅 染N帖畫面所需的時間,k為調節(jié)系數(shù)。7. 根據(jù)權利要求3所述的視頻畫面的繪制方法,其特征在于,在將所述第一圖片流加載 于所述第二圖片流之上,構成視頻畫面之后,所述方法還包括: 監(jiān)測所述視頻畫面上的觸控指令,并響應于監(jiān)測到的觸控指令,將所述第一圖片流或 者第二圖片流的位置進行移動。8. -種視頻畫面的繪制裝置,其特征在于,包括: 擅染器創(chuàng)建單元,用于創(chuàng)建化Su計aceViewW及與所述化Su計aceView相對應的第一擅 染器和第二擅染器; 第一擅染參數(shù)配置單元,用于為所述第一擅染器配置第一擅染參數(shù),所述第一擅染參 數(shù)至少包括視頻發(fā)起方的畫面位置和畫面尺寸. 第二擅染參數(shù)配置單元,用于為所述第二擅染器配置第二擅染參數(shù),所述第二擅染參 數(shù)至少包括視頻接收方的畫面位置和畫面尺寸. 繪制單元,用于當視頻通話建立時,所述第一擅染器和所述第二擅染器分別根據(jù)所述 第一擅染參數(shù)和所述第二擅染參數(shù),對接收的每一帖圖片進行繪制。9. 根據(jù)權利要求8所述的視頻畫面的繪制裝置,其特征在于,所述繪制單元具體包括: 第二圖片流獲取模塊,用于當視頻通話建立時,根據(jù)視頻接收方的畫面位置和畫面尺 寸對所述第二擅染器接收的每一帖圖片進行繪制,得到第二圖片流; 第一圖片流獲取模塊,用于根據(jù)視頻發(fā)起方的畫面位置和畫面尺寸對所述第一擅染器 接收的每一帖圖片進行繪制,得到第一圖片流; 加載模塊,用于將所述第一圖片流加載于所述第二圖片流之上,構成視頻畫面。10. 根據(jù)權利要求9所述的視頻畫面的繪制裝置,其特征在于,在所述加載模塊之后,所 述裝置還包括: 觸控指令監(jiān)測模塊,用于監(jiān)測所述視頻畫面上的觸控指令,并響應于監(jiān)測到的觸控指 令,將所述第一圖片流或者第二圖片流的位置進行移動。
【文檔編號】H04N21/431GK105916052SQ201510934280
【公開日】2016年8月31日
【申請日】2015年12月15日
【發(fā)明人】成寧, 李英杰, 于水龍, 徐珣
【申請人】樂視致新電子科技(天津)有限公司