用于對(duì)變換系數(shù)進(jìn)行熵編碼/熵解碼的方法和設(shè)備的制造方法
【專利摘要】一種用于對(duì)變換系數(shù)進(jìn)行熵編碼/熵解碼的方法和設(shè)備。對(duì)變換塊進(jìn)行熵編碼的方法包括:根據(jù)特定掃描順序,確定包括在具有特定尺寸的變換塊中的變換系數(shù)之中具有非零值的最后有效變換系數(shù)的位置;通過(guò)使用變換塊中的最后有效變換系數(shù)的橫軸方向位置和最后有效變換系數(shù)的縱軸方向位置來(lái)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。
【專利說(shuō)明】用于對(duì)變換系數(shù)進(jìn)行熵編碼/熵解碼的方法和設(shè)備
[0001 ] 本申請(qǐng)是申請(qǐng)日為2011年7月8日、申請(qǐng)?zhí)枮?01180043638.8、題為“用于對(duì)變換系數(shù)進(jìn)行熵編碼/熵解碼的方法和設(shè)備”的專利申請(qǐng)的分案申請(qǐng)。
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及變換系數(shù)的熵編碼和熵解碼,更具體地講,涉及一種對(duì)關(guān)于變換塊中的最后有效變換系數(shù)的位置的信息進(jìn)行有效的熵編碼和熵解碼的方法和設(shè)備。
【背景技術(shù)】
[0003]根據(jù)諸如H.264和MPEG-4的國(guó)際視頻編碼標(biāo)準(zhǔn),視頻信號(hào)被分層劃分為序列、幀、條帶、宏塊和塊,并且塊是最小處理單元。在編碼處理中,通過(guò)執(zhí)行幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)獲得塊的殘差數(shù)據(jù)。此外,通過(guò)執(zhí)行變換、量化、掃描、行程編碼和熵編碼來(lái)壓縮殘差數(shù)據(jù)。解碼處理是編碼處理的逆處理。首先,從比特流提取在熵編碼處理中產(chǎn)生的變換塊的系數(shù)。然后,通過(guò)執(zhí)行反量化和逆變換來(lái)重構(gòu)塊的殘差數(shù)據(jù),預(yù)測(cè)信息用于重構(gòu)塊的視頻數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0004]技術(shù)問(wèn)題
[0005]本發(fā)明提供一種對(duì)關(guān)于具有大尺寸的變換塊中的最后有效變換系數(shù)的位置的信息進(jìn)行有效的熵編碼和熵解碼的方法和設(shè)備。
[0006]技術(shù)方案
[0007]根據(jù)本發(fā)明的實(shí)施例,通過(guò)使用變換塊中的最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置來(lái)對(duì)關(guān)于變換塊中的最后有效變換系數(shù)的位置的信息進(jìn)行編碼。
[0008]有益效果
[0009]根據(jù)本發(fā)明,可有效地表示包括在具有大尺寸的變換塊中的最后有效變換系數(shù)的位置,并且可獨(dú)立于對(duì)變換系數(shù)進(jìn)行解碼的處理來(lái)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行解碼。
【附圖說(shuō)明】
[0010]圖1是根據(jù)本發(fā)明實(shí)施例的圖像編碼設(shè)備的框圖。
[0011]圖2是根據(jù)本發(fā)明實(shí)施例的圖像解碼設(shè)備的框圖。
[0012]圖3是示出根據(jù)本發(fā)明實(shí)施例的分層編碼單元的示圖。
[0013]圖4是根據(jù)本發(fā)明實(shí)施例的基于編碼單元的圖像編碼器的框圖。
[0014]圖5是根據(jù)本發(fā)明實(shí)施例的基于編碼單元的圖像解碼器的框圖。
[0015]圖6是示出根據(jù)本發(fā)明實(shí)施例的最大編碼單元、子編碼單元和預(yù)測(cè)單元的示圖。
[0016]圖7是示出根據(jù)本發(fā)明實(shí)施例的編碼單元和變換單元的示圖。
[0017]圖8A和圖SB是示出根據(jù)本發(fā)明實(shí)施例的編碼單元、預(yù)測(cè)單元和變換單元的劃分形狀的示圖。
[0018]圖9是根據(jù)本發(fā)明實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的方法的流程圖。
[0019]圖10是用于描述根據(jù)本發(fā)明實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的處理的參考示圖。
[0020]圖11是根據(jù)本發(fā)明實(shí)施例的熵編碼設(shè)備的框圖。
[0021]圖12是根據(jù)本發(fā)明實(shí)施例的上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)裝置的框圖。
[0022]圖13是用于描述根據(jù)本發(fā)明實(shí)施例的選擇用于對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼的上下文的處理的參考示圖。
[0023]圖14示出與圖10相應(yīng)的有效映射。
[0024]圖15是用于描述在圖10中示出的對(duì)包括在變換塊中的有效變換系數(shù)的級(jí)別值進(jìn)行編碼的處理的參考示圖。
[0025]圖16是示出根據(jù)本發(fā)明實(shí)施例使用的多個(gè)可變長(zhǎng)度編碼(VLC)表的示例的示圖。
[0026]圖17是用于描述根據(jù)本發(fā)明另一實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的方法的參考示圖。
[0027]圖18A和圖18B是用于描述根據(jù)本發(fā)明另一實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的方法的參考示圖。
[0028]圖19是根據(jù)本發(fā)明實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵解碼的方法的流程圖。
[0029]圖20是根據(jù)本發(fā)明實(shí)施例的熵解碼設(shè)備的框圖。
[0030]最佳模式
[0031 ]根據(jù)本發(fā)明的一方面,提供一種對(duì)變換系數(shù)進(jìn)行熵編碼的方法,所述方法包括:根據(jù)特定掃描順序,確定包括在具有特定尺寸的變換塊中的變換系數(shù)之中具有非零值的最后有效變換系數(shù)的位置;通過(guò)使用變換塊中的最后有效變換系數(shù)的橫軸方向位置和最后有效變換系數(shù)的縱軸方向位置來(lái)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。
[0032]根據(jù)本發(fā)明的另一方面,提供一種對(duì)變換系數(shù)進(jìn)行熵解碼的方法,所述方法包括:根據(jù)特定掃描順序,從接收的比特流提取關(guān)于具有非零值且包括在變換塊中的最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置的信息;通過(guò)對(duì)關(guān)于橫軸方向位置和縱軸方向位置的信息進(jìn)行解碼來(lái)確定最后有效變換系數(shù)的位置。
[0033]根據(jù)本發(fā)明的另一方面,提供一種對(duì)變換系數(shù)進(jìn)行熵編碼的設(shè)備,所述設(shè)備包括:熵編碼器,根據(jù)特定掃描順序,確定包括在具有特定尺寸的變換塊中的變換系數(shù)之中具有非零值的最后有效變換系數(shù)的位置,并通過(guò)使用變換塊中的最后有效變換系數(shù)的橫軸方向位置和最后有效變換系數(shù)的縱軸方向位置來(lái)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。
[0034]根據(jù)本發(fā)明的另一方面,提供一種對(duì)變換系數(shù)進(jìn)行熵解碼的設(shè)備,所述設(shè)備包括:熵解碼器,根據(jù)特定掃描順序,從接收的比特流提取關(guān)于具有非零值且包括在變換塊中的最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置的信息,并通過(guò)對(duì)關(guān)于橫軸方向位置和縱軸方向位置的信息進(jìn)行解碼來(lái)確定最后有效變換系數(shù)的位置。
【具體實(shí)施方式】
[0035]在下文中,將通過(guò)參照附圖解釋本發(fā)明的實(shí)施例來(lái)詳細(xì)描述本發(fā)明。
[0036]圖1是根據(jù)本發(fā)明實(shí)施例的圖像編碼設(shè)備100的框圖。
[0037]參照?qǐng)D1,圖像編碼設(shè)備100包括最大編碼單元?jiǎng)澐制?10、編碼深度確定器120、圖像數(shù)據(jù)編碼器130和編碼信息編碼器140。
[0038]最大編碼單元?jiǎng)澐制?10可基于作為最大尺寸的編碼單元的最大編碼單元對(duì)當(dāng)前幀或當(dāng)前條帶進(jìn)行劃分??蓪?dāng)前幀或當(dāng)前條帶劃分為至少一個(gè)最大編碼單元。
[0039]根據(jù)本發(fā)明實(shí)施例,可使用最大編碼單元和深度來(lái)表示編碼單元。如上所述,最大編碼單元表示在當(dāng)前幀的編碼單元中具有最大尺寸的編碼單元,深度表示編碼單元在尺寸上如何分層地減小。隨著深度增大,編碼單元在尺寸上可從最大編碼單元減小到最小編碼單元,最大編碼單元的深度可被定義為最小深度,而最小編碼單元的深度可被定義為最大深度。由于編碼單元在尺寸上隨著深度增大而從最大編碼單元減小,因此深度為k的子編碼單元可包括多個(gè)具有大于k的深度的子編碼單元。
[0040]當(dāng)將被編碼的幀具有大尺寸時(shí),如果以大的單元對(duì)圖像進(jìn)行編碼,則可以以高的圖像壓縮率對(duì)圖像進(jìn)行編碼。然而如果編碼單元的尺寸增大并且被固定,則無(wú)法通過(guò)反映圖像的連續(xù)改變特性來(lái)有效地對(duì)圖像進(jìn)行編碼。
[0041 ]例如,當(dāng)對(duì)諸如海洋或天空的圖像的平滑圖像進(jìn)行編碼時(shí),如果編碼單元尺寸增大,則壓縮率可提高。然而,當(dāng)對(duì)諸如人或建筑物的圖像的復(fù)雜圖像進(jìn)行編碼時(shí),如果編碼單元尺寸減小,則壓縮率提高。
[0042]為此,根據(jù)本發(fā)明實(shí)施例,將不同尺寸的最大編碼單元和不同的最大深度設(shè)置到不同的幀或條帶。因?yàn)樽畲笊疃缺硎揪幋a單元在尺寸上可減小的最大次數(shù),所以包括在最大編碼單元中的最小編碼單元的尺寸可根據(jù)最大深度被可變地設(shè)置。
[0043]編碼深度確定器120確定最大深度??苫诼适д?R-D)成本來(lái)確定最大深度。最大深度可被不同地確定到每個(gè)幀或條帶或者每個(gè)最大編碼單元。關(guān)于確定的最大深度的信息被輸出到編碼信息編碼器140,每個(gè)最大編碼單元的圖像數(shù)據(jù)被輸出到圖像數(shù)據(jù)編碼器130。
[0044]最大深度表示在最大編碼單元中具有最小尺寸的編碼單元,S卩,最小編碼單元。換句話說(shuō),可根據(jù)不同深度將最大編碼單元?jiǎng)澐譃椴煌叽绲淖泳幋a單元。以下將參照?qǐng)D8A和圖SB對(duì)此進(jìn)行詳細(xì)描述。此外,可基于不同尺寸的處理單元對(duì)包括在最大編碼單元中的不同尺寸的子編碼單元進(jìn)行預(yù)測(cè)或正交變換。換句話說(shuō),圖像編碼設(shè)備100可基于各種尺寸和各種形狀的處理單元執(zhí)行多種用于圖像編碼的處理。當(dāng)諸如預(yù)測(cè)、正交變換和熵編碼的三種處理被執(zhí)行以對(duì)圖像數(shù)據(jù)進(jìn)行編碼時(shí),可在所有處理中使用相同尺寸的處理單元,或者可在不同處理中使用不同尺寸的處理單元。
[0045]例如,圖像編碼設(shè)備100可選擇與特定編碼單元不同的處理單元以預(yù)測(cè)編碼單元。
[0046]如果編碼單元具有2NX2N(其中,N是正整數(shù))的尺寸,則用于預(yù)測(cè)的處理單元可具有2~\212~\1~\21~\~等的尺寸。換句話說(shuō),可基于具有通過(guò)將編碼單元的高度和寬度中的至少一個(gè)二等分而獲得的尺寸的處理單元來(lái)執(zhí)行運(yùn)動(dòng)預(yù)測(cè)。在下文中,用于預(yù)測(cè)的處理單元被稱為“預(yù)測(cè)單元”。
[0047]預(yù)測(cè)模式可以是幀內(nèi)模式、幀間模式和跳過(guò)模式中的至少一個(gè),并且可僅對(duì)特定尺寸或特定形狀的預(yù)測(cè)單元執(zhí)行特定的預(yù)測(cè)模式。例如,可僅對(duì)具有2NX2N或NXN的尺寸的正方形的預(yù)測(cè)單元執(zhí)行幀內(nèi)模式。此外,可僅對(duì)具有2NX2N的尺寸的預(yù)測(cè)單元執(zhí)行跳過(guò)模式。如果編碼單元包括多個(gè)預(yù)測(cè)單元,則可對(duì)每個(gè)預(yù)測(cè)單元執(zhí)行預(yù)測(cè),并可選擇具有最小編碼誤差的預(yù)測(cè)單元。
[0048]此外,圖像編碼設(shè)備100可基于具有與編碼單元的尺寸不同的尺寸的處理單元對(duì)圖像數(shù)據(jù)進(jìn)行正交變換??苫诔叽缧∮诨虻扔诰幋a單元的尺寸的數(shù)據(jù)單元對(duì)編碼單元進(jìn)行正交變換。在下文中,用于正交變換的處理單元被稱為“變換單元”。
[0049]編碼深度確定器120可通過(guò)使用基于拉格朗日乘數(shù)(Lagrangian multiplier)的率失真最優(yōu)化來(lái)確定包括在最大編碼單元中的子編碼單元。換句話說(shuō),可確定最大編碼單元被劃分為多個(gè)子編碼單元的劃分形狀。這里,多個(gè)子編碼單元根據(jù)深度具有不同的尺寸。其后,圖像數(shù)據(jù)編碼器130通過(guò)基于由編碼深度確定器120確定的劃分形狀對(duì)最大編碼單元進(jìn)行編碼來(lái)輸出比特流。
[0050]編碼信息編碼器140對(duì)關(guān)于由編碼深度確定器120確定的最大編碼單元的編碼模式的信息進(jìn)行編碼。通過(guò)對(duì)關(guān)于最大編碼單元的劃分形狀的信息、關(guān)于最大深度的信息以及關(guān)于根據(jù)深度的子編碼單元的編碼模式的信息進(jìn)行編碼來(lái)輸出比特流。關(guān)于子編碼單元的編碼模式的信息可包括例如關(guān)于子編碼單元的預(yù)測(cè)單元的信息、關(guān)于預(yù)測(cè)單元的預(yù)測(cè)模式的信息和關(guān)于子編碼單元的變換單元的信息。
[0051]關(guān)于最大編碼單元的劃分形狀的信息可以是表示每個(gè)編碼單元是否被劃分的信息。例如,當(dāng)最大編碼單元被劃分和編碼時(shí),表示最大編碼單元是否被劃分的信息被編碼。此外,當(dāng)通過(guò)劃分最大編碼單元而產(chǎn)生的子編碼單元被劃分和編碼時(shí),表示每個(gè)子編碼單元是否被劃分的信息被編碼。表示編碼單元是否被劃分的信息可以是表示編碼單元是否被劃分的標(biāo)志信息。
[0052]因?yàn)樽畲缶幋a單元包括不同尺寸的子編碼單元,并且關(guān)于每個(gè)子編碼單元的編碼模式的信息必須被確定,所以針對(duì)一個(gè)最大編碼單元可確定關(guān)于至少一個(gè)編碼模式的信息。
[0053]隨著深度加深,圖像編碼設(shè)備100可通過(guò)劃分最大編碼單元的高度和寬度來(lái)產(chǎn)生子編碼單元。也就是說(shuō),如果深度為k的編碼單元具有2NX2N的尺寸,則深度為k+Ι的編碼單元具有N X N的尺寸。
[0054]因此,圖像編碼設(shè)備100可基于考慮圖像特性的最大編碼單元的尺寸和最大深度來(lái)確定每個(gè)最大編碼單元的最優(yōu)劃分形狀。通過(guò)考慮圖像特性可變地調(diào)整最大編碼單元的尺寸并通過(guò)將最大編碼單元?jiǎng)澐殖删哂胁煌疃鹊淖泳幋a單元來(lái)對(duì)圖像進(jìn)行編碼,可有效地對(duì)具有各種分辨率的圖像進(jìn)行編碼。
[0055]圖2是根據(jù)本發(fā)明實(shí)施例的圖像解碼設(shè)備200的框圖。
[0056]參照?qǐng)D2,圖像解碼設(shè)備200包括圖像數(shù)據(jù)獲取器210、編碼信息提取器220和圖像數(shù)據(jù)解碼器230。
[0057]圖像數(shù)據(jù)獲取器210解析圖像解碼設(shè)備200接收的比特流,獲得每個(gè)最大編碼單元的圖像數(shù)據(jù)并將每個(gè)最大編碼單元的圖像數(shù)據(jù)輸出到圖像數(shù)據(jù)解碼器230。圖像數(shù)據(jù)獲取器210可從當(dāng)前幀或當(dāng)前條帶的頭提取關(guān)于當(dāng)前幀或當(dāng)前條帶的最大編碼單元的信息。換句話說(shuō),比特流被劃分為最大編碼單元,以允許圖像數(shù)據(jù)解碼器230對(duì)每個(gè)最大編碼單元的圖像數(shù)據(jù)進(jìn)行解碼。
[0058]編碼信息提取器220解析圖像解碼設(shè)備200接收的比特流,并從當(dāng)前幀的頭提取關(guān)于最大編碼單元、最大深度、最大編碼單元的劃分形狀和子編碼單元的編碼模式的信息。關(guān)于劃分形狀和編碼模式的信息被輸出到圖像數(shù)據(jù)解碼器230。
[0059]關(guān)于最大編碼單元的劃分形狀的信息可包括關(guān)于包括在最大編碼單元中并且根據(jù)深度具有不同尺寸的子編碼單元的信息。如上關(guān)于圖1所述,關(guān)于劃分形狀的信息可以是編碼的表示每個(gè)編碼單元是否被劃分的信息(例如,標(biāo)志信息)。關(guān)于編碼模式的信息可包括例如關(guān)于預(yù)測(cè)單元的信息、關(guān)于預(yù)測(cè)模式的信息、關(guān)于子編碼單元的變換單元的信息。
[0060]圖像數(shù)據(jù)解碼器230通過(guò)基于編碼信息提取器220提取的信息對(duì)每個(gè)最大編碼單元的圖像數(shù)據(jù)進(jìn)行解碼,來(lái)恢復(fù)當(dāng)前幀。
[0061]圖像數(shù)據(jù)解碼器230可基于關(guān)于最大編碼單元的劃分形狀的信息對(duì)包括在最大編碼單元中的子編碼單元進(jìn)行解碼。解碼處理可包括幀間預(yù)測(cè)處理(包括幀內(nèi)預(yù)測(cè)和運(yùn)動(dòng)補(bǔ)償)以及逆正交變換處理。
[0062]圖像數(shù)據(jù)解碼器230可基于關(guān)于預(yù)測(cè)單元的信息和關(guān)于子編碼單元的預(yù)測(cè)模式的信息執(zhí)行幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè),以預(yù)測(cè)子編碼單元。此外,圖像數(shù)據(jù)解碼器230可基于關(guān)于子編碼單元的變換單元的信息對(duì)每個(gè)子編碼單元執(zhí)行逆正交變換。
[0063]圖3是示出根據(jù)本發(fā)明實(shí)施例的分層編碼單元的示圖。
[0064]參照?qǐng)D3,分層編碼單元可包括寬度X高度為64 X 64、32 X 32、16 X 16、8 X 8和4 X 4的編碼單元。除了正方形的編碼單元,還可存在寬度乂高度為64\32、32\64、32\16、16\32、16\8、8\16、8\4和4父8的編碼單元。
[0065]在圖3中,對(duì)于分辨率為1920X1080的圖像數(shù)據(jù)310,最大編碼單元的尺寸被設(shè)置為64 X 64,最大深度被設(shè)置為2。
[0066]對(duì)于分辨率為1920X1080的另一圖像數(shù)據(jù)320,最大編碼單元的尺寸被設(shè)置為64X 64,最大深度被設(shè)置為4。對(duì)于分辨率為352 X 288的圖像數(shù)據(jù)330,最大編碼單元的尺寸被設(shè)置為16 X 16,最大深度被設(shè)置為2。
[0067]如果分辨率高或者數(shù)據(jù)量大,則為了提高壓縮率并且為了準(zhǔn)確反映圖像特性,最大編碼尺寸可以相對(duì)大。因此,對(duì)于分辨率高于圖像數(shù)據(jù)330的分辨率的圖像數(shù)據(jù)310和320,最大編碼單元的尺寸可以被選擇為64 X 64。
[0068]最大深度表示分層編碼單元的總層數(shù)。因?yàn)閳D像數(shù)據(jù)310的最大深度為2,所以圖像數(shù)據(jù)310的編碼單元315可包括具有長(zhǎng)軸大小64的最大編碼單元以及隨著深度加深而具有長(zhǎng)軸大小32和16的子編碼單兀。
[0069]同時(shí),因?yàn)閳D像數(shù)據(jù)330的最大深度為2,所以圖像數(shù)據(jù)330的編碼單元335可包括具有長(zhǎng)軸大小16的最大編碼單元以及隨著深度加深而具有長(zhǎng)軸大小8和4的子編碼單元。
[0070]因?yàn)閳D像數(shù)據(jù)320的最大深度為4,所以圖像數(shù)據(jù)320的編碼單元325可包括具有長(zhǎng)軸大小64的最大編碼單元以及隨著深度加深而具有長(zhǎng)軸大小32、16、8和4的子編碼單元。這樣,因?yàn)殡S著深度加深基于小的子編碼單元對(duì)圖像進(jìn)行編碼,所以可適當(dāng)?shù)貙?duì)包括詳細(xì)場(chǎng)景的圖像進(jìn)行編碼。
[0071]圖4是根據(jù)本發(fā)明實(shí)施例的基于編碼單元的圖像編碼器400的框圖。
[0072]幀內(nèi)預(yù)測(cè)器410對(duì)當(dāng)前幀405中的幀內(nèi)模式的預(yù)測(cè)單元執(zhí)行幀內(nèi)預(yù)測(cè),運(yùn)動(dòng)估計(jì)器420和運(yùn)動(dòng)補(bǔ)償器425通過(guò)使用當(dāng)前幀405以及參考幀495分別對(duì)幀間模式的預(yù)測(cè)單元執(zhí)行幀間預(yù)測(cè)和運(yùn)動(dòng)補(bǔ)償。
[0073]基于從幀內(nèi)預(yù)測(cè)器410、運(yùn)動(dòng)估計(jì)器420和運(yùn)動(dòng)補(bǔ)償器425輸出的預(yù)測(cè)單元來(lái)產(chǎn)生殘差值,產(chǎn)生的殘差值經(jīng)過(guò)正交變換器430和量化器440,從而被輸出為量化的變換系數(shù)。
[0074]量化的變換系數(shù)經(jīng)過(guò)反量化器460和逆頻率變換器470,從而被恢復(fù)為殘差值,恢復(fù)的殘差值通過(guò)去塊器480和環(huán)路濾波單元490被后處理,從而被輸出為參考幀495。量化的變換系數(shù)還可經(jīng)過(guò)熵編碼器450,從而被輸出為比特流455。
[0075]為了基于根據(jù)本發(fā)明實(shí)施例的圖像編碼方法對(duì)圖像進(jìn)行編碼,圖像編碼器400的所有組件(即,幀內(nèi)預(yù)測(cè)器410、運(yùn)動(dòng)估計(jì)器420、運(yùn)動(dòng)補(bǔ)償器425、正交變換器430、量化器440、熵編碼器450、反量化器460、逆頻率變換器470、去塊器480和環(huán)路濾波單元490)基于最大編碼單元、根據(jù)深度的子編碼單元、預(yù)測(cè)單元和變換單元執(zhí)行圖像編碼處理。
[0076]圖5是根據(jù)本發(fā)明實(shí)施例的基于編碼單元的圖像解碼器500的框圖。
[0077]比特流505經(jīng)過(guò)解析器510,從而被解析為將被解碼的編碼的圖像數(shù)據(jù)以及對(duì)編碼的圖像數(shù)據(jù)進(jìn)行解碼所需要的編碼信息。編碼的圖像數(shù)據(jù)經(jīng)過(guò)熵解碼器520和反量化器530,從而被輸出為反量化的數(shù)據(jù),并經(jīng)過(guò)逆頻率變換器540,從而被恢復(fù)為殘差值。殘差值與幀內(nèi)預(yù)測(cè)器550執(zhí)行的幀內(nèi)預(yù)測(cè)的結(jié)果以及運(yùn)動(dòng)補(bǔ)償器560執(zhí)行的運(yùn)動(dòng)補(bǔ)償?shù)慕Y(jié)果相加,從而被恢復(fù)為編碼單元?;謴?fù)的編碼單元經(jīng)過(guò)去塊器570和環(huán)路濾波單元580,從而被用于對(duì)下一編碼單元進(jìn)行解碼或預(yù)測(cè)下一幀。
[0078]為了基于根據(jù)本發(fā)明實(shí)施例的圖像解碼方法對(duì)圖像進(jìn)行解碼,圖像解碼器500的所有組件(即,解析器510、熵解碼器520、反量化器530、逆頻率變換器540、幀內(nèi)預(yù)測(cè)器550、運(yùn)動(dòng)補(bǔ)償器560、去塊器570和環(huán)路濾波單元580)基于最大編碼單元、根據(jù)深度的子編碼單元、預(yù)測(cè)單元和變換單元執(zhí)行圖像解碼處理。
[0079]具體地講,幀內(nèi)預(yù)測(cè)器550和運(yùn)動(dòng)補(bǔ)償器560考慮最大編碼單元和深度來(lái)確定子編碼單元中的預(yù)測(cè)單元和預(yù)測(cè)模式,逆頻率變換器540考慮變換單元的尺寸來(lái)執(zhí)行逆正交變換。
[0080]圖6是示出根據(jù)本發(fā)明實(shí)施例的最大編碼單元、子編碼單元和預(yù)測(cè)單元的示圖。[0081 ]圖1中示出的圖像編碼設(shè)備100和圖2中示出的圖像解碼設(shè)備200使用分層編碼單元,以考慮圖像特性來(lái)執(zhí)行編碼和解碼。可根據(jù)圖像特性自適應(yīng)地設(shè)置最大編碼單元和最大深度,或者可根據(jù)用戶的請(qǐng)求不同地設(shè)置最大編碼單元和最大深度。
[0082]圖6示出編碼單元的分層結(jié)構(gòu)600,在該編碼單元中,最大編碼單元610的高度和寬度均為64,最大深度為4。深度根據(jù)編碼單元的分層結(jié)構(gòu)600的縱軸加深,子編碼單元620、630、640和650的寬度和高度隨著深度加深而減小。此外,沿著編碼單元的分層結(jié)構(gòu)600的橫軸,示出最大編碼單元610以及子編碼單元620、630、640和650的預(yù)測(cè)單元。
[0083]最大編碼單元610具有深度O,并且具有尺寸(即,寬度X高度)64X 64。深度沿著縱軸加深,并且存在尺寸為32 X 32、深度為I的子編碼單元620、尺寸為16 X 16、深度為2的子編碼單元630、尺寸為8X8、深度為3的子編碼單元640以及尺寸為4X4、深度為4的子編碼單元650。尺寸為4 X 4、深度為4的子編碼單元650是最小編碼單元。
[0084]參照?qǐng)D6,沿著橫軸示出根據(jù)深度的預(yù)測(cè)單元的示例。也就是說(shuō),深度為O的最大編碼單元610可包括尺寸為64 X 64的預(yù)測(cè)單元610、尺寸為64 X 32的預(yù)測(cè)單元612、尺寸為32 X64的預(yù)測(cè)單元614、尺寸為32X32的預(yù)測(cè)單元616,這些預(yù)測(cè)單元的尺寸等于或小于編碼單元610的尺寸(S卩,64X64)。
[0085]深度為1、尺寸為32 X 32的編碼單元620可包括尺寸為32 X 32的預(yù)測(cè)單元620、尺寸為32 X 16的預(yù)測(cè)單元622、尺寸為16 X 32的預(yù)測(cè)單元624、尺寸為16 X 16的預(yù)測(cè)單元626,這些預(yù)測(cè)單元的尺寸等于或小于編碼單元620的尺寸(即,32 X 32)。
[0086]深度為2、尺寸為16 X 16的編碼單元630可包括尺寸為16 X 16的預(yù)測(cè)單元630、尺寸為16 X 8的預(yù)測(cè)單元632、尺寸為8 X 16的預(yù)測(cè)單元634、尺寸為8 X 8的預(yù)測(cè)單元636,這些預(yù)測(cè)單元的尺寸等于或小于編碼單元630的尺寸(即,16 X 16)。
[0087]深度為3、尺寸為8 X 8的編碼單元640可包括尺寸為8 X 8的預(yù)測(cè)單元640、尺寸為8X 4的預(yù)測(cè)單元642、尺寸為4 X 8的預(yù)測(cè)單元644、尺寸為4 X 4的預(yù)測(cè)單元646,這些預(yù)測(cè)單元的尺寸等于或小于編碼單元640的尺寸(S卩,8 X 8)。
[0088]最后,深度為4、尺寸為4X 4的編碼單元650具有最大深度,并包括尺寸為4 X 4的預(yù)測(cè)單元650。然而,具有最大深度的編碼單元650不是必然需要包括尺寸等于編碼單元的尺寸的預(yù)測(cè)單元,而是可以像其它編碼單元610、620、630和640那樣,為了預(yù)測(cè)被劃分為尺寸小于編碼單元的尺寸的預(yù)測(cè)單元。
[0089]圖7是示出根據(jù)本發(fā)明實(shí)施例的編碼單元和變換單元的示圖。
[0090]圖1中示出的圖像編碼設(shè)備100和圖2中示出的圖像解碼設(shè)備200對(duì)最大編碼單元或從最大編碼單元?jiǎng)澐智页叽缧∮谧畲缶幋a單元的尺寸的子編碼單元進(jìn)行編碼??蛇x擇用于在編碼處理中執(zhí)行正交變換的變換單元的尺寸以實(shí)現(xiàn)最高的壓縮率,而不管編碼單元和預(yù)測(cè)單元。例如,如果當(dāng)前編碼單元710具有64 X 64的尺寸,則可通過(guò)使用具有32 X 32的尺寸的變換單元720來(lái)執(zhí)行正交變換。此外,可設(shè)置尺寸大于編碼單元的尺寸的變換單元。
[0091]圖8A和圖SB是示出根據(jù)本發(fā)明實(shí)施例的編碼單元、預(yù)測(cè)單元和變換單元的劃分形狀的示圖。
[0092]圖8A示出根據(jù)本發(fā)明實(shí)施例的編碼單元和預(yù)測(cè)單元。
[0093]圖8A的左側(cè)示出圖1中示出的圖像編碼設(shè)備100選擇以對(duì)最大編碼單元810進(jìn)行編碼的劃分形狀。圖像編碼設(shè)備100將最大編碼單元810劃分為各種形狀并對(duì)各種形狀進(jìn)行編碼,基于R-D成本比較編碼的劃分形狀,并選擇最優(yōu)的劃分形狀。如果最優(yōu)的劃分形狀對(duì)應(yīng)于最大編碼單元810,則可直接對(duì)最大編碼單元810進(jìn)行編碼,而無(wú)需如圖8A所示劃分最大編碼單元810。
[0094]參照?qǐng)D8A的左側(cè),深度為O的最大編碼單元810被劃分并編碼為深度等于或大于I的子編碼單元。最大編碼單元810被劃分為四個(gè)深度為I的子編碼單元,然后所有或部分深度為I的子編碼單元被劃分為深度為2的子編碼單元。
[0095]在深度為I的子編碼單元中,右上方子編碼單元和左下方子編碼單元被劃分為深度等于或大于2的子編碼單元。部分深度等于或大于2的子編碼單元可被劃分為深度等于或大于3的子編碼單元。
[0096]圖8A的右側(cè)示出關(guān)于最大編碼單元810的預(yù)測(cè)單元860的劃分形狀。
[0097]參照?qǐng)D8A的右側(cè),關(guān)于最大編碼單元810的預(yù)測(cè)單元860可與最大編碼單元810不同地被劃分。換句話說(shuō),關(guān)于每個(gè)子編碼單元的預(yù)測(cè)單元可小于子編碼單元。
[0098]例如,在深度為I的子編碼單元中,關(guān)于右下方子編碼單元854的預(yù)測(cè)單元可以小于子編碼單元854。在深度為2的子編碼單元814、816、818、828、850和852中,關(guān)于部分子編碼單元814、816、850和852的預(yù)測(cè)單元可小于子編碼單元814、816、850和852。此外,關(guān)于深度為3的子編碼單元822、832和848的預(yù)測(cè)單元可小于子編碼單元822、832和848。預(yù)測(cè)單元可具有通過(guò)將每個(gè)子編碼單元沿高度或?qū)挾确较騽澐譃閮蓚€(gè)單元而獲得的形狀,或者具有通過(guò)將每個(gè)子編碼單元沿高度和寬度方向劃分為四個(gè)單元而獲得的形狀。
[0099]圖SB示出根據(jù)本發(fā)明實(shí)施例的預(yù)測(cè)單元和變換單元。
[0100]圖8B的左側(cè)示出關(guān)于最大編碼單元810的預(yù)測(cè)單元860的劃分形狀,圖8B的右側(cè)示出關(guān)于最大編碼單元810的變換單元870的劃分形狀。
[0101]參照?qǐng)DSB的右側(cè),變換單元870可以與預(yù)測(cè)單元860不同地被劃分。
[0102]例如,雖然關(guān)于深度為I的編碼單元854的預(yù)測(cè)單元被選擇為通過(guò)將編碼單元854的高度二等分獲得的形狀,但是關(guān)于編碼單元854的變換單元可以被選擇為尺寸等于編碼單元854的尺寸。同樣地,雖然關(guān)于深度為2的編碼單元814和850的預(yù)測(cè)單元被選擇為通過(guò)將編碼單元814和850的高度二等分獲得的形狀,但是關(guān)于編碼單元814和850的變換單元可以被選擇為尺寸等于編碼單元814和850的尺寸。
[0103]變換單元可以被選擇為尺寸小于預(yù)測(cè)單元的尺寸。例如,如果關(guān)于深度為2的編碼單元852的預(yù)測(cè)單元被選擇為通過(guò)將編碼單元852的寬度二等分獲得的形狀,則變換單元可以被選擇為尺寸小于預(yù)測(cè)單元的尺寸且通過(guò)將編碼單元852的高度和寬度二等分獲得形狀。還可設(shè)置尺寸為2 X 2的最小變換單元。還可不管編碼單元的尺寸來(lái)設(shè)置變換單元(例如,尺寸大于編碼單元的尺寸)。
[0104]現(xiàn)在將詳細(xì)描述圖4中示出的圖像編碼設(shè)備400的熵編碼器450執(zhí)行的熵編碼處理和圖5中示出的圖像解碼設(shè)備500的熵解碼器520執(zhí)行的熵解碼處理。
[0105]如上關(guān)于圖4和圖5所述,圖像編碼設(shè)備400和圖像解碼設(shè)備500對(duì)最大編碼單元或從最大編碼單元?jiǎng)澐值某叽缧∮谧畲缶幋a單元的尺寸的子編碼單元進(jìn)行編碼。可選擇用于在編碼處理中執(zhí)行正交變換的變換單元的尺寸以實(shí)現(xiàn)最高壓縮率,而不管編碼單元和預(yù)測(cè)單元。例如,如果當(dāng)前編碼單元具有64 X 64的尺寸,則可通過(guò)使用具有32 X 32的尺寸的變換單元來(lái)執(zhí)行正交變換。此外,可設(shè)置尺寸大于編碼單元的尺寸的變換單元。在傳統(tǒng)的編碼處理(例如,H.264)中,對(duì)基于具有相對(duì)小尺寸(例如4X4)的變換單元變換和量化的殘差數(shù)據(jù)進(jìn)行熵編碼。然而,根據(jù)本發(fā)明實(shí)施例,因?yàn)閷⒈混鼐幋a的變換單元(以下稱為“變換塊”)可具有相對(duì)大的尺寸16 X 16、32 X 32、64 X 64或128 X 128以及4 X 4或8 X 8,所以表示在具有非零值的有效變換系數(shù)之間具有值O的連續(xù)系數(shù)的數(shù)量的行程的長(zhǎng)度可增加,需要對(duì)大行程值進(jìn)行適當(dāng)?shù)木幋a。此外,根據(jù)傳統(tǒng)技術(shù),為了對(duì)包括在變換塊中的系數(shù)的信息進(jìn)行編碼,作為表示每個(gè)有效變換系數(shù)是否是最后有效變換系數(shù)的語(yǔ)法元素的last_significant_COeff_flag連同表示具有非零值的有效變換系數(shù)的位置的有效映射一起被熵編碼。然而,如果變換塊連同有效映射和last_significant_coeff_f lag—起被熵編碼,則應(yīng)該在熵解碼處理中確定每個(gè)有效變換系數(shù)是否是最后有效變換系數(shù)。因此,根據(jù)傳統(tǒng)技術(shù),無(wú)法從接收的比特流容易地、直接地識(shí)別表示全部有效變換系數(shù)的數(shù)據(jù)。因此,根據(jù)本發(fā)明實(shí)施例,提供了對(duì)關(guān)于具有大尺寸的變換塊中的最后有效變換系數(shù)的位置的信息進(jìn)行有效的熵編碼和熵解碼的方法。
[0106]圖9是根據(jù)本發(fā)明實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的方法的流程圖。
[0107]參照?qǐng)D9,在操作910,熵編碼器450根據(jù)特定掃描順序,從具有非零值且包括在具有特定尺寸的變換塊中的有效變換系數(shù)中確定最后有效變換系數(shù)的位置。更具體地講,如果包括通過(guò)執(zhí)行變換和量化處理而獲得的變換系數(shù)的變換塊被輸入,則熵編碼器450根據(jù)特定掃描順序(例如,Z字形掃描順)確定包括在變換塊中的有效變換系數(shù),并確定最后掃描到的最后有效變換系數(shù)的位置。
[0108]在操作920,熵編碼器450通過(guò)使用變換塊中的最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。如果最后有效變換系數(shù)位于從變換塊的左上位置開(kāi)始的橫軸方向的第X位置(X是等于或大于O的整數(shù))和縱軸方向的第y位置(y是等于或大于O的整數(shù)),則熵編碼器450對(duì)表示最后有效變換系數(shù)的位置的值X和y進(jìn)行編碼。根據(jù)傳統(tǒng)技術(shù),對(duì)表示每個(gè)有效變換系數(shù)是否是最后有效變換系數(shù)的last_significant_coeff_flag進(jìn)行編碼。然而,根據(jù)本發(fā)明實(shí)施例,僅對(duì)表示變換塊中的最后有效變換系數(shù)的位置的坐標(biāo)信息進(jìn)行編碼??赏ㄟ^(guò)使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)方法或可變長(zhǎng)度編碼(VLC)方法對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。以下將描述通過(guò)使用CABAC或VLC對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼的方法。
[0109]在對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼之后,熵編碼器450對(duì)位于變換塊中的每個(gè)有效變換系數(shù)的級(jí)別信息進(jìn)行編碼。熵編碼器450可對(duì)每個(gè)有效變換系數(shù)的符號(hào)值和絕對(duì)值進(jìn)行編碼,作為級(jí)別信息。
[0110]圖10是用于描述根據(jù)本發(fā)明實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的處理的參考示圖。
[0111]參照?qǐng)D10,熵編碼器450根據(jù)Z字形掃描順序掃描變換塊1000中的變換系數(shù)。假設(shè)圖10中所有空的空間表示具有值“O”的變換系數(shù)。在圖10中,最后有效變換系數(shù)是具有值I”的變換系數(shù)1010。如圖10所示,具有值“-Γ的最后有效變換系數(shù)1010位于從左上變換系數(shù)開(kāi)始的橫軸方向的第5位置和縱軸方向的第5位置。因此,熵編碼器450將值x = 5和y = 5編碼為關(guān)于最后有效變換系數(shù)1010的位置的信息。
[0112]圖11是根據(jù)本發(fā)明實(shí)施例的熵編碼設(shè)備1100的框圖。
[0113]參照?qǐng)D11,熵編碼設(shè)備1100包括開(kāi)關(guān)1110、上下文自適應(yīng)二進(jìn)制算術(shù)編碼器(CABAC) 1120和可變長(zhǎng)度編碼器(VLC) 1130。
[0114]如上關(guān)于圖9所述,如果最后有效變換系數(shù)的位置被確定,則通過(guò)使用CABAC或VLC來(lái)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。開(kāi)關(guān)1110控制關(guān)于最后有效變換系數(shù)的位置的信息被輸出到CABAC 1120或VLC 1130,其中,以條帶、畫(huà)面或畫(huà)面組為單位對(duì)所述信息進(jìn)行編碼。還可通過(guò)比較通過(guò)使用CABAC或VLC獲得的R-D成本來(lái)確定是使用CABAC還是使用VLC來(lái)對(duì)所述信息進(jìn)行編碼。
[0115]現(xiàn)在將描述通過(guò)使用CABAC對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼的方法。
[0116]圖12是根據(jù)本發(fā)明實(shí)施例的CABAC裝置1200的框圖。
[0117]參照?qǐng)D12<48六(:裝置1200主要包括二進(jìn)制化編碼器(1^11&42601210、上下文建模器1220和二進(jìn)制算術(shù)編碼器1230。此外,二進(jìn)制算術(shù)編碼器1230包括常規(guī)編碼引擎1232和旁路編碼引擎1234。
[0118]二進(jìn)制化編碼器1210將表示最后有效變換系數(shù)的位置的變換塊中的橫軸方向位置X和縱軸方向位置y轉(zhuǎn)換為二進(jìn)制值并輸出bin串Ain表示bin串的每個(gè)比特。二進(jìn)制化關(guān)于最后有效變換系數(shù)的位置的信息的方法包括各種二進(jìn)制化方法,諸如一元二進(jìn)制化、截?cái)嘁辉M(jìn)制化、級(jí)聯(lián)一元/k階指數(shù)Golomb二進(jìn)制化和固定長(zhǎng)度二進(jìn)制化。例如,在圖10中,如果最后有效變換系數(shù)的位置被表示為X = 5,Y = 5,則通過(guò)使用截?cái)嘁辉M(jìn)制化可將值X和Y 二進(jìn)制化為X = 0000001和Y = 000001。
[0119]通過(guò)二進(jìn)制化編碼器1210映射到二進(jìn)制值的關(guān)于最后有效變換系數(shù)的位置的信息被輸入到上下文建模器1220。上下文建模器1220基于輸入的bin值或先前編碼的語(yǔ)法元素確定對(duì)當(dāng)前輸入的bin進(jìn)行編碼所需的概率模型(S卩,上下文)。具體地講,根據(jù)本發(fā)明實(shí)施例,可根據(jù)最后有效變換系數(shù)的位置選擇一個(gè)先前確定的上下文。
[0120]常規(guī)編碼引擎1232通過(guò)基于由上下文建模器1220確定的概率模型對(duì)輸入的bin值進(jìn)行算術(shù)編碼來(lái)廣生比特流。
[0121]旁路編碼引擎1234是用于輸出輸入值而不壓縮輸入值的引擎,并且對(duì)諸如脈沖編碼調(diào)制(PCM)數(shù)據(jù)的數(shù)據(jù)進(jìn)行編碼。
[0122]圖13是用于描述根據(jù)本發(fā)明實(shí)施例的選擇用于對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼的上下文的處理的參考示圖。
[0123]上下文建模器1220根據(jù)最后有效變換系數(shù)的位置選擇多個(gè)先前編寫(xiě)的上下文之一。所述多個(gè)上下文根據(jù)最后有效變換系數(shù)的位置將二進(jìn)制信號(hào)的“O”和“I”分類為最大可能符號(hào)(MPS)和最小可能符號(hào)(LPS),并設(shè)置MPS和LPS的概率值?!癘”和“I”中的哪個(gè)符號(hào)被設(shè)置為MPS或LPS,以及如何設(shè)置MPS和LPS的概率值,這可根據(jù)需要來(lái)設(shè)計(jì)。圖13示出當(dāng)根據(jù)Z字形掃描順序掃描變換塊中的變換系數(shù)時(shí),根據(jù)除了與DC相應(yīng)的左上位置之外的最后有效變換系數(shù)的位置選擇的上下文。參照?qǐng)D13,上下文建模器1220包括關(guān)于4X4變換塊的具有索引0、1、2的三個(gè)上下文,并且根據(jù)除了左上位置之外的4X4變換塊中的位置之中的最后有效變換系數(shù)的位置來(lái)選擇具有索引0、1、2的三個(gè)上下文之一。也就是說(shuō),如果最后有效變換系數(shù)位于4X4變換塊中的(I,0),則選擇具有索引O的上下文,如果最后有效變換系數(shù)位于(0,I),則選擇具有索引I的上下文,如果最后有效變換系數(shù)位于(I,I),則選擇具有索弓丨2的上下文。同樣,上下文建模器1220包括關(guān)于8X8變換塊的具有索引O至6的七個(gè)上下文,并且根據(jù)除了左上位置之外的8X8變換塊中的位置之中的最后有效變換系數(shù)的位置來(lái)選擇具有索引O至6的七個(gè)上下文之一。相似地,上下文建模器1220包括關(guān)于16 X 16變換塊的具有索引O至11的十二個(gè)上下文,并且根據(jù)除了左上位置之外的I6Xl6變換塊中的位置之中的最后有效變換系數(shù)的位置來(lái)選擇具有索引O至11的十二個(gè)上下文之一。
[0124]常規(guī)編碼引擎1232通過(guò)基于由上下文建模器1220確定上下文對(duì)表示最后有效變換系數(shù)的位置的輸入的bin值進(jìn)行算術(shù)編碼來(lái)產(chǎn)生比特流。例如,假設(shè)最后有效變換系數(shù)的橫軸方向位置(即,X)具有值3,二進(jìn)制化編碼器1210通過(guò)對(duì)值3二進(jìn)制化產(chǎn)生bin串“010”。還假設(shè),基于上下文建模器1220根據(jù)最后有效變換系數(shù)的位置選擇的上下文,MPS是具有概率值0.8的“O”,LPS是具有概率值0.2的“I”。常規(guī)編碼引擎1232通過(guò)根據(jù)作為用于形成bin串“O I O”的初始b in的“O”的概率值分割區(qū)間[O,I ]來(lái)將區(qū)間[O,I ]更新為區(qū)間[O,0.8 ],并且根據(jù)作為下一bin的“I”的概率值將區(qū)間[0,0.8]更新為新的區(qū)間[0.64,0.8]。此外,常規(guī)編碼引擎1232根據(jù)作為最后bin的“O”的概率值將區(qū)間[0.64,0.8 ]更新為區(qū)間[0.64,0.768 ]。常規(guī)編碼引擎1232將通過(guò)從“0.11”排除初始數(shù)字而獲得的“11”輸出為與表示最后有效變換系數(shù)的橫軸方向位置的值3相應(yīng)的碼字,其中,“0.11”是包括在區(qū)間[0.64,0.768]中的實(shí)數(shù)0.75的二進(jìn)制數(shù)。同樣,常規(guī)編碼引擎1232對(duì)表示最后有效變換系數(shù)的縱軸方向位置的坐標(biāo)值Y 二進(jìn)制化,并通過(guò)根據(jù)選擇的上下文對(duì)二進(jìn)制化的坐標(biāo)值Y進(jìn)行編碼來(lái)產(chǎn)生比特流。
[0125]除上述關(guān)于最后有效變換系數(shù)的位置的信息之外,圖11中示出的CABACl120對(duì)表示具有非零值的有效變換系數(shù)是否存在于變換塊中的c0ded_bl0Ck_flag以及表示變換塊中的每個(gè)有效變換系數(shù)的位置的signif icant_coeff_f lag進(jìn)行編碼。coded_block_f lag和81區(qū)111;1^03111:_(306€;1^_;1^138的編碼處理可以與傳統(tǒng)的!1.264的編碼處理相同。例如,參照示出與圖10相應(yīng)的有效映射1400的圖14,可通過(guò)如果具有第i掃描順序的變換系數(shù)是有效變換系數(shù)則將signifiCant_COefT_flag[i]設(shè)置為1,如果具有第i掃描順序的變換系數(shù)是O則將81區(qū)11丨;1^03111:_(306€;1^_;1^138[;[]設(shè)置為0,來(lái)表示有效映射1400。可通過(guò)使用如H.264中的十五個(gè)概率模型來(lái)對(duì)有效映射1400進(jìn)行編碼。
[0126]在對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼之后,熵編碼器450對(duì)位于變換塊中的每個(gè)有效變換系數(shù)的級(jí)別信息進(jìn)行編碼。
[0127]圖15是用于描述在圖10中示出的對(duì)包括在變換塊1000中的有效變換系數(shù)的級(jí)別值進(jìn)行編碼的處理的參考示圖。
[0128]參照?qǐng)D10和圖15,熵編碼器450根據(jù)Z字形掃描順序,從左上變換系數(shù)到最后有效變換系數(shù)掃描圖10中示出的變換系數(shù),并獲得如圖15所示的一維對(duì)齊的變換系數(shù)。
[0129]熵編碼器450通過(guò)使用如H.264中的表示在有效變換系數(shù)之間具有值O的連續(xù)系數(shù)的數(shù)量的行程以及表示每個(gè)有效變換系數(shù)的值的級(jí)別來(lái)對(duì)一維對(duì)齊的變換系數(shù)進(jìn)行編碼。更詳細(xì)地講,熵編碼器450以與掃描順序相反的順序(S卩,圖15的從右側(cè)到左側(cè)的方向)確定行程和級(jí)別,并通過(guò)使用特定VLC表對(duì)行程和級(jí)別進(jìn)行編碼。
[0130]圖16是示出根據(jù)本發(fā)明實(shí)施例使用的多個(gè)VLC表VLCO至VLC8的示例的示圖。熵編碼器450可根據(jù)最后有效變換系數(shù)的位置選擇VLC表VLCO至VLC8之一,并可通過(guò)使用選擇的VLC表對(duì)行程和級(jí)別進(jìn)行編碼。例如,如圖15所示,通過(guò)使用VLC表,從具有值“-Γ的最后有效變換系數(shù)1510開(kāi)始,對(duì)表示在有效變換系數(shù)之間具有值O的連續(xù)變換系數(shù)的數(shù)量的行程1530、1540、1550 和 1560執(zhí)行 VLC。
[0131]因?yàn)楦鶕?jù)本發(fā)明的變換塊可具有等于或大于16X 16的大尺寸,所以行程值可能增大。例如,如果VLC表僅包括從O至63的行程值并且行程值大于63,則不可通過(guò)使用VLC表對(duì)該值進(jìn)行編碼。因此,根據(jù)本發(fā)明實(shí)施例,考慮VLC表可用的最大行程值,如果變換塊具有大于最大行程值的行程值,則熵編碼器450對(duì)等于或小于最大行程值的行程值進(jìn)行編碼,然后對(duì)其他行程值進(jìn)行編碼。例如,如果最大行程值是63,并且將被編碼的行程值是70,則行程值70被分割為63和7,并且行程值63和7被分別編碼為行程信息。
[0132]根據(jù)本發(fā)明另一實(shí)施例,除了上述CABAC以外,還可通過(guò)使用VLC對(duì)最后有效變換系數(shù)的位置(x,y)進(jìn)行編碼。也就是說(shuō),熵編碼器450可參考根據(jù)值X和y先前編寫(xiě)的VLC表來(lái)對(duì)值X和y執(zhí)行VLC。
[0133]圖17是用于描述根據(jù)本發(fā)明另一實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的方法的參考示圖。
[0134]根據(jù)當(dāng)前實(shí)施例,熵編碼器450將變換塊劃分為具有特定尺寸的子塊,并將關(guān)于包括最后有效變換系數(shù)的子塊中的最后有效變換系數(shù)的位置的信息連同該子塊的索引一起進(jìn)行編碼。在圖17中,假設(shè)(Sa,b)表示子塊a中的具有第b掃描索引的變換系數(shù)。參照?qǐng)D17,如果假設(shè)最后有效變換系數(shù)是子塊I 1771中的(SI,12),則熵編碼器450將表示子塊I 1771中的最后有效變換系數(shù)(SI,12)的位置的(2,2)(作為關(guān)于子塊中的最后有效變換系數(shù)的位置的信息)連同表示子塊I 1771的特定索引一起編碼。
[0135]返回參照?qǐng)D10,根據(jù)本發(fā)明另一實(shí)施例,通過(guò)使用變換塊1000中的最后有效變換系數(shù)1010(以下稱為“第一最后有效變換系數(shù)”)以及在第一最后有效變換系數(shù)1010之前的有效變換系數(shù)1020(以下稱為“第二最后有效變換系數(shù)”)對(duì)變換系數(shù)進(jìn)行編碼。更詳細(xì)地講,如上所述,熵編碼器450對(duì)表示第二最后有效變換系數(shù)1020的(3,4)進(jìn)行編碼。然后,熵編碼器450對(duì)第一最后有效變換系數(shù)1010和第二最后有效變換系數(shù)1020之間的行程值進(jìn)行編碼。如上所述,如果第二最后有效變換系數(shù)1020的位置已知,則可通過(guò)將第一最后有效變換系數(shù)1010和第二最后有效變換系數(shù)1020之間的行程值加到第二最后有效變換系數(shù)1020的位置來(lái)獲得第一最后有效變換系數(shù)1010的位置。
[0136]圖18A和圖18B是用于描述根據(jù)本發(fā)明另一實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵編碼的方法的參考示圖。
[0137]熵編碼器450可根據(jù)最后有效變換系數(shù)以哪種順序被首先掃描(S卩,根據(jù)最后有效變換系數(shù)是接近變換塊的左上位置還是接近變換塊的右下位置),來(lái)選擇與Z字形掃描順序和反Z字形掃描順序之一相應(yīng)的掃描方向,并可將關(guān)于最后有效變換系數(shù)的位置的信息連同表示選擇的掃描方向的索引一起編碼。例如,如圖18A所示,如果標(biāo)號(hào)1812表示中心位置,則最后有效變換系數(shù)1811更接近左上位置。在這種情況下,熵編碼器450可將關(guān)于最后有效變換系數(shù)1811的位置的信息連同表示從左上位置開(kāi)始的掃描方向的索引(正向掃描索引)一起編碼。此外,如圖18B所示,如果標(biāo)號(hào)1822表示中心位置并且最后有效變換系數(shù)1821更接近右下位置,則熵編碼器450可將關(guān)于最后有效變換系數(shù)1821的位置的信息連同表示從右下位置開(kāi)始的掃描方向的索引(反向掃描索引)一起編碼。
[0138]根據(jù)本發(fā)明另一實(shí)施例,為了對(duì)行程值進(jìn)行編碼,可設(shè)置特定全局行程,并且當(dāng)行程值除以全局行程時(shí),可通過(guò)使用商和余數(shù)來(lái)表示行程值(行程細(xì)化)。例如,假設(shè)行程值是78并且全局行程具有值16。在這種情況下,當(dāng)78除以16時(shí),商是4,余數(shù)是14。因此,可通過(guò)使用作為全局行程的值的16、作為商的值的4和作為余數(shù)的值的14來(lái)表示行程值78。熵編碼器450可通過(guò)使用VLC或CABAC對(duì)關(guān)于全局行程、商和余數(shù)的信息進(jìn)行編碼。如果編碼器和解碼器預(yù)先設(shè)置相同的全局行程,則可不額外地對(duì)關(guān)于全局行程的信息進(jìn)行編碼。
[0139]此外,根據(jù)本發(fā)明另一實(shí)施例,熵編碼器450可根據(jù)包括最后有效變換系數(shù)的變換塊的尺寸,通過(guò)應(yīng)用不同的VLC表來(lái)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行編碼。
[0140]圖19是根據(jù)本發(fā)明實(shí)施例的對(duì)變換系數(shù)進(jìn)行熵解碼的方法的流程圖。
[0141]參照?qǐng)D19,在操作1910,熵解碼器520根據(jù)特定掃描順序,從接收的比特流提取關(guān)于具有非零值且包括在變換塊中的最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置的信息。如上關(guān)于圖9所述,如果最后有效變換系數(shù)位于從變換塊的左上位置開(kāi)始的橫軸方向的第X位置(X是等于或大于O的整數(shù))和縱軸方向的第y位置(y是等于或大于O的整數(shù)),則關(guān)于最后有效變換系數(shù)的位置的信息包括值X和y。
[0142]在操作1920,熵解碼器520通過(guò)對(duì)關(guān)于橫軸方向位置和縱軸方向位置的信息進(jìn)行解碼來(lái)確定最后有效變換系數(shù)的位置。熵解碼器520通過(guò)使用上下文自適應(yīng)二進(jìn)制算術(shù)解碼(CABAD)或可變長(zhǎng)度解碼(VLD)對(duì)關(guān)于最后有效變換系數(shù)的位置的信息進(jìn)行解碼,并確定最后有效變換系數(shù)的位置,其中,CABAD和VLD是熵編碼器450執(zhí)行的編碼處理的逆處理。更詳細(xì)地講,熵解碼器520可參考特定VLC查找表對(duì)最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置執(zhí)行VLD。此外,熵解碼器520可根據(jù)最后有效變換系數(shù)的位置選擇多個(gè)上下文之一,并可根據(jù)選擇的上下文對(duì)關(guān)于最后有效變換系數(shù)的位置的信息執(zhí)行CABAD。
[0143]在操作1930,熵解碼器520通過(guò)使用最后有效變換系數(shù)的位置對(duì)包括在比特流中的行程和級(jí)別信息進(jìn)行解碼。如果行程的長(zhǎng)度大于特定閾值,則熵解碼器520首先對(duì)行程信息中的等于該閾值的長(zhǎng)度的部分進(jìn)行解碼,然后對(duì)行程信息中的剩余部分進(jìn)行解碼。如上關(guān)于圖16所述,如果對(duì)行程值進(jìn)行編碼的閾值被設(shè)置為63,則行程值70被分割為行程值63和7,然后行程值63和7被分別編碼。因此,熵解碼器520可通過(guò)對(duì)行程值63和7分別進(jìn)行解碼,然后將它們組合,來(lái)對(duì)行程值70進(jìn)行解碼。
[0144]圖20是根據(jù)本發(fā)明實(shí)施例的熵解碼設(shè)備2000的框圖。
[0145]參照?qǐng)D20,熵解碼設(shè)備2000包括開(kāi)關(guān)2010、CABAD 2020和VLD 2030。
[0146]開(kāi)關(guān)2010通過(guò)使用以條帶、畫(huà)面或畫(huà)面組為單位設(shè)置的變換系數(shù)的編碼模式信息,將關(guān)于編碼的變換系數(shù)的信息輸出到CABAD 2020和VLD 2030之一。
[0147]VLD 2030可參考特定VLC查找表對(duì)最后有效變換系數(shù)的橫軸方向位置和縱軸方向位置執(zhí)行VLDt^MhCABAD 2020可根據(jù)最后有效變換系數(shù)的位置選擇多個(gè)上下文之一,并可根據(jù)選擇的上下文對(duì)關(guān)于最后有效變換系數(shù)的位置的信息執(zhí)行CABAD。
[0148]本發(fā)明還可實(shí)施為計(jì)算機(jī)可讀記錄介質(zhì)上的計(jì)算機(jī)可讀編碼。計(jì)算機(jī)可讀記錄介質(zhì)是任何可存儲(chǔ)其后可由計(jì)算機(jī)系統(tǒng)讀取的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)裝置。計(jì)算機(jī)可讀記錄介質(zhì)的示例包括只讀存儲(chǔ)器(R0M)、隨機(jī)存取存儲(chǔ)器(RAM)、⑶-R0M、磁帶、軟盤(pán)、光學(xué)數(shù)據(jù)存儲(chǔ)裝置等。計(jì)算機(jī)可讀記錄介質(zhì)還可分布于聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)上,從而以分布式方式存儲(chǔ)和執(zhí)行計(jì)算機(jī)可讀代碼。
[0149]雖然已經(jīng)參照本發(fā)明的示例性實(shí)施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域普通技術(shù)人員將理解,在不脫離權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可以在形式和細(xì)節(jié)上進(jìn)行各種改變。因此,本發(fā)明的范圍不是由本發(fā)明的詳細(xì)描述限定,而是由權(quán)利要求限定,并且所述范圍內(nèi)的所有不同將被解釋為包括在本發(fā)明中。
【主權(quán)項(xiàng)】
1.一種用于視頻解碼的設(shè)備,所述設(shè)備包括被配置用于對(duì)變換塊執(zhí)行逆變換的處理器, 其中,處理器被配置用于: 從比特流獲得指示變換塊的變換系數(shù)之中的最后有效系數(shù)的X坐標(biāo)的X索引以及指示最后有效系數(shù)的y坐標(biāo)的y索引; 基于X索引和y索引來(lái)確定最后有效系數(shù)的位置; 基于最后有效系數(shù)的位置從比特流獲得有效系數(shù)的級(jí)別信息;以及 使用有效系數(shù)的級(jí)別信息對(duì)變換塊執(zhí)行逆變換。
【文檔編號(hào)】H04N19/18GK105847811SQ201610305424
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2011年7月8日
【發(fā)明人】李培根, 孫有美
【申請(qǐng)人】三星電子株式會(huì)社