999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

視頻壓縮控制系統(tǒng)優(yōu)化

2022-03-14 02:19:20張貞雷鄒曉峰劉同強周玉龍魏紅楊王賢坤展永正
電視技術 2022年2期

李 拓,張貞雷*,鄒曉峰,劉同強,周玉龍,魏紅楊,王賢坤,展永正

(1.高效能服務器和存儲技術重點實驗室,山東 濟南 250101;

2.山東云海國創(chuàng)云計算裝備產(chǎn)業(yè)創(chuàng)新中心有限公司,山東 濟南 250101)

0 引 言

針對視頻流業(yè)務具有連續(xù)性傳輸、數(shù)據(jù)量大、對實時性和可靠性要求高等特點,利用現(xiàn)有的計算機網(wǎng)絡進行視頻傳輸,將有效地降低監(jiān)控系統(tǒng)的成本;同時,網(wǎng)絡還需要用來傳輸大量的其他數(shù)據(jù),并不是只傳輸視頻數(shù)據(jù),因此必須對圖像數(shù)據(jù)進行高效壓縮以降低需要傳輸和存儲的數(shù)據(jù)量[1]。視頻壓縮技術是視頻處理的基礎[2]。傳統(tǒng)視頻壓縮控制方案是將采集到的RGB原始圖像[3],經(jīng)過色彩空間轉換為YUV格式之后存儲到雙倍速率同步動態(tài)隨機存儲器(Double Data Rate SDRAM,DDR),視頻壓縮IP核(Intellectual Property core,IP core)讀取YUV數(shù)據(jù),完成壓縮之后再存儲到DDR,供上層網(wǎng)絡驅動讀取。IP核是指用于專用集成電路(Application Specific Integrated Circuit,ASIC)或者可編輯邏輯器件(Field Programmable Gate Array,F(xiàn)PGA)的邏輯塊或數(shù)據(jù)塊。將這些在數(shù)字電路中常用但比較復雜的功能塊設計成可修改參數(shù)的模塊,可以讓有需求的用戶直接調用這些模塊。本文用到的視頻壓縮IP 核,指的是支持H.264[4]/JPEG[5]等各種壓縮格式的IP核。視頻壓縮流程包括幀內預測/幀間預測、DCT變換、量化及熵編碼等步驟。

傳統(tǒng)的視頻壓縮方案存在頻繁的數(shù)據(jù)讀寫占用大量系統(tǒng)總線帶寬[6]等弊端,因此,本文對傳統(tǒng)視頻壓縮控制系統(tǒng)進行優(yōu)化,設計了數(shù)據(jù)預處理模塊,減少了色彩空間轉換的數(shù)據(jù)量,降低了功耗;設計了BLOCK轉換模塊,極大地減少了視頻壓縮IP核對外部DDR的訪問,降低了系統(tǒng)帶寬;同時設計了動態(tài)+靜態(tài)的組合丟幀機制,具有很強的靈活性,增強了對不同DDR容量的適配性,在不影響遠端顯示的需求下,進一步降低壓縮視頻的數(shù)據(jù)量,提高整體性能。

1 視頻壓縮控制系統(tǒng)硬件設計

本文設計的視頻壓縮控制系統(tǒng),其硬件架構如圖1所示。

圖1 視頻壓縮控制系統(tǒng)硬件框圖

本文的視頻壓縮控制系統(tǒng)主要由5個子模塊組成,分別是FRAME_DROP(丟幀模塊)、DATA_PRE_PRC(數(shù)據(jù)預處理模塊)、BLK_CONV(BLOCK轉換模塊)、SPACE_CAL(空間計算模塊)以及CMP IP(視頻壓縮IP核,可支持H.264、JPEG等格式)。

工作流程簡述如下:原始VGA信號(RGB格式)首先經(jīng)過FRAME_DROP(丟幀模塊)接收軟件的配置和SPACE_CAL(空間計算模塊)子模塊的計算結果,對當前視頻進行丟幀操作;其次進行數(shù)據(jù)預處理,根據(jù)當前壓縮格式,對需要丟棄的UV數(shù)據(jù)不進行色彩空間轉換和分辨率調整,對需保留的數(shù)據(jù)從RGB格式轉換為YUV格式;再次,將YUV格式的數(shù)據(jù)輸入至BLOCK_CONV,進行BLOCK轉換,以BLOCK宏塊的形式輸入到視頻壓縮IP核,進行數(shù)據(jù)壓縮;最后將壓縮完成的數(shù)據(jù)寫入至DDR指定的空間,上層軟件通過網(wǎng)絡將壓縮后的視頻信號傳輸?shù)竭h端[7],在遠端解碼顯示。

1.1 丟幀子模塊

丟幀子模塊的功能是在不影響遠端顯示控制的基礎上,綜合考慮本地DDR空間及網(wǎng)絡帶寬、系統(tǒng)性能等因素,對原始的視頻數(shù)據(jù)進行丟幀處理。減少一部分視頻幀,并不會影響遠程顯示的正常功能,因為遠程主要是監(jiān)控操作,并不需要非常高清晰的顯示,因此可以進行丟幀處理。

丟幀可以減少視頻壓縮數(shù)據(jù)量,也就減少了存放壓縮數(shù)據(jù)所需要的DDR空間,同時視頻壓縮控制系統(tǒng)與DDR的數(shù)據(jù)交互相應減少,間接提高了系統(tǒng)性能。同時,丟幀子模塊的動態(tài)功耗將隨之降低,也就降低了整體系統(tǒng)的功耗。

丟幀子模塊采用的是靜態(tài)丟幀+動態(tài)丟幀的組合丟幀策略。靜態(tài)丟幀是指丟幀子模塊接收軟件配置的丟幀率進行丟幀;動態(tài)丟幀是指模塊接收SPACE_CAL的輸出結果進行丟幀,這個結果是根據(jù)DDR中系統(tǒng)劃分的存放完成壓縮之后的視頻數(shù)據(jù)CMP_Data(compress data)空間的剩余空間大小計算得出的動態(tài)丟幀率,這樣可以保證CMP_data空間不至于因為太滿而造成數(shù)據(jù)溢出,進而導致遠程顯示的視頻數(shù)據(jù)錯亂,引起界面偏移或者花屏現(xiàn)象。丟幀子模塊架構如圖2所示,具體處理流程 如下。

圖2 丟幀子模塊架構

CFG是丟幀子模塊的內部寄存器,接收軟件下發(fā)的配置,該配置信息為靜態(tài)丟幀率Static_Drop_Rate,如軟件可配置靜態(tài)丟幀率的值為1/2。值得注意的是,這個靜態(tài)丟幀不是絕對的靜態(tài),也就是說,上層軟件可以根據(jù)系統(tǒng)整體運行情況實時更新配置。Dynamic_Drop_Rate是后級SPACE_CUL的輸出結果,指的是動態(tài)丟幀率,如SPACE_CUL的計算結果可能為1/3。值得注意的是,這個動態(tài)丟幀率是在靜態(tài)丟幀率的基礎上實時更新的。Drop_Process子模塊接收RGB格式的視頻源數(shù)據(jù)(RGB_Data)和分辨率信息(Resolution),然后根據(jù)Static_Drop_Rate和Dynamic_Drop_Rate的值進行實時丟幀,其組合丟幀率為1-(1-Static_Drop_Rate)× (1-Dynamic_Drop_Rate)。

系統(tǒng)利用分辨率信息得到當前幀的總數(shù)據(jù)量,以幀為單位對輸入視頻數(shù)據(jù)進行分割,然后進行丟幀操作。丟幀的原則是盡量均勻,以保證保留的視頻幀盡可能地保留原始視頻信息。系統(tǒng)將未丟棄的幀數(shù)據(jù)(RGB_Data_Rsv)傳遞至后級Data_Pre_PRC數(shù)據(jù)預處理模塊,根據(jù)轉換矩陣進行色彩空間轉換[8],將數(shù)據(jù)從RGB格式轉換為YUV格式,然后傳輸給后級模塊處理。

1.2 數(shù)據(jù)預處理模塊

數(shù)據(jù)預處理模塊首先根據(jù)當前軟件配置的壓縮格式(常見的有YUV444/YUV422/YUV420),提前預判出不需要進行色彩空間轉換的UV數(shù)據(jù)。傳統(tǒng)方案需要針對每一個像素點的RGB信息,根據(jù)矩陣轉換公式轉換成YUV格式,然后再根據(jù)壓縮格式的不同,對部分UV數(shù)據(jù)進行丟棄。本文對傳統(tǒng)方案進行創(chuàng)新修改,根據(jù)軟件配置的壓縮格式,對當前壓縮格式下要被丟棄的UV數(shù)據(jù)直接不進行格式轉換,即不生成要被丟棄的UV數(shù)據(jù)。本方案與傳統(tǒng)方案相比,在YUV420格式下將節(jié)省50%的乘法和加法操作,YUV422格式下將節(jié)省25%的乘法和加法操作,極大地降低了該子模塊的功耗。數(shù)據(jù)預處理模塊邏輯架構如圖3所示。

圖3 數(shù)據(jù)預處理模塊框圖

該子模塊的CFG模塊接收軟件的配置,配置的內容是當前壓縮格式(YUV444/YUV422/YUV420等)。L_R_DET(Line_Row_Detection)是行列號檢測模塊,能夠根據(jù)當前分辨率判斷出當前像素點的行/列號信息。RSL_ADJ是分辨率調整模塊(注:本文以JPEG壓縮格式為例,H.264或其他格式則采取相應操作),功能是將非8整除的分辨率調整為可以被8整除(YUV444/YUV422格式時調整為8的整數(shù)倍,而YUV420格式時則需調整為16的整數(shù)倍,原因見1.3節(jié)分析)。Data_Drop模塊則根據(jù)軟件配置的壓縮格式以及分辨率調整之后的信息(RSL_ADJ模塊的輸出結果),對RGB2YUV色彩空間轉換模塊進行控制:根據(jù)RSL_ADJ模塊的計算結果,對需要舍棄的行/列的像素點,直接不進行RGB2YUV格式的轉換;對不需要舍棄的行/列像素點,根據(jù)壓縮格式的配置的不同進行不同的處理。

(1)對于YUV444格式,根據(jù)RGB數(shù)據(jù),計算得到每一個像素點的YUV數(shù)值。

(2)對于YUV422格式,計算每一個像素點的Y值,同時只計算偶數(shù)列的U值和V值,或者是奇數(shù)列的U值和V值,只要保證兩個Y值能對應一組相鄰的U/V值即可。

(3)對于YUV420格式,計算每一個像素點的Y值,同時只計算偶數(shù)行的偶數(shù)列的U值和V值,也可以是偶數(shù)行的奇數(shù)列、奇數(shù)行的偶數(shù)列、奇數(shù)行的奇數(shù)列,需保證4個Y數(shù)據(jù)共用一組相鄰的U/V 數(shù)據(jù)。

RGB2YUV模塊根據(jù)色彩空間矩陣轉換公式[9]和Data_Drop的控制信息,計算得到YUV數(shù)據(jù)。

1.3 BLOCK轉換模塊

傳統(tǒng)方案中,DDR用來暫時存儲采集到的還來不及處理的圖像信息,這個過程叫幀緩存。之后系統(tǒng)再把DDR中的圖像信息傳送到處理模塊中進行處理。視頻壓縮IP核內部集成ADDR_GEN,即地址產(chǎn)生模塊,根據(jù)YUV壓縮格式,按照BLOCK宏塊的順序去讀YUV數(shù)據(jù)的地址。而這些Y/U/V數(shù)據(jù)需提前準備好,在DDR中分別存放,然后將Y/U/V 的首地址,配置給視頻壓縮IP核。傳統(tǒng)方案中視頻壓縮IP核與DDR的交互過程如圖4所示。

圖4 傳統(tǒng)方案中視頻壓縮IP核與DDR的交互示意圖

傳統(tǒng)方案中,前級模塊Pre_Module通過系統(tǒng)總線將Y/U/V數(shù)據(jù)分別存儲在DDR的不同地址[10],同時軟件將Y/U/V數(shù)據(jù)的首地址配置給CMP IP。CMP IP內部的地址產(chǎn)生模塊通過系統(tǒng)總線,按照BLOCK宏塊的順序分別去讀Y_Data,U_Data,V_Data。CMP IP壓縮完成的數(shù)據(jù)通過系統(tǒng)總線寫入到DDR指定的空間。

由此可見,傳統(tǒng)方案會大量占用系統(tǒng)總線,需要先將源視頻源寫進DDR,然后再從DDR中讀出,而未壓縮的視頻數(shù)據(jù)量巨大,頻繁的數(shù)據(jù)讀寫占用了大量的系統(tǒng)總線帶寬[6],這將給系統(tǒng)總線帶寬帶來巨大壓力,降低整體系統(tǒng)性能。

為此,本文對傳統(tǒng)方案進行改進優(yōu)化,主要思路是,不關心CMP IP發(fā)出的讀Y/U/V的地址(這個地址順序就是BLOCK輸入的順序),而是設計BLOCK轉換模塊,按照圖5的順序,直接將Y/U/V數(shù)據(jù)傳遞給CMP IP,這樣就避免了源視頻數(shù)據(jù)先寫入DDR再從DDR中讀出的弊端,極大降低了系統(tǒng)總線的帶寬壓力[11],而且節(jié)省了傳統(tǒng)方案中用于存儲視頻源Y/U/V數(shù)據(jù)的DDR空間,進一步提高了系統(tǒng)整體性能。CMP IP支持YUV444/YUV422/YUV420格式的壓縮。

圖5中的一個方框是8×8個像素點[12],也就是本文的BLOCK宏塊。BLOCK轉換模塊的邏輯結構如圖6所示。

圖5 BLOCK轉換模塊輸入到CMP IP的順序格式

圖6 BLOCK轉換模塊框圖

BLOCK轉換模塊接收前級模塊調整后的分辨率信息和YUV數(shù)據(jù),L_R_DET(行列號檢測子模塊)計算得到當前輸入的YUV數(shù)據(jù)的行/列號,CFG子模塊接收軟件的配置,配置的內容是壓 縮 格 式(YUV444/YUV422/YUV420)。BLOCK轉換模塊按照軟件配置的壓縮格式(YUV444/YUV422/YUV420)將按行輸入的幀數(shù)據(jù)存到FIFO陣列,然后根據(jù)壓縮格式,按照圖5的BLOCK順序讀取FIFO陣列。FIFO陣列包括16個Y_FIFO(用于存取Y數(shù)據(jù),分別記作Y_FIFO_0,…,Y_FIFO_15),16個U_FIFO(用于存取U數(shù)據(jù),分別記作U_FIFO_0,…,U_FIFO_15)以及16個V_FIFO(用于存取V數(shù)據(jù),分別記作V_FIFO_0,…,V_FIFO_15)。

FIFO_WR_CTRL(FIFO陣列寫控制)按照YUV444/YUV422/YUV420壓縮格式,將輸入的YUV數(shù)據(jù)寫到FIFO陣列。前級的數(shù)據(jù)預處理模塊已經(jīng)根據(jù)壓縮格式進行了數(shù)據(jù)預處理,本子模塊的處理流程如下。

YUV444壓縮中Y數(shù)據(jù)的寫順序為:將第0/8/16/24…行的Y數(shù)據(jù)寫進Y_FIFO_0,將第1/9/17/25…行的Y數(shù)據(jù)寫進Y_FIFO_1,……,將第7/15/23/31…行的Y數(shù)據(jù)寫進Y_FIFO_7。

YUV444壓縮中U數(shù)據(jù)的寫順序為:將第0/8/16/24…行的U數(shù)據(jù)寫進U_FIFO_0,將第1/9/17/25…行的U數(shù)據(jù)寫進U_FIFO_1,……,將第7/15/23/31…行的U數(shù)據(jù)寫進U_FIFO_7。

YUV444壓縮中V數(shù)據(jù)的寫順序為:將第0/8/16/24…行的V數(shù)據(jù)寫進V_FIFO_0,將第1/9/17/25…行的V數(shù)據(jù)寫進V_FIFO_1,……,將第7/15/23/31…行的V數(shù)據(jù)寫進V_FIFO_7。

YUV422壓縮格式中Y數(shù)據(jù)的寫入順序為:將第0/16/32…行的Y數(shù)據(jù)寫進Y_FIFO_0,將第1/17/33…行的Y數(shù)據(jù)寫進Y_FIFO_1,……,將第15/31/47…行的Y數(shù)據(jù)寫進Y_FIFO_15。

YUV422壓縮格式中U數(shù)據(jù)的寫入順序為:將第0/16/32…行保留的U數(shù)據(jù)寫進U_FIFO_0,將第1/17/33…行保留的U數(shù)據(jù)寫進U_FIFO_1,……,將第15/31/47…行保留的U數(shù)據(jù)寫進U_FIFO_15。

YUV422壓縮格式中V數(shù)據(jù)的寫入順序為:將第0/16/32…行保留的V數(shù)據(jù)寫進V_FIFO_0,將第1/17/33…行保留的V數(shù)據(jù)寫進V_FIFO_1,……,將第15/31/47…行保留的V數(shù)據(jù)寫進V_FIFO_15。。

YUV420壓縮格式中Y數(shù)據(jù)的寫入順序為:將第0/16/32…行的Y數(shù)據(jù)寫進Y_FIFO_0,將第1/17/33…行的Y數(shù)據(jù)寫進Y_FIFO_1,……,將第15/31/47…行的Y數(shù)據(jù)寫進Y_FIFO_15。

YUV420壓縮格式中U數(shù)據(jù)的寫入順序為:將第0/16/32…行保留的U數(shù)據(jù)寫進U_FIFO_0,將第2/18/34…行保留的U數(shù)據(jù)寫進U_FIFO_1,……,將第14/30/46…行保留的U數(shù)據(jù)寫進U_FIFO_7。

YUV420壓縮格式中V數(shù)據(jù)的寫入順序為:將第0/16/32…行保留的V數(shù)據(jù)寫進V_FIFO_0,將第2/18/34…行保留的V數(shù)據(jù)寫進V_FIFO_1,……,將第14/30/46…行保留的V數(shù)據(jù)寫進V_FIFO_7。

FIFO_RD_CTRL(FIFO讀控制)按照壓縮格式的配置,參照圖5的格式去讀FIFO陣列,將讀出的數(shù)據(jù)輸入到CMP IP。

YUV444壓縮格式中,參照圖5的順序,依次讀8次Y_FIFO_0,Y_FIFO_1,…,Y_FIFO_7,依次讀8次U_FIFO_0,U_FIFO_1,…,U_FIFO_7,依次讀8次V_FIFO_0,V_FIFO_1,…,V_FIFO_7,然后再去讀Y_FIFO,依次循環(huán)。

YUV422壓縮格式中,按照圖5的順序,依次讀8次Y_FIFO_0,Y_FIFO_1,…,Y_FIFO_7,依次讀8次Y_FIFO_0,Y_FIFO_1,…,Y_FIFO_7,依次讀8次Y_FIFO_8,Y_FIFO_9,…,Y_FIFO_15,依次讀8次Y_FIFO_8,Y_FIFO_9,…,Y_FIFO_15,依次讀8次U_FIFO_0,U_FIFO_1,…,U_FIFO_15,依 次 讀8次V_FIFO_0,V_FIFO_1,…,V_FIFO_15,然后再去讀Y_FIFO,依次循環(huán)。

YUV420壓縮格式中,按照圖5的順序,依次讀8次Y_FIFO_0,Y_FIFO_1,…,Y_FIFO_7,依次讀8次Y_FIFO_0,Y_FIFO_1,…,Y_FIFO_7,依次讀8次Y_FIFO_8,Y_FIFO_9,…,Y_FIFO_15,依次讀8次Y_FIFO_8,Y_FIFO_9,…,Y_FIFO_15,依次 讀8次U_FIFO_0,U_FIFO_1,…,U_FIFO_7,依次讀8次V_FIFO_0,V_FIFO_1,…,V_FIFO_7,然后再去讀Y_FIFO,依次循環(huán)。

圖5 主要國家和地區(qū)專利布局的技術領域分布

1.4 空間計算子模塊

空間計算子模塊的功能是計算系統(tǒng)在DDR中預留的用于存儲壓縮視頻數(shù)據(jù)的內存空間剩余量,并計算得出動態(tài)丟幀率,將動態(tài)丟幀率傳輸給FRAME_DROP(丟幀子模塊)。具體過程為:根據(jù)DDR中CMP_Data段的總線讀寫地址(DDR_WR_ADDR,DDR_RD_ADDR),計算得出剩余內存空間,同時結合當前幀壓縮之后的幀大?。ǜ鶕?jù)幀頭幀尾信息FRAME_SIZE),預測出剩余空間還能存儲多少壓縮幀(壓縮幀余量)。根據(jù)事先配置的丟幀率與壓縮幀余量的對應索引表,得出動態(tài)丟幀率??臻g計算子模塊的架構如圖7所示。

圖7 空間計算子模塊架構

舉例描述對應索引表(INDEX):當剩余空間可以存儲大于10壓縮幀,動態(tài)丟幀率為0;當剩余空間可以存儲大于6壓縮幀小于10壓縮幀,動態(tài)丟幀率為1/3;當剩余空間可以存儲大于2壓縮幀小于6壓縮幀,動態(tài)丟幀率為4/5;當剩余空間存儲小于1壓縮幀,動態(tài)丟幀率為1。對于上述數(shù)值,用戶可以根據(jù)應用需求靈活配置。

2 設計驗證

2.1 系統(tǒng)仿真驗證

搭建仿真驗證平臺,將多幀JPG格式的原始圖像轉換成RGB格式的16進制數(shù)據(jù),保存文本(source_data.txt),在驗證平臺的TOP層讀取原始數(shù)據(jù)文本(source_data.txt)后,輸入到本設計。然后將本設計輸出的壓縮數(shù)據(jù)保存到文本(compress_data.txt),再轉成二進制文件,生成JPG格式的壓縮圖片,通過比對壓縮前后的圖像信息,確定本文設計方案的正確性。

仿真測試用例1:輸入10張分辨率為640×480的原始圖像,對比壓縮后的圖像與原始圖像,且遍歷YUV444/YUV422/YUV420壓縮格式。

仿真測試用例2:輸入10張分辨率為1 024× 768的原始圖像,對比壓縮后的圖像與原始圖像,且遍歷YUV444/YUV422/YUV420壓縮格式。

仿真測試用例3:輸入10張分辨率為1 920× 1 200的原始圖像,對比壓縮后的圖像與原始圖像,且遍歷YUV444/YUV422/YUV420壓縮格式。

仿真測試用例4:輸入3張分辨率為640×480的原始圖像,3張分辨率為1 024×768的原始圖像,4張分辨率為1 920×1 200的原始圖像,對比壓縮后的圖像與原始圖像,且遍歷YUV444/YUV422/YUV420壓縮格式。

上述仿真用例全部測試通過。仿真波形如圖8所示。

圖8 本設計仿真波形截圖

2.2 板級驗證平臺

基于服務器+Xilinx的Virtex UltraScale VU440 FPGA搭建硬件板級驗證平臺。現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)因其并行的處理方式,在圖像處理方面具有低延時、高靈活的特點,能夠滿足圖像數(shù)據(jù)采集與處理系統(tǒng)對實時性的要求[13]。將本設計的邏輯代碼經(jīng)過綜合之后下載到VU440 FPGA開發(fā)平臺,服務器主機端的系統(tǒng)畫面經(jīng)過PCIe接口輸入到VU440 FPGA,經(jīng)過本設計的功能處理后,實現(xiàn)對服務器主機端畫面的視頻壓縮,并將壓縮視頻數(shù)據(jù)通過Web界面進行遠程實時顯示。顯示結果如圖9所示。

圖9 服務器主機畫面壓縮后的遠程顯示

3 結 語

本文針對傳統(tǒng)視頻壓縮方案需大量占用系統(tǒng)總線的弊端進行優(yōu)化,設計BLOCK轉換模塊,避免了傳統(tǒng)方案中將原始視頻數(shù)據(jù)先寫入DDR,再從DDR讀出的弊端,并且設計了數(shù)據(jù)預處理模塊,進一步減少了視頻處理的數(shù)據(jù)量,同時設計了靈活的丟幀機制,以適應不同DDR容量,在不影響遠端顯示的需求下,進一步降低壓縮視頻的數(shù)據(jù)量,提升了系統(tǒng)整體性能。

主站蜘蛛池模板: 亚洲二区视频| 国产欧美在线观看一区| 久久99久久无码毛片一区二区 | 欧美国产中文| 欧美国产在线看| 女人av社区男人的天堂| 美女被操黄色视频网站| 国产在线一二三区| 国产h视频免费观看| 99热国产这里只有精品无卡顿"| 97色婷婷成人综合在线观看| 精品视频福利| 99在线免费播放| 99视频在线看| 一区二区三区毛片无码| 久久永久视频| AV不卡在线永久免费观看| 国产一区二区免费播放| 亚洲免费福利视频| 偷拍久久网| 老司机午夜精品视频你懂的| 热久久综合这里只有精品电影| 日本人又色又爽的视频| 无码 在线 在线| 亚洲欧州色色免费AV| 国产在线无码一区二区三区| 国产一级毛片在线| 丁香婷婷久久| 91精品国产综合久久香蕉922 | 日本三级精品| 国产最爽的乱婬视频国语对白| 亚洲国产天堂久久综合| 成年人国产视频| 午夜精品久久久久久久99热下载| 亚洲性日韩精品一区二区| 日韩激情成人| 欧美97色| 成色7777精品在线| AV在线天堂进入| 欧美一级一级做性视频| 国产一区亚洲一区| 免费一级毛片在线播放傲雪网| 伊人久久大线影院首页| 四虎在线高清无码| 亚洲色图欧美在线| 99久久精品国产麻豆婷婷| 亚洲AV无码乱码在线观看代蜜桃| www.av男人.com| 国产美女在线观看| 最新国产精品第1页| 四虎AV麻豆| 国产成人资源| 色天堂无毒不卡| 日韩色图区| 日日碰狠狠添天天爽| 色婷婷色丁香| 91精品啪在线观看国产| 欧美高清国产| 欧美一区中文字幕| 熟妇人妻无乱码中文字幕真矢织江 | 欧美国产日韩另类| 中文字幕免费播放| 国模在线视频一区二区三区| 国产精品免费p区| 国产欧美精品午夜在线播放| 成人亚洲视频| 精品丝袜美腿国产一区| a级免费视频| 成人亚洲天堂| 日韩欧美成人高清在线观看| 亚洲色图欧美视频| 国产成人在线无码免费视频| 露脸一二三区国语对白| 国产系列在线| 99尹人香蕉国产免费天天拍| 亚洲中文无码h在线观看 | 在线国产毛片| 国产 日韩 欧美 第二页| 欧美一区日韩一区中文字幕页| 国产精品永久免费嫩草研究院| 亚洲成人精品在线| 国产在线精品99一区不卡|