專利名稱::用于精細化系數(shù)譯碼的基于塊類型統(tǒng)計的可變長度譯碼表選擇的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)字視頻譯碼,且更明確地說,涉及對可縮放視頻譯碼(SVC)方案的增強層中的變換系數(shù)的可變長度譯碼(VLC)。
背景技術(shù):
:可將數(shù)字視頻能力并入各種各樣的裝置中,其中包括數(shù)字電視、數(shù)字直接廣播系統(tǒng)、無線通信裝置、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)碼相機、數(shù)字記錄裝置、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話等。數(shù)字視頻裝置實施視頻壓縮技術(shù)(例如MPEG-2、MPEG-4或H.264/MPEG-4,高級視頻譯碼(AVC),第10部分),以更有效地傳輸及接收數(shù)字視頻。視頻壓縮技術(shù)執(zhí)行空間及時間預(yù)測以減少或移除視頻序列中所固有的冗余。在視頻譯碼'I',視頻壓縮通常包括空間預(yù)測、運動估計及運動補償。幀內(nèi)譯碼(intra-coding)依賴于空間預(yù)測以減少或移除給定視頻幀內(nèi)的視頻塊之間的空間冗余。幀間譯碼(inter-coding)依賴于時間預(yù)測以減少或移除視頻序列的連續(xù)視頻幀的視頻塊之間的時間冗余。對于幀間譯碼,視頻編碼器執(zhí)行運動估計以跟蹤匹配視頻塊在兩個或兩個以上相鄰幀之間的移動。運動估計產(chǎn)生運動向量,其指示視頻塊相對于一個或一個以上參考幀中的對應(yīng)預(yù)測視頻塊的位移。運動補償使用所述運動向量以從參考幀產(chǎn)生預(yù)測視頻塊。在運動補償之后,通過從待譯碼的原始視頻塊中減去預(yù)測視頻塊來形成殘余視頻塊。視頻編碼器通常應(yīng)用變換、量化及變換系數(shù)譯碼過程以進一步減少與殘余塊的通信相關(guān)聯(lián)的位速率。對殘余塊的變換系數(shù)的譯碼可涉及應(yīng)用可變長度代碼以進一步壓縮由變換及量化操作所產(chǎn)生的系數(shù)。舉例來說,可變長度譯碼(VLC)表可用于以提升譯碼效率的方式來使不同系數(shù)集合匹配于可變長度代碼字??舍槍Σ煌曨l內(nèi)容來使用不同VLC表。視頻解碼器執(zhí)行逆VLC操作以重構(gòu)所述系數(shù),且接著逆變換所述系數(shù)以重構(gòu)視頻信息。視頻解碼器可基于與視頻塊相關(guān)聯(lián)的運動信息及殘余信息來對視頻信息進行解碼。某種視頻譯碼利用可縮放技術(shù)。舉例來說,可縮放視頻譯碼(SVC)指代使用基礎(chǔ)層及一個或一個以上可縮放增強層的視頻譯碼。對于SVC,基礎(chǔ)層通常攜載具有基礎(chǔ)質(zhì)量等級的視頻數(shù)據(jù)。一個或--個以上增強層攜載額外視頻數(shù)據(jù)以支持較高的空間、時間及/或SNR等級。基礎(chǔ)層可以比增強層的傳輸更可靠的方式來傳輸。增強層可向基礎(chǔ)層的幀添加空間分辨率,或可添加額外幀以增加總幀速率。在一個實例中,經(jīng)調(diào)制信號的最可靠部分可用于傳輸基礎(chǔ)層,而經(jīng)調(diào)制信號的較不可靠部分可用于傳輸增強層。增強層可界定不同類型的系數(shù),所述系數(shù)被稱為有效系數(shù)及精細化系數(shù)。
發(fā)明內(nèi)容一般來說,本發(fā)明描述用于對可縮放視頻譯碼(svc)方案中的增強層進行譯碼的技術(shù)。所述技術(shù)提供用于在編碼及解碼過程期間對可變長度譯碼(VLC)表的選擇。所述技術(shù)可用于對變換系數(shù)塊進行譯碼,且可尤其對于對SVC方案的增強層的塊的精細化系數(shù)的VLC為有用的。精細化系數(shù)指代SVC方案中的先前層的對應(yīng)系數(shù)針對其具有非零值的增強層的系數(shù)。對精細化系數(shù)的VLC可與對有效系數(shù)的VLC分開地執(zhí)行,有效系數(shù)指代SVC方案屮的先前層的對應(yīng)系數(shù)針對其具有零值的增強層的系數(shù)。根據(jù)本發(fā)明的技術(shù),針對不問類型的視頻塊(例如,幀內(nèi)塊及幀間塊)選擇VLC表??舍槍σ曨l信息的每個幀選擇所述表一次,或可針對其它類型的譯碼單元選擇所述表一次(例如,針對視頻信息的每個切片選擇一次或針對幀的每個FGS層選擇一次)。可基于與先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計而選擇用于不同類型的視頻塊的VLC表。舉例來說,可基于與先前經(jīng)譯碼的幀內(nèi)塊相關(guān)聯(lián)的統(tǒng)計而選擇用于幀內(nèi)塊的VLC表。類似地,可基于與先前經(jīng)譯碼的幀間塊相關(guān)聯(lián)的統(tǒng)計而選擇用于幀間塊的VLC表。在一個實例中,毎一類型的視頻塊的統(tǒng)計可包含具有相同正負號值的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目相對于具冇相反正負號值的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目的比率?;诖吮嚷剩蛇x擇VLC表以用于對與給定幀的塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼,且當(dāng)遇到下一幀時,可再次計算所述比率以促進用于所述幀的VLC表選擇。在一個實例中,本發(fā)明提供一種對SVC方案的增強層進行譯碼的方法,所述方法包含確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計;確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;基于第一統(tǒng)計而從多個VLC表中選擇VLC表以用于對第一類型的視頻塊進行譯碼;基于第二統(tǒng)計而從多個VLC表中選擇第二VLC表以用于對第二類型的視頻塊進行譯碼;基于第一VLC表而對第一類型的視頻塊進行譯碼;以及基于第二VLC表而對第二類型的視頻塊進行譯碼。在另一實例中,本發(fā)明提供一種對SVC方案的增強層進行譯碼的裝置,所述裝置包含統(tǒng)計模塊,其確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計且確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;表選擇模塊,其基于第一統(tǒng)計而從多個VLC表屮選擇第一VLC表以用于對第一類型的視頻塊進行譯碼且基于第二統(tǒng)計而從多個VLC表中選擇第二VLC表以用于對第二類型的視頻塊進行譯碼;以及譯碼模塊,其基于第一VLC表而對第一類型的視頻塊進行譯碼且基于第二VLC表而對第二類型的視頻塊進行譯碼。在另一實例中,本發(fā)明提供一種對SVC方案的增強層進行譯碼的裝置,所述裝置包含用于確定統(tǒng)計的裝置,其確定與第-類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計且確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;用于選擇的裝置,其基于第一統(tǒng)計而從多個VLC表中選擇第一VLC表以用于對第一類型的視頻塊進行譯碼且基于第二統(tǒng)計而從多個VLC表中選擇第二VLC表以用于對第二類型的視頻塊進行譯碼;以及用于譯碼的裝置,其基于第一VLC表而對第一類型的視頻塊進行譯碼且基于第二VLC表而對第二類型的視頻塊進行譯碼。本發(fā)明中所描述的技術(shù)可以硬件、軟件、l古l件或其任何組合來實施。如果以軟件來實施,則所述軟件可在一個或一個以上處理器中執(zhí)行,所述處理器例如為微處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或數(shù)字信號處理器(DSP)。執(zhí)行所述技術(shù)的軟件可最初存儲于計算機可讀媒體中且加載于處理器中并在處理器中執(zhí)行。因此,本發(fā)明還預(yù)期一種包含指令的計算機可讀媒體,所述指令在視頻譯碼裝置屮執(zhí)行時致使所述裝置對SVC方案的增強層進行譯碼,其中所述指令致使所述裝置確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計;確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;基于第一統(tǒng)計而從多個VLC表中選擇第--VLC表以用于對第一類型的視頻塊進行譯碼;基于第二統(tǒng)計而從多個VLC表中選擇第二VLC表以用于對第一.類型的視頻塊進行譯碼;基于第一VLC表而對第一類型的視頻塊進行譯碼;以及基于第二VLC表而對第二類型的視頻塊進行譯碼。在一些情況下,所述計算機可讀媒體可形成可出售給制造者及/或在視頻譯碼裝置中使用的計算機程序產(chǎn)品的一部分。計算機程序產(chǎn)品可包括計算機可讀媒體,且在一些情10況下,還可包括封裝材料。在其它情況下,本發(fā)明可針對于一種電路,例如集成電路、芯片組、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、邏輯或其各種組合,其經(jīng)配置以執(zhí)行本文中所描述的技術(shù)中的一者或一者以上。在附圖及以下描述中闡述本發(fā)明的一個或一個以上方面的細節(jié)。將從所述描述及圖式中且從權(quán)利要求書中容易了解到本發(fā)明中所描述的技術(shù)的其它特征、目的及優(yōu)點。圖1為說明視頻編碼及解碼系統(tǒng)的示范性框圖。圖2為說明可縮放視頻位流的基礎(chǔ)層及增強層的視頻幀的概念圖。圖3為說明符合本發(fā)明的視頻編碼器的實例的框圖。圖4為說明符合本發(fā)明的視頻解碼器的實例的框圖。圖5為可變長度譯碼(VLC)編碼單元的示范性框圖。圖6為VLC解碼單元的示范性框圖。圖7為說明符合本發(fā)明的用于可變長度譯碼的VLC技術(shù)的流程圖。具體實施例方式本發(fā)明描述用于對可縮放視頻譯碼(svc)方案中的增強層進行譯碼的技術(shù)。所述技術(shù)提供用于在編碼器處及在解碼器處對可變長度譯碼(VLC)表的選擇。也就是說,VLC表選擇技術(shù)為互逆的,因為VLC表選擇在編碼器處執(zhí)行以對信息進行編碼且在解碼器處執(zhí)行以對信息進行解碼。所述技術(shù)可用于對變換系數(shù)進行譯碼,且尤其對于對SVC方案的增強層的精細化系數(shù)的可變長度譯碼為有用的。精細化系數(shù)指代SVC方案中的先前層的對應(yīng)系數(shù)針對其具有非零值的增強層的系數(shù)。相反地,有效系數(shù)指代SVC方案中的先前層的對應(yīng)系數(shù)針對其具有零值的增強層的系數(shù)。對精細化系數(shù)的可變長度譯碼可與對有效系數(shù)的可變長度譯碼分開地執(zhí)行。根據(jù)本發(fā)明的技術(shù),針對不同類型的視頻塊(例如,幀內(nèi)塊及幀間塊)選擇VLC表??舍槍γ總€經(jīng)譯碼單元選擇所述表一次(例如,針對每個幀選擇次,針對視頻信總的每個切片選擇一次或針對幀的每個FGS層選擇一次)??苫谂c先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計而選擇用于不同類型的視頻塊的VLC表。舉例來說,可基于與先前經(jīng)譯碼的幀內(nèi)塊相關(guān)聯(lián)的統(tǒng)計而選擇用于幀內(nèi)塊的VLC表,且可基于與先前經(jīng)譯碼的幀間塊相關(guān)聯(lián)的統(tǒng)計而選擇用于幀間塊的VLC表。在一個實例中,每一類型的視頻塊的統(tǒng)計可包含具有相同正負號值的所述塊類型的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目相對于具有相反正負號值的所述塊類型的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目的比率?;诿恳活愋偷膲K(幀內(nèi)及幀間)的比率,可選擇第一VLC表以用于對與給定幀的幀內(nèi)塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼,且可選擇第二VLC表以用于對與給定幀的幀間塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼。當(dāng)遇到下一幀時,可再次計算所述比率以促進用于所述幀的VLC表選擇。圖1為說明視頻編碼及解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10包括源裝置2,其經(jīng)由通信信道15將經(jīng)編碼視頻傳輸?shù)浇邮昭b置6。源裝置2可包括視頻源11、視頻編碼器12及調(diào)制器/發(fā)射器14。接收裝置6可包括接收器/解調(diào)器16、視頻解碼器18及顯不裝置20。系統(tǒng)10可經(jīng)配置以應(yīng)用用于對與SVC方案中的增強層相關(guān)聯(lián)的視頻信息的VLC的技術(shù)。SVC指代使用基礎(chǔ)層及一個或一個以上可縮放增強層的視頻譯碼。對于SVC,基礎(chǔ)層通常攜載具有基礎(chǔ)質(zhì)量等級的視頻數(shù)據(jù)。--個或-一個以上增強層攜載額外視頻數(shù)據(jù)以支持較高的空問、時間及/或信噪SNR等級。增強層可相對于先前經(jīng)編碼層來界定。增強層界定至少兩種不同類型的系數(shù),其被稱為有效系數(shù)及精細化系數(shù)。精細化系數(shù)可相對于先前經(jīng)編碼層的對應(yīng)值來界定值。增強層的幀有時僅包括基礎(chǔ)層或先前增強層中的全部數(shù)目的視頻塊的一部分,例如僅包括針對其執(zhí)行增強的那些塊。有效系數(shù)指代先前層'1'的對應(yīng)系數(shù)針對其具有零值的系數(shù)。精細化系數(shù)指代先前層中的對應(yīng)系數(shù)在先前層中針對其具有非零值的系數(shù)。對增強層的可變長度譯碼通常涉及兩遍式方法。執(zhí)行第一遍以對有效系數(shù)進行可變長度譯碼,且執(zhí)行另一遍以對精細化系數(shù)進行可變長度譯碼。本發(fā)明的技術(shù)尤其對于對精細化系數(shù)的可變長度譯碼為有用的,但本發(fā)明未必限于此方面。根據(jù)本發(fā)明的技術(shù),針對不同類型的視頻塊選擇不同VLC表。舉例來說,可選擇第一VLC表以用于對幀內(nèi)塊的精細化系數(shù)進行譯碼,且可選擇第二VLC表以用于對幀間塊的精細化系數(shù)進行譯碼。幀內(nèi)塊指代基于所述給定經(jīng)譯碼單元內(nèi)的塊而譯碼的塊。幀間塊指代基于另一經(jīng)譯碼單元的塊而譯碼的塊。VLC表選擇可基于與先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計。舉例來說,用于幀內(nèi)塊的VLC表可基于與先前經(jīng)譯碼的幀內(nèi)塊相關(guān)聯(lián)的統(tǒng)計來選擇,且用于幀間塊的VLC表可基于與先前經(jīng)譯碼的幀問塊相關(guān)聯(lián)的統(tǒng)計來選擇??舍槍γ總€經(jīng)譯碼單元來選擇VLC表一次,例如針對視頻信息的每個幀來選擇一次,針對視頻信息的每個切片來選擇一次或針對每個FGS層來選擇一次。FGS代表精細粒度信噪可縮放性,且在下文中更詳細地解釋。每一類型的視頻塊的統(tǒng)計可包含具有相同正負號值的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目相對于具有相反正負號值的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目的比率?;诿恳粔K類型的比率(即,幀內(nèi)塊的比率及幀間塊的比率),可選擇第一及第二VLC表以分別用于對與給定幀(或其它經(jīng)譯碼單元)的幀內(nèi)塊及幀間塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼。當(dāng)遇到下一幀(或其它經(jīng)譯碼單元)時,可再次計算所述比率以促進經(jīng)更新的VLC表選擇。在圖1的實例中,通信信道15可包含任何無線或有線通信媒體(例如射頻(RF)頻譜或-個或一個以上物理傳輸線)或無線與有線媒體的任何組合。通信信道15可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)等全球網(wǎng)絡(luò))的一部分。通信信道15大體上表示任何合適的通信媒體,或不同通信媒體的集合,用于將視頻數(shù)據(jù)從源裝置2傳輸?shù)浇邮昭b置6。源裝置2產(chǎn)生經(jīng)譯碼的視頻數(shù)據(jù)以供傳輸?shù)浇邮昭b置6。然而,在一些情況下,裝置2、6可以大致對稱的方式來操作。舉例來說,裝置2、6屮的每'者可包括視頻編碼及解碼組件。因此,系統(tǒng)IO可支持視頻裝置2、6之問的單向或雙向視頻傳輸,例如用于視頻串流、視頻廣播或視頻電話。源裝置2的視頻源11可包括視頻俘獲裝置,例如攝影機、含有先前所俘獲視頻的視頻保存器或來自視頻內(nèi)容提供者的視頻饋入。作為另一替代方案,視頻源11可產(chǎn)生作為源視頻的基于計算機圖形的數(shù)據(jù),或?qū)崨r視頻與計算機所產(chǎn)生的視頻的組合。在些情況下,如果視頻源11是攝影機,則源裝置2及接收裝置6可形成所謂的相機電話或視頻電話。在每一情況下,所俘獲的視頻、所預(yù)俘獲的視頻或計算機所產(chǎn)生的視頻可通過視頻編碼器12編碼以供經(jīng)fi調(diào)制器/發(fā)射器14、通信信道15及接收器/解調(diào)器16而從視頻源裝置2傳輸?shù)揭曨l接收裝置6的視頻解碼器18。視頻編碼及解碼過程可實施本文中所描述的VLC表選擇技術(shù)以改進所述過程。顯示裝置20向用戶顯示經(jīng)解碼的視頻數(shù)據(jù),且可包含多種顯示裝置中的任一者,例如陰極射線管、液晶顯示器(LCD)、等離子體顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。視頻編碼器12及視頻解碼器18可經(jīng)配置以支持SVC以實現(xiàn)空間、時間及/或信噪比(SNR)可縮放性。在一些方面中,視頻編碼器12及視頻解碼器18可經(jīng)配置以支持用于SVC的精細粒度SNR可縮放性(FGS)譯碼。編碼器12及解碼器18可通過支持基礎(chǔ)層及一個或一個以上可縮放增強層的編碼、傳輸及解碼來支持各種程度的可縮放性。而且,對于可縮放視頻譯碼,基礎(chǔ)層攜載具有基線質(zhì)量等級的視頻數(shù)據(jù)。一個或一個以上增強層攜載額外數(shù)據(jù)以支持較高的空間、時間及/或SNR等級。基礎(chǔ)層可以比增13強層的傳輸更可靠的方式來傳輸。舉例來說,經(jīng)調(diào)制信號的最可靠部分可用于傳輸基礎(chǔ)層,而經(jīng)調(diào)制信號的較不可靠部分可用于傳輸增強層。為了支持SVC,視頻編碼器12可包括基礎(chǔ)層編碼器22及一個或一個以上增強層編碼器24以分別執(zhí)行對基礎(chǔ)層及一個或一個以上增強層的編碼。本發(fā)明的技術(shù)(其涉及VLC表選擇)可應(yīng)用于對SVC中的增強層的視頻塊的譯碼。更具體地說,本發(fā)明的技術(shù)可應(yīng)用于對增強層的視頻塊的精細化系數(shù)的VLC,但本發(fā)明未必限于此方面。視頻解碼器18可包括對與基礎(chǔ)層及增強層兩者相關(guān)聯(lián)的視頻塊進行解碼的組合式基礎(chǔ)/增強解碼器。視頻解碼器18可對與基礎(chǔ)層及增強層兩者相關(guān)聯(lián)的視頻塊進行解碼,且對經(jīng)解碼視頻進行組合以重構(gòu)視頻序列的幀。顯示裝置20接收經(jīng)解碼的視頻序列,且將視頻序列呈現(xiàn)給用戶。視頻編碼器12及視頻解碼器18可根據(jù)視頻壓縮標準(例如MPEG-2、MPEG-4、ITU-TH.263或ITU-TH.264/MPEG-4,高級視頻譯碼(AVC),第10部分)來操作。盡管圖1屮未展示,但在-些方面屮,視頻編碼器12及視頻解碼器18可各自與音頻編碼器及解碼器集成,且可包括適當(dāng)?shù)亩嗦窂?fù)用器-多路分用器(MUX-DEMUX)單元或其它硬件及軟件,以處理對共同數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻與視頻兩者的編碼。如果可應(yīng)用,則多路復(fù)用器-多路分用器單元可遵照ITUH.223多路復(fù)用器協(xié)議或例如用戶數(shù)據(jù)報協(xié)議(UDP)等其它協(xié)議。H.264/MPEG-4(AVC)標準由ITU-T視頻譯碼專家組(VCEG)連同ISO/IEC運動圖像專家組(MPEG)—起制訂,作為稱為聯(lián)合視頻工作組(JVT)的集體合作伙伴的產(chǎn)品。在一些方面中,本發(fā)明中所描述的技術(shù)可應(yīng)用于通常遵照H.264標準的裝置。在由ITU-T研究組所作且注明日期為2005年3月的ITU-T建議H.264(用于通用視聽服務(wù)的高級視頻譯碼)中描述H.264標準,其在本文中可被稱為H.264標準或H.264規(guī)范或者H.264/AVC標準或規(guī)范。聯(lián)合視頻工作組(.IVT)繼續(xù)致力于對H.264/MPEG-4AVC的SVC擴展。演進SVC擴展的規(guī)范呈聯(lián)合草案(JD)的形式。由JVT所建立的聯(lián)合可縮放視頻模型(JSVM)實施用于在可縮放視頻中使用的工具,其可在系統(tǒng)10內(nèi)用于木發(fā)明中所描述的各種譯碼任務(wù)。關(guān)于精細粒度SNR可縮放性(FGS)譯碼的詳細信息可參見聯(lián)合草案文獻,且尤其是參見聯(lián)合草案6(SVCJD6)(托馬斯韋根(ThomasWiegand)、加里蘇利萬(GarySullivan)、朱利安賴歇爾(JulienReichel)、海寇許瓦爾茲(HeikoSchwarz)及馬蒂亞斯'維恩(MathiasWien),"聯(lián)合草案6:可縮放視頻譯碼(JointDraft6:ScalableVideoCoding)",JVT-S201,2006年4月,日內(nèi)瓦)以及聯(lián)合草案9(SVCJD9)(托馬斯韋根(ThomasWiegand)、加里蘇利萬(GarySullivan)、朱利安賴歇爾(JulienReichel)、??茉S瓦爾茲(HeikoSchwarz)及馬蒂亞斯維恩(MathiasWien),"SVC修正的聯(lián)合草案9(JointDraft9ofSVCAmendment)",JVT-V201,2007年1月,馬拉喀什,摩洛哥)。在一些方面中,對于視頻廣播,本發(fā)明中所描述的技術(shù)可應(yīng)用于增強型H.264視頻譯碼以用于在使用僅前向鏈路(FLO)空中接口規(guī)范"用于陸地移動多媒體多播的僅前向鏈路空中接口(ForwardLinkOnlyAirInterfaceSpecificationforTerrestrialMobileMultimediaMulticast)"(其將被公布為技術(shù)標準TIA-1099("FLO規(guī)范"))的陸地移動多媒體多播(TM3)系統(tǒng)中傳遞實時視頻服務(wù)。也就是說,通信信道15可包含用于根據(jù)FLO規(guī)范等來廣播無線視頻信息的無線信息信道。FLO規(guī)范包括界定適合于FLO空中接口的位流語法與語義及解碼過程的實例。或者,可根據(jù)例如DVB-H(數(shù)字視頻廣播-手持式)、ISDB-T(集成服務(wù)數(shù)字廣播-陸地)或DMB(數(shù)字媒體廣播)等其它標準來廣播視頻。因此,源裝置2可為移動無線終端、視頻串流服務(wù)器或視頻廣播服務(wù)器。然而,本發(fā)明中所描述的技術(shù)不限于任何特定類型的廣播、多播或點到點系統(tǒng)。在廣播的情況下,源裝置2可將若干信道的視頻數(shù)據(jù)廣播到多個接收裝置,所述接收裝置中的每一者可類似于圖1的接收裝置6。視頻編碼器12及視頻解碼器18各自可經(jīng)實施為一個或-一個以上微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。視頻編碼器12及視頻解碼器18中的每一者可包括于一個或一個以上編碼器或解碼器中,所述編碼器或解碼器中的任一者可經(jīng)集成為相應(yīng)移動裝置、訂戶裝置、廣播裝置、服務(wù)器等中的組合式編碼器/解碼器(編解碼器)的一部分。另外,源裝置2及接收裝置6各自可包括用于經(jīng)編碼視頻的傳輸及接收的適當(dāng)調(diào)制、解調(diào)、頻率轉(zhuǎn)換、濾波及放大器組件(如果適用的話),其'l'包括足以支持無線通信的射頻(RF)無線組件及天線。然而,為易于說明,圖1中將此些組件概括為源裝置2的調(diào)制器/發(fā)射器14及接收裝置6的接收器/解調(diào)器16。視頻序列包括一系列視頻幀。視頻編碼器12對個別視頻幀內(nèi)的像素塊(或變換系數(shù)塊)進行操作,以便對視頻數(shù)據(jù)進行編碼。視頻塊可具有固定或變化的大小,且可根據(jù)所指定的譯碼標準而在大小方面有所不同。在一些情況下,每4見頻幀是經(jīng)譯碼單兀,而在其它情況下,每一視頻幀可被拆散,包括形成經(jīng)譯碼單元的一系列切片。每一切片可包括一系列宏塊,其可經(jīng)布置成若干子塊。作為實例,ITU-TH.264標準支持以各種塊大小(例如,對于亮度分量的16乘6、8乘8或4乘4,及對于色度分量的8X8)15的幀內(nèi)預(yù)測,以及以各種塊大小(例如,對于亮度分量的16乘16、16乘8、8乘16、8乘8、8乘4、4乘8及4乘4,及對于色度分量的對應(yīng)縮放大小)的幀間預(yù)測。較小視頻塊可提供較佳分辨率,且可用于包括較高細節(jié)等級的對視頻幀的定位。一般來說,宏塊(MB)及各種子塊可被視為視頻塊。另外,切片可被視為一系列視頻塊,例如MB及/或子塊。如所提及,每一切片可為視頻幀的可獨立解碼單元。在基于幀內(nèi)或幀間的預(yù)測性譯碼之后,可將額外譯碼技術(shù)應(yīng)用于所傳輸位流。這些額外譯碼技術(shù)可包括變換技術(shù)(例如H.264/AVC中所使用的4X4或8X8整數(shù)變換,或離散余弦變換DCT)及可變長度譯碼。變換系數(shù)塊可被稱為視頻塊。換句話說,術(shù)語"視頻塊"指代與信息的域無關(guān)的視頻數(shù)據(jù)塊。因此,視頻塊可在像素域或經(jīng)變換系數(shù)域中。本發(fā)明中將大體上相對于變換系數(shù)塊來描述VLC表選擇及VLC譯碼的應(yīng)用。本發(fā)明提供用于對精細化系數(shù)的可變長度譯碼的技術(shù)。此外,精細化系數(shù)指代在先前層中具有非零值的系數(shù),而有效系數(shù)指代在先前層中具有零值的系數(shù)。根據(jù)本發(fā)明,編碼器12及解碼器18針對不同類型的視頻塊來選擇不同VLC表。舉例來說,編碼器12及解碼器18可選擇第一VLC以用于對幀內(nèi)塊的精細化系數(shù)進行譯碼且可選擇第二VLC表以用于對幀間塊的精細化系數(shù)進行譯碼。由編碼器12及解碼器18所作的VLC表選擇可基于與先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計。舉例來說,可基于與先前經(jīng)譯碼的幀內(nèi)塊相關(guān)聯(lián)的統(tǒng)計來選擇用于幀內(nèi)塊的VLC表,且可基于與先前經(jīng)譯碼的幀間塊相關(guān)聯(lián)的統(tǒng)計來選擇用于幀間塊的VLC表。岡此,編碼器12及解碼器18可執(zhí)行對SVC方案屮的增強層進行譯碼的互逆方法。如本文中所使用,術(shù)語"譯碼"通常指代編碼或解碼過程的至少一部分。視頻編碼器12對數(shù)據(jù)進行編碼,而視頻解碼器18對數(shù)據(jù)進行解碼。VLC表木身可將代碼字指派給不同變換系數(shù)集合。零值系數(shù)集合可通過具有若干零的游程長度來表示,且所述表可將較可能的游程長度指派給較短VLC代碼。類似地,VLC表可將較不可能的游程長度指派給較長VLC代碼。因此,從VLC表屮選擇代碼可改進譯碼效率?;蛘?,系數(shù)的不同模式(例如,經(jīng)譯碼塊模式)可被指派不同可變長度代碼字,其中較可能的模式被指派較短代碼字且較不可能的模式被指派較長代碼字。VLC表木身的形成也可基于先前譯碼統(tǒng)計,但在大多數(shù)情況下,使用靜態(tài)VLC表。在靜態(tài)VLC表的情況下,編碼器12及解碼器18簡單地從一組可能表中選擇適當(dāng)?shù)腣LC表以用于對幀內(nèi)塊的精細化系數(shù)進行譯碼且從所述組可能表中選擇另-適當(dāng)VLC表以用于對幀間塊的精細化系數(shù)進行譯碼。不管VLC表是靜態(tài)的還是動態(tài)形成的,可根據(jù)需要來進行對VLC表的更新。圖2為說明可縮放視頻位流的基礎(chǔ)層17及增強層18內(nèi)的視頻幀的圖。如上文所提及,本發(fā)明的技術(shù)可應(yīng)用于對增強層的數(shù)據(jù)的譯碼?;A(chǔ)層17可包含含有表示第一等級的空間、時間或SNR可縮放性的經(jīng)編碼視頻數(shù)據(jù)的位流。增強層18可包含含有表示第二等級的空間、時間或SNR可縮放性的經(jīng)編碼視頻數(shù)據(jù)的位流。盡管展示單個增強層,但在一些情況下可使用若干增強層。增強層位流僅結(jié)合基礎(chǔ)層(或先前增強層,如果存在多個增強層的話)才可為可解碼的。增強層18含有對基礎(chǔ)層17中的經(jīng)解碼視頻數(shù)據(jù)的參考。此些參考可在變換域或像素域使用以產(chǎn)生最終經(jīng)解碼視頻數(shù)據(jù)?;A(chǔ)層17及增強層18可含有幀內(nèi)(1)、幀間(P)及雙向(B)幀。幀內(nèi)幀可包括所有經(jīng)幀內(nèi)譯碼的視頻塊。I幀及P幀可包括至少一些經(jīng)幀間譯碼的視頻塊(幀間塊),但還可包括-些經(jīng)幀內(nèi)譯碼塊(幀內(nèi)塊)。增強層17的不同幀無需包括基礎(chǔ)層17中的所有視頻塊。增強層18中的P幀依賴于對基礎(chǔ)層17中的P幀的參考。通過對增強層18及基礎(chǔ)層17中的幀進行解碼,視頻解碼器能夠增加經(jīng)解碼視頻的視頻質(zhì)量。舉例來說,基礎(chǔ)層17可包括以(例如)每秒15個幀的最小幀速率來編碼的視頻,而增強層18可包括以(例如)每秒30個幀的較高幀速率來編碼的視頻。為了支持在不同質(zhì)量等級下進行編碼,可分別以較高量化參數(shù)(QP)及較低QP來對基礎(chǔ)層17及增強層18進行編碼。此外,基礎(chǔ)層17可以比增強層18的傳輸更可靠的方式來傳輸。作為實例,經(jīng)調(diào)制信號的最可靠部分可用于傳輸基礎(chǔ)S17,而經(jīng)調(diào)制信號的較不可靠部分可用于傳輸增強層18。圖2的說明僅僅是示范性的,因為基礎(chǔ)層及增強層可以許多不同方式來界定。圖3為說明符合本發(fā)明的包括VLC單元46以對數(shù)據(jù)進行編碼的視頻編碼器50的實例的框圖。圖3的視頻編碼器50可對應(yīng)于圖1中的源裝置2的增強層編碼器24。也就是說,為簡單起見,圖3中未說明基礎(chǔ)層編碼組件。因此,視頻編碼器50可被視為增強層編碼器?;蛘?,視頻編碼器50的所說明組件還可(例如)在支持基礎(chǔ)層及增強層的可縮放視頻譯碼的金字塔編碼器設(shè)計中結(jié)合基礎(chǔ)層編碼模塊或單元來實施。視頻編碼器50可執(zhí)行對視頻幀內(nèi)的塊的幀內(nèi)及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測以減少或移除給定視頻幀內(nèi)的視頻的空間冗余。幀間譯碼依賴于時間預(yù)測以減少或移除視頻序列的相鄰幀內(nèi)的視頻的時間冗余。對于幀間譯碼,視頻編碼器50執(zhí)行運動估計以跟蹤匹配視頻塊在兩個或兩個以上相鄰幀之間的移動。對于幀內(nèi)譯碼,使用空間預(yù)測來識別幀內(nèi)與正被譯碼的塊緊密匹配的其它塊。圖3中未說明幀內(nèi)譯碼空間預(yù)測組件。如圖3中所示,視頻編碼器50接收待編碼的視頻幀內(nèi)的當(dāng)前視頻塊31(例如,增強層視頻塊)。在圖3的實例中,視頻編碼器50包括運動估計單元33、參考幀存儲裝置35、運動補償單元37、塊變換單元39、量化單元41、逆量化單元42、逆變換單元44及VLC單元46。還可包括去塊濾波器(未圖示)以對塊邊界進行濾波以移除成塊假象。視頻編碼器50還包括加法器48及加法器51。圖3說明視頻編碼器50的用于對視頻塊進行幀間譯碼的時間預(yù)測組件。盡管為易于說明而未在圖3中展示,但視頻編碼器50還可包括用于對一些視頻塊進行幀內(nèi)譯碼的空間預(yù)測組件。然而,空間預(yù)測組件通常僅用于基礎(chǔ)層譯碼。運動估計單元33將視頻塊31與一個或一個以上相鄰視頻幀中的塊進行比較,以產(chǎn)生一個或一個以上運動向量。相鄰幀可從參考幀存儲裝置35中檢索,參考幀存儲裝置35可包含任何類型的存儲器或數(shù)據(jù)存儲裝置以存儲從先前經(jīng)編碼塊重構(gòu)的視頻塊。可針對可變大小(例如,16X16、16X8、8X16、8X8或更小塊大小)的塊執(zhí)行運動估計。運動估計單元33(例如)基于速率失真模型來識別相鄰幀中與當(dāng)前視頻塊31最緊密匹配的塊,且確定所述塊之間的位移。在此基礎(chǔ)上,運動估計單元33產(chǎn)生運動向量(MV)(或在雙向預(yù)測的情況下產(chǎn)生多個MV),其指示當(dāng)前視頻塊31與用于對當(dāng)前視頻塊31進行譯碼的預(yù)測性塊之間的位移的量值及軌跡。運動向量可具有二分之一或四分之-像素精度,或甚至更精細的精度,從而允許視頻編碼器50以比整數(shù)像素定位高的精度來跟蹤運動且獲得較佳預(yù)測塊。當(dāng)使用具有分數(shù)像素值的運動向量時,在運動補償單元37中實行內(nèi)插操作。運動佔計單元33可使用速率失真模型來識別視頻塊的最佳運動向量。使用所得運動向量,運動補償單元37通過運動補償來形成預(yù)測視頻塊。視頻編碼器50通過在加法器48處從原始當(dāng)前視頻塊31屮減去由運動補償單元37所產(chǎn)生的預(yù)測視頻塊來形成殘余視頻塊。塊變換單元39將變換(例如離散余弦變換(DCT))應(yīng)用于殘余塊,從而產(chǎn)生殘余變換塊系數(shù)。量化單元41量化殘余變換塊系數(shù)以進一步減小位速率。加法器49A(例如)從基礎(chǔ)層編碼器(未圖示)接收基礎(chǔ)層系數(shù)信息,且定位于塊變換單元39與量化單元41之間,以將此基礎(chǔ)層系數(shù)信息供應(yīng)到增強層譯碼屮。明確地說,加法器49A從塊變換單元39的輸出屮減去基礎(chǔ)層系數(shù)信息。以類似方式,定位于逆變換單元44與逆量化單元42之間的加法器49B也從基礎(chǔ)層編碼器(未圖示)接收基礎(chǔ)層系數(shù)信息。加法器49B將基礎(chǔ)層系數(shù)信息添加回到逆量化單元42的輸出??臻g預(yù)測譯碼非常類似于時間預(yù)測譯碼來操作。然而,時間預(yù)測譯碼依賴于相鄰幀(或其它經(jīng)譯碼甲-兀)的塊來執(zhí)行譯碼,而空間預(yù)測依賴于共同幀(其它經(jīng)譯碼單元)內(nèi)的塊來執(zhí)行譯碼??臻g預(yù)測譯碼對幀內(nèi)塊進行譯碼,而時間預(yù)測譯碼對幀間塊進行譯碼。此外,為簡單起見,圖3中未展示空間預(yù)測組件。VLC單元46根據(jù)可變長度譯碼方法來對經(jīng)量化變換系數(shù)進行譯碼,以更進一步減18小所傳輸信息的位速率。明確地說,VLC單元46應(yīng)用本發(fā)明的技術(shù)對增強層的精細化系數(shù)進行譯碼。VLC單元46可包括將系數(shù)集合映射到可變長度代碼字的VLC表。由VLC單元46進行的VLC表選擇基于針對先前經(jīng)譯碼幀而收集的信息來執(zhí)行。此外,針對不同類型的視頻塊(例如,幀內(nèi)塊及幀間塊)來選擇VLC表。VLC單元46可每個經(jīng)譯碼單元選擇一次VLC表(例如,每個幀選擇一次,視頻信息的每個切片選擇一次或幀的每個FGS層選擇一次)??苫谂c先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計來選擇用于不同類型的視頻塊的VLC表。舉例來說,VLC單元46可基于與先前經(jīng)譯碼的幀內(nèi)塊相關(guān)聯(lián)的統(tǒng)計來選擇用于幀內(nèi)塊的VLC表,且VLC單元46可基于與先前經(jīng)譯碼的幀間塊相關(guān)聯(lián)的統(tǒng)計來選擇用于幀間塊的VLC表。在此情況下,與先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計可包含具有此些先前經(jīng)譯碼塊的非零系數(shù)的平均數(shù)。在可變長度譯碼之后,可將經(jīng)編碼視頻傳輸?shù)搅硪谎b置。另外,逆量化單元42及逆變換單元44分別應(yīng)用逆量化及逆變換以重構(gòu)殘余塊。加法器51將經(jīng)重構(gòu)殘余塊添加到由運動補償單元37產(chǎn)生的運動補償預(yù)測塊以產(chǎn)生經(jīng)重構(gòu)視頻塊供存儲于參考幀存儲裝置35中。經(jīng)重構(gòu)視頻塊由運動估計單元33及運動補償單元37使用以對后續(xù)視頻幀中的塊進行編碼。圖4為說明視頻解碼器60的實例的框圖,所述視頻解碼器60可對應(yīng)于圖1的視頻解碼器18或另一裝置的解碼器。視頻解碼器60包括用于增強層信息的VLC單元52A,其執(zhí)行圖3的VLC單元46的互逆功能。也就是說,類似于VLC單兀46,VLC單元52A對增強層的精細化系數(shù)進行譯碼。視頻解碼器60還可包括用于基礎(chǔ)層信息的另一VLC單元52B。幀內(nèi)預(yù)測單元55可任選地執(zhí)行對基礎(chǔ)層視頻塊的任何空間解碼,且?guī)瑑?nèi)預(yù)測單元55的輸出可被提供到加法器53。增強層路徑可包括逆量化單元58A,且基礎(chǔ)層路徑可包括逆量化單元56B。基礎(chǔ)層與增強層路徑屮的信息可由加法器57來組合。視頻解碼器60可執(zhí)行對視頻幀內(nèi)的塊的幀內(nèi)解碼及幀間解碼。在圖4的實例中,視頻解碼器60包括VLC單元52A及52B(上文所提及)、運動補償單元54、逆量化單元56A及56B、逆變換單元58以及參考幀存儲裝置62。視頻解碼器60還包括加法器64。任選地,視頻解碼器60還可包括對加法器64的輸出進行濾波的去塊濾波器(未圖示)。此外,加法器57將基礎(chǔ)層與增強層路徑屮的信息進行組合,且?guī)瑑?nèi)預(yù)測單元55及加法器53促進對基礎(chǔ)層視頻塊的任何空間解碼。根據(jù)本發(fā)明,VLC單元52A接收經(jīng)編碼視頻位流且應(yīng)用本發(fā)明中所描述的VLC技術(shù)。明確地說,對于精細化系數(shù),VLC單元52A可基于針對先前經(jīng)譯碼幀所收集的信19息而針對不同視頻塊類型選擇VLC表。VLC單元52A可針對每個經(jīng)譯碼單元來選擇VLC表一次(例如,針對每個幀選擇一次,針對視頻信息的每個切片選擇一次或針對幀的每個FGS層選擇一次)。用于不同類型的視頻塊的VLC表可基于與先前經(jīng)譯碼塊相關(guān)聯(lián)的統(tǒng)計來選擇。舉例來說,VLC單元52A可基于與先前經(jīng)譯碼的幀內(nèi)塊相關(guān)聯(lián)的統(tǒng)計而選擇用于幀內(nèi)塊的VLC表,且VLC單元52A可基于與先前經(jīng)譯碼的幀間塊相關(guān)聯(lián)的統(tǒng)計而選擇用于幀間塊的VLC表。在由VLC單元52A執(zhí)行解碼之后,運動補償單元54接收運動向量及來自參考幀存儲裝置62的一個或一個以上經(jīng)重構(gòu)參考幀。逆量化單元56A對經(jīng)量化塊系數(shù)進行逆量化(即,解量化)。在加法器57將增強與基礎(chǔ)層信息進行組合之后,逆變換單元58對系數(shù)應(yīng)用逆變換(例如,逆DCT)以產(chǎn)生殘余塊。運動補償單元54產(chǎn)生運動補償塊,通過加法器64將其與殘余塊求和以形成經(jīng)解碼塊。如果需要的話,還可應(yīng)用去塊濾波器以對經(jīng)解碼塊進行濾波,以便移除成塊假象。接著將經(jīng)濾波塊放置于參考幀存儲裝置62中,所述參考幀存儲裝置62提供來自運動補償?shù)膮⒖級K且還向驅(qū)動顯示裝置(例如,圖1的裝置20)產(chǎn)生經(jīng)解碼視頻。圖5為說明示范性VLC單元46的框圖,所述VLC單元46可對應(yīng)于圖3中所示的VLC單元。VLC単.元46包括編碼模塊72、統(tǒng)計模塊74、表選擇模塊76及VLC表78。VLC表78大體上指代可存儲于任何位置中(例如,本地或在芯片外存儲于單獨存儲器位置屮)的表??筛鶕?jù)需要來周期性地更新VLC表78。編碼模塊72在單獨遍譯碼中對精細化系數(shù)及有效系數(shù)進行編碼。由VLC單元46針對編碼與不同視頻塊相關(guān)聯(lián)的系數(shù)所進行的表選擇可基于針對先前經(jīng)譯碼幀所收集的信息來執(zhí)行。舉例來說,統(tǒng)計模塊74可執(zhí)行對先前經(jīng)編碼幀的統(tǒng)計分析以促進由表選擇模塊76所進行的表選擇。統(tǒng)計模塊74確定與第一類型的視頻塊(例如,幀內(nèi)塊)相關(guān)聯(lián)的第一統(tǒng)計,且確定與第二類型的視頻塊(例如,幀間塊)相關(guān)聯(lián)的第二統(tǒng)計。表選擇模塊76基于第一統(tǒng)計而從多個VLC表78中選擇第一VLC表以用于對第一類型的視頻塊進行譯碼。另外,表選擇模塊76基于第二統(tǒng)計而從多個VLC表78中選擇第二VLC表以用于對第二類型的視頻塊進行譯碼。編碼模塊72基于第一VLC表而對第一類型的視頻塊進行編碼,且基于第二VLC表而對第二類型的視頻塊進行編碼。本文中所描述的技術(shù)可相對于精細化系數(shù)來執(zhí)行,所述精細化系數(shù)可在相對于有效系數(shù)的單獨遍譯碼中被譯碼。精細化系數(shù)可具有限于-1、0及1的值,其可通過兩位信息來譯碼。第一位可指示所述系數(shù)是否等于0,且第二位可指示精細化系數(shù)的正負號(表示為sn)是與先前層的對應(yīng)系數(shù)的正負號(表示為s^)相同(coeff—ref_dirjlag=0)還是不同(coeff—ref_dir_flag=l)。先前層被表示為s^。如果當(dāng)前系數(shù)的正負號與先前層的系數(shù)的正負號相同,則coeff—ref—dir_flag=0,且如果當(dāng)前系數(shù)的正負號不同于先前層的系數(shù)的正負號,貝'jcoeff—ref—dir—flag=l。所述兩個精細化位可經(jīng)組合成如下在表1中所指示的三個精細化符號的字母表表1<table>tableseeoriginaldocumentpage21</column></row><table>或者,在不脫離本發(fā)明的技術(shù)的情況下,還可使用另--方案來對精細化系數(shù)進行譯碼。VLC表78可包含被映射到不同系數(shù)集合的可變長度代碼字,其可通過符號、旗標或其它類型的位來界定??筛鶕?jù)需要來更新VLC表78??稍赩LC表88中包括任何數(shù)目的表。在一些情況下,使用兩個表,但可包括更多表。在任何情況下,編碼模塊72可針對不同類型的視頻塊而存取VLC表中的不同表。統(tǒng)計模塊74及表選擇模塊76確定應(yīng)針對正被譯碼的每一類型的視頻塊使用哪個VLC表。表2提供可用于對精細化系數(shù)進行譯碼的VLC表的個實例。表2<table>tableseeoriginaldocumentpage21</column></row><table>{2,0,0}500011{2,0,1}70000011{2,0,2}9000000011{2,1,0}800000011{2,1,1}100000000001{2,1,2}12000000000010{2,2,0}9000000010{2,2,1}12000000000001{2,2,2}12000000000000如表2中所示,不同精細化系數(shù)集合(如表1中所界定)可被映射到不同可變長度代碼字。表2還列出與不同代碼字相關(guān)聯(lián)的相應(yīng)位長度。到不同精細化系數(shù)集合的代碼字映射在不同VLC表屮可能有所不同。因此,通過選擇適當(dāng)表,可實現(xiàn)譯碼效率。根據(jù)本發(fā)明,對于每一經(jīng)譯碼單元(例如,每一幀、切片或FGS層),VLC單元46的表選擇模塊76選擇第一VLC表用于幀內(nèi)塊且選擇第二VLC表用于幀間塊。表選擇可基于與先前經(jīng)譯碼的幀內(nèi)塊及先前經(jīng)譯碼的幀間塊相關(guān)聯(lián)的統(tǒng)計。VLC單元46的編碼模塊72接著在VLC過程中使用選定表。每-一類型的視頻塊的統(tǒng)計可通過統(tǒng)計模塊74來累積及分析。作為實例,每-類型的視頻塊的統(tǒng)計可包含具有相同正負號值的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目相對于具有相反正負號值的先前經(jīng)譯碼塊中的精細化系數(shù)的數(shù)目的比率?;诿恳活愋偷囊曨l塊的此比率,表選擇模塊76可選擇用于對與給定幀的所述類型塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼的VLC表。當(dāng)遇到下一幀(或其它經(jīng)譯碼單元)時,VLC單元46可重新計算每一塊類型的比率以促進用-f-所述幀(或其它經(jīng)譯碼單兀)的VLC表選擇。來自表1的精細化符號1對應(yīng)于精細化符號相對于先前層(或基礎(chǔ)層)中的符號具有相同正負號值的情形。來自表1的精細化符號2對應(yīng)于精細化符號相對于先前層(或基礎(chǔ)層)中的符號具有相反正負號值的情形。換句話說,符號1意味著"保持相同正負號",且符號2意味著相對于先前層中的對應(yīng)系數(shù)的正負號而"使正負號相反"。當(dāng)VLC表選擇是基于ref—symbol1與2的比率時,可改進SVC巾的譯碼效率。令s(l)及s(2)分別表示譯碼過程中所收集的精細化符號1及2的數(shù)目。s(l)及s(2)的值可通過幀的滑動窗來界定,或可在整個視頻序列上累積。在任何情況下,比率r可以若干方式來計算。舉例來說,可計算比率r=(smax-smm)/smax,其中s咖^max(s(l),s(2》且smin=min(s(l),s(2))?;蛘?,可使用比率r=s(l)/(s(l)+s(2))。在這些情況中的每一者下,對于r的每一量化值,值Rq可經(jīng)界定為等于floor(m*r),其中m為大于1的某數(shù)??梢罁?jù)比率r是為'于值Re還是低于值Rq來指派不同VLC表。22圖6為說明示范性VLC單元52A的框圖,所述VLC單元52A可對應(yīng)于圖4中所示的VLC單元。VLC單元52A相對于VLC單元46所執(zhí)行的編碼執(zhí)行互逆的解碼功能。因此,VLC單元46接收經(jīng)量化殘余系數(shù)且產(chǎn)生位流,而VLC單元52A接收位流且產(chǎn)生經(jīng)量化殘余系數(shù)。VLC單元52A包括解碼模塊82、統(tǒng)計模塊84、表選擇模塊86,以及VLC表88的集合。類似于在單元46中,單元52A的VLC表88大體上指代可存儲于任何位置中(例如,本地或在芯片外存儲于單獨存儲器位置中)的表??筛鶕?jù)需要而周期性地更新VLC表88??稍赩LC表88中包括任何數(shù)目的表。在一些情況下,使用兩個表,但可包括更多表。VLC解碼單元82可針對有效系數(shù)及精細化系數(shù)執(zhí)行單獨遍的解碼。本發(fā)明的技術(shù)可能僅適用于對精細化系數(shù)的譯碼,或可用于精細化系數(shù)與有效系數(shù)兩者。由VLC單元52A執(zhí)行的解碼與由VLC單元46執(zhí)行的編碼互逆。由VLC單元52A針對與不同視頻塊相關(guān)聯(lián)的系數(shù)的解碼進行的表選擇可基于針對(例如)來自先前經(jīng)譯碼幀的先前經(jīng)譯碼塊所收集的信息來執(zhí)行。舉例來說,統(tǒng)計模塊84可執(zhí)行對先前經(jīng)解碼幀的塊的統(tǒng)計分析以促進由表選擇模塊86進行的表選擇。明確地說,統(tǒng)計模塊84確定與第一類型的視頻塊(例如,幀內(nèi)塊)相關(guān)聯(lián)的第---統(tǒng)計,且確定與第二類型的視頻塊(例如,幀間塊)相關(guān)聯(lián)的第二統(tǒng)計。表選擇模塊86基于第一統(tǒng)計而從多個VLC表88中選擇第一VLC表以用于對第一類型的視頻塊進行譯碼。另外,表選擇模塊86基于第二統(tǒng)計而從多個VLC表88'l'選擇第二VLC表以用于對第二類型的視頻塊進行譯碼。解碼模塊82基于第一VLC表而對第一類型的視頻塊進行解碼且基于第二VLC表而對第二類型的視頻塊進行解碼。上文的表2也可被視為VLC表88中的一者。然而,VLC表78(圖5)將系數(shù)集合映射到可變長度代碼字,而VLC表88(圖6)將可變長度代碼字映射回到系數(shù)集合。以此方式,由VLC單兀52A執(zhí)行的解碼可被視為與由VLC單元46執(zhí)行的編碼互逆。圖7為說明符合本發(fā)明的用于對增強層的系數(shù)(例如,通常為精細化系數(shù))進行可變長度譯碼的譯碼技術(shù)的流程圖。圖7的譯碼過程適用于編碼及解碼兩者。如圖7中所示,統(tǒng)計模塊74、84確定先前經(jīng)譯碼的幀內(nèi)塊的統(tǒng)計(91)。舉例來說,統(tǒng)計模塊74、84可針對先前經(jīng)譯碼的幀內(nèi)塊而計算具有相同正負號值的精細化符號相對于具有相反正負號值的精細化符號的比率。另外,統(tǒng)計模塊74、84可(例如)通過針對先前經(jīng)譯碼的幀問塊而計算具有相同正負號值的精細化符號相對于具有相反正負號值的精細化符號的比率來確定先前經(jīng)譯碼的幀間塊的統(tǒng)計(92)。表選擇模塊76、86基于先前經(jīng)譯碼的幀內(nèi)塊的統(tǒng)計而選擇用于幀內(nèi)塊的譯碼表(93)。用于幀內(nèi)塊的譯碼表(例如)可基于與幀內(nèi)塊相關(guān)聯(lián)的比率的值來選擇。另外,表選擇模塊76、86基于先前經(jīng)譯碼的幀間塊的統(tǒng)計而選擇用于幀間塊的譯碼表(94)。用于幀間塊的譯碼表可基于與幀間塊相關(guān)聯(lián)的比率的值來選擇。譯碼模塊82、84使用用于幀內(nèi)塊的選定譯碼表來對幀內(nèi)塊進行譯碼(95),且使用用于幀間塊的選定譯碼表來對幀間塊進行譯碼(96)。明確地說,譯碼模塊82、84針對不同塊類型使用選定譯碼表來執(zhí)行表查找。所述過程可針對每個經(jīng)譯碼單元來重復(fù)(97)。經(jīng)譯碼單元可為視頻幀、視頻幀的切片、FGS層等。本文中所描述的技術(shù)可以硬件、軟件、固件或其任何組合來實施。經(jīng)描述為模塊或組件的任何特征可一起在集成邏輯裝置中實施或單獨地實施為離散但可互操作的邏輯裝置。如果以軟件來實施,則所述技術(shù)可至少部分地通過包含指令的計算機可讀媒體來實現(xiàn),所述指令在被執(zhí)行時執(zhí)行上文所描述的方法中的一者或一者以上。計算機可讀媒體可形成計算機程序產(chǎn)品的一部分,所述計算機程序產(chǎn)品可包括封裝材料。計算機可讀媒體可包含隨機存取存儲器(RAM),例如同步動態(tài)隨機存取存儲器(SDRAM)、只讀存儲器(ROM)、非易失性隨機存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、快閃存儲器、磁或光學(xué)數(shù)據(jù)存儲媒體等。另外或替代地,所述技術(shù)可至少部分地通過計算機可讀通信媒體來實現(xiàn),所述計算機可讀通信媒體以指令或數(shù)據(jù)結(jié)構(gòu)的形式攜載或傳送代碼且可由計算機存取、讀取及/或執(zhí)行。所述代碼可由-個或--個以上處理器執(zhí)行,所述處理器例如為--個或寸以上數(shù)字信號處理器(DSP)、通用微處現(xiàn)器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或者其它等效集成或離散邏輯電路。因此,如本文中所使用的術(shù)語"處理器"可指代前述結(jié)構(gòu)中的任一者或適合于實施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)。另外,在一些方而中,本文中所描述的功能性可提供于經(jīng)配置以用于編碼及解碼的專用軟件模塊或硬件模塊內(nèi),或并入在組合式視頻編碼器-解碼器(編解碼器)中。如果以硬件來實施,則本發(fā)明可針對于一種電路,例如集成電路、芯片組、專用集成屯路(ASIC.)、現(xiàn)場可編程門陣列(FPGA)、邏輯或其各種組合,其經(jīng)配置以執(zhí)行本文中所描述的技術(shù)中的一者或一者以上。已描述了本發(fā)明的各種實施例。這些及其它實施例屬于所附權(quán)利要求書的范圍內(nèi)。權(quán)利要求1.一種對可縮放視頻譯碼(SVC)方案的增強層進行譯碼的方法,所述方法包含確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計;確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;基于所述第一統(tǒng)計而從多個可變長度譯碼(VLC)表中選擇第一VLC表以用于對所述第一類型的視頻塊進行譯碼;基于所述第二統(tǒng)計而從所述多個VLC表中選擇第二VLC表以用于對所述第二類型的視頻塊進行譯碼;基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼;及基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼。2.根據(jù)權(quán)利要求1所述的方法,其中基T所述第一VLC表而對所述第一類型的視頻塊進行譯碼包含基亍所述第一VLC表而對所述第一類型的視頻塊進行編碼;且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼包含基于所述第二VLC表而對所述第二類型的視頻塊進行編碼。3.根據(jù)權(quán)利要求1所述的方法,其中基于所述第--VLC表而對所述第一類型的視頻塊進行譯碼包含基于所述第一VLC表而對所述第一類型的視頻塊進行解碼;且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼包含基于所述第二VLC表而對所述第二類型的視頻塊進行解碼。4.根據(jù)權(quán)利要求1所述的方法,其中基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼包含使用所述第一VLC表來執(zhí)行表查找;且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼包含使用所述第二VLC表來執(zhí)行表査找。5.根據(jù)權(quán)利耍求1所述的方法,其中所述第一類型的所述視頻塊包含經(jīng)幀內(nèi)譯碼的視頻塊,且所述第二類型的所述視頻塊包含經(jīng)幀間譯碼的視頻塊。6.根據(jù)權(quán)利要求1所述的方法,其中將所述視頻塊布置在若干幀中,其中針對所述幀中的每一者重復(fù)所述方法。7.根據(jù)權(quán)利要求1所述的方法,其中相對于所述增強層的精細化系數(shù)來執(zhí)行所述方法,其中基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼包含對與所述第一類型的視頻塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼;且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼包含對與所述第二類型的視頻塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼。8.根據(jù)權(quán)利要求7所述的方法,其進一步包含針對所述第一類型的視頻塊,確定具有相同正負號值的先前經(jīng)譯碼的精細化系數(shù)相對于具有相反正負號值的先前經(jīng)譯碼的精細化系數(shù)的第一比率;針對所述第二類型的視頻塊,確定具有相同正負號值的先前經(jīng)譯碼的精細化系數(shù)相對于具有相反正負號值的先前經(jīng)譯碼的精細化系數(shù)的第二比率;基于所述第一比率而選擇所述第一VLC表;及基于所述第二比率而選擇所述第一VLC表。9.一種對可縮放視頻譯碼(SVC)方案的增強層進行譯碼的裝置,所述裝置包含統(tǒng)計模塊,其確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計,且確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;表選擇模塊,其基于所述第一統(tǒng)計而從多個可變長度譯碼(VLC)表中選擇第一VLC表以用于對所述第類型的視頻塊進行譯碼,且基于所述第二統(tǒng)計而從所述多個VLC表中選擇第二VLC表以用于對所述第二類型的視頻塊進行譯碼;及譯碼模塊,其基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼,且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼。10.根據(jù)權(quán)利要求9所述的裝置,其中所述譯碼模塊包含編碼模塊,所述編碼模塊基于所述第一VLC表而對所述第一類型的視頻塊進行編碼且S于所述第二VLC表而對所述第二類型的視頻塊進行編碼。11.根據(jù)權(quán)利要求9所述的裝置,其中所述譯碼模塊包含解碼模塊,所述解碼模塊基于所述第一VLC表而對所述第一類型的視頻塊進行解碼且基于所述第二VLC表而對所述第二類型的視頻塊進行解碼。12.根據(jù)權(quán)利要求9所述的裝置,其中所述譯碼模塊使用所述第一VLC表來執(zhí)行表查找以對所述第一類型的視頻塊進行譯碼;且使用所述第二VLC表來執(zhí)行表查找以對所述第二類型的視頻塊進行譯碼。13.根據(jù)權(quán)利要求9所述的裝置,其中所述第一類型的所述視頻塊包含經(jīng)幀內(nèi)譯碼的視頻塊,且所述第二類型的所述視頻塊包含經(jīng)幀間譯碼的視頻塊。14.根據(jù)權(quán)利要求9所述的裝置,其中所述視頻塊布置在若千幀中,其中針對所述幀中的每--者所述統(tǒng)計模塊確定所述第一及第二統(tǒng)計;所述表選擇模塊選擇所述第一及第二VLC表;且所述譯碼模塊基于所述選定的第一及第二VLC表而對所述第一及第二類型的視頻塊進行譯碼。15.根據(jù)權(quán)利要求9所述的裝置,其中所述裝置對所述增強層的精細化系數(shù)進行譯碼,其中所述譯碼模塊基丁所述第一VLC表而對與所述第一類型的視頻塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼;且基于所述第二VLC表而對與所述第二類型的視頻塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼。16.根據(jù)權(quán)利要求9所述的裝置,其中所述統(tǒng)計模塊針對所述第一類型的視頻塊,確定具有相同正負號值的先前經(jīng)譯碼的精細化系數(shù)相對于具有相反正負號值的先前經(jīng)譯碼的精細化系數(shù)的第一比率;且針對所述第二類型的視頻塊,確定具有相同正負號值的先前經(jīng)譯碼的精細化系數(shù)相對于具有相反正負號值的先前經(jīng)譯碼的精細化系數(shù)的第二比率,且其中所述表選擇模塊基于所述第一比率而選擇所述第一VLC表;且基于所述第二比率而選擇所述第二VLC表。17.根據(jù)權(quán)利要求9所述的裝置,其中所述裝置包含以下各項中的至少一者電路;及無線通信裝置。18.—種包含指令的計算機可讀媒體,所述指令在視頻譯碼裝置中執(zhí)行時致使所述裝置對可縮放視頻譯碼(SVC)方案的增強層進行譯碼,其中所述指令致使所述裝置確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計;確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;基于所述第一統(tǒng)計而從多個可變長度譯碼(VLC)表巾選擇第一VLC表以用于對所述第-類型的視頻塊進行譯碼;基于所述第二統(tǒng)計而從所述多個VLC表中選擇第二VLC表以用于對所述第二類型的視頻塊進行譯碼;基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼;且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼。19.一種對可縮放視頻譯碼(SVC)方案的增強層進行譯碼的裝置,所述裝置包含用于確定統(tǒng)計的裝置,其確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計,且確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;用于選擇的裝置,其基于所述第一統(tǒng)計而從多個可變長度譯碼(VLC)表中選擇第一VLC表以用于對所述第一類型的視頻塊進行譯碼,且甚于所述第二統(tǒng)計而從所述多個VLC表中選擇第二VLC表以用于對所述第二類型的視頻塊進行譯碼;及用于譯碼的裝置,其基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼,且基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼。20.根據(jù)權(quán)利要求19所述的裝置,其中所述用于譯碼的裝置基于所述第一VLC表而對所述第一類型的視頻塊進行編碼;且基于所述第二VLC表而對所述第二類型的視頻塊進行編碼。21.根據(jù)權(quán)利要求19所述的裝置,其中所述用于譯碼的裝置基于所述第一VLC表而對所述第一類型的視頻塊進行解碼;且基于所述第二VLC表而對所述第二類型的視頻塊進行解碼。22.根據(jù)權(quán)利要求19所述的裝置,其中所述用于譯碼的裝置使用所述第一VLC表來執(zhí)行用于所述第一類型的視頻塊的表查找,且使用所述第二VLC表來執(zhí)行針對所述第二類型的視頻塊的表查找。23.根據(jù)權(quán)利要求19所述的裝置,其中所述第一類型的所述視頻塊包含經(jīng)幀內(nèi)譯碼的視頻塊,且所述第二類型的所述視頻塊包含經(jīng)幀間譯碼的視頻塊。24.根據(jù)權(quán)利要求19所述的裝置,其中所述視頻塊布置在若干幀中,其中針對所述幀'l'的每'者所述用于確定的裝置確定所述第一及第二統(tǒng)計;所述用于選擇的裝置選擇所述第一及第二VLC表;且所述用于譯碼的裝置基于所述選定的第一及第二VLC表而對所述第一及第二類型的視頻塊進行譯碼。25.根據(jù)權(quán)利要求19所述的裝置,其中所述裝置對所述增強層的精細化系數(shù)進行譯碼,其中所述用于譯碼的裝置基于所述第一VLC表而對與所述第一類型的視頻塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼;且基于所述第二VLC表而對與所述第二類型的視頻塊相關(guān)聯(lián)的精細化系數(shù)進行譯碼,其中所述用于確定的裝置針對所述第一類型的視頻塊,確定具有相同正負號值的先前經(jīng)譯碼的精細化系數(shù)相對于具有相反正負號值的先前經(jīng)譯碼的精細化系數(shù)的第一比率;且針對所述第二類型的視頻塊,確定具冇相同正負號值的先前經(jīng)譯碼的精細化系數(shù)相對于具有相反正負號值的先前經(jīng)譯碼的精細化系數(shù)的第二比率,且其中所述用于選擇的裝置基于所述第一比率而選擇所述第一VLC表;且基于所述第二比率而選擇所述第二VLC表。全文摘要本發(fā)明描述用于對可縮放視頻譯碼(SVC)方案中的增強層進行譯碼的技術(shù)。所述技術(shù)可用于對SVC方案的增強層的精細化系數(shù)的可變長度譯碼。根據(jù)本發(fā)明,一種方法可包含確定與第一類型的視頻塊相關(guān)聯(lián)的第一統(tǒng)計;確定與第二類型的視頻塊相關(guān)聯(lián)的第二統(tǒng)計;基于所述第一統(tǒng)計而從多個可變長度譯碼(VLC)表中選擇第一VLC表以用于對所述第一類型的視頻塊進行譯碼;基于所述第二統(tǒng)計而從所述多個VLC表中選擇第二VLC表以用于對所述第二類型的視頻塊進行譯碼;基于所述第一VLC表而對所述第一類型的視頻塊進行譯碼;以及基于所述第二VLC表而對所述第二類型的視頻塊進行譯碼。文檔編號H04N7/26GK101578870SQ200880001649公開日2009年11月11日申請日期2008年1月4日優(yōu)先權(quán)日2007年1月5日發(fā)明者普奧姆·薩熱通,鄭赫俊,馬爾塔·卡切維奇申請人:高通股份有限公司