TW201505425A - 在資料處理裝置內實施的低複雜度雙邊濾波(bf) - Google Patents

在資料處理裝置內實施的低複雜度雙邊濾波(bf) Download PDF

Info

Publication number
TW201505425A
TW201505425A TW102148413A TW102148413A TW201505425A TW 201505425 A TW201505425 A TW 201505425A TW 102148413 A TW102148413 A TW 102148413A TW 102148413 A TW102148413 A TW 102148413A TW 201505425 A TW201505425 A TW 201505425A
Authority
TW
Taiwan
Prior art keywords
filtering
processor
data processing
range
component
Prior art date
Application number
TW102148413A
Other languages
English (en)
Other versions
TWI514857B (zh
Inventor
Niranjan Avadhanam
Prashant Sunil Sohani
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW201505425A publication Critical patent/TW201505425A/zh
Application granted granted Critical
Publication of TWI514857B publication Critical patent/TWI514857B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20028Bilateral filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本發明揭示一種方法,包含:透過通訊耦合至一記憶體及/或一硬體單體的一處理器,實施包含一空間組件與一範圍濾波組件的一雙向濾波(BF,Bilateral Filter);以及用一低複雜度函數實施該空間濾波組件,允許將焦點放在該範圍濾波組件上,該方法也包含依據一應用程式對於一像素的過濾需求,根據與該應用程式執行相關的資料預先計算全集,透過該處理器,決定關於該範圍濾波組件的濾波分接值,當成一視訊訊框及/或一影像的一像素與其他像素之間輻射距離之函數。進一步,該方法包含透過該處理器,根據該雙邊濾波實施將該(等)濾波分接值限制成i×base的形式,i為整數並且base為浮點基數。

Description

在資料處理裝置內實施的低複雜度雙邊濾波(BF)
本發明一般係關於視訊/影像過濾,尤其係關於在資料處理裝置內實施低複雜度雙邊濾波(BF,bilateral filter)。
像是行動裝置(例如行動電話、平板電腦)的資料處理裝置可具有與之相關聯的低處理能力。該資料處理裝置的使用者可在其上觀看視訊資料,該視訊資料的視訊訊框可包含其內的邊緣。一邊緣可為視訊訊框的一部分,其四周在影像亮度位準方面會改變高於臨界值。針對邊緣保留,該資料處理裝置可包含在其處理器上執行的後置處理引擎內實施之一雙邊濾波(BF)。該雙邊濾波可用兩個高斯函數,即是空間高斯函數與範圍高斯函數的乘積除以正常化因子所表示。該雙邊濾波呈現的複雜度並不會造成在該資料處理裝置上執行該後置處理引擎,如此使用者只能享受透過該後置處理引擎所提供的有限能力。
本發明揭示一種在一資料處理裝置內實施低複雜度雙邊濾波(BF,bilateral filter)之方法、裝置及/或系統。
在一個態樣中,該方法包含:透過通訊耦合至一記憶體及/或一硬體單體的一處理器,實施包含一空間組件與一範圍濾波組件的一雙邊濾波(BF,Bilateral Filter);以及透過該處理器及/或該硬體單體,用相較於一高斯函數具有降低複雜度的一適當函數實施該空間濾波組件,允許將焦點放在該範圍濾波組件上。該方法也包含:依據一應用程式對於一像素的過濾需求,根據與該應用程式執行相關的資料預先計算全集,透過該處 理器,決定關於該範圍濾波組件的濾波分接值,當成一視訊訊框及/或一影像的一像素與其他像素之間輻射距離之函數。
進一步,該方法包含透過該處理器,將該(等)濾波分接值限制成 i×base 的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度, i 為整數並且 base 為浮點基數。
在另一個態樣中,一資料處理裝置包含一記憶體,以及與該記憶體通訊耦合的一處理器。該處理器設置成執行用來實施包含一空間濾波組件以及一範圍濾波組件的一雙邊濾波之指令,以及用相較於一高斯函數具有降低複雜度的一適當函數來實施該空間濾波組件,允許將焦點放在該範圍濾波組件上之指令。該處理器也設置成執行指令,依據一應用程式對於一像素的過濾需求,根據與該應用程式執行相關的資料預先計算全集,決定關於該範圍濾波組件的濾波分接值,當成一視訊訊框及/或一影像的一像素與其他像素之間輻射距離之函數。
進一步,該處理器設置成執行指令,將該(等)濾波分接值限制成 i×base 的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度, i 為整數並且 base 為浮點基數。
尚且在另一個態樣中,一系統包含一伺服器及/或一儲存媒體,該媒體包含與一應用程式執行有關的預先計算全集資料。該系統也包含通訊耦合至該伺服器及/或該儲存媒體的一資料處理裝置,該資料處理裝置包含通訊耦合至一記憶體的一處理器,該處理器設置成執行用來實施包含一空間濾波組件以及一範圍濾波組件的一雙邊濾波之指令,以及用相較於一高斯函數具有降低複雜度的一適當函數來實施該空間濾波組件,允許將焦點放在該範圍濾波組件上之指令。
該處理器也設置成執行指令,依據一應用程式對於一像素的過濾需求,根據資料的該預先計算全集,決定關於該範圍濾波組件的濾波分接值,當成一視訊訊框及/或一影像的一像素與其他像素之間輻射距離之函數。進一步,該處理器設置成執行指令,將該(等)濾波分接值限制成i×base的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度, i 為整數並且 base 為浮點基數。
本說明書內揭示的方法及系統可在達成許多態樣的任何裝置內實施,並且可用一非暫態機器可讀取媒體的形式執行,具體實施一組由機器執行時導致該機器執行本說明書所揭示任何操作之指令。
從附圖以及接續的詳細說明當中,將了解其他特徵。
100‧‧‧資料處理系統
102‧‧‧處理器
104‧‧‧記憶體
106‧‧‧電腦網路
110‧‧‧雙邊濾波引擎
116‧‧‧視訊資料
122‧‧‧輸入視訊訊框
124‧‧‧查找表
126‧‧‧逆向查找表
160‧‧‧伺服器
170‧‧‧資料處理裝置
188‧‧‧應用程式
202‧‧‧水平濾波
204‧‧‧垂直濾波
206‧‧‧輸出
302‧‧‧輸入資料全集
304‧‧‧叢集引擎
306‧‧‧候選濾波分接值
308‧‧‧範圍濾波引擎
310‧‧‧正常化引擎
312‧‧‧位元位移引擎
314‧‧‧輸出
402‧‧‧處理器
404‧‧‧記憶體
本發明的具體實施例藉由範例說明並且不受限於附圖,其中相同的參考編號指示相同的元件,其中:
第一圖為根據一或多個具體實施例,一資料處理系統的圖解圖。
第二圖為根據一或多個具體實施例,將在第一圖中該資料處理系統的一資料處理裝置內實施之一雙邊濾波(BF,Bilateral Filter)分成一水平濾波與一垂直濾波之圖解圖。
第三圖為根據一或多個具體實施例,實施第二圖中該水平濾波的圖解圖。
第四圖為根據一或多個具體實施例,第一圖中該資料處理系統的一伺服器之圖解圖,其中該伺服器包含通訊耦合至一記憶體的的一處理器。
第五圖為根據一或多個具體實施例,詳述牽涉到第一圖中該資料處理裝置內實施一低複雜度雙邊濾波操作的處理流程圖。
從附圖以及接續的詳細說明當中,將了解本發明的其他特徵。
如下述的範例具體實施例可用來提供一種在一資料處理裝置內實施一低複雜度雙邊濾波(BF,bilateral filter)之方法、裝置及/或系統。雖然已經參考特定範例具體實施例來說明本具體實施例,不過吾人了解,在不背離本發明許多具體實施例的廣義精神與領域之前提下,可對這些具體實施例進行許多修改和變更。
第一圖為根據一或多個具體實施例,一資料處理系統100的圖解圖。在一或多個具體實施例內,資料處理系統100可包含一或多個 伺服器(例如伺服器160),以及一或多個資料處理裝置(例如資料處理裝置170),設置成運用透過該(等)一或多個伺服器(例如透過電腦網路106,例如網際網路、廣域網路(WAN,Wide Area Network)以及區域網路(LAN,Local Area Network))所提供的該等服務。另外,在一或多個具體實施例內,資料處理系統100可只包含資料處理裝置170,並且在此要討論的資料處理/最佳化可由其在本機上執行。在一或多個具體實施例內,資料處理裝置170可為桌上型電腦、膝上型電腦、筆記型電腦、網路筆電或例如平板電腦或行動電話的行動裝置。資料處理裝置170的其他形式都在本說明書討論的該等示範具體實施例之範疇內。
在一或多個具體實施例內,資料處理裝置170可包含通訊耦合至一記憶體104(例如揮發性記憶體及/或非揮發性記憶體)的一處理器102(例如中央處理單元(CPU,Central Processing Unit)、圖形處理單元(GPU,Graphics Processing Unit));記憶體104包含設置成可透過處理器102定址的儲存位置。在一或多個具體實施例內,在一或多種應用當中,例如視訊強化、相機訊噪、視訊編碼人造減少、視訊擷取以及光流評估,可運用資料處理裝置170及/或伺服器160。為了迎合與上述一或多個具體實施例相關聯的影像/視訊處理之濾波需求,可在資料處理裝置170內實施一雙邊濾波(BF)。尤其是,在資料處理裝置170為行動裝置的案例中,在視訊擷取與視訊播放期間都可使用該雙邊濾波。
透過資料處理裝置170處理的視訊訊框可包含其內的邊緣。一邊緣可為視訊訊框的一點,其四周在影像亮度位準方面會改變高於臨界值。隨著該邊緣定義影像亮度位準之間轉換的邊界,該邊緣可為濾波期間值得保留的視訊訊框特徵。雖然該雙邊濾波的該邊緣保留能力非常有用,不過該雙邊濾波的非線性特性,所以還是可提供給高處理複雜度。在功率受限資料處理裝置170內,例如一行動裝置,該高複雜度並不會導入至該雙邊濾波的實施(第一圖顯示儲存在記憶體104內要透過處理器102執行的雙邊濾波引擎110;雙邊濾波引擎110可包含提供與該雙邊濾波相關聯功能性的必要指令集)。類似地,當實施為與資料處理裝置170相關聯的一硬體單體時,該非線性調適雙邊濾波會消耗矽。
資料處理裝置170內針對上面討論的該邊緣保留之範例雙邊濾波輸出一般可表示為:
換言之,針對顯示成儲存在記憶體104內的視訊資料116之輸出視訊訊框1221-N I (本說明書內討論的示範具體實施例也適用於影像資料),像素 p 的輸出 BF[I] p 可表示為範例等式(1)。其中 σ s σ r 分別為空間偏差與輻射偏差;為與空間像素位置(空間濾波部分)相關聯的高斯函數,並且為與像素亮度(範圍濾波部分)相關聯的高斯函數;以及該正常化因數 W p 如下所示:
該正常化因數可確定所有像素的濾波權重往上加至1,如此該雙邊濾波的權重取決於該空間高斯函數以及該範圍高斯函數。該雙邊濾波可例愈改變σ s及/或σ r來調整。該雙邊濾波為精通技術人士所熟知;因此為了簡潔起見,省略與其相關聯的詳細概念討論。
範例等式(1)和(2)內的該高斯方程函數對於該雙邊濾波的計算複雜度有所貢獻。雖然上面討論的高斯函數主要用於表示該雙邊濾波的該空間濾波部分以及該範圍濾波部分,則該雙邊濾波的一般表示允許運用更廣泛的函數系列。示範具體實施例明確表示降低該雙邊濾波實施複雜度的可能性,底下將會討論。
該基本雙邊濾波實施可分成該空間濾波部分、該範圍濾波部分以及一正常化部分,如範例等式(1)內所見。為了概括該雙邊濾波的公式化,可將範例等式(1)和(2)重寫成範例等式(3)和(4)
其中為與空間像素位置相關聯的一般函數(例如高斯、非高斯),並且為與像素亮度(範圍)相關聯的一般函數(例如高斯、非高斯)。
在一或多個具體實施例內,包含一空間濾波部分以及一輻射/範圍濾波部分的該雙邊濾波之廣義公式化可呈現該雙邊濾波適合於可分離 實施,至少相對於該空間濾波部分,來提供濾波時的計算速度。換言之,在一或多個具體實施例內,該雙邊濾波的該空間濾波部分套用通過一個空間維度(例如x軸),然後在其他空間維度內對該中間輸出濾波(例如在二維(2D,two-dimensional)影像的情況下,該其他維度為與該x軸垂直的維度,就是y軸)。第二圖根據一或多個具體實施例,顯示該雙邊濾波實施分成一水平濾波202(例如x軸)以及一垂直濾波204。
此外在一或多個具體實施例內,該空間濾波部分的封裝可簡化成一矩形函數,讓焦點單獨放在該輻射/範圍濾波部分。在一或多個具體實施例內,即使在該範圍濾波部分的案例中,一查找表(LUT,Lookup table)(例如儲存在記憶體104內的查找表124或實施於與資料處理裝置170相關聯的一硬體單體內)可用於預先計算並儲存用於許多輻射距離的函數值。如此在最簡單的形式內,對應至水平濾波202的該空間濾波部分可為1 X N矩形濾波(N為正整數)。請注意,可利用簡單矩形函數以外的非高斯非複雜函數,例如:在該雙邊濾波的特定應用當中,一系列矩形函數可用於該空間濾波部分內。
上面討論的查找表124型方式係根據從查找表124拾取一預先計算濾波分接值給一對應輻射差異|I p -I q |;在此接近亮度位準的像素至一目前像素可關聯於較高權重/濾波分接值,藉此由於邊緣擴散對於降噪有所貢獻。在一或多個具體實施例內,由於事先計算,所以該等濾波分接值可固定。在8位元視訊訊框1221-N的範例案例中,查找表124的輸入可從0變化為255。針對獲得的每一值,必須計算該濾波輸出並除以正常化因數。示範具體實施例提供一種裝置分散上述相除,底下將會討論。
在一或多個具體實施例內,在透過查找表124的該範圍濾波操作以及該正常化操作達成之後,該前述操作集合的濾波輸出可供應至垂直濾波204,以產生一最終輸出(例如輸出206)當成已濾波的視訊訊框。在已經透過一1 X N矩形濾波起始該空間濾波部分的上述範例中,垂直濾波204可為適當N X 1矩形濾波。
在一或多個具體實施例內,該範圍濾波部分也可透過創新技術簡化,以計算其候選分接值。雖然透過許多程度簡化指數函數可計算該 濾波分接值,範例具體實施例提供一種創新技術,運用應用專屬資料來計算能夠最佳描述該範圍濾波部分的該預測候選分接值之叢集。第一圖顯示在資料處理裝置170上執行的應用程式188。在一或多個具體實施例內,資料處理裝置170可具有與之相關聯的應用程式188之執行歷史。在一或多個具體實施例內,該執行歷史可產生適合叢集的足夠資料。部分產生的資料也可透過代表該範圍濾波部分的該函數實施之指數(集/或非指數)形式來運行。在一或多個具體實施例內,利用叢集該上述資料來選擇最合適的候選濾波分接值,則也可降低該雙邊濾波實施正常化部分的複雜度。
在一或多個具體實施例內,上述叢集的中心可為該潛在候選濾波分接值。進一步在一或多個具體實施例內,透過限制該上述中心,因此該潛在候選濾波分接值為 i×base 形式(其中 i 為整數並且 base 為浮點基數),該正常化運算可受限為簡單整數除法(由於該浮點基數部分存在於該雙邊濾波輸出等式的分子與分母內,所以會分散)。在一或多個具體實施例內,轉向特定濾波分接值的該叢集中心可提出成為受到一些限制的優化問題,如:
在範例優化(5)當中,為透過叢集找出的中心集合,為從該叢集實現的新濾波,可表示為一整數乘上該浮點基數,{i}×base。範例優化(5)可解出一組{ibase ,讓在其最小值上。 p 上升的合適索引。若需要,在該組整數{i}上加諸進一步限制;例如:該候選濾波分接值可進行友善的位元位移(底下會討論)。請注意,可執行該叢集運算及/或該中心的轉向當成預先處理運算;上述預先處理運算並不會影響透過在資料處理裝置170上執行的雙邊濾波引擎110實施之該低複雜度濾波。
在一或多個具體實施例內,該潛在候選分接值至適當數量的長度限制也限制了逆向查找表的大小(例如記憶體104內儲存的逆向查找表 126;逆向查找表126負責該正常化運算)。如此在一或多個具體實施例內,可透過雙邊濾波引擎110實現超低複雜度雙邊濾波。
在一或多個具體實施例內,如上述,該候選濾波分接值可轉向以便進行位元位移,進一步降低該雙邊濾波實施的複雜度。複雜度降低可包含分散耗費計算資源的運算,例如乘法與除法。在資料處理裝置170包含一低階處理器102的案例中,上述複雜度降低可為關鍵。請注意,本說明書內所討論,關於該範圍濾波部分及/或該空間濾波部分的函數僅為範例;示範具體實施例提供本說明書內的選擇彈性;維持該傳統雙邊濾波的邊緣保留特性之所有低複雜度候選雙邊濾波都在本說明書內所討論之示範具體實施例範疇內。
在一或多個具體實施例內,為了將逆向查照表126所消耗的空間量最佳化,則可完整運用與其輸入相關聯的位元位置。在一或多個具體實施例內,整數 i 的每一倒數都可用形式除存在逆向查找表126內( k 也為整數)。在一或多個具體實施例內,選擇 k ,如此在逆向查找表126內可儲存該倒數值的許多有效位元。在一或多個具體實施例內,2k稍後可進行位元位移。在一或多個具體實施例內,實施伴隨來在逆向查找表126內儲存 k 以及一組2k與 i (及/或)。例如:當逆向查找表126包含8位元輸入時,每一輸入的前面5位元可關於該尾數有效數的5個有效位元;後3位元可關於 k 之值,並且可指出所需位元位移數量。請注意,位元數的選擇並不受限為8。根據應用程式188的精準度需求,位元數可超過8或少於8。
在範例案例當中,目前像素的亮度位準可為150,並且該亮度位準用於一前導像素100。在查找表124內可查到50的|I p -I q |,並且選取適當的濾波分接值。如上面所討論,可透過該叢集處理選擇該(等)濾波分接值。該叢集處理也可將適當濾波分接值數量限制成小數量,進一步縮小查照表124的大小;也縮小查找表124內的搜尋空間。進一步,若該限制認為適當濾波分接值的數量為11,並且該浮點基數(base)為1.25,則前述濾波分接值可為0、1.25、2.5以此類推。不管是否在視訊訊框1221-N內完成濾波,該相關濾波分接值只為上述值之組合。在透過逆向查找表126查找無限重複十進位數的案例中,該重複十進位的有效位元之最大數可併入 逆向查找表126的輸入內,以確定該濾波計算盡可能精確。
示範具體實施例也可以迎合特定應用程式188的方式來解釋。考慮行動電話(範例資料處理裝置170)上的視訊擷取應用程式,其中在低亮度情況下感應器雜訊為衝擊畫質的主要問題。在此示範具體實施例允許利用收集許多照明情況下產生的資料,計算最佳尚且低複雜度濾波。如此,可產生一小組候選範圍濾波分接值,這直接導致來自逆向查找表126極快速的查找操作,因此執行最終濾波值的計算。此處牽涉到的該低複雜度可讓該雙邊濾波用於電源受限的應用程式。
第三圖根據一或多個具體實施例,彙總水平濾波202的實施。在一或多個具體實施例內,水平濾波202可具有輸入資料302的全集,運用於上面討論的叢集期間;該叢集可為預先計算處理。在一或多個具體實施例內,針對輸入視訊訊框1221-N的一像素,運用該像素與其他像素之間的輻射距離當成所引來搜尋查找表124(例如透過在處理器102上執行雙邊濾波引擎110),以決定該等潛在濾波分接值。如上面所討論,在一或多個具體實施例內,叢集引擎304可以從查找表124選擇最佳候選濾波分接值(例如候選濾波分接值306)。在一或多個具體實施例內,候選濾波分接值306可送入一範圍濾波引擎308,其執行與範例等式(3)相關聯的該範圍濾波部分運算。進一步在一或多個具體實施例內,候選濾波分接值306可送入一正常化引擎310,其執行與範例等式(3)相關聯的該正常化運算。
在一或多個具體實施例內,正常化引擎310可運用內含以形式儲存輸入的逆向查找表126。在一或多個具體實施例內,有關該輸入的最高有效位元(MSB,most significant bit)之資料可與範圍濾波引擎308的輸出結合;該後續輸出可依照該輸入的最低有效位元(LSB,least significant bit)之指示進行位元位移(例如透過位元位移引擎312)。該位元位移考慮除以範例等式(3)內的正常化因數來分散。在一或多個具體實施例內,水平濾波202的最終輸出(例如輸出314)可透過垂直濾波204進行濾波,以到達輸出206。
請注意,查找表124以及逆向查找表126可在相同表格內實施;進一步,查找表124及/或逆向查找表126可在硬體及/或軟體內實施。另外,僅為了範例而顯示查找表。替代實施,例如直接從記憶體104執行 「輸入」的擷取操作,都在本說明書討論的示範具體實施例範疇內。
叢集引擎304可在伺服器160上執行;另外,叢集引擎304可在資料處理裝置170上執行。在一個範例具體實施例內,伺服器160可將該叢集當成服務提供給資料處理裝置170。透過叢集引擎304的範例叢集實施可牽涉到k方式叢集;在此也可實施其他種叢集。所有合理的變化、實施及/或應用都在本說明書討論的該等示範具體實施例之範疇內。
請注意,雖然本說明書內討論的該叢集有效用於將中心轉向至濾波分接值,不過根據輸入資料302全集決定 i×base 形式的該濾波分接值之其他方式都在本說明書內討論的示範具體實施例範疇之內。進一步,雖然較佳顯示雙邊濾波引擎110、查找表124以及逆向查找表126為解決重大延遲應用程式的資料處理裝置170一部分,不過雙邊濾波引擎110、查找表124以及逆向查找表126也可為伺服器160的一部分。在伺服器160的計算平台虛擬化來服務多個用戶端裝置(例如資料處理裝置170)之案例中,在伺服器160上雙邊濾波引擎110的低複雜度執行可改善其服務品質。另外,該上述修改分散有關屬於低階裝置的伺服器160之問題。
第四圖根據一或多個替代具體實施例,顯示包含一處理器402通訊耦合至一記憶體404的伺服器160。在此,記憶體404可包含要在處理器402、查找表124及/或逆向查找表126上執行的雙邊濾波引擎110。資料處理裝置170顯示成透過電腦網路106(例如網際網路、網域網路、區域網路),通訊耦合至伺服器160。在一或多個具體實施例內,資料處理裝置170可透過伺服器160提供要濾波的視訊資料116。第四圖也顯示叢集引擎304以及儲存在記憶體404內的輸入資料302之全集。
最後但非最少,叢集引擎304的結果可從伺服器160傳輸至資料處理裝置170,透過雙邊濾波引擎110來運用(請參閱第一圖的具體實施例)。另外,該等結果可儲存在記憶體104內,及/或可透過資料處理裝置170及/或伺服器160讀取的非暫態媒體(例如儲存媒體)上,例如光碟(CD,Compact Disc)、數位視訊碟片(DVD,Digital Video Disc)以及硬碟。此內的變化都在該等示範具體實施例的範疇內。
請注意,固定點演算法的運用可讓雙邊濾波以及與其間整數 驗算法相關聯的所有運算都實現;不過,這種實施不管在軟體或硬體上,都相當耗費計算/區域資源。例如:根據ARM架構的處理器在除法運算上會消耗許多循環。示範具體實施例以下列呈現整數除法餘數:a)透過叢集有效減少濾波分接值的數量;這藉由提供該等濾波分接值的少量可能組合來減少查找表124的大小,以及b)將低位元寬度提供給濾波分接值;這提供用於小型逆向查找表126;用上面討論的位元位移逆轉該除法運算。
在一或多個具體實施例內,a)和b)的組合可在不犧牲寶貴精準度之下達成超低複雜度正常化。
第五圖根據一或多個具體實施例,顯示詳述牽涉到實現一低複雜度雙邊濾波的操作之處理流程圖。在一或多個具體實施例內,操作502可牽涉到透過處理器102及/或一硬體單體,實施包含一空間濾波組件以及一範圍濾波組件一雙邊濾波。在一或多個具體實施例內,操作504可牽涉到透過處理器102及/或該硬體單體,用相較於一高斯函數具有降低複雜度的一適當函數實施該空間濾波組件,允許將焦點放在該範圍濾波組件上。
在一或多個具體實施例內,操作506牽涉到依據應用程式188對於該像素的過濾需求,根據與應用程式188執行相關的資料預先計算全集(例如輸入資料302的預先計算全集),透過處理器102,決定關於該範圍濾波組件的濾波分接值,當成視訊訊框1221-N及/或一影像的一像素與其他像素之間輻射距離之函數。在一或多個具體實施例內,操作508牽涉到透過處理器102,將該(等)濾波分接值限制成 i×base 的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度。在一或多個具體實施例內, i 為整數並且 base 可為浮點基數。
雖然已經參考特定範例具體實施例來說明本具體實施例,不過吾人了解,在不背離本發明許多具體實施例的廣義精神與領域之前提下,可對這些具體實施例進行許多修改和變更。例如:本說明書內描述的許多裝置與模組都可使用硬體電路(例如CMOS型邏輯電路)、韌體、軟體或硬體、韌體與軟體的任意組合(例如具體實施於一非暫態機器可讀取媒體內)來啟用與操作。例如:可使用電晶體、邏輯閘和電子電路(例如特殊應用 積體電路(ASIC,Application Specific Integrated Circuitry)及/或數位信號處理器(DSP,Digital Signal Processor)電路),具體實施該等許多電子結構及方法。
此外,吾人將了解,本說明書內揭示的許多操作、處理以及方法可具體實施於一非暫態機器可讀取媒體及/或與資料處理系統(例如資料處理裝置170)相容的一機器可存取媒體內。因此,說明書與圖式僅供參考而不做限制。
100‧‧‧資料處理系統
102‧‧‧處理器
104‧‧‧記憶體
106‧‧‧電腦網路
110‧‧‧雙邊濾波引擎
116‧‧‧視訊資料
122‧‧‧輸入視訊訊框
124‧‧‧查找表
126‧‧‧逆向查找表
160‧‧‧伺服器
170‧‧‧資料處理裝置
188‧‧‧應用程式

Claims (20)

  1. 一種方法,包含:透過通訊耦合至一記憶體及一硬體單體的一處理器,實施包含一空間組件與一範圍濾波組件的一雙邊濾波(BF,Bilateral Filter);透過該至少該處理器及該硬體單體之一者,用相較於一高斯函數具有降低複雜度的一適當函數實施該空間濾波組件,允許將焦點放在該範圍濾波組件上;依據一應用程式對於一像素的過濾需求,根據與該應用程式執行相關的資料預先計算全集,透過該處理器,決定關於該範圍濾波組件的濾波分接值,當成至少一視訊訊框及一影像之一者的一像素與其他像素之間輻射距離之函數;以及透過該處理器,將該(等)濾波分接值限制成 i×base 的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度,其中 i 為整數並且 base 為浮點基數。
  2. 如申請專利範圍第1項之方法,另包含分別實施該雙邊濾波的該空間濾波組件,提供用於橫跨一個空間維度的該像素之該濾波,以及橫跨另一個空間維度的該範圍濾波組件之一後續輸出之濾波。
  3. 如申請專利範圍第1項之方法,另包含以下至少之一者:透過該處理器,叢集該預先計算的資料全集;透過該處理器,根據其間的最佳化,將一叢集的一中心轉向一特定濾波分接值;以及透過該處理器,將該(等)已決定濾波分接值的數量限制在根據該叢集決定的中心數量。
  4. 如申請專利範圍第1項之方法,另包含以下至少之一者:透過至少該處理器與該硬體單體之一者,實施該雙邊濾波的一正常化組件,利用一正常化因數縮小該範圍濾波組件的一輸出;透過至少該處理器與該硬體單體之一者,實施與該記憶體內該(等)已決定濾波分接值相關聯的倒數值之一倉儲;透過至少該處理器與該硬體單體之一者,根據將該倉儲的每一輸入 儲存成為,將該倉儲所消耗的空間最佳化,k為一整數選擇讓該每一輸入內儲存最大量的該倒數值之有效位元;透過至少該處理器與該硬體單體之一者,將該每一輸入的該最高有效位元(MSB,most significant bit)與該範圍濾波組件的該輸出結合;以及透過至少該處理器與該硬體單體之一者,對依照該每一輸入的該低有效位元(LSB,least significant bit)結合的一輸出進行位元位移,以考慮該正常化因數。
  5. 如申請專利範圍第3項之方法,另包含以下之一者:透過一伺服器將該與先計算的資料全集提供給包含該處理器與該記憶體的一資料處理裝置;透過該伺服器以及包含該處理器與該記憶體的該資料處理裝置可讀取的一非暫態媒體,將該預先計算的資料全集提供給至少上述兩者其中之一者;以及在至少該伺服器與該資料處理裝置之一者上執行該叢集。
  6. 如申請專利範圍第4項之方法,包含以下至少之一者:將該(等)已決定濾波分接值儲存在至少該記憶體與該硬體單體之一者內實施的一查找表之內;以及在以下之一者內實施該倒數值之該倉儲:該查找表與另一個查找表。
  7. 如申請專利範圍第1項之方法,包含使用當成該適當函數的一矩形函數來實施該空間濾波組件。
  8. 一種資料處理裝置,包含:一記憶體;以及一處理器,其與該處理器通訊耦合,該處理器設置成執行指令:實施包含一空間濾波組件與一範圍濾波組件的一雙邊濾波,用相較於一高斯函數具有降低複雜度的一適當函數實施該空間濾波組件,允許將焦點放在該範圍濾波組件上, 依據一應用程式對於一像素的過濾需求,根據與該應用程式執行相關的資料預先計算全集,決定關於該範圍濾波組件的濾波分接值,當成至少一視訊訊框及一影像之一者的一像素與其他像素之間輻射距離之函數,以及將該(等)濾波分接值限制成 i×base 的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度,其中 i×base 為整數並且 i×base 為浮點基數。
  9. 如申請專利範圍第8項之資料處理裝置,其中該處理器另設置成執行指令,分別實施該雙邊濾波的該空間濾波組件,提供用於橫跨一個空間維度的該像素之該濾波,以及橫跨另一個空間維度的該範圍濾波組件之一後續輸出之濾波。
  10. 如申請專利範圍第8項之資料處理裝置,其中該處理器另設置成對以下至少之一者執行指令:接收該預先計算的資料全集之叢集的一輸出,該叢集包含根據其間的最佳化,將一叢集的一中心轉向一特定濾波分接值,以及將該(等)已決定濾波分接值的數量限制在根據該已接收叢集輸出決定的中心數量。
  11. 如申請專利範圍第8項之資料處理裝置,其中該處理器另設置成對以下至少之一者執行指令:實施該雙邊濾波的一正常化組件,利用一正常化因數縮小該範圍濾波組件的一輸出,在該記憶體內實施關於該(等)已決定濾波分接值的倒數值之一倉儲,根據將該倉儲的每一輸入儲存成為,將該倉儲所消耗的空間最佳化,k為一整數,選擇讓該每一輸入內儲存最大量的該倒數值之有效位元;將與每一輸入的該最高有效位元相關的資料和該範圍濾波組件的該輸出結合,以及對依照該每一輸入的該低有效位元結合的一輸出進行位元位移,以 考慮該正常化因數。
  12. 如申請專利範圍第10項之資料處理裝置,其中以下之一者:該處理器設置成執行指令,透過至少一伺服器與透過其可讀取的一非暫態媒體之一者,接收該預先計算的資料全集,以及該處理器設置成執行與該叢集相關聯的指令。
  13. 如申請專利範圍第11項之資料處理裝置,其中該處理器設置成對以下至少之一者執行指令:將該(等)已決定濾波分接值儲存在該記憶體內實施的一查找表之內,以及在以下之一者內實施該倒數值之該倉儲:該查找表與另一個查找表。
  14. 如申請專利範圍第8項之資料處理裝置,其中該適當函數為一矩形函數。
  15. 一種系統,包含:至少一系統與一儲存媒體之一者,包含與一應用程式執行有關的預先計算全集資料;以及一資料處理裝置,其通訊耦合至少該伺服器與該儲存媒體之一者,該資料處理裝置包含一處理器通訊耦合至一記憶體,並且該處理器設置成執行指令:實施包含一空間濾波組件與一範圍濾波組件的一雙邊濾波,用相較於一高斯函數具有降低複雜度的一適當函數實施該空間濾波組件,允許將焦點放在該範圍濾波組件上,依據一應用程式對於一像素的過濾需求,根據資料預先計算全集,決定關於該範圍濾波組件的濾波分接值,當成至少一視訊訊框及一影像之一者的一像素與其他像素之間輻射距離之函數,以及將該(等)濾波分接值限制成 i×base 的形式,根據該雙邊濾波實施進一步降低該像素的濾波複雜度,其中 i×base 為整數並且 i×base 為浮點基數。
  16. 如申請專利範圍第15項之系統,其中該資料處理裝置的該處理器另設 置成執行指令,分別實施該雙邊濾波的該空間濾波組件,提供用於橫跨一個空間維度的該像素之該濾波,以及橫跨另一個空間維度的該範圍濾波組件之一後續輸出之濾波。
  17. 如申請專利範圍第15項之系統,其中以下至少之一者:至少該伺服器與該資料處理裝置之一者設置成叢集該預先計算的資料全集,該叢集包含根據其間的最佳化,將一叢集的一中心轉向一特定濾波分接值,以及該資料處理裝置的該處理器設置成將該(等)已決定濾波分接值的數量限制在根據該叢集決定的中心數量。
  18. 如申請專利範圍第15項之系統,其中該資料處理裝置的該處理器另設置成對以下至少之一者執行指令:實施該雙邊濾波的一正常化組件,利用一正常化因數縮小該範圍濾波組件的一輸出,在該記憶體內實施關於該(等)已決定濾波分接值的倒數值之一倉儲,根據將該倉儲的每一輸入儲存成為,將該倉儲所消耗的空間最佳化,k為一整數,選擇讓該每一輸入內儲存最大量的該倒數值之有效位元;將與每一輸入的該最高有效位元相關的資料和該範圍濾波組件的該輸出結合,以及對依照該每一輸入的該低有效位元結合的一輸出進行位元位移,以考慮該正常化因數。
  19. 如申請專利範圍第18項之系統,其中該資料處理裝置的該處理器另設置成對以下至少之一者執行指令:將該(等)已決定濾波分接值儲存在該記憶體內實施的一查找表之內,以及在以下之一者內實施該倒數值之該倉儲:該查找表與另一個查找表。
  20. 如申請專利範圍第15項之系統,其中該適當函數為一矩形函數。
TW102148413A 2013-07-23 2013-12-26 在資料處理裝置內實施的低複雜度雙邊濾波(bf) TWI514857B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/948,210 US8983223B2 (en) 2013-07-23 2013-07-23 Low-complexity bilateral filter (BF) implementation in a data processing device

Publications (2)

Publication Number Publication Date
TW201505425A true TW201505425A (zh) 2015-02-01
TWI514857B TWI514857B (zh) 2015-12-21

Family

ID=52273883

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102148413A TWI514857B (zh) 2013-07-23 2013-12-26 在資料處理裝置內實施的低複雜度雙邊濾波(bf)

Country Status (3)

Country Link
US (1) US8983223B2 (zh)
DE (1) DE102013022245A1 (zh)
TW (1) TWI514857B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10121231B2 (en) * 2016-02-01 2018-11-06 Texas Instruments Incorporated Adaptive bilateral (BL) filtering for computer vision
US10321114B2 (en) * 2016-08-04 2019-06-11 Google Llc Testing 3D imaging systems
US11665029B2 (en) * 2021-07-01 2023-05-30 Nvidia Corporation Feed forward filter equalizer adaptation using a constrained filter tap coefficient value

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2278750A (en) * 1993-06-02 1994-12-07 Motion Media Techn Ltd Optical spatial filtering with electronic image compression
JPH08110950A (ja) * 1994-09-08 1996-04-30 Sony Corp 図形データの階層的近似化方式を利用した描画装置および描画方法
JP3777785B2 (ja) 1998-03-18 2006-05-24 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US7167568B2 (en) * 2002-05-02 2007-01-23 Microsoft Corporation Microphone array signal enhancement
JP4407801B2 (ja) 2003-12-16 2010-02-03 セイコーエプソン株式会社 エッジ生成装置、エッジ生成方法およびエッジ生成プログラム
EP1838206B1 (en) * 2005-01-21 2018-04-04 Optiscan Pty Ltd Fibre bundle confocal endomicroscope
EP1975603A1 (en) * 2007-03-27 2008-10-01 Visys NV Method and system for use in inspecting and/or removing unsuitable objects from a stream of products and a sorting apparatus implementing the same
KR101525251B1 (ko) * 2008-12-29 2015-06-03 주식회사 동부하이텍 노이즈 필터
TWI406571B (zh) 2010-01-29 2013-08-21 Corel Inc Image Processing Method for Enhancing Image Edge Resolution
US8285033B2 (en) 2010-04-01 2012-10-09 Seiko Epson Corporation Bi-affinity filter: a bilateral type filter for color images
US8377738B2 (en) * 2010-07-01 2013-02-19 Sunpower Corporation Fabrication of solar cells with counter doping prevention
US8774267B2 (en) 2010-07-07 2014-07-08 Spinella Ip Holdings, Inc. System and method for transmission, processing, and rendering of stereoscopic and multi-view images
US9179148B2 (en) 2011-06-30 2015-11-03 Futurewei Technologies, Inc. Simplified bilateral intra smoothing filter
CN102819837B (zh) * 2012-07-12 2015-02-18 清华大学 基于反馈控制的深度图处理方法及装置

Also Published As

Publication number Publication date
TWI514857B (zh) 2015-12-21
US20150030257A1 (en) 2015-01-29
DE102013022245A1 (de) 2015-01-29
US8983223B2 (en) 2015-03-17

Similar Documents

Publication Publication Date Title
US20200218509A1 (en) Multiplication Circuit, System on Chip, and Electronic Device
JP2018181313A (ja) 情報処理方法、情報処理装置およびプログラム
US10860050B2 (en) Apparatus and methods for non-linear function operations
CN106547515B (zh) 用于执行算术运算的方法和处理设备
CN107133914B (zh) 用于生成三维彩色图像的装置和用于生成三维彩色图像的方法
WO2018214769A1 (zh) 图像处理方法、装置和系统
WO2015129724A1 (ja) 画像処理装置、画像処理方法及びプログラム
US9798520B2 (en) Division operation apparatus and method of the same
TWI514857B (zh) 在資料處理裝置內實施的低複雜度雙邊濾波(bf)
JP7274180B2 (ja) プログラム、ニューラルネットワーク処理コンピュータ、ニューラルネットワーク処理装置、およびニューラルネットワークの演算方法
US8868633B2 (en) Method and circuitry for square root determination
CN107220025B (zh) 处理乘加运算的装置和处理乘加运算的方法
US10230376B2 (en) Apparatus and method for performing division
CN111105440B (zh) 视频中目标物体的跟踪方法、装置、设备及存储介质
WO2023070421A1 (en) Methods and apparatus to perform mask-based depth enhancement for multi-view systems
US10321164B2 (en) System and method for improving graphics and other signal results through signal transformation and application of dithering
US20140372493A1 (en) System and method for accelerating evaluation of functions
EP3239833B1 (en) Calculating trigonometric functions using a four input dot product circuit
Borges et al. Accuracy-Configurable 2-D Gaussian Filter Architecture for Energy-Efficient Image Processing
WO2023248309A1 (ja) データ処理装置、データ処理プログラム、及びデータ処理方法
CN103314393B (zh) 图像生成装置、图像生成方法及集成电路
US20190303102A1 (en) Output value generator circuit, processor, output value generation method and non-transitory computer readable medium
US20230326044A1 (en) Splatting-based Digital Image Synthesis
WO2022163548A1 (ja) 情報処理システム及び情報処理方法
JP2009089343A (ja) 角度計算方法及び関連回路