本發(fā)明實施例涉及圖像處理技術(shù)領(lǐng)域,具體涉及一種圖像數(shù)據(jù)處理方法及裝置。
背景技術(shù):
隨著計算機圖像技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,通過網(wǎng)絡(luò)進行在線直播授課成為一種新的趨勢。在現(xiàn)有技術(shù)中,通常是在教師端錄制教師授課的圖像,將所述圖像通過網(wǎng)絡(luò)傳輸給學生客戶端,由學生客戶端的播放器播放所述圖像便于學生觀看?,F(xiàn)有技術(shù)中,通常只能夠播放一種視頻源的圖像。若要播放兩種或兩種以上不同視頻源的圖像,由于不同視頻源的圖像幀率不同,會造成兩個圖像播放時一個圖像有數(shù)據(jù),一個圖像沒有數(shù)據(jù),播放效果不好,給用戶造成不好的體驗。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種圖像數(shù)據(jù)處理方法及裝置,可以對兩種或兩種以上不同幀率的圖像數(shù)據(jù)進行處理,獲得更好的播放效果。
為此,本發(fā)明實施例提供如下技術(shù)方案:
一方面,本發(fā)明實施例提供了一種圖像數(shù)據(jù)處理方法,所述方法包括:
采集圖像數(shù)據(jù);其中,所述圖像數(shù)據(jù)至少包括第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù),所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù)的視頻源、幀率均不同;
將所述第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中;
以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù);
合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像。
進一步地,所述從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù)包括:
判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量是否大于1;
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于1時,按照存儲所述第二圖像數(shù)據(jù)的先后順序取出一幀圖像數(shù)據(jù);
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量等于1時,復制所述第二圖像數(shù)據(jù),將復制的所述第二圖像數(shù)據(jù)從第一視頻緩沖區(qū)中取出,使得所述第一視頻緩沖區(qū)中至少保留一幀第二圖像數(shù)據(jù)。
進一步地,所述方法還包括:
當判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于預設(shè)閾值時,刪除最先保存的圖像,使得所述第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不大于預設(shè)閾值;或者,
當經(jīng)過預設(shè)時間后,按照存儲圖像幀的先后順序刪除先保存的圖像;其中,刪除后的第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不小于1幀。
進一步地,所述圖像數(shù)據(jù)還包括第三圖像數(shù)據(jù),所述方法還包括:
將所述第三圖像數(shù)據(jù)存儲在第二視頻緩沖區(qū)中;
以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第三圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第二視頻緩沖區(qū)中獲取一幀第三圖像數(shù)據(jù);
所述合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像包括:
合并獲得的所述第一圖像數(shù)據(jù)、所述第二圖像數(shù)據(jù)和所述第三圖像數(shù)據(jù),生成整合圖像。
進一步地,所述獲取所述第一圖像數(shù)據(jù)包括:
從內(nèi)存直接獲取所述第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù);其中,每個圖層單獨承載各自顯示數(shù)據(jù);
合并已獲取的所述當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù),生成第一圖像。
另一方面,本發(fā)明實施例提供了一種圖像數(shù)據(jù)處理裝置,所述裝置包括:
采集單元,用于采集圖像數(shù)據(jù);其中,所述圖像數(shù)據(jù)至少包括第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù),所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù)的視頻源、幀率均不同;
第一存儲單元,用于將所述第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中;
第一獲取單元,用于以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù);
合并單元,用于合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像。
進一步地,所述第一獲取單元具體用于:
判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量是否大于1;
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于1時,按照存儲所述第二圖像數(shù)據(jù)的先后順序取出一幀圖像數(shù)據(jù);
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量等于1時,復制所述第二圖像數(shù)據(jù),將復制的所述第二圖像數(shù)據(jù)從第一視頻緩沖區(qū)中取出,使得所述第一視頻緩沖區(qū)中至少保留一幀第二圖像數(shù)據(jù)。
本發(fā)明實施例提供的圖像數(shù)據(jù)處理方法及裝置,當處理兩種或兩種以上視頻源不同、幀率不同的圖像數(shù)據(jù)時,以第一圖像數(shù)據(jù)的幀率作為基準幀率,將第二圖像數(shù)據(jù)存儲在視頻緩沖區(qū)中進行緩沖,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù),從而使得在每次取幀合并圖像時,兩種圖像數(shù)據(jù)均能夠取到圖像,從而獲得更好的圖像播放效果。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實施例提供的圖像數(shù)據(jù)處理方法流程圖;
圖2為本發(fā)明一實施例提供的一具體應用場景示意圖;
圖3為本發(fā)明另一實施例提供的圖像數(shù)據(jù)處理裝置示意圖;
圖4為本發(fā)明又一實施例示出的一種用于圖像數(shù)據(jù)處理的裝置的框圖。
具體實施方式
本發(fā)明實施例提供了一種圖像數(shù)據(jù)處理方法及裝置,可以對兩種或兩種以上不同幀率的圖像數(shù)據(jù)進行處理,獲得更好的播放效果。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
參見圖1,為圖1為本發(fā)明一實施例提供的圖像數(shù)據(jù)處理方法流程圖。如圖1所示,所述方法可以包括:
s101,采集圖像數(shù)據(jù)。
其中,所述圖像數(shù)據(jù)至少包括第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù),所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù)的視頻源、幀率均不同。
需要說明的是,本發(fā)明實施例具體實現(xiàn)時,可以對兩種或兩種以上幀率不同的數(shù)據(jù)進行合并處理。下面以兩種為例進行說明,本領(lǐng)域技術(shù)人員可以理解的是,兩種以上幀率不同的數(shù)據(jù)也可以參照這一實施例提供的方法而實現(xiàn)。其中,幀率用于描述每秒采集或者顯示的圖像數(shù)據(jù)的幀數(shù)。
舉例說明,第一圖像數(shù)據(jù)來自第一視頻源,其幀率為第一幀率。第二圖像數(shù)據(jù)來自第二視頻源,其幀率為第二幀率。第一視頻源和第二視頻源不同。第一幀率可以大于第二幀率,也可以小于第二幀率。當?shù)谝粓D像數(shù)據(jù)的幀率大于第二圖像數(shù)據(jù)的幀率,即第一幀率大于第二幀率時,本發(fā)明實施例以第一圖像數(shù)據(jù)的幀率作為基準幀率,對第二圖像數(shù)據(jù)進行補幀處理。當?shù)谝粓D像數(shù)據(jù)的幀率小于第二圖像數(shù)據(jù)的幀率,即第一幀率小于第二幀率時,本發(fā)明實施例以第一圖像數(shù)據(jù)的幀率作為基準幀率,對第二圖像數(shù)據(jù)進行減幀處理。例如,如圖2所示,為本發(fā)明一實施例提供的一具體應用場景示意圖。在圖2中,包括3個顯示區(qū)域,第一顯示區(qū)域為內(nèi)容顯示區(qū),大小為800*600像素;第二顯示區(qū)域為老師視頻錄制頭像,大小為256*192像素;第三顯示區(qū)域為文字互動部分,大小為256*408像素。本發(fā)明實施例中的第一圖像數(shù)據(jù)例如可以是第一顯示區(qū)域內(nèi)的數(shù)據(jù),第二圖像數(shù)據(jù)例如可以是第二顯示區(qū)域中的數(shù)據(jù)。其中,采集第二圖像數(shù)據(jù)為從攝像頭中采集,其幀率可以是5幀/s。采集第一圖像數(shù)據(jù) 的幀率可以是12幀/s。這里,采集第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù)的幀率不同。設(shè)置為不同的幀率可以有效的降低視頻碼率,提高數(shù)據(jù)處理速度。
s102,將所述第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中。
為了保證在獲取圖像時,第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù)均有圖像,本發(fā)明實施例中,將所述第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中進行緩沖。需要說明的是,緩沖(buffer)與緩存(cache)不同。本發(fā)明實施例設(shè)置視頻緩沖區(qū)存儲第二圖像數(shù)據(jù),是為了對第二圖像數(shù)據(jù)進行補幀或者減幀處理。當?shù)诙D像數(shù)據(jù)的幀率小于第一圖像數(shù)據(jù)的幀率時,即利用視頻緩沖區(qū)對第二圖像數(shù)據(jù)進行補幀處理;當?shù)诙D像數(shù)據(jù)的幀率大于第一圖像數(shù)據(jù)的幀率時,即利用視頻緩沖區(qū)對第二圖像數(shù)據(jù)進行減幀處理。第一視頻緩沖區(qū)中緩沖的第二圖像數(shù)據(jù)的幀數(shù)可以預先設(shè)置,例如3幀或者5幀,在此不進行限定,第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)應當至少保留一幀。
s103,以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù)。
需要說明的是,較佳地,在第一視頻緩沖區(qū)中存儲有至少一幀第二圖像數(shù)據(jù)時,才執(zhí)行獲取第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù)的操作。舉例說明,第一圖像數(shù)據(jù)的幀率是12幀/s,以第一圖像數(shù)據(jù)的幀率作為基準幀率獲取第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù),即每秒獲取12幀第一圖像數(shù)據(jù)和12幀第二圖像數(shù)據(jù)。由于預先將第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中進行緩沖,所述第一視頻緩沖區(qū)中存儲有至少一幀第二圖像數(shù)據(jù),因此在每次取圖像數(shù)據(jù)時,均能夠取到第二圖像數(shù)據(jù)。
具體實現(xiàn)時,所述從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù)包括:判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量是否大于1;若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于1時,按照存儲所述第二圖像數(shù)據(jù)的先后順序取出一幀圖像數(shù)據(jù);若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量等于1時,復制所述第二圖像數(shù)據(jù),將復制的所述第二圖像數(shù)據(jù)從第一視頻緩沖區(qū)中取出,使得所述第一視頻緩沖區(qū)中至少保留一幀第二圖像數(shù)據(jù)。舉例說明,若第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于1幀,則按照存儲 圖像的先后順序從前往后取出最先存儲的一幀圖像。若第一視頻緩沖區(qū)中的第二圖像的數(shù)據(jù)為一幀,則復制所述第二圖像數(shù)據(jù),將復制的圖像取出,在緩沖區(qū)中至少保留一幀所述第二圖像,直到緩沖區(qū)中的圖像大于一幀,才會按照存儲圖像幀的先后順序進行取出圖像幀。較佳地,本發(fā)明提供的方法還可以包括實時或者非實時刪除第一視頻緩沖區(qū)中的圖像的步驟。例如,若當判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于預設(shè)閾值時,刪除最先保存的圖像,使得所述第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不大于預設(shè)閾值。需要說明的是,在緩沖區(qū)中可以采取先進先出的原則,當?shù)谝痪彌_區(qū)的圖像大于預設(shè)閾值時,就刪除最先保存的那一幀。這種判斷可以是實時的,也可以是預設(shè)一段時間經(jīng)過后,就刪除若干幀。例如,當判斷經(jīng)過預設(shè)時間后,按照存儲圖像幀的先后順序刪除先保存的圖像;其中,刪除后的第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不小于1幀。其中,預設(shè)時間可以根據(jù)需要設(shè)定,例如2s、3s等。刪除的第二圖像數(shù)據(jù)的數(shù)量可以是預設(shè)值,例如每次刪除固定數(shù)量的第二圖像數(shù)據(jù),只要第一緩沖區(qū)中的圖像數(shù)據(jù)的數(shù)量不小于1幀即可。當然,刪除的第二圖像數(shù)據(jù)的數(shù)量也可以根據(jù)具體的情況進行調(diào)整,例如使得刪除后的第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不大于預設(shè)閾值且不小于1幀。如此動態(tài)調(diào)整視頻緩沖區(qū)中的圖像幀,可以保證在每次取幀組圖時都有圖像,從而滿足了圖像數(shù)據(jù)合成的實時性要求,并改善了圖像播放顯示的效果。
進一步地,本發(fā)明實施例中,所述獲取所述第一圖像數(shù)據(jù)包括:從內(nèi)存直接獲取所述第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù);其中,每個圖層單獨承載各自顯示數(shù)據(jù);合并已獲取的所述當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù),生成第一圖像。需要說明的是,本發(fā)明實施例提供的方法可以應用于第一電子設(shè)備中,所述第一電子設(shè)備具有顯示單元,所述顯示單元上顯示圖像數(shù)據(jù)處理裝置的第一顯示區(qū)域。在所述第一顯示區(qū)域當前內(nèi)容顯示頁面中,可以包括一個或多個圖層,每個圖層單獨承載與其對應的顯示數(shù)據(jù)。所述顯示數(shù)據(jù)包括但不限于圖形、文本、動畫或者視頻等。舉例說明,在所述第一顯示區(qū)域內(nèi),可以顯示第一用戶授課所用的演示文稿powerpoint(以下簡稱ppt),所述ppt以一個圖層單獨承載。較佳地,設(shè)置所述ppt所在的圖層為所有圖 層的最底層,作為背景層呈現(xiàn)。又如,在所述第一顯示區(qū)域內(nèi),可以顯示多媒體元素,例如動畫、視頻、圖片等。當所述顯示數(shù)據(jù)包括視頻時,可以設(shè)置所述視頻所在的圖層為所有圖層的最頂層。這時,視頻所在的圖層以浮層的方式顯示。再如,在所述第一顯示區(qū)域內(nèi),還可以顯示各種圖形,例如物理圖形、數(shù)學圖形。舉例說明,第一用戶可以在ppt上添加注釋、標記、圖畫等,上述任意顯示數(shù)據(jù)均可以由一個單獨的圖層承載。其中,第一顯示區(qū)域內(nèi)的各圖層以疊加的方式顯示。具體地,從內(nèi)存直接獲取所述第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù)可以是:獲取所述當前內(nèi)容顯示頁面的標識,從內(nèi)存中讀取與所述標識對應的各圖層的顯示數(shù)據(jù)。較佳地,圖像處理裝置定時從內(nèi)存中獲取第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù)。具體實現(xiàn)時,可以設(shè)置定時器,以固定的速率或者頻率去內(nèi)存中讀取數(shù)據(jù)。讀取數(shù)據(jù)時,首先獲取第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的標識,從內(nèi)存中讀取與所述當前內(nèi)容顯示頁面的標識對應的各圖層的顯示數(shù)據(jù)。在內(nèi)存中,每一內(nèi)容顯示頁面均有專門的存儲位置用于存儲顯示數(shù)據(jù),內(nèi)容顯示頁面、內(nèi)容顯示頁面的頁面標識與顯示數(shù)據(jù)具有一一對應關(guān)系。根據(jù)內(nèi)容頁面的頁面標識即可以從內(nèi)存中獲取相應的顯示數(shù)據(jù)。由于本發(fā)明實施例是直接從內(nèi)存中獲取顯示數(shù)據(jù),因此不會將其他窗口或者組件的數(shù)據(jù)抓取出來,因此也避免了其他窗口或者組件的遮擋帶來的顯示效果不好的問題。具體實現(xiàn)時,可以定時獲取所述顯示數(shù)據(jù),例如50ms取一次數(shù)據(jù),每秒取12幀圖像。當然,此處僅為示例性說明,還可以設(shè)置其他數(shù)值。在一些實施方式中,從內(nèi)存直接獲取所述第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù)包括:從內(nèi)存直接獲取顯示屬性為顯示的內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù)。在獲取與各圖層對應的顯示數(shù)據(jù)后,即可以將各圖層合并成一張圖像。例如,可以根據(jù)所述各圖層的顯示數(shù)據(jù)的創(chuàng)建順序,合并所述各圖層對應的顯示數(shù)據(jù),生成第一圖像。例如,按照圖層的顯示數(shù)據(jù)的創(chuàng)建順序,把第一顯示區(qū)域內(nèi)的各圖層對應的顯示數(shù)據(jù)渲染成一幅圖像。這是因為,在合并圖層時,需要根據(jù)圖層間的上下位置關(guān)系,例如哪一圖層位于底層,哪一圖層位于頂層,來合并各圖層。舉例說明,可以按照圖層的標號表明的各圖層的創(chuàng)建順序,依次合并各圖層的顯示數(shù)據(jù)。在合并各圖層的顯示數(shù)據(jù)時,若當前圖層如果是透明部分,就透明疊加;若當前圖層不是透 明的,就覆蓋疊加。
s104,合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像。
具體實現(xiàn)時,將第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù)合并成一張圖像。這里是通過拼接的方式將兩個圖形數(shù)據(jù)整合成一張圖像的。例如,先生成一幅空圖,將所述空圖劃分為兩個顯示區(qū)域,例如第一圖像顯示區(qū)域和第二圖像顯示區(qū)域,將第一圖像數(shù)據(jù)放置在第一顯示區(qū)域內(nèi),將第二圖像數(shù)據(jù)放置在第二顯示區(qū)域內(nèi),即可以將兩幀圖像數(shù)據(jù)合并成一幀圖像。
進一步地,在某些實施方式中,本發(fā)明實施例采集的所述圖像數(shù)據(jù)還包括第三圖像數(shù)據(jù),所述方法還包括:將所述第三圖像數(shù)據(jù)存儲在第二視頻緩沖區(qū)中;以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第三圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第二視頻緩沖區(qū)中獲取一幀第三圖像數(shù)據(jù)。則所述合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像包括:合并獲得所述第一圖像數(shù)據(jù)、所述第二圖像數(shù)據(jù)和所述第三圖像數(shù)據(jù),生成整合圖像。舉例說明,以圖2為例,例如第一顯示區(qū)域為內(nèi)容顯示區(qū),用于呈現(xiàn)ppt、多媒體課件等,第二顯示區(qū)域為老師視頻錄制頭像顯示區(qū)域,第三顯示區(qū)域為師生聊天文字顯示區(qū)域。先獲取第一顯示區(qū)域內(nèi)各圖層對應的顯示數(shù)據(jù),利用所述顯示數(shù)據(jù),合并所述第一顯示區(qū)域內(nèi)的各圖層,獲取合并后的第一圖像數(shù)據(jù)。獲取一幀第一圖像數(shù)據(jù),從第一視頻緩沖區(qū)中獲取一幀用戶的視頻頭像(第二圖像數(shù)據(jù))以及從第二視頻緩沖區(qū)中獲取一幀文字互動部分的圖像(第三圖像數(shù)據(jù))。生成一副空圖(大小例如可以是1056*600像素),所述空圖包括第一顯示區(qū)域、第二顯示區(qū)域、第三顯示區(qū)域,將第一圖像數(shù)據(jù)配置在所述第一顯示區(qū)域內(nèi)、用戶的視頻圖像(第二圖像數(shù)據(jù))配置在第二顯示區(qū)域內(nèi)、將文字互動部分的圖像(第三圖像數(shù)據(jù))配置在第三顯示區(qū)域內(nèi),由此即可以拼接成一幅完整的圖像。效果圖如圖2所示。舉例說明,第一顯示區(qū)域可以是內(nèi)容顯示區(qū),大小為800*600像素;第二顯示區(qū)域為老師視頻錄制頭像,大小為256*192像素;第三顯示區(qū)域為文字互動部分,大小為256*408像素。需要說明的是,以上僅為示例性的說明,不視為對本發(fā)明的限制。
更進一步地,本發(fā)明實施例提供的方法還包括:利用所述整合圖像以及音頻數(shù)據(jù)生成流媒體數(shù)據(jù),發(fā)送所述流媒體數(shù)據(jù)。具體實現(xiàn)時,將所述整合圖像 以及相應的音頻數(shù)據(jù)一起輸入編碼器進行編碼處理,生成流媒體數(shù)據(jù)。具體編碼處理的方式可以采用現(xiàn)有技術(shù)提供的方法。
在另外一些實施方式中,所述音頻數(shù)據(jù)包括第一音頻數(shù)據(jù)和第二音頻數(shù)據(jù),所述第一音頻數(shù)據(jù)和所述第二音頻數(shù)據(jù)的音頻源不同,所述方法還包括:對所述第一音頻數(shù)據(jù)和所述第二音頻數(shù)據(jù)進行混音處理。舉例說明,第一音頻數(shù)據(jù)可以是第一用戶(例如教師)授課時的聲音,其音頻源為麥克風。第二音頻數(shù)據(jù)可以是播放的其他視頻文件。本發(fā)明實施例可以通過解碼其他視頻文件,并截獲所述視頻文件的聲音,獲得所述聲音的原始數(shù)據(jù)。這樣,將第一音頻數(shù)據(jù)和第二音頻數(shù)據(jù)進行混音處理,形成新的音頻數(shù)據(jù)。更進一步的,在解碼其他視頻文件的音頻后,一路音頻通過揚聲器播放出來,一路音頻則發(fā)送到混音設(shè)備中,與通過麥克風采集的老師音頻一起通過混音器進行混音處理,然后編碼、壓縮,發(fā)送至第二電子設(shè)備?;煲籼幚淼木唧w流程為:對第一音頻數(shù)據(jù)a和所述第二音頻數(shù)據(jù)b進行重采樣處理,然后對第一音頻數(shù)據(jù)的采樣數(shù)據(jù)、第二音頻數(shù)據(jù)的采樣數(shù)據(jù)進行加權(quán)處理,得到混合后的音頻數(shù)據(jù)c。其中,c=a*x1+b*x2。x1,x2是加權(quán)系數(shù),大小可以根據(jù)需要設(shè)置。通過調(diào)整加權(quán)系數(shù)x1,x2的大小,可以獲得不同的播放效果。
而后,對整合圖像和音頻數(shù)據(jù)編碼生成流媒體數(shù)據(jù)后,即可以發(fā)送給相應的設(shè)備。
在本發(fā)明實施例中,當處理兩種或兩種以上視頻源不同、幀率不同的圖像數(shù)據(jù)時,以第一圖像數(shù)據(jù)的幀率作為基準幀率,將第二圖像數(shù)據(jù)存儲在視頻緩沖區(qū)中進行緩沖,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù),從而使得在每次取幀合并圖像時,兩種圖像數(shù)據(jù)均能夠取到圖像,從而獲得更好的圖像播放效果。
參見圖3為本發(fā)明另一實施例提供的圖像數(shù)據(jù)處理裝置示意圖。
一種圖像數(shù)據(jù)處理裝置300,所述裝置包括:
采集單元301,用于采集圖像數(shù)據(jù);其中,所述圖像數(shù)據(jù)至少包括第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù),所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù)的視頻源、幀率均不同。
第一存儲單元302,用于將所述第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中。
第一獲取單元303,用于以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù)。
合并單元304,用于合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像。
進一步地,第一獲取單元具體用于:
判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量是否大于1;
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于1時,按照存儲所述第二圖像數(shù)據(jù)的先后順序取出一幀圖像數(shù)據(jù);
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量等于1時,復制所述第二圖像數(shù)據(jù),將復制的所述第二圖像數(shù)據(jù)從第一視頻緩沖區(qū)中取出,使得所述第一視頻緩沖區(qū)中至少保留一幀第二圖像數(shù)據(jù)。
進一步地,所述裝置還包括:
第一刪除單元,用于當判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于預設(shè)閾值時,刪除最先保存的圖像,使得所述第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不大于預設(shè)閾值;或者,
第二刪除單元,用于當經(jīng)過預設(shè)時間后,按照存儲圖像幀的先后順序刪除先保存的圖像;其中,刪除后的第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不小于1幀。
進一步地,所述采集單元采集的所述圖像數(shù)據(jù)還包括第三圖像數(shù)據(jù),所述裝置還包括:
第二存儲單元,用于將所述第三圖像數(shù)據(jù)存儲在第二視頻緩沖區(qū)中;
第二獲取單元,用于以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第三圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第二視頻緩沖區(qū)中獲取一幀第三圖像數(shù)據(jù);
所述合并單元具體用于;
合并獲得所述第一圖像數(shù)據(jù)、所述第二圖像數(shù)據(jù)和所述第三圖像數(shù)據(jù),生成整合圖像。
進一步地,所述第一獲取單元具體用于:
從內(nèi)存直接獲取所述第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù);其中,每個圖層單獨承載各自顯示數(shù)據(jù);合并已獲取的所述當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù),生成第一圖像。
進一步地,所述裝置還包括:
發(fā)送單元,用于利用所述整合圖像以及音頻數(shù)據(jù)生成流媒體數(shù)據(jù),發(fā)送所述流媒體數(shù)據(jù)。
進一步地,所述裝置還包括:
混音單元,當所述音頻數(shù)據(jù)包括第一音頻數(shù)據(jù)和第二音頻數(shù)據(jù),所述第一音頻數(shù)據(jù)和所述第二音頻數(shù)據(jù)的音頻源不同時,對所述第一音頻數(shù)據(jù)和所述第二音頻數(shù)據(jù)進行混音處理。
參見圖4,為本發(fā)明再一實施例提供的圖像數(shù)據(jù)處理裝置示意圖。
圖4描述了本發(fā)明另一個實施例提供的圖像數(shù)據(jù)處理裝置的結(jié)構(gòu),包括至少一個處理器401(例如cpu),存儲器402和至少一個通信總線403,用于實現(xiàn)這些裝置之間的連接通信。處理器401用于執(zhí)行存儲器402中存儲的可執(zhí)行模塊,例如計算機程序。存儲器402可能包含高速隨機存取存儲器(ram:randomaccessmemory),也可能還包括非不穩(wěn)定的存儲器(non-volatilememory),例如至少一個磁盤存儲器。一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器401執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
采集圖像數(shù)據(jù);其中,所述圖像數(shù)據(jù)至少包括第一圖像數(shù)據(jù)和第二圖像數(shù)據(jù),所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù)的視頻源、幀率均不同;
將所述第二圖像數(shù)據(jù)存儲在第一視頻緩沖區(qū)中;
以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第一視頻緩沖區(qū)中獲取一幀第二圖像數(shù)據(jù);
合并獲取的所述第一圖像數(shù)據(jù)和所述第二圖像數(shù)據(jù),生成整合圖像。
在一些實施方式中,處理器401具體用于執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量是否大于1;
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于1時,按照存儲所述第二圖像數(shù)據(jù)的先后順序取出一幀圖像數(shù)據(jù);
若判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量等于1時,復制所述第二圖像數(shù)據(jù),將復制的所述第二圖像數(shù)據(jù)從第一視頻緩沖區(qū)中取出,使得所述第一視頻緩沖區(qū)中至少保留一幀第二圖像數(shù)據(jù)。
在一些實施方式中,處理器401具體用于執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
當判斷所述第一視頻緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量大于預設(shè)閾值時,刪除最先保存的圖像,使得所述第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不大于預設(shè)閾值;或者,
當經(jīng)過預設(shè)時間后,按照存儲圖像幀的先后順序刪除先保存的圖像;其中,刪除后的第一緩沖區(qū)中的第二圖像數(shù)據(jù)的數(shù)量不小于1幀。
在一些實施方式中,處理器401具體用于執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
將所述第三圖像數(shù)據(jù)存儲在第二視頻緩沖區(qū)中;
以所述第一圖像數(shù)據(jù)的幀率作為基準幀率獲取所述第三圖像數(shù)據(jù);其中,每獲取一幀第一圖像數(shù)據(jù),從所述第二視頻緩沖區(qū)中獲取一幀第三圖像數(shù)據(jù);
合并獲得所述第一圖像數(shù)據(jù)、所述第二圖像數(shù)據(jù)和所述第三圖像數(shù)據(jù),生成整合圖像。
在一些實施方式中,處理器401具體用于執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
從內(nèi)存直接獲取所述第一顯示區(qū)域內(nèi)當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù);其中,每個圖層單獨承載各自顯示數(shù)據(jù);
合并已獲取的所述當前內(nèi)容顯示頁面的各圖層的顯示數(shù)據(jù),生成第一圖像。
在一些實施方式中,處理器401具體用于執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
利用所述整合圖像以及對應的音頻數(shù)據(jù)生成流媒體數(shù)據(jù),發(fā)送所述流媒體數(shù)據(jù)。
在一些實施方式中,處理器401具體用于執(zhí)行所述一個或者一個以上程序包含用于進行以下操作的指令:
當所述音頻數(shù)據(jù)包括第一音頻數(shù)據(jù)和第二音頻數(shù)據(jù),所述第一音頻數(shù)據(jù)和所述第二音頻數(shù)據(jù)的音頻源不同時,對所述第一音頻數(shù)據(jù)和所述第二音頻數(shù)據(jù)進行混音處理。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本發(fā)明旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存 儲介質(zhì)中。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上所述僅是本發(fā)明的具體實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。