找回密码
 注册
关于网站域名变更的通知
查看: 846|回复: 3
打印 上一主题 下一主题

最简单解释 YUV444,YUV422,YUV420中的4,2,0

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-20 15:45
  • 签到天数: 416 天

    [LV.9]以坛为家II

    跳转到指定楼层
    1#
    发表于 2021-3-29 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    通常我们用RGB表示一种彩色。计算机系统里的LCD显示的数据就是RGB来表示每个像素的颜色。
    ; g1 r$ @  ^1 _5 T% `/ Z而在我们生活里,有黑白电视机与彩色电视机两种,拍摄节目源时不可以用两种不同的摄像机来存放两种图像数据。: ?; r6 J; s) C. Y$ i5 y
    所以为了兼容两种电视机,专家就引入YUV格式代替RGB,其中Y表示亮度, U和V表示色差。 黑白电视机只用Y信号, 而彩色电视机可由YUV转换成RGB再显示颜色。

    通常我们所用的YUV格式是 ITU-R 的标准 , 也叫YCbCr.

    YUV是由RGB格式的数据转换得来。


    • 9 J* u9 F/ t7 Z6 s$ @& u2 n

      ; m# d2 X* w+ I. ZY     Y = 0.299 x R + 0.587 x G + 0.114 x B + 0
      + G8 Y5 O4 ^8 }3 M4 M

      3 U8 l. L$ J" W
    • . h7 H6 f% Z3 k/ Q  t

      6 H8 R; j. N5 f8 j) g9 T4 xU    Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 4 Q6 [5 i8 P$ _! O
      / r. M6 p+ H) J' `! w
    • / ^7 s7 w- @0 @) T/ F/ F
      $ M7 L3 ^$ A$ [6 n, p* F
      V    Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128
      ' M, E7 L, l+ J, L+ I. b+ u, k. [
      , T: @) V' A3 I' A7 s' Z

    • 8 I1 P* y0 s% L, R

        ~3 Q8 }1 \+ j2 U% g1 C
      ! e/ ?: `' l3 b4 J9 }
      1 b3 {# s6 H0 N

    • % Y; u% a  N& v' X

      9 J% X/ B1 n& `! t4 \! tY    Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 + Y3 Y, S$ W" @# v" {
      - t; O+ _1 ^% A; i
    • # V" F7 |$ g8 y! C$ Y9 T' Q

      " g5 s2 |$ _  p- _/ m& TU    Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128
      . b5 R% _; E# f6 ]
      3 Z* u' R2 J+ U; m$ B# K1 b

    • / V+ W4 j3 z: b4 k( V
      / y! F: f8 d' I
      V    Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128 : g/ a* s8 ?+ {

        r& d/ B- P% h. ?3 c' L4 |8 S+ e2 Z* V: l: g4 m' d! r0 c$ P

    ///
    / b4 C, h. A% |: `* t4 PYUV4:4:4 % G" t" [, L! M' Q) k
    其实就是YUV的数据各占用8位, 每个像素都由YUV组成

    • - n7 q& h. W: f; r

      ' J9 z( {2 H$ J; W; [; X同一行的相邻4个像素数据:   Y0U0V0    Y1U1V1   Y2U2V2  Y3U3V3
      5 g8 V! ], M; q, s: g

      4 q5 \  O) Z, u, u  j

    • . f( @! E0 m! P6 F  J

      6 U1 A( M, l+ R9 A5 A8 Z  m              存储时:    Y0 U0 V0  Y1 U1 V1 Y2 U2 V2 Y3 U3 V3  //即每个像素YUV的数据都会存放起来
      / O+ l7 _. q7 N( L

      + Z/ s; g9 c6 i8 `% U
    • . y( x1 @3 m& w

      " ~7 S4 w* A$ F" v# S8 l; x+ \& d# E为什么叫4:4:4 , 意思就是4个像素里的数据有4Y4U, 4V
      : O7 [6 V& ^( @# e4 t* `& R
      - @8 a  i4 m6 @8 y0 W3 l
      3 E8 c0 W" j+ U# e  S! n4 L3 [

    //2 O( S% |0 I. }% s# M3 d( E
    YUV4:2:2
    , z$ I. }  A! f8 G8 W# r其实绝大部分相邻的两个像素,数据差异应不大。所以为了节点空间便于存储,丢失每个像素的部分数据。' W" g; h2 O* X; ^5 B! T, A/ r
    专家研究表明我们人对亮度比较敏感,而对色彩不怎么敏感。所以每个像素的亮度Y数据是绝对不动的,而色差数据可以进行丢弃。

    • $ ?& C. u1 F; B+ i
      , [3 n" Y" Y0 X. Q% f6 X
      同一行的相邻4个像素数据:   Y0U0V0    Y1U1V1   Y2U2V2  Y3U3V3
      : ~* k/ ~7 {# N

      # x* E) u7 P3 Z

    • ; A: S- {% a; I& G: s0 o  O
      & [% ]6 P( E5 l! \4 u: S
                存储时:    Y0 U0  Y1 V1 Y2 U2 Y3 V3  // 每两个相邻的像素, 一个丢弃V数据,一个丢弃U数据
      4 m, e7 G5 w; ]4 _- w  v

      - R% e: f3 o0 |- `0 }3 }- Q
    • 2 D$ _! \  f# a3 T0 v

      ' i. M; B& p4 P. t6 G2 d3 B为什么叫4:2:2,  意思就是相邻的4个像素里有4Y2U2V。 按上面存储的顺序也叫YUYV.
      % U$ Z6 I3 o/ l4 j0 F8 `" E6 ?9 c9 `
      # [2 i) v9 |9 u$ o

    • ( M( Q/ I! o2 s. h0 ?2 K

      1 `4 Z  t: v. r% q" Z& n+ h. e; c7 @. C4 o* v
      4 {5 m# M9 W( r# G# O: c. |
    • 8 q1 g: K! g; j

      6 g7 o! [) `) b$ _; l8 W( j, g( u但还原成RGB数据必须需要YUV, 像第一个像素只有Y0U0是没法还原的,这时只能用下一像素的V1数据。1 z6 ^: d. Z9 @  C5 B3 w

      + j, {) C* ]+ Z7 Z$ e5 k
    • 0 u2 a& v, k" o% Y

      3 `. ]; O! n9 Q2 v8 m* P      还原时的YUV:  [Y0U0V1] [Y1U0V1] [Y2U2V3] [Y3U2V3]  //这样还原理论上会对图像的质量有影响的,但我们看不出来的.
      ( s3 P: F  s5 @" o
      2 Z. Q* O! g9 R! D

      $ ]7 @7 i$ ]9 V* }/ ?  H# m. l

    /
    7 {* x8 u2 p  }5 d) H' \# QYUV4:2:0
    - ~+ r# o% g7 q专家们进一步研究表示,每一行的相邻两个像素与下一行同位置的两个像素数据差异不大,可以进一步的丢数据。


    • $ X2 b) z  b+ e9 N: F8 C

      - s7 O* c0 r4 b6 l如两行的像素数据:! R. N* f- p1 c; g2 j- h  _8 H
      * f  X  w/ ~7 }" M. L+ h. \' ^
    • : o$ K$ l0 Y0 Q9 W0 `: R7 z  _5 R

      ; f) b( x9 A) F. u) ^# }/ i7 n           Y00U00V00   Y01U01V01   Y02U02V02   Y03U03V03  ....  
        C0 A  {. x& M
      3 E; }1 A2 u; W2 T: Y' F9 y' F. r

    • 5 t& s/ h/ p3 k

      2 x: G; \+ S) F, h; P6 i" q           Y88U88V88   Y89U89V89   Y90U90V90   Y91U91V91  ....' f! _9 b! O- z7 w8 A' y+ l* R: G2 Z
      . ], M/ q" V" D0 v) _6 ^# J

    • ) _  c6 R' N' q  C
      ! Y$ l( i1 J# C; x# ?

      2 O; u0 [8 G4 ~! v7 v

        ?' R# v6 r1 A9 n/ j9 |

    •   O6 K' W" j6 ~7 b% u9 n4 H
      % m4 I, k; x3 @, N. A; V
      存储时:        Y00U00 Y01 Y02U02  Y03    //每个像素的Y数据保留, 两个像素数据只保留一个U数据。这一行不保留V数据(YUV:  420)! _; g% K/ I; E  m) }

      6 z! ]" }, Y  M0 K$ n

    • ' F$ i4 r) u; f+ s8 b3 D1 c

      9 c; v5 r2 \, O( l5 h+ _. S           Y88V88 Y89 Y90V90  Y91    // ....  两个像素数据只保留一个V数据, 这行不保留U数据(YUV:  402)
      2 _7 E# R0 A. l# P' t/ d

      6 L8 X1 k6 B, O0 y, y

    • 5 i( U7 s% v! m( v4 Q6 Q8 |( ~% \

      - b! N4 }0 `% X9 h: b2 l# A
      - V9 j: N2 N, F  L
      2 j% M: q, x3 U0 u: W$ B0 E9 _( S
    • - l2 y  d; c& r( a

      . s, i# k/ T. r. p& c还原时只能相同位置的上下两行4个像素结合还原:: B$ c6 S3 R$ B5 M
      % M7 s3 k8 {' K+ V" e4 d
    • 7 {. Y; i: f1 W9 S+ p

      3 h6 m% E. d; \; D* w+ I' f! l6 j        Y00U00V88  Y01U00V88  Y02U02V90  Y03U02V90
      / G! y4 i$ a7 D" f4 n3 \# U6 `

      6 i+ v6 d, l* S! ?5 ^0 w

    • . l# z6 ~' E/ S3 G

      : @  a3 Q2 F$ d! O) @! `        Y88U00V88  Y89U00V88  Y90U02V90  Y91U02V90
      ; o, T8 N" m5 I. C$ r- {
      . T1 H: X& i, M# Y

      1 k) u7 x/ {; `

    yuv数据还分成打包的,平面的。# Y& a4 T9 J' W' x; ]1 D+ T+ x7 B
    打包的意思是: yuv数据是顺序存放Y,接着U,再接着V数据存放。. [( ?. |1 r5 B. b$ k2 |5 f# S  h
    平面的意思是: yuv数据是分成三个地方存放, 一个地方只存Y数据, 一个只存U数据, 一个只存V数据


    ) |& U  B0 s+ r: l9 `# M6 p/ m6 _

    该用户从未签到

    2#
    发表于 2021-3-29 13:22 | 只看该作者
    多谢分享 学习了

    该用户从未签到

    3#
    发表于 2021-3-30 13:45 | 只看该作者
    3 C( Z1 K- x' p  L& J
    多謝分享學習了

    该用户从未签到

    4#
    发表于 2021-4-6 21:31 | 只看该作者
    5 G1 p) W& Y$ M! h  n1 `
    帮你顶一下     
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-2 01:33 , Processed in 0.125000 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表