色度抽樣

在數點陣圖像處理領域中，色彩取樣是指在表示影象時使用較亮度資訊低的解析度來表示色彩資訊。當對模擬分量影片或者YUV訊號進行數字抽樣時，一般會用到色度抽樣。原理.由於儲存及傳送的限制，我們通常需要減少三分之二的頻寬。頻寬的減少在肉眼上幾乎沒有影像上差別。色彩取樣的用法.由於人類的視覺系統對顏色的位置及移動不及對亮度敏感，頻寬上可以以儲存較多的亮度細節、較少的色度細節作最佳化。在一般影像觀看距離時，色度細節在較低的取樣率下仍不引起可察覺的損失。於影片系統中，可以以不同顏色分部的取樣而達成以上結果。影片訊號可分別為一個亮度分量。色彩取樣是顏色科學的分支，在顏色科學亮度及色度分量是以一個伽瑪校正，使色彩取樣方式更容易實行。原圖，未經色彩取樣，200%放大。經色彩取樣的影象抽樣系統及比例.影片系統的抽樣系統中通常用一個三分比值表示："J:a:b"。依序列出為：以下連結中的一幅教學圖片解釋了不同抽樣系統的運作：http://lea.hamradio.si/~s51kq/subsample.gif 。以上例圖僅給出理論上的示例。以及注意圖中並沒有表明任何色度過濾。在計算與4:4:4抽樣。在比較影象質量時，這三個值之間的比值才是重要的，所以4:4:4可以簡化為1:1:1；但是習慣上亮度樣本的數量值總為4，其他兩個值依此類推。有時抽樣率為四分比值，如4:2:2:4。這時第四個值是調製通道的抽樣頻率比值。事實上，因為在調製應用中非常需要高質量影象，所以這個值在任何情況下都為4。各種抽樣系統介紹.4:4:4 Y'CbCr.每三個Y'CbCr分量都有相同抽樣率。此係統有時候用作高階底片掃瞄器及電影後期製作中。通常會以兩條SDI通道連線來承載4:4:4頻寬訊號：通道A會盛載4:2:2的訊號，通道B則會承載0:2:2的訊號，合併成4:4:4訊號。4:4:4 R'G'B'.需要注意的是，有時候"4:4:4"也表示在RGB色度空間中，全部沒有作任何色度抽樣。如HDCAM SR等格式可以以雙通道HD-SDI記錄4:4:4 R'G'B'訊號。4:2:2.每個色差通道的抽樣率是亮度通道的一半，即水平色差清晰度分半。這樣從無壓縮影片中可減少了三分之一的頻寬，當中的視覺差別僅僅少量甚至不存在。大多數高階數碼影片格式採用這一比率，如：4:2:1.雖然此係統己在技術上定義存在，但只有非常少的軟、硬體編解碼器使用。Cb水平清晰度為Cr的兩倍，以及亮度清晰度的四分之一。這樣為證明瞭人的肉眼對於藍色和黃色的空間上敏感度，比紅色和綠色的弱。NTSC系統相似以上演算法，將藍色和黃色的清晰度減弱，令其清晰度比亮度為低。4:1:1.4:1:1色彩取樣中，水平色度清晰度為四分之一，為全頻寬的一半。起初DV格式的4:1:1色彩取樣不被考慮用作廣播級用途，被低端及家用產品應用。當代的DV格式都被用作如電子新聞採訪等專業級用途。DV格式偶爾被用作數位電影攝影。NTSC系統中，若亮度以13.5 MHz取樣，表示Cr及Cb的訊號都以3.375 MHz取樣，符合最高1.6875 MHz的奈奎斯特頻寬。而傳統「高階廣播級NTSC模擬訊號編碼器」，在I/Q波段中只有分別1.5 MHz及0.5 MHz的奈奎斯特頻寬。不過在大部分器材中，尤其是廉價電視機及VHS/Betamax錄影機中，色度波段只有0.5 MHz的頻寬給Cr及Cb分量使用。所以儘管和全頻寬數位訊號比較，僅有四分之一的色度頻寬，其實DV系統提供了比高階NTSC色差模擬規格更優質的色彩頻寬。使用4:1:1色彩取樣的格式包括：4:2:0.4:2:0又稱I420。I420是YUV格式的一種，屬於planar format。4:2:0並不意味著只有Y,Cb而沒有Cr分量。它指的是對每行掃描線來說，只有一種色度分量以2:1的抽樣率儲存。相鄰的掃描行儲存不同的色度分量，也就是說，如果一行是4:2:0的話，下一行就是4:0:2，再下一行是4:2:0...以此類推。對每個色度分量來說，水平方向和豎直方向的抽樣率都是2:1，所以可以說色度的抽樣率是4:1。PAL制式和SECAM制式的色彩系統特別適合於用這種方式來儲存。絕大多數影片編解碼器都採用這種格式作為標準的輸入格式。對非壓縮的8位元量化的影片來說，每個由2x2個2行2列相鄰的畫素組成的宏畫素需要佔用6位元組記憶體。對映：碼流Yo0 Uo0 Yo1 Yo2 Uo2 Yo3Ye0 Ve0 Ye1 Ye2 Ve2 Ye3將被對映為下面的兩行各四個畫素：[Yo0 Uo0 Ve0] [Yo1 Uo0 Ve0] [Yo2 Uo2 Ve2] [Yo3 Uo2 Ve2][Ye0 Uo0 Ve0] [Ye1 Uo0 Ve0] [Ye2 Uo2 Ve2] [Ye3 Uo2 Ve2]使用這種方法的質量很接近於4:1:1,通常應用於下面的格式：4:1:0.這種格式雖然是存在的，但是並沒有得到廣泛的應用，因為它在色度方面的清晰度比傳統的VHS錄影帶還要差。這種方法對水平方向進行4:1的色度抽樣，對豎直方向進行2:1的色度抽樣。比起4:4:4，它的色度資料量僅僅是1/8大小。對非壓縮的8位元量化的影片來說，每個由4x2個2行4列相鄰的畫素組成的宏畫素需要佔用10位元組記憶體。對映：碼流Yo0 Uo0 Yo1 Yo2 Yo3Ye0 Ve0 Ye1 Ye2 Ye3將被對映為下面的兩行各四個畫素：[Yo0 Uo0 Ve0] [Yo1 Uo0 Ve0] [Yo2 Uo0 Ve0] [Yo3 Uo0 Ve0][Ye0 Uo0 Ve0] [Ye1 Uo0 Ve0] [Ye2 Uo0 Ve0] [Ye3 Uo0 Ve0]色彩抽樣例項.4:2:0抽樣及還原例項.%此程式範例基於matlab語言編寫%目的是將原影象(pictureA)做4:2:0之色彩取樣%再將取樣過後的資料做重建並輸出(pictureB)clear allpicA=double(imread('pictureA.jpg')); %input pictureA, 轉成double格式[ROW,COL,DIM] = size(picA); %提取SIZEyA = picA(:,:,1) * 0.299 + picA(:,:,2) * 0.587 + picA(:,:,3) * 0.114; % pictureA RGB to YCbCrcbA = picA(:,:,1) *-0.169 + picA(:,:,2) *-0.331 + picA(:,:,3) * 0.500;crA = picA(:,:,1) * 0.500 + picA(:,:,2) *-0.419 + picA(:,:,3) *-0.081;yC = yA;cbC = cbA;crC = crA;for i=1:ceil(ROW/2) % 4:2:0 compress, cb cr只取偶數行列cbC(i,:)=[];crC(i,:)=[];endfor i=1:ceil(COL/2)cbC(:,i)=[];crC(:,i)=[];end%完成4:2:0抽樣%重建並輸出成pictureByB = zeros(ROW,COL);cbB = zeros(ROW,COL);crB = zeros(ROW,COL);yB = yC;for i=1:ROWfor j=1:COLif rem(i,2)==0if rem(j,2)==0cbB(i,j)=cbC(i/2,j/2);crB(i,j)=crC(i/2,j/2);endendendendfor i=1:ROW %還原rowif i==1cbB(i,:)=cbB(i+1,:); %在首行則與第二行資料一致crB(i,:)=crB(i+1,:);elseif (rem(i,2)==1) &amp; (i&lt;ROW)cbB(i,:)=(cbB(i+1,:)+cbB(i-1,:))/2; %缺少資料的奇數行利用隔壁之偶數行資料進行插值重建crB(i,:)=(crB(i+1,:)+crB(i-1,:))/2;elseif (rem(i,2)==1) &amp; (i==ROW)cbB(i,:)=cbB(i-1,:); %在末行則與隔壁行一致crB(i,:)=crB(i-1,:);endendfor i=1:COL %還原colif i==1cbB(:,i)=cbB(:,i+1); %在首列則與第二列資料一致crB(:,i)=crB(:,i+1);elseif (rem(i,2)==1) &amp; (i&lt;COL)cbB(:,i)=(cbB(:,i+1)+cbB(:,i-1))/2; %缺少資料的奇數列利用隔壁之偶數列資料進行插值重建crB(:,i)=(crB(:,i+1)+crB(:,i-1))/2;elseif (rem(i,2)==1) &amp; (i==COL)cbB(:,i)=cbB(:,i-1); %在末列則與隔壁列一致crB(:,i)=crB(:,i-1);endendYCCB(:,:,1)=yB; %重建YCbCr格式的pictureBYCCB(:,:,2)=cbB;YCCB(:,:,3)=crB;RB = yB * 1 + cbB * -219/236311 + crB * 331234/236311; % pictureB YCbCr to RGBGB = yB * 1 + cbB * -81219/236311 + crB * -168766/236311;BB = yB * 1 + cbB * 418781/236311 + crB * 234/236311;RGBB(:,:,1)=RB; %重建RGB格式的pictureBRGBB(:,:,2)=GB;RGBB(:,:,3)=BB;image(RGBB/255) % SHOWimwrite(RGBB/255,'pictureB.jpg') % outputJian-Jiun Ding, Advanced Digital Signal Processing class note, the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2020.