本申請是基于申請?zhí)枮?01280028619.2、申請日為2012年6月13日、申請人為jvc建伍株式會(huì)社、發(fā)明名稱為“圖像編碼裝置、圖像編碼方法及圖像編碼程序、圖像解碼裝置、圖像解碼方法及圖像解碼程序”的發(fā)明提出的分案申請。
本發(fā)明涉及圖像編碼及解碼技術(shù),特別涉及畫面內(nèi)編碼及解碼技術(shù)。
背景技術(shù):
在作為動(dòng)圖像編碼的國際標(biāo)準(zhǔn)的mpeg-4avc中,作為在一個(gè)畫面內(nèi)完成處理的畫面內(nèi)編碼的方式,采樣了被稱作幀內(nèi)預(yù)測的方式。幀內(nèi)預(yù)測是通過沿所指定的預(yù)測方向復(fù)制與成為處理對象的塊相鄰的已解碼采樣值來生成處理對象塊的預(yù)測圖像的方式。在mpeg-4avc中,定義了圖1的(a)、(b)所示的9種預(yù)測方向,采用通過在各塊中傳送表示預(yù)測方向的幀內(nèi)預(yù)測模式的模式編號,來指定適當(dāng)?shù)念A(yù)測方向的構(gòu)成。
通過擴(kuò)展預(yù)測方向的定義數(shù)能提高預(yù)測圖像質(zhì)量。圖2的(a)的標(biāo)號201表示了17種預(yù)測方向的定義例子,圖2的(b)的標(biāo)號202表示了34種預(yù)測方向的定義例子。然而,預(yù)測方向的定義數(shù)的增加將導(dǎo)致幀內(nèi)預(yù)測模式的傳送信息量的增加。隨著預(yù)測方向的定義數(shù)增加,全部產(chǎn)生碼量中的幀內(nèi)預(yù)測模式所占的比例會(huì)增加,故需要一種高效的傳送方法。
專利文獻(xiàn)1中記載了通過減少要傳送的畫面內(nèi)預(yù)測模式的總數(shù)來削減畫面內(nèi)預(yù)測模式的碼量的方法。在專利文獻(xiàn)1的方法中,將多個(gè)塊的畫面內(nèi)預(yù)測模式掃描預(yù)定的統(tǒng)合單位量,若統(tǒng)合單位內(nèi)的所有畫面內(nèi)預(yù)測模式相同,則按統(tǒng)合單位傳送一個(gè)畫面內(nèi)預(yù)測模式,由此來減少要傳送的畫面內(nèi)預(yù)測模式。
〔在先技術(shù)文獻(xiàn)〕
〔專利文獻(xiàn)〕
〔專利文獻(xiàn)1〕日本特開2009-246975號公報(bào)
技術(shù)實(shí)現(xiàn)要素:
〔發(fā)明所要解決的課題〕
一般在幀內(nèi)預(yù)測中,是以假定如下情況的幀內(nèi)預(yù)測模式的發(fā)生概率模型為前提對幀內(nèi)預(yù)測模式進(jìn)行編碼的,即,假定在編碼對象塊中也選擇與相鄰于圖像的編碼對象塊的塊的幀內(nèi)預(yù)測模式相同的幀內(nèi)預(yù)測模式的可能性較高。作為目前所采用的方法的一個(gè)例子,有簡易地設(shè)定上述發(fā)生概率模型的方法,但并未成為充分反映了現(xiàn)實(shí)的幀內(nèi)預(yù)測模式的發(fā)生概率的方法,難以高效地對幀內(nèi)預(yù)測模式進(jìn)行編碼。在各塊中自適應(yīng)地設(shè)定最佳發(fā)生概率模型的方法能夠進(jìn)行幀內(nèi)預(yù)測模式的高效的編碼,但會(huì)導(dǎo)致幀內(nèi)預(yù)測處理的復(fù)雜化。
專利文獻(xiàn)1的方法并非能夠設(shè)定適當(dāng)?shù)母怕誓P偷姆桨?,故上述課題依然沒有解決。
本發(fā)明是鑒于這樣的狀況而研發(fā)的,其目的在于提供一種能抑制幀內(nèi)預(yù)測處理的復(fù)雜化,并進(jìn)一步提高編碼效率的圖像編碼及解碼技術(shù)。
〔用于解決課題的手段〕
為解決上述課題,本發(fā)明一個(gè)方案的圖像編碼裝置是一種利用按塊單位從多個(gè)畫面內(nèi)預(yù)測模式中選擇的畫面內(nèi)預(yù)測模式對圖像信號進(jìn)行編碼,并對確定該所選擇的畫面內(nèi)預(yù)測模式的信息進(jìn)行編碼的圖像編碼裝置,其特征在于,包括:畫面內(nèi)預(yù)測模式選擇部(509),選擇編碼對象塊的畫面內(nèi)預(yù)測模式;畫面內(nèi)預(yù)測模式存儲(chǔ)部(601),存儲(chǔ)已編碼塊的畫面內(nèi)預(yù)測模式;優(yōu)先預(yù)測模式列表生成部(602),從上述畫面內(nèi)預(yù)測模式存儲(chǔ)部取得用于上述編碼對象塊的畫面內(nèi)預(yù)測處理的多個(gè)參照塊的畫面內(nèi)預(yù)測模式,并基于該取得的畫面內(nèi)預(yù)測模式,生成成為上述編碼對象塊的畫面內(nèi)預(yù)測模式的候選的優(yōu)先預(yù)測模式的列表;優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算部(603),算出表示上述編碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息;優(yōu)先預(yù)測模式索引導(dǎo)出部(605),在上述編碼對象塊的畫面內(nèi)預(yù)測模式為優(yōu)先預(yù)測模式時(shí),按照上述列表導(dǎo)出確定該優(yōu)先預(yù)測模式的信息;非優(yōu)先預(yù)測模式索引導(dǎo)出部(607),在上述編碼對象塊的畫面內(nèi)預(yù)測模式為非優(yōu)先預(yù)測模式時(shí),基于上述列表導(dǎo)出確定該非優(yōu)先預(yù)測模式的信息;以及編碼部(604、606、608),在上述編碼對象塊的畫面內(nèi)預(yù)測模式為優(yōu)先預(yù)測模式時(shí),將確定該優(yōu)先預(yù)測模式的信息與表示上述編碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起編碼,在上述編碼對象塊的畫面內(nèi)預(yù)測模式為非優(yōu)先預(yù)測模式時(shí),將確定該非優(yōu)先預(yù)測模式的信息與表示上述編碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起編碼。上述優(yōu)先預(yù)測模式列表生成部(602)生成與多個(gè)上述參照塊的不同的畫面內(nèi)預(yù)測模式的數(shù)量無關(guān)、任一編碼對象塊都具有預(yù)定數(shù)量的要素的上述列表。
本發(fā)明的另一方案是一種圖像編碼方法。該方法是利用按塊單位從多個(gè)畫面內(nèi)預(yù)測模式中選擇的畫面內(nèi)預(yù)測模式對圖像信號進(jìn)行編碼,并對確定該所選擇的畫面內(nèi)預(yù)測模式的信息進(jìn)行編碼的圖像編碼方法,其特征在于,包括:畫面內(nèi)預(yù)測模式選擇步驟,選擇編碼對象塊的畫面內(nèi)預(yù)測模式;優(yōu)先預(yù)測模式列表生成步驟,參照存儲(chǔ)已編碼塊的畫面內(nèi)預(yù)測模式的存儲(chǔ)器,取得用于上述編碼對象塊的畫面內(nèi)預(yù)測處理的多個(gè)參照塊的畫面內(nèi)預(yù)測模式,并基于該取得的畫面內(nèi)預(yù)測模式,生成成為上述編碼對象塊的畫面內(nèi)預(yù)測模式的候選的優(yōu)先預(yù)測模式的列表;優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算步驟,算出表示上述編碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息;優(yōu)先預(yù)測模式索引導(dǎo)出步驟,在上述編碼對象塊的畫面內(nèi)預(yù)測模式為優(yōu)先預(yù)測模式時(shí),按照上述列表導(dǎo)出確定該優(yōu)先預(yù)測模式的信息;非優(yōu)先預(yù)測模式索引導(dǎo)出步驟,在上述編碼對象塊的畫面內(nèi)預(yù)測模式為非優(yōu)先預(yù)測模式時(shí),基于上述列表導(dǎo)出確定該非優(yōu)先預(yù)測模式的信息;以及編碼步驟,在上述編碼對象塊的畫面內(nèi)預(yù)測模式為優(yōu)先預(yù)測模式時(shí),將確定該優(yōu)先預(yù)測模式的信息與表示上述編碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起編碼,在上述編碼對象塊的畫面內(nèi)預(yù)測模式為非優(yōu)先預(yù)測模式時(shí),將確定該非優(yōu)先預(yù)測模式的信息與表示上述編碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起編碼。上述優(yōu)先預(yù)測模式列表生成步驟生成與多個(gè)上述參照塊的不同的畫面內(nèi)預(yù)測模式的數(shù)量無關(guān)、任一編碼對象塊都具有預(yù)定數(shù)量的要素的上述列表。
本發(fā)明一個(gè)方案的圖像解碼裝置是從編碼流中按塊單位解碼確定畫面內(nèi)預(yù)測模式的信息,并使用所解碼出的確定畫面內(nèi)預(yù)測模式的信息來解碼圖像信號的圖像解碼裝置,其特征在于,包括:畫面內(nèi)預(yù)測模式存儲(chǔ)部,存儲(chǔ)已解碼塊的畫面內(nèi)預(yù)測模式;優(yōu)先預(yù)測模式列表生成部,從上述畫面內(nèi)預(yù)測模式存儲(chǔ)部取得用于解碼對象塊的畫面內(nèi)預(yù)測處理的多個(gè)參照塊的畫面內(nèi)預(yù)測模式,并基于該取得的畫面內(nèi)預(yù)測模式生成成為上述解碼對象塊的畫面內(nèi)預(yù)測模式的候選的優(yōu)先預(yù)測模式的列表;解碼部,在上述解碼對象塊的畫面內(nèi)預(yù)測模式為優(yōu)先預(yù)測模式時(shí),將該確定優(yōu)先預(yù)測模式的信息與表示上述解碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起解碼,在上述解碼對象塊的畫面內(nèi)預(yù)測模式為非優(yōu)先預(yù)測模式時(shí),將該確定非優(yōu)先預(yù)測模式的信息與表示上述解碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起解碼;優(yōu)先預(yù)測模式導(dǎo)出部,基于上述表示畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息,在將上述解碼對象塊的畫面內(nèi)預(yù)測模式判定為優(yōu)先預(yù)測模式時(shí),按照上述列表,從所解碼出的上述確定優(yōu)先預(yù)測模式的信息,導(dǎo)出優(yōu)先預(yù)測模式;以及非優(yōu)先預(yù)測模式導(dǎo)出部,基于上述表示畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息,在將上述解碼對象塊的畫面內(nèi)預(yù)測模式判定為非優(yōu)先預(yù)測模式時(shí),基于上述列表,從所解碼出的上述確定非優(yōu)先預(yù)測模式的信息,導(dǎo)出非優(yōu)先預(yù)測模式。上述優(yōu)先預(yù)測模式列表生成部生成與多個(gè)上述參照塊的不同的畫面內(nèi)預(yù)測模式的數(shù)量無關(guān)、任一解碼對象塊都具有預(yù)定數(shù)量的要素的上述列表。
本發(fā)明的另一方案是圖像解碼方法。該方法是從編碼流中按塊單位解碼確定畫面內(nèi)預(yù)測模式的信息,并使用所解碼出的確定畫面內(nèi)預(yù)測模式的信息來解碼圖像信號的圖像解碼方法,其特征在于,包括:優(yōu)先預(yù)測模式列表生成步驟,參照存儲(chǔ)已解碼塊的畫面內(nèi)預(yù)測模式的存儲(chǔ)器,取得用于解碼對象塊的畫面內(nèi)預(yù)測處理的多個(gè)參照塊的畫面內(nèi)預(yù)測模式,并基于該取得的畫面內(nèi)預(yù)測模式生成成為上述解碼對象塊的畫面內(nèi)預(yù)測模式的候選的優(yōu)先預(yù)測模式的列表;解碼步驟,在上述解碼對象塊的畫面內(nèi)預(yù)測模式為優(yōu)先預(yù)測模式時(shí),將該確定優(yōu)先預(yù)測模式的信息與表示上述解碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起解碼,在上述解碼對象塊的畫面內(nèi)預(yù)測模式為非優(yōu)先預(yù)測模式時(shí),將該確定非優(yōu)先預(yù)測模式的信息與表示上述解碼對象塊的畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息一起解碼;優(yōu)先預(yù)測模式導(dǎo)出步驟,基于上述表示畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息,在將上述解碼對象塊的畫面內(nèi)預(yù)測模式判定為優(yōu)先預(yù)測模式時(shí),按照上述列表,從所解碼出的上述確定優(yōu)先預(yù)測模式的信息,導(dǎo)出優(yōu)先預(yù)測模式;以及非優(yōu)先預(yù)測模式導(dǎo)出步驟,基于上述表示畫面內(nèi)預(yù)測模式是否為優(yōu)先預(yù)測模式的信息,在將上述解碼對象塊的畫面內(nèi)預(yù)測模式判定為非優(yōu)先預(yù)測模式時(shí),基于上述列表,從所解碼出的上述確定非優(yōu)先預(yù)測模式的信息,導(dǎo)出非優(yōu)先預(yù)測模式。上述優(yōu)先預(yù)測模式列表生成步驟生成與多個(gè)上述參照塊的不同的畫面內(nèi)預(yù)測模式的數(shù)量無關(guān)、任一解碼對象塊都具有預(yù)定數(shù)量的要素的上述列表。
此外,將以上構(gòu)成要素的任意組合、本發(fā)明的表現(xiàn)形式在方法、裝置、系統(tǒng)、記錄介質(zhì)、計(jì)算機(jī)程序等之間變換后的方案,作為本發(fā)明的實(shí)施方式也是有效的。
〔發(fā)明效果〕
通過本發(fā)明,能抑制幀內(nèi)預(yù)測處理的復(fù)雜化,并提高編碼效率。
附圖說明
圖1是說明9模式(pattem)的幀內(nèi)預(yù)測模式的預(yù)測方向的圖。
圖2是說明17模式、34模式及18模式的幀內(nèi)預(yù)測模式的預(yù)測方向的圖。
圖3是說明用于編碼幀內(nèi)預(yù)測模式的編碼樹的圖。
圖4是說明用于按照圖3的編碼樹傳送幀內(nèi)預(yù)測模式的編碼句法的圖。
圖5是表示用于執(zhí)行實(shí)施方式的幀內(nèi)預(yù)測模式的編碼方法的圖像編碼裝置的構(gòu)成的功能塊圖。
圖6是表示圖5的幀內(nèi)預(yù)測模式編碼部的第1實(shí)施例的詳細(xì)構(gòu)成的功能塊圖。
圖7是說明圖6的幀內(nèi)預(yù)測模式編碼部所進(jìn)行的幀內(nèi)預(yù)測模式編碼步驟的流程圖。
圖8是表示用于執(zhí)行實(shí)施方式的幀內(nèi)預(yù)測模式的解碼方法的圖像解碼裝置的構(gòu)成的功能塊圖。
圖9是表示圖8的幀內(nèi)預(yù)測模式解碼部的第1實(shí)施例的詳細(xì)構(gòu)成的功能塊圖。
圖10是說明圖9的幀內(nèi)預(yù)測模式解碼部所進(jìn)行的幀內(nèi)預(yù)測模式解碼步驟的流程圖。
圖11是說明第1實(shí)施例中的算出優(yōu)先預(yù)測模式列表的步驟的流程圖。
圖12是說明第1實(shí)施例中的算出優(yōu)先預(yù)測模式判定標(biāo)志、優(yōu)先預(yù)測模式索引的步驟的流程圖。
圖13是說明第1實(shí)施例中的算出非優(yōu)先預(yù)測模式索引的步驟的流程圖。
圖14是說明第1實(shí)施例中的對非優(yōu)先預(yù)測模式索引進(jìn)行編碼的步驟的流程圖。
圖15是說明第1實(shí)施例中的解碼非優(yōu)先預(yù)測模式索引的步驟的流程圖。
圖16是說明第1實(shí)施例中的算出對象預(yù)測模式的步驟的流程圖。
圖17是說明第2實(shí)施例的幀內(nèi)預(yù)測模式編碼部的動(dòng)作的流程圖。
圖18是說明圖像的塊結(jié)構(gòu)和參照塊的圖。
圖19是說明第2實(shí)施例中的算出優(yōu)先預(yù)測模式列表的步驟的流程圖。
圖20是說明第2實(shí)施例中的編碼非優(yōu)先預(yù)測模式索引的處理的流程圖。
圖21是說明第2實(shí)施例的幀內(nèi)預(yù)測模式解碼部的動(dòng)作的流程圖。
圖22是說明第2實(shí)施例中的解碼非優(yōu)先預(yù)測模式索引的步驟的流程圖。
圖23是說明與第1實(shí)施例的編碼裝置/解碼裝置對應(yīng)的幀內(nèi)預(yù)測模式的編碼句法的圖。
圖24是說明與第2實(shí)施例的編碼裝置/解碼裝置對應(yīng)的幀內(nèi)預(yù)測模式的編碼句法的圖。
圖25是說明第3實(shí)施例中的算出優(yōu)先預(yù)測模式列表的步驟的流程圖。
圖26是表示第3實(shí)施例中的優(yōu)先預(yù)測模式列表的計(jì)算中所使用的參照表的例子的圖。
具體實(shí)施方式
首先,說明本發(fā)明實(shí)施方式的前提技術(shù)。
在以下的說明中,所謂“處理對象塊”,對于圖像編碼裝置的編碼處理,是指編碼對象塊,對于圖像解碼裝置的解碼處理,是指解碼對象塊。所謂“已處理塊”,對于圖像編碼裝置的編碼處理,是指已編碼的被解碼后的塊,對于圖像解碼裝置的解碼處理,是指已解碼的塊。以下,在沒有特別說明的情況下,按該意思來使用。
[編碼樹]
圖3是說明用于對圖1的9模式的幀內(nèi)預(yù)測模式進(jìn)行編碼的編碼樹的圖。mpeg-4avc中的幀內(nèi)預(yù)測模式的傳送方法遵循圖3的(a)的標(biāo)號301所示的編碼樹。圖中、內(nèi)部節(jié)點(diǎn)(圓形)分配碼,葉(四角形)分配幀內(nèi)預(yù)測的模式編號。葉中的標(biāo)號302是優(yōu)先預(yù)測模式。關(guān)于優(yōu)先預(yù)測模式,將在后面說明。例如,對優(yōu)先預(yù)測模式分配了“1”,對模式7分配了碼“0111”。
圖4是說明用于按照圖3的編碼樹傳送幀內(nèi)預(yù)測模式的編碼句法的圖。圖4的(a)、(b)所示的prev_intra_pred_flag是用于確定是否為優(yōu)先預(yù)測模式的句法要素,rem_intra_pred_mode是表示模式編號的句法要素。在解碼時(shí),首先從編碼序列中讀出1比特的prev_intra_pred_flag,在prev_intra_pred_flag為1時(shí),將幀內(nèi)預(yù)測模式設(shè)定為優(yōu)先預(yù)測模式,并移向下一句法。在非為1時(shí),進(jìn)一步讀出3比特的prev_intra_pred_flag,將幀內(nèi)預(yù)測模式設(shè)定為rem_intra_pred_mode所示的預(yù)測模式。
為對圖2的(a)所示的17模式的幀內(nèi)預(yù)測模式進(jìn)行編碼,可以按照圖3的(b)的標(biāo)號303所示的編碼樹,采用同樣的傳送方法。
[優(yōu)先預(yù)測模式]
為決定優(yōu)先預(yù)測模式,參照與處理對象塊相鄰的已處理相鄰塊。將已處理相鄰塊定為處理對象塊的左側(cè)相鄰、且位于最上側(cè)的塊(稱作“參照塊a”)、和處理對象塊的上側(cè)相鄰、且位于最左側(cè)的塊(稱作“參照塊b”)。
使用圖18說明已處理相鄰參照塊的例子。相對于圖中的處理對象塊1801、空間上位于上側(cè)或/和左側(cè)的塊(標(biāo)號1802~1811)全部已處理,其它的塊(標(biāo)號1812~1815)為未處理。處理對象塊1801的左側(cè)相鄰的塊是塊1807和塊1809這兩個(gè),但將其中位于上側(cè)的塊1807定為參照塊a。此外,處理對象塊1801的上側(cè)相鄰的塊僅有塊1803,將該塊1803定為參照塊b。
將參照塊a、參照塊b的幀內(nèi)預(yù)測模式編號分別記為modeidxa、modeidxb時(shí),用下式表示處理對象塊的優(yōu)先預(yù)測模式的索引mpmidx。
mpmidx=min(modeidxa,modeidxb)
即,優(yōu)先預(yù)測模式與參照塊的幀內(nèi)預(yù)測模式的某一者一致。
[優(yōu)先預(yù)測模式與編碼樹的關(guān)系]
圖3的編碼樹是對優(yōu)先預(yù)測模式分配1比特的碼,對其它模式都同樣地分配1+3=4比特的碼,并遵循以下概率模型。
p(mpm)≥0.5,mpm表示優(yōu)先模式。
p(m)=0.0625=(1-p(mpm))/8,m≠mpm
采用這樣的傳送方法的優(yōu)點(diǎn)在于,通過使處理對象預(yù)測模式與優(yōu)先預(yù)測模式相等或?qū)︻A(yù)測模式分配較短的碼語言,能平均地削減幀內(nèi)預(yù)測模式的碼量。
然而,實(shí)際的優(yōu)先預(yù)測模式的發(fā)生概率為平均p(mpm)=0.2程度,圖3的編碼樹未必遵循現(xiàn)實(shí)的幀內(nèi)預(yù)測模式的發(fā)生分布,上述方法不能說是用于提高編碼效率的最佳方法。
若僅著眼于提高編碼效率,例如根據(jù)已處理塊的預(yù)測模式分布自適應(yīng)地切換編碼樹的方法是有效的,但這樣的方法會(huì)需要各塊中的條件判斷、處理分支,導(dǎo)致電路規(guī)模的增大、處理的復(fù)雜化。
在本實(shí)施方式中,在抑制電路規(guī)模的增大及處理的復(fù)雜化的基礎(chǔ)上提高編碼效率。
[編碼裝置]
參照附圖說明實(shí)施本發(fā)明的優(yōu)選的圖像編碼裝置。圖5是表示實(shí)施方式的圖像編碼裝置的構(gòu)成的功能塊圖。實(shí)施方式的圖像編碼裝置包括減法部501、正交變換.量化部502、逆量化.逆變換部503、加法部504、解碼圖像存儲(chǔ)器505、幀內(nèi)預(yù)測部506、紋理信息編碼部507、幀內(nèi)預(yù)測模式編碼部508、幀內(nèi)預(yù)測模式選擇部509。本發(fā)明的實(shí)施方式是針對畫面內(nèi)預(yù)測的,故對于與畫面間預(yù)測相關(guān)聯(lián)的構(gòu)成要素未進(jìn)行圖示,并省略說明。
幀內(nèi)預(yù)測模式選擇部509針對圖像的每個(gè)塊選擇最佳的幀內(nèi)預(yù)測模式,并將所選擇的幀內(nèi)預(yù)測模式提供給幀內(nèi)預(yù)測部506和幀內(nèi)預(yù)測模式編碼部508。
幀內(nèi)預(yù)測模式編碼部508對所輸入的幀內(nèi)預(yù)測模式進(jìn)行可變長度編碼,輸出幀內(nèi)預(yù)測模式比特流。對于幀內(nèi)預(yù)測模式編碼部508的詳細(xì)構(gòu)成和動(dòng)作,將在后面說明。
幀內(nèi)預(yù)測部506使用所輸入的幀內(nèi)預(yù)測模式和存儲(chǔ)在解碼圖像存儲(chǔ)器505中的相鄰塊的已解碼圖像來生成幀內(nèi)預(yù)測圖像,將生成的幀內(nèi)預(yù)測圖像提供給減法部501。
減法部501通過從編碼對象的原圖像減去幀內(nèi)預(yù)測圖像來生成差分圖像,將生成的差分信號提供給正交變換.量化部502。
正交變換.量化部502對差分圖像進(jìn)行正交變換.量化后生成紋理信息,將生成的紋理信息提供給逆量化.逆變換部503和紋理信息編碼部507。
紋理信息編碼部507對紋理信息進(jìn)行熵編碼,輸出紋理信息比特流。
逆量化.逆變換部503對從正交變換.量化部502收到的紋理信息進(jìn)行逆量化.逆正交變換,生成解碼差分信號,將生成的解碼差分信號提供給加法部504。
加法部504將幀內(nèi)預(yù)測圖像和解碼差分信號相加,生成解碼圖像,將生成的解碼圖像保存在解碼圖像存儲(chǔ)器505中。
[解碼裝置]
參照附圖說明實(shí)施本發(fā)明的優(yōu)選的圖像解碼裝置。圖8是表示實(shí)施方式的動(dòng)圖像解碼裝置的構(gòu)成的功能塊圖。實(shí)施方式的圖像解碼裝置包括紋理信息解碼部801、逆量化.逆變換部802、幀內(nèi)預(yù)測模式解碼部803、加法部804、解碼圖像存儲(chǔ)器805、幀內(nèi)預(yù)測部806。本發(fā)明的實(shí)施方式是針對畫面內(nèi)預(yù)測的,故與畫面間預(yù)測相關(guān)聯(lián)的構(gòu)成要素未圖示,省略說明。
圖8的圖像解碼裝置的解碼處理是與圖5的圖像編碼裝置內(nèi)部所設(shè)的解碼處理相對應(yīng)的,故圖8的逆量化.逆變換部802、加法部804、解碼圖像存儲(chǔ)器805、及幀內(nèi)預(yù)測部806的各構(gòu)成分別具有與圖5的圖像編碼裝置的逆量化.逆變換部503、加法部504、解碼圖像存儲(chǔ)器505、及幀內(nèi)預(yù)測部506的各構(gòu)成相對應(yīng)的功能。
幀內(nèi)預(yù)測模式解碼部803對所輸入的幀內(nèi)預(yù)測模式比特流進(jìn)行熵解碼,生成幀內(nèi)預(yù)測模式,并將所生成的幀內(nèi)預(yù)測模式提供給幀內(nèi)預(yù)測部806。幀內(nèi)預(yù)測模式解碼部803的詳細(xì)構(gòu)成和動(dòng)作將在后面敘述。
幀內(nèi)預(yù)測部806使用所輸入的幀內(nèi)預(yù)測模式和存儲(chǔ)在解碼圖像存儲(chǔ)器805中的相鄰塊的已解碼圖像,生成幀內(nèi)預(yù)測圖像,并將生成的幀內(nèi)預(yù)測圖像提供給加法部804。
紋理信息解碼部801對紋理信息進(jìn)行熵解碼,生成紋理信息。將生成的紋理信息提供給逆量化.逆變換部802。
逆量化.逆變換部802對從紋理信息解碼部801收到的紋理信息進(jìn)行逆量化.逆正交變換,生成解碼差分信號,將生成的解碼差分信號提供給加法部804。
加法部804將幀內(nèi)預(yù)測圖像和解碼差分信號相加,生成解碼圖像,并將生成的解碼圖像保存在解碼圖像存儲(chǔ)器805中,進(jìn)行輸出。
本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式編碼及解碼處理是在圖5的動(dòng)圖像編碼裝置的幀內(nèi)預(yù)測模式編碼部508及圖8的動(dòng)圖像解碼裝置的幀內(nèi)預(yù)測模式解碼部803中被實(shí)施的。以下說明實(shí)施方式的幀內(nèi)預(yù)測模式編碼及解碼處理的詳細(xì)情況。
[編碼塊]
在實(shí)施方式中,如圖18所示,按矩形塊階層地分割畫面,并對各塊進(jìn)行預(yù)定處理順序的逐次處理。將分割的各塊稱為編碼塊。圖18的塊1817在實(shí)施方式中是分割的最大單位,將其稱作最大編碼塊。圖18的塊1816在實(shí)施方式中是分割的最小單位,將其稱作最小編碼塊。以下以最小編碼塊為4×4像素、最大編碼塊為16×16像素進(jìn)行說明。
[預(yù)測塊]
將編碼塊中進(jìn)行幀內(nèi)預(yù)測的單位稱作預(yù)測塊。預(yù)測塊具有最小編碼塊以上、最大編碼塊以下的任意大小。在圖18中,塊1802、1803及1804為16×16塊,塊1805、1810、1811及1801為8×8塊,塊1806、1807、1808、1809為4×4塊。塊1812、1813、1814、1815是未處理塊,編碼塊尺寸未確定。在編碼步驟中,決定最佳的預(yù)測塊尺寸,并傳送預(yù)測塊尺寸。在解碼步驟中從比特流取得預(yù)測塊尺寸。以下以預(yù)測塊為處理單位進(jìn)行說明。
[參照塊和參照幀內(nèi)預(yù)測模式]
參照塊是作為處理對象塊的左側(cè)相鄰且位于最上側(cè)的塊的塊a、和作為處理對象塊的上側(cè)相鄰且位于最左側(cè)的塊的塊b。將塊a的預(yù)測模式記作refmodea、將塊b的預(yù)測模式記作refmodeb。將各參照塊的幀內(nèi)預(yù)測模式稱作“參照幀內(nèi)預(yù)測模式”。將不存在參照塊時(shí)的參照幀內(nèi)預(yù)測模式設(shè)定為直流預(yù)測模式(也稱作“平均值模式”)。
(第1實(shí)施例)
[預(yù)測塊尺寸和幀內(nèi)預(yù)測模式]
根據(jù)預(yù)測塊的尺寸來切換幀內(nèi)預(yù)測模式的構(gòu)成。對于4×4塊,定義圖2的(a)的標(biāo)號201所示的17模式的幀內(nèi)預(yù)測模式,對于8×8塊和16×16塊,定義圖2的(b)的標(biāo)號202所示的34模式的幀內(nèi)預(yù)測模式。
[編碼步驟]
說明本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式的編碼方法的第1實(shí)施例。圖6是圖5的幀內(nèi)預(yù)測模式編碼部508的第1實(shí)施例的詳細(xì)構(gòu)成的功能塊圖。第1實(shí)施例的幀內(nèi)預(yù)測模式編碼部508包括幀內(nèi)預(yù)測模式存儲(chǔ)器601、優(yōu)先預(yù)測模式列表生成部602、優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算部603、優(yōu)先預(yù)測模式判定標(biāo)志編碼部604、優(yōu)先預(yù)測模式索引計(jì)算部605、優(yōu)先預(yù)測模式索引編碼部606、非優(yōu)先預(yù)測模式索引計(jì)算部607、非優(yōu)先預(yù)測模式索引編碼部608、以及優(yōu)先預(yù)測模式判定部609。以下、參照圖7的流程圖說明幀內(nèi)預(yù)測模式的編碼步驟。
優(yōu)先預(yù)測模式列表生成部602從幀內(nèi)預(yù)測模式存儲(chǔ)器601取得相鄰塊的幀內(nèi)預(yù)測模式refmodea和refmodeb,生成優(yōu)先預(yù)測模式列表mpmlist,并決定優(yōu)先預(yù)測模式列表尺寸mpmlistsize(步驟s701)。對于優(yōu)先預(yù)測模式列表生成步驟的詳細(xì)情況,將在后面說明。此外,將對象幀內(nèi)預(yù)測模式存儲(chǔ)在幀內(nèi)預(yù)測模式存儲(chǔ)器601中。在本實(shí)施例中,優(yōu)先預(yù)測模式列表尺寸mpmlistsize被設(shè)定為1或2的一者,在參照模式refmodea與refmodeb相等時(shí),mpmlistsize成為1,在參照模式refmodea與refmodeb不同時(shí),mpmlistsize成為2。
優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算部603取得對象預(yù)測模式和優(yōu)先預(yù)測模式列表mpmlist,算出優(yōu)先預(yù)測模式判定標(biāo)志mpmflag。此外,優(yōu)先預(yù)測模式索引計(jì)算部605算出優(yōu)先預(yù)測模式索引mpmindex(步驟s702),優(yōu)先預(yù)測模式判定標(biāo)志編碼部604對優(yōu)先預(yù)測模式判定標(biāo)志mpmflag進(jìn)行編碼(步驟s703)。優(yōu)先預(yù)測模式判定標(biāo)志、優(yōu)先預(yù)測模式索引計(jì)算步驟的詳細(xì)情況將在后面敘述。
優(yōu)先預(yù)測模式判定部609判定優(yōu)先預(yù)測模式判定標(biāo)志mpmflag(步驟s704)。
在優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為true時(shí),優(yōu)先預(yù)測模式索引編碼部606判定優(yōu)先預(yù)測模式索引mpmindex(步驟s705),在mpmlistsize=1時(shí),優(yōu)先預(yù)測模式索引mpmindex總為0,故不進(jìn)行mpmindex的編碼,結(jié)束處理。若mpmlistsize=2,則對優(yōu)先預(yù)測模式索引mpmindex進(jìn)行編碼(步驟s706),結(jié)束處理。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為false,則非優(yōu)先預(yù)測模式索引計(jì)算部607算出非優(yōu)先預(yù)測模式索引remmodeindex(步驟s707),非優(yōu)先預(yù)測模式索引編碼部608對算出的非優(yōu)先預(yù)測模式remmodeindex進(jìn)行編碼(步驟s708)。非優(yōu)先預(yù)測模式索引計(jì)算步驟及非優(yōu)先預(yù)測模式編碼步驟的詳細(xì)情況將在后面說明。
[優(yōu)先預(yù)測模式列表生成步驟]
參照圖11的流程圖說明圖7的步驟s701的優(yōu)先預(yù)測模式列表生成步驟的詳細(xì)情況。
優(yōu)先預(yù)測模式列表生成部602從幀內(nèi)預(yù)測模式存儲(chǔ)器601取得相鄰塊的幀內(nèi)預(yù)測模式refmodea和refmodeb,并比較refmodea和refmodeb(步驟s1101)。
若refmodea與refmodeb相等,則設(shè)定mpmlist[0]=refmodea(步驟s1102),進(jìn)而設(shè)定mpmlistsize=1(步驟s1103),進(jìn)入圖7的步驟s702。
若refmodea與refmodeb不同,則設(shè)定mpmlist[0]=min(refmodea,refmodeb),mpmlist[1]=max(refmodea,refmodeb)(步驟s1104),進(jìn)而設(shè)定mpmlistsize=2(步驟s1105),進(jìn)入圖7的步驟s702。
[優(yōu)先預(yù)測模式判定標(biāo)志、優(yōu)先預(yù)測模式索引計(jì)算步驟]
參照圖12的流程圖說明圖7的步驟s702的優(yōu)先預(yù)測模式判定標(biāo)志和優(yōu)先預(yù)測模式索引計(jì)算步驟的詳細(xì)情況。
在本步驟中,通過升序掃描mpmlist來推進(jìn)處理。優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算部603及優(yōu)先預(yù)測模式索引計(jì)算部605分別以false、0來初始化優(yōu)先預(yù)測模式判定標(biāo)志mpmflag和優(yōu)先預(yù)測模式索引mpmindex。以0來初始化用于掃描mpmlist的變量i(步驟s1201)。
若變量i不足mpmlistsize(步驟s1202)、即尚未掃描完mpmlist的所有要素,則比較mpmlist[i]與currmodeindex(步驟s1203)。若mpmlist[i]與currmodeindex相等,則表示對象預(yù)測模式等于優(yōu)先預(yù)測模式列表的第i個(gè)要素,分別將mpmflag設(shè)定為true、將mpmindex設(shè)定為i(步驟s1204),進(jìn)入圖7的步驟s703。若mpmlist[i]與currmodeindex不同,則使i增1(步驟s1205),繼續(xù)進(jìn)行掃描。
在步驟s1202中,當(dāng)變量i在mpmlistsize以上時(shí),即已掃描完mpmlist的所有要素時(shí),結(jié)束優(yōu)先預(yù)測模式判定標(biāo)志、優(yōu)先預(yù)測模式索引計(jì)算步驟,進(jìn)入圖7的步驟s703。此時(shí)表示對象預(yù)測模式未包含在優(yōu)先預(yù)測模式列表中,不進(jìn)行mpmflag和mpmindex的再設(shè)定。即,mpmflag=false、mpmindex=0。
[非優(yōu)先預(yù)測模式索引計(jì)算步驟]
參照圖13的流程圖說明圖7的步驟s707的非優(yōu)先預(yù)測模式索引計(jì)算步驟的詳細(xì)情況。
在本步驟中,通過按索引的降序掃描mpmlist來推進(jìn)處理。非優(yōu)先預(yù)測模式索引計(jì)算部607以對象預(yù)測模式currmodeindex來初始化非優(yōu)先預(yù)測模式索引remmodeindex,并以mpmlistsize-1來初始化用于掃描mpmlist的變量i(步驟s1301)。
若變量i在0以上(步驟s1302)、即尚未掃描完mpmlist的所有要素,則比較remmodeindex和mpmlist[i](步驟s1303)。若remmodeindex比mpmlist[i]大,則使remmodeindex的值減1(步驟s1304)。使變量i的值減1(步驟s1305),繼續(xù)掃描。
在步驟s1302中,當(dāng)變量i不足0時(shí)、即已掃描完mpmlist的所有要素時(shí),結(jié)束非優(yōu)先預(yù)測模式索引計(jì)算步驟,進(jìn)入圖7的步驟s708。
[非優(yōu)先預(yù)測模式索引編碼步驟]
參照圖14的流程圖說明圖7的步驟s708的非優(yōu)先預(yù)測模式索引編碼步驟的詳細(xì)情況。
非優(yōu)先預(yù)測模式索引編碼部608判定對象塊尺寸(步驟s1401)。
在對象塊為4×4塊時(shí),定義了17模式的幀內(nèi)預(yù)測。在上述的非優(yōu)先預(yù)測模式索引計(jì)算步驟中,若優(yōu)先預(yù)測模式的數(shù)量為1,則remmodeindex被變換成[0,15]的任一值,若優(yōu)先預(yù)測模式的數(shù)量為2,則remmodeindex被變換成[0,14]的任一值。不論在哪種情況下,用4比特都足以以固定長度來表現(xiàn)remmodeindex了,故對remmodeindex進(jìn)行4比特的固定長度編碼(步驟s1402),結(jié)束處理。
在對象塊為8×8塊或16×16塊時(shí),定義了34模式的幀內(nèi)預(yù)測。在上述的非優(yōu)先預(yù)測模式索引計(jì)算步驟中,若優(yōu)先預(yù)測模式的數(shù)量為1,則remmodeindex被變換成[0,32]的任一值,若優(yōu)先預(yù)測模式的數(shù)量為2,則remmodeindex被變換成[0,31]的任一值。在優(yōu)先預(yù)測模式的數(shù)量為1的情況下,為取得33模式的非優(yōu)先預(yù)測模式索引,5比特的固定長度并不足夠,故需要進(jìn)行可變長度的編碼。在remmodeindex不足31時(shí)(步驟s1403),對remmodeindex進(jìn)行5比特的固定長度編碼(步驟s1404),結(jié)束處理。當(dāng)remmodeindex在31以上時(shí)(步驟s1405),若remmodeindex為31,則對6比特序列“111110”進(jìn)行編碼(步驟s1406),若remmodeindex為32,則對6比特序列“111111”進(jìn)行編碼(步驟s1407),結(jié)束處理。
在本實(shí)施例中,對4×4塊定義了圖2的(a)的標(biāo)號201的17模式。其理由是為簡便地對4×4塊的非優(yōu)先預(yù)測模式索引進(jìn)行編碼/解碼。標(biāo)號201以按將180度16分割后的11.25(=180/16)度單位表現(xiàn)預(yù)測方向?yàn)榛A(chǔ),但僅模式9與模式8之間產(chǎn)生25度的方向差,導(dǎo)致該方向的預(yù)測精度下降。除標(biāo)號201外、考慮圖2的(c)的標(biāo)號203的定義18模式的情況。18模式的定義的優(yōu)點(diǎn)在于,能將5度單位的預(yù)測方向全部表現(xiàn)出來,不會(huì)出現(xiàn)標(biāo)號201那樣的預(yù)測精度的下降。在該情況下,若優(yōu)先預(yù)測模式的數(shù)量為1,則remmodeindex被變換成[0,16]的任一值,若優(yōu)先預(yù)測模式的數(shù)量為2,則remmodeindex被變換成[0,15]的任一值。在優(yōu)先預(yù)測模式的數(shù)量為1的情況下,能取到16模式的非優(yōu)先預(yù)測模式索引,同本實(shí)施例的8×8塊、16×16塊的例子一樣、需要進(jìn)行可變長度編碼,處理會(huì)變復(fù)雜。在對8×8塊、16×16采取圖2的(d)的標(biāo)號204的定義33模式的構(gòu)成的情況下,同4x4塊的處理一樣,能進(jìn)行5比特的固定長度編碼,但由于幀內(nèi)預(yù)測模式的候選數(shù)減少,會(huì)發(fā)生編碼效率的劣化。像這樣,幀內(nèi)預(yù)測模式的候選數(shù)和處理的復(fù)雜度呈相互制衡(trade-off)的關(guān)系,4×4塊與8×8、16×16塊相比,較小的角度差導(dǎo)致的預(yù)測精度質(zhì)量的差較少,且4×4塊的運(yùn)算量的影響比8×8、16×16塊要大,故對4×4塊定義標(biāo)號201的17模式,對8×8、16×16塊定義標(biāo)號202的34模式。
[解碼步驟]
說明本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式的解碼方法的第1實(shí)施例。圖9是圖8的幀內(nèi)預(yù)測模式解碼部803的第1實(shí)施例的詳細(xì)構(gòu)成的功能塊圖。第1實(shí)施例的幀內(nèi)預(yù)測模式解碼部803包括幀內(nèi)預(yù)測模式存儲(chǔ)器901、優(yōu)先預(yù)測模式列表生成部902、優(yōu)先預(yù)測模式判定標(biāo)志解碼部903、優(yōu)先預(yù)測模式索引解碼部904、優(yōu)先預(yù)測模式計(jì)算部905、非優(yōu)先預(yù)測模式索引解碼部906、以及非優(yōu)先預(yù)測模式計(jì)算部907。
圖9的幀內(nèi)預(yù)測模式解碼部803中的幀內(nèi)預(yù)測模式解碼處理是與圖6的幀內(nèi)預(yù)測模式編碼部508中的幀內(nèi)預(yù)測模式編碼處理相對應(yīng)的,故圖9的幀內(nèi)預(yù)測模式存儲(chǔ)器901、優(yōu)先預(yù)測模式列表生成部902的各構(gòu)成分別具有與圖6的幀內(nèi)預(yù)測模式存儲(chǔ)器601、優(yōu)先預(yù)測模式列表生成部602的各構(gòu)成相同的功能。
以下也參照圖10的流程圖來說明幀內(nèi)預(yù)測模式的解碼步驟。
優(yōu)先預(yù)測模式列表生成部902從幀內(nèi)預(yù)測模式存儲(chǔ)器901取得相鄰塊的幀內(nèi)預(yù)測模式refmodea和refmodeb,生成優(yōu)先預(yù)測模式列表mpmlist,并決定優(yōu)先預(yù)測模式列表的尺寸mpmlistsize(步驟s1001)。優(yōu)先預(yù)測模式列表生成步驟同圖6的優(yōu)先預(yù)測模式列表生成部602中的優(yōu)先預(yù)測模式列表生成步驟一樣,遵從圖11的流程圖所示的步驟,故省略詳細(xì)說明。
優(yōu)先預(yù)測模式判定標(biāo)志解碼部903從編碼序列讀入1比特,解碼優(yōu)先預(yù)測模式判定標(biāo)志mpmflag(步驟s1002),判定優(yōu)先預(yù)測模式判定標(biāo)志mpmflag的值(步驟s1003)。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為true,則優(yōu)先預(yù)測模式索引解碼部904判定優(yōu)先預(yù)測模式的數(shù)量mpmlistsize(步驟s1004)。若mpmlistsize為1,則將優(yōu)先預(yù)測模式索引mpmindex設(shè)定為0(步驟s1005)。若mpmlistsize為2,則從編碼序列再讀入1比特,解碼優(yōu)先預(yù)測模式索引mpmindex(步驟s1006)。進(jìn)而,優(yōu)先預(yù)測模式計(jì)算部905將優(yōu)先預(yù)測模式列表mpmlist的第mpmindex個(gè)要素mpmlist[mpmindex]作為對象預(yù)測模式currmodeindex(步驟s1007),結(jié)束處理。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為false,則非優(yōu)先預(yù)測模式索引解碼部906解碼非優(yōu)先預(yù)測模式索引remmodeindex(步驟s1008),非優(yōu)先預(yù)測模式計(jì)算部907基于算出的remmodeindex算出對象預(yù)測模式currmodeindex(步驟s1009)。將對象預(yù)測模式currmodeindex保存在幀內(nèi)預(yù)測模式存儲(chǔ)器901中,結(jié)束處理。對于非優(yōu)先預(yù)測模式索引的解碼步驟和對象預(yù)測模式計(jì)算步驟,將在后面說明。
[非優(yōu)先預(yù)測模式索引解碼步驟]
參照圖15的流程圖說明圖10的步驟s1008的非優(yōu)先預(yù)測模式索引解碼步驟的詳細(xì)情況。
非優(yōu)先預(yù)測模式索引解碼部906判定對象塊尺寸(步驟s1501)。
在對象塊為4×4塊時(shí),進(jìn)行4比特的固定長度解碼,作為remmodeindex(步驟s1502)。
在對象塊為8×8塊或16×16塊時(shí),首先進(jìn)行5比特的固定長度解碼,作為remmodeindex(步驟s1503)。判定remmodeindex的值(步驟s1504)。
在remmodeindex并非“11111”時(shí),結(jié)束非優(yōu)先預(yù)測模式索引解碼步驟,并進(jìn)入圖10的步驟s1009。
在remmodeindex為“11111”時(shí),再進(jìn)行1比特nextbit的解碼(步驟s1505),判定nextbit的值(步驟s1506)。若nextbit為“0”,則將remmodeindex設(shè)定為31后,結(jié)束非優(yōu)先預(yù)測模式索引解碼步驟,進(jìn)入圖10的步驟s1009。若nextbit為“0”,則將remmodeindex設(shè)定為32后,結(jié)束非優(yōu)先預(yù)測模式索引解碼步驟,進(jìn)入圖10的步驟s1009。
[預(yù)測模式計(jì)算步驟]
參照圖16的流程圖說明圖10的步驟s1009的預(yù)測模式計(jì)算步驟的詳細(xì)情況。
在本步驟中,通過按索引的升序掃描mpmlist來推進(jìn)處理。非優(yōu)先預(yù)測模式計(jì)算部907以非優(yōu)先預(yù)測模式索引remmodeindex來初始化對象預(yù)測模式currmodeindex,并以0來初始化用于掃描mpmlist的變量i(步驟s1601)。
若變量i不足mpmlistsize(步驟s1602)、即尚未掃描mpmlist的所有要素,則比較currmodeindex和mpmlist[i](步驟s1603)。若currmodeindex在mpmlist[i]以上,則使currmodeindex的值加1(步驟s1604)。使變量i的值加1(步驟s1605),繼續(xù)掃描。
在步驟s1602中,當(dāng)i變成mpmlistsize以上時(shí),即已掃描完mpmlist的所有要素時(shí),結(jié)束處理。
圖23是由本實(shí)施例的編碼裝置輸出、并在解碼裝置中被解釋的編碼流的幀內(nèi)預(yù)測模式的編碼句法。
(第2實(shí)施例)
在本實(shí)施例中,在生成優(yōu)先預(yù)測模式列表時(shí),若refmodea與refmodeb相同,則將與參照預(yù)測模式不同的預(yù)測模式追加到優(yōu)先預(yù)測模式列表中,從而總是設(shè)定2個(gè)優(yōu)先預(yù)測模式,在這一點(diǎn)上與實(shí)施例1不同。通過進(jìn)行這樣的動(dòng)作,來減少之后的編碼/解碼處理的處理分支,實(shí)現(xiàn)處理的簡略化。
[預(yù)測塊尺寸和幀內(nèi)預(yù)測模式]
在本實(shí)施例中,根據(jù)預(yù)測塊的尺寸來切換幀內(nèi)預(yù)測模式構(gòu)成。
在本實(shí)施例中,對于4×4塊,定義圖2的標(biāo)號203所示的18模式,對于8×8塊和16×16塊,定義在圖2的標(biāo)號201的模式上增加了標(biāo)號202的模式的34模式。18模式及34模式的定義分別能表現(xiàn)11.25度單位、7.125單位的全部預(yù)測方向,在這一點(diǎn)上與存在一部分不能表現(xiàn)的方向的17模式和33模式的定義相比,具有預(yù)測精度不會(huì)下降這樣的優(yōu)點(diǎn)。與實(shí)施例1的不同點(diǎn)在于4×4塊的幀內(nèi)預(yù)測模式構(gòu)成。在本實(shí)施例中,總是設(shè)定2個(gè)優(yōu)先預(yù)測模式,故即使在定義了18模式的幀內(nèi)預(yù)測模式的情況下,也能總是將非優(yōu)先預(yù)測模式固定為16模式,故在對非優(yōu)先預(yù)測模式進(jìn)行固定長度編碼時(shí)能進(jìn)行不存在多余或不足的碼分配。
[編碼步驟]
說明本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式的編碼方法的第2實(shí)施例。第2實(shí)施例中的幀內(nèi)預(yù)測模式編碼部508的構(gòu)成同圖6所示的第1實(shí)施例一樣,但優(yōu)先預(yù)測模式列表生成部602、優(yōu)先預(yù)測模式索引編碼部606、及非優(yōu)先預(yù)測模式索引編碼部608的詳細(xì)動(dòng)作與第1實(shí)施例是不同的。以下、參照圖17的流程圖說明幀內(nèi)預(yù)測模式的編碼步驟。
優(yōu)先預(yù)測模式列表生成部602從幀內(nèi)預(yù)測模式存儲(chǔ)器601取得相鄰塊的幀內(nèi)預(yù)測模式,生成優(yōu)先預(yù)測模式列表mpmlist,決定優(yōu)先預(yù)測模式列表尺寸mpmlistsize(步驟s1701)。對于優(yōu)先預(yù)測模式列表生成步驟的詳細(xì)情況,將在后面說明。此外,將對象幀內(nèi)預(yù)測模式存儲(chǔ)在幀內(nèi)預(yù)測模式存儲(chǔ)器601中。在本實(shí)施例中,生成優(yōu)先預(yù)測模式列表mpmlist使得優(yōu)先預(yù)測模式列表尺寸mpmlistsize總是為2,在這一點(diǎn)上與第1實(shí)施例不同。
優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算部603及優(yōu)先預(yù)測模式索引計(jì)算部605取得對象預(yù)測模式和優(yōu)先預(yù)測模式列表mpmlist,算出優(yōu)先預(yù)測模式判定標(biāo)志mpmflag和優(yōu)先預(yù)測模式索引mpmindex(步驟s1702),對優(yōu)先預(yù)測模式判定標(biāo)志mpmflag進(jìn)行編碼(步驟s1703)。優(yōu)先預(yù)測模式判定標(biāo)志、優(yōu)先預(yù)測模式索引計(jì)算步驟的詳細(xì)情況與圖7的s702一樣,故省略說明。
優(yōu)先預(yù)測模式判定部609判定優(yōu)先預(yù)測模式判定標(biāo)志mpmflag(步驟s1704)。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為true,則優(yōu)先預(yù)測模式索引編碼部606對優(yōu)先預(yù)測模式索引mpmindex進(jìn)行編碼(步驟s1705),結(jié)束處理。在本實(shí)施例中,總是將優(yōu)先預(yù)測模式列表尺寸mpmlistsize設(shè)定為2,故省略實(shí)施例1的圖7中的優(yōu)先預(yù)測模式列表尺寸mpmlistsize判定步驟(步驟s705)。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為false,則非優(yōu)先預(yù)測模式索引計(jì)算部607算出非優(yōu)先預(yù)測模式索引remmodeindex(步驟s1706),進(jìn)而非優(yōu)先預(yù)測模式索引編碼部608進(jìn)行所算出的非優(yōu)先預(yù)測模式remmodeindex的編碼(步驟s1707)。關(guān)于非優(yōu)先預(yù)測模式索引計(jì)算步驟,與圖7的步驟s707是一樣的,故省略說明。對于非優(yōu)先預(yù)測模式編碼步驟的詳細(xì)情況,將在后面說明。
[優(yōu)先預(yù)測模式列表生成步驟]
參照圖19的流程圖說明圖17的步驟s701的參照幀內(nèi)預(yù)測模式?jīng)Q定步驟的詳細(xì)情況。
優(yōu)先預(yù)測模式列表生成部602從幀內(nèi)預(yù)測模式存儲(chǔ)器601取得相鄰塊的幀內(nèi)預(yù)測模式refmodea和refmodeb,并比較refmodea和refmodeb(步驟s1901)。
若refmodea與refmodeb相等,則設(shè)定mpmlist[0]=refmodea(步驟s1902)。判定refmodea是否為平均值模式(步驟s1903),若refmodea是平均值模式,則設(shè)定mpmlist[1]=0(步驟s1904)。若refmodea非平均值模式,則設(shè)定mpmlist[1]=2(步驟s1905)。如圖2的標(biāo)號201、202所參照的那樣,0表示垂直方向預(yù)測模式、2表示平均值模式。mpmlist[1]必須是與mpmlist[0]不同值的模式。在本實(shí)施例中,當(dāng)refmodea非平均值模式時(shí),將mpmlist[1]設(shè)定成平均值模式,但當(dāng)refmodea為平均值模式時(shí),若對mpmlist[1]設(shè)定平均值模式,則mpmlist[1]與mpmlist[0]將變得相同。對mpmlist[1]設(shè)定的預(yù)測模式的候選必須至少在2個(gè)以上。在本實(shí)施例中,對mpmlist[1]設(shè)定的值是預(yù)先決定的,不因refmodea、refmodeb及編碼過程而變動(dòng),但例如也可以如在步驟s1904中設(shè)定mpmlist[1]=1(水平方向預(yù)測模式)那樣,使預(yù)先決定的值為不同的值。此處所設(shè)定的值優(yōu)選是一般發(fā)生頻率較高的預(yù)測模式。進(jìn)而設(shè)定mpmlistsize=2(步驟s1407),進(jìn)入圖17的步驟s1702。
若refmodea與refmodeb不同,則設(shè)定mpmlist[0]=min(refmodea,refmodeb),mpmlist[1]=max(refmodea,refmodeb)(步驟s1906),進(jìn)而設(shè)定mpmlistsize=2(步驟s1907),進(jìn)入圖17的步驟s1702。
[非優(yōu)先預(yù)測模式索引編碼步驟]
參照圖20的流程圖說明圖17的步驟s1707的非優(yōu)先預(yù)測模式索引編碼步驟的詳細(xì)情況。
非優(yōu)先預(yù)測模式索引編碼部608判定對象塊尺寸(步驟s2001)。
在對象塊為4×4塊時(shí),定義了18模式的幀內(nèi)預(yù)測。在上述的非優(yōu)先預(yù)測模式索引計(jì)算步驟中,優(yōu)先預(yù)測模式的數(shù)量為2,remmodeindex被變換成[0,15]的任一值。用4比特足夠以固定長度來表現(xiàn)remmodeindex,故對remmodeindex進(jìn)行4比特的固定長度編碼(步驟s2002),結(jié)束處理。
在對象塊為8×8塊或16×16塊時(shí),定義了34模式的幀內(nèi)預(yù)測。在上述的非優(yōu)先預(yù)測模式索引計(jì)算步驟中,優(yōu)先預(yù)測模式的數(shù)量為2,故remmodeindex被變換成[0,31]的任一值。用5比特足夠以固定長度表現(xiàn)remmodeindex,故對remmodeindex進(jìn)行5比特的固定長度編碼(步驟s2003),結(jié)束處理。
在第1實(shí)施例中,根據(jù)優(yōu)先預(yù)測模式的數(shù)量,非優(yōu)先預(yù)測模式的數(shù)量會(huì)變動(dòng),故將導(dǎo)致適用非優(yōu)先預(yù)測模式的可變長度編碼所引起的處理復(fù)雜化、或幀內(nèi)預(yù)測模式的候選數(shù)減少所引起的編碼效率下降。在第2實(shí)施例中,保證了優(yōu)先預(yù)測模式的數(shù)量為2,故不會(huì)出現(xiàn)幀內(nèi)預(yù)測模式的候選數(shù)的減少,能總是對非優(yōu)先預(yù)測模式索引進(jìn)行固定長度編碼,能在確保簡便的編碼步驟的情況下,實(shí)現(xiàn)進(jìn)一步的編碼效率提高。
[解碼步驟]
說明本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式的解碼方法的第2實(shí)施例。第2實(shí)施例中的幀內(nèi)預(yù)測模式解碼部803的構(gòu)成與圖9所示的第1實(shí)施例是一樣的,但優(yōu)先預(yù)測模式列表生成部902、優(yōu)先預(yù)測模式索引解碼部904、及非優(yōu)先預(yù)測模式索引解碼部906的詳細(xì)動(dòng)作與第1實(shí)施例是不同的。以下參照圖21的流程圖說明幀內(nèi)預(yù)測模式的解碼步驟。
優(yōu)先預(yù)測模式列表生成部902從幀內(nèi)預(yù)測模式存儲(chǔ)器901取得相鄰塊的幀內(nèi)預(yù)測模式,并生成優(yōu)先預(yù)測模式列表mpmlist,決定優(yōu)先預(yù)測模式列表的尺寸mpmlistsize(步驟s2101)。在第2實(shí)施例中,以優(yōu)先預(yù)測模式列表尺寸mpmlistsize總是為2的方式生成優(yōu)先預(yù)測模式列表mpmlist,在這一點(diǎn)上與第1實(shí)施例不同。優(yōu)先預(yù)測模式列表生成步驟同圖6的優(yōu)先預(yù)測模式列表生成部602中的優(yōu)先預(yù)測模式列表生成步驟一樣,遵從圖19的流程圖所示的步驟,故省略詳細(xì)說明。
優(yōu)先預(yù)測模式判定標(biāo)志解碼部903從編碼序列讀入1比特,解碼優(yōu)先預(yù)測模式判定標(biāo)志mpmflag(步驟s2102),并判定優(yōu)先預(yù)測模式判定標(biāo)志mpmflag(步驟s2103)。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為true,則優(yōu)先預(yù)測模式索引解碼部904從編碼序列再讀入1比特,解碼優(yōu)先預(yù)測模式索引mpmindex(步驟s2104)。進(jìn)而,優(yōu)先預(yù)測模式計(jì)算部905使優(yōu)先預(yù)測模式列表mpmlist的第mpmindex個(gè)要素mpmlist[mpmindex]為對象預(yù)測模式currmodeindex(步驟s2105),結(jié)束處理。在第2實(shí)施例中,將優(yōu)先預(yù)測模式列表尺寸mpmlistsize總是設(shè)定為2,故省略第1實(shí)施例的圖10中的優(yōu)先預(yù)測模式列表尺寸mpmlistsize判定步驟(步驟s1004)。
若優(yōu)先預(yù)測模式判定標(biāo)志mpmflag為false,則非優(yōu)先預(yù)測模式索引解碼部906解碼非優(yōu)先預(yù)測模式索引remmodeindex(步驟s2106),進(jìn)而,非優(yōu)先預(yù)測模式計(jì)算部907基于算出的remmodeindex算出對象預(yù)測模式currmodeindex(步驟s2107)。將對象預(yù)測模式currmodeindex保存在幀內(nèi)預(yù)測模式存儲(chǔ)器901中,結(jié)束處理。關(guān)于非優(yōu)先預(yù)測模式索引的解碼步驟,將在后面說明。關(guān)于對象預(yù)測模式計(jì)算步驟,與圖10的步驟s1009是一樣的,故省略說明。
[非優(yōu)先預(yù)測模式索引解碼步驟]
參照圖22的流程圖說明圖21的步驟s2106的非優(yōu)先預(yù)測模式索引解碼步驟的詳細(xì)情況。
非優(yōu)先預(yù)測模式計(jì)算部907判定對象塊尺寸(步驟s2201)。
在對象塊為4×4塊時(shí),進(jìn)行4比特的固定長度解碼,作為remmodeindex(步驟s2202),結(jié)束非優(yōu)先預(yù)測模式索引解碼步驟,進(jìn)入圖21的步驟s2107。
在對象塊為8×8塊或16×16塊時(shí),進(jìn)行5比特的固定長度解碼,作為remmodeindex(步驟s2203),結(jié)束非優(yōu)先預(yù)測模式索引解碼步驟,進(jìn)入圖21的步驟s2107。
圖24是由本實(shí)施例的編碼裝置輸出、并在解碼裝置中被解釋的編碼流的幀內(nèi)預(yù)測模式的編碼句法。
(第3實(shí)施例)
在第3實(shí)施例中,僅優(yōu)先預(yù)測模式列表生成步驟與第2實(shí)施例不同,故僅說明優(yōu)先預(yù)測模式列表生成步驟,省略其它說明。
[優(yōu)先預(yù)測模式列表生成步驟]
參照圖25的流程圖說明圖17的步驟s701的參照幀內(nèi)預(yù)測模式?jīng)Q定步驟的詳細(xì)情況。
優(yōu)先預(yù)測模式列表生成部602從幀內(nèi)預(yù)測模式存儲(chǔ)器601取得相鄰塊的幀內(nèi)預(yù)測模式refmodea和refmodeb,并比較refmodea和refmodeb(步驟s2501)。
若refmodea與refmodeb相等,則設(shè)定mpmlist[0]=refmodea(步驟s2502)。判定refmodea是否為平均值模式(步驟s2503),若refmodea為平均值模式,則設(shè)定mpmlist[1]=0(步驟s2504)。若refmodea為平均值模式,通過參照表來對mpmlist[1]設(shè)定與refmodea在預(yù)測方向上相鄰的預(yù)測模式中的模式索引較小的預(yù)測模式(步驟s2505)。圖26是針對圖2的標(biāo)號201的幀內(nèi)預(yù)測模式的、相鄰預(yù)測模式參照表的一例。與預(yù)測模式0相鄰的預(yù)測模式為11和12,將其中值較小的11設(shè)定為預(yù)測模式0的相鄰模式。進(jìn)而設(shè)定mpmlistsize=2(步驟s2507),進(jìn)入圖17的步驟s1702。
若refmodea與refmodeb不同,則設(shè)定mpmlist[0]=min(refmodea,refmodeb),mpmlist[1]=max(refmodea,refmodeb)(步驟s2506),進(jìn)而設(shè)定mpmlistsize=2(步驟s2507),進(jìn)入圖17的步驟s1702。
在第3實(shí)施例中,refmodea與refmodeb相等、且并非平均值模式時(shí)的mpmlist[1]的設(shè)定方法與第2實(shí)施例不同。在第2實(shí)施例中,在refmodea與refmodeb相等,且并非平均值模式時(shí),對mpmlist[1]唯一地分配模式0。在第3實(shí)施例中,在refmodea與refmodeb相等、且并非平均值模式時(shí),對mpmlist[1]分配與refmodea相鄰的模式。由于期待與refmodea相鄰的模式的發(fā)生頻率較高,故優(yōu)先預(yù)測模式列表生成步驟的運(yùn)算量與第2實(shí)施例相比會(huì)增加,但能生成更有效的優(yōu)先預(yù)測模式列表,能提高編碼效率。
通過以上所述的第2和第3實(shí)施例,具有以下這樣的作用效果。
(1)在利用2個(gè)優(yōu)先預(yù)測模式的編碼構(gòu)成中,在參照預(yù)測模式相同的情況下,也將不同的預(yù)測模式加入優(yōu)先預(yù)測模式,從而實(shí)現(xiàn)優(yōu)先預(yù)測模式總為2個(gè)(固定)那樣的編碼構(gòu)成。由此,能消除依賴于優(yōu)先預(yù)測模式的數(shù)量的處理的分支,能使處理簡略化、削減電路規(guī)模。
(2)在參照預(yù)測模式相同基礎(chǔ)上的、不同的預(yù)測模式下,適用不依賴于編碼處理過程的預(yù)先設(shè)定的模式。作為追加候選,采用水平方向預(yù)測/垂直方向預(yù)測/平均值預(yù)測等平均的發(fā)生頻率較高的預(yù)測模式。由此,能低負(fù)荷地實(shí)現(xiàn)將不同的預(yù)測模式設(shè)定為優(yōu)先預(yù)測模式的處理,并能平均地確保優(yōu)良的預(yù)測精度。
(3)對于參照預(yù)測模式相同基礎(chǔ)上的、不同的預(yù)測模式,也能采用與參照預(yù)測模式相鄰的預(yù)測模式。與(2)的情況相比,負(fù)荷會(huì)增加,但能將更優(yōu)秀的預(yù)測模式設(shè)定為優(yōu)先預(yù)測模式,能提高編碼效率。
以上所述的實(shí)施方式的圖像編碼裝置和圖像解碼裝置具有以下的作用效果。
(1)從多個(gè)幀內(nèi)預(yù)測模式設(shè)定多個(gè)優(yōu)先預(yù)測模式。與僅用一個(gè)來表現(xiàn)優(yōu)先預(yù)測模式的構(gòu)成相比,用較短的碼語言能表現(xiàn)的優(yōu)先預(yù)測模式的數(shù)量增加,并且能對各優(yōu)先預(yù)測模式分配符合更現(xiàn)實(shí)的概率模型的碼長度,故能削減幀內(nèi)預(yù)測模式的發(fā)生碼量。
(2)對于參照幀內(nèi)預(yù)測模式相同的情況,也默認(rèn)地決定另一個(gè)優(yōu)先預(yù)測模式。不論參照幀內(nèi)預(yù)測模式是否相同,都總能生成固定長度的優(yōu)先幀內(nèi)預(yù)測模式列表,故能消除編碼/解碼處理中的優(yōu)先幀內(nèi)預(yù)測模式列表生成處理的分支,使處理簡略化。進(jìn)而,由于非優(yōu)先幀內(nèi)預(yù)測模式列表為固定長度,故能使編碼/解碼的結(jié)構(gòu)簡單化,能謀求電路規(guī)模的縮小。
(3)對于默認(rèn)地決定的另一個(gè)優(yōu)先預(yù)測模式,采用參照預(yù)測模式、及不依賴于之前的編碼/解碼過程地預(yù)先設(shè)定的幀內(nèi)預(yù)測模式,從而能抑制另一個(gè)優(yōu)先預(yù)測模式計(jì)算所導(dǎo)致的負(fù)荷的增加。對于此處使用的另一個(gè)優(yōu)先預(yù)測模式,采用一般發(fā)生頻率較高的預(yù)測模式、例如垂直方向/水平方向/平均值成分預(yù)測模式,從而能抑制編碼效率的下降。
以上所述的實(shí)施方式的動(dòng)圖像編碼裝置所輸出的動(dòng)圖像的編碼流為能根據(jù)在實(shí)施方式中使用的編碼方法來解碼而具有特定的數(shù)據(jù)格式,與動(dòng)圖像編碼裝置對應(yīng)的動(dòng)圖像解碼裝置能解碼該特定的數(shù)據(jù)格式的編碼流。
為在動(dòng)圖像編碼裝置與動(dòng)圖像解碼裝置之間收發(fā)編碼流而使用有線或無線的網(wǎng)絡(luò)時(shí),可以將編碼流變換成適合通信路徑的傳送方式的數(shù)據(jù)格式來進(jìn)行傳送。此時(shí),設(shè)置將動(dòng)圖像編碼裝置輸出的編碼流變換成適合通信路徑的傳送方式的數(shù)據(jù)格式的編碼數(shù)據(jù)后發(fā)送于網(wǎng)絡(luò)的動(dòng)圖像發(fā)送裝置、和從網(wǎng)絡(luò)接收編碼數(shù)據(jù)后復(fù)原成編碼流、提供給動(dòng)圖像解碼裝置的動(dòng)圖像接收裝置。
動(dòng)圖像發(fā)送裝置包括用于緩存動(dòng)圖像編碼裝置輸出的編碼流的存儲(chǔ)器、和對編碼流進(jìn)行打包的包處理部、以及介由網(wǎng)絡(luò)發(fā)生被打包后的編碼數(shù)據(jù)的發(fā)送部。動(dòng)圖像接收裝置包括介由網(wǎng)絡(luò)接收被打包了的編碼數(shù)據(jù)的接收部、用于緩存所接收到的編碼數(shù)據(jù)的存儲(chǔ)器、以及對編碼數(shù)據(jù)進(jìn)行包處理而生成編碼流后提供給動(dòng)圖像解碼裝置的包處理部。
以上的編碼及解碼的相關(guān)處理當(dāng)然能作為使用了硬件的傳送、存儲(chǔ)、接收裝置來實(shí)現(xiàn),也可以通過存儲(chǔ)于rom(只讀存儲(chǔ)器)或閃速存儲(chǔ)器等中的固件、計(jì)算機(jī)等的軟件來實(shí)現(xiàn)。能將該固件程序、軟件程序記錄到計(jì)算機(jī)等可讀取的記錄介質(zhì)中來提供,也能通過有線或無線的網(wǎng)絡(luò)從服務(wù)器提供,還能作為地面波或衛(wèi)星數(shù)字廣播的數(shù)據(jù)廣播來提供。
以上基于實(shí)施方式說明了本發(fā)明。實(shí)施方式僅是例示,本領(lǐng)域技術(shù)人員當(dāng)理解其各構(gòu)成要素和各處理過程的組合可以有各種各樣的變形例,并且這樣的變形例也包含在本發(fā)明的范圍內(nèi)。
〔標(biāo)號說明〕
501減法部、502正交變換.量化部、503逆量化.逆變換部、504加法部、505解碼圖像存儲(chǔ)器、506幀內(nèi)預(yù)測部、507紋理信息編碼部、508幀內(nèi)預(yù)測模式編碼部、509幀內(nèi)預(yù)測模式選擇部、601幀內(nèi)預(yù)測模式存儲(chǔ)器、602優(yōu)先預(yù)測模式列表生成部、603優(yōu)先預(yù)測模式判定標(biāo)志計(jì)算部、604優(yōu)先預(yù)測模式判定標(biāo)志編碼部、605優(yōu)先預(yù)測模式索引計(jì)算部、606優(yōu)先預(yù)測模式索引編碼部、607非優(yōu)先預(yù)測模式索引計(jì)算部、608非優(yōu)先預(yù)測模式索引編碼部、609優(yōu)先預(yù)測模式判定部、801紋理信息解碼部、802逆量化.逆變換部、803幀內(nèi)預(yù)測模式解碼部、804加法部、805解碼圖像存儲(chǔ)器、806幀內(nèi)預(yù)測部、901幀內(nèi)預(yù)測模式存儲(chǔ)器、902優(yōu)先預(yù)測模式列表生成部、903優(yōu)先預(yù)測模式判定標(biāo)志解碼部、904優(yōu)先預(yù)測模式索引解碼部、905優(yōu)先預(yù)測模式計(jì)算部、906非優(yōu)先預(yù)測模式索引解碼部、907非優(yōu)先預(yù)測模式計(jì)算部。
〔工業(yè)可利用性〕
本發(fā)明能適用于圖像編碼及解碼技術(shù),特別適用于畫面內(nèi)編碼及解碼技術(shù)。