一種視頻處理方法和相關(guān)裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種視頻處理方法和相關(guān)裝置,保證用戶視頻通話的實(shí)時(shí)性。方法包括:從緩沖隊(duì)列中提取出第i幀視頻圖像;計(jì)算第i幀視頻圖像和第(i-1)幀視頻圖像之間的第i幀采集間隔,第(i-1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之前從緩沖隊(duì)列中提取出的視頻圖像;計(jì)算第i幀視頻圖像從放入緩沖隊(duì)列到提取出緩沖隊(duì)列的第i幀等待時(shí)間;根據(jù)第i幀等待時(shí)間和第(i-1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間;根據(jù)第i幀動(dòng)態(tài)平均等待時(shí)間、第i幀采集間隔和預(yù)置的等待時(shí)延獲取第i幀播放間隔;判斷從第(i-1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于第i幀播發(fā)間隔;若否,在當(dāng)前時(shí)間播放第i幀視頻圖像。
【專(zhuān)利說(shuō)明】一種視頻處理方法和相關(guān)裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻控制【技術(shù)領(lǐng)域】,尤其涉及一種視頻處理方法和相關(guān)裝置。
【背景技術(shù)】
[0002] 目前隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展和手機(jī)終端的日益普及,越來(lái)越多的用戶在手機(jī)終 端上安裝視頻通話軟件等應(yīng)用程序,通過(guò)視頻通話軟件實(shí)現(xiàn)在通話時(shí)能夠?qū)崟r(shí)顯示對(duì)方的 視頻圖像。
[0003] 作為接收端一側(cè)的手機(jī)終端,通過(guò)網(wǎng)絡(luò)能夠接收到發(fā)送端發(fā)送的視頻圖像。接收 端在接收到視頻圖像之后,通過(guò)可以按照以下兩種方法進(jìn)行播放:
[0004] ( 1)、接收端從網(wǎng)絡(luò)接收到一幀視頻圖像就可以立刻播放該幀的視頻圖像。
[0005] (2)、接收端從網(wǎng)絡(luò)接收到視頻圖像后并不立刻播放,而是預(yù)先對(duì)固定幀數(shù)的視頻 圖像進(jìn)行一次緩沖,然后將緩存中的視頻圖像按照采集間隔進(jìn)行播放,例如每次預(yù)先對(duì)3 個(gè)幀的視頻圖像進(jìn)行緩沖,然后再按照采集間隔進(jìn)行播放。
[0006] 本發(fā)明的發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn):現(xiàn)有技術(shù)(1)和現(xiàn)有技術(shù)(2)分別 存在如下技術(shù)缺陷:
[0007] 對(duì)于現(xiàn)有技術(shù)(1),由于從網(wǎng)絡(luò)接收到一幀視頻圖像后立刻播放該幀視頻圖像,當(dāng) 網(wǎng)絡(luò)存在時(shí)延時(shí),視頻圖像的播放就會(huì)產(chǎn)生抖動(dòng),隨著網(wǎng)絡(luò)時(shí)延的變化播放視頻圖像就會(huì) 出現(xiàn)時(shí)快時(shí)慢,影響用戶的視頻通話體驗(yàn)。
[0008] 對(duì)于現(xiàn)有技術(shù)(2),如果預(yù)先對(duì)固定幀數(shù)的視頻圖像進(jìn)行緩沖,則由于無(wú)法及時(shí)準(zhǔn) 確的獲知當(dāng)前網(wǎng)絡(luò)的擁堵情況,通常需要提前設(shè)定的固定幀數(shù)值很難精確的選取,故緩沖 的幀數(shù)大小也無(wú)法精確匹配當(dāng)前網(wǎng)絡(luò)的時(shí)延狀況。并且預(yù)先緩存固定幀數(shù)的視頻再按照采 集間隔來(lái)播放,會(huì)引入較大的累計(jì)時(shí)延,影響用戶視頻通話的實(shí)時(shí)性。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明實(shí)施例提供了一種視頻處理方法和相關(guān)裝置,用于根據(jù)網(wǎng)絡(luò)的時(shí)延狀況動(dòng) 態(tài)調(diào)整當(dāng)前幀視頻圖像的播放時(shí)間,保證用戶視頻通話的實(shí)時(shí)性。
[0010] 為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供以下技術(shù)方案:
[0011] 第一方面,本發(fā)明實(shí)施例提供一種視頻處理方法,包括:
[0012] 從緩沖隊(duì)列中提取出第i幀視頻圖像,其中,所述i為自然數(shù);
[0013] 計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第i幀采集間隔,所述 第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之前從所述緩沖隊(duì)列中提取 出的視頻圖像;
[0014] 計(jì)算所述第i幀視頻圖像從放入所述緩沖隊(duì)列到提取出所述緩沖隊(duì)列的第i幀等 待時(shí)間;
[0015] 根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均 等待時(shí)間;
[0016] 根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí)間、所述第i幀采集間隔和預(yù)置的等待時(shí)延獲取 第i幀播放間隔;
[0017] 判斷從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于所述第i幀播 發(fā)間隔;
[0018] 若否,在所述當(dāng)前時(shí)間播放所述第i幀視頻圖像。
[0019] 第二方面,本發(fā)明實(shí)施例還提供一種視頻處理裝置,包括:
[0020] 提取模塊,用于從緩沖隊(duì)列中提取出第i幀視頻圖像,其中,所述i為自然數(shù);
[0021] 采集間隔計(jì)算模塊,用于計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間 的第i幀采集間隔,所述第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之 前從所述緩沖隊(duì)列中提取出的視頻圖像;
[0022] 第一時(shí)間計(jì)算模塊,用于計(jì)算所述第i幀視頻圖像從放入所述緩沖隊(duì)列到提取出 所述緩沖隊(duì)列的第i幀等待時(shí)間;
[0023] 第二時(shí)間計(jì)算模塊,用于根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待 時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間;
[0024] 獲取模塊,用于根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí)間、所述第i幀采集間隔和預(yù)置的 等待時(shí)延獲取第i幀播放間隔;
[0025] 判斷模塊,用于判斷從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小 于所述第i幀播發(fā)間隔;
[0026] 播放模塊,用于當(dāng)從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者 等于所述第i幀播發(fā)間隔時(shí),在所述當(dāng)前時(shí)間播放所述第i幀視頻圖像。
[0027] 從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0028] 在本發(fā)明實(shí)施例中,首先從緩沖隊(duì)列中提出第i幀視頻圖像,然后計(jì)算第i幀視頻 圖像和第(i 一 1)幀視頻圖像之間的第i幀采集間隔,計(jì)算第i幀視頻圖像從放入上述緩沖 隊(duì)列到提取出上述緩沖隊(duì)列的第i幀等待時(shí)間,基于第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平 均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間,之后根據(jù)上述第i幀動(dòng)態(tài)平均等待時(shí)間、上述第 i幀采集間隔和預(yù)置的等待時(shí)延獲取第i幀播放間隔,接下來(lái)判斷從第(i 一 1)幀視頻圖像 播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于上述第i幀播發(fā)間隔,若否,在當(dāng)前時(shí)間播放從緩沖隊(duì)列 中提取出的第i幀視頻圖像。由于本發(fā)明實(shí)施例中針對(duì)各個(gè)幀視頻圖像可以根據(jù)動(dòng)態(tài)等待 時(shí)間、采集間隔和預(yù)置的等待時(shí)延來(lái)設(shè)定各個(gè)幀的當(dāng)前播發(fā)間隔,故可以根據(jù)動(dòng)態(tài)等待時(shí) 間獲知當(dāng)前網(wǎng)絡(luò)的時(shí)延狀況,通過(guò)對(duì)各個(gè)幀的當(dāng)前播發(fā)間隔的設(shè)定可以自適應(yīng)的確定當(dāng)前 幀視頻圖像的緩沖時(shí)間,從而使視頻圖像播放實(shí)現(xiàn)平滑顯示,保證視頻圖像播放的穩(wěn)定性; 并且設(shè)定好播發(fā)間隔后,對(duì)從上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)與設(shè)定的播發(fā)間隔進(jìn) 行判斷,在上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或等于設(shè)定的播發(fā)間隔時(shí),在當(dāng)前 時(shí)間就開(kāi)始播放當(dāng)前幀視頻圖像,可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí)間進(jìn)行動(dòng)態(tài)調(diào)整, 以保證對(duì)接收到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0029] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域的技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。
[0030] 圖1為本發(fā)明實(shí)施例提供的一種視頻處理方法的流程方框示意圖;
[0031] 圖2為本發(fā)明實(shí)施例提供的另一種視頻處理方法的流程方框示意圖;
[0032] 圖3為本發(fā)明實(shí)施例提供的另一種視頻處理方法的流程方框示意圖;
[0033] 圖4_a為本發(fā)明實(shí)施例提供的一種視頻處理裝置的組成結(jié)構(gòu)示意圖;
[0034] 圖4_b為本發(fā)明實(shí)施例提供的另一種視頻處理裝置的組成結(jié)構(gòu)示意圖;
[0035] 圖5為本發(fā)明實(shí)施例提供的視頻處理方法應(yīng)用于終端的組成結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0036] 本發(fā)明實(shí)施例提供了一種視頻處理方法和相關(guān)裝置,用于根據(jù)網(wǎng)絡(luò)的時(shí)延狀況動(dòng) 態(tài)調(diào)整當(dāng)前幀視頻圖像的播放時(shí)間,保證用戶視頻通話的實(shí)時(shí)性。
[0037] 為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明 實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述 的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域的 技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0038] 本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)"第一"、"第二"等是用于區(qū)別 類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的術(shù)語(yǔ)在適當(dāng)情 況下可以互換,這僅僅是描述本發(fā)明的實(shí)施例中對(duì)相同屬性的對(duì)象在描述時(shí)所采用的區(qū)分 方式。此外,術(shù)語(yǔ)"包括"和"具有"以及他們的任何變形,意圖在于覆蓋不排他的包含,以 便包含一系列單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒(méi)有清 楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它單元。
[0039] 以下分別進(jìn)行詳細(xì)說(shuō)明。
[0040] 本發(fā)明視頻圖像處理方法的一個(gè)實(shí)施例,可以包括:從緩沖隊(duì)列中提取出第i幀 視頻圖像,其中,上述i為自然數(shù);計(jì)算上述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間 的第i幀采集間隔,上述第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之 前從上述緩沖隊(duì)列中提取出的視頻圖像;計(jì)算上述第i幀視頻圖像從放入上述緩沖隊(duì)列到 提取出上述緩沖隊(duì)列的第i幀等待時(shí)間;根據(jù)上述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平 均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間;根據(jù)上述第i幀動(dòng)態(tài)平均等待時(shí)間、上述第i幀 采集間隔和預(yù)置的等待時(shí)延獲取第i幀播放間隔;判斷從上述第(i 一 1)幀視頻圖像播放 到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于上述第i幀播發(fā)間隔;若否,在上述當(dāng)前時(shí)間播放上述第i幀視 頻圖像。
[0041] 請(qǐng)參閱圖1所示,本發(fā)明一個(gè)實(shí)施例提供的視頻圖像處理方法,可以包括:
[0042] 101、從緩沖隊(duì)列中提取出第i幀視頻圖像。
[0043] 其中,上述i為自然數(shù)。
[0044] 在本發(fā)明實(shí)施例中,緩沖隊(duì)列用于存放接收端通過(guò)網(wǎng)絡(luò)接收到的視頻圖像。在緩 沖隊(duì)列中可以僅存放一個(gè)幀的視頻圖像,也可以存放多個(gè)幀的視頻圖像,這取決于發(fā)送端 采集到視頻圖像的采集間隔和網(wǎng)絡(luò)的時(shí)延狀況。另外,本發(fā)明實(shí)施例中從緩沖隊(duì)列中提取 出一個(gè)幀的視頻圖像,為了便于描述當(dāng)前幀視頻圖像以及當(dāng)前幀之前的視頻圖像,將從緩 沖隊(duì)列中提取出的當(dāng)前幀的視頻圖像定義為第i幀視頻圖像,將當(dāng)前幀之前的視頻圖像定 義為第(i 一 1)幀視頻圖像,其中,i定義為自然數(shù),i、i 一 1等僅用于表示當(dāng)前幀以及當(dāng)前 幀之前的一個(gè)幀,當(dāng)然也可以定義其它類(lèi)型的變量來(lái)代替上述含義,例如用s、t (s、t滿足 關(guān)系為:s = t + 1)等也可以表示當(dāng)前幀以及當(dāng)前幀之前的一個(gè)幀。
[0045] 在本發(fā)明的一些實(shí)施例中,從緩沖隊(duì)列中提取出第i幀視頻圖像之前,緩沖隊(duì)列 中存放的視頻圖像可以通過(guò)如下方式實(shí)現(xiàn):通過(guò)網(wǎng)絡(luò)接收發(fā)送端發(fā)送的視頻圖像;每接收 到一幀視頻圖像,就將接收到的視頻圖像放入上述緩沖隊(duì)列中。也就是說(shuō),作為接收端通過(guò) 網(wǎng)絡(luò)每接收到發(fā)送端發(fā)送的一幀視頻圖像,就將該幀視頻圖像放入緩沖隊(duì)列中。其中,一幀 視頻圖像放入緩沖隊(duì)列時(shí)都會(huì)生成一個(gè)放入時(shí)間,當(dāng)該幀視頻圖像從緩沖隊(duì)列中提取出時(shí) 也會(huì)生成一個(gè)提取時(shí)間。另外,每個(gè)幀的視頻圖像從發(fā)送端發(fā)出時(shí),發(fā)送端就會(huì)在視頻圖像 的屬性信息中指明采集時(shí)間戳,采集時(shí)間戳用于表示一個(gè)幀的視頻圖像生成的時(shí)間。
[0046] 在本發(fā)明的一些實(shí)施例中,當(dāng)上述緩沖隊(duì)列中包括有多個(gè)幀的視頻圖像時(shí),可以 從上述多個(gè)幀的視頻圖像中選取最早放入上述緩沖隊(duì)列中的視頻圖像;將上述最早放入上 述緩沖隊(duì)列中的視頻圖像作為上述第i幀視頻圖像從上述緩沖隊(duì)列中提取出。其中,每個(gè) 幀的視頻圖像放入緩沖隊(duì)列時(shí)都會(huì)生成一個(gè)放入時(shí)間,通過(guò)放入時(shí)間就可以獲知緩沖隊(duì)列 中存儲(chǔ)的多個(gè)幀的視頻圖像中哪個(gè)幀的視頻圖像時(shí)最早放入緩沖隊(duì)列中了。在本發(fā)明的一 些實(shí)施例中,從緩沖隊(duì)列中提取視頻圖像可以遵循"先進(jìn)先出"的原則,即當(dāng)從緩沖隊(duì)列中 提取視頻圖像時(shí)最先放入緩沖隊(duì)列的視頻圖像需要優(yōu)先被提取出。
[0047] 需要說(shuō)明的是,本發(fā)明實(shí)施例中通過(guò)步驟101以及后續(xù)的多個(gè)步驟描述的是從緩 沖隊(duì)列中提取到第i幀視頻圖像以及對(duì)第i幀視頻圖像的處理過(guò)程,最后實(shí)現(xiàn)第i幀視頻 圖像的播放,這在本發(fā)明的視頻圖像處理過(guò)程中只是其中一個(gè)循環(huán)的實(shí)現(xiàn)方式,那么對(duì)于 緩沖隊(duì)列中的第(i 一 1)幀視頻圖像以及第(i 一 2)幀視頻圖像都是按照對(duì)第i幀視頻圖 像的處理過(guò)程進(jìn)行循環(huán)處理的,當(dāng)然對(duì)于緩沖隊(duì)列中的第(i + 1)幀視頻圖像同樣可以按 照相類(lèi)似的處理過(guò)程進(jìn)行循環(huán)執(zhí)行,為了便于理解,本發(fā)明實(shí)施例中僅以對(duì)第i幀視頻圖 像的處理過(guò)程為例進(jìn)行說(shuō)明。
[0048] 102、計(jì)算上述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第i幀采集間隔。
[0049] 其中,上述第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之前從 上述緩沖隊(duì)列中提取出的視頻圖像。
[0050] 在本發(fā)明實(shí)施例中,第(i 一 1)幀視頻圖像是指在對(duì)第i幀視頻圖像進(jìn)行視頻圖 像處理之前的上一次視頻圖像處理過(guò)程中獲取的視頻圖像,為了便于描述上一幀視頻圖像 與當(dāng)前幀視頻圖像之間的先后關(guān)系,定義為第(i 一 1)幀視頻圖像。
[0051] 需要說(shuō)明的是,現(xiàn)有技術(shù)中通過(guò)預(yù)先緩存固定幀數(shù)的視頻再按照采集間隔來(lái)播 放,當(dāng)預(yù)先緩存的幀數(shù)越多時(shí),會(huì)引入較大的累計(jì)時(shí)延,并且當(dāng)網(wǎng)絡(luò)的時(shí)延較大時(shí),也會(huì)引 入較大的累計(jì)時(shí)延,影響用戶視頻通話的實(shí)時(shí)性。而本發(fā)明實(shí)施例中計(jì)算采集間隔之后,并 不是按照采集間隔直接對(duì)第i幀視頻圖像進(jìn)行播放,而是將采集間隔作為設(shè)定第i幀播放 間隔的生成條件,此處僅作說(shuō)明。
[0052] 103、計(jì)算上述第i幀視頻圖像從放入上述緩沖隊(duì)列到提取出上述緩沖隊(duì)列的第i 中貞等待時(shí)間。
[0053] 在本發(fā)明實(shí)施例中,一幀視頻圖像放入緩沖隊(duì)列時(shí)都會(huì)生成一個(gè)放入時(shí)間,當(dāng)該 幀視頻圖像從緩沖隊(duì)列中提取出時(shí)也會(huì)生成一個(gè)提取時(shí)間,故通過(guò)提取時(shí)間和放入時(shí)間之 間的差值就可以得到該幀在緩沖隊(duì)列中的等待時(shí)間了。通過(guò)第i幀等待時(shí)間可以得到第i 幀視頻圖像在上述緩沖隊(duì)列中的等待時(shí)間,從而可以當(dāng)前網(wǎng)絡(luò)的時(shí)延狀況,因?yàn)槿舻趇幀 等待時(shí)間越小表示當(dāng)前網(wǎng)絡(luò)的時(shí)延也較小,若第i幀等待時(shí)間越大表示當(dāng)前網(wǎng)絡(luò)的時(shí)延也 較大。
[0054] 104、根據(jù)上述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài) 平均等待時(shí)間。
[0055] 在本發(fā)明實(shí)施例中,對(duì)于第i幀視頻圖像執(zhí)行了步驟101至104可以計(jì)算出第i 幀動(dòng)態(tài)平均等待時(shí)間,這是對(duì)第i幀視頻圖像的處理過(guò)程,同樣的,對(duì)第(i 一 1)幀視頻圖像 也可以計(jì)算出第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間,那么只需要在初始的時(shí)候賦值一個(gè)動(dòng)態(tài)平 均等待時(shí)間,就可以通過(guò)多次的迭代更新,計(jì)算出第(i 一 2)幀動(dòng)態(tài)平均等待時(shí)間、第(i 一 3)幀動(dòng)態(tài)平均等待時(shí)間等等。例如,當(dāng)i取值1時(shí)需要初始化一個(gè)動(dòng)態(tài)平均等待時(shí)間,則 根據(jù)第1幀等待時(shí)間和初始的動(dòng)態(tài)平均等待時(shí)間就可以計(jì)算出第1幀動(dòng)態(tài)平均等待時(shí)間, 當(dāng)i取值為2時(shí),就可以根據(jù)第2幀等待時(shí)間和第1幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第2幀動(dòng)態(tài) 平均等待時(shí)間。
[0056] 本發(fā)明實(shí)施例中,通過(guò)第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間就可以 初步的獲取當(dāng)前網(wǎng)絡(luò)的時(shí)延發(fā)展趨勢(shì),從而計(jì)算出第i巾貞動(dòng)態(tài)平均等待時(shí)間,通過(guò)第i巾貞動(dòng) 態(tài)平均等待時(shí)間就可以獲知當(dāng)前網(wǎng)絡(luò)的時(shí)延狀況。通過(guò)這種基于當(dāng)前幀等待時(shí)間和當(dāng)前幀 之前的幀的動(dòng)態(tài)平均等待時(shí)間可以描述出當(dāng)前網(wǎng)絡(luò)的時(shí)延發(fā)展趨勢(shì),將計(jì)算出的第i幀動(dòng) 態(tài)平均等待時(shí)間作為計(jì)算第i幀播發(fā)間隔的輸入?yún)?shù),可以使得第i幀播發(fā)間隔的設(shè)定更 能夠符合當(dāng)前網(wǎng)絡(luò)的時(shí)延狀況。
[0057] 105、根據(jù)上述第i幀動(dòng)態(tài)平均等待時(shí)間、上述第i幀采集間隔和預(yù)置的等待時(shí)延 獲取第i幀播放間隔。
[0058] 在發(fā)明的實(shí)施例中,預(yù)置的等待時(shí)延作為計(jì)算第i幀播放間隔的輸入?yún)?shù),用于 表示用戶能夠容忍的等待時(shí)間門(mén)限以及作為接收端的移動(dòng)設(shè)備的硬件性能對(duì)設(shè)定第i幀 播放間隔的影響,在具體設(shè)定等待時(shí)延的值可以根據(jù)用戶能夠容忍的等待時(shí)間門(mén)限以及作 為接收端的移動(dòng)設(shè)備的硬件性能來(lái)設(shè)定,即若移動(dòng)設(shè)備的硬件性能較好,就可以將等待時(shí) 延的值設(shè)定的小一些,若用戶能夠容忍的等待時(shí)延門(mén)限較大,就可以將等待時(shí)延的值設(shè)定 的大一些。
[0059] 106、判斷從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于上述第i 中貞播發(fā)間隔。
[0060] 其中,從第(i 一 1)幀視頻圖像播放時(shí)開(kāi)始計(jì)時(shí)直到當(dāng)前時(shí)間,得到所經(jīng)過(guò)的時(shí)間 長(zhǎng)度(即時(shí)長(zhǎng)),判斷該時(shí)長(zhǎng)與第i幀播發(fā)間隔的大小關(guān)系,若從上述第(i 一 1)幀視頻圖像 播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于上述第i幀播發(fā)間隔,觸發(fā)步驟107開(kāi)始執(zhí)行。
[0061] 在本發(fā)明的一些實(shí)施例中,若從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí) 長(zhǎng)小于上述第i幀播發(fā)間隔,則說(shuō)明第i幀視頻圖像的等待播放的時(shí)間還沒(méi)有超過(guò)第i幀 播發(fā)間隔,為了保證視頻圖像能夠平滑顯示,還可以繼續(xù)等待,直到從上述第(i 一 1)幀視 頻圖像播放開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為上述第i幀播發(fā)間隔的時(shí)刻到達(dá)時(shí),播放上述第i幀視頻圖 像。
[0062] 107、當(dāng)從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于上述第 i幀播發(fā)間隔時(shí),在上述當(dāng)前時(shí)間播放上述第i幀視頻圖像。
[0063] 其中,當(dāng)從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于上述 第i幀播發(fā)間隔時(shí),則說(shuō)明,第i幀視頻圖像的等待播放的時(shí)間已經(jīng)超過(guò)第i幀播發(fā)間隔 了,需要立刻播放第i幀視頻圖像,故本發(fā)明實(shí)施例可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí) 間進(jìn)行動(dòng)態(tài)調(diào)整,以保證對(duì)接收到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
[0064] 需要說(shuō)明的是,本發(fā)明實(shí)施例中通過(guò)前述步驟101至107描述了對(duì)緩沖隊(duì)列中提 取到第i幀視頻圖像的處理過(guò)程,當(dāng)完成對(duì)第i幀視頻圖像的處理之后,繼續(xù)觸發(fā)步驟101 至107開(kāi)始執(zhí)行,不同之處在于,從緩沖隊(duì)列中提取的第(i + 1)幀視頻圖像,也就是說(shuō)需 要對(duì)步驟101中107中出現(xiàn)的i進(jìn)行迭代更新,替換為(i + 1),并且對(duì)第(i + 1)幀視頻 圖像處理完成之后,繼續(xù)讀取第(i + 2)幀視頻圖像,由此實(shí)現(xiàn)連續(xù)對(duì)視頻圖像的處理。
[0065] 由上可知,首先從緩沖隊(duì)列中提出第i幀視頻圖像,然后計(jì)算第i幀視頻圖像和第 (i 一 1)幀視頻圖像之間的第i幀采集間隔,計(jì)算第i幀視頻圖像從放入上述緩沖隊(duì)列到提 取出上述緩沖隊(duì)列的第i幀等待時(shí)間,基于第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí) 間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間,之后根據(jù)上述第i幀動(dòng)態(tài)平均等待時(shí)間、上述第i幀采集 間隔和預(yù)置的等待時(shí)延獲取第i幀播放間隔,接下來(lái)判斷從第(i 一 1)幀視頻圖像播放到當(dāng) 前時(shí)間的時(shí)長(zhǎng)是否小于上述第i幀播發(fā)間隔,若否,在當(dāng)前時(shí)間播放從緩沖隊(duì)列中提取出 的第i幀視頻圖像。由于本發(fā)明實(shí)施例中針對(duì)各個(gè)幀視頻圖像可以根據(jù)動(dòng)態(tài)等待時(shí)間、采 集間隔和預(yù)置的等待時(shí)延來(lái)設(shè)定各個(gè)幀的當(dāng)前播發(fā)間隔,故可以根據(jù)動(dòng)態(tài)等待時(shí)間獲知當(dāng) 前網(wǎng)絡(luò)的時(shí)延狀況,通過(guò)對(duì)各個(gè)幀的當(dāng)前播發(fā)間隔的設(shè)定可以自適應(yīng)的確定當(dāng)前幀視頻圖 像的緩沖時(shí)間,從而使視頻圖像播放實(shí)現(xiàn)平滑顯示,保證視頻圖像播放的穩(wěn)定性;并且設(shè)定 好播發(fā)間隔后,對(duì)從上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)與設(shè)定的播發(fā)間隔進(jìn)行判斷, 在上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或等于設(shè)定的播發(fā)間隔時(shí),在當(dāng)前時(shí)間就開(kāi) 始播放當(dāng)前幀視頻圖像,可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí)間進(jìn)行動(dòng)態(tài)調(diào)整,以保證對(duì) 接收到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
[0066] 請(qǐng)參閱圖2所示,本發(fā)明另一個(gè)實(shí)施例提供的視頻圖像處理方法,可以包括:
[0067] 201、從緩沖隊(duì)列中提取出第i幀視頻圖像。
[0068] 其中,上述i為自然數(shù)。
[0069] 在本發(fā)明實(shí)施例中,緩沖隊(duì)列用于存放接收端通過(guò)網(wǎng)絡(luò)接收到的視頻圖像。在緩 沖隊(duì)列中可以僅存放一個(gè)幀的視頻圖像,也可以存放多個(gè)幀的視頻圖像,這取決于發(fā)送端 采集到視頻圖像的采集間隔和網(wǎng)絡(luò)的時(shí)延狀況。
[0070] 202、從上述第i幀視頻圖像的屬性信息中提取出發(fā)送端采集到上述第i幀視頻圖 像的采集時(shí)間戳。
[0071] 203、根據(jù)上述第i幀圖像的采集時(shí)間戳和第(i 一 1)幀視頻圖像的采集時(shí)間戳計(jì) 算上述第i幀采集間隔。
[0072] 其中,每個(gè)幀的視頻圖像從發(fā)送端發(fā)出時(shí),發(fā)送端就會(huì)在視頻圖像的屬性信息中 指明采集時(shí)間戳,采集時(shí)間戳用于表示一個(gè)幀的視頻圖像生成的時(shí)間。通過(guò)第i幀視頻圖 像和第(i 一 1)幀視頻圖像這兩個(gè)幀的視頻圖像的采集時(shí)間戳做相減,就可以得到對(duì)第i幀 視頻圖像的第i幀采集間隔。
[0073] 204、計(jì)算上述第i幀視頻圖像從放入上述緩沖隊(duì)列到提取出上述緩沖隊(duì)列的第i 中貞等待時(shí)間。
[0074] 在本發(fā)明實(shí)施例中,一幀視頻圖像放入緩沖隊(duì)列時(shí)都會(huì)生成一個(gè)放入時(shí)間,當(dāng)該 幀視頻圖像從緩沖隊(duì)列中提取出時(shí)也會(huì)生成一個(gè)提取時(shí)間,故通過(guò)提取時(shí)間和放入時(shí)間之 間的差值就可以得到該幀在緩沖隊(duì)列中的等待時(shí)間了。
[0075] 205、獲取預(yù)置的等待時(shí)間調(diào)整因子α。
[0076] 其中,上述α滿足如下關(guān)系:〇〈α〈1。
[0077] 在本發(fā)明實(shí)施例中,預(yù)置的等待時(shí)間調(diào)整因子作為AVILWh的權(quán)重用于修正AVR_ Wi的取值大小,等待時(shí)間調(diào)整因子可以根據(jù)當(dāng)前幀之前的多個(gè)動(dòng)態(tài)平均等待時(shí)間和多個(gè)幀 的等待時(shí)間來(lái)設(shè)定,基于歷史統(tǒng)計(jì)信息的方式設(shè)定等待時(shí)間調(diào)整因子可以避免多個(gè)幀中單 個(gè)幀的時(shí)延過(guò)大時(shí)對(duì)整個(gè)動(dòng)態(tài)平均等待時(shí)間的影響過(guò)大,可以保證系統(tǒng)設(shè)計(jì)的均衡性。
[0078] 206、通過(guò)如下方式計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間:
[0079] AVU = a XAVH - ! + (1 - a ) XWi〇
[0080] 其中,上述AVR_Wi為上述第i幀動(dòng)態(tài)平均等待時(shí)間,上述AVR_Wi _ i為上述第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間,上述Wi為上述第i幀等待時(shí)間。
[0081] 207、判斷上述第i幀動(dòng)態(tài)平均等待時(shí)間是否大于上述預(yù)置的等待時(shí)延。
[0082] 其中,若上述第i幀動(dòng)態(tài)平均等待時(shí)間大于上述預(yù)置的等待時(shí)延,執(zhí)行步驟208和 步驟209,若上述第i幀動(dòng)態(tài)平均等待時(shí)間小于或等于上述預(yù)置的等待時(shí)延,執(zhí)行步驟210。
[0083] 208、獲取預(yù)置的播發(fā)間隔調(diào)整因子。
[0084] 209、根據(jù)播發(fā)間隔調(diào)整因子和上述第i幀采集間隔計(jì)算上述第i幀播發(fā)間隔。
[0085] 其中,判斷第i幀動(dòng)態(tài)平均等待時(shí)間是否大于預(yù)置的等待時(shí)延,根據(jù)判斷結(jié)果的 不同分別采取不同的方式來(lái)獲取第i幀播發(fā)間隔,當(dāng)?shù)趇幀動(dòng)態(tài)平均等待時(shí)間大于預(yù)置的 等待時(shí)延時(shí),表明第i幀視頻圖像等待播放的時(shí)間過(guò)長(zhǎng),需要縮小等待播放的時(shí)間,從而減 少累計(jì)時(shí)延,故可以獲取預(yù)置的播發(fā)間隔調(diào)整因子,根據(jù)播發(fā)間隔調(diào)整因子和上述第i幀 采集間隔計(jì)算上述第i幀播發(fā)間隔。具體的,可以通過(guò)如下方式計(jì)算上述第i幀播發(fā)間隔:
[0086] Playlntervalj = SamplelntervaljX β ,
[0087] 其中,上述Playlntervali為上述第i巾貞播發(fā)間隔,上述Samplelntervali為上述 第i幀采集間隔,上述β為播發(fā)間隔調(diào)整因子,且β滿足如下關(guān)系:〇〈β〈1。
[0088] 其中,預(yù)置的播發(fā)間隔調(diào)整因子作為Samplelntervali的權(quán)重用于修正 Playlntervali的取值大小,播發(fā)間隔調(diào)整因子可以根據(jù)當(dāng)前幀之前的多個(gè)動(dòng)態(tài)平均等待 時(shí)間和多個(gè)幀的等待時(shí)間來(lái)設(shè)定,基于歷史統(tǒng)計(jì)信息的方式設(shè)定播發(fā)間隔調(diào)整因子可以避 免多個(gè)幀中單個(gè)幀的時(shí)延過(guò)大時(shí)等待播放的時(shí)間越大,保證該幀能夠被及時(shí)播放。
[0089] 210、將上述第i幀采集間隔作為上述第i幀播發(fā)間隔。
[0090] 其中,當(dāng)上述第i幀動(dòng)態(tài)平均等待時(shí)間小于或等于上述預(yù)置的等待時(shí)延時(shí),說(shuō)明 第i幀視頻圖像等待播放的時(shí)間還較短,不需要使用播發(fā)間隔調(diào)整因子對(duì)第i幀采集間隔 進(jìn)行修正,就可以將第i幀采集間隔作為第i幀播發(fā)間隔。
[0091] 211、判斷從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于上述第i 中貞播發(fā)間隔。
[0092] 其中,從第(i 一 1)幀視頻圖像播放時(shí)開(kāi)始計(jì)時(shí)直到當(dāng)前時(shí)間,得到所經(jīng)過(guò)的時(shí)間 長(zhǎng)度(即時(shí)長(zhǎng)),判斷該時(shí)長(zhǎng)與第i幀播發(fā)間隔的大小關(guān)系,若從上述第(i 一 1)幀視頻圖像 播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于上述第i幀播發(fā)間隔,觸發(fā)步驟212開(kāi)始執(zhí)行。若從 上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于上述第i幀播發(fā)間隔,觸發(fā)步驟213 執(zhí)行。
[0093] 212、當(dāng)從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于上述第 i幀播發(fā)間隔時(shí),在上述當(dāng)前時(shí)間播放上述第i幀視頻圖像。
[0094] 其中,當(dāng)從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于上述 第i幀播發(fā)間隔時(shí),則說(shuō)明,第i幀視頻圖像的等待播放的時(shí)間已經(jīng)超過(guò)第i幀播發(fā)間隔 了,需要立刻播放第i幀視頻圖像,故本發(fā)明實(shí)施例可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí) 間進(jìn)行動(dòng)態(tài)調(diào)整,以保證對(duì)接收到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
[0095] 213、當(dāng)從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于上述第i幀播發(fā) 間隔時(shí),從上述第(i 一 1)幀視頻圖像播放開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為上述第i幀播發(fā)間隔的時(shí)刻到 達(dá)時(shí),播放上述第i幀視頻圖像。
[0096] 其中,若從上述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于上述第i幀播 發(fā)間隔,則說(shuō)明第i幀視頻圖像的等待播放的時(shí)間還沒(méi)有超過(guò)第i幀播發(fā)間隔,為了保證視 頻圖像能夠平滑顯示,還可以繼續(xù)等待,直到從上述第(i 一 1)幀視頻圖像播放開(kāi)始、歷經(jīng) 時(shí)長(zhǎng)為上述第i幀播發(fā)間隔的時(shí)刻到達(dá)時(shí),播放上述第i幀視頻圖像。
[0097] 由上可知,首先從緩沖隊(duì)列中提出第i幀視頻圖像,然后計(jì)算第i幀視頻圖像和第 (i 一 1)幀視頻圖像之間的第i幀采集間隔,計(jì)算第i幀視頻圖像從放入上述緩沖隊(duì)列到提 取出上述緩沖隊(duì)列的第i幀等待時(shí)間,基于第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí) 間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間,之后根據(jù)上述第i幀動(dòng)態(tài)平均等待時(shí)間、上述第i幀采集 間隔和預(yù)置的等待時(shí)延獲取第i幀播放間隔,接下來(lái)判斷從第(i 一 1)幀視頻圖像播放到當(dāng) 前時(shí)間的時(shí)長(zhǎng)是否小于上述第i幀播發(fā)間隔,若否,在當(dāng)前時(shí)間播放從緩沖隊(duì)列中提取出 的第i幀視頻圖像。由于本發(fā)明實(shí)施例中針對(duì)各個(gè)幀視頻圖像可以根據(jù)動(dòng)態(tài)等待時(shí)間、采 集間隔和預(yù)置的等待時(shí)延來(lái)設(shè)定各個(gè)幀的當(dāng)前播發(fā)間隔,故可以根據(jù)動(dòng)態(tài)等待時(shí)間獲知當(dāng) 前網(wǎng)絡(luò)的時(shí)延狀況,通過(guò)對(duì)各個(gè)幀的當(dāng)前播發(fā)間隔的設(shè)定可以自適應(yīng)的確定當(dāng)前幀視頻圖 像的緩沖時(shí)間,從而使視頻圖像播放實(shí)現(xiàn)平滑顯示,保證視頻圖像播放的穩(wěn)定性;并且設(shè)定 好播發(fā)間隔后,對(duì)從上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)與設(shè)定的播發(fā)間隔進(jìn)行判斷, 在上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或等于設(shè)定的播發(fā)間隔時(shí),在當(dāng)前時(shí)間就開(kāi) 始播放當(dāng)前幀視頻圖像,可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí)間進(jìn)行動(dòng)態(tài)調(diào)整,以保證對(duì) 接收到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
[0098] 為便于更好的理解和實(shí)施本發(fā)明實(shí)施例的上述方案,下面舉例相應(yīng)的應(yīng)用場(chǎng)景來(lái) 進(jìn)行具體說(shuō)明。
[0099] 請(qǐng)參閱如圖3所示,為本發(fā)明實(shí)施例中視頻圖像處理方法的流程示意圖,可以包 括:
[0100] 步驟301、通過(guò)網(wǎng)絡(luò)接收發(fā)送端發(fā)送的視頻圖像,每接收到一幀視頻圖像,就將接 收到的視頻圖像放入緩沖隊(duì)列Η中。
[0101] 當(dāng)前緩沖隊(duì)列Η中存入的視頻圖像分別為:&、心、4、4,分別為緩沖隊(duì)列中的第6 幀視頻圖像、第7幀視頻圖像、第8幀視頻圖像、第9幀視頻圖像。
[0102] 步驟302、從緩沖隊(duì)列中提取出最早放入緩沖隊(duì)列Η中的第6幀視頻圖像f6。
[0103] 步驟303包括如下兩個(gè)步驟:
[0104] 步驟3031、從上述第6幀視頻圖像f6的屬性信息中提取采集時(shí)間戳;
[0105] 步驟3032、計(jì)算f6和f5之間的第6巾貞采集間隔Samplelnterval 6。
[0106] 步驟304包括如下兩個(gè)步驟:
[0107] 步驟3041、計(jì)算第6幀視頻圖像f6從放入上述緩沖隊(duì)列Η到提取出緩沖隊(duì)列Η的 第6幀等待時(shí)間W 6 ;
[0108] 步驟3042、通過(guò)如下方式計(jì)算第6幀動(dòng)態(tài)平均等待時(shí)間:AVR_W6 = a XAVR_W5 + (1 - α ) XW6,〇〈a〈1。
[0109] 步驟305、判斷第6幀動(dòng)態(tài)平均等待時(shí)間AVR_W6是否大于預(yù)置的等待時(shí)延Delay, 若是,觸發(fā)步驟306執(zhí)行,若否,觸發(fā)步驟307執(zhí)行。
[0110] 步驟306、通過(guò)如下方式計(jì)算第6巾貞播發(fā)間隔Playlnterval6 :
[0111] Playlnterval6 = SampleInterval6X β,0〈 β〈1,然后觸發(fā)步驟 308 執(zhí)行。
[0112] 步驟307、通過(guò)如下方式計(jì)算第6巾貞播發(fā)間隔Playlnterval6 :
[0113] Playlnterval6 = Samplelnterval6,然后觸發(fā)步驟 308 執(zhí)行。
[0114] 步驟308、判斷從第5幀視頻圖像f5播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于第6幀播發(fā) 間隔Playlnterval 6,若是,觸發(fā)步驟309執(zhí)行,若否,觸發(fā)步驟310執(zhí)行。
[0115] 步驟309、從第5巾貞視頻圖像f5播放開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為Playlnterval 6的時(shí)刻到達(dá) 時(shí),播放f6。
[0116] 步驟310、在當(dāng)前時(shí)間播放第6幀視頻圖像f6。
[0117] 由上可知,本發(fā)明實(shí)施例中針對(duì)各個(gè)幀視頻圖像可以根據(jù)動(dòng)態(tài)等待時(shí)間、采集間 隔和預(yù)置的等待時(shí)延來(lái)設(shè)定各個(gè)幀的當(dāng)前播發(fā)間隔,故可以根據(jù)動(dòng)態(tài)等待時(shí)間獲知當(dāng)前網(wǎng) 絡(luò)的時(shí)延狀況,通過(guò)對(duì)各個(gè)幀的當(dāng)前播發(fā)間隔的設(shè)定可以自適應(yīng)的確定當(dāng)前幀視頻圖像的 緩沖時(shí)間,從而使視頻圖像播放實(shí)現(xiàn)平滑顯示,保證視頻圖像播放的穩(wěn)定性;并且設(shè)定好播 發(fā)間隔后,對(duì)從上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)與設(shè)定的播發(fā)間隔進(jìn)行判斷,在上 一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或等于設(shè)定的播發(fā)間隔時(shí),在當(dāng)前時(shí)間就開(kāi)始播 放當(dāng)前幀視頻圖像,可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí)間進(jìn)行動(dòng)態(tài)調(diào)整,以保證對(duì)接收 到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
[0118] 需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。
[0119] 為便于更好的實(shí)施本發(fā)明實(shí)施例的上述方案,下面還提供用于實(shí)施上述方案的相 關(guān)裝置。
[0120] 請(qǐng)參閱圖4-a所示,本發(fā)明實(shí)施例提供的一種視頻圖像處理裝置400,可以包括: 提取模塊401、采集間隔計(jì)算模塊402、第一時(shí)間計(jì)算模塊403、第二時(shí)間計(jì)算模塊404、獲取 模塊405、判斷模塊406、播放模塊407,其中,
[0121] 提取模塊401,用于從緩沖隊(duì)列中提取出第i幀視頻圖像,其中,所述i為自然數(shù);
[0122] 采集間隔計(jì)算模塊402,用于計(jì)算提取模塊401提取到的所述第i幀視頻圖像和第 (i 一 1)幀視頻圖像之間的第i幀采集間隔,所述第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提 取出第i幀視頻圖像之前從所述緩沖隊(duì)列中提取出的視頻圖像;
[0123] 第一時(shí)間計(jì)算模塊403,用于計(jì)算提取模塊401提取到的所述第i幀視頻圖像從放 入所述緩沖隊(duì)列到提取出所述緩沖隊(duì)列的第i幀等待時(shí)間;
[0124] 第二時(shí)間計(jì)算模塊404,用于根據(jù)第一時(shí)間計(jì)算模塊403計(jì)算出的所述第i幀等待 時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間;
[0125] 獲取模塊405,用于根據(jù)第二時(shí)間計(jì)算模塊404計(jì)算出的所述第i幀動(dòng)態(tài)平均等待 時(shí)間、采集間隔計(jì)算模塊402計(jì)算出的所述第i幀采集間隔和預(yù)置的等待時(shí)延獲取第i幀 播放間隔;
[0126] 判斷模塊406,用于判斷從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否 小于獲取模塊405獲取到的所述第i幀播發(fā)間隔;
[0127] 播放模塊407,用于當(dāng)判斷模塊406的判斷結(jié)果為從所述第(i 一 1)幀視頻圖像播 放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于所述第i幀播發(fā)間隔時(shí),在所述當(dāng)前時(shí)間播放所述第i 幀視頻圖像。
[0128] 在本發(fā)明的一些實(shí)施例中,所述播放模塊407,還用于若從所述第(i 一 1)幀視頻 圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于所述第i幀播發(fā)間隔,從所述第(i 一 1)幀視頻圖像播放 開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為所述第i幀播發(fā)間隔的時(shí)刻到達(dá)時(shí),播放所述第i幀視頻圖像。
[0129] 請(qǐng)參閱如圖4-b所示,在本發(fā)明的一些實(shí)施例中,第二時(shí)間計(jì)算模塊404,可以包 括:
[0130] 第一獲取子模塊4041,用于獲取預(yù)置的等待時(shí)間調(diào)整因子α,所述α滿足如下關(guān) 系:0〈 ct〈1 ;
[0131] 第一時(shí)間計(jì)算子模塊4042,用于通過(guò)如下方式計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間:
[0132] AVU = a XAVH -! + (1 - α ) XI,
[0133] 其中,所述AVR_Wi為所述第i幀動(dòng)態(tài)平均等待時(shí)間,所述AVILWh為所述第(i - 1)幀動(dòng)態(tài)平均等待時(shí)間,所述Wi為所述第i幀等待時(shí)間。
[0134] 在本發(fā)明的一些實(shí)施例中,獲取模塊405,可以包括:
[0135] 判斷子模塊4051,用于判斷所述第i幀動(dòng)態(tài)平均等待時(shí)間是否大于所述預(yù)置的等 待時(shí)延;
[0136] 第二獲取子模塊4052,用于當(dāng)所述第i幀動(dòng)態(tài)平均等待時(shí)間大于所述預(yù)置的等待 時(shí)延時(shí),獲取預(yù)置的播發(fā)間隔調(diào)整因子;
[0137] 播發(fā)間隔計(jì)算子模塊4053,用于根據(jù)播發(fā)間隔調(diào)整因子和所述第i幀采集間隔計(jì) 算所述第i幀播發(fā)間隔;
[0138] 第三獲取子模塊4054,用于當(dāng)所述第i幀動(dòng)態(tài)平均等待時(shí)間小于或等于所述預(yù)置 的等待時(shí)延時(shí),將所述第i幀采集間隔作為所述第i幀播發(fā)間隔。
[0139] 在本發(fā)明的另一些實(shí)施例中,播發(fā)間隔計(jì)算子模塊4053,具體用于通過(guò)如下方式 計(jì)算所述第i幀播發(fā)間隔:
[0140] Playlntervalj = SamplelntervaljX β ,
[0141] 其中,所述Playlntervali為所述第i巾貞播發(fā)間隔,所述Samplelntervali為所述 第i幀采集間隔,所述β為播發(fā)間隔調(diào)整因子,所述β滿足如下關(guān)系:〇〈β〈1。
[0142] 在本發(fā)明的一些實(shí)施例中,采集間隔計(jì)算模塊402,可以包括:
[0143] 時(shí)間戳提取子模塊4021,用于從所述第i幀視頻圖像的屬性信息中提取出發(fā)送端 采集到所述第i幀視頻圖像的采集時(shí)間戳;
[0144] 采集間隔計(jì)算子模塊4022,用于根據(jù)所述第i幀圖像的采集時(shí)間戳和第(i 一 1) 幀視頻圖像的采集時(shí)間戳計(jì)算所述第i幀采集間隔。
[0145] 在本發(fā)明的一些實(shí)施例中,視頻圖像處理裝置400,還可以包括:
[0146] 接收模塊408,用于通過(guò)網(wǎng)絡(luò)接收發(fā)送端發(fā)送的視頻圖像;
[0147] 存儲(chǔ)模塊409,用于每接收到一幀視頻圖像,就將接收到的視頻圖像放入所述緩沖 隊(duì)列中。
[0148] 在本發(fā)明的一些實(shí)施例中,提取模塊401,可以包括:
[0149] 第四獲取子模塊4011,用于當(dāng)所述緩沖隊(duì)列中包括有多個(gè)幀的視頻圖像時(shí),從所 述多個(gè)幀的視頻圖像中選取最早放入所述緩沖隊(duì)列中的視頻圖像;
[0150] 提取子模塊4012,用于將所述最早放入所述緩沖隊(duì)列中的視頻圖像作為所述第i 幀視頻圖像從所述緩沖隊(duì)列中提取出。
[0151] 需要說(shuō)明的是,上述裝置各模塊/單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與 本發(fā)明方法實(shí)施例基于同一構(gòu)思,其帶來(lái)的技術(shù)效果與本發(fā)明方法實(shí)施例相同,具體內(nèi)容 可參見(jiàn)本發(fā)明前述所示的方法實(shí)施例中的敘述,此處不再贅述。
[0152] 由上可見(jiàn),首先從緩沖隊(duì)列中提出第i幀視頻圖像,然后計(jì)算第i幀視頻圖像和第 (i 一 1)幀視頻圖像之間的第i幀采集間隔,計(jì)算第i幀視頻圖像從放入上述緩沖隊(duì)列到提 取出上述緩沖隊(duì)列的第i幀等待時(shí)間,基于第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí) 間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間,之后根據(jù)上述第i幀動(dòng)態(tài)平均等待時(shí)間、上述第i幀采集 間隔和預(yù)置的等待時(shí)延獲取第i幀播放間隔,接下來(lái)判斷從第(i 一 1)幀視頻圖像播放到當(dāng) 前時(shí)間的時(shí)長(zhǎng)是否小于上述第i幀播發(fā)間隔,若否,在當(dāng)前時(shí)間播放從緩沖隊(duì)列中提取出 的第i幀視頻圖像。由于本發(fā)明實(shí)施例中針對(duì)各個(gè)幀視頻圖像可以根據(jù)動(dòng)態(tài)等待時(shí)間、采 集間隔和預(yù)置的等待時(shí)延來(lái)設(shè)定各個(gè)幀的當(dāng)前播發(fā)間隔,故可以根據(jù)動(dòng)態(tài)等待時(shí)間獲知當(dāng) 前網(wǎng)絡(luò)的時(shí)延狀況,通過(guò)對(duì)各個(gè)幀的當(dāng)前播發(fā)間隔的設(shè)定可以自適應(yīng)的確定當(dāng)前幀視頻圖 像的緩沖時(shí)間,從而使視頻圖像播放實(shí)現(xiàn)平滑顯示,保證視頻圖像播放的穩(wěn)定性;并且設(shè)定 好播發(fā)間隔后,對(duì)從上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)與設(shè)定的播發(fā)間隔進(jìn)行判斷, 在上一幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或等于設(shè)定的播發(fā)間隔時(shí),在當(dāng)前時(shí)間就開(kāi) 始播放當(dāng)前幀視頻圖像,可以實(shí)現(xiàn)對(duì)當(dāng)前幀視頻圖像的播放時(shí)間進(jìn)行動(dòng)態(tài)調(diào)整,以保證對(duì) 接收到的視頻圖像及時(shí)播放,提高用戶視頻通話的實(shí)時(shí)性。
[0153] 以下主要以本發(fā)明實(shí)施例的視頻處理方法應(yīng)用于終端中來(lái)舉例說(shuō)明,該終端可 以包括智能手機(jī)、平板電腦、電子書(shū)閱讀器、動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面3 (Moving Picture Experts Group Audio Layer III,MP3)播放器、動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面 4 (Moving Picture Experts Group Audio Layer IV,MP4)播放器、膝上型便攜計(jì)算機(jī)和 臺(tái)式計(jì)算機(jī)等等。
[0154] 請(qǐng)參考圖5,其示出了本發(fā)明實(shí)施例所涉及的終端的結(jié)構(gòu)示意圖,具體來(lái)講:
[0155] 終端可以包括射頻(Radio Frequency, RF)電路20、包括有一個(gè)或一個(gè)以上計(jì)算 機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器21、輸入單元22、顯示單元23、傳感器24、音頻電路25、無(wú)線保真 (wireless fidelity,WiFi)模塊26、包括有一個(gè)或者一個(gè)以上處理核心的處理器27、以及 電源28等部件。本領(lǐng)域技術(shù)人員可以理解,圖5中示出的終端結(jié)構(gòu)并不構(gòu)成對(duì)終端的限定, 可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中 :
[0156] RF電路20可用于收發(fā)信息或通話過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的 下行信息接收后,交由一個(gè)或者一個(gè)以上處理器27處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給 基站。通常,RF電路20包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、 用戶身份模塊(SIM)卡、收發(fā)信機(jī)、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙 工器等。此外,RF電路20還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無(wú)線通信可 以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無(wú)線服務(wù)(General Packet Radio Service,GPRS)、碼分 多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access, WCDMA)、長(zhǎng)期演進(jìn)(Long Term Evolution, LTE)、電子郵件、短消息服務(wù) (Short Messaging Service, SMS)等。
[0157] 存儲(chǔ)器21可用于存儲(chǔ)軟件程序以及模塊,處理器27通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器21的 軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器21可主要包括存儲(chǔ)程序 區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如 聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)α匕 如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器21可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非 易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng) 地,存儲(chǔ)器21還可以包括存儲(chǔ)器控制器,以提供處理器27和輸入單元22對(duì)存儲(chǔ)器21的訪 問(wèn)。
[0158] 輸入單元22可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能 控制有關(guān)的鍵盤(pán)、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,在一個(gè)具體的實(shí)施例 中,輸入單元22可包括觸敏表面221以及其他輸入設(shè)備222。觸敏表面221,也稱(chēng)為觸摸顯 示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適 合的物體或附件在觸敏表面221上或在觸敏表面221附近的操作),并根據(jù)預(yù)先設(shè)定的程式 驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸敏表面221可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。 其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸 控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理 器27,并能接收處理器27發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線 以及表面聲波等多種類(lèi)型實(shí)現(xiàn)觸敏表面221。除了觸敏表面221,輸入單元22還可以包括 其他輸入設(shè)備222。具體地,其他輸入設(shè)備222可以包括但不限于物理鍵盤(pán)、功能鍵(比如音 量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0159] 顯示單元23可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端的各種 圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來(lái)構(gòu)成。顯 示單元23可包括顯示面板231,可選的,可以采用液晶顯示器(Liquid Crystal Display, IXD)、有機(jī)發(fā)光二極管(Organic Light-Emitting Diode, 0LED)等形式來(lái)配置顯示面板 231。進(jìn)一步的,觸敏表面221可覆蓋顯示面板231,當(dāng)觸敏表面221檢測(cè)到在其上或附近 的觸摸操作后,傳送給處理器27以確定觸摸事件的類(lèi)型,隨后處理器27根據(jù)觸摸事件的類(lèi) 型在顯示面板231上提供相應(yīng)的視覺(jué)輸出。雖然在圖8中,觸敏表面221與顯示面板231 是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)輸入和輸入功能,但是在某些實(shí)施例中,可以將觸敏表面221 與顯示面板231集成而實(shí)現(xiàn)輸入和輸出功能。
[0160] 終端還可包括至少一種傳感器24,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具 體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的 明暗來(lái)調(diào)節(jié)顯示面板231的亮度,接近傳感器可在終端移動(dòng)到耳邊時(shí),關(guān)閉顯示面板231和 /或背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加 速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫堅(jiān)屏 切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于終端還 可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
[0161] 音頻電路25、揚(yáng)聲器251,傳聲器252可提供用戶與終端之間的音頻接口。音頻電 路25可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器251,由揚(yáng)聲器251轉(zhuǎn)換為聲音 信號(hào)輸出;另一方面,傳聲器252將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路25接收后轉(zhuǎn) 換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器27處理后,經(jīng)RF電路20以發(fā)送給比如另一終端, 或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器21以便進(jìn)一步處理。音頻電路25還可能包括耳塞插孔,以 提供外設(shè)耳機(jī)與終端的通信。
[0162] WiFi屬于短距離無(wú)線傳輸技術(shù),終端通過(guò)WiFi模塊26可以幫助用戶收發(fā)電子郵 件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。雖然圖8示出了 WiFi模塊26,但是可以理解的是,其并不屬于終端的必須構(gòu)成,完全可以根據(jù)需要在不改 變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0163] 處理器27是終端的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通 過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器21內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器21內(nèi)的 數(shù)據(jù),執(zhí)行終端的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器27可包 括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器27可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng) 用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信。 可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器27中。
[0164] 終端還包括給各個(gè)部件供電的電源28 (比如電池),優(yōu)選的,電源可以通過(guò)電源管 理系統(tǒng)與處理器27邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理 等功能。電源28還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢 測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
[0165] 盡管未示出,終端還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí)施 例中,終端的顯示單元是觸摸屏顯示器,終端的存儲(chǔ)器21與上述數(shù)據(jù)庫(kù)類(lèi)似,可以存儲(chǔ)采 樣時(shí)間段、采樣時(shí)間間隔、幀率統(tǒng)計(jì)值。
[0166] 且本實(shí)施例的終端中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器21中,且經(jīng)配置以由 一個(gè)或者一個(gè)以上處理器27執(zhí)行上述一個(gè)或者一個(gè)以上程序所包含的以下操作指令:
[0167] 從緩沖隊(duì)列中提取出第i幀視頻圖像,其中,所述i為自然數(shù);
[0168] 計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第i幀采集間隔,所述 第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之前從所述緩沖隊(duì)列中提取 出的視頻圖像;
[0169] 計(jì)算所述第i幀視頻圖像從放入所述緩沖隊(duì)列到提取出所述緩沖隊(duì)列的第i幀等 待時(shí)間;
[0170] 根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均 等待時(shí)間;
[0171] 根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí)間、所述第i幀采集間隔和預(yù)置的等待時(shí)延獲取 第i幀播放間隔;
[0172] 判斷從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于所述第i幀播 發(fā)間隔;
[0173] 若否,在所述當(dāng)前時(shí)間播放所述第i幀視頻圖像。
[0174] 具體的,所述根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i 幀動(dòng)態(tài)平均等待時(shí)間,包括:
[0175] 獲取預(yù)置的等待時(shí)間調(diào)整因子α,所述α滿足如下關(guān)系:〇〈 α〈1 ;
[0176] 通過(guò)如下方式計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間:
[0177] AVU = a XAVH -! + (1 - a ) XW"
[0178] 其中,所述AVR_Wi為所述第i幀動(dòng)態(tài)平均等待時(shí)間,所述AVILWh為所述第(i - 1)幀動(dòng)態(tài)平均等待時(shí)間,所述Wi為所述第i幀等待時(shí)間。
[0179] 具體的,所述根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí)間、所述第i幀采集間隔和預(yù)置的等 待時(shí)延獲取第i幀播發(fā)間隔,包括:
[0180] 判斷所述第i幀動(dòng)態(tài)平均等待時(shí)間是否大于所述預(yù)置的等待時(shí)延;
[0181] 若所述第i幀動(dòng)態(tài)平均等待時(shí)間大于所述預(yù)置的等待時(shí)延,獲取預(yù)置的播發(fā)間隔 調(diào)整因子,根據(jù)播發(fā)間隔調(diào)整因子和所述第i幀采集間隔計(jì)算所述第i幀播發(fā)間隔;
[0182] 若所述第i幀動(dòng)態(tài)平均等待時(shí)間小于或等于所述預(yù)置的等待時(shí)延,將所述第i幀 采集間隔作為所述第i幀播發(fā)間隔。
[0183] 具體的,所述根據(jù)播發(fā)間隔調(diào)整因子和所述第i幀采集間隔計(jì)算所述第i幀播發(fā) 間隔,包括:
[0184] 通過(guò)如下方式計(jì)算所述第i幀播發(fā)間隔:
[0185] Playlntervalj = SamplelntervaljX β ,
[0186] 其中,所述Playlntervali為所述第i巾貞播發(fā)間隔,所述Samplelntervali為所述 第i幀采集間隔,所述β為播發(fā)間隔調(diào)整因子,所述β滿足如下關(guān)系:〇〈β〈1。
[0187] 進(jìn)一步的,處理器27執(zhí)行上述一個(gè)或者一個(gè)以上程序所包含的以下操作指令:
[0188] 若從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于所述第i幀播發(fā)間隔, 從所述第(i 一 1)幀視頻圖像播放開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為所述第i幀播發(fā)間隔的時(shí)刻到達(dá)時(shí),播 放所述第i幀視頻圖像。
[0189] 具體的,所述計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第i幀采 集間隔包括:
[0190] 從所述第i幀視頻圖像的屬性信息中提取出發(fā)送端采集到所述第i幀視頻圖像的 采集時(shí)間戳;
[0191] 根據(jù)所述第i幀圖像的采集時(shí)間戳和第(i 一 1)幀視頻圖像的采集時(shí)間戳計(jì)算所 述第i幀采集間隔。
[0192] 進(jìn)一步的,所述從緩沖隊(duì)列中提取出第i幀視頻圖像之前還包括:
[0193] 通過(guò)網(wǎng)絡(luò)接收發(fā)送端發(fā)送的視頻圖像;
[0194] 每接收到一幀視頻圖像,就將接收到的視頻圖像放入所述緩沖隊(duì)列中。
[0195] 具體的,所述從緩沖隊(duì)列中提取出第i幀視頻圖像包括:
[0196] 當(dāng)所述緩沖隊(duì)列中包括有多個(gè)幀的視頻圖像時(shí),從所述多個(gè)幀的視頻圖像中選取 最早放入所述緩沖隊(duì)列中的視頻圖像;
[0197] 將所述最早放入所述緩沖隊(duì)列中的視頻圖像作為所述第i幀視頻圖像從所述緩 沖隊(duì)列中提取出。
[0198] 本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ) 介質(zhì)可以包括:只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤(pán)或光盤(pán)等。
[0199] 以上對(duì)本發(fā)明所提供的一種視頻處理方法和相關(guān)裝置進(jìn)行了詳細(xì)介紹,對(duì)于本領(lǐng) 域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變 之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1. 一種視頻圖像處理方法,其特征在于,包括: 從緩沖隊(duì)列中提取出第i幀視頻圖像,其中,所述i為自然數(shù); 計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第i幀采集間隔,所述第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之前從所述緩沖隊(duì)列中提取出的視 頻圖像; 計(jì)算所述第i幀視頻圖像從放入所述緩沖隊(duì)列到提取出所述緩沖隊(duì)列的第i幀等待時(shí) 間; 根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待 時(shí)間; 根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí)間、所述第i幀采集間隔和預(yù)置的等待時(shí)延獲取第i 中貞播放間隔; 判斷從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于所述第i幀播發(fā)間 隔; 若否,在所述當(dāng)前時(shí)間播放所述第i幀視頻圖像。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間,包括: 獲取預(yù)置的等待時(shí)間調(diào)整因子α,所述α滿足如下關(guān)系:〇〈α〈1 ; 通過(guò)如下方式計(jì)算第i巾貞動(dòng)態(tài)平均等待時(shí)間: AVR_ffi = a XAVR.ff^! + (1 - α ) Xffj, 其中,所述AVR_Wi為所述第i幀動(dòng)態(tài)平均等待時(shí)間,所述AVR_Wi _ i為所述第(i 一 1) 幀動(dòng)態(tài)平均等待時(shí)間,所述I為所述第i幀等待時(shí)間。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí) 間、所述第i幀采集間隔和預(yù)置的等待時(shí)延獲取第i幀播發(fā)間隔,包括: 判斷所述第i幀動(dòng)態(tài)平均等待時(shí)間是否大于所述預(yù)置的等待時(shí)延; 若所述第i幀動(dòng)態(tài)平均等待時(shí)間大于所述預(yù)置的等待時(shí)延,獲取預(yù)置的播發(fā)間隔調(diào)整 因子,根據(jù)播發(fā)間隔調(diào)整因子和所述第i幀采集間隔計(jì)算所述第i幀播發(fā)間隔; 若所述第i幀動(dòng)態(tài)平均等待時(shí)間小于或等于所述預(yù)置的等待時(shí)延,將所述第i幀采集 間隔作為所述第i幀播發(fā)間隔。
4. 根據(jù)權(quán)利要求3所示的方法,其特征在于,所述根據(jù)播發(fā)間隔調(diào)整因子和所述第i幀 采集間隔計(jì)算所述第i幀播發(fā)間隔,包括: 通過(guò)如下方式計(jì)算所述第i幀播發(fā)間隔: Playlntervali = SamplelntervaliX β , 其中,所述Playlntervah為所述第i巾貞播發(fā)間隔,所述Samplelntervali為所述第i 幀采集間隔,所述β為播發(fā)間隔調(diào)整因子,所述β滿足如下關(guān)系:〇〈β〈1。
5. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 若從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于所述第i幀播發(fā)間隔,從 所述第(i 一 1)幀視頻圖像播放開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為所述第i幀播發(fā)間隔的時(shí)刻到達(dá)時(shí),播放 所述第i幀視頻圖像。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第i幀采集間隔包括: 從所述第i幀視頻圖像的屬性信息中提取出發(fā)送端采集到所述第i幀視頻圖像的采集 時(shí)間戳; 根據(jù)所述第i幀圖像的采集時(shí)間戳和第(i 一 1)幀視頻圖像的采集時(shí)間戳計(jì)算所述第 i幀采集間隔。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從緩沖隊(duì)列中提取出第i幀視頻圖像 之前還包括: 通過(guò)網(wǎng)絡(luò)接收發(fā)送端發(fā)送的視頻圖像; 每接收到一幀視頻圖像,就將接收到的視頻圖像放入所述緩沖隊(duì)列中。
8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從緩沖隊(duì)列中提取出第i幀視頻圖像 包括: 當(dāng)所述緩沖隊(duì)列中包括有多個(gè)幀的視頻圖像時(shí),從所述多個(gè)幀的視頻圖像中選取最早 放入所述緩沖隊(duì)列中的視頻圖像; 將所述最早放入所述緩沖隊(duì)列中的視頻圖像作為所述第i幀視頻圖像從所述緩沖隊(duì) 列中提取出。
9. 一種視頻圖像處理裝置,其特征在于,包括: 提取模塊,用于從緩沖隊(duì)列中提取出第i幀視頻圖像,其中,所述i為自然數(shù); 采集間隔計(jì)算模塊,用于計(jì)算所述第i幀視頻圖像和第(i 一 1)幀視頻圖像之間的第 i幀采集間隔,所述第(i 一 1)幀視頻圖像為從緩沖隊(duì)列中提取出第i幀視頻圖像之前從所 述緩沖隊(duì)列中提取出的視頻圖像; 第一時(shí)間計(jì)算模塊,用于計(jì)算所述第i幀視頻圖像從放入所述緩沖隊(duì)列到提取出所述 緩沖隊(duì)列的第i幀等待時(shí)間; 第二時(shí)間計(jì)算模塊,用于根據(jù)所述第i幀等待時(shí)間和第(i 一 1)幀動(dòng)態(tài)平均等待時(shí)間 計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間; 獲取模塊,用于根據(jù)所述第i幀動(dòng)態(tài)平均等待時(shí)間、所述第i幀采集間隔和預(yù)置的等待 時(shí)延獲取第i幀播放間隔; 判斷模塊,用于判斷從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)是否小于所 述第i幀播發(fā)間隔; 播放模塊,用于當(dāng)從所述第(i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)大于或者等于 所述第i幀播發(fā)間隔時(shí),在所述當(dāng)前時(shí)間播放所述第i幀視頻圖像。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第二時(shí)間計(jì)算模塊,包括: 第一獲取子模塊,用于獲取預(yù)置的等待時(shí)間調(diào)整因子α,所述α滿足如下關(guān)系: 0<α <1 ; 第一時(shí)間計(jì)算子模塊,用于通過(guò)如下方式計(jì)算第i幀動(dòng)態(tài)平均等待時(shí)間: AVR_ffi = a XAVR.ff^! + (1 - α ) Xffj, 其中,所述AVR_Wi為所述第i幀動(dòng)態(tài)平均等待時(shí)間,所述AVR_Wi _ i為所述第(i 一 1) 幀動(dòng)態(tài)平均等待時(shí)間,所述I為所述第i幀等待時(shí)間。
11. 根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述獲取模塊,包括: 判斷子模塊,用于判斷所述第i幀動(dòng)態(tài)平均等待時(shí)間是否大于所述預(yù)置的等待時(shí)延; 第二獲取子模塊,用于當(dāng)所述第i幀動(dòng)態(tài)平均等待時(shí)間大于所述預(yù)置的等待時(shí)延時(shí), 獲取預(yù)置的播發(fā)間隔調(diào)整因子; 播發(fā)間隔計(jì)算子模塊,用于根據(jù)播發(fā)間隔調(diào)整因子和所述第i幀采集間隔計(jì)算所述第 i幀播發(fā)間隔; 第三獲取子模塊,用于當(dāng)所述第i幀動(dòng)態(tài)平均等待時(shí)間小于或等于所述預(yù)置的等待時(shí) 延時(shí),將所述第i幀采集間隔作為所述第i幀播發(fā)間隔。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述播發(fā)間隔計(jì)算子模塊,具體用于通 過(guò)如下方式計(jì)算所述第i幀播發(fā)間隔: Playlntervali = SamplelntervaliX β , 其中,所述Playlntervah為所述第i巾貞播發(fā)間隔,所述Samplelntervali為所述第i 幀采集間隔,所述β為播發(fā)間隔調(diào)整因子,所述β滿足如下關(guān)系:〇〈β〈1。
13. 根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述播放模塊,還用于若從所述第 (i 一 1)幀視頻圖像播放到當(dāng)前時(shí)間的時(shí)長(zhǎng)小于所述第i幀播發(fā)間隔,從所述第(i 一 1)幀 視頻圖像播放開(kāi)始、歷經(jīng)時(shí)長(zhǎng)為所述第i幀播發(fā)間隔的時(shí)刻到達(dá)時(shí),播放所述第i幀視頻圖 像。
14. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述采集間隔計(jì)算模塊,包括: 時(shí)間戳提取子模塊,用于從所述第i幀視頻圖像的屬性信息中提取出發(fā)送端采集到所 述第i幀視頻圖像的采集時(shí)間戳; 采集間隔計(jì)算子模塊,用于根據(jù)所述第i幀圖像的采集時(shí)間戳和第(i 一 1)幀視頻圖 像的采集時(shí)間戳計(jì)算所述第i幀采集間隔。
15. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述視頻圖像處理裝置,還包括: 接收模塊,用于通過(guò)網(wǎng)絡(luò)接收發(fā)送端發(fā)送的視頻圖像; 存儲(chǔ)模塊,用于每接收到一幀視頻圖像,就將接收到的視頻圖像放入所述緩沖隊(duì)列中。
16. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述提取模塊,包括: 第四獲取子模塊,用于當(dāng)所述緩沖隊(duì)列中包括有多個(gè)幀的視頻圖像時(shí),從所述多個(gè)幀 的視頻圖像中選取最早放入所述緩沖隊(duì)列中的視頻圖像; 提取子模塊,用于將所述最早放入所述緩沖隊(duì)列中的視頻圖像作為所述第i幀視頻圖 像從所述緩沖隊(duì)列中提取出。
【文檔編號(hào)】H04N7/14GK104144312SQ201310169074
【公開(kāi)日】2014年11月12日 申請(qǐng)日期:2013年5月9日 優(yōu)先權(quán)日:2013年5月9日
【發(fā)明者】尹程果 申請(qǐng)人:騰訊科技(深圳)有限公司