web-dev-qa-db-ja.com

YUV 422、YUV 420、YUV 444

たとえば、4 * 4の画像があります。 Y、U、V成分を別々に抽出したい。画像がYUV422、YUV 420、YUV444の場合の方法。配列の構造を知りたいのですが、Y、U、Vが422、420、444にどのように格納されているのか、アクセスできるようになっています。

12
Aizen

This サイトでは、さまざまなYUV形式の概要がわかります。与えられたピクセル構造もあります。

明確にするために:これらの数値は 色成分サブサンプリング を決定するためのものです。たとえば、YUV 444 = 4:4:4サブサンプリングは、3つのコンポーネント(Y、U、V)のすべてが同じサンプルレートを持っていることを意味します。一方、4:2:2は、UとVがYの半分のレートでのみサンプリングされることを示しています。つまり、深さが1バイトの場合、YとUとVはそれぞれ2バイトです。これは、Yがより高いダイナミックレンジを持つことができることを意味します。

JPEG標準では、各色成分の水平および垂直のサンプリング係数が定義されていることに注意してください。人間の視覚系には 輝度センサー(ロッド)と彩度センサー(コーン)の比率が20:1 があります。このため、通常、光度成分はサブサンプリングされませんが、 JPEG標準 ではそのようなコンテンツをエンコードできます。

18

それはかなり古い質問ですが、YUVのデコードに関する作業を終えたところです。いくつかの情報を共有したいと思います。 YUVスキーマには3つの主要な側面があります。

  1. ソースYUVバッファーがパックバッファーまたはプレーナーバッファーの場合。パックとは、YUVビットがグループ化されていることを意味し、プレーナとは、Y、U、およびVバッファが3つの異なるメモリ領域に分離されていることを意味します。

  2. YUVチャンネルサイズ;単一のY、U、Vチャネルは、8ビット、10ビット、12ビットなどです。

  3. サンプリング比; A:B:C。 4:2:2は、水平方向に各ピクセルに1つのY値があり、2つのナイトボードピクセル間で共有されるU値とV値が1つだけであることを意味します。

私はYUV4:2:2 v210デコードに取り組んだばかりで、これに続いて link デコードするGLSLソースコードと私が参照したリソースがあります。どんなアドバイスでも大歓迎です、それは私の最初のデコーダーです。

2
Mouze