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

        ?

        基于TMS320C642的語音解碼實(shí)現(xiàn)

        2014-08-14 05:16:27張芹江新道
        電腦知識與技術(shù) 2014年19期

        張芹 江新道

        摘要:該文根據(jù)G.729編解碼理論和具體解碼流程,結(jié)合TI公司DSP產(chǎn)品TMS320C6000系列的TMS320DM642、CCS6000集成開發(fā)環(huán)境以及G.729的硬件實(shí)現(xiàn)平臺,提出了DSP傳送數(shù)據(jù)給ARM的算法,以及實(shí)現(xiàn)G.729解碼算法的主要程序,在最后給出了G.729解碼的結(jié)果。實(shí)驗(yàn)表明:該方案能夠成功地實(shí)現(xiàn)語音解碼。該方法具有低延遲、低速率、高語音質(zhì)量的優(yōu)點(diǎn)。

        關(guān)鍵詞:語音解碼;G.729標(biāo)準(zhǔn);數(shù)字信號處理器

        中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)19-4558-04

        The Realization for Speech Decoder Based on TMS320DM642

        ZHANG Qin, JIANG Xin-dao

        (Anhui Vocational College of Electronic and Information Technology,Bengbu 233060,China)

        Abstract: Based on the basic theory of the speech coding(LP,VQ,CELP)and the A-B-S technique, combining the TMS320DM642 and the CCS6000, this paper propose the algorithm of the data delivered from DSP to ARM, And the main program of the G.729 decoder, finally, the result of the G.729 decoder has been given. Experiments show that this scheme can successfully implement speech decoding。This method has the advantages of low latency, low rate and high speech quality.

        Key words:speech decoding;G.729; DSP

        語音通信作為人們傳遞信息、交流思想的最直接有效的方式,在現(xiàn)代各類綜合業(yè)務(wù)數(shù)字中顯得尤其重要。由于語音信號數(shù)據(jù)量大,有限的頻率資源變得越來越寶貴,所以總是力求在有限的信道內(nèi)進(jìn)行更多的信息傳輸。從而對語音編解碼技術(shù)提出更高要求。相應(yīng)的,語音編解碼技術(shù)也成為國際標(biāo)準(zhǔn)化工作中最為活躍的研究領(lǐng)域,G.729應(yīng)運(yùn)而生。

        1 G.729編解碼原理

        G.729采用的是共軛結(jié)構(gòu)代數(shù)碼激勵(lì)線性預(yù)測法,簡稱CS-ACELP[1]。

        G.729對輸入的語音模擬信號以每秒8千次的頻率采樣,再以16比特進(jìn)行線性PCM 量化,每80個(gè)樣點(diǎn)為一個(gè)語音幀,對語音信號分析并提取各種參數(shù),并編碼發(fā)送。參數(shù)編碼的比特分配如表1所示[2]。

        表1 8kbps CS-ACELP算法比特分配(每10ms幀)

        G.729的編碼流程圖如圖1所示。其中虛線部分表明每子幀(5ms)作一次計(jì)算,實(shí)線則說明每幀(10ms)計(jì)算一次[4]。

        相應(yīng)地,解碼時(shí),從比特流中提取參數(shù)編碼,從而獲取各個(gè)參數(shù)。方法:通過自適應(yīng)碼矢序號從自適應(yīng)碼本中獲取自適應(yīng)碼矢;通過固定碼矢序號從固定碼本中獲取固定碼矢。所有的碼矢再乘以相應(yīng)的增益,然后按點(diǎn)相加組成激勵(lì)序列。用線性預(yù)測濾波器系數(shù)構(gòu)成合成濾波器。用自適應(yīng)碼本方法實(shí)現(xiàn)長時(shí)域基音合成濾波,把每一子幀的激勵(lì)信號通過LP合成濾波器后計(jì)算出合成語音,再用后置濾波器進(jìn)一步增強(qiáng)音質(zhì)。

        解碼端應(yīng)當(dāng)接收到的發(fā)送參數(shù)及發(fā)送順序,表中所列參數(shù)順序即為發(fā)送順序。

        表2 發(fā)送參數(shù)及其順序

        圖2 CS-ACELP(G.729)解碼端流程圖[2]

        2 G.729解碼實(shí)現(xiàn)

        2.1 TMS320DM642 DSP簡介

        TMS320DM642 DSP 是屬于TMS320C6000 系列DSP 的高性能定點(diǎn)DSP,在TI的C64xDSP內(nèi)核基礎(chǔ)上進(jìn)一步集成了完備的視頻和音頻輸入輸出接口、以太網(wǎng)接口、PCI-66總線等片上外設(shè),是一款非常適合多種數(shù)字媒體應(yīng)用的DSP[5]。

        2.2 CCS6000集成開發(fā)環(huán)境

        Code Composer Studio(CCS)是Tl公司提供的DSP系統(tǒng)集成開發(fā)環(huán)境,它將工程管理、代碼編輯和系統(tǒng)調(diào)試等功能集成到一個(gè)統(tǒng)一的系統(tǒng)中。在CCS6000環(huán)境下,我們能夠進(jìn)行軟件編輯、語言編譯、系統(tǒng)調(diào)試、源代碼性能測試及工程項(xiàng)目管理等所有工作[6]。

        2.3 解碼器的初始化

        除了下表中的四個(gè)變量以外,其它所有解碼器的變量應(yīng)該初始化為0(編碼器變量初始值相同)。

        表3 解碼器變量初始化值表

        2.4 ARM與DSP接口

        本文所用的系統(tǒng)開發(fā)平臺結(jié)構(gòu)主要由DSP、ARM以及FPGA組成,該文的主要工作是在TMS320DM642 DSP上實(shí)現(xiàn)G.729解碼算法,解碼后的數(shù)據(jù)需要傳送給ARM做后續(xù)處理。DSP與ARM的接口示意圖如圖3所示。

        圖3 DSP與ARM接口示意圖

        ARM和DSP之間是通過主機(jī)高速并行接口(HPI)實(shí)現(xiàn)數(shù)據(jù)通信的,通過兩端協(xié)商,約定以某些標(biāo)志位來協(xié)調(diào)通信并實(shí)現(xiàn)數(shù)據(jù)傳輸。在本文所用實(shí)驗(yàn)平臺上設(shè)置了arm_flag[0], arm_flag[1], arm_flag[2], arm_flag[3]標(biāo)志信號,其初始值為0。

        DSP為發(fā)送數(shù)據(jù)端,ARM為接收數(shù)據(jù)端,約定如下:

        1)arm_flag[0]=1表示DSP準(zhǔn)備好后,ARM可以接收。

        2) arm_flag[2]!=2表示ARM端準(zhǔn)備好后,數(shù)據(jù)傳輸開始。

        3) arm_flag[2]=2 表示數(shù)據(jù)已傳輸完。

        DSP向ARM發(fā)送數(shù)據(jù)的具體算法流程如圖4所示。首先用一個(gè)循環(huán)查詢判斷arm_flag[0]是否為1,如果為1則表示DSP已準(zhǔn)備就緒,可以發(fā)送數(shù)據(jù),程序繼續(xù)判斷ARM端是否已經(jīng)準(zhǔn)備好;如果arm_flag[0]不為1,則代表DSP還沒準(zhǔn)備好發(fā)送數(shù)據(jù),程序繼續(xù)判斷arm_flag[0]是否為1。在arm_flag[0]=1的情況下,接著判斷arm_flag[2]是否為2,如果不為2,則代表數(shù)據(jù)沒有傳輸完,發(fā)送數(shù)據(jù)正式開始,用一個(gè)while循環(huán),只要arm_flag[2]不為2就一直傳輸數(shù)據(jù);如果為2,則代表本次數(shù)據(jù)傳輸完了,并設(shè)置arm_flag[2]為初始值0,開始下一幀數(shù)據(jù)的傳輸判斷。

        圖4 DSP給ARM傳送數(shù)據(jù)算法流程

        2.5 解碼程序說明

        G.729解碼程序主要包括以下部分:

        ·decoder.c 里面包含main()函數(shù)。

        ·bits.c 里面包含收到編碼參數(shù)的處理函數(shù)和解碼后發(fā)送數(shù)據(jù)的函數(shù)。

        ·basic_op.h 定義了一些基本算術(shù)函數(shù),解碼算法里的計(jì)算過程調(diào)用了這些算術(shù)函數(shù)。

        ·basic_op.c 基本算術(shù)函數(shù)的函數(shù)體。

        ·de_acelp.c 用于固定碼本序號的解碼。

        ·dec_gain.c 用于自適應(yīng)碼本和固定碼本增益的解碼。

        ·dec_lag3.c 用于自適應(yīng)碼本序號的解碼。

        ·lsp_dec.c 用于LSP序號的解碼。

        ·dec_ld8k.c 用于重構(gòu)激勵(lì)信號和語音信號。

        decoder.c里面的main函數(shù)調(diào)用解碼程序用到的各個(gè)算法函數(shù),這些算法函數(shù)主要集中在de_acelp.c、dec_gain.c、dec_lag3.c、lsp_dec.c、dec_ld8k.c里面,這些算法函數(shù)又是調(diào)用basic_op.c里面定義的基本算術(shù)函數(shù)。

        2.6 解碼結(jié)果

        設(shè)輸入信號數(shù)組為serial[SERIAL_SIZE],這里我們自己造一個(gè)輸入信號數(shù)組,設(shè)它為for(i=0;i

        解碼結(jié)果輸出如圖5所示。

        圖5 輸出結(jié)果圖

        需要指出的是,這里解碼器為了將輸出變?yōu)楸忍亓饕员愀玫陌l(fā)送數(shù)據(jù),進(jìn)行了1bit→short int(即2字節(jié),16bit)轉(zhuǎn)換操作。

        同時(shí),因?yàn)榫幋a器中的比特分配并不是均勻的,例如某一個(gè)參數(shù)需要用5bit來表示,但是它并不是在內(nèi)存中用5bit表示,而是用了一個(gè)short int 型數(shù)據(jù)來表示的,所以解碼的輸入輸出結(jié)果的數(shù)組值個(gè)數(shù)與G.729理論上的16:1壓縮比有出入。

        3 結(jié)論

        本文從解碼的角度介紹了G.729編碼理論,給出了解碼的流程圖,并利用DSP產(chǎn)品TMS320DM642、CCS 6000以及實(shí)際系統(tǒng)開發(fā)平臺,提出了DSP與ARM接口的設(shè)計(jì)方法,成功地實(shí)現(xiàn)了語音信號的解碼工作。該方法具有低延遲、低速率、高語音質(zhì)量的優(yōu)點(diǎn)。

        下一步工作可以做:1) 結(jié)合TMS320DM642 DSP 指令的特點(diǎn)對代碼進(jìn)行優(yōu)化;2) 對G.729 C程序中某些小算法和數(shù)據(jù)存取方式進(jìn)行優(yōu)化。

        參考文獻(xiàn):

        [1] 張玉業(yè),鄧勇全,李玲遠(yuǎn).語音編解碼算法G.729的軟件實(shí)現(xiàn)[J].通信技術(shù), 2003(2).

        [2] ITU-T , Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP), International Telecommunication Union,1996

        [3] ITU-T , Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)Annex G, International Telecommunication Union,2007

        [4] 王炳錫, 語音編碼[M].西安:電子科技大學(xué)出版社,2002.

        [5] 吳海濤,G.729語音編解碼算法研究及DSP實(shí)現(xiàn)[D].哈爾濱:哈爾濱理工大學(xué),2005.

        [6] 李方慧,王飛,何佩琨,TMS320C6000系列DSP原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2003.

        2.4 ARM與DSP接口

        本文所用的系統(tǒng)開發(fā)平臺結(jié)構(gòu)主要由DSP、ARM以及FPGA組成,該文的主要工作是在TMS320DM642 DSP上實(shí)現(xiàn)G.729解碼算法,解碼后的數(shù)據(jù)需要傳送給ARM做后續(xù)處理。DSP與ARM的接口示意圖如圖3所示。

        圖3 DSP與ARM接口示意圖

        ARM和DSP之間是通過主機(jī)高速并行接口(HPI)實(shí)現(xiàn)數(shù)據(jù)通信的,通過兩端協(xié)商,約定以某些標(biāo)志位來協(xié)調(diào)通信并實(shí)現(xiàn)數(shù)據(jù)傳輸。在本文所用實(shí)驗(yàn)平臺上設(shè)置了arm_flag[0], arm_flag[1], arm_flag[2], arm_flag[3]標(biāo)志信號,其初始值為0。

        DSP為發(fā)送數(shù)據(jù)端,ARM為接收數(shù)據(jù)端,約定如下:

        1)arm_flag[0]=1表示DSP準(zhǔn)備好后,ARM可以接收。

        2) arm_flag[2]!=2表示ARM端準(zhǔn)備好后,數(shù)據(jù)傳輸開始。

        3) arm_flag[2]=2 表示數(shù)據(jù)已傳輸完。

        DSP向ARM發(fā)送數(shù)據(jù)的具體算法流程如圖4所示。首先用一個(gè)循環(huán)查詢判斷arm_flag[0]是否為1,如果為1則表示DSP已準(zhǔn)備就緒,可以發(fā)送數(shù)據(jù),程序繼續(xù)判斷ARM端是否已經(jīng)準(zhǔn)備好;如果arm_flag[0]不為1,則代表DSP還沒準(zhǔn)備好發(fā)送數(shù)據(jù),程序繼續(xù)判斷arm_flag[0]是否為1。在arm_flag[0]=1的情況下,接著判斷arm_flag[2]是否為2,如果不為2,則代表數(shù)據(jù)沒有傳輸完,發(fā)送數(shù)據(jù)正式開始,用一個(gè)while循環(huán),只要arm_flag[2]不為2就一直傳輸數(shù)據(jù);如果為2,則代表本次數(shù)據(jù)傳輸完了,并設(shè)置arm_flag[2]為初始值0,開始下一幀數(shù)據(jù)的傳輸判斷。

        圖4 DSP給ARM傳送數(shù)據(jù)算法流程

        2.5 解碼程序說明

        G.729解碼程序主要包括以下部分:

        ·decoder.c 里面包含main()函數(shù)。

        ·bits.c 里面包含收到編碼參數(shù)的處理函數(shù)和解碼后發(fā)送數(shù)據(jù)的函數(shù)。

        ·basic_op.h 定義了一些基本算術(shù)函數(shù),解碼算法里的計(jì)算過程調(diào)用了這些算術(shù)函數(shù)。

        ·basic_op.c 基本算術(shù)函數(shù)的函數(shù)體。

        ·de_acelp.c 用于固定碼本序號的解碼。

        ·dec_gain.c 用于自適應(yīng)碼本和固定碼本增益的解碼。

        ·dec_lag3.c 用于自適應(yīng)碼本序號的解碼。

        ·lsp_dec.c 用于LSP序號的解碼。

        ·dec_ld8k.c 用于重構(gòu)激勵(lì)信號和語音信號。

        decoder.c里面的main函數(shù)調(diào)用解碼程序用到的各個(gè)算法函數(shù),這些算法函數(shù)主要集中在de_acelp.c、dec_gain.c、dec_lag3.c、lsp_dec.c、dec_ld8k.c里面,這些算法函數(shù)又是調(diào)用basic_op.c里面定義的基本算術(shù)函數(shù)。

        2.6 解碼結(jié)果

        設(shè)輸入信號數(shù)組為serial[SERIAL_SIZE],這里我們自己造一個(gè)輸入信號數(shù)組,設(shè)它為for(i=0;i

        解碼結(jié)果輸出如圖5所示。

        圖5 輸出結(jié)果圖

        需要指出的是,這里解碼器為了將輸出變?yōu)楸忍亓饕员愀玫陌l(fā)送數(shù)據(jù),進(jìn)行了1bit→short int(即2字節(jié),16bit)轉(zhuǎn)換操作。

        同時(shí),因?yàn)榫幋a器中的比特分配并不是均勻的,例如某一個(gè)參數(shù)需要用5bit來表示,但是它并不是在內(nèi)存中用5bit表示,而是用了一個(gè)short int 型數(shù)據(jù)來表示的,所以解碼的輸入輸出結(jié)果的數(shù)組值個(gè)數(shù)與G.729理論上的16:1壓縮比有出入。

        3 結(jié)論

        本文從解碼的角度介紹了G.729編碼理論,給出了解碼的流程圖,并利用DSP產(chǎn)品TMS320DM642、CCS 6000以及實(shí)際系統(tǒng)開發(fā)平臺,提出了DSP與ARM接口的設(shè)計(jì)方法,成功地實(shí)現(xiàn)了語音信號的解碼工作。該方法具有低延遲、低速率、高語音質(zhì)量的優(yōu)點(diǎn)。

        下一步工作可以做:1) 結(jié)合TMS320DM642 DSP 指令的特點(diǎn)對代碼進(jìn)行優(yōu)化;2) 對G.729 C程序中某些小算法和數(shù)據(jù)存取方式進(jìn)行優(yōu)化。

        參考文獻(xiàn):

        [1] 張玉業(yè),鄧勇全,李玲遠(yuǎn).語音編解碼算法G.729的軟件實(shí)現(xiàn)[J].通信技術(shù), 2003(2).

        [2] ITU-T , Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP), International Telecommunication Union,1996

        [3] ITU-T , Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)Annex G, International Telecommunication Union,2007

        [4] 王炳錫, 語音編碼[M].西安:電子科技大學(xué)出版社,2002.

        [5] 吳海濤,G.729語音編解碼算法研究及DSP實(shí)現(xiàn)[D].哈爾濱:哈爾濱理工大學(xué),2005.

        [6] 李方慧,王飛,何佩琨,TMS320C6000系列DSP原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2003.

        2.4 ARM與DSP接口

        本文所用的系統(tǒng)開發(fā)平臺結(jié)構(gòu)主要由DSP、ARM以及FPGA組成,該文的主要工作是在TMS320DM642 DSP上實(shí)現(xiàn)G.729解碼算法,解碼后的數(shù)據(jù)需要傳送給ARM做后續(xù)處理。DSP與ARM的接口示意圖如圖3所示。

        圖3 DSP與ARM接口示意圖

        ARM和DSP之間是通過主機(jī)高速并行接口(HPI)實(shí)現(xiàn)數(shù)據(jù)通信的,通過兩端協(xié)商,約定以某些標(biāo)志位來協(xié)調(diào)通信并實(shí)現(xiàn)數(shù)據(jù)傳輸。在本文所用實(shí)驗(yàn)平臺上設(shè)置了arm_flag[0], arm_flag[1], arm_flag[2], arm_flag[3]標(biāo)志信號,其初始值為0。

        DSP為發(fā)送數(shù)據(jù)端,ARM為接收數(shù)據(jù)端,約定如下:

        1)arm_flag[0]=1表示DSP準(zhǔn)備好后,ARM可以接收。

        2) arm_flag[2]!=2表示ARM端準(zhǔn)備好后,數(shù)據(jù)傳輸開始。

        3) arm_flag[2]=2 表示數(shù)據(jù)已傳輸完。

        DSP向ARM發(fā)送數(shù)據(jù)的具體算法流程如圖4所示。首先用一個(gè)循環(huán)查詢判斷arm_flag[0]是否為1,如果為1則表示DSP已準(zhǔn)備就緒,可以發(fā)送數(shù)據(jù),程序繼續(xù)判斷ARM端是否已經(jīng)準(zhǔn)備好;如果arm_flag[0]不為1,則代表DSP還沒準(zhǔn)備好發(fā)送數(shù)據(jù),程序繼續(xù)判斷arm_flag[0]是否為1。在arm_flag[0]=1的情況下,接著判斷arm_flag[2]是否為2,如果不為2,則代表數(shù)據(jù)沒有傳輸完,發(fā)送數(shù)據(jù)正式開始,用一個(gè)while循環(huán),只要arm_flag[2]不為2就一直傳輸數(shù)據(jù);如果為2,則代表本次數(shù)據(jù)傳輸完了,并設(shè)置arm_flag[2]為初始值0,開始下一幀數(shù)據(jù)的傳輸判斷。

        圖4 DSP給ARM傳送數(shù)據(jù)算法流程

        2.5 解碼程序說明

        G.729解碼程序主要包括以下部分:

        ·decoder.c 里面包含main()函數(shù)。

        ·bits.c 里面包含收到編碼參數(shù)的處理函數(shù)和解碼后發(fā)送數(shù)據(jù)的函數(shù)。

        ·basic_op.h 定義了一些基本算術(shù)函數(shù),解碼算法里的計(jì)算過程調(diào)用了這些算術(shù)函數(shù)。

        ·basic_op.c 基本算術(shù)函數(shù)的函數(shù)體。

        ·de_acelp.c 用于固定碼本序號的解碼。

        ·dec_gain.c 用于自適應(yīng)碼本和固定碼本增益的解碼。

        ·dec_lag3.c 用于自適應(yīng)碼本序號的解碼。

        ·lsp_dec.c 用于LSP序號的解碼。

        ·dec_ld8k.c 用于重構(gòu)激勵(lì)信號和語音信號。

        decoder.c里面的main函數(shù)調(diào)用解碼程序用到的各個(gè)算法函數(shù),這些算法函數(shù)主要集中在de_acelp.c、dec_gain.c、dec_lag3.c、lsp_dec.c、dec_ld8k.c里面,這些算法函數(shù)又是調(diào)用basic_op.c里面定義的基本算術(shù)函數(shù)。

        2.6 解碼結(jié)果

        設(shè)輸入信號數(shù)組為serial[SERIAL_SIZE],這里我們自己造一個(gè)輸入信號數(shù)組,設(shè)它為for(i=0;i

        解碼結(jié)果輸出如圖5所示。

        圖5 輸出結(jié)果圖

        需要指出的是,這里解碼器為了將輸出變?yōu)楸忍亓饕员愀玫陌l(fā)送數(shù)據(jù),進(jìn)行了1bit→short int(即2字節(jié),16bit)轉(zhuǎn)換操作。

        同時(shí),因?yàn)榫幋a器中的比特分配并不是均勻的,例如某一個(gè)參數(shù)需要用5bit來表示,但是它并不是在內(nèi)存中用5bit表示,而是用了一個(gè)short int 型數(shù)據(jù)來表示的,所以解碼的輸入輸出結(jié)果的數(shù)組值個(gè)數(shù)與G.729理論上的16:1壓縮比有出入。

        3 結(jié)論

        本文從解碼的角度介紹了G.729編碼理論,給出了解碼的流程圖,并利用DSP產(chǎn)品TMS320DM642、CCS 6000以及實(shí)際系統(tǒng)開發(fā)平臺,提出了DSP與ARM接口的設(shè)計(jì)方法,成功地實(shí)現(xiàn)了語音信號的解碼工作。該方法具有低延遲、低速率、高語音質(zhì)量的優(yōu)點(diǎn)。

        下一步工作可以做:1) 結(jié)合TMS320DM642 DSP 指令的特點(diǎn)對代碼進(jìn)行優(yōu)化;2) 對G.729 C程序中某些小算法和數(shù)據(jù)存取方式進(jìn)行優(yōu)化。

        參考文獻(xiàn):

        [1] 張玉業(yè),鄧勇全,李玲遠(yuǎn).語音編解碼算法G.729的軟件實(shí)現(xiàn)[J].通信技術(shù), 2003(2).

        [2] ITU-T , Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP), International Telecommunication Union,1996

        [3] ITU-T , Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)Annex G, International Telecommunication Union,2007

        [4] 王炳錫, 語音編碼[M].西安:電子科技大學(xué)出版社,2002.

        [5] 吳海濤,G.729語音編解碼算法研究及DSP實(shí)現(xiàn)[D].哈爾濱:哈爾濱理工大學(xué),2005.

        [6] 李方慧,王飛,何佩琨,TMS320C6000系列DSP原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2003.

        一区二区免费中文字幕| 精品国产亚洲一区二区三区演员表| 亚洲日本va99在线| 亚洲AV成人综合五月天在线观看| 国产成人高清精品亚洲一区| 成人国产av精品麻豆网址| 一区二区三区国产高清视频| 亚洲av天堂在线免费观看| 97超碰国产成人在线| 亚洲人精品午夜射精日韩| 天天天天躁天天爱天天碰2018| 国产精品99久久久久久宅男| 久久精品伊人无码二区| 99精品国产成人一区二区在线| 精品蜜桃av免费观看| 人妻av有码中文字幕| 好吊妞无缓冲视频观看| 久久久精品人妻一区二区三区| 久久天天爽夜夜摸| 北岛玲精品一区二区三区| 亚洲综合精品一区二区| 伊人久久精品无码av一区| 亚洲欧美综合区自拍另类| 四虎影视永久在线精品| 亚洲激情人体艺术视频| 色青青女同性恋视频日本熟女 | 精品人妻无码中文字幕在线| 日韩毛片基地一区二区三区| 亚洲av成人精品日韩一区| 中文字幕人妻中文av不卡专区| 精品国产亚洲一区二区三区演员表 | 国产毛片av一区二区| 精品国产拍国产天天人| 永久免费av无码入口国语片| 国产在线精品一区二区| 免费国产一级特黄aa大片在线 | 女性女同性aⅴ免费观女性恋 | 一区二区三区手机看片日本韩国| 亚洲av少妇一区二区在线观看| 精品国产精品三级在线专区| 午夜精品久久久久久久久|