亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Unity3D中的Kinect聲源定位與人機(jī)交互技術(shù)

        2017-02-22 06:28:55王洪源陳慕羿

        楊 竹,王洪源,陳慕羿

        Unity3D中的Kinect聲源定位與人機(jī)交互技術(shù)

        楊 竹,王洪源,陳慕羿

        (沈陽(yáng)理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽(yáng) 110159)

        Kinect是與Xbox360游戲機(jī)配套使用的一款外設(shè),內(nèi)置四元線性非對(duì)稱(chēng)麥克風(fēng)陣列,可以根據(jù)各麥克風(fēng)接收到聲音信號(hào)的時(shí)延差,計(jì)算出聲源方位與角度。Unity3D是一個(gè)可以創(chuàng)建三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫(huà)等類(lèi)型互動(dòng)內(nèi)容的綜合型游戲引擎,其本身缺少高級(jí)人機(jī)聲音交互功能。為此,研究開(kāi)發(fā)了基于Kinect的Unity3D人機(jī)聲音交互接口。采用C++/C#混合編程技術(shù),將Kinect API for Windows中關(guān)于聲音的相關(guān)功能封裝為非托管的C++動(dòng)態(tài)鏈接庫(kù)(DLL),利用該DLL把Unity3D引擎、Kinect體感設(shè)備和Visual Studio平臺(tái)銜接起來(lái);在Unity3D平臺(tái)上對(duì)由Kinect獲取到的聲源位置進(jìn)行識(shí)別定位,得到的實(shí)時(shí)數(shù)據(jù)可用于高級(jí)人機(jī)交互應(yīng)用。

        Unity3D;Kinect;聲源定位;線性麥克風(fēng)陣列;人機(jī)交互技術(shù)

        作為微軟公司的總裁,比爾蓋茨于2008年首次給出了“自然用戶界面(Natural User Interface)”的概念,并且對(duì)人機(jī)交互技術(shù)的未來(lái)進(jìn)行了預(yù)言:在用戶界面上,更為自然的觸摸、語(yǔ)音、肢體語(yǔ)言等交互形式將逐步淘汰以鍵盤(pán)、鼠標(biāo)為主的輸入手段[1]。而就在同一時(shí)段,有人又提出了“有機(jī)用戶界面(Organic User Interface)”的創(chuàng)新理念,界面擁有最新的生物識(shí)別、皮膚顯示傳感器,甚至植入了大腦與機(jī)器的無(wú)縫連接,這些技術(shù)都將大幅改變?nèi)藗兊幕?dòng)理念和生活方式。隨著互聯(lián)網(wǎng)技術(shù)和傳感器技術(shù)的普遍應(yīng)用,“數(shù)據(jù)化”的特性將逐漸在現(xiàn)實(shí)生活中顯現(xiàn),而人機(jī)自然交互技術(shù)為人們搭建了現(xiàn)實(shí)世界與虛擬環(huán)境的橋梁[1]。

        Unity3D是由Unity Technologies開(kāi)發(fā)的一款創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫(huà)等類(lèi)型互動(dòng)內(nèi)容的多平臺(tái)、綜合型游戲開(kāi)發(fā)工具,是一個(gè)全面整合的專(zhuān)業(yè)游戲引擎,其人機(jī)交互一般是通過(guò)鼠標(biāo)、鍵盤(pán)實(shí)現(xiàn),引擎本身不具備聲音識(shí)別、定位、控制等高級(jí)人機(jī)交互功能。

        Kinect 是微軟公司基于 XBOX 360 和 Wind-ows PC 機(jī)的視頻游戲控制臺(tái)開(kāi)發(fā)的一款運(yùn)動(dòng)傳感輸入設(shè)備,是目前世界上唯一一款較為成熟的商業(yè)人體動(dòng)作感知設(shè)備,目前大量應(yīng)用在體感游戲上。由于微軟對(duì)Kinect 的開(kāi)發(fā)環(huán)境設(shè)置是開(kāi)源的,因此開(kāi)發(fā)者可以開(kāi)發(fā)基于Kinect 的各種應(yīng)用。正是它的人機(jī)交互式方式以及開(kāi)放式的開(kāi)發(fā)環(huán)境,使得 Kinect 很快在全球得到廣泛應(yīng)用。如今在醫(yī)療、教育、軍事和三維人體建模等領(lǐng)域都得到了許多富有創(chuàng)意的新運(yùn)用[2]。Kinect內(nèi)置四元線性非對(duì)稱(chēng)麥克風(fēng)陣列,傳感器內(nèi)含數(shù)字信號(hào)處理器(DSP),能收集所在環(huán)境中的各種聲音信息,算法分析搜集到的信息后判斷聲音的來(lái)源方位,根據(jù)各麥克風(fēng)接收到聲音信號(hào)的時(shí)延差,計(jì)算出聲源方位與角度,提供給應(yīng)用程序使用。定位精度高,空間算法簡(jiǎn)便,在聲源定位中得到越來(lái)越多的應(yīng)用[3]。

        目前大多數(shù)的工作關(guān)注于其交互技術(shù)本身的研究,而缺乏對(duì)人類(lèi)自身聽(tīng)覺(jué)特點(diǎn)的利用和如何利用聲音來(lái)表征信息的挖掘。隨著人們需求的不斷改變以及Kinect技術(shù)的不斷完善,Kinect在各個(gè)領(lǐng)域的應(yīng)用都會(huì)向前邁出一大步,并且在人機(jī)交互領(lǐng)域?qū)?huì)得到更為廣泛的應(yīng)用[4]。選題旨在擴(kuò)展Kinect體感設(shè)備的應(yīng)用領(lǐng)域,充分利用Unity3D繪制引擎的特性,創(chuàng)建人機(jī)交互領(lǐng)域的大范圍應(yīng)用契機(jī)。在自然人機(jī)交互需求不斷提升的今天,體感技術(shù)已經(jīng)是各領(lǐng)域科研小組所研究的熱點(diǎn),將這種技術(shù)結(jié)合其它開(kāi)發(fā)平臺(tái)的應(yīng)用正在步入日常生活,未來(lái)也可以進(jìn)入教育、軍事、醫(yī)學(xué)等相關(guān)領(lǐng)域。

        基于Kinect的Unity3D聲音人機(jī)交互技術(shù)的開(kāi)發(fā)是以一種“面向過(guò)程”的方式進(jìn)行,使用“非托管的C++動(dòng)態(tài)鏈接庫(kù)”封裝方式,當(dāng)Unity3D開(kāi)發(fā)需要調(diào)用DLL時(shí),只要用C#腳本編程聲明并調(diào)用需要的接口函數(shù),就能實(shí)現(xiàn)Kinect和Unity3D之間傳遞數(shù)據(jù)的功能。

        1 Kinect音頻系統(tǒng)與DMO技術(shù)

        麥克風(fēng)陣列聲源定位與跟蹤指的是利用麥克風(fēng)陣列完成對(duì)聲音信號(hào)的采集,通過(guò)處理和分析捕獲的多聲道聲音信號(hào),在空間中定位出一個(gè)或者多個(gè)聲源的平面坐標(biāo)或空間坐標(biāo),由此得到聲源所在位置,進(jìn)而實(shí)現(xiàn)對(duì)聲源目標(biāo)的跟蹤。由于麥克風(fēng)陣列由一組按一定幾何結(jié)構(gòu)擺放的麥克風(fēng)組成,因此能夠同時(shí)處理來(lái)自空間不同方向的聲音信號(hào),從而大大提高了聲源定位的準(zhǔn)確度。在現(xiàn)階段,基于麥克風(fēng)陣列的聲源定位與跟蹤系統(tǒng)依然是眾多聲源定位方法中發(fā)展較成熟、應(yīng)用較廣泛的一種[5]。圖1為均勻直線麥克風(fēng)陣列模型。

        圖1 均勻直線麥克風(fēng)模型

        1.1 Kinect音頻系統(tǒng)概況

        Kinect 是一個(gè)底端有四個(gè)麥克風(fēng)組成的直線型麥克風(fēng)陣列的傳感器,該陣列可用來(lái)為更上層API提供關(guān)于透過(guò)音波形式辨識(shí)聲音來(lái)源、回音消除、自動(dòng)增益等功能,并且能與Windows 語(yǔ)音識(shí)別 API 整合,更能進(jìn)行聲源定位和環(huán)境噪聲抑制。如圖 2 所示,它的四個(gè)麥克風(fēng)非均勻排列在 Kinect 的兩側(cè),通道 1 的麥克風(fēng)在左側(cè),距離中心 11.3cm,另外三個(gè)麥克風(fēng)在右側(cè),距離中心分別為 3.6cm、7.6cm 和 11.3cm。四個(gè)麥克風(fēng)離原點(diǎn)的高度均為 2cm[5]。

        圖2 Kinect的麥克風(fēng)陣列

        Kinect的聲音采樣(sampling)頻率為16000(16kHz,每秒采樣16000次),采樣位數(shù)為16位(2B,也就是把采樣聲音區(qū)分成65536種等級(jí))。由于四個(gè)麥克風(fēng)位置不同,故對(duì)某發(fā)音源所接收到的音量強(qiáng)弱,Kinect可分析出僅限水平方向的聲音來(lái)源。本系統(tǒng)主要利用Kinect具有的麥克風(fēng)輸入和語(yǔ)音辨識(shí)功能,通過(guò)其四元麥克風(fēng)陣列來(lái)捕捉多聲道立體聲,再通過(guò)數(shù)字信號(hào)處理(DSP)等組件,根據(jù)收到的聲音時(shí)延判斷聲源所在方向。

        1.2 DMO技術(shù)

        DirectX是Microsoft公司為游戲和其他高性能多媒體應(yīng)用所提供的一套底層圖形應(yīng)用編程接口(API)。這些接口包括對(duì)二維和三維圖形,聲效和音樂(lè),輸入設(shè)備以及多玩家網(wǎng)絡(luò)游戲等的支持。安裝了它,系統(tǒng)中軟件會(huì)比較直接的利用硬件加速資源[6]。DirectX Media Objects(DMO):是微軟提供的一種流數(shù)據(jù)處理COM組件。它是從DirectSh-ow中分離出來(lái)的,作為另一種高效率的流數(shù)據(jù)處理解決方案。它提供包括對(duì)視頻和音頻等數(shù)據(jù)流對(duì)象的讀寫(xiě)支持,以及編解碼實(shí)現(xiàn)。

        DirectX的功能都是以COM組件的形式提供的,而DirectShow是一套完全基于COM的應(yīng)用系統(tǒng)。COM組件是建立在二進(jìn)制規(guī)范上的對(duì)象,它常常被作為動(dòng)態(tài)鏈接庫(kù)(DLL)。

        2 KinectCommonBridge相關(guān)介紹及DLL相關(guān)技術(shù)與調(diào)試方法

        2.1 KinectCommonBridge簡(jiǎn)介

        KinectCommonBridge是Kinect for Windows SDK的一個(gè)補(bǔ)充,它在創(chuàng)意開(kāi)發(fā)庫(kù)和工具包方面易于集成Kinect方案。在與openFrameworks和Cinder類(lèi)成員工作時(shí),很明顯,它們需要類(lèi)似于托管API但是基于C++的東西。它們所使用的圖形庫(kù)完全是用本機(jī)C++寫(xiě)的。至于功能,它們想要這種輕量級(jí)的一些東西來(lái)盡可能輕量地繼續(xù)擴(kuò)展它們的庫(kù)。如果用戶不熟悉這些庫(kù)或任何類(lèi)型的游戲開(kāi)發(fā)模型,它們并沒(méi)有一種典型的應(yīng)用設(shè)計(jì)模式。它們需要盡量快速地運(yùn)行模擬、更新對(duì)象的位置,然后要么盡量的快要么鎖定與刷新顯示同步地呈現(xiàn)在屏幕上。它可以以典型的每秒60幀速度運(yùn)行,和CPU/GPU處理速度一樣高。

        KinectCommonBridge的目的是:允許任何能夠加載DLL的任何框架直接訪問(wèn)數(shù)據(jù)。Kinect-CommonBridge還有支持傳感器的額外的更高級(jí)功能,如人臉跟蹤和語(yǔ)音識(shí)別。若要使用語(yǔ)音識(shí)別,用戶需要在工程的C++預(yù)處理器屬性中添加如下預(yù)處理器定義:

        KCB_ENABLE_SPEECH;

        當(dāng)用Kinect for Windows SDK和Kinect設(shè)備工作時(shí)的常見(jiàn)任務(wù)是:

        (1)選擇一個(gè)傳感器;

        (2)從中獲取顏色/紅外、深度和骨骼數(shù)據(jù)[7]。

        2.2 動(dòng)態(tài)鏈接庫(kù)(DLL)的創(chuàng)建及函數(shù)導(dǎo)出

        DLL是一個(gè)包含可由多個(gè)程序同時(shí)使用的代碼和數(shù)據(jù)庫(kù),它不能直接運(yùn)行,也不能接收消息,但可以被其他執(zhí)行文件和其他DLL文件動(dòng)態(tài)調(diào)用。通過(guò)使用DLL,程序可以實(shí)現(xiàn)模塊化,使其成為相對(duì)獨(dú)立的組件模塊。此外,改寫(xiě)DLL以更新應(yīng)用并不會(huì)影響該程序的其他部分。

        應(yīng)用程序在鏈接DLL中的函數(shù)信息之前,需要從DLL文件中導(dǎo)出函數(shù)。導(dǎo)出DLL中的函數(shù)的方法有兩種:一是在定義函數(shù)時(shí)使用導(dǎo)出函數(shù)關(guān)鍵字“_declspec(dllexport)”;二是使用模塊定義文件(.def)。本文使用方法一。

        (1)頭文件(KinectCommonBridgeLib.h)

        DLL中函數(shù)的聲明一般在頭文件中進(jìn)行。其頭文件(KinectCommonBridgeLib.h)的定義及函數(shù)導(dǎo)出如下:

        KinectCommonBridgeLib.h:

        #ifdef _WIN32

        #ifdef DLL_EXPORTS

        #define KINECT_CB __declspec(dllexport)#else

        #define KINECT_CB __declspec(dllimport)#pragma comment(lib,“KinectCommonBridge.

        lib”)

        #endif

        #endif

        (2)函數(shù)的實(shí)現(xiàn)文件(KinectCommonBridge-Lib.cpp)

        在文件的首部添加代碼:#include“KinectCo-mmonBridgeLib.h”。借助#include語(yǔ)句把.h文件與相應(yīng).cpp文件聯(lián)系起來(lái),然后通過(guò)編譯器對(duì)工程文件進(jìn)行編譯、鏈接等過(guò)程,最終在工程的Debug文件夾下生成DLL文件(KinectCommonBridge.dll)。圖3是在Visual Studio平臺(tái)上用C++編譯生成KinectCommonBridge.dll的操作界面。

        圖3 生成KinectCommonBridge.dll的操作界面

        關(guān)鍵字_declspec(dllimport)指出用戶程序需要的函數(shù)在DLL中要導(dǎo)入的信息,而_declspec(dllexport)指出DLL中要導(dǎo)出的信息。

        2.3 動(dòng)態(tài)鏈接庫(kù)(DLL)的引入與調(diào)用

        從MSDN了解到,DllImport是用來(lái)將特性化方法由非托管動(dòng)態(tài)鏈接庫(kù)(DLL)作為靜態(tài)入口點(diǎn)公開(kāi)。使用DllImport將C++類(lèi)通過(guò)DLL引入到C#的方法是:

        (1)創(chuàng)建編譯文件,生成C++類(lèi)的DLL;

        (2)調(diào)用這個(gè)DLL,將其放置到C#工程目錄下;

        (3)向C#工程中添加新類(lèi),在生成的cs文件中添加代碼。

        如圖4中,將C++創(chuàng)建的DLL放置到Unity項(xiàng)目中的工程目錄下。

        圖4 Unity3D項(xiàng)目中Plugins文件夾下的DLL

        例如在Unity項(xiàng)目中的C#腳本中使用DllImport導(dǎo)入KinectCommonBridge函數(shù)。如下:

        [DllImportAttribute(“KinectCommonBridge”,EntryPoint=“SetDebugFunction”,CallingConvention=CallingConvention.StdCall)]public static extern void SetDebugFunction(IntPtr fp);

        之后可以在C++插件中的任何地方調(diào)用這個(gè)函數(shù)。如在KinectCommonBridgeLib.cpp中:

        MyUnityDebug(“Create COM failed.”);

        MyUnityDebug(“The COM library is already initiali-zed on this thread.”)。

        3 Unity3D與Kinect聯(lián)調(diào)及結(jié)果

        本文使用一個(gè)將調(diào)試文本從C++插件重定向到Unity控制臺(tái)的方法。該方法是基于C#中的委托,委托可以被視為在C++中的一個(gè)函數(shù)指針的類(lèi)型,可以從非托管代碼中調(diào)用。在C#中編寫(xiě)函數(shù),它接受一個(gè)字符串作為它的參數(shù),并將其打印到Unity控制臺(tái)窗口,然后將這個(gè)函數(shù)的指針傳遞給C++類(lèi)的DLL,所以,可以通過(guò)它的指針從C++調(diào)用該函數(shù),這會(huì)將字符串從C++重定向到日志窗口。

        首先定義一個(gè)像這樣的委托:

        using System.Runtime.InteropServices;

        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]

        public delegate void MyDelegate(string str);

        這是一個(gè)函數(shù)類(lèi)型的委托,函數(shù)有一個(gè)字符串參數(shù),沒(méi)有返回值。然后編寫(xiě)一個(gè)方法,可以從C++中調(diào)用它來(lái)打印日志字符串,這是一個(gè)Unity腳本文件的成員函數(shù)。

        static void CallBackFunction(string str)

        {

        Debug.Log(“::CallBaaaaaaack:”+str);

        }

        在Unity腳本的Start()函數(shù)中實(shí)例化這個(gè)被定義的委托:

        MyDelegate callback_delegate=new

        MyDelegate(CallBackFunction);

        IntPtr intptr_delegate=

        Marshal.GetFunctionPointerForDelegate(callback_delegate);

        AudioWrapper.SetDebugFunction(intptr_delegate);

        SetDebugFunction是一個(gè)方法,它把函數(shù)指針賦給另一個(gè)指針,該指針在C++代碼中定義。如下:

        typedef void(*FuncPtr)(const char *);

        FuncPtr MyUnityDebug;

        接著,可以訪問(wèn)其他源代碼中的這個(gè)指針。如下:

        KINECT_CB void APIENTRY

        SetDebugFunction(FuncPtr fp)

        {

        MyUnityDebug=fp;

        }

        最后在C#代碼中使用Dllimport導(dǎo)入它。如上節(jié)所述,可在C++中調(diào)用該函數(shù)。圖5為用C# 腳本編程聲明并調(diào)用上面DLL封裝的函數(shù)時(shí),Unity3D控制臺(tái)的運(yùn)行界面部分打印信息。

        圖5 Unity3D控制臺(tái)聲明調(diào)用DLL的打印信息

        現(xiàn)在,運(yùn)行Unity3D引擎,在不同的位置說(shuō)話,可以看到實(shí)時(shí)獲取的聲源位置數(shù)據(jù)流。圖6為顯示在Unity3D系統(tǒng)中獲取聲源方位的交互界面畫(huà)面,圖7為實(shí)時(shí)聲源位置數(shù)據(jù)在調(diào)試窗口中的顯示。

        圖6 獲取聲源方位在Unity3D中的交互界面

        圖7 Unity3D調(diào)試窗口中顯示的實(shí)時(shí)數(shù)據(jù)

        表1為系統(tǒng)運(yùn)行后隨機(jī)截取的實(shí)驗(yàn)數(shù)據(jù)。

        表1 隨機(jī)截取實(shí)驗(yàn)數(shù)據(jù)

        表中:beamAngle是方向性麥克風(fēng)(麥克風(fēng)陣列)對(duì)準(zhǔn)聲音來(lái)源的角度;sourceAngle是經(jīng)過(guò)數(shù)學(xué)算法處理后,系統(tǒng)最終判定聲音來(lái)源的角度;sourceConfidence屬性值用來(lái)作為判定聲音強(qiáng)弱或聲音距離遠(yuǎn)近的依據(jù)。Kinect能辨識(shí)的水平聲音來(lái)源為以傳感器為中心的±50°(共100°)。故系統(tǒng)顯示出的位置讀數(shù)皆是以傳感器中心位置為0的相對(duì)位置讀數(shù)。

        4 結(jié)束語(yǔ)

        測(cè)試表明,本研究利用Kinect傳感器的四元線性麥克風(fēng)陣列捕獲用戶聲音信號(hào),并進(jìn)行實(shí)時(shí)定位。采用Kinect設(shè)備與Unity3D引擎結(jié)合開(kāi)發(fā)的相關(guān)資源包的工作方式,通過(guò)在VS平臺(tái)上封裝C++類(lèi)的DLL,并在Unity項(xiàng)目上調(diào)用,將Kinect和Unity3D銜接起來(lái),使其在Unity控制臺(tái)顯示實(shí)時(shí)的定位數(shù)據(jù)輸出,該數(shù)據(jù)流可供程序使用,彌補(bǔ)了Unity3D引擎缺乏人機(jī)聲音交互技術(shù)的不足,具有較大推廣價(jià)值。

        [1]劉興亮.互聯(lián)網(wǎng)的未來(lái):聲音時(shí)代和體感時(shí)代[J].中國(guó)傳媒科技,2014(9):14-15.

        [2]韓雪,李澤滔,孫昊.基于Kinect傳感器的移動(dòng)機(jī)器人聲源目標(biāo)跟蹤系統(tǒng)[J].自動(dòng)化與儀器儀表,2015(6):185-186.

        [3]王森.Kinect體感程序設(shè)計(jì)入門(mén):使用C#和C++[M].北京:科學(xué)出版社,2014.

        [4]石曼銀.Kinect技術(shù)與工作原理的研究[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),2013,29(3):83-86.

        [5]崔斌,陳亮,胡紅梅,等.基于Kinect的聲源定位時(shí)延獲取及算法性能研究[J].信息技術(shù),2014(10):103-107.

        [6]Dunlop R,Shepherd D,Martin M.Direct X 7速成教程[M].北京:機(jī)械工業(yè)出版社,2002.

        [7]Clark R,Pua Y H,Fortin K,et al.Validity of the Microsoft Kinect for Assessment of Postural Control[J].Gait & Posture,2012,36(3):372-377.

        (責(zé)任編輯:馬金發(fā))

        Sound Source Localization and Human-computer Interaction Techniques Based on Kinect in Unity3D

        YANG Zhu,WANG Hongyuan,CHEN Muyi

        (Shenyang Ligong University,Shenyang 110159,China)

        Kinect is a peripheral device for Xbox360 game console,which contains four non-symmetric linear microphone array.According to the microphones to receive sound signals delay inequality,the sound source position and angle are calculated.Unity3D is an integrated game engine to create a three-dimension video games,architectural visualization,real-time 3-dimension animations and other types of interactive contents.It lacks of advanced man-machine voice interactive feature.Therefore,the research develops a human-machine sound interaction interface of Unity3D based on Kinect.C++/C# mixed programming technology is adopted to encapsulate the functionality associated with Kinect for unmanaged C++dynamic link library(DLL),and then Unity3D engine,Kinect device and VS platform are concatenated with the DLL.Finally,position of sound source is identified and located for Kinect on Unity3D platform,which gets the real time data to be used for advanced human-computer interaction.

        Unity3D;Kinect;the sound source localization;linear microphone array;Human-Computer Interaction Techniques

        2016-05-18

        遼寧省教育廳一般項(xiàng)目(L2013083)

        楊竹(1991—),女,碩士研究生;通訊作者:王洪源(1963—),男,教授,研究方向:模擬仿真訓(xùn)練系統(tǒng)、區(qū)域數(shù)據(jù)鏈路體系結(jié)構(gòu)。

        1003-1251(2017)01-0085-06

        TP391

        A

        在线视频色系中文字幕| 亚洲最大日夜无码中文字幕| 国产亚洲av手机在线观看| 国产一区二区三区av在线无码观看| 亚洲欧美日韩中文天堂| 免费看国产精品久久久久| 亚洲一道一本快点视频| 激情五月六月婷婷俺来也| 国产自拍偷拍精品视频在线观看 | av无码一区二区三区| 日本入室强伦姧bd在线观看| 看曰本女人大战黑人视频| 久久精品免费一区二区喷潮| 亚洲va在线va天堂va四虎| 亚洲免费不卡av网站| 精品蜜桃av免费观看| 亚洲日本国产精品久久| 久久综合狠狠综合久久综合88| 无码福利写真片视频在线播放| 日本五月天婷久久网站| 亚洲三区二区一区视频| 人妻免费黄色片手机版| 日本精品一区二区三区在线观看| 亚洲 日韩 激情 无码 中出| 国产三级av大全在线爽| 亚洲国产a∨无码中文777| 国精品午夜福利视频不卡| 丰满岳乱妇久久久| 最新在线观看精品国产福利片| 麻豆激情视频在线观看| 亚洲综合自拍偷拍一区| 精品精品国产自在97香蕉| 久久久久久免费毛片精品| 国产精品毛片无码久久| 蜜桃在线观看免费高清完整版 | 深夜黄色刺激影片在线免费观看| 亚洲日韩成人无码| 精品人妻系列无码人妻免费视频| 无码毛片高潮一级一免费| 国产一区二区三区视频了| 国产三级精品三级男人的天堂|