国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種解碼器及有損解碼視頻圖像的方法

      文檔序號(hào):9768084閱讀:694來源:國知局
      一種解碼器及有損解碼視頻圖像的方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及高清數(shù)字視頻壓縮編解碼技術(shù)領(lǐng)域,尤其涉及一種解碼器及有損解碼 視頻圖像的方法。
      【背景技術(shù)】
      [0002] 用于視頻解碼裝置,如圖1所示,主要包括:反量化模塊(Q ^、反變換模塊(T 4、 相加模塊、限位模塊Clip、去塊濾波模塊dblk、自適應(yīng)樣點(diǎn)補(bǔ)償模塊SA0、參考幀緩存區(qū) (Ref buffer)、幀內(nèi)預(yù)測(cè)模塊(Pintra)和幀間預(yù)測(cè)模塊(PintCT),完整的比特位深BitDepth = 8或10的視頻圖像解碼流程主要包括:
      [0003] 每一幀視頻圖像會(huì)劃分成很多個(gè)宏塊,不論是8bit還是lObit視頻圖像宏塊碼流 都要先熵解碼得到熵解碼系數(shù)(Coefficients),然后經(jīng)反量化模塊進(jìn)行反量化、經(jīng)反變換模 塊進(jìn)行反變換得到殘差值(d+Ι位),相加模塊將得到的殘差值與該宏塊對(duì)應(yīng)的幀內(nèi)預(yù)測(cè)值 或幀間預(yù)測(cè)值相加得到重建值;限位模塊將重建值限制在(〇,2 d 4范圍內(nèi),這樣每個(gè)重建 值可以用d比特表示(d = 8或10);去塊濾波用于對(duì)限位后的重建值進(jìn)行去塊濾波;自適 應(yīng)樣點(diǎn)補(bǔ)償模塊用于對(duì)去塊濾波后的重建值進(jìn)行自適應(yīng)樣點(diǎn)補(bǔ)償計(jì)算,得到解碼結(jié)果并輸 出。
      [0004] 每個(gè)宏塊可能采用幀內(nèi)預(yù)測(cè)也可能采用幀間預(yù)測(cè),當(dāng)前宏塊的重建值會(huì)用做當(dāng)前 幀后續(xù)宏塊的幀內(nèi)預(yù)測(cè),當(dāng)前幀宏塊的重建值濾波后會(huì)用于下一幀圖像中宏塊的幀間預(yù) 測(cè)。視頻碼流里會(huì)標(biāo)示每個(gè)宏塊采用的預(yù)測(cè)模式。
      [0005] 幀內(nèi)預(yù)測(cè)模塊參考幀內(nèi)已解碼的相鄰宏塊未經(jīng)濾波(dblk&SAO)的重建值進(jìn)行幀 內(nèi)預(yù)測(cè),幀間預(yù)測(cè)模塊參考已解碼幀的與當(dāng)前宏塊相鄰的宏塊經(jīng)濾波(dblk&SAO)的重建 值進(jìn)行幀間預(yù)測(cè)。
      [0006] 具體地,視頻解碼裝置根據(jù)視頻碼流中標(biāo)示的預(yù)測(cè)模式,確定需要結(jié)合當(dāng)前宏塊 的殘差值及幀內(nèi)預(yù)測(cè)值計(jì)算當(dāng)前宏塊的重建值時(shí),由相加模塊將當(dāng)前宏塊的殘差值及幀內(nèi) 預(yù)測(cè)模塊輸出的幀內(nèi)預(yù)測(cè)值相加得到當(dāng)前宏塊的重建值;確定需要結(jié)合當(dāng)前宏塊的殘差值 及幀間預(yù)測(cè)值計(jì)算當(dāng)前宏塊的重建值時(shí),由相加模塊將當(dāng)前宏塊的殘差值及幀間預(yù)測(cè)模塊 輸出的幀間預(yù)測(cè)值相加得到當(dāng)前宏塊的重建值。
      [0007] 以上解碼過程中每個(gè)對(duì)應(yīng)的模塊解碼lObit序列比解碼8bit序列都需要多消耗 硬件資源。
      [0008] 支持全規(guī)格的lObit序列解碼需要消耗更多的硬件單元以及占用更多的帶寬,如 果能夠在現(xiàn)有的8bit解碼器上只增加很少的硬件資源就能達(dá)到解碼lObit序列并且視覺 上差別不大,則是個(gè)很好的解決方案。
      [0009] 現(xiàn)有方法都是從上述流程圖入手考慮在哪個(gè)步驟把lObit數(shù)據(jù)運(yùn)算轉(zhuǎn)換為8bit 數(shù)據(jù)運(yùn)算,很明顯的由于輸出解碼結(jié)果只能存放在DDR(即DDR SDRAM,雙倍速率同步動(dòng)態(tài) 隨機(jī)存儲(chǔ)器),為保證帶寬其數(shù)據(jù)位深最好為8而不是10,因此至少必須在濾波(dblk&SAO) 之后轉(zhuǎn)換。
      [0010] 目前較好的解決節(jié)省硬件資源的解碼流程如圖2所示: 〇/,
      [0011] 其中^的意思是將10比特?cái)?shù)據(jù)轉(zhuǎn)換為8bit數(shù)據(jù),轉(zhuǎn)換方法為將10比特?cái)?shù)據(jù)右 1 ().〇 mb 移兩位。I的意思是將8比特?cái)?shù)據(jù)轉(zhuǎn)換為lObit數(shù)據(jù),轉(zhuǎn)換方法為將8比特?cái)?shù)據(jù)左移兩 m 位。在解碼過程中,限位模塊將相加模塊輸出的重建值右移兩位,將重建值限制在(0,2S ^ 范圍內(nèi);幀內(nèi)預(yù)測(cè)模塊將限位模塊輸出的重建值左移兩位后再進(jìn)行幀內(nèi)預(yù)測(cè),幀間預(yù)測(cè)模 塊將得到的幀間預(yù)測(cè)值左移兩位后輸出。
      [0012] 從圖2可以看至lj,該方案在解碼lObit碼流時(shí),反量化、反變換和幀內(nèi)預(yù)測(cè)3個(gè)模 塊用的是l〇bit運(yùn)算,而濾波(去塊濾波和自適應(yīng)樣點(diǎn)補(bǔ)償)和幀間預(yù)測(cè)模塊用的是8bit 運(yùn)算。之所以這樣做主要是后兩個(gè)模塊的lObit運(yùn)算消耗的硬件單元比前三個(gè)多。該技術(shù) 能較好的接近原始解碼效果,比直接從熵解碼步驟就將系數(shù)從lObit轉(zhuǎn)換為8bit能獲得更 好的PSNR(Peak Signalto Noise Ratio,峰值信噪比)(40DB左右)和更好的圖像質(zhì)量。
      [0013] 但上述方案有一個(gè)缺點(diǎn),就是HEVC做幀內(nèi)intra預(yù)測(cè)會(huì)利用周圍宏塊的重建 值做水平垂直等35種模式的預(yù)測(cè),但是上述流程圖中得到重建值后會(huì)先把數(shù)據(jù)從lObit 限位到8bit做濾波(dblk&SAO),需要用來做intra預(yù)測(cè)時(shí)再從8bit擴(kuò)展到lObit,這 個(gè)過程中會(huì)導(dǎo)致intra宏塊周圍的參考像素和原來的有誤差,導(dǎo)致解碼效果不盡如人 意。誤差比較明顯的是當(dāng)32X32亮度塊做intra預(yù)測(cè)時(shí)會(huì)對(duì)intra宏塊周圍的參考像素 (reference sample)進(jìn)行平滑(smoothing)的操作,當(dāng)參考像素的不連續(xù)性超過一個(gè)閾值 (l〈〈(bitdepth-5))時(shí)會(huì)對(duì)所有的周圍參考像素用雙線性插值bilinear interpolation 的平滑smoothing方式進(jìn)行修改(強(qiáng)幀內(nèi)平滑called strong intra smoothing)。而如果 原來的參考像素并沒有超過該閾值則不做或做的是[121]小平滑濾波,此時(shí)會(huì)導(dǎo)致預(yù)測(cè)出 來的數(shù)據(jù)完全不同,造成解碼的不正確,并且該錯(cuò)誤有可能擴(kuò)散至該幀內(nèi)后續(xù)intra塊和 對(duì)后面的P幀的解碼造成大面積解碼錯(cuò)誤。采用上述方法解碼得到的圖像會(huì)出現(xiàn)圖像花屏 現(xiàn)象。

      【發(fā)明內(nèi)容】

      [0014] 本發(fā)明提供一種解碼器及有損解碼視頻圖像的方法,既可以節(jié)省讀寫DDR帶寬及 硬件資源又不會(huì)出現(xiàn)花屏,保證圖像質(zhì)量。
      [0015] 本發(fā)明提供一種解碼器有損解碼視頻圖像的方法,其中,每幀視頻圖像被劃分為 多個(gè)宏塊,該方法包括 :
      [0016] 將當(dāng)前宏塊的殘差值與幀內(nèi)預(yù)測(cè)值或幀間預(yù)測(cè)值相加得到當(dāng)前宏塊的d位比特 的重建值并在第一緩存區(qū)進(jìn)行緩存;其中,通過從第一緩存區(qū)讀取幀內(nèi)已解碼的相鄰宏塊 的d位比特的重建值進(jìn)行幀內(nèi)預(yù)測(cè),得到當(dāng)前宏塊的幀內(nèi)預(yù)測(cè)值;
      [0017] 將當(dāng)前宏塊的d位比特的重建值向右移η位比特,得到當(dāng)前宏塊的d-n位比特的 重建值,對(duì)所述d-n位比特的重建值進(jìn)行濾波,或者,對(duì)當(dāng)前宏塊的d位比特的重建值進(jìn)行 濾波,將濾波后的d位比特的重建值向右移η位比特,得到并輸出d-n位比特的解碼結(jié)果, η為大于1小于d的整數(shù)。
      [0018] 優(yōu)選地,該方法還包括:
      [0019] 每得到一個(gè)宏塊的d-n位比特的解碼結(jié)果后,將所述d-n位比特的解碼結(jié)果在第 二緩存區(qū)進(jìn)行緩存;
      [0020] 通過如下方式得到當(dāng)前宏塊的幀間預(yù)測(cè)值:
      [0021] 從第二緩存區(qū)讀取已解碼幀的與當(dāng)前宏塊相鄰的宏塊的d-n位比特的解碼結(jié)果 進(jìn)行幀間預(yù)測(cè),將幀間預(yù)測(cè)的結(jié)果向左移η位比特得到當(dāng)前宏塊的幀間預(yù)測(cè)值;
      [0022] 或者
      [0023] 從第二緩存區(qū)讀取已解碼幀的與當(dāng)前宏塊相鄰的宏塊的d-n位比特的解碼結(jié)果 并向左移η位比特后進(jìn)行幀間預(yù)測(cè),得到當(dāng)前宏塊的幀間預(yù)測(cè)值。
      [0024] 優(yōu)選地,所述d為10,所述η為2。
      [0025] 優(yōu)選地,在濾波之前將d位比特的重建值向右移η位比特,具體包括:
      [0026] 在濾波之前將d位比特的重建值向右移η位比特,并將重建值限制在0~2d η 1范 圍內(nèi)。
      [0027] 優(yōu)選地,將濾波后的d位比特的重建值向右移η位比特,具體包括:
      [0028] 在濾波之后將濾波后的d位比特的重建值向右移η位比特,并將濾波后的重建值 限制在0~2 dn 1范圍內(nèi)。
      [0029] 優(yōu)選地,對(duì)當(dāng)前宏塊的d位比特或d-n位比特的重建值進(jìn)行濾波,具體包括:
      [0030] 對(duì)當(dāng)前宏塊的d位比特或d-n位比特的重建值進(jìn)行去塊濾波和自適應(yīng)樣點(diǎn)補(bǔ)償。
      [0031] 本發(fā)明還提供一種有損解碼視頻圖像的解碼器,每幀視頻圖像
      當(dāng)前第1頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1