一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

RGB 轉換至 YCbCr (YUV) 的計算公式詳解

 SamBookshelf 2013-09-10

參考https://bbs./bbs/archive/index.php/t-501147.html

ITU-R BT.601 建議書里面記載了五種色彩變換式,分別是:
1. 模擬 RGB 訊號轉為模擬 Y, (B-Y), (R-Y)
2. 模擬 (B-Y), (R-Y) 轉為模擬 Cb, Cr
3. 模擬 YCbCr 數(shù)字化(取樣、量化)成為數(shù)字 YCbCr
4. 模擬 RGB 數(shù)字化(取樣、量化)成為數(shù)字 RGB
5. 數(shù)字 RGB 轉為數(shù)字 YCbCr

1. 的變換式是

Y = 0.299 * R + 0.587 * G + 0.114 * B

(R - Y) = R - 0.299 * R - 0.587 * G - 0.114 * B
= 0.701 * R - 0.587 * G - 0.114 * B

(B - Y) = B - 0.299 * R - 0.587 * G - 0.114 * B
  = - 0.299 * R - 0.587 * G + 886 * B

2. 的變換式是

Cr = 0.713 * (R - Y)
  = 0.500 * R - 0.419 * G - 0.081 * B

Cb = 0.564 * (B - Y)
  = - 0.169 * R - 0.331 * G + 0.500 * B

就是你寫的那個變換式。
上式 Y, R, G, B 的范圍是 0.0~1.0,Cb, Cr 的范圍是 0.5~-0.5。

模擬的 CbCr 通常表記為 PbPr。

由于這些表記的方法很亂,常有人會混合著用,所以寫的時候最好注明是模擬還是數(shù)字,例如
3. 的模擬 YCbCr 數(shù)字化轉換式
Y(d) = 219 * Y(a) + 16
Cb(d) = 224 * Cb(a) + 128
Cr(d) = 224 * Cr(a) + 128

Y(a) 代表 analog,Y(d) 代表 digital。

4. 的模擬 RGB 數(shù)字化轉換式
R(d) = 219 * R(a) + 16
G(d) = 219 * G(a) + 16
B(d) = 219 * B(a) + 16

R(a), G(a), B(a) 的范圍是 0.0~1.0,R(d), G(d), B(d) 的范圍是 16~235。

加上 (a), (d),這樣表記就清楚多了。

5. 的數(shù)字 RGB 轉為數(shù)字 YCbCr
Y = (77 * R(d) / 256) + (150 * G(d) / 256) + (29 * B(d) / 256)
Cb = - (44 * R(d) / 256) - (87 * G(d) / 256) + (131 * B(d) / 256) + 128
Cr = (131 * R(d) / 256) - (110 * G(d) / 256) - (21 * B(d) / 256) + 128

YCbCr: 16~235, RGB: 16~235

這個轉換式是 straight 變換,沒有 YC 伸張(Full-range,擴展 RGB: 0~255),有 YC 伸張的算式就是你提出的我以前寫的那個算式。

這個表記法有點復雜,有的教科書在介紹亮度和色差的時候前面就先花了很多篇幅在定義表記的用法,例如我上面寫的還是不及格,因為 BT.601 的 RGB 都要先經(jīng)過 gamma correction,是 gamma 校正后的 RGB,要表記為 R'G'B' ^^;
還有那個 Y,是 BT.601 的 Y,所以 Y 的右下角要加上一個底字寫 601,或者左上角要寫 601,這樣人家才知道你是 BT.601 定義的 Y,不是 BT.709 定義的 Y ^^;;

由于名詞太多有點亂,許多人會混合著用,同樣一個 YUV,有時候我們搞不清楚作者指的到底是數(shù)字的 YCbCr,還是模擬的 YPbPr,是 NTSC 的 YIQ,還是 PAL 的 YUV,是 601 的 YUV,還是 709 的 YUV,或者是 SMPTE 240M 的 YUV .... XD

有的時候作者在表記上沒有明寫,不過根據(jù)上下文意,我們可以猜出他說的是哪一個。
您看的那本書 ;) 有注明列的是 ITU-R recommendation BT.601 [1] 的 YCbCr 轉換式,所以是模擬轉換式,不是 BT.601-5。
當然用比較通用的 PbPr 來表示模擬色差是比較清楚的寫法。

ITU 的建議書(recommendation)只要登記成為會員,每年都可以免費下載三本,601, 709, H.263 ..等等都可以免費下載 :D
http://www./publications/bookshop/index.html

由 source code 可以得知,XviD 和大部分的軟件一樣是遵照這本書的標準轉換式作的
http://www./book1/index.htm
算式為

Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16

Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128

Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128

這個算式是模擬 YCbCr 和模擬 RGB 的轉換式,這是很多人會被弄迷糊的地方。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品久久久一区二区三| 久久亚洲午夜精品毛片| 伊人久久青草地婷婷综合| 国产精品香蕉免费手机视频| 日韩精品第一区二区三区| 成人日韩在线播放视频| 亚洲品质一区二区三区| 男女午夜福利院在线观看| 人妻少妇久久中文字幕久久| 国产欧美日产久久婷婷| 日本男人女人干逼视频| 日韩黄色一级片免费收看| 人妻久久这里只有精品| 精品偷拍一区二区三区| 真实偷拍一区二区免费视频| 殴美女美女大码性淫生活在线播放 | 午夜视频免费观看成人| 99久久国产综合精品二区| 中文字幕熟女人妻视频| 亚洲一区二区欧美激情| 自拍偷拍福利视频在线观看| 日本在线 一区 二区| 久久黄片免费播放大全| 成人国产一区二区三区精品麻豆| 欧美国产日本免费不卡| 亚洲第一香蕉视频在线| 国产毛片对白精品看片| 国产又大又硬又粗又黄| 九九热视频网在线观看| 久久91精品国产亚洲| 国产又色又爽又黄又免费| 国产永久免费高清在线精品| 人妻露脸一区二区三区| 粗暴蹂躏中文一区二区三区| 日本精品理论在线观看| 手机在线观看亚洲中文字幕| 高清一区二区三区不卡免费| 激情五月综五月综合网| 九九热精彩视频在线免费| 少妇视频一区二区三区| 国产一区二区三区免费福利|