ストレート変換と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の範囲からはみ出してしまうので、色が劣化します。

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

▲ffdshowの設定画面

  • コンピューターのモニター:
    →YC伸長して再生する  
  • ・テレビ/プロジェクター:
    →ストレート変換で再生する(PCで再生すると全体的に灰色掛かった色になる)

このページの情報は以上です。

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

関連【AviUtl】色変換の設定について【BT.601とBT.709】

スポンサーリンク

フォローする