本發(fā)明有關(guān)一種視頻編碼技術(shù),特別是一種使用殘差補(bǔ)償?shù)囊曨l編碼方法以及使用該方法的裝置。
背景技術(shù):
:視頻壓縮使用先進(jìn)的編碼技術(shù),用以移除視頻數(shù)據(jù)中的冗余。視頻壓縮演算法及編解碼器合并了影像的空間壓縮及時(shí)間上的移動(dòng)補(bǔ)償。然而,應(yīng)用在安全、醫(yī)藥及航天領(lǐng)域的視頻壓縮演算法,需要無(wú)損或幾近無(wú)損壓縮。因此,需要一種使用殘差補(bǔ)償?shù)囊曨l編碼方法以及使用該方法的裝置,用以達(dá)成無(wú)損或幾近無(wú)損壓縮。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例提出一種使用殘差補(bǔ)償?shù)囊曨l編碼方法,包括:計(jì)算源圖像及重構(gòu)圖像間的殘差值;以及將殘差值的信息加入視頻串流,使得視頻解碼器將殘差值的信息添加至視頻串流中解碼的圖像。本發(fā)明的實(shí)施例另提出一種使用殘差補(bǔ)償?shù)囊曨l編碼裝置,包含殘差值信息產(chǎn)生器。殘差值信息產(chǎn)生器計(jì)算源圖像及重構(gòu)圖像間的殘差值,并將殘差值的信息加入視頻串流,使得視頻解碼器將殘差值的信息添加至視頻串流中解碼的圖像。本發(fā)明可補(bǔ)償視頻編碼的減損。附圖說(shuō)明圖1是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)囊曨l編碼方法流程圖。圖2是依據(jù)本發(fā)明實(shí)施例的產(chǎn)生殘差值的示意圖。圖3是依據(jù)本發(fā)明實(shí)施例的圖像間殘差編碼的示意圖。圖4是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)腍.264/AVS視頻編碼的系統(tǒng)方塊圖。圖5是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)腁VS2視頻編碼的系統(tǒng)方塊圖。圖6是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)腍EVC視頻編碼的系統(tǒng)方塊圖。其中,附圖中符號(hào)的簡(jiǎn)單說(shuō)明如下:S110~S170:方法步驟;210:源圖像;230:重構(gòu)圖像;250:殘差值;Fi:源圖像;Fi-1:參考圖像;Ri:源殘差值;Ri-1:參考?xì)埐钪担?10、330:源塊;310′、330′:參考?jí)K;410:源幀;420:重構(gòu)幀;430:殘差計(jì)算器;440:壓縮器;450:熵編碼器;460:移動(dòng)預(yù)測(cè)器;510:源畫(huà)面;520:解碼畫(huà)面;530:殘差計(jì)算器;540:壓縮器;550:熵編碼器;560:畫(huà)面間預(yù)測(cè)器;610:源畫(huà)面;620:解碼畫(huà)面;630:殘差計(jì)算器;640:壓縮器;650:熵編碼器;660:移動(dòng)預(yù)測(cè)器。具體實(shí)施方式以下說(shuō)明為完成發(fā)明的較佳實(shí)現(xiàn)方式,其目的在于描述本發(fā)明的基本精神,但并不用以限定本發(fā)明。實(shí)際的
發(fā)明內(nèi)容必須參考權(quán)利要求的范圍。必須了解的是,使用于本說(shuō)明書(shū)中的“包含”、“包括”等詞,用以表示存在特定的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、元件以及/或組件,但并不排除可加上更多的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、元件、組件,或以上的任意組合。于權(quán)利要求中使用如“第一”、“第二”、“第三”等詞用來(lái)修飾權(quán)利要求中的元件,并非用來(lái)表示之間具有優(yōu)先權(quán)順序,先行關(guān)系,或者是一個(gè)元件先于另一個(gè)元件,或者是執(zhí)行方法步驟時(shí)的時(shí)間先后順序,僅用來(lái)區(qū)別具有相同名字的元件。為了補(bǔ)償視頻編碼的減損,本發(fā)明實(shí)施例提出了一種使用殘差補(bǔ)償?shù)囊曨l編碼方法。圖1是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)囊曨l編碼方法流程圖。此方法可由視頻編碼器(videoencoder)執(zhí)行。于計(jì)算源圖像(sourceimage)及重構(gòu)圖像(reconstructedimage)間的殘差值后(步驟S110),將殘差值的信息加入視頻串流,用以讓視頻解碼器解碼視頻串流中的圖像后將殘差值的信息添加至解碼圖像,降低壓縮減損(步驟S120)。在一些視頻編碼標(biāo)準(zhǔn)中,源圖像及重構(gòu)圖像也可分別稱(chēng)為源幀(sourceframe)及重構(gòu)幀(reconstructedframe)。在另一些視頻編碼標(biāo)準(zhǔn)中,源圖像及重構(gòu)圖像也可分別稱(chēng)為源畫(huà)面(sourcepicture)及解碼畫(huà)面(decodedpicture)。源圖像是尚未經(jīng)過(guò)壓縮的原始數(shù)據(jù)(rawdata)。重構(gòu)圖像為從壓縮圖像(compressedimage)重建回來(lái)的圖像。視頻編碼器可使用圖像內(nèi)編碼(intra-coding)來(lái)消除源圖像的空間冗余,并且使用圖像間編碼(inter-coding)來(lái)消除源圖像的時(shí)間冗余。視頻編碼器另可接著使用變換(transformation)及量化(quantization)來(lái)產(chǎn)生壓縮圖像。壓縮圖像可使用反量化(inversequantization)、反變換(inversetransformation)、圖像間補(bǔ)償(inter-compensation)、圖像內(nèi)補(bǔ)償(intra-compensation)及濾波(filtering)來(lái)產(chǎn)生重構(gòu)畫(huà)面。重構(gòu)圖像通常只保留源圖像的低頻信息,舍棄源圖像的高頻信息。計(jì)算后的殘差值包含源圖像的高頻信息。圖2是依據(jù)本發(fā)明實(shí)施例的產(chǎn)生殘差值的示意圖。編碼器可使用公式(1)產(chǎn)生第n個(gè)圖像的殘差值250:Rn=Fn-F′n,其中,F(xiàn)n代表第n個(gè)源圖像210,F(xiàn)′n代表第n個(gè)重構(gòu)圖像230,以及Rn代表第n個(gè)源圖像210及重構(gòu)圖像230間的殘差值。以下舉例說(shuō)明殘差值的計(jì)算。一個(gè)源圖像可切分出多塊。一塊可包含16x16、16x8、8x16、8x8、8x4、4x8、4x4個(gè)像素(pixels)。于一些視頻編碼標(biāo)準(zhǔn)中,切分的塊可稱(chēng)為宏塊(MB,MacroBlock)、編碼樹(shù)單元(CTU,CodingTreeUnit)等。表1顯示范例的源圖像中的一塊的Y分量:表19898989797989797979797979898989798989897979897989897979798989898989898989897979898989797989898999897979898989898989898979899999997979797989999999998979798989998989798979810010010099989897979899989998989899100100100100989898989898989898979899100999910099989899999898989999989999991001009999989999100999899999899989910099991009999991009999100999998989910099100101100991001009998999910099991001011011001001009910010010098999910010010110110110110010010010010010110099100991001011011011011011011011001011011001001001001011021021021031021021021021011011011021019899101101101101101101101101101101101101102101表2顯示范例的源圖像中的一塊的UV分量:表2表3顯示范例的重構(gòu)圖像中的一塊的Y分量:表3表4顯示范例的重構(gòu)圖像中的一塊的UV分量:表4129129129129129129129126126126126126126126125125129129129129129129129126126126126126126126125125129129129129129129129128126126126126126126125125129129129129129129129129126126126126126126125125129129129129129129129130126126126126126126125125129129129129129129129130126126126126126126125125128128128128128128129129127127127127127127126126128128128128128128129129127127127127127127126126經(jīng)過(guò)計(jì)算后,表5顯示范例的一塊的Y分量的殘差值:表5表6顯示范例的一塊的UV分量的殘差值:表611111111111110111110010201000011000001010000001111111010001101111123110101111100113421010112110123553210223322102244210023332211雖然在視頻串流中添加殘差的信息可減少視頻壓縮后的缺損,但是,這也會(huì)增加視頻串流的長(zhǎng)度。因?yàn)橹貥?gòu)圖像保留了大部分的信息,使得殘差值一般較小,因此,殘差值可進(jìn)一步壓縮,用以減少以上所述的缺點(diǎn)。首先,壓縮殘差值(步驟S130),對(duì)壓縮后的殘差值進(jìn)行熵編碼(entropyencoding)(步驟S150)。最后,將熵編碼后的殘差值加入視頻串流(步驟S170)。于步驟S130,于一些實(shí)施例中,可比對(duì)殘差值中的每一塊是否相符于多個(gè)殘差模式(residualmodes)中的一個(gè)。當(dāng)找到相符的殘差模式時(shí),以殘差模式碼表示此塊的實(shí)際殘差值。于另一些實(shí)施例中,可使用圖像內(nèi)殘差編碼(intra-residualcoding)來(lái)消除殘差值中的空間冗余。于更另一些實(shí)施例中,因?yàn)橄噜張D像間具有相似性,可使用圖像間殘差編碼(inter-residualcoding)來(lái)消除殘差值中的時(shí)間冗余。圖像間殘差編碼可沿用圖像間編碼的移動(dòng)向量(MV,MotionVector)。圖3是依據(jù)本發(fā)明實(shí)施例的圖像間殘差編碼的示意圖。視頻編碼器進(jìn)行圖像間預(yù)測(cè),使目前的源圖像Fi中的一塊310以移動(dòng)向量MV指向參考圖像Fi-1中的一塊310′。而目前的源殘差值Ri中的一塊330沿用圖像間預(yù)測(cè)產(chǎn)生的移動(dòng)向量MV,用以指向相應(yīng)于參考圖像Fi-1的參考?xì)埐钪礡i-1中的一塊330′。于更另一些實(shí)施例中,可使用振幅調(diào)制技術(shù)(PCM,pulse-codemodulation)來(lái)壓縮殘差值。于步驟S150,可使用霍夫曼編碼(Huffmancoding)或算術(shù)編碼(arithmeticcoding)對(duì)壓縮后的殘差值進(jìn)行熵編碼。本發(fā)明實(shí)施例提出的使用殘差補(bǔ)償?shù)囊曨l編碼方法可應(yīng)用于不同的是頻編碼標(biāo)準(zhǔn)。圖4是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)腍.264/AVS視頻編碼的系統(tǒng)方塊圖。殘差計(jì)算器430用以計(jì)算第n個(gè)源幀(sourceframe)410及第n個(gè)重構(gòu)幀(reconstructedframe)420間的殘差值。于一些實(shí)施例中,殘差計(jì)算器430可以減法器實(shí)施。于另一些實(shí)施例中,殘差計(jì)算器430可以處理單元(processingunit)或信號(hào)處理器(DSP,digitalsignalprocessor)實(shí)施。處理單元或信號(hào)處理器可使用多種方式實(shí)施,例如以專(zhuān)用硬件電路或通用硬件(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運(yùn)算能力的處理器),并且在執(zhí)行程序碼或軟件時(shí),提供特定的功能。處理單元包含運(yùn)算邏輯單元(ALU,ArithmeticandLogicUnit)以及位移器(bitshifter)。運(yùn)算邏輯單元負(fù)責(zé)執(zhí)行布林運(yùn)算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等),而位移器負(fù)責(zé)移位運(yùn)算及位旋轉(zhuǎn)。壓縮器440用以壓縮殘差值。于一些實(shí)施例,壓縮器440可沿用移動(dòng)預(yù)測(cè)器460產(chǎn)生的移動(dòng)向量MV,用以將第n幀殘差值中的一至多塊指向相應(yīng)于參考幀的殘差值中的指定塊。于另一些實(shí)施例,壓縮器440可執(zhí)行如步驟S130所示的操作來(lái)壓縮殘差值。壓縮器440可以處理單元或信號(hào)處理器實(shí)施。熵編碼器450可以處理單元或信號(hào)處理器實(shí)施,用以使用霍夫曼編碼或算術(shù)編碼對(duì)壓縮后的殘差值進(jìn)行熵編碼。如上所述的殘差計(jì)算器430、壓縮器440及熵編碼器450可統(tǒng)稱(chēng)為殘差值信息產(chǎn)生器。圖5是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)腁VS2視頻編碼的系統(tǒng)方塊圖。殘差計(jì)算器530用以計(jì)算第n個(gè)源畫(huà)面(sourcepicture)510及第n個(gè)解碼畫(huà)面(decodedpicture)520間的殘差值。于一些實(shí)施例中,殘差計(jì)算器530可以減法器實(shí)施。于另一些實(shí)施例中,殘差計(jì)算器530可以處理單元或信號(hào)處理器實(shí)施。壓縮器540用以壓縮殘差值。于一些實(shí)施例,壓縮器540可沿用畫(huà)面間預(yù)測(cè)器560產(chǎn)生的移動(dòng)向量MV,用以將第n個(gè)畫(huà)面殘差值中的一至多塊指向相應(yīng)于參考畫(huà)面的殘差值中的指定塊。于另一些實(shí)施例,壓縮器540可執(zhí)行如步驟S130所示的操作來(lái)壓縮殘差值。壓縮器540可以處理單元或信號(hào)處理器實(shí)施。熵編碼器550可以處理單元或信號(hào)處理器實(shí)施,用以使用霍夫曼編碼或算術(shù)編碼對(duì)壓縮后的殘差值進(jìn)行熵編碼。如上所述的殘差計(jì)算器530、壓縮器540及熵編碼器550可統(tǒng)稱(chēng)為殘差值信息產(chǎn)生器。圖6是依據(jù)本發(fā)明實(shí)施例的使用殘差補(bǔ)償?shù)腍EVC視頻編碼的系統(tǒng)方塊圖。殘差計(jì)算器630用以計(jì)算第n個(gè)源畫(huà)面610及第n個(gè)解碼畫(huà)面620間的殘差值。于一些實(shí)施例中,殘差計(jì)算器630可以減法器實(shí)施。于另一些實(shí)施例中,殘差計(jì)算器630可以處理單元或信號(hào)處理器實(shí)施。壓縮器640用以壓縮殘差值。于一些實(shí)施例,壓縮器640可沿用移動(dòng)預(yù)測(cè)器660產(chǎn)生的移動(dòng)向量MV,用以將第n個(gè)畫(huà)面殘差值中的一至多塊指向相應(yīng)于參考畫(huà)面的殘差值中的指定塊。于另一些實(shí)施例,壓縮器640可執(zhí)行如步驟S130所示的操作來(lái)壓縮殘差值。壓縮器640可以處理單元或信號(hào)處理器實(shí)施。熵編碼器650可以處理單元或信號(hào)處理器實(shí)施,用以使用霍夫曼編碼或算術(shù)編碼對(duì)壓縮后的殘差值進(jìn)行熵編碼。如上所述的殘差計(jì)算器630、壓縮器640及熵編碼器650可統(tǒng)稱(chēng)為殘差值信息產(chǎn)生器。雖然圖4至6中包含了以上描述的元件,但不排除在不違反發(fā)明的精神下,使用更多其他的附加元件,以達(dá)成更佳的技術(shù)效果。此外,雖然圖1的方法流程圖采用特定的順序來(lái)執(zhí)行,但是在不違法發(fā)明精神的情況下,本領(lǐng)域技術(shù)人員可以在達(dá)到相同效果的前提下,修改這些步驟間的順序,所以,本發(fā)明并不局限于僅使用如上所述的順序。以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明的保護(hù)范圍當(dāng)以本申請(qǐng)的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3