編碼模式選擇方法、裝置及編碼器的制造方法
【專利摘要】本發(fā)明實(shí)施例中公開(kāi)了編碼模式選擇方法、裝置及編碼器,該方法包括:對(duì)于編碼單元的每個(gè)編碼層,通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式;根據(jù)相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇編碼單元的最佳編碼模式。本發(fā)明實(shí)施例同一編碼層內(nèi)采用快速RDO算法獲得候選劃分方式,由于快速RDO算法的計(jì)算復(fù)雜度低于RDO算法,因此可以節(jié)省編碼器的計(jì)算資源開(kāi)銷,而對(duì)于相鄰編碼層之間,由于仍然可以通過(guò)RDO算法選擇編碼單元的最佳編碼模式,因此在提高了編碼器的模式選擇效率的同時(shí),也可以保證編碼質(zhì)量。
【專利說(shuō)明】編碼模式選擇方法、裝置及編碼器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編碼【技術(shù)領(lǐng)域】,特別涉及一種編碼模式選擇方法、裝置及編碼器?!颈尘凹夹g(shù)】
[0002]高效率的視頻編碼(High efficiency video coding,HEVC)是正在研究的新一代視頻壓縮標(biāo)準(zhǔn),主要面向?qū)ο鬄楦咔搴统咔宓囊曨l圖像。應(yīng)用HEVC可以在保證相同視頻圖像質(zhì)量的前提下,減少視頻流的碼率;并在提高壓縮效率的同時(shí),允許編碼端適當(dāng)提高編碼復(fù)雜度。在基于HEVC標(biāo)準(zhǔn)為當(dāng)前編碼單元(Coding Unit,CU)選擇編碼模式時(shí),視頻編碼器可以采用率失真優(yōu)化(Rate Distortion Optimization, RD0)算法,遍歷計(jì)算當(dāng)前⑶的每個(gè)模式類型下的所有分塊方式對(duì)應(yīng)的率失真代價(jià)值(Rate Distortion Cost, RDCost),從中選擇數(shù)值最小的RDCost對(duì)應(yīng)的候選模式及分塊方式作為當(dāng)前CU的編碼模式。
[0003]發(fā)明人在對(duì)現(xiàn)有技術(shù)的研究過(guò)程中發(fā)現(xiàn),由于在為當(dāng)前CU選擇編碼模式時(shí),需要通過(guò)RDO算法遍歷計(jì)算每個(gè)模式類型下的所有分塊方式對(duì)應(yīng)的RDCost,而每一次RDO算法都需要執(zhí)行包括變換、量化、反變換和反量化在內(nèi)的計(jì)算,因此計(jì)算復(fù)雜度較高,需要耗費(fèi)編碼器的大量計(jì)算資源,相應(yīng)提升了編碼器的硬件要求,導(dǎo)致編碼模式的選擇效率不高。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例中提供了編碼模式選擇方法、裝置及編碼器,以解決現(xiàn)有技術(shù)需要編碼器耗費(fèi)大量計(jì)算資源,導(dǎo)致編碼模式的選擇效率不高的問(wèn)題。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了如下技術(shù)方案:
[0006]第一方面,提供一種編碼模式選擇方法,所述方法包括:
[0007]對(duì)于編碼單元的每個(gè)編碼層,通過(guò)快速率失真優(yōu)化RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式;
[0008]根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的率失真代價(jià)值RDCost,選擇所述編碼單元的最佳編碼模式。
[0009]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,包括:
[0010]對(duì)于所述編碼層的每種模式類型,通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。
[0011]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,包括:
[0012]采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost ;
[0013]比較所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為所述模式類型的最佳劃分方式。
[0014]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述模式類型包括至少一種下述模式:幀間Inter模式、巾貞內(nèi)Intra模式、合并Merge模式。
[0015]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,或第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式,包括:
[0016]采用RDO算法計(jì)算所述編碼層的候選劃分方式對(duì)應(yīng)的RDCost ;
[0017]比較所述候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼層的最佳劃分方式。
[0018]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,或第一方面的第三種可能的實(shí)現(xiàn)方式,或第一方面的第四種可能的實(shí)現(xiàn)方式中,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇所述編碼單元的最佳編碼模式,包括:
[0019]比較所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,所述最佳劃分方式對(duì)應(yīng)的RDCost通過(guò)RDO算法計(jì)算得到,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼單元的最佳劃分方式。
[0020]第二方面,提供一種編碼模式選擇裝置,所述裝置包括:
[0021]獲取單元,用于對(duì)于編碼單元的每個(gè)編碼層,通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式;
[0022]確定單元,通過(guò)RDO算法從所述獲取單元獲取的候選劃分方式中確定所述編碼層的最佳劃分方式;
[0023]選擇單元,用于根據(jù)所述確定單元確定的所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇所述編碼單元的最佳編碼模式。
[0024]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述獲取單元,具體用于對(duì)于所述編碼層的每種模式類型,通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。
[0025]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述獲取單元包括:
[0026]第一代價(jià)值計(jì)算子單元,用于采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost ;
[0027]第一劃分方式選擇子單元,用于比較所述第一代價(jià)計(jì)算子單元計(jì)算得到的模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為所述模式類型的最佳劃分方式。
[0028]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述確定單元包括:
[0029]第二代價(jià)值計(jì)算子單元,用于采用RDO算法計(jì)算所述編碼層的候選劃分方式對(duì)應(yīng)的 RDCost ;[0030]第二劃分方式選擇子單元,用于比較所述第二代價(jià)值計(jì)算子單元計(jì)算得到的候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼層的最佳劃分方式。
[0031]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,或第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述選擇單元,具體用于比較所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,所述最佳劃分方式對(duì)應(yīng)的RDCost通過(guò)RDO算法計(jì)算得到,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼單元的最佳劃分方式。
[0032]第三方面,提供一種編碼器,所述編碼器包括:輸入輸出接口和處理器,其中,
[0033]所述輸入輸出接口,用于獲得編碼單元;
[0034]所述處理器,用于對(duì)于所述編碼單元的每個(gè)編碼層,通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式;根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇所述編碼單元的最佳編碼模式。
[0035]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述處理器,具體用于對(duì)于所述編碼層的每種模式類型,通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。
[0036]結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器,具體用于采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost,并比較所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為所述模式類型的最佳劃分方式。
[0037]結(jié)合第三方面,或第三方面的第一種可能的實(shí)現(xiàn)方式,或第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述處理器,具體用于采用RDO算法計(jì)算所述編碼層的候選劃分方式對(duì)應(yīng)的RDCost,并比較所述候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼層的最佳劃分方式。
[0038]結(jié)合第三方面,或第三方面的第一種可能的實(shí)現(xiàn)方式,或第三方面的第二種可能的實(shí)現(xiàn)方式,或第三方面的第三種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述處理器,具體用于比較所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,所述最佳劃分方式對(duì)應(yīng)的RDCost通過(guò)RDO算法計(jì)算得到,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼單元的最佳劃分方式。
[0039]本發(fā)明實(shí)施例中,對(duì)于編碼單元的每個(gè)編碼層,編碼器通過(guò)快速RDO算法從編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,通過(guò)RDO算法從候選劃分方式中確定所述編碼層的最佳劃分方式;根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇編碼單元的最佳編碼模式。應(yīng)用本發(fā)明實(shí)施例,在編碼單元的同一編碼層內(nèi)采用快速RDO算法獲得候選劃分方式,由于快速RDO算法的計(jì)算復(fù)雜度低于RDO算法,因此與現(xiàn)有技術(shù)相比可以節(jié)省編碼器的計(jì)算資源開(kāi)銷,降低編碼器的硬件要求,而對(duì)于相鄰編碼層之間,由于仍然可以通過(guò)RDO算法選擇編碼單元的最佳編碼模式,因此在提高了編碼器的模式選擇效率的同時(shí),也可以保證編碼質(zhì)量?!緦@綀D】
【附圖說(shuō)明】
[0040]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明編碼模式選擇方法的一個(gè)實(shí)施例流程圖;
[0042]圖2為本發(fā)明編碼模式選擇方法的另一個(gè)實(shí)施例流程圖;
[0043]圖3A為應(yīng)用本發(fā)明實(shí)施例的一個(gè)編碼模式選擇架構(gòu)不意圖;
[0044]圖3B為應(yīng)用現(xiàn)有技術(shù)的編碼模式選擇架構(gòu)示意圖;
[0045]圖4為應(yīng)用本發(fā)明實(shí)施例的另一個(gè)編碼模式選擇架構(gòu)示意圖;
[0046]圖5為本發(fā)明編碼模式選擇裝置的實(shí)施例框圖;
[0047]圖6為本發(fā)明編碼器的實(shí)施例框圖。
【具體實(shí)施方式】
[0048]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0049]參見(jiàn)圖1,為本發(fā)明編碼模式選擇方法的一個(gè)實(shí)施例流程圖:
[0050]步驟101:對(duì)于編碼單元的每個(gè)編碼層,通過(guò)快速RDO算法從該編碼層的所有劃分方式中獲取該編碼層的候選劃分方式,通過(guò)RDO算法從候選劃分方式中確定該編碼層的最佳劃分方式。
[0051]本實(shí)施例中,在通過(guò)快速RDO算法從該編碼層的所有劃分方式中獲取每個(gè)編碼層的候選劃分方式時(shí),對(duì)于每個(gè)編碼層的每種模式類型,可以通過(guò)快速RDO算法從每種模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。具體的,可以采用快速RDO算法計(jì)算每種模式類型對(duì)應(yīng)的所有劃分方式的RDCost,比較每種模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為該模式類型的最佳劃分方式。其中,模式類型包括至少一種下述模式:巾貞間(Inter)模式、巾貞內(nèi)(Intra)模式、合并(Merge)模式。
[0052]本實(shí)施例中,在通過(guò)RDO算法從候選劃分方式中確定每個(gè)編碼層的最佳劃分方式時(shí),可以采用RDO算法計(jì)算每個(gè)編碼層的候選劃分方式對(duì)應(yīng)的RDCost,比較所述候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為該編碼層的最佳劃分方式。
[0053]步驟102:根據(jù)編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇該編碼單元的最佳編碼模式。
[0054]在步驟101確定了每個(gè)編碼層的最佳劃分方式后,可以比較編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,該最佳劃分方式對(duì)應(yīng)的RDCost為通過(guò)RDO算法計(jì)算得到的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為該編碼單元的最佳劃分方式。[0055]由上述實(shí)施例可見(jiàn),在編碼單元的同一編碼層內(nèi)采用快速RDO算法獲得候選劃分方式,由于快速RDO算法的計(jì)算復(fù)雜度低于RDO算法,因此與現(xiàn)有技術(shù)相比可以節(jié)省編碼器的計(jì)算資源開(kāi)銷,降低編碼器的硬件要求,而對(duì)于相鄰編碼層之間,由于仍然可以通過(guò)RDO算法選擇編碼單元的最佳編碼模式,因此在提高了編碼器的模式選擇效率的同時(shí),也可以保證編碼質(zhì)量。
[0056]本發(fā)明編碼模式選擇方法實(shí)施例可以基于HEVC標(biāo)準(zhǔn)實(shí)現(xiàn),HEVC標(biāo)準(zhǔn)的核心是在H.264標(biāo)準(zhǔn)的基礎(chǔ)上,提高高分率和高保真的視頻圖像的壓縮效率。現(xiàn)有技術(shù)中,視頻編碼器主要通過(guò)RDO算法進(jìn)行編碼模式的選擇,隨著對(duì)H.264標(biāo)準(zhǔn)及類似標(biāo)準(zhǔn)的進(jìn)一步研究,現(xiàn)有技術(shù)中已經(jīng)提出了各種快速RDO算法(也可以稱為非RDO算法),例如,哈德曼變換后再絕對(duì)值求和(Sum of Absolute Transformed Difference, SATD)算法等。在計(jì)算同一模式類型的同一劃分方式的RDCost時(shí),快速RDO算法和RDO算法相比,前者的計(jì)算復(fù)雜度低于后者,因此本發(fā)明實(shí)施例在選擇編碼單元的編碼模式時(shí),通過(guò)采用快速RDO算法以節(jié)省編碼器的計(jì)算資源開(kāi)銷。
[0057]參見(jiàn)圖2,為本發(fā)明編碼模式選擇方法的另一個(gè)實(shí)施例流程圖:
[0058]步驟201:進(jìn)入編碼單元的當(dāng)前編碼層。
[0059]HEVC標(biāo)準(zhǔn)在編碼單元中引入了編碼層(D印th),假設(shè)編碼單元共有K層編碼層,對(duì)應(yīng)可以表示為編碼層O至編碼層K-1,初始獲得編碼單元時(shí),首先進(jìn)入的當(dāng)前編碼層為編碼層O。以HEVC標(biāo)準(zhǔn)支持的最大編碼單元(Large Coding Unit, LCU)為例,該LCU為64*64的像素塊,其支持四層編碼層的劃分,其中編碼層O的CU大小為64*64,編碼層I的CU大小為32*32,編碼層2的CU大小為16*16,編碼層3的CU大小為8*8。
[0060]步驟202:對(duì)于當(dāng)前編碼層的每種模式類型,采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost。
[0061]每個(gè)編碼單元根據(jù)其幀類型不同,可能對(duì)應(yīng)不同的模式類型,即每個(gè)編碼層的模式類型可能有一種或者多種。例如,當(dāng)編碼單元的幀類型為I幀時(shí),編碼單元的模式類型可以僅包含Intra模式;當(dāng)編碼單元的幀類型為非I幀時(shí),編碼單元的模式類型可以包含Inter模式和Intra模式,進(jìn)一步還可以包含Merge模式。其中,不同模式類型對(duì)應(yīng)的劃分方式可能不同,例如,對(duì)于Inter模式,其劃分方式可以包括2N*2N,N*2N,2N*N和N*N,對(duì)于Intra模式,其劃分方式可以包括2N*2N和N*N,其中2N*2N為當(dāng)前編碼層的⑶大小。
[0062]本發(fā)明實(shí)施例中,不論編碼單元包含幾種模式類型,對(duì)于當(dāng)前編碼層,對(duì)每種模式類型,均采用快速RDO算法計(jì)算該模式類型對(duì)應(yīng)的所有劃分方式的RDCost。需要說(shuō)明的是,對(duì)于不同模式類型,可以采用相同的快速RDO算法計(jì)算RDCost,也可以采用不同的RDO算法計(jì)算RDCost,對(duì)此本發(fā)明實(shí)施例不進(jìn)行限制。
[0063]步驟203:比較每種模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為該模式類型的最佳劃分方式,并將每種模式類型的最佳劃分方式作為當(dāng)前編碼層的候選劃分方式。
[0064]步驟204:采用RDO算法計(jì)算當(dāng)前編碼層的候選劃分方式對(duì)應(yīng)的RDCost。
[0065]對(duì)于當(dāng)前編碼層,當(dāng)步驟203通過(guò)快速RDO算法獲得了每種模式類型的最佳劃分方式后,采用RDO算法計(jì)算這些最佳劃分方式對(duì)應(yīng)的RDCost,RDCost可以表示為如下公式,其中,D表示失真度,R表示編碼所需的比特?cái)?shù),λ為預(yù)設(shè)常量:[0066]RDCost=D+ λ.R
[0067]步驟205:比較候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為當(dāng)前編碼層的最佳劃分方式。
[0068]根據(jù)步驟204中通過(guò)RDO算法計(jì)算得到的每種模式類型的最佳劃分方式對(duì)應(yīng)的RDCost,從中選擇最小的RDCost對(duì)應(yīng)的劃分方式為當(dāng)前編碼層的最佳劃分方式。
[0069]步驟206:輸出通過(guò)RDO算法計(jì)算得到的當(dāng)前編碼層的最佳劃分方式對(duì)應(yīng)的RDCost。
[0070]步驟207:判斷當(dāng)前編碼層是否為編碼單元的最大編碼層,若是,則執(zhí)行步驟209,否則,執(zhí)行步驟208。
[0071]步驟208:將當(dāng)前編碼層的層數(shù)加1,返回步驟202。
[0072]步驟209:比較輸出的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為編碼單元的最佳劃分方式。
[0073]由上述實(shí)施例可見(jiàn),在編碼單元的同一編碼層內(nèi)采用快速RDO算法獲得候選劃分方式,由于快速RDO算法的計(jì)算復(fù)雜度低于RDO算法,因此與現(xiàn)有技術(shù)相比可以節(jié)省編碼器的計(jì)算資源開(kāi)銷,降低編碼器的硬件要求,而對(duì)于相鄰編碼層之間,由于仍然可以通過(guò)RDO算法選擇編碼單元的最佳編碼模式,因此在提高了編碼器的模式選擇效率的同時(shí),也可以保證編碼質(zhì)量。
[0074]參見(jiàn)圖3A,為應(yīng)用本發(fā)明實(shí)施例的一個(gè)編碼模式選擇架構(gòu)示意圖,該示意圖中示出的編碼單元的模式類型包括Inter模式和Intra模式,其中同一編碼層的不同模式類型采用相同的快速RDO算法:
[0075]如圖3A中,IXU分為四個(gè)編碼層,且包括Inter模式和Intra模式。在編碼層0,通過(guò)快速RDO算法從Inter模式中的四個(gè)劃分方式中獲取最佳劃分方式,通過(guò)RDO算法計(jì)算該Inter模式下的最佳劃分方式的RDCost,以及通過(guò)快速RDO算法從Intra模式中的兩個(gè)劃分方式中獲取最佳劃分方式,通過(guò)RDO算法計(jì)算該Intra模式下的最佳劃分方式的RDCost,從上述兩個(gè)RDCost中選擇較小的RDCost對(duì)應(yīng)的劃分方式作為編碼層O的最佳劃分方式,輸出通過(guò)RDO算法計(jì)算得到的編碼層O的最佳劃分方式的RDCost,記為RDCostO ;同理,采用上述方式獲得編碼層I至編碼層3的最佳劃分方式的RDCost,分別記為RDCostl、RDCost2和RDCost3 ;然后,比較四個(gè)編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,即比較RDCostO、RDCost 1、RDCost2和RDCost3,從中選擇最小的RDCost對(duì)應(yīng)的劃分方式作為該LCU的最佳劃分方式。
[0076]為了進(jìn)一步說(shuō)明采用本發(fā)明實(shí)施例選擇編碼模式的有益效果,參見(jiàn)圖3B,為應(yīng)用現(xiàn)有技術(shù)的編碼模式選擇架構(gòu)示意圖:
[0077]與圖3A —致,圖3B中的IXU也分為四個(gè)編碼層,且包括Inter模式和Intra模式。其中,在每個(gè)編碼層,均通過(guò)RDO算法從Inter模式中的四個(gè)劃分方式中獲取最佳劃分方式,以及通過(guò)RDO算法從Intra模式中的兩個(gè)劃分方式中獲取最佳劃分方式,并從上述兩個(gè)RDCost中選擇較小的RDCost對(duì)應(yīng)的劃分方式作為該編碼層的最佳劃分方式。
[0078]下面結(jié)合上述應(yīng)用圖3A和圖3B的編碼選擇過(guò)程,如下表1,為對(duì)比編碼器采用本發(fā)明實(shí)施例和現(xiàn)有技術(shù)的RDO計(jì)算次數(shù):
[0079]表I[0080]
【權(quán)利要求】
1.一種編碼模式選擇方法,其特征在于,所述方法包括: 對(duì)于編碼單元的每個(gè)編碼層,通過(guò)快速率失真優(yōu)化RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式; 根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的率失真代價(jià)值RDCost,選擇所述編碼單元的最佳編碼模式。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式,包括: 對(duì)于所述編碼層的每種模式類型,通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,包括: 采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost ; 比較所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為所述模式類型的最佳劃分方式。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述模式類型包括至少一種下述模式:幀間Inter模式、幀內(nèi)Intra模式、合并Merge模式。
5.根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的方法,其特征在于,所述通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式,包括: 采用RDO算法計(jì)算所述編碼層的候選劃分方式對(duì)應(yīng)的RDCost ; 比較所述候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼層的最佳劃分方式。
6.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇所述編碼單元的最佳編碼模式,包括: 比較所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,所述最佳劃分方式對(duì)應(yīng)的RDCost通過(guò)RDO算法計(jì)算得到,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼單元的最佳劃分方式。
7.一種編碼模式選擇裝置,其特征在于,所述裝置包括: 獲取單元,用于對(duì)于編碼單元的每個(gè)編碼層,通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲取所述編碼層的候選劃分方式; 確定單元,通過(guò)RDO算法從所述獲取單元獲取的候選劃分方式中確定所述編碼層的最佳劃分方式; 選擇單元,用于根據(jù)所述確定單元確定的所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇所述編碼單元的最佳編碼模式。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取單元,具體用于對(duì)于所述編碼層的每種模式類型,通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取單元包括:第一代價(jià)值計(jì)算子單元,用于采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的 RDCost ; 第一劃分方式選擇子單元,用于比較所述第一代價(jià)計(jì)算子單元計(jì)算得到的模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為所述模式類型的最佳劃分方式。
10.根據(jù)權(quán)利要求7至9任意一項(xiàng)所述的裝置,其特征在于,所述確定單元包括: 第二代價(jià)值計(jì)算子單元,用于采用RDO算法計(jì)算所述編碼層的候選劃分方式對(duì)應(yīng)的RDCost ; 第二劃分方式選擇子單元,用于比較所述第二代價(jià)值計(jì)算子單元計(jì)算得到的候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼層的最佳劃分方式。
11.根據(jù)權(quán)利要求7至10任意一項(xiàng)所述的裝置,其特征在于,所述選擇單元,具體用于比較所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,所述最佳劃分方式對(duì)應(yīng)的RDCost通過(guò)RDO算法計(jì)算得到,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼單元的最佳劃分方式。
12.—種編碼器,其特征在于,所述編碼器包括:輸入輸出接口和處理器,其中, 所述輸入輸出接口,用于獲得編碼單元; 所述處理器,用于對(duì)于所述編碼單元的每個(gè)編碼層,通過(guò)快速RDO算法從所述編碼層的所有劃分方式中獲 取所述編碼層的候選劃分方式,通過(guò)RDO算法從所述候選劃分方式中確定所述編碼層的最佳劃分方式;根據(jù)所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,選擇所述編碼單元的最佳編碼模式。
13.根據(jù)權(quán)利要求12所述的編碼器,其特征在于, 所述處理器,具體用于對(duì)于所述編碼層的每種模式類型,通過(guò)快速RDO算法從所述模式類型對(duì)應(yīng)的劃分方式中獲取所述模式類型的最佳劃分方式,將每種模式類型的最佳劃分方式作為所述編碼層的候選劃分方式。
14.根據(jù)權(quán)利要求13所述的編碼器,其特征在于, 所述處理器,具體用于采用快速RDO算法計(jì)算所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost,并比較所述模式類型對(duì)應(yīng)的所有劃分方式的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式為所述模式類型的最佳劃分方式。
15.根據(jù)權(quán)利要求12至14任意一項(xiàng)所述的編碼器,其特征在于, 所述處理器,具體用于采用RDO算法計(jì)算所述編碼層的候選劃分方式對(duì)應(yīng)的RDCost,并比較所述候選劃分方式對(duì)應(yīng)的RDCost,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼層的最佳劃分方式。
16.根據(jù)權(quán)利要求12至15任意一項(xiàng)所述的編碼器,其特征在于, 所述處理器,具體用于比較所述編碼單元的相鄰編碼層的最佳劃分方式對(duì)應(yīng)的RDCost,所述最佳劃分方式對(duì)應(yīng)的RDCost通過(guò)RDO算法計(jì)算得到,選擇數(shù)值最小的RDCost對(duì)應(yīng)的劃分方式作為所述編碼單元的最佳劃分方式。
【文檔編號(hào)】H04N19/103GK103702122SQ201310698739
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2013年12月18日 優(yōu)先權(quán)日:2013年12月18日
【發(fā)明者】郭姍, 宋楊, 王振威 申請(qǐng)人:華為技術(shù)有限公司