• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于OpenGL ES 的圖像濾波算法實現(xiàn)及優(yōu)化研究

    2023-11-18 03:33:00常文斌牟明任賈海鵬張云泉張思佳
    計算機工程 2023年11期
    關鍵詞:著色器紋理濾波

    常文斌,牟明任,賈海鵬,張云泉,張思佳

    (1.大連海洋大學 信息工程學院,遼寧 大連 116023;2.中國科學院計算技術研究所 處理器芯片全國重點實驗室,北京 100190)

    0 概述

    圖像濾波是圖像處理領域中具有廣泛應用場景的算法,主要應用于超聲醫(yī)學、航空航天、數(shù)字媒體、人工智能等領域。圖像濾波可以起到降低椒鹽噪聲、圖像二值化、邊緣識別和提取圖像特征的作用。常見的圖像濾波方法有形態(tài)學濾波、盒式濾波、閾值濾波、壓縮濾波、算術濾波等。從實現(xiàn)原理來分析,各種濾波算法根據(jù)原始圖像的像素狀態(tài),經(jīng)過一系列不同的運算得到目標像素值。

    圖像濾波算法的研究已經(jīng)相當廣泛,但是在實際應用中仍存在許多不足之處。例如,在Android 平臺方面,雖然開源的OpenCV 庫已經(jīng)提供了較全面的圖像濾波算法,但是與其他平臺相比,其在Android 平臺的性能表現(xiàn)仍存在較大的差距。目前,還沒有廣泛應用的專門針對Android 平臺進行優(yōu)化的高性能圖像濾波算法庫。

    隨著移動終端和Android 操作系統(tǒng)的發(fā)展和普及,面向多平臺可移植嵌入式設備的高性能圖像濾波算法庫亟待完善。雖然目前在Apple 平臺已有MPS、Core Image、Vision 等算法 庫,但是其 僅支持Apple 硬件和iOS 系統(tǒng),并不普遍適用于Android系統(tǒng)。

    為進一步提高移動Android 端及相關嵌入式平臺上圖像濾波算法的實際性能表現(xiàn),本文提出一種專門針對Android 端及其嵌入式平臺進行優(yōu)化的高性能圖像濾波算法。在Android 平臺上,基于OpenGL ES 編程接口,利用OpenGL 紋理對象和緩沖傳遞圖像數(shù)據(jù),通過計算著色器實現(xiàn)算法的并行優(yōu)化,設計一種針對移動Android 端基于OpenGL ES接口的優(yōu)化體系,實現(xiàn)并優(yōu)化一系列濾波算法,以提升算法運算性能。

    1 相關工作

    1.1 針對OpenGL 的相關工作

    OpenGL[1]是用于渲染2D、3D 矢量圖形的跨語言、跨平臺的應用程序編程接口,而本文用到的OpenGL ES 3.2[2]是OpenGL 的1 個子集,主要針對移動電話、手持設備、家電設備、汽車等嵌入式設備而設計的。研究指出,在移動設備上采用OpenGL ES實現(xiàn)的視頻濾波算法[3],相比現(xiàn)有的OpenCV 濾波算法庫,在內存和功耗方面具有更大的優(yōu)勢,在算法性能方面也有顯著提升。相關研究顯示,面向Android系統(tǒng)的硬件設備對OpenGL ES 有更加友好的支持[4]。然而,目前還缺少針對Android 平臺設計、使用OpenGL ES 實現(xiàn)和優(yōu)化性能較好的圖像濾波算法。因此,上述研究為本文選擇使用OpenGL ES 編程接口來實現(xiàn)和優(yōu)化圖像濾波算法提供了有價值的參考。

    在OpenGL 的眾多著色器中,計算著色器是一種用于通用計算的特殊著色器,其本身可以看作一種特殊的、單一階段的管線,以更加充分地利用GPU的計算能力[5]。目前,研究人員提出采用OpenGL 計算著色器實現(xiàn)矩陣乘法[6]。但是在使用計算著色器進行圖像濾波計算方面的研究還較不足,為本文基于OpenGL ES 計算著色器的算法優(yōu)化工作提供了一定的參考。

    相關研究指出,在OpenGL 中,紋理和緩沖的存儲和訪問方式非常適合在CPU 和GPU 之間高效地傳輸圖像數(shù)據(jù)[7-9]。就紋理而言,在著色器內使用紋理坐標對紋理像素進行訪問,實現(xiàn)像素級的計算和操作[10]。然而,在現(xiàn)有研究中,紋理主要被用于在片元著色器中對圖像進行采樣和處理[11],例如利用紋理映射技術將紋理圖像應用于幾何圖形中,以獲得更逼真的渲染效果[12]。在計算著色器中使用紋理操作數(shù)據(jù)的研究相對較少。因此,在OpenGL ES 中,將紋理與計算著色器相結合,以實現(xiàn)更高效的并行計算和數(shù)據(jù)操作的研究具有一定意義。

    1.2 針對濾波算法優(yōu)化的相關工作

    目前,已經(jīng)有相當一部分針對圖像濾波算法進行優(yōu)化的研究,例如,基于NVIDIA 公司的GPU 采用CUDA 編程模型[13]對盒式濾波、高斯濾波進行并行優(yōu)化[14],基于ARMv8 處理器,采用SIMD 和匯編指令對圖像濾波算法進行優(yōu)化[15]。此外,研究人員通過引入Graph-Waving 架構[16],提升SIMD 元件利用率,以有效提升算法性能。針對SIMD 等指令級并行性和流水線的優(yōu)化工作[17-19]都不同程度地提高其研究算法的性能。上述研究表明,通過并行優(yōu)化方式可以顯著提升圖像濾波算法性能,有效提高圖像濾波的處理速度和效率。然而,目前的優(yōu)化工作大多都基于多核CPU[20]或者基于GPU,使用圖形渲染方式進行優(yōu)化?;贏ndroid 平臺,使用OpenGL ES計算著色器并行優(yōu)化的研究相對不足。

    此外,還有相當一部分研究是對基于圖形學的圖像濾波效果進行優(yōu)化[21-23],并未對算法的運算效率和性能優(yōu)化做更多的闡述。例如,相關研究在移動Android 設備中將油畫濾波算法通過OpenGL ES圖形渲染管線實現(xiàn)并進行優(yōu)化[24],取得較優(yōu)的圖像效果。但是,該類工作主要側重于圖形學效果的優(yōu)化,對算法運算效率的提升并不顯著[25]。也有研究從圖形學的實現(xiàn)原理出發(fā),對形態(tài)學濾波算法的并行實現(xiàn)進行研究[26],取得了較高的計算精度和較優(yōu)的圖像效果。然而,在許多應用場景中,本文更加關注在滿足一定精度要求的同時優(yōu)化算法性能,以提高其在實際應用中的速度和效率。

    在插值和投影等優(yōu)化算法中,查表法具有較好的優(yōu)化效果[27]。這項研究為本文在閾值濾波算法中使用查表法提供了一定的參考。

    2 算法原理

    2.1 線性濾波算法

    線性濾波是指由源圖像某一像素點周圍濾波窗口數(shù)量的像素值經(jīng)過一系列的算術運算,得到最終輸出圖像像素值的濾波算法。線性濾波算法計算式如下:

    其中:kkerne(lx',y')為不同的卷積算子;x'和y'的值隨卷積算子大小而定,不同的卷積核對應不同的濾波算法。本文研究的線性濾波算法有盒式濾波和算術濾波。

    從原理方面分析,線性濾波根據(jù)某一特定卷積算子(由具體的濾波算法而定),按照從左到右、從上到下的順序,對原始圖像逐個像素進行卷積運算。

    以盒式濾波為例,當Normalize 參數(shù)設定為True時其算法原理如圖1 所示,圖中kernel 為1 個3×3 的卷積算子。將3×3 窗口內的源圖像數(shù)據(jù)與卷積算子對應位置的數(shù)據(jù)相乘,再把求得的9 個數(shù)相加,將最終值賦給當前的錨點,即為算法所求的值。錨點為濾波窗口的中心,對于某些特殊的計算需求,錨點也可自定義為濾波窗口內的任一位置。

    2.2 非線性濾波算法

    非線性濾波是指源圖像通過取最值、置零和取絕對值等一系列邏輯運算(而非算術運算),求得目標像素點的濾波算法。本文研究的非線性濾波算法包含形態(tài)學濾波、閾值濾波和壓縮濾波。從實現(xiàn)原理來分析,非線性濾波也有線性濾波中類似卷積算子的概念,但兩者的區(qū)別在于:線性濾波的卷積算子是不同算法有不同的值;在非線性濾波中,卷積算子的數(shù)值可以看作是濾波窗口內源圖像的像素值。非線性濾波算法通過在源圖像卷積窗口內進行邏輯運算,以替換源圖像像素錨點的值,從而實現(xiàn)相關濾波功能。

    形態(tài)學濾波是一種基于數(shù)學形態(tài)學的典型非線性濾波方法,通過計算濾波窗口內的最值來替換源圖像像素值,使得圖像內的噪聲被濾波窗口內的最值代替,以達到形態(tài)學的腐蝕和膨脹等目的,為圖像邊緣檢測和特征提取提供數(shù)據(jù)基礎。1 個大小為3×3 濾波窗口的形態(tài)學腐蝕濾波算法示意圖如圖2 所示,src 為源圖像像素值,dst 為輸出圖像像素值。

    圖2 形態(tài)學腐蝕濾波算法原理示意圖Fig.2 Schematic diagram of the principle of morphological erode filtering algorithm

    形態(tài)學腐蝕濾波、膨脹和梯度算法計算式分別如式(2)~式(4)所示:

    其中:eelement為濾波窗口。本文只研究矩形濾波窗口,通常其長、寬相等且為奇數(shù)如3×3、5×5、7×7 等。

    根據(jù)算法性質,形態(tài)學執(zhí)行次數(shù)可以與卷積窗口大小相關聯(lián),當執(zhí)行次數(shù)大于1 時,通過式(5)和式(6)改變窗口大小,達到多次進行濾波的圖像學效果,從而提升算法性能。

    此外,形態(tài)學的開(Open)、關(Close)算法均基于erode 和dilate 計 算,不同之 處在于:Open 算法先執(zhí)行erode 后執(zhí)行dilate,而Close 算法先執(zhí)行dilate后執(zhí)行erode。此外,Gradient 算法則是將源圖像執(zhí)行1 次dilate,再將該計算結果與源圖像進行erode 的計算結果做減法,得到形態(tài)學梯度圖。

    3 基于OpenGL 的優(yōu)化策略

    3.1 naive 實現(xiàn)

    本文所完成的圖像濾波算法首先在CPU 端進行naive 實現(xiàn),再通過OpenGL ES 移植到移動設備的CPU+GPU 異構平臺上進行優(yōu)化。

    在形態(tài)學濾波的naive 實現(xiàn)中,本文采用先行后列求最值方式,輸入整幅圖像,按照濾波窗口大小,先將經(jīng)過邊界處理源圖像的行按照濾波窗口寬度大小求出最值,將每行的計算結果放至環(huán)形緩沖區(qū)(在算法程序內部聲明,以首尾相連的方式組織數(shù)據(jù)的存儲結構),將足夠數(shù)量的行(根據(jù)聲明的空間大小和圖像數(shù)據(jù)量而定)計算完成后,再按照濾波窗口高度計算列最值,如此往復,直至循環(huán)整張圖像。該方式的優(yōu)點:減少重復訪存,在計算列最值時直接重復使用求得的行最值,不須重復訪問源圖像數(shù)據(jù),將訪存不連續(xù)的濾波窗口變成訪存連續(xù)的行,大幅減少訪存的時間開銷。

    盒式濾波的naive 實現(xiàn)與形態(tài)學先行后列的方法類似。本文將取最值操作改為求和操作,將濾波窗口內的像素值累加并存儲在中間矩陣中,然后與濾波核中的數(shù)值做乘法,求得源圖像均值。在盒式濾波中,本文通過權值置一的方法提供了非歸一化的濾波算法。該算法可以用來計算源圖像各像素在濾波窗口鄰域內的積分特征。

    在閾值濾波算法的naive 實現(xiàn)中,分為定閾值濾波算法和自適應閾值算法。在定閾值濾波算法中,本文支持自定義閾值和指定閾值計算方法。閾值計算的具體方法可以通過計算類間最大方差確定閾值的大津閾值法(Otsu's),該計算方法適合雙峰直方圖,還可以通過計算直方圖曲線與直線之間最大距離確定Triangle 閾值,適合單峰直方圖。Otsu's 算法計算類間最大方差的計算式如式(7)所示:

    其中:x為像素值;n為權重。

    閾值濾波還提供了5種不同的圖像二值化類型供用戶選擇。二值化(THRESH_BINARY)計算式如下:

    反二值化(THRESH_BINARY_INV)計算式如下:

    閾值截斷(THRESH_TRUNC)計算式如下:

    閾值置零(THRESH_TOZERO)計算式如下:

    反閾值置零(THRESH_TOZERO_INV)計算式如下:

    自適應閾值濾波的naive 實現(xiàn)示意圖如圖3 所示。本文首先采用高斯濾波或盒式濾波將源圖像(這里的源圖像為灰度圖)轉換為均值圖像;然后通過src-mean 對源圖像與均值圖像做減法,再結合權重,自適應地將源圖像轉換為二值化圖像。此外,在算法的實現(xiàn)中,本文還引入查表法,提前計算灰度圖(像素值為0~255)所有可能像素值的二值化結果,并將結果存儲在Tab 表中,通過查表法將均值圖像的值與表的索引進行對比。對于二值化計算,本文只需要將對比成功表中的二值化結果直接存入輸出圖像中。該方法在處理大規(guī)模的圖像像素數(shù)據(jù)下可以減少一部分計算量。

    圖3 自適應閾值濾波的naive 實現(xiàn)示意圖Fig.3 Schematic diagram of naive implementation of adaptive threshold filtering

    算術濾波naive 算法實現(xiàn)了單通道圖像(只包含一種顏色通道的圖像)和三通道圖像(R、G、B 圖像)像素值的加權算術運算。通過2 幅相同尺寸圖像上對應的像素點,將對應通道像素值的和、差、商、積算術運算作為目標像素點值。加權積和加權商算法計算式如下:

    其中:sscale為權值;ssaturate將像素值限制在0~255 之間。

    壓縮濾波在naive 實現(xiàn)中支持單通道和三通道這2 種圖像格式,支持將源圖像像素值按照行和列壓縮的2 種壓縮方法。算法原理為求得當前行或列的像素最值、均值或者像素和,用所求值代替源圖像的當前行或當前列,使圖像一維化。圖4 所示為三通道圖像數(shù)據(jù)按照求均值按行壓縮以及三通道圖像數(shù)據(jù)求和按列壓縮示意圖。本文通過壓縮濾波將1 個三通道圖像變成1 個一維的三通道向量。

    圖4 三通道圖像壓縮濾波算法示意圖Fig.4 Schematic diagram of three-channel image compression filtering algorithm

    在本文所實現(xiàn)的圖像濾波naive 算法中,當算法處理到圖像邊界像素時,時常會出現(xiàn)超出圖像邊界的情況。如果不對邊界進行處理,那么在訪問這些位置時可能會產(chǎn)生越界操作。針對該問題,本文提出如圖5 所示的邊界處理方法。

    該方法包括默認邊界、由用戶指定的常數(shù)邊界、用源圖像同側值填充的復制邊界、用源圖像邊界鏡像像素值填充的鏡像邊界。

    3.2 訪存優(yōu)化

    圖像濾波算法本身具有較優(yōu)的數(shù)據(jù)獨立性、局部性和數(shù)據(jù)重用性的并行特征,適合在大規(guī)模的細粒度圖形處理器GPU 中進行處理。圖像濾波算法按照計算和訪存的特性可以大致分為數(shù)據(jù)無關算法和數(shù)據(jù)相關算法。

    數(shù)據(jù)無關算法是指在算法中,源圖像各個連續(xù)的像素點通過各自單獨運算獲得目標像素值,各像素點之間沒有關聯(lián),互不影響,如本文實現(xiàn)的算術濾波和固定閾值的閾值濾波算法。該類算法計算獨立并且訪存連續(xù),具備良好的并行性。因此,本文對該類算法的優(yōu)化重點在于提高單個像素點的計算效率、提高數(shù)據(jù)的訪存以及對數(shù)據(jù)的并行計算效率。

    對于這類問題的訪存優(yōu)化,通過同時執(zhí)行多個處理單元,采用批量讀寫數(shù)據(jù)的方式可以極大程度地提升訪存效率。在CPU 向GPU 傳遞數(shù)據(jù)時,OpenGL 支持紋理和緩沖2 種大規(guī)模數(shù)據(jù)的存儲形式。相比緩沖這種通用的存儲形式而言,圖像濾波算法對圖像紋理這種結構化的存儲形式更加友好。紋理存儲形式也更加適用于計算海量數(shù)據(jù)的著色器。本文通過紋理來實現(xiàn)大規(guī)模圖像數(shù)據(jù)在本地和著色器間的傳遞和操作,提高計算著色器對圖像像素數(shù)據(jù)的處理效率。

    在著色器內部對圖像紋理進行讀取和寫入操作的具體方法有imageLoad()、imageStore(),其中imageLoad()方法的返回值類型是vec4,在單通道圖像數(shù)據(jù)中,本文嘗試使用vec4 數(shù)據(jù)類型將單通道的數(shù)據(jù)向量化,以達到高效訪存的目的。經(jīng)過實驗發(fā)現(xiàn),imageLoad()方法在單通道圖像數(shù)據(jù)中的返回值雖然仍是vec4 類型,但是實際上該方法只支持單獨像素單元的存取,在單通道數(shù)據(jù)中,并不支持使用其他通道。因此,計算著色器內的訪存優(yōu)化以更加合理的線程布局和紋理存取像素值為主的方式實現(xiàn)。

    數(shù)據(jù)相關算法是指目標圖像中每個目標像素值計算需要依賴源圖像中其他像素值參與的算法。例如,在計算目標像素值時,需要利用源圖像錨點像素值周圍一定范圍內的鄰域像素值作為卷積核的一部分,共同參與計算,從而得到目標像素值。本文所實現(xiàn)的形態(tài)學濾波、自適應閾值濾波和盒式濾波均為數(shù)據(jù)相關算法。該類算法的優(yōu)化重點在于利用數(shù)據(jù)局部性原理,減少對內存的頻繁訪問,提高訪存,以提高算法的效率和性能。例如,更加充分利用GPU的共享內存或紋理緩存從而減少數(shù)據(jù)傳輸和訪問的延遲。本文所使用的實驗平臺采用的共享內存沒有性能提升,其原因可能是該設備的GPU 中沒有共享內存硬件,也沒有高速存儲設備做支持。這一點在ARM Mali GPU 的開發(fā) 者文檔 中得到證實[28],Mali GPU 不為計算著色器實現(xiàn)提供專門的片上共享內存,而是使用系統(tǒng)的RAM 實現(xiàn)相關功能。因此,對于該類算法的優(yōu)化策略,本文使用紋理訪問圖像數(shù)據(jù)、充分利用數(shù)據(jù)局部性、合理分配線程、提高Cache的命中率,進一步提升訪存性能的優(yōu)化策略性能。

    3.3 計算著色器并行優(yōu)化

    3.3.1 并行算法

    本文采用計算著色器對圖像濾波算法進行并行優(yōu)化,計算著色器屬于無固定輸入輸出的著色器(可以自定義輸入輸出變量),是OpenGL 中一種特殊的管線。這種特性使得它具有更強的靈活性,可用于執(zhí)行各種通用計算任務,而不僅僅局限于圖形渲染。本文所提算法采用紋理來存儲數(shù)據(jù),使得計算著色器在GPU 上執(zhí)行計算任務時可以并行地直接訪問和處理大規(guī)模圖像數(shù)據(jù),無須頻繁地訪問全局內存,這種方式能有效發(fā)揮計算著色器的優(yōu)勢。在本文的工作中并行算法計算的核心是在計算著色器的眾多工作組中執(zhí)行,通過調用gldispatchCompute()方法啟動并發(fā)計算任務,將圖像按照像素點分配線程,在GPU 上進行處理。在GPU 中,全局工作組被劃分為多個局部工作組,局部工作組的大小可以自定義,在每個工作組中的若干個工作項通過計算著色器進行運算和操作。二維工作組的劃分示意圖如圖6所示。在計算著色器中,每個像素點在全局中的位置坐標可由當前工作組的坐標、局部工作組大小和工作項坐標表示,即gl_GlobalInvocationID=gl_WorkGroupID*gl_WorkGroup Size+gl_LocalInvocationID。本文在計算著色器內全局的規(guī)劃線程進行運算和操作。合理劃分工作組大小可以在一定程度上有效提升算法性能。

    在劃分工作組后,OpenGL 的每個工作組都根據(jù)計算著色器的核心算法并行地執(zhí)行相同的運算。所有的計算和操作均在計算著色器內完成。三通道圖像并行算法的示意圖如圖7 所示,pipeline 為僅有計算著色器的特殊管線,每個工作項均進入以計算著色器為核心的特殊管線中。

    圖7 三通道圖像并行算法示意圖Fig.7 Schematic diagram of three-channel image parallel algorithm

    在形態(tài)學濾波的并行算法中,本文無須將圖像整體按照行列拆分運算,而是同時開啟圖像像素點數(shù)量的工作項,以單個像素點為單位進行計算。在計算著色器中,本文提取當前錨點附近的濾波窗口大小的像素點,依次比較求出最值,再傳入到目標圖像中。針對單通道、三通道和四通道圖像數(shù)據(jù),本文分別采 用OpenGL 自帶的GL_R、GL_RGB 和GL_RGBA 向量化的方式來實現(xiàn)。由于OpenGL ES 3.2在計算著色器內僅支持布爾類型、32 bit 整數(shù)和浮點操作,因此在8U 圖像中,相比單通道數(shù)據(jù),三通道數(shù)據(jù)和四通道數(shù)據(jù)能更加充分利用存儲空間,具有較優(yōu)的優(yōu)化效果。

    在盒式濾波的并行算法中,本文開辟圖像像素點大小的工作項,將每個像素點所在位置作為錨點,向周圍擴展濾波窗口大小的像素點,在計算著色器內,將這些像素點求和,并乘以權值(計算均值時為1(/kernel.x*kernel.y))的大小,在計算完成后,將結果傳到輸出紋理坐標上,每個工作項均執(zhí)行這一相同計算。

    在自定義閾值的閾值濾波并行算法中,本文將閾值和最大值(maxval)作為統(tǒng)一變量,通過統(tǒng)一變量綁定點傳入計算著色器內,在計算著色器內判斷當前像素值與閾值的大小關系,按照不同的閾值類型,將正確的目標值寫入到輸出圖像所在的紋理坐標中。

    在自適應的閾值濾波中,本文將經(jīng)過盒式濾波和高斯濾波計算后的中間矩陣mean 和源圖像src 一起傳入計算著色器中,用式(15)和式(16)替代naive實現(xiàn)中使用的查表法,減小Tab 表所占用的內存空間和多次訪存開銷,將查表法的功能拆分重組,在計算著色器內使用如下公式精簡計算,進一步提升算法性能:

    在算術濾波的并行算法中,本文針對2 幅圖像的像素值進行并行算術運算。為實現(xiàn)該目標,本文同時將2 幅圖像的像素值綁定到紋理單元并傳入計算著色器中,在著色器內部對2 幅圖像的每個坐標位置數(shù)據(jù)進行加、減、乘、除算術運算,各紋理坐標對應像素點并行地通過計算著色器,將計算結果傳入至輸出圖像紋理單元中。算術濾波算法是典型的數(shù)據(jù)無關算法,單獨目標像素值的計算只需要2 個源圖像對應的坐標值和權值即可,不需要其他源像素值和中間計算結果的參與。這種算法對于并行訪存和并行計算非常友好。本文優(yōu)化算法在實驗設備中相對于OpenCV 開源庫中對應算法的性能提高7 倍左右。

    在壓縮濾波的并行算法中,本文基于算法原理將源圖像根據(jù)最值、均值以及求和壓縮成一行或者一列。在劃分工作組時根據(jù)目標矩陣的情況(即一行或者一列)將工作組劃分為對訪存和計算更加友好的狀態(tài)。例如,將矩陣壓縮為一列時,本文將每行作為1 個工作組,并將工作組大小設置為height 為1 的塊。本文采用這種方式在每個工作組中計算當前行的數(shù)據(jù),從而減少重復的計算次數(shù)和訪存操作。

    3.3.2 邊界處理優(yōu)化

    在并行算法的邊界處理中,由于每個線程都通過相同的計算著色器,因此并行算法將邊界處理移至計算著色器中。在這種情況下,本文只須在著色器中判斷當前計算所需坐標像素是否在源圖像內部。如果超出了源圖像的邊界,本文賦予其對應邊界鏡像坐標值或特定值等邊緣填充值即可。該方案在一定程度上提升了并行算法的整體性能,減少處理圖像邊界所帶來的大部分空間和時間開銷。

    3.3.3 數(shù)據(jù)類型優(yōu)化

    在數(shù)據(jù)類型方面,本文所使用的OpenGL ES 3.2目前支持32 bit 整數(shù)、浮點數(shù)和布爾類型數(shù)據(jù),對于其他數(shù)據(jù)類型并不支持。本文提供除整數(shù)和32 bit浮點數(shù)以下的其他數(shù)據(jù)解決方案:將8UC1 數(shù)據(jù)轉換為GL_R32UI 類 型,將8UC3 和8UC4 數(shù)據(jù)轉換為GL_RGBA32UI 類型,目前本文已經(jīng)安全地支持所有常用的8~32 bit 的有符號數(shù)和無符號數(shù)在OpenGL ES 進行傳輸和運算。

    3.4 數(shù)據(jù)通信優(yōu)化

    在CPU+GPU 的異構平臺下,將數(shù)據(jù)在CPU 和GPU 之間進行高效的通信是非常重要的,這也是本文優(yōu)化的重點方向。為此,本文分別針對小規(guī)模數(shù)據(jù)和大規(guī)模數(shù)據(jù)提出不同的解決方案。

    在小規(guī)模數(shù)據(jù)方面,OpenGL 提供統(tǒng)一變量(Uniform)關鍵字,允許將這些數(shù)據(jù)作為全局變量通過glUniform*()方法綁定到緩沖區(qū)。由于本文所使用的計算著色器具有在著色器和本地之間保持同步和共享數(shù)據(jù)傳輸?shù)奶匦裕虼藢⒕彌_區(qū)作為存儲和傳輸小規(guī)模數(shù)據(jù)的媒介。

    對于大規(guī)模數(shù)據(jù),采用Uniform 需要依次綁定,這顯然是非常低效的。為此,OpenGL 提供一致區(qū)塊,將需要輸入和輸出計算著色器的大量全局數(shù)據(jù)映射在統(tǒng)一緩沖對象(Uniform Buffer Object,UBO)上,并通過綁定點使其相互對應。UBO 綁定數(shù)據(jù)示意圖如圖8 所示。

    本文在圖像數(shù)據(jù)由CPU 向GPU 上傳的過程和從GPU 向CPU 下載的過程中采用一致區(qū)塊,在GPU部分采用更利于計算著色器進行并行訪存和計算的紋理存儲形式。在OpenGL ES 中紋理也可以綁定在Uniform 綁定點上,本文經(jīng)過紋理坐標在計算著色器內部訪問圖像像素點,完成與圖像濾波相關的操作和計算。

    4 實驗結果與分析

    4.1 實驗環(huán)境搭建

    本文實現(xiàn)的高性能圖像濾波算法庫在天璣1200處理器上進行運行測試。該處理器包含1 個主頻為3.0 GHz 的A78 大核心、3 個主頻 為2.6 GHz 的A78中核心,以及4 個主頻為2.04 GHz 的A55 小核心。此外,處理器還搭載了基于ARM Mali-G77 架構的Mali-G77 MC9 GPU。實驗中采用了4.5.5 版本的OpenCV 庫和3.2 版本的OpenGL ES 接口。具體的實驗環(huán)境配置如表1 所示。

    4.2 性能對比分析

    本文使用的所有源圖像數(shù)據(jù)都是通過程序生成的隨機數(shù),使用隨機數(shù)生成的圖像數(shù)據(jù)能夠消除真實圖像數(shù)據(jù)的特殊性和偏差,從而更準確地評估不同算法和優(yōu)化技術的性能,同時確保了實驗結果的可重復性,使得其他研究人員可以在相同條件下進行復現(xiàn)和比較,使用隨機數(shù)生成的圖像數(shù)據(jù)也使得實驗更具普適性。因此,本文實驗結果不僅適用于特定類型或特定領域的圖像數(shù)據(jù),而且具有一般性和廣泛適應性,對于算法和優(yōu)化技術的推廣和應用具有重要意義。此外,本文調用了部分OpenCV 庫中圖像濾波算法與本文所提的優(yōu)化算法進行性能對比。除非特別說明,否則本文在調用這些算法時均使用了默認參數(shù),以確保對比實驗的公平性和一致性。

    本文實現(xiàn)的形態(tài)學濾波與OpenCV 庫中morphologyEx()函數(shù)在8UC3(三通道的8 bit 無符號整數(shù))的圖像數(shù)據(jù)下進行對比。形態(tài)學濾波性能對比如圖9 所示(3×3、5×5、7×7 表示卷積窗口的大?。?。本文將算法中iterations 參數(shù)設置為1,得到最直觀的性能差異。在不同規(guī)模圖像中,本文實現(xiàn)的基于OpenGL ES 的優(yōu)化算法性能提升最大約為30.543 倍,性能提升最小約為1.994 倍,平均性能提升約為16.269 倍。

    圖9 形態(tài)學濾波性能對比Fig.9 Comparison of morphological filtering performance

    從圖9 可以看出,在OpenCV 算法中,隨著卷積窗口變大,相同計算規(guī)模下的算法耗時有不同程度增加,導致算法的整體性能下降。本文所實現(xiàn)的優(yōu)化算法OpenGL 在相同情況下并未顯示出明顯的性能差異,其原因為在卷積窗口由3×3 變?yōu)?×7 時,計算單個目標像素值需要參與運算的數(shù)據(jù)由9 個(3×3)增加到49 個(7×7),即每個目標像素值的計算需要增加40 個數(shù)據(jù)。在OpenCV 的算法中,整幅圖像所有像素值的計算耗時會累積,從而導致算法的整體性能下降。相比OpenCV,本文實現(xiàn)的基于OpenGL ES優(yōu)化算法將由增大濾波窗口所帶來的負載均衡地分配到GPU 的每個核心上(從算法的角度將負載平均分配到每個工作項上)進行并行執(zhí)行,而不是在單個計算核心上累積計算耗時。因此,濾波窗口的變化對該算法性能的影響大幅減小。

    本文實現(xiàn)的盒式濾波優(yōu)化算法與OpenCV 的boxFilter()函數(shù)進行對比。圖10 所示為8UC1(單通道的8 bit 無符號整數(shù))盒式濾波性能對比。8UC1 圖像數(shù)據(jù)中性能最高提升34.425 倍,最低提升1.602 倍,平均提升15.299 倍。圖11 所示為8UC3 盒式濾波性能對比。8UC3 圖像數(shù)據(jù)下性能最高提升110.018 倍,最低提升3.903 倍,平均提升42.150 倍。從圖10和圖11可以看出,本文實現(xiàn)的基于OpenGL ES優(yōu)化算法在處理三通道數(shù)據(jù)時表現(xiàn)更明顯的優(yōu)化效果。這是因為在進行三通道數(shù)據(jù)運算時,本文進一步利用OpenGL 中紋理的特性,對三通道圖像中每個像素點上的3 個8U 數(shù)據(jù)進行向量化操作,使得數(shù)據(jù)訪問更加連續(xù)且高效。該方法將優(yōu)化前使用3 條指令才能完成的工作減少到1 條指令,顯著提升算法的執(zhí)行性能和效率。

    圖10 8UC1 盒式濾波性能對比Fig.10 Comparison of 8UC1 box filtering performance

    圖11 8UC3 盒式濾波性能對比Fig.11 Comparison of 8UC3 box filtering performance

    本文實現(xiàn)的自適應閾值濾波算法與OpenCV 的adaptiveThreshold()函數(shù)性能對比如圖12 所示,將對比的2 個算法adaptiveMethod 參數(shù)均設置為ADAPTIVE_THRESH_GAUSSIAN_C,threshold--Type參數(shù)均設置為THRESH_BINARY。本文實現(xiàn)的基于OpenGL ES 優(yōu)化算法性能最高提升39.251 倍,最低提升2.125 倍,平均提升20.688 倍。

    圖12 自適應閾值濾波性能對比Fig.12 Comparison of adaptive threshold filtering performance

    在本文實現(xiàn)的算術濾波算法中,除法(DIV,divide)算法與OpenCV 的divide()函數(shù)性能對比如圖13 所示。該算法性能最高提升13.365 倍,最低提升1.509 倍,平均提升7.437 倍。

    在壓縮濾波中,最值(MAX)、均值(AVG)以及求和(SUM)算法與OpenCV 中的reduce()函數(shù)的性能對比如圖14 所示。相比OpenCV 中對應算法,本文優(yōu)化算法性能最高提升57.863 倍,最低提升1.509 倍,平均提升29.686 倍。

    圖14 壓縮濾波性能對比Fig.14 Comparison of compression filtering performance

    從圖9~圖14 可以看出,隨著圖像規(guī)模的增大,本文優(yōu)化算法相對于OpenCV 中對應算法的性能提升也逐漸增大。這種性能提升的原因主要有:本文采用計算著色器將整幅圖像的計算任務均勻分配到GPU 的多個核心上,能夠更充分地利用GPU 的計算資源,有效提高算法的并行性;本文通過紋理存儲圖像數(shù)據(jù)的方式減少對圖像數(shù)據(jù)的頻繁讀寫操作,從而減少訪存延遲和數(shù)據(jù)傳輸開銷,進一步提升訪存性能。當圖像數(shù)據(jù)由4 096×512 個增加到4 096×2 048 個時,圖像數(shù)據(jù)增加到原來的4 倍。在OpenCV 算法中,處理這些數(shù)據(jù)所需的時間在單個核心上累積,導致大規(guī)模圖像的計算時間呈倍數(shù)增加。本文優(yōu)化算法能夠將計算任務并行地分配到GPU的多個計算核心上,該計算核心同時處理這些計算任務,更充分地利用GPU 的計算資源,使得性能提升逐漸增大。隨著圖像規(guī)模的增大,本文優(yōu)化算法在并行性和訪存優(yōu)化方面的優(yōu)勢也變得更加顯著。

    此外,OpenCV 對應的算法出現(xiàn)了一些明顯的性能下降點。這是因為在該實驗中,本文按照從小到大的趨勢分別設置了圖像的長和寬。當圖像的寬度從2 160 個像素點減小到512 個像素點時,因圖像規(guī)模變小,相應算法的運行時間也會縮短。

    整體上,本文實現(xiàn)的基于移動Android 端使用OpenGL ES 的圖像濾波算法性能明顯優(yōu)于OpenCV庫中的相關算法。實驗結果表明,本文實現(xiàn)的圖像濾波算法進行的一系列優(yōu)化手段是有效的。

    5 結束語

    本文實現(xiàn)針對移動Android平臺基于OpenGL ES的圖像濾波算法庫,實現(xiàn)了形態(tài)學濾波、多種閾值濾波、盒式濾波、壓縮濾波、算術濾波。通過OpenGL計算著色器、紋理和統(tǒng)一變量對算法進行優(yōu)化,總體上其性能與OpenCV 開源庫相關算法相比得到顯著提高,平均性能為OpenCV 的21.561 倍,在優(yōu)化性能的同時也為基于Android 平臺使用OpenGL ES 的高性能圖像濾波算法提供了新的優(yōu)化方案。本文所實現(xiàn)的圖像濾波算法全面適配8U 數(shù)據(jù)類型且滿足少量32S 數(shù)據(jù)類型。下一步將在更多數(shù)據(jù)類型上對算法的實現(xiàn)和優(yōu)化進行研究,以擴大高性能圖像濾波算法庫的數(shù)據(jù)類型應用場景。

    猜你喜歡
    著色器紋理濾波
    基于UE4 實時射線追蹤技術的研究與探討
    基于Unity Shader石油泄漏現(xiàn)象模擬的研究
    基于IMx6的opengl圖形著色器開發(fā)研究
    中國新通信(2020年2期)2020-06-24 03:06:44
    基于BM3D的復雜紋理區(qū)域圖像去噪
    軟件(2020年3期)2020-04-20 01:45:18
    使用紋理疊加添加藝術畫特效
    TEXTURE ON TEXTURE質地上的紋理
    Coco薇(2017年8期)2017-08-03 15:23:38
    消除凹凸紋理有妙招!
    Coco薇(2015年5期)2016-03-29 23:22:15
    RTS平滑濾波在事后姿態(tài)確定中的應用
    基于線性正則變換的 LMS 自適應濾波
    遙測遙控(2015年2期)2015-04-23 08:15:18
    基于隨機加權估計的Sage自適應濾波及其在導航中的應用
    精品人妻熟女毛片av久久网站| 咕卡用的链子| 天天躁夜夜躁狠狠躁躁| 日韩三级视频一区二区三区| 在线观看免费午夜福利视频| 国产人伦9x9x在线观看| 日韩制服骚丝袜av| avwww免费| 久久久久久免费高清国产稀缺| 两性夫妻黄色片| 麻豆av在线久日| 免费人妻精品一区二区三区视频| 91国产中文字幕| 精品熟女少妇八av免费久了| 日本欧美视频一区| 伊人久久大香线蕉亚洲五| 精品亚洲成国产av| av视频免费观看在线观看| 捣出白浆h1v1| 男女免费视频国产| 国产熟女午夜一区二区三区| 夜夜夜夜夜久久久久| 人人妻人人澡人人看| 可以免费在线观看a视频的电影网站| 精品少妇内射三级| 国产在线一区二区三区精| 国产一区二区激情短视频 | 日本av手机在线免费观看| 国产视频一区二区在线看| avwww免费| 天天操日日干夜夜撸| 午夜激情久久久久久久| 日韩 亚洲 欧美在线| 男女无遮挡免费网站观看| 天堂中文最新版在线下载| 两人在一起打扑克的视频| 99久久综合免费| 国产欧美日韩一区二区三区在线| 啦啦啦 在线观看视频| 中文欧美无线码| av天堂久久9| 黑人巨大精品欧美一区二区mp4| 一区福利在线观看| 母亲3免费完整高清在线观看| 国产男人的电影天堂91| av不卡在线播放| 国产日韩欧美在线精品| 国产精品 国内视频| 久久久久国产一级毛片高清牌| 夜夜骑夜夜射夜夜干| tube8黄色片| 日韩欧美免费精品| 美女扒开内裤让男人捅视频| 亚洲精品成人av观看孕妇| 国产av一区二区精品久久| 亚洲av欧美aⅴ国产| 欧美日韩亚洲国产一区二区在线观看 | 99精国产麻豆久久婷婷| av又黄又爽大尺度在线免费看| 午夜福利影视在线免费观看| 国产真人三级小视频在线观看| 精品少妇黑人巨大在线播放| 国产成人精品久久二区二区91| 精品久久久久久电影网| 午夜久久久在线观看| 久久久久网色| 亚洲,欧美精品.| 国产成人影院久久av| 国产精品一区二区在线不卡| 国产视频一区二区在线看| 国产伦理片在线播放av一区| 欧美成狂野欧美在线观看| 久久99热这里只频精品6学生| 婷婷成人精品国产| 午夜福利免费观看在线| 精品欧美一区二区三区在线| 日韩一区二区三区影片| 免费在线观看完整版高清| 国产黄频视频在线观看| 亚洲精品av麻豆狂野| 亚洲全国av大片| 亚洲av日韩精品久久久久久密| 亚洲欧美成人综合另类久久久| 99久久综合免费| 日本91视频免费播放| 免费女性裸体啪啪无遮挡网站| 精品欧美一区二区三区在线| 建设人人有责人人尽责人人享有的| 另类亚洲欧美激情| 中文字幕人妻熟女乱码| 日韩免费高清中文字幕av| 亚洲欧美色中文字幕在线| 亚洲av日韩在线播放| 免费久久久久久久精品成人欧美视频| 秋霞在线观看毛片| 国产一区二区激情短视频 | 80岁老熟妇乱子伦牲交| 在线观看免费午夜福利视频| 国产精品熟女久久久久浪| 亚洲第一av免费看| a级毛片在线看网站| 久久热在线av| 精品亚洲乱码少妇综合久久| 国产成人精品久久二区二区91| 黑人猛操日本美女一级片| 亚洲欧美激情在线| 国产免费现黄频在线看| 国产激情久久老熟女| 亚洲专区国产一区二区| 亚洲中文av在线| 国产成人免费观看mmmm| 一级a爱视频在线免费观看| 亚洲,欧美精品.| 在线观看免费午夜福利视频| 成年人午夜在线观看视频| 精品人妻在线不人妻| 久久精品成人免费网站| 亚洲国产欧美网| 国产精品麻豆人妻色哟哟久久| 99国产精品一区二区蜜桃av | 亚洲五月婷婷丁香| 亚洲美女黄色视频免费看| 他把我摸到了高潮在线观看 | 黄片小视频在线播放| 纵有疾风起免费观看全集完整版| 一本色道久久久久久精品综合| 99九九在线精品视频| 好男人电影高清在线观看| 在线精品无人区一区二区三| 老鸭窝网址在线观看| 国产精品秋霞免费鲁丝片| 首页视频小说图片口味搜索| 黄片播放在线免费| 欧美日韩精品网址| 日韩欧美国产一区二区入口| 国产在线观看jvid| www.av在线官网国产| 麻豆av在线久日| 中文字幕色久视频| 色播在线永久视频| 国产99久久九九免费精品| 97人妻天天添夜夜摸| 国产野战对白在线观看| 大香蕉久久网| 国产黄频视频在线观看| 午夜成年电影在线免费观看| 久久久久久久精品精品| 日韩 亚洲 欧美在线| 美女高潮喷水抽搐中文字幕| 在线av久久热| 日韩中文字幕欧美一区二区| 日韩欧美免费精品| 亚洲精品久久午夜乱码| 国产精品久久久av美女十八| 18在线观看网站| 丁香六月欧美| 亚洲第一av免费看| 国产黄频视频在线观看| 天天躁日日躁夜夜躁夜夜| 精品一区二区三卡| 99久久国产精品久久久| 欧美国产精品va在线观看不卡| 国产精品国产av在线观看| 如日韩欧美国产精品一区二区三区| 午夜日韩欧美国产| 一区二区日韩欧美中文字幕| 黄色片一级片一级黄色片| 国产精品熟女久久久久浪| 国产一卡二卡三卡精品| 日韩制服骚丝袜av| 黄网站色视频无遮挡免费观看| 成年人免费黄色播放视频| 亚洲av男天堂| 啦啦啦啦在线视频资源| 国产免费福利视频在线观看| 精品国产乱子伦一区二区三区 | 操美女的视频在线观看| 激情视频va一区二区三区| 久久精品人人爽人人爽视色| 伦理电影免费视频| 精品亚洲成a人片在线观看| 一级片免费观看大全| 日本av手机在线免费观看| 97在线人人人人妻| 亚洲美女黄色视频免费看| 国产亚洲精品一区二区www | 另类亚洲欧美激情| 国产国语露脸激情在线看| 久久精品亚洲熟妇少妇任你| 欧美黄色片欧美黄色片| av网站在线播放免费| 在线观看www视频免费| 国内毛片毛片毛片毛片毛片| svipshipincom国产片| 悠悠久久av| 狠狠狠狠99中文字幕| 精品第一国产精品| 国产精品影院久久| 国产黄频视频在线观看| 国产精品久久久久成人av| 1024香蕉在线观看| 成人国语在线视频| 国产无遮挡羞羞视频在线观看| 99精国产麻豆久久婷婷| 国产99久久九九免费精品| 日韩 欧美 亚洲 中文字幕| 欧美日韩视频精品一区| 一级a爱视频在线免费观看| 国产三级黄色录像| 制服人妻中文乱码| 亚洲国产看品久久| 免费不卡黄色视频| 丝袜在线中文字幕| 中国美女看黄片| 亚洲国产欧美网| 热99久久久久精品小说推荐| 欧美黄色淫秽网站| 老熟妇仑乱视频hdxx| 免费观看人在逋| 淫妇啪啪啪对白视频 | 亚洲国产av影院在线观看| av免费在线观看网站| av有码第一页| 黄片播放在线免费| 国产一卡二卡三卡精品| 国产一区二区在线观看av| 亚洲欧美精品综合一区二区三区| 欧美日韩亚洲综合一区二区三区_| 久久综合国产亚洲精品| 日韩电影二区| 成人国语在线视频| 在线亚洲精品国产二区图片欧美| 免费看十八禁软件| 欧美国产精品va在线观看不卡| 日韩三级视频一区二区三区| 制服人妻中文乱码| av欧美777| 国产成人av教育| 亚洲精品第二区| 精品国产乱码久久久久久男人| 精品第一国产精品| 日韩欧美一区视频在线观看| 首页视频小说图片口味搜索| 自线自在国产av| 老鸭窝网址在线观看| 热re99久久国产66热| 热99久久久久精品小说推荐| 欧美日韩亚洲国产一区二区在线观看 | 精品久久久久久电影网| 999久久久精品免费观看国产| 国产福利在线免费观看视频| 天天躁日日躁夜夜躁夜夜| 亚洲,欧美精品.| 日韩中文字幕视频在线看片| 国产高清视频在线播放一区 | 999精品在线视频| 满18在线观看网站| 女人爽到高潮嗷嗷叫在线视频| 国产不卡av网站在线观看| 亚洲av男天堂| 999久久久国产精品视频| 母亲3免费完整高清在线观看| 亚洲av片天天在线观看| 19禁男女啪啪无遮挡网站| 精品一区在线观看国产| 亚洲国产看品久久| 成人国语在线视频| av天堂在线播放| 国产精品成人在线| 亚洲中文字幕日韩| 久久精品成人免费网站| 亚洲国产精品成人久久小说| 91av网站免费观看| 99久久99久久久精品蜜桃| 免费在线观看完整版高清| 777米奇影视久久| www.自偷自拍.com| 在线观看免费午夜福利视频| 美女视频免费永久观看网站| 一级,二级,三级黄色视频| 超碰成人久久| 少妇裸体淫交视频免费看高清 | 久久久欧美国产精品| 中文字幕色久视频| 午夜福利视频在线观看免费| 少妇人妻久久综合中文| 乱人伦中国视频| 后天国语完整版免费观看| 亚洲国产精品成人久久小说| 亚洲欧美精品自产自拍| 91成年电影在线观看| 国产精品一区二区免费欧美 | 亚洲精品国产精品久久久不卡| 欧美国产精品一级二级三级| avwww免费| e午夜精品久久久久久久| 国产一级毛片在线| tocl精华| 狂野欧美激情性bbbbbb| 纵有疾风起免费观看全集完整版| 欧美 亚洲 国产 日韩一| 国产欧美亚洲国产| 天堂8中文在线网| 两个人免费观看高清视频| 桃花免费在线播放| 亚洲av成人不卡在线观看播放网 | 一个人免费看片子| 桃花免费在线播放| 亚洲少妇的诱惑av| 老司机午夜十八禁免费视频| 成年av动漫网址| 国产精品成人在线| 妹子高潮喷水视频| 一区二区三区精品91| 下体分泌物呈黄色| 亚洲七黄色美女视频| 精品国产乱子伦一区二区三区 | 亚洲伊人久久精品综合| 亚洲av成人一区二区三| 啦啦啦免费观看视频1| 久久影院123| 亚洲少妇的诱惑av| 操美女的视频在线观看| 国产野战对白在线观看| 最新在线观看一区二区三区| 国产日韩欧美亚洲二区| 国产97色在线日韩免费| 精品亚洲成国产av| 久久久久视频综合| 国产成人系列免费观看| 在线av久久热| 国产又爽黄色视频| 操美女的视频在线观看| 91成人精品电影| 性少妇av在线| videos熟女内射| 亚洲国产av影院在线观看| 国产欧美日韩一区二区三区在线| 日韩有码中文字幕| 不卡一级毛片| 亚洲人成电影免费在线| 少妇粗大呻吟视频| 国产极品粉嫩免费观看在线| 亚洲精品国产av蜜桃| 一区在线观看完整版| 国产无遮挡羞羞视频在线观看| 十八禁人妻一区二区| 国产精品1区2区在线观看. | 久久久精品免费免费高清| 精品欧美一区二区三区在线| 美女午夜性视频免费| 国产精品亚洲av一区麻豆| 午夜免费成人在线视频| 女人精品久久久久毛片| 在线观看一区二区三区激情| 中文精品一卡2卡3卡4更新| 丁香六月天网| 日韩中文字幕视频在线看片| 啦啦啦免费观看视频1| 爱豆传媒免费全集在线观看| 啦啦啦免费观看视频1| 亚洲精品乱久久久久久| 无遮挡黄片免费观看| 国产精品秋霞免费鲁丝片| 成年av动漫网址| 免费在线观看黄色视频的| 亚洲国产成人一精品久久久| 一进一出抽搐动态| 乱人伦中国视频| 久久久精品国产亚洲av高清涩受| 99国产极品粉嫩在线观看| 国产成人一区二区三区免费视频网站| 亚洲 国产 在线| 黄色片一级片一级黄色片| 亚洲全国av大片| 18禁黄网站禁片午夜丰满| 亚洲专区中文字幕在线| bbb黄色大片| 午夜精品国产一区二区电影| 日韩制服骚丝袜av| tube8黄色片| 91麻豆av在线| 一区二区日韩欧美中文字幕| 中文字幕最新亚洲高清| 亚洲av美国av| 久久99热这里只频精品6学生| 国产欧美日韩精品亚洲av| 亚洲欧美日韩高清在线视频 | 免费在线观看黄色视频的| 18禁观看日本| 99热网站在线观看| 国产在线观看jvid| 午夜久久久在线观看| 考比视频在线观看| 国产成人av激情在线播放| www.999成人在线观看| 精品国内亚洲2022精品成人 | 亚洲av成人不卡在线观看播放网 | 一区二区日韩欧美中文字幕| 国产高清国产精品国产三级| 一本一本久久a久久精品综合妖精| 人人澡人人妻人| 捣出白浆h1v1| 色播在线永久视频| 天堂中文最新版在线下载| 国产1区2区3区精品| 考比视频在线观看| 亚洲av男天堂| 天天躁狠狠躁夜夜躁狠狠躁| 自拍欧美九色日韩亚洲蝌蚪91| 免费少妇av软件| 欧美一级毛片孕妇| 欧美黑人精品巨大| 亚洲av电影在线观看一区二区三区| 国产91精品成人一区二区三区 | 性色av一级| 制服诱惑二区| 99国产极品粉嫩在线观看| 久久久久视频综合| 日韩欧美一区二区三区在线观看 | 久久精品亚洲av国产电影网| 不卡一级毛片| 亚洲国产av新网站| 国产在线观看jvid| 高清在线国产一区| 十八禁网站网址无遮挡| 精品高清国产在线一区| 51午夜福利影视在线观看| 亚洲一区中文字幕在线| 麻豆av在线久日| 久久久久久免费高清国产稀缺| 满18在线观看网站| 亚洲成人手机| 五月开心婷婷网| 色视频在线一区二区三区| 91麻豆精品激情在线观看国产 | 亚洲五月色婷婷综合| 免费看十八禁软件| 飞空精品影院首页| 最新在线观看一区二区三区| 人妻 亚洲 视频| 久久国产精品人妻蜜桃| 捣出白浆h1v1| 精品久久久精品久久久| 国产福利在线免费观看视频| 欧美成人午夜精品| 一进一出抽搐动态| 国产真人三级小视频在线观看| 国产精品欧美亚洲77777| 亚洲国产精品999| 欧美少妇被猛烈插入视频| 精品亚洲成a人片在线观看| 人人妻人人澡人人看| 亚洲 国产 在线| 成人国产av品久久久| 欧美日本中文国产一区发布| 热re99久久国产66热| 中文字幕人妻丝袜制服| 97精品久久久久久久久久精品| 在线观看免费日韩欧美大片| 久久综合国产亚洲精品| 日韩欧美一区视频在线观看| 2018国产大陆天天弄谢| 女人高潮潮喷娇喘18禁视频| 99久久国产精品久久久| av在线app专区| 大片电影免费在线观看免费| 国产不卡av网站在线观看| 国产99久久九九免费精品| 国产精品av久久久久免费| 美女国产高潮福利片在线看| 国产黄频视频在线观看| 日韩欧美国产一区二区入口| 2018国产大陆天天弄谢| 国产欧美日韩精品亚洲av| 精品国产国语对白av| 亚洲七黄色美女视频| 久久人人爽人人片av| 后天国语完整版免费观看| 极品少妇高潮喷水抽搐| 欧美国产精品一级二级三级| 黄色视频不卡| 中文字幕精品免费在线观看视频| 一级,二级,三级黄色视频| 免费在线观看影片大全网站| 久久久久视频综合| 欧美激情 高清一区二区三区| 久久国产亚洲av麻豆专区| 亚洲av日韩在线播放| 日韩中文字幕欧美一区二区| 国产一区二区在线观看av| 久久狼人影院| 黄色a级毛片大全视频| 成在线人永久免费视频| 秋霞在线观看毛片| 日本wwww免费看| 久久国产精品男人的天堂亚洲| 伦理电影免费视频| 90打野战视频偷拍视频| 777久久人妻少妇嫩草av网站| 一区在线观看完整版| 精品人妻一区二区三区麻豆| 法律面前人人平等表现在哪些方面 | e午夜精品久久久久久久| 午夜福利乱码中文字幕| 国产av国产精品国产| 狠狠狠狠99中文字幕| 在线观看www视频免费| 老司机午夜十八禁免费视频| 国产免费av片在线观看野外av| 欧美久久黑人一区二区| 丝袜美腿诱惑在线| 国产视频一区二区在线看| 人人妻人人澡人人看| 日韩 欧美 亚洲 中文字幕| 黑人欧美特级aaaaaa片| 成在线人永久免费视频| 一边摸一边做爽爽视频免费| 亚洲伊人久久精品综合| 另类亚洲欧美激情| 亚洲成人手机| 中国美女看黄片| 99久久人妻综合| 国产亚洲午夜精品一区二区久久| 岛国毛片在线播放| 美女国产高潮福利片在线看| 操出白浆在线播放| 一区福利在线观看| 日日摸夜夜添夜夜添小说| 精品免费久久久久久久清纯 | 精品福利观看| 午夜精品久久久久久毛片777| 国产日韩欧美在线精品| 国产99久久九九免费精品| 男女免费视频国产| 免费在线观看影片大全网站| 亚洲综合色网址| 久久久久精品人妻al黑| 成年人午夜在线观看视频| 麻豆国产av国片精品| 日本91视频免费播放| 国产精品一区二区免费欧美 | 国产亚洲一区二区精品| 桃花免费在线播放| 日本精品一区二区三区蜜桃| 亚洲自偷自拍图片 自拍| tocl精华| 日韩 欧美 亚洲 中文字幕| xxxhd国产人妻xxx| 日本a在线网址| 成人av一区二区三区在线看 | 国产欧美日韩精品亚洲av| 高清欧美精品videossex| 制服诱惑二区| 久久精品熟女亚洲av麻豆精品| 窝窝影院91人妻| 精品福利永久在线观看| 三上悠亚av全集在线观看| 亚洲avbb在线观看| videosex国产| 一级a爱视频在线免费观看| 国产精品秋霞免费鲁丝片| 国产av一区二区精品久久| 亚洲欧美一区二区三区久久| 大香蕉久久成人网| 午夜福利视频在线观看免费| 人人澡人人妻人| 亚洲av日韩在线播放| 天天躁夜夜躁狠狠躁躁| av一本久久久久| 老司机影院毛片| 亚洲欧美激情在线| 爱豆传媒免费全集在线观看| 亚洲精品美女久久av网站| 国产精品久久久久久精品电影小说| 99香蕉大伊视频| 久久亚洲精品不卡| 国产成人av激情在线播放| 色94色欧美一区二区| 中文字幕精品免费在线观看视频| 女人高潮潮喷娇喘18禁视频| √禁漫天堂资源中文www| 精品久久久久久久毛片微露脸 | 亚洲精品中文字幕一二三四区 | 国产精品.久久久| 又紧又爽又黄一区二区| 女人精品久久久久毛片| 一二三四社区在线视频社区8| 老司机在亚洲福利影院| 午夜老司机福利片| 亚洲精品一二三| 久久精品亚洲熟妇少妇任你| 最黄视频免费看| 亚洲国产看品久久| 国产成人精品久久二区二区免费| 免费高清在线观看视频在线观看| 亚洲欧美色中文字幕在线| 日日爽夜夜爽网站| 日韩大码丰满熟妇| 少妇精品久久久久久久| 中文字幕av电影在线播放| 亚洲av国产av综合av卡| 日本91视频免费播放| 中文字幕av电影在线播放| 久久精品成人免费网站| 免费少妇av软件| 精品少妇内射三级| a在线观看视频网站| 欧美97在线视频| 亚洲国产欧美网| 制服诱惑二区| 少妇被粗大的猛进出69影院| 亚洲欧美一区二区三区久久| 欧美日韩视频精品一区| 日韩欧美一区二区三区在线观看 |