圖像編碼裝置及圖像編碼方法
【專利摘要】本發(fā)明提供一種圖像編碼裝置及圖像編碼方法。圖像分析器按照編碼單位將輸入圖像劃分為第一塊,并且針對(duì)各第一塊生成與所述輸入圖像的幀內(nèi)預(yù)測(cè)相關(guān)聯(lián)的分析信息。幀內(nèi)預(yù)測(cè)器按照預(yù)測(cè)單位將所述輸入圖像劃分為第二塊,并且進(jìn)行所述幀內(nèi)預(yù)測(cè)以生成各第二塊的預(yù)測(cè)殘差。CODEC對(duì)所述第二塊的所述預(yù)測(cè)殘差或直流分量進(jìn)行編碼。編碼控制器針對(duì)各第一塊基于所述分析信息來估計(jì)所述CODEC的編碼結(jié)果,并且基于所述估計(jì)來控制所述幀內(nèi)預(yù)測(cè)器及所述CODEC。
【專利說明】圖像編碼裝置及圖像編碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于對(duì)運(yùn)動(dòng)圖像編碼的圖像編碼裝置及圖像編碼方法。
【背景技術(shù)】
[0002]數(shù)字技術(shù)的發(fā)展使利用數(shù)字照相機(jī)或數(shù)字?jǐn)z像機(jī)的數(shù)字運(yùn)動(dòng)圖像拍攝變得普及。一般對(duì)數(shù)字運(yùn)動(dòng)圖像進(jìn)行壓縮(編碼)以便有效地記錄在由半導(dǎo)體存儲(chǔ)器代表的記錄介質(zhì)中。H.264/MPEG-4AVC (下文中稱為“H.264”)廣泛用作運(yùn)動(dòng)圖像編碼方法。
[0003]近來開始了針對(duì)繼H.264后更為有效的編碼方法的國(guó)際標(biāo)準(zhǔn)化活動(dòng),并且在ISO/IEC與ITU-T之間設(shè)立了 JCT-VC (視頻編碼聯(lián)合協(xié)作組,Joint Collaborative Team onVideo Coding)。JCT-VC促進(jìn)了高效視頻編碼(HEVC)的標(biāo)準(zhǔn)化。
[0004]為了提高編碼效率,H.264和HEVC采用了用于利用幀內(nèi)像素間的相關(guān)性來進(jìn)行幀內(nèi)預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼、以及傳統(tǒng)上使用的利用基于運(yùn)動(dòng)矢量的運(yùn)動(dòng)預(yù)測(cè)的幀間預(yù)測(cè)編碼。
[0005]還已知自適應(yīng)量化控制技術(shù),該技術(shù)提取圖像特征信息并且自適應(yīng)地改變幀內(nèi)的量化參數(shù),以改善在壓縮視頻的比特率受限的情況下的主觀圖像質(zhì)量。
[0006]在H.264中,存在三種類型的作為幀內(nèi)預(yù)測(cè)單位的預(yù)測(cè)塊大小。各預(yù)測(cè)塊大小最大具有九種預(yù)測(cè)模式。在HEVC中,幀內(nèi)預(yù)測(cè)中的可選擇預(yù)測(cè)模式的數(shù)量以及預(yù)測(cè)塊大小的數(shù)量與H.264相比有所增加。也就是說,在編碼時(shí),有必要搜索并決定眾多預(yù)測(cè)模式中要用于編碼的預(yù)測(cè)模式以及預(yù)測(cè)塊大小。
[0007]然而,在實(shí)時(shí)編碼視頻的圖像編碼裝置中,如果在許多候選中全面搜索預(yù)測(cè)模式和預(yù)測(cè)塊大小,則增加電力消耗。此外,在圖像編碼裝置中進(jìn)行提取圖像特征信息的上述處理時(shí),電力消耗一般都會(huì)增加。
[0008]日本特開2008-154060號(hào)公報(bào)公開了一種技術(shù),該技術(shù)在幀內(nèi)預(yù)測(cè)或運(yùn)動(dòng)預(yù)測(cè)后評(píng)價(jià)預(yù)測(cè)殘差(prediction residual),并且在預(yù)測(cè)殘差的統(tǒng)計(jì)值等于或小于閾值的情況下,省略正交變換處理以削減電力消耗。然而,在該【背景技術(shù)】公開的技術(shù)中,由于能夠省略的處理限于正交變換處理和量化處理,因此無法削減伴隨大電力消耗的幀內(nèi)預(yù)測(cè)以及利用運(yùn)動(dòng)矢量搜索的運(yùn)動(dòng)預(yù)測(cè)所消耗的電力。此外,該【背景技術(shù)】公開的技術(shù)無法削減提取圖像特征信息所消耗的電力。
【發(fā)明內(nèi)容】
[0009]根據(jù)本發(fā)明的一方面,提供了一種用于進(jìn)行圖像數(shù)據(jù)的預(yù)測(cè)編碼的圖像編碼裝置,所述圖像編碼裝置包括:分析單元,其被構(gòu)造為按照編碼單位將輸入圖像劃分為第一塊,并且針對(duì)各第一塊生成與所述輸入圖像的幀內(nèi)預(yù)測(cè)相關(guān)聯(lián)的分析信息;第一預(yù)測(cè)單元,其被構(gòu)造為按照預(yù)測(cè)單位將所述輸入圖像劃分為第二塊,并且進(jìn)行所述幀內(nèi)預(yù)測(cè)以生成各第二塊的預(yù)測(cè)殘差;編碼單元,其被構(gòu)造為對(duì)所述第二塊的所述預(yù)測(cè)殘差或直流分量進(jìn)行編碼;以及控制單元,其被構(gòu)造為針對(duì)各第一塊、基于所述分析信息來估計(jì)所述編碼單元的編碼結(jié)果,并且基于所述估計(jì)來控制所述第一預(yù)測(cè)單元和所述編碼單元。
[0010]根據(jù)本發(fā)明的另一方面,提供了一種進(jìn)行圖像數(shù)據(jù)的預(yù)測(cè)編碼的圖像編碼方法,所述圖像編碼方法包括以下步驟:按照編碼單位將輸入圖像劃分為第一塊;針對(duì)各第一塊生成與所述輸入圖像的幀內(nèi)預(yù)測(cè)相關(guān)聯(lián)的分析信息;按照預(yù)測(cè)單位將所述輸入圖像劃分為第二塊;進(jìn)行所述幀內(nèi)預(yù)測(cè)以生成各第二塊的預(yù)測(cè)殘差;對(duì)所述第二塊的所述預(yù)測(cè)殘差或直流分量進(jìn)行編碼;針對(duì)各第一塊、基于所述分析信息來估計(jì)在所述編碼步驟中的編碼結(jié)果;以及基于所述估計(jì)來控制所述幀內(nèi)預(yù)測(cè)和所述編碼。
[0011]根據(jù)這些方面,能夠削減圖像編碼裝置的電力消耗。
[0012]通過以下參照附圖對(duì)示例性實(shí)施例的描述,本發(fā)明的其他特征將變得清楚。
【專利附圖】
【附圖說明】
[0013]圖1是用于說明根據(jù)第一實(shí)施例的圖像編碼裝置的配置的框圖。
[0014]圖2是用于說明CODEC的配置的框圖。
[0015]圖3是用于說明圖像分析器的詳細(xì)配置的框圖。
[0016]圖4是用于說明針對(duì)16X 16像素的各塊的簡(jiǎn)單幀內(nèi)預(yù)測(cè)的圖。
[0017]圖5A至圖5C是示出幀內(nèi)預(yù)測(cè)器支持的預(yù)測(cè)模式的示例的圖。
[0018]圖6是示出被劃分為各自包括4X4像素的16個(gè)子塊的16X16像素的塊以及所述子塊的索引的圖。
[0019]圖7是用于說明通過幀內(nèi)預(yù)測(cè)器的幀內(nèi)預(yù)測(cè)以及傳送到編碼控制器的輸入幀的分析信息的時(shí)序圖。
[0020]圖8是示出根據(jù)由DC預(yù)測(cè)模式中的預(yù)測(cè)殘差獲得的分析信息來增加/減少賦予各圖像的默認(rèn)量化參數(shù)的算法的圖。
[0021]圖9是示出估計(jì)編碼結(jié)果的算法的圖。
[0022]圖1OA至圖1OC是用于說明圖像分析器和編碼器的編碼處理的流程圖。
[0023]圖11是針對(duì)子塊的預(yù)測(cè)編碼及局部解碼的流程圖。
[0024]圖12A至圖12C是用于說明塊大小擴(kuò)大的圖。
[0025]圖13是示出通過HEVC的DC預(yù)測(cè)模式中的濾波處理生成的參照像素組的圖。
[0026]圖14是示出根據(jù)第三實(shí)施例的圖像分析器的詳細(xì)配置的框圖。
[0027]圖15是用于說明根據(jù)第四實(shí)施例的圖像編碼裝置的配置的框圖。
[0028]圖16A至圖16D是用于說明圖像分析器和編碼器的編碼處理的流程圖。
[0029]圖17是用于說明幀間預(yù)測(cè)編碼的流程圖。
【具體實(shí)施方式】
[0030]現(xiàn)將參照附圖來詳細(xì)描述根據(jù)本發(fā)明的各實(shí)施例的圖像編碼裝置及圖像編碼方法。注意,以下將說明其中針對(duì)包括16X16像素(B卩,水平方向上16像素,垂直方向上16像素)的各塊進(jìn)行編碼的示例。此外,將描述其中通過利用幀內(nèi)預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼來對(duì)輸A圖像編碼的不例。
[0031]第一實(shí)施例
[0032][裝置的配置][0033]將參照?qǐng)D1的框圖來描述根據(jù)第一實(shí)施例的圖像編碼裝置的配置。圖像編碼裝置包括圖像分析器101和編碼器102,如圖1中所示。
[0034]在編碼器102中,編碼控制器103在編碼處理開始前從裝置外接收針對(duì)編碼目標(biāo)幀(幀圖像)的默認(rèn)量化參數(shù)?;谀繕?biāo)碼量以及作為就到前一幀為止的編碼的結(jié)果的生成碼量來在裝置外決定默認(rèn)量化參數(shù)。編碼控制器103利用默認(rèn)量化參數(shù)為參照來進(jìn)行稍后描述的自適應(yīng)量化控制,并且將要在實(shí)際量化中使用的量化參數(shù)傳送到編碼器/解碼器(CODEC) 105。
[0035]編碼控制器103還控制,以例如設(shè)置進(jìn)行編碼器102的內(nèi)部處理的幀內(nèi)預(yù)測(cè)器104、C0DEC105、復(fù)用器(MUX) 106以及幀內(nèi)補(bǔ)償器107的參數(shù),并且指示開始操作。編碼控制器103還進(jìn)行稍后描述的編碼結(jié)果估計(jì)、編碼塊圖案生成、以及編碼塊圖案的熵編碼。
[0036]編碼處理開始時(shí),幀內(nèi)預(yù)測(cè)器104接收編碼目標(biāo)幀(幀圖像),將輸入幀劃分為各自具有4X4像素的預(yù)定塊大小(預(yù)測(cè)單位)的圖像塊(預(yù)測(cè)目標(biāo)塊/第二塊),并且針對(duì)各預(yù)測(cè)目標(biāo)塊搜索預(yù)測(cè)模式。幀內(nèi)預(yù)測(cè)器104從用于幀內(nèi)預(yù)測(cè)的存儲(chǔ)器108中讀出鄰接塊的解碼像素。幀內(nèi)預(yù)測(cè)器104生成作為對(duì)應(yīng)于搜索目標(biāo)的預(yù)測(cè)模式的參照像素組的參照塊,計(jì)算預(yù)測(cè)目標(biāo)塊與參照塊之間的預(yù)測(cè)殘差(差值),并且計(jì)算預(yù)測(cè)殘差的評(píng)價(jià)值。
[0037]為了計(jì)算評(píng)價(jià)值,使用作為通過將預(yù)測(cè)目標(biāo)塊中的表現(xiàn)為絕對(duì)值的預(yù)測(cè)殘差合計(jì)而獲得的值的SAD (絕對(duì)差的和),或者稍后描述的活性(activity)。幀內(nèi)預(yù)測(cè)器104將使評(píng)價(jià)值最小化的預(yù)測(cè)模式?jīng)Q定作為最小生成碼量的預(yù)測(cè)模式。幀內(nèi)預(yù)測(cè)器104將代表決定的預(yù)測(cè)模式的信息輸出到MUX106和幀內(nèi)補(bǔ)償器107,并且將利用預(yù)測(cè)模式生成的預(yù)測(cè)殘差輸出到C0DEC105。
[0038]C0DEC105進(jìn)行從幀內(nèi)預(yù)測(cè)器104輸出的預(yù)測(cè)殘差的編碼處理和局部解碼處理。注意,盡管稍后描述細(xì)節(jié),但通過預(yù)測(cè)殘差的正交變換一量化一熵編碼來進(jìn)行“預(yù)測(cè)殘差編碼”,并且通過量化值的逆量化一逆正交變換來進(jìn)行“局部解碼”。
[0039]MUX106輸出編碼流,在該編碼流中,從C0DEC105輸出的編碼數(shù)據(jù)、從幀內(nèi)預(yù)測(cè)器104輸出的預(yù)測(cè)模式、以及從編碼控制器103輸出的熵編碼的塊圖案被復(fù)用。
[0040]幀內(nèi)補(bǔ)償器107將對(duì)應(yīng)于預(yù)測(cè)模式的參照像素值與通過C0DEC105局部解碼的預(yù)測(cè)殘差(下文中稱為“解碼預(yù)測(cè)殘差”)相加(補(bǔ)償),并且將經(jīng)歷了局部解碼的像素(下文中稱為“局部解碼像素”)記錄到用于幀內(nèi)預(yù)測(cè)的存儲(chǔ)器108中。使用存儲(chǔ)器108中記錄的局部解碼像素來生成要用于后續(xù)塊的幀內(nèi)預(yù)測(cè)的參照塊。
[0041].預(yù)測(cè)殘差編碼器/局部解碼器
[0042]將參照?qǐng)D2的框圖來描述C0DEC105的配置。
[0043]參照?qǐng)D2,正交變換單元201正交變換針對(duì)具有預(yù)定變換塊大小4X4像素的各變換塊的預(yù)測(cè)殘差,并且將正交變換系數(shù)輸出到量化單元202。量化單元202基于從編碼控制器103輸入的量化參數(shù)量化正交變換系數(shù),并且將量化的正交變換系數(shù)(下文稱為“量化值”)輸出到熵編碼單元203。
[0044]熵編碼單元203將通過對(duì)量化值熵編碼獲得的編碼數(shù)據(jù)輸出到MUX106,并且針對(duì)各變換塊將代表變換塊中的全部量化值是否為O的編碼結(jié)果傳送到編碼控制器103。
[0045]在下文中,代表變換塊大小中的全部量化值為O的編碼結(jié)果將被定義為“未編碼”(Not Coded),代表至少一個(gè)量化值不為O的編碼結(jié)果將被定義為“已編碼”(Coded)。此外,代表變換塊或稍后描述的子塊(其被合并為各16X16像素塊)的編碼結(jié)果的信息將被定義為“編碼塊圖案”。
[0046]編碼結(jié)果為“未編碼”的變換塊可以僅利用稍后描述的編碼塊圖案來被解碼。因此,熵編碼單元203不將變換塊的預(yù)測(cè)殘差的編碼數(shù)據(jù)輸出到MUX106。
[0047]注意,可以僅對(duì)變換塊中除了直流分量系數(shù)(下文中稱為“DC系數(shù)”)以外的全部交流分量系數(shù)(下文中稱為“AC系數(shù)”)定義編碼結(jié)果。當(dāng)僅對(duì)AC系數(shù)定義編碼結(jié)果時(shí),即使“未編碼”,DC系數(shù)可以被熵編碼以生成編碼數(shù)據(jù)。在以下描述中,假設(shè)針對(duì)AC系數(shù)定義編碼結(jié)果。
[0048]逆量化單元204對(duì)量化值逆量化,并且將通過逆量化獲得的正交變換系數(shù)輸出到逆正交變換單元205。逆正交變換單元205針對(duì)各變換塊將通過正交變換系數(shù)的逆正交變換獲得的解碼預(yù)測(cè)殘差輸出到幀內(nèi)補(bǔ)償器107。
[0049].圖像分析器
[0050] 如上所述, 幀內(nèi)預(yù)測(cè)以及預(yù)測(cè)殘差編碼包括許多處理并且消耗大量電力。在第一實(shí)施例中,為了解決該問題,使用通過圖1所示的圖像分析器101計(jì)算的分析信息來削減幀內(nèi)預(yù)測(cè)及預(yù)測(cè)殘差編碼的電力消耗。將參照?qǐng)D3的框圖來描述圖像分析器101的詳細(xì)配置。
[0051]幀內(nèi)預(yù)測(cè)器301將輸入幀劃分為各自具有16X16像素的編碼單位的圖像塊(第一塊),并且進(jìn)行簡(jiǎn)單的幀內(nèi)預(yù)測(cè)。即,幀內(nèi)預(yù)測(cè)器301僅具有數(shù)量上小于幀內(nèi)預(yù)測(cè)器104中提供的預(yù)測(cè)模式,并且不需要復(fù)用器來生成參照塊。將參照?qǐng)D4來說明針對(duì)16X16像素的各塊的簡(jiǎn)單幀內(nèi)預(yù)測(cè)。
[0052]幀內(nèi)預(yù)測(cè)器301從位于塊A的右邊緣的局部解碼像素ρ[-1,0]至p[_l,15]以及從位于塊B的下邊緣的局部解碼像素ρ[0,-1]至p[15,-l]生成要用于預(yù)測(cè)目標(biāo)圖像塊X的幀內(nèi)預(yù)測(cè)的參照塊。
[0053]圖5A至圖5C示出了幀內(nèi)預(yù)測(cè)器301支持的預(yù)測(cè)模式的示例。注意,幀內(nèi)預(yù)測(cè)器301僅需要支持圖5A至圖5C中所示的預(yù)測(cè)模式的至少一者。圖5A示出了直流預(yù)測(cè)模式(下文中稱為“DC預(yù)測(cè)模式”),其中根據(jù)以下等式(I)利用圖4中所示的塊A和塊B的局部解碼像素來生成參照塊。
[0054]pred[x, y] = (Σyρ[-1, y] + Σχρ[χ, -1]+16)/32 …(I)
[0055]這里X (O ≤ X ≤ 15)是代表16X 16像素塊中的水平位置的變量,y(0 ^ y ^ 15)是代表16X16像素塊中的垂直位置的變量,pred[x,y]是16X 16像素參照塊中的像素的值。
[0056]圖5B示出了垂直預(yù)測(cè)模式,其中根據(jù)以下等式(2)利用塊B的局部解碼像素來生成參照塊。
[0057]pred[x, y]=p[x, -1]...(2)
[0058]圖5C示出了水平預(yù)測(cè)模式,其中根據(jù)以下等式(3)利用塊A的局部解碼像素來生成參照塊。
[0059]pred[x, y]=p[-l, y]...(3)
[0060]幀內(nèi)預(yù)測(cè)器301將位于其中完成幀內(nèi)預(yù)測(cè)的圖像塊的右邊緣及下邊緣的像素記錄在用于幀內(nèi)預(yù)測(cè)的存儲(chǔ)器302中,以生成用于后續(xù)圖像塊的幀內(nèi)預(yù)測(cè)的參照塊。幀內(nèi)預(yù)測(cè)器301計(jì)算圖像塊與參照塊之間的預(yù)測(cè)殘差(差分)作為預(yù)測(cè)殘差塊,并且將預(yù)測(cè)殘差塊傳送到活性計(jì)算器303、梯度確定器304以及最大殘差計(jì)算器305。
[0061]活性計(jì)算器303將預(yù)測(cè)殘差塊e [x, y]劃分為各自包括4X4像素的預(yù)測(cè)殘差子塊eSUB[i,x,y],并且針對(duì)各子塊計(jì)算活性actSUB[i]。索引i(l≤i≤15)指示預(yù)測(cè)殘差塊中的各子塊。圖6示出被劃分為各自包括4X4像素的16個(gè)子塊的16X16像素的塊以及所述子塊的索引。
[0062]活性計(jì)算器303計(jì)算子塊中的預(yù)測(cè)殘差的平均值actAVE[i]。在子塊中對(duì)計(jì)算出的平均值actAVE[i]與預(yù)測(cè)殘差eSUB[i,x,y]之間的絕對(duì)差值進(jìn)行合計(jì),和被定義為子塊的活性actSUB[i],由以下等式(4)給出。
[0063]actSUB[i] = XiZxZyabs(eSUB[i, x, y]-actAVE[i])...(4)
[0064]這里,O≤i≤15,0≤X≤3,0≤y≤3,abs()是用于獲得絕對(duì)值的函數(shù)。
[0065]梯度確定器304在不將16X 16像素的各預(yù)測(cè)殘差塊劃分為子塊的情況下針對(duì)其計(jì)算梯度信息gradBUi。使用等式(5)來計(jì)算垂直方向上的梯度gradv。通過對(duì)位于預(yù)測(cè)殘差塊的上邊緣的像素的值與位于該塊的下邊緣的像素的值之間的差分絕對(duì)值合計(jì)獲得的結(jié)果是垂直方向上的梯度gradv。
[0066]gradv= Σ xabs (e [x, 15] -e [x, 0])...(5)
[0067]這里0≤X≤15。
[0068]使用等式(6)來計(jì)算水平方向上的梯度gradH。通過對(duì)位于預(yù)測(cè)殘差塊的左邊緣的像素的值與位于該塊的右邊緣的像素的值之間的差分絕對(duì)值合計(jì)獲得的結(jié)果是水平方向上的梯度gradH。
[0069]gradH=Xyabs(e[15, y]-e[0, y])…(6)
[0070]這里O ≤ 15。
[0071]在計(jì)算垂直方向上的梯度gradv與水平方向上的梯度gradH之后,梯度確定器304將它們進(jìn)行比較,并且輸出較大值作為預(yù)測(cè)殘差塊的梯度值gradM。
[0072]gradBLK=max (gradv, gradH)...(7)
[0073]這里max ()是用于輸出較大值的函數(shù)。
[0074]最大殘差計(jì)算器305將16X16像素的預(yù)測(cè)殘差塊劃分為各自包括4X4像素的子塊,并且輸出子塊中的預(yù)測(cè)殘差的最大絕對(duì)值作為最大殘差maxKES[i]。
[0075]MUX306時(shí)分復(fù)用活性信息actSUB[i]、梯度信息gradBLK、以及最大殘差maxKES[i]?;钚孕畔ctSUB[i],、梯度信息gradM、以及最大殘差maxKES [i]統(tǒng)稱為“分析信息”。MUX306經(jīng)由直接連接圖像分析器101和編碼控制器103的直接總線將輸入幀的分析信息傳送到編碼控制器103。
[0076]將參照?qǐng)D7的時(shí)序圖來描述通過幀內(nèi)預(yù)測(cè)器301的幀內(nèi)預(yù)測(cè)以及傳送到編碼控制器103的輸入幀的分析信息。如圖7中所示,當(dāng)幀內(nèi)預(yù)測(cè)器301進(jìn)行DC預(yù)測(cè)模式時(shí),預(yù)測(cè)殘差塊的分析信息被傳送到編碼控制器103。之后,針對(duì)垂直預(yù)測(cè)模式的分析信息以及針對(duì)水平預(yù)測(cè)模式的分析信息被順序傳送到編碼控制器103。
[0077]注意,分析信息傳送方法不限于利用直接總線的時(shí)分復(fù)用。例如,各分析信息可以被記錄在圖像分析器101的寄存器中,編碼控制器103可以經(jīng)由寄存器總線從寄存器中讀出分析信息。在這種情況下,MUX306和編碼控制器103需要通過寄存器總線相互連接。
[0078].編碼控制器[0079]編碼控制器103根據(jù)從圖像分析器101接收的分析信息進(jìn)行輸入幀中的自適應(yīng)量化控制以及編碼結(jié)果估計(jì)。首先將說明自適應(yīng)量化控制。
[0080]自適應(yīng)量化控制
[0081 ] 在自適應(yīng)量化控制中,根據(jù)分析信息中的、由DC預(yù)測(cè)模式中的預(yù)測(cè)殘差計(jì)算出的活性信息actslB[i]和梯度信息gradBUi來增加/減少量化參數(shù),由此改善主觀圖像質(zhì)量。
[0082]在DC預(yù)測(cè)模式中,關(guān)于輸入圖像的空間頻率或圖像特征的信息未丟失。DC預(yù)測(cè)模式中的輸入圖像和預(yù)測(cè)殘差具有相同的圖像特征信息。由預(yù)測(cè)殘差計(jì)算的統(tǒng)計(jì)信息作為圖像特征信息可用于自適應(yīng)量化控制。另一方面,在水平預(yù)測(cè)模式和垂直預(yù)測(cè)模式中,參照塊本身具有空間頻率特性。因此,預(yù)測(cè)殘差中的圖像特征信息可能改變,并且可能進(jìn)行不適當(dāng)?shù)淖赃m應(yīng)量化控制。因此,使用由DC預(yù)測(cè)模式中的預(yù)測(cè)殘差計(jì)算出的分析信息來控制量化參數(shù)。
[0083]考慮到人類視覺特性,在活性高的區(qū)域中量化引起的圖像質(zhì)量的劣化主觀上不明顯。另一方面,在活性低的區(qū)域(平坦區(qū)域)中,量化引起的圖像質(zhì)量劣化明顯。此外,在幀中具有均勻梯度的區(qū)域中,量化引起的圖像質(zhì)量的劣化明顯,與活性低的區(qū)域中一樣。
[0084]圖8示出根據(jù)由DC預(yù)測(cè)模式中的預(yù)測(cè)殘差獲得的分析信息來增加/減少賦予各圖像的默認(rèn)量化參數(shù)的算法。參照?qǐng)D8,actSUM是各預(yù)測(cè)殘差子塊的活性actSUB[0]至actSUB[15]的和,actthl和actth2 (actthl〈actth2)是用作活性的和actSUM的閾值的固定值。類似地,gradthl和gradth2 (gradthl〈gradth2)是用作梯度信息gradBLK的閾值的固定值。
[0085]如上所述,由于在活性“高”的區(qū)域中圖像質(zhì)量的劣化不明顯,因此編碼控制器103增加量化參數(shù)以減少碼量(圖8所示的示例中“+4”)。相反,由于在活性“低”的區(qū)域中對(duì)于主觀圖像質(zhì)量的影響大,因此編碼控制器103減少量化參數(shù)(圖8所示的示例中“_4”),由此盡管碼量增加了,但能夠抑制圖像質(zhì)量的劣化。
[0086]在活性為“中”的區(qū)域中,編碼控制器103根據(jù)梯度信息gradBUi控制量化參數(shù)。即,在梯度小的區(qū)域中,增加量化參數(shù)(在圖8所示的示例中“+2”)。在梯度大的區(qū)域中,減少量化參數(shù)(在圖8所示的示例中“_2”)。在活性和梯度均為中的區(qū)域中,不改變量化參數(shù)(即 m “±0”)。
[0087]如上所述,編碼控制器103根據(jù)人類視覺特性進(jìn)行自適應(yīng)量化控制,由此改善了在壓縮視頻的比特率受限的情況下的主觀圖像質(zhì)量。
[0088]編碼結(jié)果的估計(jì)
[0089]接著將描述編碼結(jié)果的估計(jì)。編碼控制器103基于分析信息和量化參數(shù)來估計(jì)編碼結(jié)果是“已編碼”還是“未編碼”。
[0090]圖9示出了估計(jì)編碼結(jié)果的算法。編碼結(jié)果估計(jì)算法使用包括4X4像素的預(yù)測(cè)殘差子塊的活性actSUB[i]以及最大殘差maxKES[i]作為輸入。
[0091]參照?qǐng)D1actqp是根據(jù)量化參數(shù)來決定的活性actslB[i]的閾值,reS(lp是根據(jù)量化參數(shù)來決定的最大殘差maxKES[i]的閾值。如圖9中所示,編碼控制器103將活性actSUB[i]和最大殘差maxKES[i]與通過量化參數(shù)決定的閾值相比較,并且估計(jì)編碼結(jié)果是“已編碼”還是“未編碼”。
[0092]在活性actSUB[i]小的預(yù)測(cè)殘差子塊中,無需實(shí)際正交變換或量化,編碼結(jié)果可以被估計(jì)為“未編碼”。如果幀中僅一個(gè)像素具有大預(yù)測(cè)殘差,則即使預(yù)測(cè)殘差子塊的活性actSUB[i]相對(duì)小,由于通過正交變換產(chǎn)生的大正交變換系數(shù),編碼結(jié)果可能為“已編碼”??紤]到局部發(fā)生大預(yù)測(cè)殘差的這種情況,使用活性actslB[i]和最大殘差maxKES[i] 二者來估計(jì)編碼結(jié)果,提高了編碼結(jié)果估計(jì)精度。
[0093]如果量化參數(shù)大,則具有較大值的正交變換系數(shù)的數(shù)量為O。因此,量化參數(shù)越大,閾值aCtqp和reS(lp設(shè)置得越大,由此改善了編碼結(jié)果估計(jì)結(jié)果。
[0094][編碼處理]
[0095]將參照?qǐng)D1OA至圖1OC的流程圖來描述圖像分析器101和編碼器102的編碼處理。注意,圖1OA至圖1OC例示了編碼目標(biāo)的一個(gè)幀的編碼處理。
[0096]編碼控制器103針對(duì)輸入幀輸入默認(rèn)量化參數(shù)(S101)?;谏鲜龅难b置外的碼量控制來決定默認(rèn)量化參數(shù)。
[0097]接著,圖像分析器101從輸入幀獲取16X16像素的塊(S102)。幀內(nèi)預(yù)測(cè)器301利用DC預(yù)測(cè)模式/垂直預(yù)測(cè)模式/水平預(yù)測(cè)模式來進(jìn)行簡(jiǎn)單的幀內(nèi)預(yù)測(cè),并且計(jì)算該16 X 16像素的塊的預(yù)測(cè)殘差塊(S103)?;钚杂?jì)算器303、梯度確定器304以及最大殘差計(jì)算器305計(jì)算各預(yù)測(cè)模式的預(yù)測(cè)殘差塊的分析信息。MUX306將輸入幀的分析信息傳送到編碼控制器103 (S104)。
[0098]編碼控制器103利用DC預(yù)測(cè)模式中的分析信息來進(jìn)行圖8所示的自適應(yīng)量化控制,以提高主觀圖像質(zhì)量(S105)。此外,針對(duì)DC預(yù)測(cè)模式/垂直預(yù)測(cè)模式/水平預(yù)測(cè)模式,針對(duì)圖9中所示的各預(yù)測(cè)殘差子塊估計(jì)編碼結(jié)果,并且確定其中“未編碼”的子塊的數(shù)量Nn。被最大化的預(yù)測(cè)模式(S106)。在步驟S106中確定的預(yù)測(cè)模式在下文中稱為確定的預(yù)測(cè)模式。
[0099]幀內(nèi)預(yù)測(cè)器104從輸入幀獲取16 X 16像素的塊(S107)。編碼控制器103將在確定的預(yù)測(cè)模式中被估計(jì)為“未編碼”的子塊的數(shù)量Nic與預(yù)定閾值Nth比較(S108)。注意,使用閾值Nth來確定是否進(jìn)行通常的幀內(nèi)預(yù)測(cè)或低電力模式編碼。
[0100]編碼控制器103基于步驟S108中的比較結(jié)果來控制16X16像素塊的幀內(nèi)預(yù)測(cè)編碼。如果在確定的預(yù)測(cè)模式中被估計(jì)為“未編碼”的子塊的數(shù)量等于或小于閾值(Nnc ( Nth),則編碼控制器103確定通過通常的幀內(nèi)預(yù)測(cè)進(jìn)行編碼并且使處理進(jìn)行到步驟S109。
[0101]在通常的幀內(nèi)預(yù)測(cè)中,幀內(nèi)預(yù)測(cè)器104在通過劃分16X16像素塊獲得的各4X4像素子塊中搜索全部預(yù)測(cè)模式并且決定預(yù)測(cè)模式(S109)。注意,可以基于確定的預(yù)測(cè)模式來搜索預(yù)測(cè)模式,而無需全面搜索全部預(yù)測(cè)模式。盡管將稍后描述細(xì)節(jié),幀內(nèi)預(yù)測(cè)器104、C0DEC105等執(zhí)行4X4像素子塊的預(yù)測(cè)編碼和局部解碼(S110)。當(dāng)4X4像素子塊的處理完成時(shí),編碼控制器103確定16 X 16像素塊的全部子塊的處理是否已完成(SI 11)。如果處理尚未完成,則處理返回到步驟S109。如果16X16像素塊的全部子塊的處理已完成,則處理進(jìn)行到步驟S121。
[0102]另一方面,如果在確定的預(yù)測(cè)模式中被估計(jì)為“未編碼”的子塊的數(shù)量超過閾值(NNC>Nth),則編碼控制器103確定進(jìn)行低電力模式編碼。處理根據(jù)子塊的編碼結(jié)果的估計(jì)來分支(S112)。針對(duì)在確定的預(yù)測(cè)模式中被估計(jì)為“已編碼”的子塊,進(jìn)行確定的預(yù)測(cè)模式中的預(yù)測(cè)編碼及局部解碼(SI 13 )。
[0103]針對(duì)在確定的預(yù)測(cè)模式下被估計(jì)為“未編碼”的子塊,編碼控制器103僅向C0DEC105提供子塊的DC系數(shù),并且使其執(zhí)行編碼和局部解碼(S114)。注意,可以通過參照actAVE[i]來獲得子塊的DC系數(shù),actAVE[i]是活性計(jì)算中使用的預(yù)測(cè)殘差的平均值。
[0104]即,在步驟S114中,C0DEC105進(jìn)行子塊的DC系數(shù)的量化和熵編碼,并且對(duì)量化的DC系數(shù)進(jìn)行逆量化以獲得局部解碼的預(yù)測(cè)殘差。MUX106在編碼流上復(fù)用量化的DC系數(shù)的編碼數(shù)據(jù)。幀內(nèi)補(bǔ)償器107將子塊的參照塊與對(duì)應(yīng)于DC系數(shù)的解碼預(yù)測(cè)殘差相加以生成局部解碼像素,并且將局部解碼像素的一部分記錄在存儲(chǔ)器108中。注意,由于即使在局部解碼后在被估計(jì)為“未編碼”的子塊中的全部AC系數(shù)為0,因此僅DC系數(shù)被解碼。
[0105]當(dāng)4X4像素子塊的處理已經(jīng)完成時(shí),編碼控制器103確定16X16像素塊的全部子塊的處理是否已經(jīng)完成(S115)。如果處理尚未完成,則處理返回到步驟S112。如果16X16像素塊的全部子塊的處理已經(jīng)完成,則處理進(jìn)行到步驟Sm。
[0106]當(dāng)16X16像素塊的處理已經(jīng)完成時(shí),編碼控制器103綜合步驟S110、S113及S114中計(jì)算的編碼結(jié)果(在稍后描述的步驟S137中獲得),以生成編碼塊圖案(S121)。編碼塊圖案被熵編碼,并且連同預(yù)測(cè)模式等一起作為頭信息被傳送到MUX106 (S122)。MUX106在編碼流上復(fù)用頭?目息(S123)。
[0107]為了生成編碼塊圖案,編碼控制器103不參照步驟S106中的估計(jì)結(jié)果,而是參照實(shí)際預(yù)測(cè)編碼中獲得的編碼結(jié)果。這是因?yàn)榧词乖诰幋a控制器103估計(jì)編碼結(jié)果為“已編碼”時(shí),在某些情況下實(shí)際獲得“未編碼”。注意,在實(shí)際預(yù)測(cè)編碼中獲得的編碼結(jié)果可以被傳送到熵編碼單元203 (參見圖2),熵編碼單元203可以對(duì)編碼塊圖案熵編碼,并且編碼的編碼塊圖案可以被輸出到MUX106。
[0108]接著,編碼控制器103確定輸入幀的全部16X16像素塊的編碼處理是否已完成(S124)。如果編碼處理尚未完成,則處理返回到步驟S102以對(duì)下一 16X16像素塊編碼。如果輸入幀的全部16 X 16像素塊的編碼處理已完成,則一幀的編碼處理結(jié)束。
[0109].子塊的預(yù)測(cè)編碼及局部解碼
[0110]將參照?qǐng)D11的流程圖來描述子塊的預(yù)測(cè)編碼及局部解碼(S110,S113)。
[0111]幀內(nèi)預(yù)測(cè)器104從存儲(chǔ)器108讀出鄰接塊的解碼像素,生成作為對(duì)應(yīng)于預(yù)測(cè)模式的參照像素組的參照塊,并且計(jì)算子塊與參照塊之間的預(yù)測(cè)殘差(S131)。注意,這里使用的預(yù)測(cè)模式是在步驟S109中決定的預(yù)測(cè)模式或確定的預(yù)測(cè)模式。
[0112]C0DEC105通過正交變換單元201進(jìn)行預(yù)測(cè)殘差的正交變換(S132),通過量化單元202進(jìn)行正交變換系數(shù)的量化(S133),并且通過熵編碼單元203進(jìn)行量化值的熵編碼
(5134),由此生成編碼數(shù)據(jù)。此外,C0DEC105通過逆量化單元204進(jìn)行量化值的逆量化
(5135)并且通過逆正交變換單元205進(jìn)行通過逆量化獲得的正交變換系數(shù)的逆正交變換
(5136),由此生成局部解碼的預(yù)測(cè)殘差。
[0113]此時(shí),量化單元202和逆量化單元204在經(jīng)歷了自適應(yīng)量化控制后使用從編碼控制器103輸入的量化參數(shù)。熵編碼單元203還確定子塊的量化值的編碼結(jié)果是“已編碼”還是“未編碼”,并且將確定結(jié)果傳送到編碼控制器103 (S137)。
[0114]MUX106在編碼流上復(fù)用編碼數(shù)據(jù)(S138)。幀內(nèi)補(bǔ)償器107基于預(yù)測(cè)模式生成子塊的參照塊,將參照塊與解碼預(yù)測(cè)殘差相加以生成局部解碼像素,并且將局部解碼像素的一部分記錄在存儲(chǔ)器108中(S139)。
[0115]如果在步驟S109中通過幀內(nèi)預(yù)測(cè)器104搜索的預(yù)測(cè)模式的候選是H.264,則候選的數(shù)量最大為9。當(dāng)預(yù)測(cè)模式是HEVC時(shí),候選的數(shù)量最大為34。因此,預(yù)測(cè)模式搜索消耗大量電力以及長(zhǎng)的處理時(shí)間。此外,預(yù)測(cè)殘差編碼中的正交變換和量化因?yàn)槭褂昧顺朔ㄆ骱统ㄆ?也需要大量電力。
[0116]根據(jù)本實(shí)施例,在步驟S108中確定的用以進(jìn)行低電力模式編碼的16X16像素塊的預(yù)測(cè)模式的搜索、或者被估計(jì)為“未編碼”的子塊的AC系數(shù)的預(yù)測(cè)殘差編碼可以被省略。由于處理消耗大量電力,因此,期望通過省略這些處理來大大削減電力消耗。
[0117]另一方面,圖像分析器101中的幀內(nèi)預(yù)測(cè)器301僅支持不需要乘法器來生成參照塊并且消耗少量電力的幾種預(yù)測(cè)模式,因此消耗少量電力。即使在小數(shù)量的預(yù)測(cè)模式中,圖像一般包括被估計(jì)為“未編碼”的區(qū)域(例如,平坦區(qū)域)。由于針對(duì)屬于這種區(qū)域的塊進(jìn)行低電力模式編碼,因此期望大大減少電力消耗。
[0118]實(shí)施例的變型
[0119]編碼控制器103優(yōu)選具有控制針對(duì)編碼器102的內(nèi)部處理的時(shí)鐘信號(hào)的時(shí)鐘控制功能。在被估計(jì)為“未編碼”的子塊的處理被省略的時(shí)間段中,提供給幀內(nèi)預(yù)測(cè)器104和C0DEC105的時(shí)鐘信號(hào)被停止,由此也大大削減了時(shí)鐘信號(hào)消耗的電力。
[0120]為了提取用于自適應(yīng)量化控制的圖像特征信息,可以使用與用于編碼結(jié)果估計(jì)的分析信息幾乎相同的分析信息。因此,能夠通過僅添加小處理來提取圖像特征信息,并且能夠在不存在大處理負(fù)荷(電力消耗的增加)的情況下通過自適應(yīng)量化控制來實(shí)現(xiàn)高圖像質(zhì)量。
[0121]圖1OA至圖11中所示的處理可以被實(shí)現(xiàn)為要通過微處理器(CPU)執(zhí)行的程序。當(dāng)執(zhí)行該程序時(shí),針對(duì)要進(jìn)行低電力模式編碼的塊,不需要預(yù)測(cè)模式搜索(S109)和預(yù)測(cè)殘差編碼處理(S110,S113),處理能夠加速。還能夠在不存在處理負(fù)荷的情況下提取圖像特征信息并且通過自適應(yīng)量化控制來實(shí)現(xiàn)高圖像質(zhì)量。
[0122]注意,圖1OA至圖11中所示的處理假設(shè)了亮度分量的處理。一般地,圖像包括色差分量連同亮度分量。針對(duì)色差分量,編碼結(jié)果也可以通過圖像分析器101和編碼控制器103估計(jì)。幀內(nèi)預(yù)測(cè)器104和C0DEC105可以在僅進(jìn)行色差分量的處理的模式中啟動(dòng)。在后者情況下,當(dāng)進(jìn)行關(guān)注塊的低電力模式編碼時(shí),從電力消耗削減的視角,優(yōu)選使用接近亮度分量的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式作為色差分量的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式。
[0123]圖像分析器101的操作說明以及圖1OA至圖11所示的處理假設(shè)4X4像素作為子塊大小。然而,實(shí)施例不特別限于特定子塊大小。例如,16X16像素塊還可以被編碼作為四個(gè)8X8像素子塊。在這種情況下,基于各8X8像素子塊來進(jìn)行通過編碼控制器103的編碼結(jié)果估計(jì)以及通過幀內(nèi)預(yù)測(cè)器104的幀內(nèi)預(yù)測(cè)。
[0124]此外,作為編碼單位的編碼塊大小不限于16X16像素。例如,編碼器還可以應(yīng)對(duì)在HEVC中定義的32X32像素或64X64像素的塊大小。
[0125]在該實(shí)施例中,電力消耗的削減程度(或處理的加速)以及編碼效率(生成的碼量)具有折衷關(guān)系。在用于在圖1OB的步驟S108中確定是否進(jìn)行低電力模式編碼的閾值Nth被使得小的情況下,省略預(yù)測(cè)模式搜索的子塊的數(shù)量增加,電力消耗削減量增加。然而,如果閾值Nth太小,則各子塊中的預(yù)測(cè)模式搜索難以進(jìn)行,并且被估計(jì)為“已編碼”的子塊的碼量趨于增加。相反,如果閾值Nth太大,則碼量減少。然而,省略預(yù)測(cè)模式搜索的子塊的數(shù)量減少,電力消耗削減效果降低。[0126]利用該折衷關(guān)系,包括圖像編碼裝置的攝像設(shè)備等能夠控制以使得閾值Nth在電池水平足夠高時(shí)大或者使得閾值Nth在電池水平低時(shí)小。
[0127]在該實(shí)施例中,電力消耗的削減程度與圖像質(zhì)量也具有折衷關(guān)系。當(dāng)圖9中所示的閾值actqp和reSqp被使得大時(shí),被估計(jì)為“未編碼”的子塊的數(shù)量Nic增加,進(jìn)行低電力模式編碼的塊的數(shù)量增加。然而,如果本來應(yīng)當(dāng)被估計(jì)為“已編碼”的子塊被作為“未編碼”處理,則圖像質(zhì)量劣化。當(dāng)閾值Sctqp和reS(lp被使得大時(shí),圖像質(zhì)量發(fā)生劣化的可能性增高。相反,當(dāng)閾值ac^和reS(lp被使得小時(shí),圖像質(zhì)量發(fā)生劣化的可能性降低。然而,被估計(jì)為“未編碼”的子塊的數(shù)量Nic降低,電力消耗削減效果降低。
[0128]即使針對(duì)電力消耗與圖像質(zhì)量之間的折衷關(guān)系,基于電池水平的上述控制也是可能的。即,當(dāng)電池水平足夠高時(shí),閾值actqp和Msqp被使得小。當(dāng)電池水平低時(shí),閾值actqp和resqp被使得大。
[0129]幀內(nèi)預(yù)測(cè)器104由鄰接塊的局部解碼像素生成用于幀內(nèi)預(yù)測(cè)的參照塊。相反,圖像分析器101中的幀內(nèi)預(yù)測(cè)器301由鄰接塊的輸入像素生成參照塊。當(dāng)量化參數(shù)小(高比特率)、并且輸入像素與局部解碼像素之間的差小時(shí),輸入像素的值與局部解碼像素的值接近,并且對(duì)圖像質(zhì)量的影響小。然而,當(dāng)量化參數(shù)大(低比特率)、并且輸入像素與局部解碼像素之間的差大時(shí),當(dāng)本來應(yīng)當(dāng)被估計(jì)為“已編碼”的子塊被估計(jì)為“未編碼”時(shí)引起的圖像質(zhì)量的劣化變大。
[0130]低比特率的圖像質(zhì)量劣化的問題能夠通過進(jìn)行步驟S113的處理而被解決,無需針對(duì)被確定為進(jìn)行步 驟S108中的低電力模式編碼的全部子塊進(jìn)行步驟S112的確定。盡管電力消耗削減效果降低,但是與搜索大量預(yù)測(cè)模式的情況相比,電力消耗仍舊能大大削減。
[0131]被圖像分析器101中的幀內(nèi)預(yù)測(cè)器301使用的預(yù)測(cè)模式不限于上述三種預(yù)測(cè)模式,可使用任意預(yù)測(cè)模式。例如,當(dāng)預(yù)先已知對(duì)于電力消耗削減有效的預(yù)測(cè)模式被添加時(shí),電力消耗能夠被有效降低。然而,如果不是那么有效的預(yù)測(cè)模式被添加時(shí),電力消耗由于處理負(fù)荷而增加。
[0132]要通過圖像分析器101計(jì)算的多條分析信息不限于上述活性、梯度以及最大殘差。可使用任意統(tǒng)計(jì)信息,例如,可以使用方差來替代活性,并且可以使用經(jīng)歷了簡(jiǎn)單正交變換(例如,哈達(dá)瑪變換)的正交變換系數(shù)。至于梯度計(jì)算,梯度信息理所當(dāng)然也可以利用任意配置來被計(jì)算。其他類型的圖像特征信息也能夠容易地被添加到圖像分析器101。
[0133]第二實(shí)施例
[0134]以下將描述根據(jù)本發(fā)明的第二實(shí)施例的圖像編碼裝置及圖像編碼方法。注意,與第一實(shí)施例中相同的附圖標(biāo)記在第二實(shí)施例中表不相同的部分,并且將省略其詳細(xì)描述。
[0135]在第一實(shí)施例中,描述了這樣一種示例,其中針對(duì)包括4X4像素的各子塊估計(jì)編碼結(jié)果,并且通過綜合針對(duì)各塊的編碼結(jié)果獲得的編碼塊圖案作為頭信息在編碼流上被復(fù)用。然而,在低比特率的編碼中,包括編碼塊圖案的頭信息還優(yōu)選具有盡可能小的信息量。在HEVC中,定義編碼結(jié)果的變換塊大小具有自由度,并且大小可以在編碼中自適應(yīng)地決定。為了削減頭信息的碼量,優(yōu)選使得子塊的大小大。在第二實(shí)施例中,將說明其中基于分析信息自適應(yīng)地決定子塊大小的示例。
[0136]根據(jù)第二實(shí)施例的編碼控制器103確定處理目標(biāo)塊(16X16像素)中的全部子塊(4X4像素或8X8像素)是否是“未編碼”以及確定的預(yù)測(cè)模式是否是DC預(yù)測(cè)模式。如果全部子塊是“未編碼”,并且確定的預(yù)測(cè)模式是DC預(yù)測(cè)模式(下文中稱為“擴(kuò)大條件”),則處理目標(biāo)塊中的像素很大可能具有幾乎相同的值。如果處理目標(biāo)塊中的全部像素具有相同值,則即使當(dāng)針對(duì)16X 16像素塊進(jìn)行變換時(shí),全部AC系數(shù)為O。
[0137]因此,當(dāng)滿足擴(kuò)大條件時(shí),變換塊大小被設(shè)置為16X 16像素。針對(duì)各16X 16像素塊的編碼結(jié)果被估計(jì)為“未編碼”,并且生成編碼塊圖案。作為結(jié)果,與其中針對(duì)各4X4像素子塊定義編碼結(jié)果的情況相比較,編碼塊圖案的碼量被削減。頭信息的信息量的削減在低比特率的編碼中尤其有效。
[0138]如果塊是其中全部像素具有相同值的平坦塊,則鄰接塊很可能也是平坦塊。因此,處理目標(biāo)塊和周圍塊可以被合并,并且可以利用較大的塊大小作為編碼單位來進(jìn)行編碼。
[0139]將參照?qǐng)D12A至圖12C來描述塊大小擴(kuò)大。編碼控制器103確定圖12A所示的狀態(tài)下的擴(kuò)大條件。如果滿足擴(kuò)大條件,則變換塊大小首先被設(shè)置為16X 16像素,16X16像素塊的編碼結(jié)果被估計(jì)為“未編碼”。
[0140]針對(duì)鄰接塊進(jìn)行相同確定。如果在圖12B中所示的全部四個(gè)16X16像素塊中滿足擴(kuò)大條件,則編碼單位和變換塊大小被設(shè)置為32 X 32像素,并且32 X 32像素的編碼結(jié)果被估計(jì)為“未編碼”(圖12C)。注意,圖12B中所示的狀態(tài)在幀的平坦部分中頻繁發(fā)生。
[0141]當(dāng)利用32X32像素為編碼單位來生成編碼塊圖案時(shí),與其中編碼單位是4X4像素的情況相比,編碼塊圖案的碼量可以被減少。即使在鄰接塊中不滿足擴(kuò)大條件,編碼塊圖案的碼量也可以通過將編碼單位設(shè)置為16X16像素來被減少,如圖12B中所示。
[0142]通過擴(kuò)大塊大小而減少的頭信息不限于編碼塊圖案。與預(yù)測(cè)模式相關(guān)聯(lián)的頭信息的碼量也可以通過自適應(yīng)地改變預(yù)測(cè)塊大小來被減少。
[0143]當(dāng)如HEVC中可以自適應(yīng)地決定預(yù)測(cè)或變換的塊大小時(shí),頭信息的碼量能夠通過基于編碼結(jié)果估計(jì)自適應(yīng)地決定塊大小來大大降低。
[0144]上述變換塊大小擴(kuò)大可應(yīng)用于任意塊大小。例如,變換塊大小擴(kuò)大可應(yīng)用于不是方形的諸如16X8像素或32 X 16像素的變換塊大小或預(yù)測(cè)塊大小。
[0145]第三實(shí)施例
[0146]以下將描述根據(jù)本發(fā)明的第三實(shí)施例的圖像編碼裝置和圖像編碼方法。注意,與第一及第二實(shí)施例中相同的附圖標(biāo)記在第三實(shí)施例中表不相同的部分,將省略其詳細(xì)描述。
[0147]在第三實(shí)施例中,將描述如下示例,其中組合DC預(yù)測(cè)模式中的濾波處理,以除了第一和第二實(shí)施例中描述的分析信息外,還在塊邊界處獲取幀中包括的對(duì)象圖像的邊緣信息。注意,當(dāng)針對(duì)各16X16像素塊或4X4像素塊獲取分析信息時(shí),無法提取位于16X16像素塊的塊邊界處的對(duì)象圖像的邊緣信息。
[0148]圖13示出了通過HEVC的DC預(yù)測(cè)中的濾波處理生成的參照像素組。在HEVC的DC預(yù)測(cè)中,通過對(duì)塊的上下邊緣的系數(shù)應(yīng)用由以下等式表現(xiàn)的濾波處理來計(jì)算DC預(yù)測(cè)時(shí)的參照塊。
[0149]DCval= (Σ yp [-1, y] + Σ yp [χ, -1] +16) /32 …(8)
[0150]pred[O, O] = (ρ [_1,O] +2 XDCVAL+p [0,-1] +2) /4...(9)
[0151]pred [χ, 0] = (ρ [χ, -1] +3 X DCVAL+2) /4...(10)
[0152]pred [O, y] = (ρ [-1, y] +3 X DCVAL+2) /4 …(11)[0153]pred[x, y] =DCval…(12)
[0154]這里0≤χ≤15,并且0≤y≤15。
[0155]等式(10)和(11)可以被重寫為
[0156]pred [χ, O] = {4 X DCval- (DC胤-ρ [χ, —I] _2)} /4 …(13)
[0157]pred [0,y] = {4 X DCval-(DCVAL-p [-1,y]-2)}/4...(14)
[0158]在這種情況下,可以獲得不利用乘法器的較簡(jiǎn)單的配置。
[0159]作為等式(13)和(14)的各個(gè)的中間結(jié)果的第二項(xiàng)代表參照塊與鄰接塊(塊A和塊B)之間的塊邊界處的差值。對(duì)象圖像的邊緣通常具有連續(xù)性。如果在圖13中在作為處理目標(biāo)塊的塊X與塊B之間的邊界處存在對(duì)象圖像的邊緣,則塊A的像素組與塊B的像素組之間的差變大。當(dāng)像素組之間的差變大時(shí),作為等式(13)和(14)的各個(gè)的第二項(xiàng)的、塊A與塊B之間的平均的值DCm之間的差變大。因此能夠使用第二項(xiàng)的值作為用于塊邊界檢測(cè)的信息。
[0160]圖14示出了根據(jù)第三實(shí)施例的圖像分析器101的詳細(xì)配置。幀內(nèi)預(yù)測(cè)器1401利用等式(8)、(9)以及(12)至(14)來進(jìn)行DC預(yù)測(cè)模式中的處理。注意,幀內(nèi)預(yù)測(cè)器1401進(jìn)行水平預(yù)測(cè)模式和垂直預(yù)測(cè)模式中的處理,與第一實(shí)施例中一樣。根據(jù)DC預(yù)測(cè)模式,幀內(nèi)預(yù)測(cè)器1401將等式(13)和(14)的各個(gè)的第二項(xiàng)的值(差值)作為鄰接塊與參照塊之間的差值傳送給邊緣提取器1402。
[0161]邊緣提取器1402計(jì)算等式(13)的第二項(xiàng)的和(水平方向上的差值的和)作為水平方向上的對(duì)象圖像的邊緣信息,以及等式(14)的第二項(xiàng)的和(垂直方向上的差值的和)作為垂直方向上的對(duì)象圖像的邊緣信息。邊緣提取器1402將計(jì)算出的對(duì)象圖像的邊緣信息作為分析信息的一部分經(jīng)由MUX306傳送到編碼控制器103。
[0162]編碼控制器103通過參照對(duì)象圖像的邊緣信息來進(jìn)行自適應(yīng)量化控制,使得在劣化在主觀上明顯的對(duì)象圖像的邊緣處不發(fā)生圖像質(zhì)量的劣化。還能夠決定變換塊大小以不丟失邊緣信息。
[0163]如上所述,通過濾波處理的中間結(jié)果的抽出和少量的處理添加到第一實(shí)施例的配置中,能夠?qū)?duì)象圖像的邊緣信息添加到圖像特征信息。這使得能夠在實(shí)現(xiàn)如第一實(shí)施例中的電力消耗削減的同時(shí)通過自適應(yīng)量化控制來實(shí)現(xiàn)更高的圖像質(zhì)量。
[0164]第四實(shí)施例
[0165]以下將描述根據(jù)本發(fā)明的第四實(shí)施例的圖像編碼。注意,與第一至第三實(shí)施例中相同的附圖標(biāo)記在第四實(shí)施例中表示相同的部分,將省略其詳細(xì)描述。
[0166]在第一實(shí)施例中,描述了其中僅利用幀內(nèi)預(yù)測(cè)來進(jìn)行各塊的編碼的示例。在第四實(shí)施例中,將描述其中除了幀內(nèi)預(yù)測(cè)外還利用運(yùn)動(dòng)預(yù)測(cè)來進(jìn)行幀間預(yù)測(cè)編碼的示例。
[0167][裝置的配置]
[0168]將參照?qǐng)D15的框圖來描述根據(jù)第四實(shí)施例的圖像編碼裝置的配置。
[0169]運(yùn)動(dòng)預(yù)測(cè)器153通過預(yù)定的運(yùn)動(dòng)矢量搜索算法來計(jì)算運(yùn)動(dòng)矢量候選。注意,運(yùn)動(dòng)預(yù)測(cè)器153不僅可以使用特定運(yùn)動(dòng)矢量搜索算法,而且可以使用通常使用的任意運(yùn)動(dòng)矢量搜索算法。
[0170]接著,運(yùn)動(dòng)預(yù)測(cè)器153從用于運(yùn)動(dòng)預(yù)測(cè)的存儲(chǔ)器159中讀出對(duì)應(yīng)于運(yùn)動(dòng)矢量候選的局部解碼圖像的像素,并且生成參照塊。運(yùn)動(dòng)預(yù)測(cè)器153然后計(jì)算針對(duì)參照塊與輸入幀的塊之間的預(yù)測(cè)殘差的活性。
[0171]在計(jì)算針對(duì)通過運(yùn)動(dòng)矢量搜索算法計(jì)算的全部運(yùn)動(dòng)矢量候選的活性之后,運(yùn)動(dòng)預(yù)測(cè)器153決定具有最小活性的運(yùn)動(dòng)矢量候選作為要用于編碼的運(yùn)動(dòng)矢量。運(yùn)動(dòng)預(yù)測(cè)器153對(duì)決定的運(yùn)動(dòng)矢量熵編碼,將編碼的運(yùn)動(dòng)矢量傳送到MUX106,并且將決定的運(yùn)動(dòng)矢量中的輸入幀的塊與參照塊之間的預(yù)測(cè)殘差輸出到選擇器(SEL) 154。
[0172]編碼控制器103接收由圖像分析器101計(jì)算的活性,以及對(duì)應(yīng)于由運(yùn)動(dòng)預(yù)測(cè)器153找到的運(yùn)動(dòng)矢量的活性。編碼控制器103比較這兩個(gè)活性,預(yù)測(cè)通過塊的幀內(nèi)預(yù)測(cè)編碼生成的碼量與通過塊的幀間預(yù)測(cè)編碼生成的碼量的哪一者小?;陬A(yù)測(cè)結(jié)果來控制SEL154和 SEL157。
[0173]在編碼控制器103的控制下,SEL154將從幀內(nèi)預(yù)測(cè)器104輸出的預(yù)測(cè)殘差或從運(yùn)動(dòng)預(yù)測(cè)器153輸出的預(yù)測(cè)殘差選擇性地輸出到C0DEC105。
[0174]如果編碼控制器103選擇了幀間預(yù)測(cè)編碼,則MUX106輸出編碼流,在該編碼流上除了通過預(yù)測(cè)殘差的熵編碼獲得的編碼數(shù)據(jù)以及編碼的編碼塊圖案外還復(fù)用有編碼運(yùn)動(dòng)矢量。
[0175]運(yùn)動(dòng)補(bǔ)償器156將通過將用于運(yùn)動(dòng)預(yù)測(cè)的參照塊與從C0EDC105輸出的局部解碼的預(yù)測(cè)殘差相加獲得的局部解碼圖像輸出到SEL157。在編碼控制器103的控制下,SEL157將從幀內(nèi)補(bǔ)償器107輸出的局部解碼圖像或從運(yùn)動(dòng)補(bǔ)償器156輸出的局部解碼圖像選擇性地輸出到后置濾波器158。
[0176]后置濾波器158針對(duì)局部解碼圖像進(jìn)行諸如解塊濾波的濾波處理以降低局部解碼圖像的圖像質(zhì)量劣化,并且將濾波處理后的局部解碼圖像記錄在存儲(chǔ)器159中。記錄在存儲(chǔ)器159中的局部解碼圖像用于生成要用于后續(xù)幀的運(yùn)動(dòng)預(yù)測(cè)的參照塊。
[0177][編碼處理]
[0178]將參照?qǐng)D16A至圖16D的流程圖來描述圖像分析器101和編碼器102的編碼處理。注意,圖16A至圖16D例示了編碼目標(biāo)的一幀的編碼處理。此外,步驟SlOl至S106的處理與圖1OA中所不的第一實(shí)施例的處理相同,將省略其詳細(xì)描述。
[0179]幀內(nèi)預(yù)測(cè)器104和運(yùn)動(dòng)預(yù)測(cè)器153從輸入幀獲取16X 16像素塊(S151)。編碼控制器103將在確定的預(yù)測(cè)模式中被估計(jì)為“未編碼”的子塊的數(shù)量Nn。與預(yù)定閾值Nth比較
(5152)。注意,使用閾值Nth來確定是進(jìn)行通常的幀內(nèi)預(yù)測(cè)或是低電力模式編碼。
[0180]當(dāng)在步驟S152中確定在確定的預(yù)測(cè)模式中被估計(jì)為“未編碼”的子塊的數(shù)量超過閾值時(shí)(NNC>Nth),預(yù)測(cè)碼量通過16X 16像素塊的幀內(nèi)預(yù)測(cè)編碼可被充分減少。因此,編碼控制器103使處理進(jìn)行到步驟S161以進(jìn)行16X 16像素塊的幀內(nèi)預(yù)測(cè)編碼。
[0181]另一方面,如果在確定的預(yù)測(cè)模式中要被估計(jì)為“未編碼”的子塊的數(shù)量等于或小于閾值(Nnc ( Nth),則編碼控制器103使處理進(jìn)行到步驟S153以將幀內(nèi)預(yù)測(cè)編碼的碼量與幀間預(yù)測(cè)編碼的碼量進(jìn)行比較。運(yùn)動(dòng)預(yù)測(cè)器153決定16X16像素塊的運(yùn)動(dòng)矢量,計(jì)算16X16像素塊與對(duì)應(yīng)于決定的運(yùn)動(dòng)矢量的參照塊之間的預(yù)測(cè)殘差,并且計(jì)算最小活性
(5153)。
[0182]接著,編碼控制器103將通過運(yùn)動(dòng)預(yù)測(cè)器153計(jì)算出的最小活性與通過圖像分析器101計(jì)算出的預(yù)測(cè)殘差的最小活性進(jìn)行比較,并且決定16X16像素塊的編碼方法
(5154)。注意,在步驟S104中進(jìn)行通過圖像分析器101的活性計(jì)算,編碼控制器103使用活性的最小者用于比較。
[0183]如果通過圖像分析器101計(jì)算的最小活性較小,則編碼控制器103決定進(jìn)行16X16像素塊的幀內(nèi)預(yù)測(cè)編碼,并且進(jìn)行如圖1OB的步驟S109和SllO中相同的處理。編碼控制器103確定16X16像素塊的全部子塊的處理是否已完成(S111)。如果處理尚未完成,則處理返回到步驟S109。如果16X16像素塊的全部子塊的處理已完成,則處理進(jìn)行到步驟S163。另一方面,如果通過運(yùn)動(dòng)預(yù)測(cè)器153計(jì)算的最小活性較小,則編碼控制器103決定進(jìn)行16X 16像素塊的幀間預(yù)測(cè)編碼,并且使處理進(jìn)行到步驟S155。
[0184]在幀間預(yù)測(cè)編碼中,運(yùn)動(dòng)預(yù)測(cè)器153針對(duì)各4X4像素子塊進(jìn)行如步驟S151中的運(yùn)動(dòng)矢量搜索,并且決定各子塊的運(yùn)動(dòng)矢量(S155)。一般利用步驟S153中決定的運(yùn)動(dòng)矢量作為搜索的起始點(diǎn)來進(jìn)行子塊的運(yùn)動(dòng)矢量搜索。盡管稍后將描述細(xì)節(jié),運(yùn)動(dòng)預(yù)測(cè)器153、C0DEC105等執(zhí)行4X4像素子塊的幀間預(yù)測(cè)編碼和局部解碼(S156)。當(dāng)4X4像素子塊的處理已完成時(shí),編碼控制器103確定16X16像素塊的全部子塊的處理是否已完成(S157)。如果處理尚未完成,則處理返回到步驟S155。如果16X16像素塊的全部子塊的處理已完成,則處理進(jìn)行到步驟S163。
[0185]另一方面,在NicMth的情況下,如果通過圖像分析器101計(jì)算的最小活性較小,則編碼控制器103確定進(jìn)行幀內(nèi)預(yù)測(cè)編碼。處理根據(jù)關(guān)注子塊的編碼結(jié)果的估計(jì)分支(Siei)0針對(duì)被估計(jì)為“已編碼”的子塊,進(jìn)行如圖1OB的步驟S113中相同的處理。編碼控制器103確定16X16像素塊的全部子塊的處理是否已完成(S162)。如果處理尚未完成,則處理返回到步驟S161。如果16 X 16像素塊的全部子塊的處理已完成,則處理進(jìn)行到步驟S163。
[0186]針對(duì)在確定的預(yù)測(cè)模式中被估計(jì)為“未編碼”的子塊,進(jìn)行與圖1OB的步驟S114(僅DC系數(shù)的編碼)相同的處理。編碼控制器103確定16X16像素塊的全部子塊的處理是否已完成(S162)。如果處理尚未完成,則處理返回到步驟S161。如果16X16像素塊的全部子塊的處理已完成,則處理進(jìn)行到步驟S163。
[0187]當(dāng)16 X 16像素塊的處理已完成時(shí),編碼控制器103使后置濾波器158進(jìn)行局部解碼圖像的濾波處理,并且將經(jīng)歷了濾波處理的局部解碼圖像記錄在存儲(chǔ)器159中(S163)。后續(xù)處理與從圖1OC的步驟S121至S124的處理相同,將省略其描述。
[0188].幀間預(yù)測(cè)編碼
[0189]將參照?qǐng)D17的流程圖描述幀間預(yù)測(cè)編碼(S156)。
[0190]運(yùn)動(dòng)預(yù)測(cè)器153將決定的運(yùn)動(dòng)矢量編碼,并且將編碼運(yùn)動(dòng)矢量傳送到MUX106
(5201)。運(yùn)動(dòng)預(yù)測(cè)器153從存儲(chǔ)器159中讀出對(duì)應(yīng)于決定的運(yùn)動(dòng)矢量的局部解碼圖像的像素,生成參照塊,計(jì)算該參照塊與子塊之間的預(yù)測(cè)殘差,并且將該預(yù)測(cè)殘差輸出到SEL154
(5202)。
[0191]C0DEC105針對(duì)在步驟S202中計(jì)算出的預(yù)測(cè)殘差進(jìn)行與從圖12的步驟S132到步驟S137相同的處理。即,C0DEC105進(jìn)行正交變換(S132)、量化(S133)以及熵編碼(S134)以生成編碼數(shù)據(jù),并且進(jìn)行量化值的逆量化(S135)和逆正交變換(S136)以生成局部解碼的預(yù)測(cè)殘差。經(jīng)歷了自適應(yīng)量化控制的量化參數(shù)用于量化。代表子塊的各量化值的編碼結(jié)果是“已編碼”還是“未編碼”的確定結(jié)果被傳送到編碼控制器103 (S137)。
[0192]MUX106在編碼流上復(fù)用編碼數(shù)據(jù)和編碼運(yùn)動(dòng)矢量(S203)。運(yùn)動(dòng)補(bǔ)償器156通過將局部解碼的預(yù)測(cè)殘差與步驟S153中使用的參照塊相加來生成局部解碼的圖像(S204)。
[0193]由于運(yùn)動(dòng)預(yù)測(cè)器153利用不同時(shí)間的編碼幀及局部解碼幀作為參照?qǐng)D像來進(jìn)行預(yù)測(cè),因此存儲(chǔ)器159需要累積一幀以上的解碼圖像。當(dāng)編碼器102被實(shí)現(xiàn)為L(zhǎng)SI (大規(guī)模集成電路)時(shí),考慮到成本,單位存儲(chǔ)容量低成本的DRAM (動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)芯片可以被安裝在LSI外作為需要大尺寸的存儲(chǔ)器159。然而,通過訪問外部DRAM消耗的電力大于通過訪問LSI中的存儲(chǔ)器(例如,存儲(chǔ)器108)消耗的電力。
[0194]為了搜索適當(dāng)?shù)倪\(yùn)動(dòng)矢量,運(yùn)動(dòng)矢量搜索范圍需要遠(yuǎn)遠(yuǎn)大于塊大小(例如,針對(duì)各16X16像素塊的64X64像素)。由于在從DRAM中讀出運(yùn)動(dòng)矢量搜索范圍中的圖像數(shù)據(jù)的同時(shí)需要對(duì)大量運(yùn)動(dòng)矢量候選的各個(gè)生成參照塊,因此,運(yùn)動(dòng)矢量搜索處理一般消耗極其大的電力。利用運(yùn)動(dòng)矢量搜索的幀間預(yù)測(cè)編碼一般比幀內(nèi)預(yù)測(cè)編碼消耗更多電力。
[0195]然而,通常,當(dāng)幀內(nèi)預(yù)測(cè)編碼用作針對(duì)幀間預(yù)測(cè)編碼的選擇時(shí),碼量增加。在第四實(shí)施例中,碼量的增加能夠被抑制,因?yàn)樵诶妙A(yù)先提取的分析信息確認(rèn)碼量能夠被充分減少之后,進(jìn)行簡(jiǎn)單的幀內(nèi)預(yù)測(cè)。
[0196]如以上在第一實(shí)施例中所述,在輸入幀的平坦區(qū)域中,通過借助圖像分析器101的幀內(nèi)預(yù)測(cè)處理,碼量能夠被充分減少,并且編碼結(jié)果經(jīng)常被估計(jì)為“未編碼”。當(dāng)針對(duì)被確定為進(jìn)行低電力模式編碼的塊、進(jìn)行具有低電力消耗的幀內(nèi)預(yù)測(cè)編碼來替代幀間預(yù)測(cè)編碼時(shí),在編碼結(jié)果被估計(jì)為“未編碼”的子塊中電力消耗尤其能夠大大削減。
[0197]第四實(shí)施例的變型
[0198]在第四實(shí)施例中,編碼控制器103優(yōu)選具有控制針對(duì)編碼器102的內(nèi)部處理的時(shí)鐘信號(hào)的時(shí)鐘控制功能,如第一實(shí)施例的變型中一樣。當(dāng)決定進(jìn)行低電力模式編碼時(shí),編碼控制器103除了停止第一實(shí)施例中的時(shí)鐘信號(hào)以外,還停止針對(duì)針對(duì)運(yùn)動(dòng)預(yù)測(cè)器153的時(shí)鐘信號(hào),由此削減電力消耗。
[0199]至于圖像特征信息,也可以通過僅添加小處理來提取圖像特征信息,并且能夠在不存在大處理負(fù)荷(電力消耗的增加)的情況下通過自適應(yīng)量化控制來實(shí)現(xiàn)高圖像質(zhì)量,如
第一實(shí)施例中一樣。
[0200]圖16A至圖17中所示的處理可以被實(shí)現(xiàn)作為要由CPU執(zhí)行的程序,如第一實(shí)施例中一樣。當(dāng)執(zhí)行該程序時(shí),針對(duì)要進(jìn)行對(duì)應(yīng)于低電力模式的編碼的塊可以省略運(yùn)動(dòng)預(yù)測(cè)處理(S153),處理能夠加速。
[0201]作為運(yùn)動(dòng)預(yù)測(cè)單位的塊大小不限于4X4像素或16X16像素。例如,HEVC中定義的諸如32X32像素或64X64像素的塊大小也可用作運(yùn)動(dòng)預(yù)測(cè)單位。
[0202]在第四實(shí)施例中,電力消耗的削減程度(或處理的加速)以及編碼效率(生成的碼量)具有折衷關(guān)系。在圖16B的步驟S152中的低電力模式編碼的閾值Nth被使得小的情況下,省略運(yùn)動(dòng)預(yù)測(cè)的子塊的數(shù)量增加,并且電力消耗削減量增加。然而,如果閾值Nth太小,則編碼結(jié)果被估計(jì)為“已編碼”的各子塊中的運(yùn)動(dòng)預(yù)測(cè)難以進(jìn)行,并且碼量趨于增加。相反,如果閾值Nth太大,則碼量減少。然而,要進(jìn)行低電力模式編碼的子塊的數(shù)量減少,并且電力消耗削減效果降低。因此,如第一實(shí)施例中,包括圖像編碼裝置的攝像設(shè)備等可以根據(jù)電池來實(shí)施控制。
[0203]如上所述,根據(jù)上述實(shí)施例,例如,能夠通過在幀的平坦部分中進(jìn)行利用簡(jiǎn)單幀內(nèi)預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼來削減幀內(nèi)預(yù)測(cè)中的預(yù)測(cè)模式搜索或運(yùn)動(dòng)矢量搜索所消耗的電力。還能夠在不大量增加電力消耗及電路規(guī)模的情況下提取圖像特征信息。
[0204]其他實(shí)施例
[0205]本發(fā)明的各方面還可以通過讀出并執(zhí)行記錄在存儲(chǔ)設(shè)備上的用于執(zhí)行上述實(shí)施例的功能的程序的系統(tǒng)或裝置的計(jì)算機(jī)(或諸如CPU或MPU的設(shè)備)來實(shí)現(xiàn),以及通過由系統(tǒng)或裝置的計(jì)算機(jī)通過例如讀出并執(zhí)行記錄在存儲(chǔ)設(shè)備上的用于執(zhí)行上述實(shí)施例的功能的程序來執(zhí)行各步驟的方法來實(shí)現(xiàn)。鑒于此,例如經(jīng)由網(wǎng)絡(luò)或者從用作存儲(chǔ)設(shè)備的各種類型的記錄介質(zhì)(例如計(jì)算機(jī)可讀介質(zhì))向計(jì)算機(jī)提供程序。
[0206]雖然參照示例性實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是應(yīng)當(dāng)理解,本發(fā)明并不限于所公開的示例性實(shí)施例。應(yīng)當(dāng)對(duì)所附權(quán)利要求的范圍給予最寬的解釋,以使其涵蓋所有這些變型例以及等同的結(jié)構(gòu)和功能。
【權(quán)利要求】
1.一種用于進(jìn)行圖像數(shù)據(jù)的預(yù)測(cè)編碼的圖像編碼裝置,所述圖像編碼裝置包括: 分析單元,其被構(gòu)造為按照編碼單位將輸入圖像劃分為第一塊,并且針對(duì)各第一塊生成與所述輸入圖像的幀內(nèi)預(yù)測(cè)相關(guān)聯(lián)的分析信息; 第一預(yù)測(cè)單元,其被構(gòu)造為按照預(yù)測(cè)單位將所述輸入圖像劃分為第二塊,并且進(jìn)行所述幀內(nèi)預(yù)測(cè)以生成各第二塊的預(yù)測(cè)殘差; 編碼單元,其被構(gòu)造為對(duì)所述第二塊的所述預(yù)測(cè)殘差或直流分量進(jìn)行編碼;以及 控制單元,其被構(gòu)造為針對(duì)各第一塊、基于所述分析信息來估計(jì)所述編碼單元的編碼結(jié)果,并且基于所述估計(jì)來控制所述第一預(yù)測(cè)單元和所述編碼單元。
2.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中,所述分析單元包括: 第二預(yù)測(cè)單元,其被構(gòu)造為進(jìn)行所述幀內(nèi)預(yù)測(cè)并且生成代表所述第一塊的所述預(yù)測(cè)殘差的預(yù)測(cè)殘差塊,并且 其中,所述分析單元根據(jù)所述預(yù)測(cè)殘差塊生成所述分析信息。
3.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中,所述分析單元包括: 活性計(jì)算單元,其被構(gòu)造為將所述預(yù)測(cè)殘差塊劃分為子塊,并且針對(duì)各子塊、計(jì)算所述預(yù)測(cè)殘差的平均值與所述預(yù)測(cè)殘差的差分絕對(duì)值的和,作為所述分析信息的一部分。
4.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中,所述分析單元包括: 梯度確定單元,其被構(gòu)造為針對(duì)所述預(yù)測(cè)殘差塊計(jì)算所述預(yù)測(cè)殘差在垂直方向上的梯度以及在水平方向上的梯度,作為所述分析信息的一部分。
5.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中,所述分析單元包括: 最大殘差計(jì)算單元,其被構(gòu)造為將所述預(yù)測(cè)殘差塊劃分為子塊,并且計(jì)算所述子塊的所述預(yù)測(cè)殘差的最大絕對(duì)值,作為所述分析信息的一部分。
6.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中,所述第二預(yù)測(cè)單元包括直流預(yù)測(cè)模式、垂直預(yù)測(cè)模式、以及水平預(yù)測(cè)模式中的至少一者,作為所述幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式。
7.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中,所述第二預(yù)測(cè)單元包括通過對(duì)所述第一塊的邊界應(yīng)用濾波處理生成用于所述幀內(nèi)預(yù)測(cè)的參照塊的預(yù)測(cè)模式, 其中,所述分析單元基于所述濾波處理的中間結(jié)果來提取位于所述第一塊的邊界的對(duì)象圖像的邊緣信息,并且使用所述邊緣信息作為所述分析信息的一部分。
8.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中,所述控制單元根據(jù)由所述分析信息代表的所述輸入圖像的圖像特征信息來控制所述編碼單元使用的量化參數(shù)。
9.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中,針對(duì)各第一塊,所述控制單元基于所述分析信息來估計(jì)在進(jìn)行幀內(nèi)預(yù)測(cè)編碼的情況下全部量化值變?yōu)镺的所述第二塊的數(shù)量,并且確定所估計(jì)的數(shù)量最大的所述幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式。
10.根據(jù)權(quán)利要求9所述的圖像編碼裝置,其中,所述控制單元基于所估計(jì)的數(shù)量以及所確定的預(yù)測(cè)模式來決定所述第一預(yù)測(cè)單元和所述編碼單元中的所述第一塊的大小。
11.根據(jù)權(quán)利要求9所述的圖像編碼裝置,其中,所述第一預(yù)測(cè)單元基于所確定的預(yù)測(cè)模式來搜索用以進(jìn)行所述幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式。
12.根據(jù)權(quán)利要求9所述的圖像編碼裝置,其中,所述控制單元基于所估計(jì)的數(shù)量來控制是否使所述第一預(yù)測(cè)單元搜索用以進(jìn)行所述幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式。
13.根據(jù)權(quán)利要求9所述的圖像編碼裝置,其中,在所估計(jì)的數(shù)量超過預(yù)定閾值的情況下,所述控制單元控制所述第一預(yù)測(cè)單元和所述編碼單元,使得對(duì)被估計(jì)為全部所述量化值變?yōu)镺的塊的所述第一塊的、從所述分析信息獲得的所述直流分量進(jìn)行編碼,并且利用所確定的預(yù)測(cè)模式對(duì)被估計(jì)為并非全部所述量化值變?yōu)镺的塊的所述第二塊進(jìn)行所述幀內(nèi)預(yù)測(cè)編碼。
14.根據(jù)權(quán)利要求1所述的圖像編碼裝置,所述圖像編碼裝置還包括: 運(yùn)動(dòng)預(yù)測(cè)單元,其被構(gòu)造為進(jìn)行運(yùn)動(dòng)預(yù)測(cè)并且生成所述第一塊的所述預(yù)測(cè)殘差, 其中,所述控制單元基于所述運(yùn)動(dòng)預(yù)測(cè)單元的預(yù)測(cè)結(jié)果以及所述分析信息,來控制所述編碼單元對(duì)通過所述第一預(yù)測(cè)單元生成的所述預(yù)測(cè)殘差或通過所述運(yùn)動(dòng)預(yù)測(cè)單元生成的所述預(yù)測(cè)殘差進(jìn)行編碼。
15.一種進(jìn)行圖像數(shù)據(jù)的預(yù)測(cè)編碼的圖像編碼方法,所述圖像編碼方法包括以下步驟: 按照編碼單位將輸入圖像劃分為第一塊; 針對(duì)各第一塊生成與所述輸入圖像的幀內(nèi)預(yù)測(cè)相關(guān)聯(lián)的分析信息; 按照預(yù)測(cè)單位將所述輸入圖像劃分為第二塊; 進(jìn)行所述幀內(nèi)預(yù)測(cè)以生成各第二塊的預(yù)測(cè)殘差; 對(duì)所述第二塊的所述預(yù) 測(cè)殘差或直流分量進(jìn)行編碼; 針對(duì)各第一塊、基于所述分析信息來估計(jì)在所述編碼步驟中的編碼結(jié)果;以及 基于所述估計(jì)來控制所述幀內(nèi)預(yù)測(cè)和所述編碼。
【文檔編號(hào)】H04N19/513GK103731668SQ201310485113
【公開日】2014年4月16日 申請(qǐng)日期:2013年10月16日 優(yōu)先權(quán)日:2012年10月16日
【發(fā)明者】服部秀昭 申請(qǐng)人:佳能株式會(huì)社