欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻解碼器的dc/ac系數(shù)預(yù)測方法及視頻解碼器的制作方法

文檔序號:7993260閱讀:239來源:國知局
專利名稱:視頻解碼器的dc/ac系數(shù)預(yù)測方法及視頻解碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明關(guān)于一種視頻解碼器,尤其涉及一種視頻解碼器的DC/AC系數(shù)預(yù)測方法以及使用該方法的視頻解碼器。
背景技術(shù)
目前,多媒體壓縮技術(shù)已廣泛地應(yīng)用于各種消費(fèi)類產(chǎn)品和通信設(shè)備,例如V⑶播放器、DVD播放器、移動電話、和MP4播放器等。一種常規(guī)的多媒體壓縮技術(shù)是例如最新的MPEG壓縮技術(shù),即MPEG-4。MPEG-4能夠在各種帶寬范圍內(nèi)提供專業(yè)質(zhì)量的音頻和視頻流服務(wù)。MPEG-4是由運(yùn)動圖像專家組(Moving Picture Experts Group,MPEG)定義的,該規(guī)范于2000年正式成為一項國際標(biāo)準(zhǔn)。與MPEG-1和MPEG-2相比,MPEG-4更適于交互AV服務(wù)以及遠(yuǎn)程監(jiān)控,它的設(shè)計目標(biāo)是使其具有更廣泛的適應(yīng)性和可擴(kuò)展性,可以利用很窄的帶寬通過幀重建技術(shù)壓縮和傳輸數(shù)據(jù),從而能以最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量。MPEG4在編碼過程中分為4個主要部分:I)將每幀視頻分成像素塊;2)幀內(nèi)預(yù)測,削減空間冗余;3)通過運(yùn)動估計和運(yùn)動補(bǔ)償進(jìn)行幀間預(yù)測,削減時間冗余;4)通過對原始塊和對應(yīng)的預(yù)測塊之間差別形成的殘差塊進(jìn)行變換、量化和熵編碼,進(jìn)一步削減空間冗余。如圖1所示,宏塊P是MPEG4編解碼的最小單位,每幀根據(jù)分辨率不同包含多個宏塊P。每個宏塊P可以分解為4個亮度塊Bb和2個色度塊Bh,每個塊的大小為8X8。一個
8X 8的塊經(jīng)過DCT變換后,可以分為DC和AC系數(shù)兩個部分,DC系數(shù)是圖像的低頻部分,是最重要的信息,是不可以丟失的。AC系數(shù)是圖形的高頻部分,是圖像細(xì)節(jié)的描述,AC系數(shù)可以丟掉部分信息,因而AC系數(shù)的編碼精度決定了圖像的質(zhì)量和碼流的大小。宏塊P按類型可以分為巾貞內(nèi)和巾貞間宏塊。巾貞內(nèi)宏塊米用DC和AC系數(shù)單獨(dú)編碼;巾貞間宏塊一般米用DC和AC系數(shù)統(tǒng)一編碼,因而可以在AC系數(shù)的解碼過程中一并將DC系數(shù)也解出來。DC與AC系數(shù)的預(yù)測方向的自適應(yīng)選擇是基于被解碼塊周圍的水平和垂直梯度的比較的。圖2顯示了被解碼塊周圍的三個塊。塊“X”、“A”、“B”和“C”分別代表了當(dāng)前塊、左邊的塊、左上角的塊和上邊的塊。如果塊A的DC系數(shù)與塊B的DC系數(shù)的差的絕對值小于塊B的DC系數(shù)與塊C的DC系數(shù)的差的絕對值,則塊A的DC系數(shù)與塊B的DC系數(shù)在數(shù)值上比較接近,即在垂直方向上的數(shù)值比水平方向上更接近,所以采用塊C的DC系數(shù)來預(yù)測當(dāng)前塊X的DC系數(shù);反之,在水平方向的數(shù)值比較接近,即采用塊A的DC系數(shù)來預(yù)測當(dāng)前塊X的DC系數(shù)。并且AC系數(shù)的預(yù)測采用與DC系數(shù)的預(yù)測相同的方向,色度塊的預(yù)測采用和亮度塊的預(yù)測相同的方向。傳統(tǒng)的DC/AC系數(shù)預(yù)測的緩沖區(qū)設(shè)計如圖3a和圖3b所示,分別為宏塊亮度和色度的緩沖區(qū)設(shè)計。傳統(tǒng)緩沖區(qū)需要保存當(dāng)前宏塊所在行的上面一個宏塊行的所有的相鄰8x8塊的DC/AC系數(shù),同時保存當(dāng)前宏塊所在列的前一列相鄰一個宏塊中的8x8塊的DC/AC系數(shù),來預(yù)測當(dāng)前宏塊中各塊的DC/AC系數(shù)值,因此需要開辟的內(nèi)存空間為:以分辨率大小為176X144的QCIF為例,每處理一個宏塊,需要保存的DC系數(shù)為(11χ2+2+(11+1)χ2)=48個,需要保存的AC系數(shù)為(48x7) = 336個,總共384個系數(shù);然而,傳統(tǒng)緩沖區(qū)計算所用系數(shù)的檢索過程繁瑣,每計算一個8x8塊的系數(shù)均需要從上一個宏塊行的首地址計算開始,同時每幀的第一個宏塊行和第一個宏塊列的邊界處理繁瑣,需要分幀內(nèi)或幀外的情況,流程分支較多。本發(fā)明則提供一種新的視頻解碼器的DC/AC系數(shù)預(yù)測方法及視頻解碼器用以改善或解決上述的問題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提供一種在存儲空間相當(dāng)?shù)那闆r下,預(yù)測值循環(huán)存儲方式和預(yù)測相關(guān)塊檢索方式,從而簡化了預(yù)測流程提高以塊為單位的預(yù)測效率的視頻解碼器的DC/AC系數(shù)預(yù)測方法以及視頻解碼器。本發(fā)明通過這樣的技術(shù)方案解決上述的技術(shù)問題:一種視頻解碼器的DC/AC系數(shù)預(yù)測方法,該方法具有以下步驟:以宏塊作為處理單元,預(yù)設(shè)六緩沖區(qū),分別對應(yīng)亮度塊的DC系數(shù)緩沖區(qū)、亮度塊的AC系數(shù)緩沖區(qū)、每個色度塊的DC系數(shù)緩沖區(qū)以及每個色度塊的AC系數(shù)緩沖區(qū),每個緩沖區(qū)內(nèi)存有預(yù)測需要塊的DC或AC系數(shù)和需要預(yù)測的塊的DC或AC系數(shù);將各緩沖區(qū)內(nèi)的AC系數(shù)或DC系數(shù)賦予初始值;預(yù)測當(dāng)前塊的DC或AC系數(shù),并將預(yù)測后的數(shù)值保存于各對應(yīng)的緩沖區(qū)內(nèi);按照塊的位置進(jìn)行塊的系數(shù)預(yù)測;指向當(dāng)前需要預(yù)測的塊的指針PTR在指到末尾塊時跳至指針初始值。作為本發(fā)明的一種改進(jìn),每解碼一個塊,位置指針位置向前移動兩位。作為本發(fā)明的一種改進(jìn),AC系數(shù)初始值為0,DC初始值為1024。作為本發(fā)明的一種改進(jìn),每個塊預(yù)測完后位置指針PTR的變換情況固定,采用表格的方式實(shí)現(xiàn),查表實(shí)現(xiàn)方式為:Intl6_t offset[] = {1,-2,1,2}PTR+ = Offset [η],其中 η = 0,1,2, 3。本發(fā)明另提供一種視頻解碼器,該視頻解碼器使用上述預(yù)測方法,該解碼器以宏塊作為處理單元,并設(shè)有六緩沖區(qū),分別對應(yīng)亮度塊的DC系數(shù)緩沖區(qū)、亮度塊的AC系數(shù)緩沖區(qū)、每個色度塊的DC系數(shù)緩沖區(qū)以及每個色度塊的AC系數(shù)緩沖區(qū),,每一緩沖區(qū)內(nèi)存有預(yù)測需要塊的DC或AC系數(shù)和需要預(yù)測的塊的DC或AC系數(shù),位置指針PTR指向緩沖區(qū)內(nèi)的任意位置并具有初始值,位置指針PTR在指到末尾塊時跳至指針初始值,各緩沖區(qū)內(nèi)的AC系數(shù)和DC系數(shù)賦予初始值。作為本發(fā)明的一種改進(jìn),每解碼一個塊,位置指針PTR位置向前移動兩位。作為本發(fā)明的一種改進(jìn),AC系數(shù)初始值為0,DC初始值為1024。作為本發(fā)明的一種改進(jìn),每個塊預(yù)測完后位置指針PTR的變換情況固定,采用表格的方式實(shí)現(xiàn),查表實(shí)現(xiàn)方式為:
Intl6_t offset[] = {1,-2,1,2}PTR+ = Offset[n],其中 n = 0,1,2,3。與現(xiàn)有技術(shù)相比較,本發(fā)明具有以下優(yōu)點(diǎn):采用了循環(huán)緩沖區(qū)來保存預(yù)測用到的宏塊數(shù)據(jù),從而大大簡化了預(yù)測系數(shù)的索引和邊界判斷,在存儲空間相當(dāng)?shù)那闆r下,簡化預(yù)測流程,提高以塊為單位的預(yù)測效率。


圖1是視頻宏塊的示意圖;圖2是被解碼塊以及周圍的三個塊的示意圖;圖3a和圖3b是傳統(tǒng)的DC/AC系數(shù)預(yù)測的緩沖區(qū)設(shè)計示意圖;圖4是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中解碼宏塊之前的亮度塊緩沖區(qū)的數(shù)據(jù)示意圖;圖5是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中預(yù)測解碼Xl塊后緩沖區(qū)的數(shù)據(jù)示意圖;圖6是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中預(yù)測解碼X2塊后緩沖區(qū)的數(shù)據(jù)不意圖;圖7是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中預(yù)測解碼X3塊后緩沖區(qū)的數(shù)據(jù)不意圖;圖8是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中預(yù)測解碼X4塊后緩沖區(qū)的數(shù)據(jù)示意圖;圖9是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中宏塊中的亮度塊的分布示意圖;圖10是本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法中經(jīng)簡化過的宏塊分布示意圖。
具體實(shí)施例方式下面結(jié)合附圖詳細(xì)說明本發(fā)明的具體實(shí)施方式
。本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法依照一般原則,每個塊的DC/AC系數(shù)的預(yù)測使用與之相鄰的3個塊來進(jìn)行,在內(nèi)存的限制比較嚴(yán)格的情況下,不可能保存一幀圖像所有的DC/AC系數(shù),因而只保存預(yù)測必需的數(shù)據(jù)。為此本發(fā)明視頻解碼器的DC/AC系數(shù)預(yù)測方法采用了循環(huán)緩沖區(qū)來預(yù)測以塊為單位的DC和AC系數(shù)。下面以亮度塊的DC系數(shù)為例對該預(yù)測過程進(jìn)行詳細(xì)的描述。請參照圖4至圖8,圖中每個點(diǎn)表示一個塊,帶有剖面線的圓點(diǎn)表示數(shù)據(jù)不再使用,帶數(shù)字的圓點(diǎn)表示數(shù)據(jù)在循環(huán)緩沖區(qū)之中,數(shù)字表示該塊在緩沖區(qū)中的位置序號,白色的圓點(diǎn)表示需要預(yù)測點(diǎn),X1、X2、X3、X4是當(dāng)前宏塊中需要預(yù)測的4個亮度塊。圖4表示預(yù)測之前的緩沖區(qū)的數(shù)據(jù)。預(yù)測Xl塊需要4、5、6三個點(diǎn),此時位置代表Xl點(diǎn)周圍參考塊的位置,用這三個點(diǎn)的預(yù)測值計算預(yù)測方向,并根據(jù)預(yù)測方向進(jìn)行當(dāng)前8x8塊的預(yù)測。Xl預(yù)測完成后,5號點(diǎn)已經(jīng)不再使用,即Xl左上方的點(diǎn)不在需要,因而Xl占據(jù)5號點(diǎn)的位置,如圖5所示,它表示了預(yù)測Xl后緩沖區(qū)的數(shù)據(jù)變化。同理,預(yù)測X2塊需要5、6、7三個點(diǎn)。X2預(yù)測完成后,6號點(diǎn)已經(jīng)不再使用,因而X2占據(jù)6號點(diǎn)的位置,如圖6所示,它表示了預(yù)測解碼X2后緩沖區(qū)的數(shù)據(jù)變化。同理,預(yù)測X3塊需要3、4、5三個點(diǎn)。X3預(yù)測完成后,4號點(diǎn)已經(jīng)不再使用,因而X3占據(jù)4號點(diǎn)的位置,如圖7所示,它表示了預(yù)測X3后緩沖區(qū)的數(shù)據(jù)變化。同理,預(yù)測X4塊需要4、5、6三個點(diǎn)。X4預(yù)測完成后,5號點(diǎn)已經(jīng)不再使用,因而X4占據(jù)5號點(diǎn)的位置,如圖8所示,它表示了預(yù)測解碼X4后緩沖區(qū)的數(shù)據(jù)變化。對比圖4至圖8,可以看出,每次解碼一個宏塊的所有亮度塊之后,將會修改3個點(diǎn)。在圖4中,假設(shè)緩沖區(qū)的當(dāng)前位置指針指向的是5,與之相應(yīng)在圖8中指向的是7。由此還可以看出每解碼一個宏塊,當(dāng)前位置指針向前移動2。關(guān)鍵每個塊預(yù)測完后位置指針(ptr)的變換情況固定,如下所示:Xl:ptr+ = IX2:ptr- = 2X3:ptr+ = IX4:ptr+ = 2因此,通過位置指針的位置,按宏塊號順序進(jìn)行解碼時,每次對參考DC值存取非常方便和快速,摒棄了傳統(tǒng)方式中的需要從首地址重新計算的過程。由于是循環(huán)緩沖區(qū),位置指針ptr指到末尾的時候再往下加就會自動跳到開頭,同樣,指到開頭的時候再減就會自動跳到末尾。亮度塊的AC系數(shù)和色度塊的DC/AC系數(shù)的預(yù)測過程與前面講的亮度塊的DC系數(shù)預(yù)測過程類似。由于每個塊的AC預(yù)測使用垂直預(yù)測參考塊的第一行或水平預(yù)測參考塊的第一列,所以亮度或色度AC系數(shù)緩沖區(qū)中對于每個DC系數(shù)的位置對應(yīng)7個AC系數(shù)。亮度塊的DC系數(shù)緩沖區(qū)設(shè)計詳細(xì)說明如下:1.使用循環(huán)緩沖區(qū)之前先要對緩沖區(qū)賦初值,對于AC系數(shù),賦初值0,對于DC系數(shù)賦初值1024 ;2.解碼到每行的最后一個宏塊的最后一個塊的時候,需要對后面的連續(xù)3個數(shù)賦初值,AC為O、DC為1024,同時位置指針ptr+ = 2 (對于幀間宏塊,也需要類似處理);3.預(yù)測某個值時,預(yù)測后的值存放在LoopBuffer [ptr],A、B、C對應(yīng)值為:A = LoopBuffer[ptr~l]B = LoopBuffer [ptr]C = LoopBuffer[ptr+1]LoopBuffer[ptr] = predValue4.緩沖區(qū)的亮度塊個數(shù)為:2 X每行宏塊數(shù)+45.緩沖區(qū)的初始指針ptr可以設(shè)置到任意位置,但必須在緩沖區(qū)范圍內(nèi);6.每次預(yù)測完成后,ptr的變化按如下規(guī)則:Blockl ptr+ = IBlock2 ptr+ = -2Block3 ptr+ = IBlock4 ptr+ = 2
具體實(shí)現(xiàn)時可以采用查表的方式,示例代碼如下:

Intl6_t offset[] = {1,_2,1,2}

ptr+ = offset [η]其中 η = 0,1,2,3為了簡化分析,我們假設(shè)每行有4個宏塊,如圖9所示,共表示了 9個宏塊A、B、C、D、E、F、G、H、1、J。表I是亮度塊數(shù)據(jù)變化情況:

權(quán)利要求
1.一種視頻解碼器的DC/AC系數(shù)預(yù)測方法,其特征在于,該方法具有以下步驟: 以宏塊作為處理單元,預(yù)設(shè)六緩沖區(qū),分別對應(yīng)亮度塊的DC系數(shù)緩沖區(qū)、亮度塊的AC系數(shù)緩沖區(qū)、每個色度塊的DC系數(shù)緩沖區(qū)以及每個色度塊的AC系數(shù)緩沖區(qū),每個緩沖區(qū)內(nèi)存有預(yù)測需要塊的DC或AC系數(shù)和需要預(yù)測的塊的DC或AC系數(shù); 將各緩沖區(qū)內(nèi)的AC系數(shù)或DC系數(shù)賦予初始值; 預(yù)測當(dāng)前塊的DC或AC系數(shù),并將預(yù)測后的數(shù)值保存于各對應(yīng)的緩沖區(qū)內(nèi); 按照塊的位置進(jìn)行塊的系數(shù)預(yù)測; 指向當(dāng)前需要預(yù)測塊的指針PTR在指到末尾塊時跳至指針初始值。
2.根據(jù)權(quán)利要求1所述的視頻解碼器的DC/AC系數(shù)預(yù)測方法,其特征在于:每解碼一個塊,位置指針位置向前移動兩位。
3.根據(jù)權(quán)利要求1所述的視頻解碼器的DC/AC系數(shù)預(yù)測方法,其特征在于:AC系數(shù)初始值為O,DC初始值為1024。
4.根據(jù)權(quán)利要求2所述的視頻解碼器的DC/AC系數(shù)預(yù)測方法,其特征在于:每個塊預(yù)測完后位置指針PTR的變換情況固定,采用表格的方式實(shí)現(xiàn),查表實(shí)現(xiàn)方式為:Intl6_t offset[] = {1,-2,1,2}PTR+ = Offset [η],其中 η = 0,1,2,3。
5.一種使用如權(quán)利要求1所述的視頻解碼器的DC/AC系數(shù)預(yù)測方法的視頻解碼器,其特征在于,該解碼器以宏塊作為處理單元,并設(shè)有六緩沖區(qū),分別對應(yīng)亮度塊的DC系數(shù)緩沖區(qū)、亮度塊的AC系數(shù)緩沖區(qū)、每個色度塊的DC系數(shù)緩沖區(qū)以及每個色度塊的AC系數(shù)緩沖區(qū),,每一緩沖區(qū)內(nèi)存有預(yù)測需要塊的DC或AC系數(shù)和需要預(yù)測的塊的DC或AC系數(shù),位置指針PTR指向緩沖區(qū)內(nèi)的任意位置并具有初始值,位置指針PTR在指到末尾塊時跳至指針初始值,各緩沖區(qū)內(nèi)的AC系數(shù)和DC系數(shù)賦予初始值。
6.根據(jù)權(quán)利要求5所述的視頻解碼器,其特征在于:每解碼一個塊,位置指針PTR位置向前移動兩位。
7.根據(jù)權(quán)利要求5所述的視頻解碼器,其特征在于:AC系數(shù)初始值為0,DC初始值為1024。
8.根據(jù)權(quán)利要求6所述的視頻解碼器,其特征在于:每個塊預(yù)測完后位置指針PTR的變換情況固定,米用表格的方式實(shí)現(xiàn),查表實(shí)現(xiàn)方式為:Intl6_t offset[] = {1,-2,1,2}PTR+ = Offset [η],其中 η = 0,1,2,3。
全文摘要
本發(fā)明提供一種視頻解碼器的DC/AC系數(shù)預(yù)測方法,該方法具有以下步驟預(yù)設(shè)一緩沖區(qū),緩沖區(qū)內(nèi)存有需要預(yù)測的塊和當(dāng)前待預(yù)測塊,指針PTR指向當(dāng)前待預(yù)測塊,指針PTR具有初始值;在緩沖區(qū)內(nèi)的塊被設(shè)置位置序號;將緩沖區(qū)內(nèi)的AC系數(shù)或DC系數(shù)賦予初始值;預(yù)測當(dāng)前塊的系數(shù),將預(yù)測后的數(shù)值保存于緩沖區(qū)內(nèi);按照塊的位置序號進(jìn)行塊的系數(shù)預(yù)測;指針PTR在指到末尾塊時跳至指針初始值。本發(fā)明采用了循環(huán)緩沖區(qū)來保存預(yù)測用到的宏塊數(shù)據(jù),從而大大簡化了預(yù)測系數(shù)的索引和邊界判斷,在存儲空間相當(dāng)?shù)那闆r下,簡化預(yù)測流程,提高以塊為單位的預(yù)測效率。本發(fā)明還提供了一種使用上述方法的視頻解碼器。
文檔編號H04N7/50GK103139558SQ20111038902
公開日2013年6月5日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者付寶玲, 高超, 劉春花 申請人:聯(lián)芯科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
安塞县| 瓦房店市| 梁河县| 武功县| 张掖市| 肇州县| 娱乐| 阳朔县| 上林县| 筠连县| 子洲县| 宝鸡市| 贡觉县| 达州市| 铁岭县| 乌鲁木齐县| 翼城县| 安西县| 福建省| 南川市| 交城县| 睢宁县| 甘肃省| 翁源县| 临夏市| 芮城县| 绥滨县| 平阴县| 南溪县| 林西县| 和龙市| 桂林市| 长泰县| 丹东市| 朝阳市| 盘锦市| 崇礼县| 巨鹿县| 巨鹿县| 曲靖市| 永昌县|