本申請(qǐng)是申請(qǐng)日為“2013年12月23日”、申請(qǐng)?zhí)枮椤?01280031037.x”、發(fā)明名稱為“基于四叉樹編碼和解碼自適應(yīng)量化參數(shù)的方法及裝置”的申請(qǐng)的分案申請(qǐng)。
本發(fā)明涉及一種對(duì)視頻進(jìn)行編碼/解碼的裝置及方法,并且更具體而言涉及一種基于關(guān)于最大編碼單元(lcu)中的編碼單元(cus)的四叉樹顯示具有量化/解量化的差分值的塊并且使用關(guān)于與待編碼/解碼的塊相鄰的塊的背景信息來自適應(yīng)地預(yù)測(cè)/解碼量化/解量化參數(shù)值的視頻編碼/解碼的方法和裝置。
高效率視頻編碼(hevc)通過編碼單元(cu)對(duì)輸入圖像進(jìn)行編碼/解碼。在幀中具有最大尺寸的編碼單元稱為最大編碼單元(lcu),基于用于編碼/解碼的四叉樹分割信息,將lcu分割成多個(gè)cu。在hevc中,將一個(gè)量化參數(shù)值分配給lcu,并且根據(jù)光柵掃描順序從以前的lcu預(yù)測(cè)待編碼的當(dāng)前l(fā)cu的量化參數(shù)值。
背景技術(shù):
在h.265/avc標(biāo)準(zhǔn)中,在宏塊單位上執(zhí)行編碼/解碼,并且將量化/解量化值分配到每一個(gè)宏塊。從位于幀中左側(cè)的宏塊的量化參數(shù)值來預(yù)測(cè)分配給每一個(gè)宏塊的量化參數(shù)值。將預(yù)測(cè)量化參數(shù)值之后生成的差分值寫入宏塊以編碼,從而執(zhí)行編碼。解碼器通過將在熵解碼中解碼的量化參數(shù)差分值和左側(cè)宏塊的量化參數(shù)值相加,對(duì)量化參數(shù)值進(jìn)行解碼。
然而,當(dāng)與輸入圖像的尺寸相比分配大的lcu時(shí),使用由lcu存儲(chǔ)的量化參數(shù)值也許不能有效地控制比特率。進(jìn)一步地,當(dāng)由cu分配量化參數(shù)值時(shí),由于來自于相鄰cu的量化參數(shù)值的差異,也許會(huì)發(fā)生圖像質(zhì)量的主觀惡化。因此,需要一種依賴于輸入圖像將量化參數(shù)值分配到從cu到lcu的多種塊尺寸并且使用關(guān)于相鄰待編碼的塊的塊的背景信息來最佳地預(yù)測(cè)量化參數(shù)的方法。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
本發(fā)明一方面提供了一種基于關(guān)于cu的分割信息對(duì)基于四叉樹的量化/解量化參數(shù)值進(jìn)行編碼/解碼的方法以及裝置。該量化/解量化參數(shù)編碼/解碼方法能夠通過使用關(guān)于相鄰塊的背景信息以有效方式對(duì)量化/解量化參數(shù)值進(jìn)行預(yù)測(cè)。
本發(fā)明的技術(shù)問題并不限于上述所涉及的那些,并且基于下面描述所屬領(lǐng)域技術(shù)人員可以理解此處未聲明的附加問題。
技術(shù)方案
本發(fā)明的實(shí)施例提供了一種視頻編碼裝置,包括:量化差分值存儲(chǔ)塊單位確定模塊,其確定當(dāng)將圖像的最大編碼單元分割成四叉樹中的多個(gè)cu或者將其編碼為單個(gè)cu時(shí)用于存儲(chǔ)量化參數(shù)(qp)差分值的塊單位;量化模塊,其使用分配給每一個(gè)塊單位的量化值來執(zhí)行量化;量化預(yù)測(cè)塊確定模塊,其使用關(guān)于相鄰塊的背景信息自適應(yīng)地確定預(yù)測(cè)塊以便預(yù)測(cè)由待編碼的塊使用的量化值;qp差分值生成模塊,其使用基于背景信息確定的預(yù)測(cè)塊的qp生成待編碼的塊的量化差分值;qp存儲(chǔ)模塊,其存儲(chǔ)關(guān)于量化差分值存儲(chǔ)塊單位的分割信息以及對(duì)應(yīng)的塊的量化差分值。
本發(fā)明的另一實(shí)施例提供了一種視頻解碼裝置,其包括:解量化參數(shù)差分值塊分割標(biāo)記得出模塊,其對(duì)關(guān)于lcu中具有解量化參數(shù)差分值的塊的信息進(jìn)行解碼;解量化差分值存儲(chǔ)塊單位確定模塊,其使用解碼的解量化參數(shù)差分值塊分割標(biāo)記來確定最大編碼單元中具有解量化參數(shù)差分值的塊;解量化參數(shù)差分值得出模塊,其根據(jù)解量化參數(shù)差分值塊分割標(biāo)記對(duì)解量化參數(shù)差分值進(jìn)行解碼,解量化參數(shù)值預(yù)測(cè)塊確定模塊,其基于關(guān)于相鄰塊的背景信息確定用于預(yù)測(cè)的塊以便對(duì)待解碼的塊的解量化參數(shù)值進(jìn)行解碼;解量化參數(shù)值得出模塊,其對(duì)用于解量化的解量化參數(shù)值進(jìn)行解碼;以及解量化模塊,其使用解碼的解量化參數(shù)值來執(zhí)行解量化。
有益效果
根據(jù)本發(fā)明實(shí)施例的基于四叉樹的自適應(yīng)量化/解量化參數(shù)編碼和解碼的方法以及裝置使得當(dāng)在四叉樹中分割塊時(shí)能夠分配不同水平的量化參數(shù)差分值行。與對(duì)lcu中單一量化參數(shù)值進(jìn)行分配相比,量化參數(shù)差分值的這種不同水平的分配允許對(duì)比特率的精確調(diào)整。進(jìn)一步地,在預(yù)測(cè)/解碼每個(gè)塊單位的量化/解量化參數(shù)值時(shí),可以不僅使用基于四叉樹的鋸齒掃描而且使用關(guān)于相鄰塊的背景信息來自適應(yīng)地確定預(yù)測(cè)方向,因而解決了由于來自于相鄰編碼單元的量化參數(shù)值的差異而可能發(fā)生的圖像質(zhì)量的主觀惡化。
附圖說明
圖1a示出了根據(jù)本發(fā)明第一示例性實(shí)施例的在視頻編碼裝置中用于向具有四叉樹結(jié)構(gòu)的塊自適應(yīng)地分配量化參數(shù)值(qp)以及對(duì)qp進(jìn)行編碼的方法和裝置。
圖1b示出了根據(jù)本發(fā)明第一示例性實(shí)施例的視頻解碼裝置中基于四叉樹的自適應(yīng)解量化參數(shù)解碼的方法和裝置。
圖2示出了根據(jù)本發(fā)明第一示例性實(shí)施例的視頻解碼裝置的配置。
圖3示出了根據(jù)本發(fā)明第一示例性實(shí)施例的用于控制記錄在序列參數(shù)集中的基于四叉樹的量化差分值的背景。
圖4示出了根據(jù)本發(fā)明第一示例性實(shí)施例的切片數(shù)據(jù)中的初始值的變量集。
圖5示出了根據(jù)本發(fā)明第一示例性實(shí)施例的由cu存儲(chǔ)的量化/解量化參數(shù)差分值的背景以及差分值所存在的條件。
圖6示出了根據(jù)本發(fā)明第一示例性實(shí)施例的量化差分值存儲(chǔ)塊單位確定模塊中和解量化差分值存儲(chǔ)塊單位確定模塊中的操作。
圖7示出了根據(jù)本發(fā)明第一示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊和解量化參數(shù)值預(yù)測(cè)塊確定模塊中的操作。
圖8示出了根據(jù)本發(fā)明第二示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊和解量化參數(shù)值預(yù)測(cè)塊確定模塊中的操作。
圖9示出了根據(jù)本發(fā)明第三示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊和解量化參數(shù)值預(yù)測(cè)塊確定模塊中的操作。
圖10示出了根據(jù)本發(fā)明第四示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊和解量化參數(shù)值預(yù)測(cè)塊確定模塊中的操作。
圖11示出了根據(jù)本發(fā)明第五示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊和解量化參數(shù)值預(yù)測(cè)塊確定模塊中的操作。
發(fā)明模式
在下文中,將參考附圖描述根據(jù)本發(fā)明的示例性實(shí)施例的基于四叉樹的自適應(yīng)量化/解量化參數(shù)的編碼和解碼裝置。
圖1a示出了根據(jù)本發(fā)明第一示例性實(shí)施例的在視頻編碼裝置中用于向具有四叉樹結(jié)構(gòu)的塊自適應(yīng)地分配量化參數(shù)(qp)值以及對(duì)該qp值進(jìn)行編碼的方法和裝置。
參考圖1a,基于四叉樹的自適應(yīng)量化/解量化參數(shù)編碼的方法和裝置包括量化差分值存儲(chǔ)塊單位確定模塊100,量化模塊101,qp值預(yù)測(cè)塊確定模塊102,qp差分值生成模塊103,以及qp存儲(chǔ)模塊104。
量化差分值存儲(chǔ)塊單位確定模塊100可以基于關(guān)于將圖像的最大編碼單元(lcu)分割成多個(gè)cu的信息,確定用于記錄每一個(gè)編碼單元(cu)或者一組多個(gè)cu的量化差分值的塊單位。關(guān)于用于存儲(chǔ)量化差分值的塊的信息可以具有四叉樹結(jié)構(gòu)。
量化模塊101使用分配給塊的qp值在輸入塊上執(zhí)行量化。
qp值預(yù)測(cè)塊確定模塊102使用關(guān)于該cu的相鄰該cu的背景信息來確定用于分配給每一個(gè)cu或任意cu的量化值的預(yù)測(cè)的預(yù)測(cè)塊。
qp差分值生成模塊103通過從由qp值預(yù)測(cè)塊確定模塊102確定的量化值預(yù)測(cè)塊的qp值減去當(dāng)前塊的量化值,生成qp差分值。
qp存儲(chǔ)模塊104用于對(duì)下述進(jìn)行熵編碼:序列參數(shù)集、關(guān)于切片單位適用/非適用的標(biāo)記信息、用于指示關(guān)于包括量化差分值的塊的分割信息的標(biāo)記信息以及用于基于四叉樹的自適應(yīng)qp編碼的qp差分值。
圖1b示出了根據(jù)本發(fā)明第一示例性實(shí)施例的視頻解碼裝置中基于四叉樹的自適應(yīng)解量化參數(shù)解碼的方法和裝置。
參考圖1b,基于四叉樹的自適應(yīng)解量化參數(shù)解碼的方法和裝置包括解量化參數(shù)差分值塊分割標(biāo)記得出模塊120、解量化差分值存儲(chǔ)塊單位確定模塊121、解量化參數(shù)差分值得出模塊122、解量化參數(shù)值預(yù)測(cè)塊確定模塊123、解量化參數(shù)值得出模塊124以及解量化參數(shù)模塊125。
解量化參數(shù)差分值塊分割標(biāo)記得出模塊120通過切片數(shù)據(jù)中的lcu對(duì)具有解量化參數(shù)差分值的塊的序列參數(shù)集和塊分割標(biāo)記進(jìn)行解碼。
解量化差分值存儲(chǔ)塊單位確定模塊121使用解碼的解量化參數(shù)差分值塊分割標(biāo)記和cu分割標(biāo)記來確定用于記錄解量化參數(shù)差分值的塊。關(guān)于用于存儲(chǔ)量化差分值的塊的信息可以具有四叉樹結(jié)構(gòu)。
解量化參數(shù)差分值得出模塊122得出由解量化差分值存儲(chǔ)塊單位確定模塊121確定的每一個(gè)塊的解量化參數(shù)差分值。
解量化參數(shù)值預(yù)測(cè)塊確定模塊123使用關(guān)于解量化中的相鄰塊的背景信息得出及確定用于自適應(yīng)參考的塊。
解量化參數(shù)值得出模塊124通過將由解量化參數(shù)值預(yù)測(cè)塊確定模塊123得出的預(yù)測(cè)塊的解量化參數(shù)值與由解量化參數(shù)差分值得出模塊122得出的解量化參數(shù)差分值相加,得出用于解量化參數(shù)模塊125的解量化參數(shù)值。
解量化參數(shù)模塊125使用由解量化參數(shù)值得出模塊124得出的參數(shù),在輸入塊上執(zhí)行解量化。
圖2示出了根據(jù)本發(fā)明第一示例性實(shí)施例的視頻解碼裝置的構(gòu)造。
參考圖2,該視頻解碼裝置包括熵解碼模塊200、基于四叉樹解的量化參數(shù)得出模塊210、重置模塊220、解量化模塊230、反離散余弦變換編碼模塊240、外部/內(nèi)部預(yù)測(cè)模塊250以及過濾模塊260。
熵解碼模塊200包括:解量化參數(shù)差分值塊分割標(biāo)記得出模塊120,用于得出用于基于四叉樹的自適應(yīng)解量化的塊分割標(biāo)記;解量化差分值存儲(chǔ)塊單位確定模塊121,用于確定用于存儲(chǔ)來自所得出的塊分割標(biāo)記的qp的塊,以及解量化參數(shù)差分值得出模塊122,用于對(duì)存儲(chǔ)在對(duì)應(yīng)的塊中的解量化參數(shù)差分值進(jìn)行解碼。
基于四叉樹的解量化參數(shù)得出模塊210包括:解量化參數(shù)值預(yù)測(cè)塊確定模塊123,用于確定用于解碼解量化參數(shù)時(shí)的參考的預(yù)測(cè)塊;以及解量化參數(shù)值得出模塊124,用于通過將預(yù)測(cè)塊的解量化參數(shù)和得出的解量化參數(shù)差分值相加來得出解量化參數(shù)。
圖3示出了根據(jù)本發(fā)明第一示例性實(shí)施例的用于控制存儲(chǔ)在序列參數(shù)集中的基于四叉樹的量化差分值的背景。
當(dāng)cu_qp_delta_enabled_flag300在序列參數(shù)集中具有值1時(shí),可以控制在序列中的所有切片中從最小尺寸的cu到最大尺寸的cu的多種四叉樹塊的量化/解qp差分值。
圖4a示出了根據(jù)本發(fā)明第一示例性實(shí)施例的切片數(shù)據(jù)中初始值的變量集。
當(dāng)在四叉樹中分割切片并且對(duì)其進(jìn)行編碼/解碼時(shí),首先將切片分割成這樣一種lcu,其中,該lcu是具有最大尺寸的四叉樹,隨后按照順次的掃描次序中對(duì)該lcu進(jìn)行編碼/解碼。在每一個(gè)lcu的編碼/解碼中,可以在四叉樹中進(jìn)一步地將lcu分割成多個(gè)cu,并且可以執(zhí)行如此分割直到將cu分割成為最小尺寸的cu為止。
在圖4a中,iscuqpdeltacoded400是當(dāng)將任意cu分割成n個(gè)cu時(shí)用于控制可存儲(chǔ)在每個(gè)cu中的量化/解量化參數(shù)差分值的變量。在對(duì)切片中的每個(gè)lcu進(jìn)行編碼/解碼之前,總是將該變量初始化為0。
在圖4a中,coding_tree401是用于在切片中一個(gè)lcu上執(zhí)行編碼/解碼的函數(shù)。這個(gè)函數(shù)中的第四因子是用于指示對(duì)應(yīng)的cu中是否存在量化/解量化參數(shù)差分值的標(biāo)記,并且由于至少一個(gè)量化/解qp差分值存儲(chǔ)在lcu中,因此在對(duì)切片中的每個(gè)lcu進(jìn)行編碼/解碼之前總是輸入值1。
圖4b示出了示出了根據(jù)本發(fā)明第一示例性實(shí)施例的存儲(chǔ)在編碼樹塊中的解量化參數(shù)差分值塊分割的背景。
編碼樹塊表示cu的背景。根據(jù)split_coding_unit_flag420,可以將尺寸為2n×2n的cu分割成四個(gè)尺寸為n×n的cu并且對(duì)其進(jìn)行編碼/解碼??商鎿Q地,尺寸為2n×2n的cu可以不再被分割成更小尺寸的cu而是就這樣被編碼/解碼。
當(dāng)前cu接收用于指示在更高的cu中是否存在量化/解量化參數(shù)差分值的標(biāo)記即cu_qp_delta_exist_flag421的輸入。當(dāng)根據(jù)split_coding_unit_flag420的值將尺寸為2n×2n的當(dāng)前cu進(jìn)一步分割成尺寸為n×n的cu時(shí),附加地對(duì)split_qp_delta_flag422進(jìn)行編碼/解碼。僅當(dāng)存儲(chǔ)在序列參數(shù)集中的cu_qp_delta_enable_flag300和從更高cu輸入的cu_qp_delta_exist_flag421都具有1值時(shí),才對(duì)關(guān)于該附加分割的信息進(jìn)行編碼/解碼。僅當(dāng)將尺寸為2n×2n的當(dāng)前cu分割成尺寸為n×n的cu時(shí)才對(duì)split_qp_delta_flag422的值進(jìn)行編碼/解碼,并且當(dāng)對(duì)尺寸為n×n的較低cu進(jìn)行編碼/解碼時(shí)將split_qp_delta_flag422的值作為cu_qp_delta_exist_flag421的值來輸入。
當(dāng)split_qp_delta_flag422的值為0時(shí),將尺寸為2n×2n的當(dāng)前cu分割為尺寸為n×n的cu,但不再將用于存儲(chǔ)量化/解量化參數(shù)差分值的塊從2n×2n的尺寸分割為n×n的尺寸。當(dāng)split_qp_delta_flag422的值為0時(shí),另外將iscuqpdeltacoded400初始化為0,因此在將當(dāng)前cu分割成尺寸為n×n的cu時(shí),僅將量化/解qp差分值存儲(chǔ)在第一n×n的cu中。
圖5圖示出了據(jù)本發(fā)明第一示例性實(shí)施例的由cu存儲(chǔ)的量化/解量化參數(shù)差分值的背景以及差分值所存在的條件。
當(dāng)cu不在跳躍(skip)模式中時(shí),可以在cu中記錄量化/解量化參數(shù)差分值。當(dāng)cu_qp_delta_exist_flag500和421的值為1時(shí),量化/解量化參數(shù)差分值存在于當(dāng)前cu中,在該情況中,可以由cu根據(jù)存儲(chǔ)在序列參數(shù)集中的cu_qp_delta_enabled_flag300的值來存儲(chǔ)cu_qp_delta501的值。例如,當(dāng)cu_qp_delta_exist_flag500和421的值為1并且cu_qp_delta_enabled_flag300的值為0時(shí),不存儲(chǔ)cu_qp_delta501。
可選地,當(dāng)將2n×2n的cu分割成四叉樹中的四個(gè)n×n的cu時(shí),僅可以存儲(chǔ)一個(gè)量化/解量化參數(shù)差分值。在這個(gè)情況中,將量化/解量化參數(shù)差分值存儲(chǔ)在四個(gè)cu中的第一cu中,同時(shí)其他三個(gè)cu不記錄該量化/解量化參數(shù)差分值。此處,由于在2n×2n的cu中被編碼/解碼的split_qp_delta_flag422的值為0,因此輸入到n×n的cu的cu_qp_delta_exist_flag500的值為0。因此,雖然基本上沒有cu_qp_delta501存在于分割的四個(gè)n×n的cu中,但可以使用變量niscuqpdeltacoded將cu_qp_delta501存儲(chǔ)在第一n×n的cu中。由于在對(duì)cu_qp_delta501進(jìn)行解碼之后第一cu將niscuqpdeltacoded的值變?yōu)?,因此不將cu_qp_delta501的值存儲(chǔ)在其他三個(gè)cu中。
即使在該情況中,僅當(dāng)存儲(chǔ)在序列參數(shù)集中的cu_qp_delta_enable_flag300的值為1時(shí),才可以存儲(chǔ)cu_qp_delta501的值,同時(shí)檢查cu_qp_delta_enable_flag300的值。
圖6a示出了根據(jù)本發(fā)明第一示例性實(shí)施例的量化差分值存儲(chǔ)塊單位確定模塊和解量化差分值存儲(chǔ)塊單位確定模塊的操作。
可以將待編碼/解碼的2n×2n的cu分割成四個(gè)n×n的cu,可以進(jìn)一步地將每一個(gè)n×n的cu進(jìn)行分割以待被處理。即使將2n×2ncu分割成多個(gè)待被編碼/解碼的cu,當(dāng)split_qp_delta_flag422具有如圖6a所示的0值時(shí),也將量化/解量化參數(shù)差分值存儲(chǔ)在lcu的第一cu中。在第一cu中重構(gòu)的量化/解量化參數(shù)差分值可以用于lcu的其他cu。
圖6b示出了根據(jù)本發(fā)明第二示例性實(shí)施例的量化差分值存儲(chǔ)塊單位確定模塊和解量化差分值存儲(chǔ)塊單位確定模塊的操作。
在第一階段將待編碼/解碼的2n×2n的cu分割成四個(gè)n×n的cu,將其中的第二cu進(jìn)一步分割。在這個(gè)例子中,當(dāng)在第一階段中對(duì)用于表示分割成cu的標(biāo)記進(jìn)行編碼/解碼時(shí),附加地編碼/解碼關(guān)于量化/解量化參數(shù)值的分割標(biāo)記即split_qp_delta_flag422和631。當(dāng)split_qp_delta_flag422和631的值為1時(shí),所有四個(gè)分割的cu具有量化/解量化參數(shù)差分值,并且因此附加地對(duì)關(guān)于量化/解量化參數(shù)值的分割標(biāo)記split_qp_delta_flag422和631進(jìn)行編碼/解碼。
即使在該情況中,雖然將第二n×n的cu分割成cu直到第三階段為止,但是量化/解量化的塊分割標(biāo)記split_qp_delta_flag422和631為0,并且因此針對(duì)多個(gè)cu分配單個(gè)量化/解量化參數(shù)值。
圖6c示出了根據(jù)本發(fā)明第三示例性實(shí)施例的量化差分值存儲(chǔ)塊單位確定模塊和解量化差分值存儲(chǔ)塊單位確定模塊的操作。
圖6c顯示了在第一階段將待編碼/解碼的2n×2n的cu分割成四個(gè)n×n的cu,將其中的第二cu進(jìn)一步分割。即使將第二cu分割成四個(gè)cu,并進(jìn)一步將其中的每一個(gè)分割成四個(gè)cu時(shí),也可以使用split_qp_delta_flag422和631的值來確定用于記錄量化/解量化差分參數(shù)值的塊的尺寸。在圖6c中,將cu分割成具有高達(dá)三個(gè)信息深度的區(qū)域,然而量化/解量化差分參數(shù)值具有相對(duì)高達(dá)兩個(gè)深度信息。
圖7a示出了根據(jù)本發(fā)明第一示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123。
編碼器向由量化差分值存儲(chǔ)塊單位確定模塊100確定的cu塊分配qp值并針對(duì)實(shí)際上剩余的塊使用以前使用的qp值。此處,從用于以前的塊的qp值來預(yù)測(cè)qp值,并且僅編碼qp差分值。
在解量化參數(shù)差分值得出模塊122中,解碼器對(duì)解量化參數(shù)差分值進(jìn)行解碼并且通過將該差分值與用于預(yù)測(cè)的塊的解量化參數(shù)值增加來得出解量化參數(shù)值。
當(dāng)編碼器和解碼器預(yù)測(cè)當(dāng)前塊的qp值時(shí),qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123用于確定作為參考的相鄰塊。
在圖7a中,當(dāng)向待編碼/解碼的cu720分配量化/解量化參數(shù)值時(shí),使用在位于當(dāng)前cu720的左側(cè)邊界上的cu710、711和712或者la、lb和lc以及當(dāng)前cu700的上部邊界上的cu700、701和702或者ta,tb和tc之間的每個(gè)邊界上具有最大塊尺寸的cu712和702或者lc和tc的qp值的平均值、最小值和最大值來預(yù)測(cè)參數(shù)值。
圖7b示出了根據(jù)本發(fā)明第一示例性實(shí)施例的可替換的實(shí)例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123。
當(dāng)將lcu分割成多個(gè)待被編碼/解碼的cu時(shí),使用在與當(dāng)前cu750相鄰的cu中位于當(dāng)前cu750的左側(cè)邊界和上部邊界上具有最大塊尺寸的兩個(gè)cu的qp值的平均值、最小值或最大值來預(yù)測(cè)當(dāng)前待編碼/解碼的cu750的qp值。
圖8a示出了根據(jù)本發(fā)明第二示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123。
在預(yù)測(cè)待編碼/解碼的當(dāng)前cu840的qp值時(shí),將與當(dāng)前cu相鄰的cu中具有最大塊尺寸的cu用于參考。在該情況中,當(dāng)存在多個(gè)具有最大塊尺寸的cu時(shí),將cu的qp值的平均值、最小值或最大值用于預(yù)測(cè)當(dāng)前cu840的qp值,其中,該cu包括頂部cu820或者在當(dāng)前cu840的左側(cè)邊界上的cu中所選的la以及最左側(cè)的cu800或者在其上部邊界上的cu中優(yōu)選地用于參考的ta。
圖8b示出了根據(jù)本發(fā)明第二示例性實(shí)施例的可替換的實(shí)例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123。
當(dāng)將lcu分割成多個(gè)待被編碼/解碼的cu時(shí),使用與當(dāng)前cu890相鄰的cu中參考的塊尺寸最大的cu,對(duì)待編碼/解碼的當(dāng)前cu890的qp值進(jìn)行預(yù)測(cè)。此處,在當(dāng)前cu890的左側(cè)邊界上存在多個(gè)具有最大塊尺寸的cu時(shí),將頂部cu870或者la用作為參考?jí)K。同樣地,在當(dāng)前cu890的上部邊界上存在多個(gè)具有最大塊尺寸的cu時(shí),將最左側(cè)cu850或者ta用作為參考?jí)K。當(dāng)確定左側(cè)和頂部上的參考?jí)K時(shí),使用這兩個(gè)cu的qp值的平均值、最小值或最大值,預(yù)測(cè)待編碼/解碼的當(dāng)前cu890的qp值。
圖9a示出了根據(jù)發(fā)明第三示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊102和解qp值預(yù)測(cè)塊確定模塊123。
當(dāng)對(duì)待編碼/解碼的當(dāng)前cu920的qp值進(jìn)行預(yù)測(cè)時(shí),選擇與當(dāng)前cu相鄰的所有可能的參考cu900、901、902、910、911和912或者ta、tb、tc、la、lb、lc作為參考?jí)K。編碼器使用所有可能的參考cu的qp值的平均值、最小值或最大值來預(yù)測(cè)當(dāng)前cu920的qp值并且對(duì)該qp差分值進(jìn)行編碼。
解碼器通過將所有可能的參考cu的解量化參數(shù)值的平均值、最小值或者最大值與解碼的qp差分值相加,以對(duì)待解碼的cu920的解量化參數(shù)值進(jìn)行解碼。
圖9b示出了根據(jù)本發(fā)明第三示例性實(shí)施例的可替換的實(shí)例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123。
當(dāng)待編碼/解碼的cu950位于lcu中時(shí),使用與當(dāng)前cu的相鄰所有可能的參考cu930、931、940、941和942或者la、lb、lc、ta、tb和tc來預(yù)測(cè)cu950的qp值。
編碼器使用所有相鄰的可能的參考cu的qp值的平均值、最小值或最大值來預(yù)測(cè)當(dāng)前cu950的qp值并且僅對(duì)它們之間的qp差分值進(jìn)行編碼。
解碼器通過將所有相鄰的可能的參考cu的解量化參數(shù)值的平均值、最小值或最大值與解碼的qp差分值相加,以對(duì)待解碼的cu950的解量化參數(shù)值進(jìn)行解碼。
圖10a示出了根據(jù)本發(fā)明第四示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123中的操作。
當(dāng)對(duì)位于lcu之間的邊界上的cu1020進(jìn)行編碼/解碼時(shí),將在位于當(dāng)前cu1020的左側(cè)邊界上的可能的cu1010、1011和1012或la、lb和lc中具有最大塊尺寸的cu1012或者lc用作為參考。在這里,當(dāng)在左側(cè)邊界上的可能的參考cu中存在有一個(gè)或多個(gè)具有最大塊尺寸的cu時(shí),選擇頂部cu作為參考?jí)K。
編碼器使用在左側(cè)邊界上被選擇作為參考?jí)K的cu1012或者lc的qp值來預(yù)測(cè)待編碼的cu1020的qp值,并且對(duì)它們間的qp差分值進(jìn)行編碼。
解碼器解碼待解碼的cu1020的解量化參數(shù)差分值,并且將cu1020或者lc的解qp值與該差分值相加,因而對(duì)cu1020的解量化參數(shù)值進(jìn)行解碼。
圖10b示出了根據(jù)本發(fā)明第四示例性實(shí)施例的可替換的實(shí)例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123中的操作。
當(dāng)將lcu分割成多個(gè)待被編碼/解碼的cu時(shí),將在位于待編碼/解碼的cu1050的左側(cè)邊界上的cu1030、1031和1032或者la、lb和lc中具有最大塊尺寸的cu1030或者la用作為參考。在這里,當(dāng)在左側(cè)邊界上的cu中存在有一個(gè)或多個(gè)具有最大塊尺寸的cu時(shí),選擇頂部cu1030或la作為參考?jí)K。
編碼器使用在左側(cè)邊界上被選擇作為參考?jí)K的cu1030或la的qp值來預(yù)測(cè)待編碼的cu1050的qp值,并且對(duì)它們間的qp差分值進(jìn)行編碼。
解碼器對(duì)待解碼的cu1050的解量化參數(shù)差分值進(jìn)行解碼并且將cu1030或者la的解量化參數(shù)值與該差分值相加,因而對(duì)cu1050的解量化參數(shù)值進(jìn)行了解碼。
圖11a示出了根據(jù)本發(fā)明第五示例性實(shí)施例的qp值預(yù)測(cè)塊確定模塊102和解量化參數(shù)值預(yù)測(cè)塊確定模塊123中的操作。
當(dāng)對(duì)位于lcu之間的邊界上的cu1120進(jìn)行編碼/解碼時(shí),將位于當(dāng)前cu1020的左側(cè)邊界上的所有可能參考cu1010、1011和1012或la、lb和lc用作為參考。
編碼器預(yù)使用位于左側(cè)邊界上的所有可能參考cu1110、1111和1112或la、lb和lc的qp值的平均值、最小值或最大值來預(yù)測(cè)待編碼的cu1050的qp值,并且對(duì)qp差分值進(jìn)行編碼。
解碼器對(duì)待解碼的cu1120的解量化參數(shù)差分值進(jìn)行解碼,并且通過將所有可能的參考cu1110、1111和1112或la、lb和lc的解量化參數(shù)值的平均值、最小值或最大值與差分值相加,對(duì)待解碼的cu1120的解量化參數(shù)值進(jìn)行解碼。
圖11b示出了根據(jù)本發(fā)明第五示例性實(shí)施例的可替換實(shí)例的qp值預(yù)測(cè)塊確定模塊102和解qp值預(yù)測(cè)塊確定模塊123中的操作。
當(dāng)將lcu分割成多個(gè)待被編碼/解碼的cu時(shí),將位于待編碼/解碼的cu1150的左側(cè)邊界上的所有可能的cu用作為參考?jí)K。
編碼器使用位于左側(cè)邊界上的所有可能的參考cu的qp值的平均值、最小值或最大值來預(yù)測(cè)待編碼的cu1150的qp值,并且對(duì)該qp差分值進(jìn)行編碼。
解碼器對(duì)待解碼的cu1150的解量化參數(shù)差分值進(jìn)行解碼,并且通過將位于左側(cè)邊界上的所有可能的參考單位的解量化參數(shù)值的平均值、最小值或最大值與差分值相加,以對(duì)待解碼的cu1150的解量化參數(shù)值進(jìn)行解碼。