アプリ版:「スタンプのみでお礼する」機能のリリースについて

ディスプレイに表示される映像の画質ではなく、エンコードの結果、動画ファイルに保存される映像の画質です。
エンコードに限っては、グラボの性能の優劣は画像処理速度(エンコード速度)にのみ影響するのであって、ビットレート等の出力設定が同じであれば出力された動画の画質は変わるわけがないと思ってたんですが、どうなんでしょうか?
勘違いかもしれませんが、以前グラボの性能でエンコード出力された動画の画質が変わるというような話を小耳に挟んだような気がしたもので…。

お手数ですが、詳しい方回答をお願いします。

A 回答 (3件)

Q/ビットレート等の出力設定が同じであれば出力された動画の画質は変わるわけがないと思ってたんですが、どうなんでしょうか?



A/動画の出力画質は、アルゴリズムの差によるものとパラメーターの差ですから、エンコードアルゴリズム(要は演算に使うエンコードエンジンが変わるなど)すれば、同じビットレートでも画質は変わります。

具体的な例として言えば、例えばTMPGEnc(ペガシス)でエンコードしたものと、TrueVelocity(サイバーリンク)でエンコードした物では、同じビットレートでも画質には差が生じます。

それに加えて、パラメーターの差が画質の差となります。
そのパラメーターの中に、グラフィックカードの機能を使う設定があれば、画質は変化するかもしれませんが、カードによって画質が極端に変化することはありません。


Q/以前グラボの性能でエンコード出力された動画の画質が変わるというような話を小耳に挟んだのですがどういうことでしょうか?

A/例えばインテル社のSandy Bridge世代以降のCore iを名乗るCPU内蔵グラフィックスに搭載されているIntel Quick Sync Videoを使うと、ソフトウェアエンコードに対して2~7倍も高速にエンコードが完了します。
これは、Sandy Bridge、Ivy Bridge、Haswellの3世代においてサポートしており、それぞれに使えるパラメーターとエンコード機能は異なります。(最新のものほどサポートするパラメーターは増えており、エンコード速度は高くなっています)

これはあくまで一例です。しかし上記技術を使うとDeep colorやx.v.Colorなどに対応したエンコードは出来ない場合があります。これだけで画質は変わります。さらに、エンコーダー回路は専用の回路であるため、その回路が行う処理に基づき処理され、画質もソフトウェア(CPU)エンコードに比べて下がる場合はあるでしょう。


例えば、これがnVIDIAのサポートするCUDAとTMPGEncなら、エンコードそのものをCUDAで行うことはありません。その前の処理においてフィルターを掛けると、CUDAによって高速化され、処理を速めることが出来ます。
ただし、ソフトウェア処理とは若干処理に使うフィルター回路が変わることがあり、ソフトウェア処理に比べて処理の画質が変わることはあります。


これらが、可能性のあるパターンです。
一般に、GPU(グラフィックスカード)は、コンピュータグラフィックス(CG)を処理する物であり、エンコードをする物ではありません。そもそも、GPUは動画を再生するための装置として生まれたものでもないのです。

そもそも、グラフィックスカード(ボード)はテレビには搭載されていません。何故でしょうか?同じ表示装置です。グラフィックスカードは、元々は三次元グラフィック装置またはRGBグラフィックス装置と呼ばれる装置を英語表記に統一した物です。
元々コンピュータは文字列(特に1バイトの英数字)を処理するためのものでした。
それに、Appleが開発したデスクトップやウィンドウの概念が追加されたのです。最初は白黒2値に相当する(厳密には緑ベースの文字列と黒の背景)でしたが、それ以上の色を必要としたのです。

そこで生まれたのが、そういう色を処理し、映像ではなくプログラムされたグラフィックスを視覚的な映像にするCGなのです。

これを処理するのが現在ビデオカード、グラフィックスカード、グラフィックスボード、グラフィックスアクセラレータと呼ばれる製品です。実を言えば、ビデオカードも、グラフィックスカードも同じ物ですが、ビデオを処理する物ではありません。

残念ながら、エンコード画質そのものを司るものではないのです。


では、なぜそういう話が出るのかというと、それを知らない人が機能として進化するグラフィックスカードや、その機能(OpenCLやCUDA、PhyX)を利用するソフトにおいて、ソフトバージョンごとに変わっていく利用する機能の差を知らずに評価するようになったためです。

グラフィックスカードは、2001年のShader1の登場から、2003年頃に登場したShader2.0(陰影を司る機能、正式名はProgramable Shader)によって、動画のエンコード特にフィルタリングにおいて使えるような命令がいくつか追加されています。それをソフトが利用した結果が、CUDAやOpenCLなどの技術なのです。それをどのようにどこまで使うかによって、画質は変化します。


それだけのことです。もちろん、最新の世代ほど使えるShaderの命令セットが増えるため、可能性は増加します。それは、パソコンのプロセッサが、SSE(Internet Streaming SID Extentions/PentiumIIIが最初)をサポートし、SSE2(Pentium4/Willamette)、SSE3(Prescott)、SSSE3(Merom/Tejas系)・・・と進化したのと同じです。Shaderも1世代から、現在の5世代まで進化しており、それに応じてCUDAやOpen CLのサポートバージョンも上がっています。

その世代によって画質も変わるのは当然の結果なのです。
    • good
    • 1
この回答へのお礼

>動画の出力画質は、アルゴリズムの差によるものとパラメーターの差ですから、
>エンコードアルゴリズムすれば、同じビットレートでも画質は変わります。
この質問をさせていただいたきっかけが、最近買ったPCでエンコードソフトの編集画面を開くと、なんだか輪郭がカクカクしてるような感じで前のPCより明らかに画質が悪いってことなんですよね。
あくまで編集画面に表示される映像の画質であってエンコードした動画の画質ではないんですが、その辺がまさに仰る通りの理由なんですかね。

>具体的な例として言えば、例えばTMPGEncでエンコードしたものと、
>TrueVelocityでエンコードした物では、同じビットレートでも画質には差が生じます。
確かに同程度の低ビットレートっぽいのに自分の環境より明らかに画質が良くて、これはどんなソフトを使ってるんだろかって思うことは多々あります。
一時期探したりもしたんですが、使い方が理解できず、結局は簡単なFreemake Video Converterに落ち着いてます。

その他にも丁寧にお答えいただいてありがとうございました。
ただ、あまりに高度過ぎてほとんど理解できませんでした(@@:)
1パスと2パスみたく、速度を重視すると画質が落ちるみたいな話で良いのかな?

お礼日時:2014/04/13 19:43

GPGPUでエンコードで、GPUから渡されるエンコード結果の違いが画質差を生ずることはあり得ると思います。

ただし全く同じシリーズのGPUを使っている場合、上位と下位でハード的な違いは描画ユニットの数だけのはずなので、それで画質に差が出ることは考えにくいですが、エンコーダが下位のGPUであると認識して、エンコード処理にかける時間を短縮するために演算を打ち切るような処理を行っていれば、また話は違ってくるでしょう。ただそれが一目で分かるほどの差を生ずるのかは、どうなのかなあと。

結局のところ、この辺は全てエンコーダのオプションでも変わってきそうな内容じゃないですか?まあ究極的には、GPGPUをやめて全部CPUに頑張ってもらうという後ろ向きな策も。
    • good
    • 0
この回答へのお礼

詳しくないんですが、エンコードソフトのオプションでCUDAを使うみたいな設定ってありますよね。
そういう風に明らかにわかるものなら良いですが、設定が多過ぎたり意味がわからなかったりだと見落とすことになりますし、実際相当後になってその設定がどういうものか知り、今までエンコードしたものは画質的に劣る出力をしてしまっていたと判明したってこともありますし(例えば2パスの方がいいのに年単位で1パスでやってたとか)。

>エンコーダが下位のGPUであると認識して、エンコード処理にかける時間を短縮するために演算を打ち切るような処理を行っていれば、また話は違ってくるでしょう
設定がなく勝手にやられたら気付きようないですよね。
まあそんなこと言ったら基本的にPCなんて信用できませんけど。

お礼日時:2014/04/13 19:12

エンコードするのはCPUであってグラボではありませんよ。



描画速度を上げるためだけにグラボはあります。
エンコードするのはCPUです。エンコード結果は画質モードを同じにしていた場合は変わらないし、エンコード時間はCPUの性能で処理時間が変わるだけです。
    • good
    • 0
この回答へのお礼

あ…そうなんですね…。
てっきりエンコードにもグラフィックボードを使うものだとばかり思ってました。

回答ありがとうございました。

お礼日時:2014/04/12 19:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!