專利名稱:一種即時通信視頻質(zhì)量調(diào)節(jié)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機及通信領(lǐng)域的數(shù)據(jù)傳輸技術(shù),尤其涉及一種即時通信
(IM)視頻質(zhì)量調(diào)節(jié)方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展與普及,IM逐漸成為互聯(lián)網(wǎng)最主要的應(yīng)用之一,越來越 多的互聯(lián)網(wǎng)用戶將即時通信作為一種重要的通信工具。
現(xiàn)有的IM視頻通信基本上都是不考慮終端能力統(tǒng)一處理的。對于低配置的 終端而言,由于其CPU數(shù)據(jù)處理能力較差,當(dāng)對IM視頻通信數(shù)據(jù)進(jìn)行處理時, 使得CPU使用率高,影響用戶其他工作,并且也使得連接成功率下降;對于高 配置的終端而言,在對IM視頻通信數(shù)據(jù)進(jìn)行處理時,沒有充分體現(xiàn)CPU的數(shù)據(jù) 處理能力,使得用戶得不到較好的視頻體驗,造成了資源浪費。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種即時通信視頻質(zhì)量調(diào)節(jié)方法及裝置,用以解決現(xiàn) 有技術(shù)中連接成功率較低、資源浪費或視頻體驗較差等問題。
本發(fā)明提供的 一種即時通信視頻質(zhì)量調(diào)節(jié)方法包括
荻取終端CPU性能指標(biāo)信息,根據(jù)CPU性能指標(biāo)信息對即時通信視頻質(zhì) 量進(jìn)行調(diào)節(jié)。
對所述即時通信視頻質(zhì)量進(jìn)行調(diào)節(jié)的步驟包括
A. 根據(jù)CPU性能指標(biāo)信息獲得本機的視頻級別;
B. 根據(jù)視頻級別確定本機編碼的最高幀率,根據(jù)該最高幀率對即時通信 的視頻數(shù)據(jù)進(jìn)行編碼。
所述對即時通信4見頻質(zhì)量進(jìn)行調(diào)節(jié)的步驟是在終端向?qū)Χ税l(fā)送視頻命令 或終端接受來自對端視頻命令時進(jìn)行的。
所述的終端CPU性能指標(biāo)信息包括主頻信息和/或緩存容量信息。 當(dāng)所述的終端CPU性能指標(biāo)信息包括主頻信息和緩存容量信息時,步驟A 包括
Al、獲取本機CPU主頻信息,根據(jù)獲取的主頻信息與視頻級別的對應(yīng)關(guān) 系,確定本機的初始^L頻級別;
A2、檢測本機緩存信息,根據(jù)檢測得到的緩存信息對步驟A1得到的初始 視頻級別進(jìn)4亍修正。
所述將主頻信息與視頻級別的對應(yīng)關(guān)系設(shè)置為主頻越高,視頻級別越高;
所述根據(jù)檢測得到的緩存信息對初始視頻級別進(jìn)行修正的原則是緩存容 量越大,視頻級別越高。
步驟Al中所述主頻信息是終端從注冊表中讀取獲得,或使用內(nèi)置CPU指 令檢測獲得;
步驟A2中所述緩存容量信息是終端通過內(nèi)置的CPU指令檢測獲取。
所述CPU性能指標(biāo)信息還包括視頻級別輔助信息,所述視頻級別輔助信 息為是否是雙核CPU、是否支持多媒體指令集和是否支持超線程技術(shù)中的一種 或幾種;則在步驟A2之后,還進(jìn)一步包括
A3、通過內(nèi)置的CPU指令檢測獲取視頻級別輔助信息,根據(jù)視頻級別輔 助信息對步驟A2中修正后的視頻級別進(jìn)行調(diào)節(jié),當(dāng)CPU支持輔助信息時,視 頻級別就越高。
本發(fā)明提供的 一種即時通信視頻質(zhì)量調(diào)節(jié)裝置包括
性能指標(biāo)獲取單元,用于獲取終端的CPU性能指標(biāo)信息,并將獲取的CPU 性能指標(biāo)信息發(fā)送給視頻質(zhì)量調(diào)節(jié)單元;
視頻質(zhì)量調(diào)節(jié)單元,用于根據(jù)收到的CPU性能指標(biāo)信息調(diào)節(jié)終端的視頻 質(zhì)量。
所述視頻質(zhì)量調(diào)節(jié)單元包括
視頻級別調(diào)節(jié)單元,用于根據(jù)所述CPU性能指標(biāo)信息調(diào)節(jié)終端的視頻級
別,并將視頻級別輸出給視頻質(zhì)量調(diào)節(jié)單元;
視頻質(zhì)量調(diào)節(jié)單元,用于根據(jù)視頻級別確定編碼的最高幀率,并輸出該最 高幀率給終端。
本發(fā)明通過獲取終端CPU性能指標(biāo)信息,并根據(jù)此信息對即時通信視頻 質(zhì)量進(jìn)行調(diào)節(jié)的方法,可以較好的利用資源,避免造成資源浪費,并且還能提 高連接建立的成功率,改善用戶^L頻體驗。
圖1為通過終端能力判定來確定視頻級別流程示意圖; 圖2為視頻質(zhì)量調(diào)節(jié)裝置示意圖。
具體實施例方式
本發(fā)明是通過對終端CPU性能指標(biāo)的信息獲取,來對視頻級別進(jìn)行調(diào)節(jié), 進(jìn)而調(diào)節(jié)視頻質(zhì)量。影響終端CPU性能指標(biāo)的主要有CPU主頻信息、緩存 (Cache)信息和其他視頻級別輔助信息。這些信息會對視頻級別進(jìn)行調(diào)節(jié), 根據(jù)最后得到的視頻級別確定本機編碼的最高幀率,通過該最高幀率對即時通 信的數(shù)據(jù)進(jìn)行編碼,來獲取終端視頻編碼的最高限制,使CPU能夠更好地進(jìn) 行視頻數(shù)據(jù)處理,使視頻質(zhì)量得到提高。
下面結(jié)合說明書附圖,對本發(fā)明的方法作進(jìn)一步詳細(xì)描述。
如圖l所示,當(dāng)終端向?qū)Χ税l(fā)送視頻命令或終端接受來自對端視頻命令時, 或在即時通信的過程中由終端周期發(fā)起視頻命令時,就立刻進(jìn)行終端能力信息 獲取,此過程是終端對本地CPU的性能指標(biāo)進(jìn)行自檢。通過終端能力來確定 視頻級別的,該方法包括以下步驟
步驟101:獲得CPU主頻信息,初步得到視頻級別。
在獲取主頻信息前首先判定能否進(jìn)行靜態(tài)檢測。能否進(jìn)行靜態(tài)檢測是由本 機的操作系統(tǒng)決定的,操作系統(tǒng)在注冊表中寫入了主頻信息,但是Windows98 及以前的操作系統(tǒng)并沒有寫入。在本發(fā)明中,是從注冊表中讀取CPU的主頻 信息。CPU的主頻信息在注冊表中有固定的位置,通過Windows提供的應(yīng)用
程序接口可以直接打開注冊表,然后判定此位置是否有相關(guān)的信息存在。如果 有信息存在,即為支持靜態(tài)檢測,如果沒有信息存在即為不支持靜態(tài)檢測。在
能夠進(jìn)行靜態(tài)檢測時,就從注冊表中讀取CPU的主頻信息;在不能夠進(jìn)行靜 態(tài)檢測時,即進(jìn)行動態(tài)檢測,4吏用內(nèi)置的CPU指令獲取主頻信息。
主頻直接反映了 CPU的數(shù)據(jù)處理能力,因此獲取了主頻信息后,可以根 據(jù)主頻信息對本機的視頻級別進(jìn)行劃分,劃分方法如下
首先將視頻級別劃分為n級,分別為S1級,S2級…Sn級,再將主頻值的 范圍按照從大到小的順序劃分為n段,每一段包含若干個可能的主頻值。把一見 頻級別的n級與主頻劃分的n段——對應(yīng)起來,視頻級別的最高級對應(yīng)主頻值 對高的主頻段,以此類推,然后用檢測到的CPU主頻去匹配對應(yīng)的主頻段,
步驟102:檢測Cache信息,對視頻級別進(jìn)行調(diào)節(jié)。
例如分別檢測LI Cache和L2 Cache。 LI Cache是封裝于CPU內(nèi)部的高 速緩存,存取速度與CPU主頻相同,它的容量對CPU的性能有較大的影響, 容量越大,CPU的性能也會相對提高。L2 Cache是集成于CPU外部的高速緩 存,存取速度與CPU主頻相同,主要功能是作為后備數(shù)據(jù)和指令的存儲,它 的容量大小對CPU的性能有較大的影響,因為視頻需要處理的數(shù)據(jù)量較大, 如果L2 Cache容量較大的話就可以減少數(shù)據(jù)存取交換的次數(shù),優(yōu)化視頻處理 速度。
在本發(fā)明中,通過內(nèi)置的CPU指令檢測LI Cache和L2 Cache的容量大小, 根據(jù)它們的容量大小對本機的視頻級別進(jìn)行調(diào)節(jié)。以L2 Cache為例說明調(diào)節(jié) 方法如下
首先將L2 Cache按照容量劃分為n級,每一級別對應(yīng)一個視頻級別修正 值(這個修正值的范圍從-X到+ Y, X, Y為正數(shù)),然后用檢測到的L2 Cache 容量去匹配相應(yīng)的級別,讀取修正值調(diào)整視頻級別。
LI Cache的容量大小對^f見頻級別調(diào)節(jié)方法與L2 Cache —致。所以LI Cache
和L2 Cache的容量越大,本機的視頻級別就越高。
但是對于有些CPU的檢測結(jié)果可能不準(zhǔn)確的情況下(典型的是筆記本用 CPU), Cache只作為后期修正。如果通過內(nèi)置的CPU檢測指令檢測Cache失 敗,則以原來主頻所定級別為準(zhǔn)。
步驟103:檢測其他視頻級別輔助信息,對視頻級別進(jìn)行調(diào)節(jié)。
其他視頻級別輔助信息主要有
(1) 是否雙核因為處理器實際性能是處理器在每個時鐘周期內(nèi)所能處 理指令數(shù)的總量,從理論上講,增加一個內(nèi)核,處理器每個時鐘周期內(nèi)可執(zhí)行 的單元數(shù)將增加一倍,所以雙核CPU性能比單核有較大提高。通過內(nèi)置的CPU 指令檢測此終端是否為雙核,對于雙核的主機,視頻級別將會提高。調(diào)節(jié)方法 如下
設(shè)定級別修正值為Z,若檢測到終端為雙核則讀取修正值Z調(diào)整視頻級別, 若檢測到終端為單核則不調(diào)整視頻級別。
(2) 是否支持多媒體指令集MMX、 SSE、 SSE2和3DNow!都是CPU 的擴(kuò)展指令集,對指令集的支持M應(yīng)終端多媒體處理能力的重要依據(jù)。通過 內(nèi)置的CPU指令檢測此終端是否支持多媒體指令集,若是能夠支持,則視頻 級別就越高,此調(diào)節(jié)方法同上述是否雙核的調(diào)節(jié)方法一致。
(3) 是否支持超線程技術(shù)(HTT):超線程技術(shù)能夠減少CPU的閑置時 間,提高的CPU的運行效率。通過內(nèi)置的CPU指令檢測此終端是否支持超線 程技術(shù),對于支持超線程技術(shù)的主機,視頻級別將會提高,此調(diào)節(jié)方法同上述 是否雙核的調(diào)節(jié)方法一致。
步驟104:得到本機4見頻級別后確定本機編碼的最高幀率,通過該最高幀 率對即時通信的纟見頻數(shù)據(jù)進(jìn)行編碼,方法如下
首先將終端幀率劃分為n級,每一級別幀率都對應(yīng)一個4見頻級別,都是由
大到,j---對應(yīng),然后用通過調(diào)節(jié)最后得到的視頻級別對應(yīng)相應(yīng)的幀率級別,
得到最高幀率,進(jìn)而獲取終端視頻編碼的最高限制。
在開始視頻通話前得到終端視頻編碼的最高限制,保證資源占用在本機的 處理能力范圍之內(nèi),視頻質(zhì)量達(dá)到最佳,然后進(jìn)入視頻傳輸過程。
通過本發(fā)明的視頻質(zhì)量調(diào)節(jié)方法,對于低配置的終端來說,可大大減少資
源占用率,不影響用戶的其他工作,同時也能夠提高連接建立的成功率;而對 于高配置的終端,視頻級別相應(yīng)提高,能夠使用戶得到較好的視頻體驗,避免 造成資源的浪費。
如圖2所示,本發(fā)明還提供一種具有上述功能的即時通信視頻質(zhì)量調(diào)節(jié)裝 置,該裝置應(yīng)用于進(jìn)行即時通信的終端中。該視頻質(zhì)量調(diào)節(jié)裝置主要包括性能 指標(biāo)獲取單元21和視頻質(zhì)量調(diào)節(jié)單元22兩部分。其中,性能指標(biāo)獲取單元21 , 用于獲取終端的CPU性能指標(biāo)信息,并將獲取的CPU性能指標(biāo)信息發(fā)送給視 頻質(zhì)量調(diào)節(jié)單元;視頻質(zhì)量調(diào)節(jié)單元22,用于根據(jù)收到的CPU性能指標(biāo)信息 調(diào)節(jié)終端的視頻質(zhì)量。
視頻質(zhì)量調(diào)節(jié)單元22還可以包括視頻級別調(diào)節(jié)單元31、視頻質(zhì)量調(diào)節(jié)單 元32。其中,視頻級別調(diào)節(jié)單元31,用于根據(jù)所述CPU性能指標(biāo)信息調(diào)節(jié)終 端的視頻級別,并將視頻級別輸出給視頻質(zhì)量調(diào)節(jié)單元;視頻質(zhì)量調(diào)節(jié)單元32, 用于4艮據(jù)視頻級別確定編碼的最到幀率,并輸出該最高幀率給終端。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,該方法為獲取終端CPU性能指標(biāo)信息,根據(jù)CPU性能指標(biāo)信息對即時通信視頻質(zhì)量進(jìn)行調(diào)節(jié)。
2、 根據(jù)權(quán)利要求1所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,對 即時通信;f見頻質(zhì)量進(jìn)行調(diào)節(jié)的步驟包括A. 根據(jù)CPU性能指標(biāo)信息獲得本機的視頻級別;B. 根據(jù)視頻級別確定本機編碼的最高幀率,根據(jù)該最高幀率對即時通信的 視頻數(shù)據(jù)進(jìn)行編碼。
3、 根據(jù)權(quán)利要求1所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,所 述對即時通信視頻質(zhì)量進(jìn)行調(diào)節(jié)的步驟是在終端向?qū)Χ税l(fā)送視頻命令或終端 接受來自對端視頻命令時進(jìn)行的。
4、 根據(jù)權(quán)利要求1所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,所 述的終端CPU性能指標(biāo)信息包括主頻信息和/或緩存容量信息。
5、 根據(jù)權(quán)利要求2所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,當(dāng) 所述的終端CPU性能指標(biāo)信息包括主頻信息和緩存容量信息時,步驟A包括Al、獲取本機CPU主頻信息,根據(jù)獲取的主頻信息與視頻級別的對應(yīng)關(guān) 系,確定本機的初始一見頻級別;A2、檢測本機緩存信息,根據(jù)檢測得到的緩存信息對步驟A1得到的初始 視頻級別進(jìn)4于#~正。
6、 根據(jù)權(quán)利要求5所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,所 述將主頻信息與視頻級別的對應(yīng)關(guān)系設(shè)置為主頻越高,視頻級別越高;所述根據(jù)檢測得到的緩存信息對初始視頻級別進(jìn)行修正的原則是緩存容 量越大,視頻級別越高。
7、 根據(jù)權(quán)利要求5所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,步 驟Al中所述主頻信息是終端從注冊表中讀取獲得,或使用內(nèi)置CPU指令檢測獲得;步驟A2中所述緩存容量信息是終端通過內(nèi)置的CPU指令檢測獲取。8、 根據(jù)權(quán)利要求5所述的即時通信視頻質(zhì)量調(diào)節(jié)方法,其特征在于,所 述CPU性能指標(biāo)信息還包括視頻級別輔助信息,所述視頻級別輔助信息為是 否是雙核CPU、是否支持多媒體指令集和是否支持超線程技術(shù)中的一種或幾種;則在步驟A2之后,還進(jìn)一步包括A3、通過內(nèi)置的CPU指令檢測獲取視頻級別輔助信息,根據(jù)視頻級別輔 助信息對步驟A2中修正后的視頻級別進(jìn)行調(diào)節(jié),當(dāng)CPU支持輔助信息時,視 頻級別就越高。9、 一種即時通信視頻質(zhì)量調(diào)節(jié)裝置,應(yīng)用于進(jìn)行即時通信的終端中,其 特征在于,該裝置包括性能指標(biāo)獲取單元,用于獲取終端的CPU性能指標(biāo)信息,并將獲取的CPU 性能指標(biāo)信息發(fā)送給^f見頻質(zhì)量調(diào)節(jié)單元;視頻質(zhì)量調(diào)節(jié)單元,用于根據(jù)收到的CPU性能指標(biāo)信息調(diào)節(jié)終端的視頻 質(zhì)量。10、 根據(jù)權(quán)利要求9所述的即時通信視頻質(zhì)量調(diào)節(jié)裝置,其特征在于,所 述視頻質(zhì)量調(diào)節(jié)單元包括視頻級別調(diào)節(jié)單元,用于根據(jù)所述CPU性能指標(biāo)信息調(diào)節(jié)終端的視頻級 別,并將視頻級別輸出給視頻質(zhì)量調(diào)節(jié)單元;視頻質(zhì)量調(diào)節(jié)單元,用于根據(jù)視頻級別確定編碼的最高幀率,并輸出該最 高幀率給終端。
全文摘要
本發(fā)明公開了一種即時通信視頻質(zhì)量調(diào)節(jié)方法,該方法為當(dāng)終端向?qū)Χ税l(fā)送視頻命令或是終端接受來自對端視頻命令后,本地終端進(jìn)行自檢,獲取CPU的主頻信息,根據(jù)獲取的主頻信息對本機的視頻級別進(jìn)行劃分,初步得到視頻級別,再通過檢測緩存信息和視頻級別輔助信息對視頻級別進(jìn)行調(diào)節(jié)。通過最終的視頻級別得到幀率的最高限制,保證資源占用在本機的處理能力范圍之內(nèi),使視頻質(zhì)量達(dá)到最佳,最后進(jìn)入視頻傳輸過程。通過本發(fā)明可以較好的利用資源,避免造成資源浪費,并且還能提高連接建立的成功率,改善用戶視頻體驗。本發(fā)明還同時公開了一種視頻質(zhì)量調(diào)節(jié)裝置。
文檔編號H04N7/173GK101115021SQ20061009953
公開日2008年1月30日 申請日期2006年7月28日 優(yōu)先權(quán)日2006年7月28日
發(fā)明者靜 呂 申請人:騰訊科技(深圳)有限公司