YUVのソースを表示
←
YUV
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Image:YUV UV plane.svg|thumb|300px|RGBの色域内で表されるU-V色平面で Y' の値 = 0.5の例]] [[Image:Barn-yuv.png|right|thumb|150px|画像とそのY',U,Vコンポーネント]] '''YUV'''や'''YCbCr'''や'''YPbPr'''とは、輝度信号Yと、2つの色差信号を使って表現される[[色空間]]。 U, Cb, Pb はB信号(青)から輝度Yを差し引いた (B - Y) に特定の定数を掛けた値であり、同じくV, Cr, Pr はR信号(赤)から輝度Yを差し引いた (R - Y) に特定の定数を掛けた値である。 == YUVおよびYCbCrの表記 == YCbCrをYUVと表記される例を見かけるが、YUVは[[PAL]]信号や[[SECAM]]信号を得るための[[コンポーネント映像信号|コンポーネント信号]]であり、YCbCr や YPbPr とは似ていながらも異なるため、DVDやHD映像の記録に使われるデータ表記として、YUVを用いるのは誤りである。ただし、U, Vの値域を[-0.5, 0.5]に変換するとCb, Crになる。 現在では YUV を色空間モデルの総称とし、RGB との色空間変換におけるカラーマトリックスの違いやサンプリング仕様を定義した信号の呼称として YCbCr および YPbPr を使用するのが主流となっている。 == YCbCrとYPbPrの使い分け == YCbCr と YPbPr の使い分けは以下の2説があり明確に統一されていない。 #アナログ信号にCb, Crを用い、デジタル化された数値にはPb, Prを使う。 #アナログ、デジタルを問わず、[[標準画質映像|SD映像]]用の色差コンポーネント成分にはCb, Crを、[[高精細度テレビジョン放送|HD映像]]用の色差コンポーネント成分にはPb, Prを使う。 <!-- 下記、"後者の使い方"が指しているものが"後者"(=SMPTE)なのか上記#2の事か不明確。SD用とHD用の話のように読めるので、次の2行(7,8)を仮に入れ替え--> "一般的なビデオ機器<!-- どこの世界の?-->"には後者の呼称<!--多分-->が採用されているようである<!--知らんけど-->。GBR成分からのカラーマトリックスがSD用とHD用で異なることを考慮すると、後者の使い方が望ましいと考えられる。 規格によっても用法が異なり、[[ARIB]] (日本) ではPb, Prを、SMPTE (米国) ではアナログにPb, Prを、デジタルにCb, Crを使用している<ref>{{Cite|author=今村元一|title=ビデオ信号の基礎とその操作法|publisher=CQ出版|isbn=978-4789836241|pages=97}}</ref>。デジタル伝送の[[HDMI]]ではCb, Crを使用している。<!--矛盾しているので修正もしくは補足が必要--> == ケーブル == YCbCr信号の伝送には、業務用ビデオ機器のアナログ伝送の場合は、[[BNC]]端子(ケーブル)で接続された3本の信号線を用いる。デジタル伝送ではBNC端子で接続される1本のケーブルを用いる[[シリアルデジタルインタフェース|SDI]]か、パラレルインターフェースを用いる。 家庭用ビデオ機器では、アナログ信号の場合、[[RCA端子]](ケーブル)で接続された3本の信号線である[[コンポーネント端子]]を用いるか、ケーブルをまとめた[[D端子]]ケーブルを用いる。デジタル伝送では、[[IEEE 1394]]や[[HDMI]]を用いる。 なお、[[コンポジット端子]]や[[S端子]]から伝送される[[NTSC]]信号([[コンポジット映像信号]])は、輝度, 色相, 彩度の成分を持っており、[[コンポーネント映像信号|色差コンポーネント信号]]とは根本的に異なる。 == 色差成分を間引く方法 == YCbCrで帯域を減らす際に、色差成分を間引く方法も併せて使用される。人間の目は色の変化よりも明るさの変化に敏感なので、色差成分を減らしても不自然だと感じにくいためである。ビデオフォーマットとして採用されているものには、以下の種類がある。 ; 4:4:4 :Y, Cb(Pb), Cr(Pr)の各成分を水平画素に関して各成分4:4:4の割合で記録する。つまり以下で説明する4:2:2や4:1:1等と違い、信号を間引かず全て記録するので最も高画質のフォーマットである。 ; 4:2:2 :一般的な業務用ビデオに採用されている方式で、Y, Cb(Pb), Cr(Pr)の各成分を、水平に4:2:2の画素割合で記録する。すなわち、水平に並んだ画素に1,2,3,4,5,6,7,…の番号を振った場合、Y信号は1,2,3,4,5,6,7,…の各画素について情報を記録するが、Cb(Pb)とCr(Pr)については1,3,5,7,…の画素のみの情報を記録し、再生時には画素1の色差情報を画素1,2に適用し、画素3の色差情報を画素3,4に適用し……という具合に補完する。ソニーのデジタルベータカム、ベータカムSX、HDCAM、HDCAM-SR(YPbPr記録)、PanasonicのD-5、DVCPRO50、HD-D5(YPbPr記録)、AVC-Intra(100Mbps記録)で採用されている。 ; 4:1:1 :525/60圏で使用する家庭用DVフォーマットと業務用DVCAM、DVCPRO(25Mbps記録)フォーマットに採用されている方式で、Y, Cb(Pb), Cr(Pr)の各成分を水平に4:1:1の画素割合(輝度4画素に対して色差1画素)で記録する。 ; 4:2:0 :[[DVD]]を始めとする一般的な[[Moving Picture Experts Group|MPEG]]圧縮フォーマット([[デジタル放送]]、[[D-VHS]]、[[Blu-ray Disc|BD]])や[[HDV]]、[[AVCHD]]などの家庭用カメラフォーマットで使用するほか、ソニーのXDCAM-HD、XDCAM-EX、AVC-Intra(50Mbps記録)、625/50圏のDV、DVCAMフォーマットなど、業務用のビデオフォーマットでも使用されている。4:2:2方式と同様に、色差信号を輝度信号の2画素ごとに記録する方式であるが、1フレーム目の奇数番目の走査線ではCb(Pb)信号のみを記録して、偶数番目の走査線ではCr(Pr)信号のみを記録、2フレーム目の奇数番目の走査線では逆にCr(Pr)信号のみを記録して、偶数番目の走査線ではCb(Pb)信号のみを記録し、以下のフレームではこれを繰り返すという具合に、Cb(Pb)とCr(Pr)信号を走査線ごとに間引いて記録する。再生時、記録されていない色差信号のデータは、1本上の走査線のデータで補完する。情報量は4:1:1方式と同じになるものの、色信号の水平解像度と垂直解像度のバランスがよく、家庭用デジタルビデオの主流方式となっている。 ==動画フォーマット== 尚、同様の概念がPCやネットで使用する動画フォーマットにも見られる。 ; YUV444 (YUV) : 水平4[[ピクセル]]につき、輝度成分と2つの色差成分を各4ピクセルずつサンプルする方式。各成分を8bitで量子化すると、1ピクセルあたりの情報量は24bitとなる。 ; YUV12 : 各ピクセルを表現するのに必要なビット数が12ビットのYUV。YUV420とYUV411の総称。 ; YUV422 : 水平2ピクセルから色差信号を1ピクセル分だけとる形式。輝度信号は1ピクセルごとにとる。1ピクセルは16bitの情報量となる。主に業務用ビデオのフォーマットとして採用されている。 ; YUV420 : 水平・垂直2×2ピクセルのうち、Cb信号を上2ピクセルから1ピクセル取り、Cr信号を下2ピクセルから1ピクセル取る方式。フレームごとにCbとCrの位置を反転させる。輝度信号は1ピクセルごとにとる。原理的に幅・高さは2の倍数でないといけない。[[デジタル放送]]ではこれが採用されている。 : YUV420のうち、ピクセル単位ではなく、フレーム単位でY→U→Vの順番に並べたものを'''I420''' や '''IYUV'''、Y→V→Uの順番に並べたものを'''YV12'''と呼ぶ。このどちらかが、動画圧縮ではよく使われている。 ; YUV411 : 水平4ピクセルのうち、Cb,Cr信号を各色1ピクセルずつ取る形式。輝度信号は1ピクセルごとにとる。 ; YUV9 : 4×4ピクセルで1つの色差信号しかとらない方式。輝度信号は1ピクセルごとにとる。1ピクセルは9ビット。 == RGBからの変換 == 以下、R, G, B, Yの値域は[0, 1]。Cb, Crの値域は[-0.5, 0.5]。U = 0.872 × Cb, V = 1.23 × Cr。 [[RGB]]からの変換式は ;YUV ([[PAL]], [[SECAM]]) :<math>\begin{pmatrix} Y\\ U\\ V \end{pmatrix} = \begin{pmatrix} 0.299 & 0.587 & 0.114\\ -0.14713 & -0.28886 & 0.436\\ 0.615 & -0.51499 & -0.10001 \end{pmatrix}\begin{pmatrix} R\\ G\\ B \end{pmatrix}</math><ref>0.14713 ≒ 0.299 × 0.436 ÷ 0.886<br>0.28886 ≒ 0.587 × 0.436 ÷ 0.886<br>0.51499 ≒ 0.587 × 0.615 ÷ 0.701<br>0.10001 ≒ 0.114 × 0.615 ÷ 0.701</ref> ;[[:en:Rec. 601|ITU-R BT.601]] / [[:en:Rec. 709|ITU-R BT.709]] (1250/50/2<nowiki>:</nowiki>1) :<math>\begin{pmatrix} Y\\ Cb\\ Cr \end{pmatrix} = \begin{pmatrix} 0.299 & 0.587 & 0.114\\ -0.168736 & -0.331264 & 0.5\\ 0.5 & -0.418688 & -0.081312 \end{pmatrix}\begin{pmatrix} R\\ G\\ B \end{pmatrix}</math><ref>0.168736 ≒ 0.299 ÷ 1.772<br>0.331264 ≒ 0.587 ÷ 1.772<br>0.418688 ≒ 0.587 ÷ 1.402<br>0.081312 ≒ 0.114 ÷ 1.402</ref> ;ITU-R BT.709 (1125/60/2<nowiki>:</nowiki>1) :<math>\begin{pmatrix} Y\\ Cb\\ Cr \end{pmatrix} = \begin{pmatrix} 0.2126 & 0.7152 & 0.0722\\ -0.114572 & -0.385428 & 0.5\\ 0.5 & -0.454153 & -0.045847 \end{pmatrix}\begin{pmatrix} R\\ G\\ B \end{pmatrix}</math><ref>0.114572 ≒ 0.2126 ÷ 1.8556<br>0.385428 ≒ 0.7152 ÷ 1.8556<br>0.454153 ≒ 0.7152 ÷ 1.5748<br>0.045847 ≒ 0.0722 ÷ 1.5748</ref> 逆にRGBに変換するときは ;YUV (PAL, SECAM) :<math>\begin{pmatrix} R\\ G\\ B \end{pmatrix} = \begin{pmatrix} 1 & 0 & 1.13983\\ 1 & -0.39465 & -0.58060\\ 1 & 2.03211 & 0 \end{pmatrix}\begin{pmatrix} Y\\ U\\ V \end{pmatrix}</math><ref>2.03211 ≒ 0.886 ÷ 0.436<br>0.39465 ≒ 0.114 ÷ 0.587 × 2.03211<br>1.13983 ≒ 0.701 ÷ 0.615<br>0.58060 ≒ 0.299 ÷ 0.587 × 1.13983</ref> ;ITU-R BT.601 / ITU-R BT.709 (1250/50/2<nowiki>:</nowiki>1) :<math>\begin{pmatrix} R\\ G\\ B \end{pmatrix} = \begin{pmatrix} 1 & 0 & 1.402\\ 1 & -0.344136 & -0.714136\\ 1 & 1.772 & 0 \end{pmatrix}\begin{pmatrix} Y\\ Cb\\ Cr \end{pmatrix}</math><ref>0.344136 ≒ 0.114 ÷ 0.587 × 1.772<br>0.714136 ≒ 0.299 ÷ 0.587 × 1.402</ref> ;ITU-R BT.709 (1125/60/2<nowiki>:</nowiki>1) :<math>\begin{pmatrix} R\\ G\\ B \end{pmatrix} = \begin{pmatrix} 1 & 0 & 1.5748\\ 1 & -0.187324 & -0.468124\\ 1 & 1.8556 & 0 \end{pmatrix}\begin{pmatrix} Y\\ Cb\\ Cr \end{pmatrix}</math><ref>0.187324 ≒ 0.0722 ÷ 0.7152 × 1.8556<br>0.468124 ≒ 0.2126 ÷ 0.7152 × 1.5748</ref> === MPEG の場合 === [[Moving Picture Experts Group|MPEG]]用の整数演算は以下の方法で行う。RGBの値域は0〜255の8ビット。YCbCrに基づいているが、8ビット整数に変換する際、Yの値域として16〜235、UやVの値域としては16〜240を使用する。Yの値域の中心は128になっていない。また、値域として0〜255を使ってないことから証明できるように、RGB → YUV → RGBの変換を行うと、元の色に戻らない場合がある。 1. 基本的な変形 :<math>\begin{bmatrix}Y' \\ U \\ V \end{bmatrix} = \begin{bmatrix} 66 & 129 & 25 \\ -38 & -74 & 112 \\ 112 & -94 & -18 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix} </math> 2. 8ビットへ丸め処理を行う([[四捨五入]]) :<math> \begin{array}{rcl} Y' &=& (Y' + 128) \gg 8\\ U &=& (U + 128) \gg 8\\ V &=& (V + 128) \gg 8 \end{array} </math> 3. 値域をずらす :<math> \begin{array}{rcl} Y' &=& Y' + 16\\ U &=& U + 128\\ V &=& V + 128 \end{array} </math> コンピュータではYUVとRGBの相互変換は、{{いつ範囲|かつて|date=2016年10月}}は整数演算で行われることが多かったが、{{いつ範囲|現在|date=2016年10月}}は[[SIMD]]を使い[[内積]]計算するのが一般的。 == 参照 == <references /> == 関連項目 == * [[圧縮アーティファクト]] * [[クロマサブサンプリング]] == 外部リンク == {{commons|Category:Color spaces}} * [http://www.fourcc.org/yuv.php YUV pixel formats - fourcc.org] * [https://code.google.com/p/libyuv/ libyuv] {{color topics}} {{DEFAULTSORT:わいゆうふい}} [[Category:色空間]]
このページで使用されているテンプレート:
テンプレート:Cite
(
ソースを閲覧
)
テンプレート:Color topics
(
ソースを閲覧
)
テンプレート:Commons
(
ソースを閲覧
)
テンプレート:いつ範囲
(
ソースを閲覧
)
YUV
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報