Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> 詳細なYUVフォーマット、詳細なグラフィックYUV420データ形式

詳細なYUVフォーマット、詳細なグラフィックYUV420データ形式

  
 平面および充填:

YUVフォーマット、2つのカテゴリがあります。平面YUV形式の場合、全ての画素の連続的なストレージにY、Uは、その後Vの全ての画素が続く、全ての画素に格納されていますパックされたYUV形式の場合、各画素のY、Uは、V *が格納されている連続断面です。

YUVは、三つの成分に分け、&'され; Y'明るさ(輝度又はルーマ)、すなわちグレー値を表し、' U'と' V&'と、彩度で表されます(クロミナンスまたはクロマによる)は、画素の画像の色と彩度、色指定を記述することです。

、我々は等RGBを知って、YUVカラー符号化方式であり、主にテレビジョンシステムとアナログ領域のために使用され、それは情報(Y)と色情報(UV)の輝度情報を分離された同じUVありません黒と白だけで、完全な画像を表示することができ、このデザインは、黒と白のテレビと互換性のあるカラーテレビの問題を解決します。そして、3つの別々のビデオ信号を同時に送信としてRGB YUV要件とは異なり、それはYUVは非常に少ない帯域幅モードを占めて送信します。密接に関連

YUVフォーマット、三つの方法で、そのサンプルのストリーム、主流サンプリングと、実際に格納されたYUV4:4:4、YUV4:2:2、YUV4:2:詳細な原理に基づいて、0を他のオンライン記事を学ぶことを通じて、私がここで強調したいだけで、適切にYUVを通ってくるために、画素ごとにYUV値を復元するので、そのサンプリングフォーマットに基づいてコードストリームからの各画素のYUV値を復元する方法ですRGB変換式は、各画素のRGB値を抽出し、表示しました。

は、直感的に3つのバーによって表現を取得し、黒のドットが画素サンプリング点のY成分を表し、白丸は画素のUV成分の使用を示しています。
YUVフォーマットの詳細

各画素のYUV成分の後に抽出された次の通路は、使用される覚えておきます。

  1. YUV 4:4:4サンプリング、UV Y成分のセットに対応します。
  2. YUV 4:2:2サンプリング、2つのUV成分のそれぞれYシェア一組。
  3. YUV 4:2:0サンプリングは、4つのYの各セットは、UV成分を共有します。
    ログイン

    2記憶

    Iは、図形の共通ストレージYUVストリーム下記、およびバック・ストレージ内の各画素にYUVサンプルU、Vにデータの方法であって、前記、CB、Crの意味と等価

    (1)YUVYフォーマット(YUV422に属する)隣接する2つの共通の隣接する2つのYでサンプルとして保存さYUVYフォーマット

    YUYVフォーマットYUV422
    Cbの、Crの、分析は、画素Y'00、Y'01ため、そのCbと、Crの値はこれにCB00、CR00、その他の点のYUV画素値とされています。 UVの

    (2)UYVYフォーマット(所属YUV422)
    UYVYフォーマット

    はYUV422フォーマットがサンプリングされ、記憶UYVYフォーマットが、唯一の違いはあるYUYV順序ちょうど同じではない、上記のようにYUV画素値の各々を低減するための方法。

    (3)YUV422P(YUV422所属)
    YUV422P

    YUV422PもYUV422に属し、それは模型飛行機、すなわち、平面モードであり、YUVデータがインターリーブ記録ありませんしかし、最初のストアすべてのY成分とU(CB)成分の全てを記憶し、図に示すように、最終的に、全てのV(Cr)の成分を格納します。抽出方法は、基本的な画素抽出​​YUV422フォーマットに従うことでそれぞれがYUV値、すなわち、2つのY共有する1つのUV。例えば、画素Y'00ため、Y'01、値Cb、CrはCB00、CR00です。

    (4)YV12、YU12フ​​ォーマット(YUV420所属)
    YV12、YU12フ​​ォーマット

    YU12 YV12 YUV420フォーマットともプレーン・モード、Y、U、V成分に属し別々に包装され、順次格納されています。これYUV抽出方法を抽出する各画素のデータ、すなわち4つのY成分、YUV420フォーマットに従ってUVのセットを共有します。なお、上記の図、Y'00、Y'01、Y'10、Y'11共通CR00、CB00、およびので、他。

    (5)NV12、NV21(YUV420所属)
    NV12、NV21

    NV12とNV21 2及びUVに分割YUV420フォーマット、2プレーン・モード、すなわちYに属し3よりもむしろ平面に分割インターリーブメモリの平面が、UV(のCbCr)。上と同様に抽出即ちY'00、Y'01、Y'10、Y'11共通CR00、CB00

    720&倍YUV420平面データ; 488例YUV420平面画像サイズ、

    のフォーマットで格納されている:合計サイズ(720&回; 480&回; 3>> 1)バイト、

    3つの分割されている:Y、U及びV

    Y成分:(720&回; 480)バイト

    U(CB)成分:(720&回; 480>> 2)バイト

    V(Cr)の成分:( 720&回; 480>> 2)バイト

    は、三内側列優先度記憶部、3 Y、U、Vシーケンシャルストレージとの間の部分です。

    0--720&倍すなわちYUVデータ; Y成分値が480バイトであり、

    720&回; 480--720&回; 480&回; 5/4バイトはU成分で

    720&回; 480&回; 5/4 --720&回; 480&回; 3/2バイトはV成分です。

    4:2:2と4:2:0変換:

    の最も簡単な方法:

    YUV4:2:2 ---> YUV4:2:サンプリング中の行(垂直方向)に0 Y不変U及びV信号値がインターレース。 YUV4:2:0 ---> YUV4:2:2 Y不変U、各行のV信号値は、データのコピーを形成する2本の連続した線です。

    YUV420、点Yに対応する画素、Uに対応する4X4小ブロック、およびV.で画像だけYのグレースケール画像であるので、すべてのYUV420画像に対して、位置合わせY値は、同一です。 YUV420sp YUV420PおよびUVデータフォーマットは、全く異なる原理に配置されています。それは、保存後の最初のU 420P、その後、保存されたVで、それは彼らが連続UVあると言うことです。 420sp及びそれがUV、UVそのような代替の記憶装置です。私は正確にメモリに格納されたYUV420の大きさを計算することができ、上記の理論を用いて(下記参照)。幅*ハイト= Y(和)U = Y /4 V = Y /4

    YUV420ので、メモリ幅のデータの長さ*ハイト* 3/2、

    解像度を仮定フォーマットを示している8X4 YUV画像レート:

    yUV420sp図
    YUV420P図
    の図
    yuv420sp

    YUV420Pデータフォーマットデータフォーマットの形式のフォーマットを示します; //回転yintのK =

    公共静的ボイドrotateYUV240SP(バイト[] SRC、バイト[] DES、INT幅、int型の高さ){int型WH =幅*高さ:

    は、90度アルゴリズム回転させます0;のために(; I< I = 0 int型の幅を、iは++){ため(int型J = 0; J<高さ; J ++){DES [K] = SRC [幅* jを+ i]は、k個++;}}の( I<幅; I + = 2){(INT J = 0; J<高さ/2; J ++){DES [K] = SRC [WH +幅* J + I]; DES [K + 1 i = 0 int型] = SRC [WH +幅* J + I + 1]; K + = 2;}}}

    YV12とI420区別

    一般的に、直接映像データが収集されますフォーマットRGB24、サイズ、サイズRGB24一つのフレーム=幅&回; heigth&回; 3ビット、RGB32サイズ=幅&回; heigth&回; 4、I420場合(すなわち、YUV標準フォーマット4:2:0)のデータサイズ=幅&倍の量です。 heigth&回; 1.5ビット。初めてのデータ圧縮形式の必要性へのデータ収集RGB24後。 RGB2YUVからの画像の色空間。 X264が必要であるため、標準YUVコーディング行う場合(4:2:0)。そこに留意すべきである、それもYV12ものの(4:2:0)が、YV12およびI420が、それは異なっている、上記収納スペースにいくつかの違い。次のように:YV12:輝度(ライン&回;カラム)+ U(ロー&回;カラム/4)+ V(ライン&回;カラム/4)

    I420:輝度(ライン&回;カラム)+ V(ライン&回;カラム/4)+ U(ロー&回;カラム/4)

    から分かるように、YV12およびI420は、実質的にUVの異なる順序、すなわち、同じです。

    最初のデータ圧縮RGB24->の後、私たちの会話を続け、YUV(I420)。このように、データの量が半分に減少するだろう、なぜですか?ああ、これはあまりにも基本的なもの、と私はより多くのを書いていません。それはRGB24->であれば、同様に、YUV(YV12)、半分に低減されます。彼らは半分にしているものの、それがある場合は、、その後、効果YV12は大きな損失を持っています。その後、エンコードされたX264の後、大幅にデータ量を削減します。 RTPを通じてリアルタイムに伝送された符号化データパッケージ。到着時に、データアウト、デコードされます。デコードが完了すると、データがまだYUVフォーマットなので、あなたは、変換が必要なので、Windows用ドライバが処理できる、YUV2RGB24です。 2:2 [Y0 U0 Y1 V0]
    YUV420P差及びYUV420 YUV420Pは、記憶フォーマットが異なる:

    YUY2は4であるYYYYYYYY uuuuuuuu vvvvv YUV420:YUV YUV YUV YUV420P、Y、U、Vを3つのコンポーネントが平面形式であり、I420はYV12に分割されています。 I420異なるフォーマットと異なるフォーマットでYV12位置UプレーンとVプレーン。 YV12が反対(すなわち.: YVU)であり; I420形式で、すぐY平面後Uプレーン、及び平面Vは(すなわち:YUV)です。 YUV420SP、Y平面フォーマット成分、UVパッケージ形式、すなわちNV12。同様のNV12とNV21、U及びVは、UV配列ことを除いて、互い違いになっています。 I420:YYYYYYYY UU VV => YUV420PYV12:YYYYYYYY VV UU => YUV420PNV12:YYYYYYYY UVUV => YUV420SPNV21:YYYYYYYY VUVU => YUV420SPzh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved