專利名稱:一種施加邊緣補償?shù)姆椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于減少原始樣品和重建樣品之間差異的樣品自適應(yīng)補償?shù)姆椒?,更具體而言,涉及一種基于當前樣本和相鄰樣本之間的差異自適應(yīng)地增加補償至重建樣品的方法。
背景技術(shù):
對于視頻數(shù)據(jù)的壓縮,多個視頻標準已先后開發(fā)。此類視頻標準諸如,MPEG-2,MPEG-4和H.264/MPEG-4AVC。作為H.264/MPEG-4AVC的繼任者,國際標準化組織(ISO) /國際電工委員會(IEC)運動圖像專家組(MPEG)和國際視頻編碼標準組織(ITU-T VCEG)目前正在聯(lián)合開發(fā)高效率視頻編碼(HEVC)。根據(jù)高效率視頻編碼(HEVC),一張圖像被劃分為最大編碼單元,利用幀間預(yù)測或幀內(nèi)預(yù)測產(chǎn)生預(yù)測塊,對每個最大編碼單元的一個或多個編碼單元進行編碼。變換初始塊和預(yù)測塊之間的差異以產(chǎn)生變換塊,利用量化參數(shù)和多個預(yù)定的(predetermined)量化矩陣之一對變換塊進行量化。預(yù)定的掃描類型對量化塊的量化系數(shù)進行掃描,之后進行熵編碼。對量化系數(shù)進行逆量化和逆轉(zhuǎn)化,以產(chǎn)生殘余塊,殘余塊與預(yù)測塊結(jié)合,以產(chǎn)生重建圖像。利用一個或多個解塊濾波器自適應(yīng)濾波重建圖像,以去除塊效應(yīng)。但是,在H.264和高效率視頻編碼中描述的正在開發(fā)的解塊濾波器技術(shù),由于技術(shù)太復(fù)雜,使得解碼設(shè)備的解碼性能收到影響。同樣,即使將解塊濾波應(yīng)用到塊邊緣,原始樣本和濾波樣本之間仍存在差異。為了補償這種差異,介紹了樣品自適應(yīng)補償工藝。但是,根據(jù)當前的樣品自適應(yīng)補償工藝,由于不能確定最佳邊緣索引,原始樣本和濾波樣本之間的差異有時會增長。因此,需要一種新技術(shù),以減少后期處理的復(fù)雜性,并且提高后期處理性能。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明涉及一種邊緣補償方法,以減少原始樣本和重建樣本之間的差異,以及減少用于補償異所需要的比特量。技術(shù)方案本發(fā)明的一方面提供了一種施加邊緣補償?shù)姆椒?,包?產(chǎn)生當前樣本的邊緣索弓丨,以及對當前樣本施加與邊緣索引對應(yīng)的邊緣補償。利用當前樣本和由邊緣補償?shù)念愋痛_定的兩個相鄰樣本之間的差異產(chǎn)生邊緣索引。有益效果根據(jù)本發(fā)明的方法產(chǎn)生當前樣本的邊緣索引,以及施加與邊緣索引對應(yīng)的邊緣補償至當前樣本。利用當前樣本和由邊緣補償?shù)念愋痛_定的兩個相鄰樣本之間的差異產(chǎn)生邊緣索引。因此,原始樣本和重建樣本之間的差異,通過產(chǎn)生最優(yōu)邊緣檢索而有效地降低。而且,通過確定補償?shù)恼摲枺档土擞糜跍p少所述差異所需要的比特量。
圖1示出了根據(jù)本發(fā)明的動態(tài)圖像編碼設(shè)備的方框圖;圖2示出了根據(jù)本發(fā)明的動態(tài)圖像解碼設(shè)備的方框圖;圖3是流程圖,示出了根據(jù)本發(fā)明的解塊濾波過程;圖4是示意圖,示出了根據(jù)本發(fā)明的確定邊界強度的方法;圖5是示意圖,示出了根據(jù)本發(fā)明的4樣品邊緣;圖6是示意圖,示出了根據(jù)本發(fā)明的將圖像劃分為多個區(qū)域的方法;圖7是示意圖,示出了根據(jù)本發(fā)明的邊緣類型;以及圖8是示意圖,示出了根據(jù)本發(fā)明的邊緣索引。
具體實施例方式在下文中,將參考附圖詳細描述本發(fā)明的各實施例。不過,本發(fā)明不限于下文公開的示范性實施例,而是可以通過各種方式實施。因此,本發(fā)明很多其他修改和變化都是可能的,要理解的是,在所公開的概念范圍之內(nèi),可以通過與具體所述不同的方式實踐本發(fā)明。根據(jù)本發(fā)明的動態(tài)圖像編碼設(shè)備和動態(tài)圖像解碼設(shè)備,可以是用戶終端,例如,個人計算機、個人移動終端、移動多媒體播放器、智能電話或無線通信終端。圖像編碼設(shè)備和圖像解碼設(shè)備可以包括:通信單元,用于與多種設(shè)備溝通;存儲器,存儲用于編碼或者解碼圖像的不同程序和數(shù)據(jù)。圖1示出了根據(jù)本發(fā)明的動態(tài)圖像編碼設(shè)備1000的方框圖。參考圖1,動態(tài)圖像編碼設(shè)備1000包括圖像分割單元1010、變換單元1020、量化單元1030、掃描單元1040、熵編碼單元1050,幀內(nèi)預(yù)測單元1060、幀間預(yù)測單元1070、逆量化單元1080、逆變換單元1090、后期處理單元1100、圖畫存儲單元1110、減法單元1120以及加法單元1130。圖像分割單元1010將圖畫或切片圖(slice)劃分成多個最大編碼單元(IXU),并將每個IXU劃分成一個或多個編碼單元。編碼單元的大小可以是32X32、64X64或128X 128。圖像分割單元1010確定每個編碼單元的預(yù)測模式和分區(qū)模式。IXU包括一個或多個編碼單元。IXU具有遞歸的四叉樹結(jié)構(gòu),以指定IXU的分割結(jié)構(gòu)。指定編碼單元的最大大小和最小大小的參數(shù)包括在序列參數(shù)集中。由一個或多個分裂編碼單元標志(split coding unit flag)指定分割結(jié)構(gòu)。編碼單元的大小是2NX 2N。如果IXU的大小是64X 64,并且最小編碼單元的大小是8X8,則編碼單元的大小可以是64X 64、32X32、16X16 或 8X8。編碼單元包括一個或多個預(yù)測單元。在幀內(nèi)預(yù)測中,預(yù)測單元的大小是2NX2N或NXN0在幀間預(yù)測中,預(yù)測單元的大小由分區(qū)模式指定。如果編碼單元是對稱分區(qū)的,則分區(qū)模式是2NX2N、2NXN、NX2N和NXN中之一。如果編碼單元是不對稱分割,則分區(qū)模式是 2NXnU、2NXnD、nLX2N 和 nRX2N 中之一。編碼單元包括一個或多個變換單元。變換單元具有遞歸的四叉樹結(jié)構(gòu),以指定編碼單元的分割結(jié)構(gòu)。由一個或多個分裂變換單元標記(split transform unit flag)指定分割結(jié)構(gòu)。指定變換單元的最大大小和最小大小的參數(shù)包括在序列參數(shù)集中。
變換單元1020變換殘余信號以產(chǎn)生變換塊。殘余信號以變換單元為基礎(chǔ)進行變換。殘余信號是從初始塊中減去由幀內(nèi)預(yù)測單元1060或者幀間預(yù)測單元1070產(chǎn)生的預(yù)測塊而獲得的。根據(jù)預(yù)測模式(幀內(nèi)預(yù)測模式或者幀間預(yù)測模式)使用不同的變換矩陣。而且,在幀內(nèi)預(yù)測模式中,基于幀內(nèi)預(yù)測模式可以自適應(yīng)地確定變換矩陣。變換單元使用兩個一維變換矩陣(水平矩陣和垂直矩陣)被變換。例如,在幀內(nèi)預(yù)測的水平幀內(nèi)預(yù)測模式中,因為殘余信號具有垂直方向性,基于DCT的整數(shù)矩陣被應(yīng)用到垂直方向,基于DST的整數(shù)矩陣或基于KLT的整數(shù)矩陣被應(yīng)用到水平方向。在幀內(nèi)預(yù)測的垂直幀內(nèi)預(yù)測模式中,基于DCT的整數(shù)矩陣被應(yīng)用到水平方向,基于DST的整數(shù)矩陣或基于KLT的整數(shù)矩陣被應(yīng)用到垂直方向?;蛘?,基于變換單元的大小確定變換矩陣的類型。量化單元1030確定用于量化變換塊的量化參數(shù)。該量化參數(shù)是量化步長。為每個量化單元確定量化參數(shù)。量化單元是大小大于或者等于預(yù)定大小的編碼單元。該預(yù)定的大小被稱作量化單元的最小大小。擁有最小大小的量化單元被稱作最小量化單元。如果編碼單元的大小等于或大于量化單元的最小大小,編碼單元變?yōu)榱炕瘑卧?。最小量化單元中可以包括多個編碼單元。最小量化單元可以是8X8塊或16X16塊。可以對每張圖像確定最小大小。量化單元1030產(chǎn)生量化參數(shù)預(yù)測器并通過從量化參數(shù)減去量化參數(shù)預(yù)測器以產(chǎn)生差分量化參數(shù)。將差分量化參數(shù)進行熵編碼。量化參數(shù)預(yù)測器的產(chǎn)生如下:[第一實施例]按照下述順序相繼檢索左編碼單元的量化參數(shù)、上編碼單元的量化參數(shù)和左上量化單元的量化參數(shù)。利用一個或兩個可用量化參數(shù)產(chǎn)生量化參數(shù)預(yù)測器。例如,將第一個可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器?;蛘邔⑶皟蓚€可用量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器,以及如果僅有一個量化參數(shù)可用時,將該可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。[第二實施例]當前編碼單元沒有左編碼單元、上編碼單元和左上編碼單元。另一方面,按照編碼順序,存在當前編碼單元的前編碼單元。因此,鄰近當前編碼單元的相鄰編碼單元和前編碼單元的量化參數(shù)用于產(chǎn)生量化參數(shù)預(yù)測器。量化參數(shù)的檢索順序如下:1)左相鄰編碼單元的量化參數(shù);2)上相鄰編碼單元的量化參數(shù);3)左上相鄰編碼單元的量化參數(shù);4)前編碼單元的量化參數(shù)。或者,量化參數(shù)的檢索順序如下:1)左相鄰編碼單元的量化參數(shù);2)上相鄰編碼單元的量化參數(shù);以及3)前編碼單元的量化參數(shù)。在有兩個或多個量化參數(shù)時,將前兩個可用量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器,以及在僅有一個量化參數(shù)時,將該可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。例如,如果左編碼單元和上編碼單元的量化參數(shù)可用,則將左量化參數(shù)和上量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果左編碼單元和上編碼單元的量化參數(shù)只有一個可用,將該可用量化參數(shù)和前編碼單元的量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果左編碼單元和上編碼單元的量化參數(shù)都不可用,將前編碼單元的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。對平均值進行四舍五入。量化單元1030利用量化矩陣和量化參數(shù)對變換塊進行量化以產(chǎn)生量化塊。向逆量化單元1080和掃描單元1040提供量化塊。掃描單元1040對量化塊應(yīng)用該掃描模式掃描量化系數(shù),并將量化系數(shù)變換為一維量化系數(shù)分量。在幀內(nèi)預(yù)測中,量化系數(shù)的分布根據(jù)幀內(nèi)預(yù)測模式和變換單元的大小而變化。于是,基于幀內(nèi)預(yù)測模式和變換單元的大小確定掃描模式。可以在鋸齒掃描、垂直掃描和水平掃描中選擇掃描模式。鋸齒掃描可以被對角線掃描代替。例如,如果變換單元的大小等于或者小于8X8,則為垂直模式和垂直模式的預(yù)定數(shù)量的相鄰幀內(nèi)預(yù)測模式選擇水平掃描,為水平模式和水平模式的預(yù)定數(shù)量的相鄰幀內(nèi)預(yù)測模式選擇垂直掃描,以及為其他幀內(nèi)預(yù)測模式選擇鋸齒掃描或者對角線掃描。當變換單元的大小8X8,為所有的幀內(nèi)預(yù)測模式選擇鋸齒掃描或者對角線掃描。在幀間預(yù)測中,使用預(yù)測掃描模式。該預(yù)測掃描模式可以是鋸齒掃描或?qū)蔷€掃描。如果變換單元的大小大于預(yù)定大小,將量化系數(shù)劃分為多個子集并進行掃描。該預(yù)定大小可以是4X4。用于掃描子集的掃描模式與用于掃描每個子集的量化系數(shù)的掃描模式相同。沿相反方向掃描每個子集的量化系數(shù)。也沿反向掃描所述子集。對指示最后非零位置的參數(shù)進行編碼并發(fā)送到解碼器。最后非零位置指定最后非零量化系數(shù)在變換單元中的位置。指示在每個子集中最后非零量化系數(shù)的位置的參數(shù)也被發(fā)送到解碼設(shè)備。逆量化單元1080對量化系數(shù)進行逆量化。逆變換單元1090對逆量化系數(shù)進行逆變換,以產(chǎn)生殘余信號。加法單元1130將逆變換單元1090產(chǎn)生的殘留信號和幀內(nèi)預(yù)測單元1060或幀間預(yù)測單元1070產(chǎn)生的預(yù)測信號相加。減法單元1120從原始樣本中減去預(yù)測樣本,以產(chǎn)生
殘余信號。后期處理單元1100執(zhí)行解塊濾波過程,樣本自適應(yīng)補償過程以及自適應(yīng)回路濾波過程。解塊濾波過程用于清除重建圖像中出現(xiàn)的塊效應(yīng)(blocking artifact)。在執(zhí)行解塊濾波過程之后執(zhí)行樣本自適應(yīng)補償過程以減少原始樣本和重建樣本之間的差異。為每張圖像或切片圖確定樣本自適應(yīng)補償過程是否執(zhí)行。圖像或切片圖可以被劃分為多個補償區(qū)域,并且每一個區(qū)域確定一種補償類型。存在四種邊緣補償類型和兩種帶補償類型。如果所述補償類型是多種邊緣補償中的一種,則邊緣類型取決于補償區(qū)域內(nèi)的每個樣本,并且將對應(yīng)于邊緣類型的補償增加到每個樣本。通過比較當前樣本和鄰近的兩個樣本確定邊緣類型。通過比較重建圖像和原始圖像執(zhí)行自適應(yīng)回路濾波過程以獲取濾波系數(shù)。該濾波系數(shù)可以應(yīng)用到4 X 4塊或8 X 8塊之內(nèi)的所有樣本。為每一個編碼單元確定自適應(yīng)回路濾波是否執(zhí)行。因此,回路濾波器的大小和系數(shù)以編碼單元為基礎(chǔ)發(fā)生改變。圖畫存儲單元1110接收來自后期處理單元1100的重建圖像,并在存儲器中存儲重建圖像。該圖像可以是基于幀的圖像或基于場的圖像。
幀間預(yù)測單元1070使用存儲在圖畫存儲單元1110的一幅或多幅圖像執(zhí)行運動估計,并且指定一個或多個參考圖像和一個或多個運動矢量以確定一個或多個參考圖像索弓I。幀間預(yù)測單元1070用一個或多個參考圖像索引和一個或多個運動矢量產(chǎn)生預(yù)測塊。幀內(nèi)預(yù)測單元1060確定當前預(yù)測單元的幀內(nèi)預(yù)測模式,并且使用該幀內(nèi)預(yù)測模式產(chǎn)生預(yù)測塊。熵編碼單元1050對從掃描單元1040接收量化系數(shù)分量,從幀內(nèi)預(yù)測單元1060接收幀內(nèi)預(yù)測信息,從幀間預(yù)測單元1070接收的運動信息進行熵編碼。圖2示出了根據(jù)本發(fā)明的動態(tài)圖像解碼設(shè)備2000的方框圖。如圖2所示,動態(tài)圖像解碼設(shè)備2000包括熵解碼單元2010、逆掃描單元2020、逆量化單元2030、逆變換單元2040、幀內(nèi)預(yù)測單元2050、幀間預(yù)測單元2060、后期處理單元2070、圖像存儲單元2080和加法單元2090。熵解碼單元2010提取并熵解碼接收到的比特流中的幀內(nèi)預(yù)測信息,幀間預(yù)測信息和量化系數(shù)分量。熵解碼單元2010將幀間預(yù)測信息傳遞給幀間預(yù)測單元2060,將幀內(nèi)預(yù)測信息傳遞給幀內(nèi)預(yù)測單元2050,以及將量化系數(shù)分量傳遞給逆掃描單元2020。逆掃描單元2020使用逆掃描模式將量化系數(shù)分量變換為二維量化塊。在幀內(nèi)預(yù)測模式中,基于幀內(nèi)預(yù)測模式和變換單元的大小選擇逆掃描模式。逆掃描模式可以從鋸齒掃描、垂直掃描和水平掃描中選擇,對角線掃描可以替換鋸齒掃描。例如,如果變換單元的大小等于或者小于8X8,為垂直模式和垂直模式的預(yù)定數(shù)量的相鄰幀內(nèi)預(yù)測模式選擇水平掃描,為水平模式和水平模式的預(yù)定數(shù)量的相鄰幀內(nèi)預(yù)測模式選擇垂直掃描,以及為其他幀內(nèi)預(yù)測模式選擇鋸齒掃描。當變換單元的大小大于8X8時,為所有的幀內(nèi)預(yù)測模式選擇鋸齒掃描或?qū)蔷€掃描。在幀間預(yù)測模式中,使用預(yù)掃描模式。預(yù)掃描模式可以是鋸齒掃描或?qū)蔷€掃描。如果當前變換單元的大小大于預(yù)定大小,以子集為基礎(chǔ)對量化系數(shù)分量逆掃描,以構(gòu)造量化塊。該子集具有預(yù)定大小。該預(yù)定大小可以是4X4。如果變換單元的大小等于預(yù)定大小,對變換單元的量化系數(shù)分量進行逆掃描,以構(gòu)造變換單元。當以子集為基礎(chǔ)逆掃描量化系數(shù)分量,將相同的逆掃描模式應(yīng)用到每個子集的量化系數(shù)分量。多個子集沿著相反的方向進行逆掃描。量化系數(shù)分量也沿著相反的方向進行逆掃描。被應(yīng)用于量化系數(shù)分量以構(gòu)建子集的逆掃描模式和被用于多個構(gòu)建子集的逆掃描模式相同。逆掃描單元2020使用指示變換單元的最后非零量化系數(shù)的位置的參數(shù)執(zhí)行逆掃描。逆量化單元2030接收來自熵解碼單元2010的差分量化參數(shù),并且產(chǎn)生量化參數(shù)預(yù)測器,以獲得當前編碼單元的量化參數(shù)。該量化參數(shù)預(yù)測器的產(chǎn)生如下:[第一實施例]按照下述順序相繼檢索左編碼單元的量化參數(shù)、上編碼單元的量化參數(shù)和左上編碼單元的量化參數(shù)。利用一個或兩個可用量化參數(shù)產(chǎn)生量化參數(shù)預(yù)測器。例如,第一個可用量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器?;蚯皟蓚€可用量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器,以及如果只有一個量化參數(shù)可用時,將該可用量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。[第二實施例]當前編碼單元可能沒有左編碼單元、上編碼單元和左上編碼單元。另一方面,按照編碼順序,可能有當前編碼單元的前編碼單元。因此,鄰近當前編碼單元的相鄰編碼單元和前編碼單元的量化參數(shù)用于產(chǎn)生量化參數(shù)預(yù)測器。量化參數(shù)的檢索順序如下:1)左相鄰編碼單元的量化參數(shù);2)上相鄰編碼單元的量化參數(shù);3)左上相鄰編碼單元的量化參數(shù);4)前編碼單元的量化參數(shù)。或者,量化參數(shù)的檢索順序如下:1)左相鄰編碼單元的量化參數(shù);2)上相鄰編碼單元的量化參數(shù);以及3)前編碼單元的量化參數(shù)。在有至少兩個量化參數(shù)時,將前兩個可用量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器,以及在僅有一個量化參數(shù)時,將該可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。例如,如果左編碼單元和上編碼單元的量化參數(shù)可用,則將左量化參數(shù)和上量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果左編碼單元和上編碼單元的量化參數(shù)只有一個可用,將可用量化參數(shù)和前量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果左編碼單元和上編碼單元的量化參數(shù)都不可用,將前量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。對平均值進行四舍五入。逆量化單元2030將不同的量化參數(shù)和量化參數(shù)預(yù)測器相加,以產(chǎn)生當前編碼單元的量化參數(shù)。如果當前編碼單元的差分量化參數(shù)沒有從編碼端發(fā)送,差分量化參數(shù)被設(shè)置為零。每個量化單元產(chǎn)生一個量化參數(shù)。逆量化單元2030對量化塊進行逆量化。逆變換單元2040對逆量化塊進行逆變換,以產(chǎn)生殘余塊?;陬A(yù)測模式(巾貞內(nèi)預(yù)測模式或幀間預(yù)測模式)和變換單元的大小,以確定變換矩陣類型。加法單元2090通過將殘余塊和預(yù)測塊相加,以產(chǎn)生重建樣品。幀內(nèi)預(yù)測單元2050基于來自熵解碼單元2010的幀內(nèi)預(yù)測信息,恢復(fù)當前預(yù)測單元的幀內(nèi)預(yù)測模式,并且根據(jù)該幀內(nèi)預(yù)測模式產(chǎn)生預(yù)測塊。幀間預(yù)測單元2060基于來自熵解碼單元2010的幀間預(yù)測信息,恢復(fù)一個或多個參考圖片索引和一個或多個運動矢量,并且使用所述一個或多個參考圖片和一個或多個運動矢量產(chǎn)生預(yù)測塊。后期處理單元2070的操作與圖1中后期處理單元1100的操作相同。圖片存儲單元2080用于存儲后期處理單元2070后期處理后的圖片。圖3是流程圖,示出了根據(jù)本發(fā)明的解塊濾波過程。如圖1中示出的動態(tài)圖片編碼設(shè)備1000的后期處理單元1100以及如圖3中示出的動態(tài)圖片解碼設(shè)備2000的后期處理單元2070執(zhí)行解塊濾波過程。當確定在切片圖上執(zhí)行解塊濾波時,對該切片圖應(yīng)用該解塊濾波過程。動態(tài)圖像解碼設(shè)備使用從比特流接收的標志‘diable_deblocking_filter_flag’來確定是否對每個切片圖執(zhí)行解塊濾波。在每個編碼單元上執(zhí)行解塊濾波。首先從編碼單元的左側(cè)的邊緣開始向編碼單元的右側(cè)進行垂直邊緣的濾波。然后從編碼單元的頂部邊緣開始向編碼單元的底部進行水平邊緣的濾波。只在預(yù)測單元的邊緣和變換單元的邊緣進行解塊濾波。如果預(yù)測單元或變換單元的寬度或高度小于8樣本長度,只在8X8樣本網(wǎng)格的邊緣進行解塊濾波。對位于8X8樣本網(wǎng)格的每個4樣本邊緣確定邊緣強度(SI 10)。圖4是示意圖,示出了根據(jù)本發(fā)明的確定邊緣強度的方法。
如圖4所示,對位于8X8樣本網(wǎng)格的4樣本邊緣確定邊界強度。然后,使用兩個連續(xù)的邊界強度對8X8塊邊緣確定邊界強度。因此,與正在開發(fā)的HEVC比較,根據(jù)本發(fā)明的確定邊界強度所需要的計算的復(fù)雜性減少了 50%。同樣,本發(fā)明使確定邊界強度所需要的內(nèi)存容量和帶寬減少了 50%。因此,在不惡化圖像質(zhì)量的情況下,本發(fā)明減少了硬件和軟件的復(fù)雜性。圖5是示意圖,示出了根據(jù)本發(fā)明的4-樣品邊緣。如圖5所示,所述4樣本邊緣位于包含樣本PO的P塊以及包含樣本q0的Q塊之間。樣本p0對應(yīng)于樣本POcTpO3之一,并且樣本q0對應(yīng)于樣本QOcTqO3之一。P塊和Q塊是預(yù)測塊或變換塊。邊界強度確定如下。對每個4樣本邊緣確定邊界強度。如果包含樣本p0的預(yù)測單元或包括樣本q0的預(yù)測單元是幀內(nèi)編碼,將4樣本邊緣的邊界強度設(shè)置為等于2。該4樣本邊緣是預(yù)測單元邊緣。也就是說,如果塊P和塊Q是幀間編碼,將邊界強度設(shè)置為等于O或I。如果滿足以下一個或多個條件,將邊界強度設(shè)置為等于I。I) 4樣本邊緣是變換單元邊緣,包含樣本PO的變換單元或包含q0的變換單元包含一個或多個非零變換系數(shù)。2) 4樣本邊緣是預(yù)測單元邊緣,包含樣本PO的預(yù)測單元和包含樣本q0的預(yù)測單元是幀間編碼,并且包含樣本PO的預(yù)測單元和包含樣本q0的預(yù)測單元具有不同的參考圖像或不同數(shù)量的運動矢量。3)包含樣本p0的預(yù)測單元和包含樣本q0的預(yù)測單元是幀間編碼,包含樣本p0的預(yù)測單元和包含樣本q0的預(yù)測單元具有一個運動矢量,并且該運動矢量的水平和垂直分量之間的絕對差值大于或等于預(yù)定值(例如,I樣本)。該邊緣不是LCU的水平邊界的一部分。4)包含樣本p0的預(yù)測單元和包含樣本q0的預(yù)測單元是幀間編碼,包含樣本p0的預(yù)測單元和包含樣本q0的預(yù)測單元具有兩個運動矢量,包含樣本PO的預(yù)測單元和包含樣本q0的預(yù)測單元至少具有一個相同的參考圖像,并且對應(yīng)于該相同的參考圖像的兩個運動矢量的水平和垂直分量之間的絕對差值大于或等于預(yù)定值。該邊緣不是LCU的水平邊界的一部分。如上所述,如果所述4樣本邊緣不是位于8X8樣本網(wǎng)格,將邊界強度設(shè)置為等于零。換句話說,當所述邊緣是IXU的水平邊緣,并且包含樣本PO的預(yù)測單元位于IXU的水平邊緣之上時,基于包含樣本PO的預(yù)測單元的大小和/或位置,包含樣本PO的預(yù)測單元的運動信息可以用包括樣本PO的預(yù)測單元的左或右相鄰的預(yù)測單元的運動信息代替。接下來,確定是否在4樣本邊緣上執(zhí)行解塊濾波(S120)。對于4樣本邊緣,如果滿足以下兩個條件,則執(zhí)行解塊濾波。l)bS>02)(1<βbS表示邊界強度。變量β的值基于邊界量化參數(shù)QPb進行確定。變量d被定義如下。I) d=dp0+dq0+dp3+dq3
2) dpk= I p2k-2.plk+pOk | 和 dqk= | q2k_2.qlk+qOk接下來,如果確定將解塊濾波應(yīng)用到4樣本邊緣,在強濾波器和弱濾波器中選擇一種解塊濾波器。但是,如果確定不將解塊濾波應(yīng)用到4樣本邊緣,解塊濾波過程對此邊緣結(jié)束。如圖5所示,為各個4樣本邊緣選擇濾波器。如果滿足以下條件,則選擇強濾波器。1)(1<(β 2)2)對于每個 i, PS1-POi l + lqS-qOi I <(β 3)其中 i=0, 33)對于每個i,| 0廠90」〈(5父億+1)>>1其中1=0,3或者I)對于每個 i,φ〈(β>>1)其中 i=0,32)對于每個 i,p3廠POi HqSrqOiK(DM)其中 i=0,33)對于每個i, 0廠90」〈 (5\億+1)》1其中i=0,3否則,選擇弱濾波器?;谶吔缌炕瘏?shù)QPb確定變量t。。接下來,如果選定了解塊濾波器,利用該解塊濾波器對邊緣進行濾波(S140)。強濾波器如下:ρ。' = (p2+2 X p^2 Xp0+2 X α0+α!+4) 3)p/ = (p2+p1+p0+q0+2) 2P2' = (2 X ρ3+3 X p2+p1+p0+q0+4) 3q0/ = (pj+2 X p0+2 X q0+2 X q!+q2+4) 3q/ = (PcrKicrK^q2+])》2q2/ = (Po+qQ+qi+3 X q2+2 X q3+4)》3弱濾波器如下:Δ =Clip3 (_tc, tc, Δ )ρ/ = Cl ip I (p0+Δ)q0/ = Clipl (q0~ Δ )Ap=Clip3(-(tc l), tc l, (((p2+p0+l) 1) -P1+ Δ ) 1)P1' = Clipl (P1+ Δ p)Δ q=Clip3 (-(tc l), tc l, (((q2+q0+l) >>1)-q「Δ ) >>1)q/ = Clipl (q^ Δ q)變量β和t。由邊緣量化參數(shù)QPb確定,并且隨著邊界量化參數(shù)QPb的增加而單調(diào)增加。參數(shù)β和t。以及量化參數(shù)之間的關(guān)系由表格限定。邊緣量化參數(shù)QPb是包含樣本PO的P塊的量化參數(shù)QPp和包含樣本q0的Q塊的量化參數(shù)QPq的平均值。該平均值是四舍五入值。如果P塊和Q塊至少一個是幀內(nèi)編碼,則當QPb增加I時,參數(shù)t。增加0,I或2。至此,根據(jù)本發(fā)明的樣本自適應(yīng)補償過程已經(jīng)描述。如圖1所示的動態(tài)圖像編碼設(shè)備1000的后期處理單元1100以及如圖2所示的動態(tài)圖像解碼設(shè)備2000的后期處理單元2070執(zhí)行樣品自適應(yīng)補償過程。圖6是示意圖,示出了根據(jù)本發(fā)明的將圖像劃分為多個區(qū)域的方法。每個區(qū)域定義一個樣本自適應(yīng)補償類型。如圖6所示,將圖像劃分為四叉樹結(jié)構(gòu),以產(chǎn)生區(qū)域。該區(qū)域可以是最大編碼單元。有三種樣本自適應(yīng)補償類型。如果是第一種樣本自適應(yīng)補償類型(OFF),則不在對應(yīng)區(qū)域內(nèi)執(zhí)行樣本自適應(yīng)補償。如果樣本自適應(yīng)補償指示為帶補償(BO),將帶補償加到該區(qū)域的每一個樣本上。如果樣本自適應(yīng)補償指示邊緣補償(EO),通過將邊緣索引相加到該區(qū)域內(nèi)的每一個樣本來確定邊緣補償。圖7是示意圖,示出了根據(jù)本發(fā)明的邊緣類型。如圖7所示,在邊緣補償中存在四種邊緣類型。通過用于獲得邊緣索引的相鄰樣本的位置決定邊緣類型。第一種邊緣類型指示一維O度邊緣類型,第二種邊緣類型指示一維90度邊緣類型,第三種邊緣類型指示一維135度邊緣類型,以及第四種邊緣類型指示一維90度邊緣類型。樣品C代表當前樣品,兩個陰影樣本代表兩個由邊緣類型確定的相鄰樣本。根據(jù)本發(fā)明,當樣本自適應(yīng)補償類型指示邊緣補償類型中的一種,則樣本自適應(yīng)補償過程的執(zhí)行過程如下。首先,使用當前樣本和兩個相鄰樣本之間的差異得到邊緣索引。由當前區(qū)域的邊緣補償類型確定兩個相鄰樣本。對當前區(qū)域的每個樣本得到邊緣索引。邊緣索引如下導(dǎo)出:邊緣索引=2+sign3(recPicture (X)-recPicture (χ-1))+sign3 (recPicture (x)-recPicture (x+1))當y > 0 時,sign3(y)=l ;當 y < O 時,sign3 (y) =_1 ;以及當 y=0 時,sign3(y)=0 ;變量recPicture (X)代表當前樣本值,變量recPicture (x_l)以及變量recPicture (x+1)代表兩個相鄰樣本值。由當前區(qū)域的邊緣補償類型確定所述兩個相鄰樣本。圖8是示意圖,示出了根據(jù)本發(fā)明的邊緣索引。在圖8中,水平軸代表樣本位置,垂直軸代表樣本值。如圖8所示,如果兩個相鄰樣本值均大于當前樣本值,則邊緣索引設(shè)置為O ;如果兩個相鄰樣本值中的一個大于當前樣本值,另一個相鄰樣本值等于當前樣本值,則邊緣索引設(shè)置為I ;如果兩個相鄰樣本值中的一個大于當前樣本,另一個相鄰樣本值小于當前樣本值,則邊緣索引設(shè)置為2 ;如果兩個相鄰樣本值中的一個小于當前樣本,另一個相鄰樣本值等于當前樣本值,則邊緣索引設(shè)置為3 ;以及如果兩個相鄰樣本值均小于當前樣本值,則邊緣索引設(shè)置為4。如果兩個相鄰樣本值均等于當前樣本值,則邊緣索引設(shè)置為2。同時,當兩個相鄰樣本中的一個屬于另一個最大編碼單元,則邊緣補償不能被施加到當前樣本,或使用當前最大編碼單元中的另一個相鄰樣本代替另一個最大編碼單元的相鄰樣本。其次,如下將邊緣補償加到當前樣本:recSaoPicture (X) =recPicture (X)+Edge_0ffset [邊緣索引]基于邊緣索引確定邊緣補償。在動態(tài)圖像解碼設(shè)備2000中,從動態(tài)圖像編碼設(shè)備1000傳輸?shù)谋忍亓髦蝎@得邊緣補償。動態(tài)圖像編碼設(shè)備1000可以傳輸4或5個邊緣補償。如果傳輸4個邊緣補償,這4個邊緣補償分別對應(yīng)邊緣索引0、1、3和4,則邊緣補償被認為是O。邊緣補償可以設(shè)置為正值或負值。傳輸4個邊緣補償所需的比特量隨著所述區(qū)域的增大而增加。根據(jù)本發(fā)明所述的減少比特量的方法如下。[第一實施例]正補償施加到邊緣索引0,負補償施加到邊緣索引4。即是,只傳輸兩個邊緣補償?shù)慕^對值,以減少比特量。對于邊緣索引I和3,只傳送絕對值和邊緣補償?shù)姆?。[第二實施例]正補償施加到邊緣索引O和1,負補償施加到邊緣索引3和4。即是,只傳輸四個邊緣補償?shù)慕^對值,以減少比特量。另外,如果當前樣本和相鄰樣本之間的差異大于臨界值,則不將補償增加到當前樣本。例如,當前樣本和相鄰樣本之差的絕對值大于臨界值,則補償值為O。否則,使用負補償或正補償。盡管已經(jīng)參考其某些示例性實施例示出并描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員將理解,可以在其中做出各種形式和細節(jié)的改變而不脫離如所附權(quán)利要求界定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種施加邊緣補償?shù)姆椒ǎ? 產(chǎn)生當前樣本的邊緣索引;以及 對當前樣本施加對應(yīng)于所述邊緣索引的邊緣補償, 其中,所述邊緣索引由下式產(chǎn)生,邊緣索引=2+sign3 (recPicture (x) -recPicture (χ-1))+sign3(recPicture(x)-recPicture(x+1)) 其中,當y > O時,函數(shù)sign3(y)=l ;當y < O時,函數(shù)sign3(y)=_l ;當y=0時,函數(shù)sign3(y) =O ; 其中,變量recPicture (X)代表當前樣本值,變量recPicture (x_l)和變量recPicture (x+1)代表兩個鄰近的樣本值。
2.根據(jù)權(quán)利要求1所述的方法,其中,由當前區(qū)域的邊緣補償類型確定所述兩個相鄰樣本。
3.根據(jù)權(quán)利要求1所述的方法,其中,基于所述邊緣索引,將邊緣補償設(shè)置為正值或負值。
4.根據(jù)權(quán)利要求3所述的方法,其中,當所述邊緣索引等于O或是I時,邊緣補償設(shè)置為正值。
5.根據(jù)權(quán)利要求3所 述的方法,其中,當所述邊緣索引等于3或是4時,邊緣補償設(shè)置為負值。
6.根據(jù)權(quán)利要求1所述的方法,其中,當所述邊緣索引等于2時,邊緣補償值設(shè)置為O。
全文摘要
本發(fā)明提供一種產(chǎn)生當前樣品的邊緣索引的方法,以及根據(jù)邊緣索引,施加邊緣補償?shù)疆斍皹颖尽@卯斍皹颖竞蛢蓚€相鄰樣本之間的差異確定的邊緣補償類型產(chǎn)生邊緣索引。因此,通過產(chǎn)生最優(yōu)邊緣索引,以有效地降低原始樣本和重建樣本之間的差異。同樣,通過確定補償值的正負符號,以減少用于降低差異的比特量。
文檔編號H04N7/26GK103209324SQ201310014660
公開日2013年7月17日 申請日期2013年1月15日 優(yōu)先權(quán)日2012年1月17日
發(fā)明者張民 申請人:張民