日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用

發(fā)布時間:2024/9/5 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http://www.ibm.com/developerworks/cn/linux/l-cn-jpeg/index.html



一、系統(tǒng)架構(gòu)

本文以一個實際的產(chǎn)品為例,來說明 JPEG 在其中的應(yīng)用。


?

本系統(tǒng)為一個嵌入式 Linux 網(wǎng)絡(luò)播放器,主要的功能為播放家庭網(wǎng)絡(luò)中的多媒體文件,在家庭客廳等環(huán)境中有著大量的應(yīng)用,它可以給用戶提供更方便快捷的媒體文件的播放方式,并能充分利用家庭音響系統(tǒng)的巨大功能,而非 PC 環(huán)境下有限的外部設(shè)備,大大改善了媒體文件的播放體驗。

系統(tǒng)主要的功能包括:


?

本系統(tǒng)架構(gòu)如下圖:


?

本系統(tǒng)是基于嵌入式 Linux 的一個應(yīng)用,使用的是 ucLinux 2.4.22,并使用了 microwindows 作為 GUI 界面,底層使用了 Linux kernel 的 FrameBuffer 作為顯示輸出。

此系統(tǒng)在兩個方面使用到了 JPEG 庫:

1、 UI 的顯示,即各種人機(jī)交互界面,考慮到用戶體驗,所以大量使用了貼圖來美化 UI

2、 JPEG 圖片文件的全屏播放,包括用戶手中的各種照片等

二、JPEG 概述

JPEG 是 Joint Photographic Experts Group 的縮寫,即 ISO 和 IEC 聯(lián)合圖像專家組,負(fù)責(zé)靜態(tài)圖像壓縮標(biāo)準(zhǔn)的制定,這個專家組開發(fā)的算法就被稱為 JPEG 算法,并且已經(jīng)成為了大家通用的標(biāo)準(zhǔn),即 JPEG 標(biāo)準(zhǔn)。 JPEG 壓縮是有損壓縮,但這個損失的部分是人的視覺不容易察覺到的部分,它充分利用了人眼對計算機(jī)色彩中的高頻信息部分不敏感的特點,來大大節(jié)省了需要處理的數(shù)據(jù)信息。

人眼對構(gòu)成圖像的不同頻率成分具有不同的敏感度,這個是由人眼的視覺生理特性所決定的。如人的眼睛含有對亮度敏感的柱狀細(xì)胞1.8億個,含有對色彩敏感的椎狀細(xì)胞0.08億個,由于柱狀細(xì)胞的數(shù)量遠(yuǎn)大于椎狀細(xì)胞,所以眼睛對亮度的敏感程度要大于對色彩的敏感程度。

總體來說,一個原始圖像信息,要對其進(jìn)行 JPEG 編碼,過程分兩大步:

1、 去除視覺上的多余信息,即空間冗余度

2、 去除數(shù)據(jù)本身的多余信息,即結(jié)構(gòu)(靜態(tài))冗余度

1、去除視覺上的多余信息

當(dāng)你拿到一個原始未經(jīng)處理的圖像,是由各種色彩組成的,即在一個平面上,有各種色彩,而這個平面是由水平和垂直方向上的很多點組成的。實際上,每個點的色彩,也即計算機(jī)能表示的每個像素點的色彩,能分解成紅、綠、藍(lán),即 RGB 三元色來表示,即這三種顏色的一定比例的混合就能得到一個實際的色彩值。


?

所以,實際上,這個平面的圖像,可以理解為除了水平 X 和垂直 Y 以外,還有一個色彩值的 Z 的三維的系統(tǒng)。Z 代表了三元色中各個分支 R/G/B 的混合時所占的具體數(shù)值大小,每個像素的 RGB 的混合值可能都有所不同,各個值有大有小,但臨近的兩個點的 R/G/B 三個值會比較接近。


?

由于這個原始圖像是由很多個獨立的像素點組成的,也就是說它們都是分散的,離散的。比如有些圖像的尺寸為640X480,就表示水平有640個像素點,垂直有480個像素點。

從上面的內(nèi)容,我們可以知道兩個相鄰的點,會有很多的色彩是很接近的,那么如何能在最后得到的圖片中,盡量少得記錄這些不需要的數(shù)據(jù),也即達(dá)到了壓縮的效果。

這個就要涉及到圖像信號的頻譜特性了。

圖像信號的頻譜線一般在0-6MHz范圍內(nèi),而且一幅圖像內(nèi),包含了各種頻率的分量。但包含的大多數(shù)為低頻頻譜線,只在占圖像區(qū)域比例很低的圖像邊緣的信號中才含有高頻的譜線。這個是對 JPEG 圖像壓縮的理論依據(jù)。

因此具體的方法就是,在對圖像做數(shù)字處理時,可根據(jù)頻譜因素分配比特數(shù):對包含信息量大的低頻譜區(qū)域分配較多的比特數(shù),對包含信息量低的高頻譜區(qū)域分配較少的比特數(shù),而圖像質(zhì)量并沒有可察覺的損傷,達(dá)到數(shù)據(jù)壓縮的目的。

將原始圖像這個色彩空間域,轉(zhuǎn)換為頻譜域,怎么轉(zhuǎn)呢,這個就用到了數(shù)學(xué)上的離散余弦變換,即 DCT(Discrete Cosine Transform) 變換。

DCT 是可逆的、離散的正交變換。變換過程本身雖然并不產(chǎn)生壓縮作用,但是變換后的頻率系數(shù)卻非常有利于碼率壓縮。即這個變換過程得到一個 DCT 變換系數(shù),而對這個系數(shù)可以再進(jìn)行更進(jìn)一步的處理,即所謂的量化。經(jīng)過量化,就能達(dá)到數(shù)據(jù)壓縮的作用了。

總體說來,這第一步,對圖像進(jìn)行編碼,去除多余的信息,要用到 DCT 變換中的正向 DCT(FDCT),然后再對變換的系數(shù)做量化(Quantization),這個過程就是依據(jù)的經(jīng)驗值,來處理人眼視覺系統(tǒng)所不敏感的高頻數(shù)據(jù),從而極大地減少了需要處理的數(shù)據(jù)量,這個是結(jié)合數(shù)學(xué)方法與經(jīng)驗值而做的處理。

2、去除數(shù)據(jù)本身的多余信息

利用 Huffman 編碼,來將最后的數(shù)據(jù)用無損的方式做壓縮,這個是純數(shù)學(xué)上的處理方式。

總體來說,上面的兩步即:

如果處理的是彩色圖像,JPEG 算法首先將 RGB 分量轉(zhuǎn)化成亮度分量和色差分量,同時丟失一半的色彩信息(空間分辨率減半)。然后,用 DCT 來進(jìn)行塊變換編碼,舍棄高頻的系數(shù),并對余下的系數(shù)進(jìn)行量化以進(jìn)一步減小數(shù)據(jù)量。最后,使用 RLE 行程編碼和 Huffman 編碼來完成壓縮任務(wù)。

三、JPEG 原理詳細(xì)分析

下面將更加詳細(xì)地介紹這兩步中的各個細(xì)節(jié)。

JPEG 編碼中主要涉及到的內(nèi)容主要包括:

1. Color Model Conversion (色彩模型)

2. DCT (Discrete Cosine Transform 離散余弦變換)

3. 重排列 DCT 結(jié)果

4. 量化

5. RLE 編碼

6. 范式 Huffman 編碼

7. DC 的編碼


?

1、色彩空間 color space

在圖像處理中,為了利用人的視角特性,從而降低數(shù)據(jù)量,通常把 RGB 空間表示的彩色圖像變換到其他色彩空間。

現(xiàn)在采用的色彩空間變換有三種:YIQ,YUV 和 YCrCb。

每一種色彩空間都產(chǎn)生一種亮度分量信號和兩種色度分量信號,而每一種變換使用的參數(shù)都是為了適應(yīng)某種類型的顯示設(shè)備。


?

YUV 不是哪個英文單詞的縮寫,而只是符號,Y 表示亮度,UV 用來表示色差,U、V 是構(gòu)成彩色的兩個分量;

YUV 表示法的重要性是它的亮度信號(Y)和色度信號(U、V)是相互獨立的,也就是 Y 信號分量構(gòu)成的黑白灰度圖與用 U、V 信號構(gòu)成的另外兩幅單色圖是相互獨立的。由于 Y、U、V 是獨立的,所以可以對這些單色圖分別進(jìn)行編碼。此外,黑白電視能接收彩色電視信號也就是利用了 YUV 分量之間的獨立性。

舉例來說明一下:

要存儲 RGB 8∶8∶8的彩色圖像,即 R、G 和 B 分量都用8位二進(jìn)制數(shù)(1個字節(jié))表示,圖像的大小為640×480像素,那么所需要的存儲容量為640×480×(1+1+1)=921 600字節(jié),即900KB,其中(1+1+1)表示 RGB 各占一個字節(jié)。


?

如果用 YUV 來表示同一幅彩色圖像,Y 分量仍然為640×480,并且 Y 分量仍然用8位表示,而對每四個相鄰像素(2×2)的 U、V 值分別用相同的一個值表示,那么存儲同樣的一幅圖像所需的存儲空間就減少到640×480×(1+1/(2*2)+1/(2*2))=460 800字節(jié),即450KB。也就是把數(shù)據(jù)壓縮了一半。


?

無論是用 YIQ、YUV 和 YCrCb 還是其他模型來表示的彩色圖像,由于現(xiàn)在所有的顯示器都采用 RGB 值來驅(qū)動,這就要求在顯示每個像素之前,須要把彩色分量值轉(zhuǎn)換成 RGB 值。

對電視機(jī),在考慮人的視覺系統(tǒng)和電視陰極射線管(CRT)的非線性特性之后,RGB 和 YUV 的對應(yīng)關(guān)系可以近似地用下面的方程式表示:


?

即:

Y=0.3R+0.59G+0.11B

U=B-Y

V=R-Y

對計算機(jī)而言,計算機(jī)用的數(shù)字域的色彩空間變換與電視模擬域的色彩空間變換不同,它們的分量使用 Y、Cr 和 Cb 來表示,與 RGB 空間的轉(zhuǎn)換關(guān)系如下:


?

從這里,就可以看出,計算出來的 Y、Cr 和 Cb 分量,會出現(xiàn)大量的小數(shù),即浮點數(shù),從而導(dǎo)致了在 JPEG 編碼過程中會出現(xiàn)大量的浮點數(shù)的運算,當(dāng)然經(jīng)過一定的優(yōu)化,這些浮點數(shù)運算可以用移位與加法這些計算機(jī)能更快速處理的方式來對其進(jìn)行編碼。

RGB 與 YCrCb 之間的逆變換關(guān)系可寫成如下的形式:


?

總體來說,上面講的這些內(nèi)容,主要就是對原始圖片,可以先進(jìn)行色彩空間的處理,使采集到的圖像數(shù)據(jù)有所減少。

請注意,實際上,JPEG 算法與色彩空間無關(guān),色彩空間是涉及到圖像采樣的問題,它和數(shù)據(jù)的壓縮并沒有直接的關(guān)系。

因此“RGB 到 YUV 變換”和“YUV 到 RGB 變換”不包含在 JPEG 算法中。JPEG 算法處理的彩色圖像是單獨的彩色分量圖像,因此它可以壓縮來自不同色彩空間的數(shù)據(jù),如 RGB,YcbCr 和 CMYK。

2、色彩深度 color depth

在圖像中,它是由很多個點來組成的,那么存儲每個像素點所用的位數(shù)就叫做像素深度。對一個圖片,這個值是可以有所不同的,從而會使得圖片的數(shù)據(jù)有多和少的區(qū)別。

一幅彩色圖像的每個像素用 R,G,B 三個分量表示,若每個分量用8位,那么一個像素共用3X8=24位表示,就說像素的深度為24 bit,每個像素可以是2的24次方=16 777 216種顏色中的一種。表示一個像素的位數(shù)越多,它能表達(dá)的顏色數(shù)目就越多。

在用二進(jìn)制數(shù)表示彩色圖像的像素時,除 R,G,B 分量用固定位數(shù)表示外,往往還增加1位或幾位作為屬性(Attribute)位。例如,RGB 5∶5∶5表示一個像素時,用2個字節(jié)共16位表示,其中 R,G,B 各占5位,剩下一位作為屬性位。在這種情況下,像素深度為16位,而圖像深度為15 位。

在用32位表示一個像素時,若 R,G,B 分別用8位表示,剩下的8位常稱為 alpha 通道(alpha channel)位,或稱為覆蓋(overlay)位、中斷位、屬性位。它的用法可用一個預(yù)乘 α 通道(premultiplied alpha)的例子說明。假如一個像素(A,R,G,B)的四個分量都用歸一化的數(shù)值表示,(A,R,G,B)為(1,1,0,0)時顯示紅色。當(dāng)像素為 (0.5,1,0,0)時,預(yù)乘的結(jié)果就變成(0.5,0.5,0,0),這表示原來該像素顯示的紅色的強(qiáng)度為1,而現(xiàn)在顯示的紅色的強(qiáng)度降了一半。

這個 alpha 值,在這里就用來表示該像素如何產(chǎn)生特技效果。

總體來說,圖像的寬高、分辨率越高,就是組成一幅圖的像素越多,則圖像文件越大;像素深度越深,就是表達(dá)單個像素的顏色和亮度的位數(shù)越多,圖像文件就越大。

只有黑白兩種顏色的圖像稱為單色圖像(monochrome),每個像素的像素值用1位存儲,它的值只有“0”或者“1”,一幅640×480的單色圖像需要占據(jù)37.5 KB的存儲空間。

而灰度圖像,即有色深的黑白圖像,如果每個像素的像素值用一個字節(jié)表示,而不是僅僅只有一位,那么灰度值級數(shù)就等于256級,每個像素可以是0~255之間的任何一個值,一幅640×480的灰度圖像就需要占用300 KB的存儲空間,類似上面說到過的 Y 分量。

3、離散余弦變換 DCT

將圖像從色彩域轉(zhuǎn)換到頻率域,常用的變換方法有:


?

DCT變換的公式為:


?

f(i,j) 經(jīng) DCT 變換之后,F(0,0) 是直流系數(shù),其他為交流系數(shù)。

還是舉例來說明一下。

8x8的原始圖像:


?

推移128后,使其范圍變?yōu)?-128~127:


?

使用離散余弦變換,并四舍五入取最接近的整數(shù):


?

上圖就是將取樣塊由時間域轉(zhuǎn)換為頻率域的 DCT 系數(shù)塊。

DCT 將原始圖像信息塊轉(zhuǎn)換成代表不同頻率分量的系數(shù)集,這有兩個優(yōu)點:其一,信號常將其能量的大部分集中于頻率域的一個小范圍內(nèi),這樣一來,描述不重要的分量只需要很少的比特數(shù);其二,頻率域分解映射了人類視覺系統(tǒng)的處理過程,并允許后繼的量化過程滿足其靈敏度的要求。

當(dāng)u,v = 0 時,離散余弦正變換(DCT)后的系數(shù)若為F(0,0)=1,則離散余弦反變換(IDCT)后的重現(xiàn)函數(shù) f(x,y)=1/8,是個常 數(shù)值,所以將 F(0,0) 稱為直流(DC)系數(shù);當(dāng) u,v≠0 時,正變換后的系數(shù)為 F(u,v)=0,則反變換后的重現(xiàn)函數(shù) f(x,y) 不是常數(shù),此時 正變換后的系數(shù) F(u,v) 為交流(AC)系數(shù)。

DCT 后的64個 DCT 頻率系數(shù)與 DCT 前的64個像素塊相對應(yīng),DCT 過程的前后都是64個點,說明這個過程只是一個沒有壓縮作用的無損變換過程。

單獨一個圖像的全部 DCT 系數(shù)塊的頻譜幾乎都集中在最左上角的系數(shù)塊中。

DCT 輸出的頻率系數(shù)矩陣最左上角的直流 (DC)系數(shù)幅度最大,圖中為-415;以 DC 系數(shù)為出發(fā)點向下、向右的其它 DCT 系數(shù),離 DC 分量越遠(yuǎn),頻率越高,幅度值越小,圖中最右下角為2,即圖像信息的大部分集中于直流系數(shù)及其附近的低頻頻譜上,離 DC 系數(shù)越來越遠(yuǎn)的高頻頻譜幾乎不含圖像信息,甚至于只含雜波。

DCT 本身雖然沒有壓縮作用,卻為以后壓縮時的"取"、"舍" 奠定了必不可少的基礎(chǔ)。

4、量化

量化過程實際上就是對 DCT 系數(shù)的一個優(yōu)化過程。它是利用了人眼對高頻部分不敏感的特性來實現(xiàn)數(shù)據(jù)的大幅簡化。

量化過程實際上是簡單地把頻率領(lǐng)域上每個成份,除以一個對于該成份的常數(shù),且接著四舍五入取最接近的整數(shù)。

這是整個過程中的主要有損運算。

以這個結(jié)果來說,經(jīng)常會把很多高頻率的成份四舍五入而接近0,且剩下很多會變成小的正或負(fù)數(shù)。

整個量化的目的是減小非“0”系數(shù)的幅度以及增加“0”值系數(shù)的數(shù)目。

量化是圖像質(zhì)量下降的最主要原因。

因為人眼對亮度信號比對色差信號更敏感,因此使用了兩種量化表:亮度量化值和色差量化值。


?

使用這個量化矩陣與前面所得到的 DCT 系數(shù)矩陣:


?

如,使用?415(DC系數(shù))且四舍五入得到最接近的整數(shù)


?

總體上來說,DCT 變換實際是空間域的低通濾波器。對 Y 分量采用細(xì)量化,對 UV 采用粗量化。

量化表是控制 JPEG 壓縮比的關(guān)鍵,這個步驟除掉了一些高頻量;另一個重要原因是所有圖片的點與點之間會有一個色彩過渡的過程,大量的圖像信息被包含在低頻率中,經(jīng)過量化處理后,在高頻率段,將出現(xiàn)大量連續(xù)的零。

5、“Z”字形編排

量化后的數(shù)據(jù),有一個很大的特點,就是直流分量相對于交流分量來說要大,而且交流分量中含有大量的0。這樣,對這個量化后的數(shù)據(jù)如何來進(jìn)行簡化,從而再更大程度地進(jìn)行壓縮呢。

這就出現(xiàn)了“Z”字形編排,如圖:


?

對于前面量化的系數(shù)所作的 “Z”字形編排結(jié)果就是:

底部 ?26,?3,0,?3,?3,?6,2,?4,1 ?4,1,1,5,1,2,?1,1,?1,2,0,0,0,0,0,?1,?1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 頂部

這樣做的特點就是會連續(xù)出現(xiàn)多個0,這樣很有利于使用簡單而直觀的行程編碼(RLE:Run Length Coding)對它們進(jìn)行編碼。

8×8圖像塊經(jīng)過 DCT 變換之后得到的 DC 直流系數(shù)有兩個特點,一是系數(shù)的數(shù)值比較大,二是相鄰8×8圖像塊的 DC 系數(shù)值變化不大。根據(jù)這個特點,JPEG 算法使用了差分脈沖調(diào)制編碼(DPCM)技術(shù),對相鄰圖像塊之間量化 DC 系數(shù)的差值(Delta)進(jìn)行編碼。即充分利用相鄰兩圖像塊的特性,來再次簡化數(shù)據(jù)。

即上面的 DC 分量-26,需要單獨處理。

而對于其他63個元素采用zig-zag(“Z”字形)行程編碼,以增加行程中連續(xù)0的個數(shù)。

6、行程編碼

Run Length Coding,行程編碼又稱“運行長度編碼”或“游程編碼”,它是一種無損壓縮編碼。

例如:5555557777733322221111111

這個數(shù)據(jù)的一個特點是相同的內(nèi)容會重復(fù)出現(xiàn)很多次,那么就可以用一種簡化的方法來記錄這一串?dāng)?shù)字,如

(5,6)(7,5)(3,3)(2,4)(l,7)

即為它的行程編碼。

行程編碼的位數(shù)會遠(yuǎn)遠(yuǎn)少于原始字符串的位數(shù)。

對經(jīng)過“Z”字形編排過的數(shù)據(jù),即可以用行程編碼來對其進(jìn)行大幅度的數(shù)據(jù)壓縮。

我們來用一個簡單的例子來詳細(xì)說明一下:

57,45,0,0,0,0,23,0,-30,-16,0,0,1,0,0,0,0 ,0 ,0 ,0,..,0

可以表示為

(0,57) ; (0,45) ; (4,23) ; (1,-30) ; (0,-16) ; (2,1) ; EOB

即每組數(shù)字的頭一個表示0的個數(shù),而且為了能更有利于后續(xù)的處理,必須是 4 bit,就是說,只能是 0~15,這是的這個行程編碼的一個特點。

7、范式 Huffman 編碼

在直流 DC 系數(shù)經(jīng)過上面的 DPCM 編碼,交流 AC 系數(shù)經(jīng)過 RLE 編碼后,得到的數(shù)據(jù),還可以再進(jìn)一補(bǔ)壓縮,即使用 Huffman 編碼來處理。

范式 Huffman 編碼即 Canonical Huffman Code,現(xiàn)在流行的很多壓縮方法都使用了范式哈夫曼編碼技術(shù),如 GZIB、ZLIB、PNG、JPEG、MPEG 等。

對上面的例子中 RLC 后的結(jié)果,對它的存儲,JPEG 里并不直接保存這個數(shù)值,這樣主要是為了提高效率。


?

對上面的例子內(nèi)容,就可以得到:

57 為第 6 組的,實際保存值為 111001,編碼為 (6,111001)

45編碼為 (6,101101)

23為(5,10111)

-30為(5,00001)

這個時候前面的例子就變?yōu)?#xff1a;

(0,6),111001 ; (0,6),101101 ; (4,5),10111; (1,5),00001; (0,4) ,0111 ; (2,1),1 ; (0,0)

這樣,括號里的數(shù)值正好再合成一個字節(jié),高4位是前面0的個數(shù),低4位描述了后面數(shù)字的位數(shù);后面被編碼的數(shù)字表示范圍是 -32767..32767。

使用上面這個表簡化后的內(nèi)容,再到 Huffman 編碼表里去查詢,從而得到最后的編碼。

如06對應(yīng) Huffman 表的111000,那么

69 = (4,5) --- 1111111110011001 (69=0x45=4*16+5 )

21 = (1,5) --- 11111110110

從而得到最后的結(jié)果:

111000 111001 ; 111000 101101 ; 1111111110011001 10111 ; 11111110110 00001…

使用范式 Huffman 編碼表的好處就是使得出現(xiàn)頻率高的數(shù)字小于8位,而出現(xiàn)頻率低的數(shù)字大于8位,這樣對整體而言,就會極大地減少數(shù)據(jù)量。

需要注意的是,在 JPG 文件中,一般有兩個 Huffman 表,一個是 DC 用,一個是 AC 用,它們是類似的。

對 DC 編碼的部分是單獨來處理的,并且是放在上面這個串的最前面。

總體來說,到目前為止,我們就得到了最后需要真正存儲用的簡化后,也即壓縮后的數(shù)據(jù)了。

四、JPEG文件存儲格式

介紹了 JPEG 的原理,我們再來結(jié)合一個具體的實例來詳細(xì)討論上面所涉及到的細(xì)節(jié)。

我們先來制作一個簡單的8X8大小的像素圖,然后把它存成JPEG格式。

方法是用 windows 的畫圖工具,定義一個8X8大小的圖,用一些色塊填充進(jìn)去,然后另存為 JPEG 格式,如 test8x8.jpg。如下圖所示:


?

保存成的文件后綴為 jpg,但按標(biāo)準(zhǔn)來說,它是一種 JFIF 格式標(biāo)準(zhǔn)的文件,里面的圖像的壓縮方式是 JPEG。

JFIF 是一個文件格式標(biāo)準(zhǔn),JPEG 是一個壓縮標(biāo)準(zhǔn),總體來說它們不是一個概念。

JFIF 是 JPEG File Interchange Format 的縮寫,也即 JPEG 文件交換格式。JFIF 是一個圖片文件格式標(biāo)準(zhǔn),它是一種使用 JPEG 圖像壓縮技術(shù)存儲攝影圖像的方法。JFIF 代表了一種"通用語言"文件格式,它是專門為方便用戶在不同的計算機(jī)和應(yīng)用程序間傳輸 JPEG 圖像而設(shè)計的語言。

JFIF 文件格式定義了一些內(nèi)容是 JPEG 壓縮標(biāo)準(zhǔn)未定義的,如 resolution/aspect ratio,color space 等。


?

我們可以打開 JPEG 文件查看里面的內(nèi)容,即可看到上面的各個標(biāo)記段:


?

從圖上可以看出:

在頭部有 FFD8 ,表示圖像的開始;結(jié)束部分有 FFD9 ,表示圖像的結(jié)束。

在中間有兩個量化表 DQT 對應(yīng)的標(biāo)記 FFDB ;

還有圖像大小信息對應(yīng)的 FFC0

再后面有四個 Haffman 表對應(yīng)的 FFC4 ;

一般一個 JPG 文件里會有 2 類 Haffman 表:一個用于 DC 一個用于 AC ,也即實際有 4個表,亮度的 DC,AC 兩個,色度的 DC,AC 兩個。

然后是圖像數(shù)據(jù)段標(biāo)記 FFDA;

我們再來看看各個標(biāo)記的細(xì)部,具體分析一下各個部分的含義。

1、圖片的識別信息


?

上面的內(nèi)容,在標(biāo)記 FFE0 后,即為長度16。然后是5字節(jié)的 JFIF 標(biāo)識符號,說明這是一個 JPEG 壓縮的文件。然后是主/次版本號碼。下一個為 XY 像素的單位,這里為1,表示單位為點數(shù)/英寸。然后是 XY 方向的像素密度,這里是 96DPI,最后是縮略圖有關(guān)信息,這里為0。

2、量化表的實例


?

上面這個內(nèi)容,FFDB 標(biāo)記后的長度值為67,接下來的是 QT 信息,占一個字節(jié);這里是0,表示這個 QT 表編號為0,并且精度是8bit。然后后面就是64個8x8的 QT 表的各個 item 了。

也即第一個 DQT 量化表的內(nèi)容表示為十進(jìn)制是:


?

這個表即為 JPEG 亮度量化表。

第二個量化表的內(nèi)容為:


?

這個表的內(nèi)容即為 JPEG 色度量化表。

當(dāng)你打開不同的 JPEG 文件,你會看到這兩個表可能也是會有區(qū)別的。這個主要是使用了不同的量化方式的結(jié)果。

3、圖像信息段


?

上面這個內(nèi)容,FFC0 標(biāo)記后即是長度,為17,然后是一個字節(jié)的數(shù)據(jù)精度,通常是為8,代表樣本位數(shù)。接下來是圖片的高度,占兩字節(jié),這里即為8,然后是圖片的寬度,也為8,這也就是我們定義的8x8的內(nèi)容。然后是 component 的個數(shù),這里是3,表示 YUV。接下來是三組數(shù)據(jù),每組數(shù)據(jù)里,第一個是 component ID,第二個是采樣系數(shù),這里 Y 的采樣系數(shù)為22,說明垂直是2,水平是2。再后面就是量化表的編號了。

4、Haffman 表的實例


?

上面這個內(nèi)容,FFC4 標(biāo)記后的內(nèi)容為數(shù)據(jù)長度,再接著的1字節(jié)為 Huffman Table 的信息,低4位是 HT ID 號,第5位是 HT 表類型標(biāo)記,再高三位是為0。

第一個 DHT 表,00,類型為 DC table,HT ID 號為 0;

第二個 DHT 表,10,類型為 AC table,HT ID 號也為 0;

第三個 DHT 表,01,類型為 DC table,HT ID 號為 1;

第四個 DHT 表,11,類型為 AC table,HT ID 號為 1;

即前兩個表為Y亮度分量的 DC/AC 表,后兩個為 UV 色度分量的 DC/AC 表。

以第一個表為例,因為長度只有 31,那么 00 后面的 16 字節(jié),即綠色部分:


?

組號為 1 的組中,代碼有 0 個;

組號為 2 的,代碼有 1 個;

組號為 3 的代碼有 5 個;

組號為 4/5/6/7/8/9 的代碼各 1 個。

總共 12 個。

再看后續(xù)的數(shù)據(jù):

00 01 02 03 04 05 06 07 08 09 0A 0B

即對應(yīng):


?

其他未出現(xiàn)的組號,對應(yīng)的數(shù)據(jù)未使用到。也就是說前面提到過的范式 Huffman 編碼里,目前只使用部分?jǐn)?shù)據(jù)即可,原因是這個 8x8 的圖像數(shù)據(jù)很小。

第二個 DHT 表就更復(fù)雜些了,長度有 181。

5、圖像數(shù)據(jù)段


?

這里 SOS 段,長度為 12,后面所含有的 component 數(shù)量為 3 個,也即 Y UV。然后后面是各 component 的編號,及對應(yīng)所使用的 Huffman 表的 ID 是多少。

在這個段的后面就是所有壓縮后的數(shù)據(jù)。直到結(jié)束的問題,即 FFD9,EOI(End Of Image)。

五、JPEG 壓縮過程的優(yōu)化

JPEG 在目前的應(yīng)用范圍是非常廣泛的,各種嵌入式系統(tǒng)中也大量地使用了 JPEG 壓縮,如 IPCAM 攝像頭、數(shù)字相機(jī)、移動存貯等。在這些領(lǐng)域由于傳輸數(shù)據(jù)的帶寬限制或者是存貯數(shù)據(jù)的容量的限制,常常需要使用圖像壓縮技術(shù)來將原始大量的圖像數(shù)據(jù)壓縮后在進(jìn)行傳輸或存貯,以充分利用帶寬與存貯空間,達(dá)到更好的利用效率。這樣,在嵌入系統(tǒng)中,就會使用到 JPEG 壓縮。而且由于嵌入系統(tǒng)的資源有限的特點,在很多情況下,很需要再對 JPEG 編碼壓縮的過程做更進(jìn)一步的優(yōu)化,我們這里詳細(xì)討論一下如何實現(xiàn)這些優(yōu)化。

浮點運算的優(yōu)化

我們回頭查看一下 JPEG 壓縮中的 DCT 變換過程,公式:


?

由于公式中有兩個 i/j=0~7 的部分,這樣要獲得一個 DCT 系數(shù),需要做 8 x 8=64 次乘法和 8 x 8=64 次加法, 而完成整個 8 x 8 像素的 DCT 需要 8 x 8 x 8 x 8=4096 次乘法和 8 x 8 x 8 x 8=4096 次加法. 計算量是相當(dāng)?shù)拇蟆?/p>

對于有些無浮點運算的嵌入式系統(tǒng)或無專門的數(shù)學(xué)運算協(xié)處理器的系統(tǒng),會造成大量的運算,極大地占用CPU的資源。

上面的公式屬于 DCT 的二維計算方式,經(jīng)過簡化,可以將其簡化為兩個一維的公式:


?

這樣,上面的過程就可以簡化為分別計算行和列的 DCT 變換。

對于一行來說需要計算的是 (8 x 8) 次乘法和 (8 x 8) 次加法,8 行就是 8 x (8 x 8) 次乘法和 8 x (8 x 8) 次加法,然后列也是相同,那么總數(shù)就為 2 x (8 x (8 x 8))=1024 次乘法和 2 x (8 x (8 x 8))=1024 次加法, 運算量變?yōu)槎S計算的1/4。

但是這樣的運算數(shù)量還是太大,還需要進(jìn)一步優(yōu)化。

在很多嵌入系統(tǒng)中,很多情況下需要不使用浮點運算,這樣就需要再找出一維 DCT 的一些規(guī)律,然后對其進(jìn)行進(jìn)一步的優(yōu)化。

在對一維 DCT 的運算中,還可以分為奇數(shù)列/行和偶數(shù)列/行


?

對上面的處理,就又出現(xiàn)了多種優(yōu)化:ChenDCT,LeeDCT,AAN 算法和 LLM 算法。

其中 AAN 算法只需要 29 次加法和 5 次乘法。(注意,它是指每次一維運算要 29 次加法和 5 次乘法,一共是需要 29*8*2 次加法和 5*8*2 次乘法的)。


?

其中 Y[0]-Y[7] 都是 1*8 的矩陣,X[1]-X[7] 也都是 1*8 的矩陣。

{a, b, c, d, e, f, g} = 1/2 { cos(pi/4), cos(pi/16), cos(pi/8), cos(3pi/16), cos(5pi/16), cos(3pi/8), cos(7pi/16) }

再對上面的含有 pi 的系數(shù)進(jìn)行整數(shù)優(yōu)化,從而避免浮點運算,就會得到:


?

其中:

3/8=1/4+1/8

5/8=1/2+1/8

7/8=1-1/8

上面的除以 2,除以 8,都可以通過移位來實現(xiàn),即右移一位和右移三位。即總數(shù)為 30 次加法,12 次移位即可。

這樣就在很大程度上將原本需要使用乘法,浮點運算的過程全部轉(zhuǎn)換成了簡單的加法和移位處理了,這樣使用數(shù)學(xué)的方法,用近似的值來完成整個轉(zhuǎn)換過程,會有很好的性能和處理效果。

在處理上面的數(shù)據(jù)中,可以使用一些中間變量來記錄中間結(jié)果,這樣就可以減少反復(fù)計算中間值,而直接使用已經(jīng)計算得到了的中間值。

tmp0 = x[0] + x[7];

tmp7 = x[0] - x[7];

tmp1 = x[1] + x[6];

tmp6 = x[1] - x[6];

tmp2 = x[2] + x[5];

tmp5 = x[2] - x[5];

tmp3 = x[3] + x[4];

tmp4 = x[3] - x[4];

tmp10 = tmp0 + tmp3;

tmp13 = tmp0 - tmp3;

tmp11 = tmp1 + tmp2;

tmp12 = tmp1 - tmp2;

/* 對偶數(shù)項進(jìn)行運算 X 0,4,6,2 */

X[0]=tmp1+tmp11;

X[4]=tmp10 /2 - tmp11

X[6]=tmp12-(tmp13/4+ tmp13/8);

X[2]=tmp12/4+tmp12/8-tmp13;

其他的各個值也是類似處理的。

六、JPEG 在本嵌入式 Linux 應(yīng)用中遇到的問題

在本系統(tǒng)中,提供給用戶一些播放圖片和預(yù)覽圖片的功能,在這個過程中就需要使用到對 JPEG 的處理。

1、JPEG 出錯的處理

在對圖片做預(yù)覽處理的時候,有些圖片原始尺寸很大,那么就需要將其轉(zhuǎn)換成較小的縮略圖,在轉(zhuǎn)換為縮略圖進(jìn)行顯示時,遇到了一個問題,即有時需要顯示的圖片,會導(dǎo)致系統(tǒng)無響應(yīng)。

后來查找原因,定位到 JPEG 文件的數(shù)據(jù)不完整,才導(dǎo)致 jpeg decoder 出現(xiàn)無響應(yīng)。

在前面的部分,有說到 JPEG 文件的格式中,JPEG 結(jié)束的標(biāo)記 EOI (End Of Image) 為“FFD9”。

如果需要顯示的圖片,在傳輸過程中,或轉(zhuǎn)換過程中,出現(xiàn)了沒有 EOI 數(shù)據(jù),那么應(yīng)該在程序中,將其廢棄,避免出現(xiàn)系統(tǒng)無響應(yīng)。

2、JPEG 解碼的效率優(yōu)化

在解碼 JPEG 時,可以使用 software decode 或 hardware decode 來處理。Hardware decode 的優(yōu)點是充分利用 DSP 所提供的硬件解碼功能,其解碼速度會較 software decode 有數(shù)量級的提高。但有時使用 hardware decode 有一些限制,如各種 DSP 提供的 SDK 會是直接訪問硬件,將 jpeg 直接輸出到顯示設(shè)備,從而會導(dǎo)致 hardware decode 與應(yīng)用系統(tǒng)集成的麻煩。

而使用 software decode,就能在應(yīng)用層完全掌握 jpeg decode 的數(shù)據(jù)緩沖結(jié)果,并可做一些圖片的疊加效果或?qū)ζ溥M(jìn)行半透明混合處理,從而會有較高的靈活性。并且使用 decode buffer cache,來將已經(jīng)解碼的數(shù)據(jù)進(jìn)行保存,在 UI 后續(xù)的使用中,就可不必反復(fù)去解碼 JPEG 圖片,從而也能有效提高繪圖效率。

七、總結(jié)

上面的內(nèi)容是本人對 JPEG 原理做的一個詳細(xì)的實例分析,還介紹了 JPEG 編碼過程中對浮點運算的優(yōu)化處理,它特別適用于在資源有限的嵌入系統(tǒng)中避免大量的浮點運算。

在對 JPEG 原理做了一個詳細(xì)的分析后,大家會對 JPEG 涉及到的各個細(xì)節(jié)有了一個更加明確的認(rèn)識。當(dāng)你自己動手結(jié)合 JPEG 編碼過程來分析時,將會有一個清楚的全局觀。

本文結(jié)合應(yīng)用實例,對在嵌入式 Linux 應(yīng)用中遇到的 JPEG 有關(guān)的問題,做了一個說明,大家在自己的設(shè)計過程中也可以作為參考。

現(xiàn)在,你如果再回頭去看 JPEG 的原理,你現(xiàn)在應(yīng)該能看懂它整個過程的來龍去脈了。


參考資料

  • 在?developerWorks Linux 專區(qū),找到更多針對 Linux 開發(fā)人員的資源,并閱覽我們的?最流行的文章和教程。?

  • 在 developerWorks 上查閱所有?Linux 技巧?和?Linux 教程。?

關(guān)于作者

余濤,高級軟件工程師,現(xiàn)從事 linux 嵌入式系統(tǒng)的開發(fā)工作,主要研究方向嵌入系統(tǒng),UPNP 多媒體播放系統(tǒng)。您可以通過電子郵件?yut616@21cn.com?和他聯(lián)系。希望能與更多的朋友交流關(guān)于 Linux 方面的知識。


總結(jié)

以上是生活随笔為你收集整理的JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

美国人与动物xxxx | 免费 在线 中文 日本 | 久久久久国产一区二区三区四区 | 亚洲第一伊人 | 欧美综合在线观看 | 五月婷婷中文网 | 黄色精品一区二区 | 特级毛片网站 | 欧美精品在线视频观看 | 精品久久免费看 | 日本中文字幕在线免费观看 | 久久精品美女视频网站 | 日韩午夜在线播放 | 五月婷婷开心中文字幕 | 一本一本久久a久久精品牛牛影视 | 中文区中文字幕免费看 | 91精品一区二区三区蜜臀 | 91精品爽啪蜜夜国产在线播放 | 成人国产在线 | 2021国产在线 | 亚洲国产美女精品久久久久∴ | 国产一区二区在线免费观看 | 亚洲欧美婷婷六月色综合 | 91夫妻视频 | 日韩欧美在线免费 | 伊人精品在线 | 91三级在线观看 | 五月婷婷丁香六月 | 国产成人精品一区一区一区 | av经典在线| 亚洲黄污| 天海冀一区二区三区 | 欧美地下肉体性派对 | 亚洲精品av在线 | 五月天堂网 | 在线欧美a | 亚洲精品乱码白浆高清久久久久久 | 在线看黄网站 | 日韩一区二区三区免费视频 | 国产v视频| 久久美女精品 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 精品国产一区二区三区四区在线观看 | 国产亚洲在| 免费在线观看午夜视频 | 国产在线久久久 | 久久综合操 | 成在线播放 | 欧美日本一区 | 亚洲精品国产成人av在线 | 99热在 | 成人黄色电影在线观看 | 日韩电影在线观看一区二区三区 | 欧美日韩高清一区 | 91精品国产乱码久久 | 黄色av电影一级片 | 国产日韩欧美在线免费观看 | 丁香花中文在线免费观看 | 国产黄色精品在线 | 中文字幕日韩有码 | 亚洲在线精品视频 | 久久国产电影院 | 日韩高清免费无专码区 | 激情久久综合网 | 又紧又大又爽精品一区二区 | 一区二区不卡在线观看 | 久久电影网站中文字幕 | 日日夜夜婷婷 | 狠狠干天天射 | 久久国产精品99久久久久久老狼 | 午夜精品久久 | 99热免费在线 | 天天干,天天插 | 久久公开视频 | 九九交易行官网 | 日韩精品久久久久久久电影99爱 | 91在线免费视频 | 欧美射射射 | 久久中文字幕视频 | 成人一区在线观看 | 日本一区二区高清不卡 | 在线97 | 91亚洲精品久久久蜜桃网站 | 99精品视频网站 | 免费看黄色小说的网站 | 亚洲区色 | 91传媒免费观看 | 99re国产视频 | 色天天久久 | 日日夜夜精品视频 | 精品一二三区 | 久久久人人爽 | 91免费高清观看 | 激情 亚洲 | 久久综合色综合88 | 天堂在线视频免费观看 | 欧美精品v国产精品 | 日一日干一干 | 国产视频日本 | 99精品国产免费久久久久久下载 | 91av大全 | 国产精品孕妇 | 欧美日韩国产色综合一二三四 | 国产精品一区二区久久久久 | 欧美日韩综合在线 | 天天操天天摸天天爽 | 91视视频在线直接观看在线看网页在线看 | 欧美成人精品在线 | 夜夜干夜夜 | 一区二区三区在线免费观看视频 | 亚洲欧美成人 | 婷婷色站 | 欧美日韩一区二区三区视频 | 欧美精品你懂的 | 91夫妻自拍| 正在播放国产一区 | 久久久免费观看视频 | 国产一区电影在线观看 | 521色香蕉网站在线观看 | 亚洲黄污 | 国产成a人亚洲精v品在线观看 | 久久综合狠狠综合久久狠狠色综合 | 亚洲精品国产片 | 国产精品v欧美精品 | 一区二区三区高清在线 | 99久久99视频| 亚洲精品一区二区18漫画 | 久久夜色电影 | 在线观看黄色的网站 | 久草网站在线 | 欧美国产日韩在线观看 | 亚洲国产精品va在线看黑人 | 高清免费在线视频 | 亚洲精品乱码久久久久v最新版 | 欧美一区二区三区特黄 | 中文字幕免费高清av | 日韩欧美大片免费观看 | 国产69精品久久久久9999apgf | 999国内精品永久免费视频 | 在线视频福利 | 亚洲一片黄 | 日韩视频一区二区 | 午夜精品福利一区二区 | 精品久久国产一区 | 97人人模人人爽人人少妇 | 精品国产电影 | 激情av一区二区 | 免费三级av| 欧美性脚交 | 久久综合狠狠狠色97 | 欧美 日韩 国产 成人 在线 | 免费91麻豆精品国产自产在线观看 | 亚洲黄色在线 | 9999在线观看 | 一级α片 | 欧美成人xxxxx | 在线黄色免费 | 在线国产高清 | 色婷婷色 | 最近最新中文字幕 | 亚洲久在线| 免费福利视频网站 | 精品999在线观看 | 91久久国产露脸精品国产闺蜜 | 天天艹天天干天天 | a视频在线播放 | 波多野结衣动态图 | 一区二区视频免费在线观看 | 国产99久久九九精品免费 | 草久在线| 久久久久久久久久电影 | 久久精品久久国产 | 成人免费中文字幕 | 日韩欧美高清视频在线观看 | 九七视频在线观看 | 久久精品视频国产 | 亚洲一级性 | 日韩aa视频 | 国产精品岛国久久久久久久久红粉 | 免费看黄网站在线 | 亚洲 精品在线视频 | 2024av| 日韩欧美在线高清 | 成人在线播放视频 | 久草视频在线免费 | 91精品网站在线观看 | 亚洲精品国产精品国自产观看浪潮 | 黄色av一区二区三区 | 天天爱天天 | 18做爰免费视频网站 | 亚洲国产高清在线观看视频 | www.com久久 | 国产一区视频导航 | 偷拍久久久 | jizz欧美性9 国产一区高清在线观看 | 国产成人精品一区二区三区福利 | 91精品天码美女少妇 | 国产精品入口a级 | 日本久久高清视频 | 手机看片午夜 | 久久天天躁夜夜躁狠狠躁2022 | 91男人影院| 亚洲另类xxxx | 五月天婷亚洲天综合网鲁鲁鲁 | 手机av电影在线 | 五月婷婷黄色 | 亚洲综合色丁香婷婷六月图片 | 99热999 | 国产一区二区网址 | 天天·日日日干 | 亚洲永久精品国产 | 国产精品99久久久久人中文网介绍 | 成年人免费电影 | 久久久综合电影 | 青草视频在线 | 五月婷婷综合网 | 久久电影国产免费久久电影 | 欧美日韩久久 | 亚洲精品久久久久www | 色之综合网 | 午夜精品久久久久久久久久久久久久 | 国产成人精品国内自产拍免费看 | 一级黄色大片在线观看 | 99视频国产在线 | 夜夜干天天操 | 久久99在线视频 | 久久国产精品色婷婷 | 国产一区视频导航 | 国产精品国产三级国产aⅴ无密码 | 国产成人精品免高潮在线观看 | 日批视频在线播放 | 国产 日韩 在线 亚洲 字幕 中文 | 日日狠狠| 天堂麻豆 | 久草综合视频 | 国产一区二区在线精品 | 欧美日韩国产一区二区在线观看 | 欧美激情视频一二区 | 久久久久久久毛片 | 懂色av懂色av粉嫩av分享吧 | 中文字幕观看视频 | 亚洲精品在线一区二区三区 | 五月在线视频 | 超碰人人在线观看 | 久草在线久草在线2 | 九九九九九国产 | 国产精品乱码久久久久久1区2区 | 亚洲 中文 在线 精品 | 97视频资源| 日韩电影中文 | 一区二区不卡 | 91热| 色天天综合久久久久综合片 | 天天摸天天操天天舔 | 亚洲va欧美va | 激情五月播播久久久精品 | 午夜视频导航 | 婷婷在线不卡 | 超碰在线天天 | 欧美一级日韩免费不卡 | 日韩在线免费电影 | 日精品在线观看 | 久久久久久国产精品免费 | 欧美日韩在线观看一区二区 | 91天堂影院| 色99视频 | 午夜精品久久久久久久久久 | 成人久久久久久久久 | 久久与婷婷 | 美女黄网久久 | 日日躁你夜夜躁你av蜜 | 黄色视屏免费在线观看 | 女人18毛片a级毛片一区二区 | av电影中文字幕在线观看 | 免费在线观看不卡av | 91久久久久久久一区二区 | 黄在线免费看 | 国产精品美女久久久久久免费 | 黄色成人av| 高清av不卡 | 成人高清在线观看 | 激情黄色av | 欧美天堂视频在线 | 日日爽日日操 | 亚洲电影影音先锋 | 99精品乱码国产在线观看 | 国产精品一级在线 | 特黄特色特刺激视频免费播放 | 久久草草影视免费网 | 精品国产伦一区二区三区观看说明 | 国产亚洲精品久久久久秋 | www免费视频com | 波多野结衣精品视频 | 人人爽人人爽人人爽 | 97在线观看免费高清完整版在线观看 | 一性一交视频 | 亚洲区色| 天天婷婷 | 日韩免费电影一区二区三区 | 欧美另类激情 | 久久久久久久久久久影院 | av片子在线观看 | av在线之家电影网站 | 狠狠色丁香婷婷综合橹88 | 一区二区国产精品 | 99精品国产一区二区三区不卡 | 国产视频一区在线播放 | 国产91精品看黄网站 | 99在线热播 | 国产精品 中文在线 | 久久精品视频3 | 在线视频 一区二区 | 色综合天天 | 亚洲成人av电影在线 | 久久久久久欧美二区电影网 | 成人av高清在线观看 | 亚洲欧美日韩不卡 | 国产中文字幕在线观看 | 999在线视频 | 国产精品 国内视频 | 日韩久久精品一区二区 | 97在线视频免费看 | 亚洲午夜精品在线观看 | 黄色的视频网站 | 国产精品自产拍在线观看 | 91成人精品国产刺激国语对白 | 91 在线视频播放 | 日本在线观看一区 | 日韩在线视频网址 | 久久九九视频 | 色就是色综合 | 国产精品 999 | 韩日三级在线 | www·22com天天操| 亚洲欧美日韩在线看 | 亚洲一区二区三区四区在线视频 | 欧美日韩国产成人 | 中文字幕二区在线观看 | 国产最新福利 | 欧美日韩在线播放一区 | 黄色av电影 | 极品国产91在线网站 | 亚洲第一区精品 | 国产精品美女999 | 亚洲人成在线观看 | 色播激情五月 | 日韩视频区 | 国产视频资源 | 久久综合一本 | 日韩免费观看一区二区三区 | 欧美日本中文字幕 | 人人干狠狠干 | 精品99视频 | 91网址在线看 | 丁香在线视频 | 在线观看一区二区视频 | 99热官网 | 国产精品久久婷婷六月丁香 | 人人爱在线视频 | 91九色国产 | 337p西西人体大胆瓣开下部 | 日韩免费三区 | 色婷婷免费| 欧美小视频在线 | 国际精品久久 | 天天操天天摸天天射 | 国产又粗又猛又色 | 精品一区在线看 | 久热色超碰 | 狠狠干夜夜操 | 久久久久国产精品免费 | 黄色成人在线网站 | 福利视频一二区 | 国产精品入口麻豆www | 免费在线观看av网站 | 久久69精品| 高清av中文在线字幕观看1 | a电影免费看 | 久久99久久99 | 国产小视频免费在线网址 | 一本—道久久a久久精品蜜桃 | 国产色 在线| 成人免费在线观看电影 | 伊人网av| 欧美一级网站 | 国产精品免费在线观看视频 | 中文资源在线播放 | 99精品99 | 国产主播大尺度精品福利免费 | 中文字幕精品在线 | 国产黄色成人av | 久久久黄色免费网站 | 久久久久北条麻妃免费看 | 亚洲六月丁香色婷婷综合久久 | 人人爽人人爽人人片av | 久草在线视频看看 | 日韩免费观看一区二区 | 国产视频亚洲 | 久久精品久久精品久久精品 | 中文字幕免费观看全部电影 | 色婷婷久久久 | 精品在线观看国产 | 日韩av免费一区二区 | 中文字幕在线播放日韩 | 中文字幕资源站 | 国产色拍拍拍拍在线精品 | 免费在线观看中文字幕 | 91视频成人免费 | 在线免费观看黄网站 | 久久综合综合久久综合 | 日韩国产欧美在线视频 | www.夜夜| 99视频黄 | 色婷婷狠狠18 | 国产精品美女久久久久久2018 | 91资源在线播放 | 中文字幕视频网 | 久久久久久久久久久久久久电影 | 日韩精品视频在线观看免费 | 青春草视频 | 黄网站色视频免费观看 | 中字幕视频在线永久在线观看免费 | 久久99国产一区二区三区 | 人人射人人爽 | 亚洲免费色 | 涩涩爱夜夜爱 | 九九在线视频免费观看 | 久久久亚洲国产精品麻豆综合天堂 | 国产欧美综合在线观看 | 欧美黑人性爽 | 亚洲天天在线日亚洲洲精 | 黄色日本免费 | 最近2019中文免费高清视频观看www99 | 99国产在线 | 欧美视频二区 | 久久婷婷视频 | 欧美日韩午夜在线 | 青青久草在线 | 欧美激情综合五月色丁香 | 久久香蕉一区 | 久久久国产毛片 | 探花视频网站 | 国产一性一爱一乱一交 | 伊人五月天婷婷 | 亚洲国产精品久久久久 | av网站手机在线观看 | 国产日产精品久久久久快鸭 | 国产精品不卡一区 | 天天草天天爽 | 四虎在线免费观看 | 高清日韩一区二区 | 日韩理论片在线 | 婷婷在线五月 | 狠狠躁天天躁 | 在线天堂中文www视软件 | 天天干.com| 91亚洲综合 | 国产精品 中文在线 | 国内一级片在线观看 | 国产精品福利在线播放 | 成人一级影视 | 欧美日韩视频精品 | 三级av小说| 国产最顶级的黄色片在线免费观看 | 国产手机视频 | 久草在线视频免费资源观看 | 国产女人免费看a级丨片 | 精品成人免费 | 美女网站在线免费观看 | 久久免费视频1 | 久久激情小视频 | 久久毛片高清国产 | 国产一区欧美一区 | 色爱区综合激月婷婷 | 国产精品一区二区三区久久久 | 97韩国电影 | 亚洲人成人天堂h久久 | 婷婷伊人网 | 综合色伊人| 精品一区二区免费在线观看 | 午夜精品电影 | 欧美一级黄色网 | 久久精品国产一区二区三区 | 美女视频久久 | 四虎影视成人精品国库在线观看 | 鲁一鲁影院 | 日韩色在线 | 好看av在线| 五月天中文在线 | 干 操 插 | 色婷婷播放 | 亚洲第一成网站 | 国产一区国产精品 | 国精产品999国精产品视频 | 久久 地址 | 五月丁香 | 免费人人干 | 国产精品av久久久久久无 | 欧美日韩中文字幕综合视频 | 中文亚洲欧美日韩 | 99精品国产免费久久 | 激情视频区 | 在线中文字幕一区二区 | 一区二区三区在线电影 | 天天弄天天干 | 三级视频片| 黄色电影在线免费观看 | 伊色综合久久之综合久久 | 一区二区三区四区五区六区 | 国产精品自产拍在线观看桃花 | 久久五月婷婷综合 | 六月婷婷网 | 亚洲精品麻豆 | 国产二区免费视频 | 久久一区91 | 91精品秘密在线观看 | 天天干天天色2020 | 美女网站黄在线观看 | 在线观看一级视频 | 久久在线影院 | 国产剧情一区在线 | 国产精品 日韩精品 | 国产在线高清精品 | 国产精品一区在线观看 | 国产大陆亚洲精品国产 | 中文字幕在线观看完整 | 日韩有码欧美 | 四虎在线视频免费观看 | 又黄又刺激视频 | 色综合久久久久综合 | 99久久夜色精品国产亚洲 | 成人小视频在线观看免费 | 最新99热 | 99在线免费视频 | 日韩视频免费观看高清完整版在线 | 欧美a√大片 | 高清免费在线视频 | a级成人毛片 | 亚洲精品美女免费 | 日韩电影一区二区在线观看 | 久久av高清| 欧美在线不卡一区 | 免费日韩 精品中文字幕视频在线 | 免费高清在线视频一区· | 天堂久色 | 免费av片在线 | 密桃av在线 | 综合网av | 国产日韩视频在线播放 | 久久免费高清 | 国产精品一区二区吃奶在线观看 | 国产一级性生活 | 在线不卡a | 亚洲高清免费在线 | 亚洲女在线 | 免费看污片| 欧美污在线观看 | 精品视频999 | 日本韩国精品在线 | 在线免费观看黄色大片 | 久久超级碰视频 | 97色资源| 一区二区三区精品久久久 | 99久久久国产精品免费99 | 973理论片235影院9 | 人人揉人人揉人人揉人人揉97 | 精品中文字幕视频 | 91免费视频网站在线观看 | 免费欧美高清视频 | 成人91视频 | www.夜夜 | 日韩精品专区在线影院重磅 | 国产精品私人影院 | 日韩欧美在线高清 | av大片免费在线观看 | 午夜久久影视 | 日韩va在线观看 | avhd高清在线谜片 | 中文字幕在线免费观看 | 国产一区二区三区视频在线 | 一二三区视频在线 | 手机在线永久免费观看av片 | 日韩在线观看视频在线 | 久草综合在线 | 天天草综合 | 美女视频免费一区二区 | 久久免费的视频 | 色偷偷网站视频 | 91视频大全 | 日本在线观看视频一区 | 国产精品1区2区在线观看 | 久久艹人人 | 国产一级免费在线观看 | 亚洲电影久久久 | 日韩欧美在线免费 | 精品国产亚洲日本 | 一区二区视频在线免费观看 | 国产手机在线播放 | 亚洲电影av在线 | www夜夜操 | 久久久久久久久艹 | 草久中文字幕 | 天天操天天射天天操 | 丁香花五月 | 亚洲涩涩网 | 亚洲国产成人精品电影在线观看 | 一本色道久久精品 | 国产精品自产拍在线观看桃花 | 天天操综合网站 | 免费视频 你懂的 | 免费看的黄色小视频 | 91视频免费| 这里只有精彩视频 | 国产精品精 | 粉嫩一区二区三区粉嫩91 | 亚洲黄色av一区 | 国产精品乱码一区二三区 | 中文字幕在线观看第三页 | 四虎国产精品永久在线国在线 | 国产又粗又长的视频 | av电影在线播放 | 国产69精品久久99不卡的观看体验 | 免费黄a | 国产一区二区三区在线 | 国产精品 国内视频 | 久久久麻豆精品一区二区 | 欧美精品一区二区在线播放 | 美女久久网站 | 日日爱影视 | 午夜aaaa| 国产一卡久久电影永久 | 韩国av在线播放 | 91视频xxxx| 日韩激情免费视频 | 中文字幕123区 | 久久人人爽人人 | 久久麻豆精品 | 97夜夜澡人人爽人人免费 | 91中文字幕在线 | 狠狠躁夜夜av | 2019天天干天天色 | 欧美日韩二区三区 | 97超碰中文字幕 | 成人免费视频在线观看 | 爱爱av在线 | 99在线精品免费视频九九视 | 国内精品久久久久影院日本资源 | 婷婷色综合色 | 91日韩免费 | 欧美巨乳网 | 2019精品手机国产品在线 | 色视频网址 | 中文高清av | 日韩精品三区四区 | 美女视频黄,久久 | 西西人体4444www高清视频 | 九九热有精品 | 亚洲 欧美 综合 在线 精品 | 国产一区二区在线免费视频 | 亚洲精品动漫在线 | 在线观看www91 | 美女免费网站 | 精品视频一区在线观看 | 在线观看av国产 | 人成电影网 | 成人免费一级片 | 中文在线字幕免费观看 | av中文资源在线 | av千婊在线免费观看 | 久久看看 | 午夜av色| 欧美日韩精品久久久 | 激情综合色播五月 | 超碰个人在线 | 国产一区二区电影在线观看 | 色亚洲网 | 亚洲精品自在在线观看 | 日韩av免费在线电影 | 水蜜桃亚洲一二三四在线 | 国产高清在线免费观看 | 国产日产精品一区二区三区四区的观看方式 | 日韩av中文在线观看 | 字幕网在线观看 | 久久久久久网址 | 国产精品一区二区电影 | 国产精品永久在线观看 | 开心婷婷色 | 亚洲丝袜一区二区 | 久久久久久国产一区二区三区 | 国产精品久久伊人 | 97成人啪啪网 | 操久久网 | 高清在线一区 | 韩日色视频 | 久久婷婷视频 | 久久久久久久久久久久久久免费看 | 国产中文字幕大全 | 国产亚洲精品福利 | 成年人在线看视频 | 日韩理论在线观看 | 九九九在线观看视频 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 91黄色小视频 | 高清日韩一区二区 | 日日干天天射 | 亚洲精品免费播放 | 伊甸园永久入口www 99热 精品在线 | 毛片一级免费一级 | 国产精品美女久久久网av | www91在线| 日日夜夜中文字幕 | 国产免费观看久久黄 | 91大神精品视频在线观看 | 在线观看www91 | 91视视频在线直接观看在线看网页在线看 | 亚洲视频 一区 | 韩国av一区二区三区在线观看 | 婷婷丁香狠狠爱 | 亚洲成人午夜在线 | 中文字幕在线一区观看 | 久久精精品视频 | 91精品中文字幕 | 夜夜嗨av色一区二区不卡 | 久久伦理电影 | 97成人精品视频在线播放 | 国产精品麻豆欧美日韩ww | 久艹视频在线免费观看 | 国产精品免费人成网站 | 在线黄色av | 五月网婷婷 | 九九综合九九综合 | 在线观看成人 | 92中文资源在线 | 人人爽人人爽人人爽学生一级 | 欧美美女视频在线观看 | 国产少妇在线观看 | 亚洲黄色免费在线看 | 成人国产精品久久久久久亚洲 | 免费三级骚 | 高清精品在线 | 亚洲视频一 | av黄色大片| 国产视频97 | 99婷婷| 在线之家官网 | 五月天综合色激情 | 欧美日韩在线观看视频 | 中文字幕在线播放一区 | 国产亚洲人成网站在线观看 | 热久久免费视频 | 久久久久久久久福利 | 五月综合激情婷婷 | 国产99中文字幕 | 亚洲国产精品一区二区尤物区 | 中文字幕在线观看亚洲 | 99久久精品免费视频 | 91中文字幕视频 | 成人a在线观看 | 国产精品久久久久久久久久免费看 | 精品主播网红福利资源观看 | 91九色视频导航 | 韩日精品中文字幕 | 一区二区久久久久 | 欧美一区二区三区在线观看 | 国产精品视频久久久 | 中文字幕久久精品 | 激情久久伊人 | 久久成人国产精品一区二区 | 狠狠干狠狠久久 | 久草视频免费看 | 国产精品一区久久久久 | 亚洲91中文字幕无线码三区 | 香蕉在线视频播放网站 | 欧美资源 | 亚洲视频一级 | 久久久久久久久久久久久影院 | 国产美女精品视频 | 精品国产伦一区二区三区观看说明 | 久久久国产精品麻豆 | 精品欧美乱码久久久久久 | 日韩免费播放 | 天天干天天色2020 | 成人影视免费 | 西西4444www大胆视频 | 人人爽人人爽av | 在线观看视频一区二区三区 | 啪啪小视频网站 | 日日摸日日碰 | 国产成人61精品免费看片 | 美女激情影院 | 精品女同一区二区三区在线观看 | 免费福利视频网站 | 国产精品 日韩精品 | 久久久久久免费毛片精品 | 日本三级久久 | 91在线播放国产 | 96精品视频 | 精品国产欧美一区二区三区不卡 | 高清国产午夜精品久久久久久 | 久精品一区| 伊人黄色网 | 中文字幕在线免费观看 | 人人玩人人添人人澡超碰 | 久久国产精品99久久久久久老狼 | av看片在线观看 | 亚洲精品高清在线观看 | 成人av资源 | 人人看人人爱 | 500部大龄熟乱视频 欧美日本三级 | 999久久 | 成人性生活大片 | 五月天丁香 | 日本不卡123 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 成片免费 | 不卡电影一区二区三区 | 九九九热 | 国产成人精品久久久 | 超碰大片 | 亚洲人久久久 | 玖玖综合网 | 欧美日本一区 | 亚洲va欧美va人人爽春色影视 | 一级黄色片毛片 | www日韩在线| 亚洲成人在线免费 | 成人av地址| 99国产免费网址 | 国产精品 国产精品 | 在线亚洲人成电影网站色www | 国产成人精品综合 | 天天搞天天干天天色 | 麻豆国产露脸在线观看 | 欧美精品中文在线免费观看 | 中文亚洲欧美日韩 | 就操操久久| 国产精品久久久久婷婷二区次 | 久久成人麻豆午夜电影 | 成人免费一级 | 在线免费观看一区二区三区 | 在线国产99 | 天天操天天干天天干 | 国产精品不卡在线播放 | 在线观看视频在线观看 | 国产黄色大片免费看 | 在线观看av片 | 日韩电影中文字幕在线观看 | 99re6热在线精品视频 | 久久久受www免费人成 | 高清不卡一区二区在线 | 91 中文字幕 | 在线观看免费成人av | 91av超碰| 中文字幕在线观看免费观看 | 五月开心六月婷婷 | 色婷婷97 | 欧美色图亚洲图片 | 国产在线观看,日本 | 国产999精品久久久久久绿帽 | 亚洲少妇xxxx| 日日干日日| 天天色天天色天天色 | 国产色在线视频 | 国产精品久久久久久久久久ktv | 欧美男女爱爱视频 | 国内外成人在线视频 | 在线观看中文av | 国产一区二区三区黄 | www日日 | 久久综合视频网 | 九色精品免费永久在线 | 久久亚洲欧美日韩精品专区 | 在线不卡a | 国产精品乱码久久久久久1区2区 | 国产美女网站在线观看 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 24小时日本在线www免费的 | 午夜av大片 | 国产一区二区三区久久久 | av在线播放观看 | 玖玖在线看 | 久章草在线 | 国产精选视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 日韩视频一二三区 | 超碰97人| 91精品网站 | aaa毛片视频 | 一区二区三区四区精品 | 中文字幕在线观看视频免费 | 精精国产xxxx视频在线播放 | 日本韩国精品在线 | 狠狠狠色丁香综合久久天下网 | 一区二区中文字幕在线观看 | 久草影视在线观看 | 人人精久 | 国产高清精| 国产精品一区二区久久精品 | 日韩videos高潮hd | 在线电影播放 | 欧美va电影| 欧美片一区二区三区 | 丝袜精品视频 | 国产精品成久久久久三级 | 日韩av电影网站在线观看 | 免费观看视频黄 | av电影一区二区三区 | 黄色的视频网站 | 久久99久国产精品黄毛片入口 | 五月天国产 | 亚洲影院色 | 欧美日韩一区二区在线观看 | 欧美性久久久久久 | 久久深夜福利免费观看 | 欧美精品第一 | 国产99免费 | 久久久高清免费视频 | 成av在线| 亚洲精品动漫成人3d无尽在线 | 亚洲午夜精品久久久久久久久 | 99热在线免费观看 | 99久热在线精品视频观看 | 精品人人爽 | 色偷偷中文字幕 | 天天干夜夜干 | 成人av电影免费 | 日本中文字幕在线视频 | 色香蕉在线视频 | 久久一本综合 | 国产麻豆精品95视频 | 日日夜夜添 | 国产精品成人自拍 | 欧美性天天 | 色综合天天做天天爱 | 免费国产在线观看 | 瑞典xxxx性hd极品 | 欧美在线一二区 | 日韩欧美一二三 | 中文在线中文a | 日韩欧美视频免费看 | 一区二区三区四区免费视频 | 午夜电影久久久 | 黄色一及电影 | 日韩黄色中文字幕 | 中文字幕资源网在线观看 | 在线亚洲激情 | 国产在线观看a | 手机看国产毛片 | 视频 天天草| 国产精品美女免费看 | 天天狠狠操 | 国产精品久久久久久电影 | 日韩视频一二三区 | 天天干天天射天天爽 | 国产在线观看污片 | 久久久噜噜噜久久久 | 在线看国产 | 黄色在线观看www | 综合激情婷婷 | 国产婷婷色| 久久人人爽人人爽人人片av免费 | 99免费在线观看视频 | 一区二区三区在线影院 | 亚洲美女精品视频 | 奇米网777| 久久夜色精品国产欧美乱 | 三级黄色理论片 | 最新中文在线视频 | 国产九九九九九 | 亚洲欧美va | 国产美女在线免费观看 | 久久精品视频播放 | 美女黄频网站 | 日韩一区二区三免费高清在线观看 | 99re国产视频 | 麻豆国产视频下载 | 国产视频九色蝌蚪 | 亚洲国产人午在线一二区 | 热久久视久久精品18亚洲精品 | 日韩av在线免费播放 | 国产中文在线观看 | 久久国产网 | 久久综合影视 | 五月色婷| 久久视频在线观看 | 久久久久久久久艹 | 在线成人免费av | 99久久精品国产系列 | 国内外成人在线视频 | 国产成人在线精品 | 国际精品久久 | 久久久久女人精品毛片 | 中文字幕av最新 | 欧美精品小视频 | 久久99国产精品二区护士 | 精品国产资源 | 美女免费网视频 | 狠狠色综合网站久久久久久久 |