技術(shù)領(lǐng)域
本公開涉及圖像處理設(shè)備和圖像處理方法。
背景技術(shù):
H.264/AVC(圖像編碼方案的標準規(guī)范之一),以均包含4×4像素的塊為單位,將去塊濾波器應(yīng)用于塊邊界,以便避免在編碼圖像的時候,由塊失真引起的圖像質(zhì)量降低。去塊濾波器需要大量的處理,可能占到圖像解碼中的總處理量的50%。
高效視頻編碼(HEVC)(下一代圖像編碼方案)的標準化工作提出按照JCTVC-A119(參見非專利文獻1),以均包含8×8像素或者更多像素的塊為單位,應(yīng)用去塊濾波器。在JCTVC-A119中提出的技術(shù)把塊大小增大到允許應(yīng)用去塊濾波器的最小單位,以便對一個宏塊內(nèi)的相同方向的塊邊界,并行地進行濾波處理。
引文列表
非專利文獻
非專利文獻1:K.Ugur(Nokia),K.R.Andersson(LM Ericsson),A.Fuldseth(Tandberg Telecom),“JCTVC-A119:Video coding technology proposal by Tandberg,Nokia,and Ericsson”,Documents of the first meeting of the Joint Collaborative Team on Video Coding(JCT-VC),Dresden,Germany,15-23April,2010。
技術(shù)實現(xiàn)要素:
即使使用在JCTVC-A119中提出的技術(shù),在對垂直塊邊界的處理和對水平塊邊界的處理之間仍然存在依存關(guān)系。具體地說,對一個宏塊的垂直邊界的處理要等到進行對鄰近宏塊的水平邊界的處理為止。對一個宏塊的水平邊界的處理要等到進行對相同宏塊的垂直邊界的處理為止。上述技術(shù)只能程度非常有限地提供去塊濾波器的并行處理。因而,上述技術(shù)不能成功解決由在應(yīng)用去塊濾波器時的較大處理量引起的延遲和數(shù)據(jù)速率的降低的問題。
按照本公開的技術(shù)目的在于提供一種能夠在應(yīng)用去塊濾波器時,提供進一步的并行處理的圖像處理設(shè)備和圖像處理方法。
按照本公開的實施例,提供一種圖像處理設(shè)備,包括解碼部分,所述解碼部分被配置成從編碼流中解碼圖像,水平濾波部件,所述水平濾波部件被配置成將去塊濾波器應(yīng)用于在將由解碼部分解碼的圖像內(nèi)的垂直塊邊界,垂直濾波部件,所述垂直濾波部件被配置成將去塊濾波器應(yīng)用于在將由解碼部分解碼的圖像內(nèi)的水平塊邊界,和控制部分,所述控制部分被配置成使水平濾波部件并行地濾波包括在包含多個編碼單位的處理單位中的多個垂直塊邊界,和使垂直濾波部件并行地濾波包括在所述處理單位中的多個水平塊邊界。
典型地,該圖像處理設(shè)備可被實現(xiàn)成對圖像解碼的圖像解碼設(shè)備。
按照本公開的實施例,提供一種圖像處理方法,包括從編碼流中解碼圖像,進行水平濾波,以把去塊濾波器應(yīng)用于在待解碼的圖像內(nèi)的垂直塊邊界,進行垂直濾波,以把去塊濾波器應(yīng)用于在待解碼的圖像內(nèi)的水平塊邊界,和控制水平濾波和垂直濾波,以致并行地濾波包括在包含多個編碼單位的處理單位中的多個垂直塊邊界,和并行地濾波包括在所述處理單位中的多個水平塊邊界。
按照本公開的實施例,提供一種圖像處理設(shè)備,包括水平濾波部件,所述水平濾波部件被配置成當(dāng)編碼待編碼圖像時,把去塊濾波器應(yīng)用于在要局部解碼的圖像內(nèi)的垂直塊邊界,垂直濾波部件,所述垂直濾波部件被配置成把去塊濾波器應(yīng)用于所述圖像內(nèi)的水平塊邊界,控制部分,所述控制部分被配置成使水平濾波部件并行地濾波包括在包含多個編碼單位的處理單位中的多個垂直塊邊界,和使垂直濾波部件并行地濾波包括在所述處理單位中的多個水平塊邊界,和編碼部件,所述編碼部件被配置成利用由水平濾波部件和垂直濾波部件濾波的圖像,編碼所述待編碼圖像。
典型地,該圖像處理設(shè)備可被實現(xiàn)成對圖像編碼的圖像編碼設(shè)備。
按照本公開的實施例,提供一種圖像處理方法,包括進行水平濾波,以便當(dāng)編碼待編碼圖像時,把去塊濾波器應(yīng)用于在要局部解碼的圖像內(nèi)的垂直塊邊界,進行垂直濾波,以便把去塊濾波器應(yīng)用于所述圖像內(nèi)的水平塊邊界,控制水平濾波和垂直濾波,以便并行地濾波包括在包含多個編碼單位的處理單位中的多個垂直塊邊界,和并行地濾波包括在所述處理單位中的多個水平塊邊界,和利用借助水平濾波和垂直濾波所濾波的圖像,編碼所述待編碼圖像。
如上所述,按照本公開的圖像處理設(shè)備和圖像處理方法還改善應(yīng)用去塊濾波器時的并行處理。
附圖說明
圖1是表示按照實施例的圖像編碼設(shè)備的結(jié)構(gòu)的例子的方框圖。
圖2是表示按照實施例的圖像解碼設(shè)備的結(jié)構(gòu)的例子的方框圖。
圖3是表示邊界周圍的鄰近像素的例子的說明圖。
圖4是圖解說明按照現(xiàn)有技術(shù)的濾波需要判定處理期間的參考像素的說明圖。
圖5是圖解說明利用濾波處理更新的像素的說明圖。
圖6是圖解說明用于說明實施例的邊緣的標識的說明圖。
圖7是圖解說明按照現(xiàn)有技術(shù)的并行處理的說明圖。
圖8是圖解說明按照現(xiàn)有技術(shù)的處理之間的依存關(guān)系的第一說明圖。
圖9是圖解說明按照現(xiàn)有技術(shù)的處理之間的依存關(guān)系的第二說明圖。
圖10是圖解說明按照現(xiàn)有技術(shù)的處理序列的說明圖。
圖11是圖解說明按照第一示例的處理序列的說明圖。
圖12是圖解說明按照第一實施例的去塊濾波器的詳細結(jié)構(gòu)的方框圖。
圖13是圖解說明判定部分的詳細結(jié)構(gòu)的方框圖。
圖14是圖解說明切片邊界周圍的鄰近塊的說明圖。
圖15是圖解說明每個切片的處理序列的第一個例子的說明圖。
圖16是圖解說明每個切片的處理序列的第二個例子的說明圖。
圖17是圖解說明由變形例提供的判定技術(shù)的第一個和第二個例子的說明圖。
圖18是圖解說明由變形例提供的判定技術(shù)的第三個和第四個例子的說明圖。
圖19是圖解說明由變形例提供的判定技術(shù)的第五個和第六個例子的說明圖。
圖20是圖解說明按照第一示例的去塊濾波器的處理流程的流程圖。
圖21是圖解說明濾波需要判定處理的流程的流程圖。
圖22是圖解說明按照第二示例的處理序列的說明圖。
圖23是圖解說明按照第二示例的去塊濾波器的詳細結(jié)構(gòu)的方框圖。
圖24是圖解說明按照第二示例的去塊濾波器的處理流程的流程圖。
圖25是圖解說明每個CLU的處理序列的說明圖。
圖26是圖解說明每個LCU的處理流程的流程圖。
圖27是圖解說明第三示例的概況的說明圖。
圖28是圖解說明按照第三示例的去塊濾波器的詳細結(jié)構(gòu)的方框圖。
圖29是圖解說明加權(quán)平均值的權(quán)重的確定的說明圖。
圖30是圖解說明加權(quán)平均值的權(quán)重的例子的說明圖。
圖31是圖解說明按照第三示例的計算部分的輸出像素值的說明圖。
圖32是圖解說明用于比較的處理序列的第一個例子的說明圖。
圖33是圖解說明由第三示例提供的處理序列的第一個例子的說明圖。
圖34是圖解說明用于比較的處理序列的第二個例子的說明圖。
圖35是圖解說明由第三示例提供的處理序列的第二個例子的說明圖。
圖36是圖解說明按照第三示例的去塊濾波器的處理流程的第一個例子的流程圖。
圖37是圖解說明圖36中所示的像素值計算處理的流程的流程圖。
圖38是圖解說明多視圖編解碼器的說明圖。
圖39是圖解說明按照實施例的應(yīng)用于多視圖編解碼器的圖像編碼處理的說明圖。
圖40是圖解說明按照實施例的應(yīng)用于多視圖編解碼器的圖像解碼處理的說明圖。
圖41是圖解說明可擴展編解碼器的說明圖。
圖42是圖解說明按照實施例的應(yīng)用于可擴展編解碼器的圖像編碼處理的說明圖。
圖43是圖解說明按照實施例的應(yīng)用于可擴展編解碼器的圖像解碼處理的說明圖。
圖44是圖解說明電視機的示意結(jié)構(gòu)的方框圖。
圖45是圖解說明移動電話機的示意結(jié)構(gòu)的方框圖。
圖46是圖解說明記錄/再現(xiàn)設(shè)備的示意結(jié)構(gòu)的方框圖。
圖47是圖解說明攝像設(shè)備的示意結(jié)構(gòu)的方框圖。
具體實施方式
下面參考附圖,詳細說明本發(fā)明的優(yōu)選實施例。注意在說明書和附圖中,功能和結(jié)構(gòu)基本相同的元件用相同的附圖標記表示,重復(fù)的說明被省略。
將按照以下順序說明具體實施方式。
1.設(shè)備概況
1-1.圖像編碼設(shè)備
1-2.圖像解碼設(shè)備
2.現(xiàn)有技術(shù)
2-1.去塊濾波器的基本結(jié)構(gòu)
2-2.按照現(xiàn)有技術(shù)的處理之間的依存關(guān)系
3.第一實施例
3-1.去塊濾波器結(jié)構(gòu)例子
3-2.判定條件變形例
3-3.處理流程
4.第二實施例
4-1.去塊濾波器結(jié)構(gòu)例子
4-2.處理流程
4-3.每個LCU的處理例子
5.第三實施例
5-1.概況
5-2.去塊濾波器結(jié)構(gòu)例子
5-3.處理序列例子
5-4.處理流程
6.對各種編解碼器的應(yīng)用
6-1.多視圖編解碼器
6-2.可擴展編解碼器
7.例證應(yīng)用
8.總結(jié)
1.設(shè)備概況
參見圖1和2,下面說明在本說明書中公開的技術(shù)適用于的設(shè)備的概況。在本說明書中公開的技術(shù)適用于圖像編碼設(shè)備和圖像解碼設(shè)備。
[1-1.圖像編碼設(shè)備]
圖1是表示按照實施例的圖像編碼設(shè)備10的結(jié)構(gòu)的例子的方框圖。參見圖1,圖像編碼設(shè)備10包括A/D(模-數(shù))轉(zhuǎn)換部分11、重排緩沖器12、減法部分13、正交變換部分14、量化部分15、無損編碼部件16、累積緩沖器17、速率控制部分18、逆量化部分21、逆正交變換部分22、加法部分23、去塊濾波器24a、幀存儲器25、選擇器26、幀內(nèi)預(yù)測部分30、運動估計部分40和模式選擇部分50。
A/D轉(zhuǎn)換部分11把按模擬格式輸入的圖像信號轉(zhuǎn)換成數(shù)字格式的圖像數(shù)據(jù),然后把一系列的數(shù)字圖像數(shù)據(jù)輸出給重排緩沖器12。
重排緩沖器12重排包含在從A/D轉(zhuǎn)換部分11輸入的一系列圖像數(shù)據(jù)中的圖像。在按照與編碼處理相應(yīng)的GOP(圖像組)結(jié)構(gòu),重排圖像之后,重排緩沖器12把已重排的圖像數(shù)據(jù)輸出給減法部分13、幀內(nèi)預(yù)測部分30和運動估計部分40。
從重排緩沖器12輸入的圖像數(shù)據(jù)和由后面說明的模式選擇部分50選擇的預(yù)測圖像數(shù)據(jù)被提供給減法部分13。減法部分13計算預(yù)測誤差數(shù)據(jù),預(yù)測誤差數(shù)據(jù)是從重排緩沖器12輸入的圖像數(shù)據(jù)和從模式選擇部分50輸入的預(yù)測圖像數(shù)據(jù)之間的差分,并把計算的預(yù)測誤差數(shù)據(jù)輸出給正交變換部分14。
正交變換部分14對從減法部分13輸入的預(yù)測誤差數(shù)據(jù)進行正交變換。正交變換部分14進行的正交變換例如可以是離散余弦變換(DCT)或者Karhunen-Loeve變換。正交變換部分14把通過正交變換處理獲得的變換系數(shù)數(shù)據(jù),輸出給量化部分15。
從正交變換部分14輸入的變換系數(shù)數(shù)據(jù)和來自后面說明的速率控制部分18的速率控制信號被提供給量化部分15。量化部分15量化變換系數(shù)數(shù)據(jù),把已被量化的變換系數(shù)數(shù)據(jù)(下面稱為量化數(shù)據(jù))輸出給無損編碼部件16和逆量化部分21。另外,量化部分15根據(jù)來自速率控制部分18的速率控制信號,切換量化參數(shù)(量化規(guī)模),從而改變將輸入無損編碼部件16的量化數(shù)據(jù)的比特率。
從量化部分15輸入的量化數(shù)據(jù),和后面說明的由幀內(nèi)預(yù)測部分30或運動估計部分40產(chǎn)生,并由模式選擇部分50選擇的關(guān)于幀內(nèi)預(yù)測或幀間預(yù)測的信息被提供給無損編碼部件16。關(guān)于幀內(nèi)預(yù)測的信息可包括指示每個塊的最佳幀內(nèi)預(yù)測模式的預(yù)測模式信息。另外,關(guān)于幀間預(yù)測的信息例如可包括用于預(yù)測每個塊的運動矢量的預(yù)測模式信息,差分運動矢量信息,參考圖像信息等等。
無損編碼部件16通過對量化數(shù)據(jù)進行無損編碼處理,產(chǎn)生編碼流。無損編碼部件16的無損編碼例如可以是變長編碼或算術(shù)編碼。此外,無損編碼部件16把上面提及的關(guān)于幀內(nèi)預(yù)測的信息,或者關(guān)于幀間預(yù)測的信息多路復(fù)用到編碼流的報頭(例如,塊報頭、切片報頭等)。隨后,無損編碼部件16把產(chǎn)生的編碼流輸出給累積緩沖器17。
累積緩沖器17利用諸如半導(dǎo)體存儲器之類的存儲介質(zhì),臨時保存從無損編碼部件16輸入的編碼流。隨后,累積緩沖器17以與傳輸線路(或者出自圖像編碼設(shè)備10的輸出線路)的頻帶相應(yīng)的速率,輸出累積的編碼流。
速率控制部分18監(jiān)測累積緩沖器17的空閑空間。隨后,速率控制部分18按照累積緩沖器17上的空閑空間,產(chǎn)生速率控制信號,把產(chǎn)生的速率控制信號輸出給量化部分15。例如,當(dāng)在累積緩沖器17上沒有大量的空閑空間時,速率控制部分18產(chǎn)生降低量化數(shù)據(jù)的比特率的速率控制信號。另外,例如,當(dāng)累積緩沖器17上的空閑空間足夠大時,速率控制部分18產(chǎn)生增大量化數(shù)據(jù)的比特率的速率控制信號。
逆量化部分21對從量化部分15輸入的量化數(shù)據(jù),進行逆量化處理。隨后,逆量化部分21把通過逆量化處理獲得的變換系數(shù)數(shù)據(jù)輸出給逆正交變換部分22。
逆正交變換部分22對從逆量化部分21輸入的變換系數(shù)數(shù)據(jù),進行逆正交變換處理,從而恢復(fù)預(yù)測誤差數(shù)據(jù)。隨后,逆正交變換部分22把恢復(fù)的預(yù)測誤差數(shù)據(jù)輸出給加法部分23。
加法部分23相加從逆正交變換部分22輸入的恢復(fù)的預(yù)測誤差數(shù)據(jù),和從模式選擇部分50輸入的預(yù)測圖像數(shù)據(jù),從而產(chǎn)生解碼圖像數(shù)據(jù)。隨后,加法部分23把產(chǎn)生的解碼圖像數(shù)據(jù)輸出給去塊濾波器24a和幀存儲器25。
去塊濾波器24a進行濾波處理,以減小在圖像編碼期間發(fā)生的塊失真。例如,去塊濾波器24a對于從加法部分23供給的解碼圖像數(shù)據(jù)的每個塊邊界,判定濾波的必要性,把去塊濾波器應(yīng)用于被確定需要濾波器的邊界。去塊濾波器24a還被供給用于判定濾波必要性的信息(例如,模式信息、變換系數(shù)信息和運動矢量信息),以及來自加法部分23的解碼圖像數(shù)據(jù)。在濾波之后,塊失真從解碼圖像數(shù)據(jù)中被除去,去塊濾波器24a把解碼圖像數(shù)據(jù)輸出給幀存儲器25。去塊濾波器24a的處理將在后面詳細說明。
幀存儲器25利用存儲介質(zhì),保存從加法部分23輸入的解碼圖像數(shù)據(jù),和從去塊濾波器24a輸入的濾波后的解碼圖像數(shù)據(jù)。
選擇器26從幀存儲器25讀取將用于幀內(nèi)預(yù)測的濾波前的解碼圖像數(shù)據(jù),并把讀取的解碼圖像數(shù)據(jù)作為參考圖像數(shù)據(jù),提供給幀內(nèi)預(yù)測部分30。另外,選擇器26從幀存儲器25讀取將用于幀間預(yù)測的濾波后的解碼圖像數(shù)據(jù),并把讀取的解碼圖像數(shù)據(jù)作為參考圖像數(shù)據(jù),提供給運動估計部分40。
幀內(nèi)預(yù)測部分30根據(jù)從重排緩沖器12輸入的待編碼圖像數(shù)據(jù),和經(jīng)選擇器26供給的解碼圖像數(shù)據(jù),按照每種幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測處理。例如,幀內(nèi)預(yù)測部分30利用預(yù)定的成本函數(shù),評估每種幀內(nèi)預(yù)測模式的預(yù)測結(jié)果。隨后,幀內(nèi)預(yù)測部分30選擇使成本函數(shù)值最小的幀內(nèi)預(yù)測模式,即,使壓縮比最高的幀內(nèi)預(yù)測模式,作為最佳的幀內(nèi)預(yù)測模式。此外,幀內(nèi)預(yù)測部分30把指示最佳的幀內(nèi)預(yù)測模式的預(yù)測模式信息,預(yù)測圖像數(shù)據(jù),和諸如成本函數(shù)值之類的關(guān)于幀內(nèi)預(yù)測的信息,輸出給模式選擇部分50。
運動估計部分40根據(jù)從重排緩沖器12供給的編碼用圖像數(shù)據(jù),和經(jīng)選擇器26供給的解碼圖像數(shù)據(jù),進行幀間預(yù)測處理(幀間的預(yù)測處理)。例如,運動估計部分40利用預(yù)定的成本函數(shù),評估每種預(yù)測模式的預(yù)測結(jié)果。隨后,運動估計部分40選擇最佳的預(yù)測模式,即,使成本函數(shù)值達到最小,或者使壓縮比達到最大的預(yù)測模式。運動估計部分40按照最佳預(yù)測模式,產(chǎn)生預(yù)測圖像數(shù)據(jù)。運動估計部分40把諸如指示最佳的幀內(nèi)預(yù)測模式的預(yù)測模式信息、預(yù)測圖像數(shù)據(jù)和成本函數(shù)值之類的關(guān)于幀間預(yù)測的信息,輸出給模式選擇部分50。
模式選擇部分50比較從幀內(nèi)預(yù)測部分30輸入的與幀內(nèi)預(yù)測相關(guān)的成本函數(shù)值,和從運動估計部分40輸入的與幀間預(yù)測相關(guān)的成本函數(shù)值。隨后,模式選擇部分50從幀內(nèi)預(yù)測和幀間預(yù)測中,選擇成本函數(shù)值較小的預(yù)測方法。在選擇幀內(nèi)預(yù)測的情況下,模式選擇部分50把關(guān)于幀內(nèi)預(yù)測的信息輸出給無損編碼部件16,另外,把預(yù)測圖像數(shù)據(jù)輸出給減法部分13和加法部分23。此外,在選擇幀間預(yù)測的情況下,模式選擇部分50把上面說明的關(guān)于幀間預(yù)測的信息輸出給無損編碼部件16,另外把預(yù)測圖像數(shù)據(jù)輸出給減法部分13和加法部分23。
[1-2.圖像解碼設(shè)備]
圖2是表示按照實施例的圖像解碼設(shè)備60的結(jié)構(gòu)例子的方框圖。參見圖2,圖像解碼設(shè)備60包括累積緩沖器61、無損解碼部分62、逆量化部分63、逆正交變換部分64、加法部分65、去塊濾波器24b、重排緩沖器67、D/A(數(shù)-模)轉(zhuǎn)換部分68、幀存儲器69、選擇器70和71、幀內(nèi)預(yù)測部分80和運動補償部分90。
累積緩沖器61利用存儲介質(zhì),臨時保存經(jīng)傳輸線路輸入的編碼流。
無損解碼部分62按照在編碼時使用的編碼方法,解碼從累積緩沖器61輸入的編碼流。另外,無損解碼部分62解碼多路復(fù)用到編碼流的報頭區(qū)的信息。多路復(fù)用到編碼流的報頭區(qū)的信息例如可包括塊報頭中的關(guān)于幀內(nèi)預(yù)測的信息和關(guān)于幀間預(yù)測的信息。無損解碼部分62把關(guān)于幀內(nèi)預(yù)測的信息輸出給幀內(nèi)預(yù)測部分80。另外,無損解碼部分62把關(guān)于幀間預(yù)測的信息輸出給運動補償部分90。
逆量化部分63逆量化已由無損解碼部分62解碼的量化數(shù)據(jù)。逆正交變換部分64通過按照在編碼時使用的正交變換方法,對從逆量化部分63輸入的變換系數(shù)數(shù)據(jù)進行逆正交變換,產(chǎn)生預(yù)測誤差數(shù)據(jù)。隨后,逆正交變換部分64把產(chǎn)生的預(yù)測誤差數(shù)據(jù)輸出給加法部分65。
加法部分65相加從逆正交變換部分64輸入的預(yù)測誤差數(shù)據(jù)和從選擇器71輸入的預(yù)測圖像數(shù)據(jù),從而產(chǎn)生解碼圖像數(shù)據(jù)。隨后,加法部分65把產(chǎn)生的解碼圖像數(shù)據(jù)輸出給去塊濾波器24b和幀存儲器69。
去塊濾波器24b進行濾波處理,以減小出現(xiàn)在解碼圖像上的塊失真。去塊濾波器24b例如對于從加法部分65輸入的解碼圖像數(shù)據(jù),確定在每個塊邊界濾波的必要性,并把去塊濾波器應(yīng)用于被確定需要濾波器的邊界。去塊濾波器24b還被供給用于濾波必要性的確定的信息,以及來自加法部分65的解碼圖像數(shù)據(jù)。在濾波之后,塊失真從解碼圖像數(shù)據(jù)中被除去,去塊濾波器24b把解碼圖像數(shù)據(jù)輸出給重排緩沖器67和幀存儲器69。去塊濾波器24b的處理將在后面詳細說明。
重排緩沖器67通過重排從去塊濾波器24b輸入的圖像,按照時間順序產(chǎn)生一系列的圖像數(shù)據(jù)。隨后,重排緩沖器67把產(chǎn)生的圖像數(shù)據(jù)輸出給D/A轉(zhuǎn)換部分68。
D/A轉(zhuǎn)換部分68把從重排緩沖器67輸入的數(shù)字格式的圖像數(shù)據(jù)轉(zhuǎn)換成模擬格式的圖像信號。隨后,例如通過把模擬圖像信號輸出給連接到圖像解碼設(shè)備60的顯示器(未示出),D/A轉(zhuǎn)換部分68使圖像被顯示。
幀存儲器69利用存儲介質(zhì)保存從加法部分65輸入的濾波前的解碼圖像數(shù)據(jù),和從去塊濾波器24b輸入的濾波后的解碼圖像數(shù)據(jù)。
選擇器70按照無損解碼部分62獲得的模式信息,為圖像中的每個塊,在幀內(nèi)預(yù)測部分80和運動補償部分90之間切換來自幀存儲器69的圖像數(shù)據(jù)的輸出目的地。例如,在指定幀內(nèi)預(yù)測模式的情況下,選擇器70把從幀存儲器69供給的濾波前的解碼圖像數(shù)據(jù),作為參考圖像數(shù)據(jù)輸出給幀內(nèi)預(yù)測部分80。另外,在指定幀間預(yù)測模式的情況下,選擇器70把從幀存儲器69供給的濾波后的解碼圖像數(shù)據(jù),作為參考圖像數(shù)據(jù)輸出給運動補償部分90。
選擇器71按照無損解碼部分62獲得的模式信息,為圖像中的每個塊,在幀內(nèi)預(yù)測部分80和運動補償部分90之間,切換待供給加法部分65的預(yù)測圖像數(shù)據(jù)的輸出源。例如,在指定幀內(nèi)預(yù)測模式的情況下,選擇器71把從幀內(nèi)預(yù)測部分80輸出的預(yù)測圖像數(shù)據(jù)提供給加法部分65。在指定幀間預(yù)測模式的情況下,選擇器71把從運動補償部分90輸出的預(yù)測圖像數(shù)據(jù)提供給加法部分65。
幀內(nèi)預(yù)測部分80根據(jù)從無損解碼部分62輸入的關(guān)于幀內(nèi)預(yù)測的信息,和來自幀存儲器69的參考圖像數(shù)據(jù),進行像素值的畫面中(in screen)預(yù)測,產(chǎn)生預(yù)測圖像數(shù)據(jù)。隨后,幀內(nèi)預(yù)測部分80把產(chǎn)生的預(yù)測圖像數(shù)據(jù)輸出給選擇器71。
運動補償部分90根據(jù)從無損解碼部分62輸入的關(guān)于幀間預(yù)測的信息,和來自幀存儲器69的參考圖像數(shù)據(jù),進行運動補償處理,產(chǎn)生預(yù)測圖像數(shù)據(jù)。隨后,運動補償部分90把產(chǎn)生的預(yù)測圖像數(shù)據(jù)輸出給選擇器71。
<2.現(xiàn)有技術(shù)>
[2-1.去塊濾波器的基本結(jié)構(gòu)]
通常,諸如H.264/AVC或者HEVC之類的現(xiàn)有圖像編碼方案中的利用去塊濾波器的處理包括兩種處理,即,濾波需要判定處理和濾波處理。例如,下面說明HEVC中的這兩種處理。
(1)濾波需要判定處理
濾波需要判定處理判定是否需要對輸入圖像內(nèi)的各個塊的每個邊界應(yīng)用去塊濾波器。塊邊界包括彼此水平相鄰的各個塊之間的垂直邊界,和彼此垂直相鄰的各個塊之間的水平邊界。JCTVC-A119利用8×8像素的塊大小作為最小處理單位。例如,16×16像素的宏塊包括8×8像素的4個塊。對每個塊的一個(左)垂直邊界和一個(上)水平邊界,即,4個邊界加上4個邊界合計等于8個邊界,應(yīng)用該處理。本說明書假定作為技術(shù)術(shù)語的宏塊包括在HEVC的上下文中的編碼單位(CU)。
圖3是表示在邊界周圍,彼此相鄰的兩個塊(鄰近塊)Ba和Bb中的像素的例子的說明圖。下面舉例說明垂直邊界,該說明顯然適用于水平邊界。圖3中的例子利用符號pij表示塊Ba中的像素。在該符號中,i表示列索引,j表示行索引。從最接近垂直邊界的列開始,順序地(從右到左)把列索引i編號為0、1、2和3。從上到下,把行索引j編號為0、1、2、…、7。圖中省略了塊Ba的左半部。符號qkj用于表示塊Bb中的像素。在該符號中,k表示列索引,j表示行索引。從最接近垂直邊界的列開始,順序地(從左到右)把列索引k編號為0、1、2和3。圖中省略了塊Bb的右半部。
可以利用以下條件來確定把去塊濾波器應(yīng)用于圖3中所示的塊Ba和Bb之間的垂直邊界的必要性。
亮度分量(Luma)的判定條件…如果條件A和B都為真,那么應(yīng)用去塊濾波器。
條件A:
(A1)塊Ba或Bb進入幀內(nèi)預(yù)測模式;
(A2)塊Ba或Bb具有非零正交變換系數(shù);或者
(A3)|MVAx-MVBx|≥4或者|MVAy-MVBy|≥4
條件B:
|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|<β
條件A3按照Qpel(1/4像素)精度,假定塊Ba的運動矢量為(MVAx,MVAy),塊Bb的運動矢量為(MVBx,MVBy)。條件B利用β作為邊緣判定閾值。按照量化參數(shù),給出β的初始值。用戶可利用在切片報頭內(nèi)的參數(shù),指定β的值。
色度分量(Chroma)的判定條件…如果條件A1為真,那么應(yīng)用去塊濾波器。
條件A1:塊Ba或Bb進入幀內(nèi)預(yù)測模式。
如用圖4中的虛線框L3和L6所示,對于一般的垂直邊界的濾波需要判定處理(特別是按照亮度分量的判定條件B)參考在每個塊中的第三行和第六行(假定最上面的一行是第一行)上的像素。類似地,對水平邊界的濾波需要判定處理參考在每個塊中的第三列和第六列上的像素(圖4中未示出)。上述判定條件被用于確定去塊濾波器需要被應(yīng)用于對其進行下述濾波處理的邊界。
(2)濾波處理
如果確定需要對邊界應(yīng)用去塊濾波器,那么對在垂直邊界左右兩側(cè)的像素,和在水平邊界上下兩側(cè)的像素進行濾波處理。關(guān)于亮度分量,按照像素值,在強濾波器和弱濾波器之間切換濾波器強度。
濾波亮度分量
選擇強度…為每行或每列選擇濾波器強度。如果以下條件C1-C3都被滿足,那么選擇強濾波器。如果以下條件任意之一不被滿足,那么選擇弱濾波器。
(C1)d<(β>>2)
(C2)(|p3j-p0j|+|q0j-q3j|)<(β>>3)
(C3)|p0j-q0j|<((5tC+1)>>1)
其中j表示垂直邊界的行索引,或者水平邊界的列索引。d=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|。
弱濾波
△=Clip(-tC,tC,(13(q0j-p0j)+4(q1j-p1j)-5(q2j-p2j)+16)>>5))
p0j=Clip0-255(p0j+△)
q0j=Clip0-255(q0j-△)
p1j=Clip0-255(p1j+△/2)
q1j=Clip0-255(q1j-△/2)
強濾波
p0j=Clip0-255((p2j+2p1j+2p0j+2q0j+q1j+4)>>3)
q0j=Clip0-255((p1j+2p0j+2q0j+2q1j+q2j+4)>>3)
p1j=Clip0-255((p2j+p1j+p0j+q0j+2)>>2)
q1j=Clip0-255((p0j+q0j+q1j+q2j+2)>>2)
p2j=Clip0-255((2p3j+3p2j+p1j+p0j+q0j+4)>>3)
q2j=Clip0-255((p0j+q0j+q1j+3q2j+2q3j+4)>>3)
其中,Clip(a,b,c)表示將值c箝位在范圍a≤c≤b內(nèi)的處理,Clip0-255(c)表示將值c箝位在范圍0≤c≤255內(nèi)的處理。
濾波色度分量
△=Clip(-tC,tC,((((q0j-p0j)<<2)+p1j-q1j+4)>>3))
p0j=Clip0-255(p0j+△)
q0j=Clip0-255(q0j-△)
如用圖5中的虛線框C6-C8和C1-C3所示,對于一般的垂直邊界的濾波處理(尤其是對于亮度分量的強濾波)更新在每個塊中的第一列到第三列,和第六列到第八列上的像素值。類似地,對于水平邊界的濾波處理更新在每個塊中的第一行到第三行,和第六行到第八行上的像素值。
[2-2.按照現(xiàn)有技術(shù)的處理之間的依存關(guān)系]
為了說明起見,如圖6中所示,都具有16×16像素的大小的宏塊MBx(MB0、MB1…)包括表示成Vx,0的左上垂直邊界,表示成Vx,1的中上垂直邊界,表示成Vx,2的左下垂直邊界,表示成Vx,3的中下垂直邊界,表示成Hx,0的左上水平邊界,表示成Hx,1的右上水平邊界,表示成Hx,2的左中水平邊界,和表示成Hx,3的右中水平邊界。關(guān)于邊界Z,例如,濾波需要判定處理被表示成JZ,而濾波處理被表示成FZ。
上述現(xiàn)有技術(shù)導(dǎo)致在一個宏塊內(nèi),關(guān)于相同方向的邊界的處理之間,不存在任何依存關(guān)系。于是,該技術(shù)能夠在一個宏塊內(nèi),對垂直邊界和水平邊界進行并行濾波。例如,圖7清楚地表示在宏塊MB0內(nèi),在4個濾波處理FV0,0,FV0,1,FV0,2和FV0,3之間,不存在依存關(guān)系(沒有像素被重復(fù)更新),可以并行地進行濾波處理。
然而,上述現(xiàn)有技術(shù)遺留對于垂直邊界的濾波處理和對于水平邊界的濾波需要判定處理之間的依存關(guān)系。該現(xiàn)有技術(shù)還遺留對于水平邊界的濾波處理和對于垂直邊界的濾波需要判定處理之間的依存關(guān)系。例如,如果在水平邊界之前處理垂直邊界,那么需要在終止對于垂直邊界的濾波處理之后,對給定宏塊內(nèi)的水平邊界進行濾波需要判定處理。例如,圖8表示在宏塊MB0內(nèi),濾波需要判定處理JH0,0取決于濾波處理FV0,0和FV0,1的結(jié)果,濾波需要判定處理JH0,1取決于濾波處理FV0,1的結(jié)果。類似地,需要在對相鄰宏塊的水平邊界的濾波處理終止之后,對給定宏塊內(nèi)的垂直邊界進行濾波需要判定處理。例如,圖9表示對于宏塊MB1的濾波需要判定處理JV1,0取決于對于宏塊MB0的濾波處理FH0,1和FH0,3的結(jié)果,對于宏塊MB1的濾波需要判定處理JV1,2取決于對于宏塊MB0的濾波處理FH0,3的結(jié)果。
現(xiàn)有技術(shù)涉及處理之間的依存關(guān)系,于是即使利用在JCTVC-A119中提出的技術(shù),也能夠程度非常有限地提供去塊濾波器的并行處理。
圖10是圖解說明按照現(xiàn)有技術(shù)的去塊濾波器處理的序列的說明圖。本例假定去塊濾波器被供給大小為32×32像素的圖像。輸入的圖像包括4個宏塊MB0-MB3,每個宏塊具有16×16像素的大小。
在圖10中,每個虛線框代表將并行進行的處理。例如,第一步驟對宏塊MB0中的4個垂直邊界,并行地進行濾波需要判定處理JV0,0,JV0,1,JV0,2和JV0,3。第二步驟對宏塊MB0中的4個垂直邊界,并行地進行濾波處理FV0,0,FV0,1,FV0,2FV0,3。在第二步驟終止之后,第三步驟對宏塊MB0中的4個水平邊界,并行地進行濾波需要判定處理JH0,0,JH0,1,JH0,2和JH0,3。第三步驟把在第二步驟關(guān)于垂直邊界的濾波處理之后的像素值,用于對水平邊界的濾波需要判定處理。第四步驟對宏塊MB0中的4個水平邊界,并行地進行濾波處理FH0,0,FH0,1,FH0,2和FH0,3。在第四步驟終止之后,相繼進行對于宏塊MB1的處理(第五步驟到第八步驟)。第五步驟把在第四步驟關(guān)于宏塊MB0水平邊界的濾波處理之后的像素值,用于對宏塊MB1的垂直邊界的濾波需要判定處理。在終止對于宏塊MB1的處理之后,相繼進行對于宏塊MB2的處理(第九步驟到第十二步驟)。在終止對于宏塊MB2的處理之后,相繼進行對于宏塊MB3的處理(第十三步驟到第十六步驟)。
程度有限的這種并行處理不能令人滿意地解決由當(dāng)應(yīng)用去塊濾波器時的較大處理量引起的延遲或數(shù)據(jù)速率的降低的問題。下面說明的3個實施例進一步改善當(dāng)應(yīng)用去塊濾波器時的并行處理。
<3.第一實施例>
[3-1.去塊濾波器結(jié)構(gòu)例子]
下面說明按照第一實施例,圖1中所示的圖像編碼設(shè)備10的去塊濾波器24a,和圖2中所示的圖像解碼設(shè)備60的去塊濾波器24b的例證結(jié)構(gòu)。去塊濾波器24a和去塊濾波器24b的結(jié)構(gòu)可以彼此相同。在下面的說明中,當(dāng)不需要相互區(qū)分去塊濾波器24a和去塊濾波器24b時,它們都被統(tǒng)稱為去塊濾波器24。
(1)新處理之間的依存關(guān)系
按照本實施例,利用去塊濾波器24的處理還包括兩種處理,即,濾波需要判定處理和濾波處理。在關(guān)于垂直邊界和水平邊界之一的濾波需要判定處理中,去塊濾波器24跨越多個宏塊地把輸入去塊濾波器的圖像的像素值用于所述判定。例如,如果垂直邊界在水平邊界之前被處理,那么去塊濾波器24可以對特定塊的垂直邊界進行濾波需要判定處理,而不必等待對于相鄰塊的水平邊界的濾波處理。如果水平邊界在垂直邊界之前被處理,那么去塊濾波器24可對特定塊的水平邊界進行濾波需要判定處理,而不必等待對于相鄰塊的水平邊界的濾波處理。結(jié)果將減輕宏塊之間的處理的依存關(guān)系。
減輕宏塊之間的處理的依存關(guān)系能夠在圖像內(nèi)的多個宏塊之間,使處理并行。例如,這使得能夠?qū)斎雸D像內(nèi)的所有塊的垂直邊界,并行地進行濾波需要判定處理。這還使得能夠?qū)斎雸D像內(nèi)的所有塊的水平邊界,并行地進行濾波需要判定處理。
圖11是圖解說明可用于本實施例的處理序列的說明圖。本例還假定去塊濾波器被供給大小為32×32像素的圖像。該輸入圖像包括大小均為16×16像素的4個宏塊MB0-MB3。
在圖11中,每個虛線框代表將并行進行的處理。雖然對于處理序列,圖10中的例子需要16個處理步驟,不過,圖11中的例子把相同數(shù)目的處理集合成4個處理步驟。第一步驟對所有宏塊MB0-MB3的所有垂直邊界和所有水平邊界,并行地進行濾波需要判定處理JV0,0~JV3,3和JH0,0~JH3,3。第二步驟對所有宏塊MB0-MB3的16個垂直邊界,并行地進行濾波處理FV0,0~FV3,3。第三步驟對所有宏塊MB0-MB3的所有水平邊界,并行地進行濾波需要判定處理FH0,0~FH3,3。第四步驟對所有宏塊MB0-MB3的16個水平邊界,并行地進行濾波處理FH0,0~FH3,3。如果在垂直邊界之前處理水平邊界,那么第三步驟和第四步驟可在第一步驟和第二步驟之前。
圖11提供通過在圖像中的所有宏塊內(nèi)使處理并行,使并行度(并行進行的處理)達到最大的例子。然而不限于本例,可在一些宏塊內(nèi),而不是在圖像中的所有宏塊中,使處理并行。
(2)去塊濾波器的詳細結(jié)構(gòu)
圖12是圖解說明按照第一實施例的進行上述并行處理的去塊濾波器24的詳細結(jié)構(gòu)的方框圖。參見圖12,去塊濾波器24包括垂直判定部件110、水平判定部件114、水平濾波部件130、垂直濾波部件140和并行化控制部分150。
(2-1)垂直判定部件
垂直判定部件110包括多個垂直邊界判定部分112-1~112-n。每個垂直邊界判定部分112被供給輸入去塊濾波器24的圖像,和用于判定是否需要濾波的判定信息。
垂直邊界判定部分112-1~112-n通過跨圖像內(nèi)的多個宏塊地利用輸入去塊濾波器24的圖像的像素值,判定是否把去塊濾波器應(yīng)用于垂直邊界。每個垂直邊界判定部分112向水平濾波部件130提供指示關(guān)于每個垂直邊界的判定結(jié)果的信息,比如指示值“1”強制去塊濾波器的應(yīng)用的判定結(jié)果的二進制信息。
(2-2)水平濾波部件
水平濾波部件130包括多個水平濾波部件132-1~132-n。每個水平濾波部件132被供給輸入的圖像,和來自垂直判定部件110的關(guān)于每個垂直邊界的判定結(jié)果。
來自對應(yīng)的垂直邊界判定部分112的判定結(jié)果可指示需要應(yīng)用濾波器。在這種情況下,每個水平濾波部件132把關(guān)于該垂直邊界的去塊濾波器應(yīng)用于在該垂直邊界左右兩側(cè)的元素。每個水平濾波部件132向水平判定部件114和垂直濾波部件140提供關(guān)于應(yīng)用濾波器的像素的濾波后像素值,和關(guān)于其它像素的輸入圖像的像素值。
(2-3)水平判定部件
水平判定部件114包括多個水平邊界判定部分116-1~116-n。每個水平邊界判定部分116被供給在由水平濾波部件130進行濾波之后的像素值,和用于判定是否需要濾波的判定信息。
水平邊界判定部分116-1~116-n通過跨圖像內(nèi)的多個宏塊,利用在由水平濾波部件130進行濾波之后的像素值,判定是否對水平邊界應(yīng)用去塊濾波器。每個水平邊界判定部分116把指示關(guān)于每個水平邊界的判定結(jié)果的信息,提供給垂直濾波部件140。
(2-4)垂直濾波部件
垂直濾波部件140包括多個垂直濾波部件142-1~142-n。每個垂直濾波部件142被供給在由水平濾波部件130進行濾波之后的像素值,和來自水平判定部件114的關(guān)于每個水平邊界的判定結(jié)果。
來自對應(yīng)的水平邊界判定部分116的判定結(jié)果可指示需要應(yīng)用該濾波器。在這種情況下,每個垂直濾波部件142把關(guān)于該水平邊界的去塊濾波器應(yīng)用于在該水平邊界上下兩側(cè)的元素。每個垂直濾波部件142向應(yīng)用濾波器的像素供給濾波后的像素值,向其它像素供給從水平濾波部件130提供的像素值。來自每個垂直濾波部件142的輸出可構(gòu)成來自去塊濾波器24的輸出圖像。
(3)判定部分的更詳細結(jié)構(gòu)
圖13是圖解說明每個垂直邊界判定部分112和水平邊界判定部分116的詳細結(jié)構(gòu)的方框圖。參見圖13,每個判定部分包括抽頭構(gòu)成部分121、計算部分122、閾值比較部分123、失真評估部分124和濾波判定部分125。
抽頭構(gòu)成部分121從輸入圖像中的跨越關(guān)注的邊界相鄰的兩個塊的像素值中,獲得參考像素值,并構(gòu)成確定上述亮度分量的判定條件B的抽頭(一組參考像素值)。例如,在大小都為8×8像素的塊中,可關(guān)注垂直邊界。這種情況下,抽頭構(gòu)成部分121根據(jù)屬于在左右兩側(cè)的兩個塊的第三行和第六行的像素值,構(gòu)成抽頭。如果關(guān)注水平邊界,那么抽頭構(gòu)成部分121可根據(jù)屬于在上下兩側(cè)的兩個塊的第三列和第六列的像素值,構(gòu)成抽頭。計算部分122把利用抽頭構(gòu)成部分121構(gòu)成的抽頭賦給判定條件B中的判定表達式的左側(cè),并計算將與邊緣判定閾值β比較的邊緣值。閾值比較部分123比較計算部分122計算的值和邊緣判定閾值β,并把比較結(jié)果輸出給濾波判定部分125。
失真評估部分124利用作為判定信息供給的模式信息(MB模式)、變換系數(shù)信息和運動矢量信息,評估上述亮度分量的判定條件A。失真評估部分124把評估結(jié)果輸出給濾波判定部分125。失真評估部分124根據(jù)模式信息,只評估色度分量的判定條件A1。
濾波判定部分125根據(jù)從閾值比較部分123供給的判定條件B的比較結(jié)果,和從失真評估部分124供給的判定條件A的評估結(jié)果,判定是否對關(guān)注的邊界應(yīng)用去塊濾波器。濾波判定部分125輸出指示判定結(jié)果的信息。
(4)并行化控制部分
圖12中所示的并行化控制部分150控制垂直判定部件110和水平判定部件114中的濾波需要判定處理的并行度,以及水平濾波部件130和垂直濾波部件140中的濾波處理的并行度。
例如,并行化控制部分150可根據(jù)輸入的圖像大小,控制每個塊的處理的并行度。更具體地,如果輸入的圖像大小較大,那么并行化控制部分150增大每個塊的處理的并行度。這可自適應(yīng)地防止由與圖像大小相應(yīng)地增大的處理量引起的延遲或數(shù)據(jù)速率的降低。例如,并行化控制部分150可根據(jù)序列參數(shù)組、圖片參數(shù)組、或者包含在切片報頭中的參數(shù),控制每個塊的處理的并行度。這使得能夠按照開發(fā)設(shè)備的用戶的要求,靈活地配置并行度。例如,可按照對安裝環(huán)境的限制,比如處理器核的數(shù)目,或者軟件線程的數(shù)目,配置并行度。
本實施例能夠使宏塊間的處理并行。這意味對于圖像內(nèi)的各個塊的任何處理序列對最終的輸出結(jié)果沒有影響。因而,并行化控制部分150能夠基于塊地控制垂直判定部件110和水平判定部件114中的濾波需要判定處理序列,和水平濾波部件130和垂直濾波部件140中的濾波處理序列。
更具體地,并行化控制部分150可按照宏塊之間的濾波處理的依存關(guān)系,控制濾波處理序列。例如,按照現(xiàn)有技術(shù),在切片邊界周圍的鄰近宏塊之間的處理的依存關(guān)系會延遲對圖像內(nèi)的每個切片的并行處理。然而,按照本實施例的并行化控制部分150能夠在其它宏塊之前,對在切片邊界周圍的鄰近宏塊進行濾波處理。
例如,圖14圖解說明切片邊界周圍的8個宏塊MB10-MB13和MB20-MB23。宏塊MB10-MB13屬于切片SL1。宏塊MB20-MB23屬于切片SL2。就這些宏塊來說,對于切片SL2中的宏塊MB20上的水平邊界的濾波處理取決于對于切片SL1中的宏塊MB12上的垂直邊界的濾波處理。類似地,對于切片SL2中的宏塊MB21上的水平邊界的濾波處理取決于對于切片SL1中的宏塊MB13上的垂直邊界的濾波處理。
在這些條件下,按照圖15中的例子,并行化控制部分150優(yōu)先于對其它邊界的處理,進行關(guān)于切片SL1的濾波處理中的對宏塊MB12和MB13的垂直邊界的濾波處理。結(jié)果將防止在關(guān)于切片SL2的濾波處理中的對宏塊MB20和MB21的水平邊界的濾波處理中,出現(xiàn)較大的延遲。圖16中的例子最初對包含在切片SL1中的所有宏塊的垂直邊界,并行地進行濾波處理。另外在這種情況下,在對于切片SL2中的宏塊MB20和MB21的水平邊界的濾波處理中,不出現(xiàn)任何延遲。
[3-2.判定條件變形例]
如上所述,類似于在圖4中圖解說明的現(xiàn)有技術(shù),每個垂直邊界判定部分112參考與塊中的第三行和第六行對應(yīng)的像素,并對于每個塊的垂直邊界,判定是否需要濾波。同樣地,每個水平邊界判定部分116參考與塊中的第三列和第六列對應(yīng)的像素,并對于每個塊的水平邊界,判定是否需要濾波。在這種情況下,能夠容易地實現(xiàn)按照本實施例的結(jié)構(gòu),而不改變?yōu)楝F(xiàn)有設(shè)備提供的濾波需要判定處理的判定條件。
每個垂直邊界判定部分112和每個水平邊界判定部分116可利用與現(xiàn)有技術(shù)不同的判定條件,進行判定。例如,每個垂直邊界判定部分112可參考與塊中的3列或者更多列對應(yīng)的像素。每個水平邊界判定部分116可參考與塊中的3列或者更多列對應(yīng)的像素。另外,每個垂直邊界判定部分112和每個水平邊界判定部分116可利用和現(xiàn)有技術(shù)不同的判定條件表達式。參見圖17-19,下面說明按照本實施例的判定技術(shù)的6個例子。
(1)第一個例子
圖17是圖解說明判定技術(shù)的第一個和第二個例子的說明圖。在第一個和第二個例子中,關(guān)于垂直邊界的濾波需要判定處理(特別地,把判定條件B用于亮度分量的判定)參考每個塊中的從第一行到第八行的所有各行L1-L8的像素。關(guān)于水平邊界的濾波需要判定處理同樣參考每個塊中的從第一列到第八列的所有各列的像素。
第一個例子可如下定義亮度分量的判定條件。
亮度分量(Luma)的判定條件…如果條件A和條件B都為真,那么應(yīng)用去塊濾波器。
條件A:
(A1)塊Ba或Bb都進入幀內(nèi)預(yù)測模式;
(A2)塊Ba或Bb具有非零正交變換系數(shù);或者
(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4
條件B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|
iDave=(iD0+iD1+iD2+iD3)>>2
在該條件下,iDave<β
色度分量的判定條件可以和上述現(xiàn)有技術(shù)相同??梢杂嬎慵訖?quán)平均值,以計算4個判定參數(shù)iD0~iD3的平均值iDave。
(2)第二個例子
第二個例子可如下定義亮度分量的判定條件B。
條件B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|
按照該條件,iD0<β,iD1<β,iD2<β且iD3<β
計算4個判定參數(shù)iD0~iD3的等式與第一例子的相同。適用條件不是所有4個判定參數(shù)iD0~iD3都小于邊緣判定閾值β,而是4個判定參數(shù)iD0~iD3中的至少3個、2個或者1個小于邊緣判定閾值β。
(3)第三個例子
圖18是圖解說明判定技術(shù)的第三個和第四個例子的說明圖。在第三個和第四個例子中,關(guān)于垂直邊界的濾波需要判定處理(特別地,把判定條件B用于亮度分量的判定)參考每個塊中的L1、L3、L6和L8這4行的像素。關(guān)于水平邊界的濾波需要判定處理同樣參考每個塊中的4列的像素。
第三個例子可如下定義亮度分量的判定條件。
亮度分量(Luma)的判定條件…如果條件A和B都為真,那么應(yīng)用去塊濾波器。
條件A:
(A1)塊Ba或Bb進入幀內(nèi)預(yù)測模式;
(A2)塊Ba或Bb具有非零正交變換系數(shù);或者
(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4
條件B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
iDave=(iD0+iD2)>>1
在該條件下,iDave<β
色度分量的判定條件可以和上述現(xiàn)有技術(shù)相同??梢杂嬎慵訖?quán)平均值,以計算2個判定參數(shù)iD0和iD2的平均值iDave。
(4)第四例子
第四例子可如下定義亮度分量的判定條件B。
條件B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
在該條件下,iD0<β且iD2<β
計算2個判定參數(shù)iD0和iD2的等式與第三個例子的相同。適用條件不是2個判定參數(shù)iD0和iD2都小于邊緣判定閾值β,而是2個判定參數(shù)iD0和iD2中的任意一個小于邊緣判定閾值β。
雖然說明了在判定期間,參考塊中的第一、第三、第六和第八行(或列)L1、L3、L6和L8的例子,不過可以參考各行和各列的其它組合。
(5)第五個例子
圖19是圖解說明判定技術(shù)的第五個和第六個例子的說明圖。在第五個和第六個例子中,對于垂直邊界的濾波需要判定處理參考每個塊中的L1、L3、L5和L7這4行的像素。對于水平邊界的濾波需要判定處理同樣參考每個塊中的4列的像素。
第五個例子如下定義亮度分量的判定條件。
亮度分量(Luma)的判定條件…如果條件A和B都為真,那么應(yīng)用去塊濾波器。
條件A:
(A1)塊Ba或Bb進入幀內(nèi)預(yù)測模式;
(A2)塊Ba或Bb具有非零正交變換系數(shù);或者
(A3)|MVAx-MVBx|≥4或|MVAy-MVBy|≥4
條件B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|
iDave=(iD0+iD2)>>1
在該條件下,iDave<β
色度分量的判定條件可以和上述現(xiàn)有技術(shù)相同。可以計算加權(quán)平均值,以計算2個判定參數(shù)iD0和iD2的平均值iDave。
(6)第六個例子
第六個例子如下定義亮度分量的判定條件B。
條件B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|
在該條件下,iD0<β且iD2<β
計算2個判定參數(shù)iD0和iD2的等式與第五個例子的相同。適用條件不是2個判定參數(shù)iD0和iD2都小于邊緣判定閾值β,而是2個判定參數(shù)iD0和iD2中的任意一個小于邊緣判定閾值β。
通常,增大判定時待參考的行和列的數(shù)目可提高判定精度。于是,參考8行和8列的第一個和第二個例子可以使對最初不是待應(yīng)用的去塊濾波器的目標的塊濾波的可能性,和不對最初是待應(yīng)用的去塊濾波器的目標的塊濾波的可能性降至最小。結(jié)果將改善待編碼和解碼的圖像的質(zhì)量。另一方面,減小判定時待參考的行和列的數(shù)目可降低處理成本。由于在圖像質(zhì)量和處理成本之間存在折衷,因此有利的是根據(jù)設(shè)備的用途或者對安裝的限制,自適應(yīng)地選擇判定時待參考的行和列的數(shù)目。同樣有利的是自適應(yīng)地選擇待參數(shù)的行和列的組合。
如在第一個、第三個和第五個例子中所述,可以比較判定參數(shù)的平均值iDave和邊緣判定閾值β,以便基于塊地恰當(dāng)進行判定,而不受每行或每列的參數(shù)變化的過度影響。
[3-3.處理流程]
參考圖20和21,說明去塊濾波器24的處理流程。
圖20是圖解說明按照第一實施例的去塊濾波器24的處理流程的流程圖。參見圖20,垂直邊界判定部分112-1~112-n對于包含在輸入圖像內(nèi)的多個宏塊中的所有垂直邊界,并行地判定是否需要濾波(步驟S110)。水平濾波部件132-1~132-n并行地把去塊濾波器應(yīng)用于在步驟S110確定的需要應(yīng)用去塊濾波器的所有垂直邊界(步驟S120)。水平邊界判定部分116-1~116-n對于包含在輸入圖像內(nèi)的多個宏塊中的所有水平邊界,并行地判定是否需要濾波(步驟S130)。垂直濾波部件142-1~142-n并行地把去塊濾波器應(yīng)用于在步驟S130確定的需要應(yīng)用去塊濾波器的所有水平邊界(步驟S140)。
上述處理流程僅僅是例子。例如,去塊濾波器24可以并行對兩個或者更多宏塊的處理。處理的序列可被改變。
圖21是圖解說明與圖20中的步驟S110和S130對應(yīng)的濾波需要判定處理的處理流程的流程圖。參見圖21,失真評估部分124根據(jù)模式信息、變換系數(shù)信息和運動矢量信息,就失真對邊界進行評估(步驟S150)。如果評估表明存在失真(判定條件A為真),那么處理進入步驟S154。如果評估表明不存在失真,那么處理進入步驟S160(步驟S152)。
在步驟S154,計算部分122根據(jù)由抽頭構(gòu)成部分121構(gòu)成的參考像素抽頭,計算邊緣值(步驟S154)。閾值比較部分123比較計算的值和邊緣判定閾值β(步驟S156)。如果邊緣值不小于閾值β(判定條件B為真),那么處理進入步驟S158。如果邊緣值不小于閾值β,那么處理進入步驟S160。
在步驟S158,濾波判定部分125確定把去塊濾波器應(yīng)用于確定的邊界(步驟S158)。在步驟S140,濾波判定部分125確定不把去塊濾波器應(yīng)用于確定的邊界(步驟S160)。
<4.第二實施例>
[4-1.去塊濾波器結(jié)構(gòu)例子]
下面說明按照第二實施例的去塊濾波器24的例證結(jié)構(gòu)。
(1)新處理之間的依存關(guān)系
按照本實施例,去塊濾波器24進行對于每個塊的垂直邊界的濾波需要判定處理,而不等待把去塊濾波器應(yīng)用于該塊屬于的宏塊中的其它塊。去塊濾波器24進行對于每個塊的水平邊界的濾波需要判定處理,而不等待把去塊濾波器應(yīng)用于該塊屬于的宏塊中的其它塊。這能夠減輕宏塊內(nèi)的處理的依存關(guān)系。
如上所述,減輕處理的依存關(guān)系從而能夠使宏塊中,對于垂直邊界和水平邊界的濾波需要判定處理并行。
圖22是圖解說明在去塊濾波器24上可用的處理序列的第一個例子的說明圖。該例子還假定去塊濾波器被供給大小為32×32像素的圖像。輸入圖像包括大小均為16×16像素的4個宏塊MB0-MB3。
在圖22中,每個虛線框代表要并行進行的處理。雖然對于處理序列,圖10中的例子需要16個處理步驟,不過,圖22中的例子把相同數(shù)目的處理集合成12個處理步驟。第一步驟并行地進行對于宏塊MB0的4個垂直邊界和4個水平邊界的濾波需要判定處理JV0,0~JV0,3和JH0,0~JH0,3。第二步驟并行地進行對于宏塊MB0中的4個垂直邊界的濾波處理FV0,0~FV0,3。第三步驟并行地進行對于宏塊MB1的4個垂直邊界和4個水平邊界的濾波需要判定處理JV1,0~JV1,3和JH1,0~JH1,3。第四步驟并行地進行對于宏塊MB1中的4個垂直邊界的濾波處理FV1,0~FV1,3。第五步驟并行地進行對于宏塊MB0中的4個水平邊界的濾波處理FH0,0~FH0,3。第六步驟并行地進行對于宏塊MB2的4個垂直邊界和4個水平邊界的濾波需要判定處理JV2,0~JV2,3和JH2,0~JH2,3。第七步驟并行地進行對于宏塊MB2中的4個垂直邊界的濾波處理FV2,0~FV2,3。第八步驟并行地進行對于宏塊MB1中的4個水平邊界的濾波處理FH1,0~FH1,3。第九步驟并行地進行對于宏塊MB3的4個垂直邊界和4個水平邊界的濾波需要判定處理JV3,0~JV3,3和JH3,0~JH3,3。第十步驟并行地進行對于宏塊MB3中的4個垂直邊界的濾波處理FV3,0~FV3,3。第十一步驟并行地進行對于宏塊MB2中的4個水平邊界的濾波處理FH2,0~FH2,3。第十二步驟并行地進行對于宏塊MB3中的4個水平邊界的濾波處理FH3,0~FH3,3。這種情況下,去塊濾波器24能夠利用比現(xiàn)有技術(shù)少的處理步驟,進行對于整個輸入圖像的處理。
(2)去塊濾波器的詳細結(jié)構(gòu)
圖23是圖解說明按照第二實施例的進行上述并行處理的去塊濾波器24的詳細結(jié)構(gòu)的方框圖。參見圖23,去塊濾波器24包括垂直判定部件210、水平判定部件214、水平濾波部件130、垂直濾波部件140和并行化控制部分150。
(2-1)垂直判定部件
垂直判定部件210包括多個垂直邊界判定部分212-1~212-n。每個垂直邊界判定部分212判定是否把去塊濾波器應(yīng)用于每個塊的垂直邊界,而不等待把去塊濾波器應(yīng)用于該塊屬于的宏塊中的其它塊。每個垂直邊界判定部分212向水平濾波部件130供給指示關(guān)于每個垂直邊界的判定結(jié)果的信息,比如指示值“1”強制去塊濾波器的應(yīng)用的判定結(jié)果的二進制信息。
(2-2)水平判定部件
水平判定部件214包括多個水平邊界判定部分216-1~216-n。每個水平邊界判定部分216判定是否把去塊濾波器應(yīng)用于每個塊的水平邊界,而不等待把去塊濾波器應(yīng)用于該塊屬于的宏塊中的其它塊。每個水平邊界判定部分216向垂直濾波部件140供給指示關(guān)于每個水平邊界的判定結(jié)果的信息。
另外,按照本實施例,每個垂直邊界判定部分212和每個水平邊界判定部分216可通過類似于現(xiàn)有技術(shù),參考在各個位置的像素,對于每個邊界判定是否需要濾波。事實上,每個垂直邊界判定部分212和每個水平邊界判定部分216可按照在“3-2.判定條件變形例”中描述的技術(shù),對于每個邊界判定是否需要濾波。
[3-2.處理流程]
圖24是圖解說明按照第二實施例的去塊濾波器24的處理流程的流程圖。參見圖24,垂直邊界判定部分212-1~212-n對于包含在輸入圖像內(nèi)的關(guān)注宏塊中的所有垂直邊界,并行地判定是否需要濾波(步驟S202)。水平邊界判定部分214-1~214-n對于包含在關(guān)注宏塊中的所有水平邊界,并行地判定是否需要濾波(步驟S204)。步驟S202和S204也可并行地進行。
水平濾波部件132-1~132-n把去塊濾波器并行地應(yīng)用于在步驟S202中,確定需要應(yīng)用去塊濾波器的關(guān)注宏塊中的垂直邊界(步驟S210)。
步驟S220的處理針對最近的循環(huán)中的關(guān)注宏塊。對于第一個關(guān)注宏塊,可以跳過在步驟S220的處理。垂直濾波部件142-1~142-n把去塊濾波器并行地應(yīng)用于在最近的循環(huán)中的步驟S204,確定需要應(yīng)用去塊濾波器的水平邊界(步驟S220)。
如果在輸入圖像中,存在未被處理的關(guān)注宏塊,那么對新關(guān)注的宏塊,重復(fù)步驟S202-S220的處理(步驟S230)。
如果沒有遺留未被處理的關(guān)注宏塊,那么垂直濾波部件142-1~142-n把去塊濾波器并行地應(yīng)用于最后的循環(huán)的關(guān)注宏塊中的,確定需要應(yīng)用去塊濾波器的水平邊界(步驟S240)。
上述處理的流程也僅僅是例子。處理的并行度和順序可被改變。此外,并行化控制部分150可控制處理的并行度和順序。
[4-3.每個LCU的處理例子]
如上所述,可以基于HEVC編碼單位(CU)的處理的形式,提供按照在本說明書中說明的各個實施例的技術(shù)。按照HEVC,具有最大大小的編碼單位被稱為最大編碼單位(LCU),例如,它可被選擇為64×64像素。最小的可選CU大小為8×8像素。通常,從在圖像(或者切片)的左上側(cè)的LCU開始,按照光柵掃描順序,對應(yīng)于每個LCU地編碼和解碼圖像。下面說明去塊濾波器24中的對應(yīng)于LCU的處理例子。
圖25是圖解說明按照上述第二實施例的每個LCU的處理序列的說明圖。本例假定LCU大小為16×16像素,CU大小為8×8像素。
參見圖25,表示在圖的左上側(cè)的第一階段指出一直到第(n-1)個LCU,完成了對于LCU的濾波。對于垂直邊界的濾波的目標像素是陰影像素。對于水平邊界的濾波的目標像素是實心像素。
在圖25中,右上側(cè)的第二處理和左下側(cè)的第三處理以第n個LCU為目標。在第二處理之前,對于屬于第n個LCU的所有垂直邊界和水平邊界,平行地進行濾波需要判定處理。即,進行對于屬于第n個LCU中的CU的邊界的濾波需要判定處理,而不等待把去塊濾波器應(yīng)用于第n個LCU中的其它CU。第二處理對屬于第n個LCU,并且被確定需要應(yīng)用去塊濾波器的垂直邊界,并行地進行濾波處理。第二處理對屬于第n個LCU,并且被確定需要應(yīng)用去塊濾波器的水平邊界,并行地進行濾波處理。
在圖25的右下側(cè)的第四階段的處理以第(n+1)個LCU為目標。在第四階段,在對屬于第(n+1)個LCU中的所有CU的邊界并行地進行濾波需要判定處理之后,對被判定需要應(yīng)用去塊濾波器的垂直邊界并行地進行濾波處理。
雖然本例假定LCU大小為16×16像素,不過它可被設(shè)定成32×32像素或64×64像素。依照并行化而縮短處理時間的效果被進一步提高,因為增大待選擇的LCU的大小還增大屬于一個LCU的垂直邊界和水平邊界的數(shù)目。
圖26是圖解說明每個LCU的去塊濾波器24的處理流程的流程圖。
參見圖26,垂直邊界判定部分212-1~212-n對于包含在輸入圖像中的關(guān)注LCU中的所有垂直邊界,并行地判定是否需要濾波(步驟S252)。水平邊界判定部分216-1~216-n對于包含在關(guān)注LCU中的所有水平邊界,并行地判定是否需要濾波(步驟S254)。步驟S252和S254也可并行地進行。
水平濾波部件132-1~132-n對在步驟S252中,被確定需要應(yīng)用去塊濾波器的關(guān)注LCU中的垂直邊界,并行地應(yīng)用去塊濾波器(步驟S260)。
垂直濾波部件142-1~142-n對在步驟S254中,被確定需要應(yīng)用去塊濾波器的關(guān)注LCU中的水平邊界,并行地應(yīng)用去塊濾波器(步驟S270)。
如果在輸入圖像中,遺留有未被處理的LCU,那么對新關(guān)注的LCU,重復(fù)在步驟S252-S270的處理(步驟S280)。如果不存在未被處理的LCU,那么處理終止。
<5.第三實施例>
[5-1.概況]
第一和第二實施例改變?nèi)K濾波器的現(xiàn)有處理序列,以提高處理的并行度。特別地,第一實施例通過在判定濾波的必要性時,擴大提供給去塊濾波器的輸入圖像的像素值的范圍,減輕處理的依存關(guān)系。下面說明的第三實施例增強該發(fā)明構(gòu)思。第三實施例通過在對于垂直邊界和水平邊界的濾波處理中,對提供給去塊濾波器的輸入像素值濾波,進一步使處理并行。
圖27是圖解說明本實施例的概況的說明圖。在圖27的左下側(cè),表示了代表在由去塊濾波器處理之前的輸入像素(也稱為重構(gòu)像素)的形狀。本實施例允許從關(guān)于垂直邊界和水平邊界的濾波需要判定處理,以及關(guān)于垂直邊界的濾波處理和關(guān)于水平邊界的濾波處理參照輸入去塊濾波器的像素值。因而,這使得能夠解決兩個濾波需要判定處理之間的依存關(guān)系,以及兩個濾波處理之間的依存關(guān)系。
對于垂直邊界的濾波處理和對于水平邊界的濾波處理可更新重復(fù)像素的值。圖27中的實心像素圖解說明可能被重復(fù)的像素的位置。就被并行工作的兩個濾波器重復(fù)更新的像素來說,按照本實施例的去塊濾波器根據(jù)兩個濾波器輸出,計算一個輸出像素值。
[5-2.去塊濾波器結(jié)構(gòu)例子]
圖28是圖解說明按照第三實施例的去塊濾波器24的詳細結(jié)構(gòu)的方框圖。參見圖28,去塊濾波器24包括行存儲器308、判定部件310、水平濾波部件330、垂直濾波部件340、并行化控制部分150和計算部分360。
行存儲器308保存提供給去塊濾波器24的輸入圖像的像素值。水平濾波部件330和垂直濾波部件340中的濾波處理并不更新保存在行存儲器308中的像素值。由判定部件310中的下述部分進行的濾波需要判定處理參考保存在行存儲器308中的像素值。設(shè)備包括用于和去塊濾波器24的處理不同的目的的另一個存儲器。該存儲器可被重用(共用)為行存儲器308。
判定部件310包括垂直邊界判定部分312-1~312-n,和水平邊界判定部分314-1~314-n。垂直邊界判定部分312和水平邊界判定部分314被供給保存在行存儲器308中的輸入去塊濾波器24的圖像的像素值,和用于判定是否需要濾波的判定信息。
垂直邊界判定部分312利用輸入去塊濾波器24的像素值,判定是否對每個垂直邊界應(yīng)用去塊濾波器。垂直邊界判定部分312把指示關(guān)于每個垂直邊界的判定結(jié)果的信息,輸出給水平濾波部件330。
水平邊界判定部分314還利用輸入去塊濾波器24的像素值來判定是否對每個水平邊界應(yīng)用去塊濾波器。水平邊界判定部分314與垂直邊界判定部分312進行的判定處理并行地進行判定處理。水平邊界判定部分314把指示關(guān)于每個水平邊界的判定結(jié)果的信息,輸出給垂直濾波部件340。
另外,按照本實施例,每個垂直邊界判定部分312和每個水平邊界判定部分314可通過類似于現(xiàn)有技術(shù),參考在各個位置的像素,對于每個邊界判定是否需要濾波。每個垂直邊界判定部分312和每個水平邊界判定部分314可改為按照在“3-2.判定條件變形例”中描述的技術(shù),對于每個邊界判定是否需要濾波。
水平濾波部件330包括水平濾波部件332-1~332-n。水平濾波部件332被供給來自行存儲器308的輸入圖像值,和來自判定部件310的關(guān)于每個垂直邊界的判定結(jié)果。
如果來自垂直邊界判定部分312的判定結(jié)果指出需要應(yīng)用濾波器,那么水平濾波部件332對在對應(yīng)垂直邊界周圍的左右像素,應(yīng)用關(guān)于垂直邊界的去塊濾波器。水平濾波部件332把就濾波像素來說的濾波后的像素值,或者就其它像素來說的輸入像素值,輸出給計算部分360。
垂直濾波部件340包括垂直濾波部件342-1~342-n。垂直濾波部件342被供給來自行存儲器308的輸入像素值,和來自判定部件310的關(guān)于每個水平邊界的判定結(jié)果。
如果來自水平邊界判定部分314的判定結(jié)果指出需要應(yīng)用濾波器,那么垂直濾波部件342對在對應(yīng)水平邊界周圍的上下像素,應(yīng)用關(guān)于水平邊界的去塊濾波器。垂直濾波部件342-1~342-n的濾波處理是與水平濾波部件332-1~332-n的濾波處理并行地進行的。垂直濾波部件342把就濾波像素來說的濾波后的像素值,或者就其它像素來說的輸入像素值,輸出給計算部分360。
計算部分360被并行地供給來自水平濾波部件330的輸出像素值,和來自垂直濾波部件340的輸出像素值。此外,計算部分360被供給來自垂直邊界判定部分312和水平邊界判定部分314的判定結(jié)果。按照判定結(jié)果,計算部分360根據(jù)來自水平濾波部件330和垂直濾波部件340的濾波器輸出,計算從水平濾波部件330和垂直濾波部件340濾波的像素的輸出像素值。
按照本實施例,例如,對于重復(fù)濾波的像素,計算部分360計算兩個濾波器輸出的平均值。計算部分360可計算兩個濾波器輸出的簡單平均值。計算部分360可改為計算兩個濾波器輸出的加權(quán)平均值。例如,計算部分360可按照每個像素到垂直邊界和到水平邊界的距離,確定用于像素的加權(quán)平均值的權(quán)重。
圖29是圖解說明用于利用計算部分360計算的加權(quán)平均值的權(quán)重的確定的說明圖。圖29用黑色表示與在圖27中圖解所示的重復(fù)位置之一對應(yīng)的關(guān)注像素PZ。在關(guān)注像素PZ和最近的垂直邊界VZ之間,存在與距離DV對應(yīng)的3個像素。在關(guān)注像素PZ和最近的水平邊界HZ之間,存在與距離DH對應(yīng)的2個像素。距離DH小于距離DV。這種情況下,計算部分360可把來自應(yīng)用于水平邊界HZ的去塊濾波器的輸出的權(quán)重設(shè)定成大于來自應(yīng)用于垂直邊界VZ的去塊濾波器的輸出的權(quán)重。圖29中的例子假定關(guān)于垂直邊界VZ的濾波器輸出Vout與關(guān)于水平邊界HZ的濾波器輸出Hout之比為2:3。
從圖29中可看出,計算兩個濾波器輸出的加權(quán)平均值從而可向每個關(guān)注的像素,提供與應(yīng)用具有沿著水平方向的濾波器抽頭和沿著垂直方向的濾波器抽頭的1個二維濾波器的情況類似的輸出像素值。使對于垂直邊界和水平邊界的濾波處理并行還可適當(dāng)減小在垂直邊界和水平邊界出現(xiàn)的塊失真。作為另一個實施例,去塊濾波器24可包括同時計算水平濾波、垂直濾波和加權(quán)平均值的1個二維濾波器。不過在這種情況下,安裝極其復(fù)雜,因為需要對應(yīng)于像素不同地改變?yōu)V波器系數(shù)。另一方面,第三實施例并行地進行2個一維濾波,隨后計算加權(quán)平均值。這能夠容易地提供大體與二維濾波器相同的處理,同時確?,F(xiàn)有的去塊濾波器的功能。
圖30是圖解說明根據(jù)圖29中的例子計算的加權(quán)平均值的權(quán)重的例子的說明圖。圖30表示在垂直邊界和水平邊界的交點周圍的36個像素(6×6)。這些像素對應(yīng)于上面說明的重復(fù)位置。對于位于距垂直邊界和水平邊界距離相等的位置的像素,濾波器輸出Vout的權(quán)重與濾波器輸出Hout的權(quán)重之比為1:1(2:2或者3:3)。對更接近垂直邊界的像素來說,濾波器輸出Vout的權(quán)重大于濾波器輸出Hout的權(quán)重。例如,像素P1的權(quán)重之比為Vout:Hout=3:1。對更接近水平邊界的像素來說,濾波器輸出Vout的權(quán)重小于濾波器輸出Hout的權(quán)重。例如,像素P2的權(quán)重之比為Vout:Hout=1:3。
通過根據(jù)每個像素和邊界之間的距離,改變加權(quán)平均值的權(quán)重,能夠更有效地抑制塊失真,從而能夠改善圖像質(zhì)量。
上面說明的權(quán)重僅僅是例子。例如,代替或者除了每個像素和邊界之間的距離之外,計算部分360可按照對應(yīng)于每個像素的垂直邊界和水平邊界的邊緣強度,確定像素的加權(quán)平均值的權(quán)重。邊緣強度可用諸如從如圖13中所示的計算部分122計算的邊緣值之類的參數(shù)表示。在這種情況下,關(guān)于具有較強邊緣的邊界的濾波器輸出的權(quán)重可被設(shè)定成大于關(guān)于具有較弱邊緣的邊界的濾波器輸出的權(quán)重。按照邊緣強度,改變加權(quán)平均值的權(quán)重能夠自適應(yīng)地改善去塊濾波器對顯著導(dǎo)致塊失真的邊界的效果。
就由水平濾波部件330和垂直濾波部件340之一濾波的像素來說,計算部分360選擇來自實際被濾波的塊的輸出。就未被水平濾波部件330或垂直濾波部件340濾波的像素來說,計算部分360直接輸出待輸出給去塊濾波器24的輸入像素值。圖31中的表格列舉了按照是否需要濾波的判定的結(jié)果,來自計算部分360的輸出像素值。
[5-3.處理序列例子]
下面說明可供按照本實施例的去塊濾波器24利用的處理序列的兩個例子。本例還假定去塊濾波器被供給大小為32×32像素的圖像。輸入圖像包括大小均為16×16像素的4個宏塊MB0-MB3。
(1)第一個例子
為比較起見,圖32圖解說明當(dāng)在對于垂直邊界的濾波處理和對于水平邊界的濾波處理之間,仍有依存關(guān)系時的處理序列。在圖32中,第一步驟并行地進行對于所有4個宏塊MB0-MB3的所有垂直邊界和所有水平邊界的濾波需要判定處理JV0,0~JV3,3和JH0,0~JH3,3。第二步驟進行4個宏塊MB0-MB3的16個垂直邊界的濾波處理FV0,0~FV3,3。第三步驟進行4個宏塊MB0-MB3的16個水平邊界的濾波處理FH0,0~FH3,3。第四步驟把在對于水平邊界的濾波處理之后的像素值保存在用于來自去塊濾波器24的輸出的存儲器中。
圖33圖解說明本實施例提供的處理序列的第一個例子。在圖33中,第一步驟并行地進行對于4個宏塊MB0-MB3的所有垂直邊界和所有水平邊界的濾波需要判定處理JV0,0~JV3,3和JH0,0~JH3,3。第二步驟并行地進行對于4個宏塊MB0-MB3的所有垂直邊界和所有水平邊界的濾波處理FV0,0~FV3,3和FH0,0~FH3,3。實際上,第二步驟只對確定需要濾波的邊界濾波。第三步驟把像素值保存在用于來自去塊濾波器24的輸出的存儲器中。就利用水平濾波部件330和垂直濾波部件340濾波的像素來說,可以計算兩個濾波器輸出的加權(quán)平均值,作為輸出像素值。
(2)第二個例子
雖然第一個例子使并行度達到最大,不過,按照第二個例子的去塊濾波器24也能夠進行每個宏塊的處理。
為比較起見,圖34圖解說明當(dāng)在對于垂直邊界的濾波處理和對于水平邊界的濾波處理之間,仍有依存關(guān)系時,對于每個宏塊的處理序列。圖34中的處理序列與按照第一實施例的圖22中的處理序列大體相同。圖36明確地表示了把像素值保存在存儲器中,以便輸出,并且為了簡單起見,從圖22中省略的4個處理步驟(第6、第10、第14和第16)。包括這4個處理步驟的16個處理步驟構(gòu)成圖34中的處理。
圖35圖解說明本實施例提供的處理序列的第二個例子。在圖35中,第一步驟并行地進行對于宏塊MB0的4個垂直邊界和4個水平邊界的濾波需要判定處理JV0,0~JV0,3和JH0,0~JH0,3。第二步驟并行地進行對于宏塊MB0的4個垂直邊界和4個水平邊界的濾波處理FV0,0~FV0,3和FH0,0~FH0,3。第三步驟把宏塊MB0的像素值保存在用于來自去塊濾波器24的輸出的存儲器中。就被兩個濾波器重復(fù)濾波的像素來說,可以計算兩個濾波器輸出的加權(quán)平均值,作為輸出像素值。第四步驟到第六步驟類似地處理宏塊MB1。第七步驟到第九步驟類似地處理宏塊MB2。第十步驟到第十二步驟類似地處理宏塊MB3。圖35中的處理包括與圖34中的處理的步驟相比,較少的12個處理步驟。
第三實施例消除了對于垂直邊界的濾波處理和對于水平邊界的濾波處理之間的依存關(guān)系??梢岳门c第一和第二實施例相比,較少的處理步驟進行去塊濾波器24的處理。允許濾波處理僅僅參考給去塊濾波器的像素輸入的優(yōu)點之一在于濾波器抽頭的任意結(jié)構(gòu)不會導(dǎo)致對于垂直邊界的濾波處理和對于水平邊界的濾波處理之間的任何依存關(guān)系。通過利用與現(xiàn)有技術(shù)相比,更多的像素構(gòu)成濾波器抽頭,第三實施例能夠改善圖像質(zhì)量。例如,現(xiàn)有技術(shù)把3個像素的濾波器抽頭用于各個邊界的每一側(cè),如上參考圖7所述。即使在每個邊界使用5個像素或者更多像素的濾波器抽頭,本實施例也不會在處理之間導(dǎo)致任何依存關(guān)系。通過進一步減小作為去塊濾波器的處理單位的塊大小,甚至在處理之間也不會出現(xiàn)任何依存關(guān)系。
另外,在第三實施例以及第一和第二實施例中,并行化控制部分150可控制去塊濾波器24中的處理的并行度和順序。
[5-4.處理流程]
圖36是圖解說明按照第三實施例的去塊濾波器的處理流程的例子的流程圖。圖37是圖解說明圖36中所示的像素值計算處理的流程的流程圖。
參見圖36,垂直邊界判定部分312-1~312-n對于輸入圖像或宏塊內(nèi)的所有垂直邊界,并行地判定是否需要濾波(步驟S302)。水平邊界判定部分314-1~314-n對于輸入圖像或宏塊內(nèi)的所有水平邊界,并行地判定是否需要濾波(步驟S304)。步驟S302和S304也可并行地進行。
水平濾波部件332-1~332-n把去塊濾波器并行地應(yīng)用于在步驟S302,確定需要應(yīng)用去塊濾波器的所有垂直邊界(步驟S306)。垂直濾波部件342-1~342-n把去塊濾波器并行地應(yīng)用于在步驟S304,確定需要應(yīng)用去塊濾波器的所有水平邊界(步驟S308)。步驟S306和S308也可并行地進行。
計算部分360隨后進行如圖37中所示的像素值計算處理(步驟S310)。參見圖37,隨后為待處理的每個像素,循環(huán)從步驟S314-步驟S326的處理(步驟S312)。
在步驟S314,計算部分360判定用于垂直邊界和水平邊界的兩個濾波器是否已對關(guān)注像素濾波(步驟S314)。如果這兩個濾波器已對關(guān)注像素濾波,那么處理進入步驟S322。如果這兩個濾波器還未對關(guān)注像素濾波,那么處理進入步驟S316。
在步驟S316,計算部分360判定用于垂直邊界和水平邊界的兩個濾波器之一是否已對關(guān)注像素濾波(步驟S316)。如果這兩個濾波器之一已對關(guān)注像素濾波,那么處理進入步驟S320。如果這兩個濾波器一個也沒有對關(guān)注像素濾波,那么處理進入步驟S318。
在步驟S318,計算部分360獲得給去塊濾波器24的輸入像素值(步驟S318)。在步驟S320,計算部分360獲得來自對關(guān)注像素進行實際濾波的濾波器的濾波器輸出(步驟S320)。
在步驟S322,計算部分360按照從關(guān)注像素到垂直邊界和水平邊界的距離,或者對應(yīng)于關(guān)注像素的垂直邊界和水平邊界的邊緣強度,確定用于計算來自涉及關(guān)注像素的兩個濾波器的濾波器輸出的加權(quán)平均值的權(quán)重值(步驟S322)。計算部分360利用確定的權(quán)重,計算來自兩個濾波器的濾波器輸出的加權(quán)平均值(步驟S324)。
在步驟S318或S320獲得像素值,或者在步驟S324計算像素值的同時,計算部分360把關(guān)注像素的像素值保存在存儲器中(步驟S326)。當(dāng)對所有待處理像素都進行了處理時,終止如在圖36和37中所示的處理序列。
<6.對各種編解碼器的應(yīng)用>
按照本公開的技術(shù)適用于與圖像編碼和解碼相關(guān)的各種編解碼器。下面說明把按照本公開的技術(shù)應(yīng)用于多視圖編解碼器和可擴展編解碼器的例子。
[6-1.多視圖編解碼器]
多視圖編解碼器是編碼和解碼多視點視頻的圖像編碼方案。圖38是圖解說明多視圖編解碼器的說明圖。圖38圖解說明在3個視點拍攝的3個視圖的幀序列。每個視圖具備視圖ID(view_id)。視圖之一被指定為基本視圖。除基本視圖外的視圖被稱為非基本視圖。圖38中的例子表示具有視圖ID“0”的基本視圖,和具有視圖ID“1”或“2”的兩個非基本視圖。編碼多視圖圖像數(shù)據(jù)可通過根據(jù)關(guān)于基本視圖的各幀的編碼信息,編碼非基本視圖的各幀,整體壓縮編碼流的數(shù)據(jù)大小。
在按照上述多視圖編解碼器的編碼處理和解碼處理期間,可對每個視圖應(yīng)用去塊濾波器。對每個視圖應(yīng)用去塊濾波器可按照本公開的技術(shù),以包含每個視圖的多個CU的處理為單位,使水平濾波和垂直濾波并行。上述處理單位可代表幾個CU、LCU或圖像??梢詾槊總€視圖設(shè)定控制并行處理的參數(shù)(比如在前面的“(4)并行化控制部分”的第2段中說明的參數(shù))。對于基本視圖設(shè)定的參數(shù)可以重新用于非基本視圖。
可在多個視圖內(nèi),使水平濾波和垂直濾波并行。所述多個視圖可共用控制并行處理的參數(shù)(比如在前面的“(4)并行化控制部分”的第2段中說明的參數(shù))。有利的是另外指定指示多個視圖是否共用該參數(shù)的標記。
圖39是圖解說明應(yīng)用于上述多視圖編解碼器的圖像編碼處理的說明圖。圖39舉例表示多視圖編碼設(shè)備710的結(jié)構(gòu)。多視圖編碼設(shè)備710包括第一編碼部件720、第二編碼部件730和多路復(fù)用部分740。
第一編碼部件720對基本視圖圖像編碼,產(chǎn)生基本視圖的編碼流。第二編碼部件730對非基本視圖圖像編碼,產(chǎn)生非基本視圖的編碼流。多路復(fù)用部分740多路復(fù)用從第一編碼部件720產(chǎn)生的基本視圖的編碼流,和從第二編碼部件730產(chǎn)生的非基本視圖的一個或多個編碼流,從而產(chǎn)生多視圖的多路復(fù)用流。
圖39中圖解說明的第一編碼部件720和第二編碼部件730是類似于按照上述實施例的圖像編碼設(shè)備10構(gòu)成的。對視圖應(yīng)用去塊濾波器使得能夠以包含多個CU的處理為單位,使水平濾波和垂直濾波并行??刂七@些處理的參數(shù)可被插入每個視圖的編碼流的報頭區(qū)中,或者插入多路復(fù)用流中的公共報頭區(qū)中。
圖40是圖解說明應(yīng)用于上面說明的多視圖編解碼器的圖像解碼處理的說明圖。圖40舉例表示多視圖解碼設(shè)備760的結(jié)構(gòu)。多視圖解碼設(shè)備760包括多路分解部分770、第一解碼部分780和第二解碼部分790。
多路分解部分770把多視圖的多路復(fù)用流多路分解成基本視圖的編碼流,和一個或多個非基本視圖的編碼流。第一解碼部分780從基本視圖的編碼流中,解碼基本視圖圖像。第二解碼部分790從非基本視圖的編碼流中,解碼非基本視圖圖像。
圖40中圖解說明的第一解碼部分780和第二解碼部分790是類似于按照上述實施例的圖像解碼設(shè)備60構(gòu)成的。對視圖應(yīng)用去塊濾波器使得能夠以包含多個CU的處理為單位,使水平濾波并行,和使垂直濾波并行??刂七@些處理的參數(shù)可以從每個視圖的編碼流的報頭區(qū)獲得,或者從多路復(fù)用流的公共報頭區(qū)獲得。
[6-2.可擴展編解碼器]
可擴展編解碼器是提供分級編碼的圖像編碼方案。圖41是圖解說明可擴展編解碼器的說明圖。圖41圖解說明空間分辨率、時間分辨率或圖像質(zhì)量不同的3層的幀序列。每一層具有層ID(layer_id)。這些層包括具有最低分辨率(或圖像質(zhì)量)的基本層。除基本層外的各層被稱為增強層。圖41中的例子表示具有層ID“0”的基本層,和具有層ID“1”或“2”的兩個增強層。編碼多層圖像數(shù)據(jù)可通過根據(jù)關(guān)于基本層的各幀的編碼信息,編碼增強層的各幀,整體壓縮編碼流的數(shù)據(jù)大小。
在按照上述可擴展編解碼器的編碼處理和解碼處理期間,可對每層應(yīng)用去塊濾波器。對每層應(yīng)用去塊濾波器可按照本公開的技術(shù),以包含每個視圖的多個CU的處理為單位,使水平濾波和垂直濾波并行。上述處理單位可代表幾個CU、LCU或圖像??梢詾槊繉釉O(shè)定控制并行處理的參數(shù)(比如在前面的“(4)并行化控制部分”的第2段中說明的參數(shù))。對于基本層視圖設(shè)定的參數(shù)可以重新用于增強層。
可在多層內(nèi),使水平濾波和垂直濾波并行。所述多層可共用控制并行處理的參數(shù)(比如在前面的“(4)并行化控制部分”的第2段中說明的參數(shù))。有利的是另外指定指示多層是否共用該參數(shù)的標記。
圖42是圖解說明應(yīng)用于上述可擴展編解碼器的圖像編碼處理的說明圖。圖42舉例表示可擴展編碼設(shè)備810的結(jié)構(gòu)??蓴U展編碼設(shè)備810包括第一編碼部件820、第二編碼部件830和多路復(fù)用部分840。
第一編碼部件820對基本層圖像編碼,產(chǎn)生基本層的編碼流。第二編碼部件830對增強層圖像編碼,產(chǎn)生增強層的編碼流。多路復(fù)用部分840多路復(fù)用從第一編碼部件820產(chǎn)生的基本層的編碼流,和從第二編碼部件830產(chǎn)生的增強層的一個或多個編碼流,從而產(chǎn)生多層的多路復(fù)用流。
圖42中圖解所示的第一編碼部件820和第二編碼部件830是類似于上述實施例的圖像編碼設(shè)備10構(gòu)成的。對各層應(yīng)用去塊濾波器使得能夠以包含多個CU的處理為單位,使水平濾波并行,和使垂直濾波并行。控制這些處理的參數(shù)可被插入每層的編碼流的報頭區(qū)中,或者插入多路復(fù)用流中的公共報頭區(qū)中。
圖43是圖解說明應(yīng)用于上述可擴展編解碼器的圖像解碼處理的說明圖。圖43舉例表示可擴展解碼設(shè)備860的結(jié)構(gòu)。可擴展解碼設(shè)備860包括多路分解部分870、第一解碼部分880和第二解碼部分890。
多路分解部分870把多層的多路復(fù)用流多路分解成基本層的編碼流,和一個或多個增強層的編碼流。第一解碼部分880從基本層的編碼流中,解碼基本層圖像。第二解碼部分890從增強層的編碼流中,解碼增強層圖像。
圖43中圖解所示的第一解碼部分880和第二解碼部分890是類似于按照上述實施例的圖像解碼設(shè)備60構(gòu)成的。對各層應(yīng)用去塊濾波器使得能夠以包含多個CU的處理為單位,使水平濾波并行,和使垂直濾波并行??刂七@些處理的參數(shù)可以從每層的編碼流的報頭區(qū)獲得,或者從多路復(fù)用流的公共報頭區(qū)獲得。
<7.例證應(yīng)用>
按照上述實施例的圖像編碼設(shè)備10和圖像解碼設(shè)備60適用于各種電器,比如用于衛(wèi)星廣播、諸如有線電視之類的有線廣播、因特網(wǎng)上的分發(fā)、借助蜂窩通信對終端的分發(fā)等的發(fā)射器和接收器,把圖像記錄在諸如光盤、磁盤或閃存之類的介質(zhì)中的記錄設(shè)備,從這樣的存儲介質(zhì)再現(xiàn)圖像的再現(xiàn)設(shè)備,等等。下面說明4種例證應(yīng)用。
[7-1.第一例證應(yīng)用]
圖44是表示適用上述實施例的電視機的示意結(jié)構(gòu)的例子的方框圖。電視機900包括天線901、調(diào)諧器902、多路分解器903、解碼器904、視頻信號處理部分905、顯示部分906、音頻信號處理部分907、揚聲器908、外部接口909、控制部分910、用戶接口911和總線912。
調(diào)諧器902從借助天線901接收的廣播信號中,提取所需頻道的信號,并解調(diào)提取的信號。隨后,調(diào)諧器902把通過解調(diào)獲得的編碼比特流輸出給多路分解器903。即,調(diào)諧器902充當(dāng)電視機900的接收其中編碼圖像的編碼流的電視機900的傳輸裝置。
多路分解器903從編碼比特流中,分離出待觀看節(jié)目的視頻流和音頻流,把分離出的每個流輸出給解碼器904。另外,多路分解器903從編碼比特流中,提取諸如EPG(電子節(jié)目指南)之類的輔助數(shù)據(jù),并把提取的數(shù)據(jù)提供給控制部分910。另外,在編碼比特流被加擾的情況下,多路分解器903可進行解擾。
解碼器904對從多路分解器903輸入的視頻流和音頻流解碼。隨后,解碼器904把利用解碼處理產(chǎn)生的視頻數(shù)據(jù)輸出給視頻信號處理部分905。另外,解碼器904把利用解碼處理產(chǎn)生的音頻數(shù)據(jù)輸出給音頻信號處理部分907。
視頻信號處理部分905再現(xiàn)從解碼器904輸入的視頻數(shù)據(jù),使顯示部分906顯示視頻。視頻信號處理部分905還可使顯示部分906顯示通過網(wǎng)絡(luò)供給的應(yīng)用程序畫面。此外,視頻信號處理部分905可按照設(shè)定,對視頻數(shù)據(jù)進行諸如噪聲消除之類的附加處理。此外,視頻信號處理部分905可產(chǎn)生GUI(圖形用戶界面)的圖像,比如菜單、按鈕、光標等,并把產(chǎn)生的圖像重疊在輸出圖像上。
顯示部分906由視頻信號處理部分905供給的驅(qū)動信號驅(qū)動,把視頻或圖像顯示在顯示設(shè)備(例如,液晶顯示器、等離子體顯示器、OLED等)的視頻屏幕上。
音頻信號處理部分907對從解碼器904輸入的音頻數(shù)據(jù),進行諸如D/A轉(zhuǎn)換和放大之類的再現(xiàn)處理,從揚聲器908輸出音頻。另外,音頻信號處理部分907可對音頻數(shù)據(jù)進行諸如噪聲消除之類的附加處理。
外部接口909是電視機900和外部設(shè)備或網(wǎng)絡(luò)的接口。例如,外部接口909接收的視頻流和音頻流可由解碼器904解碼。即,外部接口909還充當(dāng)電視機900的傳輸裝置,用于接收其中圖像被編碼的編碼流。
控制部分910包括諸如CPU(中央處理器)之類的處理器,和諸如RAM(隨機存取存儲器)、ROM(只讀存儲器)之類的存儲器。存儲器保存將由CPU執(zhí)行的程序、程序數(shù)據(jù)、EPG數(shù)據(jù)、通過網(wǎng)絡(luò)獲得的數(shù)據(jù)等等。在啟動電視機900時,CPU讀取并執(zhí)行保存在CPU中的程序。CPU通過執(zhí)行程序,按照從用戶接口911輸入的操作信號,控制電視機900的操作。
用戶接口911連接到控制部分910。用戶接口911包括用戶用于操作電視機900的按鈕和開關(guān),和遙控信號的接收部分。用戶接口911檢測用戶借助這些構(gòu)成元件的操作,產(chǎn)生操作信號,把產(chǎn)生的操作信號輸出給控制部分910。
總線912互連調(diào)諧器902、多路分解器903、解碼器904、視頻信號處理部分905、音頻信號處理部分907、外部接口909和控制部分910。
在按照這種方式構(gòu)成的電視機900中,解碼器904具有按照上述實施例的圖像解碼設(shè)備60的功能。因而,就電視機900中的圖像解碼來說,也能夠增強去塊濾波器處理的并行度,從而確保高速處理。
[7-2.第二例證應(yīng)用]
圖45是表示采用上述實施例的移動電話機的示意結(jié)構(gòu)的例子的方框圖。移動電話機920包括天線921、通信部分922、音頻編解碼器923、揚聲器924、麥克風(fēng)925、攝像機部分926、圖像處理部分927、多路分解部分928、記錄/再現(xiàn)部分929、顯示部分930、控制部分931、操作部分932和總線933。
天線921連接到通信部分922。揚聲器924和麥克風(fēng)925連接到音頻編解碼器923。操作部分932連接到控制部分931??偩€933互連通信部分922、音頻編解碼器923、攝像機部分926、圖像處理部分927、多路分解部分928、記錄/再現(xiàn)部分929、顯示部分930和控制部分931。
移動電話機920按照包括音頻通信模式、數(shù)據(jù)通信模式、攝像模式和視頻電話模式,進行諸如音頻信號的傳輸/接收,電子郵件或圖像數(shù)據(jù)的傳輸/接收,攝像,數(shù)據(jù)的記錄之類的操作。
在音頻通信模式下,麥克風(fēng)925產(chǎn)生的模擬音頻信號被提供給音頻編解碼器923。音頻編解碼器923把模擬音頻信號轉(zhuǎn)換成音頻數(shù)據(jù),對轉(zhuǎn)換的音頻數(shù)據(jù)進行A/D轉(zhuǎn)換和壓縮。隨后,音頻編解碼器923把壓縮的音頻數(shù)據(jù)輸出給通信部分922。通信部分922編碼和調(diào)制音頻數(shù)據(jù),從而產(chǎn)生傳輸信號。隨后,通信部分922通過天線921,把產(chǎn)生的傳輸信號傳送給基站(未示出)。另外,通信部分922放大經(jīng)天線921接收的無線信號,轉(zhuǎn)換無線信號的頻率,從而獲得接收信號。隨后,通信部分922解調(diào)和解碼接收的信號,產(chǎn)生音頻數(shù)據(jù),并把產(chǎn)生的音頻數(shù)據(jù)輸出給音頻編解碼器923。音頻編解碼器923擴展和D/A轉(zhuǎn)換音頻數(shù)據(jù),從而產(chǎn)生模擬音頻信號。隨后,音頻編解碼器923把產(chǎn)生的音頻信號提供給揚聲器924,從而使音頻被輸出。
另外,在數(shù)據(jù)通信模式下,控制部分931按照用戶借助操作部分932的操作,產(chǎn)生構(gòu)成電子郵件的文本數(shù)據(jù)。此外,控制部分931使文本被顯示在顯示部分930上。此外,控制部分931按照借助操作部分932的傳輸指令,產(chǎn)生電子郵件數(shù)據(jù),把產(chǎn)生的電子郵件數(shù)據(jù)輸出給通信部分922。隨后,通信部分922編碼和調(diào)制電子郵件數(shù)據(jù),從而產(chǎn)生傳輸信號。之后,通信部分922把產(chǎn)生的傳輸信號經(jīng)天線921,傳送給基站(未示出)。另外,通信部分922放大經(jīng)天線921接收的無線信號,轉(zhuǎn)換無線信號的頻率,從而獲得接收信號。隨后,通信部分922解調(diào)和解碼接收信號,恢復(fù)電子郵件郵件,并把恢復(fù)的電子郵件數(shù)據(jù)輸出給控制部分931??刂撇糠?31使顯示部分930顯示電子郵件的內(nèi)容,另外,使電子郵件數(shù)據(jù)被保存在記錄/再現(xiàn)部分929的存儲介質(zhì)中。
記錄/再現(xiàn)部分929包括任意的可讀和可寫存儲介質(zhì)。例如,存儲介質(zhì)諸如RAM、閃存之類的內(nèi)置存儲介質(zhì),或者諸如硬盤、磁盤、磁光盤、光盤、USB存儲器、存儲卡之類的外部安裝的存儲介質(zhì)。
此外,在攝像模式下,攝像機部分926拍攝被攝物體的圖像,產(chǎn)生圖像數(shù)據(jù),并把產(chǎn)生的圖像數(shù)據(jù)輸出給圖像處理部分927。圖像處理部分927編碼從攝像機部分926輸入的圖像數(shù)據(jù),使編碼流被保存在記錄/再現(xiàn)部分929的存儲介質(zhì)中。
此外,在視頻電話模式下,多路分解部分928多路復(fù)用利用圖像處理部分927編碼的視頻流,和從音頻編解碼器923輸入的音頻流,把多路復(fù)用流輸出給通信部分922。通信部分922編碼和調(diào)制所述流,產(chǎn)生傳輸信號。隨后,通信部分922把產(chǎn)生的傳輸信號經(jīng)天線921,傳送給基站(未示出)。另外,通信部分922放大經(jīng)天線921接收的無線信號,轉(zhuǎn)換無線信號的頻率,從而獲得接收信號。這些傳輸信號和接收信號可包括編碼比特流。隨后,通信部分922解調(diào)和解碼接收信號,恢復(fù)所述流,把恢復(fù)的流輸出給多路分解部分928。多路分解部分928從輸入流中分離出視頻流和音頻流,把視頻流輸出給圖像處理部分927,把音頻流輸出給音頻編解碼器923。圖像處理部分927解碼視頻流,從而產(chǎn)生視頻數(shù)據(jù)。視頻數(shù)據(jù)被提供給顯示部分930,從而利用顯示部分930顯示一系列的圖像。音頻編解碼器923擴展和D/A轉(zhuǎn)換音頻流,產(chǎn)生模擬音頻信號。隨后,音頻編解碼器923把產(chǎn)生的音頻信號提供給揚聲器924,從而使音頻被輸出。
在按照這種方式構(gòu)成的移動電話機920中,圖像處理部分927具有按照上述實施例的圖像編碼設(shè)備10和圖像解碼設(shè)備60的功能。因而,在移動電話機920中編碼和解碼圖像的情況下,也能夠增強去塊濾波器處理的并行度,從而確保高速處理。
[7-3.第三例證應(yīng)用]
圖46是表示采用上述實施例的記錄/再現(xiàn)設(shè)備的示意結(jié)構(gòu)的例子的方框圖。記錄/再現(xiàn)設(shè)備940編碼接收的廣播節(jié)目的音頻數(shù)據(jù)和視頻數(shù)據(jù),并記錄在記錄介質(zhì)中。記錄/再現(xiàn)設(shè)備940也可編碼從另一個設(shè)備獲得的音頻數(shù)據(jù)和視頻數(shù)據(jù),并記錄在記錄介質(zhì)中。此外,記錄/再現(xiàn)設(shè)備940按照用戶的指令,利用監(jiān)視器或揚聲器,再現(xiàn)記錄在記錄介質(zhì)中的數(shù)據(jù)。此時,記錄/再現(xiàn)設(shè)備940解碼音頻數(shù)據(jù)和視頻數(shù)據(jù)。
記錄/再現(xiàn)設(shè)備940包括調(diào)諧器941、外部接口942、編碼器943、HDD(硬盤驅(qū)動器)944、光盤驅(qū)動器945、選擇器946、解碼器947、OSD(屏幕顯示器)948、控制部分949和用戶接口950。
調(diào)諧器941從借助天線(未示出)接收的廣播信號中,提取所需頻道的信號,并解調(diào)提取的信號。隨后,調(diào)諧器941把通過解調(diào)獲得的編碼比特流輸出給選擇器946。即,調(diào)諧器941充當(dāng)記錄/再現(xiàn)設(shè)備940的傳輸裝置。
外部接口942是用于連接記錄/再現(xiàn)設(shè)備940和外部設(shè)備或網(wǎng)絡(luò)的接口。例如,外部接口942可以是IEEE 1394接口、網(wǎng)絡(luò)接口、USB接口、閃存接口等。例如,利用外部接口942接收的視頻數(shù)據(jù)和音頻數(shù)據(jù)被輸入編碼器943中。即,外部接口942充當(dāng)記錄/再現(xiàn)設(shè)備940的傳輸裝置。
在從外部接口942輸入的視頻數(shù)據(jù)和音頻數(shù)據(jù)未被編碼的情況下,編碼器943編碼視頻數(shù)據(jù)和音頻數(shù)據(jù)。隨后,編碼器943把編碼比特流輸出給選擇器946。
HDD 944把編碼比特流記錄在內(nèi)部硬盤中,編碼比特流是視頻或音頻、各種節(jié)目、和其它各項數(shù)據(jù)的壓縮內(nèi)容數(shù)據(jù)。另外,在再現(xiàn)視頻或音頻時,HDD 944從硬盤讀出這些數(shù)據(jù)。
光盤驅(qū)動器945把數(shù)據(jù)記錄在安裝的記錄介質(zhì)中,或者讀取安裝的記錄介質(zhì)中的數(shù)據(jù)。安裝在光盤驅(qū)動器945中的記錄介質(zhì)可以是DVD光盤(DVD-視頻、DVD-RAM、DVD-R、DVD-RW、DVD+、DVD+RW等)、藍光(注冊商標)光盤等等。
在記錄視頻或音頻時,選擇器946選擇從調(diào)諧器941或編碼器943輸入的編碼比特流,把選擇的編碼比特流輸出給HDD 944或者光盤驅(qū)動器945。另外,在再現(xiàn)視頻或音頻時,選擇器946把從HDD 944或者光盤驅(qū)動器945輸入的編碼比特流輸出給解碼器947。
解碼器947解碼編碼比特流,產(chǎn)生視頻數(shù)據(jù)和音頻數(shù)據(jù)。隨后,解碼器947把產(chǎn)生的視頻數(shù)據(jù)輸出給OSD 948。另外,解碼器904把產(chǎn)生的音頻數(shù)據(jù)輸出給外部揚聲器。
OSD 948再現(xiàn)從解碼器947輸入的視頻數(shù)據(jù),從而顯示視頻。另外,OSD 948可把GUI的圖像,比如菜單、按鈕、光標等,重疊在顯示的視頻上。
控制部分949包括諸如CPU之類的處理器,和諸如RAM或ROM之類的存儲器。存儲器保存由CPU執(zhí)行的程序、程序數(shù)據(jù)等。當(dāng)啟動記錄/再現(xiàn)設(shè)備940時,CPU讀取并執(zhí)行保存在存儲器中的程序。CPU通過執(zhí)行程序,按照從用戶接口950輸入的操作信號,控制記錄/再現(xiàn)設(shè)備940的操作。
用戶接口950連接到控制部分949。用戶接口950包括由用戶用于操作記錄/再現(xiàn)設(shè)備940的按鈕和開關(guān),和遙控信號的接收部分。用戶接口950檢測用戶借助這些構(gòu)成元件的操作,產(chǎn)生操作信號,并把產(chǎn)生的操作信號輸出給控制部分949。
在按照這種方式構(gòu)成的記錄/再現(xiàn)設(shè)備940中,編碼器943具有按照上述實施例的圖像編碼設(shè)備10的功能。另外,解碼器947具有按照上述實施例的圖像解碼設(shè)備60的功能。因而,在記錄/再現(xiàn)設(shè)備940中編碼和解碼圖像的情況下,也能夠增強去塊濾波器處理的并行度,從而確保高速處理。
[7-4.第四例證應(yīng)用]
圖47是表示采用上述實施例的攝像設(shè)備的示意結(jié)構(gòu)的例子的方框圖。攝像設(shè)備960拍攝被攝物體的圖像,產(chǎn)生圖像,編碼圖像數(shù)據(jù),并把圖像數(shù)據(jù)記錄在記錄介質(zhì)中。
攝像設(shè)備960包括光學(xué)部件961、攝像部分962、信號處理部分963、圖像處理部分964、顯示部分965、外部接口966、存儲器967、介質(zhì)驅(qū)動器968、OSD 969、控制部分970、用戶接口971和總線972。
光學(xué)部件961連接到攝像部分962。攝像部分962連接到信號處理部分963。顯示部分965連接到圖像處理部分964。用戶接口971連接到控制部分970??偩€972互連圖像處理部分964、外部接口966、存儲器967、介質(zhì)驅(qū)動器968、OSD 969和控制部分970。
光學(xué)部件961包括聚焦透鏡、孔徑光闌機構(gòu)等。光學(xué)部件961在攝像部分962的攝像面上,形成被攝物體的光學(xué)圖像。攝像部分962包括諸如CCD、CMOS之類的圖像傳感器,利用光電轉(zhuǎn)換,把在攝像面上形成的光學(xué)圖像轉(zhuǎn)換成作為電信號的圖像信號。隨后,攝像部分962把圖像信號輸出給信號處理部分963。
信號處理部分963對從攝像部分962輸入的圖像信號,進行各種攝像機信號處理,比如拐點校正、γ校正、顏色校正等。信號處理部分963把攝像機信號處理后的圖像數(shù)據(jù)輸出給圖像處理部分964。
圖像處理部分964編碼從信號處理部分963輸入的圖像數(shù)據(jù),產(chǎn)生編碼數(shù)據(jù)。隨后,圖像處理部分964把產(chǎn)生的編碼數(shù)據(jù)輸出給外部接口966或介質(zhì)驅(qū)動器968。另外,圖像處理部分964解碼從外部接口966或介質(zhì)驅(qū)動器968輸入的編碼數(shù)據(jù),從而產(chǎn)生圖像數(shù)據(jù)。隨后,圖像處理部分964把產(chǎn)生的圖像數(shù)據(jù)輸出給顯示部分965。另外,圖像處理部分964可把從信號處理部分963輸入的圖像數(shù)據(jù)輸出給顯示部分965,從而使圖像被顯示。此外,圖像處理部分964可把從OSD 969獲得的顯示數(shù)據(jù)重疊在待輸出給顯示部分965的圖像上。
OSD 969產(chǎn)生GUI的圖像,比如菜單、按鈕、光標等,并把產(chǎn)生的圖像輸出給圖像處理部分964。
外部接口966被配置成例如USB輸入/輸出端子。例如在打印圖像時,外部接口966連接攝像設(shè)備960和打印機。另外,酌情把驅(qū)動器連接到外部接口966。諸如磁盤、光盤之類的可拆卸介質(zhì)安裝在驅(qū)動器中,從可拆卸介質(zhì)讀取的程序可被安裝在攝像設(shè)備960中。此外,外部接口966可被配置成待連接到諸如LAN、因特網(wǎng)之類的網(wǎng)絡(luò)的網(wǎng)絡(luò)接口。即,外部接口966充當(dāng)攝像設(shè)備960的傳輸裝置。
待安裝在介質(zhì)驅(qū)動器968上的記錄介質(zhì)可以是任意可讀和可寫的可拆卸介質(zhì),比如磁盤、磁光盤、光盤、半導(dǎo)體存儲器等。另外,記錄介質(zhì)可被固定地安裝在介質(zhì)驅(qū)動器968上,構(gòu)成諸如內(nèi)置硬盤驅(qū)動器或SSD(固態(tài)驅(qū)動器)之類的不可移植存儲部分。
控制部分970包括諸如CPU之類的處理器,和諸如RAM或ROM之類的存儲器。存儲器保存將由CPU執(zhí)行的程序,程序數(shù)據(jù)等。在啟動攝像設(shè)備960時,CPU讀取并執(zhí)行保存在存儲器中的程序。CPU通過執(zhí)行程序,按照從用戶接口971輸入的操作信號,控制攝像設(shè)備960的操作。
用戶接口971連接到控制部分970。用戶接口971包括由用戶用于操作攝像設(shè)備960的按鈕、開關(guān)等。用戶接口971檢測用戶借助這些構(gòu)成元件的操作,產(chǎn)生操作信號,并把產(chǎn)生的操作信號輸出給控制部分970。
在按照這種方式構(gòu)成的攝像設(shè)備960中,圖像處理部分964具有按照上述實施例的圖像編碼設(shè)備10和圖像解碼設(shè)備60的功能。因而,在攝像設(shè)備960中編碼和解碼圖像的情況下,也能夠增強去塊濾波器處理的并行度,從而確保高速處理。
<8.總結(jié)>
參考圖1-47,說明了按照實施例的圖像編碼設(shè)備10和圖像解碼設(shè)備60的去塊濾波器的3個實施例。這3個實施例減輕了現(xiàn)有技術(shù)固有的去塊濾波器處理的依存關(guān)系。這可改善當(dāng)應(yīng)用去塊濾波器時的處理的并行度。結(jié)果,能夠避免由去塊濾波器的較大處理量引起的延遲或數(shù)據(jù)速率的降低,從而確保高速處理。可按照諸如圖像大小或安裝環(huán)境之類的各種條件,靈活地設(shè)定去塊濾波器處理的并行度和順序。
按照第一實施例,當(dāng)對于垂直邊界和水平邊界之一,判定是否需要濾波時,跨越圖像內(nèi)的多個宏塊,參考提供給去塊濾波器的輸入圖像的像素值。結(jié)果將減輕宏塊或編碼單位之間的處理的依存關(guān)系。于是,能夠跨越多個宏塊,或者圖像內(nèi)的所有宏塊(如果使并行度達到最大的話),并行濾波需要判定處理。
按照第二實施例,進行對于每個塊的垂直邊界和水平邊界,是否需要濾波的判定,而不等待把去塊濾波器應(yīng)用于該塊屬于的宏塊中的其它塊。這減輕宏塊或編碼單位中的垂直邊界和水平邊界之間的處理的依存關(guān)系。因而,能夠在宏塊中,并行對于垂直邊界和水平邊界的濾波需要判定處理。
按照第三實施例,對于垂直邊界和水平邊界的濾波處理對輸入去塊濾波器的像素濾波。這種結(jié)構(gòu)可以使對于垂直邊界和水平邊界的濾波處理相互并行。這可進一步加速去塊濾波器的處理。就利用并行進行的兩個濾波處理更新的像素來說,根據(jù)兩個濾波器輸出,計算輸出像素值。使兩個濾波處理并行還可適當(dāng)減小在垂直邊界和水平邊界出現(xiàn)的塊失真。輸出像素值可被計算為兩個濾波器輸出的加權(quán)平均值。這可使去塊濾波器更有效地消除塊失真,從而進一步改善圖像質(zhì)量。
本說明書主要說明了其中對于垂直邊界的濾波處理在對于水平邊界的濾波處理之前的例子。另外,按照本公開的技術(shù)的上述效果同樣適用于其中對于水平邊界的濾波處理在對于垂直邊界的濾波處理之前的情況。可不同于說明書中所述地確定去塊濾波器處理單位或宏塊的大小。一種可行的技術(shù)可以省略濾波需要判定處理,并且并行化對于垂直邊界和水平邊界的去塊濾波器的應(yīng)用。
把用于去塊濾波器處理并行化的信息從編碼方傳送給解碼方的技術(shù)并不局限于把所述信息多路復(fù)用到編碼流報頭中的技術(shù)。例如,所述信息可不被多路復(fù)用到編碼比特流,而是可作為與編碼比特流相關(guān)的獨立數(shù)據(jù)被傳送或記錄。術(shù)語“關(guān)聯(lián)”意味確保使包含在比特流中的圖像(或者圖像的一部分,比如切片或塊)與對應(yīng)于該圖像的信息相聯(lián)系的可能性。即,可通過與用于圖像(或者比特流)的傳輸路徑不同的傳輸路徑傳送所述信息。所述信息可被記錄在與用于圖像(或者比特流)的記錄介質(zhì)不同的記錄介質(zhì)(或者相同記錄介質(zhì)上的不同記錄區(qū)域)上。可根據(jù)諸如多幀、一幀、一幀的一部分的任何單位,使信息和圖像(或者比特流)彼此相關(guān)。
上面參考附圖,說明了本發(fā)明的優(yōu)選實施例,然而,本發(fā)明當(dāng)然并不局限于上述例子。本領(lǐng)域的技術(shù)人員可得出在附加權(quán)利要求的范圍內(nèi)的各種變更和修改,應(yīng)理解這些變更和修改自然都在本發(fā)明的技術(shù)范圍之內(nèi)。
本說明書把對于垂直邊界的濾波處理表示成“水平濾波”,把對于水平邊界的濾波處理表示成“垂直濾波”。通常,對于垂直邊界的濾波處理利用水平布置的濾波器抽頭。對于水平邊界的濾波處理利用垂直布置的濾波器抽頭。因此,對于濾波處理,使用了上述術(shù)語。
附圖標記列表
10,60 圖像處理設(shè)備
112,212 第一判定部分(垂直邊界判定部分)
116,216 第二判定部分(水平邊界判定部分)
132 第一濾波部分(水平濾波部件)
142 第二一濾波部分(垂直濾波部件)
150 并行化控制部分