《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 支持MBAFF的H.264/AVC解碼器運動矢量預測模塊設計
支持MBAFF的H.264/AVC解碼器運動矢量預測模塊設計
包 磊,周開倫,林 濤
(同濟大學 超大規模集成電路研究所,上海 200331)
摘要: 分析了宏塊自適應幀場模式(MBAFF)在P幀和B幀的幀間預測算法,提出了可行的數據組織結構和硬件實現方法。作為完整的解碼器的一部分,其RTL代碼已經完成了功能驗證和仿真,證明該設計是行之有效的。
Abstract:
Key words :

摘  要: 分析了宏塊自適應幀場模式(MBAFF)在P幀和B幀的幀間預測算法,提出了可行的數據組織結構和硬件實現方法。作為完整的解碼器的一部分,其RTL代碼已經完成了功能驗證和仿真,證明該設計是行之有效的。
關鍵詞: H.264;MBAFF;幀間預測;運動矢量預測

  H.264/AVC支持3種圖像編碼模式:幀模式、場模式和宏塊自適應幀場(MBAFF)[1]模式。在幀模式下,1幅圖像被劃分成由16×16宏塊組成的幀;在場模式下,1幀圖像的頂場和底場被劃分成由16×16宏塊組成;在MBAFF模式下,幀場編碼的選擇在宏塊級指定,1幀圖像被劃分成由32×16的宏塊對組成,每2個宏塊組成的宏塊對以幀模式或者場模式編碼。一段圖像可能既有動態的區域又有靜態的區域,H.264的MBAFF模式可以根據圖像的每個區域選擇最佳的編碼模式。一般來說,MBAFF模式對于視頻編碼的效率比其他兩種模式更好,但編碼和解碼的復雜度也更高。本文將探討在解碼的過程中MBAFF模式在P幀和B幀的幀間預測算法和硬件設計。
1 幀間預測技術
  在進行幀間預測時,空間上距離較近的圖像區域往往具有相關性很強的運動矢量,而且相對于以前視頻壓縮標準中最小8×8的劃分,H.264最小4×4的劃分使得較小的圖像區域的運動矢量具有更高的相關性,因此,可以利用預測技術預測出1組運動矢量MVp,而編碼器只需要傳送能量很小的實際值和預測值的差值,也就是運動矢量殘差MVd,這樣就可以提高編碼效率。在解碼時,解碼器只需要采用同樣的算法先預測出運動矢量的預測值MVp,而后將其與殘差MVd相加便可以恢復出運動矢量的實際值MV[1]供運動補償使用。MVp[1]取決于運動補償的尺寸和鄰近MV的有無。
  在幀間預測模式下,宏塊有16×16、16×8、8×16、8×8、8×4、4×8、4×4這7種運動矢量的分割方法。為方便描述,把參考宏塊相應分割的運動矢量命名為MVLXN[2],參考索引命名為refIdxLXN[2],其中N可以為A、B、C、D,分別表示當前宏塊或者宏塊分割的左邊、上邊、右上和左上的相應宏塊分割。當前宏塊分割的運動矢量MVpLX[2]就是通過MVLXN和refIdxLXN預測得到的。圖1所示為非MBAFF模式時當前宏塊分割為16×16的情況,E為當前宏塊或宏塊分割,A、B、C分別為E的左、上、右上方的3個相對應分割塊。如果E的左邊不止1個分割,則取其中最上的1個為A;上方不止1個分割時,取最左邊1個為B。


1.1 預測運動矢量MVp的計算
  在宏塊分割為16×16、8×8、8×4、4×8和4×4時,運動矢量的預測值是由參考宏塊分割A、B、C的運動矢量計算得到的:
  (1)如果分割B和C不可用,而分割A可用,則會對MVLXB、MVLXC、refIdxLXB、refIdxLXC重新賦值:MVLXB=‘MVLXA、MVLXC=MVLXA、refIdxLXB=refIdxLXA、refIdx-LXC=refIdxLXA。
  (2)根據refIdxLXA、refIdxLXB和refIdxLXC的取值計算mvpLX:
 ?、偃绻指預、B、C的參考索引refIdxLXA、 refIdxLXB或refIdxLXC中的一個等于當前分割的索引號refIdxLX,則當前分割的矢量預測值由相應分割的運動矢量得到:MVpLX=mvLXN。
 ?、谌绻指預、B、C的參考索引refIdxLXA、 refIdxLXB或refIdxLXC都不等于當前分割的索引號refIdxLX,則通過取A、B、C的運動矢量中值得到:
  MVpLX[0]=Median(MVLXA[0],MVLXB[0],MVLXC[0])
  MVpLX[1]=Median(MVLXA[1],MVLXB[1],MVLXC[1])
  運動矢量的預測在當前宏塊分割為16×8和8×16的時候會先做如下的判斷,如果不滿足則通過上述取中值的方法得到預測值:
  (1)對于1個宏塊被分割成2個16×8子宏塊的情況
  ①計算mbPartIdx等于0的子宏塊如圖2(a)所示。如果refIdxLXB等于當前分割的refIdxLX,則當前塊的矢量預測值由B宏塊的相應分割的矢量得到:MVpLX= MVLXB。


 ?、谟嬎鉳bPartIdx等于1的子宏塊如圖2所示,如果refIdxLXA等于當前分割的refIdxLX,則當前塊的矢量預測值由A宏塊的相應分割的矢量得到:MVpLX=MVLXA。
  (2)對于1個宏塊被分割成2個8×16子宏塊的情況:
 ?、儆嬎鉳bPartIdx等于0的子宏塊如圖2(b)所示。如果refIdxLXA等于當前分割的refIdxLX,則當前塊的矢量預測值由B宏塊的相應分割的矢量得到:MVpLX=MVLXA。
  ?、谟嬎鉳bPartIdx等于1的子宏塊如圖2(b)所示,如果refIdxLXC等于當前分割的refIdxLX,則當前塊的矢量預測值由C宏塊的相應分割的矢量得到:MVpLX=MVLXC。
1.2 參考宏塊分割的運動矢量MVLXN和參考索引refIdxLXN的計算
  在計算參考宏塊分割A、B、C的運動矢量MVLXN和參考索引refIdxLXN之前,應先檢測分割C是否可用,如果C不可用,則用分割D的信息代替。A、B、C的運動矢量MVLXN和參考索引refIdxLXN的計算:
  (1)如果宏塊mbAddrN不可用或者宏塊mbAddrN為幀內編碼,或者mbAddrN相應分割或者子宏塊分割的predFlagLX等于0,則對MVLXN置0,對refIdxLXN置-1。
  (2)MVLXN為mbAddrN相應宏塊分割或者子宏塊分割的運動矢量,refIdxLXN為mbAddrN相應宏塊分割的參考索引值:
  MVLXN=MvLX[mbPartIdxN][subMbPartIdxN]
  refIdxLXN=RefIdxLX[mbPartIdxN]
  (3)在MBAFF模式時,需要對MVLXN和refIdxLXN再做1次計算:
 ?、偃绻斍昂陦K為場宏塊,而mbAddrN為幀宏塊,則:
  MVLXN[1]=MVLXN[1]/2
  refIdxLXN=refIdxLXN×2
 ?、谌绻斍昂陦K為幀宏塊,而mbAddrN為場宏塊,則:
  MVLXN[1]=MVLXN[1]×2
  refIdxLXN=refIdxLXN/2
1.3 空間相鄰參考宏塊分割的選擇[2]
  在非MBAFF模式時,當前宏塊的空間相鄰宏塊地址A、B、C、D的位置如圖3所示??臻g參考宏塊mbAddrN可以是MbAddrA、MbAddrB、MbAddrC、MbAddrD或者CurrMbAddr。


  在MBAFF模式時,當前宏塊的空間相鄰宏塊地址A、B、C、D的位置如圖4所示。此時會根據當前宏塊是幀宏塊或者場宏塊currMbFrameFlag以及當前宏塊是頂宏塊或者底宏塊mbIsTopMbFlag來計算1個中間值mbAddrX,并根據mbAddrX的幀場信息mbAddrXFrameFlag來得到最終的參考宏塊MbAddrN。參考宏塊mbAddrN可以是MbAddrA、MbAddrA+1、MbAddrB、MbAddrB+1、MbAddrC、MbAddrC+1、MbAddrD、MbAddrD+1、CurrMbAddr或者CurrMbAddr-1。
  參考分割A、B、C、D取自參考宏塊mbAddrN,也可能來自當前宏塊的空間相鄰宏塊或可能是當前宏塊內已解碼的分割。
1.4 運動矢量預測所需數據的組織
  運動矢量的預測需要當前分割的左邊、上邊、左上和右上相應分割的MVLXN和refIdxLXN信息來計算得到當前分割的MVLX。如果宏塊的4個子宏塊都采用4×4分割,則1個宏塊有16個運動矢量,即每個4×4 block有1個運動矢量。這樣需要儲存每個block的運動矢量和參考索引。1個宏塊需要存儲16個block的運動矢量MVLX和參考索引refIdxLX,當采用其他分割類型時,每個分割內所有block的運動矢量和參考索引為相同值。
   幀間預測按照block存儲和使用數據。當前宏塊分割的運動矢量和參考索引需要按照block來存儲以用于后面宏塊的預測。每個分割內所有block的運動矢量和參考索引為相同值,所以參考分割的MVLXN和refIdxLXN的引用也可以按照block來進行。
  因為同一分割內所有block的運動矢量和參考索引為相同值,因此,參考分割的MVLXN和refIdx-LXN也就是參考宏塊相應的block的MVLX和refIdx-LX。圖5為非MBAFF模式時預測當前分割的運動矢量的示意圖。由圖可見,在進行預測時是通過與當前分割最接近的左、上、左上以及右上的4個4×4 block的運動矢量來對當前的運動矢量進行預測的。圖5(a)~(d)分別表明了當前宏塊采用不同劃分時A、B、C、D 4個參考塊的取值情況。在預測時一般選取A、B、C塊對當前的運動矢量進行預測,當C不可用時則選用A、B、D進行預測。在MBAFF模式時,由于參考宏塊的位置不同(參見1.3節)會作相應變化。

2 直接預測模式和硬件設計
  H.264/AVC對運動矢量的重建引入了直接預測模式,在該模式下運動矢量殘差沒有被傳送,只有宏塊的預測模式會被傳送。解碼器根據預測模式以及其余宏塊的信息對當前的運動矢量進行恢復。運動矢量的重建流程如圖6所示。在直接預測模式下,H.264分別采用3種不同的方式對運動矢量進行重建。


  (1)復制模式。在P類型的宏塊中,利用空間上相鄰分割的運動矢量對當前的運動矢量進行預測。
  (2)空間模式。在B類型的宏塊中,利用空間上相鄰分割的運動矢量對當前的運動矢量進行預測。
  (3)時間模式。在B類型的宏塊中,通過將時間上相鄰而且在空間上位置相同的8×8分割的運動矢量進行重量化來預測出當前的運動矢量。
  其中復制模式和空間模式在算法上具有一定的相似性,差別在于復制模式只需要重建1個方向的運動矢量,而空間模式需要重建雙向的運動矢量。
2.1 空間模式及復制模式重建算法和硬件設計
    在這2種模式下:(1)宏塊只能劃分成1個16×16分割或者4個8×8分割。在劃分成4個8×8時,每1個8×8分割可以獨立地被設置成直接模式或者ReadMV模式;(2)計算當前的運動矢量需要借助在空間上相鄰分割的運動矢量來對當前分割的運動矢量進行重建。此時運動矢量的預測算法與前面介紹的預測運動矢量的算法基本相同,所不同的是此時宏塊中的任意1個分割預測時所使用的相鄰塊信息均由圖7所示的A、B、C、D 4個塊預測。

  Direct 8×8用A、B、C、D 4個塊進行預測。預測的基本算法流程如圖8所示。由圖可見,在預測時首先檢測參考塊C是否可用,如不可用,則C塊的參數用D塊的參數代替;而后利用A、B、C塊的參考索引RefIdxA[f/b]、RefIdxB[f/b]、RefIdxC[f/b]中大于0的最小值來預測出當前分割的參考索引號ReFrame[f/b],如果RefIdxA[f/b]、RefIdxB[f/b]、RefIdxC[f/b]全部小于0,則ReFrame[f/b]取-1;然后用ReFrame[f/b]與A、B、C塊的參考索引進行對比,如果ReFrame[f/b]只是A、B、C其中的1個,現令其為SelectedBlk的索引號相同,則當前分割的運動矢量中,(MVx,MVy)取SelectedBlk的(MVxS,MVyS);否則取A、B、C塊運動矢量的中值。


  在空間模式及復制模式下,需要使用空間上相鄰的上邊及左邊的4×4塊的運動矢量信息來對空間模式、復制模式中的運動矢量以及ReadMV模式中的MVp進行計算。針對非MBAFF模式和MBAFF模式所需要的block的運動矢量信息分析如下:
  (1)在非MBAFF模式時,硬件實現需要維持1個4×4 block行,以及當前待解碼宏塊的左邊4個block列的運動矢量信息。解碼器如果需要支持1 920×1 280分辨率視頻流的解碼,則就要存儲(1 920/4+4+1)=485個4×4 block的運動矢量信息,如圖9所示。

  (2)在MBAFF模式時,由于宏塊對的出現使得所需要的block信息相比非MBAFF模式的情況更加復雜。硬件實現時需要維持2個4×4 block行,以及當前待解碼宏塊的左邊宏塊對的8個block列的運動矢量信息。解碼器如果需要支持1 920×1 280分辨率視頻流的解碼,則就要存儲(2×(1920/4)+8+1)=969個4×4 block的運動矢量信息,如圖10所示。


    設計中將這部分信息存放在片內SRAM中。此外,為了便于讀取以及節省存取時間,設計中將1個block的運動矢量信息存放于SRAM 1個地址單元中。1個地址單元的數據結構需要存放前向參考索引RefIdxF、后向參考索引RefIdxB、前向水平運動矢量MVxF、前向垂直運動矢量MVyF、后向水平運動矢量MVxB、后向垂直運動矢量MVyB。
    通過以上分析在硬件實現時采用如圖11所示的結構對該模塊進行設計。設計中使用1個Local Sram作為1個Line buffer來對空間模式及復制模式下需要使用到的空間上相鄰塊的運動矢量信息進行存儲。當該模塊被啟動后,根據輸入的當前宏塊的預測模式以及當前宏塊的位置信息,地址生成器根據當前宏塊的信息產生相應的地址以及控制信號從Local Sram中取出A、B、C、D 4個block的運動矢量信息傳送給MV idx計算模塊來計算當前分割的運動矢量,計算完畢后得出完成信號給地址生成器以便其產生相應的地址將解碼好的數據存回Local Sram中供后續解碼使用。


2.2 時間模式重建算法和硬件設計
  圖12所示為宏塊類型為B宏塊、預測模式為直接預測模式時采用時間模式對運動矢量進行重建的算法示意圖。


   由圖可見,時間模式運動矢量重建的步驟為:
  (1)當前待解的分割先在List[1][0]中找到與自己位置相對應的分割相應的、在List[0]中的參考圖像List[0][x],將該參考圖像作為當前分割的List[0]參考。
  (2)找出List[1][0]圖像中與當前分割位置相對應的分割指向List[0][x]的運動矢量MVCol[2]和參考索引refIdxCol[2]。
  (3)根據當前分割所在圖像與List[0][x]圖像的播放順序POC的差值tb[2]、List[0][x]與List[1][0]的POC的差值td[2],通過如下公式量化出當前分割指向List[0][x]圖像的運動矢量MVL0以及指向List[1][0]的運動矢量MVL1。
  tb=Clip3(-128,127,DiffPicOrderCnt(currPicOrField, pic0))
  td=Clip3(-128,127,DiffPicOrderCnt(pic1,pic0))
  tx=(16 384+Abs(td/2))/td
      DistScaleFactor=Clip3(-1024,1023,(tb*tx+32)>>6)
      MVL0=(DistScaleFactor*mvCol+128)>>8
      MVL1=MVL0-MVCol
     (4) 根據refIdxCol和當前圖像是幀或場圖像標志field_pic_flag以及當前宏塊是幀宏塊或場宏塊來計算refIdxL0:
     refIdxL0=((refIdxCol<0)?0:MapColToList0(refIdxCol))
     refIdxL1=0
     在非MBAFF模式時,圖像類型可以是FRM和FLD表示當前是幀或場;在MBAFF模式時,圖像類型以AFRM表示當前圖像是宏塊級幀場自適應。
     在MBAFF模式時,首先根據當前圖像類型PicCodingStruct(CurrPic)[2]和參考圖像類型PicCodingStruct(colPic)[2]來計算1個宏塊地址mbAddrX,然后再根據mbAddrX是否為場宏塊以及當前宏塊是否為場宏塊來計算出在List[1][0]中與當前分割位置相對應的宏塊mbAddrCol,最后得到其中相應宏塊分割mbAddrCol\mbPartIdxCol\subMbPartIdxCol的運動矢量MVCol和參考索引refIdxCol,MVCol和refIdxCol取值為mbAddrCol相應分割的前向或者后向運動矢量和參考索引。
  因此,對于已經解碼的圖像需要存儲每個宏塊的運動矢量、參考索引、宏塊類型(mbType、subMbType)和宏塊的幀場標志mb_field_decoding_flag[2],以用于當前圖像宏塊的運動矢量預測。
  時間模式下運動矢量重建的硬件實現框圖如圖13所示。設計中采用了空間模式以及復制模式硬件實現所用的Local Sram。這里還在Local Sram中開辟了一段新的存儲空間,用于存放所需要的圖像層信息。與空間及復制模式一樣,重建后的運動矢量信息寫回到Local Sram中供后續解碼使用。


  由運算公式可見時間模式下運動矢量的重建涉及乘法、除法、加法以及減法運算,這些運算對于硬件實現將會帶來很大的開銷,所以設計中將差值運算拆分成流水線的形式進行運算。
  本文介紹了H.264/AVC的宏塊自適應幀場模式在P幀和B幀的幀間預測算法,分析了運動矢量預測模塊的硬件實現,提出了可行的數據組織結構和硬件實現方法。
參考文獻
[1] 畢厚杰.新一代視頻壓縮編碼標準——H.264/AVC[J].北京:人民郵電出版社,2002.
[2] Advanced video coding for generic audiovisual services. ITU-T Recommendation H.264, May. 2005.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          美女啪啪无遮挡免费久久网站| 国产精品美女久久| 亚洲午夜电影| 国产午夜精品理论片a级探花| 久久久综合香蕉尹人综合网| 欧美在线3区| 国产精品久久久久影院亚瑟| 国产精品一区久久久| 老司机免费视频一区二区三区| 欧美网站在线观看| 久久久久久高潮国产精品视| 国产麻豆一精品一av一免费| 亚洲视屏在线播放| 国产精品av一区二区| 一区二区三区我不卡| 亚洲国产欧美国产综合一区| 国产一区二区三区高清| 欧美午夜不卡在线观看免费| 欧美一区三区二区在线观看| 最新国产乱人伦偷精品免费网站| 亚洲一级二级在线| 在线一区二区三区做爰视频网站| 亚洲一区二区在线看| 国产欧美日韩中文字幕在线| 久久在线91| 欧美99在线视频观看| 尤物精品在线| 国产精品色一区二区三区| 影音先锋亚洲一区| 亚洲激精日韩激精欧美精品| 亚洲福利视频一区| 这里只有视频精品| 国产欧美日韩一区二区三区在线观看| 欧美成人免费一级人片100| 亚洲欧美一区二区在线观看| 9久re热视频在线精品| 亚洲成人在线视频播放| 在线观看日韩欧美| 99精品黄色片免费大全| 欧美激情精品| 欧美在线一二三| 影音先锋亚洲视频| 国产精品久久久久aaaa樱花| 亚洲日本成人在线观看| 亚洲精品免费在线| 亚洲神马久久| 日韩一级精品| 国产精品视频大全| 亚洲黄色尤物视频| 国产女优一区| 亚洲欧美日韩另类精品一区二区三区| 欧美日韩一区二区三区在线视频| 亚洲国产精品欧美一二99| 亚洲午夜久久久| 99re6这里只有精品| 宅男噜噜噜66一区二区| 亚洲激情在线播放| 一本一道久久综合狠狠老精东影业| 极品av少妇一区二区| 国产欧美一区二区三区久久人妖| 亚洲欧美制服中文字幕| 国产精品欧美久久久久无广告| 国产一区日韩欧美| 国产日本欧美视频| 午夜精品久久一牛影视| 国产无遮挡一区二区三区毛片日本| 欧美日韩国产亚洲一区| 性欧美8khd高清极品| 欧美一二三区精品| 欧美黄色小视频| 在线观看视频免费一区二区三区| 亚洲成人在线网| 午夜日韩福利| 亚洲精品中文在线| 欧美国产日产韩国视频| 亚洲欧美日韩另类精品一区二区三区| 欧美高清你懂得| 亚洲一区国产| 午夜天堂精品久久久久| 久久精品国产77777蜜臀| 制服诱惑一区二区| 欧美专区18| 亚洲男女自偷自拍图片另类| 欧美影院在线播放| 久久精品一区二区三区不卡| 久久综合给合| 国产精品一区二区a| 亚洲国内精品| 99精品欧美| 欧美成人xxx| 欧美视频在线观看免费网址| 亚洲精品日韩久久| 亚洲精品乱码| 18成人免费观看视频| 亚洲三级色网| 夜夜狂射影院欧美极品| 亚洲午夜久久久久久尤物| 欧美肉体xxxx裸体137大胆| 99精品99| 国产精品jvid在线观看蜜臀| 噜噜噜在线观看免费视频日韩| 国产毛片精品国产一区二区三区| 亚洲国产精品国自产拍av秋霞| 欧美无乱码久久久免费午夜一区| 一区二区三区在线免费视频| 在线观看亚洲视频| 欧美日韩亚洲成人| 亚洲黄色影院| 国产一区二区看久久| 久久精品视频在线免费观看| 欧美在线视频播放| 国产精品激情电影| 欧美性天天影院| 国产婷婷一区二区| 久久久999成人| 国产精品美女久久久浪潮软件| 欧美日韩中文精品| 在线成人av网站| 1024国产精品| 性欧美video另类hd性玩具| 蜜臀91精品一区二区三区| 久久免费一区| 狠狠色2019综合网| 欧美色视频日本高清在线观看| 国产欧美综合一区二区三区| 亚洲欧美国产制服动漫| 一区二区三区精品久久久| 欧美激情精品久久久久久蜜臀| 亚洲毛片av在线| 欧美色另类天堂2015| 久久精品夜夜夜夜久久| 国产日韩欧美在线看| 黑人一区二区| 在线不卡免费欧美| 国精品一区二区三区| 免费在线观看一区二区| 国产精品黄视频| 国产亚洲精品aa午夜观看| 在线亚洲一区| 午夜免费久久久久| 亚洲视频久久| 欧美午夜视频在线观看| 99精品国产99久久久久久福利| 亚洲美女区一区| 亚洲免费av观看| 亚洲一区二区三区影院| 久久这里有精品视频| 欧美日本一区二区三区| 久久免费视频观看| 国产精品在线看| 亚洲第一狼人社区| 国产精品久久久免费| 在线观看一区二区视频| 日韩视频一区二区三区在线播放免费观看| 欧美日韩在线精品| 亚洲国产精品成人一区二区| 国产亚洲欧美日韩精品| 国产精品theporn| 欧美午夜美女看片| 国产精品久在线观看| 日韩视频免费| 老鸭窝91久久精品色噜噜导演| 久久精品国产999大香线蕉| 国产精品美女主播在线观看纯欲| 欧美午夜美女看片| 国产精品高潮呻吟| 依依成人综合视频| 欧美成人日本| 国产美女诱惑一区二区| 裸体一区二区| 欧美日韩国产综合视频在线观看| 亚洲一区自拍| 99在线精品免费视频九九视| 国产一区二区中文字幕免费看| 国产欧美一区二区三区在线看蜜臀| 亚洲精品免费在线| 欧美aa在线视频| 国产一区高清视频| 亚洲砖区区免费| 国产午夜精品视频| 国产精品99久久久久久久女警| 国产亚洲欧美日韩日本| 在线中文字幕不卡| 亚洲精品免费一二三区| 欧美日韩国产麻豆| 亚洲先锋成人| 麻豆成人精品| 国产日韩欧美一区| 狠狠干综合网| 国产精品久久久久久久久久免费| 欧美午夜电影完整版| 欧美一区二区久久久| 欧美**人妖| 欧美成人伊人久久综合网| 亚洲综合精品自拍| 亚洲日本视频| 亚洲一区欧美一区| 久久精品国产亚洲5555| 欧美激情偷拍| 欧美手机在线视频| 美日韩精品视频| 久久xxxx| 亚洲国产精品福利| 欧美激情精品久久久久久免费印度| 一本久久a久久免费精品不卡| 久久精品91久久久久久再现| 老**午夜毛片一区二区三区| 欧美国产激情二区三区| 欧美午夜电影在线观看| 国内成人精品视频| 日韩午夜精品视频| 免费h精品视频在线播放| 欧美国产日韩一二三区| 久久国产精品亚洲va麻豆| 亚洲女性裸体视频| 欧美日韩午夜剧场| 亚洲主播在线播放| 怡红院av一区二区三区| 久久一区二区视频| 亚洲永久免费av| 久久视频精品在线| 久久国产精品99精品国产| 国产日韩欧美三区| 欧美精品在线观看播放| 国产精品日韩专区| 久久激情视频| 欧美高清在线视频| 日韩午夜视频在线观看| 亚洲一区二区三区精品视频| 极品裸体白嫩激情啪啪国产精品| 欧美三级视频在线播放| 欧美成人一区二区三区在线观看| 国产女主播一区| 日韩亚洲欧美精品| 国产精品伊人日日| 亚洲国产天堂久久综合网| 久久久久中文| 亚洲精品乱码久久久久久久久| 亚洲欧美中文在线视频| 在线视频欧美一区| 国产精品videossex久久发布| 亚洲国产高清高潮精品美女| 一区二区亚洲精品国产| 久久久夜精品| 黄色影院成人| 久久精品国产2020观看福利| 黄色成人免费网站| 亚洲国产精品专区久久| 激情五月婷婷综合| 久久综合一区二区三区| 欧美精品日韩一本| 亚洲精品国产精品国自产观看| 国产自产精品| 国产一区二区三区视频在线观看| 午夜国产欧美理论在线播放| 国内精品美女av在线播放| 亚洲欧美在线免费观看| 亚洲人成亚洲人成在线观看图片| 国产亚洲精品bv在线观看| 久久婷婷人人澡人人喊人人爽| 性欧美xxxx视频在线观看| 亚洲精品乱码久久久久久蜜桃91| 免费观看国产成人| 免费日韩一区二区| 国产精品久久久久久久久久ktv| 伊人色综合久久天天五月婷| 欧美精品一卡二卡| 亚洲大胆人体在线| 国产亚洲在线| 亚洲欧美国产va在线影院| 欧美国产日韩a欧美在线观看| 午夜影院日韩| 91久久极品少妇xxxxⅹ软件| 狼人社综合社区| 亚洲免费视频中文字幕| 久久精品欧美日韩| 亚洲欧洲偷拍精品| 亚洲免费一区二区| 亚洲欧洲一二三| 红桃视频成人| 久久亚洲精品一区二区| 免费观看30秒视频久久| 亚洲香蕉视频| 六月丁香综合| 欧美区日韩区| 免费一级欧美在线大片| 亚洲久久一区| 欧美日韩国产在线播放| 欧美视频一区二区三区在线观看| 久久天天躁夜夜躁狠狠躁2022| 欧美韩日一区二区三区| 国产精品激情偷乱一区二区∴| 欧美另类久久久品| 国际精品欧美精品| 噜噜噜噜噜久久久久久91| 国产精品美女久久久浪潮软件| 欧美ed2k| 国产欧美日韩精品专区| 免费日韩av电影| 免费欧美电影| 合欧美一区二区三区| 黄色成人精品网站| 亚洲精品久久久久久久久| 国产精品黄色| 亚洲免费视频一区二区| 久久亚洲综合色一区二区三区| 欧美激情欧美激情在线五月| 国产女优一区| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美久久久久久久久久| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲经典在线看| 久久久久久91香蕉国产| 亚洲国产91| 99国产精品视频免费观看| 国产精品劲爆视频| 激情五月综合色婷婷一区二区| 亚洲国产人成综合网站| 激情av一区| 久久精品国产久精国产爱| 欧美性大战xxxxx久久久| 久久久久成人网| 亚洲欧洲综合另类在线| 欧美日韩情趣电影| 国产精品另类一区| 亚洲欧美日韩一区二区三区在线观看| 亚洲系列中文字幕| 在线观看91精品国产入口|