ストレート変換とYC伸長の違い【RGB・YUV】

YUV↔RGBする際の、「ストレート変換」と「YC伸長」の違いについての自分用まとめ。

スポンサードリンク

違い

この世にあるほとんどの動画の色空間は「YUV」だけど、パソコンモニタでこれを再生するには「RGB」に変換しないといけない。

その際に行われる変換の種類のことを「ストレート変換」と「YC伸長」と言う。

図で表すと以下の様な感じ。

ストレート変換 YC伸長
ストレート変換 yc伸長

ストレート変換

YUVの色範囲は、Y:「16~235」、UV「16-240」だけど、RGBは「0~255」だから、YUVの値をそのままRGBで使うと色がおかしな事になる。

例えば、YUVで言う所の「15」は「黒色」だけど、RGBで言う所の「15」は、「微妙に薄い黒色」になる。YUVで言う所の「235」は「白色」だけど、RGBで言う所の「235」は、「微妙に灰色気味な白色」になる。

それを補正せずに、そのままRGBとして変換することを「ストレート変換」という。

※ちなみに0~255までの色範囲を持つYUVも存在する。(そんなYUVのことをフルレンジYUVとかって呼んだりする)

YC伸長

「ストレート変換」で説明した通り、範囲を補正してRGB変換することを「YC伸長」と呼ぶ。(ちなみに「YC」は、「Y」が輝度、「C」が色差のこと)

つまり、YUVな動画は「YC伸長」しないと、全体的に灰色掛かった色になってしまうということ。

変換すると色は劣化する

色変換する際に使われる公式みたいなのは色々あるけど、ここでは例としてアナログ放送で使われてたNTSCの色変換規格である「ITU-R BT.601」を例に考えてみる。

  • R = Y + 1.402 × Cr
  • G = Y – 0.344136 × Cb – 0.714136 × Cr
  • B = Y + 1.772 × Cb

引用:YUV – Wikipedia

例えば以下の様な場合は大丈夫だけど、(YUV=YCbCrとして考える)

YCbCr(100,22,90)  → RGB(226,18,38)

以下の様な場合は0~255の範囲からはみ出してしまう。これは仕方ないから範囲に収まるように切り捨てられる。でもってこれを更にYUVに変換すると、最初と数値が違ってくることが分かる。

YCbCr(80,22,128)  → RGB(259,-20,38)  →  RGB(255,0,38)(切り捨て)

これはストレート変換の場合だけど、YC伸長した場合は、更に色情報が切り捨てられる事になる。

つまり、

  • 動画編集の段階では、色変換は極力行うべきでない
    • 出来る限り色空間は維持する
  • 色変換は再生時に、再生ソフト・コーデック行わせる
    • YUVな動画の場合は、「これはTVスケールの動画だ!」という風にコーデックとかが勝手に判断してくれてYC伸長してくれる(だからパソコンでテレビソースな動画を観ても色に違和感なくみれる)

という事が言える。

AviUtlではどうなっているのか

AviUtlでYUVな動画を読み込んだ場合は、内部ではYUVとして処理し、プレビュー画面は「YC伸長」してRGBで表示する。

RGBな動画を読み込んだ場合は、内部はRGBとして処理し、プレビュー画面もそのままRGBで表示する。

変換しているのはどのソフト?ハード?

例えばYUV・RGBファイルを読み込んだ場合に、パソコンでRGB変換するには以下通りのパターンが有る。(赤字はRGB青字はYUV

  • RGBファイル→コーデック→再生ソフト→OS→グラフィックボード→パソコンモニタ
  • YUVファイル→コーデック→再生ソフト→OS→グラフィックボード→パソコンモニタ
  • YUVファイル→コーデック→再生ソフト→OS→グラフィックボード→パソコンモニタ
  • YUVファイル→コーデック→再生ソフト→OS→グラフィックボード→パソコンモニタ
  • YUVファイル→コーデック→再生ソフト→OS→グラフィックボード→パソコンモニタ

これについては、パソコンのグラボ、再生ソフト、コーデック、OSによって違うので、一概にどのソフト・ハードで変換しているのか分からない。(というかこれが正しいかも分からない。。)

ffdshow(コーデック)とかだと、出力先がPCモニタなのか、テレビなのかで、ストレートかYC伸長かを選ぶ事ができたりもする
2016-01-23_16h06_20
・「コンピューターのモニター」にすると、YC伸長して再生する
・「テレビ/プロジェクター」にすると、ストレート変換で再生する(PCで再生すると全体的に灰色掛かった色になる)

関連:フルレンジとリミテッドレンジの違い【RGB・YUV】(内容的には同じ)

スポンサーリンク

フォローする