freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-基于cabac的可伸縮視頻編碼方法研究-資料下載頁

2025-06-07 02:04本頁面
  

【正文】 們所對(duì)應(yīng)的mb_type值較大(P/SP片中是從5到30,B片中是從23到48),其二值化的待編碼符號(hào)序列包含了前綴與后綴的串聯(lián),其中前綴在同一種片中不同的mb_type是一樣的,而后綴則是在減去一定的值后用上面I片中使用的編碼方法得到,對(duì)于要減去的值。當(dāng)在B片中時(shí),mode16x16 = 24;當(dāng)在P/SP片中時(shí),mode16x16 = 7。然后,前綴是通過act_sym來編碼(act_sym = mode16x16),而后綴則是通過mode_sym來編碼(mode_sym = act_sym mode16x16)。但上下文增量有所改變:在編碼當(dāng)前宏塊亮度分量的子塊殘差編碼方案z時(shí),值為8;在編碼當(dāng)前宏塊色度分量的子塊殘差編碼方案y時(shí),值為9;在編碼幀內(nèi)16*16的預(yù)測(cè)模式x時(shí),值為10。下面具體介紹對(duì)于不同的片,所采取的不同編碼方式。(1)在B片中(imgtype = B_SLICE, bframe = 1)時(shí)。計(jì)算并上下文模型的增量act_ctx,其中a與b分別為左鄰居宏塊與上鄰居宏塊的宏塊類型信息,其取值規(guī)則如下:如果左鄰居宏塊不可用(currMBmb_available_left = NULL),或者左鄰居宏塊為直接預(yù)測(cè)16*16塊B_Direct_16x16(currMBmb_available_leftmb_type = 0),則a應(yīng)置為0;否則,a置為1。如果上鄰居宏塊不可用(currMBmb_available_up = NULL),或者上鄰居宏塊為直接預(yù)測(cè)16*16塊B_Direct_16x16(currMBmb_available_upmb_type = 0),則b應(yīng)置為0;否則,b置為1。保存上下文模型的增量(secontext = act_ctx)。準(zhǔn)備編碼當(dāng)前宏塊類型(act_sym = curr_mb_type)。對(duì)于P宏塊(mb_type 24),其待編碼符號(hào)序列可以通過標(biāo)準(zhǔn)中的表928查到。另一方面,對(duì)于I宏塊(mb_type = 24),其待編碼符號(hào)序列的前綴為111101。如宏塊類型為B_L0_L1_8x16,最開始的act_sym = 9,前三位待編碼符號(hào)是110,由于act_sym 3 = 6,其二進(jìn)制值為0110,因此后四位待編碼符號(hào)是110,最終的待編碼符號(hào)序列為110110。如宏塊類型為B_Bi_L0_8x16,最開始的act_sym = 17,前三位待編碼符號(hào)是111,由于act_sym 12 = 5,其二進(jìn)制值為0101,因此后四位待編碼符號(hào)是0101,最終的待編碼符號(hào)序列為1110101。如宏塊類型為I_16x16_1_2_0,前綴為111101,后綴為1001101,最終的待編碼符號(hào)序列為1111011001101。(2)在P/SP片中(bframe != 1)時(shí)。準(zhǔn)備編碼當(dāng)前宏塊類型(act_sym = curr_mb_type)。對(duì)于P宏塊(mb_type 7),其待編碼符號(hào)序列可以通過標(biāo)準(zhǔn)中的表928查到,特別要注意的是,在CABAC中不支持P_8x8ref0的宏塊類型(mb_type = 4)。另一方面,對(duì)于I宏塊(mb_type = 7),其待編碼符號(hào)序列的前綴為1。 writeB8_typeInfo_CABAC函數(shù)分析void writeB8_typeInfo_CABAC(SyntaxElement *se, EncodingEnvironmentPtr eep_dp)主要功能:對(duì)一個(gè)8*8子宏塊的宏塊類型(句法元素sub_mb_type)進(jìn)行編碼。輸入:句法元素,編碼環(huán)境指針。根據(jù)句法元素獲取當(dāng)前宏塊的宏塊類型(act_sym = sevalue1)。根據(jù)句法元素mb_type的值act_sym采取不同的編碼方式。(),根據(jù)得到的上下文以及編碼器的狀態(tài)對(duì)待編碼符號(hào)值進(jìn)行算術(shù)編碼。為了簡(jiǎn)化敘述,下文只介紹求上下文與待編碼符號(hào)的過程。對(duì)于不同的子宏塊類型,有不同的編碼方式。在P/SP片中(bframe != 1)時(shí)。此時(shí)宏塊類型只有四種,都是使用前向預(yù)測(cè)。對(duì)于P_L0_8x8的宏塊類型(act_sym = 0),待編碼符號(hào)為1,上下文為amp。ctxb8_type_ contexts[0][1];對(duì)于P_L0_8x4的宏塊類型(act_sym = 1),待編碼符號(hào)序列為00,上下文為amp。ctxb8_ type_contexts[0][1]與amp。ctxb8_type_contexts[0][3];對(duì)于P_L0_4x8的宏塊類型(act_sym = 2),待編碼符號(hào)序列為011,上下文為amp。ctxb8_ type_contexts[0][1]、amp。ctxb8_type_contexts[0][3]與amp。ctxb8_type_ contexts[0][4];對(duì)于P_L0_4x4的宏塊類型(act_sym = 3),待編碼符號(hào)序列為010,上下文為amp。ctxb8_ type_contexts[0][1]、amp。ctxb8_type_contexts[0][3]與amp。ctxb8_type_ contexts[0][4]。在B片中(bframe = 1)時(shí)。如果宏塊類型為B_Direct_8x8(act_sym = 0),待編碼符號(hào)為0,上下文為amp。ctxb8_type_ contexts[1][0]。對(duì)于其余宏塊類型(act_sym值為1到12),其待編碼符號(hào)序列可以通過標(biāo)準(zhǔn)中的表929查到。 writeIntraPredMode_CABAC函數(shù)分析void writeIntraPredMode_CABAC(SyntaxElement *se, EncodingEnvironmentPtr eep_dp)主要功能:對(duì)一個(gè)已知宏塊對(duì)的幀內(nèi)預(yù)測(cè)模式進(jìn)行編碼。輸入:句法元素,編碼環(huán)境指針。讀取當(dāng)前片的上下文模型信息(TextureInfoContexts *ctx = imgcurrentSlice tex_ctx)。根據(jù)幀內(nèi)預(yù)測(cè)模式的值sevalue1采取不同的編碼方式。(),根據(jù)特定的上下文以及編碼器的狀態(tài)對(duì)待編碼符號(hào)值進(jìn)行算術(shù)編碼。為了簡(jiǎn)化敘述,下文只介紹對(duì)應(yīng)的上下文以及求待編碼符號(hào)的過程。如果mostProbableMode = ipmode(sevalue1 = 1),待編碼符號(hào)為1,上下文為ctxipr_contexts。否則根據(jù)sevalue1的值(0到7)來編碼。待編碼符號(hào)序列為sevalue1的4位二進(jìn)制數(shù),因此第一位為0,上下文為ctxipr_contexts;后三位的上下文為ctxipr_contexts+1。如預(yù)測(cè)模式為下左對(duì)角線(sevalue1 = 3),由45176。方向像素內(nèi)插得出相應(yīng)像素值,待編碼符號(hào)序列為0011。 writeRefFrame_CABAC函數(shù)分析void writeRefFrame_CABAC(SyntaxElement *se, EncodingEnvironmentPtr eep_dp)主要功能:對(duì)一個(gè)已知宏塊的參考圖像參數(shù)進(jìn)行編碼。輸入:句法元素,編碼環(huán)境指針。讀取當(dāng)前片的上下文模型信息(MotionInfoContexts *ctx = imgcurrentSlicemot_ctx)。讀取當(dāng)前宏塊信息(Macroblock *currMB = amp。imgmb_data[imgcurrent_mb _nr])。(左邊與上邊)4x4亮度塊的信息。計(jì)算上下文模型的增量(act_ctx = a + 2*b),其中a與b分別為左鄰居宏塊與上鄰居宏塊的參考圖像參數(shù)信息,其取值規(guī)則如下:如果左鄰居宏塊不可用( = 0),或者左鄰居宏塊沒用到參考圖像(IS_DIRECT(amp。imgmb_data[]) || (imgmb_data[].b8mode [b8a] = 0 amp。amp。 bslice)),則a應(yīng)置為0;否則,在自適應(yīng)幀/場(chǎng)模式下且當(dāng)前宏塊使用幀模式而左鄰居宏塊使用場(chǎng)模式(imgMbaffFrameFlag amp。amp。 (currMBmb_field == 0) amp。amp。 (img mb_data[].mb_field == 1)),如參考幀的對(duì)應(yīng)采樣點(diǎn)系數(shù)大于1,則a置為1,否則如參考幀的對(duì)應(yīng)采樣點(diǎn)系數(shù)大于0,則a置為1。其余情況a置為0。如果上鄰居宏塊不可用( = 0),或者上鄰居宏塊沒用到參考圖像(IS_DIRECT(amp。imgmb_data[]) || (imgmb_data[]. b8mode[b8b] = 0 amp。amp。 bslice)),則b應(yīng)置為0;否則,在自適應(yīng)幀/場(chǎng)模式下且當(dāng)前宏塊使用幀模式而上鄰居宏塊使用場(chǎng)模式(imgMbaffFrameFlag amp。amp。 (currMBmb_field == 0) amp。amp。 (img mb_data[].mb_field == 1)),如參考幀的對(duì)應(yīng)采樣點(diǎn)系數(shù)大于1,則b置為1,否則如參考幀的對(duì)應(yīng)采樣點(diǎn)系數(shù)大于0,則b置為1。其余情況b置為0。保存上下文模型的增量(secontext = act_ctx)。準(zhǔn)備編碼當(dāng)前宏塊的參考圖像參數(shù)(act_sym = sevalue1)。如果act_sym = 0,(),根據(jù)得到的上下文(ctxref_no_contexts[addctx] + act_ctx)以及編碼器的狀態(tài)對(duì)待編碼符號(hào)值0進(jìn)行算術(shù)編碼。否則,得到待編碼符號(hào)序列,()對(duì)該序列進(jìn)行算術(shù)編碼。 writeDquant_CABAC函數(shù)分析void writeDquant_CABAC(SyntaxElement *se, EncodingEnvironmentPtr eep_dp)主要功能:對(duì)量化參數(shù)差值(句法元素delta_qp)進(jìn)行編碼。輸入:句法元素,編碼環(huán)境指針。讀取當(dāng)前片的上下文模型信息(MotionInfoContexts *ctx = imgcurrentSlicemot_ctx)。根據(jù)句法元素獲取當(dāng)前宏塊的量化參數(shù)差值(dquant = sevalue1)。讀取當(dāng)前宏塊信息(Macroblock *currMB = amp。imgmb_data[imgcurrent_mb_nr])。讀取前一宏塊的量化參數(shù)差值(last_dquant = currMBprev_delta_qp)。計(jì)算上下文增量(act_ctx = ( (last_dquant != 0) ? 1 : 0))。由于量化參數(shù)殘值有正負(fù)之分,需進(jìn)行有符號(hào)指數(shù)哥倫布編碼,得出要進(jìn)行二進(jìn)制轉(zhuǎn)換的值。,這是根據(jù)量化參數(shù)差值的符號(hào)位和絕對(duì)值來計(jì)算,并賦給act_sym。,得到待編碼符號(hào)序列,()對(duì)該序列進(jìn)行算術(shù)編碼。 writeMVD_CABAC函數(shù)分析void writeMVD_CABAC(SyntaxElement *se, EncodingEnvironmentPtr eep_dp)主要功能:對(duì)一個(gè)B幀宏塊的運(yùn)動(dòng)矢量數(shù)據(jù)進(jìn)行編碼。輸入:句法元素,編碼環(huán)境指針。根據(jù)句法元素獲取當(dāng)前宏塊的列表索引與運(yùn)動(dòng)矢量數(shù)據(jù)分量(list_idx = sevalue2 amp。 0x01, k = (sevalue21,因?yàn)橛衏urrSEvalue2 = 2*k+list_idx)。讀取當(dāng)前片的上下文模型信息(MotionInfoContexts *ctx = imgcurrentSlicemot_ctx)。讀取當(dāng)前宏塊信息(Macroblock *currMB = amp。imgmb_data[imgcurrent_mb _nr])。(左邊與上邊)4x4亮度塊的信息。為了計(jì)算上下文模型的增量act_ctx,求分別表示為左鄰居宏塊與上鄰居宏塊的運(yùn)動(dòng)矢量數(shù)據(jù)信息的a與b,其取值規(guī)則如下:當(dāng)左鄰居宏塊可用( = 1)時(shí),a為左鄰居宏塊上對(duì)應(yīng)的運(yùn)動(dòng)矢量數(shù)據(jù)的絕對(duì)值(a = absm(imgmb_data[].mvd[list_idx][][] [k])),在自適應(yīng)幀/場(chǎng)模式且k=1的情況下,如果當(dāng)前宏塊為幀模式且左鄰居宏塊為場(chǎng)模式,則a *= 2;如果當(dāng)前宏塊為場(chǎng)模式且左鄰居宏塊為幀模式,則a /= 2。當(dāng)左鄰居宏塊不可用( = 0)時(shí),則a應(yīng)置為0。當(dāng)上鄰居宏塊可用( = 1)時(shí),b為上鄰居宏塊上對(duì)應(yīng)的運(yùn)動(dòng)矢量數(shù)據(jù)的絕對(duì)值(b= absm(imgmb_data[].mvd[list_idx][][] [k])),在自適應(yīng)幀/場(chǎng)模式且k=1的情況下,如果當(dāng)前宏塊為幀模式且上鄰居宏塊為場(chǎng)模式,則b *= 2;如果當(dāng)前宏塊為場(chǎng)模式且上鄰居宏塊為幀模式,則b /= 2。當(dāng)左鄰居宏塊不可用( = 0)時(shí),則b應(yīng)置為0。根據(jù)mv_local_err(mv_local_err=a+b)的值來采用不同的公式計(jì)算act_ctx:當(dāng)mv_local_err3,act_ctx = 5*k;當(dāng)mv_local_err32,act_ctx=5*k+3;其余情況,act_ctx=5*k+2。根據(jù)句法元素獲取當(dāng)前宏塊的運(yùn)動(dòng)矢量數(shù)據(jù)(mv_pred_res = sevalue1)。保存上下文模型的增量(secontext = act_ctx)。對(duì)mv_pred_res的絕對(duì)值使用一元截?cái)啻a和K階哥倫布碼聯(lián)合的二值化得到待編碼符號(hào)序列,()對(duì)該序列進(jìn)行算術(shù)編碼。對(duì)mv_pred_res的符號(hào)位mv_sign(mv_sign = (mv_pred_res0) ? 1: 0)()進(jìn)行旁路編碼 writeCIPredMode_CABAC函數(shù)分析void writeCIPredMode_CABAC(SyntaxElement *se, EncodingEnvironmentPtr eep_dp)主要功能:對(duì)一個(gè)8*8塊的幀內(nèi)色度預(yù)測(cè)模式進(jìn)行編碼。輸入:句法元素,編碼環(huán)境指針。讀取當(dāng)前
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1