專利名稱:混合維度編解碼方法和裝置的制作方法
技術領域:
本發(fā)明涉及編解碼技術領域,尤其涉及一種混合維度編解碼方法和裝置。
背景技術:
基于上下文的算術編碼是一種高性能的無損壓縮處理方法,該方法利用信號的短 時穩(wěn)定性,建立描述相鄰幀或相鄰若干幀相關性的統(tǒng)計模型,通過分析、實時地選擇最優(yōu)的 模型,從而獲得高效率的無損編碼效果。上下文(context)指基于相鄰幀對應頻點間或者 同一幀臨近頻點間存在某種聯(lián)系這個事實,當前待編解碼的系數(shù)之前已經(jīng)得到的編解碼的 系數(shù)。統(tǒng)一語音和音頻編碼(Unified Speech and Audio Coding, USAC)是移動圖像專 家組(Moving Picture Experts Group,MPEG)正在進行的標準。其中采用了基于上下文 的算術編碼,該方法每一幀的頻譜系數(shù)從低頻到高頻每4個一組,形成一個4維向量空間 4-tuples,作為編碼對象。在實現(xiàn)本發(fā)明創(chuàng)造的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中采取4-tuples方法的固定 維度編解碼方法,限制了編解碼效率的提升。
發(fā)明內容
本發(fā)明實施例提供一種混合維度編解碼方法和裝置,對不同的頻譜系數(shù)采用不同 的維度,通過多維混合編解碼,提高編解碼效率。本發(fā)明實施例提供一種混合維度編解碼方法,包括根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度。根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼。本發(fā)明實施例提供一種混合維度編解碼裝置,包括變量獲取模塊用于根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合;維度確定模塊用于根據(jù)所述變量獲取模塊獲得的至少一個變量集合與對應的閾 值集合的關系,確定待處理頻譜系數(shù)的處理維度。編解碼模塊用于根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或 解碼。本發(fā)明實施例提供的技術方案,采用根據(jù)已處理頻譜系數(shù)計算得出至少一個變量 集合,根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度, 根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼的技術手段,通過針對 不同的頻譜系數(shù)采用不同的處理維度,提高了編解碼效率。
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其 他的附圖。圖1為本發(fā)明實施例提供的一種上下文模型示意圖;圖2為本發(fā)明混合維度編解碼方法一個實施例的流程圖;圖3為本發(fā)明實施例提供的16階上下文模型示意圖;圖4為本發(fā)明混合維度編解碼方法中維度確定方法的一個實施例的流程圖;圖5為本發(fā)明混合維度編解碼方法中維度確定方法的又一個實施例的流程圖;圖6為本發(fā)明混合維度編解碼方法一個結合位置確定維度的實施例的流程圖;圖7為本發(fā)明混合維度編解碼方法的一個實施例的流程圖;圖8為圖7所示實施例中的一種上下文模型;圖9為圖7所示實施例中的一個維度確定方法流程圖;圖10為圖7所示實施例中的另一種上下文模型;圖11為圖7所示實施例中的另一個維度確定方法流程圖;圖12為圖7所示實施例中的又一種上下文模型;圖13為本發(fā)明混合維度編解碼方法的一個實施例的流程圖;圖14為圖13所示實施例中的一個維度確定方法流程圖;圖15為圖13所示實施例中的另一個維度確定方法流程圖;圖16為本發(fā)明混合維度編解碼裝置一個實施例的結構示意圖;圖17為本發(fā)明混合維度編解碼裝置另一個實施例的結構示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供的技術方案可以應用于編碼端和解碼端,為使實施例簡要清 楚,將編碼和解碼的表述統(tǒng)一為處理,所以本發(fā)明實施例中出現(xiàn)的待處理頻譜系數(shù)包括待編 碼頻譜系數(shù)和待解碼頻譜系數(shù),已處理頻譜系數(shù)包括已編碼頻譜系數(shù)和已解碼頻譜系數(shù)。下面結合圖1給出一種上下文模型用于簡要介紹本發(fā)明實施例中應用到的上下 文。假設當前待處理頻譜系數(shù)為X,則可以取臨近的已處理頻譜系數(shù)作為上下文,圖中的數(shù) 字1至8表示已處理頻譜系數(shù)與待處理頻譜系數(shù)的相關程度,1表示相關程度最強,8表示 相關程度最弱。從圖中可以看出,待處理頻譜系數(shù)與待處理幀的臨近的頻譜系數(shù)相關,也與 待處理幀之前的若干幀的已處理頻譜系數(shù)有關。這里需要說明的是,圖1是一個上下文模 型的實施例,圖中待處理頻譜系數(shù)X,已處理頻譜系數(shù)1至8中,可以包括N個頻譜系數(shù),N 可以取大于等于1的整數(shù),即參與維度選擇的待處理頻譜系數(shù)可以為N個。本發(fā)明實施例中,每一幀包括多個頻譜系數(shù),處理每一幀的頻譜系數(shù)前,需要首先輸入上下文。輸入的上下文可以為前一幀的上下文,也可以是前幾幀的上下文。為節(jié)省存 儲空間,可以只輸入前一幀的上下文,即將前一幀已處理頻譜系數(shù)根據(jù)待處理幀的長度映 射而來。為敘述簡明,后續(xù)實施例中將以儲存前一幀的上下文為例進行說明。以多幀頻譜 系數(shù)作為上下文的實現(xiàn)方式可以參考本發(fā)明實施例提供的方案實現(xiàn),不再一一舉例。圖2為本發(fā)明混合維度編解碼方法一個實施例的流程圖,如圖2所示,本發(fā)明實施 例包括S100、根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合。S102、根據(jù)所述至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系 數(shù)的處理維度。S104、根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼。本發(fā)明實施例提供的方法,采用根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集 合,根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度,根 據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼的技術手段,通過針對不 同的頻譜系數(shù)采用不同的處理維度,提高了編解碼效率。結合圖2對本發(fā)明混合維度編解碼方法進行進一步說明,本發(fā)明實施例包括S100、根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合。如前所述,待處理的頻譜系數(shù)可以是N個,在選擇待處理頻譜系數(shù)的處理維度之 前,需要確定參與維度選擇的待處理頻譜系數(shù)的個數(shù),為敘述方便,后續(xù)實施例中將以4個 或2個為例進行說明,選擇其他個數(shù)的實現(xiàn)方式可以參考本發(fā)明實施例提供的方案實現(xiàn),
不再一一舉例。獲得待處理頻譜系數(shù)的個數(shù)后即可以確定用于作為上下文的已編碼頻譜系數(shù)。現(xiàn) 以16階上下文模型為例進行說明,如圖3所示,黑色方塊表示確定的待編碼頻譜系數(shù),這里 待編碼頻譜系數(shù)為4個,作為上下文的已編碼頻譜系數(shù)可以為采用黑色圓形表示的前一幀 12個頻譜系數(shù)及待處理幀4個頻譜系數(shù)。這里需要說明的是,在某些實施方式中,采用上述16階的上下文模型時,如果待 編碼頻譜系數(shù)為最初的幾個點,可以通過添零補齊16個已編碼頻譜系數(shù),某些實施方式 中,也可以通過區(qū)分待編碼頻譜系數(shù)的位置的方式解決。同理,對于其他上下文模型,可以 參照上述原理處理,不再一一舉例。本發(fā)明實施例中,可以根據(jù)確定的待處理頻譜系數(shù)的個數(shù)與上下文模型、確定已 處理頻譜系數(shù),根據(jù)確定的已處理頻譜系數(shù)計算得出至少一個變量集合。本發(fā)明實施例中,變量可以為位置、能量、均值、方差、均方差、最小方差、傾斜度、 離散度、離差等表示數(shù)據(jù)差異的量,需要說明的是,這里的變量類別只是舉例說明,凡能夠 根據(jù)已處理頻譜系數(shù)計算得出,用于實現(xiàn)本發(fā)明技術思想的變量類別均在本發(fā)明實施例保 護范圍之內。變量集合中的變量可以包括多個變量,多個變量可以同屬于上述類別中的一 類,也可以分屬于不同的類別。舉例來說,假設變量集合包括5個變量,可以是5個能量變 量,也可以是2個均值變量和3個方差變量,或者是1個能量變量、2個均值變量和2個方差 變量??梢?,變量集合包括的變量種類和變量個數(shù)可以根據(jù)實際情況設定。S102、根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的 處理維度。
本發(fā)明實施例中,相應于變量集合設定閾值集合,閾值集合中包括若干閾值,該若 干閾值為常量,其取值可以通過實驗得到。根據(jù)至少一個變量集合與對應的閾值集合的關系包括多種情況,舉例說明如下1、存在一個變量集合和一個閾值集合的情況即將一個變量集合中的變量或變量 組合與一個閾值集合中的相應閾值進行比較。2、存在兩個變量集合和兩個閾值集合的情況變量集合包括第一變量集合和第二 變量集合,分別對應于第一閾值集合和第二閾值集合,從而至少一個變量集合與對應的閾 值集合的關系為第一變量集合中的變量或變量組合與第一閾值集合中相應的閾值的關系, 以及第二變量集合中的變量或變量組合與第二閾值集合中相應的閾值的關系,某些實施方 式中,第一閾值集合也可以與第二閾值集合相等,即不同的變量集合可以對應同一個閾值
皇A
朱口 ο3、其他情況如存在至少三個變量集合和至少三個閾值集合的情況;或變量集合 和閾值集合的個數(shù)不對等的情況。前述情況可以根據(jù)本發(fā)明實施例提供的原則處理,在此
不再一一贅述。維度的取值表示一次可以處理的頻譜系數(shù)的個數(shù),如1維處理表示一次處理1個 頻譜系數(shù),4維處理表示一次處理4個頻譜系數(shù),16維處理表示一次處理16個頻譜系數(shù)。維 度的取值可以根據(jù)待處理頻譜系數(shù)的個數(shù)確定,如待處理的頻譜系數(shù)為2個,則只能采用1 維或2維處理;如待處理的頻譜系數(shù)為4個,則可以采用1維、2維或4維處理;如待處理的 頻譜系數(shù)為16個,則可以采用更多的維數(shù)進行處理,比如16維處理。本發(fā)明實施例中,可供選擇的維度的數(shù)量至少為2個,具體數(shù)量可以根據(jù)變量集 合和閾值集合的集合個數(shù)確定。如只包括一個變量集合和一個閾值集合時,維度的數(shù)量可 以選擇2個;如包括兩個變量集合和兩個閾值集合時,維度的數(shù)量可以選擇3個;包括更多 的集合數(shù)時,可以根據(jù)實際情況確定,在此不再贅述。本發(fā)明實施例中,維度的取值和維度的數(shù)量確定后,待處理頻譜系數(shù)的處理維度 的選擇范圍也就確定了。具體的根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待 處理頻譜系數(shù)的處理維度的方法將在后面的實施例中進行介紹。S104、根據(jù)選擇的維度對待處理頻譜系數(shù)進行該維度下的編碼或解碼。本發(fā)明實施例中,確定待處理頻譜系數(shù)的維度后即可以進行相應維度下的編解 碼。比如選擇了 4維的處理維度即可以進行4維編碼,選擇了 2維的處理維度即可以進行 2維編碼等。在編碼時,如果前述頻譜系數(shù)的個數(shù)為4個,在進行4維編碼時即將4個頻譜 系數(shù)看作一個4維向量進行編碼;在進行2維編碼時,即將2個頻譜系數(shù)看作一個2維向量 進行編碼。具體的根據(jù)選擇的維度進行該維度下的編解碼方法,可以參考現(xiàn)有技術的內容, 在此不再贅述。這里的編解碼方式不做限定,可以采用算術編碼,也可以采用其他任意無損編碼 或熵編碼。同理解碼端也可以采用多種解碼方式。本發(fā)明實施例提供的方法,采用根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集 合,根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度,根 據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼的技術手段,通過針對不 同的頻譜系數(shù)采用不同的處理維度,提高了編解碼效率。
現(xiàn)對混合維度的編解碼方法對于編解碼效率的提高進行一個簡單的說明以編碼 為例,基于上下文的編碼借助相鄰系數(shù)的相關性獲得比較高的編碼效率,若相鄰系數(shù)相關 性大則編碼效率高,反之亦然。例如,相鄰四個系數(shù)分別為12,2,1,2,由于12與其他系數(shù)相 關性不高,采用統(tǒng)一的4維聯(lián)合編碼很難找到合適的概率模型,導致效率不高。針對此種情 況,可以將上述系數(shù)區(qū)分開{12},{2,1,2}。對12單獨選擇合適的處理維度進行編碼;對 {2,1,2}單獨選擇合適的處理維度進行編碼,效率更高。圖4為本發(fā)明混合維度編解碼方法中維度確定方法的一個實施例的流程圖,如圖 4所示,本發(fā)明實施例包括本實施例以至少一個變量集合包括第一變量集合和第二變量集合,相應的閾值集 合包括第一閾值集合和第二閾值集合為例,說明根據(jù)已處理頻譜系數(shù)計算得出至少一個變 量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維 度的方法。本發(fā)明實施例中維度的數(shù)量確定為3個,維度的取值分別稱為第一維度、第二維 度和第三維度,如前所述,維度的取值可以有多種選擇,如在允許條件下的任意整數(shù),上述 三個維度的取值在具體實現(xiàn)中可以根據(jù)實際情況確定。本發(fā)明實施例為敘述方便,后續(xù)以 1維、2維和4維舉例進行說明,但不作為本發(fā)明實施例的限定。S300、根據(jù)已處理頻譜系數(shù)獲得第一變量集合。S302、判斷第一變量集合中的變量或變量組合是否全部小于第一閾值集合中相應 的閾值,是則執(zhí)行S304,否則執(zhí)行S306。S304、確定待處理頻譜系數(shù)的處理維度為第一維度。S306、根據(jù)已處理頻譜系數(shù)獲得第二變量集合。S308、判斷第二變量集合中的變量或變量組合是否全部小于第二閾值集合中相應 的閾值,是則執(zhí)行S310,否則執(zhí)行S312。S310、確定待處理頻譜系數(shù)的處理維度為第二維度。S312、確定待處理頻譜系數(shù)的處理維度為第三維度。需要說明的是,上述關于比較關系的設定并不作為本發(fā)明實施例的限定,小于也 可以為小于或等于。圖5為本發(fā)明混合維度編解碼方法中維度確定方法的又一個實施例的流程圖,如 圖5所示,本發(fā)明實施例包括本實施例以至少一個變量集合和對應的閾值集合只包括一個變量集合和一個閾 值集合為例,說明根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合;根據(jù)至少一個變量集 合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度的方法。本發(fā)明實施例中維 度的數(shù)量確定為2個,維度的取值分別稱為第四維度和第五維度,上述兩個維度的取值在 具體實現(xiàn)中可以根據(jù)實際情況確定。S400、根據(jù)已處理頻譜系數(shù)獲得一個變量集合。S402、判斷變量集合中的變量或變量組合是否全部小于閾值集合中相應的閾值, 是則執(zhí)行S404,否則執(zhí)行S406。S404、確定待處理頻譜系數(shù)的處理維度為第四維度。S406、確定待處理頻譜系數(shù)的處理維度為第五維度。需要說明的是,上述關于比較關系的設定并不作為本發(fā)明實施例的限定,小于也可以為小于或等于。某些實施方式中,考慮待處理頻譜系數(shù)的位置在確定維度時的影響,即根據(jù)已處 理頻譜系數(shù)和待處理頻譜系數(shù)的位置,選擇待處理頻譜系數(shù)的處理維度。該實施例的混合 維度編解碼方法包括對輸入信號進行時頻變換,獲得待編碼頻譜系數(shù);按照從低頻到高 頻的順序,根據(jù)待處理頻譜系數(shù)的位置和已處理頻譜系數(shù),選擇待處理頻譜系數(shù)的處理維 度;根據(jù)選擇的維度對待處理頻譜系數(shù)進行該維度下的編碼或解碼。待處理頻譜系數(shù)的位置即待處理頻譜系數(shù)的下標,代表在待處理幀中所處的位 置。某些情況下,待處理幀中初始的若干個的待處理頻譜系數(shù)無法獲得足夠多的上下文進 行分析,所以某些實施方式中可以設定一個位置閾值,根據(jù)待處理頻譜系數(shù)與位置閾值的 關系確定不同的維度選擇流程。對于位置閾值前后的待處理系數(shù)設定不同維度選擇范圍,比如對于在待處理幀中 的位置大于等于位置閾值的待處理頻譜系數(shù)設定一個第一范圍,第一范圍內可以包括多個 維度;對于在待處理幀中的位置小于位置閾值的待處理頻譜系數(shù)可以設定一個第二范圍, 第二范圍內設定的維度的數(shù)量可以少一些,最少可以設為一個,某些實施方式中,第二范圍 中的維度也可以進行區(qū)分設定,比如對于某些點設定一個維度選擇的范圍,另一些點設定 另一個維度選擇的范圍。這里的維度選擇范圍的確定可以結合前面實施例的方法確定。通 過根據(jù)位置區(qū)分待處理頻譜系數(shù)的處理維度選擇范圍,可以使一些特殊區(qū)域的頻譜系數(shù)獲 得足夠多的上下文進行分析。需要說明的是,上述關于比較關系的設定并不作為本發(fā)明實 施例的限定,大于等于也可以為大于,小于也可以為小于或等于。下面假設位置閾值取值為4 (代表待處理幀的第5個待處理系數(shù)),以一組具體的 數(shù)值為例,結合圖6對上述實施例進行進一步說明S500、判斷待處理頻譜系數(shù)的位置是否大于等于4,是則執(zhí)行S502,否則執(zhí)行 S504。S502、采用前述實施例提供的根據(jù)已處理頻譜系數(shù),選擇待處理頻譜系數(shù)的處理 維度的方法,在第一范圍中確定處理維度為4維、2維或1維。S504、采用前述實施例提供的根據(jù)已處理頻譜系數(shù),選擇待處理頻譜系數(shù)的處理 維度的方法,在第二范圍中確定處理維度為2維或1維。某些實施方式中,可以根據(jù)第二范圍的設定做進一步的區(qū)分若待處理頻譜系數(shù)在待處理幀中的位置為0或2(待處理幀的第1、3個待處理系 數(shù)),維度的選擇范圍為2維或1維若待處理頻譜系數(shù)在待處理幀中的位置為1或3 (待處理幀的第2、4個待處理系 數(shù)),確定維度為1維。圖7為本發(fā)明混合維度編解碼方法的一個實施例的流程圖,如圖7所示,本發(fā)明實 施例以編碼端為例,以能量作為變量,通過位置和能量結合,較為具體的取值對前述介紹的 技術方案進行進一步說明首先,輸入上下文,該上下文為將前一幀已編碼幀根據(jù)當前待編碼幀的長度映射 而來。然后,根據(jù)當前待編碼頻譜系數(shù)的位置,根據(jù)已編碼頻譜系數(shù),選擇待編碼頻譜系數(shù) 的維度,根據(jù)選擇的維度對待編碼頻譜系數(shù)進行編碼。當前待編碼頻譜系數(shù)編碼完成后,位 置計數(shù)器增加以更新當前待編碼頻譜系數(shù),然后,重復上述根據(jù)當前待編碼頻譜系數(shù)的位置選擇待編碼頻譜維度的過程,直到當前待編碼幀編碼完成。當前待編碼幀編碼完成后,刷 新上下文,為下一幀的編碼做準備。本發(fā)明實施例中,設定當待編碼頻譜系數(shù)處于0,2位置時,當前待編碼頻譜系數(shù) 可以選擇1維或2維編碼;當待編碼頻譜系數(shù)處于1,3位置時,當前待編碼頻譜系數(shù)采用1 維編碼;當待編碼頻譜系數(shù)處于4以后的位置,可選擇4維、2維、或1維編碼。設當前待編碼頻譜系數(shù)的位置變量為pst,按照上述流程圖,下面提供三個分支的 實例情況1:當pst彡4時上下文模型如圖8所示,其中ena,enb, enc, end是待編碼頻譜系數(shù),即選擇待編 碼頻譜系數(shù)為 4 個;其它 16 個數(shù)據(jù)ra, rb, rc, rd, va, vb, vc, vd, la, lb, lc, Id, era, crb, crc, crd是待編碼頻譜系數(shù)的16個上下文頻譜系數(shù),即選擇的已編碼頻譜系數(shù);這里通過 這16個已編碼頻譜系數(shù)來預測待編碼頻譜系數(shù)ena,enb, enc, end的維度。如圖9所示,本實施例中以能量為變量,變量集合包括第一變量集合ev,esl, er, el,第二變量集合WS0,WS1,WS2 ;閾值集合包括第一閾值集合a,b,第一閾值集合c,d,e,其 中a,b,c, d,e為常量,其取值通過實驗得到。變量撲,^1,吐,61,^0,^1,^2為待處理的頻譜系數(shù)相鄰區(qū)域內多個已編碼頻 譜系數(shù)的能量,計算方法如下所示ev = Iva|"3+1vb|"3+1vc|"3+1vd|~3 ; esl = | era|"3+1crb|"3+1crc|"3+ crd "3 ;el = I Ia|"3+1Ib|"3+1Ic|"3+1Id|"3 ;er = |ra|"3+1rb|"3+1rc|"3+1rd|"3 ;wsO= I va|"3+1 vb I "3+1 crc I "3+1 crd I "3 ;ws 1= |lcr3+|ld|"3+|vcr3+|vd|"3 ;ws2 = er+|la|"3+|lb|"3。在本實施例中,可以設定閾值分別為a = b = 8,c = 64,d = 133,e = 216 1、若ra = 1,rb = 0,rc = 0,rd = 1 ; va = 1,vb = 0, vc = 1, vd = 0 ;la = 0,lb = 0,Ic = 1,Id = 0 ; era = 0,crb = 1,crc = 1, crd = 0 ;則經(jīng)計算可得ev= 2, er = 2,el = 1,esl = 2 ;貝!J (ev+esl) = 4 < a 且(er+el) = 3 < b,此時選擇 4 維編碼,即將ena,enb, enc, end看做一個4維向量,按4維向量進行編碼。2、若ra = 1,rb = 0,rc = 0,rd = 1 ; va = 1,vb = 0, vc = 1, vd = 0 ;la = 2,lb = 0,Ic = 1,Id = 0 ; era = 0,crb = 1,crc = 1, crd = 0 ;則經(jīng)計算可得ev= 2, er = 2,el = 8,esl = 2 ;則(ev+esl) = 4 < 8且(er+el) = 9 > 8,此時只能選擇2或1維編碼。進一步計算可得wsO = 2, wsl = 2, ws2 = 10此時WS0<c,WSl <d,WS2<e,符合2維編碼的條件,選擇2維編碼,即將ena, enb看做一個2維向量,按2維向量進行編碼。3、若ra = 1,rb = 0,rc = 0,rd = 1 ; va = 1,vb = O, vc = 1, vd = 3 ;la = 1,lb = 0,Ic = 5,Id = O ; era = 0,crb = 1,crc = 1, crd = O ;
則經(jīng)計算可得ev= 9, er = 28,el = 126,esl = 2 ;則(ev+esl)= 31 > a 且(er+el) = 128 > b,此時只能選擇 2 或 1 維編碼。進一步計算可得wsO = 2, wsl = 134, ws2 = 4此時WS0 < c, wsl > d,ws2 < e,不符合2維編碼的條件,選擇1維編碼,即將 ena看做一個1維向量,按1維向量進行編碼。由上述流程可見,本發(fā)明實施例中,根據(jù)已處理頻譜系數(shù)獲得能量集合ev,esl, er,el ;若(ev+vsl) <a,且(er+el) < b,則確定編碼維度為4維;若不符合(ev+vsl) < a, 且(er+el) < b的條件,則獲得能量集合wsO,wsl,ws3 ;若wsO < c且wsl < d且ws3 < e, 則確定編碼維度為2維;否則確定編碼維度為1維。情況2 當pst = O或2時在該情況下,待編碼頻譜系數(shù)采用1維或2維向量編碼,這里分兩種情況進行討 論1、當pst = O時,上下文模型如圖10所示,這里對待編碼頻譜系數(shù)ena,enb采用 1維或2維編碼,其具體判斷流程如圖11所示在本實施例中,一個變量集合為WS0,WS1,一個閾值集合為c,d。設定閾值分別為 c = 35, d = 152,能量變量wsO和wsl的計算方法如下wsO = |va|"3+|vb|"3 ; ws 1 = |la|"3+|lb|"3+|Ic|"3+|Id|"3+|vc|"3+|ν d|"3;若va = 2, vb = 1,vc = O, vd = 1 ;la = 2,lb = 1,Ic = 2,Id = 1 時wsO = 9 < 35 ;wsl = 19 < 152,則此時選擇2維編碼,即將ena,enb看做一個2
維向量,按2維向量進行編碼。若va = 2, vb = 1,vc = 2, vd = 3 ;la = 6,lb = 0,Ic = 0,Id = 1 時wsO = 9 < 35 ;wsl = 252 > 152,則此時選擇1維編碼,即將ena看做一個1維
向量,按1維向量進行編碼。2、當pst = 2時,上下文模型如圖12所示,這里對待編碼頻譜系數(shù)ena,enb采用 1維或2維編碼,其具體判斷流程圖可以采用如圖11所示的方法。在本實施例中,設定常量分別為c = 27,d = 343,wsO和wsl的計算方法如下wsO= va | "3+1 vb | "3++1 crc | "3+1 crd | "3 ;wsl = I Ia I"3+1 Ib I"3+1 Ic I"3+1 Id I"3+1vcI"3+1vdI"3+|rcI"3+|rdI"3 ;若va = 2,vb = 1,vc = 0,vd = 1 ;la = 2,Ib = 1,Ic = 2,Id = 1,rc = 1,rd =0,sic = 1,sld = O 時wsO = 10 < 27 ;wsl = 20 < ;343,則此時選擇2維編碼,即將ena,enb看做一個
2維向量,按2維向量進行編碼。若va = 2,vb = 1,vc = 2,vd = O ;la = 6,Ib = 0,Ic = 0,Id = 5,rc = 1,rd =0,sic = 1,sld = O 時wsO = 10 < 27 ;wsl = 350 > ;343,則此時選擇1維編碼,將將ena看做一個1維
向量,按1維向量進行編碼。情況3 :pst = 1,3時,強制使用1維編碼。
圖13為本發(fā)明混合維度編解碼方法的另一個實施例的流程圖,如圖13所示,本發(fā) 明實施例以解碼端為例,以均值和方差作為變量,通過位置、均值和方差的結合,較為具體 的取值對前述介紹的技術方案進行進一步說明首先,輸入上下文,該上下文為將前一幀已解碼幀根據(jù)當前待解碼幀的長度映射 而來。然后,根據(jù)當前待解碼頻譜系數(shù)的位置,根據(jù)已解碼頻譜系數(shù),選擇待解碼頻譜系數(shù) 的維度,根據(jù)選擇的維度對待解碼頻譜系數(shù)進行解碼。當前待解碼頻譜系數(shù)解碼完成后,位 置計數(shù)器增加以更新當前待解碼頻譜系數(shù),然后,重復上述根據(jù)當前待解碼頻譜系數(shù)的位 置選擇待解碼頻譜維度的過程,直到當前待解碼幀解碼完成。當前待解碼幀解碼完成后,刷 新上下文,為下一幀的解碼做準備。本發(fā)明實施例中,設定當待解碼頻譜系數(shù)處于0,2位置時,當前待解碼頻譜系數(shù) 可以選擇1維或2維解碼;當待解碼頻譜系數(shù)處于1,3位置時,當前待解碼頻譜系數(shù)采用1 維解碼;當待解碼頻譜系數(shù)處于4以后的位置,可選擇4維、2維、或1維解碼。設當前待解碼頻譜系數(shù)的位置變量為pst,按照上述流程圖,下面提供三個分支的 實例情況1:當pst彡4時上下文模型如圖8所示,其中ena,enb, enc, end是待解碼頻譜系數(shù),即選擇待解 碼頻譜系數(shù)為 4 個;其它 16 個頻譜系數(shù)ra,rb,rc,rd,va, vb, vc, vd, la, lb, lc,Id, era, crb, crc, crd是待解碼頻譜系數(shù)的16個上下文頻譜系數(shù),即選擇的已解碼頻譜系數(shù);這里 通過這16個已解碼頻譜系數(shù)來預測待解碼頻譜系數(shù)ena,enb, enc, end的維度。如圖14所示,本實施例中以均值和方差為變量,變量集合包括第一變量集合vv, mv, vr, mr,第二變量集合vsO,vsl,msO, msl ;閾值集合包括第一閾值集合a,b,第一閾值集 合c,d,其中a,b,c, d為常量,其取值通過實驗得到。變量vv,vr, vsO, vsl為待處理的頻譜系數(shù)相鄰區(qū)域內多個已編碼頻譜系數(shù)的方 差,mV,mr,mS0,mSl為待處理的頻譜系數(shù)相鄰區(qū)域內多個已編碼頻譜系數(shù)的均值,計算方法 如下所示mv = (IvaI +1vbI +1vcI +1vdI +1 era I +1crbI +1crcI +1crdI)/8 ;vv = ((|va|-mv) "2+(|vb|-mv) "2+(|vc|-mv) "2+(|vd|-mv) "2+(| era|-mv) "2+( crbI-mv)"2+(|crc|-mv)"2+(|crd|-mv)"2)/8 ;mr = (| la | +1 lb | +1 Ic | +1 Id | +1 ra | +1 rb | +1 rc | +1 rd |) /8 ;vr = ((|la|-mr)"2+(|lb|-mr)"2+(|lc|-mr)"2+(|ld|-mr)"2+(|ra|-mr)"2+(|r bI-mr)"2+(|rc|-mr)"2+(|rd|-mr)"2)/8 ;msO = (I va | +1 vb | +1 crc | +1 crd |) /4 ;vsO = ((IvahmsO) "2+(| vb |-msO) "2+(| crc |-msO) "2+(| crd|-msO) "2)/4 ;msl = (I la I + I lb I + I Ic I + I Id I + I ra I + I rb I + I rc I + I rd I + I vc I + I vd I + I era | + | cr b|)/12 ;vsl = ((I la|-msl) "2+(| lb |-msl) "2+(| Ic |-msl) "2+(| Id |-msl) "2+(|ra -msl)"2+(|rb|-ms 1)"2+(|rc|-ms 1)"2+(|rd|-ms 1)"2+(|vc|-ms 1)"2+(|vd|-ms 1)"2+(I era I-ms 1)"2+(|crb|-msl)"2)/12。若(vv+mv) < a,且(vr+mr) < b,則選擇 4 維解碼即將ena,enb, enc, end 看做一個4維向量,按4維向量進行解碼。如果不滿足(vv+mv) < a,且(vr+mr) < b,則選擇2 或1維解碼。進一步的,如果(vsO+vsl) < c且(msO+msl) < d,則選擇2維解碼,即將ena, enb看做一個2維向量,按2維向量進行解碼;否則選擇1維解碼,即將ena看做一個1維 向量,按1維向量進行解碼。由上述流程可見,本發(fā)明實施例中,根據(jù)已處理頻譜系數(shù)獲得均值與方差集合W, mv,vr,mr ;若(vv+mv) < &且(vr+mr) < b,則確定編碼維度為4維;若不符合(vv+mv) < a 且(vr+mr) < b的條件,則獲得均值與方差集合vsO,vsl, msO, msl ;若(vsO+vsl) < c且 (msO+msl) < d,則確定編碼維度為2維;否則確定編碼維度為1維。情況2 當pst = 0或2時在該情況下,待解碼頻譜系數(shù)采用1維或2維向量解碼,這里分兩種情況進行討 論1、當pst = 0時,上下文模型如圖10所示,這里對待解碼頻譜系數(shù)ena,enb采用 1維或2維解碼,其具體判斷流程如圖15所示在本實施例中,變量集合為vsO,vsl,msO,msl,閾值集合為c,d。vsO, vsl, msO, msl的計算方法如下msO = (I va | +1 vb |) /2 ;vsO = ((|va|-ms0) "2+(| vb |-msO) "2)/2 ;msl = (Ila|+ I lb I+ I Ic I+ Ild|+ IvcI+ Ivd|)/6 ;vsl = ((Ila|-msl)"2+|lb|-msl)"2+|Ic|-msl)"2+|Id|-msl)"2+(|vc|-msl)"2+ (IvdI-msl)"2)/6ο若(vsO+msO) < c且(vsl+msl) < d,則此時選擇2維解碼,即將ena,enb看做 一個2維向量,按2維向量進行解碼;否則選擇1維解碼,即將ena看做一個1維向量,按 1維向量進行解碼。2、當pst = 2時,上下文模型如圖12所示,這里對待解碼頻譜系數(shù)ena,enb采用 1維或2維解碼,其具體判斷流程可以采用如圖15所示的方法。在本實施例中,vsO, vsl, msO, msl的計算方法如下
msO = (I va | +1 vb | +1 crc | +1 crd |) /4 ;vsO = ((I va | -msO) "2+ (| vb | -msO) "2+ (| crc | -msO) "2+ (| crd | -msO) "2)/4 ;msl = (I la | +1 lb | +1 Ic | +1 Id | +1 vc | +1 vd | +1 rc | +1 rd |) /8 ;vsl = ((Ila|-msl)"2+1lb|-msl)"2+1Ic|-msl)"2+1Id|-msl)"2+(|vc|-msl)"2+ (IvdI-ms1) "2+(|rc|-ms 1) "2+(|rd|-ms 1)"2)/8。若(vsO+msO) < c且(vsl+msl) < d,則此時選擇2維解碼,即將ena,enb看做 一個2維向量,按2維向量進行解碼;否則選擇1維解碼,即將ena看做一個1維向量,按 1維向量進行解碼。情況3 :pst = 1,3時,強制使用1維解碼。圖16為本發(fā)明混合維度編解碼裝置一個實施例的結構示意圖,如圖16所示,本發(fā) 明實施例包括
變量獲取模塊701 用于根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合;維度確定模塊702 用于根據(jù)所述變量獲取模塊701獲得的至少一個變量集合與 對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度。編解碼模塊703 用于根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編 碼或解碼。本發(fā)明實施例提供的裝置,采用根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集 合,根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度,根 據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼的技術手段,通過針對不 同的頻譜系數(shù)采用不同的處理維度,提高了編解碼效率。本發(fā)明實施例中,變量獲取模塊701獲得的變量包括位置、能量、均值、方差、均方 差、最小方差、傾斜度、離散度,和離差中的至少一個。某些實施方式中,所述維度確定模塊702還用于結合待處理頻譜系數(shù)的位置,確 定待處理頻譜系數(shù)的處理維度。若待處理頻譜系數(shù)在待處理幀中的位置大于等于位置閾 值,在第一范圍內選擇處理維度。若待處理頻譜系數(shù)在待處理幀中的位置小于位置閾值,在 第二范圍內選擇處理維度。某些實施方式中,如圖17所示,所述變量獲取模塊701包括第一變量獲取單元801 和第二變量獲取單元802。第一變量獲取單元801用于獲取與第一閾值集合對應的第一變 量集合;第二變量獲取單元802 用于獲取與第二閾值集合對應的第二變量集合。下面以變量獲取模塊701包括第一變量獲取單元801和第二變量獲取單元802為 例,簡單說明一下本發(fā)明實施例提供的混合維度編解碼裝置執(zhí)行上述實施例提供的方法的 流程第一變量獲取單元801根據(jù)已處理頻譜系數(shù)獲得第一變量集合;維度確定模塊702判斷所述第一變量集合中的變量或變量組合是否全部小于第 一閾值集合中相應的閾值,若結果為是,則確定待處理頻譜系數(shù)的處理維度為第一維度;若結果為否,則由第二變量獲取單元802根據(jù)已處理頻譜系數(shù)獲得第二變量集 合,然后由維度確定模塊702判斷判斷第二變量集合中的變量或變量組合是否全部小于第 二閾值集合中相應的閾值,若結果為是,則確定待處理頻譜系數(shù)的處理維度為第二維度;若 結果為否,則確定待處理頻譜系數(shù)的處理維度為第三維度。某些實施方式下,變量獲取模塊701只用于獲取一個變量集合,則不必再細分為 單元,此時,變量獲取模塊701根據(jù)已處理頻譜系數(shù)獲得一個變量集合,維度確定模塊702 判斷獲得的一個變量集合中的變量或變量組合是否全部小于對應閾值集合中相應的閾值, 若結果為是,則確定待處理頻譜系數(shù)的處理維度為第四維度;若結果為否,則確定待處理頻 譜系數(shù)的處理維度為第五維度。需要說明的是,上述關于比較關系的設定并不作為本發(fā)明實施例的限定,如小于 也可以為小于或等于,大于也可以為大于或等于。由于前述方法實施例已對混合維度編解碼方法進行了比較詳細的說明,上述實施 例中的混合維度編解碼裝置用于實現(xiàn)前述混合維度編解碼方法,所以對混合維度編解碼裝 置執(zhí)行方法時的具體細節(jié)只進行簡單說明,在此不再贅述,可以參考前述方法實施例的內容。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,可以通 過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述僅是本發(fā)明的具體實施方式
,應當指出,對于本技術領域的普通技術人 員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應 視為本發(fā)明的保護范圍。
權利要求
1.一種混合維度編解碼方法,其特征在于,所述方法包括 根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度。 根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼。
2.根據(jù)權利要求1所述的方法,其特征在于,所述變量包括位置、能量、均值、方差、均方差、最小方差、傾斜度、離散度,和離差中的至少一個。
3.根據(jù)權利要求1所述的方法,其特征在于結合待處理頻譜系數(shù)的位置,確定待處理頻譜系數(shù)的處理維度。
4.根據(jù)權利要求3所述的方法,其特征在于,所述方法包括若待處理頻譜系數(shù)在待處理幀中的位置大于等于位置閾值,在第一范圍內選擇處理維度。
5.根據(jù)權利要求1或4所述的方法,其特征在于所述至少一個變量集合包括第一變量集合和第二變量集合; 所述第一變量集合和第二變量集合分別與第一閾值集合和第二閾值集合對應。
6.根據(jù)權利要求5所述的方法,其特征在于,所述根據(jù)已處理頻譜系數(shù)計算得出至少 一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的 處理維度包括根據(jù)已處理頻譜系數(shù)獲得第一變量集合;若所述第一變量集合中的變量或變量組合全部小于第一閾值集合中相應的閾值,則確 定待處理頻譜系數(shù)的處理維度為第一維度。
7.根據(jù)權利要求5所述的方法,其特征在于,所述根據(jù)已處理頻譜系數(shù)計算得出至少 一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的 處理維度包括根據(jù)已處理頻譜系數(shù)獲得第一變量集合;若所述第一變量集合中的變量或變量組合不全部小于第一閾值集合中相應的閾值,則 獲得第二變量集合;若所述第二變量集合中的變量或變量組合全部小于第二閾值集合中相應的閾值,則確 定待處理頻譜系數(shù)的處理維度為第二維度。
8.根據(jù)權利要求5所述的方法,其特征在于,所述根據(jù)已處理頻譜系數(shù)計算得出至少 一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的 處理維度包括根據(jù)已處理頻譜系數(shù)獲得第一變量集合;若所述第一變量集合中的變量或變量組合不全部小于第一閾值集合中相應的閾值,則 獲得第二變量集合;若所述第二變量集合中的變量或變量組合不全部小于第二閾值集合中相應的閾值,則 確定待處理頻譜系數(shù)的處理維度為第三維度。
9.根據(jù)權利要求3所述的方法,其特征在于,所述方法包括若待處理頻譜系數(shù)在待處理幀中的位置小于位置閾值,在第二范圍內選擇處理維度。
10.根據(jù)權利要求1或9所述的方法,其特征在于,所述根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系 數(shù)的處理維度包括根據(jù)已處理頻譜系數(shù)獲得一個變量集合;若獲得的一個變量集合中的變量或變量組合全部小于對應閾值集合中相應的閾值,則 確定待處理頻譜系數(shù)的處理維度為第四維度。
11.根據(jù)權利要求1或9所述的方法,其特征在于,所述根據(jù)已處理頻譜系數(shù)計算得出 至少一個變量集合;根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系 數(shù)的處理維度包括根據(jù)已處理頻譜系數(shù)獲得一個變量集合;若獲得的一個變量集合中的變量或變量組合不全部小于對應閾值集合中相應的閾值, 則確定待處理頻譜系數(shù)的處理維度為第五維度。
12.一種混合維度編解碼裝置,其特征在于,所述裝置包括變量獲取模塊用于根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合; 維度確定模塊用于根據(jù)所述變量獲取模塊獲得的至少一個變量集合與對應的閾值集 合的關系,確定待處理頻譜系數(shù)的處理維度。編解碼模塊用于根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼。
13.根據(jù)權利要求12所述的裝置,其特征在于所述維度確定模塊還用于結合待處理頻譜系數(shù)的位置,確定待處理頻譜系數(shù)的處理 維度。
14.根據(jù)權利要求12所述的裝置,其特征在于,所述變量獲取模塊包括第一變量獲取單元用于獲取與第一閾值集合對應的第一變量集合; 第二變量獲取單元用于獲取與第二閾值集合對應的第二變量集合。
全文摘要
本發(fā)明實施例公開了一種混合維度編解碼方法和裝置。其中方法包括根據(jù)已處理頻譜系數(shù)計算得出至少一個變量集合,根據(jù)至少一個變量集合與對應的閾值集合的關系,確定待處理頻譜系數(shù)的處理維度,根據(jù)選擇的維度對所述待處理頻譜系數(shù)進行該維度下的編碼或解碼。通過上述技術手段,通過針對不同的頻譜系數(shù)采用不同的處理維度,提高了編解碼效率。
文檔編號H04N7/26GK102131081SQ20101004276
公開日2011年7月20日 申請日期2010年1月13日 優(yōu)先權日2010年1月13日
發(fā)明者劉佩林, 應忍冬, 肖瑋, 蔣三新 申請人:華為技術有限公司